diff --git a/CHANGELOG.md b/CHANGELOG.md index c392d3baf..dd76ce10f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -187,6 +187,37 @@ versions, and the entries below say what each tag does and does not claim. text and refuses a name outside the table, a row the text does not use, a row citing a non-primitive, and a primitive no row cites. The runtime text is unchanged, so no runtime digest, package, or semantic ID changes. +- The runtime of generated Lean is LexLean source (SPEC.md §17.12, + *Runtime modules*, `RT-01`..`RT-04`, LexLean #90). The portable primitives, + the ordered collections, the model predicates, and the reasoning lemmas of + language 1.2 were Rust string constants the backend spliced into every + module that used them, one copy per module; they are now four native core + modules of the embedded project `language/runtime-1.2/library/` + (`LexLeanRuntime.Portable`, `.Collections`, `.Models`, `.Reasoning`), + migrated once and losslessly (`tests/runtime-library/MIGRATION.md`), which + a generated module imports. A verification compiles the runtime modules a + project uses before the project's own, replays them, and audits each of + their declarations against its exact axioms. A runtime name is + `LexLeanRuntime.x`, no longer `.LexLeanRuntime.x`, so the native + preservation and certification libraries' references to the copies were + renamed, by a pairing of the calculus modules' constants walked through + their kernel terms. Languages 1.0 and 1.1 are frozen: their released + runtime text is data under `language/runtime-1.2/frozen/`, which their + backends alone read, and their output is byte-identical. The decoder of + core module 2 is the one Lean text of the language-1.2 compiler not + generated from a native module, since it is what loads them. The probe and + axiom-audit modules are typed data the backend renders. `LexLeanRuntime` + moves from the reserved roots to the library roots (a project without a + production root may take it). The differential oracle (§17.19) does not + follow a call into another module, so it now refuses the roots whose + compiled closure calls a collection template or a reasoner's iteration as + `unresolved-external-call`, and generates the two list roots it refused + before; `oracle/known-differences.toml` (version 3, with `KD-13` + `output-buffer`: the oracle returns a list into a buffer its caller passes) + and `oracle/known-non-overlap.toml` (version 2) record what it answers, and + the harness passes such a buffer. The language-1.2 compiler-semantics ID + changes, and every language-1.2 lock, golden, fixture expectation, + production-export package, and verified record is regenerated. - `rust-std` rendering: ownership and lists (SPEC.md §17.14, §17.16, `RB-08`, no new diagnostic code). A read of a binding that nothing after it reads is a move and a projection of a pair component that nothing after it diff --git a/CONFORMANCE.md b/CONFORMANCE.md index 7e351dfd3..996f95a4b 100644 --- a/CONFORMANCE.md +++ b/CONFORMANCE.md @@ -192,7 +192,7 @@ the error registry does not sanction (R5, `ERRORS.md`). | `GC-08` | `build` | Every verdict is a closed, explicit claim status: refused for a certificate that does not bind its request's verifier, universe, objective, claim, and scope or does not cover its universe, a certified optimum, argmin, or frontier, or incomplete with the first open obligation and the strongest status it establishes, correct-only, locally normalized, or representation-minimal, never a fallback claim; a certificate for another universe, including the same problem on an enlarged machine, is refused. | | `GC-09` | `build` | The certification library, as the Lean its native modules generate, is kernel-checked under the pinned Lean with exactly the axioms its rows pin and none of the forbidden forms, a planted added axiom, false lemma, or weakened checker each being refused: it proves that a certified verdict bounds the cost of every well-formed system of the request's grammar universe at the request's fuel and every larger one and that a bound is attained, that a certified frontier is exactly the Pareto frontier of the admitted systems, that normality never certifies, that every certified optimum is GNAF-normal, and that every improving schema application satisfies the module's own `Certification.preserves`, its rewriting keeping the system's observations over the request's domain at strictly lower cost, and its soundness theorem holds of every certified committed certificate. | | `GC-10` | `build` | The certification model, certificate fixtures, certificate module, and schemas are generated, deterministic, and content-addressed: they equal their generators, the compiler project reaches them from its entrypoint, certificate identities are recomputed from content, and a planted change to a premise, a bound, or a route changes the verdict or the identity. | -| `GC-11` | `build` | The certification library is LexLean source: every module of its registry is one language-1.2 native core module of the library's own project, which holds no file of Lean source, no Lean file anywhere in the release tree declares the library's namespace or lies under its module root, and the registry lists only the modules; the declarations and their exact axiom policies are read from the native data, a module that imports anything but `Init`, an earlier module, the preservation core, or the generated and calculus modules it is stated against, or that does not pin its axioms exactly, is refused, and the Lean the compiler generates from the sources is, byte for byte, the Lean the certification library's kernel check compiles, so that neither a stale nor an edited generated module can stand in for the source and a planted drift of the source is visible in what is generated. | +| `GC-11` | `build` | The certification library is LexLean source: every module of its registry is one language-1.2 native core module of the library's own project, which holds no file of Lean source, no Lean file anywhere in the release tree declares the library's namespace or lies under its module root, and the registry lists only the modules; the declarations and their exact axiom policies are read from the native data, a module that imports anything but `Init`, an earlier module, the preservation core, or the generated and calculus modules it is stated against, or that does not pin its axioms exactly, is refused, and the Lean the compiler generates from the sources is, byte for byte, the Lean the certification library's kernel check compiles, so that neither a stale nor an edited generated module can stand in for the source and a planted drift of the source is visible in what is generated. The one Lean text a generated library module carries beside its data is the decoder of core module 2, which loads native modules. | ## grammar @@ -336,7 +336,7 @@ the error registry does not sanction (R5, `ERRORS.md`). | `SP-09` | `build` | Certificate E composes certificates A and B: for every production root in each of its targets, a generated proof that every encoded argument is well typed for the root's parameters and the library's composition theorem establish that the rendered root, or its boundary entry when it has one, invoked on the encoded source arguments, realizes certificate A's observation of the source, as `some` when the arguments satisfy the invariants §17.12 states of them and as `none` otherwise; the pinned Lean checks and replays every composition, each end-to-end theorem depends on exactly Classical.choice, Quot.sound, and propext, a composition claiming the other result shape or another function is refused, verification fails with LLV7016 on a rejected composition, and a root verifies whatever its parameters are named, including the names the composition binds for itself, the words a certificate writes bare, the names of the namespaces the certificates begin a name with, and the tokens the certificate audit forbids, as does a declaration spelled like a word the audit of generated Lean forbids. | | `SP-10` | `build` | A production root whose parameters can hold a map, set, or graph, directly or inside options, results, products, lists, document types, and recursive groups of them, is lowered with a generated entry function that calls the root only when the generated validators of each such parameter accept it and returns none otherwise; certificate A proves each validator decides exactly the proposition §17.12 states of its type and the entry's two outcomes; a validator is called only by the entry and by validators, so no proof-only invariant becomes a runtime check, and a validator called from inside the program is refused by the lowering; and a validator dropped from the entry, one weakened to admit an equal key, and a rendering whose entry drops a validator are each refused by Lean at the relation they change; a lowering whose entry skips a validated parameter is refused by the generator, which judges the validated parameters from the source types alone, and the differentials break each validated parameter's invariant in turn, which the interpreter, Lean, the declared machine, and rustc each refuse with none. | | `SP-11` | `build` | Every production root of examples/production, examples/production-coverage, examples/models, and examples/reasoning is rendered in each of its targets as a package that builds under the pinned Rust toolchain, and on the seeded inputs of the differential, through the root and through its boundary entry on valid and invalid inputs, the printed outcome of each package equals the interpreter's outcome, which the declared Rust machine reproduces; that the compiler agrees with the machine the certificates are about is build evidence, never a premise of a proof. | -| `SP-12` | `build` | The preservation library is LexLean source: every module of its registry is one language-1.2 native core module, the library project holds no file of Lean source, and no Lean file anywhere in the release tree declares its namespace or lies under its module root; the registry lists only the modules, and the declarations, their exact axiom policies, the constructors of the correspondence, and the cases of its soundness theorem are read from the native data, which the compiler embeds, hashes into the language-1.2 semantics, and generates the Lean of every verification from. | +| `SP-12` | `build` | The preservation library is LexLean source: every module of its registry is one language-1.2 native core module, the library project holds no file of Lean source, and no Lean file anywhere in the release tree declares its namespace or lies under its module root; the registry lists only the modules, and the declarations, their exact axiom policies, the constructors of the correspondence, and the cases of its soundness theorem are read from the native data, which the compiler embeds, hashes into the language-1.2 semantics, and generates the Lean of every verification from. The one Lean text a generated library module carries beside its data is the decoder of core module 2, which loads native modules. | | `SP-13` | `build` | Certificate text writes every list and array of any length as a term the pinned Lean elaborates without binders: one of at most 32 elements as a literal and a longer one as a chain of List.cons, so that no certificate holds a literal Lean splits under let binders; a root calling a function of 33 parameters with 33 operands, a root copying a record of 33 fields, and a root matching on 33 constructors of one field each verify through the whole pipeline, and none of their certificates writes a literal of more than 32 elements. | ## production @@ -431,6 +431,15 @@ the error registry does not sanction (R5, `ERRORS.md`). | `RP-13` | `build` | The ordinary workspace test phase excludes repo-conformance, the bdd phase alone runs its complete suite, and a test inventory proves that the two phases together equal the whole workspace test set with no test lost and none run twice. | | `RP-14` | `build` | The normative CI job runs every recipe of just vv exactly once, in two parallel legs that each start from a clean checkout on the standard ubuntu-24.04 runner, the examples leg at the verification resource profile its matrix row names and the other at the default, with no cache, path filter, or skipped recipe, and each leg uploads its CI evidence. | +## runtime + +| ID | Level | Statement | +| --- | --- | --- | +| `RT-01` | `build` | The runtime of language 1.2 is LexLean source: every module of its registry is one native core module of the runtime's own project, which holds no file of Lean source, the registry lists only the modules in dependency order, every declaration pins its exact axioms, and a source that is missing, weakened to an inexact policy, or imports anything but `Init` and an earlier runtime module is refused; the one-time migration input is absent, no native source names a runtime copy inside a module, and no Lean file declares a runtime namespace but the released output of a language-1.0 or 1.1 project. | +| `RT-02` | `build` | The runtime text of languages 1.0 and 1.1 is the one declared exception: the portable runtime and the decoder of core module 1 are the released bytes, held as data under `language/runtime-1.2/frozen/`, read by the language-1.0 and 1.1 backends alone, excluded from the language-1.0 and 1.1 identities, and reproduced byte for byte by the released language-1.1 and 1.0 output; a one-byte change of either is not the released output. | +| `RT-03` | `build` | A verification compiles every runtime module that a project's generated modules, or the calculus modules its certificates are checked against, import before the project's modules, replays it with `leanchecker`, and audits each of its declarations against the axioms its row pins; the committed verification of a project that uses the collections prints them, the runtime's own project verifies under the pinned Lean, and a row that pins another axiom set than its declaration observes fails with LLV7005. | +| `RT-04` | `build` | No Lean runtime text remains in the language-1.2 compiler: a generated language-1.2 module imports the runtime modules it uses and splices none, and the only string literal of the compiler's source that holds Lean declarations under a namespace is the decoder of core module 2, which loads native modules and so cannot be one; a planted runtime text constant, raw or escaped, is found. | + ## rust-backend | ID | Level | Statement | @@ -536,7 +545,7 @@ the error registry does not sanction (R5, `ERRORS.md`). | `VR-16` | `build` | Axioms flowing from imported theorems remain subject to the generated declaration's policy. | | `VR-17` | `build` | Lean workspace configuration and manifest hashes must match the lock and all dependencies must be locally available. | | `VR-18` | `build` | Check and build results never claim verified or kernel-checked status. | -| `VR-19` | `build` | The native Atlas source graph is self-contained: every generated Atlas module publicly depends only on Init and the generated graph, its only backend-support import is Lean, and no independently authored Atlas implementation exists. | +| `VR-19` | `build` | The native Atlas source graph is self-contained: every generated Atlas module publicly depends only on Init and the generated graph, its only backend-support import is Lean, and no independently authored Atlas implementation exists. The one Lean text a generated Atlas module carries beside its data is the decoder of core module 1: the released language-1.0 bytes, held as the frozen data `language/runtime-1.2/frozen/core-decoder-1.txt`, the one declared exception to Lean generated from native modules. | | `VR-20` | `build` | The verifier process width is an operational resource profile selected only by the environment, defaulting to 1 and refusing any malformed value with LLV7017, and it enters no lock, identity, or verified artifact. | | `VR-21` | `build` | A multi-module project whose imports form nontrivial frontiers verifies at width 1 and at a larger width to byte-identical verified directories and the same attestation identity, observed axiom sets, and policy rows, and no completion order orders a record or changes which failure is reported. | | `VR-22` | `build` | Performance telemetry is written only to the CI evidence directory the environment names, a verification with telemetry on publishes byte-identical artifacts to one without, and telemetry planted in a verified artifact fails the gate. | diff --git a/README.md b/README.md index 319f60797..17ee2ae76 100644 --- a/README.md +++ b/README.md @@ -137,7 +137,7 @@ just vv # the complete normative acceptance gate (SPEC.md §9.2) just release # vv, then the §30 release criterion; refused until 1.0.0 ``` -All 382 registered conformance IDs are implemented and pass; `just vv` runs clean from a checkout with the pinned toolchain installed. +All 386 registered conformance IDs are implemented and pass; `just vv` runs clean from a checkout with the pinned toolchain installed. The differential against the independent generator `lean4-prod` (SPEC.md §17.19, `OR-01`..`OR-08`) acquires it at its pinned commit: from the checkout `LEXLEAN_ORACLE_DIR` names, or by fetching the commit with `git` into the Cargo target directory (`LEXLEAN_ORACLE_CACHE` overrides), and builds it with the pinned Lean and Rust toolchains. It is validation evidence only and no input to any identity. An oracle that cannot be acquired, is not the pinned files, or fails is unavailable: that fails the gate on Linux x86-64 and is printed as `NOT VALIDATED` elsewhere, and is never reported as agreement. @@ -176,6 +176,7 @@ Every row is validated by `just vv`; the IDs link the claim to its register row, | Language-1.2 reasoning machines: logics, guarded inference rules, verifiers, and forward, search, and generate-and-verify reasoners elaborated to ordinary declarations, with exact obligations, fixed-template theorems over the axiom-free reasoning runtime, a closed runtime boundary, resource ledgers, and their production, calculus, and GNAF realization | `RS-01`..`RS-14` | `build` | | Language-1.2 compiler-tooling modules: a closed, typed program over a registry of the external Lean interface (types with exact constructors and index requirements, calls with exact signatures), with flat index-exhaustive matching, licensed partial and mutual recursion, complete recursive traversal, command registration, invocation and evaluation as semantic data, both backends from one linked value, and no member that holds Lean text | `TL-01`..`TL-11` | `build` | | The language-1.2 authoring notation: a readable `.lex.tex` text for a semantic module, in bijection with its canonical JSON, whose every position and variant is read from the schema, with readable forms for types and terms and a generic form for every other value, formatted canonically by `fmt` (which also writes a module out of its data form), linking to exactly the module its data form links to, failing closed, the only form in which a language-1.2 source of the product is written, the same for the compiler-tooling modules in the generic notation, with no compiler-semantics ID that depends on which form an embedded module is written in, with no product source owned by a generator but five named records, read and written by programs only through the authoring API (`lexlean::sdk`), and, for a native core module, a readable program over the shared table of kernel terms whose numbering is the order of its text | `AU-01`..`AU-12` | `build` | +| The runtime of generated Lean as native modules: the portable, collection, model, and reasoning runtimes of language 1.2 are LexLean source that every generated module imports, migrated losslessly and audited against their exact axioms, the released runtime text of languages 1.0 and 1.1 is frozen data equal to their released output, and no other Lean runtime text remains in the compiler but the decoder of core module 2 | `RT-01`..`RT-04` | `build` | | The literal `nat-add-zero` example, the Lean-verified feature examples, and the complete negative fixture suite | `EX-01`..`EX-08` | `build` | Range rows abbreviate consecutive registered IDs; every individual ID in each range is registered in [`model/ids.toml`](model/ids.toml) at the stated level with its own scenario and test. diff --git a/SPEC.md b/SPEC.md index 595dbd68e..f09353a0b 100644 --- a/SPEC.md +++ b/SPEC.md @@ -758,7 +758,7 @@ Input whitespace does not affect this canonical serialization. A project may be | `spec` | Exactly `lexlean/project/1`. | | `name` | Lower-case ASCII package identifier: `[a-z][a-z0-9-]{0,62}`. | | `language` | Language version: `1.0`, `1.1`, or `1.2`. | -| `module_prefix` | One or more dot-separated ASCII Lean-name segments matching `[A-Z][A-Za-z0-9_]*`, the first of which is none of `Init`, `Std`, `Lean`, `Lake`, `LakeMain`, `LeanChecker`, `LeanIR` (module roots of the pinned toolchain, beside which a module of the project would be found, and which `leanchecker` replays against), `IO` (a namespace of Lean's prelude, which generated Lean never writes: the audit of §18.2 rejects it), or one of the roots this compiler ships or generates (`LexLeanAudit`, `LexLeanCollections`, `LexLeanCore`, `LexLeanExtract`, `LexLeanIdentityProbe`, `LexLeanModels`, `LexLeanPreserve`, `LexLeanProbe`, `LexLeanReasoning`, `LexLeanRuntime`, `LexLeanTokenProbe`, which `conformance` checks against the roots of the shipped certificate library, `LexLeanTarget` and `LexLeanPreservation` excepted). A prefix that begins with one is `LLC0101`, the fixtures `module-prefix-reserved` and `module-prefix-shipped-root`. A prefix that begins with `LexLeanTarget` or `LexLeanPreservation`, the roots of the calculus modules and of the proof library the certificates import (the repository's `compiler` project uses the first and the library's own project, §17.17, the second), is accepted for a project without a production root, and `LLT4005` for a module with one (fixture `module-prefix-target-production`): its certificates would import the library's module for the project's. | +| `module_prefix` | One or more dot-separated ASCII Lean-name segments matching `[A-Z][A-Za-z0-9_]*`, the first of which is none of `Init`, `Std`, `Lean`, `Lake`, `LakeMain`, `LeanChecker`, `LeanIR` (module roots of the pinned toolchain, beside which a module of the project would be found, and which `leanchecker` replays against), `IO` (a namespace of Lean's prelude, which generated Lean never writes: the audit of §18.2 rejects it), or one of the roots this compiler ships or generates (`LexLeanAudit`, `LexLeanCollections`, `LexLeanCore`, `LexLeanExtract`, `LexLeanIdentityProbe`, `LexLeanModels`, `LexLeanPreserve`, `LexLeanProbe`, `LexLeanReasoning`, `LexLeanTokenProbe`, which `conformance` checks against the roots of the shipped certificate library, `LexLeanTarget`, `LexLeanPreservation`, and `LexLeanRuntime` excepted). A prefix that begins with one is `LLC0101`, the fixtures `module-prefix-reserved` and `module-prefix-shipped-root`. A prefix that begins with `LexLeanTarget`, `LexLeanPreservation`, or `LexLeanRuntime`, the roots of the calculus modules, of the proof library the certificates import, and of the runtime modules every generated language-1.2 module that uses the runtime imports (the repository's `compiler` project uses the first, the library's own project, §17.17, the second, and the runtime's own project, §17.12, the third), is accepted for a project without a production root, and `LLT4005` for a module with one (fixture `module-prefix-target-production`): its certificates would import the library's module for the project's. | | `source_roots` | Nonempty, unique, sorted project-relative directories. | | `entrypoints` | Nonempty, unique, sorted project-relative `.lex.tex` files beneath a source root. | | `build_root` | Project-relative directory; must resolve within the project and must not be a symlink. | @@ -2998,17 +2998,52 @@ Termination evidence is semantic data, never tactic or backend text; no every iteration performs at most that many steps; an iteration without one is rejected in linking. No ambient mutable state exists. A lambda or function reference passed as a step is in a closure position, so executable definitions may use these combinators. -6. **Runtime.** In language 1.2 every definition of the emitted portable - runtime is exposed (`@[expose, noinline]` where language 1.1 has - `@[noinline]`), so a definition imported from another module reduces in - the kernel through the primitives it applies; `noinline` is kept, and the - language-1.1 runtime text is frozen. A module that writes a - collection type or literal, or - applies any collection primitive (including one applied only to a - collection imported from another module), emits the fixed - `LexLeanCollections` runtime in its own namespace: - the `Key` order instances and the operations above as exposed, total - Lean definitions over lists, with no comment tokens. +6. **Runtime.** In language 1.2 every definition of the portable runtime is + exposed (`@[noinline]` is kept where language 1.1 has it), so a + definition imported from another module reduces in the kernel through + the primitives it applies; the language-1.1 runtime text is frozen. A + module that writes a collection type or literal, or applies any + collection primitive (including one applied only to a collection + imported from another module), imports the runtime module + `LexLeanRuntime.Collections`: the `Key` order instances and the + operations above as exposed, total Lean definitions over lists, in the + namespace `LexLeanCollections` (*Runtime modules* below). + +**Runtime modules.** The runtime of language 1.2 is LexLean source, not text +of the backend: four native core modules (§17.10) of the embedded project +`language/runtime-1.2/library/` (module prefix `LexLeanRuntime`, registry +`language/runtime-1.2/library.toml`, tag `lexlean/runtime-library/1`), whose +Lean the compiler generates like any other core module's: +`LexLeanRuntime.Portable` (namespace `LexLeanRuntime`: the checked +fixed-width arithmetic, byte strings, and decimal text the primitives apply), +`LexLeanRuntime.Collections` (namespace `LexLeanCollections`, rule 6), +`LexLeanRuntime.Models` (namespace `LexLeanModels`, rule 12 of the model +rules), and `LexLeanRuntime.Reasoning` (namespace `LexLeanReasoning`, rule 11 +of the reasoning rules; it imports the first two). A generated language-1.2 +module publicly imports, after `Init` and before its own imports, exactly the +runtime modules it uses: `Portable` when it applies a primitive or has a +reasoning declaration, `Collections` under rule 6, `Models` when it has a +model declaration, and `Reasoning` when it has a reasoning declaration; it +carries no runtime text. Every declaration of a runtime module pins its exact +axioms; a verification that needs a runtime module compiles it before the +project's modules, replays it with `leanchecker`, audits each of its +declarations, and refuses any observed axiom set but the pinned one +(§22.3–§22.6, `RT-03`). The runtime modules were migrated once, losslessly, +from the texts the backend spliced, with the equivalence evidence in +`tests/runtime-library/MIGRATION.md`; a declaration is the same up to the +module that holds it, so a runtime name is `LexLeanRuntime.x`, never +`.LexLeanRuntime.x` (`RT-01`). The decoder of core module 2 (§17.10) +is the one Lean text of the language-1.2 compiler that is not generated from a +native module: it is what loads native modules, so it cannot be one (`RT-04`). + +Languages 1.0 and 1.1 are frozen, and their released output spliced the +portable runtime (into a language-1.1 semantic module, inside its namespace) +and the decoder of core module 1 (into every language-1.0 or 1.1 core module) +as text. Those bytes are the one declared exception to generating Lean from +native modules: they are data, `language/runtime-1.2/frozen/portable-runtime-1.1.txt` +and `language/runtime-1.2/frozen/core-decoder-1.txt`, which the language-1.0 +and 1.1 backends alone read, and `RT-02` holds them equal to the released +output. #### Models, contracts, realizations, and evidence (language 1.2) @@ -3313,13 +3348,14 @@ member or value is an ordinary schema failure (`LLT4001`). Declarations a model declaration generates refer to their own module's members by qualified name. 12. **Cross-checks and the fixed model semantics.** A module with a model - declaration emits the fixed `LexLeanModels` runtime in its namespace: + declaration imports the runtime module `LexLeanRuntime.Models` + (*Runtime modules*), namespace `LexLeanModels`: `Sound1`, `Sound2`, `Sound4`, `Complete1`, `Complete2`, `Complete4`, the `Satisfies`, `Preserves`, `Initial`, `Equivalent`, and `Agreement` helpers, and the decoders `inRange`, `encodeInt`, `tensorMatches`, - `utf8Char`, and `linesMatch`, each an exposed total definition with no - comment tokens. Every validator link and claim is restated against this - fixed text by a generated theorem (`C._sound`, + `utf8Char`, and `linesMatch`, each an exposed total definition. Every + validator link and claim is restated against these fixed definitions by a + generated theorem (`C._sound`, `C._complete`, `E.`) whose proof is exactly the user's theorem, or `decide` for `dataset_agreement`; every artifact has its `W.decoded` theorem. LexLean's statement generator is thus checked @@ -3526,8 +3562,9 @@ and the axiom audit read only the elaboration. Bool` `(false, false)`, `(false, true)`, `(true, false)`, and `(true, true)`. 11. **Generated theorems and the fixed reasoning semantics.** A module with - a reasoning declaration emits the fixed, formal-only `LexLeanReasoning` - runtime in its namespace: the definitions `Star`, `All`, `Preserves`, + a reasoning declaration imports the fixed, formal-only runtime module + `LexLeanRuntime.Reasoning` (*Runtime modules*), namespace + `LexLeanReasoning`: the definitions `Star`, `All`, `Preserves`, `Sound`, `Complete`, `Reaches`, `Found`, and `SearchOk`, and lemmas proved by induction, `cases`, and core facts about natural numbers, none of which depends on any axiom, as pinned Lean's `#print axioms` @@ -3661,8 +3698,10 @@ references from `1.1.0` to `1.2.0`, and regenerating the lock with `lexlean lock`. Every language-1.1 value is a valid language-1.2 value with the same meaning, so the migration changes identities (the compiler-semantics ID, the lock, and every source and semantic ID) but not generated Lean -declarations; the generated text differs only in the exposure attributes of -the portable runtime (rule 6 under *Collections and state threading*) and the +declarations; the generated text differs only in the portable runtime, which +a language-1.2 module imports as the runtime module `LexLeanRuntime.Portable` +with every definition exposed instead of splicing the language-1.1 text +(rule 6 under *Collections and state threading*, *Runtime modules*), and the `reducible` attribute of proposition-valued definitions (rule 11 under *Models, contracts, realizations, and evidence*), which change no definition, type, or compiled code. No command migrates a project @@ -4919,7 +4958,7 @@ def LexLeanPreservation.FunRel : LexLeanTarget.TargetSyntax.Program → Nat → List LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs → Prop := fun p f args o => ∃ fn, - LexLeanTarget.TargetSemantics.LexLeanRuntime.index p.functions f = some fn ∧ + LexLeanRuntime.index p.functions f = some fn ∧ ∃ env, LexLeanTarget.TargetSemantics.bindAll fn.parameters args [] = some env ∧ LexLeanPreservation.Conv p env fn.body o @@ -4976,7 +5015,7 @@ def LexLeanPreservation.Rust.FunSem : LexLeanTarget.TargetSyntax.Program → fun p c A n f => ∀ (fn : LexLeanTarget.TargetSyntax.Function) (args : List LexLeanTarget.TargetSyntax.Value) (env : List (Nat × LexLeanTarget.TargetSyntax.Value)) (F : Bool), - LexLeanTarget.TargetSemantics.LexLeanRuntime.index p.functions f = some fn → + LexLeanRuntime.index p.functions f = some fn → LexLeanPreservation.Rust.WTL p c A args fn.types → LexLeanTarget.TargetSemantics.bindAll fn.parameters args [] = some env → LexLeanPreservation.Rust.fnFallible c f = some F → @@ -5753,17 +5792,16 @@ LexLean refuses as production roots (`production-polymorphic-root`, `production-named-type-boundary`, and `production-universe-boundary`), with the production marking removed so that LexLean still compiles them to Lean. LexLean's verdict on a rejection project is the diagnostic its fixture records. -The corpus has 102 roots; the oracle generates Rust for 30 of them and -refuses 72; 23 of the crates it generates for eligible roots compile and are -run on 1411 inputs, and each of the other seven is a recorded difference (six +The corpus has 102 roots; the oracle generates Rust for 32 of them and +refuses 70; 25 of the crates it generates for eligible roots compile and are +run on 1446 inputs, and each of the other seven is a recorded difference (six crates that rustc rejects, and the crate of the rejected root with the -literal beyond 64 bits). Of the 72 refusals, 66 are of roots LexLean takes -(42 `escaping-local-function`, 13 `opaque-lowering`, 4 -`unresolved-external-call`, 3 `codegen-PolymorphicType`, 2 -`codegen-UnboundedInt`, 2 `codegen-UnresolvedCall`) and 6 of roots LexLean -rejects (4 `opaque-lowering`, 1 `export-refused`, 1 `codegen-OpaqueType`; the -seventh rejected root is the one the oracle generates): `opaque-lowering` is -17 over the corpus. LexLean and the oracle agree on the verdict for the six +literal beyond 64 bits). Of the 70 refusals, 64 are of roots LexLean takes +(31 `unresolved-external-call`, 22 `escaping-local-function`, 4 +`opaque-lowering`, 3 `codegen-PolymorphicType`, 2 `codegen-UnboundedInt`, 2 +`codegen-UnresolvedCall`) and 6 of roots LexLean rejects (4 `opaque-lowering`, +1 `export-refused`, 1 `codegen-OpaqueType`; the seventh rejected root is the +one the oracle generates): `opaque-lowering` is 8 over the corpus. LexLean and the oracle agree on the verdict for the six and each records its own reason: the refusal kind of every rejected root is a row of `oracle/known-differences.toml` (`both-refuse:`), so a rejected root that the oracle refuses for another reason is a disagreement. @@ -5813,7 +5851,7 @@ validation changing. For each root it compares, in order: 2. *contract*: the root's signature as a shape that depends on neither side's names (a closed data type is the shapes of the fields of its constructors in order), its failure typing (a call that can fail with an overflow), how a - side passes its collections, and that the Rust text of the oracle's + side passes and returns its collections, and that the Rust text of the oracle's signature is what the oracle's own IR states of it; 3. *behavior*: the observable outcome (the JSON form of §17.16's harnesses) on every seeded input of the differentials of RB-06 and SP-11 and on the @@ -6588,8 +6626,9 @@ Verification reserves an audit module root named: LexLeanAudit.A ``` -For every generated module ``, it generates one audit member -named: +For every generated module ``, and for every runtime module +the verification compiles (§17.12, *Runtime modules*), it generates one audit +member named: ```text LexLeanAudit.A. @@ -6932,7 +6971,7 @@ nested partition of the embedded tree. The language-1.2 ID covers the whole tree. The language-1.1 ID excludes the files introduced solely for 1.2: `language/bootstrap-1.2.toml`, `language/semantics-1.2.toml`, `language/production-1.2.toml`, `language/lcnf-1.2/`, -`language/preservation-1.2/`, `language/core-1.2/`, +`language/preservation-1.2/`, `language/runtime-1.2/`, `language/core-1.2/`, `language/std/{bool,int,nat}-1.2/`, `schemas/attestation-v2.schema.json`, `schemas/build-manifest-v2.schema.json`, `schemas/compiler-input.schema.json`, `schemas/core-module-v2.schema.json`, @@ -6952,7 +6991,11 @@ excludes the files introduced solely for 1.1: `language/bootstrap-1.1.toml`, `language/semantics-1.1.toml`, `language/core-1.1/`, `language/std/{bool,int,nat}-1.1/`, `schemas/semantic-module.schema.json`, and `schemas/semantic-snapshot.schema.json`. Adding a file for a newer -language therefore never changes an older language's ID. +language therefore never changes an older language's ID. The frozen runtime +bytes of languages 1.0 and 1.1 (§17.12, *Runtime modules*) are held under +`language/runtime-1.2/frozen/` since language 1.2: they were Rust text when +those IDs were fixed, so they belong to neither, and their equality with the +released output is what keeps those languages' output byte-identical. The full (language-1.2) tree is the §11.5 tree digest of: @@ -7156,7 +7199,7 @@ LexLean does not run `lake update`, fetch dependencies, or modify the user's Lak ### 22.3 Module compilation -Modules compile in topological import order using the pinned `lean` executable. Each compilation emits: +Modules compile in topological import order using the pinned `lean` executable. The runtime modules the project's generated modules import, and, for a project with a production root, those the calculus modules of its certificates import (§17.12, *Runtime modules*), compile first, in their dependency order, are replayed (§22.4), and their declarations are audited against the axioms their rows pin (§22.5, §22.6); their `.olean`s are verification artifacts with the project's. Each compilation emits: - one `.olean`; - captured normalized stdout; @@ -7360,9 +7403,9 @@ over that registry, and the compiler renders them, so that the Lean it runs contains no comment, no hand-written definition, and no template. It reports facts, not decisions, and contains no optimization or application policy. From the roots it follows the code of every translated definition: a constant of -the project's generated modules (the fixed runtime namespaces -`.LexLeanRuntime` and `.LexLeanCollections` included) that is -a computable definition Lean generates code for is translated with +the project's generated modules or of the runtime modules they import (§17.12, +*Runtime modules*; the namespaces `LexLeanRuntime` and `LexLeanCollections`) +that is a computable definition Lean generates code for is translated with `Lean.Compiler.LCNF.toDecl` in the base phase, and no LCNF pass runs afterwards. It records, for every project constant reached through code or named by a reached kernel value, its kind, the kind it was declared with @@ -7431,7 +7474,8 @@ staged module outputs, after policy enforcement (stage 12, §22.1). - each root's *closure* is the translated project definitions reached from it through translated code; a reached project constant that Lean does not translate is refused by its facts; -- the closure's *runtime members* are those of the runtime namespaces; its +- the closure's *runtime members* are those of the runtime namespaces + `LexLeanRuntime` and `LexLeanCollections`; its *source members* must equal the root's production-eligibility closure; - its *erased proofs* are the project theorems its members' kernel values name, directly or through compiler-generated helpers, and the non-helper @@ -9048,7 +9092,7 @@ Every row below is normative, has honesty level `build`, and MUST be copied byte | `VR-16` | `verification` | Axioms flowing from imported theorems remain subject to the generated declaration's policy. | §22.6 | | `VR-17` | `verification` | Lean workspace configuration and manifest hashes must match the lock and all dependencies must be locally available. | §10.4, §22.2 | | `VR-18` | `verification` | Check and build results never claim verified or kernel-checked status. | §5.3 | -| `VR-19` | `verification` | The native Atlas source graph is self-contained: every generated Atlas module publicly depends only on Init and the generated graph, its only backend-support import is Lean, and no independently authored Atlas implementation exists. | §10.4, §17.10, §22.2 | +| `VR-19` | `verification` | The native Atlas source graph is self-contained: every generated Atlas module publicly depends only on Init and the generated graph, its only backend-support import is Lean, and no independently authored Atlas implementation exists. The one Lean text a generated Atlas module carries beside its data is the decoder of core module 1: the released language-1.0 bytes, held as the frozen data `language/runtime-1.2/frozen/core-decoder-1.txt`, the one declared exception to Lean generated from native modules. | §10.4, §17.10, §22.2 | | `VR-20` | `verification` | The verifier process width is an operational resource profile selected only by the environment, defaulting to 1 and refusing any malformed value with LLV7017, and it enters no lock, identity, or verified artifact. | §22.11, §23.1 | | `VR-21` | `verification` | A multi-module project whose imports form nontrivial frontiers verifies at width 1 and at a larger width to byte-identical verified directories and the same attestation identity, observed axiom sets, and policy rows, and no completion order orders a record or changes which failure is reported. | §22.3, §22.4, §22.11 | | `VR-22` | `verification` | Performance telemetry is written only to the CI evidence directory the environment names, a verification with telemetry on publishes byte-identical artifacts to one without, and telemetry planted in a verified artifact fails the gate. | §22.12 | @@ -9142,7 +9186,7 @@ Every row below is normative, has honesty level `build`, and MUST be copied byte | `GC-08` | `gnaf-certification` | Every verdict is a closed, explicit claim status: refused for a certificate that does not bind its request's verifier, universe, objective, claim, and scope or does not cover its universe, a certified optimum, argmin, or frontier, or incomplete with the first open obligation and the strongest status it establishes, correct-only, locally normalized, or representation-minimal, never a fallback claim; a certificate for another universe, including the same problem on an enlarged machine, is refused. | §17.18 | | `GC-09` | `gnaf-certification` | The certification library, as the Lean its native modules generate, is kernel-checked under the pinned Lean with exactly the axioms its rows pin and none of the forbidden forms, a planted added axiom, false lemma, or weakened checker each being refused: it proves that a certified verdict bounds the cost of every well-formed system of the request's grammar universe at the request's fuel and every larger one and that a bound is attained, that a certified frontier is exactly the Pareto frontier of the admitted systems, that normality never certifies, that every certified optimum is GNAF-normal, and that every improving schema application satisfies the module's own `Certification.preserves`, its rewriting keeping the system's observations over the request's domain at strictly lower cost, and its soundness theorem holds of every certified committed certificate. | §17.18 | | `GC-10` | `gnaf-certification` | The certification model, certificate fixtures, certificate module, and schemas are generated, deterministic, and content-addressed: they equal their generators, the compiler project reaches them from its entrypoint, certificate identities are recomputed from content, and a planted change to a premise, a bound, or a route changes the verdict or the identity. | §17.18 | -| `GC-11` | `gnaf-certification` | The certification library is LexLean source: every module of its registry is one language-1.2 native core module of the library's own project, which holds no file of Lean source, no Lean file anywhere in the release tree declares the library's namespace or lies under its module root, and the registry lists only the modules; the declarations and their exact axiom policies are read from the native data, a module that imports anything but `Init`, an earlier module, the preservation core, or the generated and calculus modules it is stated against, or that does not pin its axioms exactly, is refused, and the Lean the compiler generates from the sources is, byte for byte, the Lean the certification library's kernel check compiles, so that neither a stale nor an edited generated module can stand in for the source and a planted drift of the source is visible in what is generated. | §17.18 | +| `GC-11` | `gnaf-certification` | The certification library is LexLean source: every module of its registry is one language-1.2 native core module of the library's own project, which holds no file of Lean source, no Lean file anywhere in the release tree declares the library's namespace or lies under its module root, and the registry lists only the modules; the declarations and their exact axiom policies are read from the native data, a module that imports anything but `Init`, an earlier module, the preservation core, or the generated and calculus modules it is stated against, or that does not pin its axioms exactly, is refused, and the Lean the compiler generates from the sources is, byte for byte, the Lean the certification library's kernel check compiles, so that neither a stale nor an edited generated module can stand in for the source and a planted drift of the source is visible in what is generated. The one Lean text a generated library module carries beside its data is the decoder of core module 2, which loads native modules. | §17.18 | | `SP-01` | `preservation` | Every production root of the committed examples lowers to a valid realization program in first-binding order, byte-identical across two lowerings, with an origin for every function and document type and exactly the root's eligibility closure; the lowering and certificate sources match no construct by default; a planted closure disagreement fails with LLI9001 and a planted default arm is refused. | §17.17 | | `SP-02` | `preservation` | Every production root of examples/production, examples/production-coverage, examples/models, and examples/reasoning has a certificate whose root theorem, that the lowered program converges on the encoded arguments to the encoded source value or to overflow exactly where the width predicate fails, compiles under the pinned Lean, replays through leanchecker, and depends on exactly Classical.choice, Quot.sound, and propext; a certificate generated against a program with a planted branch, arithmetic, constructor, recursion, or literal mutation is rejected, and each such rejection lies in the declaration of the function mutated; and a root whose lowered program or certificates would exceed max_ir_nodes or max_file_bytes is refused with LLS8002 before the toolchain is touched: early, by a lower bound on each certificate from what the program states, the greatest of which is compared with the limit and none of which is above its certificate on the corpora, on families of programs that grow one dimension at a time, and on programs that grow several at once, so that a program whose certificates fit, a match on 420 constructors, a string of 450 000 characters, or both a wide match and a long string, is not refused by it, and by a floor on certificate B from the entries its field reads print, which the lowering refuses before the Rust crate is built; and in every case by generating each certificate under the limit, which stops it at the limit; the programs, crates, and certificates of all the roots of a project count together toward max_total_source_bytes, which a chain of roots calling one another passes before memory is exhausted; and a match on 180 constructors verifies through the whole pipeline. | §17.17 | | `SP-03` | `preservation` | On seeded inputs to every production root of examples/production, examples/production-coverage, examples/models, and examples/reasoning, the calculus interpreter's outcome on the lowered program equals the certificate's observation evaluated by Lean, and a planted disagreement is detected. | §17.17 | @@ -9154,7 +9198,7 @@ Every row below is normative, has honesty level `build`, and MUST be copied byte | `SP-09` | `preservation` | Certificate E composes certificates A and B: for every production root in each of its targets, a generated proof that every encoded argument is well typed for the root's parameters and the library's composition theorem establish that the rendered root, or its boundary entry when it has one, invoked on the encoded source arguments, realizes certificate A's observation of the source, as `some` when the arguments satisfy the invariants §17.12 states of them and as `none` otherwise; the pinned Lean checks and replays every composition, each end-to-end theorem depends on exactly Classical.choice, Quot.sound, and propext, a composition claiming the other result shape or another function is refused, verification fails with LLV7016 on a rejected composition, and a root verifies whatever its parameters are named, including the names the composition binds for itself, the words a certificate writes bare, the names of the namespaces the certificates begin a name with, and the tokens the certificate audit forbids, as does a declaration spelled like a word the audit of generated Lean forbids. | §17.17 | | `SP-10` | `preservation` | A production root whose parameters can hold a map, set, or graph, directly or inside options, results, products, lists, document types, and recursive groups of them, is lowered with a generated entry function that calls the root only when the generated validators of each such parameter accept it and returns none otherwise; certificate A proves each validator decides exactly the proposition §17.12 states of its type and the entry's two outcomes; a validator is called only by the entry and by validators, so no proof-only invariant becomes a runtime check, and a validator called from inside the program is refused by the lowering; and a validator dropped from the entry, one weakened to admit an equal key, and a rendering whose entry drops a validator are each refused by Lean at the relation they change; a lowering whose entry skips a validated parameter is refused by the generator, which judges the validated parameters from the source types alone, and the differentials break each validated parameter's invariant in turn, which the interpreter, Lean, the declared machine, and rustc each refuse with none. | §17.12, §17.17 | | `SP-11` | `preservation` | Every production root of examples/production, examples/production-coverage, examples/models, and examples/reasoning is rendered in each of its targets as a package that builds under the pinned Rust toolchain, and on the seeded inputs of the differential, through the root and through its boundary entry on valid and invalid inputs, the printed outcome of each package equals the interpreter's outcome, which the declared Rust machine reproduces; that the compiler agrees with the machine the certificates are about is build evidence, never a premise of a proof. | §17.16, §17.17 | -| `SP-12` | `preservation` | The preservation library is LexLean source: every module of its registry is one language-1.2 native core module, the library project holds no file of Lean source, and no Lean file anywhere in the release tree declares its namespace or lies under its module root; the registry lists only the modules, and the declarations, their exact axiom policies, the constructors of the correspondence, and the cases of its soundness theorem are read from the native data, which the compiler embeds, hashes into the language-1.2 semantics, and generates the Lean of every verification from. | §17.17 | +| `SP-12` | `preservation` | The preservation library is LexLean source: every module of its registry is one language-1.2 native core module, the library project holds no file of Lean source, and no Lean file anywhere in the release tree declares its namespace or lies under its module root; the registry lists only the modules, and the declarations, their exact axiom policies, the constructors of the correspondence, and the cases of its soundness theorem are read from the native data, which the compiler embeds, hashes into the language-1.2 semantics, and generates the Lean of every verification from. The one Lean text a generated library module carries beside its data is the decoder of core module 2, which loads native modules. | §17.17 | | `SP-13` | `preservation` | Certificate text writes every list and array of any length as a term the pinned Lean elaborates without binders: one of at most 32 elements as a literal and a longer one as a chain of List.cons, so that no certificate holds a literal Lean splits under let binders; a root calling a function of 33 parameters with 33 operands, a root copying a record of 33 fields, and a root matching on 33 constructors of one field each verify through the whole pipeline, and none of their certificates writes a literal of more than 32 elements. | §17.17 | | `MD-01` | `models` | Language 1.2 artifact, contract, realization, evidence, and model declarations, the checked_apply term, the contract_violation type, and the less_than primitive belong to the closed lexlean/semantic-module/2 schema and its snapshot schema, are rejected under language 1.1 before either backend runs, and admit no member outside the closed schema, such as prompt text, a free-form description, or raw model configuration. | §17.12 | | `MD-02` | `models` | A model artifact is admitted only from a configured, content-addressed, confined project file whose SHA-256 and byte length equal its declaration and whose bytes decode under its declared closed schema to its declared type and role; a missing artifact or a digest or length mismatch fails with LLR3007, a schema, type, or role violation fails with LLR3008, and the generated Lean embeds the exact bytes with a kernel-checked theorem that the typed value is their decoding. | §17.12, §10.1, §26.3 | @@ -9227,8 +9271,12 @@ Every row below is normative, has honesty level `build`, and MUST be copied byte | `AU-10` | `authoring` | A language-1.2 core module written in the authoring notation links to exactly the module its data form links to, with the same semantic ID and the same generated Lean and LaTeX byte for byte and source maps that name the notation; fmt writes a core module written as data as the notation and leaves the notation unchanged; and the notation under language 1.0 and 1.1 is refused with LLP2003. | §17.21.8 | | `AU-11` | `authoring` | Malformed core notation fails closed and never panics: an unclosed delimiter, a keyword used as a name, a label that is not the number of its node, a reference to a node not yet written, a numeral with a redundant leading zero, a statement that defines no node, a nesting beyond the bound, and every single-token deletion and duplication of a committed module fail with a registered code at a position in the notation or link to a module that decodes. | §17.21.8 | | `AU-12` | `authoring` | A core module written with names for its statements and its variables reads to exactly the module its canonical notation reads to, and the canonical notation keeps the names of the binders and writes the numbers of the statements: a variable is written by the name of its binder exactly when no nearer binder has the name, a constant a binder in scope is named like is written as a string, a theorem added to the certification library by name reads to the committed module and is written as the committed bytes, and an unknown or repeated statement name and a variable given universe levels are refused with a position. | §17.21.8 | +| `RT-01` | `runtime` | The runtime of language 1.2 is LexLean source: every module of its registry is one native core module of the runtime's own project, which holds no file of Lean source, the registry lists only the modules in dependency order, every declaration pins its exact axioms, and a source that is missing, weakened to an inexact policy, or imports anything but `Init` and an earlier runtime module is refused; the one-time migration input is absent, no native source names a runtime copy inside a module, and no Lean file declares a runtime namespace but the released output of a language-1.0 or 1.1 project. | §17.12 | +| `RT-02` | `runtime` | The runtime text of languages 1.0 and 1.1 is the one declared exception: the portable runtime and the decoder of core module 1 are the released bytes, held as data under `language/runtime-1.2/frozen/`, read by the language-1.0 and 1.1 backends alone, excluded from the language-1.0 and 1.1 identities, and reproduced byte for byte by the released language-1.1 and 1.0 output; a one-byte change of either is not the released output. | §17.12, §21.2 | +| `RT-03` | `runtime` | A verification compiles every runtime module that a project's generated modules, or the calculus modules its certificates are checked against, import before the project's modules, replays it with `leanchecker`, and audits each of its declarations against the axioms its row pins; the committed verification of a project that uses the collections prints them, the runtime's own project verifies under the pinned Lean, and a row that pins another axiom set than its declaration observes fails with LLV7005. | §17.12, §22.3, §22.5, §22.6 | +| `RT-04` | `runtime` | No Lean runtime text remains in the language-1.2 compiler: a generated language-1.2 module imports the runtime modules it uses and splices none, and the only string literal of the compiler's source that holds Lean declarations under a namespace is the decoder of core module 2, which loads native modules and so cannot be one; a planted runtime text constant, raw or escaped, is found. | §17.12, §18.1 | -**Total required capability IDs:** 382. +**Total required capability IDs:** 386. No row may be downgraded to `some-true` or `open`. Upstream Lean facts are ledger/authority rows, not substitutions for these build behaviors. diff --git a/VERIFICATION.md b/VERIFICATION.md index 1239dd67c..3159798f5 100644 --- a/VERIFICATION.md +++ b/VERIFICATION.md @@ -7663,6 +7663,45 @@ arbitrary canonical JSON values (`surface::generic`), and every alternative of the schema its own sample (`surface::semantic`), as unit tests of the `lexlean` crate. +### runtime modules can fail + +Five plants, each on the committed tree and each restored after its run. +Commands: `cargo test -p repo-conformance --all-features --test conformance +-- --exact` for the first four; for the fifth, `lexlean lock && lexlean +verify` in a copy of `examples/collections`, where pinned Lean is the oracle. + +1. A hand-written runtime text put back in the semantic backend (a + `COLLECTIONS_RUNTIME` string constant appended to `backend/semantic.rs`). +2. The frozen language-1.1 portable runtime changed in one name + (`index` to `indez` in `language/runtime-1.2/frozen/portable-runtime-1.1.txt`). +3. A generated Lean copy of a runtime module committed beside its source + (`language/runtime-1.2/library/LexLeanRuntime/Portable.lean`). +4. A preservation-library reference to a per-module runtime copy put back + (`@244 := LexLeanRuntime.index` to + `@244 := LexLeanTarget.TargetSemantics.LexLeanRuntime.index` in the notation of + `Core.lex.tex`). +5. A runtime row pinning an axiom its declaration does not use + (`LexLeanCollections.insertEntry` pinned to `exact{axioms: [propext]}` in + `Collections.lex.tex`). + +```text +thread 'conformance_rt_04' panicked at crates/conformance/src/cases/runtime.rs:494:9: +assertion `left == right` failed: the semantic backend carries no runtime text + left: [2966] + right: [] +thread 'conformance_rt_02' panicked at crates/conformance/src/cases/runtime.rs:260:5: +the frozen portable runtime is the released language-1.1 output +thread 'conformance_rt_01' panicked at crates/conformance/src/cases/runtime.rs:88:9: +.../language/runtime-1.2/library/LexLeanRuntime/Portable.lean: a Lean file lies in the runtime project +thread 'conformance_rt_01' panicked at crates/conformance/src/cases/runtime.rs:199:21: +.../language/preservation-1.2/library/src/Core.lex.tex: a runtime copy `…TargetSemantics.LexLeanRuntime.index +@247 := @2` is named inside a module +error[LLV7005]: `LexLeanCollections.insertEntry` of the runtime module `LexLeanRuntime.Collections` violates its exact axiom policy: observed [] + --> lexlean.toml:1:1 +``` + +Removed: each file was restored, and `RT-01`..`RT-04` pass on the restored +tree. ## The planted verification of the compiler project (Issue #145) `conformance_rs_12` asks which diagnostic pinned Lean's refusal of the planted diff --git a/compiler/expected/build/coverage/LexLeanTarget/BudgetOracle.coverage.json b/compiler/expected/build/coverage/LexLeanTarget/BudgetOracle.coverage.json index 33bcbfce7..2cbdfa84f 100644 --- a/compiler/expected/build/coverage/LexLeanTarget/BudgetOracle.coverage.json +++ b/compiler/expected/build/coverage/LexLeanTarget/BudgetOracle.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":497,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":794,"byte_start":497,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1045,"byte_start":794,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1428,"byte_start":1045,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1836,"byte_start":1428,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3715,"byte_start":1836,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4133,"byte_start":3715,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4576,"byte_start":4133,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6863,"byte_start":4576,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7154,"byte_start":6863,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7525,"byte_start":7154,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7842,"byte_start":7525,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8490,"byte_start":7842,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8826,"byte_start":8490,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22640,"byte_start":8826,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34972,"byte_start":22640,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34987,"byte_start":34972,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":34248,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34391,"byte_start":34248,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34472,"byte_start":34391,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34473,"byte_start":34472,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34959,"byte_start":34473,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35474,"byte_start":34959,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36911,"byte_start":35474,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37430,"byte_start":36911,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37978,"byte_start":37430,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39648,"byte_start":37978,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39735,"byte_start":39648,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39826,"byte_start":39735,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40270,"byte_start":39826,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40475,"byte_start":40270,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40918,"byte_start":40475,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":62859,"byte_start":40918,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":82091,"byte_start":62859,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":82123,"byte_start":82091,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"BudgetOracle","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/BudgetOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":28,"byte_start":16,"class":"word","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":29,"byte_start":28,"class":"delimiter","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":42,"byte_start":30,"class":"control","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":43,"byte_start":42,"class":"delimiter","path":"src/BudgetOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":50,"byte_start":43,"class":"word","path":"src/BudgetOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":50,"class":"ascii-symbol","path":"src/BudgetOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":51,"class":"word","path":"src/BudgetOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/BudgetOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":55,"class":"word","path":"src/BudgetOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":59,"byte_start":58,"class":"ascii-symbol","path":"src/BudgetOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":60,"byte_start":59,"class":"numeral","path":"src/BudgetOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":61,"byte_start":60,"class":"ascii-symbol","path":"src/BudgetOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":62,"byte_start":61,"class":"numeral","path":"src/BudgetOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":63,"byte_start":62,"class":"ascii-symbol","path":"src/BudgetOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":64,"byte_start":63,"class":"numeral","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":65,"byte_start":64,"class":"delimiter","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":72,"byte_start":66,"class":"control","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":73,"byte_start":72,"class":"delimiter","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":87,"byte_start":73,"class":"word","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":96,"byte_start":88,"class":"word","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":97,"byte_start":96,"class":"delimiter","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":104,"byte_start":98,"class":"control","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":105,"byte_start":104,"class":"delimiter","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":119,"byte_start":105,"class":"word","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":120,"byte_start":119,"class":"delimiter","path":"src/BudgetOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":4577,"byte_start":121,"class":"word","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":4581,"byte_start":4577,"class":"control","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":4582,"byte_start":4581,"class":"delimiter","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":4596,"byte_start":4582,"class":"word","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":4597,"byte_start":4596,"class":"delimiter","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":4602,"byte_start":4598,"class":"control","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":4603,"byte_start":4602,"class":"delimiter","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":4610,"byte_start":4603,"class":"word","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":4611,"byte_start":4610,"class":"delimiter","path":"src/BudgetOracle.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":497,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":794,"byte_start":497,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1045,"byte_start":794,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1428,"byte_start":1045,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1836,"byte_start":1428,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3715,"byte_start":1836,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4133,"byte_start":3715,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4576,"byte_start":4133,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6863,"byte_start":4576,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7154,"byte_start":6863,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7525,"byte_start":7154,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7842,"byte_start":7525,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8490,"byte_start":7842,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8826,"byte_start":8490,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22640,"byte_start":8826,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34972,"byte_start":22640,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34987,"byte_start":34972,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":327,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":470,"byte_start":327,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":551,"byte_start":470,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":552,"byte_start":551,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1038,"byte_start":552,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1553,"byte_start":1038,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2990,"byte_start":1553,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3509,"byte_start":2990,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4057,"byte_start":3509,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5727,"byte_start":4057,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5814,"byte_start":5727,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5905,"byte_start":5814,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6349,"byte_start":5905,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6554,"byte_start":6349,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6997,"byte_start":6554,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28938,"byte_start":6997,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":48170,"byte_start":28938,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":48202,"byte_start":48170,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"BudgetOracle","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/BudgetOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":28,"byte_start":16,"class":"word","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":29,"byte_start":28,"class":"delimiter","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":42,"byte_start":30,"class":"control","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":43,"byte_start":42,"class":"delimiter","path":"src/BudgetOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":50,"byte_start":43,"class":"word","path":"src/BudgetOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":50,"class":"ascii-symbol","path":"src/BudgetOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":51,"class":"word","path":"src/BudgetOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/BudgetOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":55,"class":"word","path":"src/BudgetOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":59,"byte_start":58,"class":"ascii-symbol","path":"src/BudgetOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":60,"byte_start":59,"class":"numeral","path":"src/BudgetOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":61,"byte_start":60,"class":"ascii-symbol","path":"src/BudgetOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":62,"byte_start":61,"class":"numeral","path":"src/BudgetOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":63,"byte_start":62,"class":"ascii-symbol","path":"src/BudgetOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":64,"byte_start":63,"class":"numeral","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":65,"byte_start":64,"class":"delimiter","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":72,"byte_start":66,"class":"control","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":73,"byte_start":72,"class":"delimiter","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":87,"byte_start":73,"class":"word","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":96,"byte_start":88,"class":"word","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":97,"byte_start":96,"class":"delimiter","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":104,"byte_start":98,"class":"control","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":105,"byte_start":104,"class":"delimiter","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":119,"byte_start":105,"class":"word","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":120,"byte_start":119,"class":"delimiter","path":"src/BudgetOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":4577,"byte_start":121,"class":"word","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":4581,"byte_start":4577,"class":"control","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":4582,"byte_start":4581,"class":"delimiter","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":4596,"byte_start":4582,"class":"word","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":4597,"byte_start":4596,"class":"delimiter","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":4602,"byte_start":4598,"class":"control","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":4603,"byte_start":4602,"class":"delimiter","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":4610,"byte_start":4603,"class":"word","path":"src/BudgetOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":4611,"byte_start":4610,"class":"delimiter","path":"src/BudgetOracle.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/compiler/expected/build/coverage/LexLeanTarget/Certification.coverage.json b/compiler/expected/build/coverage/LexLeanTarget/Certification.coverage.json index 2a6f2575a..addf17c70 100644 --- a/compiler/expected/build/coverage/LexLeanTarget/Certification.coverage.json +++ b/compiler/expected/build/coverage/LexLeanTarget/Certification.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":392,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":716,"byte_start":392,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":887,"byte_start":716,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1309,"byte_start":887,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1838,"byte_start":1309,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2277,"byte_start":1838,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2965,"byte_start":2277,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4556,"byte_start":2965,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4916,"byte_start":4556,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5200,"byte_start":4916,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5486,"byte_start":5200,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6020,"byte_start":5486,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6512,"byte_start":6020,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7008,"byte_start":6512,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7446,"byte_start":7008,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7880,"byte_start":7446,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8578,"byte_start":7880,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8970,"byte_start":8578,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9355,"byte_start":8970,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10846,"byte_start":9355,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12396,"byte_start":10846,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13943,"byte_start":12396,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14348,"byte_start":13943,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14760,"byte_start":14348,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15163,"byte_start":14760,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16894,"byte_start":15163,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17397,"byte_start":16894,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17875,"byte_start":17397,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18335,"byte_start":17875,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18733,"byte_start":18335,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19757,"byte_start":18733,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20533,"byte_start":19757,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21045,"byte_start":20533,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21712,"byte_start":21045,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22399,"byte_start":21712,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22952,"byte_start":22399,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25312,"byte_start":22952,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26114,"byte_start":25312,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26576,"byte_start":26114,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27372,"byte_start":26576,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27920,"byte_start":27372,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28559,"byte_start":27920,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29193,"byte_start":28559,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29858,"byte_start":29193,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30655,"byte_start":29858,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31452,"byte_start":30655,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31987,"byte_start":31452,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32520,"byte_start":31987,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33186,"byte_start":32520,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34220,"byte_start":33186,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35040,"byte_start":34220,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35776,"byte_start":35040,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37283,"byte_start":35776,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37931,"byte_start":37283,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":38726,"byte_start":37931,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39672,"byte_start":38726,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41284,"byte_start":39672,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41945,"byte_start":41284,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42858,"byte_start":41945,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43683,"byte_start":42858,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":44669,"byte_start":43683,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":45667,"byte_start":44669,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":46132,"byte_start":45667,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":46840,"byte_start":46132,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":48872,"byte_start":46840,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":50367,"byte_start":48872,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":52385,"byte_start":50367,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":53014,"byte_start":52385,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":53977,"byte_start":53014,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":57118,"byte_start":53977,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":57133,"byte_start":57118,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":13819,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13903,"byte_start":13819,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14029,"byte_start":13903,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14089,"byte_start":14029,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14285,"byte_start":14089,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14527,"byte_start":14285,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14688,"byte_start":14527,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14953,"byte_start":14688,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15613,"byte_start":14953,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15790,"byte_start":15613,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15931,"byte_start":15790,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16069,"byte_start":15931,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16442,"byte_start":16069,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16755,"byte_start":16442,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17072,"byte_start":16755,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17331,"byte_start":17072,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17586,"byte_start":17331,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18130,"byte_start":17586,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18337,"byte_start":18130,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18537,"byte_start":18337,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19823,"byte_start":18537,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21168,"byte_start":19823,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22510,"byte_start":21168,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22733,"byte_start":22510,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22963,"byte_start":22733,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23184,"byte_start":22963,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24624,"byte_start":23184,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24872,"byte_start":24624,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25095,"byte_start":24872,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25300,"byte_start":25095,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25499,"byte_start":25300,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26333,"byte_start":25499,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26922,"byte_start":26333,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27252,"byte_start":26922,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27737,"byte_start":27252,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28238,"byte_start":27737,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28605,"byte_start":28238,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30737,"byte_start":28605,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31379,"byte_start":30737,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31662,"byte_start":31379,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32282,"byte_start":31662,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32656,"byte_start":32282,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33072,"byte_start":32656,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33520,"byte_start":33072,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34001,"byte_start":33520,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34658,"byte_start":34001,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35315,"byte_start":34658,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35627,"byte_start":35315,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35937,"byte_start":35627,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36376,"byte_start":35937,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37186,"byte_start":36376,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37828,"byte_start":37186,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":38340,"byte_start":37828,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39660,"byte_start":38340,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40199,"byte_start":39660,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40808,"byte_start":40199,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41568,"byte_start":40808,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42994,"byte_start":41568,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43532,"byte_start":42994,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":44259,"byte_start":43532,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":44906,"byte_start":44259,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":45708,"byte_start":44906,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":46521,"byte_start":45708,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":46831,"byte_start":46521,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":47404,"byte_start":46831,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":49251,"byte_start":47404,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":50561,"byte_start":49251,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":52392,"byte_start":50561,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":52839,"byte_start":52392,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":53620,"byte_start":52839,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":56511,"byte_start":53620,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":56544,"byte_start":56511,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Certification","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":29,"byte_start":16,"class":"word","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":30,"byte_start":29,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":43,"byte_start":31,"class":"control","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":44,"byte_start":43,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":44,"class":"word","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"ascii-symbol","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":52,"class":"word","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"ascii-symbol","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":59,"byte_start":56,"class":"word","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":60,"byte_start":59,"class":"ascii-symbol","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":61,"byte_start":60,"class":"numeral","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":62,"byte_start":61,"class":"ascii-symbol","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":63,"byte_start":62,"class":"numeral","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":64,"byte_start":63,"class":"ascii-symbol","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":65,"byte_start":64,"class":"numeral","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":66,"byte_start":65,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":80,"byte_start":67,"class":"control","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":81,"byte_start":80,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":93,"byte_start":81,"class":"word","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":94,"byte_start":93,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":108,"byte_start":95,"class":"control","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":109,"byte_start":108,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":124,"byte_start":109,"class":"word","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":125,"byte_start":124,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":139,"byte_start":126,"class":"control","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":140,"byte_start":139,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":144,"byte_start":140,"class":"word","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":145,"byte_start":144,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":152,"byte_start":146,"class":"control","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":153,"byte_start":152,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":167,"byte_start":153,"class":"word","path":"src/Certification.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":176,"byte_start":168,"class":"word","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":177,"byte_start":176,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":184,"byte_start":178,"class":"control","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":185,"byte_start":184,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":199,"byte_start":185,"class":"word","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":200,"byte_start":199,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":47860,"byte_start":201,"class":"word","path":"src/Certification.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":47864,"byte_start":47860,"class":"control","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":47865,"byte_start":47864,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":47879,"byte_start":47865,"class":"word","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":47880,"byte_start":47879,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":47885,"byte_start":47881,"class":"control","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":47886,"byte_start":47885,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":47893,"byte_start":47886,"class":"word","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":47894,"byte_start":47893,"class":"delimiter","path":"src/Certification.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":392,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":716,"byte_start":392,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":887,"byte_start":716,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1309,"byte_start":887,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1838,"byte_start":1309,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2277,"byte_start":1838,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2965,"byte_start":2277,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4556,"byte_start":2965,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4916,"byte_start":4556,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5200,"byte_start":4916,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5486,"byte_start":5200,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6020,"byte_start":5486,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6512,"byte_start":6020,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7008,"byte_start":6512,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7446,"byte_start":7008,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7880,"byte_start":7446,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8578,"byte_start":7880,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8970,"byte_start":8578,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9355,"byte_start":8970,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10846,"byte_start":9355,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12396,"byte_start":10846,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13943,"byte_start":12396,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14348,"byte_start":13943,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14760,"byte_start":14348,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15163,"byte_start":14760,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16894,"byte_start":15163,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17397,"byte_start":16894,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17875,"byte_start":17397,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18335,"byte_start":17875,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18733,"byte_start":18335,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19757,"byte_start":18733,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20533,"byte_start":19757,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21045,"byte_start":20533,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21712,"byte_start":21045,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22399,"byte_start":21712,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22952,"byte_start":22399,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25312,"byte_start":22952,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26114,"byte_start":25312,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26576,"byte_start":26114,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27372,"byte_start":26576,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27920,"byte_start":27372,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28559,"byte_start":27920,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29193,"byte_start":28559,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29858,"byte_start":29193,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30655,"byte_start":29858,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31452,"byte_start":30655,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31987,"byte_start":31452,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32520,"byte_start":31987,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33186,"byte_start":32520,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34220,"byte_start":33186,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35040,"byte_start":34220,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35776,"byte_start":35040,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37283,"byte_start":35776,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37931,"byte_start":37283,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":38726,"byte_start":37931,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39672,"byte_start":38726,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41284,"byte_start":39672,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41945,"byte_start":41284,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42858,"byte_start":41945,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43683,"byte_start":42858,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":44669,"byte_start":43683,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":45667,"byte_start":44669,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":46132,"byte_start":45667,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":46840,"byte_start":46132,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":48872,"byte_start":46840,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":50367,"byte_start":48872,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":52385,"byte_start":50367,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":53014,"byte_start":52385,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":53977,"byte_start":53014,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":57118,"byte_start":53977,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":57133,"byte_start":57118,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":366,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":450,"byte_start":366,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":576,"byte_start":450,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":636,"byte_start":576,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":832,"byte_start":636,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1074,"byte_start":832,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1235,"byte_start":1074,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1500,"byte_start":1235,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2160,"byte_start":1500,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2337,"byte_start":2160,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2478,"byte_start":2337,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2616,"byte_start":2478,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2989,"byte_start":2616,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3302,"byte_start":2989,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3619,"byte_start":3302,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3878,"byte_start":3619,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4133,"byte_start":3878,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4677,"byte_start":4133,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4884,"byte_start":4677,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5084,"byte_start":4884,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6370,"byte_start":5084,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7715,"byte_start":6370,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9057,"byte_start":7715,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9280,"byte_start":9057,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9510,"byte_start":9280,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9731,"byte_start":9510,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11171,"byte_start":9731,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11419,"byte_start":11171,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11642,"byte_start":11419,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11847,"byte_start":11642,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12046,"byte_start":11847,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12880,"byte_start":12046,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13469,"byte_start":12880,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13799,"byte_start":13469,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14284,"byte_start":13799,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14785,"byte_start":14284,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15152,"byte_start":14785,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17284,"byte_start":15152,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17926,"byte_start":17284,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18209,"byte_start":17926,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18829,"byte_start":18209,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19203,"byte_start":18829,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19619,"byte_start":19203,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20067,"byte_start":19619,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20548,"byte_start":20067,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21205,"byte_start":20548,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21862,"byte_start":21205,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22174,"byte_start":21862,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22484,"byte_start":22174,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22923,"byte_start":22484,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23733,"byte_start":22923,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24375,"byte_start":23733,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24887,"byte_start":24375,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26207,"byte_start":24887,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26746,"byte_start":26207,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27355,"byte_start":26746,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28115,"byte_start":27355,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29541,"byte_start":28115,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30079,"byte_start":29541,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30806,"byte_start":30079,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31453,"byte_start":30806,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32255,"byte_start":31453,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33068,"byte_start":32255,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33378,"byte_start":33068,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33951,"byte_start":33378,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35798,"byte_start":33951,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37108,"byte_start":35798,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":38939,"byte_start":37108,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39386,"byte_start":38939,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40167,"byte_start":39386,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43058,"byte_start":40167,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43091,"byte_start":43058,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Certification","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":29,"byte_start":16,"class":"word","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":30,"byte_start":29,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":43,"byte_start":31,"class":"control","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":44,"byte_start":43,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":44,"class":"word","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"ascii-symbol","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":52,"class":"word","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"ascii-symbol","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":59,"byte_start":56,"class":"word","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":60,"byte_start":59,"class":"ascii-symbol","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":61,"byte_start":60,"class":"numeral","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":62,"byte_start":61,"class":"ascii-symbol","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":63,"byte_start":62,"class":"numeral","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":64,"byte_start":63,"class":"ascii-symbol","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":65,"byte_start":64,"class":"numeral","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":66,"byte_start":65,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":80,"byte_start":67,"class":"control","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":81,"byte_start":80,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":93,"byte_start":81,"class":"word","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":94,"byte_start":93,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":108,"byte_start":95,"class":"control","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":109,"byte_start":108,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":124,"byte_start":109,"class":"word","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":125,"byte_start":124,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":139,"byte_start":126,"class":"control","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":140,"byte_start":139,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":144,"byte_start":140,"class":"word","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":145,"byte_start":144,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":152,"byte_start":146,"class":"control","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":153,"byte_start":152,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":167,"byte_start":153,"class":"word","path":"src/Certification.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":176,"byte_start":168,"class":"word","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":177,"byte_start":176,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":184,"byte_start":178,"class":"control","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":185,"byte_start":184,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":199,"byte_start":185,"class":"word","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":200,"byte_start":199,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":47860,"byte_start":201,"class":"word","path":"src/Certification.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":47864,"byte_start":47860,"class":"control","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":47865,"byte_start":47864,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":47879,"byte_start":47865,"class":"word","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":47880,"byte_start":47879,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":47885,"byte_start":47881,"class":"control","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":47886,"byte_start":47885,"class":"delimiter","path":"src/Certification.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":47893,"byte_start":47886,"class":"word","path":"src/Certification.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":47894,"byte_start":47893,"class":"delimiter","path":"src/Certification.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/compiler/expected/build/coverage/LexLeanTarget/Gnaf.coverage.json b/compiler/expected/build/coverage/LexLeanTarget/Gnaf.coverage.json index 7048d29ad..3c70bef39 100644 --- a/compiler/expected/build/coverage/LexLeanTarget/Gnaf.coverage.json +++ b/compiler/expected/build/coverage/LexLeanTarget/Gnaf.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2330,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3005,"byte_start":2330,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3305,"byte_start":3005,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3485,"byte_start":3305,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3740,"byte_start":3485,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3927,"byte_start":3740,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4202,"byte_start":3927,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4386,"byte_start":4202,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4813,"byte_start":4386,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5014,"byte_start":4813,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5234,"byte_start":5014,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5581,"byte_start":5234,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5970,"byte_start":5581,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6297,"byte_start":5970,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6559,"byte_start":6297,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6744,"byte_start":6559,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7390,"byte_start":6744,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8948,"byte_start":7390,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9206,"byte_start":8948,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9602,"byte_start":9206,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10154,"byte_start":9602,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10467,"byte_start":10154,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11056,"byte_start":10467,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11648,"byte_start":11056,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12112,"byte_start":11648,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12530,"byte_start":12112,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13040,"byte_start":12530,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13716,"byte_start":13040,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14127,"byte_start":13716,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15262,"byte_start":14127,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15775,"byte_start":15262,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16635,"byte_start":15775,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17108,"byte_start":16635,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17506,"byte_start":17108,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18042,"byte_start":17506,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18576,"byte_start":18042,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19104,"byte_start":18576,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19530,"byte_start":19104,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19916,"byte_start":19530,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20283,"byte_start":19916,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20964,"byte_start":20283,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21372,"byte_start":20964,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21753,"byte_start":21372,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22219,"byte_start":21753,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22714,"byte_start":22219,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23198,"byte_start":22714,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23622,"byte_start":23198,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24183,"byte_start":23622,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24435,"byte_start":24183,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24622,"byte_start":24435,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24809,"byte_start":24622,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25003,"byte_start":24809,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25197,"byte_start":25003,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25458,"byte_start":25197,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25720,"byte_start":25458,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25996,"byte_start":25720,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26272,"byte_start":25996,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26583,"byte_start":26272,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26931,"byte_start":26583,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27335,"byte_start":26931,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27617,"byte_start":27335,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27930,"byte_start":27617,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28288,"byte_start":27930,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28636,"byte_start":28288,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28995,"byte_start":28636,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29344,"byte_start":28995,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29840,"byte_start":29344,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30343,"byte_start":29840,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30837,"byte_start":30343,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31157,"byte_start":30837,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34190,"byte_start":31157,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":38246,"byte_start":34190,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39516,"byte_start":38246,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39954,"byte_start":39516,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40618,"byte_start":39954,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71405,"byte_start":40618,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":72091,"byte_start":71405,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":73631,"byte_start":72091,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":74110,"byte_start":73631,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":74564,"byte_start":74110,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":75004,"byte_start":74564,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":77109,"byte_start":75004,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":77639,"byte_start":77109,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":78144,"byte_start":77639,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":78632,"byte_start":78144,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":79140,"byte_start":78632,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":79578,"byte_start":79140,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":80147,"byte_start":79578,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":80611,"byte_start":80147,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":81081,"byte_start":80611,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":81461,"byte_start":81081,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":81984,"byte_start":81461,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":82571,"byte_start":81984,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":83117,"byte_start":82571,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":83446,"byte_start":83117,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":83904,"byte_start":83446,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":84475,"byte_start":83904,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":84822,"byte_start":84475,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":85286,"byte_start":84822,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":85798,"byte_start":85286,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":86304,"byte_start":85798,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":86758,"byte_start":86304,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":87237,"byte_start":86758,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":87653,"byte_start":87237,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":88190,"byte_start":87653,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":88620,"byte_start":88190,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":88945,"byte_start":88620,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":89394,"byte_start":88945,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":89953,"byte_start":89394,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":90422,"byte_start":89953,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":90858,"byte_start":90422,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":91132,"byte_start":90858,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":92747,"byte_start":91132,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":93667,"byte_start":92747,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":94240,"byte_start":93667,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":94721,"byte_start":94240,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":95338,"byte_start":94721,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":95816,"byte_start":95338,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":96683,"byte_start":95816,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":97335,"byte_start":96683,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":98331,"byte_start":97335,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":98982,"byte_start":98331,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":99510,"byte_start":98982,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":100179,"byte_start":99510,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":100939,"byte_start":100179,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":101566,"byte_start":100939,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":102117,"byte_start":101566,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":102775,"byte_start":102117,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":103220,"byte_start":102775,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":103687,"byte_start":103220,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":103992,"byte_start":103687,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":104365,"byte_start":103992,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":104757,"byte_start":104365,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":105049,"byte_start":104757,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":105393,"byte_start":105049,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":105894,"byte_start":105393,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":106412,"byte_start":105894,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":106936,"byte_start":106412,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":107489,"byte_start":106936,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":107910,"byte_start":107489,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":108361,"byte_start":107910,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":108798,"byte_start":108361,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":109432,"byte_start":108798,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":109662,"byte_start":109432,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":109955,"byte_start":109662,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":110327,"byte_start":109955,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":110569,"byte_start":110327,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":110810,"byte_start":110569,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":111054,"byte_start":110810,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":111246,"byte_start":111054,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":111437,"byte_start":111246,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":111692,"byte_start":111437,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":111707,"byte_start":111692,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":13777,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14568,"byte_start":13777,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14754,"byte_start":14568,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14842,"byte_start":14754,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14911,"byte_start":14842,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14992,"byte_start":14911,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15050,"byte_start":14992,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15142,"byte_start":15050,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15215,"byte_start":15142,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15387,"byte_start":15215,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15483,"byte_start":15387,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15592,"byte_start":15483,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15756,"byte_start":15592,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15895,"byte_start":15756,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16003,"byte_start":15895,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16091,"byte_start":16003,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16147,"byte_start":16091,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16434,"byte_start":16147,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17050,"byte_start":16434,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17146,"byte_start":17050,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17304,"byte_start":17146,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17674,"byte_start":17304,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17805,"byte_start":17674,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18212,"byte_start":17805,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18622,"byte_start":18212,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18907,"byte_start":18622,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19146,"byte_start":18907,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19471,"byte_start":19146,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19964,"byte_start":19471,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20191,"byte_start":19964,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21144,"byte_start":20191,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21480,"byte_start":21144,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22161,"byte_start":21480,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22452,"byte_start":22161,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22675,"byte_start":22452,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23035,"byte_start":22675,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23394,"byte_start":23035,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23741,"byte_start":23394,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23951,"byte_start":23741,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24140,"byte_start":23951,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24326,"byte_start":24140,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24817,"byte_start":24326,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25048,"byte_start":24817,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25232,"byte_start":25048,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25544,"byte_start":25232,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25887,"byte_start":25544,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26187,"byte_start":25887,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26429,"byte_start":26187,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26804,"byte_start":26429,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26950,"byte_start":26804,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27031,"byte_start":26950,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27112,"byte_start":27031,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27198,"byte_start":27112,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27284,"byte_start":27198,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27433,"byte_start":27284,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27583,"byte_start":27433,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27714,"byte_start":27583,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27845,"byte_start":27714,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28270,"byte_start":27845,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28591,"byte_start":28270,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28973,"byte_start":28591,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29239,"byte_start":28973,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29534,"byte_start":29239,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29876,"byte_start":29534,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30212,"byte_start":29876,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30568,"byte_start":30212,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30924,"byte_start":30568,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31463,"byte_start":30924,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32045,"byte_start":31463,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32555,"byte_start":32045,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33009,"byte_start":32555,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35855,"byte_start":33009,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39723,"byte_start":35855,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40811,"byte_start":39723,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41052,"byte_start":40811,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41530,"byte_start":41052,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71751,"byte_start":41530,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":72209,"byte_start":71751,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":73494,"byte_start":72209,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":73725,"byte_start":73494,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":73931,"byte_start":73725,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":74123,"byte_start":73931,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":75972,"byte_start":74123,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":76251,"byte_start":75972,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":76505,"byte_start":76251,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":76742,"byte_start":76505,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":77071,"byte_start":76742,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":77330,"byte_start":77071,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":77728,"byte_start":77330,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":78012,"byte_start":77728,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":78327,"byte_start":78012,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":78525,"byte_start":78327,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":78875,"byte_start":78525,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":79303,"byte_start":78875,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":79666,"byte_start":79303,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":79811,"byte_start":79666,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":80055,"byte_start":79811,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":80406,"byte_start":80055,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":80537,"byte_start":80406,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":80786,"byte_start":80537,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":81086,"byte_start":80786,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":81375,"byte_start":81086,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":81630,"byte_start":81375,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":81912,"byte_start":81630,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":82110,"byte_start":81912,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":82429,"byte_start":82110,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":82643,"byte_start":82429,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":82784,"byte_start":82643,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":83019,"byte_start":82784,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":83400,"byte_start":83019,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":83660,"byte_start":83400,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":83879,"byte_start":83660,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":83971,"byte_start":83879,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":85406,"byte_start":83971,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":86102,"byte_start":85406,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":86493,"byte_start":86102,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":86773,"byte_start":86493,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":87191,"byte_start":86773,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":87472,"byte_start":87191,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":88114,"byte_start":87472,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":88542,"byte_start":88114,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":89307,"byte_start":88542,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":89734,"byte_start":89307,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":90079,"byte_start":89734,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":90524,"byte_start":90079,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":91098,"byte_start":90524,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":91556,"byte_start":91098,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":91930,"byte_start":91556,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":92457,"byte_start":91930,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":92721,"byte_start":92457,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":93025,"byte_start":92721,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":93148,"byte_start":93025,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":93339,"byte_start":93148,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":93549,"byte_start":93339,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":93695,"byte_start":93549,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":93857,"byte_start":93695,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":94249,"byte_start":93857,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":94658,"byte_start":94249,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":95073,"byte_start":94658,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":95517,"byte_start":95073,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":95829,"byte_start":95517,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":96171,"byte_start":95829,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":96499,"byte_start":96171,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":97024,"byte_start":96499,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":97145,"byte_start":97024,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":97329,"byte_start":97145,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":97592,"byte_start":97329,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":97725,"byte_start":97592,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":97857,"byte_start":97725,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":97992,"byte_start":97857,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":98075,"byte_start":97992,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":98157,"byte_start":98075,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":98303,"byte_start":98157,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":98327,"byte_start":98303,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Gnaf","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":20,"byte_start":16,"class":"word","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":21,"byte_start":20,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":34,"byte_start":22,"class":"control","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":35,"byte_start":34,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":42,"byte_start":35,"class":"word","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":43,"byte_start":42,"class":"ascii-symbol","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":46,"byte_start":43,"class":"word","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":46,"class":"ascii-symbol","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":50,"byte_start":47,"class":"word","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":50,"class":"ascii-symbol","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"numeral","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":57,"byte_start":56,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":71,"byte_start":58,"class":"control","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":72,"byte_start":71,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":84,"byte_start":72,"class":"word","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":85,"byte_start":84,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":99,"byte_start":86,"class":"control","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":100,"byte_start":99,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":115,"byte_start":100,"class":"word","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":116,"byte_start":115,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":123,"byte_start":117,"class":"control","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":124,"byte_start":123,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":138,"byte_start":124,"class":"word","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":147,"byte_start":139,"class":"word","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":148,"byte_start":147,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":155,"byte_start":149,"class":"control","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":156,"byte_start":155,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":170,"byte_start":156,"class":"word","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":171,"byte_start":170,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":100812,"byte_start":172,"class":"word","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":100816,"byte_start":100812,"class":"control","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":100817,"byte_start":100816,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":100831,"byte_start":100817,"class":"word","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":100832,"byte_start":100831,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":100837,"byte_start":100833,"class":"control","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":100838,"byte_start":100837,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":100845,"byte_start":100838,"class":"word","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":100846,"byte_start":100845,"class":"delimiter","path":"src/Gnaf.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2330,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3005,"byte_start":2330,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3305,"byte_start":3005,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3485,"byte_start":3305,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3740,"byte_start":3485,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3927,"byte_start":3740,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4202,"byte_start":3927,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4386,"byte_start":4202,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4813,"byte_start":4386,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5014,"byte_start":4813,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5234,"byte_start":5014,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5581,"byte_start":5234,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5970,"byte_start":5581,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6297,"byte_start":5970,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6559,"byte_start":6297,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6744,"byte_start":6559,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7390,"byte_start":6744,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8948,"byte_start":7390,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9206,"byte_start":8948,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9602,"byte_start":9206,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10154,"byte_start":9602,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10467,"byte_start":10154,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11056,"byte_start":10467,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11648,"byte_start":11056,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12112,"byte_start":11648,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12530,"byte_start":12112,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13040,"byte_start":12530,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13716,"byte_start":13040,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14127,"byte_start":13716,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15262,"byte_start":14127,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15775,"byte_start":15262,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16635,"byte_start":15775,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17108,"byte_start":16635,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17506,"byte_start":17108,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18042,"byte_start":17506,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18576,"byte_start":18042,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19104,"byte_start":18576,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19530,"byte_start":19104,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19916,"byte_start":19530,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20283,"byte_start":19916,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20964,"byte_start":20283,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21372,"byte_start":20964,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21753,"byte_start":21372,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22219,"byte_start":21753,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22714,"byte_start":22219,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23198,"byte_start":22714,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23622,"byte_start":23198,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24183,"byte_start":23622,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24435,"byte_start":24183,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24622,"byte_start":24435,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24809,"byte_start":24622,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25003,"byte_start":24809,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25197,"byte_start":25003,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25458,"byte_start":25197,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25720,"byte_start":25458,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25996,"byte_start":25720,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26272,"byte_start":25996,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26583,"byte_start":26272,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26931,"byte_start":26583,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27335,"byte_start":26931,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27617,"byte_start":27335,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27930,"byte_start":27617,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28288,"byte_start":27930,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28636,"byte_start":28288,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28995,"byte_start":28636,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29344,"byte_start":28995,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29840,"byte_start":29344,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30343,"byte_start":29840,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30837,"byte_start":30343,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31157,"byte_start":30837,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34190,"byte_start":31157,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":38246,"byte_start":34190,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39516,"byte_start":38246,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39954,"byte_start":39516,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40618,"byte_start":39954,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71405,"byte_start":40618,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":72091,"byte_start":71405,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":73631,"byte_start":72091,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":74110,"byte_start":73631,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":74564,"byte_start":74110,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":75004,"byte_start":74564,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":77109,"byte_start":75004,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":77639,"byte_start":77109,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":78144,"byte_start":77639,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":78632,"byte_start":78144,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":79140,"byte_start":78632,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":79578,"byte_start":79140,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":80147,"byte_start":79578,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":80611,"byte_start":80147,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":81081,"byte_start":80611,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":81461,"byte_start":81081,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":81984,"byte_start":81461,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":82571,"byte_start":81984,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":83117,"byte_start":82571,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":83446,"byte_start":83117,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":83904,"byte_start":83446,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":84475,"byte_start":83904,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":84822,"byte_start":84475,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":85286,"byte_start":84822,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":85798,"byte_start":85286,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":86304,"byte_start":85798,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":86758,"byte_start":86304,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":87237,"byte_start":86758,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":87653,"byte_start":87237,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":88190,"byte_start":87653,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":88620,"byte_start":88190,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":88945,"byte_start":88620,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":89394,"byte_start":88945,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":89953,"byte_start":89394,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":90422,"byte_start":89953,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":90858,"byte_start":90422,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":91132,"byte_start":90858,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":92747,"byte_start":91132,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":93667,"byte_start":92747,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":94240,"byte_start":93667,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":94721,"byte_start":94240,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":95338,"byte_start":94721,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":95816,"byte_start":95338,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":96683,"byte_start":95816,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":97335,"byte_start":96683,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":98331,"byte_start":97335,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":98982,"byte_start":98331,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":99510,"byte_start":98982,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":100179,"byte_start":99510,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":100939,"byte_start":100179,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":101566,"byte_start":100939,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":102117,"byte_start":101566,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":102775,"byte_start":102117,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":103220,"byte_start":102775,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":103687,"byte_start":103220,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":103992,"byte_start":103687,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":104365,"byte_start":103992,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":104757,"byte_start":104365,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":105049,"byte_start":104757,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":105393,"byte_start":105049,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":105894,"byte_start":105393,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":106412,"byte_start":105894,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":106936,"byte_start":106412,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":107489,"byte_start":106936,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":107910,"byte_start":107489,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":108361,"byte_start":107910,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":108798,"byte_start":108361,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":109432,"byte_start":108798,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":109662,"byte_start":109432,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":109955,"byte_start":109662,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":110327,"byte_start":109955,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":110569,"byte_start":110327,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":110810,"byte_start":110569,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":111054,"byte_start":110810,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":111246,"byte_start":111054,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":111437,"byte_start":111246,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":111692,"byte_start":111437,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":111707,"byte_start":111692,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":324,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1115,"byte_start":324,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1301,"byte_start":1115,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1389,"byte_start":1301,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1458,"byte_start":1389,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1539,"byte_start":1458,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1597,"byte_start":1539,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1689,"byte_start":1597,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1762,"byte_start":1689,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1934,"byte_start":1762,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2030,"byte_start":1934,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2139,"byte_start":2030,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2303,"byte_start":2139,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2442,"byte_start":2303,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2550,"byte_start":2442,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2638,"byte_start":2550,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2694,"byte_start":2638,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2981,"byte_start":2694,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3597,"byte_start":2981,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3693,"byte_start":3597,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3851,"byte_start":3693,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4221,"byte_start":3851,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4352,"byte_start":4221,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4759,"byte_start":4352,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5169,"byte_start":4759,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5454,"byte_start":5169,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5693,"byte_start":5454,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6018,"byte_start":5693,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6511,"byte_start":6018,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6738,"byte_start":6511,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7691,"byte_start":6738,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8027,"byte_start":7691,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8708,"byte_start":8027,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8999,"byte_start":8708,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9222,"byte_start":8999,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9582,"byte_start":9222,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9941,"byte_start":9582,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10288,"byte_start":9941,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10498,"byte_start":10288,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10687,"byte_start":10498,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10873,"byte_start":10687,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11364,"byte_start":10873,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11595,"byte_start":11364,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11779,"byte_start":11595,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12091,"byte_start":11779,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12434,"byte_start":12091,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12734,"byte_start":12434,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12976,"byte_start":12734,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13351,"byte_start":12976,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13497,"byte_start":13351,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13578,"byte_start":13497,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13659,"byte_start":13578,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13745,"byte_start":13659,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13831,"byte_start":13745,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13980,"byte_start":13831,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14130,"byte_start":13980,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14261,"byte_start":14130,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14392,"byte_start":14261,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14817,"byte_start":14392,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15138,"byte_start":14817,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15520,"byte_start":15138,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15786,"byte_start":15520,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16081,"byte_start":15786,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16423,"byte_start":16081,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16759,"byte_start":16423,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17115,"byte_start":16759,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17471,"byte_start":17115,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18010,"byte_start":17471,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18592,"byte_start":18010,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19102,"byte_start":18592,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19556,"byte_start":19102,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22402,"byte_start":19556,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26270,"byte_start":22402,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27358,"byte_start":26270,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27599,"byte_start":27358,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28077,"byte_start":27599,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":58298,"byte_start":28077,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":58756,"byte_start":58298,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":60041,"byte_start":58756,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":60272,"byte_start":60041,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":60478,"byte_start":60272,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":60670,"byte_start":60478,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":62519,"byte_start":60670,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":62798,"byte_start":62519,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":63052,"byte_start":62798,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":63289,"byte_start":63052,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":63618,"byte_start":63289,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":63877,"byte_start":63618,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":64275,"byte_start":63877,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":64559,"byte_start":64275,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":64874,"byte_start":64559,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":65072,"byte_start":64874,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":65422,"byte_start":65072,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":65850,"byte_start":65422,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66213,"byte_start":65850,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66358,"byte_start":66213,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66602,"byte_start":66358,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66953,"byte_start":66602,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":67084,"byte_start":66953,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":67333,"byte_start":67084,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":67633,"byte_start":67333,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":67922,"byte_start":67633,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68177,"byte_start":67922,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68459,"byte_start":68177,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68657,"byte_start":68459,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68976,"byte_start":68657,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69190,"byte_start":68976,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69331,"byte_start":69190,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69566,"byte_start":69331,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69947,"byte_start":69566,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":70207,"byte_start":69947,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":70426,"byte_start":70207,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":70518,"byte_start":70426,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71953,"byte_start":70518,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":72649,"byte_start":71953,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":73040,"byte_start":72649,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":73320,"byte_start":73040,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":73738,"byte_start":73320,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":74019,"byte_start":73738,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":74661,"byte_start":74019,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":75089,"byte_start":74661,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":75854,"byte_start":75089,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":76281,"byte_start":75854,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":76626,"byte_start":76281,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":77071,"byte_start":76626,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":77645,"byte_start":77071,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":78103,"byte_start":77645,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":78477,"byte_start":78103,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":79004,"byte_start":78477,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":79268,"byte_start":79004,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":79572,"byte_start":79268,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":79695,"byte_start":79572,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":79886,"byte_start":79695,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":80096,"byte_start":79886,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":80242,"byte_start":80096,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":80404,"byte_start":80242,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":80796,"byte_start":80404,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":81205,"byte_start":80796,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":81620,"byte_start":81205,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":82064,"byte_start":81620,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":82376,"byte_start":82064,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":82718,"byte_start":82376,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":83046,"byte_start":82718,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":83571,"byte_start":83046,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":83692,"byte_start":83571,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":83876,"byte_start":83692,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":84139,"byte_start":83876,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":84272,"byte_start":84139,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":84404,"byte_start":84272,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":84539,"byte_start":84404,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":84622,"byte_start":84539,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":84704,"byte_start":84622,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":84850,"byte_start":84704,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":84874,"byte_start":84850,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Gnaf","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":20,"byte_start":16,"class":"word","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":21,"byte_start":20,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":34,"byte_start":22,"class":"control","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":35,"byte_start":34,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":42,"byte_start":35,"class":"word","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":43,"byte_start":42,"class":"ascii-symbol","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":46,"byte_start":43,"class":"word","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":46,"class":"ascii-symbol","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":50,"byte_start":47,"class":"word","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":50,"class":"ascii-symbol","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"numeral","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":57,"byte_start":56,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":71,"byte_start":58,"class":"control","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":72,"byte_start":71,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":84,"byte_start":72,"class":"word","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":85,"byte_start":84,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":99,"byte_start":86,"class":"control","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":100,"byte_start":99,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":115,"byte_start":100,"class":"word","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":116,"byte_start":115,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":123,"byte_start":117,"class":"control","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":124,"byte_start":123,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":138,"byte_start":124,"class":"word","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":147,"byte_start":139,"class":"word","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":148,"byte_start":147,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":155,"byte_start":149,"class":"control","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":156,"byte_start":155,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":170,"byte_start":156,"class":"word","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":171,"byte_start":170,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":100812,"byte_start":172,"class":"word","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":100816,"byte_start":100812,"class":"control","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":100817,"byte_start":100816,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":100831,"byte_start":100817,"class":"word","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":100832,"byte_start":100831,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":100837,"byte_start":100833,"class":"control","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":100838,"byte_start":100837,"class":"delimiter","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":100845,"byte_start":100838,"class":"word","path":"src/Gnaf.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":100846,"byte_start":100845,"class":"delimiter","path":"src/Gnaf.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/compiler/expected/build/coverage/LexLeanTarget/GradeOracle.coverage.json b/compiler/expected/build/coverage/LexLeanTarget/GradeOracle.coverage.json index 43dcb9122..d2f0b3359 100644 --- a/compiler/expected/build/coverage/LexLeanTarget/GradeOracle.coverage.json +++ b/compiler/expected/build/coverage/LexLeanTarget/GradeOracle.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":496,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":937,"byte_start":496,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1269,"byte_start":937,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2003,"byte_start":1269,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2492,"byte_start":2003,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2966,"byte_start":2492,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3537,"byte_start":2966,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3999,"byte_start":3537,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4451,"byte_start":3999,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4874,"byte_start":4451,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26676,"byte_start":4874,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26691,"byte_start":26676,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":34291,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34467,"byte_start":34291,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34659,"byte_start":34467,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35210,"byte_start":34659,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35388,"byte_start":35210,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35744,"byte_start":35388,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36100,"byte_start":35744,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36455,"byte_start":36100,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37162,"byte_start":36455,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":38068,"byte_start":37162,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":38746,"byte_start":38068,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68169,"byte_start":38746,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68200,"byte_start":68169,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"GradeOracle","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":27,"byte_start":16,"class":"word","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":28,"byte_start":27,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":41,"byte_start":29,"class":"control","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":42,"byte_start":41,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":49,"byte_start":42,"class":"word","path":"src/GradeOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":50,"byte_start":49,"class":"ascii-symbol","path":"src/GradeOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":50,"class":"word","path":"src/GradeOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"ascii-symbol","path":"src/GradeOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":54,"class":"word","path":"src/GradeOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"ascii-symbol","path":"src/GradeOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":59,"byte_start":58,"class":"numeral","path":"src/GradeOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":60,"byte_start":59,"class":"ascii-symbol","path":"src/GradeOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":61,"byte_start":60,"class":"numeral","path":"src/GradeOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":62,"byte_start":61,"class":"ascii-symbol","path":"src/GradeOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":63,"byte_start":62,"class":"numeral","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":64,"byte_start":63,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":78,"byte_start":65,"class":"control","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":79,"byte_start":78,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":94,"byte_start":79,"class":"word","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":95,"byte_start":94,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":102,"byte_start":96,"class":"control","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":103,"byte_start":102,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":117,"byte_start":103,"class":"word","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":126,"byte_start":118,"class":"word","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":127,"byte_start":126,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":134,"byte_start":128,"class":"control","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":135,"byte_start":134,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":149,"byte_start":135,"class":"word","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":150,"byte_start":149,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":4995,"byte_start":151,"class":"word","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":4999,"byte_start":4995,"class":"control","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":5000,"byte_start":4999,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":5014,"byte_start":5000,"class":"word","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":5015,"byte_start":5014,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":5020,"byte_start":5016,"class":"control","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":5021,"byte_start":5020,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":5028,"byte_start":5021,"class":"word","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":5029,"byte_start":5028,"class":"delimiter","path":"src/GradeOracle.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":496,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":937,"byte_start":496,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1269,"byte_start":937,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2003,"byte_start":1269,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2492,"byte_start":2003,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2966,"byte_start":2492,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3537,"byte_start":2966,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3999,"byte_start":3537,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4451,"byte_start":3999,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4874,"byte_start":4451,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26676,"byte_start":4874,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26691,"byte_start":26676,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":370,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":546,"byte_start":370,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":738,"byte_start":546,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1289,"byte_start":738,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1467,"byte_start":1289,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1823,"byte_start":1467,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2179,"byte_start":1823,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2534,"byte_start":2179,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3241,"byte_start":2534,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4147,"byte_start":3241,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4825,"byte_start":4147,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34248,"byte_start":4825,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34279,"byte_start":34248,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"GradeOracle","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":27,"byte_start":16,"class":"word","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":28,"byte_start":27,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":41,"byte_start":29,"class":"control","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":42,"byte_start":41,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":49,"byte_start":42,"class":"word","path":"src/GradeOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":50,"byte_start":49,"class":"ascii-symbol","path":"src/GradeOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":50,"class":"word","path":"src/GradeOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"ascii-symbol","path":"src/GradeOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":54,"class":"word","path":"src/GradeOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"ascii-symbol","path":"src/GradeOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":59,"byte_start":58,"class":"numeral","path":"src/GradeOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":60,"byte_start":59,"class":"ascii-symbol","path":"src/GradeOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":61,"byte_start":60,"class":"numeral","path":"src/GradeOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":62,"byte_start":61,"class":"ascii-symbol","path":"src/GradeOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":63,"byte_start":62,"class":"numeral","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":64,"byte_start":63,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":78,"byte_start":65,"class":"control","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":79,"byte_start":78,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":94,"byte_start":79,"class":"word","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":95,"byte_start":94,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":102,"byte_start":96,"class":"control","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":103,"byte_start":102,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":117,"byte_start":103,"class":"word","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":126,"byte_start":118,"class":"word","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":127,"byte_start":126,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":134,"byte_start":128,"class":"control","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":135,"byte_start":134,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":149,"byte_start":135,"class":"word","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":150,"byte_start":149,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":4995,"byte_start":151,"class":"word","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":4999,"byte_start":4995,"class":"control","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":5000,"byte_start":4999,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":5014,"byte_start":5000,"class":"word","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":5015,"byte_start":5014,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":5020,"byte_start":5016,"class":"control","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":5021,"byte_start":5020,"class":"delimiter","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":5028,"byte_start":5021,"class":"word","path":"src/GradeOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":5029,"byte_start":5028,"class":"delimiter","path":"src/GradeOracle.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/compiler/expected/build/coverage/LexLeanTarget/PlannerOracle.coverage.json b/compiler/expected/build/coverage/LexLeanTarget/PlannerOracle.coverage.json index 3f6b0ba0d..4e965e525 100644 --- a/compiler/expected/build/coverage/LexLeanTarget/PlannerOracle.coverage.json +++ b/compiler/expected/build/coverage/LexLeanTarget/PlannerOracle.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":450,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":740,"byte_start":450,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1018,"byte_start":740,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1647,"byte_start":1018,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1989,"byte_start":1647,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3308,"byte_start":1989,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3651,"byte_start":3308,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4981,"byte_start":3651,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5415,"byte_start":4981,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7272,"byte_start":5415,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7585,"byte_start":7272,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7974,"byte_start":7585,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8279,"byte_start":7974,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8992,"byte_start":8279,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9254,"byte_start":8992,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27419,"byte_start":9254,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27674,"byte_start":27419,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28008,"byte_start":27674,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28292,"byte_start":28008,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28953,"byte_start":28292,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29207,"byte_start":28953,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29540,"byte_start":29207,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29821,"byte_start":29540,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30480,"byte_start":29821,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30826,"byte_start":30480,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31150,"byte_start":30826,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31418,"byte_start":31150,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31775,"byte_start":31418,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32131,"byte_start":31775,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32464,"byte_start":32131,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":51452,"byte_start":32464,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71336,"byte_start":51452,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":90352,"byte_start":71336,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":90367,"byte_start":90352,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":34249,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34380,"byte_start":34249,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34484,"byte_start":34380,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34928,"byte_start":34484,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35111,"byte_start":34928,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35570,"byte_start":35111,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36436,"byte_start":35570,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36896,"byte_start":36436,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37772,"byte_start":36896,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":38321,"byte_start":37772,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39440,"byte_start":38321,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39567,"byte_start":39440,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39707,"byte_start":39567,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40179,"byte_start":39707,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40372,"byte_start":40179,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40752,"byte_start":40372,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71570,"byte_start":40752,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71655,"byte_start":71570,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71743,"byte_start":71655,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":72190,"byte_start":71743,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":72375,"byte_start":72190,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":72459,"byte_start":72375,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":72546,"byte_start":72459,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":72988,"byte_start":72546,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":73172,"byte_start":72988,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":73661,"byte_start":73172,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":73799,"byte_start":73661,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":74191,"byte_start":73799,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":74679,"byte_start":74191,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":75184,"byte_start":74679,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":75653,"byte_start":75184,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":107148,"byte_start":75653,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":139738,"byte_start":107148,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":171482,"byte_start":139738,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":171515,"byte_start":171482,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"PlannerOracle","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/PlannerOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":29,"byte_start":16,"class":"word","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":30,"byte_start":29,"class":"delimiter","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":43,"byte_start":31,"class":"control","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":44,"byte_start":43,"class":"delimiter","path":"src/PlannerOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":44,"class":"word","path":"src/PlannerOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"ascii-symbol","path":"src/PlannerOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":52,"class":"word","path":"src/PlannerOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"ascii-symbol","path":"src/PlannerOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":59,"byte_start":56,"class":"word","path":"src/PlannerOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":60,"byte_start":59,"class":"ascii-symbol","path":"src/PlannerOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":61,"byte_start":60,"class":"numeral","path":"src/PlannerOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":62,"byte_start":61,"class":"ascii-symbol","path":"src/PlannerOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":63,"byte_start":62,"class":"numeral","path":"src/PlannerOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":64,"byte_start":63,"class":"ascii-symbol","path":"src/PlannerOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":65,"byte_start":64,"class":"numeral","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":66,"byte_start":65,"class":"delimiter","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":73,"byte_start":67,"class":"control","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":74,"byte_start":73,"class":"delimiter","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":88,"byte_start":74,"class":"word","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":97,"byte_start":89,"class":"word","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":98,"byte_start":97,"class":"delimiter","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":105,"byte_start":99,"class":"control","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":106,"byte_start":105,"class":"delimiter","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":120,"byte_start":106,"class":"word","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":121,"byte_start":120,"class":"delimiter","path":"src/PlannerOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":8650,"byte_start":122,"class":"word","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":8654,"byte_start":8650,"class":"control","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":8655,"byte_start":8654,"class":"delimiter","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":8669,"byte_start":8655,"class":"word","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":8670,"byte_start":8669,"class":"delimiter","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":8675,"byte_start":8671,"class":"control","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":8676,"byte_start":8675,"class":"delimiter","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":8683,"byte_start":8676,"class":"word","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":8684,"byte_start":8683,"class":"delimiter","path":"src/PlannerOracle.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":450,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":740,"byte_start":450,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1018,"byte_start":740,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1647,"byte_start":1018,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1989,"byte_start":1647,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3308,"byte_start":1989,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3651,"byte_start":3308,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4981,"byte_start":3651,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5415,"byte_start":4981,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7272,"byte_start":5415,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7585,"byte_start":7272,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7974,"byte_start":7585,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8279,"byte_start":7974,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8992,"byte_start":8279,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9254,"byte_start":8992,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27419,"byte_start":9254,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27674,"byte_start":27419,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28008,"byte_start":27674,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28292,"byte_start":28008,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28953,"byte_start":28292,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29207,"byte_start":28953,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29540,"byte_start":29207,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29821,"byte_start":29540,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30480,"byte_start":29821,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30826,"byte_start":30480,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31150,"byte_start":30826,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31418,"byte_start":31150,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31775,"byte_start":31418,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32131,"byte_start":31775,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32464,"byte_start":32131,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":51452,"byte_start":32464,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71336,"byte_start":51452,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":90352,"byte_start":71336,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":90367,"byte_start":90352,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":328,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":459,"byte_start":328,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":563,"byte_start":459,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1007,"byte_start":563,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1190,"byte_start":1007,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1649,"byte_start":1190,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2515,"byte_start":1649,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2975,"byte_start":2515,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3851,"byte_start":2975,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4400,"byte_start":3851,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5519,"byte_start":4400,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5646,"byte_start":5519,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5786,"byte_start":5646,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6258,"byte_start":5786,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6451,"byte_start":6258,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6831,"byte_start":6451,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37649,"byte_start":6831,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37734,"byte_start":37649,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37822,"byte_start":37734,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":38269,"byte_start":37822,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":38454,"byte_start":38269,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":38538,"byte_start":38454,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":38625,"byte_start":38538,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39067,"byte_start":38625,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39251,"byte_start":39067,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39740,"byte_start":39251,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39878,"byte_start":39740,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40270,"byte_start":39878,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40758,"byte_start":40270,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41263,"byte_start":40758,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41732,"byte_start":41263,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":73227,"byte_start":41732,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":105817,"byte_start":73227,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":137561,"byte_start":105817,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":137594,"byte_start":137561,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"PlannerOracle","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/PlannerOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":29,"byte_start":16,"class":"word","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":30,"byte_start":29,"class":"delimiter","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":43,"byte_start":31,"class":"control","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":44,"byte_start":43,"class":"delimiter","path":"src/PlannerOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":44,"class":"word","path":"src/PlannerOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"ascii-symbol","path":"src/PlannerOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":52,"class":"word","path":"src/PlannerOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"ascii-symbol","path":"src/PlannerOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":59,"byte_start":56,"class":"word","path":"src/PlannerOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":60,"byte_start":59,"class":"ascii-symbol","path":"src/PlannerOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":61,"byte_start":60,"class":"numeral","path":"src/PlannerOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":62,"byte_start":61,"class":"ascii-symbol","path":"src/PlannerOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":63,"byte_start":62,"class":"numeral","path":"src/PlannerOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":64,"byte_start":63,"class":"ascii-symbol","path":"src/PlannerOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":65,"byte_start":64,"class":"numeral","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":66,"byte_start":65,"class":"delimiter","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":73,"byte_start":67,"class":"control","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":74,"byte_start":73,"class":"delimiter","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":88,"byte_start":74,"class":"word","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":97,"byte_start":89,"class":"word","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":98,"byte_start":97,"class":"delimiter","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":105,"byte_start":99,"class":"control","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":106,"byte_start":105,"class":"delimiter","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":120,"byte_start":106,"class":"word","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":121,"byte_start":120,"class":"delimiter","path":"src/PlannerOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":8650,"byte_start":122,"class":"word","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":8654,"byte_start":8650,"class":"control","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":8655,"byte_start":8654,"class":"delimiter","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":8669,"byte_start":8655,"class":"word","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":8670,"byte_start":8669,"class":"delimiter","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":8675,"byte_start":8671,"class":"control","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":8676,"byte_start":8675,"class":"delimiter","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":8683,"byte_start":8676,"class":"word","path":"src/PlannerOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":8684,"byte_start":8683,"class":"delimiter","path":"src/PlannerOracle.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/compiler/expected/build/coverage/LexLeanTarget/ReasoningOracle.coverage.json b/compiler/expected/build/coverage/LexLeanTarget/ReasoningOracle.coverage.json index 40216ed68..5c730dc81 100644 --- a/compiler/expected/build/coverage/LexLeanTarget/ReasoningOracle.coverage.json +++ b/compiler/expected/build/coverage/LexLeanTarget/ReasoningOracle.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":536,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1076,"byte_start":536,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1411,"byte_start":1076,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1746,"byte_start":1411,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2086,"byte_start":1746,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2421,"byte_start":2086,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2755,"byte_start":2421,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3014,"byte_start":2755,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3274,"byte_start":3014,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3539,"byte_start":3274,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3799,"byte_start":3539,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4058,"byte_start":3799,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4482,"byte_start":4058,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6595,"byte_start":4482,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7125,"byte_start":6595,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7787,"byte_start":7125,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8107,"byte_start":7787,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8840,"byte_start":8107,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9389,"byte_start":8840,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9953,"byte_start":9389,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12552,"byte_start":9953,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13110,"byte_start":12552,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13683,"byte_start":13110,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16390,"byte_start":13683,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16945,"byte_start":16390,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17515,"byte_start":16945,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20186,"byte_start":17515,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20744,"byte_start":20186,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21317,"byte_start":20744,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24036,"byte_start":21317,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24647,"byte_start":24036,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25273,"byte_start":24647,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28108,"byte_start":25273,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28707,"byte_start":28108,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29321,"byte_start":28707,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32132,"byte_start":29321,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32718,"byte_start":32132,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33319,"byte_start":32718,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36066,"byte_start":33319,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36797,"byte_start":36066,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37543,"byte_start":36797,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40906,"byte_start":37543,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41319,"byte_start":40906,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41788,"byte_start":41319,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42109,"byte_start":41788,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42433,"byte_start":42109,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43603,"byte_start":42433,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43859,"byte_start":43603,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":44194,"byte_start":43859,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":44476,"byte_start":44194,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":45162,"byte_start":44476,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":45578,"byte_start":45162,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":45977,"byte_start":45578,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":62729,"byte_start":45977,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":78144,"byte_start":62729,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":78159,"byte_start":78144,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":34251,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34398,"byte_start":34251,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34575,"byte_start":34398,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34663,"byte_start":34575,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34751,"byte_start":34663,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34844,"byte_start":34751,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34932,"byte_start":34844,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35019,"byte_start":34932,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35107,"byte_start":35019,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35196,"byte_start":35107,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35290,"byte_start":35196,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35379,"byte_start":35290,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35467,"byte_start":35379,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35675,"byte_start":35467,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37152,"byte_start":35675,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37406,"byte_start":37152,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37886,"byte_start":37406,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":38411,"byte_start":37886,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":38622,"byte_start":38411,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39420,"byte_start":38622,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40191,"byte_start":39420,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42068,"byte_start":40191,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42875,"byte_start":42068,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43655,"byte_start":42875,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":45625,"byte_start":43655,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":46429,"byte_start":45625,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":47206,"byte_start":46429,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":49145,"byte_start":47206,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":49952,"byte_start":49145,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":50732,"byte_start":49952,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":52716,"byte_start":50732,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":53576,"byte_start":52716,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":54409,"byte_start":53576,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":56304,"byte_start":54409,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":57150,"byte_start":56304,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":57969,"byte_start":57150,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":59878,"byte_start":57969,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":60711,"byte_start":59878,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":61517,"byte_start":60711,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":63429,"byte_start":61517,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":64403,"byte_start":63429,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":65350,"byte_start":64403,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":67415,"byte_start":65350,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":67597,"byte_start":67415,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":67811,"byte_start":67597,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68395,"byte_start":67811,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68982,"byte_start":68395,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69426,"byte_start":68982,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69512,"byte_start":69426,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69601,"byte_start":69512,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":70053,"byte_start":69601,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":70258,"byte_start":70053,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":70796,"byte_start":70258,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71332,"byte_start":70796,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":100425,"byte_start":71332,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":127176,"byte_start":100425,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":127211,"byte_start":127176,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"ReasoningOracle","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/ReasoningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":31,"byte_start":16,"class":"word","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":32,"byte_start":31,"class":"delimiter","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":45,"byte_start":33,"class":"control","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":46,"byte_start":45,"class":"delimiter","path":"src/ReasoningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":46,"class":"word","path":"src/ReasoningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"ascii-symbol","path":"src/ReasoningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":54,"class":"word","path":"src/ReasoningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"ascii-symbol","path":"src/ReasoningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":61,"byte_start":58,"class":"word","path":"src/ReasoningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":62,"byte_start":61,"class":"ascii-symbol","path":"src/ReasoningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":63,"byte_start":62,"class":"numeral","path":"src/ReasoningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":64,"byte_start":63,"class":"ascii-symbol","path":"src/ReasoningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":65,"byte_start":64,"class":"numeral","path":"src/ReasoningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":66,"byte_start":65,"class":"ascii-symbol","path":"src/ReasoningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":67,"byte_start":66,"class":"numeral","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":68,"byte_start":67,"class":"delimiter","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":75,"byte_start":69,"class":"control","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":76,"byte_start":75,"class":"delimiter","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":90,"byte_start":76,"class":"word","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":99,"byte_start":91,"class":"word","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":100,"byte_start":99,"class":"delimiter","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":107,"byte_start":101,"class":"control","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":108,"byte_start":107,"class":"delimiter","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":122,"byte_start":108,"class":"word","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":123,"byte_start":122,"class":"delimiter","path":"src/ReasoningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":27384,"byte_start":124,"class":"word","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":27388,"byte_start":27384,"class":"control","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":27389,"byte_start":27388,"class":"delimiter","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":27403,"byte_start":27389,"class":"word","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":27404,"byte_start":27403,"class":"delimiter","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":27409,"byte_start":27405,"class":"control","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":27410,"byte_start":27409,"class":"delimiter","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":27417,"byte_start":27410,"class":"word","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":27418,"byte_start":27417,"class":"delimiter","path":"src/ReasoningOracle.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":536,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1076,"byte_start":536,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1411,"byte_start":1076,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1746,"byte_start":1411,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2086,"byte_start":1746,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2421,"byte_start":2086,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2755,"byte_start":2421,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3014,"byte_start":2755,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3274,"byte_start":3014,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3539,"byte_start":3274,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3799,"byte_start":3539,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4058,"byte_start":3799,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4482,"byte_start":4058,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6595,"byte_start":4482,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7125,"byte_start":6595,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7787,"byte_start":7125,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8107,"byte_start":7787,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8840,"byte_start":8107,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9389,"byte_start":8840,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9953,"byte_start":9389,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12552,"byte_start":9953,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13110,"byte_start":12552,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13683,"byte_start":13110,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16390,"byte_start":13683,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16945,"byte_start":16390,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17515,"byte_start":16945,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20186,"byte_start":17515,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20744,"byte_start":20186,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21317,"byte_start":20744,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24036,"byte_start":21317,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24647,"byte_start":24036,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25273,"byte_start":24647,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28108,"byte_start":25273,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28707,"byte_start":28108,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29321,"byte_start":28707,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32132,"byte_start":29321,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32718,"byte_start":32132,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33319,"byte_start":32718,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36066,"byte_start":33319,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36797,"byte_start":36066,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37543,"byte_start":36797,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40906,"byte_start":37543,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41319,"byte_start":40906,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41788,"byte_start":41319,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42109,"byte_start":41788,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42433,"byte_start":42109,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43603,"byte_start":42433,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43859,"byte_start":43603,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":44194,"byte_start":43859,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":44476,"byte_start":44194,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":45162,"byte_start":44476,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":45578,"byte_start":45162,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":45977,"byte_start":45578,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":62729,"byte_start":45977,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":78144,"byte_start":62729,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":78159,"byte_start":78144,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":330,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":477,"byte_start":330,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":654,"byte_start":477,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":742,"byte_start":654,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":830,"byte_start":742,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":923,"byte_start":830,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1011,"byte_start":923,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1098,"byte_start":1011,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1186,"byte_start":1098,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1275,"byte_start":1186,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1369,"byte_start":1275,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1458,"byte_start":1369,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1546,"byte_start":1458,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1754,"byte_start":1546,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3231,"byte_start":1754,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3485,"byte_start":3231,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3965,"byte_start":3485,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4490,"byte_start":3965,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4701,"byte_start":4490,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5499,"byte_start":4701,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6270,"byte_start":5499,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8147,"byte_start":6270,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8954,"byte_start":8147,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9734,"byte_start":8954,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11704,"byte_start":9734,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12508,"byte_start":11704,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13285,"byte_start":12508,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15224,"byte_start":13285,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16031,"byte_start":15224,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16811,"byte_start":16031,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18795,"byte_start":16811,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19655,"byte_start":18795,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20488,"byte_start":19655,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22383,"byte_start":20488,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23229,"byte_start":22383,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24048,"byte_start":23229,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25957,"byte_start":24048,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26790,"byte_start":25957,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27596,"byte_start":26790,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29508,"byte_start":27596,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30482,"byte_start":29508,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31429,"byte_start":30482,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33494,"byte_start":31429,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33676,"byte_start":33494,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33890,"byte_start":33676,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34474,"byte_start":33890,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35061,"byte_start":34474,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35505,"byte_start":35061,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35591,"byte_start":35505,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35680,"byte_start":35591,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36132,"byte_start":35680,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36337,"byte_start":36132,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36875,"byte_start":36337,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37411,"byte_start":36875,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66504,"byte_start":37411,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":93255,"byte_start":66504,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":93290,"byte_start":93255,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"ReasoningOracle","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/ReasoningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":31,"byte_start":16,"class":"word","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":32,"byte_start":31,"class":"delimiter","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":45,"byte_start":33,"class":"control","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":46,"byte_start":45,"class":"delimiter","path":"src/ReasoningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":46,"class":"word","path":"src/ReasoningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"ascii-symbol","path":"src/ReasoningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":54,"class":"word","path":"src/ReasoningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"ascii-symbol","path":"src/ReasoningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":61,"byte_start":58,"class":"word","path":"src/ReasoningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":62,"byte_start":61,"class":"ascii-symbol","path":"src/ReasoningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":63,"byte_start":62,"class":"numeral","path":"src/ReasoningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":64,"byte_start":63,"class":"ascii-symbol","path":"src/ReasoningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":65,"byte_start":64,"class":"numeral","path":"src/ReasoningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":66,"byte_start":65,"class":"ascii-symbol","path":"src/ReasoningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":67,"byte_start":66,"class":"numeral","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":68,"byte_start":67,"class":"delimiter","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":75,"byte_start":69,"class":"control","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":76,"byte_start":75,"class":"delimiter","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":90,"byte_start":76,"class":"word","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":99,"byte_start":91,"class":"word","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":100,"byte_start":99,"class":"delimiter","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":107,"byte_start":101,"class":"control","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":108,"byte_start":107,"class":"delimiter","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":122,"byte_start":108,"class":"word","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":123,"byte_start":122,"class":"delimiter","path":"src/ReasoningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":27384,"byte_start":124,"class":"word","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":27388,"byte_start":27384,"class":"control","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":27389,"byte_start":27388,"class":"delimiter","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":27403,"byte_start":27389,"class":"word","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":27404,"byte_start":27403,"class":"delimiter","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":27409,"byte_start":27405,"class":"control","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":27410,"byte_start":27409,"class":"delimiter","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":27417,"byte_start":27410,"class":"word","path":"src/ReasoningOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":27418,"byte_start":27417,"class":"delimiter","path":"src/ReasoningOracle.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/compiler/expected/build/coverage/LexLeanTarget/RustSemantics.coverage.json b/compiler/expected/build/coverage/LexLeanTarget/RustSemantics.coverage.json index a6071e6e5..a5fdd3e70 100644 --- a/compiler/expected/build/coverage/LexLeanTarget/RustSemantics.coverage.json +++ b/compiler/expected/build/coverage/LexLeanTarget/RustSemantics.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":517,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":909,"byte_start":517,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1637,"byte_start":909,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2483,"byte_start":1637,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3045,"byte_start":2483,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6011,"byte_start":3045,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8131,"byte_start":6011,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20493,"byte_start":8131,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21470,"byte_start":20493,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24882,"byte_start":21470,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29547,"byte_start":24882,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32362,"byte_start":29547,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35164,"byte_start":32362,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":38287,"byte_start":35164,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":48669,"byte_start":38287,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":49118,"byte_start":48669,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":52386,"byte_start":49118,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":55206,"byte_start":52386,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":56683,"byte_start":55206,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":58161,"byte_start":56683,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":59640,"byte_start":58161,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":62550,"byte_start":59640,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":63193,"byte_start":62550,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":65057,"byte_start":63193,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66932,"byte_start":65057,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":67250,"byte_start":66932,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":67795,"byte_start":67250,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68689,"byte_start":67795,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69267,"byte_start":68689,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":70111,"byte_start":69267,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71289,"byte_start":70111,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71897,"byte_start":71289,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":72356,"byte_start":71897,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":89648,"byte_start":72356,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":90950,"byte_start":89648,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":92270,"byte_start":90950,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":93297,"byte_start":92270,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":94295,"byte_start":93297,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":94771,"byte_start":94295,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":94786,"byte_start":94771,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":13825,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13951,"byte_start":13825,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14086,"byte_start":13951,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14632,"byte_start":14086,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15291,"byte_start":14632,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15666,"byte_start":15291,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18427,"byte_start":15666,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20350,"byte_start":18427,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32519,"byte_start":20350,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33308,"byte_start":32519,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36495,"byte_start":33308,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40966,"byte_start":36495,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43585,"byte_start":40966,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":46191,"byte_start":43585,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":49118,"byte_start":46191,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":59126,"byte_start":49118,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":59393,"byte_start":59126,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":62477,"byte_start":59393,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":65101,"byte_start":62477,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66372,"byte_start":65101,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":67644,"byte_start":66372,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68917,"byte_start":67644,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71631,"byte_start":68917,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":72090,"byte_start":71631,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":73727,"byte_start":72090,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":75397,"byte_start":73727,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":75533,"byte_start":75397,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":75896,"byte_start":75533,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":76606,"byte_start":75896,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":77028,"byte_start":76606,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":77708,"byte_start":77028,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":78692,"byte_start":77708,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":79118,"byte_start":78692,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":79375,"byte_start":79118,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":96312,"byte_start":79375,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":97416,"byte_start":96312,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":98525,"byte_start":97416,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":99368,"byte_start":98525,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":100158,"byte_start":99368,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":100411,"byte_start":100158,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":100444,"byte_start":100411,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"RustSemantics","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":29,"byte_start":16,"class":"word","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":30,"byte_start":29,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":43,"byte_start":31,"class":"control","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":44,"byte_start":43,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":44,"class":"word","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"ascii-symbol","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":52,"class":"word","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"ascii-symbol","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":59,"byte_start":56,"class":"word","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":60,"byte_start":59,"class":"ascii-symbol","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":61,"byte_start":60,"class":"numeral","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":62,"byte_start":61,"class":"ascii-symbol","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":63,"byte_start":62,"class":"numeral","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":64,"byte_start":63,"class":"ascii-symbol","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":65,"byte_start":64,"class":"numeral","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":66,"byte_start":65,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":80,"byte_start":67,"class":"control","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":81,"byte_start":80,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":93,"byte_start":81,"class":"word","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":94,"byte_start":93,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":108,"byte_start":95,"class":"control","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":109,"byte_start":108,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":124,"byte_start":109,"class":"word","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":125,"byte_start":124,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":139,"byte_start":126,"class":"control","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":140,"byte_start":139,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":150,"byte_start":140,"class":"word","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":151,"byte_start":150,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":158,"byte_start":152,"class":"control","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":159,"byte_start":158,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":173,"byte_start":159,"class":"word","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":182,"byte_start":174,"class":"word","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":183,"byte_start":182,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":190,"byte_start":184,"class":"control","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":191,"byte_start":190,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":205,"byte_start":191,"class":"word","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":206,"byte_start":205,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":103488,"byte_start":207,"class":"word","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":103492,"byte_start":103488,"class":"control","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":103493,"byte_start":103492,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":103507,"byte_start":103493,"class":"word","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":103508,"byte_start":103507,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":103513,"byte_start":103509,"class":"control","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":103514,"byte_start":103513,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":103521,"byte_start":103514,"class":"word","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":103522,"byte_start":103521,"class":"delimiter","path":"src/RustSemantics.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":517,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":909,"byte_start":517,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1637,"byte_start":909,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2483,"byte_start":1637,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3045,"byte_start":2483,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6011,"byte_start":3045,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8131,"byte_start":6011,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20493,"byte_start":8131,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21470,"byte_start":20493,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24882,"byte_start":21470,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29547,"byte_start":24882,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32362,"byte_start":29547,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35164,"byte_start":32362,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":38287,"byte_start":35164,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":48669,"byte_start":38287,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":49118,"byte_start":48669,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":52386,"byte_start":49118,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":55206,"byte_start":52386,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":56683,"byte_start":55206,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":58161,"byte_start":56683,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":59640,"byte_start":58161,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":62550,"byte_start":59640,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":63193,"byte_start":62550,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":65057,"byte_start":63193,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66932,"byte_start":65057,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":67250,"byte_start":66932,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":67795,"byte_start":67250,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68689,"byte_start":67795,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69267,"byte_start":68689,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":70111,"byte_start":69267,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71289,"byte_start":70111,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71897,"byte_start":71289,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":72356,"byte_start":71897,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":89648,"byte_start":72356,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":90950,"byte_start":89648,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":92270,"byte_start":90950,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":93297,"byte_start":92270,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":94295,"byte_start":93297,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":94771,"byte_start":94295,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":94786,"byte_start":94771,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":372,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":498,"byte_start":372,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":633,"byte_start":498,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1179,"byte_start":633,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1838,"byte_start":1179,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2213,"byte_start":1838,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4974,"byte_start":2213,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6897,"byte_start":4974,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19066,"byte_start":6897,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19855,"byte_start":19066,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23042,"byte_start":19855,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27513,"byte_start":23042,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30132,"byte_start":27513,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32738,"byte_start":30132,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35665,"byte_start":32738,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":45673,"byte_start":35665,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":45940,"byte_start":45673,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":49024,"byte_start":45940,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":51648,"byte_start":49024,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":52919,"byte_start":51648,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":54191,"byte_start":52919,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":55464,"byte_start":54191,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":58178,"byte_start":55464,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":58637,"byte_start":58178,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":60274,"byte_start":58637,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":61944,"byte_start":60274,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":62080,"byte_start":61944,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":62443,"byte_start":62080,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":63153,"byte_start":62443,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":63575,"byte_start":63153,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":64255,"byte_start":63575,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":65239,"byte_start":64255,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":65665,"byte_start":65239,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":65922,"byte_start":65665,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":82859,"byte_start":65922,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":83963,"byte_start":82859,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":85072,"byte_start":83963,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":85915,"byte_start":85072,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":86705,"byte_start":85915,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":86958,"byte_start":86705,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":86991,"byte_start":86958,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"RustSemantics","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":29,"byte_start":16,"class":"word","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":30,"byte_start":29,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":43,"byte_start":31,"class":"control","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":44,"byte_start":43,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":44,"class":"word","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"ascii-symbol","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":52,"class":"word","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"ascii-symbol","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":59,"byte_start":56,"class":"word","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":60,"byte_start":59,"class":"ascii-symbol","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":61,"byte_start":60,"class":"numeral","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":62,"byte_start":61,"class":"ascii-symbol","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":63,"byte_start":62,"class":"numeral","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":64,"byte_start":63,"class":"ascii-symbol","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":65,"byte_start":64,"class":"numeral","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":66,"byte_start":65,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":80,"byte_start":67,"class":"control","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":81,"byte_start":80,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":93,"byte_start":81,"class":"word","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":94,"byte_start":93,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":108,"byte_start":95,"class":"control","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":109,"byte_start":108,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":124,"byte_start":109,"class":"word","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":125,"byte_start":124,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":139,"byte_start":126,"class":"control","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":140,"byte_start":139,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":150,"byte_start":140,"class":"word","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":151,"byte_start":150,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":158,"byte_start":152,"class":"control","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":159,"byte_start":158,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":173,"byte_start":159,"class":"word","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":182,"byte_start":174,"class":"word","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":183,"byte_start":182,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":190,"byte_start":184,"class":"control","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":191,"byte_start":190,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":205,"byte_start":191,"class":"word","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":206,"byte_start":205,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":103488,"byte_start":207,"class":"word","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":103492,"byte_start":103488,"class":"control","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":103493,"byte_start":103492,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":103507,"byte_start":103493,"class":"word","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":103508,"byte_start":103507,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":103513,"byte_start":103509,"class":"control","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":103514,"byte_start":103513,"class":"delimiter","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":103521,"byte_start":103514,"class":"word","path":"src/RustSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":103522,"byte_start":103521,"class":"delimiter","path":"src/RustSemantics.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/compiler/expected/build/coverage/LexLeanTarget/ScreeningOracle.coverage.json b/compiler/expected/build/coverage/LexLeanTarget/ScreeningOracle.coverage.json index da6fb1dc0..77f09c8ea 100644 --- a/compiler/expected/build/coverage/LexLeanTarget/ScreeningOracle.coverage.json +++ b/compiler/expected/build/coverage/LexLeanTarget/ScreeningOracle.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":430,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":805,"byte_start":430,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1090,"byte_start":805,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1752,"byte_start":1090,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2542,"byte_start":1752,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2959,"byte_start":2542,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3312,"byte_start":2959,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3527,"byte_start":3312,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3850,"byte_start":3527,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5867,"byte_start":3850,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6121,"byte_start":5867,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6454,"byte_start":6121,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6717,"byte_start":6454,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7348,"byte_start":6717,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13192,"byte_start":7348,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27179,"byte_start":13192,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27194,"byte_start":27179,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":39352,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39478,"byte_start":39352,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39607,"byte_start":39478,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40053,"byte_start":39607,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40255,"byte_start":40053,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40520,"byte_start":40255,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40639,"byte_start":40520,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40791,"byte_start":40639,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40792,"byte_start":40791,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41265,"byte_start":40792,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42710,"byte_start":41265,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42793,"byte_start":42710,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42879,"byte_start":42793,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43301,"byte_start":42879,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43488,"byte_start":43301,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":52530,"byte_start":43488,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":76985,"byte_start":52530,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":77020,"byte_start":76985,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"ScreeningOracle","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/ScreeningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":31,"byte_start":16,"class":"word","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":32,"byte_start":31,"class":"delimiter","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":45,"byte_start":33,"class":"control","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":46,"byte_start":45,"class":"delimiter","path":"src/ScreeningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":46,"class":"word","path":"src/ScreeningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"ascii-symbol","path":"src/ScreeningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":54,"class":"word","path":"src/ScreeningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"ascii-symbol","path":"src/ScreeningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":61,"byte_start":58,"class":"word","path":"src/ScreeningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":62,"byte_start":61,"class":"ascii-symbol","path":"src/ScreeningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":63,"byte_start":62,"class":"numeral","path":"src/ScreeningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":64,"byte_start":63,"class":"ascii-symbol","path":"src/ScreeningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":65,"byte_start":64,"class":"numeral","path":"src/ScreeningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":66,"byte_start":65,"class":"ascii-symbol","path":"src/ScreeningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":67,"byte_start":66,"class":"numeral","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":68,"byte_start":67,"class":"delimiter","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":75,"byte_start":69,"class":"control","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":76,"byte_start":75,"class":"delimiter","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":90,"byte_start":76,"class":"word","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":99,"byte_start":91,"class":"word","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":100,"byte_start":99,"class":"delimiter","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":107,"byte_start":101,"class":"control","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":108,"byte_start":107,"class":"delimiter","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":122,"byte_start":108,"class":"word","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":123,"byte_start":122,"class":"delimiter","path":"src/ScreeningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":3585,"byte_start":124,"class":"word","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":3589,"byte_start":3585,"class":"control","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":3590,"byte_start":3589,"class":"delimiter","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":3604,"byte_start":3590,"class":"word","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":3605,"byte_start":3604,"class":"delimiter","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":3610,"byte_start":3606,"class":"control","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":3611,"byte_start":3610,"class":"delimiter","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":3618,"byte_start":3611,"class":"word","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":3619,"byte_start":3618,"class":"delimiter","path":"src/ScreeningOracle.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":430,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":805,"byte_start":430,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1090,"byte_start":805,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1752,"byte_start":1090,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2542,"byte_start":1752,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2959,"byte_start":2542,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3312,"byte_start":2959,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3527,"byte_start":3312,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3850,"byte_start":3527,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5867,"byte_start":3850,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6121,"byte_start":5867,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6454,"byte_start":6121,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6717,"byte_start":6454,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7348,"byte_start":6717,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13192,"byte_start":7348,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27179,"byte_start":13192,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27194,"byte_start":27179,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":366,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":492,"byte_start":366,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":621,"byte_start":492,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1067,"byte_start":621,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1269,"byte_start":1067,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1534,"byte_start":1269,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1653,"byte_start":1534,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1805,"byte_start":1653,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1806,"byte_start":1805,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2279,"byte_start":1806,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3724,"byte_start":2279,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3807,"byte_start":3724,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3893,"byte_start":3807,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4315,"byte_start":3893,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4502,"byte_start":4315,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13544,"byte_start":4502,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37999,"byte_start":13544,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":38034,"byte_start":37999,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"ScreeningOracle","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/ScreeningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":31,"byte_start":16,"class":"word","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":32,"byte_start":31,"class":"delimiter","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":45,"byte_start":33,"class":"control","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":46,"byte_start":45,"class":"delimiter","path":"src/ScreeningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":46,"class":"word","path":"src/ScreeningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"ascii-symbol","path":"src/ScreeningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":54,"class":"word","path":"src/ScreeningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"ascii-symbol","path":"src/ScreeningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":61,"byte_start":58,"class":"word","path":"src/ScreeningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":62,"byte_start":61,"class":"ascii-symbol","path":"src/ScreeningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":63,"byte_start":62,"class":"numeral","path":"src/ScreeningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":64,"byte_start":63,"class":"ascii-symbol","path":"src/ScreeningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":65,"byte_start":64,"class":"numeral","path":"src/ScreeningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":66,"byte_start":65,"class":"ascii-symbol","path":"src/ScreeningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":67,"byte_start":66,"class":"numeral","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":68,"byte_start":67,"class":"delimiter","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":75,"byte_start":69,"class":"control","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":76,"byte_start":75,"class":"delimiter","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":90,"byte_start":76,"class":"word","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":99,"byte_start":91,"class":"word","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":100,"byte_start":99,"class":"delimiter","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":107,"byte_start":101,"class":"control","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":108,"byte_start":107,"class":"delimiter","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":122,"byte_start":108,"class":"word","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":123,"byte_start":122,"class":"delimiter","path":"src/ScreeningOracle.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":3585,"byte_start":124,"class":"word","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":3589,"byte_start":3585,"class":"control","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":3590,"byte_start":3589,"class":"delimiter","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":3604,"byte_start":3590,"class":"word","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":3605,"byte_start":3604,"class":"delimiter","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":3610,"byte_start":3606,"class":"control","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":3611,"byte_start":3610,"class":"delimiter","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":3618,"byte_start":3611,"class":"word","path":"src/ScreeningOracle.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":3619,"byte_start":3618,"class":"delimiter","path":"src/ScreeningOracle.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/compiler/expected/build/coverage/LexLeanTarget/TargetFixtures.coverage.json b/compiler/expected/build/coverage/LexLeanTarget/TargetFixtures.coverage.json index edb00df0f..06bffba4d 100644 --- a/compiler/expected/build/coverage/LexLeanTarget/TargetFixtures.coverage.json +++ b/compiler/expected/build/coverage/LexLeanTarget/TargetFixtures.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4662,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5047,"byte_start":4662,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5362,"byte_start":5047,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11423,"byte_start":5362,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11860,"byte_start":11423,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12536,"byte_start":11860,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23711,"byte_start":12536,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24243,"byte_start":23711,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25244,"byte_start":24243,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28814,"byte_start":25244,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29290,"byte_start":28814,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29894,"byte_start":29290,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31441,"byte_start":29894,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32185,"byte_start":31441,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32492,"byte_start":32185,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35867,"byte_start":32492,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36248,"byte_start":35867,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42499,"byte_start":36248,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42876,"byte_start":42499,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":46094,"byte_start":42876,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":46473,"byte_start":46094,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":47084,"byte_start":46473,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":54281,"byte_start":47084,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":54664,"byte_start":54281,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":55764,"byte_start":54664,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":58237,"byte_start":55764,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":58765,"byte_start":58237,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":59085,"byte_start":58765,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":62888,"byte_start":59085,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":63376,"byte_start":62888,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":63778,"byte_start":63376,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":65567,"byte_start":63778,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66045,"byte_start":65567,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66361,"byte_start":66045,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69185,"byte_start":66361,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69622,"byte_start":69185,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69942,"byte_start":69622,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":72656,"byte_start":69942,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":73097,"byte_start":72656,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":73420,"byte_start":73097,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":74803,"byte_start":73420,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":75232,"byte_start":74803,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":75642,"byte_start":75232,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":78829,"byte_start":75642,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":79481,"byte_start":78829,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":79972,"byte_start":79481,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":84554,"byte_start":79972,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":84927,"byte_start":84554,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":85873,"byte_start":84927,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":96993,"byte_start":85873,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":97366,"byte_start":96993,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":98305,"byte_start":97366,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":98694,"byte_start":98305,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":99659,"byte_start":98694,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":100056,"byte_start":99659,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":105663,"byte_start":100056,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":106038,"byte_start":105663,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":106741,"byte_start":106038,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":108666,"byte_start":106741,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":109115,"byte_start":108666,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":109451,"byte_start":109115,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":117105,"byte_start":109451,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":117494,"byte_start":117105,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":118581,"byte_start":117494,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":126205,"byte_start":118581,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":126598,"byte_start":126205,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":127598,"byte_start":126598,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":140962,"byte_start":127598,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":141357,"byte_start":140962,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":142958,"byte_start":141357,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":151261,"byte_start":142958,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":151656,"byte_start":151261,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":152667,"byte_start":151656,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":163905,"byte_start":152667,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":164296,"byte_start":163905,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":165596,"byte_start":164296,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":167240,"byte_start":165596,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":167745,"byte_start":167240,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":169389,"byte_start":167745,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":169904,"byte_start":169389,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":171548,"byte_start":169904,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":172081,"byte_start":171548,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":173720,"byte_start":172081,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":174217,"byte_start":173720,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":175861,"byte_start":174217,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":176362,"byte_start":175861,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":178006,"byte_start":176362,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":178512,"byte_start":178006,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":180156,"byte_start":178512,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":180672,"byte_start":180156,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":182311,"byte_start":180672,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":182806,"byte_start":182311,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":205438,"byte_start":182806,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":206001,"byte_start":205438,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":207871,"byte_start":206001,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":230503,"byte_start":207871,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":231076,"byte_start":230503,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":232961,"byte_start":231076,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":255593,"byte_start":232961,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":256184,"byte_start":255593,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":258097,"byte_start":256184,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":280620,"byte_start":258097,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":281173,"byte_start":280620,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":282962,"byte_start":281173,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":303154,"byte_start":282962,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":303714,"byte_start":303154,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":305412,"byte_start":303714,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":325604,"byte_start":305412,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":326169,"byte_start":325604,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":327892,"byte_start":326169,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":348084,"byte_start":327892,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":348659,"byte_start":348084,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":350431,"byte_start":348659,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":370528,"byte_start":350431,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":371080,"byte_start":370528,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":372695,"byte_start":371080,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":390843,"byte_start":372695,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":391230,"byte_start":390843,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":392329,"byte_start":391230,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":419711,"byte_start":392329,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":421121,"byte_start":419711,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":421669,"byte_start":421121,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":422205,"byte_start":421669,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":449593,"byte_start":422205,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":451015,"byte_start":449593,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":451436,"byte_start":451015,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":451983,"byte_start":451436,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":479370,"byte_start":451983,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":480790,"byte_start":479370,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":481256,"byte_start":480790,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":481802,"byte_start":481256,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":486841,"byte_start":481802,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":488253,"byte_start":486841,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":488709,"byte_start":488253,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":489246,"byte_start":488709,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":494291,"byte_start":489246,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":495715,"byte_start":494291,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":496092,"byte_start":495715,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":496642,"byte_start":496092,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":523330,"byte_start":496642,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":524698,"byte_start":523330,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":525290,"byte_start":524698,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":525927,"byte_start":525290,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":552620,"byte_start":525927,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":553777,"byte_start":552620,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":554106,"byte_start":553777,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":554741,"byte_start":554106,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":564291,"byte_start":554741,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":564676,"byte_start":564291,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":565768,"byte_start":564676,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":566755,"byte_start":565768,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":567142,"byte_start":566755,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":567417,"byte_start":567142,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":568275,"byte_start":567417,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":568662,"byte_start":568275,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":568937,"byte_start":568662,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":570058,"byte_start":568937,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":570447,"byte_start":570058,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":570724,"byte_start":570447,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":571712,"byte_start":570724,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":572099,"byte_start":571712,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":572374,"byte_start":572099,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":575115,"byte_start":572374,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":575535,"byte_start":575115,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":575839,"byte_start":575535,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":576219,"byte_start":575839,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":581330,"byte_start":576219,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":581761,"byte_start":581330,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":582161,"byte_start":581761,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":582891,"byte_start":582161,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":588009,"byte_start":582891,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":588453,"byte_start":588009,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":588867,"byte_start":588453,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":589608,"byte_start":588867,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":590610,"byte_start":589608,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":593051,"byte_start":590610,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":595283,"byte_start":593051,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":598645,"byte_start":595283,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":599273,"byte_start":598645,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":599579,"byte_start":599273,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":600104,"byte_start":599579,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":606701,"byte_start":600104,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":607300,"byte_start":606701,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":608455,"byte_start":607300,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":615308,"byte_start":608455,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":615683,"byte_start":615308,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":617785,"byte_start":615683,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":622495,"byte_start":617785,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":623283,"byte_start":622495,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":623597,"byte_start":623283,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":624003,"byte_start":623597,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":627555,"byte_start":624003,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":628289,"byte_start":627555,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":628593,"byte_start":628289,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":629095,"byte_start":628593,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":634882,"byte_start":629095,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":635717,"byte_start":634882,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":636471,"byte_start":635717,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":637002,"byte_start":636471,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":642793,"byte_start":637002,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":643636,"byte_start":642793,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":644398,"byte_start":643636,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":644937,"byte_start":644398,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":650731,"byte_start":644937,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":651580,"byte_start":650731,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":652214,"byte_start":651580,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":652759,"byte_start":652214,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":655106,"byte_start":652759,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":655840,"byte_start":655106,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":656280,"byte_start":655840,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":656716,"byte_start":656280,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":660211,"byte_start":656716,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":660995,"byte_start":660211,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":661346,"byte_start":660995,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":661896,"byte_start":661346,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":665397,"byte_start":661896,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":666193,"byte_start":665397,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":666508,"byte_start":666193,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":667070,"byte_start":666508,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":670830,"byte_start":667070,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":671614,"byte_start":670830,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":672100,"byte_start":671614,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":672625,"byte_start":672100,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":676391,"byte_start":672625,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":677187,"byte_start":676391,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":677819,"byte_start":677187,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":678356,"byte_start":677819,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":680721,"byte_start":678356,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":681459,"byte_start":680721,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":681913,"byte_start":681459,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":682361,"byte_start":681913,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":696635,"byte_start":682361,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":697423,"byte_start":696635,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":698609,"byte_start":697423,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":708673,"byte_start":698609,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":709058,"byte_start":708673,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":710239,"byte_start":709058,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":711211,"byte_start":710239,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":711598,"byte_start":711211,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":711873,"byte_start":711598,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":712844,"byte_start":711873,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":713231,"byte_start":712844,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":713506,"byte_start":713231,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":714734,"byte_start":713506,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":715127,"byte_start":714734,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":715408,"byte_start":715127,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":716295,"byte_start":715408,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":716684,"byte_start":716295,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":716961,"byte_start":716684,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":734935,"byte_start":716961,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":735310,"byte_start":734935,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":736511,"byte_start":735310,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":738745,"byte_start":736511,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":739444,"byte_start":738745,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":739765,"byte_start":739444,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":741856,"byte_start":739765,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":742473,"byte_start":741856,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":742952,"byte_start":742473,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":745886,"byte_start":742952,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":746544,"byte_start":745886,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":746858,"byte_start":746544,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":747237,"byte_start":746858,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":750177,"byte_start":747237,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":750847,"byte_start":750177,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":751174,"byte_start":750847,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":751565,"byte_start":751174,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":756428,"byte_start":751565,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":757274,"byte_start":756428,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":757727,"byte_start":757274,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":758229,"byte_start":757727,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":761357,"byte_start":758229,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":761961,"byte_start":761357,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":762266,"byte_start":761961,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":762730,"byte_start":762266,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":766356,"byte_start":762730,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":766935,"byte_start":766356,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":767396,"byte_start":766935,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":767875,"byte_start":767396,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":771488,"byte_start":767875,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":772128,"byte_start":771488,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":772650,"byte_start":772128,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":773145,"byte_start":772650,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":777263,"byte_start":773145,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":777907,"byte_start":777263,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":778433,"byte_start":777907,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":778937,"byte_start":778433,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":782550,"byte_start":778937,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":783210,"byte_start":782550,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":783752,"byte_start":783210,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":784224,"byte_start":783752,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":788753,"byte_start":784224,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":789639,"byte_start":788753,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":790407,"byte_start":789639,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":790965,"byte_start":790407,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":794617,"byte_start":790965,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":795259,"byte_start":794617,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":795783,"byte_start":795259,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":796283,"byte_start":795783,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":801148,"byte_start":796283,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":801998,"byte_start":801148,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":802409,"byte_start":801998,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":802917,"byte_start":802409,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":806029,"byte_start":802917,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":806683,"byte_start":806029,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":807127,"byte_start":806683,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":807593,"byte_start":807127,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":810711,"byte_start":807593,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":811377,"byte_start":810711,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":811879,"byte_start":811377,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":812357,"byte_start":811879,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":817188,"byte_start":812357,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":818024,"byte_start":817188,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":818605,"byte_start":818024,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":819092,"byte_start":818605,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":827983,"byte_start":819092,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":828366,"byte_start":827983,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":830219,"byte_start":828366,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":830650,"byte_start":830219,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":831225,"byte_start":830650,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":832829,"byte_start":831225,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":833246,"byte_start":832829,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":833546,"byte_start":833246,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":835159,"byte_start":833546,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":835592,"byte_start":835159,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":835864,"byte_start":835592,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":841611,"byte_start":835864,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":842040,"byte_start":841611,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":842629,"byte_start":842040,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":849600,"byte_start":842629,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":850068,"byte_start":849600,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":850493,"byte_start":850068,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":858781,"byte_start":850493,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":859206,"byte_start":858781,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":859756,"byte_start":859206,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":859771,"byte_start":859756,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":21844,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26204,"byte_start":21844,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26402,"byte_start":26204,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26567,"byte_start":26402,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32406,"byte_start":26567,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32656,"byte_start":32406,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33182,"byte_start":32656,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":44135,"byte_start":33182,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":44480,"byte_start":44135,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":45331,"byte_start":44480,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":48739,"byte_start":45331,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":49028,"byte_start":48739,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":49482,"byte_start":49028,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":50865,"byte_start":49482,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":51422,"byte_start":50865,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":51579,"byte_start":51422,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":54796,"byte_start":51579,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":54990,"byte_start":54796,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":61068,"byte_start":54990,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":61258,"byte_start":61068,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":64323,"byte_start":61258,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":64515,"byte_start":64323,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":64974,"byte_start":64515,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":72003,"byte_start":64974,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":72199,"byte_start":72003,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":73142,"byte_start":72199,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":75461,"byte_start":73142,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":75802,"byte_start":75461,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":75972,"byte_start":75802,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":79619,"byte_start":75972,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":79920,"byte_start":79619,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":80172,"byte_start":79920,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":81809,"byte_start":80172,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":82100,"byte_start":81809,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":82266,"byte_start":82100,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":84912,"byte_start":82266,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":85162,"byte_start":84912,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":85332,"byte_start":85162,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":87880,"byte_start":85332,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":88134,"byte_start":87880,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":88307,"byte_start":88134,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":89538,"byte_start":88307,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":89780,"byte_start":89538,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":90040,"byte_start":89780,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":93061,"byte_start":90040,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":93526,"byte_start":93061,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":93867,"byte_start":93526,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":98297,"byte_start":93867,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":98483,"byte_start":98297,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":99279,"byte_start":98483,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":110249,"byte_start":99279,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":110435,"byte_start":110249,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":111224,"byte_start":110435,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":111426,"byte_start":111224,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":112241,"byte_start":111426,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":112451,"byte_start":112241,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":117896,"byte_start":112451,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":118084,"byte_start":117896,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":118637,"byte_start":118084,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":120410,"byte_start":118637,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":120672,"byte_start":120410,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":120858,"byte_start":120672,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":128362,"byte_start":120858,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":128564,"byte_start":128362,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":129501,"byte_start":128564,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":136975,"byte_start":129501,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":137181,"byte_start":136975,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":138031,"byte_start":137181,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":151245,"byte_start":138031,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":151453,"byte_start":151245,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":152904,"byte_start":151453,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":161057,"byte_start":152904,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":161265,"byte_start":161057,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":162126,"byte_start":161265,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":173214,"byte_start":162126,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":173418,"byte_start":173214,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":174568,"byte_start":173418,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":176062,"byte_start":174568,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":176380,"byte_start":176062,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":177874,"byte_start":176380,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":178202,"byte_start":177874,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":179696,"byte_start":178202,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":180042,"byte_start":179696,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":181531,"byte_start":180042,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":181841,"byte_start":181531,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":183335,"byte_start":181841,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":183649,"byte_start":183335,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":185143,"byte_start":183649,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":185462,"byte_start":185143,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":186956,"byte_start":185462,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":187285,"byte_start":186956,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":188774,"byte_start":187285,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":189082,"byte_start":188774,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":211564,"byte_start":189082,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":211940,"byte_start":211564,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":213660,"byte_start":211940,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":236142,"byte_start":213660,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":236528,"byte_start":236142,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":238263,"byte_start":236528,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":260745,"byte_start":238263,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":261149,"byte_start":260745,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":262912,"byte_start":261149,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":285285,"byte_start":262912,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":285651,"byte_start":285285,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":287290,"byte_start":285651,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":307332,"byte_start":287290,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":307705,"byte_start":307332,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":309253,"byte_start":307705,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":329295,"byte_start":309253,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":329673,"byte_start":329295,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":331246,"byte_start":329673,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":351288,"byte_start":331246,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":351676,"byte_start":351288,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":353298,"byte_start":351676,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":373245,"byte_start":353298,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":373610,"byte_start":373245,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":375075,"byte_start":373610,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":392943,"byte_start":375075,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":393143,"byte_start":392943,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":394092,"byte_start":393143,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":421070,"byte_start":394092,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":422293,"byte_start":421070,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":422691,"byte_start":422293,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":423078,"byte_start":422691,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":450062,"byte_start":423078,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":451297,"byte_start":450062,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":451568,"byte_start":451297,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":451966,"byte_start":451568,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":478949,"byte_start":451966,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":480182,"byte_start":478949,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":480498,"byte_start":480182,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":480895,"byte_start":480498,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":485744,"byte_start":480895,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":486969,"byte_start":485744,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":487275,"byte_start":486969,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":487663,"byte_start":487275,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":492518,"byte_start":487663,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":493755,"byte_start":492518,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":493982,"byte_start":493755,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":494383,"byte_start":493982,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":520669,"byte_start":494383,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":521850,"byte_start":520669,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":522292,"byte_start":521850,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":522779,"byte_start":522292,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":549070,"byte_start":522779,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":550040,"byte_start":549070,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":550219,"byte_start":550040,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":550704,"byte_start":550219,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":560104,"byte_start":550704,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":560302,"byte_start":560104,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":561244,"byte_start":560302,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":562081,"byte_start":561244,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":562281,"byte_start":562081,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":562406,"byte_start":562281,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":563114,"byte_start":562406,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":563314,"byte_start":563114,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":563439,"byte_start":563314,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":564410,"byte_start":563439,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":564612,"byte_start":564410,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":564739,"byte_start":564612,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":565577,"byte_start":564739,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":565777,"byte_start":565577,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":565902,"byte_start":565777,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":568477,"byte_start":565902,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":568710,"byte_start":568477,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":568864,"byte_start":568710,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":569094,"byte_start":568864,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":574027,"byte_start":569094,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":574271,"byte_start":574027,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":574521,"byte_start":574271,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":575101,"byte_start":574521,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":580041,"byte_start":575101,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":580298,"byte_start":580041,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":580562,"byte_start":580298,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":581153,"byte_start":580562,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":582005,"byte_start":581153,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":584259,"byte_start":582005,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":586341,"byte_start":584259,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":589537,"byte_start":586341,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":589972,"byte_start":589537,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":590128,"byte_start":589972,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":590497,"byte_start":590128,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":596944,"byte_start":590497,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":597356,"byte_start":596944,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":598361,"byte_start":597356,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":605054,"byte_start":598361,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":605242,"byte_start":605054,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":607188,"byte_start":605242,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":611708,"byte_start":607188,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":612309,"byte_start":611708,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":612473,"byte_start":612309,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":612729,"byte_start":612473,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":616115,"byte_start":612729,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":616662,"byte_start":616115,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":616816,"byte_start":616662,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":617168,"byte_start":616816,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":622779,"byte_start":617168,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":623427,"byte_start":622779,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":624031,"byte_start":623427,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":624420,"byte_start":624031,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":630035,"byte_start":624420,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":630691,"byte_start":630035,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":631303,"byte_start":630691,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":631700,"byte_start":631303,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":637318,"byte_start":631700,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":637980,"byte_start":637318,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":638464,"byte_start":637980,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":638867,"byte_start":638464,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":641050,"byte_start":638867,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":641597,"byte_start":641050,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":641887,"byte_start":641597,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":642173,"byte_start":641887,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":645492,"byte_start":642173,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":646089,"byte_start":645492,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":646290,"byte_start":646089,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":646690,"byte_start":646290,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":650015,"byte_start":646690,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":650624,"byte_start":650015,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":650789,"byte_start":650624,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":651201,"byte_start":650789,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":654785,"byte_start":651201,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":655382,"byte_start":654785,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":655718,"byte_start":655382,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":656101,"byte_start":655718,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":659691,"byte_start":656101,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":660300,"byte_start":659691,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":660782,"byte_start":660300,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":661177,"byte_start":660782,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":663378,"byte_start":661177,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":663929,"byte_start":663378,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":664233,"byte_start":663929,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":664531,"byte_start":664233,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":678541,"byte_start":664531,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":679142,"byte_start":678541,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":680178,"byte_start":679142,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":690092,"byte_start":680178,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":690290,"byte_start":690092,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":691321,"byte_start":690290,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":692143,"byte_start":691321,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":692343,"byte_start":692143,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":692468,"byte_start":692343,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":693289,"byte_start":692468,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":693489,"byte_start":693289,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":693614,"byte_start":693489,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":694692,"byte_start":693614,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":694898,"byte_start":694692,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":695029,"byte_start":694898,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":695766,"byte_start":695029,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":695968,"byte_start":695766,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":696095,"byte_start":695968,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":713793,"byte_start":696095,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":713981,"byte_start":713793,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":715032,"byte_start":713981,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":717080,"byte_start":715032,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":717592,"byte_start":717080,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":717763,"byte_start":717592,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":719702,"byte_start":717763,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":720132,"byte_start":719702,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":720461,"byte_start":720132,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":723219,"byte_start":720461,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":723690,"byte_start":723219,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":723854,"byte_start":723690,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":724083,"byte_start":723854,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":726847,"byte_start":724083,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":727330,"byte_start":726847,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":727507,"byte_start":727330,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":727748,"byte_start":727507,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":732421,"byte_start":727748,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":733080,"byte_start":732421,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":733383,"byte_start":733080,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":733736,"byte_start":733383,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":736698,"byte_start":733736,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":737115,"byte_start":736698,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":737270,"byte_start":737115,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":737584,"byte_start":737270,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":741034,"byte_start":737584,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":741426,"byte_start":741034,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":741737,"byte_start":741426,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":742067,"byte_start":741737,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":745504,"byte_start":742067,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":745957,"byte_start":745504,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":746329,"byte_start":745957,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":746675,"byte_start":746329,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":750617,"byte_start":746675,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":751074,"byte_start":750617,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":751450,"byte_start":751074,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":751805,"byte_start":751450,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":755242,"byte_start":751805,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":755715,"byte_start":755242,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":756107,"byte_start":755715,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":756430,"byte_start":756107,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":760783,"byte_start":756430,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":761482,"byte_start":760783,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":762100,"byte_start":761482,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":762509,"byte_start":762100,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":765985,"byte_start":762509,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":766434,"byte_start":765985,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":766802,"byte_start":766434,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":767147,"byte_start":766802,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":771822,"byte_start":767147,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":772485,"byte_start":771822,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":772746,"byte_start":772485,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":773105,"byte_start":772746,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":776041,"byte_start":773105,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":776508,"byte_start":776041,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":776802,"byte_start":776508,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":777119,"byte_start":776802,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":780061,"byte_start":777119,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":780540,"byte_start":780061,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":780892,"byte_start":780540,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":781221,"byte_start":780892,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":785862,"byte_start":781221,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":786511,"byte_start":785862,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":786942,"byte_start":786511,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":787280,"byte_start":786942,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":796021,"byte_start":787280,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":796217,"byte_start":796021,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":797696,"byte_start":796217,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":797940,"byte_start":797696,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":798253,"byte_start":797940,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":799695,"byte_start":798253,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":799925,"byte_start":799695,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":800075,"byte_start":799925,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":801526,"byte_start":800075,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":801772,"byte_start":801526,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":801894,"byte_start":801772,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":807447,"byte_start":801894,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":807689,"byte_start":807447,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":808128,"byte_start":807689,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":814867,"byte_start":808128,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":815148,"byte_start":814867,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":815423,"byte_start":815148,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":823553,"byte_start":815423,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":823791,"byte_start":823553,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":824191,"byte_start":823791,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":824225,"byte_start":824191,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"TargetFixtures","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":30,"byte_start":16,"class":"word","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":31,"byte_start":30,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":44,"byte_start":32,"class":"control","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":45,"byte_start":44,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":45,"class":"word","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":53,"class":"word","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"ascii-symbol","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":60,"byte_start":57,"class":"word","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":61,"byte_start":60,"class":"ascii-symbol","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":62,"byte_start":61,"class":"numeral","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":63,"byte_start":62,"class":"ascii-symbol","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":64,"byte_start":63,"class":"numeral","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":65,"byte_start":64,"class":"ascii-symbol","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":66,"byte_start":65,"class":"numeral","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":67,"byte_start":66,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":81,"byte_start":68,"class":"control","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":82,"byte_start":81,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":94,"byte_start":82,"class":"word","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":95,"byte_start":94,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":109,"byte_start":96,"class":"control","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":110,"byte_start":109,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":125,"byte_start":110,"class":"word","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":126,"byte_start":125,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":140,"byte_start":127,"class":"control","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":141,"byte_start":140,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":153,"byte_start":141,"class":"word","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":154,"byte_start":153,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":161,"byte_start":155,"class":"control","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":162,"byte_start":161,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":176,"byte_start":162,"class":"word","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":185,"byte_start":177,"class":"word","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":186,"byte_start":185,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":193,"byte_start":187,"class":"control","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":194,"byte_start":193,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":208,"byte_start":194,"class":"word","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":209,"byte_start":208,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":654039,"byte_start":210,"class":"word","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":654043,"byte_start":654039,"class":"control","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":654044,"byte_start":654043,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":654058,"byte_start":654044,"class":"word","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":654059,"byte_start":654058,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":654064,"byte_start":654060,"class":"control","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":654065,"byte_start":654064,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":654072,"byte_start":654065,"class":"word","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":654073,"byte_start":654072,"class":"delimiter","path":"src/TargetFixtures.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4662,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5047,"byte_start":4662,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5362,"byte_start":5047,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11423,"byte_start":5362,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11860,"byte_start":11423,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12536,"byte_start":11860,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23711,"byte_start":12536,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24243,"byte_start":23711,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25244,"byte_start":24243,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28814,"byte_start":25244,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29290,"byte_start":28814,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29894,"byte_start":29290,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31441,"byte_start":29894,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32185,"byte_start":31441,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32492,"byte_start":32185,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35867,"byte_start":32492,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36248,"byte_start":35867,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42499,"byte_start":36248,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42876,"byte_start":42499,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":46094,"byte_start":42876,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":46473,"byte_start":46094,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":47084,"byte_start":46473,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":54281,"byte_start":47084,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":54664,"byte_start":54281,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":55764,"byte_start":54664,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":58237,"byte_start":55764,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":58765,"byte_start":58237,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":59085,"byte_start":58765,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":62888,"byte_start":59085,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":63376,"byte_start":62888,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":63778,"byte_start":63376,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":65567,"byte_start":63778,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66045,"byte_start":65567,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66361,"byte_start":66045,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69185,"byte_start":66361,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69622,"byte_start":69185,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69942,"byte_start":69622,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":72656,"byte_start":69942,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":73097,"byte_start":72656,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":73420,"byte_start":73097,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":74803,"byte_start":73420,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":75232,"byte_start":74803,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":75642,"byte_start":75232,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":78829,"byte_start":75642,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":79481,"byte_start":78829,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":79972,"byte_start":79481,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":84554,"byte_start":79972,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":84927,"byte_start":84554,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":85873,"byte_start":84927,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":96993,"byte_start":85873,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":97366,"byte_start":96993,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":98305,"byte_start":97366,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":98694,"byte_start":98305,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":99659,"byte_start":98694,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":100056,"byte_start":99659,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":105663,"byte_start":100056,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":106038,"byte_start":105663,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":106741,"byte_start":106038,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":108666,"byte_start":106741,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":109115,"byte_start":108666,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":109451,"byte_start":109115,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":117105,"byte_start":109451,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":117494,"byte_start":117105,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":118581,"byte_start":117494,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":126205,"byte_start":118581,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":126598,"byte_start":126205,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":127598,"byte_start":126598,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":140962,"byte_start":127598,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":141357,"byte_start":140962,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":142958,"byte_start":141357,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":151261,"byte_start":142958,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":151656,"byte_start":151261,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":152667,"byte_start":151656,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":163905,"byte_start":152667,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":164296,"byte_start":163905,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":165596,"byte_start":164296,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":167240,"byte_start":165596,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":167745,"byte_start":167240,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":169389,"byte_start":167745,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":169904,"byte_start":169389,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":171548,"byte_start":169904,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":172081,"byte_start":171548,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":173720,"byte_start":172081,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":174217,"byte_start":173720,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":175861,"byte_start":174217,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":176362,"byte_start":175861,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":178006,"byte_start":176362,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":178512,"byte_start":178006,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":180156,"byte_start":178512,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":180672,"byte_start":180156,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":182311,"byte_start":180672,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":182806,"byte_start":182311,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":205438,"byte_start":182806,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":206001,"byte_start":205438,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":207871,"byte_start":206001,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":230503,"byte_start":207871,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":231076,"byte_start":230503,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":232961,"byte_start":231076,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":255593,"byte_start":232961,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":256184,"byte_start":255593,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":258097,"byte_start":256184,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":280620,"byte_start":258097,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":281173,"byte_start":280620,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":282962,"byte_start":281173,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":303154,"byte_start":282962,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":303714,"byte_start":303154,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":305412,"byte_start":303714,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":325604,"byte_start":305412,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":326169,"byte_start":325604,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":327892,"byte_start":326169,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":348084,"byte_start":327892,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":348659,"byte_start":348084,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":350431,"byte_start":348659,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":370528,"byte_start":350431,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":371080,"byte_start":370528,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":372695,"byte_start":371080,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":390843,"byte_start":372695,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":391230,"byte_start":390843,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":392329,"byte_start":391230,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":419711,"byte_start":392329,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":421121,"byte_start":419711,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":421669,"byte_start":421121,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":422205,"byte_start":421669,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":449593,"byte_start":422205,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":451015,"byte_start":449593,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":451436,"byte_start":451015,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":451983,"byte_start":451436,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":479370,"byte_start":451983,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":480790,"byte_start":479370,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":481256,"byte_start":480790,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":481802,"byte_start":481256,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":486841,"byte_start":481802,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":488253,"byte_start":486841,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":488709,"byte_start":488253,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":489246,"byte_start":488709,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":494291,"byte_start":489246,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":495715,"byte_start":494291,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":496092,"byte_start":495715,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":496642,"byte_start":496092,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":523330,"byte_start":496642,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":524698,"byte_start":523330,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":525290,"byte_start":524698,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":525927,"byte_start":525290,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":552620,"byte_start":525927,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":553777,"byte_start":552620,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":554106,"byte_start":553777,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":554741,"byte_start":554106,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":564291,"byte_start":554741,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":564676,"byte_start":564291,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":565768,"byte_start":564676,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":566755,"byte_start":565768,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":567142,"byte_start":566755,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":567417,"byte_start":567142,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":568275,"byte_start":567417,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":568662,"byte_start":568275,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":568937,"byte_start":568662,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":570058,"byte_start":568937,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":570447,"byte_start":570058,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":570724,"byte_start":570447,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":571712,"byte_start":570724,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":572099,"byte_start":571712,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":572374,"byte_start":572099,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":575115,"byte_start":572374,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":575535,"byte_start":575115,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":575839,"byte_start":575535,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":576219,"byte_start":575839,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":581330,"byte_start":576219,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":581761,"byte_start":581330,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":582161,"byte_start":581761,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":582891,"byte_start":582161,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":588009,"byte_start":582891,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":588453,"byte_start":588009,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":588867,"byte_start":588453,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":589608,"byte_start":588867,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":590610,"byte_start":589608,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":593051,"byte_start":590610,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":595283,"byte_start":593051,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":598645,"byte_start":595283,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":599273,"byte_start":598645,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":599579,"byte_start":599273,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":600104,"byte_start":599579,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":606701,"byte_start":600104,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":607300,"byte_start":606701,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":608455,"byte_start":607300,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":615308,"byte_start":608455,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":615683,"byte_start":615308,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":617785,"byte_start":615683,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":622495,"byte_start":617785,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":623283,"byte_start":622495,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":623597,"byte_start":623283,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":624003,"byte_start":623597,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":627555,"byte_start":624003,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":628289,"byte_start":627555,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":628593,"byte_start":628289,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":629095,"byte_start":628593,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":634882,"byte_start":629095,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":635717,"byte_start":634882,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":636471,"byte_start":635717,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":637002,"byte_start":636471,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":642793,"byte_start":637002,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":643636,"byte_start":642793,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":644398,"byte_start":643636,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":644937,"byte_start":644398,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":650731,"byte_start":644937,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":651580,"byte_start":650731,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":652214,"byte_start":651580,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":652759,"byte_start":652214,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":655106,"byte_start":652759,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":655840,"byte_start":655106,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":656280,"byte_start":655840,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":656716,"byte_start":656280,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":660211,"byte_start":656716,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":660995,"byte_start":660211,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":661346,"byte_start":660995,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":661896,"byte_start":661346,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":665397,"byte_start":661896,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":666193,"byte_start":665397,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":666508,"byte_start":666193,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":667070,"byte_start":666508,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":670830,"byte_start":667070,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":671614,"byte_start":670830,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":672100,"byte_start":671614,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":672625,"byte_start":672100,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":676391,"byte_start":672625,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":677187,"byte_start":676391,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":677819,"byte_start":677187,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":678356,"byte_start":677819,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":680721,"byte_start":678356,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":681459,"byte_start":680721,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":681913,"byte_start":681459,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":682361,"byte_start":681913,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":696635,"byte_start":682361,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":697423,"byte_start":696635,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":698609,"byte_start":697423,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":708673,"byte_start":698609,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":709058,"byte_start":708673,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":710239,"byte_start":709058,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":711211,"byte_start":710239,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":711598,"byte_start":711211,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":711873,"byte_start":711598,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":712844,"byte_start":711873,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":713231,"byte_start":712844,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":713506,"byte_start":713231,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":714734,"byte_start":713506,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":715127,"byte_start":714734,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":715408,"byte_start":715127,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":716295,"byte_start":715408,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":716684,"byte_start":716295,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":716961,"byte_start":716684,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":734935,"byte_start":716961,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":735310,"byte_start":734935,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":736511,"byte_start":735310,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":738745,"byte_start":736511,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":739444,"byte_start":738745,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":739765,"byte_start":739444,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":741856,"byte_start":739765,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":742473,"byte_start":741856,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":742952,"byte_start":742473,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":745886,"byte_start":742952,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":746544,"byte_start":745886,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":746858,"byte_start":746544,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":747237,"byte_start":746858,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":750177,"byte_start":747237,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":750847,"byte_start":750177,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":751174,"byte_start":750847,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":751565,"byte_start":751174,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":756428,"byte_start":751565,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":757274,"byte_start":756428,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":757727,"byte_start":757274,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":758229,"byte_start":757727,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":761357,"byte_start":758229,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":761961,"byte_start":761357,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":762266,"byte_start":761961,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":762730,"byte_start":762266,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":766356,"byte_start":762730,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":766935,"byte_start":766356,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":767396,"byte_start":766935,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":767875,"byte_start":767396,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":771488,"byte_start":767875,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":772128,"byte_start":771488,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":772650,"byte_start":772128,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":773145,"byte_start":772650,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":777263,"byte_start":773145,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":777907,"byte_start":777263,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":778433,"byte_start":777907,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":778937,"byte_start":778433,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":782550,"byte_start":778937,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":783210,"byte_start":782550,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":783752,"byte_start":783210,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":784224,"byte_start":783752,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":788753,"byte_start":784224,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":789639,"byte_start":788753,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":790407,"byte_start":789639,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":790965,"byte_start":790407,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":794617,"byte_start":790965,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":795259,"byte_start":794617,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":795783,"byte_start":795259,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":796283,"byte_start":795783,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":801148,"byte_start":796283,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":801998,"byte_start":801148,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":802409,"byte_start":801998,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":802917,"byte_start":802409,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":806029,"byte_start":802917,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":806683,"byte_start":806029,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":807127,"byte_start":806683,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":807593,"byte_start":807127,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":810711,"byte_start":807593,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":811377,"byte_start":810711,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":811879,"byte_start":811377,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":812357,"byte_start":811879,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":817188,"byte_start":812357,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":818024,"byte_start":817188,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":818605,"byte_start":818024,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":819092,"byte_start":818605,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":827983,"byte_start":819092,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":828366,"byte_start":827983,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":830219,"byte_start":828366,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":830650,"byte_start":830219,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":831225,"byte_start":830650,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":832829,"byte_start":831225,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":833246,"byte_start":832829,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":833546,"byte_start":833246,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":835159,"byte_start":833546,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":835592,"byte_start":835159,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":835864,"byte_start":835592,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":841611,"byte_start":835864,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":842040,"byte_start":841611,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":842629,"byte_start":842040,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":849600,"byte_start":842629,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":850068,"byte_start":849600,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":850493,"byte_start":850068,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":858781,"byte_start":850493,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":859206,"byte_start":858781,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":859756,"byte_start":859206,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":859771,"byte_start":859756,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":416,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4776,"byte_start":416,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4974,"byte_start":4776,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5139,"byte_start":4974,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10978,"byte_start":5139,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11228,"byte_start":10978,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11754,"byte_start":11228,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22707,"byte_start":11754,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23052,"byte_start":22707,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23903,"byte_start":23052,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27311,"byte_start":23903,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27600,"byte_start":27311,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28054,"byte_start":27600,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29437,"byte_start":28054,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29994,"byte_start":29437,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30151,"byte_start":29994,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33368,"byte_start":30151,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33562,"byte_start":33368,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39640,"byte_start":33562,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39830,"byte_start":39640,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42895,"byte_start":39830,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43087,"byte_start":42895,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43546,"byte_start":43087,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":50575,"byte_start":43546,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":50771,"byte_start":50575,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":51714,"byte_start":50771,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":54033,"byte_start":51714,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":54374,"byte_start":54033,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":54544,"byte_start":54374,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":58191,"byte_start":54544,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":58492,"byte_start":58191,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":58744,"byte_start":58492,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":60381,"byte_start":58744,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":60672,"byte_start":60381,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":60838,"byte_start":60672,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":63484,"byte_start":60838,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":63734,"byte_start":63484,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":63904,"byte_start":63734,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66452,"byte_start":63904,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66706,"byte_start":66452,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66879,"byte_start":66706,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68110,"byte_start":66879,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68352,"byte_start":68110,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68612,"byte_start":68352,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71633,"byte_start":68612,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":72098,"byte_start":71633,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":72439,"byte_start":72098,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":76869,"byte_start":72439,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":77055,"byte_start":76869,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":77851,"byte_start":77055,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":88821,"byte_start":77851,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":89007,"byte_start":88821,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":89796,"byte_start":89007,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":89998,"byte_start":89796,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":90813,"byte_start":89998,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":91023,"byte_start":90813,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":96468,"byte_start":91023,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":96656,"byte_start":96468,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":97209,"byte_start":96656,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":98982,"byte_start":97209,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":99244,"byte_start":98982,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":99430,"byte_start":99244,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":106934,"byte_start":99430,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":107136,"byte_start":106934,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":108073,"byte_start":107136,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":115547,"byte_start":108073,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":115753,"byte_start":115547,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":116603,"byte_start":115753,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":129817,"byte_start":116603,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":130025,"byte_start":129817,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":131476,"byte_start":130025,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":139629,"byte_start":131476,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":139837,"byte_start":139629,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":140698,"byte_start":139837,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":151786,"byte_start":140698,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":151990,"byte_start":151786,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":153140,"byte_start":151990,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":154634,"byte_start":153140,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":154952,"byte_start":154634,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":156446,"byte_start":154952,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":156774,"byte_start":156446,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":158268,"byte_start":156774,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":158614,"byte_start":158268,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":160103,"byte_start":158614,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":160413,"byte_start":160103,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":161907,"byte_start":160413,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":162221,"byte_start":161907,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":163715,"byte_start":162221,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":164034,"byte_start":163715,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":165528,"byte_start":164034,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":165857,"byte_start":165528,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":167346,"byte_start":165857,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":167654,"byte_start":167346,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":190136,"byte_start":167654,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":190512,"byte_start":190136,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":192232,"byte_start":190512,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":214714,"byte_start":192232,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":215100,"byte_start":214714,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":216835,"byte_start":215100,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":239317,"byte_start":216835,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":239721,"byte_start":239317,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":241484,"byte_start":239721,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":263857,"byte_start":241484,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":264223,"byte_start":263857,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":265862,"byte_start":264223,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":285904,"byte_start":265862,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":286277,"byte_start":285904,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":287825,"byte_start":286277,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":307867,"byte_start":287825,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":308245,"byte_start":307867,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":309818,"byte_start":308245,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":329860,"byte_start":309818,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":330248,"byte_start":329860,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":331870,"byte_start":330248,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":351817,"byte_start":331870,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":352182,"byte_start":351817,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":353647,"byte_start":352182,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":371515,"byte_start":353647,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":371715,"byte_start":371515,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":372664,"byte_start":371715,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":399642,"byte_start":372664,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":400865,"byte_start":399642,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":401263,"byte_start":400865,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":401650,"byte_start":401263,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":428634,"byte_start":401650,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":429869,"byte_start":428634,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":430140,"byte_start":429869,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":430538,"byte_start":430140,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":457521,"byte_start":430538,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":458754,"byte_start":457521,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":459070,"byte_start":458754,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":459467,"byte_start":459070,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":464316,"byte_start":459467,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":465541,"byte_start":464316,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":465847,"byte_start":465541,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":466235,"byte_start":465847,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":471090,"byte_start":466235,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":472327,"byte_start":471090,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":472554,"byte_start":472327,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":472955,"byte_start":472554,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":499241,"byte_start":472955,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":500422,"byte_start":499241,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":500864,"byte_start":500422,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":501351,"byte_start":500864,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":527642,"byte_start":501351,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":528612,"byte_start":527642,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":528791,"byte_start":528612,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":529276,"byte_start":528791,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":538676,"byte_start":529276,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":538874,"byte_start":538676,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":539816,"byte_start":538874,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":540653,"byte_start":539816,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":540853,"byte_start":540653,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":540978,"byte_start":540853,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":541686,"byte_start":540978,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":541886,"byte_start":541686,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":542011,"byte_start":541886,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":542982,"byte_start":542011,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":543184,"byte_start":542982,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":543311,"byte_start":543184,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":544149,"byte_start":543311,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":544349,"byte_start":544149,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":544474,"byte_start":544349,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":547049,"byte_start":544474,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":547282,"byte_start":547049,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":547436,"byte_start":547282,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":547666,"byte_start":547436,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":552599,"byte_start":547666,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":552843,"byte_start":552599,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":553093,"byte_start":552843,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":553673,"byte_start":553093,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":558613,"byte_start":553673,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":558870,"byte_start":558613,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":559134,"byte_start":558870,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":559725,"byte_start":559134,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":560577,"byte_start":559725,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":562831,"byte_start":560577,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":564913,"byte_start":562831,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":568109,"byte_start":564913,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":568544,"byte_start":568109,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":568700,"byte_start":568544,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":569069,"byte_start":568700,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":575516,"byte_start":569069,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":575928,"byte_start":575516,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":576933,"byte_start":575928,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":583626,"byte_start":576933,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":583814,"byte_start":583626,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":585760,"byte_start":583814,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":590280,"byte_start":585760,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":590881,"byte_start":590280,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":591045,"byte_start":590881,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":591301,"byte_start":591045,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":594687,"byte_start":591301,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":595234,"byte_start":594687,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":595388,"byte_start":595234,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":595740,"byte_start":595388,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":601351,"byte_start":595740,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":601999,"byte_start":601351,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":602603,"byte_start":601999,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":602992,"byte_start":602603,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":608607,"byte_start":602992,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":609263,"byte_start":608607,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":609875,"byte_start":609263,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":610272,"byte_start":609875,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":615890,"byte_start":610272,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":616552,"byte_start":615890,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":617036,"byte_start":616552,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":617439,"byte_start":617036,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":619622,"byte_start":617439,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":620169,"byte_start":619622,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":620459,"byte_start":620169,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":620745,"byte_start":620459,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":624064,"byte_start":620745,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":624661,"byte_start":624064,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":624862,"byte_start":624661,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":625262,"byte_start":624862,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":628587,"byte_start":625262,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":629196,"byte_start":628587,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":629361,"byte_start":629196,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":629773,"byte_start":629361,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":633357,"byte_start":629773,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":633954,"byte_start":633357,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":634290,"byte_start":633954,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":634673,"byte_start":634290,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":638263,"byte_start":634673,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":638872,"byte_start":638263,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":639354,"byte_start":638872,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":639749,"byte_start":639354,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":641950,"byte_start":639749,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":642501,"byte_start":641950,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":642805,"byte_start":642501,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":643103,"byte_start":642805,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":657113,"byte_start":643103,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":657714,"byte_start":657113,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":658750,"byte_start":657714,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":668664,"byte_start":658750,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":668862,"byte_start":668664,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":669893,"byte_start":668862,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":670715,"byte_start":669893,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":670915,"byte_start":670715,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":671040,"byte_start":670915,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":671861,"byte_start":671040,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":672061,"byte_start":671861,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":672186,"byte_start":672061,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":673264,"byte_start":672186,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":673470,"byte_start":673264,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":673601,"byte_start":673470,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":674338,"byte_start":673601,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":674540,"byte_start":674338,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":674667,"byte_start":674540,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":692365,"byte_start":674667,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":692553,"byte_start":692365,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":693604,"byte_start":692553,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":695652,"byte_start":693604,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":696164,"byte_start":695652,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":696335,"byte_start":696164,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":698274,"byte_start":696335,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":698704,"byte_start":698274,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":699033,"byte_start":698704,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":701791,"byte_start":699033,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":702262,"byte_start":701791,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":702426,"byte_start":702262,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":702655,"byte_start":702426,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":705419,"byte_start":702655,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":705902,"byte_start":705419,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":706079,"byte_start":705902,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":706320,"byte_start":706079,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":710993,"byte_start":706320,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":711652,"byte_start":710993,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":711955,"byte_start":711652,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":712308,"byte_start":711955,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":715270,"byte_start":712308,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":715687,"byte_start":715270,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":715842,"byte_start":715687,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":716156,"byte_start":715842,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":719606,"byte_start":716156,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":719998,"byte_start":719606,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":720309,"byte_start":719998,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":720639,"byte_start":720309,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":724076,"byte_start":720639,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":724529,"byte_start":724076,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":724901,"byte_start":724529,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":725247,"byte_start":724901,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":729189,"byte_start":725247,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":729646,"byte_start":729189,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":730022,"byte_start":729646,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":730377,"byte_start":730022,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":733814,"byte_start":730377,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":734287,"byte_start":733814,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":734679,"byte_start":734287,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":735002,"byte_start":734679,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":739355,"byte_start":735002,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":740054,"byte_start":739355,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":740672,"byte_start":740054,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":741081,"byte_start":740672,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":744557,"byte_start":741081,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":745006,"byte_start":744557,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":745374,"byte_start":745006,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":745719,"byte_start":745374,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":750394,"byte_start":745719,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":751057,"byte_start":750394,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":751318,"byte_start":751057,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":751677,"byte_start":751318,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":754613,"byte_start":751677,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":755080,"byte_start":754613,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":755374,"byte_start":755080,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":755691,"byte_start":755374,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":758633,"byte_start":755691,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":759112,"byte_start":758633,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":759464,"byte_start":759112,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":759793,"byte_start":759464,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":764434,"byte_start":759793,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":765083,"byte_start":764434,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":765514,"byte_start":765083,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":765852,"byte_start":765514,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":774593,"byte_start":765852,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":774789,"byte_start":774593,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":776268,"byte_start":774789,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":776512,"byte_start":776268,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":776825,"byte_start":776512,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":778267,"byte_start":776825,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":778497,"byte_start":778267,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":778647,"byte_start":778497,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":780098,"byte_start":778647,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":780344,"byte_start":780098,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":780466,"byte_start":780344,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":786019,"byte_start":780466,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":786261,"byte_start":786019,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":786700,"byte_start":786261,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":793439,"byte_start":786700,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":793720,"byte_start":793439,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":793995,"byte_start":793720,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":802125,"byte_start":793995,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":802363,"byte_start":802125,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":802763,"byte_start":802363,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":802797,"byte_start":802763,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"TargetFixtures","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":30,"byte_start":16,"class":"word","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":31,"byte_start":30,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":44,"byte_start":32,"class":"control","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":45,"byte_start":44,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":45,"class":"word","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":53,"class":"word","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"ascii-symbol","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":60,"byte_start":57,"class":"word","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":61,"byte_start":60,"class":"ascii-symbol","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":62,"byte_start":61,"class":"numeral","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":63,"byte_start":62,"class":"ascii-symbol","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":64,"byte_start":63,"class":"numeral","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":65,"byte_start":64,"class":"ascii-symbol","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":66,"byte_start":65,"class":"numeral","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":67,"byte_start":66,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":81,"byte_start":68,"class":"control","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":82,"byte_start":81,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":94,"byte_start":82,"class":"word","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":95,"byte_start":94,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":109,"byte_start":96,"class":"control","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":110,"byte_start":109,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":125,"byte_start":110,"class":"word","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":126,"byte_start":125,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":140,"byte_start":127,"class":"control","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":141,"byte_start":140,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":153,"byte_start":141,"class":"word","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":154,"byte_start":153,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":161,"byte_start":155,"class":"control","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":162,"byte_start":161,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":176,"byte_start":162,"class":"word","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":185,"byte_start":177,"class":"word","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":186,"byte_start":185,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":193,"byte_start":187,"class":"control","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":194,"byte_start":193,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":208,"byte_start":194,"class":"word","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":209,"byte_start":208,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":654039,"byte_start":210,"class":"word","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":654043,"byte_start":654039,"class":"control","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":654044,"byte_start":654043,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":654058,"byte_start":654044,"class":"word","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":654059,"byte_start":654058,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":654064,"byte_start":654060,"class":"control","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":654065,"byte_start":654064,"class":"delimiter","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":654072,"byte_start":654065,"class":"word","path":"src/TargetFixtures.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":654073,"byte_start":654072,"class":"delimiter","path":"src/TargetFixtures.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/compiler/expected/build/coverage/LexLeanTarget/TargetSemantics.coverage.json b/compiler/expected/build/coverage/LexLeanTarget/TargetSemantics.coverage.json index 4e9b0c74b..1be9b68ee 100644 --- a/compiler/expected/build/coverage/LexLeanTarget/TargetSemantics.coverage.json +++ b/compiler/expected/build/coverage/LexLeanTarget/TargetSemantics.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":472,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":819,"byte_start":472,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1312,"byte_start":819,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1820,"byte_start":1312,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2262,"byte_start":1820,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2974,"byte_start":2262,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3360,"byte_start":2974,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3820,"byte_start":3360,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4493,"byte_start":3820,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5444,"byte_start":4493,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6028,"byte_start":5444,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6530,"byte_start":6028,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7032,"byte_start":6530,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7551,"byte_start":7032,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8112,"byte_start":7551,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8623,"byte_start":8112,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9140,"byte_start":8623,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9657,"byte_start":9140,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10174,"byte_start":9657,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10680,"byte_start":10174,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11192,"byte_start":10680,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11704,"byte_start":11192,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12216,"byte_start":11704,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33789,"byte_start":12216,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35022,"byte_start":33789,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36807,"byte_start":35022,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37299,"byte_start":36807,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37859,"byte_start":37299,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":62160,"byte_start":37859,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68896,"byte_start":62160,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69357,"byte_start":68896,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71199,"byte_start":69357,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":337147,"byte_start":71199,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":350721,"byte_start":337147,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":352052,"byte_start":350721,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":353188,"byte_start":352052,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":353983,"byte_start":353188,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":353998,"byte_start":353983,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":21760,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21898,"byte_start":21760,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22045,"byte_start":21898,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22356,"byte_start":22045,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22677,"byte_start":22356,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22932,"byte_start":22677,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23493,"byte_start":22932,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23697,"byte_start":23493,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23951,"byte_start":23697,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24427,"byte_start":23951,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25196,"byte_start":24427,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25596,"byte_start":25196,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25932,"byte_start":25596,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26268,"byte_start":25932,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26610,"byte_start":26268,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26964,"byte_start":26610,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27309,"byte_start":26964,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27660,"byte_start":27309,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28011,"byte_start":27660,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28362,"byte_start":28011,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28702,"byte_start":28362,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29048,"byte_start":28702,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29394,"byte_start":29048,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29740,"byte_start":29394,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":50922,"byte_start":29740,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":51891,"byte_start":50922,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":53430,"byte_start":51891,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":53645,"byte_start":53430,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":53982,"byte_start":53645,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":77731,"byte_start":53982,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":84209,"byte_start":77731,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":84473,"byte_start":84209,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":86094,"byte_start":84473,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":348504,"byte_start":86094,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":361744,"byte_start":348504,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":362878,"byte_start":361744,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":363835,"byte_start":362878,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":364407,"byte_start":363835,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":364442,"byte_start":364407,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"TargetSemantics","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":31,"byte_start":16,"class":"word","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":32,"byte_start":31,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":45,"byte_start":33,"class":"control","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":46,"byte_start":45,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":46,"class":"word","path":"src/TargetSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"ascii-symbol","path":"src/TargetSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":54,"class":"word","path":"src/TargetSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"ascii-symbol","path":"src/TargetSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":61,"byte_start":58,"class":"word","path":"src/TargetSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":62,"byte_start":61,"class":"ascii-symbol","path":"src/TargetSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":63,"byte_start":62,"class":"numeral","path":"src/TargetSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":64,"byte_start":63,"class":"ascii-symbol","path":"src/TargetSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":65,"byte_start":64,"class":"numeral","path":"src/TargetSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":66,"byte_start":65,"class":"ascii-symbol","path":"src/TargetSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":67,"byte_start":66,"class":"numeral","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":68,"byte_start":67,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":82,"byte_start":69,"class":"control","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":83,"byte_start":82,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":95,"byte_start":83,"class":"word","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":96,"byte_start":95,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":103,"byte_start":97,"class":"control","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":104,"byte_start":103,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":118,"byte_start":104,"class":"word","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":127,"byte_start":119,"class":"word","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":128,"byte_start":127,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":135,"byte_start":129,"class":"control","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":136,"byte_start":135,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":150,"byte_start":136,"class":"word","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":151,"byte_start":150,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":426604,"byte_start":152,"class":"word","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":426608,"byte_start":426604,"class":"control","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":426609,"byte_start":426608,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":426623,"byte_start":426609,"class":"word","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":426624,"byte_start":426623,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":426629,"byte_start":426625,"class":"control","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":426630,"byte_start":426629,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":426637,"byte_start":426630,"class":"word","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":426638,"byte_start":426637,"class":"delimiter","path":"src/TargetSemantics.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":472,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":819,"byte_start":472,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1312,"byte_start":819,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1820,"byte_start":1312,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2262,"byte_start":1820,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2974,"byte_start":2262,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3360,"byte_start":2974,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3820,"byte_start":3360,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4493,"byte_start":3820,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5444,"byte_start":4493,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6028,"byte_start":5444,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6530,"byte_start":6028,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7032,"byte_start":6530,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7551,"byte_start":7032,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8112,"byte_start":7551,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8623,"byte_start":8112,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9140,"byte_start":8623,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9657,"byte_start":9140,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10174,"byte_start":9657,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10680,"byte_start":10174,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11192,"byte_start":10680,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11704,"byte_start":11192,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12216,"byte_start":11704,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33789,"byte_start":12216,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35022,"byte_start":33789,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36807,"byte_start":35022,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37299,"byte_start":36807,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37859,"byte_start":37299,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":62160,"byte_start":37859,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68896,"byte_start":62160,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69357,"byte_start":68896,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71199,"byte_start":69357,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":337147,"byte_start":71199,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":350721,"byte_start":337147,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":352052,"byte_start":350721,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":353188,"byte_start":352052,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":353983,"byte_start":353188,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":353998,"byte_start":353983,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":332,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":470,"byte_start":332,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":617,"byte_start":470,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":928,"byte_start":617,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1249,"byte_start":928,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1504,"byte_start":1249,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2065,"byte_start":1504,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2269,"byte_start":2065,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2523,"byte_start":2269,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2999,"byte_start":2523,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3768,"byte_start":2999,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4168,"byte_start":3768,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4504,"byte_start":4168,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4840,"byte_start":4504,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5182,"byte_start":4840,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5536,"byte_start":5182,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5881,"byte_start":5536,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6232,"byte_start":5881,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6583,"byte_start":6232,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6934,"byte_start":6583,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7274,"byte_start":6934,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7620,"byte_start":7274,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7966,"byte_start":7620,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8312,"byte_start":7966,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29494,"byte_start":8312,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30463,"byte_start":29494,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32002,"byte_start":30463,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32217,"byte_start":32002,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32554,"byte_start":32217,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":56303,"byte_start":32554,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":62781,"byte_start":56303,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":63045,"byte_start":62781,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":64666,"byte_start":63045,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":327076,"byte_start":64666,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":340316,"byte_start":327076,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":341450,"byte_start":340316,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":342407,"byte_start":341450,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":342979,"byte_start":342407,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":343014,"byte_start":342979,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"TargetSemantics","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":31,"byte_start":16,"class":"word","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":32,"byte_start":31,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":45,"byte_start":33,"class":"control","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":46,"byte_start":45,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":46,"class":"word","path":"src/TargetSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"ascii-symbol","path":"src/TargetSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":54,"class":"word","path":"src/TargetSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"ascii-symbol","path":"src/TargetSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":61,"byte_start":58,"class":"word","path":"src/TargetSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":62,"byte_start":61,"class":"ascii-symbol","path":"src/TargetSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":63,"byte_start":62,"class":"numeral","path":"src/TargetSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":64,"byte_start":63,"class":"ascii-symbol","path":"src/TargetSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":65,"byte_start":64,"class":"numeral","path":"src/TargetSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":66,"byte_start":65,"class":"ascii-symbol","path":"src/TargetSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":67,"byte_start":66,"class":"numeral","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":68,"byte_start":67,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":82,"byte_start":69,"class":"control","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":83,"byte_start":82,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":95,"byte_start":83,"class":"word","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":96,"byte_start":95,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":103,"byte_start":97,"class":"control","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":104,"byte_start":103,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":118,"byte_start":104,"class":"word","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":127,"byte_start":119,"class":"word","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":128,"byte_start":127,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":135,"byte_start":129,"class":"control","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":136,"byte_start":135,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":150,"byte_start":136,"class":"word","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":151,"byte_start":150,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":426604,"byte_start":152,"class":"word","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":426608,"byte_start":426604,"class":"control","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":426609,"byte_start":426608,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":426623,"byte_start":426609,"class":"word","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":426624,"byte_start":426623,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":426629,"byte_start":426625,"class":"control","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":426630,"byte_start":426629,"class":"delimiter","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":426637,"byte_start":426630,"class":"word","path":"src/TargetSemantics.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":426638,"byte_start":426637,"class":"delimiter","path":"src/TargetSemantics.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/compiler/expected/build/manifest.json b/compiler/expected/build/manifest.json index 1b3b3f061..30da6eb46 100644 --- a/compiler/expected/build/manifest.json +++ b/compiler/expected/build/manifest.json @@ -1 +1 @@ -{"build_id":"dc19dff5e250276101a828598f523c963671544467788127a0bfd8f5f49efcb5","compiler":{"semantics_id":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","version":"0.3.0"},"inputs":[{"byte_length":2684,"kind":"lexicon","path":"embedded","sha256":"3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b"},{"byte_length":14885,"kind":"lexicon","path":"embedded","sha256":"e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac"},{"byte_length":36197,"kind":"lexicon","path":"embedded","sha256":"827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392"},{"byte_length":1597,"kind":"lock","path":"lexlean.lock","sha256":"2326a7e883451ee56b4c6dc8b8f936804657cf2f2b392f2d68850f6cc91c8926"},{"byte_length":643,"kind":"project-config","path":"lexlean.toml","sha256":"ef58478b65de0ad784269ab3513059f5afbb7f461bda9476efce78344301755e"},{"byte_length":4612,"kind":"source","path":"src/BudgetOracle.lex.tex","sha256":"c6545653dc603ec6710e038653686bd57e4b0e71fe362957cb0f0a5722898802"},{"byte_length":47895,"kind":"source","path":"src/Certification.lex.tex","sha256":"7e011c2fefdfd08c3f9d41a5cf5c891d72495aae7d4bc1e0b5d31a9d364c07fb"},{"byte_length":100847,"kind":"source","path":"src/Gnaf.lex.tex","sha256":"21b9c9174ae33fe77204e196a29a51463f2c9a400f7b305d33591c54f31d798d"},{"byte_length":105623,"kind":"source","path":"src/GnafCertificates.lex.tex","sha256":"498dafa5093f56f0a05bbddb58875aebc0769325386f2ca611f3a101d9368f64"},{"byte_length":680712,"kind":"source","path":"src/GnafFixtures.lex.tex","sha256":"e7f06e087d0ec40b8dd61f2fe1c51258ec55d93f5e5e16938c27598661e8d913"},{"byte_length":5030,"kind":"source","path":"src/GradeOracle.lex.tex","sha256":"1e19782f0fd76c6d49b5f7f5f29569f8f52b5d91397f0ec9921286cdd03b0fd0"},{"byte_length":811,"kind":"source","path":"src/Main.lex.tex","sha256":"a26d3c220ec1352dd96565ac2308c1684a945a98e1210b3dfaab30cd76dc1875"},{"byte_length":8685,"kind":"source","path":"src/PlannerOracle.lex.tex","sha256":"8579b13fcc26a5bdd3323388f400d1b0b805359f96fe4beea29b26bbaa79f50b"},{"byte_length":699968,"kind":"source","path":"src/ReasoningFixtures.lex.tex","sha256":"21de0c44ebce81bb7bb1b05a6e29815cc2e6c19a58a4c85459110bf3fd1dee9c"},{"byte_length":27419,"kind":"source","path":"src/ReasoningOracle.lex.tex","sha256":"7d5e680324c4fbffa4b8906aefe2e502d20994ff8cdaf223eb385e814bec77bb"},{"byte_length":103523,"kind":"source","path":"src/RustSemantics.lex.tex","sha256":"183644ea3d81403440add2ca225c82d462dde21a7c5a7928d2c313a12e9242b3"},{"byte_length":7619,"kind":"source","path":"src/RustSyntax.lex.tex","sha256":"9cbc4da6fc9441a03954f0979cbe4812aae0426811932e6ff1d6661043d3611f"},{"byte_length":3620,"kind":"source","path":"src/ScreeningOracle.lex.tex","sha256":"23fe7cb8804846c5418204184105f7381f5f36ddd2cdd1beec466416b5d12cb9"},{"byte_length":654074,"kind":"source","path":"src/TargetFixtures.lex.tex","sha256":"d746739ea3e78234f7a68280dc068d39b84f4064298a37383a8dc645bc188c27"},{"byte_length":2490,"kind":"source","path":"src/TargetOracle.lex.tex","sha256":"e34fca12090e04d8a853d4edfc9ae8db46d09ec586f2820f25d69c8ab3a7fb2d"},{"byte_length":426639,"kind":"source","path":"src/TargetSemantics.lex.tex","sha256":"92551ec717ba14a68c53203b5ea1f68359902201116de69c2816668038eb4a60"},{"byte_length":5518,"kind":"source","path":"src/TargetSyntax.lex.tex","sha256":"943d39daf9ece2d492cf8b15ba2df218f84031dbf0757b8ee765d240df55276e"}],"language":"1.2","lean_toolchain":"leanprover/lean4:v4.32.1","modules":[{"lean_module":"LexLeanTarget.BudgetOracle","module":"BudgetOracle","source_path":"src/BudgetOracle.lex.tex"},{"lean_module":"LexLeanTarget.Certification","module":"Certification","source_path":"src/Certification.lex.tex"},{"lean_module":"LexLeanTarget.Gnaf","module":"Gnaf","source_path":"src/Gnaf.lex.tex"},{"lean_module":"LexLeanTarget.GnafCertificates","module":"GnafCertificates","source_path":"src/GnafCertificates.lex.tex"},{"lean_module":"LexLeanTarget.GnafFixtures","module":"GnafFixtures","source_path":"src/GnafFixtures.lex.tex"},{"lean_module":"LexLeanTarget.GradeOracle","module":"GradeOracle","source_path":"src/GradeOracle.lex.tex"},{"lean_module":"LexLeanTarget.Main","module":"Main","source_path":"src/Main.lex.tex"},{"lean_module":"LexLeanTarget.PlannerOracle","module":"PlannerOracle","source_path":"src/PlannerOracle.lex.tex"},{"lean_module":"LexLeanTarget.ReasoningFixtures","module":"ReasoningFixtures","source_path":"src/ReasoningFixtures.lex.tex"},{"lean_module":"LexLeanTarget.ReasoningOracle","module":"ReasoningOracle","source_path":"src/ReasoningOracle.lex.tex"},{"lean_module":"LexLeanTarget.RustSemantics","module":"RustSemantics","source_path":"src/RustSemantics.lex.tex"},{"lean_module":"LexLeanTarget.RustSyntax","module":"RustSyntax","source_path":"src/RustSyntax.lex.tex"},{"lean_module":"LexLeanTarget.ScreeningOracle","module":"ScreeningOracle","source_path":"src/ScreeningOracle.lex.tex"},{"lean_module":"LexLeanTarget.TargetFixtures","module":"TargetFixtures","source_path":"src/TargetFixtures.lex.tex"},{"lean_module":"LexLeanTarget.TargetOracle","module":"TargetOracle","source_path":"src/TargetOracle.lex.tex"},{"lean_module":"LexLeanTarget.TargetSemantics","module":"TargetSemantics","source_path":"src/TargetSemantics.lex.tex"},{"lean_module":"LexLeanTarget.TargetSyntax","module":"TargetSyntax","source_path":"src/TargetSyntax.lex.tex"}],"outputs":[{"byte_length":11203,"kind":"coverage","path":"coverage/LexLeanTarget/BudgetOracle.coverage.json","sha256":"bee7db40ff52b3fdc4b83dffaf9a733569daad350cd47033cadb503047806a56"},{"byte_length":27951,"kind":"coverage","path":"coverage/LexLeanTarget/Certification.coverage.json","sha256":"6c99b6e6049295af07bfe4c131bcf7f3b15875a9e9cb7cc142475df2f322c360"},{"byte_length":49330,"kind":"coverage","path":"coverage/LexLeanTarget/Gnaf.coverage.json","sha256":"5fd3abf8d0300abdc3c0516fdb0474dda45f92dffdcd2141a889e09201e60a20"},{"byte_length":57711,"kind":"coverage","path":"coverage/LexLeanTarget/GnafCertificates.coverage.json","sha256":"11987f846c4397e765f1678df11775374c59d34dc8c5943d8929d71297760633"},{"byte_length":66645,"kind":"coverage","path":"coverage/LexLeanTarget/GnafFixtures.coverage.json","sha256":"bd9dab4cd246a183b9db20001c3b172ca748b474553f1bc30b14f6d0dda92734"},{"byte_length":10453,"kind":"coverage","path":"coverage/LexLeanTarget/GradeOracle.coverage.json","sha256":"5b86eb3e37413e44b6a7d0b5378f8d392dd65930b2a0280c21df5db973698f56"},{"byte_length":16662,"kind":"coverage","path":"coverage/LexLeanTarget/Main.coverage.json","sha256":"ac5e6c5061f44d9d2708be6a63546834eba79fecbb2230b0e3458c5af3c43989"},{"byte_length":15889,"kind":"coverage","path":"coverage/LexLeanTarget/PlannerOracle.coverage.json","sha256":"229f44e7eb96d696403986bd4f1f917b5d3da54526fb7cfb3bbbe4b05e583a04"},{"byte_length":34095,"kind":"coverage","path":"coverage/LexLeanTarget/ReasoningFixtures.coverage.json","sha256":"12c71e696f141058f795f256a1b658b73cbe5523fc418807ee163e4a8100b901"},{"byte_length":21984,"kind":"coverage","path":"coverage/LexLeanTarget/ReasoningOracle.coverage.json","sha256":"e532dab3f76bd8190d968e8d87029fdf8d04400fbe4e2a7b5b6c82c0d6239a87"},{"byte_length":19536,"kind":"coverage","path":"coverage/LexLeanTarget/RustSemantics.coverage.json","sha256":"c6acae0e8efcda6f5d96214a36448d64e0e50e6c0f60a06d760d2e7cfb0fe2c2"},{"byte_length":12534,"kind":"coverage","path":"coverage/LexLeanTarget/RustSyntax.coverage.json","sha256":"b3469906edbf88096e355b158222af2ff743d2b6c623562c452d152a9cf571c9"},{"byte_length":11325,"kind":"coverage","path":"coverage/LexLeanTarget/ScreeningOracle.coverage.json","sha256":"d4bbe3c03f2d7672e49359e427617555b450fb56d21e6e82b5efa77823608d1a"},{"byte_length":101262,"kind":"coverage","path":"coverage/LexLeanTarget/TargetFixtures.coverage.json","sha256":"fa4c5e5e8ab0490478d06f4a94e2dbf81adeed1e1ea387b73a795d1a447ce9b3"},{"byte_length":9389,"kind":"coverage","path":"coverage/LexLeanTarget/TargetOracle.coverage.json","sha256":"027cf182140446894d350ce94a425b754b854d31bfdd65c147fb4a8aa5f3ceef"},{"byte_length":17767,"kind":"coverage","path":"coverage/LexLeanTarget/TargetSemantics.coverage.json","sha256":"49da4707896dc050eabb3b71d39e3b6cb329e7dbf16d70b61cdf11e0840a8b09"},{"byte_length":9810,"kind":"coverage","path":"coverage/LexLeanTarget/TargetSyntax.coverage.json","sha256":"6a2a365549546bf5b1ea4f2df51775ba3054c8be4e121c8594cf0868c5433524"},{"byte_length":82123,"kind":"lean","path":"modules/LexLeanTarget/BudgetOracle.lean","sha256":"8cd93b6daadd8c78bcc205c7436b6b74ce352c1fb53114a54087b62905823530"},{"byte_length":56544,"kind":"lean","path":"modules/LexLeanTarget/Certification.lean","sha256":"fb51f3e1bf534d0d09fd3d7ece5125b33ce1b6af26b4b2906a89f50178f1fb82"},{"byte_length":98327,"kind":"lean","path":"modules/LexLeanTarget/Gnaf.lean","sha256":"43a4260086d384ef89bd84598ad137878d58712a8a9b914346f1e61621e5ed13"},{"byte_length":105947,"kind":"lean","path":"modules/LexLeanTarget/GnafCertificates.lean","sha256":"3fac84aa9e8110b50cc2cf24ff9d4f49d1a7b49a816137f43497b6c3c5e78f09"},{"byte_length":850353,"kind":"lean","path":"modules/LexLeanTarget/GnafFixtures.lean","sha256":"ca5db55769dfd1579762d2b5b6a004213895dbff0bb498dc10743d863d2a2315"},{"byte_length":68200,"kind":"lean","path":"modules/LexLeanTarget/GradeOracle.lean","sha256":"54f83c666b0235b2c601bda9fcd1ec856dc2e61a7e45924a33aaf5ebe908bcb2"},{"byte_length":1128,"kind":"lean","path":"modules/LexLeanTarget/Main.lean","sha256":"cb359700a417929e8ff9dbb35fd9ff41f0eda211b7c36009d7b7e92d7baeff13"},{"byte_length":171515,"kind":"lean","path":"modules/LexLeanTarget/PlannerOracle.lean","sha256":"8a619e0d7fd920d090a8c9a4b409dd3f9cb10d2bb23731de2b6eac1703f19f81"},{"byte_length":896707,"kind":"lean","path":"modules/LexLeanTarget/ReasoningFixtures.lean","sha256":"cccf75a8f6c6d61da06a30177ab5001ec36132d16ee916d46c6d102d781a8d20"},{"byte_length":127211,"kind":"lean","path":"modules/LexLeanTarget/ReasoningOracle.lean","sha256":"307ce1adeb0f0185f3f6df86a2645de7e18e7137e8a5526f5aca116baed20ed6"},{"byte_length":100444,"kind":"lean","path":"modules/LexLeanTarget/RustSemantics.lean","sha256":"ceb343515e626351bcb76e32f89f2a55d76b0e1b441d368b8b9913daffec8d41"},{"byte_length":4479,"kind":"lean","path":"modules/LexLeanTarget/RustSyntax.lean","sha256":"868130ffaf54b20c9941a5aa4f7020c4a2ee403f4ca5dc4624fd3199d50e4b54"},{"byte_length":77020,"kind":"lean","path":"modules/LexLeanTarget/ScreeningOracle.lean","sha256":"d3c6807f6165d5b56ab239cd84ab1429961468da8d9518956152954f6cf3fd68"},{"byte_length":824225,"kind":"lean","path":"modules/LexLeanTarget/TargetFixtures.lean","sha256":"56a1f19a3260a15311aae1fccf9b8157bdfe6c1fedbb25dfa8f85738f2a62b62"},{"byte_length":2355,"kind":"lean","path":"modules/LexLeanTarget/TargetOracle.lean","sha256":"473b7729d1679099d5b81865f794eff6a68308c9cfa3b0ca61d8d1c7eadfffc3"},{"byte_length":364442,"kind":"lean","path":"modules/LexLeanTarget/TargetSemantics.lean","sha256":"b5a1dc8e9446ec164aeee3df9555139f36a250a07c82b80af5c73484388aefbd"},{"byte_length":2780,"kind":"lean","path":"modules/LexLeanTarget/TargetSyntax.lean","sha256":"c0e0bb061cfcdc7e7f4434e13fc8b7298dcb701db9ea8189e012d8068e04ee0c"},{"byte_length":10610,"kind":"lexicon-closure","path":"lexicons/BudgetOracle.closure.json","sha256":"77b793d6eeb5f55f9ee2676c6e61ecfcf8a47b1c7686bf8b5b82ed885098b3e5"},{"byte_length":10611,"kind":"lexicon-closure","path":"lexicons/Certification.closure.json","sha256":"14e70294074a52b88964920e91dbd1aec0c4ffe1d92a5c1d9e088a3cd3ae4630"},{"byte_length":10602,"kind":"lexicon-closure","path":"lexicons/Gnaf.closure.json","sha256":"bf67edea690a60515a1852bd8ce58435814a28f3c729c184ed9e1416095dec25"},{"byte_length":10614,"kind":"lexicon-closure","path":"lexicons/GnafCertificates.closure.json","sha256":"091d8cfb8676ac6b1863e0ee193aca1dff96149c6174590d429cb663d3a26b2c"},{"byte_length":10610,"kind":"lexicon-closure","path":"lexicons/GnafFixtures.closure.json","sha256":"40c76800549e30b23ec113ded9ec8507304bc1b731f556d9ff2ffff6926aa97d"},{"byte_length":10609,"kind":"lexicon-closure","path":"lexicons/GradeOracle.closure.json","sha256":"b00cae435e73a9572c6db7dfd4591933c5a96e318ff62494abbb5083ecfd9a25"},{"byte_length":10602,"kind":"lexicon-closure","path":"lexicons/Main.closure.json","sha256":"727110f90daff26a2e5eb8069fcefecd5790c1264f5d6d4b2ef57db1c2bfb867"},{"byte_length":10611,"kind":"lexicon-closure","path":"lexicons/PlannerOracle.closure.json","sha256":"f29a6aa1f51c4b5482937e400c71fc118ef91bf1ddbc4076634f1ac32da50ca0"},{"byte_length":10615,"kind":"lexicon-closure","path":"lexicons/ReasoningFixtures.closure.json","sha256":"47757b8545a4270046b387e54f183e44288d14b5b5ae1e0b7a939731582d445e"},{"byte_length":10613,"kind":"lexicon-closure","path":"lexicons/ReasoningOracle.closure.json","sha256":"291571e44ca093a6966ef282b10abcfaff1a0e0ff6e909f543cbb16924dbdaec"},{"byte_length":10611,"kind":"lexicon-closure","path":"lexicons/RustSemantics.closure.json","sha256":"152f56877c9492f618bfc1eb44a6d8eb04d8ffb1e05c52f685a98efe173b9c6b"},{"byte_length":10608,"kind":"lexicon-closure","path":"lexicons/RustSyntax.closure.json","sha256":"d000985e33e8be7f26117319c5adb68380f9e7c44977c65e112e80472428cd79"},{"byte_length":10613,"kind":"lexicon-closure","path":"lexicons/ScreeningOracle.closure.json","sha256":"6653713be4bb8465a19c48088477644f2065431e1008ff3b9371401eaaa011f4"},{"byte_length":10612,"kind":"lexicon-closure","path":"lexicons/TargetFixtures.closure.json","sha256":"40cf03e3d335319ccbd3328e8eff2af5867f25d16c05d8f2303ff1ba414b57a1"},{"byte_length":10610,"kind":"lexicon-closure","path":"lexicons/TargetOracle.closure.json","sha256":"7834c4ed29b8d8fc6acd24325adba002e08e766d77f5b5a3e64afe6aab086b1f"},{"byte_length":10613,"kind":"lexicon-closure","path":"lexicons/TargetSemantics.closure.json","sha256":"5649cb299c72ad2bf7cd8ff70369be255cd0f52c7cc980807e6e1a7544f884c9"},{"byte_length":10610,"kind":"lexicon-closure","path":"lexicons/TargetSyntax.closure.json","sha256":"c1860f7ba449c93990d46c5f27eeeaabf17e319169e0a37fe21efc12999de2aa"},{"byte_length":6234,"kind":"map","path":"maps/LexLeanTarget/BudgetOracle.map.json","sha256":"167d101d5954696c80d77b49a75b3f221e0875004597a032e4caabbd8686b457"},{"byte_length":24116,"kind":"map","path":"maps/LexLeanTarget/Certification.map.json","sha256":"fc749c5827147285b0f6e155903ccb75dfb1ec733f6b30292a574e8ef41798cd"},{"byte_length":51542,"kind":"map","path":"maps/LexLeanTarget/Gnaf.map.json","sha256":"889801803e02bd490ae21eaf01bbea41700ce30667747d71aeb24f98e041ca54"},{"byte_length":58783,"kind":"map","path":"maps/LexLeanTarget/GnafCertificates.map.json","sha256":"276a8c7e2cc8dc03c6528caecd28defc2068fff2642d18bab1ca99d6c4edecfc"},{"byte_length":72111,"kind":"map","path":"maps/LexLeanTarget/GnafFixtures.map.json","sha256":"7ac87e3650de052f5cf3127e462a049ac320e269124d99d63d3578c26c3899fc"},{"byte_length":4612,"kind":"map","path":"maps/LexLeanTarget/GradeOracle.map.json","sha256":"bdc8f3fb3c467992ca4360a1f36aaccbd7723e3122d244e927410f28fb8062de"},{"byte_length":1352,"kind":"map","path":"maps/LexLeanTarget/Main.map.json","sha256":"06a070bb160c803f6ade6e09ee4b05961f2e6e0a60f1070c96692dfc3ce62aa5"},{"byte_length":11781,"kind":"map","path":"maps/LexLeanTarget/PlannerOracle.map.json","sha256":"352ed29c13e51c898b68552f598463bdc8194f96dc4d1ba382b5c757deb7c787"},{"byte_length":28320,"kind":"map","path":"maps/LexLeanTarget/ReasoningFixtures.map.json","sha256":"fd59464637c0519496b67642a120e457d5af85e5ce628edf959c9bc243b2948e"},{"byte_length":19109,"kind":"map","path":"maps/LexLeanTarget/ReasoningOracle.map.json","sha256":"edd797b1ed2d07aa9aecd9ddfecae2dff95212d6f33fa3c9ddf74cefe897c52f"},{"byte_length":13915,"kind":"map","path":"maps/LexLeanTarget/RustSemantics.map.json","sha256":"1ce716639d4f241a6ba353ebcb027549c50cbde5d3c7544e932b55439461b780"},{"byte_length":7165,"kind":"map","path":"maps/LexLeanTarget/RustSyntax.map.json","sha256":"e537e30722b9bd12a6f875736218510a9982847f7ee6f2beacdf45cf20a32ced"},{"byte_length":6246,"kind":"map","path":"maps/LexLeanTarget/ScreeningOracle.map.json","sha256":"f29c37c5ffff97309dac69c325d739e9d4ff2addbd27daf0764fc30e216f15ed"},{"byte_length":114609,"kind":"map","path":"maps/LexLeanTarget/TargetFixtures.map.json","sha256":"46608f531afedddd33575388946dc317f3006df6065d389452d57143b829fd2d"},{"byte_length":3299,"kind":"map","path":"maps/LexLeanTarget/TargetOracle.map.json","sha256":"4dd63c4d71eafadd1e0696eedad98774786999cd985643c767432d57ccb4ce41"},{"byte_length":13194,"kind":"map","path":"maps/LexLeanTarget/TargetSemantics.map.json","sha256":"5027afc170610639eb7e3f990047f5fe90336f9f2d04a93234455c64e245cfed"},{"byte_length":4584,"kind":"map","path":"maps/LexLeanTarget/TargetSyntax.map.json","sha256":"c514d5488e3e6e6b63caf9addf5a2cd62a9813d365384a721ad2932b01b645b4"},{"byte_length":34987,"kind":"tex","path":"modules/LexLeanTarget/BudgetOracle.tex","sha256":"e119790e14fb08097a91884bd4d4576ecf25f73b8dfb77cb8a4a6974b9bd139c"},{"byte_length":57133,"kind":"tex","path":"modules/LexLeanTarget/Certification.tex","sha256":"cbed4c0f6e9999f341c5b6d0a46956f21c506c0a3c04512328ae53aa864c6a2e"},{"byte_length":111707,"kind":"tex","path":"modules/LexLeanTarget/Gnaf.tex","sha256":"f0af7a2df200270323f7d392f404b19a93ee74aa973bf12353a519fd9783dbfa"},{"byte_length":132342,"kind":"tex","path":"modules/LexLeanTarget/GnafCertificates.tex","sha256":"b48420c115ae3fa7c592a3ae5fdf9700f65605c7b1697a139c3791e8ff5506f5"},{"byte_length":885281,"kind":"tex","path":"modules/LexLeanTarget/GnafFixtures.tex","sha256":"fe73187797328af446b1920f7895621b6c16a8d2a0874484d163ab5c5ac99722"},{"byte_length":26691,"kind":"tex","path":"modules/LexLeanTarget/GradeOracle.tex","sha256":"660efcdb6b42661eab9deb5d35f2533182161e1126453b76403d0803ae92ac04"},{"byte_length":532,"kind":"tex","path":"modules/LexLeanTarget/Main.tex","sha256":"fb9b15c8eb40ef1542e9d69a6a3a8e9c242855157699cff8453d8c44becc08ec"},{"byte_length":90367,"kind":"tex","path":"modules/LexLeanTarget/PlannerOracle.tex","sha256":"1517be188348a5e8c29ecac93545fa4ac2338e802a7a030bfec7ccc6fb5317f1"},{"byte_length":912884,"kind":"tex","path":"modules/LexLeanTarget/ReasoningFixtures.tex","sha256":"2e3f3cf3328aebec9f71f3b003e371e2f4747156548f4157e26e84d502baac63"},{"byte_length":78159,"kind":"tex","path":"modules/LexLeanTarget/ReasoningOracle.tex","sha256":"9f22e4e59d2b2515287ca787c5bbef1669441372e69d090b8dbfbc4182088896"},{"byte_length":94786,"kind":"tex","path":"modules/LexLeanTarget/RustSemantics.tex","sha256":"49c608b1f2220836d6ddbdd204a91e44cdf44eb75c3a1b12c809d3236a65496e"},{"byte_length":11151,"kind":"tex","path":"modules/LexLeanTarget/RustSyntax.tex","sha256":"6e51a9b399de99a2a43a5742ba9f6d6203055e0c84fe5a39dbe1c03a264c0511"},{"byte_length":27194,"kind":"tex","path":"modules/LexLeanTarget/ScreeningOracle.tex","sha256":"dd053d08d2811509a8659e75b228530b5bff859bb749a955297b965407bf13e4"},{"byte_length":859771,"kind":"tex","path":"modules/LexLeanTarget/TargetFixtures.tex","sha256":"d81cf82e55307a02d34c830cb4e1101cb1c5b2accff59f66cb1836cf186a3de0"},{"byte_length":3601,"kind":"tex","path":"modules/LexLeanTarget/TargetOracle.tex","sha256":"3ac498bbc1902427cc192481895d2370cfb70bc2e5242ecb90ff8e29cb2edb48"},{"byte_length":353998,"kind":"tex","path":"modules/LexLeanTarget/TargetSemantics.tex","sha256":"126ab7711ed907166c1c788f0a3b63535938e5d26ca2666243dacd81b8df2564"},{"byte_length":8406,"kind":"tex","path":"modules/LexLeanTarget/TargetSyntax.tex","sha256":"4e700f7b548f26e0d8b27cb03b236a6c4375296d6ef87c46619aaf19fc2b33fa"}],"project":"compiler","selection":["BudgetOracle","Certification","Gnaf","GnafCertificates","GnafFixtures","GradeOracle","Main","PlannerOracle","ReasoningFixtures","ReasoningOracle","RustSemantics","RustSyntax","ScreeningOracle","TargetFixtures","TargetOracle","TargetSemantics","TargetSyntax"],"semantic_id":"db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9","source_id":"2f76ada498f17258f8a526df0820565414e563312654a2a7396b586dd3b407d1","spec":"lexlean/build-manifest/1"} +{"build_id":"bb0b998e713783cc8d57a3bc10464d00c7e83fc4e77482d94c67d50821016e42","compiler":{"semantics_id":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","version":"0.3.0"},"inputs":[{"byte_length":2684,"kind":"lexicon","path":"embedded","sha256":"3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b"},{"byte_length":14885,"kind":"lexicon","path":"embedded","sha256":"e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac"},{"byte_length":36197,"kind":"lexicon","path":"embedded","sha256":"827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392"},{"byte_length":1597,"kind":"lock","path":"lexlean.lock","sha256":"a085b7840951f3499f820e94549dc0194d95e41ef1211fd2b34c1ca581ae0900"},{"byte_length":643,"kind":"project-config","path":"lexlean.toml","sha256":"ef58478b65de0ad784269ab3513059f5afbb7f461bda9476efce78344301755e"},{"byte_length":4612,"kind":"source","path":"src/BudgetOracle.lex.tex","sha256":"c6545653dc603ec6710e038653686bd57e4b0e71fe362957cb0f0a5722898802"},{"byte_length":47895,"kind":"source","path":"src/Certification.lex.tex","sha256":"7e011c2fefdfd08c3f9d41a5cf5c891d72495aae7d4bc1e0b5d31a9d364c07fb"},{"byte_length":100847,"kind":"source","path":"src/Gnaf.lex.tex","sha256":"21b9c9174ae33fe77204e196a29a51463f2c9a400f7b305d33591c54f31d798d"},{"byte_length":105623,"kind":"source","path":"src/GnafCertificates.lex.tex","sha256":"498dafa5093f56f0a05bbddb58875aebc0769325386f2ca611f3a101d9368f64"},{"byte_length":680712,"kind":"source","path":"src/GnafFixtures.lex.tex","sha256":"e7f06e087d0ec40b8dd61f2fe1c51258ec55d93f5e5e16938c27598661e8d913"},{"byte_length":5030,"kind":"source","path":"src/GradeOracle.lex.tex","sha256":"1e19782f0fd76c6d49b5f7f5f29569f8f52b5d91397f0ec9921286cdd03b0fd0"},{"byte_length":811,"kind":"source","path":"src/Main.lex.tex","sha256":"a26d3c220ec1352dd96565ac2308c1684a945a98e1210b3dfaab30cd76dc1875"},{"byte_length":8685,"kind":"source","path":"src/PlannerOracle.lex.tex","sha256":"8579b13fcc26a5bdd3323388f400d1b0b805359f96fe4beea29b26bbaa79f50b"},{"byte_length":699968,"kind":"source","path":"src/ReasoningFixtures.lex.tex","sha256":"21de0c44ebce81bb7bb1b05a6e29815cc2e6c19a58a4c85459110bf3fd1dee9c"},{"byte_length":27419,"kind":"source","path":"src/ReasoningOracle.lex.tex","sha256":"7d5e680324c4fbffa4b8906aefe2e502d20994ff8cdaf223eb385e814bec77bb"},{"byte_length":103523,"kind":"source","path":"src/RustSemantics.lex.tex","sha256":"183644ea3d81403440add2ca225c82d462dde21a7c5a7928d2c313a12e9242b3"},{"byte_length":7619,"kind":"source","path":"src/RustSyntax.lex.tex","sha256":"9cbc4da6fc9441a03954f0979cbe4812aae0426811932e6ff1d6661043d3611f"},{"byte_length":3620,"kind":"source","path":"src/ScreeningOracle.lex.tex","sha256":"23fe7cb8804846c5418204184105f7381f5f36ddd2cdd1beec466416b5d12cb9"},{"byte_length":654074,"kind":"source","path":"src/TargetFixtures.lex.tex","sha256":"d746739ea3e78234f7a68280dc068d39b84f4064298a37383a8dc645bc188c27"},{"byte_length":2490,"kind":"source","path":"src/TargetOracle.lex.tex","sha256":"e34fca12090e04d8a853d4edfc9ae8db46d09ec586f2820f25d69c8ab3a7fb2d"},{"byte_length":426639,"kind":"source","path":"src/TargetSemantics.lex.tex","sha256":"92551ec717ba14a68c53203b5ea1f68359902201116de69c2816668038eb4a60"},{"byte_length":5518,"kind":"source","path":"src/TargetSyntax.lex.tex","sha256":"943d39daf9ece2d492cf8b15ba2df218f84031dbf0757b8ee765d240df55276e"}],"language":"1.2","lean_toolchain":"leanprover/lean4:v4.32.1","modules":[{"lean_module":"LexLeanTarget.BudgetOracle","module":"BudgetOracle","source_path":"src/BudgetOracle.lex.tex"},{"lean_module":"LexLeanTarget.Certification","module":"Certification","source_path":"src/Certification.lex.tex"},{"lean_module":"LexLeanTarget.Gnaf","module":"Gnaf","source_path":"src/Gnaf.lex.tex"},{"lean_module":"LexLeanTarget.GnafCertificates","module":"GnafCertificates","source_path":"src/GnafCertificates.lex.tex"},{"lean_module":"LexLeanTarget.GnafFixtures","module":"GnafFixtures","source_path":"src/GnafFixtures.lex.tex"},{"lean_module":"LexLeanTarget.GradeOracle","module":"GradeOracle","source_path":"src/GradeOracle.lex.tex"},{"lean_module":"LexLeanTarget.Main","module":"Main","source_path":"src/Main.lex.tex"},{"lean_module":"LexLeanTarget.PlannerOracle","module":"PlannerOracle","source_path":"src/PlannerOracle.lex.tex"},{"lean_module":"LexLeanTarget.ReasoningFixtures","module":"ReasoningFixtures","source_path":"src/ReasoningFixtures.lex.tex"},{"lean_module":"LexLeanTarget.ReasoningOracle","module":"ReasoningOracle","source_path":"src/ReasoningOracle.lex.tex"},{"lean_module":"LexLeanTarget.RustSemantics","module":"RustSemantics","source_path":"src/RustSemantics.lex.tex"},{"lean_module":"LexLeanTarget.RustSyntax","module":"RustSyntax","source_path":"src/RustSyntax.lex.tex"},{"lean_module":"LexLeanTarget.ScreeningOracle","module":"ScreeningOracle","source_path":"src/ScreeningOracle.lex.tex"},{"lean_module":"LexLeanTarget.TargetFixtures","module":"TargetFixtures","source_path":"src/TargetFixtures.lex.tex"},{"lean_module":"LexLeanTarget.TargetOracle","module":"TargetOracle","source_path":"src/TargetOracle.lex.tex"},{"lean_module":"LexLeanTarget.TargetSemantics","module":"TargetSemantics","source_path":"src/TargetSemantics.lex.tex"},{"lean_module":"LexLeanTarget.TargetSyntax","module":"TargetSyntax","source_path":"src/TargetSyntax.lex.tex"}],"outputs":[{"byte_length":11165,"kind":"coverage","path":"coverage/LexLeanTarget/BudgetOracle.coverage.json","sha256":"c66e6ad8c27f799d8728bfd43ab5619f2284d17778ebc3d0cd4b9edc3245aa79"},{"byte_length":27889,"kind":"coverage","path":"coverage/LexLeanTarget/Certification.coverage.json","sha256":"d1fd9f61561ef5bf24e63f9909565eb91ae3ab75c0dcb99fe3d58c683536af92"},{"byte_length":49254,"kind":"coverage","path":"coverage/LexLeanTarget/Gnaf.coverage.json","sha256":"0d50115903a6801a603450a86c3916b027d999d99a86635329fb894f776f92ad"},{"byte_length":57711,"kind":"coverage","path":"coverage/LexLeanTarget/GnafCertificates.coverage.json","sha256":"11987f846c4397e765f1678df11775374c59d34dc8c5943d8929d71297760633"},{"byte_length":66645,"kind":"coverage","path":"coverage/LexLeanTarget/GnafFixtures.coverage.json","sha256":"bd9dab4cd246a183b9db20001c3b172ca748b474553f1bc30b14f6d0dda92734"},{"byte_length":10425,"kind":"coverage","path":"coverage/LexLeanTarget/GradeOracle.coverage.json","sha256":"5a6122526902cc0ce7d19ab9a78298af90ec7628040b8c72fa3dc211e93cf94f"},{"byte_length":16662,"kind":"coverage","path":"coverage/LexLeanTarget/Main.coverage.json","sha256":"ac5e6c5061f44d9d2708be6a63546834eba79fecbb2230b0e3458c5af3c43989"},{"byte_length":15849,"kind":"coverage","path":"coverage/LexLeanTarget/PlannerOracle.coverage.json","sha256":"2ad1d6ace5bc7069179409113a6cbdabf05434f6fba729007a3755c440f5f0d3"},{"byte_length":34095,"kind":"coverage","path":"coverage/LexLeanTarget/ReasoningFixtures.coverage.json","sha256":"12c71e696f141058f795f256a1b658b73cbe5523fc418807ee163e4a8100b901"},{"byte_length":21919,"kind":"coverage","path":"coverage/LexLeanTarget/ReasoningOracle.coverage.json","sha256":"e18ba388d7f622b32d66724ef404b04beb7e5551c9804cf4c7fcf45726a6edaf"},{"byte_length":19509,"kind":"coverage","path":"coverage/LexLeanTarget/RustSemantics.coverage.json","sha256":"a1db132f98ddbcf22dc61de28715de5a4e328728ec2b47c0c626ba1d3dafde74"},{"byte_length":12534,"kind":"coverage","path":"coverage/LexLeanTarget/RustSyntax.coverage.json","sha256":"b3469906edbf88096e355b158222af2ff743d2b6c623562c452d152a9cf571c9"},{"byte_length":11289,"kind":"coverage","path":"coverage/LexLeanTarget/ScreeningOracle.coverage.json","sha256":"eb39f94aecd6dfd6684b62fcf09f57aec7075cc679be549fb161f4a8952d08ac"},{"byte_length":101228,"kind":"coverage","path":"coverage/LexLeanTarget/TargetFixtures.coverage.json","sha256":"6624fc93ffffd63b7abc490cef8be822fa432ae5231488dbb57000faedecb56d"},{"byte_length":9389,"kind":"coverage","path":"coverage/LexLeanTarget/TargetOracle.coverage.json","sha256":"027cf182140446894d350ce94a425b754b854d31bfdd65c147fb4a8aa5f3ceef"},{"byte_length":17711,"kind":"coverage","path":"coverage/LexLeanTarget/TargetSemantics.coverage.json","sha256":"8c2275847f042368e2bed11862523e1c96d7cc4a56a66c954ab43f47ff9735a0"},{"byte_length":9810,"kind":"coverage","path":"coverage/LexLeanTarget/TargetSyntax.coverage.json","sha256":"6a2a365549546bf5b1ea4f2df51775ba3054c8be4e121c8594cf0868c5433524"},{"byte_length":48202,"kind":"lean","path":"modules/LexLeanTarget/BudgetOracle.lean","sha256":"054bce5ec9a835a8615f541342d0e8f74d587d92d7d401938535cdde44120bd3"},{"byte_length":43091,"kind":"lean","path":"modules/LexLeanTarget/Certification.lean","sha256":"0484010f2efcdb78dd9bb28c7294d41f1587af73993e1f15466b1f372019ab6a"},{"byte_length":84874,"kind":"lean","path":"modules/LexLeanTarget/Gnaf.lean","sha256":"962a93bd8f993c56c9bdfafd527fe52c49a3868fc2180460ee11292f21898c9e"},{"byte_length":105947,"kind":"lean","path":"modules/LexLeanTarget/GnafCertificates.lean","sha256":"3fac84aa9e8110b50cc2cf24ff9d4f49d1a7b49a816137f43497b6c3c5e78f09"},{"byte_length":850353,"kind":"lean","path":"modules/LexLeanTarget/GnafFixtures.lean","sha256":"ca5db55769dfd1579762d2b5b6a004213895dbff0bb498dc10743d863d2a2315"},{"byte_length":34279,"kind":"lean","path":"modules/LexLeanTarget/GradeOracle.lean","sha256":"f4fdd2a41da7e3bf25b1f5cf12735ae4921624fbbbea140c84d4888ee1d55625"},{"byte_length":1128,"kind":"lean","path":"modules/LexLeanTarget/Main.lean","sha256":"cb359700a417929e8ff9dbb35fd9ff41f0eda211b7c36009d7b7e92d7baeff13"},{"byte_length":137594,"kind":"lean","path":"modules/LexLeanTarget/PlannerOracle.lean","sha256":"115a924ce44a4fbc23795bd06de148f00041a320a30950bce6ddb0a3b423428d"},{"byte_length":896707,"kind":"lean","path":"modules/LexLeanTarget/ReasoningFixtures.lean","sha256":"cccf75a8f6c6d61da06a30177ab5001ec36132d16ee916d46c6d102d781a8d20"},{"byte_length":93290,"kind":"lean","path":"modules/LexLeanTarget/ReasoningOracle.lean","sha256":"0d6342cff9c857373afa5e5fda438bde55f16ba6b303826a174b76ec137acc9a"},{"byte_length":86991,"kind":"lean","path":"modules/LexLeanTarget/RustSemantics.lean","sha256":"e19e285327ea0eead677ef40d4fb3a9d0b297570e432c4ee357af7a7abc9b6b9"},{"byte_length":4479,"kind":"lean","path":"modules/LexLeanTarget/RustSyntax.lean","sha256":"868130ffaf54b20c9941a5aa4f7020c4a2ee403f4ca5dc4624fd3199d50e4b54"},{"byte_length":38034,"kind":"lean","path":"modules/LexLeanTarget/ScreeningOracle.lean","sha256":"592d93a81c5988292b3dc48aea9ab6dec13d86c0427b925b6f75af5ebf5524ac"},{"byte_length":802797,"kind":"lean","path":"modules/LexLeanTarget/TargetFixtures.lean","sha256":"2aa09bdc3b28620ffbf96e843d59c667ac7836c704951e95f7d14fcc93d56a9c"},{"byte_length":2355,"kind":"lean","path":"modules/LexLeanTarget/TargetOracle.lean","sha256":"473b7729d1679099d5b81865f794eff6a68308c9cfa3b0ca61d8d1c7eadfffc3"},{"byte_length":343014,"kind":"lean","path":"modules/LexLeanTarget/TargetSemantics.lean","sha256":"f8f6c6085c0dd1bbc8b6cd8fc49d4c3800e65c9c0033874c735341edef1291b9"},{"byte_length":2780,"kind":"lean","path":"modules/LexLeanTarget/TargetSyntax.lean","sha256":"c0e0bb061cfcdc7e7f4434e13fc8b7298dcb701db9ea8189e012d8068e04ee0c"},{"byte_length":10610,"kind":"lexicon-closure","path":"lexicons/BudgetOracle.closure.json","sha256":"77b793d6eeb5f55f9ee2676c6e61ecfcf8a47b1c7686bf8b5b82ed885098b3e5"},{"byte_length":10611,"kind":"lexicon-closure","path":"lexicons/Certification.closure.json","sha256":"14e70294074a52b88964920e91dbd1aec0c4ffe1d92a5c1d9e088a3cd3ae4630"},{"byte_length":10602,"kind":"lexicon-closure","path":"lexicons/Gnaf.closure.json","sha256":"bf67edea690a60515a1852bd8ce58435814a28f3c729c184ed9e1416095dec25"},{"byte_length":10614,"kind":"lexicon-closure","path":"lexicons/GnafCertificates.closure.json","sha256":"091d8cfb8676ac6b1863e0ee193aca1dff96149c6174590d429cb663d3a26b2c"},{"byte_length":10610,"kind":"lexicon-closure","path":"lexicons/GnafFixtures.closure.json","sha256":"40c76800549e30b23ec113ded9ec8507304bc1b731f556d9ff2ffff6926aa97d"},{"byte_length":10609,"kind":"lexicon-closure","path":"lexicons/GradeOracle.closure.json","sha256":"b00cae435e73a9572c6db7dfd4591933c5a96e318ff62494abbb5083ecfd9a25"},{"byte_length":10602,"kind":"lexicon-closure","path":"lexicons/Main.closure.json","sha256":"727110f90daff26a2e5eb8069fcefecd5790c1264f5d6d4b2ef57db1c2bfb867"},{"byte_length":10611,"kind":"lexicon-closure","path":"lexicons/PlannerOracle.closure.json","sha256":"f29a6aa1f51c4b5482937e400c71fc118ef91bf1ddbc4076634f1ac32da50ca0"},{"byte_length":10615,"kind":"lexicon-closure","path":"lexicons/ReasoningFixtures.closure.json","sha256":"47757b8545a4270046b387e54f183e44288d14b5b5ae1e0b7a939731582d445e"},{"byte_length":10613,"kind":"lexicon-closure","path":"lexicons/ReasoningOracle.closure.json","sha256":"291571e44ca093a6966ef282b10abcfaff1a0e0ff6e909f543cbb16924dbdaec"},{"byte_length":10611,"kind":"lexicon-closure","path":"lexicons/RustSemantics.closure.json","sha256":"152f56877c9492f618bfc1eb44a6d8eb04d8ffb1e05c52f685a98efe173b9c6b"},{"byte_length":10608,"kind":"lexicon-closure","path":"lexicons/RustSyntax.closure.json","sha256":"d000985e33e8be7f26117319c5adb68380f9e7c44977c65e112e80472428cd79"},{"byte_length":10613,"kind":"lexicon-closure","path":"lexicons/ScreeningOracle.closure.json","sha256":"6653713be4bb8465a19c48088477644f2065431e1008ff3b9371401eaaa011f4"},{"byte_length":10612,"kind":"lexicon-closure","path":"lexicons/TargetFixtures.closure.json","sha256":"40cf03e3d335319ccbd3328e8eff2af5867f25d16c05d8f2303ff1ba414b57a1"},{"byte_length":10610,"kind":"lexicon-closure","path":"lexicons/TargetOracle.closure.json","sha256":"7834c4ed29b8d8fc6acd24325adba002e08e766d77f5b5a3e64afe6aab086b1f"},{"byte_length":10613,"kind":"lexicon-closure","path":"lexicons/TargetSemantics.closure.json","sha256":"5649cb299c72ad2bf7cd8ff70369be255cd0f52c7cc980807e6e1a7544f884c9"},{"byte_length":10610,"kind":"lexicon-closure","path":"lexicons/TargetSyntax.closure.json","sha256":"c1860f7ba449c93990d46c5f27eeeaabf17e319169e0a37fe21efc12999de2aa"},{"byte_length":6196,"kind":"map","path":"maps/LexLeanTarget/BudgetOracle.map.json","sha256":"f2d01340676c21060525040c359871db63f76c90fdba1552f2f222afec2773bc"},{"byte_length":24054,"kind":"map","path":"maps/LexLeanTarget/Certification.map.json","sha256":"581038b1c1486605dbeec91b1dbe7e4f9f609cbf3000ad997f395ba6204c5c84"},{"byte_length":51466,"kind":"map","path":"maps/LexLeanTarget/Gnaf.map.json","sha256":"7532aafa51074457ea0906e09f36968714ab2af25a44dd1923e09c240a93d479"},{"byte_length":58783,"kind":"map","path":"maps/LexLeanTarget/GnafCertificates.map.json","sha256":"00fa703d2765f6686bc315354a5e26ccb8c04340e3b771f695e5720a4faba29c"},{"byte_length":72111,"kind":"map","path":"maps/LexLeanTarget/GnafFixtures.map.json","sha256":"39a1f203763ced05c92041a65d105da824c690b1a67309b26f70b990bdcdc014"},{"byte_length":4584,"kind":"map","path":"maps/LexLeanTarget/GradeOracle.map.json","sha256":"df838334b88b7cd82ff1baaa3791d9a4d93722434e2180dde93bd55324f41929"},{"byte_length":1352,"kind":"map","path":"maps/LexLeanTarget/Main.map.json","sha256":"fb613e992d9fcf29fa009e11abb6996d85b9f482fcaf9fea8c25cb7c48f0f0fa"},{"byte_length":11741,"kind":"map","path":"maps/LexLeanTarget/PlannerOracle.map.json","sha256":"5bf9cc5b01c65e32323b68f0f9bd7e152e169dc98cc0e3b5168abfcb2e2be0a4"},{"byte_length":28320,"kind":"map","path":"maps/LexLeanTarget/ReasoningFixtures.map.json","sha256":"480ceee1c655d345e22abede5298b80ec0edb145ff6168916888d81589a596a7"},{"byte_length":19044,"kind":"map","path":"maps/LexLeanTarget/ReasoningOracle.map.json","sha256":"897b1e8cfb7f38fe22619e2d6cab6415a9927360af8112aa7ef03c21976280b6"},{"byte_length":13888,"kind":"map","path":"maps/LexLeanTarget/RustSemantics.map.json","sha256":"6098416dfd5ee4662600b197d4aad3dae16b2000e0e957bd57e19a6992d22bc9"},{"byte_length":7165,"kind":"map","path":"maps/LexLeanTarget/RustSyntax.map.json","sha256":"2144355384a45c83ea62795e19a7acc3f0a705786d3fadd2f9d389ce1fb307a3"},{"byte_length":6210,"kind":"map","path":"maps/LexLeanTarget/ScreeningOracle.map.json","sha256":"4f4a63b1f3040a2d319c7f6c29f75c445364178547993673a3052ac4b3457a5d"},{"byte_length":114575,"kind":"map","path":"maps/LexLeanTarget/TargetFixtures.map.json","sha256":"2b4c72e661dae91e3a4988829384e0130e392d23fc1f2a565e2be863adff14d6"},{"byte_length":3299,"kind":"map","path":"maps/LexLeanTarget/TargetOracle.map.json","sha256":"70ea211e845952ea84300d983207d85c02e3245a374c451a14b62df858b7ea37"},{"byte_length":13138,"kind":"map","path":"maps/LexLeanTarget/TargetSemantics.map.json","sha256":"7f2b85003d6dbeee74cb7db14084464abfedbe8f484e4a0674220fdab1b0d4de"},{"byte_length":4584,"kind":"map","path":"maps/LexLeanTarget/TargetSyntax.map.json","sha256":"39ece279d4df037e13397a1126ee6b2ef024696ec81aa56f22e0f8d76690b225"},{"byte_length":34987,"kind":"tex","path":"modules/LexLeanTarget/BudgetOracle.tex","sha256":"e119790e14fb08097a91884bd4d4576ecf25f73b8dfb77cb8a4a6974b9bd139c"},{"byte_length":57133,"kind":"tex","path":"modules/LexLeanTarget/Certification.tex","sha256":"cbed4c0f6e9999f341c5b6d0a46956f21c506c0a3c04512328ae53aa864c6a2e"},{"byte_length":111707,"kind":"tex","path":"modules/LexLeanTarget/Gnaf.tex","sha256":"f0af7a2df200270323f7d392f404b19a93ee74aa973bf12353a519fd9783dbfa"},{"byte_length":132342,"kind":"tex","path":"modules/LexLeanTarget/GnafCertificates.tex","sha256":"b48420c115ae3fa7c592a3ae5fdf9700f65605c7b1697a139c3791e8ff5506f5"},{"byte_length":885281,"kind":"tex","path":"modules/LexLeanTarget/GnafFixtures.tex","sha256":"fe73187797328af446b1920f7895621b6c16a8d2a0874484d163ab5c5ac99722"},{"byte_length":26691,"kind":"tex","path":"modules/LexLeanTarget/GradeOracle.tex","sha256":"660efcdb6b42661eab9deb5d35f2533182161e1126453b76403d0803ae92ac04"},{"byte_length":532,"kind":"tex","path":"modules/LexLeanTarget/Main.tex","sha256":"fb9b15c8eb40ef1542e9d69a6a3a8e9c242855157699cff8453d8c44becc08ec"},{"byte_length":90367,"kind":"tex","path":"modules/LexLeanTarget/PlannerOracle.tex","sha256":"1517be188348a5e8c29ecac93545fa4ac2338e802a7a030bfec7ccc6fb5317f1"},{"byte_length":912884,"kind":"tex","path":"modules/LexLeanTarget/ReasoningFixtures.tex","sha256":"2e3f3cf3328aebec9f71f3b003e371e2f4747156548f4157e26e84d502baac63"},{"byte_length":78159,"kind":"tex","path":"modules/LexLeanTarget/ReasoningOracle.tex","sha256":"9f22e4e59d2b2515287ca787c5bbef1669441372e69d090b8dbfbc4182088896"},{"byte_length":94786,"kind":"tex","path":"modules/LexLeanTarget/RustSemantics.tex","sha256":"49c608b1f2220836d6ddbdd204a91e44cdf44eb75c3a1b12c809d3236a65496e"},{"byte_length":11151,"kind":"tex","path":"modules/LexLeanTarget/RustSyntax.tex","sha256":"6e51a9b399de99a2a43a5742ba9f6d6203055e0c84fe5a39dbe1c03a264c0511"},{"byte_length":27194,"kind":"tex","path":"modules/LexLeanTarget/ScreeningOracle.tex","sha256":"dd053d08d2811509a8659e75b228530b5bff859bb749a955297b965407bf13e4"},{"byte_length":859771,"kind":"tex","path":"modules/LexLeanTarget/TargetFixtures.tex","sha256":"d81cf82e55307a02d34c830cb4e1101cb1c5b2accff59f66cb1836cf186a3de0"},{"byte_length":3601,"kind":"tex","path":"modules/LexLeanTarget/TargetOracle.tex","sha256":"3ac498bbc1902427cc192481895d2370cfb70bc2e5242ecb90ff8e29cb2edb48"},{"byte_length":353998,"kind":"tex","path":"modules/LexLeanTarget/TargetSemantics.tex","sha256":"126ab7711ed907166c1c788f0a3b63535938e5d26ca2666243dacd81b8df2564"},{"byte_length":8406,"kind":"tex","path":"modules/LexLeanTarget/TargetSyntax.tex","sha256":"4e700f7b548f26e0d8b27cb03b236a6c4375296d6ef87c46619aaf19fc2b33fa"}],"project":"compiler","selection":["BudgetOracle","Certification","Gnaf","GnafCertificates","GnafFixtures","GradeOracle","Main","PlannerOracle","ReasoningFixtures","ReasoningOracle","RustSemantics","RustSyntax","ScreeningOracle","TargetFixtures","TargetOracle","TargetSemantics","TargetSyntax"],"semantic_id":"322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a","source_id":"fc8fbbd2922aa3e7a7463e6862d110709e47f518802f63748cd199cee6055a74","spec":"lexlean/build-manifest/1"} diff --git a/compiler/expected/build/maps/LexLeanTarget/BudgetOracle.map.json b/compiler/expected/build/maps/LexLeanTarget/BudgetOracle.map.json index 580928126..7d7c6145a 100644 --- a/compiler/expected/build/maps/LexLeanTarget/BudgetOracle.map.json +++ b/compiler/expected/build/maps/LexLeanTarget/BudgetOracle.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/BudgetOracle.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/BudgetOracle.tex"}],"mappings":[{"artifact":0,"gen_end":34248,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":4612,"src_start":0},{"artifact":0,"gen_end":34391,"gen_start":34248,"node":1,"role":"declaration","source":0,"src_end":300,"src_start":121},{"artifact":0,"gen_end":34472,"gen_start":34391,"node":2,"role":"declaration","source":0,"src_end":424,"src_start":302},{"artifact":0,"gen_end":34473,"gen_start":34472,"node":3,"role":"declaration","source":0,"src_end":564,"src_start":426},{"artifact":0,"gen_end":34959,"gen_start":34473,"node":4,"role":"declaration","source":0,"src_end":843,"src_start":566},{"artifact":0,"gen_end":35474,"gen_start":34959,"node":5,"role":"declaration","source":0,"src_end":1154,"src_start":845},{"artifact":0,"gen_end":36911,"gen_start":35474,"node":6,"role":"declaration","source":0,"src_end":1458,"src_start":1156},{"artifact":0,"gen_end":37430,"gen_start":36911,"node":7,"role":"declaration","source":0,"src_end":1761,"src_start":1460},{"artifact":0,"gen_end":37978,"gen_start":37430,"node":8,"role":"declaration","source":0,"src_end":2096,"src_start":1763},{"artifact":0,"gen_end":39648,"gen_start":37978,"node":9,"role":"declaration","source":0,"src_end":2489,"src_start":2098},{"artifact":0,"gen_end":39735,"gen_start":39648,"node":10,"role":"declaration","source":0,"src_end":2608,"src_start":2491},{"artifact":0,"gen_end":39826,"gen_start":39735,"node":11,"role":"declaration","source":0,"src_end":2753,"src_start":2610},{"artifact":0,"gen_end":40270,"gen_start":39826,"node":12,"role":"declaration","source":0,"src_end":2992,"src_start":2755},{"artifact":0,"gen_end":40475,"gen_start":40270,"node":13,"role":"declaration","source":0,"src_end":3200,"src_start":2994},{"artifact":0,"gen_end":40918,"gen_start":40475,"node":14,"role":"declaration","source":0,"src_end":3461,"src_start":3202},{"artifact":0,"gen_end":62859,"gen_start":40918,"node":15,"role":"declaration","source":0,"src_end":4034,"src_start":3463},{"artifact":0,"gen_end":82091,"gen_start":62859,"node":16,"role":"declaration","source":0,"src_end":4576,"src_start":4036},{"artifact":0,"gen_end":82123,"gen_start":82091,"node":0,"role":"declaration","source":0,"src_end":4612,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":17,"role":"declaration","source":0,"src_end":4612,"src_start":0},{"artifact":1,"gen_end":497,"gen_start":134,"node":18,"role":"declaration","source":0,"src_end":300,"src_start":121},{"artifact":1,"gen_end":794,"gen_start":497,"node":19,"role":"declaration","source":0,"src_end":424,"src_start":302},{"artifact":1,"gen_end":1045,"gen_start":794,"node":20,"role":"declaration","source":0,"src_end":564,"src_start":426},{"artifact":1,"gen_end":1428,"gen_start":1045,"node":21,"role":"declaration","source":0,"src_end":843,"src_start":566},{"artifact":1,"gen_end":1836,"gen_start":1428,"node":22,"role":"declaration","source":0,"src_end":1154,"src_start":845},{"artifact":1,"gen_end":3715,"gen_start":1836,"node":23,"role":"declaration","source":0,"src_end":1458,"src_start":1156},{"artifact":1,"gen_end":4133,"gen_start":3715,"node":24,"role":"declaration","source":0,"src_end":1761,"src_start":1460},{"artifact":1,"gen_end":4576,"gen_start":4133,"node":25,"role":"declaration","source":0,"src_end":2096,"src_start":1763},{"artifact":1,"gen_end":6863,"gen_start":4576,"node":26,"role":"declaration","source":0,"src_end":2489,"src_start":2098},{"artifact":1,"gen_end":7154,"gen_start":6863,"node":27,"role":"declaration","source":0,"src_end":2608,"src_start":2491},{"artifact":1,"gen_end":7525,"gen_start":7154,"node":28,"role":"declaration","source":0,"src_end":2753,"src_start":2610},{"artifact":1,"gen_end":7842,"gen_start":7525,"node":29,"role":"declaration","source":0,"src_end":2992,"src_start":2755},{"artifact":1,"gen_end":8490,"gen_start":7842,"node":30,"role":"declaration","source":0,"src_end":3200,"src_start":2994},{"artifact":1,"gen_end":8826,"gen_start":8490,"node":31,"role":"declaration","source":0,"src_end":3461,"src_start":3202},{"artifact":1,"gen_end":22640,"gen_start":8826,"node":32,"role":"declaration","source":0,"src_end":4034,"src_start":3463},{"artifact":1,"gen_end":34972,"gen_start":22640,"node":33,"role":"declaration","source":0,"src_end":4576,"src_start":4036},{"artifact":1,"gen_end":34987,"gen_start":34972,"node":17,"role":"declaration","source":0,"src_end":4612,"src_start":0}],"module":"BudgetOracle","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-latex-module"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"}],"semantic_id":"db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9","source_id":"2f76ada498f17258f8a526df0820565414e563312654a2a7396b586dd3b407d1","sources":[{"id":0,"kind":"file","path":"src/BudgetOracle.lex.tex","sha256":"c6545653dc603ec6710e038653686bd57e4b0e71fe362957cb0f0a5722898802"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/BudgetOracle.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/BudgetOracle.tex"}],"mappings":[{"artifact":0,"gen_end":327,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":4612,"src_start":0},{"artifact":0,"gen_end":470,"gen_start":327,"node":1,"role":"declaration","source":0,"src_end":300,"src_start":121},{"artifact":0,"gen_end":551,"gen_start":470,"node":2,"role":"declaration","source":0,"src_end":424,"src_start":302},{"artifact":0,"gen_end":552,"gen_start":551,"node":3,"role":"declaration","source":0,"src_end":564,"src_start":426},{"artifact":0,"gen_end":1038,"gen_start":552,"node":4,"role":"declaration","source":0,"src_end":843,"src_start":566},{"artifact":0,"gen_end":1553,"gen_start":1038,"node":5,"role":"declaration","source":0,"src_end":1154,"src_start":845},{"artifact":0,"gen_end":2990,"gen_start":1553,"node":6,"role":"declaration","source":0,"src_end":1458,"src_start":1156},{"artifact":0,"gen_end":3509,"gen_start":2990,"node":7,"role":"declaration","source":0,"src_end":1761,"src_start":1460},{"artifact":0,"gen_end":4057,"gen_start":3509,"node":8,"role":"declaration","source":0,"src_end":2096,"src_start":1763},{"artifact":0,"gen_end":5727,"gen_start":4057,"node":9,"role":"declaration","source":0,"src_end":2489,"src_start":2098},{"artifact":0,"gen_end":5814,"gen_start":5727,"node":10,"role":"declaration","source":0,"src_end":2608,"src_start":2491},{"artifact":0,"gen_end":5905,"gen_start":5814,"node":11,"role":"declaration","source":0,"src_end":2753,"src_start":2610},{"artifact":0,"gen_end":6349,"gen_start":5905,"node":12,"role":"declaration","source":0,"src_end":2992,"src_start":2755},{"artifact":0,"gen_end":6554,"gen_start":6349,"node":13,"role":"declaration","source":0,"src_end":3200,"src_start":2994},{"artifact":0,"gen_end":6997,"gen_start":6554,"node":14,"role":"declaration","source":0,"src_end":3461,"src_start":3202},{"artifact":0,"gen_end":28938,"gen_start":6997,"node":15,"role":"declaration","source":0,"src_end":4034,"src_start":3463},{"artifact":0,"gen_end":48170,"gen_start":28938,"node":16,"role":"declaration","source":0,"src_end":4576,"src_start":4036},{"artifact":0,"gen_end":48202,"gen_start":48170,"node":0,"role":"declaration","source":0,"src_end":4612,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":17,"role":"declaration","source":0,"src_end":4612,"src_start":0},{"artifact":1,"gen_end":497,"gen_start":134,"node":18,"role":"declaration","source":0,"src_end":300,"src_start":121},{"artifact":1,"gen_end":794,"gen_start":497,"node":19,"role":"declaration","source":0,"src_end":424,"src_start":302},{"artifact":1,"gen_end":1045,"gen_start":794,"node":20,"role":"declaration","source":0,"src_end":564,"src_start":426},{"artifact":1,"gen_end":1428,"gen_start":1045,"node":21,"role":"declaration","source":0,"src_end":843,"src_start":566},{"artifact":1,"gen_end":1836,"gen_start":1428,"node":22,"role":"declaration","source":0,"src_end":1154,"src_start":845},{"artifact":1,"gen_end":3715,"gen_start":1836,"node":23,"role":"declaration","source":0,"src_end":1458,"src_start":1156},{"artifact":1,"gen_end":4133,"gen_start":3715,"node":24,"role":"declaration","source":0,"src_end":1761,"src_start":1460},{"artifact":1,"gen_end":4576,"gen_start":4133,"node":25,"role":"declaration","source":0,"src_end":2096,"src_start":1763},{"artifact":1,"gen_end":6863,"gen_start":4576,"node":26,"role":"declaration","source":0,"src_end":2489,"src_start":2098},{"artifact":1,"gen_end":7154,"gen_start":6863,"node":27,"role":"declaration","source":0,"src_end":2608,"src_start":2491},{"artifact":1,"gen_end":7525,"gen_start":7154,"node":28,"role":"declaration","source":0,"src_end":2753,"src_start":2610},{"artifact":1,"gen_end":7842,"gen_start":7525,"node":29,"role":"declaration","source":0,"src_end":2992,"src_start":2755},{"artifact":1,"gen_end":8490,"gen_start":7842,"node":30,"role":"declaration","source":0,"src_end":3200,"src_start":2994},{"artifact":1,"gen_end":8826,"gen_start":8490,"node":31,"role":"declaration","source":0,"src_end":3461,"src_start":3202},{"artifact":1,"gen_end":22640,"gen_start":8826,"node":32,"role":"declaration","source":0,"src_end":4034,"src_start":3463},{"artifact":1,"gen_end":34972,"gen_start":22640,"node":33,"role":"declaration","source":0,"src_end":4576,"src_start":4036},{"artifact":1,"gen_end":34987,"gen_start":34972,"node":17,"role":"declaration","source":0,"src_end":4612,"src_start":0}],"module":"BudgetOracle","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-latex-module"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"}],"semantic_id":"322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a","source_id":"fc8fbbd2922aa3e7a7463e6862d110709e47f518802f63748cd199cee6055a74","sources":[{"id":0,"kind":"file","path":"src/BudgetOracle.lex.tex","sha256":"c6545653dc603ec6710e038653686bd57e4b0e71fe362957cb0f0a5722898802"}],"spec":"lexlean/source-map/1"} diff --git a/compiler/expected/build/maps/LexLeanTarget/Certification.map.json b/compiler/expected/build/maps/LexLeanTarget/Certification.map.json index 276076741..c2e3c7add 100644 --- a/compiler/expected/build/maps/LexLeanTarget/Certification.map.json +++ b/compiler/expected/build/maps/LexLeanTarget/Certification.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/Certification.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/Certification.tex"}],"mappings":[{"artifact":0,"gen_end":13819,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":47895,"src_start":0},{"artifact":0,"gen_end":13903,"gen_start":13819,"node":1,"role":"declaration","source":0,"src_end":407,"src_start":201},{"artifact":0,"gen_end":14029,"gen_start":13903,"node":2,"role":"declaration","source":0,"src_end":657,"src_start":409},{"artifact":0,"gen_end":14089,"gen_start":14029,"node":3,"role":"declaration","source":0,"src_end":792,"src_start":659},{"artifact":0,"gen_end":14285,"gen_start":14089,"node":4,"role":"declaration","source":0,"src_end":1116,"src_start":794},{"artifact":0,"gen_end":14527,"gen_start":14285,"node":5,"role":"declaration","source":0,"src_end":1482,"src_start":1118},{"artifact":0,"gen_end":14688,"gen_start":14527,"node":6,"role":"declaration","source":0,"src_end":1799,"src_start":1484},{"artifact":0,"gen_end":14953,"gen_start":14688,"node":7,"role":"declaration","source":0,"src_end":2280,"src_start":1801},{"artifact":0,"gen_end":15613,"gen_start":14953,"node":8,"role":"declaration","source":0,"src_end":3365,"src_start":2282},{"artifact":0,"gen_end":15790,"gen_start":15613,"node":9,"role":"declaration","source":0,"src_end":3651,"src_start":3367},{"artifact":0,"gen_end":15931,"gen_start":15790,"node":10,"role":"declaration","source":0,"src_end":3885,"src_start":3653},{"artifact":0,"gen_end":16069,"gen_start":15931,"node":11,"role":"declaration","source":0,"src_end":4121,"src_start":3887},{"artifact":0,"gen_end":16442,"gen_start":16069,"node":12,"role":"declaration","source":0,"src_end":4517,"src_start":4123},{"artifact":0,"gen_end":16755,"gen_start":16442,"node":13,"role":"declaration","source":0,"src_end":4914,"src_start":4519},{"artifact":0,"gen_end":17072,"gen_start":16755,"node":14,"role":"declaration","source":0,"src_end":5325,"src_start":4916},{"artifact":0,"gen_end":17331,"gen_start":17072,"node":15,"role":"declaration","source":0,"src_end":5674,"src_start":5327},{"artifact":0,"gen_end":17586,"gen_start":17331,"node":16,"role":"declaration","source":0,"src_end":6017,"src_start":5676},{"artifact":0,"gen_end":18130,"gen_start":17586,"node":17,"role":"declaration","source":0,"src_end":6519,"src_start":6019},{"artifact":0,"gen_end":18337,"gen_start":18130,"node":18,"role":"declaration","source":0,"src_end":6783,"src_start":6521},{"artifact":0,"gen_end":18537,"gen_start":18337,"node":19,"role":"declaration","source":0,"src_end":7039,"src_start":6785},{"artifact":0,"gen_end":19823,"gen_start":18537,"node":20,"role":"declaration","source":0,"src_end":8308,"src_start":7041},{"artifact":0,"gen_end":21168,"gen_start":19823,"node":21,"role":"declaration","source":0,"src_end":9621,"src_start":8310},{"artifact":0,"gen_end":22510,"gen_start":21168,"node":22,"role":"declaration","source":0,"src_end":10932,"src_start":9623},{"artifact":0,"gen_end":22733,"gen_start":22510,"node":23,"role":"declaration","source":0,"src_end":11199,"src_start":10934},{"artifact":0,"gen_end":22963,"gen_start":22733,"node":24,"role":"declaration","source":0,"src_end":11473,"src_start":11201},{"artifact":0,"gen_end":23184,"gen_start":22963,"node":25,"role":"declaration","source":0,"src_end":11738,"src_start":11475},{"artifact":0,"gen_end":24624,"gen_start":23184,"node":26,"role":"declaration","source":0,"src_end":13152,"src_start":11740},{"artifact":0,"gen_end":24872,"gen_start":24624,"node":27,"role":"declaration","source":0,"src_end":13455,"src_start":13154},{"artifact":0,"gen_end":25095,"gen_start":24872,"node":28,"role":"declaration","source":0,"src_end":13733,"src_start":13457},{"artifact":0,"gen_end":25300,"gen_start":25095,"node":29,"role":"declaration","source":0,"src_end":13990,"src_start":13735},{"artifact":0,"gen_end":25499,"gen_start":25300,"node":30,"role":"declaration","source":0,"src_end":14270,"src_start":13992},{"artifact":0,"gen_end":26333,"gen_start":25499,"node":31,"role":"declaration","source":0,"src_end":15243,"src_start":14272},{"artifact":0,"gen_end":26922,"gen_start":26333,"node":32,"role":"declaration","source":0,"src_end":15856,"src_start":15245},{"artifact":0,"gen_end":27252,"gen_start":26922,"node":33,"role":"declaration","source":0,"src_end":16150,"src_start":15858},{"artifact":0,"gen_end":27737,"gen_start":27252,"node":34,"role":"declaration","source":0,"src_end":16581,"src_start":16152},{"artifact":0,"gen_end":28238,"gen_start":27737,"node":35,"role":"declaration","source":0,"src_end":17058,"src_start":16583},{"artifact":0,"gen_end":28605,"gen_start":28238,"node":36,"role":"declaration","source":0,"src_end":17427,"src_start":17060},{"artifact":0,"gen_end":30737,"gen_start":28605,"node":37,"role":"declaration","source":0,"src_end":19582,"src_start":17429},{"artifact":0,"gen_end":31379,"gen_start":30737,"node":38,"role":"declaration","source":0,"src_end":20233,"src_start":19584},{"artifact":0,"gen_end":31662,"gen_start":31379,"node":39,"role":"declaration","source":0,"src_end":20543,"src_start":20235},{"artifact":0,"gen_end":32282,"gen_start":31662,"node":40,"role":"declaration","source":0,"src_end":21235,"src_start":20545},{"artifact":0,"gen_end":32656,"gen_start":32282,"node":41,"role":"declaration","source":0,"src_end":21620,"src_start":21237},{"artifact":0,"gen_end":33072,"gen_start":32656,"node":42,"role":"declaration","source":0,"src_end":22028,"src_start":21622},{"artifact":0,"gen_end":33520,"gen_start":33072,"node":43,"role":"declaration","source":0,"src_end":22454,"src_start":22030},{"artifact":0,"gen_end":34001,"gen_start":33520,"node":44,"role":"declaration","source":0,"src_end":22889,"src_start":22456},{"artifact":0,"gen_end":34658,"gen_start":34001,"node":45,"role":"declaration","source":0,"src_end":23509,"src_start":22891},{"artifact":0,"gen_end":35315,"gen_start":34658,"node":46,"role":"declaration","source":0,"src_end":24129,"src_start":23511},{"artifact":0,"gen_end":35627,"gen_start":35315,"node":47,"role":"declaration","source":0,"src_end":24502,"src_start":24131},{"artifact":0,"gen_end":35937,"gen_start":35627,"node":48,"role":"declaration","source":0,"src_end":24873,"src_start":24504},{"artifact":0,"gen_end":36376,"gen_start":35937,"node":49,"role":"declaration","source":0,"src_end":25355,"src_start":24875},{"artifact":0,"gen_end":37186,"gen_start":36376,"node":50,"role":"declaration","source":0,"src_end":26212,"src_start":25357},{"artifact":0,"gen_end":37828,"gen_start":37186,"node":51,"role":"declaration","source":0,"src_end":26941,"src_start":26214},{"artifact":0,"gen_end":38340,"gen_start":37828,"node":52,"role":"declaration","source":0,"src_end":27477,"src_start":26943},{"artifact":0,"gen_end":39660,"gen_start":38340,"node":53,"role":"declaration","source":0,"src_end":29190,"src_start":27479},{"artifact":0,"gen_end":40199,"gen_start":39660,"node":54,"role":"declaration","source":0,"src_end":29753,"src_start":29192},{"artifact":0,"gen_end":40808,"gen_start":40199,"node":55,"role":"declaration","source":0,"src_end":30529,"src_start":29755},{"artifact":0,"gen_end":41568,"gen_start":40808,"node":56,"role":"declaration","source":0,"src_end":31375,"src_start":30531},{"artifact":0,"gen_end":42994,"gen_start":41568,"node":57,"role":"declaration","source":0,"src_end":33169,"src_start":31377},{"artifact":0,"gen_end":43532,"gen_start":42994,"node":58,"role":"declaration","source":0,"src_end":33739,"src_start":33171},{"artifact":0,"gen_end":44259,"gen_start":43532,"node":59,"role":"declaration","source":0,"src_end":34548,"src_start":33741},{"artifact":0,"gen_end":44906,"gen_start":44259,"node":60,"role":"declaration","source":0,"src_end":35508,"src_start":34550},{"artifact":0,"gen_end":45708,"gen_start":44906,"node":61,"role":"declaration","source":0,"src_end":36352,"src_start":35510},{"artifact":0,"gen_end":46521,"gen_start":45708,"node":62,"role":"declaration","source":0,"src_end":37402,"src_start":36354},{"artifact":0,"gen_end":46831,"gen_start":46521,"node":63,"role":"declaration","source":0,"src_end":37757,"src_start":37404},{"artifact":0,"gen_end":47404,"gen_start":46831,"node":64,"role":"declaration","source":0,"src_end":38410,"src_start":37759},{"artifact":0,"gen_end":49251,"gen_start":47404,"node":65,"role":"declaration","source":0,"src_end":40615,"src_start":38412},{"artifact":0,"gen_end":50561,"gen_start":49251,"node":66,"role":"declaration","source":0,"src_end":42146,"src_start":40617},{"artifact":0,"gen_end":52392,"gen_start":50561,"node":67,"role":"declaration","source":0,"src_end":43756,"src_start":42148},{"artifact":0,"gen_end":52839,"gen_start":52392,"node":68,"role":"declaration","source":0,"src_end":44146,"src_start":43758},{"artifact":0,"gen_end":53620,"gen_start":52839,"node":69,"role":"declaration","source":0,"src_end":44821,"src_start":44148},{"artifact":0,"gen_end":56511,"gen_start":53620,"node":70,"role":"declaration","source":0,"src_end":47859,"src_start":44823},{"artifact":0,"gen_end":56544,"gen_start":56511,"node":0,"role":"declaration","source":0,"src_end":47895,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":71,"role":"declaration","source":0,"src_end":47895,"src_start":0},{"artifact":1,"gen_end":392,"gen_start":134,"node":72,"role":"declaration","source":0,"src_end":407,"src_start":201},{"artifact":1,"gen_end":716,"gen_start":392,"node":73,"role":"declaration","source":0,"src_end":657,"src_start":409},{"artifact":1,"gen_end":887,"gen_start":716,"node":74,"role":"declaration","source":0,"src_end":792,"src_start":659},{"artifact":1,"gen_end":1309,"gen_start":887,"node":75,"role":"declaration","source":0,"src_end":1116,"src_start":794},{"artifact":1,"gen_end":1838,"gen_start":1309,"node":76,"role":"declaration","source":0,"src_end":1482,"src_start":1118},{"artifact":1,"gen_end":2277,"gen_start":1838,"node":77,"role":"declaration","source":0,"src_end":1799,"src_start":1484},{"artifact":1,"gen_end":2965,"gen_start":2277,"node":78,"role":"declaration","source":0,"src_end":2280,"src_start":1801},{"artifact":1,"gen_end":4556,"gen_start":2965,"node":79,"role":"declaration","source":0,"src_end":3365,"src_start":2282},{"artifact":1,"gen_end":4916,"gen_start":4556,"node":80,"role":"declaration","source":0,"src_end":3651,"src_start":3367},{"artifact":1,"gen_end":5200,"gen_start":4916,"node":81,"role":"declaration","source":0,"src_end":3885,"src_start":3653},{"artifact":1,"gen_end":5486,"gen_start":5200,"node":82,"role":"declaration","source":0,"src_end":4121,"src_start":3887},{"artifact":1,"gen_end":6020,"gen_start":5486,"node":83,"role":"declaration","source":0,"src_end":4517,"src_start":4123},{"artifact":1,"gen_end":6512,"gen_start":6020,"node":84,"role":"declaration","source":0,"src_end":4914,"src_start":4519},{"artifact":1,"gen_end":7008,"gen_start":6512,"node":85,"role":"declaration","source":0,"src_end":5325,"src_start":4916},{"artifact":1,"gen_end":7446,"gen_start":7008,"node":86,"role":"declaration","source":0,"src_end":5674,"src_start":5327},{"artifact":1,"gen_end":7880,"gen_start":7446,"node":87,"role":"declaration","source":0,"src_end":6017,"src_start":5676},{"artifact":1,"gen_end":8578,"gen_start":7880,"node":88,"role":"declaration","source":0,"src_end":6519,"src_start":6019},{"artifact":1,"gen_end":8970,"gen_start":8578,"node":89,"role":"declaration","source":0,"src_end":6783,"src_start":6521},{"artifact":1,"gen_end":9355,"gen_start":8970,"node":90,"role":"declaration","source":0,"src_end":7039,"src_start":6785},{"artifact":1,"gen_end":10846,"gen_start":9355,"node":91,"role":"declaration","source":0,"src_end":8308,"src_start":7041},{"artifact":1,"gen_end":12396,"gen_start":10846,"node":92,"role":"declaration","source":0,"src_end":9621,"src_start":8310},{"artifact":1,"gen_end":13943,"gen_start":12396,"node":93,"role":"declaration","source":0,"src_end":10932,"src_start":9623},{"artifact":1,"gen_end":14348,"gen_start":13943,"node":94,"role":"declaration","source":0,"src_end":11199,"src_start":10934},{"artifact":1,"gen_end":14760,"gen_start":14348,"node":95,"role":"declaration","source":0,"src_end":11473,"src_start":11201},{"artifact":1,"gen_end":15163,"gen_start":14760,"node":96,"role":"declaration","source":0,"src_end":11738,"src_start":11475},{"artifact":1,"gen_end":16894,"gen_start":15163,"node":97,"role":"declaration","source":0,"src_end":13152,"src_start":11740},{"artifact":1,"gen_end":17397,"gen_start":16894,"node":98,"role":"declaration","source":0,"src_end":13455,"src_start":13154},{"artifact":1,"gen_end":17875,"gen_start":17397,"node":99,"role":"declaration","source":0,"src_end":13733,"src_start":13457},{"artifact":1,"gen_end":18335,"gen_start":17875,"node":100,"role":"declaration","source":0,"src_end":13990,"src_start":13735},{"artifact":1,"gen_end":18733,"gen_start":18335,"node":101,"role":"declaration","source":0,"src_end":14270,"src_start":13992},{"artifact":1,"gen_end":19757,"gen_start":18733,"node":102,"role":"declaration","source":0,"src_end":15243,"src_start":14272},{"artifact":1,"gen_end":20533,"gen_start":19757,"node":103,"role":"declaration","source":0,"src_end":15856,"src_start":15245},{"artifact":1,"gen_end":21045,"gen_start":20533,"node":104,"role":"declaration","source":0,"src_end":16150,"src_start":15858},{"artifact":1,"gen_end":21712,"gen_start":21045,"node":105,"role":"declaration","source":0,"src_end":16581,"src_start":16152},{"artifact":1,"gen_end":22399,"gen_start":21712,"node":106,"role":"declaration","source":0,"src_end":17058,"src_start":16583},{"artifact":1,"gen_end":22952,"gen_start":22399,"node":107,"role":"declaration","source":0,"src_end":17427,"src_start":17060},{"artifact":1,"gen_end":25312,"gen_start":22952,"node":108,"role":"declaration","source":0,"src_end":19582,"src_start":17429},{"artifact":1,"gen_end":26114,"gen_start":25312,"node":109,"role":"declaration","source":0,"src_end":20233,"src_start":19584},{"artifact":1,"gen_end":26576,"gen_start":26114,"node":110,"role":"declaration","source":0,"src_end":20543,"src_start":20235},{"artifact":1,"gen_end":27372,"gen_start":26576,"node":111,"role":"declaration","source":0,"src_end":21235,"src_start":20545},{"artifact":1,"gen_end":27920,"gen_start":27372,"node":112,"role":"declaration","source":0,"src_end":21620,"src_start":21237},{"artifact":1,"gen_end":28559,"gen_start":27920,"node":113,"role":"declaration","source":0,"src_end":22028,"src_start":21622},{"artifact":1,"gen_end":29193,"gen_start":28559,"node":114,"role":"declaration","source":0,"src_end":22454,"src_start":22030},{"artifact":1,"gen_end":29858,"gen_start":29193,"node":115,"role":"declaration","source":0,"src_end":22889,"src_start":22456},{"artifact":1,"gen_end":30655,"gen_start":29858,"node":116,"role":"declaration","source":0,"src_end":23509,"src_start":22891},{"artifact":1,"gen_end":31452,"gen_start":30655,"node":117,"role":"declaration","source":0,"src_end":24129,"src_start":23511},{"artifact":1,"gen_end":31987,"gen_start":31452,"node":118,"role":"declaration","source":0,"src_end":24502,"src_start":24131},{"artifact":1,"gen_end":32520,"gen_start":31987,"node":119,"role":"declaration","source":0,"src_end":24873,"src_start":24504},{"artifact":1,"gen_end":33186,"gen_start":32520,"node":120,"role":"declaration","source":0,"src_end":25355,"src_start":24875},{"artifact":1,"gen_end":34220,"gen_start":33186,"node":121,"role":"declaration","source":0,"src_end":26212,"src_start":25357},{"artifact":1,"gen_end":35040,"gen_start":34220,"node":122,"role":"declaration","source":0,"src_end":26941,"src_start":26214},{"artifact":1,"gen_end":35776,"gen_start":35040,"node":123,"role":"declaration","source":0,"src_end":27477,"src_start":26943},{"artifact":1,"gen_end":37283,"gen_start":35776,"node":124,"role":"declaration","source":0,"src_end":29190,"src_start":27479},{"artifact":1,"gen_end":37931,"gen_start":37283,"node":125,"role":"declaration","source":0,"src_end":29753,"src_start":29192},{"artifact":1,"gen_end":38726,"gen_start":37931,"node":126,"role":"declaration","source":0,"src_end":30529,"src_start":29755},{"artifact":1,"gen_end":39672,"gen_start":38726,"node":127,"role":"declaration","source":0,"src_end":31375,"src_start":30531},{"artifact":1,"gen_end":41284,"gen_start":39672,"node":128,"role":"declaration","source":0,"src_end":33169,"src_start":31377},{"artifact":1,"gen_end":41945,"gen_start":41284,"node":129,"role":"declaration","source":0,"src_end":33739,"src_start":33171},{"artifact":1,"gen_end":42858,"gen_start":41945,"node":130,"role":"declaration","source":0,"src_end":34548,"src_start":33741},{"artifact":1,"gen_end":43683,"gen_start":42858,"node":131,"role":"declaration","source":0,"src_end":35508,"src_start":34550},{"artifact":1,"gen_end":44669,"gen_start":43683,"node":132,"role":"declaration","source":0,"src_end":36352,"src_start":35510},{"artifact":1,"gen_end":45667,"gen_start":44669,"node":133,"role":"declaration","source":0,"src_end":37402,"src_start":36354},{"artifact":1,"gen_end":46132,"gen_start":45667,"node":134,"role":"declaration","source":0,"src_end":37757,"src_start":37404},{"artifact":1,"gen_end":46840,"gen_start":46132,"node":135,"role":"declaration","source":0,"src_end":38410,"src_start":37759},{"artifact":1,"gen_end":48872,"gen_start":46840,"node":136,"role":"declaration","source":0,"src_end":40615,"src_start":38412},{"artifact":1,"gen_end":50367,"gen_start":48872,"node":137,"role":"declaration","source":0,"src_end":42146,"src_start":40617},{"artifact":1,"gen_end":52385,"gen_start":50367,"node":138,"role":"declaration","source":0,"src_end":43756,"src_start":42148},{"artifact":1,"gen_end":53014,"gen_start":52385,"node":139,"role":"declaration","source":0,"src_end":44146,"src_start":43758},{"artifact":1,"gen_end":53977,"gen_start":53014,"node":140,"role":"declaration","source":0,"src_end":44821,"src_start":44148},{"artifact":1,"gen_end":57118,"gen_start":53977,"node":141,"role":"declaration","source":0,"src_end":47859,"src_start":44823},{"artifact":1,"gen_end":57133,"gen_start":57118,"node":71,"role":"declaration","source":0,"src_end":47895,"src_start":0}],"module":"Certification","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-latex-module"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"},{"id":80,"kind":"semantic-declaration"},{"id":81,"kind":"semantic-declaration"},{"id":82,"kind":"semantic-declaration"},{"id":83,"kind":"semantic-declaration"},{"id":84,"kind":"semantic-declaration"},{"id":85,"kind":"semantic-declaration"},{"id":86,"kind":"semantic-declaration"},{"id":87,"kind":"semantic-declaration"},{"id":88,"kind":"semantic-declaration"},{"id":89,"kind":"semantic-declaration"},{"id":90,"kind":"semantic-declaration"},{"id":91,"kind":"semantic-declaration"},{"id":92,"kind":"semantic-declaration"},{"id":93,"kind":"semantic-declaration"},{"id":94,"kind":"semantic-declaration"},{"id":95,"kind":"semantic-declaration"},{"id":96,"kind":"semantic-declaration"},{"id":97,"kind":"semantic-declaration"},{"id":98,"kind":"semantic-declaration"},{"id":99,"kind":"semantic-declaration"},{"id":100,"kind":"semantic-declaration"},{"id":101,"kind":"semantic-declaration"},{"id":102,"kind":"semantic-declaration"},{"id":103,"kind":"semantic-declaration"},{"id":104,"kind":"semantic-declaration"},{"id":105,"kind":"semantic-declaration"},{"id":106,"kind":"semantic-declaration"},{"id":107,"kind":"semantic-declaration"},{"id":108,"kind":"semantic-declaration"},{"id":109,"kind":"semantic-declaration"},{"id":110,"kind":"semantic-declaration"},{"id":111,"kind":"semantic-declaration"},{"id":112,"kind":"semantic-declaration"},{"id":113,"kind":"semantic-declaration"},{"id":114,"kind":"semantic-declaration"},{"id":115,"kind":"semantic-declaration"},{"id":116,"kind":"semantic-declaration"},{"id":117,"kind":"semantic-declaration"},{"id":118,"kind":"semantic-declaration"},{"id":119,"kind":"semantic-declaration"},{"id":120,"kind":"semantic-declaration"},{"id":121,"kind":"semantic-declaration"},{"id":122,"kind":"semantic-declaration"},{"id":123,"kind":"semantic-declaration"},{"id":124,"kind":"semantic-declaration"},{"id":125,"kind":"semantic-declaration"},{"id":126,"kind":"semantic-declaration"},{"id":127,"kind":"semantic-declaration"},{"id":128,"kind":"semantic-declaration"},{"id":129,"kind":"semantic-declaration"},{"id":130,"kind":"semantic-declaration"},{"id":131,"kind":"semantic-declaration"},{"id":132,"kind":"semantic-declaration"},{"id":133,"kind":"semantic-declaration"},{"id":134,"kind":"semantic-declaration"},{"id":135,"kind":"semantic-declaration"},{"id":136,"kind":"semantic-declaration"},{"id":137,"kind":"semantic-declaration"},{"id":138,"kind":"semantic-declaration"},{"id":139,"kind":"semantic-declaration"},{"id":140,"kind":"semantic-declaration"},{"id":141,"kind":"semantic-declaration"}],"semantic_id":"db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9","source_id":"2f76ada498f17258f8a526df0820565414e563312654a2a7396b586dd3b407d1","sources":[{"id":0,"kind":"file","path":"src/Certification.lex.tex","sha256":"7e011c2fefdfd08c3f9d41a5cf5c891d72495aae7d4bc1e0b5d31a9d364c07fb"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/Certification.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/Certification.tex"}],"mappings":[{"artifact":0,"gen_end":366,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":47895,"src_start":0},{"artifact":0,"gen_end":450,"gen_start":366,"node":1,"role":"declaration","source":0,"src_end":407,"src_start":201},{"artifact":0,"gen_end":576,"gen_start":450,"node":2,"role":"declaration","source":0,"src_end":657,"src_start":409},{"artifact":0,"gen_end":636,"gen_start":576,"node":3,"role":"declaration","source":0,"src_end":792,"src_start":659},{"artifact":0,"gen_end":832,"gen_start":636,"node":4,"role":"declaration","source":0,"src_end":1116,"src_start":794},{"artifact":0,"gen_end":1074,"gen_start":832,"node":5,"role":"declaration","source":0,"src_end":1482,"src_start":1118},{"artifact":0,"gen_end":1235,"gen_start":1074,"node":6,"role":"declaration","source":0,"src_end":1799,"src_start":1484},{"artifact":0,"gen_end":1500,"gen_start":1235,"node":7,"role":"declaration","source":0,"src_end":2280,"src_start":1801},{"artifact":0,"gen_end":2160,"gen_start":1500,"node":8,"role":"declaration","source":0,"src_end":3365,"src_start":2282},{"artifact":0,"gen_end":2337,"gen_start":2160,"node":9,"role":"declaration","source":0,"src_end":3651,"src_start":3367},{"artifact":0,"gen_end":2478,"gen_start":2337,"node":10,"role":"declaration","source":0,"src_end":3885,"src_start":3653},{"artifact":0,"gen_end":2616,"gen_start":2478,"node":11,"role":"declaration","source":0,"src_end":4121,"src_start":3887},{"artifact":0,"gen_end":2989,"gen_start":2616,"node":12,"role":"declaration","source":0,"src_end":4517,"src_start":4123},{"artifact":0,"gen_end":3302,"gen_start":2989,"node":13,"role":"declaration","source":0,"src_end":4914,"src_start":4519},{"artifact":0,"gen_end":3619,"gen_start":3302,"node":14,"role":"declaration","source":0,"src_end":5325,"src_start":4916},{"artifact":0,"gen_end":3878,"gen_start":3619,"node":15,"role":"declaration","source":0,"src_end":5674,"src_start":5327},{"artifact":0,"gen_end":4133,"gen_start":3878,"node":16,"role":"declaration","source":0,"src_end":6017,"src_start":5676},{"artifact":0,"gen_end":4677,"gen_start":4133,"node":17,"role":"declaration","source":0,"src_end":6519,"src_start":6019},{"artifact":0,"gen_end":4884,"gen_start":4677,"node":18,"role":"declaration","source":0,"src_end":6783,"src_start":6521},{"artifact":0,"gen_end":5084,"gen_start":4884,"node":19,"role":"declaration","source":0,"src_end":7039,"src_start":6785},{"artifact":0,"gen_end":6370,"gen_start":5084,"node":20,"role":"declaration","source":0,"src_end":8308,"src_start":7041},{"artifact":0,"gen_end":7715,"gen_start":6370,"node":21,"role":"declaration","source":0,"src_end":9621,"src_start":8310},{"artifact":0,"gen_end":9057,"gen_start":7715,"node":22,"role":"declaration","source":0,"src_end":10932,"src_start":9623},{"artifact":0,"gen_end":9280,"gen_start":9057,"node":23,"role":"declaration","source":0,"src_end":11199,"src_start":10934},{"artifact":0,"gen_end":9510,"gen_start":9280,"node":24,"role":"declaration","source":0,"src_end":11473,"src_start":11201},{"artifact":0,"gen_end":9731,"gen_start":9510,"node":25,"role":"declaration","source":0,"src_end":11738,"src_start":11475},{"artifact":0,"gen_end":11171,"gen_start":9731,"node":26,"role":"declaration","source":0,"src_end":13152,"src_start":11740},{"artifact":0,"gen_end":11419,"gen_start":11171,"node":27,"role":"declaration","source":0,"src_end":13455,"src_start":13154},{"artifact":0,"gen_end":11642,"gen_start":11419,"node":28,"role":"declaration","source":0,"src_end":13733,"src_start":13457},{"artifact":0,"gen_end":11847,"gen_start":11642,"node":29,"role":"declaration","source":0,"src_end":13990,"src_start":13735},{"artifact":0,"gen_end":12046,"gen_start":11847,"node":30,"role":"declaration","source":0,"src_end":14270,"src_start":13992},{"artifact":0,"gen_end":12880,"gen_start":12046,"node":31,"role":"declaration","source":0,"src_end":15243,"src_start":14272},{"artifact":0,"gen_end":13469,"gen_start":12880,"node":32,"role":"declaration","source":0,"src_end":15856,"src_start":15245},{"artifact":0,"gen_end":13799,"gen_start":13469,"node":33,"role":"declaration","source":0,"src_end":16150,"src_start":15858},{"artifact":0,"gen_end":14284,"gen_start":13799,"node":34,"role":"declaration","source":0,"src_end":16581,"src_start":16152},{"artifact":0,"gen_end":14785,"gen_start":14284,"node":35,"role":"declaration","source":0,"src_end":17058,"src_start":16583},{"artifact":0,"gen_end":15152,"gen_start":14785,"node":36,"role":"declaration","source":0,"src_end":17427,"src_start":17060},{"artifact":0,"gen_end":17284,"gen_start":15152,"node":37,"role":"declaration","source":0,"src_end":19582,"src_start":17429},{"artifact":0,"gen_end":17926,"gen_start":17284,"node":38,"role":"declaration","source":0,"src_end":20233,"src_start":19584},{"artifact":0,"gen_end":18209,"gen_start":17926,"node":39,"role":"declaration","source":0,"src_end":20543,"src_start":20235},{"artifact":0,"gen_end":18829,"gen_start":18209,"node":40,"role":"declaration","source":0,"src_end":21235,"src_start":20545},{"artifact":0,"gen_end":19203,"gen_start":18829,"node":41,"role":"declaration","source":0,"src_end":21620,"src_start":21237},{"artifact":0,"gen_end":19619,"gen_start":19203,"node":42,"role":"declaration","source":0,"src_end":22028,"src_start":21622},{"artifact":0,"gen_end":20067,"gen_start":19619,"node":43,"role":"declaration","source":0,"src_end":22454,"src_start":22030},{"artifact":0,"gen_end":20548,"gen_start":20067,"node":44,"role":"declaration","source":0,"src_end":22889,"src_start":22456},{"artifact":0,"gen_end":21205,"gen_start":20548,"node":45,"role":"declaration","source":0,"src_end":23509,"src_start":22891},{"artifact":0,"gen_end":21862,"gen_start":21205,"node":46,"role":"declaration","source":0,"src_end":24129,"src_start":23511},{"artifact":0,"gen_end":22174,"gen_start":21862,"node":47,"role":"declaration","source":0,"src_end":24502,"src_start":24131},{"artifact":0,"gen_end":22484,"gen_start":22174,"node":48,"role":"declaration","source":0,"src_end":24873,"src_start":24504},{"artifact":0,"gen_end":22923,"gen_start":22484,"node":49,"role":"declaration","source":0,"src_end":25355,"src_start":24875},{"artifact":0,"gen_end":23733,"gen_start":22923,"node":50,"role":"declaration","source":0,"src_end":26212,"src_start":25357},{"artifact":0,"gen_end":24375,"gen_start":23733,"node":51,"role":"declaration","source":0,"src_end":26941,"src_start":26214},{"artifact":0,"gen_end":24887,"gen_start":24375,"node":52,"role":"declaration","source":0,"src_end":27477,"src_start":26943},{"artifact":0,"gen_end":26207,"gen_start":24887,"node":53,"role":"declaration","source":0,"src_end":29190,"src_start":27479},{"artifact":0,"gen_end":26746,"gen_start":26207,"node":54,"role":"declaration","source":0,"src_end":29753,"src_start":29192},{"artifact":0,"gen_end":27355,"gen_start":26746,"node":55,"role":"declaration","source":0,"src_end":30529,"src_start":29755},{"artifact":0,"gen_end":28115,"gen_start":27355,"node":56,"role":"declaration","source":0,"src_end":31375,"src_start":30531},{"artifact":0,"gen_end":29541,"gen_start":28115,"node":57,"role":"declaration","source":0,"src_end":33169,"src_start":31377},{"artifact":0,"gen_end":30079,"gen_start":29541,"node":58,"role":"declaration","source":0,"src_end":33739,"src_start":33171},{"artifact":0,"gen_end":30806,"gen_start":30079,"node":59,"role":"declaration","source":0,"src_end":34548,"src_start":33741},{"artifact":0,"gen_end":31453,"gen_start":30806,"node":60,"role":"declaration","source":0,"src_end":35508,"src_start":34550},{"artifact":0,"gen_end":32255,"gen_start":31453,"node":61,"role":"declaration","source":0,"src_end":36352,"src_start":35510},{"artifact":0,"gen_end":33068,"gen_start":32255,"node":62,"role":"declaration","source":0,"src_end":37402,"src_start":36354},{"artifact":0,"gen_end":33378,"gen_start":33068,"node":63,"role":"declaration","source":0,"src_end":37757,"src_start":37404},{"artifact":0,"gen_end":33951,"gen_start":33378,"node":64,"role":"declaration","source":0,"src_end":38410,"src_start":37759},{"artifact":0,"gen_end":35798,"gen_start":33951,"node":65,"role":"declaration","source":0,"src_end":40615,"src_start":38412},{"artifact":0,"gen_end":37108,"gen_start":35798,"node":66,"role":"declaration","source":0,"src_end":42146,"src_start":40617},{"artifact":0,"gen_end":38939,"gen_start":37108,"node":67,"role":"declaration","source":0,"src_end":43756,"src_start":42148},{"artifact":0,"gen_end":39386,"gen_start":38939,"node":68,"role":"declaration","source":0,"src_end":44146,"src_start":43758},{"artifact":0,"gen_end":40167,"gen_start":39386,"node":69,"role":"declaration","source":0,"src_end":44821,"src_start":44148},{"artifact":0,"gen_end":43058,"gen_start":40167,"node":70,"role":"declaration","source":0,"src_end":47859,"src_start":44823},{"artifact":0,"gen_end":43091,"gen_start":43058,"node":0,"role":"declaration","source":0,"src_end":47895,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":71,"role":"declaration","source":0,"src_end":47895,"src_start":0},{"artifact":1,"gen_end":392,"gen_start":134,"node":72,"role":"declaration","source":0,"src_end":407,"src_start":201},{"artifact":1,"gen_end":716,"gen_start":392,"node":73,"role":"declaration","source":0,"src_end":657,"src_start":409},{"artifact":1,"gen_end":887,"gen_start":716,"node":74,"role":"declaration","source":0,"src_end":792,"src_start":659},{"artifact":1,"gen_end":1309,"gen_start":887,"node":75,"role":"declaration","source":0,"src_end":1116,"src_start":794},{"artifact":1,"gen_end":1838,"gen_start":1309,"node":76,"role":"declaration","source":0,"src_end":1482,"src_start":1118},{"artifact":1,"gen_end":2277,"gen_start":1838,"node":77,"role":"declaration","source":0,"src_end":1799,"src_start":1484},{"artifact":1,"gen_end":2965,"gen_start":2277,"node":78,"role":"declaration","source":0,"src_end":2280,"src_start":1801},{"artifact":1,"gen_end":4556,"gen_start":2965,"node":79,"role":"declaration","source":0,"src_end":3365,"src_start":2282},{"artifact":1,"gen_end":4916,"gen_start":4556,"node":80,"role":"declaration","source":0,"src_end":3651,"src_start":3367},{"artifact":1,"gen_end":5200,"gen_start":4916,"node":81,"role":"declaration","source":0,"src_end":3885,"src_start":3653},{"artifact":1,"gen_end":5486,"gen_start":5200,"node":82,"role":"declaration","source":0,"src_end":4121,"src_start":3887},{"artifact":1,"gen_end":6020,"gen_start":5486,"node":83,"role":"declaration","source":0,"src_end":4517,"src_start":4123},{"artifact":1,"gen_end":6512,"gen_start":6020,"node":84,"role":"declaration","source":0,"src_end":4914,"src_start":4519},{"artifact":1,"gen_end":7008,"gen_start":6512,"node":85,"role":"declaration","source":0,"src_end":5325,"src_start":4916},{"artifact":1,"gen_end":7446,"gen_start":7008,"node":86,"role":"declaration","source":0,"src_end":5674,"src_start":5327},{"artifact":1,"gen_end":7880,"gen_start":7446,"node":87,"role":"declaration","source":0,"src_end":6017,"src_start":5676},{"artifact":1,"gen_end":8578,"gen_start":7880,"node":88,"role":"declaration","source":0,"src_end":6519,"src_start":6019},{"artifact":1,"gen_end":8970,"gen_start":8578,"node":89,"role":"declaration","source":0,"src_end":6783,"src_start":6521},{"artifact":1,"gen_end":9355,"gen_start":8970,"node":90,"role":"declaration","source":0,"src_end":7039,"src_start":6785},{"artifact":1,"gen_end":10846,"gen_start":9355,"node":91,"role":"declaration","source":0,"src_end":8308,"src_start":7041},{"artifact":1,"gen_end":12396,"gen_start":10846,"node":92,"role":"declaration","source":0,"src_end":9621,"src_start":8310},{"artifact":1,"gen_end":13943,"gen_start":12396,"node":93,"role":"declaration","source":0,"src_end":10932,"src_start":9623},{"artifact":1,"gen_end":14348,"gen_start":13943,"node":94,"role":"declaration","source":0,"src_end":11199,"src_start":10934},{"artifact":1,"gen_end":14760,"gen_start":14348,"node":95,"role":"declaration","source":0,"src_end":11473,"src_start":11201},{"artifact":1,"gen_end":15163,"gen_start":14760,"node":96,"role":"declaration","source":0,"src_end":11738,"src_start":11475},{"artifact":1,"gen_end":16894,"gen_start":15163,"node":97,"role":"declaration","source":0,"src_end":13152,"src_start":11740},{"artifact":1,"gen_end":17397,"gen_start":16894,"node":98,"role":"declaration","source":0,"src_end":13455,"src_start":13154},{"artifact":1,"gen_end":17875,"gen_start":17397,"node":99,"role":"declaration","source":0,"src_end":13733,"src_start":13457},{"artifact":1,"gen_end":18335,"gen_start":17875,"node":100,"role":"declaration","source":0,"src_end":13990,"src_start":13735},{"artifact":1,"gen_end":18733,"gen_start":18335,"node":101,"role":"declaration","source":0,"src_end":14270,"src_start":13992},{"artifact":1,"gen_end":19757,"gen_start":18733,"node":102,"role":"declaration","source":0,"src_end":15243,"src_start":14272},{"artifact":1,"gen_end":20533,"gen_start":19757,"node":103,"role":"declaration","source":0,"src_end":15856,"src_start":15245},{"artifact":1,"gen_end":21045,"gen_start":20533,"node":104,"role":"declaration","source":0,"src_end":16150,"src_start":15858},{"artifact":1,"gen_end":21712,"gen_start":21045,"node":105,"role":"declaration","source":0,"src_end":16581,"src_start":16152},{"artifact":1,"gen_end":22399,"gen_start":21712,"node":106,"role":"declaration","source":0,"src_end":17058,"src_start":16583},{"artifact":1,"gen_end":22952,"gen_start":22399,"node":107,"role":"declaration","source":0,"src_end":17427,"src_start":17060},{"artifact":1,"gen_end":25312,"gen_start":22952,"node":108,"role":"declaration","source":0,"src_end":19582,"src_start":17429},{"artifact":1,"gen_end":26114,"gen_start":25312,"node":109,"role":"declaration","source":0,"src_end":20233,"src_start":19584},{"artifact":1,"gen_end":26576,"gen_start":26114,"node":110,"role":"declaration","source":0,"src_end":20543,"src_start":20235},{"artifact":1,"gen_end":27372,"gen_start":26576,"node":111,"role":"declaration","source":0,"src_end":21235,"src_start":20545},{"artifact":1,"gen_end":27920,"gen_start":27372,"node":112,"role":"declaration","source":0,"src_end":21620,"src_start":21237},{"artifact":1,"gen_end":28559,"gen_start":27920,"node":113,"role":"declaration","source":0,"src_end":22028,"src_start":21622},{"artifact":1,"gen_end":29193,"gen_start":28559,"node":114,"role":"declaration","source":0,"src_end":22454,"src_start":22030},{"artifact":1,"gen_end":29858,"gen_start":29193,"node":115,"role":"declaration","source":0,"src_end":22889,"src_start":22456},{"artifact":1,"gen_end":30655,"gen_start":29858,"node":116,"role":"declaration","source":0,"src_end":23509,"src_start":22891},{"artifact":1,"gen_end":31452,"gen_start":30655,"node":117,"role":"declaration","source":0,"src_end":24129,"src_start":23511},{"artifact":1,"gen_end":31987,"gen_start":31452,"node":118,"role":"declaration","source":0,"src_end":24502,"src_start":24131},{"artifact":1,"gen_end":32520,"gen_start":31987,"node":119,"role":"declaration","source":0,"src_end":24873,"src_start":24504},{"artifact":1,"gen_end":33186,"gen_start":32520,"node":120,"role":"declaration","source":0,"src_end":25355,"src_start":24875},{"artifact":1,"gen_end":34220,"gen_start":33186,"node":121,"role":"declaration","source":0,"src_end":26212,"src_start":25357},{"artifact":1,"gen_end":35040,"gen_start":34220,"node":122,"role":"declaration","source":0,"src_end":26941,"src_start":26214},{"artifact":1,"gen_end":35776,"gen_start":35040,"node":123,"role":"declaration","source":0,"src_end":27477,"src_start":26943},{"artifact":1,"gen_end":37283,"gen_start":35776,"node":124,"role":"declaration","source":0,"src_end":29190,"src_start":27479},{"artifact":1,"gen_end":37931,"gen_start":37283,"node":125,"role":"declaration","source":0,"src_end":29753,"src_start":29192},{"artifact":1,"gen_end":38726,"gen_start":37931,"node":126,"role":"declaration","source":0,"src_end":30529,"src_start":29755},{"artifact":1,"gen_end":39672,"gen_start":38726,"node":127,"role":"declaration","source":0,"src_end":31375,"src_start":30531},{"artifact":1,"gen_end":41284,"gen_start":39672,"node":128,"role":"declaration","source":0,"src_end":33169,"src_start":31377},{"artifact":1,"gen_end":41945,"gen_start":41284,"node":129,"role":"declaration","source":0,"src_end":33739,"src_start":33171},{"artifact":1,"gen_end":42858,"gen_start":41945,"node":130,"role":"declaration","source":0,"src_end":34548,"src_start":33741},{"artifact":1,"gen_end":43683,"gen_start":42858,"node":131,"role":"declaration","source":0,"src_end":35508,"src_start":34550},{"artifact":1,"gen_end":44669,"gen_start":43683,"node":132,"role":"declaration","source":0,"src_end":36352,"src_start":35510},{"artifact":1,"gen_end":45667,"gen_start":44669,"node":133,"role":"declaration","source":0,"src_end":37402,"src_start":36354},{"artifact":1,"gen_end":46132,"gen_start":45667,"node":134,"role":"declaration","source":0,"src_end":37757,"src_start":37404},{"artifact":1,"gen_end":46840,"gen_start":46132,"node":135,"role":"declaration","source":0,"src_end":38410,"src_start":37759},{"artifact":1,"gen_end":48872,"gen_start":46840,"node":136,"role":"declaration","source":0,"src_end":40615,"src_start":38412},{"artifact":1,"gen_end":50367,"gen_start":48872,"node":137,"role":"declaration","source":0,"src_end":42146,"src_start":40617},{"artifact":1,"gen_end":52385,"gen_start":50367,"node":138,"role":"declaration","source":0,"src_end":43756,"src_start":42148},{"artifact":1,"gen_end":53014,"gen_start":52385,"node":139,"role":"declaration","source":0,"src_end":44146,"src_start":43758},{"artifact":1,"gen_end":53977,"gen_start":53014,"node":140,"role":"declaration","source":0,"src_end":44821,"src_start":44148},{"artifact":1,"gen_end":57118,"gen_start":53977,"node":141,"role":"declaration","source":0,"src_end":47859,"src_start":44823},{"artifact":1,"gen_end":57133,"gen_start":57118,"node":71,"role":"declaration","source":0,"src_end":47895,"src_start":0}],"module":"Certification","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-latex-module"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"},{"id":80,"kind":"semantic-declaration"},{"id":81,"kind":"semantic-declaration"},{"id":82,"kind":"semantic-declaration"},{"id":83,"kind":"semantic-declaration"},{"id":84,"kind":"semantic-declaration"},{"id":85,"kind":"semantic-declaration"},{"id":86,"kind":"semantic-declaration"},{"id":87,"kind":"semantic-declaration"},{"id":88,"kind":"semantic-declaration"},{"id":89,"kind":"semantic-declaration"},{"id":90,"kind":"semantic-declaration"},{"id":91,"kind":"semantic-declaration"},{"id":92,"kind":"semantic-declaration"},{"id":93,"kind":"semantic-declaration"},{"id":94,"kind":"semantic-declaration"},{"id":95,"kind":"semantic-declaration"},{"id":96,"kind":"semantic-declaration"},{"id":97,"kind":"semantic-declaration"},{"id":98,"kind":"semantic-declaration"},{"id":99,"kind":"semantic-declaration"},{"id":100,"kind":"semantic-declaration"},{"id":101,"kind":"semantic-declaration"},{"id":102,"kind":"semantic-declaration"},{"id":103,"kind":"semantic-declaration"},{"id":104,"kind":"semantic-declaration"},{"id":105,"kind":"semantic-declaration"},{"id":106,"kind":"semantic-declaration"},{"id":107,"kind":"semantic-declaration"},{"id":108,"kind":"semantic-declaration"},{"id":109,"kind":"semantic-declaration"},{"id":110,"kind":"semantic-declaration"},{"id":111,"kind":"semantic-declaration"},{"id":112,"kind":"semantic-declaration"},{"id":113,"kind":"semantic-declaration"},{"id":114,"kind":"semantic-declaration"},{"id":115,"kind":"semantic-declaration"},{"id":116,"kind":"semantic-declaration"},{"id":117,"kind":"semantic-declaration"},{"id":118,"kind":"semantic-declaration"},{"id":119,"kind":"semantic-declaration"},{"id":120,"kind":"semantic-declaration"},{"id":121,"kind":"semantic-declaration"},{"id":122,"kind":"semantic-declaration"},{"id":123,"kind":"semantic-declaration"},{"id":124,"kind":"semantic-declaration"},{"id":125,"kind":"semantic-declaration"},{"id":126,"kind":"semantic-declaration"},{"id":127,"kind":"semantic-declaration"},{"id":128,"kind":"semantic-declaration"},{"id":129,"kind":"semantic-declaration"},{"id":130,"kind":"semantic-declaration"},{"id":131,"kind":"semantic-declaration"},{"id":132,"kind":"semantic-declaration"},{"id":133,"kind":"semantic-declaration"},{"id":134,"kind":"semantic-declaration"},{"id":135,"kind":"semantic-declaration"},{"id":136,"kind":"semantic-declaration"},{"id":137,"kind":"semantic-declaration"},{"id":138,"kind":"semantic-declaration"},{"id":139,"kind":"semantic-declaration"},{"id":140,"kind":"semantic-declaration"},{"id":141,"kind":"semantic-declaration"}],"semantic_id":"322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a","source_id":"fc8fbbd2922aa3e7a7463e6862d110709e47f518802f63748cd199cee6055a74","sources":[{"id":0,"kind":"file","path":"src/Certification.lex.tex","sha256":"7e011c2fefdfd08c3f9d41a5cf5c891d72495aae7d4bc1e0b5d31a9d364c07fb"}],"spec":"lexlean/source-map/1"} diff --git a/compiler/expected/build/maps/LexLeanTarget/Gnaf.map.json b/compiler/expected/build/maps/LexLeanTarget/Gnaf.map.json index c8005c989..c9205f991 100644 --- a/compiler/expected/build/maps/LexLeanTarget/Gnaf.map.json +++ b/compiler/expected/build/maps/LexLeanTarget/Gnaf.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/Gnaf.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/Gnaf.tex"}],"mappings":[{"artifact":0,"gen_end":13777,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":100847,"src_start":0},{"artifact":0,"gen_end":14568,"gen_start":13777,"node":1,"role":"declaration","source":0,"src_end":1644,"src_start":172},{"artifact":0,"gen_end":14754,"gen_start":14568,"node":2,"role":"declaration","source":0,"src_end":2101,"src_start":1646},{"artifact":0,"gen_end":14842,"gen_start":14754,"node":3,"role":"declaration","source":0,"src_end":2327,"src_start":2103},{"artifact":0,"gen_end":14911,"gen_start":14842,"node":4,"role":"declaration","source":0,"src_end":2471,"src_start":2329},{"artifact":0,"gen_end":14992,"gen_start":14911,"node":5,"role":"declaration","source":0,"src_end":2676,"src_start":2473},{"artifact":0,"gen_end":15050,"gen_start":14992,"node":6,"role":"declaration","source":0,"src_end":2825,"src_start":2678},{"artifact":0,"gen_end":15142,"gen_start":15050,"node":7,"role":"declaration","source":0,"src_end":3036,"src_start":2827},{"artifact":0,"gen_end":15215,"gen_start":15142,"node":8,"role":"declaration","source":0,"src_end":3184,"src_start":3038},{"artifact":0,"gen_end":15387,"gen_start":15215,"node":9,"role":"declaration","source":0,"src_end":3507,"src_start":3186},{"artifact":0,"gen_end":15483,"gen_start":15387,"node":10,"role":"declaration","source":0,"src_end":3670,"src_start":3509},{"artifact":0,"gen_end":15592,"gen_start":15483,"node":11,"role":"declaration","source":0,"src_end":3853,"src_start":3672},{"artifact":0,"gen_end":15756,"gen_start":15592,"node":12,"role":"declaration","source":0,"src_end":4110,"src_start":3855},{"artifact":0,"gen_end":15895,"gen_start":15756,"node":13,"role":"declaration","source":0,"src_end":4401,"src_start":4112},{"artifact":0,"gen_end":16003,"gen_start":15895,"node":14,"role":"declaration","source":0,"src_end":4654,"src_start":4403},{"artifact":0,"gen_end":16091,"gen_start":16003,"node":15,"role":"declaration","source":0,"src_end":4866,"src_start":4656},{"artifact":0,"gen_end":16147,"gen_start":16091,"node":16,"role":"declaration","source":0,"src_end":5013,"src_start":4868},{"artifact":0,"gen_end":16434,"gen_start":16147,"node":17,"role":"declaration","source":0,"src_end":5469,"src_start":5015},{"artifact":0,"gen_end":17050,"gen_start":16434,"node":18,"role":"declaration","source":0,"src_end":6545,"src_start":5471},{"artifact":0,"gen_end":17146,"gen_start":17050,"node":19,"role":"declaration","source":0,"src_end":6753,"src_start":6547},{"artifact":0,"gen_end":17304,"gen_start":17146,"node":20,"role":"declaration","source":0,"src_end":7051,"src_start":6755},{"artifact":0,"gen_end":17674,"gen_start":17304,"node":21,"role":"declaration","source":0,"src_end":7487,"src_start":7053},{"artifact":0,"gen_end":17805,"gen_start":17674,"node":22,"role":"declaration","source":0,"src_end":7639,"src_start":7489},{"artifact":0,"gen_end":18212,"gen_start":17805,"node":23,"role":"declaration","source":0,"src_end":8112,"src_start":7641},{"artifact":0,"gen_end":18622,"gen_start":18212,"node":24,"role":"declaration","source":0,"src_end":8588,"src_start":8114},{"artifact":0,"gen_end":18907,"gen_start":18622,"node":25,"role":"declaration","source":0,"src_end":8976,"src_start":8590},{"artifact":0,"gen_end":19146,"gen_start":18907,"node":26,"role":"declaration","source":0,"src_end":9280,"src_start":8978},{"artifact":0,"gen_end":19471,"gen_start":19146,"node":27,"role":"declaration","source":0,"src_end":9716,"src_start":9282},{"artifact":0,"gen_end":19964,"gen_start":19471,"node":28,"role":"declaration","source":0,"src_end":10381,"src_start":9718},{"artifact":0,"gen_end":20191,"gen_start":19964,"node":29,"role":"declaration","source":0,"src_end":10679,"src_start":10383},{"artifact":0,"gen_end":21144,"gen_start":20191,"node":30,"role":"declaration","source":0,"src_end":11943,"src_start":10681},{"artifact":0,"gen_end":21480,"gen_start":21144,"node":31,"role":"declaration","source":0,"src_end":12377,"src_start":11945},{"artifact":0,"gen_end":22161,"gen_start":21480,"node":32,"role":"declaration","source":0,"src_end":13311,"src_start":12379},{"artifact":0,"gen_end":22452,"gen_start":22161,"node":33,"role":"declaration","source":0,"src_end":13652,"src_start":13313},{"artifact":0,"gen_end":22675,"gen_start":22452,"node":34,"role":"declaration","source":0,"src_end":13926,"src_start":13654},{"artifact":0,"gen_end":23035,"gen_start":22675,"node":35,"role":"declaration","source":0,"src_end":14392,"src_start":13928},{"artifact":0,"gen_end":23394,"gen_start":23035,"node":36,"role":"declaration","source":0,"src_end":14853,"src_start":14394},{"artifact":0,"gen_end":23741,"gen_start":23394,"node":37,"role":"declaration","source":0,"src_end":15279,"src_start":14855},{"artifact":0,"gen_end":23951,"gen_start":23741,"node":38,"role":"declaration","source":0,"src_end":15568,"src_start":15281},{"artifact":0,"gen_end":24140,"gen_start":23951,"node":39,"role":"declaration","source":0,"src_end":15819,"src_start":15570},{"artifact":0,"gen_end":24326,"gen_start":24140,"node":40,"role":"declaration","source":0,"src_end":16055,"src_start":15821},{"artifact":0,"gen_end":24817,"gen_start":24326,"node":41,"role":"declaration","source":0,"src_end":16604,"src_start":16057},{"artifact":0,"gen_end":25048,"gen_start":24817,"node":42,"role":"declaration","source":0,"src_end":16892,"src_start":16606},{"artifact":0,"gen_end":25232,"gen_start":25048,"node":43,"role":"declaration","source":0,"src_end":17153,"src_start":16894},{"artifact":0,"gen_end":25544,"gen_start":25232,"node":44,"role":"declaration","source":0,"src_end":17490,"src_start":17155},{"artifact":0,"gen_end":25887,"gen_start":25544,"node":45,"role":"declaration","source":0,"src_end":17847,"src_start":17492},{"artifact":0,"gen_end":26187,"gen_start":25887,"node":46,"role":"declaration","source":0,"src_end":18200,"src_start":17849},{"artifact":0,"gen_end":26429,"gen_start":26187,"node":47,"role":"declaration","source":0,"src_end":18473,"src_start":18202},{"artifact":0,"gen_end":26804,"gen_start":26429,"node":48,"role":"declaration","source":0,"src_end":18856,"src_start":18475},{"artifact":0,"gen_end":26950,"gen_start":26804,"node":49,"role":"declaration","source":0,"src_end":19040,"src_start":18858},{"artifact":0,"gen_end":27031,"gen_start":26950,"node":50,"role":"declaration","source":0,"src_end":19159,"src_start":19042},{"artifact":0,"gen_end":27112,"gen_start":27031,"node":51,"role":"declaration","source":0,"src_end":19278,"src_start":19161},{"artifact":0,"gen_end":27198,"gen_start":27112,"node":52,"role":"declaration","source":0,"src_end":19402,"src_start":19280},{"artifact":0,"gen_end":27284,"gen_start":27198,"node":53,"role":"declaration","source":0,"src_end":19526,"src_start":19404},{"artifact":0,"gen_end":27433,"gen_start":27284,"node":54,"role":"declaration","source":0,"src_end":19713,"src_start":19528},{"artifact":0,"gen_end":27583,"gen_start":27433,"node":55,"role":"declaration","source":0,"src_end":19901,"src_start":19715},{"artifact":0,"gen_end":27714,"gen_start":27583,"node":56,"role":"declaration","source":0,"src_end":20056,"src_start":19903},{"artifact":0,"gen_end":27845,"gen_start":27714,"node":57,"role":"declaration","source":0,"src_end":20211,"src_start":20058},{"artifact":0,"gen_end":28270,"gen_start":27845,"node":58,"role":"declaration","source":0,"src_end":21190,"src_start":20213},{"artifact":0,"gen_end":28591,"gen_start":28270,"node":59,"role":"declaration","source":0,"src_end":21712,"src_start":21192},{"artifact":0,"gen_end":28973,"gen_start":28591,"node":60,"role":"declaration","source":0,"src_end":22295,"src_start":21714},{"artifact":0,"gen_end":29239,"gen_start":28973,"node":61,"role":"declaration","source":0,"src_end":22759,"src_start":22297},{"artifact":0,"gen_end":29534,"gen_start":29239,"node":62,"role":"declaration","source":0,"src_end":23265,"src_start":22761},{"artifact":0,"gen_end":29876,"gen_start":29534,"node":63,"role":"declaration","source":0,"src_end":23814,"src_start":23267},{"artifact":0,"gen_end":30212,"gen_start":29876,"node":64,"role":"declaration","source":0,"src_end":24357,"src_start":23816},{"artifact":0,"gen_end":30568,"gen_start":30212,"node":65,"role":"declaration","source":0,"src_end":24940,"src_start":24359},{"artifact":0,"gen_end":30924,"gen_start":30568,"node":66,"role":"declaration","source":0,"src_end":25526,"src_start":24942},{"artifact":0,"gen_end":31463,"gen_start":30924,"node":67,"role":"declaration","source":0,"src_end":26329,"src_start":25528},{"artifact":0,"gen_end":32045,"gen_start":31463,"node":68,"role":"declaration","source":0,"src_end":27278,"src_start":26331},{"artifact":0,"gen_end":32555,"gen_start":32045,"node":69,"role":"declaration","source":0,"src_end":28114,"src_start":27280},{"artifact":0,"gen_end":33009,"gen_start":32555,"node":70,"role":"declaration","source":0,"src_end":29040,"src_start":28116},{"artifact":0,"gen_end":35855,"gen_start":33009,"node":71,"role":"declaration","source":0,"src_end":32959,"src_start":29042},{"artifact":0,"gen_end":39723,"gen_start":35855,"node":72,"role":"declaration","source":0,"src_end":38890,"src_start":32961},{"artifact":0,"gen_end":40811,"gen_start":39723,"node":73,"role":"declaration","source":0,"src_end":39776,"src_start":38892},{"artifact":0,"gen_end":41052,"gen_start":40811,"node":74,"role":"declaration","source":0,"src_end":40071,"src_start":39778},{"artifact":0,"gen_end":41530,"gen_start":41052,"node":75,"role":"declaration","source":0,"src_end":40526,"src_start":40073},{"artifact":0,"gen_end":71751,"gen_start":41530,"node":76,"role":"declaration","source":0,"src_end":70968,"src_start":40528},{"artifact":0,"gen_end":72209,"gen_start":71751,"node":77,"role":"declaration","source":0,"src_end":71454,"src_start":70970},{"artifact":0,"gen_end":73494,"gen_start":72209,"node":78,"role":"declaration","source":0,"src_end":72731,"src_start":71456},{"artifact":0,"gen_end":73725,"gen_start":73494,"node":79,"role":"declaration","source":0,"src_end":73012,"src_start":72733},{"artifact":0,"gen_end":73931,"gen_start":73725,"node":80,"role":"declaration","source":0,"src_end":73260,"src_start":73014},{"artifact":0,"gen_end":74123,"gen_start":73931,"node":81,"role":"declaration","source":0,"src_end":73497,"src_start":73262},{"artifact":0,"gen_end":75972,"gen_start":74123,"node":82,"role":"declaration","source":0,"src_end":75195,"src_start":73499},{"artifact":0,"gen_end":76251,"gen_start":75972,"node":83,"role":"declaration","source":0,"src_end":75517,"src_start":75197},{"artifact":0,"gen_end":76505,"gen_start":76251,"node":84,"role":"declaration","source":0,"src_end":75814,"src_start":75519},{"artifact":0,"gen_end":76742,"gen_start":76505,"node":85,"role":"declaration","source":0,"src_end":76093,"src_start":75816},{"artifact":0,"gen_end":77071,"gen_start":76742,"node":86,"role":"declaration","source":0,"src_end":76522,"src_start":76095},{"artifact":0,"gen_end":77330,"gen_start":77071,"node":87,"role":"declaration","source":0,"src_end":76871,"src_start":76524},{"artifact":0,"gen_end":77728,"gen_start":77330,"node":88,"role":"declaration","source":0,"src_end":77300,"src_start":76873},{"artifact":0,"gen_end":78012,"gen_start":77728,"node":89,"role":"declaration","source":0,"src_end":77630,"src_start":77302},{"artifact":0,"gen_end":78327,"gen_start":78012,"node":90,"role":"declaration","source":0,"src_end":77959,"src_start":77632},{"artifact":0,"gen_end":78525,"gen_start":78327,"node":91,"role":"declaration","source":0,"src_end":78153,"src_start":77961},{"artifact":0,"gen_end":78875,"gen_start":78525,"node":92,"role":"declaration","source":0,"src_end":78556,"src_start":78155},{"artifact":0,"gen_end":79303,"gen_start":78875,"node":93,"role":"declaration","source":0,"src_end":79042,"src_start":78558},{"artifact":0,"gen_end":79666,"gen_start":79303,"node":94,"role":"declaration","source":0,"src_end":79475,"src_start":79044},{"artifact":0,"gen_end":79811,"gen_start":79666,"node":95,"role":"declaration","source":0,"src_end":79649,"src_start":79477},{"artifact":0,"gen_end":80055,"gen_start":79811,"node":96,"role":"declaration","source":0,"src_end":79961,"src_start":79651},{"artifact":0,"gen_end":80406,"gen_start":80055,"node":97,"role":"declaration","source":0,"src_end":80386,"src_start":79963},{"artifact":0,"gen_end":80537,"gen_start":80406,"node":98,"role":"declaration","source":0,"src_end":80555,"src_start":80388},{"artifact":0,"gen_end":80786,"gen_start":80537,"node":99,"role":"declaration","source":0,"src_end":80871,"src_start":80557},{"artifact":0,"gen_end":81086,"gen_start":80786,"node":100,"role":"declaration","source":0,"src_end":81229,"src_start":80873},{"artifact":0,"gen_end":81375,"gen_start":81086,"node":101,"role":"declaration","source":0,"src_end":81620,"src_start":81231},{"artifact":0,"gen_end":81630,"gen_start":81375,"node":102,"role":"declaration","source":0,"src_end":81928,"src_start":81622},{"artifact":0,"gen_end":81912,"gen_start":81630,"node":103,"role":"declaration","source":0,"src_end":82254,"src_start":81930},{"artifact":0,"gen_end":82110,"gen_start":81912,"node":104,"role":"declaration","source":0,"src_end":82485,"src_start":82256},{"artifact":0,"gen_end":82429,"gen_start":82110,"node":105,"role":"declaration","source":0,"src_end":82856,"src_start":82487},{"artifact":0,"gen_end":82643,"gen_start":82429,"node":106,"role":"declaration","source":0,"src_end":83100,"src_start":82858},{"artifact":0,"gen_end":82784,"gen_start":82643,"node":107,"role":"declaration","source":0,"src_end":83267,"src_start":83102},{"artifact":0,"gen_end":83019,"gen_start":82784,"node":108,"role":"declaration","source":0,"src_end":83570,"src_start":83269},{"artifact":0,"gen_end":83400,"gen_start":83019,"node":109,"role":"declaration","source":0,"src_end":83990,"src_start":83572},{"artifact":0,"gen_end":83660,"gen_start":83400,"node":110,"role":"declaration","source":0,"src_end":84313,"src_start":83992},{"artifact":0,"gen_end":83879,"gen_start":83660,"node":111,"role":"declaration","source":0,"src_end":84579,"src_start":84315},{"artifact":0,"gen_end":83971,"gen_start":83879,"node":112,"role":"declaration","source":0,"src_end":84692,"src_start":84581},{"artifact":0,"gen_end":85406,"gen_start":83971,"node":113,"role":"declaration","source":0,"src_end":86153,"src_start":84694},{"artifact":0,"gen_end":86102,"gen_start":85406,"node":114,"role":"declaration","source":0,"src_end":86989,"src_start":86155},{"artifact":0,"gen_end":86493,"gen_start":86102,"node":115,"role":"declaration","source":0,"src_end":87424,"src_start":86991},{"artifact":0,"gen_end":86773,"gen_start":86493,"node":116,"role":"declaration","source":0,"src_end":87815,"src_start":87426},{"artifact":0,"gen_end":87191,"gen_start":86773,"node":117,"role":"declaration","source":0,"src_end":88306,"src_start":87817},{"artifact":0,"gen_end":87472,"gen_start":87191,"node":118,"role":"declaration","source":0,"src_end":88661,"src_start":88308},{"artifact":0,"gen_end":88114,"gen_start":87472,"node":119,"role":"declaration","source":0,"src_end":89445,"src_start":88663},{"artifact":0,"gen_end":88542,"gen_start":88114,"node":120,"role":"declaration","source":0,"src_end":90031,"src_start":89447},{"artifact":0,"gen_end":89307,"gen_start":88542,"node":121,"role":"declaration","source":0,"src_end":90987,"src_start":90033},{"artifact":0,"gen_end":89734,"gen_start":89307,"node":122,"role":"declaration","source":0,"src_end":91513,"src_start":90989},{"artifact":0,"gen_end":90079,"gen_start":89734,"node":123,"role":"declaration","source":0,"src_end":91889,"src_start":91515},{"artifact":0,"gen_end":90524,"gen_start":90079,"node":124,"role":"declaration","source":0,"src_end":92375,"src_start":91891},{"artifact":0,"gen_end":91098,"gen_start":90524,"node":125,"role":"declaration","source":0,"src_end":92995,"src_start":92377},{"artifact":0,"gen_end":91556,"gen_start":91098,"node":126,"role":"declaration","source":0,"src_end":93423,"src_start":92997},{"artifact":0,"gen_end":91930,"gen_start":91556,"node":127,"role":"declaration","source":0,"src_end":93830,"src_start":93425},{"artifact":0,"gen_end":92457,"gen_start":91930,"node":128,"role":"declaration","source":0,"src_end":94310,"src_start":93832},{"artifact":0,"gen_end":92721,"gen_start":92457,"node":129,"role":"declaration","source":0,"src_end":94650,"src_start":94312},{"artifact":0,"gen_end":93025,"gen_start":92721,"node":130,"role":"declaration","source":0,"src_end":94989,"src_start":94652},{"artifact":0,"gen_end":93148,"gen_start":93025,"node":131,"role":"declaration","source":0,"src_end":95133,"src_start":94991},{"artifact":0,"gen_end":93339,"gen_start":93148,"node":132,"role":"declaration","source":0,"src_end":95333,"src_start":95135},{"artifact":0,"gen_end":93549,"gen_start":93339,"node":133,"role":"declaration","source":0,"src_end":95561,"src_start":95335},{"artifact":0,"gen_end":93695,"gen_start":93549,"node":134,"role":"declaration","source":0,"src_end":95723,"src_start":95563},{"artifact":0,"gen_end":93857,"gen_start":93695,"node":135,"role":"declaration","source":0,"src_end":95896,"src_start":95725},{"artifact":0,"gen_end":94249,"gen_start":93857,"node":136,"role":"declaration","source":0,"src_end":96300,"src_start":95898},{"artifact":0,"gen_end":94658,"gen_start":94249,"node":137,"role":"declaration","source":0,"src_end":96721,"src_start":96302},{"artifact":0,"gen_end":95073,"gen_start":94658,"node":138,"role":"declaration","source":0,"src_end":97113,"src_start":96723},{"artifact":0,"gen_end":95517,"gen_start":95073,"node":139,"role":"declaration","source":0,"src_end":97536,"src_start":97115},{"artifact":0,"gen_end":95829,"gen_start":95517,"node":140,"role":"declaration","source":0,"src_end":97869,"src_start":97538},{"artifact":0,"gen_end":96171,"gen_start":95829,"node":141,"role":"declaration","source":0,"src_end":98230,"src_start":97871},{"artifact":0,"gen_end":96499,"gen_start":96171,"node":142,"role":"declaration","source":0,"src_end":98577,"src_start":98232},{"artifact":0,"gen_end":97024,"gen_start":96499,"node":143,"role":"declaration","source":0,"src_end":99100,"src_start":98579},{"artifact":0,"gen_end":97145,"gen_start":97024,"node":144,"role":"declaration","source":0,"src_end":99250,"src_start":99102},{"artifact":0,"gen_end":97329,"gen_start":97145,"node":145,"role":"declaration","source":0,"src_end":99491,"src_start":99252},{"artifact":0,"gen_end":97592,"gen_start":97329,"node":146,"role":"declaration","source":0,"src_end":99766,"src_start":99493},{"artifact":0,"gen_end":97725,"gen_start":97592,"node":147,"role":"declaration","source":0,"src_end":99965,"src_start":99768},{"artifact":0,"gen_end":97857,"gen_start":97725,"node":148,"role":"declaration","source":0,"src_end":100163,"src_start":99967},{"artifact":0,"gen_end":97992,"gen_start":97857,"node":149,"role":"declaration","source":0,"src_end":100368,"src_start":100165},{"artifact":0,"gen_end":98075,"gen_start":97992,"node":150,"role":"declaration","source":0,"src_end":100497,"src_start":100370},{"artifact":0,"gen_end":98157,"gen_start":98075,"node":151,"role":"declaration","source":0,"src_end":100625,"src_start":100499},{"artifact":0,"gen_end":98303,"gen_start":98157,"node":152,"role":"declaration","source":0,"src_end":100811,"src_start":100627},{"artifact":0,"gen_end":98327,"gen_start":98303,"node":0,"role":"declaration","source":0,"src_end":100847,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":153,"role":"declaration","source":0,"src_end":100847,"src_start":0},{"artifact":1,"gen_end":2330,"gen_start":134,"node":154,"role":"declaration","source":0,"src_end":1644,"src_start":172},{"artifact":1,"gen_end":3005,"gen_start":2330,"node":155,"role":"declaration","source":0,"src_end":2101,"src_start":1646},{"artifact":1,"gen_end":3305,"gen_start":3005,"node":156,"role":"declaration","source":0,"src_end":2327,"src_start":2103},{"artifact":1,"gen_end":3485,"gen_start":3305,"node":157,"role":"declaration","source":0,"src_end":2471,"src_start":2329},{"artifact":1,"gen_end":3740,"gen_start":3485,"node":158,"role":"declaration","source":0,"src_end":2676,"src_start":2473},{"artifact":1,"gen_end":3927,"gen_start":3740,"node":159,"role":"declaration","source":0,"src_end":2825,"src_start":2678},{"artifact":1,"gen_end":4202,"gen_start":3927,"node":160,"role":"declaration","source":0,"src_end":3036,"src_start":2827},{"artifact":1,"gen_end":4386,"gen_start":4202,"node":161,"role":"declaration","source":0,"src_end":3184,"src_start":3038},{"artifact":1,"gen_end":4813,"gen_start":4386,"node":162,"role":"declaration","source":0,"src_end":3507,"src_start":3186},{"artifact":1,"gen_end":5014,"gen_start":4813,"node":163,"role":"declaration","source":0,"src_end":3670,"src_start":3509},{"artifact":1,"gen_end":5234,"gen_start":5014,"node":164,"role":"declaration","source":0,"src_end":3853,"src_start":3672},{"artifact":1,"gen_end":5581,"gen_start":5234,"node":165,"role":"declaration","source":0,"src_end":4110,"src_start":3855},{"artifact":1,"gen_end":5970,"gen_start":5581,"node":166,"role":"declaration","source":0,"src_end":4401,"src_start":4112},{"artifact":1,"gen_end":6297,"gen_start":5970,"node":167,"role":"declaration","source":0,"src_end":4654,"src_start":4403},{"artifact":1,"gen_end":6559,"gen_start":6297,"node":168,"role":"declaration","source":0,"src_end":4866,"src_start":4656},{"artifact":1,"gen_end":6744,"gen_start":6559,"node":169,"role":"declaration","source":0,"src_end":5013,"src_start":4868},{"artifact":1,"gen_end":7390,"gen_start":6744,"node":170,"role":"declaration","source":0,"src_end":5469,"src_start":5015},{"artifact":1,"gen_end":8948,"gen_start":7390,"node":171,"role":"declaration","source":0,"src_end":6545,"src_start":5471},{"artifact":1,"gen_end":9206,"gen_start":8948,"node":172,"role":"declaration","source":0,"src_end":6753,"src_start":6547},{"artifact":1,"gen_end":9602,"gen_start":9206,"node":173,"role":"declaration","source":0,"src_end":7051,"src_start":6755},{"artifact":1,"gen_end":10154,"gen_start":9602,"node":174,"role":"declaration","source":0,"src_end":7487,"src_start":7053},{"artifact":1,"gen_end":10467,"gen_start":10154,"node":175,"role":"declaration","source":0,"src_end":7639,"src_start":7489},{"artifact":1,"gen_end":11056,"gen_start":10467,"node":176,"role":"declaration","source":0,"src_end":8112,"src_start":7641},{"artifact":1,"gen_end":11648,"gen_start":11056,"node":177,"role":"declaration","source":0,"src_end":8588,"src_start":8114},{"artifact":1,"gen_end":12112,"gen_start":11648,"node":178,"role":"declaration","source":0,"src_end":8976,"src_start":8590},{"artifact":1,"gen_end":12530,"gen_start":12112,"node":179,"role":"declaration","source":0,"src_end":9280,"src_start":8978},{"artifact":1,"gen_end":13040,"gen_start":12530,"node":180,"role":"declaration","source":0,"src_end":9716,"src_start":9282},{"artifact":1,"gen_end":13716,"gen_start":13040,"node":181,"role":"declaration","source":0,"src_end":10381,"src_start":9718},{"artifact":1,"gen_end":14127,"gen_start":13716,"node":182,"role":"declaration","source":0,"src_end":10679,"src_start":10383},{"artifact":1,"gen_end":15262,"gen_start":14127,"node":183,"role":"declaration","source":0,"src_end":11943,"src_start":10681},{"artifact":1,"gen_end":15775,"gen_start":15262,"node":184,"role":"declaration","source":0,"src_end":12377,"src_start":11945},{"artifact":1,"gen_end":16635,"gen_start":15775,"node":185,"role":"declaration","source":0,"src_end":13311,"src_start":12379},{"artifact":1,"gen_end":17108,"gen_start":16635,"node":186,"role":"declaration","source":0,"src_end":13652,"src_start":13313},{"artifact":1,"gen_end":17506,"gen_start":17108,"node":187,"role":"declaration","source":0,"src_end":13926,"src_start":13654},{"artifact":1,"gen_end":18042,"gen_start":17506,"node":188,"role":"declaration","source":0,"src_end":14392,"src_start":13928},{"artifact":1,"gen_end":18576,"gen_start":18042,"node":189,"role":"declaration","source":0,"src_end":14853,"src_start":14394},{"artifact":1,"gen_end":19104,"gen_start":18576,"node":190,"role":"declaration","source":0,"src_end":15279,"src_start":14855},{"artifact":1,"gen_end":19530,"gen_start":19104,"node":191,"role":"declaration","source":0,"src_end":15568,"src_start":15281},{"artifact":1,"gen_end":19916,"gen_start":19530,"node":192,"role":"declaration","source":0,"src_end":15819,"src_start":15570},{"artifact":1,"gen_end":20283,"gen_start":19916,"node":193,"role":"declaration","source":0,"src_end":16055,"src_start":15821},{"artifact":1,"gen_end":20964,"gen_start":20283,"node":194,"role":"declaration","source":0,"src_end":16604,"src_start":16057},{"artifact":1,"gen_end":21372,"gen_start":20964,"node":195,"role":"declaration","source":0,"src_end":16892,"src_start":16606},{"artifact":1,"gen_end":21753,"gen_start":21372,"node":196,"role":"declaration","source":0,"src_end":17153,"src_start":16894},{"artifact":1,"gen_end":22219,"gen_start":21753,"node":197,"role":"declaration","source":0,"src_end":17490,"src_start":17155},{"artifact":1,"gen_end":22714,"gen_start":22219,"node":198,"role":"declaration","source":0,"src_end":17847,"src_start":17492},{"artifact":1,"gen_end":23198,"gen_start":22714,"node":199,"role":"declaration","source":0,"src_end":18200,"src_start":17849},{"artifact":1,"gen_end":23622,"gen_start":23198,"node":200,"role":"declaration","source":0,"src_end":18473,"src_start":18202},{"artifact":1,"gen_end":24183,"gen_start":23622,"node":201,"role":"declaration","source":0,"src_end":18856,"src_start":18475},{"artifact":1,"gen_end":24435,"gen_start":24183,"node":202,"role":"declaration","source":0,"src_end":19040,"src_start":18858},{"artifact":1,"gen_end":24622,"gen_start":24435,"node":203,"role":"declaration","source":0,"src_end":19159,"src_start":19042},{"artifact":1,"gen_end":24809,"gen_start":24622,"node":204,"role":"declaration","source":0,"src_end":19278,"src_start":19161},{"artifact":1,"gen_end":25003,"gen_start":24809,"node":205,"role":"declaration","source":0,"src_end":19402,"src_start":19280},{"artifact":1,"gen_end":25197,"gen_start":25003,"node":206,"role":"declaration","source":0,"src_end":19526,"src_start":19404},{"artifact":1,"gen_end":25458,"gen_start":25197,"node":207,"role":"declaration","source":0,"src_end":19713,"src_start":19528},{"artifact":1,"gen_end":25720,"gen_start":25458,"node":208,"role":"declaration","source":0,"src_end":19901,"src_start":19715},{"artifact":1,"gen_end":25996,"gen_start":25720,"node":209,"role":"declaration","source":0,"src_end":20056,"src_start":19903},{"artifact":1,"gen_end":26272,"gen_start":25996,"node":210,"role":"declaration","source":0,"src_end":20211,"src_start":20058},{"artifact":1,"gen_end":26583,"gen_start":26272,"node":211,"role":"declaration","source":0,"src_end":21190,"src_start":20213},{"artifact":1,"gen_end":26931,"gen_start":26583,"node":212,"role":"declaration","source":0,"src_end":21712,"src_start":21192},{"artifact":1,"gen_end":27335,"gen_start":26931,"node":213,"role":"declaration","source":0,"src_end":22295,"src_start":21714},{"artifact":1,"gen_end":27617,"gen_start":27335,"node":214,"role":"declaration","source":0,"src_end":22759,"src_start":22297},{"artifact":1,"gen_end":27930,"gen_start":27617,"node":215,"role":"declaration","source":0,"src_end":23265,"src_start":22761},{"artifact":1,"gen_end":28288,"gen_start":27930,"node":216,"role":"declaration","source":0,"src_end":23814,"src_start":23267},{"artifact":1,"gen_end":28636,"gen_start":28288,"node":217,"role":"declaration","source":0,"src_end":24357,"src_start":23816},{"artifact":1,"gen_end":28995,"gen_start":28636,"node":218,"role":"declaration","source":0,"src_end":24940,"src_start":24359},{"artifact":1,"gen_end":29344,"gen_start":28995,"node":219,"role":"declaration","source":0,"src_end":25526,"src_start":24942},{"artifact":1,"gen_end":29840,"gen_start":29344,"node":220,"role":"declaration","source":0,"src_end":26329,"src_start":25528},{"artifact":1,"gen_end":30343,"gen_start":29840,"node":221,"role":"declaration","source":0,"src_end":27278,"src_start":26331},{"artifact":1,"gen_end":30837,"gen_start":30343,"node":222,"role":"declaration","source":0,"src_end":28114,"src_start":27280},{"artifact":1,"gen_end":31157,"gen_start":30837,"node":223,"role":"declaration","source":0,"src_end":29040,"src_start":28116},{"artifact":1,"gen_end":34190,"gen_start":31157,"node":224,"role":"declaration","source":0,"src_end":32959,"src_start":29042},{"artifact":1,"gen_end":38246,"gen_start":34190,"node":225,"role":"declaration","source":0,"src_end":38890,"src_start":32961},{"artifact":1,"gen_end":39516,"gen_start":38246,"node":226,"role":"declaration","source":0,"src_end":39776,"src_start":38892},{"artifact":1,"gen_end":39954,"gen_start":39516,"node":227,"role":"declaration","source":0,"src_end":40071,"src_start":39778},{"artifact":1,"gen_end":40618,"gen_start":39954,"node":228,"role":"declaration","source":0,"src_end":40526,"src_start":40073},{"artifact":1,"gen_end":71405,"gen_start":40618,"node":229,"role":"declaration","source":0,"src_end":70968,"src_start":40528},{"artifact":1,"gen_end":72091,"gen_start":71405,"node":230,"role":"declaration","source":0,"src_end":71454,"src_start":70970},{"artifact":1,"gen_end":73631,"gen_start":72091,"node":231,"role":"declaration","source":0,"src_end":72731,"src_start":71456},{"artifact":1,"gen_end":74110,"gen_start":73631,"node":232,"role":"declaration","source":0,"src_end":73012,"src_start":72733},{"artifact":1,"gen_end":74564,"gen_start":74110,"node":233,"role":"declaration","source":0,"src_end":73260,"src_start":73014},{"artifact":1,"gen_end":75004,"gen_start":74564,"node":234,"role":"declaration","source":0,"src_end":73497,"src_start":73262},{"artifact":1,"gen_end":77109,"gen_start":75004,"node":235,"role":"declaration","source":0,"src_end":75195,"src_start":73499},{"artifact":1,"gen_end":77639,"gen_start":77109,"node":236,"role":"declaration","source":0,"src_end":75517,"src_start":75197},{"artifact":1,"gen_end":78144,"gen_start":77639,"node":237,"role":"declaration","source":0,"src_end":75814,"src_start":75519},{"artifact":1,"gen_end":78632,"gen_start":78144,"node":238,"role":"declaration","source":0,"src_end":76093,"src_start":75816},{"artifact":1,"gen_end":79140,"gen_start":78632,"node":239,"role":"declaration","source":0,"src_end":76522,"src_start":76095},{"artifact":1,"gen_end":79578,"gen_start":79140,"node":240,"role":"declaration","source":0,"src_end":76871,"src_start":76524},{"artifact":1,"gen_end":80147,"gen_start":79578,"node":241,"role":"declaration","source":0,"src_end":77300,"src_start":76873},{"artifact":1,"gen_end":80611,"gen_start":80147,"node":242,"role":"declaration","source":0,"src_end":77630,"src_start":77302},{"artifact":1,"gen_end":81081,"gen_start":80611,"node":243,"role":"declaration","source":0,"src_end":77959,"src_start":77632},{"artifact":1,"gen_end":81461,"gen_start":81081,"node":244,"role":"declaration","source":0,"src_end":78153,"src_start":77961},{"artifact":1,"gen_end":81984,"gen_start":81461,"node":245,"role":"declaration","source":0,"src_end":78556,"src_start":78155},{"artifact":1,"gen_end":82571,"gen_start":81984,"node":246,"role":"declaration","source":0,"src_end":79042,"src_start":78558},{"artifact":1,"gen_end":83117,"gen_start":82571,"node":247,"role":"declaration","source":0,"src_end":79475,"src_start":79044},{"artifact":1,"gen_end":83446,"gen_start":83117,"node":248,"role":"declaration","source":0,"src_end":79649,"src_start":79477},{"artifact":1,"gen_end":83904,"gen_start":83446,"node":249,"role":"declaration","source":0,"src_end":79961,"src_start":79651},{"artifact":1,"gen_end":84475,"gen_start":83904,"node":250,"role":"declaration","source":0,"src_end":80386,"src_start":79963},{"artifact":1,"gen_end":84822,"gen_start":84475,"node":251,"role":"declaration","source":0,"src_end":80555,"src_start":80388},{"artifact":1,"gen_end":85286,"gen_start":84822,"node":252,"role":"declaration","source":0,"src_end":80871,"src_start":80557},{"artifact":1,"gen_end":85798,"gen_start":85286,"node":253,"role":"declaration","source":0,"src_end":81229,"src_start":80873},{"artifact":1,"gen_end":86304,"gen_start":85798,"node":254,"role":"declaration","source":0,"src_end":81620,"src_start":81231},{"artifact":1,"gen_end":86758,"gen_start":86304,"node":255,"role":"declaration","source":0,"src_end":81928,"src_start":81622},{"artifact":1,"gen_end":87237,"gen_start":86758,"node":256,"role":"declaration","source":0,"src_end":82254,"src_start":81930},{"artifact":1,"gen_end":87653,"gen_start":87237,"node":257,"role":"declaration","source":0,"src_end":82485,"src_start":82256},{"artifact":1,"gen_end":88190,"gen_start":87653,"node":258,"role":"declaration","source":0,"src_end":82856,"src_start":82487},{"artifact":1,"gen_end":88620,"gen_start":88190,"node":259,"role":"declaration","source":0,"src_end":83100,"src_start":82858},{"artifact":1,"gen_end":88945,"gen_start":88620,"node":260,"role":"declaration","source":0,"src_end":83267,"src_start":83102},{"artifact":1,"gen_end":89394,"gen_start":88945,"node":261,"role":"declaration","source":0,"src_end":83570,"src_start":83269},{"artifact":1,"gen_end":89953,"gen_start":89394,"node":262,"role":"declaration","source":0,"src_end":83990,"src_start":83572},{"artifact":1,"gen_end":90422,"gen_start":89953,"node":263,"role":"declaration","source":0,"src_end":84313,"src_start":83992},{"artifact":1,"gen_end":90858,"gen_start":90422,"node":264,"role":"declaration","source":0,"src_end":84579,"src_start":84315},{"artifact":1,"gen_end":91132,"gen_start":90858,"node":265,"role":"declaration","source":0,"src_end":84692,"src_start":84581},{"artifact":1,"gen_end":92747,"gen_start":91132,"node":266,"role":"declaration","source":0,"src_end":86153,"src_start":84694},{"artifact":1,"gen_end":93667,"gen_start":92747,"node":267,"role":"declaration","source":0,"src_end":86989,"src_start":86155},{"artifact":1,"gen_end":94240,"gen_start":93667,"node":268,"role":"declaration","source":0,"src_end":87424,"src_start":86991},{"artifact":1,"gen_end":94721,"gen_start":94240,"node":269,"role":"declaration","source":0,"src_end":87815,"src_start":87426},{"artifact":1,"gen_end":95338,"gen_start":94721,"node":270,"role":"declaration","source":0,"src_end":88306,"src_start":87817},{"artifact":1,"gen_end":95816,"gen_start":95338,"node":271,"role":"declaration","source":0,"src_end":88661,"src_start":88308},{"artifact":1,"gen_end":96683,"gen_start":95816,"node":272,"role":"declaration","source":0,"src_end":89445,"src_start":88663},{"artifact":1,"gen_end":97335,"gen_start":96683,"node":273,"role":"declaration","source":0,"src_end":90031,"src_start":89447},{"artifact":1,"gen_end":98331,"gen_start":97335,"node":274,"role":"declaration","source":0,"src_end":90987,"src_start":90033},{"artifact":1,"gen_end":98982,"gen_start":98331,"node":275,"role":"declaration","source":0,"src_end":91513,"src_start":90989},{"artifact":1,"gen_end":99510,"gen_start":98982,"node":276,"role":"declaration","source":0,"src_end":91889,"src_start":91515},{"artifact":1,"gen_end":100179,"gen_start":99510,"node":277,"role":"declaration","source":0,"src_end":92375,"src_start":91891},{"artifact":1,"gen_end":100939,"gen_start":100179,"node":278,"role":"declaration","source":0,"src_end":92995,"src_start":92377},{"artifact":1,"gen_end":101566,"gen_start":100939,"node":279,"role":"declaration","source":0,"src_end":93423,"src_start":92997},{"artifact":1,"gen_end":102117,"gen_start":101566,"node":280,"role":"declaration","source":0,"src_end":93830,"src_start":93425},{"artifact":1,"gen_end":102775,"gen_start":102117,"node":281,"role":"declaration","source":0,"src_end":94310,"src_start":93832},{"artifact":1,"gen_end":103220,"gen_start":102775,"node":282,"role":"declaration","source":0,"src_end":94650,"src_start":94312},{"artifact":1,"gen_end":103687,"gen_start":103220,"node":283,"role":"declaration","source":0,"src_end":94989,"src_start":94652},{"artifact":1,"gen_end":103992,"gen_start":103687,"node":284,"role":"declaration","source":0,"src_end":95133,"src_start":94991},{"artifact":1,"gen_end":104365,"gen_start":103992,"node":285,"role":"declaration","source":0,"src_end":95333,"src_start":95135},{"artifact":1,"gen_end":104757,"gen_start":104365,"node":286,"role":"declaration","source":0,"src_end":95561,"src_start":95335},{"artifact":1,"gen_end":105049,"gen_start":104757,"node":287,"role":"declaration","source":0,"src_end":95723,"src_start":95563},{"artifact":1,"gen_end":105393,"gen_start":105049,"node":288,"role":"declaration","source":0,"src_end":95896,"src_start":95725},{"artifact":1,"gen_end":105894,"gen_start":105393,"node":289,"role":"declaration","source":0,"src_end":96300,"src_start":95898},{"artifact":1,"gen_end":106412,"gen_start":105894,"node":290,"role":"declaration","source":0,"src_end":96721,"src_start":96302},{"artifact":1,"gen_end":106936,"gen_start":106412,"node":291,"role":"declaration","source":0,"src_end":97113,"src_start":96723},{"artifact":1,"gen_end":107489,"gen_start":106936,"node":292,"role":"declaration","source":0,"src_end":97536,"src_start":97115},{"artifact":1,"gen_end":107910,"gen_start":107489,"node":293,"role":"declaration","source":0,"src_end":97869,"src_start":97538},{"artifact":1,"gen_end":108361,"gen_start":107910,"node":294,"role":"declaration","source":0,"src_end":98230,"src_start":97871},{"artifact":1,"gen_end":108798,"gen_start":108361,"node":295,"role":"declaration","source":0,"src_end":98577,"src_start":98232},{"artifact":1,"gen_end":109432,"gen_start":108798,"node":296,"role":"declaration","source":0,"src_end":99100,"src_start":98579},{"artifact":1,"gen_end":109662,"gen_start":109432,"node":297,"role":"declaration","source":0,"src_end":99250,"src_start":99102},{"artifact":1,"gen_end":109955,"gen_start":109662,"node":298,"role":"declaration","source":0,"src_end":99491,"src_start":99252},{"artifact":1,"gen_end":110327,"gen_start":109955,"node":299,"role":"declaration","source":0,"src_end":99766,"src_start":99493},{"artifact":1,"gen_end":110569,"gen_start":110327,"node":300,"role":"declaration","source":0,"src_end":99965,"src_start":99768},{"artifact":1,"gen_end":110810,"gen_start":110569,"node":301,"role":"declaration","source":0,"src_end":100163,"src_start":99967},{"artifact":1,"gen_end":111054,"gen_start":110810,"node":302,"role":"declaration","source":0,"src_end":100368,"src_start":100165},{"artifact":1,"gen_end":111246,"gen_start":111054,"node":303,"role":"declaration","source":0,"src_end":100497,"src_start":100370},{"artifact":1,"gen_end":111437,"gen_start":111246,"node":304,"role":"declaration","source":0,"src_end":100625,"src_start":100499},{"artifact":1,"gen_end":111692,"gen_start":111437,"node":305,"role":"declaration","source":0,"src_end":100811,"src_start":100627},{"artifact":1,"gen_end":111707,"gen_start":111692,"node":153,"role":"declaration","source":0,"src_end":100847,"src_start":0}],"module":"Gnaf","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"},{"id":80,"kind":"semantic-declaration"},{"id":81,"kind":"semantic-declaration"},{"id":82,"kind":"semantic-declaration"},{"id":83,"kind":"semantic-declaration"},{"id":84,"kind":"semantic-declaration"},{"id":85,"kind":"semantic-declaration"},{"id":86,"kind":"semantic-declaration"},{"id":87,"kind":"semantic-declaration"},{"id":88,"kind":"semantic-declaration"},{"id":89,"kind":"semantic-declaration"},{"id":90,"kind":"semantic-declaration"},{"id":91,"kind":"semantic-declaration"},{"id":92,"kind":"semantic-declaration"},{"id":93,"kind":"semantic-declaration"},{"id":94,"kind":"semantic-declaration"},{"id":95,"kind":"semantic-declaration"},{"id":96,"kind":"semantic-declaration"},{"id":97,"kind":"semantic-declaration"},{"id":98,"kind":"semantic-declaration"},{"id":99,"kind":"semantic-declaration"},{"id":100,"kind":"semantic-declaration"},{"id":101,"kind":"semantic-declaration"},{"id":102,"kind":"semantic-declaration"},{"id":103,"kind":"semantic-declaration"},{"id":104,"kind":"semantic-declaration"},{"id":105,"kind":"semantic-declaration"},{"id":106,"kind":"semantic-declaration"},{"id":107,"kind":"semantic-declaration"},{"id":108,"kind":"semantic-declaration"},{"id":109,"kind":"semantic-declaration"},{"id":110,"kind":"semantic-declaration"},{"id":111,"kind":"semantic-declaration"},{"id":112,"kind":"semantic-declaration"},{"id":113,"kind":"semantic-declaration"},{"id":114,"kind":"semantic-declaration"},{"id":115,"kind":"semantic-declaration"},{"id":116,"kind":"semantic-declaration"},{"id":117,"kind":"semantic-declaration"},{"id":118,"kind":"semantic-declaration"},{"id":119,"kind":"semantic-declaration"},{"id":120,"kind":"semantic-declaration"},{"id":121,"kind":"semantic-declaration"},{"id":122,"kind":"semantic-declaration"},{"id":123,"kind":"semantic-declaration"},{"id":124,"kind":"semantic-declaration"},{"id":125,"kind":"semantic-declaration"},{"id":126,"kind":"semantic-declaration"},{"id":127,"kind":"semantic-declaration"},{"id":128,"kind":"semantic-declaration"},{"id":129,"kind":"semantic-declaration"},{"id":130,"kind":"semantic-declaration"},{"id":131,"kind":"semantic-declaration"},{"id":132,"kind":"semantic-declaration"},{"id":133,"kind":"semantic-declaration"},{"id":134,"kind":"semantic-declaration"},{"id":135,"kind":"semantic-declaration"},{"id":136,"kind":"semantic-declaration"},{"id":137,"kind":"semantic-declaration"},{"id":138,"kind":"semantic-declaration"},{"id":139,"kind":"semantic-declaration"},{"id":140,"kind":"semantic-declaration"},{"id":141,"kind":"semantic-declaration"},{"id":142,"kind":"semantic-declaration"},{"id":143,"kind":"semantic-declaration"},{"id":144,"kind":"semantic-declaration"},{"id":145,"kind":"semantic-declaration"},{"id":146,"kind":"semantic-declaration"},{"id":147,"kind":"semantic-declaration"},{"id":148,"kind":"semantic-declaration"},{"id":149,"kind":"semantic-declaration"},{"id":150,"kind":"semantic-declaration"},{"id":151,"kind":"semantic-declaration"},{"id":152,"kind":"semantic-declaration"},{"id":153,"kind":"semantic-latex-module"},{"id":154,"kind":"semantic-declaration"},{"id":155,"kind":"semantic-declaration"},{"id":156,"kind":"semantic-declaration"},{"id":157,"kind":"semantic-declaration"},{"id":158,"kind":"semantic-declaration"},{"id":159,"kind":"semantic-declaration"},{"id":160,"kind":"semantic-declaration"},{"id":161,"kind":"semantic-declaration"},{"id":162,"kind":"semantic-declaration"},{"id":163,"kind":"semantic-declaration"},{"id":164,"kind":"semantic-declaration"},{"id":165,"kind":"semantic-declaration"},{"id":166,"kind":"semantic-declaration"},{"id":167,"kind":"semantic-declaration"},{"id":168,"kind":"semantic-declaration"},{"id":169,"kind":"semantic-declaration"},{"id":170,"kind":"semantic-declaration"},{"id":171,"kind":"semantic-declaration"},{"id":172,"kind":"semantic-declaration"},{"id":173,"kind":"semantic-declaration"},{"id":174,"kind":"semantic-declaration"},{"id":175,"kind":"semantic-declaration"},{"id":176,"kind":"semantic-declaration"},{"id":177,"kind":"semantic-declaration"},{"id":178,"kind":"semantic-declaration"},{"id":179,"kind":"semantic-declaration"},{"id":180,"kind":"semantic-declaration"},{"id":181,"kind":"semantic-declaration"},{"id":182,"kind":"semantic-declaration"},{"id":183,"kind":"semantic-declaration"},{"id":184,"kind":"semantic-declaration"},{"id":185,"kind":"semantic-declaration"},{"id":186,"kind":"semantic-declaration"},{"id":187,"kind":"semantic-declaration"},{"id":188,"kind":"semantic-declaration"},{"id":189,"kind":"semantic-declaration"},{"id":190,"kind":"semantic-declaration"},{"id":191,"kind":"semantic-declaration"},{"id":192,"kind":"semantic-declaration"},{"id":193,"kind":"semantic-declaration"},{"id":194,"kind":"semantic-declaration"},{"id":195,"kind":"semantic-declaration"},{"id":196,"kind":"semantic-declaration"},{"id":197,"kind":"semantic-declaration"},{"id":198,"kind":"semantic-declaration"},{"id":199,"kind":"semantic-declaration"},{"id":200,"kind":"semantic-declaration"},{"id":201,"kind":"semantic-declaration"},{"id":202,"kind":"semantic-declaration"},{"id":203,"kind":"semantic-declaration"},{"id":204,"kind":"semantic-declaration"},{"id":205,"kind":"semantic-declaration"},{"id":206,"kind":"semantic-declaration"},{"id":207,"kind":"semantic-declaration"},{"id":208,"kind":"semantic-declaration"},{"id":209,"kind":"semantic-declaration"},{"id":210,"kind":"semantic-declaration"},{"id":211,"kind":"semantic-declaration"},{"id":212,"kind":"semantic-declaration"},{"id":213,"kind":"semantic-declaration"},{"id":214,"kind":"semantic-declaration"},{"id":215,"kind":"semantic-declaration"},{"id":216,"kind":"semantic-declaration"},{"id":217,"kind":"semantic-declaration"},{"id":218,"kind":"semantic-declaration"},{"id":219,"kind":"semantic-declaration"},{"id":220,"kind":"semantic-declaration"},{"id":221,"kind":"semantic-declaration"},{"id":222,"kind":"semantic-declaration"},{"id":223,"kind":"semantic-declaration"},{"id":224,"kind":"semantic-declaration"},{"id":225,"kind":"semantic-declaration"},{"id":226,"kind":"semantic-declaration"},{"id":227,"kind":"semantic-declaration"},{"id":228,"kind":"semantic-declaration"},{"id":229,"kind":"semantic-declaration"},{"id":230,"kind":"semantic-declaration"},{"id":231,"kind":"semantic-declaration"},{"id":232,"kind":"semantic-declaration"},{"id":233,"kind":"semantic-declaration"},{"id":234,"kind":"semantic-declaration"},{"id":235,"kind":"semantic-declaration"},{"id":236,"kind":"semantic-declaration"},{"id":237,"kind":"semantic-declaration"},{"id":238,"kind":"semantic-declaration"},{"id":239,"kind":"semantic-declaration"},{"id":240,"kind":"semantic-declaration"},{"id":241,"kind":"semantic-declaration"},{"id":242,"kind":"semantic-declaration"},{"id":243,"kind":"semantic-declaration"},{"id":244,"kind":"semantic-declaration"},{"id":245,"kind":"semantic-declaration"},{"id":246,"kind":"semantic-declaration"},{"id":247,"kind":"semantic-declaration"},{"id":248,"kind":"semantic-declaration"},{"id":249,"kind":"semantic-declaration"},{"id":250,"kind":"semantic-declaration"},{"id":251,"kind":"semantic-declaration"},{"id":252,"kind":"semantic-declaration"},{"id":253,"kind":"semantic-declaration"},{"id":254,"kind":"semantic-declaration"},{"id":255,"kind":"semantic-declaration"},{"id":256,"kind":"semantic-declaration"},{"id":257,"kind":"semantic-declaration"},{"id":258,"kind":"semantic-declaration"},{"id":259,"kind":"semantic-declaration"},{"id":260,"kind":"semantic-declaration"},{"id":261,"kind":"semantic-declaration"},{"id":262,"kind":"semantic-declaration"},{"id":263,"kind":"semantic-declaration"},{"id":264,"kind":"semantic-declaration"},{"id":265,"kind":"semantic-declaration"},{"id":266,"kind":"semantic-declaration"},{"id":267,"kind":"semantic-declaration"},{"id":268,"kind":"semantic-declaration"},{"id":269,"kind":"semantic-declaration"},{"id":270,"kind":"semantic-declaration"},{"id":271,"kind":"semantic-declaration"},{"id":272,"kind":"semantic-declaration"},{"id":273,"kind":"semantic-declaration"},{"id":274,"kind":"semantic-declaration"},{"id":275,"kind":"semantic-declaration"},{"id":276,"kind":"semantic-declaration"},{"id":277,"kind":"semantic-declaration"},{"id":278,"kind":"semantic-declaration"},{"id":279,"kind":"semantic-declaration"},{"id":280,"kind":"semantic-declaration"},{"id":281,"kind":"semantic-declaration"},{"id":282,"kind":"semantic-declaration"},{"id":283,"kind":"semantic-declaration"},{"id":284,"kind":"semantic-declaration"},{"id":285,"kind":"semantic-declaration"},{"id":286,"kind":"semantic-declaration"},{"id":287,"kind":"semantic-declaration"},{"id":288,"kind":"semantic-declaration"},{"id":289,"kind":"semantic-declaration"},{"id":290,"kind":"semantic-declaration"},{"id":291,"kind":"semantic-declaration"},{"id":292,"kind":"semantic-declaration"},{"id":293,"kind":"semantic-declaration"},{"id":294,"kind":"semantic-declaration"},{"id":295,"kind":"semantic-declaration"},{"id":296,"kind":"semantic-declaration"},{"id":297,"kind":"semantic-declaration"},{"id":298,"kind":"semantic-declaration"},{"id":299,"kind":"semantic-declaration"},{"id":300,"kind":"semantic-declaration"},{"id":301,"kind":"semantic-declaration"},{"id":302,"kind":"semantic-declaration"},{"id":303,"kind":"semantic-declaration"},{"id":304,"kind":"semantic-declaration"},{"id":305,"kind":"semantic-declaration"}],"semantic_id":"db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9","source_id":"2f76ada498f17258f8a526df0820565414e563312654a2a7396b586dd3b407d1","sources":[{"id":0,"kind":"file","path":"src/Gnaf.lex.tex","sha256":"21b9c9174ae33fe77204e196a29a51463f2c9a400f7b305d33591c54f31d798d"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/Gnaf.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/Gnaf.tex"}],"mappings":[{"artifact":0,"gen_end":324,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":100847,"src_start":0},{"artifact":0,"gen_end":1115,"gen_start":324,"node":1,"role":"declaration","source":0,"src_end":1644,"src_start":172},{"artifact":0,"gen_end":1301,"gen_start":1115,"node":2,"role":"declaration","source":0,"src_end":2101,"src_start":1646},{"artifact":0,"gen_end":1389,"gen_start":1301,"node":3,"role":"declaration","source":0,"src_end":2327,"src_start":2103},{"artifact":0,"gen_end":1458,"gen_start":1389,"node":4,"role":"declaration","source":0,"src_end":2471,"src_start":2329},{"artifact":0,"gen_end":1539,"gen_start":1458,"node":5,"role":"declaration","source":0,"src_end":2676,"src_start":2473},{"artifact":0,"gen_end":1597,"gen_start":1539,"node":6,"role":"declaration","source":0,"src_end":2825,"src_start":2678},{"artifact":0,"gen_end":1689,"gen_start":1597,"node":7,"role":"declaration","source":0,"src_end":3036,"src_start":2827},{"artifact":0,"gen_end":1762,"gen_start":1689,"node":8,"role":"declaration","source":0,"src_end":3184,"src_start":3038},{"artifact":0,"gen_end":1934,"gen_start":1762,"node":9,"role":"declaration","source":0,"src_end":3507,"src_start":3186},{"artifact":0,"gen_end":2030,"gen_start":1934,"node":10,"role":"declaration","source":0,"src_end":3670,"src_start":3509},{"artifact":0,"gen_end":2139,"gen_start":2030,"node":11,"role":"declaration","source":0,"src_end":3853,"src_start":3672},{"artifact":0,"gen_end":2303,"gen_start":2139,"node":12,"role":"declaration","source":0,"src_end":4110,"src_start":3855},{"artifact":0,"gen_end":2442,"gen_start":2303,"node":13,"role":"declaration","source":0,"src_end":4401,"src_start":4112},{"artifact":0,"gen_end":2550,"gen_start":2442,"node":14,"role":"declaration","source":0,"src_end":4654,"src_start":4403},{"artifact":0,"gen_end":2638,"gen_start":2550,"node":15,"role":"declaration","source":0,"src_end":4866,"src_start":4656},{"artifact":0,"gen_end":2694,"gen_start":2638,"node":16,"role":"declaration","source":0,"src_end":5013,"src_start":4868},{"artifact":0,"gen_end":2981,"gen_start":2694,"node":17,"role":"declaration","source":0,"src_end":5469,"src_start":5015},{"artifact":0,"gen_end":3597,"gen_start":2981,"node":18,"role":"declaration","source":0,"src_end":6545,"src_start":5471},{"artifact":0,"gen_end":3693,"gen_start":3597,"node":19,"role":"declaration","source":0,"src_end":6753,"src_start":6547},{"artifact":0,"gen_end":3851,"gen_start":3693,"node":20,"role":"declaration","source":0,"src_end":7051,"src_start":6755},{"artifact":0,"gen_end":4221,"gen_start":3851,"node":21,"role":"declaration","source":0,"src_end":7487,"src_start":7053},{"artifact":0,"gen_end":4352,"gen_start":4221,"node":22,"role":"declaration","source":0,"src_end":7639,"src_start":7489},{"artifact":0,"gen_end":4759,"gen_start":4352,"node":23,"role":"declaration","source":0,"src_end":8112,"src_start":7641},{"artifact":0,"gen_end":5169,"gen_start":4759,"node":24,"role":"declaration","source":0,"src_end":8588,"src_start":8114},{"artifact":0,"gen_end":5454,"gen_start":5169,"node":25,"role":"declaration","source":0,"src_end":8976,"src_start":8590},{"artifact":0,"gen_end":5693,"gen_start":5454,"node":26,"role":"declaration","source":0,"src_end":9280,"src_start":8978},{"artifact":0,"gen_end":6018,"gen_start":5693,"node":27,"role":"declaration","source":0,"src_end":9716,"src_start":9282},{"artifact":0,"gen_end":6511,"gen_start":6018,"node":28,"role":"declaration","source":0,"src_end":10381,"src_start":9718},{"artifact":0,"gen_end":6738,"gen_start":6511,"node":29,"role":"declaration","source":0,"src_end":10679,"src_start":10383},{"artifact":0,"gen_end":7691,"gen_start":6738,"node":30,"role":"declaration","source":0,"src_end":11943,"src_start":10681},{"artifact":0,"gen_end":8027,"gen_start":7691,"node":31,"role":"declaration","source":0,"src_end":12377,"src_start":11945},{"artifact":0,"gen_end":8708,"gen_start":8027,"node":32,"role":"declaration","source":0,"src_end":13311,"src_start":12379},{"artifact":0,"gen_end":8999,"gen_start":8708,"node":33,"role":"declaration","source":0,"src_end":13652,"src_start":13313},{"artifact":0,"gen_end":9222,"gen_start":8999,"node":34,"role":"declaration","source":0,"src_end":13926,"src_start":13654},{"artifact":0,"gen_end":9582,"gen_start":9222,"node":35,"role":"declaration","source":0,"src_end":14392,"src_start":13928},{"artifact":0,"gen_end":9941,"gen_start":9582,"node":36,"role":"declaration","source":0,"src_end":14853,"src_start":14394},{"artifact":0,"gen_end":10288,"gen_start":9941,"node":37,"role":"declaration","source":0,"src_end":15279,"src_start":14855},{"artifact":0,"gen_end":10498,"gen_start":10288,"node":38,"role":"declaration","source":0,"src_end":15568,"src_start":15281},{"artifact":0,"gen_end":10687,"gen_start":10498,"node":39,"role":"declaration","source":0,"src_end":15819,"src_start":15570},{"artifact":0,"gen_end":10873,"gen_start":10687,"node":40,"role":"declaration","source":0,"src_end":16055,"src_start":15821},{"artifact":0,"gen_end":11364,"gen_start":10873,"node":41,"role":"declaration","source":0,"src_end":16604,"src_start":16057},{"artifact":0,"gen_end":11595,"gen_start":11364,"node":42,"role":"declaration","source":0,"src_end":16892,"src_start":16606},{"artifact":0,"gen_end":11779,"gen_start":11595,"node":43,"role":"declaration","source":0,"src_end":17153,"src_start":16894},{"artifact":0,"gen_end":12091,"gen_start":11779,"node":44,"role":"declaration","source":0,"src_end":17490,"src_start":17155},{"artifact":0,"gen_end":12434,"gen_start":12091,"node":45,"role":"declaration","source":0,"src_end":17847,"src_start":17492},{"artifact":0,"gen_end":12734,"gen_start":12434,"node":46,"role":"declaration","source":0,"src_end":18200,"src_start":17849},{"artifact":0,"gen_end":12976,"gen_start":12734,"node":47,"role":"declaration","source":0,"src_end":18473,"src_start":18202},{"artifact":0,"gen_end":13351,"gen_start":12976,"node":48,"role":"declaration","source":0,"src_end":18856,"src_start":18475},{"artifact":0,"gen_end":13497,"gen_start":13351,"node":49,"role":"declaration","source":0,"src_end":19040,"src_start":18858},{"artifact":0,"gen_end":13578,"gen_start":13497,"node":50,"role":"declaration","source":0,"src_end":19159,"src_start":19042},{"artifact":0,"gen_end":13659,"gen_start":13578,"node":51,"role":"declaration","source":0,"src_end":19278,"src_start":19161},{"artifact":0,"gen_end":13745,"gen_start":13659,"node":52,"role":"declaration","source":0,"src_end":19402,"src_start":19280},{"artifact":0,"gen_end":13831,"gen_start":13745,"node":53,"role":"declaration","source":0,"src_end":19526,"src_start":19404},{"artifact":0,"gen_end":13980,"gen_start":13831,"node":54,"role":"declaration","source":0,"src_end":19713,"src_start":19528},{"artifact":0,"gen_end":14130,"gen_start":13980,"node":55,"role":"declaration","source":0,"src_end":19901,"src_start":19715},{"artifact":0,"gen_end":14261,"gen_start":14130,"node":56,"role":"declaration","source":0,"src_end":20056,"src_start":19903},{"artifact":0,"gen_end":14392,"gen_start":14261,"node":57,"role":"declaration","source":0,"src_end":20211,"src_start":20058},{"artifact":0,"gen_end":14817,"gen_start":14392,"node":58,"role":"declaration","source":0,"src_end":21190,"src_start":20213},{"artifact":0,"gen_end":15138,"gen_start":14817,"node":59,"role":"declaration","source":0,"src_end":21712,"src_start":21192},{"artifact":0,"gen_end":15520,"gen_start":15138,"node":60,"role":"declaration","source":0,"src_end":22295,"src_start":21714},{"artifact":0,"gen_end":15786,"gen_start":15520,"node":61,"role":"declaration","source":0,"src_end":22759,"src_start":22297},{"artifact":0,"gen_end":16081,"gen_start":15786,"node":62,"role":"declaration","source":0,"src_end":23265,"src_start":22761},{"artifact":0,"gen_end":16423,"gen_start":16081,"node":63,"role":"declaration","source":0,"src_end":23814,"src_start":23267},{"artifact":0,"gen_end":16759,"gen_start":16423,"node":64,"role":"declaration","source":0,"src_end":24357,"src_start":23816},{"artifact":0,"gen_end":17115,"gen_start":16759,"node":65,"role":"declaration","source":0,"src_end":24940,"src_start":24359},{"artifact":0,"gen_end":17471,"gen_start":17115,"node":66,"role":"declaration","source":0,"src_end":25526,"src_start":24942},{"artifact":0,"gen_end":18010,"gen_start":17471,"node":67,"role":"declaration","source":0,"src_end":26329,"src_start":25528},{"artifact":0,"gen_end":18592,"gen_start":18010,"node":68,"role":"declaration","source":0,"src_end":27278,"src_start":26331},{"artifact":0,"gen_end":19102,"gen_start":18592,"node":69,"role":"declaration","source":0,"src_end":28114,"src_start":27280},{"artifact":0,"gen_end":19556,"gen_start":19102,"node":70,"role":"declaration","source":0,"src_end":29040,"src_start":28116},{"artifact":0,"gen_end":22402,"gen_start":19556,"node":71,"role":"declaration","source":0,"src_end":32959,"src_start":29042},{"artifact":0,"gen_end":26270,"gen_start":22402,"node":72,"role":"declaration","source":0,"src_end":38890,"src_start":32961},{"artifact":0,"gen_end":27358,"gen_start":26270,"node":73,"role":"declaration","source":0,"src_end":39776,"src_start":38892},{"artifact":0,"gen_end":27599,"gen_start":27358,"node":74,"role":"declaration","source":0,"src_end":40071,"src_start":39778},{"artifact":0,"gen_end":28077,"gen_start":27599,"node":75,"role":"declaration","source":0,"src_end":40526,"src_start":40073},{"artifact":0,"gen_end":58298,"gen_start":28077,"node":76,"role":"declaration","source":0,"src_end":70968,"src_start":40528},{"artifact":0,"gen_end":58756,"gen_start":58298,"node":77,"role":"declaration","source":0,"src_end":71454,"src_start":70970},{"artifact":0,"gen_end":60041,"gen_start":58756,"node":78,"role":"declaration","source":0,"src_end":72731,"src_start":71456},{"artifact":0,"gen_end":60272,"gen_start":60041,"node":79,"role":"declaration","source":0,"src_end":73012,"src_start":72733},{"artifact":0,"gen_end":60478,"gen_start":60272,"node":80,"role":"declaration","source":0,"src_end":73260,"src_start":73014},{"artifact":0,"gen_end":60670,"gen_start":60478,"node":81,"role":"declaration","source":0,"src_end":73497,"src_start":73262},{"artifact":0,"gen_end":62519,"gen_start":60670,"node":82,"role":"declaration","source":0,"src_end":75195,"src_start":73499},{"artifact":0,"gen_end":62798,"gen_start":62519,"node":83,"role":"declaration","source":0,"src_end":75517,"src_start":75197},{"artifact":0,"gen_end":63052,"gen_start":62798,"node":84,"role":"declaration","source":0,"src_end":75814,"src_start":75519},{"artifact":0,"gen_end":63289,"gen_start":63052,"node":85,"role":"declaration","source":0,"src_end":76093,"src_start":75816},{"artifact":0,"gen_end":63618,"gen_start":63289,"node":86,"role":"declaration","source":0,"src_end":76522,"src_start":76095},{"artifact":0,"gen_end":63877,"gen_start":63618,"node":87,"role":"declaration","source":0,"src_end":76871,"src_start":76524},{"artifact":0,"gen_end":64275,"gen_start":63877,"node":88,"role":"declaration","source":0,"src_end":77300,"src_start":76873},{"artifact":0,"gen_end":64559,"gen_start":64275,"node":89,"role":"declaration","source":0,"src_end":77630,"src_start":77302},{"artifact":0,"gen_end":64874,"gen_start":64559,"node":90,"role":"declaration","source":0,"src_end":77959,"src_start":77632},{"artifact":0,"gen_end":65072,"gen_start":64874,"node":91,"role":"declaration","source":0,"src_end":78153,"src_start":77961},{"artifact":0,"gen_end":65422,"gen_start":65072,"node":92,"role":"declaration","source":0,"src_end":78556,"src_start":78155},{"artifact":0,"gen_end":65850,"gen_start":65422,"node":93,"role":"declaration","source":0,"src_end":79042,"src_start":78558},{"artifact":0,"gen_end":66213,"gen_start":65850,"node":94,"role":"declaration","source":0,"src_end":79475,"src_start":79044},{"artifact":0,"gen_end":66358,"gen_start":66213,"node":95,"role":"declaration","source":0,"src_end":79649,"src_start":79477},{"artifact":0,"gen_end":66602,"gen_start":66358,"node":96,"role":"declaration","source":0,"src_end":79961,"src_start":79651},{"artifact":0,"gen_end":66953,"gen_start":66602,"node":97,"role":"declaration","source":0,"src_end":80386,"src_start":79963},{"artifact":0,"gen_end":67084,"gen_start":66953,"node":98,"role":"declaration","source":0,"src_end":80555,"src_start":80388},{"artifact":0,"gen_end":67333,"gen_start":67084,"node":99,"role":"declaration","source":0,"src_end":80871,"src_start":80557},{"artifact":0,"gen_end":67633,"gen_start":67333,"node":100,"role":"declaration","source":0,"src_end":81229,"src_start":80873},{"artifact":0,"gen_end":67922,"gen_start":67633,"node":101,"role":"declaration","source":0,"src_end":81620,"src_start":81231},{"artifact":0,"gen_end":68177,"gen_start":67922,"node":102,"role":"declaration","source":0,"src_end":81928,"src_start":81622},{"artifact":0,"gen_end":68459,"gen_start":68177,"node":103,"role":"declaration","source":0,"src_end":82254,"src_start":81930},{"artifact":0,"gen_end":68657,"gen_start":68459,"node":104,"role":"declaration","source":0,"src_end":82485,"src_start":82256},{"artifact":0,"gen_end":68976,"gen_start":68657,"node":105,"role":"declaration","source":0,"src_end":82856,"src_start":82487},{"artifact":0,"gen_end":69190,"gen_start":68976,"node":106,"role":"declaration","source":0,"src_end":83100,"src_start":82858},{"artifact":0,"gen_end":69331,"gen_start":69190,"node":107,"role":"declaration","source":0,"src_end":83267,"src_start":83102},{"artifact":0,"gen_end":69566,"gen_start":69331,"node":108,"role":"declaration","source":0,"src_end":83570,"src_start":83269},{"artifact":0,"gen_end":69947,"gen_start":69566,"node":109,"role":"declaration","source":0,"src_end":83990,"src_start":83572},{"artifact":0,"gen_end":70207,"gen_start":69947,"node":110,"role":"declaration","source":0,"src_end":84313,"src_start":83992},{"artifact":0,"gen_end":70426,"gen_start":70207,"node":111,"role":"declaration","source":0,"src_end":84579,"src_start":84315},{"artifact":0,"gen_end":70518,"gen_start":70426,"node":112,"role":"declaration","source":0,"src_end":84692,"src_start":84581},{"artifact":0,"gen_end":71953,"gen_start":70518,"node":113,"role":"declaration","source":0,"src_end":86153,"src_start":84694},{"artifact":0,"gen_end":72649,"gen_start":71953,"node":114,"role":"declaration","source":0,"src_end":86989,"src_start":86155},{"artifact":0,"gen_end":73040,"gen_start":72649,"node":115,"role":"declaration","source":0,"src_end":87424,"src_start":86991},{"artifact":0,"gen_end":73320,"gen_start":73040,"node":116,"role":"declaration","source":0,"src_end":87815,"src_start":87426},{"artifact":0,"gen_end":73738,"gen_start":73320,"node":117,"role":"declaration","source":0,"src_end":88306,"src_start":87817},{"artifact":0,"gen_end":74019,"gen_start":73738,"node":118,"role":"declaration","source":0,"src_end":88661,"src_start":88308},{"artifact":0,"gen_end":74661,"gen_start":74019,"node":119,"role":"declaration","source":0,"src_end":89445,"src_start":88663},{"artifact":0,"gen_end":75089,"gen_start":74661,"node":120,"role":"declaration","source":0,"src_end":90031,"src_start":89447},{"artifact":0,"gen_end":75854,"gen_start":75089,"node":121,"role":"declaration","source":0,"src_end":90987,"src_start":90033},{"artifact":0,"gen_end":76281,"gen_start":75854,"node":122,"role":"declaration","source":0,"src_end":91513,"src_start":90989},{"artifact":0,"gen_end":76626,"gen_start":76281,"node":123,"role":"declaration","source":0,"src_end":91889,"src_start":91515},{"artifact":0,"gen_end":77071,"gen_start":76626,"node":124,"role":"declaration","source":0,"src_end":92375,"src_start":91891},{"artifact":0,"gen_end":77645,"gen_start":77071,"node":125,"role":"declaration","source":0,"src_end":92995,"src_start":92377},{"artifact":0,"gen_end":78103,"gen_start":77645,"node":126,"role":"declaration","source":0,"src_end":93423,"src_start":92997},{"artifact":0,"gen_end":78477,"gen_start":78103,"node":127,"role":"declaration","source":0,"src_end":93830,"src_start":93425},{"artifact":0,"gen_end":79004,"gen_start":78477,"node":128,"role":"declaration","source":0,"src_end":94310,"src_start":93832},{"artifact":0,"gen_end":79268,"gen_start":79004,"node":129,"role":"declaration","source":0,"src_end":94650,"src_start":94312},{"artifact":0,"gen_end":79572,"gen_start":79268,"node":130,"role":"declaration","source":0,"src_end":94989,"src_start":94652},{"artifact":0,"gen_end":79695,"gen_start":79572,"node":131,"role":"declaration","source":0,"src_end":95133,"src_start":94991},{"artifact":0,"gen_end":79886,"gen_start":79695,"node":132,"role":"declaration","source":0,"src_end":95333,"src_start":95135},{"artifact":0,"gen_end":80096,"gen_start":79886,"node":133,"role":"declaration","source":0,"src_end":95561,"src_start":95335},{"artifact":0,"gen_end":80242,"gen_start":80096,"node":134,"role":"declaration","source":0,"src_end":95723,"src_start":95563},{"artifact":0,"gen_end":80404,"gen_start":80242,"node":135,"role":"declaration","source":0,"src_end":95896,"src_start":95725},{"artifact":0,"gen_end":80796,"gen_start":80404,"node":136,"role":"declaration","source":0,"src_end":96300,"src_start":95898},{"artifact":0,"gen_end":81205,"gen_start":80796,"node":137,"role":"declaration","source":0,"src_end":96721,"src_start":96302},{"artifact":0,"gen_end":81620,"gen_start":81205,"node":138,"role":"declaration","source":0,"src_end":97113,"src_start":96723},{"artifact":0,"gen_end":82064,"gen_start":81620,"node":139,"role":"declaration","source":0,"src_end":97536,"src_start":97115},{"artifact":0,"gen_end":82376,"gen_start":82064,"node":140,"role":"declaration","source":0,"src_end":97869,"src_start":97538},{"artifact":0,"gen_end":82718,"gen_start":82376,"node":141,"role":"declaration","source":0,"src_end":98230,"src_start":97871},{"artifact":0,"gen_end":83046,"gen_start":82718,"node":142,"role":"declaration","source":0,"src_end":98577,"src_start":98232},{"artifact":0,"gen_end":83571,"gen_start":83046,"node":143,"role":"declaration","source":0,"src_end":99100,"src_start":98579},{"artifact":0,"gen_end":83692,"gen_start":83571,"node":144,"role":"declaration","source":0,"src_end":99250,"src_start":99102},{"artifact":0,"gen_end":83876,"gen_start":83692,"node":145,"role":"declaration","source":0,"src_end":99491,"src_start":99252},{"artifact":0,"gen_end":84139,"gen_start":83876,"node":146,"role":"declaration","source":0,"src_end":99766,"src_start":99493},{"artifact":0,"gen_end":84272,"gen_start":84139,"node":147,"role":"declaration","source":0,"src_end":99965,"src_start":99768},{"artifact":0,"gen_end":84404,"gen_start":84272,"node":148,"role":"declaration","source":0,"src_end":100163,"src_start":99967},{"artifact":0,"gen_end":84539,"gen_start":84404,"node":149,"role":"declaration","source":0,"src_end":100368,"src_start":100165},{"artifact":0,"gen_end":84622,"gen_start":84539,"node":150,"role":"declaration","source":0,"src_end":100497,"src_start":100370},{"artifact":0,"gen_end":84704,"gen_start":84622,"node":151,"role":"declaration","source":0,"src_end":100625,"src_start":100499},{"artifact":0,"gen_end":84850,"gen_start":84704,"node":152,"role":"declaration","source":0,"src_end":100811,"src_start":100627},{"artifact":0,"gen_end":84874,"gen_start":84850,"node":0,"role":"declaration","source":0,"src_end":100847,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":153,"role":"declaration","source":0,"src_end":100847,"src_start":0},{"artifact":1,"gen_end":2330,"gen_start":134,"node":154,"role":"declaration","source":0,"src_end":1644,"src_start":172},{"artifact":1,"gen_end":3005,"gen_start":2330,"node":155,"role":"declaration","source":0,"src_end":2101,"src_start":1646},{"artifact":1,"gen_end":3305,"gen_start":3005,"node":156,"role":"declaration","source":0,"src_end":2327,"src_start":2103},{"artifact":1,"gen_end":3485,"gen_start":3305,"node":157,"role":"declaration","source":0,"src_end":2471,"src_start":2329},{"artifact":1,"gen_end":3740,"gen_start":3485,"node":158,"role":"declaration","source":0,"src_end":2676,"src_start":2473},{"artifact":1,"gen_end":3927,"gen_start":3740,"node":159,"role":"declaration","source":0,"src_end":2825,"src_start":2678},{"artifact":1,"gen_end":4202,"gen_start":3927,"node":160,"role":"declaration","source":0,"src_end":3036,"src_start":2827},{"artifact":1,"gen_end":4386,"gen_start":4202,"node":161,"role":"declaration","source":0,"src_end":3184,"src_start":3038},{"artifact":1,"gen_end":4813,"gen_start":4386,"node":162,"role":"declaration","source":0,"src_end":3507,"src_start":3186},{"artifact":1,"gen_end":5014,"gen_start":4813,"node":163,"role":"declaration","source":0,"src_end":3670,"src_start":3509},{"artifact":1,"gen_end":5234,"gen_start":5014,"node":164,"role":"declaration","source":0,"src_end":3853,"src_start":3672},{"artifact":1,"gen_end":5581,"gen_start":5234,"node":165,"role":"declaration","source":0,"src_end":4110,"src_start":3855},{"artifact":1,"gen_end":5970,"gen_start":5581,"node":166,"role":"declaration","source":0,"src_end":4401,"src_start":4112},{"artifact":1,"gen_end":6297,"gen_start":5970,"node":167,"role":"declaration","source":0,"src_end":4654,"src_start":4403},{"artifact":1,"gen_end":6559,"gen_start":6297,"node":168,"role":"declaration","source":0,"src_end":4866,"src_start":4656},{"artifact":1,"gen_end":6744,"gen_start":6559,"node":169,"role":"declaration","source":0,"src_end":5013,"src_start":4868},{"artifact":1,"gen_end":7390,"gen_start":6744,"node":170,"role":"declaration","source":0,"src_end":5469,"src_start":5015},{"artifact":1,"gen_end":8948,"gen_start":7390,"node":171,"role":"declaration","source":0,"src_end":6545,"src_start":5471},{"artifact":1,"gen_end":9206,"gen_start":8948,"node":172,"role":"declaration","source":0,"src_end":6753,"src_start":6547},{"artifact":1,"gen_end":9602,"gen_start":9206,"node":173,"role":"declaration","source":0,"src_end":7051,"src_start":6755},{"artifact":1,"gen_end":10154,"gen_start":9602,"node":174,"role":"declaration","source":0,"src_end":7487,"src_start":7053},{"artifact":1,"gen_end":10467,"gen_start":10154,"node":175,"role":"declaration","source":0,"src_end":7639,"src_start":7489},{"artifact":1,"gen_end":11056,"gen_start":10467,"node":176,"role":"declaration","source":0,"src_end":8112,"src_start":7641},{"artifact":1,"gen_end":11648,"gen_start":11056,"node":177,"role":"declaration","source":0,"src_end":8588,"src_start":8114},{"artifact":1,"gen_end":12112,"gen_start":11648,"node":178,"role":"declaration","source":0,"src_end":8976,"src_start":8590},{"artifact":1,"gen_end":12530,"gen_start":12112,"node":179,"role":"declaration","source":0,"src_end":9280,"src_start":8978},{"artifact":1,"gen_end":13040,"gen_start":12530,"node":180,"role":"declaration","source":0,"src_end":9716,"src_start":9282},{"artifact":1,"gen_end":13716,"gen_start":13040,"node":181,"role":"declaration","source":0,"src_end":10381,"src_start":9718},{"artifact":1,"gen_end":14127,"gen_start":13716,"node":182,"role":"declaration","source":0,"src_end":10679,"src_start":10383},{"artifact":1,"gen_end":15262,"gen_start":14127,"node":183,"role":"declaration","source":0,"src_end":11943,"src_start":10681},{"artifact":1,"gen_end":15775,"gen_start":15262,"node":184,"role":"declaration","source":0,"src_end":12377,"src_start":11945},{"artifact":1,"gen_end":16635,"gen_start":15775,"node":185,"role":"declaration","source":0,"src_end":13311,"src_start":12379},{"artifact":1,"gen_end":17108,"gen_start":16635,"node":186,"role":"declaration","source":0,"src_end":13652,"src_start":13313},{"artifact":1,"gen_end":17506,"gen_start":17108,"node":187,"role":"declaration","source":0,"src_end":13926,"src_start":13654},{"artifact":1,"gen_end":18042,"gen_start":17506,"node":188,"role":"declaration","source":0,"src_end":14392,"src_start":13928},{"artifact":1,"gen_end":18576,"gen_start":18042,"node":189,"role":"declaration","source":0,"src_end":14853,"src_start":14394},{"artifact":1,"gen_end":19104,"gen_start":18576,"node":190,"role":"declaration","source":0,"src_end":15279,"src_start":14855},{"artifact":1,"gen_end":19530,"gen_start":19104,"node":191,"role":"declaration","source":0,"src_end":15568,"src_start":15281},{"artifact":1,"gen_end":19916,"gen_start":19530,"node":192,"role":"declaration","source":0,"src_end":15819,"src_start":15570},{"artifact":1,"gen_end":20283,"gen_start":19916,"node":193,"role":"declaration","source":0,"src_end":16055,"src_start":15821},{"artifact":1,"gen_end":20964,"gen_start":20283,"node":194,"role":"declaration","source":0,"src_end":16604,"src_start":16057},{"artifact":1,"gen_end":21372,"gen_start":20964,"node":195,"role":"declaration","source":0,"src_end":16892,"src_start":16606},{"artifact":1,"gen_end":21753,"gen_start":21372,"node":196,"role":"declaration","source":0,"src_end":17153,"src_start":16894},{"artifact":1,"gen_end":22219,"gen_start":21753,"node":197,"role":"declaration","source":0,"src_end":17490,"src_start":17155},{"artifact":1,"gen_end":22714,"gen_start":22219,"node":198,"role":"declaration","source":0,"src_end":17847,"src_start":17492},{"artifact":1,"gen_end":23198,"gen_start":22714,"node":199,"role":"declaration","source":0,"src_end":18200,"src_start":17849},{"artifact":1,"gen_end":23622,"gen_start":23198,"node":200,"role":"declaration","source":0,"src_end":18473,"src_start":18202},{"artifact":1,"gen_end":24183,"gen_start":23622,"node":201,"role":"declaration","source":0,"src_end":18856,"src_start":18475},{"artifact":1,"gen_end":24435,"gen_start":24183,"node":202,"role":"declaration","source":0,"src_end":19040,"src_start":18858},{"artifact":1,"gen_end":24622,"gen_start":24435,"node":203,"role":"declaration","source":0,"src_end":19159,"src_start":19042},{"artifact":1,"gen_end":24809,"gen_start":24622,"node":204,"role":"declaration","source":0,"src_end":19278,"src_start":19161},{"artifact":1,"gen_end":25003,"gen_start":24809,"node":205,"role":"declaration","source":0,"src_end":19402,"src_start":19280},{"artifact":1,"gen_end":25197,"gen_start":25003,"node":206,"role":"declaration","source":0,"src_end":19526,"src_start":19404},{"artifact":1,"gen_end":25458,"gen_start":25197,"node":207,"role":"declaration","source":0,"src_end":19713,"src_start":19528},{"artifact":1,"gen_end":25720,"gen_start":25458,"node":208,"role":"declaration","source":0,"src_end":19901,"src_start":19715},{"artifact":1,"gen_end":25996,"gen_start":25720,"node":209,"role":"declaration","source":0,"src_end":20056,"src_start":19903},{"artifact":1,"gen_end":26272,"gen_start":25996,"node":210,"role":"declaration","source":0,"src_end":20211,"src_start":20058},{"artifact":1,"gen_end":26583,"gen_start":26272,"node":211,"role":"declaration","source":0,"src_end":21190,"src_start":20213},{"artifact":1,"gen_end":26931,"gen_start":26583,"node":212,"role":"declaration","source":0,"src_end":21712,"src_start":21192},{"artifact":1,"gen_end":27335,"gen_start":26931,"node":213,"role":"declaration","source":0,"src_end":22295,"src_start":21714},{"artifact":1,"gen_end":27617,"gen_start":27335,"node":214,"role":"declaration","source":0,"src_end":22759,"src_start":22297},{"artifact":1,"gen_end":27930,"gen_start":27617,"node":215,"role":"declaration","source":0,"src_end":23265,"src_start":22761},{"artifact":1,"gen_end":28288,"gen_start":27930,"node":216,"role":"declaration","source":0,"src_end":23814,"src_start":23267},{"artifact":1,"gen_end":28636,"gen_start":28288,"node":217,"role":"declaration","source":0,"src_end":24357,"src_start":23816},{"artifact":1,"gen_end":28995,"gen_start":28636,"node":218,"role":"declaration","source":0,"src_end":24940,"src_start":24359},{"artifact":1,"gen_end":29344,"gen_start":28995,"node":219,"role":"declaration","source":0,"src_end":25526,"src_start":24942},{"artifact":1,"gen_end":29840,"gen_start":29344,"node":220,"role":"declaration","source":0,"src_end":26329,"src_start":25528},{"artifact":1,"gen_end":30343,"gen_start":29840,"node":221,"role":"declaration","source":0,"src_end":27278,"src_start":26331},{"artifact":1,"gen_end":30837,"gen_start":30343,"node":222,"role":"declaration","source":0,"src_end":28114,"src_start":27280},{"artifact":1,"gen_end":31157,"gen_start":30837,"node":223,"role":"declaration","source":0,"src_end":29040,"src_start":28116},{"artifact":1,"gen_end":34190,"gen_start":31157,"node":224,"role":"declaration","source":0,"src_end":32959,"src_start":29042},{"artifact":1,"gen_end":38246,"gen_start":34190,"node":225,"role":"declaration","source":0,"src_end":38890,"src_start":32961},{"artifact":1,"gen_end":39516,"gen_start":38246,"node":226,"role":"declaration","source":0,"src_end":39776,"src_start":38892},{"artifact":1,"gen_end":39954,"gen_start":39516,"node":227,"role":"declaration","source":0,"src_end":40071,"src_start":39778},{"artifact":1,"gen_end":40618,"gen_start":39954,"node":228,"role":"declaration","source":0,"src_end":40526,"src_start":40073},{"artifact":1,"gen_end":71405,"gen_start":40618,"node":229,"role":"declaration","source":0,"src_end":70968,"src_start":40528},{"artifact":1,"gen_end":72091,"gen_start":71405,"node":230,"role":"declaration","source":0,"src_end":71454,"src_start":70970},{"artifact":1,"gen_end":73631,"gen_start":72091,"node":231,"role":"declaration","source":0,"src_end":72731,"src_start":71456},{"artifact":1,"gen_end":74110,"gen_start":73631,"node":232,"role":"declaration","source":0,"src_end":73012,"src_start":72733},{"artifact":1,"gen_end":74564,"gen_start":74110,"node":233,"role":"declaration","source":0,"src_end":73260,"src_start":73014},{"artifact":1,"gen_end":75004,"gen_start":74564,"node":234,"role":"declaration","source":0,"src_end":73497,"src_start":73262},{"artifact":1,"gen_end":77109,"gen_start":75004,"node":235,"role":"declaration","source":0,"src_end":75195,"src_start":73499},{"artifact":1,"gen_end":77639,"gen_start":77109,"node":236,"role":"declaration","source":0,"src_end":75517,"src_start":75197},{"artifact":1,"gen_end":78144,"gen_start":77639,"node":237,"role":"declaration","source":0,"src_end":75814,"src_start":75519},{"artifact":1,"gen_end":78632,"gen_start":78144,"node":238,"role":"declaration","source":0,"src_end":76093,"src_start":75816},{"artifact":1,"gen_end":79140,"gen_start":78632,"node":239,"role":"declaration","source":0,"src_end":76522,"src_start":76095},{"artifact":1,"gen_end":79578,"gen_start":79140,"node":240,"role":"declaration","source":0,"src_end":76871,"src_start":76524},{"artifact":1,"gen_end":80147,"gen_start":79578,"node":241,"role":"declaration","source":0,"src_end":77300,"src_start":76873},{"artifact":1,"gen_end":80611,"gen_start":80147,"node":242,"role":"declaration","source":0,"src_end":77630,"src_start":77302},{"artifact":1,"gen_end":81081,"gen_start":80611,"node":243,"role":"declaration","source":0,"src_end":77959,"src_start":77632},{"artifact":1,"gen_end":81461,"gen_start":81081,"node":244,"role":"declaration","source":0,"src_end":78153,"src_start":77961},{"artifact":1,"gen_end":81984,"gen_start":81461,"node":245,"role":"declaration","source":0,"src_end":78556,"src_start":78155},{"artifact":1,"gen_end":82571,"gen_start":81984,"node":246,"role":"declaration","source":0,"src_end":79042,"src_start":78558},{"artifact":1,"gen_end":83117,"gen_start":82571,"node":247,"role":"declaration","source":0,"src_end":79475,"src_start":79044},{"artifact":1,"gen_end":83446,"gen_start":83117,"node":248,"role":"declaration","source":0,"src_end":79649,"src_start":79477},{"artifact":1,"gen_end":83904,"gen_start":83446,"node":249,"role":"declaration","source":0,"src_end":79961,"src_start":79651},{"artifact":1,"gen_end":84475,"gen_start":83904,"node":250,"role":"declaration","source":0,"src_end":80386,"src_start":79963},{"artifact":1,"gen_end":84822,"gen_start":84475,"node":251,"role":"declaration","source":0,"src_end":80555,"src_start":80388},{"artifact":1,"gen_end":85286,"gen_start":84822,"node":252,"role":"declaration","source":0,"src_end":80871,"src_start":80557},{"artifact":1,"gen_end":85798,"gen_start":85286,"node":253,"role":"declaration","source":0,"src_end":81229,"src_start":80873},{"artifact":1,"gen_end":86304,"gen_start":85798,"node":254,"role":"declaration","source":0,"src_end":81620,"src_start":81231},{"artifact":1,"gen_end":86758,"gen_start":86304,"node":255,"role":"declaration","source":0,"src_end":81928,"src_start":81622},{"artifact":1,"gen_end":87237,"gen_start":86758,"node":256,"role":"declaration","source":0,"src_end":82254,"src_start":81930},{"artifact":1,"gen_end":87653,"gen_start":87237,"node":257,"role":"declaration","source":0,"src_end":82485,"src_start":82256},{"artifact":1,"gen_end":88190,"gen_start":87653,"node":258,"role":"declaration","source":0,"src_end":82856,"src_start":82487},{"artifact":1,"gen_end":88620,"gen_start":88190,"node":259,"role":"declaration","source":0,"src_end":83100,"src_start":82858},{"artifact":1,"gen_end":88945,"gen_start":88620,"node":260,"role":"declaration","source":0,"src_end":83267,"src_start":83102},{"artifact":1,"gen_end":89394,"gen_start":88945,"node":261,"role":"declaration","source":0,"src_end":83570,"src_start":83269},{"artifact":1,"gen_end":89953,"gen_start":89394,"node":262,"role":"declaration","source":0,"src_end":83990,"src_start":83572},{"artifact":1,"gen_end":90422,"gen_start":89953,"node":263,"role":"declaration","source":0,"src_end":84313,"src_start":83992},{"artifact":1,"gen_end":90858,"gen_start":90422,"node":264,"role":"declaration","source":0,"src_end":84579,"src_start":84315},{"artifact":1,"gen_end":91132,"gen_start":90858,"node":265,"role":"declaration","source":0,"src_end":84692,"src_start":84581},{"artifact":1,"gen_end":92747,"gen_start":91132,"node":266,"role":"declaration","source":0,"src_end":86153,"src_start":84694},{"artifact":1,"gen_end":93667,"gen_start":92747,"node":267,"role":"declaration","source":0,"src_end":86989,"src_start":86155},{"artifact":1,"gen_end":94240,"gen_start":93667,"node":268,"role":"declaration","source":0,"src_end":87424,"src_start":86991},{"artifact":1,"gen_end":94721,"gen_start":94240,"node":269,"role":"declaration","source":0,"src_end":87815,"src_start":87426},{"artifact":1,"gen_end":95338,"gen_start":94721,"node":270,"role":"declaration","source":0,"src_end":88306,"src_start":87817},{"artifact":1,"gen_end":95816,"gen_start":95338,"node":271,"role":"declaration","source":0,"src_end":88661,"src_start":88308},{"artifact":1,"gen_end":96683,"gen_start":95816,"node":272,"role":"declaration","source":0,"src_end":89445,"src_start":88663},{"artifact":1,"gen_end":97335,"gen_start":96683,"node":273,"role":"declaration","source":0,"src_end":90031,"src_start":89447},{"artifact":1,"gen_end":98331,"gen_start":97335,"node":274,"role":"declaration","source":0,"src_end":90987,"src_start":90033},{"artifact":1,"gen_end":98982,"gen_start":98331,"node":275,"role":"declaration","source":0,"src_end":91513,"src_start":90989},{"artifact":1,"gen_end":99510,"gen_start":98982,"node":276,"role":"declaration","source":0,"src_end":91889,"src_start":91515},{"artifact":1,"gen_end":100179,"gen_start":99510,"node":277,"role":"declaration","source":0,"src_end":92375,"src_start":91891},{"artifact":1,"gen_end":100939,"gen_start":100179,"node":278,"role":"declaration","source":0,"src_end":92995,"src_start":92377},{"artifact":1,"gen_end":101566,"gen_start":100939,"node":279,"role":"declaration","source":0,"src_end":93423,"src_start":92997},{"artifact":1,"gen_end":102117,"gen_start":101566,"node":280,"role":"declaration","source":0,"src_end":93830,"src_start":93425},{"artifact":1,"gen_end":102775,"gen_start":102117,"node":281,"role":"declaration","source":0,"src_end":94310,"src_start":93832},{"artifact":1,"gen_end":103220,"gen_start":102775,"node":282,"role":"declaration","source":0,"src_end":94650,"src_start":94312},{"artifact":1,"gen_end":103687,"gen_start":103220,"node":283,"role":"declaration","source":0,"src_end":94989,"src_start":94652},{"artifact":1,"gen_end":103992,"gen_start":103687,"node":284,"role":"declaration","source":0,"src_end":95133,"src_start":94991},{"artifact":1,"gen_end":104365,"gen_start":103992,"node":285,"role":"declaration","source":0,"src_end":95333,"src_start":95135},{"artifact":1,"gen_end":104757,"gen_start":104365,"node":286,"role":"declaration","source":0,"src_end":95561,"src_start":95335},{"artifact":1,"gen_end":105049,"gen_start":104757,"node":287,"role":"declaration","source":0,"src_end":95723,"src_start":95563},{"artifact":1,"gen_end":105393,"gen_start":105049,"node":288,"role":"declaration","source":0,"src_end":95896,"src_start":95725},{"artifact":1,"gen_end":105894,"gen_start":105393,"node":289,"role":"declaration","source":0,"src_end":96300,"src_start":95898},{"artifact":1,"gen_end":106412,"gen_start":105894,"node":290,"role":"declaration","source":0,"src_end":96721,"src_start":96302},{"artifact":1,"gen_end":106936,"gen_start":106412,"node":291,"role":"declaration","source":0,"src_end":97113,"src_start":96723},{"artifact":1,"gen_end":107489,"gen_start":106936,"node":292,"role":"declaration","source":0,"src_end":97536,"src_start":97115},{"artifact":1,"gen_end":107910,"gen_start":107489,"node":293,"role":"declaration","source":0,"src_end":97869,"src_start":97538},{"artifact":1,"gen_end":108361,"gen_start":107910,"node":294,"role":"declaration","source":0,"src_end":98230,"src_start":97871},{"artifact":1,"gen_end":108798,"gen_start":108361,"node":295,"role":"declaration","source":0,"src_end":98577,"src_start":98232},{"artifact":1,"gen_end":109432,"gen_start":108798,"node":296,"role":"declaration","source":0,"src_end":99100,"src_start":98579},{"artifact":1,"gen_end":109662,"gen_start":109432,"node":297,"role":"declaration","source":0,"src_end":99250,"src_start":99102},{"artifact":1,"gen_end":109955,"gen_start":109662,"node":298,"role":"declaration","source":0,"src_end":99491,"src_start":99252},{"artifact":1,"gen_end":110327,"gen_start":109955,"node":299,"role":"declaration","source":0,"src_end":99766,"src_start":99493},{"artifact":1,"gen_end":110569,"gen_start":110327,"node":300,"role":"declaration","source":0,"src_end":99965,"src_start":99768},{"artifact":1,"gen_end":110810,"gen_start":110569,"node":301,"role":"declaration","source":0,"src_end":100163,"src_start":99967},{"artifact":1,"gen_end":111054,"gen_start":110810,"node":302,"role":"declaration","source":0,"src_end":100368,"src_start":100165},{"artifact":1,"gen_end":111246,"gen_start":111054,"node":303,"role":"declaration","source":0,"src_end":100497,"src_start":100370},{"artifact":1,"gen_end":111437,"gen_start":111246,"node":304,"role":"declaration","source":0,"src_end":100625,"src_start":100499},{"artifact":1,"gen_end":111692,"gen_start":111437,"node":305,"role":"declaration","source":0,"src_end":100811,"src_start":100627},{"artifact":1,"gen_end":111707,"gen_start":111692,"node":153,"role":"declaration","source":0,"src_end":100847,"src_start":0}],"module":"Gnaf","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"},{"id":80,"kind":"semantic-declaration"},{"id":81,"kind":"semantic-declaration"},{"id":82,"kind":"semantic-declaration"},{"id":83,"kind":"semantic-declaration"},{"id":84,"kind":"semantic-declaration"},{"id":85,"kind":"semantic-declaration"},{"id":86,"kind":"semantic-declaration"},{"id":87,"kind":"semantic-declaration"},{"id":88,"kind":"semantic-declaration"},{"id":89,"kind":"semantic-declaration"},{"id":90,"kind":"semantic-declaration"},{"id":91,"kind":"semantic-declaration"},{"id":92,"kind":"semantic-declaration"},{"id":93,"kind":"semantic-declaration"},{"id":94,"kind":"semantic-declaration"},{"id":95,"kind":"semantic-declaration"},{"id":96,"kind":"semantic-declaration"},{"id":97,"kind":"semantic-declaration"},{"id":98,"kind":"semantic-declaration"},{"id":99,"kind":"semantic-declaration"},{"id":100,"kind":"semantic-declaration"},{"id":101,"kind":"semantic-declaration"},{"id":102,"kind":"semantic-declaration"},{"id":103,"kind":"semantic-declaration"},{"id":104,"kind":"semantic-declaration"},{"id":105,"kind":"semantic-declaration"},{"id":106,"kind":"semantic-declaration"},{"id":107,"kind":"semantic-declaration"},{"id":108,"kind":"semantic-declaration"},{"id":109,"kind":"semantic-declaration"},{"id":110,"kind":"semantic-declaration"},{"id":111,"kind":"semantic-declaration"},{"id":112,"kind":"semantic-declaration"},{"id":113,"kind":"semantic-declaration"},{"id":114,"kind":"semantic-declaration"},{"id":115,"kind":"semantic-declaration"},{"id":116,"kind":"semantic-declaration"},{"id":117,"kind":"semantic-declaration"},{"id":118,"kind":"semantic-declaration"},{"id":119,"kind":"semantic-declaration"},{"id":120,"kind":"semantic-declaration"},{"id":121,"kind":"semantic-declaration"},{"id":122,"kind":"semantic-declaration"},{"id":123,"kind":"semantic-declaration"},{"id":124,"kind":"semantic-declaration"},{"id":125,"kind":"semantic-declaration"},{"id":126,"kind":"semantic-declaration"},{"id":127,"kind":"semantic-declaration"},{"id":128,"kind":"semantic-declaration"},{"id":129,"kind":"semantic-declaration"},{"id":130,"kind":"semantic-declaration"},{"id":131,"kind":"semantic-declaration"},{"id":132,"kind":"semantic-declaration"},{"id":133,"kind":"semantic-declaration"},{"id":134,"kind":"semantic-declaration"},{"id":135,"kind":"semantic-declaration"},{"id":136,"kind":"semantic-declaration"},{"id":137,"kind":"semantic-declaration"},{"id":138,"kind":"semantic-declaration"},{"id":139,"kind":"semantic-declaration"},{"id":140,"kind":"semantic-declaration"},{"id":141,"kind":"semantic-declaration"},{"id":142,"kind":"semantic-declaration"},{"id":143,"kind":"semantic-declaration"},{"id":144,"kind":"semantic-declaration"},{"id":145,"kind":"semantic-declaration"},{"id":146,"kind":"semantic-declaration"},{"id":147,"kind":"semantic-declaration"},{"id":148,"kind":"semantic-declaration"},{"id":149,"kind":"semantic-declaration"},{"id":150,"kind":"semantic-declaration"},{"id":151,"kind":"semantic-declaration"},{"id":152,"kind":"semantic-declaration"},{"id":153,"kind":"semantic-latex-module"},{"id":154,"kind":"semantic-declaration"},{"id":155,"kind":"semantic-declaration"},{"id":156,"kind":"semantic-declaration"},{"id":157,"kind":"semantic-declaration"},{"id":158,"kind":"semantic-declaration"},{"id":159,"kind":"semantic-declaration"},{"id":160,"kind":"semantic-declaration"},{"id":161,"kind":"semantic-declaration"},{"id":162,"kind":"semantic-declaration"},{"id":163,"kind":"semantic-declaration"},{"id":164,"kind":"semantic-declaration"},{"id":165,"kind":"semantic-declaration"},{"id":166,"kind":"semantic-declaration"},{"id":167,"kind":"semantic-declaration"},{"id":168,"kind":"semantic-declaration"},{"id":169,"kind":"semantic-declaration"},{"id":170,"kind":"semantic-declaration"},{"id":171,"kind":"semantic-declaration"},{"id":172,"kind":"semantic-declaration"},{"id":173,"kind":"semantic-declaration"},{"id":174,"kind":"semantic-declaration"},{"id":175,"kind":"semantic-declaration"},{"id":176,"kind":"semantic-declaration"},{"id":177,"kind":"semantic-declaration"},{"id":178,"kind":"semantic-declaration"},{"id":179,"kind":"semantic-declaration"},{"id":180,"kind":"semantic-declaration"},{"id":181,"kind":"semantic-declaration"},{"id":182,"kind":"semantic-declaration"},{"id":183,"kind":"semantic-declaration"},{"id":184,"kind":"semantic-declaration"},{"id":185,"kind":"semantic-declaration"},{"id":186,"kind":"semantic-declaration"},{"id":187,"kind":"semantic-declaration"},{"id":188,"kind":"semantic-declaration"},{"id":189,"kind":"semantic-declaration"},{"id":190,"kind":"semantic-declaration"},{"id":191,"kind":"semantic-declaration"},{"id":192,"kind":"semantic-declaration"},{"id":193,"kind":"semantic-declaration"},{"id":194,"kind":"semantic-declaration"},{"id":195,"kind":"semantic-declaration"},{"id":196,"kind":"semantic-declaration"},{"id":197,"kind":"semantic-declaration"},{"id":198,"kind":"semantic-declaration"},{"id":199,"kind":"semantic-declaration"},{"id":200,"kind":"semantic-declaration"},{"id":201,"kind":"semantic-declaration"},{"id":202,"kind":"semantic-declaration"},{"id":203,"kind":"semantic-declaration"},{"id":204,"kind":"semantic-declaration"},{"id":205,"kind":"semantic-declaration"},{"id":206,"kind":"semantic-declaration"},{"id":207,"kind":"semantic-declaration"},{"id":208,"kind":"semantic-declaration"},{"id":209,"kind":"semantic-declaration"},{"id":210,"kind":"semantic-declaration"},{"id":211,"kind":"semantic-declaration"},{"id":212,"kind":"semantic-declaration"},{"id":213,"kind":"semantic-declaration"},{"id":214,"kind":"semantic-declaration"},{"id":215,"kind":"semantic-declaration"},{"id":216,"kind":"semantic-declaration"},{"id":217,"kind":"semantic-declaration"},{"id":218,"kind":"semantic-declaration"},{"id":219,"kind":"semantic-declaration"},{"id":220,"kind":"semantic-declaration"},{"id":221,"kind":"semantic-declaration"},{"id":222,"kind":"semantic-declaration"},{"id":223,"kind":"semantic-declaration"},{"id":224,"kind":"semantic-declaration"},{"id":225,"kind":"semantic-declaration"},{"id":226,"kind":"semantic-declaration"},{"id":227,"kind":"semantic-declaration"},{"id":228,"kind":"semantic-declaration"},{"id":229,"kind":"semantic-declaration"},{"id":230,"kind":"semantic-declaration"},{"id":231,"kind":"semantic-declaration"},{"id":232,"kind":"semantic-declaration"},{"id":233,"kind":"semantic-declaration"},{"id":234,"kind":"semantic-declaration"},{"id":235,"kind":"semantic-declaration"},{"id":236,"kind":"semantic-declaration"},{"id":237,"kind":"semantic-declaration"},{"id":238,"kind":"semantic-declaration"},{"id":239,"kind":"semantic-declaration"},{"id":240,"kind":"semantic-declaration"},{"id":241,"kind":"semantic-declaration"},{"id":242,"kind":"semantic-declaration"},{"id":243,"kind":"semantic-declaration"},{"id":244,"kind":"semantic-declaration"},{"id":245,"kind":"semantic-declaration"},{"id":246,"kind":"semantic-declaration"},{"id":247,"kind":"semantic-declaration"},{"id":248,"kind":"semantic-declaration"},{"id":249,"kind":"semantic-declaration"},{"id":250,"kind":"semantic-declaration"},{"id":251,"kind":"semantic-declaration"},{"id":252,"kind":"semantic-declaration"},{"id":253,"kind":"semantic-declaration"},{"id":254,"kind":"semantic-declaration"},{"id":255,"kind":"semantic-declaration"},{"id":256,"kind":"semantic-declaration"},{"id":257,"kind":"semantic-declaration"},{"id":258,"kind":"semantic-declaration"},{"id":259,"kind":"semantic-declaration"},{"id":260,"kind":"semantic-declaration"},{"id":261,"kind":"semantic-declaration"},{"id":262,"kind":"semantic-declaration"},{"id":263,"kind":"semantic-declaration"},{"id":264,"kind":"semantic-declaration"},{"id":265,"kind":"semantic-declaration"},{"id":266,"kind":"semantic-declaration"},{"id":267,"kind":"semantic-declaration"},{"id":268,"kind":"semantic-declaration"},{"id":269,"kind":"semantic-declaration"},{"id":270,"kind":"semantic-declaration"},{"id":271,"kind":"semantic-declaration"},{"id":272,"kind":"semantic-declaration"},{"id":273,"kind":"semantic-declaration"},{"id":274,"kind":"semantic-declaration"},{"id":275,"kind":"semantic-declaration"},{"id":276,"kind":"semantic-declaration"},{"id":277,"kind":"semantic-declaration"},{"id":278,"kind":"semantic-declaration"},{"id":279,"kind":"semantic-declaration"},{"id":280,"kind":"semantic-declaration"},{"id":281,"kind":"semantic-declaration"},{"id":282,"kind":"semantic-declaration"},{"id":283,"kind":"semantic-declaration"},{"id":284,"kind":"semantic-declaration"},{"id":285,"kind":"semantic-declaration"},{"id":286,"kind":"semantic-declaration"},{"id":287,"kind":"semantic-declaration"},{"id":288,"kind":"semantic-declaration"},{"id":289,"kind":"semantic-declaration"},{"id":290,"kind":"semantic-declaration"},{"id":291,"kind":"semantic-declaration"},{"id":292,"kind":"semantic-declaration"},{"id":293,"kind":"semantic-declaration"},{"id":294,"kind":"semantic-declaration"},{"id":295,"kind":"semantic-declaration"},{"id":296,"kind":"semantic-declaration"},{"id":297,"kind":"semantic-declaration"},{"id":298,"kind":"semantic-declaration"},{"id":299,"kind":"semantic-declaration"},{"id":300,"kind":"semantic-declaration"},{"id":301,"kind":"semantic-declaration"},{"id":302,"kind":"semantic-declaration"},{"id":303,"kind":"semantic-declaration"},{"id":304,"kind":"semantic-declaration"},{"id":305,"kind":"semantic-declaration"}],"semantic_id":"322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a","source_id":"fc8fbbd2922aa3e7a7463e6862d110709e47f518802f63748cd199cee6055a74","sources":[{"id":0,"kind":"file","path":"src/Gnaf.lex.tex","sha256":"21b9c9174ae33fe77204e196a29a51463f2c9a400f7b305d33591c54f31d798d"}],"spec":"lexlean/source-map/1"} diff --git a/compiler/expected/build/maps/LexLeanTarget/GnafCertificates.map.json b/compiler/expected/build/maps/LexLeanTarget/GnafCertificates.map.json index b81cd910e..84bb55494 100644 --- a/compiler/expected/build/maps/LexLeanTarget/GnafCertificates.map.json +++ b/compiler/expected/build/maps/LexLeanTarget/GnafCertificates.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/GnafCertificates.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/GnafCertificates.tex"}],"mappings":[{"artifact":0,"gen_end":414,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":105623,"src_start":0},{"artifact":0,"gen_end":1247,"gen_start":414,"node":1,"role":"declaration","source":0,"src_end":1053,"src_start":261},{"artifact":0,"gen_end":1546,"gen_start":1247,"node":2,"role":"declaration","source":0,"src_end":1401,"src_start":1055},{"artifact":0,"gen_end":2308,"gen_start":1546,"node":3,"role":"declaration","source":0,"src_end":2136,"src_start":1403},{"artifact":0,"gen_end":2653,"gen_start":2308,"node":4,"role":"declaration","source":0,"src_end":2528,"src_start":2138},{"artifact":0,"gen_end":3488,"gen_start":2653,"node":5,"role":"declaration","source":0,"src_end":3324,"src_start":2530},{"artifact":0,"gen_end":3829,"gen_start":3488,"node":6,"role":"declaration","source":0,"src_end":3714,"src_start":3326},{"artifact":0,"gen_end":4664,"gen_start":3829,"node":7,"role":"declaration","source":0,"src_end":4510,"src_start":3716},{"artifact":0,"gen_end":5001,"gen_start":4664,"node":8,"role":"declaration","source":0,"src_end":4898,"src_start":4512},{"artifact":0,"gen_end":6126,"gen_start":5001,"node":9,"role":"declaration","source":0,"src_end":5944,"src_start":4900},{"artifact":0,"gen_end":6465,"gen_start":6126,"node":10,"role":"declaration","source":0,"src_end":6332,"src_start":5946},{"artifact":0,"gen_end":6673,"gen_start":6465,"node":11,"role":"declaration","source":0,"src_end":6613,"src_start":6334},{"artifact":0,"gen_end":7508,"gen_start":6673,"node":12,"role":"declaration","source":0,"src_end":7409,"src_start":6615},{"artifact":0,"gen_end":7856,"gen_start":7508,"node":13,"role":"declaration","source":0,"src_end":7802,"src_start":7411},{"artifact":0,"gen_end":8693,"gen_start":7856,"node":14,"role":"declaration","source":0,"src_end":8598,"src_start":7804},{"artifact":0,"gen_end":9028,"gen_start":8693,"node":15,"role":"declaration","source":0,"src_end":8982,"src_start":8600},{"artifact":0,"gen_end":9962,"gen_start":9028,"node":16,"role":"declaration","source":0,"src_end":9869,"src_start":8984},{"artifact":0,"gen_end":10306,"gen_start":9962,"node":17,"role":"declaration","source":0,"src_end":10262,"src_start":9871},{"artifact":0,"gen_end":11139,"gen_start":10306,"node":18,"role":"declaration","source":0,"src_end":11056,"src_start":10264},{"artifact":0,"gen_end":11474,"gen_start":11139,"node":19,"role":"declaration","source":0,"src_end":11440,"src_start":11058},{"artifact":0,"gen_end":12603,"gen_start":11474,"node":20,"role":"declaration","source":0,"src_end":12487,"src_start":11442},{"artifact":0,"gen_end":12869,"gen_start":12603,"node":21,"role":"declaration","source":0,"src_end":12812,"src_start":12489},{"artifact":0,"gen_end":13673,"gen_start":12869,"node":22,"role":"declaration","source":0,"src_end":13560,"src_start":12814},{"artifact":0,"gen_end":14036,"gen_start":13673,"node":23,"role":"declaration","source":0,"src_end":13972,"src_start":13562},{"artifact":0,"gen_end":14868,"gen_start":14036,"node":24,"role":"declaration","source":0,"src_end":14740,"src_start":13974},{"artifact":0,"gen_end":15218,"gen_start":14868,"node":25,"role":"declaration","source":0,"src_end":15141,"src_start":14742},{"artifact":0,"gen_end":16036,"gen_start":15218,"node":26,"role":"declaration","source":0,"src_end":15891,"src_start":15143},{"artifact":0,"gen_end":16393,"gen_start":16036,"node":27,"role":"declaration","source":0,"src_end":16297,"src_start":15893},{"artifact":0,"gen_end":17223,"gen_start":16393,"node":28,"role":"declaration","source":0,"src_end":17059,"src_start":16299},{"artifact":0,"gen_end":17575,"gen_start":17223,"node":29,"role":"declaration","source":0,"src_end":17460,"src_start":17061},{"artifact":0,"gen_end":18403,"gen_start":17575,"node":30,"role":"declaration","source":0,"src_end":18222,"src_start":17462},{"artifact":0,"gen_end":18759,"gen_start":18403,"node":31,"role":"declaration","source":0,"src_end":18629,"src_start":18224},{"artifact":0,"gen_end":19562,"gen_start":18759,"node":32,"role":"declaration","source":0,"src_end":19372,"src_start":18631},{"artifact":0,"gen_end":19920,"gen_start":19562,"node":33,"role":"declaration","source":0,"src_end":19779,"src_start":19374},{"artifact":0,"gen_end":21009,"gen_start":19920,"node":34,"role":"declaration","source":0,"src_end":20792,"src_start":19781},{"artifact":0,"gen_end":21328,"gen_start":21009,"node":35,"role":"declaration","source":0,"src_end":21164,"src_start":20794},{"artifact":0,"gen_end":22148,"gen_start":21328,"node":36,"role":"declaration","source":0,"src_end":21916,"src_start":21166},{"artifact":0,"gen_end":22502,"gen_start":22148,"node":37,"role":"declaration","source":0,"src_end":22319,"src_start":21918},{"artifact":0,"gen_end":24146,"gen_start":22502,"node":38,"role":"declaration","source":0,"src_end":23855,"src_start":22321},{"artifact":0,"gen_end":24442,"gen_start":24146,"node":39,"role":"declaration","source":0,"src_end":24206,"src_start":23857},{"artifact":0,"gen_end":26086,"gen_start":24442,"node":40,"role":"declaration","source":0,"src_end":25740,"src_start":24208},{"artifact":0,"gen_end":26429,"gen_start":26086,"node":41,"role":"declaration","source":0,"src_end":26132,"src_start":25742},{"artifact":0,"gen_end":27320,"gen_start":26429,"node":42,"role":"declaration","source":0,"src_end":26955,"src_start":26134},{"artifact":0,"gen_end":27681,"gen_start":27320,"node":43,"role":"declaration","source":0,"src_end":27365,"src_start":26957},{"artifact":0,"gen_end":28568,"gen_start":27681,"node":44,"role":"declaration","source":0,"src_end":28182,"src_start":27367},{"artifact":0,"gen_end":28935,"gen_start":28568,"node":45,"role":"declaration","source":0,"src_end":28598,"src_start":28184},{"artifact":0,"gen_end":29752,"gen_start":28935,"node":46,"role":"declaration","source":0,"src_end":29349,"src_start":28600},{"artifact":0,"gen_end":30060,"gen_start":29752,"node":47,"role":"declaration","source":0,"src_end":29712,"src_start":29351},{"artifact":0,"gen_end":31192,"gen_start":30060,"node":48,"role":"declaration","source":0,"src_end":30762,"src_start":29714},{"artifact":0,"gen_end":31491,"gen_start":31192,"node":49,"role":"declaration","source":0,"src_end":31110,"src_start":30764},{"artifact":0,"gen_end":32368,"gen_start":31491,"node":50,"role":"declaration","source":0,"src_end":31915,"src_start":31112},{"artifact":0,"gen_end":32667,"gen_start":32368,"node":51,"role":"declaration","source":0,"src_end":32263,"src_start":31917},{"artifact":0,"gen_end":33801,"gen_start":32667,"node":52,"role":"declaration","source":0,"src_end":33315,"src_start":32265},{"artifact":0,"gen_end":34110,"gen_start":33801,"node":53,"role":"declaration","source":0,"src_end":33673,"src_start":33317},{"artifact":0,"gen_end":35799,"gen_start":34110,"node":54,"role":"declaration","source":0,"src_end":35248,"src_start":33675},{"artifact":0,"gen_end":36090,"gen_start":35799,"node":55,"role":"declaration","source":0,"src_end":35590,"src_start":35250},{"artifact":0,"gen_end":37229,"gen_start":36090,"node":56,"role":"declaration","source":0,"src_end":36649,"src_start":35592},{"artifact":0,"gen_end":37569,"gen_start":37229,"node":57,"role":"declaration","source":0,"src_end":37040,"src_start":36651},{"artifact":0,"gen_end":38752,"gen_start":37569,"node":58,"role":"declaration","source":0,"src_end":38139,"src_start":37042},{"artifact":0,"gen_end":39096,"gen_start":38752,"node":59,"role":"declaration","source":0,"src_end":38532,"src_start":38141},{"artifact":0,"gen_end":40240,"gen_start":39096,"node":60,"role":"declaration","source":0,"src_end":39596,"src_start":38534},{"artifact":0,"gen_end":40586,"gen_start":40240,"node":61,"role":"declaration","source":0,"src_end":39993,"src_start":39598},{"artifact":0,"gen_end":42284,"gen_start":40586,"node":62,"role":"declaration","source":0,"src_end":41577,"src_start":39995},{"artifact":0,"gen_end":42622,"gen_start":42284,"node":63,"role":"declaration","source":0,"src_end":41966,"src_start":41579},{"artifact":0,"gen_end":43421,"gen_start":42622,"node":64,"role":"declaration","source":0,"src_end":42693,"src_start":41968},{"artifact":0,"gen_end":43775,"gen_start":43421,"node":65,"role":"declaration","source":0,"src_end":43090,"src_start":42695},{"artifact":0,"gen_end":44861,"gen_start":43775,"node":66,"role":"declaration","source":0,"src_end":44094,"src_start":43092},{"artifact":0,"gen_end":45217,"gen_start":44861,"node":67,"role":"declaration","source":0,"src_end":44493,"src_start":44096},{"artifact":0,"gen_end":46303,"gen_start":45217,"node":68,"role":"declaration","source":0,"src_end":45497,"src_start":44495},{"artifact":0,"gen_end":46659,"gen_start":46303,"node":69,"role":"declaration","source":0,"src_end":45896,"src_start":45499},{"artifact":0,"gen_end":47790,"gen_start":46659,"node":70,"role":"declaration","source":0,"src_end":46957,"src_start":45898},{"artifact":0,"gen_end":48152,"gen_start":47790,"node":71,"role":"declaration","source":0,"src_end":47362,"src_start":46959},{"artifact":0,"gen_end":49331,"gen_start":48152,"node":72,"role":"declaration","source":0,"src_end":48455,"src_start":47364},{"artifact":0,"gen_end":49602,"gen_start":49331,"node":73,"role":"declaration","source":0,"src_end":48783,"src_start":48457},{"artifact":0,"gen_end":50230,"gen_start":49602,"node":74,"role":"declaration","source":0,"src_end":49359,"src_start":48785},{"artifact":0,"gen_end":50583,"gen_start":50230,"node":75,"role":"declaration","source":0,"src_end":49761,"src_start":49361},{"artifact":0,"gen_end":51754,"gen_start":50583,"node":76,"role":"declaration","source":0,"src_end":50846,"src_start":49763},{"artifact":0,"gen_end":52081,"gen_start":51754,"node":77,"role":"declaration","source":0,"src_end":51224,"src_start":50848},{"artifact":0,"gen_end":53261,"gen_start":52081,"node":78,"role":"declaration","source":0,"src_end":52308,"src_start":51226},{"artifact":0,"gen_end":53565,"gen_start":53261,"node":79,"role":"declaration","source":0,"src_end":52661,"src_start":52310},{"artifact":0,"gen_end":54739,"gen_start":53565,"node":80,"role":"declaration","source":0,"src_end":53765,"src_start":52663},{"artifact":0,"gen_end":55043,"gen_start":54739,"node":81,"role":"declaration","source":0,"src_end":54118,"src_start":53767},{"artifact":0,"gen_end":56067,"gen_start":55043,"node":82,"role":"declaration","source":0,"src_end":55054,"src_start":54120},{"artifact":0,"gen_end":56442,"gen_start":56067,"node":83,"role":"declaration","source":0,"src_end":55472,"src_start":55056},{"artifact":0,"gen_end":57586,"gen_start":56442,"node":84,"role":"declaration","source":0,"src_end":56536,"src_start":55474},{"artifact":0,"gen_end":57948,"gen_start":57586,"node":85,"role":"declaration","source":0,"src_end":56941,"src_start":56538},{"artifact":0,"gen_end":59152,"gen_start":57948,"node":86,"role":"declaration","source":0,"src_end":58083,"src_start":56943},{"artifact":0,"gen_end":59510,"gen_start":59152,"node":87,"role":"declaration","source":0,"src_end":58484,"src_start":58085},{"artifact":0,"gen_end":60540,"gen_start":59510,"node":88,"role":"declaration","source":0,"src_end":59438,"src_start":58486},{"artifact":0,"gen_end":60817,"gen_start":60540,"node":89,"role":"declaration","source":0,"src_end":59772,"src_start":59440},{"artifact":0,"gen_end":61921,"gen_start":60817,"node":90,"role":"declaration","source":0,"src_end":60786,"src_start":59774},{"artifact":0,"gen_end":62275,"gen_start":61921,"node":91,"role":"declaration","source":0,"src_end":61183,"src_start":60788},{"artifact":0,"gen_end":63326,"gen_start":62275,"node":92,"role":"declaration","source":0,"src_end":62128,"src_start":61185},{"artifact":0,"gen_end":63638,"gen_start":63326,"node":93,"role":"declaration","source":0,"src_end":62489,"src_start":62130},{"artifact":0,"gen_end":65372,"gen_start":63638,"node":94,"role":"declaration","source":0,"src_end":64105,"src_start":62491},{"artifact":0,"gen_end":65708,"gen_start":65372,"node":95,"role":"declaration","source":0,"src_end":64484,"src_start":64107},{"artifact":0,"gen_end":67391,"gen_start":65708,"node":96,"role":"declaration","source":0,"src_end":66051,"src_start":64486},{"artifact":0,"gen_end":67728,"gen_start":67391,"node":97,"role":"declaration","source":0,"src_end":66431,"src_start":66053},{"artifact":0,"gen_end":68855,"gen_start":67728,"node":98,"role":"declaration","source":0,"src_end":67476,"src_start":66433},{"artifact":0,"gen_end":69203,"gen_start":68855,"node":99,"role":"declaration","source":0,"src_end":67867,"src_start":67478},{"artifact":0,"gen_end":70328,"gen_start":69203,"node":100,"role":"declaration","source":0,"src_end":68910,"src_start":67869},{"artifact":0,"gen_end":70670,"gen_start":70328,"node":101,"role":"declaration","source":0,"src_end":69295,"src_start":68912},{"artifact":0,"gen_end":71797,"gen_start":70670,"node":102,"role":"declaration","source":0,"src_end":70354,"src_start":69297},{"artifact":0,"gen_end":72161,"gen_start":71797,"node":103,"role":"declaration","source":0,"src_end":70761,"src_start":70356},{"artifact":0,"gen_end":73256,"gen_start":72161,"node":104,"role":"declaration","source":0,"src_end":71762,"src_start":70763},{"artifact":0,"gen_end":73620,"gen_start":73256,"node":105,"role":"declaration","source":0,"src_end":72169,"src_start":71764},{"artifact":0,"gen_end":74499,"gen_start":73620,"node":106,"role":"declaration","source":0,"src_end":72976,"src_start":72171},{"artifact":0,"gen_end":74859,"gen_start":74499,"node":107,"role":"declaration","source":0,"src_end":73379,"src_start":72978},{"artifact":0,"gen_end":75819,"gen_start":74859,"node":108,"role":"declaration","source":0,"src_end":74225,"src_start":73381},{"artifact":0,"gen_end":76164,"gen_start":75819,"node":109,"role":"declaration","source":0,"src_end":74619,"src_start":74227},{"artifact":0,"gen_end":77128,"gen_start":76164,"node":110,"role":"declaration","source":0,"src_end":75469,"src_start":74621},{"artifact":0,"gen_end":77483,"gen_start":77128,"node":111,"role":"declaration","source":0,"src_end":75869,"src_start":75471},{"artifact":0,"gen_end":78444,"gen_start":77483,"node":112,"role":"declaration","source":0,"src_end":76716,"src_start":75871},{"artifact":0,"gen_end":78791,"gen_start":78444,"node":113,"role":"declaration","source":0,"src_end":77112,"src_start":76718},{"artifact":0,"gen_end":79923,"gen_start":78791,"node":114,"role":"declaration","source":0,"src_end":78162,"src_start":77114},{"artifact":0,"gen_end":80201,"gen_start":79923,"node":115,"role":"declaration","source":0,"src_end":78499,"src_start":78164},{"artifact":0,"gen_end":81239,"gen_start":80201,"node":116,"role":"declaration","source":0,"src_end":79443,"src_start":78501},{"artifact":0,"gen_end":81607,"gen_start":81239,"node":117,"role":"declaration","source":0,"src_end":79860,"src_start":79445},{"artifact":0,"gen_end":81840,"gen_start":81607,"node":118,"role":"declaration","source":0,"src_end":80166,"src_start":79862},{"artifact":0,"gen_end":82878,"gen_start":81840,"node":119,"role":"declaration","source":0,"src_end":81114,"src_start":80168},{"artifact":0,"gen_end":83234,"gen_start":82878,"node":120,"role":"declaration","source":0,"src_end":81519,"src_start":81116},{"artifact":0,"gen_end":83454,"gen_start":83234,"node":121,"role":"declaration","source":0,"src_end":81812,"src_start":81521},{"artifact":0,"gen_end":84538,"gen_start":83454,"node":122,"role":"declaration","source":0,"src_end":82794,"src_start":81814},{"artifact":0,"gen_end":84894,"gen_start":84538,"node":123,"role":"declaration","source":0,"src_end":83199,"src_start":82796},{"artifact":0,"gen_end":85115,"gen_start":84894,"node":124,"role":"declaration","source":0,"src_end":83493,"src_start":83201},{"artifact":0,"gen_end":86051,"gen_start":85115,"node":125,"role":"declaration","source":0,"src_end":84351,"src_start":83495},{"artifact":0,"gen_end":86362,"gen_start":86051,"node":126,"role":"declaration","source":0,"src_end":84711,"src_start":84353},{"artifact":0,"gen_end":86577,"gen_start":86362,"node":127,"role":"declaration","source":0,"src_end":84999,"src_start":84713},{"artifact":0,"gen_end":87427,"gen_start":86577,"node":128,"role":"declaration","source":0,"src_end":85787,"src_start":85001},{"artifact":0,"gen_end":87783,"gen_start":87427,"node":129,"role":"declaration","source":0,"src_end":86192,"src_start":85789},{"artifact":0,"gen_end":88624,"gen_start":87783,"node":130,"role":"declaration","source":0,"src_end":86971,"src_start":86194},{"artifact":0,"gen_end":88931,"gen_start":88624,"node":131,"role":"declaration","source":0,"src_end":87331,"src_start":86973},{"artifact":0,"gen_end":89970,"gen_start":88931,"node":132,"role":"declaration","source":0,"src_end":88276,"src_start":87333},{"artifact":0,"gen_end":90285,"gen_start":89970,"node":133,"role":"declaration","source":0,"src_end":88640,"src_start":88278},{"artifact":0,"gen_end":90505,"gen_start":90285,"node":134,"role":"declaration","source":0,"src_end":88933,"src_start":88642},{"artifact":0,"gen_end":91557,"gen_start":90505,"node":135,"role":"declaration","source":0,"src_end":89891,"src_start":88935},{"artifact":0,"gen_end":91914,"gen_start":91557,"node":136,"role":"declaration","source":0,"src_end":90297,"src_start":89893},{"artifact":0,"gen_end":92136,"gen_start":91914,"node":137,"role":"declaration","source":0,"src_end":90592,"src_start":90299},{"artifact":0,"gen_end":93178,"gen_start":92136,"node":138,"role":"declaration","source":0,"src_end":91540,"src_start":90594},{"artifact":0,"gen_end":93488,"gen_start":93178,"node":139,"role":"declaration","source":0,"src_end":91899,"src_start":91542},{"artifact":0,"gen_end":93703,"gen_start":93488,"node":140,"role":"declaration","source":0,"src_end":92187,"src_start":91901},{"artifact":0,"gen_end":94245,"gen_start":93703,"node":141,"role":"declaration","source":0,"src_end":92691,"src_start":92189},{"artifact":0,"gen_end":94572,"gen_start":94245,"node":142,"role":"declaration","source":0,"src_end":93069,"src_start":92693},{"artifact":0,"gen_end":95214,"gen_start":94572,"node":143,"role":"declaration","source":0,"src_end":93661,"src_start":93071},{"artifact":0,"gen_end":95547,"gen_start":95214,"node":144,"role":"declaration","source":0,"src_end":94045,"src_start":93663},{"artifact":0,"gen_end":95768,"gen_start":95547,"node":145,"role":"declaration","source":0,"src_end":94339,"src_start":94047},{"artifact":0,"gen_end":96897,"gen_start":95768,"node":146,"role":"declaration","source":0,"src_end":95386,"src_start":94341},{"artifact":0,"gen_end":97164,"gen_start":96897,"node":147,"role":"declaration","source":0,"src_end":95712,"src_start":95388},{"artifact":0,"gen_end":98293,"gen_start":97164,"node":148,"role":"declaration","source":0,"src_end":96761,"src_start":95714},{"artifact":0,"gen_end":98571,"gen_start":98293,"node":149,"role":"declaration","source":0,"src_end":97098,"src_start":96763},{"artifact":0,"gen_end":99457,"gen_start":98571,"node":150,"role":"declaration","source":0,"src_end":97914,"src_start":97100},{"artifact":0,"gen_end":99747,"gen_start":99457,"node":151,"role":"declaration","source":0,"src_end":98263,"src_start":97916},{"artifact":0,"gen_end":100876,"gen_start":99747,"node":152,"role":"declaration","source":0,"src_end":99310,"src_start":98265},{"artifact":0,"gen_end":101142,"gen_start":100876,"node":153,"role":"declaration","source":0,"src_end":99635,"src_start":99312},{"artifact":0,"gen_end":102273,"gen_start":101142,"node":154,"role":"declaration","source":0,"src_end":100684,"src_start":99637},{"artifact":0,"gen_end":102548,"gen_start":102273,"node":155,"role":"declaration","source":0,"src_end":101018,"src_start":100686},{"artifact":0,"gen_end":102742,"gen_start":102548,"node":156,"role":"declaration","source":0,"src_end":101279,"src_start":101020},{"artifact":0,"gen_end":102938,"gen_start":102742,"node":157,"role":"declaration","source":0,"src_end":101542,"src_start":101281},{"artifact":0,"gen_end":103133,"gen_start":102938,"node":158,"role":"declaration","source":0,"src_end":101804,"src_start":101544},{"artifact":0,"gen_end":103329,"gen_start":103133,"node":159,"role":"declaration","source":0,"src_end":102067,"src_start":101806},{"artifact":0,"gen_end":103523,"gen_start":103329,"node":160,"role":"declaration","source":0,"src_end":102328,"src_start":102069},{"artifact":0,"gen_end":103718,"gen_start":103523,"node":161,"role":"declaration","source":0,"src_end":102590,"src_start":102330},{"artifact":0,"gen_end":103912,"gen_start":103718,"node":162,"role":"declaration","source":0,"src_end":102851,"src_start":102592},{"artifact":0,"gen_end":104108,"gen_start":103912,"node":163,"role":"declaration","source":0,"src_end":103114,"src_start":102853},{"artifact":0,"gen_end":104302,"gen_start":104108,"node":164,"role":"declaration","source":0,"src_end":103375,"src_start":103116},{"artifact":0,"gen_end":104497,"gen_start":104302,"node":165,"role":"declaration","source":0,"src_end":103637,"src_start":103377},{"artifact":0,"gen_end":104677,"gen_start":104497,"node":166,"role":"declaration","source":0,"src_end":103884,"src_start":103639},{"artifact":0,"gen_end":104859,"gen_start":104677,"node":167,"role":"declaration","source":0,"src_end":104133,"src_start":103886},{"artifact":0,"gen_end":105039,"gen_start":104859,"node":168,"role":"declaration","source":0,"src_end":104380,"src_start":104135},{"artifact":0,"gen_end":105220,"gen_start":105039,"node":169,"role":"declaration","source":0,"src_end":104628,"src_start":104382},{"artifact":0,"gen_end":105392,"gen_start":105220,"node":170,"role":"declaration","source":0,"src_end":104867,"src_start":104630},{"artifact":0,"gen_end":105566,"gen_start":105392,"node":171,"role":"declaration","source":0,"src_end":105108,"src_start":104869},{"artifact":0,"gen_end":105738,"gen_start":105566,"node":172,"role":"declaration","source":0,"src_end":105347,"src_start":105110},{"artifact":0,"gen_end":105911,"gen_start":105738,"node":173,"role":"declaration","source":0,"src_end":105587,"src_start":105349},{"artifact":0,"gen_end":105947,"gen_start":105911,"node":0,"role":"declaration","source":0,"src_end":105623,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":174,"role":"declaration","source":0,"src_end":105623,"src_start":0},{"artifact":1,"gen_end":1129,"gen_start":134,"node":175,"role":"declaration","source":0,"src_end":1053,"src_start":261},{"artifact":1,"gen_end":1578,"gen_start":1129,"node":176,"role":"declaration","source":0,"src_end":1401,"src_start":1055},{"artifact":1,"gen_end":2500,"gen_start":1578,"node":177,"role":"declaration","source":0,"src_end":2136,"src_start":1403},{"artifact":1,"gen_end":2995,"gen_start":2500,"node":178,"role":"declaration","source":0,"src_end":2528,"src_start":2138},{"artifact":1,"gen_end":3992,"gen_start":2995,"node":179,"role":"declaration","source":0,"src_end":3324,"src_start":2530},{"artifact":1,"gen_end":4483,"gen_start":3992,"node":180,"role":"declaration","source":0,"src_end":3714,"src_start":3326},{"artifact":1,"gen_end":5480,"gen_start":4483,"node":181,"role":"declaration","source":0,"src_end":4510,"src_start":3716},{"artifact":1,"gen_end":5967,"gen_start":5480,"node":182,"role":"declaration","source":0,"src_end":4898,"src_start":4512},{"artifact":1,"gen_end":7254,"gen_start":5967,"node":183,"role":"declaration","source":0,"src_end":5944,"src_start":4900},{"artifact":1,"gen_end":7743,"gen_start":7254,"node":184,"role":"declaration","source":0,"src_end":6332,"src_start":5946},{"artifact":1,"gen_end":8101,"gen_start":7743,"node":185,"role":"declaration","source":0,"src_end":6613,"src_start":6334},{"artifact":1,"gen_end":9098,"gen_start":8101,"node":186,"role":"declaration","source":0,"src_end":7409,"src_start":6615},{"artifact":1,"gen_end":9596,"gen_start":9098,"node":187,"role":"declaration","source":0,"src_end":7802,"src_start":7411},{"artifact":1,"gen_end":10595,"gen_start":9596,"node":188,"role":"declaration","source":0,"src_end":8598,"src_start":7804},{"artifact":1,"gen_end":11080,"gen_start":10595,"node":189,"role":"declaration","source":0,"src_end":8982,"src_start":8600},{"artifact":1,"gen_end":12176,"gen_start":11080,"node":190,"role":"declaration","source":0,"src_end":9869,"src_start":8984},{"artifact":1,"gen_end":12670,"gen_start":12176,"node":191,"role":"declaration","source":0,"src_end":10262,"src_start":9871},{"artifact":1,"gen_end":13665,"gen_start":12670,"node":192,"role":"declaration","source":0,"src_end":11056,"src_start":10264},{"artifact":1,"gen_end":14150,"gen_start":13665,"node":193,"role":"declaration","source":0,"src_end":11440,"src_start":11058},{"artifact":1,"gen_end":15439,"gen_start":14150,"node":194,"role":"declaration","source":0,"src_end":12487,"src_start":11442},{"artifact":1,"gen_end":15855,"gen_start":15439,"node":195,"role":"declaration","source":0,"src_end":12812,"src_start":12489},{"artifact":1,"gen_end":16819,"gen_start":15855,"node":196,"role":"declaration","source":0,"src_end":13560,"src_start":12814},{"artifact":1,"gen_end":17332,"gen_start":16819,"node":197,"role":"declaration","source":0,"src_end":13972,"src_start":13562},{"artifact":1,"gen_end":18324,"gen_start":17332,"node":198,"role":"declaration","source":0,"src_end":14740,"src_start":13974},{"artifact":1,"gen_end":18824,"gen_start":18324,"node":199,"role":"declaration","source":0,"src_end":15141,"src_start":14742},{"artifact":1,"gen_end":19802,"gen_start":18824,"node":200,"role":"declaration","source":0,"src_end":15891,"src_start":15143},{"artifact":1,"gen_end":20309,"gen_start":19802,"node":201,"role":"declaration","source":0,"src_end":16297,"src_start":15893},{"artifact":1,"gen_end":21299,"gen_start":20309,"node":202,"role":"declaration","source":0,"src_end":17059,"src_start":16299},{"artifact":1,"gen_end":21801,"gen_start":21299,"node":203,"role":"declaration","source":0,"src_end":17460,"src_start":17061},{"artifact":1,"gen_end":22789,"gen_start":21801,"node":204,"role":"declaration","source":0,"src_end":18222,"src_start":17462},{"artifact":1,"gen_end":23295,"gen_start":22789,"node":205,"role":"declaration","source":0,"src_end":18629,"src_start":18224},{"artifact":1,"gen_end":24258,"gen_start":23295,"node":206,"role":"declaration","source":0,"src_end":19372,"src_start":18631},{"artifact":1,"gen_end":24766,"gen_start":24258,"node":207,"role":"declaration","source":0,"src_end":19779,"src_start":19374},{"artifact":1,"gen_end":26015,"gen_start":24766,"node":208,"role":"declaration","source":0,"src_end":20792,"src_start":19781},{"artifact":1,"gen_end":26484,"gen_start":26015,"node":209,"role":"declaration","source":0,"src_end":21164,"src_start":20794},{"artifact":1,"gen_end":27464,"gen_start":26484,"node":210,"role":"declaration","source":0,"src_end":21916,"src_start":21166},{"artifact":1,"gen_end":27968,"gen_start":27464,"node":211,"role":"declaration","source":0,"src_end":22319,"src_start":21918},{"artifact":1,"gen_end":29772,"gen_start":27968,"node":212,"role":"declaration","source":0,"src_end":23855,"src_start":22321},{"artifact":1,"gen_end":30218,"gen_start":29772,"node":213,"role":"declaration","source":0,"src_end":24206,"src_start":23857},{"artifact":1,"gen_end":32022,"gen_start":30218,"node":214,"role":"declaration","source":0,"src_end":25740,"src_start":24208},{"artifact":1,"gen_end":32515,"gen_start":32022,"node":215,"role":"declaration","source":0,"src_end":26132,"src_start":25742},{"artifact":1,"gen_end":33566,"gen_start":32515,"node":216,"role":"declaration","source":0,"src_end":26955,"src_start":26134},{"artifact":1,"gen_end":34077,"gen_start":33566,"node":217,"role":"declaration","source":0,"src_end":27365,"src_start":26957},{"artifact":1,"gen_end":35124,"gen_start":34077,"node":218,"role":"declaration","source":0,"src_end":28182,"src_start":27367},{"artifact":1,"gen_end":35641,"gen_start":35124,"node":219,"role":"declaration","source":0,"src_end":28598,"src_start":28184},{"artifact":1,"gen_end":36618,"gen_start":35641,"node":220,"role":"declaration","source":0,"src_end":29349,"src_start":28600},{"artifact":1,"gen_end":37076,"gen_start":36618,"node":221,"role":"declaration","source":0,"src_end":29712,"src_start":29351},{"artifact":1,"gen_end":38368,"gen_start":37076,"node":222,"role":"declaration","source":0,"src_end":30762,"src_start":29714},{"artifact":1,"gen_end":38817,"gen_start":38368,"node":223,"role":"declaration","source":0,"src_end":31110,"src_start":30764},{"artifact":1,"gen_end":39854,"gen_start":38817,"node":224,"role":"declaration","source":0,"src_end":31915,"src_start":31112},{"artifact":1,"gen_end":40303,"gen_start":39854,"node":225,"role":"declaration","source":0,"src_end":32263,"src_start":31917},{"artifact":1,"gen_end":41597,"gen_start":40303,"node":226,"role":"declaration","source":0,"src_end":33315,"src_start":32265},{"artifact":1,"gen_end":42056,"gen_start":41597,"node":227,"role":"declaration","source":0,"src_end":33673,"src_start":33317},{"artifact":1,"gen_end":43905,"gen_start":42056,"node":228,"role":"declaration","source":0,"src_end":35248,"src_start":33675},{"artifact":1,"gen_end":44346,"gen_start":43905,"node":229,"role":"declaration","source":0,"src_end":35590,"src_start":35250},{"artifact":1,"gen_end":45645,"gen_start":44346,"node":230,"role":"declaration","source":0,"src_end":36649,"src_start":35592},{"artifact":1,"gen_end":46135,"gen_start":45645,"node":231,"role":"declaration","source":0,"src_end":37040,"src_start":36651},{"artifact":1,"gen_end":47478,"gen_start":46135,"node":232,"role":"declaration","source":0,"src_end":38139,"src_start":37042},{"artifact":1,"gen_end":47972,"gen_start":47478,"node":233,"role":"declaration","source":0,"src_end":38532,"src_start":38141},{"artifact":1,"gen_end":49276,"gen_start":47972,"node":234,"role":"declaration","source":0,"src_end":39596,"src_start":38534},{"artifact":1,"gen_end":49772,"gen_start":49276,"node":235,"role":"declaration","source":0,"src_end":39993,"src_start":39598},{"artifact":1,"gen_end":51630,"gen_start":49772,"node":236,"role":"declaration","source":0,"src_end":41577,"src_start":39995},{"artifact":1,"gen_end":52118,"gen_start":51630,"node":237,"role":"declaration","source":0,"src_end":41966,"src_start":41579},{"artifact":1,"gen_end":53077,"gen_start":52118,"node":238,"role":"declaration","source":0,"src_end":42693,"src_start":41968},{"artifact":1,"gen_end":53581,"gen_start":53077,"node":239,"role":"declaration","source":0,"src_end":43090,"src_start":42695},{"artifact":1,"gen_end":54827,"gen_start":53581,"node":240,"role":"declaration","source":0,"src_end":44094,"src_start":43092},{"artifact":1,"gen_end":55333,"gen_start":54827,"node":241,"role":"declaration","source":0,"src_end":44493,"src_start":44096},{"artifact":1,"gen_end":56579,"gen_start":55333,"node":242,"role":"declaration","source":0,"src_end":45497,"src_start":44495},{"artifact":1,"gen_end":57085,"gen_start":56579,"node":243,"role":"declaration","source":0,"src_end":45896,"src_start":45499},{"artifact":1,"gen_end":58376,"gen_start":57085,"node":244,"role":"declaration","source":0,"src_end":46957,"src_start":45898},{"artifact":1,"gen_end":58888,"gen_start":58376,"node":245,"role":"declaration","source":0,"src_end":47362,"src_start":46959},{"artifact":1,"gen_end":60227,"gen_start":58888,"node":246,"role":"declaration","source":0,"src_end":48455,"src_start":47364},{"artifact":1,"gen_end":60648,"gen_start":60227,"node":247,"role":"declaration","source":0,"src_end":48783,"src_start":48457},{"artifact":1,"gen_end":61436,"gen_start":60648,"node":248,"role":"declaration","source":0,"src_end":49359,"src_start":48785},{"artifact":1,"gen_end":61939,"gen_start":61436,"node":249,"role":"declaration","source":0,"src_end":49761,"src_start":49361},{"artifact":1,"gen_end":63270,"gen_start":61939,"node":250,"role":"declaration","source":0,"src_end":50846,"src_start":49763},{"artifact":1,"gen_end":63747,"gen_start":63270,"node":251,"role":"declaration","source":0,"src_end":51224,"src_start":50848},{"artifact":1,"gen_end":65087,"gen_start":63747,"node":252,"role":"declaration","source":0,"src_end":52308,"src_start":51226},{"artifact":1,"gen_end":65541,"gen_start":65087,"node":253,"role":"declaration","source":0,"src_end":52661,"src_start":52310},{"artifact":1,"gen_end":66875,"gen_start":65541,"node":254,"role":"declaration","source":0,"src_end":53765,"src_start":52663},{"artifact":1,"gen_end":67329,"gen_start":66875,"node":255,"role":"declaration","source":0,"src_end":54118,"src_start":53767},{"artifact":1,"gen_end":68513,"gen_start":67329,"node":256,"role":"declaration","source":0,"src_end":55054,"src_start":54120},{"artifact":1,"gen_end":69038,"gen_start":68513,"node":257,"role":"declaration","source":0,"src_end":55472,"src_start":55056},{"artifact":1,"gen_end":70342,"gen_start":69038,"node":258,"role":"declaration","source":0,"src_end":56536,"src_start":55474},{"artifact":1,"gen_end":70854,"gen_start":70342,"node":259,"role":"declaration","source":0,"src_end":56941,"src_start":56538},{"artifact":1,"gen_end":72218,"gen_start":70854,"node":260,"role":"declaration","source":0,"src_end":58083,"src_start":56943},{"artifact":1,"gen_end":72726,"gen_start":72218,"node":261,"role":"declaration","source":0,"src_end":58484,"src_start":58085},{"artifact":1,"gen_end":73916,"gen_start":72726,"node":262,"role":"declaration","source":0,"src_end":59438,"src_start":58486},{"artifact":1,"gen_end":74343,"gen_start":73916,"node":263,"role":"declaration","source":0,"src_end":59772,"src_start":59440},{"artifact":1,"gen_end":75607,"gen_start":74343,"node":264,"role":"declaration","source":0,"src_end":60786,"src_start":59774},{"artifact":1,"gen_end":76111,"gen_start":75607,"node":265,"role":"declaration","source":0,"src_end":61183,"src_start":60788},{"artifact":1,"gen_end":77322,"gen_start":76111,"node":266,"role":"declaration","source":0,"src_end":62128,"src_start":61185},{"artifact":1,"gen_end":77784,"gen_start":77322,"node":267,"role":"declaration","source":0,"src_end":62489,"src_start":62130},{"artifact":1,"gen_end":79678,"gen_start":77784,"node":268,"role":"declaration","source":0,"src_end":64105,"src_start":62491},{"artifact":1,"gen_end":80164,"gen_start":79678,"node":269,"role":"declaration","source":0,"src_end":64484,"src_start":64107},{"artifact":1,"gen_end":82007,"gen_start":80164,"node":270,"role":"declaration","source":0,"src_end":66051,"src_start":64486},{"artifact":1,"gen_end":82494,"gen_start":82007,"node":271,"role":"declaration","source":0,"src_end":66431,"src_start":66053},{"artifact":1,"gen_end":83781,"gen_start":82494,"node":272,"role":"declaration","source":0,"src_end":67476,"src_start":66433},{"artifact":1,"gen_end":84279,"gen_start":83781,"node":273,"role":"declaration","source":0,"src_end":67867,"src_start":67478},{"artifact":1,"gen_end":85564,"gen_start":84279,"node":274,"role":"declaration","source":0,"src_end":68910,"src_start":67869},{"artifact":1,"gen_end":86056,"gen_start":85564,"node":275,"role":"declaration","source":0,"src_end":69295,"src_start":68912},{"artifact":1,"gen_end":87343,"gen_start":86056,"node":276,"role":"declaration","source":0,"src_end":70354,"src_start":69297},{"artifact":1,"gen_end":87857,"gen_start":87343,"node":277,"role":"declaration","source":0,"src_end":70761,"src_start":70356},{"artifact":1,"gen_end":89112,"gen_start":87857,"node":278,"role":"declaration","source":0,"src_end":71762,"src_start":70763},{"artifact":1,"gen_end":89626,"gen_start":89112,"node":279,"role":"declaration","source":0,"src_end":72169,"src_start":71764},{"artifact":1,"gen_end":90665,"gen_start":89626,"node":280,"role":"declaration","source":0,"src_end":72976,"src_start":72171},{"artifact":1,"gen_end":91175,"gen_start":90665,"node":281,"role":"declaration","source":0,"src_end":73379,"src_start":72978},{"artifact":1,"gen_end":92295,"gen_start":91175,"node":282,"role":"declaration","source":0,"src_end":74225,"src_start":73381},{"artifact":1,"gen_end":92790,"gen_start":92295,"node":283,"role":"declaration","source":0,"src_end":74619,"src_start":74227},{"artifact":1,"gen_end":93914,"gen_start":92790,"node":284,"role":"declaration","source":0,"src_end":75469,"src_start":74621},{"artifact":1,"gen_end":94419,"gen_start":93914,"node":285,"role":"declaration","source":0,"src_end":75869,"src_start":75471},{"artifact":1,"gen_end":95540,"gen_start":94419,"node":286,"role":"declaration","source":0,"src_end":76716,"src_start":75871},{"artifact":1,"gen_end":96037,"gen_start":95540,"node":287,"role":"declaration","source":0,"src_end":77112,"src_start":76718},{"artifact":1,"gen_end":97329,"gen_start":96037,"node":288,"role":"declaration","source":0,"src_end":78162,"src_start":77114},{"artifact":1,"gen_end":97757,"gen_start":97329,"node":289,"role":"declaration","source":0,"src_end":78499,"src_start":78164},{"artifact":1,"gen_end":98955,"gen_start":97757,"node":290,"role":"declaration","source":0,"src_end":79443,"src_start":78501},{"artifact":1,"gen_end":99473,"gen_start":98955,"node":291,"role":"declaration","source":0,"src_end":79860,"src_start":79445},{"artifact":1,"gen_end":99856,"gen_start":99473,"node":292,"role":"declaration","source":0,"src_end":80166,"src_start":79862},{"artifact":1,"gen_end":101054,"gen_start":99856,"node":293,"role":"declaration","source":0,"src_end":81114,"src_start":80168},{"artifact":1,"gen_end":101560,"gen_start":101054,"node":294,"role":"declaration","source":0,"src_end":81519,"src_start":81116},{"artifact":1,"gen_end":101930,"gen_start":101560,"node":295,"role":"declaration","source":0,"src_end":81812,"src_start":81521},{"artifact":1,"gen_end":103174,"gen_start":101930,"node":296,"role":"declaration","source":0,"src_end":82794,"src_start":81814},{"artifact":1,"gen_end":103680,"gen_start":103174,"node":297,"role":"declaration","source":0,"src_end":83199,"src_start":82796},{"artifact":1,"gen_end":104051,"gen_start":103680,"node":298,"role":"declaration","source":0,"src_end":83493,"src_start":83201},{"artifact":1,"gen_end":105147,"gen_start":104051,"node":299,"role":"declaration","source":0,"src_end":84351,"src_start":83495},{"artifact":1,"gen_end":105608,"gen_start":105147,"node":300,"role":"declaration","source":0,"src_end":84711,"src_start":84353},{"artifact":1,"gen_end":105973,"gen_start":105608,"node":301,"role":"declaration","source":0,"src_end":84999,"src_start":84713},{"artifact":1,"gen_end":106983,"gen_start":105973,"node":302,"role":"declaration","source":0,"src_end":85787,"src_start":85001},{"artifact":1,"gen_end":107489,"gen_start":106983,"node":303,"role":"declaration","source":0,"src_end":86192,"src_start":85789},{"artifact":1,"gen_end":108490,"gen_start":107489,"node":304,"role":"declaration","source":0,"src_end":86971,"src_start":86194},{"artifact":1,"gen_end":108947,"gen_start":108490,"node":305,"role":"declaration","source":0,"src_end":87331,"src_start":86973},{"artifact":1,"gen_end":110146,"gen_start":108947,"node":306,"role":"declaration","source":0,"src_end":88276,"src_start":87333},{"artifact":1,"gen_end":110611,"gen_start":110146,"node":307,"role":"declaration","source":0,"src_end":88640,"src_start":88278},{"artifact":1,"gen_end":110981,"gen_start":110611,"node":308,"role":"declaration","source":0,"src_end":88933,"src_start":88642},{"artifact":1,"gen_end":112193,"gen_start":110981,"node":309,"role":"declaration","source":0,"src_end":89891,"src_start":88935},{"artifact":1,"gen_end":112700,"gen_start":112193,"node":310,"role":"declaration","source":0,"src_end":90297,"src_start":89893},{"artifact":1,"gen_end":113072,"gen_start":112700,"node":311,"role":"declaration","source":0,"src_end":90592,"src_start":90299},{"artifact":1,"gen_end":114274,"gen_start":113072,"node":312,"role":"declaration","source":0,"src_end":91540,"src_start":90594},{"artifact":1,"gen_end":114734,"gen_start":114274,"node":313,"role":"declaration","source":0,"src_end":91899,"src_start":91542},{"artifact":1,"gen_end":115099,"gen_start":114734,"node":314,"role":"declaration","source":0,"src_end":92187,"src_start":91901},{"artifact":1,"gen_end":115801,"gen_start":115099,"node":315,"role":"declaration","source":0,"src_end":92691,"src_start":92189},{"artifact":1,"gen_end":116278,"gen_start":115801,"node":316,"role":"declaration","source":0,"src_end":93069,"src_start":92693},{"artifact":1,"gen_end":117080,"gen_start":116278,"node":317,"role":"declaration","source":0,"src_end":93661,"src_start":93071},{"artifact":1,"gen_end":117563,"gen_start":117080,"node":318,"role":"declaration","source":0,"src_end":94045,"src_start":93663},{"artifact":1,"gen_end":117934,"gen_start":117563,"node":319,"role":"declaration","source":0,"src_end":94339,"src_start":94047},{"artifact":1,"gen_end":119223,"gen_start":117934,"node":320,"role":"declaration","source":0,"src_end":95386,"src_start":94341},{"artifact":1,"gen_end":119640,"gen_start":119223,"node":321,"role":"declaration","source":0,"src_end":95712,"src_start":95388},{"artifact":1,"gen_end":120929,"gen_start":119640,"node":322,"role":"declaration","source":0,"src_end":96761,"src_start":95714},{"artifact":1,"gen_end":121357,"gen_start":120929,"node":323,"role":"declaration","source":0,"src_end":97098,"src_start":96763},{"artifact":1,"gen_end":122403,"gen_start":121357,"node":324,"role":"declaration","source":0,"src_end":97914,"src_start":97100},{"artifact":1,"gen_end":122843,"gen_start":122403,"node":325,"role":"declaration","source":0,"src_end":98263,"src_start":97916},{"artifact":1,"gen_end":124132,"gen_start":122843,"node":326,"role":"declaration","source":0,"src_end":99310,"src_start":98265},{"artifact":1,"gen_end":124548,"gen_start":124132,"node":327,"role":"declaration","source":0,"src_end":99635,"src_start":99312},{"artifact":1,"gen_end":125839,"gen_start":124548,"node":328,"role":"declaration","source":0,"src_end":100684,"src_start":99637},{"artifact":1,"gen_end":126264,"gen_start":125839,"node":329,"role":"declaration","source":0,"src_end":101018,"src_start":100686},{"artifact":1,"gen_end":126608,"gen_start":126264,"node":330,"role":"declaration","source":0,"src_end":101279,"src_start":101020},{"artifact":1,"gen_end":126954,"gen_start":126608,"node":331,"role":"declaration","source":0,"src_end":101542,"src_start":101281},{"artifact":1,"gen_end":127299,"gen_start":126954,"node":332,"role":"declaration","source":0,"src_end":101804,"src_start":101544},{"artifact":1,"gen_end":127645,"gen_start":127299,"node":333,"role":"declaration","source":0,"src_end":102067,"src_start":101806},{"artifact":1,"gen_end":127989,"gen_start":127645,"node":334,"role":"declaration","source":0,"src_end":102328,"src_start":102069},{"artifact":1,"gen_end":128334,"gen_start":127989,"node":335,"role":"declaration","source":0,"src_end":102590,"src_start":102330},{"artifact":1,"gen_end":128678,"gen_start":128334,"node":336,"role":"declaration","source":0,"src_end":102851,"src_start":102592},{"artifact":1,"gen_end":129024,"gen_start":128678,"node":337,"role":"declaration","source":0,"src_end":103114,"src_start":102853},{"artifact":1,"gen_end":129368,"gen_start":129024,"node":338,"role":"declaration","source":0,"src_end":103375,"src_start":103116},{"artifact":1,"gen_end":129713,"gen_start":129368,"node":339,"role":"declaration","source":0,"src_end":103637,"src_start":103377},{"artifact":1,"gen_end":130043,"gen_start":129713,"node":340,"role":"declaration","source":0,"src_end":103884,"src_start":103639},{"artifact":1,"gen_end":130375,"gen_start":130043,"node":341,"role":"declaration","source":0,"src_end":104133,"src_start":103886},{"artifact":1,"gen_end":130705,"gen_start":130375,"node":342,"role":"declaration","source":0,"src_end":104380,"src_start":104135},{"artifact":1,"gen_end":131036,"gen_start":130705,"node":343,"role":"declaration","source":0,"src_end":104628,"src_start":104382},{"artifact":1,"gen_end":131358,"gen_start":131036,"node":344,"role":"declaration","source":0,"src_end":104867,"src_start":104630},{"artifact":1,"gen_end":131682,"gen_start":131358,"node":345,"role":"declaration","source":0,"src_end":105108,"src_start":104869},{"artifact":1,"gen_end":132004,"gen_start":131682,"node":346,"role":"declaration","source":0,"src_end":105347,"src_start":105110},{"artifact":1,"gen_end":132327,"gen_start":132004,"node":347,"role":"declaration","source":0,"src_end":105587,"src_start":105349},{"artifact":1,"gen_end":132342,"gen_start":132327,"node":174,"role":"declaration","source":0,"src_end":105623,"src_start":0}],"module":"GnafCertificates","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"},{"id":80,"kind":"semantic-declaration"},{"id":81,"kind":"semantic-declaration"},{"id":82,"kind":"semantic-declaration"},{"id":83,"kind":"semantic-declaration"},{"id":84,"kind":"semantic-declaration"},{"id":85,"kind":"semantic-declaration"},{"id":86,"kind":"semantic-declaration"},{"id":87,"kind":"semantic-declaration"},{"id":88,"kind":"semantic-declaration"},{"id":89,"kind":"semantic-declaration"},{"id":90,"kind":"semantic-declaration"},{"id":91,"kind":"semantic-declaration"},{"id":92,"kind":"semantic-declaration"},{"id":93,"kind":"semantic-declaration"},{"id":94,"kind":"semantic-declaration"},{"id":95,"kind":"semantic-declaration"},{"id":96,"kind":"semantic-declaration"},{"id":97,"kind":"semantic-declaration"},{"id":98,"kind":"semantic-declaration"},{"id":99,"kind":"semantic-declaration"},{"id":100,"kind":"semantic-declaration"},{"id":101,"kind":"semantic-declaration"},{"id":102,"kind":"semantic-declaration"},{"id":103,"kind":"semantic-declaration"},{"id":104,"kind":"semantic-declaration"},{"id":105,"kind":"semantic-declaration"},{"id":106,"kind":"semantic-declaration"},{"id":107,"kind":"semantic-declaration"},{"id":108,"kind":"semantic-declaration"},{"id":109,"kind":"semantic-declaration"},{"id":110,"kind":"semantic-declaration"},{"id":111,"kind":"semantic-declaration"},{"id":112,"kind":"semantic-declaration"},{"id":113,"kind":"semantic-declaration"},{"id":114,"kind":"semantic-declaration"},{"id":115,"kind":"semantic-declaration"},{"id":116,"kind":"semantic-declaration"},{"id":117,"kind":"semantic-declaration"},{"id":118,"kind":"semantic-declaration"},{"id":119,"kind":"semantic-declaration"},{"id":120,"kind":"semantic-declaration"},{"id":121,"kind":"semantic-declaration"},{"id":122,"kind":"semantic-declaration"},{"id":123,"kind":"semantic-declaration"},{"id":124,"kind":"semantic-declaration"},{"id":125,"kind":"semantic-declaration"},{"id":126,"kind":"semantic-declaration"},{"id":127,"kind":"semantic-declaration"},{"id":128,"kind":"semantic-declaration"},{"id":129,"kind":"semantic-declaration"},{"id":130,"kind":"semantic-declaration"},{"id":131,"kind":"semantic-declaration"},{"id":132,"kind":"semantic-declaration"},{"id":133,"kind":"semantic-declaration"},{"id":134,"kind":"semantic-declaration"},{"id":135,"kind":"semantic-declaration"},{"id":136,"kind":"semantic-declaration"},{"id":137,"kind":"semantic-declaration"},{"id":138,"kind":"semantic-declaration"},{"id":139,"kind":"semantic-declaration"},{"id":140,"kind":"semantic-declaration"},{"id":141,"kind":"semantic-declaration"},{"id":142,"kind":"semantic-declaration"},{"id":143,"kind":"semantic-declaration"},{"id":144,"kind":"semantic-declaration"},{"id":145,"kind":"semantic-declaration"},{"id":146,"kind":"semantic-declaration"},{"id":147,"kind":"semantic-declaration"},{"id":148,"kind":"semantic-declaration"},{"id":149,"kind":"semantic-declaration"},{"id":150,"kind":"semantic-declaration"},{"id":151,"kind":"semantic-declaration"},{"id":152,"kind":"semantic-declaration"},{"id":153,"kind":"semantic-declaration"},{"id":154,"kind":"semantic-declaration"},{"id":155,"kind":"semantic-declaration"},{"id":156,"kind":"semantic-declaration"},{"id":157,"kind":"semantic-declaration"},{"id":158,"kind":"semantic-declaration"},{"id":159,"kind":"semantic-declaration"},{"id":160,"kind":"semantic-declaration"},{"id":161,"kind":"semantic-declaration"},{"id":162,"kind":"semantic-declaration"},{"id":163,"kind":"semantic-declaration"},{"id":164,"kind":"semantic-declaration"},{"id":165,"kind":"semantic-declaration"},{"id":166,"kind":"semantic-declaration"},{"id":167,"kind":"semantic-declaration"},{"id":168,"kind":"semantic-declaration"},{"id":169,"kind":"semantic-declaration"},{"id":170,"kind":"semantic-declaration"},{"id":171,"kind":"semantic-declaration"},{"id":172,"kind":"semantic-declaration"},{"id":173,"kind":"semantic-declaration"},{"id":174,"kind":"semantic-latex-module"},{"id":175,"kind":"semantic-declaration"},{"id":176,"kind":"semantic-declaration"},{"id":177,"kind":"semantic-declaration"},{"id":178,"kind":"semantic-declaration"},{"id":179,"kind":"semantic-declaration"},{"id":180,"kind":"semantic-declaration"},{"id":181,"kind":"semantic-declaration"},{"id":182,"kind":"semantic-declaration"},{"id":183,"kind":"semantic-declaration"},{"id":184,"kind":"semantic-declaration"},{"id":185,"kind":"semantic-declaration"},{"id":186,"kind":"semantic-declaration"},{"id":187,"kind":"semantic-declaration"},{"id":188,"kind":"semantic-declaration"},{"id":189,"kind":"semantic-declaration"},{"id":190,"kind":"semantic-declaration"},{"id":191,"kind":"semantic-declaration"},{"id":192,"kind":"semantic-declaration"},{"id":193,"kind":"semantic-declaration"},{"id":194,"kind":"semantic-declaration"},{"id":195,"kind":"semantic-declaration"},{"id":196,"kind":"semantic-declaration"},{"id":197,"kind":"semantic-declaration"},{"id":198,"kind":"semantic-declaration"},{"id":199,"kind":"semantic-declaration"},{"id":200,"kind":"semantic-declaration"},{"id":201,"kind":"semantic-declaration"},{"id":202,"kind":"semantic-declaration"},{"id":203,"kind":"semantic-declaration"},{"id":204,"kind":"semantic-declaration"},{"id":205,"kind":"semantic-declaration"},{"id":206,"kind":"semantic-declaration"},{"id":207,"kind":"semantic-declaration"},{"id":208,"kind":"semantic-declaration"},{"id":209,"kind":"semantic-declaration"},{"id":210,"kind":"semantic-declaration"},{"id":211,"kind":"semantic-declaration"},{"id":212,"kind":"semantic-declaration"},{"id":213,"kind":"semantic-declaration"},{"id":214,"kind":"semantic-declaration"},{"id":215,"kind":"semantic-declaration"},{"id":216,"kind":"semantic-declaration"},{"id":217,"kind":"semantic-declaration"},{"id":218,"kind":"semantic-declaration"},{"id":219,"kind":"semantic-declaration"},{"id":220,"kind":"semantic-declaration"},{"id":221,"kind":"semantic-declaration"},{"id":222,"kind":"semantic-declaration"},{"id":223,"kind":"semantic-declaration"},{"id":224,"kind":"semantic-declaration"},{"id":225,"kind":"semantic-declaration"},{"id":226,"kind":"semantic-declaration"},{"id":227,"kind":"semantic-declaration"},{"id":228,"kind":"semantic-declaration"},{"id":229,"kind":"semantic-declaration"},{"id":230,"kind":"semantic-declaration"},{"id":231,"kind":"semantic-declaration"},{"id":232,"kind":"semantic-declaration"},{"id":233,"kind":"semantic-declaration"},{"id":234,"kind":"semantic-declaration"},{"id":235,"kind":"semantic-declaration"},{"id":236,"kind":"semantic-declaration"},{"id":237,"kind":"semantic-declaration"},{"id":238,"kind":"semantic-declaration"},{"id":239,"kind":"semantic-declaration"},{"id":240,"kind":"semantic-declaration"},{"id":241,"kind":"semantic-declaration"},{"id":242,"kind":"semantic-declaration"},{"id":243,"kind":"semantic-declaration"},{"id":244,"kind":"semantic-declaration"},{"id":245,"kind":"semantic-declaration"},{"id":246,"kind":"semantic-declaration"},{"id":247,"kind":"semantic-declaration"},{"id":248,"kind":"semantic-declaration"},{"id":249,"kind":"semantic-declaration"},{"id":250,"kind":"semantic-declaration"},{"id":251,"kind":"semantic-declaration"},{"id":252,"kind":"semantic-declaration"},{"id":253,"kind":"semantic-declaration"},{"id":254,"kind":"semantic-declaration"},{"id":255,"kind":"semantic-declaration"},{"id":256,"kind":"semantic-declaration"},{"id":257,"kind":"semantic-declaration"},{"id":258,"kind":"semantic-declaration"},{"id":259,"kind":"semantic-declaration"},{"id":260,"kind":"semantic-declaration"},{"id":261,"kind":"semantic-declaration"},{"id":262,"kind":"semantic-declaration"},{"id":263,"kind":"semantic-declaration"},{"id":264,"kind":"semantic-declaration"},{"id":265,"kind":"semantic-declaration"},{"id":266,"kind":"semantic-declaration"},{"id":267,"kind":"semantic-declaration"},{"id":268,"kind":"semantic-declaration"},{"id":269,"kind":"semantic-declaration"},{"id":270,"kind":"semantic-declaration"},{"id":271,"kind":"semantic-declaration"},{"id":272,"kind":"semantic-declaration"},{"id":273,"kind":"semantic-declaration"},{"id":274,"kind":"semantic-declaration"},{"id":275,"kind":"semantic-declaration"},{"id":276,"kind":"semantic-declaration"},{"id":277,"kind":"semantic-declaration"},{"id":278,"kind":"semantic-declaration"},{"id":279,"kind":"semantic-declaration"},{"id":280,"kind":"semantic-declaration"},{"id":281,"kind":"semantic-declaration"},{"id":282,"kind":"semantic-declaration"},{"id":283,"kind":"semantic-declaration"},{"id":284,"kind":"semantic-declaration"},{"id":285,"kind":"semantic-declaration"},{"id":286,"kind":"semantic-declaration"},{"id":287,"kind":"semantic-declaration"},{"id":288,"kind":"semantic-declaration"},{"id":289,"kind":"semantic-declaration"},{"id":290,"kind":"semantic-declaration"},{"id":291,"kind":"semantic-declaration"},{"id":292,"kind":"semantic-declaration"},{"id":293,"kind":"semantic-declaration"},{"id":294,"kind":"semantic-declaration"},{"id":295,"kind":"semantic-declaration"},{"id":296,"kind":"semantic-declaration"},{"id":297,"kind":"semantic-declaration"},{"id":298,"kind":"semantic-declaration"},{"id":299,"kind":"semantic-declaration"},{"id":300,"kind":"semantic-declaration"},{"id":301,"kind":"semantic-declaration"},{"id":302,"kind":"semantic-declaration"},{"id":303,"kind":"semantic-declaration"},{"id":304,"kind":"semantic-declaration"},{"id":305,"kind":"semantic-declaration"},{"id":306,"kind":"semantic-declaration"},{"id":307,"kind":"semantic-declaration"},{"id":308,"kind":"semantic-declaration"},{"id":309,"kind":"semantic-declaration"},{"id":310,"kind":"semantic-declaration"},{"id":311,"kind":"semantic-declaration"},{"id":312,"kind":"semantic-declaration"},{"id":313,"kind":"semantic-declaration"},{"id":314,"kind":"semantic-declaration"},{"id":315,"kind":"semantic-declaration"},{"id":316,"kind":"semantic-declaration"},{"id":317,"kind":"semantic-declaration"},{"id":318,"kind":"semantic-declaration"},{"id":319,"kind":"semantic-declaration"},{"id":320,"kind":"semantic-declaration"},{"id":321,"kind":"semantic-declaration"},{"id":322,"kind":"semantic-declaration"},{"id":323,"kind":"semantic-declaration"},{"id":324,"kind":"semantic-declaration"},{"id":325,"kind":"semantic-declaration"},{"id":326,"kind":"semantic-declaration"},{"id":327,"kind":"semantic-declaration"},{"id":328,"kind":"semantic-declaration"},{"id":329,"kind":"semantic-declaration"},{"id":330,"kind":"semantic-declaration"},{"id":331,"kind":"semantic-declaration"},{"id":332,"kind":"semantic-declaration"},{"id":333,"kind":"semantic-declaration"},{"id":334,"kind":"semantic-declaration"},{"id":335,"kind":"semantic-declaration"},{"id":336,"kind":"semantic-declaration"},{"id":337,"kind":"semantic-declaration"},{"id":338,"kind":"semantic-declaration"},{"id":339,"kind":"semantic-declaration"},{"id":340,"kind":"semantic-declaration"},{"id":341,"kind":"semantic-declaration"},{"id":342,"kind":"semantic-declaration"},{"id":343,"kind":"semantic-declaration"},{"id":344,"kind":"semantic-declaration"},{"id":345,"kind":"semantic-declaration"},{"id":346,"kind":"semantic-declaration"},{"id":347,"kind":"semantic-declaration"}],"semantic_id":"db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9","source_id":"2f76ada498f17258f8a526df0820565414e563312654a2a7396b586dd3b407d1","sources":[{"id":0,"kind":"file","path":"src/GnafCertificates.lex.tex","sha256":"498dafa5093f56f0a05bbddb58875aebc0769325386f2ca611f3a101d9368f64"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/GnafCertificates.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/GnafCertificates.tex"}],"mappings":[{"artifact":0,"gen_end":414,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":105623,"src_start":0},{"artifact":0,"gen_end":1247,"gen_start":414,"node":1,"role":"declaration","source":0,"src_end":1053,"src_start":261},{"artifact":0,"gen_end":1546,"gen_start":1247,"node":2,"role":"declaration","source":0,"src_end":1401,"src_start":1055},{"artifact":0,"gen_end":2308,"gen_start":1546,"node":3,"role":"declaration","source":0,"src_end":2136,"src_start":1403},{"artifact":0,"gen_end":2653,"gen_start":2308,"node":4,"role":"declaration","source":0,"src_end":2528,"src_start":2138},{"artifact":0,"gen_end":3488,"gen_start":2653,"node":5,"role":"declaration","source":0,"src_end":3324,"src_start":2530},{"artifact":0,"gen_end":3829,"gen_start":3488,"node":6,"role":"declaration","source":0,"src_end":3714,"src_start":3326},{"artifact":0,"gen_end":4664,"gen_start":3829,"node":7,"role":"declaration","source":0,"src_end":4510,"src_start":3716},{"artifact":0,"gen_end":5001,"gen_start":4664,"node":8,"role":"declaration","source":0,"src_end":4898,"src_start":4512},{"artifact":0,"gen_end":6126,"gen_start":5001,"node":9,"role":"declaration","source":0,"src_end":5944,"src_start":4900},{"artifact":0,"gen_end":6465,"gen_start":6126,"node":10,"role":"declaration","source":0,"src_end":6332,"src_start":5946},{"artifact":0,"gen_end":6673,"gen_start":6465,"node":11,"role":"declaration","source":0,"src_end":6613,"src_start":6334},{"artifact":0,"gen_end":7508,"gen_start":6673,"node":12,"role":"declaration","source":0,"src_end":7409,"src_start":6615},{"artifact":0,"gen_end":7856,"gen_start":7508,"node":13,"role":"declaration","source":0,"src_end":7802,"src_start":7411},{"artifact":0,"gen_end":8693,"gen_start":7856,"node":14,"role":"declaration","source":0,"src_end":8598,"src_start":7804},{"artifact":0,"gen_end":9028,"gen_start":8693,"node":15,"role":"declaration","source":0,"src_end":8982,"src_start":8600},{"artifact":0,"gen_end":9962,"gen_start":9028,"node":16,"role":"declaration","source":0,"src_end":9869,"src_start":8984},{"artifact":0,"gen_end":10306,"gen_start":9962,"node":17,"role":"declaration","source":0,"src_end":10262,"src_start":9871},{"artifact":0,"gen_end":11139,"gen_start":10306,"node":18,"role":"declaration","source":0,"src_end":11056,"src_start":10264},{"artifact":0,"gen_end":11474,"gen_start":11139,"node":19,"role":"declaration","source":0,"src_end":11440,"src_start":11058},{"artifact":0,"gen_end":12603,"gen_start":11474,"node":20,"role":"declaration","source":0,"src_end":12487,"src_start":11442},{"artifact":0,"gen_end":12869,"gen_start":12603,"node":21,"role":"declaration","source":0,"src_end":12812,"src_start":12489},{"artifact":0,"gen_end":13673,"gen_start":12869,"node":22,"role":"declaration","source":0,"src_end":13560,"src_start":12814},{"artifact":0,"gen_end":14036,"gen_start":13673,"node":23,"role":"declaration","source":0,"src_end":13972,"src_start":13562},{"artifact":0,"gen_end":14868,"gen_start":14036,"node":24,"role":"declaration","source":0,"src_end":14740,"src_start":13974},{"artifact":0,"gen_end":15218,"gen_start":14868,"node":25,"role":"declaration","source":0,"src_end":15141,"src_start":14742},{"artifact":0,"gen_end":16036,"gen_start":15218,"node":26,"role":"declaration","source":0,"src_end":15891,"src_start":15143},{"artifact":0,"gen_end":16393,"gen_start":16036,"node":27,"role":"declaration","source":0,"src_end":16297,"src_start":15893},{"artifact":0,"gen_end":17223,"gen_start":16393,"node":28,"role":"declaration","source":0,"src_end":17059,"src_start":16299},{"artifact":0,"gen_end":17575,"gen_start":17223,"node":29,"role":"declaration","source":0,"src_end":17460,"src_start":17061},{"artifact":0,"gen_end":18403,"gen_start":17575,"node":30,"role":"declaration","source":0,"src_end":18222,"src_start":17462},{"artifact":0,"gen_end":18759,"gen_start":18403,"node":31,"role":"declaration","source":0,"src_end":18629,"src_start":18224},{"artifact":0,"gen_end":19562,"gen_start":18759,"node":32,"role":"declaration","source":0,"src_end":19372,"src_start":18631},{"artifact":0,"gen_end":19920,"gen_start":19562,"node":33,"role":"declaration","source":0,"src_end":19779,"src_start":19374},{"artifact":0,"gen_end":21009,"gen_start":19920,"node":34,"role":"declaration","source":0,"src_end":20792,"src_start":19781},{"artifact":0,"gen_end":21328,"gen_start":21009,"node":35,"role":"declaration","source":0,"src_end":21164,"src_start":20794},{"artifact":0,"gen_end":22148,"gen_start":21328,"node":36,"role":"declaration","source":0,"src_end":21916,"src_start":21166},{"artifact":0,"gen_end":22502,"gen_start":22148,"node":37,"role":"declaration","source":0,"src_end":22319,"src_start":21918},{"artifact":0,"gen_end":24146,"gen_start":22502,"node":38,"role":"declaration","source":0,"src_end":23855,"src_start":22321},{"artifact":0,"gen_end":24442,"gen_start":24146,"node":39,"role":"declaration","source":0,"src_end":24206,"src_start":23857},{"artifact":0,"gen_end":26086,"gen_start":24442,"node":40,"role":"declaration","source":0,"src_end":25740,"src_start":24208},{"artifact":0,"gen_end":26429,"gen_start":26086,"node":41,"role":"declaration","source":0,"src_end":26132,"src_start":25742},{"artifact":0,"gen_end":27320,"gen_start":26429,"node":42,"role":"declaration","source":0,"src_end":26955,"src_start":26134},{"artifact":0,"gen_end":27681,"gen_start":27320,"node":43,"role":"declaration","source":0,"src_end":27365,"src_start":26957},{"artifact":0,"gen_end":28568,"gen_start":27681,"node":44,"role":"declaration","source":0,"src_end":28182,"src_start":27367},{"artifact":0,"gen_end":28935,"gen_start":28568,"node":45,"role":"declaration","source":0,"src_end":28598,"src_start":28184},{"artifact":0,"gen_end":29752,"gen_start":28935,"node":46,"role":"declaration","source":0,"src_end":29349,"src_start":28600},{"artifact":0,"gen_end":30060,"gen_start":29752,"node":47,"role":"declaration","source":0,"src_end":29712,"src_start":29351},{"artifact":0,"gen_end":31192,"gen_start":30060,"node":48,"role":"declaration","source":0,"src_end":30762,"src_start":29714},{"artifact":0,"gen_end":31491,"gen_start":31192,"node":49,"role":"declaration","source":0,"src_end":31110,"src_start":30764},{"artifact":0,"gen_end":32368,"gen_start":31491,"node":50,"role":"declaration","source":0,"src_end":31915,"src_start":31112},{"artifact":0,"gen_end":32667,"gen_start":32368,"node":51,"role":"declaration","source":0,"src_end":32263,"src_start":31917},{"artifact":0,"gen_end":33801,"gen_start":32667,"node":52,"role":"declaration","source":0,"src_end":33315,"src_start":32265},{"artifact":0,"gen_end":34110,"gen_start":33801,"node":53,"role":"declaration","source":0,"src_end":33673,"src_start":33317},{"artifact":0,"gen_end":35799,"gen_start":34110,"node":54,"role":"declaration","source":0,"src_end":35248,"src_start":33675},{"artifact":0,"gen_end":36090,"gen_start":35799,"node":55,"role":"declaration","source":0,"src_end":35590,"src_start":35250},{"artifact":0,"gen_end":37229,"gen_start":36090,"node":56,"role":"declaration","source":0,"src_end":36649,"src_start":35592},{"artifact":0,"gen_end":37569,"gen_start":37229,"node":57,"role":"declaration","source":0,"src_end":37040,"src_start":36651},{"artifact":0,"gen_end":38752,"gen_start":37569,"node":58,"role":"declaration","source":0,"src_end":38139,"src_start":37042},{"artifact":0,"gen_end":39096,"gen_start":38752,"node":59,"role":"declaration","source":0,"src_end":38532,"src_start":38141},{"artifact":0,"gen_end":40240,"gen_start":39096,"node":60,"role":"declaration","source":0,"src_end":39596,"src_start":38534},{"artifact":0,"gen_end":40586,"gen_start":40240,"node":61,"role":"declaration","source":0,"src_end":39993,"src_start":39598},{"artifact":0,"gen_end":42284,"gen_start":40586,"node":62,"role":"declaration","source":0,"src_end":41577,"src_start":39995},{"artifact":0,"gen_end":42622,"gen_start":42284,"node":63,"role":"declaration","source":0,"src_end":41966,"src_start":41579},{"artifact":0,"gen_end":43421,"gen_start":42622,"node":64,"role":"declaration","source":0,"src_end":42693,"src_start":41968},{"artifact":0,"gen_end":43775,"gen_start":43421,"node":65,"role":"declaration","source":0,"src_end":43090,"src_start":42695},{"artifact":0,"gen_end":44861,"gen_start":43775,"node":66,"role":"declaration","source":0,"src_end":44094,"src_start":43092},{"artifact":0,"gen_end":45217,"gen_start":44861,"node":67,"role":"declaration","source":0,"src_end":44493,"src_start":44096},{"artifact":0,"gen_end":46303,"gen_start":45217,"node":68,"role":"declaration","source":0,"src_end":45497,"src_start":44495},{"artifact":0,"gen_end":46659,"gen_start":46303,"node":69,"role":"declaration","source":0,"src_end":45896,"src_start":45499},{"artifact":0,"gen_end":47790,"gen_start":46659,"node":70,"role":"declaration","source":0,"src_end":46957,"src_start":45898},{"artifact":0,"gen_end":48152,"gen_start":47790,"node":71,"role":"declaration","source":0,"src_end":47362,"src_start":46959},{"artifact":0,"gen_end":49331,"gen_start":48152,"node":72,"role":"declaration","source":0,"src_end":48455,"src_start":47364},{"artifact":0,"gen_end":49602,"gen_start":49331,"node":73,"role":"declaration","source":0,"src_end":48783,"src_start":48457},{"artifact":0,"gen_end":50230,"gen_start":49602,"node":74,"role":"declaration","source":0,"src_end":49359,"src_start":48785},{"artifact":0,"gen_end":50583,"gen_start":50230,"node":75,"role":"declaration","source":0,"src_end":49761,"src_start":49361},{"artifact":0,"gen_end":51754,"gen_start":50583,"node":76,"role":"declaration","source":0,"src_end":50846,"src_start":49763},{"artifact":0,"gen_end":52081,"gen_start":51754,"node":77,"role":"declaration","source":0,"src_end":51224,"src_start":50848},{"artifact":0,"gen_end":53261,"gen_start":52081,"node":78,"role":"declaration","source":0,"src_end":52308,"src_start":51226},{"artifact":0,"gen_end":53565,"gen_start":53261,"node":79,"role":"declaration","source":0,"src_end":52661,"src_start":52310},{"artifact":0,"gen_end":54739,"gen_start":53565,"node":80,"role":"declaration","source":0,"src_end":53765,"src_start":52663},{"artifact":0,"gen_end":55043,"gen_start":54739,"node":81,"role":"declaration","source":0,"src_end":54118,"src_start":53767},{"artifact":0,"gen_end":56067,"gen_start":55043,"node":82,"role":"declaration","source":0,"src_end":55054,"src_start":54120},{"artifact":0,"gen_end":56442,"gen_start":56067,"node":83,"role":"declaration","source":0,"src_end":55472,"src_start":55056},{"artifact":0,"gen_end":57586,"gen_start":56442,"node":84,"role":"declaration","source":0,"src_end":56536,"src_start":55474},{"artifact":0,"gen_end":57948,"gen_start":57586,"node":85,"role":"declaration","source":0,"src_end":56941,"src_start":56538},{"artifact":0,"gen_end":59152,"gen_start":57948,"node":86,"role":"declaration","source":0,"src_end":58083,"src_start":56943},{"artifact":0,"gen_end":59510,"gen_start":59152,"node":87,"role":"declaration","source":0,"src_end":58484,"src_start":58085},{"artifact":0,"gen_end":60540,"gen_start":59510,"node":88,"role":"declaration","source":0,"src_end":59438,"src_start":58486},{"artifact":0,"gen_end":60817,"gen_start":60540,"node":89,"role":"declaration","source":0,"src_end":59772,"src_start":59440},{"artifact":0,"gen_end":61921,"gen_start":60817,"node":90,"role":"declaration","source":0,"src_end":60786,"src_start":59774},{"artifact":0,"gen_end":62275,"gen_start":61921,"node":91,"role":"declaration","source":0,"src_end":61183,"src_start":60788},{"artifact":0,"gen_end":63326,"gen_start":62275,"node":92,"role":"declaration","source":0,"src_end":62128,"src_start":61185},{"artifact":0,"gen_end":63638,"gen_start":63326,"node":93,"role":"declaration","source":0,"src_end":62489,"src_start":62130},{"artifact":0,"gen_end":65372,"gen_start":63638,"node":94,"role":"declaration","source":0,"src_end":64105,"src_start":62491},{"artifact":0,"gen_end":65708,"gen_start":65372,"node":95,"role":"declaration","source":0,"src_end":64484,"src_start":64107},{"artifact":0,"gen_end":67391,"gen_start":65708,"node":96,"role":"declaration","source":0,"src_end":66051,"src_start":64486},{"artifact":0,"gen_end":67728,"gen_start":67391,"node":97,"role":"declaration","source":0,"src_end":66431,"src_start":66053},{"artifact":0,"gen_end":68855,"gen_start":67728,"node":98,"role":"declaration","source":0,"src_end":67476,"src_start":66433},{"artifact":0,"gen_end":69203,"gen_start":68855,"node":99,"role":"declaration","source":0,"src_end":67867,"src_start":67478},{"artifact":0,"gen_end":70328,"gen_start":69203,"node":100,"role":"declaration","source":0,"src_end":68910,"src_start":67869},{"artifact":0,"gen_end":70670,"gen_start":70328,"node":101,"role":"declaration","source":0,"src_end":69295,"src_start":68912},{"artifact":0,"gen_end":71797,"gen_start":70670,"node":102,"role":"declaration","source":0,"src_end":70354,"src_start":69297},{"artifact":0,"gen_end":72161,"gen_start":71797,"node":103,"role":"declaration","source":0,"src_end":70761,"src_start":70356},{"artifact":0,"gen_end":73256,"gen_start":72161,"node":104,"role":"declaration","source":0,"src_end":71762,"src_start":70763},{"artifact":0,"gen_end":73620,"gen_start":73256,"node":105,"role":"declaration","source":0,"src_end":72169,"src_start":71764},{"artifact":0,"gen_end":74499,"gen_start":73620,"node":106,"role":"declaration","source":0,"src_end":72976,"src_start":72171},{"artifact":0,"gen_end":74859,"gen_start":74499,"node":107,"role":"declaration","source":0,"src_end":73379,"src_start":72978},{"artifact":0,"gen_end":75819,"gen_start":74859,"node":108,"role":"declaration","source":0,"src_end":74225,"src_start":73381},{"artifact":0,"gen_end":76164,"gen_start":75819,"node":109,"role":"declaration","source":0,"src_end":74619,"src_start":74227},{"artifact":0,"gen_end":77128,"gen_start":76164,"node":110,"role":"declaration","source":0,"src_end":75469,"src_start":74621},{"artifact":0,"gen_end":77483,"gen_start":77128,"node":111,"role":"declaration","source":0,"src_end":75869,"src_start":75471},{"artifact":0,"gen_end":78444,"gen_start":77483,"node":112,"role":"declaration","source":0,"src_end":76716,"src_start":75871},{"artifact":0,"gen_end":78791,"gen_start":78444,"node":113,"role":"declaration","source":0,"src_end":77112,"src_start":76718},{"artifact":0,"gen_end":79923,"gen_start":78791,"node":114,"role":"declaration","source":0,"src_end":78162,"src_start":77114},{"artifact":0,"gen_end":80201,"gen_start":79923,"node":115,"role":"declaration","source":0,"src_end":78499,"src_start":78164},{"artifact":0,"gen_end":81239,"gen_start":80201,"node":116,"role":"declaration","source":0,"src_end":79443,"src_start":78501},{"artifact":0,"gen_end":81607,"gen_start":81239,"node":117,"role":"declaration","source":0,"src_end":79860,"src_start":79445},{"artifact":0,"gen_end":81840,"gen_start":81607,"node":118,"role":"declaration","source":0,"src_end":80166,"src_start":79862},{"artifact":0,"gen_end":82878,"gen_start":81840,"node":119,"role":"declaration","source":0,"src_end":81114,"src_start":80168},{"artifact":0,"gen_end":83234,"gen_start":82878,"node":120,"role":"declaration","source":0,"src_end":81519,"src_start":81116},{"artifact":0,"gen_end":83454,"gen_start":83234,"node":121,"role":"declaration","source":0,"src_end":81812,"src_start":81521},{"artifact":0,"gen_end":84538,"gen_start":83454,"node":122,"role":"declaration","source":0,"src_end":82794,"src_start":81814},{"artifact":0,"gen_end":84894,"gen_start":84538,"node":123,"role":"declaration","source":0,"src_end":83199,"src_start":82796},{"artifact":0,"gen_end":85115,"gen_start":84894,"node":124,"role":"declaration","source":0,"src_end":83493,"src_start":83201},{"artifact":0,"gen_end":86051,"gen_start":85115,"node":125,"role":"declaration","source":0,"src_end":84351,"src_start":83495},{"artifact":0,"gen_end":86362,"gen_start":86051,"node":126,"role":"declaration","source":0,"src_end":84711,"src_start":84353},{"artifact":0,"gen_end":86577,"gen_start":86362,"node":127,"role":"declaration","source":0,"src_end":84999,"src_start":84713},{"artifact":0,"gen_end":87427,"gen_start":86577,"node":128,"role":"declaration","source":0,"src_end":85787,"src_start":85001},{"artifact":0,"gen_end":87783,"gen_start":87427,"node":129,"role":"declaration","source":0,"src_end":86192,"src_start":85789},{"artifact":0,"gen_end":88624,"gen_start":87783,"node":130,"role":"declaration","source":0,"src_end":86971,"src_start":86194},{"artifact":0,"gen_end":88931,"gen_start":88624,"node":131,"role":"declaration","source":0,"src_end":87331,"src_start":86973},{"artifact":0,"gen_end":89970,"gen_start":88931,"node":132,"role":"declaration","source":0,"src_end":88276,"src_start":87333},{"artifact":0,"gen_end":90285,"gen_start":89970,"node":133,"role":"declaration","source":0,"src_end":88640,"src_start":88278},{"artifact":0,"gen_end":90505,"gen_start":90285,"node":134,"role":"declaration","source":0,"src_end":88933,"src_start":88642},{"artifact":0,"gen_end":91557,"gen_start":90505,"node":135,"role":"declaration","source":0,"src_end":89891,"src_start":88935},{"artifact":0,"gen_end":91914,"gen_start":91557,"node":136,"role":"declaration","source":0,"src_end":90297,"src_start":89893},{"artifact":0,"gen_end":92136,"gen_start":91914,"node":137,"role":"declaration","source":0,"src_end":90592,"src_start":90299},{"artifact":0,"gen_end":93178,"gen_start":92136,"node":138,"role":"declaration","source":0,"src_end":91540,"src_start":90594},{"artifact":0,"gen_end":93488,"gen_start":93178,"node":139,"role":"declaration","source":0,"src_end":91899,"src_start":91542},{"artifact":0,"gen_end":93703,"gen_start":93488,"node":140,"role":"declaration","source":0,"src_end":92187,"src_start":91901},{"artifact":0,"gen_end":94245,"gen_start":93703,"node":141,"role":"declaration","source":0,"src_end":92691,"src_start":92189},{"artifact":0,"gen_end":94572,"gen_start":94245,"node":142,"role":"declaration","source":0,"src_end":93069,"src_start":92693},{"artifact":0,"gen_end":95214,"gen_start":94572,"node":143,"role":"declaration","source":0,"src_end":93661,"src_start":93071},{"artifact":0,"gen_end":95547,"gen_start":95214,"node":144,"role":"declaration","source":0,"src_end":94045,"src_start":93663},{"artifact":0,"gen_end":95768,"gen_start":95547,"node":145,"role":"declaration","source":0,"src_end":94339,"src_start":94047},{"artifact":0,"gen_end":96897,"gen_start":95768,"node":146,"role":"declaration","source":0,"src_end":95386,"src_start":94341},{"artifact":0,"gen_end":97164,"gen_start":96897,"node":147,"role":"declaration","source":0,"src_end":95712,"src_start":95388},{"artifact":0,"gen_end":98293,"gen_start":97164,"node":148,"role":"declaration","source":0,"src_end":96761,"src_start":95714},{"artifact":0,"gen_end":98571,"gen_start":98293,"node":149,"role":"declaration","source":0,"src_end":97098,"src_start":96763},{"artifact":0,"gen_end":99457,"gen_start":98571,"node":150,"role":"declaration","source":0,"src_end":97914,"src_start":97100},{"artifact":0,"gen_end":99747,"gen_start":99457,"node":151,"role":"declaration","source":0,"src_end":98263,"src_start":97916},{"artifact":0,"gen_end":100876,"gen_start":99747,"node":152,"role":"declaration","source":0,"src_end":99310,"src_start":98265},{"artifact":0,"gen_end":101142,"gen_start":100876,"node":153,"role":"declaration","source":0,"src_end":99635,"src_start":99312},{"artifact":0,"gen_end":102273,"gen_start":101142,"node":154,"role":"declaration","source":0,"src_end":100684,"src_start":99637},{"artifact":0,"gen_end":102548,"gen_start":102273,"node":155,"role":"declaration","source":0,"src_end":101018,"src_start":100686},{"artifact":0,"gen_end":102742,"gen_start":102548,"node":156,"role":"declaration","source":0,"src_end":101279,"src_start":101020},{"artifact":0,"gen_end":102938,"gen_start":102742,"node":157,"role":"declaration","source":0,"src_end":101542,"src_start":101281},{"artifact":0,"gen_end":103133,"gen_start":102938,"node":158,"role":"declaration","source":0,"src_end":101804,"src_start":101544},{"artifact":0,"gen_end":103329,"gen_start":103133,"node":159,"role":"declaration","source":0,"src_end":102067,"src_start":101806},{"artifact":0,"gen_end":103523,"gen_start":103329,"node":160,"role":"declaration","source":0,"src_end":102328,"src_start":102069},{"artifact":0,"gen_end":103718,"gen_start":103523,"node":161,"role":"declaration","source":0,"src_end":102590,"src_start":102330},{"artifact":0,"gen_end":103912,"gen_start":103718,"node":162,"role":"declaration","source":0,"src_end":102851,"src_start":102592},{"artifact":0,"gen_end":104108,"gen_start":103912,"node":163,"role":"declaration","source":0,"src_end":103114,"src_start":102853},{"artifact":0,"gen_end":104302,"gen_start":104108,"node":164,"role":"declaration","source":0,"src_end":103375,"src_start":103116},{"artifact":0,"gen_end":104497,"gen_start":104302,"node":165,"role":"declaration","source":0,"src_end":103637,"src_start":103377},{"artifact":0,"gen_end":104677,"gen_start":104497,"node":166,"role":"declaration","source":0,"src_end":103884,"src_start":103639},{"artifact":0,"gen_end":104859,"gen_start":104677,"node":167,"role":"declaration","source":0,"src_end":104133,"src_start":103886},{"artifact":0,"gen_end":105039,"gen_start":104859,"node":168,"role":"declaration","source":0,"src_end":104380,"src_start":104135},{"artifact":0,"gen_end":105220,"gen_start":105039,"node":169,"role":"declaration","source":0,"src_end":104628,"src_start":104382},{"artifact":0,"gen_end":105392,"gen_start":105220,"node":170,"role":"declaration","source":0,"src_end":104867,"src_start":104630},{"artifact":0,"gen_end":105566,"gen_start":105392,"node":171,"role":"declaration","source":0,"src_end":105108,"src_start":104869},{"artifact":0,"gen_end":105738,"gen_start":105566,"node":172,"role":"declaration","source":0,"src_end":105347,"src_start":105110},{"artifact":0,"gen_end":105911,"gen_start":105738,"node":173,"role":"declaration","source":0,"src_end":105587,"src_start":105349},{"artifact":0,"gen_end":105947,"gen_start":105911,"node":0,"role":"declaration","source":0,"src_end":105623,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":174,"role":"declaration","source":0,"src_end":105623,"src_start":0},{"artifact":1,"gen_end":1129,"gen_start":134,"node":175,"role":"declaration","source":0,"src_end":1053,"src_start":261},{"artifact":1,"gen_end":1578,"gen_start":1129,"node":176,"role":"declaration","source":0,"src_end":1401,"src_start":1055},{"artifact":1,"gen_end":2500,"gen_start":1578,"node":177,"role":"declaration","source":0,"src_end":2136,"src_start":1403},{"artifact":1,"gen_end":2995,"gen_start":2500,"node":178,"role":"declaration","source":0,"src_end":2528,"src_start":2138},{"artifact":1,"gen_end":3992,"gen_start":2995,"node":179,"role":"declaration","source":0,"src_end":3324,"src_start":2530},{"artifact":1,"gen_end":4483,"gen_start":3992,"node":180,"role":"declaration","source":0,"src_end":3714,"src_start":3326},{"artifact":1,"gen_end":5480,"gen_start":4483,"node":181,"role":"declaration","source":0,"src_end":4510,"src_start":3716},{"artifact":1,"gen_end":5967,"gen_start":5480,"node":182,"role":"declaration","source":0,"src_end":4898,"src_start":4512},{"artifact":1,"gen_end":7254,"gen_start":5967,"node":183,"role":"declaration","source":0,"src_end":5944,"src_start":4900},{"artifact":1,"gen_end":7743,"gen_start":7254,"node":184,"role":"declaration","source":0,"src_end":6332,"src_start":5946},{"artifact":1,"gen_end":8101,"gen_start":7743,"node":185,"role":"declaration","source":0,"src_end":6613,"src_start":6334},{"artifact":1,"gen_end":9098,"gen_start":8101,"node":186,"role":"declaration","source":0,"src_end":7409,"src_start":6615},{"artifact":1,"gen_end":9596,"gen_start":9098,"node":187,"role":"declaration","source":0,"src_end":7802,"src_start":7411},{"artifact":1,"gen_end":10595,"gen_start":9596,"node":188,"role":"declaration","source":0,"src_end":8598,"src_start":7804},{"artifact":1,"gen_end":11080,"gen_start":10595,"node":189,"role":"declaration","source":0,"src_end":8982,"src_start":8600},{"artifact":1,"gen_end":12176,"gen_start":11080,"node":190,"role":"declaration","source":0,"src_end":9869,"src_start":8984},{"artifact":1,"gen_end":12670,"gen_start":12176,"node":191,"role":"declaration","source":0,"src_end":10262,"src_start":9871},{"artifact":1,"gen_end":13665,"gen_start":12670,"node":192,"role":"declaration","source":0,"src_end":11056,"src_start":10264},{"artifact":1,"gen_end":14150,"gen_start":13665,"node":193,"role":"declaration","source":0,"src_end":11440,"src_start":11058},{"artifact":1,"gen_end":15439,"gen_start":14150,"node":194,"role":"declaration","source":0,"src_end":12487,"src_start":11442},{"artifact":1,"gen_end":15855,"gen_start":15439,"node":195,"role":"declaration","source":0,"src_end":12812,"src_start":12489},{"artifact":1,"gen_end":16819,"gen_start":15855,"node":196,"role":"declaration","source":0,"src_end":13560,"src_start":12814},{"artifact":1,"gen_end":17332,"gen_start":16819,"node":197,"role":"declaration","source":0,"src_end":13972,"src_start":13562},{"artifact":1,"gen_end":18324,"gen_start":17332,"node":198,"role":"declaration","source":0,"src_end":14740,"src_start":13974},{"artifact":1,"gen_end":18824,"gen_start":18324,"node":199,"role":"declaration","source":0,"src_end":15141,"src_start":14742},{"artifact":1,"gen_end":19802,"gen_start":18824,"node":200,"role":"declaration","source":0,"src_end":15891,"src_start":15143},{"artifact":1,"gen_end":20309,"gen_start":19802,"node":201,"role":"declaration","source":0,"src_end":16297,"src_start":15893},{"artifact":1,"gen_end":21299,"gen_start":20309,"node":202,"role":"declaration","source":0,"src_end":17059,"src_start":16299},{"artifact":1,"gen_end":21801,"gen_start":21299,"node":203,"role":"declaration","source":0,"src_end":17460,"src_start":17061},{"artifact":1,"gen_end":22789,"gen_start":21801,"node":204,"role":"declaration","source":0,"src_end":18222,"src_start":17462},{"artifact":1,"gen_end":23295,"gen_start":22789,"node":205,"role":"declaration","source":0,"src_end":18629,"src_start":18224},{"artifact":1,"gen_end":24258,"gen_start":23295,"node":206,"role":"declaration","source":0,"src_end":19372,"src_start":18631},{"artifact":1,"gen_end":24766,"gen_start":24258,"node":207,"role":"declaration","source":0,"src_end":19779,"src_start":19374},{"artifact":1,"gen_end":26015,"gen_start":24766,"node":208,"role":"declaration","source":0,"src_end":20792,"src_start":19781},{"artifact":1,"gen_end":26484,"gen_start":26015,"node":209,"role":"declaration","source":0,"src_end":21164,"src_start":20794},{"artifact":1,"gen_end":27464,"gen_start":26484,"node":210,"role":"declaration","source":0,"src_end":21916,"src_start":21166},{"artifact":1,"gen_end":27968,"gen_start":27464,"node":211,"role":"declaration","source":0,"src_end":22319,"src_start":21918},{"artifact":1,"gen_end":29772,"gen_start":27968,"node":212,"role":"declaration","source":0,"src_end":23855,"src_start":22321},{"artifact":1,"gen_end":30218,"gen_start":29772,"node":213,"role":"declaration","source":0,"src_end":24206,"src_start":23857},{"artifact":1,"gen_end":32022,"gen_start":30218,"node":214,"role":"declaration","source":0,"src_end":25740,"src_start":24208},{"artifact":1,"gen_end":32515,"gen_start":32022,"node":215,"role":"declaration","source":0,"src_end":26132,"src_start":25742},{"artifact":1,"gen_end":33566,"gen_start":32515,"node":216,"role":"declaration","source":0,"src_end":26955,"src_start":26134},{"artifact":1,"gen_end":34077,"gen_start":33566,"node":217,"role":"declaration","source":0,"src_end":27365,"src_start":26957},{"artifact":1,"gen_end":35124,"gen_start":34077,"node":218,"role":"declaration","source":0,"src_end":28182,"src_start":27367},{"artifact":1,"gen_end":35641,"gen_start":35124,"node":219,"role":"declaration","source":0,"src_end":28598,"src_start":28184},{"artifact":1,"gen_end":36618,"gen_start":35641,"node":220,"role":"declaration","source":0,"src_end":29349,"src_start":28600},{"artifact":1,"gen_end":37076,"gen_start":36618,"node":221,"role":"declaration","source":0,"src_end":29712,"src_start":29351},{"artifact":1,"gen_end":38368,"gen_start":37076,"node":222,"role":"declaration","source":0,"src_end":30762,"src_start":29714},{"artifact":1,"gen_end":38817,"gen_start":38368,"node":223,"role":"declaration","source":0,"src_end":31110,"src_start":30764},{"artifact":1,"gen_end":39854,"gen_start":38817,"node":224,"role":"declaration","source":0,"src_end":31915,"src_start":31112},{"artifact":1,"gen_end":40303,"gen_start":39854,"node":225,"role":"declaration","source":0,"src_end":32263,"src_start":31917},{"artifact":1,"gen_end":41597,"gen_start":40303,"node":226,"role":"declaration","source":0,"src_end":33315,"src_start":32265},{"artifact":1,"gen_end":42056,"gen_start":41597,"node":227,"role":"declaration","source":0,"src_end":33673,"src_start":33317},{"artifact":1,"gen_end":43905,"gen_start":42056,"node":228,"role":"declaration","source":0,"src_end":35248,"src_start":33675},{"artifact":1,"gen_end":44346,"gen_start":43905,"node":229,"role":"declaration","source":0,"src_end":35590,"src_start":35250},{"artifact":1,"gen_end":45645,"gen_start":44346,"node":230,"role":"declaration","source":0,"src_end":36649,"src_start":35592},{"artifact":1,"gen_end":46135,"gen_start":45645,"node":231,"role":"declaration","source":0,"src_end":37040,"src_start":36651},{"artifact":1,"gen_end":47478,"gen_start":46135,"node":232,"role":"declaration","source":0,"src_end":38139,"src_start":37042},{"artifact":1,"gen_end":47972,"gen_start":47478,"node":233,"role":"declaration","source":0,"src_end":38532,"src_start":38141},{"artifact":1,"gen_end":49276,"gen_start":47972,"node":234,"role":"declaration","source":0,"src_end":39596,"src_start":38534},{"artifact":1,"gen_end":49772,"gen_start":49276,"node":235,"role":"declaration","source":0,"src_end":39993,"src_start":39598},{"artifact":1,"gen_end":51630,"gen_start":49772,"node":236,"role":"declaration","source":0,"src_end":41577,"src_start":39995},{"artifact":1,"gen_end":52118,"gen_start":51630,"node":237,"role":"declaration","source":0,"src_end":41966,"src_start":41579},{"artifact":1,"gen_end":53077,"gen_start":52118,"node":238,"role":"declaration","source":0,"src_end":42693,"src_start":41968},{"artifact":1,"gen_end":53581,"gen_start":53077,"node":239,"role":"declaration","source":0,"src_end":43090,"src_start":42695},{"artifact":1,"gen_end":54827,"gen_start":53581,"node":240,"role":"declaration","source":0,"src_end":44094,"src_start":43092},{"artifact":1,"gen_end":55333,"gen_start":54827,"node":241,"role":"declaration","source":0,"src_end":44493,"src_start":44096},{"artifact":1,"gen_end":56579,"gen_start":55333,"node":242,"role":"declaration","source":0,"src_end":45497,"src_start":44495},{"artifact":1,"gen_end":57085,"gen_start":56579,"node":243,"role":"declaration","source":0,"src_end":45896,"src_start":45499},{"artifact":1,"gen_end":58376,"gen_start":57085,"node":244,"role":"declaration","source":0,"src_end":46957,"src_start":45898},{"artifact":1,"gen_end":58888,"gen_start":58376,"node":245,"role":"declaration","source":0,"src_end":47362,"src_start":46959},{"artifact":1,"gen_end":60227,"gen_start":58888,"node":246,"role":"declaration","source":0,"src_end":48455,"src_start":47364},{"artifact":1,"gen_end":60648,"gen_start":60227,"node":247,"role":"declaration","source":0,"src_end":48783,"src_start":48457},{"artifact":1,"gen_end":61436,"gen_start":60648,"node":248,"role":"declaration","source":0,"src_end":49359,"src_start":48785},{"artifact":1,"gen_end":61939,"gen_start":61436,"node":249,"role":"declaration","source":0,"src_end":49761,"src_start":49361},{"artifact":1,"gen_end":63270,"gen_start":61939,"node":250,"role":"declaration","source":0,"src_end":50846,"src_start":49763},{"artifact":1,"gen_end":63747,"gen_start":63270,"node":251,"role":"declaration","source":0,"src_end":51224,"src_start":50848},{"artifact":1,"gen_end":65087,"gen_start":63747,"node":252,"role":"declaration","source":0,"src_end":52308,"src_start":51226},{"artifact":1,"gen_end":65541,"gen_start":65087,"node":253,"role":"declaration","source":0,"src_end":52661,"src_start":52310},{"artifact":1,"gen_end":66875,"gen_start":65541,"node":254,"role":"declaration","source":0,"src_end":53765,"src_start":52663},{"artifact":1,"gen_end":67329,"gen_start":66875,"node":255,"role":"declaration","source":0,"src_end":54118,"src_start":53767},{"artifact":1,"gen_end":68513,"gen_start":67329,"node":256,"role":"declaration","source":0,"src_end":55054,"src_start":54120},{"artifact":1,"gen_end":69038,"gen_start":68513,"node":257,"role":"declaration","source":0,"src_end":55472,"src_start":55056},{"artifact":1,"gen_end":70342,"gen_start":69038,"node":258,"role":"declaration","source":0,"src_end":56536,"src_start":55474},{"artifact":1,"gen_end":70854,"gen_start":70342,"node":259,"role":"declaration","source":0,"src_end":56941,"src_start":56538},{"artifact":1,"gen_end":72218,"gen_start":70854,"node":260,"role":"declaration","source":0,"src_end":58083,"src_start":56943},{"artifact":1,"gen_end":72726,"gen_start":72218,"node":261,"role":"declaration","source":0,"src_end":58484,"src_start":58085},{"artifact":1,"gen_end":73916,"gen_start":72726,"node":262,"role":"declaration","source":0,"src_end":59438,"src_start":58486},{"artifact":1,"gen_end":74343,"gen_start":73916,"node":263,"role":"declaration","source":0,"src_end":59772,"src_start":59440},{"artifact":1,"gen_end":75607,"gen_start":74343,"node":264,"role":"declaration","source":0,"src_end":60786,"src_start":59774},{"artifact":1,"gen_end":76111,"gen_start":75607,"node":265,"role":"declaration","source":0,"src_end":61183,"src_start":60788},{"artifact":1,"gen_end":77322,"gen_start":76111,"node":266,"role":"declaration","source":0,"src_end":62128,"src_start":61185},{"artifact":1,"gen_end":77784,"gen_start":77322,"node":267,"role":"declaration","source":0,"src_end":62489,"src_start":62130},{"artifact":1,"gen_end":79678,"gen_start":77784,"node":268,"role":"declaration","source":0,"src_end":64105,"src_start":62491},{"artifact":1,"gen_end":80164,"gen_start":79678,"node":269,"role":"declaration","source":0,"src_end":64484,"src_start":64107},{"artifact":1,"gen_end":82007,"gen_start":80164,"node":270,"role":"declaration","source":0,"src_end":66051,"src_start":64486},{"artifact":1,"gen_end":82494,"gen_start":82007,"node":271,"role":"declaration","source":0,"src_end":66431,"src_start":66053},{"artifact":1,"gen_end":83781,"gen_start":82494,"node":272,"role":"declaration","source":0,"src_end":67476,"src_start":66433},{"artifact":1,"gen_end":84279,"gen_start":83781,"node":273,"role":"declaration","source":0,"src_end":67867,"src_start":67478},{"artifact":1,"gen_end":85564,"gen_start":84279,"node":274,"role":"declaration","source":0,"src_end":68910,"src_start":67869},{"artifact":1,"gen_end":86056,"gen_start":85564,"node":275,"role":"declaration","source":0,"src_end":69295,"src_start":68912},{"artifact":1,"gen_end":87343,"gen_start":86056,"node":276,"role":"declaration","source":0,"src_end":70354,"src_start":69297},{"artifact":1,"gen_end":87857,"gen_start":87343,"node":277,"role":"declaration","source":0,"src_end":70761,"src_start":70356},{"artifact":1,"gen_end":89112,"gen_start":87857,"node":278,"role":"declaration","source":0,"src_end":71762,"src_start":70763},{"artifact":1,"gen_end":89626,"gen_start":89112,"node":279,"role":"declaration","source":0,"src_end":72169,"src_start":71764},{"artifact":1,"gen_end":90665,"gen_start":89626,"node":280,"role":"declaration","source":0,"src_end":72976,"src_start":72171},{"artifact":1,"gen_end":91175,"gen_start":90665,"node":281,"role":"declaration","source":0,"src_end":73379,"src_start":72978},{"artifact":1,"gen_end":92295,"gen_start":91175,"node":282,"role":"declaration","source":0,"src_end":74225,"src_start":73381},{"artifact":1,"gen_end":92790,"gen_start":92295,"node":283,"role":"declaration","source":0,"src_end":74619,"src_start":74227},{"artifact":1,"gen_end":93914,"gen_start":92790,"node":284,"role":"declaration","source":0,"src_end":75469,"src_start":74621},{"artifact":1,"gen_end":94419,"gen_start":93914,"node":285,"role":"declaration","source":0,"src_end":75869,"src_start":75471},{"artifact":1,"gen_end":95540,"gen_start":94419,"node":286,"role":"declaration","source":0,"src_end":76716,"src_start":75871},{"artifact":1,"gen_end":96037,"gen_start":95540,"node":287,"role":"declaration","source":0,"src_end":77112,"src_start":76718},{"artifact":1,"gen_end":97329,"gen_start":96037,"node":288,"role":"declaration","source":0,"src_end":78162,"src_start":77114},{"artifact":1,"gen_end":97757,"gen_start":97329,"node":289,"role":"declaration","source":0,"src_end":78499,"src_start":78164},{"artifact":1,"gen_end":98955,"gen_start":97757,"node":290,"role":"declaration","source":0,"src_end":79443,"src_start":78501},{"artifact":1,"gen_end":99473,"gen_start":98955,"node":291,"role":"declaration","source":0,"src_end":79860,"src_start":79445},{"artifact":1,"gen_end":99856,"gen_start":99473,"node":292,"role":"declaration","source":0,"src_end":80166,"src_start":79862},{"artifact":1,"gen_end":101054,"gen_start":99856,"node":293,"role":"declaration","source":0,"src_end":81114,"src_start":80168},{"artifact":1,"gen_end":101560,"gen_start":101054,"node":294,"role":"declaration","source":0,"src_end":81519,"src_start":81116},{"artifact":1,"gen_end":101930,"gen_start":101560,"node":295,"role":"declaration","source":0,"src_end":81812,"src_start":81521},{"artifact":1,"gen_end":103174,"gen_start":101930,"node":296,"role":"declaration","source":0,"src_end":82794,"src_start":81814},{"artifact":1,"gen_end":103680,"gen_start":103174,"node":297,"role":"declaration","source":0,"src_end":83199,"src_start":82796},{"artifact":1,"gen_end":104051,"gen_start":103680,"node":298,"role":"declaration","source":0,"src_end":83493,"src_start":83201},{"artifact":1,"gen_end":105147,"gen_start":104051,"node":299,"role":"declaration","source":0,"src_end":84351,"src_start":83495},{"artifact":1,"gen_end":105608,"gen_start":105147,"node":300,"role":"declaration","source":0,"src_end":84711,"src_start":84353},{"artifact":1,"gen_end":105973,"gen_start":105608,"node":301,"role":"declaration","source":0,"src_end":84999,"src_start":84713},{"artifact":1,"gen_end":106983,"gen_start":105973,"node":302,"role":"declaration","source":0,"src_end":85787,"src_start":85001},{"artifact":1,"gen_end":107489,"gen_start":106983,"node":303,"role":"declaration","source":0,"src_end":86192,"src_start":85789},{"artifact":1,"gen_end":108490,"gen_start":107489,"node":304,"role":"declaration","source":0,"src_end":86971,"src_start":86194},{"artifact":1,"gen_end":108947,"gen_start":108490,"node":305,"role":"declaration","source":0,"src_end":87331,"src_start":86973},{"artifact":1,"gen_end":110146,"gen_start":108947,"node":306,"role":"declaration","source":0,"src_end":88276,"src_start":87333},{"artifact":1,"gen_end":110611,"gen_start":110146,"node":307,"role":"declaration","source":0,"src_end":88640,"src_start":88278},{"artifact":1,"gen_end":110981,"gen_start":110611,"node":308,"role":"declaration","source":0,"src_end":88933,"src_start":88642},{"artifact":1,"gen_end":112193,"gen_start":110981,"node":309,"role":"declaration","source":0,"src_end":89891,"src_start":88935},{"artifact":1,"gen_end":112700,"gen_start":112193,"node":310,"role":"declaration","source":0,"src_end":90297,"src_start":89893},{"artifact":1,"gen_end":113072,"gen_start":112700,"node":311,"role":"declaration","source":0,"src_end":90592,"src_start":90299},{"artifact":1,"gen_end":114274,"gen_start":113072,"node":312,"role":"declaration","source":0,"src_end":91540,"src_start":90594},{"artifact":1,"gen_end":114734,"gen_start":114274,"node":313,"role":"declaration","source":0,"src_end":91899,"src_start":91542},{"artifact":1,"gen_end":115099,"gen_start":114734,"node":314,"role":"declaration","source":0,"src_end":92187,"src_start":91901},{"artifact":1,"gen_end":115801,"gen_start":115099,"node":315,"role":"declaration","source":0,"src_end":92691,"src_start":92189},{"artifact":1,"gen_end":116278,"gen_start":115801,"node":316,"role":"declaration","source":0,"src_end":93069,"src_start":92693},{"artifact":1,"gen_end":117080,"gen_start":116278,"node":317,"role":"declaration","source":0,"src_end":93661,"src_start":93071},{"artifact":1,"gen_end":117563,"gen_start":117080,"node":318,"role":"declaration","source":0,"src_end":94045,"src_start":93663},{"artifact":1,"gen_end":117934,"gen_start":117563,"node":319,"role":"declaration","source":0,"src_end":94339,"src_start":94047},{"artifact":1,"gen_end":119223,"gen_start":117934,"node":320,"role":"declaration","source":0,"src_end":95386,"src_start":94341},{"artifact":1,"gen_end":119640,"gen_start":119223,"node":321,"role":"declaration","source":0,"src_end":95712,"src_start":95388},{"artifact":1,"gen_end":120929,"gen_start":119640,"node":322,"role":"declaration","source":0,"src_end":96761,"src_start":95714},{"artifact":1,"gen_end":121357,"gen_start":120929,"node":323,"role":"declaration","source":0,"src_end":97098,"src_start":96763},{"artifact":1,"gen_end":122403,"gen_start":121357,"node":324,"role":"declaration","source":0,"src_end":97914,"src_start":97100},{"artifact":1,"gen_end":122843,"gen_start":122403,"node":325,"role":"declaration","source":0,"src_end":98263,"src_start":97916},{"artifact":1,"gen_end":124132,"gen_start":122843,"node":326,"role":"declaration","source":0,"src_end":99310,"src_start":98265},{"artifact":1,"gen_end":124548,"gen_start":124132,"node":327,"role":"declaration","source":0,"src_end":99635,"src_start":99312},{"artifact":1,"gen_end":125839,"gen_start":124548,"node":328,"role":"declaration","source":0,"src_end":100684,"src_start":99637},{"artifact":1,"gen_end":126264,"gen_start":125839,"node":329,"role":"declaration","source":0,"src_end":101018,"src_start":100686},{"artifact":1,"gen_end":126608,"gen_start":126264,"node":330,"role":"declaration","source":0,"src_end":101279,"src_start":101020},{"artifact":1,"gen_end":126954,"gen_start":126608,"node":331,"role":"declaration","source":0,"src_end":101542,"src_start":101281},{"artifact":1,"gen_end":127299,"gen_start":126954,"node":332,"role":"declaration","source":0,"src_end":101804,"src_start":101544},{"artifact":1,"gen_end":127645,"gen_start":127299,"node":333,"role":"declaration","source":0,"src_end":102067,"src_start":101806},{"artifact":1,"gen_end":127989,"gen_start":127645,"node":334,"role":"declaration","source":0,"src_end":102328,"src_start":102069},{"artifact":1,"gen_end":128334,"gen_start":127989,"node":335,"role":"declaration","source":0,"src_end":102590,"src_start":102330},{"artifact":1,"gen_end":128678,"gen_start":128334,"node":336,"role":"declaration","source":0,"src_end":102851,"src_start":102592},{"artifact":1,"gen_end":129024,"gen_start":128678,"node":337,"role":"declaration","source":0,"src_end":103114,"src_start":102853},{"artifact":1,"gen_end":129368,"gen_start":129024,"node":338,"role":"declaration","source":0,"src_end":103375,"src_start":103116},{"artifact":1,"gen_end":129713,"gen_start":129368,"node":339,"role":"declaration","source":0,"src_end":103637,"src_start":103377},{"artifact":1,"gen_end":130043,"gen_start":129713,"node":340,"role":"declaration","source":0,"src_end":103884,"src_start":103639},{"artifact":1,"gen_end":130375,"gen_start":130043,"node":341,"role":"declaration","source":0,"src_end":104133,"src_start":103886},{"artifact":1,"gen_end":130705,"gen_start":130375,"node":342,"role":"declaration","source":0,"src_end":104380,"src_start":104135},{"artifact":1,"gen_end":131036,"gen_start":130705,"node":343,"role":"declaration","source":0,"src_end":104628,"src_start":104382},{"artifact":1,"gen_end":131358,"gen_start":131036,"node":344,"role":"declaration","source":0,"src_end":104867,"src_start":104630},{"artifact":1,"gen_end":131682,"gen_start":131358,"node":345,"role":"declaration","source":0,"src_end":105108,"src_start":104869},{"artifact":1,"gen_end":132004,"gen_start":131682,"node":346,"role":"declaration","source":0,"src_end":105347,"src_start":105110},{"artifact":1,"gen_end":132327,"gen_start":132004,"node":347,"role":"declaration","source":0,"src_end":105587,"src_start":105349},{"artifact":1,"gen_end":132342,"gen_start":132327,"node":174,"role":"declaration","source":0,"src_end":105623,"src_start":0}],"module":"GnafCertificates","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"},{"id":80,"kind":"semantic-declaration"},{"id":81,"kind":"semantic-declaration"},{"id":82,"kind":"semantic-declaration"},{"id":83,"kind":"semantic-declaration"},{"id":84,"kind":"semantic-declaration"},{"id":85,"kind":"semantic-declaration"},{"id":86,"kind":"semantic-declaration"},{"id":87,"kind":"semantic-declaration"},{"id":88,"kind":"semantic-declaration"},{"id":89,"kind":"semantic-declaration"},{"id":90,"kind":"semantic-declaration"},{"id":91,"kind":"semantic-declaration"},{"id":92,"kind":"semantic-declaration"},{"id":93,"kind":"semantic-declaration"},{"id":94,"kind":"semantic-declaration"},{"id":95,"kind":"semantic-declaration"},{"id":96,"kind":"semantic-declaration"},{"id":97,"kind":"semantic-declaration"},{"id":98,"kind":"semantic-declaration"},{"id":99,"kind":"semantic-declaration"},{"id":100,"kind":"semantic-declaration"},{"id":101,"kind":"semantic-declaration"},{"id":102,"kind":"semantic-declaration"},{"id":103,"kind":"semantic-declaration"},{"id":104,"kind":"semantic-declaration"},{"id":105,"kind":"semantic-declaration"},{"id":106,"kind":"semantic-declaration"},{"id":107,"kind":"semantic-declaration"},{"id":108,"kind":"semantic-declaration"},{"id":109,"kind":"semantic-declaration"},{"id":110,"kind":"semantic-declaration"},{"id":111,"kind":"semantic-declaration"},{"id":112,"kind":"semantic-declaration"},{"id":113,"kind":"semantic-declaration"},{"id":114,"kind":"semantic-declaration"},{"id":115,"kind":"semantic-declaration"},{"id":116,"kind":"semantic-declaration"},{"id":117,"kind":"semantic-declaration"},{"id":118,"kind":"semantic-declaration"},{"id":119,"kind":"semantic-declaration"},{"id":120,"kind":"semantic-declaration"},{"id":121,"kind":"semantic-declaration"},{"id":122,"kind":"semantic-declaration"},{"id":123,"kind":"semantic-declaration"},{"id":124,"kind":"semantic-declaration"},{"id":125,"kind":"semantic-declaration"},{"id":126,"kind":"semantic-declaration"},{"id":127,"kind":"semantic-declaration"},{"id":128,"kind":"semantic-declaration"},{"id":129,"kind":"semantic-declaration"},{"id":130,"kind":"semantic-declaration"},{"id":131,"kind":"semantic-declaration"},{"id":132,"kind":"semantic-declaration"},{"id":133,"kind":"semantic-declaration"},{"id":134,"kind":"semantic-declaration"},{"id":135,"kind":"semantic-declaration"},{"id":136,"kind":"semantic-declaration"},{"id":137,"kind":"semantic-declaration"},{"id":138,"kind":"semantic-declaration"},{"id":139,"kind":"semantic-declaration"},{"id":140,"kind":"semantic-declaration"},{"id":141,"kind":"semantic-declaration"},{"id":142,"kind":"semantic-declaration"},{"id":143,"kind":"semantic-declaration"},{"id":144,"kind":"semantic-declaration"},{"id":145,"kind":"semantic-declaration"},{"id":146,"kind":"semantic-declaration"},{"id":147,"kind":"semantic-declaration"},{"id":148,"kind":"semantic-declaration"},{"id":149,"kind":"semantic-declaration"},{"id":150,"kind":"semantic-declaration"},{"id":151,"kind":"semantic-declaration"},{"id":152,"kind":"semantic-declaration"},{"id":153,"kind":"semantic-declaration"},{"id":154,"kind":"semantic-declaration"},{"id":155,"kind":"semantic-declaration"},{"id":156,"kind":"semantic-declaration"},{"id":157,"kind":"semantic-declaration"},{"id":158,"kind":"semantic-declaration"},{"id":159,"kind":"semantic-declaration"},{"id":160,"kind":"semantic-declaration"},{"id":161,"kind":"semantic-declaration"},{"id":162,"kind":"semantic-declaration"},{"id":163,"kind":"semantic-declaration"},{"id":164,"kind":"semantic-declaration"},{"id":165,"kind":"semantic-declaration"},{"id":166,"kind":"semantic-declaration"},{"id":167,"kind":"semantic-declaration"},{"id":168,"kind":"semantic-declaration"},{"id":169,"kind":"semantic-declaration"},{"id":170,"kind":"semantic-declaration"},{"id":171,"kind":"semantic-declaration"},{"id":172,"kind":"semantic-declaration"},{"id":173,"kind":"semantic-declaration"},{"id":174,"kind":"semantic-latex-module"},{"id":175,"kind":"semantic-declaration"},{"id":176,"kind":"semantic-declaration"},{"id":177,"kind":"semantic-declaration"},{"id":178,"kind":"semantic-declaration"},{"id":179,"kind":"semantic-declaration"},{"id":180,"kind":"semantic-declaration"},{"id":181,"kind":"semantic-declaration"},{"id":182,"kind":"semantic-declaration"},{"id":183,"kind":"semantic-declaration"},{"id":184,"kind":"semantic-declaration"},{"id":185,"kind":"semantic-declaration"},{"id":186,"kind":"semantic-declaration"},{"id":187,"kind":"semantic-declaration"},{"id":188,"kind":"semantic-declaration"},{"id":189,"kind":"semantic-declaration"},{"id":190,"kind":"semantic-declaration"},{"id":191,"kind":"semantic-declaration"},{"id":192,"kind":"semantic-declaration"},{"id":193,"kind":"semantic-declaration"},{"id":194,"kind":"semantic-declaration"},{"id":195,"kind":"semantic-declaration"},{"id":196,"kind":"semantic-declaration"},{"id":197,"kind":"semantic-declaration"},{"id":198,"kind":"semantic-declaration"},{"id":199,"kind":"semantic-declaration"},{"id":200,"kind":"semantic-declaration"},{"id":201,"kind":"semantic-declaration"},{"id":202,"kind":"semantic-declaration"},{"id":203,"kind":"semantic-declaration"},{"id":204,"kind":"semantic-declaration"},{"id":205,"kind":"semantic-declaration"},{"id":206,"kind":"semantic-declaration"},{"id":207,"kind":"semantic-declaration"},{"id":208,"kind":"semantic-declaration"},{"id":209,"kind":"semantic-declaration"},{"id":210,"kind":"semantic-declaration"},{"id":211,"kind":"semantic-declaration"},{"id":212,"kind":"semantic-declaration"},{"id":213,"kind":"semantic-declaration"},{"id":214,"kind":"semantic-declaration"},{"id":215,"kind":"semantic-declaration"},{"id":216,"kind":"semantic-declaration"},{"id":217,"kind":"semantic-declaration"},{"id":218,"kind":"semantic-declaration"},{"id":219,"kind":"semantic-declaration"},{"id":220,"kind":"semantic-declaration"},{"id":221,"kind":"semantic-declaration"},{"id":222,"kind":"semantic-declaration"},{"id":223,"kind":"semantic-declaration"},{"id":224,"kind":"semantic-declaration"},{"id":225,"kind":"semantic-declaration"},{"id":226,"kind":"semantic-declaration"},{"id":227,"kind":"semantic-declaration"},{"id":228,"kind":"semantic-declaration"},{"id":229,"kind":"semantic-declaration"},{"id":230,"kind":"semantic-declaration"},{"id":231,"kind":"semantic-declaration"},{"id":232,"kind":"semantic-declaration"},{"id":233,"kind":"semantic-declaration"},{"id":234,"kind":"semantic-declaration"},{"id":235,"kind":"semantic-declaration"},{"id":236,"kind":"semantic-declaration"},{"id":237,"kind":"semantic-declaration"},{"id":238,"kind":"semantic-declaration"},{"id":239,"kind":"semantic-declaration"},{"id":240,"kind":"semantic-declaration"},{"id":241,"kind":"semantic-declaration"},{"id":242,"kind":"semantic-declaration"},{"id":243,"kind":"semantic-declaration"},{"id":244,"kind":"semantic-declaration"},{"id":245,"kind":"semantic-declaration"},{"id":246,"kind":"semantic-declaration"},{"id":247,"kind":"semantic-declaration"},{"id":248,"kind":"semantic-declaration"},{"id":249,"kind":"semantic-declaration"},{"id":250,"kind":"semantic-declaration"},{"id":251,"kind":"semantic-declaration"},{"id":252,"kind":"semantic-declaration"},{"id":253,"kind":"semantic-declaration"},{"id":254,"kind":"semantic-declaration"},{"id":255,"kind":"semantic-declaration"},{"id":256,"kind":"semantic-declaration"},{"id":257,"kind":"semantic-declaration"},{"id":258,"kind":"semantic-declaration"},{"id":259,"kind":"semantic-declaration"},{"id":260,"kind":"semantic-declaration"},{"id":261,"kind":"semantic-declaration"},{"id":262,"kind":"semantic-declaration"},{"id":263,"kind":"semantic-declaration"},{"id":264,"kind":"semantic-declaration"},{"id":265,"kind":"semantic-declaration"},{"id":266,"kind":"semantic-declaration"},{"id":267,"kind":"semantic-declaration"},{"id":268,"kind":"semantic-declaration"},{"id":269,"kind":"semantic-declaration"},{"id":270,"kind":"semantic-declaration"},{"id":271,"kind":"semantic-declaration"},{"id":272,"kind":"semantic-declaration"},{"id":273,"kind":"semantic-declaration"},{"id":274,"kind":"semantic-declaration"},{"id":275,"kind":"semantic-declaration"},{"id":276,"kind":"semantic-declaration"},{"id":277,"kind":"semantic-declaration"},{"id":278,"kind":"semantic-declaration"},{"id":279,"kind":"semantic-declaration"},{"id":280,"kind":"semantic-declaration"},{"id":281,"kind":"semantic-declaration"},{"id":282,"kind":"semantic-declaration"},{"id":283,"kind":"semantic-declaration"},{"id":284,"kind":"semantic-declaration"},{"id":285,"kind":"semantic-declaration"},{"id":286,"kind":"semantic-declaration"},{"id":287,"kind":"semantic-declaration"},{"id":288,"kind":"semantic-declaration"},{"id":289,"kind":"semantic-declaration"},{"id":290,"kind":"semantic-declaration"},{"id":291,"kind":"semantic-declaration"},{"id":292,"kind":"semantic-declaration"},{"id":293,"kind":"semantic-declaration"},{"id":294,"kind":"semantic-declaration"},{"id":295,"kind":"semantic-declaration"},{"id":296,"kind":"semantic-declaration"},{"id":297,"kind":"semantic-declaration"},{"id":298,"kind":"semantic-declaration"},{"id":299,"kind":"semantic-declaration"},{"id":300,"kind":"semantic-declaration"},{"id":301,"kind":"semantic-declaration"},{"id":302,"kind":"semantic-declaration"},{"id":303,"kind":"semantic-declaration"},{"id":304,"kind":"semantic-declaration"},{"id":305,"kind":"semantic-declaration"},{"id":306,"kind":"semantic-declaration"},{"id":307,"kind":"semantic-declaration"},{"id":308,"kind":"semantic-declaration"},{"id":309,"kind":"semantic-declaration"},{"id":310,"kind":"semantic-declaration"},{"id":311,"kind":"semantic-declaration"},{"id":312,"kind":"semantic-declaration"},{"id":313,"kind":"semantic-declaration"},{"id":314,"kind":"semantic-declaration"},{"id":315,"kind":"semantic-declaration"},{"id":316,"kind":"semantic-declaration"},{"id":317,"kind":"semantic-declaration"},{"id":318,"kind":"semantic-declaration"},{"id":319,"kind":"semantic-declaration"},{"id":320,"kind":"semantic-declaration"},{"id":321,"kind":"semantic-declaration"},{"id":322,"kind":"semantic-declaration"},{"id":323,"kind":"semantic-declaration"},{"id":324,"kind":"semantic-declaration"},{"id":325,"kind":"semantic-declaration"},{"id":326,"kind":"semantic-declaration"},{"id":327,"kind":"semantic-declaration"},{"id":328,"kind":"semantic-declaration"},{"id":329,"kind":"semantic-declaration"},{"id":330,"kind":"semantic-declaration"},{"id":331,"kind":"semantic-declaration"},{"id":332,"kind":"semantic-declaration"},{"id":333,"kind":"semantic-declaration"},{"id":334,"kind":"semantic-declaration"},{"id":335,"kind":"semantic-declaration"},{"id":336,"kind":"semantic-declaration"},{"id":337,"kind":"semantic-declaration"},{"id":338,"kind":"semantic-declaration"},{"id":339,"kind":"semantic-declaration"},{"id":340,"kind":"semantic-declaration"},{"id":341,"kind":"semantic-declaration"},{"id":342,"kind":"semantic-declaration"},{"id":343,"kind":"semantic-declaration"},{"id":344,"kind":"semantic-declaration"},{"id":345,"kind":"semantic-declaration"},{"id":346,"kind":"semantic-declaration"},{"id":347,"kind":"semantic-declaration"}],"semantic_id":"322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a","source_id":"fc8fbbd2922aa3e7a7463e6862d110709e47f518802f63748cd199cee6055a74","sources":[{"id":0,"kind":"file","path":"src/GnafCertificates.lex.tex","sha256":"498dafa5093f56f0a05bbddb58875aebc0769325386f2ca611f3a101d9368f64"}],"spec":"lexlean/source-map/1"} diff --git a/compiler/expected/build/maps/LexLeanTarget/GnafFixtures.map.json b/compiler/expected/build/maps/LexLeanTarget/GnafFixtures.map.json index ee0dbbee3..39e7444d3 100644 --- a/compiler/expected/build/maps/LexLeanTarget/GnafFixtures.map.json +++ b/compiler/expected/build/maps/LexLeanTarget/GnafFixtures.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/GnafFixtures.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/GnafFixtures.tex"}],"mappings":[{"artifact":0,"gen_end":327,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":680712,"src_start":0},{"artifact":0,"gen_end":10109,"gen_start":327,"node":1,"role":"declaration","source":0,"src_end":7817,"src_start":200},{"artifact":0,"gen_end":10564,"gen_start":10109,"node":2,"role":"declaration","source":0,"src_end":8234,"src_start":7819},{"artifact":0,"gen_end":11066,"gen_start":10564,"node":3,"role":"declaration","source":0,"src_end":8746,"src_start":8236},{"artifact":0,"gen_end":11237,"gen_start":11066,"node":4,"role":"declaration","source":0,"src_end":8987,"src_start":8748},{"artifact":0,"gen_end":21021,"gen_start":11237,"node":5,"role":"declaration","source":0,"src_end":16608,"src_start":8989},{"artifact":0,"gen_end":21482,"gen_start":21021,"node":6,"role":"declaration","source":0,"src_end":17031,"src_start":16610},{"artifact":0,"gen_end":21990,"gen_start":21482,"node":7,"role":"declaration","source":0,"src_end":17549,"src_start":17033},{"artifact":0,"gen_end":22167,"gen_start":21990,"node":8,"role":"declaration","source":0,"src_end":17796,"src_start":17551},{"artifact":0,"gen_end":35192,"gen_start":22167,"node":9,"role":"declaration","source":0,"src_end":27873,"src_start":17798},{"artifact":0,"gen_end":35950,"gen_start":35192,"node":10,"role":"declaration","source":0,"src_end":28537,"src_start":27875},{"artifact":0,"gen_end":36780,"gen_start":35950,"node":11,"role":"declaration","source":0,"src_end":29329,"src_start":28539},{"artifact":0,"gen_end":36948,"gen_start":36780,"node":12,"role":"declaration","source":0,"src_end":29569,"src_start":29331},{"artifact":0,"gen_end":57064,"gen_start":36948,"node":13,"role":"declaration","source":0,"src_end":45993,"src_start":29571},{"artifact":0,"gen_end":57529,"gen_start":57064,"node":14,"role":"declaration","source":0,"src_end":46420,"src_start":45995},{"artifact":0,"gen_end":58016,"gen_start":57529,"node":15,"role":"declaration","source":0,"src_end":46929,"src_start":46422},{"artifact":0,"gen_end":58168,"gen_start":58016,"node":16,"role":"declaration","source":0,"src_end":47161,"src_start":46931},{"artifact":0,"gen_end":68390,"gen_start":58168,"node":17,"role":"declaration","source":0,"src_end":55137,"src_start":47163},{"artifact":0,"gen_end":68723,"gen_start":68390,"node":18,"role":"declaration","source":0,"src_end":55460,"src_start":55139},{"artifact":0,"gen_end":69119,"gen_start":68723,"node":19,"role":"declaration","source":0,"src_end":55882,"src_start":55462},{"artifact":0,"gen_end":69297,"gen_start":69119,"node":20,"role":"declaration","source":0,"src_end":56130,"src_start":55884},{"artifact":0,"gen_end":79087,"gen_start":69297,"node":21,"role":"declaration","source":0,"src_end":63757,"src_start":56132},{"artifact":0,"gen_end":79554,"gen_start":79087,"node":22,"role":"declaration","source":0,"src_end":64186,"src_start":63759},{"artifact":0,"gen_end":80068,"gen_start":79554,"node":23,"role":"declaration","source":0,"src_end":64710,"src_start":64188},{"artifact":0,"gen_end":80254,"gen_start":80068,"node":24,"role":"declaration","source":0,"src_end":64970,"src_start":64712},{"artifact":0,"gen_end":100375,"gen_start":80254,"node":25,"role":"declaration","source":0,"src_end":81399,"src_start":64972},{"artifact":0,"gen_end":100846,"gen_start":100375,"node":26,"role":"declaration","source":0,"src_end":81832,"src_start":81401},{"artifact":0,"gen_end":101339,"gen_start":100846,"node":27,"role":"declaration","source":0,"src_end":82347,"src_start":81834},{"artifact":0,"gen_end":101497,"gen_start":101339,"node":28,"role":"declaration","source":0,"src_end":82585,"src_start":82349},{"artifact":0,"gen_end":111285,"gen_start":101497,"node":29,"role":"declaration","source":0,"src_end":90210,"src_start":82587},{"artifact":0,"gen_end":111754,"gen_start":111285,"node":30,"role":"declaration","source":0,"src_end":90641,"src_start":90212},{"artifact":0,"gen_end":112270,"gen_start":111754,"node":31,"role":"declaration","source":0,"src_end":91167,"src_start":90643},{"artifact":0,"gen_end":112458,"gen_start":112270,"node":32,"role":"declaration","source":0,"src_end":91429,"src_start":91169},{"artifact":0,"gen_end":125487,"gen_start":112458,"node":33,"role":"declaration","source":0,"src_end":101510,"src_start":91431},{"artifact":0,"gen_end":126249,"gen_start":125487,"node":34,"role":"declaration","source":0,"src_end":102178,"src_start":101512},{"artifact":0,"gen_end":127083,"gen_start":126249,"node":35,"role":"declaration","source":0,"src_end":102974,"src_start":102180},{"artifact":0,"gen_end":127258,"gen_start":127083,"node":36,"role":"declaration","source":0,"src_end":103225,"src_start":102976},{"artifact":0,"gen_end":135083,"gen_start":127258,"node":37,"role":"declaration","source":0,"src_end":109365,"src_start":103227},{"artifact":0,"gen_end":135558,"gen_start":135083,"node":38,"role":"declaration","source":0,"src_end":109802,"src_start":109367},{"artifact":0,"gen_end":136059,"gen_start":135558,"node":39,"role":"declaration","source":0,"src_end":110325,"src_start":109804},{"artifact":0,"gen_end":136250,"gen_start":136059,"node":40,"role":"declaration","source":0,"src_end":110586,"src_start":110327},{"artifact":0,"gen_end":142223,"gen_start":136250,"node":41,"role":"declaration","source":0,"src_end":115319,"src_start":110588},{"artifact":0,"gen_end":142427,"gen_start":142223,"node":42,"role":"declaration","source":0,"src_end":115531,"src_start":115321},{"artifact":0,"gen_end":142650,"gen_start":142427,"node":43,"role":"declaration","source":0,"src_end":115808,"src_start":115533},{"artifact":0,"gen_end":142800,"gen_start":142650,"node":44,"role":"declaration","source":0,"src_end":116038,"src_start":115810},{"artifact":0,"gen_end":152176,"gen_start":142800,"node":45,"role":"declaration","source":0,"src_end":123350,"src_start":116040},{"artifact":0,"gen_end":152649,"gen_start":152176,"node":46,"role":"declaration","source":0,"src_end":123785,"src_start":123352},{"artifact":0,"gen_end":153166,"gen_start":152649,"node":47,"role":"declaration","source":0,"src_end":124312,"src_start":123787},{"artifact":0,"gen_end":153354,"gen_start":153166,"node":48,"role":"declaration","source":0,"src_end":124570,"src_start":124314},{"artifact":0,"gen_end":162498,"gen_start":153354,"node":49,"role":"declaration","source":0,"src_end":131650,"src_start":124572},{"artifact":0,"gen_end":162973,"gen_start":162498,"node":50,"role":"declaration","source":0,"src_end":132087,"src_start":131652},{"artifact":0,"gen_end":163492,"gen_start":162973,"node":51,"role":"declaration","source":0,"src_end":132616,"src_start":132089},{"artifact":0,"gen_end":163682,"gen_start":163492,"node":52,"role":"declaration","source":0,"src_end":132876,"src_start":132618},{"artifact":0,"gen_end":183799,"gen_start":163682,"node":53,"role":"declaration","source":0,"src_end":149301,"src_start":132878},{"artifact":0,"gen_end":184268,"gen_start":183799,"node":54,"role":"declaration","source":0,"src_end":149732,"src_start":149303},{"artifact":0,"gen_end":184759,"gen_start":184268,"node":55,"role":"declaration","source":0,"src_end":150245,"src_start":149734},{"artifact":0,"gen_end":184915,"gen_start":184759,"node":56,"role":"declaration","source":0,"src_end":150481,"src_start":150247},{"artifact":0,"gen_end":197940,"gen_start":184915,"node":57,"role":"declaration","source":0,"src_end":160558,"src_start":150483},{"artifact":0,"gen_end":198700,"gen_start":197940,"node":58,"role":"declaration","source":0,"src_end":161224,"src_start":160560},{"artifact":0,"gen_end":199532,"gen_start":198700,"node":59,"role":"declaration","source":0,"src_end":162018,"src_start":161226},{"artifact":0,"gen_end":199702,"gen_start":199532,"node":60,"role":"declaration","source":0,"src_end":162260,"src_start":162020},{"artifact":0,"gen_end":209678,"gen_start":199702,"node":61,"role":"declaration","source":0,"src_end":170047,"src_start":162262},{"artifact":0,"gen_end":210141,"gen_start":209678,"node":62,"role":"declaration","source":0,"src_end":170472,"src_start":170049},{"artifact":0,"gen_end":210651,"gen_start":210141,"node":63,"role":"declaration","source":0,"src_end":170992,"src_start":170474},{"artifact":0,"gen_end":210830,"gen_start":210651,"node":64,"role":"declaration","source":0,"src_end":171241,"src_start":170994},{"artifact":0,"gen_end":220977,"gen_start":210830,"node":65,"role":"declaration","source":0,"src_end":179187,"src_start":171243},{"artifact":0,"gen_end":221446,"gen_start":220977,"node":66,"role":"declaration","source":0,"src_end":179618,"src_start":179189},{"artifact":0,"gen_end":221962,"gen_start":221446,"node":67,"role":"declaration","source":0,"src_end":180144,"src_start":179620},{"artifact":0,"gen_end":222147,"gen_start":221962,"node":68,"role":"declaration","source":0,"src_end":180399,"src_start":180146},{"artifact":0,"gen_end":232296,"gen_start":222147,"node":69,"role":"declaration","source":0,"src_end":188347,"src_start":180401},{"artifact":0,"gen_end":232767,"gen_start":232296,"node":70,"role":"declaration","source":0,"src_end":188780,"src_start":188349},{"artifact":0,"gen_end":233285,"gen_start":232767,"node":71,"role":"declaration","source":0,"src_end":189308,"src_start":188782},{"artifact":0,"gen_end":233472,"gen_start":233285,"node":72,"role":"declaration","source":0,"src_end":189565,"src_start":189310},{"artifact":0,"gen_end":304190,"gen_start":233472,"node":73,"role":"declaration","source":0,"src_end":244998,"src_start":189567},{"artifact":0,"gen_end":304474,"gen_start":304190,"node":74,"role":"declaration","source":0,"src_end":245278,"src_start":245000},{"artifact":0,"gen_end":304816,"gen_start":304474,"node":75,"role":"declaration","source":0,"src_end":245654,"src_start":245280},{"artifact":0,"gen_end":304990,"gen_start":304816,"node":76,"role":"declaration","source":0,"src_end":245898,"src_start":245656},{"artifact":0,"gen_end":375712,"gen_start":304990,"node":77,"role":"declaration","source":0,"src_end":301335,"src_start":245900},{"artifact":0,"gen_end":376000,"gen_start":375712,"node":78,"role":"declaration","source":0,"src_end":301619,"src_start":301337},{"artifact":0,"gen_end":376346,"gen_start":376000,"node":79,"role":"declaration","source":0,"src_end":301999,"src_start":301621},{"artifact":0,"gen_end":376519,"gen_start":376346,"node":80,"role":"declaration","source":0,"src_end":302244,"src_start":302001},{"artifact":0,"gen_end":386305,"gen_start":376519,"node":81,"role":"declaration","source":0,"src_end":309867,"src_start":302246},{"artifact":0,"gen_end":386772,"gen_start":386305,"node":82,"role":"declaration","source":0,"src_end":310296,"src_start":309869},{"artifact":0,"gen_end":386970,"gen_start":386772,"node":83,"role":"declaration","source":0,"src_end":310566,"src_start":310298},{"artifact":0,"gen_end":391377,"gen_start":386970,"node":84,"role":"declaration","source":0,"src_end":314109,"src_start":310568},{"artifact":0,"gen_end":391542,"gen_start":391377,"node":85,"role":"declaration","source":0,"src_end":314288,"src_start":314111},{"artifact":0,"gen_end":391740,"gen_start":391542,"node":86,"role":"declaration","source":0,"src_end":314558,"src_start":314290},{"artifact":0,"gen_end":401534,"gen_start":391740,"node":87,"role":"declaration","source":0,"src_end":322189,"src_start":314560},{"artifact":0,"gen_end":402013,"gen_start":401534,"node":88,"role":"declaration","source":0,"src_end":322630,"src_start":322191},{"artifact":0,"gen_end":402223,"gen_start":402013,"node":89,"role":"declaration","source":0,"src_end":322912,"src_start":322632},{"artifact":0,"gen_end":412143,"gen_start":402223,"node":90,"role":"declaration","source":0,"src_end":330649,"src_start":322914},{"artifact":0,"gen_end":412608,"gen_start":412143,"node":91,"role":"declaration","source":0,"src_end":331076,"src_start":330651},{"artifact":0,"gen_end":412854,"gen_start":412608,"node":92,"role":"declaration","source":0,"src_end":331386,"src_start":331078},{"artifact":0,"gen_end":422654,"gen_start":412854,"node":93,"role":"declaration","source":0,"src_end":339021,"src_start":331388},{"artifact":0,"gen_end":423133,"gen_start":422654,"node":94,"role":"declaration","source":0,"src_end":339462,"src_start":339023},{"artifact":0,"gen_end":423380,"gen_start":423133,"node":95,"role":"declaration","source":0,"src_end":339773,"src_start":339464},{"artifact":0,"gen_end":427829,"gen_start":423380,"node":96,"role":"declaration","source":0,"src_end":343352,"src_start":339775},{"artifact":0,"gen_end":428002,"gen_start":427829,"node":97,"role":"declaration","source":0,"src_end":343539,"src_start":343354},{"artifact":0,"gen_end":428212,"gen_start":428002,"node":98,"role":"declaration","source":0,"src_end":343821,"src_start":343541},{"artifact":0,"gen_end":438129,"gen_start":428212,"node":99,"role":"declaration","source":0,"src_end":351555,"src_start":343823},{"artifact":0,"gen_end":438598,"gen_start":438129,"node":100,"role":"declaration","source":0,"src_end":351986,"src_start":351557},{"artifact":0,"gen_end":438840,"gen_start":438598,"node":101,"role":"declaration","source":0,"src_end":352292,"src_start":351988},{"artifact":0,"gen_end":447563,"gen_start":438840,"node":102,"role":"declaration","source":0,"src_end":359050,"src_start":352294},{"artifact":0,"gen_end":448024,"gen_start":447563,"node":103,"role":"declaration","source":0,"src_end":359473,"src_start":359052},{"artifact":0,"gen_end":448213,"gen_start":448024,"node":104,"role":"declaration","source":0,"src_end":359734,"src_start":359475},{"artifact":0,"gen_end":458000,"gen_start":448213,"node":105,"role":"declaration","source":0,"src_end":367358,"src_start":359736},{"artifact":0,"gen_end":458469,"gen_start":458000,"node":106,"role":"declaration","source":0,"src_end":367789,"src_start":367360},{"artifact":0,"gen_end":458709,"gen_start":458469,"node":107,"role":"declaration","source":0,"src_end":368093,"src_start":367791},{"artifact":0,"gen_end":468648,"gen_start":458709,"node":108,"role":"declaration","source":0,"src_end":375849,"src_start":368095},{"artifact":0,"gen_end":469153,"gen_start":468648,"node":109,"role":"declaration","source":0,"src_end":376316,"src_start":375851},{"artifact":0,"gen_end":469439,"gen_start":469153,"node":110,"role":"declaration","source":0,"src_end":376666,"src_start":376318},{"artifact":0,"gen_end":479242,"gen_start":469439,"node":111,"role":"declaration","source":0,"src_end":384302,"src_start":376668},{"artifact":0,"gen_end":479721,"gen_start":479242,"node":112,"role":"declaration","source":0,"src_end":384743,"src_start":384304},{"artifact":0,"gen_end":479933,"gen_start":479721,"node":113,"role":"declaration","source":0,"src_end":385027,"src_start":384745},{"artifact":0,"gen_end":484353,"gen_start":479933,"node":114,"role":"declaration","source":0,"src_end":388583,"src_start":385029},{"artifact":0,"gen_end":484530,"gen_start":484353,"node":115,"role":"declaration","source":0,"src_end":388774,"src_start":388585},{"artifact":0,"gen_end":484746,"gen_start":484530,"node":116,"role":"declaration","source":0,"src_end":389062,"src_start":388776},{"artifact":0,"gen_end":494530,"gen_start":484746,"node":117,"role":"declaration","source":0,"src_end":396683,"src_start":389064},{"artifact":0,"gen_end":495007,"gen_start":494530,"node":118,"role":"declaration","source":0,"src_end":397122,"src_start":396685},{"artifact":0,"gen_end":495220,"gen_start":495007,"node":119,"role":"declaration","source":0,"src_end":397407,"src_start":397124},{"artifact":0,"gen_end":505013,"gen_start":495220,"node":120,"role":"declaration","source":0,"src_end":405037,"src_start":397409},{"artifact":0,"gen_end":505494,"gen_start":505013,"node":121,"role":"declaration","source":0,"src_end":405480,"src_start":405039},{"artifact":0,"gen_end":505713,"gen_start":505494,"node":122,"role":"declaration","source":0,"src_end":405771,"src_start":405482},{"artifact":0,"gen_end":510139,"gen_start":505713,"node":123,"role":"declaration","source":0,"src_end":409333,"src_start":405773},{"artifact":0,"gen_end":510324,"gen_start":510139,"node":124,"role":"declaration","source":0,"src_end":409532,"src_start":409335},{"artifact":0,"gen_end":510552,"gen_start":510324,"node":125,"role":"declaration","source":0,"src_end":409832,"src_start":409534},{"artifact":0,"gen_end":520418,"gen_start":510552,"node":126,"role":"declaration","source":0,"src_end":417529,"src_start":409834},{"artifact":0,"gen_end":520915,"gen_start":520418,"node":127,"role":"declaration","source":0,"src_end":417988,"src_start":417531},{"artifact":0,"gen_end":521145,"gen_start":520915,"node":128,"role":"declaration","source":0,"src_end":418290,"src_start":417990},{"artifact":0,"gen_end":531059,"gen_start":521145,"node":129,"role":"declaration","source":0,"src_end":426021,"src_start":418292},{"artifact":0,"gen_end":531518,"gen_start":531059,"node":130,"role":"declaration","source":0,"src_end":426442,"src_start":426023},{"artifact":0,"gen_end":531755,"gen_start":531518,"node":131,"role":"declaration","source":0,"src_end":426743,"src_start":426444},{"artifact":0,"gen_end":551125,"gen_start":531755,"node":132,"role":"declaration","source":0,"src_end":442012,"src_start":426745},{"artifact":0,"gen_end":551316,"gen_start":551125,"node":133,"role":"declaration","source":0,"src_end":442217,"src_start":442014},{"artifact":0,"gen_end":551544,"gen_start":551316,"node":134,"role":"declaration","source":0,"src_end":442517,"src_start":442219},{"artifact":0,"gen_end":622271,"gen_start":551544,"node":135,"role":"declaration","source":0,"src_end":497959,"src_start":442519},{"artifact":0,"gen_end":622575,"gen_start":622271,"node":136,"role":"declaration","source":0,"src_end":498259,"src_start":497961},{"artifact":0,"gen_end":622821,"gen_start":622575,"node":137,"role":"declaration","source":0,"src_end":498569,"src_start":498261},{"artifact":0,"gen_end":632629,"gen_start":622821,"node":138,"role":"declaration","source":0,"src_end":506214,"src_start":498571},{"artifact":0,"gen_end":633114,"gen_start":632629,"node":139,"role":"declaration","source":0,"src_end":506661,"src_start":506216},{"artifact":0,"gen_end":633326,"gen_start":633114,"node":140,"role":"declaration","source":0,"src_end":506945,"src_start":506663},{"artifact":0,"gen_end":643112,"gen_start":633326,"node":141,"role":"declaration","source":0,"src_end":514568,"src_start":506947},{"artifact":0,"gen_end":643583,"gen_start":643112,"node":142,"role":"declaration","source":0,"src_end":515001,"src_start":514570},{"artifact":0,"gen_end":643785,"gen_start":643583,"node":143,"role":"declaration","source":0,"src_end":515275,"src_start":515003},{"artifact":0,"gen_end":653581,"gen_start":643785,"node":144,"role":"declaration","source":0,"src_end":522908,"src_start":515277},{"artifact":0,"gen_end":654066,"gen_start":653581,"node":145,"role":"declaration","source":0,"src_end":523355,"src_start":522910},{"artifact":0,"gen_end":654295,"gen_start":654066,"node":146,"role":"declaration","source":0,"src_end":523656,"src_start":523357},{"artifact":0,"gen_end":664209,"gen_start":654295,"node":147,"role":"declaration","source":0,"src_end":531387,"src_start":523658},{"artifact":0,"gen_end":664668,"gen_start":664209,"node":148,"role":"declaration","source":0,"src_end":531808,"src_start":531389},{"artifact":0,"gen_end":664905,"gen_start":664668,"node":149,"role":"declaration","source":0,"src_end":532109,"src_start":531810},{"artifact":0,"gen_end":674705,"gen_start":664905,"node":150,"role":"declaration","source":0,"src_end":539746,"src_start":532111},{"artifact":0,"gen_end":675198,"gen_start":674705,"node":151,"role":"declaration","source":0,"src_end":540201,"src_start":539748},{"artifact":0,"gen_end":675435,"gen_start":675198,"node":152,"role":"declaration","source":0,"src_end":540510,"src_start":540203},{"artifact":0,"gen_end":685352,"gen_start":675435,"node":153,"role":"declaration","source":0,"src_end":548244,"src_start":540512},{"artifact":0,"gen_end":685825,"gen_start":685352,"node":154,"role":"declaration","source":0,"src_end":548679,"src_start":548246},{"artifact":0,"gen_end":686064,"gen_start":685825,"node":155,"role":"declaration","source":0,"src_end":548982,"src_start":548681},{"artifact":0,"gen_end":696163,"gen_start":686064,"node":156,"role":"declaration","source":0,"src_end":556882,"src_start":548984},{"artifact":0,"gen_end":696644,"gen_start":696163,"node":157,"role":"declaration","source":0,"src_end":557325,"src_start":556884},{"artifact":0,"gen_end":696902,"gen_start":696644,"node":158,"role":"declaration","source":0,"src_end":557647,"src_start":557327},{"artifact":0,"gen_end":706565,"gen_start":696902,"node":159,"role":"declaration","source":0,"src_end":565167,"src_start":557649},{"artifact":0,"gen_end":707042,"gen_start":706565,"node":160,"role":"declaration","source":0,"src_end":565606,"src_start":565169},{"artifact":0,"gen_end":707294,"gen_start":707042,"node":161,"role":"declaration","source":0,"src_end":565922,"src_start":565608},{"artifact":0,"gen_end":717142,"gen_start":707294,"node":162,"role":"declaration","source":0,"src_end":573603,"src_start":565924},{"artifact":0,"gen_end":717633,"gen_start":717142,"node":163,"role":"declaration","source":0,"src_end":574056,"src_start":573605},{"artifact":0,"gen_end":717904,"gen_start":717633,"node":164,"role":"declaration","source":0,"src_end":574391,"src_start":574058},{"artifact":0,"gen_end":727835,"gen_start":717904,"node":165,"role":"declaration","source":0,"src_end":582139,"src_start":574393},{"artifact":0,"gen_end":728314,"gen_start":727835,"node":166,"role":"declaration","source":0,"src_end":582580,"src_start":582141},{"artifact":0,"gen_end":728574,"gen_start":728314,"node":167,"role":"declaration","source":0,"src_end":582904,"src_start":582582},{"artifact":0,"gen_end":738371,"gen_start":728574,"node":168,"role":"declaration","source":0,"src_end":590538,"src_start":582906},{"artifact":0,"gen_end":738848,"gen_start":738371,"node":169,"role":"declaration","source":0,"src_end":590977,"src_start":590540},{"artifact":0,"gen_end":739094,"gen_start":738848,"node":170,"role":"declaration","source":0,"src_end":591287,"src_start":590979},{"artifact":0,"gen_end":749029,"gen_start":739094,"node":171,"role":"declaration","source":0,"src_end":599039,"src_start":591289},{"artifact":0,"gen_end":749514,"gen_start":749029,"node":172,"role":"declaration","source":0,"src_end":599486,"src_start":599041},{"artifact":0,"gen_end":749772,"gen_start":749514,"node":173,"role":"declaration","source":0,"src_end":599808,"src_start":599488},{"artifact":0,"gen_end":759557,"gen_start":749772,"node":174,"role":"declaration","source":0,"src_end":607430,"src_start":599810},{"artifact":0,"gen_end":760028,"gen_start":759557,"node":175,"role":"declaration","source":0,"src_end":607863,"src_start":607432},{"artifact":0,"gen_end":760232,"gen_start":760028,"node":176,"role":"declaration","source":0,"src_end":608139,"src_start":607865},{"artifact":0,"gen_end":770017,"gen_start":760232,"node":177,"role":"declaration","source":0,"src_end":615761,"src_start":608141},{"artifact":0,"gen_end":770488,"gen_start":770017,"node":178,"role":"declaration","source":0,"src_end":616194,"src_start":615763},{"artifact":0,"gen_end":770692,"gen_start":770488,"node":179,"role":"declaration","source":0,"src_end":616470,"src_start":616196},{"artifact":0,"gen_end":780489,"gen_start":770692,"node":180,"role":"declaration","source":0,"src_end":624104,"src_start":616472},{"artifact":0,"gen_end":780970,"gen_start":780489,"node":181,"role":"declaration","source":0,"src_end":624547,"src_start":624106},{"artifact":0,"gen_end":781193,"gen_start":780970,"node":182,"role":"declaration","source":0,"src_end":624842,"src_start":624549},{"artifact":0,"gen_end":790989,"gen_start":781193,"node":183,"role":"declaration","source":0,"src_end":632473,"src_start":624844},{"artifact":0,"gen_end":791460,"gen_start":790989,"node":184,"role":"declaration","source":0,"src_end":632906,"src_start":632475},{"artifact":0,"gen_end":791699,"gen_start":791460,"node":185,"role":"declaration","source":0,"src_end":633209,"src_start":632908},{"artifact":0,"gen_end":801634,"gen_start":791699,"node":186,"role":"declaration","source":0,"src_end":640959,"src_start":633211},{"artifact":0,"gen_end":802115,"gen_start":801634,"node":187,"role":"declaration","source":0,"src_end":641402,"src_start":640961},{"artifact":0,"gen_end":802369,"gen_start":802115,"node":188,"role":"declaration","source":0,"src_end":641720,"src_start":641404},{"artifact":0,"gen_end":811456,"gen_start":802369,"node":189,"role":"declaration","source":0,"src_end":648764,"src_start":641722},{"artifact":0,"gen_end":811909,"gen_start":811456,"node":190,"role":"declaration","source":0,"src_end":649179,"src_start":648766},{"artifact":0,"gen_end":812405,"gen_start":811909,"node":191,"role":"declaration","source":0,"src_end":649685,"src_start":649181},{"artifact":0,"gen_end":812573,"gen_start":812405,"node":192,"role":"declaration","source":0,"src_end":649923,"src_start":649687},{"artifact":0,"gen_end":822900,"gen_start":812573,"node":193,"role":"declaration","source":0,"src_end":657956,"src_start":649925},{"artifact":0,"gen_end":823196,"gen_start":822900,"node":194,"role":"declaration","source":0,"src_end":658248,"src_start":657958},{"artifact":0,"gen_end":823535,"gen_start":823196,"node":195,"role":"declaration","source":0,"src_end":658625,"src_start":658250},{"artifact":0,"gen_end":823691,"gen_start":823535,"node":196,"role":"declaration","source":0,"src_end":658861,"src_start":658627},{"artifact":0,"gen_end":837567,"gen_start":823691,"node":197,"role":"declaration","source":0,"src_end":669575,"src_start":658863},{"artifact":0,"gen_end":837902,"gen_start":837567,"node":198,"role":"declaration","source":0,"src_end":669900,"src_start":669577},{"artifact":0,"gen_end":838300,"gen_start":837902,"node":199,"role":"declaration","source":0,"src_end":670324,"src_start":669902},{"artifact":0,"gen_end":838491,"gen_start":838300,"node":200,"role":"declaration","source":0,"src_end":670591,"src_start":670326},{"artifact":0,"gen_end":838686,"gen_start":838491,"node":201,"role":"declaration","source":0,"src_end":670858,"src_start":670593},{"artifact":0,"gen_end":838881,"gen_start":838686,"node":202,"role":"declaration","source":0,"src_end":671125,"src_start":670860},{"artifact":0,"gen_end":839076,"gen_start":838881,"node":203,"role":"declaration","source":0,"src_end":671392,"src_start":671127},{"artifact":0,"gen_end":839280,"gen_start":839076,"node":204,"role":"declaration","source":0,"src_end":671670,"src_start":671394},{"artifact":0,"gen_end":839419,"gen_start":839280,"node":205,"role":"declaration","source":0,"src_end":671895,"src_start":671672},{"artifact":0,"gen_end":849199,"gen_start":839419,"node":206,"role":"declaration","source":0,"src_end":679512,"src_start":671897},{"artifact":0,"gen_end":849652,"gen_start":849199,"node":207,"role":"declaration","source":0,"src_end":679927,"src_start":679514},{"artifact":0,"gen_end":850152,"gen_start":849652,"node":208,"role":"declaration","source":0,"src_end":680437,"src_start":679929},{"artifact":0,"gen_end":850321,"gen_start":850152,"node":209,"role":"declaration","source":0,"src_end":680676,"src_start":680439},{"artifact":0,"gen_end":850353,"gen_start":850321,"node":0,"role":"declaration","source":0,"src_end":680712,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":210,"role":"declaration","source":0,"src_end":680712,"src_start":0},{"artifact":1,"gen_end":10174,"gen_start":134,"node":211,"role":"declaration","source":0,"src_end":7817,"src_start":200},{"artifact":1,"gen_end":10738,"gen_start":10174,"node":212,"role":"declaration","source":0,"src_end":8234,"src_start":7819},{"artifact":1,"gen_end":11390,"gen_start":10738,"node":213,"role":"declaration","source":0,"src_end":8746,"src_start":8236},{"artifact":1,"gen_end":11711,"gen_start":11390,"node":214,"role":"declaration","source":0,"src_end":8987,"src_start":8748},{"artifact":1,"gen_end":21753,"gen_start":11711,"node":215,"role":"declaration","source":0,"src_end":16608,"src_start":8989},{"artifact":1,"gen_end":22323,"gen_start":21753,"node":216,"role":"declaration","source":0,"src_end":17031,"src_start":16610},{"artifact":1,"gen_end":22981,"gen_start":22323,"node":217,"role":"declaration","source":0,"src_end":17549,"src_start":17033},{"artifact":1,"gen_end":23308,"gen_start":22981,"node":218,"role":"declaration","source":0,"src_end":17796,"src_start":17551},{"artifact":1,"gen_end":36619,"gen_start":23308,"node":219,"role":"declaration","source":0,"src_end":27873,"src_start":17798},{"artifact":1,"gen_end":37486,"gen_start":36619,"node":220,"role":"declaration","source":0,"src_end":28537,"src_start":27875},{"artifact":1,"gen_end":38466,"gen_start":37486,"node":221,"role":"declaration","source":0,"src_end":29329,"src_start":28539},{"artifact":1,"gen_end":38784,"gen_start":38466,"node":222,"role":"declaration","source":0,"src_end":29569,"src_start":29331},{"artifact":1,"gen_end":59158,"gen_start":38784,"node":223,"role":"declaration","source":0,"src_end":45993,"src_start":29571},{"artifact":1,"gen_end":59732,"gen_start":59158,"node":224,"role":"declaration","source":0,"src_end":46420,"src_start":45995},{"artifact":1,"gen_end":60369,"gen_start":59732,"node":225,"role":"declaration","source":0,"src_end":46929,"src_start":46422},{"artifact":1,"gen_end":60671,"gen_start":60369,"node":226,"role":"declaration","source":0,"src_end":47161,"src_start":46931},{"artifact":1,"gen_end":71183,"gen_start":60671,"node":227,"role":"declaration","source":0,"src_end":55137,"src_start":47163},{"artifact":1,"gen_end":71625,"gen_start":71183,"node":228,"role":"declaration","source":0,"src_end":55460,"src_start":55139},{"artifact":1,"gen_end":72171,"gen_start":71625,"node":229,"role":"declaration","source":0,"src_end":55882,"src_start":55462},{"artifact":1,"gen_end":72499,"gen_start":72171,"node":230,"role":"declaration","source":0,"src_end":56130,"src_start":55884},{"artifact":1,"gen_end":82547,"gen_start":72499,"node":231,"role":"declaration","source":0,"src_end":63757,"src_start":56132},{"artifact":1,"gen_end":83123,"gen_start":82547,"node":232,"role":"declaration","source":0,"src_end":64186,"src_start":63759},{"artifact":1,"gen_end":83787,"gen_start":83123,"node":233,"role":"declaration","source":0,"src_end":64710,"src_start":64188},{"artifact":1,"gen_end":84123,"gen_start":83787,"node":234,"role":"declaration","source":0,"src_end":64970,"src_start":64712},{"artifact":1,"gen_end":104502,"gen_start":84123,"node":235,"role":"declaration","source":0,"src_end":81399,"src_start":64972},{"artifact":1,"gen_end":105082,"gen_start":104502,"node":236,"role":"declaration","source":0,"src_end":81832,"src_start":81401},{"artifact":1,"gen_end":105725,"gen_start":105082,"node":237,"role":"declaration","source":0,"src_end":82347,"src_start":81834},{"artifact":1,"gen_end":106033,"gen_start":105725,"node":238,"role":"declaration","source":0,"src_end":82585,"src_start":82349},{"artifact":1,"gen_end":116079,"gen_start":106033,"node":239,"role":"declaration","source":0,"src_end":90210,"src_start":82587},{"artifact":1,"gen_end":116657,"gen_start":116079,"node":240,"role":"declaration","source":0,"src_end":90641,"src_start":90212},{"artifact":1,"gen_end":117323,"gen_start":116657,"node":241,"role":"declaration","source":0,"src_end":91167,"src_start":90643},{"artifact":1,"gen_end":117661,"gen_start":117323,"node":242,"role":"declaration","source":0,"src_end":91429,"src_start":91169},{"artifact":1,"gen_end":130976,"gen_start":117661,"node":243,"role":"declaration","source":0,"src_end":101510,"src_start":91431},{"artifact":1,"gen_end":131847,"gen_start":130976,"node":244,"role":"declaration","source":0,"src_end":102178,"src_start":101512},{"artifact":1,"gen_end":132831,"gen_start":131847,"node":245,"role":"declaration","source":0,"src_end":102974,"src_start":102180},{"artifact":1,"gen_end":133156,"gen_start":132831,"node":246,"role":"declaration","source":0,"src_end":103225,"src_start":102976},{"artifact":1,"gen_end":141227,"gen_start":133156,"node":247,"role":"declaration","source":0,"src_end":109365,"src_start":103227},{"artifact":1,"gen_end":141811,"gen_start":141227,"node":248,"role":"declaration","source":0,"src_end":109802,"src_start":109367},{"artifact":1,"gen_end":142462,"gen_start":141811,"node":249,"role":"declaration","source":0,"src_end":110325,"src_start":109804},{"artifact":1,"gen_end":142803,"gen_start":142462,"node":250,"role":"declaration","source":0,"src_end":110586,"src_start":110327},{"artifact":1,"gen_end":148994,"gen_start":142803,"node":251,"role":"declaration","source":0,"src_end":115319,"src_start":110588},{"artifact":1,"gen_end":149307,"gen_start":148994,"node":252,"role":"declaration","source":0,"src_end":115531,"src_start":115321},{"artifact":1,"gen_end":149680,"gen_start":149307,"node":253,"role":"declaration","source":0,"src_end":115808,"src_start":115533},{"artifact":1,"gen_end":149980,"gen_start":149680,"node":254,"role":"declaration","source":0,"src_end":116038,"src_start":115810},{"artifact":1,"gen_end":159614,"gen_start":149980,"node":255,"role":"declaration","source":0,"src_end":123350,"src_start":116040},{"artifact":1,"gen_end":160196,"gen_start":159614,"node":256,"role":"declaration","source":0,"src_end":123785,"src_start":123352},{"artifact":1,"gen_end":160863,"gen_start":160196,"node":257,"role":"declaration","source":0,"src_end":124312,"src_start":123787},{"artifact":1,"gen_end":161201,"gen_start":160863,"node":258,"role":"declaration","source":0,"src_end":124570,"src_start":124314},{"artifact":1,"gen_end":170603,"gen_start":161201,"node":259,"role":"declaration","source":0,"src_end":131650,"src_start":124572},{"artifact":1,"gen_end":171187,"gen_start":170603,"node":260,"role":"declaration","source":0,"src_end":132087,"src_start":131652},{"artifact":1,"gen_end":171856,"gen_start":171187,"node":261,"role":"declaration","source":0,"src_end":132616,"src_start":132089},{"artifact":1,"gen_end":172196,"gen_start":171856,"node":262,"role":"declaration","source":0,"src_end":132876,"src_start":132618},{"artifact":1,"gen_end":192571,"gen_start":172196,"node":263,"role":"declaration","source":0,"src_end":149301,"src_start":132878},{"artifact":1,"gen_end":193149,"gen_start":192571,"node":264,"role":"declaration","source":0,"src_end":149732,"src_start":149303},{"artifact":1,"gen_end":193790,"gen_start":193149,"node":265,"role":"declaration","source":0,"src_end":150245,"src_start":149734},{"artifact":1,"gen_end":194096,"gen_start":193790,"node":266,"role":"declaration","source":0,"src_end":150481,"src_start":150247},{"artifact":1,"gen_end":207407,"gen_start":194096,"node":267,"role":"declaration","source":0,"src_end":160558,"src_start":150483},{"artifact":1,"gen_end":208276,"gen_start":207407,"node":268,"role":"declaration","source":0,"src_end":161224,"src_start":160560},{"artifact":1,"gen_end":209258,"gen_start":208276,"node":269,"role":"declaration","source":0,"src_end":162018,"src_start":161226},{"artifact":1,"gen_end":209578,"gen_start":209258,"node":270,"role":"declaration","source":0,"src_end":162260,"src_start":162020},{"artifact":1,"gen_end":219814,"gen_start":209578,"node":271,"role":"declaration","source":0,"src_end":170047,"src_start":162262},{"artifact":1,"gen_end":220386,"gen_start":219814,"node":272,"role":"declaration","source":0,"src_end":170472,"src_start":170049},{"artifact":1,"gen_end":221046,"gen_start":220386,"node":273,"role":"declaration","source":0,"src_end":170992,"src_start":170474},{"artifact":1,"gen_end":221375,"gen_start":221046,"node":274,"role":"declaration","source":0,"src_end":171241,"src_start":170994},{"artifact":1,"gen_end":231784,"gen_start":221375,"node":275,"role":"declaration","source":0,"src_end":179187,"src_start":171243},{"artifact":1,"gen_end":232362,"gen_start":231784,"node":276,"role":"declaration","source":0,"src_end":179618,"src_start":179189},{"artifact":1,"gen_end":233028,"gen_start":232362,"node":277,"role":"declaration","source":0,"src_end":180144,"src_start":179620},{"artifact":1,"gen_end":233363,"gen_start":233028,"node":278,"role":"declaration","source":0,"src_end":180399,"src_start":180146},{"artifact":1,"gen_end":243774,"gen_start":233363,"node":279,"role":"declaration","source":0,"src_end":188347,"src_start":180401},{"artifact":1,"gen_end":244354,"gen_start":243774,"node":280,"role":"declaration","source":0,"src_end":188780,"src_start":188349},{"artifact":1,"gen_end":245022,"gen_start":244354,"node":281,"role":"declaration","source":0,"src_end":189308,"src_start":188782},{"artifact":1,"gen_end":245359,"gen_start":245022,"node":282,"role":"declaration","source":0,"src_end":189565,"src_start":189310},{"artifact":1,"gen_end":316303,"gen_start":245359,"node":283,"role":"declaration","source":0,"src_end":244998,"src_start":189567},{"artifact":1,"gen_end":316696,"gen_start":316303,"node":284,"role":"declaration","source":0,"src_end":245278,"src_start":245000},{"artifact":1,"gen_end":317188,"gen_start":316696,"node":285,"role":"declaration","source":0,"src_end":245654,"src_start":245280},{"artifact":1,"gen_end":317512,"gen_start":317188,"node":286,"role":"declaration","source":0,"src_end":245898,"src_start":245656},{"artifact":1,"gen_end":388460,"gen_start":317512,"node":287,"role":"declaration","source":0,"src_end":301335,"src_start":245900},{"artifact":1,"gen_end":388857,"gen_start":388460,"node":288,"role":"declaration","source":0,"src_end":301619,"src_start":301337},{"artifact":1,"gen_end":389353,"gen_start":388857,"node":289,"role":"declaration","source":0,"src_end":301999,"src_start":301621},{"artifact":1,"gen_end":389676,"gen_start":389353,"node":290,"role":"declaration","source":0,"src_end":302244,"src_start":302001},{"artifact":1,"gen_end":399720,"gen_start":389676,"node":291,"role":"declaration","source":0,"src_end":309867,"src_start":302246},{"artifact":1,"gen_end":400296,"gen_start":399720,"node":292,"role":"declaration","source":0,"src_end":310296,"src_start":309869},{"artifact":1,"gen_end":400644,"gen_start":400296,"node":293,"role":"declaration","source":0,"src_end":310566,"src_start":310298},{"artifact":1,"gen_end":405251,"gen_start":400644,"node":294,"role":"declaration","source":0,"src_end":314109,"src_start":310568},{"artifact":1,"gen_end":405525,"gen_start":405251,"node":295,"role":"declaration","source":0,"src_end":314288,"src_start":314111},{"artifact":1,"gen_end":405873,"gen_start":405525,"node":296,"role":"declaration","source":0,"src_end":314558,"src_start":314290},{"artifact":1,"gen_end":415925,"gen_start":405873,"node":297,"role":"declaration","source":0,"src_end":322189,"src_start":314560},{"artifact":1,"gen_end":416513,"gen_start":415925,"node":298,"role":"declaration","source":0,"src_end":322630,"src_start":322191},{"artifact":1,"gen_end":416873,"gen_start":416513,"node":299,"role":"declaration","source":0,"src_end":322912,"src_start":322632},{"artifact":1,"gen_end":427053,"gen_start":416873,"node":300,"role":"declaration","source":0,"src_end":330649,"src_start":322914},{"artifact":1,"gen_end":427627,"gen_start":427053,"node":301,"role":"declaration","source":0,"src_end":331076,"src_start":330651},{"artifact":1,"gen_end":428023,"gen_start":427627,"node":302,"role":"declaration","source":0,"src_end":331386,"src_start":331078},{"artifact":1,"gen_end":438081,"gen_start":428023,"node":303,"role":"declaration","source":0,"src_end":339021,"src_start":331388},{"artifact":1,"gen_end":438669,"gen_start":438081,"node":304,"role":"declaration","source":0,"src_end":339462,"src_start":339023},{"artifact":1,"gen_end":439066,"gen_start":438669,"node":305,"role":"declaration","source":0,"src_end":339773,"src_start":339464},{"artifact":1,"gen_end":443715,"gen_start":439066,"node":306,"role":"declaration","source":0,"src_end":343352,"src_start":339775},{"artifact":1,"gen_end":443997,"gen_start":443715,"node":307,"role":"declaration","source":0,"src_end":343539,"src_start":343354},{"artifact":1,"gen_end":444357,"gen_start":443997,"node":308,"role":"declaration","source":0,"src_end":343821,"src_start":343541},{"artifact":1,"gen_end":454534,"gen_start":444357,"node":309,"role":"declaration","source":0,"src_end":351555,"src_start":343823},{"artifact":1,"gen_end":455112,"gen_start":454534,"node":310,"role":"declaration","source":0,"src_end":351986,"src_start":351557},{"artifact":1,"gen_end":455504,"gen_start":455112,"node":311,"role":"declaration","source":0,"src_end":352292,"src_start":351988},{"artifact":1,"gen_end":464485,"gen_start":455504,"node":312,"role":"declaration","source":0,"src_end":359050,"src_start":352294},{"artifact":1,"gen_end":465055,"gen_start":464485,"node":313,"role":"declaration","source":0,"src_end":359473,"src_start":359052},{"artifact":1,"gen_end":465394,"gen_start":465055,"node":314,"role":"declaration","source":0,"src_end":359734,"src_start":359475},{"artifact":1,"gen_end":475439,"gen_start":465394,"node":315,"role":"declaration","source":0,"src_end":367358,"src_start":359736},{"artifact":1,"gen_end":476017,"gen_start":475439,"node":316,"role":"declaration","source":0,"src_end":367789,"src_start":367360},{"artifact":1,"gen_end":476407,"gen_start":476017,"node":317,"role":"declaration","source":0,"src_end":368093,"src_start":367791},{"artifact":1,"gen_end":486606,"gen_start":476407,"node":318,"role":"declaration","source":0,"src_end":375849,"src_start":368095},{"artifact":1,"gen_end":487220,"gen_start":486606,"node":319,"role":"declaration","source":0,"src_end":376316,"src_start":375851},{"artifact":1,"gen_end":487656,"gen_start":487220,"node":320,"role":"declaration","source":0,"src_end":376666,"src_start":376318},{"artifact":1,"gen_end":497717,"gen_start":487656,"node":321,"role":"declaration","source":0,"src_end":384302,"src_start":376668},{"artifact":1,"gen_end":498305,"gen_start":497717,"node":322,"role":"declaration","source":0,"src_end":384743,"src_start":384304},{"artifact":1,"gen_end":498667,"gen_start":498305,"node":323,"role":"declaration","source":0,"src_end":385027,"src_start":384745},{"artifact":1,"gen_end":503287,"gen_start":498667,"node":324,"role":"declaration","source":0,"src_end":388583,"src_start":385029},{"artifact":1,"gen_end":503573,"gen_start":503287,"node":325,"role":"declaration","source":0,"src_end":388774,"src_start":388585},{"artifact":1,"gen_end":503939,"gen_start":503573,"node":326,"role":"declaration","source":0,"src_end":389062,"src_start":388776},{"artifact":1,"gen_end":513981,"gen_start":503939,"node":327,"role":"declaration","source":0,"src_end":396683,"src_start":389064},{"artifact":1,"gen_end":514567,"gen_start":513981,"node":328,"role":"declaration","source":0,"src_end":397122,"src_start":396685},{"artifact":1,"gen_end":514930,"gen_start":514567,"node":329,"role":"declaration","source":0,"src_end":397407,"src_start":397124},{"artifact":1,"gen_end":524981,"gen_start":514930,"node":330,"role":"declaration","source":0,"src_end":405037,"src_start":397409},{"artifact":1,"gen_end":525571,"gen_start":524981,"node":331,"role":"declaration","source":0,"src_end":405480,"src_start":405039},{"artifact":1,"gen_end":525940,"gen_start":525571,"node":332,"role":"declaration","source":0,"src_end":405771,"src_start":405482},{"artifact":1,"gen_end":530566,"gen_start":525940,"node":333,"role":"declaration","source":0,"src_end":409333,"src_start":405773},{"artifact":1,"gen_end":530860,"gen_start":530566,"node":334,"role":"declaration","source":0,"src_end":409532,"src_start":409335},{"artifact":1,"gen_end":531238,"gen_start":530860,"node":335,"role":"declaration","source":0,"src_end":409832,"src_start":409534},{"artifact":1,"gen_end":541362,"gen_start":531238,"node":336,"role":"declaration","source":0,"src_end":417529,"src_start":409834},{"artifact":1,"gen_end":541968,"gen_start":541362,"node":337,"role":"declaration","source":0,"src_end":417988,"src_start":417531},{"artifact":1,"gen_end":542348,"gen_start":541968,"node":338,"role":"declaration","source":0,"src_end":418290,"src_start":417990},{"artifact":1,"gen_end":552522,"gen_start":542348,"node":339,"role":"declaration","source":0,"src_end":426021,"src_start":418292},{"artifact":1,"gen_end":553090,"gen_start":552522,"node":340,"role":"declaration","source":0,"src_end":426442,"src_start":426023},{"artifact":1,"gen_end":553477,"gen_start":553090,"node":341,"role":"declaration","source":0,"src_end":426743,"src_start":426444},{"artifact":1,"gen_end":573023,"gen_start":553477,"node":342,"role":"declaration","source":0,"src_end":442012,"src_start":426745},{"artifact":1,"gen_end":573323,"gen_start":573023,"node":343,"role":"declaration","source":0,"src_end":442217,"src_start":442014},{"artifact":1,"gen_end":573701,"gen_start":573323,"node":344,"role":"declaration","source":0,"src_end":442517,"src_start":442219},{"artifact":1,"gen_end":644654,"gen_start":573701,"node":345,"role":"declaration","source":0,"src_end":497959,"src_start":442519},{"artifact":1,"gen_end":645067,"gen_start":644654,"node":346,"role":"declaration","source":0,"src_end":498259,"src_start":497961},{"artifact":1,"gen_end":645463,"gen_start":645067,"node":347,"role":"declaration","source":0,"src_end":498569,"src_start":498261},{"artifact":1,"gen_end":655529,"gen_start":645463,"node":348,"role":"declaration","source":0,"src_end":506214,"src_start":498571},{"artifact":1,"gen_end":656123,"gen_start":655529,"node":349,"role":"declaration","source":0,"src_end":506661,"src_start":506216},{"artifact":1,"gen_end":656485,"gen_start":656123,"node":350,"role":"declaration","source":0,"src_end":506945,"src_start":506663},{"artifact":1,"gen_end":666529,"gen_start":656485,"node":351,"role":"declaration","source":0,"src_end":514568,"src_start":506947},{"artifact":1,"gen_end":667109,"gen_start":666529,"node":352,"role":"declaration","source":0,"src_end":515001,"src_start":514570},{"artifact":1,"gen_end":667461,"gen_start":667109,"node":353,"role":"declaration","source":0,"src_end":515275,"src_start":515003},{"artifact":1,"gen_end":677515,"gen_start":667461,"node":354,"role":"declaration","source":0,"src_end":522908,"src_start":515277},{"artifact":1,"gen_end":678109,"gen_start":677515,"node":355,"role":"declaration","source":0,"src_end":523355,"src_start":522910},{"artifact":1,"gen_end":678488,"gen_start":678109,"node":356,"role":"declaration","source":0,"src_end":523656,"src_start":523357},{"artifact":1,"gen_end":688662,"gen_start":678488,"node":357,"role":"declaration","source":0,"src_end":531387,"src_start":523658},{"artifact":1,"gen_end":689230,"gen_start":688662,"node":358,"role":"declaration","source":0,"src_end":531808,"src_start":531389},{"artifact":1,"gen_end":689617,"gen_start":689230,"node":359,"role":"declaration","source":0,"src_end":532109,"src_start":531810},{"artifact":1,"gen_end":699675,"gen_start":689617,"node":360,"role":"declaration","source":0,"src_end":539746,"src_start":532111},{"artifact":1,"gen_end":700277,"gen_start":699675,"node":361,"role":"declaration","source":0,"src_end":540201,"src_start":539748},{"artifact":1,"gen_end":700664,"gen_start":700277,"node":362,"role":"declaration","source":0,"src_end":540510,"src_start":540203},{"artifact":1,"gen_end":710841,"gen_start":700664,"node":363,"role":"declaration","source":0,"src_end":548244,"src_start":540512},{"artifact":1,"gen_end":711423,"gen_start":710841,"node":364,"role":"declaration","source":0,"src_end":548679,"src_start":548246},{"artifact":1,"gen_end":711812,"gen_start":711423,"node":365,"role":"declaration","source":0,"src_end":548982,"src_start":548681},{"artifact":1,"gen_end":722173,"gen_start":711812,"node":366,"role":"declaration","source":0,"src_end":556882,"src_start":548984},{"artifact":1,"gen_end":722763,"gen_start":722173,"node":367,"role":"declaration","source":0,"src_end":557325,"src_start":556884},{"artifact":1,"gen_end":723171,"gen_start":722763,"node":368,"role":"declaration","source":0,"src_end":557647,"src_start":557327},{"artifact":1,"gen_end":733090,"gen_start":723171,"node":369,"role":"declaration","source":0,"src_end":565167,"src_start":557649},{"artifact":1,"gen_end":733676,"gen_start":733090,"node":370,"role":"declaration","source":0,"src_end":565606,"src_start":565169},{"artifact":1,"gen_end":734078,"gen_start":733676,"node":371,"role":"declaration","source":0,"src_end":565922,"src_start":565608},{"artifact":1,"gen_end":744184,"gen_start":734078,"node":372,"role":"declaration","source":0,"src_end":573603,"src_start":565924},{"artifact":1,"gen_end":744784,"gen_start":744184,"node":373,"role":"declaration","source":0,"src_end":574056,"src_start":573605},{"artifact":1,"gen_end":745205,"gen_start":744784,"node":374,"role":"declaration","source":0,"src_end":574391,"src_start":574058},{"artifact":1,"gen_end":755396,"gen_start":745205,"node":375,"role":"declaration","source":0,"src_end":582139,"src_start":574393},{"artifact":1,"gen_end":755984,"gen_start":755396,"node":376,"role":"declaration","source":0,"src_end":582580,"src_start":582141},{"artifact":1,"gen_end":756394,"gen_start":755984,"node":377,"role":"declaration","source":0,"src_end":582904,"src_start":582582},{"artifact":1,"gen_end":766449,"gen_start":756394,"node":378,"role":"declaration","source":0,"src_end":590538,"src_start":582906},{"artifact":1,"gen_end":767035,"gen_start":766449,"node":379,"role":"declaration","source":0,"src_end":590977,"src_start":590540},{"artifact":1,"gen_end":767431,"gen_start":767035,"node":380,"role":"declaration","source":0,"src_end":591287,"src_start":590979},{"artifact":1,"gen_end":777626,"gen_start":767431,"node":381,"role":"declaration","source":0,"src_end":599039,"src_start":591289},{"artifact":1,"gen_end":778220,"gen_start":777626,"node":382,"role":"declaration","source":0,"src_end":599486,"src_start":599041},{"artifact":1,"gen_end":778628,"gen_start":778220,"node":383,"role":"declaration","source":0,"src_end":599808,"src_start":599488},{"artifact":1,"gen_end":788671,"gen_start":778628,"node":384,"role":"declaration","source":0,"src_end":607430,"src_start":599810},{"artifact":1,"gen_end":789251,"gen_start":788671,"node":385,"role":"declaration","source":0,"src_end":607863,"src_start":607432},{"artifact":1,"gen_end":789605,"gen_start":789251,"node":386,"role":"declaration","source":0,"src_end":608139,"src_start":607865},{"artifact":1,"gen_end":799648,"gen_start":789605,"node":387,"role":"declaration","source":0,"src_end":615761,"src_start":608141},{"artifact":1,"gen_end":800228,"gen_start":799648,"node":388,"role":"declaration","source":0,"src_end":616194,"src_start":615763},{"artifact":1,"gen_end":800582,"gen_start":800228,"node":389,"role":"declaration","source":0,"src_end":616470,"src_start":616196},{"artifact":1,"gen_end":810637,"gen_start":800582,"node":390,"role":"declaration","source":0,"src_end":624104,"src_start":616472},{"artifact":1,"gen_end":811227,"gen_start":810637,"node":391,"role":"declaration","source":0,"src_end":624547,"src_start":624106},{"artifact":1,"gen_end":811600,"gen_start":811227,"node":392,"role":"declaration","source":0,"src_end":624842,"src_start":624549},{"artifact":1,"gen_end":821654,"gen_start":811600,"node":393,"role":"declaration","source":0,"src_end":632473,"src_start":624844},{"artifact":1,"gen_end":822234,"gen_start":821654,"node":394,"role":"declaration","source":0,"src_end":632906,"src_start":632475},{"artifact":1,"gen_end":822623,"gen_start":822234,"node":395,"role":"declaration","source":0,"src_end":633209,"src_start":632908},{"artifact":1,"gen_end":832818,"gen_start":822623,"node":396,"role":"declaration","source":0,"src_end":640959,"src_start":633211},{"artifact":1,"gen_end":833408,"gen_start":832818,"node":397,"role":"declaration","source":0,"src_end":641402,"src_start":640961},{"artifact":1,"gen_end":833812,"gen_start":833408,"node":398,"role":"declaration","source":0,"src_end":641720,"src_start":641404},{"artifact":1,"gen_end":843157,"gen_start":833812,"node":399,"role":"declaration","source":0,"src_end":648764,"src_start":641722},{"artifact":1,"gen_end":843719,"gen_start":843157,"node":400,"role":"declaration","source":0,"src_end":649179,"src_start":648766},{"artifact":1,"gen_end":844365,"gen_start":843719,"node":401,"role":"declaration","source":0,"src_end":649685,"src_start":649181},{"artifact":1,"gen_end":844683,"gen_start":844365,"node":402,"role":"declaration","source":0,"src_end":649923,"src_start":649687},{"artifact":1,"gen_end":855272,"gen_start":844683,"node":403,"role":"declaration","source":0,"src_end":657956,"src_start":649925},{"artifact":1,"gen_end":855677,"gen_start":855272,"node":404,"role":"declaration","source":0,"src_end":658248,"src_start":657958},{"artifact":1,"gen_end":856166,"gen_start":855677,"node":405,"role":"declaration","source":0,"src_end":658625,"src_start":658250},{"artifact":1,"gen_end":856472,"gen_start":856166,"node":406,"role":"declaration","source":0,"src_end":658861,"src_start":658627},{"artifact":1,"gen_end":870686,"gen_start":856472,"node":407,"role":"declaration","source":0,"src_end":669575,"src_start":658863},{"artifact":1,"gen_end":871130,"gen_start":870686,"node":408,"role":"declaration","source":0,"src_end":669900,"src_start":669577},{"artifact":1,"gen_end":871678,"gen_start":871130,"node":409,"role":"declaration","source":0,"src_end":670324,"src_start":669902},{"artifact":1,"gen_end":872019,"gen_start":871678,"node":410,"role":"declaration","source":0,"src_end":670591,"src_start":670326},{"artifact":1,"gen_end":872364,"gen_start":872019,"node":411,"role":"declaration","source":0,"src_end":670858,"src_start":670593},{"artifact":1,"gen_end":872709,"gen_start":872364,"node":412,"role":"declaration","source":0,"src_end":671125,"src_start":670860},{"artifact":1,"gen_end":873054,"gen_start":872709,"node":413,"role":"declaration","source":0,"src_end":671392,"src_start":671127},{"artifact":1,"gen_end":873408,"gen_start":873054,"node":414,"role":"declaration","source":0,"src_end":671670,"src_start":671394},{"artifact":1,"gen_end":873697,"gen_start":873408,"node":415,"role":"declaration","source":0,"src_end":671895,"src_start":671672},{"artifact":1,"gen_end":883735,"gen_start":873697,"node":416,"role":"declaration","source":0,"src_end":679512,"src_start":671897},{"artifact":1,"gen_end":884297,"gen_start":883735,"node":417,"role":"declaration","source":0,"src_end":679927,"src_start":679514},{"artifact":1,"gen_end":884947,"gen_start":884297,"node":418,"role":"declaration","source":0,"src_end":680437,"src_start":679929},{"artifact":1,"gen_end":885266,"gen_start":884947,"node":419,"role":"declaration","source":0,"src_end":680676,"src_start":680439},{"artifact":1,"gen_end":885281,"gen_start":885266,"node":210,"role":"declaration","source":0,"src_end":680712,"src_start":0}],"module":"GnafFixtures","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"},{"id":80,"kind":"semantic-declaration"},{"id":81,"kind":"semantic-declaration"},{"id":82,"kind":"semantic-declaration"},{"id":83,"kind":"semantic-declaration"},{"id":84,"kind":"semantic-declaration"},{"id":85,"kind":"semantic-declaration"},{"id":86,"kind":"semantic-declaration"},{"id":87,"kind":"semantic-declaration"},{"id":88,"kind":"semantic-declaration"},{"id":89,"kind":"semantic-declaration"},{"id":90,"kind":"semantic-declaration"},{"id":91,"kind":"semantic-declaration"},{"id":92,"kind":"semantic-declaration"},{"id":93,"kind":"semantic-declaration"},{"id":94,"kind":"semantic-declaration"},{"id":95,"kind":"semantic-declaration"},{"id":96,"kind":"semantic-declaration"},{"id":97,"kind":"semantic-declaration"},{"id":98,"kind":"semantic-declaration"},{"id":99,"kind":"semantic-declaration"},{"id":100,"kind":"semantic-declaration"},{"id":101,"kind":"semantic-declaration"},{"id":102,"kind":"semantic-declaration"},{"id":103,"kind":"semantic-declaration"},{"id":104,"kind":"semantic-declaration"},{"id":105,"kind":"semantic-declaration"},{"id":106,"kind":"semantic-declaration"},{"id":107,"kind":"semantic-declaration"},{"id":108,"kind":"semantic-declaration"},{"id":109,"kind":"semantic-declaration"},{"id":110,"kind":"semantic-declaration"},{"id":111,"kind":"semantic-declaration"},{"id":112,"kind":"semantic-declaration"},{"id":113,"kind":"semantic-declaration"},{"id":114,"kind":"semantic-declaration"},{"id":115,"kind":"semantic-declaration"},{"id":116,"kind":"semantic-declaration"},{"id":117,"kind":"semantic-declaration"},{"id":118,"kind":"semantic-declaration"},{"id":119,"kind":"semantic-declaration"},{"id":120,"kind":"semantic-declaration"},{"id":121,"kind":"semantic-declaration"},{"id":122,"kind":"semantic-declaration"},{"id":123,"kind":"semantic-declaration"},{"id":124,"kind":"semantic-declaration"},{"id":125,"kind":"semantic-declaration"},{"id":126,"kind":"semantic-declaration"},{"id":127,"kind":"semantic-declaration"},{"id":128,"kind":"semantic-declaration"},{"id":129,"kind":"semantic-declaration"},{"id":130,"kind":"semantic-declaration"},{"id":131,"kind":"semantic-declaration"},{"id":132,"kind":"semantic-declaration"},{"id":133,"kind":"semantic-declaration"},{"id":134,"kind":"semantic-declaration"},{"id":135,"kind":"semantic-declaration"},{"id":136,"kind":"semantic-declaration"},{"id":137,"kind":"semantic-declaration"},{"id":138,"kind":"semantic-declaration"},{"id":139,"kind":"semantic-declaration"},{"id":140,"kind":"semantic-declaration"},{"id":141,"kind":"semantic-declaration"},{"id":142,"kind":"semantic-declaration"},{"id":143,"kind":"semantic-declaration"},{"id":144,"kind":"semantic-declaration"},{"id":145,"kind":"semantic-declaration"},{"id":146,"kind":"semantic-declaration"},{"id":147,"kind":"semantic-declaration"},{"id":148,"kind":"semantic-declaration"},{"id":149,"kind":"semantic-declaration"},{"id":150,"kind":"semantic-declaration"},{"id":151,"kind":"semantic-declaration"},{"id":152,"kind":"semantic-declaration"},{"id":153,"kind":"semantic-declaration"},{"id":154,"kind":"semantic-declaration"},{"id":155,"kind":"semantic-declaration"},{"id":156,"kind":"semantic-declaration"},{"id":157,"kind":"semantic-declaration"},{"id":158,"kind":"semantic-declaration"},{"id":159,"kind":"semantic-declaration"},{"id":160,"kind":"semantic-declaration"},{"id":161,"kind":"semantic-declaration"},{"id":162,"kind":"semantic-declaration"},{"id":163,"kind":"semantic-declaration"},{"id":164,"kind":"semantic-declaration"},{"id":165,"kind":"semantic-declaration"},{"id":166,"kind":"semantic-declaration"},{"id":167,"kind":"semantic-declaration"},{"id":168,"kind":"semantic-declaration"},{"id":169,"kind":"semantic-declaration"},{"id":170,"kind":"semantic-declaration"},{"id":171,"kind":"semantic-declaration"},{"id":172,"kind":"semantic-declaration"},{"id":173,"kind":"semantic-declaration"},{"id":174,"kind":"semantic-declaration"},{"id":175,"kind":"semantic-declaration"},{"id":176,"kind":"semantic-declaration"},{"id":177,"kind":"semantic-declaration"},{"id":178,"kind":"semantic-declaration"},{"id":179,"kind":"semantic-declaration"},{"id":180,"kind":"semantic-declaration"},{"id":181,"kind":"semantic-declaration"},{"id":182,"kind":"semantic-declaration"},{"id":183,"kind":"semantic-declaration"},{"id":184,"kind":"semantic-declaration"},{"id":185,"kind":"semantic-declaration"},{"id":186,"kind":"semantic-declaration"},{"id":187,"kind":"semantic-declaration"},{"id":188,"kind":"semantic-declaration"},{"id":189,"kind":"semantic-declaration"},{"id":190,"kind":"semantic-declaration"},{"id":191,"kind":"semantic-declaration"},{"id":192,"kind":"semantic-declaration"},{"id":193,"kind":"semantic-declaration"},{"id":194,"kind":"semantic-declaration"},{"id":195,"kind":"semantic-declaration"},{"id":196,"kind":"semantic-declaration"},{"id":197,"kind":"semantic-declaration"},{"id":198,"kind":"semantic-declaration"},{"id":199,"kind":"semantic-declaration"},{"id":200,"kind":"semantic-declaration"},{"id":201,"kind":"semantic-declaration"},{"id":202,"kind":"semantic-declaration"},{"id":203,"kind":"semantic-declaration"},{"id":204,"kind":"semantic-declaration"},{"id":205,"kind":"semantic-declaration"},{"id":206,"kind":"semantic-declaration"},{"id":207,"kind":"semantic-declaration"},{"id":208,"kind":"semantic-declaration"},{"id":209,"kind":"semantic-declaration"},{"id":210,"kind":"semantic-latex-module"},{"id":211,"kind":"semantic-declaration"},{"id":212,"kind":"semantic-declaration"},{"id":213,"kind":"semantic-declaration"},{"id":214,"kind":"semantic-declaration"},{"id":215,"kind":"semantic-declaration"},{"id":216,"kind":"semantic-declaration"},{"id":217,"kind":"semantic-declaration"},{"id":218,"kind":"semantic-declaration"},{"id":219,"kind":"semantic-declaration"},{"id":220,"kind":"semantic-declaration"},{"id":221,"kind":"semantic-declaration"},{"id":222,"kind":"semantic-declaration"},{"id":223,"kind":"semantic-declaration"},{"id":224,"kind":"semantic-declaration"},{"id":225,"kind":"semantic-declaration"},{"id":226,"kind":"semantic-declaration"},{"id":227,"kind":"semantic-declaration"},{"id":228,"kind":"semantic-declaration"},{"id":229,"kind":"semantic-declaration"},{"id":230,"kind":"semantic-declaration"},{"id":231,"kind":"semantic-declaration"},{"id":232,"kind":"semantic-declaration"},{"id":233,"kind":"semantic-declaration"},{"id":234,"kind":"semantic-declaration"},{"id":235,"kind":"semantic-declaration"},{"id":236,"kind":"semantic-declaration"},{"id":237,"kind":"semantic-declaration"},{"id":238,"kind":"semantic-declaration"},{"id":239,"kind":"semantic-declaration"},{"id":240,"kind":"semantic-declaration"},{"id":241,"kind":"semantic-declaration"},{"id":242,"kind":"semantic-declaration"},{"id":243,"kind":"semantic-declaration"},{"id":244,"kind":"semantic-declaration"},{"id":245,"kind":"semantic-declaration"},{"id":246,"kind":"semantic-declaration"},{"id":247,"kind":"semantic-declaration"},{"id":248,"kind":"semantic-declaration"},{"id":249,"kind":"semantic-declaration"},{"id":250,"kind":"semantic-declaration"},{"id":251,"kind":"semantic-declaration"},{"id":252,"kind":"semantic-declaration"},{"id":253,"kind":"semantic-declaration"},{"id":254,"kind":"semantic-declaration"},{"id":255,"kind":"semantic-declaration"},{"id":256,"kind":"semantic-declaration"},{"id":257,"kind":"semantic-declaration"},{"id":258,"kind":"semantic-declaration"},{"id":259,"kind":"semantic-declaration"},{"id":260,"kind":"semantic-declaration"},{"id":261,"kind":"semantic-declaration"},{"id":262,"kind":"semantic-declaration"},{"id":263,"kind":"semantic-declaration"},{"id":264,"kind":"semantic-declaration"},{"id":265,"kind":"semantic-declaration"},{"id":266,"kind":"semantic-declaration"},{"id":267,"kind":"semantic-declaration"},{"id":268,"kind":"semantic-declaration"},{"id":269,"kind":"semantic-declaration"},{"id":270,"kind":"semantic-declaration"},{"id":271,"kind":"semantic-declaration"},{"id":272,"kind":"semantic-declaration"},{"id":273,"kind":"semantic-declaration"},{"id":274,"kind":"semantic-declaration"},{"id":275,"kind":"semantic-declaration"},{"id":276,"kind":"semantic-declaration"},{"id":277,"kind":"semantic-declaration"},{"id":278,"kind":"semantic-declaration"},{"id":279,"kind":"semantic-declaration"},{"id":280,"kind":"semantic-declaration"},{"id":281,"kind":"semantic-declaration"},{"id":282,"kind":"semantic-declaration"},{"id":283,"kind":"semantic-declaration"},{"id":284,"kind":"semantic-declaration"},{"id":285,"kind":"semantic-declaration"},{"id":286,"kind":"semantic-declaration"},{"id":287,"kind":"semantic-declaration"},{"id":288,"kind":"semantic-declaration"},{"id":289,"kind":"semantic-declaration"},{"id":290,"kind":"semantic-declaration"},{"id":291,"kind":"semantic-declaration"},{"id":292,"kind":"semantic-declaration"},{"id":293,"kind":"semantic-declaration"},{"id":294,"kind":"semantic-declaration"},{"id":295,"kind":"semantic-declaration"},{"id":296,"kind":"semantic-declaration"},{"id":297,"kind":"semantic-declaration"},{"id":298,"kind":"semantic-declaration"},{"id":299,"kind":"semantic-declaration"},{"id":300,"kind":"semantic-declaration"},{"id":301,"kind":"semantic-declaration"},{"id":302,"kind":"semantic-declaration"},{"id":303,"kind":"semantic-declaration"},{"id":304,"kind":"semantic-declaration"},{"id":305,"kind":"semantic-declaration"},{"id":306,"kind":"semantic-declaration"},{"id":307,"kind":"semantic-declaration"},{"id":308,"kind":"semantic-declaration"},{"id":309,"kind":"semantic-declaration"},{"id":310,"kind":"semantic-declaration"},{"id":311,"kind":"semantic-declaration"},{"id":312,"kind":"semantic-declaration"},{"id":313,"kind":"semantic-declaration"},{"id":314,"kind":"semantic-declaration"},{"id":315,"kind":"semantic-declaration"},{"id":316,"kind":"semantic-declaration"},{"id":317,"kind":"semantic-declaration"},{"id":318,"kind":"semantic-declaration"},{"id":319,"kind":"semantic-declaration"},{"id":320,"kind":"semantic-declaration"},{"id":321,"kind":"semantic-declaration"},{"id":322,"kind":"semantic-declaration"},{"id":323,"kind":"semantic-declaration"},{"id":324,"kind":"semantic-declaration"},{"id":325,"kind":"semantic-declaration"},{"id":326,"kind":"semantic-declaration"},{"id":327,"kind":"semantic-declaration"},{"id":328,"kind":"semantic-declaration"},{"id":329,"kind":"semantic-declaration"},{"id":330,"kind":"semantic-declaration"},{"id":331,"kind":"semantic-declaration"},{"id":332,"kind":"semantic-declaration"},{"id":333,"kind":"semantic-declaration"},{"id":334,"kind":"semantic-declaration"},{"id":335,"kind":"semantic-declaration"},{"id":336,"kind":"semantic-declaration"},{"id":337,"kind":"semantic-declaration"},{"id":338,"kind":"semantic-declaration"},{"id":339,"kind":"semantic-declaration"},{"id":340,"kind":"semantic-declaration"},{"id":341,"kind":"semantic-declaration"},{"id":342,"kind":"semantic-declaration"},{"id":343,"kind":"semantic-declaration"},{"id":344,"kind":"semantic-declaration"},{"id":345,"kind":"semantic-declaration"},{"id":346,"kind":"semantic-declaration"},{"id":347,"kind":"semantic-declaration"},{"id":348,"kind":"semantic-declaration"},{"id":349,"kind":"semantic-declaration"},{"id":350,"kind":"semantic-declaration"},{"id":351,"kind":"semantic-declaration"},{"id":352,"kind":"semantic-declaration"},{"id":353,"kind":"semantic-declaration"},{"id":354,"kind":"semantic-declaration"},{"id":355,"kind":"semantic-declaration"},{"id":356,"kind":"semantic-declaration"},{"id":357,"kind":"semantic-declaration"},{"id":358,"kind":"semantic-declaration"},{"id":359,"kind":"semantic-declaration"},{"id":360,"kind":"semantic-declaration"},{"id":361,"kind":"semantic-declaration"},{"id":362,"kind":"semantic-declaration"},{"id":363,"kind":"semantic-declaration"},{"id":364,"kind":"semantic-declaration"},{"id":365,"kind":"semantic-declaration"},{"id":366,"kind":"semantic-declaration"},{"id":367,"kind":"semantic-declaration"},{"id":368,"kind":"semantic-declaration"},{"id":369,"kind":"semantic-declaration"},{"id":370,"kind":"semantic-declaration"},{"id":371,"kind":"semantic-declaration"},{"id":372,"kind":"semantic-declaration"},{"id":373,"kind":"semantic-declaration"},{"id":374,"kind":"semantic-declaration"},{"id":375,"kind":"semantic-declaration"},{"id":376,"kind":"semantic-declaration"},{"id":377,"kind":"semantic-declaration"},{"id":378,"kind":"semantic-declaration"},{"id":379,"kind":"semantic-declaration"},{"id":380,"kind":"semantic-declaration"},{"id":381,"kind":"semantic-declaration"},{"id":382,"kind":"semantic-declaration"},{"id":383,"kind":"semantic-declaration"},{"id":384,"kind":"semantic-declaration"},{"id":385,"kind":"semantic-declaration"},{"id":386,"kind":"semantic-declaration"},{"id":387,"kind":"semantic-declaration"},{"id":388,"kind":"semantic-declaration"},{"id":389,"kind":"semantic-declaration"},{"id":390,"kind":"semantic-declaration"},{"id":391,"kind":"semantic-declaration"},{"id":392,"kind":"semantic-declaration"},{"id":393,"kind":"semantic-declaration"},{"id":394,"kind":"semantic-declaration"},{"id":395,"kind":"semantic-declaration"},{"id":396,"kind":"semantic-declaration"},{"id":397,"kind":"semantic-declaration"},{"id":398,"kind":"semantic-declaration"},{"id":399,"kind":"semantic-declaration"},{"id":400,"kind":"semantic-declaration"},{"id":401,"kind":"semantic-declaration"},{"id":402,"kind":"semantic-declaration"},{"id":403,"kind":"semantic-declaration"},{"id":404,"kind":"semantic-declaration"},{"id":405,"kind":"semantic-declaration"},{"id":406,"kind":"semantic-declaration"},{"id":407,"kind":"semantic-declaration"},{"id":408,"kind":"semantic-declaration"},{"id":409,"kind":"semantic-declaration"},{"id":410,"kind":"semantic-declaration"},{"id":411,"kind":"semantic-declaration"},{"id":412,"kind":"semantic-declaration"},{"id":413,"kind":"semantic-declaration"},{"id":414,"kind":"semantic-declaration"},{"id":415,"kind":"semantic-declaration"},{"id":416,"kind":"semantic-declaration"},{"id":417,"kind":"semantic-declaration"},{"id":418,"kind":"semantic-declaration"},{"id":419,"kind":"semantic-declaration"}],"semantic_id":"db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9","source_id":"2f76ada498f17258f8a526df0820565414e563312654a2a7396b586dd3b407d1","sources":[{"id":0,"kind":"file","path":"src/GnafFixtures.lex.tex","sha256":"e7f06e087d0ec40b8dd61f2fe1c51258ec55d93f5e5e16938c27598661e8d913"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/GnafFixtures.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/GnafFixtures.tex"}],"mappings":[{"artifact":0,"gen_end":327,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":680712,"src_start":0},{"artifact":0,"gen_end":10109,"gen_start":327,"node":1,"role":"declaration","source":0,"src_end":7817,"src_start":200},{"artifact":0,"gen_end":10564,"gen_start":10109,"node":2,"role":"declaration","source":0,"src_end":8234,"src_start":7819},{"artifact":0,"gen_end":11066,"gen_start":10564,"node":3,"role":"declaration","source":0,"src_end":8746,"src_start":8236},{"artifact":0,"gen_end":11237,"gen_start":11066,"node":4,"role":"declaration","source":0,"src_end":8987,"src_start":8748},{"artifact":0,"gen_end":21021,"gen_start":11237,"node":5,"role":"declaration","source":0,"src_end":16608,"src_start":8989},{"artifact":0,"gen_end":21482,"gen_start":21021,"node":6,"role":"declaration","source":0,"src_end":17031,"src_start":16610},{"artifact":0,"gen_end":21990,"gen_start":21482,"node":7,"role":"declaration","source":0,"src_end":17549,"src_start":17033},{"artifact":0,"gen_end":22167,"gen_start":21990,"node":8,"role":"declaration","source":0,"src_end":17796,"src_start":17551},{"artifact":0,"gen_end":35192,"gen_start":22167,"node":9,"role":"declaration","source":0,"src_end":27873,"src_start":17798},{"artifact":0,"gen_end":35950,"gen_start":35192,"node":10,"role":"declaration","source":0,"src_end":28537,"src_start":27875},{"artifact":0,"gen_end":36780,"gen_start":35950,"node":11,"role":"declaration","source":0,"src_end":29329,"src_start":28539},{"artifact":0,"gen_end":36948,"gen_start":36780,"node":12,"role":"declaration","source":0,"src_end":29569,"src_start":29331},{"artifact":0,"gen_end":57064,"gen_start":36948,"node":13,"role":"declaration","source":0,"src_end":45993,"src_start":29571},{"artifact":0,"gen_end":57529,"gen_start":57064,"node":14,"role":"declaration","source":0,"src_end":46420,"src_start":45995},{"artifact":0,"gen_end":58016,"gen_start":57529,"node":15,"role":"declaration","source":0,"src_end":46929,"src_start":46422},{"artifact":0,"gen_end":58168,"gen_start":58016,"node":16,"role":"declaration","source":0,"src_end":47161,"src_start":46931},{"artifact":0,"gen_end":68390,"gen_start":58168,"node":17,"role":"declaration","source":0,"src_end":55137,"src_start":47163},{"artifact":0,"gen_end":68723,"gen_start":68390,"node":18,"role":"declaration","source":0,"src_end":55460,"src_start":55139},{"artifact":0,"gen_end":69119,"gen_start":68723,"node":19,"role":"declaration","source":0,"src_end":55882,"src_start":55462},{"artifact":0,"gen_end":69297,"gen_start":69119,"node":20,"role":"declaration","source":0,"src_end":56130,"src_start":55884},{"artifact":0,"gen_end":79087,"gen_start":69297,"node":21,"role":"declaration","source":0,"src_end":63757,"src_start":56132},{"artifact":0,"gen_end":79554,"gen_start":79087,"node":22,"role":"declaration","source":0,"src_end":64186,"src_start":63759},{"artifact":0,"gen_end":80068,"gen_start":79554,"node":23,"role":"declaration","source":0,"src_end":64710,"src_start":64188},{"artifact":0,"gen_end":80254,"gen_start":80068,"node":24,"role":"declaration","source":0,"src_end":64970,"src_start":64712},{"artifact":0,"gen_end":100375,"gen_start":80254,"node":25,"role":"declaration","source":0,"src_end":81399,"src_start":64972},{"artifact":0,"gen_end":100846,"gen_start":100375,"node":26,"role":"declaration","source":0,"src_end":81832,"src_start":81401},{"artifact":0,"gen_end":101339,"gen_start":100846,"node":27,"role":"declaration","source":0,"src_end":82347,"src_start":81834},{"artifact":0,"gen_end":101497,"gen_start":101339,"node":28,"role":"declaration","source":0,"src_end":82585,"src_start":82349},{"artifact":0,"gen_end":111285,"gen_start":101497,"node":29,"role":"declaration","source":0,"src_end":90210,"src_start":82587},{"artifact":0,"gen_end":111754,"gen_start":111285,"node":30,"role":"declaration","source":0,"src_end":90641,"src_start":90212},{"artifact":0,"gen_end":112270,"gen_start":111754,"node":31,"role":"declaration","source":0,"src_end":91167,"src_start":90643},{"artifact":0,"gen_end":112458,"gen_start":112270,"node":32,"role":"declaration","source":0,"src_end":91429,"src_start":91169},{"artifact":0,"gen_end":125487,"gen_start":112458,"node":33,"role":"declaration","source":0,"src_end":101510,"src_start":91431},{"artifact":0,"gen_end":126249,"gen_start":125487,"node":34,"role":"declaration","source":0,"src_end":102178,"src_start":101512},{"artifact":0,"gen_end":127083,"gen_start":126249,"node":35,"role":"declaration","source":0,"src_end":102974,"src_start":102180},{"artifact":0,"gen_end":127258,"gen_start":127083,"node":36,"role":"declaration","source":0,"src_end":103225,"src_start":102976},{"artifact":0,"gen_end":135083,"gen_start":127258,"node":37,"role":"declaration","source":0,"src_end":109365,"src_start":103227},{"artifact":0,"gen_end":135558,"gen_start":135083,"node":38,"role":"declaration","source":0,"src_end":109802,"src_start":109367},{"artifact":0,"gen_end":136059,"gen_start":135558,"node":39,"role":"declaration","source":0,"src_end":110325,"src_start":109804},{"artifact":0,"gen_end":136250,"gen_start":136059,"node":40,"role":"declaration","source":0,"src_end":110586,"src_start":110327},{"artifact":0,"gen_end":142223,"gen_start":136250,"node":41,"role":"declaration","source":0,"src_end":115319,"src_start":110588},{"artifact":0,"gen_end":142427,"gen_start":142223,"node":42,"role":"declaration","source":0,"src_end":115531,"src_start":115321},{"artifact":0,"gen_end":142650,"gen_start":142427,"node":43,"role":"declaration","source":0,"src_end":115808,"src_start":115533},{"artifact":0,"gen_end":142800,"gen_start":142650,"node":44,"role":"declaration","source":0,"src_end":116038,"src_start":115810},{"artifact":0,"gen_end":152176,"gen_start":142800,"node":45,"role":"declaration","source":0,"src_end":123350,"src_start":116040},{"artifact":0,"gen_end":152649,"gen_start":152176,"node":46,"role":"declaration","source":0,"src_end":123785,"src_start":123352},{"artifact":0,"gen_end":153166,"gen_start":152649,"node":47,"role":"declaration","source":0,"src_end":124312,"src_start":123787},{"artifact":0,"gen_end":153354,"gen_start":153166,"node":48,"role":"declaration","source":0,"src_end":124570,"src_start":124314},{"artifact":0,"gen_end":162498,"gen_start":153354,"node":49,"role":"declaration","source":0,"src_end":131650,"src_start":124572},{"artifact":0,"gen_end":162973,"gen_start":162498,"node":50,"role":"declaration","source":0,"src_end":132087,"src_start":131652},{"artifact":0,"gen_end":163492,"gen_start":162973,"node":51,"role":"declaration","source":0,"src_end":132616,"src_start":132089},{"artifact":0,"gen_end":163682,"gen_start":163492,"node":52,"role":"declaration","source":0,"src_end":132876,"src_start":132618},{"artifact":0,"gen_end":183799,"gen_start":163682,"node":53,"role":"declaration","source":0,"src_end":149301,"src_start":132878},{"artifact":0,"gen_end":184268,"gen_start":183799,"node":54,"role":"declaration","source":0,"src_end":149732,"src_start":149303},{"artifact":0,"gen_end":184759,"gen_start":184268,"node":55,"role":"declaration","source":0,"src_end":150245,"src_start":149734},{"artifact":0,"gen_end":184915,"gen_start":184759,"node":56,"role":"declaration","source":0,"src_end":150481,"src_start":150247},{"artifact":0,"gen_end":197940,"gen_start":184915,"node":57,"role":"declaration","source":0,"src_end":160558,"src_start":150483},{"artifact":0,"gen_end":198700,"gen_start":197940,"node":58,"role":"declaration","source":0,"src_end":161224,"src_start":160560},{"artifact":0,"gen_end":199532,"gen_start":198700,"node":59,"role":"declaration","source":0,"src_end":162018,"src_start":161226},{"artifact":0,"gen_end":199702,"gen_start":199532,"node":60,"role":"declaration","source":0,"src_end":162260,"src_start":162020},{"artifact":0,"gen_end":209678,"gen_start":199702,"node":61,"role":"declaration","source":0,"src_end":170047,"src_start":162262},{"artifact":0,"gen_end":210141,"gen_start":209678,"node":62,"role":"declaration","source":0,"src_end":170472,"src_start":170049},{"artifact":0,"gen_end":210651,"gen_start":210141,"node":63,"role":"declaration","source":0,"src_end":170992,"src_start":170474},{"artifact":0,"gen_end":210830,"gen_start":210651,"node":64,"role":"declaration","source":0,"src_end":171241,"src_start":170994},{"artifact":0,"gen_end":220977,"gen_start":210830,"node":65,"role":"declaration","source":0,"src_end":179187,"src_start":171243},{"artifact":0,"gen_end":221446,"gen_start":220977,"node":66,"role":"declaration","source":0,"src_end":179618,"src_start":179189},{"artifact":0,"gen_end":221962,"gen_start":221446,"node":67,"role":"declaration","source":0,"src_end":180144,"src_start":179620},{"artifact":0,"gen_end":222147,"gen_start":221962,"node":68,"role":"declaration","source":0,"src_end":180399,"src_start":180146},{"artifact":0,"gen_end":232296,"gen_start":222147,"node":69,"role":"declaration","source":0,"src_end":188347,"src_start":180401},{"artifact":0,"gen_end":232767,"gen_start":232296,"node":70,"role":"declaration","source":0,"src_end":188780,"src_start":188349},{"artifact":0,"gen_end":233285,"gen_start":232767,"node":71,"role":"declaration","source":0,"src_end":189308,"src_start":188782},{"artifact":0,"gen_end":233472,"gen_start":233285,"node":72,"role":"declaration","source":0,"src_end":189565,"src_start":189310},{"artifact":0,"gen_end":304190,"gen_start":233472,"node":73,"role":"declaration","source":0,"src_end":244998,"src_start":189567},{"artifact":0,"gen_end":304474,"gen_start":304190,"node":74,"role":"declaration","source":0,"src_end":245278,"src_start":245000},{"artifact":0,"gen_end":304816,"gen_start":304474,"node":75,"role":"declaration","source":0,"src_end":245654,"src_start":245280},{"artifact":0,"gen_end":304990,"gen_start":304816,"node":76,"role":"declaration","source":0,"src_end":245898,"src_start":245656},{"artifact":0,"gen_end":375712,"gen_start":304990,"node":77,"role":"declaration","source":0,"src_end":301335,"src_start":245900},{"artifact":0,"gen_end":376000,"gen_start":375712,"node":78,"role":"declaration","source":0,"src_end":301619,"src_start":301337},{"artifact":0,"gen_end":376346,"gen_start":376000,"node":79,"role":"declaration","source":0,"src_end":301999,"src_start":301621},{"artifact":0,"gen_end":376519,"gen_start":376346,"node":80,"role":"declaration","source":0,"src_end":302244,"src_start":302001},{"artifact":0,"gen_end":386305,"gen_start":376519,"node":81,"role":"declaration","source":0,"src_end":309867,"src_start":302246},{"artifact":0,"gen_end":386772,"gen_start":386305,"node":82,"role":"declaration","source":0,"src_end":310296,"src_start":309869},{"artifact":0,"gen_end":386970,"gen_start":386772,"node":83,"role":"declaration","source":0,"src_end":310566,"src_start":310298},{"artifact":0,"gen_end":391377,"gen_start":386970,"node":84,"role":"declaration","source":0,"src_end":314109,"src_start":310568},{"artifact":0,"gen_end":391542,"gen_start":391377,"node":85,"role":"declaration","source":0,"src_end":314288,"src_start":314111},{"artifact":0,"gen_end":391740,"gen_start":391542,"node":86,"role":"declaration","source":0,"src_end":314558,"src_start":314290},{"artifact":0,"gen_end":401534,"gen_start":391740,"node":87,"role":"declaration","source":0,"src_end":322189,"src_start":314560},{"artifact":0,"gen_end":402013,"gen_start":401534,"node":88,"role":"declaration","source":0,"src_end":322630,"src_start":322191},{"artifact":0,"gen_end":402223,"gen_start":402013,"node":89,"role":"declaration","source":0,"src_end":322912,"src_start":322632},{"artifact":0,"gen_end":412143,"gen_start":402223,"node":90,"role":"declaration","source":0,"src_end":330649,"src_start":322914},{"artifact":0,"gen_end":412608,"gen_start":412143,"node":91,"role":"declaration","source":0,"src_end":331076,"src_start":330651},{"artifact":0,"gen_end":412854,"gen_start":412608,"node":92,"role":"declaration","source":0,"src_end":331386,"src_start":331078},{"artifact":0,"gen_end":422654,"gen_start":412854,"node":93,"role":"declaration","source":0,"src_end":339021,"src_start":331388},{"artifact":0,"gen_end":423133,"gen_start":422654,"node":94,"role":"declaration","source":0,"src_end":339462,"src_start":339023},{"artifact":0,"gen_end":423380,"gen_start":423133,"node":95,"role":"declaration","source":0,"src_end":339773,"src_start":339464},{"artifact":0,"gen_end":427829,"gen_start":423380,"node":96,"role":"declaration","source":0,"src_end":343352,"src_start":339775},{"artifact":0,"gen_end":428002,"gen_start":427829,"node":97,"role":"declaration","source":0,"src_end":343539,"src_start":343354},{"artifact":0,"gen_end":428212,"gen_start":428002,"node":98,"role":"declaration","source":0,"src_end":343821,"src_start":343541},{"artifact":0,"gen_end":438129,"gen_start":428212,"node":99,"role":"declaration","source":0,"src_end":351555,"src_start":343823},{"artifact":0,"gen_end":438598,"gen_start":438129,"node":100,"role":"declaration","source":0,"src_end":351986,"src_start":351557},{"artifact":0,"gen_end":438840,"gen_start":438598,"node":101,"role":"declaration","source":0,"src_end":352292,"src_start":351988},{"artifact":0,"gen_end":447563,"gen_start":438840,"node":102,"role":"declaration","source":0,"src_end":359050,"src_start":352294},{"artifact":0,"gen_end":448024,"gen_start":447563,"node":103,"role":"declaration","source":0,"src_end":359473,"src_start":359052},{"artifact":0,"gen_end":448213,"gen_start":448024,"node":104,"role":"declaration","source":0,"src_end":359734,"src_start":359475},{"artifact":0,"gen_end":458000,"gen_start":448213,"node":105,"role":"declaration","source":0,"src_end":367358,"src_start":359736},{"artifact":0,"gen_end":458469,"gen_start":458000,"node":106,"role":"declaration","source":0,"src_end":367789,"src_start":367360},{"artifact":0,"gen_end":458709,"gen_start":458469,"node":107,"role":"declaration","source":0,"src_end":368093,"src_start":367791},{"artifact":0,"gen_end":468648,"gen_start":458709,"node":108,"role":"declaration","source":0,"src_end":375849,"src_start":368095},{"artifact":0,"gen_end":469153,"gen_start":468648,"node":109,"role":"declaration","source":0,"src_end":376316,"src_start":375851},{"artifact":0,"gen_end":469439,"gen_start":469153,"node":110,"role":"declaration","source":0,"src_end":376666,"src_start":376318},{"artifact":0,"gen_end":479242,"gen_start":469439,"node":111,"role":"declaration","source":0,"src_end":384302,"src_start":376668},{"artifact":0,"gen_end":479721,"gen_start":479242,"node":112,"role":"declaration","source":0,"src_end":384743,"src_start":384304},{"artifact":0,"gen_end":479933,"gen_start":479721,"node":113,"role":"declaration","source":0,"src_end":385027,"src_start":384745},{"artifact":0,"gen_end":484353,"gen_start":479933,"node":114,"role":"declaration","source":0,"src_end":388583,"src_start":385029},{"artifact":0,"gen_end":484530,"gen_start":484353,"node":115,"role":"declaration","source":0,"src_end":388774,"src_start":388585},{"artifact":0,"gen_end":484746,"gen_start":484530,"node":116,"role":"declaration","source":0,"src_end":389062,"src_start":388776},{"artifact":0,"gen_end":494530,"gen_start":484746,"node":117,"role":"declaration","source":0,"src_end":396683,"src_start":389064},{"artifact":0,"gen_end":495007,"gen_start":494530,"node":118,"role":"declaration","source":0,"src_end":397122,"src_start":396685},{"artifact":0,"gen_end":495220,"gen_start":495007,"node":119,"role":"declaration","source":0,"src_end":397407,"src_start":397124},{"artifact":0,"gen_end":505013,"gen_start":495220,"node":120,"role":"declaration","source":0,"src_end":405037,"src_start":397409},{"artifact":0,"gen_end":505494,"gen_start":505013,"node":121,"role":"declaration","source":0,"src_end":405480,"src_start":405039},{"artifact":0,"gen_end":505713,"gen_start":505494,"node":122,"role":"declaration","source":0,"src_end":405771,"src_start":405482},{"artifact":0,"gen_end":510139,"gen_start":505713,"node":123,"role":"declaration","source":0,"src_end":409333,"src_start":405773},{"artifact":0,"gen_end":510324,"gen_start":510139,"node":124,"role":"declaration","source":0,"src_end":409532,"src_start":409335},{"artifact":0,"gen_end":510552,"gen_start":510324,"node":125,"role":"declaration","source":0,"src_end":409832,"src_start":409534},{"artifact":0,"gen_end":520418,"gen_start":510552,"node":126,"role":"declaration","source":0,"src_end":417529,"src_start":409834},{"artifact":0,"gen_end":520915,"gen_start":520418,"node":127,"role":"declaration","source":0,"src_end":417988,"src_start":417531},{"artifact":0,"gen_end":521145,"gen_start":520915,"node":128,"role":"declaration","source":0,"src_end":418290,"src_start":417990},{"artifact":0,"gen_end":531059,"gen_start":521145,"node":129,"role":"declaration","source":0,"src_end":426021,"src_start":418292},{"artifact":0,"gen_end":531518,"gen_start":531059,"node":130,"role":"declaration","source":0,"src_end":426442,"src_start":426023},{"artifact":0,"gen_end":531755,"gen_start":531518,"node":131,"role":"declaration","source":0,"src_end":426743,"src_start":426444},{"artifact":0,"gen_end":551125,"gen_start":531755,"node":132,"role":"declaration","source":0,"src_end":442012,"src_start":426745},{"artifact":0,"gen_end":551316,"gen_start":551125,"node":133,"role":"declaration","source":0,"src_end":442217,"src_start":442014},{"artifact":0,"gen_end":551544,"gen_start":551316,"node":134,"role":"declaration","source":0,"src_end":442517,"src_start":442219},{"artifact":0,"gen_end":622271,"gen_start":551544,"node":135,"role":"declaration","source":0,"src_end":497959,"src_start":442519},{"artifact":0,"gen_end":622575,"gen_start":622271,"node":136,"role":"declaration","source":0,"src_end":498259,"src_start":497961},{"artifact":0,"gen_end":622821,"gen_start":622575,"node":137,"role":"declaration","source":0,"src_end":498569,"src_start":498261},{"artifact":0,"gen_end":632629,"gen_start":622821,"node":138,"role":"declaration","source":0,"src_end":506214,"src_start":498571},{"artifact":0,"gen_end":633114,"gen_start":632629,"node":139,"role":"declaration","source":0,"src_end":506661,"src_start":506216},{"artifact":0,"gen_end":633326,"gen_start":633114,"node":140,"role":"declaration","source":0,"src_end":506945,"src_start":506663},{"artifact":0,"gen_end":643112,"gen_start":633326,"node":141,"role":"declaration","source":0,"src_end":514568,"src_start":506947},{"artifact":0,"gen_end":643583,"gen_start":643112,"node":142,"role":"declaration","source":0,"src_end":515001,"src_start":514570},{"artifact":0,"gen_end":643785,"gen_start":643583,"node":143,"role":"declaration","source":0,"src_end":515275,"src_start":515003},{"artifact":0,"gen_end":653581,"gen_start":643785,"node":144,"role":"declaration","source":0,"src_end":522908,"src_start":515277},{"artifact":0,"gen_end":654066,"gen_start":653581,"node":145,"role":"declaration","source":0,"src_end":523355,"src_start":522910},{"artifact":0,"gen_end":654295,"gen_start":654066,"node":146,"role":"declaration","source":0,"src_end":523656,"src_start":523357},{"artifact":0,"gen_end":664209,"gen_start":654295,"node":147,"role":"declaration","source":0,"src_end":531387,"src_start":523658},{"artifact":0,"gen_end":664668,"gen_start":664209,"node":148,"role":"declaration","source":0,"src_end":531808,"src_start":531389},{"artifact":0,"gen_end":664905,"gen_start":664668,"node":149,"role":"declaration","source":0,"src_end":532109,"src_start":531810},{"artifact":0,"gen_end":674705,"gen_start":664905,"node":150,"role":"declaration","source":0,"src_end":539746,"src_start":532111},{"artifact":0,"gen_end":675198,"gen_start":674705,"node":151,"role":"declaration","source":0,"src_end":540201,"src_start":539748},{"artifact":0,"gen_end":675435,"gen_start":675198,"node":152,"role":"declaration","source":0,"src_end":540510,"src_start":540203},{"artifact":0,"gen_end":685352,"gen_start":675435,"node":153,"role":"declaration","source":0,"src_end":548244,"src_start":540512},{"artifact":0,"gen_end":685825,"gen_start":685352,"node":154,"role":"declaration","source":0,"src_end":548679,"src_start":548246},{"artifact":0,"gen_end":686064,"gen_start":685825,"node":155,"role":"declaration","source":0,"src_end":548982,"src_start":548681},{"artifact":0,"gen_end":696163,"gen_start":686064,"node":156,"role":"declaration","source":0,"src_end":556882,"src_start":548984},{"artifact":0,"gen_end":696644,"gen_start":696163,"node":157,"role":"declaration","source":0,"src_end":557325,"src_start":556884},{"artifact":0,"gen_end":696902,"gen_start":696644,"node":158,"role":"declaration","source":0,"src_end":557647,"src_start":557327},{"artifact":0,"gen_end":706565,"gen_start":696902,"node":159,"role":"declaration","source":0,"src_end":565167,"src_start":557649},{"artifact":0,"gen_end":707042,"gen_start":706565,"node":160,"role":"declaration","source":0,"src_end":565606,"src_start":565169},{"artifact":0,"gen_end":707294,"gen_start":707042,"node":161,"role":"declaration","source":0,"src_end":565922,"src_start":565608},{"artifact":0,"gen_end":717142,"gen_start":707294,"node":162,"role":"declaration","source":0,"src_end":573603,"src_start":565924},{"artifact":0,"gen_end":717633,"gen_start":717142,"node":163,"role":"declaration","source":0,"src_end":574056,"src_start":573605},{"artifact":0,"gen_end":717904,"gen_start":717633,"node":164,"role":"declaration","source":0,"src_end":574391,"src_start":574058},{"artifact":0,"gen_end":727835,"gen_start":717904,"node":165,"role":"declaration","source":0,"src_end":582139,"src_start":574393},{"artifact":0,"gen_end":728314,"gen_start":727835,"node":166,"role":"declaration","source":0,"src_end":582580,"src_start":582141},{"artifact":0,"gen_end":728574,"gen_start":728314,"node":167,"role":"declaration","source":0,"src_end":582904,"src_start":582582},{"artifact":0,"gen_end":738371,"gen_start":728574,"node":168,"role":"declaration","source":0,"src_end":590538,"src_start":582906},{"artifact":0,"gen_end":738848,"gen_start":738371,"node":169,"role":"declaration","source":0,"src_end":590977,"src_start":590540},{"artifact":0,"gen_end":739094,"gen_start":738848,"node":170,"role":"declaration","source":0,"src_end":591287,"src_start":590979},{"artifact":0,"gen_end":749029,"gen_start":739094,"node":171,"role":"declaration","source":0,"src_end":599039,"src_start":591289},{"artifact":0,"gen_end":749514,"gen_start":749029,"node":172,"role":"declaration","source":0,"src_end":599486,"src_start":599041},{"artifact":0,"gen_end":749772,"gen_start":749514,"node":173,"role":"declaration","source":0,"src_end":599808,"src_start":599488},{"artifact":0,"gen_end":759557,"gen_start":749772,"node":174,"role":"declaration","source":0,"src_end":607430,"src_start":599810},{"artifact":0,"gen_end":760028,"gen_start":759557,"node":175,"role":"declaration","source":0,"src_end":607863,"src_start":607432},{"artifact":0,"gen_end":760232,"gen_start":760028,"node":176,"role":"declaration","source":0,"src_end":608139,"src_start":607865},{"artifact":0,"gen_end":770017,"gen_start":760232,"node":177,"role":"declaration","source":0,"src_end":615761,"src_start":608141},{"artifact":0,"gen_end":770488,"gen_start":770017,"node":178,"role":"declaration","source":0,"src_end":616194,"src_start":615763},{"artifact":0,"gen_end":770692,"gen_start":770488,"node":179,"role":"declaration","source":0,"src_end":616470,"src_start":616196},{"artifact":0,"gen_end":780489,"gen_start":770692,"node":180,"role":"declaration","source":0,"src_end":624104,"src_start":616472},{"artifact":0,"gen_end":780970,"gen_start":780489,"node":181,"role":"declaration","source":0,"src_end":624547,"src_start":624106},{"artifact":0,"gen_end":781193,"gen_start":780970,"node":182,"role":"declaration","source":0,"src_end":624842,"src_start":624549},{"artifact":0,"gen_end":790989,"gen_start":781193,"node":183,"role":"declaration","source":0,"src_end":632473,"src_start":624844},{"artifact":0,"gen_end":791460,"gen_start":790989,"node":184,"role":"declaration","source":0,"src_end":632906,"src_start":632475},{"artifact":0,"gen_end":791699,"gen_start":791460,"node":185,"role":"declaration","source":0,"src_end":633209,"src_start":632908},{"artifact":0,"gen_end":801634,"gen_start":791699,"node":186,"role":"declaration","source":0,"src_end":640959,"src_start":633211},{"artifact":0,"gen_end":802115,"gen_start":801634,"node":187,"role":"declaration","source":0,"src_end":641402,"src_start":640961},{"artifact":0,"gen_end":802369,"gen_start":802115,"node":188,"role":"declaration","source":0,"src_end":641720,"src_start":641404},{"artifact":0,"gen_end":811456,"gen_start":802369,"node":189,"role":"declaration","source":0,"src_end":648764,"src_start":641722},{"artifact":0,"gen_end":811909,"gen_start":811456,"node":190,"role":"declaration","source":0,"src_end":649179,"src_start":648766},{"artifact":0,"gen_end":812405,"gen_start":811909,"node":191,"role":"declaration","source":0,"src_end":649685,"src_start":649181},{"artifact":0,"gen_end":812573,"gen_start":812405,"node":192,"role":"declaration","source":0,"src_end":649923,"src_start":649687},{"artifact":0,"gen_end":822900,"gen_start":812573,"node":193,"role":"declaration","source":0,"src_end":657956,"src_start":649925},{"artifact":0,"gen_end":823196,"gen_start":822900,"node":194,"role":"declaration","source":0,"src_end":658248,"src_start":657958},{"artifact":0,"gen_end":823535,"gen_start":823196,"node":195,"role":"declaration","source":0,"src_end":658625,"src_start":658250},{"artifact":0,"gen_end":823691,"gen_start":823535,"node":196,"role":"declaration","source":0,"src_end":658861,"src_start":658627},{"artifact":0,"gen_end":837567,"gen_start":823691,"node":197,"role":"declaration","source":0,"src_end":669575,"src_start":658863},{"artifact":0,"gen_end":837902,"gen_start":837567,"node":198,"role":"declaration","source":0,"src_end":669900,"src_start":669577},{"artifact":0,"gen_end":838300,"gen_start":837902,"node":199,"role":"declaration","source":0,"src_end":670324,"src_start":669902},{"artifact":0,"gen_end":838491,"gen_start":838300,"node":200,"role":"declaration","source":0,"src_end":670591,"src_start":670326},{"artifact":0,"gen_end":838686,"gen_start":838491,"node":201,"role":"declaration","source":0,"src_end":670858,"src_start":670593},{"artifact":0,"gen_end":838881,"gen_start":838686,"node":202,"role":"declaration","source":0,"src_end":671125,"src_start":670860},{"artifact":0,"gen_end":839076,"gen_start":838881,"node":203,"role":"declaration","source":0,"src_end":671392,"src_start":671127},{"artifact":0,"gen_end":839280,"gen_start":839076,"node":204,"role":"declaration","source":0,"src_end":671670,"src_start":671394},{"artifact":0,"gen_end":839419,"gen_start":839280,"node":205,"role":"declaration","source":0,"src_end":671895,"src_start":671672},{"artifact":0,"gen_end":849199,"gen_start":839419,"node":206,"role":"declaration","source":0,"src_end":679512,"src_start":671897},{"artifact":0,"gen_end":849652,"gen_start":849199,"node":207,"role":"declaration","source":0,"src_end":679927,"src_start":679514},{"artifact":0,"gen_end":850152,"gen_start":849652,"node":208,"role":"declaration","source":0,"src_end":680437,"src_start":679929},{"artifact":0,"gen_end":850321,"gen_start":850152,"node":209,"role":"declaration","source":0,"src_end":680676,"src_start":680439},{"artifact":0,"gen_end":850353,"gen_start":850321,"node":0,"role":"declaration","source":0,"src_end":680712,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":210,"role":"declaration","source":0,"src_end":680712,"src_start":0},{"artifact":1,"gen_end":10174,"gen_start":134,"node":211,"role":"declaration","source":0,"src_end":7817,"src_start":200},{"artifact":1,"gen_end":10738,"gen_start":10174,"node":212,"role":"declaration","source":0,"src_end":8234,"src_start":7819},{"artifact":1,"gen_end":11390,"gen_start":10738,"node":213,"role":"declaration","source":0,"src_end":8746,"src_start":8236},{"artifact":1,"gen_end":11711,"gen_start":11390,"node":214,"role":"declaration","source":0,"src_end":8987,"src_start":8748},{"artifact":1,"gen_end":21753,"gen_start":11711,"node":215,"role":"declaration","source":0,"src_end":16608,"src_start":8989},{"artifact":1,"gen_end":22323,"gen_start":21753,"node":216,"role":"declaration","source":0,"src_end":17031,"src_start":16610},{"artifact":1,"gen_end":22981,"gen_start":22323,"node":217,"role":"declaration","source":0,"src_end":17549,"src_start":17033},{"artifact":1,"gen_end":23308,"gen_start":22981,"node":218,"role":"declaration","source":0,"src_end":17796,"src_start":17551},{"artifact":1,"gen_end":36619,"gen_start":23308,"node":219,"role":"declaration","source":0,"src_end":27873,"src_start":17798},{"artifact":1,"gen_end":37486,"gen_start":36619,"node":220,"role":"declaration","source":0,"src_end":28537,"src_start":27875},{"artifact":1,"gen_end":38466,"gen_start":37486,"node":221,"role":"declaration","source":0,"src_end":29329,"src_start":28539},{"artifact":1,"gen_end":38784,"gen_start":38466,"node":222,"role":"declaration","source":0,"src_end":29569,"src_start":29331},{"artifact":1,"gen_end":59158,"gen_start":38784,"node":223,"role":"declaration","source":0,"src_end":45993,"src_start":29571},{"artifact":1,"gen_end":59732,"gen_start":59158,"node":224,"role":"declaration","source":0,"src_end":46420,"src_start":45995},{"artifact":1,"gen_end":60369,"gen_start":59732,"node":225,"role":"declaration","source":0,"src_end":46929,"src_start":46422},{"artifact":1,"gen_end":60671,"gen_start":60369,"node":226,"role":"declaration","source":0,"src_end":47161,"src_start":46931},{"artifact":1,"gen_end":71183,"gen_start":60671,"node":227,"role":"declaration","source":0,"src_end":55137,"src_start":47163},{"artifact":1,"gen_end":71625,"gen_start":71183,"node":228,"role":"declaration","source":0,"src_end":55460,"src_start":55139},{"artifact":1,"gen_end":72171,"gen_start":71625,"node":229,"role":"declaration","source":0,"src_end":55882,"src_start":55462},{"artifact":1,"gen_end":72499,"gen_start":72171,"node":230,"role":"declaration","source":0,"src_end":56130,"src_start":55884},{"artifact":1,"gen_end":82547,"gen_start":72499,"node":231,"role":"declaration","source":0,"src_end":63757,"src_start":56132},{"artifact":1,"gen_end":83123,"gen_start":82547,"node":232,"role":"declaration","source":0,"src_end":64186,"src_start":63759},{"artifact":1,"gen_end":83787,"gen_start":83123,"node":233,"role":"declaration","source":0,"src_end":64710,"src_start":64188},{"artifact":1,"gen_end":84123,"gen_start":83787,"node":234,"role":"declaration","source":0,"src_end":64970,"src_start":64712},{"artifact":1,"gen_end":104502,"gen_start":84123,"node":235,"role":"declaration","source":0,"src_end":81399,"src_start":64972},{"artifact":1,"gen_end":105082,"gen_start":104502,"node":236,"role":"declaration","source":0,"src_end":81832,"src_start":81401},{"artifact":1,"gen_end":105725,"gen_start":105082,"node":237,"role":"declaration","source":0,"src_end":82347,"src_start":81834},{"artifact":1,"gen_end":106033,"gen_start":105725,"node":238,"role":"declaration","source":0,"src_end":82585,"src_start":82349},{"artifact":1,"gen_end":116079,"gen_start":106033,"node":239,"role":"declaration","source":0,"src_end":90210,"src_start":82587},{"artifact":1,"gen_end":116657,"gen_start":116079,"node":240,"role":"declaration","source":0,"src_end":90641,"src_start":90212},{"artifact":1,"gen_end":117323,"gen_start":116657,"node":241,"role":"declaration","source":0,"src_end":91167,"src_start":90643},{"artifact":1,"gen_end":117661,"gen_start":117323,"node":242,"role":"declaration","source":0,"src_end":91429,"src_start":91169},{"artifact":1,"gen_end":130976,"gen_start":117661,"node":243,"role":"declaration","source":0,"src_end":101510,"src_start":91431},{"artifact":1,"gen_end":131847,"gen_start":130976,"node":244,"role":"declaration","source":0,"src_end":102178,"src_start":101512},{"artifact":1,"gen_end":132831,"gen_start":131847,"node":245,"role":"declaration","source":0,"src_end":102974,"src_start":102180},{"artifact":1,"gen_end":133156,"gen_start":132831,"node":246,"role":"declaration","source":0,"src_end":103225,"src_start":102976},{"artifact":1,"gen_end":141227,"gen_start":133156,"node":247,"role":"declaration","source":0,"src_end":109365,"src_start":103227},{"artifact":1,"gen_end":141811,"gen_start":141227,"node":248,"role":"declaration","source":0,"src_end":109802,"src_start":109367},{"artifact":1,"gen_end":142462,"gen_start":141811,"node":249,"role":"declaration","source":0,"src_end":110325,"src_start":109804},{"artifact":1,"gen_end":142803,"gen_start":142462,"node":250,"role":"declaration","source":0,"src_end":110586,"src_start":110327},{"artifact":1,"gen_end":148994,"gen_start":142803,"node":251,"role":"declaration","source":0,"src_end":115319,"src_start":110588},{"artifact":1,"gen_end":149307,"gen_start":148994,"node":252,"role":"declaration","source":0,"src_end":115531,"src_start":115321},{"artifact":1,"gen_end":149680,"gen_start":149307,"node":253,"role":"declaration","source":0,"src_end":115808,"src_start":115533},{"artifact":1,"gen_end":149980,"gen_start":149680,"node":254,"role":"declaration","source":0,"src_end":116038,"src_start":115810},{"artifact":1,"gen_end":159614,"gen_start":149980,"node":255,"role":"declaration","source":0,"src_end":123350,"src_start":116040},{"artifact":1,"gen_end":160196,"gen_start":159614,"node":256,"role":"declaration","source":0,"src_end":123785,"src_start":123352},{"artifact":1,"gen_end":160863,"gen_start":160196,"node":257,"role":"declaration","source":0,"src_end":124312,"src_start":123787},{"artifact":1,"gen_end":161201,"gen_start":160863,"node":258,"role":"declaration","source":0,"src_end":124570,"src_start":124314},{"artifact":1,"gen_end":170603,"gen_start":161201,"node":259,"role":"declaration","source":0,"src_end":131650,"src_start":124572},{"artifact":1,"gen_end":171187,"gen_start":170603,"node":260,"role":"declaration","source":0,"src_end":132087,"src_start":131652},{"artifact":1,"gen_end":171856,"gen_start":171187,"node":261,"role":"declaration","source":0,"src_end":132616,"src_start":132089},{"artifact":1,"gen_end":172196,"gen_start":171856,"node":262,"role":"declaration","source":0,"src_end":132876,"src_start":132618},{"artifact":1,"gen_end":192571,"gen_start":172196,"node":263,"role":"declaration","source":0,"src_end":149301,"src_start":132878},{"artifact":1,"gen_end":193149,"gen_start":192571,"node":264,"role":"declaration","source":0,"src_end":149732,"src_start":149303},{"artifact":1,"gen_end":193790,"gen_start":193149,"node":265,"role":"declaration","source":0,"src_end":150245,"src_start":149734},{"artifact":1,"gen_end":194096,"gen_start":193790,"node":266,"role":"declaration","source":0,"src_end":150481,"src_start":150247},{"artifact":1,"gen_end":207407,"gen_start":194096,"node":267,"role":"declaration","source":0,"src_end":160558,"src_start":150483},{"artifact":1,"gen_end":208276,"gen_start":207407,"node":268,"role":"declaration","source":0,"src_end":161224,"src_start":160560},{"artifact":1,"gen_end":209258,"gen_start":208276,"node":269,"role":"declaration","source":0,"src_end":162018,"src_start":161226},{"artifact":1,"gen_end":209578,"gen_start":209258,"node":270,"role":"declaration","source":0,"src_end":162260,"src_start":162020},{"artifact":1,"gen_end":219814,"gen_start":209578,"node":271,"role":"declaration","source":0,"src_end":170047,"src_start":162262},{"artifact":1,"gen_end":220386,"gen_start":219814,"node":272,"role":"declaration","source":0,"src_end":170472,"src_start":170049},{"artifact":1,"gen_end":221046,"gen_start":220386,"node":273,"role":"declaration","source":0,"src_end":170992,"src_start":170474},{"artifact":1,"gen_end":221375,"gen_start":221046,"node":274,"role":"declaration","source":0,"src_end":171241,"src_start":170994},{"artifact":1,"gen_end":231784,"gen_start":221375,"node":275,"role":"declaration","source":0,"src_end":179187,"src_start":171243},{"artifact":1,"gen_end":232362,"gen_start":231784,"node":276,"role":"declaration","source":0,"src_end":179618,"src_start":179189},{"artifact":1,"gen_end":233028,"gen_start":232362,"node":277,"role":"declaration","source":0,"src_end":180144,"src_start":179620},{"artifact":1,"gen_end":233363,"gen_start":233028,"node":278,"role":"declaration","source":0,"src_end":180399,"src_start":180146},{"artifact":1,"gen_end":243774,"gen_start":233363,"node":279,"role":"declaration","source":0,"src_end":188347,"src_start":180401},{"artifact":1,"gen_end":244354,"gen_start":243774,"node":280,"role":"declaration","source":0,"src_end":188780,"src_start":188349},{"artifact":1,"gen_end":245022,"gen_start":244354,"node":281,"role":"declaration","source":0,"src_end":189308,"src_start":188782},{"artifact":1,"gen_end":245359,"gen_start":245022,"node":282,"role":"declaration","source":0,"src_end":189565,"src_start":189310},{"artifact":1,"gen_end":316303,"gen_start":245359,"node":283,"role":"declaration","source":0,"src_end":244998,"src_start":189567},{"artifact":1,"gen_end":316696,"gen_start":316303,"node":284,"role":"declaration","source":0,"src_end":245278,"src_start":245000},{"artifact":1,"gen_end":317188,"gen_start":316696,"node":285,"role":"declaration","source":0,"src_end":245654,"src_start":245280},{"artifact":1,"gen_end":317512,"gen_start":317188,"node":286,"role":"declaration","source":0,"src_end":245898,"src_start":245656},{"artifact":1,"gen_end":388460,"gen_start":317512,"node":287,"role":"declaration","source":0,"src_end":301335,"src_start":245900},{"artifact":1,"gen_end":388857,"gen_start":388460,"node":288,"role":"declaration","source":0,"src_end":301619,"src_start":301337},{"artifact":1,"gen_end":389353,"gen_start":388857,"node":289,"role":"declaration","source":0,"src_end":301999,"src_start":301621},{"artifact":1,"gen_end":389676,"gen_start":389353,"node":290,"role":"declaration","source":0,"src_end":302244,"src_start":302001},{"artifact":1,"gen_end":399720,"gen_start":389676,"node":291,"role":"declaration","source":0,"src_end":309867,"src_start":302246},{"artifact":1,"gen_end":400296,"gen_start":399720,"node":292,"role":"declaration","source":0,"src_end":310296,"src_start":309869},{"artifact":1,"gen_end":400644,"gen_start":400296,"node":293,"role":"declaration","source":0,"src_end":310566,"src_start":310298},{"artifact":1,"gen_end":405251,"gen_start":400644,"node":294,"role":"declaration","source":0,"src_end":314109,"src_start":310568},{"artifact":1,"gen_end":405525,"gen_start":405251,"node":295,"role":"declaration","source":0,"src_end":314288,"src_start":314111},{"artifact":1,"gen_end":405873,"gen_start":405525,"node":296,"role":"declaration","source":0,"src_end":314558,"src_start":314290},{"artifact":1,"gen_end":415925,"gen_start":405873,"node":297,"role":"declaration","source":0,"src_end":322189,"src_start":314560},{"artifact":1,"gen_end":416513,"gen_start":415925,"node":298,"role":"declaration","source":0,"src_end":322630,"src_start":322191},{"artifact":1,"gen_end":416873,"gen_start":416513,"node":299,"role":"declaration","source":0,"src_end":322912,"src_start":322632},{"artifact":1,"gen_end":427053,"gen_start":416873,"node":300,"role":"declaration","source":0,"src_end":330649,"src_start":322914},{"artifact":1,"gen_end":427627,"gen_start":427053,"node":301,"role":"declaration","source":0,"src_end":331076,"src_start":330651},{"artifact":1,"gen_end":428023,"gen_start":427627,"node":302,"role":"declaration","source":0,"src_end":331386,"src_start":331078},{"artifact":1,"gen_end":438081,"gen_start":428023,"node":303,"role":"declaration","source":0,"src_end":339021,"src_start":331388},{"artifact":1,"gen_end":438669,"gen_start":438081,"node":304,"role":"declaration","source":0,"src_end":339462,"src_start":339023},{"artifact":1,"gen_end":439066,"gen_start":438669,"node":305,"role":"declaration","source":0,"src_end":339773,"src_start":339464},{"artifact":1,"gen_end":443715,"gen_start":439066,"node":306,"role":"declaration","source":0,"src_end":343352,"src_start":339775},{"artifact":1,"gen_end":443997,"gen_start":443715,"node":307,"role":"declaration","source":0,"src_end":343539,"src_start":343354},{"artifact":1,"gen_end":444357,"gen_start":443997,"node":308,"role":"declaration","source":0,"src_end":343821,"src_start":343541},{"artifact":1,"gen_end":454534,"gen_start":444357,"node":309,"role":"declaration","source":0,"src_end":351555,"src_start":343823},{"artifact":1,"gen_end":455112,"gen_start":454534,"node":310,"role":"declaration","source":0,"src_end":351986,"src_start":351557},{"artifact":1,"gen_end":455504,"gen_start":455112,"node":311,"role":"declaration","source":0,"src_end":352292,"src_start":351988},{"artifact":1,"gen_end":464485,"gen_start":455504,"node":312,"role":"declaration","source":0,"src_end":359050,"src_start":352294},{"artifact":1,"gen_end":465055,"gen_start":464485,"node":313,"role":"declaration","source":0,"src_end":359473,"src_start":359052},{"artifact":1,"gen_end":465394,"gen_start":465055,"node":314,"role":"declaration","source":0,"src_end":359734,"src_start":359475},{"artifact":1,"gen_end":475439,"gen_start":465394,"node":315,"role":"declaration","source":0,"src_end":367358,"src_start":359736},{"artifact":1,"gen_end":476017,"gen_start":475439,"node":316,"role":"declaration","source":0,"src_end":367789,"src_start":367360},{"artifact":1,"gen_end":476407,"gen_start":476017,"node":317,"role":"declaration","source":0,"src_end":368093,"src_start":367791},{"artifact":1,"gen_end":486606,"gen_start":476407,"node":318,"role":"declaration","source":0,"src_end":375849,"src_start":368095},{"artifact":1,"gen_end":487220,"gen_start":486606,"node":319,"role":"declaration","source":0,"src_end":376316,"src_start":375851},{"artifact":1,"gen_end":487656,"gen_start":487220,"node":320,"role":"declaration","source":0,"src_end":376666,"src_start":376318},{"artifact":1,"gen_end":497717,"gen_start":487656,"node":321,"role":"declaration","source":0,"src_end":384302,"src_start":376668},{"artifact":1,"gen_end":498305,"gen_start":497717,"node":322,"role":"declaration","source":0,"src_end":384743,"src_start":384304},{"artifact":1,"gen_end":498667,"gen_start":498305,"node":323,"role":"declaration","source":0,"src_end":385027,"src_start":384745},{"artifact":1,"gen_end":503287,"gen_start":498667,"node":324,"role":"declaration","source":0,"src_end":388583,"src_start":385029},{"artifact":1,"gen_end":503573,"gen_start":503287,"node":325,"role":"declaration","source":0,"src_end":388774,"src_start":388585},{"artifact":1,"gen_end":503939,"gen_start":503573,"node":326,"role":"declaration","source":0,"src_end":389062,"src_start":388776},{"artifact":1,"gen_end":513981,"gen_start":503939,"node":327,"role":"declaration","source":0,"src_end":396683,"src_start":389064},{"artifact":1,"gen_end":514567,"gen_start":513981,"node":328,"role":"declaration","source":0,"src_end":397122,"src_start":396685},{"artifact":1,"gen_end":514930,"gen_start":514567,"node":329,"role":"declaration","source":0,"src_end":397407,"src_start":397124},{"artifact":1,"gen_end":524981,"gen_start":514930,"node":330,"role":"declaration","source":0,"src_end":405037,"src_start":397409},{"artifact":1,"gen_end":525571,"gen_start":524981,"node":331,"role":"declaration","source":0,"src_end":405480,"src_start":405039},{"artifact":1,"gen_end":525940,"gen_start":525571,"node":332,"role":"declaration","source":0,"src_end":405771,"src_start":405482},{"artifact":1,"gen_end":530566,"gen_start":525940,"node":333,"role":"declaration","source":0,"src_end":409333,"src_start":405773},{"artifact":1,"gen_end":530860,"gen_start":530566,"node":334,"role":"declaration","source":0,"src_end":409532,"src_start":409335},{"artifact":1,"gen_end":531238,"gen_start":530860,"node":335,"role":"declaration","source":0,"src_end":409832,"src_start":409534},{"artifact":1,"gen_end":541362,"gen_start":531238,"node":336,"role":"declaration","source":0,"src_end":417529,"src_start":409834},{"artifact":1,"gen_end":541968,"gen_start":541362,"node":337,"role":"declaration","source":0,"src_end":417988,"src_start":417531},{"artifact":1,"gen_end":542348,"gen_start":541968,"node":338,"role":"declaration","source":0,"src_end":418290,"src_start":417990},{"artifact":1,"gen_end":552522,"gen_start":542348,"node":339,"role":"declaration","source":0,"src_end":426021,"src_start":418292},{"artifact":1,"gen_end":553090,"gen_start":552522,"node":340,"role":"declaration","source":0,"src_end":426442,"src_start":426023},{"artifact":1,"gen_end":553477,"gen_start":553090,"node":341,"role":"declaration","source":0,"src_end":426743,"src_start":426444},{"artifact":1,"gen_end":573023,"gen_start":553477,"node":342,"role":"declaration","source":0,"src_end":442012,"src_start":426745},{"artifact":1,"gen_end":573323,"gen_start":573023,"node":343,"role":"declaration","source":0,"src_end":442217,"src_start":442014},{"artifact":1,"gen_end":573701,"gen_start":573323,"node":344,"role":"declaration","source":0,"src_end":442517,"src_start":442219},{"artifact":1,"gen_end":644654,"gen_start":573701,"node":345,"role":"declaration","source":0,"src_end":497959,"src_start":442519},{"artifact":1,"gen_end":645067,"gen_start":644654,"node":346,"role":"declaration","source":0,"src_end":498259,"src_start":497961},{"artifact":1,"gen_end":645463,"gen_start":645067,"node":347,"role":"declaration","source":0,"src_end":498569,"src_start":498261},{"artifact":1,"gen_end":655529,"gen_start":645463,"node":348,"role":"declaration","source":0,"src_end":506214,"src_start":498571},{"artifact":1,"gen_end":656123,"gen_start":655529,"node":349,"role":"declaration","source":0,"src_end":506661,"src_start":506216},{"artifact":1,"gen_end":656485,"gen_start":656123,"node":350,"role":"declaration","source":0,"src_end":506945,"src_start":506663},{"artifact":1,"gen_end":666529,"gen_start":656485,"node":351,"role":"declaration","source":0,"src_end":514568,"src_start":506947},{"artifact":1,"gen_end":667109,"gen_start":666529,"node":352,"role":"declaration","source":0,"src_end":515001,"src_start":514570},{"artifact":1,"gen_end":667461,"gen_start":667109,"node":353,"role":"declaration","source":0,"src_end":515275,"src_start":515003},{"artifact":1,"gen_end":677515,"gen_start":667461,"node":354,"role":"declaration","source":0,"src_end":522908,"src_start":515277},{"artifact":1,"gen_end":678109,"gen_start":677515,"node":355,"role":"declaration","source":0,"src_end":523355,"src_start":522910},{"artifact":1,"gen_end":678488,"gen_start":678109,"node":356,"role":"declaration","source":0,"src_end":523656,"src_start":523357},{"artifact":1,"gen_end":688662,"gen_start":678488,"node":357,"role":"declaration","source":0,"src_end":531387,"src_start":523658},{"artifact":1,"gen_end":689230,"gen_start":688662,"node":358,"role":"declaration","source":0,"src_end":531808,"src_start":531389},{"artifact":1,"gen_end":689617,"gen_start":689230,"node":359,"role":"declaration","source":0,"src_end":532109,"src_start":531810},{"artifact":1,"gen_end":699675,"gen_start":689617,"node":360,"role":"declaration","source":0,"src_end":539746,"src_start":532111},{"artifact":1,"gen_end":700277,"gen_start":699675,"node":361,"role":"declaration","source":0,"src_end":540201,"src_start":539748},{"artifact":1,"gen_end":700664,"gen_start":700277,"node":362,"role":"declaration","source":0,"src_end":540510,"src_start":540203},{"artifact":1,"gen_end":710841,"gen_start":700664,"node":363,"role":"declaration","source":0,"src_end":548244,"src_start":540512},{"artifact":1,"gen_end":711423,"gen_start":710841,"node":364,"role":"declaration","source":0,"src_end":548679,"src_start":548246},{"artifact":1,"gen_end":711812,"gen_start":711423,"node":365,"role":"declaration","source":0,"src_end":548982,"src_start":548681},{"artifact":1,"gen_end":722173,"gen_start":711812,"node":366,"role":"declaration","source":0,"src_end":556882,"src_start":548984},{"artifact":1,"gen_end":722763,"gen_start":722173,"node":367,"role":"declaration","source":0,"src_end":557325,"src_start":556884},{"artifact":1,"gen_end":723171,"gen_start":722763,"node":368,"role":"declaration","source":0,"src_end":557647,"src_start":557327},{"artifact":1,"gen_end":733090,"gen_start":723171,"node":369,"role":"declaration","source":0,"src_end":565167,"src_start":557649},{"artifact":1,"gen_end":733676,"gen_start":733090,"node":370,"role":"declaration","source":0,"src_end":565606,"src_start":565169},{"artifact":1,"gen_end":734078,"gen_start":733676,"node":371,"role":"declaration","source":0,"src_end":565922,"src_start":565608},{"artifact":1,"gen_end":744184,"gen_start":734078,"node":372,"role":"declaration","source":0,"src_end":573603,"src_start":565924},{"artifact":1,"gen_end":744784,"gen_start":744184,"node":373,"role":"declaration","source":0,"src_end":574056,"src_start":573605},{"artifact":1,"gen_end":745205,"gen_start":744784,"node":374,"role":"declaration","source":0,"src_end":574391,"src_start":574058},{"artifact":1,"gen_end":755396,"gen_start":745205,"node":375,"role":"declaration","source":0,"src_end":582139,"src_start":574393},{"artifact":1,"gen_end":755984,"gen_start":755396,"node":376,"role":"declaration","source":0,"src_end":582580,"src_start":582141},{"artifact":1,"gen_end":756394,"gen_start":755984,"node":377,"role":"declaration","source":0,"src_end":582904,"src_start":582582},{"artifact":1,"gen_end":766449,"gen_start":756394,"node":378,"role":"declaration","source":0,"src_end":590538,"src_start":582906},{"artifact":1,"gen_end":767035,"gen_start":766449,"node":379,"role":"declaration","source":0,"src_end":590977,"src_start":590540},{"artifact":1,"gen_end":767431,"gen_start":767035,"node":380,"role":"declaration","source":0,"src_end":591287,"src_start":590979},{"artifact":1,"gen_end":777626,"gen_start":767431,"node":381,"role":"declaration","source":0,"src_end":599039,"src_start":591289},{"artifact":1,"gen_end":778220,"gen_start":777626,"node":382,"role":"declaration","source":0,"src_end":599486,"src_start":599041},{"artifact":1,"gen_end":778628,"gen_start":778220,"node":383,"role":"declaration","source":0,"src_end":599808,"src_start":599488},{"artifact":1,"gen_end":788671,"gen_start":778628,"node":384,"role":"declaration","source":0,"src_end":607430,"src_start":599810},{"artifact":1,"gen_end":789251,"gen_start":788671,"node":385,"role":"declaration","source":0,"src_end":607863,"src_start":607432},{"artifact":1,"gen_end":789605,"gen_start":789251,"node":386,"role":"declaration","source":0,"src_end":608139,"src_start":607865},{"artifact":1,"gen_end":799648,"gen_start":789605,"node":387,"role":"declaration","source":0,"src_end":615761,"src_start":608141},{"artifact":1,"gen_end":800228,"gen_start":799648,"node":388,"role":"declaration","source":0,"src_end":616194,"src_start":615763},{"artifact":1,"gen_end":800582,"gen_start":800228,"node":389,"role":"declaration","source":0,"src_end":616470,"src_start":616196},{"artifact":1,"gen_end":810637,"gen_start":800582,"node":390,"role":"declaration","source":0,"src_end":624104,"src_start":616472},{"artifact":1,"gen_end":811227,"gen_start":810637,"node":391,"role":"declaration","source":0,"src_end":624547,"src_start":624106},{"artifact":1,"gen_end":811600,"gen_start":811227,"node":392,"role":"declaration","source":0,"src_end":624842,"src_start":624549},{"artifact":1,"gen_end":821654,"gen_start":811600,"node":393,"role":"declaration","source":0,"src_end":632473,"src_start":624844},{"artifact":1,"gen_end":822234,"gen_start":821654,"node":394,"role":"declaration","source":0,"src_end":632906,"src_start":632475},{"artifact":1,"gen_end":822623,"gen_start":822234,"node":395,"role":"declaration","source":0,"src_end":633209,"src_start":632908},{"artifact":1,"gen_end":832818,"gen_start":822623,"node":396,"role":"declaration","source":0,"src_end":640959,"src_start":633211},{"artifact":1,"gen_end":833408,"gen_start":832818,"node":397,"role":"declaration","source":0,"src_end":641402,"src_start":640961},{"artifact":1,"gen_end":833812,"gen_start":833408,"node":398,"role":"declaration","source":0,"src_end":641720,"src_start":641404},{"artifact":1,"gen_end":843157,"gen_start":833812,"node":399,"role":"declaration","source":0,"src_end":648764,"src_start":641722},{"artifact":1,"gen_end":843719,"gen_start":843157,"node":400,"role":"declaration","source":0,"src_end":649179,"src_start":648766},{"artifact":1,"gen_end":844365,"gen_start":843719,"node":401,"role":"declaration","source":0,"src_end":649685,"src_start":649181},{"artifact":1,"gen_end":844683,"gen_start":844365,"node":402,"role":"declaration","source":0,"src_end":649923,"src_start":649687},{"artifact":1,"gen_end":855272,"gen_start":844683,"node":403,"role":"declaration","source":0,"src_end":657956,"src_start":649925},{"artifact":1,"gen_end":855677,"gen_start":855272,"node":404,"role":"declaration","source":0,"src_end":658248,"src_start":657958},{"artifact":1,"gen_end":856166,"gen_start":855677,"node":405,"role":"declaration","source":0,"src_end":658625,"src_start":658250},{"artifact":1,"gen_end":856472,"gen_start":856166,"node":406,"role":"declaration","source":0,"src_end":658861,"src_start":658627},{"artifact":1,"gen_end":870686,"gen_start":856472,"node":407,"role":"declaration","source":0,"src_end":669575,"src_start":658863},{"artifact":1,"gen_end":871130,"gen_start":870686,"node":408,"role":"declaration","source":0,"src_end":669900,"src_start":669577},{"artifact":1,"gen_end":871678,"gen_start":871130,"node":409,"role":"declaration","source":0,"src_end":670324,"src_start":669902},{"artifact":1,"gen_end":872019,"gen_start":871678,"node":410,"role":"declaration","source":0,"src_end":670591,"src_start":670326},{"artifact":1,"gen_end":872364,"gen_start":872019,"node":411,"role":"declaration","source":0,"src_end":670858,"src_start":670593},{"artifact":1,"gen_end":872709,"gen_start":872364,"node":412,"role":"declaration","source":0,"src_end":671125,"src_start":670860},{"artifact":1,"gen_end":873054,"gen_start":872709,"node":413,"role":"declaration","source":0,"src_end":671392,"src_start":671127},{"artifact":1,"gen_end":873408,"gen_start":873054,"node":414,"role":"declaration","source":0,"src_end":671670,"src_start":671394},{"artifact":1,"gen_end":873697,"gen_start":873408,"node":415,"role":"declaration","source":0,"src_end":671895,"src_start":671672},{"artifact":1,"gen_end":883735,"gen_start":873697,"node":416,"role":"declaration","source":0,"src_end":679512,"src_start":671897},{"artifact":1,"gen_end":884297,"gen_start":883735,"node":417,"role":"declaration","source":0,"src_end":679927,"src_start":679514},{"artifact":1,"gen_end":884947,"gen_start":884297,"node":418,"role":"declaration","source":0,"src_end":680437,"src_start":679929},{"artifact":1,"gen_end":885266,"gen_start":884947,"node":419,"role":"declaration","source":0,"src_end":680676,"src_start":680439},{"artifact":1,"gen_end":885281,"gen_start":885266,"node":210,"role":"declaration","source":0,"src_end":680712,"src_start":0}],"module":"GnafFixtures","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"},{"id":80,"kind":"semantic-declaration"},{"id":81,"kind":"semantic-declaration"},{"id":82,"kind":"semantic-declaration"},{"id":83,"kind":"semantic-declaration"},{"id":84,"kind":"semantic-declaration"},{"id":85,"kind":"semantic-declaration"},{"id":86,"kind":"semantic-declaration"},{"id":87,"kind":"semantic-declaration"},{"id":88,"kind":"semantic-declaration"},{"id":89,"kind":"semantic-declaration"},{"id":90,"kind":"semantic-declaration"},{"id":91,"kind":"semantic-declaration"},{"id":92,"kind":"semantic-declaration"},{"id":93,"kind":"semantic-declaration"},{"id":94,"kind":"semantic-declaration"},{"id":95,"kind":"semantic-declaration"},{"id":96,"kind":"semantic-declaration"},{"id":97,"kind":"semantic-declaration"},{"id":98,"kind":"semantic-declaration"},{"id":99,"kind":"semantic-declaration"},{"id":100,"kind":"semantic-declaration"},{"id":101,"kind":"semantic-declaration"},{"id":102,"kind":"semantic-declaration"},{"id":103,"kind":"semantic-declaration"},{"id":104,"kind":"semantic-declaration"},{"id":105,"kind":"semantic-declaration"},{"id":106,"kind":"semantic-declaration"},{"id":107,"kind":"semantic-declaration"},{"id":108,"kind":"semantic-declaration"},{"id":109,"kind":"semantic-declaration"},{"id":110,"kind":"semantic-declaration"},{"id":111,"kind":"semantic-declaration"},{"id":112,"kind":"semantic-declaration"},{"id":113,"kind":"semantic-declaration"},{"id":114,"kind":"semantic-declaration"},{"id":115,"kind":"semantic-declaration"},{"id":116,"kind":"semantic-declaration"},{"id":117,"kind":"semantic-declaration"},{"id":118,"kind":"semantic-declaration"},{"id":119,"kind":"semantic-declaration"},{"id":120,"kind":"semantic-declaration"},{"id":121,"kind":"semantic-declaration"},{"id":122,"kind":"semantic-declaration"},{"id":123,"kind":"semantic-declaration"},{"id":124,"kind":"semantic-declaration"},{"id":125,"kind":"semantic-declaration"},{"id":126,"kind":"semantic-declaration"},{"id":127,"kind":"semantic-declaration"},{"id":128,"kind":"semantic-declaration"},{"id":129,"kind":"semantic-declaration"},{"id":130,"kind":"semantic-declaration"},{"id":131,"kind":"semantic-declaration"},{"id":132,"kind":"semantic-declaration"},{"id":133,"kind":"semantic-declaration"},{"id":134,"kind":"semantic-declaration"},{"id":135,"kind":"semantic-declaration"},{"id":136,"kind":"semantic-declaration"},{"id":137,"kind":"semantic-declaration"},{"id":138,"kind":"semantic-declaration"},{"id":139,"kind":"semantic-declaration"},{"id":140,"kind":"semantic-declaration"},{"id":141,"kind":"semantic-declaration"},{"id":142,"kind":"semantic-declaration"},{"id":143,"kind":"semantic-declaration"},{"id":144,"kind":"semantic-declaration"},{"id":145,"kind":"semantic-declaration"},{"id":146,"kind":"semantic-declaration"},{"id":147,"kind":"semantic-declaration"},{"id":148,"kind":"semantic-declaration"},{"id":149,"kind":"semantic-declaration"},{"id":150,"kind":"semantic-declaration"},{"id":151,"kind":"semantic-declaration"},{"id":152,"kind":"semantic-declaration"},{"id":153,"kind":"semantic-declaration"},{"id":154,"kind":"semantic-declaration"},{"id":155,"kind":"semantic-declaration"},{"id":156,"kind":"semantic-declaration"},{"id":157,"kind":"semantic-declaration"},{"id":158,"kind":"semantic-declaration"},{"id":159,"kind":"semantic-declaration"},{"id":160,"kind":"semantic-declaration"},{"id":161,"kind":"semantic-declaration"},{"id":162,"kind":"semantic-declaration"},{"id":163,"kind":"semantic-declaration"},{"id":164,"kind":"semantic-declaration"},{"id":165,"kind":"semantic-declaration"},{"id":166,"kind":"semantic-declaration"},{"id":167,"kind":"semantic-declaration"},{"id":168,"kind":"semantic-declaration"},{"id":169,"kind":"semantic-declaration"},{"id":170,"kind":"semantic-declaration"},{"id":171,"kind":"semantic-declaration"},{"id":172,"kind":"semantic-declaration"},{"id":173,"kind":"semantic-declaration"},{"id":174,"kind":"semantic-declaration"},{"id":175,"kind":"semantic-declaration"},{"id":176,"kind":"semantic-declaration"},{"id":177,"kind":"semantic-declaration"},{"id":178,"kind":"semantic-declaration"},{"id":179,"kind":"semantic-declaration"},{"id":180,"kind":"semantic-declaration"},{"id":181,"kind":"semantic-declaration"},{"id":182,"kind":"semantic-declaration"},{"id":183,"kind":"semantic-declaration"},{"id":184,"kind":"semantic-declaration"},{"id":185,"kind":"semantic-declaration"},{"id":186,"kind":"semantic-declaration"},{"id":187,"kind":"semantic-declaration"},{"id":188,"kind":"semantic-declaration"},{"id":189,"kind":"semantic-declaration"},{"id":190,"kind":"semantic-declaration"},{"id":191,"kind":"semantic-declaration"},{"id":192,"kind":"semantic-declaration"},{"id":193,"kind":"semantic-declaration"},{"id":194,"kind":"semantic-declaration"},{"id":195,"kind":"semantic-declaration"},{"id":196,"kind":"semantic-declaration"},{"id":197,"kind":"semantic-declaration"},{"id":198,"kind":"semantic-declaration"},{"id":199,"kind":"semantic-declaration"},{"id":200,"kind":"semantic-declaration"},{"id":201,"kind":"semantic-declaration"},{"id":202,"kind":"semantic-declaration"},{"id":203,"kind":"semantic-declaration"},{"id":204,"kind":"semantic-declaration"},{"id":205,"kind":"semantic-declaration"},{"id":206,"kind":"semantic-declaration"},{"id":207,"kind":"semantic-declaration"},{"id":208,"kind":"semantic-declaration"},{"id":209,"kind":"semantic-declaration"},{"id":210,"kind":"semantic-latex-module"},{"id":211,"kind":"semantic-declaration"},{"id":212,"kind":"semantic-declaration"},{"id":213,"kind":"semantic-declaration"},{"id":214,"kind":"semantic-declaration"},{"id":215,"kind":"semantic-declaration"},{"id":216,"kind":"semantic-declaration"},{"id":217,"kind":"semantic-declaration"},{"id":218,"kind":"semantic-declaration"},{"id":219,"kind":"semantic-declaration"},{"id":220,"kind":"semantic-declaration"},{"id":221,"kind":"semantic-declaration"},{"id":222,"kind":"semantic-declaration"},{"id":223,"kind":"semantic-declaration"},{"id":224,"kind":"semantic-declaration"},{"id":225,"kind":"semantic-declaration"},{"id":226,"kind":"semantic-declaration"},{"id":227,"kind":"semantic-declaration"},{"id":228,"kind":"semantic-declaration"},{"id":229,"kind":"semantic-declaration"},{"id":230,"kind":"semantic-declaration"},{"id":231,"kind":"semantic-declaration"},{"id":232,"kind":"semantic-declaration"},{"id":233,"kind":"semantic-declaration"},{"id":234,"kind":"semantic-declaration"},{"id":235,"kind":"semantic-declaration"},{"id":236,"kind":"semantic-declaration"},{"id":237,"kind":"semantic-declaration"},{"id":238,"kind":"semantic-declaration"},{"id":239,"kind":"semantic-declaration"},{"id":240,"kind":"semantic-declaration"},{"id":241,"kind":"semantic-declaration"},{"id":242,"kind":"semantic-declaration"},{"id":243,"kind":"semantic-declaration"},{"id":244,"kind":"semantic-declaration"},{"id":245,"kind":"semantic-declaration"},{"id":246,"kind":"semantic-declaration"},{"id":247,"kind":"semantic-declaration"},{"id":248,"kind":"semantic-declaration"},{"id":249,"kind":"semantic-declaration"},{"id":250,"kind":"semantic-declaration"},{"id":251,"kind":"semantic-declaration"},{"id":252,"kind":"semantic-declaration"},{"id":253,"kind":"semantic-declaration"},{"id":254,"kind":"semantic-declaration"},{"id":255,"kind":"semantic-declaration"},{"id":256,"kind":"semantic-declaration"},{"id":257,"kind":"semantic-declaration"},{"id":258,"kind":"semantic-declaration"},{"id":259,"kind":"semantic-declaration"},{"id":260,"kind":"semantic-declaration"},{"id":261,"kind":"semantic-declaration"},{"id":262,"kind":"semantic-declaration"},{"id":263,"kind":"semantic-declaration"},{"id":264,"kind":"semantic-declaration"},{"id":265,"kind":"semantic-declaration"},{"id":266,"kind":"semantic-declaration"},{"id":267,"kind":"semantic-declaration"},{"id":268,"kind":"semantic-declaration"},{"id":269,"kind":"semantic-declaration"},{"id":270,"kind":"semantic-declaration"},{"id":271,"kind":"semantic-declaration"},{"id":272,"kind":"semantic-declaration"},{"id":273,"kind":"semantic-declaration"},{"id":274,"kind":"semantic-declaration"},{"id":275,"kind":"semantic-declaration"},{"id":276,"kind":"semantic-declaration"},{"id":277,"kind":"semantic-declaration"},{"id":278,"kind":"semantic-declaration"},{"id":279,"kind":"semantic-declaration"},{"id":280,"kind":"semantic-declaration"},{"id":281,"kind":"semantic-declaration"},{"id":282,"kind":"semantic-declaration"},{"id":283,"kind":"semantic-declaration"},{"id":284,"kind":"semantic-declaration"},{"id":285,"kind":"semantic-declaration"},{"id":286,"kind":"semantic-declaration"},{"id":287,"kind":"semantic-declaration"},{"id":288,"kind":"semantic-declaration"},{"id":289,"kind":"semantic-declaration"},{"id":290,"kind":"semantic-declaration"},{"id":291,"kind":"semantic-declaration"},{"id":292,"kind":"semantic-declaration"},{"id":293,"kind":"semantic-declaration"},{"id":294,"kind":"semantic-declaration"},{"id":295,"kind":"semantic-declaration"},{"id":296,"kind":"semantic-declaration"},{"id":297,"kind":"semantic-declaration"},{"id":298,"kind":"semantic-declaration"},{"id":299,"kind":"semantic-declaration"},{"id":300,"kind":"semantic-declaration"},{"id":301,"kind":"semantic-declaration"},{"id":302,"kind":"semantic-declaration"},{"id":303,"kind":"semantic-declaration"},{"id":304,"kind":"semantic-declaration"},{"id":305,"kind":"semantic-declaration"},{"id":306,"kind":"semantic-declaration"},{"id":307,"kind":"semantic-declaration"},{"id":308,"kind":"semantic-declaration"},{"id":309,"kind":"semantic-declaration"},{"id":310,"kind":"semantic-declaration"},{"id":311,"kind":"semantic-declaration"},{"id":312,"kind":"semantic-declaration"},{"id":313,"kind":"semantic-declaration"},{"id":314,"kind":"semantic-declaration"},{"id":315,"kind":"semantic-declaration"},{"id":316,"kind":"semantic-declaration"},{"id":317,"kind":"semantic-declaration"},{"id":318,"kind":"semantic-declaration"},{"id":319,"kind":"semantic-declaration"},{"id":320,"kind":"semantic-declaration"},{"id":321,"kind":"semantic-declaration"},{"id":322,"kind":"semantic-declaration"},{"id":323,"kind":"semantic-declaration"},{"id":324,"kind":"semantic-declaration"},{"id":325,"kind":"semantic-declaration"},{"id":326,"kind":"semantic-declaration"},{"id":327,"kind":"semantic-declaration"},{"id":328,"kind":"semantic-declaration"},{"id":329,"kind":"semantic-declaration"},{"id":330,"kind":"semantic-declaration"},{"id":331,"kind":"semantic-declaration"},{"id":332,"kind":"semantic-declaration"},{"id":333,"kind":"semantic-declaration"},{"id":334,"kind":"semantic-declaration"},{"id":335,"kind":"semantic-declaration"},{"id":336,"kind":"semantic-declaration"},{"id":337,"kind":"semantic-declaration"},{"id":338,"kind":"semantic-declaration"},{"id":339,"kind":"semantic-declaration"},{"id":340,"kind":"semantic-declaration"},{"id":341,"kind":"semantic-declaration"},{"id":342,"kind":"semantic-declaration"},{"id":343,"kind":"semantic-declaration"},{"id":344,"kind":"semantic-declaration"},{"id":345,"kind":"semantic-declaration"},{"id":346,"kind":"semantic-declaration"},{"id":347,"kind":"semantic-declaration"},{"id":348,"kind":"semantic-declaration"},{"id":349,"kind":"semantic-declaration"},{"id":350,"kind":"semantic-declaration"},{"id":351,"kind":"semantic-declaration"},{"id":352,"kind":"semantic-declaration"},{"id":353,"kind":"semantic-declaration"},{"id":354,"kind":"semantic-declaration"},{"id":355,"kind":"semantic-declaration"},{"id":356,"kind":"semantic-declaration"},{"id":357,"kind":"semantic-declaration"},{"id":358,"kind":"semantic-declaration"},{"id":359,"kind":"semantic-declaration"},{"id":360,"kind":"semantic-declaration"},{"id":361,"kind":"semantic-declaration"},{"id":362,"kind":"semantic-declaration"},{"id":363,"kind":"semantic-declaration"},{"id":364,"kind":"semantic-declaration"},{"id":365,"kind":"semantic-declaration"},{"id":366,"kind":"semantic-declaration"},{"id":367,"kind":"semantic-declaration"},{"id":368,"kind":"semantic-declaration"},{"id":369,"kind":"semantic-declaration"},{"id":370,"kind":"semantic-declaration"},{"id":371,"kind":"semantic-declaration"},{"id":372,"kind":"semantic-declaration"},{"id":373,"kind":"semantic-declaration"},{"id":374,"kind":"semantic-declaration"},{"id":375,"kind":"semantic-declaration"},{"id":376,"kind":"semantic-declaration"},{"id":377,"kind":"semantic-declaration"},{"id":378,"kind":"semantic-declaration"},{"id":379,"kind":"semantic-declaration"},{"id":380,"kind":"semantic-declaration"},{"id":381,"kind":"semantic-declaration"},{"id":382,"kind":"semantic-declaration"},{"id":383,"kind":"semantic-declaration"},{"id":384,"kind":"semantic-declaration"},{"id":385,"kind":"semantic-declaration"},{"id":386,"kind":"semantic-declaration"},{"id":387,"kind":"semantic-declaration"},{"id":388,"kind":"semantic-declaration"},{"id":389,"kind":"semantic-declaration"},{"id":390,"kind":"semantic-declaration"},{"id":391,"kind":"semantic-declaration"},{"id":392,"kind":"semantic-declaration"},{"id":393,"kind":"semantic-declaration"},{"id":394,"kind":"semantic-declaration"},{"id":395,"kind":"semantic-declaration"},{"id":396,"kind":"semantic-declaration"},{"id":397,"kind":"semantic-declaration"},{"id":398,"kind":"semantic-declaration"},{"id":399,"kind":"semantic-declaration"},{"id":400,"kind":"semantic-declaration"},{"id":401,"kind":"semantic-declaration"},{"id":402,"kind":"semantic-declaration"},{"id":403,"kind":"semantic-declaration"},{"id":404,"kind":"semantic-declaration"},{"id":405,"kind":"semantic-declaration"},{"id":406,"kind":"semantic-declaration"},{"id":407,"kind":"semantic-declaration"},{"id":408,"kind":"semantic-declaration"},{"id":409,"kind":"semantic-declaration"},{"id":410,"kind":"semantic-declaration"},{"id":411,"kind":"semantic-declaration"},{"id":412,"kind":"semantic-declaration"},{"id":413,"kind":"semantic-declaration"},{"id":414,"kind":"semantic-declaration"},{"id":415,"kind":"semantic-declaration"},{"id":416,"kind":"semantic-declaration"},{"id":417,"kind":"semantic-declaration"},{"id":418,"kind":"semantic-declaration"},{"id":419,"kind":"semantic-declaration"}],"semantic_id":"322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a","source_id":"fc8fbbd2922aa3e7a7463e6862d110709e47f518802f63748cd199cee6055a74","sources":[{"id":0,"kind":"file","path":"src/GnafFixtures.lex.tex","sha256":"e7f06e087d0ec40b8dd61f2fe1c51258ec55d93f5e5e16938c27598661e8d913"}],"spec":"lexlean/source-map/1"} diff --git a/compiler/expected/build/maps/LexLeanTarget/GradeOracle.map.json b/compiler/expected/build/maps/LexLeanTarget/GradeOracle.map.json index 381c20993..282e0122c 100644 --- a/compiler/expected/build/maps/LexLeanTarget/GradeOracle.map.json +++ b/compiler/expected/build/maps/LexLeanTarget/GradeOracle.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/GradeOracle.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/GradeOracle.tex"}],"mappings":[{"artifact":0,"gen_end":34291,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":5030,"src_start":0},{"artifact":0,"gen_end":34467,"gen_start":34291,"node":1,"role":"declaration","source":0,"src_end":318,"src_start":151},{"artifact":0,"gen_end":34659,"gen_start":34467,"node":2,"role":"declaration","source":0,"src_end":520,"src_start":320},{"artifact":0,"gen_end":35210,"gen_start":34659,"node":3,"role":"declaration","source":0,"src_end":849,"src_start":522},{"artifact":0,"gen_end":35388,"gen_start":35210,"node":4,"role":"declaration","source":0,"src_end":1085,"src_start":851},{"artifact":0,"gen_end":35744,"gen_start":35388,"node":5,"role":"declaration","source":0,"src_end":1498,"src_start":1087},{"artifact":0,"gen_end":36100,"gen_start":35744,"node":6,"role":"declaration","source":0,"src_end":1893,"src_start":1500},{"artifact":0,"gen_end":36455,"gen_start":36100,"node":7,"role":"declaration","source":0,"src_end":2242,"src_start":1895},{"artifact":0,"gen_end":37162,"gen_start":36455,"node":8,"role":"declaration","source":0,"src_end":2737,"src_start":2244},{"artifact":0,"gen_end":38068,"gen_start":37162,"node":9,"role":"declaration","source":0,"src_end":3361,"src_start":2739},{"artifact":0,"gen_end":38746,"gen_start":38068,"node":10,"role":"declaration","source":0,"src_end":3856,"src_start":3363},{"artifact":0,"gen_end":68169,"gen_start":38746,"node":11,"role":"declaration","source":0,"src_end":4994,"src_start":3858},{"artifact":0,"gen_end":68200,"gen_start":68169,"node":0,"role":"declaration","source":0,"src_end":5030,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":12,"role":"declaration","source":0,"src_end":5030,"src_start":0},{"artifact":1,"gen_end":496,"gen_start":134,"node":13,"role":"declaration","source":0,"src_end":318,"src_start":151},{"artifact":1,"gen_end":937,"gen_start":496,"node":14,"role":"declaration","source":0,"src_end":520,"src_start":320},{"artifact":1,"gen_end":1269,"gen_start":937,"node":15,"role":"declaration","source":0,"src_end":849,"src_start":522},{"artifact":1,"gen_end":2003,"gen_start":1269,"node":16,"role":"declaration","source":0,"src_end":1085,"src_start":851},{"artifact":1,"gen_end":2492,"gen_start":2003,"node":17,"role":"declaration","source":0,"src_end":1498,"src_start":1087},{"artifact":1,"gen_end":2966,"gen_start":2492,"node":18,"role":"declaration","source":0,"src_end":1893,"src_start":1500},{"artifact":1,"gen_end":3537,"gen_start":2966,"node":19,"role":"declaration","source":0,"src_end":2242,"src_start":1895},{"artifact":1,"gen_end":3999,"gen_start":3537,"node":20,"role":"declaration","source":0,"src_end":2737,"src_start":2244},{"artifact":1,"gen_end":4451,"gen_start":3999,"node":21,"role":"declaration","source":0,"src_end":3361,"src_start":2739},{"artifact":1,"gen_end":4874,"gen_start":4451,"node":22,"role":"declaration","source":0,"src_end":3856,"src_start":3363},{"artifact":1,"gen_end":26676,"gen_start":4874,"node":23,"role":"declaration","source":0,"src_end":4994,"src_start":3858},{"artifact":1,"gen_end":26691,"gen_start":26676,"node":12,"role":"declaration","source":0,"src_end":5030,"src_start":0}],"module":"GradeOracle","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-latex-module"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"}],"semantic_id":"db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9","source_id":"2f76ada498f17258f8a526df0820565414e563312654a2a7396b586dd3b407d1","sources":[{"id":0,"kind":"file","path":"src/GradeOracle.lex.tex","sha256":"1e19782f0fd76c6d49b5f7f5f29569f8f52b5d91397f0ec9921286cdd03b0fd0"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/GradeOracle.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/GradeOracle.tex"}],"mappings":[{"artifact":0,"gen_end":370,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":5030,"src_start":0},{"artifact":0,"gen_end":546,"gen_start":370,"node":1,"role":"declaration","source":0,"src_end":318,"src_start":151},{"artifact":0,"gen_end":738,"gen_start":546,"node":2,"role":"declaration","source":0,"src_end":520,"src_start":320},{"artifact":0,"gen_end":1289,"gen_start":738,"node":3,"role":"declaration","source":0,"src_end":849,"src_start":522},{"artifact":0,"gen_end":1467,"gen_start":1289,"node":4,"role":"declaration","source":0,"src_end":1085,"src_start":851},{"artifact":0,"gen_end":1823,"gen_start":1467,"node":5,"role":"declaration","source":0,"src_end":1498,"src_start":1087},{"artifact":0,"gen_end":2179,"gen_start":1823,"node":6,"role":"declaration","source":0,"src_end":1893,"src_start":1500},{"artifact":0,"gen_end":2534,"gen_start":2179,"node":7,"role":"declaration","source":0,"src_end":2242,"src_start":1895},{"artifact":0,"gen_end":3241,"gen_start":2534,"node":8,"role":"declaration","source":0,"src_end":2737,"src_start":2244},{"artifact":0,"gen_end":4147,"gen_start":3241,"node":9,"role":"declaration","source":0,"src_end":3361,"src_start":2739},{"artifact":0,"gen_end":4825,"gen_start":4147,"node":10,"role":"declaration","source":0,"src_end":3856,"src_start":3363},{"artifact":0,"gen_end":34248,"gen_start":4825,"node":11,"role":"declaration","source":0,"src_end":4994,"src_start":3858},{"artifact":0,"gen_end":34279,"gen_start":34248,"node":0,"role":"declaration","source":0,"src_end":5030,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":12,"role":"declaration","source":0,"src_end":5030,"src_start":0},{"artifact":1,"gen_end":496,"gen_start":134,"node":13,"role":"declaration","source":0,"src_end":318,"src_start":151},{"artifact":1,"gen_end":937,"gen_start":496,"node":14,"role":"declaration","source":0,"src_end":520,"src_start":320},{"artifact":1,"gen_end":1269,"gen_start":937,"node":15,"role":"declaration","source":0,"src_end":849,"src_start":522},{"artifact":1,"gen_end":2003,"gen_start":1269,"node":16,"role":"declaration","source":0,"src_end":1085,"src_start":851},{"artifact":1,"gen_end":2492,"gen_start":2003,"node":17,"role":"declaration","source":0,"src_end":1498,"src_start":1087},{"artifact":1,"gen_end":2966,"gen_start":2492,"node":18,"role":"declaration","source":0,"src_end":1893,"src_start":1500},{"artifact":1,"gen_end":3537,"gen_start":2966,"node":19,"role":"declaration","source":0,"src_end":2242,"src_start":1895},{"artifact":1,"gen_end":3999,"gen_start":3537,"node":20,"role":"declaration","source":0,"src_end":2737,"src_start":2244},{"artifact":1,"gen_end":4451,"gen_start":3999,"node":21,"role":"declaration","source":0,"src_end":3361,"src_start":2739},{"artifact":1,"gen_end":4874,"gen_start":4451,"node":22,"role":"declaration","source":0,"src_end":3856,"src_start":3363},{"artifact":1,"gen_end":26676,"gen_start":4874,"node":23,"role":"declaration","source":0,"src_end":4994,"src_start":3858},{"artifact":1,"gen_end":26691,"gen_start":26676,"node":12,"role":"declaration","source":0,"src_end":5030,"src_start":0}],"module":"GradeOracle","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-latex-module"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"}],"semantic_id":"322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a","source_id":"fc8fbbd2922aa3e7a7463e6862d110709e47f518802f63748cd199cee6055a74","sources":[{"id":0,"kind":"file","path":"src/GradeOracle.lex.tex","sha256":"1e19782f0fd76c6d49b5f7f5f29569f8f52b5d91397f0ec9921286cdd03b0fd0"}],"spec":"lexlean/source-map/1"} diff --git a/compiler/expected/build/maps/LexLeanTarget/Main.map.json b/compiler/expected/build/maps/LexLeanTarget/Main.map.json index 0fd375c0b..40a57f7bb 100644 --- a/compiler/expected/build/maps/LexLeanTarget/Main.map.json +++ b/compiler/expected/build/maps/LexLeanTarget/Main.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/Main.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/Main.tex"}],"mappings":[{"artifact":0,"gen_end":869,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":811,"src_start":0},{"artifact":0,"gen_end":1104,"gen_start":869,"node":1,"role":"declaration","source":0,"src_end":775,"src_start":573},{"artifact":0,"gen_end":1128,"gen_start":1104,"node":0,"role":"declaration","source":0,"src_end":811,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":2,"role":"declaration","source":0,"src_end":811,"src_start":0},{"artifact":1,"gen_end":517,"gen_start":134,"node":3,"role":"declaration","source":0,"src_end":775,"src_start":573},{"artifact":1,"gen_end":532,"gen_start":517,"node":2,"role":"declaration","source":0,"src_end":811,"src_start":0}],"module":"Main","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-latex-module"},{"id":3,"kind":"semantic-declaration"}],"semantic_id":"db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9","source_id":"2f76ada498f17258f8a526df0820565414e563312654a2a7396b586dd3b407d1","sources":[{"id":0,"kind":"file","path":"src/Main.lex.tex","sha256":"a26d3c220ec1352dd96565ac2308c1684a945a98e1210b3dfaab30cd76dc1875"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/Main.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/Main.tex"}],"mappings":[{"artifact":0,"gen_end":869,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":811,"src_start":0},{"artifact":0,"gen_end":1104,"gen_start":869,"node":1,"role":"declaration","source":0,"src_end":775,"src_start":573},{"artifact":0,"gen_end":1128,"gen_start":1104,"node":0,"role":"declaration","source":0,"src_end":811,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":2,"role":"declaration","source":0,"src_end":811,"src_start":0},{"artifact":1,"gen_end":517,"gen_start":134,"node":3,"role":"declaration","source":0,"src_end":775,"src_start":573},{"artifact":1,"gen_end":532,"gen_start":517,"node":2,"role":"declaration","source":0,"src_end":811,"src_start":0}],"module":"Main","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-latex-module"},{"id":3,"kind":"semantic-declaration"}],"semantic_id":"322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a","source_id":"fc8fbbd2922aa3e7a7463e6862d110709e47f518802f63748cd199cee6055a74","sources":[{"id":0,"kind":"file","path":"src/Main.lex.tex","sha256":"a26d3c220ec1352dd96565ac2308c1684a945a98e1210b3dfaab30cd76dc1875"}],"spec":"lexlean/source-map/1"} diff --git a/compiler/expected/build/maps/LexLeanTarget/PlannerOracle.map.json b/compiler/expected/build/maps/LexLeanTarget/PlannerOracle.map.json index 991bda166..3cdaec063 100644 --- a/compiler/expected/build/maps/LexLeanTarget/PlannerOracle.map.json +++ b/compiler/expected/build/maps/LexLeanTarget/PlannerOracle.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/PlannerOracle.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/PlannerOracle.tex"}],"mappings":[{"artifact":0,"gen_end":34249,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":8685,"src_start":0},{"artifact":0,"gen_end":34380,"gen_start":34249,"node":1,"role":"declaration","source":0,"src_end":264,"src_start":122},{"artifact":0,"gen_end":34484,"gen_start":34380,"node":2,"role":"declaration","source":0,"src_end":390,"src_start":266},{"artifact":0,"gen_end":34928,"gen_start":34484,"node":3,"role":"declaration","source":0,"src_end":580,"src_start":392},{"artifact":0,"gen_end":35111,"gen_start":34928,"node":4,"role":"declaration","source":0,"src_end":727,"src_start":582},{"artifact":0,"gen_end":35570,"gen_start":35111,"node":5,"role":"declaration","source":0,"src_end":988,"src_start":729},{"artifact":0,"gen_end":36436,"gen_start":35570,"node":6,"role":"declaration","source":0,"src_end":1228,"src_start":990},{"artifact":0,"gen_end":36896,"gen_start":36436,"node":7,"role":"declaration","source":0,"src_end":1489,"src_start":1230},{"artifact":0,"gen_end":37772,"gen_start":36896,"node":8,"role":"declaration","source":0,"src_end":1730,"src_start":1491},{"artifact":0,"gen_end":38321,"gen_start":37772,"node":9,"role":"declaration","source":0,"src_end":2067,"src_start":1732},{"artifact":0,"gen_end":39440,"gen_start":38321,"node":10,"role":"declaration","source":0,"src_end":2456,"src_start":2069},{"artifact":0,"gen_end":39567,"gen_start":39440,"node":11,"role":"declaration","source":0,"src_end":2604,"src_start":2458},{"artifact":0,"gen_end":39707,"gen_start":39567,"node":12,"role":"declaration","source":0,"src_end":2779,"src_start":2606},{"artifact":0,"gen_end":40179,"gen_start":39707,"node":13,"role":"declaration","source":0,"src_end":3023,"src_start":2781},{"artifact":0,"gen_end":40372,"gen_start":40179,"node":14,"role":"declaration","source":0,"src_end":3231,"src_start":3025},{"artifact":0,"gen_end":40752,"gen_start":40372,"node":15,"role":"declaration","source":0,"src_end":3424,"src_start":3233},{"artifact":0,"gen_end":71570,"gen_start":40752,"node":16,"role":"declaration","source":0,"src_end":3997,"src_start":3426},{"artifact":0,"gen_end":71655,"gen_start":71570,"node":17,"role":"declaration","source":0,"src_end":4090,"src_start":3999},{"artifact":0,"gen_end":71743,"gen_start":71655,"node":18,"role":"declaration","source":0,"src_end":4219,"src_start":4092},{"artifact":0,"gen_end":72190,"gen_start":71743,"node":19,"role":"declaration","source":0,"src_end":4445,"src_start":4221},{"artifact":0,"gen_end":72375,"gen_start":72190,"node":20,"role":"declaration","source":0,"src_end":4637,"src_start":4447},{"artifact":0,"gen_end":72459,"gen_start":72375,"node":21,"role":"declaration","source":0,"src_end":4729,"src_start":4639},{"artifact":0,"gen_end":72546,"gen_start":72459,"node":22,"role":"declaration","source":0,"src_end":4857,"src_start":4731},{"artifact":0,"gen_end":72988,"gen_start":72546,"node":23,"role":"declaration","source":0,"src_end":5078,"src_start":4859},{"artifact":0,"gen_end":73172,"gen_start":72988,"node":24,"role":"declaration","source":0,"src_end":5269,"src_start":5080},{"artifact":0,"gen_end":73661,"gen_start":73172,"node":25,"role":"declaration","source":0,"src_end":5569,"src_start":5271},{"artifact":0,"gen_end":73799,"gen_start":73661,"node":26,"role":"declaration","source":0,"src_end":5723,"src_start":5571},{"artifact":0,"gen_end":74191,"gen_start":73799,"node":27,"role":"declaration","source":0,"src_end":5927,"src_start":5725},{"artifact":0,"gen_end":74679,"gen_start":74191,"node":28,"role":"declaration","source":0,"src_end":6207,"src_start":5929},{"artifact":0,"gen_end":75184,"gen_start":74679,"node":29,"role":"declaration","source":0,"src_end":6521,"src_start":6209},{"artifact":0,"gen_end":75653,"gen_start":75184,"node":30,"role":"declaration","source":0,"src_end":6801,"src_start":6523},{"artifact":0,"gen_end":107148,"gen_start":75653,"node":31,"role":"declaration","source":0,"src_end":7410,"src_start":6803},{"artifact":0,"gen_end":139738,"gen_start":107148,"node":32,"role":"declaration","source":0,"src_end":8079,"src_start":7412},{"artifact":0,"gen_end":171482,"gen_start":139738,"node":33,"role":"declaration","source":0,"src_end":8649,"src_start":8081},{"artifact":0,"gen_end":171515,"gen_start":171482,"node":0,"role":"declaration","source":0,"src_end":8685,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":34,"role":"declaration","source":0,"src_end":8685,"src_start":0},{"artifact":1,"gen_end":450,"gen_start":134,"node":35,"role":"declaration","source":0,"src_end":264,"src_start":122},{"artifact":1,"gen_end":740,"gen_start":450,"node":36,"role":"declaration","source":0,"src_end":390,"src_start":266},{"artifact":1,"gen_end":1018,"gen_start":740,"node":37,"role":"declaration","source":0,"src_end":580,"src_start":392},{"artifact":1,"gen_end":1647,"gen_start":1018,"node":38,"role":"declaration","source":0,"src_end":727,"src_start":582},{"artifact":1,"gen_end":1989,"gen_start":1647,"node":39,"role":"declaration","source":0,"src_end":988,"src_start":729},{"artifact":1,"gen_end":3308,"gen_start":1989,"node":40,"role":"declaration","source":0,"src_end":1228,"src_start":990},{"artifact":1,"gen_end":3651,"gen_start":3308,"node":41,"role":"declaration","source":0,"src_end":1489,"src_start":1230},{"artifact":1,"gen_end":4981,"gen_start":3651,"node":42,"role":"declaration","source":0,"src_end":1730,"src_start":1491},{"artifact":1,"gen_end":5415,"gen_start":4981,"node":43,"role":"declaration","source":0,"src_end":2067,"src_start":1732},{"artifact":1,"gen_end":7272,"gen_start":5415,"node":44,"role":"declaration","source":0,"src_end":2456,"src_start":2069},{"artifact":1,"gen_end":7585,"gen_start":7272,"node":45,"role":"declaration","source":0,"src_end":2604,"src_start":2458},{"artifact":1,"gen_end":7974,"gen_start":7585,"node":46,"role":"declaration","source":0,"src_end":2779,"src_start":2606},{"artifact":1,"gen_end":8279,"gen_start":7974,"node":47,"role":"declaration","source":0,"src_end":3023,"src_start":2781},{"artifact":1,"gen_end":8992,"gen_start":8279,"node":48,"role":"declaration","source":0,"src_end":3231,"src_start":3025},{"artifact":1,"gen_end":9254,"gen_start":8992,"node":49,"role":"declaration","source":0,"src_end":3424,"src_start":3233},{"artifact":1,"gen_end":27419,"gen_start":9254,"node":50,"role":"declaration","source":0,"src_end":3997,"src_start":3426},{"artifact":1,"gen_end":27674,"gen_start":27419,"node":51,"role":"declaration","source":0,"src_end":4090,"src_start":3999},{"artifact":1,"gen_end":28008,"gen_start":27674,"node":52,"role":"declaration","source":0,"src_end":4219,"src_start":4092},{"artifact":1,"gen_end":28292,"gen_start":28008,"node":53,"role":"declaration","source":0,"src_end":4445,"src_start":4221},{"artifact":1,"gen_end":28953,"gen_start":28292,"node":54,"role":"declaration","source":0,"src_end":4637,"src_start":4447},{"artifact":1,"gen_end":29207,"gen_start":28953,"node":55,"role":"declaration","source":0,"src_end":4729,"src_start":4639},{"artifact":1,"gen_end":29540,"gen_start":29207,"node":56,"role":"declaration","source":0,"src_end":4857,"src_start":4731},{"artifact":1,"gen_end":29821,"gen_start":29540,"node":57,"role":"declaration","source":0,"src_end":5078,"src_start":4859},{"artifact":1,"gen_end":30480,"gen_start":29821,"node":58,"role":"declaration","source":0,"src_end":5269,"src_start":5080},{"artifact":1,"gen_end":30826,"gen_start":30480,"node":59,"role":"declaration","source":0,"src_end":5569,"src_start":5271},{"artifact":1,"gen_end":31150,"gen_start":30826,"node":60,"role":"declaration","source":0,"src_end":5723,"src_start":5571},{"artifact":1,"gen_end":31418,"gen_start":31150,"node":61,"role":"declaration","source":0,"src_end":5927,"src_start":5725},{"artifact":1,"gen_end":31775,"gen_start":31418,"node":62,"role":"declaration","source":0,"src_end":6207,"src_start":5929},{"artifact":1,"gen_end":32131,"gen_start":31775,"node":63,"role":"declaration","source":0,"src_end":6521,"src_start":6209},{"artifact":1,"gen_end":32464,"gen_start":32131,"node":64,"role":"declaration","source":0,"src_end":6801,"src_start":6523},{"artifact":1,"gen_end":51452,"gen_start":32464,"node":65,"role":"declaration","source":0,"src_end":7410,"src_start":6803},{"artifact":1,"gen_end":71336,"gen_start":51452,"node":66,"role":"declaration","source":0,"src_end":8079,"src_start":7412},{"artifact":1,"gen_end":90352,"gen_start":71336,"node":67,"role":"declaration","source":0,"src_end":8649,"src_start":8081},{"artifact":1,"gen_end":90367,"gen_start":90352,"node":34,"role":"declaration","source":0,"src_end":8685,"src_start":0}],"module":"PlannerOracle","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-latex-module"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"}],"semantic_id":"db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9","source_id":"2f76ada498f17258f8a526df0820565414e563312654a2a7396b586dd3b407d1","sources":[{"id":0,"kind":"file","path":"src/PlannerOracle.lex.tex","sha256":"8579b13fcc26a5bdd3323388f400d1b0b805359f96fe4beea29b26bbaa79f50b"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/PlannerOracle.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/PlannerOracle.tex"}],"mappings":[{"artifact":0,"gen_end":328,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":8685,"src_start":0},{"artifact":0,"gen_end":459,"gen_start":328,"node":1,"role":"declaration","source":0,"src_end":264,"src_start":122},{"artifact":0,"gen_end":563,"gen_start":459,"node":2,"role":"declaration","source":0,"src_end":390,"src_start":266},{"artifact":0,"gen_end":1007,"gen_start":563,"node":3,"role":"declaration","source":0,"src_end":580,"src_start":392},{"artifact":0,"gen_end":1190,"gen_start":1007,"node":4,"role":"declaration","source":0,"src_end":727,"src_start":582},{"artifact":0,"gen_end":1649,"gen_start":1190,"node":5,"role":"declaration","source":0,"src_end":988,"src_start":729},{"artifact":0,"gen_end":2515,"gen_start":1649,"node":6,"role":"declaration","source":0,"src_end":1228,"src_start":990},{"artifact":0,"gen_end":2975,"gen_start":2515,"node":7,"role":"declaration","source":0,"src_end":1489,"src_start":1230},{"artifact":0,"gen_end":3851,"gen_start":2975,"node":8,"role":"declaration","source":0,"src_end":1730,"src_start":1491},{"artifact":0,"gen_end":4400,"gen_start":3851,"node":9,"role":"declaration","source":0,"src_end":2067,"src_start":1732},{"artifact":0,"gen_end":5519,"gen_start":4400,"node":10,"role":"declaration","source":0,"src_end":2456,"src_start":2069},{"artifact":0,"gen_end":5646,"gen_start":5519,"node":11,"role":"declaration","source":0,"src_end":2604,"src_start":2458},{"artifact":0,"gen_end":5786,"gen_start":5646,"node":12,"role":"declaration","source":0,"src_end":2779,"src_start":2606},{"artifact":0,"gen_end":6258,"gen_start":5786,"node":13,"role":"declaration","source":0,"src_end":3023,"src_start":2781},{"artifact":0,"gen_end":6451,"gen_start":6258,"node":14,"role":"declaration","source":0,"src_end":3231,"src_start":3025},{"artifact":0,"gen_end":6831,"gen_start":6451,"node":15,"role":"declaration","source":0,"src_end":3424,"src_start":3233},{"artifact":0,"gen_end":37649,"gen_start":6831,"node":16,"role":"declaration","source":0,"src_end":3997,"src_start":3426},{"artifact":0,"gen_end":37734,"gen_start":37649,"node":17,"role":"declaration","source":0,"src_end":4090,"src_start":3999},{"artifact":0,"gen_end":37822,"gen_start":37734,"node":18,"role":"declaration","source":0,"src_end":4219,"src_start":4092},{"artifact":0,"gen_end":38269,"gen_start":37822,"node":19,"role":"declaration","source":0,"src_end":4445,"src_start":4221},{"artifact":0,"gen_end":38454,"gen_start":38269,"node":20,"role":"declaration","source":0,"src_end":4637,"src_start":4447},{"artifact":0,"gen_end":38538,"gen_start":38454,"node":21,"role":"declaration","source":0,"src_end":4729,"src_start":4639},{"artifact":0,"gen_end":38625,"gen_start":38538,"node":22,"role":"declaration","source":0,"src_end":4857,"src_start":4731},{"artifact":0,"gen_end":39067,"gen_start":38625,"node":23,"role":"declaration","source":0,"src_end":5078,"src_start":4859},{"artifact":0,"gen_end":39251,"gen_start":39067,"node":24,"role":"declaration","source":0,"src_end":5269,"src_start":5080},{"artifact":0,"gen_end":39740,"gen_start":39251,"node":25,"role":"declaration","source":0,"src_end":5569,"src_start":5271},{"artifact":0,"gen_end":39878,"gen_start":39740,"node":26,"role":"declaration","source":0,"src_end":5723,"src_start":5571},{"artifact":0,"gen_end":40270,"gen_start":39878,"node":27,"role":"declaration","source":0,"src_end":5927,"src_start":5725},{"artifact":0,"gen_end":40758,"gen_start":40270,"node":28,"role":"declaration","source":0,"src_end":6207,"src_start":5929},{"artifact":0,"gen_end":41263,"gen_start":40758,"node":29,"role":"declaration","source":0,"src_end":6521,"src_start":6209},{"artifact":0,"gen_end":41732,"gen_start":41263,"node":30,"role":"declaration","source":0,"src_end":6801,"src_start":6523},{"artifact":0,"gen_end":73227,"gen_start":41732,"node":31,"role":"declaration","source":0,"src_end":7410,"src_start":6803},{"artifact":0,"gen_end":105817,"gen_start":73227,"node":32,"role":"declaration","source":0,"src_end":8079,"src_start":7412},{"artifact":0,"gen_end":137561,"gen_start":105817,"node":33,"role":"declaration","source":0,"src_end":8649,"src_start":8081},{"artifact":0,"gen_end":137594,"gen_start":137561,"node":0,"role":"declaration","source":0,"src_end":8685,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":34,"role":"declaration","source":0,"src_end":8685,"src_start":0},{"artifact":1,"gen_end":450,"gen_start":134,"node":35,"role":"declaration","source":0,"src_end":264,"src_start":122},{"artifact":1,"gen_end":740,"gen_start":450,"node":36,"role":"declaration","source":0,"src_end":390,"src_start":266},{"artifact":1,"gen_end":1018,"gen_start":740,"node":37,"role":"declaration","source":0,"src_end":580,"src_start":392},{"artifact":1,"gen_end":1647,"gen_start":1018,"node":38,"role":"declaration","source":0,"src_end":727,"src_start":582},{"artifact":1,"gen_end":1989,"gen_start":1647,"node":39,"role":"declaration","source":0,"src_end":988,"src_start":729},{"artifact":1,"gen_end":3308,"gen_start":1989,"node":40,"role":"declaration","source":0,"src_end":1228,"src_start":990},{"artifact":1,"gen_end":3651,"gen_start":3308,"node":41,"role":"declaration","source":0,"src_end":1489,"src_start":1230},{"artifact":1,"gen_end":4981,"gen_start":3651,"node":42,"role":"declaration","source":0,"src_end":1730,"src_start":1491},{"artifact":1,"gen_end":5415,"gen_start":4981,"node":43,"role":"declaration","source":0,"src_end":2067,"src_start":1732},{"artifact":1,"gen_end":7272,"gen_start":5415,"node":44,"role":"declaration","source":0,"src_end":2456,"src_start":2069},{"artifact":1,"gen_end":7585,"gen_start":7272,"node":45,"role":"declaration","source":0,"src_end":2604,"src_start":2458},{"artifact":1,"gen_end":7974,"gen_start":7585,"node":46,"role":"declaration","source":0,"src_end":2779,"src_start":2606},{"artifact":1,"gen_end":8279,"gen_start":7974,"node":47,"role":"declaration","source":0,"src_end":3023,"src_start":2781},{"artifact":1,"gen_end":8992,"gen_start":8279,"node":48,"role":"declaration","source":0,"src_end":3231,"src_start":3025},{"artifact":1,"gen_end":9254,"gen_start":8992,"node":49,"role":"declaration","source":0,"src_end":3424,"src_start":3233},{"artifact":1,"gen_end":27419,"gen_start":9254,"node":50,"role":"declaration","source":0,"src_end":3997,"src_start":3426},{"artifact":1,"gen_end":27674,"gen_start":27419,"node":51,"role":"declaration","source":0,"src_end":4090,"src_start":3999},{"artifact":1,"gen_end":28008,"gen_start":27674,"node":52,"role":"declaration","source":0,"src_end":4219,"src_start":4092},{"artifact":1,"gen_end":28292,"gen_start":28008,"node":53,"role":"declaration","source":0,"src_end":4445,"src_start":4221},{"artifact":1,"gen_end":28953,"gen_start":28292,"node":54,"role":"declaration","source":0,"src_end":4637,"src_start":4447},{"artifact":1,"gen_end":29207,"gen_start":28953,"node":55,"role":"declaration","source":0,"src_end":4729,"src_start":4639},{"artifact":1,"gen_end":29540,"gen_start":29207,"node":56,"role":"declaration","source":0,"src_end":4857,"src_start":4731},{"artifact":1,"gen_end":29821,"gen_start":29540,"node":57,"role":"declaration","source":0,"src_end":5078,"src_start":4859},{"artifact":1,"gen_end":30480,"gen_start":29821,"node":58,"role":"declaration","source":0,"src_end":5269,"src_start":5080},{"artifact":1,"gen_end":30826,"gen_start":30480,"node":59,"role":"declaration","source":0,"src_end":5569,"src_start":5271},{"artifact":1,"gen_end":31150,"gen_start":30826,"node":60,"role":"declaration","source":0,"src_end":5723,"src_start":5571},{"artifact":1,"gen_end":31418,"gen_start":31150,"node":61,"role":"declaration","source":0,"src_end":5927,"src_start":5725},{"artifact":1,"gen_end":31775,"gen_start":31418,"node":62,"role":"declaration","source":0,"src_end":6207,"src_start":5929},{"artifact":1,"gen_end":32131,"gen_start":31775,"node":63,"role":"declaration","source":0,"src_end":6521,"src_start":6209},{"artifact":1,"gen_end":32464,"gen_start":32131,"node":64,"role":"declaration","source":0,"src_end":6801,"src_start":6523},{"artifact":1,"gen_end":51452,"gen_start":32464,"node":65,"role":"declaration","source":0,"src_end":7410,"src_start":6803},{"artifact":1,"gen_end":71336,"gen_start":51452,"node":66,"role":"declaration","source":0,"src_end":8079,"src_start":7412},{"artifact":1,"gen_end":90352,"gen_start":71336,"node":67,"role":"declaration","source":0,"src_end":8649,"src_start":8081},{"artifact":1,"gen_end":90367,"gen_start":90352,"node":34,"role":"declaration","source":0,"src_end":8685,"src_start":0}],"module":"PlannerOracle","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-latex-module"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"}],"semantic_id":"322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a","source_id":"fc8fbbd2922aa3e7a7463e6862d110709e47f518802f63748cd199cee6055a74","sources":[{"id":0,"kind":"file","path":"src/PlannerOracle.lex.tex","sha256":"8579b13fcc26a5bdd3323388f400d1b0b805359f96fe4beea29b26bbaa79f50b"}],"spec":"lexlean/source-map/1"} diff --git a/compiler/expected/build/maps/LexLeanTarget/ReasoningFixtures.map.json b/compiler/expected/build/maps/LexLeanTarget/ReasoningFixtures.map.json index 4accb9e5d..747940b3f 100644 --- a/compiler/expected/build/maps/LexLeanTarget/ReasoningFixtures.map.json +++ b/compiler/expected/build/maps/LexLeanTarget/ReasoningFixtures.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/ReasoningFixtures.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/ReasoningFixtures.tex"}],"mappings":[{"artifact":0,"gen_end":510,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":699968,"src_start":0},{"artifact":0,"gen_end":1242,"gen_start":510,"node":1,"role":"declaration","source":0,"src_end":1039,"src_start":331},{"artifact":0,"gen_end":2552,"gen_start":1242,"node":2,"role":"declaration","source":0,"src_end":2029,"src_start":1041},{"artifact":0,"gen_end":2840,"gen_start":2552,"node":3,"role":"declaration","source":0,"src_end":2350,"src_start":2031},{"artifact":0,"gen_end":3461,"gen_start":2840,"node":4,"role":"declaration","source":0,"src_end":2845,"src_start":2352},{"artifact":0,"gen_end":3743,"gen_start":3461,"node":5,"role":"declaration","source":0,"src_end":3160,"src_start":2847},{"artifact":0,"gen_end":4098,"gen_start":3743,"node":6,"role":"declaration","source":0,"src_end":3469,"src_start":3162},{"artifact":0,"gen_end":4390,"gen_start":4098,"node":7,"role":"declaration","source":0,"src_end":3794,"src_start":3471},{"artifact":0,"gen_end":4741,"gen_start":4390,"node":8,"role":"declaration","source":0,"src_end":4099,"src_start":3796},{"artifact":0,"gen_end":5025,"gen_start":4741,"node":9,"role":"declaration","source":0,"src_end":4416,"src_start":4101},{"artifact":0,"gen_end":28222,"gen_start":5025,"node":10,"role":"declaration","source":0,"src_end":22330,"src_start":4418},{"artifact":0,"gen_end":28475,"gen_start":28222,"node":11,"role":"declaration","source":0,"src_end":22611,"src_start":22332},{"artifact":0,"gen_end":29278,"gen_start":28475,"node":12,"role":"declaration","source":0,"src_end":23361,"src_start":22613},{"artifact":0,"gen_end":30654,"gen_start":29278,"node":13,"role":"declaration","source":0,"src_end":24693,"src_start":23363},{"artifact":0,"gen_end":53850,"gen_start":30654,"node":14,"role":"declaration","source":0,"src_end":42606,"src_start":24695},{"artifact":0,"gen_end":54100,"gen_start":53850,"node":15,"role":"declaration","source":0,"src_end":42884,"src_start":42608},{"artifact":0,"gen_end":55077,"gen_start":54100,"node":16,"role":"declaration","source":0,"src_end":43752,"src_start":42886},{"artifact":0,"gen_end":56444,"gen_start":55077,"node":17,"role":"declaration","source":0,"src_end":45075,"src_start":43754},{"artifact":0,"gen_end":75337,"gen_start":56444,"node":18,"role":"declaration","source":0,"src_end":59906,"src_start":45077},{"artifact":0,"gen_end":75778,"gen_start":75337,"node":19,"role":"declaration","source":0,"src_end":60351,"src_start":59908},{"artifact":0,"gen_end":76284,"gen_start":75778,"node":20,"role":"declaration","source":0,"src_end":60866,"src_start":60353},{"artifact":0,"gen_end":78096,"gen_start":76284,"node":21,"role":"declaration","source":0,"src_end":62617,"src_start":60868},{"artifact":0,"gen_end":98623,"gen_start":78096,"node":22,"role":"declaration","source":0,"src_end":78672,"src_start":62619},{"artifact":0,"gen_end":99072,"gen_start":98623,"node":23,"role":"declaration","source":0,"src_end":79125,"src_start":78674},{"artifact":0,"gen_end":99586,"gen_start":99072,"node":24,"role":"declaration","source":0,"src_end":79648,"src_start":79127},{"artifact":0,"gen_end":101406,"gen_start":99586,"node":25,"role":"declaration","source":0,"src_end":81407,"src_start":79650},{"artifact":0,"gen_end":122020,"gen_start":101406,"node":26,"role":"declaration","source":0,"src_end":97540,"src_start":81409},{"artifact":0,"gen_end":122463,"gen_start":122020,"node":27,"role":"declaration","source":0,"src_end":97987,"src_start":97542},{"artifact":0,"gen_end":122971,"gen_start":122463,"node":28,"role":"declaration","source":0,"src_end":98504,"src_start":97989},{"artifact":0,"gen_end":124785,"gen_start":122971,"node":29,"role":"declaration","source":0,"src_end":100257,"src_start":98506},{"artifact":0,"gen_end":179944,"gen_start":124785,"node":30,"role":"declaration","source":0,"src_end":142701,"src_start":100259},{"artifact":0,"gen_end":180533,"gen_start":179944,"node":31,"role":"declaration","source":0,"src_end":143259,"src_start":142703},{"artifact":0,"gen_end":180749,"gen_start":180533,"node":32,"role":"declaration","source":0,"src_end":143548,"src_start":143261},{"artifact":0,"gen_end":181290,"gen_start":180749,"node":33,"role":"declaration","source":0,"src_end":144134,"src_start":143550},{"artifact":0,"gen_end":236448,"gen_start":181290,"node":34,"role":"declaration","source":0,"src_end":186577,"src_start":144136},{"artifact":0,"gen_end":237034,"gen_start":236448,"node":35,"role":"declaration","source":0,"src_end":187132,"src_start":186579},{"artifact":0,"gen_end":237247,"gen_start":237034,"node":36,"role":"declaration","source":0,"src_end":187418,"src_start":187134},{"artifact":0,"gen_end":237784,"gen_start":237247,"node":37,"role":"declaration","source":0,"src_end":188000,"src_start":187420},{"artifact":0,"gen_end":314696,"gen_start":237784,"node":38,"role":"declaration","source":0,"src_end":247140,"src_start":188002},{"artifact":0,"gen_end":314945,"gen_start":314696,"node":39,"role":"declaration","source":0,"src_end":247417,"src_start":247142},{"artifact":0,"gen_end":316098,"gen_start":314945,"node":40,"role":"declaration","source":0,"src_end":248414,"src_start":247419},{"artifact":0,"gen_end":317566,"gen_start":316098,"node":41,"role":"declaration","source":0,"src_end":249857,"src_start":248416},{"artifact":0,"gen_end":394478,"gen_start":317566,"node":42,"role":"declaration","source":0,"src_end":308997,"src_start":249859},{"artifact":0,"gen_end":394727,"gen_start":394478,"node":43,"role":"declaration","source":0,"src_end":309274,"src_start":308999},{"artifact":0,"gen_end":395534,"gen_start":394727,"node":44,"role":"declaration","source":0,"src_end":310028,"src_start":309276},{"artifact":0,"gen_end":397003,"gen_start":395534,"node":45,"role":"declaration","source":0,"src_end":311472,"src_start":310030},{"artifact":0,"gen_end":453293,"gen_start":397003,"node":46,"role":"declaration","source":0,"src_end":354793,"src_start":311474},{"artifact":0,"gen_end":453892,"gen_start":453293,"node":47,"role":"declaration","source":0,"src_end":355361,"src_start":354795},{"artifact":0,"gen_end":454214,"gen_start":453892,"node":48,"role":"declaration","source":0,"src_end":355738,"src_start":355363},{"artifact":0,"gen_end":454770,"gen_start":454214,"node":49,"role":"declaration","source":0,"src_end":356339,"src_start":355740},{"artifact":0,"gen_end":511059,"gen_start":454770,"node":50,"role":"declaration","source":0,"src_end":399659,"src_start":356341},{"artifact":0,"gen_end":511656,"gen_start":511059,"node":51,"role":"declaration","source":0,"src_end":400225,"src_start":399661},{"artifact":0,"gen_end":511975,"gen_start":511656,"node":52,"role":"declaration","source":0,"src_end":400599,"src_start":400227},{"artifact":0,"gen_end":512529,"gen_start":511975,"node":53,"role":"declaration","source":0,"src_end":401198,"src_start":400601},{"artifact":0,"gen_end":561947,"gen_start":512529,"node":54,"role":"declaration","source":0,"src_end":439258,"src_start":401200},{"artifact":0,"gen_end":562199,"gen_start":561947,"node":55,"role":"declaration","source":0,"src_end":439538,"src_start":439260},{"artifact":0,"gen_end":563001,"gen_start":562199,"node":56,"role":"declaration","source":0,"src_end":440287,"src_start":439540},{"artifact":0,"gen_end":564403,"gen_start":563001,"node":57,"role":"declaration","source":0,"src_end":441669,"src_start":440289},{"artifact":0,"gen_end":613823,"gen_start":564403,"node":58,"role":"declaration","source":0,"src_end":479731,"src_start":441671},{"artifact":0,"gen_end":614081,"gen_start":613823,"node":59,"role":"declaration","source":0,"src_end":480017,"src_start":479733},{"artifact":0,"gen_end":614890,"gen_start":614081,"node":60,"role":"declaration","source":0,"src_end":480773,"src_start":480019},{"artifact":0,"gen_end":616311,"gen_start":614890,"node":61,"role":"declaration","source":0,"src_end":482174,"src_start":480775},{"artifact":0,"gen_end":665730,"gen_start":616311,"node":62,"role":"declaration","source":0,"src_end":520235,"src_start":482176},{"artifact":0,"gen_end":665985,"gen_start":665730,"node":63,"role":"declaration","source":0,"src_end":520518,"src_start":520237},{"artifact":0,"gen_end":666968,"gen_start":665985,"node":64,"role":"declaration","source":0,"src_end":521392,"src_start":520520},{"artifact":0,"gen_end":668380,"gen_start":666968,"node":65,"role":"declaration","source":0,"src_end":522784,"src_start":521394},{"artifact":0,"gen_end":699337,"gen_start":668380,"node":66,"role":"declaration","source":0,"src_end":546611,"src_start":522786},{"artifact":0,"gen_end":699669,"gen_start":699337,"node":67,"role":"declaration","source":0,"src_end":546953,"src_start":546613},{"artifact":0,"gen_end":699876,"gen_start":699669,"node":68,"role":"declaration","source":0,"src_end":547233,"src_start":546955},{"artifact":0,"gen_end":700267,"gen_start":699876,"node":69,"role":"declaration","source":0,"src_end":547679,"src_start":547235},{"artifact":0,"gen_end":758400,"gen_start":700267,"node":70,"role":"declaration","source":0,"src_end":592392,"src_start":547681},{"artifact":0,"gen_end":758991,"gen_start":758400,"node":71,"role":"declaration","source":0,"src_end":592952,"src_start":592394},{"artifact":0,"gen_end":759209,"gen_start":758991,"node":72,"role":"declaration","source":0,"src_end":593243,"src_start":592954},{"artifact":0,"gen_end":759757,"gen_start":759209,"node":73,"role":"declaration","source":0,"src_end":593836,"src_start":593245},{"artifact":0,"gen_end":833886,"gen_start":759757,"node":74,"role":"declaration","source":0,"src_end":650834,"src_start":593838},{"artifact":0,"gen_end":834479,"gen_start":833886,"node":75,"role":"declaration","source":0,"src_end":651396,"src_start":650836},{"artifact":0,"gen_end":835946,"gen_start":834479,"node":76,"role":"declaration","source":0,"src_end":652571,"src_start":651398},{"artifact":0,"gen_end":837191,"gen_start":835946,"node":77,"role":"declaration","source":0,"src_end":653786,"src_start":652573},{"artifact":0,"gen_end":895323,"gen_start":837191,"node":78,"role":"declaration","source":0,"src_end":698498,"src_start":653788},{"artifact":0,"gen_end":895911,"gen_start":895323,"node":79,"role":"declaration","source":0,"src_end":699055,"src_start":698500},{"artifact":0,"gen_end":896126,"gen_start":895911,"node":80,"role":"declaration","source":0,"src_end":699343,"src_start":699057},{"artifact":0,"gen_end":896670,"gen_start":896126,"node":81,"role":"declaration","source":0,"src_end":699932,"src_start":699345},{"artifact":0,"gen_end":896707,"gen_start":896670,"node":0,"role":"declaration","source":0,"src_end":699968,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":82,"role":"declaration","source":0,"src_end":699968,"src_start":0},{"artifact":1,"gen_end":1102,"gen_start":134,"node":83,"role":"declaration","source":0,"src_end":1039,"src_start":331},{"artifact":1,"gen_end":2594,"gen_start":1102,"node":84,"role":"declaration","source":0,"src_end":2029,"src_start":1041},{"artifact":1,"gen_end":3079,"gen_start":2594,"node":85,"role":"declaration","source":0,"src_end":2350,"src_start":2031},{"artifact":1,"gen_end":3882,"gen_start":3079,"node":86,"role":"declaration","source":0,"src_end":2845,"src_start":2352},{"artifact":1,"gen_end":4361,"gen_start":3882,"node":87,"role":"declaration","source":0,"src_end":3160,"src_start":2847},{"artifact":1,"gen_end":4898,"gen_start":4361,"node":88,"role":"declaration","source":0,"src_end":3469,"src_start":3162},{"artifact":1,"gen_end":5387,"gen_start":4898,"node":89,"role":"declaration","source":0,"src_end":3794,"src_start":3471},{"artifact":1,"gen_end":5920,"gen_start":5387,"node":90,"role":"declaration","source":0,"src_end":4099,"src_start":3796},{"artifact":1,"gen_end":6401,"gen_start":5920,"node":91,"role":"declaration","source":0,"src_end":4416,"src_start":4101},{"artifact":1,"gen_end":29826,"gen_start":6401,"node":92,"role":"declaration","source":0,"src_end":22330,"src_start":4418},{"artifact":1,"gen_end":30266,"gen_start":29826,"node":93,"role":"declaration","source":0,"src_end":22611,"src_start":22332},{"artifact":1,"gen_end":31219,"gen_start":30266,"node":94,"role":"declaration","source":0,"src_end":23361,"src_start":22613},{"artifact":1,"gen_end":32745,"gen_start":31219,"node":95,"role":"declaration","source":0,"src_end":24693,"src_start":23363},{"artifact":1,"gen_end":56169,"gen_start":32745,"node":96,"role":"declaration","source":0,"src_end":42606,"src_start":24695},{"artifact":1,"gen_end":56606,"gen_start":56169,"node":97,"role":"declaration","source":0,"src_end":42884,"src_start":42608},{"artifact":1,"gen_end":57733,"gen_start":56606,"node":98,"role":"declaration","source":0,"src_end":43752,"src_start":42886},{"artifact":1,"gen_end":59250,"gen_start":57733,"node":99,"role":"declaration","source":0,"src_end":45075,"src_start":43754},{"artifact":1,"gen_end":78295,"gen_start":59250,"node":100,"role":"declaration","source":0,"src_end":59906,"src_start":45077},{"artifact":1,"gen_end":78923,"gen_start":78295,"node":101,"role":"declaration","source":0,"src_end":60351,"src_start":59908},{"artifact":1,"gen_end":79579,"gen_start":78923,"node":102,"role":"declaration","source":0,"src_end":60866,"src_start":60353},{"artifact":1,"gen_end":81556,"gen_start":79579,"node":103,"role":"declaration","source":0,"src_end":62617,"src_start":60868},{"artifact":1,"gen_end":102235,"gen_start":81556,"node":104,"role":"declaration","source":0,"src_end":78672,"src_start":62619},{"artifact":1,"gen_end":102871,"gen_start":102235,"node":105,"role":"declaration","source":0,"src_end":79125,"src_start":78674},{"artifact":1,"gen_end":103535,"gen_start":102871,"node":106,"role":"declaration","source":0,"src_end":79648,"src_start":79127},{"artifact":1,"gen_end":105520,"gen_start":103535,"node":107,"role":"declaration","source":0,"src_end":81407,"src_start":79650},{"artifact":1,"gen_end":126322,"gen_start":105520,"node":108,"role":"declaration","source":0,"src_end":97540,"src_start":81409},{"artifact":1,"gen_end":126952,"gen_start":126322,"node":109,"role":"declaration","source":0,"src_end":97987,"src_start":97542},{"artifact":1,"gen_end":127610,"gen_start":126952,"node":110,"role":"declaration","source":0,"src_end":98504,"src_start":97989},{"artifact":1,"gen_end":129589,"gen_start":127610,"node":111,"role":"declaration","source":0,"src_end":100257,"src_start":98506},{"artifact":1,"gen_end":185074,"gen_start":129589,"node":112,"role":"declaration","source":0,"src_end":142701,"src_start":100259},{"artifact":1,"gen_end":185850,"gen_start":185074,"node":113,"role":"declaration","source":0,"src_end":143259,"src_start":142703},{"artifact":1,"gen_end":186216,"gen_start":185850,"node":114,"role":"declaration","source":0,"src_end":143548,"src_start":143261},{"artifact":1,"gen_end":186909,"gen_start":186216,"node":115,"role":"declaration","source":0,"src_end":144134,"src_start":143550},{"artifact":1,"gen_end":242393,"gen_start":186909,"node":116,"role":"declaration","source":0,"src_end":186577,"src_start":144136},{"artifact":1,"gen_end":243166,"gen_start":242393,"node":117,"role":"declaration","source":0,"src_end":187132,"src_start":186579},{"artifact":1,"gen_end":243529,"gen_start":243166,"node":118,"role":"declaration","source":0,"src_end":187418,"src_start":187134},{"artifact":1,"gen_end":244218,"gen_start":243529,"node":119,"role":"declaration","source":0,"src_end":188000,"src_start":187420},{"artifact":1,"gen_end":321664,"gen_start":244218,"node":120,"role":"declaration","source":0,"src_end":247140,"src_start":188002},{"artifact":1,"gen_end":322100,"gen_start":321664,"node":121,"role":"declaration","source":0,"src_end":247417,"src_start":247142},{"artifact":1,"gen_end":323403,"gen_start":322100,"node":122,"role":"declaration","source":0,"src_end":248414,"src_start":247419},{"artifact":1,"gen_end":325021,"gen_start":323403,"node":123,"role":"declaration","source":0,"src_end":249857,"src_start":248416},{"artifact":1,"gen_end":402467,"gen_start":325021,"node":124,"role":"declaration","source":0,"src_end":308997,"src_start":249859},{"artifact":1,"gen_end":402903,"gen_start":402467,"node":125,"role":"declaration","source":0,"src_end":309274,"src_start":308999},{"artifact":1,"gen_end":403860,"gen_start":402903,"node":126,"role":"declaration","source":0,"src_end":310028,"src_start":309276},{"artifact":1,"gen_end":405479,"gen_start":403860,"node":127,"role":"declaration","source":0,"src_end":311472,"src_start":310030},{"artifact":1,"gen_end":462109,"gen_start":405479,"node":128,"role":"declaration","source":0,"src_end":354793,"src_start":311474},{"artifact":1,"gen_end":462895,"gen_start":462109,"node":129,"role":"declaration","source":0,"src_end":355361,"src_start":354795},{"artifact":1,"gen_end":463367,"gen_start":462895,"node":130,"role":"declaration","source":0,"src_end":355738,"src_start":355363},{"artifact":1,"gen_end":464075,"gen_start":463367,"node":131,"role":"declaration","source":0,"src_end":356339,"src_start":355740},{"artifact":1,"gen_end":520704,"gen_start":464075,"node":132,"role":"declaration","source":0,"src_end":399659,"src_start":356341},{"artifact":1,"gen_end":521488,"gen_start":520704,"node":133,"role":"declaration","source":0,"src_end":400225,"src_start":399661},{"artifact":1,"gen_end":521957,"gen_start":521488,"node":134,"role":"declaration","source":0,"src_end":400599,"src_start":400227},{"artifact":1,"gen_end":522663,"gen_start":521957,"node":135,"role":"declaration","source":0,"src_end":401198,"src_start":400601},{"artifact":1,"gen_end":572493,"gen_start":522663,"node":136,"role":"declaration","source":0,"src_end":439258,"src_start":401200},{"artifact":1,"gen_end":572932,"gen_start":572493,"node":137,"role":"declaration","source":0,"src_end":439538,"src_start":439260},{"artifact":1,"gen_end":573884,"gen_start":572932,"node":138,"role":"declaration","source":0,"src_end":440287,"src_start":439540},{"artifact":1,"gen_end":575436,"gen_start":573884,"node":139,"role":"declaration","source":0,"src_end":441669,"src_start":440289},{"artifact":1,"gen_end":625268,"gen_start":575436,"node":140,"role":"declaration","source":0,"src_end":479731,"src_start":441671},{"artifact":1,"gen_end":625713,"gen_start":625268,"node":141,"role":"declaration","source":0,"src_end":480017,"src_start":479733},{"artifact":1,"gen_end":626672,"gen_start":625713,"node":142,"role":"declaration","source":0,"src_end":480773,"src_start":480019},{"artifact":1,"gen_end":628243,"gen_start":626672,"node":143,"role":"declaration","source":0,"src_end":482174,"src_start":480775},{"artifact":1,"gen_end":678074,"gen_start":628243,"node":144,"role":"declaration","source":0,"src_end":520235,"src_start":482176},{"artifact":1,"gen_end":678516,"gen_start":678074,"node":145,"role":"declaration","source":0,"src_end":520518,"src_start":520237},{"artifact":1,"gen_end":679649,"gen_start":678516,"node":146,"role":"declaration","source":0,"src_end":521392,"src_start":520520},{"artifact":1,"gen_end":681211,"gen_start":679649,"node":147,"role":"declaration","source":0,"src_end":522784,"src_start":521394},{"artifact":1,"gen_end":712500,"gen_start":681211,"node":148,"role":"declaration","source":0,"src_end":546611,"src_start":522786},{"artifact":1,"gen_end":713019,"gen_start":712500,"node":149,"role":"declaration","source":0,"src_end":546953,"src_start":546613},{"artifact":1,"gen_end":713376,"gen_start":713019,"node":150,"role":"declaration","source":0,"src_end":547233,"src_start":546955},{"artifact":1,"gen_end":713917,"gen_start":713376,"node":151,"role":"declaration","source":0,"src_end":547679,"src_start":547235},{"artifact":1,"gen_end":772390,"gen_start":713917,"node":152,"role":"declaration","source":0,"src_end":592392,"src_start":547681},{"artifact":1,"gen_end":773168,"gen_start":772390,"node":153,"role":"declaration","source":0,"src_end":592952,"src_start":592394},{"artifact":1,"gen_end":773536,"gen_start":773168,"node":154,"role":"declaration","source":0,"src_end":593243,"src_start":592954},{"artifact":1,"gen_end":774236,"gen_start":773536,"node":155,"role":"declaration","source":0,"src_end":593836,"src_start":593245},{"artifact":1,"gen_end":848763,"gen_start":774236,"node":156,"role":"declaration","source":0,"src_end":650834,"src_start":593838},{"artifact":1,"gen_end":849543,"gen_start":848763,"node":157,"role":"declaration","source":0,"src_end":651396,"src_start":650836},{"artifact":1,"gen_end":851160,"gen_start":849543,"node":158,"role":"declaration","source":0,"src_end":652571,"src_start":651398},{"artifact":1,"gen_end":852561,"gen_start":851160,"node":159,"role":"declaration","source":0,"src_end":653786,"src_start":652573},{"artifact":1,"gen_end":911033,"gen_start":852561,"node":160,"role":"declaration","source":0,"src_end":698498,"src_start":653788},{"artifact":1,"gen_end":911808,"gen_start":911033,"node":161,"role":"declaration","source":0,"src_end":699055,"src_start":698500},{"artifact":1,"gen_end":912173,"gen_start":911808,"node":162,"role":"declaration","source":0,"src_end":699343,"src_start":699057},{"artifact":1,"gen_end":912869,"gen_start":912173,"node":163,"role":"declaration","source":0,"src_end":699932,"src_start":699345},{"artifact":1,"gen_end":912884,"gen_start":912869,"node":82,"role":"declaration","source":0,"src_end":699968,"src_start":0}],"module":"ReasoningFixtures","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"},{"id":80,"kind":"semantic-declaration"},{"id":81,"kind":"semantic-declaration"},{"id":82,"kind":"semantic-latex-module"},{"id":83,"kind":"semantic-declaration"},{"id":84,"kind":"semantic-declaration"},{"id":85,"kind":"semantic-declaration"},{"id":86,"kind":"semantic-declaration"},{"id":87,"kind":"semantic-declaration"},{"id":88,"kind":"semantic-declaration"},{"id":89,"kind":"semantic-declaration"},{"id":90,"kind":"semantic-declaration"},{"id":91,"kind":"semantic-declaration"},{"id":92,"kind":"semantic-declaration"},{"id":93,"kind":"semantic-declaration"},{"id":94,"kind":"semantic-declaration"},{"id":95,"kind":"semantic-declaration"},{"id":96,"kind":"semantic-declaration"},{"id":97,"kind":"semantic-declaration"},{"id":98,"kind":"semantic-declaration"},{"id":99,"kind":"semantic-declaration"},{"id":100,"kind":"semantic-declaration"},{"id":101,"kind":"semantic-declaration"},{"id":102,"kind":"semantic-declaration"},{"id":103,"kind":"semantic-declaration"},{"id":104,"kind":"semantic-declaration"},{"id":105,"kind":"semantic-declaration"},{"id":106,"kind":"semantic-declaration"},{"id":107,"kind":"semantic-declaration"},{"id":108,"kind":"semantic-declaration"},{"id":109,"kind":"semantic-declaration"},{"id":110,"kind":"semantic-declaration"},{"id":111,"kind":"semantic-declaration"},{"id":112,"kind":"semantic-declaration"},{"id":113,"kind":"semantic-declaration"},{"id":114,"kind":"semantic-declaration"},{"id":115,"kind":"semantic-declaration"},{"id":116,"kind":"semantic-declaration"},{"id":117,"kind":"semantic-declaration"},{"id":118,"kind":"semantic-declaration"},{"id":119,"kind":"semantic-declaration"},{"id":120,"kind":"semantic-declaration"},{"id":121,"kind":"semantic-declaration"},{"id":122,"kind":"semantic-declaration"},{"id":123,"kind":"semantic-declaration"},{"id":124,"kind":"semantic-declaration"},{"id":125,"kind":"semantic-declaration"},{"id":126,"kind":"semantic-declaration"},{"id":127,"kind":"semantic-declaration"},{"id":128,"kind":"semantic-declaration"},{"id":129,"kind":"semantic-declaration"},{"id":130,"kind":"semantic-declaration"},{"id":131,"kind":"semantic-declaration"},{"id":132,"kind":"semantic-declaration"},{"id":133,"kind":"semantic-declaration"},{"id":134,"kind":"semantic-declaration"},{"id":135,"kind":"semantic-declaration"},{"id":136,"kind":"semantic-declaration"},{"id":137,"kind":"semantic-declaration"},{"id":138,"kind":"semantic-declaration"},{"id":139,"kind":"semantic-declaration"},{"id":140,"kind":"semantic-declaration"},{"id":141,"kind":"semantic-declaration"},{"id":142,"kind":"semantic-declaration"},{"id":143,"kind":"semantic-declaration"},{"id":144,"kind":"semantic-declaration"},{"id":145,"kind":"semantic-declaration"},{"id":146,"kind":"semantic-declaration"},{"id":147,"kind":"semantic-declaration"},{"id":148,"kind":"semantic-declaration"},{"id":149,"kind":"semantic-declaration"},{"id":150,"kind":"semantic-declaration"},{"id":151,"kind":"semantic-declaration"},{"id":152,"kind":"semantic-declaration"},{"id":153,"kind":"semantic-declaration"},{"id":154,"kind":"semantic-declaration"},{"id":155,"kind":"semantic-declaration"},{"id":156,"kind":"semantic-declaration"},{"id":157,"kind":"semantic-declaration"},{"id":158,"kind":"semantic-declaration"},{"id":159,"kind":"semantic-declaration"},{"id":160,"kind":"semantic-declaration"},{"id":161,"kind":"semantic-declaration"},{"id":162,"kind":"semantic-declaration"},{"id":163,"kind":"semantic-declaration"}],"semantic_id":"db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9","source_id":"2f76ada498f17258f8a526df0820565414e563312654a2a7396b586dd3b407d1","sources":[{"id":0,"kind":"file","path":"src/ReasoningFixtures.lex.tex","sha256":"21de0c44ebce81bb7bb1b05a6e29815cc2e6c19a58a4c85459110bf3fd1dee9c"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/ReasoningFixtures.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/ReasoningFixtures.tex"}],"mappings":[{"artifact":0,"gen_end":510,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":699968,"src_start":0},{"artifact":0,"gen_end":1242,"gen_start":510,"node":1,"role":"declaration","source":0,"src_end":1039,"src_start":331},{"artifact":0,"gen_end":2552,"gen_start":1242,"node":2,"role":"declaration","source":0,"src_end":2029,"src_start":1041},{"artifact":0,"gen_end":2840,"gen_start":2552,"node":3,"role":"declaration","source":0,"src_end":2350,"src_start":2031},{"artifact":0,"gen_end":3461,"gen_start":2840,"node":4,"role":"declaration","source":0,"src_end":2845,"src_start":2352},{"artifact":0,"gen_end":3743,"gen_start":3461,"node":5,"role":"declaration","source":0,"src_end":3160,"src_start":2847},{"artifact":0,"gen_end":4098,"gen_start":3743,"node":6,"role":"declaration","source":0,"src_end":3469,"src_start":3162},{"artifact":0,"gen_end":4390,"gen_start":4098,"node":7,"role":"declaration","source":0,"src_end":3794,"src_start":3471},{"artifact":0,"gen_end":4741,"gen_start":4390,"node":8,"role":"declaration","source":0,"src_end":4099,"src_start":3796},{"artifact":0,"gen_end":5025,"gen_start":4741,"node":9,"role":"declaration","source":0,"src_end":4416,"src_start":4101},{"artifact":0,"gen_end":28222,"gen_start":5025,"node":10,"role":"declaration","source":0,"src_end":22330,"src_start":4418},{"artifact":0,"gen_end":28475,"gen_start":28222,"node":11,"role":"declaration","source":0,"src_end":22611,"src_start":22332},{"artifact":0,"gen_end":29278,"gen_start":28475,"node":12,"role":"declaration","source":0,"src_end":23361,"src_start":22613},{"artifact":0,"gen_end":30654,"gen_start":29278,"node":13,"role":"declaration","source":0,"src_end":24693,"src_start":23363},{"artifact":0,"gen_end":53850,"gen_start":30654,"node":14,"role":"declaration","source":0,"src_end":42606,"src_start":24695},{"artifact":0,"gen_end":54100,"gen_start":53850,"node":15,"role":"declaration","source":0,"src_end":42884,"src_start":42608},{"artifact":0,"gen_end":55077,"gen_start":54100,"node":16,"role":"declaration","source":0,"src_end":43752,"src_start":42886},{"artifact":0,"gen_end":56444,"gen_start":55077,"node":17,"role":"declaration","source":0,"src_end":45075,"src_start":43754},{"artifact":0,"gen_end":75337,"gen_start":56444,"node":18,"role":"declaration","source":0,"src_end":59906,"src_start":45077},{"artifact":0,"gen_end":75778,"gen_start":75337,"node":19,"role":"declaration","source":0,"src_end":60351,"src_start":59908},{"artifact":0,"gen_end":76284,"gen_start":75778,"node":20,"role":"declaration","source":0,"src_end":60866,"src_start":60353},{"artifact":0,"gen_end":78096,"gen_start":76284,"node":21,"role":"declaration","source":0,"src_end":62617,"src_start":60868},{"artifact":0,"gen_end":98623,"gen_start":78096,"node":22,"role":"declaration","source":0,"src_end":78672,"src_start":62619},{"artifact":0,"gen_end":99072,"gen_start":98623,"node":23,"role":"declaration","source":0,"src_end":79125,"src_start":78674},{"artifact":0,"gen_end":99586,"gen_start":99072,"node":24,"role":"declaration","source":0,"src_end":79648,"src_start":79127},{"artifact":0,"gen_end":101406,"gen_start":99586,"node":25,"role":"declaration","source":0,"src_end":81407,"src_start":79650},{"artifact":0,"gen_end":122020,"gen_start":101406,"node":26,"role":"declaration","source":0,"src_end":97540,"src_start":81409},{"artifact":0,"gen_end":122463,"gen_start":122020,"node":27,"role":"declaration","source":0,"src_end":97987,"src_start":97542},{"artifact":0,"gen_end":122971,"gen_start":122463,"node":28,"role":"declaration","source":0,"src_end":98504,"src_start":97989},{"artifact":0,"gen_end":124785,"gen_start":122971,"node":29,"role":"declaration","source":0,"src_end":100257,"src_start":98506},{"artifact":0,"gen_end":179944,"gen_start":124785,"node":30,"role":"declaration","source":0,"src_end":142701,"src_start":100259},{"artifact":0,"gen_end":180533,"gen_start":179944,"node":31,"role":"declaration","source":0,"src_end":143259,"src_start":142703},{"artifact":0,"gen_end":180749,"gen_start":180533,"node":32,"role":"declaration","source":0,"src_end":143548,"src_start":143261},{"artifact":0,"gen_end":181290,"gen_start":180749,"node":33,"role":"declaration","source":0,"src_end":144134,"src_start":143550},{"artifact":0,"gen_end":236448,"gen_start":181290,"node":34,"role":"declaration","source":0,"src_end":186577,"src_start":144136},{"artifact":0,"gen_end":237034,"gen_start":236448,"node":35,"role":"declaration","source":0,"src_end":187132,"src_start":186579},{"artifact":0,"gen_end":237247,"gen_start":237034,"node":36,"role":"declaration","source":0,"src_end":187418,"src_start":187134},{"artifact":0,"gen_end":237784,"gen_start":237247,"node":37,"role":"declaration","source":0,"src_end":188000,"src_start":187420},{"artifact":0,"gen_end":314696,"gen_start":237784,"node":38,"role":"declaration","source":0,"src_end":247140,"src_start":188002},{"artifact":0,"gen_end":314945,"gen_start":314696,"node":39,"role":"declaration","source":0,"src_end":247417,"src_start":247142},{"artifact":0,"gen_end":316098,"gen_start":314945,"node":40,"role":"declaration","source":0,"src_end":248414,"src_start":247419},{"artifact":0,"gen_end":317566,"gen_start":316098,"node":41,"role":"declaration","source":0,"src_end":249857,"src_start":248416},{"artifact":0,"gen_end":394478,"gen_start":317566,"node":42,"role":"declaration","source":0,"src_end":308997,"src_start":249859},{"artifact":0,"gen_end":394727,"gen_start":394478,"node":43,"role":"declaration","source":0,"src_end":309274,"src_start":308999},{"artifact":0,"gen_end":395534,"gen_start":394727,"node":44,"role":"declaration","source":0,"src_end":310028,"src_start":309276},{"artifact":0,"gen_end":397003,"gen_start":395534,"node":45,"role":"declaration","source":0,"src_end":311472,"src_start":310030},{"artifact":0,"gen_end":453293,"gen_start":397003,"node":46,"role":"declaration","source":0,"src_end":354793,"src_start":311474},{"artifact":0,"gen_end":453892,"gen_start":453293,"node":47,"role":"declaration","source":0,"src_end":355361,"src_start":354795},{"artifact":0,"gen_end":454214,"gen_start":453892,"node":48,"role":"declaration","source":0,"src_end":355738,"src_start":355363},{"artifact":0,"gen_end":454770,"gen_start":454214,"node":49,"role":"declaration","source":0,"src_end":356339,"src_start":355740},{"artifact":0,"gen_end":511059,"gen_start":454770,"node":50,"role":"declaration","source":0,"src_end":399659,"src_start":356341},{"artifact":0,"gen_end":511656,"gen_start":511059,"node":51,"role":"declaration","source":0,"src_end":400225,"src_start":399661},{"artifact":0,"gen_end":511975,"gen_start":511656,"node":52,"role":"declaration","source":0,"src_end":400599,"src_start":400227},{"artifact":0,"gen_end":512529,"gen_start":511975,"node":53,"role":"declaration","source":0,"src_end":401198,"src_start":400601},{"artifact":0,"gen_end":561947,"gen_start":512529,"node":54,"role":"declaration","source":0,"src_end":439258,"src_start":401200},{"artifact":0,"gen_end":562199,"gen_start":561947,"node":55,"role":"declaration","source":0,"src_end":439538,"src_start":439260},{"artifact":0,"gen_end":563001,"gen_start":562199,"node":56,"role":"declaration","source":0,"src_end":440287,"src_start":439540},{"artifact":0,"gen_end":564403,"gen_start":563001,"node":57,"role":"declaration","source":0,"src_end":441669,"src_start":440289},{"artifact":0,"gen_end":613823,"gen_start":564403,"node":58,"role":"declaration","source":0,"src_end":479731,"src_start":441671},{"artifact":0,"gen_end":614081,"gen_start":613823,"node":59,"role":"declaration","source":0,"src_end":480017,"src_start":479733},{"artifact":0,"gen_end":614890,"gen_start":614081,"node":60,"role":"declaration","source":0,"src_end":480773,"src_start":480019},{"artifact":0,"gen_end":616311,"gen_start":614890,"node":61,"role":"declaration","source":0,"src_end":482174,"src_start":480775},{"artifact":0,"gen_end":665730,"gen_start":616311,"node":62,"role":"declaration","source":0,"src_end":520235,"src_start":482176},{"artifact":0,"gen_end":665985,"gen_start":665730,"node":63,"role":"declaration","source":0,"src_end":520518,"src_start":520237},{"artifact":0,"gen_end":666968,"gen_start":665985,"node":64,"role":"declaration","source":0,"src_end":521392,"src_start":520520},{"artifact":0,"gen_end":668380,"gen_start":666968,"node":65,"role":"declaration","source":0,"src_end":522784,"src_start":521394},{"artifact":0,"gen_end":699337,"gen_start":668380,"node":66,"role":"declaration","source":0,"src_end":546611,"src_start":522786},{"artifact":0,"gen_end":699669,"gen_start":699337,"node":67,"role":"declaration","source":0,"src_end":546953,"src_start":546613},{"artifact":0,"gen_end":699876,"gen_start":699669,"node":68,"role":"declaration","source":0,"src_end":547233,"src_start":546955},{"artifact":0,"gen_end":700267,"gen_start":699876,"node":69,"role":"declaration","source":0,"src_end":547679,"src_start":547235},{"artifact":0,"gen_end":758400,"gen_start":700267,"node":70,"role":"declaration","source":0,"src_end":592392,"src_start":547681},{"artifact":0,"gen_end":758991,"gen_start":758400,"node":71,"role":"declaration","source":0,"src_end":592952,"src_start":592394},{"artifact":0,"gen_end":759209,"gen_start":758991,"node":72,"role":"declaration","source":0,"src_end":593243,"src_start":592954},{"artifact":0,"gen_end":759757,"gen_start":759209,"node":73,"role":"declaration","source":0,"src_end":593836,"src_start":593245},{"artifact":0,"gen_end":833886,"gen_start":759757,"node":74,"role":"declaration","source":0,"src_end":650834,"src_start":593838},{"artifact":0,"gen_end":834479,"gen_start":833886,"node":75,"role":"declaration","source":0,"src_end":651396,"src_start":650836},{"artifact":0,"gen_end":835946,"gen_start":834479,"node":76,"role":"declaration","source":0,"src_end":652571,"src_start":651398},{"artifact":0,"gen_end":837191,"gen_start":835946,"node":77,"role":"declaration","source":0,"src_end":653786,"src_start":652573},{"artifact":0,"gen_end":895323,"gen_start":837191,"node":78,"role":"declaration","source":0,"src_end":698498,"src_start":653788},{"artifact":0,"gen_end":895911,"gen_start":895323,"node":79,"role":"declaration","source":0,"src_end":699055,"src_start":698500},{"artifact":0,"gen_end":896126,"gen_start":895911,"node":80,"role":"declaration","source":0,"src_end":699343,"src_start":699057},{"artifact":0,"gen_end":896670,"gen_start":896126,"node":81,"role":"declaration","source":0,"src_end":699932,"src_start":699345},{"artifact":0,"gen_end":896707,"gen_start":896670,"node":0,"role":"declaration","source":0,"src_end":699968,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":82,"role":"declaration","source":0,"src_end":699968,"src_start":0},{"artifact":1,"gen_end":1102,"gen_start":134,"node":83,"role":"declaration","source":0,"src_end":1039,"src_start":331},{"artifact":1,"gen_end":2594,"gen_start":1102,"node":84,"role":"declaration","source":0,"src_end":2029,"src_start":1041},{"artifact":1,"gen_end":3079,"gen_start":2594,"node":85,"role":"declaration","source":0,"src_end":2350,"src_start":2031},{"artifact":1,"gen_end":3882,"gen_start":3079,"node":86,"role":"declaration","source":0,"src_end":2845,"src_start":2352},{"artifact":1,"gen_end":4361,"gen_start":3882,"node":87,"role":"declaration","source":0,"src_end":3160,"src_start":2847},{"artifact":1,"gen_end":4898,"gen_start":4361,"node":88,"role":"declaration","source":0,"src_end":3469,"src_start":3162},{"artifact":1,"gen_end":5387,"gen_start":4898,"node":89,"role":"declaration","source":0,"src_end":3794,"src_start":3471},{"artifact":1,"gen_end":5920,"gen_start":5387,"node":90,"role":"declaration","source":0,"src_end":4099,"src_start":3796},{"artifact":1,"gen_end":6401,"gen_start":5920,"node":91,"role":"declaration","source":0,"src_end":4416,"src_start":4101},{"artifact":1,"gen_end":29826,"gen_start":6401,"node":92,"role":"declaration","source":0,"src_end":22330,"src_start":4418},{"artifact":1,"gen_end":30266,"gen_start":29826,"node":93,"role":"declaration","source":0,"src_end":22611,"src_start":22332},{"artifact":1,"gen_end":31219,"gen_start":30266,"node":94,"role":"declaration","source":0,"src_end":23361,"src_start":22613},{"artifact":1,"gen_end":32745,"gen_start":31219,"node":95,"role":"declaration","source":0,"src_end":24693,"src_start":23363},{"artifact":1,"gen_end":56169,"gen_start":32745,"node":96,"role":"declaration","source":0,"src_end":42606,"src_start":24695},{"artifact":1,"gen_end":56606,"gen_start":56169,"node":97,"role":"declaration","source":0,"src_end":42884,"src_start":42608},{"artifact":1,"gen_end":57733,"gen_start":56606,"node":98,"role":"declaration","source":0,"src_end":43752,"src_start":42886},{"artifact":1,"gen_end":59250,"gen_start":57733,"node":99,"role":"declaration","source":0,"src_end":45075,"src_start":43754},{"artifact":1,"gen_end":78295,"gen_start":59250,"node":100,"role":"declaration","source":0,"src_end":59906,"src_start":45077},{"artifact":1,"gen_end":78923,"gen_start":78295,"node":101,"role":"declaration","source":0,"src_end":60351,"src_start":59908},{"artifact":1,"gen_end":79579,"gen_start":78923,"node":102,"role":"declaration","source":0,"src_end":60866,"src_start":60353},{"artifact":1,"gen_end":81556,"gen_start":79579,"node":103,"role":"declaration","source":0,"src_end":62617,"src_start":60868},{"artifact":1,"gen_end":102235,"gen_start":81556,"node":104,"role":"declaration","source":0,"src_end":78672,"src_start":62619},{"artifact":1,"gen_end":102871,"gen_start":102235,"node":105,"role":"declaration","source":0,"src_end":79125,"src_start":78674},{"artifact":1,"gen_end":103535,"gen_start":102871,"node":106,"role":"declaration","source":0,"src_end":79648,"src_start":79127},{"artifact":1,"gen_end":105520,"gen_start":103535,"node":107,"role":"declaration","source":0,"src_end":81407,"src_start":79650},{"artifact":1,"gen_end":126322,"gen_start":105520,"node":108,"role":"declaration","source":0,"src_end":97540,"src_start":81409},{"artifact":1,"gen_end":126952,"gen_start":126322,"node":109,"role":"declaration","source":0,"src_end":97987,"src_start":97542},{"artifact":1,"gen_end":127610,"gen_start":126952,"node":110,"role":"declaration","source":0,"src_end":98504,"src_start":97989},{"artifact":1,"gen_end":129589,"gen_start":127610,"node":111,"role":"declaration","source":0,"src_end":100257,"src_start":98506},{"artifact":1,"gen_end":185074,"gen_start":129589,"node":112,"role":"declaration","source":0,"src_end":142701,"src_start":100259},{"artifact":1,"gen_end":185850,"gen_start":185074,"node":113,"role":"declaration","source":0,"src_end":143259,"src_start":142703},{"artifact":1,"gen_end":186216,"gen_start":185850,"node":114,"role":"declaration","source":0,"src_end":143548,"src_start":143261},{"artifact":1,"gen_end":186909,"gen_start":186216,"node":115,"role":"declaration","source":0,"src_end":144134,"src_start":143550},{"artifact":1,"gen_end":242393,"gen_start":186909,"node":116,"role":"declaration","source":0,"src_end":186577,"src_start":144136},{"artifact":1,"gen_end":243166,"gen_start":242393,"node":117,"role":"declaration","source":0,"src_end":187132,"src_start":186579},{"artifact":1,"gen_end":243529,"gen_start":243166,"node":118,"role":"declaration","source":0,"src_end":187418,"src_start":187134},{"artifact":1,"gen_end":244218,"gen_start":243529,"node":119,"role":"declaration","source":0,"src_end":188000,"src_start":187420},{"artifact":1,"gen_end":321664,"gen_start":244218,"node":120,"role":"declaration","source":0,"src_end":247140,"src_start":188002},{"artifact":1,"gen_end":322100,"gen_start":321664,"node":121,"role":"declaration","source":0,"src_end":247417,"src_start":247142},{"artifact":1,"gen_end":323403,"gen_start":322100,"node":122,"role":"declaration","source":0,"src_end":248414,"src_start":247419},{"artifact":1,"gen_end":325021,"gen_start":323403,"node":123,"role":"declaration","source":0,"src_end":249857,"src_start":248416},{"artifact":1,"gen_end":402467,"gen_start":325021,"node":124,"role":"declaration","source":0,"src_end":308997,"src_start":249859},{"artifact":1,"gen_end":402903,"gen_start":402467,"node":125,"role":"declaration","source":0,"src_end":309274,"src_start":308999},{"artifact":1,"gen_end":403860,"gen_start":402903,"node":126,"role":"declaration","source":0,"src_end":310028,"src_start":309276},{"artifact":1,"gen_end":405479,"gen_start":403860,"node":127,"role":"declaration","source":0,"src_end":311472,"src_start":310030},{"artifact":1,"gen_end":462109,"gen_start":405479,"node":128,"role":"declaration","source":0,"src_end":354793,"src_start":311474},{"artifact":1,"gen_end":462895,"gen_start":462109,"node":129,"role":"declaration","source":0,"src_end":355361,"src_start":354795},{"artifact":1,"gen_end":463367,"gen_start":462895,"node":130,"role":"declaration","source":0,"src_end":355738,"src_start":355363},{"artifact":1,"gen_end":464075,"gen_start":463367,"node":131,"role":"declaration","source":0,"src_end":356339,"src_start":355740},{"artifact":1,"gen_end":520704,"gen_start":464075,"node":132,"role":"declaration","source":0,"src_end":399659,"src_start":356341},{"artifact":1,"gen_end":521488,"gen_start":520704,"node":133,"role":"declaration","source":0,"src_end":400225,"src_start":399661},{"artifact":1,"gen_end":521957,"gen_start":521488,"node":134,"role":"declaration","source":0,"src_end":400599,"src_start":400227},{"artifact":1,"gen_end":522663,"gen_start":521957,"node":135,"role":"declaration","source":0,"src_end":401198,"src_start":400601},{"artifact":1,"gen_end":572493,"gen_start":522663,"node":136,"role":"declaration","source":0,"src_end":439258,"src_start":401200},{"artifact":1,"gen_end":572932,"gen_start":572493,"node":137,"role":"declaration","source":0,"src_end":439538,"src_start":439260},{"artifact":1,"gen_end":573884,"gen_start":572932,"node":138,"role":"declaration","source":0,"src_end":440287,"src_start":439540},{"artifact":1,"gen_end":575436,"gen_start":573884,"node":139,"role":"declaration","source":0,"src_end":441669,"src_start":440289},{"artifact":1,"gen_end":625268,"gen_start":575436,"node":140,"role":"declaration","source":0,"src_end":479731,"src_start":441671},{"artifact":1,"gen_end":625713,"gen_start":625268,"node":141,"role":"declaration","source":0,"src_end":480017,"src_start":479733},{"artifact":1,"gen_end":626672,"gen_start":625713,"node":142,"role":"declaration","source":0,"src_end":480773,"src_start":480019},{"artifact":1,"gen_end":628243,"gen_start":626672,"node":143,"role":"declaration","source":0,"src_end":482174,"src_start":480775},{"artifact":1,"gen_end":678074,"gen_start":628243,"node":144,"role":"declaration","source":0,"src_end":520235,"src_start":482176},{"artifact":1,"gen_end":678516,"gen_start":678074,"node":145,"role":"declaration","source":0,"src_end":520518,"src_start":520237},{"artifact":1,"gen_end":679649,"gen_start":678516,"node":146,"role":"declaration","source":0,"src_end":521392,"src_start":520520},{"artifact":1,"gen_end":681211,"gen_start":679649,"node":147,"role":"declaration","source":0,"src_end":522784,"src_start":521394},{"artifact":1,"gen_end":712500,"gen_start":681211,"node":148,"role":"declaration","source":0,"src_end":546611,"src_start":522786},{"artifact":1,"gen_end":713019,"gen_start":712500,"node":149,"role":"declaration","source":0,"src_end":546953,"src_start":546613},{"artifact":1,"gen_end":713376,"gen_start":713019,"node":150,"role":"declaration","source":0,"src_end":547233,"src_start":546955},{"artifact":1,"gen_end":713917,"gen_start":713376,"node":151,"role":"declaration","source":0,"src_end":547679,"src_start":547235},{"artifact":1,"gen_end":772390,"gen_start":713917,"node":152,"role":"declaration","source":0,"src_end":592392,"src_start":547681},{"artifact":1,"gen_end":773168,"gen_start":772390,"node":153,"role":"declaration","source":0,"src_end":592952,"src_start":592394},{"artifact":1,"gen_end":773536,"gen_start":773168,"node":154,"role":"declaration","source":0,"src_end":593243,"src_start":592954},{"artifact":1,"gen_end":774236,"gen_start":773536,"node":155,"role":"declaration","source":0,"src_end":593836,"src_start":593245},{"artifact":1,"gen_end":848763,"gen_start":774236,"node":156,"role":"declaration","source":0,"src_end":650834,"src_start":593838},{"artifact":1,"gen_end":849543,"gen_start":848763,"node":157,"role":"declaration","source":0,"src_end":651396,"src_start":650836},{"artifact":1,"gen_end":851160,"gen_start":849543,"node":158,"role":"declaration","source":0,"src_end":652571,"src_start":651398},{"artifact":1,"gen_end":852561,"gen_start":851160,"node":159,"role":"declaration","source":0,"src_end":653786,"src_start":652573},{"artifact":1,"gen_end":911033,"gen_start":852561,"node":160,"role":"declaration","source":0,"src_end":698498,"src_start":653788},{"artifact":1,"gen_end":911808,"gen_start":911033,"node":161,"role":"declaration","source":0,"src_end":699055,"src_start":698500},{"artifact":1,"gen_end":912173,"gen_start":911808,"node":162,"role":"declaration","source":0,"src_end":699343,"src_start":699057},{"artifact":1,"gen_end":912869,"gen_start":912173,"node":163,"role":"declaration","source":0,"src_end":699932,"src_start":699345},{"artifact":1,"gen_end":912884,"gen_start":912869,"node":82,"role":"declaration","source":0,"src_end":699968,"src_start":0}],"module":"ReasoningFixtures","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"},{"id":80,"kind":"semantic-declaration"},{"id":81,"kind":"semantic-declaration"},{"id":82,"kind":"semantic-latex-module"},{"id":83,"kind":"semantic-declaration"},{"id":84,"kind":"semantic-declaration"},{"id":85,"kind":"semantic-declaration"},{"id":86,"kind":"semantic-declaration"},{"id":87,"kind":"semantic-declaration"},{"id":88,"kind":"semantic-declaration"},{"id":89,"kind":"semantic-declaration"},{"id":90,"kind":"semantic-declaration"},{"id":91,"kind":"semantic-declaration"},{"id":92,"kind":"semantic-declaration"},{"id":93,"kind":"semantic-declaration"},{"id":94,"kind":"semantic-declaration"},{"id":95,"kind":"semantic-declaration"},{"id":96,"kind":"semantic-declaration"},{"id":97,"kind":"semantic-declaration"},{"id":98,"kind":"semantic-declaration"},{"id":99,"kind":"semantic-declaration"},{"id":100,"kind":"semantic-declaration"},{"id":101,"kind":"semantic-declaration"},{"id":102,"kind":"semantic-declaration"},{"id":103,"kind":"semantic-declaration"},{"id":104,"kind":"semantic-declaration"},{"id":105,"kind":"semantic-declaration"},{"id":106,"kind":"semantic-declaration"},{"id":107,"kind":"semantic-declaration"},{"id":108,"kind":"semantic-declaration"},{"id":109,"kind":"semantic-declaration"},{"id":110,"kind":"semantic-declaration"},{"id":111,"kind":"semantic-declaration"},{"id":112,"kind":"semantic-declaration"},{"id":113,"kind":"semantic-declaration"},{"id":114,"kind":"semantic-declaration"},{"id":115,"kind":"semantic-declaration"},{"id":116,"kind":"semantic-declaration"},{"id":117,"kind":"semantic-declaration"},{"id":118,"kind":"semantic-declaration"},{"id":119,"kind":"semantic-declaration"},{"id":120,"kind":"semantic-declaration"},{"id":121,"kind":"semantic-declaration"},{"id":122,"kind":"semantic-declaration"},{"id":123,"kind":"semantic-declaration"},{"id":124,"kind":"semantic-declaration"},{"id":125,"kind":"semantic-declaration"},{"id":126,"kind":"semantic-declaration"},{"id":127,"kind":"semantic-declaration"},{"id":128,"kind":"semantic-declaration"},{"id":129,"kind":"semantic-declaration"},{"id":130,"kind":"semantic-declaration"},{"id":131,"kind":"semantic-declaration"},{"id":132,"kind":"semantic-declaration"},{"id":133,"kind":"semantic-declaration"},{"id":134,"kind":"semantic-declaration"},{"id":135,"kind":"semantic-declaration"},{"id":136,"kind":"semantic-declaration"},{"id":137,"kind":"semantic-declaration"},{"id":138,"kind":"semantic-declaration"},{"id":139,"kind":"semantic-declaration"},{"id":140,"kind":"semantic-declaration"},{"id":141,"kind":"semantic-declaration"},{"id":142,"kind":"semantic-declaration"},{"id":143,"kind":"semantic-declaration"},{"id":144,"kind":"semantic-declaration"},{"id":145,"kind":"semantic-declaration"},{"id":146,"kind":"semantic-declaration"},{"id":147,"kind":"semantic-declaration"},{"id":148,"kind":"semantic-declaration"},{"id":149,"kind":"semantic-declaration"},{"id":150,"kind":"semantic-declaration"},{"id":151,"kind":"semantic-declaration"},{"id":152,"kind":"semantic-declaration"},{"id":153,"kind":"semantic-declaration"},{"id":154,"kind":"semantic-declaration"},{"id":155,"kind":"semantic-declaration"},{"id":156,"kind":"semantic-declaration"},{"id":157,"kind":"semantic-declaration"},{"id":158,"kind":"semantic-declaration"},{"id":159,"kind":"semantic-declaration"},{"id":160,"kind":"semantic-declaration"},{"id":161,"kind":"semantic-declaration"},{"id":162,"kind":"semantic-declaration"},{"id":163,"kind":"semantic-declaration"}],"semantic_id":"322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a","source_id":"fc8fbbd2922aa3e7a7463e6862d110709e47f518802f63748cd199cee6055a74","sources":[{"id":0,"kind":"file","path":"src/ReasoningFixtures.lex.tex","sha256":"21de0c44ebce81bb7bb1b05a6e29815cc2e6c19a58a4c85459110bf3fd1dee9c"}],"spec":"lexlean/source-map/1"} diff --git a/compiler/expected/build/maps/LexLeanTarget/ReasoningOracle.map.json b/compiler/expected/build/maps/LexLeanTarget/ReasoningOracle.map.json index aac002347..55346a017 100644 --- a/compiler/expected/build/maps/LexLeanTarget/ReasoningOracle.map.json +++ b/compiler/expected/build/maps/LexLeanTarget/ReasoningOracle.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/ReasoningOracle.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/ReasoningOracle.tex"}],"mappings":[{"artifact":0,"gen_end":34251,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":27419,"src_start":0},{"artifact":0,"gen_end":34398,"gen_start":34251,"node":1,"role":"declaration","source":0,"src_end":420,"src_start":124},{"artifact":0,"gen_end":34575,"gen_start":34398,"node":2,"role":"declaration","source":0,"src_end":796,"src_start":422},{"artifact":0,"gen_end":34663,"gen_start":34575,"node":3,"role":"declaration","source":0,"src_end":934,"src_start":798},{"artifact":0,"gen_end":34751,"gen_start":34663,"node":4,"role":"declaration","source":0,"src_end":1072,"src_start":936},{"artifact":0,"gen_end":34844,"gen_start":34751,"node":5,"role":"declaration","source":0,"src_end":1215,"src_start":1074},{"artifact":0,"gen_end":34932,"gen_start":34844,"node":6,"role":"declaration","source":0,"src_end":1353,"src_start":1217},{"artifact":0,"gen_end":35019,"gen_start":34932,"node":7,"role":"declaration","source":0,"src_end":1490,"src_start":1355},{"artifact":0,"gen_end":35107,"gen_start":35019,"node":8,"role":"declaration","source":0,"src_end":1606,"src_start":1492},{"artifact":0,"gen_end":35196,"gen_start":35107,"node":9,"role":"declaration","source":0,"src_end":1723,"src_start":1608},{"artifact":0,"gen_end":35290,"gen_start":35196,"node":10,"role":"declaration","source":0,"src_end":1845,"src_start":1725},{"artifact":0,"gen_end":35379,"gen_start":35290,"node":11,"role":"declaration","source":0,"src_end":1962,"src_start":1847},{"artifact":0,"gen_end":35467,"gen_start":35379,"node":12,"role":"declaration","source":0,"src_end":2078,"src_start":1964},{"artifact":0,"gen_end":35675,"gen_start":35467,"node":13,"role":"declaration","source":0,"src_end":2362,"src_start":2080},{"artifact":0,"gen_end":37152,"gen_start":35675,"node":14,"role":"declaration","source":0,"src_end":4482,"src_start":2364},{"artifact":0,"gen_end":37406,"gen_start":37152,"node":15,"role":"declaration","source":0,"src_end":4820,"src_start":4484},{"artifact":0,"gen_end":37886,"gen_start":37406,"node":16,"role":"declaration","source":0,"src_end":5283,"src_start":4822},{"artifact":0,"gen_end":38411,"gen_start":37886,"node":17,"role":"declaration","source":0,"src_end":5681,"src_start":5285},{"artifact":0,"gen_end":38622,"gen_start":38411,"node":18,"role":"declaration","source":0,"src_end":5915,"src_start":5683},{"artifact":0,"gen_end":39420,"gen_start":38622,"node":19,"role":"declaration","source":0,"src_end":6685,"src_start":5917},{"artifact":0,"gen_end":40191,"gen_start":39420,"node":20,"role":"declaration","source":0,"src_end":7334,"src_start":6687},{"artifact":0,"gen_end":42068,"gen_start":40191,"node":21,"role":"declaration","source":0,"src_end":7894,"src_start":7336},{"artifact":0,"gen_end":42875,"gen_start":42068,"node":22,"role":"declaration","source":0,"src_end":8673,"src_start":7896},{"artifact":0,"gen_end":43655,"gen_start":42875,"node":23,"role":"declaration","source":0,"src_end":9331,"src_start":8675},{"artifact":0,"gen_end":45625,"gen_start":43655,"node":24,"role":"declaration","source":0,"src_end":9912,"src_start":9333},{"artifact":0,"gen_end":46429,"gen_start":45625,"node":25,"role":"declaration","source":0,"src_end":10688,"src_start":9914},{"artifact":0,"gen_end":47206,"gen_start":46429,"node":26,"role":"declaration","source":0,"src_end":11343,"src_start":10690},{"artifact":0,"gen_end":49145,"gen_start":47206,"node":27,"role":"declaration","source":0,"src_end":11917,"src_start":11345},{"artifact":0,"gen_end":49952,"gen_start":49145,"node":28,"role":"declaration","source":0,"src_end":12696,"src_start":11919},{"artifact":0,"gen_end":50732,"gen_start":49952,"node":29,"role":"declaration","source":0,"src_end":13354,"src_start":12698},{"artifact":0,"gen_end":52716,"gen_start":50732,"node":30,"role":"declaration","source":0,"src_end":13937,"src_start":13356},{"artifact":0,"gen_end":53576,"gen_start":52716,"node":31,"role":"declaration","source":0,"src_end":14785,"src_start":13939},{"artifact":0,"gen_end":54409,"gen_start":53576,"node":32,"role":"declaration","source":0,"src_end":15512,"src_start":14787},{"artifact":0,"gen_end":56304,"gen_start":54409,"node":33,"role":"declaration","source":0,"src_end":16148,"src_start":15514},{"artifact":0,"gen_end":57150,"gen_start":56304,"node":34,"role":"declaration","source":0,"src_end":16964,"src_start":16150},{"artifact":0,"gen_end":57969,"gen_start":57150,"node":35,"role":"declaration","source":0,"src_end":17659,"src_start":16966},{"artifact":0,"gen_end":59878,"gen_start":57969,"node":36,"role":"declaration","source":0,"src_end":18267,"src_start":17661},{"artifact":0,"gen_end":60711,"gen_start":59878,"node":37,"role":"declaration","source":0,"src_end":19071,"src_start":18269},{"artifact":0,"gen_end":61517,"gen_start":60711,"node":38,"role":"declaration","source":0,"src_end":19754,"src_start":19073},{"artifact":0,"gen_end":63429,"gen_start":61517,"node":39,"role":"declaration","source":0,"src_end":20348,"src_start":19756},{"artifact":0,"gen_end":64403,"gen_start":63429,"node":40,"role":"declaration","source":0,"src_end":21288,"src_start":20350},{"artifact":0,"gen_end":65350,"gen_start":64403,"node":41,"role":"declaration","source":0,"src_end":22107,"src_start":21290},{"artifact":0,"gen_end":67415,"gen_start":65350,"node":42,"role":"declaration","source":0,"src_end":22843,"src_start":22109},{"artifact":0,"gen_end":67597,"gen_start":67415,"node":43,"role":"declaration","source":0,"src_end":23052,"src_start":22845},{"artifact":0,"gen_end":67811,"gen_start":67597,"node":44,"role":"declaration","source":0,"src_end":23301,"src_start":23054},{"artifact":0,"gen_end":68395,"gen_start":67811,"node":45,"role":"declaration","source":0,"src_end":23780,"src_start":23303},{"artifact":0,"gen_end":68982,"gen_start":68395,"node":46,"role":"declaration","source":0,"src_end":24262,"src_start":23782},{"artifact":0,"gen_end":69426,"gen_start":68982,"node":47,"role":"declaration","source":0,"src_end":24546,"src_start":24264},{"artifact":0,"gen_end":69512,"gen_start":69426,"node":48,"role":"declaration","source":0,"src_end":24640,"src_start":24548},{"artifact":0,"gen_end":69601,"gen_start":69512,"node":49,"role":"declaration","source":0,"src_end":24769,"src_start":24642},{"artifact":0,"gen_end":70053,"gen_start":69601,"node":50,"role":"declaration","source":0,"src_end":25000,"src_start":24771},{"artifact":0,"gen_end":70258,"gen_start":70053,"node":51,"role":"declaration","source":0,"src_end":25204,"src_start":25002},{"artifact":0,"gen_end":70796,"gen_start":70258,"node":52,"role":"declaration","source":0,"src_end":25559,"src_start":25206},{"artifact":0,"gen_end":71332,"gen_start":70796,"node":53,"role":"declaration","source":0,"src_end":25894,"src_start":25561},{"artifact":0,"gen_end":100425,"gen_start":71332,"node":54,"role":"declaration","source":0,"src_end":26691,"src_start":25896},{"artifact":0,"gen_end":127176,"gen_start":100425,"node":55,"role":"declaration","source":0,"src_end":27383,"src_start":26693},{"artifact":0,"gen_end":127211,"gen_start":127176,"node":0,"role":"declaration","source":0,"src_end":27419,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":56,"role":"declaration","source":0,"src_end":27419,"src_start":0},{"artifact":1,"gen_end":536,"gen_start":134,"node":57,"role":"declaration","source":0,"src_end":420,"src_start":124},{"artifact":1,"gen_end":1076,"gen_start":536,"node":58,"role":"declaration","source":0,"src_end":796,"src_start":422},{"artifact":1,"gen_end":1411,"gen_start":1076,"node":59,"role":"declaration","source":0,"src_end":934,"src_start":798},{"artifact":1,"gen_end":1746,"gen_start":1411,"node":60,"role":"declaration","source":0,"src_end":1072,"src_start":936},{"artifact":1,"gen_end":2086,"gen_start":1746,"node":61,"role":"declaration","source":0,"src_end":1215,"src_start":1074},{"artifact":1,"gen_end":2421,"gen_start":2086,"node":62,"role":"declaration","source":0,"src_end":1353,"src_start":1217},{"artifact":1,"gen_end":2755,"gen_start":2421,"node":63,"role":"declaration","source":0,"src_end":1490,"src_start":1355},{"artifact":1,"gen_end":3014,"gen_start":2755,"node":64,"role":"declaration","source":0,"src_end":1606,"src_start":1492},{"artifact":1,"gen_end":3274,"gen_start":3014,"node":65,"role":"declaration","source":0,"src_end":1723,"src_start":1608},{"artifact":1,"gen_end":3539,"gen_start":3274,"node":66,"role":"declaration","source":0,"src_end":1845,"src_start":1725},{"artifact":1,"gen_end":3799,"gen_start":3539,"node":67,"role":"declaration","source":0,"src_end":1962,"src_start":1847},{"artifact":1,"gen_end":4058,"gen_start":3799,"node":68,"role":"declaration","source":0,"src_end":2078,"src_start":1964},{"artifact":1,"gen_end":4482,"gen_start":4058,"node":69,"role":"declaration","source":0,"src_end":2362,"src_start":2080},{"artifact":1,"gen_end":6595,"gen_start":4482,"node":70,"role":"declaration","source":0,"src_end":4482,"src_start":2364},{"artifact":1,"gen_end":7125,"gen_start":6595,"node":71,"role":"declaration","source":0,"src_end":4820,"src_start":4484},{"artifact":1,"gen_end":7787,"gen_start":7125,"node":72,"role":"declaration","source":0,"src_end":5283,"src_start":4822},{"artifact":1,"gen_end":8107,"gen_start":7787,"node":73,"role":"declaration","source":0,"src_end":5681,"src_start":5285},{"artifact":1,"gen_end":8840,"gen_start":8107,"node":74,"role":"declaration","source":0,"src_end":5915,"src_start":5683},{"artifact":1,"gen_end":9389,"gen_start":8840,"node":75,"role":"declaration","source":0,"src_end":6685,"src_start":5917},{"artifact":1,"gen_end":9953,"gen_start":9389,"node":76,"role":"declaration","source":0,"src_end":7334,"src_start":6687},{"artifact":1,"gen_end":12552,"gen_start":9953,"node":77,"role":"declaration","source":0,"src_end":7894,"src_start":7336},{"artifact":1,"gen_end":13110,"gen_start":12552,"node":78,"role":"declaration","source":0,"src_end":8673,"src_start":7896},{"artifact":1,"gen_end":13683,"gen_start":13110,"node":79,"role":"declaration","source":0,"src_end":9331,"src_start":8675},{"artifact":1,"gen_end":16390,"gen_start":13683,"node":80,"role":"declaration","source":0,"src_end":9912,"src_start":9333},{"artifact":1,"gen_end":16945,"gen_start":16390,"node":81,"role":"declaration","source":0,"src_end":10688,"src_start":9914},{"artifact":1,"gen_end":17515,"gen_start":16945,"node":82,"role":"declaration","source":0,"src_end":11343,"src_start":10690},{"artifact":1,"gen_end":20186,"gen_start":17515,"node":83,"role":"declaration","source":0,"src_end":11917,"src_start":11345},{"artifact":1,"gen_end":20744,"gen_start":20186,"node":84,"role":"declaration","source":0,"src_end":12696,"src_start":11919},{"artifact":1,"gen_end":21317,"gen_start":20744,"node":85,"role":"declaration","source":0,"src_end":13354,"src_start":12698},{"artifact":1,"gen_end":24036,"gen_start":21317,"node":86,"role":"declaration","source":0,"src_end":13937,"src_start":13356},{"artifact":1,"gen_end":24647,"gen_start":24036,"node":87,"role":"declaration","source":0,"src_end":14785,"src_start":13939},{"artifact":1,"gen_end":25273,"gen_start":24647,"node":88,"role":"declaration","source":0,"src_end":15512,"src_start":14787},{"artifact":1,"gen_end":28108,"gen_start":25273,"node":89,"role":"declaration","source":0,"src_end":16148,"src_start":15514},{"artifact":1,"gen_end":28707,"gen_start":28108,"node":90,"role":"declaration","source":0,"src_end":16964,"src_start":16150},{"artifact":1,"gen_end":29321,"gen_start":28707,"node":91,"role":"declaration","source":0,"src_end":17659,"src_start":16966},{"artifact":1,"gen_end":32132,"gen_start":29321,"node":92,"role":"declaration","source":0,"src_end":18267,"src_start":17661},{"artifact":1,"gen_end":32718,"gen_start":32132,"node":93,"role":"declaration","source":0,"src_end":19071,"src_start":18269},{"artifact":1,"gen_end":33319,"gen_start":32718,"node":94,"role":"declaration","source":0,"src_end":19754,"src_start":19073},{"artifact":1,"gen_end":36066,"gen_start":33319,"node":95,"role":"declaration","source":0,"src_end":20348,"src_start":19756},{"artifact":1,"gen_end":36797,"gen_start":36066,"node":96,"role":"declaration","source":0,"src_end":21288,"src_start":20350},{"artifact":1,"gen_end":37543,"gen_start":36797,"node":97,"role":"declaration","source":0,"src_end":22107,"src_start":21290},{"artifact":1,"gen_end":40906,"gen_start":37543,"node":98,"role":"declaration","source":0,"src_end":22843,"src_start":22109},{"artifact":1,"gen_end":41319,"gen_start":40906,"node":99,"role":"declaration","source":0,"src_end":23052,"src_start":22845},{"artifact":1,"gen_end":41788,"gen_start":41319,"node":100,"role":"declaration","source":0,"src_end":23301,"src_start":23054},{"artifact":1,"gen_end":42109,"gen_start":41788,"node":101,"role":"declaration","source":0,"src_end":23780,"src_start":23303},{"artifact":1,"gen_end":42433,"gen_start":42109,"node":102,"role":"declaration","source":0,"src_end":24262,"src_start":23782},{"artifact":1,"gen_end":43603,"gen_start":42433,"node":103,"role":"declaration","source":0,"src_end":24546,"src_start":24264},{"artifact":1,"gen_end":43859,"gen_start":43603,"node":104,"role":"declaration","source":0,"src_end":24640,"src_start":24548},{"artifact":1,"gen_end":44194,"gen_start":43859,"node":105,"role":"declaration","source":0,"src_end":24769,"src_start":24642},{"artifact":1,"gen_end":44476,"gen_start":44194,"node":106,"role":"declaration","source":0,"src_end":25000,"src_start":24771},{"artifact":1,"gen_end":45162,"gen_start":44476,"node":107,"role":"declaration","source":0,"src_end":25204,"src_start":25002},{"artifact":1,"gen_end":45578,"gen_start":45162,"node":108,"role":"declaration","source":0,"src_end":25559,"src_start":25206},{"artifact":1,"gen_end":45977,"gen_start":45578,"node":109,"role":"declaration","source":0,"src_end":25894,"src_start":25561},{"artifact":1,"gen_end":62729,"gen_start":45977,"node":110,"role":"declaration","source":0,"src_end":26691,"src_start":25896},{"artifact":1,"gen_end":78144,"gen_start":62729,"node":111,"role":"declaration","source":0,"src_end":27383,"src_start":26693},{"artifact":1,"gen_end":78159,"gen_start":78144,"node":56,"role":"declaration","source":0,"src_end":27419,"src_start":0}],"module":"ReasoningOracle","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-latex-module"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"},{"id":80,"kind":"semantic-declaration"},{"id":81,"kind":"semantic-declaration"},{"id":82,"kind":"semantic-declaration"},{"id":83,"kind":"semantic-declaration"},{"id":84,"kind":"semantic-declaration"},{"id":85,"kind":"semantic-declaration"},{"id":86,"kind":"semantic-declaration"},{"id":87,"kind":"semantic-declaration"},{"id":88,"kind":"semantic-declaration"},{"id":89,"kind":"semantic-declaration"},{"id":90,"kind":"semantic-declaration"},{"id":91,"kind":"semantic-declaration"},{"id":92,"kind":"semantic-declaration"},{"id":93,"kind":"semantic-declaration"},{"id":94,"kind":"semantic-declaration"},{"id":95,"kind":"semantic-declaration"},{"id":96,"kind":"semantic-declaration"},{"id":97,"kind":"semantic-declaration"},{"id":98,"kind":"semantic-declaration"},{"id":99,"kind":"semantic-declaration"},{"id":100,"kind":"semantic-declaration"},{"id":101,"kind":"semantic-declaration"},{"id":102,"kind":"semantic-declaration"},{"id":103,"kind":"semantic-declaration"},{"id":104,"kind":"semantic-declaration"},{"id":105,"kind":"semantic-declaration"},{"id":106,"kind":"semantic-declaration"},{"id":107,"kind":"semantic-declaration"},{"id":108,"kind":"semantic-declaration"},{"id":109,"kind":"semantic-declaration"},{"id":110,"kind":"semantic-declaration"},{"id":111,"kind":"semantic-declaration"}],"semantic_id":"db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9","source_id":"2f76ada498f17258f8a526df0820565414e563312654a2a7396b586dd3b407d1","sources":[{"id":0,"kind":"file","path":"src/ReasoningOracle.lex.tex","sha256":"7d5e680324c4fbffa4b8906aefe2e502d20994ff8cdaf223eb385e814bec77bb"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/ReasoningOracle.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/ReasoningOracle.tex"}],"mappings":[{"artifact":0,"gen_end":330,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":27419,"src_start":0},{"artifact":0,"gen_end":477,"gen_start":330,"node":1,"role":"declaration","source":0,"src_end":420,"src_start":124},{"artifact":0,"gen_end":654,"gen_start":477,"node":2,"role":"declaration","source":0,"src_end":796,"src_start":422},{"artifact":0,"gen_end":742,"gen_start":654,"node":3,"role":"declaration","source":0,"src_end":934,"src_start":798},{"artifact":0,"gen_end":830,"gen_start":742,"node":4,"role":"declaration","source":0,"src_end":1072,"src_start":936},{"artifact":0,"gen_end":923,"gen_start":830,"node":5,"role":"declaration","source":0,"src_end":1215,"src_start":1074},{"artifact":0,"gen_end":1011,"gen_start":923,"node":6,"role":"declaration","source":0,"src_end":1353,"src_start":1217},{"artifact":0,"gen_end":1098,"gen_start":1011,"node":7,"role":"declaration","source":0,"src_end":1490,"src_start":1355},{"artifact":0,"gen_end":1186,"gen_start":1098,"node":8,"role":"declaration","source":0,"src_end":1606,"src_start":1492},{"artifact":0,"gen_end":1275,"gen_start":1186,"node":9,"role":"declaration","source":0,"src_end":1723,"src_start":1608},{"artifact":0,"gen_end":1369,"gen_start":1275,"node":10,"role":"declaration","source":0,"src_end":1845,"src_start":1725},{"artifact":0,"gen_end":1458,"gen_start":1369,"node":11,"role":"declaration","source":0,"src_end":1962,"src_start":1847},{"artifact":0,"gen_end":1546,"gen_start":1458,"node":12,"role":"declaration","source":0,"src_end":2078,"src_start":1964},{"artifact":0,"gen_end":1754,"gen_start":1546,"node":13,"role":"declaration","source":0,"src_end":2362,"src_start":2080},{"artifact":0,"gen_end":3231,"gen_start":1754,"node":14,"role":"declaration","source":0,"src_end":4482,"src_start":2364},{"artifact":0,"gen_end":3485,"gen_start":3231,"node":15,"role":"declaration","source":0,"src_end":4820,"src_start":4484},{"artifact":0,"gen_end":3965,"gen_start":3485,"node":16,"role":"declaration","source":0,"src_end":5283,"src_start":4822},{"artifact":0,"gen_end":4490,"gen_start":3965,"node":17,"role":"declaration","source":0,"src_end":5681,"src_start":5285},{"artifact":0,"gen_end":4701,"gen_start":4490,"node":18,"role":"declaration","source":0,"src_end":5915,"src_start":5683},{"artifact":0,"gen_end":5499,"gen_start":4701,"node":19,"role":"declaration","source":0,"src_end":6685,"src_start":5917},{"artifact":0,"gen_end":6270,"gen_start":5499,"node":20,"role":"declaration","source":0,"src_end":7334,"src_start":6687},{"artifact":0,"gen_end":8147,"gen_start":6270,"node":21,"role":"declaration","source":0,"src_end":7894,"src_start":7336},{"artifact":0,"gen_end":8954,"gen_start":8147,"node":22,"role":"declaration","source":0,"src_end":8673,"src_start":7896},{"artifact":0,"gen_end":9734,"gen_start":8954,"node":23,"role":"declaration","source":0,"src_end":9331,"src_start":8675},{"artifact":0,"gen_end":11704,"gen_start":9734,"node":24,"role":"declaration","source":0,"src_end":9912,"src_start":9333},{"artifact":0,"gen_end":12508,"gen_start":11704,"node":25,"role":"declaration","source":0,"src_end":10688,"src_start":9914},{"artifact":0,"gen_end":13285,"gen_start":12508,"node":26,"role":"declaration","source":0,"src_end":11343,"src_start":10690},{"artifact":0,"gen_end":15224,"gen_start":13285,"node":27,"role":"declaration","source":0,"src_end":11917,"src_start":11345},{"artifact":0,"gen_end":16031,"gen_start":15224,"node":28,"role":"declaration","source":0,"src_end":12696,"src_start":11919},{"artifact":0,"gen_end":16811,"gen_start":16031,"node":29,"role":"declaration","source":0,"src_end":13354,"src_start":12698},{"artifact":0,"gen_end":18795,"gen_start":16811,"node":30,"role":"declaration","source":0,"src_end":13937,"src_start":13356},{"artifact":0,"gen_end":19655,"gen_start":18795,"node":31,"role":"declaration","source":0,"src_end":14785,"src_start":13939},{"artifact":0,"gen_end":20488,"gen_start":19655,"node":32,"role":"declaration","source":0,"src_end":15512,"src_start":14787},{"artifact":0,"gen_end":22383,"gen_start":20488,"node":33,"role":"declaration","source":0,"src_end":16148,"src_start":15514},{"artifact":0,"gen_end":23229,"gen_start":22383,"node":34,"role":"declaration","source":0,"src_end":16964,"src_start":16150},{"artifact":0,"gen_end":24048,"gen_start":23229,"node":35,"role":"declaration","source":0,"src_end":17659,"src_start":16966},{"artifact":0,"gen_end":25957,"gen_start":24048,"node":36,"role":"declaration","source":0,"src_end":18267,"src_start":17661},{"artifact":0,"gen_end":26790,"gen_start":25957,"node":37,"role":"declaration","source":0,"src_end":19071,"src_start":18269},{"artifact":0,"gen_end":27596,"gen_start":26790,"node":38,"role":"declaration","source":0,"src_end":19754,"src_start":19073},{"artifact":0,"gen_end":29508,"gen_start":27596,"node":39,"role":"declaration","source":0,"src_end":20348,"src_start":19756},{"artifact":0,"gen_end":30482,"gen_start":29508,"node":40,"role":"declaration","source":0,"src_end":21288,"src_start":20350},{"artifact":0,"gen_end":31429,"gen_start":30482,"node":41,"role":"declaration","source":0,"src_end":22107,"src_start":21290},{"artifact":0,"gen_end":33494,"gen_start":31429,"node":42,"role":"declaration","source":0,"src_end":22843,"src_start":22109},{"artifact":0,"gen_end":33676,"gen_start":33494,"node":43,"role":"declaration","source":0,"src_end":23052,"src_start":22845},{"artifact":0,"gen_end":33890,"gen_start":33676,"node":44,"role":"declaration","source":0,"src_end":23301,"src_start":23054},{"artifact":0,"gen_end":34474,"gen_start":33890,"node":45,"role":"declaration","source":0,"src_end":23780,"src_start":23303},{"artifact":0,"gen_end":35061,"gen_start":34474,"node":46,"role":"declaration","source":0,"src_end":24262,"src_start":23782},{"artifact":0,"gen_end":35505,"gen_start":35061,"node":47,"role":"declaration","source":0,"src_end":24546,"src_start":24264},{"artifact":0,"gen_end":35591,"gen_start":35505,"node":48,"role":"declaration","source":0,"src_end":24640,"src_start":24548},{"artifact":0,"gen_end":35680,"gen_start":35591,"node":49,"role":"declaration","source":0,"src_end":24769,"src_start":24642},{"artifact":0,"gen_end":36132,"gen_start":35680,"node":50,"role":"declaration","source":0,"src_end":25000,"src_start":24771},{"artifact":0,"gen_end":36337,"gen_start":36132,"node":51,"role":"declaration","source":0,"src_end":25204,"src_start":25002},{"artifact":0,"gen_end":36875,"gen_start":36337,"node":52,"role":"declaration","source":0,"src_end":25559,"src_start":25206},{"artifact":0,"gen_end":37411,"gen_start":36875,"node":53,"role":"declaration","source":0,"src_end":25894,"src_start":25561},{"artifact":0,"gen_end":66504,"gen_start":37411,"node":54,"role":"declaration","source":0,"src_end":26691,"src_start":25896},{"artifact":0,"gen_end":93255,"gen_start":66504,"node":55,"role":"declaration","source":0,"src_end":27383,"src_start":26693},{"artifact":0,"gen_end":93290,"gen_start":93255,"node":0,"role":"declaration","source":0,"src_end":27419,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":56,"role":"declaration","source":0,"src_end":27419,"src_start":0},{"artifact":1,"gen_end":536,"gen_start":134,"node":57,"role":"declaration","source":0,"src_end":420,"src_start":124},{"artifact":1,"gen_end":1076,"gen_start":536,"node":58,"role":"declaration","source":0,"src_end":796,"src_start":422},{"artifact":1,"gen_end":1411,"gen_start":1076,"node":59,"role":"declaration","source":0,"src_end":934,"src_start":798},{"artifact":1,"gen_end":1746,"gen_start":1411,"node":60,"role":"declaration","source":0,"src_end":1072,"src_start":936},{"artifact":1,"gen_end":2086,"gen_start":1746,"node":61,"role":"declaration","source":0,"src_end":1215,"src_start":1074},{"artifact":1,"gen_end":2421,"gen_start":2086,"node":62,"role":"declaration","source":0,"src_end":1353,"src_start":1217},{"artifact":1,"gen_end":2755,"gen_start":2421,"node":63,"role":"declaration","source":0,"src_end":1490,"src_start":1355},{"artifact":1,"gen_end":3014,"gen_start":2755,"node":64,"role":"declaration","source":0,"src_end":1606,"src_start":1492},{"artifact":1,"gen_end":3274,"gen_start":3014,"node":65,"role":"declaration","source":0,"src_end":1723,"src_start":1608},{"artifact":1,"gen_end":3539,"gen_start":3274,"node":66,"role":"declaration","source":0,"src_end":1845,"src_start":1725},{"artifact":1,"gen_end":3799,"gen_start":3539,"node":67,"role":"declaration","source":0,"src_end":1962,"src_start":1847},{"artifact":1,"gen_end":4058,"gen_start":3799,"node":68,"role":"declaration","source":0,"src_end":2078,"src_start":1964},{"artifact":1,"gen_end":4482,"gen_start":4058,"node":69,"role":"declaration","source":0,"src_end":2362,"src_start":2080},{"artifact":1,"gen_end":6595,"gen_start":4482,"node":70,"role":"declaration","source":0,"src_end":4482,"src_start":2364},{"artifact":1,"gen_end":7125,"gen_start":6595,"node":71,"role":"declaration","source":0,"src_end":4820,"src_start":4484},{"artifact":1,"gen_end":7787,"gen_start":7125,"node":72,"role":"declaration","source":0,"src_end":5283,"src_start":4822},{"artifact":1,"gen_end":8107,"gen_start":7787,"node":73,"role":"declaration","source":0,"src_end":5681,"src_start":5285},{"artifact":1,"gen_end":8840,"gen_start":8107,"node":74,"role":"declaration","source":0,"src_end":5915,"src_start":5683},{"artifact":1,"gen_end":9389,"gen_start":8840,"node":75,"role":"declaration","source":0,"src_end":6685,"src_start":5917},{"artifact":1,"gen_end":9953,"gen_start":9389,"node":76,"role":"declaration","source":0,"src_end":7334,"src_start":6687},{"artifact":1,"gen_end":12552,"gen_start":9953,"node":77,"role":"declaration","source":0,"src_end":7894,"src_start":7336},{"artifact":1,"gen_end":13110,"gen_start":12552,"node":78,"role":"declaration","source":0,"src_end":8673,"src_start":7896},{"artifact":1,"gen_end":13683,"gen_start":13110,"node":79,"role":"declaration","source":0,"src_end":9331,"src_start":8675},{"artifact":1,"gen_end":16390,"gen_start":13683,"node":80,"role":"declaration","source":0,"src_end":9912,"src_start":9333},{"artifact":1,"gen_end":16945,"gen_start":16390,"node":81,"role":"declaration","source":0,"src_end":10688,"src_start":9914},{"artifact":1,"gen_end":17515,"gen_start":16945,"node":82,"role":"declaration","source":0,"src_end":11343,"src_start":10690},{"artifact":1,"gen_end":20186,"gen_start":17515,"node":83,"role":"declaration","source":0,"src_end":11917,"src_start":11345},{"artifact":1,"gen_end":20744,"gen_start":20186,"node":84,"role":"declaration","source":0,"src_end":12696,"src_start":11919},{"artifact":1,"gen_end":21317,"gen_start":20744,"node":85,"role":"declaration","source":0,"src_end":13354,"src_start":12698},{"artifact":1,"gen_end":24036,"gen_start":21317,"node":86,"role":"declaration","source":0,"src_end":13937,"src_start":13356},{"artifact":1,"gen_end":24647,"gen_start":24036,"node":87,"role":"declaration","source":0,"src_end":14785,"src_start":13939},{"artifact":1,"gen_end":25273,"gen_start":24647,"node":88,"role":"declaration","source":0,"src_end":15512,"src_start":14787},{"artifact":1,"gen_end":28108,"gen_start":25273,"node":89,"role":"declaration","source":0,"src_end":16148,"src_start":15514},{"artifact":1,"gen_end":28707,"gen_start":28108,"node":90,"role":"declaration","source":0,"src_end":16964,"src_start":16150},{"artifact":1,"gen_end":29321,"gen_start":28707,"node":91,"role":"declaration","source":0,"src_end":17659,"src_start":16966},{"artifact":1,"gen_end":32132,"gen_start":29321,"node":92,"role":"declaration","source":0,"src_end":18267,"src_start":17661},{"artifact":1,"gen_end":32718,"gen_start":32132,"node":93,"role":"declaration","source":0,"src_end":19071,"src_start":18269},{"artifact":1,"gen_end":33319,"gen_start":32718,"node":94,"role":"declaration","source":0,"src_end":19754,"src_start":19073},{"artifact":1,"gen_end":36066,"gen_start":33319,"node":95,"role":"declaration","source":0,"src_end":20348,"src_start":19756},{"artifact":1,"gen_end":36797,"gen_start":36066,"node":96,"role":"declaration","source":0,"src_end":21288,"src_start":20350},{"artifact":1,"gen_end":37543,"gen_start":36797,"node":97,"role":"declaration","source":0,"src_end":22107,"src_start":21290},{"artifact":1,"gen_end":40906,"gen_start":37543,"node":98,"role":"declaration","source":0,"src_end":22843,"src_start":22109},{"artifact":1,"gen_end":41319,"gen_start":40906,"node":99,"role":"declaration","source":0,"src_end":23052,"src_start":22845},{"artifact":1,"gen_end":41788,"gen_start":41319,"node":100,"role":"declaration","source":0,"src_end":23301,"src_start":23054},{"artifact":1,"gen_end":42109,"gen_start":41788,"node":101,"role":"declaration","source":0,"src_end":23780,"src_start":23303},{"artifact":1,"gen_end":42433,"gen_start":42109,"node":102,"role":"declaration","source":0,"src_end":24262,"src_start":23782},{"artifact":1,"gen_end":43603,"gen_start":42433,"node":103,"role":"declaration","source":0,"src_end":24546,"src_start":24264},{"artifact":1,"gen_end":43859,"gen_start":43603,"node":104,"role":"declaration","source":0,"src_end":24640,"src_start":24548},{"artifact":1,"gen_end":44194,"gen_start":43859,"node":105,"role":"declaration","source":0,"src_end":24769,"src_start":24642},{"artifact":1,"gen_end":44476,"gen_start":44194,"node":106,"role":"declaration","source":0,"src_end":25000,"src_start":24771},{"artifact":1,"gen_end":45162,"gen_start":44476,"node":107,"role":"declaration","source":0,"src_end":25204,"src_start":25002},{"artifact":1,"gen_end":45578,"gen_start":45162,"node":108,"role":"declaration","source":0,"src_end":25559,"src_start":25206},{"artifact":1,"gen_end":45977,"gen_start":45578,"node":109,"role":"declaration","source":0,"src_end":25894,"src_start":25561},{"artifact":1,"gen_end":62729,"gen_start":45977,"node":110,"role":"declaration","source":0,"src_end":26691,"src_start":25896},{"artifact":1,"gen_end":78144,"gen_start":62729,"node":111,"role":"declaration","source":0,"src_end":27383,"src_start":26693},{"artifact":1,"gen_end":78159,"gen_start":78144,"node":56,"role":"declaration","source":0,"src_end":27419,"src_start":0}],"module":"ReasoningOracle","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-latex-module"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"},{"id":80,"kind":"semantic-declaration"},{"id":81,"kind":"semantic-declaration"},{"id":82,"kind":"semantic-declaration"},{"id":83,"kind":"semantic-declaration"},{"id":84,"kind":"semantic-declaration"},{"id":85,"kind":"semantic-declaration"},{"id":86,"kind":"semantic-declaration"},{"id":87,"kind":"semantic-declaration"},{"id":88,"kind":"semantic-declaration"},{"id":89,"kind":"semantic-declaration"},{"id":90,"kind":"semantic-declaration"},{"id":91,"kind":"semantic-declaration"},{"id":92,"kind":"semantic-declaration"},{"id":93,"kind":"semantic-declaration"},{"id":94,"kind":"semantic-declaration"},{"id":95,"kind":"semantic-declaration"},{"id":96,"kind":"semantic-declaration"},{"id":97,"kind":"semantic-declaration"},{"id":98,"kind":"semantic-declaration"},{"id":99,"kind":"semantic-declaration"},{"id":100,"kind":"semantic-declaration"},{"id":101,"kind":"semantic-declaration"},{"id":102,"kind":"semantic-declaration"},{"id":103,"kind":"semantic-declaration"},{"id":104,"kind":"semantic-declaration"},{"id":105,"kind":"semantic-declaration"},{"id":106,"kind":"semantic-declaration"},{"id":107,"kind":"semantic-declaration"},{"id":108,"kind":"semantic-declaration"},{"id":109,"kind":"semantic-declaration"},{"id":110,"kind":"semantic-declaration"},{"id":111,"kind":"semantic-declaration"}],"semantic_id":"322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a","source_id":"fc8fbbd2922aa3e7a7463e6862d110709e47f518802f63748cd199cee6055a74","sources":[{"id":0,"kind":"file","path":"src/ReasoningOracle.lex.tex","sha256":"7d5e680324c4fbffa4b8906aefe2e502d20994ff8cdaf223eb385e814bec77bb"}],"spec":"lexlean/source-map/1"} diff --git a/compiler/expected/build/maps/LexLeanTarget/RustSemantics.map.json b/compiler/expected/build/maps/LexLeanTarget/RustSemantics.map.json index 55d40bb17..8405591af 100644 --- a/compiler/expected/build/maps/LexLeanTarget/RustSemantics.map.json +++ b/compiler/expected/build/maps/LexLeanTarget/RustSemantics.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/RustSemantics.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/RustSemantics.tex"}],"mappings":[{"artifact":0,"gen_end":13825,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":103523,"src_start":0},{"artifact":0,"gen_end":13951,"gen_start":13825,"node":1,"role":"declaration","source":0,"src_end":477,"src_start":207},{"artifact":0,"gen_end":14086,"gen_start":13951,"node":2,"role":"declaration","source":0,"src_end":758,"src_start":479},{"artifact":0,"gen_end":14632,"gen_start":14086,"node":3,"role":"declaration","source":0,"src_end":1236,"src_start":760},{"artifact":0,"gen_end":15291,"gen_start":14632,"node":4,"role":"declaration","source":0,"src_end":1827,"src_start":1238},{"artifact":0,"gen_end":15666,"gen_start":15291,"node":5,"role":"declaration","source":0,"src_end":2289,"src_start":1829},{"artifact":0,"gen_end":18427,"gen_start":15666,"node":6,"role":"declaration","source":0,"src_end":5469,"src_start":2291},{"artifact":0,"gen_end":20350,"gen_start":18427,"node":7,"role":"declaration","source":0,"src_end":7876,"src_start":5471},{"artifact":0,"gen_end":32519,"gen_start":20350,"node":8,"role":"declaration","source":0,"src_end":30493,"src_start":7878},{"artifact":0,"gen_end":33308,"gen_start":32519,"node":9,"role":"declaration","source":0,"src_end":31684,"src_start":30495},{"artifact":0,"gen_end":36495,"gen_start":33308,"node":10,"role":"declaration","source":0,"src_end":36293,"src_start":31686},{"artifact":0,"gen_end":40966,"gen_start":36495,"node":11,"role":"declaration","source":0,"src_end":40127,"src_start":36295},{"artifact":0,"gen_end":43585,"gen_start":40966,"node":12,"role":"declaration","source":0,"src_end":42351,"src_start":40129},{"artifact":0,"gen_end":46191,"gen_start":43585,"node":13,"role":"declaration","source":0,"src_end":44562,"src_start":42353},{"artifact":0,"gen_end":49118,"gen_start":46191,"node":14,"role":"declaration","source":0,"src_end":47097,"src_start":44564},{"artifact":0,"gen_end":59126,"gen_start":49118,"node":15,"role":"declaration","source":0,"src_end":57456,"src_start":47099},{"artifact":0,"gen_end":59393,"gen_start":59126,"node":16,"role":"declaration","source":0,"src_end":57756,"src_start":57458},{"artifact":0,"gen_end":62477,"gen_start":59393,"node":17,"role":"declaration","source":0,"src_end":61922,"src_start":57758},{"artifact":0,"gen_end":65101,"gen_start":62477,"node":18,"role":"declaration","source":0,"src_end":64151,"src_start":61924},{"artifact":0,"gen_end":66372,"gen_start":65101,"node":19,"role":"declaration","source":0,"src_end":65449,"src_start":64153},{"artifact":0,"gen_end":67644,"gen_start":66372,"node":20,"role":"declaration","source":0,"src_end":66748,"src_start":65451},{"artifact":0,"gen_end":68917,"gen_start":67644,"node":21,"role":"declaration","source":0,"src_end":68048,"src_start":66750},{"artifact":0,"gen_end":71631,"gen_start":68917,"node":22,"role":"declaration","source":0,"src_end":70536,"src_start":68050},{"artifact":0,"gen_end":72090,"gen_start":71631,"node":23,"role":"declaration","source":0,"src_end":71177,"src_start":70538},{"artifact":0,"gen_end":73727,"gen_start":72090,"node":24,"role":"declaration","source":0,"src_end":72838,"src_start":71179},{"artifact":0,"gen_end":75397,"gen_start":73727,"node":25,"role":"declaration","source":0,"src_end":74784,"src_start":72840},{"artifact":0,"gen_end":75533,"gen_start":75397,"node":26,"role":"declaration","source":0,"src_end":74950,"src_start":74786},{"artifact":0,"gen_end":75896,"gen_start":75533,"node":27,"role":"declaration","source":0,"src_end":75383,"src_start":74952},{"artifact":0,"gen_end":76606,"gen_start":75896,"node":28,"role":"declaration","source":0,"src_end":76268,"src_start":75385},{"artifact":0,"gen_end":77028,"gen_start":76606,"node":29,"role":"declaration","source":0,"src_end":76725,"src_start":76270},{"artifact":0,"gen_end":77708,"gen_start":77028,"node":30,"role":"declaration","source":0,"src_end":77526,"src_start":76727},{"artifact":0,"gen_end":78692,"gen_start":77708,"node":31,"role":"declaration","source":0,"src_end":78480,"src_start":77528},{"artifact":0,"gen_end":79118,"gen_start":78692,"node":32,"role":"declaration","source":0,"src_end":78975,"src_start":78482},{"artifact":0,"gen_end":79375,"gen_start":79118,"node":33,"role":"declaration","source":0,"src_end":79432,"src_start":78977},{"artifact":0,"gen_end":96312,"gen_start":79375,"node":34,"role":"declaration","source":0,"src_end":98969,"src_start":79434},{"artifact":0,"gen_end":97416,"gen_start":96312,"node":35,"role":"declaration","source":0,"src_end":100183,"src_start":98971},{"artifact":0,"gen_end":98525,"gen_start":97416,"node":36,"role":"declaration","source":0,"src_end":101374,"src_start":100185},{"artifact":0,"gen_end":99368,"gen_start":98525,"node":37,"role":"declaration","source":0,"src_end":102359,"src_start":101376},{"artifact":0,"gen_end":100158,"gen_start":99368,"node":38,"role":"declaration","source":0,"src_end":103175,"src_start":102361},{"artifact":0,"gen_end":100411,"gen_start":100158,"node":39,"role":"declaration","source":0,"src_end":103487,"src_start":103177},{"artifact":0,"gen_end":100444,"gen_start":100411,"node":0,"role":"declaration","source":0,"src_end":103523,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":40,"role":"declaration","source":0,"src_end":103523,"src_start":0},{"artifact":1,"gen_end":517,"gen_start":134,"node":41,"role":"declaration","source":0,"src_end":477,"src_start":207},{"artifact":1,"gen_end":909,"gen_start":517,"node":42,"role":"declaration","source":0,"src_end":758,"src_start":479},{"artifact":1,"gen_end":1637,"gen_start":909,"node":43,"role":"declaration","source":0,"src_end":1236,"src_start":760},{"artifact":1,"gen_end":2483,"gen_start":1637,"node":44,"role":"declaration","source":0,"src_end":1827,"src_start":1238},{"artifact":1,"gen_end":3045,"gen_start":2483,"node":45,"role":"declaration","source":0,"src_end":2289,"src_start":1829},{"artifact":1,"gen_end":6011,"gen_start":3045,"node":46,"role":"declaration","source":0,"src_end":5469,"src_start":2291},{"artifact":1,"gen_end":8131,"gen_start":6011,"node":47,"role":"declaration","source":0,"src_end":7876,"src_start":5471},{"artifact":1,"gen_end":20493,"gen_start":8131,"node":48,"role":"declaration","source":0,"src_end":30493,"src_start":7878},{"artifact":1,"gen_end":21470,"gen_start":20493,"node":49,"role":"declaration","source":0,"src_end":31684,"src_start":30495},{"artifact":1,"gen_end":24882,"gen_start":21470,"node":50,"role":"declaration","source":0,"src_end":36293,"src_start":31686},{"artifact":1,"gen_end":29547,"gen_start":24882,"node":51,"role":"declaration","source":0,"src_end":40127,"src_start":36295},{"artifact":1,"gen_end":32362,"gen_start":29547,"node":52,"role":"declaration","source":0,"src_end":42351,"src_start":40129},{"artifact":1,"gen_end":35164,"gen_start":32362,"node":53,"role":"declaration","source":0,"src_end":44562,"src_start":42353},{"artifact":1,"gen_end":38287,"gen_start":35164,"node":54,"role":"declaration","source":0,"src_end":47097,"src_start":44564},{"artifact":1,"gen_end":48669,"gen_start":38287,"node":55,"role":"declaration","source":0,"src_end":57456,"src_start":47099},{"artifact":1,"gen_end":49118,"gen_start":48669,"node":56,"role":"declaration","source":0,"src_end":57756,"src_start":57458},{"artifact":1,"gen_end":52386,"gen_start":49118,"node":57,"role":"declaration","source":0,"src_end":61922,"src_start":57758},{"artifact":1,"gen_end":55206,"gen_start":52386,"node":58,"role":"declaration","source":0,"src_end":64151,"src_start":61924},{"artifact":1,"gen_end":56683,"gen_start":55206,"node":59,"role":"declaration","source":0,"src_end":65449,"src_start":64153},{"artifact":1,"gen_end":58161,"gen_start":56683,"node":60,"role":"declaration","source":0,"src_end":66748,"src_start":65451},{"artifact":1,"gen_end":59640,"gen_start":58161,"node":61,"role":"declaration","source":0,"src_end":68048,"src_start":66750},{"artifact":1,"gen_end":62550,"gen_start":59640,"node":62,"role":"declaration","source":0,"src_end":70536,"src_start":68050},{"artifact":1,"gen_end":63193,"gen_start":62550,"node":63,"role":"declaration","source":0,"src_end":71177,"src_start":70538},{"artifact":1,"gen_end":65057,"gen_start":63193,"node":64,"role":"declaration","source":0,"src_end":72838,"src_start":71179},{"artifact":1,"gen_end":66932,"gen_start":65057,"node":65,"role":"declaration","source":0,"src_end":74784,"src_start":72840},{"artifact":1,"gen_end":67250,"gen_start":66932,"node":66,"role":"declaration","source":0,"src_end":74950,"src_start":74786},{"artifact":1,"gen_end":67795,"gen_start":67250,"node":67,"role":"declaration","source":0,"src_end":75383,"src_start":74952},{"artifact":1,"gen_end":68689,"gen_start":67795,"node":68,"role":"declaration","source":0,"src_end":76268,"src_start":75385},{"artifact":1,"gen_end":69267,"gen_start":68689,"node":69,"role":"declaration","source":0,"src_end":76725,"src_start":76270},{"artifact":1,"gen_end":70111,"gen_start":69267,"node":70,"role":"declaration","source":0,"src_end":77526,"src_start":76727},{"artifact":1,"gen_end":71289,"gen_start":70111,"node":71,"role":"declaration","source":0,"src_end":78480,"src_start":77528},{"artifact":1,"gen_end":71897,"gen_start":71289,"node":72,"role":"declaration","source":0,"src_end":78975,"src_start":78482},{"artifact":1,"gen_end":72356,"gen_start":71897,"node":73,"role":"declaration","source":0,"src_end":79432,"src_start":78977},{"artifact":1,"gen_end":89648,"gen_start":72356,"node":74,"role":"declaration","source":0,"src_end":98969,"src_start":79434},{"artifact":1,"gen_end":90950,"gen_start":89648,"node":75,"role":"declaration","source":0,"src_end":100183,"src_start":98971},{"artifact":1,"gen_end":92270,"gen_start":90950,"node":76,"role":"declaration","source":0,"src_end":101374,"src_start":100185},{"artifact":1,"gen_end":93297,"gen_start":92270,"node":77,"role":"declaration","source":0,"src_end":102359,"src_start":101376},{"artifact":1,"gen_end":94295,"gen_start":93297,"node":78,"role":"declaration","source":0,"src_end":103175,"src_start":102361},{"artifact":1,"gen_end":94771,"gen_start":94295,"node":79,"role":"declaration","source":0,"src_end":103487,"src_start":103177},{"artifact":1,"gen_end":94786,"gen_start":94771,"node":40,"role":"declaration","source":0,"src_end":103523,"src_start":0}],"module":"RustSemantics","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-latex-module"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"}],"semantic_id":"db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9","source_id":"2f76ada498f17258f8a526df0820565414e563312654a2a7396b586dd3b407d1","sources":[{"id":0,"kind":"file","path":"src/RustSemantics.lex.tex","sha256":"183644ea3d81403440add2ca225c82d462dde21a7c5a7928d2c313a12e9242b3"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/RustSemantics.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/RustSemantics.tex"}],"mappings":[{"artifact":0,"gen_end":372,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":103523,"src_start":0},{"artifact":0,"gen_end":498,"gen_start":372,"node":1,"role":"declaration","source":0,"src_end":477,"src_start":207},{"artifact":0,"gen_end":633,"gen_start":498,"node":2,"role":"declaration","source":0,"src_end":758,"src_start":479},{"artifact":0,"gen_end":1179,"gen_start":633,"node":3,"role":"declaration","source":0,"src_end":1236,"src_start":760},{"artifact":0,"gen_end":1838,"gen_start":1179,"node":4,"role":"declaration","source":0,"src_end":1827,"src_start":1238},{"artifact":0,"gen_end":2213,"gen_start":1838,"node":5,"role":"declaration","source":0,"src_end":2289,"src_start":1829},{"artifact":0,"gen_end":4974,"gen_start":2213,"node":6,"role":"declaration","source":0,"src_end":5469,"src_start":2291},{"artifact":0,"gen_end":6897,"gen_start":4974,"node":7,"role":"declaration","source":0,"src_end":7876,"src_start":5471},{"artifact":0,"gen_end":19066,"gen_start":6897,"node":8,"role":"declaration","source":0,"src_end":30493,"src_start":7878},{"artifact":0,"gen_end":19855,"gen_start":19066,"node":9,"role":"declaration","source":0,"src_end":31684,"src_start":30495},{"artifact":0,"gen_end":23042,"gen_start":19855,"node":10,"role":"declaration","source":0,"src_end":36293,"src_start":31686},{"artifact":0,"gen_end":27513,"gen_start":23042,"node":11,"role":"declaration","source":0,"src_end":40127,"src_start":36295},{"artifact":0,"gen_end":30132,"gen_start":27513,"node":12,"role":"declaration","source":0,"src_end":42351,"src_start":40129},{"artifact":0,"gen_end":32738,"gen_start":30132,"node":13,"role":"declaration","source":0,"src_end":44562,"src_start":42353},{"artifact":0,"gen_end":35665,"gen_start":32738,"node":14,"role":"declaration","source":0,"src_end":47097,"src_start":44564},{"artifact":0,"gen_end":45673,"gen_start":35665,"node":15,"role":"declaration","source":0,"src_end":57456,"src_start":47099},{"artifact":0,"gen_end":45940,"gen_start":45673,"node":16,"role":"declaration","source":0,"src_end":57756,"src_start":57458},{"artifact":0,"gen_end":49024,"gen_start":45940,"node":17,"role":"declaration","source":0,"src_end":61922,"src_start":57758},{"artifact":0,"gen_end":51648,"gen_start":49024,"node":18,"role":"declaration","source":0,"src_end":64151,"src_start":61924},{"artifact":0,"gen_end":52919,"gen_start":51648,"node":19,"role":"declaration","source":0,"src_end":65449,"src_start":64153},{"artifact":0,"gen_end":54191,"gen_start":52919,"node":20,"role":"declaration","source":0,"src_end":66748,"src_start":65451},{"artifact":0,"gen_end":55464,"gen_start":54191,"node":21,"role":"declaration","source":0,"src_end":68048,"src_start":66750},{"artifact":0,"gen_end":58178,"gen_start":55464,"node":22,"role":"declaration","source":0,"src_end":70536,"src_start":68050},{"artifact":0,"gen_end":58637,"gen_start":58178,"node":23,"role":"declaration","source":0,"src_end":71177,"src_start":70538},{"artifact":0,"gen_end":60274,"gen_start":58637,"node":24,"role":"declaration","source":0,"src_end":72838,"src_start":71179},{"artifact":0,"gen_end":61944,"gen_start":60274,"node":25,"role":"declaration","source":0,"src_end":74784,"src_start":72840},{"artifact":0,"gen_end":62080,"gen_start":61944,"node":26,"role":"declaration","source":0,"src_end":74950,"src_start":74786},{"artifact":0,"gen_end":62443,"gen_start":62080,"node":27,"role":"declaration","source":0,"src_end":75383,"src_start":74952},{"artifact":0,"gen_end":63153,"gen_start":62443,"node":28,"role":"declaration","source":0,"src_end":76268,"src_start":75385},{"artifact":0,"gen_end":63575,"gen_start":63153,"node":29,"role":"declaration","source":0,"src_end":76725,"src_start":76270},{"artifact":0,"gen_end":64255,"gen_start":63575,"node":30,"role":"declaration","source":0,"src_end":77526,"src_start":76727},{"artifact":0,"gen_end":65239,"gen_start":64255,"node":31,"role":"declaration","source":0,"src_end":78480,"src_start":77528},{"artifact":0,"gen_end":65665,"gen_start":65239,"node":32,"role":"declaration","source":0,"src_end":78975,"src_start":78482},{"artifact":0,"gen_end":65922,"gen_start":65665,"node":33,"role":"declaration","source":0,"src_end":79432,"src_start":78977},{"artifact":0,"gen_end":82859,"gen_start":65922,"node":34,"role":"declaration","source":0,"src_end":98969,"src_start":79434},{"artifact":0,"gen_end":83963,"gen_start":82859,"node":35,"role":"declaration","source":0,"src_end":100183,"src_start":98971},{"artifact":0,"gen_end":85072,"gen_start":83963,"node":36,"role":"declaration","source":0,"src_end":101374,"src_start":100185},{"artifact":0,"gen_end":85915,"gen_start":85072,"node":37,"role":"declaration","source":0,"src_end":102359,"src_start":101376},{"artifact":0,"gen_end":86705,"gen_start":85915,"node":38,"role":"declaration","source":0,"src_end":103175,"src_start":102361},{"artifact":0,"gen_end":86958,"gen_start":86705,"node":39,"role":"declaration","source":0,"src_end":103487,"src_start":103177},{"artifact":0,"gen_end":86991,"gen_start":86958,"node":0,"role":"declaration","source":0,"src_end":103523,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":40,"role":"declaration","source":0,"src_end":103523,"src_start":0},{"artifact":1,"gen_end":517,"gen_start":134,"node":41,"role":"declaration","source":0,"src_end":477,"src_start":207},{"artifact":1,"gen_end":909,"gen_start":517,"node":42,"role":"declaration","source":0,"src_end":758,"src_start":479},{"artifact":1,"gen_end":1637,"gen_start":909,"node":43,"role":"declaration","source":0,"src_end":1236,"src_start":760},{"artifact":1,"gen_end":2483,"gen_start":1637,"node":44,"role":"declaration","source":0,"src_end":1827,"src_start":1238},{"artifact":1,"gen_end":3045,"gen_start":2483,"node":45,"role":"declaration","source":0,"src_end":2289,"src_start":1829},{"artifact":1,"gen_end":6011,"gen_start":3045,"node":46,"role":"declaration","source":0,"src_end":5469,"src_start":2291},{"artifact":1,"gen_end":8131,"gen_start":6011,"node":47,"role":"declaration","source":0,"src_end":7876,"src_start":5471},{"artifact":1,"gen_end":20493,"gen_start":8131,"node":48,"role":"declaration","source":0,"src_end":30493,"src_start":7878},{"artifact":1,"gen_end":21470,"gen_start":20493,"node":49,"role":"declaration","source":0,"src_end":31684,"src_start":30495},{"artifact":1,"gen_end":24882,"gen_start":21470,"node":50,"role":"declaration","source":0,"src_end":36293,"src_start":31686},{"artifact":1,"gen_end":29547,"gen_start":24882,"node":51,"role":"declaration","source":0,"src_end":40127,"src_start":36295},{"artifact":1,"gen_end":32362,"gen_start":29547,"node":52,"role":"declaration","source":0,"src_end":42351,"src_start":40129},{"artifact":1,"gen_end":35164,"gen_start":32362,"node":53,"role":"declaration","source":0,"src_end":44562,"src_start":42353},{"artifact":1,"gen_end":38287,"gen_start":35164,"node":54,"role":"declaration","source":0,"src_end":47097,"src_start":44564},{"artifact":1,"gen_end":48669,"gen_start":38287,"node":55,"role":"declaration","source":0,"src_end":57456,"src_start":47099},{"artifact":1,"gen_end":49118,"gen_start":48669,"node":56,"role":"declaration","source":0,"src_end":57756,"src_start":57458},{"artifact":1,"gen_end":52386,"gen_start":49118,"node":57,"role":"declaration","source":0,"src_end":61922,"src_start":57758},{"artifact":1,"gen_end":55206,"gen_start":52386,"node":58,"role":"declaration","source":0,"src_end":64151,"src_start":61924},{"artifact":1,"gen_end":56683,"gen_start":55206,"node":59,"role":"declaration","source":0,"src_end":65449,"src_start":64153},{"artifact":1,"gen_end":58161,"gen_start":56683,"node":60,"role":"declaration","source":0,"src_end":66748,"src_start":65451},{"artifact":1,"gen_end":59640,"gen_start":58161,"node":61,"role":"declaration","source":0,"src_end":68048,"src_start":66750},{"artifact":1,"gen_end":62550,"gen_start":59640,"node":62,"role":"declaration","source":0,"src_end":70536,"src_start":68050},{"artifact":1,"gen_end":63193,"gen_start":62550,"node":63,"role":"declaration","source":0,"src_end":71177,"src_start":70538},{"artifact":1,"gen_end":65057,"gen_start":63193,"node":64,"role":"declaration","source":0,"src_end":72838,"src_start":71179},{"artifact":1,"gen_end":66932,"gen_start":65057,"node":65,"role":"declaration","source":0,"src_end":74784,"src_start":72840},{"artifact":1,"gen_end":67250,"gen_start":66932,"node":66,"role":"declaration","source":0,"src_end":74950,"src_start":74786},{"artifact":1,"gen_end":67795,"gen_start":67250,"node":67,"role":"declaration","source":0,"src_end":75383,"src_start":74952},{"artifact":1,"gen_end":68689,"gen_start":67795,"node":68,"role":"declaration","source":0,"src_end":76268,"src_start":75385},{"artifact":1,"gen_end":69267,"gen_start":68689,"node":69,"role":"declaration","source":0,"src_end":76725,"src_start":76270},{"artifact":1,"gen_end":70111,"gen_start":69267,"node":70,"role":"declaration","source":0,"src_end":77526,"src_start":76727},{"artifact":1,"gen_end":71289,"gen_start":70111,"node":71,"role":"declaration","source":0,"src_end":78480,"src_start":77528},{"artifact":1,"gen_end":71897,"gen_start":71289,"node":72,"role":"declaration","source":0,"src_end":78975,"src_start":78482},{"artifact":1,"gen_end":72356,"gen_start":71897,"node":73,"role":"declaration","source":0,"src_end":79432,"src_start":78977},{"artifact":1,"gen_end":89648,"gen_start":72356,"node":74,"role":"declaration","source":0,"src_end":98969,"src_start":79434},{"artifact":1,"gen_end":90950,"gen_start":89648,"node":75,"role":"declaration","source":0,"src_end":100183,"src_start":98971},{"artifact":1,"gen_end":92270,"gen_start":90950,"node":76,"role":"declaration","source":0,"src_end":101374,"src_start":100185},{"artifact":1,"gen_end":93297,"gen_start":92270,"node":77,"role":"declaration","source":0,"src_end":102359,"src_start":101376},{"artifact":1,"gen_end":94295,"gen_start":93297,"node":78,"role":"declaration","source":0,"src_end":103175,"src_start":102361},{"artifact":1,"gen_end":94771,"gen_start":94295,"node":79,"role":"declaration","source":0,"src_end":103487,"src_start":103177},{"artifact":1,"gen_end":94786,"gen_start":94771,"node":40,"role":"declaration","source":0,"src_end":103523,"src_start":0}],"module":"RustSemantics","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-latex-module"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"}],"semantic_id":"322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a","source_id":"fc8fbbd2922aa3e7a7463e6862d110709e47f518802f63748cd199cee6055a74","sources":[{"id":0,"kind":"file","path":"src/RustSemantics.lex.tex","sha256":"183644ea3d81403440add2ca225c82d462dde21a7c5a7928d2c313a12e9242b3"}],"spec":"lexlean/source-map/1"} diff --git a/compiler/expected/build/maps/LexLeanTarget/RustSyntax.map.json b/compiler/expected/build/maps/LexLeanTarget/RustSyntax.map.json index 7f6dbf410..06568b993 100644 --- a/compiler/expected/build/maps/LexLeanTarget/RustSyntax.map.json +++ b/compiler/expected/build/maps/LexLeanTarget/RustSyntax.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/RustSyntax.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/RustSyntax.tex"}],"mappings":[{"artifact":0,"gen_end":248,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":7619,"src_start":0},{"artifact":0,"gen_end":382,"gen_start":248,"node":1,"role":"declaration","source":0,"src_end":529,"src_start":147},{"artifact":0,"gen_end":478,"gen_start":382,"node":2,"role":"declaration","source":0,"src_end":697,"src_start":531},{"artifact":0,"gen_end":865,"gen_start":478,"node":3,"role":"declaration","source":0,"src_end":1409,"src_start":699},{"artifact":0,"gen_end":1118,"gen_start":865,"node":4,"role":"declaration","source":0,"src_end":1807,"src_start":1411},{"artifact":0,"gen_end":1347,"gen_start":1118,"node":5,"role":"declaration","source":0,"src_end":2203,"src_start":1809},{"artifact":0,"gen_end":1601,"gen_start":1347,"node":6,"role":"declaration","source":0,"src_end":2656,"src_start":2205},{"artifact":0,"gen_end":2852,"gen_start":1601,"node":7,"role":"declaration","source":0,"src_end":4738,"src_start":2658},{"artifact":0,"gen_end":2929,"gen_start":2852,"node":8,"role":"declaration","source":0,"src_end":4892,"src_start":4740},{"artifact":0,"gen_end":3553,"gen_start":2929,"node":9,"role":"declaration","source":0,"src_end":5835,"src_start":4894},{"artifact":0,"gen_end":3633,"gen_start":3553,"node":10,"role":"declaration","source":0,"src_end":5988,"src_start":5837},{"artifact":0,"gen_end":3698,"gen_start":3633,"node":11,"role":"declaration","source":0,"src_end":6131,"src_start":5990},{"artifact":0,"gen_end":3759,"gen_start":3698,"node":12,"role":"declaration","source":0,"src_end":6266,"src_start":6133},{"artifact":0,"gen_end":3833,"gen_start":3759,"node":13,"role":"declaration","source":0,"src_end":6485,"src_start":6268},{"artifact":0,"gen_end":3941,"gen_start":3833,"node":14,"role":"declaration","source":0,"src_end":6696,"src_start":6487},{"artifact":0,"gen_end":4015,"gen_start":3941,"node":15,"role":"declaration","source":0,"src_end":6845,"src_start":6698},{"artifact":0,"gen_end":4083,"gen_start":4015,"node":16,"role":"declaration","source":0,"src_end":6988,"src_start":6847},{"artifact":0,"gen_end":4325,"gen_start":4083,"node":17,"role":"declaration","source":0,"src_end":7293,"src_start":6990},{"artifact":0,"gen_end":4374,"gen_start":4325,"node":18,"role":"declaration","source":0,"src_end":7433,"src_start":7295},{"artifact":0,"gen_end":4449,"gen_start":4374,"node":19,"role":"declaration","source":0,"src_end":7583,"src_start":7435},{"artifact":0,"gen_end":4479,"gen_start":4449,"node":0,"role":"declaration","source":0,"src_end":7619,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":20,"role":"declaration","source":0,"src_end":7619,"src_start":0},{"artifact":1,"gen_end":712,"gen_start":134,"node":21,"role":"declaration","source":0,"src_end":529,"src_start":147},{"artifact":1,"gen_end":918,"gen_start":712,"node":22,"role":"declaration","source":0,"src_end":697,"src_start":531},{"artifact":1,"gen_end":2029,"gen_start":918,"node":23,"role":"declaration","source":0,"src_end":1409,"src_start":699},{"artifact":1,"gen_end":2627,"gen_start":2029,"node":24,"role":"declaration","source":0,"src_end":1807,"src_start":1411},{"artifact":1,"gen_end":3193,"gen_start":2627,"node":25,"role":"declaration","source":0,"src_end":2203,"src_start":1809},{"artifact":1,"gen_end":3877,"gen_start":3193,"node":26,"role":"declaration","source":0,"src_end":2656,"src_start":2205},{"artifact":1,"gen_end":7319,"gen_start":3877,"node":27,"role":"declaration","source":0,"src_end":4738,"src_start":2658},{"artifact":1,"gen_end":7511,"gen_start":7319,"node":28,"role":"declaration","source":0,"src_end":4892,"src_start":4740},{"artifact":1,"gen_end":8963,"gen_start":7511,"node":29,"role":"declaration","source":0,"src_end":5835,"src_start":4894},{"artifact":1,"gen_end":9153,"gen_start":8963,"node":30,"role":"declaration","source":0,"src_end":5988,"src_start":5837},{"artifact":1,"gen_end":9333,"gen_start":9153,"node":31,"role":"declaration","source":0,"src_end":6131,"src_start":5990},{"artifact":1,"gen_end":9505,"gen_start":9333,"node":32,"role":"declaration","source":0,"src_end":6266,"src_start":6133},{"artifact":1,"gen_end":9798,"gen_start":9505,"node":33,"role":"declaration","source":0,"src_end":6485,"src_start":6268},{"artifact":1,"gen_end":10053,"gen_start":9798,"node":34,"role":"declaration","source":0,"src_end":6696,"src_start":6487},{"artifact":1,"gen_end":10238,"gen_start":10053,"node":35,"role":"declaration","source":0,"src_end":6845,"src_start":6698},{"artifact":1,"gen_end":10417,"gen_start":10238,"node":36,"role":"declaration","source":0,"src_end":6988,"src_start":6847},{"artifact":1,"gen_end":10772,"gen_start":10417,"node":37,"role":"declaration","source":0,"src_end":7293,"src_start":6990},{"artifact":1,"gen_end":10950,"gen_start":10772,"node":38,"role":"declaration","source":0,"src_end":7433,"src_start":7295},{"artifact":1,"gen_end":11136,"gen_start":10950,"node":39,"role":"declaration","source":0,"src_end":7583,"src_start":7435},{"artifact":1,"gen_end":11151,"gen_start":11136,"node":20,"role":"declaration","source":0,"src_end":7619,"src_start":0}],"module":"RustSyntax","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-latex-module"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"}],"semantic_id":"db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9","source_id":"2f76ada498f17258f8a526df0820565414e563312654a2a7396b586dd3b407d1","sources":[{"id":0,"kind":"file","path":"src/RustSyntax.lex.tex","sha256":"9cbc4da6fc9441a03954f0979cbe4812aae0426811932e6ff1d6661043d3611f"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/RustSyntax.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/RustSyntax.tex"}],"mappings":[{"artifact":0,"gen_end":248,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":7619,"src_start":0},{"artifact":0,"gen_end":382,"gen_start":248,"node":1,"role":"declaration","source":0,"src_end":529,"src_start":147},{"artifact":0,"gen_end":478,"gen_start":382,"node":2,"role":"declaration","source":0,"src_end":697,"src_start":531},{"artifact":0,"gen_end":865,"gen_start":478,"node":3,"role":"declaration","source":0,"src_end":1409,"src_start":699},{"artifact":0,"gen_end":1118,"gen_start":865,"node":4,"role":"declaration","source":0,"src_end":1807,"src_start":1411},{"artifact":0,"gen_end":1347,"gen_start":1118,"node":5,"role":"declaration","source":0,"src_end":2203,"src_start":1809},{"artifact":0,"gen_end":1601,"gen_start":1347,"node":6,"role":"declaration","source":0,"src_end":2656,"src_start":2205},{"artifact":0,"gen_end":2852,"gen_start":1601,"node":7,"role":"declaration","source":0,"src_end":4738,"src_start":2658},{"artifact":0,"gen_end":2929,"gen_start":2852,"node":8,"role":"declaration","source":0,"src_end":4892,"src_start":4740},{"artifact":0,"gen_end":3553,"gen_start":2929,"node":9,"role":"declaration","source":0,"src_end":5835,"src_start":4894},{"artifact":0,"gen_end":3633,"gen_start":3553,"node":10,"role":"declaration","source":0,"src_end":5988,"src_start":5837},{"artifact":0,"gen_end":3698,"gen_start":3633,"node":11,"role":"declaration","source":0,"src_end":6131,"src_start":5990},{"artifact":0,"gen_end":3759,"gen_start":3698,"node":12,"role":"declaration","source":0,"src_end":6266,"src_start":6133},{"artifact":0,"gen_end":3833,"gen_start":3759,"node":13,"role":"declaration","source":0,"src_end":6485,"src_start":6268},{"artifact":0,"gen_end":3941,"gen_start":3833,"node":14,"role":"declaration","source":0,"src_end":6696,"src_start":6487},{"artifact":0,"gen_end":4015,"gen_start":3941,"node":15,"role":"declaration","source":0,"src_end":6845,"src_start":6698},{"artifact":0,"gen_end":4083,"gen_start":4015,"node":16,"role":"declaration","source":0,"src_end":6988,"src_start":6847},{"artifact":0,"gen_end":4325,"gen_start":4083,"node":17,"role":"declaration","source":0,"src_end":7293,"src_start":6990},{"artifact":0,"gen_end":4374,"gen_start":4325,"node":18,"role":"declaration","source":0,"src_end":7433,"src_start":7295},{"artifact":0,"gen_end":4449,"gen_start":4374,"node":19,"role":"declaration","source":0,"src_end":7583,"src_start":7435},{"artifact":0,"gen_end":4479,"gen_start":4449,"node":0,"role":"declaration","source":0,"src_end":7619,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":20,"role":"declaration","source":0,"src_end":7619,"src_start":0},{"artifact":1,"gen_end":712,"gen_start":134,"node":21,"role":"declaration","source":0,"src_end":529,"src_start":147},{"artifact":1,"gen_end":918,"gen_start":712,"node":22,"role":"declaration","source":0,"src_end":697,"src_start":531},{"artifact":1,"gen_end":2029,"gen_start":918,"node":23,"role":"declaration","source":0,"src_end":1409,"src_start":699},{"artifact":1,"gen_end":2627,"gen_start":2029,"node":24,"role":"declaration","source":0,"src_end":1807,"src_start":1411},{"artifact":1,"gen_end":3193,"gen_start":2627,"node":25,"role":"declaration","source":0,"src_end":2203,"src_start":1809},{"artifact":1,"gen_end":3877,"gen_start":3193,"node":26,"role":"declaration","source":0,"src_end":2656,"src_start":2205},{"artifact":1,"gen_end":7319,"gen_start":3877,"node":27,"role":"declaration","source":0,"src_end":4738,"src_start":2658},{"artifact":1,"gen_end":7511,"gen_start":7319,"node":28,"role":"declaration","source":0,"src_end":4892,"src_start":4740},{"artifact":1,"gen_end":8963,"gen_start":7511,"node":29,"role":"declaration","source":0,"src_end":5835,"src_start":4894},{"artifact":1,"gen_end":9153,"gen_start":8963,"node":30,"role":"declaration","source":0,"src_end":5988,"src_start":5837},{"artifact":1,"gen_end":9333,"gen_start":9153,"node":31,"role":"declaration","source":0,"src_end":6131,"src_start":5990},{"artifact":1,"gen_end":9505,"gen_start":9333,"node":32,"role":"declaration","source":0,"src_end":6266,"src_start":6133},{"artifact":1,"gen_end":9798,"gen_start":9505,"node":33,"role":"declaration","source":0,"src_end":6485,"src_start":6268},{"artifact":1,"gen_end":10053,"gen_start":9798,"node":34,"role":"declaration","source":0,"src_end":6696,"src_start":6487},{"artifact":1,"gen_end":10238,"gen_start":10053,"node":35,"role":"declaration","source":0,"src_end":6845,"src_start":6698},{"artifact":1,"gen_end":10417,"gen_start":10238,"node":36,"role":"declaration","source":0,"src_end":6988,"src_start":6847},{"artifact":1,"gen_end":10772,"gen_start":10417,"node":37,"role":"declaration","source":0,"src_end":7293,"src_start":6990},{"artifact":1,"gen_end":10950,"gen_start":10772,"node":38,"role":"declaration","source":0,"src_end":7433,"src_start":7295},{"artifact":1,"gen_end":11136,"gen_start":10950,"node":39,"role":"declaration","source":0,"src_end":7583,"src_start":7435},{"artifact":1,"gen_end":11151,"gen_start":11136,"node":20,"role":"declaration","source":0,"src_end":7619,"src_start":0}],"module":"RustSyntax","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-latex-module"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"}],"semantic_id":"322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a","source_id":"fc8fbbd2922aa3e7a7463e6862d110709e47f518802f63748cd199cee6055a74","sources":[{"id":0,"kind":"file","path":"src/RustSyntax.lex.tex","sha256":"9cbc4da6fc9441a03954f0979cbe4812aae0426811932e6ff1d6661043d3611f"}],"spec":"lexlean/source-map/1"} diff --git a/compiler/expected/build/maps/LexLeanTarget/ScreeningOracle.map.json b/compiler/expected/build/maps/LexLeanTarget/ScreeningOracle.map.json index fa2cc4540..953aff996 100644 --- a/compiler/expected/build/maps/LexLeanTarget/ScreeningOracle.map.json +++ b/compiler/expected/build/maps/LexLeanTarget/ScreeningOracle.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/ScreeningOracle.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/ScreeningOracle.tex"}],"mappings":[{"artifact":0,"gen_end":39352,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":3620,"src_start":0},{"artifact":0,"gen_end":39478,"gen_start":39352,"node":1,"role":"declaration","source":0,"src_end":254,"src_start":124},{"artifact":0,"gen_end":39607,"gen_start":39478,"node":2,"role":"declaration","source":0,"src_end":412,"src_start":256},{"artifact":0,"gen_end":40053,"gen_start":39607,"node":3,"role":"declaration","source":0,"src_end":637,"src_start":414},{"artifact":0,"gen_end":40255,"gen_start":40053,"node":4,"role":"declaration","source":0,"src_end":877,"src_start":639},{"artifact":0,"gen_end":40520,"gen_start":40255,"node":5,"role":"declaration","source":0,"src_end":1179,"src_start":879},{"artifact":0,"gen_end":40639,"gen_start":40520,"node":6,"role":"declaration","source":0,"src_end":1276,"src_start":1181},{"artifact":0,"gen_end":40791,"gen_start":40639,"node":7,"role":"declaration","source":0,"src_end":1451,"src_start":1278},{"artifact":0,"gen_end":40792,"gen_start":40791,"node":8,"role":"declaration","source":0,"src_end":1543,"src_start":1453},{"artifact":0,"gen_end":41265,"gen_start":40792,"node":9,"role":"declaration","source":0,"src_end":1781,"src_start":1545},{"artifact":0,"gen_end":42710,"gen_start":41265,"node":10,"role":"declaration","source":0,"src_end":2191,"src_start":1783},{"artifact":0,"gen_end":42793,"gen_start":42710,"node":11,"role":"declaration","source":0,"src_end":2283,"src_start":2193},{"artifact":0,"gen_end":42879,"gen_start":42793,"node":12,"role":"declaration","source":0,"src_end":2411,"src_start":2285},{"artifact":0,"gen_end":43301,"gen_start":42879,"node":13,"role":"declaration","source":0,"src_end":2612,"src_start":2413},{"artifact":0,"gen_end":43488,"gen_start":43301,"node":14,"role":"declaration","source":0,"src_end":2795,"src_start":2614},{"artifact":0,"gen_end":52530,"gen_start":43488,"node":15,"role":"declaration","source":0,"src_end":3144,"src_start":2797},{"artifact":0,"gen_end":76985,"gen_start":52530,"node":16,"role":"declaration","source":0,"src_end":3584,"src_start":3146},{"artifact":0,"gen_end":77020,"gen_start":76985,"node":0,"role":"declaration","source":0,"src_end":3620,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":17,"role":"declaration","source":0,"src_end":3620,"src_start":0},{"artifact":1,"gen_end":430,"gen_start":134,"node":18,"role":"declaration","source":0,"src_end":254,"src_start":124},{"artifact":1,"gen_end":805,"gen_start":430,"node":19,"role":"declaration","source":0,"src_end":412,"src_start":256},{"artifact":1,"gen_end":1090,"gen_start":805,"node":20,"role":"declaration","source":0,"src_end":637,"src_start":414},{"artifact":1,"gen_end":1752,"gen_start":1090,"node":21,"role":"declaration","source":0,"src_end":877,"src_start":639},{"artifact":1,"gen_end":2542,"gen_start":1752,"node":22,"role":"declaration","source":0,"src_end":1179,"src_start":879},{"artifact":1,"gen_end":2959,"gen_start":2542,"node":23,"role":"declaration","source":0,"src_end":1276,"src_start":1181},{"artifact":1,"gen_end":3312,"gen_start":2959,"node":24,"role":"declaration","source":0,"src_end":1451,"src_start":1278},{"artifact":1,"gen_end":3527,"gen_start":3312,"node":25,"role":"declaration","source":0,"src_end":1543,"src_start":1453},{"artifact":1,"gen_end":3850,"gen_start":3527,"node":26,"role":"declaration","source":0,"src_end":1781,"src_start":1545},{"artifact":1,"gen_end":5867,"gen_start":3850,"node":27,"role":"declaration","source":0,"src_end":2191,"src_start":1783},{"artifact":1,"gen_end":6121,"gen_start":5867,"node":28,"role":"declaration","source":0,"src_end":2283,"src_start":2193},{"artifact":1,"gen_end":6454,"gen_start":6121,"node":29,"role":"declaration","source":0,"src_end":2411,"src_start":2285},{"artifact":1,"gen_end":6717,"gen_start":6454,"node":30,"role":"declaration","source":0,"src_end":2612,"src_start":2413},{"artifact":1,"gen_end":7348,"gen_start":6717,"node":31,"role":"declaration","source":0,"src_end":2795,"src_start":2614},{"artifact":1,"gen_end":13192,"gen_start":7348,"node":32,"role":"declaration","source":0,"src_end":3144,"src_start":2797},{"artifact":1,"gen_end":27179,"gen_start":13192,"node":33,"role":"declaration","source":0,"src_end":3584,"src_start":3146},{"artifact":1,"gen_end":27194,"gen_start":27179,"node":17,"role":"declaration","source":0,"src_end":3620,"src_start":0}],"module":"ScreeningOracle","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-latex-module"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"}],"semantic_id":"db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9","source_id":"2f76ada498f17258f8a526df0820565414e563312654a2a7396b586dd3b407d1","sources":[{"id":0,"kind":"file","path":"src/ScreeningOracle.lex.tex","sha256":"23fe7cb8804846c5418204184105f7381f5f36ddd2cdd1beec466416b5d12cb9"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/ScreeningOracle.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/ScreeningOracle.tex"}],"mappings":[{"artifact":0,"gen_end":366,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":3620,"src_start":0},{"artifact":0,"gen_end":492,"gen_start":366,"node":1,"role":"declaration","source":0,"src_end":254,"src_start":124},{"artifact":0,"gen_end":621,"gen_start":492,"node":2,"role":"declaration","source":0,"src_end":412,"src_start":256},{"artifact":0,"gen_end":1067,"gen_start":621,"node":3,"role":"declaration","source":0,"src_end":637,"src_start":414},{"artifact":0,"gen_end":1269,"gen_start":1067,"node":4,"role":"declaration","source":0,"src_end":877,"src_start":639},{"artifact":0,"gen_end":1534,"gen_start":1269,"node":5,"role":"declaration","source":0,"src_end":1179,"src_start":879},{"artifact":0,"gen_end":1653,"gen_start":1534,"node":6,"role":"declaration","source":0,"src_end":1276,"src_start":1181},{"artifact":0,"gen_end":1805,"gen_start":1653,"node":7,"role":"declaration","source":0,"src_end":1451,"src_start":1278},{"artifact":0,"gen_end":1806,"gen_start":1805,"node":8,"role":"declaration","source":0,"src_end":1543,"src_start":1453},{"artifact":0,"gen_end":2279,"gen_start":1806,"node":9,"role":"declaration","source":0,"src_end":1781,"src_start":1545},{"artifact":0,"gen_end":3724,"gen_start":2279,"node":10,"role":"declaration","source":0,"src_end":2191,"src_start":1783},{"artifact":0,"gen_end":3807,"gen_start":3724,"node":11,"role":"declaration","source":0,"src_end":2283,"src_start":2193},{"artifact":0,"gen_end":3893,"gen_start":3807,"node":12,"role":"declaration","source":0,"src_end":2411,"src_start":2285},{"artifact":0,"gen_end":4315,"gen_start":3893,"node":13,"role":"declaration","source":0,"src_end":2612,"src_start":2413},{"artifact":0,"gen_end":4502,"gen_start":4315,"node":14,"role":"declaration","source":0,"src_end":2795,"src_start":2614},{"artifact":0,"gen_end":13544,"gen_start":4502,"node":15,"role":"declaration","source":0,"src_end":3144,"src_start":2797},{"artifact":0,"gen_end":37999,"gen_start":13544,"node":16,"role":"declaration","source":0,"src_end":3584,"src_start":3146},{"artifact":0,"gen_end":38034,"gen_start":37999,"node":0,"role":"declaration","source":0,"src_end":3620,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":17,"role":"declaration","source":0,"src_end":3620,"src_start":0},{"artifact":1,"gen_end":430,"gen_start":134,"node":18,"role":"declaration","source":0,"src_end":254,"src_start":124},{"artifact":1,"gen_end":805,"gen_start":430,"node":19,"role":"declaration","source":0,"src_end":412,"src_start":256},{"artifact":1,"gen_end":1090,"gen_start":805,"node":20,"role":"declaration","source":0,"src_end":637,"src_start":414},{"artifact":1,"gen_end":1752,"gen_start":1090,"node":21,"role":"declaration","source":0,"src_end":877,"src_start":639},{"artifact":1,"gen_end":2542,"gen_start":1752,"node":22,"role":"declaration","source":0,"src_end":1179,"src_start":879},{"artifact":1,"gen_end":2959,"gen_start":2542,"node":23,"role":"declaration","source":0,"src_end":1276,"src_start":1181},{"artifact":1,"gen_end":3312,"gen_start":2959,"node":24,"role":"declaration","source":0,"src_end":1451,"src_start":1278},{"artifact":1,"gen_end":3527,"gen_start":3312,"node":25,"role":"declaration","source":0,"src_end":1543,"src_start":1453},{"artifact":1,"gen_end":3850,"gen_start":3527,"node":26,"role":"declaration","source":0,"src_end":1781,"src_start":1545},{"artifact":1,"gen_end":5867,"gen_start":3850,"node":27,"role":"declaration","source":0,"src_end":2191,"src_start":1783},{"artifact":1,"gen_end":6121,"gen_start":5867,"node":28,"role":"declaration","source":0,"src_end":2283,"src_start":2193},{"artifact":1,"gen_end":6454,"gen_start":6121,"node":29,"role":"declaration","source":0,"src_end":2411,"src_start":2285},{"artifact":1,"gen_end":6717,"gen_start":6454,"node":30,"role":"declaration","source":0,"src_end":2612,"src_start":2413},{"artifact":1,"gen_end":7348,"gen_start":6717,"node":31,"role":"declaration","source":0,"src_end":2795,"src_start":2614},{"artifact":1,"gen_end":13192,"gen_start":7348,"node":32,"role":"declaration","source":0,"src_end":3144,"src_start":2797},{"artifact":1,"gen_end":27179,"gen_start":13192,"node":33,"role":"declaration","source":0,"src_end":3584,"src_start":3146},{"artifact":1,"gen_end":27194,"gen_start":27179,"node":17,"role":"declaration","source":0,"src_end":3620,"src_start":0}],"module":"ScreeningOracle","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-latex-module"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"}],"semantic_id":"322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a","source_id":"fc8fbbd2922aa3e7a7463e6862d110709e47f518802f63748cd199cee6055a74","sources":[{"id":0,"kind":"file","path":"src/ScreeningOracle.lex.tex","sha256":"23fe7cb8804846c5418204184105f7381f5f36ddd2cdd1beec466416b5d12cb9"}],"spec":"lexlean/source-map/1"} diff --git a/compiler/expected/build/maps/LexLeanTarget/TargetFixtures.map.json b/compiler/expected/build/maps/LexLeanTarget/TargetFixtures.map.json index e85295e59..79860f6e3 100644 --- a/compiler/expected/build/maps/LexLeanTarget/TargetFixtures.map.json +++ b/compiler/expected/build/maps/LexLeanTarget/TargetFixtures.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/TargetFixtures.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/TargetFixtures.tex"}],"mappings":[{"artifact":0,"gen_end":21844,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":654074,"src_start":0},{"artifact":0,"gen_end":26204,"gen_start":21844,"node":1,"role":"declaration","source":0,"src_end":3550,"src_start":210},{"artifact":0,"gen_end":26402,"gen_start":26204,"node":2,"role":"declaration","source":0,"src_end":3782,"src_start":3552},{"artifact":0,"gen_end":26567,"gen_start":26402,"node":3,"role":"declaration","source":0,"src_end":4028,"src_start":3784},{"artifact":0,"gen_end":32406,"gen_start":26567,"node":4,"role":"declaration","source":0,"src_end":8546,"src_start":4030},{"artifact":0,"gen_end":32656,"gen_start":32406,"node":5,"role":"declaration","source":0,"src_end":8824,"src_start":8548},{"artifact":0,"gen_end":33182,"gen_start":32656,"node":6,"role":"declaration","source":0,"src_end":9359,"src_start":8826},{"artifact":0,"gen_end":44135,"gen_start":33182,"node":7,"role":"declaration","source":0,"src_end":17744,"src_start":9361},{"artifact":0,"gen_end":44480,"gen_start":44135,"node":8,"role":"declaration","source":0,"src_end":18105,"src_start":17746},{"artifact":0,"gen_end":45331,"gen_start":44480,"node":9,"role":"declaration","source":0,"src_end":18893,"src_start":18107},{"artifact":0,"gen_end":48739,"gen_start":45331,"node":10,"role":"declaration","source":0,"src_end":21516,"src_start":18895},{"artifact":0,"gen_end":49028,"gen_start":48739,"node":11,"role":"declaration","source":0,"src_end":21827,"src_start":21518},{"artifact":0,"gen_end":49482,"gen_start":49028,"node":12,"role":"declaration","source":0,"src_end":22311,"src_start":21829},{"artifact":0,"gen_end":50865,"gen_start":49482,"node":13,"role":"declaration","source":0,"src_end":23401,"src_start":22313},{"artifact":0,"gen_end":51422,"gen_start":50865,"node":14,"role":"declaration","source":0,"src_end":23910,"src_start":23403},{"artifact":0,"gen_end":51579,"gen_start":51422,"node":15,"role":"declaration","source":0,"src_end":24148,"src_start":23912},{"artifact":0,"gen_end":54796,"gen_start":51579,"node":16,"role":"declaration","source":0,"src_end":26592,"src_start":24150},{"artifact":0,"gen_end":54990,"gen_start":54796,"node":17,"role":"declaration","source":0,"src_end":26820,"src_start":26594},{"artifact":0,"gen_end":61068,"gen_start":54990,"node":18,"role":"declaration","source":0,"src_end":31444,"src_start":26822},{"artifact":0,"gen_end":61258,"gen_start":61068,"node":19,"role":"declaration","source":0,"src_end":31668,"src_start":31446},{"artifact":0,"gen_end":64323,"gen_start":61258,"node":20,"role":"declaration","source":0,"src_end":34045,"src_start":31670},{"artifact":0,"gen_end":64515,"gen_start":64323,"node":21,"role":"declaration","source":0,"src_end":34271,"src_start":34047},{"artifact":0,"gen_end":64974,"gen_start":64515,"node":22,"role":"declaration","source":0,"src_end":34728,"src_start":34273},{"artifact":0,"gen_end":72003,"gen_start":64974,"node":23,"role":"declaration","source":0,"src_end":40112,"src_start":34730},{"artifact":0,"gen_end":72199,"gen_start":72003,"node":24,"role":"declaration","source":0,"src_end":40342,"src_start":40114},{"artifact":0,"gen_end":73142,"gen_start":72199,"node":25,"role":"declaration","source":0,"src_end":41184,"src_start":40344},{"artifact":0,"gen_end":75461,"gen_start":73142,"node":26,"role":"declaration","source":0,"src_end":43042,"src_start":41186},{"artifact":0,"gen_end":75802,"gen_start":75461,"node":27,"role":"declaration","source":0,"src_end":43399,"src_start":43044},{"artifact":0,"gen_end":75972,"gen_start":75802,"node":28,"role":"declaration","source":0,"src_end":43650,"src_start":43401},{"artifact":0,"gen_end":79619,"gen_start":75972,"node":29,"role":"declaration","source":0,"src_end":46530,"src_start":43652},{"artifact":0,"gen_end":79920,"gen_start":79619,"node":30,"role":"declaration","source":0,"src_end":46853,"src_start":46532},{"artifact":0,"gen_end":80172,"gen_start":79920,"node":31,"role":"declaration","source":0,"src_end":47168,"src_start":46855},{"artifact":0,"gen_end":81809,"gen_start":80172,"node":32,"role":"declaration","source":0,"src_end":48492,"src_start":47170},{"artifact":0,"gen_end":82100,"gen_start":81809,"node":33,"role":"declaration","source":0,"src_end":48805,"src_start":48494},{"artifact":0,"gen_end":82266,"gen_start":82100,"node":34,"role":"declaration","source":0,"src_end":49052,"src_start":48807},{"artifact":0,"gen_end":84912,"gen_start":82266,"node":35,"role":"declaration","source":0,"src_end":51097,"src_start":49054},{"artifact":0,"gen_end":85162,"gen_start":84912,"node":36,"role":"declaration","source":0,"src_end":51375,"src_start":51099},{"artifact":0,"gen_end":85332,"gen_start":85162,"node":37,"role":"declaration","source":0,"src_end":51626,"src_start":51377},{"artifact":0,"gen_end":87880,"gen_start":85332,"node":38,"role":"declaration","source":0,"src_end":53608,"src_start":51628},{"artifact":0,"gen_end":88134,"gen_start":87880,"node":39,"role":"declaration","source":0,"src_end":53890,"src_start":53610},{"artifact":0,"gen_end":88307,"gen_start":88134,"node":40,"role":"declaration","source":0,"src_end":54144,"src_start":53892},{"artifact":0,"gen_end":89538,"gen_start":88307,"node":41,"role":"declaration","source":0,"src_end":55131,"src_start":54146},{"artifact":0,"gen_end":89780,"gen_start":89538,"node":42,"role":"declaration","source":0,"src_end":55401,"src_start":55133},{"artifact":0,"gen_end":90040,"gen_start":89780,"node":43,"role":"declaration","source":0,"src_end":55713,"src_start":55403},{"artifact":0,"gen_end":93061,"gen_start":90040,"node":44,"role":"declaration","source":0,"src_end":58081,"src_start":55715},{"artifact":0,"gen_end":93526,"gen_start":93061,"node":45,"role":"declaration","source":0,"src_end":58529,"src_start":58083},{"artifact":0,"gen_end":93867,"gen_start":93526,"node":46,"role":"declaration","source":0,"src_end":58912,"src_start":58531},{"artifact":0,"gen_end":98297,"gen_start":93867,"node":47,"role":"declaration","source":0,"src_end":62449,"src_start":58914},{"artifact":0,"gen_end":98483,"gen_start":98297,"node":48,"role":"declaration","source":0,"src_end":62669,"src_start":62451},{"artifact":0,"gen_end":99279,"gen_start":98483,"node":49,"role":"declaration","source":0,"src_end":63451,"src_start":62671},{"artifact":0,"gen_end":110249,"gen_start":99279,"node":50,"role":"declaration","source":0,"src_end":71974,"src_start":63453},{"artifact":0,"gen_end":110435,"gen_start":110249,"node":51,"role":"declaration","source":0,"src_end":72194,"src_start":71976},{"artifact":0,"gen_end":111224,"gen_start":110435,"node":52,"role":"declaration","source":0,"src_end":72834,"src_start":72196},{"artifact":0,"gen_end":111426,"gen_start":111224,"node":53,"role":"declaration","source":0,"src_end":73070,"src_start":72836},{"artifact":0,"gen_end":112241,"gen_start":111426,"node":54,"role":"declaration","source":0,"src_end":73736,"src_start":73072},{"artifact":0,"gen_end":112451,"gen_start":112241,"node":55,"role":"declaration","source":0,"src_end":73980,"src_start":73738},{"artifact":0,"gen_end":117896,"gen_start":112451,"node":56,"role":"declaration","source":0,"src_end":78216,"src_start":73982},{"artifact":0,"gen_end":118084,"gen_start":117896,"node":57,"role":"declaration","source":0,"src_end":78438,"src_start":78218},{"artifact":0,"gen_end":118637,"gen_start":118084,"node":58,"role":"declaration","source":0,"src_end":79009,"src_start":78440},{"artifact":0,"gen_end":120410,"gen_start":118637,"node":59,"role":"declaration","source":0,"src_end":80400,"src_start":79011},{"artifact":0,"gen_end":120672,"gen_start":120410,"node":60,"role":"declaration","source":0,"src_end":80690,"src_start":80402},{"artifact":0,"gen_end":120858,"gen_start":120672,"node":61,"role":"declaration","source":0,"src_end":80957,"src_start":80692},{"artifact":0,"gen_end":128362,"gen_start":120858,"node":62,"role":"declaration","source":0,"src_end":86862,"src_start":80959},{"artifact":0,"gen_end":128564,"gen_start":128362,"node":63,"role":"declaration","source":0,"src_end":87098,"src_start":86864},{"artifact":0,"gen_end":129501,"gen_start":128564,"node":64,"role":"declaration","source":0,"src_end":87978,"src_start":87100},{"artifact":0,"gen_end":136975,"gen_start":129501,"node":65,"role":"declaration","source":0,"src_end":93861,"src_start":87980},{"artifact":0,"gen_end":137181,"gen_start":136975,"node":66,"role":"declaration","source":0,"src_end":94101,"src_start":93863},{"artifact":0,"gen_end":138031,"gen_start":137181,"node":67,"role":"declaration","source":0,"src_end":94912,"src_start":94103},{"artifact":0,"gen_end":151245,"gen_start":138031,"node":68,"role":"declaration","source":0,"src_end":105303,"src_start":94914},{"artifact":0,"gen_end":151453,"gen_start":151245,"node":69,"role":"declaration","source":0,"src_end":105545,"src_start":105305},{"artifact":0,"gen_end":152904,"gen_start":151453,"node":70,"role":"declaration","source":0,"src_end":106810,"src_start":105547},{"artifact":0,"gen_end":161057,"gen_start":152904,"node":71,"role":"declaration","source":0,"src_end":113236,"src_start":106812},{"artifact":0,"gen_end":161265,"gen_start":161057,"node":72,"role":"declaration","source":0,"src_end":113478,"src_start":113238},{"artifact":0,"gen_end":162126,"gen_start":161265,"node":73,"role":"declaration","source":0,"src_end":114319,"src_start":113480},{"artifact":0,"gen_end":173214,"gen_start":162126,"node":74,"role":"declaration","source":0,"src_end":123112,"src_start":114321},{"artifact":0,"gen_end":173418,"gen_start":173214,"node":75,"role":"declaration","source":0,"src_end":123350,"src_start":123114},{"artifact":0,"gen_end":174568,"gen_start":173418,"node":76,"role":"declaration","source":0,"src_end":124433,"src_start":123352},{"artifact":0,"gen_end":176062,"gen_start":174568,"node":77,"role":"declaration","source":0,"src_end":125634,"src_start":124435},{"artifact":0,"gen_end":176380,"gen_start":176062,"node":78,"role":"declaration","source":0,"src_end":125974,"src_start":125636},{"artifact":0,"gen_end":177874,"gen_start":176380,"node":79,"role":"declaration","source":0,"src_end":127175,"src_start":125976},{"artifact":0,"gen_end":178202,"gen_start":177874,"node":80,"role":"declaration","source":0,"src_end":127525,"src_start":127177},{"artifact":0,"gen_end":179696,"gen_start":178202,"node":81,"role":"declaration","source":0,"src_end":128726,"src_start":127527},{"artifact":0,"gen_end":180042,"gen_start":179696,"node":82,"role":"declaration","source":0,"src_end":129094,"src_start":128728},{"artifact":0,"gen_end":181531,"gen_start":180042,"node":83,"role":"declaration","source":0,"src_end":130290,"src_start":129096},{"artifact":0,"gen_end":181841,"gen_start":181531,"node":84,"role":"declaration","source":0,"src_end":130622,"src_start":130292},{"artifact":0,"gen_end":183335,"gen_start":181841,"node":85,"role":"declaration","source":0,"src_end":131823,"src_start":130624},{"artifact":0,"gen_end":183649,"gen_start":183335,"node":86,"role":"declaration","source":0,"src_end":132159,"src_start":131825},{"artifact":0,"gen_end":185143,"gen_start":183649,"node":87,"role":"declaration","source":0,"src_end":133360,"src_start":132161},{"artifact":0,"gen_end":185462,"gen_start":185143,"node":88,"role":"declaration","source":0,"src_end":133701,"src_start":133362},{"artifact":0,"gen_end":186956,"gen_start":185462,"node":89,"role":"declaration","source":0,"src_end":134902,"src_start":133703},{"artifact":0,"gen_end":187285,"gen_start":186956,"node":90,"role":"declaration","source":0,"src_end":135253,"src_start":134904},{"artifact":0,"gen_end":188774,"gen_start":187285,"node":91,"role":"declaration","source":0,"src_end":136449,"src_start":135255},{"artifact":0,"gen_end":189082,"gen_start":188774,"node":92,"role":"declaration","source":0,"src_end":136779,"src_start":136451},{"artifact":0,"gen_end":211564,"gen_start":189082,"node":93,"role":"declaration","source":0,"src_end":154522,"src_start":136781},{"artifact":0,"gen_end":211940,"gen_start":211564,"node":94,"role":"declaration","source":0,"src_end":154914,"src_start":154524},{"artifact":0,"gen_end":213660,"gen_start":211940,"node":95,"role":"declaration","source":0,"src_end":156415,"src_start":154916},{"artifact":0,"gen_end":236142,"gen_start":213660,"node":96,"role":"declaration","source":0,"src_end":174158,"src_start":156417},{"artifact":0,"gen_end":236528,"gen_start":236142,"node":97,"role":"declaration","source":0,"src_end":174560,"src_start":174160},{"artifact":0,"gen_end":238263,"gen_start":236528,"node":98,"role":"declaration","source":0,"src_end":176076,"src_start":174562},{"artifact":0,"gen_end":260745,"gen_start":238263,"node":99,"role":"declaration","source":0,"src_end":193819,"src_start":176078},{"artifact":0,"gen_end":261149,"gen_start":260745,"node":100,"role":"declaration","source":0,"src_end":194239,"src_start":193821},{"artifact":0,"gen_end":262912,"gen_start":261149,"node":101,"role":"declaration","source":0,"src_end":195783,"src_start":194241},{"artifact":0,"gen_end":285285,"gen_start":262912,"node":102,"role":"declaration","source":0,"src_end":213417,"src_start":195785},{"artifact":0,"gen_end":285651,"gen_start":285285,"node":103,"role":"declaration","source":0,"src_end":213799,"src_start":213419},{"artifact":0,"gen_end":287290,"gen_start":285651,"node":104,"role":"declaration","source":0,"src_end":215229,"src_start":213801},{"artifact":0,"gen_end":307332,"gen_start":287290,"node":105,"role":"declaration","source":0,"src_end":231048,"src_start":215231},{"artifact":0,"gen_end":307705,"gen_start":307332,"node":106,"role":"declaration","source":0,"src_end":231437,"src_start":231050},{"artifact":0,"gen_end":309253,"gen_start":307705,"node":107,"role":"declaration","source":0,"src_end":232802,"src_start":231439},{"artifact":0,"gen_end":329295,"gen_start":309253,"node":108,"role":"declaration","source":0,"src_end":248621,"src_start":232804},{"artifact":0,"gen_end":329673,"gen_start":329295,"node":109,"role":"declaration","source":0,"src_end":249015,"src_start":248623},{"artifact":0,"gen_end":331246,"gen_start":329673,"node":110,"role":"declaration","source":0,"src_end":250405,"src_start":249017},{"artifact":0,"gen_end":351288,"gen_start":331246,"node":111,"role":"declaration","source":0,"src_end":266224,"src_start":250407},{"artifact":0,"gen_end":351676,"gen_start":351288,"node":112,"role":"declaration","source":0,"src_end":266628,"src_start":266226},{"artifact":0,"gen_end":353298,"gen_start":351676,"node":113,"role":"declaration","source":0,"src_end":268067,"src_start":266630},{"artifact":0,"gen_end":373245,"gen_start":353298,"node":114,"role":"declaration","source":0,"src_end":283791,"src_start":268069},{"artifact":0,"gen_end":373610,"gen_start":373245,"node":115,"role":"declaration","source":0,"src_end":284172,"src_start":283793},{"artifact":0,"gen_end":375075,"gen_start":373610,"node":116,"role":"declaration","source":0,"src_end":285464,"src_start":284174},{"artifact":0,"gen_end":392943,"gen_start":375075,"node":117,"role":"declaration","source":0,"src_end":299241,"src_start":285466},{"artifact":0,"gen_end":393143,"gen_start":392943,"node":118,"role":"declaration","source":0,"src_end":299475,"src_start":299243},{"artifact":0,"gen_end":394092,"gen_start":393143,"node":119,"role":"declaration","source":0,"src_end":300339,"src_start":299477},{"artifact":0,"gen_end":421070,"gen_start":394092,"node":120,"role":"declaration","source":0,"src_end":321194,"src_start":300341},{"artifact":0,"gen_end":422293,"gen_start":421070,"node":121,"role":"declaration","source":0,"src_end":322214,"src_start":321196},{"artifact":0,"gen_end":422691,"gen_start":422293,"node":122,"role":"declaration","source":0,"src_end":322648,"src_start":322216},{"artifact":0,"gen_end":423078,"gen_start":422691,"node":123,"role":"declaration","source":0,"src_end":323189,"src_start":322650},{"artifact":0,"gen_end":450062,"gen_start":423078,"node":124,"role":"declaration","source":0,"src_end":344050,"src_start":323191},{"artifact":0,"gen_end":451297,"gen_start":450062,"node":125,"role":"declaration","source":0,"src_end":345082,"src_start":344052},{"artifact":0,"gen_end":451568,"gen_start":451297,"node":126,"role":"declaration","source":0,"src_end":345407,"src_start":345084},{"artifact":0,"gen_end":451966,"gen_start":451568,"node":127,"role":"declaration","source":0,"src_end":345959,"src_start":345409},{"artifact":0,"gen_end":478949,"gen_start":451966,"node":128,"role":"declaration","source":0,"src_end":366819,"src_start":345961},{"artifact":0,"gen_end":480182,"gen_start":478949,"node":129,"role":"declaration","source":0,"src_end":367849,"src_start":366821},{"artifact":0,"gen_end":480498,"gen_start":480182,"node":130,"role":"declaration","source":0,"src_end":368213,"src_start":367851},{"artifact":0,"gen_end":480895,"gen_start":480498,"node":131,"role":"declaration","source":0,"src_end":368764,"src_start":368215},{"artifact":0,"gen_end":485744,"gen_start":480895,"node":132,"role":"declaration","source":0,"src_end":372530,"src_start":368766},{"artifact":0,"gen_end":486969,"gen_start":485744,"node":133,"role":"declaration","source":0,"src_end":373552,"src_start":372532},{"artifact":0,"gen_end":487275,"gen_start":486969,"node":134,"role":"declaration","source":0,"src_end":373906,"src_start":373554},{"artifact":0,"gen_end":487663,"gen_start":487275,"node":135,"role":"declaration","source":0,"src_end":374448,"src_start":373908},{"artifact":0,"gen_end":492518,"gen_start":487663,"node":136,"role":"declaration","source":0,"src_end":378220,"src_start":374450},{"artifact":0,"gen_end":493755,"gen_start":492518,"node":137,"role":"declaration","source":0,"src_end":379254,"src_start":378222},{"artifact":0,"gen_end":493982,"gen_start":493755,"node":138,"role":"declaration","source":0,"src_end":379541,"src_start":379256},{"artifact":0,"gen_end":494383,"gen_start":493982,"node":139,"role":"declaration","source":0,"src_end":380096,"src_start":379543},{"artifact":0,"gen_end":520669,"gen_start":494383,"node":140,"role":"declaration","source":0,"src_end":400342,"src_start":380098},{"artifact":0,"gen_end":521850,"gen_start":520669,"node":141,"role":"declaration","source":0,"src_end":401326,"src_start":400344},{"artifact":0,"gen_end":522292,"gen_start":521850,"node":142,"role":"declaration","source":0,"src_end":401796,"src_start":401328},{"artifact":0,"gen_end":522779,"gen_start":522292,"node":143,"role":"declaration","source":0,"src_end":402462,"src_start":401798},{"artifact":0,"gen_end":549070,"gen_start":522779,"node":144,"role":"declaration","source":0,"src_end":422713,"src_start":402464},{"artifact":0,"gen_end":550040,"gen_start":549070,"node":145,"role":"declaration","source":0,"src_end":423537,"src_start":422715},{"artifact":0,"gen_end":550219,"gen_start":550040,"node":146,"role":"declaration","source":0,"src_end":423799,"src_start":423539},{"artifact":0,"gen_end":550704,"gen_start":550219,"node":147,"role":"declaration","source":0,"src_end":424408,"src_start":423801},{"artifact":0,"gen_end":560104,"gen_start":550704,"node":148,"role":"declaration","source":0,"src_end":431829,"src_start":424410},{"artifact":0,"gen_end":560302,"gen_start":560104,"node":149,"role":"declaration","source":0,"src_end":432061,"src_start":431831},{"artifact":0,"gen_end":561244,"gen_start":560302,"node":150,"role":"declaration","source":0,"src_end":432985,"src_start":432063},{"artifact":0,"gen_end":562081,"gen_start":561244,"node":151,"role":"declaration","source":0,"src_end":433667,"src_start":432987},{"artifact":0,"gen_end":562281,"gen_start":562081,"node":152,"role":"declaration","source":0,"src_end":433901,"src_start":433669},{"artifact":0,"gen_end":562406,"gen_start":562281,"node":153,"role":"declaration","source":0,"src_end":434117,"src_start":433903},{"artifact":0,"gen_end":563114,"gen_start":562406,"node":154,"role":"declaration","source":0,"src_end":434692,"src_start":434119},{"artifact":0,"gen_end":563314,"gen_start":563114,"node":155,"role":"declaration","source":0,"src_end":434926,"src_start":434694},{"artifact":0,"gen_end":563439,"gen_start":563314,"node":156,"role":"declaration","source":0,"src_end":435142,"src_start":434928},{"artifact":0,"gen_end":564410,"gen_start":563439,"node":157,"role":"declaration","source":0,"src_end":435936,"src_start":435144},{"artifact":0,"gen_end":564612,"gen_start":564410,"node":158,"role":"declaration","source":0,"src_end":436172,"src_start":435938},{"artifact":0,"gen_end":564739,"gen_start":564612,"node":159,"role":"declaration","source":0,"src_end":436390,"src_start":436174},{"artifact":0,"gen_end":565577,"gen_start":564739,"node":160,"role":"declaration","source":0,"src_end":437073,"src_start":436392},{"artifact":0,"gen_end":565777,"gen_start":565577,"node":161,"role":"declaration","source":0,"src_end":437307,"src_start":437075},{"artifact":0,"gen_end":565902,"gen_start":565777,"node":162,"role":"declaration","source":0,"src_end":437523,"src_start":437309},{"artifact":0,"gen_end":568477,"gen_start":565902,"node":163,"role":"declaration","source":0,"src_end":439549,"src_start":437525},{"artifact":0,"gen_end":568710,"gen_start":568477,"node":164,"role":"declaration","source":0,"src_end":439810,"src_start":439551},{"artifact":0,"gen_end":568864,"gen_start":568710,"node":165,"role":"declaration","source":0,"src_end":440045,"src_start":439812},{"artifact":0,"gen_end":569094,"gen_start":568864,"node":166,"role":"declaration","source":0,"src_end":440336,"src_start":440047},{"artifact":0,"gen_end":574027,"gen_start":569094,"node":167,"role":"declaration","source":0,"src_end":444150,"src_start":440338},{"artifact":0,"gen_end":574271,"gen_start":574027,"node":168,"role":"declaration","source":0,"src_end":444422,"src_start":444152},{"artifact":0,"gen_end":574521,"gen_start":574271,"node":169,"role":"declaration","source":0,"src_end":444735,"src_start":444424},{"artifact":0,"gen_end":575101,"gen_start":574521,"node":170,"role":"declaration","source":0,"src_end":445365,"src_start":444737},{"artifact":0,"gen_end":580041,"gen_start":575101,"node":171,"role":"declaration","source":0,"src_end":449186,"src_start":445367},{"artifact":0,"gen_end":580298,"gen_start":580041,"node":172,"role":"declaration","source":0,"src_end":449471,"src_start":449188},{"artifact":0,"gen_end":580562,"gen_start":580298,"node":173,"role":"declaration","source":0,"src_end":449798,"src_start":449473},{"artifact":0,"gen_end":581153,"gen_start":580562,"node":174,"role":"declaration","source":0,"src_end":450439,"src_start":449800},{"artifact":0,"gen_end":582005,"gen_start":581153,"node":175,"role":"declaration","source":0,"src_end":451140,"src_start":450441},{"artifact":0,"gen_end":584259,"gen_start":582005,"node":176,"role":"declaration","source":0,"src_end":453134,"src_start":451142},{"artifact":0,"gen_end":586341,"gen_start":584259,"node":177,"role":"declaration","source":0,"src_end":455036,"src_start":453136},{"artifact":0,"gen_end":589537,"gen_start":586341,"node":178,"role":"declaration","source":0,"src_end":457573,"src_start":455038},{"artifact":0,"gen_end":589972,"gen_start":589537,"node":179,"role":"declaration","source":0,"src_end":457997,"src_start":457575},{"artifact":0,"gen_end":590128,"gen_start":589972,"node":180,"role":"declaration","source":0,"src_end":458234,"src_start":457999},{"artifact":0,"gen_end":590497,"gen_start":590128,"node":181,"role":"declaration","source":0,"src_end":458637,"src_start":458236},{"artifact":0,"gen_end":596944,"gen_start":590497,"node":182,"role":"declaration","source":0,"src_end":463681,"src_start":458639},{"artifact":0,"gen_end":597356,"gen_start":596944,"node":183,"role":"declaration","source":0,"src_end":464082,"src_start":463683},{"artifact":0,"gen_end":598361,"gen_start":597356,"node":184,"role":"declaration","source":0,"src_end":464988,"src_start":464084},{"artifact":0,"gen_end":605054,"gen_start":598361,"node":185,"role":"declaration","source":0,"src_end":470464,"src_start":464990},{"artifact":0,"gen_end":605242,"gen_start":605054,"node":186,"role":"declaration","source":0,"src_end":470686,"src_start":470466},{"artifact":0,"gen_end":607188,"gen_start":605242,"node":187,"role":"declaration","source":0,"src_end":472433,"src_start":470688},{"artifact":0,"gen_end":611708,"gen_start":607188,"node":188,"role":"declaration","source":0,"src_end":475937,"src_start":472435},{"artifact":0,"gen_end":612309,"gen_start":611708,"node":189,"role":"declaration","source":0,"src_end":476491,"src_start":475939},{"artifact":0,"gen_end":612473,"gen_start":612309,"node":190,"role":"declaration","source":0,"src_end":476736,"src_start":476493},{"artifact":0,"gen_end":612729,"gen_start":612473,"node":191,"role":"declaration","source":0,"src_end":477112,"src_start":476738},{"artifact":0,"gen_end":616115,"gen_start":612729,"node":192,"role":"declaration","source":0,"src_end":479803,"src_start":477114},{"artifact":0,"gen_end":616662,"gen_start":616115,"node":193,"role":"declaration","source":0,"src_end":480309,"src_start":479805},{"artifact":0,"gen_end":616816,"gen_start":616662,"node":194,"role":"declaration","source":0,"src_end":480544,"src_start":480311},{"artifact":0,"gen_end":617168,"gen_start":616816,"node":195,"role":"declaration","source":0,"src_end":481002,"src_start":480546},{"artifact":0,"gen_end":622779,"gen_start":617168,"node":196,"role":"declaration","source":0,"src_end":485403,"src_start":481004},{"artifact":0,"gen_end":623427,"gen_start":622779,"node":197,"role":"declaration","source":0,"src_end":485998,"src_start":485405},{"artifact":0,"gen_end":624031,"gen_start":623427,"node":198,"role":"declaration","source":0,"src_end":486590,"src_start":486000},{"artifact":0,"gen_end":624420,"gen_start":624031,"node":199,"role":"declaration","source":0,"src_end":487052,"src_start":486592},{"artifact":0,"gen_end":630035,"gen_start":624420,"node":200,"role":"declaration","source":0,"src_end":491457,"src_start":487054},{"artifact":0,"gen_end":630691,"gen_start":630035,"node":201,"role":"declaration","source":0,"src_end":492060,"src_start":491459},{"artifact":0,"gen_end":631303,"gen_start":630691,"node":202,"role":"declaration","source":0,"src_end":492660,"src_start":492062},{"artifact":0,"gen_end":631700,"gen_start":631303,"node":203,"role":"declaration","source":0,"src_end":493130,"src_start":492662},{"artifact":0,"gen_end":637318,"gen_start":631700,"node":204,"role":"declaration","source":0,"src_end":497538,"src_start":493132},{"artifact":0,"gen_end":637980,"gen_start":637318,"node":205,"role":"declaration","source":0,"src_end":498147,"src_start":497540},{"artifact":0,"gen_end":638464,"gen_start":637980,"node":206,"role":"declaration","source":0,"src_end":498643,"src_start":498149},{"artifact":0,"gen_end":638867,"gen_start":638464,"node":207,"role":"declaration","source":0,"src_end":499119,"src_start":498645},{"artifact":0,"gen_end":641050,"gen_start":638867,"node":208,"role":"declaration","source":0,"src_end":500822,"src_start":499121},{"artifact":0,"gen_end":641597,"gen_start":641050,"node":209,"role":"declaration","source":0,"src_end":501328,"src_start":500824},{"artifact":0,"gen_end":641887,"gen_start":641597,"node":210,"role":"declaration","source":0,"src_end":501666,"src_start":501330},{"artifact":0,"gen_end":642173,"gen_start":641887,"node":211,"role":"declaration","source":0,"src_end":502061,"src_start":501668},{"artifact":0,"gen_end":645492,"gen_start":642173,"node":212,"role":"declaration","source":0,"src_end":504649,"src_start":502063},{"artifact":0,"gen_end":646089,"gen_start":645492,"node":213,"role":"declaration","source":0,"src_end":505199,"src_start":504651},{"artifact":0,"gen_end":646290,"gen_start":646089,"node":214,"role":"declaration","source":0,"src_end":505473,"src_start":505201},{"artifact":0,"gen_end":646690,"gen_start":646290,"node":215,"role":"declaration","source":0,"src_end":505990,"src_start":505475},{"artifact":0,"gen_end":650015,"gen_start":646690,"node":216,"role":"declaration","source":0,"src_end":508584,"src_start":505992},{"artifact":0,"gen_end":650624,"gen_start":650015,"node":217,"role":"declaration","source":0,"src_end":509146,"src_start":508586},{"artifact":0,"gen_end":650789,"gen_start":650624,"node":218,"role":"declaration","source":0,"src_end":509394,"src_start":509148},{"artifact":0,"gen_end":651201,"gen_start":650789,"node":219,"role":"declaration","source":0,"src_end":509923,"src_start":509396},{"artifact":0,"gen_end":654785,"gen_start":651201,"node":220,"role":"declaration","source":0,"src_end":512727,"src_start":509925},{"artifact":0,"gen_end":655382,"gen_start":654785,"node":221,"role":"declaration","source":0,"src_end":513277,"src_start":512729},{"artifact":0,"gen_end":655718,"gen_start":655382,"node":222,"role":"declaration","source":0,"src_end":513649,"src_start":513279},{"artifact":0,"gen_end":656101,"gen_start":655718,"node":223,"role":"declaration","source":0,"src_end":514107,"src_start":513651},{"artifact":0,"gen_end":659691,"gen_start":656101,"node":224,"role":"declaration","source":0,"src_end":516917,"src_start":514109},{"artifact":0,"gen_end":660300,"gen_start":659691,"node":225,"role":"declaration","source":0,"src_end":517479,"src_start":516919},{"artifact":0,"gen_end":660782,"gen_start":660300,"node":226,"role":"declaration","source":0,"src_end":517973,"src_start":517481},{"artifact":0,"gen_end":661177,"gen_start":660782,"node":227,"role":"declaration","source":0,"src_end":518443,"src_start":517975},{"artifact":0,"gen_end":663378,"gen_start":661177,"node":228,"role":"declaration","source":0,"src_end":520164,"src_start":518445},{"artifact":0,"gen_end":663929,"gen_start":663378,"node":229,"role":"declaration","source":0,"src_end":520674,"src_start":520166},{"artifact":0,"gen_end":664233,"gen_start":663929,"node":230,"role":"declaration","source":0,"src_end":521026,"src_start":520676},{"artifact":0,"gen_end":664531,"gen_start":664233,"node":231,"role":"declaration","source":0,"src_end":521433,"src_start":521028},{"artifact":0,"gen_end":678541,"gen_start":664531,"node":232,"role":"declaration","source":0,"src_end":532181,"src_start":521435},{"artifact":0,"gen_end":679142,"gen_start":678541,"node":233,"role":"declaration","source":0,"src_end":532741,"src_start":532183},{"artifact":0,"gen_end":680178,"gen_start":679142,"node":234,"role":"declaration","source":0,"src_end":533667,"src_start":532743},{"artifact":0,"gen_end":690092,"gen_start":680178,"node":235,"role":"declaration","source":0,"src_end":541388,"src_start":533669},{"artifact":0,"gen_end":690290,"gen_start":690092,"node":236,"role":"declaration","source":0,"src_end":541620,"src_start":541390},{"artifact":0,"gen_end":691321,"gen_start":690290,"node":237,"role":"declaration","source":0,"src_end":542588,"src_start":541622},{"artifact":0,"gen_end":692143,"gen_start":691321,"node":238,"role":"declaration","source":0,"src_end":543255,"src_start":542590},{"artifact":0,"gen_end":692343,"gen_start":692143,"node":239,"role":"declaration","source":0,"src_end":543489,"src_start":543257},{"artifact":0,"gen_end":692468,"gen_start":692343,"node":240,"role":"declaration","source":0,"src_end":543705,"src_start":543491},{"artifact":0,"gen_end":693289,"gen_start":692468,"node":241,"role":"declaration","source":0,"src_end":544371,"src_start":543707},{"artifact":0,"gen_end":693489,"gen_start":693289,"node":242,"role":"declaration","source":0,"src_end":544605,"src_start":544373},{"artifact":0,"gen_end":693614,"gen_start":693489,"node":243,"role":"declaration","source":0,"src_end":544821,"src_start":544607},{"artifact":0,"gen_end":694692,"gen_start":693614,"node":244,"role":"declaration","source":0,"src_end":545687,"src_start":544823},{"artifact":0,"gen_end":694898,"gen_start":694692,"node":245,"role":"declaration","source":0,"src_end":545927,"src_start":545689},{"artifact":0,"gen_end":695029,"gen_start":694898,"node":246,"role":"declaration","source":0,"src_end":546149,"src_start":545929},{"artifact":0,"gen_end":695766,"gen_start":695029,"node":247,"role":"declaration","source":0,"src_end":546745,"src_start":546151},{"artifact":0,"gen_end":695968,"gen_start":695766,"node":248,"role":"declaration","source":0,"src_end":546981,"src_start":546747},{"artifact":0,"gen_end":696095,"gen_start":695968,"node":249,"role":"declaration","source":0,"src_end":547199,"src_start":546983},{"artifact":0,"gen_end":713793,"gen_start":696095,"node":250,"role":"declaration","source":0,"src_end":560813,"src_start":547201},{"artifact":0,"gen_end":713981,"gen_start":713793,"node":251,"role":"declaration","source":0,"src_end":561035,"src_start":560815},{"artifact":0,"gen_end":715032,"gen_start":713981,"node":252,"role":"declaration","source":0,"src_end":562011,"src_start":561037},{"artifact":0,"gen_end":717080,"gen_start":715032,"node":253,"role":"declaration","source":0,"src_end":563607,"src_start":562013},{"artifact":0,"gen_end":717592,"gen_start":717080,"node":254,"role":"declaration","source":0,"src_end":564088,"src_start":563609},{"artifact":0,"gen_end":717763,"gen_start":717592,"node":255,"role":"declaration","source":0,"src_end":564340,"src_start":564090},{"artifact":0,"gen_end":719702,"gen_start":717763,"node":256,"role":"declaration","source":0,"src_end":565874,"src_start":564342},{"artifact":0,"gen_end":720132,"gen_start":719702,"node":257,"role":"declaration","source":0,"src_end":566291,"src_start":565876},{"artifact":0,"gen_end":720461,"gen_start":720132,"node":258,"role":"declaration","source":0,"src_end":566665,"src_start":566293},{"artifact":0,"gen_end":723219,"gen_start":720461,"node":259,"role":"declaration","source":0,"src_end":568802,"src_start":566667},{"artifact":0,"gen_end":723690,"gen_start":723219,"node":260,"role":"declaration","source":0,"src_end":569256,"src_start":568804},{"artifact":0,"gen_end":723854,"gen_start":723690,"node":261,"role":"declaration","source":0,"src_end":569501,"src_start":569258},{"artifact":0,"gen_end":724083,"gen_start":723854,"node":262,"role":"declaration","source":0,"src_end":569828,"src_start":569503},{"artifact":0,"gen_end":726847,"gen_start":724083,"node":263,"role":"declaration","source":0,"src_end":571971,"src_start":569830},{"artifact":0,"gen_end":727330,"gen_start":726847,"node":264,"role":"declaration","source":0,"src_end":572437,"src_start":571973},{"artifact":0,"gen_end":727507,"gen_start":727330,"node":265,"role":"declaration","source":0,"src_end":572695,"src_start":572439},{"artifact":0,"gen_end":727748,"gen_start":727507,"node":266,"role":"declaration","source":0,"src_end":573034,"src_start":572697},{"artifact":0,"gen_end":732421,"gen_start":727748,"node":267,"role":"declaration","source":0,"src_end":576645,"src_start":573036},{"artifact":0,"gen_end":733080,"gen_start":732421,"node":268,"role":"declaration","source":0,"src_end":577248,"src_start":576647},{"artifact":0,"gen_end":733383,"gen_start":733080,"node":269,"role":"declaration","source":0,"src_end":577599,"src_start":577250},{"artifact":0,"gen_end":733736,"gen_start":733383,"node":270,"role":"declaration","source":0,"src_end":578043,"src_start":577601},{"artifact":0,"gen_end":736698,"gen_start":733736,"node":271,"role":"declaration","source":0,"src_end":580389,"src_start":578045},{"artifact":0,"gen_end":737115,"gen_start":736698,"node":272,"role":"declaration","source":0,"src_end":580795,"src_start":580391},{"artifact":0,"gen_end":737270,"gen_start":737115,"node":273,"role":"declaration","source":0,"src_end":581031,"src_start":580797},{"artifact":0,"gen_end":737584,"gen_start":737270,"node":274,"role":"declaration","source":0,"src_end":581427,"src_start":581033},{"artifact":0,"gen_end":741034,"gen_start":737584,"node":275,"role":"declaration","source":0,"src_end":584119,"src_start":581429},{"artifact":0,"gen_end":741426,"gen_start":741034,"node":276,"role":"declaration","source":0,"src_end":584506,"src_start":584121},{"artifact":0,"gen_end":741737,"gen_start":741426,"node":277,"role":"declaration","source":0,"src_end":584865,"src_start":584508},{"artifact":0,"gen_end":742067,"gen_start":741737,"node":278,"role":"declaration","source":0,"src_end":585264,"src_start":584867},{"artifact":0,"gen_end":745504,"gen_start":742067,"node":279,"role":"declaration","source":0,"src_end":587943,"src_start":585266},{"artifact":0,"gen_end":745957,"gen_start":745504,"node":280,"role":"declaration","source":0,"src_end":588385,"src_start":587945},{"artifact":0,"gen_end":746329,"gen_start":745957,"node":281,"role":"declaration","source":0,"src_end":588799,"src_start":588387},{"artifact":0,"gen_end":746675,"gen_start":746329,"node":282,"role":"declaration","source":0,"src_end":589214,"src_start":588801},{"artifact":0,"gen_end":750617,"gen_start":746675,"node":283,"role":"declaration","source":0,"src_end":592302,"src_start":589216},{"artifact":0,"gen_end":751074,"gen_start":750617,"node":284,"role":"declaration","source":0,"src_end":592748,"src_start":592304},{"artifact":0,"gen_end":751450,"gen_start":751074,"node":285,"role":"declaration","source":0,"src_end":593166,"src_start":592750},{"artifact":0,"gen_end":751805,"gen_start":751450,"node":286,"role":"declaration","source":0,"src_end":593590,"src_start":593168},{"artifact":0,"gen_end":755242,"gen_start":751805,"node":287,"role":"declaration","source":0,"src_end":596269,"src_start":593592},{"artifact":0,"gen_end":755715,"gen_start":755242,"node":288,"role":"declaration","source":0,"src_end":596725,"src_start":596271},{"artifact":0,"gen_end":756107,"gen_start":755715,"node":289,"role":"declaration","source":0,"src_end":597153,"src_start":596727},{"artifact":0,"gen_end":756430,"gen_start":756107,"node":290,"role":"declaration","source":0,"src_end":597545,"src_start":597155},{"artifact":0,"gen_end":760783,"gen_start":756430,"node":291,"role":"declaration","source":0,"src_end":600948,"src_start":597547},{"artifact":0,"gen_end":761482,"gen_start":760783,"node":292,"role":"declaration","source":0,"src_end":601582,"src_start":600950},{"artifact":0,"gen_end":762100,"gen_start":761482,"node":293,"role":"declaration","source":0,"src_end":602188,"src_start":601584},{"artifact":0,"gen_end":762509,"gen_start":762100,"node":294,"role":"declaration","source":0,"src_end":602645,"src_start":602190},{"artifact":0,"gen_end":765985,"gen_start":762509,"node":295,"role":"declaration","source":0,"src_end":605363,"src_start":602647},{"artifact":0,"gen_end":766434,"gen_start":765985,"node":296,"role":"declaration","source":0,"src_end":605801,"src_start":605365},{"artifact":0,"gen_end":766802,"gen_start":766434,"node":297,"role":"declaration","source":0,"src_end":606211,"src_start":605803},{"artifact":0,"gen_end":767147,"gen_start":766802,"node":298,"role":"declaration","source":0,"src_end":606625,"src_start":606213},{"artifact":0,"gen_end":771822,"gen_start":767147,"node":299,"role":"declaration","source":0,"src_end":610238,"src_start":606627},{"artifact":0,"gen_end":772485,"gen_start":771822,"node":300,"role":"declaration","source":0,"src_end":610845,"src_start":610240},{"artifact":0,"gen_end":772746,"gen_start":772485,"node":301,"role":"declaration","source":0,"src_end":611160,"src_start":610847},{"artifact":0,"gen_end":773105,"gen_start":772746,"node":302,"role":"declaration","source":0,"src_end":611610,"src_start":611162},{"artifact":0,"gen_end":776041,"gen_start":773105,"node":303,"role":"declaration","source":0,"src_end":613902,"src_start":611612},{"artifact":0,"gen_end":776508,"gen_start":776041,"node":304,"role":"declaration","source":0,"src_end":614352,"src_start":613904},{"artifact":0,"gen_end":776802,"gen_start":776508,"node":305,"role":"declaration","source":0,"src_end":614694,"src_start":614354},{"artifact":0,"gen_end":777119,"gen_start":776802,"node":306,"role":"declaration","source":0,"src_end":615080,"src_start":614696},{"artifact":0,"gen_end":780061,"gen_start":777119,"node":307,"role":"declaration","source":0,"src_end":617378,"src_start":615082},{"artifact":0,"gen_end":780540,"gen_start":780061,"node":308,"role":"declaration","source":0,"src_end":617840,"src_start":617380},{"artifact":0,"gen_end":780892,"gen_start":780540,"node":309,"role":"declaration","source":0,"src_end":618234,"src_start":617842},{"artifact":0,"gen_end":781221,"gen_start":780892,"node":310,"role":"declaration","source":0,"src_end":618632,"src_start":618236},{"artifact":0,"gen_end":785862,"gen_start":781221,"node":311,"role":"declaration","source":0,"src_end":622247,"src_start":618634},{"artifact":0,"gen_end":786511,"gen_start":785862,"node":312,"role":"declaration","source":0,"src_end":622840,"src_start":622249},{"artifact":0,"gen_end":786942,"gen_start":786511,"node":313,"role":"declaration","source":0,"src_end":623301,"src_start":622842},{"artifact":0,"gen_end":787280,"gen_start":786942,"node":314,"role":"declaration","source":0,"src_end":623730,"src_start":623303},{"artifact":0,"gen_end":796021,"gen_start":787280,"node":315,"role":"declaration","source":0,"src_end":630646,"src_start":623732},{"artifact":0,"gen_end":796217,"gen_start":796021,"node":316,"role":"declaration","source":0,"src_end":630876,"src_start":630648},{"artifact":0,"gen_end":797696,"gen_start":796217,"node":317,"role":"declaration","source":0,"src_end":632082,"src_start":630878},{"artifact":0,"gen_end":797940,"gen_start":797696,"node":318,"role":"declaration","source":0,"src_end":632354,"src_start":632084},{"artifact":0,"gen_end":798253,"gen_start":797940,"node":319,"role":"declaration","source":0,"src_end":632730,"src_start":632356},{"artifact":0,"gen_end":799695,"gen_start":798253,"node":320,"role":"declaration","source":0,"src_end":633854,"src_start":632732},{"artifact":0,"gen_end":799925,"gen_start":799695,"node":321,"role":"declaration","source":0,"src_end":634112,"src_start":633856},{"artifact":0,"gen_end":800075,"gen_start":799925,"node":322,"role":"declaration","source":0,"src_end":634343,"src_start":634114},{"artifact":0,"gen_end":801526,"gen_start":800075,"node":323,"role":"declaration","source":0,"src_end":635476,"src_start":634345},{"artifact":0,"gen_end":801772,"gen_start":801526,"node":324,"role":"declaration","source":0,"src_end":635750,"src_start":635478},{"artifact":0,"gen_end":801894,"gen_start":801772,"node":325,"role":"declaration","source":0,"src_end":635965,"src_start":635752},{"artifact":0,"gen_end":807447,"gen_start":801894,"node":326,"role":"declaration","source":0,"src_end":640246,"src_start":635967},{"artifact":0,"gen_end":807689,"gen_start":807447,"node":327,"role":"declaration","source":0,"src_end":640516,"src_start":640248},{"artifact":0,"gen_end":808128,"gen_start":807689,"node":328,"role":"declaration","source":0,"src_end":640982,"src_start":640518},{"artifact":0,"gen_end":814867,"gen_start":808128,"node":329,"role":"declaration","source":0,"src_end":646140,"src_start":640984},{"artifact":0,"gen_end":815148,"gen_start":814867,"node":330,"role":"declaration","source":0,"src_end":646445,"src_start":646142},{"artifact":0,"gen_end":815423,"gen_start":815148,"node":331,"role":"declaration","source":0,"src_end":646779,"src_start":646447},{"artifact":0,"gen_end":823553,"gen_start":815423,"node":332,"role":"declaration","source":0,"src_end":653341,"src_start":646781},{"artifact":0,"gen_end":823791,"gen_start":823553,"node":333,"role":"declaration","source":0,"src_end":653607,"src_start":653343},{"artifact":0,"gen_end":824191,"gen_start":823791,"node":334,"role":"declaration","source":0,"src_end":654038,"src_start":653609},{"artifact":0,"gen_end":824225,"gen_start":824191,"node":0,"role":"declaration","source":0,"src_end":654074,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":335,"role":"declaration","source":0,"src_end":654074,"src_start":0},{"artifact":1,"gen_end":4662,"gen_start":134,"node":336,"role":"declaration","source":0,"src_end":3550,"src_start":210},{"artifact":1,"gen_end":5047,"gen_start":4662,"node":337,"role":"declaration","source":0,"src_end":3782,"src_start":3552},{"artifact":1,"gen_end":5362,"gen_start":5047,"node":338,"role":"declaration","source":0,"src_end":4028,"src_start":3784},{"artifact":1,"gen_end":11423,"gen_start":5362,"node":339,"role":"declaration","source":0,"src_end":8546,"src_start":4030},{"artifact":1,"gen_end":11860,"gen_start":11423,"node":340,"role":"declaration","source":0,"src_end":8824,"src_start":8548},{"artifact":1,"gen_end":12536,"gen_start":11860,"node":341,"role":"declaration","source":0,"src_end":9359,"src_start":8826},{"artifact":1,"gen_end":23711,"gen_start":12536,"node":342,"role":"declaration","source":0,"src_end":17744,"src_start":9361},{"artifact":1,"gen_end":24243,"gen_start":23711,"node":343,"role":"declaration","source":0,"src_end":18105,"src_start":17746},{"artifact":1,"gen_end":25244,"gen_start":24243,"node":344,"role":"declaration","source":0,"src_end":18893,"src_start":18107},{"artifact":1,"gen_end":28814,"gen_start":25244,"node":345,"role":"declaration","source":0,"src_end":21516,"src_start":18895},{"artifact":1,"gen_end":29290,"gen_start":28814,"node":346,"role":"declaration","source":0,"src_end":21827,"src_start":21518},{"artifact":1,"gen_end":29894,"gen_start":29290,"node":347,"role":"declaration","source":0,"src_end":22311,"src_start":21829},{"artifact":1,"gen_end":31441,"gen_start":29894,"node":348,"role":"declaration","source":0,"src_end":23401,"src_start":22313},{"artifact":1,"gen_end":32185,"gen_start":31441,"node":349,"role":"declaration","source":0,"src_end":23910,"src_start":23403},{"artifact":1,"gen_end":32492,"gen_start":32185,"node":350,"role":"declaration","source":0,"src_end":24148,"src_start":23912},{"artifact":1,"gen_end":35867,"gen_start":32492,"node":351,"role":"declaration","source":0,"src_end":26592,"src_start":24150},{"artifact":1,"gen_end":36248,"gen_start":35867,"node":352,"role":"declaration","source":0,"src_end":26820,"src_start":26594},{"artifact":1,"gen_end":42499,"gen_start":36248,"node":353,"role":"declaration","source":0,"src_end":31444,"src_start":26822},{"artifact":1,"gen_end":42876,"gen_start":42499,"node":354,"role":"declaration","source":0,"src_end":31668,"src_start":31446},{"artifact":1,"gen_end":46094,"gen_start":42876,"node":355,"role":"declaration","source":0,"src_end":34045,"src_start":31670},{"artifact":1,"gen_end":46473,"gen_start":46094,"node":356,"role":"declaration","source":0,"src_end":34271,"src_start":34047},{"artifact":1,"gen_end":47084,"gen_start":46473,"node":357,"role":"declaration","source":0,"src_end":34728,"src_start":34273},{"artifact":1,"gen_end":54281,"gen_start":47084,"node":358,"role":"declaration","source":0,"src_end":40112,"src_start":34730},{"artifact":1,"gen_end":54664,"gen_start":54281,"node":359,"role":"declaration","source":0,"src_end":40342,"src_start":40114},{"artifact":1,"gen_end":55764,"gen_start":54664,"node":360,"role":"declaration","source":0,"src_end":41184,"src_start":40344},{"artifact":1,"gen_end":58237,"gen_start":55764,"node":361,"role":"declaration","source":0,"src_end":43042,"src_start":41186},{"artifact":1,"gen_end":58765,"gen_start":58237,"node":362,"role":"declaration","source":0,"src_end":43399,"src_start":43044},{"artifact":1,"gen_end":59085,"gen_start":58765,"node":363,"role":"declaration","source":0,"src_end":43650,"src_start":43401},{"artifact":1,"gen_end":62888,"gen_start":59085,"node":364,"role":"declaration","source":0,"src_end":46530,"src_start":43652},{"artifact":1,"gen_end":63376,"gen_start":62888,"node":365,"role":"declaration","source":0,"src_end":46853,"src_start":46532},{"artifact":1,"gen_end":63778,"gen_start":63376,"node":366,"role":"declaration","source":0,"src_end":47168,"src_start":46855},{"artifact":1,"gen_end":65567,"gen_start":63778,"node":367,"role":"declaration","source":0,"src_end":48492,"src_start":47170},{"artifact":1,"gen_end":66045,"gen_start":65567,"node":368,"role":"declaration","source":0,"src_end":48805,"src_start":48494},{"artifact":1,"gen_end":66361,"gen_start":66045,"node":369,"role":"declaration","source":0,"src_end":49052,"src_start":48807},{"artifact":1,"gen_end":69185,"gen_start":66361,"node":370,"role":"declaration","source":0,"src_end":51097,"src_start":49054},{"artifact":1,"gen_end":69622,"gen_start":69185,"node":371,"role":"declaration","source":0,"src_end":51375,"src_start":51099},{"artifact":1,"gen_end":69942,"gen_start":69622,"node":372,"role":"declaration","source":0,"src_end":51626,"src_start":51377},{"artifact":1,"gen_end":72656,"gen_start":69942,"node":373,"role":"declaration","source":0,"src_end":53608,"src_start":51628},{"artifact":1,"gen_end":73097,"gen_start":72656,"node":374,"role":"declaration","source":0,"src_end":53890,"src_start":53610},{"artifact":1,"gen_end":73420,"gen_start":73097,"node":375,"role":"declaration","source":0,"src_end":54144,"src_start":53892},{"artifact":1,"gen_end":74803,"gen_start":73420,"node":376,"role":"declaration","source":0,"src_end":55131,"src_start":54146},{"artifact":1,"gen_end":75232,"gen_start":74803,"node":377,"role":"declaration","source":0,"src_end":55401,"src_start":55133},{"artifact":1,"gen_end":75642,"gen_start":75232,"node":378,"role":"declaration","source":0,"src_end":55713,"src_start":55403},{"artifact":1,"gen_end":78829,"gen_start":75642,"node":379,"role":"declaration","source":0,"src_end":58081,"src_start":55715},{"artifact":1,"gen_end":79481,"gen_start":78829,"node":380,"role":"declaration","source":0,"src_end":58529,"src_start":58083},{"artifact":1,"gen_end":79972,"gen_start":79481,"node":381,"role":"declaration","source":0,"src_end":58912,"src_start":58531},{"artifact":1,"gen_end":84554,"gen_start":79972,"node":382,"role":"declaration","source":0,"src_end":62449,"src_start":58914},{"artifact":1,"gen_end":84927,"gen_start":84554,"node":383,"role":"declaration","source":0,"src_end":62669,"src_start":62451},{"artifact":1,"gen_end":85873,"gen_start":84927,"node":384,"role":"declaration","source":0,"src_end":63451,"src_start":62671},{"artifact":1,"gen_end":96993,"gen_start":85873,"node":385,"role":"declaration","source":0,"src_end":71974,"src_start":63453},{"artifact":1,"gen_end":97366,"gen_start":96993,"node":386,"role":"declaration","source":0,"src_end":72194,"src_start":71976},{"artifact":1,"gen_end":98305,"gen_start":97366,"node":387,"role":"declaration","source":0,"src_end":72834,"src_start":72196},{"artifact":1,"gen_end":98694,"gen_start":98305,"node":388,"role":"declaration","source":0,"src_end":73070,"src_start":72836},{"artifact":1,"gen_end":99659,"gen_start":98694,"node":389,"role":"declaration","source":0,"src_end":73736,"src_start":73072},{"artifact":1,"gen_end":100056,"gen_start":99659,"node":390,"role":"declaration","source":0,"src_end":73980,"src_start":73738},{"artifact":1,"gen_end":105663,"gen_start":100056,"node":391,"role":"declaration","source":0,"src_end":78216,"src_start":73982},{"artifact":1,"gen_end":106038,"gen_start":105663,"node":392,"role":"declaration","source":0,"src_end":78438,"src_start":78218},{"artifact":1,"gen_end":106741,"gen_start":106038,"node":393,"role":"declaration","source":0,"src_end":79009,"src_start":78440},{"artifact":1,"gen_end":108666,"gen_start":106741,"node":394,"role":"declaration","source":0,"src_end":80400,"src_start":79011},{"artifact":1,"gen_end":109115,"gen_start":108666,"node":395,"role":"declaration","source":0,"src_end":80690,"src_start":80402},{"artifact":1,"gen_end":109451,"gen_start":109115,"node":396,"role":"declaration","source":0,"src_end":80957,"src_start":80692},{"artifact":1,"gen_end":117105,"gen_start":109451,"node":397,"role":"declaration","source":0,"src_end":86862,"src_start":80959},{"artifact":1,"gen_end":117494,"gen_start":117105,"node":398,"role":"declaration","source":0,"src_end":87098,"src_start":86864},{"artifact":1,"gen_end":118581,"gen_start":117494,"node":399,"role":"declaration","source":0,"src_end":87978,"src_start":87100},{"artifact":1,"gen_end":126205,"gen_start":118581,"node":400,"role":"declaration","source":0,"src_end":93861,"src_start":87980},{"artifact":1,"gen_end":126598,"gen_start":126205,"node":401,"role":"declaration","source":0,"src_end":94101,"src_start":93863},{"artifact":1,"gen_end":127598,"gen_start":126598,"node":402,"role":"declaration","source":0,"src_end":94912,"src_start":94103},{"artifact":1,"gen_end":140962,"gen_start":127598,"node":403,"role":"declaration","source":0,"src_end":105303,"src_start":94914},{"artifact":1,"gen_end":141357,"gen_start":140962,"node":404,"role":"declaration","source":0,"src_end":105545,"src_start":105305},{"artifact":1,"gen_end":142958,"gen_start":141357,"node":405,"role":"declaration","source":0,"src_end":106810,"src_start":105547},{"artifact":1,"gen_end":151261,"gen_start":142958,"node":406,"role":"declaration","source":0,"src_end":113236,"src_start":106812},{"artifact":1,"gen_end":151656,"gen_start":151261,"node":407,"role":"declaration","source":0,"src_end":113478,"src_start":113238},{"artifact":1,"gen_end":152667,"gen_start":151656,"node":408,"role":"declaration","source":0,"src_end":114319,"src_start":113480},{"artifact":1,"gen_end":163905,"gen_start":152667,"node":409,"role":"declaration","source":0,"src_end":123112,"src_start":114321},{"artifact":1,"gen_end":164296,"gen_start":163905,"node":410,"role":"declaration","source":0,"src_end":123350,"src_start":123114},{"artifact":1,"gen_end":165596,"gen_start":164296,"node":411,"role":"declaration","source":0,"src_end":124433,"src_start":123352},{"artifact":1,"gen_end":167240,"gen_start":165596,"node":412,"role":"declaration","source":0,"src_end":125634,"src_start":124435},{"artifact":1,"gen_end":167745,"gen_start":167240,"node":413,"role":"declaration","source":0,"src_end":125974,"src_start":125636},{"artifact":1,"gen_end":169389,"gen_start":167745,"node":414,"role":"declaration","source":0,"src_end":127175,"src_start":125976},{"artifact":1,"gen_end":169904,"gen_start":169389,"node":415,"role":"declaration","source":0,"src_end":127525,"src_start":127177},{"artifact":1,"gen_end":171548,"gen_start":169904,"node":416,"role":"declaration","source":0,"src_end":128726,"src_start":127527},{"artifact":1,"gen_end":172081,"gen_start":171548,"node":417,"role":"declaration","source":0,"src_end":129094,"src_start":128728},{"artifact":1,"gen_end":173720,"gen_start":172081,"node":418,"role":"declaration","source":0,"src_end":130290,"src_start":129096},{"artifact":1,"gen_end":174217,"gen_start":173720,"node":419,"role":"declaration","source":0,"src_end":130622,"src_start":130292},{"artifact":1,"gen_end":175861,"gen_start":174217,"node":420,"role":"declaration","source":0,"src_end":131823,"src_start":130624},{"artifact":1,"gen_end":176362,"gen_start":175861,"node":421,"role":"declaration","source":0,"src_end":132159,"src_start":131825},{"artifact":1,"gen_end":178006,"gen_start":176362,"node":422,"role":"declaration","source":0,"src_end":133360,"src_start":132161},{"artifact":1,"gen_end":178512,"gen_start":178006,"node":423,"role":"declaration","source":0,"src_end":133701,"src_start":133362},{"artifact":1,"gen_end":180156,"gen_start":178512,"node":424,"role":"declaration","source":0,"src_end":134902,"src_start":133703},{"artifact":1,"gen_end":180672,"gen_start":180156,"node":425,"role":"declaration","source":0,"src_end":135253,"src_start":134904},{"artifact":1,"gen_end":182311,"gen_start":180672,"node":426,"role":"declaration","source":0,"src_end":136449,"src_start":135255},{"artifact":1,"gen_end":182806,"gen_start":182311,"node":427,"role":"declaration","source":0,"src_end":136779,"src_start":136451},{"artifact":1,"gen_end":205438,"gen_start":182806,"node":428,"role":"declaration","source":0,"src_end":154522,"src_start":136781},{"artifact":1,"gen_end":206001,"gen_start":205438,"node":429,"role":"declaration","source":0,"src_end":154914,"src_start":154524},{"artifact":1,"gen_end":207871,"gen_start":206001,"node":430,"role":"declaration","source":0,"src_end":156415,"src_start":154916},{"artifact":1,"gen_end":230503,"gen_start":207871,"node":431,"role":"declaration","source":0,"src_end":174158,"src_start":156417},{"artifact":1,"gen_end":231076,"gen_start":230503,"node":432,"role":"declaration","source":0,"src_end":174560,"src_start":174160},{"artifact":1,"gen_end":232961,"gen_start":231076,"node":433,"role":"declaration","source":0,"src_end":176076,"src_start":174562},{"artifact":1,"gen_end":255593,"gen_start":232961,"node":434,"role":"declaration","source":0,"src_end":193819,"src_start":176078},{"artifact":1,"gen_end":256184,"gen_start":255593,"node":435,"role":"declaration","source":0,"src_end":194239,"src_start":193821},{"artifact":1,"gen_end":258097,"gen_start":256184,"node":436,"role":"declaration","source":0,"src_end":195783,"src_start":194241},{"artifact":1,"gen_end":280620,"gen_start":258097,"node":437,"role":"declaration","source":0,"src_end":213417,"src_start":195785},{"artifact":1,"gen_end":281173,"gen_start":280620,"node":438,"role":"declaration","source":0,"src_end":213799,"src_start":213419},{"artifact":1,"gen_end":282962,"gen_start":281173,"node":439,"role":"declaration","source":0,"src_end":215229,"src_start":213801},{"artifact":1,"gen_end":303154,"gen_start":282962,"node":440,"role":"declaration","source":0,"src_end":231048,"src_start":215231},{"artifact":1,"gen_end":303714,"gen_start":303154,"node":441,"role":"declaration","source":0,"src_end":231437,"src_start":231050},{"artifact":1,"gen_end":305412,"gen_start":303714,"node":442,"role":"declaration","source":0,"src_end":232802,"src_start":231439},{"artifact":1,"gen_end":325604,"gen_start":305412,"node":443,"role":"declaration","source":0,"src_end":248621,"src_start":232804},{"artifact":1,"gen_end":326169,"gen_start":325604,"node":444,"role":"declaration","source":0,"src_end":249015,"src_start":248623},{"artifact":1,"gen_end":327892,"gen_start":326169,"node":445,"role":"declaration","source":0,"src_end":250405,"src_start":249017},{"artifact":1,"gen_end":348084,"gen_start":327892,"node":446,"role":"declaration","source":0,"src_end":266224,"src_start":250407},{"artifact":1,"gen_end":348659,"gen_start":348084,"node":447,"role":"declaration","source":0,"src_end":266628,"src_start":266226},{"artifact":1,"gen_end":350431,"gen_start":348659,"node":448,"role":"declaration","source":0,"src_end":268067,"src_start":266630},{"artifact":1,"gen_end":370528,"gen_start":350431,"node":449,"role":"declaration","source":0,"src_end":283791,"src_start":268069},{"artifact":1,"gen_end":371080,"gen_start":370528,"node":450,"role":"declaration","source":0,"src_end":284172,"src_start":283793},{"artifact":1,"gen_end":372695,"gen_start":371080,"node":451,"role":"declaration","source":0,"src_end":285464,"src_start":284174},{"artifact":1,"gen_end":390843,"gen_start":372695,"node":452,"role":"declaration","source":0,"src_end":299241,"src_start":285466},{"artifact":1,"gen_end":391230,"gen_start":390843,"node":453,"role":"declaration","source":0,"src_end":299475,"src_start":299243},{"artifact":1,"gen_end":392329,"gen_start":391230,"node":454,"role":"declaration","source":0,"src_end":300339,"src_start":299477},{"artifact":1,"gen_end":419711,"gen_start":392329,"node":455,"role":"declaration","source":0,"src_end":321194,"src_start":300341},{"artifact":1,"gen_end":421121,"gen_start":419711,"node":456,"role":"declaration","source":0,"src_end":322214,"src_start":321196},{"artifact":1,"gen_end":421669,"gen_start":421121,"node":457,"role":"declaration","source":0,"src_end":322648,"src_start":322216},{"artifact":1,"gen_end":422205,"gen_start":421669,"node":458,"role":"declaration","source":0,"src_end":323189,"src_start":322650},{"artifact":1,"gen_end":449593,"gen_start":422205,"node":459,"role":"declaration","source":0,"src_end":344050,"src_start":323191},{"artifact":1,"gen_end":451015,"gen_start":449593,"node":460,"role":"declaration","source":0,"src_end":345082,"src_start":344052},{"artifact":1,"gen_end":451436,"gen_start":451015,"node":461,"role":"declaration","source":0,"src_end":345407,"src_start":345084},{"artifact":1,"gen_end":451983,"gen_start":451436,"node":462,"role":"declaration","source":0,"src_end":345959,"src_start":345409},{"artifact":1,"gen_end":479370,"gen_start":451983,"node":463,"role":"declaration","source":0,"src_end":366819,"src_start":345961},{"artifact":1,"gen_end":480790,"gen_start":479370,"node":464,"role":"declaration","source":0,"src_end":367849,"src_start":366821},{"artifact":1,"gen_end":481256,"gen_start":480790,"node":465,"role":"declaration","source":0,"src_end":368213,"src_start":367851},{"artifact":1,"gen_end":481802,"gen_start":481256,"node":466,"role":"declaration","source":0,"src_end":368764,"src_start":368215},{"artifact":1,"gen_end":486841,"gen_start":481802,"node":467,"role":"declaration","source":0,"src_end":372530,"src_start":368766},{"artifact":1,"gen_end":488253,"gen_start":486841,"node":468,"role":"declaration","source":0,"src_end":373552,"src_start":372532},{"artifact":1,"gen_end":488709,"gen_start":488253,"node":469,"role":"declaration","source":0,"src_end":373906,"src_start":373554},{"artifact":1,"gen_end":489246,"gen_start":488709,"node":470,"role":"declaration","source":0,"src_end":374448,"src_start":373908},{"artifact":1,"gen_end":494291,"gen_start":489246,"node":471,"role":"declaration","source":0,"src_end":378220,"src_start":374450},{"artifact":1,"gen_end":495715,"gen_start":494291,"node":472,"role":"declaration","source":0,"src_end":379254,"src_start":378222},{"artifact":1,"gen_end":496092,"gen_start":495715,"node":473,"role":"declaration","source":0,"src_end":379541,"src_start":379256},{"artifact":1,"gen_end":496642,"gen_start":496092,"node":474,"role":"declaration","source":0,"src_end":380096,"src_start":379543},{"artifact":1,"gen_end":523330,"gen_start":496642,"node":475,"role":"declaration","source":0,"src_end":400342,"src_start":380098},{"artifact":1,"gen_end":524698,"gen_start":523330,"node":476,"role":"declaration","source":0,"src_end":401326,"src_start":400344},{"artifact":1,"gen_end":525290,"gen_start":524698,"node":477,"role":"declaration","source":0,"src_end":401796,"src_start":401328},{"artifact":1,"gen_end":525927,"gen_start":525290,"node":478,"role":"declaration","source":0,"src_end":402462,"src_start":401798},{"artifact":1,"gen_end":552620,"gen_start":525927,"node":479,"role":"declaration","source":0,"src_end":422713,"src_start":402464},{"artifact":1,"gen_end":553777,"gen_start":552620,"node":480,"role":"declaration","source":0,"src_end":423537,"src_start":422715},{"artifact":1,"gen_end":554106,"gen_start":553777,"node":481,"role":"declaration","source":0,"src_end":423799,"src_start":423539},{"artifact":1,"gen_end":554741,"gen_start":554106,"node":482,"role":"declaration","source":0,"src_end":424408,"src_start":423801},{"artifact":1,"gen_end":564291,"gen_start":554741,"node":483,"role":"declaration","source":0,"src_end":431829,"src_start":424410},{"artifact":1,"gen_end":564676,"gen_start":564291,"node":484,"role":"declaration","source":0,"src_end":432061,"src_start":431831},{"artifact":1,"gen_end":565768,"gen_start":564676,"node":485,"role":"declaration","source":0,"src_end":432985,"src_start":432063},{"artifact":1,"gen_end":566755,"gen_start":565768,"node":486,"role":"declaration","source":0,"src_end":433667,"src_start":432987},{"artifact":1,"gen_end":567142,"gen_start":566755,"node":487,"role":"declaration","source":0,"src_end":433901,"src_start":433669},{"artifact":1,"gen_end":567417,"gen_start":567142,"node":488,"role":"declaration","source":0,"src_end":434117,"src_start":433903},{"artifact":1,"gen_end":568275,"gen_start":567417,"node":489,"role":"declaration","source":0,"src_end":434692,"src_start":434119},{"artifact":1,"gen_end":568662,"gen_start":568275,"node":490,"role":"declaration","source":0,"src_end":434926,"src_start":434694},{"artifact":1,"gen_end":568937,"gen_start":568662,"node":491,"role":"declaration","source":0,"src_end":435142,"src_start":434928},{"artifact":1,"gen_end":570058,"gen_start":568937,"node":492,"role":"declaration","source":0,"src_end":435936,"src_start":435144},{"artifact":1,"gen_end":570447,"gen_start":570058,"node":493,"role":"declaration","source":0,"src_end":436172,"src_start":435938},{"artifact":1,"gen_end":570724,"gen_start":570447,"node":494,"role":"declaration","source":0,"src_end":436390,"src_start":436174},{"artifact":1,"gen_end":571712,"gen_start":570724,"node":495,"role":"declaration","source":0,"src_end":437073,"src_start":436392},{"artifact":1,"gen_end":572099,"gen_start":571712,"node":496,"role":"declaration","source":0,"src_end":437307,"src_start":437075},{"artifact":1,"gen_end":572374,"gen_start":572099,"node":497,"role":"declaration","source":0,"src_end":437523,"src_start":437309},{"artifact":1,"gen_end":575115,"gen_start":572374,"node":498,"role":"declaration","source":0,"src_end":439549,"src_start":437525},{"artifact":1,"gen_end":575535,"gen_start":575115,"node":499,"role":"declaration","source":0,"src_end":439810,"src_start":439551},{"artifact":1,"gen_end":575839,"gen_start":575535,"node":500,"role":"declaration","source":0,"src_end":440045,"src_start":439812},{"artifact":1,"gen_end":576219,"gen_start":575839,"node":501,"role":"declaration","source":0,"src_end":440336,"src_start":440047},{"artifact":1,"gen_end":581330,"gen_start":576219,"node":502,"role":"declaration","source":0,"src_end":444150,"src_start":440338},{"artifact":1,"gen_end":581761,"gen_start":581330,"node":503,"role":"declaration","source":0,"src_end":444422,"src_start":444152},{"artifact":1,"gen_end":582161,"gen_start":581761,"node":504,"role":"declaration","source":0,"src_end":444735,"src_start":444424},{"artifact":1,"gen_end":582891,"gen_start":582161,"node":505,"role":"declaration","source":0,"src_end":445365,"src_start":444737},{"artifact":1,"gen_end":588009,"gen_start":582891,"node":506,"role":"declaration","source":0,"src_end":449186,"src_start":445367},{"artifact":1,"gen_end":588453,"gen_start":588009,"node":507,"role":"declaration","source":0,"src_end":449471,"src_start":449188},{"artifact":1,"gen_end":588867,"gen_start":588453,"node":508,"role":"declaration","source":0,"src_end":449798,"src_start":449473},{"artifact":1,"gen_end":589608,"gen_start":588867,"node":509,"role":"declaration","source":0,"src_end":450439,"src_start":449800},{"artifact":1,"gen_end":590610,"gen_start":589608,"node":510,"role":"declaration","source":0,"src_end":451140,"src_start":450441},{"artifact":1,"gen_end":593051,"gen_start":590610,"node":511,"role":"declaration","source":0,"src_end":453134,"src_start":451142},{"artifact":1,"gen_end":595283,"gen_start":593051,"node":512,"role":"declaration","source":0,"src_end":455036,"src_start":453136},{"artifact":1,"gen_end":598645,"gen_start":595283,"node":513,"role":"declaration","source":0,"src_end":457573,"src_start":455038},{"artifact":1,"gen_end":599273,"gen_start":598645,"node":514,"role":"declaration","source":0,"src_end":457997,"src_start":457575},{"artifact":1,"gen_end":599579,"gen_start":599273,"node":515,"role":"declaration","source":0,"src_end":458234,"src_start":457999},{"artifact":1,"gen_end":600104,"gen_start":599579,"node":516,"role":"declaration","source":0,"src_end":458637,"src_start":458236},{"artifact":1,"gen_end":606701,"gen_start":600104,"node":517,"role":"declaration","source":0,"src_end":463681,"src_start":458639},{"artifact":1,"gen_end":607300,"gen_start":606701,"node":518,"role":"declaration","source":0,"src_end":464082,"src_start":463683},{"artifact":1,"gen_end":608455,"gen_start":607300,"node":519,"role":"declaration","source":0,"src_end":464988,"src_start":464084},{"artifact":1,"gen_end":615308,"gen_start":608455,"node":520,"role":"declaration","source":0,"src_end":470464,"src_start":464990},{"artifact":1,"gen_end":615683,"gen_start":615308,"node":521,"role":"declaration","source":0,"src_end":470686,"src_start":470466},{"artifact":1,"gen_end":617785,"gen_start":615683,"node":522,"role":"declaration","source":0,"src_end":472433,"src_start":470688},{"artifact":1,"gen_end":622495,"gen_start":617785,"node":523,"role":"declaration","source":0,"src_end":475937,"src_start":472435},{"artifact":1,"gen_end":623283,"gen_start":622495,"node":524,"role":"declaration","source":0,"src_end":476491,"src_start":475939},{"artifact":1,"gen_end":623597,"gen_start":623283,"node":525,"role":"declaration","source":0,"src_end":476736,"src_start":476493},{"artifact":1,"gen_end":624003,"gen_start":623597,"node":526,"role":"declaration","source":0,"src_end":477112,"src_start":476738},{"artifact":1,"gen_end":627555,"gen_start":624003,"node":527,"role":"declaration","source":0,"src_end":479803,"src_start":477114},{"artifact":1,"gen_end":628289,"gen_start":627555,"node":528,"role":"declaration","source":0,"src_end":480309,"src_start":479805},{"artifact":1,"gen_end":628593,"gen_start":628289,"node":529,"role":"declaration","source":0,"src_end":480544,"src_start":480311},{"artifact":1,"gen_end":629095,"gen_start":628593,"node":530,"role":"declaration","source":0,"src_end":481002,"src_start":480546},{"artifact":1,"gen_end":634882,"gen_start":629095,"node":531,"role":"declaration","source":0,"src_end":485403,"src_start":481004},{"artifact":1,"gen_end":635717,"gen_start":634882,"node":532,"role":"declaration","source":0,"src_end":485998,"src_start":485405},{"artifact":1,"gen_end":636471,"gen_start":635717,"node":533,"role":"declaration","source":0,"src_end":486590,"src_start":486000},{"artifact":1,"gen_end":637002,"gen_start":636471,"node":534,"role":"declaration","source":0,"src_end":487052,"src_start":486592},{"artifact":1,"gen_end":642793,"gen_start":637002,"node":535,"role":"declaration","source":0,"src_end":491457,"src_start":487054},{"artifact":1,"gen_end":643636,"gen_start":642793,"node":536,"role":"declaration","source":0,"src_end":492060,"src_start":491459},{"artifact":1,"gen_end":644398,"gen_start":643636,"node":537,"role":"declaration","source":0,"src_end":492660,"src_start":492062},{"artifact":1,"gen_end":644937,"gen_start":644398,"node":538,"role":"declaration","source":0,"src_end":493130,"src_start":492662},{"artifact":1,"gen_end":650731,"gen_start":644937,"node":539,"role":"declaration","source":0,"src_end":497538,"src_start":493132},{"artifact":1,"gen_end":651580,"gen_start":650731,"node":540,"role":"declaration","source":0,"src_end":498147,"src_start":497540},{"artifact":1,"gen_end":652214,"gen_start":651580,"node":541,"role":"declaration","source":0,"src_end":498643,"src_start":498149},{"artifact":1,"gen_end":652759,"gen_start":652214,"node":542,"role":"declaration","source":0,"src_end":499119,"src_start":498645},{"artifact":1,"gen_end":655106,"gen_start":652759,"node":543,"role":"declaration","source":0,"src_end":500822,"src_start":499121},{"artifact":1,"gen_end":655840,"gen_start":655106,"node":544,"role":"declaration","source":0,"src_end":501328,"src_start":500824},{"artifact":1,"gen_end":656280,"gen_start":655840,"node":545,"role":"declaration","source":0,"src_end":501666,"src_start":501330},{"artifact":1,"gen_end":656716,"gen_start":656280,"node":546,"role":"declaration","source":0,"src_end":502061,"src_start":501668},{"artifact":1,"gen_end":660211,"gen_start":656716,"node":547,"role":"declaration","source":0,"src_end":504649,"src_start":502063},{"artifact":1,"gen_end":660995,"gen_start":660211,"node":548,"role":"declaration","source":0,"src_end":505199,"src_start":504651},{"artifact":1,"gen_end":661346,"gen_start":660995,"node":549,"role":"declaration","source":0,"src_end":505473,"src_start":505201},{"artifact":1,"gen_end":661896,"gen_start":661346,"node":550,"role":"declaration","source":0,"src_end":505990,"src_start":505475},{"artifact":1,"gen_end":665397,"gen_start":661896,"node":551,"role":"declaration","source":0,"src_end":508584,"src_start":505992},{"artifact":1,"gen_end":666193,"gen_start":665397,"node":552,"role":"declaration","source":0,"src_end":509146,"src_start":508586},{"artifact":1,"gen_end":666508,"gen_start":666193,"node":553,"role":"declaration","source":0,"src_end":509394,"src_start":509148},{"artifact":1,"gen_end":667070,"gen_start":666508,"node":554,"role":"declaration","source":0,"src_end":509923,"src_start":509396},{"artifact":1,"gen_end":670830,"gen_start":667070,"node":555,"role":"declaration","source":0,"src_end":512727,"src_start":509925},{"artifact":1,"gen_end":671614,"gen_start":670830,"node":556,"role":"declaration","source":0,"src_end":513277,"src_start":512729},{"artifact":1,"gen_end":672100,"gen_start":671614,"node":557,"role":"declaration","source":0,"src_end":513649,"src_start":513279},{"artifact":1,"gen_end":672625,"gen_start":672100,"node":558,"role":"declaration","source":0,"src_end":514107,"src_start":513651},{"artifact":1,"gen_end":676391,"gen_start":672625,"node":559,"role":"declaration","source":0,"src_end":516917,"src_start":514109},{"artifact":1,"gen_end":677187,"gen_start":676391,"node":560,"role":"declaration","source":0,"src_end":517479,"src_start":516919},{"artifact":1,"gen_end":677819,"gen_start":677187,"node":561,"role":"declaration","source":0,"src_end":517973,"src_start":517481},{"artifact":1,"gen_end":678356,"gen_start":677819,"node":562,"role":"declaration","source":0,"src_end":518443,"src_start":517975},{"artifact":1,"gen_end":680721,"gen_start":678356,"node":563,"role":"declaration","source":0,"src_end":520164,"src_start":518445},{"artifact":1,"gen_end":681459,"gen_start":680721,"node":564,"role":"declaration","source":0,"src_end":520674,"src_start":520166},{"artifact":1,"gen_end":681913,"gen_start":681459,"node":565,"role":"declaration","source":0,"src_end":521026,"src_start":520676},{"artifact":1,"gen_end":682361,"gen_start":681913,"node":566,"role":"declaration","source":0,"src_end":521433,"src_start":521028},{"artifact":1,"gen_end":696635,"gen_start":682361,"node":567,"role":"declaration","source":0,"src_end":532181,"src_start":521435},{"artifact":1,"gen_end":697423,"gen_start":696635,"node":568,"role":"declaration","source":0,"src_end":532741,"src_start":532183},{"artifact":1,"gen_end":698609,"gen_start":697423,"node":569,"role":"declaration","source":0,"src_end":533667,"src_start":532743},{"artifact":1,"gen_end":708673,"gen_start":698609,"node":570,"role":"declaration","source":0,"src_end":541388,"src_start":533669},{"artifact":1,"gen_end":709058,"gen_start":708673,"node":571,"role":"declaration","source":0,"src_end":541620,"src_start":541390},{"artifact":1,"gen_end":710239,"gen_start":709058,"node":572,"role":"declaration","source":0,"src_end":542588,"src_start":541622},{"artifact":1,"gen_end":711211,"gen_start":710239,"node":573,"role":"declaration","source":0,"src_end":543255,"src_start":542590},{"artifact":1,"gen_end":711598,"gen_start":711211,"node":574,"role":"declaration","source":0,"src_end":543489,"src_start":543257},{"artifact":1,"gen_end":711873,"gen_start":711598,"node":575,"role":"declaration","source":0,"src_end":543705,"src_start":543491},{"artifact":1,"gen_end":712844,"gen_start":711873,"node":576,"role":"declaration","source":0,"src_end":544371,"src_start":543707},{"artifact":1,"gen_end":713231,"gen_start":712844,"node":577,"role":"declaration","source":0,"src_end":544605,"src_start":544373},{"artifact":1,"gen_end":713506,"gen_start":713231,"node":578,"role":"declaration","source":0,"src_end":544821,"src_start":544607},{"artifact":1,"gen_end":714734,"gen_start":713506,"node":579,"role":"declaration","source":0,"src_end":545687,"src_start":544823},{"artifact":1,"gen_end":715127,"gen_start":714734,"node":580,"role":"declaration","source":0,"src_end":545927,"src_start":545689},{"artifact":1,"gen_end":715408,"gen_start":715127,"node":581,"role":"declaration","source":0,"src_end":546149,"src_start":545929},{"artifact":1,"gen_end":716295,"gen_start":715408,"node":582,"role":"declaration","source":0,"src_end":546745,"src_start":546151},{"artifact":1,"gen_end":716684,"gen_start":716295,"node":583,"role":"declaration","source":0,"src_end":546981,"src_start":546747},{"artifact":1,"gen_end":716961,"gen_start":716684,"node":584,"role":"declaration","source":0,"src_end":547199,"src_start":546983},{"artifact":1,"gen_end":734935,"gen_start":716961,"node":585,"role":"declaration","source":0,"src_end":560813,"src_start":547201},{"artifact":1,"gen_end":735310,"gen_start":734935,"node":586,"role":"declaration","source":0,"src_end":561035,"src_start":560815},{"artifact":1,"gen_end":736511,"gen_start":735310,"node":587,"role":"declaration","source":0,"src_end":562011,"src_start":561037},{"artifact":1,"gen_end":738745,"gen_start":736511,"node":588,"role":"declaration","source":0,"src_end":563607,"src_start":562013},{"artifact":1,"gen_end":739444,"gen_start":738745,"node":589,"role":"declaration","source":0,"src_end":564088,"src_start":563609},{"artifact":1,"gen_end":739765,"gen_start":739444,"node":590,"role":"declaration","source":0,"src_end":564340,"src_start":564090},{"artifact":1,"gen_end":741856,"gen_start":739765,"node":591,"role":"declaration","source":0,"src_end":565874,"src_start":564342},{"artifact":1,"gen_end":742473,"gen_start":741856,"node":592,"role":"declaration","source":0,"src_end":566291,"src_start":565876},{"artifact":1,"gen_end":742952,"gen_start":742473,"node":593,"role":"declaration","source":0,"src_end":566665,"src_start":566293},{"artifact":1,"gen_end":745886,"gen_start":742952,"node":594,"role":"declaration","source":0,"src_end":568802,"src_start":566667},{"artifact":1,"gen_end":746544,"gen_start":745886,"node":595,"role":"declaration","source":0,"src_end":569256,"src_start":568804},{"artifact":1,"gen_end":746858,"gen_start":746544,"node":596,"role":"declaration","source":0,"src_end":569501,"src_start":569258},{"artifact":1,"gen_end":747237,"gen_start":746858,"node":597,"role":"declaration","source":0,"src_end":569828,"src_start":569503},{"artifact":1,"gen_end":750177,"gen_start":747237,"node":598,"role":"declaration","source":0,"src_end":571971,"src_start":569830},{"artifact":1,"gen_end":750847,"gen_start":750177,"node":599,"role":"declaration","source":0,"src_end":572437,"src_start":571973},{"artifact":1,"gen_end":751174,"gen_start":750847,"node":600,"role":"declaration","source":0,"src_end":572695,"src_start":572439},{"artifact":1,"gen_end":751565,"gen_start":751174,"node":601,"role":"declaration","source":0,"src_end":573034,"src_start":572697},{"artifact":1,"gen_end":756428,"gen_start":751565,"node":602,"role":"declaration","source":0,"src_end":576645,"src_start":573036},{"artifact":1,"gen_end":757274,"gen_start":756428,"node":603,"role":"declaration","source":0,"src_end":577248,"src_start":576647},{"artifact":1,"gen_end":757727,"gen_start":757274,"node":604,"role":"declaration","source":0,"src_end":577599,"src_start":577250},{"artifact":1,"gen_end":758229,"gen_start":757727,"node":605,"role":"declaration","source":0,"src_end":578043,"src_start":577601},{"artifact":1,"gen_end":761357,"gen_start":758229,"node":606,"role":"declaration","source":0,"src_end":580389,"src_start":578045},{"artifact":1,"gen_end":761961,"gen_start":761357,"node":607,"role":"declaration","source":0,"src_end":580795,"src_start":580391},{"artifact":1,"gen_end":762266,"gen_start":761961,"node":608,"role":"declaration","source":0,"src_end":581031,"src_start":580797},{"artifact":1,"gen_end":762730,"gen_start":762266,"node":609,"role":"declaration","source":0,"src_end":581427,"src_start":581033},{"artifact":1,"gen_end":766356,"gen_start":762730,"node":610,"role":"declaration","source":0,"src_end":584119,"src_start":581429},{"artifact":1,"gen_end":766935,"gen_start":766356,"node":611,"role":"declaration","source":0,"src_end":584506,"src_start":584121},{"artifact":1,"gen_end":767396,"gen_start":766935,"node":612,"role":"declaration","source":0,"src_end":584865,"src_start":584508},{"artifact":1,"gen_end":767875,"gen_start":767396,"node":613,"role":"declaration","source":0,"src_end":585264,"src_start":584867},{"artifact":1,"gen_end":771488,"gen_start":767875,"node":614,"role":"declaration","source":0,"src_end":587943,"src_start":585266},{"artifact":1,"gen_end":772128,"gen_start":771488,"node":615,"role":"declaration","source":0,"src_end":588385,"src_start":587945},{"artifact":1,"gen_end":772650,"gen_start":772128,"node":616,"role":"declaration","source":0,"src_end":588799,"src_start":588387},{"artifact":1,"gen_end":773145,"gen_start":772650,"node":617,"role":"declaration","source":0,"src_end":589214,"src_start":588801},{"artifact":1,"gen_end":777263,"gen_start":773145,"node":618,"role":"declaration","source":0,"src_end":592302,"src_start":589216},{"artifact":1,"gen_end":777907,"gen_start":777263,"node":619,"role":"declaration","source":0,"src_end":592748,"src_start":592304},{"artifact":1,"gen_end":778433,"gen_start":777907,"node":620,"role":"declaration","source":0,"src_end":593166,"src_start":592750},{"artifact":1,"gen_end":778937,"gen_start":778433,"node":621,"role":"declaration","source":0,"src_end":593590,"src_start":593168},{"artifact":1,"gen_end":782550,"gen_start":778937,"node":622,"role":"declaration","source":0,"src_end":596269,"src_start":593592},{"artifact":1,"gen_end":783210,"gen_start":782550,"node":623,"role":"declaration","source":0,"src_end":596725,"src_start":596271},{"artifact":1,"gen_end":783752,"gen_start":783210,"node":624,"role":"declaration","source":0,"src_end":597153,"src_start":596727},{"artifact":1,"gen_end":784224,"gen_start":783752,"node":625,"role":"declaration","source":0,"src_end":597545,"src_start":597155},{"artifact":1,"gen_end":788753,"gen_start":784224,"node":626,"role":"declaration","source":0,"src_end":600948,"src_start":597547},{"artifact":1,"gen_end":789639,"gen_start":788753,"node":627,"role":"declaration","source":0,"src_end":601582,"src_start":600950},{"artifact":1,"gen_end":790407,"gen_start":789639,"node":628,"role":"declaration","source":0,"src_end":602188,"src_start":601584},{"artifact":1,"gen_end":790965,"gen_start":790407,"node":629,"role":"declaration","source":0,"src_end":602645,"src_start":602190},{"artifact":1,"gen_end":794617,"gen_start":790965,"node":630,"role":"declaration","source":0,"src_end":605363,"src_start":602647},{"artifact":1,"gen_end":795259,"gen_start":794617,"node":631,"role":"declaration","source":0,"src_end":605801,"src_start":605365},{"artifact":1,"gen_end":795783,"gen_start":795259,"node":632,"role":"declaration","source":0,"src_end":606211,"src_start":605803},{"artifact":1,"gen_end":796283,"gen_start":795783,"node":633,"role":"declaration","source":0,"src_end":606625,"src_start":606213},{"artifact":1,"gen_end":801148,"gen_start":796283,"node":634,"role":"declaration","source":0,"src_end":610238,"src_start":606627},{"artifact":1,"gen_end":801998,"gen_start":801148,"node":635,"role":"declaration","source":0,"src_end":610845,"src_start":610240},{"artifact":1,"gen_end":802409,"gen_start":801998,"node":636,"role":"declaration","source":0,"src_end":611160,"src_start":610847},{"artifact":1,"gen_end":802917,"gen_start":802409,"node":637,"role":"declaration","source":0,"src_end":611610,"src_start":611162},{"artifact":1,"gen_end":806029,"gen_start":802917,"node":638,"role":"declaration","source":0,"src_end":613902,"src_start":611612},{"artifact":1,"gen_end":806683,"gen_start":806029,"node":639,"role":"declaration","source":0,"src_end":614352,"src_start":613904},{"artifact":1,"gen_end":807127,"gen_start":806683,"node":640,"role":"declaration","source":0,"src_end":614694,"src_start":614354},{"artifact":1,"gen_end":807593,"gen_start":807127,"node":641,"role":"declaration","source":0,"src_end":615080,"src_start":614696},{"artifact":1,"gen_end":810711,"gen_start":807593,"node":642,"role":"declaration","source":0,"src_end":617378,"src_start":615082},{"artifact":1,"gen_end":811377,"gen_start":810711,"node":643,"role":"declaration","source":0,"src_end":617840,"src_start":617380},{"artifact":1,"gen_end":811879,"gen_start":811377,"node":644,"role":"declaration","source":0,"src_end":618234,"src_start":617842},{"artifact":1,"gen_end":812357,"gen_start":811879,"node":645,"role":"declaration","source":0,"src_end":618632,"src_start":618236},{"artifact":1,"gen_end":817188,"gen_start":812357,"node":646,"role":"declaration","source":0,"src_end":622247,"src_start":618634},{"artifact":1,"gen_end":818024,"gen_start":817188,"node":647,"role":"declaration","source":0,"src_end":622840,"src_start":622249},{"artifact":1,"gen_end":818605,"gen_start":818024,"node":648,"role":"declaration","source":0,"src_end":623301,"src_start":622842},{"artifact":1,"gen_end":819092,"gen_start":818605,"node":649,"role":"declaration","source":0,"src_end":623730,"src_start":623303},{"artifact":1,"gen_end":827983,"gen_start":819092,"node":650,"role":"declaration","source":0,"src_end":630646,"src_start":623732},{"artifact":1,"gen_end":828366,"gen_start":827983,"node":651,"role":"declaration","source":0,"src_end":630876,"src_start":630648},{"artifact":1,"gen_end":830219,"gen_start":828366,"node":652,"role":"declaration","source":0,"src_end":632082,"src_start":630878},{"artifact":1,"gen_end":830650,"gen_start":830219,"node":653,"role":"declaration","source":0,"src_end":632354,"src_start":632084},{"artifact":1,"gen_end":831225,"gen_start":830650,"node":654,"role":"declaration","source":0,"src_end":632730,"src_start":632356},{"artifact":1,"gen_end":832829,"gen_start":831225,"node":655,"role":"declaration","source":0,"src_end":633854,"src_start":632732},{"artifact":1,"gen_end":833246,"gen_start":832829,"node":656,"role":"declaration","source":0,"src_end":634112,"src_start":633856},{"artifact":1,"gen_end":833546,"gen_start":833246,"node":657,"role":"declaration","source":0,"src_end":634343,"src_start":634114},{"artifact":1,"gen_end":835159,"gen_start":833546,"node":658,"role":"declaration","source":0,"src_end":635476,"src_start":634345},{"artifact":1,"gen_end":835592,"gen_start":835159,"node":659,"role":"declaration","source":0,"src_end":635750,"src_start":635478},{"artifact":1,"gen_end":835864,"gen_start":835592,"node":660,"role":"declaration","source":0,"src_end":635965,"src_start":635752},{"artifact":1,"gen_end":841611,"gen_start":835864,"node":661,"role":"declaration","source":0,"src_end":640246,"src_start":635967},{"artifact":1,"gen_end":842040,"gen_start":841611,"node":662,"role":"declaration","source":0,"src_end":640516,"src_start":640248},{"artifact":1,"gen_end":842629,"gen_start":842040,"node":663,"role":"declaration","source":0,"src_end":640982,"src_start":640518},{"artifact":1,"gen_end":849600,"gen_start":842629,"node":664,"role":"declaration","source":0,"src_end":646140,"src_start":640984},{"artifact":1,"gen_end":850068,"gen_start":849600,"node":665,"role":"declaration","source":0,"src_end":646445,"src_start":646142},{"artifact":1,"gen_end":850493,"gen_start":850068,"node":666,"role":"declaration","source":0,"src_end":646779,"src_start":646447},{"artifact":1,"gen_end":858781,"gen_start":850493,"node":667,"role":"declaration","source":0,"src_end":653341,"src_start":646781},{"artifact":1,"gen_end":859206,"gen_start":858781,"node":668,"role":"declaration","source":0,"src_end":653607,"src_start":653343},{"artifact":1,"gen_end":859756,"gen_start":859206,"node":669,"role":"declaration","source":0,"src_end":654038,"src_start":653609},{"artifact":1,"gen_end":859771,"gen_start":859756,"node":335,"role":"declaration","source":0,"src_end":654074,"src_start":0}],"module":"TargetFixtures","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"},{"id":80,"kind":"semantic-declaration"},{"id":81,"kind":"semantic-declaration"},{"id":82,"kind":"semantic-declaration"},{"id":83,"kind":"semantic-declaration"},{"id":84,"kind":"semantic-declaration"},{"id":85,"kind":"semantic-declaration"},{"id":86,"kind":"semantic-declaration"},{"id":87,"kind":"semantic-declaration"},{"id":88,"kind":"semantic-declaration"},{"id":89,"kind":"semantic-declaration"},{"id":90,"kind":"semantic-declaration"},{"id":91,"kind":"semantic-declaration"},{"id":92,"kind":"semantic-declaration"},{"id":93,"kind":"semantic-declaration"},{"id":94,"kind":"semantic-declaration"},{"id":95,"kind":"semantic-declaration"},{"id":96,"kind":"semantic-declaration"},{"id":97,"kind":"semantic-declaration"},{"id":98,"kind":"semantic-declaration"},{"id":99,"kind":"semantic-declaration"},{"id":100,"kind":"semantic-declaration"},{"id":101,"kind":"semantic-declaration"},{"id":102,"kind":"semantic-declaration"},{"id":103,"kind":"semantic-declaration"},{"id":104,"kind":"semantic-declaration"},{"id":105,"kind":"semantic-declaration"},{"id":106,"kind":"semantic-declaration"},{"id":107,"kind":"semantic-declaration"},{"id":108,"kind":"semantic-declaration"},{"id":109,"kind":"semantic-declaration"},{"id":110,"kind":"semantic-declaration"},{"id":111,"kind":"semantic-declaration"},{"id":112,"kind":"semantic-declaration"},{"id":113,"kind":"semantic-declaration"},{"id":114,"kind":"semantic-declaration"},{"id":115,"kind":"semantic-declaration"},{"id":116,"kind":"semantic-declaration"},{"id":117,"kind":"semantic-declaration"},{"id":118,"kind":"semantic-declaration"},{"id":119,"kind":"semantic-declaration"},{"id":120,"kind":"semantic-declaration"},{"id":121,"kind":"semantic-declaration"},{"id":122,"kind":"semantic-declaration"},{"id":123,"kind":"semantic-declaration"},{"id":124,"kind":"semantic-declaration"},{"id":125,"kind":"semantic-declaration"},{"id":126,"kind":"semantic-declaration"},{"id":127,"kind":"semantic-declaration"},{"id":128,"kind":"semantic-declaration"},{"id":129,"kind":"semantic-declaration"},{"id":130,"kind":"semantic-declaration"},{"id":131,"kind":"semantic-declaration"},{"id":132,"kind":"semantic-declaration"},{"id":133,"kind":"semantic-declaration"},{"id":134,"kind":"semantic-declaration"},{"id":135,"kind":"semantic-declaration"},{"id":136,"kind":"semantic-declaration"},{"id":137,"kind":"semantic-declaration"},{"id":138,"kind":"semantic-declaration"},{"id":139,"kind":"semantic-declaration"},{"id":140,"kind":"semantic-declaration"},{"id":141,"kind":"semantic-declaration"},{"id":142,"kind":"semantic-declaration"},{"id":143,"kind":"semantic-declaration"},{"id":144,"kind":"semantic-declaration"},{"id":145,"kind":"semantic-declaration"},{"id":146,"kind":"semantic-declaration"},{"id":147,"kind":"semantic-declaration"},{"id":148,"kind":"semantic-declaration"},{"id":149,"kind":"semantic-declaration"},{"id":150,"kind":"semantic-declaration"},{"id":151,"kind":"semantic-declaration"},{"id":152,"kind":"semantic-declaration"},{"id":153,"kind":"semantic-declaration"},{"id":154,"kind":"semantic-declaration"},{"id":155,"kind":"semantic-declaration"},{"id":156,"kind":"semantic-declaration"},{"id":157,"kind":"semantic-declaration"},{"id":158,"kind":"semantic-declaration"},{"id":159,"kind":"semantic-declaration"},{"id":160,"kind":"semantic-declaration"},{"id":161,"kind":"semantic-declaration"},{"id":162,"kind":"semantic-declaration"},{"id":163,"kind":"semantic-declaration"},{"id":164,"kind":"semantic-declaration"},{"id":165,"kind":"semantic-declaration"},{"id":166,"kind":"semantic-declaration"},{"id":167,"kind":"semantic-declaration"},{"id":168,"kind":"semantic-declaration"},{"id":169,"kind":"semantic-declaration"},{"id":170,"kind":"semantic-declaration"},{"id":171,"kind":"semantic-declaration"},{"id":172,"kind":"semantic-declaration"},{"id":173,"kind":"semantic-declaration"},{"id":174,"kind":"semantic-declaration"},{"id":175,"kind":"semantic-declaration"},{"id":176,"kind":"semantic-declaration"},{"id":177,"kind":"semantic-declaration"},{"id":178,"kind":"semantic-declaration"},{"id":179,"kind":"semantic-declaration"},{"id":180,"kind":"semantic-declaration"},{"id":181,"kind":"semantic-declaration"},{"id":182,"kind":"semantic-declaration"},{"id":183,"kind":"semantic-declaration"},{"id":184,"kind":"semantic-declaration"},{"id":185,"kind":"semantic-declaration"},{"id":186,"kind":"semantic-declaration"},{"id":187,"kind":"semantic-declaration"},{"id":188,"kind":"semantic-declaration"},{"id":189,"kind":"semantic-declaration"},{"id":190,"kind":"semantic-declaration"},{"id":191,"kind":"semantic-declaration"},{"id":192,"kind":"semantic-declaration"},{"id":193,"kind":"semantic-declaration"},{"id":194,"kind":"semantic-declaration"},{"id":195,"kind":"semantic-declaration"},{"id":196,"kind":"semantic-declaration"},{"id":197,"kind":"semantic-declaration"},{"id":198,"kind":"semantic-declaration"},{"id":199,"kind":"semantic-declaration"},{"id":200,"kind":"semantic-declaration"},{"id":201,"kind":"semantic-declaration"},{"id":202,"kind":"semantic-declaration"},{"id":203,"kind":"semantic-declaration"},{"id":204,"kind":"semantic-declaration"},{"id":205,"kind":"semantic-declaration"},{"id":206,"kind":"semantic-declaration"},{"id":207,"kind":"semantic-declaration"},{"id":208,"kind":"semantic-declaration"},{"id":209,"kind":"semantic-declaration"},{"id":210,"kind":"semantic-declaration"},{"id":211,"kind":"semantic-declaration"},{"id":212,"kind":"semantic-declaration"},{"id":213,"kind":"semantic-declaration"},{"id":214,"kind":"semantic-declaration"},{"id":215,"kind":"semantic-declaration"},{"id":216,"kind":"semantic-declaration"},{"id":217,"kind":"semantic-declaration"},{"id":218,"kind":"semantic-declaration"},{"id":219,"kind":"semantic-declaration"},{"id":220,"kind":"semantic-declaration"},{"id":221,"kind":"semantic-declaration"},{"id":222,"kind":"semantic-declaration"},{"id":223,"kind":"semantic-declaration"},{"id":224,"kind":"semantic-declaration"},{"id":225,"kind":"semantic-declaration"},{"id":226,"kind":"semantic-declaration"},{"id":227,"kind":"semantic-declaration"},{"id":228,"kind":"semantic-declaration"},{"id":229,"kind":"semantic-declaration"},{"id":230,"kind":"semantic-declaration"},{"id":231,"kind":"semantic-declaration"},{"id":232,"kind":"semantic-declaration"},{"id":233,"kind":"semantic-declaration"},{"id":234,"kind":"semantic-declaration"},{"id":235,"kind":"semantic-declaration"},{"id":236,"kind":"semantic-declaration"},{"id":237,"kind":"semantic-declaration"},{"id":238,"kind":"semantic-declaration"},{"id":239,"kind":"semantic-declaration"},{"id":240,"kind":"semantic-declaration"},{"id":241,"kind":"semantic-declaration"},{"id":242,"kind":"semantic-declaration"},{"id":243,"kind":"semantic-declaration"},{"id":244,"kind":"semantic-declaration"},{"id":245,"kind":"semantic-declaration"},{"id":246,"kind":"semantic-declaration"},{"id":247,"kind":"semantic-declaration"},{"id":248,"kind":"semantic-declaration"},{"id":249,"kind":"semantic-declaration"},{"id":250,"kind":"semantic-declaration"},{"id":251,"kind":"semantic-declaration"},{"id":252,"kind":"semantic-declaration"},{"id":253,"kind":"semantic-declaration"},{"id":254,"kind":"semantic-declaration"},{"id":255,"kind":"semantic-declaration"},{"id":256,"kind":"semantic-declaration"},{"id":257,"kind":"semantic-declaration"},{"id":258,"kind":"semantic-declaration"},{"id":259,"kind":"semantic-declaration"},{"id":260,"kind":"semantic-declaration"},{"id":261,"kind":"semantic-declaration"},{"id":262,"kind":"semantic-declaration"},{"id":263,"kind":"semantic-declaration"},{"id":264,"kind":"semantic-declaration"},{"id":265,"kind":"semantic-declaration"},{"id":266,"kind":"semantic-declaration"},{"id":267,"kind":"semantic-declaration"},{"id":268,"kind":"semantic-declaration"},{"id":269,"kind":"semantic-declaration"},{"id":270,"kind":"semantic-declaration"},{"id":271,"kind":"semantic-declaration"},{"id":272,"kind":"semantic-declaration"},{"id":273,"kind":"semantic-declaration"},{"id":274,"kind":"semantic-declaration"},{"id":275,"kind":"semantic-declaration"},{"id":276,"kind":"semantic-declaration"},{"id":277,"kind":"semantic-declaration"},{"id":278,"kind":"semantic-declaration"},{"id":279,"kind":"semantic-declaration"},{"id":280,"kind":"semantic-declaration"},{"id":281,"kind":"semantic-declaration"},{"id":282,"kind":"semantic-declaration"},{"id":283,"kind":"semantic-declaration"},{"id":284,"kind":"semantic-declaration"},{"id":285,"kind":"semantic-declaration"},{"id":286,"kind":"semantic-declaration"},{"id":287,"kind":"semantic-declaration"},{"id":288,"kind":"semantic-declaration"},{"id":289,"kind":"semantic-declaration"},{"id":290,"kind":"semantic-declaration"},{"id":291,"kind":"semantic-declaration"},{"id":292,"kind":"semantic-declaration"},{"id":293,"kind":"semantic-declaration"},{"id":294,"kind":"semantic-declaration"},{"id":295,"kind":"semantic-declaration"},{"id":296,"kind":"semantic-declaration"},{"id":297,"kind":"semantic-declaration"},{"id":298,"kind":"semantic-declaration"},{"id":299,"kind":"semantic-declaration"},{"id":300,"kind":"semantic-declaration"},{"id":301,"kind":"semantic-declaration"},{"id":302,"kind":"semantic-declaration"},{"id":303,"kind":"semantic-declaration"},{"id":304,"kind":"semantic-declaration"},{"id":305,"kind":"semantic-declaration"},{"id":306,"kind":"semantic-declaration"},{"id":307,"kind":"semantic-declaration"},{"id":308,"kind":"semantic-declaration"},{"id":309,"kind":"semantic-declaration"},{"id":310,"kind":"semantic-declaration"},{"id":311,"kind":"semantic-declaration"},{"id":312,"kind":"semantic-declaration"},{"id":313,"kind":"semantic-declaration"},{"id":314,"kind":"semantic-declaration"},{"id":315,"kind":"semantic-declaration"},{"id":316,"kind":"semantic-declaration"},{"id":317,"kind":"semantic-declaration"},{"id":318,"kind":"semantic-declaration"},{"id":319,"kind":"semantic-declaration"},{"id":320,"kind":"semantic-declaration"},{"id":321,"kind":"semantic-declaration"},{"id":322,"kind":"semantic-declaration"},{"id":323,"kind":"semantic-declaration"},{"id":324,"kind":"semantic-declaration"},{"id":325,"kind":"semantic-declaration"},{"id":326,"kind":"semantic-declaration"},{"id":327,"kind":"semantic-declaration"},{"id":328,"kind":"semantic-declaration"},{"id":329,"kind":"semantic-declaration"},{"id":330,"kind":"semantic-declaration"},{"id":331,"kind":"semantic-declaration"},{"id":332,"kind":"semantic-declaration"},{"id":333,"kind":"semantic-declaration"},{"id":334,"kind":"semantic-declaration"},{"id":335,"kind":"semantic-latex-module"},{"id":336,"kind":"semantic-declaration"},{"id":337,"kind":"semantic-declaration"},{"id":338,"kind":"semantic-declaration"},{"id":339,"kind":"semantic-declaration"},{"id":340,"kind":"semantic-declaration"},{"id":341,"kind":"semantic-declaration"},{"id":342,"kind":"semantic-declaration"},{"id":343,"kind":"semantic-declaration"},{"id":344,"kind":"semantic-declaration"},{"id":345,"kind":"semantic-declaration"},{"id":346,"kind":"semantic-declaration"},{"id":347,"kind":"semantic-declaration"},{"id":348,"kind":"semantic-declaration"},{"id":349,"kind":"semantic-declaration"},{"id":350,"kind":"semantic-declaration"},{"id":351,"kind":"semantic-declaration"},{"id":352,"kind":"semantic-declaration"},{"id":353,"kind":"semantic-declaration"},{"id":354,"kind":"semantic-declaration"},{"id":355,"kind":"semantic-declaration"},{"id":356,"kind":"semantic-declaration"},{"id":357,"kind":"semantic-declaration"},{"id":358,"kind":"semantic-declaration"},{"id":359,"kind":"semantic-declaration"},{"id":360,"kind":"semantic-declaration"},{"id":361,"kind":"semantic-declaration"},{"id":362,"kind":"semantic-declaration"},{"id":363,"kind":"semantic-declaration"},{"id":364,"kind":"semantic-declaration"},{"id":365,"kind":"semantic-declaration"},{"id":366,"kind":"semantic-declaration"},{"id":367,"kind":"semantic-declaration"},{"id":368,"kind":"semantic-declaration"},{"id":369,"kind":"semantic-declaration"},{"id":370,"kind":"semantic-declaration"},{"id":371,"kind":"semantic-declaration"},{"id":372,"kind":"semantic-declaration"},{"id":373,"kind":"semantic-declaration"},{"id":374,"kind":"semantic-declaration"},{"id":375,"kind":"semantic-declaration"},{"id":376,"kind":"semantic-declaration"},{"id":377,"kind":"semantic-declaration"},{"id":378,"kind":"semantic-declaration"},{"id":379,"kind":"semantic-declaration"},{"id":380,"kind":"semantic-declaration"},{"id":381,"kind":"semantic-declaration"},{"id":382,"kind":"semantic-declaration"},{"id":383,"kind":"semantic-declaration"},{"id":384,"kind":"semantic-declaration"},{"id":385,"kind":"semantic-declaration"},{"id":386,"kind":"semantic-declaration"},{"id":387,"kind":"semantic-declaration"},{"id":388,"kind":"semantic-declaration"},{"id":389,"kind":"semantic-declaration"},{"id":390,"kind":"semantic-declaration"},{"id":391,"kind":"semantic-declaration"},{"id":392,"kind":"semantic-declaration"},{"id":393,"kind":"semantic-declaration"},{"id":394,"kind":"semantic-declaration"},{"id":395,"kind":"semantic-declaration"},{"id":396,"kind":"semantic-declaration"},{"id":397,"kind":"semantic-declaration"},{"id":398,"kind":"semantic-declaration"},{"id":399,"kind":"semantic-declaration"},{"id":400,"kind":"semantic-declaration"},{"id":401,"kind":"semantic-declaration"},{"id":402,"kind":"semantic-declaration"},{"id":403,"kind":"semantic-declaration"},{"id":404,"kind":"semantic-declaration"},{"id":405,"kind":"semantic-declaration"},{"id":406,"kind":"semantic-declaration"},{"id":407,"kind":"semantic-declaration"},{"id":408,"kind":"semantic-declaration"},{"id":409,"kind":"semantic-declaration"},{"id":410,"kind":"semantic-declaration"},{"id":411,"kind":"semantic-declaration"},{"id":412,"kind":"semantic-declaration"},{"id":413,"kind":"semantic-declaration"},{"id":414,"kind":"semantic-declaration"},{"id":415,"kind":"semantic-declaration"},{"id":416,"kind":"semantic-declaration"},{"id":417,"kind":"semantic-declaration"},{"id":418,"kind":"semantic-declaration"},{"id":419,"kind":"semantic-declaration"},{"id":420,"kind":"semantic-declaration"},{"id":421,"kind":"semantic-declaration"},{"id":422,"kind":"semantic-declaration"},{"id":423,"kind":"semantic-declaration"},{"id":424,"kind":"semantic-declaration"},{"id":425,"kind":"semantic-declaration"},{"id":426,"kind":"semantic-declaration"},{"id":427,"kind":"semantic-declaration"},{"id":428,"kind":"semantic-declaration"},{"id":429,"kind":"semantic-declaration"},{"id":430,"kind":"semantic-declaration"},{"id":431,"kind":"semantic-declaration"},{"id":432,"kind":"semantic-declaration"},{"id":433,"kind":"semantic-declaration"},{"id":434,"kind":"semantic-declaration"},{"id":435,"kind":"semantic-declaration"},{"id":436,"kind":"semantic-declaration"},{"id":437,"kind":"semantic-declaration"},{"id":438,"kind":"semantic-declaration"},{"id":439,"kind":"semantic-declaration"},{"id":440,"kind":"semantic-declaration"},{"id":441,"kind":"semantic-declaration"},{"id":442,"kind":"semantic-declaration"},{"id":443,"kind":"semantic-declaration"},{"id":444,"kind":"semantic-declaration"},{"id":445,"kind":"semantic-declaration"},{"id":446,"kind":"semantic-declaration"},{"id":447,"kind":"semantic-declaration"},{"id":448,"kind":"semantic-declaration"},{"id":449,"kind":"semantic-declaration"},{"id":450,"kind":"semantic-declaration"},{"id":451,"kind":"semantic-declaration"},{"id":452,"kind":"semantic-declaration"},{"id":453,"kind":"semantic-declaration"},{"id":454,"kind":"semantic-declaration"},{"id":455,"kind":"semantic-declaration"},{"id":456,"kind":"semantic-declaration"},{"id":457,"kind":"semantic-declaration"},{"id":458,"kind":"semantic-declaration"},{"id":459,"kind":"semantic-declaration"},{"id":460,"kind":"semantic-declaration"},{"id":461,"kind":"semantic-declaration"},{"id":462,"kind":"semantic-declaration"},{"id":463,"kind":"semantic-declaration"},{"id":464,"kind":"semantic-declaration"},{"id":465,"kind":"semantic-declaration"},{"id":466,"kind":"semantic-declaration"},{"id":467,"kind":"semantic-declaration"},{"id":468,"kind":"semantic-declaration"},{"id":469,"kind":"semantic-declaration"},{"id":470,"kind":"semantic-declaration"},{"id":471,"kind":"semantic-declaration"},{"id":472,"kind":"semantic-declaration"},{"id":473,"kind":"semantic-declaration"},{"id":474,"kind":"semantic-declaration"},{"id":475,"kind":"semantic-declaration"},{"id":476,"kind":"semantic-declaration"},{"id":477,"kind":"semantic-declaration"},{"id":478,"kind":"semantic-declaration"},{"id":479,"kind":"semantic-declaration"},{"id":480,"kind":"semantic-declaration"},{"id":481,"kind":"semantic-declaration"},{"id":482,"kind":"semantic-declaration"},{"id":483,"kind":"semantic-declaration"},{"id":484,"kind":"semantic-declaration"},{"id":485,"kind":"semantic-declaration"},{"id":486,"kind":"semantic-declaration"},{"id":487,"kind":"semantic-declaration"},{"id":488,"kind":"semantic-declaration"},{"id":489,"kind":"semantic-declaration"},{"id":490,"kind":"semantic-declaration"},{"id":491,"kind":"semantic-declaration"},{"id":492,"kind":"semantic-declaration"},{"id":493,"kind":"semantic-declaration"},{"id":494,"kind":"semantic-declaration"},{"id":495,"kind":"semantic-declaration"},{"id":496,"kind":"semantic-declaration"},{"id":497,"kind":"semantic-declaration"},{"id":498,"kind":"semantic-declaration"},{"id":499,"kind":"semantic-declaration"},{"id":500,"kind":"semantic-declaration"},{"id":501,"kind":"semantic-declaration"},{"id":502,"kind":"semantic-declaration"},{"id":503,"kind":"semantic-declaration"},{"id":504,"kind":"semantic-declaration"},{"id":505,"kind":"semantic-declaration"},{"id":506,"kind":"semantic-declaration"},{"id":507,"kind":"semantic-declaration"},{"id":508,"kind":"semantic-declaration"},{"id":509,"kind":"semantic-declaration"},{"id":510,"kind":"semantic-declaration"},{"id":511,"kind":"semantic-declaration"},{"id":512,"kind":"semantic-declaration"},{"id":513,"kind":"semantic-declaration"},{"id":514,"kind":"semantic-declaration"},{"id":515,"kind":"semantic-declaration"},{"id":516,"kind":"semantic-declaration"},{"id":517,"kind":"semantic-declaration"},{"id":518,"kind":"semantic-declaration"},{"id":519,"kind":"semantic-declaration"},{"id":520,"kind":"semantic-declaration"},{"id":521,"kind":"semantic-declaration"},{"id":522,"kind":"semantic-declaration"},{"id":523,"kind":"semantic-declaration"},{"id":524,"kind":"semantic-declaration"},{"id":525,"kind":"semantic-declaration"},{"id":526,"kind":"semantic-declaration"},{"id":527,"kind":"semantic-declaration"},{"id":528,"kind":"semantic-declaration"},{"id":529,"kind":"semantic-declaration"},{"id":530,"kind":"semantic-declaration"},{"id":531,"kind":"semantic-declaration"},{"id":532,"kind":"semantic-declaration"},{"id":533,"kind":"semantic-declaration"},{"id":534,"kind":"semantic-declaration"},{"id":535,"kind":"semantic-declaration"},{"id":536,"kind":"semantic-declaration"},{"id":537,"kind":"semantic-declaration"},{"id":538,"kind":"semantic-declaration"},{"id":539,"kind":"semantic-declaration"},{"id":540,"kind":"semantic-declaration"},{"id":541,"kind":"semantic-declaration"},{"id":542,"kind":"semantic-declaration"},{"id":543,"kind":"semantic-declaration"},{"id":544,"kind":"semantic-declaration"},{"id":545,"kind":"semantic-declaration"},{"id":546,"kind":"semantic-declaration"},{"id":547,"kind":"semantic-declaration"},{"id":548,"kind":"semantic-declaration"},{"id":549,"kind":"semantic-declaration"},{"id":550,"kind":"semantic-declaration"},{"id":551,"kind":"semantic-declaration"},{"id":552,"kind":"semantic-declaration"},{"id":553,"kind":"semantic-declaration"},{"id":554,"kind":"semantic-declaration"},{"id":555,"kind":"semantic-declaration"},{"id":556,"kind":"semantic-declaration"},{"id":557,"kind":"semantic-declaration"},{"id":558,"kind":"semantic-declaration"},{"id":559,"kind":"semantic-declaration"},{"id":560,"kind":"semantic-declaration"},{"id":561,"kind":"semantic-declaration"},{"id":562,"kind":"semantic-declaration"},{"id":563,"kind":"semantic-declaration"},{"id":564,"kind":"semantic-declaration"},{"id":565,"kind":"semantic-declaration"},{"id":566,"kind":"semantic-declaration"},{"id":567,"kind":"semantic-declaration"},{"id":568,"kind":"semantic-declaration"},{"id":569,"kind":"semantic-declaration"},{"id":570,"kind":"semantic-declaration"},{"id":571,"kind":"semantic-declaration"},{"id":572,"kind":"semantic-declaration"},{"id":573,"kind":"semantic-declaration"},{"id":574,"kind":"semantic-declaration"},{"id":575,"kind":"semantic-declaration"},{"id":576,"kind":"semantic-declaration"},{"id":577,"kind":"semantic-declaration"},{"id":578,"kind":"semantic-declaration"},{"id":579,"kind":"semantic-declaration"},{"id":580,"kind":"semantic-declaration"},{"id":581,"kind":"semantic-declaration"},{"id":582,"kind":"semantic-declaration"},{"id":583,"kind":"semantic-declaration"},{"id":584,"kind":"semantic-declaration"},{"id":585,"kind":"semantic-declaration"},{"id":586,"kind":"semantic-declaration"},{"id":587,"kind":"semantic-declaration"},{"id":588,"kind":"semantic-declaration"},{"id":589,"kind":"semantic-declaration"},{"id":590,"kind":"semantic-declaration"},{"id":591,"kind":"semantic-declaration"},{"id":592,"kind":"semantic-declaration"},{"id":593,"kind":"semantic-declaration"},{"id":594,"kind":"semantic-declaration"},{"id":595,"kind":"semantic-declaration"},{"id":596,"kind":"semantic-declaration"},{"id":597,"kind":"semantic-declaration"},{"id":598,"kind":"semantic-declaration"},{"id":599,"kind":"semantic-declaration"},{"id":600,"kind":"semantic-declaration"},{"id":601,"kind":"semantic-declaration"},{"id":602,"kind":"semantic-declaration"},{"id":603,"kind":"semantic-declaration"},{"id":604,"kind":"semantic-declaration"},{"id":605,"kind":"semantic-declaration"},{"id":606,"kind":"semantic-declaration"},{"id":607,"kind":"semantic-declaration"},{"id":608,"kind":"semantic-declaration"},{"id":609,"kind":"semantic-declaration"},{"id":610,"kind":"semantic-declaration"},{"id":611,"kind":"semantic-declaration"},{"id":612,"kind":"semantic-declaration"},{"id":613,"kind":"semantic-declaration"},{"id":614,"kind":"semantic-declaration"},{"id":615,"kind":"semantic-declaration"},{"id":616,"kind":"semantic-declaration"},{"id":617,"kind":"semantic-declaration"},{"id":618,"kind":"semantic-declaration"},{"id":619,"kind":"semantic-declaration"},{"id":620,"kind":"semantic-declaration"},{"id":621,"kind":"semantic-declaration"},{"id":622,"kind":"semantic-declaration"},{"id":623,"kind":"semantic-declaration"},{"id":624,"kind":"semantic-declaration"},{"id":625,"kind":"semantic-declaration"},{"id":626,"kind":"semantic-declaration"},{"id":627,"kind":"semantic-declaration"},{"id":628,"kind":"semantic-declaration"},{"id":629,"kind":"semantic-declaration"},{"id":630,"kind":"semantic-declaration"},{"id":631,"kind":"semantic-declaration"},{"id":632,"kind":"semantic-declaration"},{"id":633,"kind":"semantic-declaration"},{"id":634,"kind":"semantic-declaration"},{"id":635,"kind":"semantic-declaration"},{"id":636,"kind":"semantic-declaration"},{"id":637,"kind":"semantic-declaration"},{"id":638,"kind":"semantic-declaration"},{"id":639,"kind":"semantic-declaration"},{"id":640,"kind":"semantic-declaration"},{"id":641,"kind":"semantic-declaration"},{"id":642,"kind":"semantic-declaration"},{"id":643,"kind":"semantic-declaration"},{"id":644,"kind":"semantic-declaration"},{"id":645,"kind":"semantic-declaration"},{"id":646,"kind":"semantic-declaration"},{"id":647,"kind":"semantic-declaration"},{"id":648,"kind":"semantic-declaration"},{"id":649,"kind":"semantic-declaration"},{"id":650,"kind":"semantic-declaration"},{"id":651,"kind":"semantic-declaration"},{"id":652,"kind":"semantic-declaration"},{"id":653,"kind":"semantic-declaration"},{"id":654,"kind":"semantic-declaration"},{"id":655,"kind":"semantic-declaration"},{"id":656,"kind":"semantic-declaration"},{"id":657,"kind":"semantic-declaration"},{"id":658,"kind":"semantic-declaration"},{"id":659,"kind":"semantic-declaration"},{"id":660,"kind":"semantic-declaration"},{"id":661,"kind":"semantic-declaration"},{"id":662,"kind":"semantic-declaration"},{"id":663,"kind":"semantic-declaration"},{"id":664,"kind":"semantic-declaration"},{"id":665,"kind":"semantic-declaration"},{"id":666,"kind":"semantic-declaration"},{"id":667,"kind":"semantic-declaration"},{"id":668,"kind":"semantic-declaration"},{"id":669,"kind":"semantic-declaration"}],"semantic_id":"db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9","source_id":"2f76ada498f17258f8a526df0820565414e563312654a2a7396b586dd3b407d1","sources":[{"id":0,"kind":"file","path":"src/TargetFixtures.lex.tex","sha256":"d746739ea3e78234f7a68280dc068d39b84f4064298a37383a8dc645bc188c27"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/TargetFixtures.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/TargetFixtures.tex"}],"mappings":[{"artifact":0,"gen_end":416,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":654074,"src_start":0},{"artifact":0,"gen_end":4776,"gen_start":416,"node":1,"role":"declaration","source":0,"src_end":3550,"src_start":210},{"artifact":0,"gen_end":4974,"gen_start":4776,"node":2,"role":"declaration","source":0,"src_end":3782,"src_start":3552},{"artifact":0,"gen_end":5139,"gen_start":4974,"node":3,"role":"declaration","source":0,"src_end":4028,"src_start":3784},{"artifact":0,"gen_end":10978,"gen_start":5139,"node":4,"role":"declaration","source":0,"src_end":8546,"src_start":4030},{"artifact":0,"gen_end":11228,"gen_start":10978,"node":5,"role":"declaration","source":0,"src_end":8824,"src_start":8548},{"artifact":0,"gen_end":11754,"gen_start":11228,"node":6,"role":"declaration","source":0,"src_end":9359,"src_start":8826},{"artifact":0,"gen_end":22707,"gen_start":11754,"node":7,"role":"declaration","source":0,"src_end":17744,"src_start":9361},{"artifact":0,"gen_end":23052,"gen_start":22707,"node":8,"role":"declaration","source":0,"src_end":18105,"src_start":17746},{"artifact":0,"gen_end":23903,"gen_start":23052,"node":9,"role":"declaration","source":0,"src_end":18893,"src_start":18107},{"artifact":0,"gen_end":27311,"gen_start":23903,"node":10,"role":"declaration","source":0,"src_end":21516,"src_start":18895},{"artifact":0,"gen_end":27600,"gen_start":27311,"node":11,"role":"declaration","source":0,"src_end":21827,"src_start":21518},{"artifact":0,"gen_end":28054,"gen_start":27600,"node":12,"role":"declaration","source":0,"src_end":22311,"src_start":21829},{"artifact":0,"gen_end":29437,"gen_start":28054,"node":13,"role":"declaration","source":0,"src_end":23401,"src_start":22313},{"artifact":0,"gen_end":29994,"gen_start":29437,"node":14,"role":"declaration","source":0,"src_end":23910,"src_start":23403},{"artifact":0,"gen_end":30151,"gen_start":29994,"node":15,"role":"declaration","source":0,"src_end":24148,"src_start":23912},{"artifact":0,"gen_end":33368,"gen_start":30151,"node":16,"role":"declaration","source":0,"src_end":26592,"src_start":24150},{"artifact":0,"gen_end":33562,"gen_start":33368,"node":17,"role":"declaration","source":0,"src_end":26820,"src_start":26594},{"artifact":0,"gen_end":39640,"gen_start":33562,"node":18,"role":"declaration","source":0,"src_end":31444,"src_start":26822},{"artifact":0,"gen_end":39830,"gen_start":39640,"node":19,"role":"declaration","source":0,"src_end":31668,"src_start":31446},{"artifact":0,"gen_end":42895,"gen_start":39830,"node":20,"role":"declaration","source":0,"src_end":34045,"src_start":31670},{"artifact":0,"gen_end":43087,"gen_start":42895,"node":21,"role":"declaration","source":0,"src_end":34271,"src_start":34047},{"artifact":0,"gen_end":43546,"gen_start":43087,"node":22,"role":"declaration","source":0,"src_end":34728,"src_start":34273},{"artifact":0,"gen_end":50575,"gen_start":43546,"node":23,"role":"declaration","source":0,"src_end":40112,"src_start":34730},{"artifact":0,"gen_end":50771,"gen_start":50575,"node":24,"role":"declaration","source":0,"src_end":40342,"src_start":40114},{"artifact":0,"gen_end":51714,"gen_start":50771,"node":25,"role":"declaration","source":0,"src_end":41184,"src_start":40344},{"artifact":0,"gen_end":54033,"gen_start":51714,"node":26,"role":"declaration","source":0,"src_end":43042,"src_start":41186},{"artifact":0,"gen_end":54374,"gen_start":54033,"node":27,"role":"declaration","source":0,"src_end":43399,"src_start":43044},{"artifact":0,"gen_end":54544,"gen_start":54374,"node":28,"role":"declaration","source":0,"src_end":43650,"src_start":43401},{"artifact":0,"gen_end":58191,"gen_start":54544,"node":29,"role":"declaration","source":0,"src_end":46530,"src_start":43652},{"artifact":0,"gen_end":58492,"gen_start":58191,"node":30,"role":"declaration","source":0,"src_end":46853,"src_start":46532},{"artifact":0,"gen_end":58744,"gen_start":58492,"node":31,"role":"declaration","source":0,"src_end":47168,"src_start":46855},{"artifact":0,"gen_end":60381,"gen_start":58744,"node":32,"role":"declaration","source":0,"src_end":48492,"src_start":47170},{"artifact":0,"gen_end":60672,"gen_start":60381,"node":33,"role":"declaration","source":0,"src_end":48805,"src_start":48494},{"artifact":0,"gen_end":60838,"gen_start":60672,"node":34,"role":"declaration","source":0,"src_end":49052,"src_start":48807},{"artifact":0,"gen_end":63484,"gen_start":60838,"node":35,"role":"declaration","source":0,"src_end":51097,"src_start":49054},{"artifact":0,"gen_end":63734,"gen_start":63484,"node":36,"role":"declaration","source":0,"src_end":51375,"src_start":51099},{"artifact":0,"gen_end":63904,"gen_start":63734,"node":37,"role":"declaration","source":0,"src_end":51626,"src_start":51377},{"artifact":0,"gen_end":66452,"gen_start":63904,"node":38,"role":"declaration","source":0,"src_end":53608,"src_start":51628},{"artifact":0,"gen_end":66706,"gen_start":66452,"node":39,"role":"declaration","source":0,"src_end":53890,"src_start":53610},{"artifact":0,"gen_end":66879,"gen_start":66706,"node":40,"role":"declaration","source":0,"src_end":54144,"src_start":53892},{"artifact":0,"gen_end":68110,"gen_start":66879,"node":41,"role":"declaration","source":0,"src_end":55131,"src_start":54146},{"artifact":0,"gen_end":68352,"gen_start":68110,"node":42,"role":"declaration","source":0,"src_end":55401,"src_start":55133},{"artifact":0,"gen_end":68612,"gen_start":68352,"node":43,"role":"declaration","source":0,"src_end":55713,"src_start":55403},{"artifact":0,"gen_end":71633,"gen_start":68612,"node":44,"role":"declaration","source":0,"src_end":58081,"src_start":55715},{"artifact":0,"gen_end":72098,"gen_start":71633,"node":45,"role":"declaration","source":0,"src_end":58529,"src_start":58083},{"artifact":0,"gen_end":72439,"gen_start":72098,"node":46,"role":"declaration","source":0,"src_end":58912,"src_start":58531},{"artifact":0,"gen_end":76869,"gen_start":72439,"node":47,"role":"declaration","source":0,"src_end":62449,"src_start":58914},{"artifact":0,"gen_end":77055,"gen_start":76869,"node":48,"role":"declaration","source":0,"src_end":62669,"src_start":62451},{"artifact":0,"gen_end":77851,"gen_start":77055,"node":49,"role":"declaration","source":0,"src_end":63451,"src_start":62671},{"artifact":0,"gen_end":88821,"gen_start":77851,"node":50,"role":"declaration","source":0,"src_end":71974,"src_start":63453},{"artifact":0,"gen_end":89007,"gen_start":88821,"node":51,"role":"declaration","source":0,"src_end":72194,"src_start":71976},{"artifact":0,"gen_end":89796,"gen_start":89007,"node":52,"role":"declaration","source":0,"src_end":72834,"src_start":72196},{"artifact":0,"gen_end":89998,"gen_start":89796,"node":53,"role":"declaration","source":0,"src_end":73070,"src_start":72836},{"artifact":0,"gen_end":90813,"gen_start":89998,"node":54,"role":"declaration","source":0,"src_end":73736,"src_start":73072},{"artifact":0,"gen_end":91023,"gen_start":90813,"node":55,"role":"declaration","source":0,"src_end":73980,"src_start":73738},{"artifact":0,"gen_end":96468,"gen_start":91023,"node":56,"role":"declaration","source":0,"src_end":78216,"src_start":73982},{"artifact":0,"gen_end":96656,"gen_start":96468,"node":57,"role":"declaration","source":0,"src_end":78438,"src_start":78218},{"artifact":0,"gen_end":97209,"gen_start":96656,"node":58,"role":"declaration","source":0,"src_end":79009,"src_start":78440},{"artifact":0,"gen_end":98982,"gen_start":97209,"node":59,"role":"declaration","source":0,"src_end":80400,"src_start":79011},{"artifact":0,"gen_end":99244,"gen_start":98982,"node":60,"role":"declaration","source":0,"src_end":80690,"src_start":80402},{"artifact":0,"gen_end":99430,"gen_start":99244,"node":61,"role":"declaration","source":0,"src_end":80957,"src_start":80692},{"artifact":0,"gen_end":106934,"gen_start":99430,"node":62,"role":"declaration","source":0,"src_end":86862,"src_start":80959},{"artifact":0,"gen_end":107136,"gen_start":106934,"node":63,"role":"declaration","source":0,"src_end":87098,"src_start":86864},{"artifact":0,"gen_end":108073,"gen_start":107136,"node":64,"role":"declaration","source":0,"src_end":87978,"src_start":87100},{"artifact":0,"gen_end":115547,"gen_start":108073,"node":65,"role":"declaration","source":0,"src_end":93861,"src_start":87980},{"artifact":0,"gen_end":115753,"gen_start":115547,"node":66,"role":"declaration","source":0,"src_end":94101,"src_start":93863},{"artifact":0,"gen_end":116603,"gen_start":115753,"node":67,"role":"declaration","source":0,"src_end":94912,"src_start":94103},{"artifact":0,"gen_end":129817,"gen_start":116603,"node":68,"role":"declaration","source":0,"src_end":105303,"src_start":94914},{"artifact":0,"gen_end":130025,"gen_start":129817,"node":69,"role":"declaration","source":0,"src_end":105545,"src_start":105305},{"artifact":0,"gen_end":131476,"gen_start":130025,"node":70,"role":"declaration","source":0,"src_end":106810,"src_start":105547},{"artifact":0,"gen_end":139629,"gen_start":131476,"node":71,"role":"declaration","source":0,"src_end":113236,"src_start":106812},{"artifact":0,"gen_end":139837,"gen_start":139629,"node":72,"role":"declaration","source":0,"src_end":113478,"src_start":113238},{"artifact":0,"gen_end":140698,"gen_start":139837,"node":73,"role":"declaration","source":0,"src_end":114319,"src_start":113480},{"artifact":0,"gen_end":151786,"gen_start":140698,"node":74,"role":"declaration","source":0,"src_end":123112,"src_start":114321},{"artifact":0,"gen_end":151990,"gen_start":151786,"node":75,"role":"declaration","source":0,"src_end":123350,"src_start":123114},{"artifact":0,"gen_end":153140,"gen_start":151990,"node":76,"role":"declaration","source":0,"src_end":124433,"src_start":123352},{"artifact":0,"gen_end":154634,"gen_start":153140,"node":77,"role":"declaration","source":0,"src_end":125634,"src_start":124435},{"artifact":0,"gen_end":154952,"gen_start":154634,"node":78,"role":"declaration","source":0,"src_end":125974,"src_start":125636},{"artifact":0,"gen_end":156446,"gen_start":154952,"node":79,"role":"declaration","source":0,"src_end":127175,"src_start":125976},{"artifact":0,"gen_end":156774,"gen_start":156446,"node":80,"role":"declaration","source":0,"src_end":127525,"src_start":127177},{"artifact":0,"gen_end":158268,"gen_start":156774,"node":81,"role":"declaration","source":0,"src_end":128726,"src_start":127527},{"artifact":0,"gen_end":158614,"gen_start":158268,"node":82,"role":"declaration","source":0,"src_end":129094,"src_start":128728},{"artifact":0,"gen_end":160103,"gen_start":158614,"node":83,"role":"declaration","source":0,"src_end":130290,"src_start":129096},{"artifact":0,"gen_end":160413,"gen_start":160103,"node":84,"role":"declaration","source":0,"src_end":130622,"src_start":130292},{"artifact":0,"gen_end":161907,"gen_start":160413,"node":85,"role":"declaration","source":0,"src_end":131823,"src_start":130624},{"artifact":0,"gen_end":162221,"gen_start":161907,"node":86,"role":"declaration","source":0,"src_end":132159,"src_start":131825},{"artifact":0,"gen_end":163715,"gen_start":162221,"node":87,"role":"declaration","source":0,"src_end":133360,"src_start":132161},{"artifact":0,"gen_end":164034,"gen_start":163715,"node":88,"role":"declaration","source":0,"src_end":133701,"src_start":133362},{"artifact":0,"gen_end":165528,"gen_start":164034,"node":89,"role":"declaration","source":0,"src_end":134902,"src_start":133703},{"artifact":0,"gen_end":165857,"gen_start":165528,"node":90,"role":"declaration","source":0,"src_end":135253,"src_start":134904},{"artifact":0,"gen_end":167346,"gen_start":165857,"node":91,"role":"declaration","source":0,"src_end":136449,"src_start":135255},{"artifact":0,"gen_end":167654,"gen_start":167346,"node":92,"role":"declaration","source":0,"src_end":136779,"src_start":136451},{"artifact":0,"gen_end":190136,"gen_start":167654,"node":93,"role":"declaration","source":0,"src_end":154522,"src_start":136781},{"artifact":0,"gen_end":190512,"gen_start":190136,"node":94,"role":"declaration","source":0,"src_end":154914,"src_start":154524},{"artifact":0,"gen_end":192232,"gen_start":190512,"node":95,"role":"declaration","source":0,"src_end":156415,"src_start":154916},{"artifact":0,"gen_end":214714,"gen_start":192232,"node":96,"role":"declaration","source":0,"src_end":174158,"src_start":156417},{"artifact":0,"gen_end":215100,"gen_start":214714,"node":97,"role":"declaration","source":0,"src_end":174560,"src_start":174160},{"artifact":0,"gen_end":216835,"gen_start":215100,"node":98,"role":"declaration","source":0,"src_end":176076,"src_start":174562},{"artifact":0,"gen_end":239317,"gen_start":216835,"node":99,"role":"declaration","source":0,"src_end":193819,"src_start":176078},{"artifact":0,"gen_end":239721,"gen_start":239317,"node":100,"role":"declaration","source":0,"src_end":194239,"src_start":193821},{"artifact":0,"gen_end":241484,"gen_start":239721,"node":101,"role":"declaration","source":0,"src_end":195783,"src_start":194241},{"artifact":0,"gen_end":263857,"gen_start":241484,"node":102,"role":"declaration","source":0,"src_end":213417,"src_start":195785},{"artifact":0,"gen_end":264223,"gen_start":263857,"node":103,"role":"declaration","source":0,"src_end":213799,"src_start":213419},{"artifact":0,"gen_end":265862,"gen_start":264223,"node":104,"role":"declaration","source":0,"src_end":215229,"src_start":213801},{"artifact":0,"gen_end":285904,"gen_start":265862,"node":105,"role":"declaration","source":0,"src_end":231048,"src_start":215231},{"artifact":0,"gen_end":286277,"gen_start":285904,"node":106,"role":"declaration","source":0,"src_end":231437,"src_start":231050},{"artifact":0,"gen_end":287825,"gen_start":286277,"node":107,"role":"declaration","source":0,"src_end":232802,"src_start":231439},{"artifact":0,"gen_end":307867,"gen_start":287825,"node":108,"role":"declaration","source":0,"src_end":248621,"src_start":232804},{"artifact":0,"gen_end":308245,"gen_start":307867,"node":109,"role":"declaration","source":0,"src_end":249015,"src_start":248623},{"artifact":0,"gen_end":309818,"gen_start":308245,"node":110,"role":"declaration","source":0,"src_end":250405,"src_start":249017},{"artifact":0,"gen_end":329860,"gen_start":309818,"node":111,"role":"declaration","source":0,"src_end":266224,"src_start":250407},{"artifact":0,"gen_end":330248,"gen_start":329860,"node":112,"role":"declaration","source":0,"src_end":266628,"src_start":266226},{"artifact":0,"gen_end":331870,"gen_start":330248,"node":113,"role":"declaration","source":0,"src_end":268067,"src_start":266630},{"artifact":0,"gen_end":351817,"gen_start":331870,"node":114,"role":"declaration","source":0,"src_end":283791,"src_start":268069},{"artifact":0,"gen_end":352182,"gen_start":351817,"node":115,"role":"declaration","source":0,"src_end":284172,"src_start":283793},{"artifact":0,"gen_end":353647,"gen_start":352182,"node":116,"role":"declaration","source":0,"src_end":285464,"src_start":284174},{"artifact":0,"gen_end":371515,"gen_start":353647,"node":117,"role":"declaration","source":0,"src_end":299241,"src_start":285466},{"artifact":0,"gen_end":371715,"gen_start":371515,"node":118,"role":"declaration","source":0,"src_end":299475,"src_start":299243},{"artifact":0,"gen_end":372664,"gen_start":371715,"node":119,"role":"declaration","source":0,"src_end":300339,"src_start":299477},{"artifact":0,"gen_end":399642,"gen_start":372664,"node":120,"role":"declaration","source":0,"src_end":321194,"src_start":300341},{"artifact":0,"gen_end":400865,"gen_start":399642,"node":121,"role":"declaration","source":0,"src_end":322214,"src_start":321196},{"artifact":0,"gen_end":401263,"gen_start":400865,"node":122,"role":"declaration","source":0,"src_end":322648,"src_start":322216},{"artifact":0,"gen_end":401650,"gen_start":401263,"node":123,"role":"declaration","source":0,"src_end":323189,"src_start":322650},{"artifact":0,"gen_end":428634,"gen_start":401650,"node":124,"role":"declaration","source":0,"src_end":344050,"src_start":323191},{"artifact":0,"gen_end":429869,"gen_start":428634,"node":125,"role":"declaration","source":0,"src_end":345082,"src_start":344052},{"artifact":0,"gen_end":430140,"gen_start":429869,"node":126,"role":"declaration","source":0,"src_end":345407,"src_start":345084},{"artifact":0,"gen_end":430538,"gen_start":430140,"node":127,"role":"declaration","source":0,"src_end":345959,"src_start":345409},{"artifact":0,"gen_end":457521,"gen_start":430538,"node":128,"role":"declaration","source":0,"src_end":366819,"src_start":345961},{"artifact":0,"gen_end":458754,"gen_start":457521,"node":129,"role":"declaration","source":0,"src_end":367849,"src_start":366821},{"artifact":0,"gen_end":459070,"gen_start":458754,"node":130,"role":"declaration","source":0,"src_end":368213,"src_start":367851},{"artifact":0,"gen_end":459467,"gen_start":459070,"node":131,"role":"declaration","source":0,"src_end":368764,"src_start":368215},{"artifact":0,"gen_end":464316,"gen_start":459467,"node":132,"role":"declaration","source":0,"src_end":372530,"src_start":368766},{"artifact":0,"gen_end":465541,"gen_start":464316,"node":133,"role":"declaration","source":0,"src_end":373552,"src_start":372532},{"artifact":0,"gen_end":465847,"gen_start":465541,"node":134,"role":"declaration","source":0,"src_end":373906,"src_start":373554},{"artifact":0,"gen_end":466235,"gen_start":465847,"node":135,"role":"declaration","source":0,"src_end":374448,"src_start":373908},{"artifact":0,"gen_end":471090,"gen_start":466235,"node":136,"role":"declaration","source":0,"src_end":378220,"src_start":374450},{"artifact":0,"gen_end":472327,"gen_start":471090,"node":137,"role":"declaration","source":0,"src_end":379254,"src_start":378222},{"artifact":0,"gen_end":472554,"gen_start":472327,"node":138,"role":"declaration","source":0,"src_end":379541,"src_start":379256},{"artifact":0,"gen_end":472955,"gen_start":472554,"node":139,"role":"declaration","source":0,"src_end":380096,"src_start":379543},{"artifact":0,"gen_end":499241,"gen_start":472955,"node":140,"role":"declaration","source":0,"src_end":400342,"src_start":380098},{"artifact":0,"gen_end":500422,"gen_start":499241,"node":141,"role":"declaration","source":0,"src_end":401326,"src_start":400344},{"artifact":0,"gen_end":500864,"gen_start":500422,"node":142,"role":"declaration","source":0,"src_end":401796,"src_start":401328},{"artifact":0,"gen_end":501351,"gen_start":500864,"node":143,"role":"declaration","source":0,"src_end":402462,"src_start":401798},{"artifact":0,"gen_end":527642,"gen_start":501351,"node":144,"role":"declaration","source":0,"src_end":422713,"src_start":402464},{"artifact":0,"gen_end":528612,"gen_start":527642,"node":145,"role":"declaration","source":0,"src_end":423537,"src_start":422715},{"artifact":0,"gen_end":528791,"gen_start":528612,"node":146,"role":"declaration","source":0,"src_end":423799,"src_start":423539},{"artifact":0,"gen_end":529276,"gen_start":528791,"node":147,"role":"declaration","source":0,"src_end":424408,"src_start":423801},{"artifact":0,"gen_end":538676,"gen_start":529276,"node":148,"role":"declaration","source":0,"src_end":431829,"src_start":424410},{"artifact":0,"gen_end":538874,"gen_start":538676,"node":149,"role":"declaration","source":0,"src_end":432061,"src_start":431831},{"artifact":0,"gen_end":539816,"gen_start":538874,"node":150,"role":"declaration","source":0,"src_end":432985,"src_start":432063},{"artifact":0,"gen_end":540653,"gen_start":539816,"node":151,"role":"declaration","source":0,"src_end":433667,"src_start":432987},{"artifact":0,"gen_end":540853,"gen_start":540653,"node":152,"role":"declaration","source":0,"src_end":433901,"src_start":433669},{"artifact":0,"gen_end":540978,"gen_start":540853,"node":153,"role":"declaration","source":0,"src_end":434117,"src_start":433903},{"artifact":0,"gen_end":541686,"gen_start":540978,"node":154,"role":"declaration","source":0,"src_end":434692,"src_start":434119},{"artifact":0,"gen_end":541886,"gen_start":541686,"node":155,"role":"declaration","source":0,"src_end":434926,"src_start":434694},{"artifact":0,"gen_end":542011,"gen_start":541886,"node":156,"role":"declaration","source":0,"src_end":435142,"src_start":434928},{"artifact":0,"gen_end":542982,"gen_start":542011,"node":157,"role":"declaration","source":0,"src_end":435936,"src_start":435144},{"artifact":0,"gen_end":543184,"gen_start":542982,"node":158,"role":"declaration","source":0,"src_end":436172,"src_start":435938},{"artifact":0,"gen_end":543311,"gen_start":543184,"node":159,"role":"declaration","source":0,"src_end":436390,"src_start":436174},{"artifact":0,"gen_end":544149,"gen_start":543311,"node":160,"role":"declaration","source":0,"src_end":437073,"src_start":436392},{"artifact":0,"gen_end":544349,"gen_start":544149,"node":161,"role":"declaration","source":0,"src_end":437307,"src_start":437075},{"artifact":0,"gen_end":544474,"gen_start":544349,"node":162,"role":"declaration","source":0,"src_end":437523,"src_start":437309},{"artifact":0,"gen_end":547049,"gen_start":544474,"node":163,"role":"declaration","source":0,"src_end":439549,"src_start":437525},{"artifact":0,"gen_end":547282,"gen_start":547049,"node":164,"role":"declaration","source":0,"src_end":439810,"src_start":439551},{"artifact":0,"gen_end":547436,"gen_start":547282,"node":165,"role":"declaration","source":0,"src_end":440045,"src_start":439812},{"artifact":0,"gen_end":547666,"gen_start":547436,"node":166,"role":"declaration","source":0,"src_end":440336,"src_start":440047},{"artifact":0,"gen_end":552599,"gen_start":547666,"node":167,"role":"declaration","source":0,"src_end":444150,"src_start":440338},{"artifact":0,"gen_end":552843,"gen_start":552599,"node":168,"role":"declaration","source":0,"src_end":444422,"src_start":444152},{"artifact":0,"gen_end":553093,"gen_start":552843,"node":169,"role":"declaration","source":0,"src_end":444735,"src_start":444424},{"artifact":0,"gen_end":553673,"gen_start":553093,"node":170,"role":"declaration","source":0,"src_end":445365,"src_start":444737},{"artifact":0,"gen_end":558613,"gen_start":553673,"node":171,"role":"declaration","source":0,"src_end":449186,"src_start":445367},{"artifact":0,"gen_end":558870,"gen_start":558613,"node":172,"role":"declaration","source":0,"src_end":449471,"src_start":449188},{"artifact":0,"gen_end":559134,"gen_start":558870,"node":173,"role":"declaration","source":0,"src_end":449798,"src_start":449473},{"artifact":0,"gen_end":559725,"gen_start":559134,"node":174,"role":"declaration","source":0,"src_end":450439,"src_start":449800},{"artifact":0,"gen_end":560577,"gen_start":559725,"node":175,"role":"declaration","source":0,"src_end":451140,"src_start":450441},{"artifact":0,"gen_end":562831,"gen_start":560577,"node":176,"role":"declaration","source":0,"src_end":453134,"src_start":451142},{"artifact":0,"gen_end":564913,"gen_start":562831,"node":177,"role":"declaration","source":0,"src_end":455036,"src_start":453136},{"artifact":0,"gen_end":568109,"gen_start":564913,"node":178,"role":"declaration","source":0,"src_end":457573,"src_start":455038},{"artifact":0,"gen_end":568544,"gen_start":568109,"node":179,"role":"declaration","source":0,"src_end":457997,"src_start":457575},{"artifact":0,"gen_end":568700,"gen_start":568544,"node":180,"role":"declaration","source":0,"src_end":458234,"src_start":457999},{"artifact":0,"gen_end":569069,"gen_start":568700,"node":181,"role":"declaration","source":0,"src_end":458637,"src_start":458236},{"artifact":0,"gen_end":575516,"gen_start":569069,"node":182,"role":"declaration","source":0,"src_end":463681,"src_start":458639},{"artifact":0,"gen_end":575928,"gen_start":575516,"node":183,"role":"declaration","source":0,"src_end":464082,"src_start":463683},{"artifact":0,"gen_end":576933,"gen_start":575928,"node":184,"role":"declaration","source":0,"src_end":464988,"src_start":464084},{"artifact":0,"gen_end":583626,"gen_start":576933,"node":185,"role":"declaration","source":0,"src_end":470464,"src_start":464990},{"artifact":0,"gen_end":583814,"gen_start":583626,"node":186,"role":"declaration","source":0,"src_end":470686,"src_start":470466},{"artifact":0,"gen_end":585760,"gen_start":583814,"node":187,"role":"declaration","source":0,"src_end":472433,"src_start":470688},{"artifact":0,"gen_end":590280,"gen_start":585760,"node":188,"role":"declaration","source":0,"src_end":475937,"src_start":472435},{"artifact":0,"gen_end":590881,"gen_start":590280,"node":189,"role":"declaration","source":0,"src_end":476491,"src_start":475939},{"artifact":0,"gen_end":591045,"gen_start":590881,"node":190,"role":"declaration","source":0,"src_end":476736,"src_start":476493},{"artifact":0,"gen_end":591301,"gen_start":591045,"node":191,"role":"declaration","source":0,"src_end":477112,"src_start":476738},{"artifact":0,"gen_end":594687,"gen_start":591301,"node":192,"role":"declaration","source":0,"src_end":479803,"src_start":477114},{"artifact":0,"gen_end":595234,"gen_start":594687,"node":193,"role":"declaration","source":0,"src_end":480309,"src_start":479805},{"artifact":0,"gen_end":595388,"gen_start":595234,"node":194,"role":"declaration","source":0,"src_end":480544,"src_start":480311},{"artifact":0,"gen_end":595740,"gen_start":595388,"node":195,"role":"declaration","source":0,"src_end":481002,"src_start":480546},{"artifact":0,"gen_end":601351,"gen_start":595740,"node":196,"role":"declaration","source":0,"src_end":485403,"src_start":481004},{"artifact":0,"gen_end":601999,"gen_start":601351,"node":197,"role":"declaration","source":0,"src_end":485998,"src_start":485405},{"artifact":0,"gen_end":602603,"gen_start":601999,"node":198,"role":"declaration","source":0,"src_end":486590,"src_start":486000},{"artifact":0,"gen_end":602992,"gen_start":602603,"node":199,"role":"declaration","source":0,"src_end":487052,"src_start":486592},{"artifact":0,"gen_end":608607,"gen_start":602992,"node":200,"role":"declaration","source":0,"src_end":491457,"src_start":487054},{"artifact":0,"gen_end":609263,"gen_start":608607,"node":201,"role":"declaration","source":0,"src_end":492060,"src_start":491459},{"artifact":0,"gen_end":609875,"gen_start":609263,"node":202,"role":"declaration","source":0,"src_end":492660,"src_start":492062},{"artifact":0,"gen_end":610272,"gen_start":609875,"node":203,"role":"declaration","source":0,"src_end":493130,"src_start":492662},{"artifact":0,"gen_end":615890,"gen_start":610272,"node":204,"role":"declaration","source":0,"src_end":497538,"src_start":493132},{"artifact":0,"gen_end":616552,"gen_start":615890,"node":205,"role":"declaration","source":0,"src_end":498147,"src_start":497540},{"artifact":0,"gen_end":617036,"gen_start":616552,"node":206,"role":"declaration","source":0,"src_end":498643,"src_start":498149},{"artifact":0,"gen_end":617439,"gen_start":617036,"node":207,"role":"declaration","source":0,"src_end":499119,"src_start":498645},{"artifact":0,"gen_end":619622,"gen_start":617439,"node":208,"role":"declaration","source":0,"src_end":500822,"src_start":499121},{"artifact":0,"gen_end":620169,"gen_start":619622,"node":209,"role":"declaration","source":0,"src_end":501328,"src_start":500824},{"artifact":0,"gen_end":620459,"gen_start":620169,"node":210,"role":"declaration","source":0,"src_end":501666,"src_start":501330},{"artifact":0,"gen_end":620745,"gen_start":620459,"node":211,"role":"declaration","source":0,"src_end":502061,"src_start":501668},{"artifact":0,"gen_end":624064,"gen_start":620745,"node":212,"role":"declaration","source":0,"src_end":504649,"src_start":502063},{"artifact":0,"gen_end":624661,"gen_start":624064,"node":213,"role":"declaration","source":0,"src_end":505199,"src_start":504651},{"artifact":0,"gen_end":624862,"gen_start":624661,"node":214,"role":"declaration","source":0,"src_end":505473,"src_start":505201},{"artifact":0,"gen_end":625262,"gen_start":624862,"node":215,"role":"declaration","source":0,"src_end":505990,"src_start":505475},{"artifact":0,"gen_end":628587,"gen_start":625262,"node":216,"role":"declaration","source":0,"src_end":508584,"src_start":505992},{"artifact":0,"gen_end":629196,"gen_start":628587,"node":217,"role":"declaration","source":0,"src_end":509146,"src_start":508586},{"artifact":0,"gen_end":629361,"gen_start":629196,"node":218,"role":"declaration","source":0,"src_end":509394,"src_start":509148},{"artifact":0,"gen_end":629773,"gen_start":629361,"node":219,"role":"declaration","source":0,"src_end":509923,"src_start":509396},{"artifact":0,"gen_end":633357,"gen_start":629773,"node":220,"role":"declaration","source":0,"src_end":512727,"src_start":509925},{"artifact":0,"gen_end":633954,"gen_start":633357,"node":221,"role":"declaration","source":0,"src_end":513277,"src_start":512729},{"artifact":0,"gen_end":634290,"gen_start":633954,"node":222,"role":"declaration","source":0,"src_end":513649,"src_start":513279},{"artifact":0,"gen_end":634673,"gen_start":634290,"node":223,"role":"declaration","source":0,"src_end":514107,"src_start":513651},{"artifact":0,"gen_end":638263,"gen_start":634673,"node":224,"role":"declaration","source":0,"src_end":516917,"src_start":514109},{"artifact":0,"gen_end":638872,"gen_start":638263,"node":225,"role":"declaration","source":0,"src_end":517479,"src_start":516919},{"artifact":0,"gen_end":639354,"gen_start":638872,"node":226,"role":"declaration","source":0,"src_end":517973,"src_start":517481},{"artifact":0,"gen_end":639749,"gen_start":639354,"node":227,"role":"declaration","source":0,"src_end":518443,"src_start":517975},{"artifact":0,"gen_end":641950,"gen_start":639749,"node":228,"role":"declaration","source":0,"src_end":520164,"src_start":518445},{"artifact":0,"gen_end":642501,"gen_start":641950,"node":229,"role":"declaration","source":0,"src_end":520674,"src_start":520166},{"artifact":0,"gen_end":642805,"gen_start":642501,"node":230,"role":"declaration","source":0,"src_end":521026,"src_start":520676},{"artifact":0,"gen_end":643103,"gen_start":642805,"node":231,"role":"declaration","source":0,"src_end":521433,"src_start":521028},{"artifact":0,"gen_end":657113,"gen_start":643103,"node":232,"role":"declaration","source":0,"src_end":532181,"src_start":521435},{"artifact":0,"gen_end":657714,"gen_start":657113,"node":233,"role":"declaration","source":0,"src_end":532741,"src_start":532183},{"artifact":0,"gen_end":658750,"gen_start":657714,"node":234,"role":"declaration","source":0,"src_end":533667,"src_start":532743},{"artifact":0,"gen_end":668664,"gen_start":658750,"node":235,"role":"declaration","source":0,"src_end":541388,"src_start":533669},{"artifact":0,"gen_end":668862,"gen_start":668664,"node":236,"role":"declaration","source":0,"src_end":541620,"src_start":541390},{"artifact":0,"gen_end":669893,"gen_start":668862,"node":237,"role":"declaration","source":0,"src_end":542588,"src_start":541622},{"artifact":0,"gen_end":670715,"gen_start":669893,"node":238,"role":"declaration","source":0,"src_end":543255,"src_start":542590},{"artifact":0,"gen_end":670915,"gen_start":670715,"node":239,"role":"declaration","source":0,"src_end":543489,"src_start":543257},{"artifact":0,"gen_end":671040,"gen_start":670915,"node":240,"role":"declaration","source":0,"src_end":543705,"src_start":543491},{"artifact":0,"gen_end":671861,"gen_start":671040,"node":241,"role":"declaration","source":0,"src_end":544371,"src_start":543707},{"artifact":0,"gen_end":672061,"gen_start":671861,"node":242,"role":"declaration","source":0,"src_end":544605,"src_start":544373},{"artifact":0,"gen_end":672186,"gen_start":672061,"node":243,"role":"declaration","source":0,"src_end":544821,"src_start":544607},{"artifact":0,"gen_end":673264,"gen_start":672186,"node":244,"role":"declaration","source":0,"src_end":545687,"src_start":544823},{"artifact":0,"gen_end":673470,"gen_start":673264,"node":245,"role":"declaration","source":0,"src_end":545927,"src_start":545689},{"artifact":0,"gen_end":673601,"gen_start":673470,"node":246,"role":"declaration","source":0,"src_end":546149,"src_start":545929},{"artifact":0,"gen_end":674338,"gen_start":673601,"node":247,"role":"declaration","source":0,"src_end":546745,"src_start":546151},{"artifact":0,"gen_end":674540,"gen_start":674338,"node":248,"role":"declaration","source":0,"src_end":546981,"src_start":546747},{"artifact":0,"gen_end":674667,"gen_start":674540,"node":249,"role":"declaration","source":0,"src_end":547199,"src_start":546983},{"artifact":0,"gen_end":692365,"gen_start":674667,"node":250,"role":"declaration","source":0,"src_end":560813,"src_start":547201},{"artifact":0,"gen_end":692553,"gen_start":692365,"node":251,"role":"declaration","source":0,"src_end":561035,"src_start":560815},{"artifact":0,"gen_end":693604,"gen_start":692553,"node":252,"role":"declaration","source":0,"src_end":562011,"src_start":561037},{"artifact":0,"gen_end":695652,"gen_start":693604,"node":253,"role":"declaration","source":0,"src_end":563607,"src_start":562013},{"artifact":0,"gen_end":696164,"gen_start":695652,"node":254,"role":"declaration","source":0,"src_end":564088,"src_start":563609},{"artifact":0,"gen_end":696335,"gen_start":696164,"node":255,"role":"declaration","source":0,"src_end":564340,"src_start":564090},{"artifact":0,"gen_end":698274,"gen_start":696335,"node":256,"role":"declaration","source":0,"src_end":565874,"src_start":564342},{"artifact":0,"gen_end":698704,"gen_start":698274,"node":257,"role":"declaration","source":0,"src_end":566291,"src_start":565876},{"artifact":0,"gen_end":699033,"gen_start":698704,"node":258,"role":"declaration","source":0,"src_end":566665,"src_start":566293},{"artifact":0,"gen_end":701791,"gen_start":699033,"node":259,"role":"declaration","source":0,"src_end":568802,"src_start":566667},{"artifact":0,"gen_end":702262,"gen_start":701791,"node":260,"role":"declaration","source":0,"src_end":569256,"src_start":568804},{"artifact":0,"gen_end":702426,"gen_start":702262,"node":261,"role":"declaration","source":0,"src_end":569501,"src_start":569258},{"artifact":0,"gen_end":702655,"gen_start":702426,"node":262,"role":"declaration","source":0,"src_end":569828,"src_start":569503},{"artifact":0,"gen_end":705419,"gen_start":702655,"node":263,"role":"declaration","source":0,"src_end":571971,"src_start":569830},{"artifact":0,"gen_end":705902,"gen_start":705419,"node":264,"role":"declaration","source":0,"src_end":572437,"src_start":571973},{"artifact":0,"gen_end":706079,"gen_start":705902,"node":265,"role":"declaration","source":0,"src_end":572695,"src_start":572439},{"artifact":0,"gen_end":706320,"gen_start":706079,"node":266,"role":"declaration","source":0,"src_end":573034,"src_start":572697},{"artifact":0,"gen_end":710993,"gen_start":706320,"node":267,"role":"declaration","source":0,"src_end":576645,"src_start":573036},{"artifact":0,"gen_end":711652,"gen_start":710993,"node":268,"role":"declaration","source":0,"src_end":577248,"src_start":576647},{"artifact":0,"gen_end":711955,"gen_start":711652,"node":269,"role":"declaration","source":0,"src_end":577599,"src_start":577250},{"artifact":0,"gen_end":712308,"gen_start":711955,"node":270,"role":"declaration","source":0,"src_end":578043,"src_start":577601},{"artifact":0,"gen_end":715270,"gen_start":712308,"node":271,"role":"declaration","source":0,"src_end":580389,"src_start":578045},{"artifact":0,"gen_end":715687,"gen_start":715270,"node":272,"role":"declaration","source":0,"src_end":580795,"src_start":580391},{"artifact":0,"gen_end":715842,"gen_start":715687,"node":273,"role":"declaration","source":0,"src_end":581031,"src_start":580797},{"artifact":0,"gen_end":716156,"gen_start":715842,"node":274,"role":"declaration","source":0,"src_end":581427,"src_start":581033},{"artifact":0,"gen_end":719606,"gen_start":716156,"node":275,"role":"declaration","source":0,"src_end":584119,"src_start":581429},{"artifact":0,"gen_end":719998,"gen_start":719606,"node":276,"role":"declaration","source":0,"src_end":584506,"src_start":584121},{"artifact":0,"gen_end":720309,"gen_start":719998,"node":277,"role":"declaration","source":0,"src_end":584865,"src_start":584508},{"artifact":0,"gen_end":720639,"gen_start":720309,"node":278,"role":"declaration","source":0,"src_end":585264,"src_start":584867},{"artifact":0,"gen_end":724076,"gen_start":720639,"node":279,"role":"declaration","source":0,"src_end":587943,"src_start":585266},{"artifact":0,"gen_end":724529,"gen_start":724076,"node":280,"role":"declaration","source":0,"src_end":588385,"src_start":587945},{"artifact":0,"gen_end":724901,"gen_start":724529,"node":281,"role":"declaration","source":0,"src_end":588799,"src_start":588387},{"artifact":0,"gen_end":725247,"gen_start":724901,"node":282,"role":"declaration","source":0,"src_end":589214,"src_start":588801},{"artifact":0,"gen_end":729189,"gen_start":725247,"node":283,"role":"declaration","source":0,"src_end":592302,"src_start":589216},{"artifact":0,"gen_end":729646,"gen_start":729189,"node":284,"role":"declaration","source":0,"src_end":592748,"src_start":592304},{"artifact":0,"gen_end":730022,"gen_start":729646,"node":285,"role":"declaration","source":0,"src_end":593166,"src_start":592750},{"artifact":0,"gen_end":730377,"gen_start":730022,"node":286,"role":"declaration","source":0,"src_end":593590,"src_start":593168},{"artifact":0,"gen_end":733814,"gen_start":730377,"node":287,"role":"declaration","source":0,"src_end":596269,"src_start":593592},{"artifact":0,"gen_end":734287,"gen_start":733814,"node":288,"role":"declaration","source":0,"src_end":596725,"src_start":596271},{"artifact":0,"gen_end":734679,"gen_start":734287,"node":289,"role":"declaration","source":0,"src_end":597153,"src_start":596727},{"artifact":0,"gen_end":735002,"gen_start":734679,"node":290,"role":"declaration","source":0,"src_end":597545,"src_start":597155},{"artifact":0,"gen_end":739355,"gen_start":735002,"node":291,"role":"declaration","source":0,"src_end":600948,"src_start":597547},{"artifact":0,"gen_end":740054,"gen_start":739355,"node":292,"role":"declaration","source":0,"src_end":601582,"src_start":600950},{"artifact":0,"gen_end":740672,"gen_start":740054,"node":293,"role":"declaration","source":0,"src_end":602188,"src_start":601584},{"artifact":0,"gen_end":741081,"gen_start":740672,"node":294,"role":"declaration","source":0,"src_end":602645,"src_start":602190},{"artifact":0,"gen_end":744557,"gen_start":741081,"node":295,"role":"declaration","source":0,"src_end":605363,"src_start":602647},{"artifact":0,"gen_end":745006,"gen_start":744557,"node":296,"role":"declaration","source":0,"src_end":605801,"src_start":605365},{"artifact":0,"gen_end":745374,"gen_start":745006,"node":297,"role":"declaration","source":0,"src_end":606211,"src_start":605803},{"artifact":0,"gen_end":745719,"gen_start":745374,"node":298,"role":"declaration","source":0,"src_end":606625,"src_start":606213},{"artifact":0,"gen_end":750394,"gen_start":745719,"node":299,"role":"declaration","source":0,"src_end":610238,"src_start":606627},{"artifact":0,"gen_end":751057,"gen_start":750394,"node":300,"role":"declaration","source":0,"src_end":610845,"src_start":610240},{"artifact":0,"gen_end":751318,"gen_start":751057,"node":301,"role":"declaration","source":0,"src_end":611160,"src_start":610847},{"artifact":0,"gen_end":751677,"gen_start":751318,"node":302,"role":"declaration","source":0,"src_end":611610,"src_start":611162},{"artifact":0,"gen_end":754613,"gen_start":751677,"node":303,"role":"declaration","source":0,"src_end":613902,"src_start":611612},{"artifact":0,"gen_end":755080,"gen_start":754613,"node":304,"role":"declaration","source":0,"src_end":614352,"src_start":613904},{"artifact":0,"gen_end":755374,"gen_start":755080,"node":305,"role":"declaration","source":0,"src_end":614694,"src_start":614354},{"artifact":0,"gen_end":755691,"gen_start":755374,"node":306,"role":"declaration","source":0,"src_end":615080,"src_start":614696},{"artifact":0,"gen_end":758633,"gen_start":755691,"node":307,"role":"declaration","source":0,"src_end":617378,"src_start":615082},{"artifact":0,"gen_end":759112,"gen_start":758633,"node":308,"role":"declaration","source":0,"src_end":617840,"src_start":617380},{"artifact":0,"gen_end":759464,"gen_start":759112,"node":309,"role":"declaration","source":0,"src_end":618234,"src_start":617842},{"artifact":0,"gen_end":759793,"gen_start":759464,"node":310,"role":"declaration","source":0,"src_end":618632,"src_start":618236},{"artifact":0,"gen_end":764434,"gen_start":759793,"node":311,"role":"declaration","source":0,"src_end":622247,"src_start":618634},{"artifact":0,"gen_end":765083,"gen_start":764434,"node":312,"role":"declaration","source":0,"src_end":622840,"src_start":622249},{"artifact":0,"gen_end":765514,"gen_start":765083,"node":313,"role":"declaration","source":0,"src_end":623301,"src_start":622842},{"artifact":0,"gen_end":765852,"gen_start":765514,"node":314,"role":"declaration","source":0,"src_end":623730,"src_start":623303},{"artifact":0,"gen_end":774593,"gen_start":765852,"node":315,"role":"declaration","source":0,"src_end":630646,"src_start":623732},{"artifact":0,"gen_end":774789,"gen_start":774593,"node":316,"role":"declaration","source":0,"src_end":630876,"src_start":630648},{"artifact":0,"gen_end":776268,"gen_start":774789,"node":317,"role":"declaration","source":0,"src_end":632082,"src_start":630878},{"artifact":0,"gen_end":776512,"gen_start":776268,"node":318,"role":"declaration","source":0,"src_end":632354,"src_start":632084},{"artifact":0,"gen_end":776825,"gen_start":776512,"node":319,"role":"declaration","source":0,"src_end":632730,"src_start":632356},{"artifact":0,"gen_end":778267,"gen_start":776825,"node":320,"role":"declaration","source":0,"src_end":633854,"src_start":632732},{"artifact":0,"gen_end":778497,"gen_start":778267,"node":321,"role":"declaration","source":0,"src_end":634112,"src_start":633856},{"artifact":0,"gen_end":778647,"gen_start":778497,"node":322,"role":"declaration","source":0,"src_end":634343,"src_start":634114},{"artifact":0,"gen_end":780098,"gen_start":778647,"node":323,"role":"declaration","source":0,"src_end":635476,"src_start":634345},{"artifact":0,"gen_end":780344,"gen_start":780098,"node":324,"role":"declaration","source":0,"src_end":635750,"src_start":635478},{"artifact":0,"gen_end":780466,"gen_start":780344,"node":325,"role":"declaration","source":0,"src_end":635965,"src_start":635752},{"artifact":0,"gen_end":786019,"gen_start":780466,"node":326,"role":"declaration","source":0,"src_end":640246,"src_start":635967},{"artifact":0,"gen_end":786261,"gen_start":786019,"node":327,"role":"declaration","source":0,"src_end":640516,"src_start":640248},{"artifact":0,"gen_end":786700,"gen_start":786261,"node":328,"role":"declaration","source":0,"src_end":640982,"src_start":640518},{"artifact":0,"gen_end":793439,"gen_start":786700,"node":329,"role":"declaration","source":0,"src_end":646140,"src_start":640984},{"artifact":0,"gen_end":793720,"gen_start":793439,"node":330,"role":"declaration","source":0,"src_end":646445,"src_start":646142},{"artifact":0,"gen_end":793995,"gen_start":793720,"node":331,"role":"declaration","source":0,"src_end":646779,"src_start":646447},{"artifact":0,"gen_end":802125,"gen_start":793995,"node":332,"role":"declaration","source":0,"src_end":653341,"src_start":646781},{"artifact":0,"gen_end":802363,"gen_start":802125,"node":333,"role":"declaration","source":0,"src_end":653607,"src_start":653343},{"artifact":0,"gen_end":802763,"gen_start":802363,"node":334,"role":"declaration","source":0,"src_end":654038,"src_start":653609},{"artifact":0,"gen_end":802797,"gen_start":802763,"node":0,"role":"declaration","source":0,"src_end":654074,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":335,"role":"declaration","source":0,"src_end":654074,"src_start":0},{"artifact":1,"gen_end":4662,"gen_start":134,"node":336,"role":"declaration","source":0,"src_end":3550,"src_start":210},{"artifact":1,"gen_end":5047,"gen_start":4662,"node":337,"role":"declaration","source":0,"src_end":3782,"src_start":3552},{"artifact":1,"gen_end":5362,"gen_start":5047,"node":338,"role":"declaration","source":0,"src_end":4028,"src_start":3784},{"artifact":1,"gen_end":11423,"gen_start":5362,"node":339,"role":"declaration","source":0,"src_end":8546,"src_start":4030},{"artifact":1,"gen_end":11860,"gen_start":11423,"node":340,"role":"declaration","source":0,"src_end":8824,"src_start":8548},{"artifact":1,"gen_end":12536,"gen_start":11860,"node":341,"role":"declaration","source":0,"src_end":9359,"src_start":8826},{"artifact":1,"gen_end":23711,"gen_start":12536,"node":342,"role":"declaration","source":0,"src_end":17744,"src_start":9361},{"artifact":1,"gen_end":24243,"gen_start":23711,"node":343,"role":"declaration","source":0,"src_end":18105,"src_start":17746},{"artifact":1,"gen_end":25244,"gen_start":24243,"node":344,"role":"declaration","source":0,"src_end":18893,"src_start":18107},{"artifact":1,"gen_end":28814,"gen_start":25244,"node":345,"role":"declaration","source":0,"src_end":21516,"src_start":18895},{"artifact":1,"gen_end":29290,"gen_start":28814,"node":346,"role":"declaration","source":0,"src_end":21827,"src_start":21518},{"artifact":1,"gen_end":29894,"gen_start":29290,"node":347,"role":"declaration","source":0,"src_end":22311,"src_start":21829},{"artifact":1,"gen_end":31441,"gen_start":29894,"node":348,"role":"declaration","source":0,"src_end":23401,"src_start":22313},{"artifact":1,"gen_end":32185,"gen_start":31441,"node":349,"role":"declaration","source":0,"src_end":23910,"src_start":23403},{"artifact":1,"gen_end":32492,"gen_start":32185,"node":350,"role":"declaration","source":0,"src_end":24148,"src_start":23912},{"artifact":1,"gen_end":35867,"gen_start":32492,"node":351,"role":"declaration","source":0,"src_end":26592,"src_start":24150},{"artifact":1,"gen_end":36248,"gen_start":35867,"node":352,"role":"declaration","source":0,"src_end":26820,"src_start":26594},{"artifact":1,"gen_end":42499,"gen_start":36248,"node":353,"role":"declaration","source":0,"src_end":31444,"src_start":26822},{"artifact":1,"gen_end":42876,"gen_start":42499,"node":354,"role":"declaration","source":0,"src_end":31668,"src_start":31446},{"artifact":1,"gen_end":46094,"gen_start":42876,"node":355,"role":"declaration","source":0,"src_end":34045,"src_start":31670},{"artifact":1,"gen_end":46473,"gen_start":46094,"node":356,"role":"declaration","source":0,"src_end":34271,"src_start":34047},{"artifact":1,"gen_end":47084,"gen_start":46473,"node":357,"role":"declaration","source":0,"src_end":34728,"src_start":34273},{"artifact":1,"gen_end":54281,"gen_start":47084,"node":358,"role":"declaration","source":0,"src_end":40112,"src_start":34730},{"artifact":1,"gen_end":54664,"gen_start":54281,"node":359,"role":"declaration","source":0,"src_end":40342,"src_start":40114},{"artifact":1,"gen_end":55764,"gen_start":54664,"node":360,"role":"declaration","source":0,"src_end":41184,"src_start":40344},{"artifact":1,"gen_end":58237,"gen_start":55764,"node":361,"role":"declaration","source":0,"src_end":43042,"src_start":41186},{"artifact":1,"gen_end":58765,"gen_start":58237,"node":362,"role":"declaration","source":0,"src_end":43399,"src_start":43044},{"artifact":1,"gen_end":59085,"gen_start":58765,"node":363,"role":"declaration","source":0,"src_end":43650,"src_start":43401},{"artifact":1,"gen_end":62888,"gen_start":59085,"node":364,"role":"declaration","source":0,"src_end":46530,"src_start":43652},{"artifact":1,"gen_end":63376,"gen_start":62888,"node":365,"role":"declaration","source":0,"src_end":46853,"src_start":46532},{"artifact":1,"gen_end":63778,"gen_start":63376,"node":366,"role":"declaration","source":0,"src_end":47168,"src_start":46855},{"artifact":1,"gen_end":65567,"gen_start":63778,"node":367,"role":"declaration","source":0,"src_end":48492,"src_start":47170},{"artifact":1,"gen_end":66045,"gen_start":65567,"node":368,"role":"declaration","source":0,"src_end":48805,"src_start":48494},{"artifact":1,"gen_end":66361,"gen_start":66045,"node":369,"role":"declaration","source":0,"src_end":49052,"src_start":48807},{"artifact":1,"gen_end":69185,"gen_start":66361,"node":370,"role":"declaration","source":0,"src_end":51097,"src_start":49054},{"artifact":1,"gen_end":69622,"gen_start":69185,"node":371,"role":"declaration","source":0,"src_end":51375,"src_start":51099},{"artifact":1,"gen_end":69942,"gen_start":69622,"node":372,"role":"declaration","source":0,"src_end":51626,"src_start":51377},{"artifact":1,"gen_end":72656,"gen_start":69942,"node":373,"role":"declaration","source":0,"src_end":53608,"src_start":51628},{"artifact":1,"gen_end":73097,"gen_start":72656,"node":374,"role":"declaration","source":0,"src_end":53890,"src_start":53610},{"artifact":1,"gen_end":73420,"gen_start":73097,"node":375,"role":"declaration","source":0,"src_end":54144,"src_start":53892},{"artifact":1,"gen_end":74803,"gen_start":73420,"node":376,"role":"declaration","source":0,"src_end":55131,"src_start":54146},{"artifact":1,"gen_end":75232,"gen_start":74803,"node":377,"role":"declaration","source":0,"src_end":55401,"src_start":55133},{"artifact":1,"gen_end":75642,"gen_start":75232,"node":378,"role":"declaration","source":0,"src_end":55713,"src_start":55403},{"artifact":1,"gen_end":78829,"gen_start":75642,"node":379,"role":"declaration","source":0,"src_end":58081,"src_start":55715},{"artifact":1,"gen_end":79481,"gen_start":78829,"node":380,"role":"declaration","source":0,"src_end":58529,"src_start":58083},{"artifact":1,"gen_end":79972,"gen_start":79481,"node":381,"role":"declaration","source":0,"src_end":58912,"src_start":58531},{"artifact":1,"gen_end":84554,"gen_start":79972,"node":382,"role":"declaration","source":0,"src_end":62449,"src_start":58914},{"artifact":1,"gen_end":84927,"gen_start":84554,"node":383,"role":"declaration","source":0,"src_end":62669,"src_start":62451},{"artifact":1,"gen_end":85873,"gen_start":84927,"node":384,"role":"declaration","source":0,"src_end":63451,"src_start":62671},{"artifact":1,"gen_end":96993,"gen_start":85873,"node":385,"role":"declaration","source":0,"src_end":71974,"src_start":63453},{"artifact":1,"gen_end":97366,"gen_start":96993,"node":386,"role":"declaration","source":0,"src_end":72194,"src_start":71976},{"artifact":1,"gen_end":98305,"gen_start":97366,"node":387,"role":"declaration","source":0,"src_end":72834,"src_start":72196},{"artifact":1,"gen_end":98694,"gen_start":98305,"node":388,"role":"declaration","source":0,"src_end":73070,"src_start":72836},{"artifact":1,"gen_end":99659,"gen_start":98694,"node":389,"role":"declaration","source":0,"src_end":73736,"src_start":73072},{"artifact":1,"gen_end":100056,"gen_start":99659,"node":390,"role":"declaration","source":0,"src_end":73980,"src_start":73738},{"artifact":1,"gen_end":105663,"gen_start":100056,"node":391,"role":"declaration","source":0,"src_end":78216,"src_start":73982},{"artifact":1,"gen_end":106038,"gen_start":105663,"node":392,"role":"declaration","source":0,"src_end":78438,"src_start":78218},{"artifact":1,"gen_end":106741,"gen_start":106038,"node":393,"role":"declaration","source":0,"src_end":79009,"src_start":78440},{"artifact":1,"gen_end":108666,"gen_start":106741,"node":394,"role":"declaration","source":0,"src_end":80400,"src_start":79011},{"artifact":1,"gen_end":109115,"gen_start":108666,"node":395,"role":"declaration","source":0,"src_end":80690,"src_start":80402},{"artifact":1,"gen_end":109451,"gen_start":109115,"node":396,"role":"declaration","source":0,"src_end":80957,"src_start":80692},{"artifact":1,"gen_end":117105,"gen_start":109451,"node":397,"role":"declaration","source":0,"src_end":86862,"src_start":80959},{"artifact":1,"gen_end":117494,"gen_start":117105,"node":398,"role":"declaration","source":0,"src_end":87098,"src_start":86864},{"artifact":1,"gen_end":118581,"gen_start":117494,"node":399,"role":"declaration","source":0,"src_end":87978,"src_start":87100},{"artifact":1,"gen_end":126205,"gen_start":118581,"node":400,"role":"declaration","source":0,"src_end":93861,"src_start":87980},{"artifact":1,"gen_end":126598,"gen_start":126205,"node":401,"role":"declaration","source":0,"src_end":94101,"src_start":93863},{"artifact":1,"gen_end":127598,"gen_start":126598,"node":402,"role":"declaration","source":0,"src_end":94912,"src_start":94103},{"artifact":1,"gen_end":140962,"gen_start":127598,"node":403,"role":"declaration","source":0,"src_end":105303,"src_start":94914},{"artifact":1,"gen_end":141357,"gen_start":140962,"node":404,"role":"declaration","source":0,"src_end":105545,"src_start":105305},{"artifact":1,"gen_end":142958,"gen_start":141357,"node":405,"role":"declaration","source":0,"src_end":106810,"src_start":105547},{"artifact":1,"gen_end":151261,"gen_start":142958,"node":406,"role":"declaration","source":0,"src_end":113236,"src_start":106812},{"artifact":1,"gen_end":151656,"gen_start":151261,"node":407,"role":"declaration","source":0,"src_end":113478,"src_start":113238},{"artifact":1,"gen_end":152667,"gen_start":151656,"node":408,"role":"declaration","source":0,"src_end":114319,"src_start":113480},{"artifact":1,"gen_end":163905,"gen_start":152667,"node":409,"role":"declaration","source":0,"src_end":123112,"src_start":114321},{"artifact":1,"gen_end":164296,"gen_start":163905,"node":410,"role":"declaration","source":0,"src_end":123350,"src_start":123114},{"artifact":1,"gen_end":165596,"gen_start":164296,"node":411,"role":"declaration","source":0,"src_end":124433,"src_start":123352},{"artifact":1,"gen_end":167240,"gen_start":165596,"node":412,"role":"declaration","source":0,"src_end":125634,"src_start":124435},{"artifact":1,"gen_end":167745,"gen_start":167240,"node":413,"role":"declaration","source":0,"src_end":125974,"src_start":125636},{"artifact":1,"gen_end":169389,"gen_start":167745,"node":414,"role":"declaration","source":0,"src_end":127175,"src_start":125976},{"artifact":1,"gen_end":169904,"gen_start":169389,"node":415,"role":"declaration","source":0,"src_end":127525,"src_start":127177},{"artifact":1,"gen_end":171548,"gen_start":169904,"node":416,"role":"declaration","source":0,"src_end":128726,"src_start":127527},{"artifact":1,"gen_end":172081,"gen_start":171548,"node":417,"role":"declaration","source":0,"src_end":129094,"src_start":128728},{"artifact":1,"gen_end":173720,"gen_start":172081,"node":418,"role":"declaration","source":0,"src_end":130290,"src_start":129096},{"artifact":1,"gen_end":174217,"gen_start":173720,"node":419,"role":"declaration","source":0,"src_end":130622,"src_start":130292},{"artifact":1,"gen_end":175861,"gen_start":174217,"node":420,"role":"declaration","source":0,"src_end":131823,"src_start":130624},{"artifact":1,"gen_end":176362,"gen_start":175861,"node":421,"role":"declaration","source":0,"src_end":132159,"src_start":131825},{"artifact":1,"gen_end":178006,"gen_start":176362,"node":422,"role":"declaration","source":0,"src_end":133360,"src_start":132161},{"artifact":1,"gen_end":178512,"gen_start":178006,"node":423,"role":"declaration","source":0,"src_end":133701,"src_start":133362},{"artifact":1,"gen_end":180156,"gen_start":178512,"node":424,"role":"declaration","source":0,"src_end":134902,"src_start":133703},{"artifact":1,"gen_end":180672,"gen_start":180156,"node":425,"role":"declaration","source":0,"src_end":135253,"src_start":134904},{"artifact":1,"gen_end":182311,"gen_start":180672,"node":426,"role":"declaration","source":0,"src_end":136449,"src_start":135255},{"artifact":1,"gen_end":182806,"gen_start":182311,"node":427,"role":"declaration","source":0,"src_end":136779,"src_start":136451},{"artifact":1,"gen_end":205438,"gen_start":182806,"node":428,"role":"declaration","source":0,"src_end":154522,"src_start":136781},{"artifact":1,"gen_end":206001,"gen_start":205438,"node":429,"role":"declaration","source":0,"src_end":154914,"src_start":154524},{"artifact":1,"gen_end":207871,"gen_start":206001,"node":430,"role":"declaration","source":0,"src_end":156415,"src_start":154916},{"artifact":1,"gen_end":230503,"gen_start":207871,"node":431,"role":"declaration","source":0,"src_end":174158,"src_start":156417},{"artifact":1,"gen_end":231076,"gen_start":230503,"node":432,"role":"declaration","source":0,"src_end":174560,"src_start":174160},{"artifact":1,"gen_end":232961,"gen_start":231076,"node":433,"role":"declaration","source":0,"src_end":176076,"src_start":174562},{"artifact":1,"gen_end":255593,"gen_start":232961,"node":434,"role":"declaration","source":0,"src_end":193819,"src_start":176078},{"artifact":1,"gen_end":256184,"gen_start":255593,"node":435,"role":"declaration","source":0,"src_end":194239,"src_start":193821},{"artifact":1,"gen_end":258097,"gen_start":256184,"node":436,"role":"declaration","source":0,"src_end":195783,"src_start":194241},{"artifact":1,"gen_end":280620,"gen_start":258097,"node":437,"role":"declaration","source":0,"src_end":213417,"src_start":195785},{"artifact":1,"gen_end":281173,"gen_start":280620,"node":438,"role":"declaration","source":0,"src_end":213799,"src_start":213419},{"artifact":1,"gen_end":282962,"gen_start":281173,"node":439,"role":"declaration","source":0,"src_end":215229,"src_start":213801},{"artifact":1,"gen_end":303154,"gen_start":282962,"node":440,"role":"declaration","source":0,"src_end":231048,"src_start":215231},{"artifact":1,"gen_end":303714,"gen_start":303154,"node":441,"role":"declaration","source":0,"src_end":231437,"src_start":231050},{"artifact":1,"gen_end":305412,"gen_start":303714,"node":442,"role":"declaration","source":0,"src_end":232802,"src_start":231439},{"artifact":1,"gen_end":325604,"gen_start":305412,"node":443,"role":"declaration","source":0,"src_end":248621,"src_start":232804},{"artifact":1,"gen_end":326169,"gen_start":325604,"node":444,"role":"declaration","source":0,"src_end":249015,"src_start":248623},{"artifact":1,"gen_end":327892,"gen_start":326169,"node":445,"role":"declaration","source":0,"src_end":250405,"src_start":249017},{"artifact":1,"gen_end":348084,"gen_start":327892,"node":446,"role":"declaration","source":0,"src_end":266224,"src_start":250407},{"artifact":1,"gen_end":348659,"gen_start":348084,"node":447,"role":"declaration","source":0,"src_end":266628,"src_start":266226},{"artifact":1,"gen_end":350431,"gen_start":348659,"node":448,"role":"declaration","source":0,"src_end":268067,"src_start":266630},{"artifact":1,"gen_end":370528,"gen_start":350431,"node":449,"role":"declaration","source":0,"src_end":283791,"src_start":268069},{"artifact":1,"gen_end":371080,"gen_start":370528,"node":450,"role":"declaration","source":0,"src_end":284172,"src_start":283793},{"artifact":1,"gen_end":372695,"gen_start":371080,"node":451,"role":"declaration","source":0,"src_end":285464,"src_start":284174},{"artifact":1,"gen_end":390843,"gen_start":372695,"node":452,"role":"declaration","source":0,"src_end":299241,"src_start":285466},{"artifact":1,"gen_end":391230,"gen_start":390843,"node":453,"role":"declaration","source":0,"src_end":299475,"src_start":299243},{"artifact":1,"gen_end":392329,"gen_start":391230,"node":454,"role":"declaration","source":0,"src_end":300339,"src_start":299477},{"artifact":1,"gen_end":419711,"gen_start":392329,"node":455,"role":"declaration","source":0,"src_end":321194,"src_start":300341},{"artifact":1,"gen_end":421121,"gen_start":419711,"node":456,"role":"declaration","source":0,"src_end":322214,"src_start":321196},{"artifact":1,"gen_end":421669,"gen_start":421121,"node":457,"role":"declaration","source":0,"src_end":322648,"src_start":322216},{"artifact":1,"gen_end":422205,"gen_start":421669,"node":458,"role":"declaration","source":0,"src_end":323189,"src_start":322650},{"artifact":1,"gen_end":449593,"gen_start":422205,"node":459,"role":"declaration","source":0,"src_end":344050,"src_start":323191},{"artifact":1,"gen_end":451015,"gen_start":449593,"node":460,"role":"declaration","source":0,"src_end":345082,"src_start":344052},{"artifact":1,"gen_end":451436,"gen_start":451015,"node":461,"role":"declaration","source":0,"src_end":345407,"src_start":345084},{"artifact":1,"gen_end":451983,"gen_start":451436,"node":462,"role":"declaration","source":0,"src_end":345959,"src_start":345409},{"artifact":1,"gen_end":479370,"gen_start":451983,"node":463,"role":"declaration","source":0,"src_end":366819,"src_start":345961},{"artifact":1,"gen_end":480790,"gen_start":479370,"node":464,"role":"declaration","source":0,"src_end":367849,"src_start":366821},{"artifact":1,"gen_end":481256,"gen_start":480790,"node":465,"role":"declaration","source":0,"src_end":368213,"src_start":367851},{"artifact":1,"gen_end":481802,"gen_start":481256,"node":466,"role":"declaration","source":0,"src_end":368764,"src_start":368215},{"artifact":1,"gen_end":486841,"gen_start":481802,"node":467,"role":"declaration","source":0,"src_end":372530,"src_start":368766},{"artifact":1,"gen_end":488253,"gen_start":486841,"node":468,"role":"declaration","source":0,"src_end":373552,"src_start":372532},{"artifact":1,"gen_end":488709,"gen_start":488253,"node":469,"role":"declaration","source":0,"src_end":373906,"src_start":373554},{"artifact":1,"gen_end":489246,"gen_start":488709,"node":470,"role":"declaration","source":0,"src_end":374448,"src_start":373908},{"artifact":1,"gen_end":494291,"gen_start":489246,"node":471,"role":"declaration","source":0,"src_end":378220,"src_start":374450},{"artifact":1,"gen_end":495715,"gen_start":494291,"node":472,"role":"declaration","source":0,"src_end":379254,"src_start":378222},{"artifact":1,"gen_end":496092,"gen_start":495715,"node":473,"role":"declaration","source":0,"src_end":379541,"src_start":379256},{"artifact":1,"gen_end":496642,"gen_start":496092,"node":474,"role":"declaration","source":0,"src_end":380096,"src_start":379543},{"artifact":1,"gen_end":523330,"gen_start":496642,"node":475,"role":"declaration","source":0,"src_end":400342,"src_start":380098},{"artifact":1,"gen_end":524698,"gen_start":523330,"node":476,"role":"declaration","source":0,"src_end":401326,"src_start":400344},{"artifact":1,"gen_end":525290,"gen_start":524698,"node":477,"role":"declaration","source":0,"src_end":401796,"src_start":401328},{"artifact":1,"gen_end":525927,"gen_start":525290,"node":478,"role":"declaration","source":0,"src_end":402462,"src_start":401798},{"artifact":1,"gen_end":552620,"gen_start":525927,"node":479,"role":"declaration","source":0,"src_end":422713,"src_start":402464},{"artifact":1,"gen_end":553777,"gen_start":552620,"node":480,"role":"declaration","source":0,"src_end":423537,"src_start":422715},{"artifact":1,"gen_end":554106,"gen_start":553777,"node":481,"role":"declaration","source":0,"src_end":423799,"src_start":423539},{"artifact":1,"gen_end":554741,"gen_start":554106,"node":482,"role":"declaration","source":0,"src_end":424408,"src_start":423801},{"artifact":1,"gen_end":564291,"gen_start":554741,"node":483,"role":"declaration","source":0,"src_end":431829,"src_start":424410},{"artifact":1,"gen_end":564676,"gen_start":564291,"node":484,"role":"declaration","source":0,"src_end":432061,"src_start":431831},{"artifact":1,"gen_end":565768,"gen_start":564676,"node":485,"role":"declaration","source":0,"src_end":432985,"src_start":432063},{"artifact":1,"gen_end":566755,"gen_start":565768,"node":486,"role":"declaration","source":0,"src_end":433667,"src_start":432987},{"artifact":1,"gen_end":567142,"gen_start":566755,"node":487,"role":"declaration","source":0,"src_end":433901,"src_start":433669},{"artifact":1,"gen_end":567417,"gen_start":567142,"node":488,"role":"declaration","source":0,"src_end":434117,"src_start":433903},{"artifact":1,"gen_end":568275,"gen_start":567417,"node":489,"role":"declaration","source":0,"src_end":434692,"src_start":434119},{"artifact":1,"gen_end":568662,"gen_start":568275,"node":490,"role":"declaration","source":0,"src_end":434926,"src_start":434694},{"artifact":1,"gen_end":568937,"gen_start":568662,"node":491,"role":"declaration","source":0,"src_end":435142,"src_start":434928},{"artifact":1,"gen_end":570058,"gen_start":568937,"node":492,"role":"declaration","source":0,"src_end":435936,"src_start":435144},{"artifact":1,"gen_end":570447,"gen_start":570058,"node":493,"role":"declaration","source":0,"src_end":436172,"src_start":435938},{"artifact":1,"gen_end":570724,"gen_start":570447,"node":494,"role":"declaration","source":0,"src_end":436390,"src_start":436174},{"artifact":1,"gen_end":571712,"gen_start":570724,"node":495,"role":"declaration","source":0,"src_end":437073,"src_start":436392},{"artifact":1,"gen_end":572099,"gen_start":571712,"node":496,"role":"declaration","source":0,"src_end":437307,"src_start":437075},{"artifact":1,"gen_end":572374,"gen_start":572099,"node":497,"role":"declaration","source":0,"src_end":437523,"src_start":437309},{"artifact":1,"gen_end":575115,"gen_start":572374,"node":498,"role":"declaration","source":0,"src_end":439549,"src_start":437525},{"artifact":1,"gen_end":575535,"gen_start":575115,"node":499,"role":"declaration","source":0,"src_end":439810,"src_start":439551},{"artifact":1,"gen_end":575839,"gen_start":575535,"node":500,"role":"declaration","source":0,"src_end":440045,"src_start":439812},{"artifact":1,"gen_end":576219,"gen_start":575839,"node":501,"role":"declaration","source":0,"src_end":440336,"src_start":440047},{"artifact":1,"gen_end":581330,"gen_start":576219,"node":502,"role":"declaration","source":0,"src_end":444150,"src_start":440338},{"artifact":1,"gen_end":581761,"gen_start":581330,"node":503,"role":"declaration","source":0,"src_end":444422,"src_start":444152},{"artifact":1,"gen_end":582161,"gen_start":581761,"node":504,"role":"declaration","source":0,"src_end":444735,"src_start":444424},{"artifact":1,"gen_end":582891,"gen_start":582161,"node":505,"role":"declaration","source":0,"src_end":445365,"src_start":444737},{"artifact":1,"gen_end":588009,"gen_start":582891,"node":506,"role":"declaration","source":0,"src_end":449186,"src_start":445367},{"artifact":1,"gen_end":588453,"gen_start":588009,"node":507,"role":"declaration","source":0,"src_end":449471,"src_start":449188},{"artifact":1,"gen_end":588867,"gen_start":588453,"node":508,"role":"declaration","source":0,"src_end":449798,"src_start":449473},{"artifact":1,"gen_end":589608,"gen_start":588867,"node":509,"role":"declaration","source":0,"src_end":450439,"src_start":449800},{"artifact":1,"gen_end":590610,"gen_start":589608,"node":510,"role":"declaration","source":0,"src_end":451140,"src_start":450441},{"artifact":1,"gen_end":593051,"gen_start":590610,"node":511,"role":"declaration","source":0,"src_end":453134,"src_start":451142},{"artifact":1,"gen_end":595283,"gen_start":593051,"node":512,"role":"declaration","source":0,"src_end":455036,"src_start":453136},{"artifact":1,"gen_end":598645,"gen_start":595283,"node":513,"role":"declaration","source":0,"src_end":457573,"src_start":455038},{"artifact":1,"gen_end":599273,"gen_start":598645,"node":514,"role":"declaration","source":0,"src_end":457997,"src_start":457575},{"artifact":1,"gen_end":599579,"gen_start":599273,"node":515,"role":"declaration","source":0,"src_end":458234,"src_start":457999},{"artifact":1,"gen_end":600104,"gen_start":599579,"node":516,"role":"declaration","source":0,"src_end":458637,"src_start":458236},{"artifact":1,"gen_end":606701,"gen_start":600104,"node":517,"role":"declaration","source":0,"src_end":463681,"src_start":458639},{"artifact":1,"gen_end":607300,"gen_start":606701,"node":518,"role":"declaration","source":0,"src_end":464082,"src_start":463683},{"artifact":1,"gen_end":608455,"gen_start":607300,"node":519,"role":"declaration","source":0,"src_end":464988,"src_start":464084},{"artifact":1,"gen_end":615308,"gen_start":608455,"node":520,"role":"declaration","source":0,"src_end":470464,"src_start":464990},{"artifact":1,"gen_end":615683,"gen_start":615308,"node":521,"role":"declaration","source":0,"src_end":470686,"src_start":470466},{"artifact":1,"gen_end":617785,"gen_start":615683,"node":522,"role":"declaration","source":0,"src_end":472433,"src_start":470688},{"artifact":1,"gen_end":622495,"gen_start":617785,"node":523,"role":"declaration","source":0,"src_end":475937,"src_start":472435},{"artifact":1,"gen_end":623283,"gen_start":622495,"node":524,"role":"declaration","source":0,"src_end":476491,"src_start":475939},{"artifact":1,"gen_end":623597,"gen_start":623283,"node":525,"role":"declaration","source":0,"src_end":476736,"src_start":476493},{"artifact":1,"gen_end":624003,"gen_start":623597,"node":526,"role":"declaration","source":0,"src_end":477112,"src_start":476738},{"artifact":1,"gen_end":627555,"gen_start":624003,"node":527,"role":"declaration","source":0,"src_end":479803,"src_start":477114},{"artifact":1,"gen_end":628289,"gen_start":627555,"node":528,"role":"declaration","source":0,"src_end":480309,"src_start":479805},{"artifact":1,"gen_end":628593,"gen_start":628289,"node":529,"role":"declaration","source":0,"src_end":480544,"src_start":480311},{"artifact":1,"gen_end":629095,"gen_start":628593,"node":530,"role":"declaration","source":0,"src_end":481002,"src_start":480546},{"artifact":1,"gen_end":634882,"gen_start":629095,"node":531,"role":"declaration","source":0,"src_end":485403,"src_start":481004},{"artifact":1,"gen_end":635717,"gen_start":634882,"node":532,"role":"declaration","source":0,"src_end":485998,"src_start":485405},{"artifact":1,"gen_end":636471,"gen_start":635717,"node":533,"role":"declaration","source":0,"src_end":486590,"src_start":486000},{"artifact":1,"gen_end":637002,"gen_start":636471,"node":534,"role":"declaration","source":0,"src_end":487052,"src_start":486592},{"artifact":1,"gen_end":642793,"gen_start":637002,"node":535,"role":"declaration","source":0,"src_end":491457,"src_start":487054},{"artifact":1,"gen_end":643636,"gen_start":642793,"node":536,"role":"declaration","source":0,"src_end":492060,"src_start":491459},{"artifact":1,"gen_end":644398,"gen_start":643636,"node":537,"role":"declaration","source":0,"src_end":492660,"src_start":492062},{"artifact":1,"gen_end":644937,"gen_start":644398,"node":538,"role":"declaration","source":0,"src_end":493130,"src_start":492662},{"artifact":1,"gen_end":650731,"gen_start":644937,"node":539,"role":"declaration","source":0,"src_end":497538,"src_start":493132},{"artifact":1,"gen_end":651580,"gen_start":650731,"node":540,"role":"declaration","source":0,"src_end":498147,"src_start":497540},{"artifact":1,"gen_end":652214,"gen_start":651580,"node":541,"role":"declaration","source":0,"src_end":498643,"src_start":498149},{"artifact":1,"gen_end":652759,"gen_start":652214,"node":542,"role":"declaration","source":0,"src_end":499119,"src_start":498645},{"artifact":1,"gen_end":655106,"gen_start":652759,"node":543,"role":"declaration","source":0,"src_end":500822,"src_start":499121},{"artifact":1,"gen_end":655840,"gen_start":655106,"node":544,"role":"declaration","source":0,"src_end":501328,"src_start":500824},{"artifact":1,"gen_end":656280,"gen_start":655840,"node":545,"role":"declaration","source":0,"src_end":501666,"src_start":501330},{"artifact":1,"gen_end":656716,"gen_start":656280,"node":546,"role":"declaration","source":0,"src_end":502061,"src_start":501668},{"artifact":1,"gen_end":660211,"gen_start":656716,"node":547,"role":"declaration","source":0,"src_end":504649,"src_start":502063},{"artifact":1,"gen_end":660995,"gen_start":660211,"node":548,"role":"declaration","source":0,"src_end":505199,"src_start":504651},{"artifact":1,"gen_end":661346,"gen_start":660995,"node":549,"role":"declaration","source":0,"src_end":505473,"src_start":505201},{"artifact":1,"gen_end":661896,"gen_start":661346,"node":550,"role":"declaration","source":0,"src_end":505990,"src_start":505475},{"artifact":1,"gen_end":665397,"gen_start":661896,"node":551,"role":"declaration","source":0,"src_end":508584,"src_start":505992},{"artifact":1,"gen_end":666193,"gen_start":665397,"node":552,"role":"declaration","source":0,"src_end":509146,"src_start":508586},{"artifact":1,"gen_end":666508,"gen_start":666193,"node":553,"role":"declaration","source":0,"src_end":509394,"src_start":509148},{"artifact":1,"gen_end":667070,"gen_start":666508,"node":554,"role":"declaration","source":0,"src_end":509923,"src_start":509396},{"artifact":1,"gen_end":670830,"gen_start":667070,"node":555,"role":"declaration","source":0,"src_end":512727,"src_start":509925},{"artifact":1,"gen_end":671614,"gen_start":670830,"node":556,"role":"declaration","source":0,"src_end":513277,"src_start":512729},{"artifact":1,"gen_end":672100,"gen_start":671614,"node":557,"role":"declaration","source":0,"src_end":513649,"src_start":513279},{"artifact":1,"gen_end":672625,"gen_start":672100,"node":558,"role":"declaration","source":0,"src_end":514107,"src_start":513651},{"artifact":1,"gen_end":676391,"gen_start":672625,"node":559,"role":"declaration","source":0,"src_end":516917,"src_start":514109},{"artifact":1,"gen_end":677187,"gen_start":676391,"node":560,"role":"declaration","source":0,"src_end":517479,"src_start":516919},{"artifact":1,"gen_end":677819,"gen_start":677187,"node":561,"role":"declaration","source":0,"src_end":517973,"src_start":517481},{"artifact":1,"gen_end":678356,"gen_start":677819,"node":562,"role":"declaration","source":0,"src_end":518443,"src_start":517975},{"artifact":1,"gen_end":680721,"gen_start":678356,"node":563,"role":"declaration","source":0,"src_end":520164,"src_start":518445},{"artifact":1,"gen_end":681459,"gen_start":680721,"node":564,"role":"declaration","source":0,"src_end":520674,"src_start":520166},{"artifact":1,"gen_end":681913,"gen_start":681459,"node":565,"role":"declaration","source":0,"src_end":521026,"src_start":520676},{"artifact":1,"gen_end":682361,"gen_start":681913,"node":566,"role":"declaration","source":0,"src_end":521433,"src_start":521028},{"artifact":1,"gen_end":696635,"gen_start":682361,"node":567,"role":"declaration","source":0,"src_end":532181,"src_start":521435},{"artifact":1,"gen_end":697423,"gen_start":696635,"node":568,"role":"declaration","source":0,"src_end":532741,"src_start":532183},{"artifact":1,"gen_end":698609,"gen_start":697423,"node":569,"role":"declaration","source":0,"src_end":533667,"src_start":532743},{"artifact":1,"gen_end":708673,"gen_start":698609,"node":570,"role":"declaration","source":0,"src_end":541388,"src_start":533669},{"artifact":1,"gen_end":709058,"gen_start":708673,"node":571,"role":"declaration","source":0,"src_end":541620,"src_start":541390},{"artifact":1,"gen_end":710239,"gen_start":709058,"node":572,"role":"declaration","source":0,"src_end":542588,"src_start":541622},{"artifact":1,"gen_end":711211,"gen_start":710239,"node":573,"role":"declaration","source":0,"src_end":543255,"src_start":542590},{"artifact":1,"gen_end":711598,"gen_start":711211,"node":574,"role":"declaration","source":0,"src_end":543489,"src_start":543257},{"artifact":1,"gen_end":711873,"gen_start":711598,"node":575,"role":"declaration","source":0,"src_end":543705,"src_start":543491},{"artifact":1,"gen_end":712844,"gen_start":711873,"node":576,"role":"declaration","source":0,"src_end":544371,"src_start":543707},{"artifact":1,"gen_end":713231,"gen_start":712844,"node":577,"role":"declaration","source":0,"src_end":544605,"src_start":544373},{"artifact":1,"gen_end":713506,"gen_start":713231,"node":578,"role":"declaration","source":0,"src_end":544821,"src_start":544607},{"artifact":1,"gen_end":714734,"gen_start":713506,"node":579,"role":"declaration","source":0,"src_end":545687,"src_start":544823},{"artifact":1,"gen_end":715127,"gen_start":714734,"node":580,"role":"declaration","source":0,"src_end":545927,"src_start":545689},{"artifact":1,"gen_end":715408,"gen_start":715127,"node":581,"role":"declaration","source":0,"src_end":546149,"src_start":545929},{"artifact":1,"gen_end":716295,"gen_start":715408,"node":582,"role":"declaration","source":0,"src_end":546745,"src_start":546151},{"artifact":1,"gen_end":716684,"gen_start":716295,"node":583,"role":"declaration","source":0,"src_end":546981,"src_start":546747},{"artifact":1,"gen_end":716961,"gen_start":716684,"node":584,"role":"declaration","source":0,"src_end":547199,"src_start":546983},{"artifact":1,"gen_end":734935,"gen_start":716961,"node":585,"role":"declaration","source":0,"src_end":560813,"src_start":547201},{"artifact":1,"gen_end":735310,"gen_start":734935,"node":586,"role":"declaration","source":0,"src_end":561035,"src_start":560815},{"artifact":1,"gen_end":736511,"gen_start":735310,"node":587,"role":"declaration","source":0,"src_end":562011,"src_start":561037},{"artifact":1,"gen_end":738745,"gen_start":736511,"node":588,"role":"declaration","source":0,"src_end":563607,"src_start":562013},{"artifact":1,"gen_end":739444,"gen_start":738745,"node":589,"role":"declaration","source":0,"src_end":564088,"src_start":563609},{"artifact":1,"gen_end":739765,"gen_start":739444,"node":590,"role":"declaration","source":0,"src_end":564340,"src_start":564090},{"artifact":1,"gen_end":741856,"gen_start":739765,"node":591,"role":"declaration","source":0,"src_end":565874,"src_start":564342},{"artifact":1,"gen_end":742473,"gen_start":741856,"node":592,"role":"declaration","source":0,"src_end":566291,"src_start":565876},{"artifact":1,"gen_end":742952,"gen_start":742473,"node":593,"role":"declaration","source":0,"src_end":566665,"src_start":566293},{"artifact":1,"gen_end":745886,"gen_start":742952,"node":594,"role":"declaration","source":0,"src_end":568802,"src_start":566667},{"artifact":1,"gen_end":746544,"gen_start":745886,"node":595,"role":"declaration","source":0,"src_end":569256,"src_start":568804},{"artifact":1,"gen_end":746858,"gen_start":746544,"node":596,"role":"declaration","source":0,"src_end":569501,"src_start":569258},{"artifact":1,"gen_end":747237,"gen_start":746858,"node":597,"role":"declaration","source":0,"src_end":569828,"src_start":569503},{"artifact":1,"gen_end":750177,"gen_start":747237,"node":598,"role":"declaration","source":0,"src_end":571971,"src_start":569830},{"artifact":1,"gen_end":750847,"gen_start":750177,"node":599,"role":"declaration","source":0,"src_end":572437,"src_start":571973},{"artifact":1,"gen_end":751174,"gen_start":750847,"node":600,"role":"declaration","source":0,"src_end":572695,"src_start":572439},{"artifact":1,"gen_end":751565,"gen_start":751174,"node":601,"role":"declaration","source":0,"src_end":573034,"src_start":572697},{"artifact":1,"gen_end":756428,"gen_start":751565,"node":602,"role":"declaration","source":0,"src_end":576645,"src_start":573036},{"artifact":1,"gen_end":757274,"gen_start":756428,"node":603,"role":"declaration","source":0,"src_end":577248,"src_start":576647},{"artifact":1,"gen_end":757727,"gen_start":757274,"node":604,"role":"declaration","source":0,"src_end":577599,"src_start":577250},{"artifact":1,"gen_end":758229,"gen_start":757727,"node":605,"role":"declaration","source":0,"src_end":578043,"src_start":577601},{"artifact":1,"gen_end":761357,"gen_start":758229,"node":606,"role":"declaration","source":0,"src_end":580389,"src_start":578045},{"artifact":1,"gen_end":761961,"gen_start":761357,"node":607,"role":"declaration","source":0,"src_end":580795,"src_start":580391},{"artifact":1,"gen_end":762266,"gen_start":761961,"node":608,"role":"declaration","source":0,"src_end":581031,"src_start":580797},{"artifact":1,"gen_end":762730,"gen_start":762266,"node":609,"role":"declaration","source":0,"src_end":581427,"src_start":581033},{"artifact":1,"gen_end":766356,"gen_start":762730,"node":610,"role":"declaration","source":0,"src_end":584119,"src_start":581429},{"artifact":1,"gen_end":766935,"gen_start":766356,"node":611,"role":"declaration","source":0,"src_end":584506,"src_start":584121},{"artifact":1,"gen_end":767396,"gen_start":766935,"node":612,"role":"declaration","source":0,"src_end":584865,"src_start":584508},{"artifact":1,"gen_end":767875,"gen_start":767396,"node":613,"role":"declaration","source":0,"src_end":585264,"src_start":584867},{"artifact":1,"gen_end":771488,"gen_start":767875,"node":614,"role":"declaration","source":0,"src_end":587943,"src_start":585266},{"artifact":1,"gen_end":772128,"gen_start":771488,"node":615,"role":"declaration","source":0,"src_end":588385,"src_start":587945},{"artifact":1,"gen_end":772650,"gen_start":772128,"node":616,"role":"declaration","source":0,"src_end":588799,"src_start":588387},{"artifact":1,"gen_end":773145,"gen_start":772650,"node":617,"role":"declaration","source":0,"src_end":589214,"src_start":588801},{"artifact":1,"gen_end":777263,"gen_start":773145,"node":618,"role":"declaration","source":0,"src_end":592302,"src_start":589216},{"artifact":1,"gen_end":777907,"gen_start":777263,"node":619,"role":"declaration","source":0,"src_end":592748,"src_start":592304},{"artifact":1,"gen_end":778433,"gen_start":777907,"node":620,"role":"declaration","source":0,"src_end":593166,"src_start":592750},{"artifact":1,"gen_end":778937,"gen_start":778433,"node":621,"role":"declaration","source":0,"src_end":593590,"src_start":593168},{"artifact":1,"gen_end":782550,"gen_start":778937,"node":622,"role":"declaration","source":0,"src_end":596269,"src_start":593592},{"artifact":1,"gen_end":783210,"gen_start":782550,"node":623,"role":"declaration","source":0,"src_end":596725,"src_start":596271},{"artifact":1,"gen_end":783752,"gen_start":783210,"node":624,"role":"declaration","source":0,"src_end":597153,"src_start":596727},{"artifact":1,"gen_end":784224,"gen_start":783752,"node":625,"role":"declaration","source":0,"src_end":597545,"src_start":597155},{"artifact":1,"gen_end":788753,"gen_start":784224,"node":626,"role":"declaration","source":0,"src_end":600948,"src_start":597547},{"artifact":1,"gen_end":789639,"gen_start":788753,"node":627,"role":"declaration","source":0,"src_end":601582,"src_start":600950},{"artifact":1,"gen_end":790407,"gen_start":789639,"node":628,"role":"declaration","source":0,"src_end":602188,"src_start":601584},{"artifact":1,"gen_end":790965,"gen_start":790407,"node":629,"role":"declaration","source":0,"src_end":602645,"src_start":602190},{"artifact":1,"gen_end":794617,"gen_start":790965,"node":630,"role":"declaration","source":0,"src_end":605363,"src_start":602647},{"artifact":1,"gen_end":795259,"gen_start":794617,"node":631,"role":"declaration","source":0,"src_end":605801,"src_start":605365},{"artifact":1,"gen_end":795783,"gen_start":795259,"node":632,"role":"declaration","source":0,"src_end":606211,"src_start":605803},{"artifact":1,"gen_end":796283,"gen_start":795783,"node":633,"role":"declaration","source":0,"src_end":606625,"src_start":606213},{"artifact":1,"gen_end":801148,"gen_start":796283,"node":634,"role":"declaration","source":0,"src_end":610238,"src_start":606627},{"artifact":1,"gen_end":801998,"gen_start":801148,"node":635,"role":"declaration","source":0,"src_end":610845,"src_start":610240},{"artifact":1,"gen_end":802409,"gen_start":801998,"node":636,"role":"declaration","source":0,"src_end":611160,"src_start":610847},{"artifact":1,"gen_end":802917,"gen_start":802409,"node":637,"role":"declaration","source":0,"src_end":611610,"src_start":611162},{"artifact":1,"gen_end":806029,"gen_start":802917,"node":638,"role":"declaration","source":0,"src_end":613902,"src_start":611612},{"artifact":1,"gen_end":806683,"gen_start":806029,"node":639,"role":"declaration","source":0,"src_end":614352,"src_start":613904},{"artifact":1,"gen_end":807127,"gen_start":806683,"node":640,"role":"declaration","source":0,"src_end":614694,"src_start":614354},{"artifact":1,"gen_end":807593,"gen_start":807127,"node":641,"role":"declaration","source":0,"src_end":615080,"src_start":614696},{"artifact":1,"gen_end":810711,"gen_start":807593,"node":642,"role":"declaration","source":0,"src_end":617378,"src_start":615082},{"artifact":1,"gen_end":811377,"gen_start":810711,"node":643,"role":"declaration","source":0,"src_end":617840,"src_start":617380},{"artifact":1,"gen_end":811879,"gen_start":811377,"node":644,"role":"declaration","source":0,"src_end":618234,"src_start":617842},{"artifact":1,"gen_end":812357,"gen_start":811879,"node":645,"role":"declaration","source":0,"src_end":618632,"src_start":618236},{"artifact":1,"gen_end":817188,"gen_start":812357,"node":646,"role":"declaration","source":0,"src_end":622247,"src_start":618634},{"artifact":1,"gen_end":818024,"gen_start":817188,"node":647,"role":"declaration","source":0,"src_end":622840,"src_start":622249},{"artifact":1,"gen_end":818605,"gen_start":818024,"node":648,"role":"declaration","source":0,"src_end":623301,"src_start":622842},{"artifact":1,"gen_end":819092,"gen_start":818605,"node":649,"role":"declaration","source":0,"src_end":623730,"src_start":623303},{"artifact":1,"gen_end":827983,"gen_start":819092,"node":650,"role":"declaration","source":0,"src_end":630646,"src_start":623732},{"artifact":1,"gen_end":828366,"gen_start":827983,"node":651,"role":"declaration","source":0,"src_end":630876,"src_start":630648},{"artifact":1,"gen_end":830219,"gen_start":828366,"node":652,"role":"declaration","source":0,"src_end":632082,"src_start":630878},{"artifact":1,"gen_end":830650,"gen_start":830219,"node":653,"role":"declaration","source":0,"src_end":632354,"src_start":632084},{"artifact":1,"gen_end":831225,"gen_start":830650,"node":654,"role":"declaration","source":0,"src_end":632730,"src_start":632356},{"artifact":1,"gen_end":832829,"gen_start":831225,"node":655,"role":"declaration","source":0,"src_end":633854,"src_start":632732},{"artifact":1,"gen_end":833246,"gen_start":832829,"node":656,"role":"declaration","source":0,"src_end":634112,"src_start":633856},{"artifact":1,"gen_end":833546,"gen_start":833246,"node":657,"role":"declaration","source":0,"src_end":634343,"src_start":634114},{"artifact":1,"gen_end":835159,"gen_start":833546,"node":658,"role":"declaration","source":0,"src_end":635476,"src_start":634345},{"artifact":1,"gen_end":835592,"gen_start":835159,"node":659,"role":"declaration","source":0,"src_end":635750,"src_start":635478},{"artifact":1,"gen_end":835864,"gen_start":835592,"node":660,"role":"declaration","source":0,"src_end":635965,"src_start":635752},{"artifact":1,"gen_end":841611,"gen_start":835864,"node":661,"role":"declaration","source":0,"src_end":640246,"src_start":635967},{"artifact":1,"gen_end":842040,"gen_start":841611,"node":662,"role":"declaration","source":0,"src_end":640516,"src_start":640248},{"artifact":1,"gen_end":842629,"gen_start":842040,"node":663,"role":"declaration","source":0,"src_end":640982,"src_start":640518},{"artifact":1,"gen_end":849600,"gen_start":842629,"node":664,"role":"declaration","source":0,"src_end":646140,"src_start":640984},{"artifact":1,"gen_end":850068,"gen_start":849600,"node":665,"role":"declaration","source":0,"src_end":646445,"src_start":646142},{"artifact":1,"gen_end":850493,"gen_start":850068,"node":666,"role":"declaration","source":0,"src_end":646779,"src_start":646447},{"artifact":1,"gen_end":858781,"gen_start":850493,"node":667,"role":"declaration","source":0,"src_end":653341,"src_start":646781},{"artifact":1,"gen_end":859206,"gen_start":858781,"node":668,"role":"declaration","source":0,"src_end":653607,"src_start":653343},{"artifact":1,"gen_end":859756,"gen_start":859206,"node":669,"role":"declaration","source":0,"src_end":654038,"src_start":653609},{"artifact":1,"gen_end":859771,"gen_start":859756,"node":335,"role":"declaration","source":0,"src_end":654074,"src_start":0}],"module":"TargetFixtures","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"},{"id":80,"kind":"semantic-declaration"},{"id":81,"kind":"semantic-declaration"},{"id":82,"kind":"semantic-declaration"},{"id":83,"kind":"semantic-declaration"},{"id":84,"kind":"semantic-declaration"},{"id":85,"kind":"semantic-declaration"},{"id":86,"kind":"semantic-declaration"},{"id":87,"kind":"semantic-declaration"},{"id":88,"kind":"semantic-declaration"},{"id":89,"kind":"semantic-declaration"},{"id":90,"kind":"semantic-declaration"},{"id":91,"kind":"semantic-declaration"},{"id":92,"kind":"semantic-declaration"},{"id":93,"kind":"semantic-declaration"},{"id":94,"kind":"semantic-declaration"},{"id":95,"kind":"semantic-declaration"},{"id":96,"kind":"semantic-declaration"},{"id":97,"kind":"semantic-declaration"},{"id":98,"kind":"semantic-declaration"},{"id":99,"kind":"semantic-declaration"},{"id":100,"kind":"semantic-declaration"},{"id":101,"kind":"semantic-declaration"},{"id":102,"kind":"semantic-declaration"},{"id":103,"kind":"semantic-declaration"},{"id":104,"kind":"semantic-declaration"},{"id":105,"kind":"semantic-declaration"},{"id":106,"kind":"semantic-declaration"},{"id":107,"kind":"semantic-declaration"},{"id":108,"kind":"semantic-declaration"},{"id":109,"kind":"semantic-declaration"},{"id":110,"kind":"semantic-declaration"},{"id":111,"kind":"semantic-declaration"},{"id":112,"kind":"semantic-declaration"},{"id":113,"kind":"semantic-declaration"},{"id":114,"kind":"semantic-declaration"},{"id":115,"kind":"semantic-declaration"},{"id":116,"kind":"semantic-declaration"},{"id":117,"kind":"semantic-declaration"},{"id":118,"kind":"semantic-declaration"},{"id":119,"kind":"semantic-declaration"},{"id":120,"kind":"semantic-declaration"},{"id":121,"kind":"semantic-declaration"},{"id":122,"kind":"semantic-declaration"},{"id":123,"kind":"semantic-declaration"},{"id":124,"kind":"semantic-declaration"},{"id":125,"kind":"semantic-declaration"},{"id":126,"kind":"semantic-declaration"},{"id":127,"kind":"semantic-declaration"},{"id":128,"kind":"semantic-declaration"},{"id":129,"kind":"semantic-declaration"},{"id":130,"kind":"semantic-declaration"},{"id":131,"kind":"semantic-declaration"},{"id":132,"kind":"semantic-declaration"},{"id":133,"kind":"semantic-declaration"},{"id":134,"kind":"semantic-declaration"},{"id":135,"kind":"semantic-declaration"},{"id":136,"kind":"semantic-declaration"},{"id":137,"kind":"semantic-declaration"},{"id":138,"kind":"semantic-declaration"},{"id":139,"kind":"semantic-declaration"},{"id":140,"kind":"semantic-declaration"},{"id":141,"kind":"semantic-declaration"},{"id":142,"kind":"semantic-declaration"},{"id":143,"kind":"semantic-declaration"},{"id":144,"kind":"semantic-declaration"},{"id":145,"kind":"semantic-declaration"},{"id":146,"kind":"semantic-declaration"},{"id":147,"kind":"semantic-declaration"},{"id":148,"kind":"semantic-declaration"},{"id":149,"kind":"semantic-declaration"},{"id":150,"kind":"semantic-declaration"},{"id":151,"kind":"semantic-declaration"},{"id":152,"kind":"semantic-declaration"},{"id":153,"kind":"semantic-declaration"},{"id":154,"kind":"semantic-declaration"},{"id":155,"kind":"semantic-declaration"},{"id":156,"kind":"semantic-declaration"},{"id":157,"kind":"semantic-declaration"},{"id":158,"kind":"semantic-declaration"},{"id":159,"kind":"semantic-declaration"},{"id":160,"kind":"semantic-declaration"},{"id":161,"kind":"semantic-declaration"},{"id":162,"kind":"semantic-declaration"},{"id":163,"kind":"semantic-declaration"},{"id":164,"kind":"semantic-declaration"},{"id":165,"kind":"semantic-declaration"},{"id":166,"kind":"semantic-declaration"},{"id":167,"kind":"semantic-declaration"},{"id":168,"kind":"semantic-declaration"},{"id":169,"kind":"semantic-declaration"},{"id":170,"kind":"semantic-declaration"},{"id":171,"kind":"semantic-declaration"},{"id":172,"kind":"semantic-declaration"},{"id":173,"kind":"semantic-declaration"},{"id":174,"kind":"semantic-declaration"},{"id":175,"kind":"semantic-declaration"},{"id":176,"kind":"semantic-declaration"},{"id":177,"kind":"semantic-declaration"},{"id":178,"kind":"semantic-declaration"},{"id":179,"kind":"semantic-declaration"},{"id":180,"kind":"semantic-declaration"},{"id":181,"kind":"semantic-declaration"},{"id":182,"kind":"semantic-declaration"},{"id":183,"kind":"semantic-declaration"},{"id":184,"kind":"semantic-declaration"},{"id":185,"kind":"semantic-declaration"},{"id":186,"kind":"semantic-declaration"},{"id":187,"kind":"semantic-declaration"},{"id":188,"kind":"semantic-declaration"},{"id":189,"kind":"semantic-declaration"},{"id":190,"kind":"semantic-declaration"},{"id":191,"kind":"semantic-declaration"},{"id":192,"kind":"semantic-declaration"},{"id":193,"kind":"semantic-declaration"},{"id":194,"kind":"semantic-declaration"},{"id":195,"kind":"semantic-declaration"},{"id":196,"kind":"semantic-declaration"},{"id":197,"kind":"semantic-declaration"},{"id":198,"kind":"semantic-declaration"},{"id":199,"kind":"semantic-declaration"},{"id":200,"kind":"semantic-declaration"},{"id":201,"kind":"semantic-declaration"},{"id":202,"kind":"semantic-declaration"},{"id":203,"kind":"semantic-declaration"},{"id":204,"kind":"semantic-declaration"},{"id":205,"kind":"semantic-declaration"},{"id":206,"kind":"semantic-declaration"},{"id":207,"kind":"semantic-declaration"},{"id":208,"kind":"semantic-declaration"},{"id":209,"kind":"semantic-declaration"},{"id":210,"kind":"semantic-declaration"},{"id":211,"kind":"semantic-declaration"},{"id":212,"kind":"semantic-declaration"},{"id":213,"kind":"semantic-declaration"},{"id":214,"kind":"semantic-declaration"},{"id":215,"kind":"semantic-declaration"},{"id":216,"kind":"semantic-declaration"},{"id":217,"kind":"semantic-declaration"},{"id":218,"kind":"semantic-declaration"},{"id":219,"kind":"semantic-declaration"},{"id":220,"kind":"semantic-declaration"},{"id":221,"kind":"semantic-declaration"},{"id":222,"kind":"semantic-declaration"},{"id":223,"kind":"semantic-declaration"},{"id":224,"kind":"semantic-declaration"},{"id":225,"kind":"semantic-declaration"},{"id":226,"kind":"semantic-declaration"},{"id":227,"kind":"semantic-declaration"},{"id":228,"kind":"semantic-declaration"},{"id":229,"kind":"semantic-declaration"},{"id":230,"kind":"semantic-declaration"},{"id":231,"kind":"semantic-declaration"},{"id":232,"kind":"semantic-declaration"},{"id":233,"kind":"semantic-declaration"},{"id":234,"kind":"semantic-declaration"},{"id":235,"kind":"semantic-declaration"},{"id":236,"kind":"semantic-declaration"},{"id":237,"kind":"semantic-declaration"},{"id":238,"kind":"semantic-declaration"},{"id":239,"kind":"semantic-declaration"},{"id":240,"kind":"semantic-declaration"},{"id":241,"kind":"semantic-declaration"},{"id":242,"kind":"semantic-declaration"},{"id":243,"kind":"semantic-declaration"},{"id":244,"kind":"semantic-declaration"},{"id":245,"kind":"semantic-declaration"},{"id":246,"kind":"semantic-declaration"},{"id":247,"kind":"semantic-declaration"},{"id":248,"kind":"semantic-declaration"},{"id":249,"kind":"semantic-declaration"},{"id":250,"kind":"semantic-declaration"},{"id":251,"kind":"semantic-declaration"},{"id":252,"kind":"semantic-declaration"},{"id":253,"kind":"semantic-declaration"},{"id":254,"kind":"semantic-declaration"},{"id":255,"kind":"semantic-declaration"},{"id":256,"kind":"semantic-declaration"},{"id":257,"kind":"semantic-declaration"},{"id":258,"kind":"semantic-declaration"},{"id":259,"kind":"semantic-declaration"},{"id":260,"kind":"semantic-declaration"},{"id":261,"kind":"semantic-declaration"},{"id":262,"kind":"semantic-declaration"},{"id":263,"kind":"semantic-declaration"},{"id":264,"kind":"semantic-declaration"},{"id":265,"kind":"semantic-declaration"},{"id":266,"kind":"semantic-declaration"},{"id":267,"kind":"semantic-declaration"},{"id":268,"kind":"semantic-declaration"},{"id":269,"kind":"semantic-declaration"},{"id":270,"kind":"semantic-declaration"},{"id":271,"kind":"semantic-declaration"},{"id":272,"kind":"semantic-declaration"},{"id":273,"kind":"semantic-declaration"},{"id":274,"kind":"semantic-declaration"},{"id":275,"kind":"semantic-declaration"},{"id":276,"kind":"semantic-declaration"},{"id":277,"kind":"semantic-declaration"},{"id":278,"kind":"semantic-declaration"},{"id":279,"kind":"semantic-declaration"},{"id":280,"kind":"semantic-declaration"},{"id":281,"kind":"semantic-declaration"},{"id":282,"kind":"semantic-declaration"},{"id":283,"kind":"semantic-declaration"},{"id":284,"kind":"semantic-declaration"},{"id":285,"kind":"semantic-declaration"},{"id":286,"kind":"semantic-declaration"},{"id":287,"kind":"semantic-declaration"},{"id":288,"kind":"semantic-declaration"},{"id":289,"kind":"semantic-declaration"},{"id":290,"kind":"semantic-declaration"},{"id":291,"kind":"semantic-declaration"},{"id":292,"kind":"semantic-declaration"},{"id":293,"kind":"semantic-declaration"},{"id":294,"kind":"semantic-declaration"},{"id":295,"kind":"semantic-declaration"},{"id":296,"kind":"semantic-declaration"},{"id":297,"kind":"semantic-declaration"},{"id":298,"kind":"semantic-declaration"},{"id":299,"kind":"semantic-declaration"},{"id":300,"kind":"semantic-declaration"},{"id":301,"kind":"semantic-declaration"},{"id":302,"kind":"semantic-declaration"},{"id":303,"kind":"semantic-declaration"},{"id":304,"kind":"semantic-declaration"},{"id":305,"kind":"semantic-declaration"},{"id":306,"kind":"semantic-declaration"},{"id":307,"kind":"semantic-declaration"},{"id":308,"kind":"semantic-declaration"},{"id":309,"kind":"semantic-declaration"},{"id":310,"kind":"semantic-declaration"},{"id":311,"kind":"semantic-declaration"},{"id":312,"kind":"semantic-declaration"},{"id":313,"kind":"semantic-declaration"},{"id":314,"kind":"semantic-declaration"},{"id":315,"kind":"semantic-declaration"},{"id":316,"kind":"semantic-declaration"},{"id":317,"kind":"semantic-declaration"},{"id":318,"kind":"semantic-declaration"},{"id":319,"kind":"semantic-declaration"},{"id":320,"kind":"semantic-declaration"},{"id":321,"kind":"semantic-declaration"},{"id":322,"kind":"semantic-declaration"},{"id":323,"kind":"semantic-declaration"},{"id":324,"kind":"semantic-declaration"},{"id":325,"kind":"semantic-declaration"},{"id":326,"kind":"semantic-declaration"},{"id":327,"kind":"semantic-declaration"},{"id":328,"kind":"semantic-declaration"},{"id":329,"kind":"semantic-declaration"},{"id":330,"kind":"semantic-declaration"},{"id":331,"kind":"semantic-declaration"},{"id":332,"kind":"semantic-declaration"},{"id":333,"kind":"semantic-declaration"},{"id":334,"kind":"semantic-declaration"},{"id":335,"kind":"semantic-latex-module"},{"id":336,"kind":"semantic-declaration"},{"id":337,"kind":"semantic-declaration"},{"id":338,"kind":"semantic-declaration"},{"id":339,"kind":"semantic-declaration"},{"id":340,"kind":"semantic-declaration"},{"id":341,"kind":"semantic-declaration"},{"id":342,"kind":"semantic-declaration"},{"id":343,"kind":"semantic-declaration"},{"id":344,"kind":"semantic-declaration"},{"id":345,"kind":"semantic-declaration"},{"id":346,"kind":"semantic-declaration"},{"id":347,"kind":"semantic-declaration"},{"id":348,"kind":"semantic-declaration"},{"id":349,"kind":"semantic-declaration"},{"id":350,"kind":"semantic-declaration"},{"id":351,"kind":"semantic-declaration"},{"id":352,"kind":"semantic-declaration"},{"id":353,"kind":"semantic-declaration"},{"id":354,"kind":"semantic-declaration"},{"id":355,"kind":"semantic-declaration"},{"id":356,"kind":"semantic-declaration"},{"id":357,"kind":"semantic-declaration"},{"id":358,"kind":"semantic-declaration"},{"id":359,"kind":"semantic-declaration"},{"id":360,"kind":"semantic-declaration"},{"id":361,"kind":"semantic-declaration"},{"id":362,"kind":"semantic-declaration"},{"id":363,"kind":"semantic-declaration"},{"id":364,"kind":"semantic-declaration"},{"id":365,"kind":"semantic-declaration"},{"id":366,"kind":"semantic-declaration"},{"id":367,"kind":"semantic-declaration"},{"id":368,"kind":"semantic-declaration"},{"id":369,"kind":"semantic-declaration"},{"id":370,"kind":"semantic-declaration"},{"id":371,"kind":"semantic-declaration"},{"id":372,"kind":"semantic-declaration"},{"id":373,"kind":"semantic-declaration"},{"id":374,"kind":"semantic-declaration"},{"id":375,"kind":"semantic-declaration"},{"id":376,"kind":"semantic-declaration"},{"id":377,"kind":"semantic-declaration"},{"id":378,"kind":"semantic-declaration"},{"id":379,"kind":"semantic-declaration"},{"id":380,"kind":"semantic-declaration"},{"id":381,"kind":"semantic-declaration"},{"id":382,"kind":"semantic-declaration"},{"id":383,"kind":"semantic-declaration"},{"id":384,"kind":"semantic-declaration"},{"id":385,"kind":"semantic-declaration"},{"id":386,"kind":"semantic-declaration"},{"id":387,"kind":"semantic-declaration"},{"id":388,"kind":"semantic-declaration"},{"id":389,"kind":"semantic-declaration"},{"id":390,"kind":"semantic-declaration"},{"id":391,"kind":"semantic-declaration"},{"id":392,"kind":"semantic-declaration"},{"id":393,"kind":"semantic-declaration"},{"id":394,"kind":"semantic-declaration"},{"id":395,"kind":"semantic-declaration"},{"id":396,"kind":"semantic-declaration"},{"id":397,"kind":"semantic-declaration"},{"id":398,"kind":"semantic-declaration"},{"id":399,"kind":"semantic-declaration"},{"id":400,"kind":"semantic-declaration"},{"id":401,"kind":"semantic-declaration"},{"id":402,"kind":"semantic-declaration"},{"id":403,"kind":"semantic-declaration"},{"id":404,"kind":"semantic-declaration"},{"id":405,"kind":"semantic-declaration"},{"id":406,"kind":"semantic-declaration"},{"id":407,"kind":"semantic-declaration"},{"id":408,"kind":"semantic-declaration"},{"id":409,"kind":"semantic-declaration"},{"id":410,"kind":"semantic-declaration"},{"id":411,"kind":"semantic-declaration"},{"id":412,"kind":"semantic-declaration"},{"id":413,"kind":"semantic-declaration"},{"id":414,"kind":"semantic-declaration"},{"id":415,"kind":"semantic-declaration"},{"id":416,"kind":"semantic-declaration"},{"id":417,"kind":"semantic-declaration"},{"id":418,"kind":"semantic-declaration"},{"id":419,"kind":"semantic-declaration"},{"id":420,"kind":"semantic-declaration"},{"id":421,"kind":"semantic-declaration"},{"id":422,"kind":"semantic-declaration"},{"id":423,"kind":"semantic-declaration"},{"id":424,"kind":"semantic-declaration"},{"id":425,"kind":"semantic-declaration"},{"id":426,"kind":"semantic-declaration"},{"id":427,"kind":"semantic-declaration"},{"id":428,"kind":"semantic-declaration"},{"id":429,"kind":"semantic-declaration"},{"id":430,"kind":"semantic-declaration"},{"id":431,"kind":"semantic-declaration"},{"id":432,"kind":"semantic-declaration"},{"id":433,"kind":"semantic-declaration"},{"id":434,"kind":"semantic-declaration"},{"id":435,"kind":"semantic-declaration"},{"id":436,"kind":"semantic-declaration"},{"id":437,"kind":"semantic-declaration"},{"id":438,"kind":"semantic-declaration"},{"id":439,"kind":"semantic-declaration"},{"id":440,"kind":"semantic-declaration"},{"id":441,"kind":"semantic-declaration"},{"id":442,"kind":"semantic-declaration"},{"id":443,"kind":"semantic-declaration"},{"id":444,"kind":"semantic-declaration"},{"id":445,"kind":"semantic-declaration"},{"id":446,"kind":"semantic-declaration"},{"id":447,"kind":"semantic-declaration"},{"id":448,"kind":"semantic-declaration"},{"id":449,"kind":"semantic-declaration"},{"id":450,"kind":"semantic-declaration"},{"id":451,"kind":"semantic-declaration"},{"id":452,"kind":"semantic-declaration"},{"id":453,"kind":"semantic-declaration"},{"id":454,"kind":"semantic-declaration"},{"id":455,"kind":"semantic-declaration"},{"id":456,"kind":"semantic-declaration"},{"id":457,"kind":"semantic-declaration"},{"id":458,"kind":"semantic-declaration"},{"id":459,"kind":"semantic-declaration"},{"id":460,"kind":"semantic-declaration"},{"id":461,"kind":"semantic-declaration"},{"id":462,"kind":"semantic-declaration"},{"id":463,"kind":"semantic-declaration"},{"id":464,"kind":"semantic-declaration"},{"id":465,"kind":"semantic-declaration"},{"id":466,"kind":"semantic-declaration"},{"id":467,"kind":"semantic-declaration"},{"id":468,"kind":"semantic-declaration"},{"id":469,"kind":"semantic-declaration"},{"id":470,"kind":"semantic-declaration"},{"id":471,"kind":"semantic-declaration"},{"id":472,"kind":"semantic-declaration"},{"id":473,"kind":"semantic-declaration"},{"id":474,"kind":"semantic-declaration"},{"id":475,"kind":"semantic-declaration"},{"id":476,"kind":"semantic-declaration"},{"id":477,"kind":"semantic-declaration"},{"id":478,"kind":"semantic-declaration"},{"id":479,"kind":"semantic-declaration"},{"id":480,"kind":"semantic-declaration"},{"id":481,"kind":"semantic-declaration"},{"id":482,"kind":"semantic-declaration"},{"id":483,"kind":"semantic-declaration"},{"id":484,"kind":"semantic-declaration"},{"id":485,"kind":"semantic-declaration"},{"id":486,"kind":"semantic-declaration"},{"id":487,"kind":"semantic-declaration"},{"id":488,"kind":"semantic-declaration"},{"id":489,"kind":"semantic-declaration"},{"id":490,"kind":"semantic-declaration"},{"id":491,"kind":"semantic-declaration"},{"id":492,"kind":"semantic-declaration"},{"id":493,"kind":"semantic-declaration"},{"id":494,"kind":"semantic-declaration"},{"id":495,"kind":"semantic-declaration"},{"id":496,"kind":"semantic-declaration"},{"id":497,"kind":"semantic-declaration"},{"id":498,"kind":"semantic-declaration"},{"id":499,"kind":"semantic-declaration"},{"id":500,"kind":"semantic-declaration"},{"id":501,"kind":"semantic-declaration"},{"id":502,"kind":"semantic-declaration"},{"id":503,"kind":"semantic-declaration"},{"id":504,"kind":"semantic-declaration"},{"id":505,"kind":"semantic-declaration"},{"id":506,"kind":"semantic-declaration"},{"id":507,"kind":"semantic-declaration"},{"id":508,"kind":"semantic-declaration"},{"id":509,"kind":"semantic-declaration"},{"id":510,"kind":"semantic-declaration"},{"id":511,"kind":"semantic-declaration"},{"id":512,"kind":"semantic-declaration"},{"id":513,"kind":"semantic-declaration"},{"id":514,"kind":"semantic-declaration"},{"id":515,"kind":"semantic-declaration"},{"id":516,"kind":"semantic-declaration"},{"id":517,"kind":"semantic-declaration"},{"id":518,"kind":"semantic-declaration"},{"id":519,"kind":"semantic-declaration"},{"id":520,"kind":"semantic-declaration"},{"id":521,"kind":"semantic-declaration"},{"id":522,"kind":"semantic-declaration"},{"id":523,"kind":"semantic-declaration"},{"id":524,"kind":"semantic-declaration"},{"id":525,"kind":"semantic-declaration"},{"id":526,"kind":"semantic-declaration"},{"id":527,"kind":"semantic-declaration"},{"id":528,"kind":"semantic-declaration"},{"id":529,"kind":"semantic-declaration"},{"id":530,"kind":"semantic-declaration"},{"id":531,"kind":"semantic-declaration"},{"id":532,"kind":"semantic-declaration"},{"id":533,"kind":"semantic-declaration"},{"id":534,"kind":"semantic-declaration"},{"id":535,"kind":"semantic-declaration"},{"id":536,"kind":"semantic-declaration"},{"id":537,"kind":"semantic-declaration"},{"id":538,"kind":"semantic-declaration"},{"id":539,"kind":"semantic-declaration"},{"id":540,"kind":"semantic-declaration"},{"id":541,"kind":"semantic-declaration"},{"id":542,"kind":"semantic-declaration"},{"id":543,"kind":"semantic-declaration"},{"id":544,"kind":"semantic-declaration"},{"id":545,"kind":"semantic-declaration"},{"id":546,"kind":"semantic-declaration"},{"id":547,"kind":"semantic-declaration"},{"id":548,"kind":"semantic-declaration"},{"id":549,"kind":"semantic-declaration"},{"id":550,"kind":"semantic-declaration"},{"id":551,"kind":"semantic-declaration"},{"id":552,"kind":"semantic-declaration"},{"id":553,"kind":"semantic-declaration"},{"id":554,"kind":"semantic-declaration"},{"id":555,"kind":"semantic-declaration"},{"id":556,"kind":"semantic-declaration"},{"id":557,"kind":"semantic-declaration"},{"id":558,"kind":"semantic-declaration"},{"id":559,"kind":"semantic-declaration"},{"id":560,"kind":"semantic-declaration"},{"id":561,"kind":"semantic-declaration"},{"id":562,"kind":"semantic-declaration"},{"id":563,"kind":"semantic-declaration"},{"id":564,"kind":"semantic-declaration"},{"id":565,"kind":"semantic-declaration"},{"id":566,"kind":"semantic-declaration"},{"id":567,"kind":"semantic-declaration"},{"id":568,"kind":"semantic-declaration"},{"id":569,"kind":"semantic-declaration"},{"id":570,"kind":"semantic-declaration"},{"id":571,"kind":"semantic-declaration"},{"id":572,"kind":"semantic-declaration"},{"id":573,"kind":"semantic-declaration"},{"id":574,"kind":"semantic-declaration"},{"id":575,"kind":"semantic-declaration"},{"id":576,"kind":"semantic-declaration"},{"id":577,"kind":"semantic-declaration"},{"id":578,"kind":"semantic-declaration"},{"id":579,"kind":"semantic-declaration"},{"id":580,"kind":"semantic-declaration"},{"id":581,"kind":"semantic-declaration"},{"id":582,"kind":"semantic-declaration"},{"id":583,"kind":"semantic-declaration"},{"id":584,"kind":"semantic-declaration"},{"id":585,"kind":"semantic-declaration"},{"id":586,"kind":"semantic-declaration"},{"id":587,"kind":"semantic-declaration"},{"id":588,"kind":"semantic-declaration"},{"id":589,"kind":"semantic-declaration"},{"id":590,"kind":"semantic-declaration"},{"id":591,"kind":"semantic-declaration"},{"id":592,"kind":"semantic-declaration"},{"id":593,"kind":"semantic-declaration"},{"id":594,"kind":"semantic-declaration"},{"id":595,"kind":"semantic-declaration"},{"id":596,"kind":"semantic-declaration"},{"id":597,"kind":"semantic-declaration"},{"id":598,"kind":"semantic-declaration"},{"id":599,"kind":"semantic-declaration"},{"id":600,"kind":"semantic-declaration"},{"id":601,"kind":"semantic-declaration"},{"id":602,"kind":"semantic-declaration"},{"id":603,"kind":"semantic-declaration"},{"id":604,"kind":"semantic-declaration"},{"id":605,"kind":"semantic-declaration"},{"id":606,"kind":"semantic-declaration"},{"id":607,"kind":"semantic-declaration"},{"id":608,"kind":"semantic-declaration"},{"id":609,"kind":"semantic-declaration"},{"id":610,"kind":"semantic-declaration"},{"id":611,"kind":"semantic-declaration"},{"id":612,"kind":"semantic-declaration"},{"id":613,"kind":"semantic-declaration"},{"id":614,"kind":"semantic-declaration"},{"id":615,"kind":"semantic-declaration"},{"id":616,"kind":"semantic-declaration"},{"id":617,"kind":"semantic-declaration"},{"id":618,"kind":"semantic-declaration"},{"id":619,"kind":"semantic-declaration"},{"id":620,"kind":"semantic-declaration"},{"id":621,"kind":"semantic-declaration"},{"id":622,"kind":"semantic-declaration"},{"id":623,"kind":"semantic-declaration"},{"id":624,"kind":"semantic-declaration"},{"id":625,"kind":"semantic-declaration"},{"id":626,"kind":"semantic-declaration"},{"id":627,"kind":"semantic-declaration"},{"id":628,"kind":"semantic-declaration"},{"id":629,"kind":"semantic-declaration"},{"id":630,"kind":"semantic-declaration"},{"id":631,"kind":"semantic-declaration"},{"id":632,"kind":"semantic-declaration"},{"id":633,"kind":"semantic-declaration"},{"id":634,"kind":"semantic-declaration"},{"id":635,"kind":"semantic-declaration"},{"id":636,"kind":"semantic-declaration"},{"id":637,"kind":"semantic-declaration"},{"id":638,"kind":"semantic-declaration"},{"id":639,"kind":"semantic-declaration"},{"id":640,"kind":"semantic-declaration"},{"id":641,"kind":"semantic-declaration"},{"id":642,"kind":"semantic-declaration"},{"id":643,"kind":"semantic-declaration"},{"id":644,"kind":"semantic-declaration"},{"id":645,"kind":"semantic-declaration"},{"id":646,"kind":"semantic-declaration"},{"id":647,"kind":"semantic-declaration"},{"id":648,"kind":"semantic-declaration"},{"id":649,"kind":"semantic-declaration"},{"id":650,"kind":"semantic-declaration"},{"id":651,"kind":"semantic-declaration"},{"id":652,"kind":"semantic-declaration"},{"id":653,"kind":"semantic-declaration"},{"id":654,"kind":"semantic-declaration"},{"id":655,"kind":"semantic-declaration"},{"id":656,"kind":"semantic-declaration"},{"id":657,"kind":"semantic-declaration"},{"id":658,"kind":"semantic-declaration"},{"id":659,"kind":"semantic-declaration"},{"id":660,"kind":"semantic-declaration"},{"id":661,"kind":"semantic-declaration"},{"id":662,"kind":"semantic-declaration"},{"id":663,"kind":"semantic-declaration"},{"id":664,"kind":"semantic-declaration"},{"id":665,"kind":"semantic-declaration"},{"id":666,"kind":"semantic-declaration"},{"id":667,"kind":"semantic-declaration"},{"id":668,"kind":"semantic-declaration"},{"id":669,"kind":"semantic-declaration"}],"semantic_id":"322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a","source_id":"fc8fbbd2922aa3e7a7463e6862d110709e47f518802f63748cd199cee6055a74","sources":[{"id":0,"kind":"file","path":"src/TargetFixtures.lex.tex","sha256":"d746739ea3e78234f7a68280dc068d39b84f4064298a37383a8dc645bc188c27"}],"spec":"lexlean/source-map/1"} diff --git a/compiler/expected/build/maps/LexLeanTarget/TargetOracle.map.json b/compiler/expected/build/maps/LexLeanTarget/TargetOracle.map.json index 9007f9e7c..205a16911 100644 --- a/compiler/expected/build/maps/LexLeanTarget/TargetOracle.map.json +++ b/compiler/expected/build/maps/LexLeanTarget/TargetOracle.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/TargetOracle.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/TargetOracle.tex"}],"mappings":[{"artifact":0,"gen_end":250,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":2490,"src_start":0},{"artifact":0,"gen_end":506,"gen_start":250,"node":1,"role":"declaration","source":0,"src_end":441,"src_start":149},{"artifact":0,"gen_end":762,"gen_start":506,"node":2,"role":"declaration","source":0,"src_end":735,"src_start":443},{"artifact":0,"gen_end":1016,"gen_start":762,"node":3,"role":"declaration","source":0,"src_end":1027,"src_start":737},{"artifact":0,"gen_end":1276,"gen_start":1016,"node":4,"role":"declaration","source":0,"src_end":1325,"src_start":1029},{"artifact":0,"gen_end":1544,"gen_start":1276,"node":5,"role":"declaration","source":0,"src_end":1631,"src_start":1327},{"artifact":0,"gen_end":1927,"gen_start":1544,"node":6,"role":"declaration","source":0,"src_end":2036,"src_start":1633},{"artifact":0,"gen_end":2323,"gen_start":1927,"node":7,"role":"declaration","source":0,"src_end":2454,"src_start":2038},{"artifact":0,"gen_end":2355,"gen_start":2323,"node":0,"role":"declaration","source":0,"src_end":2490,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":8,"role":"declaration","source":0,"src_end":2490,"src_start":0},{"artifact":1,"gen_end":587,"gen_start":134,"node":9,"role":"declaration","source":0,"src_end":441,"src_start":149},{"artifact":1,"gen_end":1040,"gen_start":587,"node":10,"role":"declaration","source":0,"src_end":735,"src_start":443},{"artifact":1,"gen_end":1491,"gen_start":1040,"node":11,"role":"declaration","source":0,"src_end":1027,"src_start":737},{"artifact":1,"gen_end":1948,"gen_start":1491,"node":12,"role":"declaration","source":0,"src_end":1325,"src_start":1029},{"artifact":1,"gen_end":2413,"gen_start":1948,"node":13,"role":"declaration","source":0,"src_end":1631,"src_start":1327},{"artifact":1,"gen_end":2993,"gen_start":2413,"node":14,"role":"declaration","source":0,"src_end":2036,"src_start":1633},{"artifact":1,"gen_end":3586,"gen_start":2993,"node":15,"role":"declaration","source":0,"src_end":2454,"src_start":2038},{"artifact":1,"gen_end":3601,"gen_start":3586,"node":8,"role":"declaration","source":0,"src_end":2490,"src_start":0}],"module":"TargetOracle","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-latex-module"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"}],"semantic_id":"db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9","source_id":"2f76ada498f17258f8a526df0820565414e563312654a2a7396b586dd3b407d1","sources":[{"id":0,"kind":"file","path":"src/TargetOracle.lex.tex","sha256":"e34fca12090e04d8a853d4edfc9ae8db46d09ec586f2820f25d69c8ab3a7fb2d"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/TargetOracle.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/TargetOracle.tex"}],"mappings":[{"artifact":0,"gen_end":250,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":2490,"src_start":0},{"artifact":0,"gen_end":506,"gen_start":250,"node":1,"role":"declaration","source":0,"src_end":441,"src_start":149},{"artifact":0,"gen_end":762,"gen_start":506,"node":2,"role":"declaration","source":0,"src_end":735,"src_start":443},{"artifact":0,"gen_end":1016,"gen_start":762,"node":3,"role":"declaration","source":0,"src_end":1027,"src_start":737},{"artifact":0,"gen_end":1276,"gen_start":1016,"node":4,"role":"declaration","source":0,"src_end":1325,"src_start":1029},{"artifact":0,"gen_end":1544,"gen_start":1276,"node":5,"role":"declaration","source":0,"src_end":1631,"src_start":1327},{"artifact":0,"gen_end":1927,"gen_start":1544,"node":6,"role":"declaration","source":0,"src_end":2036,"src_start":1633},{"artifact":0,"gen_end":2323,"gen_start":1927,"node":7,"role":"declaration","source":0,"src_end":2454,"src_start":2038},{"artifact":0,"gen_end":2355,"gen_start":2323,"node":0,"role":"declaration","source":0,"src_end":2490,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":8,"role":"declaration","source":0,"src_end":2490,"src_start":0},{"artifact":1,"gen_end":587,"gen_start":134,"node":9,"role":"declaration","source":0,"src_end":441,"src_start":149},{"artifact":1,"gen_end":1040,"gen_start":587,"node":10,"role":"declaration","source":0,"src_end":735,"src_start":443},{"artifact":1,"gen_end":1491,"gen_start":1040,"node":11,"role":"declaration","source":0,"src_end":1027,"src_start":737},{"artifact":1,"gen_end":1948,"gen_start":1491,"node":12,"role":"declaration","source":0,"src_end":1325,"src_start":1029},{"artifact":1,"gen_end":2413,"gen_start":1948,"node":13,"role":"declaration","source":0,"src_end":1631,"src_start":1327},{"artifact":1,"gen_end":2993,"gen_start":2413,"node":14,"role":"declaration","source":0,"src_end":2036,"src_start":1633},{"artifact":1,"gen_end":3586,"gen_start":2993,"node":15,"role":"declaration","source":0,"src_end":2454,"src_start":2038},{"artifact":1,"gen_end":3601,"gen_start":3586,"node":8,"role":"declaration","source":0,"src_end":2490,"src_start":0}],"module":"TargetOracle","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-latex-module"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"}],"semantic_id":"322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a","source_id":"fc8fbbd2922aa3e7a7463e6862d110709e47f518802f63748cd199cee6055a74","sources":[{"id":0,"kind":"file","path":"src/TargetOracle.lex.tex","sha256":"e34fca12090e04d8a853d4edfc9ae8db46d09ec586f2820f25d69c8ab3a7fb2d"}],"spec":"lexlean/source-map/1"} diff --git a/compiler/expected/build/maps/LexLeanTarget/TargetSemantics.map.json b/compiler/expected/build/maps/LexLeanTarget/TargetSemantics.map.json index 626386999..96b6e34fe 100644 --- a/compiler/expected/build/maps/LexLeanTarget/TargetSemantics.map.json +++ b/compiler/expected/build/maps/LexLeanTarget/TargetSemantics.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/TargetSemantics.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/TargetSemantics.tex"}],"mappings":[{"artifact":0,"gen_end":21760,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":426639,"src_start":0},{"artifact":0,"gen_end":21898,"gen_start":21760,"node":1,"role":"declaration","source":0,"src_end":401,"src_start":152},{"artifact":0,"gen_end":22045,"gen_start":21898,"node":2,"role":"declaration","source":0,"src_end":661,"src_start":403},{"artifact":0,"gen_end":22356,"gen_start":22045,"node":3,"role":"declaration","source":0,"src_end":1035,"src_start":663},{"artifact":0,"gen_end":22677,"gen_start":22356,"node":4,"role":"declaration","source":0,"src_end":1450,"src_start":1037},{"artifact":0,"gen_end":22932,"gen_start":22677,"node":5,"role":"declaration","source":0,"src_end":1751,"src_start":1452},{"artifact":0,"gen_end":23493,"gen_start":22932,"node":6,"role":"declaration","source":0,"src_end":2459,"src_start":1753},{"artifact":0,"gen_end":23697,"gen_start":23493,"node":7,"role":"declaration","source":0,"src_end":2685,"src_start":2461},{"artifact":0,"gen_end":23951,"gen_start":23697,"node":8,"role":"declaration","source":0,"src_end":3001,"src_start":2687},{"artifact":0,"gen_end":24427,"gen_start":23951,"node":9,"role":"declaration","source":0,"src_end":3390,"src_start":3003},{"artifact":0,"gen_end":25196,"gen_start":24427,"node":10,"role":"declaration","source":0,"src_end":4053,"src_start":3392},{"artifact":0,"gen_end":25596,"gen_start":25196,"node":11,"role":"declaration","source":0,"src_end":4462,"src_start":4055},{"artifact":0,"gen_end":25932,"gen_start":25596,"node":12,"role":"declaration","source":0,"src_end":4774,"src_start":4464},{"artifact":0,"gen_end":26268,"gen_start":25932,"node":13,"role":"declaration","source":0,"src_end":5086,"src_start":4776},{"artifact":0,"gen_end":26610,"gen_start":26268,"node":14,"role":"declaration","source":0,"src_end":5425,"src_start":5088},{"artifact":0,"gen_end":26964,"gen_start":26610,"node":15,"role":"declaration","source":0,"src_end":5806,"src_start":5427},{"artifact":0,"gen_end":27309,"gen_start":26964,"node":16,"role":"declaration","source":0,"src_end":6127,"src_start":5808},{"artifact":0,"gen_end":27660,"gen_start":27309,"node":17,"role":"declaration","source":0,"src_end":6454,"src_start":6129},{"artifact":0,"gen_end":28011,"gen_start":27660,"node":18,"role":"declaration","source":0,"src_end":6781,"src_start":6456},{"artifact":0,"gen_end":28362,"gen_start":28011,"node":19,"role":"declaration","source":0,"src_end":7108,"src_start":6783},{"artifact":0,"gen_end":28702,"gen_start":28362,"node":20,"role":"declaration","source":0,"src_end":7424,"src_start":7110},{"artifact":0,"gen_end":29048,"gen_start":28702,"node":21,"role":"declaration","source":0,"src_end":7746,"src_start":7426},{"artifact":0,"gen_end":29394,"gen_start":29048,"node":22,"role":"declaration","source":0,"src_end":8068,"src_start":7748},{"artifact":0,"gen_end":29740,"gen_start":29394,"node":23,"role":"declaration","source":0,"src_end":8390,"src_start":8070},{"artifact":0,"gen_end":50922,"gen_start":29740,"node":24,"role":"declaration","source":0,"src_end":39304,"src_start":8392},{"artifact":0,"gen_end":51891,"gen_start":50922,"node":25,"role":"declaration","source":0,"src_end":40479,"src_start":39306},{"artifact":0,"gen_end":53430,"gen_start":51891,"node":26,"role":"declaration","source":0,"src_end":41949,"src_start":40481},{"artifact":0,"gen_end":53645,"gen_start":53430,"node":27,"role":"declaration","source":0,"src_end":42245,"src_start":41951},{"artifact":0,"gen_end":53982,"gen_start":53645,"node":28,"role":"declaration","source":0,"src_end":42696,"src_start":42247},{"artifact":0,"gen_end":77731,"gen_start":53982,"node":29,"role":"declaration","source":0,"src_end":80179,"src_start":42698},{"artifact":0,"gen_end":84209,"gen_start":77731,"node":30,"role":"declaration","source":0,"src_end":87652,"src_start":80181},{"artifact":0,"gen_end":84473,"gen_start":84209,"node":31,"role":"declaration","source":0,"src_end":87954,"src_start":87654},{"artifact":0,"gen_end":86094,"gen_start":84473,"node":32,"role":"declaration","source":0,"src_end":90259,"src_start":87956},{"artifact":0,"gen_end":348504,"gen_start":86094,"node":33,"role":"declaration","source":0,"src_end":408473,"src_start":90261},{"artifact":0,"gen_end":361744,"gen_start":348504,"node":34,"role":"declaration","source":0,"src_end":423624,"src_start":408475},{"artifact":0,"gen_end":362878,"gen_start":361744,"node":35,"role":"declaration","source":0,"src_end":424840,"src_start":423626},{"artifact":0,"gen_end":363835,"gen_start":362878,"node":36,"role":"declaration","source":0,"src_end":425975,"src_start":424842},{"artifact":0,"gen_end":364407,"gen_start":363835,"node":37,"role":"declaration","source":0,"src_end":426603,"src_start":425977},{"artifact":0,"gen_end":364442,"gen_start":364407,"node":0,"role":"declaration","source":0,"src_end":426639,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":38,"role":"declaration","source":0,"src_end":426639,"src_start":0},{"artifact":1,"gen_end":472,"gen_start":134,"node":39,"role":"declaration","source":0,"src_end":401,"src_start":152},{"artifact":1,"gen_end":819,"gen_start":472,"node":40,"role":"declaration","source":0,"src_end":661,"src_start":403},{"artifact":1,"gen_end":1312,"gen_start":819,"node":41,"role":"declaration","source":0,"src_end":1035,"src_start":663},{"artifact":1,"gen_end":1820,"gen_start":1312,"node":42,"role":"declaration","source":0,"src_end":1450,"src_start":1037},{"artifact":1,"gen_end":2262,"gen_start":1820,"node":43,"role":"declaration","source":0,"src_end":1751,"src_start":1452},{"artifact":1,"gen_end":2974,"gen_start":2262,"node":44,"role":"declaration","source":0,"src_end":2459,"src_start":1753},{"artifact":1,"gen_end":3360,"gen_start":2974,"node":45,"role":"declaration","source":0,"src_end":2685,"src_start":2461},{"artifact":1,"gen_end":3820,"gen_start":3360,"node":46,"role":"declaration","source":0,"src_end":3001,"src_start":2687},{"artifact":1,"gen_end":4493,"gen_start":3820,"node":47,"role":"declaration","source":0,"src_end":3390,"src_start":3003},{"artifact":1,"gen_end":5444,"gen_start":4493,"node":48,"role":"declaration","source":0,"src_end":4053,"src_start":3392},{"artifact":1,"gen_end":6028,"gen_start":5444,"node":49,"role":"declaration","source":0,"src_end":4462,"src_start":4055},{"artifact":1,"gen_end":6530,"gen_start":6028,"node":50,"role":"declaration","source":0,"src_end":4774,"src_start":4464},{"artifact":1,"gen_end":7032,"gen_start":6530,"node":51,"role":"declaration","source":0,"src_end":5086,"src_start":4776},{"artifact":1,"gen_end":7551,"gen_start":7032,"node":52,"role":"declaration","source":0,"src_end":5425,"src_start":5088},{"artifact":1,"gen_end":8112,"gen_start":7551,"node":53,"role":"declaration","source":0,"src_end":5806,"src_start":5427},{"artifact":1,"gen_end":8623,"gen_start":8112,"node":54,"role":"declaration","source":0,"src_end":6127,"src_start":5808},{"artifact":1,"gen_end":9140,"gen_start":8623,"node":55,"role":"declaration","source":0,"src_end":6454,"src_start":6129},{"artifact":1,"gen_end":9657,"gen_start":9140,"node":56,"role":"declaration","source":0,"src_end":6781,"src_start":6456},{"artifact":1,"gen_end":10174,"gen_start":9657,"node":57,"role":"declaration","source":0,"src_end":7108,"src_start":6783},{"artifact":1,"gen_end":10680,"gen_start":10174,"node":58,"role":"declaration","source":0,"src_end":7424,"src_start":7110},{"artifact":1,"gen_end":11192,"gen_start":10680,"node":59,"role":"declaration","source":0,"src_end":7746,"src_start":7426},{"artifact":1,"gen_end":11704,"gen_start":11192,"node":60,"role":"declaration","source":0,"src_end":8068,"src_start":7748},{"artifact":1,"gen_end":12216,"gen_start":11704,"node":61,"role":"declaration","source":0,"src_end":8390,"src_start":8070},{"artifact":1,"gen_end":33789,"gen_start":12216,"node":62,"role":"declaration","source":0,"src_end":39304,"src_start":8392},{"artifact":1,"gen_end":35022,"gen_start":33789,"node":63,"role":"declaration","source":0,"src_end":40479,"src_start":39306},{"artifact":1,"gen_end":36807,"gen_start":35022,"node":64,"role":"declaration","source":0,"src_end":41949,"src_start":40481},{"artifact":1,"gen_end":37299,"gen_start":36807,"node":65,"role":"declaration","source":0,"src_end":42245,"src_start":41951},{"artifact":1,"gen_end":37859,"gen_start":37299,"node":66,"role":"declaration","source":0,"src_end":42696,"src_start":42247},{"artifact":1,"gen_end":62160,"gen_start":37859,"node":67,"role":"declaration","source":0,"src_end":80179,"src_start":42698},{"artifact":1,"gen_end":68896,"gen_start":62160,"node":68,"role":"declaration","source":0,"src_end":87652,"src_start":80181},{"artifact":1,"gen_end":69357,"gen_start":68896,"node":69,"role":"declaration","source":0,"src_end":87954,"src_start":87654},{"artifact":1,"gen_end":71199,"gen_start":69357,"node":70,"role":"declaration","source":0,"src_end":90259,"src_start":87956},{"artifact":1,"gen_end":337147,"gen_start":71199,"node":71,"role":"declaration","source":0,"src_end":408473,"src_start":90261},{"artifact":1,"gen_end":350721,"gen_start":337147,"node":72,"role":"declaration","source":0,"src_end":423624,"src_start":408475},{"artifact":1,"gen_end":352052,"gen_start":350721,"node":73,"role":"declaration","source":0,"src_end":424840,"src_start":423626},{"artifact":1,"gen_end":353188,"gen_start":352052,"node":74,"role":"declaration","source":0,"src_end":425975,"src_start":424842},{"artifact":1,"gen_end":353983,"gen_start":353188,"node":75,"role":"declaration","source":0,"src_end":426603,"src_start":425977},{"artifact":1,"gen_end":353998,"gen_start":353983,"node":38,"role":"declaration","source":0,"src_end":426639,"src_start":0}],"module":"TargetSemantics","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-latex-module"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"}],"semantic_id":"db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9","source_id":"2f76ada498f17258f8a526df0820565414e563312654a2a7396b586dd3b407d1","sources":[{"id":0,"kind":"file","path":"src/TargetSemantics.lex.tex","sha256":"92551ec717ba14a68c53203b5ea1f68359902201116de69c2816668038eb4a60"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/TargetSemantics.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/TargetSemantics.tex"}],"mappings":[{"artifact":0,"gen_end":332,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":426639,"src_start":0},{"artifact":0,"gen_end":470,"gen_start":332,"node":1,"role":"declaration","source":0,"src_end":401,"src_start":152},{"artifact":0,"gen_end":617,"gen_start":470,"node":2,"role":"declaration","source":0,"src_end":661,"src_start":403},{"artifact":0,"gen_end":928,"gen_start":617,"node":3,"role":"declaration","source":0,"src_end":1035,"src_start":663},{"artifact":0,"gen_end":1249,"gen_start":928,"node":4,"role":"declaration","source":0,"src_end":1450,"src_start":1037},{"artifact":0,"gen_end":1504,"gen_start":1249,"node":5,"role":"declaration","source":0,"src_end":1751,"src_start":1452},{"artifact":0,"gen_end":2065,"gen_start":1504,"node":6,"role":"declaration","source":0,"src_end":2459,"src_start":1753},{"artifact":0,"gen_end":2269,"gen_start":2065,"node":7,"role":"declaration","source":0,"src_end":2685,"src_start":2461},{"artifact":0,"gen_end":2523,"gen_start":2269,"node":8,"role":"declaration","source":0,"src_end":3001,"src_start":2687},{"artifact":0,"gen_end":2999,"gen_start":2523,"node":9,"role":"declaration","source":0,"src_end":3390,"src_start":3003},{"artifact":0,"gen_end":3768,"gen_start":2999,"node":10,"role":"declaration","source":0,"src_end":4053,"src_start":3392},{"artifact":0,"gen_end":4168,"gen_start":3768,"node":11,"role":"declaration","source":0,"src_end":4462,"src_start":4055},{"artifact":0,"gen_end":4504,"gen_start":4168,"node":12,"role":"declaration","source":0,"src_end":4774,"src_start":4464},{"artifact":0,"gen_end":4840,"gen_start":4504,"node":13,"role":"declaration","source":0,"src_end":5086,"src_start":4776},{"artifact":0,"gen_end":5182,"gen_start":4840,"node":14,"role":"declaration","source":0,"src_end":5425,"src_start":5088},{"artifact":0,"gen_end":5536,"gen_start":5182,"node":15,"role":"declaration","source":0,"src_end":5806,"src_start":5427},{"artifact":0,"gen_end":5881,"gen_start":5536,"node":16,"role":"declaration","source":0,"src_end":6127,"src_start":5808},{"artifact":0,"gen_end":6232,"gen_start":5881,"node":17,"role":"declaration","source":0,"src_end":6454,"src_start":6129},{"artifact":0,"gen_end":6583,"gen_start":6232,"node":18,"role":"declaration","source":0,"src_end":6781,"src_start":6456},{"artifact":0,"gen_end":6934,"gen_start":6583,"node":19,"role":"declaration","source":0,"src_end":7108,"src_start":6783},{"artifact":0,"gen_end":7274,"gen_start":6934,"node":20,"role":"declaration","source":0,"src_end":7424,"src_start":7110},{"artifact":0,"gen_end":7620,"gen_start":7274,"node":21,"role":"declaration","source":0,"src_end":7746,"src_start":7426},{"artifact":0,"gen_end":7966,"gen_start":7620,"node":22,"role":"declaration","source":0,"src_end":8068,"src_start":7748},{"artifact":0,"gen_end":8312,"gen_start":7966,"node":23,"role":"declaration","source":0,"src_end":8390,"src_start":8070},{"artifact":0,"gen_end":29494,"gen_start":8312,"node":24,"role":"declaration","source":0,"src_end":39304,"src_start":8392},{"artifact":0,"gen_end":30463,"gen_start":29494,"node":25,"role":"declaration","source":0,"src_end":40479,"src_start":39306},{"artifact":0,"gen_end":32002,"gen_start":30463,"node":26,"role":"declaration","source":0,"src_end":41949,"src_start":40481},{"artifact":0,"gen_end":32217,"gen_start":32002,"node":27,"role":"declaration","source":0,"src_end":42245,"src_start":41951},{"artifact":0,"gen_end":32554,"gen_start":32217,"node":28,"role":"declaration","source":0,"src_end":42696,"src_start":42247},{"artifact":0,"gen_end":56303,"gen_start":32554,"node":29,"role":"declaration","source":0,"src_end":80179,"src_start":42698},{"artifact":0,"gen_end":62781,"gen_start":56303,"node":30,"role":"declaration","source":0,"src_end":87652,"src_start":80181},{"artifact":0,"gen_end":63045,"gen_start":62781,"node":31,"role":"declaration","source":0,"src_end":87954,"src_start":87654},{"artifact":0,"gen_end":64666,"gen_start":63045,"node":32,"role":"declaration","source":0,"src_end":90259,"src_start":87956},{"artifact":0,"gen_end":327076,"gen_start":64666,"node":33,"role":"declaration","source":0,"src_end":408473,"src_start":90261},{"artifact":0,"gen_end":340316,"gen_start":327076,"node":34,"role":"declaration","source":0,"src_end":423624,"src_start":408475},{"artifact":0,"gen_end":341450,"gen_start":340316,"node":35,"role":"declaration","source":0,"src_end":424840,"src_start":423626},{"artifact":0,"gen_end":342407,"gen_start":341450,"node":36,"role":"declaration","source":0,"src_end":425975,"src_start":424842},{"artifact":0,"gen_end":342979,"gen_start":342407,"node":37,"role":"declaration","source":0,"src_end":426603,"src_start":425977},{"artifact":0,"gen_end":343014,"gen_start":342979,"node":0,"role":"declaration","source":0,"src_end":426639,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":38,"role":"declaration","source":0,"src_end":426639,"src_start":0},{"artifact":1,"gen_end":472,"gen_start":134,"node":39,"role":"declaration","source":0,"src_end":401,"src_start":152},{"artifact":1,"gen_end":819,"gen_start":472,"node":40,"role":"declaration","source":0,"src_end":661,"src_start":403},{"artifact":1,"gen_end":1312,"gen_start":819,"node":41,"role":"declaration","source":0,"src_end":1035,"src_start":663},{"artifact":1,"gen_end":1820,"gen_start":1312,"node":42,"role":"declaration","source":0,"src_end":1450,"src_start":1037},{"artifact":1,"gen_end":2262,"gen_start":1820,"node":43,"role":"declaration","source":0,"src_end":1751,"src_start":1452},{"artifact":1,"gen_end":2974,"gen_start":2262,"node":44,"role":"declaration","source":0,"src_end":2459,"src_start":1753},{"artifact":1,"gen_end":3360,"gen_start":2974,"node":45,"role":"declaration","source":0,"src_end":2685,"src_start":2461},{"artifact":1,"gen_end":3820,"gen_start":3360,"node":46,"role":"declaration","source":0,"src_end":3001,"src_start":2687},{"artifact":1,"gen_end":4493,"gen_start":3820,"node":47,"role":"declaration","source":0,"src_end":3390,"src_start":3003},{"artifact":1,"gen_end":5444,"gen_start":4493,"node":48,"role":"declaration","source":0,"src_end":4053,"src_start":3392},{"artifact":1,"gen_end":6028,"gen_start":5444,"node":49,"role":"declaration","source":0,"src_end":4462,"src_start":4055},{"artifact":1,"gen_end":6530,"gen_start":6028,"node":50,"role":"declaration","source":0,"src_end":4774,"src_start":4464},{"artifact":1,"gen_end":7032,"gen_start":6530,"node":51,"role":"declaration","source":0,"src_end":5086,"src_start":4776},{"artifact":1,"gen_end":7551,"gen_start":7032,"node":52,"role":"declaration","source":0,"src_end":5425,"src_start":5088},{"artifact":1,"gen_end":8112,"gen_start":7551,"node":53,"role":"declaration","source":0,"src_end":5806,"src_start":5427},{"artifact":1,"gen_end":8623,"gen_start":8112,"node":54,"role":"declaration","source":0,"src_end":6127,"src_start":5808},{"artifact":1,"gen_end":9140,"gen_start":8623,"node":55,"role":"declaration","source":0,"src_end":6454,"src_start":6129},{"artifact":1,"gen_end":9657,"gen_start":9140,"node":56,"role":"declaration","source":0,"src_end":6781,"src_start":6456},{"artifact":1,"gen_end":10174,"gen_start":9657,"node":57,"role":"declaration","source":0,"src_end":7108,"src_start":6783},{"artifact":1,"gen_end":10680,"gen_start":10174,"node":58,"role":"declaration","source":0,"src_end":7424,"src_start":7110},{"artifact":1,"gen_end":11192,"gen_start":10680,"node":59,"role":"declaration","source":0,"src_end":7746,"src_start":7426},{"artifact":1,"gen_end":11704,"gen_start":11192,"node":60,"role":"declaration","source":0,"src_end":8068,"src_start":7748},{"artifact":1,"gen_end":12216,"gen_start":11704,"node":61,"role":"declaration","source":0,"src_end":8390,"src_start":8070},{"artifact":1,"gen_end":33789,"gen_start":12216,"node":62,"role":"declaration","source":0,"src_end":39304,"src_start":8392},{"artifact":1,"gen_end":35022,"gen_start":33789,"node":63,"role":"declaration","source":0,"src_end":40479,"src_start":39306},{"artifact":1,"gen_end":36807,"gen_start":35022,"node":64,"role":"declaration","source":0,"src_end":41949,"src_start":40481},{"artifact":1,"gen_end":37299,"gen_start":36807,"node":65,"role":"declaration","source":0,"src_end":42245,"src_start":41951},{"artifact":1,"gen_end":37859,"gen_start":37299,"node":66,"role":"declaration","source":0,"src_end":42696,"src_start":42247},{"artifact":1,"gen_end":62160,"gen_start":37859,"node":67,"role":"declaration","source":0,"src_end":80179,"src_start":42698},{"artifact":1,"gen_end":68896,"gen_start":62160,"node":68,"role":"declaration","source":0,"src_end":87652,"src_start":80181},{"artifact":1,"gen_end":69357,"gen_start":68896,"node":69,"role":"declaration","source":0,"src_end":87954,"src_start":87654},{"artifact":1,"gen_end":71199,"gen_start":69357,"node":70,"role":"declaration","source":0,"src_end":90259,"src_start":87956},{"artifact":1,"gen_end":337147,"gen_start":71199,"node":71,"role":"declaration","source":0,"src_end":408473,"src_start":90261},{"artifact":1,"gen_end":350721,"gen_start":337147,"node":72,"role":"declaration","source":0,"src_end":423624,"src_start":408475},{"artifact":1,"gen_end":352052,"gen_start":350721,"node":73,"role":"declaration","source":0,"src_end":424840,"src_start":423626},{"artifact":1,"gen_end":353188,"gen_start":352052,"node":74,"role":"declaration","source":0,"src_end":425975,"src_start":424842},{"artifact":1,"gen_end":353983,"gen_start":353188,"node":75,"role":"declaration","source":0,"src_end":426603,"src_start":425977},{"artifact":1,"gen_end":353998,"gen_start":353983,"node":38,"role":"declaration","source":0,"src_end":426639,"src_start":0}],"module":"TargetSemantics","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-latex-module"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"}],"semantic_id":"322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a","source_id":"fc8fbbd2922aa3e7a7463e6862d110709e47f518802f63748cd199cee6055a74","sources":[{"id":0,"kind":"file","path":"src/TargetSemantics.lex.tex","sha256":"92551ec717ba14a68c53203b5ea1f68359902201116de69c2816668038eb4a60"}],"spec":"lexlean/source-map/1"} diff --git a/compiler/expected/build/maps/LexLeanTarget/TargetSyntax.map.json b/compiler/expected/build/maps/LexLeanTarget/TargetSyntax.map.json index bfa3876c0..99547aad3 100644 --- a/compiler/expected/build/maps/LexLeanTarget/TargetSyntax.map.json +++ b/compiler/expected/build/maps/LexLeanTarget/TargetSyntax.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/TargetSyntax.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/TargetSyntax.tex"}],"mappings":[{"artifact":0,"gen_end":209,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":5518,"src_start":0},{"artifact":0,"gen_end":303,"gen_start":209,"node":1,"role":"declaration","source":0,"src_end":442,"src_start":121},{"artifact":0,"gen_end":360,"gen_start":303,"node":2,"role":"declaration","source":0,"src_end":607,"src_start":444},{"artifact":0,"gen_end":623,"gen_start":360,"node":3,"role":"declaration","source":0,"src_end":1161,"src_start":609},{"artifact":0,"gen_end":1163,"gen_start":623,"node":4,"role":"declaration","source":0,"src_end":2079,"src_start":1163},{"artifact":0,"gen_end":1339,"gen_start":1163,"node":5,"role":"declaration","source":0,"src_end":2649,"src_start":2081},{"artifact":0,"gen_end":1909,"gen_start":1339,"node":6,"role":"declaration","source":0,"src_end":4148,"src_start":2651},{"artifact":0,"gen_end":2417,"gen_start":1909,"node":7,"role":"declaration","source":0,"src_end":4825,"src_start":4150},{"artifact":0,"gen_end":2497,"gen_start":2417,"node":8,"role":"declaration","source":0,"src_end":4974,"src_start":4827},{"artifact":0,"gen_end":2559,"gen_start":2497,"node":9,"role":"declaration","source":0,"src_end":5099,"src_start":4976},{"artifact":0,"gen_end":2666,"gen_start":2559,"node":10,"role":"declaration","source":0,"src_end":5325,"src_start":5101},{"artifact":0,"gen_end":2748,"gen_start":2666,"node":11,"role":"declaration","source":0,"src_end":5482,"src_start":5327},{"artifact":0,"gen_end":2780,"gen_start":2748,"node":0,"role":"declaration","source":0,"src_end":5518,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":12,"role":"declaration","source":0,"src_end":5518,"src_start":0},{"artifact":1,"gen_end":627,"gen_start":134,"node":13,"role":"declaration","source":0,"src_end":442,"src_start":121},{"artifact":1,"gen_end":858,"gen_start":627,"node":14,"role":"declaration","source":0,"src_end":607,"src_start":444},{"artifact":1,"gen_end":1726,"gen_start":858,"node":15,"role":"declaration","source":0,"src_end":1161,"src_start":609},{"artifact":1,"gen_end":3178,"gen_start":1726,"node":16,"role":"declaration","source":0,"src_end":2079,"src_start":1163},{"artifact":1,"gen_end":4106,"gen_start":3178,"node":17,"role":"declaration","source":0,"src_end":2649,"src_start":2081},{"artifact":1,"gen_end":6591,"gen_start":4106,"node":18,"role":"declaration","source":0,"src_end":4148,"src_start":2651},{"artifact":1,"gen_end":7585,"gen_start":6591,"node":19,"role":"declaration","source":0,"src_end":4825,"src_start":4150},{"artifact":1,"gen_end":7771,"gen_start":7585,"node":20,"role":"declaration","source":0,"src_end":4974,"src_start":4827},{"artifact":1,"gen_end":7908,"gen_start":7771,"node":21,"role":"declaration","source":0,"src_end":5099,"src_start":4976},{"artifact":1,"gen_end":8198,"gen_start":7908,"node":22,"role":"declaration","source":0,"src_end":5325,"src_start":5101},{"artifact":1,"gen_end":8391,"gen_start":8198,"node":23,"role":"declaration","source":0,"src_end":5482,"src_start":5327},{"artifact":1,"gen_end":8406,"gen_start":8391,"node":12,"role":"declaration","source":0,"src_end":5518,"src_start":0}],"module":"TargetSyntax","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-latex-module"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"}],"semantic_id":"db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9","source_id":"2f76ada498f17258f8a526df0820565414e563312654a2a7396b586dd3b407d1","sources":[{"id":0,"kind":"file","path":"src/TargetSyntax.lex.tex","sha256":"943d39daf9ece2d492cf8b15ba2df218f84031dbf0757b8ee765d240df55276e"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/LexLeanTarget/TargetSyntax.lean"},{"id":1,"kind":"tex","path":"modules/LexLeanTarget/TargetSyntax.tex"}],"mappings":[{"artifact":0,"gen_end":209,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":5518,"src_start":0},{"artifact":0,"gen_end":303,"gen_start":209,"node":1,"role":"declaration","source":0,"src_end":442,"src_start":121},{"artifact":0,"gen_end":360,"gen_start":303,"node":2,"role":"declaration","source":0,"src_end":607,"src_start":444},{"artifact":0,"gen_end":623,"gen_start":360,"node":3,"role":"declaration","source":0,"src_end":1161,"src_start":609},{"artifact":0,"gen_end":1163,"gen_start":623,"node":4,"role":"declaration","source":0,"src_end":2079,"src_start":1163},{"artifact":0,"gen_end":1339,"gen_start":1163,"node":5,"role":"declaration","source":0,"src_end":2649,"src_start":2081},{"artifact":0,"gen_end":1909,"gen_start":1339,"node":6,"role":"declaration","source":0,"src_end":4148,"src_start":2651},{"artifact":0,"gen_end":2417,"gen_start":1909,"node":7,"role":"declaration","source":0,"src_end":4825,"src_start":4150},{"artifact":0,"gen_end":2497,"gen_start":2417,"node":8,"role":"declaration","source":0,"src_end":4974,"src_start":4827},{"artifact":0,"gen_end":2559,"gen_start":2497,"node":9,"role":"declaration","source":0,"src_end":5099,"src_start":4976},{"artifact":0,"gen_end":2666,"gen_start":2559,"node":10,"role":"declaration","source":0,"src_end":5325,"src_start":5101},{"artifact":0,"gen_end":2748,"gen_start":2666,"node":11,"role":"declaration","source":0,"src_end":5482,"src_start":5327},{"artifact":0,"gen_end":2780,"gen_start":2748,"node":0,"role":"declaration","source":0,"src_end":5518,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":12,"role":"declaration","source":0,"src_end":5518,"src_start":0},{"artifact":1,"gen_end":627,"gen_start":134,"node":13,"role":"declaration","source":0,"src_end":442,"src_start":121},{"artifact":1,"gen_end":858,"gen_start":627,"node":14,"role":"declaration","source":0,"src_end":607,"src_start":444},{"artifact":1,"gen_end":1726,"gen_start":858,"node":15,"role":"declaration","source":0,"src_end":1161,"src_start":609},{"artifact":1,"gen_end":3178,"gen_start":1726,"node":16,"role":"declaration","source":0,"src_end":2079,"src_start":1163},{"artifact":1,"gen_end":4106,"gen_start":3178,"node":17,"role":"declaration","source":0,"src_end":2649,"src_start":2081},{"artifact":1,"gen_end":6591,"gen_start":4106,"node":18,"role":"declaration","source":0,"src_end":4148,"src_start":2651},{"artifact":1,"gen_end":7585,"gen_start":6591,"node":19,"role":"declaration","source":0,"src_end":4825,"src_start":4150},{"artifact":1,"gen_end":7771,"gen_start":7585,"node":20,"role":"declaration","source":0,"src_end":4974,"src_start":4827},{"artifact":1,"gen_end":7908,"gen_start":7771,"node":21,"role":"declaration","source":0,"src_end":5099,"src_start":4976},{"artifact":1,"gen_end":8198,"gen_start":7908,"node":22,"role":"declaration","source":0,"src_end":5325,"src_start":5101},{"artifact":1,"gen_end":8391,"gen_start":8198,"node":23,"role":"declaration","source":0,"src_end":5482,"src_start":5327},{"artifact":1,"gen_end":8406,"gen_start":8391,"node":12,"role":"declaration","source":0,"src_end":5518,"src_start":0}],"module":"TargetSyntax","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-latex-module"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"}],"semantic_id":"322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a","source_id":"fc8fbbd2922aa3e7a7463e6862d110709e47f518802f63748cd199cee6055a74","sources":[{"id":0,"kind":"file","path":"src/TargetSyntax.lex.tex","sha256":"943d39daf9ece2d492cf8b15ba2df218f84031dbf0757b8ee765d240df55276e"}],"spec":"lexlean/source-map/1"} diff --git a/compiler/expected/build/modules/LexLeanTarget/BudgetOracle.lean b/compiler/expected/build/modules/LexLeanTarget/BudgetOracle.lean index 90b0261fe..3066835f8 100644 --- a/compiler/expected/build/modules/LexLeanTarget/BudgetOracle.lean +++ b/compiler/expected/build/modules/LexLeanTarget/BudgetOracle.lean @@ -1,674 +1,14 @@ module public import Init +public import LexLeanRuntime.Portable +public import LexLeanRuntime.Collections +public import LexLeanRuntime.Reasoning set_option autoImplicit false set_option maxRecDepth 100000 set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace LexLeanTarget.BudgetOracle -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - -namespace LexLeanCollections - -public class Key (α : Type) where - compare : α -> α -> Ordering - -@[expose] public def compareCodes : List Char -> List Char -> Ordering - | [], [] => .eq - | [], _ :: _ => .lt - | _ :: _, [] => .gt - | left :: lefts, right :: rights => - match Ord.compare left.val.toNat right.val.toNat with - | .eq => compareCodes lefts rights - | other => other - -public instance : Key Nat where compare := Ord.compare -public instance : Key Int where compare := Ord.compare -public instance : Key Bool where compare := Ord.compare -public instance : Key Int8 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int16 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int32 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int64 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key UInt8 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt16 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt32 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt64 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key String where compare left right := compareCodes left.toList right.toList -public instance {α β : Type} [Key α] [Key β] : Key (Prod α β) where - compare left right := match Key.compare left.1 right.1 with - | .eq => Key.compare left.2 right.2 - | other => other - -@[expose] public def insertEntry {κ ν : Type} [Key κ] (key : κ) (value : ν) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [(key, value)] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (key, value) :: (other, stored) :: rest - | .eq => (key, value) :: rest - | .gt => (other, stored) :: insertEntry key value rest - -@[expose] public def removeEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (other, stored) :: rest - | .eq => rest - | .gt => (other, stored) :: removeEntry key rest - -@[expose] public def lookupEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> Option ν - | [] => none - | (other, stored) :: rest => match Key.compare key other with - | .lt => none - | .eq => some stored - | .gt => lookupEntry key rest - -@[expose] public def insertElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [key] - | other :: rest => match Key.compare key other with - | .lt => key :: other :: rest - | .eq => other :: rest - | .gt => other :: insertElement key rest - -@[expose] public def removeElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [] - | other :: rest => match Key.compare key other with - | .lt => other :: rest - | .eq => rest - | .gt => other :: removeElement key rest - -@[expose] public def containsElement {κ : Type} [Key κ] (key : κ) : List κ -> Bool - | [] => false - | other :: rest => match Key.compare key other with - | .lt => false - | .eq => true - | .gt => containsElement key rest - -@[expose] public def mapInsert {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) (value : ν) : List (Prod κ ν) := insertEntry key value map -@[expose] public def mapRemove {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : List (Prod κ ν) := removeEntry key map -@[expose] public def mapLookup {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Option ν := lookupEntry key map -@[expose] public def mapContains {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Bool := (lookupEntry key map).isSome -@[expose] public def mapSize {κ ν : Type} (map : List (Prod κ ν)) : Nat := map.length -@[expose] public def mapKeys {κ ν : Type} (map : List (Prod κ ν)) : List κ := map.map Prod.fst -@[expose] public def mapValues {κ ν : Type} (map : List (Prod κ ν)) : List ν := map.map Prod.snd -@[expose] public def mapEntries {κ ν : Type} (map : List (Prod κ ν)) : List (Prod κ ν) := map -@[expose] public def mapFold {κ ν β : Type} (step : β -> κ -> ν -> β) (initial : β) (map : List (Prod κ ν)) : β := - map.foldl (fun state entry => step state entry.1 entry.2) initial - -@[expose] public def setInsert {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := insertElement key set -@[expose] public def setRemove {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := removeElement key set -@[expose] public def setContains {κ : Type} [Key κ] (set : List κ) (key : κ) : Bool := containsElement key set -@[expose] public def setSize {κ : Type} (set : List κ) : Nat := set.length -@[expose] public def setElements {κ : Type} (set : List κ) : List κ := set -@[expose] public def setUnion {κ : Type} [Key κ] (left right : List κ) : List κ := right.foldl (fun acc key => insertElement key acc) left -@[expose] public def setIntersection {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => containsElement key right) -@[expose] public def setDifference {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => !containsElement key right) - -@[expose] public def graphSuccessors {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (node : κ) : List κ := - (lookupEntry node graph).getD [] - -@[expose] public def graphNodes {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : List κ := - graph.foldl (fun acc entry => entry.2.foldl (fun inner node => insertElement node inner) (insertElement entry.1 acc)) [] - -@[expose] public def reachableFrom {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> List κ - | 0, _, seen => seen - | Nat.succ fuel, frontier, seen => - let next := frontier.foldl (fun acc node => - (graphSuccessors graph node).foldl (fun acc2 succ => - if containsElement succ seen || containsElement succ acc2 then acc2 else insertElement succ acc2) acc) [] - match next with - | [] => seen - | _ => reachableFrom graph fuel next (next.foldl (fun acc key => insertElement key acc) seen) - -@[expose] public def graphReachable {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (start : κ) : List κ := - reachableFrom graph ((graphNodes graph).length + 1) [start] [start] - -@[expose] public def topological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> Option (List κ) - | 0, remaining, order => if remaining.isEmpty then some order.reverse else none - | Nat.succ fuel, remaining, order => - match remaining.filter (fun node => remaining.all (fun other => !containsElement node (graphSuccessors graph other))) with - | [] => if remaining.isEmpty then some order.reverse else none - | ready :: _ => topological graph fuel (removeElement ready remaining) (ready :: order) - -@[expose] public def graphTopological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Option (List κ) := - let nodes := graphNodes graph - topological graph (nodes.length + 1) nodes [] -@[expose] public def listFold {α σ : Type} (step : σ -> α -> σ) (initial : σ) (values : List α) : σ := - values.foldl step initial - -@[expose] public def setFold {κ σ : Type} (step : σ -> κ -> σ) (initial : σ) (set : List κ) : σ := - set.foldl step initial - -@[expose] public def iterate {σ : Type} (step : σ -> σ) : Nat -> σ -> σ - | 0, state => state - | Nat.succ count, state => iterate step count (step state) - -@[expose] public def iterateUntil {σ : Type} (step : σ -> Option σ) : Nat -> σ -> Prod σ Bool - | 0, state => (state, false) - | Nat.succ fuel, state => match step state with - | none => (state, true) - | some next => iterateUntil step fuel next - -@[expose] public def lessThan {κ : Type} [Key κ] (left right : κ) : Bool := - match Key.compare left right with - | .lt => true - | _ => false -end LexLeanCollections - -namespace LexLeanReasoning - -public inductive Star {σ : Type} (r : σ -> σ -> Prop) : σ -> σ -> Prop where - | refl (a : σ) : Star r a a - | tail (a b c : σ) : Star r a b -> r b c -> Star r a c - -public inductive All {α : Type} (p : α -> Prop) : List α -> Prop where - | nil : All p [] - | cons (a : α) (rest : List α) : p a -> All p rest -> All p (a :: rest) - -@[expose] public def Preserves {σ : Type} (r : σ -> σ -> Prop) (j : σ -> Prop) : Prop := - forall (s t : σ), j s -> r s t -> j t -@[expose] public def Sound {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), v a b = true -> p a b -@[expose] public def Complete {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), p a b -> v a b = true -@[expose] public def Reaches {σ ε : Type} (r : σ -> σ -> Prop) (a : σ) (acc : Except ε σ) : Prop := - forall (s : σ), acc = Except.ok s -> Star r a s -@[expose] public def Found {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) : Option (Prod ρ ν) -> Prop - | none => True - | some hit => ok hit.2 /\ accept hit.2 = some hit.1 -@[expose] public def SearchOk {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) (frontier : List ν) (found : Option (Prod ρ ν)) : Prop := - All ok frontier /\ Found ok accept found - -public theorem starPreserves {σ : Type} (r : σ -> σ -> Prop) (j : σ -> Prop) (h : Preserves r j) : - forall (a b : σ), Star r a b -> j a -> j b := by - intro a b hs - induction hs with - | refl => exact fun ha => ha - | tail y z _ hyz ih => exact fun ha => h y z (ih ha) hyz - -public theorem reachesStart {σ ε : Type} (r : σ -> σ -> Prop) (a : σ) : Reaches (ε := ε) r a (Except.ok a) := by - intro s e - cases e - exact Star.refl a - -public theorem guarded {σ : Type} (r : σ -> σ -> Prop) (s : σ) (g : Bool) (c : σ) (h : g = true -> r s c) (t : σ) : - (if g then some c else none) = some t -> r s t := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact h rfl - -public theorem guardedRank {σ : Type} (μ : σ -> Nat) (s : σ) (g : Bool) (c : σ) (h : g = true -> μ c < μ s) (t : σ) : - (if g then some c else none) = some t -> μ t < μ s := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact h rfl - -public theorem checked {ρ : Type} (g : Bool) (a b : ρ) : (if g then some a else none) = some b -> g = true /\ a = b := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact And.intro rfl rfl - -public theorem foldInvariant {σ α : Type} (f : σ -> α -> σ) (p : σ -> Prop) (h : forall (a : σ) (x : α), p a -> p (f a x)) : - forall (xs : List α) (a : σ), p a -> p (LexLeanCollections.listFold f a xs) := by - intro xs - induction xs with - | nil => exact fun _ ha => ha - | cons x rest ih => exact fun a ha => ih (f a x) (h a x ha) - -public theorem foldSnoc {σ α : Type} (f : σ -> α -> σ) (a : σ) (xs : List α) (y : α) : - LexLeanCollections.listFold f a (LexLeanRuntime.append xs (y :: [])) = f (LexLeanCollections.listFold f a xs) y := by - induction xs generalizing a with - | nil => rfl - | cons x rest ih => exact ih (f a x) - -public theorem allAppend {α : Type} (p : α -> Prop) : forall (xs ys : List α), All p xs -> All p ys -> All p (LexLeanRuntime.append xs ys) := by - intro xs - induction xs with - | nil => exact fun _ _ h => h - | cons x rest ih => - intro ys hx hy - cases hx with - | cons _ _ hp hr => exact All.cons x (LexLeanRuntime.append rest ys) hp (ih ys hr hy) - -public theorem allSingle {α : Type} (p : α -> Prop) (a : α) (h : p a) : All p (a :: []) := - All.cons a [] h All.nil - -public theorem allHead {α : Type} (p : α -> Prop) (a : α) (rest : List α) (h : All p (a :: rest)) : p a := by - cases h with - | cons _ _ hp _ => exact hp - -public theorem allTail {α : Type} (p : α -> Prop) (a : α) (rest : List α) (h : All p (a :: rest)) : All p rest := by - cases h with - | cons _ _ _ hr => exact hr - -public theorem allFold {σ α : Type} (f : σ -> α -> σ) (p : σ -> Prop) (q : α -> Prop) (h : forall (a : σ) (x : α), q x -> p a -> p (f a x)) : - forall (xs : List α) (a : σ), All q xs -> p a -> p (LexLeanCollections.listFold f a xs) := by - intro xs - induction xs with - | nil => exact fun _ _ ha => ha - | cons x rest ih => - intro a hx ha - cases hx with - | cons _ _ hq hr => exact ih (f a x) hr (h a x hq ha) - -public theorem capAll {α : Type} (p : α -> Prop) (k : Nat) (xs : List α) (h : All p xs) : - All p (LexLeanCollections.listFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) [] xs) := - allFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) (All p) p - (fun a x hq ha => by - show All p (if Nat.blt (LexLeanRuntime.length a) k then LexLeanRuntime.append a (x :: []) else a) - cases Nat.blt (LexLeanRuntime.length a) k with - | false => exact ha - | true => exact allAppend p a (x :: []) ha (allSingle p x hq)) xs [] h All.nil - -public theorem lengthSnoc {α : Type} (xs : List α) (y : α) : LexLeanRuntime.length (LexLeanRuntime.append xs (y :: [])) = LexLeanRuntime.length xs + 1 := by - induction xs with - | nil => rfl - | cons x rest ih => exact congrArg Nat.succ ih - -public theorem capBound {α : Type} (k : Nat) (xs : List α) : - LexLeanRuntime.length (LexLeanCollections.listFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) [] xs) <= k := - foldInvariant (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) (fun (acc : List α) => LexLeanRuntime.length acc <= k) - (fun a x ha => by - show LexLeanRuntime.length (if Nat.blt (LexLeanRuntime.length a) k then LexLeanRuntime.append a (x :: []) else a) <= k - cases e : Nat.blt (LexLeanRuntime.length a) k with - | false => exact ha - | true => - show LexLeanRuntime.length (LexLeanRuntime.append a (x :: [])) <= k - rw [lengthSnoc] - exact Nat.le_of_ble_eq_true e) xs [] (Nat.zero_le k) - -public theorem freshAll {ν κ : Type} [LexLeanCollections.Key κ] (key : ν -> κ) (p : ν -> Prop) (v : List κ) (ns : List ν) (h : All p ns) : - All p (LexLeanCollections.listFold (fun (acc : Prod (List ν) (List κ)) (n : ν) => if LexLeanCollections.setContains acc.2 (key n) then acc else (LexLeanRuntime.append acc.1 (n :: []), LexLeanCollections.setInsert acc.2 (key n))) (([] : List ν), v) ns).1 := - allFold (fun (acc : Prod (List ν) (List κ)) (n : ν) => if LexLeanCollections.setContains acc.2 (key n) then acc else (LexLeanRuntime.append acc.1 (n :: []), LexLeanCollections.setInsert acc.2 (key n))) (fun (acc : Prod (List ν) (List κ)) => All p acc.1) p - (fun a x hq ha => by - show All p (if LexLeanCollections.setContains a.2 (key x) then a else (LexLeanRuntime.append a.1 (x :: []), LexLeanCollections.setInsert a.2 (key x))).1 - cases LexLeanCollections.setContains a.2 (key x) with - | true => exact ha - | false => exact allAppend p a.1 (x :: []) ha (allSingle p x hq)) ns (([] : List ν), v) h All.nil - -public theorem searchStart {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) (frontier : List ν) (h : All ok frontier) : - SearchOk ok accept frontier none := - And.intro h True.intro - -public theorem peakBound (p len k : Nat) (hp : p <= k) (hl : len <= k) : (if Nat.blt p len then len else p) <= k := by - cases Nat.blt p len with - | false => exact hp - | true => exact hl - -public theorem iterateUntilInvariant {σ : Type} (step : σ -> Option σ) (p : σ -> Prop) (h : forall (a b : σ), step a = some b -> p a -> p b) : - forall (n : Nat) (a : σ), p a -> p (LexLeanCollections.iterateUntil step n a).1 := by - intro n - induction n with - | zero => exact fun _ ha => ha - | succ n ih => - intro a ha - show p (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 - cases e : step a with - | none => exact ha - | some b => exact ih b (h a b e ha) - -public theorem iterateUntilSimulate {σ τ : Type} (f : σ -> Option σ) (g : τ -> Option τ) (π : σ -> τ) - (hnone : forall (a : σ), f a = none -> g (π a) = none) - (hsome : forall (a b : σ), f a = some b -> g (π a) = some (π b)) : - forall (n : Nat) (a : σ), π (LexLeanCollections.iterateUntil f n a).1 = (LexLeanCollections.iterateUntil g n (π a)).1 /\ (LexLeanCollections.iterateUntil f n a).2 = (LexLeanCollections.iterateUntil g n (π a)).2 := by - intro n - induction n with - | zero => exact fun _ => And.intro rfl rfl - | succ n ih => - intro a - show π (match f a with | none => (a, true) | some next => LexLeanCollections.iterateUntil f n next).1 = (match g (π a) with | none => (π a, true) | some next => LexLeanCollections.iterateUntil g n next).1 /\ (match f a with | none => (a, true) | some next => LexLeanCollections.iterateUntil f n next).2 = (match g (π a) with | none => (π a, true) | some next => LexLeanCollections.iterateUntil g n next).2 - cases e : f a with - | none => rw [hnone a e]; exact And.intro rfl rfl - | some b => rw [hsome a b e]; exact ih b - -public theorem iterateUntilCount {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (h : forall (a b : σ), step a = some b -> c b = c a + 1) : - forall (n : Nat) (a : σ), c a = 0 -> c (LexLeanCollections.iterateUntil step n a).1 <= n := by - have general : forall (n : Nat) (a : σ), c (LexLeanCollections.iterateUntil step n a).1 <= c a + n := by - intro n - induction n with - | zero => exact fun a => Nat.le_refl (c a) - | succ n ih => - intro a - show c (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 <= c a + (n + 1) - cases e : step a with - | none => exact Nat.le_add_right (c a) (n + 1) - | some b => - have hb := ih b - rw [h a b e] at hb - rw [Nat.add_right_comm] at hb - exact (Nat.add_assoc (c a) n 1) ▸ (Nat.add_right_comm (c a) 1 n) ▸ hb - intro n a h0 - have hg := general n a - rw [h0, Nat.zero_add] at hg - exact hg - -public theorem iterateUntilGrowth {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (h : forall (a b : σ), step a = some b -> c b <= c a + 1) : - forall (n : Nat) (a : σ), c a = 0 -> c (LexLeanCollections.iterateUntil step n a).1 <= n := by - have general : forall (n : Nat) (a : σ), c (LexLeanCollections.iterateUntil step n a).1 <= c a + n := by - intro n - induction n with - | zero => exact fun a => Nat.le_refl (c a) - | succ n ih => - intro a - show c (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 <= c a + (n + 1) - cases e : step a with - | none => exact Nat.le_add_right (c a) (n + 1) - | some b => - have hb := Nat.le_trans (ih b) (Nat.add_le_add_right (h a b e) n) - rw [Nat.add_right_comm] at hb - exact hb - intro n a h0 - have hg := general n a - rw [h0, Nat.zero_add] at hg - exact hg - -public theorem iterateUntilStops {σ : Type} (step : σ -> Option σ) (p : σ -> Prop) (μ : σ -> Nat) - (h : forall (a b : σ), step a = some b -> p a -> p b /\ μ b < μ a) : - forall (n : Nat) (a : σ), p a -> μ a < n -> (LexLeanCollections.iterateUntil step n a).2 = true := by - intro n - induction n with - | zero => intro a _ hm; exact absurd hm (Nat.not_lt_zero (μ a)) - | succ n ih => - intro a ha hm - show (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).2 = true - cases e : step a with - | none => rfl - | some b => - have hb := h a b e ha - exact ih b hb.left (Nat.lt_of_lt_of_le hb.right (Nat.le_of_lt_succ hm)) - -public theorem iterateUntilBound {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (k : Nat) (h : forall (a b : σ), step a = some b -> c a <= k -> c b <= k) : - forall (n : Nat) (a : σ), c a <= k -> c (LexLeanCollections.iterateUntil step n a).1 <= k := - iterateUntilInvariant step (fun (a : σ) => c a <= k) h -public theorem noneSome {ρ : Type} {q : Prop} (v : ρ) (h : (none : Option ρ) = some v) : q := by - cases h - -public theorem zeroLe (n : Nat) : 0 <= n := - Nat.zero_le n - -public theorem bltSucc (a b : Nat) (h : Nat.blt a b = true) : a + 1 <= b := - Nat.le_of_ble_eq_true h - -end LexLeanReasoning - @[expose, reducible] public def Spent (T : Type) (s : (Prod (T) (Nat))) (t : (Prod (T) (Nat))) : Prop := (((t).1 = (s).1) /\ ((t).2 < (s).2)) @[expose] public def Remaining (T : Type) (s : (Prod (T) (Nat))) : Nat := (s).2 diff --git a/compiler/expected/build/modules/LexLeanTarget/Certification.lean b/compiler/expected/build/modules/LexLeanTarget/Certification.lean index e43aa6d37..82c1a7387 100644 --- a/compiler/expected/build/modules/LexLeanTarget/Certification.lean +++ b/compiler/expected/build/modules/LexLeanTarget/Certification.lean @@ -1,5 +1,6 @@ module public import Init +public import LexLeanRuntime.Portable public import LexLeanTarget.Gnaf public import LexLeanTarget.TargetSemantics public import LexLeanTarget.TargetSyntax @@ -9,289 +10,6 @@ set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace LexLeanTarget.Certification -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - public inductive Schema where | collapse | specializeSmall diff --git a/compiler/expected/build/modules/LexLeanTarget/Gnaf.lean b/compiler/expected/build/modules/LexLeanTarget/Gnaf.lean index 7e4957da0..f8971ad55 100644 --- a/compiler/expected/build/modules/LexLeanTarget/Gnaf.lean +++ b/compiler/expected/build/modules/LexLeanTarget/Gnaf.lean @@ -1,5 +1,6 @@ module public import Init +public import LexLeanRuntime.Portable public import LexLeanTarget.TargetSemantics public import LexLeanTarget.TargetSyntax set_option autoImplicit false @@ -8,289 +9,6 @@ set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace LexLeanTarget.Gnaf -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - public inductive ClaimClass where | exact | normalForm diff --git a/compiler/expected/build/modules/LexLeanTarget/GradeOracle.lean b/compiler/expected/build/modules/LexLeanTarget/GradeOracle.lean index c0a93c00d..ae09a6ba5 100644 --- a/compiler/expected/build/modules/LexLeanTarget/GradeOracle.lean +++ b/compiler/expected/build/modules/LexLeanTarget/GradeOracle.lean @@ -1,5 +1,8 @@ module public import Init +public import LexLeanRuntime.Portable +public import LexLeanRuntime.Collections +public import LexLeanRuntime.Reasoning public import LexLeanTarget.ReasoningOracle set_option autoImplicit false set_option maxRecDepth 100000 @@ -7,669 +10,6 @@ set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace LexLeanTarget.GradeOracle -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - -namespace LexLeanCollections - -public class Key (α : Type) where - compare : α -> α -> Ordering - -@[expose] public def compareCodes : List Char -> List Char -> Ordering - | [], [] => .eq - | [], _ :: _ => .lt - | _ :: _, [] => .gt - | left :: lefts, right :: rights => - match Ord.compare left.val.toNat right.val.toNat with - | .eq => compareCodes lefts rights - | other => other - -public instance : Key Nat where compare := Ord.compare -public instance : Key Int where compare := Ord.compare -public instance : Key Bool where compare := Ord.compare -public instance : Key Int8 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int16 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int32 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int64 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key UInt8 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt16 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt32 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt64 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key String where compare left right := compareCodes left.toList right.toList -public instance {α β : Type} [Key α] [Key β] : Key (Prod α β) where - compare left right := match Key.compare left.1 right.1 with - | .eq => Key.compare left.2 right.2 - | other => other - -@[expose] public def insertEntry {κ ν : Type} [Key κ] (key : κ) (value : ν) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [(key, value)] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (key, value) :: (other, stored) :: rest - | .eq => (key, value) :: rest - | .gt => (other, stored) :: insertEntry key value rest - -@[expose] public def removeEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (other, stored) :: rest - | .eq => rest - | .gt => (other, stored) :: removeEntry key rest - -@[expose] public def lookupEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> Option ν - | [] => none - | (other, stored) :: rest => match Key.compare key other with - | .lt => none - | .eq => some stored - | .gt => lookupEntry key rest - -@[expose] public def insertElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [key] - | other :: rest => match Key.compare key other with - | .lt => key :: other :: rest - | .eq => other :: rest - | .gt => other :: insertElement key rest - -@[expose] public def removeElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [] - | other :: rest => match Key.compare key other with - | .lt => other :: rest - | .eq => rest - | .gt => other :: removeElement key rest - -@[expose] public def containsElement {κ : Type} [Key κ] (key : κ) : List κ -> Bool - | [] => false - | other :: rest => match Key.compare key other with - | .lt => false - | .eq => true - | .gt => containsElement key rest - -@[expose] public def mapInsert {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) (value : ν) : List (Prod κ ν) := insertEntry key value map -@[expose] public def mapRemove {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : List (Prod κ ν) := removeEntry key map -@[expose] public def mapLookup {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Option ν := lookupEntry key map -@[expose] public def mapContains {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Bool := (lookupEntry key map).isSome -@[expose] public def mapSize {κ ν : Type} (map : List (Prod κ ν)) : Nat := map.length -@[expose] public def mapKeys {κ ν : Type} (map : List (Prod κ ν)) : List κ := map.map Prod.fst -@[expose] public def mapValues {κ ν : Type} (map : List (Prod κ ν)) : List ν := map.map Prod.snd -@[expose] public def mapEntries {κ ν : Type} (map : List (Prod κ ν)) : List (Prod κ ν) := map -@[expose] public def mapFold {κ ν β : Type} (step : β -> κ -> ν -> β) (initial : β) (map : List (Prod κ ν)) : β := - map.foldl (fun state entry => step state entry.1 entry.2) initial - -@[expose] public def setInsert {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := insertElement key set -@[expose] public def setRemove {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := removeElement key set -@[expose] public def setContains {κ : Type} [Key κ] (set : List κ) (key : κ) : Bool := containsElement key set -@[expose] public def setSize {κ : Type} (set : List κ) : Nat := set.length -@[expose] public def setElements {κ : Type} (set : List κ) : List κ := set -@[expose] public def setUnion {κ : Type} [Key κ] (left right : List κ) : List κ := right.foldl (fun acc key => insertElement key acc) left -@[expose] public def setIntersection {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => containsElement key right) -@[expose] public def setDifference {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => !containsElement key right) - -@[expose] public def graphSuccessors {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (node : κ) : List κ := - (lookupEntry node graph).getD [] - -@[expose] public def graphNodes {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : List κ := - graph.foldl (fun acc entry => entry.2.foldl (fun inner node => insertElement node inner) (insertElement entry.1 acc)) [] - -@[expose] public def reachableFrom {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> List κ - | 0, _, seen => seen - | Nat.succ fuel, frontier, seen => - let next := frontier.foldl (fun acc node => - (graphSuccessors graph node).foldl (fun acc2 succ => - if containsElement succ seen || containsElement succ acc2 then acc2 else insertElement succ acc2) acc) [] - match next with - | [] => seen - | _ => reachableFrom graph fuel next (next.foldl (fun acc key => insertElement key acc) seen) - -@[expose] public def graphReachable {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (start : κ) : List κ := - reachableFrom graph ((graphNodes graph).length + 1) [start] [start] - -@[expose] public def topological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> Option (List κ) - | 0, remaining, order => if remaining.isEmpty then some order.reverse else none - | Nat.succ fuel, remaining, order => - match remaining.filter (fun node => remaining.all (fun other => !containsElement node (graphSuccessors graph other))) with - | [] => if remaining.isEmpty then some order.reverse else none - | ready :: _ => topological graph fuel (removeElement ready remaining) (ready :: order) - -@[expose] public def graphTopological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Option (List κ) := - let nodes := graphNodes graph - topological graph (nodes.length + 1) nodes [] -@[expose] public def listFold {α σ : Type} (step : σ -> α -> σ) (initial : σ) (values : List α) : σ := - values.foldl step initial - -@[expose] public def setFold {κ σ : Type} (step : σ -> κ -> σ) (initial : σ) (set : List κ) : σ := - set.foldl step initial - -@[expose] public def iterate {σ : Type} (step : σ -> σ) : Nat -> σ -> σ - | 0, state => state - | Nat.succ count, state => iterate step count (step state) - -@[expose] public def iterateUntil {σ : Type} (step : σ -> Option σ) : Nat -> σ -> Prod σ Bool - | 0, state => (state, false) - | Nat.succ fuel, state => match step state with - | none => (state, true) - | some next => iterateUntil step fuel next - -@[expose] public def lessThan {κ : Type} [Key κ] (left right : κ) : Bool := - match Key.compare left right with - | .lt => true - | _ => false -end LexLeanCollections - -namespace LexLeanReasoning - -public inductive Star {σ : Type} (r : σ -> σ -> Prop) : σ -> σ -> Prop where - | refl (a : σ) : Star r a a - | tail (a b c : σ) : Star r a b -> r b c -> Star r a c - -public inductive All {α : Type} (p : α -> Prop) : List α -> Prop where - | nil : All p [] - | cons (a : α) (rest : List α) : p a -> All p rest -> All p (a :: rest) - -@[expose] public def Preserves {σ : Type} (r : σ -> σ -> Prop) (j : σ -> Prop) : Prop := - forall (s t : σ), j s -> r s t -> j t -@[expose] public def Sound {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), v a b = true -> p a b -@[expose] public def Complete {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), p a b -> v a b = true -@[expose] public def Reaches {σ ε : Type} (r : σ -> σ -> Prop) (a : σ) (acc : Except ε σ) : Prop := - forall (s : σ), acc = Except.ok s -> Star r a s -@[expose] public def Found {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) : Option (Prod ρ ν) -> Prop - | none => True - | some hit => ok hit.2 /\ accept hit.2 = some hit.1 -@[expose] public def SearchOk {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) (frontier : List ν) (found : Option (Prod ρ ν)) : Prop := - All ok frontier /\ Found ok accept found - -public theorem starPreserves {σ : Type} (r : σ -> σ -> Prop) (j : σ -> Prop) (h : Preserves r j) : - forall (a b : σ), Star r a b -> j a -> j b := by - intro a b hs - induction hs with - | refl => exact fun ha => ha - | tail y z _ hyz ih => exact fun ha => h y z (ih ha) hyz - -public theorem reachesStart {σ ε : Type} (r : σ -> σ -> Prop) (a : σ) : Reaches (ε := ε) r a (Except.ok a) := by - intro s e - cases e - exact Star.refl a - -public theorem guarded {σ : Type} (r : σ -> σ -> Prop) (s : σ) (g : Bool) (c : σ) (h : g = true -> r s c) (t : σ) : - (if g then some c else none) = some t -> r s t := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact h rfl - -public theorem guardedRank {σ : Type} (μ : σ -> Nat) (s : σ) (g : Bool) (c : σ) (h : g = true -> μ c < μ s) (t : σ) : - (if g then some c else none) = some t -> μ t < μ s := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact h rfl - -public theorem checked {ρ : Type} (g : Bool) (a b : ρ) : (if g then some a else none) = some b -> g = true /\ a = b := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact And.intro rfl rfl - -public theorem foldInvariant {σ α : Type} (f : σ -> α -> σ) (p : σ -> Prop) (h : forall (a : σ) (x : α), p a -> p (f a x)) : - forall (xs : List α) (a : σ), p a -> p (LexLeanCollections.listFold f a xs) := by - intro xs - induction xs with - | nil => exact fun _ ha => ha - | cons x rest ih => exact fun a ha => ih (f a x) (h a x ha) - -public theorem foldSnoc {σ α : Type} (f : σ -> α -> σ) (a : σ) (xs : List α) (y : α) : - LexLeanCollections.listFold f a (LexLeanRuntime.append xs (y :: [])) = f (LexLeanCollections.listFold f a xs) y := by - induction xs generalizing a with - | nil => rfl - | cons x rest ih => exact ih (f a x) - -public theorem allAppend {α : Type} (p : α -> Prop) : forall (xs ys : List α), All p xs -> All p ys -> All p (LexLeanRuntime.append xs ys) := by - intro xs - induction xs with - | nil => exact fun _ _ h => h - | cons x rest ih => - intro ys hx hy - cases hx with - | cons _ _ hp hr => exact All.cons x (LexLeanRuntime.append rest ys) hp (ih ys hr hy) - -public theorem allSingle {α : Type} (p : α -> Prop) (a : α) (h : p a) : All p (a :: []) := - All.cons a [] h All.nil - -public theorem allHead {α : Type} (p : α -> Prop) (a : α) (rest : List α) (h : All p (a :: rest)) : p a := by - cases h with - | cons _ _ hp _ => exact hp - -public theorem allTail {α : Type} (p : α -> Prop) (a : α) (rest : List α) (h : All p (a :: rest)) : All p rest := by - cases h with - | cons _ _ _ hr => exact hr - -public theorem allFold {σ α : Type} (f : σ -> α -> σ) (p : σ -> Prop) (q : α -> Prop) (h : forall (a : σ) (x : α), q x -> p a -> p (f a x)) : - forall (xs : List α) (a : σ), All q xs -> p a -> p (LexLeanCollections.listFold f a xs) := by - intro xs - induction xs with - | nil => exact fun _ _ ha => ha - | cons x rest ih => - intro a hx ha - cases hx with - | cons _ _ hq hr => exact ih (f a x) hr (h a x hq ha) - -public theorem capAll {α : Type} (p : α -> Prop) (k : Nat) (xs : List α) (h : All p xs) : - All p (LexLeanCollections.listFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) [] xs) := - allFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) (All p) p - (fun a x hq ha => by - show All p (if Nat.blt (LexLeanRuntime.length a) k then LexLeanRuntime.append a (x :: []) else a) - cases Nat.blt (LexLeanRuntime.length a) k with - | false => exact ha - | true => exact allAppend p a (x :: []) ha (allSingle p x hq)) xs [] h All.nil - -public theorem lengthSnoc {α : Type} (xs : List α) (y : α) : LexLeanRuntime.length (LexLeanRuntime.append xs (y :: [])) = LexLeanRuntime.length xs + 1 := by - induction xs with - | nil => rfl - | cons x rest ih => exact congrArg Nat.succ ih - -public theorem capBound {α : Type} (k : Nat) (xs : List α) : - LexLeanRuntime.length (LexLeanCollections.listFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) [] xs) <= k := - foldInvariant (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) (fun (acc : List α) => LexLeanRuntime.length acc <= k) - (fun a x ha => by - show LexLeanRuntime.length (if Nat.blt (LexLeanRuntime.length a) k then LexLeanRuntime.append a (x :: []) else a) <= k - cases e : Nat.blt (LexLeanRuntime.length a) k with - | false => exact ha - | true => - show LexLeanRuntime.length (LexLeanRuntime.append a (x :: [])) <= k - rw [lengthSnoc] - exact Nat.le_of_ble_eq_true e) xs [] (Nat.zero_le k) - -public theorem freshAll {ν κ : Type} [LexLeanCollections.Key κ] (key : ν -> κ) (p : ν -> Prop) (v : List κ) (ns : List ν) (h : All p ns) : - All p (LexLeanCollections.listFold (fun (acc : Prod (List ν) (List κ)) (n : ν) => if LexLeanCollections.setContains acc.2 (key n) then acc else (LexLeanRuntime.append acc.1 (n :: []), LexLeanCollections.setInsert acc.2 (key n))) (([] : List ν), v) ns).1 := - allFold (fun (acc : Prod (List ν) (List κ)) (n : ν) => if LexLeanCollections.setContains acc.2 (key n) then acc else (LexLeanRuntime.append acc.1 (n :: []), LexLeanCollections.setInsert acc.2 (key n))) (fun (acc : Prod (List ν) (List κ)) => All p acc.1) p - (fun a x hq ha => by - show All p (if LexLeanCollections.setContains a.2 (key x) then a else (LexLeanRuntime.append a.1 (x :: []), LexLeanCollections.setInsert a.2 (key x))).1 - cases LexLeanCollections.setContains a.2 (key x) with - | true => exact ha - | false => exact allAppend p a.1 (x :: []) ha (allSingle p x hq)) ns (([] : List ν), v) h All.nil - -public theorem searchStart {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) (frontier : List ν) (h : All ok frontier) : - SearchOk ok accept frontier none := - And.intro h True.intro - -public theorem peakBound (p len k : Nat) (hp : p <= k) (hl : len <= k) : (if Nat.blt p len then len else p) <= k := by - cases Nat.blt p len with - | false => exact hp - | true => exact hl - -public theorem iterateUntilInvariant {σ : Type} (step : σ -> Option σ) (p : σ -> Prop) (h : forall (a b : σ), step a = some b -> p a -> p b) : - forall (n : Nat) (a : σ), p a -> p (LexLeanCollections.iterateUntil step n a).1 := by - intro n - induction n with - | zero => exact fun _ ha => ha - | succ n ih => - intro a ha - show p (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 - cases e : step a with - | none => exact ha - | some b => exact ih b (h a b e ha) - -public theorem iterateUntilSimulate {σ τ : Type} (f : σ -> Option σ) (g : τ -> Option τ) (π : σ -> τ) - (hnone : forall (a : σ), f a = none -> g (π a) = none) - (hsome : forall (a b : σ), f a = some b -> g (π a) = some (π b)) : - forall (n : Nat) (a : σ), π (LexLeanCollections.iterateUntil f n a).1 = (LexLeanCollections.iterateUntil g n (π a)).1 /\ (LexLeanCollections.iterateUntil f n a).2 = (LexLeanCollections.iterateUntil g n (π a)).2 := by - intro n - induction n with - | zero => exact fun _ => And.intro rfl rfl - | succ n ih => - intro a - show π (match f a with | none => (a, true) | some next => LexLeanCollections.iterateUntil f n next).1 = (match g (π a) with | none => (π a, true) | some next => LexLeanCollections.iterateUntil g n next).1 /\ (match f a with | none => (a, true) | some next => LexLeanCollections.iterateUntil f n next).2 = (match g (π a) with | none => (π a, true) | some next => LexLeanCollections.iterateUntil g n next).2 - cases e : f a with - | none => rw [hnone a e]; exact And.intro rfl rfl - | some b => rw [hsome a b e]; exact ih b - -public theorem iterateUntilCount {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (h : forall (a b : σ), step a = some b -> c b = c a + 1) : - forall (n : Nat) (a : σ), c a = 0 -> c (LexLeanCollections.iterateUntil step n a).1 <= n := by - have general : forall (n : Nat) (a : σ), c (LexLeanCollections.iterateUntil step n a).1 <= c a + n := by - intro n - induction n with - | zero => exact fun a => Nat.le_refl (c a) - | succ n ih => - intro a - show c (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 <= c a + (n + 1) - cases e : step a with - | none => exact Nat.le_add_right (c a) (n + 1) - | some b => - have hb := ih b - rw [h a b e] at hb - rw [Nat.add_right_comm] at hb - exact (Nat.add_assoc (c a) n 1) ▸ (Nat.add_right_comm (c a) 1 n) ▸ hb - intro n a h0 - have hg := general n a - rw [h0, Nat.zero_add] at hg - exact hg - -public theorem iterateUntilGrowth {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (h : forall (a b : σ), step a = some b -> c b <= c a + 1) : - forall (n : Nat) (a : σ), c a = 0 -> c (LexLeanCollections.iterateUntil step n a).1 <= n := by - have general : forall (n : Nat) (a : σ), c (LexLeanCollections.iterateUntil step n a).1 <= c a + n := by - intro n - induction n with - | zero => exact fun a => Nat.le_refl (c a) - | succ n ih => - intro a - show c (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 <= c a + (n + 1) - cases e : step a with - | none => exact Nat.le_add_right (c a) (n + 1) - | some b => - have hb := Nat.le_trans (ih b) (Nat.add_le_add_right (h a b e) n) - rw [Nat.add_right_comm] at hb - exact hb - intro n a h0 - have hg := general n a - rw [h0, Nat.zero_add] at hg - exact hg - -public theorem iterateUntilStops {σ : Type} (step : σ -> Option σ) (p : σ -> Prop) (μ : σ -> Nat) - (h : forall (a b : σ), step a = some b -> p a -> p b /\ μ b < μ a) : - forall (n : Nat) (a : σ), p a -> μ a < n -> (LexLeanCollections.iterateUntil step n a).2 = true := by - intro n - induction n with - | zero => intro a _ hm; exact absurd hm (Nat.not_lt_zero (μ a)) - | succ n ih => - intro a ha hm - show (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).2 = true - cases e : step a with - | none => rfl - | some b => - have hb := h a b e ha - exact ih b hb.left (Nat.lt_of_lt_of_le hb.right (Nat.le_of_lt_succ hm)) - -public theorem iterateUntilBound {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (k : Nat) (h : forall (a b : σ), step a = some b -> c a <= k -> c b <= k) : - forall (n : Nat) (a : σ), c a <= k -> c (LexLeanCollections.iterateUntil step n a).1 <= k := - iterateUntilInvariant step (fun (a : σ) => c a <= k) h -public theorem noneSome {ρ : Type} {q : Prop} (v : ρ) (h : (none : Option ρ) = some v) : q := by - cases h - -public theorem zeroLe (n : Nat) : 0 <= n := - Nat.zero_le n - -public theorem bltSucc (a b : Nat) (h : Nat.blt a b = true) : a + 1 <= b := - Nat.le_of_ble_eq_true h - -end LexLeanReasoning - @[expose, reducible] public def Graded (v : LexLeanTarget.ReasoningOracle.Vitals) (r : Nat) : Prop := ((r <= 3) /\ ((r = 3) -> LexLeanTarget.ReasoningOracle.Hypotensive (v))) @[expose] public def gradedCheck (v : LexLeanTarget.ReasoningOracle.Vitals) (r : Nat) : Bool := ((Nat.ble (r) (3)) && ((!(Nat.beq (r) (3))) || LexLeanTarget.ReasoningOracle.hypotensive (v))) diff --git a/compiler/expected/build/modules/LexLeanTarget/PlannerOracle.lean b/compiler/expected/build/modules/LexLeanTarget/PlannerOracle.lean index 18c11fdb2..caf24d08b 100644 --- a/compiler/expected/build/modules/LexLeanTarget/PlannerOracle.lean +++ b/compiler/expected/build/modules/LexLeanTarget/PlannerOracle.lean @@ -1,674 +1,14 @@ module public import Init +public import LexLeanRuntime.Portable +public import LexLeanRuntime.Collections +public import LexLeanRuntime.Reasoning set_option autoImplicit false set_option maxRecDepth 100000 set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace LexLeanTarget.PlannerOracle -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - -namespace LexLeanCollections - -public class Key (α : Type) where - compare : α -> α -> Ordering - -@[expose] public def compareCodes : List Char -> List Char -> Ordering - | [], [] => .eq - | [], _ :: _ => .lt - | _ :: _, [] => .gt - | left :: lefts, right :: rights => - match Ord.compare left.val.toNat right.val.toNat with - | .eq => compareCodes lefts rights - | other => other - -public instance : Key Nat where compare := Ord.compare -public instance : Key Int where compare := Ord.compare -public instance : Key Bool where compare := Ord.compare -public instance : Key Int8 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int16 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int32 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int64 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key UInt8 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt16 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt32 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt64 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key String where compare left right := compareCodes left.toList right.toList -public instance {α β : Type} [Key α] [Key β] : Key (Prod α β) where - compare left right := match Key.compare left.1 right.1 with - | .eq => Key.compare left.2 right.2 - | other => other - -@[expose] public def insertEntry {κ ν : Type} [Key κ] (key : κ) (value : ν) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [(key, value)] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (key, value) :: (other, stored) :: rest - | .eq => (key, value) :: rest - | .gt => (other, stored) :: insertEntry key value rest - -@[expose] public def removeEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (other, stored) :: rest - | .eq => rest - | .gt => (other, stored) :: removeEntry key rest - -@[expose] public def lookupEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> Option ν - | [] => none - | (other, stored) :: rest => match Key.compare key other with - | .lt => none - | .eq => some stored - | .gt => lookupEntry key rest - -@[expose] public def insertElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [key] - | other :: rest => match Key.compare key other with - | .lt => key :: other :: rest - | .eq => other :: rest - | .gt => other :: insertElement key rest - -@[expose] public def removeElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [] - | other :: rest => match Key.compare key other with - | .lt => other :: rest - | .eq => rest - | .gt => other :: removeElement key rest - -@[expose] public def containsElement {κ : Type} [Key κ] (key : κ) : List κ -> Bool - | [] => false - | other :: rest => match Key.compare key other with - | .lt => false - | .eq => true - | .gt => containsElement key rest - -@[expose] public def mapInsert {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) (value : ν) : List (Prod κ ν) := insertEntry key value map -@[expose] public def mapRemove {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : List (Prod κ ν) := removeEntry key map -@[expose] public def mapLookup {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Option ν := lookupEntry key map -@[expose] public def mapContains {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Bool := (lookupEntry key map).isSome -@[expose] public def mapSize {κ ν : Type} (map : List (Prod κ ν)) : Nat := map.length -@[expose] public def mapKeys {κ ν : Type} (map : List (Prod κ ν)) : List κ := map.map Prod.fst -@[expose] public def mapValues {κ ν : Type} (map : List (Prod κ ν)) : List ν := map.map Prod.snd -@[expose] public def mapEntries {κ ν : Type} (map : List (Prod κ ν)) : List (Prod κ ν) := map -@[expose] public def mapFold {κ ν β : Type} (step : β -> κ -> ν -> β) (initial : β) (map : List (Prod κ ν)) : β := - map.foldl (fun state entry => step state entry.1 entry.2) initial - -@[expose] public def setInsert {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := insertElement key set -@[expose] public def setRemove {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := removeElement key set -@[expose] public def setContains {κ : Type} [Key κ] (set : List κ) (key : κ) : Bool := containsElement key set -@[expose] public def setSize {κ : Type} (set : List κ) : Nat := set.length -@[expose] public def setElements {κ : Type} (set : List κ) : List κ := set -@[expose] public def setUnion {κ : Type} [Key κ] (left right : List κ) : List κ := right.foldl (fun acc key => insertElement key acc) left -@[expose] public def setIntersection {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => containsElement key right) -@[expose] public def setDifference {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => !containsElement key right) - -@[expose] public def graphSuccessors {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (node : κ) : List κ := - (lookupEntry node graph).getD [] - -@[expose] public def graphNodes {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : List κ := - graph.foldl (fun acc entry => entry.2.foldl (fun inner node => insertElement node inner) (insertElement entry.1 acc)) [] - -@[expose] public def reachableFrom {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> List κ - | 0, _, seen => seen - | Nat.succ fuel, frontier, seen => - let next := frontier.foldl (fun acc node => - (graphSuccessors graph node).foldl (fun acc2 succ => - if containsElement succ seen || containsElement succ acc2 then acc2 else insertElement succ acc2) acc) [] - match next with - | [] => seen - | _ => reachableFrom graph fuel next (next.foldl (fun acc key => insertElement key acc) seen) - -@[expose] public def graphReachable {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (start : κ) : List κ := - reachableFrom graph ((graphNodes graph).length + 1) [start] [start] - -@[expose] public def topological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> Option (List κ) - | 0, remaining, order => if remaining.isEmpty then some order.reverse else none - | Nat.succ fuel, remaining, order => - match remaining.filter (fun node => remaining.all (fun other => !containsElement node (graphSuccessors graph other))) with - | [] => if remaining.isEmpty then some order.reverse else none - | ready :: _ => topological graph fuel (removeElement ready remaining) (ready :: order) - -@[expose] public def graphTopological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Option (List κ) := - let nodes := graphNodes graph - topological graph (nodes.length + 1) nodes [] -@[expose] public def listFold {α σ : Type} (step : σ -> α -> σ) (initial : σ) (values : List α) : σ := - values.foldl step initial - -@[expose] public def setFold {κ σ : Type} (step : σ -> κ -> σ) (initial : σ) (set : List κ) : σ := - set.foldl step initial - -@[expose] public def iterate {σ : Type} (step : σ -> σ) : Nat -> σ -> σ - | 0, state => state - | Nat.succ count, state => iterate step count (step state) - -@[expose] public def iterateUntil {σ : Type} (step : σ -> Option σ) : Nat -> σ -> Prod σ Bool - | 0, state => (state, false) - | Nat.succ fuel, state => match step state with - | none => (state, true) - | some next => iterateUntil step fuel next - -@[expose] public def lessThan {κ : Type} [Key κ] (left right : κ) : Bool := - match Key.compare left right with - | .lt => true - | _ => false -end LexLeanCollections - -namespace LexLeanReasoning - -public inductive Star {σ : Type} (r : σ -> σ -> Prop) : σ -> σ -> Prop where - | refl (a : σ) : Star r a a - | tail (a b c : σ) : Star r a b -> r b c -> Star r a c - -public inductive All {α : Type} (p : α -> Prop) : List α -> Prop where - | nil : All p [] - | cons (a : α) (rest : List α) : p a -> All p rest -> All p (a :: rest) - -@[expose] public def Preserves {σ : Type} (r : σ -> σ -> Prop) (j : σ -> Prop) : Prop := - forall (s t : σ), j s -> r s t -> j t -@[expose] public def Sound {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), v a b = true -> p a b -@[expose] public def Complete {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), p a b -> v a b = true -@[expose] public def Reaches {σ ε : Type} (r : σ -> σ -> Prop) (a : σ) (acc : Except ε σ) : Prop := - forall (s : σ), acc = Except.ok s -> Star r a s -@[expose] public def Found {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) : Option (Prod ρ ν) -> Prop - | none => True - | some hit => ok hit.2 /\ accept hit.2 = some hit.1 -@[expose] public def SearchOk {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) (frontier : List ν) (found : Option (Prod ρ ν)) : Prop := - All ok frontier /\ Found ok accept found - -public theorem starPreserves {σ : Type} (r : σ -> σ -> Prop) (j : σ -> Prop) (h : Preserves r j) : - forall (a b : σ), Star r a b -> j a -> j b := by - intro a b hs - induction hs with - | refl => exact fun ha => ha - | tail y z _ hyz ih => exact fun ha => h y z (ih ha) hyz - -public theorem reachesStart {σ ε : Type} (r : σ -> σ -> Prop) (a : σ) : Reaches (ε := ε) r a (Except.ok a) := by - intro s e - cases e - exact Star.refl a - -public theorem guarded {σ : Type} (r : σ -> σ -> Prop) (s : σ) (g : Bool) (c : σ) (h : g = true -> r s c) (t : σ) : - (if g then some c else none) = some t -> r s t := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact h rfl - -public theorem guardedRank {σ : Type} (μ : σ -> Nat) (s : σ) (g : Bool) (c : σ) (h : g = true -> μ c < μ s) (t : σ) : - (if g then some c else none) = some t -> μ t < μ s := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact h rfl - -public theorem checked {ρ : Type} (g : Bool) (a b : ρ) : (if g then some a else none) = some b -> g = true /\ a = b := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact And.intro rfl rfl - -public theorem foldInvariant {σ α : Type} (f : σ -> α -> σ) (p : σ -> Prop) (h : forall (a : σ) (x : α), p a -> p (f a x)) : - forall (xs : List α) (a : σ), p a -> p (LexLeanCollections.listFold f a xs) := by - intro xs - induction xs with - | nil => exact fun _ ha => ha - | cons x rest ih => exact fun a ha => ih (f a x) (h a x ha) - -public theorem foldSnoc {σ α : Type} (f : σ -> α -> σ) (a : σ) (xs : List α) (y : α) : - LexLeanCollections.listFold f a (LexLeanRuntime.append xs (y :: [])) = f (LexLeanCollections.listFold f a xs) y := by - induction xs generalizing a with - | nil => rfl - | cons x rest ih => exact ih (f a x) - -public theorem allAppend {α : Type} (p : α -> Prop) : forall (xs ys : List α), All p xs -> All p ys -> All p (LexLeanRuntime.append xs ys) := by - intro xs - induction xs with - | nil => exact fun _ _ h => h - | cons x rest ih => - intro ys hx hy - cases hx with - | cons _ _ hp hr => exact All.cons x (LexLeanRuntime.append rest ys) hp (ih ys hr hy) - -public theorem allSingle {α : Type} (p : α -> Prop) (a : α) (h : p a) : All p (a :: []) := - All.cons a [] h All.nil - -public theorem allHead {α : Type} (p : α -> Prop) (a : α) (rest : List α) (h : All p (a :: rest)) : p a := by - cases h with - | cons _ _ hp _ => exact hp - -public theorem allTail {α : Type} (p : α -> Prop) (a : α) (rest : List α) (h : All p (a :: rest)) : All p rest := by - cases h with - | cons _ _ _ hr => exact hr - -public theorem allFold {σ α : Type} (f : σ -> α -> σ) (p : σ -> Prop) (q : α -> Prop) (h : forall (a : σ) (x : α), q x -> p a -> p (f a x)) : - forall (xs : List α) (a : σ), All q xs -> p a -> p (LexLeanCollections.listFold f a xs) := by - intro xs - induction xs with - | nil => exact fun _ _ ha => ha - | cons x rest ih => - intro a hx ha - cases hx with - | cons _ _ hq hr => exact ih (f a x) hr (h a x hq ha) - -public theorem capAll {α : Type} (p : α -> Prop) (k : Nat) (xs : List α) (h : All p xs) : - All p (LexLeanCollections.listFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) [] xs) := - allFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) (All p) p - (fun a x hq ha => by - show All p (if Nat.blt (LexLeanRuntime.length a) k then LexLeanRuntime.append a (x :: []) else a) - cases Nat.blt (LexLeanRuntime.length a) k with - | false => exact ha - | true => exact allAppend p a (x :: []) ha (allSingle p x hq)) xs [] h All.nil - -public theorem lengthSnoc {α : Type} (xs : List α) (y : α) : LexLeanRuntime.length (LexLeanRuntime.append xs (y :: [])) = LexLeanRuntime.length xs + 1 := by - induction xs with - | nil => rfl - | cons x rest ih => exact congrArg Nat.succ ih - -public theorem capBound {α : Type} (k : Nat) (xs : List α) : - LexLeanRuntime.length (LexLeanCollections.listFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) [] xs) <= k := - foldInvariant (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) (fun (acc : List α) => LexLeanRuntime.length acc <= k) - (fun a x ha => by - show LexLeanRuntime.length (if Nat.blt (LexLeanRuntime.length a) k then LexLeanRuntime.append a (x :: []) else a) <= k - cases e : Nat.blt (LexLeanRuntime.length a) k with - | false => exact ha - | true => - show LexLeanRuntime.length (LexLeanRuntime.append a (x :: [])) <= k - rw [lengthSnoc] - exact Nat.le_of_ble_eq_true e) xs [] (Nat.zero_le k) - -public theorem freshAll {ν κ : Type} [LexLeanCollections.Key κ] (key : ν -> κ) (p : ν -> Prop) (v : List κ) (ns : List ν) (h : All p ns) : - All p (LexLeanCollections.listFold (fun (acc : Prod (List ν) (List κ)) (n : ν) => if LexLeanCollections.setContains acc.2 (key n) then acc else (LexLeanRuntime.append acc.1 (n :: []), LexLeanCollections.setInsert acc.2 (key n))) (([] : List ν), v) ns).1 := - allFold (fun (acc : Prod (List ν) (List κ)) (n : ν) => if LexLeanCollections.setContains acc.2 (key n) then acc else (LexLeanRuntime.append acc.1 (n :: []), LexLeanCollections.setInsert acc.2 (key n))) (fun (acc : Prod (List ν) (List κ)) => All p acc.1) p - (fun a x hq ha => by - show All p (if LexLeanCollections.setContains a.2 (key x) then a else (LexLeanRuntime.append a.1 (x :: []), LexLeanCollections.setInsert a.2 (key x))).1 - cases LexLeanCollections.setContains a.2 (key x) with - | true => exact ha - | false => exact allAppend p a.1 (x :: []) ha (allSingle p x hq)) ns (([] : List ν), v) h All.nil - -public theorem searchStart {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) (frontier : List ν) (h : All ok frontier) : - SearchOk ok accept frontier none := - And.intro h True.intro - -public theorem peakBound (p len k : Nat) (hp : p <= k) (hl : len <= k) : (if Nat.blt p len then len else p) <= k := by - cases Nat.blt p len with - | false => exact hp - | true => exact hl - -public theorem iterateUntilInvariant {σ : Type} (step : σ -> Option σ) (p : σ -> Prop) (h : forall (a b : σ), step a = some b -> p a -> p b) : - forall (n : Nat) (a : σ), p a -> p (LexLeanCollections.iterateUntil step n a).1 := by - intro n - induction n with - | zero => exact fun _ ha => ha - | succ n ih => - intro a ha - show p (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 - cases e : step a with - | none => exact ha - | some b => exact ih b (h a b e ha) - -public theorem iterateUntilSimulate {σ τ : Type} (f : σ -> Option σ) (g : τ -> Option τ) (π : σ -> τ) - (hnone : forall (a : σ), f a = none -> g (π a) = none) - (hsome : forall (a b : σ), f a = some b -> g (π a) = some (π b)) : - forall (n : Nat) (a : σ), π (LexLeanCollections.iterateUntil f n a).1 = (LexLeanCollections.iterateUntil g n (π a)).1 /\ (LexLeanCollections.iterateUntil f n a).2 = (LexLeanCollections.iterateUntil g n (π a)).2 := by - intro n - induction n with - | zero => exact fun _ => And.intro rfl rfl - | succ n ih => - intro a - show π (match f a with | none => (a, true) | some next => LexLeanCollections.iterateUntil f n next).1 = (match g (π a) with | none => (π a, true) | some next => LexLeanCollections.iterateUntil g n next).1 /\ (match f a with | none => (a, true) | some next => LexLeanCollections.iterateUntil f n next).2 = (match g (π a) with | none => (π a, true) | some next => LexLeanCollections.iterateUntil g n next).2 - cases e : f a with - | none => rw [hnone a e]; exact And.intro rfl rfl - | some b => rw [hsome a b e]; exact ih b - -public theorem iterateUntilCount {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (h : forall (a b : σ), step a = some b -> c b = c a + 1) : - forall (n : Nat) (a : σ), c a = 0 -> c (LexLeanCollections.iterateUntil step n a).1 <= n := by - have general : forall (n : Nat) (a : σ), c (LexLeanCollections.iterateUntil step n a).1 <= c a + n := by - intro n - induction n with - | zero => exact fun a => Nat.le_refl (c a) - | succ n ih => - intro a - show c (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 <= c a + (n + 1) - cases e : step a with - | none => exact Nat.le_add_right (c a) (n + 1) - | some b => - have hb := ih b - rw [h a b e] at hb - rw [Nat.add_right_comm] at hb - exact (Nat.add_assoc (c a) n 1) ▸ (Nat.add_right_comm (c a) 1 n) ▸ hb - intro n a h0 - have hg := general n a - rw [h0, Nat.zero_add] at hg - exact hg - -public theorem iterateUntilGrowth {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (h : forall (a b : σ), step a = some b -> c b <= c a + 1) : - forall (n : Nat) (a : σ), c a = 0 -> c (LexLeanCollections.iterateUntil step n a).1 <= n := by - have general : forall (n : Nat) (a : σ), c (LexLeanCollections.iterateUntil step n a).1 <= c a + n := by - intro n - induction n with - | zero => exact fun a => Nat.le_refl (c a) - | succ n ih => - intro a - show c (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 <= c a + (n + 1) - cases e : step a with - | none => exact Nat.le_add_right (c a) (n + 1) - | some b => - have hb := Nat.le_trans (ih b) (Nat.add_le_add_right (h a b e) n) - rw [Nat.add_right_comm] at hb - exact hb - intro n a h0 - have hg := general n a - rw [h0, Nat.zero_add] at hg - exact hg - -public theorem iterateUntilStops {σ : Type} (step : σ -> Option σ) (p : σ -> Prop) (μ : σ -> Nat) - (h : forall (a b : σ), step a = some b -> p a -> p b /\ μ b < μ a) : - forall (n : Nat) (a : σ), p a -> μ a < n -> (LexLeanCollections.iterateUntil step n a).2 = true := by - intro n - induction n with - | zero => intro a _ hm; exact absurd hm (Nat.not_lt_zero (μ a)) - | succ n ih => - intro a ha hm - show (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).2 = true - cases e : step a with - | none => rfl - | some b => - have hb := h a b e ha - exact ih b hb.left (Nat.lt_of_lt_of_le hb.right (Nat.le_of_lt_succ hm)) - -public theorem iterateUntilBound {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (k : Nat) (h : forall (a b : σ), step a = some b -> c a <= k -> c b <= k) : - forall (n : Nat) (a : σ), c a <= k -> c (LexLeanCollections.iterateUntil step n a).1 <= k := - iterateUntilInvariant step (fun (a : σ) => c a <= k) h -public theorem noneSome {ρ : Type} {q : Prop} (v : ρ) (h : (none : Option ρ) = some v) : q := by - cases h - -public theorem zeroLe (n : Nat) : 0 <= n := - Nat.zero_le n - -public theorem bltSucc (a b : Nat) (h : Nat.blt a b = true) : a + 1 <= b := - Nat.le_of_ble_eq_true h - -end LexLeanReasoning - @[expose, reducible] public def Moves (_s : (Prod (Nat) (Nat))) (t : (Prod (Nat) (Nat))) : Prop := (((t).1 <= 4) /\ ((t).2 <= 3)) @[expose, reducible] public def Fits (s : (Prod (Nat) (Nat))) : Prop := (((s).1 <= 4) /\ ((s).2 <= 3)) diff --git a/compiler/expected/build/modules/LexLeanTarget/ReasoningOracle.lean b/compiler/expected/build/modules/LexLeanTarget/ReasoningOracle.lean index c9242f574..8ef13ddab 100644 --- a/compiler/expected/build/modules/LexLeanTarget/ReasoningOracle.lean +++ b/compiler/expected/build/modules/LexLeanTarget/ReasoningOracle.lean @@ -1,674 +1,14 @@ module public import Init +public import LexLeanRuntime.Portable +public import LexLeanRuntime.Collections +public import LexLeanRuntime.Reasoning set_option autoImplicit false set_option maxRecDepth 100000 set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace LexLeanTarget.ReasoningOracle -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - -namespace LexLeanCollections - -public class Key (α : Type) where - compare : α -> α -> Ordering - -@[expose] public def compareCodes : List Char -> List Char -> Ordering - | [], [] => .eq - | [], _ :: _ => .lt - | _ :: _, [] => .gt - | left :: lefts, right :: rights => - match Ord.compare left.val.toNat right.val.toNat with - | .eq => compareCodes lefts rights - | other => other - -public instance : Key Nat where compare := Ord.compare -public instance : Key Int where compare := Ord.compare -public instance : Key Bool where compare := Ord.compare -public instance : Key Int8 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int16 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int32 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int64 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key UInt8 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt16 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt32 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt64 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key String where compare left right := compareCodes left.toList right.toList -public instance {α β : Type} [Key α] [Key β] : Key (Prod α β) where - compare left right := match Key.compare left.1 right.1 with - | .eq => Key.compare left.2 right.2 - | other => other - -@[expose] public def insertEntry {κ ν : Type} [Key κ] (key : κ) (value : ν) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [(key, value)] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (key, value) :: (other, stored) :: rest - | .eq => (key, value) :: rest - | .gt => (other, stored) :: insertEntry key value rest - -@[expose] public def removeEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (other, stored) :: rest - | .eq => rest - | .gt => (other, stored) :: removeEntry key rest - -@[expose] public def lookupEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> Option ν - | [] => none - | (other, stored) :: rest => match Key.compare key other with - | .lt => none - | .eq => some stored - | .gt => lookupEntry key rest - -@[expose] public def insertElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [key] - | other :: rest => match Key.compare key other with - | .lt => key :: other :: rest - | .eq => other :: rest - | .gt => other :: insertElement key rest - -@[expose] public def removeElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [] - | other :: rest => match Key.compare key other with - | .lt => other :: rest - | .eq => rest - | .gt => other :: removeElement key rest - -@[expose] public def containsElement {κ : Type} [Key κ] (key : κ) : List κ -> Bool - | [] => false - | other :: rest => match Key.compare key other with - | .lt => false - | .eq => true - | .gt => containsElement key rest - -@[expose] public def mapInsert {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) (value : ν) : List (Prod κ ν) := insertEntry key value map -@[expose] public def mapRemove {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : List (Prod κ ν) := removeEntry key map -@[expose] public def mapLookup {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Option ν := lookupEntry key map -@[expose] public def mapContains {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Bool := (lookupEntry key map).isSome -@[expose] public def mapSize {κ ν : Type} (map : List (Prod κ ν)) : Nat := map.length -@[expose] public def mapKeys {κ ν : Type} (map : List (Prod κ ν)) : List κ := map.map Prod.fst -@[expose] public def mapValues {κ ν : Type} (map : List (Prod κ ν)) : List ν := map.map Prod.snd -@[expose] public def mapEntries {κ ν : Type} (map : List (Prod κ ν)) : List (Prod κ ν) := map -@[expose] public def mapFold {κ ν β : Type} (step : β -> κ -> ν -> β) (initial : β) (map : List (Prod κ ν)) : β := - map.foldl (fun state entry => step state entry.1 entry.2) initial - -@[expose] public def setInsert {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := insertElement key set -@[expose] public def setRemove {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := removeElement key set -@[expose] public def setContains {κ : Type} [Key κ] (set : List κ) (key : κ) : Bool := containsElement key set -@[expose] public def setSize {κ : Type} (set : List κ) : Nat := set.length -@[expose] public def setElements {κ : Type} (set : List κ) : List κ := set -@[expose] public def setUnion {κ : Type} [Key κ] (left right : List κ) : List κ := right.foldl (fun acc key => insertElement key acc) left -@[expose] public def setIntersection {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => containsElement key right) -@[expose] public def setDifference {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => !containsElement key right) - -@[expose] public def graphSuccessors {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (node : κ) : List κ := - (lookupEntry node graph).getD [] - -@[expose] public def graphNodes {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : List κ := - graph.foldl (fun acc entry => entry.2.foldl (fun inner node => insertElement node inner) (insertElement entry.1 acc)) [] - -@[expose] public def reachableFrom {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> List κ - | 0, _, seen => seen - | Nat.succ fuel, frontier, seen => - let next := frontier.foldl (fun acc node => - (graphSuccessors graph node).foldl (fun acc2 succ => - if containsElement succ seen || containsElement succ acc2 then acc2 else insertElement succ acc2) acc) [] - match next with - | [] => seen - | _ => reachableFrom graph fuel next (next.foldl (fun acc key => insertElement key acc) seen) - -@[expose] public def graphReachable {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (start : κ) : List κ := - reachableFrom graph ((graphNodes graph).length + 1) [start] [start] - -@[expose] public def topological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> Option (List κ) - | 0, remaining, order => if remaining.isEmpty then some order.reverse else none - | Nat.succ fuel, remaining, order => - match remaining.filter (fun node => remaining.all (fun other => !containsElement node (graphSuccessors graph other))) with - | [] => if remaining.isEmpty then some order.reverse else none - | ready :: _ => topological graph fuel (removeElement ready remaining) (ready :: order) - -@[expose] public def graphTopological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Option (List κ) := - let nodes := graphNodes graph - topological graph (nodes.length + 1) nodes [] -@[expose] public def listFold {α σ : Type} (step : σ -> α -> σ) (initial : σ) (values : List α) : σ := - values.foldl step initial - -@[expose] public def setFold {κ σ : Type} (step : σ -> κ -> σ) (initial : σ) (set : List κ) : σ := - set.foldl step initial - -@[expose] public def iterate {σ : Type} (step : σ -> σ) : Nat -> σ -> σ - | 0, state => state - | Nat.succ count, state => iterate step count (step state) - -@[expose] public def iterateUntil {σ : Type} (step : σ -> Option σ) : Nat -> σ -> Prod σ Bool - | 0, state => (state, false) - | Nat.succ fuel, state => match step state with - | none => (state, true) - | some next => iterateUntil step fuel next - -@[expose] public def lessThan {κ : Type} [Key κ] (left right : κ) : Bool := - match Key.compare left right with - | .lt => true - | _ => false -end LexLeanCollections - -namespace LexLeanReasoning - -public inductive Star {σ : Type} (r : σ -> σ -> Prop) : σ -> σ -> Prop where - | refl (a : σ) : Star r a a - | tail (a b c : σ) : Star r a b -> r b c -> Star r a c - -public inductive All {α : Type} (p : α -> Prop) : List α -> Prop where - | nil : All p [] - | cons (a : α) (rest : List α) : p a -> All p rest -> All p (a :: rest) - -@[expose] public def Preserves {σ : Type} (r : σ -> σ -> Prop) (j : σ -> Prop) : Prop := - forall (s t : σ), j s -> r s t -> j t -@[expose] public def Sound {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), v a b = true -> p a b -@[expose] public def Complete {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), p a b -> v a b = true -@[expose] public def Reaches {σ ε : Type} (r : σ -> σ -> Prop) (a : σ) (acc : Except ε σ) : Prop := - forall (s : σ), acc = Except.ok s -> Star r a s -@[expose] public def Found {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) : Option (Prod ρ ν) -> Prop - | none => True - | some hit => ok hit.2 /\ accept hit.2 = some hit.1 -@[expose] public def SearchOk {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) (frontier : List ν) (found : Option (Prod ρ ν)) : Prop := - All ok frontier /\ Found ok accept found - -public theorem starPreserves {σ : Type} (r : σ -> σ -> Prop) (j : σ -> Prop) (h : Preserves r j) : - forall (a b : σ), Star r a b -> j a -> j b := by - intro a b hs - induction hs with - | refl => exact fun ha => ha - | tail y z _ hyz ih => exact fun ha => h y z (ih ha) hyz - -public theorem reachesStart {σ ε : Type} (r : σ -> σ -> Prop) (a : σ) : Reaches (ε := ε) r a (Except.ok a) := by - intro s e - cases e - exact Star.refl a - -public theorem guarded {σ : Type} (r : σ -> σ -> Prop) (s : σ) (g : Bool) (c : σ) (h : g = true -> r s c) (t : σ) : - (if g then some c else none) = some t -> r s t := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact h rfl - -public theorem guardedRank {σ : Type} (μ : σ -> Nat) (s : σ) (g : Bool) (c : σ) (h : g = true -> μ c < μ s) (t : σ) : - (if g then some c else none) = some t -> μ t < μ s := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact h rfl - -public theorem checked {ρ : Type} (g : Bool) (a b : ρ) : (if g then some a else none) = some b -> g = true /\ a = b := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact And.intro rfl rfl - -public theorem foldInvariant {σ α : Type} (f : σ -> α -> σ) (p : σ -> Prop) (h : forall (a : σ) (x : α), p a -> p (f a x)) : - forall (xs : List α) (a : σ), p a -> p (LexLeanCollections.listFold f a xs) := by - intro xs - induction xs with - | nil => exact fun _ ha => ha - | cons x rest ih => exact fun a ha => ih (f a x) (h a x ha) - -public theorem foldSnoc {σ α : Type} (f : σ -> α -> σ) (a : σ) (xs : List α) (y : α) : - LexLeanCollections.listFold f a (LexLeanRuntime.append xs (y :: [])) = f (LexLeanCollections.listFold f a xs) y := by - induction xs generalizing a with - | nil => rfl - | cons x rest ih => exact ih (f a x) - -public theorem allAppend {α : Type} (p : α -> Prop) : forall (xs ys : List α), All p xs -> All p ys -> All p (LexLeanRuntime.append xs ys) := by - intro xs - induction xs with - | nil => exact fun _ _ h => h - | cons x rest ih => - intro ys hx hy - cases hx with - | cons _ _ hp hr => exact All.cons x (LexLeanRuntime.append rest ys) hp (ih ys hr hy) - -public theorem allSingle {α : Type} (p : α -> Prop) (a : α) (h : p a) : All p (a :: []) := - All.cons a [] h All.nil - -public theorem allHead {α : Type} (p : α -> Prop) (a : α) (rest : List α) (h : All p (a :: rest)) : p a := by - cases h with - | cons _ _ hp _ => exact hp - -public theorem allTail {α : Type} (p : α -> Prop) (a : α) (rest : List α) (h : All p (a :: rest)) : All p rest := by - cases h with - | cons _ _ _ hr => exact hr - -public theorem allFold {σ α : Type} (f : σ -> α -> σ) (p : σ -> Prop) (q : α -> Prop) (h : forall (a : σ) (x : α), q x -> p a -> p (f a x)) : - forall (xs : List α) (a : σ), All q xs -> p a -> p (LexLeanCollections.listFold f a xs) := by - intro xs - induction xs with - | nil => exact fun _ _ ha => ha - | cons x rest ih => - intro a hx ha - cases hx with - | cons _ _ hq hr => exact ih (f a x) hr (h a x hq ha) - -public theorem capAll {α : Type} (p : α -> Prop) (k : Nat) (xs : List α) (h : All p xs) : - All p (LexLeanCollections.listFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) [] xs) := - allFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) (All p) p - (fun a x hq ha => by - show All p (if Nat.blt (LexLeanRuntime.length a) k then LexLeanRuntime.append a (x :: []) else a) - cases Nat.blt (LexLeanRuntime.length a) k with - | false => exact ha - | true => exact allAppend p a (x :: []) ha (allSingle p x hq)) xs [] h All.nil - -public theorem lengthSnoc {α : Type} (xs : List α) (y : α) : LexLeanRuntime.length (LexLeanRuntime.append xs (y :: [])) = LexLeanRuntime.length xs + 1 := by - induction xs with - | nil => rfl - | cons x rest ih => exact congrArg Nat.succ ih - -public theorem capBound {α : Type} (k : Nat) (xs : List α) : - LexLeanRuntime.length (LexLeanCollections.listFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) [] xs) <= k := - foldInvariant (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) (fun (acc : List α) => LexLeanRuntime.length acc <= k) - (fun a x ha => by - show LexLeanRuntime.length (if Nat.blt (LexLeanRuntime.length a) k then LexLeanRuntime.append a (x :: []) else a) <= k - cases e : Nat.blt (LexLeanRuntime.length a) k with - | false => exact ha - | true => - show LexLeanRuntime.length (LexLeanRuntime.append a (x :: [])) <= k - rw [lengthSnoc] - exact Nat.le_of_ble_eq_true e) xs [] (Nat.zero_le k) - -public theorem freshAll {ν κ : Type} [LexLeanCollections.Key κ] (key : ν -> κ) (p : ν -> Prop) (v : List κ) (ns : List ν) (h : All p ns) : - All p (LexLeanCollections.listFold (fun (acc : Prod (List ν) (List κ)) (n : ν) => if LexLeanCollections.setContains acc.2 (key n) then acc else (LexLeanRuntime.append acc.1 (n :: []), LexLeanCollections.setInsert acc.2 (key n))) (([] : List ν), v) ns).1 := - allFold (fun (acc : Prod (List ν) (List κ)) (n : ν) => if LexLeanCollections.setContains acc.2 (key n) then acc else (LexLeanRuntime.append acc.1 (n :: []), LexLeanCollections.setInsert acc.2 (key n))) (fun (acc : Prod (List ν) (List κ)) => All p acc.1) p - (fun a x hq ha => by - show All p (if LexLeanCollections.setContains a.2 (key x) then a else (LexLeanRuntime.append a.1 (x :: []), LexLeanCollections.setInsert a.2 (key x))).1 - cases LexLeanCollections.setContains a.2 (key x) with - | true => exact ha - | false => exact allAppend p a.1 (x :: []) ha (allSingle p x hq)) ns (([] : List ν), v) h All.nil - -public theorem searchStart {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) (frontier : List ν) (h : All ok frontier) : - SearchOk ok accept frontier none := - And.intro h True.intro - -public theorem peakBound (p len k : Nat) (hp : p <= k) (hl : len <= k) : (if Nat.blt p len then len else p) <= k := by - cases Nat.blt p len with - | false => exact hp - | true => exact hl - -public theorem iterateUntilInvariant {σ : Type} (step : σ -> Option σ) (p : σ -> Prop) (h : forall (a b : σ), step a = some b -> p a -> p b) : - forall (n : Nat) (a : σ), p a -> p (LexLeanCollections.iterateUntil step n a).1 := by - intro n - induction n with - | zero => exact fun _ ha => ha - | succ n ih => - intro a ha - show p (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 - cases e : step a with - | none => exact ha - | some b => exact ih b (h a b e ha) - -public theorem iterateUntilSimulate {σ τ : Type} (f : σ -> Option σ) (g : τ -> Option τ) (π : σ -> τ) - (hnone : forall (a : σ), f a = none -> g (π a) = none) - (hsome : forall (a b : σ), f a = some b -> g (π a) = some (π b)) : - forall (n : Nat) (a : σ), π (LexLeanCollections.iterateUntil f n a).1 = (LexLeanCollections.iterateUntil g n (π a)).1 /\ (LexLeanCollections.iterateUntil f n a).2 = (LexLeanCollections.iterateUntil g n (π a)).2 := by - intro n - induction n with - | zero => exact fun _ => And.intro rfl rfl - | succ n ih => - intro a - show π (match f a with | none => (a, true) | some next => LexLeanCollections.iterateUntil f n next).1 = (match g (π a) with | none => (π a, true) | some next => LexLeanCollections.iterateUntil g n next).1 /\ (match f a with | none => (a, true) | some next => LexLeanCollections.iterateUntil f n next).2 = (match g (π a) with | none => (π a, true) | some next => LexLeanCollections.iterateUntil g n next).2 - cases e : f a with - | none => rw [hnone a e]; exact And.intro rfl rfl - | some b => rw [hsome a b e]; exact ih b - -public theorem iterateUntilCount {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (h : forall (a b : σ), step a = some b -> c b = c a + 1) : - forall (n : Nat) (a : σ), c a = 0 -> c (LexLeanCollections.iterateUntil step n a).1 <= n := by - have general : forall (n : Nat) (a : σ), c (LexLeanCollections.iterateUntil step n a).1 <= c a + n := by - intro n - induction n with - | zero => exact fun a => Nat.le_refl (c a) - | succ n ih => - intro a - show c (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 <= c a + (n + 1) - cases e : step a with - | none => exact Nat.le_add_right (c a) (n + 1) - | some b => - have hb := ih b - rw [h a b e] at hb - rw [Nat.add_right_comm] at hb - exact (Nat.add_assoc (c a) n 1) ▸ (Nat.add_right_comm (c a) 1 n) ▸ hb - intro n a h0 - have hg := general n a - rw [h0, Nat.zero_add] at hg - exact hg - -public theorem iterateUntilGrowth {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (h : forall (a b : σ), step a = some b -> c b <= c a + 1) : - forall (n : Nat) (a : σ), c a = 0 -> c (LexLeanCollections.iterateUntil step n a).1 <= n := by - have general : forall (n : Nat) (a : σ), c (LexLeanCollections.iterateUntil step n a).1 <= c a + n := by - intro n - induction n with - | zero => exact fun a => Nat.le_refl (c a) - | succ n ih => - intro a - show c (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 <= c a + (n + 1) - cases e : step a with - | none => exact Nat.le_add_right (c a) (n + 1) - | some b => - have hb := Nat.le_trans (ih b) (Nat.add_le_add_right (h a b e) n) - rw [Nat.add_right_comm] at hb - exact hb - intro n a h0 - have hg := general n a - rw [h0, Nat.zero_add] at hg - exact hg - -public theorem iterateUntilStops {σ : Type} (step : σ -> Option σ) (p : σ -> Prop) (μ : σ -> Nat) - (h : forall (a b : σ), step a = some b -> p a -> p b /\ μ b < μ a) : - forall (n : Nat) (a : σ), p a -> μ a < n -> (LexLeanCollections.iterateUntil step n a).2 = true := by - intro n - induction n with - | zero => intro a _ hm; exact absurd hm (Nat.not_lt_zero (μ a)) - | succ n ih => - intro a ha hm - show (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).2 = true - cases e : step a with - | none => rfl - | some b => - have hb := h a b e ha - exact ih b hb.left (Nat.lt_of_lt_of_le hb.right (Nat.le_of_lt_succ hm)) - -public theorem iterateUntilBound {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (k : Nat) (h : forall (a b : σ), step a = some b -> c a <= k -> c b <= k) : - forall (n : Nat) (a : σ), c a <= k -> c (LexLeanCollections.iterateUntil step n a).1 <= k := - iterateUntilInvariant step (fun (a : σ) => c a <= k) h -public theorem noneSome {ρ : Type} {q : Prop} (v : ρ) (h : (none : Option ρ) = some v) : q := by - cases h - -public theorem zeroLe (n : Nat) : 0 <= n := - Nat.zero_le n - -public theorem bltSucc (a b : Nat) (h : Nat.blt a b = true) : a + 1 <= b := - Nat.le_of_ble_eq_true h - -end LexLeanReasoning - public structure Vitals where temperature : Nat heartRate : Nat diff --git a/compiler/expected/build/modules/LexLeanTarget/RustSemantics.lean b/compiler/expected/build/modules/LexLeanTarget/RustSemantics.lean index 84f0800b2..10b8988a5 100644 --- a/compiler/expected/build/modules/LexLeanTarget/RustSemantics.lean +++ b/compiler/expected/build/modules/LexLeanTarget/RustSemantics.lean @@ -1,5 +1,6 @@ module public import Init +public import LexLeanRuntime.Portable public import LexLeanTarget.RustSyntax public import LexLeanTarget.TargetSemantics public import LexLeanTarget.TargetSyntax @@ -9,289 +10,6 @@ set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace LexLeanTarget.RustSemantics -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - public inductive ROutcome where | value (_ : LexLeanTarget.TargetSyntax.Value) | raise diff --git a/compiler/expected/build/modules/LexLeanTarget/ScreeningOracle.lean b/compiler/expected/build/modules/LexLeanTarget/ScreeningOracle.lean index e86c22719..44379dab7 100644 --- a/compiler/expected/build/modules/LexLeanTarget/ScreeningOracle.lean +++ b/compiler/expected/build/modules/LexLeanTarget/ScreeningOracle.lean @@ -1,744 +1,15 @@ module public import Init +public import LexLeanRuntime.Portable +public import LexLeanRuntime.Collections +public import LexLeanRuntime.Models +public import LexLeanRuntime.Reasoning set_option autoImplicit false set_option maxRecDepth 100000 set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace LexLeanTarget.ScreeningOracle -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - -namespace LexLeanCollections - -public class Key (α : Type) where - compare : α -> α -> Ordering - -@[expose] public def compareCodes : List Char -> List Char -> Ordering - | [], [] => .eq - | [], _ :: _ => .lt - | _ :: _, [] => .gt - | left :: lefts, right :: rights => - match Ord.compare left.val.toNat right.val.toNat with - | .eq => compareCodes lefts rights - | other => other - -public instance : Key Nat where compare := Ord.compare -public instance : Key Int where compare := Ord.compare -public instance : Key Bool where compare := Ord.compare -public instance : Key Int8 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int16 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int32 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int64 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key UInt8 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt16 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt32 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt64 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key String where compare left right := compareCodes left.toList right.toList -public instance {α β : Type} [Key α] [Key β] : Key (Prod α β) where - compare left right := match Key.compare left.1 right.1 with - | .eq => Key.compare left.2 right.2 - | other => other - -@[expose] public def insertEntry {κ ν : Type} [Key κ] (key : κ) (value : ν) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [(key, value)] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (key, value) :: (other, stored) :: rest - | .eq => (key, value) :: rest - | .gt => (other, stored) :: insertEntry key value rest - -@[expose] public def removeEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (other, stored) :: rest - | .eq => rest - | .gt => (other, stored) :: removeEntry key rest - -@[expose] public def lookupEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> Option ν - | [] => none - | (other, stored) :: rest => match Key.compare key other with - | .lt => none - | .eq => some stored - | .gt => lookupEntry key rest - -@[expose] public def insertElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [key] - | other :: rest => match Key.compare key other with - | .lt => key :: other :: rest - | .eq => other :: rest - | .gt => other :: insertElement key rest - -@[expose] public def removeElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [] - | other :: rest => match Key.compare key other with - | .lt => other :: rest - | .eq => rest - | .gt => other :: removeElement key rest - -@[expose] public def containsElement {κ : Type} [Key κ] (key : κ) : List κ -> Bool - | [] => false - | other :: rest => match Key.compare key other with - | .lt => false - | .eq => true - | .gt => containsElement key rest - -@[expose] public def mapInsert {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) (value : ν) : List (Prod κ ν) := insertEntry key value map -@[expose] public def mapRemove {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : List (Prod κ ν) := removeEntry key map -@[expose] public def mapLookup {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Option ν := lookupEntry key map -@[expose] public def mapContains {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Bool := (lookupEntry key map).isSome -@[expose] public def mapSize {κ ν : Type} (map : List (Prod κ ν)) : Nat := map.length -@[expose] public def mapKeys {κ ν : Type} (map : List (Prod κ ν)) : List κ := map.map Prod.fst -@[expose] public def mapValues {κ ν : Type} (map : List (Prod κ ν)) : List ν := map.map Prod.snd -@[expose] public def mapEntries {κ ν : Type} (map : List (Prod κ ν)) : List (Prod κ ν) := map -@[expose] public def mapFold {κ ν β : Type} (step : β -> κ -> ν -> β) (initial : β) (map : List (Prod κ ν)) : β := - map.foldl (fun state entry => step state entry.1 entry.2) initial - -@[expose] public def setInsert {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := insertElement key set -@[expose] public def setRemove {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := removeElement key set -@[expose] public def setContains {κ : Type} [Key κ] (set : List κ) (key : κ) : Bool := containsElement key set -@[expose] public def setSize {κ : Type} (set : List κ) : Nat := set.length -@[expose] public def setElements {κ : Type} (set : List κ) : List κ := set -@[expose] public def setUnion {κ : Type} [Key κ] (left right : List κ) : List κ := right.foldl (fun acc key => insertElement key acc) left -@[expose] public def setIntersection {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => containsElement key right) -@[expose] public def setDifference {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => !containsElement key right) - -@[expose] public def graphSuccessors {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (node : κ) : List κ := - (lookupEntry node graph).getD [] - -@[expose] public def graphNodes {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : List κ := - graph.foldl (fun acc entry => entry.2.foldl (fun inner node => insertElement node inner) (insertElement entry.1 acc)) [] - -@[expose] public def reachableFrom {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> List κ - | 0, _, seen => seen - | Nat.succ fuel, frontier, seen => - let next := frontier.foldl (fun acc node => - (graphSuccessors graph node).foldl (fun acc2 succ => - if containsElement succ seen || containsElement succ acc2 then acc2 else insertElement succ acc2) acc) [] - match next with - | [] => seen - | _ => reachableFrom graph fuel next (next.foldl (fun acc key => insertElement key acc) seen) - -@[expose] public def graphReachable {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (start : κ) : List κ := - reachableFrom graph ((graphNodes graph).length + 1) [start] [start] - -@[expose] public def topological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> Option (List κ) - | 0, remaining, order => if remaining.isEmpty then some order.reverse else none - | Nat.succ fuel, remaining, order => - match remaining.filter (fun node => remaining.all (fun other => !containsElement node (graphSuccessors graph other))) with - | [] => if remaining.isEmpty then some order.reverse else none - | ready :: _ => topological graph fuel (removeElement ready remaining) (ready :: order) - -@[expose] public def graphTopological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Option (List κ) := - let nodes := graphNodes graph - topological graph (nodes.length + 1) nodes [] -@[expose] public def listFold {α σ : Type} (step : σ -> α -> σ) (initial : σ) (values : List α) : σ := - values.foldl step initial - -@[expose] public def setFold {κ σ : Type} (step : σ -> κ -> σ) (initial : σ) (set : List κ) : σ := - set.foldl step initial - -@[expose] public def iterate {σ : Type} (step : σ -> σ) : Nat -> σ -> σ - | 0, state => state - | Nat.succ count, state => iterate step count (step state) - -@[expose] public def iterateUntil {σ : Type} (step : σ -> Option σ) : Nat -> σ -> Prod σ Bool - | 0, state => (state, false) - | Nat.succ fuel, state => match step state with - | none => (state, true) - | some next => iterateUntil step fuel next - -@[expose] public def lessThan {κ : Type} [Key κ] (left right : κ) : Bool := - match Key.compare left right with - | .lt => true - | _ => false -end LexLeanCollections - -namespace LexLeanModels - -@[expose] public def Sound1 {α : Type} (v : α -> Bool) (p : α -> Prop) : Prop := - forall (a : α), v a = true -> p a -@[expose] public def Sound2 {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), v a b = true -> p a b -@[expose] public def Sound4 {α β γ δ : Type} (v : α -> β -> γ -> δ -> Bool) (p : α -> β -> γ -> δ -> Prop) : Prop := - forall (a : α) (b : β) (c : γ) (d : δ), v a b c d = true -> p a b c d -@[expose] public def Complete1 {α : Type} (v : α -> Bool) (p : α -> Prop) : Prop := - forall (a : α), p a -> v a = true -@[expose] public def Complete2 {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), p a b -> v a b = true -@[expose] public def Complete4 {α β γ δ : Type} (v : α -> β -> γ -> δ -> Bool) (p : α -> β -> γ -> δ -> Prop) : Prop := - forall (a : α) (b : β) (c : γ) (d : δ), p a b c d -> v a b c d = true - -@[expose] public def Satisfies {α β : Type} (p : α -> Prop) (q : α -> β -> Prop) (r : α -> β) : Prop := - forall (a : α), p a -> q a (r a) -@[expose] public def SatisfiesTotal {α β : Type} (q : α -> β -> Prop) (r : α -> β) : Prop := - forall (a : α), q a (r a) -@[expose] public def SatisfiesStep {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepNoInvariant {σ α β : Type} (p : σ -> α -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), p s a -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepNoPrecondition {σ α β : Type} (j : σ -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepTotal {σ α β : Type} (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), q s a (r s a).1 (r s a).2 -@[expose] public def Preserves {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> j (r s a).1 -@[expose] public def PreservesTotal {σ α β : Type} (j : σ -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> j (r s a).1 -@[expose] public def Initial {σ : Type} (j : σ -> Prop) (i : σ) : Prop := - j i -@[expose] public def Equivalent {α β : Type} (p : α -> Prop) (r f : α -> β) : Prop := - forall (a : α), p a -> r a = f a -@[expose] public def EquivalentTotal {α β : Type} (r f : α -> β) : Prop := - forall (a : α), r a = f a -@[expose] public def EquivalentStep {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> r s a = f s a -@[expose] public def EquivalentStepNoInvariant {σ α β : Type} (p : σ -> α -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), p s a -> r s a = f s a -@[expose] public def EquivalentStepNoPrecondition {σ α β : Type} (j : σ -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> r s a = f s a -@[expose] public def EquivalentStepTotal {σ α β : Type} (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), r s a = f s a -@[expose, reducible] public def Agreement {α β : Type} (r : α -> β) (cmp : β -> β -> Bool) (d : List (Prod α β)) (examples agreements : Nat) : Prop := - d.length = examples /\ d.foldl (fun c e => if cmp (r e.1) e.2 then c + 1 else c) 0 = agreements - -@[expose] public def inRange (width : Nat) (signed : Bool) (value : Int) : Bool := - if signed then - decide (-((2 : Int) ^ (8 * width - 1)) <= value) && decide (value < (2 : Int) ^ (8 * width - 1)) - else - decide (0 <= value) && decide (value < (2 : Int) ^ (8 * width)) -@[expose] public def encodeInt (width : Nat) (value : Int) : List Nat := - let unsigned := if value < 0 then value + (2 : Int) ^ (8 * width) else value - (List.range width).map (fun i => (unsigned.toNat / 256 ^ i) % 256) -@[expose] public def tensorMatches (width : Nat) (signed : Bool) (values : List Int) (bytes : ByteArray) : Bool := - values.all (inRange width signed) && values.flatMap (encodeInt width) == bytes.data.toList.map UInt8.toNat -@[expose] public def utf8Char (c : Char) : List Nat := - let n := c.toNat - if n < 128 then [n] - else if n < 2048 then [192 + n / 64, 128 + n % 64] - else if n < 65536 then [224 + n / 4096, 128 + (n / 64) % 64, 128 + n % 64] - else [240 + n / 262144, 128 + (n / 4096) % 64, 128 + (n / 64) % 64, 128 + n % 64] -@[expose] public def linesMatch (lines : List String) (bytes : ByteArray) : Bool := - lines.all (fun line => line.toList.all (fun c => c.toNat != 10 && c.toNat != 13)) && - lines.foldr (fun line rest => line.toList.foldr (fun c tail => utf8Char c ++ tail) [10] ++ rest) [] == - bytes.data.toList.map UInt8.toNat -end LexLeanModels - -namespace LexLeanReasoning - -public inductive Star {σ : Type} (r : σ -> σ -> Prop) : σ -> σ -> Prop where - | refl (a : σ) : Star r a a - | tail (a b c : σ) : Star r a b -> r b c -> Star r a c - -public inductive All {α : Type} (p : α -> Prop) : List α -> Prop where - | nil : All p [] - | cons (a : α) (rest : List α) : p a -> All p rest -> All p (a :: rest) - -@[expose] public def Preserves {σ : Type} (r : σ -> σ -> Prop) (j : σ -> Prop) : Prop := - forall (s t : σ), j s -> r s t -> j t -@[expose] public def Sound {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), v a b = true -> p a b -@[expose] public def Complete {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), p a b -> v a b = true -@[expose] public def Reaches {σ ε : Type} (r : σ -> σ -> Prop) (a : σ) (acc : Except ε σ) : Prop := - forall (s : σ), acc = Except.ok s -> Star r a s -@[expose] public def Found {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) : Option (Prod ρ ν) -> Prop - | none => True - | some hit => ok hit.2 /\ accept hit.2 = some hit.1 -@[expose] public def SearchOk {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) (frontier : List ν) (found : Option (Prod ρ ν)) : Prop := - All ok frontier /\ Found ok accept found - -public theorem starPreserves {σ : Type} (r : σ -> σ -> Prop) (j : σ -> Prop) (h : Preserves r j) : - forall (a b : σ), Star r a b -> j a -> j b := by - intro a b hs - induction hs with - | refl => exact fun ha => ha - | tail y z _ hyz ih => exact fun ha => h y z (ih ha) hyz - -public theorem reachesStart {σ ε : Type} (r : σ -> σ -> Prop) (a : σ) : Reaches (ε := ε) r a (Except.ok a) := by - intro s e - cases e - exact Star.refl a - -public theorem guarded {σ : Type} (r : σ -> σ -> Prop) (s : σ) (g : Bool) (c : σ) (h : g = true -> r s c) (t : σ) : - (if g then some c else none) = some t -> r s t := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact h rfl - -public theorem guardedRank {σ : Type} (μ : σ -> Nat) (s : σ) (g : Bool) (c : σ) (h : g = true -> μ c < μ s) (t : σ) : - (if g then some c else none) = some t -> μ t < μ s := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact h rfl - -public theorem checked {ρ : Type} (g : Bool) (a b : ρ) : (if g then some a else none) = some b -> g = true /\ a = b := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact And.intro rfl rfl - -public theorem foldInvariant {σ α : Type} (f : σ -> α -> σ) (p : σ -> Prop) (h : forall (a : σ) (x : α), p a -> p (f a x)) : - forall (xs : List α) (a : σ), p a -> p (LexLeanCollections.listFold f a xs) := by - intro xs - induction xs with - | nil => exact fun _ ha => ha - | cons x rest ih => exact fun a ha => ih (f a x) (h a x ha) - -public theorem foldSnoc {σ α : Type} (f : σ -> α -> σ) (a : σ) (xs : List α) (y : α) : - LexLeanCollections.listFold f a (LexLeanRuntime.append xs (y :: [])) = f (LexLeanCollections.listFold f a xs) y := by - induction xs generalizing a with - | nil => rfl - | cons x rest ih => exact ih (f a x) - -public theorem allAppend {α : Type} (p : α -> Prop) : forall (xs ys : List α), All p xs -> All p ys -> All p (LexLeanRuntime.append xs ys) := by - intro xs - induction xs with - | nil => exact fun _ _ h => h - | cons x rest ih => - intro ys hx hy - cases hx with - | cons _ _ hp hr => exact All.cons x (LexLeanRuntime.append rest ys) hp (ih ys hr hy) - -public theorem allSingle {α : Type} (p : α -> Prop) (a : α) (h : p a) : All p (a :: []) := - All.cons a [] h All.nil - -public theorem allHead {α : Type} (p : α -> Prop) (a : α) (rest : List α) (h : All p (a :: rest)) : p a := by - cases h with - | cons _ _ hp _ => exact hp - -public theorem allTail {α : Type} (p : α -> Prop) (a : α) (rest : List α) (h : All p (a :: rest)) : All p rest := by - cases h with - | cons _ _ _ hr => exact hr - -public theorem allFold {σ α : Type} (f : σ -> α -> σ) (p : σ -> Prop) (q : α -> Prop) (h : forall (a : σ) (x : α), q x -> p a -> p (f a x)) : - forall (xs : List α) (a : σ), All q xs -> p a -> p (LexLeanCollections.listFold f a xs) := by - intro xs - induction xs with - | nil => exact fun _ _ ha => ha - | cons x rest ih => - intro a hx ha - cases hx with - | cons _ _ hq hr => exact ih (f a x) hr (h a x hq ha) - -public theorem capAll {α : Type} (p : α -> Prop) (k : Nat) (xs : List α) (h : All p xs) : - All p (LexLeanCollections.listFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) [] xs) := - allFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) (All p) p - (fun a x hq ha => by - show All p (if Nat.blt (LexLeanRuntime.length a) k then LexLeanRuntime.append a (x :: []) else a) - cases Nat.blt (LexLeanRuntime.length a) k with - | false => exact ha - | true => exact allAppend p a (x :: []) ha (allSingle p x hq)) xs [] h All.nil - -public theorem lengthSnoc {α : Type} (xs : List α) (y : α) : LexLeanRuntime.length (LexLeanRuntime.append xs (y :: [])) = LexLeanRuntime.length xs + 1 := by - induction xs with - | nil => rfl - | cons x rest ih => exact congrArg Nat.succ ih - -public theorem capBound {α : Type} (k : Nat) (xs : List α) : - LexLeanRuntime.length (LexLeanCollections.listFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) [] xs) <= k := - foldInvariant (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) (fun (acc : List α) => LexLeanRuntime.length acc <= k) - (fun a x ha => by - show LexLeanRuntime.length (if Nat.blt (LexLeanRuntime.length a) k then LexLeanRuntime.append a (x :: []) else a) <= k - cases e : Nat.blt (LexLeanRuntime.length a) k with - | false => exact ha - | true => - show LexLeanRuntime.length (LexLeanRuntime.append a (x :: [])) <= k - rw [lengthSnoc] - exact Nat.le_of_ble_eq_true e) xs [] (Nat.zero_le k) - -public theorem freshAll {ν κ : Type} [LexLeanCollections.Key κ] (key : ν -> κ) (p : ν -> Prop) (v : List κ) (ns : List ν) (h : All p ns) : - All p (LexLeanCollections.listFold (fun (acc : Prod (List ν) (List κ)) (n : ν) => if LexLeanCollections.setContains acc.2 (key n) then acc else (LexLeanRuntime.append acc.1 (n :: []), LexLeanCollections.setInsert acc.2 (key n))) (([] : List ν), v) ns).1 := - allFold (fun (acc : Prod (List ν) (List κ)) (n : ν) => if LexLeanCollections.setContains acc.2 (key n) then acc else (LexLeanRuntime.append acc.1 (n :: []), LexLeanCollections.setInsert acc.2 (key n))) (fun (acc : Prod (List ν) (List κ)) => All p acc.1) p - (fun a x hq ha => by - show All p (if LexLeanCollections.setContains a.2 (key x) then a else (LexLeanRuntime.append a.1 (x :: []), LexLeanCollections.setInsert a.2 (key x))).1 - cases LexLeanCollections.setContains a.2 (key x) with - | true => exact ha - | false => exact allAppend p a.1 (x :: []) ha (allSingle p x hq)) ns (([] : List ν), v) h All.nil - -public theorem searchStart {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) (frontier : List ν) (h : All ok frontier) : - SearchOk ok accept frontier none := - And.intro h True.intro - -public theorem peakBound (p len k : Nat) (hp : p <= k) (hl : len <= k) : (if Nat.blt p len then len else p) <= k := by - cases Nat.blt p len with - | false => exact hp - | true => exact hl - -public theorem iterateUntilInvariant {σ : Type} (step : σ -> Option σ) (p : σ -> Prop) (h : forall (a b : σ), step a = some b -> p a -> p b) : - forall (n : Nat) (a : σ), p a -> p (LexLeanCollections.iterateUntil step n a).1 := by - intro n - induction n with - | zero => exact fun _ ha => ha - | succ n ih => - intro a ha - show p (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 - cases e : step a with - | none => exact ha - | some b => exact ih b (h a b e ha) - -public theorem iterateUntilSimulate {σ τ : Type} (f : σ -> Option σ) (g : τ -> Option τ) (π : σ -> τ) - (hnone : forall (a : σ), f a = none -> g (π a) = none) - (hsome : forall (a b : σ), f a = some b -> g (π a) = some (π b)) : - forall (n : Nat) (a : σ), π (LexLeanCollections.iterateUntil f n a).1 = (LexLeanCollections.iterateUntil g n (π a)).1 /\ (LexLeanCollections.iterateUntil f n a).2 = (LexLeanCollections.iterateUntil g n (π a)).2 := by - intro n - induction n with - | zero => exact fun _ => And.intro rfl rfl - | succ n ih => - intro a - show π (match f a with | none => (a, true) | some next => LexLeanCollections.iterateUntil f n next).1 = (match g (π a) with | none => (π a, true) | some next => LexLeanCollections.iterateUntil g n next).1 /\ (match f a with | none => (a, true) | some next => LexLeanCollections.iterateUntil f n next).2 = (match g (π a) with | none => (π a, true) | some next => LexLeanCollections.iterateUntil g n next).2 - cases e : f a with - | none => rw [hnone a e]; exact And.intro rfl rfl - | some b => rw [hsome a b e]; exact ih b - -public theorem iterateUntilCount {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (h : forall (a b : σ), step a = some b -> c b = c a + 1) : - forall (n : Nat) (a : σ), c a = 0 -> c (LexLeanCollections.iterateUntil step n a).1 <= n := by - have general : forall (n : Nat) (a : σ), c (LexLeanCollections.iterateUntil step n a).1 <= c a + n := by - intro n - induction n with - | zero => exact fun a => Nat.le_refl (c a) - | succ n ih => - intro a - show c (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 <= c a + (n + 1) - cases e : step a with - | none => exact Nat.le_add_right (c a) (n + 1) - | some b => - have hb := ih b - rw [h a b e] at hb - rw [Nat.add_right_comm] at hb - exact (Nat.add_assoc (c a) n 1) ▸ (Nat.add_right_comm (c a) 1 n) ▸ hb - intro n a h0 - have hg := general n a - rw [h0, Nat.zero_add] at hg - exact hg - -public theorem iterateUntilGrowth {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (h : forall (a b : σ), step a = some b -> c b <= c a + 1) : - forall (n : Nat) (a : σ), c a = 0 -> c (LexLeanCollections.iterateUntil step n a).1 <= n := by - have general : forall (n : Nat) (a : σ), c (LexLeanCollections.iterateUntil step n a).1 <= c a + n := by - intro n - induction n with - | zero => exact fun a => Nat.le_refl (c a) - | succ n ih => - intro a - show c (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 <= c a + (n + 1) - cases e : step a with - | none => exact Nat.le_add_right (c a) (n + 1) - | some b => - have hb := Nat.le_trans (ih b) (Nat.add_le_add_right (h a b e) n) - rw [Nat.add_right_comm] at hb - exact hb - intro n a h0 - have hg := general n a - rw [h0, Nat.zero_add] at hg - exact hg - -public theorem iterateUntilStops {σ : Type} (step : σ -> Option σ) (p : σ -> Prop) (μ : σ -> Nat) - (h : forall (a b : σ), step a = some b -> p a -> p b /\ μ b < μ a) : - forall (n : Nat) (a : σ), p a -> μ a < n -> (LexLeanCollections.iterateUntil step n a).2 = true := by - intro n - induction n with - | zero => intro a _ hm; exact absurd hm (Nat.not_lt_zero (μ a)) - | succ n ih => - intro a ha hm - show (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).2 = true - cases e : step a with - | none => rfl - | some b => - have hb := h a b e ha - exact ih b hb.left (Nat.lt_of_lt_of_le hb.right (Nat.le_of_lt_succ hm)) - -public theorem iterateUntilBound {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (k : Nat) (h : forall (a b : σ), step a = some b -> c a <= k -> c b <= k) : - forall (n : Nat) (a : σ), c a <= k -> c (LexLeanCollections.iterateUntil step n a).1 <= k := - iterateUntilInvariant step (fun (a : σ) => c a <= k) h -public theorem noneSome {ρ : Type} {q : Prop} (v : ρ) (h : (none : Option ρ) = some v) : q := by - cases h - -public theorem zeroLe (n : Nat) : 0 <= n := - Nat.zero_le n - -public theorem bltSucc (a b : Nat) (h : Nat.blt a b = true) : a + 1 <= b := - Nat.le_of_ble_eq_true h - -end LexLeanReasoning - @[expose, reducible] public def Short (_w : Nat) (doses : List (Nat)) : Prop := ((LexLeanRuntime.length (doses) : Nat) <= 4) @[expose] public def shortCheck (_w : Nat) (doses : List (Nat)) : Bool := (Nat.ble ((LexLeanRuntime.length (doses) : Nat)) (4)) diff --git a/compiler/expected/build/modules/LexLeanTarget/TargetFixtures.lean b/compiler/expected/build/modules/LexLeanTarget/TargetFixtures.lean index 62ad4462c..9c8359189 100644 --- a/compiler/expected/build/modules/LexLeanTarget/TargetFixtures.lean +++ b/compiler/expected/build/modules/LexLeanTarget/TargetFixtures.lean @@ -1,5 +1,7 @@ module public import Init +public import LexLeanRuntime.Portable +public import LexLeanRuntime.Collections public import LexLeanTarget.TargetOracle public import LexLeanTarget.TargetSemantics public import LexLeanTarget.TargetSyntax @@ -9,433 +11,6 @@ set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace LexLeanTarget.TargetFixtures -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - -namespace LexLeanCollections - -public class Key (α : Type) where - compare : α -> α -> Ordering - -@[expose] public def compareCodes : List Char -> List Char -> Ordering - | [], [] => .eq - | [], _ :: _ => .lt - | _ :: _, [] => .gt - | left :: lefts, right :: rights => - match Ord.compare left.val.toNat right.val.toNat with - | .eq => compareCodes lefts rights - | other => other - -public instance : Key Nat where compare := Ord.compare -public instance : Key Int where compare := Ord.compare -public instance : Key Bool where compare := Ord.compare -public instance : Key Int8 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int16 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int32 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int64 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key UInt8 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt16 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt32 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt64 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key String where compare left right := compareCodes left.toList right.toList -public instance {α β : Type} [Key α] [Key β] : Key (Prod α β) where - compare left right := match Key.compare left.1 right.1 with - | .eq => Key.compare left.2 right.2 - | other => other - -@[expose] public def insertEntry {κ ν : Type} [Key κ] (key : κ) (value : ν) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [(key, value)] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (key, value) :: (other, stored) :: rest - | .eq => (key, value) :: rest - | .gt => (other, stored) :: insertEntry key value rest - -@[expose] public def removeEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (other, stored) :: rest - | .eq => rest - | .gt => (other, stored) :: removeEntry key rest - -@[expose] public def lookupEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> Option ν - | [] => none - | (other, stored) :: rest => match Key.compare key other with - | .lt => none - | .eq => some stored - | .gt => lookupEntry key rest - -@[expose] public def insertElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [key] - | other :: rest => match Key.compare key other with - | .lt => key :: other :: rest - | .eq => other :: rest - | .gt => other :: insertElement key rest - -@[expose] public def removeElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [] - | other :: rest => match Key.compare key other with - | .lt => other :: rest - | .eq => rest - | .gt => other :: removeElement key rest - -@[expose] public def containsElement {κ : Type} [Key κ] (key : κ) : List κ -> Bool - | [] => false - | other :: rest => match Key.compare key other with - | .lt => false - | .eq => true - | .gt => containsElement key rest - -@[expose] public def mapInsert {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) (value : ν) : List (Prod κ ν) := insertEntry key value map -@[expose] public def mapRemove {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : List (Prod κ ν) := removeEntry key map -@[expose] public def mapLookup {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Option ν := lookupEntry key map -@[expose] public def mapContains {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Bool := (lookupEntry key map).isSome -@[expose] public def mapSize {κ ν : Type} (map : List (Prod κ ν)) : Nat := map.length -@[expose] public def mapKeys {κ ν : Type} (map : List (Prod κ ν)) : List κ := map.map Prod.fst -@[expose] public def mapValues {κ ν : Type} (map : List (Prod κ ν)) : List ν := map.map Prod.snd -@[expose] public def mapEntries {κ ν : Type} (map : List (Prod κ ν)) : List (Prod κ ν) := map -@[expose] public def mapFold {κ ν β : Type} (step : β -> κ -> ν -> β) (initial : β) (map : List (Prod κ ν)) : β := - map.foldl (fun state entry => step state entry.1 entry.2) initial - -@[expose] public def setInsert {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := insertElement key set -@[expose] public def setRemove {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := removeElement key set -@[expose] public def setContains {κ : Type} [Key κ] (set : List κ) (key : κ) : Bool := containsElement key set -@[expose] public def setSize {κ : Type} (set : List κ) : Nat := set.length -@[expose] public def setElements {κ : Type} (set : List κ) : List κ := set -@[expose] public def setUnion {κ : Type} [Key κ] (left right : List κ) : List κ := right.foldl (fun acc key => insertElement key acc) left -@[expose] public def setIntersection {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => containsElement key right) -@[expose] public def setDifference {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => !containsElement key right) - -@[expose] public def graphSuccessors {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (node : κ) : List κ := - (lookupEntry node graph).getD [] - -@[expose] public def graphNodes {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : List κ := - graph.foldl (fun acc entry => entry.2.foldl (fun inner node => insertElement node inner) (insertElement entry.1 acc)) [] - -@[expose] public def reachableFrom {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> List κ - | 0, _, seen => seen - | Nat.succ fuel, frontier, seen => - let next := frontier.foldl (fun acc node => - (graphSuccessors graph node).foldl (fun acc2 succ => - if containsElement succ seen || containsElement succ acc2 then acc2 else insertElement succ acc2) acc) [] - match next with - | [] => seen - | _ => reachableFrom graph fuel next (next.foldl (fun acc key => insertElement key acc) seen) - -@[expose] public def graphReachable {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (start : κ) : List κ := - reachableFrom graph ((graphNodes graph).length + 1) [start] [start] - -@[expose] public def topological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> Option (List κ) - | 0, remaining, order => if remaining.isEmpty then some order.reverse else none - | Nat.succ fuel, remaining, order => - match remaining.filter (fun node => remaining.all (fun other => !containsElement node (graphSuccessors graph other))) with - | [] => if remaining.isEmpty then some order.reverse else none - | ready :: _ => topological graph fuel (removeElement ready remaining) (ready :: order) - -@[expose] public def graphTopological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Option (List κ) := - let nodes := graphNodes graph - topological graph (nodes.length + 1) nodes [] -@[expose] public def listFold {α σ : Type} (step : σ -> α -> σ) (initial : σ) (values : List α) : σ := - values.foldl step initial - -@[expose] public def setFold {κ σ : Type} (step : σ -> κ -> σ) (initial : σ) (set : List κ) : σ := - set.foldl step initial - -@[expose] public def iterate {σ : Type} (step : σ -> σ) : Nat -> σ -> σ - | 0, state => state - | Nat.succ count, state => iterate step count (step state) - -@[expose] public def iterateUntil {σ : Type} (step : σ -> Option σ) : Nat -> σ -> Prod σ Bool - | 0, state => (state, false) - | Nat.succ fuel, state => match step state with - | none => (state, true) - | some next => iterateUntil step fuel next - -@[expose] public def lessThan {κ : Type} [Key κ] (left right : κ) : Bool := - match Key.compare left right with - | .lt => true - | _ => false -end LexLeanCollections - @[expose] public def adtEvaluationProgram : LexLeanTarget.TargetSyntax.Program := ({ adts := (({ constructors := ((LexLeanTarget.TargetSyntax.Ty.nat :: ([] : List (LexLeanTarget.TargetSyntax.Ty))) :: ((LexLeanTarget.TargetSyntax.Ty.adt (0) :: (LexLeanTarget.TargetSyntax.Ty.adt (0) :: ([] : List (LexLeanTarget.TargetSyntax.Ty)))) :: ((LexLeanTarget.TargetSyntax.Ty.adt (1) :: (LexLeanTarget.TargetSyntax.Ty.adt (0) :: ([] : List (LexLeanTarget.TargetSyntax.Ty)))) :: ([] : List (List (LexLeanTarget.TargetSyntax.Ty)))))) } : LexLeanTarget.TargetSyntax.Adt) :: (({ constructors := ((LexLeanTarget.TargetSyntax.Ty.nat :: (LexLeanTarget.TargetSyntax.Ty.nat :: ([] : List (LexLeanTarget.TargetSyntax.Ty)))) :: ([] : List (List (LexLeanTarget.TargetSyntax.Ty)))) } : LexLeanTarget.TargetSyntax.Adt) :: ([] : List (LexLeanTarget.TargetSyntax.Adt)))), functions := (({ parameters := (0 :: ([] : List (Nat))), types := (LexLeanTarget.TargetSyntax.Ty.adt (0) :: ([] : List (LexLeanTarget.TargetSyntax.Ty))), result := LexLeanTarget.TargetSyntax.Ty.nat, body := LexLeanTarget.TargetSyntax.Expr.«match» (LexLeanTarget.TargetSyntax.Ty.nat) (LexLeanTarget.TargetSyntax.Expr.var (0)) ((LexLeanTarget.TargetSyntax.Arm.arm (LexLeanTarget.TargetSyntax.Shape.adt (0)) ((1 :: ([] : List (Nat)))) (LexLeanTarget.TargetSyntax.Expr.var (1)) :: (LexLeanTarget.TargetSyntax.Arm.arm (LexLeanTarget.TargetSyntax.Shape.adt (1)) ((2 :: (3 :: ([] : List (Nat))))) (LexLeanTarget.TargetSyntax.Expr.prim (LexLeanTarget.TargetSyntax.Prim.natAdd) ((LexLeanTarget.TargetSyntax.Expr.call (0) ((LexLeanTarget.TargetSyntax.Expr.var (2) :: ([] : List (LexLeanTarget.TargetSyntax.Expr)))) :: (LexLeanTarget.TargetSyntax.Expr.call (0) ((LexLeanTarget.TargetSyntax.Expr.var (3) :: ([] : List (LexLeanTarget.TargetSyntax.Expr)))) :: ([] : List (LexLeanTarget.TargetSyntax.Expr)))))) :: (LexLeanTarget.TargetSyntax.Arm.arm (LexLeanTarget.TargetSyntax.Shape.adt (2)) ((4 :: (5 :: ([] : List (Nat))))) (LexLeanTarget.TargetSyntax.Expr.prim (LexLeanTarget.TargetSyntax.Prim.natMul) ((LexLeanTarget.TargetSyntax.Expr.prim (LexLeanTarget.TargetSyntax.Prim.natAdd) ((LexLeanTarget.TargetSyntax.Expr.field (LexLeanTarget.TargetSyntax.Expr.var (4)) (0) :: (LexLeanTarget.TargetSyntax.Expr.field (LexLeanTarget.TargetSyntax.Expr.var (4)) (1) :: ([] : List (LexLeanTarget.TargetSyntax.Expr))))) :: (LexLeanTarget.TargetSyntax.Expr.call (0) ((LexLeanTarget.TargetSyntax.Expr.var (5) :: ([] : List (LexLeanTarget.TargetSyntax.Expr)))) :: ([] : List (LexLeanTarget.TargetSyntax.Expr)))))) :: ([] : List (LexLeanTarget.TargetSyntax.Arm)))))) } : LexLeanTarget.TargetSyntax.Function) :: (({ parameters := ([] : List (Nat)), types := ([] : List (LexLeanTarget.TargetSyntax.Ty)), result := LexLeanTarget.TargetSyntax.Ty.nat, body := LexLeanTarget.TargetSyntax.Expr.call (0) ((LexLeanTarget.TargetSyntax.Expr.build (LexLeanTarget.TargetSyntax.Shape.adt (1)) (LexLeanTarget.TargetSyntax.Ty.adt (0)) ((LexLeanTarget.TargetSyntax.Expr.build (LexLeanTarget.TargetSyntax.Shape.adt (0)) (LexLeanTarget.TargetSyntax.Ty.adt (0)) ((LexLeanTarget.TargetSyntax.Expr.value (LexLeanTarget.TargetSyntax.Ty.nat) (LexLeanTarget.TargetSyntax.Value.nat (2)) :: ([] : List (LexLeanTarget.TargetSyntax.Expr)))) :: (LexLeanTarget.TargetSyntax.Expr.build (LexLeanTarget.TargetSyntax.Shape.adt (2)) (LexLeanTarget.TargetSyntax.Ty.adt (0)) ((LexLeanTarget.TargetSyntax.Expr.build (LexLeanTarget.TargetSyntax.Shape.adt (0)) (LexLeanTarget.TargetSyntax.Ty.adt (1)) ((LexLeanTarget.TargetSyntax.Expr.value (LexLeanTarget.TargetSyntax.Ty.nat) (LexLeanTarget.TargetSyntax.Value.nat (3)) :: (LexLeanTarget.TargetSyntax.Expr.value (LexLeanTarget.TargetSyntax.Ty.nat) (LexLeanTarget.TargetSyntax.Value.nat (4)) :: ([] : List (LexLeanTarget.TargetSyntax.Expr))))) :: (LexLeanTarget.TargetSyntax.Expr.build (LexLeanTarget.TargetSyntax.Shape.adt (0)) (LexLeanTarget.TargetSyntax.Ty.adt (0)) ((LexLeanTarget.TargetSyntax.Expr.value (LexLeanTarget.TargetSyntax.Ty.nat) (LexLeanTarget.TargetSyntax.Value.nat (5)) :: ([] : List (LexLeanTarget.TargetSyntax.Expr)))) :: ([] : List (LexLeanTarget.TargetSyntax.Expr))))) :: ([] : List (LexLeanTarget.TargetSyntax.Expr))))) :: ([] : List (LexLeanTarget.TargetSyntax.Expr)))) } : LexLeanTarget.TargetSyntax.Function) :: ([] : List (LexLeanTarget.TargetSyntax.Function)))) } : LexLeanTarget.TargetSyntax.Program) @[expose] public def adtEvaluationRun : LexLeanTarget.TargetSemantics.Outcome := LexLeanTarget.TargetSemantics.run (400) (adtEvaluationProgram) (1) (([] : List (LexLeanTarget.TargetSyntax.Value))) diff --git a/compiler/expected/build/modules/LexLeanTarget/TargetSemantics.lean b/compiler/expected/build/modules/LexLeanTarget/TargetSemantics.lean index c6c633013..ca522f797 100644 --- a/compiler/expected/build/modules/LexLeanTarget/TargetSemantics.lean +++ b/compiler/expected/build/modules/LexLeanTarget/TargetSemantics.lean @@ -1,5 +1,7 @@ module public import Init +public import LexLeanRuntime.Portable +public import LexLeanRuntime.Collections public import LexLeanTarget.TargetSyntax set_option autoImplicit false set_option maxRecDepth 100000 @@ -7,433 +9,6 @@ set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace LexLeanTarget.TargetSemantics -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - -namespace LexLeanCollections - -public class Key (α : Type) where - compare : α -> α -> Ordering - -@[expose] public def compareCodes : List Char -> List Char -> Ordering - | [], [] => .eq - | [], _ :: _ => .lt - | _ :: _, [] => .gt - | left :: lefts, right :: rights => - match Ord.compare left.val.toNat right.val.toNat with - | .eq => compareCodes lefts rights - | other => other - -public instance : Key Nat where compare := Ord.compare -public instance : Key Int where compare := Ord.compare -public instance : Key Bool where compare := Ord.compare -public instance : Key Int8 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int16 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int32 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int64 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key UInt8 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt16 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt32 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt64 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key String where compare left right := compareCodes left.toList right.toList -public instance {α β : Type} [Key α] [Key β] : Key (Prod α β) where - compare left right := match Key.compare left.1 right.1 with - | .eq => Key.compare left.2 right.2 - | other => other - -@[expose] public def insertEntry {κ ν : Type} [Key κ] (key : κ) (value : ν) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [(key, value)] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (key, value) :: (other, stored) :: rest - | .eq => (key, value) :: rest - | .gt => (other, stored) :: insertEntry key value rest - -@[expose] public def removeEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (other, stored) :: rest - | .eq => rest - | .gt => (other, stored) :: removeEntry key rest - -@[expose] public def lookupEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> Option ν - | [] => none - | (other, stored) :: rest => match Key.compare key other with - | .lt => none - | .eq => some stored - | .gt => lookupEntry key rest - -@[expose] public def insertElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [key] - | other :: rest => match Key.compare key other with - | .lt => key :: other :: rest - | .eq => other :: rest - | .gt => other :: insertElement key rest - -@[expose] public def removeElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [] - | other :: rest => match Key.compare key other with - | .lt => other :: rest - | .eq => rest - | .gt => other :: removeElement key rest - -@[expose] public def containsElement {κ : Type} [Key κ] (key : κ) : List κ -> Bool - | [] => false - | other :: rest => match Key.compare key other with - | .lt => false - | .eq => true - | .gt => containsElement key rest - -@[expose] public def mapInsert {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) (value : ν) : List (Prod κ ν) := insertEntry key value map -@[expose] public def mapRemove {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : List (Prod κ ν) := removeEntry key map -@[expose] public def mapLookup {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Option ν := lookupEntry key map -@[expose] public def mapContains {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Bool := (lookupEntry key map).isSome -@[expose] public def mapSize {κ ν : Type} (map : List (Prod κ ν)) : Nat := map.length -@[expose] public def mapKeys {κ ν : Type} (map : List (Prod κ ν)) : List κ := map.map Prod.fst -@[expose] public def mapValues {κ ν : Type} (map : List (Prod κ ν)) : List ν := map.map Prod.snd -@[expose] public def mapEntries {κ ν : Type} (map : List (Prod κ ν)) : List (Prod κ ν) := map -@[expose] public def mapFold {κ ν β : Type} (step : β -> κ -> ν -> β) (initial : β) (map : List (Prod κ ν)) : β := - map.foldl (fun state entry => step state entry.1 entry.2) initial - -@[expose] public def setInsert {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := insertElement key set -@[expose] public def setRemove {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := removeElement key set -@[expose] public def setContains {κ : Type} [Key κ] (set : List κ) (key : κ) : Bool := containsElement key set -@[expose] public def setSize {κ : Type} (set : List κ) : Nat := set.length -@[expose] public def setElements {κ : Type} (set : List κ) : List κ := set -@[expose] public def setUnion {κ : Type} [Key κ] (left right : List κ) : List κ := right.foldl (fun acc key => insertElement key acc) left -@[expose] public def setIntersection {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => containsElement key right) -@[expose] public def setDifference {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => !containsElement key right) - -@[expose] public def graphSuccessors {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (node : κ) : List κ := - (lookupEntry node graph).getD [] - -@[expose] public def graphNodes {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : List κ := - graph.foldl (fun acc entry => entry.2.foldl (fun inner node => insertElement node inner) (insertElement entry.1 acc)) [] - -@[expose] public def reachableFrom {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> List κ - | 0, _, seen => seen - | Nat.succ fuel, frontier, seen => - let next := frontier.foldl (fun acc node => - (graphSuccessors graph node).foldl (fun acc2 succ => - if containsElement succ seen || containsElement succ acc2 then acc2 else insertElement succ acc2) acc) [] - match next with - | [] => seen - | _ => reachableFrom graph fuel next (next.foldl (fun acc key => insertElement key acc) seen) - -@[expose] public def graphReachable {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (start : κ) : List κ := - reachableFrom graph ((graphNodes graph).length + 1) [start] [start] - -@[expose] public def topological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> Option (List κ) - | 0, remaining, order => if remaining.isEmpty then some order.reverse else none - | Nat.succ fuel, remaining, order => - match remaining.filter (fun node => remaining.all (fun other => !containsElement node (graphSuccessors graph other))) with - | [] => if remaining.isEmpty then some order.reverse else none - | ready :: _ => topological graph fuel (removeElement ready remaining) (ready :: order) - -@[expose] public def graphTopological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Option (List κ) := - let nodes := graphNodes graph - topological graph (nodes.length + 1) nodes [] -@[expose] public def listFold {α σ : Type} (step : σ -> α -> σ) (initial : σ) (values : List α) : σ := - values.foldl step initial - -@[expose] public def setFold {κ σ : Type} (step : σ -> κ -> σ) (initial : σ) (set : List κ) : σ := - set.foldl step initial - -@[expose] public def iterate {σ : Type} (step : σ -> σ) : Nat -> σ -> σ - | 0, state => state - | Nat.succ count, state => iterate step count (step state) - -@[expose] public def iterateUntil {σ : Type} (step : σ -> Option σ) : Nat -> σ -> Prod σ Bool - | 0, state => (state, false) - | Nat.succ fuel, state => match step state with - | none => (state, true) - | some next => iterateUntil step fuel next - -@[expose] public def lessThan {κ : Type} [Key κ] (left right : κ) : Bool := - match Key.compare left right with - | .lt => true - | _ => false -end LexLeanCollections - public inductive Outcome where | value (_ : LexLeanTarget.TargetSyntax.Value) (_ : Nat) | overflow (_ : Nat) diff --git a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Collections.lean b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Collections.lean new file mode 100644 index 000000000..ae0a21413 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Collections.lean @@ -0,0 +1,105 @@ +module +import LexLeanRuntime.Collections +#print axioms LexLeanCollections.Key +#print axioms LexLeanCollections.Key.casesOn +#print axioms LexLeanCollections.Key.compare +#print axioms LexLeanCollections.Key.ctorIdx +#print axioms LexLeanCollections.Key.mk._flat_ctor +#print axioms LexLeanCollections.Key.mk.noConfusion +#print axioms LexLeanCollections.Key.noConfusion +#print axioms LexLeanCollections.Key.noConfusionType +#print axioms LexLeanCollections.Key.recOn +#print axioms LexLeanCollections.compareCodes +#print axioms LexLeanCollections.compareCodes._f +#print axioms LexLeanCollections.compareCodes._sparseCasesOn_1 +#print axioms LexLeanCollections.compareCodes._sunfold +#print axioms LexLeanCollections.compareCodes._unsafe_rec +#print axioms LexLeanCollections.compareCodes.match_1 +#print axioms LexLeanCollections.compareCodes.match_4 +#print axioms LexLeanCollections.containsElement +#print axioms LexLeanCollections.containsElement._f +#print axioms LexLeanCollections.containsElement._sunfold +#print axioms LexLeanCollections.containsElement._unsafe_rec +#print axioms LexLeanCollections.graphNodes +#print axioms LexLeanCollections.graphReachable +#print axioms LexLeanCollections.graphSuccessors +#print axioms LexLeanCollections.graphTopological +#print axioms LexLeanCollections.insertElement +#print axioms LexLeanCollections.insertElement._f +#print axioms LexLeanCollections.insertElement._sunfold +#print axioms LexLeanCollections.insertElement._unsafe_rec +#print axioms LexLeanCollections.insertElement.match_1 +#print axioms LexLeanCollections.insertEntry +#print axioms LexLeanCollections.insertEntry._f +#print axioms LexLeanCollections.insertEntry._sunfold +#print axioms LexLeanCollections.insertEntry._unsafe_rec +#print axioms LexLeanCollections.insertEntry.match_1 +#print axioms LexLeanCollections.insertEntry.match_3 +#print axioms LexLeanCollections.instKeyBool +#print axioms LexLeanCollections.instKeyInt +#print axioms LexLeanCollections.instKeyInt16 +#print axioms LexLeanCollections.instKeyInt32 +#print axioms LexLeanCollections.instKeyInt64 +#print axioms LexLeanCollections.instKeyInt8 +#print axioms LexLeanCollections.instKeyNat +#print axioms LexLeanCollections.instKeyProd +#print axioms LexLeanCollections.instKeyString +#print axioms LexLeanCollections.instKeyUInt16 +#print axioms LexLeanCollections.instKeyUInt32 +#print axioms LexLeanCollections.instKeyUInt64 +#print axioms LexLeanCollections.instKeyUInt8 +#print axioms LexLeanCollections.iterate +#print axioms LexLeanCollections.iterate._f +#print axioms LexLeanCollections.iterate._sunfold +#print axioms LexLeanCollections.iterate._unsafe_rec +#print axioms LexLeanCollections.iterate.match_1 +#print axioms LexLeanCollections.iterateUntil +#print axioms LexLeanCollections.iterateUntil._f +#print axioms LexLeanCollections.iterateUntil._sunfold +#print axioms LexLeanCollections.iterateUntil._unsafe_rec +#print axioms LexLeanCollections.iterateUntil.match_1 +#print axioms LexLeanCollections.lessThan +#print axioms LexLeanCollections.lessThan._sparseCasesOn_1 +#print axioms LexLeanCollections.lessThan.match_1 +#print axioms LexLeanCollections.listFold +#print axioms LexLeanCollections.lookupEntry +#print axioms LexLeanCollections.lookupEntry._f +#print axioms LexLeanCollections.lookupEntry._sunfold +#print axioms LexLeanCollections.lookupEntry._unsafe_rec +#print axioms LexLeanCollections.mapContains +#print axioms LexLeanCollections.mapEntries +#print axioms LexLeanCollections.mapFold +#print axioms LexLeanCollections.mapInsert +#print axioms LexLeanCollections.mapKeys +#print axioms LexLeanCollections.mapLookup +#print axioms LexLeanCollections.mapRemove +#print axioms LexLeanCollections.mapSize +#print axioms LexLeanCollections.mapValues +#print axioms LexLeanCollections.reachableFrom +#print axioms LexLeanCollections.reachableFrom._f +#print axioms LexLeanCollections.reachableFrom._sparseCasesOn_1 +#print axioms LexLeanCollections.reachableFrom._sunfold +#print axioms LexLeanCollections.reachableFrom._unsafe_rec +#print axioms LexLeanCollections.reachableFrom.match_1 +#print axioms LexLeanCollections.reachableFrom.match_4 +#print axioms LexLeanCollections.removeElement +#print axioms LexLeanCollections.removeElement._f +#print axioms LexLeanCollections.removeElement._sunfold +#print axioms LexLeanCollections.removeElement._unsafe_rec +#print axioms LexLeanCollections.removeEntry +#print axioms LexLeanCollections.removeEntry._f +#print axioms LexLeanCollections.removeEntry._sunfold +#print axioms LexLeanCollections.removeEntry._unsafe_rec +#print axioms LexLeanCollections.setContains +#print axioms LexLeanCollections.setDifference +#print axioms LexLeanCollections.setElements +#print axioms LexLeanCollections.setFold +#print axioms LexLeanCollections.setInsert +#print axioms LexLeanCollections.setIntersection +#print axioms LexLeanCollections.setRemove +#print axioms LexLeanCollections.setSize +#print axioms LexLeanCollections.setUnion +#print axioms LexLeanCollections.topological +#print axioms LexLeanCollections.topological._f +#print axioms LexLeanCollections.topological._sunfold +#print axioms LexLeanCollections.topological._unsafe_rec diff --git a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Collections.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Collections.process.json new file mode 100644 index 000000000..85e5f1605 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Collections.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Collections.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Collections","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanCollections.Key' does not depend on any axioms\n'LexLeanCollections.Key.casesOn' does not depend on any axioms\n'LexLeanCollections.Key.compare' does not depend on any axioms\n'LexLeanCollections.Key.ctorIdx' does not depend on any axioms\n'LexLeanCollections.Key.mk._flat_ctor' does not depend on any axioms\n'LexLeanCollections.Key.mk.noConfusion' does not depend on any axioms\n'LexLeanCollections.Key.noConfusion' does not depend on any axioms\n'LexLeanCollections.Key.noConfusionType' does not depend on any axioms\n'LexLeanCollections.Key.recOn' does not depend on any axioms\n'LexLeanCollections.compareCodes' depends on axioms: [propext]\n'LexLeanCollections.compareCodes._f' depends on axioms: [propext]\n'LexLeanCollections.compareCodes._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanCollections.compareCodes._sunfold' depends on axioms: [propext]\n'LexLeanCollections.compareCodes._unsafe_rec' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.match_1' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.match_4' does not depend on any axioms\n'LexLeanCollections.containsElement' does not depend on any axioms\n'LexLeanCollections.containsElement._f' does not depend on any axioms\n'LexLeanCollections.containsElement._sunfold' does not depend on any axioms\n'LexLeanCollections.containsElement._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.graphNodes' does not depend on any axioms\n'LexLeanCollections.graphReachable' depends on axioms: [propext]\n'LexLeanCollections.graphSuccessors' does not depend on any axioms\n'LexLeanCollections.graphTopological' does not depend on any axioms\n'LexLeanCollections.insertElement' does not depend on any axioms\n'LexLeanCollections.insertElement._f' does not depend on any axioms\n'LexLeanCollections.insertElement._sunfold' does not depend on any axioms\n'LexLeanCollections.insertElement._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.insertElement.match_1' does not depend on any axioms\n'LexLeanCollections.insertEntry' does not depend on any axioms\n'LexLeanCollections.insertEntry._f' does not depend on any axioms\n'LexLeanCollections.insertEntry._sunfold' does not depend on any axioms\n'LexLeanCollections.insertEntry._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.insertEntry.match_1' does not depend on any axioms\n'LexLeanCollections.insertEntry.match_3' does not depend on any axioms\n'LexLeanCollections.instKeyBool' depends on axioms: [propext]\n'LexLeanCollections.instKeyInt' does not depend on any axioms\n'LexLeanCollections.instKeyInt16' does not depend on any axioms\n'LexLeanCollections.instKeyInt32' does not depend on any axioms\n'LexLeanCollections.instKeyInt64' does not depend on any axioms\n'LexLeanCollections.instKeyInt8' does not depend on any axioms\n'LexLeanCollections.instKeyNat' does not depend on any axioms\n'LexLeanCollections.instKeyProd' depends on axioms: [propext]\n'LexLeanCollections.instKeyString' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanCollections.instKeyUInt16' does not depend on any axioms\n'LexLeanCollections.instKeyUInt32' does not depend on any axioms\n'LexLeanCollections.instKeyUInt64' does not depend on any axioms\n'LexLeanCollections.instKeyUInt8' does not depend on any axioms\n'LexLeanCollections.iterate' does not depend on any axioms\n'LexLeanCollections.iterate._f' does not depend on any axioms\n'LexLeanCollections.iterate._sunfold' does not depend on any axioms\n'LexLeanCollections.iterate._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.iterate.match_1' does not depend on any axioms\n'LexLeanCollections.iterateUntil' does not depend on any axioms\n'LexLeanCollections.iterateUntil._f' does not depend on any axioms\n'LexLeanCollections.iterateUntil._sunfold' does not depend on any axioms\n'LexLeanCollections.iterateUntil._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.iterateUntil.match_1' does not depend on any axioms\n'LexLeanCollections.lessThan' depends on axioms: [propext]\n'LexLeanCollections.lessThan._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanCollections.lessThan.match_1' depends on axioms: [propext]\n'LexLeanCollections.listFold' does not depend on any axioms\n'LexLeanCollections.lookupEntry' does not depend on any axioms\n'LexLeanCollections.lookupEntry._f' does not depend on any axioms\n'LexLeanCollections.lookupEntry._sunfold' does not depend on any axioms\n'LexLeanCollections.lookupEntry._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.mapContains' does not depend on any axioms\n'LexLeanCollections.mapEntries' does not depend on any axioms\n'LexLeanCollections.mapFold' does not depend on any axioms\n'LexLeanCollections.mapInsert' does not depend on any axioms\n'LexLeanCollections.mapKeys' does not depend on any axioms\n'LexLeanCollections.mapLookup' does not depend on any axioms\n'LexLeanCollections.mapRemove' does not depend on any axioms\n'LexLeanCollections.mapSize' does not depend on any axioms\n'LexLeanCollections.mapValues' does not depend on any axioms\n'LexLeanCollections.reachableFrom' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom._f' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom._sunfold' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom._unsafe_rec' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom.match_1' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom.match_4' does not depend on any axioms\n'LexLeanCollections.removeElement' does not depend on any axioms\n'LexLeanCollections.removeElement._f' does not depend on any axioms\n'LexLeanCollections.removeElement._sunfold' does not depend on any axioms\n'LexLeanCollections.removeElement._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.removeEntry' does not depend on any axioms\n'LexLeanCollections.removeEntry._f' does not depend on any axioms\n'LexLeanCollections.removeEntry._sunfold' does not depend on any axioms\n'LexLeanCollections.removeEntry._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.setContains' does not depend on any axioms\n'LexLeanCollections.setDifference' does not depend on any axioms\n'LexLeanCollections.setElements' does not depend on any axioms\n'LexLeanCollections.setFold' does not depend on any axioms\n'LexLeanCollections.setInsert' does not depend on any axioms\n'LexLeanCollections.setIntersection' does not depend on any axioms\n'LexLeanCollections.setRemove' does not depend on any axioms\n'LexLeanCollections.setSize' does not depend on any axioms\n'LexLeanCollections.setUnion' does not depend on any axioms\n'LexLeanCollections.topological' does not depend on any axioms\n'LexLeanCollections.topological._f' does not depend on any axioms\n'LexLeanCollections.topological._sunfold' does not depend on any axioms\n'LexLeanCollections.topological._unsafe_rec' does not depend on any axioms\n","stdout_sha256":"b75acc0e99e23684c3cc876eacbfc93f47161cfee8a7440df17fa45f321c8c6a","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Models.lean b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Models.lean new file mode 100644 index 000000000..220cccfd6 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Models.lean @@ -0,0 +1,29 @@ +module +import LexLeanRuntime.Models +#print axioms LexLeanModels.Agreement +#print axioms LexLeanModels.Complete1 +#print axioms LexLeanModels.Complete2 +#print axioms LexLeanModels.Complete4 +#print axioms LexLeanModels.Equivalent +#print axioms LexLeanModels.EquivalentStep +#print axioms LexLeanModels.EquivalentStepNoInvariant +#print axioms LexLeanModels.EquivalentStepNoPrecondition +#print axioms LexLeanModels.EquivalentStepTotal +#print axioms LexLeanModels.EquivalentTotal +#print axioms LexLeanModels.Initial +#print axioms LexLeanModels.Preserves +#print axioms LexLeanModels.PreservesTotal +#print axioms LexLeanModels.Satisfies +#print axioms LexLeanModels.SatisfiesStep +#print axioms LexLeanModels.SatisfiesStepNoInvariant +#print axioms LexLeanModels.SatisfiesStepNoPrecondition +#print axioms LexLeanModels.SatisfiesStepTotal +#print axioms LexLeanModels.SatisfiesTotal +#print axioms LexLeanModels.Sound1 +#print axioms LexLeanModels.Sound2 +#print axioms LexLeanModels.Sound4 +#print axioms LexLeanModels.encodeInt +#print axioms LexLeanModels.inRange +#print axioms LexLeanModels.linesMatch +#print axioms LexLeanModels.tensorMatches +#print axioms LexLeanModels.utf8Char diff --git a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Models.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Models.process.json new file mode 100644 index 000000000..d6b84e2c0 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Models.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Models.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Models","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanModels.Agreement' does not depend on any axioms\n'LexLeanModels.Complete1' does not depend on any axioms\n'LexLeanModels.Complete2' does not depend on any axioms\n'LexLeanModels.Complete4' does not depend on any axioms\n'LexLeanModels.Equivalent' does not depend on any axioms\n'LexLeanModels.EquivalentStep' does not depend on any axioms\n'LexLeanModels.EquivalentStepNoInvariant' does not depend on any axioms\n'LexLeanModels.EquivalentStepNoPrecondition' does not depend on any axioms\n'LexLeanModels.EquivalentStepTotal' does not depend on any axioms\n'LexLeanModels.EquivalentTotal' does not depend on any axioms\n'LexLeanModels.Initial' does not depend on any axioms\n'LexLeanModels.Preserves' does not depend on any axioms\n'LexLeanModels.PreservesTotal' does not depend on any axioms\n'LexLeanModels.Satisfies' does not depend on any axioms\n'LexLeanModels.SatisfiesStep' does not depend on any axioms\n'LexLeanModels.SatisfiesStepNoInvariant' does not depend on any axioms\n'LexLeanModels.SatisfiesStepNoPrecondition' does not depend on any axioms\n'LexLeanModels.SatisfiesStepTotal' does not depend on any axioms\n'LexLeanModels.SatisfiesTotal' does not depend on any axioms\n'LexLeanModels.Sound1' does not depend on any axioms\n'LexLeanModels.Sound2' does not depend on any axioms\n'LexLeanModels.Sound4' does not depend on any axioms\n'LexLeanModels.encodeInt' does not depend on any axioms\n'LexLeanModels.inRange' does not depend on any axioms\n'LexLeanModels.linesMatch' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanModels.tensorMatches' does not depend on any axioms\n'LexLeanModels.utf8Char' does not depend on any axioms\n","stdout_sha256":"43ad1c715570458672aedc9abb1691012eef870f5b804f1e230abb890e49ffee","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Portable.lean b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Portable.lean new file mode 100644 index 000000000..dd62fd557 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Portable.lean @@ -0,0 +1,162 @@ +module +import LexLeanRuntime.Portable +#print axioms LexLeanRuntime.Appendable +#print axioms LexLeanRuntime.Appendable.append +#print axioms LexLeanRuntime.Appendable.casesOn +#print axioms LexLeanRuntime.Appendable.ctorIdx +#print axioms LexLeanRuntime.Appendable.mk._flat_ctor +#print axioms LexLeanRuntime.Appendable.mk.noConfusion +#print axioms LexLeanRuntime.Appendable.noConfusion +#print axioms LexLeanRuntime.Appendable.noConfusionType +#print axioms LexLeanRuntime.Appendable.recOn +#print axioms LexLeanRuntime.Decimal +#print axioms LexLeanRuntime.Decimal.casesOn +#print axioms LexLeanRuntime.Decimal.ctorIdx +#print axioms LexLeanRuntime.Decimal.format +#print axioms LexLeanRuntime.Decimal.mk._flat_ctor +#print axioms LexLeanRuntime.Decimal.mk.noConfusion +#print axioms LexLeanRuntime.Decimal.noConfusion +#print axioms LexLeanRuntime.Decimal.noConfusionType +#print axioms LexLeanRuntime.Decimal.parse +#print axioms LexLeanRuntime.Decimal.recOn +#print axioms LexLeanRuntime.Fixed +#print axioms LexLeanRuntime.Fixed.bitAnd +#print axioms LexLeanRuntime.Fixed.bitNot +#print axioms LexLeanRuntime.Fixed.bitOr +#print axioms LexLeanRuntime.Fixed.bitXor +#print axioms LexLeanRuntime.Fixed.casesOn +#print axioms LexLeanRuntime.Fixed.ctorIdx +#print axioms LexLeanRuntime.Fixed.fromInt +#print axioms LexLeanRuntime.Fixed.maximum +#print axioms LexLeanRuntime.Fixed.minimum +#print axioms LexLeanRuntime.Fixed.mk._flat_ctor +#print axioms LexLeanRuntime.Fixed.mk.noConfusion +#print axioms LexLeanRuntime.Fixed.noConfusion +#print axioms LexLeanRuntime.Fixed.noConfusionType +#print axioms LexLeanRuntime.Fixed.recOn +#print axioms LexLeanRuntime.Fixed.shiftLeft +#print axioms LexLeanRuntime.Fixed.shiftRight +#print axioms LexLeanRuntime.Fixed.toToMathInt +#print axioms LexLeanRuntime.Indexable +#print axioms LexLeanRuntime.Indexable.casesOn +#print axioms LexLeanRuntime.Indexable.ctorIdx +#print axioms LexLeanRuntime.Indexable.index +#print axioms LexLeanRuntime.Indexable.mk._flat_ctor +#print axioms LexLeanRuntime.Indexable.mk.noConfusion +#print axioms LexLeanRuntime.Indexable.noConfusion +#print axioms LexLeanRuntime.Indexable.noConfusionType +#print axioms LexLeanRuntime.Indexable.recOn +#print axioms LexLeanRuntime.Lengthable +#print axioms LexLeanRuntime.Lengthable.casesOn +#print axioms LexLeanRuntime.Lengthable.ctorIdx +#print axioms LexLeanRuntime.Lengthable.length +#print axioms LexLeanRuntime.Lengthable.mk._flat_ctor +#print axioms LexLeanRuntime.Lengthable.mk.noConfusion +#print axioms LexLeanRuntime.Lengthable.noConfusion +#print axioms LexLeanRuntime.Lengthable.noConfusionType +#print axioms LexLeanRuntime.Lengthable.recOn +#print axioms LexLeanRuntime.Quotient +#print axioms LexLeanRuntime.Quotient.casesOn +#print axioms LexLeanRuntime.Quotient.ctorIdx +#print axioms LexLeanRuntime.Quotient.isZero +#print axioms LexLeanRuntime.Quotient.mk._flat_ctor +#print axioms LexLeanRuntime.Quotient.mk.noConfusion +#print axioms LexLeanRuntime.Quotient.noConfusion +#print axioms LexLeanRuntime.Quotient.noConfusionType +#print axioms LexLeanRuntime.Quotient.quotient +#print axioms LexLeanRuntime.Quotient.recOn +#print axioms LexLeanRuntime.Quotient.remainder +#print axioms LexLeanRuntime.Sliceable +#print axioms LexLeanRuntime.Sliceable.casesOn +#print axioms LexLeanRuntime.Sliceable.ctorIdx +#print axioms LexLeanRuntime.Sliceable.mk._flat_ctor +#print axioms LexLeanRuntime.Sliceable.mk.noConfusion +#print axioms LexLeanRuntime.Sliceable.noConfusion +#print axioms LexLeanRuntime.Sliceable.noConfusionType +#print axioms LexLeanRuntime.Sliceable.recOn +#print axioms LexLeanRuntime.Sliceable.slice +#print axioms LexLeanRuntime.ToMathInt +#print axioms LexLeanRuntime.ToMathInt.casesOn +#print axioms LexLeanRuntime.ToMathInt.ctorIdx +#print axioms LexLeanRuntime.ToMathInt.mk._flat_ctor +#print axioms LexLeanRuntime.ToMathInt.mk.noConfusion +#print axioms LexLeanRuntime.ToMathInt.noConfusion +#print axioms LexLeanRuntime.ToMathInt.noConfusionType +#print axioms LexLeanRuntime.ToMathInt.recOn +#print axioms LexLeanRuntime.ToMathInt.toInt +#print axioms LexLeanRuntime.append +#print axioms LexLeanRuntime.bitAnd +#print axioms LexLeanRuntime.bitNot +#print axioms LexLeanRuntime.bitOr +#print axioms LexLeanRuntime.bitXor +#print axioms LexLeanRuntime.checkedAdd +#print axioms LexLeanRuntime.checkedAddInt64 +#print axioms LexLeanRuntime.checkedConvert +#print axioms LexLeanRuntime.checkedFromInt +#print axioms LexLeanRuntime.checkedMultiply +#print axioms LexLeanRuntime.checkedMultiplyInt64 +#print axioms LexLeanRuntime.checkedMultiplyInt64.match_1 +#print axioms LexLeanRuntime.checkedNegate +#print axioms LexLeanRuntime.checkedNegateInt64 +#print axioms LexLeanRuntime.checkedQuotient +#print axioms LexLeanRuntime.checkedQuotientInt64 +#print axioms LexLeanRuntime.checkedSubtract +#print axioms LexLeanRuntime.checkedSubtractInt64 +#print axioms LexLeanRuntime.compareBytes +#print axioms LexLeanRuntime.divideMagnitudeInt64 +#print axioms LexLeanRuntime.divideMagnitudeInt64._f +#print axioms LexLeanRuntime.divideMagnitudeInt64._sunfold +#print axioms LexLeanRuntime.divideMagnitudeInt64._unsafe_rec +#print axioms LexLeanRuntime.divideMagnitudeInt64.match_1 +#print axioms LexLeanRuntime.equal +#print axioms LexLeanRuntime.formatDecimal +#print axioms LexLeanRuntime.index +#print axioms LexLeanRuntime.instAppendableByteArray +#print axioms LexLeanRuntime.instAppendableList +#print axioms LexLeanRuntime.instDecimalInt +#print axioms LexLeanRuntime.instDecimalInt.match_1 +#print axioms LexLeanRuntime.instDecimalOfFixedOfToString +#print axioms LexLeanRuntime.instFixedInt16 +#print axioms LexLeanRuntime.instFixedInt32 +#print axioms LexLeanRuntime.instFixedInt64 +#print axioms LexLeanRuntime.instFixedInt8 +#print axioms LexLeanRuntime.instFixedUInt16 +#print axioms LexLeanRuntime.instFixedUInt32 +#print axioms LexLeanRuntime.instFixedUInt64 +#print axioms LexLeanRuntime.instFixedUInt8 +#print axioms LexLeanRuntime.instIndexableByteArrayUInt8 +#print axioms LexLeanRuntime.instIndexableList +#print axioms LexLeanRuntime.instLengthableByteArray +#print axioms LexLeanRuntime.instLengthableList +#print axioms LexLeanRuntime.instLengthableString +#print axioms LexLeanRuntime.instQuotientInt +#print axioms LexLeanRuntime.instQuotientNat +#print axioms LexLeanRuntime.instSliceableByteArray +#print axioms LexLeanRuntime.instSliceableList +#print axioms LexLeanRuntime.instToMathIntInt +#print axioms LexLeanRuntime.join +#print axioms LexLeanRuntime.length +#print axioms LexLeanRuntime.listIndex +#print axioms LexLeanRuntime.listIndex._f +#print axioms LexLeanRuntime.listIndex._sunfold +#print axioms LexLeanRuntime.listIndex._unsafe_rec +#print axioms LexLeanRuntime.listIndex.match_1 +#print axioms LexLeanRuntime.magnitudeInt64 +#print axioms LexLeanRuntime.multiply +#print axioms LexLeanRuntime.multiplyMagnitudeInt64 +#print axioms LexLeanRuntime.multiplyMagnitudeInt64._f +#print axioms LexLeanRuntime.multiplyMagnitudeInt64._sunfold +#print axioms LexLeanRuntime.multiplyMagnitudeInt64._unsafe_rec +#print axioms LexLeanRuntime.multiplyMagnitudeInt64.match_1 +#print axioms LexLeanRuntime.negate +#print axioms LexLeanRuntime.parseDecimal +#print axioms LexLeanRuntime.quotient +#print axioms LexLeanRuntime.remainder +#print axioms LexLeanRuntime.shiftLeft +#print axioms LexLeanRuntime.shiftRight +#print axioms LexLeanRuntime.signedMagnitudeInt64 +#print axioms LexLeanRuntime.slice +#print axioms LexLeanRuntime.splitExact +#print axioms LexLeanRuntime.subtract +#print axioms LexLeanRuntime.utf8Decode +#print axioms LexLeanRuntime.utf8Encode diff --git a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Portable.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Portable.process.json new file mode 100644 index 000000000..bd733a085 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Portable.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Portable.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Portable","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanRuntime.Appendable' does not depend on any axioms\n'LexLeanRuntime.Appendable.append' does not depend on any axioms\n'LexLeanRuntime.Appendable.casesOn' does not depend on any axioms\n'LexLeanRuntime.Appendable.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Appendable.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Appendable.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Appendable.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Appendable.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Appendable.recOn' does not depend on any axioms\n'LexLeanRuntime.Decimal' does not depend on any axioms\n'LexLeanRuntime.Decimal.casesOn' does not depend on any axioms\n'LexLeanRuntime.Decimal.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Decimal.format' does not depend on any axioms\n'LexLeanRuntime.Decimal.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Decimal.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Decimal.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Decimal.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Decimal.parse' does not depend on any axioms\n'LexLeanRuntime.Decimal.recOn' does not depend on any axioms\n'LexLeanRuntime.Fixed' does not depend on any axioms\n'LexLeanRuntime.Fixed.bitAnd' does not depend on any axioms\n'LexLeanRuntime.Fixed.bitNot' does not depend on any axioms\n'LexLeanRuntime.Fixed.bitOr' does not depend on any axioms\n'LexLeanRuntime.Fixed.bitXor' does not depend on any axioms\n'LexLeanRuntime.Fixed.casesOn' does not depend on any axioms\n'LexLeanRuntime.Fixed.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Fixed.fromInt' does not depend on any axioms\n'LexLeanRuntime.Fixed.maximum' does not depend on any axioms\n'LexLeanRuntime.Fixed.minimum' does not depend on any axioms\n'LexLeanRuntime.Fixed.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Fixed.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Fixed.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Fixed.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Fixed.recOn' does not depend on any axioms\n'LexLeanRuntime.Fixed.shiftLeft' does not depend on any axioms\n'LexLeanRuntime.Fixed.shiftRight' does not depend on any axioms\n'LexLeanRuntime.Fixed.toToMathInt' does not depend on any axioms\n'LexLeanRuntime.Indexable' does not depend on any axioms\n'LexLeanRuntime.Indexable.casesOn' does not depend on any axioms\n'LexLeanRuntime.Indexable.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Indexable.index' does not depend on any axioms\n'LexLeanRuntime.Indexable.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Indexable.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Indexable.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Indexable.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Indexable.recOn' does not depend on any axioms\n'LexLeanRuntime.Lengthable' does not depend on any axioms\n'LexLeanRuntime.Lengthable.casesOn' does not depend on any axioms\n'LexLeanRuntime.Lengthable.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Lengthable.length' does not depend on any axioms\n'LexLeanRuntime.Lengthable.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Lengthable.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Lengthable.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Lengthable.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Lengthable.recOn' does not depend on any axioms\n'LexLeanRuntime.Quotient' does not depend on any axioms\n'LexLeanRuntime.Quotient.casesOn' does not depend on any axioms\n'LexLeanRuntime.Quotient.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Quotient.isZero' does not depend on any axioms\n'LexLeanRuntime.Quotient.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Quotient.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Quotient.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Quotient.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Quotient.quotient' does not depend on any axioms\n'LexLeanRuntime.Quotient.recOn' does not depend on any axioms\n'LexLeanRuntime.Quotient.remainder' does not depend on any axioms\n'LexLeanRuntime.Sliceable' does not depend on any axioms\n'LexLeanRuntime.Sliceable.casesOn' does not depend on any axioms\n'LexLeanRuntime.Sliceable.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Sliceable.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Sliceable.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Sliceable.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Sliceable.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Sliceable.recOn' does not depend on any axioms\n'LexLeanRuntime.Sliceable.slice' does not depend on any axioms\n'LexLeanRuntime.ToMathInt' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.casesOn' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.noConfusion' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.recOn' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.toInt' does not depend on any axioms\n'LexLeanRuntime.append' does not depend on any axioms\n'LexLeanRuntime.bitAnd' does not depend on any axioms\n'LexLeanRuntime.bitNot' does not depend on any axioms\n'LexLeanRuntime.bitOr' does not depend on any axioms\n'LexLeanRuntime.bitXor' does not depend on any axioms\n'LexLeanRuntime.checkedAdd' does not depend on any axioms\n'LexLeanRuntime.checkedAddInt64' does not depend on any axioms\n'LexLeanRuntime.checkedConvert' does not depend on any axioms\n'LexLeanRuntime.checkedFromInt' does not depend on any axioms\n'LexLeanRuntime.checkedMultiply' does not depend on any axioms\n'LexLeanRuntime.checkedMultiplyInt64' does not depend on any axioms\n'LexLeanRuntime.checkedMultiplyInt64.match_1' does not depend on any axioms\n'LexLeanRuntime.checkedNegate' does not depend on any axioms\n'LexLeanRuntime.checkedNegateInt64' does not depend on any axioms\n'LexLeanRuntime.checkedQuotient' does not depend on any axioms\n'LexLeanRuntime.checkedQuotientInt64' does not depend on any axioms\n'LexLeanRuntime.checkedSubtract' does not depend on any axioms\n'LexLeanRuntime.checkedSubtractInt64' does not depend on any axioms\n'LexLeanRuntime.compareBytes' depends on axioms: [propext]\n'LexLeanRuntime.divideMagnitudeInt64' does not depend on any axioms\n'LexLeanRuntime.divideMagnitudeInt64._f' does not depend on any axioms\n'LexLeanRuntime.divideMagnitudeInt64._sunfold' does not depend on any axioms\n'LexLeanRuntime.divideMagnitudeInt64._unsafe_rec' does not depend on any axioms\n'LexLeanRuntime.divideMagnitudeInt64.match_1' does not depend on any axioms\n'LexLeanRuntime.equal' does not depend on any axioms\n'LexLeanRuntime.formatDecimal' does not depend on any axioms\n'LexLeanRuntime.index' does not depend on any axioms\n'LexLeanRuntime.instAppendableByteArray' does not depend on any axioms\n'LexLeanRuntime.instAppendableList' does not depend on any axioms\n'LexLeanRuntime.instDecimalInt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.instDecimalInt.match_1' does not depend on any axioms\n'LexLeanRuntime.instDecimalOfFixedOfToString' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.instFixedInt16' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedInt32' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedInt64' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedInt8' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedUInt16' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedUInt32' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedUInt64' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedUInt8' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instIndexableByteArrayUInt8' does not depend on any axioms\n'LexLeanRuntime.instIndexableList' does not depend on any axioms\n'LexLeanRuntime.instLengthableByteArray' does not depend on any axioms\n'LexLeanRuntime.instLengthableList' does not depend on any axioms\n'LexLeanRuntime.instLengthableString' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.instQuotientInt' does not depend on any axioms\n'LexLeanRuntime.instQuotientNat' does not depend on any axioms\n'LexLeanRuntime.instSliceableByteArray' does not depend on any axioms\n'LexLeanRuntime.instSliceableList' does not depend on any axioms\n'LexLeanRuntime.instToMathIntInt' does not depend on any axioms\n'LexLeanRuntime.join' depends on axioms: [propext]\n'LexLeanRuntime.length' does not depend on any axioms\n'LexLeanRuntime.listIndex' does not depend on any axioms\n'LexLeanRuntime.listIndex._f' does not depend on any axioms\n'LexLeanRuntime.listIndex._sunfold' does not depend on any axioms\n'LexLeanRuntime.listIndex._unsafe_rec' does not depend on any axioms\n'LexLeanRuntime.listIndex.match_1' does not depend on any axioms\n'LexLeanRuntime.magnitudeInt64' does not depend on any axioms\n'LexLeanRuntime.multiply' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64._f' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64._sunfold' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64._unsafe_rec' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64.match_1' does not depend on any axioms\n'LexLeanRuntime.negate' does not depend on any axioms\n'LexLeanRuntime.parseDecimal' does not depend on any axioms\n'LexLeanRuntime.quotient' does not depend on any axioms\n'LexLeanRuntime.remainder' does not depend on any axioms\n'LexLeanRuntime.shiftLeft' does not depend on any axioms\n'LexLeanRuntime.shiftRight' does not depend on any axioms\n'LexLeanRuntime.signedMagnitudeInt64' does not depend on any axioms\n'LexLeanRuntime.slice' does not depend on any axioms\n'LexLeanRuntime.splitExact' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.subtract' does not depend on any axioms\n'LexLeanRuntime.utf8Decode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.utf8Encode' does not depend on any axioms\n","stdout_sha256":"73fea1d9e9e9f0a2f1363b9f284eeeb9e434430e9fa910260b9526bad864641e","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Reasoning.lean b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Reasoning.lean new file mode 100644 index 000000000..1bd7ac1c1 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Reasoning.lean @@ -0,0 +1,48 @@ +module +import LexLeanRuntime.Reasoning +#print axioms LexLeanReasoning.All +#print axioms LexLeanReasoning.All.below +#print axioms LexLeanReasoning.All.below.casesOn +#print axioms LexLeanReasoning.All.brecOn +#print axioms LexLeanReasoning.All.casesOn +#print axioms LexLeanReasoning.All.recOn +#print axioms LexLeanReasoning.Complete +#print axioms LexLeanReasoning.Found +#print axioms LexLeanReasoning.Found.match_1 +#print axioms LexLeanReasoning.Preserves +#print axioms LexLeanReasoning.Reaches +#print axioms LexLeanReasoning.SearchOk +#print axioms LexLeanReasoning.Sound +#print axioms LexLeanReasoning.Star +#print axioms LexLeanReasoning.Star.below +#print axioms LexLeanReasoning.Star.below.casesOn +#print axioms LexLeanReasoning.Star.brecOn +#print axioms LexLeanReasoning.Star.casesOn +#print axioms LexLeanReasoning.Star.recOn +#print axioms LexLeanReasoning.allAppend +#print axioms LexLeanReasoning.allFold +#print axioms LexLeanReasoning.allHead +#print axioms LexLeanReasoning.allSingle +#print axioms LexLeanReasoning.allTail +#print axioms LexLeanReasoning.bltSucc +#print axioms LexLeanReasoning.capAll +#print axioms LexLeanReasoning.capBound +#print axioms LexLeanReasoning.checked +#print axioms LexLeanReasoning.foldInvariant +#print axioms LexLeanReasoning.foldSnoc +#print axioms LexLeanReasoning.freshAll +#print axioms LexLeanReasoning.guarded +#print axioms LexLeanReasoning.guardedRank +#print axioms LexLeanReasoning.iterateUntilBound +#print axioms LexLeanReasoning.iterateUntilCount +#print axioms LexLeanReasoning.iterateUntilGrowth +#print axioms LexLeanReasoning.iterateUntilInvariant +#print axioms LexLeanReasoning.iterateUntilSimulate +#print axioms LexLeanReasoning.iterateUntilStops +#print axioms LexLeanReasoning.lengthSnoc +#print axioms LexLeanReasoning.noneSome +#print axioms LexLeanReasoning.peakBound +#print axioms LexLeanReasoning.reachesStart +#print axioms LexLeanReasoning.searchStart +#print axioms LexLeanReasoning.starPreserves +#print axioms LexLeanReasoning.zeroLe diff --git a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Reasoning.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Reasoning.process.json new file mode 100644 index 000000000..5055cd65a --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Reasoning.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Reasoning.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanRuntime.Reasoning","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanReasoning.All' does not depend on any axioms\n'LexLeanReasoning.All.below' does not depend on any axioms\n'LexLeanReasoning.All.below.casesOn' does not depend on any axioms\n'LexLeanReasoning.All.brecOn' does not depend on any axioms\n'LexLeanReasoning.All.casesOn' does not depend on any axioms\n'LexLeanReasoning.All.recOn' does not depend on any axioms\n'LexLeanReasoning.Complete' does not depend on any axioms\n'LexLeanReasoning.Found' does not depend on any axioms\n'LexLeanReasoning.Found.match_1' does not depend on any axioms\n'LexLeanReasoning.Preserves' does not depend on any axioms\n'LexLeanReasoning.Reaches' does not depend on any axioms\n'LexLeanReasoning.SearchOk' does not depend on any axioms\n'LexLeanReasoning.Sound' does not depend on any axioms\n'LexLeanReasoning.Star' does not depend on any axioms\n'LexLeanReasoning.Star.below' does not depend on any axioms\n'LexLeanReasoning.Star.below.casesOn' does not depend on any axioms\n'LexLeanReasoning.Star.brecOn' does not depend on any axioms\n'LexLeanReasoning.Star.casesOn' does not depend on any axioms\n'LexLeanReasoning.Star.recOn' does not depend on any axioms\n'LexLeanReasoning.allAppend' does not depend on any axioms\n'LexLeanReasoning.allFold' does not depend on any axioms\n'LexLeanReasoning.allHead' does not depend on any axioms\n'LexLeanReasoning.allSingle' does not depend on any axioms\n'LexLeanReasoning.allTail' does not depend on any axioms\n'LexLeanReasoning.bltSucc' does not depend on any axioms\n'LexLeanReasoning.capAll' does not depend on any axioms\n'LexLeanReasoning.capBound' does not depend on any axioms\n'LexLeanReasoning.checked' does not depend on any axioms\n'LexLeanReasoning.foldInvariant' does not depend on any axioms\n'LexLeanReasoning.foldSnoc' does not depend on any axioms\n'LexLeanReasoning.freshAll' does not depend on any axioms\n'LexLeanReasoning.guarded' does not depend on any axioms\n'LexLeanReasoning.guardedRank' does not depend on any axioms\n'LexLeanReasoning.iterateUntilBound' does not depend on any axioms\n'LexLeanReasoning.iterateUntilCount' does not depend on any axioms\n'LexLeanReasoning.iterateUntilGrowth' does not depend on any axioms\n'LexLeanReasoning.iterateUntilInvariant' does not depend on any axioms\n'LexLeanReasoning.iterateUntilSimulate' does not depend on any axioms\n'LexLeanReasoning.iterateUntilStops' does not depend on any axioms\n'LexLeanReasoning.lengthSnoc' does not depend on any axioms\n'LexLeanReasoning.noneSome' does not depend on any axioms\n'LexLeanReasoning.peakBound' does not depend on any axioms\n'LexLeanReasoning.reachesStart' does not depend on any axioms\n'LexLeanReasoning.searchStart' does not depend on any axioms\n'LexLeanReasoning.starPreserves' does not depend on any axioms\n'LexLeanReasoning.zeroLe' does not depend on any axioms\n","stdout_sha256":"bcad061b4e8b3848b9d6815070631b4088a7b6b1512ab5c741c66c6dea825fee","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.BudgetOracle.lean b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.BudgetOracle.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.BudgetOracle.lean rename to compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.BudgetOracle.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.BudgetOracle.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.BudgetOracle.process.json new file mode 100644 index 000000000..11c54ab55 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.BudgetOracle.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.BudgetOracle.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.BudgetOracle","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.BudgetOracle.Burn.apply' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Burn.apply_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Burn.apply_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Burn.candidates' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Burn.conclusion' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Burn.guard' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Drained.sound' depends on axioms: [propext]\n'LexLeanTarget.BudgetOracle.Empty' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.Ledger' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.Run' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.Step' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.accept' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.accept_sound' depends on axioms: [propext]\n'LexLeanTarget.BudgetOracle.Refund.account' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.answer' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.attempts' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.conclude' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.conclude_accept' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.conclude_sound' depends on axioms: [propext]\n'LexLeanTarget.BudgetOracle.Refund.derivation' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Refund.explained' depends on axioms: [propext]\n'LexLeanTarget.BudgetOracle.Refund.extract' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.fire' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.fire_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Refund.firings_bounded' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.follow' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.iterations_bounded' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.next' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.next_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Refund.observe' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.replay' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.replay_fire' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.replay_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Refund.run' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.run_state' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.run_trace' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.saturate' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.saturate_derivation' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Refund.select' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.start' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.step' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.step_count' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.step_fired' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.step_none' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.step_some' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.step_trace' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.verdict' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.verdict_sound' depends on axioms: [propext]\n'LexLeanTarget.BudgetOracle.Remaining' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.Ledger' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.Run' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.Step' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.accept' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.accept_sound' depends on axioms: [propext]\n'LexLeanTarget.BudgetOracle.Spend.account' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.answer' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.attempts' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.conclude' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.conclude_accept' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.conclude_sound' depends on axioms: [propext]\n'LexLeanTarget.BudgetOracle.Spend.derivation' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Spend.explained' depends on axioms: [propext]\n'LexLeanTarget.BudgetOracle.Spend.extract' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.fire' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.fire_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Spend.fire_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Spend.firings_bounded' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.follow' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.iterations_bounded' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.next' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.next_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Spend.next_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Spend.observe' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.replay' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.replay_fire' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.replay_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Spend.run' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.run_state' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.run_trace' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.saturate' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.saturate_derivation' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Spend.saturates' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Spend.select' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.start' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.step' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.step_count' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.step_fired' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.step_none' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.step_some' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.step_trace' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.verdict' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.verdict_sound' depends on axioms: [propext]\n'LexLeanTarget.BudgetOracle.Spent' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Tick.apply' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Tick.apply_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Tick.apply_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Tick.conclusion' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Tick.guard' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.allowance_bound' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.burn_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.burn_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.emptyCheck' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.empty_sound' depends on axioms: [propext]\n'LexLeanTarget.BudgetOracle.tick_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.tick_sound' depends on axioms: [propext, Quot.sound]\n","stdout_sha256":"59007df9d3aac13b14aaf31eaed78191fe1dd3bed8cf0c08553de02edaf64988","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.Certification.lean b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Certification.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.Certification.lean rename to compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Certification.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Certification.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Certification.process.json new file mode 100644 index 000000000..9a0d0ccd9 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Certification.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Certification.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Certification","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.Certification.Bridge' does not depend on any axioms\n'LexLeanTarget.Certification.Certificate' does not depend on any axioms\n'LexLeanTarget.Certification.Certified' does not depend on any axioms\n'LexLeanTarget.Certification.Established' does not depend on any axioms\n'LexLeanTarget.Certification.Fact' does not depend on any axioms\n'LexLeanTarget.Certification.Obligation' does not depend on any axioms\n'LexLeanTarget.Certification.Premise' does not depend on any axioms\n'LexLeanTarget.Certification.Refusal' does not depend on any axioms\n'LexLeanTarget.Certification.Route' does not depend on any axioms\n'LexLeanTarget.Certification.Schema' does not depend on any axioms\n'LexLeanTarget.Certification.Verdict' does not depend on any axioms\n'LexLeanTarget.Certification.allBelow' does not depend on any axioms\n'LexLeanTarget.Certification.allLists' does not depend on any axioms\n'LexLeanTarget.Certification.allLong' does not depend on any axioms\n'LexLeanTarget.Certification.allShorter' does not depend on any axioms\n'LexLeanTarget.Certification.argumentStatus' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Certification.armIsolated' does not depend on any axioms\n'LexLeanTarget.Certification.armsIsolated' does not depend on any axioms\n'LexLeanTarget.Certification.ascending' does not depend on any axioms\n'LexLeanTarget.Certification.bridgePosition' does not depend on any axioms\n'LexLeanTarget.Certification.certificateReductionsPreserve' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Certification.cheaperObservation' does not depend on any axioms\n'LexLeanTarget.Certification.check' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Certification.claimShape' does not depend on any axioms\n'LexLeanTarget.Certification.eligible' does not depend on any axioms\n'LexLeanTarget.Certification.establishedFrom' does not depend on any axioms\n'LexLeanTarget.Certification.exprIsolated' does not depend on any axioms\n'LexLeanTarget.Certification.exprsIsolated' does not depend on any axioms\n'LexLeanTarget.Certification.factAt' does not depend on any axioms\n'LexLeanTarget.Certification.factRows' does not depend on any axioms\n'LexLeanTarget.Certification.factsOf' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Certification.firstSmaller' does not depend on any axioms\n'LexLeanTarget.Certification.frontierPosition' does not depend on any axioms\n'LexLeanTarget.Certification.frontierVerdict' does not depend on any axioms\n'LexLeanTarget.Certification.improves' does not depend on any axioms\n'LexLeanTarget.Certification.isList' does not depend on any axioms\n'LexLeanTarget.Certification.isLong' does not depend on any axioms\n'LexLeanTarget.Certification.isNormal' does not depend on any axioms\n'LexLeanTarget.Certification.isShorter' does not depend on any axioms\n'LexLeanTarget.Certification.keepsObservation' does not depend on any axioms\n'LexLeanTarget.Certification.lowerPosition' does not depend on any axioms\n'LexLeanTarget.Certification.lowerVerdict' does not depend on any axioms\n'LexLeanTarget.Certification.natAt' does not depend on any axioms\n'LexLeanTarget.Certification.normalityVerdict' does not depend on any axioms\n'LexLeanTarget.Certification.pairRelation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Certification.pickFrom' does not depend on any axioms\n'LexLeanTarget.Certification.plansIsolated' does not depend on any axioms\n'LexLeanTarget.Certification.positionOf' does not depend on any axioms\n'LexLeanTarget.Certification.premiseFact' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Certification.preserves' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Certification.reductionVerdict' does not depend on any axioms\n'LexLeanTarget.Certification.reductionsPreserve' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Certification.representationVerdict' does not depend on any axioms\n'LexLeanTarget.Certification.rewrite' does not depend on any axioms\n'LexLeanTarget.Certification.rowsOfMembers' does not depend on any axioms\n'LexLeanTarget.Certification.sameObjective' does not depend on any axioms\n'LexLeanTarget.Certification.sameObservations' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Certification.sameObservationsAt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Certification.sameScope' does not depend on any axioms\n'LexLeanTarget.Certification.scanBridge' does not depend on any axioms\n'LexLeanTarget.Certification.scanFrontier' does not depend on any axioms\n'LexLeanTarget.Certification.scanLower' does not depend on any axioms\n'LexLeanTarget.Certification.scanReduction' does not depend on any axioms\n'LexLeanTarget.Certification.selectorAt' does not depend on any axioms\n'LexLeanTarget.Certification.sizesOf' does not depend on any axioms\n'LexLeanTarget.Certification.staticCharge' does not depend on any axioms\n'LexLeanTarget.Certification.staticSize' does not depend on any axioms\n'LexLeanTarget.Certification.strictlyCheaper' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Certification.strictlyCheaperAt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Certification.valueAt' does not depend on any axioms\n","stdout_sha256":"80f2bb229260f7d797c445dfde090e98a616a384a81de5827faf42cb60c0213e","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.Gnaf.lean b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Gnaf.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.Gnaf.lean rename to compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Gnaf.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Gnaf.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Gnaf.process.json new file mode 100644 index 000000000..5b2765327 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Gnaf.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Gnaf.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Gnaf","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.Gnaf.Action' does not depend on any axioms\n'LexLeanTarget.Gnaf.ActionKind' does not depend on any axioms\n'LexLeanTarget.Gnaf.Answer' does not depend on any axioms\n'LexLeanTarget.Gnaf.Boundary' does not depend on any axioms\n'LexLeanTarget.Gnaf.Capacity' does not depend on any axioms\n'LexLeanTarget.Gnaf.Carrier' does not depend on any axioms\n'LexLeanTarget.Gnaf.Charge' does not depend on any axioms\n'LexLeanTarget.Gnaf.ClaimClass' does not depend on any axioms\n'LexLeanTarget.Gnaf.Completeness' does not depend on any axioms\n'LexLeanTarget.Gnaf.Grammar' does not depend on any axioms\n'LexLeanTarget.Gnaf.Machine' does not depend on any axioms\n'LexLeanTarget.Gnaf.Objective' does not depend on any axioms\n'LexLeanTarget.Gnaf.OperandSize' does not depend on any axioms\n'LexLeanTarget.Gnaf.Plan' does not depend on any axioms\n'LexLeanTarget.Gnaf.Prepared' does not depend on any axioms\n'LexLeanTarget.Gnaf.Rejection' does not depend on any axioms\n'LexLeanTarget.Gnaf.Request' does not depend on any axioms\n'LexLeanTarget.Gnaf.Scope' does not depend on any axioms\n'LexLeanTarget.Gnaf.Selector' does not depend on any axioms\n'LexLeanTarget.Gnaf.Status' does not depend on any axioms\n'LexLeanTarget.Gnaf.addNew' does not depend on any axioms\n'LexLeanTarget.Gnaf.admittedRows' does not depend on any axioms\n'LexLeanTarget.Gnaf.allIn' does not depend on any axioms\n'LexLeanTarget.Gnaf.andFalse' does not depend on any axioms\n'LexLeanTarget.Gnaf.andOverOr' does not depend on any axioms\n'LexLeanTarget.Gnaf.answer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Gnaf.anyBy' does not depend on any axioms\n'LexLeanTarget.Gnaf.anyUnresolved' does not depend on any axioms\n'LexLeanTarget.Gnaf.appendAll' does not depend on any axioms\n'LexLeanTarget.Gnaf.argmin' does not depend on any axioms\n'LexLeanTarget.Gnaf.armCallees' does not depend on any axioms\n'LexLeanTarget.Gnaf.armSize' does not depend on any axioms\n'LexLeanTarget.Gnaf.armsCallees' does not depend on any axioms\n'LexLeanTarget.Gnaf.armsSize' does not depend on any axioms\n'LexLeanTarget.Gnaf.arrivals' does not depend on any axioms\n'LexLeanTarget.Gnaf.attaining' does not depend on any axioms\n'LexLeanTarget.Gnaf.attains' does not depend on any axioms\n'LexLeanTarget.Gnaf.beqNext' does not depend on any axioms\n'LexLeanTarget.Gnaf.bltNext' does not depend on any axioms\n'LexLeanTarget.Gnaf.bltSucc' depends on axioms: [propext]\n'LexLeanTarget.Gnaf.calleesOf' does not depend on any axioms\n'LexLeanTarget.Gnaf.certifies' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Gnaf.certifiesArgmin' does not depend on any axioms\n'LexLeanTarget.Gnaf.certifiesFrontier' does not depend on any axioms\n'LexLeanTarget.Gnaf.chargeBeyond' does not depend on any axioms\n'LexLeanTarget.Gnaf.checkAllDeclared' does not depend on any axioms\n'LexLeanTarget.Gnaf.checkClaim' does not depend on any axioms\n'LexLeanTarget.Gnaf.checkDeclared' does not depend on any axioms\n'LexLeanTarget.Gnaf.checkDistinct' does not depend on any axioms\n'LexLeanTarget.Gnaf.checkKindsAccounted' does not depend on any axioms\n'LexLeanTarget.Gnaf.checkPerformed' does not depend on any axioms\n'LexLeanTarget.Gnaf.checkPlanPreparation' does not depend on any axioms\n'LexLeanTarget.Gnaf.checkPrepared' does not depend on any axioms\n'LexLeanTarget.Gnaf.closeOver' does not depend on any axioms\n'LexLeanTarget.Gnaf.componentwiseMinimum' does not depend on any axioms\n'LexLeanTarget.Gnaf.compositions' does not depend on any axioms\n'LexLeanTarget.Gnaf.countKind' does not depend on any axioms\n'LexLeanTarget.Gnaf.dispatchInFixed' depends on axioms: [propext]\n'LexLeanTarget.Gnaf.dispatchInOver' depends on axioms: [propext]\n'LexLeanTarget.Gnaf.dispatchInSmalls' depends on axioms: [propext]\n'LexLeanTarget.Gnaf.dispatchInThresholds' depends on axioms: [propext]\n'LexLeanTarget.Gnaf.dispatchOver' does not depend on any axioms\n'LexLeanTarget.Gnaf.dispatchSmalls' does not depend on any axioms\n'LexLeanTarget.Gnaf.dispatchThresholds' does not depend on any axioms\n'LexLeanTarget.Gnaf.dominatedIn' does not depend on any axioms\n'LexLeanTarget.Gnaf.dominates' does not depend on any axioms\n'LexLeanTarget.Gnaf.entryBody' does not depend on any axioms\n'LexLeanTarget.Gnaf.environmentRows' does not depend on any axioms\n'LexLeanTarget.Gnaf.evaluate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Gnaf.expand' does not depend on any axioms\n'LexLeanTarget.Gnaf.expandComplete' depends on axioms: [propext]\n'LexLeanTarget.Gnaf.exprCallees' does not depend on any axioms\n'LexLeanTarget.Gnaf.exprSize' does not depend on any axioms\n'LexLeanTarget.Gnaf.exprsCallees' does not depend on any axioms\n'LexLeanTarget.Gnaf.exprsSize' does not depend on any axioms\n'LexLeanTarget.Gnaf.extendAll' does not depend on any axioms\n'LexLeanTarget.Gnaf.extendWalk' does not depend on any axioms\n'LexLeanTarget.Gnaf.fairExpectation' does not depend on any axioms\n'LexLeanTarget.Gnaf.falseAnd' does not depend on any axioms\n'LexLeanTarget.Gnaf.falseOr' does not depend on any axioms\n'LexLeanTarget.Gnaf.findAction' does not depend on any axioms\n'LexLeanTarget.Gnaf.fixedInDispatch' depends on axioms: [propext]\n'LexLeanTarget.Gnaf.fixedInFixed' depends on axioms: [propext]\n'LexLeanTarget.Gnaf.fixedInOver' depends on axioms: [propext]\n'LexLeanTarget.Gnaf.fixedInSmalls' depends on axioms: [propext]\n'LexLeanTarget.Gnaf.fixedOver' does not depend on any axioms\n'LexLeanTarget.Gnaf.frontier' does not depend on any axioms\n'LexLeanTarget.Gnaf.frontierFrom' does not depend on any axioms\n'LexLeanTarget.Gnaf.functionAt' does not depend on any axioms\n'LexLeanTarget.Gnaf.hiddenBitCost' does not depend on any axioms\n'LexLeanTarget.Gnaf.kindIndex' does not depend on any axioms\n'LexLeanTarget.Gnaf.minimaAttained' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Gnaf.minimumFrom' does not depend on any axioms\n'LexLeanTarget.Gnaf.natIn' does not depend on any axioms\n'LexLeanTarget.Gnaf.natInAppend' depends on axioms: [propext]\n'LexLeanTarget.Gnaf.natInRange' depends on axioms: [propext]\n'LexLeanTarget.Gnaf.natSame' does not depend on any axioms\n'LexLeanTarget.Gnaf.normalize' does not depend on any axioms\n'LexLeanTarget.Gnaf.orAssociative' does not depend on any axioms\n'LexLeanTarget.Gnaf.orFalse' does not depend on any axioms\n'LexLeanTarget.Gnaf.orUnderAnd' does not depend on any axioms\n'LexLeanTarget.Gnaf.performed' does not depend on any axioms\n'LexLeanTarget.Gnaf.planAt' does not depend on any axioms\n'LexLeanTarget.Gnaf.planCharge' does not depend on any axioms\n'LexLeanTarget.Gnaf.planFunctions' does not depend on any axioms\n'LexLeanTarget.Gnaf.pointwiseMinimum' does not depend on any axioms\n'LexLeanTarget.Gnaf.preparation' does not depend on any axioms\n'LexLeanTarget.Gnaf.preparedFor' does not depend on any axioms\n'LexLeanTarget.Gnaf.range' does not depend on any axioms\n'LexLeanTarget.Gnaf.reachable' does not depend on any axioms\n'LexLeanTarget.Gnaf.reachableCharge' does not depend on any axioms\n'LexLeanTarget.Gnaf.reachableSize' does not depend on any axioms\n'LexLeanTarget.Gnaf.realize' does not depend on any axioms\n'LexLeanTarget.Gnaf.rej14ComponentwiseMinima' does not depend on any axioms\n'LexLeanTarget.Gnaf.rej14MinimaUnattained' does not depend on any axioms\n'LexLeanTarget.Gnaf.rej29FrontierOmission' does not depend on any axioms\n'LexLeanTarget.Gnaf.rewriteOnce' does not depend on any axioms\n'LexLeanTarget.Gnaf.sameIdsBy' does not depend on any axioms\n'LexLeanTarget.Gnaf.sameKind' does not depend on any axioms\n'LexLeanTarget.Gnaf.scalarMinimum' does not depend on any axioms\n'LexLeanTarget.Gnaf.scalarRows' does not depend on any axioms\n'LexLeanTarget.Gnaf.selectorEq' does not depend on any axioms\n'LexLeanTarget.Gnaf.selectorIn' does not depend on any axioms\n'LexLeanTarget.Gnaf.selectorInAppend' depends on axioms: [propext]\n'LexLeanTarget.Gnaf.status' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Gnaf.statusOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Gnaf.statuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Gnaf.statusesOf' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Gnaf.uniformRows' does not depend on any axioms\n'LexLeanTarget.Gnaf.unitCharge' does not depend on any axioms\n'LexLeanTarget.Gnaf.universeOf' does not depend on any axioms\n'LexLeanTarget.Gnaf.validate' does not depend on any axioms\n'LexLeanTarget.Gnaf.valueEq' does not depend on any axioms\n'LexLeanTarget.Gnaf.valuesEq' does not depend on any axioms\n'LexLeanTarget.Gnaf.vec01CertificateHolds' does not depend on any axioms\n'LexLeanTarget.Gnaf.vec01CertificateInvalidated' does not depend on any axioms\n'LexLeanTarget.Gnaf.vec01Extension' does not depend on any axioms\n'LexLeanTarget.Gnaf.vec01Optimum' does not depend on any axioms\n'LexLeanTarget.Gnaf.vec02Frontier' does not depend on any axioms\n'LexLeanTarget.Gnaf.vec04GlobalMinimumIsC' does not depend on any axioms\n'LexLeanTarget.Gnaf.vec04NormalFormIsB' does not depend on any axioms\n'LexLeanTarget.Gnaf.vec04NormalFormRefused' does not depend on any axioms\n'LexLeanTarget.Gnaf.vec17EnvelopeAtOne' does not depend on any axioms\n'LexLeanTarget.Gnaf.vec17EnvelopeAtZero' does not depend on any axioms\n'LexLeanTarget.Gnaf.vec17FairExpectationAtOne' does not depend on any axioms\n'LexLeanTarget.Gnaf.vec17FairExpectationAtZero' does not depend on any axioms\n'LexLeanTarget.Gnaf.vec17PointwiseValueRefused' does not depend on any axioms\n'LexLeanTarget.Gnaf.vec17UniformWorstCase' does not depend on any axioms\n'LexLeanTarget.Gnaf.vectorEq' does not depend on any axioms\n'LexLeanTarget.Gnaf.weaklyBelow' does not depend on any axioms\n'LexLeanTarget.Gnaf.wellFormed' does not depend on any axioms\n'LexLeanTarget.Gnaf.worstCase' does not depend on any axioms\n","stdout_sha256":"1331df9e3d4bee88e89d70ef6b406f01870c0b8da40a372fd990d013ddc52447","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.GnafCertificates.lean b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GnafCertificates.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.GnafCertificates.lean rename to compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GnafCertificates.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GnafCertificates.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GnafCertificates.process.json new file mode 100644 index 000000000..b9a4fb647 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GnafCertificates.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GnafCertificates.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GnafCertificates","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.GnafCertificates.argminOverSystemsPair0x0Cheaper' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.argminOverSystemsPair0x0Keeps' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.argminOverSystemsPair2x0Cheaper' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.argminOverSystemsPair2x0Keeps' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.bridgeAttainedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.bridgeAttainedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.bridgeMissingCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.bridgeMissingVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.bridgeNotMinimalCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.bridgeNotMinimalVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.bridgeOutOfRangeCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.bridgeOutOfRangeVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.bridgeReducedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.bridgeReducedPreserves' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.bridgeReducedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.bridgeUnattainedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.bridgeUnattainedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.bridgeUnprovenCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.bridgeUnprovenVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.bridgeUnresolvedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.bridgeUnresolvedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.bridgeViolatedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.bridgeViolatedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.claimMismatchCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.claimMismatchVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.frontierDominatedMemberCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.frontierDominatedMemberVerdict' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.frontierMemberAtCountCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.frontierMemberAtCountVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.frontierMemberOmittedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.frontierMemberOmittedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.frontierMemberUnprovenCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.frontierMemberUnprovenVerdict' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.frontierMembersUnorderedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.frontierMembersUnorderedVerdict' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.frontierNonmemberUnprovenCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.frontierNonmemberUnprovenVerdict' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.frontierParetoOptimalCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.frontierParetoOptimalVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.frontierPremiseWeakenedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.frontierPremiseWeakenedVerdict' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.frontierTieCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.frontierTieDroppedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.frontierTieDroppedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.frontierTieVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.frontierUnresolvedMemberCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.frontierUnresolvedMemberVerdict' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.frontierUnresolvedNonmemberCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.frontierUnresolvedNonmemberVerdict' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.frontierVec02Certificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.frontierVec02Verdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.inadmissiblePlanExcludedPair0x0Cheaper' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.inadmissiblePlanExcludedPair0x0Keeps' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.inadmissiblePlanExcludedPair0x1Cheaper' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.inadmissiblePlanExcludedPair0x1Keeps' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.inadmissiblePlanExcludedPair2x0Cheaper' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.inadmissiblePlanExcludedPair2x0Keeps' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.internalBestOnShortListsPair0x0Cheaper' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.internalBestOnShortListsPair0x0Keeps' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.internalBestOnShortListsPair1x0Cheaper' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.internalBestOnShortListsPair1x0Keeps' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.lbArgminCompleteCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbArgminCompleteVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbArgminMeasuredCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbArgminMeasuredVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbArgminOverSystemsCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbArgminOverSystemsVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbArgminTieCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbArgminTieVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbAttainerAtCountCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbAttainerAtCountVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbAttainerBoundedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbAttainerBoundedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbAttainerOutOfRangeCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbAttainerOutOfRangeVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbAttainersUnorderedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbAttainersUnorderedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbDivergingPlanCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbDivergingPlanVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbExcludedAdmittedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbExcludedAdmittedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbExcludedAtLengthCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbExcludedAtLengthVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbExcludedUnresolvedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbExcludedUnresolvedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbExtraPremiseCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbExtraPremiseVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbInfeasibleAttainerCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbInfeasibleAttainerVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbNoAttainerCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbNoAttainerVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbOptimumTieMeasuredCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbOptimumTieMeasuredVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbOverUnresolvedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbOverUnresolvedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbPaysInadmissiblePrefixCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbPaysInadmissiblePrefixVerdict' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.lbPositionOutOfDomainCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbPositionOutOfDomainVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbPositionsRepeatedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbPositionsRepeatedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbPremiseOmittedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbPremiseOmittedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbPremiseWeakenedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbPremiseWeakenedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbPreparationChargedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbPreparationChargedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbTieBoundedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbTieBoundedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbTieDroppedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbTieDroppedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbUnattainedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbUnattainedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbUndercutCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbUndercutVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbUnresolvedMeasuredCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbUnresolvedMeasuredVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbUnresolvedUnboundedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbUnresolvedUnboundedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.normalClaimedGlobalCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.normalClaimedGlobalVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.normalNotGlobalCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.normalNotGlobalVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.normalityImprovableCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.normalityImprovableVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.normalityOptimumCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.normalityOptimumVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.objectiveMismatchCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.objectiveMismatchVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionCollapseDistinctCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.reductionCollapseDistinctPreserves' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionCollapseDistinctVerdict' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionIncompleteCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.reductionIncompletePreserves' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionIncompleteVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionIneligibleCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.reductionIneligiblePreserves' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionIneligibleVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionMixedDomainCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.reductionMixedDomainPreserves' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionMixedDomainVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionOverUnresolvedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.reductionOverUnresolvedVerdict' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionParetoCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.reductionParetoVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionShortListsCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.reductionShortListsPreserves' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionShortListsVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionSmallAtThresholdCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.reductionSmallAtThresholdPreserves' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionSmallAtThresholdVerdict' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionThresholdEdgeCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.reductionThresholdEdgePreserves' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionThresholdEdgeVerdict' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.requestRejectedCachedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.requestRejectedCachedPreserves' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.requestRejectedCachedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.requestRejectedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.requestRejectedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.reusedEnlargedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.reusedEnlargedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.routeIncompatibleCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.routeIncompatibleVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.routeLowerBoundParetoCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.routeLowerBoundParetoVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.scopeMismatchCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.scopeMismatchVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.thresholdEdgePair0x0Cheaper' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.thresholdEdgePair0x0Keeps' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.thresholdEdgePair1x0Cheaper' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.thresholdEdgePair1x0Keeps' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.verifierMismatchCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.verifierMismatchVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n","stdout_sha256":"71d56f58daf3ebbc941b59ce5953be0e2d87a70a3d394ccbec6873c2bfc11058","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.GnafFixtures.lean b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GnafFixtures.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.GnafFixtures.lean rename to compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GnafFixtures.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GnafFixtures.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GnafFixtures.process.json new file mode 100644 index 000000000..913638a33 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GnafFixtures.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GnafFixtures.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GnafFixtures","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.GnafFixtures.argminCompleteAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.argminCompleteRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.argminCompleteStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.argminCompleteUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.argminOverSystemsAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.argminOverSystemsRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.argminOverSystemsStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.argminOverSystemsUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.argminTieAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.argminTieRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.argminTieStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.argminTieUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.boundOverUnresolvedAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.boundOverUnresolvedRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.boundOverUnresolvedStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.boundOverUnresolvedUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.bridgeStraightLineAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.bridgeStraightLineRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.bridgeStraightLineStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.bridgeStraightLineUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.frontierIncomparableAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.frontierIncomparableRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.frontierIncomparableStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.frontierIncomparableUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.frontierOverUnresolvedAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.frontierOverUnresolvedRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.frontierOverUnresolvedStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.frontierOverUnresolvedUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.frontierParetoOptimalAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.frontierParetoOptimalRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.frontierParetoOptimalStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.frontierParetoOptimalUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.frontierTieAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.frontierTieRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.frontierTieStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.frontierTieUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.inadmissiblePlanExcludedAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.inadmissiblePlanExcludedRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.inadmissiblePlanExcludedStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.inadmissiblePlanExcludedUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.infeasibleUniverseAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.infeasibleUniverseRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.infeasibleUniverseStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.infeasibleUniverseUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.internalBestOnLongListsAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.internalBestOnLongListsRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.internalBestOnLongListsStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.internalBestOnLongListsUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.internalBestOnShortListsAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.internalBestOnShortListsRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.internalBestOnShortListsStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.internalBestOnShortListsUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.optimumOverUnresolvedAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.optimumOverUnresolvedRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.optimumOverUnresolvedStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.optimumOverUnresolvedUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.optimumTieAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.optimumTieRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.optimumTieStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.optimumTieUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.preparationChargedAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.preparationChargedRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.preparationChargedStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.preparationChargedUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.preparationCommonPlanAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.preparationCommonPlanRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.preparationCommonPlanStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.preparationCommonPlanUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.preparationCommonStateAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.preparationCommonStateRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.preparationCommonStateStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.preparationCommonStateUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.reasoningArgminAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.reasoningArgminRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.reasoningArgminStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.reasoningArgminUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.reasoningFrontierAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.reasoningFrontierRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.reasoningFrontierStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.reasoningFrontierUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectBeyondCapacityAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectBeyondCapacityRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectBeyondCapacityUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectCachedUniverseAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectCachedUniverseRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectCachedUniverseUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectCalculusProgramScopeAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectCalculusProgramScopeRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectCalculusProgramScopeUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectCommunicationAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectCommunicationRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectCommunicationUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectConstantCostFallbackAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectConstantCostFallbackRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectConstantCostFallbackUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectDiscoveredUniverseAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectDiscoveredUniverseRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectDiscoveredUniverseUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectDuplicateActionAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectDuplicateActionRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectDuplicateActionUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectEmptyDomainAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectEmptyDomainRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectEmptyDomainUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectFreeObservationAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectFreeObservationRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectFreeObservationUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectFreePreprocessingCompleteBoundaryAnswer' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectFreePreprocessingCompleteBoundaryRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectFreePreprocessingCompleteBoundaryUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectInstanceOptimalClaimAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectInstanceOptimalClaimRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectInstanceOptimalClaimUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectInternalPlanUniverseAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectInternalPlanUniverseRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectInternalPlanUniverseUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectMissingCompletenessAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectMissingCompletenessRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectMissingCompletenessUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectOptimizerCompletenessAnswer' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectOptimizerCompletenessRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectOptimizerCompletenessUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectOptimizerDefinedUniverseAnswer' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectOptimizerDefinedUniverseRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectOptimizerDefinedUniverseUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectProfileDefinedComparisonClaimAnswer' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectProfileDefinedComparisonClaimRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectProfileDefinedComparisonClaimUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectRandomnessAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectRandomnessRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectRandomnessUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectReasoningDiscoveredUniverseAnswer' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectReasoningDiscoveredUniverseRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectReasoningDiscoveredUniverseUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectReasoningFreeSearchAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectReasoningFreeSearchRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectReasoningFreeSearchUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectRestrictedUniverseAliasAnswer' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectRestrictedUniverseAliasRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectRestrictedUniverseAliasUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectRustProgramScopeAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectRustProgramScopeRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectRustProgramScopeUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectScalarClaimPartialOrderAnswer' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectScalarClaimPartialOrderRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectScalarClaimPartialOrderUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectSchedulingAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectSchedulingRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectSchedulingUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectSelfReferentialCompletenessAnswer' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectSelfReferentialCompletenessRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectSelfReferentialCompletenessUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectStepChargedAdviceAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectStepChargedAdviceRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectStepChargedAdviceUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectStrayPreparedArtifactAnswer' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectStrayPreparedArtifactRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectStrayPreparedArtifactUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectUnaccountedDispatchAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectUnaccountedDispatchRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectUnaccountedDispatchUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectUnaccountedPlanPreparationAnswer' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectUnaccountedPlanPreparationRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectUnaccountedPlanPreparationUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectUnboundPreparedStateAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectUnboundPreparedStateRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectUnboundPreparedStateUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectUndeclaredExecutionAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectUndeclaredExecutionRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectUndeclaredExecutionUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectUndeclaredRetainedStateAnswer' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectUndeclaredRetainedStateRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectUndeclaredRetainedStateUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectUnitCostOperandsAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectUnitCostOperandsRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectUnitCostOperandsUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectUnsupportedClaimAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectUnsupportedClaimRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectUnsupportedClaimUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectVectorClaimTotalOrderAnswer' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectVectorClaimTotalOrderRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectVectorClaimTotalOrderUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectZeroCostDispatchAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectZeroCostDispatchRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectZeroCostDispatchUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectZeroCostPreprocessingAnswer' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectZeroCostPreprocessingRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectZeroCostPreprocessingUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.thresholdEdgeAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.thresholdEdgeRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.thresholdEdgeStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.thresholdEdgeUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.unknownCostIncompleteAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.unknownCostIncompleteRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.unknownCostIncompleteStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.unknownCostIncompleteUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.vec02ParetoEnvelopeAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.vec02ParetoEnvelopeCertified' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.vec02ParetoEnvelopeMinimaUnattained' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafFixtures.vec02ParetoEnvelopeOmits0' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.vec02ParetoEnvelopeOmits1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.vec02ParetoEnvelopeOmits2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.vec02ParetoEnvelopeRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.vec02ParetoEnvelopeStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.vec02ParetoEnvelopeUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.vec08EnlargedAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.vec08EnlargedRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.vec08EnlargedStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.vec08EnlargedUniverse' does not depend on any axioms\n","stdout_sha256":"e81a8012148d7879e88bf0122728eaf3bc463a9dc405d7de812313e48575f9fc","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.GradeOracle.lean b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GradeOracle.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.GradeOracle.lean rename to compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GradeOracle.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GradeOracle.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GradeOracle.process.json new file mode 100644 index 000000000..d4bc9ef97 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GradeOracle.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GradeOracle.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.GradeOracle","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.GradeOracle.Grade' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.Ledger' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.Run' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.Step' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.accept' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.accept_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.account' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.answer' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.attempts' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.conclude' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.conclude_accept' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.conclude_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.explained' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.extract' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.fire' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.fire_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.firings_bounded' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.follow' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.follow_relation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.iterations_bounded' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.next' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.next_preserves' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.next_preserves_relation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.next_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.next_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.observe' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.replay' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.replay_fire' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.run' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.run_relation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.run_state' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.run_trace' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.saturate' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.saturate_derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.saturate_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.saturate_relation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.saturates' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.select' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.start' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.step' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.step_count' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.step_fired' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.step_none' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.step_some' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.step_trace' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.verdict' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.verdict_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Graded' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Related' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Scale.sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.grade_admitted' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.grade_correct' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.grade_pending' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.GradeOracle.gradedCheck' does not depend on any axioms\n'LexLeanTarget.GradeOracle.graded_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.related_admitted' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.related_preserved' depends on axioms: [propext, Classical.choice, Quot.sound]\n","stdout_sha256":"41e26d5b11d5016c3ee787bc19434a0752cf8d9139e8c67bcd737479a87622e5","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.Main.lean b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Main.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.Main.lean rename to compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Main.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Main.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Main.process.json new file mode 100644 index 000000000..69f08bd95 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Main.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.Main","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.Main.emptyProgram' does not depend on any axioms\n","stdout_sha256":"7d2326f4d7e78d1f284ea2efd07b36431427f867a86f0aed74877f3834844c2d","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.PlannerOracle.lean b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.PlannerOracle.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.PlannerOracle.lean rename to compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.PlannerOracle.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.PlannerOracle.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.PlannerOracle.process.json new file mode 100644 index 000000000..486d0b660 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.PlannerOracle.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.PlannerOracle.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.PlannerOracle","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.PlannerOracle.Anywhere.sound' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.EmptyB.apply' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.EmptyB.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.EmptyB.conclusion' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.EmptyB.guard' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.FillA.apply' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.FillA.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.FillA.conclusion' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.FillA.guard' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Fits' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Held' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Inside.sound' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Measured.sound' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Measures' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Moves' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.EmptyB.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.EmptyB.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.FillA.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.FillA.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.Ledger' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.Node' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.Pour.collect' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.Pour.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.Pour.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.Search' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.Step' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.accept' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.accept_sound' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.answer' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.attempts' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.Plan.expansions_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.explained' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.extend' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.extract' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.failure' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.fire' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.Plan.follow' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.Plan.fresh' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.fresh_ok' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.frontier_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.iterations_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.observe' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.replay' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.replay_fire' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.Plan.run' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.searchStep' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.search_count' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.search_expanded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.search_ok' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.search_peak' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.search_step' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.search_verify_growth' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.start' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.verdict' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.verdict_sound' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.verifications_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.EmptyB.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.EmptyB.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.FillA.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.FillA.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.Ledger' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.Node' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.Pour.collect' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.Pour.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.Pour.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.Search' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.Step' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.accept' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.accept_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFit.answer' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.attempts' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFit.expansions_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.explained' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFit.extend' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.extract' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.failure' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.fire' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFit.follow' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFit.fresh' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.fresh_ok' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.frontier_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.iterations_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.observe' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.replay' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.replay_fire' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFit.run' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.searchStep' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.search_count' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.search_expanded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.search_ok' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.search_peak' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.search_step' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.search_verify_growth' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.start' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.verdict' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.verdict_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFit.verifications_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.EmptyB.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.EmptyB.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.FillA.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.FillA.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.Ledger' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.Node' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.Pour.collect' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.Pour.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.Pour.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.Search' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.Step' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.accept' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.accept_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitR.answer' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.attempts' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitR.expansions_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.explained' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitR.extend' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.extract' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.failure' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.fire' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitR.follow' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitR.follow_relation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitR.fresh' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.fresh_ok' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.frontier_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.iterations_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.observe' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.replay' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.replay_fire' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitR.run' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.searchStep' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.search_count' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.search_expanded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.search_ok' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.search_peak' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.search_step' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.search_verify_growth' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.start' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.verdict' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.verdict_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitR.verifications_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.EmptyB.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.EmptyB.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.FillA.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.FillA.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.Ledger' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.Node' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.Pour.collect' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.Pour.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.Pour.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.Search' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.Step' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.accept' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.accept_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitU.answer' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.attempts' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitU.expansions_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.explained' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitU.extend' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.extract' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.failure' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.fire' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitU.follow' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitU.fresh' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.fresh_ok' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.frontier_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.iterations_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.observe' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.replay' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.replay_fire' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitU.run' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.searchStep' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.search_count' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.search_expanded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.search_ok' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.search_peak' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.search_step' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.search_verify_growth' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.start' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.verdict' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.verdict_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitU.verifications_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Pour.apply' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Pour.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.Pour.candidates' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Pour.conclusion' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Pour.guard' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Pouring.preserves' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Whole' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Within' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.empty_jugs_fit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.emptyb_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.filla_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.fits_kept' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.held_initial' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.held_preserved' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.measuresCheck' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.measures_sound' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.plan_fit_correct' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.PlannerOracle.plan_held_correct' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.PlannerOracle.plan_whole_correct' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.PlannerOracle.pour_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.wholeCheck' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.whole_sound' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.withinCheck' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.within_sound' depends on axioms: [propext]\n","stdout_sha256":"0758e97b7a8f57ecef82cca97e2d440e8ff64d83b29d17bef960473b67dec2b7","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.ReasoningFixtures.lean b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ReasoningFixtures.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.ReasoningFixtures.lean rename to compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ReasoningFixtures.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ReasoningFixtures.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ReasoningFixtures.process.json new file mode 100644 index 000000000..d3e33a8e0 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ReasoningFixtures.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ReasoningFixtures.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ReasoningFixtures","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.ReasoningFixtures.encodeDoseSteps' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.encodeDoseStepsOne' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.encodeFailure' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.encodePlanSteps' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.encodePlanStepsOne' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.encodeScreenSteps' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.encodeScreenStepsOne' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.encodeTriageStep' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.encodeTriageSteps' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningDose120Agrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningDose120Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningDose120Program' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningDose120Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningDose60Agrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningDose60Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningDose60Program' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningDose60Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGnafGoalAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGnafGoalOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGnafGoalProgram' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningGnafGoalRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGnafPriorityAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGnafPriorityOutcome' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGnafPriorityProgram' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningGnafPriorityRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGnafSweepAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGnafSweepOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGnafSweepProgram' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningGnafSweepRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGradeShockAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGradeShockOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGradeShockProgram' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningGradeShockRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGradeWellAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGradeWellOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGradeWellProgram' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningGradeWellRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningPlan2Agrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningPlan2Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningPlan2Program' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningPlan2Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningPlan5Agrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningPlan5Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningPlan5Program' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningPlan5Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningReviewExhaustedAgrees' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningReviewExhaustedOutcome' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningReviewExhaustedProgram' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningReviewExhaustedRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningReviewRejectedAgrees' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningReviewRejectedOutcome' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningReviewRejectedProgram' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningReviewRejectedRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningScreen0Agrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningScreen0Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningScreen0Program' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningScreen0Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningScreen100Agrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningScreen100Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningScreen100Program' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningScreen100Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningScreen60Agrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningScreen60Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningScreen60Program' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningScreen60Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningSpend2Agrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningSpend2Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningSpend2Program' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningSpend2Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningTriageShockAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningTriageShockOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningTriageShockProgram' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningTriageShockRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningTriageTracedAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningTriageTracedOutcome' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningTriageTracedProgram' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningTriageTracedRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningTriageWellAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningTriageWellOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningTriageWellProgram' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningTriageWellRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n","stdout_sha256":"1de37e5613059ad2366b5f16de757528c552aa5af91db58ab847229eab7edaef","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.ReasoningOracle.lean b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ReasoningOracle.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.ReasoningOracle.lean rename to compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ReasoningOracle.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ReasoningOracle.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ReasoningOracle.process.json new file mode 100644 index 000000000..8d4721c5c --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ReasoningOracle.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ReasoningOracle.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ReasoningOracle","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.ReasoningOracle.Chart' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Consistent' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Discharged' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Escalate.apply' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Escalate.apply_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Escalate.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Escalate.conclusion' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Escalate.guard' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Febrile' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Fever.apply' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Fever.apply_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Fever.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Fever.conclusion' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Fever.guard' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Findings.preserves' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Hypotensive' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Indicated' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Justified' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Leukocytic' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Leukocytosis.apply' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Leukocytosis.apply_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Leukocytosis.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Leukocytosis.conclusion' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Leukocytosis.guard' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Outpatient.sound' depends on axioms: [propext]\n'LexLeanTarget.ReasoningOracle.Pending' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Recommendation.complete' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Recommendation.sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Review' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.Ledger' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.Run' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.Step' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.accept' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.accept_sound' depends on axioms: [propext]\n'LexLeanTarget.ReasoningOracle.Review.account' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.answer' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.attempts' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.conclude' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.conclude_accept' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.conclude_sound' depends on axioms: [propext]\n'LexLeanTarget.ReasoningOracle.Review.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Review.explained' depends on axioms: [propext]\n'LexLeanTarget.ReasoningOracle.Review.extract' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.fire' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Review.firings_bounded' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.follow' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Review.iterations_bounded' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.next' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.next_preserves' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Review.next_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Review.observe' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.replay' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.replay_fire' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Review.run' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.run_state' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.run_trace' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.saturate' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.saturate_derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Review.saturate_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Review.select' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.start' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.step' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.step_count' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.step_fired' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.step_none' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.step_some' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.step_trace' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.verdict' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.verdict_sound' depends on axioms: [propext]\n'LexLeanTarget.ReasoningOracle.Sepsis.apply' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Sepsis.apply_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Sepsis.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Sepsis.conclusion' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Sepsis.guard' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Shock.apply' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Shock.apply_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Shock.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Shock.conclusion' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Shock.guard' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Sirs.apply' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Sirs.apply_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Sirs.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Sirs.conclusion' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Sirs.guard' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Tachycardia.apply' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Tachycardia.apply_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Tachycardia.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Tachycardia.conclusion' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Tachycardia.guard' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Tachycardic' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Tachypnea.apply' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Tachypnea.apply_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Tachypnea.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Tachypnea.conclusion' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Tachypnea.guard' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Tachypneic' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.Ledger' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.Run' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.Step' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.accept' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.accept_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Triage.account' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.answer' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.attempts' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.conclude' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.conclude_accept' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.conclude_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Triage.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Triage.explained' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Triage.extract' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.fire' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.fire_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Triage.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Triage.firings_bounded' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.follow' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Triage.iterations_bounded' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.next' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.next_preserves' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Triage.next_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Triage.next_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Triage.observe' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.replay' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.replay_fire' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Triage.run' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.run_state' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.run_trace' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.saturate' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.saturate_derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Triage.saturate_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Triage.saturates' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Triage.select' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.start' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.step' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.step_count' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.step_fired' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.step_none' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.step_some' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.step_trace' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.verdict' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.verdict_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Vitals' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Warranted' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.admitted_consistent' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.admitted_pending' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.consistent_preserved' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.dischargeCheck' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.discharge_sound' depends on axioms: [propext]\n'LexLeanTarget.ReasoningOracle.escalate_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.escalate_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.fever_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.fever_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.feverish' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.hypotensive' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.leukocytic' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.leukocytosis_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.leukocytosis_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.recommendationCheck' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.recommendation_complete' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.recommendation_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.sepsis_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.sepsis_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.shock_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.shock_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.sirs_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.sirs_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.tachycardia_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.tachycardia_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.tachycardic' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.tachypnea_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.tachypnea_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.tachypneic' does not depend on any axioms\n","stdout_sha256":"6379b45e287b8ba78784669ac39cab6f41ad650597c513813a6a806f7cd9a16a","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.RustSemantics.lean b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.RustSemantics.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.RustSemantics.lean rename to compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.RustSemantics.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.RustSemantics.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.RustSemantics.process.json new file mode 100644 index 000000000..fb1ac440d --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.RustSemantics.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.RustSemantics.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.RustSemantics","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.RustSemantics.ROutcome' does not depend on any axioms\n'LexLeanTarget.RustSemantics.ROutcomes' does not depend on any axioms\n'LexLeanTarget.RustSemantics.allWidth' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns' does not depend on any axioms\n'LexLeanTarget.RustSemantics.constructValue' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched' does not depend on any axioms\n'LexLeanTarget.RustSemantics.eval' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.fallibleType' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findArm' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findFunction' does not depend on any axioms\n'LexLeanTarget.RustSemantics.finished' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth' does not depend on any axioms\n'LexLeanTarget.RustSemantics.invoke' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.isBytes' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemAccepts' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemShifts' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber' does not depend on any axioms\n'LexLeanTarget.RustSemantics.literal' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.lookup' does not depend on any axioms\n'LexLeanTarget.RustSemantics.patternsOf' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated' does not depend on any axioms\n'LexLeanTarget.RustSemantics.returned' does not depend on any axioms\n'LexLeanTarget.RustSemantics.runExport' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.runItem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.sameIdent' does not depend on any axioms\n'LexLeanTarget.RustSemantics.widened' does not depend on any axioms\n","stdout_sha256":"c4a74f7df92c28739cb1b581e499298ce1763d48d3d86b5e835853a86cf5a339","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.RustSyntax.lean b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.RustSyntax.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.RustSyntax.lean rename to compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.RustSyntax.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.RustSyntax.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.RustSyntax.process.json new file mode 100644 index 000000000..6ccf43003 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.RustSyntax.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.RustSyntax.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.RustSyntax","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.RustSyntax.Arm' does not depend on any axioms\n'LexLeanTarget.RustSyntax.Block' does not depend on any axioms\n'LexLeanTarget.RustSyntax.Callee' does not depend on any axioms\n'LexLeanTarget.RustSyntax.CaptureRead' does not depend on any axioms\n'LexLeanTarget.RustSyntax.Crate' does not depend on any axioms\n'LexLeanTarget.RustSyntax.Ctor' does not depend on any axioms\n'LexLeanTarget.RustSyntax.Dispatch' does not depend on any axioms\n'LexLeanTarget.RustSyntax.Expr' does not depend on any axioms\n'LexLeanTarget.RustSyntax.Ident' does not depend on any axioms\n'LexLeanTarget.RustSyntax.IdentKind' does not depend on any axioms\n'LexLeanTarget.RustSyntax.Item' does not depend on any axioms\n'LexLeanTarget.RustSyntax.ItemDef' does not depend on any axioms\n'LexLeanTarget.RustSyntax.Let' does not depend on any axioms\n'LexLeanTarget.RustSyntax.Lit' does not depend on any axioms\n'LexLeanTarget.RustSyntax.Parameter' does not depend on any axioms\n'LexLeanTarget.RustSyntax.Pat' does not depend on any axioms\n'LexLeanTarget.RustSyntax.Profile' does not depend on any axioms\n'LexLeanTarget.RustSyntax.RustType' does not depend on any axioms\n'LexLeanTarget.RustSyntax.Variant' does not depend on any axioms\n","stdout_sha256":"340586ca755a53bbd0e772cc6bb0bd43c7dc6e45a64449a50df424ff1ad72629","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.ScreeningOracle.lean b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ScreeningOracle.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.ScreeningOracle.lean rename to compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ScreeningOracle.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ScreeningOracle.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ScreeningOracle.process.json new file mode 100644 index 000000000..ca18267e3 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ScreeningOracle.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ScreeningOracle.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.ScreeningOracle","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.ScreeningOracle.Dose' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Dose.Ledger' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Dose.Step' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Dose.Trial' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Dose.answer' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Dose.candidates' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Dose.explained' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.Dose.failure' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Dose.run' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Dose.run_sound' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.Dose.try' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Dose.try_count' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Dose.try_sound' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.Dose.verdict' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Dose.verdict_sound' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.Dose.verifications_bounded' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Dose.verify' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Dose.verify_sound' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.DoseCandidates' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.DoseContract.postcondition_sound' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.DoseModel' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Propose.apply' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Propose.apply_sound' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.Propose.candidates' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Propose.conclusion' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Propose.guard' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Proposed' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Safe' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.SafeDose.sound' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.Screen' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.Ledger' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.Node' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.Propose.collect' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.Propose.successors' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.Propose.successors_ok' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.Search' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.Step' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.accept' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.accept_sound' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.Screen.answer' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.attempts' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.derivation' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.Screen.expansions_bounded' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.explained' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.Screen.extend' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.extract' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.failure' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.fire' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.fire_sound' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.Screen.follow' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.frontier_bounded' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.iterations_bounded' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.observe' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.replay' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.replay_fire' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.replay_sound' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.Screen.run' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.searchStep' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.search_count' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.search_expanded' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.search_ok' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.search_peak' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.search_step' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.search_verify_growth' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.start' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.successors' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.successors_ok' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.verdict' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.verdict_sound' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.Screen.verifications_bounded' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Short' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.propose_sound' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.safeCheck' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.safe_sound' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.shortCheck' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.short_sound' depends on axioms: [propext]\n","stdout_sha256":"9d44b4b2ace8f5e69c8889eeabedaab7479c25761828af32df261812b28b9066","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.TargetFixtures.lean b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetFixtures.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.TargetFixtures.lean rename to compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetFixtures.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetFixtures.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetFixtures.process.json new file mode 100644 index 000000000..6fa87b129 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetFixtures.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetFixtures.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetFixtures","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.TargetFixtures.adtEvaluationOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.adtEvaluationProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.adtEvaluationRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.bindingAndShapesOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.bindingAndShapesProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.bindingAndShapesRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.booleanShapesOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.booleanShapesProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.booleanShapesRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.booleansOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.booleansProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.booleansRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.boxedFieldOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.boxedFieldProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.boxedFieldRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.byteCompareProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.byteCompareRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.byteOrderProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.byteOrderRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.byteSlicesOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.byteSlicesProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.byteSlicesRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.bytesAndTextOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.bytesAndTextProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.bytesAndTextRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.closureCapturesOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.closureCapturesProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.closureCapturesRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.closureDispatchOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.closureDispatchProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.closureDispatchRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.closureInlineOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.closureInlineProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.closureInlineRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.closureRecursiveOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.closureRecursiveProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.closureRecursiveRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.closureUninhabitedOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.closureUninhabitedProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.closureUninhabitedRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.closureValueOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.closureValueProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.closureValueRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.closuresOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.closuresProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.closuresRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.convertOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.convertProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.convertRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.decimalOverflowProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.decimalOverflowRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.decimalOverflowWideProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.decimalOverflowWideRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.decimalProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.decimalRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.equalityOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.equalityProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.equalityRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fallibleConditionValueOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fallibleConditionValueProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fallibleConditionValueRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedBitsSignedOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedBitsSignedProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedBitsSignedRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedBitsUnsignedOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedBitsUnsignedProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedBitsUnsignedRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedCheckedNarrowOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedCheckedNarrowProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedCheckedNarrowRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedCheckedSignedOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedCheckedSignedProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedCheckedSignedRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedCheckedWideOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedCheckedWideProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedCheckedWideRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedDecimalI16Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedDecimalI16Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedDecimalI32Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedDecimalI32Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedDecimalI64Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedDecimalI64Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedDecimalI8Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedDecimalI8Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedDecimalU16Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedDecimalU16Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedDecimalU32Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedDecimalU32Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedDecimalU64Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedDecimalU64Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedDecimalU8Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedDecimalU8Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthI16Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthI16Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedWidthI16Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthI32Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthI32Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedWidthI32Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthI64Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthI64Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedWidthI64Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthI8Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthI8Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedWidthI8Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthU16Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthU16Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedWidthU16Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthU32Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthU32Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedWidthU32Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthU64Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthU64Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedWidthU64Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthU8Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthU8Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedWidthU8Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.functionShapesOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.functionShapesProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.functionShapesRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphReachableAbsentAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphReachableAbsentOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphReachableAbsentProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.graphReachableAbsentRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphReachableAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphReachableInnerAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphReachableInnerOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphReachableInnerProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.graphReachableInnerRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphReachableOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphReachableProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.graphReachableRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphSuccessorsAbsentAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphSuccessorsAbsentOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphSuccessorsAbsentProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.graphSuccessorsAbsentRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphSuccessorsAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphSuccessorsOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphSuccessorsProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.graphSuccessorsRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphTopologicalAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphTopologicalCycleAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphTopologicalCycleOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphTopologicalCycleProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.graphTopologicalCycleRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphTopologicalOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphTopologicalProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.graphTopologicalRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.intArithmeticOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.intArithmeticProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.intArithmeticRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.intOverflowMulOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.intOverflowMulProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.intOverflowMulRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.intOverflowNegOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.intOverflowNegProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.intOverflowNegRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.intOverflowQuotOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.intOverflowQuotProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.intOverflowQuotRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.intOverflowSubOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.intOverflowSubProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.intOverflowSubRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.iterateAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.iterateOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.iterateProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.iterateRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.iterateUntilAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.iterateUntilBoundedAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.iterateUntilBoundedOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.iterateUntilBoundedProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.iterateUntilBoundedRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.iterateUntilOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.iterateUntilProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.iterateUntilRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.listAppendLongOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.listAppendLongProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.listAppendLongRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.listFoldAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.listFoldOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.listFoldProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.listFoldRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.listsOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.listsProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.listsRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.literalsOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.literalsProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.literalsRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapContainsAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapContainsOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapContainsProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.mapContainsRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapFoldAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapFoldOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapFoldProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.mapFoldRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapInsertAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapInsertLastAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapInsertLastOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapInsertLastProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.mapInsertLastRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapInsertOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapInsertProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.mapInsertReplaceAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapInsertReplaceOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapInsertReplaceProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.mapInsertReplaceRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapInsertRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapKeysAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapKeysOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapKeysProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.mapKeysRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapLookupAbsentAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapLookupAbsentOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapLookupAbsentProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.mapLookupAbsentRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapLookupAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapLookupOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapLookupProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.mapLookupRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapRemoveAbsentAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapRemoveAbsentOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapRemoveAbsentProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.mapRemoveAbsentRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapRemoveAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapRemoveOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapRemoveProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.mapRemoveRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapValuesAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapValuesOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapValuesProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.mapValuesRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.matchShapesOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.matchShapesProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.matchShapesRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.natArithmeticOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.natArithmeticProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.natArithmeticRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.natOverflowAddOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.natOverflowAddProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.natOverflowAddRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.natOverflowMulOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.natOverflowMulProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.natOverflowMulRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.natOverflowNestedOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.natOverflowNestedProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.natOverflowNestedRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.natOverflowSuccOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.natOverflowSuccProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.natOverflowSuccRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.orderingOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.orderingProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.orderingRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.pairAndListMatchOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.pairAndListMatchProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.pairAndListMatchRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.recordFieldsOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.recordFieldsProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.recordFieldsRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setContainsAbsentAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setContainsAbsentOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setContainsAbsentProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.setContainsAbsentRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setContainsAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setContainsOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setContainsProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.setContainsRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setDifferenceAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setDifferenceOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setDifferenceProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.setDifferenceRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setFoldAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setFoldOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setFoldProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.setFoldRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertBoolAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertBoolOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertBoolProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.setInsertBoolRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertInt8Agrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertInt8Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertInt8Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.setInsertInt8Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertIntAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertIntOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertIntProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.setInsertIntRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertNatAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertNatOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertNatProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.setInsertNatRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertProductAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertProductOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertProductProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.setInsertProductRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertStringAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertStringOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertStringProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.setInsertStringRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setIntersectionAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setIntersectionOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setIntersectionProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.setIntersectionRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setRemoveAbsentAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setRemoveAbsentOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setRemoveAbsentProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.setRemoveAbsentRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setRemoveAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setRemoveOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setRemoveProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.setRemoveRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setUnionAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setUnionOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setUnionProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.setUnionRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.splitAndJoinProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.splitAndJoinRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.stringEscapesOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.stringEscapesProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.stringEscapesRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.sumToExhaustedOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.sumToExhaustedProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.sumToExhaustedRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.sumToOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.sumToProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.sumToRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.unitClosuresOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.unitClosuresProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.unitClosuresRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.unitValuesOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.unitValuesProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.unitValuesRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.wideShapesOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.wideShapesProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.wideShapesRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n","stdout_sha256":"9028f03268ae25228c0a1c64afc3998515828206dcf201c38e280caf05fb7ca0","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.TargetOracle.lean b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetOracle.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.TargetOracle.lean rename to compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetOracle.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetOracle.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetOracle.process.json new file mode 100644 index 000000000..c95b4f093 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetOracle.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetOracle.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetOracle","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.TargetOracle.encodeAdjacency' does not depend on any axioms\n'LexLeanTarget.TargetOracle.encodeBools' does not depend on any axioms\n'LexLeanTarget.TargetOracle.encodeI8s' does not depend on any axioms\n'LexLeanTarget.TargetOracle.encodeInts' does not depend on any axioms\n'LexLeanTarget.TargetOracle.encodeNatStrings' does not depend on any axioms\n'LexLeanTarget.TargetOracle.encodeNats' does not depend on any axioms\n'LexLeanTarget.TargetOracle.encodeStrings' does not depend on any axioms\n","stdout_sha256":"e5d09f1ed61a07fda3dba02d424da6b01bceef18c4e1e3c70b41a8c133503ccd","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.TargetSemantics.lean b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetSemantics.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.TargetSemantics.lean rename to compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetSemantics.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetSemantics.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetSemantics.process.json new file mode 100644 index 000000000..c57223532 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetSemantics.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetSemantics.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetSemantics","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.TargetSemantics.Outcome' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.Outcomes' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.addSteps' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.chargeResult' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValues' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.construct' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.depth' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.eval' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.fromOrdering' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.fromStrings' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.intResult' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.TargetSemantics.lookup' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.natResult' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderBool' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.orderI16' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderI32' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderI64' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderI8' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderInt' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderNat' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderOf' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderString' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU16' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderU32' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderU64' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderU8' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.primitive' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.sameOrder' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.toStrings' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.weight' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.weights' depends on axioms: [propext, Classical.choice, Quot.sound]\n","stdout_sha256":"5db7059cbd2e67dd7cdac827d671c436156acb744114ba6a068eca77cfb130ca","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.TargetSyntax.lean b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetSyntax.lean similarity index 100% rename from compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.TargetSyntax.lean rename to compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetSyntax.lean diff --git a/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetSyntax.process.json b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetSyntax.process.json new file mode 100644 index 000000000..ae18b1189 --- /dev/null +++ b/compiler/expected/verify/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetSyntax.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetSyntax.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A322344811b7d86d74c93a4f40acd7bac.LexLeanTarget.TargetSyntax","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.TargetSyntax.Adt' does not depend on any axioms\n'LexLeanTarget.TargetSyntax.Arm' does not depend on any axioms\n'LexLeanTarget.TargetSyntax.Expr' does not depend on any axioms\n'LexLeanTarget.TargetSyntax.Function' does not depend on any axioms\n'LexLeanTarget.TargetSyntax.IntKind' does not depend on any axioms\n'LexLeanTarget.TargetSyntax.Order' does not depend on any axioms\n'LexLeanTarget.TargetSyntax.Prim' does not depend on any axioms\n'LexLeanTarget.TargetSyntax.Program' does not depend on any axioms\n'LexLeanTarget.TargetSyntax.Shape' does not depend on any axioms\n'LexLeanTarget.TargetSyntax.Ty' does not depend on any axioms\n'LexLeanTarget.TargetSyntax.Value' does not depend on any axioms\n","stdout_sha256":"81b555d6535a4ba91c825f93f1d0da80257f7eb8f83fff55f85f7e2fe759deba","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.BudgetOracle.process.json b/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.BudgetOracle.process.json deleted file mode 100644 index 2e12c5850..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.BudgetOracle.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.BudgetOracle.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.BudgetOracle","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.BudgetOracle.Burn.apply' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Burn.apply_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Burn.apply_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Burn.candidates' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Burn.conclusion' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Burn.guard' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Drained.sound' depends on axioms: [propext]\n'LexLeanTarget.BudgetOracle.Empty' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.Ledger' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.Run' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.Step' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.accept' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.accept_sound' depends on axioms: [propext]\n'LexLeanTarget.BudgetOracle.Refund.account' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.answer' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.attempts' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.conclude' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.conclude_accept' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.conclude_sound' depends on axioms: [propext]\n'LexLeanTarget.BudgetOracle.Refund.derivation' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Refund.explained' depends on axioms: [propext]\n'LexLeanTarget.BudgetOracle.Refund.extract' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.fire' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.fire_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Refund.firings_bounded' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.follow' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.iterations_bounded' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.next' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.next_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Refund.observe' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.replay' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.replay_fire' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.replay_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Refund.run' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.run_state' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.run_trace' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.saturate' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.saturate_derivation' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Refund.select' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.start' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.step' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.step_count' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.step_fired' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.step_none' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.step_some' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.step_trace' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.verdict' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Refund.verdict_sound' depends on axioms: [propext]\n'LexLeanTarget.BudgetOracle.Remaining' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.Ledger' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.Run' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.Step' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.accept' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.accept_sound' depends on axioms: [propext]\n'LexLeanTarget.BudgetOracle.Spend.account' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.answer' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.attempts' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.conclude' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.conclude_accept' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.conclude_sound' depends on axioms: [propext]\n'LexLeanTarget.BudgetOracle.Spend.derivation' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Spend.explained' depends on axioms: [propext]\n'LexLeanTarget.BudgetOracle.Spend.extract' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.fire' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.fire_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Spend.fire_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Spend.firings_bounded' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.follow' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.iterations_bounded' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.next' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.next_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Spend.next_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Spend.observe' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.replay' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.replay_fire' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.replay_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Spend.run' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.run_state' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.run_trace' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.saturate' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.saturate_derivation' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Spend.saturates' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Spend.select' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.start' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.step' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.step_count' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.step_fired' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.step_none' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.step_some' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.step_trace' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.verdict' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Spend.verdict_sound' depends on axioms: [propext]\n'LexLeanTarget.BudgetOracle.Spent' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Tick.apply' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Tick.apply_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Tick.apply_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.Tick.conclusion' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.Tick.guard' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.allowance_bound' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.burn_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.burn_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.emptyCheck' does not depend on any axioms\n'LexLeanTarget.BudgetOracle.empty_sound' depends on axioms: [propext]\n'LexLeanTarget.BudgetOracle.tick_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.BudgetOracle.tick_sound' depends on axioms: [propext, Quot.sound]\n","stdout_sha256":"59007df9d3aac13b14aaf31eaed78191fe1dd3bed8cf0c08553de02edaf64988","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.Certification.process.json b/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.Certification.process.json deleted file mode 100644 index 81b33c7c3..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.Certification.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.Certification.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.Certification","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.Certification.Bridge' does not depend on any axioms\n'LexLeanTarget.Certification.Certificate' does not depend on any axioms\n'LexLeanTarget.Certification.Certified' does not depend on any axioms\n'LexLeanTarget.Certification.Established' does not depend on any axioms\n'LexLeanTarget.Certification.Fact' does not depend on any axioms\n'LexLeanTarget.Certification.Obligation' does not depend on any axioms\n'LexLeanTarget.Certification.Premise' does not depend on any axioms\n'LexLeanTarget.Certification.Refusal' does not depend on any axioms\n'LexLeanTarget.Certification.Route' does not depend on any axioms\n'LexLeanTarget.Certification.Schema' does not depend on any axioms\n'LexLeanTarget.Certification.Verdict' does not depend on any axioms\n'LexLeanTarget.Certification.allBelow' does not depend on any axioms\n'LexLeanTarget.Certification.allLists' does not depend on any axioms\n'LexLeanTarget.Certification.allLong' does not depend on any axioms\n'LexLeanTarget.Certification.allShorter' does not depend on any axioms\n'LexLeanTarget.Certification.argumentStatus' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Certification.armIsolated' does not depend on any axioms\n'LexLeanTarget.Certification.armsIsolated' does not depend on any axioms\n'LexLeanTarget.Certification.ascending' does not depend on any axioms\n'LexLeanTarget.Certification.bridgePosition' does not depend on any axioms\n'LexLeanTarget.Certification.certificateReductionsPreserve' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Certification.cheaperObservation' does not depend on any axioms\n'LexLeanTarget.Certification.check' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Certification.claimShape' does not depend on any axioms\n'LexLeanTarget.Certification.eligible' does not depend on any axioms\n'LexLeanTarget.Certification.establishedFrom' does not depend on any axioms\n'LexLeanTarget.Certification.exprIsolated' does not depend on any axioms\n'LexLeanTarget.Certification.exprsIsolated' does not depend on any axioms\n'LexLeanTarget.Certification.factAt' does not depend on any axioms\n'LexLeanTarget.Certification.factRows' does not depend on any axioms\n'LexLeanTarget.Certification.factsOf' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Certification.firstSmaller' does not depend on any axioms\n'LexLeanTarget.Certification.frontierPosition' does not depend on any axioms\n'LexLeanTarget.Certification.frontierVerdict' does not depend on any axioms\n'LexLeanTarget.Certification.improves' does not depend on any axioms\n'LexLeanTarget.Certification.isList' does not depend on any axioms\n'LexLeanTarget.Certification.isLong' does not depend on any axioms\n'LexLeanTarget.Certification.isNormal' does not depend on any axioms\n'LexLeanTarget.Certification.isShorter' does not depend on any axioms\n'LexLeanTarget.Certification.keepsObservation' does not depend on any axioms\n'LexLeanTarget.Certification.lowerPosition' does not depend on any axioms\n'LexLeanTarget.Certification.lowerVerdict' does not depend on any axioms\n'LexLeanTarget.Certification.natAt' does not depend on any axioms\n'LexLeanTarget.Certification.normalityVerdict' does not depend on any axioms\n'LexLeanTarget.Certification.pairRelation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Certification.pickFrom' does not depend on any axioms\n'LexLeanTarget.Certification.plansIsolated' does not depend on any axioms\n'LexLeanTarget.Certification.positionOf' does not depend on any axioms\n'LexLeanTarget.Certification.premiseFact' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Certification.preserves' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Certification.reductionVerdict' does not depend on any axioms\n'LexLeanTarget.Certification.reductionsPreserve' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Certification.representationVerdict' does not depend on any axioms\n'LexLeanTarget.Certification.rewrite' does not depend on any axioms\n'LexLeanTarget.Certification.rowsOfMembers' does not depend on any axioms\n'LexLeanTarget.Certification.sameObjective' does not depend on any axioms\n'LexLeanTarget.Certification.sameObservations' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Certification.sameObservationsAt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Certification.sameScope' does not depend on any axioms\n'LexLeanTarget.Certification.scanBridge' does not depend on any axioms\n'LexLeanTarget.Certification.scanFrontier' does not depend on any axioms\n'LexLeanTarget.Certification.scanLower' does not depend on any axioms\n'LexLeanTarget.Certification.scanReduction' does not depend on any axioms\n'LexLeanTarget.Certification.selectorAt' does not depend on any axioms\n'LexLeanTarget.Certification.sizesOf' does not depend on any axioms\n'LexLeanTarget.Certification.staticCharge' does not depend on any axioms\n'LexLeanTarget.Certification.staticSize' does not depend on any axioms\n'LexLeanTarget.Certification.strictlyCheaper' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Certification.strictlyCheaperAt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Certification.valueAt' does not depend on any axioms\n","stdout_sha256":"80f2bb229260f7d797c445dfde090e98a616a384a81de5827faf42cb60c0213e","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.Gnaf.process.json b/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.Gnaf.process.json deleted file mode 100644 index 98d50d806..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.Gnaf.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.Gnaf.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.Gnaf","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.Gnaf.Action' does not depend on any axioms\n'LexLeanTarget.Gnaf.ActionKind' does not depend on any axioms\n'LexLeanTarget.Gnaf.Answer' does not depend on any axioms\n'LexLeanTarget.Gnaf.Boundary' does not depend on any axioms\n'LexLeanTarget.Gnaf.Capacity' does not depend on any axioms\n'LexLeanTarget.Gnaf.Carrier' does not depend on any axioms\n'LexLeanTarget.Gnaf.Charge' does not depend on any axioms\n'LexLeanTarget.Gnaf.ClaimClass' does not depend on any axioms\n'LexLeanTarget.Gnaf.Completeness' does not depend on any axioms\n'LexLeanTarget.Gnaf.Grammar' does not depend on any axioms\n'LexLeanTarget.Gnaf.Machine' does not depend on any axioms\n'LexLeanTarget.Gnaf.Objective' does not depend on any axioms\n'LexLeanTarget.Gnaf.OperandSize' does not depend on any axioms\n'LexLeanTarget.Gnaf.Plan' does not depend on any axioms\n'LexLeanTarget.Gnaf.Prepared' does not depend on any axioms\n'LexLeanTarget.Gnaf.Rejection' does not depend on any axioms\n'LexLeanTarget.Gnaf.Request' does not depend on any axioms\n'LexLeanTarget.Gnaf.Scope' does not depend on any axioms\n'LexLeanTarget.Gnaf.Selector' does not depend on any axioms\n'LexLeanTarget.Gnaf.Status' does not depend on any axioms\n'LexLeanTarget.Gnaf.addNew' does not depend on any axioms\n'LexLeanTarget.Gnaf.admittedRows' does not depend on any axioms\n'LexLeanTarget.Gnaf.allIn' does not depend on any axioms\n'LexLeanTarget.Gnaf.andFalse' does not depend on any axioms\n'LexLeanTarget.Gnaf.andOverOr' does not depend on any axioms\n'LexLeanTarget.Gnaf.answer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Gnaf.anyBy' does not depend on any axioms\n'LexLeanTarget.Gnaf.anyUnresolved' does not depend on any axioms\n'LexLeanTarget.Gnaf.appendAll' does not depend on any axioms\n'LexLeanTarget.Gnaf.argmin' does not depend on any axioms\n'LexLeanTarget.Gnaf.armCallees' does not depend on any axioms\n'LexLeanTarget.Gnaf.armSize' does not depend on any axioms\n'LexLeanTarget.Gnaf.armsCallees' does not depend on any axioms\n'LexLeanTarget.Gnaf.armsSize' does not depend on any axioms\n'LexLeanTarget.Gnaf.arrivals' does not depend on any axioms\n'LexLeanTarget.Gnaf.attaining' does not depend on any axioms\n'LexLeanTarget.Gnaf.attains' does not depend on any axioms\n'LexLeanTarget.Gnaf.beqNext' does not depend on any axioms\n'LexLeanTarget.Gnaf.bltNext' does not depend on any axioms\n'LexLeanTarget.Gnaf.bltSucc' depends on axioms: [propext]\n'LexLeanTarget.Gnaf.calleesOf' does not depend on any axioms\n'LexLeanTarget.Gnaf.certifies' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Gnaf.certifiesArgmin' does not depend on any axioms\n'LexLeanTarget.Gnaf.certifiesFrontier' does not depend on any axioms\n'LexLeanTarget.Gnaf.chargeBeyond' does not depend on any axioms\n'LexLeanTarget.Gnaf.checkAllDeclared' does not depend on any axioms\n'LexLeanTarget.Gnaf.checkClaim' does not depend on any axioms\n'LexLeanTarget.Gnaf.checkDeclared' does not depend on any axioms\n'LexLeanTarget.Gnaf.checkDistinct' does not depend on any axioms\n'LexLeanTarget.Gnaf.checkKindsAccounted' does not depend on any axioms\n'LexLeanTarget.Gnaf.checkPerformed' does not depend on any axioms\n'LexLeanTarget.Gnaf.checkPlanPreparation' does not depend on any axioms\n'LexLeanTarget.Gnaf.checkPrepared' does not depend on any axioms\n'LexLeanTarget.Gnaf.closeOver' does not depend on any axioms\n'LexLeanTarget.Gnaf.componentwiseMinimum' does not depend on any axioms\n'LexLeanTarget.Gnaf.compositions' does not depend on any axioms\n'LexLeanTarget.Gnaf.countKind' does not depend on any axioms\n'LexLeanTarget.Gnaf.dispatchInFixed' depends on axioms: [propext]\n'LexLeanTarget.Gnaf.dispatchInOver' depends on axioms: [propext]\n'LexLeanTarget.Gnaf.dispatchInSmalls' depends on axioms: [propext]\n'LexLeanTarget.Gnaf.dispatchInThresholds' depends on axioms: [propext]\n'LexLeanTarget.Gnaf.dispatchOver' does not depend on any axioms\n'LexLeanTarget.Gnaf.dispatchSmalls' does not depend on any axioms\n'LexLeanTarget.Gnaf.dispatchThresholds' does not depend on any axioms\n'LexLeanTarget.Gnaf.dominatedIn' does not depend on any axioms\n'LexLeanTarget.Gnaf.dominates' does not depend on any axioms\n'LexLeanTarget.Gnaf.entryBody' does not depend on any axioms\n'LexLeanTarget.Gnaf.environmentRows' does not depend on any axioms\n'LexLeanTarget.Gnaf.evaluate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Gnaf.expand' does not depend on any axioms\n'LexLeanTarget.Gnaf.expandComplete' depends on axioms: [propext]\n'LexLeanTarget.Gnaf.exprCallees' does not depend on any axioms\n'LexLeanTarget.Gnaf.exprSize' does not depend on any axioms\n'LexLeanTarget.Gnaf.exprsCallees' does not depend on any axioms\n'LexLeanTarget.Gnaf.exprsSize' does not depend on any axioms\n'LexLeanTarget.Gnaf.extendAll' does not depend on any axioms\n'LexLeanTarget.Gnaf.extendWalk' does not depend on any axioms\n'LexLeanTarget.Gnaf.fairExpectation' does not depend on any axioms\n'LexLeanTarget.Gnaf.falseAnd' does not depend on any axioms\n'LexLeanTarget.Gnaf.falseOr' does not depend on any axioms\n'LexLeanTarget.Gnaf.findAction' does not depend on any axioms\n'LexLeanTarget.Gnaf.fixedInDispatch' depends on axioms: [propext]\n'LexLeanTarget.Gnaf.fixedInFixed' depends on axioms: [propext]\n'LexLeanTarget.Gnaf.fixedInOver' depends on axioms: [propext]\n'LexLeanTarget.Gnaf.fixedInSmalls' depends on axioms: [propext]\n'LexLeanTarget.Gnaf.fixedOver' does not depend on any axioms\n'LexLeanTarget.Gnaf.frontier' does not depend on any axioms\n'LexLeanTarget.Gnaf.frontierFrom' does not depend on any axioms\n'LexLeanTarget.Gnaf.functionAt' does not depend on any axioms\n'LexLeanTarget.Gnaf.hiddenBitCost' does not depend on any axioms\n'LexLeanTarget.Gnaf.kindIndex' does not depend on any axioms\n'LexLeanTarget.Gnaf.minimaAttained' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Gnaf.minimumFrom' does not depend on any axioms\n'LexLeanTarget.Gnaf.natIn' does not depend on any axioms\n'LexLeanTarget.Gnaf.natInAppend' depends on axioms: [propext]\n'LexLeanTarget.Gnaf.natInRange' depends on axioms: [propext]\n'LexLeanTarget.Gnaf.natSame' does not depend on any axioms\n'LexLeanTarget.Gnaf.normalize' does not depend on any axioms\n'LexLeanTarget.Gnaf.orAssociative' does not depend on any axioms\n'LexLeanTarget.Gnaf.orFalse' does not depend on any axioms\n'LexLeanTarget.Gnaf.orUnderAnd' does not depend on any axioms\n'LexLeanTarget.Gnaf.performed' does not depend on any axioms\n'LexLeanTarget.Gnaf.planAt' does not depend on any axioms\n'LexLeanTarget.Gnaf.planCharge' does not depend on any axioms\n'LexLeanTarget.Gnaf.planFunctions' does not depend on any axioms\n'LexLeanTarget.Gnaf.pointwiseMinimum' does not depend on any axioms\n'LexLeanTarget.Gnaf.preparation' does not depend on any axioms\n'LexLeanTarget.Gnaf.preparedFor' does not depend on any axioms\n'LexLeanTarget.Gnaf.range' does not depend on any axioms\n'LexLeanTarget.Gnaf.reachable' does not depend on any axioms\n'LexLeanTarget.Gnaf.reachableCharge' does not depend on any axioms\n'LexLeanTarget.Gnaf.reachableSize' does not depend on any axioms\n'LexLeanTarget.Gnaf.realize' does not depend on any axioms\n'LexLeanTarget.Gnaf.rej14ComponentwiseMinima' does not depend on any axioms\n'LexLeanTarget.Gnaf.rej14MinimaUnattained' does not depend on any axioms\n'LexLeanTarget.Gnaf.rej29FrontierOmission' does not depend on any axioms\n'LexLeanTarget.Gnaf.rewriteOnce' does not depend on any axioms\n'LexLeanTarget.Gnaf.sameIdsBy' does not depend on any axioms\n'LexLeanTarget.Gnaf.sameKind' does not depend on any axioms\n'LexLeanTarget.Gnaf.scalarMinimum' does not depend on any axioms\n'LexLeanTarget.Gnaf.scalarRows' does not depend on any axioms\n'LexLeanTarget.Gnaf.selectorEq' does not depend on any axioms\n'LexLeanTarget.Gnaf.selectorIn' does not depend on any axioms\n'LexLeanTarget.Gnaf.selectorInAppend' depends on axioms: [propext]\n'LexLeanTarget.Gnaf.status' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Gnaf.statusOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Gnaf.statuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Gnaf.statusesOf' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.Gnaf.uniformRows' does not depend on any axioms\n'LexLeanTarget.Gnaf.unitCharge' does not depend on any axioms\n'LexLeanTarget.Gnaf.universeOf' does not depend on any axioms\n'LexLeanTarget.Gnaf.validate' does not depend on any axioms\n'LexLeanTarget.Gnaf.valueEq' does not depend on any axioms\n'LexLeanTarget.Gnaf.valuesEq' does not depend on any axioms\n'LexLeanTarget.Gnaf.vec01CertificateHolds' does not depend on any axioms\n'LexLeanTarget.Gnaf.vec01CertificateInvalidated' does not depend on any axioms\n'LexLeanTarget.Gnaf.vec01Extension' does not depend on any axioms\n'LexLeanTarget.Gnaf.vec01Optimum' does not depend on any axioms\n'LexLeanTarget.Gnaf.vec02Frontier' does not depend on any axioms\n'LexLeanTarget.Gnaf.vec04GlobalMinimumIsC' does not depend on any axioms\n'LexLeanTarget.Gnaf.vec04NormalFormIsB' does not depend on any axioms\n'LexLeanTarget.Gnaf.vec04NormalFormRefused' does not depend on any axioms\n'LexLeanTarget.Gnaf.vec17EnvelopeAtOne' does not depend on any axioms\n'LexLeanTarget.Gnaf.vec17EnvelopeAtZero' does not depend on any axioms\n'LexLeanTarget.Gnaf.vec17FairExpectationAtOne' does not depend on any axioms\n'LexLeanTarget.Gnaf.vec17FairExpectationAtZero' does not depend on any axioms\n'LexLeanTarget.Gnaf.vec17PointwiseValueRefused' does not depend on any axioms\n'LexLeanTarget.Gnaf.vec17UniformWorstCase' does not depend on any axioms\n'LexLeanTarget.Gnaf.vectorEq' does not depend on any axioms\n'LexLeanTarget.Gnaf.weaklyBelow' does not depend on any axioms\n'LexLeanTarget.Gnaf.wellFormed' does not depend on any axioms\n'LexLeanTarget.Gnaf.worstCase' does not depend on any axioms\n","stdout_sha256":"1331df9e3d4bee88e89d70ef6b406f01870c0b8da40a372fd990d013ddc52447","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.GnafCertificates.process.json b/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.GnafCertificates.process.json deleted file mode 100644 index 68ced85fe..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.GnafCertificates.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.GnafCertificates.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.GnafCertificates","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.GnafCertificates.argminOverSystemsPair0x0Cheaper' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.argminOverSystemsPair0x0Keeps' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.argminOverSystemsPair2x0Cheaper' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.argminOverSystemsPair2x0Keeps' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.bridgeAttainedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.bridgeAttainedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.bridgeMissingCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.bridgeMissingVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.bridgeNotMinimalCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.bridgeNotMinimalVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.bridgeOutOfRangeCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.bridgeOutOfRangeVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.bridgeReducedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.bridgeReducedPreserves' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.bridgeReducedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.bridgeUnattainedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.bridgeUnattainedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.bridgeUnprovenCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.bridgeUnprovenVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.bridgeUnresolvedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.bridgeUnresolvedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.bridgeViolatedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.bridgeViolatedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.claimMismatchCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.claimMismatchVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.frontierDominatedMemberCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.frontierDominatedMemberVerdict' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.frontierMemberAtCountCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.frontierMemberAtCountVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.frontierMemberOmittedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.frontierMemberOmittedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.frontierMemberUnprovenCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.frontierMemberUnprovenVerdict' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.frontierMembersUnorderedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.frontierMembersUnorderedVerdict' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.frontierNonmemberUnprovenCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.frontierNonmemberUnprovenVerdict' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.frontierParetoOptimalCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.frontierParetoOptimalVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.frontierPremiseWeakenedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.frontierPremiseWeakenedVerdict' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.frontierTieCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.frontierTieDroppedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.frontierTieDroppedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.frontierTieVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.frontierUnresolvedMemberCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.frontierUnresolvedMemberVerdict' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.frontierUnresolvedNonmemberCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.frontierUnresolvedNonmemberVerdict' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.frontierVec02Certificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.frontierVec02Verdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.inadmissiblePlanExcludedPair0x0Cheaper' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.inadmissiblePlanExcludedPair0x0Keeps' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.inadmissiblePlanExcludedPair0x1Cheaper' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.inadmissiblePlanExcludedPair0x1Keeps' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.inadmissiblePlanExcludedPair2x0Cheaper' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.inadmissiblePlanExcludedPair2x0Keeps' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.internalBestOnShortListsPair0x0Cheaper' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.internalBestOnShortListsPair0x0Keeps' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.internalBestOnShortListsPair1x0Cheaper' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.internalBestOnShortListsPair1x0Keeps' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.lbArgminCompleteCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbArgminCompleteVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbArgminMeasuredCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbArgminMeasuredVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbArgminOverSystemsCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbArgminOverSystemsVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbArgminTieCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbArgminTieVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbAttainerAtCountCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbAttainerAtCountVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbAttainerBoundedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbAttainerBoundedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbAttainerOutOfRangeCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbAttainerOutOfRangeVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbAttainersUnorderedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbAttainersUnorderedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbDivergingPlanCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbDivergingPlanVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbExcludedAdmittedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbExcludedAdmittedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbExcludedAtLengthCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbExcludedAtLengthVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbExcludedUnresolvedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbExcludedUnresolvedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbExtraPremiseCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbExtraPremiseVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbInfeasibleAttainerCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbInfeasibleAttainerVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbNoAttainerCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbNoAttainerVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbOptimumTieMeasuredCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbOptimumTieMeasuredVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbOverUnresolvedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbOverUnresolvedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbPaysInadmissiblePrefixCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbPaysInadmissiblePrefixVerdict' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.lbPositionOutOfDomainCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbPositionOutOfDomainVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbPositionsRepeatedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbPositionsRepeatedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbPremiseOmittedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbPremiseOmittedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbPremiseWeakenedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbPremiseWeakenedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbPreparationChargedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbPreparationChargedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbTieBoundedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbTieBoundedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbTieDroppedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbTieDroppedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbUnattainedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbUnattainedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbUndercutCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbUndercutVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbUnresolvedMeasuredCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbUnresolvedMeasuredVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.lbUnresolvedUnboundedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.lbUnresolvedUnboundedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.normalClaimedGlobalCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.normalClaimedGlobalVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.normalNotGlobalCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.normalNotGlobalVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.normalityImprovableCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.normalityImprovableVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.normalityOptimumCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.normalityOptimumVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.objectiveMismatchCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.objectiveMismatchVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionCollapseDistinctCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.reductionCollapseDistinctPreserves' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionCollapseDistinctVerdict' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionIncompleteCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.reductionIncompletePreserves' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionIncompleteVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionIneligibleCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.reductionIneligiblePreserves' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionIneligibleVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionMixedDomainCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.reductionMixedDomainPreserves' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionMixedDomainVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionOverUnresolvedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.reductionOverUnresolvedVerdict' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionParetoCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.reductionParetoVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionShortListsCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.reductionShortListsPreserves' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionShortListsVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionSmallAtThresholdCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.reductionSmallAtThresholdPreserves' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionSmallAtThresholdVerdict' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionThresholdEdgeCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.reductionThresholdEdgePreserves' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.reductionThresholdEdgeVerdict' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.requestRejectedCachedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.requestRejectedCachedPreserves' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafCertificates.requestRejectedCachedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.requestRejectedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.requestRejectedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.reusedEnlargedCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.reusedEnlargedVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.routeIncompatibleCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.routeIncompatibleVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.routeLowerBoundParetoCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.routeLowerBoundParetoVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.scopeMismatchCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.scopeMismatchVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.thresholdEdgePair0x0Cheaper' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.thresholdEdgePair0x0Keeps' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.thresholdEdgePair1x0Cheaper' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.thresholdEdgePair1x0Keeps' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafCertificates.verifierMismatchCertificate' does not depend on any axioms\n'LexLeanTarget.GnafCertificates.verifierMismatchVerdict' depends on axioms: [propext, Classical.choice, Quot.sound]\n","stdout_sha256":"71d56f58daf3ebbc941b59ce5953be0e2d87a70a3d394ccbec6873c2bfc11058","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.GnafFixtures.process.json b/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.GnafFixtures.process.json deleted file mode 100644 index 3bbbe69a6..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.GnafFixtures.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.GnafFixtures.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.GnafFixtures","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.GnafFixtures.argminCompleteAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.argminCompleteRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.argminCompleteStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.argminCompleteUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.argminOverSystemsAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.argminOverSystemsRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.argminOverSystemsStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.argminOverSystemsUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.argminTieAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.argminTieRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.argminTieStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.argminTieUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.boundOverUnresolvedAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.boundOverUnresolvedRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.boundOverUnresolvedStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.boundOverUnresolvedUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.bridgeStraightLineAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.bridgeStraightLineRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.bridgeStraightLineStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.bridgeStraightLineUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.frontierIncomparableAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.frontierIncomparableRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.frontierIncomparableStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.frontierIncomparableUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.frontierOverUnresolvedAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.frontierOverUnresolvedRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.frontierOverUnresolvedStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.frontierOverUnresolvedUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.frontierParetoOptimalAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.frontierParetoOptimalRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.frontierParetoOptimalStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.frontierParetoOptimalUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.frontierTieAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.frontierTieRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.frontierTieStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.frontierTieUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.inadmissiblePlanExcludedAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.inadmissiblePlanExcludedRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.inadmissiblePlanExcludedStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.inadmissiblePlanExcludedUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.infeasibleUniverseAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.infeasibleUniverseRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.infeasibleUniverseStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.infeasibleUniverseUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.internalBestOnLongListsAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.internalBestOnLongListsRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.internalBestOnLongListsStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.internalBestOnLongListsUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.internalBestOnShortListsAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.internalBestOnShortListsRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.internalBestOnShortListsStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.internalBestOnShortListsUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.optimumOverUnresolvedAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.optimumOverUnresolvedRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.optimumOverUnresolvedStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.optimumOverUnresolvedUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.optimumTieAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.optimumTieRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.optimumTieStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.optimumTieUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.preparationChargedAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.preparationChargedRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.preparationChargedStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.preparationChargedUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.preparationCommonPlanAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.preparationCommonPlanRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.preparationCommonPlanStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.preparationCommonPlanUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.preparationCommonStateAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.preparationCommonStateRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.preparationCommonStateStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.preparationCommonStateUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.reasoningArgminAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.reasoningArgminRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.reasoningArgminStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.reasoningArgminUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.reasoningFrontierAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.reasoningFrontierRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.reasoningFrontierStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.reasoningFrontierUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectBeyondCapacityAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectBeyondCapacityRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectBeyondCapacityUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectCachedUniverseAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectCachedUniverseRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectCachedUniverseUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectCalculusProgramScopeAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectCalculusProgramScopeRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectCalculusProgramScopeUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectCommunicationAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectCommunicationRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectCommunicationUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectConstantCostFallbackAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectConstantCostFallbackRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectConstantCostFallbackUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectDiscoveredUniverseAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectDiscoveredUniverseRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectDiscoveredUniverseUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectDuplicateActionAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectDuplicateActionRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectDuplicateActionUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectEmptyDomainAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectEmptyDomainRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectEmptyDomainUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectFreeObservationAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectFreeObservationRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectFreeObservationUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectFreePreprocessingCompleteBoundaryAnswer' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectFreePreprocessingCompleteBoundaryRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectFreePreprocessingCompleteBoundaryUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectInstanceOptimalClaimAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectInstanceOptimalClaimRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectInstanceOptimalClaimUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectInternalPlanUniverseAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectInternalPlanUniverseRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectInternalPlanUniverseUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectMissingCompletenessAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectMissingCompletenessRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectMissingCompletenessUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectOptimizerCompletenessAnswer' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectOptimizerCompletenessRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectOptimizerCompletenessUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectOptimizerDefinedUniverseAnswer' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectOptimizerDefinedUniverseRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectOptimizerDefinedUniverseUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectProfileDefinedComparisonClaimAnswer' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectProfileDefinedComparisonClaimRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectProfileDefinedComparisonClaimUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectRandomnessAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectRandomnessRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectRandomnessUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectReasoningDiscoveredUniverseAnswer' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectReasoningDiscoveredUniverseRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectReasoningDiscoveredUniverseUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectReasoningFreeSearchAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectReasoningFreeSearchRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectReasoningFreeSearchUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectRestrictedUniverseAliasAnswer' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectRestrictedUniverseAliasRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectRestrictedUniverseAliasUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectRustProgramScopeAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectRustProgramScopeRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectRustProgramScopeUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectScalarClaimPartialOrderAnswer' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectScalarClaimPartialOrderRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectScalarClaimPartialOrderUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectSchedulingAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectSchedulingRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectSchedulingUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectSelfReferentialCompletenessAnswer' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectSelfReferentialCompletenessRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectSelfReferentialCompletenessUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectStepChargedAdviceAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectStepChargedAdviceRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectStepChargedAdviceUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectStrayPreparedArtifactAnswer' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectStrayPreparedArtifactRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectStrayPreparedArtifactUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectUnaccountedDispatchAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectUnaccountedDispatchRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectUnaccountedDispatchUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectUnaccountedPlanPreparationAnswer' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectUnaccountedPlanPreparationRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectUnaccountedPlanPreparationUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectUnboundPreparedStateAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectUnboundPreparedStateRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectUnboundPreparedStateUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectUndeclaredExecutionAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectUndeclaredExecutionRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectUndeclaredExecutionUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectUndeclaredRetainedStateAnswer' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectUndeclaredRetainedStateRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectUndeclaredRetainedStateUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectUnitCostOperandsAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectUnitCostOperandsRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectUnitCostOperandsUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectUnsupportedClaimAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectUnsupportedClaimRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectUnsupportedClaimUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectVectorClaimTotalOrderAnswer' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectVectorClaimTotalOrderRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectVectorClaimTotalOrderUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectZeroCostDispatchAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectZeroCostDispatchRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectZeroCostDispatchUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectZeroCostPreprocessingAnswer' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafFixtures.rejectZeroCostPreprocessingRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.rejectZeroCostPreprocessingUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.thresholdEdgeAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.thresholdEdgeRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.thresholdEdgeStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.thresholdEdgeUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.unknownCostIncompleteAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.unknownCostIncompleteRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.unknownCostIncompleteStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.unknownCostIncompleteUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.vec02ParetoEnvelopeAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.vec02ParetoEnvelopeCertified' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.vec02ParetoEnvelopeMinimaUnattained' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.GnafFixtures.vec02ParetoEnvelopeOmits0' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.vec02ParetoEnvelopeOmits1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.vec02ParetoEnvelopeOmits2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.vec02ParetoEnvelopeRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.vec02ParetoEnvelopeStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.vec02ParetoEnvelopeUniverse' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.vec08EnlargedAnswer' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.vec08EnlargedRequest' does not depend on any axioms\n'LexLeanTarget.GnafFixtures.vec08EnlargedStatuses' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GnafFixtures.vec08EnlargedUniverse' does not depend on any axioms\n","stdout_sha256":"e81a8012148d7879e88bf0122728eaf3bc463a9dc405d7de812313e48575f9fc","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.GradeOracle.process.json b/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.GradeOracle.process.json deleted file mode 100644 index 3e867e7d0..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.GradeOracle.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.GradeOracle.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.GradeOracle","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.GradeOracle.Grade' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.Ledger' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.Run' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.Step' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.accept' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.accept_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.account' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.answer' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.attempts' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.conclude' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.conclude_accept' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.conclude_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.explained' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.extract' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.fire' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.fire_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.firings_bounded' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.follow' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.follow_relation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.iterations_bounded' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.next' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.next_preserves' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.next_preserves_relation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.next_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.next_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.observe' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.replay' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.replay_fire' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.run' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.run_relation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.run_state' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.run_trace' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.saturate' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.saturate_derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.saturate_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.saturate_relation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.saturates' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Grade.select' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.start' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.step' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.step_count' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.step_fired' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.step_none' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.step_some' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.step_trace' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.verdict' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Grade.verdict_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.Graded' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Related' does not depend on any axioms\n'LexLeanTarget.GradeOracle.Scale.sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.grade_admitted' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.grade_correct' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.grade_pending' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.GradeOracle.gradedCheck' does not depend on any axioms\n'LexLeanTarget.GradeOracle.graded_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.related_admitted' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.GradeOracle.related_preserved' depends on axioms: [propext, Classical.choice, Quot.sound]\n","stdout_sha256":"41e26d5b11d5016c3ee787bc19434a0752cf8d9139e8c67bcd737479a87622e5","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.Main.process.json b/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.Main.process.json deleted file mode 100644 index b064505d6..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.Main.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.Main","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.Main.emptyProgram' does not depend on any axioms\n","stdout_sha256":"7d2326f4d7e78d1f284ea2efd07b36431427f867a86f0aed74877f3834844c2d","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.PlannerOracle.process.json b/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.PlannerOracle.process.json deleted file mode 100644 index 7dd9d2933..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.PlannerOracle.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.PlannerOracle.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.PlannerOracle","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.PlannerOracle.Anywhere.sound' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.EmptyB.apply' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.EmptyB.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.EmptyB.conclusion' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.EmptyB.guard' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.FillA.apply' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.FillA.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.FillA.conclusion' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.FillA.guard' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Fits' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Held' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Inside.sound' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Measured.sound' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Measures' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Moves' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.EmptyB.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.EmptyB.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.FillA.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.FillA.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.Ledger' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.Node' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.Pour.collect' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.Pour.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.Pour.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.Search' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.Step' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.accept' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.accept_sound' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.answer' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.attempts' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.Plan.expansions_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.explained' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.extend' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.extract' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.failure' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.fire' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.Plan.follow' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.Plan.fresh' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.fresh_ok' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.frontier_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.iterations_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.observe' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.replay' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.replay_fire' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.Plan.run' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.searchStep' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.search_count' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.search_expanded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.search_ok' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.search_peak' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.search_step' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.search_verify_growth' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.start' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Plan.verdict' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.verdict_sound' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Plan.verifications_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.EmptyB.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.EmptyB.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.FillA.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.FillA.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.Ledger' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.Node' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.Pour.collect' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.Pour.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.Pour.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.Search' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.Step' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.accept' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.accept_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFit.answer' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.attempts' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFit.expansions_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.explained' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFit.extend' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.extract' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.failure' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.fire' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFit.follow' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFit.fresh' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.fresh_ok' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.frontier_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.iterations_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.observe' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.replay' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.replay_fire' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFit.run' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.searchStep' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.search_count' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.search_expanded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.search_ok' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.search_peak' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.search_step' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.search_verify_growth' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.start' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFit.verdict' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFit.verdict_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFit.verifications_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.EmptyB.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.EmptyB.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.FillA.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.FillA.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.Ledger' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.Node' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.Pour.collect' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.Pour.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.Pour.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.Search' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.Step' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.accept' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.accept_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitR.answer' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.attempts' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitR.expansions_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.explained' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitR.extend' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.extract' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.failure' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.fire' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitR.follow' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitR.follow_relation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitR.fresh' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.fresh_ok' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.frontier_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.iterations_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.observe' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.replay' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.replay_fire' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitR.run' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.searchStep' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.search_count' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.search_expanded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.search_ok' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.search_peak' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.search_step' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.search_verify_growth' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.start' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitR.verdict' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitR.verdict_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitR.verifications_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.EmptyB.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.EmptyB.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.FillA.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.FillA.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.Ledger' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.Node' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.Pour.collect' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.Pour.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.Pour.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.Search' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.Step' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.accept' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.accept_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitU.answer' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.attempts' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitU.expansions_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.explained' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitU.extend' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.extract' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.failure' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.fire' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitU.follow' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitU.fresh' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.fresh_ok' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.frontier_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.iterations_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.observe' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.replay' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.replay_fire' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitU.run' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.searchStep' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.search_count' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.search_expanded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.search_ok' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.search_peak' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.search_step' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.search_verify_growth' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.start' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.successors' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.successors_ok' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.PlanFitU.verdict' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.PlanFitU.verdict_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.PlannerOracle.PlanFitU.verifications_bounded' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.Pour.apply' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Pour.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.Pour.candidates' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Pour.conclusion' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Pour.guard' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Pouring.preserves' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Whole' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.Within' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.empty_jugs_fit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.emptyb_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.filla_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.fits_kept' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.held_initial' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.held_preserved' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.measuresCheck' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.measures_sound' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.plan_fit_correct' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.PlannerOracle.plan_held_correct' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.PlannerOracle.plan_whole_correct' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.PlannerOracle.pour_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.PlannerOracle.wholeCheck' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.whole_sound' depends on axioms: [propext]\n'LexLeanTarget.PlannerOracle.withinCheck' does not depend on any axioms\n'LexLeanTarget.PlannerOracle.within_sound' depends on axioms: [propext]\n","stdout_sha256":"0758e97b7a8f57ecef82cca97e2d440e8ff64d83b29d17bef960473b67dec2b7","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.ReasoningFixtures.process.json b/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.ReasoningFixtures.process.json deleted file mode 100644 index 891f23a19..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.ReasoningFixtures.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.ReasoningFixtures.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.ReasoningFixtures","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.ReasoningFixtures.encodeDoseSteps' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.encodeDoseStepsOne' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.encodeFailure' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.encodePlanSteps' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.encodePlanStepsOne' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.encodeScreenSteps' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.encodeScreenStepsOne' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.encodeTriageStep' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.encodeTriageSteps' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningDose120Agrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningDose120Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningDose120Program' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningDose120Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningDose60Agrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningDose60Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningDose60Program' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningDose60Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGnafGoalAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGnafGoalOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGnafGoalProgram' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningGnafGoalRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGnafPriorityAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGnafPriorityOutcome' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGnafPriorityProgram' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningGnafPriorityRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGnafSweepAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGnafSweepOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGnafSweepProgram' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningGnafSweepRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGradeShockAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGradeShockOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGradeShockProgram' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningGradeShockRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGradeWellAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGradeWellOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningGradeWellProgram' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningGradeWellRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningPlan2Agrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningPlan2Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningPlan2Program' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningPlan2Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningPlan5Agrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningPlan5Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningPlan5Program' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningPlan5Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningReviewExhaustedAgrees' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningReviewExhaustedOutcome' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningReviewExhaustedProgram' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningReviewExhaustedRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningReviewRejectedAgrees' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningReviewRejectedOutcome' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningReviewRejectedProgram' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningReviewRejectedRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningScreen0Agrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningScreen0Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningScreen0Program' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningScreen0Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningScreen100Agrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningScreen100Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningScreen100Program' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningScreen100Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningScreen60Agrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningScreen60Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningScreen60Program' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningScreen60Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningSpend2Agrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningSpend2Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningSpend2Program' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningSpend2Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningTriageShockAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningTriageShockOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningTriageShockProgram' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningTriageShockRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningTriageTracedAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningTriageTracedOutcome' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningTriageTracedProgram' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningTriageTracedRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningTriageWellAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningTriageWellOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningFixtures.reasoningTriageWellProgram' does not depend on any axioms\n'LexLeanTarget.ReasoningFixtures.reasoningTriageWellRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n","stdout_sha256":"1de37e5613059ad2366b5f16de757528c552aa5af91db58ab847229eab7edaef","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.ReasoningOracle.process.json b/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.ReasoningOracle.process.json deleted file mode 100644 index 08c7d5ec9..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.ReasoningOracle.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.ReasoningOracle.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.ReasoningOracle","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.ReasoningOracle.Chart' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Consistent' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Discharged' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Escalate.apply' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Escalate.apply_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Escalate.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Escalate.conclusion' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Escalate.guard' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Febrile' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Fever.apply' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Fever.apply_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Fever.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Fever.conclusion' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Fever.guard' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Findings.preserves' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Hypotensive' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Indicated' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Justified' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Leukocytic' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Leukocytosis.apply' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Leukocytosis.apply_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Leukocytosis.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Leukocytosis.conclusion' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Leukocytosis.guard' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Outpatient.sound' depends on axioms: [propext]\n'LexLeanTarget.ReasoningOracle.Pending' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Recommendation.complete' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Recommendation.sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Review' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.Ledger' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.Run' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.Step' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.accept' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.accept_sound' depends on axioms: [propext]\n'LexLeanTarget.ReasoningOracle.Review.account' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.answer' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.attempts' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.conclude' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.conclude_accept' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.conclude_sound' depends on axioms: [propext]\n'LexLeanTarget.ReasoningOracle.Review.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Review.explained' depends on axioms: [propext]\n'LexLeanTarget.ReasoningOracle.Review.extract' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.fire' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Review.firings_bounded' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.follow' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Review.iterations_bounded' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.next' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.next_preserves' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Review.next_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Review.observe' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.replay' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.replay_fire' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Review.run' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.run_state' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.run_trace' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.saturate' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.saturate_derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Review.saturate_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Review.select' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.start' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.step' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.step_count' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.step_fired' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.step_none' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.step_some' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.step_trace' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.verdict' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Review.verdict_sound' depends on axioms: [propext]\n'LexLeanTarget.ReasoningOracle.Sepsis.apply' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Sepsis.apply_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Sepsis.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Sepsis.conclusion' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Sepsis.guard' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Shock.apply' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Shock.apply_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Shock.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Shock.conclusion' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Shock.guard' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Sirs.apply' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Sirs.apply_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Sirs.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Sirs.conclusion' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Sirs.guard' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Tachycardia.apply' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Tachycardia.apply_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Tachycardia.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Tachycardia.conclusion' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Tachycardia.guard' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Tachycardic' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Tachypnea.apply' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Tachypnea.apply_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Tachypnea.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Tachypnea.conclusion' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Tachypnea.guard' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Tachypneic' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.Ledger' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.Run' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.Step' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.accept' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.accept_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Triage.account' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.answer' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.attempts' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.conclude' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.conclude_accept' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.conclude_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Triage.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Triage.explained' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Triage.extract' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.fire' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.fire_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Triage.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Triage.firings_bounded' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.follow' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Triage.iterations_bounded' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.next' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.next_preserves' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Triage.next_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Triage.next_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Triage.observe' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.replay' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.replay_fire' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Triage.run' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.run_state' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.run_trace' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.saturate' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.saturate_derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Triage.saturate_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Triage.saturates' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Triage.select' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.start' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.step' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.step_count' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.step_fired' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.step_none' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.step_some' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.step_trace' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.verdict' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Triage.verdict_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.Vitals' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.Warranted' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.admitted_consistent' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.admitted_pending' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.consistent_preserved' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.dischargeCheck' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.discharge_sound' depends on axioms: [propext]\n'LexLeanTarget.ReasoningOracle.escalate_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.escalate_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.fever_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.fever_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.feverish' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.hypotensive' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.leukocytic' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.leukocytosis_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.leukocytosis_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.recommendationCheck' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.recommendation_complete' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.recommendation_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.sepsis_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.sepsis_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.shock_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.shock_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.sirs_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.sirs_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.tachycardia_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.tachycardia_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.tachycardic' does not depend on any axioms\n'LexLeanTarget.ReasoningOracle.tachypnea_progress' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.ReasoningOracle.tachypnea_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.ReasoningOracle.tachypneic' does not depend on any axioms\n","stdout_sha256":"6379b45e287b8ba78784669ac39cab6f41ad650597c513813a6a806f7cd9a16a","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.RustSemantics.process.json b/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.RustSemantics.process.json deleted file mode 100644 index 16aea41ee..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.RustSemantics.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.RustSemantics.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.RustSemantics","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.RustSemantics.ROutcome' does not depend on any axioms\n'LexLeanTarget.RustSemantics.ROutcomes' does not depend on any axioms\n'LexLeanTarget.RustSemantics.allWidth' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns' does not depend on any axioms\n'LexLeanTarget.RustSemantics.constructValue' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched' does not depend on any axioms\n'LexLeanTarget.RustSemantics.eval' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.fallibleType' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findArm' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findFunction' does not depend on any axioms\n'LexLeanTarget.RustSemantics.finished' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth' does not depend on any axioms\n'LexLeanTarget.RustSemantics.invoke' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.isBytes' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemAccepts' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemShifts' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber' does not depend on any axioms\n'LexLeanTarget.RustSemantics.literal' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.lookup' does not depend on any axioms\n'LexLeanTarget.RustSemantics.patternsOf' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated' does not depend on any axioms\n'LexLeanTarget.RustSemantics.returned' does not depend on any axioms\n'LexLeanTarget.RustSemantics.runExport' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.runItem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.sameIdent' does not depend on any axioms\n'LexLeanTarget.RustSemantics.widened' does not depend on any axioms\n","stdout_sha256":"c4a74f7df92c28739cb1b581e499298ce1763d48d3d86b5e835853a86cf5a339","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.RustSyntax.process.json b/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.RustSyntax.process.json deleted file mode 100644 index e0bb9e5ee..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.RustSyntax.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.RustSyntax.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.RustSyntax","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.RustSyntax.Arm' does not depend on any axioms\n'LexLeanTarget.RustSyntax.Block' does not depend on any axioms\n'LexLeanTarget.RustSyntax.Callee' does not depend on any axioms\n'LexLeanTarget.RustSyntax.CaptureRead' does not depend on any axioms\n'LexLeanTarget.RustSyntax.Crate' does not depend on any axioms\n'LexLeanTarget.RustSyntax.Ctor' does not depend on any axioms\n'LexLeanTarget.RustSyntax.Dispatch' does not depend on any axioms\n'LexLeanTarget.RustSyntax.Expr' does not depend on any axioms\n'LexLeanTarget.RustSyntax.Ident' does not depend on any axioms\n'LexLeanTarget.RustSyntax.IdentKind' does not depend on any axioms\n'LexLeanTarget.RustSyntax.Item' does not depend on any axioms\n'LexLeanTarget.RustSyntax.ItemDef' does not depend on any axioms\n'LexLeanTarget.RustSyntax.Let' does not depend on any axioms\n'LexLeanTarget.RustSyntax.Lit' does not depend on any axioms\n'LexLeanTarget.RustSyntax.Parameter' does not depend on any axioms\n'LexLeanTarget.RustSyntax.Pat' does not depend on any axioms\n'LexLeanTarget.RustSyntax.Profile' does not depend on any axioms\n'LexLeanTarget.RustSyntax.RustType' does not depend on any axioms\n'LexLeanTarget.RustSyntax.Variant' does not depend on any axioms\n","stdout_sha256":"340586ca755a53bbd0e772cc6bb0bd43c7dc6e45a64449a50df424ff1ad72629","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.ScreeningOracle.process.json b/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.ScreeningOracle.process.json deleted file mode 100644 index bcc22797c..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.ScreeningOracle.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.ScreeningOracle.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.ScreeningOracle","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.ScreeningOracle.Dose' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Dose.Ledger' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Dose.Step' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Dose.Trial' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Dose.answer' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Dose.candidates' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Dose.explained' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.Dose.failure' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Dose.run' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Dose.run_sound' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.Dose.try' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Dose.try_count' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Dose.try_sound' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.Dose.verdict' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Dose.verdict_sound' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.Dose.verifications_bounded' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Dose.verify' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Dose.verify_sound' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.DoseCandidates' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.DoseContract.postcondition_sound' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.DoseModel' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Propose.apply' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Propose.apply_sound' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.Propose.candidates' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Propose.conclusion' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Propose.guard' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Proposed' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Safe' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.SafeDose.sound' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.Screen' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.Ledger' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.Node' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.Propose.collect' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.Propose.successors' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.Propose.successors_ok' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.Search' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.Step' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.accept' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.accept_sound' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.Screen.answer' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.attempts' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.derivation' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.Screen.expansions_bounded' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.explained' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.Screen.extend' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.extract' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.failure' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.fire' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.fire_sound' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.Screen.follow' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.frontier_bounded' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.iterations_bounded' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.observe' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.replay' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.replay_fire' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.replay_sound' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.Screen.run' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.searchStep' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.search_count' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.search_expanded' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.search_ok' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.search_peak' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.search_step' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.search_verify_growth' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.start' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.successors' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.successors_ok' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.verdict' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Screen.verdict_sound' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.Screen.verifications_bounded' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.Short' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.propose_sound' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.safeCheck' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.safe_sound' depends on axioms: [propext]\n'LexLeanTarget.ScreeningOracle.shortCheck' does not depend on any axioms\n'LexLeanTarget.ScreeningOracle.short_sound' depends on axioms: [propext]\n","stdout_sha256":"9d44b4b2ace8f5e69c8889eeabedaab7479c25761828af32df261812b28b9066","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.TargetFixtures.process.json b/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.TargetFixtures.process.json deleted file mode 100644 index a26dc127b..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.TargetFixtures.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.TargetFixtures.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.TargetFixtures","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.TargetFixtures.adtEvaluationOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.adtEvaluationProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.adtEvaluationRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.bindingAndShapesOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.bindingAndShapesProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.bindingAndShapesRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.booleanShapesOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.booleanShapesProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.booleanShapesRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.booleansOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.booleansProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.booleansRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.boxedFieldOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.boxedFieldProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.boxedFieldRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.byteCompareProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.byteCompareRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.byteOrderProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.byteOrderRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.byteSlicesOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.byteSlicesProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.byteSlicesRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.bytesAndTextOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.bytesAndTextProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.bytesAndTextRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.closureCapturesOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.closureCapturesProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.closureCapturesRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.closureDispatchOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.closureDispatchProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.closureDispatchRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.closureInlineOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.closureInlineProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.closureInlineRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.closureRecursiveOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.closureRecursiveProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.closureRecursiveRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.closureUninhabitedOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.closureUninhabitedProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.closureUninhabitedRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.closureValueOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.closureValueProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.closureValueRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.closuresOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.closuresProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.closuresRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.convertOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.convertProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.convertRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.decimalOverflowProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.decimalOverflowRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.decimalOverflowWideProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.decimalOverflowWideRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.decimalProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.decimalRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.equalityOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.equalityProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.equalityRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fallibleConditionValueOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fallibleConditionValueProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fallibleConditionValueRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedBitsSignedOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedBitsSignedProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedBitsSignedRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedBitsUnsignedOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedBitsUnsignedProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedBitsUnsignedRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedCheckedNarrowOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedCheckedNarrowProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedCheckedNarrowRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedCheckedSignedOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedCheckedSignedProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedCheckedSignedRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedCheckedWideOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedCheckedWideProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedCheckedWideRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedDecimalI16Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedDecimalI16Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedDecimalI32Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedDecimalI32Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedDecimalI64Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedDecimalI64Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedDecimalI8Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedDecimalI8Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedDecimalU16Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedDecimalU16Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedDecimalU32Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedDecimalU32Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedDecimalU64Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedDecimalU64Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedDecimalU8Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedDecimalU8Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthI16Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthI16Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedWidthI16Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthI32Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthI32Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedWidthI32Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthI64Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthI64Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedWidthI64Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthI8Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthI8Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedWidthI8Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthU16Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthU16Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedWidthU16Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthU32Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthU32Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedWidthU32Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthU64Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthU64Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedWidthU64Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthU8Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.fixedWidthU8Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.fixedWidthU8Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.functionShapesOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.functionShapesProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.functionShapesRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphReachableAbsentAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphReachableAbsentOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphReachableAbsentProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.graphReachableAbsentRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphReachableAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphReachableInnerAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphReachableInnerOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphReachableInnerProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.graphReachableInnerRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphReachableOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphReachableProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.graphReachableRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphSuccessorsAbsentAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphSuccessorsAbsentOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphSuccessorsAbsentProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.graphSuccessorsAbsentRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphSuccessorsAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphSuccessorsOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphSuccessorsProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.graphSuccessorsRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphTopologicalAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphTopologicalCycleAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphTopologicalCycleOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphTopologicalCycleProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.graphTopologicalCycleRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphTopologicalOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.graphTopologicalProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.graphTopologicalRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.intArithmeticOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.intArithmeticProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.intArithmeticRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.intOverflowMulOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.intOverflowMulProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.intOverflowMulRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.intOverflowNegOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.intOverflowNegProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.intOverflowNegRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.intOverflowQuotOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.intOverflowQuotProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.intOverflowQuotRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.intOverflowSubOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.intOverflowSubProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.intOverflowSubRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.iterateAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.iterateOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.iterateProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.iterateRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.iterateUntilAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.iterateUntilBoundedAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.iterateUntilBoundedOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.iterateUntilBoundedProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.iterateUntilBoundedRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.iterateUntilOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.iterateUntilProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.iterateUntilRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.listAppendLongOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.listAppendLongProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.listAppendLongRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.listFoldAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.listFoldOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.listFoldProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.listFoldRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.listsOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.listsProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.listsRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.literalsOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.literalsProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.literalsRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapContainsAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapContainsOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapContainsProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.mapContainsRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapFoldAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapFoldOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapFoldProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.mapFoldRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapInsertAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapInsertLastAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapInsertLastOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapInsertLastProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.mapInsertLastRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapInsertOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapInsertProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.mapInsertReplaceAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapInsertReplaceOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapInsertReplaceProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.mapInsertReplaceRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapInsertRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapKeysAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapKeysOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapKeysProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.mapKeysRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapLookupAbsentAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapLookupAbsentOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapLookupAbsentProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.mapLookupAbsentRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapLookupAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapLookupOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapLookupProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.mapLookupRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapRemoveAbsentAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapRemoveAbsentOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapRemoveAbsentProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.mapRemoveAbsentRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapRemoveAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapRemoveOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapRemoveProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.mapRemoveRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapValuesAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapValuesOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.mapValuesProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.mapValuesRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.matchShapesOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.matchShapesProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.matchShapesRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.natArithmeticOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.natArithmeticProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.natArithmeticRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.natOverflowAddOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.natOverflowAddProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.natOverflowAddRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.natOverflowMulOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.natOverflowMulProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.natOverflowMulRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.natOverflowNestedOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.natOverflowNestedProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.natOverflowNestedRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.natOverflowSuccOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.natOverflowSuccProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.natOverflowSuccRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.orderingOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.orderingProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.orderingRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.pairAndListMatchOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.pairAndListMatchProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.pairAndListMatchRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.recordFieldsOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.recordFieldsProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.recordFieldsRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setContainsAbsentAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setContainsAbsentOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setContainsAbsentProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.setContainsAbsentRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setContainsAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setContainsOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setContainsProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.setContainsRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setDifferenceAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setDifferenceOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setDifferenceProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.setDifferenceRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setFoldAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setFoldOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setFoldProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.setFoldRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertBoolAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertBoolOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertBoolProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.setInsertBoolRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertInt8Agrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertInt8Outcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertInt8Program' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.setInsertInt8Run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertIntAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertIntOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertIntProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.setInsertIntRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertNatAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertNatOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertNatProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.setInsertNatRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertProductAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertProductOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertProductProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.setInsertProductRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertStringAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertStringOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setInsertStringProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.setInsertStringRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setIntersectionAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setIntersectionOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setIntersectionProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.setIntersectionRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setRemoveAbsentAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setRemoveAbsentOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setRemoveAbsentProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.setRemoveAbsentRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setRemoveAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setRemoveOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setRemoveProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.setRemoveRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setUnionAgrees' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setUnionOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.setUnionProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.setUnionRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.splitAndJoinProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.splitAndJoinRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.stringEscapesOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.stringEscapesProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.stringEscapesRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.sumToExhaustedOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.sumToExhaustedProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.sumToExhaustedRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.sumToOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.sumToProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.sumToRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.unitClosuresOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.unitClosuresProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.unitClosuresRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.unitValuesOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.unitValuesProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.unitValuesRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.wideShapesOutcome' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetFixtures.wideShapesProgram' does not depend on any axioms\n'LexLeanTarget.TargetFixtures.wideShapesRun' depends on axioms: [propext, Classical.choice, Quot.sound]\n","stdout_sha256":"9028f03268ae25228c0a1c64afc3998515828206dcf201c38e280caf05fb7ca0","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.TargetOracle.process.json b/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.TargetOracle.process.json deleted file mode 100644 index 91cdba716..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.TargetOracle.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.TargetOracle.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.TargetOracle","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.TargetOracle.encodeAdjacency' does not depend on any axioms\n'LexLeanTarget.TargetOracle.encodeBools' does not depend on any axioms\n'LexLeanTarget.TargetOracle.encodeI8s' does not depend on any axioms\n'LexLeanTarget.TargetOracle.encodeInts' does not depend on any axioms\n'LexLeanTarget.TargetOracle.encodeNatStrings' does not depend on any axioms\n'LexLeanTarget.TargetOracle.encodeNats' does not depend on any axioms\n'LexLeanTarget.TargetOracle.encodeStrings' does not depend on any axioms\n","stdout_sha256":"e5d09f1ed61a07fda3dba02d424da6b01bceef18c4e1e3c70b41a8c133503ccd","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.TargetSemantics.process.json b/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.TargetSemantics.process.json deleted file mode 100644 index e39f0ee8f..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.TargetSemantics.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.TargetSemantics.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.TargetSemantics","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.TargetSemantics.Outcome' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.Outcomes' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.addSteps' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.chargeResult' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValues' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.construct' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.depth' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.eval' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.fromOrdering' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.fromStrings' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.intResult' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.TargetSemantics.lookup' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.natResult' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderBool' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.orderI16' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderI32' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderI64' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderI8' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderInt' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderNat' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderOf' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderString' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU16' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderU32' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderU64' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderU8' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.primitive' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.run' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.sameOrder' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.toStrings' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.weight' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.weights' depends on axioms: [propext, Classical.choice, Quot.sound]\n","stdout_sha256":"5db7059cbd2e67dd7cdac827d671c436156acb744114ba6a068eca77cfb130ca","tool":"lean"} diff --git a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.TargetSyntax.process.json b/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.TargetSyntax.process.json deleted file mode 100644 index 5bab5e758..000000000 --- a/compiler/expected/verify/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.TargetSyntax.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.TargetSyntax.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Adb95ebb72452fe3ab8eac477f9699800.LexLeanTarget.TargetSyntax","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanTarget.TargetSyntax.Adt' does not depend on any axioms\n'LexLeanTarget.TargetSyntax.Arm' does not depend on any axioms\n'LexLeanTarget.TargetSyntax.Expr' does not depend on any axioms\n'LexLeanTarget.TargetSyntax.Function' does not depend on any axioms\n'LexLeanTarget.TargetSyntax.IntKind' does not depend on any axioms\n'LexLeanTarget.TargetSyntax.Order' does not depend on any axioms\n'LexLeanTarget.TargetSyntax.Prim' does not depend on any axioms\n'LexLeanTarget.TargetSyntax.Program' does not depend on any axioms\n'LexLeanTarget.TargetSyntax.Shape' does not depend on any axioms\n'LexLeanTarget.TargetSyntax.Ty' does not depend on any axioms\n'LexLeanTarget.TargetSyntax.Value' does not depend on any axioms\n","stdout_sha256":"81b555d6535a4ba91c825f93f1d0da80257f7eb8f83fff55f85f7e2fe759deba","tool":"lean"} diff --git a/compiler/expected/verify/audit/output.txt b/compiler/expected/verify/audit/output.txt index 5b80f9b4b..2be2c08ae 100644 --- a/compiler/expected/verify/audit/output.txt +++ b/compiler/expected/verify/audit/output.txt @@ -1,3 +1,339 @@ +'LexLeanCollections.Key' does not depend on any axioms +'LexLeanCollections.Key.casesOn' does not depend on any axioms +'LexLeanCollections.Key.compare' does not depend on any axioms +'LexLeanCollections.Key.ctorIdx' does not depend on any axioms +'LexLeanCollections.Key.mk._flat_ctor' does not depend on any axioms +'LexLeanCollections.Key.mk.noConfusion' does not depend on any axioms +'LexLeanCollections.Key.noConfusion' does not depend on any axioms +'LexLeanCollections.Key.noConfusionType' does not depend on any axioms +'LexLeanCollections.Key.recOn' does not depend on any axioms +'LexLeanCollections.compareCodes' depends on axioms: [propext] +'LexLeanCollections.compareCodes._f' depends on axioms: [propext] +'LexLeanCollections.compareCodes._sparseCasesOn_1' depends on axioms: [propext] +'LexLeanCollections.compareCodes._sunfold' depends on axioms: [propext] +'LexLeanCollections.compareCodes._unsafe_rec' depends on axioms: [propext] +'LexLeanCollections.compareCodes.match_1' depends on axioms: [propext] +'LexLeanCollections.compareCodes.match_4' does not depend on any axioms +'LexLeanCollections.containsElement' does not depend on any axioms +'LexLeanCollections.containsElement._f' does not depend on any axioms +'LexLeanCollections.containsElement._sunfold' does not depend on any axioms +'LexLeanCollections.containsElement._unsafe_rec' does not depend on any axioms +'LexLeanCollections.graphNodes' does not depend on any axioms +'LexLeanCollections.graphReachable' depends on axioms: [propext] +'LexLeanCollections.graphSuccessors' does not depend on any axioms +'LexLeanCollections.graphTopological' does not depend on any axioms +'LexLeanCollections.insertElement' does not depend on any axioms +'LexLeanCollections.insertElement._f' does not depend on any axioms +'LexLeanCollections.insertElement._sunfold' does not depend on any axioms +'LexLeanCollections.insertElement._unsafe_rec' does not depend on any axioms +'LexLeanCollections.insertElement.match_1' does not depend on any axioms +'LexLeanCollections.insertEntry' does not depend on any axioms +'LexLeanCollections.insertEntry._f' does not depend on any axioms +'LexLeanCollections.insertEntry._sunfold' does not depend on any axioms +'LexLeanCollections.insertEntry._unsafe_rec' does not depend on any axioms +'LexLeanCollections.insertEntry.match_1' does not depend on any axioms +'LexLeanCollections.insertEntry.match_3' does not depend on any axioms +'LexLeanCollections.instKeyBool' depends on axioms: [propext] +'LexLeanCollections.instKeyInt' does not depend on any axioms +'LexLeanCollections.instKeyInt16' does not depend on any axioms +'LexLeanCollections.instKeyInt32' does not depend on any axioms +'LexLeanCollections.instKeyInt64' does not depend on any axioms +'LexLeanCollections.instKeyInt8' does not depend on any axioms +'LexLeanCollections.instKeyNat' does not depend on any axioms +'LexLeanCollections.instKeyProd' depends on axioms: [propext] +'LexLeanCollections.instKeyString' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanCollections.instKeyUInt16' does not depend on any axioms +'LexLeanCollections.instKeyUInt32' does not depend on any axioms +'LexLeanCollections.instKeyUInt64' does not depend on any axioms +'LexLeanCollections.instKeyUInt8' does not depend on any axioms +'LexLeanCollections.iterate' does not depend on any axioms +'LexLeanCollections.iterate._f' does not depend on any axioms +'LexLeanCollections.iterate._sunfold' does not depend on any axioms +'LexLeanCollections.iterate._unsafe_rec' does not depend on any axioms +'LexLeanCollections.iterate.match_1' does not depend on any axioms +'LexLeanCollections.iterateUntil' does not depend on any axioms +'LexLeanCollections.iterateUntil._f' does not depend on any axioms +'LexLeanCollections.iterateUntil._sunfold' does not depend on any axioms +'LexLeanCollections.iterateUntil._unsafe_rec' does not depend on any axioms +'LexLeanCollections.iterateUntil.match_1' does not depend on any axioms +'LexLeanCollections.lessThan' depends on axioms: [propext] +'LexLeanCollections.lessThan._sparseCasesOn_1' depends on axioms: [propext] +'LexLeanCollections.lessThan.match_1' depends on axioms: [propext] +'LexLeanCollections.listFold' does not depend on any axioms +'LexLeanCollections.lookupEntry' does not depend on any axioms +'LexLeanCollections.lookupEntry._f' does not depend on any axioms +'LexLeanCollections.lookupEntry._sunfold' does not depend on any axioms +'LexLeanCollections.lookupEntry._unsafe_rec' does not depend on any axioms +'LexLeanCollections.mapContains' does not depend on any axioms +'LexLeanCollections.mapEntries' does not depend on any axioms +'LexLeanCollections.mapFold' does not depend on any axioms +'LexLeanCollections.mapInsert' does not depend on any axioms +'LexLeanCollections.mapKeys' does not depend on any axioms +'LexLeanCollections.mapLookup' does not depend on any axioms +'LexLeanCollections.mapRemove' does not depend on any axioms +'LexLeanCollections.mapSize' does not depend on any axioms +'LexLeanCollections.mapValues' does not depend on any axioms +'LexLeanCollections.reachableFrom' depends on axioms: [propext] +'LexLeanCollections.reachableFrom._f' depends on axioms: [propext] +'LexLeanCollections.reachableFrom._sparseCasesOn_1' depends on axioms: [propext] +'LexLeanCollections.reachableFrom._sunfold' depends on axioms: [propext] +'LexLeanCollections.reachableFrom._unsafe_rec' depends on axioms: [propext] +'LexLeanCollections.reachableFrom.match_1' depends on axioms: [propext] +'LexLeanCollections.reachableFrom.match_4' does not depend on any axioms +'LexLeanCollections.removeElement' does not depend on any axioms +'LexLeanCollections.removeElement._f' does not depend on any axioms +'LexLeanCollections.removeElement._sunfold' does not depend on any axioms +'LexLeanCollections.removeElement._unsafe_rec' does not depend on any axioms +'LexLeanCollections.removeEntry' does not depend on any axioms +'LexLeanCollections.removeEntry._f' does not depend on any axioms +'LexLeanCollections.removeEntry._sunfold' does not depend on any axioms +'LexLeanCollections.removeEntry._unsafe_rec' does not depend on any axioms +'LexLeanCollections.setContains' does not depend on any axioms +'LexLeanCollections.setDifference' does not depend on any axioms +'LexLeanCollections.setElements' does not depend on any axioms +'LexLeanCollections.setFold' does not depend on any axioms +'LexLeanCollections.setInsert' does not depend on any axioms +'LexLeanCollections.setIntersection' does not depend on any axioms +'LexLeanCollections.setRemove' does not depend on any axioms +'LexLeanCollections.setSize' does not depend on any axioms +'LexLeanCollections.setUnion' does not depend on any axioms +'LexLeanCollections.topological' does not depend on any axioms +'LexLeanCollections.topological._f' does not depend on any axioms +'LexLeanCollections.topological._sunfold' does not depend on any axioms +'LexLeanCollections.topological._unsafe_rec' does not depend on any axioms +'LexLeanModels.Agreement' does not depend on any axioms +'LexLeanModels.Complete1' does not depend on any axioms +'LexLeanModels.Complete2' does not depend on any axioms +'LexLeanModels.Complete4' does not depend on any axioms +'LexLeanModels.Equivalent' does not depend on any axioms +'LexLeanModels.EquivalentStep' does not depend on any axioms +'LexLeanModels.EquivalentStepNoInvariant' does not depend on any axioms +'LexLeanModels.EquivalentStepNoPrecondition' does not depend on any axioms +'LexLeanModels.EquivalentStepTotal' does not depend on any axioms +'LexLeanModels.EquivalentTotal' does not depend on any axioms +'LexLeanModels.Initial' does not depend on any axioms +'LexLeanModels.Preserves' does not depend on any axioms +'LexLeanModels.PreservesTotal' does not depend on any axioms +'LexLeanModels.Satisfies' does not depend on any axioms +'LexLeanModels.SatisfiesStep' does not depend on any axioms +'LexLeanModels.SatisfiesStepNoInvariant' does not depend on any axioms +'LexLeanModels.SatisfiesStepNoPrecondition' does not depend on any axioms +'LexLeanModels.SatisfiesStepTotal' does not depend on any axioms +'LexLeanModels.SatisfiesTotal' does not depend on any axioms +'LexLeanModels.Sound1' does not depend on any axioms +'LexLeanModels.Sound2' does not depend on any axioms +'LexLeanModels.Sound4' does not depend on any axioms +'LexLeanModels.encodeInt' does not depend on any axioms +'LexLeanModels.inRange' does not depend on any axioms +'LexLeanModels.linesMatch' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanModels.tensorMatches' does not depend on any axioms +'LexLeanModels.utf8Char' does not depend on any axioms +'LexLeanRuntime.Appendable' does not depend on any axioms +'LexLeanRuntime.Appendable.append' does not depend on any axioms +'LexLeanRuntime.Appendable.casesOn' does not depend on any axioms +'LexLeanRuntime.Appendable.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Appendable.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Appendable.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Appendable.noConfusion' does not depend on any axioms +'LexLeanRuntime.Appendable.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Appendable.recOn' does not depend on any axioms +'LexLeanRuntime.Decimal' does not depend on any axioms +'LexLeanRuntime.Decimal.casesOn' does not depend on any axioms +'LexLeanRuntime.Decimal.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Decimal.format' does not depend on any axioms +'LexLeanRuntime.Decimal.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Decimal.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Decimal.noConfusion' does not depend on any axioms +'LexLeanRuntime.Decimal.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Decimal.parse' does not depend on any axioms +'LexLeanRuntime.Decimal.recOn' does not depend on any axioms +'LexLeanRuntime.Fixed' does not depend on any axioms +'LexLeanRuntime.Fixed.bitAnd' does not depend on any axioms +'LexLeanRuntime.Fixed.bitNot' does not depend on any axioms +'LexLeanRuntime.Fixed.bitOr' does not depend on any axioms +'LexLeanRuntime.Fixed.bitXor' does not depend on any axioms +'LexLeanRuntime.Fixed.casesOn' does not depend on any axioms +'LexLeanRuntime.Fixed.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Fixed.fromInt' does not depend on any axioms +'LexLeanRuntime.Fixed.maximum' does not depend on any axioms +'LexLeanRuntime.Fixed.minimum' does not depend on any axioms +'LexLeanRuntime.Fixed.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Fixed.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Fixed.noConfusion' does not depend on any axioms +'LexLeanRuntime.Fixed.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Fixed.recOn' does not depend on any axioms +'LexLeanRuntime.Fixed.shiftLeft' does not depend on any axioms +'LexLeanRuntime.Fixed.shiftRight' does not depend on any axioms +'LexLeanRuntime.Fixed.toToMathInt' does not depend on any axioms +'LexLeanRuntime.Indexable' does not depend on any axioms +'LexLeanRuntime.Indexable.casesOn' does not depend on any axioms +'LexLeanRuntime.Indexable.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Indexable.index' does not depend on any axioms +'LexLeanRuntime.Indexable.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Indexable.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Indexable.noConfusion' does not depend on any axioms +'LexLeanRuntime.Indexable.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Indexable.recOn' does not depend on any axioms +'LexLeanRuntime.Lengthable' does not depend on any axioms +'LexLeanRuntime.Lengthable.casesOn' does not depend on any axioms +'LexLeanRuntime.Lengthable.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Lengthable.length' does not depend on any axioms +'LexLeanRuntime.Lengthable.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Lengthable.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Lengthable.noConfusion' does not depend on any axioms +'LexLeanRuntime.Lengthable.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Lengthable.recOn' does not depend on any axioms +'LexLeanRuntime.Quotient' does not depend on any axioms +'LexLeanRuntime.Quotient.casesOn' does not depend on any axioms +'LexLeanRuntime.Quotient.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Quotient.isZero' does not depend on any axioms +'LexLeanRuntime.Quotient.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Quotient.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Quotient.noConfusion' does not depend on any axioms +'LexLeanRuntime.Quotient.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Quotient.quotient' does not depend on any axioms +'LexLeanRuntime.Quotient.recOn' does not depend on any axioms +'LexLeanRuntime.Quotient.remainder' does not depend on any axioms +'LexLeanRuntime.Sliceable' does not depend on any axioms +'LexLeanRuntime.Sliceable.casesOn' does not depend on any axioms +'LexLeanRuntime.Sliceable.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Sliceable.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Sliceable.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Sliceable.noConfusion' does not depend on any axioms +'LexLeanRuntime.Sliceable.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Sliceable.recOn' does not depend on any axioms +'LexLeanRuntime.Sliceable.slice' does not depend on any axioms +'LexLeanRuntime.ToMathInt' does not depend on any axioms +'LexLeanRuntime.ToMathInt.casesOn' does not depend on any axioms +'LexLeanRuntime.ToMathInt.ctorIdx' does not depend on any axioms +'LexLeanRuntime.ToMathInt.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.ToMathInt.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.ToMathInt.noConfusion' does not depend on any axioms +'LexLeanRuntime.ToMathInt.noConfusionType' does not depend on any axioms +'LexLeanRuntime.ToMathInt.recOn' does not depend on any axioms +'LexLeanRuntime.ToMathInt.toInt' does not depend on any axioms +'LexLeanRuntime.append' does not depend on any axioms +'LexLeanRuntime.bitAnd' does not depend on any axioms +'LexLeanRuntime.bitNot' does not depend on any axioms +'LexLeanRuntime.bitOr' does not depend on any axioms +'LexLeanRuntime.bitXor' does not depend on any axioms +'LexLeanRuntime.checkedAdd' does not depend on any axioms +'LexLeanRuntime.checkedAddInt64' does not depend on any axioms +'LexLeanRuntime.checkedConvert' does not depend on any axioms +'LexLeanRuntime.checkedFromInt' does not depend on any axioms +'LexLeanRuntime.checkedMultiply' does not depend on any axioms +'LexLeanRuntime.checkedMultiplyInt64' does not depend on any axioms +'LexLeanRuntime.checkedMultiplyInt64.match_1' does not depend on any axioms +'LexLeanRuntime.checkedNegate' does not depend on any axioms +'LexLeanRuntime.checkedNegateInt64' does not depend on any axioms +'LexLeanRuntime.checkedQuotient' does not depend on any axioms +'LexLeanRuntime.checkedQuotientInt64' does not depend on any axioms +'LexLeanRuntime.checkedSubtract' does not depend on any axioms +'LexLeanRuntime.checkedSubtractInt64' does not depend on any axioms +'LexLeanRuntime.compareBytes' depends on axioms: [propext] +'LexLeanRuntime.divideMagnitudeInt64' does not depend on any axioms +'LexLeanRuntime.divideMagnitudeInt64._f' does not depend on any axioms +'LexLeanRuntime.divideMagnitudeInt64._sunfold' does not depend on any axioms +'LexLeanRuntime.divideMagnitudeInt64._unsafe_rec' does not depend on any axioms +'LexLeanRuntime.divideMagnitudeInt64.match_1' does not depend on any axioms +'LexLeanRuntime.equal' does not depend on any axioms +'LexLeanRuntime.formatDecimal' does not depend on any axioms +'LexLeanRuntime.index' does not depend on any axioms +'LexLeanRuntime.instAppendableByteArray' does not depend on any axioms +'LexLeanRuntime.instAppendableList' does not depend on any axioms +'LexLeanRuntime.instDecimalInt' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.instDecimalInt.match_1' does not depend on any axioms +'LexLeanRuntime.instDecimalOfFixedOfToString' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.instFixedInt16' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedInt32' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedInt64' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedInt8' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedUInt16' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedUInt32' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedUInt64' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedUInt8' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instIndexableByteArrayUInt8' does not depend on any axioms +'LexLeanRuntime.instIndexableList' does not depend on any axioms +'LexLeanRuntime.instLengthableByteArray' does not depend on any axioms +'LexLeanRuntime.instLengthableList' does not depend on any axioms +'LexLeanRuntime.instLengthableString' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.instQuotientInt' does not depend on any axioms +'LexLeanRuntime.instQuotientNat' does not depend on any axioms +'LexLeanRuntime.instSliceableByteArray' does not depend on any axioms +'LexLeanRuntime.instSliceableList' does not depend on any axioms +'LexLeanRuntime.instToMathIntInt' does not depend on any axioms +'LexLeanRuntime.join' depends on axioms: [propext] +'LexLeanRuntime.length' does not depend on any axioms +'LexLeanRuntime.listIndex' does not depend on any axioms +'LexLeanRuntime.listIndex._f' does not depend on any axioms +'LexLeanRuntime.listIndex._sunfold' does not depend on any axioms +'LexLeanRuntime.listIndex._unsafe_rec' does not depend on any axioms +'LexLeanRuntime.listIndex.match_1' does not depend on any axioms +'LexLeanRuntime.magnitudeInt64' does not depend on any axioms +'LexLeanRuntime.multiply' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64._f' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64._sunfold' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64._unsafe_rec' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64.match_1' does not depend on any axioms +'LexLeanRuntime.negate' does not depend on any axioms +'LexLeanRuntime.parseDecimal' does not depend on any axioms +'LexLeanRuntime.quotient' does not depend on any axioms +'LexLeanRuntime.remainder' does not depend on any axioms +'LexLeanRuntime.shiftLeft' does not depend on any axioms +'LexLeanRuntime.shiftRight' does not depend on any axioms +'LexLeanRuntime.signedMagnitudeInt64' does not depend on any axioms +'LexLeanRuntime.slice' does not depend on any axioms +'LexLeanRuntime.splitExact' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.subtract' does not depend on any axioms +'LexLeanRuntime.utf8Decode' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.utf8Encode' does not depend on any axioms +'LexLeanReasoning.All' does not depend on any axioms +'LexLeanReasoning.All.below' does not depend on any axioms +'LexLeanReasoning.All.below.casesOn' does not depend on any axioms +'LexLeanReasoning.All.brecOn' does not depend on any axioms +'LexLeanReasoning.All.casesOn' does not depend on any axioms +'LexLeanReasoning.All.recOn' does not depend on any axioms +'LexLeanReasoning.Complete' does not depend on any axioms +'LexLeanReasoning.Found' does not depend on any axioms +'LexLeanReasoning.Found.match_1' does not depend on any axioms +'LexLeanReasoning.Preserves' does not depend on any axioms +'LexLeanReasoning.Reaches' does not depend on any axioms +'LexLeanReasoning.SearchOk' does not depend on any axioms +'LexLeanReasoning.Sound' does not depend on any axioms +'LexLeanReasoning.Star' does not depend on any axioms +'LexLeanReasoning.Star.below' does not depend on any axioms +'LexLeanReasoning.Star.below.casesOn' does not depend on any axioms +'LexLeanReasoning.Star.brecOn' does not depend on any axioms +'LexLeanReasoning.Star.casesOn' does not depend on any axioms +'LexLeanReasoning.Star.recOn' does not depend on any axioms +'LexLeanReasoning.allAppend' does not depend on any axioms +'LexLeanReasoning.allFold' does not depend on any axioms +'LexLeanReasoning.allHead' does not depend on any axioms +'LexLeanReasoning.allSingle' does not depend on any axioms +'LexLeanReasoning.allTail' does not depend on any axioms +'LexLeanReasoning.bltSucc' does not depend on any axioms +'LexLeanReasoning.capAll' does not depend on any axioms +'LexLeanReasoning.capBound' does not depend on any axioms +'LexLeanReasoning.checked' does not depend on any axioms +'LexLeanReasoning.foldInvariant' does not depend on any axioms +'LexLeanReasoning.foldSnoc' does not depend on any axioms +'LexLeanReasoning.freshAll' does not depend on any axioms +'LexLeanReasoning.guarded' does not depend on any axioms +'LexLeanReasoning.guardedRank' does not depend on any axioms +'LexLeanReasoning.iterateUntilBound' does not depend on any axioms +'LexLeanReasoning.iterateUntilCount' does not depend on any axioms +'LexLeanReasoning.iterateUntilGrowth' does not depend on any axioms +'LexLeanReasoning.iterateUntilInvariant' does not depend on any axioms +'LexLeanReasoning.iterateUntilSimulate' does not depend on any axioms +'LexLeanReasoning.iterateUntilStops' does not depend on any axioms +'LexLeanReasoning.lengthSnoc' does not depend on any axioms +'LexLeanReasoning.noneSome' does not depend on any axioms +'LexLeanReasoning.peakBound' does not depend on any axioms +'LexLeanReasoning.reachesStart' does not depend on any axioms +'LexLeanReasoning.searchStart' does not depend on any axioms +'LexLeanReasoning.starPreserves' does not depend on any axioms +'LexLeanReasoning.zeroLe' does not depend on any axioms 'LexLeanTarget.BudgetOracle.Burn.apply' does not depend on any axioms 'LexLeanTarget.BudgetOracle.Burn.apply_progress' depends on axioms: [propext, Quot.sound] 'LexLeanTarget.BudgetOracle.Burn.apply_sound' depends on axioms: [propext, Quot.sound] diff --git a/compiler/expected/verify/probe/LexLeanProbe.Pdb95ebb72452fe3ab8eac477f9699800.lean b/compiler/expected/verify/probe/LexLeanProbe.P322344811b7d86d74c93a4f40acd7bac.lean similarity index 100% rename from compiler/expected/verify/probe/LexLeanProbe.Pdb95ebb72452fe3ab8eac477f9699800.lean rename to compiler/expected/verify/probe/LexLeanProbe.P322344811b7d86d74c93a4f40acd7bac.lean diff --git a/compiler/expected/verify/probe/process.json b/compiler/expected/verify/probe/process.json index a9d72fbac..9b8a402bc 100644 --- a/compiler/expected/verify/probe/process.json +++ b/compiler/expected/verify/probe/process.json @@ -1 +1 @@ -{"argv":["env","lean","$STAGING/probe/LexLeanProbe.Pdb95ebb72452fe3ab8eac477f9699800.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.Pdb95ebb72452fe3ab8eac477f9699800","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} +{"argv":["env","lean","$STAGING/probe/LexLeanProbe.P322344811b7d86d74c93a4f40acd7bac.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.P322344811b7d86d74c93a4f40acd7bac","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/compiler/expected/verify/process/lean/LexLeanRuntime.Collections.json b/compiler/expected/verify/process/lean/LexLeanRuntime.Collections.json new file mode 100644 index 000000000..75248f178 --- /dev/null +++ b/compiler/expected/verify/process/lean/LexLeanRuntime.Collections.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/lean-src","-o","$STAGING/oleans/LexLeanRuntime/Collections.olean","$STAGING/lean-src/LexLeanRuntime/Collections.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Collections","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/compiler/expected/verify/process/lean/LexLeanRuntime.Models.json b/compiler/expected/verify/process/lean/LexLeanRuntime.Models.json new file mode 100644 index 000000000..9f0f24f8a --- /dev/null +++ b/compiler/expected/verify/process/lean/LexLeanRuntime.Models.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/lean-src","-o","$STAGING/oleans/LexLeanRuntime/Models.olean","$STAGING/lean-src/LexLeanRuntime/Models.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Models","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/compiler/expected/verify/process/lean/LexLeanRuntime.Portable.json b/compiler/expected/verify/process/lean/LexLeanRuntime.Portable.json new file mode 100644 index 000000000..1ce5b3a39 --- /dev/null +++ b/compiler/expected/verify/process/lean/LexLeanRuntime.Portable.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/lean-src","-o","$STAGING/oleans/LexLeanRuntime/Portable.olean","$STAGING/lean-src/LexLeanRuntime/Portable.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Portable","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/compiler/expected/verify/process/lean/LexLeanRuntime.Reasoning.json b/compiler/expected/verify/process/lean/LexLeanRuntime.Reasoning.json new file mode 100644 index 000000000..9ed6188e7 --- /dev/null +++ b/compiler/expected/verify/process/lean/LexLeanRuntime.Reasoning.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/lean-src","-o","$STAGING/oleans/LexLeanRuntime/Reasoning.olean","$STAGING/lean-src/LexLeanRuntime/Reasoning.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Reasoning","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/compiler/expected/verify/process/leanchecker/LexLeanRuntime.Collections.json b/compiler/expected/verify/process/leanchecker/LexLeanRuntime.Collections.json new file mode 100644 index 000000000..52662ef9b --- /dev/null +++ b/compiler/expected/verify/process/leanchecker/LexLeanRuntime.Collections.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanRuntime.Collections"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Collections","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/compiler/expected/verify/process/leanchecker/LexLeanRuntime.Models.json b/compiler/expected/verify/process/leanchecker/LexLeanRuntime.Models.json new file mode 100644 index 000000000..2ead78937 --- /dev/null +++ b/compiler/expected/verify/process/leanchecker/LexLeanRuntime.Models.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanRuntime.Models"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Models","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/compiler/expected/verify/process/leanchecker/LexLeanRuntime.Portable.json b/compiler/expected/verify/process/leanchecker/LexLeanRuntime.Portable.json new file mode 100644 index 000000000..826a4b876 --- /dev/null +++ b/compiler/expected/verify/process/leanchecker/LexLeanRuntime.Portable.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanRuntime.Portable"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Portable","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/compiler/expected/verify/process/leanchecker/LexLeanRuntime.Reasoning.json b/compiler/expected/verify/process/leanchecker/LexLeanRuntime.Reasoning.json new file mode 100644 index 000000000..2b665ce9b --- /dev/null +++ b/compiler/expected/verify/process/leanchecker/LexLeanRuntime.Reasoning.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanRuntime.Reasoning"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Reasoning","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/compiler/lexlean.lock b/compiler/lexlean.lock index 5d9710de5..81b35688d 100644 --- a/compiler/lexlean.lock +++ b/compiler/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "ef58478b65de0ad784269ab3513059f5afbb7f461bda9476efce78344301755e" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/compiler/proofs/src/Check.lex.tex b/compiler/proofs/src/Check.lex.tex index a2d058dff..d2d0f07b3 100644 --- a/compiler/proofs/src/Check.lex.tex +++ b/compiler/proofs/src/Check.lex.tex @@ -1362,9 +1362,9 @@ @1952 := proof(@1941 proof(@1948 proof(@1949 @1945))) @1953 := LexLeanTarget.Gnaf.Capacity.domain @1955 := proof(@333 proof(@1953 @1946)) -@1956 := LexLeanTarget.Gnaf.LexLeanRuntime.length +@1956 := LexLeanRuntime.length @1957 := @1956 @1828 -@1958 := LexLeanTarget.Gnaf.LexLeanRuntime.instLengthableList +@1958 := LexLeanRuntime.instLengthableList @1960 := @1957 (@1958 @1827) @1961 := proof(@1830 @217) @1965 := proof(@1941 proof(@1952 proof(@1955 proof(@1960 @1961)))) @@ -1518,7 +1518,7 @@ (h : @2204) -> @2205 (fun (g : @57) => @2211 (@179 (@1829 @2212 @1833) (@100 @15 @10 @88))) @2227 := proof(Decidable.casesOn.{0}) @2228 := proof(Bool.not) -@2229 := proof(LexLeanTarget.Certification.LexLeanRuntime.equal) +@2229 := proof(LexLeanRuntime.equal) @2230 := proof(String) @2236 := proof(proof(@2229 @2230) proof(proof(proof(instBEqOfDecidableEq.{0}) @2230) proof(instDecidableEqString))) @@ -1670,10 +1670,10 @@ @2486 := proof(proof(@188 @2475) @79) @2487 := proof(@2484 @2486) @2488 := proof(@635 @2477) -@2489 := proof(LexLeanTarget.Certification.LexLeanRuntime.length) +@2489 := proof(LexLeanRuntime.length) @2490 := proof(LexLeanTarget.Certification.Premise) @2492 := proof(@2489 proof(@3 @2490)) -@2493 := proof(LexLeanTarget.Certification.LexLeanRuntime.instLengthableList) +@2493 := proof(LexLeanRuntime.instLengthableList) @2495 := proof(@2492 proof(@2493 @2490)) @2496 := proof(LexLeanTarget.Certification.Certificate.premises) @2497 := proof(@2496 @301) diff --git a/compiler/proofs/src/Factor.lex.tex b/compiler/proofs/src/Factor.lex.tex index 8805d4ac0..cbdb8a626 100644 --- a/compiler/proofs/src/Factor.lex.tex +++ b/compiler/proofs/src/Factor.lex.tex @@ -345,8 +345,8 @@ policy: exact{axioms: []}, transparency: semireducible } -theorem LexLeanTarget.TargetSemantics.LexLeanRuntime.length.eq_1 : @15255 := @15259 { - all: [LexLeanTarget.TargetSemantics.LexLeanRuntime.length.eq_1], +theorem LexLeanRuntime.length.eq_1 : @15255 := @15259 { + all: [LexLeanRuntime.length.eq_1], class: false, generated: false, policy: exact{axioms: []}, @@ -28588,27 +28588,27 @@ policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_13.eq_1.{u_1} : @50909 := @50914 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_15.eq_1.{u_1} : @50909 := @50914 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_13.eq_1" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_15.eq_1" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_13.eq_2.{u_1} : @50929 := @50935 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_15.eq_2.{u_1} : @50929 := @50935 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_13.eq_2" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_15.eq_2" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -abbrev _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_13.splitter.{u_1} : @50939 := @50900 { +abbrev _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_15.splitter.{u_1} : @50939 := @50900 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_13.splitter" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_15.splitter" ], class: false, compiled: true, @@ -28618,81 +28618,81 @@ reducibility: abbrev{}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_1.{u_1} : @50980 := @50991 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_1.{u_1} : @50980 := @50991 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_1" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_1" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_2.{u_1} : @51014 := @51025 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_2.{u_1} : @51014 := @51025 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_2" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_2" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_3.{u_1} : @51048 := @51059 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_3.{u_1} : @51048 := @51059 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_3" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_3" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_4.{u_1} : @51082 := @51093 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_4.{u_1} : @51082 := @51093 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_4" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_4" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_5.{u_1} : @51116 := @51127 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_5.{u_1} : @51116 := @51127 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_5" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_5" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_6.{u_1} : @51150 := @51161 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_6.{u_1} : @51150 := @51161 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_6" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_6" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_7.{u_1} : @51183 := @51194 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_7.{u_1} : @51183 := @51194 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_7" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_7" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_8.{u_1} : @51215 := @51226 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_8.{u_1} : @51215 := @51226 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_8" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_8" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -abbrev _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_21.splitter.{u_1} : @51252 := @50959 { +abbrev _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_23.splitter.{u_1} : @51252 := @50959 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_21.splitter" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_23.splitter" ], class: false, compiled: true, @@ -28702,135 +28702,135 @@ reducibility: abbrev{}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_1.{u_1} : @51322 := @51339 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_1.{u_1} : @51322 := @51339 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_1" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_1" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_10.{u_1} : @51411 := @51430 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_10.{u_1} : @51411 := @51430 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_10" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_10" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_11.{u_1} : @51498 := @51516 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_11.{u_1} : @51498 := @51516 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_11" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_11" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_12.{u_1} : @51556 := @51575 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_12.{u_1} : @51556 := @51575 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_12" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_12" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_13.{u_1} : @51612 := @51630 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_13.{u_1} : @51612 := @51630 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_13" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_13" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_14.{u_1} : @51670 := @51689 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_14.{u_1} : @51670 := @51689 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_14" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_14" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_2.{u_1} : @51724 := @51741 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_2.{u_1} : @51724 := @51741 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_2" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_2" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_3.{u_1} : @51776 := @51793 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_3.{u_1} : @51776 := @51793 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_3" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_3" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_4.{u_1} : @51828 := @51845 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_4.{u_1} : @51828 := @51845 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_4" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_4" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_5.{u_1} : @51882 := @51900 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_5.{u_1} : @51882 := @51900 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_5" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_5" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_6.{u_1} : @51935 := @51952 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_6.{u_1} : @51935 := @51952 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_6" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_6" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_7.{u_1} : @51986 := @52003 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_7.{u_1} : @51986 := @52003 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_7" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_7" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_8.{u_1} : @52037 := @52054 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_8.{u_1} : @52037 := @52054 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_8" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_8" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_9.{u_1} : @52090 := @52108 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_9.{u_1} : @52090 := @52108 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_9" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_9" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -abbrev _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.splitter.{u_1} : @52125 := @51288 { +abbrev _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.splitter.{u_1} : @52125 := @51288 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_25.splitter" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.splitter" ], class: false, compiled: true, @@ -28840,387 +28840,387 @@ reducibility: abbrev{}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_1.{u_1} : @52303 := @52348 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_1.{u_1} : @52303 := @52348 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_1" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_1" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_10.{u_1} : @52439 := @52484 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_10.{u_1} : @52439 := @52484 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_10" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_10" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_11.{u_1} : @52575 := @52620 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_11.{u_1} : @52575 := @52620 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_11" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_11" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_12.{u_1} : @52711 := @52756 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_12.{u_1} : @52711 := @52756 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_12" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_12" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_13.{u_1} : @52847 := @52892 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_13.{u_1} : @52847 := @52892 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_13" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_13" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_14.{u_1} : @52983 := @53028 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_14.{u_1} : @52983 := @53028 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_14" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_14" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_15.{u_1} : @53119 := @53164 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_15.{u_1} : @53119 := @53164 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_15" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_15" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_16.{u_1} : @53255 := @53300 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_16.{u_1} : @53255 := @53300 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_16" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_16" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_17.{u_1} : @53391 := @53436 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_17.{u_1} : @53391 := @53436 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_17" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_17" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_18.{u_1} : @53527 := @53572 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_18.{u_1} : @53527 := @53572 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_18" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_18" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_19.{u_1} : @53663 := @53708 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_19.{u_1} : @53663 := @53708 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_19" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_19" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_2.{u_1} : @53799 := @53844 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_2.{u_1} : @53799 := @53844 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_2" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_2" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_20.{u_1} : @53934 := @53979 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_20.{u_1} : @53934 := @53979 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_20" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_20" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_21.{u_1} : @54070 := @54115 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_21.{u_1} : @54070 := @54115 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_21" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_21" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_22.{u_1} : @54206 := @54251 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_22.{u_1} : @54206 := @54251 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_22" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_22" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_23.{u_1} : @54342 := @54387 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_23.{u_1} : @54342 := @54387 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_23" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_23" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_24.{u_1} : @54478 := @54523 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_24.{u_1} : @54478 := @54523 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_24" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_24" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_25.{u_1} : @54614 := @54659 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_25.{u_1} : @54614 := @54659 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_25" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_25" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_26.{u_1} : @54750 := @54795 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_26.{u_1} : @54750 := @54795 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_26" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_26" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_27.{u_1} : @54886 := @54931 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_27.{u_1} : @54886 := @54931 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_27" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_27" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_28.{u_1} : @55022 := @55067 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_28.{u_1} : @55022 := @55067 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_28" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_28" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_29.{u_1} : @55157 := @55202 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_29.{u_1} : @55157 := @55202 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_29" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_29" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_3.{u_1} : @55293 := @55338 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_3.{u_1} : @55293 := @55338 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_3" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_3" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_30.{u_1} : @55428 := @55473 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_30.{u_1} : @55428 := @55473 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_30" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_30" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_31.{u_1} : @55563 := @55608 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_31.{u_1} : @55563 := @55608 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_31" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_31" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_32.{u_1} : @55698 := @55743 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_32.{u_1} : @55698 := @55743 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_32" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_32" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_33.{u_1} : @55834 := @55879 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_33.{u_1} : @55834 := @55879 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_33" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_33" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_34.{u_1} : @55969 := @56014 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_34.{u_1} : @55969 := @56014 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_34" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_34" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_35.{u_1} : @56104 := @56149 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_35.{u_1} : @56104 := @56149 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_35" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_35" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_36.{u_1} : @56239 := @56284 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_36.{u_1} : @56239 := @56284 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_36" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_36" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_37.{u_1} : @56374 := @56419 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_37.{u_1} : @56374 := @56419 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_37" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_37" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_38.{u_1} : @56509 := @56554 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_38.{u_1} : @56509 := @56554 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_38" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_38" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_39.{u_1} : @56644 := @56689 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_39.{u_1} : @56644 := @56689 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_39" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_39" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_4.{u_1} : @56780 := @56825 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_4.{u_1} : @56780 := @56825 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_4" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_4" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_40.{u_1} : @56915 := @56960 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_40.{u_1} : @56915 := @56960 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_40" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_40" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_41.{u_1} : @57138 := @57184 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_41.{u_1} : @57138 := @57184 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_41" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_41" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_42.{u_1} : @57277 := @57323 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_42.{u_1} : @57277 := @57323 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_42" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_42" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_5.{u_1} : @57414 := @57459 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_5.{u_1} : @57414 := @57459 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_5" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_5" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_6.{u_1} : @57550 := @57595 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_6.{u_1} : @57550 := @57595 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_6" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_6" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_7.{u_1} : @57686 := @57731 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_7.{u_1} : @57686 := @57731 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_7" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_7" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_8.{u_1} : @57822 := @57867 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_8.{u_1} : @57822 := @57867 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_8" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_8" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_9.{u_1} : @57958 := @58003 { +theorem _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_9.{u_1} : @57958 := @58003 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_9" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_9" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -abbrev _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.splitter.{u_1} : @58048 := @52213 { +abbrev _private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.splitter.{u_1} : @58048 := @52213 { all: [ - "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_27.splitter" + "_private.LexLeanCertification.Factor.#0.LexLeanTarget.TargetSemantics.primitive.match_29.splitter" ], class: false, compiled: true, @@ -29585,9 +29585,9 @@ @523 := @4 @522 @526 := LexLeanCertification.call_eval.match_3.{1} (fun (x._@.LexLeanCertification.Factor.#3078908906._hygCtx._hyg.#69 : @445) => @0) -@527 := LexLeanTarget.TargetSemantics.LexLeanRuntime.index +@527 := LexLeanRuntime.index @529 := @527 @470 @444 -@530 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instIndexableList +@530 := LexLeanRuntime.instIndexableList @532 := @529 (@530 @444) @534 := @532 @38 @12 @535 := @526 @534 @@ -29639,7 +29639,7 @@ @599 := proof(fun (x._@.LexLeanTarget.TargetSyntax.#2853236620._hygCtx.#8.LexLeanTarget.TargetSemantics.#41623050._hygCtx._hyg.#156 : @595) => proof(fun (literal : @2) => proof(@596 @511))) @600 := proof(@594 @599) -@601 := LexLeanTarget.TargetSemantics.primitive.match_13.{1} +@601 := LexLeanTarget.TargetSemantics.primitive.match_15.{1} @602 := @404 @2 @604 := proof(@601 proof(fun (x._@.LexLeanTarget.TargetSemantics.#41623050._hygCtx._hyg.#183 : @602) => @0)) @@ -29900,8 +29900,8 @@ @920 := proof(proof(@913 @918) @536) @922 := proof(@586 proof(fun (x._@.LexLeanTarget.TargetSemantics.#41623050._hygCtx._hyg.#1402 : @410) => @0)) -@923 := LexLeanTarget.TargetSemantics.LexLeanRuntime.append -@927 := @923 @747 (LexLeanTarget.TargetSemantics.LexLeanRuntime.instAppendableList @2) +@923 := LexLeanRuntime.append +@927 := @923 @747 (LexLeanRuntime.instAppendableList @2) @933 := proof(proof(@922 proof(proof(@544 proof(proof(@927 @6) @8)) @503)) @536) @934 := proof(@480 @638) @935 := #22 @@ -29909,9 +29909,9 @@ @939 := proof(@5 proof(proof(@936 @14) @562)) @940 := proof(@36 @58) @944 := proof(@36 proof(proof(@36 proof(@940 @8)) @511)) -@945 := LexLeanTarget.TargetSemantics.LexLeanRuntime.length +@945 := LexLeanRuntime.length @946 := @945 @747 -@948 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instLengthableList @2 +@948 := LexLeanRuntime.instLengthableList @2 @949 := @946 @948 @951 := proof(@944 proof(@949 @38)) @955 := proof(fun (function4339 : @444) => @@ -35853,7 +35853,7 @@ @10296 (@10321 (@18 (fun (s : @1) => @10336 @10344))) (@19 (@4320 @10320) (@18 (fun (s : @1) => @10336 @226))) -@10360 := LexLeanTarget.TargetSemantics.LexLeanRuntime.Lengthable.length +@10360 := LexLeanRuntime.Lengthable.length @10363 := proof(proof(proof(@10360 @747) @948) @14) @10365 := proof(proof(@26 @10363) @10299) @10366 := proof(@198 @10363) @@ -38804,7 +38804,7 @@ @38) @15009))))) @15016))))))) -@15244 := LexLeanTarget.TargetSemantics.LexLeanRuntime.Lengthable @14 +@15244 := LexLeanRuntime.Lengthable @14 @15247 := @945 @8 @12 @14 @15255 := {α : @14907} -> [inst._@.LexLeanTarget.TargetSemantics.#210037673._hygCtx._hyg.#3 : @15244] -> @@ -39543,9 +39543,9 @@ @16439 := @404 @715 @16441 := @16438 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#11136 : @16439) => @0) -@16442 := LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedSubtract +@16442 := LexLeanRuntime.checkedSubtract @16443 := @16442 @715 -@16444 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instFixedUInt32 +@16444 := LexLeanRuntime.instFixedUInt32 @16448 := @16441 (@16443 @16444 @12 @14) @16449 := LexLeanTarget.TargetSyntax.Value.none @16452 := fun ("_" : @413) => @11 @16449 @498 @@ -39731,12 +39731,12 @@ @16767 := @16707 @16469 @16768 := @16406 @16767 @16769 := @4 @16768 -@16770 := LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedMultiplyInt64.match_1.{1} +@16770 := LexLeanTarget.TargetSemantics.primitive.match_7.{1} @16771 := @404 @718 @16773 := @16770 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#11417 : @16771) => @0) @16774 := @16442 @718 -@16775 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instFixedUInt64 +@16775 := LexLeanRuntime.instFixedUInt64 @16780 := @16773 (@16774 @16775 @12 @14) @16452 @16784 := fun (result : @718) => @11 (@16454 @16467) @498 @16788 := (x : @718) -> (x_1 : @718) -> @16769 (@16780 @16784) @@ -39756,7 +39756,7 @@ @16819 := @16378 @16717 @16820 := @16393 @16819 @16821 := @4 @16820 -@16822 := LexLeanTarget.TargetSemantics.LexLeanRuntime.multiply +@16822 := LexLeanRuntime.multiply @16831 := (x : @1) -> (x_1 : @1) -> @16821 (@16352 (@16822 @1 instMulNat @12 @14)) @16834 := proof(fun (x : @1) => proof(fun (x_1 : @1) => proof(@396 @16820))) @16835 := @16707 @16521 @@ -39855,12 +39855,12 @@ @17039 := @16966 @16482 @17040 := @16406 @17039 @17041 := @4 @17040 -@17042 := LexLeanTarget.TargetSemantics.primitive.match_7.{1} +@17042 := LexLeanTarget.TargetSemantics.primitive.match_9.{1} @17043 := @404 @721 @17045 := @17042 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#11698 : @17043) => @0) @17046 := @16442 @721 -@17047 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instFixedInt8 +@17047 := LexLeanRuntime.instFixedInt8 @17052 := @17045 (@17046 @17047 @12 @14) @16452 @17056 := fun (result : @721) => @11 (@16454 @16480) @498 @17060 := (x : @721) -> (x_1 : @721) -> @17041 (@17052 @17056) @@ -39972,12 +39972,12 @@ @17294 := @17212 @16495 @17295 := @16406 @17294 @17296 := @4 @17295 -@17297 := LexLeanTarget.TargetSemantics.primitive.match_9.{1} +@17297 := LexLeanTarget.TargetSemantics.primitive.match_11.{1} @17298 := @404 @724 @17300 := @17297 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#11979 : @17298) => @0) @17301 := @16442 @724 -@17302 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instFixedInt16 +@17302 := LexLeanRuntime.instFixedInt16 @17307 := @17300 (@17301 @17302 @12 @14) @16452 @17311 := fun (result : @724) => @11 (@16454 @16493) @498 @17315 := (x : @724) -> (x_1 : @724) -> @17296 (@17307 @17311) @@ -40090,12 +40090,12 @@ @17550 := @17459 @16508 @17551 := @16406 @17550 @17552 := @4 @17551 -@17553 := LexLeanTarget.TargetSemantics.primitive.match_11.{1} +@17553 := LexLeanTarget.TargetSemantics.primitive.match_13.{1} @17554 := @404 @727 @17556 := @17553 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#12260 : @17554) => @0) @17557 := @16442 @727 -@17558 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instFixedInt32 +@17558 := LexLeanRuntime.instFixedInt32 @17563 := @17556 (@17557 @17558 @12 @14) @16452 @17567 := fun (result : @727) => @11 (@16454 @16506) @498 @17571 := (x : @727) -> (x_1 : @727) -> @17552 (@17563 @17567) @@ -40219,7 +40219,7 @@ @17827 := @404 @730 @17834 := @17826 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#12541 : @17827) => @0) - (LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedSubtractInt64 @12 @14) + (LexLeanRuntime.checkedSubtractInt64 @12 @14) @16452 @17838 := fun (result : @730) => @11 (@16454 @16519) @498 @17842 := (x : @730) -> (x_1 : @730) -> @17825 (@17834 @17838) @@ -40385,9 +40385,9 @@ @18180 := @404 @709 @18182 := @18179 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#13000 : @18180) => @0) -@18183 := LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedMultiply +@18183 := LexLeanRuntime.checkedMultiply @18184 := @18183 @709 -@18185 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instFixedUInt8 +@18185 := LexLeanRuntime.instFixedUInt8 @18190 := @18182 (@18184 @18185 @12 @14) @16452 @18194 := fun (result : @709) => @11 (@16454 @16411) @498 @18198 := (x : @709) -> (x_1 : @709) -> @18178 (@18190 @18194) @@ -40509,7 +40509,7 @@ @18446 := @18443 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#13281 : @18444) => @0) @18447 := @18183 @712 -@18448 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instFixedUInt16 +@18448 := LexLeanRuntime.instFixedUInt16 @18453 := @18446 (@18447 @18448 @12 @14) @16452 @18457 := fun (result : @712) => @11 (@16454 @16380) @498 @18461 := (x : @712) -> (x_1 : @712) -> @18442 (@18453 @18457) @@ -41095,7 +41095,7 @@ @19837 (@17826 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#14967 : @17827) => @0) - (LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedMultiplyInt64 @12 @14) + (LexLeanRuntime.checkedMultiplyInt64 @12 @14) @16452 @17838) @19852 := proof(fun (x : @730) => proof(fun (x_1 : @730) => proof(@396 @19837))) @@ -41218,7 +41218,7 @@ @20126 := @4 @20125 @20128 := @17042 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#15399 : @17043) => @0) -@20129 := LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedNegate +@20129 := LexLeanRuntime.checkedNegate @20137 := (x : @721) -> @20126 (@20128 (@20129 @721 @17047 @14) @16452 @17056) @20139 := proof(fun (x : @721) => proof(@396 @20125)) @20140 := @20066 @16495 @@ -41250,7 +41250,7 @@ @20174 (@17826 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#15561 : @17827) => @0) - (LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedNegateInt64 @14) + (LexLeanRuntime.checkedNegateInt64 @14) @16452 @17838) @20186 := proof(fun (x : @730) => proof(@396 @20174)) @@ -41333,7 +41333,7 @@ @20356 := @4 @20355 @20358 := @18179 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#15883 : @18180) => @0) -@20359 := LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedQuotient +@20359 := LexLeanRuntime.checkedQuotient @20369 := (x : @709) -> (x_1 : @709) -> @20356 (@20358 (@20359 @709 @18185 @12 @14) @16452 @18194) @20372 := proof(fun (x : @709) => proof(fun (x_1 : @709) => proof(@396 @20355))) @20373 := @20276 @18202 @@ -41947,9 +41947,9 @@ @21849 := @18757 @16819 @21850 := @20992 @21849 @21851 := @4 @21850 -@21852 := LexLeanTarget.TargetSemantics.LexLeanRuntime.quotient +@21852 := LexLeanRuntime.quotient @21853 := @21852 @1 -@21854 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instQuotientNat +@21854 := LexLeanRuntime.instQuotientNat @21865 := (x : @1) -> (x_1 : @1) -> (x_2 : @1) -> @21851 (@11 (@10279 (@21853 @21854 @8 @12 @14)) @498) @21869 := proof(fun (x : @1) => @@ -41999,7 +41999,7 @@ @21967 (@17826 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#17850 : @17827) => @0) - (LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedQuotientInt64 @12 @14) + (LexLeanRuntime.checkedQuotientInt64 @12 @14) @16452 @17838) @21982 := proof(fun (x : @730) => proof(fun (x_1 : @730) => proof(@396 @21967))) @@ -42129,7 +42129,7 @@ @22283 := proof(fun (x : @709) => proof(fun (x_1 : @706) => proof(@396 @22276))) @22284 := @22202 @18176 @22285 := @4 @22284 -@22286 := LexLeanTarget.TargetSemantics.LexLeanRuntime.bitAnd +@22286 := LexLeanRuntime.bitAnd @22296 := (x : @709) -> (x_1 : @709) -> @22285 (@11 (@16410 (@22286 @709 @18185 @12 @14)) @498) @22299 := proof(fun (x : @709) => proof(fun (x_1 : @709) => proof(@396 @22284))) @22300 := @22202 @18202 @@ -42748,7 +42748,7 @@ @23900 := @22202 @17823 @23901 := @4 @23900 @23902 := @22286 @730 -@23903 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instFixedInt64 +@23903 := LexLeanRuntime.instFixedInt64 @23912 := (x : @730) -> (x_1 : @730) -> @23901 (@11 (@16518 (@23902 @23903 @12 @14)) @498) @23915 := proof(fun (x : @730) => proof(fun (x_1 : @730) => proof(@396 @23900))) @23916 := @22202 @17846 @@ -42880,7 +42880,7 @@ @24219 := proof(fun (x : @709) => proof(fun (x_1 : @706) => proof(@396 @24212))) @24220 := @24137 @18176 @24221 := @4 @24220 -@24222 := LexLeanTarget.TargetSemantics.LexLeanRuntime.bitOr +@24222 := LexLeanRuntime.bitOr @24232 := (x : @709) -> (x_1 : @709) -> @24221 (@11 (@16410 (@24222 @709 @18185 @12 @14)) @498) @24235 := proof(fun (x : @709) => proof(fun (x_1 : @709) => proof(@396 @24220))) @24236 := @24137 @18202 @@ -43640,7 +43640,7 @@ @26166 := proof(fun (x : @709) => proof(fun (x_1 : @706) => proof(@396 @26159))) @26167 := @26085 @18176 @26168 := @4 @26167 -@26169 := LexLeanTarget.TargetSemantics.LexLeanRuntime.bitXor +@26169 := LexLeanRuntime.bitXor @26179 := (x : @709) -> (x_1 : @709) -> @26168 (@11 (@16410 (@26169 @709 @18185 @12 @14)) @498) @26182 := proof(fun (x : @709) => proof(fun (x_1 : @709) => proof(@396 @26167))) @26183 := @16468 @21359 @@ -44374,7 +44374,7 @@ @28049 := proof(fun (x : @706) => proof(@396 @28044)) @28050 := @28023 @16413 @28051 := @4 @28050 -@28052 := LexLeanTarget.TargetSemantics.LexLeanRuntime.bitNot +@28052 := LexLeanRuntime.bitNot @28060 := (x : @709) -> @28051 (@11 (@16410 (@28052 @709 @18185 @14)) @498) @28062 := proof(fun (x : @709) => proof(@396 @28050)) @28063 := @28023 @16382 @@ -44502,7 +44502,7 @@ @28362 := @4 @28361 @28364 := @18179 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#25158 : @18180) => @0) -@28365 := LexLeanTarget.TargetSemantics.LexLeanRuntime.shiftLeft +@28365 := LexLeanRuntime.shiftLeft @28375 := (x : @715) -> (x_1 : @709) -> @28362 (@28364 (@28365 @709 @18185 @14 @12) @16452 @18194) @28378 := proof(fun (x : @715) => proof(fun (x_1 : @709) => proof(@396 @28361))) @28379 := @16381 @28332 @@ -44702,7 +44702,7 @@ @28751 := proof(fun (head : @2) => proof(fun (x : @747) => proof(@396 @28744))) @28752 := @27823 @21849 @28753 := @4 @28752 -@28754 := LexLeanTarget.TargetSemantics.LexLeanRuntime.remainder +@28754 := LexLeanRuntime.remainder @28766 := (x : @1) -> (x_1 : @1) -> (x_2 : @1) -> @28753 (@11 (@10279 (@28754 @1 @21854 @8 @12 @14)) @498) @28770 := proof(fun (x : @1) => @@ -44773,7 +44773,7 @@ @28915 := @4 @28914 @28917 := @18179 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#26065 : @18180) => @0) -@28918 := LexLeanTarget.TargetSemantics.LexLeanRuntime.shiftRight +@28918 := LexLeanRuntime.shiftRight @28928 := (x : @715) -> (x_1 : @709) -> @28915 (@28917 (@28918 @709 @18185 @14 @12) @16452 @18194) @28931 := proof(fun (x : @715) => proof(fun (x_1 : @709) => proof(@396 @28914))) @28932 := @28817 @28379 @@ -44983,7 +44983,7 @@ @29362 := @29361 @16696 @29363 := @29336 @29362 @29364 := @4 @29363 -@29365 := LexLeanTarget.TargetSemantics.LexLeanRuntime.equal +@29365 := LexLeanRuntime.equal @29366 := @29365 @683 @29367 := instBEqOfDecidableEq.{0} @29378 := (rightKey : @683) -> @@ -46722,12 +46722,7 @@ @33761 := @33516 @31980 @33773 := (x : @736) -> (x_1 : @736) -> - @4 - @33761 - (@11 - (@16544 - (@923 @736 LexLeanTarget.TargetSemantics.LexLeanRuntime.instAppendableByteArray @12 @14)) - @498) + @4 @33761 (@11 (@16544 (@923 @736 LexLeanRuntime.instAppendableByteArray @12 @14)) @498) @33776 := proof(fun (x : @736) => proof(fun (x_1 : @736) => proof(@396 @33761))) @33777 := @33516 @31997 @33781 := (x : @736) -> (x_1 : @739) -> @4 @33777 @304 @@ -46949,16 +46944,10 @@ @34275 := (x : @730) -> @4 @34272 @304 @34277 := proof(fun (x : @730) => proof(@396 @34272)) @34278 := @10570 @16534 -@34286 := (x : @733) -> - @4 - @34278 - (@16352 (@945 @733 LexLeanTarget.TargetSemantics.LexLeanRuntime.instLengthableString @14)) +@34286 := (x : @733) -> @4 @34278 (@16352 (@945 @733 LexLeanRuntime.instLengthableString @14)) @34288 := proof(fun (x : @733) => proof(@396 @34278)) @34289 := @10570 @16547 -@34297 := (x : @736) -> - @4 - @34289 - (@16352 (@945 @736 LexLeanTarget.TargetSemantics.LexLeanRuntime.instLengthableByteArray @14)) +@34297 := (x : @736) -> @4 @34289 (@16352 (@945 @736 LexLeanRuntime.instLengthableByteArray @14)) @34299 := proof(fun (x : @736) => proof(@396 @34289)) @34300 := @27823 @27338 @34305 := (head_1 : @2) -> (head_2 : @2) -> (x : @747) -> @4 @34300 @304 @@ -47065,12 +47054,7 @@ @34547 (@18179 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#32698 : @18180) => @0) - (@527 - @736 - @709 - LexLeanTarget.TargetSemantics.LexLeanRuntime.instIndexableByteArrayUInt8 - @14 - @12) + (@527 @736 @709 LexLeanRuntime.instIndexableByteArrayUInt8 @14 @12) @16452 @18194) @34565 := proof(fun (x : @1) => proof(fun (x_1 : @736) => proof(@396 @34547))) @@ -47283,15 +47267,15 @@ proof(fun (x_1 : @1) => proof(fun (x_2 : @733) => proof(@396 @35074)))) @35085 := @34871 (@16546 @34945) @35086 := @4 @35085 -@35090 := LexLeanTarget.TargetSemantics.primitive.match_15.{1} +@35090 := LexLeanTarget.TargetSemantics.primitive.match_17.{1} (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#33343 : @404 @736) => @0) -@35091 := LexLeanTarget.TargetSemantics.LexLeanRuntime.slice +@35091 := LexLeanRuntime.slice @35108 := (x : @1) -> (x_1 : @1) -> (x_2 : @736) -> @35086 (@35090 - (@35091 @736 LexLeanTarget.TargetSemantics.LexLeanRuntime.instSliceableByteArray @14 @8 @12) + (@35091 @736 LexLeanRuntime.instSliceableByteArray @14 @8 @12) @16452 (fun (part : @736) => @11 (@16454 @16545) @498)) @35112 := proof(fun (x : @1) => @@ -47327,9 +47311,9 @@ (x_2 : @747) -> @4 @35183 - (LexLeanTarget.TargetSemantics.primitive.match_17.{1} + (LexLeanTarget.TargetSemantics.primitive.match_19.{1} (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#33438 : @404 @747) => @0) - (@35091 @747 (LexLeanTarget.TargetSemantics.LexLeanRuntime.instSliceableList @2) @14 @8 @12) + (@35091 @747 (LexLeanRuntime.instSliceableList @2) @14 @8 @12) @16452 (fun (part : @747) => @11 (@16454 @16628) @498)) @35210 := proof(fun (x : @1) => @@ -47574,8 +47558,7 @@ @35837 := (x : @730) -> @4 @35834 @304 @35839 := proof(fun (x : @730) => proof(@396 @35834)) @35840 := @35749 @16534 -@35848 := (x : @733) -> - @4 @35840 (@11 (@16544 (LexLeanTarget.TargetSemantics.LexLeanRuntime.utf8Encode @14)) @498) +@35848 := (x : @733) -> @4 @35840 (@11 (@16544 (LexLeanRuntime.utf8Encode @14)) @498) @35850 := proof(fun (x : @733) => proof(@396 @35840)) @35851 := @35749 @16547 @35854 := (x : @736) -> @4 @35851 @304 @@ -47665,9 +47648,9 @@ @36039 := (x : @736) -> @4 @36023 - (LexLeanTarget.TargetSemantics.primitive.match_19.{1} + (LexLeanTarget.TargetSemantics.primitive.match_21.{1} (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#34397 : @404 @733) => @0) - (LexLeanTarget.TargetSemantics.LexLeanRuntime.utf8Decode @14) + (LexLeanRuntime.utf8Decode @14) @16452 (fun (text : @733) => @11 (@16454 @16532) @498)) @36041 := proof(fun (x : @736) => proof(@396 @36023)) @@ -47812,9 +47795,7 @@ @4 @36372 (@11 - (@16568 - (LexLeanTarget.TargetSemantics.fromOrdering - (LexLeanTarget.TargetSemantics.LexLeanRuntime.compareBytes @12 @14))) + (@16568 (LexLeanTarget.TargetSemantics.fromOrdering (LexLeanRuntime.compareBytes @12 @14))) @498) @36387 := proof(fun (x : @736) => proof(fun (x_1 : @736) => proof(@396 @36372))) @36388 := @36119 @31997 @@ -48041,7 +48022,7 @@ @36934 (@36935 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#35415 : @36937) => @0) - (LexLeanTarget.TargetSemantics.LexLeanRuntime.splitExact @8 @12 @14) + (LexLeanRuntime.splitExact @8 @12 @14) @16452 (fun (parts : @36936) => @11 (@16454 (@10328 (LexLeanTarget.TargetSemantics.fromStrings @14))) @498)) @@ -48337,8 +48318,7 @@ (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#36184 : @36937) => @0) (LexLeanTarget.TargetSemantics.toStrings @12) @536 - (fun (texts : @36936) => - @11 (@16531 (LexLeanTarget.TargetSemantics.LexLeanRuntime.join @14 @12)) @498)) + (fun (texts : @36936) => @11 (@16531 (LexLeanRuntime.join @14 @12)) @498)) @37721 := proof(fun (x : @747) => proof(fun (x_1 : @733) => proof(@396 @37700))) @37722 := @37411 @34035 @37726 := (x : @747) -> (x_1 : @736) -> @4 @37722 @304 @@ -48412,15 +48392,15 @@ @37885 := proof(fun (head_1 : @2) => proof(fun (x : @715) => proof(@396 @37878))) @37886 := @37857 @16730 @37887 := @4 @37886 -@37888 := LexLeanTarget.TargetSemantics.LexLeanRuntime.formatDecimal +@37888 := LexLeanRuntime.formatDecimal @37889 := @37888 @706 -@37890 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instDecimalInt +@37890 := LexLeanRuntime.instDecimalInt @37897 := (x : @706) -> @37887 (@11 (@16531 (@37889 @37890 @14)) @498) @37899 := proof(fun (x : @706) => proof(@396 @37886)) @37900 := @37857 @16413 @37901 := @4 @37900 @37902 := @37888 @709 -@37903 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instDecimalOfFixedOfToString +@37903 := LexLeanRuntime.instDecimalOfFixedOfToString @37907 := @37903 @709 @18185 instToStringUInt8 @37914 := (x : @709) -> @37901 (@11 (@16531 (@37902 @37907 @14)) @498) @37916 := proof(fun (x : @709) => proof(@396 @37900)) @@ -48554,10 +48534,10 @@ @38200 := @4 @38199 @38202 := @18179 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#37025 : @18180) => @0) -@38203 := LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedConvert +@38203 := LexLeanRuntime.checkedConvert @38204 := @38203 @706 @38205 := @38204 @709 -@38206 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instToMathIntInt +@38206 := LexLeanRuntime.instToMathIntInt @38214 := (x : @706) -> @38200 (@38202 (@38205 @38206 @18185 @14) @16452 @18194) @38216 := proof(fun (x : @706) => proof(@396 @38199)) @38217 := @16372 @19419 @@ -48572,7 +48552,7 @@ (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#37079 : @18180) => @0) @38237 := @38203 @709 @38238 := @38237 @709 -@38239 := LexLeanTarget.TargetSemantics.LexLeanRuntime.Fixed.toToMathInt +@38239 := LexLeanRuntime.Fixed.toToMathInt @38241 := @38239 @709 @18185 @38249 := (x : @709) -> @38234 (@38236 (@38238 @38241 @18185 @14) @16452 @18194) @38251 := proof(fun (x : @709) => proof(@396 @38233)) @@ -49736,9 +49716,9 @@ @40321 := LexLeanTarget.TargetSyntax.Ty.int @40324 := @980 (@40184 @40321) @16534 @40325 := @4 @40324 -@40329 := LexLeanTarget.TargetSemantics.primitive.match_23.{1} +@40329 := LexLeanTarget.TargetSemantics.primitive.match_25.{1} (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#42332 : @404 @706) => @0) -@40330 := LexLeanTarget.TargetSemantics.LexLeanRuntime.parseDecimal +@40330 := LexLeanRuntime.parseDecimal @40335 := @40329 (@40330 @706 @37890 @14) @16452 @40340 := @17826 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#42366 : @17827) => @0) @@ -50279,9 +50259,9 @@ @41601 := @41541 @41600 @41602 := @4 @41601 @41603 := LexLeanTarget.TargetSemantics.intResult -@41604 := LexLeanTarget.TargetSemantics.LexLeanRuntime.subtract +@41604 := LexLeanRuntime.subtract @41607 := @41604 @706 @8039 @12 -@41611 := LexLeanTarget.TargetSemantics.LexLeanRuntime.negate @706 @8106 @14 +@41611 := LexLeanRuntime.negate @706 @8106 @14 @41616 := (x : @706) -> (x_1 : @706) -> @41602 (@41603 (@41607 @41611)) @41619 := proof(fun (x : @706) => proof(fun (x_1 : @706) => proof(@396 @41601))) @41620 := @16372 @18030 @@ -50936,7 +50916,7 @@ @43184 := @43066 @43183 @43185 := @4 @43184 @43186 := @21852 @706 -@43187 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instQuotientInt +@43187 := LexLeanRuntime.instQuotientInt @43196 := (x : @706) -> (x_1 : @706) -> (x_2 : @706) -> @43185 (@41603 (@43186 @43187 @8 @12 @14)) @43200 := proof(fun (x : @706) => proof(fun (x_1 : @706) => proof(fun (x_2 : @706) => proof(@396 @43184)))) @@ -51584,7 +51564,7 @@ @44751 := @4 @44750 @44753 := @18179 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#8148 : @18180) => @0) -@44754 := LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedAdd +@44754 := LexLeanRuntime.checkedAdd @44764 := (x : @709) -> (x_1 : @709) -> @44751 (@44753 (@44754 @709 @18185 @12 @14) @16452 @18194) @44767 := proof(fun (x : @709) => proof(fun (x_1 : @709) => proof(@396 @44750))) @44768 := @44669 @18202 @@ -52221,7 +52201,7 @@ @46322 (@17826 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#10115 : @17827) => @0) - (LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedAddInt64 @12 @14) + (LexLeanRuntime.checkedAddInt64 @12 @14) @16452 @17838) @46337 := proof(fun (x : @730) => proof(fun (x_1 : @730) => proof(@396 @46322))) @@ -55476,7 +55456,7 @@ @50897 := (item : @2) -> @8 @50895 @50898 := @8 @16095 @50899 := @47056 @50898 -@50900 := LexLeanTarget.TargetSemantics.primitive.match_13.{u_1} +@50900 := LexLeanTarget.TargetSemantics.primitive.match_15.{u_1} @50904 := @50900 @8 @16095 @12 @14 @50909 := (motive : @50892) -> (h_1 : @50894) -> (h_2 : @50897) -> @50899 @50904 @435 @50914 := proof(fun (motive._@._hyg.#3 : @50892) => @@ -55508,7 +55488,7 @@ @50956 := ("_" : @413) -> @50955 @50957 := @82 @38180 @50958 := @47056 @50957 -@50959 := LexLeanTarget.TargetSemantics.primitive.match_21.{u_1} +@50959 := LexLeanTarget.TargetSemantics.primitive.match_23.{u_1} @50960 := @50959 @82 @50969 := @50960 @38180 @51 @58 @20 @38 @6 @8 @12 @14 @50980 := (motive : @50940) -> @@ -55705,7 +55685,7 @@ @673 @40618 @51286 := @822 @40295 @51287 := @47056 @51286 -@51288 := LexLeanTarget.TargetSemantics.primitive.match_25.{u_1} +@51288 := LexLeanTarget.TargetSemantics.primitive.match_27.{u_1} @51289 := @51288 @822 @51304 := @51289 @40295 @1001 @643 @150 @179 @88 @82 @51 @58 @20 @38 @6 @8 @12 @14 @51305 := @51287 @51304 @@ -56287,7 +56267,7 @@ @52210 := (target : @595) -> @9924 @40185 @52211 := @9924 @16371 @52212 := @47056 @52211 -@52213 := LexLeanTarget.TargetSemantics.primitive.match_27.{u_1} +@52213 := LexLeanTarget.TargetSemantics.primitive.match_29.{u_1} @52214 := @52213 @9924 @52257 := @52214 @16371 diff --git a/compiler/proofs/src/Frontier.lex.tex b/compiler/proofs/src/Frontier.lex.tex index cd83748bc..fbd0c6968 100644 --- a/compiler/proofs/src/Frontier.lex.tex +++ b/compiler/proofs/src/Frontier.lex.tex @@ -3574,8 +3574,8 @@ @4579 := {members : @47} -> {facts : @4522} -> {x : @4523} -> (h : @4532) -> @4538 (@4547 (@4565 (@4566 (@4568 @4570)))) @4580 := @73 @1 -@4585 := proof(proof(proof(LexLeanTarget.Certification.LexLeanRuntime.length) @4522) - proof(proof(LexLeanTarget.Certification.LexLeanRuntime.instLengthableList) @4521)) +@4585 := proof(proof(proof(LexLeanRuntime.length) @4522) + proof(proof(LexLeanRuntime.instLengthableList) @4521)) @4586 := proof(@4585 @84) @4588 := proof(proof(@4580 @4586) @4543) @4589 := proof(@2514 @1) diff --git a/compiler/proofs/src/Lower.lex.tex b/compiler/proofs/src/Lower.lex.tex index b87282a15..f2b971e3e 100644 --- a/compiler/proofs/src/Lower.lex.tex +++ b/compiler/proofs/src/Lower.lex.tex @@ -848,8 +848,8 @@ @667 := {strict : @5} -> {bound : @6} -> {att : @7} -> {facts : @590} -> {x : @591} -> (h : @602) -> @615 (@624 (@638 (@639 (@641 @656)))) -@672 := proof(proof(proof(LexLeanTarget.Certification.LexLeanRuntime.length) @590) - proof(proof(LexLeanTarget.Certification.LexLeanRuntime.instLengthableList) @589)) +@672 := proof(proof(proof(LexLeanRuntime.length) @590) + proof(proof(LexLeanRuntime.instLengthableList) @589)) @673 := proof(@672 @87) @675 := proof(proof(@131 @673) @620) @676 := proof(rfl.{1}) diff --git a/compiler/proofs/src/Normality.lex.tex b/compiler/proofs/src/Normality.lex.tex index f3b9caede..fe203505c 100644 --- a/compiler/proofs/src/Normality.lex.tex +++ b/compiler/proofs/src/Normality.lex.tex @@ -1269,10 +1269,9 @@ @2029 := proof(And) @2030 := proof(Nat.blt) @2031 := proof(@2030 @15) -@2032 := proof(LexLeanTarget.Gnaf.LexLeanRuntime.length) +@2032 := proof(LexLeanRuntime.length) @2033 := proof(LexLeanTarget.Gnaf.Plan) -@2038 := proof(proof(@2032 proof(@2 @2033)) - proof(proof(LexLeanTarget.Gnaf.LexLeanRuntime.instLengthableList) @2033)) +@2038 := proof(proof(@2032 proof(@2 @2033)) proof(proof(LexLeanRuntime.instLengthableList) @2033)) @2039 := proof(LexLeanTarget.Gnaf.Grammar.plans) @2041 := proof(@2038 proof(@2039 @112)) @2042 := proof(@2031 @2041) diff --git a/compiler/proofs/src/PremiseSound.lex.tex b/compiler/proofs/src/PremiseSound.lex.tex index f42274815..544b03b6a 100644 --- a/compiler/proofs/src/PremiseSound.lex.tex +++ b/compiler/proofs/src/PremiseSound.lex.tex @@ -887,9 +887,9 @@ @1428 := proof(proof(ite.{1}) @1375) @1429 := Bool.and @1430 := proof(Nat.beq) -@1431 := proof(LexLeanTarget.Certification.LexLeanRuntime.length) +@1431 := proof(LexLeanRuntime.length) @1432 := proof(@1431 @471) -@1433 := proof(LexLeanTarget.Certification.LexLeanRuntime.instLengthableList) +@1433 := proof(LexLeanRuntime.instLengthableList) @1435 := proof(@1432 proof(@1433 @470)) @1437 := proof(@1430 proof(@1435 @5)) @1440 := proof(proof(@1431 @1422) proof(@1433 @0)) diff --git a/compiler/proofs/src/Representation.lex.tex b/compiler/proofs/src/Representation.lex.tex index 724485305..339cfdf94 100644 --- a/compiler/proofs/src/Representation.lex.tex +++ b/compiler/proofs/src/Representation.lex.tex @@ -171,8 +171,8 @@ policy: exact{axioms: [Classical.choice, Quot.sound, propext]}, transparency: semireducible } -theorem LexLeanTarget.Certification.LexLeanRuntime.multiply.eq_1 : @9787 := @9793 { - all: [LexLeanTarget.Certification.LexLeanRuntime.multiply.eq_1], +theorem LexLeanRuntime.multiply.eq_1 : @9787 := @9793 { + all: [LexLeanRuntime.multiply.eq_1], class: false, generated: false, policy: exact{axioms: []}, @@ -3015,7 +3015,7 @@ @4385 := proof(@4384 @175) @4387 := proof(proof(@890 @46) @128) @4390 := proof(@4383 proof(proof(@4385 @4387) @495)) -@4391 := LexLeanTarget.Certification.LexLeanRuntime.multiply +@4391 := LexLeanRuntime.multiply @4393 := @4391 @1 @1410 @4397 := proof(proof(@332 proof(proof(@4393 @1414) @49)) @1419) @4400 := proof(proof(LexLeanTarget.Certification.establishedFrom.match_1.{1}) diff --git a/compiler/proofs/src/Schemas.lex.tex b/compiler/proofs/src/Schemas.lex.tex index f1a576fe9..2fc343671 100644 --- a/compiler/proofs/src/Schemas.lex.tex +++ b/compiler/proofs/src/Schemas.lex.tex @@ -4137,9 +4137,7 @@ @4725 := proof(And.left) @4726 := annot [borrowed := bool true] @0 @4729 := @9 @4726 @11 @787 -@4734 := LexLeanTarget.Certification.LexLeanRuntime.length - @694 - (LexLeanTarget.Certification.LexLeanRuntime.instLengthableList @693) +@4734 := LexLeanRuntime.length @694 (LexLeanRuntime.instLengthableList @693) @4735 := @4734 @14 @4736 := @4729 @4735 @4738 := @4725 @4736 @3868 diff --git a/compiler/proofs/src/Soundness.lex.tex b/compiler/proofs/src/Soundness.lex.tex index 1327c4f82..e56cecbcf 100644 --- a/compiler/proofs/src/Soundness.lex.tex +++ b/compiler/proofs/src/Soundness.lex.tex @@ -1339,7 +1339,7 @@ @2042 := proof(@267 @105) @2043 := proof(Decidable.casesOn.{0}) @2044 := proof(Bool.not) -@2045 := proof(LexLeanTarget.Certification.LexLeanRuntime.equal) +@2045 := proof(LexLeanRuntime.equal) @2046 := proof(String) @2052 := proof(proof(@2045 @2046) proof(proof(proof(instBEqOfDecidableEq.{0}) @2046) proof(instDecidableEqString))) @@ -1429,10 +1429,10 @@ @2184 := proof(@2181 @2183) @2185 := proof(@2070 @2177) @2186 := proof(Nat.blt) -@2187 := proof(LexLeanTarget.Certification.LexLeanRuntime.length) +@2187 := proof(LexLeanRuntime.length) @2188 := proof(LexLeanTarget.Certification.Premise) @2190 := proof(@2187 proof(@2 @2188)) -@2191 := proof(LexLeanTarget.Certification.LexLeanRuntime.instLengthableList) +@2191 := proof(LexLeanRuntime.instLengthableList) @2193 := proof(@2190 proof(@2191 @2188)) @2194 := proof(LexLeanTarget.Certification.Certificate.premises) @2195 := proof(@2194 @911) diff --git a/compiler/proofs/src/Tail.lex.tex b/compiler/proofs/src/Tail.lex.tex index 275a62521..1870c2f9e 100644 --- a/compiler/proofs/src/Tail.lex.tex +++ b/compiler/proofs/src/Tail.lex.tex @@ -352,42 +352,40 @@ policy: exact{axioms: []}, transparency: semireducible } -theorem LexLeanTarget.TargetSemantics.LexLeanRuntime.index.eq_1 : @8319 := @8326 { - all: [LexLeanTarget.TargetSemantics.LexLeanRuntime.index.eq_1], +theorem LexLeanRuntime.index.eq_1 : @8319 := @8326 { + all: [LexLeanRuntime.index.eq_1], class: false, generated: false, policy: exact{axioms: []}, tags: [backward_defeq], transparency: semireducible } -theorem LexLeanTarget.TargetSemantics.LexLeanRuntime.listIndex.eq_1 : @8338 := @8342 { - all: [LexLeanTarget.TargetSemantics.LexLeanRuntime.listIndex.eq_1], +theorem LexLeanRuntime.listIndex.eq_1 : @8338 := @8342 { + all: [LexLeanRuntime.listIndex.eq_1], class: false, generated: false, policy: exact{axioms: []}, tags: [backward_defeq], transparency: semireducible } -theorem LexLeanTarget.TargetSemantics.LexLeanRuntime.listIndex.eq_2 : @8358 := @8363 { - all: [LexLeanTarget.TargetSemantics.LexLeanRuntime.listIndex.eq_2], +theorem LexLeanRuntime.listIndex.eq_2 : @8358 := @8363 { + all: [LexLeanRuntime.listIndex.eq_2], class: false, generated: false, policy: exact{axioms: []}, tags: [backward_defeq], transparency: semireducible } -theorem LexLeanTarget.TargetSemantics.LexLeanRuntime.listIndex.eq_3 : @8377 := @8382 { - all: [LexLeanTarget.TargetSemantics.LexLeanRuntime.listIndex.eq_3], +theorem LexLeanRuntime.listIndex.eq_3 : @8377 := @8382 { + all: [LexLeanRuntime.listIndex.eq_3], class: false, generated: false, policy: exact{axioms: []}, tags: [backward_defeq], transparency: semireducible } -abbrev _private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.LexLeanRuntime.listIndex.match_1.splitter.{u_1} : @8413 := @8414 { - all: [ - "_private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.LexLeanRuntime.listIndex.match_1.splitter" - ], +abbrev _private.LexLeanCertification.Tail.#0.LexLeanRuntime.listIndex.match_1.splitter.{u_1} : @8413 := @8414 { + all: ["_private.LexLeanCertification.Tail.#0.LexLeanRuntime.listIndex.match_1.splitter"], class: false, compiled: true, generated: false, @@ -396,8 +394,8 @@ reducibility: abbrev{}, transparency: semireducible } -theorem LexLeanTarget.TargetSemantics.LexLeanRuntime.listIndex.eq_def : @8446 := @9121 { - all: [LexLeanTarget.TargetSemantics.LexLeanRuntime.listIndex.eq_def], +theorem LexLeanRuntime.listIndex.eq_def : @8446 := @9121 { + all: [LexLeanRuntime.listIndex.eq_def], class: false, generated: false, policy: exact{axioms: []}, @@ -565,28 +563,22 @@ policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.LexLeanRuntime.listIndex.match_1.eq_1.{u_1} : @10136 := @10144 { - all: [ - "_private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.LexLeanRuntime.listIndex.match_1.eq_1" - ], +theorem _private.LexLeanCertification.Tail.#0.LexLeanRuntime.listIndex.match_1.eq_1.{u_1} : @10136 := @10144 { + all: ["_private.LexLeanCertification.Tail.#0.LexLeanRuntime.listIndex.match_1.eq_1"], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.LexLeanRuntime.listIndex.match_1.eq_2.{u_1} : @10167 := @10176 { - all: [ - "_private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.LexLeanRuntime.listIndex.match_1.eq_2" - ], +theorem _private.LexLeanCertification.Tail.#0.LexLeanRuntime.listIndex.match_1.eq_2.{u_1} : @10167 := @10176 { + all: ["_private.LexLeanCertification.Tail.#0.LexLeanRuntime.listIndex.match_1.eq_2"], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.LexLeanRuntime.listIndex.match_1.eq_3.{u_1} : @10216 := @10226 { - all: [ - "_private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.LexLeanRuntime.listIndex.match_1.eq_3" - ], +theorem _private.LexLeanCertification.Tail.#0.LexLeanRuntime.listIndex.match_1.eq_3.{u_1} : @10216 := @10226 { + all: ["_private.LexLeanCertification.Tail.#0.LexLeanRuntime.listIndex.match_1.eq_3"], class: false, generated: false, policy: exact{axioms: []}, @@ -951,27 +943,27 @@ reducibility: abbrev{}, transparency: semireducible } -theorem _private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.primitive.match_13.eq_1.{u_1} : @12720 := @12725 { +theorem _private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.primitive.match_15.eq_1.{u_1} : @12720 := @12725 { all: [ - "_private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.primitive.match_13.eq_1" + "_private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.primitive.match_15.eq_1" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.primitive.match_13.eq_2.{u_1} : @12741 := @12747 { +theorem _private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.primitive.match_15.eq_2.{u_1} : @12741 := @12747 { all: [ - "_private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.primitive.match_13.eq_2" + "_private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.primitive.match_15.eq_2" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -abbrev _private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.primitive.match_13.splitter.{u_1} : @12751 := @12711 { +abbrev _private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.primitive.match_15.splitter.{u_1} : @12751 := @12711 { all: [ - "_private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.primitive.match_13.splitter" + "_private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.primitive.match_15.splitter" ], class: false, compiled: true, @@ -981,27 +973,27 @@ reducibility: abbrev{}, transparency: semireducible } -theorem _private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.primitive.match_17.eq_1.{u_1} : @12771 := @12776 { +theorem _private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.primitive.match_19.eq_1.{u_1} : @12771 := @12776 { all: [ - "_private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.primitive.match_17.eq_1" + "_private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.primitive.match_19.eq_1" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.primitive.match_17.eq_2.{u_1} : @12792 := @12798 { +theorem _private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.primitive.match_19.eq_2.{u_1} : @12792 := @12798 { all: [ - "_private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.primitive.match_17.eq_2" + "_private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.primitive.match_19.eq_2" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -abbrev _private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.primitive.match_17.splitter.{u_1} : @12802 := @12762 { +abbrev _private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.primitive.match_19.splitter.{u_1} : @12802 := @12762 { all: [ - "_private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.primitive.match_17.splitter" + "_private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.primitive.match_19.splitter" ], class: false, compiled: true, @@ -1100,9 +1092,9 @@ @174 := Option.{0} @175 := @174 @2 @176 := @8 @175 -@177 := LexLeanTarget.TargetSemantics.LexLeanRuntime.index +@177 := LexLeanRuntime.index @179 := @177 @5 @2 -@180 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instIndexableList +@180 := LexLeanRuntime.instIndexableList @182 := @179 (@180 @2) @185 := @176 (@182 @16 @25) @186 := Option.some.{0} @@ -4383,7 +4375,7 @@ proof(fun (x._@.LexLeanTarget.TargetSyntax.#1953721060._hygCtx.#44.LexLeanTarget.TargetSemantics.#41623050._hygCtx._hyg.#2414 : @785) => @1708)) @5341 := proof(@5338 @5340) -@5342 := proof(LexLeanTarget.TargetSemantics.primitive.match_13.{1}) +@5342 := proof(LexLeanTarget.TargetSemantics.primitive.match_15.{1}) @5343 := @174 @785 @5345 := proof(@5342 proof(fun (x._@.LexLeanTarget.TargetSemantics.#41623050._hygCtx._hyg.#2445 : @5343) => @792)) @@ -4775,7 +4767,7 @@ @5982 := proof(@5977 @5981) @5983 := proof(@1657 @5982) @5984 := proof(@1675 @5982) -@5985 := proof(LexLeanTarget.TargetSemantics.primitive.match_17.{1}) +@5985 := proof(LexLeanTarget.TargetSemantics.primitive.match_19.{1}) @5986 := @174 @2104 @5992 := proof(proof(@5985 proof(fun (x._@.LexLeanTarget.TargetSemantics.#41623050._hygCtx._hyg.#2990 : @5986) => @@ -6655,7 +6647,7 @@ @11) @5812))))) @5820))))))) -@8299 := LexLeanTarget.TargetSemantics.LexLeanRuntime.Indexable @25 @18 +@8299 := LexLeanRuntime.Indexable @25 @18 @8300 := @174 @22 @8301 := @8 @8300 @8306 := @177 @11 @22 @16 @25 @18 @@ -6663,8 +6655,7 @@ {β : @6457} -> [inst._@.LexLeanTarget.TargetSemantics.#3407831578._hygCtx._hyg.#4 : @8299] -> (value : @16) -> - (offset : @173) -> - @8301 @8306 (LexLeanTarget.TargetSemantics.LexLeanRuntime.Indexable.index @11 @22 @16 @25 @18) + (offset : @173) -> @8301 @8306 (LexLeanRuntime.Indexable.index @11 @22 @16 @25 @18) @8320 := proof(@521 @8300) @8326 := proof(fun {α : @6457} => proof(fun {β : @6457} => @@ -6672,7 +6663,7 @@ proof(fun (value : @16) => proof(fun (offset : @173) => proof(@8320 @8306)))))) @8327 := @174 @25 @8328 := @8 @8327 -@8329 := LexLeanTarget.TargetSemantics.LexLeanRuntime.listIndex +@8329 := LexLeanRuntime.listIndex @8333 := @8329 @25 (@194 @25) @18 @8338 := {α : @6457} -> (x._@.LexLeanTarget.TargetSemantics.#2784266133._hygCtx._hyg.#11 : @173) -> @8328 @8333 (@450 @25) @@ -6712,9 +6703,9 @@ (x._@.LexLeanTarget.TargetSemantics.#2784266133._hygCtx.#10.LexLeanTarget.TargetSemantics.#2784266133._hygCtx._hyg.#29 : @8343) -> (x._@.LexLeanTarget.TargetSemantics.#2784266133._hygCtx.#11.LexLeanTarget.TargetSemantics.#2784266133._hygCtx._hyg.#32 : @173) -> (h_1 : @8389) -> (h_2 : @8397) -> (h_3 : @8406) -> @335 -@8414 := LexLeanTarget.TargetSemantics.LexLeanRuntime.listIndex.match_1.{u_1} +@8414 := LexLeanRuntime.listIndex.match_1.{u_1} @8417 := @8345 (@8346 @25 @18) -@8418 := LexLeanTarget.TargetSemantics.LexLeanRuntime.listIndex.match_1.{1} +@8418 := LexLeanRuntime.listIndex.match_1.{1} @8419 := @8418 @16 @8420 := @4 @16 @8421 := @174 @11 @@ -6745,7 +6736,7 @@ @8453 := proof(proof(@8449 @8451) @25) @8454 := proof(List.brecOn.go.{1, 0}) @8457 := proof(proof(proof(@8454 @16) @8451) @25) -@8458 := proof(LexLeanTarget.TargetSemantics.LexLeanRuntime.listIndex._f) +@8458 := proof(LexLeanRuntime.listIndex._f) @8461 := proof(proj PProd PProd.snd 1 proof(@8457 proof(@8458 @16))) @8463 := proof(proof(List.brecOn.{1, 0}) @22) @8464 := proof(@174 @70) @@ -6855,7 +6846,7 @@ @8588))))) @18)) @8494)) -@8599 := proof(proof(_private.LexLeanCertification.Tail.#0.LexLeanTarget.TargetSemantics.LexLeanRuntime.listIndex.match_1.splitter.{0}) +@8599 := proof(proof(_private.LexLeanCertification.Tail.#0.LexLeanRuntime.listIndex.match_1.splitter.{0}) @22) @8601 := proof(proof(@8 @8390) @11) @8602 := proof(@8601 @25) @@ -10110,7 +10101,7 @@ @12708 := (item : @785) -> @16 @12706 @12709 := @16 @12702 @12710 := @9126 @12709 -@12711 := LexLeanTarget.TargetSemantics.primitive.match_13.{u_1} +@12711 := LexLeanTarget.TargetSemantics.primitive.match_15.{u_1} @12715 := @12711 @16 @12702 @25 @18 @12720 := (motive : @12701) -> (h_1 : @12704) -> (h_2 : @12708) -> @12710 @12715 @9162 @12725 := proof(fun (motive._@._hyg.#3 : @12701) => @@ -10139,7 +10130,7 @@ @12759 := (part : @2104) -> @16 @12757 @12760 := @16 @12753 @12761 := @9126 @12760 -@12762 := LexLeanTarget.TargetSemantics.primitive.match_17.{u_1} +@12762 := LexLeanTarget.TargetSemantics.primitive.match_19.{u_1} @12766 := @12762 @16 @12753 @25 @18 @12771 := (motive : @12752) -> (h_1 : @12755) -> (h_2 : @12759) -> @12761 @12766 @9162 @12776 := proof(fun (motive._@._hyg.#3 : @12752) => diff --git a/compiler/proofs/src/Trials.lex.tex b/compiler/proofs/src/Trials.lex.tex index e48cce609..c7081b005 100644 --- a/compiler/proofs/src/Trials.lex.tex +++ b/compiler/proofs/src/Trials.lex.tex @@ -2969,10 +2969,8 @@ @3574 := Option.{0} @3575 := proof(@3574 @3572) @3576 := proof(@101 @3575) -@3583 := proof(proof(proof(proof(LexLeanTarget.TargetSemantics.LexLeanRuntime.index) - proof(@141 @3572)) - @3572) - proof(proof(LexLeanTarget.TargetSemantics.LexLeanRuntime.instIndexableList) @3572)) +@3583 := proof(proof(proof(proof(LexLeanRuntime.index) proof(@141 @3572)) @3572) + proof(proof(LexLeanRuntime.instIndexableList) @3572)) @3584 := proof(LexLeanTarget.TargetSyntax.Program.functions) @3587 := proof(proof(@3583 proof(@3584 @26)) @22) @3588 := proof(@3576 @3587) diff --git a/compiler/rust/negative/arithmetic-invented-overflow.json b/compiler/rust/negative/arithmetic-invented-overflow.json index 35eb085fa..8e055cf6b 100644 --- a/compiler/rust/negative/arithmetic-invented-overflow.json +++ b/compiler/rust/negative/arithmetic-invented-overflow.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"booleans_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"bool_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bool_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bool_or"}},{"kind":"build","operands":[{"condition":{"kind":"var","name":0},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"true"}},{"binders":[],"body":{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"bool_not"}},"shape":{"kind":"false"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"bool"},"kind":"list"},"types":[{"kind":"bool"},{"kind":"bool"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"booleans_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"bool_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bool_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bool_or"}},{"kind":"build","operands":[{"condition":{"kind":"var","name":0},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"true"}},{"binders":[],"body":{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"bool_not"}},"shape":{"kind":"false"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"bool"},"kind":"list"},"types":[{"kind":"bool"},{"kind":"bool"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/negative/arithmetic-undeclared-overflow.json b/compiler/rust/negative/arithmetic-undeclared-overflow.json index 083a770df..7c7cc95b6 100644 --- a/compiler/rust/negative/arithmetic-undeclared-overflow.json +++ b/compiler/rust/negative/arithmetic-undeclared-overflow.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"sum_to_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"sum_to_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/negative/export-arity.json b/compiler/rust/negative/export-arity.json index e0e7bec2b..8a3bcf5c8 100644 --- a/compiler/rust/negative/export-arity.json +++ b/compiler/rust/negative/export-arity.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"sum_to_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"sum_to_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/negative/hidden-allocation-list.json b/compiler/rust/negative/hidden-allocation-list.json index 7398cfc7d..0331ef7fb 100644 --- a/compiler/rust/negative/hidden-allocation-list.json +++ b/compiler/rust/negative/hidden-allocation-list.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"lists_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"9"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"operation":{"kind":"append"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"length"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"index"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"index"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"slice"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"slice"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}}},"parameters":[0],"result":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}},"types":[{"element":{"kind":"nat"},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"lists_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"9"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"operation":{"kind":"append"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"length"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"index"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"index"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"slice"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"slice"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}}},"parameters":[0],"result":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}},"types":[{"element":{"kind":"nat"},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/negative/hidden-allocation-recursive-type.json b/compiler/rust/negative/hidden-allocation-recursive-type.json index 9ca4e0323..e44cab42f 100644 --- a/compiler/rust/negative/hidden-allocation-recursive-type.json +++ b/compiler/rust/negative/hidden-allocation-recursive-type.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":1,"name":"run","parameters":[]}],"name":"adt_evaluation_core","profile":"rust-core","program":{"adts":[{"constructors":[[{"kind":"nat"}],[{"index":0,"kind":"adt"},{"index":0,"kind":"adt"}],[{"index":1,"kind":"adt"},{"index":0,"kind":"adt"}]]},{"constructors":[[{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"arms":[{"binders":[1],"body":{"kind":"var","name":1},"shape":{"constructor":0,"kind":"adt"}},{"binders":[2,3],"body":{"kind":"prim","operands":[{"function":0,"kind":"call","operands":[{"kind":"var","name":2}]},{"function":0,"kind":"call","operands":[{"kind":"var","name":3}]}],"operation":{"kind":"nat_add"}},"shape":{"constructor":1,"kind":"adt"}},{"binders":[4,5],"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":4}},{"index":1,"kind":"field","value":{"kind":"var","name":4}}],"operation":{"kind":"nat_add"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":5}]}],"operation":{"kind":"nat_mul"}},"shape":{"constructor":2,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]},{"body":{"function":0,"kind":"call","operands":[{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}],"shape":{"constructor":2,"kind":"adt"},"type":{"index":0,"kind":"adt"}}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"parameters":[],"result":{"kind":"nat"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":1,"name":"run","parameters":[]}],"name":"adt_evaluation_core","profile":"rust-core","program":{"adts":[{"constructors":[[{"kind":"nat"}],[{"index":0,"kind":"adt"},{"index":0,"kind":"adt"}],[{"index":1,"kind":"adt"},{"index":0,"kind":"adt"}]]},{"constructors":[[{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"arms":[{"binders":[1],"body":{"kind":"var","name":1},"shape":{"constructor":0,"kind":"adt"}},{"binders":[2,3],"body":{"kind":"prim","operands":[{"function":0,"kind":"call","operands":[{"kind":"var","name":2}]},{"function":0,"kind":"call","operands":[{"kind":"var","name":3}]}],"operation":{"kind":"nat_add"}},"shape":{"constructor":1,"kind":"adt"}},{"binders":[4,5],"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":4}},{"index":1,"kind":"field","value":{"kind":"var","name":4}}],"operation":{"kind":"nat_add"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":5}]}],"operation":{"kind":"nat_mul"}},"shape":{"constructor":2,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]},{"body":{"function":0,"kind":"call","operands":[{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}],"shape":{"constructor":2,"kind":"adt"},"type":{"index":0,"kind":"adt"}}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"parameters":[],"result":{"kind":"nat"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/negative/identifier-exported-twice.json b/compiler/rust/negative/identifier-exported-twice.json index 3ba213063..57424eb80 100644 --- a/compiler/rust/negative/identifier-exported-twice.json +++ b/compiler/rust/negative/identifier-exported-twice.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]},{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"sum_to_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]},{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"sum_to_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/negative/identifier-generated.json b/compiler/rust/negative/identifier-generated.json index 09d95c050..f607b44a5 100644 --- a/compiler/rust/negative/identifier-generated.json +++ b/compiler/rust/negative/identifier-generated.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"v3","parameters":["own"]}],"name":"sum_to_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"v3","parameters":["own"]}],"name":"sum_to_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/negative/identifier-keyword.json b/compiler/rust/negative/identifier-keyword.json index 3169a844b..6e95ba0e3 100644 --- a/compiler/rust/negative/identifier-keyword.json +++ b/compiler/rust/negative/identifier-keyword.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"match","parameters":["own"]}],"name":"sum_to_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"match","parameters":["own"]}],"name":"sum_to_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/negative/identifier-not-snake-case.json b/compiler/rust/negative/identifier-not-snake-case.json index 5c2a9f4af..d7ac8460f 100644 --- a/compiler/rust/negative/identifier-not-snake-case.json +++ b/compiler/rust/negative/identifier-not-snake-case.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"Run","parameters":["own"]}],"name":"sum_to_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"Run","parameters":["own"]}],"name":"sum_to_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/negative/identifier-reserved-crate.json b/compiler/rust/negative/identifier-reserved-crate.json index a7d1a9d23..6a04120a0 100644 --- a/compiler/rust/negative/identifier-reserved-crate.json +++ b/compiler/rust/negative/identifier-reserved-crate.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"core","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"core","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/negative/identifier-runtime-function.json b/compiler/rust/negative/identifier-runtime-function.json index 4c73cfa95..317074a86 100644 --- a/compiler/rust/negative/identifier-runtime-function.json +++ b/compiler/rust/negative/identifier-runtime-function.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"nat_add","parameters":["own"]}],"name":"sum_to_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"nat_add","parameters":["own"]}],"name":"sum_to_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/negative/identifier-runtime-item.json b/compiler/rust/negative/identifier-runtime-item.json index fea8e7c2a..0aaad18f0 100644 --- a/compiler/rust/negative/identifier-runtime-item.json +++ b/compiler/rust/negative/identifier-runtime-item.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"tick","parameters":["own"]}],"name":"sum_to_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"tick","parameters":["own"]}],"name":"sum_to_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/negative/malformed-unknown-member.json b/compiler/rust/negative/malformed-unknown-member.json index 8a59e9681..f11edb9d0 100644 --- a/compiler/rust/negative/malformed-unknown-member.json +++ b/compiler/rust/negative/malformed-unknown-member.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"sum_to_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","unchecked":true,"version":"1.0.0"} \ No newline at end of file +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"sum_to_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","unchecked":true,"version":"1.0.0"} \ No newline at end of file diff --git a/compiler/rust/negative/ownership-copy-list.json b/compiler/rust/negative/ownership-copy-list.json index a769dc981..100a9e936 100644 --- a/compiler/rust/negative/ownership-copy-list.json +++ b/compiler/rust/negative/ownership-copy-list.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["copy"]}],"name":"lists_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"9"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"operation":{"kind":"append"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"length"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"index"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"index"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"slice"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"slice"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}}},"parameters":[0],"result":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}},"types":[{"element":{"kind":"nat"},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["copy"]}],"name":"lists_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"9"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"operation":{"kind":"append"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"length"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"index"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"index"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"slice"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"slice"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}}},"parameters":[0],"result":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}},"types":[{"element":{"kind":"nat"},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/negative/unsupported-function-boundary.json b/compiler/rust/negative/unsupported-function-boundary.json index 8fa81661f..0ccb50e4b 100644 --- a/compiler/rust/negative/unsupported-function-boundary.json +++ b/compiler/rust/negative/unsupported-function-boundary.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":1,"name":"run","parameters":["own","own"]}],"name":"closures_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"captures":[{"kind":"var","name":1}],"function":2,"kind":"closure"},{"kind":"var","name":0}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"kind":"build","operands":[{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"nat_add"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":1,"name":"run","parameters":["own","own"]}],"name":"closures_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"captures":[{"kind":"var","name":1}],"function":2,"kind":"closure"},{"kind":"var","name":0}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"kind":"build","operands":[{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"nat_add"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/negative/unsupported-function-in-record.json b/compiler/rust/negative/unsupported-function-in-record.json index e8e8ed485..86bf5847e 100644 --- a/compiler/rust/negative/unsupported-function-in-record.json +++ b/compiler/rust/negative/unsupported-function-in-record.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"sum_to_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}}]]}],"functions":[{"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"sum_to_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}}]]}],"functions":[{"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/negative/unsupported-uninhabited-value.json b/compiler/rust/negative/unsupported-uninhabited-value.json index 06ee953c7..0590c657b 100644 --- a/compiler/rust/negative/unsupported-uninhabited-value.json +++ b/compiler/rust/negative/unsupported-uninhabited-value.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"sum_to_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"apply","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"target":{"function":1,"kind":"call","operands":[]}},"parameters":[],"result":{"kind":"nat"},"types":[]},{"body":{"function":1,"kind":"call","operands":[]},"parameters":[],"result":{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"sum_to_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"apply","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"target":{"function":1,"kind":"call","operands":[]}},"parameters":[],"result":{"kind":"nat"},"types":[]},{"body":{"function":1,"kind":"call","operands":[]},"parameters":[],"result":{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/negative/version-noncanonical.json b/compiler/rust/negative/version-noncanonical.json index 76407923b..b2066b08f 100644 --- a/compiler/rust/negative/version-noncanonical.json +++ b/compiler/rust/negative/version-noncanonical.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"sum_to_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.01.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"sum_to_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.01.0"} diff --git a/compiler/rust/negative/version-overflow.json b/compiler/rust/negative/version-overflow.json index 8b26328f7..06415ca21 100644 --- a/compiler/rust/negative/version-overflow.json +++ b/compiler/rust/negative/version-overflow.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"sum_to_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"99999999999999999999.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"sum_to_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"99999999999999999999.0.0"} diff --git a/compiler/rust/rust-core/boolean-shapes/package.json b/compiler/rust/rust-core/boolean-shapes/package.json index 0eaed1f11..0366feba8 100644 --- a/compiler/rust/rust-core/boolean-shapes/package.json +++ b/compiler/rust/rust-core/boolean-shapes/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"boolean_shapes_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"true"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"false"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"true"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"false"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"bool"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"zero"}},{"binders":[4],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}},{"kind":"build","operands":[{"condition":{"condition":{"kind":"var","name":0},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}},{"kind":"build","operands":[{"condition":{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}},{"kind":"build","operands":[{"condition":{"kind":"var","name":0},"else_branch":{"condition":{"kind":"var","name":1},"else_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"7"}},"shape":{"kind":"zero"}},{"binders":[5],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"7"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"nat"}},{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},"shape":{"kind":"true"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},"shape":{"kind":"false"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"nat"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}}},"types":[{"kind":"bool"},{"kind":"bool"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"boolean_shapes_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"true"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"false"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"true"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"false"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"bool"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"zero"}},{"binders":[4],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}},{"kind":"build","operands":[{"condition":{"condition":{"kind":"var","name":0},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}},{"kind":"build","operands":[{"condition":{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}},{"kind":"build","operands":[{"condition":{"kind":"var","name":0},"else_branch":{"condition":{"kind":"var","name":1},"else_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"7"}},"shape":{"kind":"zero"}},{"binders":[5],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"7"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"nat"}},{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},"shape":{"kind":"true"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},"shape":{"kind":"false"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"nat"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}}},"types":[{"kind":"bool"},{"kind":"bool"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/boolean-shapes/provenance.json b/compiler/rust/rust-core/boolean-shapes/provenance.json index e3013d2dd..d21ad4202 100644 --- a/compiler/rust/rust-core/boolean-shapes/provenance.json +++ b/compiler/rust/rust-core/boolean-shapes/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"270742331c4b51375f678f97518fef1740d1842a36da8c59f5d3fea16ed91ff2","src/lib.rs":"65e63587931891835448f453c9452a33b30003641aa1f8fc341fdb2102aba0a1"},"name":"boolean_shapes_core","profile":"rust-core","program":"08c54665d09d55ac525712aaf1c9be1ab4a4335c07dcc89b2bc107f4e151e2c9","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"270742331c4b51375f678f97518fef1740d1842a36da8c59f5d3fea16ed91ff2","src/lib.rs":"65e63587931891835448f453c9452a33b30003641aa1f8fc341fdb2102aba0a1"},"name":"boolean_shapes_core","profile":"rust-core","program":"08c54665d09d55ac525712aaf1c9be1ab4a4335c07dcc89b2bc107f4e151e2c9","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/closure-captures/package.json b/compiler/rust/rust-core/closure-captures/package.json index ac8e20593..8f87d6c2f 100644 --- a/compiler/rust/rust-core/closure-captures/package.json +++ b/compiler/rust/rust-core/closure-captures/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own","own"]}],"name":"closure_captures_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"captures":[{"kind":"var","name":0},{"kind":"var","name":1}],"function":2,"kind":"closure"},{"kind":"var","name":2}]},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"kind":"apply","operands":[{"kind":"apply","operands":[{"kind":"var","name":1}],"target":{"kind":"var","name":0}}],"target":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"var","name":0}],"operation":{"kind":"nat_mul"}},{"kind":"var","name":1}],"operation":{"kind":"nat_sub"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own","own"]}],"name":"closure_captures_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"captures":[{"kind":"var","name":0},{"kind":"var","name":1}],"function":2,"kind":"closure"},{"kind":"var","name":2}]},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"kind":"apply","operands":[{"kind":"apply","operands":[{"kind":"var","name":1}],"target":{"kind":"var","name":0}}],"target":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"var","name":0}],"operation":{"kind":"nat_mul"}},{"kind":"var","name":1}],"operation":{"kind":"nat_sub"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/closure-captures/provenance.json b/compiler/rust/rust-core/closure-captures/provenance.json index 51404c755..c90be8c91 100644 --- a/compiler/rust/rust-core/closure-captures/provenance.json +++ b/compiler/rust/rust-core/closure-captures/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"513f6df0a5c7e40a18b97e58427e056e0ceece99bbb616056ee599ebc220a9bf","src/lib.rs":"18cfe1a5740827e7c2ddd1af708b09451d92a158072840a063fe08a4f26ee32f"},"name":"closure_captures_core","profile":"rust-core","program":"e2d52d5414c5f9639f8e127b054cd3820f186da100f2dd2c1b707805abba379f","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"513f6df0a5c7e40a18b97e58427e056e0ceece99bbb616056ee599ebc220a9bf","src/lib.rs":"18cfe1a5740827e7c2ddd1af708b09451d92a158072840a063fe08a4f26ee32f"},"name":"closure_captures_core","profile":"rust-core","program":"e2d52d5414c5f9639f8e127b054cd3820f186da100f2dd2c1b707805abba379f","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/closure-inline/package.json b/compiler/rust/rust-core/closure-inline/package.json index 649fad731..acd67a327 100644 --- a/compiler/rust/rust-core/closure-inline/package.json +++ b/compiler/rust/rust-core/closure-inline/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"closure_inline_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"apply","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"100"}}],"target":{"captures":[{"kind":"var","name":0},{"kind":"var","name":1}],"function":1,"kind":"closure"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"var","name":0}],"operation":{"kind":"nat_mul"}},{"kind":"var","name":1}],"operation":{"kind":"nat_sub"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"closure_inline_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"apply","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"100"}}],"target":{"captures":[{"kind":"var","name":0},{"kind":"var","name":1}],"function":1,"kind":"closure"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"var","name":0}],"operation":{"kind":"nat_mul"}},{"kind":"var","name":1}],"operation":{"kind":"nat_sub"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/closure-inline/provenance.json b/compiler/rust/rust-core/closure-inline/provenance.json index c489e137d..f5a5f9aa4 100644 --- a/compiler/rust/rust-core/closure-inline/provenance.json +++ b/compiler/rust/rust-core/closure-inline/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"335aa4c0de5f90930e2c19c8a9fea191702847d951ad7e2ee90795a416482576","src/lib.rs":"42788e5240eb4ac7026621a0ef10a381221e18e2a25e449814e4532ba2b0e4bd"},"name":"closure_inline_core","profile":"rust-core","program":"cce3e8632d8c7b42f7961f9a6c0f734f50ea0eab68ab6e496f16558de67003ce","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"335aa4c0de5f90930e2c19c8a9fea191702847d951ad7e2ee90795a416482576","src/lib.rs":"42788e5240eb4ac7026621a0ef10a381221e18e2a25e449814e4532ba2b0e4bd"},"name":"closure_inline_core","profile":"rust-core","program":"cce3e8632d8c7b42f7961f9a6c0f734f50ea0eab68ab6e496f16558de67003ce","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/closure-uninhabited/package.json b/compiler/rust/rust-core/closure-uninhabited/package.json index f3615e3e8..be7630ccc 100644 --- a/compiler/rust/rust-core/closure-uninhabited/package.json +++ b/compiler/rust/rust-core/closure-uninhabited/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"closure_uninhabited_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"function":2,"kind":"call","operands":[{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}}}},{"kind":"var","name":0}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"kind":"apply","operands":[{"kind":"var","name":1}],"target":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"apply","operands":[{"kind":"var","name":1}],"target":{"kind":"var","name":2}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"option","value":{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}}},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"closure_uninhabited_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"function":2,"kind":"call","operands":[{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}}}},{"kind":"var","name":0}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"kind":"apply","operands":[{"kind":"var","name":1}],"target":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"apply","operands":[{"kind":"var","name":1}],"target":{"kind":"var","name":2}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"option","value":{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}}},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/closure-uninhabited/provenance.json b/compiler/rust/rust-core/closure-uninhabited/provenance.json index 3b610182c..bf28c99c5 100644 --- a/compiler/rust/rust-core/closure-uninhabited/provenance.json +++ b/compiler/rust/rust-core/closure-uninhabited/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"028327704b4d2dc090da323b38046c4165b5f1a96c1fd53f9be114292c6c29a5","src/lib.rs":"cc89f8dec9d4c8de63b66e7895279423fe44c964a56d26681813898faec4a14b"},"name":"closure_uninhabited_core","profile":"rust-core","program":"057be489c5323c3dc11411532fd63e39ec3436d200fc45dfd8e385bec6106b04","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"028327704b4d2dc090da323b38046c4165b5f1a96c1fd53f9be114292c6c29a5","src/lib.rs":"cc89f8dec9d4c8de63b66e7895279423fe44c964a56d26681813898faec4a14b"},"name":"closure_uninhabited_core","profile":"rust-core","program":"057be489c5323c3dc11411532fd63e39ec3436d200fc45dfd8e385bec6106b04","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/convert/package.json b/compiler/rust/rust-core/convert/package.json index fe77e5d88..10337ec9e 100644 --- a/compiler/rust/rust-core/convert/package.json +++ b/compiler/rust/rust-core/convert/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"convert_core","profile":"rust-core","program":{"adts":[{"constructors":[[{"kind":"option","value":{"kind":"fixed","width":"u8"}},{"kind":"option","value":{"kind":"fixed","width":"u16"}},{"kind":"option","value":{"kind":"fixed","width":"u32"}},{"kind":"option","value":{"kind":"fixed","width":"u64"}},{"kind":"option","value":{"kind":"fixed","width":"i8"}},{"kind":"option","value":{"kind":"fixed","width":"i16"}},{"kind":"option","value":{"kind":"fixed","width":"i32"}},{"kind":"option","value":{"kind":"fixed","width":"i64"}}]]}],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"u8"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"65535"}}],"operation":{"kind":"convert","target":"u16"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-1"}}],"operation":{"kind":"convert","target":"u32"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"4294967295"}}],"operation":{"kind":"convert","target":"u64"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"128"}}],"operation":{"kind":"convert","target":"i8"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"-32768"}}],"operation":{"kind":"convert","target":"i16"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"18446744073709551615"}}],"operation":{"kind":"convert","target":"i32"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-9223372036854775808"}}],"operation":{"kind":"convert","target":"i64"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"parameters":[],"result":{"index":0,"kind":"adt"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"convert_core","profile":"rust-core","program":{"adts":[{"constructors":[[{"kind":"option","value":{"kind":"fixed","width":"u8"}},{"kind":"option","value":{"kind":"fixed","width":"u16"}},{"kind":"option","value":{"kind":"fixed","width":"u32"}},{"kind":"option","value":{"kind":"fixed","width":"u64"}},{"kind":"option","value":{"kind":"fixed","width":"i8"}},{"kind":"option","value":{"kind":"fixed","width":"i16"}},{"kind":"option","value":{"kind":"fixed","width":"i32"}},{"kind":"option","value":{"kind":"fixed","width":"i64"}}]]}],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"u8"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"65535"}}],"operation":{"kind":"convert","target":"u16"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-1"}}],"operation":{"kind":"convert","target":"u32"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"4294967295"}}],"operation":{"kind":"convert","target":"u64"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"128"}}],"operation":{"kind":"convert","target":"i8"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"-32768"}}],"operation":{"kind":"convert","target":"i16"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"18446744073709551615"}}],"operation":{"kind":"convert","target":"i32"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-9223372036854775808"}}],"operation":{"kind":"convert","target":"i64"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"parameters":[],"result":{"index":0,"kind":"adt"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/convert/provenance.json b/compiler/rust/rust-core/convert/provenance.json index 03d5c4518..18d56e1e7 100644 --- a/compiler/rust/rust-core/convert/provenance.json +++ b/compiler/rust/rust-core/convert/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"eb5b8719a62544af24875ac26fc79a3ecac479e6ae96bba411b93c91d8be2115","src/lib.rs":"467414792ece513732505a93277d6770bcd85be30d5457ffdc72d3bfde288c5a"},"name":"convert_core","profile":"rust-core","program":"53f534696ea7212909ffcf637122ef370f71853fc0ce58655b91be97455279f5","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"eb5b8719a62544af24875ac26fc79a3ecac479e6ae96bba411b93c91d8be2115","src/lib.rs":"467414792ece513732505a93277d6770bcd85be30d5457ffdc72d3bfde288c5a"},"name":"convert_core","profile":"rust-core","program":"53f534696ea7212909ffcf637122ef370f71853fc0ce58655b91be97455279f5","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/fallible-condition-value/package.json b/compiler/rust/rust-core/fallible-condition-value/package.json index 3617357a9..f376d9e5c 100644 --- a/compiler/rust/rust-core/fallible-condition-value/package.json +++ b/compiler/rust/rust-core/fallible-condition-value/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"fallible_condition_value_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"condition":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"fallible_condition_value_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"condition":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/fallible-condition-value/provenance.json b/compiler/rust/rust-core/fallible-condition-value/provenance.json index 2cbef8f6a..319f1cd38 100644 --- a/compiler/rust/rust-core/fallible-condition-value/provenance.json +++ b/compiler/rust/rust-core/fallible-condition-value/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"1c786dda2900c26d0db6af21a1218b68ab82fcc35902da344bb9903a8b971c96","src/lib.rs":"bddb19e6192a93407de2d177726dd4012b6f70e6e92f42f1396c5d985f0092bb"},"name":"fallible_condition_value_core","profile":"rust-core","program":"1e4bbfc9aa1667d930aa5d3c7df5105e11161bde3842639d8fd684b9e7c9ab80","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"1c786dda2900c26d0db6af21a1218b68ab82fcc35902da344bb9903a8b971c96","src/lib.rs":"bddb19e6192a93407de2d177726dd4012b6f70e6e92f42f1396c5d985f0092bb"},"name":"fallible_condition_value_core","profile":"rust-core","program":"1e4bbfc9aa1667d930aa5d3c7df5105e11161bde3842639d8fd684b9e7c9ab80","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/fixed-width-i16/package.json b/compiler/rust/rust-core/fixed-width-i16/package.json index 016c93617..cdf1a3dfa 100644 --- a/compiler/rust/rust-core/fixed-width-i16/package.json +++ b/compiler/rust/rust-core/fixed-width-i16/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_i16_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"checked_neg"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"16"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"i16"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"i16"},{"kind":"fixed","width":"i16"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_i16_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"checked_neg"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"16"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"i16"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"i16"},{"kind":"fixed","width":"i16"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/fixed-width-i16/provenance.json b/compiler/rust/rust-core/fixed-width-i16/provenance.json index 9c46372db..5f8674826 100644 --- a/compiler/rust/rust-core/fixed-width-i16/provenance.json +++ b/compiler/rust/rust-core/fixed-width-i16/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"853341a44b5be6732073d7787b210c4d0eea984965d76d8f9f75225017444c06","src/lib.rs":"7c2699d6b1bbced03ccb18536fa78c7ee2f01344c07d13742eaa100c48acfa14"},"name":"fixed_width_i16_core","profile":"rust-core","program":"23f1a6e3b665ccabf568dce2bcfd6ca2247170568ae24f097dc9f260f0d2369e","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"853341a44b5be6732073d7787b210c4d0eea984965d76d8f9f75225017444c06","src/lib.rs":"7c2699d6b1bbced03ccb18536fa78c7ee2f01344c07d13742eaa100c48acfa14"},"name":"fixed_width_i16_core","profile":"rust-core","program":"23f1a6e3b665ccabf568dce2bcfd6ca2247170568ae24f097dc9f260f0d2369e","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/fixed-width-i32/package.json b/compiler/rust/rust-core/fixed-width-i32/package.json index 93e2ec6af..b3cab4c50 100644 --- a/compiler/rust/rust-core/fixed-width-i32/package.json +++ b/compiler/rust/rust-core/fixed-width-i32/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_i32_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"checked_neg"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"32"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"i32"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"i32"},{"kind":"fixed","width":"i32"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_i32_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"checked_neg"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"32"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"i32"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"i32"},{"kind":"fixed","width":"i32"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/fixed-width-i32/provenance.json b/compiler/rust/rust-core/fixed-width-i32/provenance.json index 892e8b7dc..fb9131abb 100644 --- a/compiler/rust/rust-core/fixed-width-i32/provenance.json +++ b/compiler/rust/rust-core/fixed-width-i32/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"d8447a870cb64afbda2e9b3a3da2c9ca3ed1e8795f70e7d67c0c9e74148f8df0","src/lib.rs":"49031024a1bb8be1243847a84d67804aa79ceecdf659cc6a8d9bdbe771be2468"},"name":"fixed_width_i32_core","profile":"rust-core","program":"a55c0f3839fd471d83e04fe51ad076da864407a9027bc8225331cb1e562880ee","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"d8447a870cb64afbda2e9b3a3da2c9ca3ed1e8795f70e7d67c0c9e74148f8df0","src/lib.rs":"49031024a1bb8be1243847a84d67804aa79ceecdf659cc6a8d9bdbe771be2468"},"name":"fixed_width_i32_core","profile":"rust-core","program":"a55c0f3839fd471d83e04fe51ad076da864407a9027bc8225331cb1e562880ee","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/fixed-width-i64/package.json b/compiler/rust/rust-core/fixed-width-i64/package.json index 31e78c67d..1779ef7f3 100644 --- a/compiler/rust/rust-core/fixed-width-i64/package.json +++ b/compiler/rust/rust-core/fixed-width-i64/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_i64_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"checked_neg"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"64"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"i64"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"i64"},{"kind":"fixed","width":"i64"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_i64_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"checked_neg"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"64"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"i64"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"i64"},{"kind":"fixed","width":"i64"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/fixed-width-i64/provenance.json b/compiler/rust/rust-core/fixed-width-i64/provenance.json index aa2a0e8ac..d0fe51acb 100644 --- a/compiler/rust/rust-core/fixed-width-i64/provenance.json +++ b/compiler/rust/rust-core/fixed-width-i64/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"b5daf860b0116ece635b5ee6bec0ad90e970e77b3bb3f4cbe5a311fb1bacad1b","src/lib.rs":"f4f0aded7852cfc7562eb3935c39c1c9aa026e0432d874094bfda8276b76a4ae"},"name":"fixed_width_i64_core","profile":"rust-core","program":"bf6c9acc0c25eb22d8c1deb59574ad70d65f06123c556ed17e1b7c5bbc5aa902","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"b5daf860b0116ece635b5ee6bec0ad90e970e77b3bb3f4cbe5a311fb1bacad1b","src/lib.rs":"f4f0aded7852cfc7562eb3935c39c1c9aa026e0432d874094bfda8276b76a4ae"},"name":"fixed_width_i64_core","profile":"rust-core","program":"bf6c9acc0c25eb22d8c1deb59574ad70d65f06123c556ed17e1b7c5bbc5aa902","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/fixed-width-i8/package.json b/compiler/rust/rust-core/fixed-width-i8/package.json index 0d003ec1b..155389d86 100644 --- a/compiler/rust/rust-core/fixed-width-i8/package.json +++ b/compiler/rust/rust-core/fixed-width-i8/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_i8_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"checked_neg"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"8"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"i8"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"i8"},{"kind":"fixed","width":"i8"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_i8_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"checked_neg"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"8"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"i8"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"i8"},{"kind":"fixed","width":"i8"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/fixed-width-i8/provenance.json b/compiler/rust/rust-core/fixed-width-i8/provenance.json index f562511b9..f53b38ba8 100644 --- a/compiler/rust/rust-core/fixed-width-i8/provenance.json +++ b/compiler/rust/rust-core/fixed-width-i8/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"e3c91103a71f1b25c70eb55ae56707e4ba1d1d599e5646271c92ff84e40a4215","src/lib.rs":"ecf7bc047379c906cdf15240bdaf8989a82293c10e1bc119b64808179f2ca777"},"name":"fixed_width_i8_core","profile":"rust-core","program":"d57d16e24c0ae93fc46223897266514db7bf77781397039e12b9f8781e3b6631","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"e3c91103a71f1b25c70eb55ae56707e4ba1d1d599e5646271c92ff84e40a4215","src/lib.rs":"ecf7bc047379c906cdf15240bdaf8989a82293c10e1bc119b64808179f2ca777"},"name":"fixed_width_i8_core","profile":"rust-core","program":"d57d16e24c0ae93fc46223897266514db7bf77781397039e12b9f8781e3b6631","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/fixed-width-u16/package.json b/compiler/rust/rust-core/fixed-width-u16/package.json index 48bba3497..6693860f7 100644 --- a/compiler/rust/rust-core/fixed-width-u16/package.json +++ b/compiler/rust/rust-core/fixed-width-u16/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_u16_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"16"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"u16"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"u16"},{"kind":"fixed","width":"u16"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_u16_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"16"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"u16"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"u16"},{"kind":"fixed","width":"u16"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/fixed-width-u16/provenance.json b/compiler/rust/rust-core/fixed-width-u16/provenance.json index caacba6fe..b0ee3ef6c 100644 --- a/compiler/rust/rust-core/fixed-width-u16/provenance.json +++ b/compiler/rust/rust-core/fixed-width-u16/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"eb503bab98acf82cf1b106647d9825b61c675c364249f4b69bf9fbed22e53883","src/lib.rs":"83a09ad442b65134d7eff880560c2c445ee528c9c8a416494a9116934e4eebe8"},"name":"fixed_width_u16_core","profile":"rust-core","program":"9b805d1f67c7b7fa48388bf6b3921d64f311b660e5894d4c4ad299390f0ef380","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"eb503bab98acf82cf1b106647d9825b61c675c364249f4b69bf9fbed22e53883","src/lib.rs":"83a09ad442b65134d7eff880560c2c445ee528c9c8a416494a9116934e4eebe8"},"name":"fixed_width_u16_core","profile":"rust-core","program":"9b805d1f67c7b7fa48388bf6b3921d64f311b660e5894d4c4ad299390f0ef380","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/fixed-width-u32/package.json b/compiler/rust/rust-core/fixed-width-u32/package.json index 1543a88af..6561449e5 100644 --- a/compiler/rust/rust-core/fixed-width-u32/package.json +++ b/compiler/rust/rust-core/fixed-width-u32/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_u32_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"32"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"u32"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"u32"},{"kind":"fixed","width":"u32"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_u32_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"32"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"u32"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"u32"},{"kind":"fixed","width":"u32"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/fixed-width-u32/provenance.json b/compiler/rust/rust-core/fixed-width-u32/provenance.json index 76f491510..f3f5aec60 100644 --- a/compiler/rust/rust-core/fixed-width-u32/provenance.json +++ b/compiler/rust/rust-core/fixed-width-u32/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"3c62f6890f19778d954fad4331fb626c474b3d18b9fcd5ad76a5ff5789bce13b","src/lib.rs":"1a4b701574c9b97cdb95175a94c658da613a639e1732c6083f0fdf43c42d7035"},"name":"fixed_width_u32_core","profile":"rust-core","program":"b0d32e1ba47aad96742baed7ac5cc12f337d84e7d478c3d00ed0992be2861fe1","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"3c62f6890f19778d954fad4331fb626c474b3d18b9fcd5ad76a5ff5789bce13b","src/lib.rs":"1a4b701574c9b97cdb95175a94c658da613a639e1732c6083f0fdf43c42d7035"},"name":"fixed_width_u32_core","profile":"rust-core","program":"b0d32e1ba47aad96742baed7ac5cc12f337d84e7d478c3d00ed0992be2861fe1","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/fixed-width-u64/package.json b/compiler/rust/rust-core/fixed-width-u64/package.json index 0e53ce154..64cb43790 100644 --- a/compiler/rust/rust-core/fixed-width-u64/package.json +++ b/compiler/rust/rust-core/fixed-width-u64/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_u64_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"64"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"u64"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"u64"},{"kind":"fixed","width":"u64"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_u64_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"64"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"u64"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"u64"},{"kind":"fixed","width":"u64"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/fixed-width-u64/provenance.json b/compiler/rust/rust-core/fixed-width-u64/provenance.json index 0a9122b9e..eb50483b2 100644 --- a/compiler/rust/rust-core/fixed-width-u64/provenance.json +++ b/compiler/rust/rust-core/fixed-width-u64/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"e409382597a6c5de3bfcab4092daee6af3ddb29c71f0cc12637e686505807e41","src/lib.rs":"2f3d0a88af320a1f613631fbf174d6c248b30e69840aa7c35094b7541e7c1251"},"name":"fixed_width_u64_core","profile":"rust-core","program":"d173c6c0813a7ca7f471cf3a55f2a25c4771bbeea58ca9cd42e5ee35e352fc43","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"e409382597a6c5de3bfcab4092daee6af3ddb29c71f0cc12637e686505807e41","src/lib.rs":"2f3d0a88af320a1f613631fbf174d6c248b30e69840aa7c35094b7541e7c1251"},"name":"fixed_width_u64_core","profile":"rust-core","program":"d173c6c0813a7ca7f471cf3a55f2a25c4771bbeea58ca9cd42e5ee35e352fc43","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/fixed-width-u8-passing/package.json b/compiler/rust/rust-core/fixed-width-u8-passing/package.json index b3b5efec0..3f1e46490 100644 --- a/compiler/rust/rust-core/fixed-width-u8-passing/package.json +++ b/compiler/rust/rust-core/fixed-width-u8-passing/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["copy","borrow","own"]}],"name":"fixed_width_u8_passing_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"8"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"u8"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"u8"},{"kind":"fixed","width":"u8"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["copy","borrow","own"]}],"name":"fixed_width_u8_passing_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"8"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"u8"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"u8"},{"kind":"fixed","width":"u8"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/fixed-width-u8-passing/provenance.json b/compiler/rust/rust-core/fixed-width-u8-passing/provenance.json index 03f034e5b..b70149cb7 100644 --- a/compiler/rust/rust-core/fixed-width-u8-passing/provenance.json +++ b/compiler/rust/rust-core/fixed-width-u8-passing/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"13014f6dfaeb8d3a6c42e7459d1355afbcd6654dadfbda1c9bd24b13598d1076","src/lib.rs":"415e38c5ed71b8443393ae8f6e32f1b7d9d1ec7b16465c9aa07b204493845847"},"name":"fixed_width_u8_passing_core","profile":"rust-core","program":"10a50859bd6fdf829c844b5c4758a464f5524865ef0b64f63cf0e9bb838c1d8d","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"13014f6dfaeb8d3a6c42e7459d1355afbcd6654dadfbda1c9bd24b13598d1076","src/lib.rs":"415e38c5ed71b8443393ae8f6e32f1b7d9d1ec7b16465c9aa07b204493845847"},"name":"fixed_width_u8_passing_core","profile":"rust-core","program":"10a50859bd6fdf829c844b5c4758a464f5524865ef0b64f63cf0e9bb838c1d8d","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/fixed-width-u8/package.json b/compiler/rust/rust-core/fixed-width-u8/package.json index d6d91d0b5..223bfc071 100644 --- a/compiler/rust/rust-core/fixed-width-u8/package.json +++ b/compiler/rust/rust-core/fixed-width-u8/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_u8_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"8"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"u8"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"u8"},{"kind":"fixed","width":"u8"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_u8_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"8"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"u8"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"u8"},{"kind":"fixed","width":"u8"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/fixed-width-u8/provenance.json b/compiler/rust/rust-core/fixed-width-u8/provenance.json index 494cf0ad7..975ea7783 100644 --- a/compiler/rust/rust-core/fixed-width-u8/provenance.json +++ b/compiler/rust/rust-core/fixed-width-u8/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"f6bd44702dee9317d3ccfb7cf717124b71b06ad65fbbd675d1efa63547106ec4","src/lib.rs":"b51f3227ad244f0c2abc01f6ed2613919f81b4488f247e489119151d7ae123ac"},"name":"fixed_width_u8_core","profile":"rust-core","program":"10a50859bd6fdf829c844b5c4758a464f5524865ef0b64f63cf0e9bb838c1d8d","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"f6bd44702dee9317d3ccfb7cf717124b71b06ad65fbbd675d1efa63547106ec4","src/lib.rs":"b51f3227ad244f0c2abc01f6ed2613919f81b4488f247e489119151d7ae123ac"},"name":"fixed_width_u8_core","profile":"rust-core","program":"10a50859bd6fdf829c844b5c4758a464f5524865ef0b64f63cf0e9bb838c1d8d","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/function-shapes/package.json b/compiler/rust/rust-core/function-shapes/package.json index 0913aff9b..a092234b8 100644 --- a/compiler/rust/rust-core/function-shapes/package.json +++ b/compiler/rust/rust-core/function-shapes/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"function_shapes_core","profile":"rust-core","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"value","type":{"kind":"option","value":{"kind":"nat"}},"value":{"kind":"some","value":{"kind":"nat","value":"3"}}}]},{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"value","type":{"kind":"option","value":{"kind":"nat"}},"value":{"kind":"some","value":{"kind":"nat","value":"4"}}}]},{"kind":"build","operands":[{"function":3,"kind":"call","operands":[{"kind":"value","type":{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}},"value":{"kind":"ok","value":{"kind":"nat","value":"5"}}}]},{"kind":"build","operands":[{"function":4,"kind":"call","operands":[{"kind":"value","type":{"kind":"option","value":{"kind":"nat"}},"value":{"kind":"none"}}]},{"kind":"build","operands":[{"function":5,"kind":"call","operands":[{"kind":"value","type":{"kind":"option","value":{"kind":"nat"}},"value":{"kind":"some","value":{"kind":"nat","value":"6"}}}]},{"kind":"build","operands":[{"function":6,"kind":"call","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"9"}}]},{"kind":"build","operands":[{"function":7,"kind":"call","operands":[{"kind":"value","type":{"kind":"bool"},"value":{"kind":"bool","value":false}}]},{"kind":"build","operands":[{"function":8,"kind":"call","operands":[{"kind":"value","type":{"index":0,"kind":"adt"},"value":{"constructor":0,"fields":[{"kind":"nat","value":"1"},{"kind":"nat","value":"2"}],"kind":"adt"}}]},{"function":9,"kind":"call","operands":[{"kind":"value","type":{"kind":"option","value":{"kind":"nat"}},"value":{"kind":"some","value":{"kind":"nat","value":"1"}}}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}}}},"parameters":[],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}}},"types":[]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"option","value":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_sub"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"option","value":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[1],"body":{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"ok"}},{"binders":[2],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"error"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"none"}},{"binders":[1],"body":{"kind":"var","name":1},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"option","value":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"7"}},"shape":{"kind":"none"}},{"binders":[1],"body":{"kind":"var","name":1},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"option","value":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"var","name":1},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"var","name":0},"else_branch":{"condition":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"else_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"200"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"200"}}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"bool"}]},{"body":{"index":0,"kind":"field","value":{"arms":[{"binders":[1,2],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"var","name":1}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"shape":{"constructor":0,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"index":0,"kind":"adt"}}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":10,"kind":"call","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}]},"shape":{"kind":"none"}},{"binders":[1],"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"unit"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"option","value":{"kind":"nat"}}]},{"body":{"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"kind":"let","name":1,"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"function_shapes_core","profile":"rust-core","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"value","type":{"kind":"option","value":{"kind":"nat"}},"value":{"kind":"some","value":{"kind":"nat","value":"3"}}}]},{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"value","type":{"kind":"option","value":{"kind":"nat"}},"value":{"kind":"some","value":{"kind":"nat","value":"4"}}}]},{"kind":"build","operands":[{"function":3,"kind":"call","operands":[{"kind":"value","type":{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}},"value":{"kind":"ok","value":{"kind":"nat","value":"5"}}}]},{"kind":"build","operands":[{"function":4,"kind":"call","operands":[{"kind":"value","type":{"kind":"option","value":{"kind":"nat"}},"value":{"kind":"none"}}]},{"kind":"build","operands":[{"function":5,"kind":"call","operands":[{"kind":"value","type":{"kind":"option","value":{"kind":"nat"}},"value":{"kind":"some","value":{"kind":"nat","value":"6"}}}]},{"kind":"build","operands":[{"function":6,"kind":"call","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"9"}}]},{"kind":"build","operands":[{"function":7,"kind":"call","operands":[{"kind":"value","type":{"kind":"bool"},"value":{"kind":"bool","value":false}}]},{"kind":"build","operands":[{"function":8,"kind":"call","operands":[{"kind":"value","type":{"index":0,"kind":"adt"},"value":{"constructor":0,"fields":[{"kind":"nat","value":"1"},{"kind":"nat","value":"2"}],"kind":"adt"}}]},{"function":9,"kind":"call","operands":[{"kind":"value","type":{"kind":"option","value":{"kind":"nat"}},"value":{"kind":"some","value":{"kind":"nat","value":"1"}}}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}}}},"parameters":[],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}}},"types":[]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"option","value":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_sub"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"option","value":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[1],"body":{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"ok"}},{"binders":[2],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"error"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"none"}},{"binders":[1],"body":{"kind":"var","name":1},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"option","value":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"7"}},"shape":{"kind":"none"}},{"binders":[1],"body":{"kind":"var","name":1},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"option","value":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"var","name":1},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"var","name":0},"else_branch":{"condition":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"else_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"200"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"200"}}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"bool"}]},{"body":{"index":0,"kind":"field","value":{"arms":[{"binders":[1,2],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"var","name":1}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"shape":{"constructor":0,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"index":0,"kind":"adt"}}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":10,"kind":"call","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}]},"shape":{"kind":"none"}},{"binders":[1],"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"unit"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"option","value":{"kind":"nat"}}]},{"body":{"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"kind":"let","name":1,"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/function-shapes/provenance.json b/compiler/rust/rust-core/function-shapes/provenance.json index 7333c0f25..0a78ebd76 100644 --- a/compiler/rust/rust-core/function-shapes/provenance.json +++ b/compiler/rust/rust-core/function-shapes/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"a5df3bc62b7ea643165c769bdf602de0d1b45d0754cfeaa422f5147684987a03","src/lib.rs":"1cb7c08442da5f088b88a0935b30a29d0be5b248634b56cee80bfd7fecee7657"},"name":"function_shapes_core","profile":"rust-core","program":"5156d5b2edb83f9b58b89720da3005d24bde4f212a0a5f4d25175cc4ba0628e9","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"a5df3bc62b7ea643165c769bdf602de0d1b45d0754cfeaa422f5147684987a03","src/lib.rs":"1cb7c08442da5f088b88a0935b30a29d0be5b248634b56cee80bfd7fecee7657"},"name":"function_shapes_core","profile":"rust-core","program":"5156d5b2edb83f9b58b89720da3005d24bde4f212a0a5f4d25175cc4ba0628e9","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/int-overflow-mul/package.json b/compiler/rust/rust-core/int-overflow-mul/package.json index ce59ba6d7..5f62c10ff 100644 --- a/compiler/rust/rust-core/int-overflow-mul/package.json +++ b/compiler/rust/rust-core/int-overflow-mul/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"int_overflow_mul_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"9223372036854775807"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"2"}}],"operation":{"kind":"int_mul"}},"parameters":[],"result":{"kind":"int"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"int_overflow_mul_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"9223372036854775807"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"2"}}],"operation":{"kind":"int_mul"}},"parameters":[],"result":{"kind":"int"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/int-overflow-mul/provenance.json b/compiler/rust/rust-core/int-overflow-mul/provenance.json index c3055edab..628258977 100644 --- a/compiler/rust/rust-core/int-overflow-mul/provenance.json +++ b/compiler/rust/rust-core/int-overflow-mul/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"b186404ff099a80943ab16842d0b48cce272545c968c9d500b3b6d04d814d7f1","src/lib.rs":"6eb68f996c3bee3391f9c6853d5d9d731a8340b04bec5ed557ac5349e627d3d3"},"name":"int_overflow_mul_core","profile":"rust-core","program":"1b65e9c0d0ec40bd0d8f70b9b32771560c2418a33777717ce781aca86a2ec51c","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"b186404ff099a80943ab16842d0b48cce272545c968c9d500b3b6d04d814d7f1","src/lib.rs":"6eb68f996c3bee3391f9c6853d5d9d731a8340b04bec5ed557ac5349e627d3d3"},"name":"int_overflow_mul_core","profile":"rust-core","program":"1b65e9c0d0ec40bd0d8f70b9b32771560c2418a33777717ce781aca86a2ec51c","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/int-overflow-neg/package.json b/compiler/rust/rust-core/int-overflow-neg/package.json index bd0c60fd9..a866b2995 100644 --- a/compiler/rust/rust-core/int-overflow-neg/package.json +++ b/compiler/rust/rust-core/int-overflow-neg/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"int_overflow_neg_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-9223372036854775808"}}],"operation":{"kind":"int_neg"}},"parameters":[],"result":{"kind":"int"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"int_overflow_neg_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-9223372036854775808"}}],"operation":{"kind":"int_neg"}},"parameters":[],"result":{"kind":"int"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/int-overflow-neg/provenance.json b/compiler/rust/rust-core/int-overflow-neg/provenance.json index 39c24c4e4..df3128485 100644 --- a/compiler/rust/rust-core/int-overflow-neg/provenance.json +++ b/compiler/rust/rust-core/int-overflow-neg/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"06eb467e24999ffa41032bb2e1a0ec4fb5227046b7ffa2d653588f8364063e40","src/lib.rs":"6f6bd459f918babde88a365059212e78f45cabb564f1ae82ea2f08e780cda071"},"name":"int_overflow_neg_core","profile":"rust-core","program":"d9fbf0bb602a1238f9d26866ce0b3b6c6b2aaeef713f2a3912ee3377f9a21523","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"06eb467e24999ffa41032bb2e1a0ec4fb5227046b7ffa2d653588f8364063e40","src/lib.rs":"6f6bd459f918babde88a365059212e78f45cabb564f1ae82ea2f08e780cda071"},"name":"int_overflow_neg_core","profile":"rust-core","program":"d9fbf0bb602a1238f9d26866ce0b3b6c6b2aaeef713f2a3912ee3377f9a21523","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/int-overflow-quot/package.json b/compiler/rust/rust-core/int-overflow-quot/package.json index d214b3db1..7df703e7e 100644 --- a/compiler/rust/rust-core/int-overflow-quot/package.json +++ b/compiler/rust/rust-core/int-overflow-quot/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"int_overflow_quot_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-9223372036854775808"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-1"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"0"}}],"operation":{"kind":"int_quot"}},"parameters":[],"result":{"kind":"int"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"int_overflow_quot_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-9223372036854775808"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-1"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"0"}}],"operation":{"kind":"int_quot"}},"parameters":[],"result":{"kind":"int"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/int-overflow-quot/provenance.json b/compiler/rust/rust-core/int-overflow-quot/provenance.json index db59845af..63cc61ffc 100644 --- a/compiler/rust/rust-core/int-overflow-quot/provenance.json +++ b/compiler/rust/rust-core/int-overflow-quot/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"cc2fd98230e16a642ea442c302a3aba183de07236da19c4f4045aecc3d6d2a2f","src/lib.rs":"3b6ab9170264c1df1789a7ceb31c0a9e212514e37416e7caf72b28cf1c1b0402"},"name":"int_overflow_quot_core","profile":"rust-core","program":"1692b3adcca40a04933f6aebc3fea8b84cdd602624476a65e9ba90b04f7b7380","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"cc2fd98230e16a642ea442c302a3aba183de07236da19c4f4045aecc3d6d2a2f","src/lib.rs":"3b6ab9170264c1df1789a7ceb31c0a9e212514e37416e7caf72b28cf1c1b0402"},"name":"int_overflow_quot_core","profile":"rust-core","program":"1692b3adcca40a04933f6aebc3fea8b84cdd602624476a65e9ba90b04f7b7380","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/int-overflow-sub/package.json b/compiler/rust/rust-core/int-overflow-sub/package.json index 71c2d5a12..6a0c7c566 100644 --- a/compiler/rust/rust-core/int-overflow-sub/package.json +++ b/compiler/rust/rust-core/int-overflow-sub/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"int_overflow_sub_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-9223372036854775808"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"1"}}],"operation":{"kind":"int_sub"}},"parameters":[],"result":{"kind":"int"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"int_overflow_sub_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-9223372036854775808"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"1"}}],"operation":{"kind":"int_sub"}},"parameters":[],"result":{"kind":"int"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/int-overflow-sub/provenance.json b/compiler/rust/rust-core/int-overflow-sub/provenance.json index 57dc34b56..2ab4de6b9 100644 --- a/compiler/rust/rust-core/int-overflow-sub/provenance.json +++ b/compiler/rust/rust-core/int-overflow-sub/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"897f2fabd3135e24874deb13b076a30dbf0ea55b4b4b976993b7bda85ef5c9d8","src/lib.rs":"aec63756973ebcef39a39f855d2e4b83ee7089d8ac003c7920796ece08b84840"},"name":"int_overflow_sub_core","profile":"rust-core","program":"1e4e6f4192ceb578c2a360bce823d1c1aa01db87a593efa4ac989ee1d3dbb168","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"897f2fabd3135e24874deb13b076a30dbf0ea55b4b4b976993b7bda85ef5c9d8","src/lib.rs":"aec63756973ebcef39a39f855d2e4b83ee7089d8ac003c7920796ece08b84840"},"name":"int_overflow_sub_core","profile":"rust-core","program":"1e4e6f4192ceb578c2a360bce823d1c1aa01db87a593efa4ac989ee1d3dbb168","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/iterate-until-bounded/package.json b/compiler/rust/rust-core/iterate-until-bounded/package.json index bc63af8e8..d408d51b3 100644 --- a/compiler/rust/rust-core/iterate-until-bounded/package.json +++ b/compiler/rust/rust-core/iterate-until-bounded/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"iterate_until_bounded_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"function":2,"kind":"call","operands":[{"captures":[],"function":1,"kind":"closure"},{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}]},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"option","value":{"kind":"nat"}}},{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"iterate_until_bounded_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"function":2,"kind":"call","operands":[{"captures":[],"function":1,"kind":"closure"},{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}]},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"option","value":{"kind":"nat"}}},{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/iterate-until-bounded/provenance.json b/compiler/rust/rust-core/iterate-until-bounded/provenance.json index 0cbcb2b69..ed2cb2dea 100644 --- a/compiler/rust/rust-core/iterate-until-bounded/provenance.json +++ b/compiler/rust/rust-core/iterate-until-bounded/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"49fbedaa9a76664357097acae248b8fb8152f77f957504442834cbbebe5ad9ed","src/lib.rs":"f39ef7cb1aa9a59c63ccb6c872c7c76b0a896ad4bae77fca0b093a79d338f1c9"},"name":"iterate_until_bounded_core","profile":"rust-core","program":"933ed0017ae24e1b179af5f2624474a367dab0414bfc90db4f456ec1f3f54e8a","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"49fbedaa9a76664357097acae248b8fb8152f77f957504442834cbbebe5ad9ed","src/lib.rs":"f39ef7cb1aa9a59c63ccb6c872c7c76b0a896ad4bae77fca0b093a79d338f1c9"},"name":"iterate_until_bounded_core","profile":"rust-core","program":"933ed0017ae24e1b179af5f2624474a367dab0414bfc90db4f456ec1f3f54e8a","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/iterate-until/package.json b/compiler/rust/rust-core/iterate-until/package.json index d8383cb43..4ed2d597e 100644 --- a/compiler/rust/rust-core/iterate-until/package.json +++ b/compiler/rust/rust-core/iterate-until/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"iterate_until_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"function":2,"kind":"call","operands":[{"captures":[],"function":1,"kind":"closure"},{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}]},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"option","value":{"kind":"nat"}}},{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"iterate_until_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"function":2,"kind":"call","operands":[{"captures":[],"function":1,"kind":"closure"},{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}]},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"option","value":{"kind":"nat"}}},{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/iterate-until/provenance.json b/compiler/rust/rust-core/iterate-until/provenance.json index 792ba09b0..1ee472403 100644 --- a/compiler/rust/rust-core/iterate-until/provenance.json +++ b/compiler/rust/rust-core/iterate-until/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"64ceeab6ac02bc1f724bf26634dddc9f6c506b9867ea9b24ca85874598d484f1","src/lib.rs":"f39ef7cb1aa9a59c63ccb6c872c7c76b0a896ad4bae77fca0b093a79d338f1c9"},"name":"iterate_until_core","profile":"rust-core","program":"933ed0017ae24e1b179af5f2624474a367dab0414bfc90db4f456ec1f3f54e8a","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"64ceeab6ac02bc1f724bf26634dddc9f6c506b9867ea9b24ca85874598d484f1","src/lib.rs":"f39ef7cb1aa9a59c63ccb6c872c7c76b0a896ad4bae77fca0b093a79d338f1c9"},"name":"iterate_until_core","profile":"rust-core","program":"933ed0017ae24e1b179af5f2624474a367dab0414bfc90db4f456ec1f3f54e8a","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/iterate/package.json b/compiler/rust/rust-core/iterate/package.json index dae583748..5c17b692a 100644 --- a/compiler/rust/rust-core/iterate/package.json +++ b/compiler/rust/rust-core/iterate/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"iterate_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"function":2,"kind":"call","operands":[{"captures":[],"function":1,"kind":"closure"},{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_add"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":2},"shape":{"kind":"zero"}},{"binders":[3],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}}]},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"nat"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"iterate_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"function":2,"kind":"call","operands":[{"captures":[],"function":1,"kind":"closure"},{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_add"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":2},"shape":{"kind":"zero"}},{"binders":[3],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}}]},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"nat"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/iterate/provenance.json b/compiler/rust/rust-core/iterate/provenance.json index 8d1f97ecd..51a32730e 100644 --- a/compiler/rust/rust-core/iterate/provenance.json +++ b/compiler/rust/rust-core/iterate/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"bda30a7b9b61728abe20e4b25ce515e6af98829be9f26ebe4f34cbacc74fd303","src/lib.rs":"8e4a74c1282321b2686519e64b14dbc04fe1fe07bb29743bee99edd5a561788d"},"name":"iterate_core","profile":"rust-core","program":"93495cb93bd9292be524f0e8414d7b827b60f812c842ab717fef46322758cf60","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"bda30a7b9b61728abe20e4b25ce515e6af98829be9f26ebe4f34cbacc74fd303","src/lib.rs":"8e4a74c1282321b2686519e64b14dbc04fe1fe07bb29743bee99edd5a561788d"},"name":"iterate_core","profile":"rust-core","program":"93495cb93bd9292be524f0e8414d7b827b60f812c842ab717fef46322758cf60","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/match-shapes/package.json b/compiler/rust/rust-core/match-shapes/package.json index dc0d2c4ab..0cdae818b 100644 --- a/compiler/rust/rust-core/match-shapes/package.json +++ b/compiler/rust/rust-core/match-shapes/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own","own","own"]}],"name":"match_shapes_core","profile":"rust-core","program":{"adts":[{"constructors":[[{"kind":"nat"}],[{"kind":"bool"}]]}],"functions":[{"body":{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[5],"body":{"kind":"build","operands":[{"kind":"var","name":5}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},{"kind":"build","operands":[{"arms":[{"binders":[6],"body":{"kind":"build","operands":[{"kind":"var","name":6}],"shape":{"kind":"ok"},"type":{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"ok"}},{"binders":[7],"body":{"kind":"build","operands":[{"kind":"var","name":7}],"shape":{"kind":"error"},"type":{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"error"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}}},{"kind":"build","operands":[{"arms":[{"binders":[8],"body":{"kind":"build","operands":[{"kind":"var","name":8}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"shape":{"constructor":0,"kind":"adt"}},{"binders":[9],"body":{"kind":"build","operands":[{"kind":"var","name":9}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"shape":{"constructor":1,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"index":0,"kind":"adt"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"lt"},"type":{"kind":"ordering"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"eq"},"type":{"kind":"ordering"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"gt"},"type":{"kind":"ordering"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":3},{"kind":"var","name":4}],"operation":{"kind":"compare"}},"type":{"kind":"ordering"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[10],"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":10},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_sub"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},{"kind":"build","operands":[{"arms":[{"binders":[11],"body":{"kind":"build","operands":[{"kind":"var","name":11}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"ok"}},{"binders":[12],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"error"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"kind":"nat"}}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}},"shape":{"kind":"none"}},{"binders":[13],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"ordering"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":0,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"ordering"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}},"right":{"kind":"pair","left":{"index":0,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"ordering"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}},"right":{"kind":"pair","left":{"index":0,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"ordering"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}}},"parameters":[0,1,2,3,4],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}},"right":{"kind":"pair","left":{"index":0,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"ordering"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}},"types":[{"kind":"option","value":{"kind":"nat"}},{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}},{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"unit"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"option","value":{"kind":"nat"}}]},{"body":{"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"kind":"let","name":1,"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own","own","own"]}],"name":"match_shapes_core","profile":"rust-core","program":{"adts":[{"constructors":[[{"kind":"nat"}],[{"kind":"bool"}]]}],"functions":[{"body":{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[5],"body":{"kind":"build","operands":[{"kind":"var","name":5}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},{"kind":"build","operands":[{"arms":[{"binders":[6],"body":{"kind":"build","operands":[{"kind":"var","name":6}],"shape":{"kind":"ok"},"type":{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"ok"}},{"binders":[7],"body":{"kind":"build","operands":[{"kind":"var","name":7}],"shape":{"kind":"error"},"type":{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"error"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}}},{"kind":"build","operands":[{"arms":[{"binders":[8],"body":{"kind":"build","operands":[{"kind":"var","name":8}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"shape":{"constructor":0,"kind":"adt"}},{"binders":[9],"body":{"kind":"build","operands":[{"kind":"var","name":9}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"shape":{"constructor":1,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"index":0,"kind":"adt"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"lt"},"type":{"kind":"ordering"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"eq"},"type":{"kind":"ordering"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"gt"},"type":{"kind":"ordering"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":3},{"kind":"var","name":4}],"operation":{"kind":"compare"}},"type":{"kind":"ordering"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[10],"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":10},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_sub"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},{"kind":"build","operands":[{"arms":[{"binders":[11],"body":{"kind":"build","operands":[{"kind":"var","name":11}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"ok"}},{"binders":[12],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"error"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"kind":"nat"}}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}},"shape":{"kind":"none"}},{"binders":[13],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"ordering"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":0,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"ordering"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}},"right":{"kind":"pair","left":{"index":0,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"ordering"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}},"right":{"kind":"pair","left":{"index":0,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"ordering"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}}},"parameters":[0,1,2,3,4],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}},"right":{"kind":"pair","left":{"index":0,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"ordering"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}},"types":[{"kind":"option","value":{"kind":"nat"}},{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}},{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"unit"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"option","value":{"kind":"nat"}}]},{"body":{"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"kind":"let","name":1,"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/match-shapes/provenance.json b/compiler/rust/rust-core/match-shapes/provenance.json index 8c121e40b..59388dde2 100644 --- a/compiler/rust/rust-core/match-shapes/provenance.json +++ b/compiler/rust/rust-core/match-shapes/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"6ada04666c2ad8f441c2b0cb866224b03f2fee5fae613a111dd24de4014734fe","src/lib.rs":"9f9fddc2169c8e9193f3f1fdd688dfd06097185e3e634cfbfa620a6f87ba2b9b"},"name":"match_shapes_core","profile":"rust-core","program":"9680443f3a937a999f89648157989a00a6143ddefdeb16329afe27891c3279a2","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"6ada04666c2ad8f441c2b0cb866224b03f2fee5fae613a111dd24de4014734fe","src/lib.rs":"9f9fddc2169c8e9193f3f1fdd688dfd06097185e3e634cfbfa620a6f87ba2b9b"},"name":"match_shapes_core","profile":"rust-core","program":"9680443f3a937a999f89648157989a00a6143ddefdeb16329afe27891c3279a2","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/nat-overflow-add/package.json b/compiler/rust/rust-core/nat-overflow-add/package.json index ea85a53b1..351855ee6 100644 --- a/compiler/rust/rust-core/nat-overflow-add/package.json +++ b/compiler/rust/rust-core/nat-overflow-add/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"nat_overflow_add_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"18446744073709551615"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"parameters":[],"result":{"kind":"nat"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"nat_overflow_add_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"18446744073709551615"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"parameters":[],"result":{"kind":"nat"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/nat-overflow-add/provenance.json b/compiler/rust/rust-core/nat-overflow-add/provenance.json index e60245c41..3fc1c1b4c 100644 --- a/compiler/rust/rust-core/nat-overflow-add/provenance.json +++ b/compiler/rust/rust-core/nat-overflow-add/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"29d0ecc0775661ad2ef3400d30e5ddabdd011f32e3998989e1b5f92c86cbd3a8","src/lib.rs":"f757bef6232ef38b69895b5d7992f72334ae783bc94dd6b4d76bc726f5c59518"},"name":"nat_overflow_add_core","profile":"rust-core","program":"75136000ad8f2649db77d0237b973fea7740fa9fa28016b113d678a049dc353a","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"29d0ecc0775661ad2ef3400d30e5ddabdd011f32e3998989e1b5f92c86cbd3a8","src/lib.rs":"f757bef6232ef38b69895b5d7992f72334ae783bc94dd6b4d76bc726f5c59518"},"name":"nat_overflow_add_core","profile":"rust-core","program":"75136000ad8f2649db77d0237b973fea7740fa9fa28016b113d678a049dc353a","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/nat-overflow-mul/package.json b/compiler/rust/rust-core/nat-overflow-mul/package.json index 35249fab3..ddc390410 100644 --- a/compiler/rust/rust-core/nat-overflow-mul/package.json +++ b/compiler/rust/rust-core/nat-overflow-mul/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"nat_overflow_mul_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4294967296"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4294967296"}}],"operation":{"kind":"nat_mul"}},"parameters":[],"result":{"kind":"nat"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"nat_overflow_mul_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4294967296"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4294967296"}}],"operation":{"kind":"nat_mul"}},"parameters":[],"result":{"kind":"nat"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/nat-overflow-mul/provenance.json b/compiler/rust/rust-core/nat-overflow-mul/provenance.json index 2e9824469..e4cdf06b1 100644 --- a/compiler/rust/rust-core/nat-overflow-mul/provenance.json +++ b/compiler/rust/rust-core/nat-overflow-mul/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"b25ad6b1239397b4733e53cc70c9b298a21ee2913c5fa5c2a1fcd13201c933fc","src/lib.rs":"457fcf9b047f518bf2b059d3db569ffab629b48bd0f9cec384881780a351f43f"},"name":"nat_overflow_mul_core","profile":"rust-core","program":"39cd232f7cdf413f7c2ca48cb08a2ba12c63d0e4cad7e882987c21ac7b2ca535","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"b25ad6b1239397b4733e53cc70c9b298a21ee2913c5fa5c2a1fcd13201c933fc","src/lib.rs":"457fcf9b047f518bf2b059d3db569ffab629b48bd0f9cec384881780a351f43f"},"name":"nat_overflow_mul_core","profile":"rust-core","program":"39cd232f7cdf413f7c2ca48cb08a2ba12c63d0e4cad7e882987c21ac7b2ca535","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/nat-overflow-nested/package.json b/compiler/rust/rust-core/nat-overflow-nested/package.json index fa72b68d9..81bcf551e 100644 --- a/compiler/rust/rust-core/nat-overflow-nested/package.json +++ b/compiler/rust/rust-core/nat-overflow-nested/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"nat_overflow_nested_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"18446744073709551615"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_mul"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"parameters":[],"result":{"kind":"nat"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"nat_overflow_nested_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"18446744073709551615"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_mul"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"parameters":[],"result":{"kind":"nat"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/nat-overflow-nested/provenance.json b/compiler/rust/rust-core/nat-overflow-nested/provenance.json index 03ade9e86..4c000b8dc 100644 --- a/compiler/rust/rust-core/nat-overflow-nested/provenance.json +++ b/compiler/rust/rust-core/nat-overflow-nested/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"879fbc11c0e775e4c2e5f6c7a20f1a767350a14956e43e6e85b974dafee4066e","src/lib.rs":"dc91031bb8617ad6589ca423e0d2164f6e7ec94de5843bb4e93c8b898967913f"},"name":"nat_overflow_nested_core","profile":"rust-core","program":"ce3c27adceeaff5a870453e77162774541aaadbd6163b168d754ee39f964d7f9","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"879fbc11c0e775e4c2e5f6c7a20f1a767350a14956e43e6e85b974dafee4066e","src/lib.rs":"dc91031bb8617ad6589ca423e0d2164f6e7ec94de5843bb4e93c8b898967913f"},"name":"nat_overflow_nested_core","profile":"rust-core","program":"ce3c27adceeaff5a870453e77162774541aaadbd6163b168d754ee39f964d7f9","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/nat-overflow-succ/package.json b/compiler/rust/rust-core/nat-overflow-succ/package.json index f176647ff..fc6b1b3af 100644 --- a/compiler/rust/rust-core/nat-overflow-succ/package.json +++ b/compiler/rust/rust-core/nat-overflow-succ/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"nat_overflow_succ_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"18446744073709551615"}}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},"parameters":[],"result":{"kind":"nat"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"nat_overflow_succ_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"18446744073709551615"}}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},"parameters":[],"result":{"kind":"nat"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/nat-overflow-succ/provenance.json b/compiler/rust/rust-core/nat-overflow-succ/provenance.json index 455bd1aba..fd6d9987d 100644 --- a/compiler/rust/rust-core/nat-overflow-succ/provenance.json +++ b/compiler/rust/rust-core/nat-overflow-succ/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"58be6b46c490679ed7dae3830f6928c2ec1fdc9eeee909b9ee3eee02dfd775d7","src/lib.rs":"8c0612e89cd12bd51bd74666e292dcf87e694b07a9648eba47c5c377647b3c5d"},"name":"nat_overflow_succ_core","profile":"rust-core","program":"71f5809a5001f094afc988a2e7a574309cd425857b135a51fbfeb799e80c9ee5","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"58be6b46c490679ed7dae3830f6928c2ec1fdc9eeee909b9ee3eee02dfd775d7","src/lib.rs":"8c0612e89cd12bd51bd74666e292dcf87e694b07a9648eba47c5c377647b3c5d"},"name":"nat_overflow_succ_core","profile":"rust-core","program":"71f5809a5001f094afc988a2e7a574309cd425857b135a51fbfeb799e80c9ee5","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/reasoning-gnaf-goal/package.json b/compiler/rust/rust-core/reasoning-gnaf-goal/package.json index c604c2218..2ddb87d2c 100644 --- a/compiler/rust/rust-core/reasoning-gnaf-goal/package.json +++ b/compiler/rust/rust-core/reasoning-gnaf-goal/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own","own","own","own"]}],"name":"reasoning_gnaf_goal_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":1}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":2}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":3}]},{"function":1,"kind":"call","operands":[{"kind":"var","name":4}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}},"parameters":[0,1,2,3,4],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"16"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"32"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"16"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}},"else_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own","own","own","own"]}],"name":"reasoning_gnaf_goal_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":1}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":2}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":3}]},{"function":1,"kind":"call","operands":[{"kind":"var","name":4}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}},"parameters":[0,1,2,3,4],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"16"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"32"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"16"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}},"else_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/reasoning-gnaf-goal/provenance.json b/compiler/rust/rust-core/reasoning-gnaf-goal/provenance.json index 884ef1ec1..d870f3e84 100644 --- a/compiler/rust/rust-core/reasoning-gnaf-goal/provenance.json +++ b/compiler/rust/rust-core/reasoning-gnaf-goal/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"7b54b24663375adbe2e204e2b858f03466ad76d876c5bf352d38b06577139c45","src/lib.rs":"9536fc681dbe92bb11d33af1586fc422d1d3d97255d48335f3125a7a2aa3e2d9"},"name":"reasoning_gnaf_goal_core","profile":"rust-core","program":"3f7539345858c86ded3ea323d38024b3deb6a45c6c7de84927959e23bbf92512","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"7b54b24663375adbe2e204e2b858f03466ad76d876c5bf352d38b06577139c45","src/lib.rs":"9536fc681dbe92bb11d33af1586fc422d1d3d97255d48335f3125a7a2aa3e2d9"},"name":"reasoning_gnaf_goal_core","profile":"rust-core","program":"3f7539345858c86ded3ea323d38024b3deb6a45c6c7de84927959e23bbf92512","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/reasoning-gnaf-priority/package.json b/compiler/rust/rust-core/reasoning-gnaf-priority/package.json index d691483d0..f938387b3 100644 --- a/compiler/rust/rust-core/reasoning-gnaf-priority/package.json +++ b/compiler/rust/rust-core/reasoning-gnaf-priority/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own","own","own","own"]}],"name":"reasoning_gnaf_priority_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":1}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":2}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":3}]},{"function":1,"kind":"call","operands":[{"kind":"var","name":4}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}},"parameters":[0,1,2,3,4],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"256"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_not"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"32"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_not"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"16"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_not"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"256"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}},"kind":"cond","then_branch":{"function":1,"kind":"call","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}}],"operation":{"kind":"nat_add"}}]}},"kind":"cond","then_branch":{"function":1,"kind":"call","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}}],"operation":{"kind":"nat_add"}}]}},"kind":"cond","then_branch":{"function":1,"kind":"call","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"256"}}],"operation":{"kind":"nat_add"}}]}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own","own","own","own"]}],"name":"reasoning_gnaf_priority_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":1}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":2}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":3}]},{"function":1,"kind":"call","operands":[{"kind":"var","name":4}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}},"parameters":[0,1,2,3,4],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"256"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_not"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"32"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_not"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"16"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_not"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"256"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}},"kind":"cond","then_branch":{"function":1,"kind":"call","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}}],"operation":{"kind":"nat_add"}}]}},"kind":"cond","then_branch":{"function":1,"kind":"call","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}}],"operation":{"kind":"nat_add"}}]}},"kind":"cond","then_branch":{"function":1,"kind":"call","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"256"}}],"operation":{"kind":"nat_add"}}]}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/reasoning-gnaf-priority/provenance.json b/compiler/rust/rust-core/reasoning-gnaf-priority/provenance.json index 28814f338..86e0eb66f 100644 --- a/compiler/rust/rust-core/reasoning-gnaf-priority/provenance.json +++ b/compiler/rust/rust-core/reasoning-gnaf-priority/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"3535efab36ca3a8d39c5976323811badc0280578bae597a2a714624ac29213ed","src/lib.rs":"662506d0fad69b47183b300a4bc3b1ccd93b140a207a78e3cd6e49cd6b69f1c3"},"name":"reasoning_gnaf_priority_core","profile":"rust-core","program":"3daf7454a6bd393de7d12ecf49636d2914d09cec5748ae837b7684e00b95fe74","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"3535efab36ca3a8d39c5976323811badc0280578bae597a2a714624ac29213ed","src/lib.rs":"662506d0fad69b47183b300a4bc3b1ccd93b140a207a78e3cd6e49cd6b69f1c3"},"name":"reasoning_gnaf_priority_core","profile":"rust-core","program":"3daf7454a6bd393de7d12ecf49636d2914d09cec5748ae837b7684e00b95fe74","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/reasoning-gnaf-sweep/package.json b/compiler/rust/rust-core/reasoning-gnaf-sweep/package.json index a23cbecf4..7bb3aefcc 100644 --- a/compiler/rust/rust-core/reasoning-gnaf-sweep/package.json +++ b/compiler/rust/rust-core/reasoning-gnaf-sweep/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own","own","own","own"]}],"name":"reasoning_gnaf_sweep_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":1}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":2}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":3}]},{"function":1,"kind":"call","operands":[{"kind":"var","name":4}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}},"parameters":[0,1,2,3,4],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"body":{"body":{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":3},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"256"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":3},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":3},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}},"bound":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"256"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_not"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"32"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"else_branch":{"kind":"var","name":2},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"256"}}],"operation":{"kind":"nat_add"}}},"kind":"let","name":3,"type":{"kind":"nat"}},"bound":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_not"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"16"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"else_branch":{"kind":"var","name":1},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}}],"operation":{"kind":"nat_add"}}},"kind":"let","name":2,"type":{"kind":"nat"}},"bound":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_not"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"else_branch":{"kind":"var","name":0},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}}],"operation":{"kind":"nat_add"}}},"kind":"let","name":1,"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own","own","own","own"]}],"name":"reasoning_gnaf_sweep_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":1}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":2}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":3}]},{"function":1,"kind":"call","operands":[{"kind":"var","name":4}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}},"parameters":[0,1,2,3,4],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"body":{"body":{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":3},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"256"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":3},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":3},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}},"bound":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"256"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_not"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"32"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"else_branch":{"kind":"var","name":2},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"256"}}],"operation":{"kind":"nat_add"}}},"kind":"let","name":3,"type":{"kind":"nat"}},"bound":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_not"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"16"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"else_branch":{"kind":"var","name":1},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}}],"operation":{"kind":"nat_add"}}},"kind":"let","name":2,"type":{"kind":"nat"}},"bound":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_not"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"else_branch":{"kind":"var","name":0},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}}],"operation":{"kind":"nat_add"}}},"kind":"let","name":1,"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/reasoning-gnaf-sweep/provenance.json b/compiler/rust/rust-core/reasoning-gnaf-sweep/provenance.json index 5080c48f0..bf99f3d34 100644 --- a/compiler/rust/rust-core/reasoning-gnaf-sweep/provenance.json +++ b/compiler/rust/rust-core/reasoning-gnaf-sweep/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"841bb00629c7ce887e593e1e6ae9fe3e5a14c38e059b93ac1b676f122a621666","src/lib.rs":"3c51fb6124e3bcf7cccc2bf6bb9c7a3b9d40b3a4d51bb35511faab4eef723f2f"},"name":"reasoning_gnaf_sweep_core","profile":"rust-core","program":"ed0eba6159b16bcdf765c6e275fceab30b7c9c1b6470f4a19bb09a92a79e19f4","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"841bb00629c7ce887e593e1e6ae9fe3e5a14c38e059b93ac1b676f122a621666","src/lib.rs":"3c51fb6124e3bcf7cccc2bf6bb9c7a3b9d40b3a4d51bb35511faab4eef723f2f"},"name":"reasoning_gnaf_sweep_core","profile":"rust-core","program":"ed0eba6159b16bcdf765c6e275fceab30b7c9c1b6470f4a19bb09a92a79e19f4","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/reasoning-grade-shock/package.json b/compiler/rust/rust-core/reasoning-grade-shock/package.json index 68346821e..ea9a634fb 100644 --- a/compiler/rust/rust-core/reasoning-grade-shock/package.json +++ b/compiler/rust/rust-core/reasoning-grade-shock/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_grade_shock_core","profile":"rust-core","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[],[],[],[],[],[],[],[]]}],"functions":[{"body":{"body":{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"function":36,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"first","value":{"kind":"var","name":1}}]}},"bound":{"function":37,"kind":"call","operands":[{"captures":[],"function":33,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"11"}},{"function":30,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"380"}},{"index":0,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}},{"index":1,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"12"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":1,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":2,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":3,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":4,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":0,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":18,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":21,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":7,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":6,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":5,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":4,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":3,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":22,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":23,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":2,"kind":"adt"}},{"binders":[],"body":{"function":25,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":3,"kind":"adt"}},{"binders":[],"body":{"function":26,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":4,"kind":"adt"}},{"binders":[],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":5,"kind":"adt"}},{"binders":[],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":6,"kind":"adt"}},{"binders":[],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":7,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"},{"index":2,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":31,"kind":"call","operands":[{"kind":"var","name":0}]},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":35,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"parameters":[0,1],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":37,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":1,"kind":"adt"}],"result":{"kind":"option","value":{"index":1,"kind":"adt"}}},{"kind":"nat"},{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_grade_shock_core","profile":"rust-core","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[],[],[],[],[],[],[],[]]}],"functions":[{"body":{"body":{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"function":36,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"first","value":{"kind":"var","name":1}}]}},"bound":{"function":37,"kind":"call","operands":[{"captures":[],"function":33,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"11"}},{"function":30,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"380"}},{"index":0,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}},{"index":1,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"12"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":1,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":2,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":3,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":4,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":0,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":18,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":21,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":7,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":6,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":5,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":4,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":3,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":22,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":23,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":2,"kind":"adt"}},{"binders":[],"body":{"function":25,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":3,"kind":"adt"}},{"binders":[],"body":{"function":26,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":4,"kind":"adt"}},{"binders":[],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":5,"kind":"adt"}},{"binders":[],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":6,"kind":"adt"}},{"binders":[],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":7,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"},{"index":2,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":31,"kind":"call","operands":[{"kind":"var","name":0}]},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":35,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"parameters":[0,1],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":37,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":1,"kind":"adt"}],"result":{"kind":"option","value":{"index":1,"kind":"adt"}}},{"kind":"nat"},{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/reasoning-grade-shock/provenance.json b/compiler/rust/rust-core/reasoning-grade-shock/provenance.json index b552d7e89..11b2a26d2 100644 --- a/compiler/rust/rust-core/reasoning-grade-shock/provenance.json +++ b/compiler/rust/rust-core/reasoning-grade-shock/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"281173f36bdfa7c25b07a935ce271f8b0ae236e179794ef4b702920bb7e9a5e0","src/lib.rs":"8983f815a05c87426498b43886fd1fbe05c24d4ff63fd5451ecf8e5c1477b02d"},"name":"reasoning_grade_shock_core","profile":"rust-core","program":"7ff5b1276ef132016ac9da5b0a77c470eccabe50e899ca8c471b5c1d088afd5d","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"281173f36bdfa7c25b07a935ce271f8b0ae236e179794ef4b702920bb7e9a5e0","src/lib.rs":"8983f815a05c87426498b43886fd1fbe05c24d4ff63fd5451ecf8e5c1477b02d"},"name":"reasoning_grade_shock_core","profile":"rust-core","program":"7ff5b1276ef132016ac9da5b0a77c470eccabe50e899ca8c471b5c1d088afd5d","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/reasoning-grade-well/package.json b/compiler/rust/rust-core/reasoning-grade-well/package.json index 3540e4ce1..d6a3afd3c 100644 --- a/compiler/rust/rust-core/reasoning-grade-well/package.json +++ b/compiler/rust/rust-core/reasoning-grade-well/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_grade_well_core","profile":"rust-core","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[],[],[],[],[],[],[],[]]}],"functions":[{"body":{"body":{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"function":36,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"first","value":{"kind":"var","name":1}}]}},"bound":{"function":37,"kind":"call","operands":[{"captures":[],"function":33,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"11"}},{"function":30,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"380"}},{"index":0,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}},{"index":1,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"12"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":1,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":2,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":3,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":4,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":0,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":18,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":21,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":7,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":6,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":5,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":4,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":3,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":22,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":23,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":2,"kind":"adt"}},{"binders":[],"body":{"function":25,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":3,"kind":"adt"}},{"binders":[],"body":{"function":26,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":4,"kind":"adt"}},{"binders":[],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":5,"kind":"adt"}},{"binders":[],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":6,"kind":"adt"}},{"binders":[],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":7,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"},{"index":2,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":31,"kind":"call","operands":[{"kind":"var","name":0}]},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":35,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"parameters":[0,1],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":37,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":1,"kind":"adt"}],"result":{"kind":"option","value":{"index":1,"kind":"adt"}}},{"kind":"nat"},{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_grade_well_core","profile":"rust-core","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[],[],[],[],[],[],[],[]]}],"functions":[{"body":{"body":{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"function":36,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"first","value":{"kind":"var","name":1}}]}},"bound":{"function":37,"kind":"call","operands":[{"captures":[],"function":33,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"11"}},{"function":30,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"380"}},{"index":0,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}},{"index":1,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"12"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":1,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":2,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":3,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":4,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":0,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":18,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":21,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":7,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":6,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":5,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":4,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":3,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":22,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":23,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":2,"kind":"adt"}},{"binders":[],"body":{"function":25,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":3,"kind":"adt"}},{"binders":[],"body":{"function":26,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":4,"kind":"adt"}},{"binders":[],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":5,"kind":"adt"}},{"binders":[],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":6,"kind":"adt"}},{"binders":[],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":7,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"},{"index":2,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":31,"kind":"call","operands":[{"kind":"var","name":0}]},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":35,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"parameters":[0,1],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":37,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":1,"kind":"adt"}],"result":{"kind":"option","value":{"index":1,"kind":"adt"}}},{"kind":"nat"},{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/reasoning-grade-well/provenance.json b/compiler/rust/rust-core/reasoning-grade-well/provenance.json index e2aa2475c..98262e9a1 100644 --- a/compiler/rust/rust-core/reasoning-grade-well/provenance.json +++ b/compiler/rust/rust-core/reasoning-grade-well/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"851436668cd106d5db562e51def9d73a253b9c18ed0dfa27aa96f479c18e1b9e","src/lib.rs":"8983f815a05c87426498b43886fd1fbe05c24d4ff63fd5451ecf8e5c1477b02d"},"name":"reasoning_grade_well_core","profile":"rust-core","program":"7ff5b1276ef132016ac9da5b0a77c470eccabe50e899ca8c471b5c1d088afd5d","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"851436668cd106d5db562e51def9d73a253b9c18ed0dfa27aa96f479c18e1b9e","src/lib.rs":"8983f815a05c87426498b43886fd1fbe05c24d4ff63fd5451ecf8e5c1477b02d"},"name":"reasoning_grade_well_core","profile":"rust-core","program":"7ff5b1276ef132016ac9da5b0a77c470eccabe50e899ca8c471b5c1d088afd5d","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/reasoning-review-exhausted/package.json b/compiler/rust/rust-core/reasoning-review-exhausted/package.json index 76aa2113e..0aac5bca5 100644 --- a/compiler/rust/rust-core/reasoning-review-exhausted/package.json +++ b/compiler/rust/rust-core/reasoning-review-exhausted/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_review_exhausted_core","profile":"rust-core","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[],[],[],[],[],[],[],[]]}],"functions":[{"body":{"body":{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"function":36,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"first","value":{"kind":"var","name":1}}]}},"bound":{"function":38,"kind":"call","operands":[{"captures":[],"function":33,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"6"}},{"function":30,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"380"}},{"index":0,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}},{"index":1,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"12"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":1,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":2,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":3,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":4,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":0,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":18,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":21,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":7,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":6,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":5,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":4,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":3,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":22,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":23,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":2,"kind":"adt"}},{"binders":[],"body":{"function":25,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":3,"kind":"adt"}},{"binders":[],"body":{"function":26,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":4,"kind":"adt"}},{"binders":[],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":5,"kind":"adt"}},{"binders":[],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":6,"kind":"adt"}},{"binders":[],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":7,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"},{"index":2,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":31,"kind":"call","operands":[{"kind":"var","name":0}]},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"bound":{"function":37,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":35,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"parameters":[0,1],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":38,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":1,"kind":"adt"}],"result":{"kind":"option","value":{"index":1,"kind":"adt"}}},{"kind":"nat"},{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_review_exhausted_core","profile":"rust-core","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[],[],[],[],[],[],[],[]]}],"functions":[{"body":{"body":{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"function":36,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"first","value":{"kind":"var","name":1}}]}},"bound":{"function":38,"kind":"call","operands":[{"captures":[],"function":33,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"6"}},{"function":30,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"380"}},{"index":0,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}},{"index":1,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"12"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":1,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":2,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":3,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":4,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":0,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":18,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":21,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":7,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":6,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":5,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":4,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":3,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":22,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":23,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":2,"kind":"adt"}},{"binders":[],"body":{"function":25,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":3,"kind":"adt"}},{"binders":[],"body":{"function":26,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":4,"kind":"adt"}},{"binders":[],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":5,"kind":"adt"}},{"binders":[],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":6,"kind":"adt"}},{"binders":[],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":7,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"},{"index":2,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":31,"kind":"call","operands":[{"kind":"var","name":0}]},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"bound":{"function":37,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":35,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"parameters":[0,1],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":38,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":1,"kind":"adt"}],"result":{"kind":"option","value":{"index":1,"kind":"adt"}}},{"kind":"nat"},{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/reasoning-review-exhausted/provenance.json b/compiler/rust/rust-core/reasoning-review-exhausted/provenance.json index 7d1157609..310e74adc 100644 --- a/compiler/rust/rust-core/reasoning-review-exhausted/provenance.json +++ b/compiler/rust/rust-core/reasoning-review-exhausted/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"998f44193d50ca3cc6bfbad743b1f4aaef06513fea5b7f45ca0124f521e60619","src/lib.rs":"05ba28812d2ee0e599163d3596f0f1a43eaad683b717f58294702298a7ad4da9"},"name":"reasoning_review_exhausted_core","profile":"rust-core","program":"4fbef4ae1d9d00a4f618d0ca2a38865abf9a97c170f9458eb0d583c2182ccb90","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"998f44193d50ca3cc6bfbad743b1f4aaef06513fea5b7f45ca0124f521e60619","src/lib.rs":"05ba28812d2ee0e599163d3596f0f1a43eaad683b717f58294702298a7ad4da9"},"name":"reasoning_review_exhausted_core","profile":"rust-core","program":"4fbef4ae1d9d00a4f618d0ca2a38865abf9a97c170f9458eb0d583c2182ccb90","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/reasoning-review-rejected/package.json b/compiler/rust/rust-core/reasoning-review-rejected/package.json index a8d13f0fd..80ed74eb7 100644 --- a/compiler/rust/rust-core/reasoning-review-rejected/package.json +++ b/compiler/rust/rust-core/reasoning-review-rejected/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_review_rejected_core","profile":"rust-core","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[],[],[],[],[],[],[],[]]}],"functions":[{"body":{"body":{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"function":36,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"first","value":{"kind":"var","name":1}}]}},"bound":{"function":38,"kind":"call","operands":[{"captures":[],"function":33,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"6"}},{"function":30,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"380"}},{"index":0,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}},{"index":1,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"12"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":1,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":2,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":3,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":4,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":0,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":18,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":21,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":7,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":6,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":5,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":4,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":3,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":22,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":23,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":2,"kind":"adt"}},{"binders":[],"body":{"function":25,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":3,"kind":"adt"}},{"binders":[],"body":{"function":26,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":4,"kind":"adt"}},{"binders":[],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":5,"kind":"adt"}},{"binders":[],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":6,"kind":"adt"}},{"binders":[],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":7,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"},{"index":2,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":31,"kind":"call","operands":[{"kind":"var","name":0}]},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"bound":{"function":37,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":35,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"parameters":[0,1],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":38,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":1,"kind":"adt"}],"result":{"kind":"option","value":{"index":1,"kind":"adt"}}},{"kind":"nat"},{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_review_rejected_core","profile":"rust-core","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[],[],[],[],[],[],[],[]]}],"functions":[{"body":{"body":{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"function":36,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"first","value":{"kind":"var","name":1}}]}},"bound":{"function":38,"kind":"call","operands":[{"captures":[],"function":33,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"6"}},{"function":30,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"380"}},{"index":0,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}},{"index":1,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"12"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":1,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":2,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":3,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":4,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":0,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":18,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":21,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":7,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":6,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":5,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":4,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":3,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":22,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":23,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":2,"kind":"adt"}},{"binders":[],"body":{"function":25,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":3,"kind":"adt"}},{"binders":[],"body":{"function":26,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":4,"kind":"adt"}},{"binders":[],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":5,"kind":"adt"}},{"binders":[],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":6,"kind":"adt"}},{"binders":[],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":7,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"},{"index":2,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":31,"kind":"call","operands":[{"kind":"var","name":0}]},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"bound":{"function":37,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":35,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"parameters":[0,1],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":38,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":1,"kind":"adt"}],"result":{"kind":"option","value":{"index":1,"kind":"adt"}}},{"kind":"nat"},{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/reasoning-review-rejected/provenance.json b/compiler/rust/rust-core/reasoning-review-rejected/provenance.json index ea0fa4d9a..63eaaf3b8 100644 --- a/compiler/rust/rust-core/reasoning-review-rejected/provenance.json +++ b/compiler/rust/rust-core/reasoning-review-rejected/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"021fdd34c74ecae0c6c5792782b294011079c531ccff83ee06a83e8c496f5bf0","src/lib.rs":"05ba28812d2ee0e599163d3596f0f1a43eaad683b717f58294702298a7ad4da9"},"name":"reasoning_review_rejected_core","profile":"rust-core","program":"4fbef4ae1d9d00a4f618d0ca2a38865abf9a97c170f9458eb0d583c2182ccb90","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"021fdd34c74ecae0c6c5792782b294011079c531ccff83ee06a83e8c496f5bf0","src/lib.rs":"05ba28812d2ee0e599163d3596f0f1a43eaad683b717f58294702298a7ad4da9"},"name":"reasoning_review_rejected_core","profile":"rust-core","program":"4fbef4ae1d9d00a4f618d0ca2a38865abf9a97c170f9458eb0d583c2182ccb90","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/reasoning-triage-shock/package.json b/compiler/rust/rust-core/reasoning-triage-shock/package.json index 8608d26e3..65b077e18 100644 --- a/compiler/rust/rust-core/reasoning-triage-shock/package.json +++ b/compiler/rust/rust-core/reasoning-triage-shock/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_triage_shock_core","profile":"rust-core","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[],[],[],[],[],[],[],[]]}],"functions":[{"body":{"body":{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"function":36,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"first","value":{"kind":"var","name":1}}]}},"bound":{"function":38,"kind":"call","operands":[{"captures":[],"function":33,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"11"}},{"function":30,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"380"}},{"index":0,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}},{"index":1,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"12"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":1,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":2,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":3,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":4,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":0,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":18,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":21,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":7,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":6,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":5,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":4,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":3,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":22,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":23,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":2,"kind":"adt"}},{"binders":[],"body":{"function":25,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":3,"kind":"adt"}},{"binders":[],"body":{"function":26,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":4,"kind":"adt"}},{"binders":[],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":5,"kind":"adt"}},{"binders":[],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":6,"kind":"adt"}},{"binders":[],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":7,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"},{"index":2,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":31,"kind":"call","operands":[{"kind":"var","name":0}]},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"bound":{"function":37,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":35,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"parameters":[0,1],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_le"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_not"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":38,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":1,"kind":"adt"}],"result":{"kind":"option","value":{"index":1,"kind":"adt"}}},{"kind":"nat"},{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_triage_shock_core","profile":"rust-core","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[],[],[],[],[],[],[],[]]}],"functions":[{"body":{"body":{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"function":36,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"first","value":{"kind":"var","name":1}}]}},"bound":{"function":38,"kind":"call","operands":[{"captures":[],"function":33,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"11"}},{"function":30,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"380"}},{"index":0,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}},{"index":1,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"12"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":1,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":2,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":3,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":4,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":0,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":18,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":21,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":7,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":6,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":5,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":4,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":3,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":22,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":23,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":2,"kind":"adt"}},{"binders":[],"body":{"function":25,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":3,"kind":"adt"}},{"binders":[],"body":{"function":26,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":4,"kind":"adt"}},{"binders":[],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":5,"kind":"adt"}},{"binders":[],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":6,"kind":"adt"}},{"binders":[],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":7,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"},{"index":2,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":31,"kind":"call","operands":[{"kind":"var","name":0}]},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"bound":{"function":37,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":35,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"parameters":[0,1],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_le"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_not"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":38,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":1,"kind":"adt"}],"result":{"kind":"option","value":{"index":1,"kind":"adt"}}},{"kind":"nat"},{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/reasoning-triage-shock/provenance.json b/compiler/rust/rust-core/reasoning-triage-shock/provenance.json index 2f7e64077..80000bff4 100644 --- a/compiler/rust/rust-core/reasoning-triage-shock/provenance.json +++ b/compiler/rust/rust-core/reasoning-triage-shock/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"e04326cfaee916a459127b3b48ef9fe3a013a40c628024431d49e6ff034339c4","src/lib.rs":"08a4c05a0f77186244b6e3021c578fc3771c866bc17dc3eb795c46e422db2f23"},"name":"reasoning_triage_shock_core","profile":"rust-core","program":"754fca76975093fa27b62f115ad8a931069e28b657cc9d03073a6bf862ffb02e","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"e04326cfaee916a459127b3b48ef9fe3a013a40c628024431d49e6ff034339c4","src/lib.rs":"08a4c05a0f77186244b6e3021c578fc3771c866bc17dc3eb795c46e422db2f23"},"name":"reasoning_triage_shock_core","profile":"rust-core","program":"754fca76975093fa27b62f115ad8a931069e28b657cc9d03073a6bf862ffb02e","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/reasoning-triage-well/package.json b/compiler/rust/rust-core/reasoning-triage-well/package.json index eed571010..28bf351d2 100644 --- a/compiler/rust/rust-core/reasoning-triage-well/package.json +++ b/compiler/rust/rust-core/reasoning-triage-well/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_triage_well_core","profile":"rust-core","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[],[],[],[],[],[],[],[]]}],"functions":[{"body":{"body":{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"function":36,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"first","value":{"kind":"var","name":1}}]}},"bound":{"function":38,"kind":"call","operands":[{"captures":[],"function":33,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"11"}},{"function":30,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"380"}},{"index":0,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}},{"index":1,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"12"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":1,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":2,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":3,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":4,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":0,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":18,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":21,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":7,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":6,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":5,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":4,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":3,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":22,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":23,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":2,"kind":"adt"}},{"binders":[],"body":{"function":25,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":3,"kind":"adt"}},{"binders":[],"body":{"function":26,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":4,"kind":"adt"}},{"binders":[],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":5,"kind":"adt"}},{"binders":[],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":6,"kind":"adt"}},{"binders":[],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":7,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"},{"index":2,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":31,"kind":"call","operands":[{"kind":"var","name":0}]},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"bound":{"function":37,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":35,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"parameters":[0,1],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_le"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_not"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":38,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":1,"kind":"adt"}],"result":{"kind":"option","value":{"index":1,"kind":"adt"}}},{"kind":"nat"},{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_triage_well_core","profile":"rust-core","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[],[],[],[],[],[],[],[]]}],"functions":[{"body":{"body":{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"function":36,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"first","value":{"kind":"var","name":1}}]}},"bound":{"function":38,"kind":"call","operands":[{"captures":[],"function":33,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"11"}},{"function":30,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"380"}},{"index":0,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}},{"index":1,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"12"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":1,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":2,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":3,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":4,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":0,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":18,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":21,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":7,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":6,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":5,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":4,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":3,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":22,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":23,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":2,"kind":"adt"}},{"binders":[],"body":{"function":25,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":3,"kind":"adt"}},{"binders":[],"body":{"function":26,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":4,"kind":"adt"}},{"binders":[],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":5,"kind":"adt"}},{"binders":[],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":6,"kind":"adt"}},{"binders":[],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":7,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"},{"index":2,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":31,"kind":"call","operands":[{"kind":"var","name":0}]},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"bound":{"function":37,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":35,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"parameters":[0,1],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_le"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_not"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":38,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":1,"kind":"adt"}],"result":{"kind":"option","value":{"index":1,"kind":"adt"}}},{"kind":"nat"},{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/reasoning-triage-well/provenance.json b/compiler/rust/rust-core/reasoning-triage-well/provenance.json index 4a1a22e96..a6e571d59 100644 --- a/compiler/rust/rust-core/reasoning-triage-well/provenance.json +++ b/compiler/rust/rust-core/reasoning-triage-well/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"fec28bf9de2addfa3bf3ce9f515185851e543bd16000fabdd5bbbe665c9c0e9c","src/lib.rs":"08a4c05a0f77186244b6e3021c578fc3771c866bc17dc3eb795c46e422db2f23"},"name":"reasoning_triage_well_core","profile":"rust-core","program":"754fca76975093fa27b62f115ad8a931069e28b657cc9d03073a6bf862ffb02e","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"fec28bf9de2addfa3bf3ce9f515185851e543bd16000fabdd5bbbe665c9c0e9c","src/lib.rs":"08a4c05a0f77186244b6e3021c578fc3771c866bc17dc3eb795c46e422db2f23"},"name":"reasoning_triage_well_core","profile":"rust-core","program":"754fca76975093fa27b62f115ad8a931069e28b657cc9d03073a6bf862ffb02e","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/record-fields/package.json b/compiler/rust/rust-core/record-fields/package.json index 52d601c66..bdd6e5d97 100644 --- a/compiler/rust/rust-core/record-fields/package.json +++ b/compiler/rust/rust-core/record-fields/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"record_fields_core","profile":"rust-core","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"index":0,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"record_fields_core","profile":"rust-core","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"index":0,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/record-fields/provenance.json b/compiler/rust/rust-core/record-fields/provenance.json index 15b3a9200..47f0eb78a 100644 --- a/compiler/rust/rust-core/record-fields/provenance.json +++ b/compiler/rust/rust-core/record-fields/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ec4cee195074d69882a3f6e5e4bbf6de21dfbfec8722c213645e22b9b6a499b9","src/lib.rs":"bce72d4976ac1979220d1076143a53904f169dcedb4992441f9aa24c38b97352"},"name":"record_fields_core","profile":"rust-core","program":"526bb181b433435ecf3b9116937f342406bd8db3d26cc26b870d03e7f3c11ca9","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ec4cee195074d69882a3f6e5e4bbf6de21dfbfec8722c213645e22b9b6a499b9","src/lib.rs":"bce72d4976ac1979220d1076143a53904f169dcedb4992441f9aa24c38b97352"},"name":"record_fields_core","profile":"rust-core","program":"526bb181b433435ecf3b9116937f342406bd8db3d26cc26b870d03e7f3c11ca9","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/sum-to-exhausted/package.json b/compiler/rust/rust-core/sum-to-exhausted/package.json index 4cade5f50..e49e56d2f 100644 --- a/compiler/rust/rust-core/sum-to-exhausted/package.json +++ b/compiler/rust/rust-core/sum-to-exhausted/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"sum_to_exhausted_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"sum_to_exhausted_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/sum-to-exhausted/provenance.json b/compiler/rust/rust-core/sum-to-exhausted/provenance.json index 3e60ab952..8f113369f 100644 --- a/compiler/rust/rust-core/sum-to-exhausted/provenance.json +++ b/compiler/rust/rust-core/sum-to-exhausted/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"bac87758ae0145c960c00f8badc41eac7c8a85900f4472616b4aa784f4bfebb4","src/lib.rs":"534c18643ecfdfdb6864809e6d39bf903946b2d2a50f8d68028eaa8fb5ec42a0"},"name":"sum_to_exhausted_core","profile":"rust-core","program":"0b5d1623110dd3c47e6d54ff536aea2157c78593eaae53a9752197a171fdc79a","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"bac87758ae0145c960c00f8badc41eac7c8a85900f4472616b4aa784f4bfebb4","src/lib.rs":"534c18643ecfdfdb6864809e6d39bf903946b2d2a50f8d68028eaa8fb5ec42a0"},"name":"sum_to_exhausted_core","profile":"rust-core","program":"0b5d1623110dd3c47e6d54ff536aea2157c78593eaae53a9752197a171fdc79a","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/sum-to/package.json b/compiler/rust/rust-core/sum-to/package.json index 067300057..f536b31bd 100644 --- a/compiler/rust/rust-core/sum-to/package.json +++ b/compiler/rust/rust-core/sum-to/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"sum_to_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"sum_to_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/sum-to/provenance.json b/compiler/rust/rust-core/sum-to/provenance.json index b1f966b40..65ebc5e0e 100644 --- a/compiler/rust/rust-core/sum-to/provenance.json +++ b/compiler/rust/rust-core/sum-to/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"6a8011ffd55c1c68e8ffe52afb89c94f028e906fe02f9ee5d79f7db3d619f6e0","src/lib.rs":"534c18643ecfdfdb6864809e6d39bf903946b2d2a50f8d68028eaa8fb5ec42a0"},"name":"sum_to_core","profile":"rust-core","program":"0b5d1623110dd3c47e6d54ff536aea2157c78593eaae53a9752197a171fdc79a","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"6a8011ffd55c1c68e8ffe52afb89c94f028e906fe02f9ee5d79f7db3d619f6e0","src/lib.rs":"534c18643ecfdfdb6864809e6d39bf903946b2d2a50f8d68028eaa8fb5ec42a0"},"name":"sum_to_core","profile":"rust-core","program":"0b5d1623110dd3c47e6d54ff536aea2157c78593eaae53a9752197a171fdc79a","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/unit-closures/package.json b/compiler/rust/rust-core/unit-closures/package.json index 587e0daba..5f674fbb1 100644 --- a/compiler/rust/rust-core/unit-closures/package.json +++ b/compiler/rust/rust-core/unit-closures/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"unit_closures_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"unit"}}},{"kind":"build","operands":[{"function":3,"kind":"call","operands":[{"captures":[],"function":1,"kind":"closure"},{"kind":"var","name":0}]},{"kind":"build","operands":[{"function":3,"kind":"call","operands":[{"captures":[],"function":2,"kind":"closure"},{"kind":"var","name":0}]},{"function":4,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"unit"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"unit"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"unit"}},"right":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"unit"}}}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"unit"}},"right":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"unit"}}}},"types":[{"kind":"nat"}]},{"body":{"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"kind":"let","name":1,"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]},{"body":{"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"kind":"let","name":1,"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]},{"body":{"kind":"apply","operands":[{"kind":"var","name":1}],"target":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"unit"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"unit"}},{"kind":"nat"}]},{"body":{"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_add"}},"kind":"let","name":1,"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"unit_closures_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"unit"}}},{"kind":"build","operands":[{"function":3,"kind":"call","operands":[{"captures":[],"function":1,"kind":"closure"},{"kind":"var","name":0}]},{"kind":"build","operands":[{"function":3,"kind":"call","operands":[{"captures":[],"function":2,"kind":"closure"},{"kind":"var","name":0}]},{"function":4,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"unit"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"unit"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"unit"}},"right":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"unit"}}}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"unit"}},"right":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"unit"}}}},"types":[{"kind":"nat"}]},{"body":{"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"kind":"let","name":1,"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]},{"body":{"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"kind":"let","name":1,"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]},{"body":{"kind":"apply","operands":[{"kind":"var","name":1}],"target":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"unit"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"unit"}},{"kind":"nat"}]},{"body":{"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_add"}},"kind":"let","name":1,"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/unit-closures/provenance.json b/compiler/rust/rust-core/unit-closures/provenance.json index fc660a298..7e52b10b6 100644 --- a/compiler/rust/rust-core/unit-closures/provenance.json +++ b/compiler/rust/rust-core/unit-closures/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"a191efaef909a589104c2eaa34cabd3d20c7a4938cba92935d2a5a28ea898044","src/lib.rs":"ef8a474329bc8d587ec4d72ae082da03fd98bf5bf9bdb2185ebd7820843d973c"},"name":"unit_closures_core","profile":"rust-core","program":"e2f55254e66e933625b9a18c2414242a0f3a55dccef58b663673c4027a619c34","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"a191efaef909a589104c2eaa34cabd3d20c7a4938cba92935d2a5a28ea898044","src/lib.rs":"ef8a474329bc8d587ec4d72ae082da03fd98bf5bf9bdb2185ebd7820843d973c"},"name":"unit_closures_core","profile":"rust-core","program":"e2f55254e66e933625b9a18c2414242a0f3a55dccef58b663673c4027a619c34","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/unit-values/package.json b/compiler/rust/rust-core/unit-values/package.json index 191a3974f..95d945100 100644 --- a/compiler/rust/rust-core/unit-values/package.json +++ b/compiler/rust/rust-core/unit-values/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"unit_values_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"body":{"body":{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":2}]},{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":1}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"unit"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"option","value":{"kind":"unit"}}}},"bound":{"function":5,"kind":"call","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"9"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_lt"}}]},"kind":"let","name":4,"type":{"kind":"unit"}},"bound":{"function":4,"kind":"call","operands":[{"kind":"var","name":1}]},"kind":"let","name":3,"type":{"kind":"unit"}},"bound":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"kind":"let","name":2,"type":{"kind":"unit"}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"option","value":{"kind":"unit"}}},"types":[{"kind":"unit"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"unit"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"unit"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"unit"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":1}]},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"unit"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]},{"body":{"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"kind":"let","name":1,"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"kind":"cond","then_branch":{"function":3,"kind":"call","operands":[{"kind":"var","name":0}]}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"var","name":0},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"kind":"cond","then_branch":{"condition":{"kind":"var","name":1},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"kind":"cond","then_branch":{"function":1,"kind":"call","operands":[{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}}]}}},"parameters":[0,1],"result":{"kind":"unit"},"types":[{"kind":"bool"},{"kind":"bool"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"unit_values_core","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"body":{"body":{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":2}]},{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":1}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"unit"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"option","value":{"kind":"unit"}}}},"bound":{"function":5,"kind":"call","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"9"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_lt"}}]},"kind":"let","name":4,"type":{"kind":"unit"}},"bound":{"function":4,"kind":"call","operands":[{"kind":"var","name":1}]},"kind":"let","name":3,"type":{"kind":"unit"}},"bound":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"kind":"let","name":2,"type":{"kind":"unit"}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"option","value":{"kind":"unit"}}},"types":[{"kind":"unit"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"unit"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"unit"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"unit"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":1}]},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"unit"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]},{"body":{"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"kind":"let","name":1,"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"kind":"cond","then_branch":{"function":3,"kind":"call","operands":[{"kind":"var","name":0}]}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"var","name":0},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"kind":"cond","then_branch":{"condition":{"kind":"var","name":1},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"kind":"cond","then_branch":{"function":1,"kind":"call","operands":[{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}}]}}},"parameters":[0,1],"result":{"kind":"unit"},"types":[{"kind":"bool"},{"kind":"bool"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/unit-values/provenance.json b/compiler/rust/rust-core/unit-values/provenance.json index 664eeddaf..94a5d3b30 100644 --- a/compiler/rust/rust-core/unit-values/provenance.json +++ b/compiler/rust/rust-core/unit-values/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"61e5f6497df7d1aea5341af494e12a23d168d9b415043427c7f081e7bae06fee","src/lib.rs":"eaa59c524f3c4b03f5f86c540e3b5469b53df5714e5e8d64f754654f53fc49d2"},"name":"unit_values_core","profile":"rust-core","program":"da46c33882a69c2a5bed667c6e026399692e7ebc318523c341cef90e9257d9ea","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"61e5f6497df7d1aea5341af494e12a23d168d9b415043427c7f081e7bae06fee","src/lib.rs":"eaa59c524f3c4b03f5f86c540e3b5469b53df5714e5e8d64f754654f53fc49d2"},"name":"unit_values_core","profile":"rust-core","program":"da46c33882a69c2a5bed667c6e026399692e7ebc318523c341cef90e9257d9ea","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/wide-shapes/package.json b/compiler/rust/rust-core/wide-shapes/package.json index f8d786b93..ea7f0ec6e 100644 --- a/compiler/rust/rust-core/wide-shapes/package.json +++ b/compiler/rust/rust-core/wide-shapes/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"wide_shapes_core","profile":"rust-core","program":{"adts":[{"constructors":[[],[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"6"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"7"}}]},{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]},{"function":3,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"error":{"index":0,"kind":"adt"},"kind":"result","ok":{"kind":"nat"}},"right":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"error":{"index":0,"kind":"adt"},"kind":"result","ok":{"kind":"nat"}},"right":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"error":{"index":0,"kind":"adt"},"kind":"result","ok":{"kind":"nat"}},"right":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}}},"types":[{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":7},{"kind":"var","name":0}],"operation":{"kind":"nat_sub"}},"parameters":[0,1,2,3,4,5,6,7],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}],"shape":{"kind":"error"},"type":{"error":{"index":0,"kind":"adt"},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":0}],"shape":{"kind":"ok"},"type":{"error":{"index":0,"kind":"adt"},"kind":"result","ok":{"kind":"nat"}}}},"parameters":[0],"result":{"error":{"index":0,"kind":"adt"},"kind":"result","ok":{"kind":"nat"}},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}}],"shape":{"kind":"error"},"type":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":0}],"shape":{"kind":"ok"},"type":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}}},"parameters":[0],"result":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"wide_shapes_core","profile":"rust-core","program":{"adts":[{"constructors":[[],[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"6"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"7"}}]},{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]},{"function":3,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"error":{"index":0,"kind":"adt"},"kind":"result","ok":{"kind":"nat"}},"right":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"error":{"index":0,"kind":"adt"},"kind":"result","ok":{"kind":"nat"}},"right":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"error":{"index":0,"kind":"adt"},"kind":"result","ok":{"kind":"nat"}},"right":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}}},"types":[{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":7},{"kind":"var","name":0}],"operation":{"kind":"nat_sub"}},"parameters":[0,1,2,3,4,5,6,7],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}],"shape":{"kind":"error"},"type":{"error":{"index":0,"kind":"adt"},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":0}],"shape":{"kind":"ok"},"type":{"error":{"index":0,"kind":"adt"},"kind":"result","ok":{"kind":"nat"}}}},"parameters":[0],"result":{"error":{"index":0,"kind":"adt"},"kind":"result","ok":{"kind":"nat"}},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}}],"shape":{"kind":"error"},"type":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":0}],"shape":{"kind":"ok"},"type":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}}},"parameters":[0],"result":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-core/wide-shapes/provenance.json b/compiler/rust/rust-core/wide-shapes/provenance.json index 1b24c0adf..0af829429 100644 --- a/compiler/rust/rust-core/wide-shapes/provenance.json +++ b/compiler/rust/rust-core/wide-shapes/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"a5d6d54e6cd75aa85e08ca3fa3f4083d046d682328f6e35595b14ef3c3d6724e","src/lib.rs":"ba61f4e116c8681cf54f92be37833831410972ce4cbe87a0ee16749178b494cd"},"name":"wide_shapes_core","profile":"rust-core","program":"d0de8fa403502aaf54be1ccfae31401db4a92de6aa9ae953b340395fe2de28ec","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"a5d6d54e6cd75aa85e08ca3fa3f4083d046d682328f6e35595b14ef3c3d6724e","src/lib.rs":"ba61f4e116c8681cf54f92be37833831410972ce4cbe87a0ee16749178b494cd"},"name":"wide_shapes_core","profile":"rust-core","program":"d0de8fa403502aaf54be1ccfae31401db4a92de6aa9ae953b340395fe2de28ec","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/adt-evaluation/package.json b/compiler/rust/rust-std/adt-evaluation/package.json index fb3f93229..addfa49ab 100644 --- a/compiler/rust/rust-std/adt-evaluation/package.json +++ b/compiler/rust/rust-std/adt-evaluation/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":1,"name":"run","parameters":[]}],"name":"adt_evaluation_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"}],[{"index":0,"kind":"adt"},{"index":0,"kind":"adt"}],[{"index":1,"kind":"adt"},{"index":0,"kind":"adt"}]]},{"constructors":[[{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"arms":[{"binders":[1],"body":{"kind":"var","name":1},"shape":{"constructor":0,"kind":"adt"}},{"binders":[2,3],"body":{"kind":"prim","operands":[{"function":0,"kind":"call","operands":[{"kind":"var","name":2}]},{"function":0,"kind":"call","operands":[{"kind":"var","name":3}]}],"operation":{"kind":"nat_add"}},"shape":{"constructor":1,"kind":"adt"}},{"binders":[4,5],"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":4}},{"index":1,"kind":"field","value":{"kind":"var","name":4}}],"operation":{"kind":"nat_add"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":5}]}],"operation":{"kind":"nat_mul"}},"shape":{"constructor":2,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]},{"body":{"function":0,"kind":"call","operands":[{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}],"shape":{"constructor":2,"kind":"adt"},"type":{"index":0,"kind":"adt"}}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"parameters":[],"result":{"kind":"nat"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":1,"name":"run","parameters":[]}],"name":"adt_evaluation_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"}],[{"index":0,"kind":"adt"},{"index":0,"kind":"adt"}],[{"index":1,"kind":"adt"},{"index":0,"kind":"adt"}]]},{"constructors":[[{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"arms":[{"binders":[1],"body":{"kind":"var","name":1},"shape":{"constructor":0,"kind":"adt"}},{"binders":[2,3],"body":{"kind":"prim","operands":[{"function":0,"kind":"call","operands":[{"kind":"var","name":2}]},{"function":0,"kind":"call","operands":[{"kind":"var","name":3}]}],"operation":{"kind":"nat_add"}},"shape":{"constructor":1,"kind":"adt"}},{"binders":[4,5],"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":4}},{"index":1,"kind":"field","value":{"kind":"var","name":4}}],"operation":{"kind":"nat_add"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":5}]}],"operation":{"kind":"nat_mul"}},"shape":{"constructor":2,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]},{"body":{"function":0,"kind":"call","operands":[{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}],"shape":{"constructor":2,"kind":"adt"},"type":{"index":0,"kind":"adt"}}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"parameters":[],"result":{"kind":"nat"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/adt-evaluation/provenance.json b/compiler/rust/rust-std/adt-evaluation/provenance.json index 3bb60db6d..5642b7a7a 100644 --- a/compiler/rust/rust-std/adt-evaluation/provenance.json +++ b/compiler/rust/rust-std/adt-evaluation/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":1,"name":"run"}],"files":{"Cargo.toml":"c75702ca27cc592448af8c7d1d90d22fef746dc99342a5c720b38656aa722105","src/lib.rs":"10390762c4bbf72b815eb8895a8e5490cfbc4b1e8a58bc6febb5618961f11fb4"},"name":"adt_evaluation_std","profile":"rust-std","program":"c573271cec93dbc40bebdbbe9002fadeade7cb1d7821a5f52ec1ddbca9e2b836","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":1,"name":"run"}],"files":{"Cargo.toml":"c75702ca27cc592448af8c7d1d90d22fef746dc99342a5c720b38656aa722105","src/lib.rs":"10390762c4bbf72b815eb8895a8e5490cfbc4b1e8a58bc6febb5618961f11fb4"},"name":"adt_evaluation_std","profile":"rust-std","program":"c573271cec93dbc40bebdbbe9002fadeade7cb1d7821a5f52ec1ddbca9e2b836","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/binding-and-shapes/package.json b/compiler/rust/rust-std/binding-and-shapes/package.json index 22a6521d7..283fdd38a 100644 --- a/compiler/rust/rust-std/binding-and-shapes/package.json +++ b/compiler/rust/rust-std/binding-and-shapes/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"binding_and_shapes_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"body":{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":1}},{"kind":"first","value":{"kind":"var","name":1}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"none"}},{"binders":[3],"body":{"kind":"var","name":3},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"nat"}},{"kind":"build","operands":[{"arms":[{"binders":[4],"body":{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"ok"}},"shape":{"kind":"ok"}},{"binders":[5],"body":{"kind":"var","name":5},"shape":{"kind":"error"}}],"kind":"match","scrutinee":{"kind":"build","operands":[{"kind":"var","name":0}],"shape":{"kind":"ok"},"type":{"error":{"kind":"string"},"kind":"result","ok":{"kind":"nat"}}},"type":{"kind":"string"}},{"arms":[{"binders":[],"body":{"arms":[{"binders":[6],"body":{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"ok"}},"shape":{"kind":"ok"}},{"binders":[7],"body":{"kind":"var","name":7},"shape":{"kind":"error"}}],"kind":"match","scrutinee":{"kind":"build","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"failed"}}],"shape":{"kind":"error"},"type":{"error":{"kind":"string"},"kind":"result","ok":{"kind":"nat"}}},"type":{"kind":"string"}},"shape":{"kind":"unit"}}],"kind":"match","scrutinee":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"type":{"kind":"string"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"string"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"string"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"string"}}}}},"bound":{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":1}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"let","name":2,"type":{"kind":"option","value":{"kind":"nat"}}},"bound":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"left"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}}},"kind":"let","name":1,"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"string"}}}},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"binding_and_shapes_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"body":{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":1}},{"kind":"first","value":{"kind":"var","name":1}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"none"}},{"binders":[3],"body":{"kind":"var","name":3},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"nat"}},{"kind":"build","operands":[{"arms":[{"binders":[4],"body":{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"ok"}},"shape":{"kind":"ok"}},{"binders":[5],"body":{"kind":"var","name":5},"shape":{"kind":"error"}}],"kind":"match","scrutinee":{"kind":"build","operands":[{"kind":"var","name":0}],"shape":{"kind":"ok"},"type":{"error":{"kind":"string"},"kind":"result","ok":{"kind":"nat"}}},"type":{"kind":"string"}},{"arms":[{"binders":[],"body":{"arms":[{"binders":[6],"body":{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"ok"}},"shape":{"kind":"ok"}},{"binders":[7],"body":{"kind":"var","name":7},"shape":{"kind":"error"}}],"kind":"match","scrutinee":{"kind":"build","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"failed"}}],"shape":{"kind":"error"},"type":{"error":{"kind":"string"},"kind":"result","ok":{"kind":"nat"}}},"type":{"kind":"string"}},"shape":{"kind":"unit"}}],"kind":"match","scrutinee":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"type":{"kind":"string"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"string"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"string"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"string"}}}}},"bound":{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":1}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"let","name":2,"type":{"kind":"option","value":{"kind":"nat"}}},"bound":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"left"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}}},"kind":"let","name":1,"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"string"}}}},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/binding-and-shapes/provenance.json b/compiler/rust/rust-std/binding-and-shapes/provenance.json index 81257d981..0c6f1b218 100644 --- a/compiler/rust/rust-std/binding-and-shapes/provenance.json +++ b/compiler/rust/rust-std/binding-and-shapes/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"f7ec8b673a50007f2518189f48be5d0c87cbd3d4c9b3bca9d5435388ac9b1929","src/lib.rs":"66485d61c9126e0538d619f5254125b6257c6bae07a9d7e9c35506062544c501"},"name":"binding_and_shapes_std","profile":"rust-std","program":"03bfd0349c88b8cb299f4a49adf5370e43e53e319b3ea8cc32bc9c15c9b6b54f","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"f7ec8b673a50007f2518189f48be5d0c87cbd3d4c9b3bca9d5435388ac9b1929","src/lib.rs":"66485d61c9126e0538d619f5254125b6257c6bae07a9d7e9c35506062544c501"},"name":"binding_and_shapes_std","profile":"rust-std","program":"03bfd0349c88b8cb299f4a49adf5370e43e53e319b3ea8cc32bc9c15c9b6b54f","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/boolean-shapes/package.json b/compiler/rust/rust-std/boolean-shapes/package.json index 193fd8e13..2d77fedaf 100644 --- a/compiler/rust/rust-std/boolean-shapes/package.json +++ b/compiler/rust/rust-std/boolean-shapes/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"boolean_shapes_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"true"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"false"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"true"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"false"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"bool"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"zero"}},{"binders":[4],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}},{"kind":"build","operands":[{"condition":{"condition":{"kind":"var","name":0},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}},{"kind":"build","operands":[{"condition":{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}},{"kind":"build","operands":[{"condition":{"kind":"var","name":0},"else_branch":{"condition":{"kind":"var","name":1},"else_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"7"}},"shape":{"kind":"zero"}},{"binders":[5],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"7"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"nat"}},{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},"shape":{"kind":"true"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},"shape":{"kind":"false"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"nat"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}}},"types":[{"kind":"bool"},{"kind":"bool"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"boolean_shapes_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"true"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"false"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"true"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"false"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"bool"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"zero"}},{"binders":[4],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}},{"kind":"build","operands":[{"condition":{"condition":{"kind":"var","name":0},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}},{"kind":"build","operands":[{"condition":{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}},{"kind":"build","operands":[{"condition":{"kind":"var","name":0},"else_branch":{"condition":{"kind":"var","name":1},"else_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"7"}},"shape":{"kind":"zero"}},{"binders":[5],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"7"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"nat"}},{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},"shape":{"kind":"true"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},"shape":{"kind":"false"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"nat"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}}},"types":[{"kind":"bool"},{"kind":"bool"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/boolean-shapes/provenance.json b/compiler/rust/rust-std/boolean-shapes/provenance.json index 1bbb21476..b61798a9c 100644 --- a/compiler/rust/rust-std/boolean-shapes/provenance.json +++ b/compiler/rust/rust-std/boolean-shapes/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"27f4b6d8ea06bd40796ffb2da18b034f66ac5dbe717d22914d0e3ee60c18c66c","src/lib.rs":"40841d1a8fd88a1bb0e013dbe131d7e5879b5e209a1654279dd1f35357cbed26"},"name":"boolean_shapes_std","profile":"rust-std","program":"08c54665d09d55ac525712aaf1c9be1ab4a4335c07dcc89b2bc107f4e151e2c9","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"27f4b6d8ea06bd40796ffb2da18b034f66ac5dbe717d22914d0e3ee60c18c66c","src/lib.rs":"40841d1a8fd88a1bb0e013dbe131d7e5879b5e209a1654279dd1f35357cbed26"},"name":"boolean_shapes_std","profile":"rust-std","program":"08c54665d09d55ac525712aaf1c9be1ab4a4335c07dcc89b2bc107f4e151e2c9","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/booleans/package.json b/compiler/rust/rust-std/booleans/package.json index dce68a189..7882c491c 100644 --- a/compiler/rust/rust-std/booleans/package.json +++ b/compiler/rust/rust-std/booleans/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"booleans_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"bool_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bool_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bool_or"}},{"kind":"build","operands":[{"condition":{"kind":"var","name":0},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"true"}},{"binders":[],"body":{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"bool_not"}},"shape":{"kind":"false"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"bool"},"kind":"list"},"types":[{"kind":"bool"},{"kind":"bool"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"booleans_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"bool_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bool_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bool_or"}},{"kind":"build","operands":[{"condition":{"kind":"var","name":0},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"true"}},{"binders":[],"body":{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"bool_not"}},"shape":{"kind":"false"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"bool"},"kind":"list"},"types":[{"kind":"bool"},{"kind":"bool"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/booleans/provenance.json b/compiler/rust/rust-std/booleans/provenance.json index 68b52d341..a3e43a803 100644 --- a/compiler/rust/rust-std/booleans/provenance.json +++ b/compiler/rust/rust-std/booleans/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"4197743b8008a08e062227c578c44fd3fb12b2377e05378e0613c2c63dab15da","src/lib.rs":"cf1e99037d3f9d080d1ce4e8706e38ab339279d5d7e803cc641916759b7763da"},"name":"booleans_std","profile":"rust-std","program":"df569820e9e36f6ecd0c9ad30a82b24e02db81757db33e6c0789609ea89bdbab","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"4197743b8008a08e062227c578c44fd3fb12b2377e05378e0613c2c63dab15da","src/lib.rs":"cf1e99037d3f9d080d1ce4e8706e38ab339279d5d7e803cc641916759b7763da"},"name":"booleans_std","profile":"rust-std","program":"df569820e9e36f6ecd0c9ad30a82b24e02db81757db33e6c0789609ea89bdbab","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/boxed-field/package.json b/compiler/rust/rust-std/boxed-field/package.json index 6aa0dacef..373839cc4 100644 --- a/compiler/rust/rust-std/boxed-field/package.json +++ b/compiler/rust/rust-std/boxed-field/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"boxed_field_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"option","value":{"index":0,"kind":"adt"}}]]}],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"none"}},{"binders":[1],"body":{"index":0,"kind":"field","value":{"kind":"var","name":1}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"index":1,"kind":"field","value":{"kind":"var","name":0}},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"boxed_field_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"option","value":{"index":0,"kind":"adt"}}]]}],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"none"}},{"binders":[1],"body":{"index":0,"kind":"field","value":{"kind":"var","name":1}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"index":1,"kind":"field","value":{"kind":"var","name":0}},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/boxed-field/provenance.json b/compiler/rust/rust-std/boxed-field/provenance.json index a72e3e470..4b92d4dee 100644 --- a/compiler/rust/rust-std/boxed-field/provenance.json +++ b/compiler/rust/rust-std/boxed-field/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"cc0862b3a8ee27dbce70b00690d265640d4a1703f4b4398739a97970461c6f01","src/lib.rs":"ddece29562ad1947f5534fb5b422f25e96b9b9b7f625fd0438638120215acfa3"},"name":"boxed_field_std","profile":"rust-std","program":"51b72a735ab4653f0b06e46b13240e830423df152d765b1b3e5000727e7a8728","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"cc0862b3a8ee27dbce70b00690d265640d4a1703f4b4398739a97970461c6f01","src/lib.rs":"ddece29562ad1947f5534fb5b422f25e96b9b9b7f625fd0438638120215acfa3"},"name":"boxed_field_std","profile":"rust-std","program":"51b72a735ab4653f0b06e46b13240e830423df152d765b1b3e5000727e7a8728","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/byte-compare/package.json b/compiler/rust/rust-std/byte-compare/package.json index f4ca48480..54415c232 100644 --- a/compiler/rust/rust-std/byte-compare/package.json +++ b/compiler/rust/rust-std/byte-compare/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"byte_compare_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"0102","kind":"bytes"}},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"0103","kind":"bytes"}}],"operation":{"kind":"compare_bytes"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"ff","kind":"bytes"}},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"00ff","kind":"bytes"}}],"operation":{"kind":"compare_bytes"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"0a0b","kind":"bytes"}},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"0a0b","kind":"bytes"}}],"operation":{"kind":"compare_bytes"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"","kind":"bytes"}},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"00","kind":"bytes"}}],"operation":{"kind":"compare_bytes"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"ordering"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"ordering"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"ordering"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"ordering"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"ordering"},"kind":"list"}},"parameters":[],"result":{"element":{"kind":"ordering"},"kind":"list"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"byte_compare_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"0102","kind":"bytes"}},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"0103","kind":"bytes"}}],"operation":{"kind":"compare_bytes"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"ff","kind":"bytes"}},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"00ff","kind":"bytes"}}],"operation":{"kind":"compare_bytes"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"0a0b","kind":"bytes"}},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"0a0b","kind":"bytes"}}],"operation":{"kind":"compare_bytes"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"","kind":"bytes"}},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"00","kind":"bytes"}}],"operation":{"kind":"compare_bytes"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"ordering"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"ordering"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"ordering"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"ordering"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"ordering"},"kind":"list"}},"parameters":[],"result":{"element":{"kind":"ordering"},"kind":"list"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/byte-compare/provenance.json b/compiler/rust/rust-std/byte-compare/provenance.json index 76ff2fdc9..33ad38196 100644 --- a/compiler/rust/rust-std/byte-compare/provenance.json +++ b/compiler/rust/rust-std/byte-compare/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"1685888a79754795f2c3d730e7c284c74027d3bfc41dd450b78cad1e03d4105e","src/lib.rs":"33be023ea6962ac6e6c85247e6f48f02a629963c6447294648c76d9345db263b"},"name":"byte_compare_std","profile":"rust-std","program":"d48f6f4d3b00001f687ef861c922a17e1d1ea6f22bc87f2eba0315b790bbcb78","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"1685888a79754795f2c3d730e7c284c74027d3bfc41dd450b78cad1e03d4105e","src/lib.rs":"33be023ea6962ac6e6c85247e6f48f02a629963c6447294648c76d9345db263b"},"name":"byte_compare_std","profile":"rust-std","program":"d48f6f4d3b00001f687ef861c922a17e1d1ea6f22bc87f2eba0315b790bbcb78","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/byte-order/package.json b/compiler/rust/rust-std/byte-order/package.json index 3f4e7869b..2cd613c20 100644 --- a/compiler/rust/rust-std/byte-order/package.json +++ b/compiler/rust/rust-std/byte-order/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"byte_order_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"00ff","kind":"bytes"}},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"00fe","kind":"bytes"}}],"operation":{"kind":"equal"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"","kind":"bytes"}},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"","kind":"bytes"}}],"operation":{"kind":"equal"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"01","kind":"bytes"}},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"02","kind":"bytes"}}],"operation":{"kind":"compare_bytes"}},{"kind":"value","type":{"kind":"ordering"},"value":{"kind":"ordering","value":"lt"}}],"operation":{"kind":"equal"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"hé€"}}],"operation":{"kind":"utf8_encode"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"01","kind":"bytes"}},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"0100","kind":"bytes"}}],"operation":{"kind":"compare_bytes"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"ff","kind":"bytes"}},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"0100","kind":"bytes"}}],"operation":{"kind":"compare_bytes"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"","kind":"bytes"}},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"","kind":"bytes"}}],"operation":{"kind":"compare_bytes"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"ordering"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"ordering"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"ordering"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"ordering"},"kind":"list"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bytes"},"right":{"element":{"kind":"ordering"},"kind":"list"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"bool"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"bytes"},"right":{"element":{"kind":"ordering"},"kind":"list"}}}},"parameters":[],"result":{"kind":"pair","left":{"element":{"kind":"bool"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"bytes"},"right":{"element":{"kind":"ordering"},"kind":"list"}}},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"byte_order_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"00ff","kind":"bytes"}},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"00fe","kind":"bytes"}}],"operation":{"kind":"equal"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"","kind":"bytes"}},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"","kind":"bytes"}}],"operation":{"kind":"equal"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"01","kind":"bytes"}},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"02","kind":"bytes"}}],"operation":{"kind":"compare_bytes"}},{"kind":"value","type":{"kind":"ordering"},"value":{"kind":"ordering","value":"lt"}}],"operation":{"kind":"equal"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"hé€"}}],"operation":{"kind":"utf8_encode"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"01","kind":"bytes"}},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"0100","kind":"bytes"}}],"operation":{"kind":"compare_bytes"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"ff","kind":"bytes"}},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"0100","kind":"bytes"}}],"operation":{"kind":"compare_bytes"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"","kind":"bytes"}},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"","kind":"bytes"}}],"operation":{"kind":"compare_bytes"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"ordering"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"ordering"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"ordering"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"ordering"},"kind":"list"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bytes"},"right":{"element":{"kind":"ordering"},"kind":"list"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"bool"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"bytes"},"right":{"element":{"kind":"ordering"},"kind":"list"}}}},"parameters":[],"result":{"kind":"pair","left":{"element":{"kind":"bool"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"bytes"},"right":{"element":{"kind":"ordering"},"kind":"list"}}},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/byte-order/provenance.json b/compiler/rust/rust-std/byte-order/provenance.json index a7de75534..95685d3dd 100644 --- a/compiler/rust/rust-std/byte-order/provenance.json +++ b/compiler/rust/rust-std/byte-order/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"929bf7f4536e35e0c45ec5138a10d02b53bfc4e9bc9cbb2c5808e8e9aaa4051a","src/lib.rs":"63428c562c0f57a11f31de57cc06086a888403bba505548b007317e542254f43"},"name":"byte_order_std","profile":"rust-std","program":"58df17f0cb505de9d250d998d4f5f43ba6e1e90ad88feea2eea1667aaa80495a","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"929bf7f4536e35e0c45ec5138a10d02b53bfc4e9bc9cbb2c5808e8e9aaa4051a","src/lib.rs":"63428c562c0f57a11f31de57cc06086a888403bba505548b007317e542254f43"},"name":"byte_order_std","profile":"rust-std","program":"58df17f0cb505de9d250d998d4f5f43ba6e1e90ad88feea2eea1667aaa80495a","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/byte-slices/package.json b/compiler/rust/rust-std/byte-slices/package.json index 2e1177b9b..cf5efae31 100644 --- a/compiler/rust/rust-std/byte-slices/package.json +++ b/compiler/rust/rust-std/byte-slices/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"byte_slices_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"00112233","kind":"bytes"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"slice"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"00112233","kind":"bytes"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"slice"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"00112233","kind":"bytes"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"slice"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"bytes"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"bytes"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"bytes"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"bytes"}},"kind":"list"}},"parameters":[],"result":{"element":{"kind":"option","value":{"kind":"bytes"}},"kind":"list"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"byte_slices_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"00112233","kind":"bytes"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"slice"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"00112233","kind":"bytes"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"slice"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"00112233","kind":"bytes"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"slice"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"bytes"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"bytes"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"bytes"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"bytes"}},"kind":"list"}},"parameters":[],"result":{"element":{"kind":"option","value":{"kind":"bytes"}},"kind":"list"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/byte-slices/provenance.json b/compiler/rust/rust-std/byte-slices/provenance.json index ae27bfad5..9f1c22712 100644 --- a/compiler/rust/rust-std/byte-slices/provenance.json +++ b/compiler/rust/rust-std/byte-slices/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"3a8a7c456c3309edccaea0c3543cd0211401e43fdf6cd3e626763123ddd45743","src/lib.rs":"19ea90f565cb047055c05e8c1af6944b0e3341d21fc02cb0bfaa7ddf9cc193e6"},"name":"byte_slices_std","profile":"rust-std","program":"db383c532849c59ce08e51c7905d23385c122dd7ee30de0e6e56fdc2d9ebba33","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"3a8a7c456c3309edccaea0c3543cd0211401e43fdf6cd3e626763123ddd45743","src/lib.rs":"19ea90f565cb047055c05e8c1af6944b0e3341d21fc02cb0bfaa7ddf9cc193e6"},"name":"byte_slices_std","profile":"rust-std","program":"db383c532849c59ce08e51c7905d23385c122dd7ee30de0e6e56fdc2d9ebba33","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/bytes-and-text/package.json b/compiler/rust/rust-std/bytes-and-text/package.json index fef3f9349..2dedeecf9 100644 --- a/compiler/rust/rust-std/bytes-and-text/package.json +++ b/compiler/rust/rust-std/bytes-and-text/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"bytes_and_text_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"0102","kind":"bytes"}},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"ff","kind":"bytes"}}],"operation":{"kind":"append"}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"010203","kind":"bytes"}}],"operation":{"kind":"length"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"héllo€"}}],"operation":{"kind":"length"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"0aff","kind":"bytes"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"index"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"0aff","kind":"bytes"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"index"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"68c3a9","kind":"bytes"}}],"operation":{"kind":"utf8_decode"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"c328","kind":"bytes"}}],"operation":{"kind":"utf8_decode"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"string"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"string"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"string"}},"kind":"list"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"string"}},"kind":"list"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"string"}},"kind":"list"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bytes"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"string"}},"kind":"list"}}}}},"parameters":[],"result":{"kind":"pair","left":{"kind":"bytes"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"string"}},"kind":"list"}}}},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"bytes_and_text_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"0102","kind":"bytes"}},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"ff","kind":"bytes"}}],"operation":{"kind":"append"}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"010203","kind":"bytes"}}],"operation":{"kind":"length"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"héllo€"}}],"operation":{"kind":"length"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"0aff","kind":"bytes"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"index"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"0aff","kind":"bytes"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"index"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"68c3a9","kind":"bytes"}}],"operation":{"kind":"utf8_decode"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"c328","kind":"bytes"}}],"operation":{"kind":"utf8_decode"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"string"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"string"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"string"}},"kind":"list"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"string"}},"kind":"list"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"string"}},"kind":"list"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bytes"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"string"}},"kind":"list"}}}}},"parameters":[],"result":{"kind":"pair","left":{"kind":"bytes"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"string"}},"kind":"list"}}}},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/bytes-and-text/provenance.json b/compiler/rust/rust-std/bytes-and-text/provenance.json index bd3a194e0..41b23b245 100644 --- a/compiler/rust/rust-std/bytes-and-text/provenance.json +++ b/compiler/rust/rust-std/bytes-and-text/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"4d0cfb5ef3ce72b9fd8cfe426f60ee8c75c7d554746aab9bb334391618f42ce7","src/lib.rs":"2efa4fcdc45d46335320ca258257e94adfd4718f78f1d13243f8e8a105ddd3ee"},"name":"bytes_and_text_std","profile":"rust-std","program":"90c512537d4f85ae493b4d8df30d97811078d055c0b69a120949ed63053e089e","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"4d0cfb5ef3ce72b9fd8cfe426f60ee8c75c7d554746aab9bb334391618f42ce7","src/lib.rs":"2efa4fcdc45d46335320ca258257e94adfd4718f78f1d13243f8e8a105ddd3ee"},"name":"bytes_and_text_std","profile":"rust-std","program":"90c512537d4f85ae493b4d8df30d97811078d055c0b69a120949ed63053e089e","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/closure-captures/package.json b/compiler/rust/rust-std/closure-captures/package.json index 3fbdb84b8..813d191ee 100644 --- a/compiler/rust/rust-std/closure-captures/package.json +++ b/compiler/rust/rust-std/closure-captures/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own","own"]}],"name":"closure_captures_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"captures":[{"kind":"var","name":0},{"kind":"var","name":1}],"function":2,"kind":"closure"},{"kind":"var","name":2}]},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"kind":"apply","operands":[{"kind":"apply","operands":[{"kind":"var","name":1}],"target":{"kind":"var","name":0}}],"target":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"var","name":0}],"operation":{"kind":"nat_mul"}},{"kind":"var","name":1}],"operation":{"kind":"nat_sub"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own","own"]}],"name":"closure_captures_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"captures":[{"kind":"var","name":0},{"kind":"var","name":1}],"function":2,"kind":"closure"},{"kind":"var","name":2}]},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"kind":"apply","operands":[{"kind":"apply","operands":[{"kind":"var","name":1}],"target":{"kind":"var","name":0}}],"target":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"var","name":0}],"operation":{"kind":"nat_mul"}},{"kind":"var","name":1}],"operation":{"kind":"nat_sub"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/closure-captures/provenance.json b/compiler/rust/rust-std/closure-captures/provenance.json index f85dc89e9..7377db8db 100644 --- a/compiler/rust/rust-std/closure-captures/provenance.json +++ b/compiler/rust/rust-std/closure-captures/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"c0f4ab7556534e9d6bcc971dc361820251d3127ce9d387d02227c6d97747350e","src/lib.rs":"88b362fc18cc7bb954a76f869ca5dcd8723fa11aeefd5a0b986ab136132d7a40"},"name":"closure_captures_std","profile":"rust-std","program":"e2d52d5414c5f9639f8e127b054cd3820f186da100f2dd2c1b707805abba379f","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"c0f4ab7556534e9d6bcc971dc361820251d3127ce9d387d02227c6d97747350e","src/lib.rs":"88b362fc18cc7bb954a76f869ca5dcd8723fa11aeefd5a0b986ab136132d7a40"},"name":"closure_captures_std","profile":"rust-std","program":"e2d52d5414c5f9639f8e127b054cd3820f186da100f2dd2c1b707805abba379f","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/closure-dispatch/package.json b/compiler/rust/rust-std/closure-dispatch/package.json index 1de90e5e9..9765a2bfc 100644 --- a/compiler/rust/rust-std/closure-dispatch/package.json +++ b/compiler/rust/rust-std/closure-dispatch/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"closure_dispatch_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":3,"kind":"call","operands":[{"captures":[{"kind":"var","name":0},{"kind":"var","name":1}],"function":1,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"10"}}]},{"function":3,"kind":"call","operands":[{"captures":[{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}}],"function":2,"kind":"closure"},{"kind":"var","name":0}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"nat"},{"kind":"string"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_add"}},{"kind":"var","name":2}],"operation":{"kind":"nat_add"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"string"},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_sub"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"unit"},{"kind":"nat"}]},{"body":{"kind":"apply","operands":[{"kind":"var","name":1}],"target":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"closure_dispatch_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":3,"kind":"call","operands":[{"captures":[{"kind":"var","name":0},{"kind":"var","name":1}],"function":1,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"10"}}]},{"function":3,"kind":"call","operands":[{"captures":[{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}}],"function":2,"kind":"closure"},{"kind":"var","name":0}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"nat"},{"kind":"string"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_add"}},{"kind":"var","name":2}],"operation":{"kind":"nat_add"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"string"},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_sub"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"unit"},{"kind":"nat"}]},{"body":{"kind":"apply","operands":[{"kind":"var","name":1}],"target":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/closure-dispatch/provenance.json b/compiler/rust/rust-std/closure-dispatch/provenance.json index faceabfa8..2af9dcd7f 100644 --- a/compiler/rust/rust-std/closure-dispatch/provenance.json +++ b/compiler/rust/rust-std/closure-dispatch/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"9baf4aaaf363171f1ee359cc787061e8f3b838a40f496da53d3ef3d2e27afd45","src/lib.rs":"4ebcb07a381642994ce7721d5b2b0ba5a812addc835f88b566112388dd234188"},"name":"closure_dispatch_std","profile":"rust-std","program":"2c8491e46d4c4170f5f7e314245c304d91dc7cc4401639794e0057c1fbf4ff3e","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"9baf4aaaf363171f1ee359cc787061e8f3b838a40f496da53d3ef3d2e27afd45","src/lib.rs":"4ebcb07a381642994ce7721d5b2b0ba5a812addc835f88b566112388dd234188"},"name":"closure_dispatch_std","profile":"rust-std","program":"2c8491e46d4c4170f5f7e314245c304d91dc7cc4401639794e0057c1fbf4ff3e","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/closure-inline/package.json b/compiler/rust/rust-std/closure-inline/package.json index 049b6681d..66a597b12 100644 --- a/compiler/rust/rust-std/closure-inline/package.json +++ b/compiler/rust/rust-std/closure-inline/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"closure_inline_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"apply","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"100"}}],"target":{"captures":[{"kind":"var","name":0},{"kind":"var","name":1}],"function":1,"kind":"closure"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"var","name":0}],"operation":{"kind":"nat_mul"}},{"kind":"var","name":1}],"operation":{"kind":"nat_sub"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"closure_inline_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"apply","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"100"}}],"target":{"captures":[{"kind":"var","name":0},{"kind":"var","name":1}],"function":1,"kind":"closure"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"var","name":0}],"operation":{"kind":"nat_mul"}},{"kind":"var","name":1}],"operation":{"kind":"nat_sub"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/closure-inline/provenance.json b/compiler/rust/rust-std/closure-inline/provenance.json index 80b49fb15..a2dccb44b 100644 --- a/compiler/rust/rust-std/closure-inline/provenance.json +++ b/compiler/rust/rust-std/closure-inline/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"5b5cb8b712efe50f580de93fe24776f3dfbaaa75efcefb60afb85aeb265f99d2","src/lib.rs":"938d07d0745e3d9be6f051487ba58a8ccc9d2c0006c79f6bde8b9c31c646ea0e"},"name":"closure_inline_std","profile":"rust-std","program":"cce3e8632d8c7b42f7961f9a6c0f734f50ea0eab68ab6e496f16558de67003ce","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"5b5cb8b712efe50f580de93fe24776f3dfbaaa75efcefb60afb85aeb265f99d2","src/lib.rs":"938d07d0745e3d9be6f051487ba58a8ccc9d2c0006c79f6bde8b9c31c646ea0e"},"name":"closure_inline_std","profile":"rust-std","program":"cce3e8632d8c7b42f7961f9a6c0f734f50ea0eab68ab6e496f16558de67003ce","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/closure-recursive/package.json b/compiler/rust/rust-std/closure-recursive/package.json index c6722a031..552a81c0e 100644 --- a/compiler/rust/rust-std/closure-recursive/package.json +++ b/compiler/rust/rust-std/closure-recursive/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"closure_recursive_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"body":{"body":{"kind":"apply","operands":[{"kind":"var","name":0}],"target":{"kind":"var","name":2}},"bound":{"captures":[{"kind":"var","name":1}],"function":1,"kind":"closure"},"kind":"let","name":2,"type":{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}}},"bound":{"captures":[],"function":2,"kind":"closure"},"kind":"let","name":1,"type":{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"kind":"apply","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_mul"}}],"target":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_sub"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"closure_recursive_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"body":{"body":{"kind":"apply","operands":[{"kind":"var","name":0}],"target":{"kind":"var","name":2}},"bound":{"captures":[{"kind":"var","name":1}],"function":1,"kind":"closure"},"kind":"let","name":2,"type":{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}}},"bound":{"captures":[],"function":2,"kind":"closure"},"kind":"let","name":1,"type":{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"kind":"apply","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_mul"}}],"target":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_sub"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/closure-recursive/provenance.json b/compiler/rust/rust-std/closure-recursive/provenance.json index 5090e62d6..d240fa466 100644 --- a/compiler/rust/rust-std/closure-recursive/provenance.json +++ b/compiler/rust/rust-std/closure-recursive/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"9f6db8365b69e43ade216f5993b4f55d7ecfcf7131eab5cd8deaad84f6269a61","src/lib.rs":"b99a6cee6a59280031d6bf530fea6c7a4e3b6fae47f742eee2f0ed354810bf54"},"name":"closure_recursive_std","profile":"rust-std","program":"837e1e72b2e960d2360d8b2d6047eb52402faac0e1796676243bd01ebc1befaf","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"9f6db8365b69e43ade216f5993b4f55d7ecfcf7131eab5cd8deaad84f6269a61","src/lib.rs":"b99a6cee6a59280031d6bf530fea6c7a4e3b6fae47f742eee2f0ed354810bf54"},"name":"closure_recursive_std","profile":"rust-std","program":"837e1e72b2e960d2360d8b2d6047eb52402faac0e1796676243bd01ebc1befaf","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/closure-uninhabited/package.json b/compiler/rust/rust-std/closure-uninhabited/package.json index 620a3cb5a..ccfcd0d0e 100644 --- a/compiler/rust/rust-std/closure-uninhabited/package.json +++ b/compiler/rust/rust-std/closure-uninhabited/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"closure_uninhabited_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":2,"kind":"call","operands":[{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}}}},{"kind":"var","name":0}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"kind":"apply","operands":[{"kind":"var","name":1}],"target":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"apply","operands":[{"kind":"var","name":1}],"target":{"kind":"var","name":2}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"option","value":{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}}},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"closure_uninhabited_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":2,"kind":"call","operands":[{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}}}},{"kind":"var","name":0}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"kind":"apply","operands":[{"kind":"var","name":1}],"target":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"apply","operands":[{"kind":"var","name":1}],"target":{"kind":"var","name":2}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"option","value":{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}}},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/closure-uninhabited/provenance.json b/compiler/rust/rust-std/closure-uninhabited/provenance.json index 5d0ce6e28..12dbedc13 100644 --- a/compiler/rust/rust-std/closure-uninhabited/provenance.json +++ b/compiler/rust/rust-std/closure-uninhabited/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"04d6b324f4c65f5513123c9ef98cb4cab811b35341cf5c35fe56d03293429bc7","src/lib.rs":"544ddb0dbd7e521411c081ea1c60a713fff177cdb03367246f957b866eba6444"},"name":"closure_uninhabited_std","profile":"rust-std","program":"057be489c5323c3dc11411532fd63e39ec3436d200fc45dfd8e385bec6106b04","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"04d6b324f4c65f5513123c9ef98cb4cab811b35341cf5c35fe56d03293429bc7","src/lib.rs":"544ddb0dbd7e521411c081ea1c60a713fff177cdb03367246f957b866eba6444"},"name":"closure_uninhabited_std","profile":"rust-std","program":"057be489c5323c3dc11411532fd63e39ec3436d200fc45dfd8e385bec6106b04","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/closures/package.json b/compiler/rust/rust-std/closures/package.json index c3b9d6b21..4e0d8baec 100644 --- a/compiler/rust/rust-std/closures/package.json +++ b/compiler/rust/rust-std/closures/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"closures_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"captures":[{"kind":"var","name":1}],"function":2,"kind":"closure"},{"kind":"var","name":0}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"kind":"build","operands":[{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"nat_add"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"closures_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"captures":[{"kind":"var","name":1}],"function":2,"kind":"closure"},{"kind":"var","name":0}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"kind":"build","operands":[{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"nat_add"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/closures/provenance.json b/compiler/rust/rust-std/closures/provenance.json index 80a45e678..534a21583 100644 --- a/compiler/rust/rust-std/closures/provenance.json +++ b/compiler/rust/rust-std/closures/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"dc94fa130dfb344cb9f25385def51572570da514423c2ca7c1f15af3d113478f","src/lib.rs":"42173a0ef40045059859a5f616c1f407fa4d0a67215d4dcede94d0c950d650d9"},"name":"closures_std","profile":"rust-std","program":"1853f6da889803b1a20a6b08710abf3c24a96ca453073ec176f5854649afcb98","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"dc94fa130dfb344cb9f25385def51572570da514423c2ca7c1f15af3d113478f","src/lib.rs":"42173a0ef40045059859a5f616c1f407fa4d0a67215d4dcede94d0c950d650d9"},"name":"closures_std","profile":"rust-std","program":"1853f6da889803b1a20a6b08710abf3c24a96ca453073ec176f5854649afcb98","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/convert/package.json b/compiler/rust/rust-std/convert/package.json index 7783b2776..86917a1e2 100644 --- a/compiler/rust/rust-std/convert/package.json +++ b/compiler/rust/rust-std/convert/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"convert_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"option","value":{"kind":"fixed","width":"u8"}},{"kind":"option","value":{"kind":"fixed","width":"u16"}},{"kind":"option","value":{"kind":"fixed","width":"u32"}},{"kind":"option","value":{"kind":"fixed","width":"u64"}},{"kind":"option","value":{"kind":"fixed","width":"i8"}},{"kind":"option","value":{"kind":"fixed","width":"i16"}},{"kind":"option","value":{"kind":"fixed","width":"i32"}},{"kind":"option","value":{"kind":"fixed","width":"i64"}}]]}],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"u8"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"65535"}}],"operation":{"kind":"convert","target":"u16"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-1"}}],"operation":{"kind":"convert","target":"u32"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"4294967295"}}],"operation":{"kind":"convert","target":"u64"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"128"}}],"operation":{"kind":"convert","target":"i8"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"-32768"}}],"operation":{"kind":"convert","target":"i16"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"18446744073709551615"}}],"operation":{"kind":"convert","target":"i32"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-9223372036854775808"}}],"operation":{"kind":"convert","target":"i64"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"parameters":[],"result":{"index":0,"kind":"adt"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"convert_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"option","value":{"kind":"fixed","width":"u8"}},{"kind":"option","value":{"kind":"fixed","width":"u16"}},{"kind":"option","value":{"kind":"fixed","width":"u32"}},{"kind":"option","value":{"kind":"fixed","width":"u64"}},{"kind":"option","value":{"kind":"fixed","width":"i8"}},{"kind":"option","value":{"kind":"fixed","width":"i16"}},{"kind":"option","value":{"kind":"fixed","width":"i32"}},{"kind":"option","value":{"kind":"fixed","width":"i64"}}]]}],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"u8"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"65535"}}],"operation":{"kind":"convert","target":"u16"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-1"}}],"operation":{"kind":"convert","target":"u32"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"4294967295"}}],"operation":{"kind":"convert","target":"u64"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"128"}}],"operation":{"kind":"convert","target":"i8"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"-32768"}}],"operation":{"kind":"convert","target":"i16"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"18446744073709551615"}}],"operation":{"kind":"convert","target":"i32"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-9223372036854775808"}}],"operation":{"kind":"convert","target":"i64"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"parameters":[],"result":{"index":0,"kind":"adt"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/convert/provenance.json b/compiler/rust/rust-std/convert/provenance.json index fda42acf2..c04ae8745 100644 --- a/compiler/rust/rust-std/convert/provenance.json +++ b/compiler/rust/rust-std/convert/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"186b3f1828951cb08082806c9210e4dbf844513fe1d48a27ca5d74f8d67f2b54","src/lib.rs":"970c4741fa0a2f13bd0b8d405aa9f405ebd84463f81ce1d1460956b03dd455c0"},"name":"convert_std","profile":"rust-std","program":"53f534696ea7212909ffcf637122ef370f71853fc0ce58655b91be97455279f5","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"186b3f1828951cb08082806c9210e4dbf844513fe1d48a27ca5d74f8d67f2b54","src/lib.rs":"970c4741fa0a2f13bd0b8d405aa9f405ebd84463f81ce1d1460956b03dd455c0"},"name":"convert_std","profile":"rust-std","program":"53f534696ea7212909ffcf637122ef370f71853fc0ce58655b91be97455279f5","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/decimal-overflow-wide/package.json b/compiler/rust/rust-std/decimal-overflow-wide/package.json index 63d8a20bb..b1ebb1e86 100644 --- a/compiler/rust/rust-std/decimal-overflow-wide/package.json +++ b/compiler/rust/rust-std/decimal-overflow-wide/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"decimal_overflow_wide_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"10000000000000000000000000000000000000000"}}],"operation":{"kind":"parse_decimal","target":{"kind":"int"}}},"parameters":[],"result":{"kind":"option","value":{"kind":"int"}},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"decimal_overflow_wide_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"10000000000000000000000000000000000000000"}}],"operation":{"kind":"parse_decimal","target":{"kind":"int"}}},"parameters":[],"result":{"kind":"option","value":{"kind":"int"}},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/decimal-overflow-wide/provenance.json b/compiler/rust/rust-std/decimal-overflow-wide/provenance.json index a6a352b99..3ab330ede 100644 --- a/compiler/rust/rust-std/decimal-overflow-wide/provenance.json +++ b/compiler/rust/rust-std/decimal-overflow-wide/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"8f2688f2b9be7e8b4941212040e903215f55599c6b072a55166df7aee74ef0b1","src/lib.rs":"f190deab80ccf28489de8079d90a09ade862bbe08c849a0e73c7dd8f631f8b91"},"name":"decimal_overflow_wide_std","profile":"rust-std","program":"2eb56b9de0ed586a9904ebd46b52284abcf89305b744cf7d02248ca3ea38a437","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"8f2688f2b9be7e8b4941212040e903215f55599c6b072a55166df7aee74ef0b1","src/lib.rs":"f190deab80ccf28489de8079d90a09ade862bbe08c849a0e73c7dd8f631f8b91"},"name":"decimal_overflow_wide_std","profile":"rust-std","program":"2eb56b9de0ed586a9904ebd46b52284abcf89305b744cf7d02248ca3ea38a437","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/decimal-overflow/package.json b/compiler/rust/rust-std/decimal-overflow/package.json index 80feb2b7e..161562287 100644 --- a/compiler/rust/rust-std/decimal-overflow/package.json +++ b/compiler/rust/rust-std/decimal-overflow/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"decimal_overflow_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"9223372036854775808"}}],"operation":{"kind":"parse_decimal","target":{"kind":"int"}}},"parameters":[],"result":{"kind":"option","value":{"kind":"int"}},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"decimal_overflow_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"9223372036854775808"}}],"operation":{"kind":"parse_decimal","target":{"kind":"int"}}},"parameters":[],"result":{"kind":"option","value":{"kind":"int"}},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/decimal-overflow/provenance.json b/compiler/rust/rust-std/decimal-overflow/provenance.json index e85c1c613..0bfd8ee7f 100644 --- a/compiler/rust/rust-std/decimal-overflow/provenance.json +++ b/compiler/rust/rust-std/decimal-overflow/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"b5362b31d364c5322f81ea3a913999d029e11436d1dda27ae4a7f1be1a7bb254","src/lib.rs":"fd611ff2a78cb5260a0618dd736ab78730976b452ea91ad72419d978bf991e2f"},"name":"decimal_overflow_std","profile":"rust-std","program":"1c9f1ff8a2866ebe8ee40dcd094b558723ac3a80054cbd83e599ba63cbd7841c","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"b5362b31d364c5322f81ea3a913999d029e11436d1dda27ae4a7f1be1a7bb254","src/lib.rs":"fd611ff2a78cb5260a0618dd736ab78730976b452ea91ad72419d978bf991e2f"},"name":"decimal_overflow_std","profile":"rust-std","program":"1c9f1ff8a2866ebe8ee40dcd094b558723ac3a80054cbd83e599ba63cbd7841c","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/decimal/package.json b/compiler/rust/rust-std/decimal/package.json index 843be4b9e..5e20193e1 100644 --- a/compiler/rust/rust-std/decimal/package.json +++ b/compiler/rust/rust-std/decimal/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"decimal_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-42"}}],"operation":{"kind":"format_decimal"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-128"}}],"operation":{"kind":"format_decimal"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"18446744073709551615"}}],"operation":{"kind":"format_decimal"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"string"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"123"}}],"operation":{"kind":"parse_decimal","target":{"kind":"int"}}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"-0"}}],"operation":{"kind":"parse_decimal","target":{"kind":"int"}}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"007"}}],"operation":{"kind":"parse_decimal","target":{"kind":"int"}}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"+5"}}],"operation":{"kind":"parse_decimal","target":{"kind":"int"}}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":""}}],"operation":{"kind":"parse_decimal","target":{"kind":"int"}}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"-"}}],"operation":{"kind":"parse_decimal","target":{"kind":"int"}}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"-9223372036854775808"}}],"operation":{"kind":"parse_decimal","target":{"kind":"int"}}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"12a"}}],"operation":{"kind":"parse_decimal","target":{"kind":"int"}}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"int"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"int"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"int"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"int"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"int"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"int"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"int"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"int"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"int"}},"kind":"list"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"255"}}],"operation":{"kind":"parse_decimal","target":{"kind":"fixed","width":"u8"}}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"256"}}],"operation":{"kind":"parse_decimal","target":{"kind":"fixed","width":"u8"}}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"-1"}}],"operation":{"kind":"parse_decimal","target":{"kind":"fixed","width":"u8"}}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"0"}}],"operation":{"kind":"parse_decimal","target":{"kind":"fixed","width":"u8"}}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"int"}},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"string"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"int"}},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}}},"parameters":[],"result":{"kind":"pair","left":{"element":{"kind":"string"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"int"}},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"decimal_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-42"}}],"operation":{"kind":"format_decimal"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-128"}}],"operation":{"kind":"format_decimal"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"18446744073709551615"}}],"operation":{"kind":"format_decimal"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"string"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"123"}}],"operation":{"kind":"parse_decimal","target":{"kind":"int"}}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"-0"}}],"operation":{"kind":"parse_decimal","target":{"kind":"int"}}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"007"}}],"operation":{"kind":"parse_decimal","target":{"kind":"int"}}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"+5"}}],"operation":{"kind":"parse_decimal","target":{"kind":"int"}}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":""}}],"operation":{"kind":"parse_decimal","target":{"kind":"int"}}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"-"}}],"operation":{"kind":"parse_decimal","target":{"kind":"int"}}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"-9223372036854775808"}}],"operation":{"kind":"parse_decimal","target":{"kind":"int"}}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"12a"}}],"operation":{"kind":"parse_decimal","target":{"kind":"int"}}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"int"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"int"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"int"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"int"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"int"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"int"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"int"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"int"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"int"}},"kind":"list"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"255"}}],"operation":{"kind":"parse_decimal","target":{"kind":"fixed","width":"u8"}}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"256"}}],"operation":{"kind":"parse_decimal","target":{"kind":"fixed","width":"u8"}}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"-1"}}],"operation":{"kind":"parse_decimal","target":{"kind":"fixed","width":"u8"}}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"0"}}],"operation":{"kind":"parse_decimal","target":{"kind":"fixed","width":"u8"}}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"int"}},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"string"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"int"}},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}}},"parameters":[],"result":{"kind":"pair","left":{"element":{"kind":"string"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"int"}},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/decimal/provenance.json b/compiler/rust/rust-std/decimal/provenance.json index 9d239f8f0..9261ba54b 100644 --- a/compiler/rust/rust-std/decimal/provenance.json +++ b/compiler/rust/rust-std/decimal/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"4de336d24eccd5b8c7610e67d45f0f54333e2cbc4409e3bd6ea04275a068d3dc","src/lib.rs":"cfdc59f297dd78321a99d53d799aeea3577c9c573171169989ba0ce921a5e8cc"},"name":"decimal_std","profile":"rust-std","program":"917f310d200f9f4fa5ebf83c791b56d8e08333293edf4fc50fd597570ae58d4d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"4de336d24eccd5b8c7610e67d45f0f54333e2cbc4409e3bd6ea04275a068d3dc","src/lib.rs":"cfdc59f297dd78321a99d53d799aeea3577c9c573171169989ba0ce921a5e8cc"},"name":"decimal_std","profile":"rust-std","program":"917f310d200f9f4fa5ebf83c791b56d8e08333293edf4fc50fd597570ae58d4d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/equality/package.json b/compiler/rust/rust-std/equality/package.json index e42c3a785..165faa0f8 100644 --- a/compiler/rust/rust-std/equality/package.json +++ b/compiler/rust/rust-std/equality/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"equality_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"equal"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"operation":{"kind":"equal"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"é"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"é"}}],"operation":{"kind":"equal"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"compare"}},{"kind":"value","type":{"kind":"ordering"},"value":{"kind":"ordering","value":"lt"}}],"operation":{"kind":"equal"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"build","operands":[],"shape":{"kind":"gt"},"type":{"kind":"ordering"}},{"kind":"value","type":{"kind":"ordering"},"value":{"kind":"ordering","value":"lt"}}],"operation":{"kind":"equal"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u16"},"value":{"kind":"u16","value":"65535"}},{"kind":"value","type":{"kind":"fixed","width":"u16"},"value":{"kind":"u16","value":"65535"}}],"operation":{"kind":"equal"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i32"},"value":{"kind":"i32","value":"-1"}},{"kind":"value","type":{"kind":"fixed","width":"i32"},"value":{"kind":"i32","value":"1"}}],"operation":{"kind":"equal"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}},"parameters":[],"result":{"element":{"kind":"bool"},"kind":"list"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"equality_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"equal"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"operation":{"kind":"equal"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"é"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"é"}}],"operation":{"kind":"equal"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"compare"}},{"kind":"value","type":{"kind":"ordering"},"value":{"kind":"ordering","value":"lt"}}],"operation":{"kind":"equal"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"build","operands":[],"shape":{"kind":"gt"},"type":{"kind":"ordering"}},{"kind":"value","type":{"kind":"ordering"},"value":{"kind":"ordering","value":"lt"}}],"operation":{"kind":"equal"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u16"},"value":{"kind":"u16","value":"65535"}},{"kind":"value","type":{"kind":"fixed","width":"u16"},"value":{"kind":"u16","value":"65535"}}],"operation":{"kind":"equal"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i32"},"value":{"kind":"i32","value":"-1"}},{"kind":"value","type":{"kind":"fixed","width":"i32"},"value":{"kind":"i32","value":"1"}}],"operation":{"kind":"equal"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}},"parameters":[],"result":{"element":{"kind":"bool"},"kind":"list"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/equality/provenance.json b/compiler/rust/rust-std/equality/provenance.json index c9ffebbec..591d85337 100644 --- a/compiler/rust/rust-std/equality/provenance.json +++ b/compiler/rust/rust-std/equality/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"01ae42b51273b4ca067a4e5295206260cbcbbab4b765b04045954060004d3ce1","src/lib.rs":"649f7a4c1d4377c9a8f22cd463f21defdef0cb3330f2cc0bc943ea8a838c98ff"},"name":"equality_std","profile":"rust-std","program":"60cbf0f5a5314bb087d9eb23ac978b692465e0b4defea241a2f8917c776ee53a","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"01ae42b51273b4ca067a4e5295206260cbcbbab4b765b04045954060004d3ce1","src/lib.rs":"649f7a4c1d4377c9a8f22cd463f21defdef0cb3330f2cc0bc943ea8a838c98ff"},"name":"equality_std","profile":"rust-std","program":"60cbf0f5a5314bb087d9eb23ac978b692465e0b4defea241a2f8917c776ee53a","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fallible-condition-value/package.json b/compiler/rust/rust-std/fallible-condition-value/package.json index 60c56e8c8..880d1fdb3 100644 --- a/compiler/rust/rust-std/fallible-condition-value/package.json +++ b/compiler/rust/rust-std/fallible-condition-value/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"fallible_condition_value_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"condition":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"fallible_condition_value_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"condition":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fallible-condition-value/provenance.json b/compiler/rust/rust-std/fallible-condition-value/provenance.json index 5947f5b9e..c748aabfe 100644 --- a/compiler/rust/rust-std/fallible-condition-value/provenance.json +++ b/compiler/rust/rust-std/fallible-condition-value/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ff8caa18077ba0b84554e6608e87ada6df04c923d5424f5a09bbd7c041222b74","src/lib.rs":"6e99d97fbf4346956d10e02e2702e1bc3dd048bf868cd2b1ad02ec9699b76a1f"},"name":"fallible_condition_value_std","profile":"rust-std","program":"1e4bbfc9aa1667d930aa5d3c7df5105e11161bde3842639d8fd684b9e7c9ab80","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ff8caa18077ba0b84554e6608e87ada6df04c923d5424f5a09bbd7c041222b74","src/lib.rs":"6e99d97fbf4346956d10e02e2702e1bc3dd048bf868cd2b1ad02ec9699b76a1f"},"name":"fallible_condition_value_std","profile":"rust-std","program":"1e4bbfc9aa1667d930aa5d3c7df5105e11161bde3842639d8fd684b9e7c9ab80","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-bits-signed/package.json b/compiler/rust/rust-std/fixed-bits-signed/package.json index eb9856005..229873c91 100644 --- a/compiler/rust/rust-std/fixed-bits-signed/package.json +++ b/compiler/rust/rust-std/fixed-bits-signed/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"fixed_bits_signed_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"0"}}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-1"}},{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"85"}}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-128"}},{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-1"}}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"fixed","width":"i8"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"fixed","width":"i8"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"fixed","width":"i8"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"fixed","width":"i8"},"kind":"list"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-128"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"1"}}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-1"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"7"}}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"64"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"1"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"1"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"7"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"1"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"8"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"fixed","width":"i8"},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}},"parameters":[],"result":{"kind":"pair","left":{"element":{"kind":"fixed","width":"i8"},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"fixed_bits_signed_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"0"}}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-1"}},{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"85"}}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-128"}},{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-1"}}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"fixed","width":"i8"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"fixed","width":"i8"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"fixed","width":"i8"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"fixed","width":"i8"},"kind":"list"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-128"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"1"}}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-1"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"7"}}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"64"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"1"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"1"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"7"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"1"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"8"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"fixed","width":"i8"},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}},"parameters":[],"result":{"kind":"pair","left":{"element":{"kind":"fixed","width":"i8"},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-bits-signed/provenance.json b/compiler/rust/rust-std/fixed-bits-signed/provenance.json index 91930ad16..aafb29ca1 100644 --- a/compiler/rust/rust-std/fixed-bits-signed/provenance.json +++ b/compiler/rust/rust-std/fixed-bits-signed/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"f871d81d9fc4899c784298ce0e48b0c3c85a38f28d1aa3a1215f3555e76bbbde","src/lib.rs":"b27b0bd2257f07014bfcad7a71e2db95c4859ac11d6ccbafed7c7d2430ce50c8"},"name":"fixed_bits_signed_std","profile":"rust-std","program":"6c9d502f069507ff072ae6bfd7948657e1eb89d4f56767270c22b4c0d94d1bcb","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"f871d81d9fc4899c784298ce0e48b0c3c85a38f28d1aa3a1215f3555e76bbbde","src/lib.rs":"b27b0bd2257f07014bfcad7a71e2db95c4859ac11d6ccbafed7c7d2430ce50c8"},"name":"fixed_bits_signed_std","profile":"rust-std","program":"6c9d502f069507ff072ae6bfd7948657e1eb89d4f56767270c22b4c0d94d1bcb","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-bits-unsigned/package.json b/compiler/rust/rust-std/fixed-bits-unsigned/package.json index 953c218d0..e75e2d09e 100644 --- a/compiler/rust/rust-std/fixed-bits-unsigned/package.json +++ b/compiler/rust/rust-std/fixed-bits-unsigned/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"fixed_bits_unsigned_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"240"}},{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"60"}}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"240"}},{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"12"}}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"255"}},{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"15"}}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"0"}}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"fixed","width":"u8"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"fixed","width":"u8"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"fixed","width":"u8"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"fixed","width":"u8"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"fixed","width":"u8"},"kind":"list"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"129"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"1"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"1"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"8"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"128"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"7"}}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"128"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"9"}}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"fixed","width":"u8"},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}},"parameters":[],"result":{"kind":"pair","left":{"element":{"kind":"fixed","width":"u8"},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"fixed_bits_unsigned_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"240"}},{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"60"}}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"240"}},{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"12"}}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"255"}},{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"15"}}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"0"}}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"fixed","width":"u8"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"fixed","width":"u8"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"fixed","width":"u8"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"fixed","width":"u8"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"fixed","width":"u8"},"kind":"list"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"129"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"1"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"1"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"8"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"128"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"7"}}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"128"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"9"}}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"fixed","width":"u8"},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}},"parameters":[],"result":{"kind":"pair","left":{"element":{"kind":"fixed","width":"u8"},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-bits-unsigned/provenance.json b/compiler/rust/rust-std/fixed-bits-unsigned/provenance.json index 4ec2d1b06..09c3a4ac7 100644 --- a/compiler/rust/rust-std/fixed-bits-unsigned/provenance.json +++ b/compiler/rust/rust-std/fixed-bits-unsigned/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"e320b5bea08c3075f1547cef263c16b05ee771fd553e78e2016874a72bfef600","src/lib.rs":"b11239851d649dfb4cfac5996223562daef5bee04f5fd64a0a5fa8c07413949f"},"name":"fixed_bits_unsigned_std","profile":"rust-std","program":"96eb8f161d9bb4e0f9f006be3e5df5125525a2888aec343e03b99de23bb5d9eb","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"e320b5bea08c3075f1547cef263c16b05ee771fd553e78e2016874a72bfef600","src/lib.rs":"b11239851d649dfb4cfac5996223562daef5bee04f5fd64a0a5fa8c07413949f"},"name":"fixed_bits_unsigned_std","profile":"rust-std","program":"96eb8f161d9bb4e0f9f006be3e5df5125525a2888aec343e03b99de23bb5d9eb","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-checked-narrow/package.json b/compiler/rust/rust-std/fixed-checked-narrow/package.json index a3ef75065..bd1c7a716 100644 --- a/compiler/rust/rust-std/fixed-checked-narrow/package.json +++ b/compiler/rust/rust-std/fixed-checked-narrow/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"fixed_checked_narrow_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"255"}},{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"1"}}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"15"}},{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"17"}}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u16"},"value":{"kind":"u16","value":"0"}},{"kind":"value","type":{"kind":"fixed","width":"u16"},"value":{"kind":"u16","value":"1"}}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u16"},"value":{"kind":"u16","value":"65000"}},{"kind":"value","type":{"kind":"fixed","width":"u16"},"value":{"kind":"u16","value":"535"}}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"kind":"list"}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i16"},"value":{"kind":"i16","value":"-32768"}}],"operation":{"kind":"checked_neg"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i16"},"value":{"kind":"i16","value":"-32767"}},{"kind":"value","type":{"kind":"fixed","width":"i16"},"value":{"kind":"i16","value":"-1"}}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"kind":"list"}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"65536"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"65536"}}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"9"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"4"}}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"kind":"list"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i32"},"value":{"kind":"i32","value":"-2147483648"}},{"kind":"value","type":{"kind":"fixed","width":"i32"},"value":{"kind":"i32","value":"1"}}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i32"},"value":{"kind":"i32","value":"-2147483647"}}],"operation":{"kind":"checked_neg"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"kind":"list"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"kind":"list"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"kind":"list"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"kind":"list"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"kind":"list"}}}}}},"parameters":[],"result":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"kind":"list"}}}}},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"fixed_checked_narrow_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"255"}},{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"1"}}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"15"}},{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"17"}}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u16"},"value":{"kind":"u16","value":"0"}},{"kind":"value","type":{"kind":"fixed","width":"u16"},"value":{"kind":"u16","value":"1"}}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u16"},"value":{"kind":"u16","value":"65000"}},{"kind":"value","type":{"kind":"fixed","width":"u16"},"value":{"kind":"u16","value":"535"}}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"kind":"list"}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i16"},"value":{"kind":"i16","value":"-32768"}}],"operation":{"kind":"checked_neg"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i16"},"value":{"kind":"i16","value":"-32767"}},{"kind":"value","type":{"kind":"fixed","width":"i16"},"value":{"kind":"i16","value":"-1"}}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"kind":"list"}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"65536"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"65536"}}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"9"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"4"}}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"kind":"list"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i32"},"value":{"kind":"i32","value":"-2147483648"}},{"kind":"value","type":{"kind":"fixed","width":"i32"},"value":{"kind":"i32","value":"1"}}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i32"},"value":{"kind":"i32","value":"-2147483647"}}],"operation":{"kind":"checked_neg"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"kind":"list"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"kind":"list"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"kind":"list"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"kind":"list"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"kind":"list"}}}}}},"parameters":[],"result":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"kind":"list"}}}}},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-checked-narrow/provenance.json b/compiler/rust/rust-std/fixed-checked-narrow/provenance.json index 21b3895f0..e30e52ced 100644 --- a/compiler/rust/rust-std/fixed-checked-narrow/provenance.json +++ b/compiler/rust/rust-std/fixed-checked-narrow/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"e95afae963b20737123226cf65e4ae7b78f41c3032df05d51a93b326916ae0c1","src/lib.rs":"11d91c22a05213e8eccdf406823fe9b74948a90be211e5922e4ff6e717ae0288"},"name":"fixed_checked_narrow_std","profile":"rust-std","program":"e1ee29f08689361924b2e4fab8b538d626ee0a2af4597cb924b1a1d45204cb0d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"e95afae963b20737123226cf65e4ae7b78f41c3032df05d51a93b326916ae0c1","src/lib.rs":"11d91c22a05213e8eccdf406823fe9b74948a90be211e5922e4ff6e717ae0288"},"name":"fixed_checked_narrow_std","profile":"rust-std","program":"e1ee29f08689361924b2e4fab8b538d626ee0a2af4597cb924b1a1d45204cb0d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-checked-signed/package.json b/compiler/rust/rust-std/fixed-checked-signed/package.json index 1fd3be2a6..2afd938f7 100644 --- a/compiler/rust/rust-std/fixed-checked-signed/package.json +++ b/compiler/rust/rust-std/fixed-checked-signed/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"fixed_checked_signed_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"127"}},{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"1"}}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"100"}},{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"27"}}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-128"}},{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"1"}}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-64"}},{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"2"}}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"16"}},{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"16"}}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-128"}}],"operation":{"kind":"checked_neg"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"5"}}],"operation":{"kind":"checked_neg"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-128"}},{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-1"}}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"7"}},{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"0"}}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-7"}},{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"2"}}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}},"parameters":[],"result":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"fixed_checked_signed_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"127"}},{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"1"}}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"100"}},{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"27"}}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-128"}},{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"1"}}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-64"}},{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"2"}}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"16"}},{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"16"}}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-128"}}],"operation":{"kind":"checked_neg"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"5"}}],"operation":{"kind":"checked_neg"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-128"}},{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-1"}}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"7"}},{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"0"}}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-7"}},{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"2"}}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"}},"parameters":[],"result":{"element":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"kind":"list"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-checked-signed/provenance.json b/compiler/rust/rust-std/fixed-checked-signed/provenance.json index 59757a3f4..c4842f7b8 100644 --- a/compiler/rust/rust-std/fixed-checked-signed/provenance.json +++ b/compiler/rust/rust-std/fixed-checked-signed/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"4964e71a361318314437bb557b92bbfb39faac25f1e67555316f7f10e993811b","src/lib.rs":"d57c8b8ca18aa96b1cf4b88d8895939a4e3f1487e5eecf66bf29787452801c32"},"name":"fixed_checked_signed_std","profile":"rust-std","program":"9f5fded1de374e8c05f3da2df5057e3c1f4648b06ed06dae7f3940179f3bea93","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"4964e71a361318314437bb557b92bbfb39faac25f1e67555316f7f10e993811b","src/lib.rs":"d57c8b8ca18aa96b1cf4b88d8895939a4e3f1487e5eecf66bf29787452801c32"},"name":"fixed_checked_signed_std","profile":"rust-std","program":"9f5fded1de374e8c05f3da2df5057e3c1f4648b06ed06dae7f3940179f3bea93","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-checked-wide/package.json b/compiler/rust/rust-std/fixed-checked-wide/package.json index 2137c8b9d..88468d777 100644 --- a/compiler/rust/rust-std/fixed-checked-wide/package.json +++ b/compiler/rust/rust-std/fixed-checked-wide/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"fixed_checked_wide_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"9223372036854775807"}},{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"1"}}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"-9223372036854775808"}},{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"1"}}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"-9223372036854775808"}},{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"-1"}}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"-3037000499"}},{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"3037000499"}}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"-9223372036854775808"}},{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"-1"}}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"-9223372036854775808"}},{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"7"}}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"-9223372036854775808"}}],"operation":{"kind":"checked_neg"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"kind":"list"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"18446744073709551615"}},{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"1"}}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"0"}},{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"1"}}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"4294967296"}},{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"4294967296"}}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"4294967295"}},{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"4294967297"}}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"18446744073709551615"}},{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"16"}}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"kind":"list"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"kind":"list"}}},"parameters":[],"result":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"kind":"list"}},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"fixed_checked_wide_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"9223372036854775807"}},{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"1"}}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"-9223372036854775808"}},{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"1"}}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"-9223372036854775808"}},{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"-1"}}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"-3037000499"}},{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"3037000499"}}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"-9223372036854775808"}},{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"-1"}}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"-9223372036854775808"}},{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"7"}}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"-9223372036854775808"}}],"operation":{"kind":"checked_neg"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"kind":"list"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"18446744073709551615"}},{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"1"}}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"0"}},{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"1"}}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"4294967296"}},{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"4294967296"}}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"4294967295"}},{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"4294967297"}}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"18446744073709551615"}},{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"16"}}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"kind":"list"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"kind":"list"}}},"parameters":[],"result":{"kind":"pair","left":{"element":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"kind":"list"},"right":{"element":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"kind":"list"}},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-checked-wide/provenance.json b/compiler/rust/rust-std/fixed-checked-wide/provenance.json index 9190cfb06..152e341a2 100644 --- a/compiler/rust/rust-std/fixed-checked-wide/provenance.json +++ b/compiler/rust/rust-std/fixed-checked-wide/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"b12ee21dde2e598d2f7df74efab7b21048a8aeb5d06d664f2cf68179f108f9e4","src/lib.rs":"c5341c261169122a9d2e7dee4534ea00e07636647a7fa986a3b84d7472cad1d5"},"name":"fixed_checked_wide_std","profile":"rust-std","program":"a7dd87527d7b8a8f41e5ceb6fe7da703c570fd388f042f5977421e66fb77f2f8","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"b12ee21dde2e598d2f7df74efab7b21048a8aeb5d06d664f2cf68179f108f9e4","src/lib.rs":"c5341c261169122a9d2e7dee4534ea00e07636647a7fa986a3b84d7472cad1d5"},"name":"fixed_checked_wide_std","profile":"rust-std","program":"a7dd87527d7b8a8f41e5ceb6fe7da703c570fd388f042f5977421e66fb77f2f8","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-decimal-i16/package.json b/compiler/rust/rust-std/fixed-decimal-i16/package.json index 50f98dd0a..4b34f8c3d 100644 --- a/compiler/rust/rust-std/fixed-decimal-i16/package.json +++ b/compiler/rust/rust-std/fixed-decimal-i16/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"fixed_decimal_i16_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"format_decimal"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"parse_decimal","target":{"kind":"fixed","width":"i16"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"i16"}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"i16"}}},"types":[{"kind":"fixed","width":"i16"},{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"fixed_decimal_i16_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"format_decimal"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"parse_decimal","target":{"kind":"fixed","width":"i16"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"i16"}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"i16"}}},"types":[{"kind":"fixed","width":"i16"},{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-decimal-i16/provenance.json b/compiler/rust/rust-std/fixed-decimal-i16/provenance.json index 905666e2b..0ba27ab4b 100644 --- a/compiler/rust/rust-std/fixed-decimal-i16/provenance.json +++ b/compiler/rust/rust-std/fixed-decimal-i16/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"a59d41814aa524370e84433f7d33372cab7324ce572f8f096477f475432a8d33","src/lib.rs":"6ea4209d9311ec748dfb89582c9ca3a1ce94bb31c850a7408332d64cc8e3d19f"},"name":"fixed_decimal_i16_std","profile":"rust-std","program":"89b37d79a3be04d78ab73a737c875066a8b6015505ff7d08345f978955598638","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"a59d41814aa524370e84433f7d33372cab7324ce572f8f096477f475432a8d33","src/lib.rs":"6ea4209d9311ec748dfb89582c9ca3a1ce94bb31c850a7408332d64cc8e3d19f"},"name":"fixed_decimal_i16_std","profile":"rust-std","program":"89b37d79a3be04d78ab73a737c875066a8b6015505ff7d08345f978955598638","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-decimal-i32/package.json b/compiler/rust/rust-std/fixed-decimal-i32/package.json index c22b46598..2c1dd1ace 100644 --- a/compiler/rust/rust-std/fixed-decimal-i32/package.json +++ b/compiler/rust/rust-std/fixed-decimal-i32/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"fixed_decimal_i32_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"format_decimal"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"parse_decimal","target":{"kind":"fixed","width":"i32"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"i32"}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"i32"}}},"types":[{"kind":"fixed","width":"i32"},{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"fixed_decimal_i32_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"format_decimal"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"parse_decimal","target":{"kind":"fixed","width":"i32"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"i32"}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"i32"}}},"types":[{"kind":"fixed","width":"i32"},{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-decimal-i32/provenance.json b/compiler/rust/rust-std/fixed-decimal-i32/provenance.json index 4ef307eff..9d2e185b4 100644 --- a/compiler/rust/rust-std/fixed-decimal-i32/provenance.json +++ b/compiler/rust/rust-std/fixed-decimal-i32/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"6588c07da677119bd26c26a1eba39e8f490e5e0834e2744e4157b9e818a5ea04","src/lib.rs":"522dd2bf570a358a252a34f712a1bca3eac9e735ea192160d646963cf261cde3"},"name":"fixed_decimal_i32_std","profile":"rust-std","program":"c82e9607bcb2b657ef8a24e7eee7b6eb956668a53f03f6ee5b40f5789e511dfd","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"6588c07da677119bd26c26a1eba39e8f490e5e0834e2744e4157b9e818a5ea04","src/lib.rs":"522dd2bf570a358a252a34f712a1bca3eac9e735ea192160d646963cf261cde3"},"name":"fixed_decimal_i32_std","profile":"rust-std","program":"c82e9607bcb2b657ef8a24e7eee7b6eb956668a53f03f6ee5b40f5789e511dfd","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-decimal-i64/package.json b/compiler/rust/rust-std/fixed-decimal-i64/package.json index 1eb1b8f1e..1dfc0e2d4 100644 --- a/compiler/rust/rust-std/fixed-decimal-i64/package.json +++ b/compiler/rust/rust-std/fixed-decimal-i64/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"fixed_decimal_i64_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"format_decimal"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"parse_decimal","target":{"kind":"fixed","width":"i64"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"i64"}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"i64"}}},"types":[{"kind":"fixed","width":"i64"},{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"fixed_decimal_i64_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"format_decimal"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"parse_decimal","target":{"kind":"fixed","width":"i64"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"i64"}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"i64"}}},"types":[{"kind":"fixed","width":"i64"},{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-decimal-i64/provenance.json b/compiler/rust/rust-std/fixed-decimal-i64/provenance.json index 33a71244d..43db88f89 100644 --- a/compiler/rust/rust-std/fixed-decimal-i64/provenance.json +++ b/compiler/rust/rust-std/fixed-decimal-i64/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"6249ebde29c7bf618a1221eacd8f2dcbcf2f42eaf2a9688a3ffa9fec5288c829","src/lib.rs":"62401bb3dac69e30842c0cebd580ff360d7cc3dc09c81c99fe128817a5a7f039"},"name":"fixed_decimal_i64_std","profile":"rust-std","program":"785d836fa54d435e12beb5276622ea28adae2cee3ba08424c06eea5aab25ba29","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"6249ebde29c7bf618a1221eacd8f2dcbcf2f42eaf2a9688a3ffa9fec5288c829","src/lib.rs":"62401bb3dac69e30842c0cebd580ff360d7cc3dc09c81c99fe128817a5a7f039"},"name":"fixed_decimal_i64_std","profile":"rust-std","program":"785d836fa54d435e12beb5276622ea28adae2cee3ba08424c06eea5aab25ba29","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-decimal-i8/package.json b/compiler/rust/rust-std/fixed-decimal-i8/package.json index fce7166f0..88d37a7ec 100644 --- a/compiler/rust/rust-std/fixed-decimal-i8/package.json +++ b/compiler/rust/rust-std/fixed-decimal-i8/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"fixed_decimal_i8_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"format_decimal"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"parse_decimal","target":{"kind":"fixed","width":"i8"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"i8"}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"i8"}}},"types":[{"kind":"fixed","width":"i8"},{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"fixed_decimal_i8_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"format_decimal"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"parse_decimal","target":{"kind":"fixed","width":"i8"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"i8"}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"i8"}}},"types":[{"kind":"fixed","width":"i8"},{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-decimal-i8/provenance.json b/compiler/rust/rust-std/fixed-decimal-i8/provenance.json index d67daf4fd..daca780cf 100644 --- a/compiler/rust/rust-std/fixed-decimal-i8/provenance.json +++ b/compiler/rust/rust-std/fixed-decimal-i8/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"4a405fe7ecb7b3b184653f976db65e74d29ec3c4beae0232fab83fe1e664f1ea","src/lib.rs":"48a11400a02155faf4c2145ed34925458d901ceaa7eeb182af46817ebeac723b"},"name":"fixed_decimal_i8_std","profile":"rust-std","program":"14a60e07970669a503125f5b991dfb159f254255caa1497e52d9abb25c61de84","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"4a405fe7ecb7b3b184653f976db65e74d29ec3c4beae0232fab83fe1e664f1ea","src/lib.rs":"48a11400a02155faf4c2145ed34925458d901ceaa7eeb182af46817ebeac723b"},"name":"fixed_decimal_i8_std","profile":"rust-std","program":"14a60e07970669a503125f5b991dfb159f254255caa1497e52d9abb25c61de84","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-decimal-u16/package.json b/compiler/rust/rust-std/fixed-decimal-u16/package.json index 0351911b8..e6a24d105 100644 --- a/compiler/rust/rust-std/fixed-decimal-u16/package.json +++ b/compiler/rust/rust-std/fixed-decimal-u16/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"fixed_decimal_u16_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"format_decimal"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"parse_decimal","target":{"kind":"fixed","width":"u16"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"u16"}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"u16"}}},"types":[{"kind":"fixed","width":"u16"},{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"fixed_decimal_u16_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"format_decimal"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"parse_decimal","target":{"kind":"fixed","width":"u16"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"u16"}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"u16"}}},"types":[{"kind":"fixed","width":"u16"},{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-decimal-u16/provenance.json b/compiler/rust/rust-std/fixed-decimal-u16/provenance.json index 1c2dbc9f4..f1844a3ca 100644 --- a/compiler/rust/rust-std/fixed-decimal-u16/provenance.json +++ b/compiler/rust/rust-std/fixed-decimal-u16/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"21e8c7595089e11ff728aac7ebb0bb09602e02b6513fb4e90dc6346e3e4af84f","src/lib.rs":"7b4595b5e02b9e307668b4ec4d3e139d76ccc5550767f09aa00c714dd7432cd6"},"name":"fixed_decimal_u16_std","profile":"rust-std","program":"f1a32f6ce00adfb60b0c9f4c5069d16f9fc4887d5cd07876af1c9918f998d21a","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"21e8c7595089e11ff728aac7ebb0bb09602e02b6513fb4e90dc6346e3e4af84f","src/lib.rs":"7b4595b5e02b9e307668b4ec4d3e139d76ccc5550767f09aa00c714dd7432cd6"},"name":"fixed_decimal_u16_std","profile":"rust-std","program":"f1a32f6ce00adfb60b0c9f4c5069d16f9fc4887d5cd07876af1c9918f998d21a","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-decimal-u32/package.json b/compiler/rust/rust-std/fixed-decimal-u32/package.json index 2885dd572..c934a73d4 100644 --- a/compiler/rust/rust-std/fixed-decimal-u32/package.json +++ b/compiler/rust/rust-std/fixed-decimal-u32/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"fixed_decimal_u32_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"format_decimal"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"parse_decimal","target":{"kind":"fixed","width":"u32"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"u32"}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"u32"}}},"types":[{"kind":"fixed","width":"u32"},{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"fixed_decimal_u32_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"format_decimal"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"parse_decimal","target":{"kind":"fixed","width":"u32"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"u32"}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"u32"}}},"types":[{"kind":"fixed","width":"u32"},{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-decimal-u32/provenance.json b/compiler/rust/rust-std/fixed-decimal-u32/provenance.json index d849bfa77..5112822a2 100644 --- a/compiler/rust/rust-std/fixed-decimal-u32/provenance.json +++ b/compiler/rust/rust-std/fixed-decimal-u32/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"adc66c6240acbd13cd6d2f31d3a5187f2a97773e864635bb1fb41f73e73bd75f","src/lib.rs":"fa4904b35271fd7bc08c7a6a1a8efdcc59359821fe1cc8222488bd8aa8664d47"},"name":"fixed_decimal_u32_std","profile":"rust-std","program":"bb8e626dc5598c29492979bc05547188e293b3a89987a866d6f7b5cbde14fa30","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"adc66c6240acbd13cd6d2f31d3a5187f2a97773e864635bb1fb41f73e73bd75f","src/lib.rs":"fa4904b35271fd7bc08c7a6a1a8efdcc59359821fe1cc8222488bd8aa8664d47"},"name":"fixed_decimal_u32_std","profile":"rust-std","program":"bb8e626dc5598c29492979bc05547188e293b3a89987a866d6f7b5cbde14fa30","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-decimal-u64/package.json b/compiler/rust/rust-std/fixed-decimal-u64/package.json index f17d9c1aa..597727e8a 100644 --- a/compiler/rust/rust-std/fixed-decimal-u64/package.json +++ b/compiler/rust/rust-std/fixed-decimal-u64/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"fixed_decimal_u64_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"format_decimal"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"parse_decimal","target":{"kind":"fixed","width":"u64"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"u64"}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"u64"}}},"types":[{"kind":"fixed","width":"u64"},{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"fixed_decimal_u64_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"format_decimal"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"parse_decimal","target":{"kind":"fixed","width":"u64"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"u64"}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"u64"}}},"types":[{"kind":"fixed","width":"u64"},{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-decimal-u64/provenance.json b/compiler/rust/rust-std/fixed-decimal-u64/provenance.json index 50039209d..90936d956 100644 --- a/compiler/rust/rust-std/fixed-decimal-u64/provenance.json +++ b/compiler/rust/rust-std/fixed-decimal-u64/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"f32638b5b0e4c7880f7e3825207ed5be713ff9ee28078dfecdc0733610a25fb7","src/lib.rs":"037401fb04368ce8cbfab87738220f41338f1297ae230272af61a1955af1d4fc"},"name":"fixed_decimal_u64_std","profile":"rust-std","program":"5ae83fff2b2b4e34046e3dc348d93ee8db42c5bfe95f4cdce6f67ef2808a6d3c","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"f32638b5b0e4c7880f7e3825207ed5be713ff9ee28078dfecdc0733610a25fb7","src/lib.rs":"037401fb04368ce8cbfab87738220f41338f1297ae230272af61a1955af1d4fc"},"name":"fixed_decimal_u64_std","profile":"rust-std","program":"5ae83fff2b2b4e34046e3dc348d93ee8db42c5bfe95f4cdce6f67ef2808a6d3c","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-decimal-u8/package.json b/compiler/rust/rust-std/fixed-decimal-u8/package.json index 247fdb367..aaeffd142 100644 --- a/compiler/rust/rust-std/fixed-decimal-u8/package.json +++ b/compiler/rust/rust-std/fixed-decimal-u8/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"fixed_decimal_u8_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"format_decimal"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"parse_decimal","target":{"kind":"fixed","width":"u8"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"u8"}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"u8"}}},"types":[{"kind":"fixed","width":"u8"},{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"fixed_decimal_u8_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"format_decimal"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"parse_decimal","target":{"kind":"fixed","width":"u8"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"u8"}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"option","value":{"kind":"fixed","width":"u8"}}},"types":[{"kind":"fixed","width":"u8"},{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-decimal-u8/provenance.json b/compiler/rust/rust-std/fixed-decimal-u8/provenance.json index 3e0d2c881..651b7a02c 100644 --- a/compiler/rust/rust-std/fixed-decimal-u8/provenance.json +++ b/compiler/rust/rust-std/fixed-decimal-u8/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"5cf821591b25b595bfb765eef85ae77e20e0da9fb292ef3ceff8cc0cf3b0c530","src/lib.rs":"0b01c22de8dcd4d1f7d02e13a14f753b89af89f749450dc864c75dac2c330f96"},"name":"fixed_decimal_u8_std","profile":"rust-std","program":"e6b650c8e38c51cacdff8d110e4d9583226d457160f3dd2ba10bb725f9a2d751","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"5cf821591b25b595bfb765eef85ae77e20e0da9fb292ef3ceff8cc0cf3b0c530","src/lib.rs":"0b01c22de8dcd4d1f7d02e13a14f753b89af89f749450dc864c75dac2c330f96"},"name":"fixed_decimal_u8_std","profile":"rust-std","program":"e6b650c8e38c51cacdff8d110e4d9583226d457160f3dd2ba10bb725f9a2d751","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-width-i16/package.json b/compiler/rust/rust-std/fixed-width-i16/package.json index 1c6ca8e18..054f6b0cb 100644 --- a/compiler/rust/rust-std/fixed-width-i16/package.json +++ b/compiler/rust/rust-std/fixed-width-i16/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_i16_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"checked_neg"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"16"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"i16"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"i16"},{"kind":"fixed","width":"i16"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_i16_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"checked_neg"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"16"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"i16"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"i16"},{"kind":"fixed","width":"i16"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-width-i16/provenance.json b/compiler/rust/rust-std/fixed-width-i16/provenance.json index 2c38711de..d7c7cb3c9 100644 --- a/compiler/rust/rust-std/fixed-width-i16/provenance.json +++ b/compiler/rust/rust-std/fixed-width-i16/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ac3e941463beedf8f36065be8c6bc2dab16ae4493e1b932b25021d45792f9bb5","src/lib.rs":"0fe14e563b17aa0e7023ec82925f8461eb64c0d8b7e8cd81b6d78bbb01d375b2"},"name":"fixed_width_i16_std","profile":"rust-std","program":"23f1a6e3b665ccabf568dce2bcfd6ca2247170568ae24f097dc9f260f0d2369e","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ac3e941463beedf8f36065be8c6bc2dab16ae4493e1b932b25021d45792f9bb5","src/lib.rs":"0fe14e563b17aa0e7023ec82925f8461eb64c0d8b7e8cd81b6d78bbb01d375b2"},"name":"fixed_width_i16_std","profile":"rust-std","program":"23f1a6e3b665ccabf568dce2bcfd6ca2247170568ae24f097dc9f260f0d2369e","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-width-i32/package.json b/compiler/rust/rust-std/fixed-width-i32/package.json index be44663ca..f5af46de9 100644 --- a/compiler/rust/rust-std/fixed-width-i32/package.json +++ b/compiler/rust/rust-std/fixed-width-i32/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_i32_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"checked_neg"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"32"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"i32"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"i32"},{"kind":"fixed","width":"i32"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_i32_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"checked_neg"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"32"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"i32"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"i32"},{"kind":"fixed","width":"i32"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-width-i32/provenance.json b/compiler/rust/rust-std/fixed-width-i32/provenance.json index d85ce0ebb..646a5670a 100644 --- a/compiler/rust/rust-std/fixed-width-i32/provenance.json +++ b/compiler/rust/rust-std/fixed-width-i32/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"6582666bf5c49fdb65bcb1ac6fd4bc1231bad9b5048bb365a05bd3de00fb3c07","src/lib.rs":"801b1676ee623f1037e12fa29dcbdbe7cf2a07e6ea19d20cdf48885bd63f51b7"},"name":"fixed_width_i32_std","profile":"rust-std","program":"a55c0f3839fd471d83e04fe51ad076da864407a9027bc8225331cb1e562880ee","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"6582666bf5c49fdb65bcb1ac6fd4bc1231bad9b5048bb365a05bd3de00fb3c07","src/lib.rs":"801b1676ee623f1037e12fa29dcbdbe7cf2a07e6ea19d20cdf48885bd63f51b7"},"name":"fixed_width_i32_std","profile":"rust-std","program":"a55c0f3839fd471d83e04fe51ad076da864407a9027bc8225331cb1e562880ee","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-width-i64/package.json b/compiler/rust/rust-std/fixed-width-i64/package.json index 98d0b82c9..73466e2f2 100644 --- a/compiler/rust/rust-std/fixed-width-i64/package.json +++ b/compiler/rust/rust-std/fixed-width-i64/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_i64_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"checked_neg"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"64"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"i64"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"i64"},{"kind":"fixed","width":"i64"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_i64_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"checked_neg"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"64"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"i64"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"i64"},{"kind":"fixed","width":"i64"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-width-i64/provenance.json b/compiler/rust/rust-std/fixed-width-i64/provenance.json index 41cc89d62..f1c8786da 100644 --- a/compiler/rust/rust-std/fixed-width-i64/provenance.json +++ b/compiler/rust/rust-std/fixed-width-i64/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"cde911b169deaabeb45fab6fdda2b9f2eae776b91ee419c40331bfd5812c48af","src/lib.rs":"6a9ed2eead6111996e8e87e37bf6c127e4f488885243f5b4d71961ce3d252efa"},"name":"fixed_width_i64_std","profile":"rust-std","program":"bf6c9acc0c25eb22d8c1deb59574ad70d65f06123c556ed17e1b7c5bbc5aa902","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"cde911b169deaabeb45fab6fdda2b9f2eae776b91ee419c40331bfd5812c48af","src/lib.rs":"6a9ed2eead6111996e8e87e37bf6c127e4f488885243f5b4d71961ce3d252efa"},"name":"fixed_width_i64_std","profile":"rust-std","program":"bf6c9acc0c25eb22d8c1deb59574ad70d65f06123c556ed17e1b7c5bbc5aa902","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-width-i8/package.json b/compiler/rust/rust-std/fixed-width-i8/package.json index 557bb2ff9..b3b68c122 100644 --- a/compiler/rust/rust-std/fixed-width-i8/package.json +++ b/compiler/rust/rust-std/fixed-width-i8/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_i8_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"checked_neg"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"8"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"i8"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"i8"},{"kind":"fixed","width":"i8"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_i8_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"checked_neg"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"8"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"i8"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"i8"},{"kind":"fixed","width":"i8"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-width-i8/provenance.json b/compiler/rust/rust-std/fixed-width-i8/provenance.json index 598db63c9..220e3f433 100644 --- a/compiler/rust/rust-std/fixed-width-i8/provenance.json +++ b/compiler/rust/rust-std/fixed-width-i8/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"0d77a1e1b8ac41d3b057dfd7e202ecc9ce54669755cbdb58c61e4a9e92e37eeb","src/lib.rs":"e4b66e46b712ccf3e6c6153a6ed2978ba817eda5b0f9e561fade6d5c4d5cadbb"},"name":"fixed_width_i8_std","profile":"rust-std","program":"d57d16e24c0ae93fc46223897266514db7bf77781397039e12b9f8781e3b6631","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"0d77a1e1b8ac41d3b057dfd7e202ecc9ce54669755cbdb58c61e4a9e92e37eeb","src/lib.rs":"e4b66e46b712ccf3e6c6153a6ed2978ba817eda5b0f9e561fade6d5c4d5cadbb"},"name":"fixed_width_i8_std","profile":"rust-std","program":"d57d16e24c0ae93fc46223897266514db7bf77781397039e12b9f8781e3b6631","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-width-u16/package.json b/compiler/rust/rust-std/fixed-width-u16/package.json index 731c4b538..2c9a96420 100644 --- a/compiler/rust/rust-std/fixed-width-u16/package.json +++ b/compiler/rust/rust-std/fixed-width-u16/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_u16_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"16"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"u16"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"u16"},{"kind":"fixed","width":"u16"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_u16_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"16"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"u16"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"u16"},{"kind":"fixed","width":"u16"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-width-u16/provenance.json b/compiler/rust/rust-std/fixed-width-u16/provenance.json index fdcd5836e..85794cb72 100644 --- a/compiler/rust/rust-std/fixed-width-u16/provenance.json +++ b/compiler/rust/rust-std/fixed-width-u16/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"9f5d626f7aa7566339d1b44ae264c3fb6fa6c4aa24d381558907e415a6176e2e","src/lib.rs":"b16bf3ba972a1fa7386094b346da2d58c0b8a70a3dda08668da9332b063df634"},"name":"fixed_width_u16_std","profile":"rust-std","program":"9b805d1f67c7b7fa48388bf6b3921d64f311b660e5894d4c4ad299390f0ef380","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"9f5d626f7aa7566339d1b44ae264c3fb6fa6c4aa24d381558907e415a6176e2e","src/lib.rs":"b16bf3ba972a1fa7386094b346da2d58c0b8a70a3dda08668da9332b063df634"},"name":"fixed_width_u16_std","profile":"rust-std","program":"9b805d1f67c7b7fa48388bf6b3921d64f311b660e5894d4c4ad299390f0ef380","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-width-u32/package.json b/compiler/rust/rust-std/fixed-width-u32/package.json index 758eb05f6..d449a7c01 100644 --- a/compiler/rust/rust-std/fixed-width-u32/package.json +++ b/compiler/rust/rust-std/fixed-width-u32/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_u32_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"32"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"u32"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"u32"},{"kind":"fixed","width":"u32"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_u32_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"32"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"u32"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u32"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"u32"},{"kind":"fixed","width":"u32"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-width-u32/provenance.json b/compiler/rust/rust-std/fixed-width-u32/provenance.json index b247af657..37081ecd2 100644 --- a/compiler/rust/rust-std/fixed-width-u32/provenance.json +++ b/compiler/rust/rust-std/fixed-width-u32/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"2a6cff29ea67e59a4eedd7ae9b392f9b5a161aa68a1063c3e41170125f48d60e","src/lib.rs":"1adbe48dbd2f66a6210fd75661c391a42326fadc9a9eff950750ad9d6c8da9bb"},"name":"fixed_width_u32_std","profile":"rust-std","program":"b0d32e1ba47aad96742baed7ac5cc12f337d84e7d478c3d00ed0992be2861fe1","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"2a6cff29ea67e59a4eedd7ae9b392f9b5a161aa68a1063c3e41170125f48d60e","src/lib.rs":"1adbe48dbd2f66a6210fd75661c391a42326fadc9a9eff950750ad9d6c8da9bb"},"name":"fixed_width_u32_std","profile":"rust-std","program":"b0d32e1ba47aad96742baed7ac5cc12f337d84e7d478c3d00ed0992be2861fe1","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-width-u64/package.json b/compiler/rust/rust-std/fixed-width-u64/package.json index 7af5c334a..37f66f0f8 100644 --- a/compiler/rust/rust-std/fixed-width-u64/package.json +++ b/compiler/rust/rust-std/fixed-width-u64/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_u64_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"64"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"u64"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"u64"},{"kind":"fixed","width":"u64"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_u64_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"64"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"u64"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u64"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"u64"},{"kind":"fixed","width":"u64"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-width-u64/provenance.json b/compiler/rust/rust-std/fixed-width-u64/provenance.json index da7c2daed..7e8e672ea 100644 --- a/compiler/rust/rust-std/fixed-width-u64/provenance.json +++ b/compiler/rust/rust-std/fixed-width-u64/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ec73f29a9126ee2d49de7fc1ad07cd8266830795de2e25887e20b3c51bb0b6c0","src/lib.rs":"09e06b1818312060acbb808fc9cc7716b6851a6ea0b0018872cb92a8665e2354"},"name":"fixed_width_u64_std","profile":"rust-std","program":"d173c6c0813a7ca7f471cf3a55f2a25c4771bbeea58ca9cd42e5ee35e352fc43","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ec73f29a9126ee2d49de7fc1ad07cd8266830795de2e25887e20b3c51bb0b6c0","src/lib.rs":"09e06b1818312060acbb808fc9cc7716b6851a6ea0b0018872cb92a8665e2354"},"name":"fixed_width_u64_std","profile":"rust-std","program":"d173c6c0813a7ca7f471cf3a55f2a25c4771bbeea58ca9cd42e5ee35e352fc43","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-width-u8-passing/package.json b/compiler/rust/rust-std/fixed-width-u8-passing/package.json index 39071f45c..b48698c6d 100644 --- a/compiler/rust/rust-std/fixed-width-u8-passing/package.json +++ b/compiler/rust/rust-std/fixed-width-u8-passing/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["copy","borrow","own"]}],"name":"fixed_width_u8_passing_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"8"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"u8"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"u8"},{"kind":"fixed","width":"u8"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["copy","borrow","own"]}],"name":"fixed_width_u8_passing_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"8"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"u8"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"u8"},{"kind":"fixed","width":"u8"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-width-u8-passing/provenance.json b/compiler/rust/rust-std/fixed-width-u8-passing/provenance.json index bc39409ef..e73f77aaa 100644 --- a/compiler/rust/rust-std/fixed-width-u8-passing/provenance.json +++ b/compiler/rust/rust-std/fixed-width-u8-passing/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"548ed7c45bd87abc6ff3a1939949401dbb6e6e30ac8975aa0f4b1778321f9855","src/lib.rs":"0370e79ec900b45a87a8d0e849cbb62900b547c3e9473a35d10cbf2a8bdad077"},"name":"fixed_width_u8_passing_std","profile":"rust-std","program":"10a50859bd6fdf829c844b5c4758a464f5524865ef0b64f63cf0e9bb838c1d8d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"548ed7c45bd87abc6ff3a1939949401dbb6e6e30ac8975aa0f4b1778321f9855","src/lib.rs":"0370e79ec900b45a87a8d0e849cbb62900b547c3e9473a35d10cbf2a8bdad077"},"name":"fixed_width_u8_passing_std","profile":"rust-std","program":"10a50859bd6fdf829c844b5c4758a464f5524865ef0b64f63cf0e9bb838c1d8d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-width-u8/package.json b/compiler/rust/rust-std/fixed-width-u8/package.json index 0bbc77176..158914ec7 100644 --- a/compiler/rust/rust-std/fixed-width-u8/package.json +++ b/compiler/rust/rust-std/fixed-width-u8/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_u8_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"8"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"u8"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"u8"},{"kind":"fixed","width":"u8"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_width_u8_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_right"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"8"}}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"300"}}],"operation":{"kind":"convert","target":"u8"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"compare"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u8"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"ordering"}}}}}}}}}}}}}},"types":[{"kind":"fixed","width":"u8"},{"kind":"fixed","width":"u8"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/fixed-width-u8/provenance.json b/compiler/rust/rust-std/fixed-width-u8/provenance.json index 89775501a..66cb68991 100644 --- a/compiler/rust/rust-std/fixed-width-u8/provenance.json +++ b/compiler/rust/rust-std/fixed-width-u8/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"18452ebfe5322a5e89f00aff96f6358ea98f50af4e8d59f35f549aa2e332d92f","src/lib.rs":"f2ed99f614b9d9c0457bb15fc00a45e7ad8b49446b461d5ec33eac11646947e1"},"name":"fixed_width_u8_std","profile":"rust-std","program":"10a50859bd6fdf829c844b5c4758a464f5524865ef0b64f63cf0e9bb838c1d8d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"18452ebfe5322a5e89f00aff96f6358ea98f50af4e8d59f35f549aa2e332d92f","src/lib.rs":"f2ed99f614b9d9c0457bb15fc00a45e7ad8b49446b461d5ec33eac11646947e1"},"name":"fixed_width_u8_std","profile":"rust-std","program":"10a50859bd6fdf829c844b5c4758a464f5524865ef0b64f63cf0e9bb838c1d8d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/function-shapes/package.json b/compiler/rust/rust-std/function-shapes/package.json index c320dc8ee..579fced82 100644 --- a/compiler/rust/rust-std/function-shapes/package.json +++ b/compiler/rust/rust-std/function-shapes/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"function_shapes_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"value","type":{"kind":"option","value":{"kind":"nat"}},"value":{"kind":"some","value":{"kind":"nat","value":"3"}}}]},{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"value","type":{"kind":"option","value":{"kind":"nat"}},"value":{"kind":"some","value":{"kind":"nat","value":"4"}}}]},{"kind":"build","operands":[{"function":3,"kind":"call","operands":[{"kind":"value","type":{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}},"value":{"kind":"ok","value":{"kind":"nat","value":"5"}}}]},{"kind":"build","operands":[{"function":4,"kind":"call","operands":[{"kind":"value","type":{"kind":"option","value":{"kind":"nat"}},"value":{"kind":"none"}}]},{"kind":"build","operands":[{"function":5,"kind":"call","operands":[{"kind":"value","type":{"kind":"option","value":{"kind":"nat"}},"value":{"kind":"some","value":{"kind":"nat","value":"6"}}}]},{"kind":"build","operands":[{"function":6,"kind":"call","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"9"}}]},{"kind":"build","operands":[{"function":7,"kind":"call","operands":[{"kind":"value","type":{"kind":"bool"},"value":{"kind":"bool","value":false}}]},{"kind":"build","operands":[{"function":8,"kind":"call","operands":[{"kind":"value","type":{"index":0,"kind":"adt"},"value":{"constructor":0,"fields":[{"kind":"nat","value":"1"},{"kind":"nat","value":"2"}],"kind":"adt"}}]},{"function":9,"kind":"call","operands":[{"kind":"value","type":{"kind":"option","value":{"kind":"nat"}},"value":{"kind":"some","value":{"kind":"nat","value":"1"}}}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}}}},"parameters":[],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}}},"types":[]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"option","value":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_sub"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"option","value":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[1],"body":{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"ok"}},{"binders":[2],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"error"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"none"}},{"binders":[1],"body":{"kind":"var","name":1},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"option","value":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"7"}},"shape":{"kind":"none"}},{"binders":[1],"body":{"kind":"var","name":1},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"option","value":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"var","name":1},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"var","name":0},"else_branch":{"condition":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"else_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"200"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"200"}}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"bool"}]},{"body":{"index":0,"kind":"field","value":{"arms":[{"binders":[1,2],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"var","name":1}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"shape":{"constructor":0,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"index":0,"kind":"adt"}}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":10,"kind":"call","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}]},"shape":{"kind":"none"}},{"binders":[1],"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"unit"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"option","value":{"kind":"nat"}}]},{"body":{"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"kind":"let","name":1,"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"function_shapes_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"value","type":{"kind":"option","value":{"kind":"nat"}},"value":{"kind":"some","value":{"kind":"nat","value":"3"}}}]},{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"value","type":{"kind":"option","value":{"kind":"nat"}},"value":{"kind":"some","value":{"kind":"nat","value":"4"}}}]},{"kind":"build","operands":[{"function":3,"kind":"call","operands":[{"kind":"value","type":{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}},"value":{"kind":"ok","value":{"kind":"nat","value":"5"}}}]},{"kind":"build","operands":[{"function":4,"kind":"call","operands":[{"kind":"value","type":{"kind":"option","value":{"kind":"nat"}},"value":{"kind":"none"}}]},{"kind":"build","operands":[{"function":5,"kind":"call","operands":[{"kind":"value","type":{"kind":"option","value":{"kind":"nat"}},"value":{"kind":"some","value":{"kind":"nat","value":"6"}}}]},{"kind":"build","operands":[{"function":6,"kind":"call","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"9"}}]},{"kind":"build","operands":[{"function":7,"kind":"call","operands":[{"kind":"value","type":{"kind":"bool"},"value":{"kind":"bool","value":false}}]},{"kind":"build","operands":[{"function":8,"kind":"call","operands":[{"kind":"value","type":{"index":0,"kind":"adt"},"value":{"constructor":0,"fields":[{"kind":"nat","value":"1"},{"kind":"nat","value":"2"}],"kind":"adt"}}]},{"function":9,"kind":"call","operands":[{"kind":"value","type":{"kind":"option","value":{"kind":"nat"}},"value":{"kind":"some","value":{"kind":"nat","value":"1"}}}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}}}},"parameters":[],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}}},"types":[]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"option","value":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_sub"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"option","value":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[1],"body":{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"ok"}},{"binders":[2],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"error"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"none"}},{"binders":[1],"body":{"kind":"var","name":1},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"option","value":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"7"}},"shape":{"kind":"none"}},{"binders":[1],"body":{"kind":"var","name":1},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"option","value":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"var","name":1},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"var","name":0},"else_branch":{"condition":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"else_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"200"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"200"}}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"bool"}]},{"body":{"index":0,"kind":"field","value":{"arms":[{"binders":[1,2],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"var","name":1}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"shape":{"constructor":0,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"index":0,"kind":"adt"}}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":10,"kind":"call","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}]},"shape":{"kind":"none"}},{"binders":[1],"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"unit"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"option","value":{"kind":"nat"}}]},{"body":{"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"kind":"let","name":1,"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/function-shapes/provenance.json b/compiler/rust/rust-std/function-shapes/provenance.json index bcc93e9f0..cc28da275 100644 --- a/compiler/rust/rust-std/function-shapes/provenance.json +++ b/compiler/rust/rust-std/function-shapes/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"3720c9f130285e3c390b2b0046c6a9a7796f49ac243f1badb2c5b06d088fc912","src/lib.rs":"6635977a6aefcea9911c98821ae4f0c89e4b2ce949057eec28d55891bbb6b9b6"},"name":"function_shapes_std","profile":"rust-std","program":"5156d5b2edb83f9b58b89720da3005d24bde4f212a0a5f4d25175cc4ba0628e9","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"3720c9f130285e3c390b2b0046c6a9a7796f49ac243f1badb2c5b06d088fc912","src/lib.rs":"6635977a6aefcea9911c98821ae4f0c89e4b2ce949057eec28d55891bbb6b9b6"},"name":"function_shapes_std","profile":"rust-std","program":"5156d5b2edb83f9b58b89720da3005d24bde4f212a0a5f4d25175cc4ba0628e9","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/graph-reachable-absent/package.json b/compiler/rust/rust-std/graph-reachable-absent/package.json index f575eee63..ed9142a43 100644 --- a/compiler/rust/rust-std/graph-reachable-absent/package.json +++ b/compiler/rust/rust-std/graph-reachable-absent/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"graph_reachable_absent_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"prim","operands":[{"kind":"prim","operands":[{"function":11,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]}],"operation":{"kind":"length"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"zero"}},{"binders":[4],"body":{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"nil"}},{"binders":[6,7],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":4},{"kind":"var","name":5},{"function":9,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":5}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":5},"type":{"element":{"kind":"nat"},"kind":"list"}},"bound":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"kind":"let","name":5,"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2,3],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"nil"}},{"binders":[4,5],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":5},{"function":4,"kind":"call","operands":[{"kind":"var","name":1},{"function":5,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":4}]},{"kind":"var","name":3}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2,3],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":2},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":4,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":4},{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":2},{"kind":"var","name":3}]},"else_branch":{"function":8,"kind":"call","operands":[{"kind":"var","name":2},{"kind":"var","name":3}]},"kind":"cond","then_branch":{"kind":"var","name":2}},"kind":"cond","then_branch":{"kind":"var","name":2}}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"var","name":2},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":6,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":6,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"parameters":[0,1],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":7,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":8,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":9,"kind":"call","operands":[{"function":10,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},{"kind":"var","name":3}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":10,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":11,"kind":"call","operands":[{"kind":"var","name":3},{"function":12,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":2}},{"function":13,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}]}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":12,"kind":"call","operands":[{"kind":"var","name":3},{"function":13,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"var","name":2}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":13,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"graph_reachable_absent_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"prim","operands":[{"kind":"prim","operands":[{"function":11,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]}],"operation":{"kind":"length"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"zero"}},{"binders":[4],"body":{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"nil"}},{"binders":[6,7],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":4},{"kind":"var","name":5},{"function":9,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":5}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":5},"type":{"element":{"kind":"nat"},"kind":"list"}},"bound":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"kind":"let","name":5,"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2,3],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"nil"}},{"binders":[4,5],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":5},{"function":4,"kind":"call","operands":[{"kind":"var","name":1},{"function":5,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":4}]},{"kind":"var","name":3}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2,3],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":2},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":4,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":4},{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":2},{"kind":"var","name":3}]},"else_branch":{"function":8,"kind":"call","operands":[{"kind":"var","name":2},{"kind":"var","name":3}]},"kind":"cond","then_branch":{"kind":"var","name":2}},"kind":"cond","then_branch":{"kind":"var","name":2}}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"var","name":2},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":6,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":6,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"parameters":[0,1],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":7,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":8,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":9,"kind":"call","operands":[{"function":10,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},{"kind":"var","name":3}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":10,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":11,"kind":"call","operands":[{"kind":"var","name":3},{"function":12,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":2}},{"function":13,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}]}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":12,"kind":"call","operands":[{"kind":"var","name":3},{"function":13,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"var","name":2}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":13,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/graph-reachable-absent/provenance.json b/compiler/rust/rust-std/graph-reachable-absent/provenance.json index b1f72823a..728db5fa9 100644 --- a/compiler/rust/rust-std/graph-reachable-absent/provenance.json +++ b/compiler/rust/rust-std/graph-reachable-absent/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"0b2894d1c10b616bb5180d7a2efbdf1c8607ca584feee908c6d54f4920aac040","src/lib.rs":"e0f9f9498cc48964b8d873933bf9113da118746f98f1f0c609706161114d0e3c"},"name":"graph_reachable_absent_std","profile":"rust-std","program":"041e81a39e799bfc6ec17b360f2f9379382345aae6466d5338d3027f5523baa0","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"0b2894d1c10b616bb5180d7a2efbdf1c8607ca584feee908c6d54f4920aac040","src/lib.rs":"e0f9f9498cc48964b8d873933bf9113da118746f98f1f0c609706161114d0e3c"},"name":"graph_reachable_absent_std","profile":"rust-std","program":"041e81a39e799bfc6ec17b360f2f9379382345aae6466d5338d3027f5523baa0","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/graph-reachable-inner/package.json b/compiler/rust/rust-std/graph-reachable-inner/package.json index 6666e2a1d..72498e4c7 100644 --- a/compiler/rust/rust-std/graph-reachable-inner/package.json +++ b/compiler/rust/rust-std/graph-reachable-inner/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"graph_reachable_inner_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"prim","operands":[{"kind":"prim","operands":[{"function":11,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]}],"operation":{"kind":"length"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"zero"}},{"binders":[4],"body":{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"nil"}},{"binders":[6,7],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":4},{"kind":"var","name":5},{"function":9,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":5}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":5},"type":{"element":{"kind":"nat"},"kind":"list"}},"bound":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"kind":"let","name":5,"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2,3],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"nil"}},{"binders":[4,5],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":5},{"function":4,"kind":"call","operands":[{"kind":"var","name":1},{"function":5,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":4}]},{"kind":"var","name":3}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2,3],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":2},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":4,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":4},{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":2},{"kind":"var","name":3}]},"else_branch":{"function":8,"kind":"call","operands":[{"kind":"var","name":2},{"kind":"var","name":3}]},"kind":"cond","then_branch":{"kind":"var","name":2}},"kind":"cond","then_branch":{"kind":"var","name":2}}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"var","name":2},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":6,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":6,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"parameters":[0,1],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":7,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":8,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":9,"kind":"call","operands":[{"function":10,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},{"kind":"var","name":3}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":10,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":11,"kind":"call","operands":[{"kind":"var","name":3},{"function":12,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":2}},{"function":13,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}]}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":12,"kind":"call","operands":[{"kind":"var","name":3},{"function":13,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"var","name":2}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":13,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"graph_reachable_inner_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"prim","operands":[{"kind":"prim","operands":[{"function":11,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]}],"operation":{"kind":"length"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"zero"}},{"binders":[4],"body":{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"nil"}},{"binders":[6,7],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":4},{"kind":"var","name":5},{"function":9,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":5}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":5},"type":{"element":{"kind":"nat"},"kind":"list"}},"bound":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"kind":"let","name":5,"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2,3],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"nil"}},{"binders":[4,5],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":5},{"function":4,"kind":"call","operands":[{"kind":"var","name":1},{"function":5,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":4}]},{"kind":"var","name":3}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2,3],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":2},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":4,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":4},{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":2},{"kind":"var","name":3}]},"else_branch":{"function":8,"kind":"call","operands":[{"kind":"var","name":2},{"kind":"var","name":3}]},"kind":"cond","then_branch":{"kind":"var","name":2}},"kind":"cond","then_branch":{"kind":"var","name":2}}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"var","name":2},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":6,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":6,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"parameters":[0,1],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":7,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":8,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":9,"kind":"call","operands":[{"function":10,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},{"kind":"var","name":3}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":10,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":11,"kind":"call","operands":[{"kind":"var","name":3},{"function":12,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":2}},{"function":13,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}]}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":12,"kind":"call","operands":[{"kind":"var","name":3},{"function":13,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"var","name":2}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":13,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/graph-reachable-inner/provenance.json b/compiler/rust/rust-std/graph-reachable-inner/provenance.json index 04f2b37a3..b371eb09f 100644 --- a/compiler/rust/rust-std/graph-reachable-inner/provenance.json +++ b/compiler/rust/rust-std/graph-reachable-inner/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"8e23f25f2becada80c24b87f98b3606a48517046b5bdea38ff315b03d171cbf9","src/lib.rs":"e0f9f9498cc48964b8d873933bf9113da118746f98f1f0c609706161114d0e3c"},"name":"graph_reachable_inner_std","profile":"rust-std","program":"041e81a39e799bfc6ec17b360f2f9379382345aae6466d5338d3027f5523baa0","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"8e23f25f2becada80c24b87f98b3606a48517046b5bdea38ff315b03d171cbf9","src/lib.rs":"e0f9f9498cc48964b8d873933bf9113da118746f98f1f0c609706161114d0e3c"},"name":"graph_reachable_inner_std","profile":"rust-std","program":"041e81a39e799bfc6ec17b360f2f9379382345aae6466d5338d3027f5523baa0","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/graph-reachable/package.json b/compiler/rust/rust-std/graph-reachable/package.json index 6519c9c86..ba72dd564 100644 --- a/compiler/rust/rust-std/graph-reachable/package.json +++ b/compiler/rust/rust-std/graph-reachable/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"graph_reachable_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"prim","operands":[{"kind":"prim","operands":[{"function":11,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]}],"operation":{"kind":"length"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"zero"}},{"binders":[4],"body":{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"nil"}},{"binders":[6,7],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":4},{"kind":"var","name":5},{"function":9,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":5}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":5},"type":{"element":{"kind":"nat"},"kind":"list"}},"bound":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"kind":"let","name":5,"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2,3],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"nil"}},{"binders":[4,5],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":5},{"function":4,"kind":"call","operands":[{"kind":"var","name":1},{"function":5,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":4}]},{"kind":"var","name":3}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2,3],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":2},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":4,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":4},{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":2},{"kind":"var","name":3}]},"else_branch":{"function":8,"kind":"call","operands":[{"kind":"var","name":2},{"kind":"var","name":3}]},"kind":"cond","then_branch":{"kind":"var","name":2}},"kind":"cond","then_branch":{"kind":"var","name":2}}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"var","name":2},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":6,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":6,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"parameters":[0,1],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":7,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":8,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":9,"kind":"call","operands":[{"function":10,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},{"kind":"var","name":3}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":10,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":11,"kind":"call","operands":[{"kind":"var","name":3},{"function":12,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":2}},{"function":13,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}]}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":12,"kind":"call","operands":[{"kind":"var","name":3},{"function":13,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"var","name":2}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":13,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"graph_reachable_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"prim","operands":[{"kind":"prim","operands":[{"function":11,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]}],"operation":{"kind":"length"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"zero"}},{"binders":[4],"body":{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"nil"}},{"binders":[6,7],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":4},{"kind":"var","name":5},{"function":9,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":5}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":5},"type":{"element":{"kind":"nat"},"kind":"list"}},"bound":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"kind":"let","name":5,"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2,3],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"nil"}},{"binders":[4,5],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":5},{"function":4,"kind":"call","operands":[{"kind":"var","name":1},{"function":5,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":4}]},{"kind":"var","name":3}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2,3],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":2},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":4,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":4},{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":2},{"kind":"var","name":3}]},"else_branch":{"function":8,"kind":"call","operands":[{"kind":"var","name":2},{"kind":"var","name":3}]},"kind":"cond","then_branch":{"kind":"var","name":2}},"kind":"cond","then_branch":{"kind":"var","name":2}}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"var","name":2},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":6,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":6,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"parameters":[0,1],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":7,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":8,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":9,"kind":"call","operands":[{"function":10,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},{"kind":"var","name":3}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":10,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":11,"kind":"call","operands":[{"kind":"var","name":3},{"function":12,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":2}},{"function":13,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}]}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":12,"kind":"call","operands":[{"kind":"var","name":3},{"function":13,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"var","name":2}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":13,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/graph-reachable/provenance.json b/compiler/rust/rust-std/graph-reachable/provenance.json index 60a02aeea..6d28cc642 100644 --- a/compiler/rust/rust-std/graph-reachable/provenance.json +++ b/compiler/rust/rust-std/graph-reachable/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"da47a0ccbd1ff7c07b1e4aff98e6b080304e153038cd3e7bb28d4cb5f4c26b74","src/lib.rs":"e0f9f9498cc48964b8d873933bf9113da118746f98f1f0c609706161114d0e3c"},"name":"graph_reachable_std","profile":"rust-std","program":"041e81a39e799bfc6ec17b360f2f9379382345aae6466d5338d3027f5523baa0","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"da47a0ccbd1ff7c07b1e4aff98e6b080304e153038cd3e7bb28d4cb5f4c26b74","src/lib.rs":"e0f9f9498cc48964b8d873933bf9113da118746f98f1f0c609706161114d0e3c"},"name":"graph_reachable_std","profile":"rust-std","program":"041e81a39e799bfc6ec17b360f2f9379382345aae6466d5338d3027f5523baa0","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/graph-successors-absent/package.json b/compiler/rust/rust-std/graph-successors-absent/package.json index e797825ba..d21ec7766 100644 --- a/compiler/rust/rust-std/graph-successors-absent/package.json +++ b/compiler/rust/rust-std/graph-successors-absent/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"graph_successors_absent_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"var","name":2},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"parameters":[0,1],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"graph_successors_absent_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"var","name":2},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"parameters":[0,1],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/graph-successors-absent/provenance.json b/compiler/rust/rust-std/graph-successors-absent/provenance.json index 1dcb60e66..3109afd26 100644 --- a/compiler/rust/rust-std/graph-successors-absent/provenance.json +++ b/compiler/rust/rust-std/graph-successors-absent/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"42089a95d945ae662acd664bfb0f90af87d5e25c8a365451632dc8da2d430db8","src/lib.rs":"0aa41c3a86d4fc8e40515711e0b344cd496cd95682297d865508cb1604c87cb3"},"name":"graph_successors_absent_std","profile":"rust-std","program":"8b3c90ca61d51f5e057122592afdc93c1514acbc9954325abc0b9fbca01152ef","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"42089a95d945ae662acd664bfb0f90af87d5e25c8a365451632dc8da2d430db8","src/lib.rs":"0aa41c3a86d4fc8e40515711e0b344cd496cd95682297d865508cb1604c87cb3"},"name":"graph_successors_absent_std","profile":"rust-std","program":"8b3c90ca61d51f5e057122592afdc93c1514acbc9954325abc0b9fbca01152ef","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/graph-successors/package.json b/compiler/rust/rust-std/graph-successors/package.json index e89bd92bd..765cbc575 100644 --- a/compiler/rust/rust-std/graph-successors/package.json +++ b/compiler/rust/rust-std/graph-successors/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"graph_successors_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"var","name":2},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"parameters":[0,1],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"graph_successors_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"var","name":2},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"parameters":[0,1],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/graph-successors/provenance.json b/compiler/rust/rust-std/graph-successors/provenance.json index ec7a867fc..7fe679e02 100644 --- a/compiler/rust/rust-std/graph-successors/provenance.json +++ b/compiler/rust/rust-std/graph-successors/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"75e8b7813e553c19915e4c083ffa0b27ea15889775d0f0b756afb3f7f8071f52","src/lib.rs":"0aa41c3a86d4fc8e40515711e0b344cd496cd95682297d865508cb1604c87cb3"},"name":"graph_successors_std","profile":"rust-std","program":"8b3c90ca61d51f5e057122592afdc93c1514acbc9954325abc0b9fbca01152ef","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"75e8b7813e553c19915e4c083ffa0b27ea15889775d0f0b756afb3f7f8071f52","src/lib.rs":"0aa41c3a86d4fc8e40515711e0b344cd496cd95682297d865508cb1604c87cb3"},"name":"graph_successors_std","profile":"rust-std","program":"8b3c90ca61d51f5e057122592afdc93c1514acbc9954325abc0b9fbca01152ef","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/graph-topological-cycle/package.json b/compiler/rust/rust-std/graph-topological-cycle/package.json index bed2115b0..0f2cb5ac1 100644 --- a/compiler/rust/rust-std/graph-topological-cycle/package.json +++ b/compiler/rust/rust-std/graph-topological-cycle/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"graph_topological_cycle_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"parameters":[0],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"}]},{"body":{"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"bound":{"function":6,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"kind":"let","name":1,"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[4,5],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"zero"}},{"binders":[6],"body":{"arms":[{"binders":[],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[7,8],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[9,10],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":6},{"function":12,"kind":"call","operands":[{"kind":"var","name":2},{"kind":"var","name":9}]},{"kind":"build","operands":[{"kind":"var","name":9},{"kind":"var","name":3}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2},{"kind":"var","name":2}]},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"parameters":[0,1,2,3],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"function":4,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":1}]},"else_branch":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":4}]},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":3},{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":4}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"function":11,"kind":"call","operands":[{"function":9,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3}]},{"kind":"var","name":1}]},"else_branch":{"function":4,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":4}]},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}},"parameters":[0,1,2],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":5,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"var","name":1}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":6,"kind":"call","operands":[{"kind":"var","name":3},{"function":7,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":2}},{"function":8,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}]}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":7,"kind":"call","operands":[{"kind":"var","name":3},{"function":8,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"var","name":2}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":8,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"var","name":2},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":10,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":10,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"parameters":[0,1],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":11,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":12,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"graph_topological_cycle_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"parameters":[0],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"}]},{"body":{"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"bound":{"function":6,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"kind":"let","name":1,"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[4,5],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"zero"}},{"binders":[6],"body":{"arms":[{"binders":[],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[7,8],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[9,10],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":6},{"function":12,"kind":"call","operands":[{"kind":"var","name":2},{"kind":"var","name":9}]},{"kind":"build","operands":[{"kind":"var","name":9},{"kind":"var","name":3}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2},{"kind":"var","name":2}]},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"parameters":[0,1,2,3],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"function":4,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":1}]},"else_branch":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":4}]},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":3},{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":4}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"function":11,"kind":"call","operands":[{"function":9,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3}]},{"kind":"var","name":1}]},"else_branch":{"function":4,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":4}]},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}},"parameters":[0,1,2],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":5,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"var","name":1}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":6,"kind":"call","operands":[{"kind":"var","name":3},{"function":7,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":2}},{"function":8,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}]}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":7,"kind":"call","operands":[{"kind":"var","name":3},{"function":8,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"var","name":2}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":8,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"var","name":2},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":10,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":10,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"parameters":[0,1],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":11,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":12,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/graph-topological-cycle/provenance.json b/compiler/rust/rust-std/graph-topological-cycle/provenance.json index 940541091..8b4cfad93 100644 --- a/compiler/rust/rust-std/graph-topological-cycle/provenance.json +++ b/compiler/rust/rust-std/graph-topological-cycle/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"bdfec0f1b193227451cb08f1aea9afe7297d425e41cd2fa6267e8cd22daeaee1","src/lib.rs":"c51b0abc58eceaf1d8ec17c5ab25145b5987ed7e14f741b44560d6726b6cdca4"},"name":"graph_topological_cycle_std","profile":"rust-std","program":"f9745fab4349647798801c4e66ecead44a5242a05bdb373aae5e5f102c659e5f","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"bdfec0f1b193227451cb08f1aea9afe7297d425e41cd2fa6267e8cd22daeaee1","src/lib.rs":"c51b0abc58eceaf1d8ec17c5ab25145b5987ed7e14f741b44560d6726b6cdca4"},"name":"graph_topological_cycle_std","profile":"rust-std","program":"f9745fab4349647798801c4e66ecead44a5242a05bdb373aae5e5f102c659e5f","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/graph-topological/package.json b/compiler/rust/rust-std/graph-topological/package.json index 7b58031b2..ff1bc5af6 100644 --- a/compiler/rust/rust-std/graph-topological/package.json +++ b/compiler/rust/rust-std/graph-topological/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"graph_topological_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"parameters":[0],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"}]},{"body":{"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"bound":{"function":6,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"kind":"let","name":1,"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[4,5],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"zero"}},{"binders":[6],"body":{"arms":[{"binders":[],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[7,8],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[9,10],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":6},{"function":12,"kind":"call","operands":[{"kind":"var","name":2},{"kind":"var","name":9}]},{"kind":"build","operands":[{"kind":"var","name":9},{"kind":"var","name":3}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2},{"kind":"var","name":2}]},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"parameters":[0,1,2,3],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"function":4,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":1}]},"else_branch":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":4}]},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":3},{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":4}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"function":11,"kind":"call","operands":[{"function":9,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3}]},{"kind":"var","name":1}]},"else_branch":{"function":4,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":4}]},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}},"parameters":[0,1,2],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":5,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"var","name":1}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":6,"kind":"call","operands":[{"kind":"var","name":3},{"function":7,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":2}},{"function":8,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}]}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":7,"kind":"call","operands":[{"kind":"var","name":3},{"function":8,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"var","name":2}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":8,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"var","name":2},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":10,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":10,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"parameters":[0,1],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":11,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":12,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"graph_topological_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"parameters":[0],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"}]},{"body":{"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"bound":{"function":6,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"kind":"let","name":1,"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[4,5],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"zero"}},{"binders":[6],"body":{"arms":[{"binders":[],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[7,8],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[9,10],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":6},{"function":12,"kind":"call","operands":[{"kind":"var","name":2},{"kind":"var","name":9}]},{"kind":"build","operands":[{"kind":"var","name":9},{"kind":"var","name":3}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2},{"kind":"var","name":2}]},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"parameters":[0,1,2,3],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"function":4,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":1}]},"else_branch":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":4}]},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":3},{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":4}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"function":11,"kind":"call","operands":[{"function":9,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3}]},{"kind":"var","name":1}]},"else_branch":{"function":4,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":4}]},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}},"parameters":[0,1,2],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":5,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"var","name":1}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":6,"kind":"call","operands":[{"kind":"var","name":3},{"function":7,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":2}},{"function":8,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}]}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":7,"kind":"call","operands":[{"kind":"var","name":3},{"function":8,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"var","name":2}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":8,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"var","name":2},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":10,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":10,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"parameters":[0,1],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":11,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":12,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/graph-topological/provenance.json b/compiler/rust/rust-std/graph-topological/provenance.json index 59256ab99..757369935 100644 --- a/compiler/rust/rust-std/graph-topological/provenance.json +++ b/compiler/rust/rust-std/graph-topological/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"0538685cbe3e01d2e8df62cd2eaa6b557850a54d1562ac4893a7a7fb9f27d410","src/lib.rs":"c51b0abc58eceaf1d8ec17c5ab25145b5987ed7e14f741b44560d6726b6cdca4"},"name":"graph_topological_std","profile":"rust-std","program":"f9745fab4349647798801c4e66ecead44a5242a05bdb373aae5e5f102c659e5f","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"0538685cbe3e01d2e8df62cd2eaa6b557850a54d1562ac4893a7a7fb9f27d410","src/lib.rs":"c51b0abc58eceaf1d8ec17c5ab25145b5987ed7e14f741b44560d6726b6cdca4"},"name":"graph_topological_std","profile":"rust-std","program":"f9745fab4349647798801c4e66ecead44a5242a05bdb373aae5e5f102c659e5f","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/int-arithmetic/package.json b/compiler/rust/rust-std/int-arithmetic/package.json index 69afa85d4..393027be5 100644 --- a/compiler/rust/rust-std/int-arithmetic/package.json +++ b/compiler/rust/rust-std/int-arithmetic/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"int_arithmetic_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-5"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"3"}}],"operation":{"kind":"int_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-5"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"3"}}],"operation":{"kind":"int_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-4"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"6"}}],"operation":{"kind":"int_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"7"}}],"operation":{"kind":"int_neg"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-7"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"2"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"0"}}],"operation":{"kind":"int_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-7"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"2"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"0"}}],"operation":{"kind":"int_rem"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"7"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-2"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"0"}}],"operation":{"kind":"int_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"7"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-2"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"0"}}],"operation":{"kind":"int_rem"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"5"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"0"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-9"}}],"operation":{"kind":"int_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"5"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"0"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"4"}}],"operation":{"kind":"int_rem"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-9223372036854775808"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"1"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"5"}}],"operation":{"kind":"int_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-9223372036854775808"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-1"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"7"}}],"operation":{"kind":"int_rem"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"9223372036854775807"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-9223372036854775808"}}],"operation":{"kind":"int_add"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"int"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}},"parameters":[],"result":{"element":{"kind":"int"},"kind":"list"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"int_arithmetic_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-5"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"3"}}],"operation":{"kind":"int_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-5"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"3"}}],"operation":{"kind":"int_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-4"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"6"}}],"operation":{"kind":"int_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"7"}}],"operation":{"kind":"int_neg"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-7"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"2"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"0"}}],"operation":{"kind":"int_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-7"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"2"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"0"}}],"operation":{"kind":"int_rem"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"7"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-2"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"0"}}],"operation":{"kind":"int_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"7"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-2"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"0"}}],"operation":{"kind":"int_rem"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"5"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"0"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-9"}}],"operation":{"kind":"int_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"5"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"0"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"4"}}],"operation":{"kind":"int_rem"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-9223372036854775808"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"1"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"5"}}],"operation":{"kind":"int_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-9223372036854775808"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-1"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"7"}}],"operation":{"kind":"int_rem"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"9223372036854775807"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-9223372036854775808"}}],"operation":{"kind":"int_add"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"int"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}},"parameters":[],"result":{"element":{"kind":"int"},"kind":"list"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/int-arithmetic/provenance.json b/compiler/rust/rust-std/int-arithmetic/provenance.json index 4c1f21e1f..756e97b4a 100644 --- a/compiler/rust/rust-std/int-arithmetic/provenance.json +++ b/compiler/rust/rust-std/int-arithmetic/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"3912b5dd8d90f16cf7f3f96dc90dedbcfe40f29bf8db40b02503eb2cefe1549f","src/lib.rs":"2adbdbbec80a62be6202aeb2962daf4e485f3aba019021c904ee5c22ddb38f1c"},"name":"int_arithmetic_std","profile":"rust-std","program":"74490a35f7912610de983120cac89d47c5a80a56f2d22398ebe0d116219ac822","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"3912b5dd8d90f16cf7f3f96dc90dedbcfe40f29bf8db40b02503eb2cefe1549f","src/lib.rs":"2adbdbbec80a62be6202aeb2962daf4e485f3aba019021c904ee5c22ddb38f1c"},"name":"int_arithmetic_std","profile":"rust-std","program":"74490a35f7912610de983120cac89d47c5a80a56f2d22398ebe0d116219ac822","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/int-overflow-mul/package.json b/compiler/rust/rust-std/int-overflow-mul/package.json index aecf60f2f..b91695f80 100644 --- a/compiler/rust/rust-std/int-overflow-mul/package.json +++ b/compiler/rust/rust-std/int-overflow-mul/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"int_overflow_mul_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"9223372036854775807"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"2"}}],"operation":{"kind":"int_mul"}},"parameters":[],"result":{"kind":"int"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"int_overflow_mul_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"9223372036854775807"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"2"}}],"operation":{"kind":"int_mul"}},"parameters":[],"result":{"kind":"int"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/int-overflow-mul/provenance.json b/compiler/rust/rust-std/int-overflow-mul/provenance.json index d7673fcd2..31f864e26 100644 --- a/compiler/rust/rust-std/int-overflow-mul/provenance.json +++ b/compiler/rust/rust-std/int-overflow-mul/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"b1f26995a0ca536b6104f6ad4d8d528a98c58a03886b3cb976eca90ed9c62366","src/lib.rs":"e39c37c7dc031d658fc2300157b14c0df61ddbcb1694492c6817f4b6ad9c5676"},"name":"int_overflow_mul_std","profile":"rust-std","program":"1b65e9c0d0ec40bd0d8f70b9b32771560c2418a33777717ce781aca86a2ec51c","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"b1f26995a0ca536b6104f6ad4d8d528a98c58a03886b3cb976eca90ed9c62366","src/lib.rs":"e39c37c7dc031d658fc2300157b14c0df61ddbcb1694492c6817f4b6ad9c5676"},"name":"int_overflow_mul_std","profile":"rust-std","program":"1b65e9c0d0ec40bd0d8f70b9b32771560c2418a33777717ce781aca86a2ec51c","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/int-overflow-neg/package.json b/compiler/rust/rust-std/int-overflow-neg/package.json index 91e95bfb4..17dfbe12d 100644 --- a/compiler/rust/rust-std/int-overflow-neg/package.json +++ b/compiler/rust/rust-std/int-overflow-neg/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"int_overflow_neg_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-9223372036854775808"}}],"operation":{"kind":"int_neg"}},"parameters":[],"result":{"kind":"int"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"int_overflow_neg_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-9223372036854775808"}}],"operation":{"kind":"int_neg"}},"parameters":[],"result":{"kind":"int"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/int-overflow-neg/provenance.json b/compiler/rust/rust-std/int-overflow-neg/provenance.json index 2ed2cf5c8..3634108bb 100644 --- a/compiler/rust/rust-std/int-overflow-neg/provenance.json +++ b/compiler/rust/rust-std/int-overflow-neg/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"48139720f49abbee04a31a60c01a06fa0711a314acccefb2df2fe9612375465d","src/lib.rs":"d2e970c895a57f0ad211e923467b7176fe2e167ab59e1d0183ef230108b6a00f"},"name":"int_overflow_neg_std","profile":"rust-std","program":"d9fbf0bb602a1238f9d26866ce0b3b6c6b2aaeef713f2a3912ee3377f9a21523","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"48139720f49abbee04a31a60c01a06fa0711a314acccefb2df2fe9612375465d","src/lib.rs":"d2e970c895a57f0ad211e923467b7176fe2e167ab59e1d0183ef230108b6a00f"},"name":"int_overflow_neg_std","profile":"rust-std","program":"d9fbf0bb602a1238f9d26866ce0b3b6c6b2aaeef713f2a3912ee3377f9a21523","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/int-overflow-quot/package.json b/compiler/rust/rust-std/int-overflow-quot/package.json index e822c1ead..e917ffb28 100644 --- a/compiler/rust/rust-std/int-overflow-quot/package.json +++ b/compiler/rust/rust-std/int-overflow-quot/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"int_overflow_quot_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-9223372036854775808"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-1"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"0"}}],"operation":{"kind":"int_quot"}},"parameters":[],"result":{"kind":"int"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"int_overflow_quot_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-9223372036854775808"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-1"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"0"}}],"operation":{"kind":"int_quot"}},"parameters":[],"result":{"kind":"int"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/int-overflow-quot/provenance.json b/compiler/rust/rust-std/int-overflow-quot/provenance.json index e9134907d..464c58538 100644 --- a/compiler/rust/rust-std/int-overflow-quot/provenance.json +++ b/compiler/rust/rust-std/int-overflow-quot/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"70ecec50cbfc19ea6d1783b7e5e38e62f4bcdc7bc48a2b0c1cb406029b1ff358","src/lib.rs":"ceacae55969aa621af4f7c53eee82890863497f39dc4bbf01645ca820e3fc410"},"name":"int_overflow_quot_std","profile":"rust-std","program":"1692b3adcca40a04933f6aebc3fea8b84cdd602624476a65e9ba90b04f7b7380","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"70ecec50cbfc19ea6d1783b7e5e38e62f4bcdc7bc48a2b0c1cb406029b1ff358","src/lib.rs":"ceacae55969aa621af4f7c53eee82890863497f39dc4bbf01645ca820e3fc410"},"name":"int_overflow_quot_std","profile":"rust-std","program":"1692b3adcca40a04933f6aebc3fea8b84cdd602624476a65e9ba90b04f7b7380","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/int-overflow-sub/package.json b/compiler/rust/rust-std/int-overflow-sub/package.json index 50d1edf63..fba76e334 100644 --- a/compiler/rust/rust-std/int-overflow-sub/package.json +++ b/compiler/rust/rust-std/int-overflow-sub/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"int_overflow_sub_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-9223372036854775808"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"1"}}],"operation":{"kind":"int_sub"}},"parameters":[],"result":{"kind":"int"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"int_overflow_sub_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-9223372036854775808"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"1"}}],"operation":{"kind":"int_sub"}},"parameters":[],"result":{"kind":"int"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/int-overflow-sub/provenance.json b/compiler/rust/rust-std/int-overflow-sub/provenance.json index 85a13b809..4d0a0a670 100644 --- a/compiler/rust/rust-std/int-overflow-sub/provenance.json +++ b/compiler/rust/rust-std/int-overflow-sub/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"d136f543104a9d2e33514775925d7a9888f80f24c925561daea0503ae6aae6d9","src/lib.rs":"bc4de8365b8317da6a29d4caee4e6d5a35f3e09eb574ba1e3b600af7dc850f21"},"name":"int_overflow_sub_std","profile":"rust-std","program":"1e4e6f4192ceb578c2a360bce823d1c1aa01db87a593efa4ac989ee1d3dbb168","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"d136f543104a9d2e33514775925d7a9888f80f24c925561daea0503ae6aae6d9","src/lib.rs":"bc4de8365b8317da6a29d4caee4e6d5a35f3e09eb574ba1e3b600af7dc850f21"},"name":"int_overflow_sub_std","profile":"rust-std","program":"1e4e6f4192ceb578c2a360bce823d1c1aa01db87a593efa4ac989ee1d3dbb168","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/iterate-until-bounded/package.json b/compiler/rust/rust-std/iterate-until-bounded/package.json index 21765f5d6..3b5fab1dc 100644 --- a/compiler/rust/rust-std/iterate-until-bounded/package.json +++ b/compiler/rust/rust-std/iterate-until-bounded/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"iterate_until_bounded_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":2,"kind":"call","operands":[{"captures":[],"function":1,"kind":"closure"},{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}]},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"option","value":{"kind":"nat"}}},{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"iterate_until_bounded_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":2,"kind":"call","operands":[{"captures":[],"function":1,"kind":"closure"},{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}]},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"option","value":{"kind":"nat"}}},{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/iterate-until-bounded/provenance.json b/compiler/rust/rust-std/iterate-until-bounded/provenance.json index 88e34bee4..ca87ab71a 100644 --- a/compiler/rust/rust-std/iterate-until-bounded/provenance.json +++ b/compiler/rust/rust-std/iterate-until-bounded/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ee140028333f5242547bbd85a2b8d54702b6e2ba3667ddbeef4b5d6b9d819bc3","src/lib.rs":"f5c52af9a85516cfdcc6e80bd6b0547e63a683ebce6837efb443f23dea4b9817"},"name":"iterate_until_bounded_std","profile":"rust-std","program":"933ed0017ae24e1b179af5f2624474a367dab0414bfc90db4f456ec1f3f54e8a","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ee140028333f5242547bbd85a2b8d54702b6e2ba3667ddbeef4b5d6b9d819bc3","src/lib.rs":"f5c52af9a85516cfdcc6e80bd6b0547e63a683ebce6837efb443f23dea4b9817"},"name":"iterate_until_bounded_std","profile":"rust-std","program":"933ed0017ae24e1b179af5f2624474a367dab0414bfc90db4f456ec1f3f54e8a","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/iterate-until/package.json b/compiler/rust/rust-std/iterate-until/package.json index c837a3f8d..6fdb25b2d 100644 --- a/compiler/rust/rust-std/iterate-until/package.json +++ b/compiler/rust/rust-std/iterate-until/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"iterate_until_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":2,"kind":"call","operands":[{"captures":[],"function":1,"kind":"closure"},{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}]},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"option","value":{"kind":"nat"}}},{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"iterate_until_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":2,"kind":"call","operands":[{"captures":[],"function":1,"kind":"closure"},{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}]},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"option","value":{"kind":"nat"}}},{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/iterate-until/provenance.json b/compiler/rust/rust-std/iterate-until/provenance.json index 0260210d8..2e1e9d157 100644 --- a/compiler/rust/rust-std/iterate-until/provenance.json +++ b/compiler/rust/rust-std/iterate-until/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"5beaded8ae28b4f2bf60cbd1f89f1af4acbcc5f3732efbc80dc60377fa7f0e37","src/lib.rs":"f5c52af9a85516cfdcc6e80bd6b0547e63a683ebce6837efb443f23dea4b9817"},"name":"iterate_until_std","profile":"rust-std","program":"933ed0017ae24e1b179af5f2624474a367dab0414bfc90db4f456ec1f3f54e8a","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"5beaded8ae28b4f2bf60cbd1f89f1af4acbcc5f3732efbc80dc60377fa7f0e37","src/lib.rs":"f5c52af9a85516cfdcc6e80bd6b0547e63a683ebce6837efb443f23dea4b9817"},"name":"iterate_until_std","profile":"rust-std","program":"933ed0017ae24e1b179af5f2624474a367dab0414bfc90db4f456ec1f3f54e8a","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/iterate/package.json b/compiler/rust/rust-std/iterate/package.json index 1249b278b..2fe30fb4b 100644 --- a/compiler/rust/rust-std/iterate/package.json +++ b/compiler/rust/rust-std/iterate/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"iterate_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":2,"kind":"call","operands":[{"captures":[],"function":1,"kind":"closure"},{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_add"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":2},"shape":{"kind":"zero"}},{"binders":[3],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}}]},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"nat"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"iterate_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":2,"kind":"call","operands":[{"captures":[],"function":1,"kind":"closure"},{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_add"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":2},"shape":{"kind":"zero"}},{"binders":[3],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}}]},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"nat"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/iterate/provenance.json b/compiler/rust/rust-std/iterate/provenance.json index 729d00363..3f9c4a0b4 100644 --- a/compiler/rust/rust-std/iterate/provenance.json +++ b/compiler/rust/rust-std/iterate/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"de5e3eccc209f817965fe1ad22fe279b7b53ee8e98f0d7db012c96d31fc537a5","src/lib.rs":"5d451605ced8820aa8a88d0abb178655645ae80d417d2fb2ac53938266c4ddc0"},"name":"iterate_std","profile":"rust-std","program":"93495cb93bd9292be524f0e8414d7b827b60f812c842ab717fef46322758cf60","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"de5e3eccc209f817965fe1ad22fe279b7b53ee8e98f0d7db012c96d31fc537a5","src/lib.rs":"5d451605ced8820aa8a88d0abb178655645ae80d417d2fb2ac53938266c4ddc0"},"name":"iterate_std","profile":"rust-std","program":"93495cb93bd9292be524f0e8414d7b827b60f812c842ab717fef46322758cf60","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/list-append-long/package.json b/compiler/rust/rust-std/list-append-long/package.json index ed232b24e..005ecffb1 100644 --- a/compiler/rust/rust-std/list-append-long/package.json +++ b/compiler/rust/rust-std/list-append-long/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"list_append_long_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"append"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"list_append_long_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"append"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/list-append-long/provenance.json b/compiler/rust/rust-std/list-append-long/provenance.json index e0c97a540..723443027 100644 --- a/compiler/rust/rust-std/list-append-long/provenance.json +++ b/compiler/rust/rust-std/list-append-long/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"93d1a8d4386d26dc94e93d98d6b3a6cc4600e57bf96756bd2f3c9eb1299b3a67","src/lib.rs":"1ca63cf500f9c44fecb3d73abed05dffcc0d60e6c0cde7ce93770e8832eb2689"},"name":"list_append_long_std","profile":"rust-std","program":"cb41d13830f113f3c6e79e5b8ac4b5766e5950f96132f30c46ae597f2e3586df","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"93d1a8d4386d26dc94e93d98d6b3a6cc4600e57bf96756bd2f3c9eb1299b3a67","src/lib.rs":"1ca63cf500f9c44fecb3d73abed05dffcc0d60e6c0cde7ce93770e8832eb2689"},"name":"list_append_long_std","profile":"rust-std","program":"cb41d13830f113f3c6e79e5b8ac4b5766e5950f96132f30c46ae597f2e3586df","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/list-fold/package.json b/compiler/rust/rust-std/list-fold/package.json index eef96482e..6a6fe95df 100644 --- a/compiler/rust/rust-std/list-fold/package.json +++ b/compiler/rust/rust-std/list-fold/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"list_fold_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":2,"kind":"call","operands":[{"captures":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"function":1,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"var","name":0}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"element":{"kind":"string"},"kind":"list"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"prim","operands":[{"kind":"var","name":2}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_mul"}}],"operation":{"kind":"nat_add"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"nat"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"},{"kind":"string"}],"result":{"kind":"nat"}},{"kind":"nat"},{"element":{"kind":"string"},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"list_fold_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":2,"kind":"call","operands":[{"captures":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"function":1,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"var","name":0}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"element":{"kind":"string"},"kind":"list"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"prim","operands":[{"kind":"var","name":2}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_mul"}}],"operation":{"kind":"nat_add"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"nat"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"},{"kind":"string"}],"result":{"kind":"nat"}},{"kind":"nat"},{"element":{"kind":"string"},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/list-fold/provenance.json b/compiler/rust/rust-std/list-fold/provenance.json index d88214532..c22a23a64 100644 --- a/compiler/rust/rust-std/list-fold/provenance.json +++ b/compiler/rust/rust-std/list-fold/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"f3400f1bb065c95570809435d17afa7f43f5b6d210165450bd749d33dc15fc4e","src/lib.rs":"fe2e803b29ade977a8cadf5ff0e59bd0db2f013c41a2d17ca7432880dfa2779c"},"name":"list_fold_std","profile":"rust-std","program":"2aa5c562412f19a36dc6871936614db4c9fcffb88ac2dc090b7a8113b4062d0d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"f3400f1bb065c95570809435d17afa7f43f5b6d210165450bd749d33dc15fc4e","src/lib.rs":"fe2e803b29ade977a8cadf5ff0e59bd0db2f013c41a2d17ca7432880dfa2779c"},"name":"list_fold_std","profile":"rust-std","program":"2aa5c562412f19a36dc6871936614db4c9fcffb88ac2dc090b7a8113b4062d0d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/lists-borrowed/package.json b/compiler/rust/rust-std/lists-borrowed/package.json index 1c157b260..8b0cc9ff5 100644 --- a/compiler/rust/rust-std/lists-borrowed/package.json +++ b/compiler/rust/rust-std/lists-borrowed/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["borrow"]}],"name":"lists_borrowed_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"9"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"operation":{"kind":"append"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"length"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"index"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"index"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"slice"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"slice"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}}},"parameters":[0],"result":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}},"types":[{"element":{"kind":"nat"},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["borrow"]}],"name":"lists_borrowed_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"9"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"operation":{"kind":"append"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"length"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"index"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"index"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"slice"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"slice"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}}},"parameters":[0],"result":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}},"types":[{"element":{"kind":"nat"},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/lists-borrowed/provenance.json b/compiler/rust/rust-std/lists-borrowed/provenance.json index 0adc98f17..4f7dedcac 100644 --- a/compiler/rust/rust-std/lists-borrowed/provenance.json +++ b/compiler/rust/rust-std/lists-borrowed/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"01ec12b89f6a1df6e0fdc7c9b3b0a981bc8b7c530d46f1befb9dc3da9bbd3344","src/lib.rs":"563ca680f395a8843b904d29481e17efcda374d28eaf912235792eb8858ae858"},"name":"lists_borrowed_std","profile":"rust-std","program":"6ccce5df53085556ae8de4d7783d2b5f3734fdee0f895ed7c612b695af1b208e","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"01ec12b89f6a1df6e0fdc7c9b3b0a981bc8b7c530d46f1befb9dc3da9bbd3344","src/lib.rs":"563ca680f395a8843b904d29481e17efcda374d28eaf912235792eb8858ae858"},"name":"lists_borrowed_std","profile":"rust-std","program":"6ccce5df53085556ae8de4d7783d2b5f3734fdee0f895ed7c612b695af1b208e","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/lists/package.json b/compiler/rust/rust-std/lists/package.json index 55b9e03b6..a36ccc161 100644 --- a/compiler/rust/rust-std/lists/package.json +++ b/compiler/rust/rust-std/lists/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"lists_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"9"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"operation":{"kind":"append"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"length"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"index"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"index"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"slice"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"slice"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}}},"parameters":[0],"result":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}},"types":[{"element":{"kind":"nat"},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"lists_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"9"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"operation":{"kind":"append"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"length"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"index"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"index"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"slice"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"slice"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}}},"parameters":[0],"result":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}},"types":[{"element":{"kind":"nat"},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/lists/provenance.json b/compiler/rust/rust-std/lists/provenance.json index 522a0843f..6f0732354 100644 --- a/compiler/rust/rust-std/lists/provenance.json +++ b/compiler/rust/rust-std/lists/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"20a5e788febf3f6995f85883485d6e561b1d12dfa390f426c37a4676b4c7e6bd","src/lib.rs":"f658b6c437ef639208128f85ab4caf2c83fa4a1243d700fd8384d12bd4d504a4"},"name":"lists_std","profile":"rust-std","program":"6ccce5df53085556ae8de4d7783d2b5f3734fdee0f895ed7c612b695af1b208e","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"20a5e788febf3f6995f85883485d6e561b1d12dfa390f426c37a4676b4c7e6bd","src/lib.rs":"f658b6c437ef639208128f85ab4caf2c83fa4a1243d700fd8384d12bd4d504a4"},"name":"lists_std","profile":"rust-std","program":"6ccce5df53085556ae8de4d7783d2b5f3734fdee0f895ed7c612b695af1b208e","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/literals/package.json b/compiler/rust/rust-std/literals/package.json index a745c43fb..40d08d4e8 100644 --- a/compiler/rust/rust-std/literals/package.json +++ b/compiler/rust/rust-std/literals/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"literals_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"unit"},{"kind":"bool"},{"kind":"nat"},{"kind":"int"},{"kind":"fixed","width":"u8"},{"kind":"fixed","width":"u16"},{"kind":"fixed","width":"u32"},{"kind":"fixed","width":"u64"},{"kind":"fixed","width":"i8"},{"kind":"fixed","width":"i16"},{"kind":"fixed","width":"i32"},{"kind":"fixed","width":"i64"},{"kind":"string"},{"kind":"bytes"},{"kind":"ordering"},{"kind":"option","value":{"kind":"nat"}},{"kind":"option","value":{"kind":"bool"}},{"error":{"kind":"string"},"kind":"result","ok":{"kind":"nat"}},{"error":{"kind":"string"},"kind":"result","ok":{"kind":"nat"}},{"element":{"kind":"nat"},"kind":"list"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},{"index":1,"kind":"adt"}]]},{"constructors":[[],[{"kind":"nat"}]]}],"functions":[{"body":{"kind":"build","operands":[{"kind":"value","type":{"kind":"unit"},"value":{"kind":"unit"}},{"kind":"value","type":{"kind":"bool"},"value":{"kind":"bool","value":true}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"18446744073709551615"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-9223372036854775808"}},{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"255"}},{"kind":"value","type":{"kind":"fixed","width":"u16"},"value":{"kind":"u16","value":"65535"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"4294967295"}},{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"18446744073709551615"}},{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-128"}},{"kind":"value","type":{"kind":"fixed","width":"i16"},"value":{"kind":"i16","value":"-32768"}},{"kind":"value","type":{"kind":"fixed","width":"i32"},"value":{"kind":"i32","value":"-2147483648"}},{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"-9223372036854775808"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"snow ☃"}},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"00ff7f","kind":"bytes"}},{"kind":"value","type":{"kind":"ordering"},"value":{"kind":"ordering","value":"eq"}},{"kind":"value","type":{"kind":"option","value":{"kind":"nat"}},"value":{"kind":"none"}},{"kind":"value","type":{"kind":"option","value":{"kind":"bool"}},"value":{"kind":"some","value":{"kind":"bool","value":false}}},{"kind":"value","type":{"error":{"kind":"string"},"kind":"result","ok":{"kind":"nat"}},"value":{"kind":"ok","value":{"kind":"nat","value":"1"}}},{"kind":"value","type":{"error":{"kind":"string"},"kind":"result","ok":{"kind":"nat"}},"value":{"kind":"error","value":{"kind":"string","value":"no"}}},{"kind":"value","type":{"element":{"kind":"nat"},"kind":"list"},"value":{"items":[{"kind":"nat","value":"1"},{"kind":"nat","value":"2"}],"kind":"list"}},{"kind":"value","type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"value":{"kind":"pair","left":{"kind":"nat","value":"3"},"right":{"kind":"string","value":"three"}}},{"kind":"value","type":{"index":1,"kind":"adt"},"value":{"constructor":1,"fields":[{"kind":"nat","value":"5"}],"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"parameters":[],"result":{"index":0,"kind":"adt"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"literals_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"unit"},{"kind":"bool"},{"kind":"nat"},{"kind":"int"},{"kind":"fixed","width":"u8"},{"kind":"fixed","width":"u16"},{"kind":"fixed","width":"u32"},{"kind":"fixed","width":"u64"},{"kind":"fixed","width":"i8"},{"kind":"fixed","width":"i16"},{"kind":"fixed","width":"i32"},{"kind":"fixed","width":"i64"},{"kind":"string"},{"kind":"bytes"},{"kind":"ordering"},{"kind":"option","value":{"kind":"nat"}},{"kind":"option","value":{"kind":"bool"}},{"error":{"kind":"string"},"kind":"result","ok":{"kind":"nat"}},{"error":{"kind":"string"},"kind":"result","ok":{"kind":"nat"}},{"element":{"kind":"nat"},"kind":"list"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},{"index":1,"kind":"adt"}]]},{"constructors":[[],[{"kind":"nat"}]]}],"functions":[{"body":{"kind":"build","operands":[{"kind":"value","type":{"kind":"unit"},"value":{"kind":"unit"}},{"kind":"value","type":{"kind":"bool"},"value":{"kind":"bool","value":true}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"18446744073709551615"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-9223372036854775808"}},{"kind":"value","type":{"kind":"fixed","width":"u8"},"value":{"kind":"u8","value":"255"}},{"kind":"value","type":{"kind":"fixed","width":"u16"},"value":{"kind":"u16","value":"65535"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"4294967295"}},{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"18446744073709551615"}},{"kind":"value","type":{"kind":"fixed","width":"i8"},"value":{"kind":"i8","value":"-128"}},{"kind":"value","type":{"kind":"fixed","width":"i16"},"value":{"kind":"i16","value":"-32768"}},{"kind":"value","type":{"kind":"fixed","width":"i32"},"value":{"kind":"i32","value":"-2147483648"}},{"kind":"value","type":{"kind":"fixed","width":"i64"},"value":{"kind":"i64","value":"-9223372036854775808"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"snow ☃"}},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"00ff7f","kind":"bytes"}},{"kind":"value","type":{"kind":"ordering"},"value":{"kind":"ordering","value":"eq"}},{"kind":"value","type":{"kind":"option","value":{"kind":"nat"}},"value":{"kind":"none"}},{"kind":"value","type":{"kind":"option","value":{"kind":"bool"}},"value":{"kind":"some","value":{"kind":"bool","value":false}}},{"kind":"value","type":{"error":{"kind":"string"},"kind":"result","ok":{"kind":"nat"}},"value":{"kind":"ok","value":{"kind":"nat","value":"1"}}},{"kind":"value","type":{"error":{"kind":"string"},"kind":"result","ok":{"kind":"nat"}},"value":{"kind":"error","value":{"kind":"string","value":"no"}}},{"kind":"value","type":{"element":{"kind":"nat"},"kind":"list"},"value":{"items":[{"kind":"nat","value":"1"},{"kind":"nat","value":"2"}],"kind":"list"}},{"kind":"value","type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"value":{"kind":"pair","left":{"kind":"nat","value":"3"},"right":{"kind":"string","value":"three"}}},{"kind":"value","type":{"index":1,"kind":"adt"},"value":{"constructor":1,"fields":[{"kind":"nat","value":"5"}],"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"parameters":[],"result":{"index":0,"kind":"adt"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/literals/provenance.json b/compiler/rust/rust-std/literals/provenance.json index e0fe1572e..15887cba8 100644 --- a/compiler/rust/rust-std/literals/provenance.json +++ b/compiler/rust/rust-std/literals/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"0967689a42ab9a6bdcfba8e93c74e0293cda460413bb245ec0b39aa1e2b5a2ca","src/lib.rs":"929569285659bc8ab598f7239e30b103056ee70f74bd2b69daca22764355f294"},"name":"literals_std","profile":"rust-std","program":"2c3026cfe7aae0d5cdd2a0c9ac2ba5174566b5aa92ebdb3a069953cffc7178aa","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"0967689a42ab9a6bdcfba8e93c74e0293cda460413bb245ec0b39aa1e2b5a2ca","src/lib.rs":"929569285659bc8ab598f7239e30b103056ee70f74bd2b69daca22764355f294"},"name":"literals_std","profile":"rust-std","program":"2c3026cfe7aae0d5cdd2a0c9ac2ba5174566b5aa92ebdb3a069953cffc7178aa","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/map-contains/package.json b/compiler/rust/rust-std/map-contains/package.json index c67542480..14ea2b8e2 100644 --- a/compiler/rust/rust-std/map-contains/package.json +++ b/compiler/rust/rust-std/map-contains/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"map_contains_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"string"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"string"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"string"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"kind":"string"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"string"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"string"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"map_contains_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"string"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"string"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"string"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"kind":"string"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"string"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"string"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/map-contains/provenance.json b/compiler/rust/rust-std/map-contains/provenance.json index 3e10ee344..873f73589 100644 --- a/compiler/rust/rust-std/map-contains/provenance.json +++ b/compiler/rust/rust-std/map-contains/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ce447f41f31637f37caf9685507d57dbbec7a9838715fe8c6ac4defc594791b6","src/lib.rs":"88e3fd1de99645c19db740404d9388da840543994a417a0a8f069052b2cd45d3"},"name":"map_contains_std","profile":"rust-std","program":"df72d86cdcf4f1ec907202221da90c365a110f9ad9a04027d440ef0791bf98d0","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ce447f41f31637f37caf9685507d57dbbec7a9838715fe8c6ac4defc594791b6","src/lib.rs":"88e3fd1de99645c19db740404d9388da840543994a417a0a8f069052b2cd45d3"},"name":"map_contains_std","profile":"rust-std","program":"df72d86cdcf4f1ec907202221da90c365a110f9ad9a04027d440ef0791bf98d0","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/map-fold/package.json b/compiler/rust/rust-std/map-fold/package.json index 79a585a51..d7936af0e 100644 --- a/compiler/rust/rust-std/map-fold/package.json +++ b/compiler/rust/rust-std/map-fold/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"map_fold_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":2,"kind":"call","operands":[{"captures":[],"function":1,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"100"}},{"kind":"var","name":0}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"kind":"var","name":2}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_add"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":3}},{"kind":"second","value":{"kind":"var","name":3}}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"nat"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"},{"kind":"nat"},{"kind":"string"}],"result":{"kind":"nat"}},{"kind":"nat"},{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"map_fold_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":2,"kind":"call","operands":[{"captures":[],"function":1,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"100"}},{"kind":"var","name":0}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"kind":"var","name":2}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_add"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":3}},{"kind":"second","value":{"kind":"var","name":3}}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"nat"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"},{"kind":"nat"},{"kind":"string"}],"result":{"kind":"nat"}},{"kind":"nat"},{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/map-fold/provenance.json b/compiler/rust/rust-std/map-fold/provenance.json index a589cb376..733f34747 100644 --- a/compiler/rust/rust-std/map-fold/provenance.json +++ b/compiler/rust/rust-std/map-fold/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"acd3221748be57ca02c0c93ab3c62c29e381c2b61efe6580fba612c28f379fa3","src/lib.rs":"583d7fceb7d79922f310fbc134c58646916187c1f9066d2b61bad72e1d816b0b"},"name":"map_fold_std","profile":"rust-std","program":"63b90078766cb65f800cd8a26affe5549439339580190e43f94bd40e77c44ae9","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"acd3221748be57ca02c0c93ab3c62c29e381c2b61efe6580fba612c28f379fa3","src/lib.rs":"583d7fceb7d79922f310fbc134c58646916187c1f9066d2b61bad72e1d816b0b"},"name":"map_fold_std","profile":"rust-std","program":"63b90078766cb65f800cd8a26affe5549439339580190e43f94bd40e77c44ae9","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/map-insert-last/package.json b/compiler/rust/rust-std/map-insert-last/package.json index d3d0b5abd..d3e708dea 100644 --- a/compiler/rust/rust-std/map-insert-last/package.json +++ b/compiler/rust/rust-std/map-insert-last/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"map_insert_last_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":2}]},"parameters":[0,1,2],"result":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}}},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}}},{"kind":"var","name":4}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":3},{"function":1,"kind":"call","operands":[{"kind":"var","name":4},{"kind":"var","name":1},{"kind":"var","name":2}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"},{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"map_insert_last_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":2}]},"parameters":[0,1,2],"result":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}}},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}}},{"kind":"var","name":4}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":3},{"function":1,"kind":"call","operands":[{"kind":"var","name":4},{"kind":"var","name":1},{"kind":"var","name":2}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"},{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/map-insert-last/provenance.json b/compiler/rust/rust-std/map-insert-last/provenance.json index 324162168..bf8be6c80 100644 --- a/compiler/rust/rust-std/map-insert-last/provenance.json +++ b/compiler/rust/rust-std/map-insert-last/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"2f8618383f2124ef08ead6b647ca07d17cd0fc89e6fd3788e1b0621caf42d774","src/lib.rs":"aaec98e55df975f9cfe92f9af0029672221cf16f34376b04f17d9067ec2aa258"},"name":"map_insert_last_std","profile":"rust-std","program":"5a01e58fc0d604993996bb97ea9ae231bdf42b95ffc1e1a14babe6a9f9760146","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"2f8618383f2124ef08ead6b647ca07d17cd0fc89e6fd3788e1b0621caf42d774","src/lib.rs":"aaec98e55df975f9cfe92f9af0029672221cf16f34376b04f17d9067ec2aa258"},"name":"map_insert_last_std","profile":"rust-std","program":"5a01e58fc0d604993996bb97ea9ae231bdf42b95ffc1e1a14babe6a9f9760146","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/map-insert-replace/package.json b/compiler/rust/rust-std/map-insert-replace/package.json index 45d597626..d456d1806 100644 --- a/compiler/rust/rust-std/map-insert-replace/package.json +++ b/compiler/rust/rust-std/map-insert-replace/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"map_insert_replace_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":2}]},"parameters":[0,1,2],"result":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}}},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}}},{"kind":"var","name":4}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":3},{"function":1,"kind":"call","operands":[{"kind":"var","name":4},{"kind":"var","name":1},{"kind":"var","name":2}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"},{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"map_insert_replace_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":2}]},"parameters":[0,1,2],"result":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}}},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}}},{"kind":"var","name":4}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":3},{"function":1,"kind":"call","operands":[{"kind":"var","name":4},{"kind":"var","name":1},{"kind":"var","name":2}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"},{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/map-insert-replace/provenance.json b/compiler/rust/rust-std/map-insert-replace/provenance.json index f72238f31..d5aba76c2 100644 --- a/compiler/rust/rust-std/map-insert-replace/provenance.json +++ b/compiler/rust/rust-std/map-insert-replace/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"4e3afd163bad1322c23b861692ee6e15998741fb5dbf234985415b3cd9185f25","src/lib.rs":"aaec98e55df975f9cfe92f9af0029672221cf16f34376b04f17d9067ec2aa258"},"name":"map_insert_replace_std","profile":"rust-std","program":"5a01e58fc0d604993996bb97ea9ae231bdf42b95ffc1e1a14babe6a9f9760146","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"4e3afd163bad1322c23b861692ee6e15998741fb5dbf234985415b3cd9185f25","src/lib.rs":"aaec98e55df975f9cfe92f9af0029672221cf16f34376b04f17d9067ec2aa258"},"name":"map_insert_replace_std","profile":"rust-std","program":"5a01e58fc0d604993996bb97ea9ae231bdf42b95ffc1e1a14babe6a9f9760146","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/map-insert/package.json b/compiler/rust/rust-std/map-insert/package.json index d40822b9b..688d47862 100644 --- a/compiler/rust/rust-std/map-insert/package.json +++ b/compiler/rust/rust-std/map-insert/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"map_insert_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":2}]},"parameters":[0,1,2],"result":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}}},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}}},{"kind":"var","name":4}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":3},{"function":1,"kind":"call","operands":[{"kind":"var","name":4},{"kind":"var","name":1},{"kind":"var","name":2}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"},{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"map_insert_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":2}]},"parameters":[0,1,2],"result":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}}},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}}},{"kind":"var","name":4}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":3},{"function":1,"kind":"call","operands":[{"kind":"var","name":4},{"kind":"var","name":1},{"kind":"var","name":2}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"},{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/map-insert/provenance.json b/compiler/rust/rust-std/map-insert/provenance.json index 2df388dc7..9337942c4 100644 --- a/compiler/rust/rust-std/map-insert/provenance.json +++ b/compiler/rust/rust-std/map-insert/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"8cd5b6cabaa16bbfb42573a6909a72db39ceead8cc4f57f1128d6e3ff7717895","src/lib.rs":"aaec98e55df975f9cfe92f9af0029672221cf16f34376b04f17d9067ec2aa258"},"name":"map_insert_std","profile":"rust-std","program":"5a01e58fc0d604993996bb97ea9ae231bdf42b95ffc1e1a14babe6a9f9760146","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"8cd5b6cabaa16bbfb42573a6909a72db39ceead8cc4f57f1128d6e3ff7717895","src/lib.rs":"aaec98e55df975f9cfe92f9af0029672221cf16f34376b04f17d9067ec2aa258"},"name":"map_insert_std","profile":"rust-std","program":"5a01e58fc0d604993996bb97ea9ae231bdf42b95ffc1e1a14babe6a9f9760146","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/map-keys/package.json b/compiler/rust/rust-std/map-keys/package.json index fbaf53b40..e76d9b583 100644 --- a/compiler/rust/rust-std/map-keys/package.json +++ b/compiler/rust/rust-std/map-keys/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"map_keys_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"parameters":[0],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"function":1,"kind":"call","operands":[{"kind":"var","name":2}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"map_keys_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"parameters":[0],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"function":1,"kind":"call","operands":[{"kind":"var","name":2}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/map-keys/provenance.json b/compiler/rust/rust-std/map-keys/provenance.json index 43ad0750e..b6f8ac448 100644 --- a/compiler/rust/rust-std/map-keys/provenance.json +++ b/compiler/rust/rust-std/map-keys/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"9a54e4fad0cbdaed5584a08314a193ff57dd32021316c1dd556511e541965ede","src/lib.rs":"9eb502c8b15d3fcfbb95a53990d6397bdc83c6c8015311c1dc594aac2cf591f0"},"name":"map_keys_std","profile":"rust-std","program":"1e925223f9489bafbe49be0806a77d50daa7d530901c0996aa7fcdff8c722000","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"9a54e4fad0cbdaed5584a08314a193ff57dd32021316c1dd556511e541965ede","src/lib.rs":"9eb502c8b15d3fcfbb95a53990d6397bdc83c6c8015311c1dc594aac2cf591f0"},"name":"map_keys_std","profile":"rust-std","program":"1e925223f9489bafbe49be0806a77d50daa7d530901c0996aa7fcdff8c722000","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/map-lookup-absent/package.json b/compiler/rust/rust-std/map-lookup-absent/package.json index c7a92e4f3..779edf691 100644 --- a/compiler/rust/rust-std/map-lookup-absent/package.json +++ b/compiler/rust/rust-std/map-lookup-absent/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"map_lookup_absent_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"string"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"string"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"string"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"string"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"kind":"string"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"string"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"string"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"map_lookup_absent_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"string"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"string"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"string"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"string"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"kind":"string"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"string"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"string"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/map-lookup-absent/provenance.json b/compiler/rust/rust-std/map-lookup-absent/provenance.json index c4b6c9cbd..d32d9ef6e 100644 --- a/compiler/rust/rust-std/map-lookup-absent/provenance.json +++ b/compiler/rust/rust-std/map-lookup-absent/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"5e325a7730ab6428120698b0da48e7862add0fb1259c1b40fdad9eb9401c285b","src/lib.rs":"e9feece1646c9b1991285d88596061f5ddf6356621e9537025f3dcd85742ca29"},"name":"map_lookup_absent_std","profile":"rust-std","program":"5836c1d18da2bb1aafa25ef6128410fa43467be15a9530d1244cff1678d7c9a9","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"5e325a7730ab6428120698b0da48e7862add0fb1259c1b40fdad9eb9401c285b","src/lib.rs":"e9feece1646c9b1991285d88596061f5ddf6356621e9537025f3dcd85742ca29"},"name":"map_lookup_absent_std","profile":"rust-std","program":"5836c1d18da2bb1aafa25ef6128410fa43467be15a9530d1244cff1678d7c9a9","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/map-lookup/package.json b/compiler/rust/rust-std/map-lookup/package.json index 1f5c7b307..ba9ce0554 100644 --- a/compiler/rust/rust-std/map-lookup/package.json +++ b/compiler/rust/rust-std/map-lookup/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"map_lookup_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"string"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"string"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"string"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"string"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"kind":"string"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"string"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"string"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"map_lookup_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"string"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"string"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"string"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"string"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"kind":"string"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"string"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"string"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/map-lookup/provenance.json b/compiler/rust/rust-std/map-lookup/provenance.json index 5216d52a3..3c7898d36 100644 --- a/compiler/rust/rust-std/map-lookup/provenance.json +++ b/compiler/rust/rust-std/map-lookup/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"6da1f98af3cd5fd00b1ef2306204a56a335c7fa779fdd526238e546a80808d29","src/lib.rs":"e9feece1646c9b1991285d88596061f5ddf6356621e9537025f3dcd85742ca29"},"name":"map_lookup_std","profile":"rust-std","program":"5836c1d18da2bb1aafa25ef6128410fa43467be15a9530d1244cff1678d7c9a9","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"6da1f98af3cd5fd00b1ef2306204a56a335c7fa779fdd526238e546a80808d29","src/lib.rs":"e9feece1646c9b1991285d88596061f5ddf6356621e9537025f3dcd85742ca29"},"name":"map_lookup_std","profile":"rust-std","program":"5836c1d18da2bb1aafa25ef6128410fa43467be15a9530d1244cff1678d7c9a9","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/map-remove-absent/package.json b/compiler/rust/rust-std/map-remove-absent/package.json index e80e15813..ee28d97da 100644 --- a/compiler/rust/rust-std/map-remove-absent/package.json +++ b/compiler/rust/rust-std/map-remove-absent/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"map_remove_absent_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"map_remove_absent_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/map-remove-absent/provenance.json b/compiler/rust/rust-std/map-remove-absent/provenance.json index 72bb3f334..da9de5b49 100644 --- a/compiler/rust/rust-std/map-remove-absent/provenance.json +++ b/compiler/rust/rust-std/map-remove-absent/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"5f55bd671897808bf269007a9aa515d53c8380c2b60b30ccf7b5e9cf2f3cbca8","src/lib.rs":"2f110e9c33251cb47c9bd9b5ce0834a2092737ba26c79ae8288bcbaa90a684f0"},"name":"map_remove_absent_std","profile":"rust-std","program":"14052f9d4e78410cfe25294fafa508aeea89995b11fe20f274d9e09a673c9883","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"5f55bd671897808bf269007a9aa515d53c8380c2b60b30ccf7b5e9cf2f3cbca8","src/lib.rs":"2f110e9c33251cb47c9bd9b5ce0834a2092737ba26c79ae8288bcbaa90a684f0"},"name":"map_remove_absent_std","profile":"rust-std","program":"14052f9d4e78410cfe25294fafa508aeea89995b11fe20f274d9e09a673c9883","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/map-remove/package.json b/compiler/rust/rust-std/map-remove/package.json index 755b881d9..a3d3270a4 100644 --- a/compiler/rust/rust-std/map-remove/package.json +++ b/compiler/rust/rust-std/map-remove/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"map_remove_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"map_remove_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/map-remove/provenance.json b/compiler/rust/rust-std/map-remove/provenance.json index 2b017904e..e84ed1883 100644 --- a/compiler/rust/rust-std/map-remove/provenance.json +++ b/compiler/rust/rust-std/map-remove/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"e594ad5e1e13afda2304aae978748aeb1fe043d0fe84b4e1d0444eb3ec2f33b4","src/lib.rs":"2f110e9c33251cb47c9bd9b5ce0834a2092737ba26c79ae8288bcbaa90a684f0"},"name":"map_remove_std","profile":"rust-std","program":"14052f9d4e78410cfe25294fafa508aeea89995b11fe20f274d9e09a673c9883","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"e594ad5e1e13afda2304aae978748aeb1fe043d0fe84b4e1d0444eb3ec2f33b4","src/lib.rs":"2f110e9c33251cb47c9bd9b5ce0834a2092737ba26c79ae8288bcbaa90a684f0"},"name":"map_remove_std","profile":"rust-std","program":"14052f9d4e78410cfe25294fafa508aeea89995b11fe20f274d9e09a673c9883","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/map-values/package.json b/compiler/rust/rust-std/map-values/package.json index b46d3ba6a..331c52d32 100644 --- a/compiler/rust/rust-std/map-values/package.json +++ b/compiler/rust/rust-std/map-values/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"map_values_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"parameters":[0],"result":{"element":{"kind":"string"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":1}},{"function":1,"kind":"call","operands":[{"kind":"var","name":2}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"string"},"kind":"list"}},"parameters":[0],"result":{"element":{"kind":"string"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"map_values_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"parameters":[0],"result":{"element":{"kind":"string"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":1}},{"function":1,"kind":"call","operands":[{"kind":"var","name":2}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"string"},"kind":"list"}},"parameters":[0],"result":{"element":{"kind":"string"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/map-values/provenance.json b/compiler/rust/rust-std/map-values/provenance.json index 88e02f75d..68d59b34a 100644 --- a/compiler/rust/rust-std/map-values/provenance.json +++ b/compiler/rust/rust-std/map-values/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"de84dcf781a2251130941f8019fbd4711b083bc77acd61c8f4ca19a211125745","src/lib.rs":"cca7349ebb43212df44eed3ed41779b6c4a93319fa2157052c69ce46039630ed"},"name":"map_values_std","profile":"rust-std","program":"26378f9985f96f922ee1a94bcd555bdda1e7b31d8f0e0d11d7dcc219fe9ae853","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"de84dcf781a2251130941f8019fbd4711b083bc77acd61c8f4ca19a211125745","src/lib.rs":"cca7349ebb43212df44eed3ed41779b6c4a93319fa2157052c69ce46039630ed"},"name":"map_values_std","profile":"rust-std","program":"26378f9985f96f922ee1a94bcd555bdda1e7b31d8f0e0d11d7dcc219fe9ae853","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/match-shapes/package.json b/compiler/rust/rust-std/match-shapes/package.json index e571e4058..b71a31629 100644 --- a/compiler/rust/rust-std/match-shapes/package.json +++ b/compiler/rust/rust-std/match-shapes/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own","own","own"]}],"name":"match_shapes_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"}],[{"kind":"bool"}]]}],"functions":[{"body":{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[5],"body":{"kind":"build","operands":[{"kind":"var","name":5}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},{"kind":"build","operands":[{"arms":[{"binders":[6],"body":{"kind":"build","operands":[{"kind":"var","name":6}],"shape":{"kind":"ok"},"type":{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"ok"}},{"binders":[7],"body":{"kind":"build","operands":[{"kind":"var","name":7}],"shape":{"kind":"error"},"type":{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"error"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}}},{"kind":"build","operands":[{"arms":[{"binders":[8],"body":{"kind":"build","operands":[{"kind":"var","name":8}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"shape":{"constructor":0,"kind":"adt"}},{"binders":[9],"body":{"kind":"build","operands":[{"kind":"var","name":9}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"shape":{"constructor":1,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"index":0,"kind":"adt"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"lt"},"type":{"kind":"ordering"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"eq"},"type":{"kind":"ordering"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"gt"},"type":{"kind":"ordering"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":3},{"kind":"var","name":4}],"operation":{"kind":"compare"}},"type":{"kind":"ordering"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[10],"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":10},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_sub"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},{"kind":"build","operands":[{"arms":[{"binders":[11],"body":{"kind":"build","operands":[{"kind":"var","name":11}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"ok"}},{"binders":[12],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"error"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"kind":"nat"}}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}},"shape":{"kind":"none"}},{"binders":[13],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"ordering"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":0,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"ordering"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}},"right":{"kind":"pair","left":{"index":0,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"ordering"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}},"right":{"kind":"pair","left":{"index":0,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"ordering"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}}},"parameters":[0,1,2,3,4],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}},"right":{"kind":"pair","left":{"index":0,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"ordering"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}},"types":[{"kind":"option","value":{"kind":"nat"}},{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}},{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"unit"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"option","value":{"kind":"nat"}}]},{"body":{"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"kind":"let","name":1,"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own","own","own"]}],"name":"match_shapes_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"}],[{"kind":"bool"}]]}],"functions":[{"body":{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[5],"body":{"kind":"build","operands":[{"kind":"var","name":5}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},{"kind":"build","operands":[{"arms":[{"binders":[6],"body":{"kind":"build","operands":[{"kind":"var","name":6}],"shape":{"kind":"ok"},"type":{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"ok"}},{"binders":[7],"body":{"kind":"build","operands":[{"kind":"var","name":7}],"shape":{"kind":"error"},"type":{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"error"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}}},{"kind":"build","operands":[{"arms":[{"binders":[8],"body":{"kind":"build","operands":[{"kind":"var","name":8}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"shape":{"constructor":0,"kind":"adt"}},{"binders":[9],"body":{"kind":"build","operands":[{"kind":"var","name":9}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"shape":{"constructor":1,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"index":0,"kind":"adt"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"lt"},"type":{"kind":"ordering"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"eq"},"type":{"kind":"ordering"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"gt"},"type":{"kind":"ordering"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":3},{"kind":"var","name":4}],"operation":{"kind":"compare"}},"type":{"kind":"ordering"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[10],"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":10},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_sub"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},{"kind":"build","operands":[{"arms":[{"binders":[11],"body":{"kind":"build","operands":[{"kind":"var","name":11}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"ok"}},{"binders":[12],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"error"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"kind":"nat"}}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}},"shape":{"kind":"none"}},{"binders":[13],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"ordering"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":0,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"ordering"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}},"right":{"kind":"pair","left":{"index":0,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"ordering"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}},"right":{"kind":"pair","left":{"index":0,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"ordering"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}}},"parameters":[0,1,2,3,4],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}},"right":{"kind":"pair","left":{"index":0,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"ordering"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"unit"}}}}}}}},"types":[{"kind":"option","value":{"kind":"nat"}},{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}},{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"unit"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"option","value":{"kind":"nat"}}]},{"body":{"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"kind":"let","name":1,"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/match-shapes/provenance.json b/compiler/rust/rust-std/match-shapes/provenance.json index 31f99eb76..36922bd24 100644 --- a/compiler/rust/rust-std/match-shapes/provenance.json +++ b/compiler/rust/rust-std/match-shapes/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"0fc175e8e696efab2e0974dc5539bc94654a9eeef8fcc26f11a0a4bb03f3d483","src/lib.rs":"03c28aa070c011683bbd164a59f2de77fe840f40e08512c69984460efc597b24"},"name":"match_shapes_std","profile":"rust-std","program":"9680443f3a937a999f89648157989a00a6143ddefdeb16329afe27891c3279a2","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"0fc175e8e696efab2e0974dc5539bc94654a9eeef8fcc26f11a0a4bb03f3d483","src/lib.rs":"03c28aa070c011683bbd164a59f2de77fe840f40e08512c69984460efc597b24"},"name":"match_shapes_std","profile":"rust-std","program":"9680443f3a937a999f89648157989a00a6143ddefdeb16329afe27891c3279a2","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/nat-arithmetic/package.json b/compiler/rust/rust-std/nat-arithmetic/package.json index e61f5dc42..b10144b89 100644 --- a/compiler/rust/rust-std/nat-arithmetic/package.json +++ b/compiler/rust/rust-std/nat-arithmetic/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"nat_arithmetic_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"9"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"6"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"7"}}],"operation":{"kind":"nat_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"17"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"17"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"7"}}],"operation":{"kind":"nat_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}}],"operation":{"kind":"nat_rem"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"18446744073709551614"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_eq"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_eq"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_le"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_le"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_lt"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_lt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"element":{"kind":"bool"},"kind":"list"}}},"parameters":[],"result":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"element":{"kind":"bool"},"kind":"list"}},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"nat_arithmetic_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"9"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"6"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"7"}}],"operation":{"kind":"nat_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"17"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"17"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"7"}}],"operation":{"kind":"nat_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}}],"operation":{"kind":"nat_rem"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"18446744073709551614"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_eq"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_eq"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_le"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_le"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_lt"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_lt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"element":{"kind":"bool"},"kind":"list"}}},"parameters":[],"result":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"element":{"kind":"bool"},"kind":"list"}},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/nat-arithmetic/provenance.json b/compiler/rust/rust-std/nat-arithmetic/provenance.json index d059387b3..94594d0e9 100644 --- a/compiler/rust/rust-std/nat-arithmetic/provenance.json +++ b/compiler/rust/rust-std/nat-arithmetic/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"52d874842364a98a1ec3af35151dc6553820eb61a73b729963df7c502dc45656","src/lib.rs":"b90de3b8c5e1a292e2bcd4f27fe82dd61ff975398b9cf3c6ef006692e6d7c829"},"name":"nat_arithmetic_std","profile":"rust-std","program":"18e386987a44d4e9057579c3775b66c5293ebaa332bb2cba7811f2f828c7df9c","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"52d874842364a98a1ec3af35151dc6553820eb61a73b729963df7c502dc45656","src/lib.rs":"b90de3b8c5e1a292e2bcd4f27fe82dd61ff975398b9cf3c6ef006692e6d7c829"},"name":"nat_arithmetic_std","profile":"rust-std","program":"18e386987a44d4e9057579c3775b66c5293ebaa332bb2cba7811f2f828c7df9c","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/nat-overflow-add/package.json b/compiler/rust/rust-std/nat-overflow-add/package.json index 4b7774b97..f770b46be 100644 --- a/compiler/rust/rust-std/nat-overflow-add/package.json +++ b/compiler/rust/rust-std/nat-overflow-add/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"nat_overflow_add_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"18446744073709551615"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"parameters":[],"result":{"kind":"nat"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"nat_overflow_add_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"18446744073709551615"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"parameters":[],"result":{"kind":"nat"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/nat-overflow-add/provenance.json b/compiler/rust/rust-std/nat-overflow-add/provenance.json index 0a597a20e..5bc648b82 100644 --- a/compiler/rust/rust-std/nat-overflow-add/provenance.json +++ b/compiler/rust/rust-std/nat-overflow-add/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"c7d9a73db6e119b2287af8553c30fcc2ba8490c05fe072c99b3693ab3f14c484","src/lib.rs":"f2eca38aef1cf7d204233f8bd6561803dca4fb7bfb1ec1f58caa726bbd3fc130"},"name":"nat_overflow_add_std","profile":"rust-std","program":"75136000ad8f2649db77d0237b973fea7740fa9fa28016b113d678a049dc353a","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"c7d9a73db6e119b2287af8553c30fcc2ba8490c05fe072c99b3693ab3f14c484","src/lib.rs":"f2eca38aef1cf7d204233f8bd6561803dca4fb7bfb1ec1f58caa726bbd3fc130"},"name":"nat_overflow_add_std","profile":"rust-std","program":"75136000ad8f2649db77d0237b973fea7740fa9fa28016b113d678a049dc353a","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/nat-overflow-mul/package.json b/compiler/rust/rust-std/nat-overflow-mul/package.json index ec25c87e1..ce72f0b0e 100644 --- a/compiler/rust/rust-std/nat-overflow-mul/package.json +++ b/compiler/rust/rust-std/nat-overflow-mul/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"nat_overflow_mul_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4294967296"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4294967296"}}],"operation":{"kind":"nat_mul"}},"parameters":[],"result":{"kind":"nat"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"nat_overflow_mul_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4294967296"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4294967296"}}],"operation":{"kind":"nat_mul"}},"parameters":[],"result":{"kind":"nat"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/nat-overflow-mul/provenance.json b/compiler/rust/rust-std/nat-overflow-mul/provenance.json index 9d6da1f6e..abfa16eeb 100644 --- a/compiler/rust/rust-std/nat-overflow-mul/provenance.json +++ b/compiler/rust/rust-std/nat-overflow-mul/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"c51c40386c887537c3db34b43f2599c75078af2764050494c5fdbbd35c91426d","src/lib.rs":"44257ffe7458bc923269bc1c46ad8d68a93e0d55ac1743c45be328370993e5bf"},"name":"nat_overflow_mul_std","profile":"rust-std","program":"39cd232f7cdf413f7c2ca48cb08a2ba12c63d0e4cad7e882987c21ac7b2ca535","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"c51c40386c887537c3db34b43f2599c75078af2764050494c5fdbbd35c91426d","src/lib.rs":"44257ffe7458bc923269bc1c46ad8d68a93e0d55ac1743c45be328370993e5bf"},"name":"nat_overflow_mul_std","profile":"rust-std","program":"39cd232f7cdf413f7c2ca48cb08a2ba12c63d0e4cad7e882987c21ac7b2ca535","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/nat-overflow-nested/package.json b/compiler/rust/rust-std/nat-overflow-nested/package.json index 57ac1a6cb..578117dc8 100644 --- a/compiler/rust/rust-std/nat-overflow-nested/package.json +++ b/compiler/rust/rust-std/nat-overflow-nested/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"nat_overflow_nested_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"18446744073709551615"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_mul"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"parameters":[],"result":{"kind":"nat"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"nat_overflow_nested_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"18446744073709551615"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_mul"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"parameters":[],"result":{"kind":"nat"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/nat-overflow-nested/provenance.json b/compiler/rust/rust-std/nat-overflow-nested/provenance.json index c16cb1882..c67781e0f 100644 --- a/compiler/rust/rust-std/nat-overflow-nested/provenance.json +++ b/compiler/rust/rust-std/nat-overflow-nested/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"63ae0461075538d1b66575a4ed6deb54143cfee5157c49aeb77bf881619127b5","src/lib.rs":"bdd6ca1493a1086d5f5ad34f4ebfba15288a59a193e0f9c9f4abc8581c3a49c3"},"name":"nat_overflow_nested_std","profile":"rust-std","program":"ce3c27adceeaff5a870453e77162774541aaadbd6163b168d754ee39f964d7f9","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"63ae0461075538d1b66575a4ed6deb54143cfee5157c49aeb77bf881619127b5","src/lib.rs":"bdd6ca1493a1086d5f5ad34f4ebfba15288a59a193e0f9c9f4abc8581c3a49c3"},"name":"nat_overflow_nested_std","profile":"rust-std","program":"ce3c27adceeaff5a870453e77162774541aaadbd6163b168d754ee39f964d7f9","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/nat-overflow-succ/package.json b/compiler/rust/rust-std/nat-overflow-succ/package.json index a5b3dd988..802ea3012 100644 --- a/compiler/rust/rust-std/nat-overflow-succ/package.json +++ b/compiler/rust/rust-std/nat-overflow-succ/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"nat_overflow_succ_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"18446744073709551615"}}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},"parameters":[],"result":{"kind":"nat"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":[]}],"name":"nat_overflow_succ_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"18446744073709551615"}}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},"parameters":[],"result":{"kind":"nat"},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/nat-overflow-succ/provenance.json b/compiler/rust/rust-std/nat-overflow-succ/provenance.json index 6e5148c23..efefcb3e7 100644 --- a/compiler/rust/rust-std/nat-overflow-succ/provenance.json +++ b/compiler/rust/rust-std/nat-overflow-succ/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"aa64b611cb42944aa7f2368328114b98d0c0771ca2fb3703b7c8d04c965f0023","src/lib.rs":"08d68e1e54ea4e238b9947e1c314dee05b3f8cdb8687c14168612d9da31493c8"},"name":"nat_overflow_succ_std","profile":"rust-std","program":"71f5809a5001f094afc988a2e7a574309cd425857b135a51fbfeb799e80c9ee5","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"aa64b611cb42944aa7f2368328114b98d0c0771ca2fb3703b7c8d04c965f0023","src/lib.rs":"08d68e1e54ea4e238b9947e1c314dee05b3f8cdb8687c14168612d9da31493c8"},"name":"nat_overflow_succ_std","profile":"rust-std","program":"71f5809a5001f094afc988a2e7a574309cd425857b135a51fbfeb799e80c9ee5","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/ordering/package.json b/compiler/rust/rust-std/ordering/package.json index af135e025..9b6c0bcf6 100644 --- a/compiler/rust/rust-std/ordering/package.json +++ b/compiler/rust/rust-std/ordering/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"ordering_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"10"}}],"operation":{"kind":"compare"}},"type":{"kind":"nat"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-3"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-3"}}],"operation":{"kind":"compare"}},"type":{"kind":"nat"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i16"},"value":{"kind":"i16","value":"5"}},{"kind":"value","type":{"kind":"fixed","width":"i16"},"value":{"kind":"i16","value":"-5"}}],"operation":{"kind":"compare"}},"type":{"kind":"nat"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"0"}},{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"1"}}],"operation":{"kind":"compare"}},"type":{"kind":"nat"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"operation":{"kind":"compare"}},"type":{"kind":"nat"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"z"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"é"}}],"operation":{"kind":"compare"}},"type":{"kind":"nat"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"ab"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"a"}}],"operation":{"kind":"compare"}},"type":{"kind":"nat"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"1"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"b"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"int"},"right":{"kind":"string"}}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"1"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"a"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"int"},"right":{"kind":"string"}}}],"operation":{"kind":"compare"}},"type":{"kind":"nat"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"0"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"z"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"int"},"right":{"kind":"string"}}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"1"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"a"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"int"},"right":{"kind":"string"}}}],"operation":{"kind":"compare"}},"type":{"kind":"nat"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"value","type":{"kind":"ordering"},"value":{"kind":"ordering","value":"gt"}},"type":{"kind":"nat"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"lt"},"type":{"kind":"ordering"}},{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"eq"},"type":{"kind":"ordering"}},{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"gt"},"type":{"kind":"ordering"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"ordering"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"ordering"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"ordering"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"ordering"},"kind":"list"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"element":{"kind":"ordering"},"kind":"list"}}},"parameters":[],"result":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"element":{"kind":"ordering"},"kind":"list"}},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"ordering_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"10"}}],"operation":{"kind":"compare"}},"type":{"kind":"nat"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-3"}},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-3"}}],"operation":{"kind":"compare"}},"type":{"kind":"nat"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"i16"},"value":{"kind":"i16","value":"5"}},{"kind":"value","type":{"kind":"fixed","width":"i16"},"value":{"kind":"i16","value":"-5"}}],"operation":{"kind":"compare"}},"type":{"kind":"nat"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"0"}},{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"1"}}],"operation":{"kind":"compare"}},"type":{"kind":"nat"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"operation":{"kind":"compare"}},"type":{"kind":"nat"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"z"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"é"}}],"operation":{"kind":"compare"}},"type":{"kind":"nat"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"ab"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"a"}}],"operation":{"kind":"compare"}},"type":{"kind":"nat"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"1"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"b"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"int"},"right":{"kind":"string"}}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"1"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"a"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"int"},"right":{"kind":"string"}}}],"operation":{"kind":"compare"}},"type":{"kind":"nat"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"0"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"z"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"int"},"right":{"kind":"string"}}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"1"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"a"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"int"},"right":{"kind":"string"}}}],"operation":{"kind":"compare"}},"type":{"kind":"nat"}},{"kind":"build","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"value","type":{"kind":"ordering"},"value":{"kind":"ordering","value":"gt"}},"type":{"kind":"nat"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"lt"},"type":{"kind":"ordering"}},{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"eq"},"type":{"kind":"ordering"}},{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"gt"},"type":{"kind":"ordering"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"ordering"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"ordering"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"ordering"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"ordering"},"kind":"list"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"element":{"kind":"ordering"},"kind":"list"}}},"parameters":[],"result":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"element":{"kind":"ordering"},"kind":"list"}},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/ordering/provenance.json b/compiler/rust/rust-std/ordering/provenance.json index 5db713f72..af3ed64ba 100644 --- a/compiler/rust/rust-std/ordering/provenance.json +++ b/compiler/rust/rust-std/ordering/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"142a59240c00723aa00ed298dd5b431f7f14b956d4b09b9752c4802c0d21b326","src/lib.rs":"36558853c89ae0ee0daf0aaa24d39d1b20f1d65407f2bd6d5b4ca71970460983"},"name":"ordering_std","profile":"rust-std","program":"3217967643b88e6bc78df4e90f18f31985e02fe048e60d864ef4567a410b67e4","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"142a59240c00723aa00ed298dd5b431f7f14b956d4b09b9752c4802c0d21b326","src/lib.rs":"36558853c89ae0ee0daf0aaa24d39d1b20f1d65407f2bd6d5b4ca71970460983"},"name":"ordering_std","profile":"rust-std","program":"3217967643b88e6bc78df4e90f18f31985e02fe048e60d864ef4567a410b67e4","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/pair-and-list-match/package.json b/compiler/rust/rust-std/pair-and-list-match/package.json index 58948160c..8f187acde 100644 --- a/compiler/rust/rust-std/pair-and-list-match/package.json +++ b/compiler/rust/rust-std/pair-and-list-match/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"pair_and_list_match_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[1,2],"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"arms":[{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"none"}},{"binders":[5],"body":{"kind":"prim","operands":[{"kind":"var","name":3},{"kind":"var","name":5}],"operation":{"kind":"nat_add"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"nat"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"nat"}},"shape":{"kind":"pair"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"option","value":{"kind":"nat"}}}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"pair_and_list_match_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[1,2],"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"arms":[{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"none"}},{"binders":[5],"body":{"kind":"prim","operands":[{"kind":"var","name":3},{"kind":"var","name":5}],"operation":{"kind":"nat_add"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"nat"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"nat"}},"shape":{"kind":"pair"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"option","value":{"kind":"nat"}}}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/pair-and-list-match/provenance.json b/compiler/rust/rust-std/pair-and-list-match/provenance.json index a8b37b2d7..7a616337c 100644 --- a/compiler/rust/rust-std/pair-and-list-match/provenance.json +++ b/compiler/rust/rust-std/pair-and-list-match/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"e0950c055dee20845f6a4ba4b9abcdaa1edb939a5a9c9896993fa947cc3728da","src/lib.rs":"44d429c4629f6b714bf018623c134c6a165f24ac81a740d6cd6f145510481eb9"},"name":"pair_and_list_match_std","profile":"rust-std","program":"64b6104291406dae5cd141de083c74e050f1bc09e350c00f0d6a6e7f59eefb09","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"e0950c055dee20845f6a4ba4b9abcdaa1edb939a5a9c9896993fa947cc3728da","src/lib.rs":"44d429c4629f6b714bf018623c134c6a165f24ac81a740d6cd6f145510481eb9"},"name":"pair_and_list_match_std","profile":"rust-std","program":"64b6104291406dae5cd141de083c74e050f1bc09e350c00f0d6a6e7f59eefb09","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-dose-120/package.json b/compiler/rust/rust-std/reasoning-dose-120/package.json index 49af8bb47..7dd0252c8 100644 --- a/compiler/rust/rust-std/reasoning-dose-120/package.json +++ b/compiler/rust/rust-std/reasoning-dose-120/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_dose_120_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"option","value":{"kind":"nat"}},{"kind":"bool"},{"index":1,"kind":"adt"}]]},{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"kind":"nat"}]]}],"functions":[{"body":{"body":{"kind":"build","operands":[{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":2,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":2,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":1}]}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"index":0,"kind":"field","value":{"kind":"var","name":1}},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}}},{"kind":"build","operands":[{"index":0,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"build","operands":[{"index":1,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"build","operands":[{"index":2,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"build","operands":[{"index":3,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"build","operands":[{"index":4,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"index":5,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}},"bound":{"function":6,"kind":"call","operands":[{"captures":[{"kind":"var","name":0}],"function":4,"kind":"closure"},{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"index":0,"kind":"adt"}},"parameters":[0],"result":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}},"types":[{"kind":"nat"}]},{"body":{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_le"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"kind":"cond","then_branch":{"kind":"var","name":1}},"bound":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"10"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"30"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"50"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"kind":"let","name":1,"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}},{"kind":"var","name":0}],"operation":{"kind":"nat_le"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[3],"body":{"kind":"var","name":1},"shape":{"kind":"some"}},{"binders":[],"body":{"condition":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"index":2,"kind":"field","value":{"kind":"var","name":1}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},{"index":1,"kind":"field","value":{"kind":"var","name":1}},{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":2,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"index":3,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":5,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"index":0,"kind":"field","value":{"kind":"var","name":1}},"type":{"index":0,"kind":"adt"}},"parameters":[0,1,2],"result":{"index":0,"kind":"adt"},"types":[{"kind":"nat"},{"index":0,"kind":"adt"},{"kind":"nat"}]},{"body":{"condition":{"index":1,"kind":"field","value":{"kind":"var","name":0}},"else_branch":{"condition":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":6,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"index":0,"kind":"adt"}},"parameters":[0,1,2],"result":{"index":0,"kind":"adt"},"types":[{"kind":"fn","parameters":[{"index":0,"kind":"adt"},{"kind":"nat"}],"result":{"index":0,"kind":"adt"}},{"index":0,"kind":"adt"},{"element":{"kind":"nat"},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_dose_120_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"option","value":{"kind":"nat"}},{"kind":"bool"},{"index":1,"kind":"adt"}]]},{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"kind":"nat"}]]}],"functions":[{"body":{"body":{"kind":"build","operands":[{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":2,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":2,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":1}]}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"index":0,"kind":"field","value":{"kind":"var","name":1}},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}}},{"kind":"build","operands":[{"index":0,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"build","operands":[{"index":1,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"build","operands":[{"index":2,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"build","operands":[{"index":3,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"build","operands":[{"index":4,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"index":5,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}},"bound":{"function":6,"kind":"call","operands":[{"captures":[{"kind":"var","name":0}],"function":4,"kind":"closure"},{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"index":0,"kind":"adt"}},"parameters":[0],"result":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}},"types":[{"kind":"nat"}]},{"body":{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_le"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"kind":"cond","then_branch":{"kind":"var","name":1}},"bound":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"10"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"30"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"50"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"kind":"let","name":1,"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}},{"kind":"var","name":0}],"operation":{"kind":"nat_le"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[3],"body":{"kind":"var","name":1},"shape":{"kind":"some"}},{"binders":[],"body":{"condition":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"index":2,"kind":"field","value":{"kind":"var","name":1}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},{"index":1,"kind":"field","value":{"kind":"var","name":1}},{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":2,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"index":3,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":5,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"index":0,"kind":"field","value":{"kind":"var","name":1}},"type":{"index":0,"kind":"adt"}},"parameters":[0,1,2],"result":{"index":0,"kind":"adt"},"types":[{"kind":"nat"},{"index":0,"kind":"adt"},{"kind":"nat"}]},{"body":{"condition":{"index":1,"kind":"field","value":{"kind":"var","name":0}},"else_branch":{"condition":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":6,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"index":0,"kind":"adt"}},"parameters":[0,1,2],"result":{"index":0,"kind":"adt"},"types":[{"kind":"fn","parameters":[{"index":0,"kind":"adt"},{"kind":"nat"}],"result":{"index":0,"kind":"adt"}},{"index":0,"kind":"adt"},{"element":{"kind":"nat"},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-dose-120/provenance.json b/compiler/rust/rust-std/reasoning-dose-120/provenance.json index 9115edb43..df6c6e433 100644 --- a/compiler/rust/rust-std/reasoning-dose-120/provenance.json +++ b/compiler/rust/rust-std/reasoning-dose-120/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"347ca6976c581cfc7210315f36ce0d8079179f4f8988dcf909b6110270779d7a","src/lib.rs":"d717a3caeb5fa31378975d68db7192958c9beb599c424476f857c3fd164b3e0b"},"name":"reasoning_dose_120_std","profile":"rust-std","program":"94fc260ab569c32e5f07d9b4018587bf3894f17d5f47f026fdadb127ee750c08","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"347ca6976c581cfc7210315f36ce0d8079179f4f8988dcf909b6110270779d7a","src/lib.rs":"d717a3caeb5fa31378975d68db7192958c9beb599c424476f857c3fd164b3e0b"},"name":"reasoning_dose_120_std","profile":"rust-std","program":"94fc260ab569c32e5f07d9b4018587bf3894f17d5f47f026fdadb127ee750c08","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-dose-60/package.json b/compiler/rust/rust-std/reasoning-dose-60/package.json index 109b532c8..96dbff0c6 100644 --- a/compiler/rust/rust-std/reasoning-dose-60/package.json +++ b/compiler/rust/rust-std/reasoning-dose-60/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_dose_60_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"option","value":{"kind":"nat"}},{"kind":"bool"},{"index":1,"kind":"adt"}]]},{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"kind":"nat"}]]}],"functions":[{"body":{"body":{"kind":"build","operands":[{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":2,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":2,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":1}]}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"index":0,"kind":"field","value":{"kind":"var","name":1}},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}}},{"kind":"build","operands":[{"index":0,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"build","operands":[{"index":1,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"build","operands":[{"index":2,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"build","operands":[{"index":3,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"build","operands":[{"index":4,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"index":5,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}},"bound":{"function":6,"kind":"call","operands":[{"captures":[{"kind":"var","name":0}],"function":4,"kind":"closure"},{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"index":0,"kind":"adt"}},"parameters":[0],"result":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}},"types":[{"kind":"nat"}]},{"body":{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_le"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"kind":"cond","then_branch":{"kind":"var","name":1}},"bound":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"10"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"30"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"50"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"kind":"let","name":1,"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}},{"kind":"var","name":0}],"operation":{"kind":"nat_le"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[3],"body":{"kind":"var","name":1},"shape":{"kind":"some"}},{"binders":[],"body":{"condition":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"index":2,"kind":"field","value":{"kind":"var","name":1}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},{"index":1,"kind":"field","value":{"kind":"var","name":1}},{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":2,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"index":3,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":5,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"index":0,"kind":"field","value":{"kind":"var","name":1}},"type":{"index":0,"kind":"adt"}},"parameters":[0,1,2],"result":{"index":0,"kind":"adt"},"types":[{"kind":"nat"},{"index":0,"kind":"adt"},{"kind":"nat"}]},{"body":{"condition":{"index":1,"kind":"field","value":{"kind":"var","name":0}},"else_branch":{"condition":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":6,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"index":0,"kind":"adt"}},"parameters":[0,1,2],"result":{"index":0,"kind":"adt"},"types":[{"kind":"fn","parameters":[{"index":0,"kind":"adt"},{"kind":"nat"}],"result":{"index":0,"kind":"adt"}},{"index":0,"kind":"adt"},{"element":{"kind":"nat"},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_dose_60_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"option","value":{"kind":"nat"}},{"kind":"bool"},{"index":1,"kind":"adt"}]]},{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"kind":"nat"}]]}],"functions":[{"body":{"body":{"kind":"build","operands":[{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":2,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":2,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":1}]}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"index":0,"kind":"field","value":{"kind":"var","name":1}},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}}},{"kind":"build","operands":[{"index":0,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"build","operands":[{"index":1,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"build","operands":[{"index":2,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"build","operands":[{"index":3,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"build","operands":[{"index":4,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"index":5,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}},"bound":{"function":6,"kind":"call","operands":[{"captures":[{"kind":"var","name":0}],"function":4,"kind":"closure"},{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"index":0,"kind":"adt"}},"parameters":[0],"result":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}},"types":[{"kind":"nat"}]},{"body":{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_le"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"kind":"cond","then_branch":{"kind":"var","name":1}},"bound":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"10"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"30"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"50"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"kind":"let","name":1,"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}},{"kind":"var","name":0}],"operation":{"kind":"nat_le"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[3],"body":{"kind":"var","name":1},"shape":{"kind":"some"}},{"binders":[],"body":{"condition":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"index":2,"kind":"field","value":{"kind":"var","name":1}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},{"index":1,"kind":"field","value":{"kind":"var","name":1}},{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":2,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"index":3,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":5,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":1}}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"index":0,"kind":"field","value":{"kind":"var","name":1}},"type":{"index":0,"kind":"adt"}},"parameters":[0,1,2],"result":{"index":0,"kind":"adt"},"types":[{"kind":"nat"},{"index":0,"kind":"adt"},{"kind":"nat"}]},{"body":{"condition":{"index":1,"kind":"field","value":{"kind":"var","name":0}},"else_branch":{"condition":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":6,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"index":0,"kind":"adt"}},"parameters":[0,1,2],"result":{"index":0,"kind":"adt"},"types":[{"kind":"fn","parameters":[{"index":0,"kind":"adt"},{"kind":"nat"}],"result":{"index":0,"kind":"adt"}},{"index":0,"kind":"adt"},{"element":{"kind":"nat"},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-dose-60/provenance.json b/compiler/rust/rust-std/reasoning-dose-60/provenance.json index c06904c29..b03085e1f 100644 --- a/compiler/rust/rust-std/reasoning-dose-60/provenance.json +++ b/compiler/rust/rust-std/reasoning-dose-60/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"f96501b3836fc78e84a14d4a3f7123bdfa3032a365236e06263cd7493b1b94f7","src/lib.rs":"d717a3caeb5fa31378975d68db7192958c9beb599c424476f857c3fd164b3e0b"},"name":"reasoning_dose_60_std","profile":"rust-std","program":"94fc260ab569c32e5f07d9b4018587bf3894f17d5f47f026fdadb127ee750c08","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"f96501b3836fc78e84a14d4a3f7123bdfa3032a365236e06263cd7493b1b94f7","src/lib.rs":"d717a3caeb5fa31378975d68db7192958c9beb599c424476f857c3fd164b3e0b"},"name":"reasoning_dose_60_std","profile":"rust-std","program":"94fc260ab569c32e5f07d9b4018587bf3894f17d5f47f026fdadb127ee750c08","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-gnaf-goal/package.json b/compiler/rust/rust-std/reasoning-gnaf-goal/package.json index 6e9a78332..70e738d5f 100644 --- a/compiler/rust/rust-std/reasoning-gnaf-goal/package.json +++ b/compiler/rust/rust-std/reasoning-gnaf-goal/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own","own","own","own"]}],"name":"reasoning_gnaf_goal_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":1}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":2}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":3}]},{"function":1,"kind":"call","operands":[{"kind":"var","name":4}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}},"parameters":[0,1,2,3,4],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"16"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"32"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"16"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}},"else_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own","own","own","own"]}],"name":"reasoning_gnaf_goal_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":1}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":2}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":3}]},{"function":1,"kind":"call","operands":[{"kind":"var","name":4}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}},"parameters":[0,1,2,3,4],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"16"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"32"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"16"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}},"else_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-gnaf-goal/provenance.json b/compiler/rust/rust-std/reasoning-gnaf-goal/provenance.json index f8d73bcaf..d3642775f 100644 --- a/compiler/rust/rust-std/reasoning-gnaf-goal/provenance.json +++ b/compiler/rust/rust-std/reasoning-gnaf-goal/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"7c664b1a44d8b0d82829f8a530bf9f18a59c195086e35dd97e0d8d1db06f6b70","src/lib.rs":"3c9f85f3ec07a4ff1c6a736746141acbd3cc061dfcd1ddbdfdd999d66cae1dd1"},"name":"reasoning_gnaf_goal_std","profile":"rust-std","program":"3f7539345858c86ded3ea323d38024b3deb6a45c6c7de84927959e23bbf92512","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"7c664b1a44d8b0d82829f8a530bf9f18a59c195086e35dd97e0d8d1db06f6b70","src/lib.rs":"3c9f85f3ec07a4ff1c6a736746141acbd3cc061dfcd1ddbdfdd999d66cae1dd1"},"name":"reasoning_gnaf_goal_std","profile":"rust-std","program":"3f7539345858c86ded3ea323d38024b3deb6a45c6c7de84927959e23bbf92512","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-gnaf-priority/package.json b/compiler/rust/rust-std/reasoning-gnaf-priority/package.json index 858e6a13e..61c4accfb 100644 --- a/compiler/rust/rust-std/reasoning-gnaf-priority/package.json +++ b/compiler/rust/rust-std/reasoning-gnaf-priority/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own","own","own","own"]}],"name":"reasoning_gnaf_priority_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":1}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":2}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":3}]},{"function":1,"kind":"call","operands":[{"kind":"var","name":4}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}},"parameters":[0,1,2,3,4],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"256"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_not"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"32"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_not"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"16"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_not"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"256"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}},"kind":"cond","then_branch":{"function":1,"kind":"call","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}}],"operation":{"kind":"nat_add"}}]}},"kind":"cond","then_branch":{"function":1,"kind":"call","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}}],"operation":{"kind":"nat_add"}}]}},"kind":"cond","then_branch":{"function":1,"kind":"call","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"256"}}],"operation":{"kind":"nat_add"}}]}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own","own","own","own"]}],"name":"reasoning_gnaf_priority_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":1}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":2}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":3}]},{"function":1,"kind":"call","operands":[{"kind":"var","name":4}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}},"parameters":[0,1,2,3,4],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"256"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_not"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"32"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_not"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"16"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_not"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"256"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}},"kind":"cond","then_branch":{"function":1,"kind":"call","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}}],"operation":{"kind":"nat_add"}}]}},"kind":"cond","then_branch":{"function":1,"kind":"call","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}}],"operation":{"kind":"nat_add"}}]}},"kind":"cond","then_branch":{"function":1,"kind":"call","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"256"}}],"operation":{"kind":"nat_add"}}]}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-gnaf-priority/provenance.json b/compiler/rust/rust-std/reasoning-gnaf-priority/provenance.json index e0723fba8..281a7fb33 100644 --- a/compiler/rust/rust-std/reasoning-gnaf-priority/provenance.json +++ b/compiler/rust/rust-std/reasoning-gnaf-priority/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"d274b20570b03341619467b141a37178a487d0b5de24733e083f91931360a26f","src/lib.rs":"9d82d8d81f6a7c7d5f9c6afc5a52e35128a33cfd58dcb9b238ef7881e296b376"},"name":"reasoning_gnaf_priority_std","profile":"rust-std","program":"3daf7454a6bd393de7d12ecf49636d2914d09cec5748ae837b7684e00b95fe74","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"d274b20570b03341619467b141a37178a487d0b5de24733e083f91931360a26f","src/lib.rs":"9d82d8d81f6a7c7d5f9c6afc5a52e35128a33cfd58dcb9b238ef7881e296b376"},"name":"reasoning_gnaf_priority_std","profile":"rust-std","program":"3daf7454a6bd393de7d12ecf49636d2914d09cec5748ae837b7684e00b95fe74","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-gnaf-sweep/package.json b/compiler/rust/rust-std/reasoning-gnaf-sweep/package.json index 4c6453d1a..bc0b5dc8c 100644 --- a/compiler/rust/rust-std/reasoning-gnaf-sweep/package.json +++ b/compiler/rust/rust-std/reasoning-gnaf-sweep/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own","own","own","own"]}],"name":"reasoning_gnaf_sweep_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":1}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":2}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":3}]},{"function":1,"kind":"call","operands":[{"kind":"var","name":4}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}},"parameters":[0,1,2,3,4],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"body":{"body":{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":3},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"256"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":3},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":3},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}},"bound":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"256"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_not"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"32"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"else_branch":{"kind":"var","name":2},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"256"}}],"operation":{"kind":"nat_add"}}},"kind":"let","name":3,"type":{"kind":"nat"}},"bound":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_not"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"16"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"else_branch":{"kind":"var","name":1},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}}],"operation":{"kind":"nat_add"}}},"kind":"let","name":2,"type":{"kind":"nat"}},"bound":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_not"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"else_branch":{"kind":"var","name":0},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}}],"operation":{"kind":"nat_add"}}},"kind":"let","name":1,"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own","own","own","own"]}],"name":"reasoning_gnaf_sweep_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":1}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":2}]},{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":3}]},{"function":1,"kind":"call","operands":[{"kind":"var","name":4}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}},"parameters":[0,1,2,3,4],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"body":{"body":{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":3},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"256"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":3},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":3},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}},"bound":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"256"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_not"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"32"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"else_branch":{"kind":"var","name":2},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"256"}}],"operation":{"kind":"nat_add"}}},"kind":"let","name":3,"type":{"kind":"nat"}},"bound":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_not"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"16"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"else_branch":{"kind":"var","name":1},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"128"}}],"operation":{"kind":"nat_add"}}},"kind":"let","name":2,"type":{"kind":"nat"}},"bound":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_not"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_quot"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"else_branch":{"kind":"var","name":0},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"64"}}],"operation":{"kind":"nat_add"}}},"kind":"let","name":1,"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-gnaf-sweep/provenance.json b/compiler/rust/rust-std/reasoning-gnaf-sweep/provenance.json index 8ca963162..356be6fad 100644 --- a/compiler/rust/rust-std/reasoning-gnaf-sweep/provenance.json +++ b/compiler/rust/rust-std/reasoning-gnaf-sweep/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"cdf1a2e6549bd88950dfe97e645ceb896a5437e8a3bf85fde9fda45caeabd1af","src/lib.rs":"1dd6fa41d8bc7c26bd2829b420e6de6bfd26d017ca394c70cf50d5565469bbc5"},"name":"reasoning_gnaf_sweep_std","profile":"rust-std","program":"ed0eba6159b16bcdf765c6e275fceab30b7c9c1b6470f4a19bb09a92a79e19f4","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"cdf1a2e6549bd88950dfe97e645ceb896a5437e8a3bf85fde9fda45caeabd1af","src/lib.rs":"1dd6fa41d8bc7c26bd2829b420e6de6bfd26d017ca394c70cf50d5565469bbc5"},"name":"reasoning_gnaf_sweep_std","profile":"rust-std","program":"ed0eba6159b16bcdf765c6e275fceab30b7c9c1b6470f4a19bb09a92a79e19f4","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-grade-shock/package.json b/compiler/rust/rust-std/reasoning-grade-shock/package.json index 6be91ee7a..9eb1c437b 100644 --- a/compiler/rust/rust-std/reasoning-grade-shock/package.json +++ b/compiler/rust/rust-std/reasoning-grade-shock/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_grade_shock_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[],[],[],[],[],[],[],[]]}],"functions":[{"body":{"body":{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"function":36,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"first","value":{"kind":"var","name":1}}]}},"bound":{"function":37,"kind":"call","operands":[{"captures":[],"function":33,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"11"}},{"function":30,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"380"}},{"index":0,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}},{"index":1,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"12"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":1,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":2,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":3,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":4,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":0,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":18,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":21,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":7,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":6,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":5,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":4,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":3,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":22,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":23,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":2,"kind":"adt"}},{"binders":[],"body":{"function":25,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":3,"kind":"adt"}},{"binders":[],"body":{"function":26,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":4,"kind":"adt"}},{"binders":[],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":5,"kind":"adt"}},{"binders":[],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":6,"kind":"adt"}},{"binders":[],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":7,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"},{"index":2,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":31,"kind":"call","operands":[{"kind":"var","name":0}]},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":35,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"parameters":[0,1],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":37,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":1,"kind":"adt"}],"result":{"kind":"option","value":{"index":1,"kind":"adt"}}},{"kind":"nat"},{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_grade_shock_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[],[],[],[],[],[],[],[]]}],"functions":[{"body":{"body":{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"function":36,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"first","value":{"kind":"var","name":1}}]}},"bound":{"function":37,"kind":"call","operands":[{"captures":[],"function":33,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"11"}},{"function":30,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"380"}},{"index":0,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}},{"index":1,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"12"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":1,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":2,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":3,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":4,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":0,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":18,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":21,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":7,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":6,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":5,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":4,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":3,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":22,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":23,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":2,"kind":"adt"}},{"binders":[],"body":{"function":25,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":3,"kind":"adt"}},{"binders":[],"body":{"function":26,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":4,"kind":"adt"}},{"binders":[],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":5,"kind":"adt"}},{"binders":[],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":6,"kind":"adt"}},{"binders":[],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":7,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"},{"index":2,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":31,"kind":"call","operands":[{"kind":"var","name":0}]},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":35,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"parameters":[0,1],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":37,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":1,"kind":"adt"}],"result":{"kind":"option","value":{"index":1,"kind":"adt"}}},{"kind":"nat"},{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-grade-shock/provenance.json b/compiler/rust/rust-std/reasoning-grade-shock/provenance.json index fb46a7c6a..16117074c 100644 --- a/compiler/rust/rust-std/reasoning-grade-shock/provenance.json +++ b/compiler/rust/rust-std/reasoning-grade-shock/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"b0ec18565a0061f342e0ddbea1c571e6cdc31b992192b18851da3f63a7f66492","src/lib.rs":"9f0933e50f47ed44513bdb1e5764d9b13c33de1be96385880c939b503a81bc31"},"name":"reasoning_grade_shock_std","profile":"rust-std","program":"7ff5b1276ef132016ac9da5b0a77c470eccabe50e899ca8c471b5c1d088afd5d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"b0ec18565a0061f342e0ddbea1c571e6cdc31b992192b18851da3f63a7f66492","src/lib.rs":"9f0933e50f47ed44513bdb1e5764d9b13c33de1be96385880c939b503a81bc31"},"name":"reasoning_grade_shock_std","profile":"rust-std","program":"7ff5b1276ef132016ac9da5b0a77c470eccabe50e899ca8c471b5c1d088afd5d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-grade-well/package.json b/compiler/rust/rust-std/reasoning-grade-well/package.json index c1029cd7b..69e652e5b 100644 --- a/compiler/rust/rust-std/reasoning-grade-well/package.json +++ b/compiler/rust/rust-std/reasoning-grade-well/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_grade_well_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[],[],[],[],[],[],[],[]]}],"functions":[{"body":{"body":{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"function":36,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"first","value":{"kind":"var","name":1}}]}},"bound":{"function":37,"kind":"call","operands":[{"captures":[],"function":33,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"11"}},{"function":30,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"380"}},{"index":0,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}},{"index":1,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"12"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":1,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":2,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":3,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":4,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":0,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":18,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":21,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":7,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":6,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":5,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":4,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":3,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":22,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":23,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":2,"kind":"adt"}},{"binders":[],"body":{"function":25,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":3,"kind":"adt"}},{"binders":[],"body":{"function":26,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":4,"kind":"adt"}},{"binders":[],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":5,"kind":"adt"}},{"binders":[],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":6,"kind":"adt"}},{"binders":[],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":7,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"},{"index":2,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":31,"kind":"call","operands":[{"kind":"var","name":0}]},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":35,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"parameters":[0,1],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":37,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":1,"kind":"adt"}],"result":{"kind":"option","value":{"index":1,"kind":"adt"}}},{"kind":"nat"},{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_grade_well_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[],[],[],[],[],[],[],[]]}],"functions":[{"body":{"body":{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"function":36,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"first","value":{"kind":"var","name":1}}]}},"bound":{"function":37,"kind":"call","operands":[{"captures":[],"function":33,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"11"}},{"function":30,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"380"}},{"index":0,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}},{"index":1,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"12"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":1,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":2,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":3,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":4,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":0,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":18,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":21,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":7,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":6,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":5,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":4,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":3,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":22,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":23,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":2,"kind":"adt"}},{"binders":[],"body":{"function":25,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":3,"kind":"adt"}},{"binders":[],"body":{"function":26,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":4,"kind":"adt"}},{"binders":[],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":5,"kind":"adt"}},{"binders":[],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":6,"kind":"adt"}},{"binders":[],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":7,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"},{"index":2,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":31,"kind":"call","operands":[{"kind":"var","name":0}]},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":35,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"parameters":[0,1],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":37,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":1,"kind":"adt"}],"result":{"kind":"option","value":{"index":1,"kind":"adt"}}},{"kind":"nat"},{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-grade-well/provenance.json b/compiler/rust/rust-std/reasoning-grade-well/provenance.json index 076c6141d..df5810e35 100644 --- a/compiler/rust/rust-std/reasoning-grade-well/provenance.json +++ b/compiler/rust/rust-std/reasoning-grade-well/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"e5aae7bacd38b43468b7d1aad15d6666cc62a5bed9abc588a425a8938a781e05","src/lib.rs":"9f0933e50f47ed44513bdb1e5764d9b13c33de1be96385880c939b503a81bc31"},"name":"reasoning_grade_well_std","profile":"rust-std","program":"7ff5b1276ef132016ac9da5b0a77c470eccabe50e899ca8c471b5c1d088afd5d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"e5aae7bacd38b43468b7d1aad15d6666cc62a5bed9abc588a425a8938a781e05","src/lib.rs":"9f0933e50f47ed44513bdb1e5764d9b13c33de1be96385880c939b503a81bc31"},"name":"reasoning_grade_well_std","profile":"rust-std","program":"7ff5b1276ef132016ac9da5b0a77c470eccabe50e899ca8c471b5c1d088afd5d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-plan-2/package.json b/compiler/rust/rust-std/reasoning-plan-2/package.json index 8c0266865..2ff5cb831 100644 --- a/compiler/rust/rust-std/reasoning-plan-2/package.json +++ b/compiler/rust/rust-std/reasoning-plan-2/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_plan_2_std","profile":"rust-std","program":{"adts":[{"constructors":[[],[],[{"kind":"nat"}]]},{"constructors":[[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"element":{"index":0,"kind":"adt"},"kind":"list"}]]},{"constructors":[[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"option","value":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"index":1,"kind":"adt"}}},{"kind":"bool"},{"index":3,"kind":"adt"}]]},{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"body":{"kind":"build","operands":[{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":2}},{"index":1,"kind":"field","value":{"kind":"second","value":{"kind":"var","name":2}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"condition":{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":1}},{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}],"operation":{"kind":"bool_not"}}],"operation":{"kind":"bool_and"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"index":2,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},{"kind":"build","operands":[{"index":0,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":1,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":2,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":3,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":4,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"index":5,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}},"bound":{"function":32,"kind":"call","operands":[{"captures":[{"kind":"var","name":0}],"function":25,"kind":"closure"},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}}],"operation":{"kind":"nat_mul"}},{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}},"types":[{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"second","value":{"kind":"var","name":0}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"condition":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"second","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"condition":{"function":4,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_le"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_le"}},{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"var","name":1}],"operation":{"kind":"nat_sub"}},{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":8,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[2],"body":{"function":10,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"shape":{"constructor":2,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"index":0,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"nat"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":1}},{"kind":"var","name":0}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"kind":"nat"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"bound":{"function":14,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":13,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"nat"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[1],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":11,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[1],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":11,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"none"}},{"binders":[3],"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":3},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"constructor":2,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":11,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"constructor":2,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"kind":"nat"}]},{"body":{"function":28,"kind":"call","operands":[{"captures":[{"kind":"var","name":0}],"function":18,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"function":9,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}]},"parameters":[0],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"prim","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]},{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"operation":{"kind":"append"}}],"operation":{"kind":"append"}},"parameters":[0],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":30,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"index":0,"kind":"field","value":{"kind":"var","name":1}}]},"else_branch":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}},{"function":31,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"index":0,"kind":"field","value":{"kind":"var","name":1}}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}}},"kind":"cond","then_branch":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"types":[{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},{"index":1,"kind":"adt"}]},{"body":{"function":29,"kind":"call","operands":[{"captures":[],"function":21,"kind":"closure"},{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"kind":"var","name":0}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}}},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"},{"element":{"index":1,"kind":"adt"},"kind":"list"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},{"kind":"var","name":0}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"var","name":1},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"nat"},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"index":1,"kind":"adt"}]},{"body":{"body":{"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":31,"kind":"call","operands":[{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]}]},{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"index":1,"kind":"adt"}}}},{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_lt"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"prim","operands":[{"kind":"var","name":2}],"operation":{"kind":"length"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}},"bound":{"function":27,"kind":"call","operands":[{"captures":[{"kind":"var","name":1}],"function":23,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"kind":"build","operands":[{"kind":"build","operands":[{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}]},"kind":"let","name":2,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":0}],"operation":{"kind":"nat_add"}},"kind":"let","name":1,"type":{"kind":"nat"}},"parameters":[0],"result":{"index":2,"kind":"adt"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"arms":[{"binders":[5],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":4},{"index":1,"kind":"field","value":{"kind":"var","name":1}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":5},{"kind":"var","name":3}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"index":1,"kind":"adt"}}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"index":1,"kind":"adt"}}}},{"index":3,"kind":"field","value":{"kind":"var","name":1}},{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":1,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"index":2,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"index":3,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":5,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"body":{"body":{"body":{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":9},{"kind":"second","value":{"kind":"var","name":7}},{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"index":1,"kind":"adt"}}}},{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":1}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":0}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"kind":"var","name":8}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_lt"}}],"operation":{"kind":"bool_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"function":26,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":3}}]}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"kind":"var","name":6}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"condition":{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"kind":"var","name":9}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"index":5,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":9}],"operation":{"kind":"length"}}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"bound":{"function":27,"kind":"call","operands":[{"captures":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":0}],"operation":{"kind":"nat_add"}}],"function":23,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"kind":"var","name":8}]},"kind":"let","name":9,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":4},{"kind":"first","value":{"kind":"var","name":7}}],"operation":{"kind":"append"}},"kind":"let","name":8,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"bound":{"function":22,"kind":"call","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":1}},{"kind":"var","name":6}]},"kind":"let","name":7,"type":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}}},"bound":{"function":20,"kind":"call","operands":[{"kind":"var","name":3}]},"kind":"let","name":6,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":15,"kind":"call","operands":[{"kind":"var","name":0},{"index":0,"kind":"field","value":{"kind":"var","name":3}}]},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"index":0,"kind":"field","value":{"kind":"var","name":1}},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"index":2,"kind":"field","value":{"kind":"var","name":1}},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"kind":"nat"},{"index":2,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"prim","operands":[{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"fn","parameters":[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"index":1,"kind":"adt"}],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"element":{"index":1,"kind":"adt"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"fn","parameters":[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"kind":"nat"}],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"types":[{"kind":"fn","parameters":[{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},{"index":1,"kind":"adt"}],"result":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}}},{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},{"element":{"index":1,"kind":"adt"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":30,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":31,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":2,"kind":"adt"}],"result":{"kind":"option","value":{"index":2,"kind":"adt"}}},{"kind":"nat"},{"index":2,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_plan_2_std","profile":"rust-std","program":{"adts":[{"constructors":[[],[],[{"kind":"nat"}]]},{"constructors":[[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"element":{"index":0,"kind":"adt"},"kind":"list"}]]},{"constructors":[[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"option","value":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"index":1,"kind":"adt"}}},{"kind":"bool"},{"index":3,"kind":"adt"}]]},{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"body":{"kind":"build","operands":[{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":2}},{"index":1,"kind":"field","value":{"kind":"second","value":{"kind":"var","name":2}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"condition":{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":1}},{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}],"operation":{"kind":"bool_not"}}],"operation":{"kind":"bool_and"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"index":2,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},{"kind":"build","operands":[{"index":0,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":1,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":2,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":3,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":4,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"index":5,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}},"bound":{"function":32,"kind":"call","operands":[{"captures":[{"kind":"var","name":0}],"function":25,"kind":"closure"},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}}],"operation":{"kind":"nat_mul"}},{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}},"types":[{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"second","value":{"kind":"var","name":0}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"condition":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"second","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"condition":{"function":4,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_le"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_le"}},{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"var","name":1}],"operation":{"kind":"nat_sub"}},{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":8,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[2],"body":{"function":10,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"shape":{"constructor":2,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"index":0,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"nat"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":1}},{"kind":"var","name":0}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"kind":"nat"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"bound":{"function":14,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":13,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"nat"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[1],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":11,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[1],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":11,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"none"}},{"binders":[3],"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":3},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"constructor":2,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":11,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"constructor":2,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"kind":"nat"}]},{"body":{"function":28,"kind":"call","operands":[{"captures":[{"kind":"var","name":0}],"function":18,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"function":9,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}]},"parameters":[0],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"prim","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]},{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"operation":{"kind":"append"}}],"operation":{"kind":"append"}},"parameters":[0],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":30,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"index":0,"kind":"field","value":{"kind":"var","name":1}}]},"else_branch":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}},{"function":31,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"index":0,"kind":"field","value":{"kind":"var","name":1}}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}}},"kind":"cond","then_branch":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"types":[{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},{"index":1,"kind":"adt"}]},{"body":{"function":29,"kind":"call","operands":[{"captures":[],"function":21,"kind":"closure"},{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"kind":"var","name":0}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}}},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"},{"element":{"index":1,"kind":"adt"},"kind":"list"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},{"kind":"var","name":0}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"var","name":1},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"nat"},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"index":1,"kind":"adt"}]},{"body":{"body":{"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":31,"kind":"call","operands":[{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]}]},{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"index":1,"kind":"adt"}}}},{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_lt"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"prim","operands":[{"kind":"var","name":2}],"operation":{"kind":"length"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}},"bound":{"function":27,"kind":"call","operands":[{"captures":[{"kind":"var","name":1}],"function":23,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"kind":"build","operands":[{"kind":"build","operands":[{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}]},"kind":"let","name":2,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":0}],"operation":{"kind":"nat_add"}},"kind":"let","name":1,"type":{"kind":"nat"}},"parameters":[0],"result":{"index":2,"kind":"adt"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"arms":[{"binders":[5],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":4},{"index":1,"kind":"field","value":{"kind":"var","name":1}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":5},{"kind":"var","name":3}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"index":1,"kind":"adt"}}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"index":1,"kind":"adt"}}}},{"index":3,"kind":"field","value":{"kind":"var","name":1}},{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":1,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"index":2,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"index":3,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":5,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"body":{"body":{"body":{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":9},{"kind":"second","value":{"kind":"var","name":7}},{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"index":1,"kind":"adt"}}}},{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":1}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":0}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"kind":"var","name":8}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_lt"}}],"operation":{"kind":"bool_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"function":26,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":3}}]}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"kind":"var","name":6}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"condition":{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"kind":"var","name":9}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"index":5,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":9}],"operation":{"kind":"length"}}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"bound":{"function":27,"kind":"call","operands":[{"captures":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":0}],"operation":{"kind":"nat_add"}}],"function":23,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"kind":"var","name":8}]},"kind":"let","name":9,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":4},{"kind":"first","value":{"kind":"var","name":7}}],"operation":{"kind":"append"}},"kind":"let","name":8,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"bound":{"function":22,"kind":"call","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":1}},{"kind":"var","name":6}]},"kind":"let","name":7,"type":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}}},"bound":{"function":20,"kind":"call","operands":[{"kind":"var","name":3}]},"kind":"let","name":6,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":15,"kind":"call","operands":[{"kind":"var","name":0},{"index":0,"kind":"field","value":{"kind":"var","name":3}}]},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"index":0,"kind":"field","value":{"kind":"var","name":1}},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"index":2,"kind":"field","value":{"kind":"var","name":1}},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"kind":"nat"},{"index":2,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"prim","operands":[{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"fn","parameters":[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"index":1,"kind":"adt"}],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"element":{"index":1,"kind":"adt"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"fn","parameters":[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"kind":"nat"}],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"types":[{"kind":"fn","parameters":[{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},{"index":1,"kind":"adt"}],"result":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}}},{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},{"element":{"index":1,"kind":"adt"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":30,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":31,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":2,"kind":"adt"}],"result":{"kind":"option","value":{"index":2,"kind":"adt"}}},{"kind":"nat"},{"index":2,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-plan-2/provenance.json b/compiler/rust/rust-std/reasoning-plan-2/provenance.json index 588f19b6e..46e2d8daa 100644 --- a/compiler/rust/rust-std/reasoning-plan-2/provenance.json +++ b/compiler/rust/rust-std/reasoning-plan-2/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"717568141a6f7d58a1256ffbb9faa063536255f60c354d18318f9fbed31c5606","src/lib.rs":"a7ada95cc9dfe0c7dcf9d2fcac9194236134b82061947cc1cc304af9c454849a"},"name":"reasoning_plan_2_std","profile":"rust-std","program":"ca078dae05ae66f886417b7bbdb424579795ed76385f082a0e889ee35408dff1","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"717568141a6f7d58a1256ffbb9faa063536255f60c354d18318f9fbed31c5606","src/lib.rs":"a7ada95cc9dfe0c7dcf9d2fcac9194236134b82061947cc1cc304af9c454849a"},"name":"reasoning_plan_2_std","profile":"rust-std","program":"ca078dae05ae66f886417b7bbdb424579795ed76385f082a0e889ee35408dff1","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-plan-5/package.json b/compiler/rust/rust-std/reasoning-plan-5/package.json index 0955241cc..0fd8bfca0 100644 --- a/compiler/rust/rust-std/reasoning-plan-5/package.json +++ b/compiler/rust/rust-std/reasoning-plan-5/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_plan_5_std","profile":"rust-std","program":{"adts":[{"constructors":[[],[],[{"kind":"nat"}]]},{"constructors":[[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"element":{"index":0,"kind":"adt"},"kind":"list"}]]},{"constructors":[[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"option","value":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"index":1,"kind":"adt"}}},{"kind":"bool"},{"index":3,"kind":"adt"}]]},{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"body":{"kind":"build","operands":[{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":2}},{"index":1,"kind":"field","value":{"kind":"second","value":{"kind":"var","name":2}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"condition":{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":1}},{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}],"operation":{"kind":"bool_not"}}],"operation":{"kind":"bool_and"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"index":2,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},{"kind":"build","operands":[{"index":0,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":1,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":2,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":3,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":4,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"index":5,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}},"bound":{"function":32,"kind":"call","operands":[{"captures":[{"kind":"var","name":0}],"function":25,"kind":"closure"},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}}],"operation":{"kind":"nat_mul"}},{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}},"types":[{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"second","value":{"kind":"var","name":0}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"condition":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"second","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"condition":{"function":4,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_le"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_le"}},{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"var","name":1}],"operation":{"kind":"nat_sub"}},{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":8,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[2],"body":{"function":10,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"shape":{"constructor":2,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"index":0,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"nat"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":1}},{"kind":"var","name":0}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"kind":"nat"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"bound":{"function":14,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":13,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"nat"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[1],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":11,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[1],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":11,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"none"}},{"binders":[3],"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":3},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"constructor":2,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":11,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"constructor":2,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"kind":"nat"}]},{"body":{"function":28,"kind":"call","operands":[{"captures":[{"kind":"var","name":0}],"function":18,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"function":9,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}]},"parameters":[0],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"prim","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]},{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"operation":{"kind":"append"}}],"operation":{"kind":"append"}},"parameters":[0],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":30,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"index":0,"kind":"field","value":{"kind":"var","name":1}}]},"else_branch":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}},{"function":31,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"index":0,"kind":"field","value":{"kind":"var","name":1}}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}}},"kind":"cond","then_branch":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"types":[{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},{"index":1,"kind":"adt"}]},{"body":{"function":29,"kind":"call","operands":[{"captures":[],"function":21,"kind":"closure"},{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"kind":"var","name":0}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}}},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"},{"element":{"index":1,"kind":"adt"},"kind":"list"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},{"kind":"var","name":0}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"var","name":1},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"nat"},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"index":1,"kind":"adt"}]},{"body":{"body":{"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":31,"kind":"call","operands":[{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]}]},{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"index":1,"kind":"adt"}}}},{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_lt"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"prim","operands":[{"kind":"var","name":2}],"operation":{"kind":"length"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}},"bound":{"function":27,"kind":"call","operands":[{"captures":[{"kind":"var","name":1}],"function":23,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"kind":"build","operands":[{"kind":"build","operands":[{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}]},"kind":"let","name":2,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":0}],"operation":{"kind":"nat_add"}},"kind":"let","name":1,"type":{"kind":"nat"}},"parameters":[0],"result":{"index":2,"kind":"adt"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"arms":[{"binders":[5],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":4},{"index":1,"kind":"field","value":{"kind":"var","name":1}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":5},{"kind":"var","name":3}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"index":1,"kind":"adt"}}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"index":1,"kind":"adt"}}}},{"index":3,"kind":"field","value":{"kind":"var","name":1}},{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":1,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"index":2,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"index":3,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":5,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"body":{"body":{"body":{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":9},{"kind":"second","value":{"kind":"var","name":7}},{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"index":1,"kind":"adt"}}}},{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":1}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":0}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"kind":"var","name":8}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_lt"}}],"operation":{"kind":"bool_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"function":26,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":3}}]}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"kind":"var","name":6}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"condition":{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"kind":"var","name":9}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"index":5,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":9}],"operation":{"kind":"length"}}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"bound":{"function":27,"kind":"call","operands":[{"captures":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":0}],"operation":{"kind":"nat_add"}}],"function":23,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"kind":"var","name":8}]},"kind":"let","name":9,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":4},{"kind":"first","value":{"kind":"var","name":7}}],"operation":{"kind":"append"}},"kind":"let","name":8,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"bound":{"function":22,"kind":"call","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":1}},{"kind":"var","name":6}]},"kind":"let","name":7,"type":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}}},"bound":{"function":20,"kind":"call","operands":[{"kind":"var","name":3}]},"kind":"let","name":6,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":15,"kind":"call","operands":[{"kind":"var","name":0},{"index":0,"kind":"field","value":{"kind":"var","name":3}}]},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"index":0,"kind":"field","value":{"kind":"var","name":1}},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"index":2,"kind":"field","value":{"kind":"var","name":1}},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"kind":"nat"},{"index":2,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"prim","operands":[{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"fn","parameters":[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"index":1,"kind":"adt"}],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"element":{"index":1,"kind":"adt"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"fn","parameters":[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"kind":"nat"}],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"types":[{"kind":"fn","parameters":[{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},{"index":1,"kind":"adt"}],"result":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}}},{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},{"element":{"index":1,"kind":"adt"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":30,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":31,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":2,"kind":"adt"}],"result":{"kind":"option","value":{"index":2,"kind":"adt"}}},{"kind":"nat"},{"index":2,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_plan_5_std","profile":"rust-std","program":{"adts":[{"constructors":[[],[],[{"kind":"nat"}]]},{"constructors":[[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"element":{"index":0,"kind":"adt"},"kind":"list"}]]},{"constructors":[[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"option","value":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"index":1,"kind":"adt"}}},{"kind":"bool"},{"index":3,"kind":"adt"}]]},{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"body":{"kind":"build","operands":[{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":2}},{"index":1,"kind":"field","value":{"kind":"second","value":{"kind":"var","name":2}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"condition":{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":1}},{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}],"operation":{"kind":"bool_not"}}],"operation":{"kind":"bool_and"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"index":2,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},{"kind":"build","operands":[{"index":0,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":1,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":2,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":3,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":4,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"index":5,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}},"bound":{"function":32,"kind":"call","operands":[{"captures":[{"kind":"var","name":0}],"function":25,"kind":"closure"},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}}],"operation":{"kind":"nat_mul"}},{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}},"types":[{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"second","value":{"kind":"var","name":0}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"condition":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"second","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"condition":{"function":4,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_le"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_le"}},{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"var","name":1}],"operation":{"kind":"nat_sub"}},{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":8,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[2],"body":{"function":10,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"shape":{"constructor":2,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"index":0,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"nat"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":1}},{"kind":"var","name":0}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"kind":"nat"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"bound":{"function":14,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":13,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"nat"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[1],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":11,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[1],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":11,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"none"}},{"binders":[3],"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":3},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"constructor":2,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":11,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"constructor":2,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"kind":"nat"}]},{"body":{"function":28,"kind":"call","operands":[{"captures":[{"kind":"var","name":0}],"function":18,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"function":9,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}]},"parameters":[0],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"prim","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]},{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"operation":{"kind":"append"}}],"operation":{"kind":"append"}},"parameters":[0],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":30,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"index":0,"kind":"field","value":{"kind":"var","name":1}}]},"else_branch":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}},{"function":31,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"index":0,"kind":"field","value":{"kind":"var","name":1}}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}}},"kind":"cond","then_branch":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"types":[{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},{"index":1,"kind":"adt"}]},{"body":{"function":29,"kind":"call","operands":[{"captures":[],"function":21,"kind":"closure"},{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"kind":"var","name":0}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}}},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"},{"element":{"index":1,"kind":"adt"},"kind":"list"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},{"kind":"var","name":0}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"var","name":1},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"nat"},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"index":1,"kind":"adt"}]},{"body":{"body":{"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":31,"kind":"call","operands":[{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]}]},{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"index":1,"kind":"adt"}}}},{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_lt"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"prim","operands":[{"kind":"var","name":2}],"operation":{"kind":"length"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}},"bound":{"function":27,"kind":"call","operands":[{"captures":[{"kind":"var","name":1}],"function":23,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"kind":"build","operands":[{"kind":"build","operands":[{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}]},"kind":"let","name":2,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":0}],"operation":{"kind":"nat_add"}},"kind":"let","name":1,"type":{"kind":"nat"}},"parameters":[0],"result":{"index":2,"kind":"adt"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"arms":[{"binders":[5],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":4},{"index":1,"kind":"field","value":{"kind":"var","name":1}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":5},{"kind":"var","name":3}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"index":1,"kind":"adt"}}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"index":1,"kind":"adt"}}}},{"index":3,"kind":"field","value":{"kind":"var","name":1}},{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":1,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"index":2,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"index":3,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":5,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"body":{"body":{"body":{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":9},{"kind":"second","value":{"kind":"var","name":7}},{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"index":1,"kind":"adt"}}}},{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":1}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":0}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"kind":"var","name":8}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_lt"}}],"operation":{"kind":"bool_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"function":26,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":3}}]}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"kind":"var","name":6}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"condition":{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"kind":"var","name":9}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"index":5,"kind":"field","value":{"index":4,"kind":"field","value":{"kind":"var","name":1}}},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":9}],"operation":{"kind":"length"}}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"bound":{"function":27,"kind":"call","operands":[{"captures":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":0}],"operation":{"kind":"nat_add"}}],"function":23,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"kind":"var","name":8}]},"kind":"let","name":9,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":4},{"kind":"first","value":{"kind":"var","name":7}}],"operation":{"kind":"append"}},"kind":"let","name":8,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"bound":{"function":22,"kind":"call","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":1}},{"kind":"var","name":6}]},"kind":"let","name":7,"type":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}}},"bound":{"function":20,"kind":"call","operands":[{"kind":"var","name":3}]},"kind":"let","name":6,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":15,"kind":"call","operands":[{"kind":"var","name":0},{"index":0,"kind":"field","value":{"kind":"var","name":3}}]},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"index":0,"kind":"field","value":{"kind":"var","name":1}},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"index":2,"kind":"field","value":{"kind":"var","name":1}},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"kind":"nat"},{"index":2,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"prim","operands":[{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"fn","parameters":[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"index":1,"kind":"adt"}],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"element":{"index":1,"kind":"adt"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"fn","parameters":[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"kind":"nat"}],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"types":[{"kind":"fn","parameters":[{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},{"index":1,"kind":"adt"}],"result":{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}}},{"kind":"pair","left":{"element":{"index":1,"kind":"adt"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},{"element":{"index":1,"kind":"adt"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":30,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":31,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":2,"kind":"adt"}],"result":{"kind":"option","value":{"index":2,"kind":"adt"}}},{"kind":"nat"},{"index":2,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-plan-5/provenance.json b/compiler/rust/rust-std/reasoning-plan-5/provenance.json index 6b5dfd94f..d3178c985 100644 --- a/compiler/rust/rust-std/reasoning-plan-5/provenance.json +++ b/compiler/rust/rust-std/reasoning-plan-5/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"498a4b1410308f4b1abdf2fee3d1bb543ecf1395f8984caad5891bd5dbeffdcd","src/lib.rs":"a7ada95cc9dfe0c7dcf9d2fcac9194236134b82061947cc1cc304af9c454849a"},"name":"reasoning_plan_5_std","profile":"rust-std","program":"ca078dae05ae66f886417b7bbdb424579795ed76385f082a0e889ee35408dff1","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"498a4b1410308f4b1abdf2fee3d1bb543ecf1395f8984caad5891bd5dbeffdcd","src/lib.rs":"a7ada95cc9dfe0c7dcf9d2fcac9194236134b82061947cc1cc304af9c454849a"},"name":"reasoning_plan_5_std","profile":"rust-std","program":"ca078dae05ae66f886417b7bbdb424579795ed76385f082a0e889ee35408dff1","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-review-exhausted/package.json b/compiler/rust/rust-std/reasoning-review-exhausted/package.json index fc278d4be..add7b5017 100644 --- a/compiler/rust/rust-std/reasoning-review-exhausted/package.json +++ b/compiler/rust/rust-std/reasoning-review-exhausted/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_review_exhausted_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[],[],[],[],[],[],[],[]]}],"functions":[{"body":{"body":{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"function":36,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"first","value":{"kind":"var","name":1}}]}},"bound":{"function":38,"kind":"call","operands":[{"captures":[],"function":33,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"6"}},{"function":30,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"380"}},{"index":0,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}},{"index":1,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"12"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":1,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":2,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":3,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":4,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":0,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":18,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":21,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":7,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":6,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":5,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":4,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":3,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":22,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":23,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":2,"kind":"adt"}},{"binders":[],"body":{"function":25,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":3,"kind":"adt"}},{"binders":[],"body":{"function":26,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":4,"kind":"adt"}},{"binders":[],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":5,"kind":"adt"}},{"binders":[],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":6,"kind":"adt"}},{"binders":[],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":7,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"},{"index":2,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":31,"kind":"call","operands":[{"kind":"var","name":0}]},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"bound":{"function":37,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":35,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"parameters":[0,1],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":38,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":1,"kind":"adt"}],"result":{"kind":"option","value":{"index":1,"kind":"adt"}}},{"kind":"nat"},{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_review_exhausted_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[],[],[],[],[],[],[],[]]}],"functions":[{"body":{"body":{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"function":36,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"first","value":{"kind":"var","name":1}}]}},"bound":{"function":38,"kind":"call","operands":[{"captures":[],"function":33,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"6"}},{"function":30,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"380"}},{"index":0,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}},{"index":1,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"12"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":1,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":2,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":3,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":4,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":0,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":18,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":21,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":7,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":6,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":5,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":4,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":3,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":22,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":23,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":2,"kind":"adt"}},{"binders":[],"body":{"function":25,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":3,"kind":"adt"}},{"binders":[],"body":{"function":26,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":4,"kind":"adt"}},{"binders":[],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":5,"kind":"adt"}},{"binders":[],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":6,"kind":"adt"}},{"binders":[],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":7,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"},{"index":2,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":31,"kind":"call","operands":[{"kind":"var","name":0}]},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"bound":{"function":37,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":35,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"parameters":[0,1],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":38,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":1,"kind":"adt"}],"result":{"kind":"option","value":{"index":1,"kind":"adt"}}},{"kind":"nat"},{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-review-exhausted/provenance.json b/compiler/rust/rust-std/reasoning-review-exhausted/provenance.json index b25c6f394..9e55f3424 100644 --- a/compiler/rust/rust-std/reasoning-review-exhausted/provenance.json +++ b/compiler/rust/rust-std/reasoning-review-exhausted/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"cb500516998adf5971e40f1d9c52e9238e38648efaa07dcb99191dc723608681","src/lib.rs":"5396dbd5d51335c3ee80994acb616953a93b315895cdee0447c3902e744e9391"},"name":"reasoning_review_exhausted_std","profile":"rust-std","program":"4fbef4ae1d9d00a4f618d0ca2a38865abf9a97c170f9458eb0d583c2182ccb90","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"cb500516998adf5971e40f1d9c52e9238e38648efaa07dcb99191dc723608681","src/lib.rs":"5396dbd5d51335c3ee80994acb616953a93b315895cdee0447c3902e744e9391"},"name":"reasoning_review_exhausted_std","profile":"rust-std","program":"4fbef4ae1d9d00a4f618d0ca2a38865abf9a97c170f9458eb0d583c2182ccb90","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-review-rejected/package.json b/compiler/rust/rust-std/reasoning-review-rejected/package.json index 102c50319..5a950e378 100644 --- a/compiler/rust/rust-std/reasoning-review-rejected/package.json +++ b/compiler/rust/rust-std/reasoning-review-rejected/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_review_rejected_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[],[],[],[],[],[],[],[]]}],"functions":[{"body":{"body":{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"function":36,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"first","value":{"kind":"var","name":1}}]}},"bound":{"function":38,"kind":"call","operands":[{"captures":[],"function":33,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"6"}},{"function":30,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"380"}},{"index":0,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}},{"index":1,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"12"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":1,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":2,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":3,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":4,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":0,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":18,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":21,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":7,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":6,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":5,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":4,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":3,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":22,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":23,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":2,"kind":"adt"}},{"binders":[],"body":{"function":25,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":3,"kind":"adt"}},{"binders":[],"body":{"function":26,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":4,"kind":"adt"}},{"binders":[],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":5,"kind":"adt"}},{"binders":[],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":6,"kind":"adt"}},{"binders":[],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":7,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"},{"index":2,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":31,"kind":"call","operands":[{"kind":"var","name":0}]},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"bound":{"function":37,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":35,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"parameters":[0,1],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":38,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":1,"kind":"adt"}],"result":{"kind":"option","value":{"index":1,"kind":"adt"}}},{"kind":"nat"},{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_review_rejected_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[],[],[],[],[],[],[],[]]}],"functions":[{"body":{"body":{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"function":36,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"first","value":{"kind":"var","name":1}}]}},"bound":{"function":38,"kind":"call","operands":[{"captures":[],"function":33,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"6"}},{"function":30,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"380"}},{"index":0,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}},{"index":1,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"12"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":1,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":2,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":3,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":4,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":0,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":18,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":21,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":7,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":6,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":5,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":4,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":3,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":22,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":23,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":2,"kind":"adt"}},{"binders":[],"body":{"function":25,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":3,"kind":"adt"}},{"binders":[],"body":{"function":26,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":4,"kind":"adt"}},{"binders":[],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":5,"kind":"adt"}},{"binders":[],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":6,"kind":"adt"}},{"binders":[],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":7,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"},{"index":2,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":31,"kind":"call","operands":[{"kind":"var","name":0}]},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"bound":{"function":37,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":35,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"parameters":[0,1],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":38,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":1,"kind":"adt"}],"result":{"kind":"option","value":{"index":1,"kind":"adt"}}},{"kind":"nat"},{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-review-rejected/provenance.json b/compiler/rust/rust-std/reasoning-review-rejected/provenance.json index c91399c14..6482a71ce 100644 --- a/compiler/rust/rust-std/reasoning-review-rejected/provenance.json +++ b/compiler/rust/rust-std/reasoning-review-rejected/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"09ad0e8f7a241718b3911348bc5bcfc23e79cc3ae156726eb0ca6c77043ef334","src/lib.rs":"5396dbd5d51335c3ee80994acb616953a93b315895cdee0447c3902e744e9391"},"name":"reasoning_review_rejected_std","profile":"rust-std","program":"4fbef4ae1d9d00a4f618d0ca2a38865abf9a97c170f9458eb0d583c2182ccb90","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"09ad0e8f7a241718b3911348bc5bcfc23e79cc3ae156726eb0ca6c77043ef334","src/lib.rs":"5396dbd5d51335c3ee80994acb616953a93b315895cdee0447c3902e744e9391"},"name":"reasoning_review_rejected_std","profile":"rust-std","program":"4fbef4ae1d9d00a4f618d0ca2a38865abf9a97c170f9458eb0d583c2182ccb90","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-screen-0/package.json b/compiler/rust/rust-std/reasoning-screen-0/package.json index f31b6d991..0a70dc22a 100644 --- a/compiler/rust/rust-std/reasoning-screen-0/package.json +++ b/compiler/rust/rust-std/reasoning-screen-0/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_screen_0_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"}]]},{"constructors":[[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"element":{"index":0,"kind":"adt"},"kind":"list"}]]},{"constructors":[[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}},{"kind":"bool"},{"index":3,"kind":"adt"}]]},{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"body":{"kind":"build","operands":[{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":2}},{"index":1,"kind":"field","value":{"kind":"second","value":{"kind":"var","name":2}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"condition":{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":1}},{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}],"operation":{"kind":"bool_not"}}],"operation":{"kind":"bool_and"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"index":1,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},{"kind":"build","operands":[{"index":0,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":1,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":2,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":3,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":4,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"index":5,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}},"bound":{"function":19,"kind":"call","operands":[{"captures":[{"kind":"var","name":0}],"function":15,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}},"types":[{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"var","name":1}],"operation":{"kind":"nat_lt"}}],"operation":{"kind":"bool_and"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"var","name":1}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"condition":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_le"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"kind":"cond","then_branch":{"kind":"var","name":1}},"bound":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"10"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"30"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"50"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"kind":"let","name":1,"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"kind":"nat"}]},{"body":{"function":4,"kind":"call","operands":[{"kind":"first","value":{"kind":"var","name":0}}]},"parameters":[0],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[2],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"shape":{"constructor":0,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"index":0,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"second","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}},{"kind":"var","name":0}],"operation":{"kind":"nat_le"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"bound":{"function":9,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":8,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"nat"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"none"}},{"binders":[3],"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":3},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":6,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"kind":"nat"}]},{"body":{"function":18,"kind":"call","operands":[{"captures":[{"kind":"var","name":0}],"function":11,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}]},"parameters":[0],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},{"kind":"var","name":0}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"var","name":1},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"nat"},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"index":1,"kind":"adt"}]},{"body":{"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_lt"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}},"bound":{"function":17,"kind":"call","operands":[{"captures":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"function":13,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"kind":"build","operands":[{"kind":"build","operands":[{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}]},"kind":"let","name":1,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0],"result":{"index":2,"kind":"adt"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"arms":[{"binders":[5],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":4},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":5},{"kind":"var","name":3}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}}},{"index":2,"kind":"field","value":{"kind":"var","name":1}},{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":1,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"index":2,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"index":3,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":5,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"body":{"body":{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":8},{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}}},{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":1}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"prim","operands":[{"kind":"var","name":7}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_lt"}}],"operation":{"kind":"bool_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"function":16,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":3}}]}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"kind":"var","name":6}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"condition":{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"kind":"var","name":8}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"index":5,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":8}],"operation":{"kind":"length"}}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"bound":{"function":17,"kind":"call","operands":[{"captures":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"function":13,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"kind":"var","name":7}]},"kind":"let","name":8,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":6},{"kind":"var","name":4}],"operation":{"kind":"append"}},"kind":"let","name":7,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"bound":{"function":12,"kind":"call","operands":[{"kind":"var","name":3}]},"kind":"let","name":6,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":10,"kind":"call","operands":[{"kind":"var","name":0},{"index":0,"kind":"field","value":{"kind":"var","name":3}}]},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"index":0,"kind":"field","value":{"kind":"var","name":1}},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"index":1,"kind":"field","value":{"kind":"var","name":1}},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"kind":"nat"},{"index":2,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":0}]}],"operation":{"kind":"length"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":17,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"fn","parameters":[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"index":1,"kind":"adt"}],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"element":{"index":1,"kind":"adt"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":18,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"fn","parameters":[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"kind":"nat"}],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":19,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":2,"kind":"adt"}],"result":{"kind":"option","value":{"index":2,"kind":"adt"}}},{"kind":"nat"},{"index":2,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_screen_0_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"}]]},{"constructors":[[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"element":{"index":0,"kind":"adt"},"kind":"list"}]]},{"constructors":[[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}},{"kind":"bool"},{"index":3,"kind":"adt"}]]},{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"body":{"kind":"build","operands":[{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":2}},{"index":1,"kind":"field","value":{"kind":"second","value":{"kind":"var","name":2}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"condition":{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":1}},{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}],"operation":{"kind":"bool_not"}}],"operation":{"kind":"bool_and"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"index":1,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},{"kind":"build","operands":[{"index":0,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":1,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":2,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":3,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":4,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"index":5,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}},"bound":{"function":19,"kind":"call","operands":[{"captures":[{"kind":"var","name":0}],"function":15,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}},"types":[{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"var","name":1}],"operation":{"kind":"nat_lt"}}],"operation":{"kind":"bool_and"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"var","name":1}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"condition":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_le"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"kind":"cond","then_branch":{"kind":"var","name":1}},"bound":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"10"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"30"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"50"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"kind":"let","name":1,"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"kind":"nat"}]},{"body":{"function":4,"kind":"call","operands":[{"kind":"first","value":{"kind":"var","name":0}}]},"parameters":[0],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[2],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"shape":{"constructor":0,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"index":0,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"second","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}},{"kind":"var","name":0}],"operation":{"kind":"nat_le"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"bound":{"function":9,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":8,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"nat"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"none"}},{"binders":[3],"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":3},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":6,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"kind":"nat"}]},{"body":{"function":18,"kind":"call","operands":[{"captures":[{"kind":"var","name":0}],"function":11,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}]},"parameters":[0],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},{"kind":"var","name":0}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"var","name":1},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"nat"},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"index":1,"kind":"adt"}]},{"body":{"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_lt"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}},"bound":{"function":17,"kind":"call","operands":[{"captures":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"function":13,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"kind":"build","operands":[{"kind":"build","operands":[{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}]},"kind":"let","name":1,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0],"result":{"index":2,"kind":"adt"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"arms":[{"binders":[5],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":4},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":5},{"kind":"var","name":3}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}}},{"index":2,"kind":"field","value":{"kind":"var","name":1}},{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":1,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"index":2,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"index":3,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":5,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"body":{"body":{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":8},{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}}},{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":1}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"prim","operands":[{"kind":"var","name":7}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_lt"}}],"operation":{"kind":"bool_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"function":16,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":3}}]}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"kind":"var","name":6}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"condition":{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"kind":"var","name":8}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"index":5,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":8}],"operation":{"kind":"length"}}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"bound":{"function":17,"kind":"call","operands":[{"captures":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"function":13,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"kind":"var","name":7}]},"kind":"let","name":8,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":6},{"kind":"var","name":4}],"operation":{"kind":"append"}},"kind":"let","name":7,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"bound":{"function":12,"kind":"call","operands":[{"kind":"var","name":3}]},"kind":"let","name":6,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":10,"kind":"call","operands":[{"kind":"var","name":0},{"index":0,"kind":"field","value":{"kind":"var","name":3}}]},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"index":0,"kind":"field","value":{"kind":"var","name":1}},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"index":1,"kind":"field","value":{"kind":"var","name":1}},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"kind":"nat"},{"index":2,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":0}]}],"operation":{"kind":"length"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":17,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"fn","parameters":[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"index":1,"kind":"adt"}],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"element":{"index":1,"kind":"adt"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":18,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"fn","parameters":[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"kind":"nat"}],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":19,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":2,"kind":"adt"}],"result":{"kind":"option","value":{"index":2,"kind":"adt"}}},{"kind":"nat"},{"index":2,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-screen-0/provenance.json b/compiler/rust/rust-std/reasoning-screen-0/provenance.json index f58b46e01..2d3f56bc1 100644 --- a/compiler/rust/rust-std/reasoning-screen-0/provenance.json +++ b/compiler/rust/rust-std/reasoning-screen-0/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"51b5d165422c064fbc3b0cc295c64cc620953d945e1a29df58a93c33dd9a5c3c","src/lib.rs":"19bdb3978ae3737d3bf479286a02425b12d2d49c1599b69a56f8fef01b6192c7"},"name":"reasoning_screen_0_std","profile":"rust-std","program":"2c82dd43ba6e271789a7bdc044634f9692c15588ec645405507ced8f905e9760","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"51b5d165422c064fbc3b0cc295c64cc620953d945e1a29df58a93c33dd9a5c3c","src/lib.rs":"19bdb3978ae3737d3bf479286a02425b12d2d49c1599b69a56f8fef01b6192c7"},"name":"reasoning_screen_0_std","profile":"rust-std","program":"2c82dd43ba6e271789a7bdc044634f9692c15588ec645405507ced8f905e9760","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-screen-100/package.json b/compiler/rust/rust-std/reasoning-screen-100/package.json index ffbe9d01d..8d39ce992 100644 --- a/compiler/rust/rust-std/reasoning-screen-100/package.json +++ b/compiler/rust/rust-std/reasoning-screen-100/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_screen_100_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"}]]},{"constructors":[[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"element":{"index":0,"kind":"adt"},"kind":"list"}]]},{"constructors":[[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}},{"kind":"bool"},{"index":3,"kind":"adt"}]]},{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"body":{"kind":"build","operands":[{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":2}},{"index":1,"kind":"field","value":{"kind":"second","value":{"kind":"var","name":2}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"condition":{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":1}},{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}],"operation":{"kind":"bool_not"}}],"operation":{"kind":"bool_and"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"index":1,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},{"kind":"build","operands":[{"index":0,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":1,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":2,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":3,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":4,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"index":5,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}},"bound":{"function":19,"kind":"call","operands":[{"captures":[{"kind":"var","name":0}],"function":15,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}},"types":[{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"var","name":1}],"operation":{"kind":"nat_lt"}}],"operation":{"kind":"bool_and"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"var","name":1}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"condition":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_le"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"kind":"cond","then_branch":{"kind":"var","name":1}},"bound":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"10"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"30"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"50"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"kind":"let","name":1,"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"kind":"nat"}]},{"body":{"function":4,"kind":"call","operands":[{"kind":"first","value":{"kind":"var","name":0}}]},"parameters":[0],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[2],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"shape":{"constructor":0,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"index":0,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"second","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}},{"kind":"var","name":0}],"operation":{"kind":"nat_le"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"bound":{"function":9,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":8,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"nat"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"none"}},{"binders":[3],"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":3},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":6,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"kind":"nat"}]},{"body":{"function":18,"kind":"call","operands":[{"captures":[{"kind":"var","name":0}],"function":11,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}]},"parameters":[0],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},{"kind":"var","name":0}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"var","name":1},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"nat"},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"index":1,"kind":"adt"}]},{"body":{"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_lt"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}},"bound":{"function":17,"kind":"call","operands":[{"captures":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"function":13,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"kind":"build","operands":[{"kind":"build","operands":[{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}]},"kind":"let","name":1,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0],"result":{"index":2,"kind":"adt"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"arms":[{"binders":[5],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":4},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":5},{"kind":"var","name":3}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}}},{"index":2,"kind":"field","value":{"kind":"var","name":1}},{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":1,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"index":2,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"index":3,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":5,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"body":{"body":{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":8},{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}}},{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":1}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"prim","operands":[{"kind":"var","name":7}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_lt"}}],"operation":{"kind":"bool_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"function":16,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":3}}]}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"kind":"var","name":6}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"condition":{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"kind":"var","name":8}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"index":5,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":8}],"operation":{"kind":"length"}}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"bound":{"function":17,"kind":"call","operands":[{"captures":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"function":13,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"kind":"var","name":7}]},"kind":"let","name":8,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":6},{"kind":"var","name":4}],"operation":{"kind":"append"}},"kind":"let","name":7,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"bound":{"function":12,"kind":"call","operands":[{"kind":"var","name":3}]},"kind":"let","name":6,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":10,"kind":"call","operands":[{"kind":"var","name":0},{"index":0,"kind":"field","value":{"kind":"var","name":3}}]},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"index":0,"kind":"field","value":{"kind":"var","name":1}},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"index":1,"kind":"field","value":{"kind":"var","name":1}},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"kind":"nat"},{"index":2,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":0}]}],"operation":{"kind":"length"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":17,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"fn","parameters":[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"index":1,"kind":"adt"}],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"element":{"index":1,"kind":"adt"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":18,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"fn","parameters":[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"kind":"nat"}],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":19,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":2,"kind":"adt"}],"result":{"kind":"option","value":{"index":2,"kind":"adt"}}},{"kind":"nat"},{"index":2,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_screen_100_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"}]]},{"constructors":[[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"element":{"index":0,"kind":"adt"},"kind":"list"}]]},{"constructors":[[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}},{"kind":"bool"},{"index":3,"kind":"adt"}]]},{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"body":{"kind":"build","operands":[{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":2}},{"index":1,"kind":"field","value":{"kind":"second","value":{"kind":"var","name":2}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"condition":{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":1}},{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}],"operation":{"kind":"bool_not"}}],"operation":{"kind":"bool_and"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"index":1,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},{"kind":"build","operands":[{"index":0,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":1,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":2,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":3,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":4,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"index":5,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}},"bound":{"function":19,"kind":"call","operands":[{"captures":[{"kind":"var","name":0}],"function":15,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}},"types":[{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"var","name":1}],"operation":{"kind":"nat_lt"}}],"operation":{"kind":"bool_and"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"var","name":1}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"condition":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_le"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"kind":"cond","then_branch":{"kind":"var","name":1}},"bound":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"10"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"30"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"50"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"kind":"let","name":1,"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"kind":"nat"}]},{"body":{"function":4,"kind":"call","operands":[{"kind":"first","value":{"kind":"var","name":0}}]},"parameters":[0],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[2],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"shape":{"constructor":0,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"index":0,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"second","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}},{"kind":"var","name":0}],"operation":{"kind":"nat_le"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"bound":{"function":9,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":8,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"nat"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"none"}},{"binders":[3],"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":3},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":6,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"kind":"nat"}]},{"body":{"function":18,"kind":"call","operands":[{"captures":[{"kind":"var","name":0}],"function":11,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}]},"parameters":[0],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},{"kind":"var","name":0}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"var","name":1},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"nat"},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"index":1,"kind":"adt"}]},{"body":{"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_lt"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}},"bound":{"function":17,"kind":"call","operands":[{"captures":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"function":13,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"kind":"build","operands":[{"kind":"build","operands":[{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}]},"kind":"let","name":1,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0],"result":{"index":2,"kind":"adt"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"arms":[{"binders":[5],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":4},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":5},{"kind":"var","name":3}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}}},{"index":2,"kind":"field","value":{"kind":"var","name":1}},{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":1,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"index":2,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"index":3,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":5,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"body":{"body":{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":8},{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}}},{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":1}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"prim","operands":[{"kind":"var","name":7}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_lt"}}],"operation":{"kind":"bool_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"function":16,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":3}}]}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"kind":"var","name":6}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"condition":{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"kind":"var","name":8}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"index":5,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":8}],"operation":{"kind":"length"}}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"bound":{"function":17,"kind":"call","operands":[{"captures":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"function":13,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"kind":"var","name":7}]},"kind":"let","name":8,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":6},{"kind":"var","name":4}],"operation":{"kind":"append"}},"kind":"let","name":7,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"bound":{"function":12,"kind":"call","operands":[{"kind":"var","name":3}]},"kind":"let","name":6,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":10,"kind":"call","operands":[{"kind":"var","name":0},{"index":0,"kind":"field","value":{"kind":"var","name":3}}]},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"index":0,"kind":"field","value":{"kind":"var","name":1}},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"index":1,"kind":"field","value":{"kind":"var","name":1}},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"kind":"nat"},{"index":2,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":0}]}],"operation":{"kind":"length"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":17,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"fn","parameters":[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"index":1,"kind":"adt"}],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"element":{"index":1,"kind":"adt"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":18,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"fn","parameters":[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"kind":"nat"}],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":19,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":2,"kind":"adt"}],"result":{"kind":"option","value":{"index":2,"kind":"adt"}}},{"kind":"nat"},{"index":2,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-screen-100/provenance.json b/compiler/rust/rust-std/reasoning-screen-100/provenance.json index 337bbae2f..801b7631d 100644 --- a/compiler/rust/rust-std/reasoning-screen-100/provenance.json +++ b/compiler/rust/rust-std/reasoning-screen-100/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"5e417aa06fc7830dce253eb13df2553f44ae0ae4396f8c17cf861614fd430673","src/lib.rs":"19bdb3978ae3737d3bf479286a02425b12d2d49c1599b69a56f8fef01b6192c7"},"name":"reasoning_screen_100_std","profile":"rust-std","program":"2c82dd43ba6e271789a7bdc044634f9692c15588ec645405507ced8f905e9760","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"5e417aa06fc7830dce253eb13df2553f44ae0ae4396f8c17cf861614fd430673","src/lib.rs":"19bdb3978ae3737d3bf479286a02425b12d2d49c1599b69a56f8fef01b6192c7"},"name":"reasoning_screen_100_std","profile":"rust-std","program":"2c82dd43ba6e271789a7bdc044634f9692c15588ec645405507ced8f905e9760","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-screen-60/package.json b/compiler/rust/rust-std/reasoning-screen-60/package.json index c19cd50bd..569179eba 100644 --- a/compiler/rust/rust-std/reasoning-screen-60/package.json +++ b/compiler/rust/rust-std/reasoning-screen-60/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_screen_60_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"}]]},{"constructors":[[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"element":{"index":0,"kind":"adt"},"kind":"list"}]]},{"constructors":[[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}},{"kind":"bool"},{"index":3,"kind":"adt"}]]},{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"body":{"kind":"build","operands":[{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":2}},{"index":1,"kind":"field","value":{"kind":"second","value":{"kind":"var","name":2}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"condition":{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":1}},{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}],"operation":{"kind":"bool_not"}}],"operation":{"kind":"bool_and"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"index":1,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},{"kind":"build","operands":[{"index":0,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":1,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":2,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":3,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":4,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"index":5,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}},"bound":{"function":19,"kind":"call","operands":[{"captures":[{"kind":"var","name":0}],"function":15,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}},"types":[{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"var","name":1}],"operation":{"kind":"nat_lt"}}],"operation":{"kind":"bool_and"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"var","name":1}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"condition":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_le"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"kind":"cond","then_branch":{"kind":"var","name":1}},"bound":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"10"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"30"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"50"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"kind":"let","name":1,"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"kind":"nat"}]},{"body":{"function":4,"kind":"call","operands":[{"kind":"first","value":{"kind":"var","name":0}}]},"parameters":[0],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[2],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"shape":{"constructor":0,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"index":0,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"second","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}},{"kind":"var","name":0}],"operation":{"kind":"nat_le"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"bound":{"function":9,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":8,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"nat"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"none"}},{"binders":[3],"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":3},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":6,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"kind":"nat"}]},{"body":{"function":18,"kind":"call","operands":[{"captures":[{"kind":"var","name":0}],"function":11,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}]},"parameters":[0],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},{"kind":"var","name":0}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"var","name":1},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"nat"},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"index":1,"kind":"adt"}]},{"body":{"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_lt"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}},"bound":{"function":17,"kind":"call","operands":[{"captures":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"function":13,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"kind":"build","operands":[{"kind":"build","operands":[{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}]},"kind":"let","name":1,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0],"result":{"index":2,"kind":"adt"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"arms":[{"binders":[5],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":4},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":5},{"kind":"var","name":3}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}}},{"index":2,"kind":"field","value":{"kind":"var","name":1}},{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":1,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"index":2,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"index":3,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":5,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"body":{"body":{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":8},{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}}},{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":1}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"prim","operands":[{"kind":"var","name":7}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_lt"}}],"operation":{"kind":"bool_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"function":16,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":3}}]}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"kind":"var","name":6}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"condition":{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"kind":"var","name":8}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"index":5,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":8}],"operation":{"kind":"length"}}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"bound":{"function":17,"kind":"call","operands":[{"captures":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"function":13,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"kind":"var","name":7}]},"kind":"let","name":8,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":6},{"kind":"var","name":4}],"operation":{"kind":"append"}},"kind":"let","name":7,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"bound":{"function":12,"kind":"call","operands":[{"kind":"var","name":3}]},"kind":"let","name":6,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":10,"kind":"call","operands":[{"kind":"var","name":0},{"index":0,"kind":"field","value":{"kind":"var","name":3}}]},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"index":0,"kind":"field","value":{"kind":"var","name":1}},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"index":1,"kind":"field","value":{"kind":"var","name":1}},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"kind":"nat"},{"index":2,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":0}]}],"operation":{"kind":"length"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":17,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"fn","parameters":[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"index":1,"kind":"adt"}],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"element":{"index":1,"kind":"adt"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":18,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"fn","parameters":[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"kind":"nat"}],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":19,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":2,"kind":"adt"}],"result":{"kind":"option","value":{"index":2,"kind":"adt"}}},{"kind":"nat"},{"index":2,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_screen_60_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"}]]},{"constructors":[[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"element":{"index":0,"kind":"adt"},"kind":"list"}]]},{"constructors":[[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}},{"kind":"bool"},{"index":3,"kind":"adt"}]]},{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"body":{"kind":"build","operands":[{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":2}},{"index":1,"kind":"field","value":{"kind":"second","value":{"kind":"var","name":2}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"condition":{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":1}},{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}],"operation":{"kind":"bool_not"}}],"operation":{"kind":"bool_and"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"index":1,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}}},{"kind":"build","operands":[{"index":0,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":1,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":2,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":3,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"kind":"build","operands":[{"index":4,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}},{"index":5,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"first","value":{"kind":"var","name":1}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}}},"bound":{"function":19,"kind":"call","operands":[{"captures":[{"kind":"var","name":0}],"function":15,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"8"}},{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":0,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}}}},"types":[{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"var","name":1}],"operation":{"kind":"nat_lt"}}],"operation":{"kind":"bool_and"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"var","name":1}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"condition":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_le"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"kind":"cond","then_branch":{"kind":"var","name":1}},"bound":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"10"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"30"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"50"}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"kind":"let","name":1,"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"kind":"nat"}]},{"body":{"function":4,"kind":"call","operands":[{"kind":"first","value":{"kind":"var","name":0}}]},"parameters":[0],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[2],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"shape":{"constructor":0,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"index":0,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"second","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}},{"kind":"var","name":0}],"operation":{"kind":"nat_le"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"bound":{"function":9,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":8,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"nat"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"none"}},{"binders":[3],"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":3},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":6,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"kind":"nat"}]},{"body":{"function":18,"kind":"call","operands":[{"captures":[{"kind":"var","name":0}],"function":11,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}]},"parameters":[0],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},{"kind":"var","name":0}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"var","name":1},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"nat"},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"index":1,"kind":"adt"}]},{"body":{"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_lt"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}},"bound":{"function":17,"kind":"call","operands":[{"captures":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"function":13,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"kind":"build","operands":[{"kind":"build","operands":[{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}}]},"kind":"let","name":1,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0],"result":{"index":2,"kind":"adt"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"arms":[{"binders":[5],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":4},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":5},{"kind":"var","name":3}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}}},{"index":2,"kind":"field","value":{"kind":"var","name":1}},{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":1,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"index":2,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"index":3,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":5,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"body":{"body":{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":8},{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"index":1,"kind":"adt"}}}},{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":1}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"prim","operands":[{"kind":"var","name":7}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_lt"}}],"operation":{"kind":"bool_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"function":16,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":3}}]}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"kind":"var","name":6}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"condition":{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},{"kind":"prim","operands":[{"kind":"var","name":8}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"index":5,"kind":"field","value":{"index":3,"kind":"field","value":{"kind":"var","name":1}}},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"var","name":8}],"operation":{"kind":"length"}}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"bound":{"function":17,"kind":"call","operands":[{"captures":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"function":13,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"kind":"var","name":7}]},"kind":"let","name":8,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":6},{"kind":"var","name":4}],"operation":{"kind":"append"}},"kind":"let","name":7,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"bound":{"function":12,"kind":"call","operands":[{"kind":"var","name":3}]},"kind":"let","name":6,"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":10,"kind":"call","operands":[{"kind":"var","name":0},{"index":0,"kind":"field","value":{"kind":"var","name":3}}]},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"index":0,"kind":"field","value":{"kind":"var","name":1}},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"index":1,"kind":"field","value":{"kind":"var","name":1}},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"kind":"nat"},{"index":2,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":0}]}],"operation":{"kind":"length"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":17,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"fn","parameters":[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"index":1,"kind":"adt"}],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"element":{"index":1,"kind":"adt"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":18,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"index":1,"kind":"adt"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"},"types":[{"kind":"fn","parameters":[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"kind":"nat"}],"result":{"element":{"index":1,"kind":"adt"},"kind":"list"}},{"element":{"index":1,"kind":"adt"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":19,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":2,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":2,"kind":"adt"}],"result":{"kind":"option","value":{"index":2,"kind":"adt"}}},{"kind":"nat"},{"index":2,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-screen-60/provenance.json b/compiler/rust/rust-std/reasoning-screen-60/provenance.json index b0708c6e7..09c9f0873 100644 --- a/compiler/rust/rust-std/reasoning-screen-60/provenance.json +++ b/compiler/rust/rust-std/reasoning-screen-60/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"6b2ba79c93d98fec40d7c38459891c240b44b878f9f72528047529e0215f5b9f","src/lib.rs":"19bdb3978ae3737d3bf479286a02425b12d2d49c1599b69a56f8fef01b6192c7"},"name":"reasoning_screen_60_std","profile":"rust-std","program":"2c82dd43ba6e271789a7bdc044634f9692c15588ec645405507ced8f905e9760","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"6b2ba79c93d98fec40d7c38459891c240b44b878f9f72528047529e0215f5b9f","src/lib.rs":"19bdb3978ae3737d3bf479286a02425b12d2d49c1599b69a56f8fef01b6192c7"},"name":"reasoning_screen_60_std","profile":"rust-std","program":"2c82dd43ba6e271789a7bdc044634f9692c15588ec645405507ced8f905e9760","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-spend-2/package.json b/compiler/rust/rust-std/reasoning-spend-2/package.json index 7f37b16c1..6973e6682 100644 --- a/compiler/rust/rust-std/reasoning-spend-2/package.json +++ b/compiler/rust/rust-std/reasoning-spend-2/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_spend_2_std","profile":"rust-std","program":{"adts":[{"constructors":[[],[{"kind":"nat"}]]}],"functions":[{"body":{"body":{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"function":16,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"first","value":{"kind":"var","name":1}}]}},"bound":{"function":18,"kind":"call","operands":[{"captures":[],"function":12,"kind":"closure"},{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_add"}},{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"kind":"bool"}}},"parameters":[0],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_add"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"second","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_sub"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"condition":{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":3,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"second","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_le"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"var","name":1}],"operation":{"kind":"nat_lt"}}],"operation":{"kind":"bool_and"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"var","name":1}],"operation":{"kind":"nat_sub"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"condition":{"function":5,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":6,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"var","name":3}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":0,"kind":"adt"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"condition":{"function":5,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":0,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":0,"kind":"adt"}}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"index":0,"kind":"adt"}}},"parameters":[0,1,2],"result":{"kind":"option","value":{"index":0,"kind":"adt"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"option","value":{"index":0,"kind":"adt"}},{"kind":"nat"}]},{"body":{"arms":[{"binders":[1],"body":{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":0,"kind":"adt"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"function":17,"kind":"call","operands":[{"captures":[{"kind":"var","name":0}],"function":9,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":0,"kind":"adt"}}},{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]}]},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"condition":{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":0,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":0,"kind":"adt"}}}},"type":{"kind":"option","value":{"index":0,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":0,"kind":"adt"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"function":4,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[2],"body":{"function":8,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"shape":{"constructor":1,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"index":0,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":11,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"bound":{"function":14,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":13,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":13,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":15,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"parameters":[0,1],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":17,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"option","value":{"index":0,"kind":"adt"}}},"parameters":[0,1,2],"result":{"kind":"option","value":{"index":0,"kind":"adt"}},"types":[{"kind":"fn","parameters":[{"kind":"option","value":{"index":0,"kind":"adt"}},{"kind":"nat"}],"result":{"kind":"option","value":{"index":0,"kind":"adt"}}},{"kind":"option","value":{"index":0,"kind":"adt"}},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":18,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},{"kind":"nat"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_spend_2_std","profile":"rust-std","program":{"adts":[{"constructors":[[],[{"kind":"nat"}]]}],"functions":[{"body":{"body":{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"function":16,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"first","value":{"kind":"var","name":1}}]}},"bound":{"function":18,"kind":"call","operands":[{"captures":[],"function":12,"kind":"closure"},{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}}],"operation":{"kind":"nat_add"}},{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"kind":"bool"}}},"parameters":[0],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_add"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"second","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_sub"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"condition":{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":3,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"second","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_le"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"var","name":1}],"operation":{"kind":"nat_lt"}}],"operation":{"kind":"bool_and"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"var","name":1}],"operation":{"kind":"nat_sub"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"condition":{"function":5,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":6,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"var","name":3}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":0,"kind":"adt"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"condition":{"function":5,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":0,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":0,"kind":"adt"}}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"index":0,"kind":"adt"}}},"parameters":[0,1,2],"result":{"kind":"option","value":{"index":0,"kind":"adt"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"option","value":{"index":0,"kind":"adt"}},{"kind":"nat"}]},{"body":{"arms":[{"binders":[1],"body":{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":0,"kind":"adt"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"function":17,"kind":"call","operands":[{"captures":[{"kind":"var","name":0}],"function":9,"kind":"closure"},{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":0,"kind":"adt"}}},{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]}]},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"condition":{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":0,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":0,"kind":"adt"}}}},"type":{"kind":"option","value":{"index":0,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":0,"kind":"adt"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"function":4,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[2],"body":{"function":8,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"shape":{"constructor":1,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"index":0,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":11,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"bound":{"function":14,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":13,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":13,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":15,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"parameters":[0,1],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":17,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"option","value":{"index":0,"kind":"adt"}}},"parameters":[0,1,2],"result":{"kind":"option","value":{"index":0,"kind":"adt"}},"types":[{"kind":"fn","parameters":[{"kind":"option","value":{"index":0,"kind":"adt"}},{"kind":"nat"}],"result":{"kind":"option","value":{"index":0,"kind":"adt"}}},{"kind":"option","value":{"index":0,"kind":"adt"}},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":18,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},{"kind":"nat"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-spend-2/provenance.json b/compiler/rust/rust-std/reasoning-spend-2/provenance.json index d16d1dc12..873bfad00 100644 --- a/compiler/rust/rust-std/reasoning-spend-2/provenance.json +++ b/compiler/rust/rust-std/reasoning-spend-2/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"c2c0345745bacad0251a4e80ba7a892918c1c6a168796097020e4bdeb384462e","src/lib.rs":"6cb861df6eb1109f2978be8097a5f4d0e34aad0afd939536ffc0ac19e986344f"},"name":"reasoning_spend_2_std","profile":"rust-std","program":"17434eb3a9b6f5c3d3c280a02d2c2af7cb3c4cdb5780c3478abb893d9a0915df","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"c2c0345745bacad0251a4e80ba7a892918c1c6a168796097020e4bdeb384462e","src/lib.rs":"6cb861df6eb1109f2978be8097a5f4d0e34aad0afd939536ffc0ac19e986344f"},"name":"reasoning_spend_2_std","profile":"rust-std","program":"17434eb3a9b6f5c3d3c280a02d2c2af7cb3c4cdb5780c3478abb893d9a0915df","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-triage-shock/package.json b/compiler/rust/rust-std/reasoning-triage-shock/package.json index fe8bb1b13..bfac64b1f 100644 --- a/compiler/rust/rust-std/reasoning-triage-shock/package.json +++ b/compiler/rust/rust-std/reasoning-triage-shock/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_triage_shock_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[],[],[],[],[],[],[],[]]}],"functions":[{"body":{"body":{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"function":36,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"first","value":{"kind":"var","name":1}}]}},"bound":{"function":38,"kind":"call","operands":[{"captures":[],"function":33,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"11"}},{"function":30,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"380"}},{"index":0,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}},{"index":1,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"12"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":1,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":2,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":3,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":4,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":0,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":18,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":21,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":7,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":6,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":5,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":4,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":3,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":22,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":23,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":2,"kind":"adt"}},{"binders":[],"body":{"function":25,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":3,"kind":"adt"}},{"binders":[],"body":{"function":26,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":4,"kind":"adt"}},{"binders":[],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":5,"kind":"adt"}},{"binders":[],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":6,"kind":"adt"}},{"binders":[],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":7,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"},{"index":2,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":31,"kind":"call","operands":[{"kind":"var","name":0}]},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"bound":{"function":37,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":35,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"parameters":[0,1],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_le"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_not"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":38,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":1,"kind":"adt"}],"result":{"kind":"option","value":{"index":1,"kind":"adt"}}},{"kind":"nat"},{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_triage_shock_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[],[],[],[],[],[],[],[]]}],"functions":[{"body":{"body":{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"function":36,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"first","value":{"kind":"var","name":1}}]}},"bound":{"function":38,"kind":"call","operands":[{"captures":[],"function":33,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"11"}},{"function":30,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"380"}},{"index":0,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}},{"index":1,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"12"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":1,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":2,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":3,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":4,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":0,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":18,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":21,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":7,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":6,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":5,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":4,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":3,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":22,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":23,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":2,"kind":"adt"}},{"binders":[],"body":{"function":25,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":3,"kind":"adt"}},{"binders":[],"body":{"function":26,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":4,"kind":"adt"}},{"binders":[],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":5,"kind":"adt"}},{"binders":[],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":6,"kind":"adt"}},{"binders":[],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":7,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"},{"index":2,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":31,"kind":"call","operands":[{"kind":"var","name":0}]},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"bound":{"function":37,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":35,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"parameters":[0,1],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_le"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_not"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":38,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":1,"kind":"adt"}],"result":{"kind":"option","value":{"index":1,"kind":"adt"}}},{"kind":"nat"},{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-triage-shock/provenance.json b/compiler/rust/rust-std/reasoning-triage-shock/provenance.json index bd0451857..8302d2f7f 100644 --- a/compiler/rust/rust-std/reasoning-triage-shock/provenance.json +++ b/compiler/rust/rust-std/reasoning-triage-shock/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"46d28860996d9df4a3360d03655c6f27c081ec31f6c333a1983f433b055e728d","src/lib.rs":"5948011c40fff786904f62fe0a4097bcdc99c97a436cc265433e3a74f0168db4"},"name":"reasoning_triage_shock_std","profile":"rust-std","program":"754fca76975093fa27b62f115ad8a931069e28b657cc9d03073a6bf862ffb02e","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"46d28860996d9df4a3360d03655c6f27c081ec31f6c333a1983f433b055e728d","src/lib.rs":"5948011c40fff786904f62fe0a4097bcdc99c97a436cc265433e3a74f0168db4"},"name":"reasoning_triage_shock_std","profile":"rust-std","program":"754fca76975093fa27b62f115ad8a931069e28b657cc9d03073a6bf862ffb02e","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-triage-traced/package.json b/compiler/rust/rust-std/reasoning-triage-traced/package.json index ff06810af..51ce93c22 100644 --- a/compiler/rust/rust-std/reasoning-triage-traced/package.json +++ b/compiler/rust/rust-std/reasoning-triage-traced/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_triage_traced_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[],[],[],[],[],[],[],[]]},{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"index":1,"kind":"adt"},{"element":{"index":2,"kind":"adt"},"kind":"list"},{"index":3,"kind":"adt"}]]}],"functions":[{"body":{"body":{"body":{"kind":"build","operands":[{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}}},"kind":"cond","then_branch":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":3},{"index":1,"kind":"field","value":{"kind":"var","name":2}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"ok"}},{"binders":[4],"body":{"kind":"build","operands":[{"kind":"var","name":4}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"error"}}],"kind":"match","scrutinee":{"function":39,"kind":"call","operands":[{"kind":"var","name":0},{"index":0,"kind":"field","value":{"kind":"var","name":2}}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}}}},{"kind":"build","operands":[{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"index":1,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":2}}},"kind":"cond","then_branch":{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":2}}},{"function":3,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":2}}]}],"operation":{"kind":"nat_add"}}},{"index":2,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":2}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"bound":{"kind":"first","value":{"kind":"var","name":1}},"kind":"let","name":2,"type":{"index":4,"kind":"adt"}},"bound":{"function":41,"kind":"call","operands":[{"captures":[],"function":2,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"11"}},{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":4,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"function":33,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":2,"kind":"adt"},"kind":"list"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":4,"kind":"adt"}},"parameters":[0],"result":{"index":4,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":4,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":4,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":2,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":2,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":0}}},{"function":3,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":3,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":0}}},{"index":4,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":0}}},{"index":5,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":0}}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":4,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":4,"kind":"adt"}}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":35,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"var","name":1}]},"type":{"kind":"option","value":{"index":4,"kind":"adt"}}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]},"type":{"kind":"option","value":{"index":4,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":4,"kind":"adt"}},"types":[{"index":4,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"prim","operands":[{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"prim","operands":[{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"prim","operands":[{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"prim","operands":[{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"prim","operands":[{"condition":{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"prim","operands":[{"condition":{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"prim","operands":[{"condition":{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"380"}},{"index":0,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}},{"index":1,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"12"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":4,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":6,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":7,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":0,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"function":8,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":18,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":21,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":22,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":23,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":7,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":6,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":5,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":4,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":3,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":25,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":26,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":2,"kind":"adt"}},{"binders":[],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":3,"kind":"adt"}},{"binders":[],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":4,"kind":"adt"}},{"binders":[],"body":{"function":30,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":5,"kind":"adt"}},{"binders":[],"body":{"function":31,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":6,"kind":"adt"}},{"binders":[],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":7,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"},{"index":2,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":35,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":0}]},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"bound":{"function":40,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":37,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":37,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":38,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"parameters":[0,1],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_le"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"function":4,"kind":"call","operands":[{"kind":"var","name":0}]},{"function":5,"kind":"call","operands":[{"kind":"var","name":0}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_not"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":4,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":4,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":41,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":4,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":4,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":4,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":4,"kind":"adt"}],"result":{"kind":"option","value":{"index":4,"kind":"adt"}}},{"kind":"nat"},{"index":4,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_triage_traced_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[],[],[],[],[],[],[],[]]},{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"index":1,"kind":"adt"},{"element":{"index":2,"kind":"adt"},"kind":"list"},{"index":3,"kind":"adt"}]]}],"functions":[{"body":{"body":{"body":{"kind":"build","operands":[{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}}},"kind":"cond","then_branch":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":3},{"index":1,"kind":"field","value":{"kind":"var","name":2}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"ok"}},{"binders":[4],"body":{"kind":"build","operands":[{"kind":"var","name":4}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}}},"shape":{"kind":"error"}}],"kind":"match","scrutinee":{"function":39,"kind":"call","operands":[{"kind":"var","name":0},{"index":0,"kind":"field","value":{"kind":"var","name":2}}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}}}},{"kind":"build","operands":[{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"index":1,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":2}}},"kind":"cond","then_branch":{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":2}}},{"function":3,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":2}}]}],"operation":{"kind":"nat_add"}}},{"index":2,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":2}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"bound":{"kind":"first","value":{"kind":"var","name":1}},"kind":"let","name":2,"type":{"index":4,"kind":"adt"}},"bound":{"function":41,"kind":"call","operands":[{"captures":[],"function":2,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"11"}},{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":4,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"kind":"pair","left":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"index":2,"kind":"adt"},"kind":"list"}}},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"function":33,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":2,"kind":"adt"},"kind":"list"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":4,"kind":"adt"}},"parameters":[0],"result":{"index":4,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":4,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":4,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":2,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":2,"kind":"adt"},"kind":"list"}}],"operation":{"kind":"append"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":0}}},{"function":3,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"index":3,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":0}}},{"index":4,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":0}}},{"index":5,"kind":"field","value":{"index":2,"kind":"field","value":{"kind":"var","name":0}}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":3,"kind":"adt"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":4,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":4,"kind":"adt"}}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":35,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"var","name":1}]},"type":{"kind":"option","value":{"index":4,"kind":"adt"}}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]},"type":{"kind":"option","value":{"index":4,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":4,"kind":"adt"}},"types":[{"index":4,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"prim","operands":[{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"prim","operands":[{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"prim","operands":[{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"prim","operands":[{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"prim","operands":[{"condition":{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"prim","operands":[{"condition":{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"prim","operands":[{"condition":{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"380"}},{"index":0,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}},{"index":1,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"12"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":4,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":6,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":7,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":0,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"function":8,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":18,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":21,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":22,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":23,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":7,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":6,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":5,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":4,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":3,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":25,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":26,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":2,"kind":"adt"}},{"binders":[],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":3,"kind":"adt"}},{"binders":[],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":4,"kind":"adt"}},{"binders":[],"body":{"function":30,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":5,"kind":"adt"}},{"binders":[],"body":{"function":31,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":6,"kind":"adt"}},{"binders":[],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":7,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"},{"index":2,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":35,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":0}]},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"bound":{"function":40,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":37,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":37,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":38,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"parameters":[0,1],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_le"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"function":4,"kind":"call","operands":[{"kind":"var","name":0}]},{"function":5,"kind":"call","operands":[{"kind":"var","name":0}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_not"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":4,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":4,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":41,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":4,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":4,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":4,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":4,"kind":"adt"}],"result":{"kind":"option","value":{"index":4,"kind":"adt"}}},{"kind":"nat"},{"index":4,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-triage-traced/provenance.json b/compiler/rust/rust-std/reasoning-triage-traced/provenance.json index 5c3325595..b51279e1b 100644 --- a/compiler/rust/rust-std/reasoning-triage-traced/provenance.json +++ b/compiler/rust/rust-std/reasoning-triage-traced/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"d9f99faa03f5d85f3668afd131e4913d1dd8f244eae5cff2be1be3e50fd7d819","src/lib.rs":"f8586929a562aa500caab2148af0d1eeb40b7baa9f5e39ac6dae57ce3f43eb8f"},"name":"reasoning_triage_traced_std","profile":"rust-std","program":"e33ee5ee49170ed518748c5476e407b9437a41cdd26f5421125ecfa55e152ac3","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"d9f99faa03f5d85f3668afd131e4913d1dd8f244eae5cff2be1be3e50fd7d819","src/lib.rs":"f8586929a562aa500caab2148af0d1eeb40b7baa9f5e39ac6dae57ce3f43eb8f"},"name":"reasoning_triage_traced_std","profile":"rust-std","program":"e33ee5ee49170ed518748c5476e407b9437a41cdd26f5421125ecfa55e152ac3","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-triage-well/package.json b/compiler/rust/rust-std/reasoning-triage-well/package.json index 1518e9f5c..c780ba6d0 100644 --- a/compiler/rust/rust-std/reasoning-triage-well/package.json +++ b/compiler/rust/rust-std/reasoning-triage-well/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_triage_well_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[],[],[],[],[],[],[],[]]}],"functions":[{"body":{"body":{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"function":36,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"first","value":{"kind":"var","name":1}}]}},"bound":{"function":38,"kind":"call","operands":[{"captures":[],"function":33,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"11"}},{"function":30,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"380"}},{"index":0,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}},{"index":1,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"12"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":1,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":2,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":3,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":4,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":0,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":18,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":21,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":7,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":6,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":5,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":4,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":3,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":22,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":23,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":2,"kind":"adt"}},{"binders":[],"body":{"function":25,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":3,"kind":"adt"}},{"binders":[],"body":{"function":26,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":4,"kind":"adt"}},{"binders":[],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":5,"kind":"adt"}},{"binders":[],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":6,"kind":"adt"}},{"binders":[],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":7,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"},{"index":2,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":31,"kind":"call","operands":[{"kind":"var","name":0}]},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"bound":{"function":37,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":35,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"parameters":[0,1],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_le"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_not"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":38,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":1,"kind":"adt"}],"result":{"kind":"option","value":{"index":1,"kind":"adt"}}},{"kind":"nat"},{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"reasoning_triage_well_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"index":0,"kind":"adt"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[],[],[],[],[],[],[],[]]}],"functions":[{"body":{"body":{"condition":{"kind":"second","value":{"kind":"var","name":1}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"function":36,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"first","value":{"kind":"var","name":1}}]}},"bound":{"function":38,"kind":"call","operands":[{"captures":[],"function":33,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"11"}},{"function":30,"kind":"call","operands":[{"kind":"var","name":0}]}]},"kind":"let","name":1,"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"380"}},{"index":0,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}},{"index":1,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"20"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"12"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"90"}}],"operation":{"kind":"nat_lt"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":1,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":2,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":3,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"function":4,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"index":0,"kind":"field","value":{"kind":"var","name":0}}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"function":5,"kind":"call","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}},{"index":3,"kind":"field","value":{"kind":"var","name":0}},{"index":4,"kind":"field","value":{"kind":"var","name":0}},{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"index":6,"kind":"field","value":{"kind":"var","name":0}},{"index":7,"kind":"field","value":{"kind":"var","name":0}},{"kind":"prim","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":14,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":15,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":17,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":18,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":19,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":21,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}},"parameters":[0],"result":{"index":1,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":7,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":6,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":5,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":4,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":3,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":1,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"index":2,"kind":"adt"}}}},"parameters":[0],"result":{"kind":"option","value":{"index":2,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"function":22,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[],"body":{"function":23,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"function":24,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":2,"kind":"adt"}},{"binders":[],"body":{"function":25,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":3,"kind":"adt"}},{"binders":[],"body":{"function":26,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":4,"kind":"adt"}},{"binders":[],"body":{"function":27,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":5,"kind":"adt"}},{"binders":[],"body":{"function":28,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":6,"kind":"adt"}},{"binders":[],"body":{"function":29,"kind":"call","operands":[{"kind":"var","name":0}]},"shape":{"constructor":7,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0,1],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"},{"index":2,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":32,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":31,"kind":"call","operands":[{"kind":"var","name":0}]},"type":{"kind":"option","value":{"index":1,"kind":"adt"}}},"parameters":[0],"result":{"kind":"option","value":{"index":1,"kind":"adt"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"kind":"build","operands":[{"index":8,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"none"}},{"binders":[2],"body":{"body":{"condition":{"kind":"var","name":3},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"bound":{"function":37,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},"kind":"let","name":3,"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[2],"body":{"kind":"build","operands":[{"kind":"var","name":2}],"shape":{"kind":"ok"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"arms":[{"binders":[3],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"some"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"error"},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":34,"kind":"call","operands":[{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"shape":{"kind":"none"}}],"kind":"match","scrutinee":{"function":35,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}}},"parameters":[0,1],"result":{"error":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}},"kind":"result","ok":{"kind":"nat"}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_le"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"prim","operands":[{"kind":"prim","operands":[{"index":5,"kind":"field","value":{"kind":"var","name":0}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},{"kind":"prim","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_and"}}],"operation":{"kind":"bool_not"}}],"operation":{"kind":"bool_or"}}],"operation":{"kind":"bool_and"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":38,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"index":1,"kind":"adt"}],"result":{"kind":"option","value":{"index":1,"kind":"adt"}}},{"kind":"nat"},{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/reasoning-triage-well/provenance.json b/compiler/rust/rust-std/reasoning-triage-well/provenance.json index 7c7ab7404..4042d3cfd 100644 --- a/compiler/rust/rust-std/reasoning-triage-well/provenance.json +++ b/compiler/rust/rust-std/reasoning-triage-well/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"aceb80958d7147805d89b25b06e0deeabff1948a86f4f7653fa7305263dd17f7","src/lib.rs":"5948011c40fff786904f62fe0a4097bcdc99c97a436cc265433e3a74f0168db4"},"name":"reasoning_triage_well_std","profile":"rust-std","program":"754fca76975093fa27b62f115ad8a931069e28b657cc9d03073a6bf862ffb02e","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"aceb80958d7147805d89b25b06e0deeabff1948a86f4f7653fa7305263dd17f7","src/lib.rs":"5948011c40fff786904f62fe0a4097bcdc99c97a436cc265433e3a74f0168db4"},"name":"reasoning_triage_well_std","profile":"rust-std","program":"754fca76975093fa27b62f115ad8a931069e28b657cc9d03073a6bf862ffb02e","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/record-fields/package.json b/compiler/rust/rust-std/record-fields/package.json index 8be345ab3..0de0ef95a 100644 --- a/compiler/rust/rust-std/record-fields/package.json +++ b/compiler/rust/rust-std/record-fields/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"record_fields_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"index":0,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"record_fields_std","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"operation":{"kind":"nat_sub"}},{"kind":"build","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":0}},{"index":2,"kind":"field","value":{"kind":"var","name":0}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"index":0,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/record-fields/provenance.json b/compiler/rust/rust-std/record-fields/provenance.json index 032ddc291..af0ffd3cd 100644 --- a/compiler/rust/rust-std/record-fields/provenance.json +++ b/compiler/rust/rust-std/record-fields/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"657125c6db500bcf591eb9b5898a4fb6aa8b9f416dd2191d51e69c9d67e6a88c","src/lib.rs":"c13b5754cdf4860ffbb861d0ba6f54acb22dc4d1a086e8ac5750e4297bcb974e"},"name":"record_fields_std","profile":"rust-std","program":"526bb181b433435ecf3b9116937f342406bd8db3d26cc26b870d03e7f3c11ca9","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"657125c6db500bcf591eb9b5898a4fb6aa8b9f416dd2191d51e69c9d67e6a88c","src/lib.rs":"c13b5754cdf4860ffbb861d0ba6f54acb22dc4d1a086e8ac5750e4297bcb974e"},"name":"record_fields_std","profile":"rust-std","program":"526bb181b433435ecf3b9116937f342406bd8db3d26cc26b870d03e7f3c11ca9","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/set-contains-absent/package.json b/compiler/rust/rust-std/set-contains-absent/package.json index 344e990b9..3c48c8c25 100644 --- a/compiler/rust/rust-std/set-contains-absent/package.json +++ b/compiler/rust/rust-std/set-contains-absent/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"set_contains_absent_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"set_contains_absent_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/set-contains-absent/provenance.json b/compiler/rust/rust-std/set-contains-absent/provenance.json index 2b6661f33..8dc1bcf92 100644 --- a/compiler/rust/rust-std/set-contains-absent/provenance.json +++ b/compiler/rust/rust-std/set-contains-absent/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"d0390ea8a751a564e893b86883b7c4ded0bdcdf0fd444111d2015750ab6c0fe0","src/lib.rs":"f8ded3662c8756234a9fe0ad3f725becbbfb3945e38cec3088dcafac76bd44bd"},"name":"set_contains_absent_std","profile":"rust-std","program":"2830740fb7f083476ef600b571be85a9e1ad2a7d7a2f0965d2ff4d8a184cd330","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"d0390ea8a751a564e893b86883b7c4ded0bdcdf0fd444111d2015750ab6c0fe0","src/lib.rs":"f8ded3662c8756234a9fe0ad3f725becbbfb3945e38cec3088dcafac76bd44bd"},"name":"set_contains_absent_std","profile":"rust-std","program":"2830740fb7f083476ef600b571be85a9e1ad2a7d7a2f0965d2ff4d8a184cd330","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/set-contains/package.json b/compiler/rust/rust-std/set-contains/package.json index 4f8a94275..4d725f64c 100644 --- a/compiler/rust/rust-std/set-contains/package.json +++ b/compiler/rust/rust-std/set-contains/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"set_contains_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"set_contains_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/set-contains/provenance.json b/compiler/rust/rust-std/set-contains/provenance.json index 633311cb8..d9d5a8973 100644 --- a/compiler/rust/rust-std/set-contains/provenance.json +++ b/compiler/rust/rust-std/set-contains/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"91a6d7687599dc3bd4c1a1de6489516564fc670387c3094da506db6305395617","src/lib.rs":"f8ded3662c8756234a9fe0ad3f725becbbfb3945e38cec3088dcafac76bd44bd"},"name":"set_contains_std","profile":"rust-std","program":"2830740fb7f083476ef600b571be85a9e1ad2a7d7a2f0965d2ff4d8a184cd330","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"91a6d7687599dc3bd4c1a1de6489516564fc670387c3094da506db6305395617","src/lib.rs":"f8ded3662c8756234a9fe0ad3f725becbbfb3945e38cec3088dcafac76bd44bd"},"name":"set_contains_std","profile":"rust-std","program":"2830740fb7f083476ef600b571be85a9e1ad2a7d7a2f0965d2ff4d8a184cd330","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/set-difference/package.json b/compiler/rust/rust-std/set-difference/package.json index d97e30015..785a061c0 100644 --- a/compiler/rust/rust-std/set-difference/package.json +++ b/compiler/rust/rust-std/set-difference/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"set_difference_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"condition":{"function":2,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"var","name":2}]},"else_branch":{"kind":"build","operands":[{"kind":"var","name":2},{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"kind":"cond","then_branch":{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"set_difference_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"condition":{"function":2,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"var","name":2}]},"else_branch":{"kind":"build","operands":[{"kind":"var","name":2},{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"kind":"cond","then_branch":{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/set-difference/provenance.json b/compiler/rust/rust-std/set-difference/provenance.json index 01811f255..3da472808 100644 --- a/compiler/rust/rust-std/set-difference/provenance.json +++ b/compiler/rust/rust-std/set-difference/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"7d66fd60ef4599f30ed46df653974df13d29815852f0762ea225e9b214406c46","src/lib.rs":"03edafd16af85fd58f68d2608ad2a29dfbfc75e32d055eadcba43c1c143f6985"},"name":"set_difference_std","profile":"rust-std","program":"e4eedda413cfe9163e193858d2055a14ab25e3243d13a52063f2db62b9d0e044","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"7d66fd60ef4599f30ed46df653974df13d29815852f0762ea225e9b214406c46","src/lib.rs":"03edafd16af85fd58f68d2608ad2a29dfbfc75e32d055eadcba43c1c143f6985"},"name":"set_difference_std","profile":"rust-std","program":"e4eedda413cfe9163e193858d2055a14ab25e3243d13a52063f2db62b9d0e044","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/set-fold/package.json b/compiler/rust/rust-std/set-fold/package.json index 9abbb556d..67cf9dc16 100644 --- a/compiler/rust/rust-std/set-fold/package.json +++ b/compiler/rust/rust-std/set-fold/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"set_fold_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":2,"kind":"call","operands":[{"captures":[],"function":1,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"var","name":0}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"10"}}],"operation":{"kind":"nat_mul"}},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"nat"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"},{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"},{"element":{"kind":"nat"},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"set_fold_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":2,"kind":"call","operands":[{"captures":[],"function":1,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"var","name":0}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"10"}}],"operation":{"kind":"nat_mul"}},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"nat"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"},{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"},{"element":{"kind":"nat"},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/set-fold/provenance.json b/compiler/rust/rust-std/set-fold/provenance.json index a396cb319..30d47cd0c 100644 --- a/compiler/rust/rust-std/set-fold/provenance.json +++ b/compiler/rust/rust-std/set-fold/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"7473aca13da8e0e6cf970bffae5f972798f7cbe74fd83f4a572aa2f9e268c43e","src/lib.rs":"9b1f7c8d2991d0f182a4a81a590dddeb5c3d58c01fb799f067b87f9cf3340b21"},"name":"set_fold_std","profile":"rust-std","program":"9ec1f516d6a7a34284bd32ea60ad534e79b8a3051e015182f82e02663f083863","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"7473aca13da8e0e6cf970bffae5f972798f7cbe74fd83f4a572aa2f9e268c43e","src/lib.rs":"9b1f7c8d2991d0f182a4a81a590dddeb5c3d58c01fb799f067b87f9cf3340b21"},"name":"set_fold_std","profile":"rust-std","program":"9ec1f516d6a7a34284bd32ea60ad534e79b8a3051e015182f82e02663f083863","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/set-insert-bool/package.json b/compiler/rust/rust-std/set-insert-bool/package.json index 92123caa8..9c6f93139 100644 --- a/compiler/rust/rust-std/set-insert-bool/package.json +++ b/compiler/rust/rust-std/set-insert-bool/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"set_insert_bool_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"bool"},"kind":"list"},"types":[{"element":{"kind":"bool"},"kind":"list"},{"kind":"bool"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"bool"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"bool"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"bool"},"kind":"list"},"types":[{"element":{"kind":"bool"},"kind":"list"},{"kind":"bool"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"set_insert_bool_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"bool"},"kind":"list"},"types":[{"element":{"kind":"bool"},"kind":"list"},{"kind":"bool"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"bool"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"bool"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"bool"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"bool"},"kind":"list"},"types":[{"element":{"kind":"bool"},"kind":"list"},{"kind":"bool"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/set-insert-bool/provenance.json b/compiler/rust/rust-std/set-insert-bool/provenance.json index 0bf4ccb8d..a4f0ea009 100644 --- a/compiler/rust/rust-std/set-insert-bool/provenance.json +++ b/compiler/rust/rust-std/set-insert-bool/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ac8196157ba2b724656ab338c86de33b1cfeb222d4450ad25852d973d8cdaa10","src/lib.rs":"a4df278260c79a1680f80dabbe1adc4c5e7b9088731deb27061f99b82f83b5ef"},"name":"set_insert_bool_std","profile":"rust-std","program":"3b7f3f374ccb0b9f3a3ccf2b65f878f5f3a3d928757a7f54116edd2d6fc09cd6","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ac8196157ba2b724656ab338c86de33b1cfeb222d4450ad25852d973d8cdaa10","src/lib.rs":"a4df278260c79a1680f80dabbe1adc4c5e7b9088731deb27061f99b82f83b5ef"},"name":"set_insert_bool_std","profile":"rust-std","program":"3b7f3f374ccb0b9f3a3ccf2b65f878f5f3a3d928757a7f54116edd2d6fc09cd6","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/set-insert-int/package.json b/compiler/rust/rust-std/set-insert-int/package.json index b13b3d3f3..f415c454b 100644 --- a/compiler/rust/rust-std/set-insert-int/package.json +++ b/compiler/rust/rust-std/set-insert-int/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"set_insert_int_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"int"},"kind":"list"},"types":[{"element":{"kind":"int"},"kind":"list"},{"kind":"int"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"int"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"int"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"int"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"int"},"kind":"list"},"types":[{"element":{"kind":"int"},"kind":"list"},{"kind":"int"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"set_insert_int_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"int"},"kind":"list"},"types":[{"element":{"kind":"int"},"kind":"list"},{"kind":"int"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"int"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"int"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"int"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"int"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"int"},"kind":"list"},"types":[{"element":{"kind":"int"},"kind":"list"},{"kind":"int"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/set-insert-int/provenance.json b/compiler/rust/rust-std/set-insert-int/provenance.json index 7396b8170..697aa4f84 100644 --- a/compiler/rust/rust-std/set-insert-int/provenance.json +++ b/compiler/rust/rust-std/set-insert-int/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"51f8f5cfc5ddb86c8cf62f6db2e3c95a011e50de63a1d4b070be9a3d5e3eb38f","src/lib.rs":"427014d899e9c4cd5a84a5e8d3d7fae012881d9674268393f91ef70499613878"},"name":"set_insert_int_std","profile":"rust-std","program":"210b77cf3849c034b591a9dba6ebb3b71f0bf5385789667cfdf8a1a6cf96a322","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"51f8f5cfc5ddb86c8cf62f6db2e3c95a011e50de63a1d4b070be9a3d5e3eb38f","src/lib.rs":"427014d899e9c4cd5a84a5e8d3d7fae012881d9674268393f91ef70499613878"},"name":"set_insert_int_std","profile":"rust-std","program":"210b77cf3849c034b591a9dba6ebb3b71f0bf5385789667cfdf8a1a6cf96a322","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/set-insert-int8/package.json b/compiler/rust/rust-std/set-insert-int8/package.json index 2f9b442f6..1b4006adf 100644 --- a/compiler/rust/rust-std/set-insert-int8/package.json +++ b/compiler/rust/rust-std/set-insert-int8/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"set_insert_int8_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"fixed","width":"i8"},"kind":"list"},"types":[{"element":{"kind":"fixed","width":"i8"},"kind":"list"},{"kind":"fixed","width":"i8"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"fixed","width":"i8"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"fixed","width":"i8"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"fixed","width":"i8"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"fixed","width":"i8"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"fixed","width":"i8"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"fixed","width":"i8"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"fixed","width":"i8"},"kind":"list"},"types":[{"element":{"kind":"fixed","width":"i8"},"kind":"list"},{"kind":"fixed","width":"i8"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"set_insert_int8_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"fixed","width":"i8"},"kind":"list"},"types":[{"element":{"kind":"fixed","width":"i8"},"kind":"list"},{"kind":"fixed","width":"i8"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"fixed","width":"i8"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"fixed","width":"i8"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"fixed","width":"i8"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"fixed","width":"i8"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"fixed","width":"i8"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"fixed","width":"i8"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"fixed","width":"i8"},"kind":"list"},"types":[{"element":{"kind":"fixed","width":"i8"},"kind":"list"},{"kind":"fixed","width":"i8"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/set-insert-int8/provenance.json b/compiler/rust/rust-std/set-insert-int8/provenance.json index 8a99b21a9..b5f37242e 100644 --- a/compiler/rust/rust-std/set-insert-int8/provenance.json +++ b/compiler/rust/rust-std/set-insert-int8/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"a0e7c7dc27fc08ddf2f3f1e6896e08bf274fe21d581bef3bd53a99e40ca3cf76","src/lib.rs":"44fb9adfeb185dd26db4416f564615751a1d03e9b24901e70cfbd5913a36c81c"},"name":"set_insert_int8_std","profile":"rust-std","program":"9babee8751d6e4795ac73b01fde4a598f1b1bca03d612fd7f206fb0b17c02165","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"a0e7c7dc27fc08ddf2f3f1e6896e08bf274fe21d581bef3bd53a99e40ca3cf76","src/lib.rs":"44fb9adfeb185dd26db4416f564615751a1d03e9b24901e70cfbd5913a36c81c"},"name":"set_insert_int8_std","profile":"rust-std","program":"9babee8751d6e4795ac73b01fde4a598f1b1bca03d612fd7f206fb0b17c02165","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/set-insert-nat/package.json b/compiler/rust/rust-std/set-insert-nat/package.json index 244c3955a..99bc3a01a 100644 --- a/compiler/rust/rust-std/set-insert-nat/package.json +++ b/compiler/rust/rust-std/set-insert-nat/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"set_insert_nat_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"set_insert_nat_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/set-insert-nat/provenance.json b/compiler/rust/rust-std/set-insert-nat/provenance.json index eda4ddb56..7d083a18f 100644 --- a/compiler/rust/rust-std/set-insert-nat/provenance.json +++ b/compiler/rust/rust-std/set-insert-nat/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"c1627f7f40f8302b3c95611ae71074d87c05b01f3f18d9ae11f2fb07ff3afe02","src/lib.rs":"e2c636a38f005c91b3d6b5884726656520ef2cb793265251d7812cadadae81c6"},"name":"set_insert_nat_std","profile":"rust-std","program":"e29f1fa97756e738282778c32d52b6bb6a525fcc19254de13baa4383e13a9cf3","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"c1627f7f40f8302b3c95611ae71074d87c05b01f3f18d9ae11f2fb07ff3afe02","src/lib.rs":"e2c636a38f005c91b3d6b5884726656520ef2cb793265251d7812cadadae81c6"},"name":"set_insert_nat_std","profile":"rust-std","program":"e29f1fa97756e738282778c32d52b6bb6a525fcc19254de13baa4383e13a9cf3","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/set-insert-product/package.json b/compiler/rust/rust-std/set-insert-product/package.json index f45263fa9..12690b531 100644 --- a/compiler/rust/rust-std/set-insert-product/package.json +++ b/compiler/rust/rust-std/set-insert-product/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"set_insert_product_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"set_insert_product_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"kind":"list"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/set-insert-product/provenance.json b/compiler/rust/rust-std/set-insert-product/provenance.json index a66fa93a9..ea972707c 100644 --- a/compiler/rust/rust-std/set-insert-product/provenance.json +++ b/compiler/rust/rust-std/set-insert-product/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"dc9df9cc09a1c8992c9f97f34533b23c85d1bf109850fa406f140a46c25016e1","src/lib.rs":"5dba2f1f61e0e0fb48674da270e63250eee92027c5005f9a0bc851c1246f420f"},"name":"set_insert_product_std","profile":"rust-std","program":"869f8307350a0a879811d02d90671307c266023d05b322a1aea0b80156307fe3","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"dc9df9cc09a1c8992c9f97f34533b23c85d1bf109850fa406f140a46c25016e1","src/lib.rs":"5dba2f1f61e0e0fb48674da270e63250eee92027c5005f9a0bc851c1246f420f"},"name":"set_insert_product_std","profile":"rust-std","program":"869f8307350a0a879811d02d90671307c266023d05b322a1aea0b80156307fe3","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/set-insert-string/package.json b/compiler/rust/rust-std/set-insert-string/package.json index dec12e143..0d84bf3fc 100644 --- a/compiler/rust/rust-std/set-insert-string/package.json +++ b/compiler/rust/rust-std/set-insert-string/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"set_insert_string_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"string"},"kind":"list"},"types":[{"element":{"kind":"string"},"kind":"list"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"string"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"string"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"string"},"kind":"list"},"types":[{"element":{"kind":"string"},"kind":"list"},{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"set_insert_string_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"string"},"kind":"list"},"types":[{"element":{"kind":"string"},"kind":"list"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"string"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"string"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"string"},"kind":"list"},"types":[{"element":{"kind":"string"},"kind":"list"},{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/set-insert-string/provenance.json b/compiler/rust/rust-std/set-insert-string/provenance.json index 3666108ce..b75b9b392 100644 --- a/compiler/rust/rust-std/set-insert-string/provenance.json +++ b/compiler/rust/rust-std/set-insert-string/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"e04bbe8317dd705fbdeed47dc59087473da9a1cc6ce512f00cda702a57f037a0","src/lib.rs":"a3045920e4eb0b27999ce5ddc535a1bb8f20764e381c2623e2486090841cfa2a"},"name":"set_insert_string_std","profile":"rust-std","program":"2aaa06fbba9d8f784ebbaa8cc892760f0dcd8c9ee30a7b117aa2c2894f1fe01a","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"e04bbe8317dd705fbdeed47dc59087473da9a1cc6ce512f00cda702a57f037a0","src/lib.rs":"a3045920e4eb0b27999ce5ddc535a1bb8f20764e381c2623e2486090841cfa2a"},"name":"set_insert_string_std","profile":"rust-std","program":"2aaa06fbba9d8f784ebbaa8cc892760f0dcd8c9ee30a7b117aa2c2894f1fe01a","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/set-intersection/package.json b/compiler/rust/rust-std/set-intersection/package.json index 872d37096..815b1196d 100644 --- a/compiler/rust/rust-std/set-intersection/package.json +++ b/compiler/rust/rust-std/set-intersection/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"set_intersection_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"condition":{"function":2,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"var","name":2}]},"else_branch":{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2},{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"set_intersection_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"condition":{"function":2,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"var","name":2}]},"else_branch":{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2},{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/set-intersection/provenance.json b/compiler/rust/rust-std/set-intersection/provenance.json index 9ad9bcfc7..e18c74d7e 100644 --- a/compiler/rust/rust-std/set-intersection/provenance.json +++ b/compiler/rust/rust-std/set-intersection/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"065c99ac2d8e445f9c7d1e757ed1b8d310d62b5dae4591b4f1606d9f696d24a9","src/lib.rs":"a3201ca47c4a09f97a962f7917317536bd4d08027603dfe9fbad12ceb89c0bca"},"name":"set_intersection_std","profile":"rust-std","program":"75c582aab0f65628af4cbdb8726df1c63bb3f09de1c011a8977a1cdddb717930","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"065c99ac2d8e445f9c7d1e757ed1b8d310d62b5dae4591b4f1606d9f696d24a9","src/lib.rs":"a3201ca47c4a09f97a962f7917317536bd4d08027603dfe9fbad12ceb89c0bca"},"name":"set_intersection_std","profile":"rust-std","program":"75c582aab0f65628af4cbdb8726df1c63bb3f09de1c011a8977a1cdddb717930","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/set-remove-absent/package.json b/compiler/rust/rust-std/set-remove-absent/package.json index a670e49f6..d3dbd394b 100644 --- a/compiler/rust/rust-std/set-remove-absent/package.json +++ b/compiler/rust/rust-std/set-remove-absent/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"set_remove_absent_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"set_remove_absent_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/set-remove-absent/provenance.json b/compiler/rust/rust-std/set-remove-absent/provenance.json index c2c90b256..9019d19fa 100644 --- a/compiler/rust/rust-std/set-remove-absent/provenance.json +++ b/compiler/rust/rust-std/set-remove-absent/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ed7b29efadc01b3250e6b8792579e99adb13ee7cca750934476eb73393f3f8dc","src/lib.rs":"67eb791bec07c8a95e727cba4f72d33409c1702f5306ad028de150b6a89b12eb"},"name":"set_remove_absent_std","profile":"rust-std","program":"9f8b76594bb07bf979cb966167884a9bb89ae977401c0fbb9457a939a51a3880","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ed7b29efadc01b3250e6b8792579e99adb13ee7cca750934476eb73393f3f8dc","src/lib.rs":"67eb791bec07c8a95e727cba4f72d33409c1702f5306ad028de150b6a89b12eb"},"name":"set_remove_absent_std","profile":"rust-std","program":"9f8b76594bb07bf979cb966167884a9bb89ae977401c0fbb9457a939a51a3880","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/set-remove/package.json b/compiler/rust/rust-std/set-remove/package.json index 1fc940478..9f075ff52 100644 --- a/compiler/rust/rust-std/set-remove/package.json +++ b/compiler/rust/rust-std/set-remove/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"set_remove_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"set_remove_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/set-remove/provenance.json b/compiler/rust/rust-std/set-remove/provenance.json index f042cf2c0..bba82096f 100644 --- a/compiler/rust/rust-std/set-remove/provenance.json +++ b/compiler/rust/rust-std/set-remove/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"4b2810bd671579e13c1912c6134046c7ae1f1f48369e8fc16b333d503b0f6ced","src/lib.rs":"67eb791bec07c8a95e727cba4f72d33409c1702f5306ad028de150b6a89b12eb"},"name":"set_remove_std","profile":"rust-std","program":"9f8b76594bb07bf979cb966167884a9bb89ae977401c0fbb9457a939a51a3880","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"4b2810bd671579e13c1912c6134046c7ae1f1f48369e8fc16b333d503b0f6ced","src/lib.rs":"67eb791bec07c8a95e727cba4f72d33409c1702f5306ad028de150b6a89b12eb"},"name":"set_remove_std","profile":"rust-std","program":"9f8b76594bb07bf979cb966167884a9bb89ae977401c0fbb9457a939a51a3880","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/set-union/package.json b/compiler/rust/rust-std/set-union/package.json index 25e15be43..9f8f86b3f 100644 --- a/compiler/rust/rust-std/set-union/package.json +++ b/compiler/rust/rust-std/set-union/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"set_union_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":1,"kind":"call","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},{"kind":"var","name":3}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":2,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"set_union_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":1,"kind":"call","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},{"kind":"var","name":3}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":2,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/set-union/provenance.json b/compiler/rust/rust-std/set-union/provenance.json index 7f070bde4..2a019d661 100644 --- a/compiler/rust/rust-std/set-union/provenance.json +++ b/compiler/rust/rust-std/set-union/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"c65da910246da08808f2da2155dd2c328b5ce0961cae63e65d8b98e13b0eb202","src/lib.rs":"4e2d3e13b2cb15205dfc0ed8e9676606d1faa4addcef5672ea36348b502c34a8"},"name":"set_union_std","profile":"rust-std","program":"b7c250f72618139aea007f0241c6e91525523c5710484f1c76b89d9e77090a90","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"c65da910246da08808f2da2155dd2c328b5ce0961cae63e65d8b98e13b0eb202","src/lib.rs":"4e2d3e13b2cb15205dfc0ed8e9676606d1faa4addcef5672ea36348b502c34a8"},"name":"set_union_std","profile":"rust-std","program":"b7c250f72618139aea007f0241c6e91525523c5710484f1c76b89d9e77090a90","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/split-and-join/package.json b/compiler/rust/rust-std/split-and-join/package.json index 1f939dadf..d5318f78d 100644 --- a/compiler/rust/rust-std/split-and-join/package.json +++ b/compiler/rust/rust-std/split-and-join/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"split_and_join_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"a,b,,c"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":","}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"10"}}],"operation":{"kind":"split_exact"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"a,b"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":""}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"10"}}],"operation":{"kind":"split_exact"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"a,b,c"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":","}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"2"}}],"operation":{"kind":"split_exact"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"aaa"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"aa"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"5"}}],"operation":{"kind":"split_exact"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"ababcab"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"abc"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"5"}}],"operation":{"kind":"split_exact"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"aabaab"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"ab"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"5"}}],"operation":{"kind":"split_exact"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":""}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":";"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"1"}}],"operation":{"kind":"split_exact"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"}},{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"x"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":""}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"z"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"string"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"--"}}],"operation":{"kind":"join"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"},"right":{"kind":"string"}}},"parameters":[],"result":{"kind":"pair","left":{"element":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"},"right":{"kind":"string"}},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":[]}],"name":"split_and_join_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"a,b,,c"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":","}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"10"}}],"operation":{"kind":"split_exact"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"a,b"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":""}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"10"}}],"operation":{"kind":"split_exact"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"a,b,c"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":","}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"2"}}],"operation":{"kind":"split_exact"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"aaa"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"aa"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"5"}}],"operation":{"kind":"split_exact"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"ababcab"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"abc"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"5"}}],"operation":{"kind":"split_exact"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"aabaab"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"ab"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"5"}}],"operation":{"kind":"split_exact"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":""}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":";"}},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"1"}}],"operation":{"kind":"split_exact"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"}},{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"x"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":""}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"z"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"string"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}},{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"--"}}],"operation":{"kind":"join"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"},"right":{"kind":"string"}}},"parameters":[],"result":{"kind":"pair","left":{"element":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"},"right":{"kind":"string"}},"types":[]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/split-and-join/provenance.json b/compiler/rust/rust-std/split-and-join/provenance.json index 03cbe6da7..141eed27e 100644 --- a/compiler/rust/rust-std/split-and-join/provenance.json +++ b/compiler/rust/rust-std/split-and-join/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"d200d2a2d485f56f7a86aa2fa75772148915872ae02fb849cc3525c62ee3fc37","src/lib.rs":"90446edf1600486dff6670082ece42ce4650c8c52d03785de8c929e17553db22"},"name":"split_and_join_std","profile":"rust-std","program":"982ffd950ccdcc64baecacf59f92f2b927b0ed9924aab15840d15e590abf8f65","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"d200d2a2d485f56f7a86aa2fa75772148915872ae02fb849cc3525c62ee3fc37","src/lib.rs":"90446edf1600486dff6670082ece42ce4650c8c52d03785de8c929e17553db22"},"name":"split_and_join_std","profile":"rust-std","program":"982ffd950ccdcc64baecacf59f92f2b927b0ed9924aab15840d15e590abf8f65","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/string-escapes/package.json b/compiler/rust/rust-std/string-escapes/package.json index d510ee616..80037d8ae 100644 --- a/compiler/rust/rust-std/string-escapes/package.json +++ b/compiler/rust/rust-std/string-escapes/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"string_escapes_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"quote\" backslash\\ newline\n tab\t nul\u0000 é x́ ☃ 😀"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"quote\" backslash\\ newline\n tab\t nul\u0000 é x́ ☃ 😀"}}],"operation":{"kind":"length"}},{"kind":"var","name":0}],"operation":{"kind":"nat_add"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"string_escapes_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"quote\" backslash\\ newline\n tab\t nul\u0000 é x́ ☃ 😀"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"quote\" backslash\\ newline\n tab\t nul\u0000 é x́ ☃ 😀"}}],"operation":{"kind":"length"}},{"kind":"var","name":0}],"operation":{"kind":"nat_add"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/string-escapes/provenance.json b/compiler/rust/rust-std/string-escapes/provenance.json index bab4d087c..f694352a7 100644 --- a/compiler/rust/rust-std/string-escapes/provenance.json +++ b/compiler/rust/rust-std/string-escapes/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"351089a11ce92eae6cbc7f2ce1779fecb816df12c52b7c764e90e850474d6c63","src/lib.rs":"0850367b9b7bf6cb08df1fc745ac222d811cf02e7eda08ff655975faded885d8"},"name":"string_escapes_std","profile":"rust-std","program":"9b460d74ab6318d4fa2802d576ba50f580c272d87a100c66e6f85da294374ba9","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"351089a11ce92eae6cbc7f2ce1779fecb816df12c52b7c764e90e850474d6c63","src/lib.rs":"0850367b9b7bf6cb08df1fc745ac222d811cf02e7eda08ff655975faded885d8"},"name":"string_escapes_std","profile":"rust-std","program":"9b460d74ab6318d4fa2802d576ba50f580c272d87a100c66e6f85da294374ba9","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/sum-to-exhausted/package.json b/compiler/rust/rust-std/sum-to-exhausted/package.json index 43868d77a..3ccde5f34 100644 --- a/compiler/rust/rust-std/sum-to-exhausted/package.json +++ b/compiler/rust/rust-std/sum-to-exhausted/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"sum_to_exhausted_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"sum_to_exhausted_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/sum-to-exhausted/provenance.json b/compiler/rust/rust-std/sum-to-exhausted/provenance.json index 8df9b3b63..a7a405f17 100644 --- a/compiler/rust/rust-std/sum-to-exhausted/provenance.json +++ b/compiler/rust/rust-std/sum-to-exhausted/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"e78d34d4b838463c88bb11d83eefe033510ab268fe40522ef6b14aaa96117b67","src/lib.rs":"0a13b867605105995fa9a094147359caa58edba2102dbf7b05af7d3db6d7c9a7"},"name":"sum_to_exhausted_std","profile":"rust-std","program":"0b5d1623110dd3c47e6d54ff536aea2157c78593eaae53a9752197a171fdc79a","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"e78d34d4b838463c88bb11d83eefe033510ab268fe40522ef6b14aaa96117b67","src/lib.rs":"0a13b867605105995fa9a094147359caa58edba2102dbf7b05af7d3db6d7c9a7"},"name":"sum_to_exhausted_std","profile":"rust-std","program":"0b5d1623110dd3c47e6d54ff536aea2157c78593eaae53a9752197a171fdc79a","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/sum-to/package.json b/compiler/rust/rust-std/sum-to/package.json index 5260ca70f..2661d9781 100644 --- a/compiler/rust/rust-std/sum-to/package.json +++ b/compiler/rust/rust-std/sum-to/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"sum_to_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"sum_to_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"kind":"succ"},"type":{"kind":"nat"}},{"function":0,"kind":"call","operands":[{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/sum-to/provenance.json b/compiler/rust/rust-std/sum-to/provenance.json index 305e7105d..85581a7f7 100644 --- a/compiler/rust/rust-std/sum-to/provenance.json +++ b/compiler/rust/rust-std/sum-to/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"1e23e50d35294a571590ad01935ab2630558839c3c27048800075f7864aa6a95","src/lib.rs":"0a13b867605105995fa9a094147359caa58edba2102dbf7b05af7d3db6d7c9a7"},"name":"sum_to_std","profile":"rust-std","program":"0b5d1623110dd3c47e6d54ff536aea2157c78593eaae53a9752197a171fdc79a","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"1e23e50d35294a571590ad01935ab2630558839c3c27048800075f7864aa6a95","src/lib.rs":"0a13b867605105995fa9a094147359caa58edba2102dbf7b05af7d3db6d7c9a7"},"name":"sum_to_std","profile":"rust-std","program":"0b5d1623110dd3c47e6d54ff536aea2157c78593eaae53a9752197a171fdc79a","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/unit-closures/package.json b/compiler/rust/rust-std/unit-closures/package.json index 38956c557..fb2d18b17 100644 --- a/compiler/rust/rust-std/unit-closures/package.json +++ b/compiler/rust/rust-std/unit-closures/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"unit_closures_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"unit"}}},{"kind":"build","operands":[{"function":3,"kind":"call","operands":[{"captures":[],"function":1,"kind":"closure"},{"kind":"var","name":0}]},{"kind":"build","operands":[{"function":3,"kind":"call","operands":[{"captures":[],"function":2,"kind":"closure"},{"kind":"var","name":0}]},{"function":4,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"unit"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"unit"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"unit"}},"right":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"unit"}}}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"unit"}},"right":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"unit"}}}},"types":[{"kind":"nat"}]},{"body":{"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"kind":"let","name":1,"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]},{"body":{"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"kind":"let","name":1,"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]},{"body":{"kind":"apply","operands":[{"kind":"var","name":1}],"target":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"unit"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"unit"}},{"kind":"nat"}]},{"body":{"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_add"}},"kind":"let","name":1,"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"unit_closures_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"unit"}}},{"kind":"build","operands":[{"function":3,"kind":"call","operands":[{"captures":[],"function":1,"kind":"closure"},{"kind":"var","name":0}]},{"kind":"build","operands":[{"function":3,"kind":"call","operands":[{"captures":[],"function":2,"kind":"closure"},{"kind":"var","name":0}]},{"function":4,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"unit"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"unit"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"unit"}},"right":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"unit"}}}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"unit"}},"right":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"unit"}}}},"types":[{"kind":"nat"}]},{"body":{"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"kind":"let","name":1,"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]},{"body":{"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_eq"}},"kind":"let","name":1,"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]},{"body":{"kind":"apply","operands":[{"kind":"var","name":1}],"target":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"unit"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"unit"}},{"kind":"nat"}]},{"body":{"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_add"}},"kind":"let","name":1,"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/unit-closures/provenance.json b/compiler/rust/rust-std/unit-closures/provenance.json index 7a0923c80..e0482a54a 100644 --- a/compiler/rust/rust-std/unit-closures/provenance.json +++ b/compiler/rust/rust-std/unit-closures/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"faf953f919550ce28fe52f8222706cce910b60edf6a11f96f8f762743109191f","src/lib.rs":"020561b609c98bcdd3cd49b4473a6d3aa021cd9dc8d3e6f1fa8854d233583917"},"name":"unit_closures_std","profile":"rust-std","program":"e2f55254e66e933625b9a18c2414242a0f3a55dccef58b663673c4027a619c34","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"faf953f919550ce28fe52f8222706cce910b60edf6a11f96f8f762743109191f","src/lib.rs":"020561b609c98bcdd3cd49b4473a6d3aa021cd9dc8d3e6f1fa8854d233583917"},"name":"unit_closures_std","profile":"rust-std","program":"e2f55254e66e933625b9a18c2414242a0f3a55dccef58b663673c4027a619c34","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/unit-values/package.json b/compiler/rust/rust-std/unit-values/package.json index 0624b7e8a..84ce2721b 100644 --- a/compiler/rust/rust-std/unit-values/package.json +++ b/compiler/rust/rust-std/unit-values/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"unit_values_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"body":{"body":{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":2}]},{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":1}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"unit"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"option","value":{"kind":"unit"}}}},"bound":{"function":5,"kind":"call","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"9"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_lt"}}]},"kind":"let","name":4,"type":{"kind":"unit"}},"bound":{"function":4,"kind":"call","operands":[{"kind":"var","name":1}]},"kind":"let","name":3,"type":{"kind":"unit"}},"bound":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"kind":"let","name":2,"type":{"kind":"unit"}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"option","value":{"kind":"unit"}}},"types":[{"kind":"unit"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"unit"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"unit"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"unit"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":1}]},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"unit"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]},{"body":{"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"kind":"let","name":1,"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"kind":"cond","then_branch":{"function":3,"kind":"call","operands":[{"kind":"var","name":0}]}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"var","name":0},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"kind":"cond","then_branch":{"condition":{"kind":"var","name":1},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"kind":"cond","then_branch":{"function":1,"kind":"call","operands":[{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}}]}}},"parameters":[0,1],"result":{"kind":"unit"},"types":[{"kind":"bool"},{"kind":"bool"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"unit_values_std","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"body":{"body":{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":2}]},{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":1}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"unit"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"option","value":{"kind":"unit"}}}},"bound":{"function":5,"kind":"call","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"9"}}],"operation":{"kind":"nat_lt"}},{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_lt"}}]},"kind":"let","name":4,"type":{"kind":"unit"}},"bound":{"function":4,"kind":"call","operands":[{"kind":"var","name":1}]},"kind":"let","name":3,"type":{"kind":"unit"}},"bound":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"kind":"let","name":2,"type":{"kind":"unit"}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"unit"},"right":{"kind":"option","value":{"kind":"unit"}}},"types":[{"kind":"unit"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"unit"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"unit"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"unit"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":1}]},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"unit"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]},{"body":{"body":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"kind":"let","name":1,"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"kind":"cond","then_branch":{"function":3,"kind":"call","operands":[{"kind":"var","name":0}]}},"parameters":[0],"result":{"kind":"unit"},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"var","name":0},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"kind":"cond","then_branch":{"condition":{"kind":"var","name":1},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}},"kind":"cond","then_branch":{"function":1,"kind":"call","operands":[{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}}]}}},"parameters":[0,1],"result":{"kind":"unit"},"types":[{"kind":"bool"},{"kind":"bool"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/unit-values/provenance.json b/compiler/rust/rust-std/unit-values/provenance.json index a88da2d49..053e7675b 100644 --- a/compiler/rust/rust-std/unit-values/provenance.json +++ b/compiler/rust/rust-std/unit-values/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"8045da83d6b2fb2030e227d9f791ff98b6e68266b4557c08ff33a8e204025f14","src/lib.rs":"ad13289bec0890225a90bdacdef0305b22052f11c27aa4b3af47b12ed83967b1"},"name":"unit_values_std","profile":"rust-std","program":"da46c33882a69c2a5bed667c6e026399692e7ebc318523c341cef90e9257d9ea","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"8045da83d6b2fb2030e227d9f791ff98b6e68266b4557c08ff33a8e204025f14","src/lib.rs":"ad13289bec0890225a90bdacdef0305b22052f11c27aa4b3af47b12ed83967b1"},"name":"unit_values_std","profile":"rust-std","program":"da46c33882a69c2a5bed667c6e026399692e7ebc318523c341cef90e9257d9ea","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/wide-shapes/package.json b/compiler/rust/rust-std/wide-shapes/package.json index 8631bf9c3..c40fbf48f 100644 --- a/compiler/rust/rust-std/wide-shapes/package.json +++ b/compiler/rust/rust-std/wide-shapes/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"wide_shapes_std","profile":"rust-std","program":{"adts":[{"constructors":[[],[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"6"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"7"}}]},{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]},{"function":3,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"error":{"index":0,"kind":"adt"},"kind":"result","ok":{"kind":"nat"}},"right":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"error":{"index":0,"kind":"adt"},"kind":"result","ok":{"kind":"nat"}},"right":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"error":{"index":0,"kind":"adt"},"kind":"result","ok":{"kind":"nat"}},"right":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}}},"types":[{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":7},{"kind":"var","name":0}],"operation":{"kind":"nat_sub"}},"parameters":[0,1,2,3,4,5,6,7],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}],"shape":{"kind":"error"},"type":{"error":{"index":0,"kind":"adt"},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":0}],"shape":{"kind":"ok"},"type":{"error":{"index":0,"kind":"adt"},"kind":"result","ok":{"kind":"nat"}}}},"parameters":[0],"result":{"error":{"index":0,"kind":"adt"},"kind":"result","ok":{"kind":"nat"}},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}}],"shape":{"kind":"error"},"type":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":0}],"shape":{"kind":"ok"},"type":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}}},"parameters":[0],"result":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"wide_shapes_std","profile":"rust-std","program":{"adts":[{"constructors":[[],[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"4"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"6"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"7"}}]},{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]},{"function":3,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"error":{"index":0,"kind":"adt"},"kind":"result","ok":{"kind":"nat"}},"right":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"error":{"index":0,"kind":"adt"},"kind":"result","ok":{"kind":"nat"}},"right":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"error":{"index":0,"kind":"adt"},"kind":"result","ok":{"kind":"nat"}},"right":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}}},"types":[{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":7},{"kind":"var","name":0}],"operation":{"kind":"nat_sub"}},"parameters":[0,1,2,3,4,5,6,7],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}],"shape":{"kind":"error"},"type":{"error":{"index":0,"kind":"adt"},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":0}],"shape":{"kind":"ok"},"type":{"error":{"index":0,"kind":"adt"},"kind":"result","ok":{"kind":"nat"}}}},"parameters":[0],"result":{"error":{"index":0,"kind":"adt"},"kind":"result","ok":{"kind":"nat"}},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}}],"shape":{"kind":"error"},"type":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":0}],"shape":{"kind":"ok"},"type":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}}},"parameters":[0],"result":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/compiler/rust/rust-std/wide-shapes/provenance.json b/compiler/rust/rust-std/wide-shapes/provenance.json index 1f4607daf..502cd11f3 100644 --- a/compiler/rust/rust-std/wide-shapes/provenance.json +++ b/compiler/rust/rust-std/wide-shapes/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"415c3a0d89f14d73987b411bad9cab765e5cda57c0d5271fa87d0341d6507918","src/lib.rs":"2fc8cd4e24bccd554f7e80296b25f799a403dadc4d2d29a70c28f5e03005143a"},"name":"wide_shapes_std","profile":"rust-std","program":"d0de8fa403502aaf54be1ccfae31401db4a92de6aa9ae953b340395fe2de28ec","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["db95ebb72452fe3ab8eac477f9699800af1f9fa5c97cd5a5bcd3b82f4ebdc4f9"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"415c3a0d89f14d73987b411bad9cab765e5cda57c0d5271fa87d0341d6507918","src/lib.rs":"2fc8cd4e24bccd554f7e80296b25f799a403dadc4d2d29a70c28f5e03005143a"},"name":"wide_shapes_std","profile":"rust-std","program":"d0de8fa403502aaf54be1ccfae31401db4a92de6aa9ae953b340395fe2de28ec","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["322344811b7d86d74c93a4f40acd7bacbae4cdf944388e82fddfd64a0769c66a"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/crates/conformance/src/cases/calculus.rs b/crates/conformance/src/cases/calculus.rs index a31a14699..9f82d64e1 100644 --- a/crates/conformance/src/cases/calculus.rs +++ b/crates/conformance/src/cases/calculus.rs @@ -289,7 +289,7 @@ fn lean_evaluations(verified: &camino::Utf8Path, cases: &[Case]) -> BTreeMap BTreeMap = modules + .iter() + .map(|module| { + std::fs::read_to_string( + verified + .join("modules") + .join("LexLeanTarget") + .join(format!("{module}.lean")), + ) + .expect("published generated source") + }) + .collect(); + let runtime_sources = scratch.path().join("runtime"); + for runtime in lexlean::backend::runtime::imported_by(texts.iter().map(String::as_str)) + .expect("the shipped runtime") + { + let relative = runtime.name.replace('.', "/"); + let path = runtime_sources.join(format!("{relative}.lean")); + let object = compiled.join(format!("{relative}.olean")); + for directory in [path.parent(), object.parent()] { + std::fs::create_dir_all(directory.expect("parent")).expect("runtime directory"); + } + std::fs::write(&path, &runtime.text).expect("runtime source"); + let built = std::process::Command::new(&lean) + .arg("-o") + .arg(&object) + .arg(format!("{relative}.lean")) + .current_dir(&runtime_sources) + .env("LEAN_PATH", &search) + .output() + .expect("pinned lean runs"); + assert!( + built.status.success(), + "{} does not compile:\n{}\n{}", + runtime.name, + String::from_utf8_lossy(&built.stdout), + String::from_utf8_lossy(&built.stderr) + ); + } + for module in modules { let built = std::process::Command::new(&lean) .arg("-o") .arg( diff --git a/crates/conformance/src/cases/certification.rs b/crates/conformance/src/cases/certification.rs index f8eb705e6..58d30a2b9 100644 --- a/crates/conformance/src/cases/certification.rs +++ b/crates/conformance/src/cases/certification.rs @@ -2639,6 +2639,17 @@ fn gc_11() { library::PREFIX, "tests/certification-library/oracle", ); + // The one Lean text beside a module's data is the decoder of core module + // 2, which loads native modules (SPEC.md §17.12, RT-04). + for stem in library::MODULES { + assert_eq!( + library::library_text(stem) + .matches(lexlean::backend::core_v2::LEAN_CORE_DECODER_V2) + .count(), + 1, + "`{stem}` carries the decoder of core module 2 exactly once" + ); + } // The library is LexLean source and nothing else: no Lean file lies // anywhere in its project, and its sources are the listed modules. let project = repo_root().join(library::PROJECT_DIR); diff --git a/crates/conformance/src/cases/configuration_lock.rs b/crates/conformance/src/cases/configuration_lock.rs index 1554ab3e0..3924f8a35 100644 --- a/crates/conformance/src/cases/configuration_lock.rs +++ b/crates/conformance/src/cases/configuration_lock.rs @@ -1226,20 +1226,23 @@ pub(crate) fn run(id: &str) { .iter() .map(|module| module.lean_text.clone()) .collect(); - // Language 1.2 exposes the portable runtime (§17.12, rule 6), makes - // proposition-valued definitions reducible (§17.12, models, rule - // 11), and silences the constructor-name linter (rule 10); undoing - // exactly those leaves the 1.1 text. - let unexposed: Vec = migrated_lean + // Language 1.2 imports the portable runtime module instead of + // splicing the frozen runtime text (§17.12, rule 6 and *Runtime + // modules*), makes proposition-valued definitions reducible + // (§17.12, models, rule 11), and silences the constructor-name + // linter (rule 10); undoing exactly those leaves the 1.1 text. + let import = format!("public import {}\n", lexlean::backend::runtime::PORTABLE); + let undone: Vec = migrated_lean .iter() .map(|text| { + let portable = text.contains(&import); // Only a proposition-valued definition is reducible; any // other reducible definition is left to fail the comparison. let mut text = text + .replace(&import, "") // 1.2 modules silence the linter that reports a // parameter named like a nullary constructor. .replace("set_option linter.constructorNameAsVariable false\n", "") - .replace("@[expose, noinline] public def ", "@[noinline] public def ") .split_inclusive('\n') .map(|line| { if line.starts_with("@[expose, reducible] public def ") @@ -1251,15 +1254,18 @@ pub(crate) fn run(id: &str) { } }) .collect::(); - for helper in [ - "magnitudeInt64", - "signedMagnitudeInt64", - "divideMagnitudeInt64", - "multiplyMagnitudeInt64", - ] { - text = text.replace( - &format!("@[expose] public def {helper} "), - &format!("public def {helper} "), + if portable { + // A language-1.1 module spliced the runtime right + // after the line that opens its namespace. + let namespace = text.find("\nnamespace ").expect("a namespace line") + 1; + let after = namespace + + text[namespace..] + .find('\n') + .expect("the namespace line ends") + + 1; + text.insert_str( + after, + lexlean::backend::runtime::frozen_portable_runtime(), ); } text @@ -1267,11 +1273,11 @@ pub(crate) fn run(id: &str) { .collect(); assert_ne!( migrated_lean, original_lean, - "the language-1.2 runtime is exposed" + "the language-1.2 module imports the runtime instead of splicing it" ); assert_eq!( - unexposed, original_lean, - "migration changes identities and runtime exposure, not generated Lean declarations" + undone, original_lean, + "migration changes identities and how the runtime is reached, not generated Lean declarations" ); assert_ne!( support::checked_project(&migrated).semantic_id, diff --git a/crates/conformance/src/cases/extraction.rs b/crates/conformance/src/cases/extraction.rs index 0e0fe6663..44b4b14f5 100644 --- a/crates/conformance/src/cases/extraction.rs +++ b/crates/conformance/src/cases/extraction.rs @@ -450,25 +450,19 @@ pub fn run(id: &str) { halvings.declarations, ["Production.Kernel.countdown", "Production.Main.halvings"] ); - assert_eq!( - halvings.runtime, - ["Production.Kernel.LexLeanRuntime.subtract"] - ); + assert_eq!(halvings.runtime, ["LexLeanRuntime.subtract"]); assert_eq!(halvings.erased, ["Production.Kernel.countdown_decreases"]); assert_eq!( closure("shapeArea").declarations, ["Production.Kernel.area", "Production.Main.shapeArea"] ); - assert_eq!( - closure("shapeArea").runtime, - ["Production.Kernel.LexLeanRuntime.multiply"] - ); + assert_eq!(closure("shapeArea").runtime, ["LexLeanRuntime.multiply"]); assert_eq!( closure("checkedSum").runtime, [ - "Production.Main.LexLeanRuntime.checkedAdd", - "Production.Main.LexLeanRuntime.checkedFromInt", - "Production.Main.LexLeanRuntime.instFixedUInt32" + "LexLeanRuntime.checkedAdd", + "LexLeanRuntime.checkedFromInt", + "LexLeanRuntime.instFixedUInt32" ] ); // The monomorphization plan travels with the closure. diff --git a/crates/conformance/src/cases/mod.rs b/crates/conformance/src/cases/mod.rs index ebead3652..c08864b78 100644 --- a/crates/conformance/src/cases/mod.rs +++ b/crates/conformance/src/cases/mod.rs @@ -31,6 +31,7 @@ mod production_export; mod proofs; mod reasoning; mod repository; +mod runtime; mod rust_backend; mod security; mod semantic_ir; @@ -110,6 +111,7 @@ pub fn run(id: &str) { "OR" => oracle::run(id), "MD" => models::run(id), "RS" => reasoning::run(id), + "RT" => runtime::run(id), "TL" => tooling::run(id), "AU" => authoring::run(id), _ => panic!("no conformance case is wired for {id}"), diff --git a/crates/conformance/src/cases/models.rs b/crates/conformance/src/cases/models.rs index a56495514..a42227ad8 100644 --- a/crates/conformance/src/cases/models.rs +++ b/crates/conformance/src/cases/models.rs @@ -981,10 +981,25 @@ fn md_03() { assert!(lean.contains( "public theorem DigitContract.postcondition_complete : LexLeanModels.Complete2 ((Models.Recognizer.recognizesCheck)) ((Models.Recognizer.Recognizes)) := Models.Recognizer.recognizes_check_complete" )); - for helper in ["def Sound1", "def Sound2", "def Complete1", "def Complete2"] { + // The fixed model semantics is the model runtime module (§17.12, + // *Runtime modules*), which the module imports. + assert!( + lean.contains(&format!( + "public import {}\n", + lexlean::backend::runtime::MODELS + )), + "a module with a model declaration imports the model runtime" + ); + let runtime = lexlean::backend::runtime::modules() + .expect("the shipped runtime") + .iter() + .find(|module| module.name == lexlean::backend::runtime::MODELS) + .expect("the model runtime"); + for helper in ["Sound1", "Sound2", "Complete1", "Complete2"] { + let name = format!("LexLeanModels.{helper}"); assert!( - lean.contains(helper), - "the fixed model runtime defines `{helper}`" + runtime.declarations.iter().any(|(row, _)| *row == name), + "the fixed model runtime defines `{name}`" ); } let snapshot = snapshot(&project); @@ -2984,15 +2999,23 @@ fn md_12() { project.fmt_check_ok(); // The inventory: every claim and link form of the fixed model semantics // is produced by a declaration of the committed example. The names are - // read from the emitted runtime itself, so a new form is covered or this + // read from the model runtime module itself (§17.12, *Runtime modules*), + // which the example's modules import, so a new form is covered or this // case fails. let build = support::rendered(&project); let lean = support::lean_text(&build, "Ledger"); - let runtime = lean - .split("namespace LexLeanModels\n") - .nth(1) - .and_then(|rest| rest.split("end LexLeanModels").next()) - .expect("the emitted model runtime"); + assert!( + lean.contains(&format!( + "public import {}\n", + lexlean::backend::runtime::MODELS + )), + "a module with a model declaration imports the model runtime" + ); + let runtime = lexlean::backend::runtime::modules() + .expect("the shipped runtime") + .iter() + .find(|module| module.name == lexlean::backend::runtime::MODELS) + .expect("the model runtime"); let decoders = BTreeSet::from([ "encodeInt", "inRange", @@ -3001,10 +3024,10 @@ fn md_12() { "utf8Char", ]); let forms: BTreeSet = runtime - .lines() - .filter_map(|line| line.split("public def ").nth(1)) - .filter_map(|rest| rest.split_whitespace().next()) - .filter(|name| !decoders.contains(name)) + .declarations + .iter() + .filter_map(|(name, _)| name.strip_prefix("LexLeanModels.")) + .filter(|name| !name.contains('.') && !decoders.contains(name)) .map(str::to_owned) .collect(); assert!(forms.len() >= 20, "{forms:?}"); diff --git a/crates/conformance/src/cases/oracle.rs b/crates/conformance/src/cases/oracle.rs index 55bb45b47..f53e8490a 100644 --- a/crates/conformance/src/cases/oracle.rs +++ b/crates/conformance/src/cases/oracle.rs @@ -887,7 +887,7 @@ fn malformed_non_overlap_tables_are_refused() { "spec = \"lexlean/oracle-overlap/1\"", "spec = \"lexlean/oracle-overlap/2\"", ); - refused("version = 1", "version = 0"); + refused("version = 2", "version = 0"); refused("kind = \"not-runtime\"", "kind = \"vendored\""); // A row with a blank reason. let mut value: toml::Value = text.parse().expect("the table is TOML"); diff --git a/crates/conformance/src/cases/preservation.rs b/crates/conformance/src/cases/preservation.rs index c2fe20572..22bd89979 100644 --- a/crates/conformance/src/cases/preservation.rs +++ b/crates/conformance/src/cases/preservation.rs @@ -1621,6 +1621,18 @@ pub fn run(id: &str) { preserve::LIBRARY_PREFIX, "tests/preservation-library/oracle", ); + // The one Lean text beside a module's data is the decoder of core + // module 2, which loads native modules (SPEC.md §17.12, RT-04). + for module in &library.modules { + assert_eq!( + preserve::module_text(module) + .expect("the generated library module") + .matches(lexlean::backend::core_v2::LEAN_CORE_DECODER_V2) + .count(), + 1, + "`{module}` carries the decoder of core module 2 exactly once" + ); + } // The library is LexLean source, one native module per listed // module, and nothing else: no module without a source, no // source without a module, and no Lean file the compiler did diff --git a/crates/conformance/src/cases/reasoning.rs b/crates/conformance/src/cases/reasoning.rs index 06b64504c..c05dc25d8 100644 --- a/crates/conformance/src/cases/reasoning.rs +++ b/crates/conformance/src/cases/reasoning.rs @@ -319,47 +319,6 @@ fn root<'a>(report: &'a Json, name: &str) -> &'a Json { .unwrap_or_else(|| panic!("root {name}")) } -/// Run the pinned Lean on `text` as a standalone module in `project`'s -/// workspace: whether it is accepted, and what it printed. -fn lean_run(project: &P, name: &str, text: &str) -> (bool, String) { - let _guard = support::env_shared(); - let inner = lexlean::project::Project::load(&project.root.join("lexlean.toml")).expect("load"); - let toolchain = - lexlean::verify::toolchain::preflight(&inner.config.limits).expect("the pinned toolchain"); - let scratch = project.root.join(".lexlean/runtime-scratch"); - std::fs::create_dir_all(scratch.as_std_path()).expect("scratch"); - let source = scratch.join(format!("{name}.lean")); - std::fs::write(source.as_std_path(), text).expect("write module"); - let normalizer = lexlean::verify::child::Normalizer::new( - &scratch, - &project.root, - &project.root, - &toolchain.root, - ); - let bin = toolchain.root.join("bin"); - let record = lexlean::verify::child::run( - &lexlean::verify::child::ChildSpec { - tool: "lean", - module: Some(name.to_owned()), - program: &toolchain.lake.path, - executable_sha256: toolchain.lean.sha256, - argv: vec!["env".to_owned(), "lean".to_owned(), source.to_string()], - cwd: &project.root, - extra_env: vec![("LEAN_PATH".to_owned(), scratch.to_string())], - home: lexlean::verify::child::ChildHome::Toolchain { - toolchain_bin: &bin, - }, - }, - &inner.config.limits, - &normalizer, - ) - .expect("lean runs"); - ( - record.exit_code == 0 && !record.stdout.contains("error"), - record.stdout, - ) -} - /// The `kind` constants of the alternatives beneath schema `$defs` entry /// `definition`. fn schema_kinds(schema: &Json, definition: &str) -> BTreeSet { @@ -837,9 +796,12 @@ fn rs_04() { for theorem in spend.theorems() { assert_eq!(theorem["type_parameters"], json!(["T"]), "{theorem}"); } - // The formal runtime is emitted, and no closure reaches it. + // The formal runtime is imported, and no closure reaches it. let build = support::rendered(&project); - assert!(support::lean_text(&build, "Clinic").contains("namespace LexLeanReasoning")); + assert!(support::lean_text(&build, "Clinic").contains(&format!( + "public import {}\n", + lexlean::backend::runtime::REASONING + ))); let report = eligibility(&project, "Main"); for root in report["roots"].as_array().expect("roots") { for member in root["runtime_closure"].as_array().expect("closure") { @@ -1121,33 +1083,54 @@ fn rs_07() { refused_by_lean("RS-07", &["nonterminating-rule", "insufficient-fuel"]); } -/// The emitted `LexLeanReasoning` runtime of a rendered module, and the -/// text after it. -fn runtime_of(lean: &str) -> (&str, &str) { - let start = lean.find("namespace LexLeanReasoning\n").expect("runtime"); - let end = lean[start..] - .find("end LexLeanReasoning\n") - .expect("runtime end") - + start; - (&lean[start..end], &lean[end..]) -} - -/// The names a runtime block declares. -fn runtime_names(runtime: &str) -> Vec { - runtime - .lines() - .filter_map(|line| { - [ - "public theorem ", - "@[expose] public def ", - "public inductive ", - ] - .iter() - .find_map(|prefix| line.strip_prefix(prefix)) - }) - .filter_map(|rest| rest.split_whitespace().next()) - .map(str::to_owned) - .collect() +/// The reasoning runtime module (§17.12, *Runtime modules*): each top-level +/// `LexLeanReasoning` declaration, by its short name, with the top-level +/// runtime names its kernel type and value refer to. +fn runtime_declarations() -> Vec<(String, BTreeSet)> { + use lexlean::ir::core::{CoreModule, CoreNode}; + let path = lexlean::backend::runtime::native_source_path(lexlean::backend::runtime::REASONING) + .expect("a path"); + let source = std::fs::read_to_string(support::repo_root().join(&path).as_std_path()) + .expect("the reasoning runtime"); + let core = CoreModule::from_source(&source, "1.2").expect("a native module"); + let short = |name: &str| { + name.strip_prefix("LexLeanReasoning.") + .map(|rest| rest.split('.').next().unwrap_or(rest).to_owned()) + }; + let mut out = Vec::new(); + for row in &core.declarations { + let Some(name) = row.name.strip_prefix("LexLeanReasoning.") else { + continue; + }; + if row.generated || name.contains('.') { + continue; + } + let mut references = BTreeSet::new(); + let mut seen = BTreeSet::new(); + let mut stack = vec![row.r#type]; + stack.extend(row.value); + while let Some(node) = stack.pop() { + if !seen.insert(node) { + continue; + } + match &core.nodes[node] { + CoreNode::Const { n, .. } => references.extend(short(n)), + CoreNode::App { f, x } => stack.extend([*f, *x]), + CoreNode::Lambda { t, v, .. } | CoreNode::Forall { t, v, .. } => { + stack.extend([*t, *v]); + } + CoreNode::Let { t, v, body, .. } => stack.extend([*t, *v, *body]), + CoreNode::Projection { x, .. } | CoreNode::Mdata { x, .. } => stack.push(*x), + CoreNode::BVar { .. } + | CoreNode::Sort { .. } + | CoreNode::Nat { .. } + | CoreNode::String { .. } => {} + } + } + references.remove(name); + out.push((name.to_owned(), references)); + } + out } /// Whether `text` mentions the runtime name `name` as a whole word. @@ -1167,49 +1150,31 @@ fn rs_08() { let project = P::copy_example(EXAMPLE); let build = support::rendered(&project); let clinic = support::lean_text(&build, "Clinic"); - let (runtime, _) = runtime_of(&clinic); - let declared = runtime_names(runtime); + assert!( + clinic.contains(&format!( + "public import {}\n", + lexlean::backend::runtime::REASONING + )), + "a module with a reasoning declaration imports the reasoning runtime" + ); + let runtime = runtime_declarations(); + let declared: Vec = runtime.iter().map(|(name, _)| name.clone()).collect(); assert!(declared.len() >= 30, "{declared:?}"); // Every runtime name is used by a generated statement or proof of the // example, directly or through another runtime name so used. let generated: String = MODULES .iter() - .map(|module| runtime_of(&support::lean_text(&build, module)).1.to_owned()) + .map(|module| support::lean_text(&build, module)) .collect(); - // Each runtime name's block runs from its declaration to the next. - let mut blocks: Vec<(&String, String)> = Vec::new(); - for line in runtime.lines() { - match runtime_names(line).first() { - Some(name) => { - let name = declared - .iter() - .find(|candidate| *candidate == name) - .expect("declared"); - blocks.push((name, format!("{line}\n"))); - } - None => { - if let Some((_, block)) = blocks.last_mut() { - block.push_str(line); - block.push('\n'); - } - } - } - } let mut used: BTreeSet<&String> = declared .iter() .filter(|name| mentions(&generated, &format!("LexLeanReasoning.{name}"))) .collect(); loop { let before = used.len(); - for (name, _) in &blocks { + for (name, references) in &runtime { if used.contains(name) { - continue; - } - if blocks - .iter() - .any(|(user, block)| used.contains(user) && user != name && mentions(block, name)) - { - used.insert(name); + used.extend(declared.iter().filter(|other| references.contains(*other))); } } if used.len() == before { @@ -1263,48 +1228,58 @@ fn rs_08() { "{name}" ); } - // The runtime alone is accepted by pinned Lean, and a mutated lemma - // statement is refused. - let start = clinic - .find("namespace LexLeanReasoning\n") - .expect("runtime"); - let end = clinic.find("end LexLeanReasoning\n").expect("runtime end") - + "end LexLeanReasoning\n".len(); - let namespace = clinic - .lines() - .find_map(|line| line.strip_prefix("namespace ")) - .expect("the module namespace"); - let runtime_module = format!("{}end {namespace}\n", &clinic[..end]); - assert!(start < end); - // Every runtime lemma is accepted, and depends on no axiom. - let audited = format!( - "{}{}end {namespace}\n", - &clinic[..end], - declared + // Every runtime name is accepted by pinned Lean and depends on no axiom: + // the verification compiled, replayed, and audited the runtime module + // the example imports. + for name in &declared { + let row = attested(&fixture.attestation, &format!("LexLeanReasoning.{name}")); + assert_eq!(row["result"], "ok", "{name}"); + assert_eq!(row["observed"], json!([]), "{name} depends on no axiom"); + } + // A mutated runtime lemma statement is refused: the guarded lemma's row, + // in the runtime's own project, states the statement of another lemma. + let mutated = P::runtime_project(); + let relative = "src/Reasoning.lex.tex"; + let source = mutated.read(relative); + let (head, rest) = source.split_once("\\coredata{").expect("the payload"); + let (payload, tail) = rest + .rsplit_once("}\n\\end{coremodule}") + .expect("the payload's end"); + let mut data: Json = serde_json::from_str(payload).expect("the payload is JSON"); + let statement_of = |data: &Json, name: &str| { + data["declarations"] + .as_array() + .expect("rows") .iter() - .map(|name| format!("#print axioms LexLeanReasoning.{name}\n")) - .collect::() - ); - let workspace = P::copy_example(EXAMPLE); - let (accepted, printed) = lean_run(&workspace, "RuntimeAccepted", &audited); - assert!( - accepted, - "the emitted runtime is accepted by pinned Lean: {printed}" - ); - assert_eq!( - printed.matches("does not depend on any axioms").count(), - declared.len(), - "every runtime name is axiom-free: {printed}" - ); - let sound = "= some t -> r s t := by"; - assert!( - runtime_module.contains(sound), - "the guarded lemma states soundness" + .find(|row| row["name"] == name) + .map(|row| row["type"].clone()) + .unwrap_or_else(|| panic!("the runtime declares `{name}`")) + }; + let other = statement_of(&data, "LexLeanReasoning.checked"); + assert_ne!(statement_of(&data, "LexLeanReasoning.guarded"), other); + for row in data["declarations"].as_array_mut().expect("rows") { + if row["name"] == "LexLeanReasoning.guarded" { + row["type"] = other.clone(); + } + } + mutated.write( + relative, + &format!( + "{head}\\coredata{{{}}}\n\\end{{coremodule}}{tail}", + serde_json::to_string(&data).expect("JSON") + ), ); - let planted = runtime_module.replacen(sound, "= some t -> r t s := by", 1); + mutated.relock(); + let refused = mutated + .engine() + .verify(VerifyRequest { + selection: Selection::Entrypoints, + }) + .err() + .expect("a mutated runtime lemma statement is refused"); assert!( - !lean_run(&workspace, "RuntimeMutated", &planted).0, - "a mutated runtime lemma statement is refused" + refused.to_string().contains("LexLeanReasoning.guarded"), + "{refused}" ); } diff --git a/crates/conformance/src/cases/repository.rs b/crates/conformance/src/cases/repository.rs index 48dd0f419..6939a9174 100644 --- a/crates/conformance/src/cases/repository.rs +++ b/crates/conformance/src/cases/repository.rs @@ -411,7 +411,7 @@ pub(crate) fn run(id: &str) { let model = repo_model::Model::load(&root.join("model").into_std_path_buf()) .expect("the model loads"); let table = spec_table(); - assert_eq!(table.len(), 382, "§31 has 382 rows"); + assert_eq!(table.len(), 386, "§31 has 386 rows"); assert_eq!(model.ids.id.len(), table.len(), "register row count"); for ((spec_id, spec_suite, spec_statement), row) in table.iter().zip(model.ids.id.iter()) diff --git a/crates/conformance/src/cases/runtime.rs b/crates/conformance/src/cases/runtime.rs new file mode 100644 index 000000000..e60960cb2 --- /dev/null +++ b/crates/conformance/src/cases/runtime.rs @@ -0,0 +1,502 @@ +//! The `runtime` suite: RT-01..RT-04, the runtime of generated Lean as +//! native modules and the frozen bytes of languages 1.0 and 1.1 (SPEC.md +//! §17.12, *Runtime modules*). + +use std::collections::BTreeSet; + +use lexlean::backend::runtime; + +use crate::support::{self, repo_root, P}; + +/// Run the case for one `RT` ID. +/// +/// # Panics +/// +/// Panics when the case's assertion fails. +pub fn run(id: &str) { + match id { + "RT-01" => rt_01(), + "RT-02" => rt_02(), + "RT-03" => rt_03(), + "RT-04" => rt_04(), + _ => panic!("no runtime case is wired for {id}"), + } +} + +/// The runtime namespaces a generated module once carried a copy of. +const NAMESPACES: [&str; 4] = [ + "LexLeanRuntime", + "LexLeanCollections", + "LexLeanModels", + "LexLeanReasoning", +]; + +fn disk(path: &str) -> Result { + std::fs::read_to_string(repo_root().join(path).as_std_path()) + .map_err(|error| format!("{path}: {error}")) +} + +/// The files below `root` with one of the extensions, skipping build output. +fn files(root: &std::path::Path, extensions: &[&str]) -> Vec { + walkdir::WalkDir::new(root) + .into_iter() + .filter_entry(|entry| { + let name = entry.file_name().to_string_lossy(); + !(entry.file_type().is_dir() && matches!(name.as_ref(), "target" | ".git" | ".lexlean")) + }) + .flatten() + .filter(|entry| entry.file_type().is_file()) + .map(walkdir::DirEntry::into_path) + .filter(|path| { + path.extension() + .and_then(|extension| extension.to_str()) + .is_some_and(|extension| extensions.contains(&extension)) + }) + .collect() +} + +/// RT-01: the runtime is LexLean source, and no runtime copy remains. +fn rt_01() { + let modules = runtime::modules().expect("the shipped runtime"); + let names: Vec<&str> = modules.iter().map(|module| module.name.as_str()).collect(); + assert_eq!( + names, + [ + runtime::PORTABLE, + runtime::COLLECTIONS, + runtime::MODELS, + runtime::REASONING + ], + "the registry lists the four runtime modules in dependency order" + ); + // The registry lists the modules and nothing else. + let registry: toml::Table = disk(runtime::REGISTRY_PATH) + .expect("the registry") + .parse() + .expect("the registry is TOML"); + assert_eq!( + registry.keys().map(String::as_str).collect::>(), + ["modules", "spec", "toolchain"], + "the registry holds no declaration list" + ); + // One native source per module, embedded, and no Lean file in the + // project. + let project = repo_root().join(runtime::PROJECT_DIR); + let mut sources = BTreeSet::new(); + for path in files(project.as_std_path(), &["lean", "tex"]) { + let shown = path.display().to_string(); + assert!( + !shown.ends_with(".lean"), + "{shown}: a Lean file lies in the runtime project" + ); + if let Some(stem) = path + .strip_prefix(project.join("src").as_std_path()) + .ok() + .map(|rest| rest.to_string_lossy().replace('\\', "/")) + .and_then(|rest| rest.strip_suffix(".lex.tex").map(str::to_owned)) + { + sources.insert(format!("{}.{}", runtime::PREFIX, stem.replace('/', "."))); + } + } + let listed: BTreeSet = names.iter().map(|name| (*name).to_owned()).collect(); + assert_eq!(sources, listed, "the native sources are the listed modules"); + for module in &names { + let path = runtime::native_source_path(module).expect("a path"); + assert!( + lexlean::embedded::FILES + .iter() + .any(|(candidate, _)| *candidate == path), + "{path} is not embedded in the compiler" + ); + } + // Every declaration pins its exact axioms; a weakened, missing, or + // escaping source is refused. + let declared: usize = modules.iter().map(|module| module.declarations.len()).sum(); + assert!(declared > 0, "the runtime modules state declarations"); + assert_eq!( + runtime::check_native_sources(&disk), + Ok(declared), + "the sources on disk are the embedded runtime" + ); + // A plant edits the module's data form, whichever form the source is + // written in (§17.21.8). + let planted = |path_suffix: &str, from: &str, to: &str| { + runtime::check_native_sources(&|path| { + let text = disk(path)?; + if path.ends_with(path_suffix) { + let text = support::as_data_text(&text); + assert!(text.contains(from), "{path} lacks {from:?}"); + // Every occurrence: a generated row's policy is not checked, + // so a plant of one occurrence could miss the checked rows. + Ok(text.replace(from, to)) + } else { + Ok(text) + } + }) + }; + let weakened = planted( + "Portable.lex.tex", + "\"kind\":\"exact\"", + "\"kind\":\"allow\"", + ); + assert!( + weakened + .as_ref() + .is_err_and(|reason| reason.contains("does not pin its axioms exactly")), + "a weakened policy is refused: {weakened:?}" + ); + let escaping = planted( + "Models.lex.tex", + "\"imports\":[\"Init\"]", + "\"imports\":[\"Init\",\"LexLeanPreservation.Core\"]", + ); + assert!( + escaping + .as_ref() + .is_err_and(|reason| reason.contains("neither `Init` nor an earlier runtime module")), + "an import outside the runtime is refused: {escaping:?}" + ); + let missing = runtime::check_native_sources(&|path| { + if path.ends_with("Collections.lex.tex") { + Err(format!("{path}: absent")) + } else { + disk(path) + } + }); + assert!(missing.is_err(), "a missing native source is refused"); + // The one-time migration input is not in the release tree. + assert!( + !repo_root().join("tests/runtime-library/oracle").exists(), + "tests/runtime-library/oracle: the completed one-time migration input is absent" + ); + // No native source names a runtime copy inside a module: a runtime + // constant is `LexLeanRuntime.x`, or a private realization of it + // `_private..#.LexLeanRuntime.x`, never `.LexLeanRuntime.x`; + // a hygienic binder name `x._@.LexLeanRuntime.Collections.…`, and a + // private name `_private.LexLeanRuntime.Reasoning.#0.…`, name the runtime + // module they were made in. + let root = repo_root(); + for directory in ["language", "compiler", "examples", "tests"] { + for path in files(root.join(directory).as_std_path(), &["tex"]) { + let text = std::fs::read_to_string(&path).unwrap_or_default(); + // A core module written as data or in the notation (§17.21.8). + if !text.contains("\\coredata{") && !text.contains("\\begin{coremodule}") { + continue; + } + for namespace in NAMESPACES { + let needle = format!(".{namespace}."); + for (at, _) in text.match_indices(&needle) { + let before = &text[..at]; + // The name segment before the namespace: a name ends at a + // dot, a JSON quote, or the notation's white space and + // brackets. + let segment = before + .rsplit(|c: char| { + c == '.' || c == '"' || c.is_whitespace() || "()[]{},:".contains(c) + }) + .next() + .unwrap_or_default(); + assert!( + segment == "_@" + || segment == "_private" + || (segment.starts_with('#') + && segment[1..].bytes().all(|byte| byte.is_ascii_digit())), + "{}: a runtime copy `…{}` is named inside a module", + path.display(), + &text[at - segment.len().min(at)..(at + needle.len() + 16).min(text.len())] + ); + } + } + } + } + // No Lean file declares a runtime namespace but the released output of a + // language-1.0 or 1.1 project, which spliced the frozen text. + for path in files(root.as_std_path(), &["lean"]) { + let text = std::fs::read_to_string(&path).unwrap_or_default(); + if !NAMESPACES.iter().any(|namespace| { + text.lines() + .any(|line| line == format!("namespace {namespace}")) + }) { + continue; + } + let shown = path.display().to_string().replace('\\', "/"); + let project = path + .ancestors() + .find(|ancestor| ancestor.join("lexlean.toml").is_file()) + .map(|project| { + std::fs::read_to_string(project.join("lexlean.toml")).unwrap_or_default() + }); + let frozen_language = project.is_some_and(|config| !config.contains("language = \"1.2\"")); + assert!( + shown.contains("/expected/") && frozen_language, + "{shown}: a Lean file declares a runtime namespace outside the released output of a frozen language" + ); + } +} + +/// RT-02: the frozen bytes are the released output of languages 1.0 and 1.1. +fn rt_02() { + let portable = runtime::frozen_portable_runtime(); + let decoder = runtime::frozen_core_decoder(); + for (path, embedded) in [ + (runtime::FROZEN_PORTABLE_PATH, portable), + (runtime::FROZEN_CORE_DECODER_PATH, decoder), + ] { + assert!( + path.starts_with("language/runtime-1.2/frozen/"), + "{path}: the frozen bytes are held in the named location" + ); + assert_eq!( + disk(path).expect("the frozen file"), + embedded, + "{path} is embedded as it is on disk" + ); + } + // The released language-1.1 output splices the portable runtime, and the + // released language-1.0 output the decoder of core module 1, verbatim. + let released_portable = + disk("examples/semantic-1.1/expected/build/modules/SemanticFixture/Portable.lean") + .expect("the released language-1.1 module"); + assert!( + released_portable.contains(portable), + "the frozen portable runtime is the released language-1.1 output" + ); + let atlas = repo_root().join("examples/uor-atlas/expected/build/modules"); + let mut released_core: Vec<_> = files(atlas.as_std_path(), &["lean"]); + released_core.sort(); + let released_core = + std::fs::read_to_string(released_core.first().expect("a released core module")) + .expect("the released language-1.0 module"); + assert!( + released_core.contains(decoder), + "the frozen decoder of core module 1 is the released language-1.0 output" + ); + // A one-byte change of either is not the released output. + let mutated = portable.replacen( + "@[noinline] public def index ", + "@[noinline] public def indez ", + 1, + ); + assert_ne!(mutated, portable, "the plant changes the frozen text"); + assert!( + !released_portable.contains(&mutated), + "a mutated portable runtime is refused" + ); + let mutated = decoder.replacen( + "namespace LexLeanCore.Runtime", + "namespace LexLeanCore.Runtimf", + 1, + ); + assert!( + !released_core.contains(&mutated), + "a mutated decoder is refused" + ); + // The frozen bytes belong to no older identity (RP-10 pins those IDs to + // the committed locks). + assert!( + support::spec_text().contains("`language/runtime-1.2/`"), + "SPEC.md §21.2 excludes the runtime project and the frozen bytes from the language-1.0 and 1.1 IDs" + ); +} + +/// RT-03: a verification audits the runtime against its pinned axioms. +fn rt_03() { + // Every committed verification of a project that imports a runtime module + // printed the axioms of its declarations. + let audit = disk("examples/collections/expected/verify/audit/output.txt") + .expect("the committed audit of a project that uses the collections"); + for declaration in ["LexLeanCollections.insertEntry", "LexLeanRuntime.append"] { + assert!( + audit.contains(&format!("'{declaration}'")), + "the audit names the runtime declaration `{declaration}`" + ); + } + if !support::lean_backed("RT-03") { + return; + } + // The runtime's own project verifies: the generated Lean of every module + // elaborates, replays, and observes exactly the axioms its rows pin. + let project = P::runtime_project(); + project.relock(); + support::verify_ok(&project); + // A row that pins an axiom its declaration does not use is refused. + let planted = P::runtime_project(); + planted.edit( + "src/Portable.lex.tex", + "\"policy\":{\"axioms\":[],\"kind\":\"exact\"}", + "\"policy\":{\"axioms\":[\"propext\"],\"kind\":\"exact\"}", + ); + planted.relock(); + planted.verify_fails_with("LLV7005"); +} + +/// The string literals of a Rust source, decoded: raw literals as written, +/// ordinary ones with their escapes resolved, with the line each opens on. +fn string_literals(source: &str) -> Vec<(usize, String)> { + let bytes = source.as_bytes(); + let mut out = Vec::new(); + let mut index = 0; + while index < bytes.len() { + match bytes[index] { + b'/' if bytes.get(index + 1) == Some(&b'/') => { + while index < bytes.len() && bytes[index] != b'\n' { + index += 1; + } + } + b'\'' => { + // A character literal or a lifetime: skip `'x'`, `'\x'`. + if bytes.get(index + 2) == Some(&b'\'') { + index += 3; + } else if bytes.get(index + 1) == Some(&b'\\') { + index += 2; + while index < bytes.len() && bytes[index] != b'\'' { + index += 1; + } + index += 1; + } else { + index += 1; + } + } + b'r' if matches!(bytes.get(index + 1), Some(b'#' | b'"')) + && (index == 0 + || !(bytes[index - 1].is_ascii_alphanumeric() || bytes[index - 1] == b'_')) => + { + let mut hashes = 0; + let mut at = index + 1; + while bytes.get(at) == Some(&b'#') { + hashes += 1; + at += 1; + } + if bytes.get(at) != Some(&b'"') { + index += 1; + continue; + } + let closing = format!("\"{}", "#".repeat(hashes)); + let start = at + 1; + let end = source[start..] + .find(&closing) + .map_or(bytes.len(), |end| start + end); + out.push(( + source[..index].matches('\n').count() + 1, + source[start..end].to_owned(), + )); + index = end + closing.len(); + } + b'"' => { + let line = source[..index].matches('\n').count() + 1; + let mut text = String::new(); + index += 1; + while index < bytes.len() && bytes[index] != b'"' { + if bytes[index] == b'\\' && index + 1 < bytes.len() { + match bytes[index + 1] { + b'n' => text.push('\n'), + b't' => text.push('\t'), + other => text.push(char::from(other)), + } + index += 2; + } else { + let width = source[index..].chars().next().map_or(1, char::len_utf8); + text.push_str(&source[index..index + width]); + index += width; + } + } + out.push((line, text)); + index += 1; + } + _ => index += 1, + } + } + out +} + +/// Whether a text is Lean runtime text: a `namespace` and, within it, a +/// declaration. +fn is_runtime_text(text: &str) -> bool { + let declaration = |line: &str| { + let mut rest = line.trim_start(); + if rest.starts_with("@[") { + rest = rest + .split_once(']') + .map_or("", |(_, after)| after) + .trim_start(); + } + for modifier in [ + "public ", + "private ", + "protected ", + "noncomputable ", + "partial ", + "unsafe ", + ] { + rest = rest.strip_prefix(modifier).unwrap_or(rest); + } + [ + "def ", + "theorem ", + "instance ", + "class ", + "inductive ", + "structure ", + "abbrev ", + ] + .iter() + .any(|keyword| rest.starts_with(keyword)) + }; + text.lines().any(|line| line.starts_with("namespace ")) && text.lines().any(declaration) +} + +/// The runtime texts of a Rust source, by line. +fn runtime_texts(source: &str) -> Vec { + string_literals(source) + .into_iter() + .filter(|(_, text)| is_runtime_text(text)) + .map(|(line, _)| line) + .collect() +} + +/// RT-04: no Lean runtime text remains in the language-1.2 compiler but the +/// decoder of core module 2, which loads native modules. +fn rt_04() { + let source_root = repo_root().join("crates/lexlean/src"); + let mut found = Vec::new(); + for path in files(source_root.as_std_path(), &["rs"]) { + let text = std::fs::read_to_string(&path).expect("a compiler source"); + // A unit test's fixture text is no part of what the compiler emits. + let text = text.split("\n#[cfg(test)]").next().unwrap_or_default(); + let relative = path + .strip_prefix(source_root.as_std_path()) + .expect("below the source root") + .to_string_lossy() + .replace('\\', "/"); + for line in runtime_texts(text) { + found.push((relative.clone(), line)); + } + } + let decoder = std::fs::read_to_string(source_root.join("backend/core_v2.rs").as_std_path()) + .expect("the decoder of core module 2"); + let decoder_line = decoder + .lines() + .position(|line| line.starts_with("pub const LEAN_CORE_DECODER_V2")) + .expect("the decoder constant") + + 1; + assert_eq!( + found, + [("backend/core_v2.rs".to_owned(), decoder_line)], + "the only Lean runtime text in the compiler is the decoder of core module 2" + ); + // A planted runtime text constant, raw or escaped, is found. + for plant in [ + "const PLANTED: &str = r#\"\nnamespace LexLeanCollections\n\n@[expose] public def listFold {α σ : Type} (step : σ -> α -> σ) (initial : σ) (values : List α) : σ :=\n values.foldl step initial\nend LexLeanCollections\n\"#;\n", + "const PLANTED: &str = \"\\nnamespace LexLeanModels\\npublic def Sound1 : Prop := True\\nend LexLeanModels\\n\";\n", + ] { + let semantic = std::fs::read_to_string(source_root.join("backend/semantic.rs").as_std_path()) + .expect("the semantic backend"); + assert_eq!(runtime_texts(&semantic), Vec::::new(), "the semantic backend carries no runtime text"); + let planted = format!("{semantic}\n{plant}"); + assert_eq!( + runtime_texts(&planted).len(), + 1, + "a planted runtime text constant is found: {plant}" + ); + } +} diff --git a/crates/conformance/src/cases/semantic_ir.rs b/crates/conformance/src/cases/semantic_ir.rs index 333dc5fca..d34a5318b 100644 --- a/crates/conformance/src/cases/semantic_ir.rs +++ b/crates/conformance/src/cases/semantic_ir.rs @@ -2002,17 +2002,20 @@ pub(crate) fn run(id: &str) { let tables = support::lean_text(&rendered, "Tables"); for expected in [ "public def declare (table : List (Prod (String) (Nat))) (name : String) (slot : Nat) : List (Prod (String) (Nat)) := (LexLeanCollections.mapInsert (table) (name) (slot) : List (Prod (String) (Nat)))", - "namespace LexLeanCollections", - "public class Key (α : Type) where", + "public import LexLeanRuntime.Collections\n", ] { assert!(tables.contains(expected), "missing {expected:?} in:\n{tables}"); } + assert!( + !tables.contains("namespace LexLeanCollections"), + "the collection runtime is imported, not spliced:\n{tables}" + ); // A module that only measures an imported table writes no - // collection type or literal, yet calls the runtime: it emits its - // own copy, and pinned Lean verifies it. + // collection type or literal, yet calls the runtime: it imports + // the collection runtime module, and pinned Lean verifies it. let measure = support::lean_text(&rendered, "Measure"); for expected in [ - "namespace LexLeanCollections", + "public import LexLeanRuntime.Collections\n", "(LexLeanCollections.mapSize (Collections.Tables.buildTable (", ] { assert!( diff --git a/crates/conformance/src/cases/verification.rs b/crates/conformance/src/cases/verification.rs index fc0302d5c..7f986bbd4 100644 --- a/crates/conformance/src/cases/verification.rs +++ b/crates/conformance/src/cases/verification.rs @@ -1222,6 +1222,16 @@ pub(crate) fn run(id: &str) { ); } } + // The one Lean text beside the module's data is the decoder of + // core module 1: the released bytes of language 1.0, held as + // the frozen data the backend reads (SPEC.md §17.12, RT-02). + assert_eq!( + text.matches(lexlean::backend::runtime::frozen_core_decoder()) + .count(), + 1, + "{} carries the frozen decoder of core module 1 exactly once", + entry.path().display() + ); } for entry in walkdir::WalkDir::new(root.as_std_path()) diff --git a/crates/conformance/src/oracle_differential.rs b/crates/conformance/src/oracle_differential.rs index f77f41433..691b59163 100644 --- a/crates/conformance/src/oracle_differential.rs +++ b/crates/conformance/src/oracle_differential.rs @@ -413,6 +413,10 @@ pub struct Contract { /// The parameters the side takes by reference rather than by value, by /// position. pub borrowed: Vec, + /// Whether the side returns its list result into a buffer the caller + /// passes, answering how much it wrote (the oracle's memory profile). + #[serde(skip_serializing_if = "std::ops::Not::not")] + pub output_buffer: bool, /// Where the Rust text of the oracle's signature disagrees with its own /// intermediate representation: empty for LexLean, whose signature is /// derived from its program. @@ -632,7 +636,32 @@ fn oracle_contract( .defs .get(name) .ok_or_else(|| format!("the oracle's IR has no definition `{name}`"))?; - let signature = rust_signature(source, name)?; + let mut signature = rust_signature(source, name)?; + let flat = |text: &str| text.replace("crate::", "o::").replace(' ', ""); + // The oracle returns a list into a buffer its caller passes, one more + // parameter than its IR states (`output: &mut [T]`), and answers the + // number of elements written, or `OutputTooSmall`: a convention of its + // memory profile, recorded as such, not a parameter of the root. + let mut drift = Vec::new(); + let output_buffer = match result { + IrTy::List(element) if signature.0.len() == parameters.len() + 1 => { + let buffer = signature.0.pop().expect("the buffer parameter"); + let expected = format!("&mut [{}]", rust_type(element)); + if flat(&expected) != flat(&buffer) { + drift.push(format!( + "output buffer: the IR states `{expected}`, the crate `{buffer}`" + )); + } + if flat(&signature.1) != flat("Result") { + drift.push(format!( + "output buffer: the crate answers `{}`, not the number of elements written", + signature.1 + )); + } + true + } + _ => false, + }; if signature.0.len() != parameters.len() { return Err(format!( "the IR gives `{name}` {} parameters and the crate {}", @@ -640,12 +669,12 @@ fn oracle_contract( signature.0.len() )); } - let failure = signature.1.ends_with("crate::ComputeError>"); + // A buffered result is fallible for the buffer alone; whether the call + // can overflow is then what it does, which the differential runs. + let failure = !output_buffer && signature.1.ends_with("crate::ComputeError>"); // The text must say what the IR says: a signature the oracle's own IR // does not describe is a finding about the oracle, whichever of the two // is wrong. - let flat = |text: &str| text.replace("crate::", "o::").replace(' ', ""); - let mut drift = Vec::new(); for (at, ((_, ty), text)) in parameters.iter().zip(&signature.0).enumerate() { let expected = match ty { IrTy::List(element) => format!("&[{}]", rust_type(element)), @@ -667,7 +696,7 @@ fn oracle_contract( } else { signature.1.clone() }; - if flat(&rust_type(result)) != flat(&result_text) { + if !output_buffer && flat(&rust_type(result)) != flat(&result_text) { drift.push(format!( "result: the IR states `{}`, the crate `{}`", rust_type(result), @@ -690,12 +719,38 @@ fn oracle_contract( result: ir_shape(ir, result, &mut Vec::new()), failure, borrowed, + output_buffer, drift, }, signature, )) } +/// Whether the oracle's signature returns a list through a buffer its +/// caller passes ([`oracle_contract`] has removed the buffer parameter). +fn buffered(result: &IrTy, signature: &(Vec, String)) -> bool { + matches!(result, IrTy::List(_)) + && signature.1.replace(' ', "") == "Result" +} + +/// A value of `ty` to fill an output buffer with before the call writes it. +fn filler(ty: &IrTy) -> Result { + Ok(match ty { + IrTy::Unit => "()".into(), + IrTy::Bool => "false".into(), + IrTy::Nat => "0u64".into(), + IrTy::Int => "0i128".into(), + IrTy::Fixed(name) => format!("0{name}"), + IrTy::Tuple(left, right) => format!("({}, {})", filler(left)?, filler(right)?), + IrTy::Option(_) => "None".into(), + other => return Err(format!("no filler for a buffered `{}`", rust_type(other))), + }) +} + +/// The elements an output buffer holds: more than any case of the corpus +/// writes, so `OutputTooSmall` is never the answer of a call that fits. +const OUTPUT_CAPACITY: usize = 1 << 14; + // ---- rendering calls into the oracle's crate ------------------------------- fn rust_type(ty: &IrTy) -> String { @@ -983,6 +1038,8 @@ fn oracle_harness( .ok_or_else(|| format!("no definition `{function}`"))?; let fallible = signature.1.ends_with("crate::ComputeError>"); let result_show = show(ir, result, "value", 0)?; + // The buffered call yields `Result, ComputeError>`, shown as an + // unbuffered fallible list would be. let mut out = String::new(); out.push_str("#![deny(unsafe_code)]\nextern crate alloc;\nuse oracle_crate as o;\n"); out.push_str(COUNTING); @@ -1003,7 +1060,23 @@ fn oracle_harness( format!("a{position}") }); } - let call = format!("o::{function}({})", passed.join(", ")); + let call = if buffered(result, signature) { + let IrTy::List(element) = result else { + unreachable!("a buffered result is a list") + }; + format!( + "{{ let mut output = alloc::vec![{}; {OUTPUT_CAPACITY}]; o::{function}({}).map(|written| output[..written].to_vec()) }}", + filler(element)?, + passed + .iter() + .cloned() + .chain(std::iter::once("&mut output[..]".to_owned())) + .collect::>() + .join(", ") + ) + } else { + format!("o::{function}({})", passed.join(", ")) + }; let printing = if fallible { format!( "Ok(value) => {result_show}, Err(error) => format!(\"{{{{\\\"kind\\\":\\\"overflow\\\",\\\"detail\\\":\\\"{{error:?}}\\\"}}}}\")" @@ -1051,6 +1124,40 @@ pub fn stage(project: &P) -> Staged { let library = dir.path().join("lib"); let source = dir.path().join("src"); std::fs::create_dir_all(&library).expect("lib"); + let compile = |module: &str, text: &str| { + let relative = module.replace('.', "/"); + let path = source.join(format!("{relative}.lean")); + std::fs::create_dir_all(path.parent().expect("parent")).expect("source dir"); + std::fs::write(&path, text).expect("source"); + let object = library.join(format!("{relative}.olean")); + std::fs::create_dir_all(object.parent().expect("parent")).expect("lib dir"); + let ran = + crate::preservation::pinned_with("lean", dir.path(), std::slice::from_ref(&library)) + .arg(format!("--root={}", source.display())) + .arg("-o") + .arg(&object) + .arg(&path) + .output() + .expect("lean runs"); + assert!( + ran.status.success(), + "the pinned Lean rejects the module {module} that LexLean generated:\n{}{}", + String::from_utf8_lossy(&ran.stdout), + String::from_utf8_lossy(&ran.stderr) + ); + }; + // The runtime modules the generated modules import (SPEC.md §17.12), + // first, in their dependency order. + for runtime in lexlean::backend::runtime::imported_by( + rendered + .modules + .iter() + .map(|module| module.lean_text.as_str()), + ) + .expect("the shipped runtime") + { + compile(&runtime.name, &runtime.text); + } let names: BTreeSet<&str> = rendered .modules .iter() @@ -1072,30 +1179,7 @@ pub fn stage(project: &P) -> Staged { later.push(module); continue; } - let relative = module.lean_module.replace('.', "/"); - let path = source.join(format!("{relative}.lean")); - std::fs::create_dir_all(path.parent().expect("parent")).expect("source dir"); - std::fs::write(&path, &module.lean_text).expect("source"); - let object = library.join(format!("{relative}.olean")); - std::fs::create_dir_all(object.parent().expect("parent")).expect("lib dir"); - let ran = crate::preservation::pinned_with( - "lean", - dir.path(), - std::slice::from_ref(&library), - ) - .arg(format!("--root={}", source.display())) - .arg("-o") - .arg(&object) - .arg(&path) - .output() - .expect("lean runs"); - assert!( - ran.status.success(), - "the pinned Lean rejects the module {} that LexLean generated:\n{}{}", - module.lean_module, - String::from_utf8_lossy(&ran.stdout), - String::from_utf8_lossy(&ran.stderr) - ); + compile(&module.lean_module, &module.lean_text); done.insert(module.lean_module.clone()); } remaining = later; @@ -1182,6 +1266,7 @@ pub fn eligible_roots(project: &P) -> Vec<(String, String, Accepted)> { failure: lexlean::calculus::rust::fallible_functions(&lowered.program) .expect("a valid program")[0], borrowed: Vec::new(), + output_buffer: false, drift: Vec::new(), }; let mut root_cases: Vec = cases @@ -2024,6 +2109,10 @@ pub fn differences(run: &RootRun, executed: Option<&Result>) - let (l, o) = evidence(serde_json::json!({"borrowed": contract.borrowed})); push(DiffKind::Contract, "borrowed-parameter".into(), l, o); } + if contract.output_buffer != accepted.contract.output_buffer { + let (l, o) = evidence(Json::Null); + push(DiffKind::Contract, "output-buffer".into(), l, o); + } match executed { None => {} Some(Err(reason)) => push( @@ -3155,6 +3244,7 @@ pub fn fixture_root(fixture: &str, source: &str) -> RootRun { failure: lexlean::calculus::rust::fallible_functions(&fixture.program) .expect("a valid program")[0], borrowed: Vec::new(), + output_buffer: false, drift: Vec::new(), }; let case = Case { diff --git a/crates/conformance/src/support.rs b/crates/conformance/src/support.rs index 94589fd7d..937dfe898 100644 --- a/crates/conformance/src/support.rs +++ b/crates/conformance/src/support.rs @@ -381,6 +381,25 @@ impl P { Self { temp, root } } + /// A fresh copy of the runtime's own project (SPEC.md §17.12, *Runtime + /// modules*), without build output or a lock. + #[must_use] + pub fn runtime_project() -> Self { + let temp = tempfile::Builder::new() + .prefix("lexlean-runtime-case-") + .tempdir() + .expect("tempdir"); + let source = repo_root().join(lexlean::backend::runtime::PROJECT_DIR); + assert!(source.is_dir(), "the runtime project is required"); + copy_tree( + source.as_std_path(), + temp.path(), + &[".lexlean", "lexlean.lock"], + ); + let root = Utf8PathBuf::from_path_buf(temp.path().to_path_buf()).expect("utf8 tempdir"); + Self { temp, root } + } + /// A fresh copy of the certification library's own project (SPEC.md /// §17.18), without build output or a lock. #[must_use] diff --git a/crates/conformance/tests/conformance.rs b/crates/conformance/tests/conformance.rs index 015435f22..c93dfe270 100644 --- a/crates/conformance/tests/conformance.rs +++ b/crates/conformance/tests/conformance.rs @@ -1914,3 +1914,23 @@ fn conformance_au_11() { fn conformance_au_12() { repo_conformance::cases::run("AU-12"); } + +#[test] +fn conformance_rt_01() { + repo_conformance::cases::run("RT-01"); +} + +#[test] +fn conformance_rt_02() { + repo_conformance::cases::run("RT-02"); +} + +#[test] +fn conformance_rt_03() { + repo_conformance::cases::run("RT-03"); +} + +#[test] +fn conformance_rt_04() { + repo_conformance::cases::run("RT-04"); +} diff --git a/crates/lexlean/src/api.rs b/crates/lexlean/src/api.rs index 46a353511..05ac431f3 100644 --- a/crates/lexlean/src/api.rs +++ b/crates/lexlean/src/api.rs @@ -273,11 +273,16 @@ pub fn render_build( .map(|declaration| format!("{lean_module}.{}", declaration.lean_name)) .collect(); if let Some(core) = &checked_module.document.core { + // A private constant has no name a command can write (its module + // prefix is a numbered segment), so the audit covers it through + // every declaration that uses it, as the library audits do + // (§17.17, §18.9). declaration_names.extend( crate::backend::core::environment_declarations(core) .map_err(LexLeanError::from_diagnostic)? .into_iter() - .map(|declaration| declaration.name.clone()), + .map(|declaration| declaration.name.clone()) + .filter(|name| !name.starts_with("_private.")), ); } if let Some(semantic) = &checked_module.document.semantic { diff --git a/crates/lexlean/src/backend/core.rs b/crates/lexlean/src/backend/core.rs index 5256fd47e..c0b110c55 100644 --- a/crates/lexlean/src/backend/core.rs +++ b/crates/lexlean/src/backend/core.rs @@ -790,256 +790,6 @@ fn level_params(levels: &[String]) -> String { } } -const LEAN_CORE_DECODER: &str = r#" -namespace LexLeanCore.Runtime - -private def fail {α : Type} (message : String) : Except String α := .error message - -private def field (json : Json) (name : String) : Except String Json := - json.getObjVal? name - -private def stringField (json : Json) (name : String) : Except String String := do - (← field json name).getStr? - -private def natField (json : Json) (name : String) : Except String Nat := do - (← field json name).getNat? - -private def boolField (json : Json) (name : String) : Except String Bool := do - (← field json name).getBool? - -private def arrayField (json : Json) (name : String) : Except String (Array Json) := do - (← field json name).getArr? - -private def optionalField (json : Json) (name : String) : Option Json := - match json.getObjVal? name with - | .ok value => some value - | .error _ => none - -private def nameOf (value : String) : Name := - value.splitOn "." |>.foldl (fun name part => name.str part) .anonymous - -private partial def levelOf (json : Json) : Except String Level := do - match ← stringField json "k" with - | "z" => pure .zero - | "s" => pure (.succ (← levelOf (← field json "a"))) - | "m" | "i" => - let values ← (← field json "a").getArr? - let some left := values[0]? | fail "core level pair lacks its left value" - let some right := values[1]? | fail "core level pair lacks its right value" - if values.size != 2 then fail "core level pair has extra values" - let left ← levelOf left - let right ← levelOf right - if (← stringField json "k") == "m" then pure (.max left right) else pure (.imax left right) - | "p" => pure (.param (nameOf (← stringField json "a"))) - | kind => fail s!"unknown core level kind '{kind}'" - -private def levelsOf (json : Json) : Except String (List Level) := do - let values ← json.getArr? - values.toList.mapM levelOf - -private def namesOf (json : Json) : Except String (List Name) := do - let values ← json.getArr? - values.toList.mapM fun value => do pure (nameOf (← value.getStr?)) - -private def binderOf (value : String) : Except String BinderInfo := - match value with - | "e" => pure .default - | "i" => pure .implicit - | "s" => pure .strictImplicit - | "c" => pure .instImplicit - | kind => fail s!"unknown core binder kind '{kind}'" - -private def nodeAt (nodes : Array Expr) (index : Nat) : Except String Expr := - match nodes[index]? with - | some node => .ok node - | none => fail s!"core node reference {index} is out of range" - -private def nodeOf (nodes : Array Expr) (json : Json) : Except String Expr := do - match ← stringField json "k" with - | "b" => pure (.bvar (← natField json "i")) - | "s" => pure (.sort (← levelOf (← field json "l"))) - | "c" => pure (.const (nameOf (← stringField json "n")) (← levelsOf (← field json "u"))) - | "a" => pure (.app (← nodeAt nodes (← natField json "f")) (← nodeAt nodes (← natField json "x"))) - | "l" => pure (.lam `_ (← nodeAt nodes (← natField json "t")) - (← nodeAt nodes (← natField json "v")) (← binderOf (← stringField json "b"))) - | "p" => pure (.forallE `_ (← nodeAt nodes (← natField json "t")) - (← nodeAt nodes (← natField json "v")) (← binderOf (← stringField json "b"))) - | "e" => pure (.letE `_ (← nodeAt nodes (← natField json "t")) - (← nodeAt nodes (← natField json "v")) (← nodeAt nodes (← natField json "body")) - (← boolField json "d")) - | "n" => - let value ← stringField json "v" - let some value := value.toNat? | fail s!"invalid core natural literal '{value}'" - pure (.lit (.natVal value)) - | "t" => - let values ← (← field json "v").getArr? - let chars ← values.toList.mapM fun value => do pure (Char.ofNat (← value.getNat?)) - pure (.lit (.strVal (String.ofList chars))) - | "j" => pure (.proj (nameOf (← stringField json "s")) (← natField json "i") - (← nodeAt nodes (← natField json "x"))) - | kind => fail s!"unknown core node kind '{kind}'" - -private def liftString {α : Type} : Except String α → CoreM α - | .ok value => pure value - | .error message => throwError message - -private def findDeclaration (declarations : Array Json) (name : String) : CoreM Json := do - for declaration in declarations do - if (← liftString (stringField declaration "name")) == name then return declaration - throwError s!"core declaration '{name}' is absent" - -private def addOneUnchecked (nodes : Array Expr) (declarations : Array Json) - (json : Json) : CoreM Unit := do - if ← liftString (boolField json "generated") then return - let nameString ← liftString (stringField json "name") - let name := nameOf nameString - let levelParams ← liftString (namesOf (← liftString (field json "levels"))) - let type ← liftString (nodeAt nodes (← liftString (natField json "type"))) - let kindString ← liftString (stringField json "kind") - match kindString with - | "inductive" => - let metadata ← liftString (field json "inductive") - let numParams ← liftString (natField metadata "num_params") - let constructorNames ← liftString (arrayField metadata "constructors") - let mut constructors : List Constructor := [] - for constructorName in constructorNames do - let constructorName ← liftString constructorName.getStr? - let row ← findDeclaration declarations constructorName - let constructorType ← liftString (nodeAt nodes (← liftString (natField row "type"))) - constructors := constructors.concat { name := nameOf constructorName, type := constructorType } - Lean.addDecl (.inductDecl levelParams numParams [{ name, type, ctors := constructors }] false) - (forceExpose := true) - | "abbrev" | "definition" => - let valueIndex ← liftString (natField json "value") - let value ← liftString (nodeAt nodes valueIndex) - let metadata ← liftString (field json "reducibility") - let reducibilityKind ← liftString (stringField metadata "kind") - let hints ← match reducibilityKind with - | "abbrev" => pure ReducibilityHints.abbrev - | "opaque" => pure (default : ReducibilityHints) - | "regular" => pure (ReducibilityHints.regular - (UInt32.ofNat (← liftString (natField metadata "height")))) - | other => throwError s!"unknown core reducibility kind '{other}'" - Lean.addDecl (.defnDecl { name, levelParams, type, value, hints, safety := .safe }) - (forceExpose := true) - | "theorem" => - let value ← liftString (nodeAt nodes (← liftString (natField json "value"))) - Lean.addDecl (.thmDecl { name, levelParams, type, value }) (forceExpose := true) - | "constructor" | "recursor" => - throwError s!"non-generated primitive core declaration '{nameString}'" - | kind => throwError s!"unknown core declaration kind '{kind}'" - -private def addOne (nodes : Array Expr) (declarations : Array Json) (json : Json) : CoreM Unit := do - let name ← liftString (stringField json "name") - try - addOneUnchecked nodes declarations json - catch error => - throwError m!"native core declaration '{name}':{indentD error.toMessageData}" - -private def decodeNodeBatch (nodes : Array Expr) (data : String) : CoreM (Array Expr) := do - let json ← liftString (Json.parse data) - let rows ← liftString json.getArr? - let mut nodes := nodes - for row in rows do - nodes := nodes.push (← liftString (nodeOf nodes row)) - pure nodes - -def decodeAndAdd (nodeBatches : Array String) (data : String) : CoreM Unit := do - let mut nodes : Array Expr := #[] - for batch in nodeBatches do - nodes ← decodeNodeBatch nodes batch - let document ← liftString (Json.parse data) - let declarations ← liftString (arrayField document "declarations") - let order ← liftString (arrayField document "order") - for index in order do - let index ← liftString index.getNat? - let some declaration := declarations[index]? | - throwError s!"core declaration order index {index} is out of range" - addOne nodes declarations declaration - for declaration in declarations do - if (← liftString (stringField declaration "kind")) == "inductive" then - let metadata ← liftString (field declaration "inductive") - if let some structureData := optionalField metadata "structure" then - let name := nameOf (← liftString (stringField declaration "name")) - let fieldRows ← liftString (arrayField structureData "fields") - let mut fields : Array StructureFieldInfo := #[] - for row in fieldRows do - let subobject? : Option Name ← match optionalField row "subobject" with - | some value => pure (some (nameOf (← liftString value.getStr?))) - | none => pure none - let autoParam? : Option Expr ← match optionalField row "auto_param" with - | some value => pure (some (← liftString (nodeAt nodes (← liftString value.getNat?)))) - | none => pure none - let fieldName := nameOf (← liftString (stringField row "name")) - let projFn := nameOf (← liftString (stringField row "projection")) - let binderInfo ← liftString (binderOf (← liftString (stringField row "binder"))) - fields := fields.push { - fieldName - projFn - subobject? - binderInfo - autoParam? } - setEnv <| Lean.registerStructure (← getEnv) { structName := name, fields } - for declaration in declarations do - if (← liftString (stringField declaration "kind")) == "inductive" then - let metadata ← liftString (field declaration "inductive") - if let some structureData := optionalField metadata "structure" then - let name := nameOf (← liftString (stringField declaration "name")) - let parentRows ← liftString (arrayField structureData "parents") - let mut parents : Array StructureParentInfo := #[] - for row in parentRows do - let structName := nameOf (← liftString (stringField row "name")) - let subobject ← liftString (boolField row "subobject") - let projFn := nameOf (← liftString (stringField row "projection")) - parents := parents.push { - structName - subobject - projFn } - Lean.setStructureParents name parents - for declaration in declarations do - if (← liftString (stringField declaration "kind")) == "inductive" then - let metadata ← liftString (field declaration "inductive") - if (optionalField metadata "structure").isSome then - discard <| Lean.computeStructureResolutionOrder - (nameOf (← liftString (stringField declaration "name"))) true - for declaration in declarations do - let name := nameOf (← liftString (stringField declaration "name")) - let status ← match ← liftString (stringField declaration "transparency") with - | "reducible" => pure ReducibilityStatus.reducible - | "semireducible" => pure ReducibilityStatus.semireducible - | "irreducible" => pure ReducibilityStatus.irreducible - | "implicit-reducible" => pure ReducibilityStatus.implicitReducible - | other => throwError s!"unknown core transparency '{other}'" - Lean.setReducibilityStatus name status - for declaration in declarations do - let generated ← liftString (boolField declaration "generated") - if !generated && (← liftString (boolField declaration "class")) then - let name := nameOf (← liftString (stringField declaration "name")) - match Lean.addClass (← getEnv) name with - | .ok env => setEnv env - | .error message => throwError message - for declaration in declarations do - if let some metadata := optionalField declaration "instance" then - let name := nameOf (← liftString (stringField declaration "name")) - let priority ← liftString (natField metadata "priority") - let attributeKind ← match ← liftString (stringField metadata "attribute") with - | "global" => pure AttributeKind.global - | "local" => pure AttributeKind.local - | "scoped" => pure AttributeKind.scoped - | other => throwError s!"unknown core instance attribute kind '{other}'" - Lean.Meta.MetaM.run' <| Lean.Meta.addInstance name attributeKind priority - let expectedRows ← liftString (arrayField metadata "synthesis_order") - let mut expected : Array Nat := #[] - for row in expectedRows do expected := expected.push (← liftString row.getNat?) - let some actual := (Lean.Meta.instanceExtension.getState (← getEnv) - |>.instanceNames.find? name) | - throwError s!"core instance '{name}' was not registered" - unless actual.synthOrder == expected do - throwError s!"core instance '{name}' reconstructed synthesis order {actual.synthOrder.toList} instead of {expected.toList}" - -end LexLeanCore.Runtime -"#; - // A command owns every reconstructed expression in its declaration closure // until all declarations in that command have reached the kernel. Keep // related declarations together for sharing, but split a group whose exact @@ -1392,7 +1142,7 @@ pub fn lean_text(core: &CoreModule) -> Result { text.push_str(if core.version() == 2 { crate::backend::core_v2::LEAN_CORE_DECODER_V2 } else { - LEAN_CORE_DECODER + crate::backend::runtime::frozen_core_decoder() }); let order = emission_order(core)?; let owners = generated_owners(core); diff --git a/crates/lexlean/src/backend/lean.rs b/crates/lexlean/src/backend/lean.rs index c95627bdb..10ff1006a 100644 --- a/crates/lexlean/src/backend/lean.rs +++ b/crates/lexlean/src/backend/lean.rs @@ -2402,6 +2402,78 @@ fn print_param( // Probe and audit modules // --------------------------------------------------------------------------- +/// A module that verification generates beside the project's own, as data: +/// the external-interface probe (§18.8) and the members of the axiom-audit +/// family (§18.9). The backend renders it; nothing assembles its Lean as +/// text. +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct AuxiliaryModule { + /// The modules it imports, in order. They are private imports: nothing + /// of an auxiliary module is public. + pub imports: Vec, + /// Its commands, in order. + pub commands: Vec, +} + +/// One command of an [`AuxiliaryModule`]: a closed set, each rendered one +/// line. +#[derive(Debug, Clone, PartialEq, Eq)] +pub enum AuxiliaryCommand { + /// `set_option autoImplicit false`. + NoAutoImplicit, + /// `universe` and the named universe variables. + Universe(Vec), + /// `example : := `: the type as the backend's printer + /// prints a signature, the constant by its Lean name. + Example { + /// The printed type. + ty: String, + /// The constant that inhabits it. + constant: String, + }, + /// `#print axioms` and a fully qualified declaration name, quoted as + /// the module that declares it quotes it. + PrintAxioms(String), +} + +impl AuxiliaryModule { + /// The module's Lean, and the one-based line each command is on. + #[must_use] + pub fn render(&self) -> (String, Vec) { + let mut text = String::from("module\n"); + for import in &self.imports { + text.push_str("import "); + text.push_str(import); + text.push('\n'); + } + let mut line = 1 + self.imports.len(); + let mut lines = Vec::with_capacity(self.commands.len()); + for command in &self.commands { + line += 1; + lines.push(line); + match command { + AuxiliaryCommand::NoAutoImplicit => text.push_str("set_option autoImplicit false"), + AuxiliaryCommand::Universe(names) => { + text.push_str("universe "); + text.push_str(&names.join(" ")); + } + AuxiliaryCommand::Example { ty, constant } => { + text.push_str("example : "); + text.push_str(ty); + text.push_str(" := "); + text.push_str(constant); + } + AuxiliaryCommand::PrintAxioms(declaration) => { + text.push_str("#print axioms "); + text.push_str(&super::semantic::identifier(declaration)); + } + } + text.push('\n'); + } + (text, lines) + } +} + /// One probe line's provenance: which entry produced which generated line. #[derive(Debug, Clone, PartialEq, Eq)] pub struct ProbeLine { @@ -2454,7 +2526,7 @@ pub fn probe_module( for external in externals.values() { imports.insert(external.lean_module.clone()); } - let mut examples: Vec<(usize, String, String)> = Vec::new(); + let mut examples: Vec<(usize, String, AuxiliaryCommand)> = Vec::new(); let mut universes: Vec = Vec::new(); let mut unprobed = Vec::new(); for (index, (entry_id, external)) in externals.iter().enumerate() { @@ -2478,32 +2550,36 @@ pub fn probe_module( examples.push(( index, entry_id.clone(), - format!("example : {ty} := {}", external.lean_name), + AuxiliaryCommand::Example { + ty, + constant: external.lean_name.clone(), + }, )); } - let mut text = String::from("module\n"); - let mut line_count = 1usize; - for import in &imports { - text.push_str(&format!("import {import}\n")); - line_count += 1; - } - text.push_str("set_option autoImplicit false\n"); - line_count += 1; + let mut commands = vec![AuxiliaryCommand::NoAutoImplicit]; if !universes.is_empty() { - text.push_str(&format!("universe {}\n", universes.join(" "))); - line_count += 1; + commands.push(AuxiliaryCommand::Universe(universes)); } - let mut lines = Vec::new(); + let first_example = commands.len(); + let mut entries = Vec::with_capacity(examples.len()); for (index, entry, example) in examples { - line_count += 1; - lines.push(ProbeLine { - line: line_count, + entries.push((index, entry)); + commands.push(example); + } + let (text, command_lines) = AuxiliaryModule { + imports: imports.into_iter().collect(), + commands, + } + .render(); + let lines = entries + .into_iter() + .zip(&command_lines[first_example..]) + .map(|((index, entry), line)| ProbeLine { + line: *line, index, entry, - }); - text.push_str(&example); - text.push('\n'); - } + }) + .collect(); Ok(ProbeModule { name, text, @@ -2540,16 +2616,18 @@ pub fn audit_modules( .map(|(generated_module, mut declarations)| { declarations.sort(); let name = format!("{root}.{generated_module}"); - let mut text = format!("module\nimport {generated_module}\n"); - for declaration in &declarations { - // A user's name may be spelled like a word the audit of - // generated Lean forbids (`native_decide`, `IO`); the module - // quotes it, so the audit module names it the same way. - text.push_str(&format!( - "#print axioms {}\n", - super::semantic::identifier(declaration) - )); + // A user's name may be spelled like a word the audit of generated + // Lean forbids (`native_decide`, `IO`); the module quotes it, so + // the audit module names it the same way (the renderer quotes). + let (text, _) = AuxiliaryModule { + imports: vec![generated_module.clone()], + commands: declarations + .iter() + .cloned() + .map(AuxiliaryCommand::PrintAxioms) + .collect(), } + .render(); AuditModule { name, generated_module, diff --git a/crates/lexlean/src/backend/mod.rs b/crates/lexlean/src/backend/mod.rs index fc9ba8146..79ef4c02e 100644 --- a/crates/lexlean/src/backend/mod.rs +++ b/crates/lexlean/src/backend/mod.rs @@ -8,6 +8,7 @@ pub mod latex; pub mod lean; pub mod lean_tokens; pub mod pdf; +pub mod runtime; pub mod semantic; pub mod tooling; diff --git a/crates/lexlean/src/backend/runtime.rs b/crates/lexlean/src/backend/runtime.rs new file mode 100644 index 000000000..5752c81cd --- /dev/null +++ b/crates/lexlean/src/backend/runtime.rs @@ -0,0 +1,320 @@ +//! The runtime of generated Lean (SPEC.md §17.12): the portable primitives, +//! the ordered collections, the model predicates, and the reasoning lemmas a +//! generated module applies. +//! +//! For language 1.2 the runtime is LexLean source: native core modules +//! (§17.10) of the embedded project `library/`, which every generated module +//! that uses a part of it imports, instead of a text the backend splices. Its +//! Lean is generated from that source by the compiler. The definitions were +//! migrated losslessly from the elaborated texts the backend used to splice +//! (`tests/runtime-library/MIGRATION.md`), so each declaration carries its +//! exact axioms, and the verification of a project that imports a runtime +//! module audits them. +//! +//! Languages 1.0 and 1.1 are frozen: their generated output is byte-identical +//! to their released output, which spliced the portable runtime and the +//! decoder of core module 1 as text. Those bytes are the one declared +//! exception to "no handwritten Lean": they are held as data, `frozen/`, read +//! by the 1.0 and 1.1 backends only, and tested against the released output. + +use std::collections::BTreeSet; +use std::sync::OnceLock; + +use serde::Deserialize; + +use crate::code; +use crate::diagnostic::Diagnostic; + +/// The runtime's module list, hashed into the language-1.2 compiler +/// semantics with the sources it names. +pub const REGISTRY_PATH: &str = "language/runtime-1.2/library.toml"; + +/// The registry's tag. +pub const REGISTRY_SPEC: &str = "lexlean/runtime-library/1"; + +/// The embedded project of the runtime; its native sources are in `src/`. +pub const PROJECT_DIR: &str = "language/runtime-1.2/library"; + +/// The module prefix of the runtime project. +pub const PREFIX: &str = "LexLeanRuntime"; + +/// The portable primitives (`LexLeanRuntime`): checked fixed-width +/// arithmetic, byte strings, and decimal text. +pub const PORTABLE: &str = "LexLeanRuntime.Portable"; + +/// The ordered collections (`LexLeanCollections`). +pub const COLLECTIONS: &str = "LexLeanRuntime.Collections"; + +/// The model predicates (`LexLeanModels`). +pub const MODELS: &str = "LexLeanRuntime.Models"; + +/// The reasoning propositions and lemmas (`LexLeanReasoning`). +pub const REASONING: &str = "LexLeanRuntime.Reasoning"; + +/// The released bytes of the language-1.1 portable runtime, which a +/// language-1.1 semantic module splices inside its namespace. +pub const FROZEN_PORTABLE_PATH: &str = "language/runtime-1.2/frozen/portable-runtime-1.1.txt"; + +/// The released bytes of the decoder of core module 1, which a language-1.0 +/// or 1.1 core module splices after its header. +pub const FROZEN_CORE_DECODER_PATH: &str = "language/runtime-1.2/frozen/core-decoder-1.txt"; + +/// The parsed runtime registry. +#[derive(Debug, Clone, PartialEq, Eq, Deserialize)] +#[serde(deny_unknown_fields)] +struct Registry { + spec: String, + toolchain: String, + /// The runtime's modules in dependency order. + modules: Vec, +} + +/// One runtime module: its Lean, generated from its native source, and the +/// declarations an audit names, with their exact axioms. +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct RuntimeModule { + /// Its Lean module name. + pub name: String, + /// The runtime modules it imports. + pub imports: Vec, + /// Its generated Lean. + pub text: String, + /// Every declaration a Lean command can name, with its exact axioms, + /// sorted. + pub declarations: Vec<(String, Vec)>, +} + +fn internal(reason: impl std::fmt::Display) -> Diagnostic { + Diagnostic::new(code!("LLI9001"), format!("phase runtime: {reason}")) +} + +fn embedded_text(path: &str) -> Result<&'static str, String> { + crate::embedded::FILES + .iter() + .find(|(candidate, _)| *candidate == path) + .and_then(|(_, bytes)| std::str::from_utf8(bytes).ok()) + .ok_or_else(|| format!("embedded `{path}` is missing")) +} + +/// The path of a runtime module's native source. +#[must_use] +pub fn native_source_path(module: &str) -> Option { + let relative = module.strip_prefix(&format!("{PREFIX}."))?; + Some(format!( + "{PROJECT_DIR}/src/{}.lex.tex", + relative.replace('.', "/") + )) +} + +fn registry() -> Result { + let text = embedded_text(REGISTRY_PATH)?; + let registry: Registry = + toml::from_str(text).map_err(|error| format!("{REGISTRY_PATH}: {error}"))?; + if registry.spec != REGISTRY_SPEC { + return Err(format!( + "{REGISTRY_PATH}: spec `{}` is not `{REGISTRY_SPEC}`", + registry.spec + )); + } + if registry.toolchain != crate::LEAN_TOOLCHAIN { + return Err(format!( + "{REGISTRY_PATH}: toolchain `{}` is not the pinned `{}`", + registry.toolchain, + crate::LEAN_TOOLCHAIN + )); + } + Ok(registry) +} + +/// Build the runtime from its module list and the native sources it names: +/// every module parsed, its imports closed over `Init` and the earlier +/// runtime modules, every declaration pinned to its exact axioms, its Lean +/// generated. +fn build(read: &dyn Fn(&str) -> Result) -> Result, String> { + let registry = registry()?; + let mut modules: Vec = Vec::new(); + let mut names = BTreeSet::new(); + for module in ®istry.modules { + let path = native_source_path(module) + .ok_or_else(|| format!("{REGISTRY_PATH}: `{module}` is outside `{PREFIX}`"))?; + let source = read(&path)?; + let core = crate::ir::core::CoreModule::from_source(&source, "1.2") + .map_err(|reason| format!("{path}: {reason}"))?; + let mut imports = Vec::new(); + for import in &core.imports { + if import == "Init" { + continue; + } + if !modules.iter().any(|earlier| earlier.name == *import) { + return Err(format!( + "{path}: imports `{import}`, which is neither `Init` nor an earlier runtime module" + )); + } + imports.push(import.clone()); + } + let mut declarations = Vec::new(); + for row in &core.declarations { + if row.generated { + continue; + } + if !names.insert(row.name.clone()) { + return Err(format!("{path}: `{}` is declared twice", row.name)); + } + if !matches!(row.policy, crate::ir::core::CoreAxiomPolicy::Exact(_)) { + return Err(format!( + "{path}: `{}` does not pin its axioms exactly", + row.name + )); + } + // As for the preservation library (§17.17): only a name of plain + // identifier segments can be audited by name; a private or escaped + // auxiliary is covered by every declaration that uses it. + if crate::ir::core::is_closed_lean_name(&row.name) { + let mut axioms = row.policy.axioms().to_vec(); + axioms.sort(); + declarations.push((row.name.clone(), axioms)); + } + } + declarations.sort(); + let text = crate::backend::core::lean_text(&core) + .map_err(|diagnostic| format!("{path}: {}", diagnostic.message))?; + modules.push(RuntimeModule { + name: module.clone(), + imports, + text, + declarations, + }); + } + Ok(modules) +} + +/// Check a runtime read from `read` instead of the embedded one: the +/// conformance gate plants defects in the sources this way. Returns the +/// number of declarations an audit names. +/// +/// # Errors +/// +/// Returns the first reason the runtime is refused. +pub fn check_native_sources( + read: &dyn Fn(&str) -> Result, +) -> Result { + build(read).map(|modules| modules.iter().map(|module| module.declarations.len()).sum()) +} + +/// The shipped runtime modules in dependency order. +/// +/// # Errors +/// +/// Returns `LLI9001` when the shipped registry or a native module is missing +/// or malformed. +pub fn modules() -> Result<&'static [RuntimeModule], Diagnostic> { + static MODULES: OnceLock, String>> = OnceLock::new(); + MODULES + .get_or_init(|| build(&|path| embedded_text(path).map(str::to_owned))) + .as_ref() + .map(Vec::as_slice) + .map_err(internal) +} + +/// The runtime modules a set of generated Lean texts imports, closed under +/// the runtime's own imports, in dependency order. +/// +/// # Errors +/// +/// Returns `LLI9001` when the shipped runtime cannot be read. +pub fn imported_by<'a>( + texts: impl IntoIterator, +) -> Result, Diagnostic> { + let modules = modules()?; + let mut wanted: BTreeSet<&str> = BTreeSet::new(); + for text in texts { + for line in text.lines() { + let Some(import) = line + .strip_prefix("public import ") + .or_else(|| line.strip_prefix("import ")) + .map(str::trim) + else { + continue; + }; + if let Some(module) = modules.iter().find(|module| module.name == import) { + wanted.insert(module.name.as_str()); + } + } + } + // The registry is in dependency order, so one pass from the last module + // to the first closes the set. + for module in modules.iter().rev() { + if wanted.contains(module.name.as_str()) { + for import in &module.imports { + if let Some(imported) = modules.iter().find(|candidate| candidate.name == *import) { + wanted.insert(imported.name.as_str()); + } + } + } + } + Ok(modules + .iter() + .filter(|module| wanted.contains(module.name.as_str())) + .collect()) +} + +/// Whether `name` is the Lean module of a shipped runtime module. +#[must_use] +pub fn is_runtime_module(name: &str) -> bool { + modules().is_ok_and(|modules| modules.iter().any(|module| module.name == name)) +} + +fn frozen(path: &str) -> &'static str { + // The frozen bytes are embedded with the rest of `language/`; a build + // without them is not this compiler (`build.rs` refuses a missing + // normative directory), so their absence is a broken build, not input. + embedded_text(path).unwrap_or_else(|reason| panic!("{reason}")) +} + +/// The released language-1.1 portable runtime, which a language-1.1 +/// semantic module splices inside its namespace (the frozen exception). +#[must_use] +pub fn frozen_portable_runtime() -> &'static str { + frozen(FROZEN_PORTABLE_PATH) +} + +/// The released decoder of core module 1, which a language-1.0 or 1.1 core +/// module splices after its header (the frozen exception). +#[must_use] +pub fn frozen_core_decoder() -> &'static str { + frozen(FROZEN_CORE_DECODER_PATH) +} + +#[cfg(test)] +mod tests { + #[test] + fn the_shipped_runtime_is_native_and_pins_every_axiom() { + let modules = super::modules().expect("the shipped runtime"); + let names: Vec<&str> = modules.iter().map(|module| module.name.as_str()).collect(); + assert_eq!( + names, + [ + super::PORTABLE, + super::COLLECTIONS, + super::MODELS, + super::REASONING + ] + ); + let reasoning = modules.last().expect("the reasoning module"); + assert_eq!(reasoning.imports, [super::PORTABLE, super::COLLECTIONS]); + assert!(modules.iter().all(|module| !module.declarations.is_empty())); + } + + #[test] + fn an_importer_brings_the_runtime_modules_it_depends_on() { + let closure = super::imported_by([ + "module\npublic import Init\npublic import LexLeanRuntime.Reasoning\n", + ]) + .expect("the shipped runtime"); + let names: Vec<&str> = closure.iter().map(|module| module.name.as_str()).collect(); + assert_eq!( + names, + [super::PORTABLE, super::COLLECTIONS, super::REASONING] + ); + } +} diff --git a/crates/lexlean/src/backend/semantic.rs b/crates/lexlean/src/backend/semantic.rs index 72379a980..c71132924 100644 --- a/crates/lexlean/src/backend/semantic.rs +++ b/crates/lexlean/src/backend/semantic.rs @@ -1331,480 +1331,6 @@ fn uses_collections(module: &serde_json::Value) -> bool { walk(module) } -/// The fixed ordered-collection runtime: canonical ascending entry and -/// element lists keyed by the closed total orders, ordered folds, bounded -/// iteration, and graph traversal bounded by the node count (§17.12). A -/// graph's nodes are its keys and every successor, so a successor that was -/// inserted without its own entry is a node with no successors rather than -/// a name the traversals disagree about. -const COLLECTIONS_RUNTIME: &str = r#" -namespace LexLeanCollections - -public class Key (α : Type) where - compare : α -> α -> Ordering - -@[expose] public def compareCodes : List Char -> List Char -> Ordering - | [], [] => .eq - | [], _ :: _ => .lt - | _ :: _, [] => .gt - | left :: lefts, right :: rights => - match Ord.compare left.val.toNat right.val.toNat with - | .eq => compareCodes lefts rights - | other => other - -public instance : Key Nat where compare := Ord.compare -public instance : Key Int where compare := Ord.compare -public instance : Key Bool where compare := Ord.compare -public instance : Key Int8 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int16 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int32 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int64 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key UInt8 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt16 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt32 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt64 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key String where compare left right := compareCodes left.toList right.toList -public instance {α β : Type} [Key α] [Key β] : Key (Prod α β) where - compare left right := match Key.compare left.1 right.1 with - | .eq => Key.compare left.2 right.2 - | other => other - -@[expose] public def insertEntry {κ ν : Type} [Key κ] (key : κ) (value : ν) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [(key, value)] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (key, value) :: (other, stored) :: rest - | .eq => (key, value) :: rest - | .gt => (other, stored) :: insertEntry key value rest - -@[expose] public def removeEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (other, stored) :: rest - | .eq => rest - | .gt => (other, stored) :: removeEntry key rest - -@[expose] public def lookupEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> Option ν - | [] => none - | (other, stored) :: rest => match Key.compare key other with - | .lt => none - | .eq => some stored - | .gt => lookupEntry key rest - -@[expose] public def insertElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [key] - | other :: rest => match Key.compare key other with - | .lt => key :: other :: rest - | .eq => other :: rest - | .gt => other :: insertElement key rest - -@[expose] public def removeElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [] - | other :: rest => match Key.compare key other with - | .lt => other :: rest - | .eq => rest - | .gt => other :: removeElement key rest - -@[expose] public def containsElement {κ : Type} [Key κ] (key : κ) : List κ -> Bool - | [] => false - | other :: rest => match Key.compare key other with - | .lt => false - | .eq => true - | .gt => containsElement key rest - -@[expose] public def mapInsert {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) (value : ν) : List (Prod κ ν) := insertEntry key value map -@[expose] public def mapRemove {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : List (Prod κ ν) := removeEntry key map -@[expose] public def mapLookup {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Option ν := lookupEntry key map -@[expose] public def mapContains {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Bool := (lookupEntry key map).isSome -@[expose] public def mapSize {κ ν : Type} (map : List (Prod κ ν)) : Nat := map.length -@[expose] public def mapKeys {κ ν : Type} (map : List (Prod κ ν)) : List κ := map.map Prod.fst -@[expose] public def mapValues {κ ν : Type} (map : List (Prod κ ν)) : List ν := map.map Prod.snd -@[expose] public def mapEntries {κ ν : Type} (map : List (Prod κ ν)) : List (Prod κ ν) := map -@[expose] public def mapFold {κ ν β : Type} (step : β -> κ -> ν -> β) (initial : β) (map : List (Prod κ ν)) : β := - map.foldl (fun state entry => step state entry.1 entry.2) initial - -@[expose] public def setInsert {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := insertElement key set -@[expose] public def setRemove {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := removeElement key set -@[expose] public def setContains {κ : Type} [Key κ] (set : List κ) (key : κ) : Bool := containsElement key set -@[expose] public def setSize {κ : Type} (set : List κ) : Nat := set.length -@[expose] public def setElements {κ : Type} (set : List κ) : List κ := set -@[expose] public def setUnion {κ : Type} [Key κ] (left right : List κ) : List κ := right.foldl (fun acc key => insertElement key acc) left -@[expose] public def setIntersection {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => containsElement key right) -@[expose] public def setDifference {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => !containsElement key right) - -@[expose] public def graphSuccessors {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (node : κ) : List κ := - (lookupEntry node graph).getD [] - -@[expose] public def graphNodes {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : List κ := - graph.foldl (fun acc entry => entry.2.foldl (fun inner node => insertElement node inner) (insertElement entry.1 acc)) [] - -@[expose] public def reachableFrom {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> List κ - | 0, _, seen => seen - | Nat.succ fuel, frontier, seen => - let next := frontier.foldl (fun acc node => - (graphSuccessors graph node).foldl (fun acc2 succ => - if containsElement succ seen || containsElement succ acc2 then acc2 else insertElement succ acc2) acc) [] - match next with - | [] => seen - | _ => reachableFrom graph fuel next (next.foldl (fun acc key => insertElement key acc) seen) - -@[expose] public def graphReachable {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (start : κ) : List κ := - reachableFrom graph ((graphNodes graph).length + 1) [start] [start] - -@[expose] public def topological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> Option (List κ) - | 0, remaining, order => if remaining.isEmpty then some order.reverse else none - | Nat.succ fuel, remaining, order => - match remaining.filter (fun node => remaining.all (fun other => !containsElement node (graphSuccessors graph other))) with - | [] => if remaining.isEmpty then some order.reverse else none - | ready :: _ => topological graph fuel (removeElement ready remaining) (ready :: order) - -@[expose] public def graphTopological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Option (List κ) := - let nodes := graphNodes graph - topological graph (nodes.length + 1) nodes [] -@[expose] public def listFold {α σ : Type} (step : σ -> α -> σ) (initial : σ) (values : List α) : σ := - values.foldl step initial - -@[expose] public def setFold {κ σ : Type} (step : σ -> κ -> σ) (initial : σ) (set : List κ) : σ := - set.foldl step initial - -@[expose] public def iterate {σ : Type} (step : σ -> σ) : Nat -> σ -> σ - | 0, state => state - | Nat.succ count, state => iterate step count (step state) - -@[expose] public def iterateUntil {σ : Type} (step : σ -> Option σ) : Nat -> σ -> Prod σ Bool - | 0, state => (state, false) - | Nat.succ fuel, state => match step state with - | none => (state, true) - | some next => iterateUntil step fuel next - -@[expose] public def lessThan {κ : Type} [Key κ] (left right : κ) : Bool := - match Key.compare left right with - | .lt => true - | _ => false -end LexLeanCollections -"#; - -/// The fixed model runtime (§17.12, models): the meaning of every claim, -/// validator link, and artifact decoding, written once, independently of -/// the obligation generator. Each cross-check restates a user theorem, or -/// recomputes an artifact, against these definitions, so Lean refuses a -/// generator that states anything else. Plain predicates only: no type is -/// declared here, so nothing has a per-module identity. -const MODELS_RUNTIME: &str = r#" -namespace LexLeanModels - -@[expose] public def Sound1 {α : Type} (v : α -> Bool) (p : α -> Prop) : Prop := - forall (a : α), v a = true -> p a -@[expose] public def Sound2 {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), v a b = true -> p a b -@[expose] public def Sound4 {α β γ δ : Type} (v : α -> β -> γ -> δ -> Bool) (p : α -> β -> γ -> δ -> Prop) : Prop := - forall (a : α) (b : β) (c : γ) (d : δ), v a b c d = true -> p a b c d -@[expose] public def Complete1 {α : Type} (v : α -> Bool) (p : α -> Prop) : Prop := - forall (a : α), p a -> v a = true -@[expose] public def Complete2 {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), p a b -> v a b = true -@[expose] public def Complete4 {α β γ δ : Type} (v : α -> β -> γ -> δ -> Bool) (p : α -> β -> γ -> δ -> Prop) : Prop := - forall (a : α) (b : β) (c : γ) (d : δ), p a b c d -> v a b c d = true - -@[expose] public def Satisfies {α β : Type} (p : α -> Prop) (q : α -> β -> Prop) (r : α -> β) : Prop := - forall (a : α), p a -> q a (r a) -@[expose] public def SatisfiesTotal {α β : Type} (q : α -> β -> Prop) (r : α -> β) : Prop := - forall (a : α), q a (r a) -@[expose] public def SatisfiesStep {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepNoInvariant {σ α β : Type} (p : σ -> α -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), p s a -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepNoPrecondition {σ α β : Type} (j : σ -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepTotal {σ α β : Type} (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), q s a (r s a).1 (r s a).2 -@[expose] public def Preserves {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> j (r s a).1 -@[expose] public def PreservesTotal {σ α β : Type} (j : σ -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> j (r s a).1 -@[expose] public def Initial {σ : Type} (j : σ -> Prop) (i : σ) : Prop := - j i -@[expose] public def Equivalent {α β : Type} (p : α -> Prop) (r f : α -> β) : Prop := - forall (a : α), p a -> r a = f a -@[expose] public def EquivalentTotal {α β : Type} (r f : α -> β) : Prop := - forall (a : α), r a = f a -@[expose] public def EquivalentStep {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> r s a = f s a -@[expose] public def EquivalentStepNoInvariant {σ α β : Type} (p : σ -> α -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), p s a -> r s a = f s a -@[expose] public def EquivalentStepNoPrecondition {σ α β : Type} (j : σ -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> r s a = f s a -@[expose] public def EquivalentStepTotal {σ α β : Type} (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), r s a = f s a -@[expose, reducible] public def Agreement {α β : Type} (r : α -> β) (cmp : β -> β -> Bool) (d : List (Prod α β)) (examples agreements : Nat) : Prop := - d.length = examples /\ d.foldl (fun c e => if cmp (r e.1) e.2 then c + 1 else c) 0 = agreements - -@[expose] public def inRange (width : Nat) (signed : Bool) (value : Int) : Bool := - if signed then - decide (-((2 : Int) ^ (8 * width - 1)) <= value) && decide (value < (2 : Int) ^ (8 * width - 1)) - else - decide (0 <= value) && decide (value < (2 : Int) ^ (8 * width)) -@[expose] public def encodeInt (width : Nat) (value : Int) : List Nat := - let unsigned := if value < 0 then value + (2 : Int) ^ (8 * width) else value - (List.range width).map (fun i => (unsigned.toNat / 256 ^ i) % 256) -@[expose] public def tensorMatches (width : Nat) (signed : Bool) (values : List Int) (bytes : ByteArray) : Bool := - values.all (inRange width signed) && values.flatMap (encodeInt width) == bytes.data.toList.map UInt8.toNat -@[expose] public def utf8Char (c : Char) : List Nat := - let n := c.toNat - if n < 128 then [n] - else if n < 2048 then [192 + n / 64, 128 + n % 64] - else if n < 65536 then [224 + n / 4096, 128 + (n / 64) % 64, 128 + n % 64] - else [240 + n / 262144, 128 + (n / 4096) % 64, 128 + (n / 64) % 64, 128 + n % 64] -@[expose] public def linesMatch (lines : List String) (bytes : ByteArray) : Bool := - lines.all (fun line => line.toList.all (fun c => c.toNat != 10 && c.toNat != 13)) && - lines.foldr (fun line rest => line.toList.foldr (fun c tail => utf8Char c ++ tail) [10] ++ rest) [] == - bytes.data.toList.map UInt8.toNat -end LexLeanModels -"#; - -/// The fixed reasoning runtime (§17.12, reasoning): the propositions a -/// generated statement names and the lemmas every generated proof applies, -/// written once and independently of the elaborator. Every lemma is proved -/// by structural recursion without `simp` or a core list lemma, so it is -/// axiom-free; a generated proof applies only these and its declaration's -/// own theorems. Nothing here runs: the runtime is formal-only. -const REASONING_RUNTIME: &str = r#" -namespace LexLeanReasoning - -public inductive Star {σ : Type} (r : σ -> σ -> Prop) : σ -> σ -> Prop where - | refl (a : σ) : Star r a a - | tail (a b c : σ) : Star r a b -> r b c -> Star r a c - -public inductive All {α : Type} (p : α -> Prop) : List α -> Prop where - | nil : All p [] - | cons (a : α) (rest : List α) : p a -> All p rest -> All p (a :: rest) - -@[expose] public def Preserves {σ : Type} (r : σ -> σ -> Prop) (j : σ -> Prop) : Prop := - forall (s t : σ), j s -> r s t -> j t -@[expose] public def Sound {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), v a b = true -> p a b -@[expose] public def Complete {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), p a b -> v a b = true -@[expose] public def Reaches {σ ε : Type} (r : σ -> σ -> Prop) (a : σ) (acc : Except ε σ) : Prop := - forall (s : σ), acc = Except.ok s -> Star r a s -@[expose] public def Found {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) : Option (Prod ρ ν) -> Prop - | none => True - | some hit => ok hit.2 /\ accept hit.2 = some hit.1 -@[expose] public def SearchOk {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) (frontier : List ν) (found : Option (Prod ρ ν)) : Prop := - All ok frontier /\ Found ok accept found - -public theorem starPreserves {σ : Type} (r : σ -> σ -> Prop) (j : σ -> Prop) (h : Preserves r j) : - forall (a b : σ), Star r a b -> j a -> j b := by - intro a b hs - induction hs with - | refl => exact fun ha => ha - | tail y z _ hyz ih => exact fun ha => h y z (ih ha) hyz - -public theorem reachesStart {σ ε : Type} (r : σ -> σ -> Prop) (a : σ) : Reaches (ε := ε) r a (Except.ok a) := by - intro s e - cases e - exact Star.refl a - -public theorem guarded {σ : Type} (r : σ -> σ -> Prop) (s : σ) (g : Bool) (c : σ) (h : g = true -> r s c) (t : σ) : - (if g then some c else none) = some t -> r s t := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact h rfl - -public theorem guardedRank {σ : Type} (μ : σ -> Nat) (s : σ) (g : Bool) (c : σ) (h : g = true -> μ c < μ s) (t : σ) : - (if g then some c else none) = some t -> μ t < μ s := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact h rfl - -public theorem checked {ρ : Type} (g : Bool) (a b : ρ) : (if g then some a else none) = some b -> g = true /\ a = b := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact And.intro rfl rfl - -public theorem foldInvariant {σ α : Type} (f : σ -> α -> σ) (p : σ -> Prop) (h : forall (a : σ) (x : α), p a -> p (f a x)) : - forall (xs : List α) (a : σ), p a -> p (LexLeanCollections.listFold f a xs) := by - intro xs - induction xs with - | nil => exact fun _ ha => ha - | cons x rest ih => exact fun a ha => ih (f a x) (h a x ha) - -public theorem foldSnoc {σ α : Type} (f : σ -> α -> σ) (a : σ) (xs : List α) (y : α) : - LexLeanCollections.listFold f a (LexLeanRuntime.append xs (y :: [])) = f (LexLeanCollections.listFold f a xs) y := by - induction xs generalizing a with - | nil => rfl - | cons x rest ih => exact ih (f a x) - -public theorem allAppend {α : Type} (p : α -> Prop) : forall (xs ys : List α), All p xs -> All p ys -> All p (LexLeanRuntime.append xs ys) := by - intro xs - induction xs with - | nil => exact fun _ _ h => h - | cons x rest ih => - intro ys hx hy - cases hx with - | cons _ _ hp hr => exact All.cons x (LexLeanRuntime.append rest ys) hp (ih ys hr hy) - -public theorem allSingle {α : Type} (p : α -> Prop) (a : α) (h : p a) : All p (a :: []) := - All.cons a [] h All.nil - -public theorem allHead {α : Type} (p : α -> Prop) (a : α) (rest : List α) (h : All p (a :: rest)) : p a := by - cases h with - | cons _ _ hp _ => exact hp - -public theorem allTail {α : Type} (p : α -> Prop) (a : α) (rest : List α) (h : All p (a :: rest)) : All p rest := by - cases h with - | cons _ _ _ hr => exact hr - -public theorem allFold {σ α : Type} (f : σ -> α -> σ) (p : σ -> Prop) (q : α -> Prop) (h : forall (a : σ) (x : α), q x -> p a -> p (f a x)) : - forall (xs : List α) (a : σ), All q xs -> p a -> p (LexLeanCollections.listFold f a xs) := by - intro xs - induction xs with - | nil => exact fun _ _ ha => ha - | cons x rest ih => - intro a hx ha - cases hx with - | cons _ _ hq hr => exact ih (f a x) hr (h a x hq ha) - -public theorem capAll {α : Type} (p : α -> Prop) (k : Nat) (xs : List α) (h : All p xs) : - All p (LexLeanCollections.listFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) [] xs) := - allFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) (All p) p - (fun a x hq ha => by - show All p (if Nat.blt (LexLeanRuntime.length a) k then LexLeanRuntime.append a (x :: []) else a) - cases Nat.blt (LexLeanRuntime.length a) k with - | false => exact ha - | true => exact allAppend p a (x :: []) ha (allSingle p x hq)) xs [] h All.nil - -public theorem lengthSnoc {α : Type} (xs : List α) (y : α) : LexLeanRuntime.length (LexLeanRuntime.append xs (y :: [])) = LexLeanRuntime.length xs + 1 := by - induction xs with - | nil => rfl - | cons x rest ih => exact congrArg Nat.succ ih - -public theorem capBound {α : Type} (k : Nat) (xs : List α) : - LexLeanRuntime.length (LexLeanCollections.listFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) [] xs) <= k := - foldInvariant (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) (fun (acc : List α) => LexLeanRuntime.length acc <= k) - (fun a x ha => by - show LexLeanRuntime.length (if Nat.blt (LexLeanRuntime.length a) k then LexLeanRuntime.append a (x :: []) else a) <= k - cases e : Nat.blt (LexLeanRuntime.length a) k with - | false => exact ha - | true => - show LexLeanRuntime.length (LexLeanRuntime.append a (x :: [])) <= k - rw [lengthSnoc] - exact Nat.le_of_ble_eq_true e) xs [] (Nat.zero_le k) - -public theorem freshAll {ν κ : Type} [LexLeanCollections.Key κ] (key : ν -> κ) (p : ν -> Prop) (v : List κ) (ns : List ν) (h : All p ns) : - All p (LexLeanCollections.listFold (fun (acc : Prod (List ν) (List κ)) (n : ν) => if LexLeanCollections.setContains acc.2 (key n) then acc else (LexLeanRuntime.append acc.1 (n :: []), LexLeanCollections.setInsert acc.2 (key n))) (([] : List ν), v) ns).1 := - allFold (fun (acc : Prod (List ν) (List κ)) (n : ν) => if LexLeanCollections.setContains acc.2 (key n) then acc else (LexLeanRuntime.append acc.1 (n :: []), LexLeanCollections.setInsert acc.2 (key n))) (fun (acc : Prod (List ν) (List κ)) => All p acc.1) p - (fun a x hq ha => by - show All p (if LexLeanCollections.setContains a.2 (key x) then a else (LexLeanRuntime.append a.1 (x :: []), LexLeanCollections.setInsert a.2 (key x))).1 - cases LexLeanCollections.setContains a.2 (key x) with - | true => exact ha - | false => exact allAppend p a.1 (x :: []) ha (allSingle p x hq)) ns (([] : List ν), v) h All.nil - -public theorem searchStart {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) (frontier : List ν) (h : All ok frontier) : - SearchOk ok accept frontier none := - And.intro h True.intro - -public theorem peakBound (p len k : Nat) (hp : p <= k) (hl : len <= k) : (if Nat.blt p len then len else p) <= k := by - cases Nat.blt p len with - | false => exact hp - | true => exact hl - -public theorem iterateUntilInvariant {σ : Type} (step : σ -> Option σ) (p : σ -> Prop) (h : forall (a b : σ), step a = some b -> p a -> p b) : - forall (n : Nat) (a : σ), p a -> p (LexLeanCollections.iterateUntil step n a).1 := by - intro n - induction n with - | zero => exact fun _ ha => ha - | succ n ih => - intro a ha - show p (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 - cases e : step a with - | none => exact ha - | some b => exact ih b (h a b e ha) - -public theorem iterateUntilSimulate {σ τ : Type} (f : σ -> Option σ) (g : τ -> Option τ) (π : σ -> τ) - (hnone : forall (a : σ), f a = none -> g (π a) = none) - (hsome : forall (a b : σ), f a = some b -> g (π a) = some (π b)) : - forall (n : Nat) (a : σ), π (LexLeanCollections.iterateUntil f n a).1 = (LexLeanCollections.iterateUntil g n (π a)).1 /\ (LexLeanCollections.iterateUntil f n a).2 = (LexLeanCollections.iterateUntil g n (π a)).2 := by - intro n - induction n with - | zero => exact fun _ => And.intro rfl rfl - | succ n ih => - intro a - show π (match f a with | none => (a, true) | some next => LexLeanCollections.iterateUntil f n next).1 = (match g (π a) with | none => (π a, true) | some next => LexLeanCollections.iterateUntil g n next).1 /\ (match f a with | none => (a, true) | some next => LexLeanCollections.iterateUntil f n next).2 = (match g (π a) with | none => (π a, true) | some next => LexLeanCollections.iterateUntil g n next).2 - cases e : f a with - | none => rw [hnone a e]; exact And.intro rfl rfl - | some b => rw [hsome a b e]; exact ih b - -public theorem iterateUntilCount {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (h : forall (a b : σ), step a = some b -> c b = c a + 1) : - forall (n : Nat) (a : σ), c a = 0 -> c (LexLeanCollections.iterateUntil step n a).1 <= n := by - have general : forall (n : Nat) (a : σ), c (LexLeanCollections.iterateUntil step n a).1 <= c a + n := by - intro n - induction n with - | zero => exact fun a => Nat.le_refl (c a) - | succ n ih => - intro a - show c (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 <= c a + (n + 1) - cases e : step a with - | none => exact Nat.le_add_right (c a) (n + 1) - | some b => - have hb := ih b - rw [h a b e] at hb - rw [Nat.add_right_comm] at hb - exact (Nat.add_assoc (c a) n 1) ▸ (Nat.add_right_comm (c a) 1 n) ▸ hb - intro n a h0 - have hg := general n a - rw [h0, Nat.zero_add] at hg - exact hg - -public theorem iterateUntilGrowth {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (h : forall (a b : σ), step a = some b -> c b <= c a + 1) : - forall (n : Nat) (a : σ), c a = 0 -> c (LexLeanCollections.iterateUntil step n a).1 <= n := by - have general : forall (n : Nat) (a : σ), c (LexLeanCollections.iterateUntil step n a).1 <= c a + n := by - intro n - induction n with - | zero => exact fun a => Nat.le_refl (c a) - | succ n ih => - intro a - show c (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 <= c a + (n + 1) - cases e : step a with - | none => exact Nat.le_add_right (c a) (n + 1) - | some b => - have hb := Nat.le_trans (ih b) (Nat.add_le_add_right (h a b e) n) - rw [Nat.add_right_comm] at hb - exact hb - intro n a h0 - have hg := general n a - rw [h0, Nat.zero_add] at hg - exact hg - -public theorem iterateUntilStops {σ : Type} (step : σ -> Option σ) (p : σ -> Prop) (μ : σ -> Nat) - (h : forall (a b : σ), step a = some b -> p a -> p b /\ μ b < μ a) : - forall (n : Nat) (a : σ), p a -> μ a < n -> (LexLeanCollections.iterateUntil step n a).2 = true := by - intro n - induction n with - | zero => intro a _ hm; exact absurd hm (Nat.not_lt_zero (μ a)) - | succ n ih => - intro a ha hm - show (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).2 = true - cases e : step a with - | none => rfl - | some b => - have hb := h a b e ha - exact ih b hb.left (Nat.lt_of_lt_of_le hb.right (Nat.le_of_lt_succ hm)) - -public theorem iterateUntilBound {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (k : Nat) (h : forall (a b : σ), step a = some b -> c a <= k -> c b <= k) : - forall (n : Nat) (a : σ), c a <= k -> c (LexLeanCollections.iterateUntil step n a).1 <= k := - iterateUntilInvariant step (fun (a : σ) => c a <= k) h -public theorem noneSome {ρ : Type} {q : Prop} (v : ρ) (h : (none : Option ρ) = some v) : q := by - cases h - -public theorem zeroLe (n : Nat) : 0 <= n := - Nat.zero_le n - -public theorem bltSucc (a b : Nat) (h : Nat.blt a b = true) : a + 1 <= b := - Nat.le_of_ble_eq_true h - -end LexLeanReasoning -"#; - fn emit(checked: &CheckedModule, text: &str, kind: &str) -> Emitter { let mut emitter = Emitter::new(); let node = emitter.node(kind); @@ -2072,316 +1598,6 @@ pub(crate) fn emit_declarations_for( Ok(emitter) } -/// The language-1.2 portable runtime: the frozen runtime with every -/// definition exposed (§17.12). An unexposed definition's body is invisible -/// to every other module under Lean's module system, so a definition -/// imported from another module could not reduce through the primitives it -/// applies. `noinline` is kept on every definition that had it. -fn portable_runtime_1_2() -> &'static str { - static RUNTIME: std::sync::OnceLock = std::sync::OnceLock::new(); - RUNTIME.get_or_init(|| { - portable_runtime() - .lines() - .map(|line| { - if let Some(rest) = line.strip_prefix("@[noinline] public def ") { - format!("@[expose, noinline] public def {rest}\n") - } else if let Some(rest) = line.strip_prefix("public def ") { - format!("@[expose] public def {rest}\n") - } else { - format!("{line}\n") - } - }) - .collect() - }) -} - -fn portable_runtime() -> &'static str { - r#" -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime -"# -} - fn contains_lean_comment_outside_string(text: &str) -> bool { let bytes = text.as_bytes(); let mut index = 0_usize; @@ -2431,7 +1647,7 @@ pub fn render_lean( } // §17.12 (reasoning): the reasoning runtime states its lemmas over the // portable and collection runtimes, so a module with a reasoning - // declaration emits all three. + // declaration uses all three. let reasoning = module.declarations.iter().any(|declaration| { crate::ir::semantic::reasoning::declaration_construct(declaration).is_some() }); @@ -2454,7 +1670,33 @@ pub fn render_lean( document: false, qualify: Some(&document.lean_module), }; + // §17.12: the runtime a module uses. A language-1.2 module imports the + // runtime modules, native modules of the embedded runtime project; a + // language-1.1 module splices the frozen portable runtime inside its + // namespace, as its released output did. + let language_1_2 = module.spec == "lexlean/semantic-module/2"; + let collections = reasoning + || uses_collections( + &serde_json::to_value((&lowered, module.elaboration.all_checks())) + .expect("elaborated declarations serialize"), + ); + let models = module.declarations.iter().any(|declaration| { + crate::ir::semantic::model::declaration_construct(declaration).is_some() + }); let mut text = String::from("module\npublic import Init\n"); + if language_1_2 { + use crate::backend::runtime::{COLLECTIONS, MODELS, PORTABLE, REASONING}; + for (used, runtime_module) in [ + (runtime, PORTABLE), + (collections, COLLECTIONS), + (models, MODELS), + (reasoning, REASONING), + ] { + if used { + text.push_str(&format!("public import {runtime_module}\n")); + } + } + } for import in &document.imports { text.push_str(&format!( "public import {}\n", @@ -2472,36 +1714,14 @@ pub fn render_lean( // Nat`, `red : Color`) is a valid binder, and Lean's linter reports it as // resembling the constructor. The constructors of a module are never // written bare, so nothing is hidden by silencing it. - if module.spec == "lexlean/semantic-module/2" { + if language_1_2 { text.push_str("set_option linter.constructorNameAsVariable false\n"); } text.push_str("namespace "); text.push_str(&identifier(&document.lean_module)); text.push('\n'); - if runtime { - if module.spec == "lexlean/semantic-module/2" { - text.push_str(portable_runtime_1_2()); - } else { - text.push_str(portable_runtime()); - } - } - if reasoning - || uses_collections( - &serde_json::to_value((&lowered, module.elaboration.all_checks())) - .expect("elaborated declarations serialize"), - ) - { - text.push_str(COLLECTIONS_RUNTIME); - } - if module - .declarations - .iter() - .any(|declaration| crate::ir::semantic::model::declaration_construct(declaration).is_some()) - { - text.push_str(MODELS_RUNTIME); - } - if reasoning { - text.push_str(REASONING_RUNTIME); + if runtime && !language_1_2 { + text.push_str(crate::backend::runtime::frozen_portable_runtime()); } let group_of = |index: usize| match module.declarations.get(index) { Some( @@ -3697,46 +2917,28 @@ mod comment_tests { } #[test] - fn language_1_2_runtime_exposes_every_definition_and_keeps_1_1_frozen() { - let frozen = super::portable_runtime(); - let exposed = super::portable_runtime_1_2(); - for line in exposed.lines() { - assert!(!line.starts_with("public def "), "{line}"); - assert!(!line.starts_with("@[noinline] public def "), "{line}"); - } - assert!(exposed.contains("@[expose, noinline] public def index ")); - assert!(exposed.contains("@[expose] public def magnitudeInt64 ")); + fn language_1_2_runtime_is_native_and_language_1_1_keeps_its_frozen_text() { + // Language 1.2: the portable runtime is a native module, whose rows the + // decoder submits exposed (§17.10), with `noinline` kept as data. + let portable = crate::backend::runtime::modules() + .expect("the shipped runtime") + .iter() + .find(|module| module.name == crate::backend::runtime::PORTABLE) + .expect("the portable runtime"); + for declaration in ["index", "magnitudeInt64", "append", "length"] { + let name = format!("LexLeanRuntime.{declaration}"); + assert!( + portable.declarations.iter().any(|(row, _)| *row == name), + "{name}" + ); + } + // Language 1.1: the frozen text, unexposed except where it always was. + let frozen = crate::backend::runtime::frozen_portable_runtime(); assert!(frozen.contains("@[noinline] public def index ")); - assert_eq!( - exposed - .replace("@[expose, noinline] public def", "@[noinline] public def") - .replace("@[expose] public def magnitude", "public def magnitude") - .replace( - "@[expose] public def signedMagnitude", - "public def signedMagnitude" - ) - .replace( - "@[expose] public def divideMagnitude", - "public def divideMagnitude" - ) - .replace( - "@[expose] public def multiplyMagnitude", - "public def multiplyMagnitude" - ), - if frozen.ends_with('\n') { - frozen.to_owned() - } else { - format!("{frozen}\n") - } - ); - } - - #[test] - fn imported_list_construction_remains_kernel_reducible() { - let runtime = super::portable_runtime(); + assert!(!frozen.contains("@[expose, noinline]")); for declaration in ["append", "length"] { - assert!(runtime.contains(&format!("@[expose] public def {declaration}"))); - assert!(!runtime.contains(&format!("@[noinline] public def {declaration}"))); + assert!(frozen.contains(&format!("@[expose] public def {declaration}"))); + assert!(!frozen.contains(&format!("@[noinline] public def {declaration}"))); } } diff --git a/crates/lexlean/src/config.rs b/crates/lexlean/src/config.rs index c9b77e445..846dfe274 100644 --- a/crates/lexlean/src/config.rs +++ b/crates/lexlean/src/config.rs @@ -266,15 +266,15 @@ fn config_error(path: &str, message: impl Into) -> Diagnostic { /// The Lean roots this compiler ships or generates beside a project's own: /// the certificates and their audit (`LexLeanPreserve`, `LexLeanAudit`), the -/// runtime and the model and collection helpers its generated modules open -/// (`LexLeanRuntime`, `LexLeanCollections`, `LexLeanModels`, `LexLeanReasoning`, -/// `LexLeanCore`), and what the extraction and the probes compile -/// (`LexLeanExtract`, `LexLeanProbe`, `LexLeanIdentityProbe`, -/// `LexLeanTokenProbe`). The roots of the certificate library itself, -/// [`LIBRARY_ROOTS`], are the two a project may take (the compiler's own -/// project and the library's project do), but not for a module with a +/// namespaces of the runtime modules' collection, model, and reasoning +/// definitions (`LexLeanCollections`, `LexLeanModels`, `LexLeanReasoning`), +/// the native-module decoder (`LexLeanCore`), and what the extraction and the +/// probes compile (`LexLeanExtract`, `LexLeanProbe`, `LexLeanIdentityProbe`, +/// `LexLeanTokenProbe`). The roots of the shipped libraries themselves, +/// [`LIBRARY_ROOTS`], are the three a project may take (the compiler's own +/// project and the libraries' projects do), but not for a module with a /// production root. -pub const SHIPPED_ROOTS: [&str; 11] = [ +pub const SHIPPED_ROOTS: [&str; 10] = [ "LexLeanAudit", "LexLeanCollections", "LexLeanCore", @@ -284,16 +284,17 @@ pub const SHIPPED_ROOTS: [&str; 11] = [ "LexLeanPreserve", "LexLeanProbe", "LexLeanReasoning", - "LexLeanRuntime", "LexLeanTokenProbe", ]; /// The roots of the modules the certificates import: the calculus modules -/// (`LexLeanTarget`) and the proof library (`LexLeanPreservation`). A project -/// may name its modules under one, since each is itself a LexLean project the -/// repository ships, but the certificates of a root of such a project would -/// import its module as the library's: its modules have no production root. -pub const LIBRARY_ROOTS: [&str; 2] = ["LexLeanPreservation", "LexLeanTarget"]; +/// (`LexLeanTarget`), the proof library (`LexLeanPreservation`), and the +/// runtime modules every generated language-1.2 module that uses the runtime +/// imports (`LexLeanRuntime`). A project may name its modules under one, +/// since each is itself a LexLean project the repository ships, but the +/// certificates of a root of such a project would import its module as the +/// library's: its modules have no production root. +pub const LIBRARY_ROOTS: [&str; 3] = ["LexLeanPreservation", "LexLeanRuntime", "LexLeanTarget"]; /// Whether `root` is one of the [`LIBRARY_ROOTS`]. #[must_use] @@ -1088,7 +1089,7 @@ mod reserved_root_tests { "LeanIR", "IO", "LexLeanPreserve", - "LexLeanRuntime", + "LexLeanCollections", "LexLeanAudit", ] { assert!(is_reserved_module_root(reserved), "{reserved}"); @@ -1098,6 +1099,7 @@ mod reserved_root_tests { "LexLeanExample", "LexLeanTarget", "LexLeanPreservation", + "LexLeanRuntime", "LexLeanExamples", "Leanish", "Initial", diff --git a/crates/lexlean/src/ir/core.rs b/crates/lexlean/src/ir/core.rs index d7be93040..6b9b0d1ab 100644 --- a/crates/lexlean/src/ir/core.rs +++ b/crates/lexlean/src/ir/core.rs @@ -756,6 +756,91 @@ impl CoreModule { deepest } + /// One declaration as a value in which every expression root is replaced + /// by a digest of the kernel term it roots, without the names of bound + /// variables, which no kernel judgment reads. Two rows, of one module or + /// of two, state the same declaration exactly when these values are + /// equal: a library uses it to tell an equation lemma Lean realized in + /// two of its modules from two declarations of one name (§17.17). + #[must_use] + pub fn declaration_up_to_binder_names(&self, row: &CoreDeclaration) -> serde_json::Value { + let mut memo = std::collections::BTreeMap::new(); + let mut value = serde_json::to_value(row).expect("a core declaration serializes"); + let mut replace = |slot: Option<&mut serde_json::Value>| { + if let Some(slot) = slot { + if let Some(root) = slot.as_u64().and_then(|root| usize::try_from(root).ok()) { + *slot = serde_json::Value::String(self.term_digest(root, &mut memo)); + } + } + }; + replace(value.get_mut("type")); + replace(value.get_mut("value")); + if let Some(info) = value.get_mut("eqn_info") { + replace(info.get_mut("type")); + replace(info.get_mut("value")); + } + if let Some(fields) = value + .pointer_mut("/inductive/structure/fields") + .and_then(serde_json::Value::as_array_mut) + { + for field in fields { + replace(field.get_mut("auto_param")); + } + } + value + } + + /// A digest of the kernel term at `root`, without binder names. The edges + /// point backwards, so a node's children are digested before it. + fn term_digest( + &self, + root: usize, + memo: &mut std::collections::BTreeMap, + ) -> String { + use serde_json::json; + let mut stack = vec![root]; + while let Some(&index) = stack.last() { + if memo.contains_key(&index) { + stack.pop(); + continue; + } + let node = &self.nodes[index]; + let pending: Vec = node + .children() + .into_iter() + .filter(|child| !memo.contains_key(child)) + .collect(); + if !pending.is_empty() { + stack.extend(pending); + continue; + } + let child = |at: &usize| memo[at].clone(); + let shape = match node { + CoreNode::Lambda { b, t, v, .. } => json!(["l", b, child(t), child(v)]), + CoreNode::Forall { b, t, v, .. } => json!(["p", b, child(t), child(v)]), + CoreNode::Let { t, v, body, d, .. } => { + json!(["e", child(t), child(v), child(body), d]) + } + CoreNode::App { f, x } => json!(["a", child(f), child(x)]), + CoreNode::Projection { n, s, i, x } => json!(["j", n, s, i, child(x)]), + CoreNode::Mdata { m, x } => json!(["d", m, child(x)]), + leaf @ (CoreNode::BVar { .. } + | CoreNode::Sort { .. } + | CoreNode::Const { .. } + | CoreNode::Nat { .. } + | CoreNode::String { .. }) => { + serde_json::to_value(leaf).expect("a core node serializes") + } + }; + let digest = + crate::artifact::content_id::Sha256Digest::of(shape.to_string().as_bytes()) + .to_hex(); + memo.insert(index, digest); + stack.pop(); + } + memo[&root].clone() + } + /// The schema version the module declares: 1 or 2. #[must_use] pub fn version(&self) -> u8 { diff --git a/crates/lexlean/src/lib.rs b/crates/lexlean/src/lib.rs index 640d1e15e..7716e1903 100644 --- a/crates/lexlean/src/lib.rs +++ b/crates/lexlean/src/lib.rs @@ -179,6 +179,7 @@ fn is_v1_2_file(path: &str) -> bool { || path == crate::production::REGISTRY_PATH || path.starts_with("language/lcnf-1.2/") || path.starts_with("language/preservation-1.2/") + || path.starts_with("language/runtime-1.2/") || path == "schemas/compiler-input.schema.json" || path == "schemas/gnaf-certificate-fixture.schema.json" || path == "schemas/gnaf-certificate.schema.json" diff --git a/crates/lexlean/src/production/certificate.rs b/crates/lexlean/src/production/certificate.rs index 663b1d3f8..655b0a0e8 100644 --- a/crates/lexlean/src/production/certificate.rs +++ b/crates/lexlean/src/production/certificate.rs @@ -68,7 +68,6 @@ pub const LIBRARY_MODULES: [&str; 7] = [ ]; const SYNTAX: &str = "LexLeanTarget.TargetSyntax"; -const SEMANTICS: &str = "LexLeanTarget.TargetSemantics"; const NAT_BOUND: &str = "18446744073709551616"; /// One generated certificate module. @@ -1409,13 +1408,6 @@ impl Gen<'_> { } } - fn runtime(&self, site: &Site, namespace: &str, operation: &str) -> Result { - Ok(format!( - "{}.{namespace}.{operation}", - self.lean_module(&site.module)? - )) - } - /// A branch pattern at `site`. fn pattern(&self, branch: &SemanticBranch, site: &Site) -> Result { let mut out = self.member(&branch.constructor, site)?; @@ -1528,7 +1520,7 @@ impl Gen<'_> { }; format!( "({}{} : {})", - self.runtime(site, namespace, name)?, + runtime(namespace, name), self.src_terms(arguments, ctx)?, self.ty(&result)? ) @@ -1803,6 +1795,13 @@ impl Gen<'_> { } } +/// A declaration of the runtime by its namespace and name. The runtime is +/// one set of imported modules (§17.12), not a copy inside each generated +/// module, so the name is the same at every site. +fn runtime(namespace: &str, operation: &str) -> String { + format!("{namespace}.{operation}") +} + /// The runtime namespace and name a primitive is rendered with. const fn primitive_name(operation: SemanticPrimitive) -> (&'static str, &'static str) { match operation { @@ -2179,7 +2178,6 @@ impl Gen<'_> { operation: SemanticPrimitive, types: &[SemanticType], result: &SemanticType, - site: &Site, ) -> Result { let first = types .first() @@ -2230,7 +2228,7 @@ impl Gen<'_> { lemma: lib(&format!("prim_checkedMul_{suffix}")), prefix: if suffix == "i64" { vec![ - self.runtime(site, "LexLeanRuntime", "multiplyMagnitudeInt64")?, + runtime("LexLeanRuntime", "multiplyMagnitudeInt64"), "(fun _ _ _ _ => rfl)".to_owned(), "(fun _ _ _ _ _ => rfl)".to_owned(), ] @@ -2250,7 +2248,7 @@ impl Gen<'_> { lemma: lib(&format!("prim_checkedQuot_{suffix}")), prefix: if suffix == "i64" { vec![ - self.runtime(site, "LexLeanRuntime", "divideMagnitudeInt64")?, + runtime("LexLeanRuntime", "divideMagnitudeInt64"), "(fun _ _ _ _ => rfl)".to_owned(), "(fun _ _ _ _ _ => rfl)".to_owned(), ] @@ -2316,7 +2314,7 @@ impl Gen<'_> { value: Box::new(element), })?, "(fun _ => rfl)".to_owned(), - self.runtime(site, "LexLeanRuntime", "listIndex")?, + runtime("LexLeanRuntime", "listIndex"), "(fun _ => rfl)".to_owned(), "(fun _ _ => rfl)".to_owned(), "(fun _ _ _ => rfl)".to_owned(), @@ -3178,7 +3176,7 @@ impl Gen<'_> { // source's `lessThan` unfolds to the key order by its clauses. SemanticPrimitive::LessThan => { let key = types.first().ok_or("a key comparison has no operand")?; - let coll = format!("{}.LexLeanCollections", self.lean_module(&site.module)?); + let coll = "LexLeanCollections".to_owned(); let less = format!("{coll}.lessThan"); let list = operands(self.proofs(arguments, ctx)?); return Ok(Proof { @@ -3246,7 +3244,7 @@ impl Gen<'_> { | SemanticPrimitive::GraphReachable | SemanticPrimitive::GraphTopological => {} } - let rule = self.prim_rule(operation, &types, &result, &site)?; + let rule = self.prim_rule(operation, &types, &result)?; let list = operands(self.proofs(arguments, ctx)?); let sources = arguments .iter() @@ -3698,7 +3696,7 @@ impl Gen<'_> { rel_binders.push(format!("({} : Nat)", companion.index)); rel_binders.push(format!("({} : List {SYNTAX}.Value)", companion.captures)); rel_binders.push(format!( - "({} : ∀{binders}, {} __prog {} ({SEMANTICS}.LexLeanRuntime.append {} {}) ({} ({}{applied}) ({} ({name}{applied}))))", + "({} : ∀{binders}, {} __prog {} (LexLeanRuntime.append {} {}) ({} ({}{applied}) ({} ({name}{applied}))))", companion.relation, lib("FunRel"), companion.index, @@ -6653,7 +6651,7 @@ impl Gen<'_> { .get(&(template.name().to_owned(), tys.clone())) .ok_or_else(|| format!("template {} has no instance in the layout", template.name()))?; let rendered: Vec = tys.iter().map(render_ty).collect(); - let coll = format!("{}.LexLeanCollections", self.lean_module(&ctx.site.module)?); + let coll = "LexLeanCollections".to_owned(); let mut proofs = Vec::new(); let mut values = Vec::new(); let mut functions = Vec::new(); @@ -8108,8 +8106,8 @@ impl Gen<'_> { let mut items: [Vec; 4] = [Vec::new(), Vec::new(), Vec::new(), Vec::new()]; let mut corollaries = String::new(); for index in members { - let (ty, module, kind) = checks[&index]; - let stated = self.stated(index, ty, module, kind, recursive)?; + let (ty, _, kind) = checks[&index]; + let stated = self.stated(index, ty, kind, recursive)?; for (slot, text) in items.iter_mut().zip(stated.items) { slot.push(text); } @@ -8347,7 +8345,6 @@ impl Gen<'_> { &self, k: u64, ty: &SemanticType, - module: &str, kind: &Validation, recursive: bool, ) -> Result { @@ -8355,7 +8352,7 @@ impl Gen<'_> { let value = format!("{SYNTAX}.Value"); let lean = self.ty(ty)?; let enc = self.enc(ty)?; - let coll = format!("{}.LexLeanCollections", self.lean_module(module)?); + let coll = "LexLeanCollections".to_owned(); let statements = |valid: &str, inv: &str, viff: &str, vrel: &str| { Stated { items: [ diff --git a/crates/lexlean/src/production/lcnf.rs b/crates/lexlean/src/production/lcnf.rs index 4192f8e6e..8e85b69d2 100644 --- a/crates/lexlean/src/production/lcnf.rs +++ b/crates/lexlean/src/production/lcnf.rs @@ -35,8 +35,8 @@ pub const EXTRACTION_SPEC: &str = "lexlean/lcnf-extraction/2"; /// The tag of the canonical compiler input. pub const INPUT_SPEC: &str = "lexlean/compiler-input/2"; -/// The Lean namespaces of the fixed runtimes every generated module may -/// carry, below the module's own name. +/// The Lean namespaces of the runtime modules (§17.12) a production closure +/// may reach: the portable primitives and the ordered collections. pub const RUNTIME_NAMESPACES: [&str; 2] = ["LexLeanRuntime", "LexLeanCollections"]; /// The syntax kind of the signature probe the adapter registers. @@ -150,14 +150,12 @@ pub fn driver_name(semantic_hex32: &str) -> String { format!("LexLeanExtract.X{semantic_hex32}") } -/// Whether a qualified name is a member of a generated module's runtime. +/// Whether a qualified name is a member of the runtime modules. #[must_use] -pub fn is_runtime_member(name: &str, modules: &BTreeSet) -> bool { - modules.iter().any(|module| { - RUNTIME_NAMESPACES - .iter() - .any(|namespace| name.starts_with(&format!("{module}.{namespace}."))) - }) +pub fn is_runtime_member(name: &str) -> bool { + RUNTIME_NAMESPACES + .iter() + .any(|namespace| name.starts_with(&format!("{namespace}."))) } fn texts(values: &[String]) -> ToolTerm { @@ -1369,7 +1367,13 @@ fn compiler_input_nested( raw.roots ))); } - let module_set: BTreeSet = modules.iter().cloned().collect(); + // The runtime modules (§17.12) are generated modules too: the extraction + // reports their constants with the project's, so that the runtime members + // a closure reaches are told apart. + let mut module_set: BTreeSet = modules.iter().cloned().collect(); + if let Ok(runtime) = crate::backend::runtime::modules() { + module_set.extend(runtime.iter().map(|module| module.name.clone())); + } if !unique(raw.constants.iter().map(|constant| &constant.name)) || !unique(raw.externals.iter().map(|external| &external.name)) { @@ -1585,7 +1589,7 @@ fn compiler_input_nested( let (runtime, source): (BTreeSet, BTreeSet) = members .iter() .cloned() - .partition(|member| is_runtime_member(member, &module_set)); + .partition(|member| is_runtime_member(member)); // Lean's closure of every root must be exactly the eligibility // analysis's: a member only Lean reaches is a dependency the // analysis dropped, and a member only the analysis reaches is one diff --git a/crates/lexlean/src/production/preserve.rs b/crates/lexlean/src/production/preserve.rs index 6b3f42b38..a2cc3fc66 100644 --- a/crates/lexlean/src/production/preserve.rs +++ b/crates/lexlean/src/production/preserve.rs @@ -300,6 +300,8 @@ fn build_native( let mut declarations = Vec::new(); let mut seen_modules: BTreeSet = BTreeSet::new(); let mut names = BTreeSet::new(); + // The source that first declared each equation lemma, by name. + let mut equation_lemmas: BTreeMap = BTreeMap::new(); for module in &library.modules { let path = native_source_path(module) .ok_or_else(|| format!("{LIBRARY_PATH}: `{module}` is outside `{LIBRARY_PREFIX}`"))?; @@ -321,8 +323,35 @@ fn build_native( continue; } if !names.insert(row.name.clone()) { + // Lean realizes the equation lemma of a definition in every + // module that asks for it, and imports the copies of two + // modules as one: two library modules that do not import + // each other may each declare it, as the same declaration up + // to the names of bound variables. It is audited once. + let earlier = equation_lemmas + .get(&row.name) + .map(|earlier| -> Result { + let source = read(earlier)?; + let earlier_core = crate::ir::core::CoreModule::from_source(&source, "1.2") + .map_err(|reason| format!("{earlier}: {reason}"))?; + Ok(earlier_core + .declarations + .iter() + .find(|candidate| candidate.name == row.name) + .is_some_and(|candidate| { + earlier_core.declaration_up_to_binder_names(candidate) + == core.declaration_up_to_binder_names(row) + })) + }) + .transpose()?; + if earlier == Some(true) { + continue; + } return Err(format!("{path}: `{}` is declared twice", row.name)); } + if is_equation_lemma(&row.name) { + equation_lemmas.insert(row.name.clone(), path.clone()); + } if !matches!(row.policy, crate::ir::core::CoreAxiomPolicy::Exact(_)) { return Err(format!( "{path}: `{}` does not pin its axioms exactly", @@ -354,6 +383,17 @@ fn build_native( }) } +/// Whether a declaration name is an equation lemma Lean realizes on demand: +/// its last segment is `eq_` and a number. +fn is_equation_lemma(name: &str) -> bool { + name.rsplit('.') + .next() + .and_then(|last| last.strip_prefix("eq_")) + .is_some_and(|number| { + !number.is_empty() && number.bytes().all(|byte| byte.is_ascii_digit()) + }) +} + fn load_native() -> Result { let library = registry()?; build_native(&library, &|path| { @@ -1050,6 +1090,21 @@ pub fn audit_tokens(text: &str, imports: &BTreeSet) -> Result<(), String /// The audit module's name. pub const AUDIT_MODULE: &str = "LexLeanPreserve.Audit"; +/// The runtime modules (§17.12) a set of generated Lean texts imports, in +/// dependency order, as staged files. +fn runtime_files<'a>( + texts: impl IntoIterator, +) -> Result, Diagnostic> { + Ok(crate::backend::runtime::imported_by(texts)? + .into_iter() + .map(|runtime| StagedFile { + path: module_path(&runtime.name), + text: runtime.text.clone(), + module: runtime.name.clone(), + }) + .collect()) +} + /// Stage the workspace of a project's certificates. /// /// # Errors @@ -1067,6 +1122,17 @@ pub fn workspace( .map(|module| (*module).to_owned()) .collect(); let mut files = Vec::new(); + // Every runtime module (§17.12), first: one module root is one directory + // of compiled modules, so the shared environment holds all of them, not + // only those a given project imports. + for runtime in crate::backend::runtime::modules()? { + environment.insert(runtime.name.clone()); + files.push(StagedFile { + path: module_path(&runtime.name), + text: runtime.text.clone(), + module: runtime.name.clone(), + }); + } for module in TARGET_MODULES .iter() .map(|module| (*module).to_owned()) @@ -1253,6 +1319,16 @@ pub fn stage(modules: &[String], certificates: &[Certificate]) -> Result, _>>() + .map_err(|diagnostic| drift(diagnostic.message))?; + for runtime in runtime_files(calculus).map_err(|diagnostic| drift(diagnostic.message))? { + imports.insert(runtime.module.clone()); + environment.push(runtime); + } for module in TARGET_MODULES .iter() .map(|module| (*module).to_owned()) diff --git a/crates/lexlean/src/verify/mod.rs b/crates/lexlean/src/verify/mod.rs index 66a9fd332..c9186f954 100644 --- a/crates/lexlean/src/verify/mod.rs +++ b/crates/lexlean/src/verify/mod.rs @@ -947,12 +947,39 @@ pub fn run( // Stage 5: Lake workspace preflight (§10.4) and module-name conflicts // (§18.8, §18.9). workspace::preflight(project, lock).map_err(fail)?; + // §17.12: the runtime modules the generated modules import, and, when + // the project certifies a root, those the calculus modules its + // certificates compile beside import. They are generated from the + // shipped native sources, compiled before the project's modules, + // replayed, and audited against their exact axioms like any other. + let runtime_modules: Vec<&'static crate::backend::runtime::RuntimeModule> = { + let mut texts: Vec<&str> = build + .modules + .iter() + .map(|module| module.lean_text.as_str()) + .collect(); + if !certified.is_empty() { + for module in crate::production::preserve::TARGET_MODULES { + texts.push(crate::production::preserve::module_text(module).map_err(fail)?); + } + } + let mut imported = crate::backend::runtime::imported_by(texts).map_err(fail)?; + // The runtime's own project generates these modules itself. + imported.retain(|runtime| { + !build + .modules + .iter() + .any(|module| module.lean_module == runtime.name) + }); + imported + }; let probe_name = format!("LexLeanProbe.P{semantic_hex32}"); let audit_name = format!("LexLeanAudit.A{semantic_hex32}"); let mut all_names: Vec = build .modules .iter() .map(|module| module.lean_module.clone()) + .chain(runtime_modules.iter().map(|module| module.name.clone())) .collect(); all_names.push(probe_name.clone()); all_names.push(audit_name.clone()); @@ -982,6 +1009,16 @@ pub fn run( for module in &build.modules { module_declarations.push((module.lean_module.clone(), module.declaration_names.clone())); } + for module in &runtime_modules { + module_declarations.push(( + module.name.clone(), + module + .declarations + .iter() + .map(|(name, _)| name.clone()) + .collect(), + )); + } let audit_modules = crate::backend::lean::audit_modules(&semantic_hex32, &module_declarations); let mut declaration_names: Vec = audit_modules .iter() @@ -1037,6 +1074,11 @@ pub fn run( )))); } } + for module in &runtime_modules { + if let Err(reason) = generated_core_source_audit(&module.text) { + return Err(fail(internal(format!("`{}`: {reason}", module.name)))); + } + } if let Err(reason) = generated_source_audit(&probe.text, false) { return Err(fail(internal(format!("probe module: {reason}")))); } @@ -1132,6 +1174,14 @@ pub fn run( module.lean_text.as_bytes(), )?; } + for module in &runtime_modules { + let module_path = module.name.replace('.', "/"); + write_staged( + staging.path(), + &format!("lean-src/{module_path}.lean"), + module.text.as_bytes(), + )?; + } release_non_diagnostic_buffers(build); let lean_path_env = format!("{olean_root}"); let mut process_records: Vec = Vec::new(); @@ -1219,6 +1269,82 @@ pub fn run( // A topological frontier contains no dependency edges, so its members // may run concurrently without making an imported olean observable // before the process that owns it has completed successfully. + // The runtime modules come first, in their dependency order: every + // generated module that uses the runtime imports them (§17.12). They are + // shipped data, so a refusal is a defect of the compiler, not the + // project's. + for module in &runtime_modules { + let module_path = module.name.replace('.', "/"); + let source = src_root.join(format!("{module_path}.lean")); + let olean = olean_root.join(format!("{module_path}.olean")); + if let Some(parent) = olean.parent() { + std::fs::create_dir_all(parent.as_std_path()).map_err(|io_error| { + fail(Diagnostic::new( + code!("LLB6003"), + format!("staging oleans: {io_error}"), + )) + })?; + } + let record = run_child( + &ChildSpec { + tool: "lean", + module: Some(module.name.clone()), + program: &toolchain.lake.path, + executable_sha256: toolchain.lean.sha256, + argv: vec![ + "env".to_owned(), + "lean".to_owned(), + "-R".to_owned(), + src_root.to_string(), + "-o".to_owned(), + olean.to_string(), + source.to_string(), + ], + cwd: &workspace_root, + extra_env: vec![("LEAN_PATH".to_owned(), lean_path_env.clone())], + home: ChildHome::Toolchain { + toolchain_bin: &toolchain_bin, + }, + }, + &limits, + &normalizer, + ) + .map_err(fail)?; + if record.exit_code != 0 + || !record.stdout.trim().is_empty() + || !record.stderr.trim().is_empty() + { + let combined = format!("{}\n{}", record.stdout, record.stderr); + return Err(fail( + resource_death( + &module.name, + record.exit_code, + &combined, + module.text.len() as u64, + &limits, + ) + .unwrap_or_else(|| { + internal(format!( + "the runtime module `{}` was refused: {}", + module.name, + lean_error(&combined) + )) + }), + )); + } + if !olean.as_std_path().is_file() { + return Err(fail(Diagnostic::new( + code!("LLV7002"), + format!("`{}` produced no olean", module.name), + ))); + } + write_staged( + staging.path(), + &format!("process/lean/{}.json", module.name), + &record.to_json().to_file_bytes(), + )?; + process_records.push(record); + } let mut placed: BTreeSet = BTreeSet::new(); let mut remaining: Vec = (0..build.modules.len()).collect(); // The names are copied out so that the workers of a frontier hold no @@ -1364,7 +1490,24 @@ pub fn run( stages.enter("replay"); // Stage 8: separate-process leanchecker replay per module, sorted - // (§22.4). + // (§22.4): the runtime modules, then the project's. + for module in &runtime_modules { + let record = leanchecker::replay_module( + &toolchain, + &module.name, + &lean_path_env, + &workspace_root, + &limits, + &normalizer, + ) + .map_err(fail)?; + write_staged( + staging.path(), + &format!("process/leanchecker/{}.json", module.name), + &record.to_json().to_file_bytes(), + )?; + process_records.push(record); + } let mut sorted_modules: Vec = (0..build.modules.len()).collect(); sorted_modules.sort_by(|a, b| { build.modules[*a] @@ -1736,6 +1879,46 @@ pub fn run( } } + // §17.12: every declaration of a runtime module the project uses observes + // exactly the axioms its native source pins. + for module in &runtime_modules { + for (name, axioms) in &module.declarations { + let observed_set = observed.get(name).cloned().ok_or_else(|| { + fail(internal(format!( + "runtime declaration `{name}` is absent from the axiom audit" + ))) + })?; + if observed_set != *axioms { + return Err(fail(Diagnostic::new( + code!("LLV7005"), + format!( + "`{name}` of the runtime module `{}` violates its exact axiom policy: observed [{}]", + module.name, + observed_set.join(", ") + ), + ))); + } + declaration_rows.push(Json::object(vec![ + ("name", Json::Str(name.clone())), + ( + "policy", + Json::object(vec![ + ("kind", Json::Str("exact".to_owned())), + ( + "axioms", + Json::Arr(axioms.iter().cloned().map(Json::Str).collect()), + ), + ]), + ), + ( + "observed", + Json::Arr(observed_set.into_iter().map(Json::Str).collect()), + ), + ("result", Json::Str("ok".to_owned())), + ])); + } + } + stages.enter("extraction"); // Stage 12: named-root extraction (§22.10). Lean's compiler front end // reports the computational closure of every production root while the @@ -1762,10 +1945,17 @@ pub fn run( .iter() .flat_map(|report| report.roots.iter().map(|root| root.root.clone())) .collect(); - let modules: Vec = build - .modules + // The runtime modules are reported with the project's, so that the + // runtime members a closure reaches are told apart (§22.10). + let modules: Vec = runtime_modules .iter() - .map(|module| module.lean_module.clone()) + .map(|module| module.name.clone()) + .chain( + build + .modules + .iter() + .map(|module| module.lean_module.clone()), + ) .collect(); let driver = lcnf::driver(&semantic_hex32, &roots, &modules) .map_err(|reason| fail(internal(reason)))?; @@ -1977,6 +2167,15 @@ pub fn run( ) }; for file in &stage.environment { + // A runtime module the calculus modules import was compiled, + // replayed, and audited with the project's (stage 7), and its + // olean is on this search path. + if runtime_modules + .iter() + .any(|module| module.name == file.module) + { + continue; + } let record = compile(file, true).map_err(fail)?; if record.exit_code != 0 || !record.stdout.trim().is_empty() @@ -2223,8 +2422,12 @@ pub fn run( stages.enter("olean-hash"); // Copy oleans into the verified set and hash them. let mut olean_rows: Vec = Vec::new(); - for module in &build.modules { - let module_path = module.lean_module.replace('.', "/"); + for module in runtime_modules + .iter() + .map(|module| &module.name) + .chain(build.modules.iter().map(|module| &module.lean_module)) + { + let module_path = module.replace('.', "/"); let olean = olean_root.join(format!("{module_path}.olean")); let bytes = std::fs::read(olean.as_std_path()).map_err(|io_error| { fail(Diagnostic::new( @@ -2233,7 +2436,7 @@ pub fn run( )) })?; olean_rows.push(Json::object(vec![ - ("module", Json::Str(module.lean_module.clone())), + ("module", Json::Str(module.clone())), ("byte_length", Json::from_usize(bytes.len())), ("sha256", Json::Str(Sha256Digest::of(&bytes).to_hex())), ])); diff --git a/examples/collections/expected/build/coverage/Collections/Main.coverage.json b/examples/collections/expected/build/coverage/Collections/Main.coverage.json index 9e73848da..06bb0de92 100644 --- a/examples/collections/expected/build/coverage/Collections/Main.coverage.json +++ b/examples/collections/expected/build/coverage/Collections/Main.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1512,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1772,"byte_start":1512,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2113,"byte_start":1772,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2452,"byte_start":2113,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2774,"byte_start":2452,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3051,"byte_start":2774,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3346,"byte_start":3051,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3624,"byte_start":3346,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3868,"byte_start":3624,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4144,"byte_start":3868,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4522,"byte_start":4144,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4900,"byte_start":4522,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5254,"byte_start":4900,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5626,"byte_start":5254,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5948,"byte_start":5626,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6274,"byte_start":5948,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6581,"byte_start":6274,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6829,"byte_start":6581,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7124,"byte_start":6829,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7413,"byte_start":7124,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7754,"byte_start":7413,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8157,"byte_start":7754,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8418,"byte_start":8157,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8673,"byte_start":8418,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8911,"byte_start":8673,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9132,"byte_start":8911,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9405,"byte_start":9132,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9687,"byte_start":9405,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9977,"byte_start":9687,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10257,"byte_start":9977,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10613,"byte_start":10257,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10985,"byte_start":10613,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11228,"byte_start":10985,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11579,"byte_start":11228,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11927,"byte_start":11579,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12247,"byte_start":11927,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12571,"byte_start":12247,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12900,"byte_start":12571,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13266,"byte_start":12900,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13689,"byte_start":13266,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14252,"byte_start":13689,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14807,"byte_start":14252,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15394,"byte_start":14807,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16005,"byte_start":15394,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16648,"byte_start":16005,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17155,"byte_start":16648,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17682,"byte_start":17155,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18223,"byte_start":17682,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18780,"byte_start":18223,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19198,"byte_start":18780,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19846,"byte_start":19198,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20478,"byte_start":19846,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20493,"byte_start":20478,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":21773,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22668,"byte_start":21773,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22783,"byte_start":22668,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22976,"byte_start":22783,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23167,"byte_start":22976,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23341,"byte_start":23167,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23469,"byte_start":23341,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23655,"byte_start":23469,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23815,"byte_start":23655,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23952,"byte_start":23815,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24117,"byte_start":23952,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24354,"byte_start":24117,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24590,"byte_start":24354,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24803,"byte_start":24590,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25033,"byte_start":24803,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25206,"byte_start":25033,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25382,"byte_start":25206,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25540,"byte_start":25382,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25680,"byte_start":25540,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25867,"byte_start":25680,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26048,"byte_start":25867,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26281,"byte_start":26048,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26575,"byte_start":26281,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26729,"byte_start":26575,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26877,"byte_start":26729,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27007,"byte_start":26877,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27120,"byte_start":27007,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27285,"byte_start":27120,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27460,"byte_start":27285,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27643,"byte_start":27460,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27816,"byte_start":27643,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28064,"byte_start":27816,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28328,"byte_start":28064,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28463,"byte_start":28328,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28704,"byte_start":28463,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28943,"byte_start":28704,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29156,"byte_start":28943,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29372,"byte_start":29156,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29583,"byte_start":29372,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29841,"byte_start":29583,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30159,"byte_start":29841,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30617,"byte_start":30159,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31067,"byte_start":30617,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31549,"byte_start":31067,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32055,"byte_start":31549,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32593,"byte_start":32055,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32995,"byte_start":32593,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33417,"byte_start":32995,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33853,"byte_start":33417,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34305,"byte_start":33853,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34607,"byte_start":34305,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35055,"byte_start":34607,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35541,"byte_start":35055,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35563,"byte_start":35541,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Main","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":20,"byte_start":16,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":21,"byte_start":20,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":34,"byte_start":22,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":35,"byte_start":34,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":42,"byte_start":35,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":43,"byte_start":42,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":46,"byte_start":43,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":46,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":50,"byte_start":47,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":50,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":57,"byte_start":56,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":71,"byte_start":58,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":72,"byte_start":71,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":78,"byte_start":72,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":79,"byte_start":78,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":93,"byte_start":80,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":94,"byte_start":93,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":101,"byte_start":94,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":102,"byte_start":101,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":109,"byte_start":103,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":110,"byte_start":109,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":124,"byte_start":110,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":133,"byte_start":125,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":134,"byte_start":133,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":141,"byte_start":135,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":142,"byte_start":141,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":156,"byte_start":142,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":157,"byte_start":156,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":18642,"byte_start":158,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":18646,"byte_start":18642,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":18647,"byte_start":18646,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":18661,"byte_start":18647,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":18662,"byte_start":18661,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":18667,"byte_start":18663,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":18668,"byte_start":18667,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":18675,"byte_start":18668,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":18676,"byte_start":18675,"class":"delimiter","path":"src/Main.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1512,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1772,"byte_start":1512,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2113,"byte_start":1772,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2452,"byte_start":2113,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2774,"byte_start":2452,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3051,"byte_start":2774,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3346,"byte_start":3051,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3624,"byte_start":3346,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3868,"byte_start":3624,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4144,"byte_start":3868,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4522,"byte_start":4144,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4900,"byte_start":4522,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5254,"byte_start":4900,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5626,"byte_start":5254,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5948,"byte_start":5626,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6274,"byte_start":5948,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6581,"byte_start":6274,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6829,"byte_start":6581,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7124,"byte_start":6829,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7413,"byte_start":7124,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7754,"byte_start":7413,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8157,"byte_start":7754,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8418,"byte_start":8157,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8673,"byte_start":8418,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8911,"byte_start":8673,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9132,"byte_start":8911,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9405,"byte_start":9132,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9687,"byte_start":9405,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9977,"byte_start":9687,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10257,"byte_start":9977,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10613,"byte_start":10257,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10985,"byte_start":10613,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11228,"byte_start":10985,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11579,"byte_start":11228,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11927,"byte_start":11579,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12247,"byte_start":11927,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12571,"byte_start":12247,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12900,"byte_start":12571,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13266,"byte_start":12900,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13689,"byte_start":13266,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14252,"byte_start":13689,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14807,"byte_start":14252,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15394,"byte_start":14807,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16005,"byte_start":15394,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16648,"byte_start":16005,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17155,"byte_start":16648,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17682,"byte_start":17155,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18223,"byte_start":17682,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18780,"byte_start":18223,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19198,"byte_start":18780,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19846,"byte_start":19198,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20478,"byte_start":19846,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20493,"byte_start":20478,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":345,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1240,"byte_start":345,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1355,"byte_start":1240,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1548,"byte_start":1355,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1739,"byte_start":1548,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1913,"byte_start":1739,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2041,"byte_start":1913,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2227,"byte_start":2041,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2387,"byte_start":2227,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2524,"byte_start":2387,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2689,"byte_start":2524,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2926,"byte_start":2689,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3162,"byte_start":2926,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3375,"byte_start":3162,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3605,"byte_start":3375,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3778,"byte_start":3605,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3954,"byte_start":3778,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4112,"byte_start":3954,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4252,"byte_start":4112,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4439,"byte_start":4252,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4620,"byte_start":4439,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4853,"byte_start":4620,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5147,"byte_start":4853,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5301,"byte_start":5147,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5449,"byte_start":5301,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5579,"byte_start":5449,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5692,"byte_start":5579,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5857,"byte_start":5692,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6032,"byte_start":5857,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6215,"byte_start":6032,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6388,"byte_start":6215,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6636,"byte_start":6388,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6900,"byte_start":6636,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7035,"byte_start":6900,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7276,"byte_start":7035,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7515,"byte_start":7276,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7728,"byte_start":7515,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7944,"byte_start":7728,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8155,"byte_start":7944,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8413,"byte_start":8155,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8731,"byte_start":8413,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9189,"byte_start":8731,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9639,"byte_start":9189,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10121,"byte_start":9639,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10627,"byte_start":10121,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11165,"byte_start":10627,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11567,"byte_start":11165,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11989,"byte_start":11567,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12425,"byte_start":11989,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12877,"byte_start":12425,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13179,"byte_start":12877,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13627,"byte_start":13179,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14113,"byte_start":13627,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14135,"byte_start":14113,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Main","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":20,"byte_start":16,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":21,"byte_start":20,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":34,"byte_start":22,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":35,"byte_start":34,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":42,"byte_start":35,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":43,"byte_start":42,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":46,"byte_start":43,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":46,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":50,"byte_start":47,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":50,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":57,"byte_start":56,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":71,"byte_start":58,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":72,"byte_start":71,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":78,"byte_start":72,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":79,"byte_start":78,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":93,"byte_start":80,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":94,"byte_start":93,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":101,"byte_start":94,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":102,"byte_start":101,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":109,"byte_start":103,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":110,"byte_start":109,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":124,"byte_start":110,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":133,"byte_start":125,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":134,"byte_start":133,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":141,"byte_start":135,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":142,"byte_start":141,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":156,"byte_start":142,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":157,"byte_start":156,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":18642,"byte_start":158,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":18646,"byte_start":18642,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":18647,"byte_start":18646,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":18661,"byte_start":18647,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":18662,"byte_start":18661,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":18667,"byte_start":18663,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":18668,"byte_start":18667,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":18675,"byte_start":18668,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":18676,"byte_start":18675,"class":"delimiter","path":"src/Main.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/examples/collections/expected/build/coverage/Collections/Measure.coverage.json b/examples/collections/expected/build/coverage/Collections/Measure.coverage.json index 054c231b5..6ea535907 100644 --- a/examples/collections/expected/build/coverage/Collections/Measure.coverage.json +++ b/examples/collections/expected/build/coverage/Collections/Measure.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":483,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":699,"byte_start":483,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":714,"byte_start":699,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":21742,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21904,"byte_start":21742,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21972,"byte_start":21904,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21997,"byte_start":21972,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Measure","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":23,"byte_start":16,"class":"word","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":24,"byte_start":23,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":37,"byte_start":25,"class":"control","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":38,"byte_start":37,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":45,"byte_start":38,"class":"word","path":"src/Measure.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":46,"byte_start":45,"class":"ascii-symbol","path":"src/Measure.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":49,"byte_start":46,"class":"word","path":"src/Measure.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":50,"byte_start":49,"class":"ascii-symbol","path":"src/Measure.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":50,"class":"word","path":"src/Measure.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"ascii-symbol","path":"src/Measure.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"numeral","path":"src/Measure.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"ascii-symbol","path":"src/Measure.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"numeral","path":"src/Measure.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"ascii-symbol","path":"src/Measure.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":59,"byte_start":58,"class":"numeral","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":60,"byte_start":59,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":74,"byte_start":61,"class":"control","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":75,"byte_start":74,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":81,"byte_start":75,"class":"word","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":82,"byte_start":81,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":89,"byte_start":83,"class":"control","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":90,"byte_start":89,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":104,"byte_start":90,"class":"word","path":"src/Measure.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":113,"byte_start":105,"class":"word","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":114,"byte_start":113,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":121,"byte_start":115,"class":"control","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":122,"byte_start":121,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":136,"byte_start":122,"class":"word","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":137,"byte_start":136,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":515,"byte_start":138,"class":"word","path":"src/Measure.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":519,"byte_start":515,"class":"control","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":520,"byte_start":519,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":534,"byte_start":520,"class":"word","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":535,"byte_start":534,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":540,"byte_start":536,"class":"control","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":541,"byte_start":540,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":548,"byte_start":541,"class":"word","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":549,"byte_start":548,"class":"delimiter","path":"src/Measure.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":483,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":699,"byte_start":483,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":714,"byte_start":699,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":314,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":476,"byte_start":314,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":544,"byte_start":476,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":569,"byte_start":544,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Measure","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":23,"byte_start":16,"class":"word","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":24,"byte_start":23,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":37,"byte_start":25,"class":"control","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":38,"byte_start":37,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":45,"byte_start":38,"class":"word","path":"src/Measure.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":46,"byte_start":45,"class":"ascii-symbol","path":"src/Measure.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":49,"byte_start":46,"class":"word","path":"src/Measure.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":50,"byte_start":49,"class":"ascii-symbol","path":"src/Measure.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":50,"class":"word","path":"src/Measure.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"ascii-symbol","path":"src/Measure.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"numeral","path":"src/Measure.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"ascii-symbol","path":"src/Measure.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"numeral","path":"src/Measure.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"ascii-symbol","path":"src/Measure.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":59,"byte_start":58,"class":"numeral","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":60,"byte_start":59,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":74,"byte_start":61,"class":"control","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":75,"byte_start":74,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":81,"byte_start":75,"class":"word","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":82,"byte_start":81,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":89,"byte_start":83,"class":"control","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":90,"byte_start":89,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":104,"byte_start":90,"class":"word","path":"src/Measure.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":113,"byte_start":105,"class":"word","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":114,"byte_start":113,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":121,"byte_start":115,"class":"control","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":122,"byte_start":121,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":136,"byte_start":122,"class":"word","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":137,"byte_start":136,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":515,"byte_start":138,"class":"word","path":"src/Measure.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":519,"byte_start":515,"class":"control","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":520,"byte_start":519,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":534,"byte_start":520,"class":"word","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":535,"byte_start":534,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":540,"byte_start":536,"class":"control","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":541,"byte_start":540,"class":"delimiter","path":"src/Measure.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":548,"byte_start":541,"class":"word","path":"src/Measure.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":549,"byte_start":548,"class":"delimiter","path":"src/Measure.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/examples/collections/expected/build/coverage/Collections/Tables.coverage.json b/examples/collections/expected/build/coverage/Collections/Tables.coverage.json index 2ceb78b12..2cadcc377 100644 --- a/examples/collections/expected/build/coverage/Collections/Tables.coverage.json +++ b/examples/collections/expected/build/coverage/Collections/Tables.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":608,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1273,"byte_start":608,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1631,"byte_start":1273,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1953,"byte_start":1631,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2272,"byte_start":1953,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2287,"byte_start":2272,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":21708,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21918,"byte_start":21708,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22242,"byte_start":21918,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22463,"byte_start":22242,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22598,"byte_start":22463,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22732,"byte_start":22598,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22756,"byte_start":22732,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Tables","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Tables.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Tables.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Tables.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Tables.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Tables.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":22,"byte_start":16,"class":"word","path":"src/Tables.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":23,"byte_start":22,"class":"delimiter","path":"src/Tables.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":36,"byte_start":24,"class":"control","path":"src/Tables.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":37,"byte_start":36,"class":"delimiter","path":"src/Tables.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":44,"byte_start":37,"class":"word","path":"src/Tables.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":45,"byte_start":44,"class":"ascii-symbol","path":"src/Tables.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":45,"class":"word","path":"src/Tables.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":49,"byte_start":48,"class":"ascii-symbol","path":"src/Tables.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":49,"class":"word","path":"src/Tables.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Tables.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Tables.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Tables.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Tables.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"ascii-symbol","path":"src/Tables.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"numeral","path":"src/Tables.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":59,"byte_start":58,"class":"delimiter","path":"src/Tables.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":66,"byte_start":60,"class":"control","path":"src/Tables.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":67,"byte_start":66,"class":"delimiter","path":"src/Tables.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":81,"byte_start":67,"class":"word","path":"src/Tables.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":90,"byte_start":82,"class":"word","path":"src/Tables.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":91,"byte_start":90,"class":"delimiter","path":"src/Tables.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":98,"byte_start":92,"class":"control","path":"src/Tables.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":99,"byte_start":98,"class":"delimiter","path":"src/Tables.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":113,"byte_start":99,"class":"word","path":"src/Tables.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":114,"byte_start":113,"class":"delimiter","path":"src/Tables.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":1585,"byte_start":115,"class":"word","path":"src/Tables.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":1589,"byte_start":1585,"class":"control","path":"src/Tables.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":1590,"byte_start":1589,"class":"delimiter","path":"src/Tables.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":1604,"byte_start":1590,"class":"word","path":"src/Tables.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":1605,"byte_start":1604,"class":"delimiter","path":"src/Tables.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":1610,"byte_start":1606,"class":"control","path":"src/Tables.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":1611,"byte_start":1610,"class":"delimiter","path":"src/Tables.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":1618,"byte_start":1611,"class":"word","path":"src/Tables.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":1619,"byte_start":1618,"class":"delimiter","path":"src/Tables.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":608,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1273,"byte_start":608,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1631,"byte_start":1273,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1953,"byte_start":1631,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2272,"byte_start":1953,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2287,"byte_start":2272,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":280,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":490,"byte_start":280,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":814,"byte_start":490,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1035,"byte_start":814,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1170,"byte_start":1035,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1304,"byte_start":1170,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1328,"byte_start":1304,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Tables","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Tables.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Tables.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Tables.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Tables.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Tables.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":22,"byte_start":16,"class":"word","path":"src/Tables.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":23,"byte_start":22,"class":"delimiter","path":"src/Tables.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":36,"byte_start":24,"class":"control","path":"src/Tables.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":37,"byte_start":36,"class":"delimiter","path":"src/Tables.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":44,"byte_start":37,"class":"word","path":"src/Tables.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":45,"byte_start":44,"class":"ascii-symbol","path":"src/Tables.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":45,"class":"word","path":"src/Tables.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":49,"byte_start":48,"class":"ascii-symbol","path":"src/Tables.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":49,"class":"word","path":"src/Tables.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Tables.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Tables.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Tables.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Tables.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"ascii-symbol","path":"src/Tables.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"numeral","path":"src/Tables.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":59,"byte_start":58,"class":"delimiter","path":"src/Tables.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":66,"byte_start":60,"class":"control","path":"src/Tables.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":67,"byte_start":66,"class":"delimiter","path":"src/Tables.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":81,"byte_start":67,"class":"word","path":"src/Tables.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":90,"byte_start":82,"class":"word","path":"src/Tables.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":91,"byte_start":90,"class":"delimiter","path":"src/Tables.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":98,"byte_start":92,"class":"control","path":"src/Tables.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":99,"byte_start":98,"class":"delimiter","path":"src/Tables.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":113,"byte_start":99,"class":"word","path":"src/Tables.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":114,"byte_start":113,"class":"delimiter","path":"src/Tables.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":1585,"byte_start":115,"class":"word","path":"src/Tables.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":1589,"byte_start":1585,"class":"control","path":"src/Tables.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":1590,"byte_start":1589,"class":"delimiter","path":"src/Tables.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":1604,"byte_start":1590,"class":"word","path":"src/Tables.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":1605,"byte_start":1604,"class":"delimiter","path":"src/Tables.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":1610,"byte_start":1606,"class":"control","path":"src/Tables.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":1611,"byte_start":1610,"class":"delimiter","path":"src/Tables.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":1618,"byte_start":1611,"class":"word","path":"src/Tables.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":1619,"byte_start":1618,"class":"delimiter","path":"src/Tables.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/examples/collections/expected/build/manifest.json b/examples/collections/expected/build/manifest.json index 63a621fe1..7c6cbf558 100644 --- a/examples/collections/expected/build/manifest.json +++ b/examples/collections/expected/build/manifest.json @@ -1 +1 @@ -{"build_id":"f0e91e1d1aa052344dc677abdf02076c74a3cb1d7eac961cdf7ed235f5726774","compiler":{"semantics_id":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","version":"0.3.0"},"inputs":[{"byte_length":2684,"kind":"lexicon","path":"embedded","sha256":"3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b"},{"byte_length":14885,"kind":"lexicon","path":"embedded","sha256":"e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac"},{"byte_length":36197,"kind":"lexicon","path":"embedded","sha256":"827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392"},{"byte_length":1597,"kind":"lock","path":"lexlean.lock","sha256":"5a4d0bda1104c52c0a6b620c63599421cda7d4167cf4ee8824eb98d23c94ec11"},{"byte_length":644,"kind":"project-config","path":"lexlean.toml","sha256":"87b05dc405590c51e9a51ac60ef00f9096c4a38c29b9bab379a02d5c6a1cd744"},{"byte_length":18677,"kind":"source","path":"src/Main.lex.tex","sha256":"75d9370d719bc1634123f79db391070eda6061e88c461626129911161efa63a9"},{"byte_length":550,"kind":"source","path":"src/Measure.lex.tex","sha256":"227f5dad1ec06da3d2759ffa2ab2d4908aa5a02880ca0219bc46169089be9081"},{"byte_length":1620,"kind":"source","path":"src/Tables.lex.tex","sha256":"f5e7c1b714c8eee02fedacfb367c7e64dc01664eaa41fb48f4e42ae37aef43f0"}],"language":"1.2","lean_toolchain":"leanprover/lean4:v4.32.1","modules":[{"lean_module":"Collections.Main","module":"Main","source_path":"src/Main.lex.tex"},{"lean_module":"Collections.Measure","module":"Measure","source_path":"src/Measure.lex.tex"},{"lean_module":"Collections.Tables","module":"Tables","source_path":"src/Tables.lex.tex"}],"outputs":[{"byte_length":21934,"kind":"coverage","path":"coverage/Collections/Main.coverage.json","sha256":"7e8089a6c29ab8810e9366593930f4d9dd12ce63d976cdd125edcff59d3c00f7"},{"byte_length":7813,"kind":"coverage","path":"coverage/Collections/Measure.coverage.json","sha256":"41f5bfce6d8fc72d42a68f8c739a8791acaf13cfd324ffc1efa3b435d0cb9dd5"},{"byte_length":7975,"kind":"coverage","path":"coverage/Collections/Tables.coverage.json","sha256":"755e9455f6c63d5729e20425a555779626e7d76006db5b0dbbe44486466d7473"},{"byte_length":35563,"kind":"lean","path":"modules/Collections/Main.lean","sha256":"b87f06c4742c36cdd33a8eb85f85a07febd7a5a201a4ceb09bdf65b49918a2bb"},{"byte_length":21997,"kind":"lean","path":"modules/Collections/Measure.lean","sha256":"0e963ca54143e86aa9088b79084ad48526d2aee797396706a5c4d658564094f1"},{"byte_length":22756,"kind":"lean","path":"modules/Collections/Tables.lean","sha256":"476ae603b4afa254202746d8746d68459ad461f4fa4e9d4addab32d2ab2bc557"},{"byte_length":10602,"kind":"lexicon-closure","path":"lexicons/Main.closure.json","sha256":"727110f90daff26a2e5eb8069fcefecd5790c1264f5d6d4b2ef57db1c2bfb867"},{"byte_length":10605,"kind":"lexicon-closure","path":"lexicons/Measure.closure.json","sha256":"624095a690526571fd42d5aa56a92d3fe7bc0953f3148c7535b69201e497e783"},{"byte_length":10604,"kind":"lexicon-closure","path":"lexicons/Tables.closure.json","sha256":"28c6adc505e1fcd48a5d3d5dda53c47f2ff7818607748bb77ffeb26a241c7b29"},{"byte_length":18010,"kind":"map","path":"maps/Collections/Main.map.json","sha256":"c803cb433be99debcb64cb77796a13304ad61eb550ea4f1f95aeeb52619cb1d0"},{"byte_length":1681,"kind":"map","path":"maps/Collections/Measure.map.json","sha256":"aa86c3b157d7859f363fb2e831c5b366b315813f8a6b96ce5ed72a86566a7748"},{"byte_length":2646,"kind":"map","path":"maps/Collections/Tables.map.json","sha256":"7db826fb61f3eff1e8e843ecb5915325207efc1a0f566b351f45281939f9b198"},{"byte_length":20493,"kind":"tex","path":"modules/Collections/Main.tex","sha256":"5da0ed1c1437f937d741891494e5371b54a01d16295ce1d1405a87826d3d15fa"},{"byte_length":714,"kind":"tex","path":"modules/Collections/Measure.tex","sha256":"0ee1d42862fc24ddb8624de071a22a2f54712440d10275f524d18ff29d9dd4e6"},{"byte_length":2287,"kind":"tex","path":"modules/Collections/Tables.tex","sha256":"92a01628c5c75c23c0e57a062ae6c0043c3a876d2a0bd077eb7d965913eb6abf"}],"project":"collections","selection":["Main","Measure","Tables"],"semantic_id":"f3c0f49bf293302bde33c5b7cd2c6ac8fdb50c02d86efab47b8c2f8d44d8ba46","source_id":"492cca1b06ecec9538a8eed65c40e440b637f4ba10c26bbf7120f47eed20bb14","spec":"lexlean/build-manifest/1"} +{"build_id":"864d46fbbae26b3ac77aa80f7be70684091bb273e86cbdfffdb7f70d350c4165","compiler":{"semantics_id":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","version":"0.3.0"},"inputs":[{"byte_length":2684,"kind":"lexicon","path":"embedded","sha256":"3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b"},{"byte_length":14885,"kind":"lexicon","path":"embedded","sha256":"e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac"},{"byte_length":36197,"kind":"lexicon","path":"embedded","sha256":"827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392"},{"byte_length":1597,"kind":"lock","path":"lexlean.lock","sha256":"11970795926023f71fe7c7cbb2c28fbfad74cd7809aeaebbd017f4573564436d"},{"byte_length":644,"kind":"project-config","path":"lexlean.toml","sha256":"87b05dc405590c51e9a51ac60ef00f9096c4a38c29b9bab379a02d5c6a1cd744"},{"byte_length":18677,"kind":"source","path":"src/Main.lex.tex","sha256":"75d9370d719bc1634123f79db391070eda6061e88c461626129911161efa63a9"},{"byte_length":550,"kind":"source","path":"src/Measure.lex.tex","sha256":"227f5dad1ec06da3d2759ffa2ab2d4908aa5a02880ca0219bc46169089be9081"},{"byte_length":1620,"kind":"source","path":"src/Tables.lex.tex","sha256":"f5e7c1b714c8eee02fedacfb367c7e64dc01664eaa41fb48f4e42ae37aef43f0"}],"language":"1.2","lean_toolchain":"leanprover/lean4:v4.32.1","modules":[{"lean_module":"Collections.Main","module":"Main","source_path":"src/Main.lex.tex"},{"lean_module":"Collections.Measure","module":"Measure","source_path":"src/Measure.lex.tex"},{"lean_module":"Collections.Tables","module":"Tables","source_path":"src/Tables.lex.tex"}],"outputs":[{"byte_length":21846,"kind":"coverage","path":"coverage/Collections/Main.coverage.json","sha256":"be10513f257ec431bec3263ed332d7ff9781c9e345d8afd5d856d0be3bb2f4d6"},{"byte_length":7799,"kind":"coverage","path":"coverage/Collections/Measure.coverage.json","sha256":"6d77336208aa88befdcc66039951d5a307d68179653e5d5026df24ab1aa245ce"},{"byte_length":7956,"kind":"coverage","path":"coverage/Collections/Tables.coverage.json","sha256":"3fff848e16180ce1689e5bba8289953d21cb5e9e34ca8ee6c2266f678133c434"},{"byte_length":14135,"kind":"lean","path":"modules/Collections/Main.lean","sha256":"455526e5c3f8dc239041d1652cc455bfff6097b7f53396f9235f27c138d42318"},{"byte_length":569,"kind":"lean","path":"modules/Collections/Measure.lean","sha256":"7d5af864fa1a79d11b37dd77d3a3d330caf8ed8a76cab5049a5cb882d8c0abeb"},{"byte_length":1328,"kind":"lean","path":"modules/Collections/Tables.lean","sha256":"0b51fd70df2b936977dca55fca83a38aa0048197b139186bc14b5d49e6d394fd"},{"byte_length":10602,"kind":"lexicon-closure","path":"lexicons/Main.closure.json","sha256":"727110f90daff26a2e5eb8069fcefecd5790c1264f5d6d4b2ef57db1c2bfb867"},{"byte_length":10605,"kind":"lexicon-closure","path":"lexicons/Measure.closure.json","sha256":"624095a690526571fd42d5aa56a92d3fe7bc0953f3148c7535b69201e497e783"},{"byte_length":10604,"kind":"lexicon-closure","path":"lexicons/Tables.closure.json","sha256":"28c6adc505e1fcd48a5d3d5dda53c47f2ff7818607748bb77ffeb26a241c7b29"},{"byte_length":17922,"kind":"map","path":"maps/Collections/Main.map.json","sha256":"b94713d2f2a9bc70c3528240b3c4e7ed600c8bbb28461fae49c3b4ee12bc70a2"},{"byte_length":1667,"kind":"map","path":"maps/Collections/Measure.map.json","sha256":"6aed1a42326dd32a0e61c41dabf7c377a74aad0d774462c24091e551f2b5c88f"},{"byte_length":2627,"kind":"map","path":"maps/Collections/Tables.map.json","sha256":"d4bfbcd2b8c2491a19ba22139edf74bd99789a7642dd21a7e28c9b030717290c"},{"byte_length":20493,"kind":"tex","path":"modules/Collections/Main.tex","sha256":"5da0ed1c1437f937d741891494e5371b54a01d16295ce1d1405a87826d3d15fa"},{"byte_length":714,"kind":"tex","path":"modules/Collections/Measure.tex","sha256":"0ee1d42862fc24ddb8624de071a22a2f54712440d10275f524d18ff29d9dd4e6"},{"byte_length":2287,"kind":"tex","path":"modules/Collections/Tables.tex","sha256":"92a01628c5c75c23c0e57a062ae6c0043c3a876d2a0bd077eb7d965913eb6abf"}],"project":"collections","selection":["Main","Measure","Tables"],"semantic_id":"ea7d3fe6d34a1d041905f5846779737d105b82d3f8eec8dc2e42bb61ff98e783","source_id":"5529ff3bb1df4ae170a16930f8f5e44eb47d8a91595f0c590f02686cf9aaa96e","spec":"lexlean/build-manifest/1"} diff --git a/examples/collections/expected/build/maps/Collections/Main.map.json b/examples/collections/expected/build/maps/Collections/Main.map.json index 5bf4726b0..ca0ddf11f 100644 --- a/examples/collections/expected/build/maps/Collections/Main.map.json +++ b/examples/collections/expected/build/maps/Collections/Main.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/Collections/Main.lean"},{"id":1,"kind":"tex","path":"modules/Collections/Main.tex"}],"mappings":[{"artifact":0,"gen_end":21773,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":18677,"src_start":0},{"artifact":0,"gen_end":22668,"gen_start":21773,"node":1,"role":"declaration","source":0,"src_end":978,"src_start":158},{"artifact":0,"gen_end":22783,"gen_start":22668,"node":2,"role":"declaration","source":0,"src_end":1134,"src_start":980},{"artifact":0,"gen_end":22976,"gen_start":22783,"node":3,"role":"declaration","source":0,"src_end":1471,"src_start":1136},{"artifact":0,"gen_end":23167,"gen_start":22976,"node":4,"role":"declaration","source":0,"src_end":1730,"src_start":1473},{"artifact":0,"gen_end":23341,"gen_start":23167,"node":5,"role":"declaration","source":0,"src_end":2007,"src_start":1732},{"artifact":0,"gen_end":23469,"gen_start":23341,"node":6,"role":"declaration","source":0,"src_end":2249,"src_start":2009},{"artifact":0,"gen_end":23655,"gen_start":23469,"node":7,"role":"declaration","source":0,"src_end":2535,"src_start":2251},{"artifact":0,"gen_end":23815,"gen_start":23655,"node":8,"role":"declaration","source":0,"src_end":2783,"src_start":2537},{"artifact":0,"gen_end":23952,"gen_start":23815,"node":9,"role":"declaration","source":0,"src_end":2938,"src_start":2785},{"artifact":0,"gen_end":24117,"gen_start":23952,"node":10,"role":"declaration","source":0,"src_end":3245,"src_start":2940},{"artifact":0,"gen_end":24354,"gen_start":24117,"node":11,"role":"declaration","source":0,"src_end":3666,"src_start":3247},{"artifact":0,"gen_end":24590,"gen_start":24354,"node":12,"role":"declaration","source":0,"src_end":4074,"src_start":3668},{"artifact":0,"gen_end":24803,"gen_start":24590,"node":13,"role":"declaration","source":0,"src_end":4449,"src_start":4076},{"artifact":0,"gen_end":25033,"gen_start":24803,"node":14,"role":"declaration","source":0,"src_end":4853,"src_start":4451},{"artifact":0,"gen_end":25206,"gen_start":25033,"node":15,"role":"declaration","source":0,"src_end":5165,"src_start":4855},{"artifact":0,"gen_end":25382,"gen_start":25206,"node":16,"role":"declaration","source":0,"src_end":5482,"src_start":5167},{"artifact":0,"gen_end":25540,"gen_start":25382,"node":17,"role":"declaration","source":0,"src_end":5768,"src_start":5484},{"artifact":0,"gen_end":25680,"gen_start":25540,"node":18,"role":"declaration","source":0,"src_end":5987,"src_start":5770},{"artifact":0,"gen_end":25867,"gen_start":25680,"node":19,"role":"declaration","source":0,"src_end":6249,"src_start":5989},{"artifact":0,"gen_end":26048,"gen_start":25867,"node":20,"role":"declaration","source":0,"src_end":6505,"src_start":6251},{"artifact":0,"gen_end":26281,"gen_start":26048,"node":21,"role":"declaration","source":0,"src_end":6799,"src_start":6507},{"artifact":0,"gen_end":26575,"gen_start":26281,"node":22,"role":"declaration","source":0,"src_end":7157,"src_start":6801},{"artifact":0,"gen_end":26729,"gen_start":26575,"node":23,"role":"declaration","source":0,"src_end":7387,"src_start":7159},{"artifact":0,"gen_end":26877,"gen_start":26729,"node":24,"role":"declaration","source":0,"src_end":7611,"src_start":7389},{"artifact":0,"gen_end":27007,"gen_start":26877,"node":25,"role":"declaration","source":0,"src_end":7784,"src_start":7613},{"artifact":0,"gen_end":27120,"gen_start":27007,"node":26,"role":"declaration","source":0,"src_end":7942,"src_start":7786},{"artifact":0,"gen_end":27285,"gen_start":27120,"node":27,"role":"declaration","source":0,"src_end":8162,"src_start":7944},{"artifact":0,"gen_end":27460,"gen_start":27285,"node":28,"role":"declaration","source":0,"src_end":8447,"src_start":8164},{"artifact":0,"gen_end":27643,"gen_start":27460,"node":29,"role":"declaration","source":0,"src_end":8740,"src_start":8449},{"artifact":0,"gen_end":27816,"gen_start":27643,"node":30,"role":"declaration","source":0,"src_end":9023,"src_start":8742},{"artifact":0,"gen_end":28064,"gen_start":27816,"node":31,"role":"declaration","source":0,"src_end":9316,"src_start":9025},{"artifact":0,"gen_end":28328,"gen_start":28064,"node":32,"role":"declaration","source":0,"src_end":9589,"src_start":9318},{"artifact":0,"gen_end":28463,"gen_start":28328,"node":33,"role":"declaration","source":0,"src_end":9742,"src_start":9591},{"artifact":0,"gen_end":28704,"gen_start":28463,"node":34,"role":"declaration","source":0,"src_end":10010,"src_start":9744},{"artifact":0,"gen_end":28943,"gen_start":28704,"node":35,"role":"declaration","source":0,"src_end":10276,"src_start":10012},{"artifact":0,"gen_end":29156,"gen_start":28943,"node":36,"role":"declaration","source":0,"src_end":10650,"src_start":10278},{"artifact":0,"gen_end":29372,"gen_start":29156,"node":37,"role":"declaration","source":0,"src_end":11027,"src_start":10652},{"artifact":0,"gen_end":29583,"gen_start":29372,"node":38,"role":"declaration","source":0,"src_end":11420,"src_start":11029},{"artifact":0,"gen_end":29841,"gen_start":29583,"node":39,"role":"declaration","source":0,"src_end":11838,"src_start":11422},{"artifact":0,"gen_end":30159,"gen_start":29841,"node":40,"role":"declaration","source":0,"src_end":12225,"src_start":11840},{"artifact":0,"gen_end":30617,"gen_start":30159,"node":41,"role":"declaration","source":0,"src_end":12756,"src_start":12227},{"artifact":0,"gen_end":31067,"gen_start":30617,"node":42,"role":"declaration","source":0,"src_end":13277,"src_start":12758},{"artifact":0,"gen_end":31549,"gen_start":31067,"node":43,"role":"declaration","source":0,"src_end":13872,"src_start":13279},{"artifact":0,"gen_end":32055,"gen_start":31549,"node":44,"role":"declaration","source":0,"src_end":14491,"src_start":13874},{"artifact":0,"gen_end":32593,"gen_start":32055,"node":45,"role":"declaration","source":0,"src_end":15142,"src_start":14493},{"artifact":0,"gen_end":32995,"gen_start":32593,"node":46,"role":"declaration","source":0,"src_end":15611,"src_start":15144},{"artifact":0,"gen_end":33417,"gen_start":32995,"node":47,"role":"declaration","source":0,"src_end":16100,"src_start":15613},{"artifact":0,"gen_end":33853,"gen_start":33417,"node":48,"role":"declaration","source":0,"src_end":16603,"src_start":16102},{"artifact":0,"gen_end":34305,"gen_start":33853,"node":49,"role":"declaration","source":0,"src_end":17122,"src_start":16605},{"artifact":0,"gen_end":34607,"gen_start":34305,"node":50,"role":"declaration","source":0,"src_end":17508,"src_start":17124},{"artifact":0,"gen_end":35055,"gen_start":34607,"node":51,"role":"declaration","source":0,"src_end":18086,"src_start":17510},{"artifact":0,"gen_end":35541,"gen_start":35055,"node":52,"role":"declaration","source":0,"src_end":18641,"src_start":18088},{"artifact":0,"gen_end":35563,"gen_start":35541,"node":0,"role":"declaration","source":0,"src_end":18677,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":53,"role":"declaration","source":0,"src_end":18677,"src_start":0},{"artifact":1,"gen_end":1512,"gen_start":134,"node":54,"role":"declaration","source":0,"src_end":978,"src_start":158},{"artifact":1,"gen_end":1772,"gen_start":1512,"node":55,"role":"declaration","source":0,"src_end":1134,"src_start":980},{"artifact":1,"gen_end":2113,"gen_start":1772,"node":56,"role":"declaration","source":0,"src_end":1471,"src_start":1136},{"artifact":1,"gen_end":2452,"gen_start":2113,"node":57,"role":"declaration","source":0,"src_end":1730,"src_start":1473},{"artifact":1,"gen_end":2774,"gen_start":2452,"node":58,"role":"declaration","source":0,"src_end":2007,"src_start":1732},{"artifact":1,"gen_end":3051,"gen_start":2774,"node":59,"role":"declaration","source":0,"src_end":2249,"src_start":2009},{"artifact":1,"gen_end":3346,"gen_start":3051,"node":60,"role":"declaration","source":0,"src_end":2535,"src_start":2251},{"artifact":1,"gen_end":3624,"gen_start":3346,"node":61,"role":"declaration","source":0,"src_end":2783,"src_start":2537},{"artifact":1,"gen_end":3868,"gen_start":3624,"node":62,"role":"declaration","source":0,"src_end":2938,"src_start":2785},{"artifact":1,"gen_end":4144,"gen_start":3868,"node":63,"role":"declaration","source":0,"src_end":3245,"src_start":2940},{"artifact":1,"gen_end":4522,"gen_start":4144,"node":64,"role":"declaration","source":0,"src_end":3666,"src_start":3247},{"artifact":1,"gen_end":4900,"gen_start":4522,"node":65,"role":"declaration","source":0,"src_end":4074,"src_start":3668},{"artifact":1,"gen_end":5254,"gen_start":4900,"node":66,"role":"declaration","source":0,"src_end":4449,"src_start":4076},{"artifact":1,"gen_end":5626,"gen_start":5254,"node":67,"role":"declaration","source":0,"src_end":4853,"src_start":4451},{"artifact":1,"gen_end":5948,"gen_start":5626,"node":68,"role":"declaration","source":0,"src_end":5165,"src_start":4855},{"artifact":1,"gen_end":6274,"gen_start":5948,"node":69,"role":"declaration","source":0,"src_end":5482,"src_start":5167},{"artifact":1,"gen_end":6581,"gen_start":6274,"node":70,"role":"declaration","source":0,"src_end":5768,"src_start":5484},{"artifact":1,"gen_end":6829,"gen_start":6581,"node":71,"role":"declaration","source":0,"src_end":5987,"src_start":5770},{"artifact":1,"gen_end":7124,"gen_start":6829,"node":72,"role":"declaration","source":0,"src_end":6249,"src_start":5989},{"artifact":1,"gen_end":7413,"gen_start":7124,"node":73,"role":"declaration","source":0,"src_end":6505,"src_start":6251},{"artifact":1,"gen_end":7754,"gen_start":7413,"node":74,"role":"declaration","source":0,"src_end":6799,"src_start":6507},{"artifact":1,"gen_end":8157,"gen_start":7754,"node":75,"role":"declaration","source":0,"src_end":7157,"src_start":6801},{"artifact":1,"gen_end":8418,"gen_start":8157,"node":76,"role":"declaration","source":0,"src_end":7387,"src_start":7159},{"artifact":1,"gen_end":8673,"gen_start":8418,"node":77,"role":"declaration","source":0,"src_end":7611,"src_start":7389},{"artifact":1,"gen_end":8911,"gen_start":8673,"node":78,"role":"declaration","source":0,"src_end":7784,"src_start":7613},{"artifact":1,"gen_end":9132,"gen_start":8911,"node":79,"role":"declaration","source":0,"src_end":7942,"src_start":7786},{"artifact":1,"gen_end":9405,"gen_start":9132,"node":80,"role":"declaration","source":0,"src_end":8162,"src_start":7944},{"artifact":1,"gen_end":9687,"gen_start":9405,"node":81,"role":"declaration","source":0,"src_end":8447,"src_start":8164},{"artifact":1,"gen_end":9977,"gen_start":9687,"node":82,"role":"declaration","source":0,"src_end":8740,"src_start":8449},{"artifact":1,"gen_end":10257,"gen_start":9977,"node":83,"role":"declaration","source":0,"src_end":9023,"src_start":8742},{"artifact":1,"gen_end":10613,"gen_start":10257,"node":84,"role":"declaration","source":0,"src_end":9316,"src_start":9025},{"artifact":1,"gen_end":10985,"gen_start":10613,"node":85,"role":"declaration","source":0,"src_end":9589,"src_start":9318},{"artifact":1,"gen_end":11228,"gen_start":10985,"node":86,"role":"declaration","source":0,"src_end":9742,"src_start":9591},{"artifact":1,"gen_end":11579,"gen_start":11228,"node":87,"role":"declaration","source":0,"src_end":10010,"src_start":9744},{"artifact":1,"gen_end":11927,"gen_start":11579,"node":88,"role":"declaration","source":0,"src_end":10276,"src_start":10012},{"artifact":1,"gen_end":12247,"gen_start":11927,"node":89,"role":"declaration","source":0,"src_end":10650,"src_start":10278},{"artifact":1,"gen_end":12571,"gen_start":12247,"node":90,"role":"declaration","source":0,"src_end":11027,"src_start":10652},{"artifact":1,"gen_end":12900,"gen_start":12571,"node":91,"role":"declaration","source":0,"src_end":11420,"src_start":11029},{"artifact":1,"gen_end":13266,"gen_start":12900,"node":92,"role":"declaration","source":0,"src_end":11838,"src_start":11422},{"artifact":1,"gen_end":13689,"gen_start":13266,"node":93,"role":"declaration","source":0,"src_end":12225,"src_start":11840},{"artifact":1,"gen_end":14252,"gen_start":13689,"node":94,"role":"declaration","source":0,"src_end":12756,"src_start":12227},{"artifact":1,"gen_end":14807,"gen_start":14252,"node":95,"role":"declaration","source":0,"src_end":13277,"src_start":12758},{"artifact":1,"gen_end":15394,"gen_start":14807,"node":96,"role":"declaration","source":0,"src_end":13872,"src_start":13279},{"artifact":1,"gen_end":16005,"gen_start":15394,"node":97,"role":"declaration","source":0,"src_end":14491,"src_start":13874},{"artifact":1,"gen_end":16648,"gen_start":16005,"node":98,"role":"declaration","source":0,"src_end":15142,"src_start":14493},{"artifact":1,"gen_end":17155,"gen_start":16648,"node":99,"role":"declaration","source":0,"src_end":15611,"src_start":15144},{"artifact":1,"gen_end":17682,"gen_start":17155,"node":100,"role":"declaration","source":0,"src_end":16100,"src_start":15613},{"artifact":1,"gen_end":18223,"gen_start":17682,"node":101,"role":"declaration","source":0,"src_end":16603,"src_start":16102},{"artifact":1,"gen_end":18780,"gen_start":18223,"node":102,"role":"declaration","source":0,"src_end":17122,"src_start":16605},{"artifact":1,"gen_end":19198,"gen_start":18780,"node":103,"role":"declaration","source":0,"src_end":17508,"src_start":17124},{"artifact":1,"gen_end":19846,"gen_start":19198,"node":104,"role":"declaration","source":0,"src_end":18086,"src_start":17510},{"artifact":1,"gen_end":20478,"gen_start":19846,"node":105,"role":"declaration","source":0,"src_end":18641,"src_start":18088},{"artifact":1,"gen_end":20493,"gen_start":20478,"node":53,"role":"declaration","source":0,"src_end":18677,"src_start":0}],"module":"Main","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-latex-module"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"},{"id":80,"kind":"semantic-declaration"},{"id":81,"kind":"semantic-declaration"},{"id":82,"kind":"semantic-declaration"},{"id":83,"kind":"semantic-declaration"},{"id":84,"kind":"semantic-declaration"},{"id":85,"kind":"semantic-declaration"},{"id":86,"kind":"semantic-declaration"},{"id":87,"kind":"semantic-declaration"},{"id":88,"kind":"semantic-declaration"},{"id":89,"kind":"semantic-declaration"},{"id":90,"kind":"semantic-declaration"},{"id":91,"kind":"semantic-declaration"},{"id":92,"kind":"semantic-declaration"},{"id":93,"kind":"semantic-declaration"},{"id":94,"kind":"semantic-declaration"},{"id":95,"kind":"semantic-declaration"},{"id":96,"kind":"semantic-declaration"},{"id":97,"kind":"semantic-declaration"},{"id":98,"kind":"semantic-declaration"},{"id":99,"kind":"semantic-declaration"},{"id":100,"kind":"semantic-declaration"},{"id":101,"kind":"semantic-declaration"},{"id":102,"kind":"semantic-declaration"},{"id":103,"kind":"semantic-declaration"},{"id":104,"kind":"semantic-declaration"},{"id":105,"kind":"semantic-declaration"}],"semantic_id":"f3c0f49bf293302bde33c5b7cd2c6ac8fdb50c02d86efab47b8c2f8d44d8ba46","source_id":"492cca1b06ecec9538a8eed65c40e440b637f4ba10c26bbf7120f47eed20bb14","sources":[{"id":0,"kind":"file","path":"src/Main.lex.tex","sha256":"75d9370d719bc1634123f79db391070eda6061e88c461626129911161efa63a9"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Collections/Main.lean"},{"id":1,"kind":"tex","path":"modules/Collections/Main.tex"}],"mappings":[{"artifact":0,"gen_end":345,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":18677,"src_start":0},{"artifact":0,"gen_end":1240,"gen_start":345,"node":1,"role":"declaration","source":0,"src_end":978,"src_start":158},{"artifact":0,"gen_end":1355,"gen_start":1240,"node":2,"role":"declaration","source":0,"src_end":1134,"src_start":980},{"artifact":0,"gen_end":1548,"gen_start":1355,"node":3,"role":"declaration","source":0,"src_end":1471,"src_start":1136},{"artifact":0,"gen_end":1739,"gen_start":1548,"node":4,"role":"declaration","source":0,"src_end":1730,"src_start":1473},{"artifact":0,"gen_end":1913,"gen_start":1739,"node":5,"role":"declaration","source":0,"src_end":2007,"src_start":1732},{"artifact":0,"gen_end":2041,"gen_start":1913,"node":6,"role":"declaration","source":0,"src_end":2249,"src_start":2009},{"artifact":0,"gen_end":2227,"gen_start":2041,"node":7,"role":"declaration","source":0,"src_end":2535,"src_start":2251},{"artifact":0,"gen_end":2387,"gen_start":2227,"node":8,"role":"declaration","source":0,"src_end":2783,"src_start":2537},{"artifact":0,"gen_end":2524,"gen_start":2387,"node":9,"role":"declaration","source":0,"src_end":2938,"src_start":2785},{"artifact":0,"gen_end":2689,"gen_start":2524,"node":10,"role":"declaration","source":0,"src_end":3245,"src_start":2940},{"artifact":0,"gen_end":2926,"gen_start":2689,"node":11,"role":"declaration","source":0,"src_end":3666,"src_start":3247},{"artifact":0,"gen_end":3162,"gen_start":2926,"node":12,"role":"declaration","source":0,"src_end":4074,"src_start":3668},{"artifact":0,"gen_end":3375,"gen_start":3162,"node":13,"role":"declaration","source":0,"src_end":4449,"src_start":4076},{"artifact":0,"gen_end":3605,"gen_start":3375,"node":14,"role":"declaration","source":0,"src_end":4853,"src_start":4451},{"artifact":0,"gen_end":3778,"gen_start":3605,"node":15,"role":"declaration","source":0,"src_end":5165,"src_start":4855},{"artifact":0,"gen_end":3954,"gen_start":3778,"node":16,"role":"declaration","source":0,"src_end":5482,"src_start":5167},{"artifact":0,"gen_end":4112,"gen_start":3954,"node":17,"role":"declaration","source":0,"src_end":5768,"src_start":5484},{"artifact":0,"gen_end":4252,"gen_start":4112,"node":18,"role":"declaration","source":0,"src_end":5987,"src_start":5770},{"artifact":0,"gen_end":4439,"gen_start":4252,"node":19,"role":"declaration","source":0,"src_end":6249,"src_start":5989},{"artifact":0,"gen_end":4620,"gen_start":4439,"node":20,"role":"declaration","source":0,"src_end":6505,"src_start":6251},{"artifact":0,"gen_end":4853,"gen_start":4620,"node":21,"role":"declaration","source":0,"src_end":6799,"src_start":6507},{"artifact":0,"gen_end":5147,"gen_start":4853,"node":22,"role":"declaration","source":0,"src_end":7157,"src_start":6801},{"artifact":0,"gen_end":5301,"gen_start":5147,"node":23,"role":"declaration","source":0,"src_end":7387,"src_start":7159},{"artifact":0,"gen_end":5449,"gen_start":5301,"node":24,"role":"declaration","source":0,"src_end":7611,"src_start":7389},{"artifact":0,"gen_end":5579,"gen_start":5449,"node":25,"role":"declaration","source":0,"src_end":7784,"src_start":7613},{"artifact":0,"gen_end":5692,"gen_start":5579,"node":26,"role":"declaration","source":0,"src_end":7942,"src_start":7786},{"artifact":0,"gen_end":5857,"gen_start":5692,"node":27,"role":"declaration","source":0,"src_end":8162,"src_start":7944},{"artifact":0,"gen_end":6032,"gen_start":5857,"node":28,"role":"declaration","source":0,"src_end":8447,"src_start":8164},{"artifact":0,"gen_end":6215,"gen_start":6032,"node":29,"role":"declaration","source":0,"src_end":8740,"src_start":8449},{"artifact":0,"gen_end":6388,"gen_start":6215,"node":30,"role":"declaration","source":0,"src_end":9023,"src_start":8742},{"artifact":0,"gen_end":6636,"gen_start":6388,"node":31,"role":"declaration","source":0,"src_end":9316,"src_start":9025},{"artifact":0,"gen_end":6900,"gen_start":6636,"node":32,"role":"declaration","source":0,"src_end":9589,"src_start":9318},{"artifact":0,"gen_end":7035,"gen_start":6900,"node":33,"role":"declaration","source":0,"src_end":9742,"src_start":9591},{"artifact":0,"gen_end":7276,"gen_start":7035,"node":34,"role":"declaration","source":0,"src_end":10010,"src_start":9744},{"artifact":0,"gen_end":7515,"gen_start":7276,"node":35,"role":"declaration","source":0,"src_end":10276,"src_start":10012},{"artifact":0,"gen_end":7728,"gen_start":7515,"node":36,"role":"declaration","source":0,"src_end":10650,"src_start":10278},{"artifact":0,"gen_end":7944,"gen_start":7728,"node":37,"role":"declaration","source":0,"src_end":11027,"src_start":10652},{"artifact":0,"gen_end":8155,"gen_start":7944,"node":38,"role":"declaration","source":0,"src_end":11420,"src_start":11029},{"artifact":0,"gen_end":8413,"gen_start":8155,"node":39,"role":"declaration","source":0,"src_end":11838,"src_start":11422},{"artifact":0,"gen_end":8731,"gen_start":8413,"node":40,"role":"declaration","source":0,"src_end":12225,"src_start":11840},{"artifact":0,"gen_end":9189,"gen_start":8731,"node":41,"role":"declaration","source":0,"src_end":12756,"src_start":12227},{"artifact":0,"gen_end":9639,"gen_start":9189,"node":42,"role":"declaration","source":0,"src_end":13277,"src_start":12758},{"artifact":0,"gen_end":10121,"gen_start":9639,"node":43,"role":"declaration","source":0,"src_end":13872,"src_start":13279},{"artifact":0,"gen_end":10627,"gen_start":10121,"node":44,"role":"declaration","source":0,"src_end":14491,"src_start":13874},{"artifact":0,"gen_end":11165,"gen_start":10627,"node":45,"role":"declaration","source":0,"src_end":15142,"src_start":14493},{"artifact":0,"gen_end":11567,"gen_start":11165,"node":46,"role":"declaration","source":0,"src_end":15611,"src_start":15144},{"artifact":0,"gen_end":11989,"gen_start":11567,"node":47,"role":"declaration","source":0,"src_end":16100,"src_start":15613},{"artifact":0,"gen_end":12425,"gen_start":11989,"node":48,"role":"declaration","source":0,"src_end":16603,"src_start":16102},{"artifact":0,"gen_end":12877,"gen_start":12425,"node":49,"role":"declaration","source":0,"src_end":17122,"src_start":16605},{"artifact":0,"gen_end":13179,"gen_start":12877,"node":50,"role":"declaration","source":0,"src_end":17508,"src_start":17124},{"artifact":0,"gen_end":13627,"gen_start":13179,"node":51,"role":"declaration","source":0,"src_end":18086,"src_start":17510},{"artifact":0,"gen_end":14113,"gen_start":13627,"node":52,"role":"declaration","source":0,"src_end":18641,"src_start":18088},{"artifact":0,"gen_end":14135,"gen_start":14113,"node":0,"role":"declaration","source":0,"src_end":18677,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":53,"role":"declaration","source":0,"src_end":18677,"src_start":0},{"artifact":1,"gen_end":1512,"gen_start":134,"node":54,"role":"declaration","source":0,"src_end":978,"src_start":158},{"artifact":1,"gen_end":1772,"gen_start":1512,"node":55,"role":"declaration","source":0,"src_end":1134,"src_start":980},{"artifact":1,"gen_end":2113,"gen_start":1772,"node":56,"role":"declaration","source":0,"src_end":1471,"src_start":1136},{"artifact":1,"gen_end":2452,"gen_start":2113,"node":57,"role":"declaration","source":0,"src_end":1730,"src_start":1473},{"artifact":1,"gen_end":2774,"gen_start":2452,"node":58,"role":"declaration","source":0,"src_end":2007,"src_start":1732},{"artifact":1,"gen_end":3051,"gen_start":2774,"node":59,"role":"declaration","source":0,"src_end":2249,"src_start":2009},{"artifact":1,"gen_end":3346,"gen_start":3051,"node":60,"role":"declaration","source":0,"src_end":2535,"src_start":2251},{"artifact":1,"gen_end":3624,"gen_start":3346,"node":61,"role":"declaration","source":0,"src_end":2783,"src_start":2537},{"artifact":1,"gen_end":3868,"gen_start":3624,"node":62,"role":"declaration","source":0,"src_end":2938,"src_start":2785},{"artifact":1,"gen_end":4144,"gen_start":3868,"node":63,"role":"declaration","source":0,"src_end":3245,"src_start":2940},{"artifact":1,"gen_end":4522,"gen_start":4144,"node":64,"role":"declaration","source":0,"src_end":3666,"src_start":3247},{"artifact":1,"gen_end":4900,"gen_start":4522,"node":65,"role":"declaration","source":0,"src_end":4074,"src_start":3668},{"artifact":1,"gen_end":5254,"gen_start":4900,"node":66,"role":"declaration","source":0,"src_end":4449,"src_start":4076},{"artifact":1,"gen_end":5626,"gen_start":5254,"node":67,"role":"declaration","source":0,"src_end":4853,"src_start":4451},{"artifact":1,"gen_end":5948,"gen_start":5626,"node":68,"role":"declaration","source":0,"src_end":5165,"src_start":4855},{"artifact":1,"gen_end":6274,"gen_start":5948,"node":69,"role":"declaration","source":0,"src_end":5482,"src_start":5167},{"artifact":1,"gen_end":6581,"gen_start":6274,"node":70,"role":"declaration","source":0,"src_end":5768,"src_start":5484},{"artifact":1,"gen_end":6829,"gen_start":6581,"node":71,"role":"declaration","source":0,"src_end":5987,"src_start":5770},{"artifact":1,"gen_end":7124,"gen_start":6829,"node":72,"role":"declaration","source":0,"src_end":6249,"src_start":5989},{"artifact":1,"gen_end":7413,"gen_start":7124,"node":73,"role":"declaration","source":0,"src_end":6505,"src_start":6251},{"artifact":1,"gen_end":7754,"gen_start":7413,"node":74,"role":"declaration","source":0,"src_end":6799,"src_start":6507},{"artifact":1,"gen_end":8157,"gen_start":7754,"node":75,"role":"declaration","source":0,"src_end":7157,"src_start":6801},{"artifact":1,"gen_end":8418,"gen_start":8157,"node":76,"role":"declaration","source":0,"src_end":7387,"src_start":7159},{"artifact":1,"gen_end":8673,"gen_start":8418,"node":77,"role":"declaration","source":0,"src_end":7611,"src_start":7389},{"artifact":1,"gen_end":8911,"gen_start":8673,"node":78,"role":"declaration","source":0,"src_end":7784,"src_start":7613},{"artifact":1,"gen_end":9132,"gen_start":8911,"node":79,"role":"declaration","source":0,"src_end":7942,"src_start":7786},{"artifact":1,"gen_end":9405,"gen_start":9132,"node":80,"role":"declaration","source":0,"src_end":8162,"src_start":7944},{"artifact":1,"gen_end":9687,"gen_start":9405,"node":81,"role":"declaration","source":0,"src_end":8447,"src_start":8164},{"artifact":1,"gen_end":9977,"gen_start":9687,"node":82,"role":"declaration","source":0,"src_end":8740,"src_start":8449},{"artifact":1,"gen_end":10257,"gen_start":9977,"node":83,"role":"declaration","source":0,"src_end":9023,"src_start":8742},{"artifact":1,"gen_end":10613,"gen_start":10257,"node":84,"role":"declaration","source":0,"src_end":9316,"src_start":9025},{"artifact":1,"gen_end":10985,"gen_start":10613,"node":85,"role":"declaration","source":0,"src_end":9589,"src_start":9318},{"artifact":1,"gen_end":11228,"gen_start":10985,"node":86,"role":"declaration","source":0,"src_end":9742,"src_start":9591},{"artifact":1,"gen_end":11579,"gen_start":11228,"node":87,"role":"declaration","source":0,"src_end":10010,"src_start":9744},{"artifact":1,"gen_end":11927,"gen_start":11579,"node":88,"role":"declaration","source":0,"src_end":10276,"src_start":10012},{"artifact":1,"gen_end":12247,"gen_start":11927,"node":89,"role":"declaration","source":0,"src_end":10650,"src_start":10278},{"artifact":1,"gen_end":12571,"gen_start":12247,"node":90,"role":"declaration","source":0,"src_end":11027,"src_start":10652},{"artifact":1,"gen_end":12900,"gen_start":12571,"node":91,"role":"declaration","source":0,"src_end":11420,"src_start":11029},{"artifact":1,"gen_end":13266,"gen_start":12900,"node":92,"role":"declaration","source":0,"src_end":11838,"src_start":11422},{"artifact":1,"gen_end":13689,"gen_start":13266,"node":93,"role":"declaration","source":0,"src_end":12225,"src_start":11840},{"artifact":1,"gen_end":14252,"gen_start":13689,"node":94,"role":"declaration","source":0,"src_end":12756,"src_start":12227},{"artifact":1,"gen_end":14807,"gen_start":14252,"node":95,"role":"declaration","source":0,"src_end":13277,"src_start":12758},{"artifact":1,"gen_end":15394,"gen_start":14807,"node":96,"role":"declaration","source":0,"src_end":13872,"src_start":13279},{"artifact":1,"gen_end":16005,"gen_start":15394,"node":97,"role":"declaration","source":0,"src_end":14491,"src_start":13874},{"artifact":1,"gen_end":16648,"gen_start":16005,"node":98,"role":"declaration","source":0,"src_end":15142,"src_start":14493},{"artifact":1,"gen_end":17155,"gen_start":16648,"node":99,"role":"declaration","source":0,"src_end":15611,"src_start":15144},{"artifact":1,"gen_end":17682,"gen_start":17155,"node":100,"role":"declaration","source":0,"src_end":16100,"src_start":15613},{"artifact":1,"gen_end":18223,"gen_start":17682,"node":101,"role":"declaration","source":0,"src_end":16603,"src_start":16102},{"artifact":1,"gen_end":18780,"gen_start":18223,"node":102,"role":"declaration","source":0,"src_end":17122,"src_start":16605},{"artifact":1,"gen_end":19198,"gen_start":18780,"node":103,"role":"declaration","source":0,"src_end":17508,"src_start":17124},{"artifact":1,"gen_end":19846,"gen_start":19198,"node":104,"role":"declaration","source":0,"src_end":18086,"src_start":17510},{"artifact":1,"gen_end":20478,"gen_start":19846,"node":105,"role":"declaration","source":0,"src_end":18641,"src_start":18088},{"artifact":1,"gen_end":20493,"gen_start":20478,"node":53,"role":"declaration","source":0,"src_end":18677,"src_start":0}],"module":"Main","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-latex-module"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"},{"id":80,"kind":"semantic-declaration"},{"id":81,"kind":"semantic-declaration"},{"id":82,"kind":"semantic-declaration"},{"id":83,"kind":"semantic-declaration"},{"id":84,"kind":"semantic-declaration"},{"id":85,"kind":"semantic-declaration"},{"id":86,"kind":"semantic-declaration"},{"id":87,"kind":"semantic-declaration"},{"id":88,"kind":"semantic-declaration"},{"id":89,"kind":"semantic-declaration"},{"id":90,"kind":"semantic-declaration"},{"id":91,"kind":"semantic-declaration"},{"id":92,"kind":"semantic-declaration"},{"id":93,"kind":"semantic-declaration"},{"id":94,"kind":"semantic-declaration"},{"id":95,"kind":"semantic-declaration"},{"id":96,"kind":"semantic-declaration"},{"id":97,"kind":"semantic-declaration"},{"id":98,"kind":"semantic-declaration"},{"id":99,"kind":"semantic-declaration"},{"id":100,"kind":"semantic-declaration"},{"id":101,"kind":"semantic-declaration"},{"id":102,"kind":"semantic-declaration"},{"id":103,"kind":"semantic-declaration"},{"id":104,"kind":"semantic-declaration"},{"id":105,"kind":"semantic-declaration"}],"semantic_id":"ea7d3fe6d34a1d041905f5846779737d105b82d3f8eec8dc2e42bb61ff98e783","source_id":"5529ff3bb1df4ae170a16930f8f5e44eb47d8a91595f0c590f02686cf9aaa96e","sources":[{"id":0,"kind":"file","path":"src/Main.lex.tex","sha256":"75d9370d719bc1634123f79db391070eda6061e88c461626129911161efa63a9"}],"spec":"lexlean/source-map/1"} diff --git a/examples/collections/expected/build/maps/Collections/Measure.map.json b/examples/collections/expected/build/maps/Collections/Measure.map.json index 8629494f4..d3b5db94c 100644 --- a/examples/collections/expected/build/maps/Collections/Measure.map.json +++ b/examples/collections/expected/build/maps/Collections/Measure.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/Collections/Measure.lean"},{"id":1,"kind":"tex","path":"modules/Collections/Measure.tex"}],"mappings":[{"artifact":0,"gen_end":21742,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":550,"src_start":0},{"artifact":0,"gen_end":21904,"gen_start":21742,"node":1,"role":"declaration","source":0,"src_end":355,"src_start":138},{"artifact":0,"gen_end":21972,"gen_start":21904,"node":2,"role":"declaration","source":0,"src_end":514,"src_start":357},{"artifact":0,"gen_end":21997,"gen_start":21972,"node":0,"role":"declaration","source":0,"src_end":550,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":3,"role":"declaration","source":0,"src_end":550,"src_start":0},{"artifact":1,"gen_end":483,"gen_start":134,"node":4,"role":"declaration","source":0,"src_end":355,"src_start":138},{"artifact":1,"gen_end":699,"gen_start":483,"node":5,"role":"declaration","source":0,"src_end":514,"src_start":357},{"artifact":1,"gen_end":714,"gen_start":699,"node":3,"role":"declaration","source":0,"src_end":550,"src_start":0}],"module":"Measure","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-latex-module"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"}],"semantic_id":"f3c0f49bf293302bde33c5b7cd2c6ac8fdb50c02d86efab47b8c2f8d44d8ba46","source_id":"492cca1b06ecec9538a8eed65c40e440b637f4ba10c26bbf7120f47eed20bb14","sources":[{"id":0,"kind":"file","path":"src/Measure.lex.tex","sha256":"227f5dad1ec06da3d2759ffa2ab2d4908aa5a02880ca0219bc46169089be9081"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Collections/Measure.lean"},{"id":1,"kind":"tex","path":"modules/Collections/Measure.tex"}],"mappings":[{"artifact":0,"gen_end":314,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":550,"src_start":0},{"artifact":0,"gen_end":476,"gen_start":314,"node":1,"role":"declaration","source":0,"src_end":355,"src_start":138},{"artifact":0,"gen_end":544,"gen_start":476,"node":2,"role":"declaration","source":0,"src_end":514,"src_start":357},{"artifact":0,"gen_end":569,"gen_start":544,"node":0,"role":"declaration","source":0,"src_end":550,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":3,"role":"declaration","source":0,"src_end":550,"src_start":0},{"artifact":1,"gen_end":483,"gen_start":134,"node":4,"role":"declaration","source":0,"src_end":355,"src_start":138},{"artifact":1,"gen_end":699,"gen_start":483,"node":5,"role":"declaration","source":0,"src_end":514,"src_start":357},{"artifact":1,"gen_end":714,"gen_start":699,"node":3,"role":"declaration","source":0,"src_end":550,"src_start":0}],"module":"Measure","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-latex-module"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"}],"semantic_id":"ea7d3fe6d34a1d041905f5846779737d105b82d3f8eec8dc2e42bb61ff98e783","source_id":"5529ff3bb1df4ae170a16930f8f5e44eb47d8a91595f0c590f02686cf9aaa96e","sources":[{"id":0,"kind":"file","path":"src/Measure.lex.tex","sha256":"227f5dad1ec06da3d2759ffa2ab2d4908aa5a02880ca0219bc46169089be9081"}],"spec":"lexlean/source-map/1"} diff --git a/examples/collections/expected/build/maps/Collections/Tables.map.json b/examples/collections/expected/build/maps/Collections/Tables.map.json index d51bdefa1..f2a473f50 100644 --- a/examples/collections/expected/build/maps/Collections/Tables.map.json +++ b/examples/collections/expected/build/maps/Collections/Tables.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/Collections/Tables.lean"},{"id":1,"kind":"tex","path":"modules/Collections/Tables.tex"}],"mappings":[{"artifact":0,"gen_end":21708,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":1620,"src_start":0},{"artifact":0,"gen_end":21918,"gen_start":21708,"node":1,"role":"declaration","source":0,"src_end":374,"src_start":115},{"artifact":0,"gen_end":22242,"gen_start":21918,"node":2,"role":"declaration","source":0,"src_end":764,"src_start":376},{"artifact":0,"gen_end":22463,"gen_start":22242,"node":3,"role":"declaration","source":0,"src_end":1175,"src_start":766},{"artifact":0,"gen_end":22598,"gen_start":22463,"node":4,"role":"declaration","source":0,"src_end":1382,"src_start":1177},{"artifact":0,"gen_end":22732,"gen_start":22598,"node":5,"role":"declaration","source":0,"src_end":1584,"src_start":1384},{"artifact":0,"gen_end":22756,"gen_start":22732,"node":0,"role":"declaration","source":0,"src_end":1620,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":6,"role":"declaration","source":0,"src_end":1620,"src_start":0},{"artifact":1,"gen_end":608,"gen_start":134,"node":7,"role":"declaration","source":0,"src_end":374,"src_start":115},{"artifact":1,"gen_end":1273,"gen_start":608,"node":8,"role":"declaration","source":0,"src_end":764,"src_start":376},{"artifact":1,"gen_end":1631,"gen_start":1273,"node":9,"role":"declaration","source":0,"src_end":1175,"src_start":766},{"artifact":1,"gen_end":1953,"gen_start":1631,"node":10,"role":"declaration","source":0,"src_end":1382,"src_start":1177},{"artifact":1,"gen_end":2272,"gen_start":1953,"node":11,"role":"declaration","source":0,"src_end":1584,"src_start":1384},{"artifact":1,"gen_end":2287,"gen_start":2272,"node":6,"role":"declaration","source":0,"src_end":1620,"src_start":0}],"module":"Tables","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-latex-module"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"}],"semantic_id":"f3c0f49bf293302bde33c5b7cd2c6ac8fdb50c02d86efab47b8c2f8d44d8ba46","source_id":"492cca1b06ecec9538a8eed65c40e440b637f4ba10c26bbf7120f47eed20bb14","sources":[{"id":0,"kind":"file","path":"src/Tables.lex.tex","sha256":"f5e7c1b714c8eee02fedacfb367c7e64dc01664eaa41fb48f4e42ae37aef43f0"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Collections/Tables.lean"},{"id":1,"kind":"tex","path":"modules/Collections/Tables.tex"}],"mappings":[{"artifact":0,"gen_end":280,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":1620,"src_start":0},{"artifact":0,"gen_end":490,"gen_start":280,"node":1,"role":"declaration","source":0,"src_end":374,"src_start":115},{"artifact":0,"gen_end":814,"gen_start":490,"node":2,"role":"declaration","source":0,"src_end":764,"src_start":376},{"artifact":0,"gen_end":1035,"gen_start":814,"node":3,"role":"declaration","source":0,"src_end":1175,"src_start":766},{"artifact":0,"gen_end":1170,"gen_start":1035,"node":4,"role":"declaration","source":0,"src_end":1382,"src_start":1177},{"artifact":0,"gen_end":1304,"gen_start":1170,"node":5,"role":"declaration","source":0,"src_end":1584,"src_start":1384},{"artifact":0,"gen_end":1328,"gen_start":1304,"node":0,"role":"declaration","source":0,"src_end":1620,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":6,"role":"declaration","source":0,"src_end":1620,"src_start":0},{"artifact":1,"gen_end":608,"gen_start":134,"node":7,"role":"declaration","source":0,"src_end":374,"src_start":115},{"artifact":1,"gen_end":1273,"gen_start":608,"node":8,"role":"declaration","source":0,"src_end":764,"src_start":376},{"artifact":1,"gen_end":1631,"gen_start":1273,"node":9,"role":"declaration","source":0,"src_end":1175,"src_start":766},{"artifact":1,"gen_end":1953,"gen_start":1631,"node":10,"role":"declaration","source":0,"src_end":1382,"src_start":1177},{"artifact":1,"gen_end":2272,"gen_start":1953,"node":11,"role":"declaration","source":0,"src_end":1584,"src_start":1384},{"artifact":1,"gen_end":2287,"gen_start":2272,"node":6,"role":"declaration","source":0,"src_end":1620,"src_start":0}],"module":"Tables","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-latex-module"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"}],"semantic_id":"ea7d3fe6d34a1d041905f5846779737d105b82d3f8eec8dc2e42bb61ff98e783","source_id":"5529ff3bb1df4ae170a16930f8f5e44eb47d8a91595f0c590f02686cf9aaa96e","sources":[{"id":0,"kind":"file","path":"src/Tables.lex.tex","sha256":"f5e7c1b714c8eee02fedacfb367c7e64dc01664eaa41fb48f4e42ae37aef43f0"}],"spec":"lexlean/source-map/1"} diff --git a/examples/collections/expected/build/modules/Collections/Main.lean b/examples/collections/expected/build/modules/Collections/Main.lean index bac57b78a..48f3c7dd4 100644 --- a/examples/collections/expected/build/modules/Collections/Main.lean +++ b/examples/collections/expected/build/modules/Collections/Main.lean @@ -1,5 +1,7 @@ module public import Init +public import LexLeanRuntime.Portable +public import LexLeanRuntime.Collections public import Collections.Measure public import Collections.Tables set_option autoImplicit false @@ -8,433 +10,6 @@ set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace Collections.Main -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - -namespace LexLeanCollections - -public class Key (α : Type) where - compare : α -> α -> Ordering - -@[expose] public def compareCodes : List Char -> List Char -> Ordering - | [], [] => .eq - | [], _ :: _ => .lt - | _ :: _, [] => .gt - | left :: lefts, right :: rights => - match Ord.compare left.val.toNat right.val.toNat with - | .eq => compareCodes lefts rights - | other => other - -public instance : Key Nat where compare := Ord.compare -public instance : Key Int where compare := Ord.compare -public instance : Key Bool where compare := Ord.compare -public instance : Key Int8 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int16 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int32 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int64 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key UInt8 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt16 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt32 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt64 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key String where compare left right := compareCodes left.toList right.toList -public instance {α β : Type} [Key α] [Key β] : Key (Prod α β) where - compare left right := match Key.compare left.1 right.1 with - | .eq => Key.compare left.2 right.2 - | other => other - -@[expose] public def insertEntry {κ ν : Type} [Key κ] (key : κ) (value : ν) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [(key, value)] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (key, value) :: (other, stored) :: rest - | .eq => (key, value) :: rest - | .gt => (other, stored) :: insertEntry key value rest - -@[expose] public def removeEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (other, stored) :: rest - | .eq => rest - | .gt => (other, stored) :: removeEntry key rest - -@[expose] public def lookupEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> Option ν - | [] => none - | (other, stored) :: rest => match Key.compare key other with - | .lt => none - | .eq => some stored - | .gt => lookupEntry key rest - -@[expose] public def insertElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [key] - | other :: rest => match Key.compare key other with - | .lt => key :: other :: rest - | .eq => other :: rest - | .gt => other :: insertElement key rest - -@[expose] public def removeElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [] - | other :: rest => match Key.compare key other with - | .lt => other :: rest - | .eq => rest - | .gt => other :: removeElement key rest - -@[expose] public def containsElement {κ : Type} [Key κ] (key : κ) : List κ -> Bool - | [] => false - | other :: rest => match Key.compare key other with - | .lt => false - | .eq => true - | .gt => containsElement key rest - -@[expose] public def mapInsert {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) (value : ν) : List (Prod κ ν) := insertEntry key value map -@[expose] public def mapRemove {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : List (Prod κ ν) := removeEntry key map -@[expose] public def mapLookup {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Option ν := lookupEntry key map -@[expose] public def mapContains {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Bool := (lookupEntry key map).isSome -@[expose] public def mapSize {κ ν : Type} (map : List (Prod κ ν)) : Nat := map.length -@[expose] public def mapKeys {κ ν : Type} (map : List (Prod κ ν)) : List κ := map.map Prod.fst -@[expose] public def mapValues {κ ν : Type} (map : List (Prod κ ν)) : List ν := map.map Prod.snd -@[expose] public def mapEntries {κ ν : Type} (map : List (Prod κ ν)) : List (Prod κ ν) := map -@[expose] public def mapFold {κ ν β : Type} (step : β -> κ -> ν -> β) (initial : β) (map : List (Prod κ ν)) : β := - map.foldl (fun state entry => step state entry.1 entry.2) initial - -@[expose] public def setInsert {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := insertElement key set -@[expose] public def setRemove {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := removeElement key set -@[expose] public def setContains {κ : Type} [Key κ] (set : List κ) (key : κ) : Bool := containsElement key set -@[expose] public def setSize {κ : Type} (set : List κ) : Nat := set.length -@[expose] public def setElements {κ : Type} (set : List κ) : List κ := set -@[expose] public def setUnion {κ : Type} [Key κ] (left right : List κ) : List κ := right.foldl (fun acc key => insertElement key acc) left -@[expose] public def setIntersection {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => containsElement key right) -@[expose] public def setDifference {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => !containsElement key right) - -@[expose] public def graphSuccessors {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (node : κ) : List κ := - (lookupEntry node graph).getD [] - -@[expose] public def graphNodes {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : List κ := - graph.foldl (fun acc entry => entry.2.foldl (fun inner node => insertElement node inner) (insertElement entry.1 acc)) [] - -@[expose] public def reachableFrom {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> List κ - | 0, _, seen => seen - | Nat.succ fuel, frontier, seen => - let next := frontier.foldl (fun acc node => - (graphSuccessors graph node).foldl (fun acc2 succ => - if containsElement succ seen || containsElement succ acc2 then acc2 else insertElement succ acc2) acc) [] - match next with - | [] => seen - | _ => reachableFrom graph fuel next (next.foldl (fun acc key => insertElement key acc) seen) - -@[expose] public def graphReachable {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (start : κ) : List κ := - reachableFrom graph ((graphNodes graph).length + 1) [start] [start] - -@[expose] public def topological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> Option (List κ) - | 0, remaining, order => if remaining.isEmpty then some order.reverse else none - | Nat.succ fuel, remaining, order => - match remaining.filter (fun node => remaining.all (fun other => !containsElement node (graphSuccessors graph other))) with - | [] => if remaining.isEmpty then some order.reverse else none - | ready :: _ => topological graph fuel (removeElement ready remaining) (ready :: order) - -@[expose] public def graphTopological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Option (List κ) := - let nodes := graphNodes graph - topological graph (nodes.length + 1) nodes [] -@[expose] public def listFold {α σ : Type} (step : σ -> α -> σ) (initial : σ) (values : List α) : σ := - values.foldl step initial - -@[expose] public def setFold {κ σ : Type} (step : σ -> κ -> σ) (initial : σ) (set : List κ) : σ := - set.foldl step initial - -@[expose] public def iterate {σ : Type} (step : σ -> σ) : Nat -> σ -> σ - | 0, state => state - | Nat.succ count, state => iterate step count (step state) - -@[expose] public def iterateUntil {σ : Type} (step : σ -> Option σ) : Nat -> σ -> Prod σ Bool - | 0, state => (state, false) - | Nat.succ fuel, state => match step state with - | none => (state, true) - | some next => iterateUntil step fuel next - -@[expose] public def lessThan {κ : Type} [Key κ] (left right : κ) : Bool := - match Key.compare left right with - | .lt => true - | _ => false -end LexLeanCollections - @[expose] public def ancestors (parents : List ((Prod (Nat) (Nat)))) : (Prod (List ((Prod (Nat) (Nat)))) (Bool)) := (LexLeanCollections.iterateUntil ((fun (state : List ((Prod (Nat) (Nat)))) => (let derived : List ((Prod (Nat) (Nat))) := (LexLeanCollections.setFold ((fun (outer : List ((Prod (Nat) (Nat)))) (left : (Prod (Nat) (Nat))) => (LexLeanCollections.setFold ((fun (inner : List ((Prod (Nat) (Nat)))) (right : (Prod (Nat) (Nat))) => (if (Nat.beq ((left).2) ((right).1)) then (LexLeanCollections.setInsert (inner) (((left).1, (right).2)) : List ((Prod (Nat) (Nat)))) else inner))) (outer) (state) : List ((Prod (Nat) (Nat)))))) (state) (state) : List ((Prod (Nat) (Nat)))); (if (Nat.beq ((LexLeanCollections.setSize (derived) : Nat)) ((LexLeanCollections.setSize (state) : Nat))) then Option.none else Option.some (derived))))) (8) (parents) : (Prod (List ((Prod (Nat) (Nat)))) (Bool))) @[expose] public def family : List ((Prod (Nat) (Nat))) := ([(1, 2), (2, 3), (3, 4)] : List ((Prod (Nat) (Nat)))) diff --git a/examples/collections/expected/build/modules/Collections/Measure.lean b/examples/collections/expected/build/modules/Collections/Measure.lean index f4bfc1573..4020ad21a 100644 --- a/examples/collections/expected/build/modules/Collections/Measure.lean +++ b/examples/collections/expected/build/modules/Collections/Measure.lean @@ -1,5 +1,7 @@ module public import Init +public import LexLeanRuntime.Portable +public import LexLeanRuntime.Collections public import Collections.Tables set_option autoImplicit false set_option maxRecDepth 100000 @@ -7,433 +9,6 @@ set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace Collections.Measure -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - -namespace LexLeanCollections - -public class Key (α : Type) where - compare : α -> α -> Ordering - -@[expose] public def compareCodes : List Char -> List Char -> Ordering - | [], [] => .eq - | [], _ :: _ => .lt - | _ :: _, [] => .gt - | left :: lefts, right :: rights => - match Ord.compare left.val.toNat right.val.toNat with - | .eq => compareCodes lefts rights - | other => other - -public instance : Key Nat where compare := Ord.compare -public instance : Key Int where compare := Ord.compare -public instance : Key Bool where compare := Ord.compare -public instance : Key Int8 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int16 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int32 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int64 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key UInt8 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt16 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt32 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt64 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key String where compare left right := compareCodes left.toList right.toList -public instance {α β : Type} [Key α] [Key β] : Key (Prod α β) where - compare left right := match Key.compare left.1 right.1 with - | .eq => Key.compare left.2 right.2 - | other => other - -@[expose] public def insertEntry {κ ν : Type} [Key κ] (key : κ) (value : ν) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [(key, value)] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (key, value) :: (other, stored) :: rest - | .eq => (key, value) :: rest - | .gt => (other, stored) :: insertEntry key value rest - -@[expose] public def removeEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (other, stored) :: rest - | .eq => rest - | .gt => (other, stored) :: removeEntry key rest - -@[expose] public def lookupEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> Option ν - | [] => none - | (other, stored) :: rest => match Key.compare key other with - | .lt => none - | .eq => some stored - | .gt => lookupEntry key rest - -@[expose] public def insertElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [key] - | other :: rest => match Key.compare key other with - | .lt => key :: other :: rest - | .eq => other :: rest - | .gt => other :: insertElement key rest - -@[expose] public def removeElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [] - | other :: rest => match Key.compare key other with - | .lt => other :: rest - | .eq => rest - | .gt => other :: removeElement key rest - -@[expose] public def containsElement {κ : Type} [Key κ] (key : κ) : List κ -> Bool - | [] => false - | other :: rest => match Key.compare key other with - | .lt => false - | .eq => true - | .gt => containsElement key rest - -@[expose] public def mapInsert {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) (value : ν) : List (Prod κ ν) := insertEntry key value map -@[expose] public def mapRemove {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : List (Prod κ ν) := removeEntry key map -@[expose] public def mapLookup {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Option ν := lookupEntry key map -@[expose] public def mapContains {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Bool := (lookupEntry key map).isSome -@[expose] public def mapSize {κ ν : Type} (map : List (Prod κ ν)) : Nat := map.length -@[expose] public def mapKeys {κ ν : Type} (map : List (Prod κ ν)) : List κ := map.map Prod.fst -@[expose] public def mapValues {κ ν : Type} (map : List (Prod κ ν)) : List ν := map.map Prod.snd -@[expose] public def mapEntries {κ ν : Type} (map : List (Prod κ ν)) : List (Prod κ ν) := map -@[expose] public def mapFold {κ ν β : Type} (step : β -> κ -> ν -> β) (initial : β) (map : List (Prod κ ν)) : β := - map.foldl (fun state entry => step state entry.1 entry.2) initial - -@[expose] public def setInsert {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := insertElement key set -@[expose] public def setRemove {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := removeElement key set -@[expose] public def setContains {κ : Type} [Key κ] (set : List κ) (key : κ) : Bool := containsElement key set -@[expose] public def setSize {κ : Type} (set : List κ) : Nat := set.length -@[expose] public def setElements {κ : Type} (set : List κ) : List κ := set -@[expose] public def setUnion {κ : Type} [Key κ] (left right : List κ) : List κ := right.foldl (fun acc key => insertElement key acc) left -@[expose] public def setIntersection {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => containsElement key right) -@[expose] public def setDifference {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => !containsElement key right) - -@[expose] public def graphSuccessors {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (node : κ) : List κ := - (lookupEntry node graph).getD [] - -@[expose] public def graphNodes {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : List κ := - graph.foldl (fun acc entry => entry.2.foldl (fun inner node => insertElement node inner) (insertElement entry.1 acc)) [] - -@[expose] public def reachableFrom {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> List κ - | 0, _, seen => seen - | Nat.succ fuel, frontier, seen => - let next := frontier.foldl (fun acc node => - (graphSuccessors graph node).foldl (fun acc2 succ => - if containsElement succ seen || containsElement succ acc2 then acc2 else insertElement succ acc2) acc) [] - match next with - | [] => seen - | _ => reachableFrom graph fuel next (next.foldl (fun acc key => insertElement key acc) seen) - -@[expose] public def graphReachable {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (start : κ) : List κ := - reachableFrom graph ((graphNodes graph).length + 1) [start] [start] - -@[expose] public def topological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> Option (List κ) - | 0, remaining, order => if remaining.isEmpty then some order.reverse else none - | Nat.succ fuel, remaining, order => - match remaining.filter (fun node => remaining.all (fun other => !containsElement node (graphSuccessors graph other))) with - | [] => if remaining.isEmpty then some order.reverse else none - | ready :: _ => topological graph fuel (removeElement ready remaining) (ready :: order) - -@[expose] public def graphTopological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Option (List κ) := - let nodes := graphNodes graph - topological graph (nodes.length + 1) nodes [] -@[expose] public def listFold {α σ : Type} (step : σ -> α -> σ) (initial : σ) (values : List α) : σ := - values.foldl step initial - -@[expose] public def setFold {κ σ : Type} (step : σ -> κ -> σ) (initial : σ) (set : List κ) : σ := - set.foldl step initial - -@[expose] public def iterate {σ : Type} (step : σ -> σ) : Nat -> σ -> σ - | 0, state => state - | Nat.succ count, state => iterate step count (step state) - -@[expose] public def iterateUntil {σ : Type} (step : σ -> Option σ) : Nat -> σ -> Prod σ Bool - | 0, state => (state, false) - | Nat.succ fuel, state => match step state with - | none => (state, true) - | some next => iterateUntil step fuel next - -@[expose] public def lessThan {κ : Type} [Key κ] (left right : κ) : Bool := - match Key.compare left right with - | .lt => true - | _ => false -end LexLeanCollections - @[expose] public def distinctNames : Nat := (LexLeanCollections.mapSize (Collections.Tables.buildTable (("a" :: ("b" :: ("a" :: ([] : List (String))))))) : Nat) public theorem distinct_names : (distinctNames = 2) := by diff --git a/examples/collections/expected/build/modules/Collections/Tables.lean b/examples/collections/expected/build/modules/Collections/Tables.lean index 44ba97433..8889bac41 100644 --- a/examples/collections/expected/build/modules/Collections/Tables.lean +++ b/examples/collections/expected/build/modules/Collections/Tables.lean @@ -1,438 +1,13 @@ module public import Init +public import LexLeanRuntime.Portable +public import LexLeanRuntime.Collections set_option autoImplicit false set_option maxRecDepth 100000 set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace Collections.Tables -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - -namespace LexLeanCollections - -public class Key (α : Type) where - compare : α -> α -> Ordering - -@[expose] public def compareCodes : List Char -> List Char -> Ordering - | [], [] => .eq - | [], _ :: _ => .lt - | _ :: _, [] => .gt - | left :: lefts, right :: rights => - match Ord.compare left.val.toNat right.val.toNat with - | .eq => compareCodes lefts rights - | other => other - -public instance : Key Nat where compare := Ord.compare -public instance : Key Int where compare := Ord.compare -public instance : Key Bool where compare := Ord.compare -public instance : Key Int8 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int16 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int32 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int64 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key UInt8 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt16 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt32 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt64 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key String where compare left right := compareCodes left.toList right.toList -public instance {α β : Type} [Key α] [Key β] : Key (Prod α β) where - compare left right := match Key.compare left.1 right.1 with - | .eq => Key.compare left.2 right.2 - | other => other - -@[expose] public def insertEntry {κ ν : Type} [Key κ] (key : κ) (value : ν) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [(key, value)] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (key, value) :: (other, stored) :: rest - | .eq => (key, value) :: rest - | .gt => (other, stored) :: insertEntry key value rest - -@[expose] public def removeEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (other, stored) :: rest - | .eq => rest - | .gt => (other, stored) :: removeEntry key rest - -@[expose] public def lookupEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> Option ν - | [] => none - | (other, stored) :: rest => match Key.compare key other with - | .lt => none - | .eq => some stored - | .gt => lookupEntry key rest - -@[expose] public def insertElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [key] - | other :: rest => match Key.compare key other with - | .lt => key :: other :: rest - | .eq => other :: rest - | .gt => other :: insertElement key rest - -@[expose] public def removeElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [] - | other :: rest => match Key.compare key other with - | .lt => other :: rest - | .eq => rest - | .gt => other :: removeElement key rest - -@[expose] public def containsElement {κ : Type} [Key κ] (key : κ) : List κ -> Bool - | [] => false - | other :: rest => match Key.compare key other with - | .lt => false - | .eq => true - | .gt => containsElement key rest - -@[expose] public def mapInsert {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) (value : ν) : List (Prod κ ν) := insertEntry key value map -@[expose] public def mapRemove {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : List (Prod κ ν) := removeEntry key map -@[expose] public def mapLookup {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Option ν := lookupEntry key map -@[expose] public def mapContains {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Bool := (lookupEntry key map).isSome -@[expose] public def mapSize {κ ν : Type} (map : List (Prod κ ν)) : Nat := map.length -@[expose] public def mapKeys {κ ν : Type} (map : List (Prod κ ν)) : List κ := map.map Prod.fst -@[expose] public def mapValues {κ ν : Type} (map : List (Prod κ ν)) : List ν := map.map Prod.snd -@[expose] public def mapEntries {κ ν : Type} (map : List (Prod κ ν)) : List (Prod κ ν) := map -@[expose] public def mapFold {κ ν β : Type} (step : β -> κ -> ν -> β) (initial : β) (map : List (Prod κ ν)) : β := - map.foldl (fun state entry => step state entry.1 entry.2) initial - -@[expose] public def setInsert {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := insertElement key set -@[expose] public def setRemove {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := removeElement key set -@[expose] public def setContains {κ : Type} [Key κ] (set : List κ) (key : κ) : Bool := containsElement key set -@[expose] public def setSize {κ : Type} (set : List κ) : Nat := set.length -@[expose] public def setElements {κ : Type} (set : List κ) : List κ := set -@[expose] public def setUnion {κ : Type} [Key κ] (left right : List κ) : List κ := right.foldl (fun acc key => insertElement key acc) left -@[expose] public def setIntersection {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => containsElement key right) -@[expose] public def setDifference {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => !containsElement key right) - -@[expose] public def graphSuccessors {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (node : κ) : List κ := - (lookupEntry node graph).getD [] - -@[expose] public def graphNodes {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : List κ := - graph.foldl (fun acc entry => entry.2.foldl (fun inner node => insertElement node inner) (insertElement entry.1 acc)) [] - -@[expose] public def reachableFrom {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> List κ - | 0, _, seen => seen - | Nat.succ fuel, frontier, seen => - let next := frontier.foldl (fun acc node => - (graphSuccessors graph node).foldl (fun acc2 succ => - if containsElement succ seen || containsElement succ acc2 then acc2 else insertElement succ acc2) acc) [] - match next with - | [] => seen - | _ => reachableFrom graph fuel next (next.foldl (fun acc key => insertElement key acc) seen) - -@[expose] public def graphReachable {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (start : κ) : List κ := - reachableFrom graph ((graphNodes graph).length + 1) [start] [start] - -@[expose] public def topological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> Option (List κ) - | 0, remaining, order => if remaining.isEmpty then some order.reverse else none - | Nat.succ fuel, remaining, order => - match remaining.filter (fun node => remaining.all (fun other => !containsElement node (graphSuccessors graph other))) with - | [] => if remaining.isEmpty then some order.reverse else none - | ready :: _ => topological graph fuel (removeElement ready remaining) (ready :: order) - -@[expose] public def graphTopological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Option (List κ) := - let nodes := graphNodes graph - topological graph (nodes.length + 1) nodes [] -@[expose] public def listFold {α σ : Type} (step : σ -> α -> σ) (initial : σ) (values : List α) : σ := - values.foldl step initial - -@[expose] public def setFold {κ σ : Type} (step : σ -> κ -> σ) (initial : σ) (set : List κ) : σ := - set.foldl step initial - -@[expose] public def iterate {σ : Type} (step : σ -> σ) : Nat -> σ -> σ - | 0, state => state - | Nat.succ count, state => iterate step count (step state) - -@[expose] public def iterateUntil {σ : Type} (step : σ -> Option σ) : Nat -> σ -> Prod σ Bool - | 0, state => (state, false) - | Nat.succ fuel, state => match step state with - | none => (state, true) - | some next => iterateUntil step fuel next - -@[expose] public def lessThan {κ : Type} [Key κ] (left right : κ) : Bool := - match Key.compare left right with - | .lt => true - | _ => false -end LexLeanCollections - @[expose] public def declare (table : List (Prod (String) (Nat))) (name : String) (slot : Nat) : List (Prod (String) (Nat)) := (LexLeanCollections.mapInsert (table) (name) (slot) : List (Prod (String) (Nat))) @[expose] public def buildTable (names : List (String)) : List (Prod (String) (Nat)) := (LexLeanCollections.listFold ((fun (table : List (Prod (String) (Nat))) (name : String) => declare (table) (name) ((LexLeanCollections.mapSize (table) : Nat)))) (([] : List (Prod (String) (Nat)))) (names) : List (Prod (String) (Nat))) diff --git a/examples/collections/expected/verify/audit/LexLeanAudit.Af3c0f49bf293302bde33c5b7cd2c6ac8.Collections.Main.lean b/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Main.lean similarity index 100% rename from examples/collections/expected/verify/audit/LexLeanAudit.Af3c0f49bf293302bde33c5b7cd2c6ac8.Collections.Main.lean rename to examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Main.lean diff --git a/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Main.process.json b/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Main.process.json new file mode 100644 index 000000000..097ebbcd7 --- /dev/null +++ b/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Main.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Main","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Collections.Main.ancestor_closure' depends on axioms: [propext]\n'Collections.Main.ancestors' depends on axioms: [propext]\n'Collections.Main.bounded_iteration' does not depend on any axioms\n'Collections.Main.call_order' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Main.cycle_has_no_order' does not depend on any axioms\n'Collections.Main.family' does not depend on any axioms\n'Collections.Main.key_order_bool' depends on axioms: [propext]\n'Collections.Main.key_order_int' does not depend on any axioms\n'Collections.Main.key_order_int16' does not depend on any axioms\n'Collections.Main.key_order_int32' does not depend on any axioms\n'Collections.Main.key_order_int64' does not depend on any axioms\n'Collections.Main.key_order_int8' does not depend on any axioms\n'Collections.Main.key_order_nat' does not depend on any axioms\n'Collections.Main.key_order_product' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Main.key_order_string' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Main.key_order_uint16' does not depend on any axioms\n'Collections.Main.key_order_uint32' does not depend on any axioms\n'Collections.Main.key_order_uint64' does not depend on any axioms\n'Collections.Main.key_order_uint8' does not depend on any axioms\n'Collections.Main.op_graph_reachable' depends on axioms: [propext]\n'Collections.Main.op_graph_successors' does not depend on any axioms\n'Collections.Main.op_graph_successors_absent' does not depend on any axioms\n'Collections.Main.op_graph_topological' does not depend on any axioms\n'Collections.Main.op_iterate_until_exhausted' does not depend on any axioms\n'Collections.Main.op_iterate_until_fixed_point' does not depend on any axioms\n'Collections.Main.op_iterate_zero' does not depend on any axioms\n'Collections.Main.op_list_fold' does not depend on any axioms\n'Collections.Main.op_map_contains' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Main.op_map_entries' does not depend on any axioms\n'Collections.Main.op_map_fold' does not depend on any axioms\n'Collections.Main.op_map_insert' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Main.op_map_insert_replaces' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Main.op_map_keys' does not depend on any axioms\n'Collections.Main.op_map_lookup' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Main.op_map_lookup_absent' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Main.op_map_remove' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Main.op_map_remove_absent' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Main.op_map_size' does not depend on any axioms\n'Collections.Main.op_map_values' does not depend on any axioms\n'Collections.Main.op_set_contains' does not depend on any axioms\n'Collections.Main.op_set_difference' does not depend on any axioms\n'Collections.Main.op_set_elements' does not depend on any axioms\n'Collections.Main.op_set_fold' does not depend on any axioms\n'Collections.Main.op_set_insert' does not depend on any axioms\n'Collections.Main.op_set_intersection' does not depend on any axioms\n'Collections.Main.op_set_remove' does not depend on any axioms\n'Collections.Main.op_set_size' does not depend on any axioms\n'Collections.Main.op_set_union' does not depend on any axioms\n'Collections.Main.parse_reaches_lex' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Main.reordered_literals_agree' does not depend on any axioms\n'Collections.Main.table_lookup' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Main.table_slots' depends on axioms: [propext, Classical.choice, Quot.sound]\n","stdout_sha256":"3d77f9bcb113d76b5e385245365c454f35d99c86cb74e7dfeb18ce445b9a81e2","tool":"lean"} diff --git a/examples/collections/expected/verify/audit/LexLeanAudit.Af3c0f49bf293302bde33c5b7cd2c6ac8.Collections.Measure.lean b/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Measure.lean similarity index 100% rename from examples/collections/expected/verify/audit/LexLeanAudit.Af3c0f49bf293302bde33c5b7cd2c6ac8.Collections.Measure.lean rename to examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Measure.lean diff --git a/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Measure.process.json b/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Measure.process.json new file mode 100644 index 000000000..e6bf39730 --- /dev/null +++ b/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Measure.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Measure.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Measure","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Collections.Measure.distinctNames' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Measure.distinct_names' depends on axioms: [propext, Classical.choice, Quot.sound]\n","stdout_sha256":"9a0b51347cf1806a3c5870dffe83294b16325a9e46b47bba1233e7e3fb48209e","tool":"lean"} diff --git a/examples/collections/expected/verify/audit/LexLeanAudit.Af3c0f49bf293302bde33c5b7cd2c6ac8.Collections.Tables.lean b/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Tables.lean similarity index 100% rename from examples/collections/expected/verify/audit/LexLeanAudit.Af3c0f49bf293302bde33c5b7cd2c6ac8.Collections.Tables.lean rename to examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Tables.lean diff --git a/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Tables.process.json b/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Tables.process.json new file mode 100644 index 000000000..dada9f634 --- /dev/null +++ b/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Tables.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Tables.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.Collections.Tables","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Collections.Tables.buildTable' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Tables.callGraph' does not depend on any axioms\n'Collections.Tables.callOrder' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Tables.declare' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Tables.reachableFromParse' depends on axioms: [propext, Classical.choice, Quot.sound]\n","stdout_sha256":"b5887435160be7412b795a6f5a33d36ac682a409c841bd95a8d98982df4173e9","tool":"lean"} diff --git a/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.LexLeanRuntime.Collections.lean b/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.LexLeanRuntime.Collections.lean new file mode 100644 index 000000000..ae0a21413 --- /dev/null +++ b/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.LexLeanRuntime.Collections.lean @@ -0,0 +1,105 @@ +module +import LexLeanRuntime.Collections +#print axioms LexLeanCollections.Key +#print axioms LexLeanCollections.Key.casesOn +#print axioms LexLeanCollections.Key.compare +#print axioms LexLeanCollections.Key.ctorIdx +#print axioms LexLeanCollections.Key.mk._flat_ctor +#print axioms LexLeanCollections.Key.mk.noConfusion +#print axioms LexLeanCollections.Key.noConfusion +#print axioms LexLeanCollections.Key.noConfusionType +#print axioms LexLeanCollections.Key.recOn +#print axioms LexLeanCollections.compareCodes +#print axioms LexLeanCollections.compareCodes._f +#print axioms LexLeanCollections.compareCodes._sparseCasesOn_1 +#print axioms LexLeanCollections.compareCodes._sunfold +#print axioms LexLeanCollections.compareCodes._unsafe_rec +#print axioms LexLeanCollections.compareCodes.match_1 +#print axioms LexLeanCollections.compareCodes.match_4 +#print axioms LexLeanCollections.containsElement +#print axioms LexLeanCollections.containsElement._f +#print axioms LexLeanCollections.containsElement._sunfold +#print axioms LexLeanCollections.containsElement._unsafe_rec +#print axioms LexLeanCollections.graphNodes +#print axioms LexLeanCollections.graphReachable +#print axioms LexLeanCollections.graphSuccessors +#print axioms LexLeanCollections.graphTopological +#print axioms LexLeanCollections.insertElement +#print axioms LexLeanCollections.insertElement._f +#print axioms LexLeanCollections.insertElement._sunfold +#print axioms LexLeanCollections.insertElement._unsafe_rec +#print axioms LexLeanCollections.insertElement.match_1 +#print axioms LexLeanCollections.insertEntry +#print axioms LexLeanCollections.insertEntry._f +#print axioms LexLeanCollections.insertEntry._sunfold +#print axioms LexLeanCollections.insertEntry._unsafe_rec +#print axioms LexLeanCollections.insertEntry.match_1 +#print axioms LexLeanCollections.insertEntry.match_3 +#print axioms LexLeanCollections.instKeyBool +#print axioms LexLeanCollections.instKeyInt +#print axioms LexLeanCollections.instKeyInt16 +#print axioms LexLeanCollections.instKeyInt32 +#print axioms LexLeanCollections.instKeyInt64 +#print axioms LexLeanCollections.instKeyInt8 +#print axioms LexLeanCollections.instKeyNat +#print axioms LexLeanCollections.instKeyProd +#print axioms LexLeanCollections.instKeyString +#print axioms LexLeanCollections.instKeyUInt16 +#print axioms LexLeanCollections.instKeyUInt32 +#print axioms LexLeanCollections.instKeyUInt64 +#print axioms LexLeanCollections.instKeyUInt8 +#print axioms LexLeanCollections.iterate +#print axioms LexLeanCollections.iterate._f +#print axioms LexLeanCollections.iterate._sunfold +#print axioms LexLeanCollections.iterate._unsafe_rec +#print axioms LexLeanCollections.iterate.match_1 +#print axioms LexLeanCollections.iterateUntil +#print axioms LexLeanCollections.iterateUntil._f +#print axioms LexLeanCollections.iterateUntil._sunfold +#print axioms LexLeanCollections.iterateUntil._unsafe_rec +#print axioms LexLeanCollections.iterateUntil.match_1 +#print axioms LexLeanCollections.lessThan +#print axioms LexLeanCollections.lessThan._sparseCasesOn_1 +#print axioms LexLeanCollections.lessThan.match_1 +#print axioms LexLeanCollections.listFold +#print axioms LexLeanCollections.lookupEntry +#print axioms LexLeanCollections.lookupEntry._f +#print axioms LexLeanCollections.lookupEntry._sunfold +#print axioms LexLeanCollections.lookupEntry._unsafe_rec +#print axioms LexLeanCollections.mapContains +#print axioms LexLeanCollections.mapEntries +#print axioms LexLeanCollections.mapFold +#print axioms LexLeanCollections.mapInsert +#print axioms LexLeanCollections.mapKeys +#print axioms LexLeanCollections.mapLookup +#print axioms LexLeanCollections.mapRemove +#print axioms LexLeanCollections.mapSize +#print axioms LexLeanCollections.mapValues +#print axioms LexLeanCollections.reachableFrom +#print axioms LexLeanCollections.reachableFrom._f +#print axioms LexLeanCollections.reachableFrom._sparseCasesOn_1 +#print axioms LexLeanCollections.reachableFrom._sunfold +#print axioms LexLeanCollections.reachableFrom._unsafe_rec +#print axioms LexLeanCollections.reachableFrom.match_1 +#print axioms LexLeanCollections.reachableFrom.match_4 +#print axioms LexLeanCollections.removeElement +#print axioms LexLeanCollections.removeElement._f +#print axioms LexLeanCollections.removeElement._sunfold +#print axioms LexLeanCollections.removeElement._unsafe_rec +#print axioms LexLeanCollections.removeEntry +#print axioms LexLeanCollections.removeEntry._f +#print axioms LexLeanCollections.removeEntry._sunfold +#print axioms LexLeanCollections.removeEntry._unsafe_rec +#print axioms LexLeanCollections.setContains +#print axioms LexLeanCollections.setDifference +#print axioms LexLeanCollections.setElements +#print axioms LexLeanCollections.setFold +#print axioms LexLeanCollections.setInsert +#print axioms LexLeanCollections.setIntersection +#print axioms LexLeanCollections.setRemove +#print axioms LexLeanCollections.setSize +#print axioms LexLeanCollections.setUnion +#print axioms LexLeanCollections.topological +#print axioms LexLeanCollections.topological._f +#print axioms LexLeanCollections.topological._sunfold +#print axioms LexLeanCollections.topological._unsafe_rec diff --git a/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.LexLeanRuntime.Collections.process.json b/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.LexLeanRuntime.Collections.process.json new file mode 100644 index 000000000..873dfc5c8 --- /dev/null +++ b/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.LexLeanRuntime.Collections.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.LexLeanRuntime.Collections.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.LexLeanRuntime.Collections","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanCollections.Key' does not depend on any axioms\n'LexLeanCollections.Key.casesOn' does not depend on any axioms\n'LexLeanCollections.Key.compare' does not depend on any axioms\n'LexLeanCollections.Key.ctorIdx' does not depend on any axioms\n'LexLeanCollections.Key.mk._flat_ctor' does not depend on any axioms\n'LexLeanCollections.Key.mk.noConfusion' does not depend on any axioms\n'LexLeanCollections.Key.noConfusion' does not depend on any axioms\n'LexLeanCollections.Key.noConfusionType' does not depend on any axioms\n'LexLeanCollections.Key.recOn' does not depend on any axioms\n'LexLeanCollections.compareCodes' depends on axioms: [propext]\n'LexLeanCollections.compareCodes._f' depends on axioms: [propext]\n'LexLeanCollections.compareCodes._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanCollections.compareCodes._sunfold' depends on axioms: [propext]\n'LexLeanCollections.compareCodes._unsafe_rec' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.match_1' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.match_4' does not depend on any axioms\n'LexLeanCollections.containsElement' does not depend on any axioms\n'LexLeanCollections.containsElement._f' does not depend on any axioms\n'LexLeanCollections.containsElement._sunfold' does not depend on any axioms\n'LexLeanCollections.containsElement._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.graphNodes' does not depend on any axioms\n'LexLeanCollections.graphReachable' depends on axioms: [propext]\n'LexLeanCollections.graphSuccessors' does not depend on any axioms\n'LexLeanCollections.graphTopological' does not depend on any axioms\n'LexLeanCollections.insertElement' does not depend on any axioms\n'LexLeanCollections.insertElement._f' does not depend on any axioms\n'LexLeanCollections.insertElement._sunfold' does not depend on any axioms\n'LexLeanCollections.insertElement._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.insertElement.match_1' does not depend on any axioms\n'LexLeanCollections.insertEntry' does not depend on any axioms\n'LexLeanCollections.insertEntry._f' does not depend on any axioms\n'LexLeanCollections.insertEntry._sunfold' does not depend on any axioms\n'LexLeanCollections.insertEntry._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.insertEntry.match_1' does not depend on any axioms\n'LexLeanCollections.insertEntry.match_3' does not depend on any axioms\n'LexLeanCollections.instKeyBool' depends on axioms: [propext]\n'LexLeanCollections.instKeyInt' does not depend on any axioms\n'LexLeanCollections.instKeyInt16' does not depend on any axioms\n'LexLeanCollections.instKeyInt32' does not depend on any axioms\n'LexLeanCollections.instKeyInt64' does not depend on any axioms\n'LexLeanCollections.instKeyInt8' does not depend on any axioms\n'LexLeanCollections.instKeyNat' does not depend on any axioms\n'LexLeanCollections.instKeyProd' depends on axioms: [propext]\n'LexLeanCollections.instKeyString' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanCollections.instKeyUInt16' does not depend on any axioms\n'LexLeanCollections.instKeyUInt32' does not depend on any axioms\n'LexLeanCollections.instKeyUInt64' does not depend on any axioms\n'LexLeanCollections.instKeyUInt8' does not depend on any axioms\n'LexLeanCollections.iterate' does not depend on any axioms\n'LexLeanCollections.iterate._f' does not depend on any axioms\n'LexLeanCollections.iterate._sunfold' does not depend on any axioms\n'LexLeanCollections.iterate._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.iterate.match_1' does not depend on any axioms\n'LexLeanCollections.iterateUntil' does not depend on any axioms\n'LexLeanCollections.iterateUntil._f' does not depend on any axioms\n'LexLeanCollections.iterateUntil._sunfold' does not depend on any axioms\n'LexLeanCollections.iterateUntil._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.iterateUntil.match_1' does not depend on any axioms\n'LexLeanCollections.lessThan' depends on axioms: [propext]\n'LexLeanCollections.lessThan._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanCollections.lessThan.match_1' depends on axioms: [propext]\n'LexLeanCollections.listFold' does not depend on any axioms\n'LexLeanCollections.lookupEntry' does not depend on any axioms\n'LexLeanCollections.lookupEntry._f' does not depend on any axioms\n'LexLeanCollections.lookupEntry._sunfold' does not depend on any axioms\n'LexLeanCollections.lookupEntry._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.mapContains' does not depend on any axioms\n'LexLeanCollections.mapEntries' does not depend on any axioms\n'LexLeanCollections.mapFold' does not depend on any axioms\n'LexLeanCollections.mapInsert' does not depend on any axioms\n'LexLeanCollections.mapKeys' does not depend on any axioms\n'LexLeanCollections.mapLookup' does not depend on any axioms\n'LexLeanCollections.mapRemove' does not depend on any axioms\n'LexLeanCollections.mapSize' does not depend on any axioms\n'LexLeanCollections.mapValues' does not depend on any axioms\n'LexLeanCollections.reachableFrom' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom._f' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom._sunfold' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom._unsafe_rec' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom.match_1' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom.match_4' does not depend on any axioms\n'LexLeanCollections.removeElement' does not depend on any axioms\n'LexLeanCollections.removeElement._f' does not depend on any axioms\n'LexLeanCollections.removeElement._sunfold' does not depend on any axioms\n'LexLeanCollections.removeElement._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.removeEntry' does not depend on any axioms\n'LexLeanCollections.removeEntry._f' does not depend on any axioms\n'LexLeanCollections.removeEntry._sunfold' does not depend on any axioms\n'LexLeanCollections.removeEntry._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.setContains' does not depend on any axioms\n'LexLeanCollections.setDifference' does not depend on any axioms\n'LexLeanCollections.setElements' does not depend on any axioms\n'LexLeanCollections.setFold' does not depend on any axioms\n'LexLeanCollections.setInsert' does not depend on any axioms\n'LexLeanCollections.setIntersection' does not depend on any axioms\n'LexLeanCollections.setRemove' does not depend on any axioms\n'LexLeanCollections.setSize' does not depend on any axioms\n'LexLeanCollections.setUnion' does not depend on any axioms\n'LexLeanCollections.topological' does not depend on any axioms\n'LexLeanCollections.topological._f' does not depend on any axioms\n'LexLeanCollections.topological._sunfold' does not depend on any axioms\n'LexLeanCollections.topological._unsafe_rec' does not depend on any axioms\n","stdout_sha256":"b75acc0e99e23684c3cc876eacbfc93f47161cfee8a7440df17fa45f321c8c6a","tool":"lean"} diff --git a/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.LexLeanRuntime.Portable.lean b/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.LexLeanRuntime.Portable.lean new file mode 100644 index 000000000..dd62fd557 --- /dev/null +++ b/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.LexLeanRuntime.Portable.lean @@ -0,0 +1,162 @@ +module +import LexLeanRuntime.Portable +#print axioms LexLeanRuntime.Appendable +#print axioms LexLeanRuntime.Appendable.append +#print axioms LexLeanRuntime.Appendable.casesOn +#print axioms LexLeanRuntime.Appendable.ctorIdx +#print axioms LexLeanRuntime.Appendable.mk._flat_ctor +#print axioms LexLeanRuntime.Appendable.mk.noConfusion +#print axioms LexLeanRuntime.Appendable.noConfusion +#print axioms LexLeanRuntime.Appendable.noConfusionType +#print axioms LexLeanRuntime.Appendable.recOn +#print axioms LexLeanRuntime.Decimal +#print axioms LexLeanRuntime.Decimal.casesOn +#print axioms LexLeanRuntime.Decimal.ctorIdx +#print axioms LexLeanRuntime.Decimal.format +#print axioms LexLeanRuntime.Decimal.mk._flat_ctor +#print axioms LexLeanRuntime.Decimal.mk.noConfusion +#print axioms LexLeanRuntime.Decimal.noConfusion +#print axioms LexLeanRuntime.Decimal.noConfusionType +#print axioms LexLeanRuntime.Decimal.parse +#print axioms LexLeanRuntime.Decimal.recOn +#print axioms LexLeanRuntime.Fixed +#print axioms LexLeanRuntime.Fixed.bitAnd +#print axioms LexLeanRuntime.Fixed.bitNot +#print axioms LexLeanRuntime.Fixed.bitOr +#print axioms LexLeanRuntime.Fixed.bitXor +#print axioms LexLeanRuntime.Fixed.casesOn +#print axioms LexLeanRuntime.Fixed.ctorIdx +#print axioms LexLeanRuntime.Fixed.fromInt +#print axioms LexLeanRuntime.Fixed.maximum +#print axioms LexLeanRuntime.Fixed.minimum +#print axioms LexLeanRuntime.Fixed.mk._flat_ctor +#print axioms LexLeanRuntime.Fixed.mk.noConfusion +#print axioms LexLeanRuntime.Fixed.noConfusion +#print axioms LexLeanRuntime.Fixed.noConfusionType +#print axioms LexLeanRuntime.Fixed.recOn +#print axioms LexLeanRuntime.Fixed.shiftLeft +#print axioms LexLeanRuntime.Fixed.shiftRight +#print axioms LexLeanRuntime.Fixed.toToMathInt +#print axioms LexLeanRuntime.Indexable +#print axioms LexLeanRuntime.Indexable.casesOn +#print axioms LexLeanRuntime.Indexable.ctorIdx +#print axioms LexLeanRuntime.Indexable.index +#print axioms LexLeanRuntime.Indexable.mk._flat_ctor +#print axioms LexLeanRuntime.Indexable.mk.noConfusion +#print axioms LexLeanRuntime.Indexable.noConfusion +#print axioms LexLeanRuntime.Indexable.noConfusionType +#print axioms LexLeanRuntime.Indexable.recOn +#print axioms LexLeanRuntime.Lengthable +#print axioms LexLeanRuntime.Lengthable.casesOn +#print axioms LexLeanRuntime.Lengthable.ctorIdx +#print axioms LexLeanRuntime.Lengthable.length +#print axioms LexLeanRuntime.Lengthable.mk._flat_ctor +#print axioms LexLeanRuntime.Lengthable.mk.noConfusion +#print axioms LexLeanRuntime.Lengthable.noConfusion +#print axioms LexLeanRuntime.Lengthable.noConfusionType +#print axioms LexLeanRuntime.Lengthable.recOn +#print axioms LexLeanRuntime.Quotient +#print axioms LexLeanRuntime.Quotient.casesOn +#print axioms LexLeanRuntime.Quotient.ctorIdx +#print axioms LexLeanRuntime.Quotient.isZero +#print axioms LexLeanRuntime.Quotient.mk._flat_ctor +#print axioms LexLeanRuntime.Quotient.mk.noConfusion +#print axioms LexLeanRuntime.Quotient.noConfusion +#print axioms LexLeanRuntime.Quotient.noConfusionType +#print axioms LexLeanRuntime.Quotient.quotient +#print axioms LexLeanRuntime.Quotient.recOn +#print axioms LexLeanRuntime.Quotient.remainder +#print axioms LexLeanRuntime.Sliceable +#print axioms LexLeanRuntime.Sliceable.casesOn +#print axioms LexLeanRuntime.Sliceable.ctorIdx +#print axioms LexLeanRuntime.Sliceable.mk._flat_ctor +#print axioms LexLeanRuntime.Sliceable.mk.noConfusion +#print axioms LexLeanRuntime.Sliceable.noConfusion +#print axioms LexLeanRuntime.Sliceable.noConfusionType +#print axioms LexLeanRuntime.Sliceable.recOn +#print axioms LexLeanRuntime.Sliceable.slice +#print axioms LexLeanRuntime.ToMathInt +#print axioms LexLeanRuntime.ToMathInt.casesOn +#print axioms LexLeanRuntime.ToMathInt.ctorIdx +#print axioms LexLeanRuntime.ToMathInt.mk._flat_ctor +#print axioms LexLeanRuntime.ToMathInt.mk.noConfusion +#print axioms LexLeanRuntime.ToMathInt.noConfusion +#print axioms LexLeanRuntime.ToMathInt.noConfusionType +#print axioms LexLeanRuntime.ToMathInt.recOn +#print axioms LexLeanRuntime.ToMathInt.toInt +#print axioms LexLeanRuntime.append +#print axioms LexLeanRuntime.bitAnd +#print axioms LexLeanRuntime.bitNot +#print axioms LexLeanRuntime.bitOr +#print axioms LexLeanRuntime.bitXor +#print axioms LexLeanRuntime.checkedAdd +#print axioms LexLeanRuntime.checkedAddInt64 +#print axioms LexLeanRuntime.checkedConvert +#print axioms LexLeanRuntime.checkedFromInt +#print axioms LexLeanRuntime.checkedMultiply +#print axioms LexLeanRuntime.checkedMultiplyInt64 +#print axioms LexLeanRuntime.checkedMultiplyInt64.match_1 +#print axioms LexLeanRuntime.checkedNegate +#print axioms LexLeanRuntime.checkedNegateInt64 +#print axioms LexLeanRuntime.checkedQuotient +#print axioms LexLeanRuntime.checkedQuotientInt64 +#print axioms LexLeanRuntime.checkedSubtract +#print axioms LexLeanRuntime.checkedSubtractInt64 +#print axioms LexLeanRuntime.compareBytes +#print axioms LexLeanRuntime.divideMagnitudeInt64 +#print axioms LexLeanRuntime.divideMagnitudeInt64._f +#print axioms LexLeanRuntime.divideMagnitudeInt64._sunfold +#print axioms LexLeanRuntime.divideMagnitudeInt64._unsafe_rec +#print axioms LexLeanRuntime.divideMagnitudeInt64.match_1 +#print axioms LexLeanRuntime.equal +#print axioms LexLeanRuntime.formatDecimal +#print axioms LexLeanRuntime.index +#print axioms LexLeanRuntime.instAppendableByteArray +#print axioms LexLeanRuntime.instAppendableList +#print axioms LexLeanRuntime.instDecimalInt +#print axioms LexLeanRuntime.instDecimalInt.match_1 +#print axioms LexLeanRuntime.instDecimalOfFixedOfToString +#print axioms LexLeanRuntime.instFixedInt16 +#print axioms LexLeanRuntime.instFixedInt32 +#print axioms LexLeanRuntime.instFixedInt64 +#print axioms LexLeanRuntime.instFixedInt8 +#print axioms LexLeanRuntime.instFixedUInt16 +#print axioms LexLeanRuntime.instFixedUInt32 +#print axioms LexLeanRuntime.instFixedUInt64 +#print axioms LexLeanRuntime.instFixedUInt8 +#print axioms LexLeanRuntime.instIndexableByteArrayUInt8 +#print axioms LexLeanRuntime.instIndexableList +#print axioms LexLeanRuntime.instLengthableByteArray +#print axioms LexLeanRuntime.instLengthableList +#print axioms LexLeanRuntime.instLengthableString +#print axioms LexLeanRuntime.instQuotientInt +#print axioms LexLeanRuntime.instQuotientNat +#print axioms LexLeanRuntime.instSliceableByteArray +#print axioms LexLeanRuntime.instSliceableList +#print axioms LexLeanRuntime.instToMathIntInt +#print axioms LexLeanRuntime.join +#print axioms LexLeanRuntime.length +#print axioms LexLeanRuntime.listIndex +#print axioms LexLeanRuntime.listIndex._f +#print axioms LexLeanRuntime.listIndex._sunfold +#print axioms LexLeanRuntime.listIndex._unsafe_rec +#print axioms LexLeanRuntime.listIndex.match_1 +#print axioms LexLeanRuntime.magnitudeInt64 +#print axioms LexLeanRuntime.multiply +#print axioms LexLeanRuntime.multiplyMagnitudeInt64 +#print axioms LexLeanRuntime.multiplyMagnitudeInt64._f +#print axioms LexLeanRuntime.multiplyMagnitudeInt64._sunfold +#print axioms LexLeanRuntime.multiplyMagnitudeInt64._unsafe_rec +#print axioms LexLeanRuntime.multiplyMagnitudeInt64.match_1 +#print axioms LexLeanRuntime.negate +#print axioms LexLeanRuntime.parseDecimal +#print axioms LexLeanRuntime.quotient +#print axioms LexLeanRuntime.remainder +#print axioms LexLeanRuntime.shiftLeft +#print axioms LexLeanRuntime.shiftRight +#print axioms LexLeanRuntime.signedMagnitudeInt64 +#print axioms LexLeanRuntime.slice +#print axioms LexLeanRuntime.splitExact +#print axioms LexLeanRuntime.subtract +#print axioms LexLeanRuntime.utf8Decode +#print axioms LexLeanRuntime.utf8Encode diff --git a/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.LexLeanRuntime.Portable.process.json b/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.LexLeanRuntime.Portable.process.json new file mode 100644 index 000000000..2b9c51898 --- /dev/null +++ b/examples/collections/expected/verify/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.LexLeanRuntime.Portable.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.LexLeanRuntime.Portable.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Aea7d3fe6d34a1d041905f5846779737d.LexLeanRuntime.Portable","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanRuntime.Appendable' does not depend on any axioms\n'LexLeanRuntime.Appendable.append' does not depend on any axioms\n'LexLeanRuntime.Appendable.casesOn' does not depend on any axioms\n'LexLeanRuntime.Appendable.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Appendable.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Appendable.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Appendable.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Appendable.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Appendable.recOn' does not depend on any axioms\n'LexLeanRuntime.Decimal' does not depend on any axioms\n'LexLeanRuntime.Decimal.casesOn' does not depend on any axioms\n'LexLeanRuntime.Decimal.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Decimal.format' does not depend on any axioms\n'LexLeanRuntime.Decimal.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Decimal.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Decimal.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Decimal.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Decimal.parse' does not depend on any axioms\n'LexLeanRuntime.Decimal.recOn' does not depend on any axioms\n'LexLeanRuntime.Fixed' does not depend on any axioms\n'LexLeanRuntime.Fixed.bitAnd' does not depend on any axioms\n'LexLeanRuntime.Fixed.bitNot' does not depend on any axioms\n'LexLeanRuntime.Fixed.bitOr' does not depend on any axioms\n'LexLeanRuntime.Fixed.bitXor' does not depend on any axioms\n'LexLeanRuntime.Fixed.casesOn' does not depend on any axioms\n'LexLeanRuntime.Fixed.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Fixed.fromInt' does not depend on any axioms\n'LexLeanRuntime.Fixed.maximum' does not depend on any axioms\n'LexLeanRuntime.Fixed.minimum' does not depend on any axioms\n'LexLeanRuntime.Fixed.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Fixed.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Fixed.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Fixed.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Fixed.recOn' does not depend on any axioms\n'LexLeanRuntime.Fixed.shiftLeft' does not depend on any axioms\n'LexLeanRuntime.Fixed.shiftRight' does not depend on any axioms\n'LexLeanRuntime.Fixed.toToMathInt' does not depend on any axioms\n'LexLeanRuntime.Indexable' does not depend on any axioms\n'LexLeanRuntime.Indexable.casesOn' does not depend on any axioms\n'LexLeanRuntime.Indexable.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Indexable.index' does not depend on any axioms\n'LexLeanRuntime.Indexable.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Indexable.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Indexable.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Indexable.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Indexable.recOn' does not depend on any axioms\n'LexLeanRuntime.Lengthable' does not depend on any axioms\n'LexLeanRuntime.Lengthable.casesOn' does not depend on any axioms\n'LexLeanRuntime.Lengthable.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Lengthable.length' does not depend on any axioms\n'LexLeanRuntime.Lengthable.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Lengthable.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Lengthable.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Lengthable.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Lengthable.recOn' does not depend on any axioms\n'LexLeanRuntime.Quotient' does not depend on any axioms\n'LexLeanRuntime.Quotient.casesOn' does not depend on any axioms\n'LexLeanRuntime.Quotient.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Quotient.isZero' does not depend on any axioms\n'LexLeanRuntime.Quotient.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Quotient.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Quotient.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Quotient.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Quotient.quotient' does not depend on any axioms\n'LexLeanRuntime.Quotient.recOn' does not depend on any axioms\n'LexLeanRuntime.Quotient.remainder' does not depend on any axioms\n'LexLeanRuntime.Sliceable' does not depend on any axioms\n'LexLeanRuntime.Sliceable.casesOn' does not depend on any axioms\n'LexLeanRuntime.Sliceable.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Sliceable.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Sliceable.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Sliceable.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Sliceable.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Sliceable.recOn' does not depend on any axioms\n'LexLeanRuntime.Sliceable.slice' does not depend on any axioms\n'LexLeanRuntime.ToMathInt' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.casesOn' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.noConfusion' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.recOn' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.toInt' does not depend on any axioms\n'LexLeanRuntime.append' does not depend on any axioms\n'LexLeanRuntime.bitAnd' does not depend on any axioms\n'LexLeanRuntime.bitNot' does not depend on any axioms\n'LexLeanRuntime.bitOr' does not depend on any axioms\n'LexLeanRuntime.bitXor' does not depend on any axioms\n'LexLeanRuntime.checkedAdd' does not depend on any axioms\n'LexLeanRuntime.checkedAddInt64' does not depend on any axioms\n'LexLeanRuntime.checkedConvert' does not depend on any axioms\n'LexLeanRuntime.checkedFromInt' does not depend on any axioms\n'LexLeanRuntime.checkedMultiply' does not depend on any axioms\n'LexLeanRuntime.checkedMultiplyInt64' does not depend on any axioms\n'LexLeanRuntime.checkedMultiplyInt64.match_1' does not depend on any axioms\n'LexLeanRuntime.checkedNegate' does not depend on any axioms\n'LexLeanRuntime.checkedNegateInt64' does not depend on any axioms\n'LexLeanRuntime.checkedQuotient' does not depend on any axioms\n'LexLeanRuntime.checkedQuotientInt64' does not depend on any axioms\n'LexLeanRuntime.checkedSubtract' does not depend on any axioms\n'LexLeanRuntime.checkedSubtractInt64' does not depend on any axioms\n'LexLeanRuntime.compareBytes' depends on axioms: [propext]\n'LexLeanRuntime.divideMagnitudeInt64' does not depend on any axioms\n'LexLeanRuntime.divideMagnitudeInt64._f' does not depend on any axioms\n'LexLeanRuntime.divideMagnitudeInt64._sunfold' does not depend on any axioms\n'LexLeanRuntime.divideMagnitudeInt64._unsafe_rec' does not depend on any axioms\n'LexLeanRuntime.divideMagnitudeInt64.match_1' does not depend on any axioms\n'LexLeanRuntime.equal' does not depend on any axioms\n'LexLeanRuntime.formatDecimal' does not depend on any axioms\n'LexLeanRuntime.index' does not depend on any axioms\n'LexLeanRuntime.instAppendableByteArray' does not depend on any axioms\n'LexLeanRuntime.instAppendableList' does not depend on any axioms\n'LexLeanRuntime.instDecimalInt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.instDecimalInt.match_1' does not depend on any axioms\n'LexLeanRuntime.instDecimalOfFixedOfToString' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.instFixedInt16' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedInt32' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedInt64' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedInt8' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedUInt16' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedUInt32' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedUInt64' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedUInt8' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instIndexableByteArrayUInt8' does not depend on any axioms\n'LexLeanRuntime.instIndexableList' does not depend on any axioms\n'LexLeanRuntime.instLengthableByteArray' does not depend on any axioms\n'LexLeanRuntime.instLengthableList' does not depend on any axioms\n'LexLeanRuntime.instLengthableString' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.instQuotientInt' does not depend on any axioms\n'LexLeanRuntime.instQuotientNat' does not depend on any axioms\n'LexLeanRuntime.instSliceableByteArray' does not depend on any axioms\n'LexLeanRuntime.instSliceableList' does not depend on any axioms\n'LexLeanRuntime.instToMathIntInt' does not depend on any axioms\n'LexLeanRuntime.join' depends on axioms: [propext]\n'LexLeanRuntime.length' does not depend on any axioms\n'LexLeanRuntime.listIndex' does not depend on any axioms\n'LexLeanRuntime.listIndex._f' does not depend on any axioms\n'LexLeanRuntime.listIndex._sunfold' does not depend on any axioms\n'LexLeanRuntime.listIndex._unsafe_rec' does not depend on any axioms\n'LexLeanRuntime.listIndex.match_1' does not depend on any axioms\n'LexLeanRuntime.magnitudeInt64' does not depend on any axioms\n'LexLeanRuntime.multiply' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64._f' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64._sunfold' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64._unsafe_rec' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64.match_1' does not depend on any axioms\n'LexLeanRuntime.negate' does not depend on any axioms\n'LexLeanRuntime.parseDecimal' does not depend on any axioms\n'LexLeanRuntime.quotient' does not depend on any axioms\n'LexLeanRuntime.remainder' does not depend on any axioms\n'LexLeanRuntime.shiftLeft' does not depend on any axioms\n'LexLeanRuntime.shiftRight' does not depend on any axioms\n'LexLeanRuntime.signedMagnitudeInt64' does not depend on any axioms\n'LexLeanRuntime.slice' does not depend on any axioms\n'LexLeanRuntime.splitExact' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.subtract' does not depend on any axioms\n'LexLeanRuntime.utf8Decode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.utf8Encode' does not depend on any axioms\n","stdout_sha256":"73fea1d9e9e9f0a2f1363b9f284eeeb9e434430e9fa910260b9526bad864641e","tool":"lean"} diff --git a/examples/collections/expected/verify/audit/LexLeanAudit.Af3c0f49bf293302bde33c5b7cd2c6ac8.Collections.Main.process.json b/examples/collections/expected/verify/audit/LexLeanAudit.Af3c0f49bf293302bde33c5b7cd2c6ac8.Collections.Main.process.json deleted file mode 100644 index e2b9deadd..000000000 --- a/examples/collections/expected/verify/audit/LexLeanAudit.Af3c0f49bf293302bde33c5b7cd2c6ac8.Collections.Main.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Af3c0f49bf293302bde33c5b7cd2c6ac8.Collections.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Af3c0f49bf293302bde33c5b7cd2c6ac8.Collections.Main","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Collections.Main.ancestor_closure' depends on axioms: [propext]\n'Collections.Main.ancestors' depends on axioms: [propext]\n'Collections.Main.bounded_iteration' does not depend on any axioms\n'Collections.Main.call_order' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Main.cycle_has_no_order' does not depend on any axioms\n'Collections.Main.family' does not depend on any axioms\n'Collections.Main.key_order_bool' depends on axioms: [propext]\n'Collections.Main.key_order_int' does not depend on any axioms\n'Collections.Main.key_order_int16' does not depend on any axioms\n'Collections.Main.key_order_int32' does not depend on any axioms\n'Collections.Main.key_order_int64' does not depend on any axioms\n'Collections.Main.key_order_int8' does not depend on any axioms\n'Collections.Main.key_order_nat' does not depend on any axioms\n'Collections.Main.key_order_product' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Main.key_order_string' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Main.key_order_uint16' does not depend on any axioms\n'Collections.Main.key_order_uint32' does not depend on any axioms\n'Collections.Main.key_order_uint64' does not depend on any axioms\n'Collections.Main.key_order_uint8' does not depend on any axioms\n'Collections.Main.op_graph_reachable' depends on axioms: [propext]\n'Collections.Main.op_graph_successors' does not depend on any axioms\n'Collections.Main.op_graph_successors_absent' does not depend on any axioms\n'Collections.Main.op_graph_topological' does not depend on any axioms\n'Collections.Main.op_iterate_until_exhausted' does not depend on any axioms\n'Collections.Main.op_iterate_until_fixed_point' does not depend on any axioms\n'Collections.Main.op_iterate_zero' does not depend on any axioms\n'Collections.Main.op_list_fold' does not depend on any axioms\n'Collections.Main.op_map_contains' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Main.op_map_entries' does not depend on any axioms\n'Collections.Main.op_map_fold' does not depend on any axioms\n'Collections.Main.op_map_insert' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Main.op_map_insert_replaces' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Main.op_map_keys' does not depend on any axioms\n'Collections.Main.op_map_lookup' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Main.op_map_lookup_absent' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Main.op_map_remove' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Main.op_map_remove_absent' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Main.op_map_size' does not depend on any axioms\n'Collections.Main.op_map_values' does not depend on any axioms\n'Collections.Main.op_set_contains' does not depend on any axioms\n'Collections.Main.op_set_difference' does not depend on any axioms\n'Collections.Main.op_set_elements' does not depend on any axioms\n'Collections.Main.op_set_fold' does not depend on any axioms\n'Collections.Main.op_set_insert' does not depend on any axioms\n'Collections.Main.op_set_intersection' does not depend on any axioms\n'Collections.Main.op_set_remove' does not depend on any axioms\n'Collections.Main.op_set_size' does not depend on any axioms\n'Collections.Main.op_set_union' does not depend on any axioms\n'Collections.Main.parse_reaches_lex' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Main.reordered_literals_agree' does not depend on any axioms\n'Collections.Main.table_lookup' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Main.table_slots' depends on axioms: [propext, Classical.choice, Quot.sound]\n","stdout_sha256":"3d77f9bcb113d76b5e385245365c454f35d99c86cb74e7dfeb18ce445b9a81e2","tool":"lean"} diff --git a/examples/collections/expected/verify/audit/LexLeanAudit.Af3c0f49bf293302bde33c5b7cd2c6ac8.Collections.Measure.process.json b/examples/collections/expected/verify/audit/LexLeanAudit.Af3c0f49bf293302bde33c5b7cd2c6ac8.Collections.Measure.process.json deleted file mode 100644 index 78bfc01ce..000000000 --- a/examples/collections/expected/verify/audit/LexLeanAudit.Af3c0f49bf293302bde33c5b7cd2c6ac8.Collections.Measure.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Af3c0f49bf293302bde33c5b7cd2c6ac8.Collections.Measure.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Af3c0f49bf293302bde33c5b7cd2c6ac8.Collections.Measure","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Collections.Measure.distinctNames' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Measure.distinct_names' depends on axioms: [propext, Classical.choice, Quot.sound]\n","stdout_sha256":"9a0b51347cf1806a3c5870dffe83294b16325a9e46b47bba1233e7e3fb48209e","tool":"lean"} diff --git a/examples/collections/expected/verify/audit/LexLeanAudit.Af3c0f49bf293302bde33c5b7cd2c6ac8.Collections.Tables.process.json b/examples/collections/expected/verify/audit/LexLeanAudit.Af3c0f49bf293302bde33c5b7cd2c6ac8.Collections.Tables.process.json deleted file mode 100644 index 65b14332a..000000000 --- a/examples/collections/expected/verify/audit/LexLeanAudit.Af3c0f49bf293302bde33c5b7cd2c6ac8.Collections.Tables.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Af3c0f49bf293302bde33c5b7cd2c6ac8.Collections.Tables.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Af3c0f49bf293302bde33c5b7cd2c6ac8.Collections.Tables","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Collections.Tables.buildTable' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Tables.callGraph' does not depend on any axioms\n'Collections.Tables.callOrder' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Tables.declare' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Collections.Tables.reachableFromParse' depends on axioms: [propext, Classical.choice, Quot.sound]\n","stdout_sha256":"b5887435160be7412b795a6f5a33d36ac682a409c841bd95a8d98982df4173e9","tool":"lean"} diff --git a/examples/collections/expected/verify/audit/output.txt b/examples/collections/expected/verify/audit/output.txt index 8d94e1552..fd85b7383 100644 --- a/examples/collections/expected/verify/audit/output.txt +++ b/examples/collections/expected/verify/audit/output.txt @@ -57,3 +57,266 @@ 'Collections.Tables.callOrder' depends on axioms: [propext, Classical.choice, Quot.sound] 'Collections.Tables.declare' depends on axioms: [propext, Classical.choice, Quot.sound] 'Collections.Tables.reachableFromParse' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanCollections.Key' does not depend on any axioms +'LexLeanCollections.Key.casesOn' does not depend on any axioms +'LexLeanCollections.Key.compare' does not depend on any axioms +'LexLeanCollections.Key.ctorIdx' does not depend on any axioms +'LexLeanCollections.Key.mk._flat_ctor' does not depend on any axioms +'LexLeanCollections.Key.mk.noConfusion' does not depend on any axioms +'LexLeanCollections.Key.noConfusion' does not depend on any axioms +'LexLeanCollections.Key.noConfusionType' does not depend on any axioms +'LexLeanCollections.Key.recOn' does not depend on any axioms +'LexLeanCollections.compareCodes' depends on axioms: [propext] +'LexLeanCollections.compareCodes._f' depends on axioms: [propext] +'LexLeanCollections.compareCodes._sparseCasesOn_1' depends on axioms: [propext] +'LexLeanCollections.compareCodes._sunfold' depends on axioms: [propext] +'LexLeanCollections.compareCodes._unsafe_rec' depends on axioms: [propext] +'LexLeanCollections.compareCodes.match_1' depends on axioms: [propext] +'LexLeanCollections.compareCodes.match_4' does not depend on any axioms +'LexLeanCollections.containsElement' does not depend on any axioms +'LexLeanCollections.containsElement._f' does not depend on any axioms +'LexLeanCollections.containsElement._sunfold' does not depend on any axioms +'LexLeanCollections.containsElement._unsafe_rec' does not depend on any axioms +'LexLeanCollections.graphNodes' does not depend on any axioms +'LexLeanCollections.graphReachable' depends on axioms: [propext] +'LexLeanCollections.graphSuccessors' does not depend on any axioms +'LexLeanCollections.graphTopological' does not depend on any axioms +'LexLeanCollections.insertElement' does not depend on any axioms +'LexLeanCollections.insertElement._f' does not depend on any axioms +'LexLeanCollections.insertElement._sunfold' does not depend on any axioms +'LexLeanCollections.insertElement._unsafe_rec' does not depend on any axioms +'LexLeanCollections.insertElement.match_1' does not depend on any axioms +'LexLeanCollections.insertEntry' does not depend on any axioms +'LexLeanCollections.insertEntry._f' does not depend on any axioms +'LexLeanCollections.insertEntry._sunfold' does not depend on any axioms +'LexLeanCollections.insertEntry._unsafe_rec' does not depend on any axioms +'LexLeanCollections.insertEntry.match_1' does not depend on any axioms +'LexLeanCollections.insertEntry.match_3' does not depend on any axioms +'LexLeanCollections.instKeyBool' depends on axioms: [propext] +'LexLeanCollections.instKeyInt' does not depend on any axioms +'LexLeanCollections.instKeyInt16' does not depend on any axioms +'LexLeanCollections.instKeyInt32' does not depend on any axioms +'LexLeanCollections.instKeyInt64' does not depend on any axioms +'LexLeanCollections.instKeyInt8' does not depend on any axioms +'LexLeanCollections.instKeyNat' does not depend on any axioms +'LexLeanCollections.instKeyProd' depends on axioms: [propext] +'LexLeanCollections.instKeyString' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanCollections.instKeyUInt16' does not depend on any axioms +'LexLeanCollections.instKeyUInt32' does not depend on any axioms +'LexLeanCollections.instKeyUInt64' does not depend on any axioms +'LexLeanCollections.instKeyUInt8' does not depend on any axioms +'LexLeanCollections.iterate' does not depend on any axioms +'LexLeanCollections.iterate._f' does not depend on any axioms +'LexLeanCollections.iterate._sunfold' does not depend on any axioms +'LexLeanCollections.iterate._unsafe_rec' does not depend on any axioms +'LexLeanCollections.iterate.match_1' does not depend on any axioms +'LexLeanCollections.iterateUntil' does not depend on any axioms +'LexLeanCollections.iterateUntil._f' does not depend on any axioms +'LexLeanCollections.iterateUntil._sunfold' does not depend on any axioms +'LexLeanCollections.iterateUntil._unsafe_rec' does not depend on any axioms +'LexLeanCollections.iterateUntil.match_1' does not depend on any axioms +'LexLeanCollections.lessThan' depends on axioms: [propext] +'LexLeanCollections.lessThan._sparseCasesOn_1' depends on axioms: [propext] +'LexLeanCollections.lessThan.match_1' depends on axioms: [propext] +'LexLeanCollections.listFold' does not depend on any axioms +'LexLeanCollections.lookupEntry' does not depend on any axioms +'LexLeanCollections.lookupEntry._f' does not depend on any axioms +'LexLeanCollections.lookupEntry._sunfold' does not depend on any axioms +'LexLeanCollections.lookupEntry._unsafe_rec' does not depend on any axioms +'LexLeanCollections.mapContains' does not depend on any axioms +'LexLeanCollections.mapEntries' does not depend on any axioms +'LexLeanCollections.mapFold' does not depend on any axioms +'LexLeanCollections.mapInsert' does not depend on any axioms +'LexLeanCollections.mapKeys' does not depend on any axioms +'LexLeanCollections.mapLookup' does not depend on any axioms +'LexLeanCollections.mapRemove' does not depend on any axioms +'LexLeanCollections.mapSize' does not depend on any axioms +'LexLeanCollections.mapValues' does not depend on any axioms +'LexLeanCollections.reachableFrom' depends on axioms: [propext] +'LexLeanCollections.reachableFrom._f' depends on axioms: [propext] +'LexLeanCollections.reachableFrom._sparseCasesOn_1' depends on axioms: [propext] +'LexLeanCollections.reachableFrom._sunfold' depends on axioms: [propext] +'LexLeanCollections.reachableFrom._unsafe_rec' depends on axioms: [propext] +'LexLeanCollections.reachableFrom.match_1' depends on axioms: [propext] +'LexLeanCollections.reachableFrom.match_4' does not depend on any axioms +'LexLeanCollections.removeElement' does not depend on any axioms +'LexLeanCollections.removeElement._f' does not depend on any axioms +'LexLeanCollections.removeElement._sunfold' does not depend on any axioms +'LexLeanCollections.removeElement._unsafe_rec' does not depend on any axioms +'LexLeanCollections.removeEntry' does not depend on any axioms +'LexLeanCollections.removeEntry._f' does not depend on any axioms +'LexLeanCollections.removeEntry._sunfold' does not depend on any axioms +'LexLeanCollections.removeEntry._unsafe_rec' does not depend on any axioms +'LexLeanCollections.setContains' does not depend on any axioms +'LexLeanCollections.setDifference' does not depend on any axioms +'LexLeanCollections.setElements' does not depend on any axioms +'LexLeanCollections.setFold' does not depend on any axioms +'LexLeanCollections.setInsert' does not depend on any axioms +'LexLeanCollections.setIntersection' does not depend on any axioms +'LexLeanCollections.setRemove' does not depend on any axioms +'LexLeanCollections.setSize' does not depend on any axioms +'LexLeanCollections.setUnion' does not depend on any axioms +'LexLeanCollections.topological' does not depend on any axioms +'LexLeanCollections.topological._f' does not depend on any axioms +'LexLeanCollections.topological._sunfold' does not depend on any axioms +'LexLeanCollections.topological._unsafe_rec' does not depend on any axioms +'LexLeanRuntime.Appendable' does not depend on any axioms +'LexLeanRuntime.Appendable.append' does not depend on any axioms +'LexLeanRuntime.Appendable.casesOn' does not depend on any axioms +'LexLeanRuntime.Appendable.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Appendable.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Appendable.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Appendable.noConfusion' does not depend on any axioms +'LexLeanRuntime.Appendable.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Appendable.recOn' does not depend on any axioms +'LexLeanRuntime.Decimal' does not depend on any axioms +'LexLeanRuntime.Decimal.casesOn' does not depend on any axioms +'LexLeanRuntime.Decimal.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Decimal.format' does not depend on any axioms +'LexLeanRuntime.Decimal.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Decimal.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Decimal.noConfusion' does not depend on any axioms +'LexLeanRuntime.Decimal.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Decimal.parse' does not depend on any axioms +'LexLeanRuntime.Decimal.recOn' does not depend on any axioms +'LexLeanRuntime.Fixed' does not depend on any axioms +'LexLeanRuntime.Fixed.bitAnd' does not depend on any axioms +'LexLeanRuntime.Fixed.bitNot' does not depend on any axioms +'LexLeanRuntime.Fixed.bitOr' does not depend on any axioms +'LexLeanRuntime.Fixed.bitXor' does not depend on any axioms +'LexLeanRuntime.Fixed.casesOn' does not depend on any axioms +'LexLeanRuntime.Fixed.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Fixed.fromInt' does not depend on any axioms +'LexLeanRuntime.Fixed.maximum' does not depend on any axioms +'LexLeanRuntime.Fixed.minimum' does not depend on any axioms +'LexLeanRuntime.Fixed.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Fixed.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Fixed.noConfusion' does not depend on any axioms +'LexLeanRuntime.Fixed.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Fixed.recOn' does not depend on any axioms +'LexLeanRuntime.Fixed.shiftLeft' does not depend on any axioms +'LexLeanRuntime.Fixed.shiftRight' does not depend on any axioms +'LexLeanRuntime.Fixed.toToMathInt' does not depend on any axioms +'LexLeanRuntime.Indexable' does not depend on any axioms +'LexLeanRuntime.Indexable.casesOn' does not depend on any axioms +'LexLeanRuntime.Indexable.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Indexable.index' does not depend on any axioms +'LexLeanRuntime.Indexable.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Indexable.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Indexable.noConfusion' does not depend on any axioms +'LexLeanRuntime.Indexable.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Indexable.recOn' does not depend on any axioms +'LexLeanRuntime.Lengthable' does not depend on any axioms +'LexLeanRuntime.Lengthable.casesOn' does not depend on any axioms +'LexLeanRuntime.Lengthable.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Lengthable.length' does not depend on any axioms +'LexLeanRuntime.Lengthable.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Lengthable.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Lengthable.noConfusion' does not depend on any axioms +'LexLeanRuntime.Lengthable.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Lengthable.recOn' does not depend on any axioms +'LexLeanRuntime.Quotient' does not depend on any axioms +'LexLeanRuntime.Quotient.casesOn' does not depend on any axioms +'LexLeanRuntime.Quotient.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Quotient.isZero' does not depend on any axioms +'LexLeanRuntime.Quotient.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Quotient.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Quotient.noConfusion' does not depend on any axioms +'LexLeanRuntime.Quotient.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Quotient.quotient' does not depend on any axioms +'LexLeanRuntime.Quotient.recOn' does not depend on any axioms +'LexLeanRuntime.Quotient.remainder' does not depend on any axioms +'LexLeanRuntime.Sliceable' does not depend on any axioms +'LexLeanRuntime.Sliceable.casesOn' does not depend on any axioms +'LexLeanRuntime.Sliceable.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Sliceable.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Sliceable.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Sliceable.noConfusion' does not depend on any axioms +'LexLeanRuntime.Sliceable.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Sliceable.recOn' does not depend on any axioms +'LexLeanRuntime.Sliceable.slice' does not depend on any axioms +'LexLeanRuntime.ToMathInt' does not depend on any axioms +'LexLeanRuntime.ToMathInt.casesOn' does not depend on any axioms +'LexLeanRuntime.ToMathInt.ctorIdx' does not depend on any axioms +'LexLeanRuntime.ToMathInt.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.ToMathInt.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.ToMathInt.noConfusion' does not depend on any axioms +'LexLeanRuntime.ToMathInt.noConfusionType' does not depend on any axioms +'LexLeanRuntime.ToMathInt.recOn' does not depend on any axioms +'LexLeanRuntime.ToMathInt.toInt' does not depend on any axioms +'LexLeanRuntime.append' does not depend on any axioms +'LexLeanRuntime.bitAnd' does not depend on any axioms +'LexLeanRuntime.bitNot' does not depend on any axioms +'LexLeanRuntime.bitOr' does not depend on any axioms +'LexLeanRuntime.bitXor' does not depend on any axioms +'LexLeanRuntime.checkedAdd' does not depend on any axioms +'LexLeanRuntime.checkedAddInt64' does not depend on any axioms +'LexLeanRuntime.checkedConvert' does not depend on any axioms +'LexLeanRuntime.checkedFromInt' does not depend on any axioms +'LexLeanRuntime.checkedMultiply' does not depend on any axioms +'LexLeanRuntime.checkedMultiplyInt64' does not depend on any axioms +'LexLeanRuntime.checkedMultiplyInt64.match_1' does not depend on any axioms +'LexLeanRuntime.checkedNegate' does not depend on any axioms +'LexLeanRuntime.checkedNegateInt64' does not depend on any axioms +'LexLeanRuntime.checkedQuotient' does not depend on any axioms +'LexLeanRuntime.checkedQuotientInt64' does not depend on any axioms +'LexLeanRuntime.checkedSubtract' does not depend on any axioms +'LexLeanRuntime.checkedSubtractInt64' does not depend on any axioms +'LexLeanRuntime.compareBytes' depends on axioms: [propext] +'LexLeanRuntime.divideMagnitudeInt64' does not depend on any axioms +'LexLeanRuntime.divideMagnitudeInt64._f' does not depend on any axioms +'LexLeanRuntime.divideMagnitudeInt64._sunfold' does not depend on any axioms +'LexLeanRuntime.divideMagnitudeInt64._unsafe_rec' does not depend on any axioms +'LexLeanRuntime.divideMagnitudeInt64.match_1' does not depend on any axioms +'LexLeanRuntime.equal' does not depend on any axioms +'LexLeanRuntime.formatDecimal' does not depend on any axioms +'LexLeanRuntime.index' does not depend on any axioms +'LexLeanRuntime.instAppendableByteArray' does not depend on any axioms +'LexLeanRuntime.instAppendableList' does not depend on any axioms +'LexLeanRuntime.instDecimalInt' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.instDecimalInt.match_1' does not depend on any axioms +'LexLeanRuntime.instDecimalOfFixedOfToString' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.instFixedInt16' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedInt32' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedInt64' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedInt8' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedUInt16' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedUInt32' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedUInt64' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedUInt8' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instIndexableByteArrayUInt8' does not depend on any axioms +'LexLeanRuntime.instIndexableList' does not depend on any axioms +'LexLeanRuntime.instLengthableByteArray' does not depend on any axioms +'LexLeanRuntime.instLengthableList' does not depend on any axioms +'LexLeanRuntime.instLengthableString' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.instQuotientInt' does not depend on any axioms +'LexLeanRuntime.instQuotientNat' does not depend on any axioms +'LexLeanRuntime.instSliceableByteArray' does not depend on any axioms +'LexLeanRuntime.instSliceableList' does not depend on any axioms +'LexLeanRuntime.instToMathIntInt' does not depend on any axioms +'LexLeanRuntime.join' depends on axioms: [propext] +'LexLeanRuntime.length' does not depend on any axioms +'LexLeanRuntime.listIndex' does not depend on any axioms +'LexLeanRuntime.listIndex._f' does not depend on any axioms +'LexLeanRuntime.listIndex._sunfold' does not depend on any axioms +'LexLeanRuntime.listIndex._unsafe_rec' does not depend on any axioms +'LexLeanRuntime.listIndex.match_1' does not depend on any axioms +'LexLeanRuntime.magnitudeInt64' does not depend on any axioms +'LexLeanRuntime.multiply' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64._f' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64._sunfold' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64._unsafe_rec' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64.match_1' does not depend on any axioms +'LexLeanRuntime.negate' does not depend on any axioms +'LexLeanRuntime.parseDecimal' does not depend on any axioms +'LexLeanRuntime.quotient' does not depend on any axioms +'LexLeanRuntime.remainder' does not depend on any axioms +'LexLeanRuntime.shiftLeft' does not depend on any axioms +'LexLeanRuntime.shiftRight' does not depend on any axioms +'LexLeanRuntime.signedMagnitudeInt64' does not depend on any axioms +'LexLeanRuntime.slice' does not depend on any axioms +'LexLeanRuntime.splitExact' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.subtract' does not depend on any axioms +'LexLeanRuntime.utf8Decode' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.utf8Encode' does not depend on any axioms diff --git a/examples/collections/expected/verify/probe/LexLeanProbe.Pf3c0f49bf293302bde33c5b7cd2c6ac8.lean b/examples/collections/expected/verify/probe/LexLeanProbe.Pea7d3fe6d34a1d041905f5846779737d.lean similarity index 100% rename from examples/collections/expected/verify/probe/LexLeanProbe.Pf3c0f49bf293302bde33c5b7cd2c6ac8.lean rename to examples/collections/expected/verify/probe/LexLeanProbe.Pea7d3fe6d34a1d041905f5846779737d.lean diff --git a/examples/collections/expected/verify/probe/process.json b/examples/collections/expected/verify/probe/process.json index a01443042..b9c400450 100644 --- a/examples/collections/expected/verify/probe/process.json +++ b/examples/collections/expected/verify/probe/process.json @@ -1 +1 @@ -{"argv":["env","lean","$STAGING/probe/LexLeanProbe.Pf3c0f49bf293302bde33c5b7cd2c6ac8.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.Pf3c0f49bf293302bde33c5b7cd2c6ac8","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} +{"argv":["env","lean","$STAGING/probe/LexLeanProbe.Pea7d3fe6d34a1d041905f5846779737d.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.Pea7d3fe6d34a1d041905f5846779737d","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/collections/expected/verify/process/lean/LexLeanRuntime.Collections.json b/examples/collections/expected/verify/process/lean/LexLeanRuntime.Collections.json new file mode 100644 index 000000000..75248f178 --- /dev/null +++ b/examples/collections/expected/verify/process/lean/LexLeanRuntime.Collections.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/lean-src","-o","$STAGING/oleans/LexLeanRuntime/Collections.olean","$STAGING/lean-src/LexLeanRuntime/Collections.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Collections","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/collections/expected/verify/process/lean/LexLeanRuntime.Portable.json b/examples/collections/expected/verify/process/lean/LexLeanRuntime.Portable.json new file mode 100644 index 000000000..1ce5b3a39 --- /dev/null +++ b/examples/collections/expected/verify/process/lean/LexLeanRuntime.Portable.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/lean-src","-o","$STAGING/oleans/LexLeanRuntime/Portable.olean","$STAGING/lean-src/LexLeanRuntime/Portable.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Portable","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/collections/expected/verify/process/leanchecker/LexLeanRuntime.Collections.json b/examples/collections/expected/verify/process/leanchecker/LexLeanRuntime.Collections.json new file mode 100644 index 000000000..52662ef9b --- /dev/null +++ b/examples/collections/expected/verify/process/leanchecker/LexLeanRuntime.Collections.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanRuntime.Collections"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Collections","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/collections/expected/verify/process/leanchecker/LexLeanRuntime.Portable.json b/examples/collections/expected/verify/process/leanchecker/LexLeanRuntime.Portable.json new file mode 100644 index 000000000..826a4b876 --- /dev/null +++ b/examples/collections/expected/verify/process/leanchecker/LexLeanRuntime.Portable.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanRuntime.Portable"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Portable","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/collections/lexlean.lock b/examples/collections/lexlean.lock index 0ade32afa..6f3747e1a 100644 --- a/examples/collections/lexlean.lock +++ b/examples/collections/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "87b05dc405590c51e9a51ac60ef00f9096c4a38c29b9bab379a02d5c6a1cd744" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/examples/higher-order/expected/build/manifest.json b/examples/higher-order/expected/build/manifest.json index ebf404c81..4c67696d4 100644 --- a/examples/higher-order/expected/build/manifest.json +++ b/examples/higher-order/expected/build/manifest.json @@ -1 +1 @@ -{"build_id":"cdde83ae703f5b120bd700c5be7a03d0727b0be095481a492be5eb494e5b893c","compiler":{"semantics_id":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","version":"0.3.0"},"inputs":[{"byte_length":2684,"kind":"lexicon","path":"embedded","sha256":"3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b"},{"byte_length":14885,"kind":"lexicon","path":"embedded","sha256":"e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac"},{"byte_length":36197,"kind":"lexicon","path":"embedded","sha256":"827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392"},{"byte_length":1597,"kind":"lock","path":"lexlean.lock","sha256":"88413b540a3e5cdfaeea03e9c830008a1c9dd8b249c16a7e3f5f7524dbf1eaae"},{"byte_length":645,"kind":"project-config","path":"lexlean.toml","sha256":"63cb702cbed6f4e72305e820ab8e7310f3323d3244a100faf4c849ec4330110a"},{"byte_length":2489,"kind":"source","path":"src/Combinators.lex.tex","sha256":"2897acd583a9c31765e9da32301cde5132a25902e7549c23a1ce629eb94a4bf9"},{"byte_length":3168,"kind":"source","path":"src/Main.lex.tex","sha256":"639694334033c139f99b6a002940b094e4aac2fd1d50a80adcba1accccb4adb5"}],"language":"1.2","lean_toolchain":"leanprover/lean4:v4.32.1","modules":[{"lean_module":"HigherOrder.Combinators","module":"Combinators","source_path":"src/Combinators.lex.tex"},{"lean_module":"HigherOrder.Main","module":"Main","source_path":"src/Main.lex.tex"}],"outputs":[{"byte_length":8967,"kind":"coverage","path":"coverage/HigherOrder/Combinators.coverage.json","sha256":"779593e39cdb5d165393afe9b60fcf4a3f1c035a4fd3df6f8f1738e081bc58e5"},{"byte_length":10374,"kind":"coverage","path":"coverage/HigherOrder/Main.coverage.json","sha256":"a49a19840ccc46c8be7b55b6db5e0b2bce9b9bbacd59ed831070ce6e51356830"},{"byte_length":1939,"kind":"lean","path":"modules/HigherOrder/Combinators.lean","sha256":"ba1d10dae60ef45d890c567b29320c1138baa0524aba40b5517d3e9dea3cb0b9"},{"byte_length":2689,"kind":"lean","path":"modules/HigherOrder/Main.lean","sha256":"5ca36cd0507376d552dab17320fff5ce6ed2bf31236a8eb27c1c8b3fd52224e6"},{"byte_length":10609,"kind":"lexicon-closure","path":"lexicons/Combinators.closure.json","sha256":"fae48e1888c045329cd97b90396673745ec6a61b5755fc5eba81998ce219bda9"},{"byte_length":10602,"kind":"lexicon-closure","path":"lexicons/Main.closure.json","sha256":"727110f90daff26a2e5eb8069fcefecd5790c1264f5d6d4b2ef57db1c2bfb867"},{"byte_length":3613,"kind":"map","path":"maps/HigherOrder/Combinators.map.json","sha256":"10598ea6879b25995a108472d0c9c631d290fb6bd4011b9ae898e353d941c0de"},{"byte_length":4862,"kind":"map","path":"maps/HigherOrder/Main.map.json","sha256":"41b36128b1ef1ffae6c35c7af372f97bae3f8d00ebd65b2d1de44c481314fb95"},{"byte_length":3628,"kind":"tex","path":"modules/HigherOrder/Combinators.tex","sha256":"a1d0978dcb8841db9ee6d8ee416345122c237a6e3cc6d65689a75638a358ed17"},{"byte_length":4694,"kind":"tex","path":"modules/HigherOrder/Main.tex","sha256":"d81f718da50aac062cda1e68639966bbdcf9b897353ac8c3c23f6dfd8c4428b4"}],"project":"higher-order","selection":["Combinators","Main"],"semantic_id":"97aeee0f2ea12071af0ba45cb3edfad7b868184fa9fce8d61923090d9b3c3c5b","source_id":"b4729ca11a9d385169bcdd4a4d4b9b5f80caaed29b57aa2eba6c0096ee3ad7a3","spec":"lexlean/build-manifest/1"} +{"build_id":"84d03109f6499244b20cc072330942414c78955f56fe61651a22e553835464a7","compiler":{"semantics_id":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","version":"0.3.0"},"inputs":[{"byte_length":2684,"kind":"lexicon","path":"embedded","sha256":"3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b"},{"byte_length":14885,"kind":"lexicon","path":"embedded","sha256":"e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac"},{"byte_length":36197,"kind":"lexicon","path":"embedded","sha256":"827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392"},{"byte_length":1597,"kind":"lock","path":"lexlean.lock","sha256":"e7286059fff263cb43b5d03d8bf496597a260153ceaa8d5cbcf2fd78c51c95dd"},{"byte_length":645,"kind":"project-config","path":"lexlean.toml","sha256":"63cb702cbed6f4e72305e820ab8e7310f3323d3244a100faf4c849ec4330110a"},{"byte_length":2489,"kind":"source","path":"src/Combinators.lex.tex","sha256":"2897acd583a9c31765e9da32301cde5132a25902e7549c23a1ce629eb94a4bf9"},{"byte_length":3168,"kind":"source","path":"src/Main.lex.tex","sha256":"639694334033c139f99b6a002940b094e4aac2fd1d50a80adcba1accccb4adb5"}],"language":"1.2","lean_toolchain":"leanprover/lean4:v4.32.1","modules":[{"lean_module":"HigherOrder.Combinators","module":"Combinators","source_path":"src/Combinators.lex.tex"},{"lean_module":"HigherOrder.Main","module":"Main","source_path":"src/Main.lex.tex"}],"outputs":[{"byte_length":8967,"kind":"coverage","path":"coverage/HigherOrder/Combinators.coverage.json","sha256":"779593e39cdb5d165393afe9b60fcf4a3f1c035a4fd3df6f8f1738e081bc58e5"},{"byte_length":10374,"kind":"coverage","path":"coverage/HigherOrder/Main.coverage.json","sha256":"a49a19840ccc46c8be7b55b6db5e0b2bce9b9bbacd59ed831070ce6e51356830"},{"byte_length":1939,"kind":"lean","path":"modules/HigherOrder/Combinators.lean","sha256":"ba1d10dae60ef45d890c567b29320c1138baa0524aba40b5517d3e9dea3cb0b9"},{"byte_length":2689,"kind":"lean","path":"modules/HigherOrder/Main.lean","sha256":"5ca36cd0507376d552dab17320fff5ce6ed2bf31236a8eb27c1c8b3fd52224e6"},{"byte_length":10609,"kind":"lexicon-closure","path":"lexicons/Combinators.closure.json","sha256":"fae48e1888c045329cd97b90396673745ec6a61b5755fc5eba81998ce219bda9"},{"byte_length":10602,"kind":"lexicon-closure","path":"lexicons/Main.closure.json","sha256":"727110f90daff26a2e5eb8069fcefecd5790c1264f5d6d4b2ef57db1c2bfb867"},{"byte_length":3613,"kind":"map","path":"maps/HigherOrder/Combinators.map.json","sha256":"2c3c471098e3fda9e92109e7ecb165078f52c70125ed2401cf6ef1bf875256e1"},{"byte_length":4862,"kind":"map","path":"maps/HigherOrder/Main.map.json","sha256":"e75100a262b6ee834bcdb9df2be8e009a48048bd9fcfe375b5f9b1af9f87649c"},{"byte_length":3628,"kind":"tex","path":"modules/HigherOrder/Combinators.tex","sha256":"a1d0978dcb8841db9ee6d8ee416345122c237a6e3cc6d65689a75638a358ed17"},{"byte_length":4694,"kind":"tex","path":"modules/HigherOrder/Main.tex","sha256":"d81f718da50aac062cda1e68639966bbdcf9b897353ac8c3c23f6dfd8c4428b4"}],"project":"higher-order","selection":["Combinators","Main"],"semantic_id":"2b4f6e30534b04d6a22efe4eea3cc08cd6670031f94ccac4cf3e38631f89d0a4","source_id":"9f9c6c497cfba9403cfdd80494bf58000c71d0e9303de1038079d60f5914384a","spec":"lexlean/build-manifest/1"} diff --git a/examples/higher-order/expected/build/maps/HigherOrder/Combinators.map.json b/examples/higher-order/expected/build/maps/HigherOrder/Combinators.map.json index 3712fd23a..41eb1e568 100644 --- a/examples/higher-order/expected/build/maps/HigherOrder/Combinators.map.json +++ b/examples/higher-order/expected/build/maps/HigherOrder/Combinators.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/HigherOrder/Combinators.lean"},{"id":1,"kind":"tex","path":"modules/HigherOrder/Combinators.tex"}],"mappings":[{"artifact":0,"gen_end":206,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":2489,"src_start":0},{"artifact":0,"gen_end":504,"gen_start":206,"node":1,"role":"declaration","source":0,"src_end":494,"src_start":120},{"artifact":0,"gen_end":818,"gen_start":504,"node":2,"role":"declaration","source":0,"src_end":872,"src_start":496},{"artifact":0,"gen_end":1035,"gen_start":818,"node":3,"role":"declaration","source":0,"src_end":1140,"src_start":874},{"artifact":0,"gen_end":1102,"gen_start":1035,"node":4,"role":"declaration","source":0,"src_end":1258,"src_start":1142},{"artifact":0,"gen_end":1209,"gen_start":1102,"node":5,"role":"declaration","source":0,"src_end":1463,"src_start":1260},{"artifact":0,"gen_end":1338,"gen_start":1209,"node":6,"role":"declaration","source":0,"src_end":1684,"src_start":1465},{"artifact":0,"gen_end":1673,"gen_start":1338,"node":7,"role":"declaration","source":0,"src_end":2106,"src_start":1686},{"artifact":0,"gen_end":1910,"gen_start":1673,"node":8,"role":"declaration","source":0,"src_end":2453,"src_start":2108},{"artifact":0,"gen_end":1939,"gen_start":1910,"node":0,"role":"declaration","source":0,"src_end":2489,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":9,"role":"declaration","source":0,"src_end":2489,"src_start":0},{"artifact":1,"gen_end":695,"gen_start":134,"node":10,"role":"declaration","source":0,"src_end":494,"src_start":120},{"artifact":1,"gen_end":1261,"gen_start":695,"node":11,"role":"declaration","source":0,"src_end":872,"src_start":496},{"artifact":1,"gen_end":1761,"gen_start":1261,"node":12,"role":"declaration","source":0,"src_end":1140,"src_start":874},{"artifact":1,"gen_end":2075,"gen_start":1761,"node":13,"role":"declaration","source":0,"src_end":1258,"src_start":1142},{"artifact":1,"gen_end":2330,"gen_start":2075,"node":14,"role":"declaration","source":0,"src_end":1463,"src_start":1260},{"artifact":1,"gen_end":2606,"gen_start":2330,"node":15,"role":"declaration","source":0,"src_end":1684,"src_start":1465},{"artifact":1,"gen_end":3111,"gen_start":2606,"node":16,"role":"declaration","source":0,"src_end":2106,"src_start":1686},{"artifact":1,"gen_end":3613,"gen_start":3111,"node":17,"role":"declaration","source":0,"src_end":2453,"src_start":2108},{"artifact":1,"gen_end":3628,"gen_start":3613,"node":9,"role":"declaration","source":0,"src_end":2489,"src_start":0}],"module":"Combinators","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-latex-module"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"}],"semantic_id":"97aeee0f2ea12071af0ba45cb3edfad7b868184fa9fce8d61923090d9b3c3c5b","source_id":"b4729ca11a9d385169bcdd4a4d4b9b5f80caaed29b57aa2eba6c0096ee3ad7a3","sources":[{"id":0,"kind":"file","path":"src/Combinators.lex.tex","sha256":"2897acd583a9c31765e9da32301cde5132a25902e7549c23a1ce629eb94a4bf9"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/HigherOrder/Combinators.lean"},{"id":1,"kind":"tex","path":"modules/HigherOrder/Combinators.tex"}],"mappings":[{"artifact":0,"gen_end":206,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":2489,"src_start":0},{"artifact":0,"gen_end":504,"gen_start":206,"node":1,"role":"declaration","source":0,"src_end":494,"src_start":120},{"artifact":0,"gen_end":818,"gen_start":504,"node":2,"role":"declaration","source":0,"src_end":872,"src_start":496},{"artifact":0,"gen_end":1035,"gen_start":818,"node":3,"role":"declaration","source":0,"src_end":1140,"src_start":874},{"artifact":0,"gen_end":1102,"gen_start":1035,"node":4,"role":"declaration","source":0,"src_end":1258,"src_start":1142},{"artifact":0,"gen_end":1209,"gen_start":1102,"node":5,"role":"declaration","source":0,"src_end":1463,"src_start":1260},{"artifact":0,"gen_end":1338,"gen_start":1209,"node":6,"role":"declaration","source":0,"src_end":1684,"src_start":1465},{"artifact":0,"gen_end":1673,"gen_start":1338,"node":7,"role":"declaration","source":0,"src_end":2106,"src_start":1686},{"artifact":0,"gen_end":1910,"gen_start":1673,"node":8,"role":"declaration","source":0,"src_end":2453,"src_start":2108},{"artifact":0,"gen_end":1939,"gen_start":1910,"node":0,"role":"declaration","source":0,"src_end":2489,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":9,"role":"declaration","source":0,"src_end":2489,"src_start":0},{"artifact":1,"gen_end":695,"gen_start":134,"node":10,"role":"declaration","source":0,"src_end":494,"src_start":120},{"artifact":1,"gen_end":1261,"gen_start":695,"node":11,"role":"declaration","source":0,"src_end":872,"src_start":496},{"artifact":1,"gen_end":1761,"gen_start":1261,"node":12,"role":"declaration","source":0,"src_end":1140,"src_start":874},{"artifact":1,"gen_end":2075,"gen_start":1761,"node":13,"role":"declaration","source":0,"src_end":1258,"src_start":1142},{"artifact":1,"gen_end":2330,"gen_start":2075,"node":14,"role":"declaration","source":0,"src_end":1463,"src_start":1260},{"artifact":1,"gen_end":2606,"gen_start":2330,"node":15,"role":"declaration","source":0,"src_end":1684,"src_start":1465},{"artifact":1,"gen_end":3111,"gen_start":2606,"node":16,"role":"declaration","source":0,"src_end":2106,"src_start":1686},{"artifact":1,"gen_end":3613,"gen_start":3111,"node":17,"role":"declaration","source":0,"src_end":2453,"src_start":2108},{"artifact":1,"gen_end":3628,"gen_start":3613,"node":9,"role":"declaration","source":0,"src_end":2489,"src_start":0}],"module":"Combinators","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-latex-module"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"}],"semantic_id":"2b4f6e30534b04d6a22efe4eea3cc08cd6670031f94ccac4cf3e38631f89d0a4","source_id":"9f9c6c497cfba9403cfdd80494bf58000c71d0e9303de1038079d60f5914384a","sources":[{"id":0,"kind":"file","path":"src/Combinators.lex.tex","sha256":"2897acd583a9c31765e9da32301cde5132a25902e7549c23a1ce629eb94a4bf9"}],"spec":"lexlean/source-map/1"} diff --git a/examples/higher-order/expected/build/maps/HigherOrder/Main.map.json b/examples/higher-order/expected/build/maps/HigherOrder/Main.map.json index 44859a1f8..23563497e 100644 --- a/examples/higher-order/expected/build/maps/HigherOrder/Main.map.json +++ b/examples/higher-order/expected/build/maps/HigherOrder/Main.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/HigherOrder/Main.lean"},{"id":1,"kind":"tex","path":"modules/HigherOrder/Main.tex"}],"mappings":[{"artifact":0,"gen_end":237,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":3168,"src_start":0},{"artifact":0,"gen_end":414,"gen_start":237,"node":1,"role":"declaration","source":0,"src_end":360,"src_start":140},{"artifact":0,"gen_end":582,"gen_start":414,"node":2,"role":"declaration","source":0,"src_end":563,"src_start":362},{"artifact":0,"gen_end":741,"gen_start":582,"node":3,"role":"declaration","source":0,"src_end":752,"src_start":565},{"artifact":0,"gen_end":928,"gen_start":741,"node":4,"role":"declaration","source":0,"src_end":949,"src_start":754},{"artifact":0,"gen_end":1192,"gen_start":928,"node":5,"role":"declaration","source":0,"src_end":1228,"src_start":951},{"artifact":0,"gen_end":1329,"gen_start":1192,"node":6,"role":"declaration","source":0,"src_end":1405,"src_start":1230},{"artifact":0,"gen_end":1430,"gen_start":1329,"node":7,"role":"declaration","source":0,"src_end":1552,"src_start":1407},{"artifact":0,"gen_end":1547,"gen_start":1430,"node":8,"role":"declaration","source":0,"src_end":1707,"src_start":1554},{"artifact":0,"gen_end":1613,"gen_start":1547,"node":9,"role":"declaration","source":0,"src_end":1825,"src_start":1709},{"artifact":0,"gen_end":2063,"gen_start":1613,"node":10,"role":"declaration","source":0,"src_end":2247,"src_start":1827},{"artifact":0,"gen_end":2416,"gen_start":2063,"node":11,"role":"declaration","source":0,"src_end":2795,"src_start":2249},{"artifact":0,"gen_end":2667,"gen_start":2416,"node":12,"role":"declaration","source":0,"src_end":3132,"src_start":2797},{"artifact":0,"gen_end":2689,"gen_start":2667,"node":0,"role":"declaration","source":0,"src_end":3168,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":13,"role":"declaration","source":0,"src_end":3168,"src_start":0},{"artifact":1,"gen_end":635,"gen_start":134,"node":14,"role":"declaration","source":0,"src_end":360,"src_start":140},{"artifact":1,"gen_end":1126,"gen_start":635,"node":15,"role":"declaration","source":0,"src_end":563,"src_start":362},{"artifact":1,"gen_end":1532,"gen_start":1126,"node":16,"role":"declaration","source":0,"src_end":752,"src_start":565},{"artifact":1,"gen_end":1936,"gen_start":1532,"node":17,"role":"declaration","source":0,"src_end":949,"src_start":754},{"artifact":1,"gen_end":2567,"gen_start":1936,"node":18,"role":"declaration","source":0,"src_end":1228,"src_start":951},{"artifact":1,"gen_end":2814,"gen_start":2567,"node":19,"role":"declaration","source":0,"src_end":1405,"src_start":1230},{"artifact":1,"gen_end":3025,"gen_start":2814,"node":20,"role":"declaration","source":0,"src_end":1552,"src_start":1407},{"artifact":1,"gen_end":3252,"gen_start":3025,"node":21,"role":"declaration","source":0,"src_end":1707,"src_start":1554},{"artifact":1,"gen_end":3427,"gen_start":3252,"node":22,"role":"declaration","source":0,"src_end":1825,"src_start":1709},{"artifact":1,"gen_end":3987,"gen_start":3427,"node":23,"role":"declaration","source":0,"src_end":2247,"src_start":1827},{"artifact":1,"gen_end":4361,"gen_start":3987,"node":24,"role":"declaration","source":0,"src_end":2795,"src_start":2249},{"artifact":1,"gen_end":4679,"gen_start":4361,"node":25,"role":"declaration","source":0,"src_end":3132,"src_start":2797},{"artifact":1,"gen_end":4694,"gen_start":4679,"node":13,"role":"declaration","source":0,"src_end":3168,"src_start":0}],"module":"Main","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-latex-module"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"}],"semantic_id":"97aeee0f2ea12071af0ba45cb3edfad7b868184fa9fce8d61923090d9b3c3c5b","source_id":"b4729ca11a9d385169bcdd4a4d4b9b5f80caaed29b57aa2eba6c0096ee3ad7a3","sources":[{"id":0,"kind":"file","path":"src/Main.lex.tex","sha256":"639694334033c139f99b6a002940b094e4aac2fd1d50a80adcba1accccb4adb5"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/HigherOrder/Main.lean"},{"id":1,"kind":"tex","path":"modules/HigherOrder/Main.tex"}],"mappings":[{"artifact":0,"gen_end":237,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":3168,"src_start":0},{"artifact":0,"gen_end":414,"gen_start":237,"node":1,"role":"declaration","source":0,"src_end":360,"src_start":140},{"artifact":0,"gen_end":582,"gen_start":414,"node":2,"role":"declaration","source":0,"src_end":563,"src_start":362},{"artifact":0,"gen_end":741,"gen_start":582,"node":3,"role":"declaration","source":0,"src_end":752,"src_start":565},{"artifact":0,"gen_end":928,"gen_start":741,"node":4,"role":"declaration","source":0,"src_end":949,"src_start":754},{"artifact":0,"gen_end":1192,"gen_start":928,"node":5,"role":"declaration","source":0,"src_end":1228,"src_start":951},{"artifact":0,"gen_end":1329,"gen_start":1192,"node":6,"role":"declaration","source":0,"src_end":1405,"src_start":1230},{"artifact":0,"gen_end":1430,"gen_start":1329,"node":7,"role":"declaration","source":0,"src_end":1552,"src_start":1407},{"artifact":0,"gen_end":1547,"gen_start":1430,"node":8,"role":"declaration","source":0,"src_end":1707,"src_start":1554},{"artifact":0,"gen_end":1613,"gen_start":1547,"node":9,"role":"declaration","source":0,"src_end":1825,"src_start":1709},{"artifact":0,"gen_end":2063,"gen_start":1613,"node":10,"role":"declaration","source":0,"src_end":2247,"src_start":1827},{"artifact":0,"gen_end":2416,"gen_start":2063,"node":11,"role":"declaration","source":0,"src_end":2795,"src_start":2249},{"artifact":0,"gen_end":2667,"gen_start":2416,"node":12,"role":"declaration","source":0,"src_end":3132,"src_start":2797},{"artifact":0,"gen_end":2689,"gen_start":2667,"node":0,"role":"declaration","source":0,"src_end":3168,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":13,"role":"declaration","source":0,"src_end":3168,"src_start":0},{"artifact":1,"gen_end":635,"gen_start":134,"node":14,"role":"declaration","source":0,"src_end":360,"src_start":140},{"artifact":1,"gen_end":1126,"gen_start":635,"node":15,"role":"declaration","source":0,"src_end":563,"src_start":362},{"artifact":1,"gen_end":1532,"gen_start":1126,"node":16,"role":"declaration","source":0,"src_end":752,"src_start":565},{"artifact":1,"gen_end":1936,"gen_start":1532,"node":17,"role":"declaration","source":0,"src_end":949,"src_start":754},{"artifact":1,"gen_end":2567,"gen_start":1936,"node":18,"role":"declaration","source":0,"src_end":1228,"src_start":951},{"artifact":1,"gen_end":2814,"gen_start":2567,"node":19,"role":"declaration","source":0,"src_end":1405,"src_start":1230},{"artifact":1,"gen_end":3025,"gen_start":2814,"node":20,"role":"declaration","source":0,"src_end":1552,"src_start":1407},{"artifact":1,"gen_end":3252,"gen_start":3025,"node":21,"role":"declaration","source":0,"src_end":1707,"src_start":1554},{"artifact":1,"gen_end":3427,"gen_start":3252,"node":22,"role":"declaration","source":0,"src_end":1825,"src_start":1709},{"artifact":1,"gen_end":3987,"gen_start":3427,"node":23,"role":"declaration","source":0,"src_end":2247,"src_start":1827},{"artifact":1,"gen_end":4361,"gen_start":3987,"node":24,"role":"declaration","source":0,"src_end":2795,"src_start":2249},{"artifact":1,"gen_end":4679,"gen_start":4361,"node":25,"role":"declaration","source":0,"src_end":3132,"src_start":2797},{"artifact":1,"gen_end":4694,"gen_start":4679,"node":13,"role":"declaration","source":0,"src_end":3168,"src_start":0}],"module":"Main","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-latex-module"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"}],"semantic_id":"2b4f6e30534b04d6a22efe4eea3cc08cd6670031f94ccac4cf3e38631f89d0a4","source_id":"9f9c6c497cfba9403cfdd80494bf58000c71d0e9303de1038079d60f5914384a","sources":[{"id":0,"kind":"file","path":"src/Main.lex.tex","sha256":"639694334033c139f99b6a002940b094e4aac2fd1d50a80adcba1accccb4adb5"}],"spec":"lexlean/source-map/1"} diff --git a/examples/higher-order/expected/verify/audit/LexLeanAudit.A97aeee0f2ea12071af0ba45cb3edfad7.HigherOrder.Combinators.lean b/examples/higher-order/expected/verify/audit/LexLeanAudit.A2b4f6e30534b04d6a22efe4eea3cc08c.HigherOrder.Combinators.lean similarity index 100% rename from examples/higher-order/expected/verify/audit/LexLeanAudit.A97aeee0f2ea12071af0ba45cb3edfad7.HigherOrder.Combinators.lean rename to examples/higher-order/expected/verify/audit/LexLeanAudit.A2b4f6e30534b04d6a22efe4eea3cc08c.HigherOrder.Combinators.lean diff --git a/examples/higher-order/expected/verify/audit/LexLeanAudit.A2b4f6e30534b04d6a22efe4eea3cc08c.HigherOrder.Combinators.process.json b/examples/higher-order/expected/verify/audit/LexLeanAudit.A2b4f6e30534b04d6a22efe4eea3cc08c.HigherOrder.Combinators.process.json new file mode 100644 index 000000000..2288dd9a1 --- /dev/null +++ b/examples/higher-order/expected/verify/audit/LexLeanAudit.A2b4f6e30534b04d6a22efe4eea3cc08c.HigherOrder.Combinators.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A2b4f6e30534b04d6a22efe4eea3cc08c.HigherOrder.Combinators.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A2b4f6e30534b04d6a22efe4eea3cc08c.HigherOrder.Combinators","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'HigherOrder.Combinators.Arith' does not depend on any axioms\n'HigherOrder.Combinators.Visitor' does not depend on any axioms\n'HigherOrder.Combinators.compose' does not depend on any axioms\n'HigherOrder.Combinators.evaluate' does not depend on any axioms\n'HigherOrder.Combinators.foldList' does not depend on any axioms\n'HigherOrder.Combinators.increment' does not depend on any axioms\n'HigherOrder.Combinators.mapList' does not depend on any axioms\n'HigherOrder.Combinators.visit' does not depend on any axioms\n","stdout_sha256":"de1e33aa3f1e3e8770d289a02cc7469a8a96a5958bc23bca0cccd7b9b7805bfc","tool":"lean"} diff --git a/examples/higher-order/expected/verify/audit/LexLeanAudit.A97aeee0f2ea12071af0ba45cb3edfad7.HigherOrder.Main.lean b/examples/higher-order/expected/verify/audit/LexLeanAudit.A2b4f6e30534b04d6a22efe4eea3cc08c.HigherOrder.Main.lean similarity index 100% rename from examples/higher-order/expected/verify/audit/LexLeanAudit.A97aeee0f2ea12071af0ba45cb3edfad7.HigherOrder.Main.lean rename to examples/higher-order/expected/verify/audit/LexLeanAudit.A2b4f6e30534b04d6a22efe4eea3cc08c.HigherOrder.Main.lean diff --git a/examples/higher-order/expected/verify/audit/LexLeanAudit.A2b4f6e30534b04d6a22efe4eea3cc08c.HigherOrder.Main.process.json b/examples/higher-order/expected/verify/audit/LexLeanAudit.A2b4f6e30534b04d6a22efe4eea3cc08c.HigherOrder.Main.process.json new file mode 100644 index 000000000..5fe9e1a21 --- /dev/null +++ b/examples/higher-order/expected/verify/audit/LexLeanAudit.A2b4f6e30534b04d6a22efe4eea3cc08c.HigherOrder.Main.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A2b4f6e30534b04d6a22efe4eea3cc08c.HigherOrder.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A2b4f6e30534b04d6a22efe4eea3cc08c.HigherOrder.Main","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'HigherOrder.Main.addAll' does not depend on any axioms\n'HigherOrder.Main.addThenDouble' does not depend on any axioms\n'HigherOrder.Main.add_all' does not depend on any axioms\n'HigherOrder.Main.bumpAll' does not depend on any axioms\n'HigherOrder.Main.bump_all' does not depend on any axioms\n'HigherOrder.Main.composed' does not depend on any axioms\n'HigherOrder.Main.evaluator' does not depend on any axioms\n'HigherOrder.Main.map_identity' depends on axioms: [propext]\n'HigherOrder.Main.map_identity_numbers' depends on axioms: [propext]\n'HigherOrder.Main.total' does not depend on any axioms\n'HigherOrder.Main.total_sum' does not depend on any axioms\n'HigherOrder.Main.visitor_agrees' does not depend on any axioms\n","stdout_sha256":"9e0e7e9c7139fa04a4a7345994d644c70eff086f8c7a7a5afa2bfb7e457c1764","tool":"lean"} diff --git a/examples/higher-order/expected/verify/audit/LexLeanAudit.A97aeee0f2ea12071af0ba45cb3edfad7.HigherOrder.Combinators.process.json b/examples/higher-order/expected/verify/audit/LexLeanAudit.A97aeee0f2ea12071af0ba45cb3edfad7.HigherOrder.Combinators.process.json deleted file mode 100644 index 4edef1215..000000000 --- a/examples/higher-order/expected/verify/audit/LexLeanAudit.A97aeee0f2ea12071af0ba45cb3edfad7.HigherOrder.Combinators.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A97aeee0f2ea12071af0ba45cb3edfad7.HigherOrder.Combinators.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A97aeee0f2ea12071af0ba45cb3edfad7.HigherOrder.Combinators","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'HigherOrder.Combinators.Arith' does not depend on any axioms\n'HigherOrder.Combinators.Visitor' does not depend on any axioms\n'HigherOrder.Combinators.compose' does not depend on any axioms\n'HigherOrder.Combinators.evaluate' does not depend on any axioms\n'HigherOrder.Combinators.foldList' does not depend on any axioms\n'HigherOrder.Combinators.increment' does not depend on any axioms\n'HigherOrder.Combinators.mapList' does not depend on any axioms\n'HigherOrder.Combinators.visit' does not depend on any axioms\n","stdout_sha256":"de1e33aa3f1e3e8770d289a02cc7469a8a96a5958bc23bca0cccd7b9b7805bfc","tool":"lean"} diff --git a/examples/higher-order/expected/verify/audit/LexLeanAudit.A97aeee0f2ea12071af0ba45cb3edfad7.HigherOrder.Main.process.json b/examples/higher-order/expected/verify/audit/LexLeanAudit.A97aeee0f2ea12071af0ba45cb3edfad7.HigherOrder.Main.process.json deleted file mode 100644 index 04e10e349..000000000 --- a/examples/higher-order/expected/verify/audit/LexLeanAudit.A97aeee0f2ea12071af0ba45cb3edfad7.HigherOrder.Main.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A97aeee0f2ea12071af0ba45cb3edfad7.HigherOrder.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A97aeee0f2ea12071af0ba45cb3edfad7.HigherOrder.Main","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'HigherOrder.Main.addAll' does not depend on any axioms\n'HigherOrder.Main.addThenDouble' does not depend on any axioms\n'HigherOrder.Main.add_all' does not depend on any axioms\n'HigherOrder.Main.bumpAll' does not depend on any axioms\n'HigherOrder.Main.bump_all' does not depend on any axioms\n'HigherOrder.Main.composed' does not depend on any axioms\n'HigherOrder.Main.evaluator' does not depend on any axioms\n'HigherOrder.Main.map_identity' depends on axioms: [propext]\n'HigherOrder.Main.map_identity_numbers' depends on axioms: [propext]\n'HigherOrder.Main.total' does not depend on any axioms\n'HigherOrder.Main.total_sum' does not depend on any axioms\n'HigherOrder.Main.visitor_agrees' does not depend on any axioms\n","stdout_sha256":"9e0e7e9c7139fa04a4a7345994d644c70eff086f8c7a7a5afa2bfb7e457c1764","tool":"lean"} diff --git a/examples/higher-order/expected/verify/probe/LexLeanProbe.P97aeee0f2ea12071af0ba45cb3edfad7.lean b/examples/higher-order/expected/verify/probe/LexLeanProbe.P2b4f6e30534b04d6a22efe4eea3cc08c.lean similarity index 100% rename from examples/higher-order/expected/verify/probe/LexLeanProbe.P97aeee0f2ea12071af0ba45cb3edfad7.lean rename to examples/higher-order/expected/verify/probe/LexLeanProbe.P2b4f6e30534b04d6a22efe4eea3cc08c.lean diff --git a/examples/higher-order/expected/verify/probe/process.json b/examples/higher-order/expected/verify/probe/process.json index 4549dea4a..5021f1bc6 100644 --- a/examples/higher-order/expected/verify/probe/process.json +++ b/examples/higher-order/expected/verify/probe/process.json @@ -1 +1 @@ -{"argv":["env","lean","$STAGING/probe/LexLeanProbe.P97aeee0f2ea12071af0ba45cb3edfad7.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.P97aeee0f2ea12071af0ba45cb3edfad7","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} +{"argv":["env","lean","$STAGING/probe/LexLeanProbe.P2b4f6e30534b04d6a22efe4eea3cc08c.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.P2b4f6e30534b04d6a22efe4eea3cc08c","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/higher-order/lexlean.lock b/examples/higher-order/lexlean.lock index 7ec1f6c26..a8dac48d2 100644 --- a/examples/higher-order/lexlean.lock +++ b/examples/higher-order/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "63cb702cbed6f4e72305e820ab8e7310f3323d3244a100faf4c849ec4330110a" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/examples/language-1.2/expected/build/manifest.json b/examples/language-1.2/expected/build/manifest.json index 3bb42c6ce..b6a32bdaf 100644 --- a/examples/language-1.2/expected/build/manifest.json +++ b/examples/language-1.2/expected/build/manifest.json @@ -1 +1 @@ -{"build_id":"41344e8fed5d5abb1f392fa447eb7ee04ece46deed58c331a6cfa5791f4a2cb4","compiler":{"semantics_id":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","version":"0.3.0"},"inputs":[{"byte_length":2684,"kind":"lexicon","path":"embedded","sha256":"3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b"},{"byte_length":14885,"kind":"lexicon","path":"embedded","sha256":"e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac"},{"byte_length":36197,"kind":"lexicon","path":"embedded","sha256":"827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392"},{"byte_length":1597,"kind":"lock","path":"lexlean.lock","sha256":"fc7d838eed79718d00bd56657a09bc9a0b9b413cfb57b0ba31fa1f72e26d8f87"},{"byte_length":651,"kind":"project-config","path":"lexlean.toml","sha256":"6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d"},{"byte_length":551,"kind":"source","path":"src/Main.lex.tex","sha256":"953f3abc01c25e1b7f7660030023464667bcfd01a05e0b92a30b52ded0a4e0f9"}],"language":"1.2","lean_toolchain":"leanprover/lean4:v4.32.1","modules":[{"lean_module":"LanguageTwelve.Main","module":"Main","source_path":"src/Main.lex.tex"}],"outputs":[{"byte_length":7313,"kind":"coverage","path":"coverage/LanguageTwelve/Main.coverage.json","sha256":"dbda5c8a9d0d3d7b1083172702012ff50ea7b5a4887b712ea58d51f3f8449e48"},{"byte_length":508,"kind":"lean","path":"modules/LanguageTwelve/Main.lean","sha256":"a0c1babda5d001501ce7db4d5b691711a049f6d4735bc5bf74bdbeadda4320e0"},{"byte_length":10602,"kind":"lexicon-closure","path":"lexicons/Main.closure.json","sha256":"727110f90daff26a2e5eb8069fcefecd5790c1264f5d6d4b2ef57db1c2bfb867"},{"byte_length":1971,"kind":"map","path":"maps/LanguageTwelve/Main.map.json","sha256":"4c53513eb7bc01a0c2f7e4c1858ec287bd0514995dc5bfecfaf3d53412158d20"},{"byte_length":834,"kind":"tex","path":"modules/LanguageTwelve/Main.tex","sha256":"c1b7005570e64d41f460dbb1d974d941e5c5e36d43e9c2bfc64fbd9dca26e11b"}],"project":"language-twelve","selection":["Main"],"semantic_id":"c3721e6e35015aad2be36e9b1bd5fd1e7b556a8e2c1e375453efecdbc8a11b9f","source_id":"a01c323439f92627586a826aaf4503d636714f7b45b681eb9be5f3bded900de5","spec":"lexlean/build-manifest/1"} +{"build_id":"92d1062cf2594b7ff49f419db71c0be420b81380402b4e6ea18395902cd5dcb9","compiler":{"semantics_id":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","version":"0.3.0"},"inputs":[{"byte_length":2684,"kind":"lexicon","path":"embedded","sha256":"3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b"},{"byte_length":14885,"kind":"lexicon","path":"embedded","sha256":"e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac"},{"byte_length":36197,"kind":"lexicon","path":"embedded","sha256":"827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392"},{"byte_length":1597,"kind":"lock","path":"lexlean.lock","sha256":"8575b394b435ea6fa02ecb0f20b0a57d11f3110bed377f1b37b81cc10a9ad59e"},{"byte_length":651,"kind":"project-config","path":"lexlean.toml","sha256":"6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d"},{"byte_length":551,"kind":"source","path":"src/Main.lex.tex","sha256":"953f3abc01c25e1b7f7660030023464667bcfd01a05e0b92a30b52ded0a4e0f9"}],"language":"1.2","lean_toolchain":"leanprover/lean4:v4.32.1","modules":[{"lean_module":"LanguageTwelve.Main","module":"Main","source_path":"src/Main.lex.tex"}],"outputs":[{"byte_length":7313,"kind":"coverage","path":"coverage/LanguageTwelve/Main.coverage.json","sha256":"dbda5c8a9d0d3d7b1083172702012ff50ea7b5a4887b712ea58d51f3f8449e48"},{"byte_length":508,"kind":"lean","path":"modules/LanguageTwelve/Main.lean","sha256":"a0c1babda5d001501ce7db4d5b691711a049f6d4735bc5bf74bdbeadda4320e0"},{"byte_length":10602,"kind":"lexicon-closure","path":"lexicons/Main.closure.json","sha256":"727110f90daff26a2e5eb8069fcefecd5790c1264f5d6d4b2ef57db1c2bfb867"},{"byte_length":1971,"kind":"map","path":"maps/LanguageTwelve/Main.map.json","sha256":"3e817400f6b7f276bd18a666992a8a30a9ab1cda804a013e2fb2553bbe5bfde7"},{"byte_length":834,"kind":"tex","path":"modules/LanguageTwelve/Main.tex","sha256":"c1b7005570e64d41f460dbb1d974d941e5c5e36d43e9c2bfc64fbd9dca26e11b"}],"project":"language-twelve","selection":["Main"],"semantic_id":"0e3c96c4ccf3b33e3026f327d3a2737d66b3cb5a394f067f497c7e3118ee0960","source_id":"99664ae4c2ea088924efc7f778dbc9df3a6344e3ffd43b60164de799b7e3075f","spec":"lexlean/build-manifest/1"} diff --git a/examples/language-1.2/expected/build/maps/LanguageTwelve/Main.map.json b/examples/language-1.2/expected/build/maps/LanguageTwelve/Main.map.json index 15b80813a..0f56c5490 100644 --- a/examples/language-1.2/expected/build/maps/LanguageTwelve/Main.map.json +++ b/examples/language-1.2/expected/build/maps/LanguageTwelve/Main.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/LanguageTwelve/Main.lean"},{"id":1,"kind":"tex","path":"modules/LanguageTwelve/Main.tex"}],"mappings":[{"artifact":0,"gen_end":202,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":551,"src_start":0},{"artifact":0,"gen_end":306,"gen_start":202,"node":1,"role":"declaration","source":0,"src_end":246,"src_start":113},{"artifact":0,"gen_end":385,"gen_start":306,"node":2,"role":"declaration","source":0,"src_end":371,"src_start":248},{"artifact":0,"gen_end":483,"gen_start":385,"node":3,"role":"declaration","source":0,"src_end":515,"src_start":373},{"artifact":0,"gen_end":508,"gen_start":483,"node":0,"role":"declaration","source":0,"src_end":551,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":4,"role":"declaration","source":0,"src_end":551,"src_start":0},{"artifact":1,"gen_end":420,"gen_start":134,"node":5,"role":"declaration","source":0,"src_end":246,"src_start":113},{"artifact":1,"gen_end":610,"gen_start":420,"node":6,"role":"declaration","source":0,"src_end":371,"src_start":248},{"artifact":1,"gen_end":819,"gen_start":610,"node":7,"role":"declaration","source":0,"src_end":515,"src_start":373},{"artifact":1,"gen_end":834,"gen_start":819,"node":4,"role":"declaration","source":0,"src_end":551,"src_start":0}],"module":"Main","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-latex-module"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"}],"semantic_id":"c3721e6e35015aad2be36e9b1bd5fd1e7b556a8e2c1e375453efecdbc8a11b9f","source_id":"a01c323439f92627586a826aaf4503d636714f7b45b681eb9be5f3bded900de5","sources":[{"id":0,"kind":"file","path":"src/Main.lex.tex","sha256":"953f3abc01c25e1b7f7660030023464667bcfd01a05e0b92a30b52ded0a4e0f9"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/LanguageTwelve/Main.lean"},{"id":1,"kind":"tex","path":"modules/LanguageTwelve/Main.tex"}],"mappings":[{"artifact":0,"gen_end":202,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":551,"src_start":0},{"artifact":0,"gen_end":306,"gen_start":202,"node":1,"role":"declaration","source":0,"src_end":246,"src_start":113},{"artifact":0,"gen_end":385,"gen_start":306,"node":2,"role":"declaration","source":0,"src_end":371,"src_start":248},{"artifact":0,"gen_end":483,"gen_start":385,"node":3,"role":"declaration","source":0,"src_end":515,"src_start":373},{"artifact":0,"gen_end":508,"gen_start":483,"node":0,"role":"declaration","source":0,"src_end":551,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":4,"role":"declaration","source":0,"src_end":551,"src_start":0},{"artifact":1,"gen_end":420,"gen_start":134,"node":5,"role":"declaration","source":0,"src_end":246,"src_start":113},{"artifact":1,"gen_end":610,"gen_start":420,"node":6,"role":"declaration","source":0,"src_end":371,"src_start":248},{"artifact":1,"gen_end":819,"gen_start":610,"node":7,"role":"declaration","source":0,"src_end":515,"src_start":373},{"artifact":1,"gen_end":834,"gen_start":819,"node":4,"role":"declaration","source":0,"src_end":551,"src_start":0}],"module":"Main","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-latex-module"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"}],"semantic_id":"0e3c96c4ccf3b33e3026f327d3a2737d66b3cb5a394f067f497c7e3118ee0960","source_id":"99664ae4c2ea088924efc7f778dbc9df3a6344e3ffd43b60164de799b7e3075f","sources":[{"id":0,"kind":"file","path":"src/Main.lex.tex","sha256":"953f3abc01c25e1b7f7660030023464667bcfd01a05e0b92a30b52ded0a4e0f9"}],"spec":"lexlean/source-map/1"} diff --git a/examples/language-1.2/expected/verify/audit/LexLeanAudit.Ac3721e6e35015aad2be36e9b1bd5fd1e.LanguageTwelve.Main.lean b/examples/language-1.2/expected/verify/audit/LexLeanAudit.A0e3c96c4ccf3b33e3026f327d3a2737d.LanguageTwelve.Main.lean similarity index 100% rename from examples/language-1.2/expected/verify/audit/LexLeanAudit.Ac3721e6e35015aad2be36e9b1bd5fd1e.LanguageTwelve.Main.lean rename to examples/language-1.2/expected/verify/audit/LexLeanAudit.A0e3c96c4ccf3b33e3026f327d3a2737d.LanguageTwelve.Main.lean diff --git a/examples/language-1.2/expected/verify/audit/LexLeanAudit.A0e3c96c4ccf3b33e3026f327d3a2737d.LanguageTwelve.Main.process.json b/examples/language-1.2/expected/verify/audit/LexLeanAudit.A0e3c96c4ccf3b33e3026f327d3a2737d.LanguageTwelve.Main.process.json new file mode 100644 index 000000000..9458ddc57 --- /dev/null +++ b/examples/language-1.2/expected/verify/audit/LexLeanAudit.A0e3c96c4ccf3b33e3026f327d3a2737d.LanguageTwelve.Main.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A0e3c96c4ccf3b33e3026f327d3a2737d.LanguageTwelve.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A0e3c96c4ccf3b33e3026f327d3a2737d.LanguageTwelve.Main","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LanguageTwelve.Main.doubledSuccessor' does not depend on any axioms\n'LanguageTwelve.Main.doubled_successor_two' does not depend on any axioms\n'LanguageTwelve.Main.let_statement_unfolds' does not depend on any axioms\n","stdout_sha256":"96052f032fc09970e5f3f333cca6d8656a749c07d2832f02c21c3cbff2caafa0","tool":"lean"} diff --git a/examples/language-1.2/expected/verify/audit/LexLeanAudit.Ac3721e6e35015aad2be36e9b1bd5fd1e.LanguageTwelve.Main.process.json b/examples/language-1.2/expected/verify/audit/LexLeanAudit.Ac3721e6e35015aad2be36e9b1bd5fd1e.LanguageTwelve.Main.process.json deleted file mode 100644 index 18e332aca..000000000 --- a/examples/language-1.2/expected/verify/audit/LexLeanAudit.Ac3721e6e35015aad2be36e9b1bd5fd1e.LanguageTwelve.Main.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ac3721e6e35015aad2be36e9b1bd5fd1e.LanguageTwelve.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ac3721e6e35015aad2be36e9b1bd5fd1e.LanguageTwelve.Main","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LanguageTwelve.Main.doubledSuccessor' does not depend on any axioms\n'LanguageTwelve.Main.doubled_successor_two' does not depend on any axioms\n'LanguageTwelve.Main.let_statement_unfolds' does not depend on any axioms\n","stdout_sha256":"96052f032fc09970e5f3f333cca6d8656a749c07d2832f02c21c3cbff2caafa0","tool":"lean"} diff --git a/examples/language-1.2/expected/verify/probe/LexLeanProbe.Pc3721e6e35015aad2be36e9b1bd5fd1e.lean b/examples/language-1.2/expected/verify/probe/LexLeanProbe.P0e3c96c4ccf3b33e3026f327d3a2737d.lean similarity index 100% rename from examples/language-1.2/expected/verify/probe/LexLeanProbe.Pc3721e6e35015aad2be36e9b1bd5fd1e.lean rename to examples/language-1.2/expected/verify/probe/LexLeanProbe.P0e3c96c4ccf3b33e3026f327d3a2737d.lean diff --git a/examples/language-1.2/expected/verify/probe/process.json b/examples/language-1.2/expected/verify/probe/process.json index 01d32690d..ce90356a7 100644 --- a/examples/language-1.2/expected/verify/probe/process.json +++ b/examples/language-1.2/expected/verify/probe/process.json @@ -1 +1 @@ -{"argv":["env","lean","$STAGING/probe/LexLeanProbe.Pc3721e6e35015aad2be36e9b1bd5fd1e.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.Pc3721e6e35015aad2be36e9b1bd5fd1e","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} +{"argv":["env","lean","$STAGING/probe/LexLeanProbe.P0e3c96c4ccf3b33e3026f327d3a2737d.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.P0e3c96c4ccf3b33e3026f327d3a2737d","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/language-1.2/lexlean.lock b/examples/language-1.2/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/examples/language-1.2/lexlean.lock +++ b/examples/language-1.2/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/examples/models/expected/build/coverage/Models/Flows.coverage.json b/examples/models/expected/build/coverage/Models/Flows.coverage.json index 6077bdf1e..37bbaa518 100644 --- a/examples/models/expected/build/coverage/Models/Flows.coverage.json +++ b/examples/models/expected/build/coverage/Models/Flows.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":419,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1149,"byte_start":419,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2244,"byte_start":1149,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2506,"byte_start":2244,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3308,"byte_start":2506,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3593,"byte_start":3308,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4331,"byte_start":3593,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5191,"byte_start":4331,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5449,"byte_start":5191,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5708,"byte_start":5449,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6592,"byte_start":5708,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7458,"byte_start":6592,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8366,"byte_start":7458,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8646,"byte_start":8366,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9005,"byte_start":8646,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9264,"byte_start":9005,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9944,"byte_start":9264,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11530,"byte_start":9944,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11997,"byte_start":11530,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12276,"byte_start":11997,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12630,"byte_start":12276,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12917,"byte_start":12630,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13186,"byte_start":12917,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13534,"byte_start":13186,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13836,"byte_start":13534,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15047,"byte_start":13836,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16099,"byte_start":15047,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16399,"byte_start":16099,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16703,"byte_start":16399,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17832,"byte_start":16703,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18160,"byte_start":17832,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18592,"byte_start":18160,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18909,"byte_start":18592,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19684,"byte_start":18909,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20771,"byte_start":19684,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21086,"byte_start":20771,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21402,"byte_start":21086,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22540,"byte_start":21402,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23742,"byte_start":22540,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24827,"byte_start":23742,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25161,"byte_start":24827,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25499,"byte_start":25161,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26702,"byte_start":25499,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27930,"byte_start":26702,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28295,"byte_start":27930,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29759,"byte_start":28295,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30065,"byte_start":29759,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30377,"byte_start":30065,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31554,"byte_start":30377,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32296,"byte_start":31554,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33838,"byte_start":32296,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34491,"byte_start":33838,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35046,"byte_start":34491,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35580,"byte_start":35046,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36747,"byte_start":35580,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37397,"byte_start":36747,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37412,"byte_start":37397,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":26831,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26997,"byte_start":26831,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27154,"byte_start":26997,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27771,"byte_start":27154,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28209,"byte_start":27771,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28449,"byte_start":28209,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28615,"byte_start":28449,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28780,"byte_start":28615,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29218,"byte_start":28780,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29650,"byte_start":29218,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30083,"byte_start":29650,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30222,"byte_start":30083,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30663,"byte_start":30222,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30810,"byte_start":30663,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30919,"byte_start":30810,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31031,"byte_start":30919,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31446,"byte_start":31031,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31603,"byte_start":31446,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32734,"byte_start":31603,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32875,"byte_start":32734,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32983,"byte_start":32875,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33090,"byte_start":32983,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33595,"byte_start":33090,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33694,"byte_start":33595,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33796,"byte_start":33694,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34265,"byte_start":33796,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34602,"byte_start":34265,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35179,"byte_start":34602,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35676,"byte_start":35179,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36176,"byte_start":35676,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36448,"byte_start":36176,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36590,"byte_start":36448,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36775,"byte_start":36590,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37253,"byte_start":36775,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37427,"byte_start":37253,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":38025,"byte_start":37427,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":38504,"byte_start":38025,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":38984,"byte_start":38504,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39279,"byte_start":38984,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39620,"byte_start":39279,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40227,"byte_start":39620,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40758,"byte_start":40227,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41292,"byte_start":40758,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41557,"byte_start":41292,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41896,"byte_start":41557,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42504,"byte_start":41896,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43166,"byte_start":42504,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43669,"byte_start":43166,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":44177,"byte_start":43669,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":44464,"byte_start":44177,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":44637,"byte_start":44464,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":45656,"byte_start":44637,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":45955,"byte_start":45656,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":46118,"byte_start":45955,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":46322,"byte_start":46118,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":47012,"byte_start":46322,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":47309,"byte_start":47012,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":47327,"byte_start":47309,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Flows","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":21,"byte_start":16,"class":"word","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":22,"byte_start":21,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":35,"byte_start":23,"class":"control","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":36,"byte_start":35,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":43,"byte_start":36,"class":"word","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":44,"byte_start":43,"class":"ascii-symbol","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":44,"class":"word","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":47,"class":"ascii-symbol","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":48,"class":"word","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"ascii-symbol","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"numeral","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"ascii-symbol","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"numeral","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"ascii-symbol","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"numeral","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":58,"byte_start":57,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":71,"byte_start":59,"class":"control","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":72,"byte_start":71,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":78,"byte_start":72,"class":"word","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":79,"byte_start":78,"class":"ascii-symbol","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":85,"byte_start":79,"class":"word","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":86,"byte_start":85,"class":"ascii-symbol","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":87,"byte_start":86,"class":"numeral","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":88,"byte_start":87,"class":"ascii-symbol","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":89,"byte_start":88,"class":"numeral","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":90,"byte_start":89,"class":"ascii-symbol","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":91,"byte_start":90,"class":"numeral","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":92,"byte_start":91,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":106,"byte_start":93,"class":"control","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":107,"byte_start":106,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":113,"byte_start":107,"class":"word","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":114,"byte_start":113,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":121,"byte_start":115,"class":"control","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":122,"byte_start":121,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"entry":"checked","form":"checked","kind":"form","package":"models.titles"},"byte_end":129,"byte_start":122,"class":"word","path":"src/Flows.lex.tex"},{"binding":{"entry":"flows","form":"flows","kind":"form","package":"models.titles"},"byte_end":135,"byte_start":130,"class":"word","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":136,"byte_start":135,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":143,"byte_start":137,"class":"control","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":144,"byte_start":143,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":158,"byte_start":144,"class":"word","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":159,"byte_start":158,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":13211,"byte_start":160,"class":"word","path":"src/Flows.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":13215,"byte_start":13211,"class":"control","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":13216,"byte_start":13215,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":13230,"byte_start":13216,"class":"word","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":13231,"byte_start":13230,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":13236,"byte_start":13232,"class":"control","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":13237,"byte_start":13236,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":13244,"byte_start":13237,"class":"word","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":13245,"byte_start":13244,"class":"delimiter","path":"src/Flows.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":419,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1149,"byte_start":419,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2244,"byte_start":1149,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2506,"byte_start":2244,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3308,"byte_start":2506,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3593,"byte_start":3308,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4331,"byte_start":3593,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5191,"byte_start":4331,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5449,"byte_start":5191,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5708,"byte_start":5449,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6592,"byte_start":5708,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7458,"byte_start":6592,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8366,"byte_start":7458,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8646,"byte_start":8366,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9005,"byte_start":8646,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9264,"byte_start":9005,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9944,"byte_start":9264,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11530,"byte_start":9944,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11997,"byte_start":11530,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12276,"byte_start":11997,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12630,"byte_start":12276,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12917,"byte_start":12630,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13186,"byte_start":12917,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13534,"byte_start":13186,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13836,"byte_start":13534,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15047,"byte_start":13836,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16099,"byte_start":15047,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16399,"byte_start":16099,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16703,"byte_start":16399,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17832,"byte_start":16703,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18160,"byte_start":17832,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18592,"byte_start":18160,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18909,"byte_start":18592,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19684,"byte_start":18909,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20771,"byte_start":19684,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21086,"byte_start":20771,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21402,"byte_start":21086,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22540,"byte_start":21402,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23742,"byte_start":22540,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24827,"byte_start":23742,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25161,"byte_start":24827,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25499,"byte_start":25161,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26702,"byte_start":25499,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27930,"byte_start":26702,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28295,"byte_start":27930,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29759,"byte_start":28295,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30065,"byte_start":29759,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30377,"byte_start":30065,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31554,"byte_start":30377,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32296,"byte_start":31554,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33838,"byte_start":32296,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34491,"byte_start":33838,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35046,"byte_start":34491,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35580,"byte_start":35046,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36747,"byte_start":35580,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37397,"byte_start":36747,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37412,"byte_start":37397,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":338,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":504,"byte_start":338,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":661,"byte_start":504,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1278,"byte_start":661,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1716,"byte_start":1278,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1956,"byte_start":1716,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2122,"byte_start":1956,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2287,"byte_start":2122,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2725,"byte_start":2287,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3157,"byte_start":2725,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3590,"byte_start":3157,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3729,"byte_start":3590,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4170,"byte_start":3729,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4317,"byte_start":4170,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4426,"byte_start":4317,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4538,"byte_start":4426,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4953,"byte_start":4538,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5110,"byte_start":4953,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6241,"byte_start":5110,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6382,"byte_start":6241,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6490,"byte_start":6382,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6597,"byte_start":6490,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7102,"byte_start":6597,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7201,"byte_start":7102,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7303,"byte_start":7201,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7772,"byte_start":7303,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8109,"byte_start":7772,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8686,"byte_start":8109,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9183,"byte_start":8686,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9683,"byte_start":9183,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9955,"byte_start":9683,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10097,"byte_start":9955,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10282,"byte_start":10097,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10760,"byte_start":10282,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10934,"byte_start":10760,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11532,"byte_start":10934,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12011,"byte_start":11532,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12491,"byte_start":12011,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12786,"byte_start":12491,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13127,"byte_start":12786,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13734,"byte_start":13127,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14265,"byte_start":13734,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14799,"byte_start":14265,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15064,"byte_start":14799,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15403,"byte_start":15064,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16011,"byte_start":15403,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16673,"byte_start":16011,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17176,"byte_start":16673,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17684,"byte_start":17176,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17971,"byte_start":17684,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18144,"byte_start":17971,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19163,"byte_start":18144,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19462,"byte_start":19163,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19625,"byte_start":19462,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19829,"byte_start":19625,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20519,"byte_start":19829,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20816,"byte_start":20519,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20834,"byte_start":20816,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Flows","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":21,"byte_start":16,"class":"word","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":22,"byte_start":21,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":35,"byte_start":23,"class":"control","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":36,"byte_start":35,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":43,"byte_start":36,"class":"word","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":44,"byte_start":43,"class":"ascii-symbol","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":44,"class":"word","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":47,"class":"ascii-symbol","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":48,"class":"word","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"ascii-symbol","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"numeral","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"ascii-symbol","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"numeral","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"ascii-symbol","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"numeral","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":58,"byte_start":57,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":71,"byte_start":59,"class":"control","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":72,"byte_start":71,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":78,"byte_start":72,"class":"word","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":79,"byte_start":78,"class":"ascii-symbol","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":85,"byte_start":79,"class":"word","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":86,"byte_start":85,"class":"ascii-symbol","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":87,"byte_start":86,"class":"numeral","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":88,"byte_start":87,"class":"ascii-symbol","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":89,"byte_start":88,"class":"numeral","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":90,"byte_start":89,"class":"ascii-symbol","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":91,"byte_start":90,"class":"numeral","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":92,"byte_start":91,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":106,"byte_start":93,"class":"control","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":107,"byte_start":106,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":113,"byte_start":107,"class":"word","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":114,"byte_start":113,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":121,"byte_start":115,"class":"control","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":122,"byte_start":121,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"entry":"checked","form":"checked","kind":"form","package":"models.titles"},"byte_end":129,"byte_start":122,"class":"word","path":"src/Flows.lex.tex"},{"binding":{"entry":"flows","form":"flows","kind":"form","package":"models.titles"},"byte_end":135,"byte_start":130,"class":"word","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":136,"byte_start":135,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":143,"byte_start":137,"class":"control","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":144,"byte_start":143,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":158,"byte_start":144,"class":"word","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":159,"byte_start":158,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":13211,"byte_start":160,"class":"word","path":"src/Flows.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":13215,"byte_start":13211,"class":"control","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":13216,"byte_start":13215,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":13230,"byte_start":13216,"class":"word","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":13231,"byte_start":13230,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":13236,"byte_start":13232,"class":"control","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":13237,"byte_start":13236,"class":"delimiter","path":"src/Flows.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":13244,"byte_start":13237,"class":"word","path":"src/Flows.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":13245,"byte_start":13244,"class":"delimiter","path":"src/Flows.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/examples/models/expected/build/coverage/Models/Glyphs.coverage.json b/examples/models/expected/build/coverage/Models/Glyphs.coverage.json index 48420f8e9..3574006fe 100644 --- a/examples/models/expected/build/coverage/Models/Glyphs.coverage.json +++ b/examples/models/expected/build/coverage/Models/Glyphs.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":723,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2420,"byte_start":723,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2901,"byte_start":2420,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3387,"byte_start":2901,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3908,"byte_start":3387,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4166,"byte_start":3908,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4181,"byte_start":4166,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":13687,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13787,"byte_start":13687,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15237,"byte_start":13787,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15471,"byte_start":15237,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15710,"byte_start":15471,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15984,"byte_start":15710,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16289,"byte_start":15984,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16308,"byte_start":16289,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Glyphs","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":22,"byte_start":16,"class":"word","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":23,"byte_start":22,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":36,"byte_start":24,"class":"control","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":37,"byte_start":36,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":44,"byte_start":37,"class":"word","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":45,"byte_start":44,"class":"ascii-symbol","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":45,"class":"word","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":49,"byte_start":48,"class":"ascii-symbol","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":49,"class":"word","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"ascii-symbol","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"numeral","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":59,"byte_start":58,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":72,"byte_start":60,"class":"control","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":73,"byte_start":72,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":79,"byte_start":73,"class":"word","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":80,"byte_start":79,"class":"ascii-symbol","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":86,"byte_start":80,"class":"word","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":87,"byte_start":86,"class":"ascii-symbol","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":88,"byte_start":87,"class":"numeral","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":89,"byte_start":88,"class":"ascii-symbol","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":90,"byte_start":89,"class":"numeral","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":91,"byte_start":90,"class":"ascii-symbol","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":92,"byte_start":91,"class":"numeral","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":93,"byte_start":92,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":100,"byte_start":94,"class":"control","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":101,"byte_start":100,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"glyphs","form":"glyphs","kind":"form","package":"models.titles"},"byte_end":107,"byte_start":101,"class":"word","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":108,"byte_start":107,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":115,"byte_start":109,"class":"control","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":116,"byte_start":115,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":130,"byte_start":116,"class":"word","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":131,"byte_start":130,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":3886,"byte_start":132,"class":"word","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":3890,"byte_start":3886,"class":"control","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":3891,"byte_start":3890,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":3905,"byte_start":3891,"class":"word","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":3906,"byte_start":3905,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":3911,"byte_start":3907,"class":"control","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":3912,"byte_start":3911,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":3919,"byte_start":3912,"class":"word","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":3920,"byte_start":3919,"class":"delimiter","path":"src/Glyphs.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":723,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2420,"byte_start":723,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2901,"byte_start":2420,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3387,"byte_start":2901,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3908,"byte_start":3387,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4166,"byte_start":3908,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4181,"byte_start":4166,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":234,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":334,"byte_start":234,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1784,"byte_start":334,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2018,"byte_start":1784,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2257,"byte_start":2018,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2531,"byte_start":2257,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2836,"byte_start":2531,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2855,"byte_start":2836,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Glyphs","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":22,"byte_start":16,"class":"word","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":23,"byte_start":22,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":36,"byte_start":24,"class":"control","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":37,"byte_start":36,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":44,"byte_start":37,"class":"word","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":45,"byte_start":44,"class":"ascii-symbol","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":45,"class":"word","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":49,"byte_start":48,"class":"ascii-symbol","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":49,"class":"word","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"ascii-symbol","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"numeral","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":59,"byte_start":58,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":72,"byte_start":60,"class":"control","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":73,"byte_start":72,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":79,"byte_start":73,"class":"word","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":80,"byte_start":79,"class":"ascii-symbol","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":86,"byte_start":80,"class":"word","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":87,"byte_start":86,"class":"ascii-symbol","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":88,"byte_start":87,"class":"numeral","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":89,"byte_start":88,"class":"ascii-symbol","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":90,"byte_start":89,"class":"numeral","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":91,"byte_start":90,"class":"ascii-symbol","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":92,"byte_start":91,"class":"numeral","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":93,"byte_start":92,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":100,"byte_start":94,"class":"control","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":101,"byte_start":100,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"glyphs","form":"glyphs","kind":"form","package":"models.titles"},"byte_end":107,"byte_start":101,"class":"word","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":108,"byte_start":107,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":115,"byte_start":109,"class":"control","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":116,"byte_start":115,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":130,"byte_start":116,"class":"word","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":131,"byte_start":130,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":3886,"byte_start":132,"class":"word","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":3890,"byte_start":3886,"class":"control","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":3891,"byte_start":3890,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":3905,"byte_start":3891,"class":"word","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":3906,"byte_start":3905,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":3911,"byte_start":3907,"class":"control","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":3912,"byte_start":3911,"class":"delimiter","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":3919,"byte_start":3912,"class":"word","path":"src/Glyphs.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":3920,"byte_start":3919,"class":"delimiter","path":"src/Glyphs.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/examples/models/expected/build/coverage/Models/Ledger.coverage.json b/examples/models/expected/build/coverage/Models/Ledger.coverage.json index 3078fe65f..a59a5e516 100644 --- a/examples/models/expected/build/coverage/Models/Ledger.coverage.json +++ b/examples/models/expected/build/coverage/Models/Ledger.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":376,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":697,"byte_start":376,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":955,"byte_start":697,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1216,"byte_start":955,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1466,"byte_start":1216,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1795,"byte_start":1466,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2068,"byte_start":1795,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2337,"byte_start":2068,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2685,"byte_start":2337,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2994,"byte_start":2685,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3306,"byte_start":2994,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5595,"byte_start":3306,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6086,"byte_start":5595,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6421,"byte_start":6086,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6741,"byte_start":6421,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7034,"byte_start":6741,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7716,"byte_start":7034,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8283,"byte_start":7716,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8932,"byte_start":8283,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9524,"byte_start":8932,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10686,"byte_start":9524,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11177,"byte_start":10686,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11512,"byte_start":11177,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11816,"byte_start":11512,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12093,"byte_start":11816,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13177,"byte_start":12093,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13706,"byte_start":13177,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15155,"byte_start":13706,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16038,"byte_start":15155,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16569,"byte_start":16038,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16746,"byte_start":16569,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17024,"byte_start":16746,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17325,"byte_start":17024,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17599,"byte_start":17325,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19432,"byte_start":17599,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19963,"byte_start":19432,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20674,"byte_start":19963,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20965,"byte_start":20674,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21229,"byte_start":20965,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22305,"byte_start":21229,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22821,"byte_start":22305,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23062,"byte_start":22821,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23382,"byte_start":23062,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23640,"byte_start":23382,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23901,"byte_start":23640,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24150,"byte_start":23901,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24478,"byte_start":24150,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24751,"byte_start":24478,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26161,"byte_start":24751,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26595,"byte_start":26161,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26932,"byte_start":26595,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27188,"byte_start":26932,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27493,"byte_start":27188,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27846,"byte_start":27493,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28149,"byte_start":27846,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28618,"byte_start":28149,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29791,"byte_start":28618,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30207,"byte_start":29791,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30824,"byte_start":30207,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31255,"byte_start":30824,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31633,"byte_start":31255,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32058,"byte_start":31633,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32567,"byte_start":32058,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32582,"byte_start":32567,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":26804,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26875,"byte_start":26804,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26949,"byte_start":26875,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27369,"byte_start":26949,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27792,"byte_start":27369,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27872,"byte_start":27792,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27955,"byte_start":27872,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28388,"byte_start":27955,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28488,"byte_start":28388,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28591,"byte_start":28488,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29060,"byte_start":28591,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29532,"byte_start":29060,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30353,"byte_start":29532,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30484,"byte_start":30353,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30572,"byte_start":30484,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31051,"byte_start":30572,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31503,"byte_start":31051,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31701,"byte_start":31503,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31907,"byte_start":31701,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32118,"byte_start":31907,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32330,"byte_start":32118,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32650,"byte_start":32330,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32781,"byte_start":32650,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32869,"byte_start":32781,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33324,"byte_start":32869,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33760,"byte_start":33324,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34139,"byte_start":33760,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34345,"byte_start":34139,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34827,"byte_start":34345,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35154,"byte_start":34827,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35438,"byte_start":35154,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35508,"byte_start":35438,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35931,"byte_start":35508,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36384,"byte_start":35931,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36817,"byte_start":36384,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37515,"byte_start":36817,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37721,"byte_start":37515,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37881,"byte_start":37721,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":38315,"byte_start":37881,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":38737,"byte_start":38315,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39074,"byte_start":38737,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39278,"byte_start":39074,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39348,"byte_start":39278,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39421,"byte_start":39348,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39841,"byte_start":39421,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40264,"byte_start":39841,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40342,"byte_start":40264,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40423,"byte_start":40342,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40856,"byte_start":40423,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41350,"byte_start":40856,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41437,"byte_start":41350,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41527,"byte_start":41437,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41942,"byte_start":41527,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42101,"byte_start":41942,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42207,"byte_start":42101,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42660,"byte_start":42207,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42971,"byte_start":42660,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43141,"byte_start":42971,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43229,"byte_start":43141,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43414,"byte_start":43229,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43507,"byte_start":43414,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43566,"byte_start":43507,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43662,"byte_start":43566,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43845,"byte_start":43662,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43864,"byte_start":43845,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Ledger","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":22,"byte_start":16,"class":"word","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":23,"byte_start":22,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":36,"byte_start":24,"class":"control","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":37,"byte_start":36,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":44,"byte_start":37,"class":"word","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":45,"byte_start":44,"class":"ascii-symbol","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":45,"class":"word","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":49,"byte_start":48,"class":"ascii-symbol","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":49,"class":"word","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"ascii-symbol","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"numeral","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":59,"byte_start":58,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":72,"byte_start":60,"class":"control","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":73,"byte_start":72,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":79,"byte_start":73,"class":"word","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":80,"byte_start":79,"class":"ascii-symbol","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":86,"byte_start":80,"class":"word","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":87,"byte_start":86,"class":"ascii-symbol","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":88,"byte_start":87,"class":"numeral","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":89,"byte_start":88,"class":"ascii-symbol","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":90,"byte_start":89,"class":"numeral","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":91,"byte_start":90,"class":"ascii-symbol","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":92,"byte_start":91,"class":"numeral","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":93,"byte_start":92,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":100,"byte_start":94,"class":"control","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":101,"byte_start":100,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"entry":"ledger","form":"ledger","kind":"form","package":"models.titles"},"byte_end":107,"byte_start":101,"class":"word","path":"src/Ledger.lex.tex"},{"binding":{"entry":"contracts","form":"contracts","kind":"form","package":"models.titles"},"byte_end":117,"byte_start":108,"class":"word","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":118,"byte_start":117,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":125,"byte_start":119,"class":"control","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":126,"byte_start":125,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":140,"byte_start":126,"class":"word","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":141,"byte_start":140,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":13229,"byte_start":142,"class":"word","path":"src/Ledger.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":13233,"byte_start":13229,"class":"control","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":13234,"byte_start":13233,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":13248,"byte_start":13234,"class":"word","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":13249,"byte_start":13248,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":13254,"byte_start":13250,"class":"control","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":13255,"byte_start":13254,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":13262,"byte_start":13255,"class":"word","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":13263,"byte_start":13262,"class":"delimiter","path":"src/Ledger.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":376,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":697,"byte_start":376,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":955,"byte_start":697,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1216,"byte_start":955,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1466,"byte_start":1216,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1795,"byte_start":1466,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2068,"byte_start":1795,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2337,"byte_start":2068,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2685,"byte_start":2337,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2994,"byte_start":2685,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3306,"byte_start":2994,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5595,"byte_start":3306,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6086,"byte_start":5595,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6421,"byte_start":6086,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6741,"byte_start":6421,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7034,"byte_start":6741,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7716,"byte_start":7034,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8283,"byte_start":7716,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8932,"byte_start":8283,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9524,"byte_start":8932,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10686,"byte_start":9524,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11177,"byte_start":10686,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11512,"byte_start":11177,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11816,"byte_start":11512,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12093,"byte_start":11816,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13177,"byte_start":12093,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13706,"byte_start":13177,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15155,"byte_start":13706,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16038,"byte_start":15155,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16569,"byte_start":16038,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16746,"byte_start":16569,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17024,"byte_start":16746,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17325,"byte_start":17024,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17599,"byte_start":17325,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19432,"byte_start":17599,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19963,"byte_start":19432,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20674,"byte_start":19963,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20965,"byte_start":20674,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21229,"byte_start":20965,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22305,"byte_start":21229,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22821,"byte_start":22305,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23062,"byte_start":22821,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23382,"byte_start":23062,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23640,"byte_start":23382,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23901,"byte_start":23640,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24150,"byte_start":23901,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24478,"byte_start":24150,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24751,"byte_start":24478,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26161,"byte_start":24751,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26595,"byte_start":26161,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26932,"byte_start":26595,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27188,"byte_start":26932,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27493,"byte_start":27188,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27846,"byte_start":27493,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28149,"byte_start":27846,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28618,"byte_start":28149,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29791,"byte_start":28618,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30207,"byte_start":29791,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30824,"byte_start":30207,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31255,"byte_start":30824,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31633,"byte_start":31255,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32058,"byte_start":31633,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32567,"byte_start":32058,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32582,"byte_start":32567,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":311,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":382,"byte_start":311,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":456,"byte_start":382,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":876,"byte_start":456,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1299,"byte_start":876,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1379,"byte_start":1299,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1462,"byte_start":1379,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1895,"byte_start":1462,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1995,"byte_start":1895,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2098,"byte_start":1995,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2567,"byte_start":2098,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3039,"byte_start":2567,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3860,"byte_start":3039,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3991,"byte_start":3860,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4079,"byte_start":3991,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4558,"byte_start":4079,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5010,"byte_start":4558,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5208,"byte_start":5010,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5414,"byte_start":5208,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5625,"byte_start":5414,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5837,"byte_start":5625,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6157,"byte_start":5837,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6288,"byte_start":6157,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6376,"byte_start":6288,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6831,"byte_start":6376,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7267,"byte_start":6831,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7646,"byte_start":7267,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7852,"byte_start":7646,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8334,"byte_start":7852,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8661,"byte_start":8334,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8945,"byte_start":8661,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9015,"byte_start":8945,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9438,"byte_start":9015,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9891,"byte_start":9438,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10324,"byte_start":9891,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11022,"byte_start":10324,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11228,"byte_start":11022,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11388,"byte_start":11228,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11822,"byte_start":11388,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12244,"byte_start":11822,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12581,"byte_start":12244,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12785,"byte_start":12581,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12855,"byte_start":12785,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12928,"byte_start":12855,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13348,"byte_start":12928,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13771,"byte_start":13348,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13849,"byte_start":13771,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13930,"byte_start":13849,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14363,"byte_start":13930,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14857,"byte_start":14363,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14944,"byte_start":14857,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15034,"byte_start":14944,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15449,"byte_start":15034,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15608,"byte_start":15449,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15714,"byte_start":15608,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16167,"byte_start":15714,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16478,"byte_start":16167,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16648,"byte_start":16478,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16736,"byte_start":16648,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16921,"byte_start":16736,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17014,"byte_start":16921,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17073,"byte_start":17014,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17169,"byte_start":17073,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17352,"byte_start":17169,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17371,"byte_start":17352,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Ledger","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":22,"byte_start":16,"class":"word","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":23,"byte_start":22,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":36,"byte_start":24,"class":"control","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":37,"byte_start":36,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":44,"byte_start":37,"class":"word","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":45,"byte_start":44,"class":"ascii-symbol","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":45,"class":"word","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":49,"byte_start":48,"class":"ascii-symbol","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":49,"class":"word","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"ascii-symbol","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"numeral","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":59,"byte_start":58,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":72,"byte_start":60,"class":"control","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":73,"byte_start":72,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":79,"byte_start":73,"class":"word","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":80,"byte_start":79,"class":"ascii-symbol","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":86,"byte_start":80,"class":"word","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":87,"byte_start":86,"class":"ascii-symbol","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":88,"byte_start":87,"class":"numeral","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":89,"byte_start":88,"class":"ascii-symbol","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":90,"byte_start":89,"class":"numeral","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":91,"byte_start":90,"class":"ascii-symbol","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":92,"byte_start":91,"class":"numeral","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":93,"byte_start":92,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":100,"byte_start":94,"class":"control","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":101,"byte_start":100,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"entry":"ledger","form":"ledger","kind":"form","package":"models.titles"},"byte_end":107,"byte_start":101,"class":"word","path":"src/Ledger.lex.tex"},{"binding":{"entry":"contracts","form":"contracts","kind":"form","package":"models.titles"},"byte_end":117,"byte_start":108,"class":"word","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":118,"byte_start":117,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":125,"byte_start":119,"class":"control","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":126,"byte_start":125,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":140,"byte_start":126,"class":"word","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":141,"byte_start":140,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":13229,"byte_start":142,"class":"word","path":"src/Ledger.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":13233,"byte_start":13229,"class":"control","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":13234,"byte_start":13233,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":13248,"byte_start":13234,"class":"word","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":13249,"byte_start":13248,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":13254,"byte_start":13250,"class":"control","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":13255,"byte_start":13254,"class":"delimiter","path":"src/Ledger.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":13262,"byte_start":13255,"class":"word","path":"src/Ledger.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":13263,"byte_start":13262,"class":"delimiter","path":"src/Ledger.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/examples/models/expected/build/coverage/Models/Main.coverage.json b/examples/models/expected/build/coverage/Models/Main.coverage.json index 7b9c44824..38e9404de 100644 --- a/examples/models/expected/build/coverage/Models/Main.coverage.json +++ b/examples/models/expected/build/coverage/Models/Main.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":620,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1171,"byte_start":620,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1732,"byte_start":1171,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2289,"byte_start":1732,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2888,"byte_start":2289,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3094,"byte_start":2888,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3594,"byte_start":3094,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3820,"byte_start":3594,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4052,"byte_start":3820,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4621,"byte_start":4052,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5208,"byte_start":4621,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5728,"byte_start":5208,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6135,"byte_start":5728,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6715,"byte_start":6135,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7144,"byte_start":6715,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7581,"byte_start":7144,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8070,"byte_start":7581,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8566,"byte_start":8070,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9044,"byte_start":8566,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9549,"byte_start":9044,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10046,"byte_start":9549,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10547,"byte_start":10046,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10980,"byte_start":10547,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11453,"byte_start":10980,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11910,"byte_start":11453,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12479,"byte_start":11910,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13146,"byte_start":12479,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13735,"byte_start":13146,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14364,"byte_start":13735,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15040,"byte_start":14364,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15683,"byte_start":15040,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15876,"byte_start":15683,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16076,"byte_start":15876,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16282,"byte_start":16076,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16482,"byte_start":16282,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16681,"byte_start":16482,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16887,"byte_start":16681,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17078,"byte_start":16887,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17282,"byte_start":17078,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17494,"byte_start":17282,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17684,"byte_start":17494,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17885,"byte_start":17684,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18081,"byte_start":17885,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18270,"byte_start":18081,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18458,"byte_start":18270,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18675,"byte_start":18458,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18876,"byte_start":18675,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19083,"byte_start":18876,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19284,"byte_start":19083,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19500,"byte_start":19284,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19714,"byte_start":19500,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19922,"byte_start":19714,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20130,"byte_start":19922,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20343,"byte_start":20130,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20544,"byte_start":20343,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20762,"byte_start":20544,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20972,"byte_start":20762,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21182,"byte_start":20972,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21400,"byte_start":21182,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21626,"byte_start":21400,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21840,"byte_start":21626,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22069,"byte_start":21840,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22357,"byte_start":22069,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22660,"byte_start":22357,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22675,"byte_start":22660,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":13887,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13994,"byte_start":13887,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14405,"byte_start":13994,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14812,"byte_start":14405,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15246,"byte_start":14812,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15887,"byte_start":15246,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15975,"byte_start":15887,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16223,"byte_start":15975,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16341,"byte_start":16223,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16465,"byte_start":16341,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17123,"byte_start":16465,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17954,"byte_start":17123,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18415,"byte_start":17954,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18884,"byte_start":18415,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19467,"byte_start":18884,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19888,"byte_start":19467,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20317,"byte_start":19888,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21070,"byte_start":20317,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21729,"byte_start":21070,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22456,"byte_start":21729,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23237,"byte_start":22456,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23894,"byte_start":23237,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24555,"byte_start":23894,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24975,"byte_start":24555,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25200,"byte_start":24975,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25409,"byte_start":25200,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25729,"byte_start":25409,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26148,"byte_start":25729,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26489,"byte_start":26148,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26869,"byte_start":26489,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27296,"byte_start":26869,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27690,"byte_start":27296,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27776,"byte_start":27690,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27868,"byte_start":27776,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27966,"byte_start":27868,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28058,"byte_start":27966,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28149,"byte_start":28058,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28246,"byte_start":28149,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28330,"byte_start":28246,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28426,"byte_start":28330,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28530,"byte_start":28426,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28613,"byte_start":28530,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28706,"byte_start":28613,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28794,"byte_start":28706,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28876,"byte_start":28794,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28957,"byte_start":28876,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29065,"byte_start":28957,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29159,"byte_start":29065,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29258,"byte_start":29159,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29351,"byte_start":29258,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29459,"byte_start":29351,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29564,"byte_start":29459,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29664,"byte_start":29564,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29764,"byte_start":29664,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29869,"byte_start":29764,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29963,"byte_start":29869,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30072,"byte_start":29963,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30174,"byte_start":30072,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30276,"byte_start":30174,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30385,"byte_start":30276,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30502,"byte_start":30385,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30608,"byte_start":30502,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30728,"byte_start":30608,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30909,"byte_start":30728,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31104,"byte_start":30909,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31121,"byte_start":31104,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Main","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":20,"byte_start":16,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":21,"byte_start":20,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":34,"byte_start":22,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":35,"byte_start":34,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":42,"byte_start":35,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":43,"byte_start":42,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":46,"byte_start":43,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":46,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":50,"byte_start":47,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":50,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":57,"byte_start":56,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":70,"byte_start":58,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":71,"byte_start":70,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":77,"byte_start":71,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":78,"byte_start":77,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":84,"byte_start":78,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":85,"byte_start":84,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":86,"byte_start":85,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":87,"byte_start":86,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":88,"byte_start":87,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":89,"byte_start":88,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":90,"byte_start":89,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":91,"byte_start":90,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":105,"byte_start":92,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":106,"byte_start":105,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":112,"byte_start":106,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":113,"byte_start":112,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":127,"byte_start":114,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":128,"byte_start":127,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":138,"byte_start":128,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":139,"byte_start":138,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":153,"byte_start":140,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":154,"byte_start":153,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":160,"byte_start":154,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":161,"byte_start":160,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":175,"byte_start":162,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":176,"byte_start":175,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":183,"byte_start":176,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":184,"byte_start":183,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":198,"byte_start":185,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":199,"byte_start":198,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":205,"byte_start":199,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":206,"byte_start":205,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":220,"byte_start":207,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":221,"byte_start":220,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":229,"byte_start":221,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":230,"byte_start":229,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":244,"byte_start":231,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":245,"byte_start":244,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":250,"byte_start":245,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":251,"byte_start":250,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":258,"byte_start":252,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":259,"byte_start":258,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"model","form":"model","kind":"form","package":"models.titles"},"byte_end":264,"byte_start":259,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"roots","form":"roots","kind":"form","package":"models.titles"},"byte_end":270,"byte_start":265,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":271,"byte_start":270,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":278,"byte_start":272,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":279,"byte_start":278,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":293,"byte_start":279,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":294,"byte_start":293,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":13960,"byte_start":295,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":13964,"byte_start":13960,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":13965,"byte_start":13964,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":13979,"byte_start":13965,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":13980,"byte_start":13979,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":13985,"byte_start":13981,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":13986,"byte_start":13985,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":13993,"byte_start":13986,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":13994,"byte_start":13993,"class":"delimiter","path":"src/Main.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":620,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1171,"byte_start":620,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1732,"byte_start":1171,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2289,"byte_start":1732,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2888,"byte_start":2289,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3094,"byte_start":2888,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3594,"byte_start":3094,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3820,"byte_start":3594,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4052,"byte_start":3820,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4621,"byte_start":4052,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5208,"byte_start":4621,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5728,"byte_start":5208,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6135,"byte_start":5728,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6715,"byte_start":6135,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7144,"byte_start":6715,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7581,"byte_start":7144,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8070,"byte_start":7581,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8566,"byte_start":8070,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9044,"byte_start":8566,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9549,"byte_start":9044,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10046,"byte_start":9549,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10547,"byte_start":10046,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10980,"byte_start":10547,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11453,"byte_start":10980,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11910,"byte_start":11453,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12479,"byte_start":11910,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13146,"byte_start":12479,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13735,"byte_start":13146,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14364,"byte_start":13735,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15040,"byte_start":14364,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15683,"byte_start":15040,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15876,"byte_start":15683,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16076,"byte_start":15876,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16282,"byte_start":16076,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16482,"byte_start":16282,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16681,"byte_start":16482,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16887,"byte_start":16681,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17078,"byte_start":16887,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17282,"byte_start":17078,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17494,"byte_start":17282,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17684,"byte_start":17494,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17885,"byte_start":17684,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18081,"byte_start":17885,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18270,"byte_start":18081,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18458,"byte_start":18270,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18675,"byte_start":18458,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18876,"byte_start":18675,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19083,"byte_start":18876,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19284,"byte_start":19083,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19500,"byte_start":19284,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19714,"byte_start":19500,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19922,"byte_start":19714,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20130,"byte_start":19922,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20343,"byte_start":20130,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20544,"byte_start":20343,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20762,"byte_start":20544,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20972,"byte_start":20762,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21182,"byte_start":20972,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21400,"byte_start":21182,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21626,"byte_start":21400,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21840,"byte_start":21626,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22069,"byte_start":21840,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22357,"byte_start":22069,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22660,"byte_start":22357,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22675,"byte_start":22660,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":434,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":541,"byte_start":434,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":952,"byte_start":541,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1359,"byte_start":952,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1793,"byte_start":1359,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2434,"byte_start":1793,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2522,"byte_start":2434,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2770,"byte_start":2522,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2888,"byte_start":2770,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3012,"byte_start":2888,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3670,"byte_start":3012,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4501,"byte_start":3670,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4962,"byte_start":4501,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5431,"byte_start":4962,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6014,"byte_start":5431,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6435,"byte_start":6014,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6864,"byte_start":6435,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7617,"byte_start":6864,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8276,"byte_start":7617,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9003,"byte_start":8276,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9784,"byte_start":9003,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10441,"byte_start":9784,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11102,"byte_start":10441,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11522,"byte_start":11102,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11747,"byte_start":11522,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11956,"byte_start":11747,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12276,"byte_start":11956,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12695,"byte_start":12276,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13036,"byte_start":12695,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13416,"byte_start":13036,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13843,"byte_start":13416,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14237,"byte_start":13843,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14323,"byte_start":14237,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14415,"byte_start":14323,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14513,"byte_start":14415,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14605,"byte_start":14513,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14696,"byte_start":14605,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14793,"byte_start":14696,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14877,"byte_start":14793,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14973,"byte_start":14877,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15077,"byte_start":14973,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15160,"byte_start":15077,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15253,"byte_start":15160,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15341,"byte_start":15253,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15423,"byte_start":15341,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15504,"byte_start":15423,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15612,"byte_start":15504,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15706,"byte_start":15612,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15805,"byte_start":15706,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15898,"byte_start":15805,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16006,"byte_start":15898,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16111,"byte_start":16006,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16211,"byte_start":16111,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16311,"byte_start":16211,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16416,"byte_start":16311,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16510,"byte_start":16416,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16619,"byte_start":16510,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16721,"byte_start":16619,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16823,"byte_start":16721,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16932,"byte_start":16823,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17049,"byte_start":16932,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17155,"byte_start":17049,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17275,"byte_start":17155,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17456,"byte_start":17275,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17651,"byte_start":17456,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17668,"byte_start":17651,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Main","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":20,"byte_start":16,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":21,"byte_start":20,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":34,"byte_start":22,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":35,"byte_start":34,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":42,"byte_start":35,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":43,"byte_start":42,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":46,"byte_start":43,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":46,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":50,"byte_start":47,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":50,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":57,"byte_start":56,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":70,"byte_start":58,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":71,"byte_start":70,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":77,"byte_start":71,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":78,"byte_start":77,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":84,"byte_start":78,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":85,"byte_start":84,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":86,"byte_start":85,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":87,"byte_start":86,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":88,"byte_start":87,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":89,"byte_start":88,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":90,"byte_start":89,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":91,"byte_start":90,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":105,"byte_start":92,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":106,"byte_start":105,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":112,"byte_start":106,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":113,"byte_start":112,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":127,"byte_start":114,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":128,"byte_start":127,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":138,"byte_start":128,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":139,"byte_start":138,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":153,"byte_start":140,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":154,"byte_start":153,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":160,"byte_start":154,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":161,"byte_start":160,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":175,"byte_start":162,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":176,"byte_start":175,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":183,"byte_start":176,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":184,"byte_start":183,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":198,"byte_start":185,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":199,"byte_start":198,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":205,"byte_start":199,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":206,"byte_start":205,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":220,"byte_start":207,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":221,"byte_start":220,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":229,"byte_start":221,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":230,"byte_start":229,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":244,"byte_start":231,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":245,"byte_start":244,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":250,"byte_start":245,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":251,"byte_start":250,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":258,"byte_start":252,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":259,"byte_start":258,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"model","form":"model","kind":"form","package":"models.titles"},"byte_end":264,"byte_start":259,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"roots","form":"roots","kind":"form","package":"models.titles"},"byte_end":270,"byte_start":265,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":271,"byte_start":270,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":278,"byte_start":272,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":279,"byte_start":278,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":293,"byte_start":279,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":294,"byte_start":293,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":13960,"byte_start":295,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":13964,"byte_start":13960,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":13965,"byte_start":13964,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":13979,"byte_start":13965,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":13980,"byte_start":13979,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":13985,"byte_start":13981,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":13986,"byte_start":13985,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":13993,"byte_start":13986,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":13994,"byte_start":13993,"class":"delimiter","path":"src/Main.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/examples/models/expected/build/coverage/Models/Pipeline.coverage.json b/examples/models/expected/build/coverage/Models/Pipeline.coverage.json index a5d7c2023..bbf0369a6 100644 --- a/examples/models/expected/build/coverage/Models/Pipeline.coverage.json +++ b/examples/models/expected/build/coverage/Models/Pipeline.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":430,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":769,"byte_start":430,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1611,"byte_start":769,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1974,"byte_start":1611,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2951,"byte_start":1974,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3273,"byte_start":2951,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3624,"byte_start":3273,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4369,"byte_start":3624,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5123,"byte_start":4369,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5530,"byte_start":5123,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5870,"byte_start":5530,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6237,"byte_start":5870,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7103,"byte_start":6237,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7453,"byte_start":7103,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8190,"byte_start":7453,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8970,"byte_start":8190,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9251,"byte_start":8970,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9507,"byte_start":9251,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9989,"byte_start":9507,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10245,"byte_start":9989,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10881,"byte_start":10245,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11318,"byte_start":10881,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11689,"byte_start":11318,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11962,"byte_start":11689,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12512,"byte_start":11962,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12783,"byte_start":12512,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13431,"byte_start":12783,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13884,"byte_start":13431,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14278,"byte_start":13884,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14580,"byte_start":14278,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15157,"byte_start":14580,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15446,"byte_start":15157,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16098,"byte_start":15446,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16559,"byte_start":16098,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16839,"byte_start":16559,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17095,"byte_start":16839,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17683,"byte_start":17095,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17952,"byte_start":17683,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18591,"byte_start":17952,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19023,"byte_start":18591,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19318,"byte_start":19023,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19692,"byte_start":19318,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19998,"byte_start":19692,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20752,"byte_start":19998,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22333,"byte_start":20752,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22789,"byte_start":22333,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22804,"byte_start":22789,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":26951,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27077,"byte_start":26951,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27325,"byte_start":27077,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27502,"byte_start":27325,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27896,"byte_start":27502,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28139,"byte_start":27896,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28641,"byte_start":28139,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29023,"byte_start":28641,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29231,"byte_start":29023,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29356,"byte_start":29231,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29514,"byte_start":29356,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29683,"byte_start":29514,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29684,"byte_start":29683,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30073,"byte_start":29684,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30454,"byte_start":30073,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30658,"byte_start":30454,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30811,"byte_start":30658,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30922,"byte_start":30811,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30923,"byte_start":30922,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31034,"byte_start":30923,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31367,"byte_start":31034,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31534,"byte_start":31367,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31651,"byte_start":31534,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31836,"byte_start":31651,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31837,"byte_start":31836,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32002,"byte_start":31837,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32339,"byte_start":32002,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32511,"byte_start":32339,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32639,"byte_start":32511,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32847,"byte_start":32639,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32848,"byte_start":32847,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33053,"byte_start":32848,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33286,"byte_start":33053,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33449,"byte_start":33286,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33604,"byte_start":33449,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33714,"byte_start":33604,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33715,"byte_start":33714,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33906,"byte_start":33715,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34241,"byte_start":33906,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34409,"byte_start":34241,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34520,"byte_start":34409,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34644,"byte_start":34520,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34771,"byte_start":34644,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35236,"byte_start":34771,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35422,"byte_start":35236,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36546,"byte_start":35422,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36687,"byte_start":36546,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36708,"byte_start":36687,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Pipeline","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":24,"byte_start":16,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":25,"byte_start":24,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":38,"byte_start":26,"class":"control","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":39,"byte_start":38,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":46,"byte_start":39,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":46,"class":"ascii-symbol","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":50,"byte_start":47,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":50,"class":"ascii-symbol","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":51,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"ascii-symbol","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"numeral","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":59,"byte_start":58,"class":"ascii-symbol","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":60,"byte_start":59,"class":"numeral","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":61,"byte_start":60,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":74,"byte_start":62,"class":"control","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":75,"byte_start":74,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":81,"byte_start":75,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":82,"byte_start":81,"class":"ascii-symbol","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":88,"byte_start":82,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":89,"byte_start":88,"class":"ascii-symbol","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":90,"byte_start":89,"class":"numeral","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":91,"byte_start":90,"class":"ascii-symbol","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":92,"byte_start":91,"class":"numeral","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":93,"byte_start":92,"class":"ascii-symbol","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":94,"byte_start":93,"class":"numeral","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":95,"byte_start":94,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":109,"byte_start":96,"class":"control","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":110,"byte_start":109,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":116,"byte_start":110,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":117,"byte_start":116,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":131,"byte_start":118,"class":"control","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":132,"byte_start":131,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":142,"byte_start":132,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":143,"byte_start":142,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":157,"byte_start":144,"class":"control","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":158,"byte_start":157,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":164,"byte_start":158,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":165,"byte_start":164,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":179,"byte_start":166,"class":"control","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":180,"byte_start":179,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":186,"byte_start":180,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":187,"byte_start":186,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":201,"byte_start":188,"class":"control","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":202,"byte_start":201,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":209,"byte_start":202,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":210,"byte_start":209,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":217,"byte_start":211,"class":"control","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":218,"byte_start":217,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"model","form":"model","kind":"form","package":"models.titles"},"byte_end":223,"byte_start":218,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"pipelines","form":"pipelines","kind":"form","package":"models.titles"},"byte_end":233,"byte_start":224,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":234,"byte_start":233,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":241,"byte_start":235,"class":"control","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":242,"byte_start":241,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":256,"byte_start":242,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":257,"byte_start":256,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":12910,"byte_start":258,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":12914,"byte_start":12910,"class":"control","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":12915,"byte_start":12914,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":12929,"byte_start":12915,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":12930,"byte_start":12929,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":12935,"byte_start":12931,"class":"control","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":12936,"byte_start":12935,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":12943,"byte_start":12936,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":12944,"byte_start":12943,"class":"delimiter","path":"src/Pipeline.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":430,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":769,"byte_start":430,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1611,"byte_start":769,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1974,"byte_start":1611,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2951,"byte_start":1974,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3273,"byte_start":2951,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3624,"byte_start":3273,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4369,"byte_start":3624,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5123,"byte_start":4369,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5530,"byte_start":5123,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5870,"byte_start":5530,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6237,"byte_start":5870,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7103,"byte_start":6237,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7453,"byte_start":7103,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8190,"byte_start":7453,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8970,"byte_start":8190,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9251,"byte_start":8970,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9507,"byte_start":9251,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9989,"byte_start":9507,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10245,"byte_start":9989,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10881,"byte_start":10245,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11318,"byte_start":10881,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11689,"byte_start":11318,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11962,"byte_start":11689,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12512,"byte_start":11962,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12783,"byte_start":12512,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13431,"byte_start":12783,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13884,"byte_start":13431,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14278,"byte_start":13884,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14580,"byte_start":14278,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15157,"byte_start":14580,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15446,"byte_start":15157,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16098,"byte_start":15446,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16559,"byte_start":16098,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16839,"byte_start":16559,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17095,"byte_start":16839,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17683,"byte_start":17095,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17952,"byte_start":17683,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18591,"byte_start":17952,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19023,"byte_start":18591,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19318,"byte_start":19023,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19692,"byte_start":19318,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19998,"byte_start":19692,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20752,"byte_start":19998,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22333,"byte_start":20752,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22789,"byte_start":22333,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22804,"byte_start":22789,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":458,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":584,"byte_start":458,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":832,"byte_start":584,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1009,"byte_start":832,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1403,"byte_start":1009,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1646,"byte_start":1403,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2148,"byte_start":1646,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2530,"byte_start":2148,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2738,"byte_start":2530,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2863,"byte_start":2738,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3021,"byte_start":2863,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3190,"byte_start":3021,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3191,"byte_start":3190,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3580,"byte_start":3191,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3961,"byte_start":3580,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4165,"byte_start":3961,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4318,"byte_start":4165,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4429,"byte_start":4318,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4430,"byte_start":4429,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4541,"byte_start":4430,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4874,"byte_start":4541,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5041,"byte_start":4874,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5158,"byte_start":5041,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5343,"byte_start":5158,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5344,"byte_start":5343,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5509,"byte_start":5344,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5846,"byte_start":5509,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6018,"byte_start":5846,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6146,"byte_start":6018,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6354,"byte_start":6146,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6355,"byte_start":6354,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6560,"byte_start":6355,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6793,"byte_start":6560,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6956,"byte_start":6793,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7111,"byte_start":6956,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7221,"byte_start":7111,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7222,"byte_start":7221,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7413,"byte_start":7222,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7748,"byte_start":7413,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7916,"byte_start":7748,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8027,"byte_start":7916,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8151,"byte_start":8027,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8278,"byte_start":8151,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8743,"byte_start":8278,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8929,"byte_start":8743,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10053,"byte_start":8929,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10194,"byte_start":10053,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10215,"byte_start":10194,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Pipeline","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":24,"byte_start":16,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":25,"byte_start":24,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":38,"byte_start":26,"class":"control","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":39,"byte_start":38,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":46,"byte_start":39,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":46,"class":"ascii-symbol","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":50,"byte_start":47,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":50,"class":"ascii-symbol","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":51,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"ascii-symbol","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"numeral","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":59,"byte_start":58,"class":"ascii-symbol","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":60,"byte_start":59,"class":"numeral","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":61,"byte_start":60,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":74,"byte_start":62,"class":"control","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":75,"byte_start":74,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":81,"byte_start":75,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":82,"byte_start":81,"class":"ascii-symbol","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":88,"byte_start":82,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":89,"byte_start":88,"class":"ascii-symbol","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":90,"byte_start":89,"class":"numeral","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":91,"byte_start":90,"class":"ascii-symbol","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":92,"byte_start":91,"class":"numeral","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":93,"byte_start":92,"class":"ascii-symbol","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":94,"byte_start":93,"class":"numeral","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":95,"byte_start":94,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":109,"byte_start":96,"class":"control","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":110,"byte_start":109,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":116,"byte_start":110,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":117,"byte_start":116,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":131,"byte_start":118,"class":"control","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":132,"byte_start":131,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":142,"byte_start":132,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":143,"byte_start":142,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":157,"byte_start":144,"class":"control","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":158,"byte_start":157,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":164,"byte_start":158,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":165,"byte_start":164,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":179,"byte_start":166,"class":"control","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":180,"byte_start":179,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":186,"byte_start":180,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":187,"byte_start":186,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":201,"byte_start":188,"class":"control","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":202,"byte_start":201,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":209,"byte_start":202,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":210,"byte_start":209,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":217,"byte_start":211,"class":"control","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":218,"byte_start":217,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"model","form":"model","kind":"form","package":"models.titles"},"byte_end":223,"byte_start":218,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"pipelines","form":"pipelines","kind":"form","package":"models.titles"},"byte_end":233,"byte_start":224,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":234,"byte_start":233,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":241,"byte_start":235,"class":"control","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":242,"byte_start":241,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":256,"byte_start":242,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":257,"byte_start":256,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":12910,"byte_start":258,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":12914,"byte_start":12910,"class":"control","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":12915,"byte_start":12914,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":12929,"byte_start":12915,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":12930,"byte_start":12929,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":12935,"byte_start":12931,"class":"control","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":12936,"byte_start":12935,"class":"delimiter","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":12943,"byte_start":12936,"class":"word","path":"src/Pipeline.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":12944,"byte_start":12943,"class":"delimiter","path":"src/Pipeline.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/examples/models/expected/build/coverage/Models/Policy.coverage.json b/examples/models/expected/build/coverage/Models/Policy.coverage.json index 0c524a66c..5863ba369 100644 --- a/examples/models/expected/build/coverage/Models/Policy.coverage.json +++ b/examples/models/expected/build/coverage/Models/Policy.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":588,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":885,"byte_start":588,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1245,"byte_start":885,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1532,"byte_start":1245,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1822,"byte_start":1532,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2105,"byte_start":1822,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3224,"byte_start":2105,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4043,"byte_start":3224,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4330,"byte_start":4043,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4550,"byte_start":4330,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5218,"byte_start":4550,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5653,"byte_start":5218,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5668,"byte_start":5653,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":5325,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5532,"byte_start":5325,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5658,"byte_start":5532,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5771,"byte_start":5658,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6003,"byte_start":5771,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6238,"byte_start":6003,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6351,"byte_start":6238,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6711,"byte_start":6351,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7067,"byte_start":6711,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7300,"byte_start":7067,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7413,"byte_start":7300,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7608,"byte_start":7413,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7719,"byte_start":7608,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7738,"byte_start":7719,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Policy","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":22,"byte_start":16,"class":"word","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":23,"byte_start":22,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":36,"byte_start":24,"class":"control","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":37,"byte_start":36,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":44,"byte_start":37,"class":"word","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":45,"byte_start":44,"class":"ascii-symbol","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":45,"class":"word","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":49,"byte_start":48,"class":"ascii-symbol","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":49,"class":"word","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"ascii-symbol","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"numeral","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":59,"byte_start":58,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":72,"byte_start":60,"class":"control","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":73,"byte_start":72,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":79,"byte_start":73,"class":"word","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":80,"byte_start":79,"class":"ascii-symbol","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":86,"byte_start":80,"class":"word","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":87,"byte_start":86,"class":"ascii-symbol","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":88,"byte_start":87,"class":"numeral","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":89,"byte_start":88,"class":"ascii-symbol","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":90,"byte_start":89,"class":"numeral","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":91,"byte_start":90,"class":"ascii-symbol","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":92,"byte_start":91,"class":"numeral","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":93,"byte_start":92,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":107,"byte_start":94,"class":"control","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":108,"byte_start":107,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":114,"byte_start":108,"class":"word","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":115,"byte_start":114,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":122,"byte_start":116,"class":"control","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":123,"byte_start":122,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"entry":"escalation","form":"escalation","kind":"form","package":"models.titles"},"byte_end":133,"byte_start":123,"class":"word","path":"src/Policy.lex.tex"},{"binding":{"entry":"policy","form":"policy","kind":"form","package":"models.titles"},"byte_end":140,"byte_start":134,"class":"word","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":141,"byte_start":140,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":148,"byte_start":142,"class":"control","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":149,"byte_start":148,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":163,"byte_start":149,"class":"word","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":164,"byte_start":163,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":3137,"byte_start":165,"class":"word","path":"src/Policy.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":3141,"byte_start":3137,"class":"control","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":3142,"byte_start":3141,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":3156,"byte_start":3142,"class":"word","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":3157,"byte_start":3156,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":3162,"byte_start":3158,"class":"control","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":3163,"byte_start":3162,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":3170,"byte_start":3163,"class":"word","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":3171,"byte_start":3170,"class":"delimiter","path":"src/Policy.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":588,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":885,"byte_start":588,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1245,"byte_start":885,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1532,"byte_start":1245,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1822,"byte_start":1532,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2105,"byte_start":1822,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3224,"byte_start":2105,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4043,"byte_start":3224,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4330,"byte_start":4043,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4550,"byte_start":4330,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5218,"byte_start":4550,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5653,"byte_start":5218,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5668,"byte_start":5653,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":260,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":467,"byte_start":260,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":593,"byte_start":467,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":706,"byte_start":593,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":938,"byte_start":706,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1173,"byte_start":938,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1286,"byte_start":1173,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1646,"byte_start":1286,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2002,"byte_start":1646,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2235,"byte_start":2002,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2348,"byte_start":2235,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2543,"byte_start":2348,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2654,"byte_start":2543,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2673,"byte_start":2654,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Policy","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":22,"byte_start":16,"class":"word","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":23,"byte_start":22,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":36,"byte_start":24,"class":"control","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":37,"byte_start":36,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":44,"byte_start":37,"class":"word","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":45,"byte_start":44,"class":"ascii-symbol","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":45,"class":"word","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":49,"byte_start":48,"class":"ascii-symbol","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":49,"class":"word","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"ascii-symbol","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"numeral","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":59,"byte_start":58,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":72,"byte_start":60,"class":"control","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":73,"byte_start":72,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":79,"byte_start":73,"class":"word","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":80,"byte_start":79,"class":"ascii-symbol","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":86,"byte_start":80,"class":"word","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":87,"byte_start":86,"class":"ascii-symbol","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":88,"byte_start":87,"class":"numeral","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":89,"byte_start":88,"class":"ascii-symbol","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":90,"byte_start":89,"class":"numeral","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":91,"byte_start":90,"class":"ascii-symbol","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":92,"byte_start":91,"class":"numeral","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":93,"byte_start":92,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":107,"byte_start":94,"class":"control","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":108,"byte_start":107,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":114,"byte_start":108,"class":"word","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":115,"byte_start":114,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":122,"byte_start":116,"class":"control","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":123,"byte_start":122,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"entry":"escalation","form":"escalation","kind":"form","package":"models.titles"},"byte_end":133,"byte_start":123,"class":"word","path":"src/Policy.lex.tex"},{"binding":{"entry":"policy","form":"policy","kind":"form","package":"models.titles"},"byte_end":140,"byte_start":134,"class":"word","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":141,"byte_start":140,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":148,"byte_start":142,"class":"control","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":149,"byte_start":148,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":163,"byte_start":149,"class":"word","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":164,"byte_start":163,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":3137,"byte_start":165,"class":"word","path":"src/Policy.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":3141,"byte_start":3137,"class":"control","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":3142,"byte_start":3141,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":3156,"byte_start":3142,"class":"word","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":3157,"byte_start":3156,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":3162,"byte_start":3158,"class":"control","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":3163,"byte_start":3162,"class":"delimiter","path":"src/Policy.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":3170,"byte_start":3163,"class":"word","path":"src/Policy.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":3171,"byte_start":3170,"class":"delimiter","path":"src/Policy.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/examples/models/expected/build/coverage/Models/Recognizer.coverage.json b/examples/models/expected/build/coverage/Models/Recognizer.coverage.json index e46e4deae..efd7d36e5 100644 --- a/examples/models/expected/build/coverage/Models/Recognizer.coverage.json +++ b/examples/models/expected/build/coverage/Models/Recognizer.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":857,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1552,"byte_start":857,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2277,"byte_start":1552,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2972,"byte_start":2277,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3687,"byte_start":2972,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4306,"byte_start":3687,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4615,"byte_start":4306,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5004,"byte_start":4615,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5332,"byte_start":5004,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5663,"byte_start":5332,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6806,"byte_start":5663,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7096,"byte_start":6806,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12171,"byte_start":7096,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12456,"byte_start":12171,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12730,"byte_start":12456,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14328,"byte_start":12730,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14683,"byte_start":14328,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14990,"byte_start":14683,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15497,"byte_start":14990,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17615,"byte_start":15497,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18043,"byte_start":17615,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18477,"byte_start":18043,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18853,"byte_start":18477,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18868,"byte_start":18853,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":26836,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29025,"byte_start":26836,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29652,"byte_start":29025,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32426,"byte_start":29652,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33071,"byte_start":32426,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33681,"byte_start":33071,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33901,"byte_start":33681,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34039,"byte_start":33901,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34181,"byte_start":34039,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34679,"byte_start":34181,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35180,"byte_start":34679,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35564,"byte_start":35180,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35744,"byte_start":35564,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39653,"byte_start":35744,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40003,"byte_start":39653,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40342,"byte_start":40003,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41794,"byte_start":40342,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41902,"byte_start":41794,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42361,"byte_start":41902,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42699,"byte_start":42361,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43245,"byte_start":42699,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43356,"byte_start":43245,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43470,"byte_start":43356,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43599,"byte_start":43470,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43622,"byte_start":43599,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Recognizer","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":26,"byte_start":16,"class":"word","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":27,"byte_start":26,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":40,"byte_start":28,"class":"control","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":41,"byte_start":40,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":41,"class":"word","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":49,"byte_start":48,"class":"ascii-symbol","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":49,"class":"word","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":53,"class":"word","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"ascii-symbol","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"numeral","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":59,"byte_start":58,"class":"ascii-symbol","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":60,"byte_start":59,"class":"numeral","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":61,"byte_start":60,"class":"ascii-symbol","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":62,"byte_start":61,"class":"numeral","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":63,"byte_start":62,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":76,"byte_start":64,"class":"control","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":77,"byte_start":76,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":83,"byte_start":77,"class":"word","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":84,"byte_start":83,"class":"ascii-symbol","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":90,"byte_start":84,"class":"word","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":91,"byte_start":90,"class":"ascii-symbol","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":92,"byte_start":91,"class":"numeral","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":93,"byte_start":92,"class":"ascii-symbol","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":94,"byte_start":93,"class":"numeral","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":95,"byte_start":94,"class":"ascii-symbol","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":96,"byte_start":95,"class":"numeral","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":97,"byte_start":96,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":111,"byte_start":98,"class":"control","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":112,"byte_start":111,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":118,"byte_start":112,"class":"word","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":119,"byte_start":118,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":126,"byte_start":120,"class":"control","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":127,"byte_start":126,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"glyph","form":"glyph","kind":"form","package":"models.titles"},"byte_end":132,"byte_start":127,"class":"word","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"recognition","form":"recognition","kind":"form","package":"models.titles"},"byte_end":144,"byte_start":133,"class":"word","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":145,"byte_start":144,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":152,"byte_start":146,"class":"control","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":153,"byte_start":152,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":167,"byte_start":153,"class":"word","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":168,"byte_start":167,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":8255,"byte_start":169,"class":"word","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":8259,"byte_start":8255,"class":"control","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":8260,"byte_start":8259,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":8274,"byte_start":8260,"class":"word","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":8275,"byte_start":8274,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":8280,"byte_start":8276,"class":"control","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":8281,"byte_start":8280,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":8288,"byte_start":8281,"class":"word","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":8289,"byte_start":8288,"class":"delimiter","path":"src/Recognizer.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":857,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1552,"byte_start":857,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2277,"byte_start":1552,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2972,"byte_start":2277,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3687,"byte_start":2972,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4306,"byte_start":3687,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4615,"byte_start":4306,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5004,"byte_start":4615,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5332,"byte_start":5004,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5663,"byte_start":5332,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6806,"byte_start":5663,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7096,"byte_start":6806,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12171,"byte_start":7096,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12456,"byte_start":12171,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12730,"byte_start":12456,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14328,"byte_start":12730,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14683,"byte_start":14328,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14990,"byte_start":14683,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15497,"byte_start":14990,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17615,"byte_start":15497,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18043,"byte_start":17615,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18477,"byte_start":18043,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18853,"byte_start":18477,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18868,"byte_start":18853,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":343,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2532,"byte_start":343,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3159,"byte_start":2532,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5933,"byte_start":3159,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6578,"byte_start":5933,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7188,"byte_start":6578,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7408,"byte_start":7188,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7546,"byte_start":7408,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7688,"byte_start":7546,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8186,"byte_start":7688,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8687,"byte_start":8186,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9071,"byte_start":8687,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9251,"byte_start":9071,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13160,"byte_start":9251,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13510,"byte_start":13160,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13849,"byte_start":13510,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15301,"byte_start":13849,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15409,"byte_start":15301,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15868,"byte_start":15409,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16206,"byte_start":15868,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16752,"byte_start":16206,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16863,"byte_start":16752,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16977,"byte_start":16863,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17106,"byte_start":16977,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17129,"byte_start":17106,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Recognizer","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":26,"byte_start":16,"class":"word","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":27,"byte_start":26,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":40,"byte_start":28,"class":"control","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":41,"byte_start":40,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":41,"class":"word","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":49,"byte_start":48,"class":"ascii-symbol","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":49,"class":"word","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":53,"class":"word","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"ascii-symbol","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"numeral","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":59,"byte_start":58,"class":"ascii-symbol","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":60,"byte_start":59,"class":"numeral","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":61,"byte_start":60,"class":"ascii-symbol","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":62,"byte_start":61,"class":"numeral","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":63,"byte_start":62,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":76,"byte_start":64,"class":"control","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":77,"byte_start":76,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":83,"byte_start":77,"class":"word","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":84,"byte_start":83,"class":"ascii-symbol","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":90,"byte_start":84,"class":"word","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":91,"byte_start":90,"class":"ascii-symbol","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":92,"byte_start":91,"class":"numeral","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":93,"byte_start":92,"class":"ascii-symbol","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":94,"byte_start":93,"class":"numeral","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":95,"byte_start":94,"class":"ascii-symbol","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":96,"byte_start":95,"class":"numeral","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":97,"byte_start":96,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":111,"byte_start":98,"class":"control","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":112,"byte_start":111,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":118,"byte_start":112,"class":"word","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":119,"byte_start":118,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":126,"byte_start":120,"class":"control","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":127,"byte_start":126,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"glyph","form":"glyph","kind":"form","package":"models.titles"},"byte_end":132,"byte_start":127,"class":"word","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"recognition","form":"recognition","kind":"form","package":"models.titles"},"byte_end":144,"byte_start":133,"class":"word","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":145,"byte_start":144,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":152,"byte_start":146,"class":"control","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":153,"byte_start":152,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":167,"byte_start":153,"class":"word","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":168,"byte_start":167,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":8255,"byte_start":169,"class":"word","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":8259,"byte_start":8255,"class":"control","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":8260,"byte_start":8259,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":8274,"byte_start":8260,"class":"word","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":8275,"byte_start":8274,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":8280,"byte_start":8276,"class":"control","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":8281,"byte_start":8280,"class":"delimiter","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":8288,"byte_start":8281,"class":"word","path":"src/Recognizer.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":8289,"byte_start":8288,"class":"delimiter","path":"src/Recognizer.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/examples/models/expected/build/coverage/Models/Session.coverage.json b/examples/models/expected/build/coverage/Models/Session.coverage.json index 17eb28772..f4ee76518 100644 --- a/examples/models/expected/build/coverage/Models/Session.coverage.json +++ b/examples/models/expected/build/coverage/Models/Session.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":303,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":572,"byte_start":303,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":920,"byte_start":572,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1235,"byte_start":920,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1497,"byte_start":1235,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1838,"byte_start":1497,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2117,"byte_start":1838,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2463,"byte_start":2117,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3721,"byte_start":2463,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4778,"byte_start":3721,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4964,"byte_start":4778,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5308,"byte_start":4964,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5704,"byte_start":5308,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7335,"byte_start":5704,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7919,"byte_start":7335,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7934,"byte_start":7919,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":18789,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18847,"byte_start":18789,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18946,"byte_start":18847,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19048,"byte_start":18946,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19533,"byte_start":19048,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19624,"byte_start":19533,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19718,"byte_start":19624,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20161,"byte_start":19718,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20336,"byte_start":20161,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20683,"byte_start":20336,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21174,"byte_start":20683,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21253,"byte_start":21174,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21761,"byte_start":21253,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22332,"byte_start":21761,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22933,"byte_start":22332,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23211,"byte_start":22933,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23231,"byte_start":23211,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Session","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":23,"byte_start":16,"class":"word","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":24,"byte_start":23,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":37,"byte_start":25,"class":"control","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":38,"byte_start":37,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":45,"byte_start":38,"class":"word","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":46,"byte_start":45,"class":"ascii-symbol","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":49,"byte_start":46,"class":"word","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":50,"byte_start":49,"class":"ascii-symbol","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":50,"class":"word","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"ascii-symbol","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"numeral","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"ascii-symbol","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"numeral","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"ascii-symbol","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":59,"byte_start":58,"class":"numeral","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":60,"byte_start":59,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":73,"byte_start":61,"class":"control","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":74,"byte_start":73,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":80,"byte_start":74,"class":"word","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":81,"byte_start":80,"class":"ascii-symbol","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":87,"byte_start":81,"class":"word","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":88,"byte_start":87,"class":"ascii-symbol","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":89,"byte_start":88,"class":"numeral","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":90,"byte_start":89,"class":"ascii-symbol","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":91,"byte_start":90,"class":"numeral","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":92,"byte_start":91,"class":"ascii-symbol","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":93,"byte_start":92,"class":"numeral","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":94,"byte_start":93,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":101,"byte_start":95,"class":"control","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":102,"byte_start":101,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"entry":"session","form":"session","kind":"form","package":"models.titles"},"byte_end":109,"byte_start":102,"class":"word","path":"src/Session.lex.tex"},{"binding":{"entry":"windows","form":"windows","kind":"form","package":"models.titles"},"byte_end":117,"byte_start":110,"class":"word","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":118,"byte_start":117,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":125,"byte_start":119,"class":"control","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":126,"byte_start":125,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":140,"byte_start":126,"class":"word","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":141,"byte_start":140,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":3651,"byte_start":142,"class":"word","path":"src/Session.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":3655,"byte_start":3651,"class":"control","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":3656,"byte_start":3655,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":3670,"byte_start":3656,"class":"word","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":3671,"byte_start":3670,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":3676,"byte_start":3672,"class":"control","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":3677,"byte_start":3676,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":3684,"byte_start":3677,"class":"word","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":3685,"byte_start":3684,"class":"delimiter","path":"src/Session.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":303,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":572,"byte_start":303,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":920,"byte_start":572,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1235,"byte_start":920,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1497,"byte_start":1235,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1838,"byte_start":1497,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2117,"byte_start":1838,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2463,"byte_start":2117,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3721,"byte_start":2463,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4778,"byte_start":3721,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4964,"byte_start":4778,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5308,"byte_start":4964,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5704,"byte_start":5308,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7335,"byte_start":5704,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7919,"byte_start":7335,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7934,"byte_start":7919,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":271,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":329,"byte_start":271,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":428,"byte_start":329,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":530,"byte_start":428,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1015,"byte_start":530,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1106,"byte_start":1015,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1200,"byte_start":1106,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1643,"byte_start":1200,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1818,"byte_start":1643,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2165,"byte_start":1818,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2656,"byte_start":2165,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2735,"byte_start":2656,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3243,"byte_start":2735,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3814,"byte_start":3243,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4415,"byte_start":3814,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4693,"byte_start":4415,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4713,"byte_start":4693,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Session","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":23,"byte_start":16,"class":"word","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":24,"byte_start":23,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":37,"byte_start":25,"class":"control","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":38,"byte_start":37,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":45,"byte_start":38,"class":"word","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":46,"byte_start":45,"class":"ascii-symbol","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":49,"byte_start":46,"class":"word","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":50,"byte_start":49,"class":"ascii-symbol","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":50,"class":"word","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"ascii-symbol","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"numeral","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"ascii-symbol","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"numeral","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"ascii-symbol","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":59,"byte_start":58,"class":"numeral","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":60,"byte_start":59,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":73,"byte_start":61,"class":"control","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":74,"byte_start":73,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":80,"byte_start":74,"class":"word","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":81,"byte_start":80,"class":"ascii-symbol","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":87,"byte_start":81,"class":"word","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":88,"byte_start":87,"class":"ascii-symbol","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":89,"byte_start":88,"class":"numeral","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":90,"byte_start":89,"class":"ascii-symbol","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":91,"byte_start":90,"class":"numeral","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":92,"byte_start":91,"class":"ascii-symbol","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":93,"byte_start":92,"class":"numeral","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":94,"byte_start":93,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":101,"byte_start":95,"class":"control","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":102,"byte_start":101,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"entry":"session","form":"session","kind":"form","package":"models.titles"},"byte_end":109,"byte_start":102,"class":"word","path":"src/Session.lex.tex"},{"binding":{"entry":"windows","form":"windows","kind":"form","package":"models.titles"},"byte_end":117,"byte_start":110,"class":"word","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":118,"byte_start":117,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":125,"byte_start":119,"class":"control","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":126,"byte_start":125,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":140,"byte_start":126,"class":"word","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":141,"byte_start":140,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":3651,"byte_start":142,"class":"word","path":"src/Session.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":3655,"byte_start":3651,"class":"control","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":3656,"byte_start":3655,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":3670,"byte_start":3656,"class":"word","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":3671,"byte_start":3670,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":3676,"byte_start":3672,"class":"control","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":3677,"byte_start":3676,"class":"delimiter","path":"src/Session.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":3684,"byte_start":3677,"class":"word","path":"src/Session.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":3685,"byte_start":3684,"class":"delimiter","path":"src/Session.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/examples/models/expected/build/coverage/Models/Triage.coverage.json b/examples/models/expected/build/coverage/Models/Triage.coverage.json index 9963f3e74..b191a9fcd 100644 --- a/examples/models/expected/build/coverage/Models/Triage.coverage.json +++ b/examples/models/expected/build/coverage/Models/Triage.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":626,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":867,"byte_start":626,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1889,"byte_start":867,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2444,"byte_start":1889,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3004,"byte_start":2444,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3405,"byte_start":3004,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3804,"byte_start":3405,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4095,"byte_start":3804,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4447,"byte_start":4095,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4751,"byte_start":4447,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5087,"byte_start":4751,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5810,"byte_start":5087,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6503,"byte_start":5810,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7268,"byte_start":6503,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7549,"byte_start":7268,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10368,"byte_start":7549,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10678,"byte_start":10368,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11359,"byte_start":10678,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11800,"byte_start":11359,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11815,"byte_start":11800,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":26804,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26897,"byte_start":26804,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26964,"byte_start":26897,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27739,"byte_start":26964,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28047,"byte_start":27739,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28360,"byte_start":28047,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28514,"byte_start":28360,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28666,"byte_start":28514,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28786,"byte_start":28666,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28891,"byte_start":28786,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29236,"byte_start":28891,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29401,"byte_start":29236,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30055,"byte_start":29401,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30407,"byte_start":30055,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30586,"byte_start":30407,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30885,"byte_start":30586,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32997,"byte_start":30885,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33338,"byte_start":32997,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33519,"byte_start":33338,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33653,"byte_start":33519,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33672,"byte_start":33653,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Triage","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":22,"byte_start":16,"class":"word","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":23,"byte_start":22,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":36,"byte_start":24,"class":"control","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":37,"byte_start":36,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":44,"byte_start":37,"class":"word","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":45,"byte_start":44,"class":"ascii-symbol","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":45,"class":"word","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":49,"byte_start":48,"class":"ascii-symbol","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":49,"class":"word","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"ascii-symbol","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"numeral","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":59,"byte_start":58,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":72,"byte_start":60,"class":"control","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":73,"byte_start":72,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":79,"byte_start":73,"class":"word","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":80,"byte_start":79,"class":"ascii-symbol","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":86,"byte_start":80,"class":"word","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":87,"byte_start":86,"class":"ascii-symbol","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":88,"byte_start":87,"class":"numeral","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":89,"byte_start":88,"class":"ascii-symbol","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":90,"byte_start":89,"class":"numeral","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":91,"byte_start":90,"class":"ascii-symbol","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":92,"byte_start":91,"class":"numeral","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":93,"byte_start":92,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":100,"byte_start":94,"class":"control","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":101,"byte_start":100,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"entry":"triage","form":"triage","kind":"form","package":"models.titles"},"byte_end":107,"byte_start":101,"class":"word","path":"src/Triage.lex.tex"},{"binding":{"entry":"scoring","form":"scoring","kind":"form","package":"models.titles"},"byte_end":115,"byte_start":108,"class":"word","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":116,"byte_start":115,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":123,"byte_start":117,"class":"control","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":124,"byte_start":123,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":138,"byte_start":124,"class":"word","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":139,"byte_start":138,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":6731,"byte_start":140,"class":"word","path":"src/Triage.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":6735,"byte_start":6731,"class":"control","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":6736,"byte_start":6735,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":6750,"byte_start":6736,"class":"word","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":6751,"byte_start":6750,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":6756,"byte_start":6752,"class":"control","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":6757,"byte_start":6756,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":6764,"byte_start":6757,"class":"word","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":6765,"byte_start":6764,"class":"delimiter","path":"src/Triage.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":626,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":867,"byte_start":626,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1889,"byte_start":867,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2444,"byte_start":1889,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3004,"byte_start":2444,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3405,"byte_start":3004,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3804,"byte_start":3405,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4095,"byte_start":3804,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4447,"byte_start":4095,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4751,"byte_start":4447,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5087,"byte_start":4751,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5810,"byte_start":5087,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6503,"byte_start":5810,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7268,"byte_start":6503,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7549,"byte_start":7268,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10368,"byte_start":7549,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10678,"byte_start":10368,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11359,"byte_start":10678,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11800,"byte_start":11359,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11815,"byte_start":11800,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":311,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":404,"byte_start":311,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":471,"byte_start":404,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1246,"byte_start":471,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1554,"byte_start":1246,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1867,"byte_start":1554,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2021,"byte_start":1867,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2173,"byte_start":2021,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2293,"byte_start":2173,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2398,"byte_start":2293,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2743,"byte_start":2398,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2908,"byte_start":2743,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3562,"byte_start":2908,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3914,"byte_start":3562,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4093,"byte_start":3914,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4392,"byte_start":4093,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6504,"byte_start":4392,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6845,"byte_start":6504,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7026,"byte_start":6845,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7160,"byte_start":7026,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7179,"byte_start":7160,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Triage","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":22,"byte_start":16,"class":"word","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":23,"byte_start":22,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":36,"byte_start":24,"class":"control","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":37,"byte_start":36,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":44,"byte_start":37,"class":"word","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":45,"byte_start":44,"class":"ascii-symbol","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":45,"class":"word","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":49,"byte_start":48,"class":"ascii-symbol","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":49,"class":"word","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"ascii-symbol","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"numeral","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":59,"byte_start":58,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":72,"byte_start":60,"class":"control","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":73,"byte_start":72,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":79,"byte_start":73,"class":"word","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":80,"byte_start":79,"class":"ascii-symbol","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":86,"byte_start":80,"class":"word","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":87,"byte_start":86,"class":"ascii-symbol","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":88,"byte_start":87,"class":"numeral","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":89,"byte_start":88,"class":"ascii-symbol","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":90,"byte_start":89,"class":"numeral","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":91,"byte_start":90,"class":"ascii-symbol","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":92,"byte_start":91,"class":"numeral","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":93,"byte_start":92,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":100,"byte_start":94,"class":"control","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":101,"byte_start":100,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"entry":"triage","form":"triage","kind":"form","package":"models.titles"},"byte_end":107,"byte_start":101,"class":"word","path":"src/Triage.lex.tex"},{"binding":{"entry":"scoring","form":"scoring","kind":"form","package":"models.titles"},"byte_end":115,"byte_start":108,"class":"word","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":116,"byte_start":115,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":123,"byte_start":117,"class":"control","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":124,"byte_start":123,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":138,"byte_start":124,"class":"word","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":139,"byte_start":138,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":6731,"byte_start":140,"class":"word","path":"src/Triage.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":6735,"byte_start":6731,"class":"control","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":6736,"byte_start":6735,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":6750,"byte_start":6736,"class":"word","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":6751,"byte_start":6750,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":6756,"byte_start":6752,"class":"control","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":6757,"byte_start":6756,"class":"delimiter","path":"src/Triage.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":6764,"byte_start":6757,"class":"word","path":"src/Triage.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":6765,"byte_start":6764,"class":"delimiter","path":"src/Triage.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/examples/models/expected/build/manifest.json b/examples/models/expected/build/manifest.json index 13f2595c2..cc08e75ca 100644 --- a/examples/models/expected/build/manifest.json +++ b/examples/models/expected/build/manifest.json @@ -1 +1 @@ -{"build_id":"30d9fa2338534c446881821384f099d810e5adf5fe2ab8b60f60b8b61d31f0b4","compiler":{"semantics_id":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","version":"0.3.0"},"inputs":[{"byte_length":2684,"kind":"lexicon","path":"embedded","sha256":"3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b"},{"byte_length":14885,"kind":"lexicon","path":"embedded","sha256":"e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac"},{"byte_length":36197,"kind":"lexicon","path":"embedded","sha256":"827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392"},{"byte_length":4811,"kind":"lexicon","path":"glossary/models.titles","sha256":"0b8dcd3efdfb82e5f572dcf1e598744aaba14c52e1c66f5300c5ed83d4b5e1be"},{"byte_length":1939,"kind":"lock","path":"lexlean.lock","sha256":"58b203e8806ac4ed9d3bd0a7b3a469e202f3c70661e1c676c8e12b5cc1f7d0c2"},{"byte_length":5,"kind":"model-artifact","path":"artifacts/banner.bin","sha256":"3369421cb6a657bcbdbec197a0c3b2a8e208dd7746853513f9d77331d0fa1397"},{"byte_length":50,"kind":"model-artifact","path":"artifacts/digit-names.txt","sha256":"476e03af7ff499e63fe93fffa0567a69128761f538ec7dd1f3e2c197a0c90981"},{"byte_length":48,"kind":"model-artifact","path":"artifacts/hidden-bias.bin","sha256":"102bf7ceb176bc23dd4abb56dada713135d79093a79c20c7c79471f751f9a778"},{"byte_length":84,"kind":"model-artifact","path":"artifacts/hidden-weights.bin","sha256":"670b5066543781ad41947e253f1e5dd45157070e78116a588dc2b6bcea2e7bd8"},{"byte_length":40,"kind":"model-artifact","path":"artifacts/output-bias.bin","sha256":"ba0505206b75f60de72e117e01155033a68c40972a7f6687a2b05ca0004c5ab4"},{"byte_length":120,"kind":"model-artifact","path":"artifacts/output-weights.bin","sha256":"6a536cff5b44d31e45ff9b128794e29c3fe9c09bad111f0dbe9df3fc29941de7"},{"byte_length":6,"kind":"model-artifact","path":"artifacts/triage-bias.bin","sha256":"34b5d0d734084832dea276360f994018f4e6eb7921334265e58217b360a2a79d"},{"byte_length":18,"kind":"model-artifact","path":"artifacts/triage-weights.bin","sha256":"7a1039fea753fdbab50d96e9b180fb5f987c6ba688d847da0e209608c5c0f58e"},{"byte_length":1786,"kind":"project-config","path":"lexlean.toml","sha256":"b79e1070aab27c02ec4396ee66aa4bad7b90f9bca923932529eb9eb26264761a"},{"byte_length":13246,"kind":"source","path":"src/Flows.lex.tex","sha256":"28ec74d66a4db50353250e50c656dd75d6e0555eaacc19fbd37c573f8e938c33"},{"byte_length":3921,"kind":"source","path":"src/Glyphs.lex.tex","sha256":"14f0f695eb5d2853be86d0599bc52cad41f92c971c4b8b69ac77ddc0635d3b70"},{"byte_length":13264,"kind":"source","path":"src/Ledger.lex.tex","sha256":"4eaf7867fbd19e7f03c139d4f5bfa753cc7022d2c1f2faf6b849abecff4e9815"},{"byte_length":13995,"kind":"source","path":"src/Main.lex.tex","sha256":"09fef2732bb2b95f41909df0570942389cddbf5bcefe01e667b6ec7400caad75"},{"byte_length":12945,"kind":"source","path":"src/Pipeline.lex.tex","sha256":"82cec7477a537982dab7be86130292d11e3cc2123c2e7188a32b8d8808ab22c1"},{"byte_length":3172,"kind":"source","path":"src/Policy.lex.tex","sha256":"32d2ea99e908b81d5210299ee8e6148cc87e4ae72d9bef235cadf5cf69947ecf"},{"byte_length":8290,"kind":"source","path":"src/Recognizer.lex.tex","sha256":"28bd37cb2876ff04da7a9efddf50a52d3019c64910aca2b806b4b6181e84b04b"},{"byte_length":3686,"kind":"source","path":"src/Session.lex.tex","sha256":"0077c43c5251814a8329dc387538b9d0aafb0780238f61ce60bb245e9a15bbb1"},{"byte_length":6766,"kind":"source","path":"src/Triage.lex.tex","sha256":"61ce4693fcb18df340d1f0f9a9a0d29a73912cc4075bd20dcbda09508373808b"}],"language":"1.2","lean_toolchain":"leanprover/lean4:v4.32.1","modules":[{"lean_module":"Models.Flows","module":"Flows","source_path":"src/Flows.lex.tex"},{"lean_module":"Models.Glyphs","module":"Glyphs","source_path":"src/Glyphs.lex.tex"},{"lean_module":"Models.Ledger","module":"Ledger","source_path":"src/Ledger.lex.tex"},{"lean_module":"Models.Main","module":"Main","source_path":"src/Main.lex.tex"},{"lean_module":"Models.Pipeline","module":"Pipeline","source_path":"src/Pipeline.lex.tex"},{"lean_module":"Models.Policy","module":"Policy","source_path":"src/Policy.lex.tex"},{"lean_module":"Models.Recognizer","module":"Recognizer","source_path":"src/Recognizer.lex.tex"},{"lean_module":"Models.Session","module":"Session","source_path":"src/Session.lex.tex"},{"lean_module":"Models.Triage","module":"Triage","source_path":"src/Triage.lex.tex"}],"outputs":[{"byte_length":24243,"kind":"coverage","path":"coverage/Models/Flows.coverage.json","sha256":"5af994582a0ad2e34d19543574ad38571dd2349888910af10175776933162ddf"},{"byte_length":9866,"kind":"coverage","path":"coverage/Models/Glyphs.coverage.json","sha256":"4edb646aafcadafdfb857bbcffb54d47a0dbdb29d7a68e2a7d40ab953f44e3cf"},{"byte_length":25581,"kind":"coverage","path":"coverage/Models/Ledger.coverage.json","sha256":"9940d14ee8ae1674b00f18b4c44aede1ae1567964999ba41be4a466640b9d510"},{"byte_length":30063,"kind":"coverage","path":"coverage/Models/Main.coverage.json","sha256":"6f3be03a4ab090eb150b316fd9e1634396a24b384991edff689225e9b46d5cee"},{"byte_length":24211,"kind":"coverage","path":"coverage/Models/Pipeline.coverage.json","sha256":"fefd244dfbecb524abbee0297e335a3af5cf54db59d116b53735db2c9fdc1ba2"},{"byte_length":12258,"kind":"coverage","path":"coverage/Models/Policy.coverage.json","sha256":"136008e44cd688a2602107d3da4b0bac004e0c401c418728284b03f75c38c7fa"},{"byte_length":15515,"kind":"coverage","path":"coverage/Models/Recognizer.coverage.json","sha256":"accf27e9e1ba66877632c1a0c6fc5df6832bde9945b86b8f040797e5f1242a55"},{"byte_length":12519,"kind":"coverage","path":"coverage/Models/Session.coverage.json","sha256":"9a234d3e976721d834f06a1abe4487fe505da8399c55151a945c84ec34340376"},{"byte_length":13560,"kind":"coverage","path":"coverage/Models/Triage.coverage.json","sha256":"c1f7f9879718158da023c484e56368a19abc48a5ab33fb45c71b60141fcee983"},{"byte_length":47327,"kind":"lean","path":"modules/Models/Flows.lean","sha256":"0e2407bed4dce5a8ad639163c60300787c3197ec520bf02061ff26759e679550"},{"byte_length":16308,"kind":"lean","path":"modules/Models/Glyphs.lean","sha256":"baec70442b5663ec8c3e4e5aea123367cf3d42fc48803a0ec8978314a2b95eee"},{"byte_length":43864,"kind":"lean","path":"modules/Models/Ledger.lean","sha256":"f517c88e14d5099eba8b56e9b680ff390f5b659fb26f14d7ed625df1263d49a7"},{"byte_length":31121,"kind":"lean","path":"modules/Models/Main.lean","sha256":"b49c0cbc0a89b6cee3d074cf9d76b7267a054ac05a5136956c06361a8b3bb95b"},{"byte_length":36708,"kind":"lean","path":"modules/Models/Pipeline.lean","sha256":"f7b3851562e4a38fe33bb46eb7a77bafbf5ed078b2ca8d0eca9287b548f7adef"},{"byte_length":7738,"kind":"lean","path":"modules/Models/Policy.lean","sha256":"b914480c608c03a57aebc2f7d239e649c8cd3142bcc73d3bfc5233be25d74b86"},{"byte_length":43622,"kind":"lean","path":"modules/Models/Recognizer.lean","sha256":"f346c22bd59ffed88e1297b445954823d8249476360d842e899bc5957b4830aa"},{"byte_length":23231,"kind":"lean","path":"modules/Models/Session.lean","sha256":"676c28c57006e5fe9b4f4faf7e1300fc1048945dba71dac19e7e2109de49d6b4"},{"byte_length":33672,"kind":"lean","path":"modules/Models/Triage.lean","sha256":"433cefe6b7e9f61ea546da5fe3929a24ef088ad42b42cdda0e2db9b76533a14e"},{"byte_length":11477,"kind":"lexicon-closure","path":"lexicons/Flows.closure.json","sha256":"858b26caa8a4ba472b9fda1c075790e289bad1bc2c8fd9972ce01c780e1249d5"},{"byte_length":11478,"kind":"lexicon-closure","path":"lexicons/Glyphs.closure.json","sha256":"de21ab7949a2df29237c6a4d7f321091f5acd24d46fa1807cdbc0b65f864b27a"},{"byte_length":11478,"kind":"lexicon-closure","path":"lexicons/Ledger.closure.json","sha256":"f9388586b5a83a1936fb2a98fc17b01d7cd07e13687d01d5899a3688adb62427"},{"byte_length":11476,"kind":"lexicon-closure","path":"lexicons/Main.closure.json","sha256":"76718e3e6f6a37d3170b892b6beafe27c8a80a81ff6c957e571441ddcf81b1d6"},{"byte_length":11480,"kind":"lexicon-closure","path":"lexicons/Pipeline.closure.json","sha256":"83cdbac593b6281d194e892e8c635551073cd5113cf47b84e4aa8dc3165cb4ae"},{"byte_length":11478,"kind":"lexicon-closure","path":"lexicons/Policy.closure.json","sha256":"cfea6fccd554628e92aa4e4ab9501276443605e9b7b7222894a9345acdeeaf5c"},{"byte_length":11482,"kind":"lexicon-closure","path":"lexicons/Recognizer.closure.json","sha256":"9297441e84743784deedc603cbc74d71441164d59f788c3b6c0e7bbb3ac6e2a8"},{"byte_length":11479,"kind":"lexicon-closure","path":"lexicons/Session.closure.json","sha256":"8300e307091b03c0b18bafb8be0a476514693fddaac26c9481b5bec9bc1908f8"},{"byte_length":11478,"kind":"lexicon-closure","path":"lexicons/Triage.closure.json","sha256":"b2f32bd383076cd4db64bfbc67ef975f94d237edb76f59a156317639270e482f"},{"byte_length":19318,"kind":"map","path":"maps/Models/Flows.map.json","sha256":"d863c45478962abf0eba271887cc5ccd25b6564816f95b27aee5bdda326518cb"},{"byte_length":2964,"kind":"map","path":"maps/Models/Glyphs.map.json","sha256":"cc04423534d0e51978783f0f16eff430b63ac9fa665ff32eef0acca7940ae87d"},{"byte_length":21618,"kind":"map","path":"maps/Models/Ledger.map.json","sha256":"07b29c60dcfc05bb09dec40e4dd2fbf8c3bf4d1f2d5105c55f60d9186cc54325"},{"byte_length":22008,"kind":"map","path":"maps/Models/Main.map.json","sha256":"ee2fb317e11c6f3b173bb99cc8cc1ac6bb743a9376f8e26768baa8f44b82198c"},{"byte_length":16032,"kind":"map","path":"maps/Models/Pipeline.map.json","sha256":"9cf60243ecaee40a9d022b9dcf702802e354961e7cdfdb97acad54527fe08894"},{"byte_length":4872,"kind":"map","path":"maps/Models/Policy.map.json","sha256":"abeaae2261dfef4c57e72311c44895d83986915415aa696c8ff3c302bf99c29d"},{"byte_length":8504,"kind":"map","path":"maps/Models/Recognizer.map.json","sha256":"1e165cdbe3b37ede91c68f835102d882c2d3dcb238f9e8460d1688dbf232550c"},{"byte_length":5865,"kind":"map","path":"maps/Models/Session.map.json","sha256":"6912b34966954abfa222f34e137d8fed976a2897afbf95a48b689425443c8d2c"},{"byte_length":7180,"kind":"map","path":"maps/Models/Triage.map.json","sha256":"f86bee1c869f8de98f9b9e1f77929810f9b3bccfd5717ba8cafa0addd9651e9b"},{"byte_length":79615,"kind":"production-eligibility","path":"production/Models/Main.eligibility.json","sha256":"e65c147e2755a7f0140521b73588e6e206590c70f8d3c313a6b13be2420dd3b8"},{"byte_length":37412,"kind":"tex","path":"modules/Models/Flows.tex","sha256":"a7ad124df989dba8e1e5d673c9cc40e6d4b9b5f2a66821d04dc0cbc5ce3bb174"},{"byte_length":4181,"kind":"tex","path":"modules/Models/Glyphs.tex","sha256":"6996f9482d5460c45ac62c9cd8bbe44b376ad98661730c898501535ca39ef537"},{"byte_length":32582,"kind":"tex","path":"modules/Models/Ledger.tex","sha256":"86863d003899b6037aab9ed859608ac66c19ca0f594b2e363577e9cd8c8bae65"},{"byte_length":22675,"kind":"tex","path":"modules/Models/Main.tex","sha256":"99c225ea6da22156c56975a427fb5529abe3b64087760d5962c94a929228b17b"},{"byte_length":22804,"kind":"tex","path":"modules/Models/Pipeline.tex","sha256":"8afd93d17cfb93d15d0a453f85434722a713b25c57ee79637885d6a43bfa1a57"},{"byte_length":5668,"kind":"tex","path":"modules/Models/Policy.tex","sha256":"9b896db44315af8db6859dcb061178eef227967f4835c897f47bd5df85b7649d"},{"byte_length":18868,"kind":"tex","path":"modules/Models/Recognizer.tex","sha256":"4fda5d8ad4890ae385da68c4be4c23b44a5e021869b92e6c599469bfde00e1ba"},{"byte_length":7934,"kind":"tex","path":"modules/Models/Session.tex","sha256":"bdee6203c11a7e19bbcb0cbc81c785c5c8168dc450c4f167215e2d2f4a19dd14"},{"byte_length":11815,"kind":"tex","path":"modules/Models/Triage.tex","sha256":"37fe90aac05faee917c08a1ff9faa63403cf7e42459bad80798152739099b827"}],"project":"models","selection":["Flows","Glyphs","Ledger","Main","Pipeline","Policy","Recognizer","Session","Triage"],"semantic_id":"cca462bfe8cabc3365338af96b591362dcf03d5c3f800480f198d57a49534986","source_id":"25244652b5befe5ab8ab5cd51823b0acb53ae95907fa11232bf63b2510832f86","spec":"lexlean/build-manifest/1"} +{"build_id":"3fc7c501a6a2f5fff8deb02f7fbac5225d5e5ffe603a23e314745c15920e68ee","compiler":{"semantics_id":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","version":"0.3.0"},"inputs":[{"byte_length":2684,"kind":"lexicon","path":"embedded","sha256":"3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b"},{"byte_length":14885,"kind":"lexicon","path":"embedded","sha256":"e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac"},{"byte_length":36197,"kind":"lexicon","path":"embedded","sha256":"827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392"},{"byte_length":4811,"kind":"lexicon","path":"glossary/models.titles","sha256":"0b8dcd3efdfb82e5f572dcf1e598744aaba14c52e1c66f5300c5ed83d4b5e1be"},{"byte_length":1939,"kind":"lock","path":"lexlean.lock","sha256":"5f61d1a8d05341b0aeb839dc68008df9b9dbbb26a7120f6a9578f63f6f9cef8c"},{"byte_length":5,"kind":"model-artifact","path":"artifacts/banner.bin","sha256":"3369421cb6a657bcbdbec197a0c3b2a8e208dd7746853513f9d77331d0fa1397"},{"byte_length":50,"kind":"model-artifact","path":"artifacts/digit-names.txt","sha256":"476e03af7ff499e63fe93fffa0567a69128761f538ec7dd1f3e2c197a0c90981"},{"byte_length":48,"kind":"model-artifact","path":"artifacts/hidden-bias.bin","sha256":"102bf7ceb176bc23dd4abb56dada713135d79093a79c20c7c79471f751f9a778"},{"byte_length":84,"kind":"model-artifact","path":"artifacts/hidden-weights.bin","sha256":"670b5066543781ad41947e253f1e5dd45157070e78116a588dc2b6bcea2e7bd8"},{"byte_length":40,"kind":"model-artifact","path":"artifacts/output-bias.bin","sha256":"ba0505206b75f60de72e117e01155033a68c40972a7f6687a2b05ca0004c5ab4"},{"byte_length":120,"kind":"model-artifact","path":"artifacts/output-weights.bin","sha256":"6a536cff5b44d31e45ff9b128794e29c3fe9c09bad111f0dbe9df3fc29941de7"},{"byte_length":6,"kind":"model-artifact","path":"artifacts/triage-bias.bin","sha256":"34b5d0d734084832dea276360f994018f4e6eb7921334265e58217b360a2a79d"},{"byte_length":18,"kind":"model-artifact","path":"artifacts/triage-weights.bin","sha256":"7a1039fea753fdbab50d96e9b180fb5f987c6ba688d847da0e209608c5c0f58e"},{"byte_length":1786,"kind":"project-config","path":"lexlean.toml","sha256":"b79e1070aab27c02ec4396ee66aa4bad7b90f9bca923932529eb9eb26264761a"},{"byte_length":13246,"kind":"source","path":"src/Flows.lex.tex","sha256":"28ec74d66a4db50353250e50c656dd75d6e0555eaacc19fbd37c573f8e938c33"},{"byte_length":3921,"kind":"source","path":"src/Glyphs.lex.tex","sha256":"14f0f695eb5d2853be86d0599bc52cad41f92c971c4b8b69ac77ddc0635d3b70"},{"byte_length":13264,"kind":"source","path":"src/Ledger.lex.tex","sha256":"4eaf7867fbd19e7f03c139d4f5bfa753cc7022d2c1f2faf6b849abecff4e9815"},{"byte_length":13995,"kind":"source","path":"src/Main.lex.tex","sha256":"09fef2732bb2b95f41909df0570942389cddbf5bcefe01e667b6ec7400caad75"},{"byte_length":12945,"kind":"source","path":"src/Pipeline.lex.tex","sha256":"82cec7477a537982dab7be86130292d11e3cc2123c2e7188a32b8d8808ab22c1"},{"byte_length":3172,"kind":"source","path":"src/Policy.lex.tex","sha256":"32d2ea99e908b81d5210299ee8e6148cc87e4ae72d9bef235cadf5cf69947ecf"},{"byte_length":8290,"kind":"source","path":"src/Recognizer.lex.tex","sha256":"28bd37cb2876ff04da7a9efddf50a52d3019c64910aca2b806b4b6181e84b04b"},{"byte_length":3686,"kind":"source","path":"src/Session.lex.tex","sha256":"0077c43c5251814a8329dc387538b9d0aafb0780238f61ce60bb245e9a15bbb1"},{"byte_length":6766,"kind":"source","path":"src/Triage.lex.tex","sha256":"61ce4693fcb18df340d1f0f9a9a0d29a73912cc4075bd20dcbda09508373808b"}],"language":"1.2","lean_toolchain":"leanprover/lean4:v4.32.1","modules":[{"lean_module":"Models.Flows","module":"Flows","source_path":"src/Flows.lex.tex"},{"lean_module":"Models.Glyphs","module":"Glyphs","source_path":"src/Glyphs.lex.tex"},{"lean_module":"Models.Ledger","module":"Ledger","source_path":"src/Ledger.lex.tex"},{"lean_module":"Models.Main","module":"Main","source_path":"src/Main.lex.tex"},{"lean_module":"Models.Pipeline","module":"Pipeline","source_path":"src/Pipeline.lex.tex"},{"lean_module":"Models.Policy","module":"Policy","source_path":"src/Policy.lex.tex"},{"lean_module":"Models.Recognizer","module":"Recognizer","source_path":"src/Recognizer.lex.tex"},{"lean_module":"Models.Session","module":"Session","source_path":"src/Session.lex.tex"},{"lean_module":"Models.Triage","module":"Triage","source_path":"src/Triage.lex.tex"}],"outputs":[{"byte_length":24175,"kind":"coverage","path":"coverage/Models/Flows.coverage.json","sha256":"ec5fad6089c62a1d972c0e2cc232970528959dab041b1e99cf5f9057ceb08984"},{"byte_length":9847,"kind":"coverage","path":"coverage/Models/Glyphs.coverage.json","sha256":"072aea809bb4e07810443bd6655b3dbedd5ffc81ee90b3b281013c7dc18f0001"},{"byte_length":25505,"kind":"coverage","path":"coverage/Models/Ledger.coverage.json","sha256":"bfb2f38284818edb0de7d6c71fd14a2016826969d13d08d76688501094e41d2d"},{"byte_length":30015,"kind":"coverage","path":"coverage/Models/Main.coverage.json","sha256":"477bcd9b3e0f0d6061de1f0e125668d19ca0a963a869aebd621c4f8361f9d42d"},{"byte_length":24115,"kind":"coverage","path":"coverage/Models/Pipeline.coverage.json","sha256":"8eb7c6679c75a101383b9450ec746307acf7655a670aeae54b6e7506f1ddfaf5"},{"byte_length":12248,"kind":"coverage","path":"coverage/Models/Policy.coverage.json","sha256":"04dc9b952a28d723f62e3b56b063eddd9953f0aefd29d3897e66bc735ff78445"},{"byte_length":15487,"kind":"coverage","path":"coverage/Models/Recognizer.coverage.json","sha256":"99628366ee86f0d655fcefadec35ef6a03d1632fbef532eea7b368a860e8add3"},{"byte_length":12478,"kind":"coverage","path":"coverage/Models/Session.coverage.json","sha256":"c633d8b42e6afc512f811ccceb9d019e750905a8ce5cfe134954631b36829b4d"},{"byte_length":13513,"kind":"coverage","path":"coverage/Models/Triage.coverage.json","sha256":"5837a31c1b4d9651670e477b15abfb0c466a57d9b777987c99f059e2b3a02ac5"},{"byte_length":20834,"kind":"lean","path":"modules/Models/Flows.lean","sha256":"b691590c650c33c28df3d4c748b40d3f52b0d51fb8a18af5b801e4a33d9bc042"},{"byte_length":2855,"kind":"lean","path":"modules/Models/Glyphs.lean","sha256":"8aa86a6b8345f27ccbe31ec8e215ccbc41f5a94b80b06b46c9a953e230e2f14c"},{"byte_length":17371,"kind":"lean","path":"modules/Models/Ledger.lean","sha256":"d18fe97b1b2586d6a6ea28f9d056d408de5d3575c382e7951dc06aba83ea14aa"},{"byte_length":17668,"kind":"lean","path":"modules/Models/Main.lean","sha256":"658e891f7761222d52582f26186d208769621fdabaa1a0309cba849c8f0d0509"},{"byte_length":10215,"kind":"lean","path":"modules/Models/Pipeline.lean","sha256":"8404ef4602a971cfac3b0701b9f169a95da4a4c621ff92dfb2173750ed5daa87"},{"byte_length":2673,"kind":"lean","path":"modules/Models/Policy.lean","sha256":"75af53ee823cb3b3a8a2fa5518ca4705eaf5cd16ff963e45a936a3bc888f2105"},{"byte_length":17129,"kind":"lean","path":"modules/Models/Recognizer.lean","sha256":"496286f995629eefb0fc76c320e39d94fb1599642c20968f63b69f212bf732c3"},{"byte_length":4713,"kind":"lean","path":"modules/Models/Session.lean","sha256":"07ceda991668e4ef97bdb511823d60be3fc2ddc3d9745daf81dcd666b7f2287f"},{"byte_length":7179,"kind":"lean","path":"modules/Models/Triage.lean","sha256":"da0208edd92e97b9d9052875c679a7a6954bd41f37497e00ddcf40d47389147b"},{"byte_length":11477,"kind":"lexicon-closure","path":"lexicons/Flows.closure.json","sha256":"858b26caa8a4ba472b9fda1c075790e289bad1bc2c8fd9972ce01c780e1249d5"},{"byte_length":11478,"kind":"lexicon-closure","path":"lexicons/Glyphs.closure.json","sha256":"de21ab7949a2df29237c6a4d7f321091f5acd24d46fa1807cdbc0b65f864b27a"},{"byte_length":11478,"kind":"lexicon-closure","path":"lexicons/Ledger.closure.json","sha256":"f9388586b5a83a1936fb2a98fc17b01d7cd07e13687d01d5899a3688adb62427"},{"byte_length":11476,"kind":"lexicon-closure","path":"lexicons/Main.closure.json","sha256":"76718e3e6f6a37d3170b892b6beafe27c8a80a81ff6c957e571441ddcf81b1d6"},{"byte_length":11480,"kind":"lexicon-closure","path":"lexicons/Pipeline.closure.json","sha256":"83cdbac593b6281d194e892e8c635551073cd5113cf47b84e4aa8dc3165cb4ae"},{"byte_length":11478,"kind":"lexicon-closure","path":"lexicons/Policy.closure.json","sha256":"cfea6fccd554628e92aa4e4ab9501276443605e9b7b7222894a9345acdeeaf5c"},{"byte_length":11482,"kind":"lexicon-closure","path":"lexicons/Recognizer.closure.json","sha256":"9297441e84743784deedc603cbc74d71441164d59f788c3b6c0e7bbb3ac6e2a8"},{"byte_length":11479,"kind":"lexicon-closure","path":"lexicons/Session.closure.json","sha256":"8300e307091b03c0b18bafb8be0a476514693fddaac26c9481b5bec9bc1908f8"},{"byte_length":11478,"kind":"lexicon-closure","path":"lexicons/Triage.closure.json","sha256":"b2f32bd383076cd4db64bfbc67ef975f94d237edb76f59a156317639270e482f"},{"byte_length":19250,"kind":"map","path":"maps/Models/Flows.map.json","sha256":"5f90c66707cdc11dbf09a26795d521e3c33c291e381ebe7675e4e9af4847b23f"},{"byte_length":2945,"kind":"map","path":"maps/Models/Glyphs.map.json","sha256":"2fab6ba8ba6e6a1a47cc1b290f84738ccbb45790be9ae99792ba161eb8eb9df6"},{"byte_length":21542,"kind":"map","path":"maps/Models/Ledger.map.json","sha256":"83c3e7d3c8571065abb2061400ed8baebefce8e205bd9eea8e0cb83b5bbe2490"},{"byte_length":21960,"kind":"map","path":"maps/Models/Main.map.json","sha256":"35a5309bbfa1e43cfd3e820aa73659811760b75ef6c4fe90b795be0c41a78fa4"},{"byte_length":15936,"kind":"map","path":"maps/Models/Pipeline.map.json","sha256":"885f49030f61c42f1fc1d657f0fd9fd260f0f2ba1658cc254b74600105ce1dd6"},{"byte_length":4862,"kind":"map","path":"maps/Models/Policy.map.json","sha256":"02d957cb2daa3735c691e1eeb6b7bc66db78ff21c8eb1ec2b6d028da85123467"},{"byte_length":8476,"kind":"map","path":"maps/Models/Recognizer.map.json","sha256":"89eb8f8a06cae388dd6e637e67334450b5893d2d5e635eeca01035dbe020def4"},{"byte_length":5824,"kind":"map","path":"maps/Models/Session.map.json","sha256":"d247a8eb5e47765503cbe41c62987d1b47793396874abecf245f3bc8abc53bfa"},{"byte_length":7133,"kind":"map","path":"maps/Models/Triage.map.json","sha256":"95f46b6c5534b9288ef40605a5cc3b788a9b1eae04ba1ca7a93dc16f2701bd52"},{"byte_length":79615,"kind":"production-eligibility","path":"production/Models/Main.eligibility.json","sha256":"e65c147e2755a7f0140521b73588e6e206590c70f8d3c313a6b13be2420dd3b8"},{"byte_length":37412,"kind":"tex","path":"modules/Models/Flows.tex","sha256":"a7ad124df989dba8e1e5d673c9cc40e6d4b9b5f2a66821d04dc0cbc5ce3bb174"},{"byte_length":4181,"kind":"tex","path":"modules/Models/Glyphs.tex","sha256":"6996f9482d5460c45ac62c9cd8bbe44b376ad98661730c898501535ca39ef537"},{"byte_length":32582,"kind":"tex","path":"modules/Models/Ledger.tex","sha256":"86863d003899b6037aab9ed859608ac66c19ca0f594b2e363577e9cd8c8bae65"},{"byte_length":22675,"kind":"tex","path":"modules/Models/Main.tex","sha256":"99c225ea6da22156c56975a427fb5529abe3b64087760d5962c94a929228b17b"},{"byte_length":22804,"kind":"tex","path":"modules/Models/Pipeline.tex","sha256":"8afd93d17cfb93d15d0a453f85434722a713b25c57ee79637885d6a43bfa1a57"},{"byte_length":5668,"kind":"tex","path":"modules/Models/Policy.tex","sha256":"9b896db44315af8db6859dcb061178eef227967f4835c897f47bd5df85b7649d"},{"byte_length":18868,"kind":"tex","path":"modules/Models/Recognizer.tex","sha256":"4fda5d8ad4890ae385da68c4be4c23b44a5e021869b92e6c599469bfde00e1ba"},{"byte_length":7934,"kind":"tex","path":"modules/Models/Session.tex","sha256":"bdee6203c11a7e19bbcb0cbc81c785c5c8168dc450c4f167215e2d2f4a19dd14"},{"byte_length":11815,"kind":"tex","path":"modules/Models/Triage.tex","sha256":"37fe90aac05faee917c08a1ff9faa63403cf7e42459bad80798152739099b827"}],"project":"models","selection":["Flows","Glyphs","Ledger","Main","Pipeline","Policy","Recognizer","Session","Triage"],"semantic_id":"0f600e9a78a6f4d72a3e289fa7bc71d474efc59645edcbd5ea3f2ccccc9bd884","source_id":"243d95f6a90f4465e9458068e3c5e881fdaa886952236ea3baae48629b473495","spec":"lexlean/build-manifest/1"} diff --git a/examples/models/expected/build/maps/Models/Flows.map.json b/examples/models/expected/build/maps/Models/Flows.map.json index f2d7c40d0..c552f363b 100644 --- a/examples/models/expected/build/maps/Models/Flows.map.json +++ b/examples/models/expected/build/maps/Models/Flows.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/Models/Flows.lean"},{"id":1,"kind":"tex","path":"modules/Models/Flows.tex"}],"mappings":[{"artifact":0,"gen_end":26831,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":13246,"src_start":0},{"artifact":0,"gen_end":26997,"gen_start":26831,"node":1,"role":"declaration","source":0,"src_end":382,"src_start":160},{"artifact":0,"gen_end":27154,"gen_start":26997,"node":2,"role":"declaration","source":0,"src_end":694,"src_start":384},{"artifact":0,"gen_end":27771,"gen_start":27154,"node":3,"role":"declaration","source":0,"src_end":1026,"src_start":696},{"artifact":0,"gen_end":28209,"gen_start":27771,"node":4,"role":"declaration","source":0,"src_end":1207,"src_start":1028},{"artifact":0,"gen_end":28449,"gen_start":28209,"node":5,"role":"declaration","source":0,"src_end":1331,"src_start":1209},{"artifact":0,"gen_end":28615,"gen_start":28449,"node":6,"role":"declaration","source":0,"src_end":1555,"src_start":1333},{"artifact":0,"gen_end":28780,"gen_start":28615,"node":7,"role":"declaration","source":0,"src_end":1846,"src_start":1557},{"artifact":0,"gen_end":29218,"gen_start":28780,"node":8,"role":"declaration","source":0,"src_end":2107,"src_start":1848},{"artifact":0,"gen_end":29650,"gen_start":29218,"node":9,"role":"declaration","source":0,"src_end":2284,"src_start":2109},{"artifact":0,"gen_end":30083,"gen_start":29650,"node":10,"role":"declaration","source":0,"src_end":2462,"src_start":2286},{"artifact":0,"gen_end":30222,"gen_start":30083,"node":11,"role":"declaration","source":0,"src_end":2619,"src_start":2464},{"artifact":0,"gen_end":30663,"gen_start":30222,"node":12,"role":"declaration","source":0,"src_end":2883,"src_start":2621},{"artifact":0,"gen_end":30810,"gen_start":30663,"node":13,"role":"declaration","source":0,"src_end":3048,"src_start":2885},{"artifact":0,"gen_end":30919,"gen_start":30810,"node":14,"role":"declaration","source":0,"src_end":3165,"src_start":3050},{"artifact":0,"gen_end":31031,"gen_start":30919,"node":15,"role":"declaration","source":0,"src_end":3308,"src_start":3167},{"artifact":0,"gen_end":31446,"gen_start":31031,"node":16,"role":"declaration","source":0,"src_end":3507,"src_start":3310},{"artifact":0,"gen_end":31603,"gen_start":31446,"node":17,"role":"declaration","source":0,"src_end":3783,"src_start":3509},{"artifact":0,"gen_end":32734,"gen_start":31603,"node":18,"role":"declaration","source":0,"src_end":4022,"src_start":3785},{"artifact":0,"gen_end":32875,"gen_start":32734,"node":19,"role":"declaration","source":0,"src_end":4138,"src_start":4024},{"artifact":0,"gen_end":32983,"gen_start":32875,"node":20,"role":"declaration","source":0,"src_end":4257,"src_start":4140},{"artifact":0,"gen_end":33090,"gen_start":32983,"node":21,"role":"declaration","source":0,"src_end":4406,"src_start":4259},{"artifact":0,"gen_end":33595,"gen_start":33090,"node":22,"role":"declaration","source":0,"src_end":4684,"src_start":4408},{"artifact":0,"gen_end":33694,"gen_start":33595,"node":23,"role":"declaration","source":0,"src_end":4784,"src_start":4686},{"artifact":0,"gen_end":33796,"gen_start":33694,"node":24,"role":"declaration","source":0,"src_end":4920,"src_start":4786},{"artifact":0,"gen_end":34265,"gen_start":33796,"node":25,"role":"declaration","source":0,"src_end":5161,"src_start":4922},{"artifact":0,"gen_end":34602,"gen_start":34265,"node":26,"role":"declaration","source":0,"src_end":5584,"src_start":5163},{"artifact":0,"gen_end":35179,"gen_start":34602,"node":27,"role":"declaration","source":0,"src_end":5869,"src_start":5586},{"artifact":0,"gen_end":35676,"gen_start":35179,"node":28,"role":"declaration","source":0,"src_end":6111,"src_start":5871},{"artifact":0,"gen_end":36176,"gen_start":35676,"node":29,"role":"declaration","source":0,"src_end":6355,"src_start":6113},{"artifact":0,"gen_end":36448,"gen_start":36176,"node":30,"role":"declaration","source":0,"src_end":6502,"src_start":6357},{"artifact":0,"gen_end":36590,"gen_start":36448,"node":31,"role":"declaration","source":0,"src_end":6654,"src_start":6504},{"artifact":0,"gen_end":36775,"gen_start":36590,"node":32,"role":"declaration","source":0,"src_end":6856,"src_start":6656},{"artifact":0,"gen_end":37253,"gen_start":36775,"node":33,"role":"declaration","source":0,"src_end":7135,"src_start":6858},{"artifact":0,"gen_end":37427,"gen_start":37253,"node":34,"role":"declaration","source":0,"src_end":7477,"src_start":7137},{"artifact":0,"gen_end":38025,"gen_start":37427,"node":35,"role":"declaration","source":0,"src_end":7770,"src_start":7479},{"artifact":0,"gen_end":38504,"gen_start":38025,"node":36,"role":"declaration","source":0,"src_end":8021,"src_start":7772},{"artifact":0,"gen_end":38984,"gen_start":38504,"node":37,"role":"declaration","source":0,"src_end":8274,"src_start":8023},{"artifact":0,"gen_end":39279,"gen_start":38984,"node":38,"role":"declaration","source":0,"src_end":8430,"src_start":8276},{"artifact":0,"gen_end":39620,"gen_start":39279,"node":39,"role":"declaration","source":0,"src_end":8847,"src_start":8432},{"artifact":0,"gen_end":40227,"gen_start":39620,"node":40,"role":"declaration","source":0,"src_end":9167,"src_start":8849},{"artifact":0,"gen_end":40758,"gen_start":40227,"node":41,"role":"declaration","source":0,"src_end":9435,"src_start":9169},{"artifact":0,"gen_end":41292,"gen_start":40758,"node":42,"role":"declaration","source":0,"src_end":9705,"src_start":9437},{"artifact":0,"gen_end":41557,"gen_start":41292,"node":43,"role":"declaration","source":0,"src_end":9861,"src_start":9707},{"artifact":0,"gen_end":41896,"gen_start":41557,"node":44,"role":"declaration","source":0,"src_end":10304,"src_start":9863},{"artifact":0,"gen_end":42504,"gen_start":41896,"node":45,"role":"declaration","source":0,"src_end":10643,"src_start":10306},{"artifact":0,"gen_end":43166,"gen_start":42504,"node":46,"role":"declaration","source":0,"src_end":11008,"src_start":10645},{"artifact":0,"gen_end":43669,"gen_start":43166,"node":47,"role":"declaration","source":0,"src_end":11256,"src_start":11010},{"artifact":0,"gen_end":44177,"gen_start":43669,"node":48,"role":"declaration","source":0,"src_end":11507,"src_start":11258},{"artifact":0,"gen_end":44464,"gen_start":44177,"node":49,"role":"declaration","source":0,"src_end":11670,"src_start":11509},{"artifact":0,"gen_end":44637,"gen_start":44464,"node":50,"role":"declaration","source":0,"src_end":11992,"src_start":11672},{"artifact":0,"gen_end":45656,"gen_start":44637,"node":51,"role":"declaration","source":0,"src_end":12342,"src_start":11994},{"artifact":0,"gen_end":45955,"gen_start":45656,"node":52,"role":"declaration","source":0,"src_end":12454,"src_start":12344},{"artifact":0,"gen_end":46118,"gen_start":45955,"node":53,"role":"declaration","source":0,"src_end":12660,"src_start":12456},{"artifact":0,"gen_end":46322,"gen_start":46118,"node":54,"role":"declaration","source":0,"src_end":12757,"src_start":12662},{"artifact":0,"gen_end":47012,"gen_start":46322,"node":55,"role":"declaration","source":0,"src_end":13099,"src_start":12759},{"artifact":0,"gen_end":47309,"gen_start":47012,"node":56,"role":"declaration","source":0,"src_end":13210,"src_start":13101},{"artifact":0,"gen_end":47327,"gen_start":47309,"node":0,"role":"declaration","source":0,"src_end":13246,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":57,"role":"declaration","source":0,"src_end":13246,"src_start":0},{"artifact":1,"gen_end":419,"gen_start":134,"node":58,"role":"declaration","source":0,"src_end":382,"src_start":160},{"artifact":1,"gen_end":1149,"gen_start":419,"node":59,"role":"declaration","source":0,"src_end":694,"src_start":384},{"artifact":1,"gen_end":2244,"gen_start":1149,"node":60,"role":"declaration","source":0,"src_end":1026,"src_start":696},{"artifact":1,"gen_end":2506,"gen_start":2244,"node":61,"role":"declaration","source":0,"src_end":1207,"src_start":1028},{"artifact":1,"gen_end":3308,"gen_start":2506,"node":62,"role":"declaration","source":0,"src_end":1331,"src_start":1209},{"artifact":1,"gen_end":3593,"gen_start":3308,"node":63,"role":"declaration","source":0,"src_end":1555,"src_start":1333},{"artifact":1,"gen_end":4331,"gen_start":3593,"node":64,"role":"declaration","source":0,"src_end":1846,"src_start":1557},{"artifact":1,"gen_end":5191,"gen_start":4331,"node":65,"role":"declaration","source":0,"src_end":2107,"src_start":1848},{"artifact":1,"gen_end":5449,"gen_start":5191,"node":66,"role":"declaration","source":0,"src_end":2284,"src_start":2109},{"artifact":1,"gen_end":5708,"gen_start":5449,"node":67,"role":"declaration","source":0,"src_end":2462,"src_start":2286},{"artifact":1,"gen_end":6592,"gen_start":5708,"node":68,"role":"declaration","source":0,"src_end":2619,"src_start":2464},{"artifact":1,"gen_end":7458,"gen_start":6592,"node":69,"role":"declaration","source":0,"src_end":2883,"src_start":2621},{"artifact":1,"gen_end":8366,"gen_start":7458,"node":70,"role":"declaration","source":0,"src_end":3048,"src_start":2885},{"artifact":1,"gen_end":8646,"gen_start":8366,"node":71,"role":"declaration","source":0,"src_end":3165,"src_start":3050},{"artifact":1,"gen_end":9005,"gen_start":8646,"node":72,"role":"declaration","source":0,"src_end":3308,"src_start":3167},{"artifact":1,"gen_end":9264,"gen_start":9005,"node":73,"role":"declaration","source":0,"src_end":3507,"src_start":3310},{"artifact":1,"gen_end":9944,"gen_start":9264,"node":74,"role":"declaration","source":0,"src_end":3783,"src_start":3509},{"artifact":1,"gen_end":11530,"gen_start":9944,"node":75,"role":"declaration","source":0,"src_end":4022,"src_start":3785},{"artifact":1,"gen_end":11997,"gen_start":11530,"node":76,"role":"declaration","source":0,"src_end":4138,"src_start":4024},{"artifact":1,"gen_end":12276,"gen_start":11997,"node":77,"role":"declaration","source":0,"src_end":4257,"src_start":4140},{"artifact":1,"gen_end":12630,"gen_start":12276,"node":78,"role":"declaration","source":0,"src_end":4406,"src_start":4259},{"artifact":1,"gen_end":12917,"gen_start":12630,"node":79,"role":"declaration","source":0,"src_end":4684,"src_start":4408},{"artifact":1,"gen_end":13186,"gen_start":12917,"node":80,"role":"declaration","source":0,"src_end":4784,"src_start":4686},{"artifact":1,"gen_end":13534,"gen_start":13186,"node":81,"role":"declaration","source":0,"src_end":4920,"src_start":4786},{"artifact":1,"gen_end":13836,"gen_start":13534,"node":82,"role":"declaration","source":0,"src_end":5161,"src_start":4922},{"artifact":1,"gen_end":15047,"gen_start":13836,"node":83,"role":"declaration","source":0,"src_end":5584,"src_start":5163},{"artifact":1,"gen_end":16099,"gen_start":15047,"node":84,"role":"declaration","source":0,"src_end":5869,"src_start":5586},{"artifact":1,"gen_end":16399,"gen_start":16099,"node":85,"role":"declaration","source":0,"src_end":6111,"src_start":5871},{"artifact":1,"gen_end":16703,"gen_start":16399,"node":86,"role":"declaration","source":0,"src_end":6355,"src_start":6113},{"artifact":1,"gen_end":17832,"gen_start":16703,"node":87,"role":"declaration","source":0,"src_end":6502,"src_start":6357},{"artifact":1,"gen_end":18160,"gen_start":17832,"node":88,"role":"declaration","source":0,"src_end":6654,"src_start":6504},{"artifact":1,"gen_end":18592,"gen_start":18160,"node":89,"role":"declaration","source":0,"src_end":6856,"src_start":6656},{"artifact":1,"gen_end":18909,"gen_start":18592,"node":90,"role":"declaration","source":0,"src_end":7135,"src_start":6858},{"artifact":1,"gen_end":19684,"gen_start":18909,"node":91,"role":"declaration","source":0,"src_end":7477,"src_start":7137},{"artifact":1,"gen_end":20771,"gen_start":19684,"node":92,"role":"declaration","source":0,"src_end":7770,"src_start":7479},{"artifact":1,"gen_end":21086,"gen_start":20771,"node":93,"role":"declaration","source":0,"src_end":8021,"src_start":7772},{"artifact":1,"gen_end":21402,"gen_start":21086,"node":94,"role":"declaration","source":0,"src_end":8274,"src_start":8023},{"artifact":1,"gen_end":22540,"gen_start":21402,"node":95,"role":"declaration","source":0,"src_end":8430,"src_start":8276},{"artifact":1,"gen_end":23742,"gen_start":22540,"node":96,"role":"declaration","source":0,"src_end":8847,"src_start":8432},{"artifact":1,"gen_end":24827,"gen_start":23742,"node":97,"role":"declaration","source":0,"src_end":9167,"src_start":8849},{"artifact":1,"gen_end":25161,"gen_start":24827,"node":98,"role":"declaration","source":0,"src_end":9435,"src_start":9169},{"artifact":1,"gen_end":25499,"gen_start":25161,"node":99,"role":"declaration","source":0,"src_end":9705,"src_start":9437},{"artifact":1,"gen_end":26702,"gen_start":25499,"node":100,"role":"declaration","source":0,"src_end":9861,"src_start":9707},{"artifact":1,"gen_end":27930,"gen_start":26702,"node":101,"role":"declaration","source":0,"src_end":10304,"src_start":9863},{"artifact":1,"gen_end":28295,"gen_start":27930,"node":102,"role":"declaration","source":0,"src_end":10643,"src_start":10306},{"artifact":1,"gen_end":29759,"gen_start":28295,"node":103,"role":"declaration","source":0,"src_end":11008,"src_start":10645},{"artifact":1,"gen_end":30065,"gen_start":29759,"node":104,"role":"declaration","source":0,"src_end":11256,"src_start":11010},{"artifact":1,"gen_end":30377,"gen_start":30065,"node":105,"role":"declaration","source":0,"src_end":11507,"src_start":11258},{"artifact":1,"gen_end":31554,"gen_start":30377,"node":106,"role":"declaration","source":0,"src_end":11670,"src_start":11509},{"artifact":1,"gen_end":32296,"gen_start":31554,"node":107,"role":"declaration","source":0,"src_end":11992,"src_start":11672},{"artifact":1,"gen_end":33838,"gen_start":32296,"node":108,"role":"declaration","source":0,"src_end":12342,"src_start":11994},{"artifact":1,"gen_end":34491,"gen_start":33838,"node":109,"role":"declaration","source":0,"src_end":12454,"src_start":12344},{"artifact":1,"gen_end":35046,"gen_start":34491,"node":110,"role":"declaration","source":0,"src_end":12660,"src_start":12456},{"artifact":1,"gen_end":35580,"gen_start":35046,"node":111,"role":"declaration","source":0,"src_end":12757,"src_start":12662},{"artifact":1,"gen_end":36747,"gen_start":35580,"node":112,"role":"declaration","source":0,"src_end":13099,"src_start":12759},{"artifact":1,"gen_end":37397,"gen_start":36747,"node":113,"role":"declaration","source":0,"src_end":13210,"src_start":13101},{"artifact":1,"gen_end":37412,"gen_start":37397,"node":57,"role":"declaration","source":0,"src_end":13246,"src_start":0}],"module":"Flows","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-latex-module"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"},{"id":80,"kind":"semantic-declaration"},{"id":81,"kind":"semantic-declaration"},{"id":82,"kind":"semantic-declaration"},{"id":83,"kind":"semantic-declaration"},{"id":84,"kind":"semantic-declaration"},{"id":85,"kind":"semantic-declaration"},{"id":86,"kind":"semantic-declaration"},{"id":87,"kind":"semantic-declaration"},{"id":88,"kind":"semantic-declaration"},{"id":89,"kind":"semantic-declaration"},{"id":90,"kind":"semantic-declaration"},{"id":91,"kind":"semantic-declaration"},{"id":92,"kind":"semantic-declaration"},{"id":93,"kind":"semantic-declaration"},{"id":94,"kind":"semantic-declaration"},{"id":95,"kind":"semantic-declaration"},{"id":96,"kind":"semantic-declaration"},{"id":97,"kind":"semantic-declaration"},{"id":98,"kind":"semantic-declaration"},{"id":99,"kind":"semantic-declaration"},{"id":100,"kind":"semantic-declaration"},{"id":101,"kind":"semantic-declaration"},{"id":102,"kind":"semantic-declaration"},{"id":103,"kind":"semantic-declaration"},{"id":104,"kind":"semantic-declaration"},{"id":105,"kind":"semantic-declaration"},{"id":106,"kind":"semantic-declaration"},{"id":107,"kind":"semantic-declaration"},{"id":108,"kind":"semantic-declaration"},{"id":109,"kind":"semantic-declaration"},{"id":110,"kind":"semantic-declaration"},{"id":111,"kind":"semantic-declaration"},{"id":112,"kind":"semantic-declaration"},{"id":113,"kind":"semantic-declaration"}],"semantic_id":"cca462bfe8cabc3365338af96b591362dcf03d5c3f800480f198d57a49534986","source_id":"25244652b5befe5ab8ab5cd51823b0acb53ae95907fa11232bf63b2510832f86","sources":[{"id":0,"kind":"file","path":"src/Flows.lex.tex","sha256":"28ec74d66a4db50353250e50c656dd75d6e0555eaacc19fbd37c573f8e938c33"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Models/Flows.lean"},{"id":1,"kind":"tex","path":"modules/Models/Flows.tex"}],"mappings":[{"artifact":0,"gen_end":338,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":13246,"src_start":0},{"artifact":0,"gen_end":504,"gen_start":338,"node":1,"role":"declaration","source":0,"src_end":382,"src_start":160},{"artifact":0,"gen_end":661,"gen_start":504,"node":2,"role":"declaration","source":0,"src_end":694,"src_start":384},{"artifact":0,"gen_end":1278,"gen_start":661,"node":3,"role":"declaration","source":0,"src_end":1026,"src_start":696},{"artifact":0,"gen_end":1716,"gen_start":1278,"node":4,"role":"declaration","source":0,"src_end":1207,"src_start":1028},{"artifact":0,"gen_end":1956,"gen_start":1716,"node":5,"role":"declaration","source":0,"src_end":1331,"src_start":1209},{"artifact":0,"gen_end":2122,"gen_start":1956,"node":6,"role":"declaration","source":0,"src_end":1555,"src_start":1333},{"artifact":0,"gen_end":2287,"gen_start":2122,"node":7,"role":"declaration","source":0,"src_end":1846,"src_start":1557},{"artifact":0,"gen_end":2725,"gen_start":2287,"node":8,"role":"declaration","source":0,"src_end":2107,"src_start":1848},{"artifact":0,"gen_end":3157,"gen_start":2725,"node":9,"role":"declaration","source":0,"src_end":2284,"src_start":2109},{"artifact":0,"gen_end":3590,"gen_start":3157,"node":10,"role":"declaration","source":0,"src_end":2462,"src_start":2286},{"artifact":0,"gen_end":3729,"gen_start":3590,"node":11,"role":"declaration","source":0,"src_end":2619,"src_start":2464},{"artifact":0,"gen_end":4170,"gen_start":3729,"node":12,"role":"declaration","source":0,"src_end":2883,"src_start":2621},{"artifact":0,"gen_end":4317,"gen_start":4170,"node":13,"role":"declaration","source":0,"src_end":3048,"src_start":2885},{"artifact":0,"gen_end":4426,"gen_start":4317,"node":14,"role":"declaration","source":0,"src_end":3165,"src_start":3050},{"artifact":0,"gen_end":4538,"gen_start":4426,"node":15,"role":"declaration","source":0,"src_end":3308,"src_start":3167},{"artifact":0,"gen_end":4953,"gen_start":4538,"node":16,"role":"declaration","source":0,"src_end":3507,"src_start":3310},{"artifact":0,"gen_end":5110,"gen_start":4953,"node":17,"role":"declaration","source":0,"src_end":3783,"src_start":3509},{"artifact":0,"gen_end":6241,"gen_start":5110,"node":18,"role":"declaration","source":0,"src_end":4022,"src_start":3785},{"artifact":0,"gen_end":6382,"gen_start":6241,"node":19,"role":"declaration","source":0,"src_end":4138,"src_start":4024},{"artifact":0,"gen_end":6490,"gen_start":6382,"node":20,"role":"declaration","source":0,"src_end":4257,"src_start":4140},{"artifact":0,"gen_end":6597,"gen_start":6490,"node":21,"role":"declaration","source":0,"src_end":4406,"src_start":4259},{"artifact":0,"gen_end":7102,"gen_start":6597,"node":22,"role":"declaration","source":0,"src_end":4684,"src_start":4408},{"artifact":0,"gen_end":7201,"gen_start":7102,"node":23,"role":"declaration","source":0,"src_end":4784,"src_start":4686},{"artifact":0,"gen_end":7303,"gen_start":7201,"node":24,"role":"declaration","source":0,"src_end":4920,"src_start":4786},{"artifact":0,"gen_end":7772,"gen_start":7303,"node":25,"role":"declaration","source":0,"src_end":5161,"src_start":4922},{"artifact":0,"gen_end":8109,"gen_start":7772,"node":26,"role":"declaration","source":0,"src_end":5584,"src_start":5163},{"artifact":0,"gen_end":8686,"gen_start":8109,"node":27,"role":"declaration","source":0,"src_end":5869,"src_start":5586},{"artifact":0,"gen_end":9183,"gen_start":8686,"node":28,"role":"declaration","source":0,"src_end":6111,"src_start":5871},{"artifact":0,"gen_end":9683,"gen_start":9183,"node":29,"role":"declaration","source":0,"src_end":6355,"src_start":6113},{"artifact":0,"gen_end":9955,"gen_start":9683,"node":30,"role":"declaration","source":0,"src_end":6502,"src_start":6357},{"artifact":0,"gen_end":10097,"gen_start":9955,"node":31,"role":"declaration","source":0,"src_end":6654,"src_start":6504},{"artifact":0,"gen_end":10282,"gen_start":10097,"node":32,"role":"declaration","source":0,"src_end":6856,"src_start":6656},{"artifact":0,"gen_end":10760,"gen_start":10282,"node":33,"role":"declaration","source":0,"src_end":7135,"src_start":6858},{"artifact":0,"gen_end":10934,"gen_start":10760,"node":34,"role":"declaration","source":0,"src_end":7477,"src_start":7137},{"artifact":0,"gen_end":11532,"gen_start":10934,"node":35,"role":"declaration","source":0,"src_end":7770,"src_start":7479},{"artifact":0,"gen_end":12011,"gen_start":11532,"node":36,"role":"declaration","source":0,"src_end":8021,"src_start":7772},{"artifact":0,"gen_end":12491,"gen_start":12011,"node":37,"role":"declaration","source":0,"src_end":8274,"src_start":8023},{"artifact":0,"gen_end":12786,"gen_start":12491,"node":38,"role":"declaration","source":0,"src_end":8430,"src_start":8276},{"artifact":0,"gen_end":13127,"gen_start":12786,"node":39,"role":"declaration","source":0,"src_end":8847,"src_start":8432},{"artifact":0,"gen_end":13734,"gen_start":13127,"node":40,"role":"declaration","source":0,"src_end":9167,"src_start":8849},{"artifact":0,"gen_end":14265,"gen_start":13734,"node":41,"role":"declaration","source":0,"src_end":9435,"src_start":9169},{"artifact":0,"gen_end":14799,"gen_start":14265,"node":42,"role":"declaration","source":0,"src_end":9705,"src_start":9437},{"artifact":0,"gen_end":15064,"gen_start":14799,"node":43,"role":"declaration","source":0,"src_end":9861,"src_start":9707},{"artifact":0,"gen_end":15403,"gen_start":15064,"node":44,"role":"declaration","source":0,"src_end":10304,"src_start":9863},{"artifact":0,"gen_end":16011,"gen_start":15403,"node":45,"role":"declaration","source":0,"src_end":10643,"src_start":10306},{"artifact":0,"gen_end":16673,"gen_start":16011,"node":46,"role":"declaration","source":0,"src_end":11008,"src_start":10645},{"artifact":0,"gen_end":17176,"gen_start":16673,"node":47,"role":"declaration","source":0,"src_end":11256,"src_start":11010},{"artifact":0,"gen_end":17684,"gen_start":17176,"node":48,"role":"declaration","source":0,"src_end":11507,"src_start":11258},{"artifact":0,"gen_end":17971,"gen_start":17684,"node":49,"role":"declaration","source":0,"src_end":11670,"src_start":11509},{"artifact":0,"gen_end":18144,"gen_start":17971,"node":50,"role":"declaration","source":0,"src_end":11992,"src_start":11672},{"artifact":0,"gen_end":19163,"gen_start":18144,"node":51,"role":"declaration","source":0,"src_end":12342,"src_start":11994},{"artifact":0,"gen_end":19462,"gen_start":19163,"node":52,"role":"declaration","source":0,"src_end":12454,"src_start":12344},{"artifact":0,"gen_end":19625,"gen_start":19462,"node":53,"role":"declaration","source":0,"src_end":12660,"src_start":12456},{"artifact":0,"gen_end":19829,"gen_start":19625,"node":54,"role":"declaration","source":0,"src_end":12757,"src_start":12662},{"artifact":0,"gen_end":20519,"gen_start":19829,"node":55,"role":"declaration","source":0,"src_end":13099,"src_start":12759},{"artifact":0,"gen_end":20816,"gen_start":20519,"node":56,"role":"declaration","source":0,"src_end":13210,"src_start":13101},{"artifact":0,"gen_end":20834,"gen_start":20816,"node":0,"role":"declaration","source":0,"src_end":13246,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":57,"role":"declaration","source":0,"src_end":13246,"src_start":0},{"artifact":1,"gen_end":419,"gen_start":134,"node":58,"role":"declaration","source":0,"src_end":382,"src_start":160},{"artifact":1,"gen_end":1149,"gen_start":419,"node":59,"role":"declaration","source":0,"src_end":694,"src_start":384},{"artifact":1,"gen_end":2244,"gen_start":1149,"node":60,"role":"declaration","source":0,"src_end":1026,"src_start":696},{"artifact":1,"gen_end":2506,"gen_start":2244,"node":61,"role":"declaration","source":0,"src_end":1207,"src_start":1028},{"artifact":1,"gen_end":3308,"gen_start":2506,"node":62,"role":"declaration","source":0,"src_end":1331,"src_start":1209},{"artifact":1,"gen_end":3593,"gen_start":3308,"node":63,"role":"declaration","source":0,"src_end":1555,"src_start":1333},{"artifact":1,"gen_end":4331,"gen_start":3593,"node":64,"role":"declaration","source":0,"src_end":1846,"src_start":1557},{"artifact":1,"gen_end":5191,"gen_start":4331,"node":65,"role":"declaration","source":0,"src_end":2107,"src_start":1848},{"artifact":1,"gen_end":5449,"gen_start":5191,"node":66,"role":"declaration","source":0,"src_end":2284,"src_start":2109},{"artifact":1,"gen_end":5708,"gen_start":5449,"node":67,"role":"declaration","source":0,"src_end":2462,"src_start":2286},{"artifact":1,"gen_end":6592,"gen_start":5708,"node":68,"role":"declaration","source":0,"src_end":2619,"src_start":2464},{"artifact":1,"gen_end":7458,"gen_start":6592,"node":69,"role":"declaration","source":0,"src_end":2883,"src_start":2621},{"artifact":1,"gen_end":8366,"gen_start":7458,"node":70,"role":"declaration","source":0,"src_end":3048,"src_start":2885},{"artifact":1,"gen_end":8646,"gen_start":8366,"node":71,"role":"declaration","source":0,"src_end":3165,"src_start":3050},{"artifact":1,"gen_end":9005,"gen_start":8646,"node":72,"role":"declaration","source":0,"src_end":3308,"src_start":3167},{"artifact":1,"gen_end":9264,"gen_start":9005,"node":73,"role":"declaration","source":0,"src_end":3507,"src_start":3310},{"artifact":1,"gen_end":9944,"gen_start":9264,"node":74,"role":"declaration","source":0,"src_end":3783,"src_start":3509},{"artifact":1,"gen_end":11530,"gen_start":9944,"node":75,"role":"declaration","source":0,"src_end":4022,"src_start":3785},{"artifact":1,"gen_end":11997,"gen_start":11530,"node":76,"role":"declaration","source":0,"src_end":4138,"src_start":4024},{"artifact":1,"gen_end":12276,"gen_start":11997,"node":77,"role":"declaration","source":0,"src_end":4257,"src_start":4140},{"artifact":1,"gen_end":12630,"gen_start":12276,"node":78,"role":"declaration","source":0,"src_end":4406,"src_start":4259},{"artifact":1,"gen_end":12917,"gen_start":12630,"node":79,"role":"declaration","source":0,"src_end":4684,"src_start":4408},{"artifact":1,"gen_end":13186,"gen_start":12917,"node":80,"role":"declaration","source":0,"src_end":4784,"src_start":4686},{"artifact":1,"gen_end":13534,"gen_start":13186,"node":81,"role":"declaration","source":0,"src_end":4920,"src_start":4786},{"artifact":1,"gen_end":13836,"gen_start":13534,"node":82,"role":"declaration","source":0,"src_end":5161,"src_start":4922},{"artifact":1,"gen_end":15047,"gen_start":13836,"node":83,"role":"declaration","source":0,"src_end":5584,"src_start":5163},{"artifact":1,"gen_end":16099,"gen_start":15047,"node":84,"role":"declaration","source":0,"src_end":5869,"src_start":5586},{"artifact":1,"gen_end":16399,"gen_start":16099,"node":85,"role":"declaration","source":0,"src_end":6111,"src_start":5871},{"artifact":1,"gen_end":16703,"gen_start":16399,"node":86,"role":"declaration","source":0,"src_end":6355,"src_start":6113},{"artifact":1,"gen_end":17832,"gen_start":16703,"node":87,"role":"declaration","source":0,"src_end":6502,"src_start":6357},{"artifact":1,"gen_end":18160,"gen_start":17832,"node":88,"role":"declaration","source":0,"src_end":6654,"src_start":6504},{"artifact":1,"gen_end":18592,"gen_start":18160,"node":89,"role":"declaration","source":0,"src_end":6856,"src_start":6656},{"artifact":1,"gen_end":18909,"gen_start":18592,"node":90,"role":"declaration","source":0,"src_end":7135,"src_start":6858},{"artifact":1,"gen_end":19684,"gen_start":18909,"node":91,"role":"declaration","source":0,"src_end":7477,"src_start":7137},{"artifact":1,"gen_end":20771,"gen_start":19684,"node":92,"role":"declaration","source":0,"src_end":7770,"src_start":7479},{"artifact":1,"gen_end":21086,"gen_start":20771,"node":93,"role":"declaration","source":0,"src_end":8021,"src_start":7772},{"artifact":1,"gen_end":21402,"gen_start":21086,"node":94,"role":"declaration","source":0,"src_end":8274,"src_start":8023},{"artifact":1,"gen_end":22540,"gen_start":21402,"node":95,"role":"declaration","source":0,"src_end":8430,"src_start":8276},{"artifact":1,"gen_end":23742,"gen_start":22540,"node":96,"role":"declaration","source":0,"src_end":8847,"src_start":8432},{"artifact":1,"gen_end":24827,"gen_start":23742,"node":97,"role":"declaration","source":0,"src_end":9167,"src_start":8849},{"artifact":1,"gen_end":25161,"gen_start":24827,"node":98,"role":"declaration","source":0,"src_end":9435,"src_start":9169},{"artifact":1,"gen_end":25499,"gen_start":25161,"node":99,"role":"declaration","source":0,"src_end":9705,"src_start":9437},{"artifact":1,"gen_end":26702,"gen_start":25499,"node":100,"role":"declaration","source":0,"src_end":9861,"src_start":9707},{"artifact":1,"gen_end":27930,"gen_start":26702,"node":101,"role":"declaration","source":0,"src_end":10304,"src_start":9863},{"artifact":1,"gen_end":28295,"gen_start":27930,"node":102,"role":"declaration","source":0,"src_end":10643,"src_start":10306},{"artifact":1,"gen_end":29759,"gen_start":28295,"node":103,"role":"declaration","source":0,"src_end":11008,"src_start":10645},{"artifact":1,"gen_end":30065,"gen_start":29759,"node":104,"role":"declaration","source":0,"src_end":11256,"src_start":11010},{"artifact":1,"gen_end":30377,"gen_start":30065,"node":105,"role":"declaration","source":0,"src_end":11507,"src_start":11258},{"artifact":1,"gen_end":31554,"gen_start":30377,"node":106,"role":"declaration","source":0,"src_end":11670,"src_start":11509},{"artifact":1,"gen_end":32296,"gen_start":31554,"node":107,"role":"declaration","source":0,"src_end":11992,"src_start":11672},{"artifact":1,"gen_end":33838,"gen_start":32296,"node":108,"role":"declaration","source":0,"src_end":12342,"src_start":11994},{"artifact":1,"gen_end":34491,"gen_start":33838,"node":109,"role":"declaration","source":0,"src_end":12454,"src_start":12344},{"artifact":1,"gen_end":35046,"gen_start":34491,"node":110,"role":"declaration","source":0,"src_end":12660,"src_start":12456},{"artifact":1,"gen_end":35580,"gen_start":35046,"node":111,"role":"declaration","source":0,"src_end":12757,"src_start":12662},{"artifact":1,"gen_end":36747,"gen_start":35580,"node":112,"role":"declaration","source":0,"src_end":13099,"src_start":12759},{"artifact":1,"gen_end":37397,"gen_start":36747,"node":113,"role":"declaration","source":0,"src_end":13210,"src_start":13101},{"artifact":1,"gen_end":37412,"gen_start":37397,"node":57,"role":"declaration","source":0,"src_end":13246,"src_start":0}],"module":"Flows","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-latex-module"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"},{"id":80,"kind":"semantic-declaration"},{"id":81,"kind":"semantic-declaration"},{"id":82,"kind":"semantic-declaration"},{"id":83,"kind":"semantic-declaration"},{"id":84,"kind":"semantic-declaration"},{"id":85,"kind":"semantic-declaration"},{"id":86,"kind":"semantic-declaration"},{"id":87,"kind":"semantic-declaration"},{"id":88,"kind":"semantic-declaration"},{"id":89,"kind":"semantic-declaration"},{"id":90,"kind":"semantic-declaration"},{"id":91,"kind":"semantic-declaration"},{"id":92,"kind":"semantic-declaration"},{"id":93,"kind":"semantic-declaration"},{"id":94,"kind":"semantic-declaration"},{"id":95,"kind":"semantic-declaration"},{"id":96,"kind":"semantic-declaration"},{"id":97,"kind":"semantic-declaration"},{"id":98,"kind":"semantic-declaration"},{"id":99,"kind":"semantic-declaration"},{"id":100,"kind":"semantic-declaration"},{"id":101,"kind":"semantic-declaration"},{"id":102,"kind":"semantic-declaration"},{"id":103,"kind":"semantic-declaration"},{"id":104,"kind":"semantic-declaration"},{"id":105,"kind":"semantic-declaration"},{"id":106,"kind":"semantic-declaration"},{"id":107,"kind":"semantic-declaration"},{"id":108,"kind":"semantic-declaration"},{"id":109,"kind":"semantic-declaration"},{"id":110,"kind":"semantic-declaration"},{"id":111,"kind":"semantic-declaration"},{"id":112,"kind":"semantic-declaration"},{"id":113,"kind":"semantic-declaration"}],"semantic_id":"0f600e9a78a6f4d72a3e289fa7bc71d474efc59645edcbd5ea3f2ccccc9bd884","source_id":"243d95f6a90f4465e9458068e3c5e881fdaa886952236ea3baae48629b473495","sources":[{"id":0,"kind":"file","path":"src/Flows.lex.tex","sha256":"28ec74d66a4db50353250e50c656dd75d6e0555eaacc19fbd37c573f8e938c33"}],"spec":"lexlean/source-map/1"} diff --git a/examples/models/expected/build/maps/Models/Glyphs.map.json b/examples/models/expected/build/maps/Models/Glyphs.map.json index 5546ab787..9f98ba60a 100644 --- a/examples/models/expected/build/maps/Models/Glyphs.map.json +++ b/examples/models/expected/build/maps/Models/Glyphs.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/Models/Glyphs.lean"},{"id":1,"kind":"tex","path":"modules/Models/Glyphs.tex"}],"mappings":[{"artifact":0,"gen_end":13687,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":3921,"src_start":0},{"artifact":0,"gen_end":13787,"gen_start":13687,"node":1,"role":"declaration","source":0,"src_end":501,"src_start":132},{"artifact":0,"gen_end":15237,"gen_start":13787,"node":2,"role":"declaration","source":0,"src_end":2097,"src_start":503},{"artifact":0,"gen_end":15471,"gen_start":15237,"node":3,"role":"declaration","source":0,"src_end":2417,"src_start":2099},{"artifact":0,"gen_end":15710,"gen_start":15471,"node":4,"role":"declaration","source":0,"src_end":2742,"src_start":2419},{"artifact":0,"gen_end":15984,"gen_start":15710,"node":5,"role":"declaration","source":0,"src_end":3102,"src_start":2744},{"artifact":0,"gen_end":16289,"gen_start":15984,"node":6,"role":"declaration","source":0,"src_end":3885,"src_start":3104},{"artifact":0,"gen_end":16308,"gen_start":16289,"node":0,"role":"declaration","source":0,"src_end":3921,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":7,"role":"declaration","source":0,"src_end":3921,"src_start":0},{"artifact":1,"gen_end":723,"gen_start":134,"node":8,"role":"declaration","source":0,"src_end":501,"src_start":132},{"artifact":1,"gen_end":2420,"gen_start":723,"node":9,"role":"declaration","source":0,"src_end":2097,"src_start":503},{"artifact":1,"gen_end":2901,"gen_start":2420,"node":10,"role":"declaration","source":0,"src_end":2417,"src_start":2099},{"artifact":1,"gen_end":3387,"gen_start":2901,"node":11,"role":"declaration","source":0,"src_end":2742,"src_start":2419},{"artifact":1,"gen_end":3908,"gen_start":3387,"node":12,"role":"declaration","source":0,"src_end":3102,"src_start":2744},{"artifact":1,"gen_end":4166,"gen_start":3908,"node":13,"role":"declaration","source":0,"src_end":3885,"src_start":3104},{"artifact":1,"gen_end":4181,"gen_start":4166,"node":7,"role":"declaration","source":0,"src_end":3921,"src_start":0}],"module":"Glyphs","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-latex-module"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"}],"semantic_id":"cca462bfe8cabc3365338af96b591362dcf03d5c3f800480f198d57a49534986","source_id":"25244652b5befe5ab8ab5cd51823b0acb53ae95907fa11232bf63b2510832f86","sources":[{"id":0,"kind":"file","path":"src/Glyphs.lex.tex","sha256":"14f0f695eb5d2853be86d0599bc52cad41f92c971c4b8b69ac77ddc0635d3b70"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Models/Glyphs.lean"},{"id":1,"kind":"tex","path":"modules/Models/Glyphs.tex"}],"mappings":[{"artifact":0,"gen_end":234,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":3921,"src_start":0},{"artifact":0,"gen_end":334,"gen_start":234,"node":1,"role":"declaration","source":0,"src_end":501,"src_start":132},{"artifact":0,"gen_end":1784,"gen_start":334,"node":2,"role":"declaration","source":0,"src_end":2097,"src_start":503},{"artifact":0,"gen_end":2018,"gen_start":1784,"node":3,"role":"declaration","source":0,"src_end":2417,"src_start":2099},{"artifact":0,"gen_end":2257,"gen_start":2018,"node":4,"role":"declaration","source":0,"src_end":2742,"src_start":2419},{"artifact":0,"gen_end":2531,"gen_start":2257,"node":5,"role":"declaration","source":0,"src_end":3102,"src_start":2744},{"artifact":0,"gen_end":2836,"gen_start":2531,"node":6,"role":"declaration","source":0,"src_end":3885,"src_start":3104},{"artifact":0,"gen_end":2855,"gen_start":2836,"node":0,"role":"declaration","source":0,"src_end":3921,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":7,"role":"declaration","source":0,"src_end":3921,"src_start":0},{"artifact":1,"gen_end":723,"gen_start":134,"node":8,"role":"declaration","source":0,"src_end":501,"src_start":132},{"artifact":1,"gen_end":2420,"gen_start":723,"node":9,"role":"declaration","source":0,"src_end":2097,"src_start":503},{"artifact":1,"gen_end":2901,"gen_start":2420,"node":10,"role":"declaration","source":0,"src_end":2417,"src_start":2099},{"artifact":1,"gen_end":3387,"gen_start":2901,"node":11,"role":"declaration","source":0,"src_end":2742,"src_start":2419},{"artifact":1,"gen_end":3908,"gen_start":3387,"node":12,"role":"declaration","source":0,"src_end":3102,"src_start":2744},{"artifact":1,"gen_end":4166,"gen_start":3908,"node":13,"role":"declaration","source":0,"src_end":3885,"src_start":3104},{"artifact":1,"gen_end":4181,"gen_start":4166,"node":7,"role":"declaration","source":0,"src_end":3921,"src_start":0}],"module":"Glyphs","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-latex-module"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"}],"semantic_id":"0f600e9a78a6f4d72a3e289fa7bc71d474efc59645edcbd5ea3f2ccccc9bd884","source_id":"243d95f6a90f4465e9458068e3c5e881fdaa886952236ea3baae48629b473495","sources":[{"id":0,"kind":"file","path":"src/Glyphs.lex.tex","sha256":"14f0f695eb5d2853be86d0599bc52cad41f92c971c4b8b69ac77ddc0635d3b70"}],"spec":"lexlean/source-map/1"} diff --git a/examples/models/expected/build/maps/Models/Ledger.map.json b/examples/models/expected/build/maps/Models/Ledger.map.json index 4c7eaf765..1fda41c07 100644 --- a/examples/models/expected/build/maps/Models/Ledger.map.json +++ b/examples/models/expected/build/maps/Models/Ledger.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/Models/Ledger.lean"},{"id":1,"kind":"tex","path":"modules/Models/Ledger.tex"}],"mappings":[{"artifact":0,"gen_end":26804,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":13264,"src_start":0},{"artifact":0,"gen_end":26875,"gen_start":26804,"node":1,"role":"declaration","source":0,"src_end":221,"src_start":142},{"artifact":0,"gen_end":26949,"gen_start":26875,"node":2,"role":"declaration","source":0,"src_end":338,"src_start":223},{"artifact":0,"gen_end":27369,"gen_start":26949,"node":3,"role":"declaration","source":0,"src_end":542,"src_start":340},{"artifact":0,"gen_end":27792,"gen_start":27369,"node":4,"role":"declaration","source":0,"src_end":749,"src_start":544},{"artifact":0,"gen_end":27872,"gen_start":27792,"node":5,"role":"declaration","source":0,"src_end":837,"src_start":751},{"artifact":0,"gen_end":27955,"gen_start":27872,"node":6,"role":"declaration","source":0,"src_end":961,"src_start":839},{"artifact":0,"gen_end":28388,"gen_start":27955,"node":7,"role":"declaration","source":0,"src_end":1173,"src_start":963},{"artifact":0,"gen_end":28488,"gen_start":28388,"node":8,"role":"declaration","source":0,"src_end":1288,"src_start":1175},{"artifact":0,"gen_end":28591,"gen_start":28488,"node":9,"role":"declaration","source":0,"src_end":1429,"src_start":1290},{"artifact":0,"gen_end":29060,"gen_start":28591,"node":10,"role":"declaration","source":0,"src_end":1667,"src_start":1431},{"artifact":0,"gen_end":29532,"gen_start":29060,"node":11,"role":"declaration","source":0,"src_end":1908,"src_start":1669},{"artifact":0,"gen_end":30353,"gen_start":29532,"node":12,"role":"declaration","source":0,"src_end":2521,"src_start":1910},{"artifact":0,"gen_end":30484,"gen_start":30353,"node":13,"role":"declaration","source":0,"src_end":2709,"src_start":2523},{"artifact":0,"gen_end":30572,"gen_start":30484,"node":14,"role":"declaration","source":0,"src_end":2840,"src_start":2711},{"artifact":0,"gen_end":31051,"gen_start":30572,"node":15,"role":"declaration","source":0,"src_end":3111,"src_start":2842},{"artifact":0,"gen_end":31503,"gen_start":31051,"node":16,"role":"declaration","source":0,"src_end":3340,"src_start":3113},{"artifact":0,"gen_end":31701,"gen_start":31503,"node":17,"role":"declaration","source":0,"src_end":3532,"src_start":3342},{"artifact":0,"gen_end":31907,"gen_start":31701,"node":18,"role":"declaration","source":0,"src_end":3670,"src_start":3534},{"artifact":0,"gen_end":32118,"gen_start":31907,"node":19,"role":"declaration","source":0,"src_end":3881,"src_start":3672},{"artifact":0,"gen_end":32330,"gen_start":32118,"node":20,"role":"declaration","source":0,"src_end":4023,"src_start":3883},{"artifact":0,"gen_end":32650,"gen_start":32330,"node":21,"role":"declaration","source":0,"src_end":4410,"src_start":4025},{"artifact":0,"gen_end":32781,"gen_start":32650,"node":22,"role":"declaration","source":0,"src_end":4598,"src_start":4412},{"artifact":0,"gen_end":32869,"gen_start":32781,"node":23,"role":"declaration","source":0,"src_end":4729,"src_start":4600},{"artifact":0,"gen_end":33324,"gen_start":32869,"node":24,"role":"declaration","source":0,"src_end":4976,"src_start":4731},{"artifact":0,"gen_end":33760,"gen_start":33324,"node":25,"role":"declaration","source":0,"src_end":5189,"src_start":4978},{"artifact":0,"gen_end":34139,"gen_start":33760,"node":26,"role":"declaration","source":0,"src_end":5464,"src_start":5191},{"artifact":0,"gen_end":34345,"gen_start":34139,"node":27,"role":"declaration","source":0,"src_end":5601,"src_start":5466},{"artifact":0,"gen_end":34827,"gen_start":34345,"node":28,"role":"declaration","source":0,"src_end":6046,"src_start":5603},{"artifact":0,"gen_end":35154,"gen_start":34827,"node":29,"role":"declaration","source":0,"src_end":6382,"src_start":6048},{"artifact":0,"gen_end":35438,"gen_start":35154,"node":30,"role":"declaration","source":0,"src_end":6653,"src_start":6384},{"artifact":0,"gen_end":35508,"gen_start":35438,"node":31,"role":"declaration","source":0,"src_end":6753,"src_start":6655},{"artifact":0,"gen_end":35931,"gen_start":35508,"node":32,"role":"declaration","source":0,"src_end":6973,"src_start":6755},{"artifact":0,"gen_end":36384,"gen_start":35931,"node":33,"role":"declaration","source":0,"src_end":7220,"src_start":6975},{"artifact":0,"gen_end":36817,"gen_start":36384,"node":34,"role":"declaration","source":0,"src_end":7432,"src_start":7222},{"artifact":0,"gen_end":37515,"gen_start":36817,"node":35,"role":"declaration","source":0,"src_end":7803,"src_start":7434},{"artifact":0,"gen_end":37721,"gen_start":37515,"node":36,"role":"declaration","source":0,"src_end":7938,"src_start":7805},{"artifact":0,"gen_end":37881,"gen_start":37721,"node":37,"role":"declaration","source":0,"src_end":8213,"src_start":7940},{"artifact":0,"gen_end":38315,"gen_start":37881,"node":38,"role":"declaration","source":0,"src_end":8441,"src_start":8215},{"artifact":0,"gen_end":38737,"gen_start":38315,"node":39,"role":"declaration","source":0,"src_end":8642,"src_start":8443},{"artifact":0,"gen_end":39074,"gen_start":38737,"node":40,"role":"declaration","source":0,"src_end":8925,"src_start":8644},{"artifact":0,"gen_end":39278,"gen_start":39074,"node":41,"role":"declaration","source":0,"src_end":9059,"src_start":8927},{"artifact":0,"gen_end":39348,"gen_start":39278,"node":42,"role":"declaration","source":0,"src_end":9139,"src_start":9061},{"artifact":0,"gen_end":39421,"gen_start":39348,"node":43,"role":"declaration","source":0,"src_end":9255,"src_start":9141},{"artifact":0,"gen_end":39841,"gen_start":39421,"node":44,"role":"declaration","source":0,"src_end":9459,"src_start":9257},{"artifact":0,"gen_end":40264,"gen_start":39841,"node":45,"role":"declaration","source":0,"src_end":9666,"src_start":9461},{"artifact":0,"gen_end":40342,"gen_start":40264,"node":46,"role":"declaration","source":0,"src_end":9753,"src_start":9668},{"artifact":0,"gen_end":40423,"gen_start":40342,"node":47,"role":"declaration","source":0,"src_end":9876,"src_start":9755},{"artifact":0,"gen_end":40856,"gen_start":40423,"node":48,"role":"declaration","source":0,"src_end":10088,"src_start":9878},{"artifact":0,"gen_end":41350,"gen_start":40856,"node":49,"role":"declaration","source":0,"src_end":10501,"src_start":10090},{"artifact":0,"gen_end":41437,"gen_start":41350,"node":50,"role":"declaration","source":0,"src_end":10659,"src_start":10503},{"artifact":0,"gen_end":41527,"gen_start":41437,"node":51,"role":"declaration","source":0,"src_end":10786,"src_start":10661},{"artifact":0,"gen_end":41942,"gen_start":41527,"node":52,"role":"declaration","source":0,"src_end":10985,"src_start":10788},{"artifact":0,"gen_end":42101,"gen_start":41942,"node":53,"role":"declaration","source":0,"src_end":11166,"src_start":10987},{"artifact":0,"gen_end":42207,"gen_start":42101,"node":54,"role":"declaration","source":0,"src_end":11313,"src_start":11168},{"artifact":0,"gen_end":42660,"gen_start":42207,"node":55,"role":"declaration","source":0,"src_end":11547,"src_start":11315},{"artifact":0,"gen_end":42971,"gen_start":42660,"node":56,"role":"declaration","source":0,"src_end":11857,"src_start":11549},{"artifact":0,"gen_end":43141,"gen_start":42971,"node":57,"role":"declaration","source":0,"src_end":12172,"src_start":11859},{"artifact":0,"gen_end":43229,"gen_start":43141,"node":58,"role":"declaration","source":0,"src_end":12307,"src_start":12174},{"artifact":0,"gen_end":43414,"gen_start":43229,"node":59,"role":"declaration","source":0,"src_end":12519,"src_start":12309},{"artifact":0,"gen_end":43507,"gen_start":43414,"node":60,"role":"declaration","source":0,"src_end":12664,"src_start":12521},{"artifact":0,"gen_end":43566,"gen_start":43507,"node":61,"role":"declaration","source":0,"src_end":12808,"src_start":12666},{"artifact":0,"gen_end":43662,"gen_start":43566,"node":62,"role":"declaration","source":0,"src_end":12906,"src_start":12810},{"artifact":0,"gen_end":43845,"gen_start":43662,"node":63,"role":"declaration","source":0,"src_end":13228,"src_start":12908},{"artifact":0,"gen_end":43864,"gen_start":43845,"node":0,"role":"declaration","source":0,"src_end":13264,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":64,"role":"declaration","source":0,"src_end":13264,"src_start":0},{"artifact":1,"gen_end":376,"gen_start":134,"node":65,"role":"declaration","source":0,"src_end":221,"src_start":142},{"artifact":1,"gen_end":697,"gen_start":376,"node":66,"role":"declaration","source":0,"src_end":338,"src_start":223},{"artifact":1,"gen_end":955,"gen_start":697,"node":67,"role":"declaration","source":0,"src_end":542,"src_start":340},{"artifact":1,"gen_end":1216,"gen_start":955,"node":68,"role":"declaration","source":0,"src_end":749,"src_start":544},{"artifact":1,"gen_end":1466,"gen_start":1216,"node":69,"role":"declaration","source":0,"src_end":837,"src_start":751},{"artifact":1,"gen_end":1795,"gen_start":1466,"node":70,"role":"declaration","source":0,"src_end":961,"src_start":839},{"artifact":1,"gen_end":2068,"gen_start":1795,"node":71,"role":"declaration","source":0,"src_end":1173,"src_start":963},{"artifact":1,"gen_end":2337,"gen_start":2068,"node":72,"role":"declaration","source":0,"src_end":1288,"src_start":1175},{"artifact":1,"gen_end":2685,"gen_start":2337,"node":73,"role":"declaration","source":0,"src_end":1429,"src_start":1290},{"artifact":1,"gen_end":2994,"gen_start":2685,"node":74,"role":"declaration","source":0,"src_end":1667,"src_start":1431},{"artifact":1,"gen_end":3306,"gen_start":2994,"node":75,"role":"declaration","source":0,"src_end":1908,"src_start":1669},{"artifact":1,"gen_end":5595,"gen_start":3306,"node":76,"role":"declaration","source":0,"src_end":2521,"src_start":1910},{"artifact":1,"gen_end":6086,"gen_start":5595,"node":77,"role":"declaration","source":0,"src_end":2709,"src_start":2523},{"artifact":1,"gen_end":6421,"gen_start":6086,"node":78,"role":"declaration","source":0,"src_end":2840,"src_start":2711},{"artifact":1,"gen_end":6741,"gen_start":6421,"node":79,"role":"declaration","source":0,"src_end":3111,"src_start":2842},{"artifact":1,"gen_end":7034,"gen_start":6741,"node":80,"role":"declaration","source":0,"src_end":3340,"src_start":3113},{"artifact":1,"gen_end":7716,"gen_start":7034,"node":81,"role":"declaration","source":0,"src_end":3532,"src_start":3342},{"artifact":1,"gen_end":8283,"gen_start":7716,"node":82,"role":"declaration","source":0,"src_end":3670,"src_start":3534},{"artifact":1,"gen_end":8932,"gen_start":8283,"node":83,"role":"declaration","source":0,"src_end":3881,"src_start":3672},{"artifact":1,"gen_end":9524,"gen_start":8932,"node":84,"role":"declaration","source":0,"src_end":4023,"src_start":3883},{"artifact":1,"gen_end":10686,"gen_start":9524,"node":85,"role":"declaration","source":0,"src_end":4410,"src_start":4025},{"artifact":1,"gen_end":11177,"gen_start":10686,"node":86,"role":"declaration","source":0,"src_end":4598,"src_start":4412},{"artifact":1,"gen_end":11512,"gen_start":11177,"node":87,"role":"declaration","source":0,"src_end":4729,"src_start":4600},{"artifact":1,"gen_end":11816,"gen_start":11512,"node":88,"role":"declaration","source":0,"src_end":4976,"src_start":4731},{"artifact":1,"gen_end":12093,"gen_start":11816,"node":89,"role":"declaration","source":0,"src_end":5189,"src_start":4978},{"artifact":1,"gen_end":13177,"gen_start":12093,"node":90,"role":"declaration","source":0,"src_end":5464,"src_start":5191},{"artifact":1,"gen_end":13706,"gen_start":13177,"node":91,"role":"declaration","source":0,"src_end":5601,"src_start":5466},{"artifact":1,"gen_end":15155,"gen_start":13706,"node":92,"role":"declaration","source":0,"src_end":6046,"src_start":5603},{"artifact":1,"gen_end":16038,"gen_start":15155,"node":93,"role":"declaration","source":0,"src_end":6382,"src_start":6048},{"artifact":1,"gen_end":16569,"gen_start":16038,"node":94,"role":"declaration","source":0,"src_end":6653,"src_start":6384},{"artifact":1,"gen_end":16746,"gen_start":16569,"node":95,"role":"declaration","source":0,"src_end":6753,"src_start":6655},{"artifact":1,"gen_end":17024,"gen_start":16746,"node":96,"role":"declaration","source":0,"src_end":6973,"src_start":6755},{"artifact":1,"gen_end":17325,"gen_start":17024,"node":97,"role":"declaration","source":0,"src_end":7220,"src_start":6975},{"artifact":1,"gen_end":17599,"gen_start":17325,"node":98,"role":"declaration","source":0,"src_end":7432,"src_start":7222},{"artifact":1,"gen_end":19432,"gen_start":17599,"node":99,"role":"declaration","source":0,"src_end":7803,"src_start":7434},{"artifact":1,"gen_end":19963,"gen_start":19432,"node":100,"role":"declaration","source":0,"src_end":7938,"src_start":7805},{"artifact":1,"gen_end":20674,"gen_start":19963,"node":101,"role":"declaration","source":0,"src_end":8213,"src_start":7940},{"artifact":1,"gen_end":20965,"gen_start":20674,"node":102,"role":"declaration","source":0,"src_end":8441,"src_start":8215},{"artifact":1,"gen_end":21229,"gen_start":20965,"node":103,"role":"declaration","source":0,"src_end":8642,"src_start":8443},{"artifact":1,"gen_end":22305,"gen_start":21229,"node":104,"role":"declaration","source":0,"src_end":8925,"src_start":8644},{"artifact":1,"gen_end":22821,"gen_start":22305,"node":105,"role":"declaration","source":0,"src_end":9059,"src_start":8927},{"artifact":1,"gen_end":23062,"gen_start":22821,"node":106,"role":"declaration","source":0,"src_end":9139,"src_start":9061},{"artifact":1,"gen_end":23382,"gen_start":23062,"node":107,"role":"declaration","source":0,"src_end":9255,"src_start":9141},{"artifact":1,"gen_end":23640,"gen_start":23382,"node":108,"role":"declaration","source":0,"src_end":9459,"src_start":9257},{"artifact":1,"gen_end":23901,"gen_start":23640,"node":109,"role":"declaration","source":0,"src_end":9666,"src_start":9461},{"artifact":1,"gen_end":24150,"gen_start":23901,"node":110,"role":"declaration","source":0,"src_end":9753,"src_start":9668},{"artifact":1,"gen_end":24478,"gen_start":24150,"node":111,"role":"declaration","source":0,"src_end":9876,"src_start":9755},{"artifact":1,"gen_end":24751,"gen_start":24478,"node":112,"role":"declaration","source":0,"src_end":10088,"src_start":9878},{"artifact":1,"gen_end":26161,"gen_start":24751,"node":113,"role":"declaration","source":0,"src_end":10501,"src_start":10090},{"artifact":1,"gen_end":26595,"gen_start":26161,"node":114,"role":"declaration","source":0,"src_end":10659,"src_start":10503},{"artifact":1,"gen_end":26932,"gen_start":26595,"node":115,"role":"declaration","source":0,"src_end":10786,"src_start":10661},{"artifact":1,"gen_end":27188,"gen_start":26932,"node":116,"role":"declaration","source":0,"src_end":10985,"src_start":10788},{"artifact":1,"gen_end":27493,"gen_start":27188,"node":117,"role":"declaration","source":0,"src_end":11166,"src_start":10987},{"artifact":1,"gen_end":27846,"gen_start":27493,"node":118,"role":"declaration","source":0,"src_end":11313,"src_start":11168},{"artifact":1,"gen_end":28149,"gen_start":27846,"node":119,"role":"declaration","source":0,"src_end":11547,"src_start":11315},{"artifact":1,"gen_end":28618,"gen_start":28149,"node":120,"role":"declaration","source":0,"src_end":11857,"src_start":11549},{"artifact":1,"gen_end":29791,"gen_start":28618,"node":121,"role":"declaration","source":0,"src_end":12172,"src_start":11859},{"artifact":1,"gen_end":30207,"gen_start":29791,"node":122,"role":"declaration","source":0,"src_end":12307,"src_start":12174},{"artifact":1,"gen_end":30824,"gen_start":30207,"node":123,"role":"declaration","source":0,"src_end":12519,"src_start":12309},{"artifact":1,"gen_end":31255,"gen_start":30824,"node":124,"role":"declaration","source":0,"src_end":12664,"src_start":12521},{"artifact":1,"gen_end":31633,"gen_start":31255,"node":125,"role":"declaration","source":0,"src_end":12808,"src_start":12666},{"artifact":1,"gen_end":32058,"gen_start":31633,"node":126,"role":"declaration","source":0,"src_end":12906,"src_start":12810},{"artifact":1,"gen_end":32567,"gen_start":32058,"node":127,"role":"declaration","source":0,"src_end":13228,"src_start":12908},{"artifact":1,"gen_end":32582,"gen_start":32567,"node":64,"role":"declaration","source":0,"src_end":13264,"src_start":0}],"module":"Ledger","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-latex-module"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"},{"id":80,"kind":"semantic-declaration"},{"id":81,"kind":"semantic-declaration"},{"id":82,"kind":"semantic-declaration"},{"id":83,"kind":"semantic-declaration"},{"id":84,"kind":"semantic-declaration"},{"id":85,"kind":"semantic-declaration"},{"id":86,"kind":"semantic-declaration"},{"id":87,"kind":"semantic-declaration"},{"id":88,"kind":"semantic-declaration"},{"id":89,"kind":"semantic-declaration"},{"id":90,"kind":"semantic-declaration"},{"id":91,"kind":"semantic-declaration"},{"id":92,"kind":"semantic-declaration"},{"id":93,"kind":"semantic-declaration"},{"id":94,"kind":"semantic-declaration"},{"id":95,"kind":"semantic-declaration"},{"id":96,"kind":"semantic-declaration"},{"id":97,"kind":"semantic-declaration"},{"id":98,"kind":"semantic-declaration"},{"id":99,"kind":"semantic-declaration"},{"id":100,"kind":"semantic-declaration"},{"id":101,"kind":"semantic-declaration"},{"id":102,"kind":"semantic-declaration"},{"id":103,"kind":"semantic-declaration"},{"id":104,"kind":"semantic-declaration"},{"id":105,"kind":"semantic-declaration"},{"id":106,"kind":"semantic-declaration"},{"id":107,"kind":"semantic-declaration"},{"id":108,"kind":"semantic-declaration"},{"id":109,"kind":"semantic-declaration"},{"id":110,"kind":"semantic-declaration"},{"id":111,"kind":"semantic-declaration"},{"id":112,"kind":"semantic-declaration"},{"id":113,"kind":"semantic-declaration"},{"id":114,"kind":"semantic-declaration"},{"id":115,"kind":"semantic-declaration"},{"id":116,"kind":"semantic-declaration"},{"id":117,"kind":"semantic-declaration"},{"id":118,"kind":"semantic-declaration"},{"id":119,"kind":"semantic-declaration"},{"id":120,"kind":"semantic-declaration"},{"id":121,"kind":"semantic-declaration"},{"id":122,"kind":"semantic-declaration"},{"id":123,"kind":"semantic-declaration"},{"id":124,"kind":"semantic-declaration"},{"id":125,"kind":"semantic-declaration"},{"id":126,"kind":"semantic-declaration"},{"id":127,"kind":"semantic-declaration"}],"semantic_id":"cca462bfe8cabc3365338af96b591362dcf03d5c3f800480f198d57a49534986","source_id":"25244652b5befe5ab8ab5cd51823b0acb53ae95907fa11232bf63b2510832f86","sources":[{"id":0,"kind":"file","path":"src/Ledger.lex.tex","sha256":"4eaf7867fbd19e7f03c139d4f5bfa753cc7022d2c1f2faf6b849abecff4e9815"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Models/Ledger.lean"},{"id":1,"kind":"tex","path":"modules/Models/Ledger.tex"}],"mappings":[{"artifact":0,"gen_end":311,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":13264,"src_start":0},{"artifact":0,"gen_end":382,"gen_start":311,"node":1,"role":"declaration","source":0,"src_end":221,"src_start":142},{"artifact":0,"gen_end":456,"gen_start":382,"node":2,"role":"declaration","source":0,"src_end":338,"src_start":223},{"artifact":0,"gen_end":876,"gen_start":456,"node":3,"role":"declaration","source":0,"src_end":542,"src_start":340},{"artifact":0,"gen_end":1299,"gen_start":876,"node":4,"role":"declaration","source":0,"src_end":749,"src_start":544},{"artifact":0,"gen_end":1379,"gen_start":1299,"node":5,"role":"declaration","source":0,"src_end":837,"src_start":751},{"artifact":0,"gen_end":1462,"gen_start":1379,"node":6,"role":"declaration","source":0,"src_end":961,"src_start":839},{"artifact":0,"gen_end":1895,"gen_start":1462,"node":7,"role":"declaration","source":0,"src_end":1173,"src_start":963},{"artifact":0,"gen_end":1995,"gen_start":1895,"node":8,"role":"declaration","source":0,"src_end":1288,"src_start":1175},{"artifact":0,"gen_end":2098,"gen_start":1995,"node":9,"role":"declaration","source":0,"src_end":1429,"src_start":1290},{"artifact":0,"gen_end":2567,"gen_start":2098,"node":10,"role":"declaration","source":0,"src_end":1667,"src_start":1431},{"artifact":0,"gen_end":3039,"gen_start":2567,"node":11,"role":"declaration","source":0,"src_end":1908,"src_start":1669},{"artifact":0,"gen_end":3860,"gen_start":3039,"node":12,"role":"declaration","source":0,"src_end":2521,"src_start":1910},{"artifact":0,"gen_end":3991,"gen_start":3860,"node":13,"role":"declaration","source":0,"src_end":2709,"src_start":2523},{"artifact":0,"gen_end":4079,"gen_start":3991,"node":14,"role":"declaration","source":0,"src_end":2840,"src_start":2711},{"artifact":0,"gen_end":4558,"gen_start":4079,"node":15,"role":"declaration","source":0,"src_end":3111,"src_start":2842},{"artifact":0,"gen_end":5010,"gen_start":4558,"node":16,"role":"declaration","source":0,"src_end":3340,"src_start":3113},{"artifact":0,"gen_end":5208,"gen_start":5010,"node":17,"role":"declaration","source":0,"src_end":3532,"src_start":3342},{"artifact":0,"gen_end":5414,"gen_start":5208,"node":18,"role":"declaration","source":0,"src_end":3670,"src_start":3534},{"artifact":0,"gen_end":5625,"gen_start":5414,"node":19,"role":"declaration","source":0,"src_end":3881,"src_start":3672},{"artifact":0,"gen_end":5837,"gen_start":5625,"node":20,"role":"declaration","source":0,"src_end":4023,"src_start":3883},{"artifact":0,"gen_end":6157,"gen_start":5837,"node":21,"role":"declaration","source":0,"src_end":4410,"src_start":4025},{"artifact":0,"gen_end":6288,"gen_start":6157,"node":22,"role":"declaration","source":0,"src_end":4598,"src_start":4412},{"artifact":0,"gen_end":6376,"gen_start":6288,"node":23,"role":"declaration","source":0,"src_end":4729,"src_start":4600},{"artifact":0,"gen_end":6831,"gen_start":6376,"node":24,"role":"declaration","source":0,"src_end":4976,"src_start":4731},{"artifact":0,"gen_end":7267,"gen_start":6831,"node":25,"role":"declaration","source":0,"src_end":5189,"src_start":4978},{"artifact":0,"gen_end":7646,"gen_start":7267,"node":26,"role":"declaration","source":0,"src_end":5464,"src_start":5191},{"artifact":0,"gen_end":7852,"gen_start":7646,"node":27,"role":"declaration","source":0,"src_end":5601,"src_start":5466},{"artifact":0,"gen_end":8334,"gen_start":7852,"node":28,"role":"declaration","source":0,"src_end":6046,"src_start":5603},{"artifact":0,"gen_end":8661,"gen_start":8334,"node":29,"role":"declaration","source":0,"src_end":6382,"src_start":6048},{"artifact":0,"gen_end":8945,"gen_start":8661,"node":30,"role":"declaration","source":0,"src_end":6653,"src_start":6384},{"artifact":0,"gen_end":9015,"gen_start":8945,"node":31,"role":"declaration","source":0,"src_end":6753,"src_start":6655},{"artifact":0,"gen_end":9438,"gen_start":9015,"node":32,"role":"declaration","source":0,"src_end":6973,"src_start":6755},{"artifact":0,"gen_end":9891,"gen_start":9438,"node":33,"role":"declaration","source":0,"src_end":7220,"src_start":6975},{"artifact":0,"gen_end":10324,"gen_start":9891,"node":34,"role":"declaration","source":0,"src_end":7432,"src_start":7222},{"artifact":0,"gen_end":11022,"gen_start":10324,"node":35,"role":"declaration","source":0,"src_end":7803,"src_start":7434},{"artifact":0,"gen_end":11228,"gen_start":11022,"node":36,"role":"declaration","source":0,"src_end":7938,"src_start":7805},{"artifact":0,"gen_end":11388,"gen_start":11228,"node":37,"role":"declaration","source":0,"src_end":8213,"src_start":7940},{"artifact":0,"gen_end":11822,"gen_start":11388,"node":38,"role":"declaration","source":0,"src_end":8441,"src_start":8215},{"artifact":0,"gen_end":12244,"gen_start":11822,"node":39,"role":"declaration","source":0,"src_end":8642,"src_start":8443},{"artifact":0,"gen_end":12581,"gen_start":12244,"node":40,"role":"declaration","source":0,"src_end":8925,"src_start":8644},{"artifact":0,"gen_end":12785,"gen_start":12581,"node":41,"role":"declaration","source":0,"src_end":9059,"src_start":8927},{"artifact":0,"gen_end":12855,"gen_start":12785,"node":42,"role":"declaration","source":0,"src_end":9139,"src_start":9061},{"artifact":0,"gen_end":12928,"gen_start":12855,"node":43,"role":"declaration","source":0,"src_end":9255,"src_start":9141},{"artifact":0,"gen_end":13348,"gen_start":12928,"node":44,"role":"declaration","source":0,"src_end":9459,"src_start":9257},{"artifact":0,"gen_end":13771,"gen_start":13348,"node":45,"role":"declaration","source":0,"src_end":9666,"src_start":9461},{"artifact":0,"gen_end":13849,"gen_start":13771,"node":46,"role":"declaration","source":0,"src_end":9753,"src_start":9668},{"artifact":0,"gen_end":13930,"gen_start":13849,"node":47,"role":"declaration","source":0,"src_end":9876,"src_start":9755},{"artifact":0,"gen_end":14363,"gen_start":13930,"node":48,"role":"declaration","source":0,"src_end":10088,"src_start":9878},{"artifact":0,"gen_end":14857,"gen_start":14363,"node":49,"role":"declaration","source":0,"src_end":10501,"src_start":10090},{"artifact":0,"gen_end":14944,"gen_start":14857,"node":50,"role":"declaration","source":0,"src_end":10659,"src_start":10503},{"artifact":0,"gen_end":15034,"gen_start":14944,"node":51,"role":"declaration","source":0,"src_end":10786,"src_start":10661},{"artifact":0,"gen_end":15449,"gen_start":15034,"node":52,"role":"declaration","source":0,"src_end":10985,"src_start":10788},{"artifact":0,"gen_end":15608,"gen_start":15449,"node":53,"role":"declaration","source":0,"src_end":11166,"src_start":10987},{"artifact":0,"gen_end":15714,"gen_start":15608,"node":54,"role":"declaration","source":0,"src_end":11313,"src_start":11168},{"artifact":0,"gen_end":16167,"gen_start":15714,"node":55,"role":"declaration","source":0,"src_end":11547,"src_start":11315},{"artifact":0,"gen_end":16478,"gen_start":16167,"node":56,"role":"declaration","source":0,"src_end":11857,"src_start":11549},{"artifact":0,"gen_end":16648,"gen_start":16478,"node":57,"role":"declaration","source":0,"src_end":12172,"src_start":11859},{"artifact":0,"gen_end":16736,"gen_start":16648,"node":58,"role":"declaration","source":0,"src_end":12307,"src_start":12174},{"artifact":0,"gen_end":16921,"gen_start":16736,"node":59,"role":"declaration","source":0,"src_end":12519,"src_start":12309},{"artifact":0,"gen_end":17014,"gen_start":16921,"node":60,"role":"declaration","source":0,"src_end":12664,"src_start":12521},{"artifact":0,"gen_end":17073,"gen_start":17014,"node":61,"role":"declaration","source":0,"src_end":12808,"src_start":12666},{"artifact":0,"gen_end":17169,"gen_start":17073,"node":62,"role":"declaration","source":0,"src_end":12906,"src_start":12810},{"artifact":0,"gen_end":17352,"gen_start":17169,"node":63,"role":"declaration","source":0,"src_end":13228,"src_start":12908},{"artifact":0,"gen_end":17371,"gen_start":17352,"node":0,"role":"declaration","source":0,"src_end":13264,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":64,"role":"declaration","source":0,"src_end":13264,"src_start":0},{"artifact":1,"gen_end":376,"gen_start":134,"node":65,"role":"declaration","source":0,"src_end":221,"src_start":142},{"artifact":1,"gen_end":697,"gen_start":376,"node":66,"role":"declaration","source":0,"src_end":338,"src_start":223},{"artifact":1,"gen_end":955,"gen_start":697,"node":67,"role":"declaration","source":0,"src_end":542,"src_start":340},{"artifact":1,"gen_end":1216,"gen_start":955,"node":68,"role":"declaration","source":0,"src_end":749,"src_start":544},{"artifact":1,"gen_end":1466,"gen_start":1216,"node":69,"role":"declaration","source":0,"src_end":837,"src_start":751},{"artifact":1,"gen_end":1795,"gen_start":1466,"node":70,"role":"declaration","source":0,"src_end":961,"src_start":839},{"artifact":1,"gen_end":2068,"gen_start":1795,"node":71,"role":"declaration","source":0,"src_end":1173,"src_start":963},{"artifact":1,"gen_end":2337,"gen_start":2068,"node":72,"role":"declaration","source":0,"src_end":1288,"src_start":1175},{"artifact":1,"gen_end":2685,"gen_start":2337,"node":73,"role":"declaration","source":0,"src_end":1429,"src_start":1290},{"artifact":1,"gen_end":2994,"gen_start":2685,"node":74,"role":"declaration","source":0,"src_end":1667,"src_start":1431},{"artifact":1,"gen_end":3306,"gen_start":2994,"node":75,"role":"declaration","source":0,"src_end":1908,"src_start":1669},{"artifact":1,"gen_end":5595,"gen_start":3306,"node":76,"role":"declaration","source":0,"src_end":2521,"src_start":1910},{"artifact":1,"gen_end":6086,"gen_start":5595,"node":77,"role":"declaration","source":0,"src_end":2709,"src_start":2523},{"artifact":1,"gen_end":6421,"gen_start":6086,"node":78,"role":"declaration","source":0,"src_end":2840,"src_start":2711},{"artifact":1,"gen_end":6741,"gen_start":6421,"node":79,"role":"declaration","source":0,"src_end":3111,"src_start":2842},{"artifact":1,"gen_end":7034,"gen_start":6741,"node":80,"role":"declaration","source":0,"src_end":3340,"src_start":3113},{"artifact":1,"gen_end":7716,"gen_start":7034,"node":81,"role":"declaration","source":0,"src_end":3532,"src_start":3342},{"artifact":1,"gen_end":8283,"gen_start":7716,"node":82,"role":"declaration","source":0,"src_end":3670,"src_start":3534},{"artifact":1,"gen_end":8932,"gen_start":8283,"node":83,"role":"declaration","source":0,"src_end":3881,"src_start":3672},{"artifact":1,"gen_end":9524,"gen_start":8932,"node":84,"role":"declaration","source":0,"src_end":4023,"src_start":3883},{"artifact":1,"gen_end":10686,"gen_start":9524,"node":85,"role":"declaration","source":0,"src_end":4410,"src_start":4025},{"artifact":1,"gen_end":11177,"gen_start":10686,"node":86,"role":"declaration","source":0,"src_end":4598,"src_start":4412},{"artifact":1,"gen_end":11512,"gen_start":11177,"node":87,"role":"declaration","source":0,"src_end":4729,"src_start":4600},{"artifact":1,"gen_end":11816,"gen_start":11512,"node":88,"role":"declaration","source":0,"src_end":4976,"src_start":4731},{"artifact":1,"gen_end":12093,"gen_start":11816,"node":89,"role":"declaration","source":0,"src_end":5189,"src_start":4978},{"artifact":1,"gen_end":13177,"gen_start":12093,"node":90,"role":"declaration","source":0,"src_end":5464,"src_start":5191},{"artifact":1,"gen_end":13706,"gen_start":13177,"node":91,"role":"declaration","source":0,"src_end":5601,"src_start":5466},{"artifact":1,"gen_end":15155,"gen_start":13706,"node":92,"role":"declaration","source":0,"src_end":6046,"src_start":5603},{"artifact":1,"gen_end":16038,"gen_start":15155,"node":93,"role":"declaration","source":0,"src_end":6382,"src_start":6048},{"artifact":1,"gen_end":16569,"gen_start":16038,"node":94,"role":"declaration","source":0,"src_end":6653,"src_start":6384},{"artifact":1,"gen_end":16746,"gen_start":16569,"node":95,"role":"declaration","source":0,"src_end":6753,"src_start":6655},{"artifact":1,"gen_end":17024,"gen_start":16746,"node":96,"role":"declaration","source":0,"src_end":6973,"src_start":6755},{"artifact":1,"gen_end":17325,"gen_start":17024,"node":97,"role":"declaration","source":0,"src_end":7220,"src_start":6975},{"artifact":1,"gen_end":17599,"gen_start":17325,"node":98,"role":"declaration","source":0,"src_end":7432,"src_start":7222},{"artifact":1,"gen_end":19432,"gen_start":17599,"node":99,"role":"declaration","source":0,"src_end":7803,"src_start":7434},{"artifact":1,"gen_end":19963,"gen_start":19432,"node":100,"role":"declaration","source":0,"src_end":7938,"src_start":7805},{"artifact":1,"gen_end":20674,"gen_start":19963,"node":101,"role":"declaration","source":0,"src_end":8213,"src_start":7940},{"artifact":1,"gen_end":20965,"gen_start":20674,"node":102,"role":"declaration","source":0,"src_end":8441,"src_start":8215},{"artifact":1,"gen_end":21229,"gen_start":20965,"node":103,"role":"declaration","source":0,"src_end":8642,"src_start":8443},{"artifact":1,"gen_end":22305,"gen_start":21229,"node":104,"role":"declaration","source":0,"src_end":8925,"src_start":8644},{"artifact":1,"gen_end":22821,"gen_start":22305,"node":105,"role":"declaration","source":0,"src_end":9059,"src_start":8927},{"artifact":1,"gen_end":23062,"gen_start":22821,"node":106,"role":"declaration","source":0,"src_end":9139,"src_start":9061},{"artifact":1,"gen_end":23382,"gen_start":23062,"node":107,"role":"declaration","source":0,"src_end":9255,"src_start":9141},{"artifact":1,"gen_end":23640,"gen_start":23382,"node":108,"role":"declaration","source":0,"src_end":9459,"src_start":9257},{"artifact":1,"gen_end":23901,"gen_start":23640,"node":109,"role":"declaration","source":0,"src_end":9666,"src_start":9461},{"artifact":1,"gen_end":24150,"gen_start":23901,"node":110,"role":"declaration","source":0,"src_end":9753,"src_start":9668},{"artifact":1,"gen_end":24478,"gen_start":24150,"node":111,"role":"declaration","source":0,"src_end":9876,"src_start":9755},{"artifact":1,"gen_end":24751,"gen_start":24478,"node":112,"role":"declaration","source":0,"src_end":10088,"src_start":9878},{"artifact":1,"gen_end":26161,"gen_start":24751,"node":113,"role":"declaration","source":0,"src_end":10501,"src_start":10090},{"artifact":1,"gen_end":26595,"gen_start":26161,"node":114,"role":"declaration","source":0,"src_end":10659,"src_start":10503},{"artifact":1,"gen_end":26932,"gen_start":26595,"node":115,"role":"declaration","source":0,"src_end":10786,"src_start":10661},{"artifact":1,"gen_end":27188,"gen_start":26932,"node":116,"role":"declaration","source":0,"src_end":10985,"src_start":10788},{"artifact":1,"gen_end":27493,"gen_start":27188,"node":117,"role":"declaration","source":0,"src_end":11166,"src_start":10987},{"artifact":1,"gen_end":27846,"gen_start":27493,"node":118,"role":"declaration","source":0,"src_end":11313,"src_start":11168},{"artifact":1,"gen_end":28149,"gen_start":27846,"node":119,"role":"declaration","source":0,"src_end":11547,"src_start":11315},{"artifact":1,"gen_end":28618,"gen_start":28149,"node":120,"role":"declaration","source":0,"src_end":11857,"src_start":11549},{"artifact":1,"gen_end":29791,"gen_start":28618,"node":121,"role":"declaration","source":0,"src_end":12172,"src_start":11859},{"artifact":1,"gen_end":30207,"gen_start":29791,"node":122,"role":"declaration","source":0,"src_end":12307,"src_start":12174},{"artifact":1,"gen_end":30824,"gen_start":30207,"node":123,"role":"declaration","source":0,"src_end":12519,"src_start":12309},{"artifact":1,"gen_end":31255,"gen_start":30824,"node":124,"role":"declaration","source":0,"src_end":12664,"src_start":12521},{"artifact":1,"gen_end":31633,"gen_start":31255,"node":125,"role":"declaration","source":0,"src_end":12808,"src_start":12666},{"artifact":1,"gen_end":32058,"gen_start":31633,"node":126,"role":"declaration","source":0,"src_end":12906,"src_start":12810},{"artifact":1,"gen_end":32567,"gen_start":32058,"node":127,"role":"declaration","source":0,"src_end":13228,"src_start":12908},{"artifact":1,"gen_end":32582,"gen_start":32567,"node":64,"role":"declaration","source":0,"src_end":13264,"src_start":0}],"module":"Ledger","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-latex-module"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"},{"id":80,"kind":"semantic-declaration"},{"id":81,"kind":"semantic-declaration"},{"id":82,"kind":"semantic-declaration"},{"id":83,"kind":"semantic-declaration"},{"id":84,"kind":"semantic-declaration"},{"id":85,"kind":"semantic-declaration"},{"id":86,"kind":"semantic-declaration"},{"id":87,"kind":"semantic-declaration"},{"id":88,"kind":"semantic-declaration"},{"id":89,"kind":"semantic-declaration"},{"id":90,"kind":"semantic-declaration"},{"id":91,"kind":"semantic-declaration"},{"id":92,"kind":"semantic-declaration"},{"id":93,"kind":"semantic-declaration"},{"id":94,"kind":"semantic-declaration"},{"id":95,"kind":"semantic-declaration"},{"id":96,"kind":"semantic-declaration"},{"id":97,"kind":"semantic-declaration"},{"id":98,"kind":"semantic-declaration"},{"id":99,"kind":"semantic-declaration"},{"id":100,"kind":"semantic-declaration"},{"id":101,"kind":"semantic-declaration"},{"id":102,"kind":"semantic-declaration"},{"id":103,"kind":"semantic-declaration"},{"id":104,"kind":"semantic-declaration"},{"id":105,"kind":"semantic-declaration"},{"id":106,"kind":"semantic-declaration"},{"id":107,"kind":"semantic-declaration"},{"id":108,"kind":"semantic-declaration"},{"id":109,"kind":"semantic-declaration"},{"id":110,"kind":"semantic-declaration"},{"id":111,"kind":"semantic-declaration"},{"id":112,"kind":"semantic-declaration"},{"id":113,"kind":"semantic-declaration"},{"id":114,"kind":"semantic-declaration"},{"id":115,"kind":"semantic-declaration"},{"id":116,"kind":"semantic-declaration"},{"id":117,"kind":"semantic-declaration"},{"id":118,"kind":"semantic-declaration"},{"id":119,"kind":"semantic-declaration"},{"id":120,"kind":"semantic-declaration"},{"id":121,"kind":"semantic-declaration"},{"id":122,"kind":"semantic-declaration"},{"id":123,"kind":"semantic-declaration"},{"id":124,"kind":"semantic-declaration"},{"id":125,"kind":"semantic-declaration"},{"id":126,"kind":"semantic-declaration"},{"id":127,"kind":"semantic-declaration"}],"semantic_id":"0f600e9a78a6f4d72a3e289fa7bc71d474efc59645edcbd5ea3f2ccccc9bd884","source_id":"243d95f6a90f4465e9458068e3c5e881fdaa886952236ea3baae48629b473495","sources":[{"id":0,"kind":"file","path":"src/Ledger.lex.tex","sha256":"4eaf7867fbd19e7f03c139d4f5bfa753cc7022d2c1f2faf6b849abecff4e9815"}],"spec":"lexlean/source-map/1"} diff --git a/examples/models/expected/build/maps/Models/Main.map.json b/examples/models/expected/build/maps/Models/Main.map.json index 1ce7fb8f7..293280eff 100644 --- a/examples/models/expected/build/maps/Models/Main.map.json +++ b/examples/models/expected/build/maps/Models/Main.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/Models/Main.lean"},{"id":1,"kind":"tex","path":"modules/Models/Main.tex"}],"mappings":[{"artifact":0,"gen_end":13887,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":13995,"src_start":0},{"artifact":0,"gen_end":13994,"gen_start":13887,"node":1,"role":"declaration","source":0,"src_end":541,"src_start":295},{"artifact":0,"gen_end":14405,"gen_start":13994,"node":2,"role":"declaration","source":0,"src_end":855,"src_start":543},{"artifact":0,"gen_end":14812,"gen_start":14405,"node":3,"role":"declaration","source":0,"src_end":1179,"src_start":857},{"artifact":0,"gen_end":15246,"gen_start":14812,"node":4,"role":"declaration","source":0,"src_end":1493,"src_start":1181},{"artifact":0,"gen_end":15887,"gen_start":15246,"node":5,"role":"declaration","source":0,"src_end":1828,"src_start":1495},{"artifact":0,"gen_end":15975,"gen_start":15887,"node":6,"role":"declaration","source":0,"src_end":1976,"src_start":1830},{"artifact":0,"gen_end":16223,"gen_start":15975,"node":7,"role":"declaration","source":0,"src_end":2307,"src_start":1978},{"artifact":0,"gen_end":16341,"gen_start":16223,"node":8,"role":"declaration","source":0,"src_end":2459,"src_start":2309},{"artifact":0,"gen_end":16465,"gen_start":16341,"node":9,"role":"declaration","source":0,"src_end":2619,"src_start":2461},{"artifact":0,"gen_end":17123,"gen_start":16465,"node":10,"role":"declaration","source":0,"src_end":2935,"src_start":2621},{"artifact":0,"gen_end":17954,"gen_start":17123,"node":11,"role":"declaration","source":0,"src_end":3269,"src_start":2937},{"artifact":0,"gen_end":18415,"gen_start":17954,"node":12,"role":"declaration","source":0,"src_end":3548,"src_start":3271},{"artifact":0,"gen_end":18884,"gen_start":18415,"node":13,"role":"declaration","source":0,"src_end":3754,"src_start":3550},{"artifact":0,"gen_end":19467,"gen_start":18884,"node":14,"role":"declaration","source":0,"src_end":4079,"src_start":3756},{"artifact":0,"gen_end":19888,"gen_start":19467,"node":15,"role":"declaration","source":0,"src_end":4298,"src_start":4081},{"artifact":0,"gen_end":20317,"gen_start":19888,"node":16,"role":"declaration","source":0,"src_end":4525,"src_start":4300},{"artifact":0,"gen_end":21070,"gen_start":20317,"node":17,"role":"declaration","source":0,"src_end":4780,"src_start":4527},{"artifact":0,"gen_end":21729,"gen_start":21070,"node":18,"role":"declaration","source":0,"src_end":5035,"src_start":4782},{"artifact":0,"gen_end":22456,"gen_start":21729,"node":19,"role":"declaration","source":0,"src_end":5286,"src_start":5037},{"artifact":0,"gen_end":23237,"gen_start":22456,"node":20,"role":"declaration","source":0,"src_end":5562,"src_start":5288},{"artifact":0,"gen_end":23894,"gen_start":23237,"node":21,"role":"declaration","source":0,"src_end":5830,"src_start":5564},{"artifact":0,"gen_end":24555,"gen_start":23894,"node":22,"role":"declaration","source":0,"src_end":6102,"src_start":5832},{"artifact":0,"gen_end":24975,"gen_start":24555,"node":23,"role":"declaration","source":0,"src_end":6332,"src_start":6104},{"artifact":0,"gen_end":25200,"gen_start":24975,"node":24,"role":"declaration","source":0,"src_end":6601,"src_start":6334},{"artifact":0,"gen_end":25409,"gen_start":25200,"node":25,"role":"declaration","source":0,"src_end":6857,"src_start":6603},{"artifact":0,"gen_end":25729,"gen_start":25409,"node":26,"role":"declaration","source":0,"src_end":7211,"src_start":6859},{"artifact":0,"gen_end":26148,"gen_start":25729,"node":27,"role":"declaration","source":0,"src_end":7650,"src_start":7213},{"artifact":0,"gen_end":26489,"gen_start":26148,"node":28,"role":"declaration","source":0,"src_end":8018,"src_start":7652},{"artifact":0,"gen_end":26869,"gen_start":26489,"node":29,"role":"declaration","source":0,"src_end":8424,"src_start":8020},{"artifact":0,"gen_end":27296,"gen_start":26869,"node":30,"role":"declaration","source":0,"src_end":8886,"src_start":8426},{"artifact":0,"gen_end":27690,"gen_start":27296,"node":31,"role":"declaration","source":0,"src_end":9315,"src_start":8888},{"artifact":0,"gen_end":27776,"gen_start":27690,"node":32,"role":"declaration","source":0,"src_end":9437,"src_start":9317},{"artifact":0,"gen_end":27868,"gen_start":27776,"node":33,"role":"declaration","source":0,"src_end":9565,"src_start":9439},{"artifact":0,"gen_end":27966,"gen_start":27868,"node":34,"role":"declaration","source":0,"src_end":9699,"src_start":9567},{"artifact":0,"gen_end":28058,"gen_start":27966,"node":35,"role":"declaration","source":0,"src_end":9827,"src_start":9701},{"artifact":0,"gen_end":28149,"gen_start":28058,"node":36,"role":"declaration","source":0,"src_end":9954,"src_start":9829},{"artifact":0,"gen_end":28246,"gen_start":28149,"node":37,"role":"declaration","source":0,"src_end":10087,"src_start":9956},{"artifact":0,"gen_end":28330,"gen_start":28246,"node":38,"role":"declaration","source":0,"src_end":10209,"src_start":10089},{"artifact":0,"gen_end":28426,"gen_start":28330,"node":39,"role":"declaration","source":0,"src_end":10343,"src_start":10211},{"artifact":0,"gen_end":28530,"gen_start":28426,"node":40,"role":"declaration","source":0,"src_end":10485,"src_start":10345},{"artifact":0,"gen_end":28613,"gen_start":28530,"node":41,"role":"declaration","source":0,"src_end":10604,"src_start":10487},{"artifact":0,"gen_end":28706,"gen_start":28613,"node":42,"role":"declaration","source":0,"src_end":10733,"src_start":10606},{"artifact":0,"gen_end":28794,"gen_start":28706,"node":43,"role":"declaration","source":0,"src_end":10857,"src_start":10735},{"artifact":0,"gen_end":28876,"gen_start":28794,"node":44,"role":"declaration","source":0,"src_end":10977,"src_start":10859},{"artifact":0,"gen_end":28957,"gen_start":28876,"node":45,"role":"declaration","source":0,"src_end":11096,"src_start":10979},{"artifact":0,"gen_end":29065,"gen_start":28957,"node":46,"role":"declaration","source":0,"src_end":11242,"src_start":11098},{"artifact":0,"gen_end":29159,"gen_start":29065,"node":47,"role":"declaration","source":0,"src_end":11372,"src_start":11244},{"artifact":0,"gen_end":29258,"gen_start":29159,"node":48,"role":"declaration","source":0,"src_end":11507,"src_start":11374},{"artifact":0,"gen_end":29351,"gen_start":29258,"node":49,"role":"declaration","source":0,"src_end":11636,"src_start":11509},{"artifact":0,"gen_end":29459,"gen_start":29351,"node":50,"role":"declaration","source":0,"src_end":11780,"src_start":11638},{"artifact":0,"gen_end":29564,"gen_start":29459,"node":51,"role":"declaration","source":0,"src_end":11921,"src_start":11782},{"artifact":0,"gen_end":29664,"gen_start":29564,"node":52,"role":"declaration","source":0,"src_end":12057,"src_start":11923},{"artifact":0,"gen_end":29764,"gen_start":29664,"node":53,"role":"declaration","source":0,"src_end":12193,"src_start":12059},{"artifact":0,"gen_end":29869,"gen_start":29764,"node":54,"role":"declaration","source":0,"src_end":12334,"src_start":12195},{"artifact":0,"gen_end":29963,"gen_start":29869,"node":55,"role":"declaration","source":0,"src_end":12464,"src_start":12336},{"artifact":0,"gen_end":30072,"gen_start":29963,"node":56,"role":"declaration","source":0,"src_end":12609,"src_start":12466},{"artifact":0,"gen_end":30174,"gen_start":30072,"node":57,"role":"declaration","source":0,"src_end":12747,"src_start":12611},{"artifact":0,"gen_end":30276,"gen_start":30174,"node":58,"role":"declaration","source":0,"src_end":12885,"src_start":12749},{"artifact":0,"gen_end":30385,"gen_start":30276,"node":59,"role":"declaration","source":0,"src_end":13030,"src_start":12887},{"artifact":0,"gen_end":30502,"gen_start":30385,"node":60,"role":"declaration","source":0,"src_end":13183,"src_start":13032},{"artifact":0,"gen_end":30608,"gen_start":30502,"node":61,"role":"declaration","source":0,"src_end":13325,"src_start":13185},{"artifact":0,"gen_end":30728,"gen_start":30608,"node":62,"role":"declaration","source":0,"src_end":13481,"src_start":13327},{"artifact":0,"gen_end":30909,"gen_start":30728,"node":63,"role":"declaration","source":0,"src_end":13712,"src_start":13483},{"artifact":0,"gen_end":31104,"gen_start":30909,"node":64,"role":"declaration","source":0,"src_end":13959,"src_start":13714},{"artifact":0,"gen_end":31121,"gen_start":31104,"node":0,"role":"declaration","source":0,"src_end":13995,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":65,"role":"declaration","source":0,"src_end":13995,"src_start":0},{"artifact":1,"gen_end":620,"gen_start":134,"node":66,"role":"declaration","source":0,"src_end":541,"src_start":295},{"artifact":1,"gen_end":1171,"gen_start":620,"node":67,"role":"declaration","source":0,"src_end":855,"src_start":543},{"artifact":1,"gen_end":1732,"gen_start":1171,"node":68,"role":"declaration","source":0,"src_end":1179,"src_start":857},{"artifact":1,"gen_end":2289,"gen_start":1732,"node":69,"role":"declaration","source":0,"src_end":1493,"src_start":1181},{"artifact":1,"gen_end":2888,"gen_start":2289,"node":70,"role":"declaration","source":0,"src_end":1828,"src_start":1495},{"artifact":1,"gen_end":3094,"gen_start":2888,"node":71,"role":"declaration","source":0,"src_end":1976,"src_start":1830},{"artifact":1,"gen_end":3594,"gen_start":3094,"node":72,"role":"declaration","source":0,"src_end":2307,"src_start":1978},{"artifact":1,"gen_end":3820,"gen_start":3594,"node":73,"role":"declaration","source":0,"src_end":2459,"src_start":2309},{"artifact":1,"gen_end":4052,"gen_start":3820,"node":74,"role":"declaration","source":0,"src_end":2619,"src_start":2461},{"artifact":1,"gen_end":4621,"gen_start":4052,"node":75,"role":"declaration","source":0,"src_end":2935,"src_start":2621},{"artifact":1,"gen_end":5208,"gen_start":4621,"node":76,"role":"declaration","source":0,"src_end":3269,"src_start":2937},{"artifact":1,"gen_end":5728,"gen_start":5208,"node":77,"role":"declaration","source":0,"src_end":3548,"src_start":3271},{"artifact":1,"gen_end":6135,"gen_start":5728,"node":78,"role":"declaration","source":0,"src_end":3754,"src_start":3550},{"artifact":1,"gen_end":6715,"gen_start":6135,"node":79,"role":"declaration","source":0,"src_end":4079,"src_start":3756},{"artifact":1,"gen_end":7144,"gen_start":6715,"node":80,"role":"declaration","source":0,"src_end":4298,"src_start":4081},{"artifact":1,"gen_end":7581,"gen_start":7144,"node":81,"role":"declaration","source":0,"src_end":4525,"src_start":4300},{"artifact":1,"gen_end":8070,"gen_start":7581,"node":82,"role":"declaration","source":0,"src_end":4780,"src_start":4527},{"artifact":1,"gen_end":8566,"gen_start":8070,"node":83,"role":"declaration","source":0,"src_end":5035,"src_start":4782},{"artifact":1,"gen_end":9044,"gen_start":8566,"node":84,"role":"declaration","source":0,"src_end":5286,"src_start":5037},{"artifact":1,"gen_end":9549,"gen_start":9044,"node":85,"role":"declaration","source":0,"src_end":5562,"src_start":5288},{"artifact":1,"gen_end":10046,"gen_start":9549,"node":86,"role":"declaration","source":0,"src_end":5830,"src_start":5564},{"artifact":1,"gen_end":10547,"gen_start":10046,"node":87,"role":"declaration","source":0,"src_end":6102,"src_start":5832},{"artifact":1,"gen_end":10980,"gen_start":10547,"node":88,"role":"declaration","source":0,"src_end":6332,"src_start":6104},{"artifact":1,"gen_end":11453,"gen_start":10980,"node":89,"role":"declaration","source":0,"src_end":6601,"src_start":6334},{"artifact":1,"gen_end":11910,"gen_start":11453,"node":90,"role":"declaration","source":0,"src_end":6857,"src_start":6603},{"artifact":1,"gen_end":12479,"gen_start":11910,"node":91,"role":"declaration","source":0,"src_end":7211,"src_start":6859},{"artifact":1,"gen_end":13146,"gen_start":12479,"node":92,"role":"declaration","source":0,"src_end":7650,"src_start":7213},{"artifact":1,"gen_end":13735,"gen_start":13146,"node":93,"role":"declaration","source":0,"src_end":8018,"src_start":7652},{"artifact":1,"gen_end":14364,"gen_start":13735,"node":94,"role":"declaration","source":0,"src_end":8424,"src_start":8020},{"artifact":1,"gen_end":15040,"gen_start":14364,"node":95,"role":"declaration","source":0,"src_end":8886,"src_start":8426},{"artifact":1,"gen_end":15683,"gen_start":15040,"node":96,"role":"declaration","source":0,"src_end":9315,"src_start":8888},{"artifact":1,"gen_end":15876,"gen_start":15683,"node":97,"role":"declaration","source":0,"src_end":9437,"src_start":9317},{"artifact":1,"gen_end":16076,"gen_start":15876,"node":98,"role":"declaration","source":0,"src_end":9565,"src_start":9439},{"artifact":1,"gen_end":16282,"gen_start":16076,"node":99,"role":"declaration","source":0,"src_end":9699,"src_start":9567},{"artifact":1,"gen_end":16482,"gen_start":16282,"node":100,"role":"declaration","source":0,"src_end":9827,"src_start":9701},{"artifact":1,"gen_end":16681,"gen_start":16482,"node":101,"role":"declaration","source":0,"src_end":9954,"src_start":9829},{"artifact":1,"gen_end":16887,"gen_start":16681,"node":102,"role":"declaration","source":0,"src_end":10087,"src_start":9956},{"artifact":1,"gen_end":17078,"gen_start":16887,"node":103,"role":"declaration","source":0,"src_end":10209,"src_start":10089},{"artifact":1,"gen_end":17282,"gen_start":17078,"node":104,"role":"declaration","source":0,"src_end":10343,"src_start":10211},{"artifact":1,"gen_end":17494,"gen_start":17282,"node":105,"role":"declaration","source":0,"src_end":10485,"src_start":10345},{"artifact":1,"gen_end":17684,"gen_start":17494,"node":106,"role":"declaration","source":0,"src_end":10604,"src_start":10487},{"artifact":1,"gen_end":17885,"gen_start":17684,"node":107,"role":"declaration","source":0,"src_end":10733,"src_start":10606},{"artifact":1,"gen_end":18081,"gen_start":17885,"node":108,"role":"declaration","source":0,"src_end":10857,"src_start":10735},{"artifact":1,"gen_end":18270,"gen_start":18081,"node":109,"role":"declaration","source":0,"src_end":10977,"src_start":10859},{"artifact":1,"gen_end":18458,"gen_start":18270,"node":110,"role":"declaration","source":0,"src_end":11096,"src_start":10979},{"artifact":1,"gen_end":18675,"gen_start":18458,"node":111,"role":"declaration","source":0,"src_end":11242,"src_start":11098},{"artifact":1,"gen_end":18876,"gen_start":18675,"node":112,"role":"declaration","source":0,"src_end":11372,"src_start":11244},{"artifact":1,"gen_end":19083,"gen_start":18876,"node":113,"role":"declaration","source":0,"src_end":11507,"src_start":11374},{"artifact":1,"gen_end":19284,"gen_start":19083,"node":114,"role":"declaration","source":0,"src_end":11636,"src_start":11509},{"artifact":1,"gen_end":19500,"gen_start":19284,"node":115,"role":"declaration","source":0,"src_end":11780,"src_start":11638},{"artifact":1,"gen_end":19714,"gen_start":19500,"node":116,"role":"declaration","source":0,"src_end":11921,"src_start":11782},{"artifact":1,"gen_end":19922,"gen_start":19714,"node":117,"role":"declaration","source":0,"src_end":12057,"src_start":11923},{"artifact":1,"gen_end":20130,"gen_start":19922,"node":118,"role":"declaration","source":0,"src_end":12193,"src_start":12059},{"artifact":1,"gen_end":20343,"gen_start":20130,"node":119,"role":"declaration","source":0,"src_end":12334,"src_start":12195},{"artifact":1,"gen_end":20544,"gen_start":20343,"node":120,"role":"declaration","source":0,"src_end":12464,"src_start":12336},{"artifact":1,"gen_end":20762,"gen_start":20544,"node":121,"role":"declaration","source":0,"src_end":12609,"src_start":12466},{"artifact":1,"gen_end":20972,"gen_start":20762,"node":122,"role":"declaration","source":0,"src_end":12747,"src_start":12611},{"artifact":1,"gen_end":21182,"gen_start":20972,"node":123,"role":"declaration","source":0,"src_end":12885,"src_start":12749},{"artifact":1,"gen_end":21400,"gen_start":21182,"node":124,"role":"declaration","source":0,"src_end":13030,"src_start":12887},{"artifact":1,"gen_end":21626,"gen_start":21400,"node":125,"role":"declaration","source":0,"src_end":13183,"src_start":13032},{"artifact":1,"gen_end":21840,"gen_start":21626,"node":126,"role":"declaration","source":0,"src_end":13325,"src_start":13185},{"artifact":1,"gen_end":22069,"gen_start":21840,"node":127,"role":"declaration","source":0,"src_end":13481,"src_start":13327},{"artifact":1,"gen_end":22357,"gen_start":22069,"node":128,"role":"declaration","source":0,"src_end":13712,"src_start":13483},{"artifact":1,"gen_end":22660,"gen_start":22357,"node":129,"role":"declaration","source":0,"src_end":13959,"src_start":13714},{"artifact":1,"gen_end":22675,"gen_start":22660,"node":65,"role":"declaration","source":0,"src_end":13995,"src_start":0}],"module":"Main","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-latex-module"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"},{"id":80,"kind":"semantic-declaration"},{"id":81,"kind":"semantic-declaration"},{"id":82,"kind":"semantic-declaration"},{"id":83,"kind":"semantic-declaration"},{"id":84,"kind":"semantic-declaration"},{"id":85,"kind":"semantic-declaration"},{"id":86,"kind":"semantic-declaration"},{"id":87,"kind":"semantic-declaration"},{"id":88,"kind":"semantic-declaration"},{"id":89,"kind":"semantic-declaration"},{"id":90,"kind":"semantic-declaration"},{"id":91,"kind":"semantic-declaration"},{"id":92,"kind":"semantic-declaration"},{"id":93,"kind":"semantic-declaration"},{"id":94,"kind":"semantic-declaration"},{"id":95,"kind":"semantic-declaration"},{"id":96,"kind":"semantic-declaration"},{"id":97,"kind":"semantic-declaration"},{"id":98,"kind":"semantic-declaration"},{"id":99,"kind":"semantic-declaration"},{"id":100,"kind":"semantic-declaration"},{"id":101,"kind":"semantic-declaration"},{"id":102,"kind":"semantic-declaration"},{"id":103,"kind":"semantic-declaration"},{"id":104,"kind":"semantic-declaration"},{"id":105,"kind":"semantic-declaration"},{"id":106,"kind":"semantic-declaration"},{"id":107,"kind":"semantic-declaration"},{"id":108,"kind":"semantic-declaration"},{"id":109,"kind":"semantic-declaration"},{"id":110,"kind":"semantic-declaration"},{"id":111,"kind":"semantic-declaration"},{"id":112,"kind":"semantic-declaration"},{"id":113,"kind":"semantic-declaration"},{"id":114,"kind":"semantic-declaration"},{"id":115,"kind":"semantic-declaration"},{"id":116,"kind":"semantic-declaration"},{"id":117,"kind":"semantic-declaration"},{"id":118,"kind":"semantic-declaration"},{"id":119,"kind":"semantic-declaration"},{"id":120,"kind":"semantic-declaration"},{"id":121,"kind":"semantic-declaration"},{"id":122,"kind":"semantic-declaration"},{"id":123,"kind":"semantic-declaration"},{"id":124,"kind":"semantic-declaration"},{"id":125,"kind":"semantic-declaration"},{"id":126,"kind":"semantic-declaration"},{"id":127,"kind":"semantic-declaration"},{"id":128,"kind":"semantic-declaration"},{"id":129,"kind":"semantic-declaration"}],"semantic_id":"cca462bfe8cabc3365338af96b591362dcf03d5c3f800480f198d57a49534986","source_id":"25244652b5befe5ab8ab5cd51823b0acb53ae95907fa11232bf63b2510832f86","sources":[{"id":0,"kind":"file","path":"src/Main.lex.tex","sha256":"09fef2732bb2b95f41909df0570942389cddbf5bcefe01e667b6ec7400caad75"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Models/Main.lean"},{"id":1,"kind":"tex","path":"modules/Models/Main.tex"}],"mappings":[{"artifact":0,"gen_end":434,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":13995,"src_start":0},{"artifact":0,"gen_end":541,"gen_start":434,"node":1,"role":"declaration","source":0,"src_end":541,"src_start":295},{"artifact":0,"gen_end":952,"gen_start":541,"node":2,"role":"declaration","source":0,"src_end":855,"src_start":543},{"artifact":0,"gen_end":1359,"gen_start":952,"node":3,"role":"declaration","source":0,"src_end":1179,"src_start":857},{"artifact":0,"gen_end":1793,"gen_start":1359,"node":4,"role":"declaration","source":0,"src_end":1493,"src_start":1181},{"artifact":0,"gen_end":2434,"gen_start":1793,"node":5,"role":"declaration","source":0,"src_end":1828,"src_start":1495},{"artifact":0,"gen_end":2522,"gen_start":2434,"node":6,"role":"declaration","source":0,"src_end":1976,"src_start":1830},{"artifact":0,"gen_end":2770,"gen_start":2522,"node":7,"role":"declaration","source":0,"src_end":2307,"src_start":1978},{"artifact":0,"gen_end":2888,"gen_start":2770,"node":8,"role":"declaration","source":0,"src_end":2459,"src_start":2309},{"artifact":0,"gen_end":3012,"gen_start":2888,"node":9,"role":"declaration","source":0,"src_end":2619,"src_start":2461},{"artifact":0,"gen_end":3670,"gen_start":3012,"node":10,"role":"declaration","source":0,"src_end":2935,"src_start":2621},{"artifact":0,"gen_end":4501,"gen_start":3670,"node":11,"role":"declaration","source":0,"src_end":3269,"src_start":2937},{"artifact":0,"gen_end":4962,"gen_start":4501,"node":12,"role":"declaration","source":0,"src_end":3548,"src_start":3271},{"artifact":0,"gen_end":5431,"gen_start":4962,"node":13,"role":"declaration","source":0,"src_end":3754,"src_start":3550},{"artifact":0,"gen_end":6014,"gen_start":5431,"node":14,"role":"declaration","source":0,"src_end":4079,"src_start":3756},{"artifact":0,"gen_end":6435,"gen_start":6014,"node":15,"role":"declaration","source":0,"src_end":4298,"src_start":4081},{"artifact":0,"gen_end":6864,"gen_start":6435,"node":16,"role":"declaration","source":0,"src_end":4525,"src_start":4300},{"artifact":0,"gen_end":7617,"gen_start":6864,"node":17,"role":"declaration","source":0,"src_end":4780,"src_start":4527},{"artifact":0,"gen_end":8276,"gen_start":7617,"node":18,"role":"declaration","source":0,"src_end":5035,"src_start":4782},{"artifact":0,"gen_end":9003,"gen_start":8276,"node":19,"role":"declaration","source":0,"src_end":5286,"src_start":5037},{"artifact":0,"gen_end":9784,"gen_start":9003,"node":20,"role":"declaration","source":0,"src_end":5562,"src_start":5288},{"artifact":0,"gen_end":10441,"gen_start":9784,"node":21,"role":"declaration","source":0,"src_end":5830,"src_start":5564},{"artifact":0,"gen_end":11102,"gen_start":10441,"node":22,"role":"declaration","source":0,"src_end":6102,"src_start":5832},{"artifact":0,"gen_end":11522,"gen_start":11102,"node":23,"role":"declaration","source":0,"src_end":6332,"src_start":6104},{"artifact":0,"gen_end":11747,"gen_start":11522,"node":24,"role":"declaration","source":0,"src_end":6601,"src_start":6334},{"artifact":0,"gen_end":11956,"gen_start":11747,"node":25,"role":"declaration","source":0,"src_end":6857,"src_start":6603},{"artifact":0,"gen_end":12276,"gen_start":11956,"node":26,"role":"declaration","source":0,"src_end":7211,"src_start":6859},{"artifact":0,"gen_end":12695,"gen_start":12276,"node":27,"role":"declaration","source":0,"src_end":7650,"src_start":7213},{"artifact":0,"gen_end":13036,"gen_start":12695,"node":28,"role":"declaration","source":0,"src_end":8018,"src_start":7652},{"artifact":0,"gen_end":13416,"gen_start":13036,"node":29,"role":"declaration","source":0,"src_end":8424,"src_start":8020},{"artifact":0,"gen_end":13843,"gen_start":13416,"node":30,"role":"declaration","source":0,"src_end":8886,"src_start":8426},{"artifact":0,"gen_end":14237,"gen_start":13843,"node":31,"role":"declaration","source":0,"src_end":9315,"src_start":8888},{"artifact":0,"gen_end":14323,"gen_start":14237,"node":32,"role":"declaration","source":0,"src_end":9437,"src_start":9317},{"artifact":0,"gen_end":14415,"gen_start":14323,"node":33,"role":"declaration","source":0,"src_end":9565,"src_start":9439},{"artifact":0,"gen_end":14513,"gen_start":14415,"node":34,"role":"declaration","source":0,"src_end":9699,"src_start":9567},{"artifact":0,"gen_end":14605,"gen_start":14513,"node":35,"role":"declaration","source":0,"src_end":9827,"src_start":9701},{"artifact":0,"gen_end":14696,"gen_start":14605,"node":36,"role":"declaration","source":0,"src_end":9954,"src_start":9829},{"artifact":0,"gen_end":14793,"gen_start":14696,"node":37,"role":"declaration","source":0,"src_end":10087,"src_start":9956},{"artifact":0,"gen_end":14877,"gen_start":14793,"node":38,"role":"declaration","source":0,"src_end":10209,"src_start":10089},{"artifact":0,"gen_end":14973,"gen_start":14877,"node":39,"role":"declaration","source":0,"src_end":10343,"src_start":10211},{"artifact":0,"gen_end":15077,"gen_start":14973,"node":40,"role":"declaration","source":0,"src_end":10485,"src_start":10345},{"artifact":0,"gen_end":15160,"gen_start":15077,"node":41,"role":"declaration","source":0,"src_end":10604,"src_start":10487},{"artifact":0,"gen_end":15253,"gen_start":15160,"node":42,"role":"declaration","source":0,"src_end":10733,"src_start":10606},{"artifact":0,"gen_end":15341,"gen_start":15253,"node":43,"role":"declaration","source":0,"src_end":10857,"src_start":10735},{"artifact":0,"gen_end":15423,"gen_start":15341,"node":44,"role":"declaration","source":0,"src_end":10977,"src_start":10859},{"artifact":0,"gen_end":15504,"gen_start":15423,"node":45,"role":"declaration","source":0,"src_end":11096,"src_start":10979},{"artifact":0,"gen_end":15612,"gen_start":15504,"node":46,"role":"declaration","source":0,"src_end":11242,"src_start":11098},{"artifact":0,"gen_end":15706,"gen_start":15612,"node":47,"role":"declaration","source":0,"src_end":11372,"src_start":11244},{"artifact":0,"gen_end":15805,"gen_start":15706,"node":48,"role":"declaration","source":0,"src_end":11507,"src_start":11374},{"artifact":0,"gen_end":15898,"gen_start":15805,"node":49,"role":"declaration","source":0,"src_end":11636,"src_start":11509},{"artifact":0,"gen_end":16006,"gen_start":15898,"node":50,"role":"declaration","source":0,"src_end":11780,"src_start":11638},{"artifact":0,"gen_end":16111,"gen_start":16006,"node":51,"role":"declaration","source":0,"src_end":11921,"src_start":11782},{"artifact":0,"gen_end":16211,"gen_start":16111,"node":52,"role":"declaration","source":0,"src_end":12057,"src_start":11923},{"artifact":0,"gen_end":16311,"gen_start":16211,"node":53,"role":"declaration","source":0,"src_end":12193,"src_start":12059},{"artifact":0,"gen_end":16416,"gen_start":16311,"node":54,"role":"declaration","source":0,"src_end":12334,"src_start":12195},{"artifact":0,"gen_end":16510,"gen_start":16416,"node":55,"role":"declaration","source":0,"src_end":12464,"src_start":12336},{"artifact":0,"gen_end":16619,"gen_start":16510,"node":56,"role":"declaration","source":0,"src_end":12609,"src_start":12466},{"artifact":0,"gen_end":16721,"gen_start":16619,"node":57,"role":"declaration","source":0,"src_end":12747,"src_start":12611},{"artifact":0,"gen_end":16823,"gen_start":16721,"node":58,"role":"declaration","source":0,"src_end":12885,"src_start":12749},{"artifact":0,"gen_end":16932,"gen_start":16823,"node":59,"role":"declaration","source":0,"src_end":13030,"src_start":12887},{"artifact":0,"gen_end":17049,"gen_start":16932,"node":60,"role":"declaration","source":0,"src_end":13183,"src_start":13032},{"artifact":0,"gen_end":17155,"gen_start":17049,"node":61,"role":"declaration","source":0,"src_end":13325,"src_start":13185},{"artifact":0,"gen_end":17275,"gen_start":17155,"node":62,"role":"declaration","source":0,"src_end":13481,"src_start":13327},{"artifact":0,"gen_end":17456,"gen_start":17275,"node":63,"role":"declaration","source":0,"src_end":13712,"src_start":13483},{"artifact":0,"gen_end":17651,"gen_start":17456,"node":64,"role":"declaration","source":0,"src_end":13959,"src_start":13714},{"artifact":0,"gen_end":17668,"gen_start":17651,"node":0,"role":"declaration","source":0,"src_end":13995,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":65,"role":"declaration","source":0,"src_end":13995,"src_start":0},{"artifact":1,"gen_end":620,"gen_start":134,"node":66,"role":"declaration","source":0,"src_end":541,"src_start":295},{"artifact":1,"gen_end":1171,"gen_start":620,"node":67,"role":"declaration","source":0,"src_end":855,"src_start":543},{"artifact":1,"gen_end":1732,"gen_start":1171,"node":68,"role":"declaration","source":0,"src_end":1179,"src_start":857},{"artifact":1,"gen_end":2289,"gen_start":1732,"node":69,"role":"declaration","source":0,"src_end":1493,"src_start":1181},{"artifact":1,"gen_end":2888,"gen_start":2289,"node":70,"role":"declaration","source":0,"src_end":1828,"src_start":1495},{"artifact":1,"gen_end":3094,"gen_start":2888,"node":71,"role":"declaration","source":0,"src_end":1976,"src_start":1830},{"artifact":1,"gen_end":3594,"gen_start":3094,"node":72,"role":"declaration","source":0,"src_end":2307,"src_start":1978},{"artifact":1,"gen_end":3820,"gen_start":3594,"node":73,"role":"declaration","source":0,"src_end":2459,"src_start":2309},{"artifact":1,"gen_end":4052,"gen_start":3820,"node":74,"role":"declaration","source":0,"src_end":2619,"src_start":2461},{"artifact":1,"gen_end":4621,"gen_start":4052,"node":75,"role":"declaration","source":0,"src_end":2935,"src_start":2621},{"artifact":1,"gen_end":5208,"gen_start":4621,"node":76,"role":"declaration","source":0,"src_end":3269,"src_start":2937},{"artifact":1,"gen_end":5728,"gen_start":5208,"node":77,"role":"declaration","source":0,"src_end":3548,"src_start":3271},{"artifact":1,"gen_end":6135,"gen_start":5728,"node":78,"role":"declaration","source":0,"src_end":3754,"src_start":3550},{"artifact":1,"gen_end":6715,"gen_start":6135,"node":79,"role":"declaration","source":0,"src_end":4079,"src_start":3756},{"artifact":1,"gen_end":7144,"gen_start":6715,"node":80,"role":"declaration","source":0,"src_end":4298,"src_start":4081},{"artifact":1,"gen_end":7581,"gen_start":7144,"node":81,"role":"declaration","source":0,"src_end":4525,"src_start":4300},{"artifact":1,"gen_end":8070,"gen_start":7581,"node":82,"role":"declaration","source":0,"src_end":4780,"src_start":4527},{"artifact":1,"gen_end":8566,"gen_start":8070,"node":83,"role":"declaration","source":0,"src_end":5035,"src_start":4782},{"artifact":1,"gen_end":9044,"gen_start":8566,"node":84,"role":"declaration","source":0,"src_end":5286,"src_start":5037},{"artifact":1,"gen_end":9549,"gen_start":9044,"node":85,"role":"declaration","source":0,"src_end":5562,"src_start":5288},{"artifact":1,"gen_end":10046,"gen_start":9549,"node":86,"role":"declaration","source":0,"src_end":5830,"src_start":5564},{"artifact":1,"gen_end":10547,"gen_start":10046,"node":87,"role":"declaration","source":0,"src_end":6102,"src_start":5832},{"artifact":1,"gen_end":10980,"gen_start":10547,"node":88,"role":"declaration","source":0,"src_end":6332,"src_start":6104},{"artifact":1,"gen_end":11453,"gen_start":10980,"node":89,"role":"declaration","source":0,"src_end":6601,"src_start":6334},{"artifact":1,"gen_end":11910,"gen_start":11453,"node":90,"role":"declaration","source":0,"src_end":6857,"src_start":6603},{"artifact":1,"gen_end":12479,"gen_start":11910,"node":91,"role":"declaration","source":0,"src_end":7211,"src_start":6859},{"artifact":1,"gen_end":13146,"gen_start":12479,"node":92,"role":"declaration","source":0,"src_end":7650,"src_start":7213},{"artifact":1,"gen_end":13735,"gen_start":13146,"node":93,"role":"declaration","source":0,"src_end":8018,"src_start":7652},{"artifact":1,"gen_end":14364,"gen_start":13735,"node":94,"role":"declaration","source":0,"src_end":8424,"src_start":8020},{"artifact":1,"gen_end":15040,"gen_start":14364,"node":95,"role":"declaration","source":0,"src_end":8886,"src_start":8426},{"artifact":1,"gen_end":15683,"gen_start":15040,"node":96,"role":"declaration","source":0,"src_end":9315,"src_start":8888},{"artifact":1,"gen_end":15876,"gen_start":15683,"node":97,"role":"declaration","source":0,"src_end":9437,"src_start":9317},{"artifact":1,"gen_end":16076,"gen_start":15876,"node":98,"role":"declaration","source":0,"src_end":9565,"src_start":9439},{"artifact":1,"gen_end":16282,"gen_start":16076,"node":99,"role":"declaration","source":0,"src_end":9699,"src_start":9567},{"artifact":1,"gen_end":16482,"gen_start":16282,"node":100,"role":"declaration","source":0,"src_end":9827,"src_start":9701},{"artifact":1,"gen_end":16681,"gen_start":16482,"node":101,"role":"declaration","source":0,"src_end":9954,"src_start":9829},{"artifact":1,"gen_end":16887,"gen_start":16681,"node":102,"role":"declaration","source":0,"src_end":10087,"src_start":9956},{"artifact":1,"gen_end":17078,"gen_start":16887,"node":103,"role":"declaration","source":0,"src_end":10209,"src_start":10089},{"artifact":1,"gen_end":17282,"gen_start":17078,"node":104,"role":"declaration","source":0,"src_end":10343,"src_start":10211},{"artifact":1,"gen_end":17494,"gen_start":17282,"node":105,"role":"declaration","source":0,"src_end":10485,"src_start":10345},{"artifact":1,"gen_end":17684,"gen_start":17494,"node":106,"role":"declaration","source":0,"src_end":10604,"src_start":10487},{"artifact":1,"gen_end":17885,"gen_start":17684,"node":107,"role":"declaration","source":0,"src_end":10733,"src_start":10606},{"artifact":1,"gen_end":18081,"gen_start":17885,"node":108,"role":"declaration","source":0,"src_end":10857,"src_start":10735},{"artifact":1,"gen_end":18270,"gen_start":18081,"node":109,"role":"declaration","source":0,"src_end":10977,"src_start":10859},{"artifact":1,"gen_end":18458,"gen_start":18270,"node":110,"role":"declaration","source":0,"src_end":11096,"src_start":10979},{"artifact":1,"gen_end":18675,"gen_start":18458,"node":111,"role":"declaration","source":0,"src_end":11242,"src_start":11098},{"artifact":1,"gen_end":18876,"gen_start":18675,"node":112,"role":"declaration","source":0,"src_end":11372,"src_start":11244},{"artifact":1,"gen_end":19083,"gen_start":18876,"node":113,"role":"declaration","source":0,"src_end":11507,"src_start":11374},{"artifact":1,"gen_end":19284,"gen_start":19083,"node":114,"role":"declaration","source":0,"src_end":11636,"src_start":11509},{"artifact":1,"gen_end":19500,"gen_start":19284,"node":115,"role":"declaration","source":0,"src_end":11780,"src_start":11638},{"artifact":1,"gen_end":19714,"gen_start":19500,"node":116,"role":"declaration","source":0,"src_end":11921,"src_start":11782},{"artifact":1,"gen_end":19922,"gen_start":19714,"node":117,"role":"declaration","source":0,"src_end":12057,"src_start":11923},{"artifact":1,"gen_end":20130,"gen_start":19922,"node":118,"role":"declaration","source":0,"src_end":12193,"src_start":12059},{"artifact":1,"gen_end":20343,"gen_start":20130,"node":119,"role":"declaration","source":0,"src_end":12334,"src_start":12195},{"artifact":1,"gen_end":20544,"gen_start":20343,"node":120,"role":"declaration","source":0,"src_end":12464,"src_start":12336},{"artifact":1,"gen_end":20762,"gen_start":20544,"node":121,"role":"declaration","source":0,"src_end":12609,"src_start":12466},{"artifact":1,"gen_end":20972,"gen_start":20762,"node":122,"role":"declaration","source":0,"src_end":12747,"src_start":12611},{"artifact":1,"gen_end":21182,"gen_start":20972,"node":123,"role":"declaration","source":0,"src_end":12885,"src_start":12749},{"artifact":1,"gen_end":21400,"gen_start":21182,"node":124,"role":"declaration","source":0,"src_end":13030,"src_start":12887},{"artifact":1,"gen_end":21626,"gen_start":21400,"node":125,"role":"declaration","source":0,"src_end":13183,"src_start":13032},{"artifact":1,"gen_end":21840,"gen_start":21626,"node":126,"role":"declaration","source":0,"src_end":13325,"src_start":13185},{"artifact":1,"gen_end":22069,"gen_start":21840,"node":127,"role":"declaration","source":0,"src_end":13481,"src_start":13327},{"artifact":1,"gen_end":22357,"gen_start":22069,"node":128,"role":"declaration","source":0,"src_end":13712,"src_start":13483},{"artifact":1,"gen_end":22660,"gen_start":22357,"node":129,"role":"declaration","source":0,"src_end":13959,"src_start":13714},{"artifact":1,"gen_end":22675,"gen_start":22660,"node":65,"role":"declaration","source":0,"src_end":13995,"src_start":0}],"module":"Main","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-latex-module"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"},{"id":80,"kind":"semantic-declaration"},{"id":81,"kind":"semantic-declaration"},{"id":82,"kind":"semantic-declaration"},{"id":83,"kind":"semantic-declaration"},{"id":84,"kind":"semantic-declaration"},{"id":85,"kind":"semantic-declaration"},{"id":86,"kind":"semantic-declaration"},{"id":87,"kind":"semantic-declaration"},{"id":88,"kind":"semantic-declaration"},{"id":89,"kind":"semantic-declaration"},{"id":90,"kind":"semantic-declaration"},{"id":91,"kind":"semantic-declaration"},{"id":92,"kind":"semantic-declaration"},{"id":93,"kind":"semantic-declaration"},{"id":94,"kind":"semantic-declaration"},{"id":95,"kind":"semantic-declaration"},{"id":96,"kind":"semantic-declaration"},{"id":97,"kind":"semantic-declaration"},{"id":98,"kind":"semantic-declaration"},{"id":99,"kind":"semantic-declaration"},{"id":100,"kind":"semantic-declaration"},{"id":101,"kind":"semantic-declaration"},{"id":102,"kind":"semantic-declaration"},{"id":103,"kind":"semantic-declaration"},{"id":104,"kind":"semantic-declaration"},{"id":105,"kind":"semantic-declaration"},{"id":106,"kind":"semantic-declaration"},{"id":107,"kind":"semantic-declaration"},{"id":108,"kind":"semantic-declaration"},{"id":109,"kind":"semantic-declaration"},{"id":110,"kind":"semantic-declaration"},{"id":111,"kind":"semantic-declaration"},{"id":112,"kind":"semantic-declaration"},{"id":113,"kind":"semantic-declaration"},{"id":114,"kind":"semantic-declaration"},{"id":115,"kind":"semantic-declaration"},{"id":116,"kind":"semantic-declaration"},{"id":117,"kind":"semantic-declaration"},{"id":118,"kind":"semantic-declaration"},{"id":119,"kind":"semantic-declaration"},{"id":120,"kind":"semantic-declaration"},{"id":121,"kind":"semantic-declaration"},{"id":122,"kind":"semantic-declaration"},{"id":123,"kind":"semantic-declaration"},{"id":124,"kind":"semantic-declaration"},{"id":125,"kind":"semantic-declaration"},{"id":126,"kind":"semantic-declaration"},{"id":127,"kind":"semantic-declaration"},{"id":128,"kind":"semantic-declaration"},{"id":129,"kind":"semantic-declaration"}],"semantic_id":"0f600e9a78a6f4d72a3e289fa7bc71d474efc59645edcbd5ea3f2ccccc9bd884","source_id":"243d95f6a90f4465e9458068e3c5e881fdaa886952236ea3baae48629b473495","sources":[{"id":0,"kind":"file","path":"src/Main.lex.tex","sha256":"09fef2732bb2b95f41909df0570942389cddbf5bcefe01e667b6ec7400caad75"}],"spec":"lexlean/source-map/1"} diff --git a/examples/models/expected/build/maps/Models/Pipeline.map.json b/examples/models/expected/build/maps/Models/Pipeline.map.json index 98f178207..ec2cede6b 100644 --- a/examples/models/expected/build/maps/Models/Pipeline.map.json +++ b/examples/models/expected/build/maps/Models/Pipeline.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/Models/Pipeline.lean"},{"id":1,"kind":"tex","path":"modules/Models/Pipeline.tex"}],"mappings":[{"artifact":0,"gen_end":26951,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":12945,"src_start":0},{"artifact":0,"gen_end":27077,"gen_start":26951,"node":1,"role":"declaration","source":0,"src_end":394,"src_start":258},{"artifact":0,"gen_end":27325,"gen_start":27077,"node":2,"role":"declaration","source":0,"src_end":673,"src_start":396},{"artifact":0,"gen_end":27502,"gen_start":27325,"node":3,"role":"declaration","source":0,"src_end":985,"src_start":675},{"artifact":0,"gen_end":27896,"gen_start":27502,"node":4,"role":"declaration","source":0,"src_end":1718,"src_start":987},{"artifact":0,"gen_end":28139,"gen_start":27896,"node":5,"role":"declaration","source":0,"src_end":2061,"src_start":1720},{"artifact":0,"gen_end":28641,"gen_start":28139,"node":6,"role":"declaration","source":0,"src_end":2302,"src_start":2063},{"artifact":0,"gen_end":29023,"gen_start":28641,"node":7,"role":"declaration","source":0,"src_end":3033,"src_start":2304},{"artifact":0,"gen_end":29231,"gen_start":29023,"node":8,"role":"declaration","source":0,"src_end":3233,"src_start":3035},{"artifact":0,"gen_end":29356,"gen_start":29231,"node":9,"role":"declaration","source":0,"src_end":3436,"src_start":3235},{"artifact":0,"gen_end":29514,"gen_start":29356,"node":10,"role":"declaration","source":0,"src_end":3647,"src_start":3438},{"artifact":0,"gen_end":29683,"gen_start":29514,"node":11,"role":"declaration","source":0,"src_end":3827,"src_start":3649},{"artifact":0,"gen_end":29684,"gen_start":29683,"node":12,"role":"declaration","source":0,"src_end":4052,"src_start":3829},{"artifact":0,"gen_end":30073,"gen_start":29684,"node":13,"role":"declaration","source":0,"src_end":4397,"src_start":4054},{"artifact":0,"gen_end":30454,"gen_start":30073,"node":14,"role":"declaration","source":0,"src_end":5127,"src_start":4399},{"artifact":0,"gen_end":30658,"gen_start":30454,"node":15,"role":"declaration","source":0,"src_end":5324,"src_start":5129},{"artifact":0,"gen_end":30811,"gen_start":30658,"node":16,"role":"declaration","source":0,"src_end":5525,"src_start":5326},{"artifact":0,"gen_end":30922,"gen_start":30811,"node":17,"role":"declaration","source":0,"src_end":5648,"src_start":5527},{"artifact":0,"gen_end":30923,"gen_start":30922,"node":18,"role":"declaration","source":0,"src_end":5791,"src_start":5650},{"artifact":0,"gen_end":31034,"gen_start":30923,"node":19,"role":"declaration","source":0,"src_end":5975,"src_start":5793},{"artifact":0,"gen_end":31367,"gen_start":31034,"node":20,"role":"declaration","source":0,"src_end":6710,"src_start":5977},{"artifact":0,"gen_end":31534,"gen_start":31367,"node":21,"role":"declaration","source":0,"src_end":6882,"src_start":6712},{"artifact":0,"gen_end":31651,"gen_start":31534,"node":22,"role":"declaration","source":0,"src_end":7034,"src_start":6884},{"artifact":0,"gen_end":31836,"gen_start":31651,"node":23,"role":"declaration","source":0,"src_end":7226,"src_start":7036},{"artifact":0,"gen_end":31837,"gen_start":31836,"node":24,"role":"declaration","source":0,"src_end":7379,"src_start":7228},{"artifact":0,"gen_end":32002,"gen_start":31837,"node":25,"role":"declaration","source":0,"src_end":7642,"src_start":7381},{"artifact":0,"gen_end":32339,"gen_start":32002,"node":26,"role":"declaration","source":0,"src_end":8402,"src_start":7644},{"artifact":0,"gen_end":32511,"gen_start":32339,"node":27,"role":"declaration","source":0,"src_end":8592,"src_start":8404},{"artifact":0,"gen_end":32639,"gen_start":32511,"node":28,"role":"declaration","source":0,"src_end":8759,"src_start":8594},{"artifact":0,"gen_end":32847,"gen_start":32639,"node":29,"role":"declaration","source":0,"src_end":8974,"src_start":8761},{"artifact":0,"gen_end":32848,"gen_start":32847,"node":30,"role":"declaration","source":0,"src_end":9143,"src_start":8976},{"artifact":0,"gen_end":33053,"gen_start":32848,"node":31,"role":"declaration","source":0,"src_end":9385,"src_start":9145},{"artifact":0,"gen_end":33286,"gen_start":33053,"node":32,"role":"declaration","source":0,"src_end":9705,"src_start":9387},{"artifact":0,"gen_end":33449,"gen_start":33286,"node":33,"role":"declaration","source":0,"src_end":9866,"src_start":9707},{"artifact":0,"gen_end":33604,"gen_start":33449,"node":34,"role":"declaration","source":0,"src_end":10004,"src_start":9868},{"artifact":0,"gen_end":33714,"gen_start":33604,"node":35,"role":"declaration","source":0,"src_end":10126,"src_start":10006},{"artifact":0,"gen_end":33715,"gen_start":33714,"node":36,"role":"declaration","source":0,"src_end":10269,"src_start":10128},{"artifact":0,"gen_end":33906,"gen_start":33715,"node":37,"role":"declaration","source":0,"src_end":10578,"src_start":10271},{"artifact":0,"gen_end":34241,"gen_start":33906,"node":38,"role":"declaration","source":0,"src_end":11336,"src_start":10580},{"artifact":0,"gen_end":34409,"gen_start":34241,"node":39,"role":"declaration","source":0,"src_end":11522,"src_start":11338},{"artifact":0,"gen_end":34520,"gen_start":34409,"node":40,"role":"declaration","source":0,"src_end":11685,"src_start":11524},{"artifact":0,"gen_end":34644,"gen_start":34520,"node":41,"role":"declaration","source":0,"src_end":11817,"src_start":11687},{"artifact":0,"gen_end":34771,"gen_start":34644,"node":42,"role":"declaration","source":0,"src_end":11974,"src_start":11819},{"artifact":0,"gen_end":35236,"gen_start":34771,"node":43,"role":"declaration","source":0,"src_end":12235,"src_start":11976},{"artifact":0,"gen_end":35422,"gen_start":35236,"node":44,"role":"declaration","source":0,"src_end":12562,"src_start":12237},{"artifact":0,"gen_end":36546,"gen_start":35422,"node":45,"role":"declaration","source":0,"src_end":12809,"src_start":12564},{"artifact":0,"gen_end":36687,"gen_start":36546,"node":46,"role":"declaration","source":0,"src_end":12909,"src_start":12811},{"artifact":0,"gen_end":36708,"gen_start":36687,"node":0,"role":"declaration","source":0,"src_end":12945,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":47,"role":"declaration","source":0,"src_end":12945,"src_start":0},{"artifact":1,"gen_end":430,"gen_start":134,"node":48,"role":"declaration","source":0,"src_end":394,"src_start":258},{"artifact":1,"gen_end":769,"gen_start":430,"node":49,"role":"declaration","source":0,"src_end":673,"src_start":396},{"artifact":1,"gen_end":1611,"gen_start":769,"node":50,"role":"declaration","source":0,"src_end":985,"src_start":675},{"artifact":1,"gen_end":1974,"gen_start":1611,"node":51,"role":"declaration","source":0,"src_end":1718,"src_start":987},{"artifact":1,"gen_end":2951,"gen_start":1974,"node":52,"role":"declaration","source":0,"src_end":2061,"src_start":1720},{"artifact":1,"gen_end":3273,"gen_start":2951,"node":53,"role":"declaration","source":0,"src_end":2302,"src_start":2063},{"artifact":1,"gen_end":3624,"gen_start":3273,"node":54,"role":"declaration","source":0,"src_end":3033,"src_start":2304},{"artifact":1,"gen_end":4369,"gen_start":3624,"node":55,"role":"declaration","source":0,"src_end":3233,"src_start":3035},{"artifact":1,"gen_end":5123,"gen_start":4369,"node":56,"role":"declaration","source":0,"src_end":3436,"src_start":3235},{"artifact":1,"gen_end":5530,"gen_start":5123,"node":57,"role":"declaration","source":0,"src_end":3647,"src_start":3438},{"artifact":1,"gen_end":5870,"gen_start":5530,"node":58,"role":"declaration","source":0,"src_end":3827,"src_start":3649},{"artifact":1,"gen_end":6237,"gen_start":5870,"node":59,"role":"declaration","source":0,"src_end":4052,"src_start":3829},{"artifact":1,"gen_end":7103,"gen_start":6237,"node":60,"role":"declaration","source":0,"src_end":4397,"src_start":4054},{"artifact":1,"gen_end":7453,"gen_start":7103,"node":61,"role":"declaration","source":0,"src_end":5127,"src_start":4399},{"artifact":1,"gen_end":8190,"gen_start":7453,"node":62,"role":"declaration","source":0,"src_end":5324,"src_start":5129},{"artifact":1,"gen_end":8970,"gen_start":8190,"node":63,"role":"declaration","source":0,"src_end":5525,"src_start":5326},{"artifact":1,"gen_end":9251,"gen_start":8970,"node":64,"role":"declaration","source":0,"src_end":5648,"src_start":5527},{"artifact":1,"gen_end":9507,"gen_start":9251,"node":65,"role":"declaration","source":0,"src_end":5791,"src_start":5650},{"artifact":1,"gen_end":9989,"gen_start":9507,"node":66,"role":"declaration","source":0,"src_end":5975,"src_start":5793},{"artifact":1,"gen_end":10245,"gen_start":9989,"node":67,"role":"declaration","source":0,"src_end":6710,"src_start":5977},{"artifact":1,"gen_end":10881,"gen_start":10245,"node":68,"role":"declaration","source":0,"src_end":6882,"src_start":6712},{"artifact":1,"gen_end":11318,"gen_start":10881,"node":69,"role":"declaration","source":0,"src_end":7034,"src_start":6884},{"artifact":1,"gen_end":11689,"gen_start":11318,"node":70,"role":"declaration","source":0,"src_end":7226,"src_start":7036},{"artifact":1,"gen_end":11962,"gen_start":11689,"node":71,"role":"declaration","source":0,"src_end":7379,"src_start":7228},{"artifact":1,"gen_end":12512,"gen_start":11962,"node":72,"role":"declaration","source":0,"src_end":7642,"src_start":7381},{"artifact":1,"gen_end":12783,"gen_start":12512,"node":73,"role":"declaration","source":0,"src_end":8402,"src_start":7644},{"artifact":1,"gen_end":13431,"gen_start":12783,"node":74,"role":"declaration","source":0,"src_end":8592,"src_start":8404},{"artifact":1,"gen_end":13884,"gen_start":13431,"node":75,"role":"declaration","source":0,"src_end":8759,"src_start":8594},{"artifact":1,"gen_end":14278,"gen_start":13884,"node":76,"role":"declaration","source":0,"src_end":8974,"src_start":8761},{"artifact":1,"gen_end":14580,"gen_start":14278,"node":77,"role":"declaration","source":0,"src_end":9143,"src_start":8976},{"artifact":1,"gen_end":15157,"gen_start":14580,"node":78,"role":"declaration","source":0,"src_end":9385,"src_start":9145},{"artifact":1,"gen_end":15446,"gen_start":15157,"node":79,"role":"declaration","source":0,"src_end":9705,"src_start":9387},{"artifact":1,"gen_end":16098,"gen_start":15446,"node":80,"role":"declaration","source":0,"src_end":9866,"src_start":9707},{"artifact":1,"gen_end":16559,"gen_start":16098,"node":81,"role":"declaration","source":0,"src_end":10004,"src_start":9868},{"artifact":1,"gen_end":16839,"gen_start":16559,"node":82,"role":"declaration","source":0,"src_end":10126,"src_start":10006},{"artifact":1,"gen_end":17095,"gen_start":16839,"node":83,"role":"declaration","source":0,"src_end":10269,"src_start":10128},{"artifact":1,"gen_end":17683,"gen_start":17095,"node":84,"role":"declaration","source":0,"src_end":10578,"src_start":10271},{"artifact":1,"gen_end":17952,"gen_start":17683,"node":85,"role":"declaration","source":0,"src_end":11336,"src_start":10580},{"artifact":1,"gen_end":18591,"gen_start":17952,"node":86,"role":"declaration","source":0,"src_end":11522,"src_start":11338},{"artifact":1,"gen_end":19023,"gen_start":18591,"node":87,"role":"declaration","source":0,"src_end":11685,"src_start":11524},{"artifact":1,"gen_end":19318,"gen_start":19023,"node":88,"role":"declaration","source":0,"src_end":11817,"src_start":11687},{"artifact":1,"gen_end":19692,"gen_start":19318,"node":89,"role":"declaration","source":0,"src_end":11974,"src_start":11819},{"artifact":1,"gen_end":19998,"gen_start":19692,"node":90,"role":"declaration","source":0,"src_end":12235,"src_start":11976},{"artifact":1,"gen_end":20752,"gen_start":19998,"node":91,"role":"declaration","source":0,"src_end":12562,"src_start":12237},{"artifact":1,"gen_end":22333,"gen_start":20752,"node":92,"role":"declaration","source":0,"src_end":12809,"src_start":12564},{"artifact":1,"gen_end":22789,"gen_start":22333,"node":93,"role":"declaration","source":0,"src_end":12909,"src_start":12811},{"artifact":1,"gen_end":22804,"gen_start":22789,"node":47,"role":"declaration","source":0,"src_end":12945,"src_start":0}],"module":"Pipeline","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-latex-module"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"},{"id":80,"kind":"semantic-declaration"},{"id":81,"kind":"semantic-declaration"},{"id":82,"kind":"semantic-declaration"},{"id":83,"kind":"semantic-declaration"},{"id":84,"kind":"semantic-declaration"},{"id":85,"kind":"semantic-declaration"},{"id":86,"kind":"semantic-declaration"},{"id":87,"kind":"semantic-declaration"},{"id":88,"kind":"semantic-declaration"},{"id":89,"kind":"semantic-declaration"},{"id":90,"kind":"semantic-declaration"},{"id":91,"kind":"semantic-declaration"},{"id":92,"kind":"semantic-declaration"},{"id":93,"kind":"semantic-declaration"}],"semantic_id":"cca462bfe8cabc3365338af96b591362dcf03d5c3f800480f198d57a49534986","source_id":"25244652b5befe5ab8ab5cd51823b0acb53ae95907fa11232bf63b2510832f86","sources":[{"id":0,"kind":"file","path":"src/Pipeline.lex.tex","sha256":"82cec7477a537982dab7be86130292d11e3cc2123c2e7188a32b8d8808ab22c1"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Models/Pipeline.lean"},{"id":1,"kind":"tex","path":"modules/Models/Pipeline.tex"}],"mappings":[{"artifact":0,"gen_end":458,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":12945,"src_start":0},{"artifact":0,"gen_end":584,"gen_start":458,"node":1,"role":"declaration","source":0,"src_end":394,"src_start":258},{"artifact":0,"gen_end":832,"gen_start":584,"node":2,"role":"declaration","source":0,"src_end":673,"src_start":396},{"artifact":0,"gen_end":1009,"gen_start":832,"node":3,"role":"declaration","source":0,"src_end":985,"src_start":675},{"artifact":0,"gen_end":1403,"gen_start":1009,"node":4,"role":"declaration","source":0,"src_end":1718,"src_start":987},{"artifact":0,"gen_end":1646,"gen_start":1403,"node":5,"role":"declaration","source":0,"src_end":2061,"src_start":1720},{"artifact":0,"gen_end":2148,"gen_start":1646,"node":6,"role":"declaration","source":0,"src_end":2302,"src_start":2063},{"artifact":0,"gen_end":2530,"gen_start":2148,"node":7,"role":"declaration","source":0,"src_end":3033,"src_start":2304},{"artifact":0,"gen_end":2738,"gen_start":2530,"node":8,"role":"declaration","source":0,"src_end":3233,"src_start":3035},{"artifact":0,"gen_end":2863,"gen_start":2738,"node":9,"role":"declaration","source":0,"src_end":3436,"src_start":3235},{"artifact":0,"gen_end":3021,"gen_start":2863,"node":10,"role":"declaration","source":0,"src_end":3647,"src_start":3438},{"artifact":0,"gen_end":3190,"gen_start":3021,"node":11,"role":"declaration","source":0,"src_end":3827,"src_start":3649},{"artifact":0,"gen_end":3191,"gen_start":3190,"node":12,"role":"declaration","source":0,"src_end":4052,"src_start":3829},{"artifact":0,"gen_end":3580,"gen_start":3191,"node":13,"role":"declaration","source":0,"src_end":4397,"src_start":4054},{"artifact":0,"gen_end":3961,"gen_start":3580,"node":14,"role":"declaration","source":0,"src_end":5127,"src_start":4399},{"artifact":0,"gen_end":4165,"gen_start":3961,"node":15,"role":"declaration","source":0,"src_end":5324,"src_start":5129},{"artifact":0,"gen_end":4318,"gen_start":4165,"node":16,"role":"declaration","source":0,"src_end":5525,"src_start":5326},{"artifact":0,"gen_end":4429,"gen_start":4318,"node":17,"role":"declaration","source":0,"src_end":5648,"src_start":5527},{"artifact":0,"gen_end":4430,"gen_start":4429,"node":18,"role":"declaration","source":0,"src_end":5791,"src_start":5650},{"artifact":0,"gen_end":4541,"gen_start":4430,"node":19,"role":"declaration","source":0,"src_end":5975,"src_start":5793},{"artifact":0,"gen_end":4874,"gen_start":4541,"node":20,"role":"declaration","source":0,"src_end":6710,"src_start":5977},{"artifact":0,"gen_end":5041,"gen_start":4874,"node":21,"role":"declaration","source":0,"src_end":6882,"src_start":6712},{"artifact":0,"gen_end":5158,"gen_start":5041,"node":22,"role":"declaration","source":0,"src_end":7034,"src_start":6884},{"artifact":0,"gen_end":5343,"gen_start":5158,"node":23,"role":"declaration","source":0,"src_end":7226,"src_start":7036},{"artifact":0,"gen_end":5344,"gen_start":5343,"node":24,"role":"declaration","source":0,"src_end":7379,"src_start":7228},{"artifact":0,"gen_end":5509,"gen_start":5344,"node":25,"role":"declaration","source":0,"src_end":7642,"src_start":7381},{"artifact":0,"gen_end":5846,"gen_start":5509,"node":26,"role":"declaration","source":0,"src_end":8402,"src_start":7644},{"artifact":0,"gen_end":6018,"gen_start":5846,"node":27,"role":"declaration","source":0,"src_end":8592,"src_start":8404},{"artifact":0,"gen_end":6146,"gen_start":6018,"node":28,"role":"declaration","source":0,"src_end":8759,"src_start":8594},{"artifact":0,"gen_end":6354,"gen_start":6146,"node":29,"role":"declaration","source":0,"src_end":8974,"src_start":8761},{"artifact":0,"gen_end":6355,"gen_start":6354,"node":30,"role":"declaration","source":0,"src_end":9143,"src_start":8976},{"artifact":0,"gen_end":6560,"gen_start":6355,"node":31,"role":"declaration","source":0,"src_end":9385,"src_start":9145},{"artifact":0,"gen_end":6793,"gen_start":6560,"node":32,"role":"declaration","source":0,"src_end":9705,"src_start":9387},{"artifact":0,"gen_end":6956,"gen_start":6793,"node":33,"role":"declaration","source":0,"src_end":9866,"src_start":9707},{"artifact":0,"gen_end":7111,"gen_start":6956,"node":34,"role":"declaration","source":0,"src_end":10004,"src_start":9868},{"artifact":0,"gen_end":7221,"gen_start":7111,"node":35,"role":"declaration","source":0,"src_end":10126,"src_start":10006},{"artifact":0,"gen_end":7222,"gen_start":7221,"node":36,"role":"declaration","source":0,"src_end":10269,"src_start":10128},{"artifact":0,"gen_end":7413,"gen_start":7222,"node":37,"role":"declaration","source":0,"src_end":10578,"src_start":10271},{"artifact":0,"gen_end":7748,"gen_start":7413,"node":38,"role":"declaration","source":0,"src_end":11336,"src_start":10580},{"artifact":0,"gen_end":7916,"gen_start":7748,"node":39,"role":"declaration","source":0,"src_end":11522,"src_start":11338},{"artifact":0,"gen_end":8027,"gen_start":7916,"node":40,"role":"declaration","source":0,"src_end":11685,"src_start":11524},{"artifact":0,"gen_end":8151,"gen_start":8027,"node":41,"role":"declaration","source":0,"src_end":11817,"src_start":11687},{"artifact":0,"gen_end":8278,"gen_start":8151,"node":42,"role":"declaration","source":0,"src_end":11974,"src_start":11819},{"artifact":0,"gen_end":8743,"gen_start":8278,"node":43,"role":"declaration","source":0,"src_end":12235,"src_start":11976},{"artifact":0,"gen_end":8929,"gen_start":8743,"node":44,"role":"declaration","source":0,"src_end":12562,"src_start":12237},{"artifact":0,"gen_end":10053,"gen_start":8929,"node":45,"role":"declaration","source":0,"src_end":12809,"src_start":12564},{"artifact":0,"gen_end":10194,"gen_start":10053,"node":46,"role":"declaration","source":0,"src_end":12909,"src_start":12811},{"artifact":0,"gen_end":10215,"gen_start":10194,"node":0,"role":"declaration","source":0,"src_end":12945,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":47,"role":"declaration","source":0,"src_end":12945,"src_start":0},{"artifact":1,"gen_end":430,"gen_start":134,"node":48,"role":"declaration","source":0,"src_end":394,"src_start":258},{"artifact":1,"gen_end":769,"gen_start":430,"node":49,"role":"declaration","source":0,"src_end":673,"src_start":396},{"artifact":1,"gen_end":1611,"gen_start":769,"node":50,"role":"declaration","source":0,"src_end":985,"src_start":675},{"artifact":1,"gen_end":1974,"gen_start":1611,"node":51,"role":"declaration","source":0,"src_end":1718,"src_start":987},{"artifact":1,"gen_end":2951,"gen_start":1974,"node":52,"role":"declaration","source":0,"src_end":2061,"src_start":1720},{"artifact":1,"gen_end":3273,"gen_start":2951,"node":53,"role":"declaration","source":0,"src_end":2302,"src_start":2063},{"artifact":1,"gen_end":3624,"gen_start":3273,"node":54,"role":"declaration","source":0,"src_end":3033,"src_start":2304},{"artifact":1,"gen_end":4369,"gen_start":3624,"node":55,"role":"declaration","source":0,"src_end":3233,"src_start":3035},{"artifact":1,"gen_end":5123,"gen_start":4369,"node":56,"role":"declaration","source":0,"src_end":3436,"src_start":3235},{"artifact":1,"gen_end":5530,"gen_start":5123,"node":57,"role":"declaration","source":0,"src_end":3647,"src_start":3438},{"artifact":1,"gen_end":5870,"gen_start":5530,"node":58,"role":"declaration","source":0,"src_end":3827,"src_start":3649},{"artifact":1,"gen_end":6237,"gen_start":5870,"node":59,"role":"declaration","source":0,"src_end":4052,"src_start":3829},{"artifact":1,"gen_end":7103,"gen_start":6237,"node":60,"role":"declaration","source":0,"src_end":4397,"src_start":4054},{"artifact":1,"gen_end":7453,"gen_start":7103,"node":61,"role":"declaration","source":0,"src_end":5127,"src_start":4399},{"artifact":1,"gen_end":8190,"gen_start":7453,"node":62,"role":"declaration","source":0,"src_end":5324,"src_start":5129},{"artifact":1,"gen_end":8970,"gen_start":8190,"node":63,"role":"declaration","source":0,"src_end":5525,"src_start":5326},{"artifact":1,"gen_end":9251,"gen_start":8970,"node":64,"role":"declaration","source":0,"src_end":5648,"src_start":5527},{"artifact":1,"gen_end":9507,"gen_start":9251,"node":65,"role":"declaration","source":0,"src_end":5791,"src_start":5650},{"artifact":1,"gen_end":9989,"gen_start":9507,"node":66,"role":"declaration","source":0,"src_end":5975,"src_start":5793},{"artifact":1,"gen_end":10245,"gen_start":9989,"node":67,"role":"declaration","source":0,"src_end":6710,"src_start":5977},{"artifact":1,"gen_end":10881,"gen_start":10245,"node":68,"role":"declaration","source":0,"src_end":6882,"src_start":6712},{"artifact":1,"gen_end":11318,"gen_start":10881,"node":69,"role":"declaration","source":0,"src_end":7034,"src_start":6884},{"artifact":1,"gen_end":11689,"gen_start":11318,"node":70,"role":"declaration","source":0,"src_end":7226,"src_start":7036},{"artifact":1,"gen_end":11962,"gen_start":11689,"node":71,"role":"declaration","source":0,"src_end":7379,"src_start":7228},{"artifact":1,"gen_end":12512,"gen_start":11962,"node":72,"role":"declaration","source":0,"src_end":7642,"src_start":7381},{"artifact":1,"gen_end":12783,"gen_start":12512,"node":73,"role":"declaration","source":0,"src_end":8402,"src_start":7644},{"artifact":1,"gen_end":13431,"gen_start":12783,"node":74,"role":"declaration","source":0,"src_end":8592,"src_start":8404},{"artifact":1,"gen_end":13884,"gen_start":13431,"node":75,"role":"declaration","source":0,"src_end":8759,"src_start":8594},{"artifact":1,"gen_end":14278,"gen_start":13884,"node":76,"role":"declaration","source":0,"src_end":8974,"src_start":8761},{"artifact":1,"gen_end":14580,"gen_start":14278,"node":77,"role":"declaration","source":0,"src_end":9143,"src_start":8976},{"artifact":1,"gen_end":15157,"gen_start":14580,"node":78,"role":"declaration","source":0,"src_end":9385,"src_start":9145},{"artifact":1,"gen_end":15446,"gen_start":15157,"node":79,"role":"declaration","source":0,"src_end":9705,"src_start":9387},{"artifact":1,"gen_end":16098,"gen_start":15446,"node":80,"role":"declaration","source":0,"src_end":9866,"src_start":9707},{"artifact":1,"gen_end":16559,"gen_start":16098,"node":81,"role":"declaration","source":0,"src_end":10004,"src_start":9868},{"artifact":1,"gen_end":16839,"gen_start":16559,"node":82,"role":"declaration","source":0,"src_end":10126,"src_start":10006},{"artifact":1,"gen_end":17095,"gen_start":16839,"node":83,"role":"declaration","source":0,"src_end":10269,"src_start":10128},{"artifact":1,"gen_end":17683,"gen_start":17095,"node":84,"role":"declaration","source":0,"src_end":10578,"src_start":10271},{"artifact":1,"gen_end":17952,"gen_start":17683,"node":85,"role":"declaration","source":0,"src_end":11336,"src_start":10580},{"artifact":1,"gen_end":18591,"gen_start":17952,"node":86,"role":"declaration","source":0,"src_end":11522,"src_start":11338},{"artifact":1,"gen_end":19023,"gen_start":18591,"node":87,"role":"declaration","source":0,"src_end":11685,"src_start":11524},{"artifact":1,"gen_end":19318,"gen_start":19023,"node":88,"role":"declaration","source":0,"src_end":11817,"src_start":11687},{"artifact":1,"gen_end":19692,"gen_start":19318,"node":89,"role":"declaration","source":0,"src_end":11974,"src_start":11819},{"artifact":1,"gen_end":19998,"gen_start":19692,"node":90,"role":"declaration","source":0,"src_end":12235,"src_start":11976},{"artifact":1,"gen_end":20752,"gen_start":19998,"node":91,"role":"declaration","source":0,"src_end":12562,"src_start":12237},{"artifact":1,"gen_end":22333,"gen_start":20752,"node":92,"role":"declaration","source":0,"src_end":12809,"src_start":12564},{"artifact":1,"gen_end":22789,"gen_start":22333,"node":93,"role":"declaration","source":0,"src_end":12909,"src_start":12811},{"artifact":1,"gen_end":22804,"gen_start":22789,"node":47,"role":"declaration","source":0,"src_end":12945,"src_start":0}],"module":"Pipeline","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-latex-module"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"},{"id":80,"kind":"semantic-declaration"},{"id":81,"kind":"semantic-declaration"},{"id":82,"kind":"semantic-declaration"},{"id":83,"kind":"semantic-declaration"},{"id":84,"kind":"semantic-declaration"},{"id":85,"kind":"semantic-declaration"},{"id":86,"kind":"semantic-declaration"},{"id":87,"kind":"semantic-declaration"},{"id":88,"kind":"semantic-declaration"},{"id":89,"kind":"semantic-declaration"},{"id":90,"kind":"semantic-declaration"},{"id":91,"kind":"semantic-declaration"},{"id":92,"kind":"semantic-declaration"},{"id":93,"kind":"semantic-declaration"}],"semantic_id":"0f600e9a78a6f4d72a3e289fa7bc71d474efc59645edcbd5ea3f2ccccc9bd884","source_id":"243d95f6a90f4465e9458068e3c5e881fdaa886952236ea3baae48629b473495","sources":[{"id":0,"kind":"file","path":"src/Pipeline.lex.tex","sha256":"82cec7477a537982dab7be86130292d11e3cc2123c2e7188a32b8d8808ab22c1"}],"spec":"lexlean/source-map/1"} diff --git a/examples/models/expected/build/maps/Models/Policy.map.json b/examples/models/expected/build/maps/Models/Policy.map.json index 5e2c79bca..e81854a3d 100644 --- a/examples/models/expected/build/maps/Models/Policy.map.json +++ b/examples/models/expected/build/maps/Models/Policy.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/Models/Policy.lean"},{"id":1,"kind":"tex","path":"modules/Models/Policy.tex"}],"mappings":[{"artifact":0,"gen_end":5325,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":3172,"src_start":0},{"artifact":0,"gen_end":5532,"gen_start":5325,"node":1,"role":"declaration","source":0,"src_end":404,"src_start":165},{"artifact":0,"gen_end":5658,"gen_start":5532,"node":2,"role":"declaration","source":0,"src_end":538,"src_start":406},{"artifact":0,"gen_end":5771,"gen_start":5658,"node":3,"role":"declaration","source":0,"src_end":693,"src_start":540},{"artifact":0,"gen_end":6003,"gen_start":5771,"node":4,"role":"declaration","source":0,"src_end":1091,"src_start":695},{"artifact":0,"gen_end":6238,"gen_start":6003,"node":5,"role":"declaration","source":0,"src_end":1492,"src_start":1093},{"artifact":0,"gen_end":6351,"gen_start":6238,"node":6,"role":"declaration","source":0,"src_end":1617,"src_start":1494},{"artifact":0,"gen_end":6711,"gen_start":6351,"node":7,"role":"declaration","source":0,"src_end":1968,"src_start":1619},{"artifact":0,"gen_end":7067,"gen_start":6711,"node":8,"role":"declaration","source":0,"src_end":2270,"src_start":1970},{"artifact":0,"gen_end":7300,"gen_start":7067,"node":9,"role":"declaration","source":0,"src_end":2667,"src_start":2272},{"artifact":0,"gen_end":7413,"gen_start":7300,"node":10,"role":"declaration","source":0,"src_end":2819,"src_start":2669},{"artifact":0,"gen_end":7608,"gen_start":7413,"node":11,"role":"declaration","source":0,"src_end":2990,"src_start":2821},{"artifact":0,"gen_end":7719,"gen_start":7608,"node":12,"role":"declaration","source":0,"src_end":3136,"src_start":2992},{"artifact":0,"gen_end":7738,"gen_start":7719,"node":0,"role":"declaration","source":0,"src_end":3172,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":13,"role":"declaration","source":0,"src_end":3172,"src_start":0},{"artifact":1,"gen_end":588,"gen_start":134,"node":14,"role":"declaration","source":0,"src_end":404,"src_start":165},{"artifact":1,"gen_end":885,"gen_start":588,"node":15,"role":"declaration","source":0,"src_end":538,"src_start":406},{"artifact":1,"gen_end":1245,"gen_start":885,"node":16,"role":"declaration","source":0,"src_end":693,"src_start":540},{"artifact":1,"gen_end":1532,"gen_start":1245,"node":17,"role":"declaration","source":0,"src_end":1091,"src_start":695},{"artifact":1,"gen_end":1822,"gen_start":1532,"node":18,"role":"declaration","source":0,"src_end":1492,"src_start":1093},{"artifact":1,"gen_end":2105,"gen_start":1822,"node":19,"role":"declaration","source":0,"src_end":1617,"src_start":1494},{"artifact":1,"gen_end":3224,"gen_start":2105,"node":20,"role":"declaration","source":0,"src_end":1968,"src_start":1619},{"artifact":1,"gen_end":4043,"gen_start":3224,"node":21,"role":"declaration","source":0,"src_end":2270,"src_start":1970},{"artifact":1,"gen_end":4330,"gen_start":4043,"node":22,"role":"declaration","source":0,"src_end":2667,"src_start":2272},{"artifact":1,"gen_end":4550,"gen_start":4330,"node":23,"role":"declaration","source":0,"src_end":2819,"src_start":2669},{"artifact":1,"gen_end":5218,"gen_start":4550,"node":24,"role":"declaration","source":0,"src_end":2990,"src_start":2821},{"artifact":1,"gen_end":5653,"gen_start":5218,"node":25,"role":"declaration","source":0,"src_end":3136,"src_start":2992},{"artifact":1,"gen_end":5668,"gen_start":5653,"node":13,"role":"declaration","source":0,"src_end":3172,"src_start":0}],"module":"Policy","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-latex-module"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"}],"semantic_id":"cca462bfe8cabc3365338af96b591362dcf03d5c3f800480f198d57a49534986","source_id":"25244652b5befe5ab8ab5cd51823b0acb53ae95907fa11232bf63b2510832f86","sources":[{"id":0,"kind":"file","path":"src/Policy.lex.tex","sha256":"32d2ea99e908b81d5210299ee8e6148cc87e4ae72d9bef235cadf5cf69947ecf"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Models/Policy.lean"},{"id":1,"kind":"tex","path":"modules/Models/Policy.tex"}],"mappings":[{"artifact":0,"gen_end":260,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":3172,"src_start":0},{"artifact":0,"gen_end":467,"gen_start":260,"node":1,"role":"declaration","source":0,"src_end":404,"src_start":165},{"artifact":0,"gen_end":593,"gen_start":467,"node":2,"role":"declaration","source":0,"src_end":538,"src_start":406},{"artifact":0,"gen_end":706,"gen_start":593,"node":3,"role":"declaration","source":0,"src_end":693,"src_start":540},{"artifact":0,"gen_end":938,"gen_start":706,"node":4,"role":"declaration","source":0,"src_end":1091,"src_start":695},{"artifact":0,"gen_end":1173,"gen_start":938,"node":5,"role":"declaration","source":0,"src_end":1492,"src_start":1093},{"artifact":0,"gen_end":1286,"gen_start":1173,"node":6,"role":"declaration","source":0,"src_end":1617,"src_start":1494},{"artifact":0,"gen_end":1646,"gen_start":1286,"node":7,"role":"declaration","source":0,"src_end":1968,"src_start":1619},{"artifact":0,"gen_end":2002,"gen_start":1646,"node":8,"role":"declaration","source":0,"src_end":2270,"src_start":1970},{"artifact":0,"gen_end":2235,"gen_start":2002,"node":9,"role":"declaration","source":0,"src_end":2667,"src_start":2272},{"artifact":0,"gen_end":2348,"gen_start":2235,"node":10,"role":"declaration","source":0,"src_end":2819,"src_start":2669},{"artifact":0,"gen_end":2543,"gen_start":2348,"node":11,"role":"declaration","source":0,"src_end":2990,"src_start":2821},{"artifact":0,"gen_end":2654,"gen_start":2543,"node":12,"role":"declaration","source":0,"src_end":3136,"src_start":2992},{"artifact":0,"gen_end":2673,"gen_start":2654,"node":0,"role":"declaration","source":0,"src_end":3172,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":13,"role":"declaration","source":0,"src_end":3172,"src_start":0},{"artifact":1,"gen_end":588,"gen_start":134,"node":14,"role":"declaration","source":0,"src_end":404,"src_start":165},{"artifact":1,"gen_end":885,"gen_start":588,"node":15,"role":"declaration","source":0,"src_end":538,"src_start":406},{"artifact":1,"gen_end":1245,"gen_start":885,"node":16,"role":"declaration","source":0,"src_end":693,"src_start":540},{"artifact":1,"gen_end":1532,"gen_start":1245,"node":17,"role":"declaration","source":0,"src_end":1091,"src_start":695},{"artifact":1,"gen_end":1822,"gen_start":1532,"node":18,"role":"declaration","source":0,"src_end":1492,"src_start":1093},{"artifact":1,"gen_end":2105,"gen_start":1822,"node":19,"role":"declaration","source":0,"src_end":1617,"src_start":1494},{"artifact":1,"gen_end":3224,"gen_start":2105,"node":20,"role":"declaration","source":0,"src_end":1968,"src_start":1619},{"artifact":1,"gen_end":4043,"gen_start":3224,"node":21,"role":"declaration","source":0,"src_end":2270,"src_start":1970},{"artifact":1,"gen_end":4330,"gen_start":4043,"node":22,"role":"declaration","source":0,"src_end":2667,"src_start":2272},{"artifact":1,"gen_end":4550,"gen_start":4330,"node":23,"role":"declaration","source":0,"src_end":2819,"src_start":2669},{"artifact":1,"gen_end":5218,"gen_start":4550,"node":24,"role":"declaration","source":0,"src_end":2990,"src_start":2821},{"artifact":1,"gen_end":5653,"gen_start":5218,"node":25,"role":"declaration","source":0,"src_end":3136,"src_start":2992},{"artifact":1,"gen_end":5668,"gen_start":5653,"node":13,"role":"declaration","source":0,"src_end":3172,"src_start":0}],"module":"Policy","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-latex-module"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"}],"semantic_id":"0f600e9a78a6f4d72a3e289fa7bc71d474efc59645edcbd5ea3f2ccccc9bd884","source_id":"243d95f6a90f4465e9458068e3c5e881fdaa886952236ea3baae48629b473495","sources":[{"id":0,"kind":"file","path":"src/Policy.lex.tex","sha256":"32d2ea99e908b81d5210299ee8e6148cc87e4ae72d9bef235cadf5cf69947ecf"}],"spec":"lexlean/source-map/1"} diff --git a/examples/models/expected/build/maps/Models/Recognizer.map.json b/examples/models/expected/build/maps/Models/Recognizer.map.json index 9669bc11b..c215372ca 100644 --- a/examples/models/expected/build/maps/Models/Recognizer.map.json +++ b/examples/models/expected/build/maps/Models/Recognizer.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/Models/Recognizer.lean"},{"id":1,"kind":"tex","path":"modules/Models/Recognizer.tex"}],"mappings":[{"artifact":0,"gen_end":26836,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":8290,"src_start":0},{"artifact":0,"gen_end":29025,"gen_start":26836,"node":1,"role":"declaration","source":0,"src_end":394,"src_start":169},{"artifact":0,"gen_end":29652,"gen_start":29025,"node":2,"role":"declaration","source":0,"src_end":609,"src_start":396},{"artifact":0,"gen_end":32426,"gen_start":29652,"node":3,"role":"declaration","source":0,"src_end":838,"src_start":611},{"artifact":0,"gen_end":33071,"gen_start":32426,"node":4,"role":"declaration","source":0,"src_end":1051,"src_start":840},{"artifact":0,"gen_end":33681,"gen_start":33071,"node":5,"role":"declaration","source":0,"src_end":1293,"src_start":1053},{"artifact":0,"gen_end":33901,"gen_start":33681,"node":6,"role":"declaration","source":0,"src_end":1462,"src_start":1295},{"artifact":0,"gen_end":34039,"gen_start":33901,"node":7,"role":"declaration","source":0,"src_end":1607,"src_start":1464},{"artifact":0,"gen_end":34181,"gen_start":34039,"node":8,"role":"declaration","source":0,"src_end":1778,"src_start":1609},{"artifact":0,"gen_end":34679,"gen_start":34181,"node":9,"role":"declaration","source":0,"src_end":2049,"src_start":1780},{"artifact":0,"gen_end":35180,"gen_start":34679,"node":10,"role":"declaration","source":0,"src_end":2323,"src_start":2051},{"artifact":0,"gen_end":35564,"gen_start":35180,"node":11,"role":"declaration","source":0,"src_end":2667,"src_start":2325},{"artifact":0,"gen_end":35744,"gen_start":35564,"node":12,"role":"declaration","source":0,"src_end":2872,"src_start":2669},{"artifact":0,"gen_end":39653,"gen_start":35744,"node":13,"role":"declaration","source":0,"src_end":3471,"src_start":2874},{"artifact":0,"gen_end":40003,"gen_start":39653,"node":14,"role":"declaration","source":0,"src_end":4240,"src_start":3473},{"artifact":0,"gen_end":40342,"gen_start":40003,"node":15,"role":"declaration","source":0,"src_end":5002,"src_start":4242},{"artifact":0,"gen_end":41794,"gen_start":40342,"node":16,"role":"declaration","source":0,"src_end":6574,"src_start":5004},{"artifact":0,"gen_end":41902,"gen_start":41794,"node":17,"role":"declaration","source":0,"src_end":6723,"src_start":6576},{"artifact":0,"gen_end":42361,"gen_start":41902,"node":18,"role":"declaration","source":0,"src_end":6963,"src_start":6725},{"artifact":0,"gen_end":42699,"gen_start":42361,"node":19,"role":"declaration","source":0,"src_end":7315,"src_start":6965},{"artifact":0,"gen_end":43245,"gen_start":42699,"node":20,"role":"declaration","source":0,"src_end":7800,"src_start":7317},{"artifact":0,"gen_end":43356,"gen_start":43245,"node":21,"role":"declaration","source":0,"src_end":7961,"src_start":7802},{"artifact":0,"gen_end":43470,"gen_start":43356,"node":22,"role":"declaration","source":0,"src_end":8086,"src_start":7963},{"artifact":0,"gen_end":43599,"gen_start":43470,"node":23,"role":"declaration","source":0,"src_end":8254,"src_start":8088},{"artifact":0,"gen_end":43622,"gen_start":43599,"node":0,"role":"declaration","source":0,"src_end":8290,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":24,"role":"declaration","source":0,"src_end":8290,"src_start":0},{"artifact":1,"gen_end":857,"gen_start":134,"node":25,"role":"declaration","source":0,"src_end":394,"src_start":169},{"artifact":1,"gen_end":1552,"gen_start":857,"node":26,"role":"declaration","source":0,"src_end":609,"src_start":396},{"artifact":1,"gen_end":2277,"gen_start":1552,"node":27,"role":"declaration","source":0,"src_end":838,"src_start":611},{"artifact":1,"gen_end":2972,"gen_start":2277,"node":28,"role":"declaration","source":0,"src_end":1051,"src_start":840},{"artifact":1,"gen_end":3687,"gen_start":2972,"node":29,"role":"declaration","source":0,"src_end":1293,"src_start":1053},{"artifact":1,"gen_end":4306,"gen_start":3687,"node":30,"role":"declaration","source":0,"src_end":1462,"src_start":1295},{"artifact":1,"gen_end":4615,"gen_start":4306,"node":31,"role":"declaration","source":0,"src_end":1607,"src_start":1464},{"artifact":1,"gen_end":5004,"gen_start":4615,"node":32,"role":"declaration","source":0,"src_end":1778,"src_start":1609},{"artifact":1,"gen_end":5332,"gen_start":5004,"node":33,"role":"declaration","source":0,"src_end":2049,"src_start":1780},{"artifact":1,"gen_end":5663,"gen_start":5332,"node":34,"role":"declaration","source":0,"src_end":2323,"src_start":2051},{"artifact":1,"gen_end":6806,"gen_start":5663,"node":35,"role":"declaration","source":0,"src_end":2667,"src_start":2325},{"artifact":1,"gen_end":7096,"gen_start":6806,"node":36,"role":"declaration","source":0,"src_end":2872,"src_start":2669},{"artifact":1,"gen_end":12171,"gen_start":7096,"node":37,"role":"declaration","source":0,"src_end":3471,"src_start":2874},{"artifact":1,"gen_end":12456,"gen_start":12171,"node":38,"role":"declaration","source":0,"src_end":4240,"src_start":3473},{"artifact":1,"gen_end":12730,"gen_start":12456,"node":39,"role":"declaration","source":0,"src_end":5002,"src_start":4242},{"artifact":1,"gen_end":14328,"gen_start":12730,"node":40,"role":"declaration","source":0,"src_end":6574,"src_start":5004},{"artifact":1,"gen_end":14683,"gen_start":14328,"node":41,"role":"declaration","source":0,"src_end":6723,"src_start":6576},{"artifact":1,"gen_end":14990,"gen_start":14683,"node":42,"role":"declaration","source":0,"src_end":6963,"src_start":6725},{"artifact":1,"gen_end":15497,"gen_start":14990,"node":43,"role":"declaration","source":0,"src_end":7315,"src_start":6965},{"artifact":1,"gen_end":17615,"gen_start":15497,"node":44,"role":"declaration","source":0,"src_end":7800,"src_start":7317},{"artifact":1,"gen_end":18043,"gen_start":17615,"node":45,"role":"declaration","source":0,"src_end":7961,"src_start":7802},{"artifact":1,"gen_end":18477,"gen_start":18043,"node":46,"role":"declaration","source":0,"src_end":8086,"src_start":7963},{"artifact":1,"gen_end":18853,"gen_start":18477,"node":47,"role":"declaration","source":0,"src_end":8254,"src_start":8088},{"artifact":1,"gen_end":18868,"gen_start":18853,"node":24,"role":"declaration","source":0,"src_end":8290,"src_start":0}],"module":"Recognizer","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-latex-module"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"}],"semantic_id":"cca462bfe8cabc3365338af96b591362dcf03d5c3f800480f198d57a49534986","source_id":"25244652b5befe5ab8ab5cd51823b0acb53ae95907fa11232bf63b2510832f86","sources":[{"id":0,"kind":"file","path":"src/Recognizer.lex.tex","sha256":"28bd37cb2876ff04da7a9efddf50a52d3019c64910aca2b806b4b6181e84b04b"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Models/Recognizer.lean"},{"id":1,"kind":"tex","path":"modules/Models/Recognizer.tex"}],"mappings":[{"artifact":0,"gen_end":343,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":8290,"src_start":0},{"artifact":0,"gen_end":2532,"gen_start":343,"node":1,"role":"declaration","source":0,"src_end":394,"src_start":169},{"artifact":0,"gen_end":3159,"gen_start":2532,"node":2,"role":"declaration","source":0,"src_end":609,"src_start":396},{"artifact":0,"gen_end":5933,"gen_start":3159,"node":3,"role":"declaration","source":0,"src_end":838,"src_start":611},{"artifact":0,"gen_end":6578,"gen_start":5933,"node":4,"role":"declaration","source":0,"src_end":1051,"src_start":840},{"artifact":0,"gen_end":7188,"gen_start":6578,"node":5,"role":"declaration","source":0,"src_end":1293,"src_start":1053},{"artifact":0,"gen_end":7408,"gen_start":7188,"node":6,"role":"declaration","source":0,"src_end":1462,"src_start":1295},{"artifact":0,"gen_end":7546,"gen_start":7408,"node":7,"role":"declaration","source":0,"src_end":1607,"src_start":1464},{"artifact":0,"gen_end":7688,"gen_start":7546,"node":8,"role":"declaration","source":0,"src_end":1778,"src_start":1609},{"artifact":0,"gen_end":8186,"gen_start":7688,"node":9,"role":"declaration","source":0,"src_end":2049,"src_start":1780},{"artifact":0,"gen_end":8687,"gen_start":8186,"node":10,"role":"declaration","source":0,"src_end":2323,"src_start":2051},{"artifact":0,"gen_end":9071,"gen_start":8687,"node":11,"role":"declaration","source":0,"src_end":2667,"src_start":2325},{"artifact":0,"gen_end":9251,"gen_start":9071,"node":12,"role":"declaration","source":0,"src_end":2872,"src_start":2669},{"artifact":0,"gen_end":13160,"gen_start":9251,"node":13,"role":"declaration","source":0,"src_end":3471,"src_start":2874},{"artifact":0,"gen_end":13510,"gen_start":13160,"node":14,"role":"declaration","source":0,"src_end":4240,"src_start":3473},{"artifact":0,"gen_end":13849,"gen_start":13510,"node":15,"role":"declaration","source":0,"src_end":5002,"src_start":4242},{"artifact":0,"gen_end":15301,"gen_start":13849,"node":16,"role":"declaration","source":0,"src_end":6574,"src_start":5004},{"artifact":0,"gen_end":15409,"gen_start":15301,"node":17,"role":"declaration","source":0,"src_end":6723,"src_start":6576},{"artifact":0,"gen_end":15868,"gen_start":15409,"node":18,"role":"declaration","source":0,"src_end":6963,"src_start":6725},{"artifact":0,"gen_end":16206,"gen_start":15868,"node":19,"role":"declaration","source":0,"src_end":7315,"src_start":6965},{"artifact":0,"gen_end":16752,"gen_start":16206,"node":20,"role":"declaration","source":0,"src_end":7800,"src_start":7317},{"artifact":0,"gen_end":16863,"gen_start":16752,"node":21,"role":"declaration","source":0,"src_end":7961,"src_start":7802},{"artifact":0,"gen_end":16977,"gen_start":16863,"node":22,"role":"declaration","source":0,"src_end":8086,"src_start":7963},{"artifact":0,"gen_end":17106,"gen_start":16977,"node":23,"role":"declaration","source":0,"src_end":8254,"src_start":8088},{"artifact":0,"gen_end":17129,"gen_start":17106,"node":0,"role":"declaration","source":0,"src_end":8290,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":24,"role":"declaration","source":0,"src_end":8290,"src_start":0},{"artifact":1,"gen_end":857,"gen_start":134,"node":25,"role":"declaration","source":0,"src_end":394,"src_start":169},{"artifact":1,"gen_end":1552,"gen_start":857,"node":26,"role":"declaration","source":0,"src_end":609,"src_start":396},{"artifact":1,"gen_end":2277,"gen_start":1552,"node":27,"role":"declaration","source":0,"src_end":838,"src_start":611},{"artifact":1,"gen_end":2972,"gen_start":2277,"node":28,"role":"declaration","source":0,"src_end":1051,"src_start":840},{"artifact":1,"gen_end":3687,"gen_start":2972,"node":29,"role":"declaration","source":0,"src_end":1293,"src_start":1053},{"artifact":1,"gen_end":4306,"gen_start":3687,"node":30,"role":"declaration","source":0,"src_end":1462,"src_start":1295},{"artifact":1,"gen_end":4615,"gen_start":4306,"node":31,"role":"declaration","source":0,"src_end":1607,"src_start":1464},{"artifact":1,"gen_end":5004,"gen_start":4615,"node":32,"role":"declaration","source":0,"src_end":1778,"src_start":1609},{"artifact":1,"gen_end":5332,"gen_start":5004,"node":33,"role":"declaration","source":0,"src_end":2049,"src_start":1780},{"artifact":1,"gen_end":5663,"gen_start":5332,"node":34,"role":"declaration","source":0,"src_end":2323,"src_start":2051},{"artifact":1,"gen_end":6806,"gen_start":5663,"node":35,"role":"declaration","source":0,"src_end":2667,"src_start":2325},{"artifact":1,"gen_end":7096,"gen_start":6806,"node":36,"role":"declaration","source":0,"src_end":2872,"src_start":2669},{"artifact":1,"gen_end":12171,"gen_start":7096,"node":37,"role":"declaration","source":0,"src_end":3471,"src_start":2874},{"artifact":1,"gen_end":12456,"gen_start":12171,"node":38,"role":"declaration","source":0,"src_end":4240,"src_start":3473},{"artifact":1,"gen_end":12730,"gen_start":12456,"node":39,"role":"declaration","source":0,"src_end":5002,"src_start":4242},{"artifact":1,"gen_end":14328,"gen_start":12730,"node":40,"role":"declaration","source":0,"src_end":6574,"src_start":5004},{"artifact":1,"gen_end":14683,"gen_start":14328,"node":41,"role":"declaration","source":0,"src_end":6723,"src_start":6576},{"artifact":1,"gen_end":14990,"gen_start":14683,"node":42,"role":"declaration","source":0,"src_end":6963,"src_start":6725},{"artifact":1,"gen_end":15497,"gen_start":14990,"node":43,"role":"declaration","source":0,"src_end":7315,"src_start":6965},{"artifact":1,"gen_end":17615,"gen_start":15497,"node":44,"role":"declaration","source":0,"src_end":7800,"src_start":7317},{"artifact":1,"gen_end":18043,"gen_start":17615,"node":45,"role":"declaration","source":0,"src_end":7961,"src_start":7802},{"artifact":1,"gen_end":18477,"gen_start":18043,"node":46,"role":"declaration","source":0,"src_end":8086,"src_start":7963},{"artifact":1,"gen_end":18853,"gen_start":18477,"node":47,"role":"declaration","source":0,"src_end":8254,"src_start":8088},{"artifact":1,"gen_end":18868,"gen_start":18853,"node":24,"role":"declaration","source":0,"src_end":8290,"src_start":0}],"module":"Recognizer","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-latex-module"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"}],"semantic_id":"0f600e9a78a6f4d72a3e289fa7bc71d474efc59645edcbd5ea3f2ccccc9bd884","source_id":"243d95f6a90f4465e9458068e3c5e881fdaa886952236ea3baae48629b473495","sources":[{"id":0,"kind":"file","path":"src/Recognizer.lex.tex","sha256":"28bd37cb2876ff04da7a9efddf50a52d3019c64910aca2b806b4b6181e84b04b"}],"spec":"lexlean/source-map/1"} diff --git a/examples/models/expected/build/maps/Models/Session.map.json b/examples/models/expected/build/maps/Models/Session.map.json index 094894e7e..d9e70f57c 100644 --- a/examples/models/expected/build/maps/Models/Session.map.json +++ b/examples/models/expected/build/maps/Models/Session.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/Models/Session.lean"},{"id":1,"kind":"tex","path":"modules/Models/Session.tex"}],"mappings":[{"artifact":0,"gen_end":18789,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":3686,"src_start":0},{"artifact":0,"gen_end":18847,"gen_start":18789,"node":1,"role":"declaration","source":0,"src_end":273,"src_start":142},{"artifact":0,"gen_end":18946,"gen_start":18847,"node":2,"role":"declaration","source":0,"src_end":390,"src_start":275},{"artifact":0,"gen_end":19048,"gen_start":18946,"node":3,"role":"declaration","source":0,"src_end":533,"src_start":392},{"artifact":0,"gen_end":19533,"gen_start":19048,"node":4,"role":"declaration","source":0,"src_end":797,"src_start":535},{"artifact":0,"gen_end":19624,"gen_start":19533,"node":5,"role":"declaration","source":0,"src_end":916,"src_start":799},{"artifact":0,"gen_end":19718,"gen_start":19624,"node":6,"role":"declaration","source":0,"src_end":1061,"src_start":918},{"artifact":0,"gen_end":20161,"gen_start":19718,"node":7,"role":"declaration","source":0,"src_end":1288,"src_start":1063},{"artifact":0,"gen_end":20336,"gen_start":20161,"node":8,"role":"declaration","source":0,"src_end":1496,"src_start":1290},{"artifact":0,"gen_end":20683,"gen_start":20336,"node":9,"role":"declaration","source":0,"src_end":1950,"src_start":1498},{"artifact":0,"gen_end":21174,"gen_start":20683,"node":10,"role":"declaration","source":0,"src_end":2399,"src_start":1952},{"artifact":0,"gen_end":21253,"gen_start":21174,"node":11,"role":"declaration","source":0,"src_end":2518,"src_start":2401},{"artifact":0,"gen_end":21761,"gen_start":21253,"node":12,"role":"declaration","source":0,"src_end":2821,"src_start":2520},{"artifact":0,"gen_end":22332,"gen_start":21761,"node":13,"role":"declaration","source":0,"src_end":3184,"src_start":2823},{"artifact":0,"gen_end":22933,"gen_start":22332,"node":14,"role":"declaration","source":0,"src_end":3501,"src_start":3186},{"artifact":0,"gen_end":23211,"gen_start":22933,"node":15,"role":"declaration","source":0,"src_end":3650,"src_start":3503},{"artifact":0,"gen_end":23231,"gen_start":23211,"node":0,"role":"declaration","source":0,"src_end":3686,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":16,"role":"declaration","source":0,"src_end":3686,"src_start":0},{"artifact":1,"gen_end":303,"gen_start":134,"node":17,"role":"declaration","source":0,"src_end":273,"src_start":142},{"artifact":1,"gen_end":572,"gen_start":303,"node":18,"role":"declaration","source":0,"src_end":390,"src_start":275},{"artifact":1,"gen_end":920,"gen_start":572,"node":19,"role":"declaration","source":0,"src_end":533,"src_start":392},{"artifact":1,"gen_end":1235,"gen_start":920,"node":20,"role":"declaration","source":0,"src_end":797,"src_start":535},{"artifact":1,"gen_end":1497,"gen_start":1235,"node":21,"role":"declaration","source":0,"src_end":916,"src_start":799},{"artifact":1,"gen_end":1838,"gen_start":1497,"node":22,"role":"declaration","source":0,"src_end":1061,"src_start":918},{"artifact":1,"gen_end":2117,"gen_start":1838,"node":23,"role":"declaration","source":0,"src_end":1288,"src_start":1063},{"artifact":1,"gen_end":2463,"gen_start":2117,"node":24,"role":"declaration","source":0,"src_end":1496,"src_start":1290},{"artifact":1,"gen_end":3721,"gen_start":2463,"node":25,"role":"declaration","source":0,"src_end":1950,"src_start":1498},{"artifact":1,"gen_end":4778,"gen_start":3721,"node":26,"role":"declaration","source":0,"src_end":2399,"src_start":1952},{"artifact":1,"gen_end":4964,"gen_start":4778,"node":27,"role":"declaration","source":0,"src_end":2518,"src_start":2401},{"artifact":1,"gen_end":5308,"gen_start":4964,"node":28,"role":"declaration","source":0,"src_end":2821,"src_start":2520},{"artifact":1,"gen_end":5704,"gen_start":5308,"node":29,"role":"declaration","source":0,"src_end":3184,"src_start":2823},{"artifact":1,"gen_end":7335,"gen_start":5704,"node":30,"role":"declaration","source":0,"src_end":3501,"src_start":3186},{"artifact":1,"gen_end":7919,"gen_start":7335,"node":31,"role":"declaration","source":0,"src_end":3650,"src_start":3503},{"artifact":1,"gen_end":7934,"gen_start":7919,"node":16,"role":"declaration","source":0,"src_end":3686,"src_start":0}],"module":"Session","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-latex-module"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"}],"semantic_id":"cca462bfe8cabc3365338af96b591362dcf03d5c3f800480f198d57a49534986","source_id":"25244652b5befe5ab8ab5cd51823b0acb53ae95907fa11232bf63b2510832f86","sources":[{"id":0,"kind":"file","path":"src/Session.lex.tex","sha256":"0077c43c5251814a8329dc387538b9d0aafb0780238f61ce60bb245e9a15bbb1"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Models/Session.lean"},{"id":1,"kind":"tex","path":"modules/Models/Session.tex"}],"mappings":[{"artifact":0,"gen_end":271,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":3686,"src_start":0},{"artifact":0,"gen_end":329,"gen_start":271,"node":1,"role":"declaration","source":0,"src_end":273,"src_start":142},{"artifact":0,"gen_end":428,"gen_start":329,"node":2,"role":"declaration","source":0,"src_end":390,"src_start":275},{"artifact":0,"gen_end":530,"gen_start":428,"node":3,"role":"declaration","source":0,"src_end":533,"src_start":392},{"artifact":0,"gen_end":1015,"gen_start":530,"node":4,"role":"declaration","source":0,"src_end":797,"src_start":535},{"artifact":0,"gen_end":1106,"gen_start":1015,"node":5,"role":"declaration","source":0,"src_end":916,"src_start":799},{"artifact":0,"gen_end":1200,"gen_start":1106,"node":6,"role":"declaration","source":0,"src_end":1061,"src_start":918},{"artifact":0,"gen_end":1643,"gen_start":1200,"node":7,"role":"declaration","source":0,"src_end":1288,"src_start":1063},{"artifact":0,"gen_end":1818,"gen_start":1643,"node":8,"role":"declaration","source":0,"src_end":1496,"src_start":1290},{"artifact":0,"gen_end":2165,"gen_start":1818,"node":9,"role":"declaration","source":0,"src_end":1950,"src_start":1498},{"artifact":0,"gen_end":2656,"gen_start":2165,"node":10,"role":"declaration","source":0,"src_end":2399,"src_start":1952},{"artifact":0,"gen_end":2735,"gen_start":2656,"node":11,"role":"declaration","source":0,"src_end":2518,"src_start":2401},{"artifact":0,"gen_end":3243,"gen_start":2735,"node":12,"role":"declaration","source":0,"src_end":2821,"src_start":2520},{"artifact":0,"gen_end":3814,"gen_start":3243,"node":13,"role":"declaration","source":0,"src_end":3184,"src_start":2823},{"artifact":0,"gen_end":4415,"gen_start":3814,"node":14,"role":"declaration","source":0,"src_end":3501,"src_start":3186},{"artifact":0,"gen_end":4693,"gen_start":4415,"node":15,"role":"declaration","source":0,"src_end":3650,"src_start":3503},{"artifact":0,"gen_end":4713,"gen_start":4693,"node":0,"role":"declaration","source":0,"src_end":3686,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":16,"role":"declaration","source":0,"src_end":3686,"src_start":0},{"artifact":1,"gen_end":303,"gen_start":134,"node":17,"role":"declaration","source":0,"src_end":273,"src_start":142},{"artifact":1,"gen_end":572,"gen_start":303,"node":18,"role":"declaration","source":0,"src_end":390,"src_start":275},{"artifact":1,"gen_end":920,"gen_start":572,"node":19,"role":"declaration","source":0,"src_end":533,"src_start":392},{"artifact":1,"gen_end":1235,"gen_start":920,"node":20,"role":"declaration","source":0,"src_end":797,"src_start":535},{"artifact":1,"gen_end":1497,"gen_start":1235,"node":21,"role":"declaration","source":0,"src_end":916,"src_start":799},{"artifact":1,"gen_end":1838,"gen_start":1497,"node":22,"role":"declaration","source":0,"src_end":1061,"src_start":918},{"artifact":1,"gen_end":2117,"gen_start":1838,"node":23,"role":"declaration","source":0,"src_end":1288,"src_start":1063},{"artifact":1,"gen_end":2463,"gen_start":2117,"node":24,"role":"declaration","source":0,"src_end":1496,"src_start":1290},{"artifact":1,"gen_end":3721,"gen_start":2463,"node":25,"role":"declaration","source":0,"src_end":1950,"src_start":1498},{"artifact":1,"gen_end":4778,"gen_start":3721,"node":26,"role":"declaration","source":0,"src_end":2399,"src_start":1952},{"artifact":1,"gen_end":4964,"gen_start":4778,"node":27,"role":"declaration","source":0,"src_end":2518,"src_start":2401},{"artifact":1,"gen_end":5308,"gen_start":4964,"node":28,"role":"declaration","source":0,"src_end":2821,"src_start":2520},{"artifact":1,"gen_end":5704,"gen_start":5308,"node":29,"role":"declaration","source":0,"src_end":3184,"src_start":2823},{"artifact":1,"gen_end":7335,"gen_start":5704,"node":30,"role":"declaration","source":0,"src_end":3501,"src_start":3186},{"artifact":1,"gen_end":7919,"gen_start":7335,"node":31,"role":"declaration","source":0,"src_end":3650,"src_start":3503},{"artifact":1,"gen_end":7934,"gen_start":7919,"node":16,"role":"declaration","source":0,"src_end":3686,"src_start":0}],"module":"Session","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-latex-module"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"}],"semantic_id":"0f600e9a78a6f4d72a3e289fa7bc71d474efc59645edcbd5ea3f2ccccc9bd884","source_id":"243d95f6a90f4465e9458068e3c5e881fdaa886952236ea3baae48629b473495","sources":[{"id":0,"kind":"file","path":"src/Session.lex.tex","sha256":"0077c43c5251814a8329dc387538b9d0aafb0780238f61ce60bb245e9a15bbb1"}],"spec":"lexlean/source-map/1"} diff --git a/examples/models/expected/build/maps/Models/Triage.map.json b/examples/models/expected/build/maps/Models/Triage.map.json index e3d41eec1..17742f1ec 100644 --- a/examples/models/expected/build/maps/Models/Triage.map.json +++ b/examples/models/expected/build/maps/Models/Triage.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/Models/Triage.lean"},{"id":1,"kind":"tex","path":"modules/Models/Triage.tex"}],"mappings":[{"artifact":0,"gen_end":26804,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":6766,"src_start":0},{"artifact":0,"gen_end":26897,"gen_start":26804,"node":1,"role":"declaration","source":0,"src_end":460,"src_start":140},{"artifact":0,"gen_end":26964,"gen_start":26897,"node":2,"role":"declaration","source":0,"src_end":651,"src_start":462},{"artifact":0,"gen_end":27739,"gen_start":26964,"node":3,"role":"declaration","source":0,"src_end":1488,"src_start":653},{"artifact":0,"gen_end":28047,"gen_start":27739,"node":4,"role":"declaration","source":0,"src_end":1874,"src_start":1490},{"artifact":0,"gen_end":28360,"gen_start":28047,"node":5,"role":"declaration","source":0,"src_end":2265,"src_start":1876},{"artifact":0,"gen_end":28514,"gen_start":28360,"node":6,"role":"declaration","source":0,"src_end":2465,"src_start":2267},{"artifact":0,"gen_end":28666,"gen_start":28514,"node":7,"role":"declaration","source":0,"src_end":2663,"src_start":2467},{"artifact":0,"gen_end":28786,"gen_start":28666,"node":8,"role":"declaration","source":0,"src_end":2803,"src_start":2665},{"artifact":0,"gen_end":28891,"gen_start":28786,"node":9,"role":"declaration","source":0,"src_end":2959,"src_start":2805},{"artifact":0,"gen_end":29236,"gen_start":28891,"node":10,"role":"declaration","source":0,"src_end":3646,"src_start":2961},{"artifact":0,"gen_end":29401,"gen_start":29236,"node":11,"role":"declaration","source":0,"src_end":3830,"src_start":3648},{"artifact":0,"gen_end":30055,"gen_start":29401,"node":12,"role":"declaration","source":0,"src_end":4057,"src_start":3832},{"artifact":0,"gen_end":30407,"gen_start":30055,"node":13,"role":"declaration","source":0,"src_end":4270,"src_start":4059},{"artifact":0,"gen_end":30586,"gen_start":30407,"node":14,"role":"declaration","source":0,"src_end":4559,"src_start":4272},{"artifact":0,"gen_end":30885,"gen_start":30586,"node":15,"role":"declaration","source":0,"src_end":5252,"src_start":4561},{"artifact":0,"gen_end":32997,"gen_start":30885,"node":16,"role":"declaration","source":0,"src_end":5674,"src_start":5254},{"artifact":0,"gen_end":33338,"gen_start":32997,"node":17,"role":"declaration","source":0,"src_end":6376,"src_start":5676},{"artifact":0,"gen_end":33519,"gen_start":33338,"node":18,"role":"declaration","source":0,"src_end":6563,"src_start":6378},{"artifact":0,"gen_end":33653,"gen_start":33519,"node":19,"role":"declaration","source":0,"src_end":6730,"src_start":6565},{"artifact":0,"gen_end":33672,"gen_start":33653,"node":0,"role":"declaration","source":0,"src_end":6766,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":20,"role":"declaration","source":0,"src_end":6766,"src_start":0},{"artifact":1,"gen_end":626,"gen_start":134,"node":21,"role":"declaration","source":0,"src_end":460,"src_start":140},{"artifact":1,"gen_end":867,"gen_start":626,"node":22,"role":"declaration","source":0,"src_end":651,"src_start":462},{"artifact":1,"gen_end":1889,"gen_start":867,"node":23,"role":"declaration","source":0,"src_end":1488,"src_start":653},{"artifact":1,"gen_end":2444,"gen_start":1889,"node":24,"role":"declaration","source":0,"src_end":1874,"src_start":1490},{"artifact":1,"gen_end":3004,"gen_start":2444,"node":25,"role":"declaration","source":0,"src_end":2265,"src_start":1876},{"artifact":1,"gen_end":3405,"gen_start":3004,"node":26,"role":"declaration","source":0,"src_end":2465,"src_start":2267},{"artifact":1,"gen_end":3804,"gen_start":3405,"node":27,"role":"declaration","source":0,"src_end":2663,"src_start":2467},{"artifact":1,"gen_end":4095,"gen_start":3804,"node":28,"role":"declaration","source":0,"src_end":2803,"src_start":2665},{"artifact":1,"gen_end":4447,"gen_start":4095,"node":29,"role":"declaration","source":0,"src_end":2959,"src_start":2805},{"artifact":1,"gen_end":4751,"gen_start":4447,"node":30,"role":"declaration","source":0,"src_end":3646,"src_start":2961},{"artifact":1,"gen_end":5087,"gen_start":4751,"node":31,"role":"declaration","source":0,"src_end":3830,"src_start":3648},{"artifact":1,"gen_end":5810,"gen_start":5087,"node":32,"role":"declaration","source":0,"src_end":4057,"src_start":3832},{"artifact":1,"gen_end":6503,"gen_start":5810,"node":33,"role":"declaration","source":0,"src_end":4270,"src_start":4059},{"artifact":1,"gen_end":7268,"gen_start":6503,"node":34,"role":"declaration","source":0,"src_end":4559,"src_start":4272},{"artifact":1,"gen_end":7549,"gen_start":7268,"node":35,"role":"declaration","source":0,"src_end":5252,"src_start":4561},{"artifact":1,"gen_end":10368,"gen_start":7549,"node":36,"role":"declaration","source":0,"src_end":5674,"src_start":5254},{"artifact":1,"gen_end":10678,"gen_start":10368,"node":37,"role":"declaration","source":0,"src_end":6376,"src_start":5676},{"artifact":1,"gen_end":11359,"gen_start":10678,"node":38,"role":"declaration","source":0,"src_end":6563,"src_start":6378},{"artifact":1,"gen_end":11800,"gen_start":11359,"node":39,"role":"declaration","source":0,"src_end":6730,"src_start":6565},{"artifact":1,"gen_end":11815,"gen_start":11800,"node":20,"role":"declaration","source":0,"src_end":6766,"src_start":0}],"module":"Triage","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-latex-module"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"}],"semantic_id":"cca462bfe8cabc3365338af96b591362dcf03d5c3f800480f198d57a49534986","source_id":"25244652b5befe5ab8ab5cd51823b0acb53ae95907fa11232bf63b2510832f86","sources":[{"id":0,"kind":"file","path":"src/Triage.lex.tex","sha256":"61ce4693fcb18df340d1f0f9a9a0d29a73912cc4075bd20dcbda09508373808b"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Models/Triage.lean"},{"id":1,"kind":"tex","path":"modules/Models/Triage.tex"}],"mappings":[{"artifact":0,"gen_end":311,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":6766,"src_start":0},{"artifact":0,"gen_end":404,"gen_start":311,"node":1,"role":"declaration","source":0,"src_end":460,"src_start":140},{"artifact":0,"gen_end":471,"gen_start":404,"node":2,"role":"declaration","source":0,"src_end":651,"src_start":462},{"artifact":0,"gen_end":1246,"gen_start":471,"node":3,"role":"declaration","source":0,"src_end":1488,"src_start":653},{"artifact":0,"gen_end":1554,"gen_start":1246,"node":4,"role":"declaration","source":0,"src_end":1874,"src_start":1490},{"artifact":0,"gen_end":1867,"gen_start":1554,"node":5,"role":"declaration","source":0,"src_end":2265,"src_start":1876},{"artifact":0,"gen_end":2021,"gen_start":1867,"node":6,"role":"declaration","source":0,"src_end":2465,"src_start":2267},{"artifact":0,"gen_end":2173,"gen_start":2021,"node":7,"role":"declaration","source":0,"src_end":2663,"src_start":2467},{"artifact":0,"gen_end":2293,"gen_start":2173,"node":8,"role":"declaration","source":0,"src_end":2803,"src_start":2665},{"artifact":0,"gen_end":2398,"gen_start":2293,"node":9,"role":"declaration","source":0,"src_end":2959,"src_start":2805},{"artifact":0,"gen_end":2743,"gen_start":2398,"node":10,"role":"declaration","source":0,"src_end":3646,"src_start":2961},{"artifact":0,"gen_end":2908,"gen_start":2743,"node":11,"role":"declaration","source":0,"src_end":3830,"src_start":3648},{"artifact":0,"gen_end":3562,"gen_start":2908,"node":12,"role":"declaration","source":0,"src_end":4057,"src_start":3832},{"artifact":0,"gen_end":3914,"gen_start":3562,"node":13,"role":"declaration","source":0,"src_end":4270,"src_start":4059},{"artifact":0,"gen_end":4093,"gen_start":3914,"node":14,"role":"declaration","source":0,"src_end":4559,"src_start":4272},{"artifact":0,"gen_end":4392,"gen_start":4093,"node":15,"role":"declaration","source":0,"src_end":5252,"src_start":4561},{"artifact":0,"gen_end":6504,"gen_start":4392,"node":16,"role":"declaration","source":0,"src_end":5674,"src_start":5254},{"artifact":0,"gen_end":6845,"gen_start":6504,"node":17,"role":"declaration","source":0,"src_end":6376,"src_start":5676},{"artifact":0,"gen_end":7026,"gen_start":6845,"node":18,"role":"declaration","source":0,"src_end":6563,"src_start":6378},{"artifact":0,"gen_end":7160,"gen_start":7026,"node":19,"role":"declaration","source":0,"src_end":6730,"src_start":6565},{"artifact":0,"gen_end":7179,"gen_start":7160,"node":0,"role":"declaration","source":0,"src_end":6766,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":20,"role":"declaration","source":0,"src_end":6766,"src_start":0},{"artifact":1,"gen_end":626,"gen_start":134,"node":21,"role":"declaration","source":0,"src_end":460,"src_start":140},{"artifact":1,"gen_end":867,"gen_start":626,"node":22,"role":"declaration","source":0,"src_end":651,"src_start":462},{"artifact":1,"gen_end":1889,"gen_start":867,"node":23,"role":"declaration","source":0,"src_end":1488,"src_start":653},{"artifact":1,"gen_end":2444,"gen_start":1889,"node":24,"role":"declaration","source":0,"src_end":1874,"src_start":1490},{"artifact":1,"gen_end":3004,"gen_start":2444,"node":25,"role":"declaration","source":0,"src_end":2265,"src_start":1876},{"artifact":1,"gen_end":3405,"gen_start":3004,"node":26,"role":"declaration","source":0,"src_end":2465,"src_start":2267},{"artifact":1,"gen_end":3804,"gen_start":3405,"node":27,"role":"declaration","source":0,"src_end":2663,"src_start":2467},{"artifact":1,"gen_end":4095,"gen_start":3804,"node":28,"role":"declaration","source":0,"src_end":2803,"src_start":2665},{"artifact":1,"gen_end":4447,"gen_start":4095,"node":29,"role":"declaration","source":0,"src_end":2959,"src_start":2805},{"artifact":1,"gen_end":4751,"gen_start":4447,"node":30,"role":"declaration","source":0,"src_end":3646,"src_start":2961},{"artifact":1,"gen_end":5087,"gen_start":4751,"node":31,"role":"declaration","source":0,"src_end":3830,"src_start":3648},{"artifact":1,"gen_end":5810,"gen_start":5087,"node":32,"role":"declaration","source":0,"src_end":4057,"src_start":3832},{"artifact":1,"gen_end":6503,"gen_start":5810,"node":33,"role":"declaration","source":0,"src_end":4270,"src_start":4059},{"artifact":1,"gen_end":7268,"gen_start":6503,"node":34,"role":"declaration","source":0,"src_end":4559,"src_start":4272},{"artifact":1,"gen_end":7549,"gen_start":7268,"node":35,"role":"declaration","source":0,"src_end":5252,"src_start":4561},{"artifact":1,"gen_end":10368,"gen_start":7549,"node":36,"role":"declaration","source":0,"src_end":5674,"src_start":5254},{"artifact":1,"gen_end":10678,"gen_start":10368,"node":37,"role":"declaration","source":0,"src_end":6376,"src_start":5676},{"artifact":1,"gen_end":11359,"gen_start":10678,"node":38,"role":"declaration","source":0,"src_end":6563,"src_start":6378},{"artifact":1,"gen_end":11800,"gen_start":11359,"node":39,"role":"declaration","source":0,"src_end":6730,"src_start":6565},{"artifact":1,"gen_end":11815,"gen_start":11800,"node":20,"role":"declaration","source":0,"src_end":6766,"src_start":0}],"module":"Triage","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-latex-module"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"}],"semantic_id":"0f600e9a78a6f4d72a3e289fa7bc71d474efc59645edcbd5ea3f2ccccc9bd884","source_id":"243d95f6a90f4465e9458068e3c5e881fdaa886952236ea3baae48629b473495","sources":[{"id":0,"kind":"file","path":"src/Triage.lex.tex","sha256":"61ce4693fcb18df340d1f0f9a9a0d29a73912cc4075bd20dcbda09508373808b"}],"spec":"lexlean/source-map/1"} diff --git a/examples/models/expected/build/modules/Models/Flows.lean b/examples/models/expected/build/modules/Models/Flows.lean index ac8704a49..623dc95fa 100644 --- a/examples/models/expected/build/modules/Models/Flows.lean +++ b/examples/models/expected/build/modules/Models/Flows.lean @@ -1,5 +1,8 @@ module public import Init +public import LexLeanRuntime.Portable +public import LexLeanRuntime.Collections +public import LexLeanRuntime.Models public import Models.Ledger set_option autoImplicit false set_option maxRecDepth 100000 @@ -7,503 +10,6 @@ set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace Models.Flows -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - -namespace LexLeanCollections - -public class Key (α : Type) where - compare : α -> α -> Ordering - -@[expose] public def compareCodes : List Char -> List Char -> Ordering - | [], [] => .eq - | [], _ :: _ => .lt - | _ :: _, [] => .gt - | left :: lefts, right :: rights => - match Ord.compare left.val.toNat right.val.toNat with - | .eq => compareCodes lefts rights - | other => other - -public instance : Key Nat where compare := Ord.compare -public instance : Key Int where compare := Ord.compare -public instance : Key Bool where compare := Ord.compare -public instance : Key Int8 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int16 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int32 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int64 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key UInt8 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt16 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt32 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt64 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key String where compare left right := compareCodes left.toList right.toList -public instance {α β : Type} [Key α] [Key β] : Key (Prod α β) where - compare left right := match Key.compare left.1 right.1 with - | .eq => Key.compare left.2 right.2 - | other => other - -@[expose] public def insertEntry {κ ν : Type} [Key κ] (key : κ) (value : ν) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [(key, value)] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (key, value) :: (other, stored) :: rest - | .eq => (key, value) :: rest - | .gt => (other, stored) :: insertEntry key value rest - -@[expose] public def removeEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (other, stored) :: rest - | .eq => rest - | .gt => (other, stored) :: removeEntry key rest - -@[expose] public def lookupEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> Option ν - | [] => none - | (other, stored) :: rest => match Key.compare key other with - | .lt => none - | .eq => some stored - | .gt => lookupEntry key rest - -@[expose] public def insertElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [key] - | other :: rest => match Key.compare key other with - | .lt => key :: other :: rest - | .eq => other :: rest - | .gt => other :: insertElement key rest - -@[expose] public def removeElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [] - | other :: rest => match Key.compare key other with - | .lt => other :: rest - | .eq => rest - | .gt => other :: removeElement key rest - -@[expose] public def containsElement {κ : Type} [Key κ] (key : κ) : List κ -> Bool - | [] => false - | other :: rest => match Key.compare key other with - | .lt => false - | .eq => true - | .gt => containsElement key rest - -@[expose] public def mapInsert {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) (value : ν) : List (Prod κ ν) := insertEntry key value map -@[expose] public def mapRemove {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : List (Prod κ ν) := removeEntry key map -@[expose] public def mapLookup {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Option ν := lookupEntry key map -@[expose] public def mapContains {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Bool := (lookupEntry key map).isSome -@[expose] public def mapSize {κ ν : Type} (map : List (Prod κ ν)) : Nat := map.length -@[expose] public def mapKeys {κ ν : Type} (map : List (Prod κ ν)) : List κ := map.map Prod.fst -@[expose] public def mapValues {κ ν : Type} (map : List (Prod κ ν)) : List ν := map.map Prod.snd -@[expose] public def mapEntries {κ ν : Type} (map : List (Prod κ ν)) : List (Prod κ ν) := map -@[expose] public def mapFold {κ ν β : Type} (step : β -> κ -> ν -> β) (initial : β) (map : List (Prod κ ν)) : β := - map.foldl (fun state entry => step state entry.1 entry.2) initial - -@[expose] public def setInsert {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := insertElement key set -@[expose] public def setRemove {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := removeElement key set -@[expose] public def setContains {κ : Type} [Key κ] (set : List κ) (key : κ) : Bool := containsElement key set -@[expose] public def setSize {κ : Type} (set : List κ) : Nat := set.length -@[expose] public def setElements {κ : Type} (set : List κ) : List κ := set -@[expose] public def setUnion {κ : Type} [Key κ] (left right : List κ) : List κ := right.foldl (fun acc key => insertElement key acc) left -@[expose] public def setIntersection {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => containsElement key right) -@[expose] public def setDifference {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => !containsElement key right) - -@[expose] public def graphSuccessors {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (node : κ) : List κ := - (lookupEntry node graph).getD [] - -@[expose] public def graphNodes {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : List κ := - graph.foldl (fun acc entry => entry.2.foldl (fun inner node => insertElement node inner) (insertElement entry.1 acc)) [] - -@[expose] public def reachableFrom {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> List κ - | 0, _, seen => seen - | Nat.succ fuel, frontier, seen => - let next := frontier.foldl (fun acc node => - (graphSuccessors graph node).foldl (fun acc2 succ => - if containsElement succ seen || containsElement succ acc2 then acc2 else insertElement succ acc2) acc) [] - match next with - | [] => seen - | _ => reachableFrom graph fuel next (next.foldl (fun acc key => insertElement key acc) seen) - -@[expose] public def graphReachable {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (start : κ) : List κ := - reachableFrom graph ((graphNodes graph).length + 1) [start] [start] - -@[expose] public def topological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> Option (List κ) - | 0, remaining, order => if remaining.isEmpty then some order.reverse else none - | Nat.succ fuel, remaining, order => - match remaining.filter (fun node => remaining.all (fun other => !containsElement node (graphSuccessors graph other))) with - | [] => if remaining.isEmpty then some order.reverse else none - | ready :: _ => topological graph fuel (removeElement ready remaining) (ready :: order) - -@[expose] public def graphTopological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Option (List κ) := - let nodes := graphNodes graph - topological graph (nodes.length + 1) nodes [] -@[expose] public def listFold {α σ : Type} (step : σ -> α -> σ) (initial : σ) (values : List α) : σ := - values.foldl step initial - -@[expose] public def setFold {κ σ : Type} (step : σ -> κ -> σ) (initial : σ) (set : List κ) : σ := - set.foldl step initial - -@[expose] public def iterate {σ : Type} (step : σ -> σ) : Nat -> σ -> σ - | 0, state => state - | Nat.succ count, state => iterate step count (step state) - -@[expose] public def iterateUntil {σ : Type} (step : σ -> Option σ) : Nat -> σ -> Prod σ Bool - | 0, state => (state, false) - | Nat.succ fuel, state => match step state with - | none => (state, true) - | some next => iterateUntil step fuel next - -@[expose] public def lessThan {κ : Type} [Key κ] (left right : κ) : Bool := - match Key.compare left right with - | .lt => true - | _ => false -end LexLeanCollections - -namespace LexLeanModels - -@[expose] public def Sound1 {α : Type} (v : α -> Bool) (p : α -> Prop) : Prop := - forall (a : α), v a = true -> p a -@[expose] public def Sound2 {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), v a b = true -> p a b -@[expose] public def Sound4 {α β γ δ : Type} (v : α -> β -> γ -> δ -> Bool) (p : α -> β -> γ -> δ -> Prop) : Prop := - forall (a : α) (b : β) (c : γ) (d : δ), v a b c d = true -> p a b c d -@[expose] public def Complete1 {α : Type} (v : α -> Bool) (p : α -> Prop) : Prop := - forall (a : α), p a -> v a = true -@[expose] public def Complete2 {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), p a b -> v a b = true -@[expose] public def Complete4 {α β γ δ : Type} (v : α -> β -> γ -> δ -> Bool) (p : α -> β -> γ -> δ -> Prop) : Prop := - forall (a : α) (b : β) (c : γ) (d : δ), p a b c d -> v a b c d = true - -@[expose] public def Satisfies {α β : Type} (p : α -> Prop) (q : α -> β -> Prop) (r : α -> β) : Prop := - forall (a : α), p a -> q a (r a) -@[expose] public def SatisfiesTotal {α β : Type} (q : α -> β -> Prop) (r : α -> β) : Prop := - forall (a : α), q a (r a) -@[expose] public def SatisfiesStep {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepNoInvariant {σ α β : Type} (p : σ -> α -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), p s a -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepNoPrecondition {σ α β : Type} (j : σ -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepTotal {σ α β : Type} (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), q s a (r s a).1 (r s a).2 -@[expose] public def Preserves {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> j (r s a).1 -@[expose] public def PreservesTotal {σ α β : Type} (j : σ -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> j (r s a).1 -@[expose] public def Initial {σ : Type} (j : σ -> Prop) (i : σ) : Prop := - j i -@[expose] public def Equivalent {α β : Type} (p : α -> Prop) (r f : α -> β) : Prop := - forall (a : α), p a -> r a = f a -@[expose] public def EquivalentTotal {α β : Type} (r f : α -> β) : Prop := - forall (a : α), r a = f a -@[expose] public def EquivalentStep {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> r s a = f s a -@[expose] public def EquivalentStepNoInvariant {σ α β : Type} (p : σ -> α -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), p s a -> r s a = f s a -@[expose] public def EquivalentStepNoPrecondition {σ α β : Type} (j : σ -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> r s a = f s a -@[expose] public def EquivalentStepTotal {σ α β : Type} (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), r s a = f s a -@[expose, reducible] public def Agreement {α β : Type} (r : α -> β) (cmp : β -> β -> Bool) (d : List (Prod α β)) (examples agreements : Nat) : Prop := - d.length = examples /\ d.foldl (fun c e => if cmp (r e.1) e.2 then c + 1 else c) 0 = agreements - -@[expose] public def inRange (width : Nat) (signed : Bool) (value : Int) : Bool := - if signed then - decide (-((2 : Int) ^ (8 * width - 1)) <= value) && decide (value < (2 : Int) ^ (8 * width - 1)) - else - decide (0 <= value) && decide (value < (2 : Int) ^ (8 * width)) -@[expose] public def encodeInt (width : Nat) (value : Int) : List Nat := - let unsigned := if value < 0 then value + (2 : Int) ^ (8 * width) else value - (List.range width).map (fun i => (unsigned.toNat / 256 ^ i) % 256) -@[expose] public def tensorMatches (width : Nat) (signed : Bool) (values : List Int) (bytes : ByteArray) : Bool := - values.all (inRange width signed) && values.flatMap (encodeInt width) == bytes.data.toList.map UInt8.toNat -@[expose] public def utf8Char (c : Char) : List Nat := - let n := c.toNat - if n < 128 then [n] - else if n < 2048 then [192 + n / 64, 128 + n % 64] - else if n < 65536 then [224 + n / 4096, 128 + (n / 64) % 64, 128 + n % 64] - else [240 + n / 262144, 128 + (n / 4096) % 64, 128 + (n / 64) % 64, 128 + n % 64] -@[expose] public def linesMatch (lines : List String) (bytes : ByteArray) : Bool := - lines.all (fun line => line.toList.all (fun c => c.toNat != 10 && c.toNat != 13)) && - lines.foldr (fun line rest => line.toList.foldr (fun c tail => utf8Char c ++ tail) [10] ++ rest) [] == - bytes.data.toList.map UInt8.toNat -end LexLeanModels - public theorem flow_capped_sound (s : Nat) : ((Models.Ledger.cappedCheck (s) = true) -> Models.Ledger.Capped (s)) := by exact Models.Ledger.capped_check_sound (s) diff --git a/examples/models/expected/build/modules/Models/Glyphs.lean b/examples/models/expected/build/modules/Models/Glyphs.lean index 622aacabf..a0ef5f252 100644 --- a/examples/models/expected/build/modules/Models/Glyphs.lean +++ b/examples/models/expected/build/modules/Models/Glyphs.lean @@ -1,294 +1,12 @@ module public import Init +public import LexLeanRuntime.Portable set_option autoImplicit false set_option maxRecDepth 100000 set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace Models.Glyphs -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - public inductive Glyph where | g0 | g1 diff --git a/examples/models/expected/build/modules/Models/Ledger.lean b/examples/models/expected/build/modules/Models/Ledger.lean index 43709474a..c9716e321 100644 --- a/examples/models/expected/build/modules/Models/Ledger.lean +++ b/examples/models/expected/build/modules/Models/Ledger.lean @@ -1,508 +1,14 @@ module public import Init +public import LexLeanRuntime.Portable +public import LexLeanRuntime.Collections +public import LexLeanRuntime.Models set_option autoImplicit false set_option maxRecDepth 100000 set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace Models.Ledger -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - -namespace LexLeanCollections - -public class Key (α : Type) where - compare : α -> α -> Ordering - -@[expose] public def compareCodes : List Char -> List Char -> Ordering - | [], [] => .eq - | [], _ :: _ => .lt - | _ :: _, [] => .gt - | left :: lefts, right :: rights => - match Ord.compare left.val.toNat right.val.toNat with - | .eq => compareCodes lefts rights - | other => other - -public instance : Key Nat where compare := Ord.compare -public instance : Key Int where compare := Ord.compare -public instance : Key Bool where compare := Ord.compare -public instance : Key Int8 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int16 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int32 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int64 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key UInt8 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt16 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt32 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt64 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key String where compare left right := compareCodes left.toList right.toList -public instance {α β : Type} [Key α] [Key β] : Key (Prod α β) where - compare left right := match Key.compare left.1 right.1 with - | .eq => Key.compare left.2 right.2 - | other => other - -@[expose] public def insertEntry {κ ν : Type} [Key κ] (key : κ) (value : ν) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [(key, value)] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (key, value) :: (other, stored) :: rest - | .eq => (key, value) :: rest - | .gt => (other, stored) :: insertEntry key value rest - -@[expose] public def removeEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (other, stored) :: rest - | .eq => rest - | .gt => (other, stored) :: removeEntry key rest - -@[expose] public def lookupEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> Option ν - | [] => none - | (other, stored) :: rest => match Key.compare key other with - | .lt => none - | .eq => some stored - | .gt => lookupEntry key rest - -@[expose] public def insertElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [key] - | other :: rest => match Key.compare key other with - | .lt => key :: other :: rest - | .eq => other :: rest - | .gt => other :: insertElement key rest - -@[expose] public def removeElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [] - | other :: rest => match Key.compare key other with - | .lt => other :: rest - | .eq => rest - | .gt => other :: removeElement key rest - -@[expose] public def containsElement {κ : Type} [Key κ] (key : κ) : List κ -> Bool - | [] => false - | other :: rest => match Key.compare key other with - | .lt => false - | .eq => true - | .gt => containsElement key rest - -@[expose] public def mapInsert {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) (value : ν) : List (Prod κ ν) := insertEntry key value map -@[expose] public def mapRemove {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : List (Prod κ ν) := removeEntry key map -@[expose] public def mapLookup {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Option ν := lookupEntry key map -@[expose] public def mapContains {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Bool := (lookupEntry key map).isSome -@[expose] public def mapSize {κ ν : Type} (map : List (Prod κ ν)) : Nat := map.length -@[expose] public def mapKeys {κ ν : Type} (map : List (Prod κ ν)) : List κ := map.map Prod.fst -@[expose] public def mapValues {κ ν : Type} (map : List (Prod κ ν)) : List ν := map.map Prod.snd -@[expose] public def mapEntries {κ ν : Type} (map : List (Prod κ ν)) : List (Prod κ ν) := map -@[expose] public def mapFold {κ ν β : Type} (step : β -> κ -> ν -> β) (initial : β) (map : List (Prod κ ν)) : β := - map.foldl (fun state entry => step state entry.1 entry.2) initial - -@[expose] public def setInsert {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := insertElement key set -@[expose] public def setRemove {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := removeElement key set -@[expose] public def setContains {κ : Type} [Key κ] (set : List κ) (key : κ) : Bool := containsElement key set -@[expose] public def setSize {κ : Type} (set : List κ) : Nat := set.length -@[expose] public def setElements {κ : Type} (set : List κ) : List κ := set -@[expose] public def setUnion {κ : Type} [Key κ] (left right : List κ) : List κ := right.foldl (fun acc key => insertElement key acc) left -@[expose] public def setIntersection {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => containsElement key right) -@[expose] public def setDifference {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => !containsElement key right) - -@[expose] public def graphSuccessors {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (node : κ) : List κ := - (lookupEntry node graph).getD [] - -@[expose] public def graphNodes {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : List κ := - graph.foldl (fun acc entry => entry.2.foldl (fun inner node => insertElement node inner) (insertElement entry.1 acc)) [] - -@[expose] public def reachableFrom {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> List κ - | 0, _, seen => seen - | Nat.succ fuel, frontier, seen => - let next := frontier.foldl (fun acc node => - (graphSuccessors graph node).foldl (fun acc2 succ => - if containsElement succ seen || containsElement succ acc2 then acc2 else insertElement succ acc2) acc) [] - match next with - | [] => seen - | _ => reachableFrom graph fuel next (next.foldl (fun acc key => insertElement key acc) seen) - -@[expose] public def graphReachable {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (start : κ) : List κ := - reachableFrom graph ((graphNodes graph).length + 1) [start] [start] - -@[expose] public def topological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> Option (List κ) - | 0, remaining, order => if remaining.isEmpty then some order.reverse else none - | Nat.succ fuel, remaining, order => - match remaining.filter (fun node => remaining.all (fun other => !containsElement node (graphSuccessors graph other))) with - | [] => if remaining.isEmpty then some order.reverse else none - | ready :: _ => topological graph fuel (removeElement ready remaining) (ready :: order) - -@[expose] public def graphTopological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Option (List κ) := - let nodes := graphNodes graph - topological graph (nodes.length + 1) nodes [] -@[expose] public def listFold {α σ : Type} (step : σ -> α -> σ) (initial : σ) (values : List α) : σ := - values.foldl step initial - -@[expose] public def setFold {κ σ : Type} (step : σ -> κ -> σ) (initial : σ) (set : List κ) : σ := - set.foldl step initial - -@[expose] public def iterate {σ : Type} (step : σ -> σ) : Nat -> σ -> σ - | 0, state => state - | Nat.succ count, state => iterate step count (step state) - -@[expose] public def iterateUntil {σ : Type} (step : σ -> Option σ) : Nat -> σ -> Prod σ Bool - | 0, state => (state, false) - | Nat.succ fuel, state => match step state with - | none => (state, true) - | some next => iterateUntil step fuel next - -@[expose] public def lessThan {κ : Type} [Key κ] (left right : κ) : Bool := - match Key.compare left right with - | .lt => true - | _ => false -end LexLeanCollections - -namespace LexLeanModels - -@[expose] public def Sound1 {α : Type} (v : α -> Bool) (p : α -> Prop) : Prop := - forall (a : α), v a = true -> p a -@[expose] public def Sound2 {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), v a b = true -> p a b -@[expose] public def Sound4 {α β γ δ : Type} (v : α -> β -> γ -> δ -> Bool) (p : α -> β -> γ -> δ -> Prop) : Prop := - forall (a : α) (b : β) (c : γ) (d : δ), v a b c d = true -> p a b c d -@[expose] public def Complete1 {α : Type} (v : α -> Bool) (p : α -> Prop) : Prop := - forall (a : α), p a -> v a = true -@[expose] public def Complete2 {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), p a b -> v a b = true -@[expose] public def Complete4 {α β γ δ : Type} (v : α -> β -> γ -> δ -> Bool) (p : α -> β -> γ -> δ -> Prop) : Prop := - forall (a : α) (b : β) (c : γ) (d : δ), p a b c d -> v a b c d = true - -@[expose] public def Satisfies {α β : Type} (p : α -> Prop) (q : α -> β -> Prop) (r : α -> β) : Prop := - forall (a : α), p a -> q a (r a) -@[expose] public def SatisfiesTotal {α β : Type} (q : α -> β -> Prop) (r : α -> β) : Prop := - forall (a : α), q a (r a) -@[expose] public def SatisfiesStep {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepNoInvariant {σ α β : Type} (p : σ -> α -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), p s a -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepNoPrecondition {σ α β : Type} (j : σ -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepTotal {σ α β : Type} (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), q s a (r s a).1 (r s a).2 -@[expose] public def Preserves {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> j (r s a).1 -@[expose] public def PreservesTotal {σ α β : Type} (j : σ -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> j (r s a).1 -@[expose] public def Initial {σ : Type} (j : σ -> Prop) (i : σ) : Prop := - j i -@[expose] public def Equivalent {α β : Type} (p : α -> Prop) (r f : α -> β) : Prop := - forall (a : α), p a -> r a = f a -@[expose] public def EquivalentTotal {α β : Type} (r f : α -> β) : Prop := - forall (a : α), r a = f a -@[expose] public def EquivalentStep {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> r s a = f s a -@[expose] public def EquivalentStepNoInvariant {σ α β : Type} (p : σ -> α -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), p s a -> r s a = f s a -@[expose] public def EquivalentStepNoPrecondition {σ α β : Type} (j : σ -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> r s a = f s a -@[expose] public def EquivalentStepTotal {σ α β : Type} (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), r s a = f s a -@[expose, reducible] public def Agreement {α β : Type} (r : α -> β) (cmp : β -> β -> Bool) (d : List (Prod α β)) (examples agreements : Nat) : Prop := - d.length = examples /\ d.foldl (fun c e => if cmp (r e.1) e.2 then c + 1 else c) 0 = agreements - -@[expose] public def inRange (width : Nat) (signed : Bool) (value : Int) : Bool := - if signed then - decide (-((2 : Int) ^ (8 * width - 1)) <= value) && decide (value < (2 : Int) ^ (8 * width - 1)) - else - decide (0 <= value) && decide (value < (2 : Int) ^ (8 * width)) -@[expose] public def encodeInt (width : Nat) (value : Int) : List Nat := - let unsigned := if value < 0 then value + (2 : Int) ^ (8 * width) else value - (List.range width).map (fun i => (unsigned.toNat / 256 ^ i) % 256) -@[expose] public def tensorMatches (width : Nat) (signed : Bool) (values : List Int) (bytes : ByteArray) : Bool := - values.all (inRange width signed) && values.flatMap (encodeInt width) == bytes.data.toList.map UInt8.toNat -@[expose] public def utf8Char (c : Char) : List Nat := - let n := c.toNat - if n < 128 then [n] - else if n < 2048 then [192 + n / 64, 128 + n % 64] - else if n < 65536 then [224 + n / 4096, 128 + (n / 64) % 64, 128 + n % 64] - else [240 + n / 262144, 128 + (n / 4096) % 64, 128 + (n / 64) % 64, 128 + n % 64] -@[expose] public def linesMatch (lines : List String) (bytes : ByteArray) : Bool := - lines.all (fun line => line.toList.all (fun c => c.toNat != 10 && c.toNat != 13)) && - lines.foldr (fun line rest => line.toList.foldr (fun c tail => utf8Char c ++ tail) [10] ++ rest) [] == - bytes.data.toList.map UInt8.toNat -end LexLeanModels - @[expose, reducible] public def Capped (s : Nat) : Prop := (s <= 100) @[expose] public def cappedCheck (s : Nat) : Bool := (Nat.ble (s) (100)) diff --git a/examples/models/expected/build/modules/Models/Main.lean b/examples/models/expected/build/modules/Models/Main.lean index e58e3080c..08289278b 100644 --- a/examples/models/expected/build/modules/Models/Main.lean +++ b/examples/models/expected/build/modules/Models/Main.lean @@ -1,5 +1,6 @@ module public import Init +public import LexLeanRuntime.Portable public import Models.Flows public import Models.Glyphs public import Models.Ledger @@ -13,289 +14,6 @@ set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace Models.Main -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - @[expose] public def classify (glyph : Models.Glyphs.Glyph) : Nat := Models.Recognizer.DigitModel (glyph) @[expose] public def classifyChecked (glyph : Models.Glyphs.Glyph) : Except ((Prod Bool Bool)) (Nat) := (let __checked1_input : Models.Glyphs.Glyph := glyph; (let __checked1_output : Nat := Models.Recognizer.RawDigitModel (__checked1_input); (if Models.Recognizer.recognizesCheck (__checked1_input) (__checked1_output) then Except.ok (__checked1_output) else Except.error (((true, false) : Prod Bool Bool))))) diff --git a/examples/models/expected/build/modules/Models/Pipeline.lean b/examples/models/expected/build/modules/Models/Pipeline.lean index ca4bf10f6..529fa2887 100644 --- a/examples/models/expected/build/modules/Models/Pipeline.lean +++ b/examples/models/expected/build/modules/Models/Pipeline.lean @@ -1,5 +1,8 @@ module public import Init +public import LexLeanRuntime.Portable +public import LexLeanRuntime.Collections +public import LexLeanRuntime.Models public import Models.Glyphs public import Models.Policy public import Models.Recognizer @@ -11,503 +14,6 @@ set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace Models.Pipeline -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - -namespace LexLeanCollections - -public class Key (α : Type) where - compare : α -> α -> Ordering - -@[expose] public def compareCodes : List Char -> List Char -> Ordering - | [], [] => .eq - | [], _ :: _ => .lt - | _ :: _, [] => .gt - | left :: lefts, right :: rights => - match Ord.compare left.val.toNat right.val.toNat with - | .eq => compareCodes lefts rights - | other => other - -public instance : Key Nat where compare := Ord.compare -public instance : Key Int where compare := Ord.compare -public instance : Key Bool where compare := Ord.compare -public instance : Key Int8 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int16 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int32 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int64 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key UInt8 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt16 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt32 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt64 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key String where compare left right := compareCodes left.toList right.toList -public instance {α β : Type} [Key α] [Key β] : Key (Prod α β) where - compare left right := match Key.compare left.1 right.1 with - | .eq => Key.compare left.2 right.2 - | other => other - -@[expose] public def insertEntry {κ ν : Type} [Key κ] (key : κ) (value : ν) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [(key, value)] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (key, value) :: (other, stored) :: rest - | .eq => (key, value) :: rest - | .gt => (other, stored) :: insertEntry key value rest - -@[expose] public def removeEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (other, stored) :: rest - | .eq => rest - | .gt => (other, stored) :: removeEntry key rest - -@[expose] public def lookupEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> Option ν - | [] => none - | (other, stored) :: rest => match Key.compare key other with - | .lt => none - | .eq => some stored - | .gt => lookupEntry key rest - -@[expose] public def insertElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [key] - | other :: rest => match Key.compare key other with - | .lt => key :: other :: rest - | .eq => other :: rest - | .gt => other :: insertElement key rest - -@[expose] public def removeElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [] - | other :: rest => match Key.compare key other with - | .lt => other :: rest - | .eq => rest - | .gt => other :: removeElement key rest - -@[expose] public def containsElement {κ : Type} [Key κ] (key : κ) : List κ -> Bool - | [] => false - | other :: rest => match Key.compare key other with - | .lt => false - | .eq => true - | .gt => containsElement key rest - -@[expose] public def mapInsert {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) (value : ν) : List (Prod κ ν) := insertEntry key value map -@[expose] public def mapRemove {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : List (Prod κ ν) := removeEntry key map -@[expose] public def mapLookup {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Option ν := lookupEntry key map -@[expose] public def mapContains {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Bool := (lookupEntry key map).isSome -@[expose] public def mapSize {κ ν : Type} (map : List (Prod κ ν)) : Nat := map.length -@[expose] public def mapKeys {κ ν : Type} (map : List (Prod κ ν)) : List κ := map.map Prod.fst -@[expose] public def mapValues {κ ν : Type} (map : List (Prod κ ν)) : List ν := map.map Prod.snd -@[expose] public def mapEntries {κ ν : Type} (map : List (Prod κ ν)) : List (Prod κ ν) := map -@[expose] public def mapFold {κ ν β : Type} (step : β -> κ -> ν -> β) (initial : β) (map : List (Prod κ ν)) : β := - map.foldl (fun state entry => step state entry.1 entry.2) initial - -@[expose] public def setInsert {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := insertElement key set -@[expose] public def setRemove {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := removeElement key set -@[expose] public def setContains {κ : Type} [Key κ] (set : List κ) (key : κ) : Bool := containsElement key set -@[expose] public def setSize {κ : Type} (set : List κ) : Nat := set.length -@[expose] public def setElements {κ : Type} (set : List κ) : List κ := set -@[expose] public def setUnion {κ : Type} [Key κ] (left right : List κ) : List κ := right.foldl (fun acc key => insertElement key acc) left -@[expose] public def setIntersection {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => containsElement key right) -@[expose] public def setDifference {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => !containsElement key right) - -@[expose] public def graphSuccessors {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (node : κ) : List κ := - (lookupEntry node graph).getD [] - -@[expose] public def graphNodes {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : List κ := - graph.foldl (fun acc entry => entry.2.foldl (fun inner node => insertElement node inner) (insertElement entry.1 acc)) [] - -@[expose] public def reachableFrom {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> List κ - | 0, _, seen => seen - | Nat.succ fuel, frontier, seen => - let next := frontier.foldl (fun acc node => - (graphSuccessors graph node).foldl (fun acc2 succ => - if containsElement succ seen || containsElement succ acc2 then acc2 else insertElement succ acc2) acc) [] - match next with - | [] => seen - | _ => reachableFrom graph fuel next (next.foldl (fun acc key => insertElement key acc) seen) - -@[expose] public def graphReachable {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (start : κ) : List κ := - reachableFrom graph ((graphNodes graph).length + 1) [start] [start] - -@[expose] public def topological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> Option (List κ) - | 0, remaining, order => if remaining.isEmpty then some order.reverse else none - | Nat.succ fuel, remaining, order => - match remaining.filter (fun node => remaining.all (fun other => !containsElement node (graphSuccessors graph other))) with - | [] => if remaining.isEmpty then some order.reverse else none - | ready :: _ => topological graph fuel (removeElement ready remaining) (ready :: order) - -@[expose] public def graphTopological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Option (List κ) := - let nodes := graphNodes graph - topological graph (nodes.length + 1) nodes [] -@[expose] public def listFold {α σ : Type} (step : σ -> α -> σ) (initial : σ) (values : List α) : σ := - values.foldl step initial - -@[expose] public def setFold {κ σ : Type} (step : σ -> κ -> σ) (initial : σ) (set : List κ) : σ := - set.foldl step initial - -@[expose] public def iterate {σ : Type} (step : σ -> σ) : Nat -> σ -> σ - | 0, state => state - | Nat.succ count, state => iterate step count (step state) - -@[expose] public def iterateUntil {σ : Type} (step : σ -> Option σ) : Nat -> σ -> Prod σ Bool - | 0, state => (state, false) - | Nat.succ fuel, state => match step state with - | none => (state, true) - | some next => iterateUntil step fuel next - -@[expose] public def lessThan {κ : Type} [Key κ] (left right : κ) : Bool := - match Key.compare left right with - | .lt => true - | _ => false -end LexLeanCollections - -namespace LexLeanModels - -@[expose] public def Sound1 {α : Type} (v : α -> Bool) (p : α -> Prop) : Prop := - forall (a : α), v a = true -> p a -@[expose] public def Sound2 {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), v a b = true -> p a b -@[expose] public def Sound4 {α β γ δ : Type} (v : α -> β -> γ -> δ -> Bool) (p : α -> β -> γ -> δ -> Prop) : Prop := - forall (a : α) (b : β) (c : γ) (d : δ), v a b c d = true -> p a b c d -@[expose] public def Complete1 {α : Type} (v : α -> Bool) (p : α -> Prop) : Prop := - forall (a : α), p a -> v a = true -@[expose] public def Complete2 {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), p a b -> v a b = true -@[expose] public def Complete4 {α β γ δ : Type} (v : α -> β -> γ -> δ -> Bool) (p : α -> β -> γ -> δ -> Prop) : Prop := - forall (a : α) (b : β) (c : γ) (d : δ), p a b c d -> v a b c d = true - -@[expose] public def Satisfies {α β : Type} (p : α -> Prop) (q : α -> β -> Prop) (r : α -> β) : Prop := - forall (a : α), p a -> q a (r a) -@[expose] public def SatisfiesTotal {α β : Type} (q : α -> β -> Prop) (r : α -> β) : Prop := - forall (a : α), q a (r a) -@[expose] public def SatisfiesStep {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepNoInvariant {σ α β : Type} (p : σ -> α -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), p s a -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepNoPrecondition {σ α β : Type} (j : σ -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepTotal {σ α β : Type} (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), q s a (r s a).1 (r s a).2 -@[expose] public def Preserves {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> j (r s a).1 -@[expose] public def PreservesTotal {σ α β : Type} (j : σ -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> j (r s a).1 -@[expose] public def Initial {σ : Type} (j : σ -> Prop) (i : σ) : Prop := - j i -@[expose] public def Equivalent {α β : Type} (p : α -> Prop) (r f : α -> β) : Prop := - forall (a : α), p a -> r a = f a -@[expose] public def EquivalentTotal {α β : Type} (r f : α -> β) : Prop := - forall (a : α), r a = f a -@[expose] public def EquivalentStep {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> r s a = f s a -@[expose] public def EquivalentStepNoInvariant {σ α β : Type} (p : σ -> α -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), p s a -> r s a = f s a -@[expose] public def EquivalentStepNoPrecondition {σ α β : Type} (j : σ -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> r s a = f s a -@[expose] public def EquivalentStepTotal {σ α β : Type} (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), r s a = f s a -@[expose, reducible] public def Agreement {α β : Type} (r : α -> β) (cmp : β -> β -> Bool) (d : List (Prod α β)) (examples agreements : Nat) : Prop := - d.length = examples /\ d.foldl (fun c e => if cmp (r e.1) e.2 then c + 1 else c) 0 = agreements - -@[expose] public def inRange (width : Nat) (signed : Bool) (value : Int) : Bool := - if signed then - decide (-((2 : Int) ^ (8 * width - 1)) <= value) && decide (value < (2 : Int) ^ (8 * width - 1)) - else - decide (0 <= value) && decide (value < (2 : Int) ^ (8 * width)) -@[expose] public def encodeInt (width : Nat) (value : Int) : List Nat := - let unsigned := if value < 0 then value + (2 : Int) ^ (8 * width) else value - (List.range width).map (fun i => (unsigned.toNat / 256 ^ i) % 256) -@[expose] public def tensorMatches (width : Nat) (signed : Bool) (values : List Int) (bytes : ByteArray) : Bool := - values.all (inRange width signed) && values.flatMap (encodeInt width) == bytes.data.toList.map UInt8.toNat -@[expose] public def utf8Char (c : Char) : List Nat := - let n := c.toNat - if n < 128 then [n] - else if n < 2048 then [192 + n / 64, 128 + n % 64] - else if n < 65536 then [224 + n / 4096, 128 + (n / 64) % 64, 128 + n % 64] - else [240 + n / 262144, 128 + (n / 4096) % 64, 128 + (n / 64) % 64, 128 + n % 64] -@[expose] public def linesMatch (lines : List String) (bytes : ByteArray) : Bool := - lines.all (fun line => line.toList.all (fun c => c.toNat != 10 && c.toNat != 13)) && - lines.foldr (fun line rest => line.toList.foldr (fun c tail => utf8Char c ++ tail) [10] ++ rest) [] == - bytes.data.toList.map UInt8.toNat -end LexLeanModels - @[expose, reducible] public def Responds (_presentation : Models.Triage.Presentation) (action : Nat) : Prop := (1 <= action) public theorem symptomatic_sound (presentation : Models.Triage.Presentation) : ((Models.Triage.symptomaticCheck (presentation) = true) -> Models.Triage.Symptomatic (presentation)) := by diff --git a/examples/models/expected/build/modules/Models/Policy.lean b/examples/models/expected/build/modules/Models/Policy.lean index 07f5ef9f7..b32b5f396 100644 --- a/examples/models/expected/build/modules/Models/Policy.lean +++ b/examples/models/expected/build/modules/Models/Policy.lean @@ -1,5 +1,6 @@ module public import Init +public import LexLeanRuntime.Models public import Models.Triage set_option autoImplicit false set_option maxRecDepth 100000 @@ -7,76 +8,6 @@ set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace Models.Policy -namespace LexLeanModels - -@[expose] public def Sound1 {α : Type} (v : α -> Bool) (p : α -> Prop) : Prop := - forall (a : α), v a = true -> p a -@[expose] public def Sound2 {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), v a b = true -> p a b -@[expose] public def Sound4 {α β γ δ : Type} (v : α -> β -> γ -> δ -> Bool) (p : α -> β -> γ -> δ -> Prop) : Prop := - forall (a : α) (b : β) (c : γ) (d : δ), v a b c d = true -> p a b c d -@[expose] public def Complete1 {α : Type} (v : α -> Bool) (p : α -> Prop) : Prop := - forall (a : α), p a -> v a = true -@[expose] public def Complete2 {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), p a b -> v a b = true -@[expose] public def Complete4 {α β γ δ : Type} (v : α -> β -> γ -> δ -> Bool) (p : α -> β -> γ -> δ -> Prop) : Prop := - forall (a : α) (b : β) (c : γ) (d : δ), p a b c d -> v a b c d = true - -@[expose] public def Satisfies {α β : Type} (p : α -> Prop) (q : α -> β -> Prop) (r : α -> β) : Prop := - forall (a : α), p a -> q a (r a) -@[expose] public def SatisfiesTotal {α β : Type} (q : α -> β -> Prop) (r : α -> β) : Prop := - forall (a : α), q a (r a) -@[expose] public def SatisfiesStep {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepNoInvariant {σ α β : Type} (p : σ -> α -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), p s a -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepNoPrecondition {σ α β : Type} (j : σ -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepTotal {σ α β : Type} (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), q s a (r s a).1 (r s a).2 -@[expose] public def Preserves {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> j (r s a).1 -@[expose] public def PreservesTotal {σ α β : Type} (j : σ -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> j (r s a).1 -@[expose] public def Initial {σ : Type} (j : σ -> Prop) (i : σ) : Prop := - j i -@[expose] public def Equivalent {α β : Type} (p : α -> Prop) (r f : α -> β) : Prop := - forall (a : α), p a -> r a = f a -@[expose] public def EquivalentTotal {α β : Type} (r f : α -> β) : Prop := - forall (a : α), r a = f a -@[expose] public def EquivalentStep {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> r s a = f s a -@[expose] public def EquivalentStepNoInvariant {σ α β : Type} (p : σ -> α -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), p s a -> r s a = f s a -@[expose] public def EquivalentStepNoPrecondition {σ α β : Type} (j : σ -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> r s a = f s a -@[expose] public def EquivalentStepTotal {σ α β : Type} (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), r s a = f s a -@[expose, reducible] public def Agreement {α β : Type} (r : α -> β) (cmp : β -> β -> Bool) (d : List (Prod α β)) (examples agreements : Nat) : Prop := - d.length = examples /\ d.foldl (fun c e => if cmp (r e.1) e.2 then c + 1 else c) 0 = agreements - -@[expose] public def inRange (width : Nat) (signed : Bool) (value : Int) : Bool := - if signed then - decide (-((2 : Int) ^ (8 * width - 1)) <= value) && decide (value < (2 : Int) ^ (8 * width - 1)) - else - decide (0 <= value) && decide (value < (2 : Int) ^ (8 * width)) -@[expose] public def encodeInt (width : Nat) (value : Int) : List Nat := - let unsigned := if value < 0 then value + (2 : Int) ^ (8 * width) else value - (List.range width).map (fun i => (unsigned.toNat / 256 ^ i) % 256) -@[expose] public def tensorMatches (width : Nat) (signed : Bool) (values : List Int) (bytes : ByteArray) : Bool := - values.all (inRange width signed) && values.flatMap (encodeInt width) == bytes.data.toList.map UInt8.toNat -@[expose] public def utf8Char (c : Char) : List Nat := - let n := c.toNat - if n < 128 then [n] - else if n < 2048 then [192 + n / 64, 128 + n % 64] - else if n < 65536 then [224 + n / 4096, 128 + (n / 64) % 64, 128 + n % 64] - else [240 + n / 262144, 128 + (n / 4096) % 64, 128 + (n / 64) % 64, 128 + n % 64] -@[expose] public def linesMatch (lines : List String) (bytes : ByteArray) : Bool := - lines.all (fun line => line.toList.all (fun c => c.toNat != 10 && c.toNat != 13)) && - lines.foldr (fun line rest => line.toList.foldr (fun c tail => utf8Char c ++ tail) [10] ++ rest) [] == - bytes.data.toList.map UInt8.toNat -end LexLeanModels - @[expose] public def isUrgent (level : Models.Triage.Level) : Bool := (match level with | Models.Triage.Level.routine => false | Models.Triage.Level.urgent => true | Models.Triage.Level.emergency => false) @[expose, reducible] public def Actionable (level : Models.Triage.Level) : Prop := (Models.Triage.isRoutine (level) = false) diff --git a/examples/models/expected/build/modules/Models/Recognizer.lean b/examples/models/expected/build/modules/Models/Recognizer.lean index 76019feb9..ba4d45e9e 100644 --- a/examples/models/expected/build/modules/Models/Recognizer.lean +++ b/examples/models/expected/build/modules/Models/Recognizer.lean @@ -1,5 +1,8 @@ module public import Init +public import LexLeanRuntime.Portable +public import LexLeanRuntime.Collections +public import LexLeanRuntime.Models public import Models.Glyphs set_option autoImplicit false set_option maxRecDepth 100000 @@ -7,503 +10,6 @@ set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace Models.Recognizer -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - -namespace LexLeanCollections - -public class Key (α : Type) where - compare : α -> α -> Ordering - -@[expose] public def compareCodes : List Char -> List Char -> Ordering - | [], [] => .eq - | [], _ :: _ => .lt - | _ :: _, [] => .gt - | left :: lefts, right :: rights => - match Ord.compare left.val.toNat right.val.toNat with - | .eq => compareCodes lefts rights - | other => other - -public instance : Key Nat where compare := Ord.compare -public instance : Key Int where compare := Ord.compare -public instance : Key Bool where compare := Ord.compare -public instance : Key Int8 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int16 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int32 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int64 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key UInt8 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt16 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt32 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt64 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key String where compare left right := compareCodes left.toList right.toList -public instance {α β : Type} [Key α] [Key β] : Key (Prod α β) where - compare left right := match Key.compare left.1 right.1 with - | .eq => Key.compare left.2 right.2 - | other => other - -@[expose] public def insertEntry {κ ν : Type} [Key κ] (key : κ) (value : ν) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [(key, value)] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (key, value) :: (other, stored) :: rest - | .eq => (key, value) :: rest - | .gt => (other, stored) :: insertEntry key value rest - -@[expose] public def removeEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (other, stored) :: rest - | .eq => rest - | .gt => (other, stored) :: removeEntry key rest - -@[expose] public def lookupEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> Option ν - | [] => none - | (other, stored) :: rest => match Key.compare key other with - | .lt => none - | .eq => some stored - | .gt => lookupEntry key rest - -@[expose] public def insertElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [key] - | other :: rest => match Key.compare key other with - | .lt => key :: other :: rest - | .eq => other :: rest - | .gt => other :: insertElement key rest - -@[expose] public def removeElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [] - | other :: rest => match Key.compare key other with - | .lt => other :: rest - | .eq => rest - | .gt => other :: removeElement key rest - -@[expose] public def containsElement {κ : Type} [Key κ] (key : κ) : List κ -> Bool - | [] => false - | other :: rest => match Key.compare key other with - | .lt => false - | .eq => true - | .gt => containsElement key rest - -@[expose] public def mapInsert {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) (value : ν) : List (Prod κ ν) := insertEntry key value map -@[expose] public def mapRemove {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : List (Prod κ ν) := removeEntry key map -@[expose] public def mapLookup {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Option ν := lookupEntry key map -@[expose] public def mapContains {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Bool := (lookupEntry key map).isSome -@[expose] public def mapSize {κ ν : Type} (map : List (Prod κ ν)) : Nat := map.length -@[expose] public def mapKeys {κ ν : Type} (map : List (Prod κ ν)) : List κ := map.map Prod.fst -@[expose] public def mapValues {κ ν : Type} (map : List (Prod κ ν)) : List ν := map.map Prod.snd -@[expose] public def mapEntries {κ ν : Type} (map : List (Prod κ ν)) : List (Prod κ ν) := map -@[expose] public def mapFold {κ ν β : Type} (step : β -> κ -> ν -> β) (initial : β) (map : List (Prod κ ν)) : β := - map.foldl (fun state entry => step state entry.1 entry.2) initial - -@[expose] public def setInsert {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := insertElement key set -@[expose] public def setRemove {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := removeElement key set -@[expose] public def setContains {κ : Type} [Key κ] (set : List κ) (key : κ) : Bool := containsElement key set -@[expose] public def setSize {κ : Type} (set : List κ) : Nat := set.length -@[expose] public def setElements {κ : Type} (set : List κ) : List κ := set -@[expose] public def setUnion {κ : Type} [Key κ] (left right : List κ) : List κ := right.foldl (fun acc key => insertElement key acc) left -@[expose] public def setIntersection {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => containsElement key right) -@[expose] public def setDifference {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => !containsElement key right) - -@[expose] public def graphSuccessors {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (node : κ) : List κ := - (lookupEntry node graph).getD [] - -@[expose] public def graphNodes {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : List κ := - graph.foldl (fun acc entry => entry.2.foldl (fun inner node => insertElement node inner) (insertElement entry.1 acc)) [] - -@[expose] public def reachableFrom {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> List κ - | 0, _, seen => seen - | Nat.succ fuel, frontier, seen => - let next := frontier.foldl (fun acc node => - (graphSuccessors graph node).foldl (fun acc2 succ => - if containsElement succ seen || containsElement succ acc2 then acc2 else insertElement succ acc2) acc) [] - match next with - | [] => seen - | _ => reachableFrom graph fuel next (next.foldl (fun acc key => insertElement key acc) seen) - -@[expose] public def graphReachable {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (start : κ) : List κ := - reachableFrom graph ((graphNodes graph).length + 1) [start] [start] - -@[expose] public def topological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> Option (List κ) - | 0, remaining, order => if remaining.isEmpty then some order.reverse else none - | Nat.succ fuel, remaining, order => - match remaining.filter (fun node => remaining.all (fun other => !containsElement node (graphSuccessors graph other))) with - | [] => if remaining.isEmpty then some order.reverse else none - | ready :: _ => topological graph fuel (removeElement ready remaining) (ready :: order) - -@[expose] public def graphTopological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Option (List κ) := - let nodes := graphNodes graph - topological graph (nodes.length + 1) nodes [] -@[expose] public def listFold {α σ : Type} (step : σ -> α -> σ) (initial : σ) (values : List α) : σ := - values.foldl step initial - -@[expose] public def setFold {κ σ : Type} (step : σ -> κ -> σ) (initial : σ) (set : List κ) : σ := - set.foldl step initial - -@[expose] public def iterate {σ : Type} (step : σ -> σ) : Nat -> σ -> σ - | 0, state => state - | Nat.succ count, state => iterate step count (step state) - -@[expose] public def iterateUntil {σ : Type} (step : σ -> Option σ) : Nat -> σ -> Prod σ Bool - | 0, state => (state, false) - | Nat.succ fuel, state => match step state with - | none => (state, true) - | some next => iterateUntil step fuel next - -@[expose] public def lessThan {κ : Type} [Key κ] (left right : κ) : Bool := - match Key.compare left right with - | .lt => true - | _ => false -end LexLeanCollections - -namespace LexLeanModels - -@[expose] public def Sound1 {α : Type} (v : α -> Bool) (p : α -> Prop) : Prop := - forall (a : α), v a = true -> p a -@[expose] public def Sound2 {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), v a b = true -> p a b -@[expose] public def Sound4 {α β γ δ : Type} (v : α -> β -> γ -> δ -> Bool) (p : α -> β -> γ -> δ -> Prop) : Prop := - forall (a : α) (b : β) (c : γ) (d : δ), v a b c d = true -> p a b c d -@[expose] public def Complete1 {α : Type} (v : α -> Bool) (p : α -> Prop) : Prop := - forall (a : α), p a -> v a = true -@[expose] public def Complete2 {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), p a b -> v a b = true -@[expose] public def Complete4 {α β γ δ : Type} (v : α -> β -> γ -> δ -> Bool) (p : α -> β -> γ -> δ -> Prop) : Prop := - forall (a : α) (b : β) (c : γ) (d : δ), p a b c d -> v a b c d = true - -@[expose] public def Satisfies {α β : Type} (p : α -> Prop) (q : α -> β -> Prop) (r : α -> β) : Prop := - forall (a : α), p a -> q a (r a) -@[expose] public def SatisfiesTotal {α β : Type} (q : α -> β -> Prop) (r : α -> β) : Prop := - forall (a : α), q a (r a) -@[expose] public def SatisfiesStep {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepNoInvariant {σ α β : Type} (p : σ -> α -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), p s a -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepNoPrecondition {σ α β : Type} (j : σ -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepTotal {σ α β : Type} (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), q s a (r s a).1 (r s a).2 -@[expose] public def Preserves {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> j (r s a).1 -@[expose] public def PreservesTotal {σ α β : Type} (j : σ -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> j (r s a).1 -@[expose] public def Initial {σ : Type} (j : σ -> Prop) (i : σ) : Prop := - j i -@[expose] public def Equivalent {α β : Type} (p : α -> Prop) (r f : α -> β) : Prop := - forall (a : α), p a -> r a = f a -@[expose] public def EquivalentTotal {α β : Type} (r f : α -> β) : Prop := - forall (a : α), r a = f a -@[expose] public def EquivalentStep {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> r s a = f s a -@[expose] public def EquivalentStepNoInvariant {σ α β : Type} (p : σ -> α -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), p s a -> r s a = f s a -@[expose] public def EquivalentStepNoPrecondition {σ α β : Type} (j : σ -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> r s a = f s a -@[expose] public def EquivalentStepTotal {σ α β : Type} (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), r s a = f s a -@[expose, reducible] public def Agreement {α β : Type} (r : α -> β) (cmp : β -> β -> Bool) (d : List (Prod α β)) (examples agreements : Nat) : Prop := - d.length = examples /\ d.foldl (fun c e => if cmp (r e.1) e.2 then c + 1 else c) 0 = agreements - -@[expose] public def inRange (width : Nat) (signed : Bool) (value : Int) : Bool := - if signed then - decide (-((2 : Int) ^ (8 * width - 1)) <= value) && decide (value < (2 : Int) ^ (8 * width - 1)) - else - decide (0 <= value) && decide (value < (2 : Int) ^ (8 * width)) -@[expose] public def encodeInt (width : Nat) (value : Int) : List Nat := - let unsigned := if value < 0 then value + (2 : Int) ^ (8 * width) else value - (List.range width).map (fun i => (unsigned.toNat / 256 ^ i) % 256) -@[expose] public def tensorMatches (width : Nat) (signed : Bool) (values : List Int) (bytes : ByteArray) : Bool := - values.all (inRange width signed) && values.flatMap (encodeInt width) == bytes.data.toList.map UInt8.toNat -@[expose] public def utf8Char (c : Char) : List Nat := - let n := c.toNat - if n < 128 then [n] - else if n < 2048 then [192 + n / 64, 128 + n % 64] - else if n < 65536 then [224 + n / 4096, 128 + (n / 64) % 64, 128 + n % 64] - else [240 + n / 262144, 128 + (n / 4096) % 64, 128 + (n / 64) % 64, 128 + n % 64] -@[expose] public def linesMatch (lines : List String) (bytes : ByteArray) : Bool := - lines.all (fun line => line.toList.all (fun c => c.toNat != 10 && c.toNat != 13)) && - lines.foldr (fun line rest => line.toList.foldr (fun c tail => utf8Char c ++ tail) [10] ++ rest) [] == - bytes.data.toList.map UInt8.toNat -end LexLeanModels - @[expose] public def hiddenWeights.bytes : ByteArray := ByteArray.mk #[4, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 4, 3, 254, 0, 0, 0, 0, 255, 0, 0, 2, 253, 1, 0, 0, 255, 0, 0, 0, 2, 2, 254, 1, 1, 1, 1, 1, 1, 1, 0, 252, 0, 2, 0, 3, 0] @[expose] public def hiddenWeights : List (List (Int)) := (((4 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ([] : List (Int))))))))) :: (((0 : Int) :: ((4 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ([] : List (Int))))))))) :: (((0 : Int) :: ((0 : Int) :: ((4 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ([] : List (Int))))))))) :: (((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ((4 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ([] : List (Int))))))))) :: (((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ((4 : Int) :: ((0 : Int) :: ((0 : Int) :: ([] : List (Int))))))))) :: (((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ((4 : Int) :: ((0 : Int) :: ([] : List (Int))))))))) :: (((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ((4 : Int) :: ([] : List (Int))))))))) :: (((3 : Int) :: ((-2 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ((-1 : Int) :: ([] : List (Int))))))))) :: (((0 : Int) :: ((0 : Int) :: ((2 : Int) :: ((-3 : Int) :: ((1 : Int) :: ((0 : Int) :: ((0 : Int) :: ([] : List (Int))))))))) :: (((-1 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ((2 : Int) :: ((2 : Int) :: ((-2 : Int) :: ([] : List (Int))))))))) :: (((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ([] : List (Int))))))))) :: (((0 : Int) :: ((-4 : Int) :: ((0 : Int) :: ((2 : Int) :: ((0 : Int) :: ((3 : Int) :: ((0 : Int) :: ([] : List (Int))))))))) :: ([] : List (List (Int))))))))))))))) public theorem hiddenWeights.decoded : (LexLeanModels.tensorMatches 1 true hiddenWeights.flatten hiddenWeights.bytes && (hiddenWeights.length == 12) && (hiddenWeights.map List.length == List.replicate 12 7)) = true := by decide diff --git a/examples/models/expected/build/modules/Models/Session.lean b/examples/models/expected/build/modules/Models/Session.lean index 22a4884c7..6ae4e4d39 100644 --- a/examples/models/expected/build/modules/Models/Session.lean +++ b/examples/models/expected/build/modules/Models/Session.lean @@ -1,364 +1,13 @@ module public import Init +public import LexLeanRuntime.Portable +public import LexLeanRuntime.Models set_option autoImplicit false set_option maxRecDepth 100000 set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace Models.Session -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - -namespace LexLeanModels - -@[expose] public def Sound1 {α : Type} (v : α -> Bool) (p : α -> Prop) : Prop := - forall (a : α), v a = true -> p a -@[expose] public def Sound2 {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), v a b = true -> p a b -@[expose] public def Sound4 {α β γ δ : Type} (v : α -> β -> γ -> δ -> Bool) (p : α -> β -> γ -> δ -> Prop) : Prop := - forall (a : α) (b : β) (c : γ) (d : δ), v a b c d = true -> p a b c d -@[expose] public def Complete1 {α : Type} (v : α -> Bool) (p : α -> Prop) : Prop := - forall (a : α), p a -> v a = true -@[expose] public def Complete2 {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), p a b -> v a b = true -@[expose] public def Complete4 {α β γ δ : Type} (v : α -> β -> γ -> δ -> Bool) (p : α -> β -> γ -> δ -> Prop) : Prop := - forall (a : α) (b : β) (c : γ) (d : δ), p a b c d -> v a b c d = true - -@[expose] public def Satisfies {α β : Type} (p : α -> Prop) (q : α -> β -> Prop) (r : α -> β) : Prop := - forall (a : α), p a -> q a (r a) -@[expose] public def SatisfiesTotal {α β : Type} (q : α -> β -> Prop) (r : α -> β) : Prop := - forall (a : α), q a (r a) -@[expose] public def SatisfiesStep {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepNoInvariant {σ α β : Type} (p : σ -> α -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), p s a -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepNoPrecondition {σ α β : Type} (j : σ -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepTotal {σ α β : Type} (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), q s a (r s a).1 (r s a).2 -@[expose] public def Preserves {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> j (r s a).1 -@[expose] public def PreservesTotal {σ α β : Type} (j : σ -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> j (r s a).1 -@[expose] public def Initial {σ : Type} (j : σ -> Prop) (i : σ) : Prop := - j i -@[expose] public def Equivalent {α β : Type} (p : α -> Prop) (r f : α -> β) : Prop := - forall (a : α), p a -> r a = f a -@[expose] public def EquivalentTotal {α β : Type} (r f : α -> β) : Prop := - forall (a : α), r a = f a -@[expose] public def EquivalentStep {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> r s a = f s a -@[expose] public def EquivalentStepNoInvariant {σ α β : Type} (p : σ -> α -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), p s a -> r s a = f s a -@[expose] public def EquivalentStepNoPrecondition {σ α β : Type} (j : σ -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> r s a = f s a -@[expose] public def EquivalentStepTotal {σ α β : Type} (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), r s a = f s a -@[expose, reducible] public def Agreement {α β : Type} (r : α -> β) (cmp : β -> β -> Bool) (d : List (Prod α β)) (examples agreements : Nat) : Prop := - d.length = examples /\ d.foldl (fun c e => if cmp (r e.1) e.2 then c + 1 else c) 0 = agreements - -@[expose] public def inRange (width : Nat) (signed : Bool) (value : Int) : Bool := - if signed then - decide (-((2 : Int) ^ (8 * width - 1)) <= value) && decide (value < (2 : Int) ^ (8 * width - 1)) - else - decide (0 <= value) && decide (value < (2 : Int) ^ (8 * width)) -@[expose] public def encodeInt (width : Nat) (value : Int) : List Nat := - let unsigned := if value < 0 then value + (2 : Int) ^ (8 * width) else value - (List.range width).map (fun i => (unsigned.toNat / 256 ^ i) % 256) -@[expose] public def tensorMatches (width : Nat) (signed : Bool) (values : List Int) (bytes : ByteArray) : Bool := - values.all (inRange width signed) && values.flatMap (encodeInt width) == bytes.data.toList.map UInt8.toNat -@[expose] public def utf8Char (c : Char) : List Nat := - let n := c.toNat - if n < 128 then [n] - else if n < 2048 then [192 + n / 64, 128 + n % 64] - else if n < 65536 then [224 + n / 4096, 128 + (n / 64) % 64, 128 + n % 64] - else [240 + n / 262144, 128 + (n / 4096) % 64, 128 + (n / 64) % 64, 128 + n % 64] -@[expose] public def linesMatch (lines : List String) (bytes : ByteArray) : Bool := - lines.all (fun line => line.toList.all (fun c => c.toNat != 10 && c.toNat != 13)) && - lines.foldr (fun line rest => line.toList.foldr (fun c tail => utf8Char c ++ tail) [10] ++ rest) [] == - bytes.data.toList.map UInt8.toNat -end LexLeanModels - public structure Window where used : Nat items : Nat diff --git a/examples/models/expected/build/modules/Models/Triage.lean b/examples/models/expected/build/modules/Models/Triage.lean index a7eb0a709..ba67c3033 100644 --- a/examples/models/expected/build/modules/Models/Triage.lean +++ b/examples/models/expected/build/modules/Models/Triage.lean @@ -1,508 +1,14 @@ module public import Init +public import LexLeanRuntime.Portable +public import LexLeanRuntime.Collections +public import LexLeanRuntime.Models set_option autoImplicit false set_option maxRecDepth 100000 set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace Models.Triage -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - -namespace LexLeanCollections - -public class Key (α : Type) where - compare : α -> α -> Ordering - -@[expose] public def compareCodes : List Char -> List Char -> Ordering - | [], [] => .eq - | [], _ :: _ => .lt - | _ :: _, [] => .gt - | left :: lefts, right :: rights => - match Ord.compare left.val.toNat right.val.toNat with - | .eq => compareCodes lefts rights - | other => other - -public instance : Key Nat where compare := Ord.compare -public instance : Key Int where compare := Ord.compare -public instance : Key Bool where compare := Ord.compare -public instance : Key Int8 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int16 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int32 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int64 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key UInt8 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt16 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt32 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt64 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key String where compare left right := compareCodes left.toList right.toList -public instance {α β : Type} [Key α] [Key β] : Key (Prod α β) where - compare left right := match Key.compare left.1 right.1 with - | .eq => Key.compare left.2 right.2 - | other => other - -@[expose] public def insertEntry {κ ν : Type} [Key κ] (key : κ) (value : ν) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [(key, value)] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (key, value) :: (other, stored) :: rest - | .eq => (key, value) :: rest - | .gt => (other, stored) :: insertEntry key value rest - -@[expose] public def removeEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (other, stored) :: rest - | .eq => rest - | .gt => (other, stored) :: removeEntry key rest - -@[expose] public def lookupEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> Option ν - | [] => none - | (other, stored) :: rest => match Key.compare key other with - | .lt => none - | .eq => some stored - | .gt => lookupEntry key rest - -@[expose] public def insertElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [key] - | other :: rest => match Key.compare key other with - | .lt => key :: other :: rest - | .eq => other :: rest - | .gt => other :: insertElement key rest - -@[expose] public def removeElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [] - | other :: rest => match Key.compare key other with - | .lt => other :: rest - | .eq => rest - | .gt => other :: removeElement key rest - -@[expose] public def containsElement {κ : Type} [Key κ] (key : κ) : List κ -> Bool - | [] => false - | other :: rest => match Key.compare key other with - | .lt => false - | .eq => true - | .gt => containsElement key rest - -@[expose] public def mapInsert {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) (value : ν) : List (Prod κ ν) := insertEntry key value map -@[expose] public def mapRemove {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : List (Prod κ ν) := removeEntry key map -@[expose] public def mapLookup {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Option ν := lookupEntry key map -@[expose] public def mapContains {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Bool := (lookupEntry key map).isSome -@[expose] public def mapSize {κ ν : Type} (map : List (Prod κ ν)) : Nat := map.length -@[expose] public def mapKeys {κ ν : Type} (map : List (Prod κ ν)) : List κ := map.map Prod.fst -@[expose] public def mapValues {κ ν : Type} (map : List (Prod κ ν)) : List ν := map.map Prod.snd -@[expose] public def mapEntries {κ ν : Type} (map : List (Prod κ ν)) : List (Prod κ ν) := map -@[expose] public def mapFold {κ ν β : Type} (step : β -> κ -> ν -> β) (initial : β) (map : List (Prod κ ν)) : β := - map.foldl (fun state entry => step state entry.1 entry.2) initial - -@[expose] public def setInsert {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := insertElement key set -@[expose] public def setRemove {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := removeElement key set -@[expose] public def setContains {κ : Type} [Key κ] (set : List κ) (key : κ) : Bool := containsElement key set -@[expose] public def setSize {κ : Type} (set : List κ) : Nat := set.length -@[expose] public def setElements {κ : Type} (set : List κ) : List κ := set -@[expose] public def setUnion {κ : Type} [Key κ] (left right : List κ) : List κ := right.foldl (fun acc key => insertElement key acc) left -@[expose] public def setIntersection {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => containsElement key right) -@[expose] public def setDifference {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => !containsElement key right) - -@[expose] public def graphSuccessors {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (node : κ) : List κ := - (lookupEntry node graph).getD [] - -@[expose] public def graphNodes {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : List κ := - graph.foldl (fun acc entry => entry.2.foldl (fun inner node => insertElement node inner) (insertElement entry.1 acc)) [] - -@[expose] public def reachableFrom {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> List κ - | 0, _, seen => seen - | Nat.succ fuel, frontier, seen => - let next := frontier.foldl (fun acc node => - (graphSuccessors graph node).foldl (fun acc2 succ => - if containsElement succ seen || containsElement succ acc2 then acc2 else insertElement succ acc2) acc) [] - match next with - | [] => seen - | _ => reachableFrom graph fuel next (next.foldl (fun acc key => insertElement key acc) seen) - -@[expose] public def graphReachable {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (start : κ) : List κ := - reachableFrom graph ((graphNodes graph).length + 1) [start] [start] - -@[expose] public def topological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> Option (List κ) - | 0, remaining, order => if remaining.isEmpty then some order.reverse else none - | Nat.succ fuel, remaining, order => - match remaining.filter (fun node => remaining.all (fun other => !containsElement node (graphSuccessors graph other))) with - | [] => if remaining.isEmpty then some order.reverse else none - | ready :: _ => topological graph fuel (removeElement ready remaining) (ready :: order) - -@[expose] public def graphTopological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Option (List κ) := - let nodes := graphNodes graph - topological graph (nodes.length + 1) nodes [] -@[expose] public def listFold {α σ : Type} (step : σ -> α -> σ) (initial : σ) (values : List α) : σ := - values.foldl step initial - -@[expose] public def setFold {κ σ : Type} (step : σ -> κ -> σ) (initial : σ) (set : List κ) : σ := - set.foldl step initial - -@[expose] public def iterate {σ : Type} (step : σ -> σ) : Nat -> σ -> σ - | 0, state => state - | Nat.succ count, state => iterate step count (step state) - -@[expose] public def iterateUntil {σ : Type} (step : σ -> Option σ) : Nat -> σ -> Prod σ Bool - | 0, state => (state, false) - | Nat.succ fuel, state => match step state with - | none => (state, true) - | some next => iterateUntil step fuel next - -@[expose] public def lessThan {κ : Type} [Key κ] (left right : κ) : Bool := - match Key.compare left right with - | .lt => true - | _ => false -end LexLeanCollections - -namespace LexLeanModels - -@[expose] public def Sound1 {α : Type} (v : α -> Bool) (p : α -> Prop) : Prop := - forall (a : α), v a = true -> p a -@[expose] public def Sound2 {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), v a b = true -> p a b -@[expose] public def Sound4 {α β γ δ : Type} (v : α -> β -> γ -> δ -> Bool) (p : α -> β -> γ -> δ -> Prop) : Prop := - forall (a : α) (b : β) (c : γ) (d : δ), v a b c d = true -> p a b c d -@[expose] public def Complete1 {α : Type} (v : α -> Bool) (p : α -> Prop) : Prop := - forall (a : α), p a -> v a = true -@[expose] public def Complete2 {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), p a b -> v a b = true -@[expose] public def Complete4 {α β γ δ : Type} (v : α -> β -> γ -> δ -> Bool) (p : α -> β -> γ -> δ -> Prop) : Prop := - forall (a : α) (b : β) (c : γ) (d : δ), p a b c d -> v a b c d = true - -@[expose] public def Satisfies {α β : Type} (p : α -> Prop) (q : α -> β -> Prop) (r : α -> β) : Prop := - forall (a : α), p a -> q a (r a) -@[expose] public def SatisfiesTotal {α β : Type} (q : α -> β -> Prop) (r : α -> β) : Prop := - forall (a : α), q a (r a) -@[expose] public def SatisfiesStep {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepNoInvariant {σ α β : Type} (p : σ -> α -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), p s a -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepNoPrecondition {σ α β : Type} (j : σ -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepTotal {σ α β : Type} (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), q s a (r s a).1 (r s a).2 -@[expose] public def Preserves {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> j (r s a).1 -@[expose] public def PreservesTotal {σ α β : Type} (j : σ -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> j (r s a).1 -@[expose] public def Initial {σ : Type} (j : σ -> Prop) (i : σ) : Prop := - j i -@[expose] public def Equivalent {α β : Type} (p : α -> Prop) (r f : α -> β) : Prop := - forall (a : α), p a -> r a = f a -@[expose] public def EquivalentTotal {α β : Type} (r f : α -> β) : Prop := - forall (a : α), r a = f a -@[expose] public def EquivalentStep {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> r s a = f s a -@[expose] public def EquivalentStepNoInvariant {σ α β : Type} (p : σ -> α -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), p s a -> r s a = f s a -@[expose] public def EquivalentStepNoPrecondition {σ α β : Type} (j : σ -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> r s a = f s a -@[expose] public def EquivalentStepTotal {σ α β : Type} (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), r s a = f s a -@[expose, reducible] public def Agreement {α β : Type} (r : α -> β) (cmp : β -> β -> Bool) (d : List (Prod α β)) (examples agreements : Nat) : Prop := - d.length = examples /\ d.foldl (fun c e => if cmp (r e.1) e.2 then c + 1 else c) 0 = agreements - -@[expose] public def inRange (width : Nat) (signed : Bool) (value : Int) : Bool := - if signed then - decide (-((2 : Int) ^ (8 * width - 1)) <= value) && decide (value < (2 : Int) ^ (8 * width - 1)) - else - decide (0 <= value) && decide (value < (2 : Int) ^ (8 * width)) -@[expose] public def encodeInt (width : Nat) (value : Int) : List Nat := - let unsigned := if value < 0 then value + (2 : Int) ^ (8 * width) else value - (List.range width).map (fun i => (unsigned.toNat / 256 ^ i) % 256) -@[expose] public def tensorMatches (width : Nat) (signed : Bool) (values : List Int) (bytes : ByteArray) : Bool := - values.all (inRange width signed) && values.flatMap (encodeInt width) == bytes.data.toList.map UInt8.toNat -@[expose] public def utf8Char (c : Char) : List Nat := - let n := c.toNat - if n < 128 then [n] - else if n < 2048 then [192 + n / 64, 128 + n % 64] - else if n < 65536 then [224 + n / 4096, 128 + (n / 64) % 64, 128 + n % 64] - else [240 + n / 262144, 128 + (n / 4096) % 64, 128 + (n / 64) % 64, 128 + n % 64] -@[expose] public def linesMatch (lines : List String) (bytes : ByteArray) : Bool := - lines.all (fun line => line.toList.all (fun c => c.toNat != 10 && c.toNat != 13)) && - lines.foldr (fun line rest => line.toList.foldr (fun c tail => utf8Char c ++ tail) [10] ++ rest) [] == - bytes.data.toList.map UInt8.toNat -end LexLeanModels - public inductive Presentation where | p0 | p1 diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Collections.lean b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Collections.lean new file mode 100644 index 000000000..ae0a21413 --- /dev/null +++ b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Collections.lean @@ -0,0 +1,105 @@ +module +import LexLeanRuntime.Collections +#print axioms LexLeanCollections.Key +#print axioms LexLeanCollections.Key.casesOn +#print axioms LexLeanCollections.Key.compare +#print axioms LexLeanCollections.Key.ctorIdx +#print axioms LexLeanCollections.Key.mk._flat_ctor +#print axioms LexLeanCollections.Key.mk.noConfusion +#print axioms LexLeanCollections.Key.noConfusion +#print axioms LexLeanCollections.Key.noConfusionType +#print axioms LexLeanCollections.Key.recOn +#print axioms LexLeanCollections.compareCodes +#print axioms LexLeanCollections.compareCodes._f +#print axioms LexLeanCollections.compareCodes._sparseCasesOn_1 +#print axioms LexLeanCollections.compareCodes._sunfold +#print axioms LexLeanCollections.compareCodes._unsafe_rec +#print axioms LexLeanCollections.compareCodes.match_1 +#print axioms LexLeanCollections.compareCodes.match_4 +#print axioms LexLeanCollections.containsElement +#print axioms LexLeanCollections.containsElement._f +#print axioms LexLeanCollections.containsElement._sunfold +#print axioms LexLeanCollections.containsElement._unsafe_rec +#print axioms LexLeanCollections.graphNodes +#print axioms LexLeanCollections.graphReachable +#print axioms LexLeanCollections.graphSuccessors +#print axioms LexLeanCollections.graphTopological +#print axioms LexLeanCollections.insertElement +#print axioms LexLeanCollections.insertElement._f +#print axioms LexLeanCollections.insertElement._sunfold +#print axioms LexLeanCollections.insertElement._unsafe_rec +#print axioms LexLeanCollections.insertElement.match_1 +#print axioms LexLeanCollections.insertEntry +#print axioms LexLeanCollections.insertEntry._f +#print axioms LexLeanCollections.insertEntry._sunfold +#print axioms LexLeanCollections.insertEntry._unsafe_rec +#print axioms LexLeanCollections.insertEntry.match_1 +#print axioms LexLeanCollections.insertEntry.match_3 +#print axioms LexLeanCollections.instKeyBool +#print axioms LexLeanCollections.instKeyInt +#print axioms LexLeanCollections.instKeyInt16 +#print axioms LexLeanCollections.instKeyInt32 +#print axioms LexLeanCollections.instKeyInt64 +#print axioms LexLeanCollections.instKeyInt8 +#print axioms LexLeanCollections.instKeyNat +#print axioms LexLeanCollections.instKeyProd +#print axioms LexLeanCollections.instKeyString +#print axioms LexLeanCollections.instKeyUInt16 +#print axioms LexLeanCollections.instKeyUInt32 +#print axioms LexLeanCollections.instKeyUInt64 +#print axioms LexLeanCollections.instKeyUInt8 +#print axioms LexLeanCollections.iterate +#print axioms LexLeanCollections.iterate._f +#print axioms LexLeanCollections.iterate._sunfold +#print axioms LexLeanCollections.iterate._unsafe_rec +#print axioms LexLeanCollections.iterate.match_1 +#print axioms LexLeanCollections.iterateUntil +#print axioms LexLeanCollections.iterateUntil._f +#print axioms LexLeanCollections.iterateUntil._sunfold +#print axioms LexLeanCollections.iterateUntil._unsafe_rec +#print axioms LexLeanCollections.iterateUntil.match_1 +#print axioms LexLeanCollections.lessThan +#print axioms LexLeanCollections.lessThan._sparseCasesOn_1 +#print axioms LexLeanCollections.lessThan.match_1 +#print axioms LexLeanCollections.listFold +#print axioms LexLeanCollections.lookupEntry +#print axioms LexLeanCollections.lookupEntry._f +#print axioms LexLeanCollections.lookupEntry._sunfold +#print axioms LexLeanCollections.lookupEntry._unsafe_rec +#print axioms LexLeanCollections.mapContains +#print axioms LexLeanCollections.mapEntries +#print axioms LexLeanCollections.mapFold +#print axioms LexLeanCollections.mapInsert +#print axioms LexLeanCollections.mapKeys +#print axioms LexLeanCollections.mapLookup +#print axioms LexLeanCollections.mapRemove +#print axioms LexLeanCollections.mapSize +#print axioms LexLeanCollections.mapValues +#print axioms LexLeanCollections.reachableFrom +#print axioms LexLeanCollections.reachableFrom._f +#print axioms LexLeanCollections.reachableFrom._sparseCasesOn_1 +#print axioms LexLeanCollections.reachableFrom._sunfold +#print axioms LexLeanCollections.reachableFrom._unsafe_rec +#print axioms LexLeanCollections.reachableFrom.match_1 +#print axioms LexLeanCollections.reachableFrom.match_4 +#print axioms LexLeanCollections.removeElement +#print axioms LexLeanCollections.removeElement._f +#print axioms LexLeanCollections.removeElement._sunfold +#print axioms LexLeanCollections.removeElement._unsafe_rec +#print axioms LexLeanCollections.removeEntry +#print axioms LexLeanCollections.removeEntry._f +#print axioms LexLeanCollections.removeEntry._sunfold +#print axioms LexLeanCollections.removeEntry._unsafe_rec +#print axioms LexLeanCollections.setContains +#print axioms LexLeanCollections.setDifference +#print axioms LexLeanCollections.setElements +#print axioms LexLeanCollections.setFold +#print axioms LexLeanCollections.setInsert +#print axioms LexLeanCollections.setIntersection +#print axioms LexLeanCollections.setRemove +#print axioms LexLeanCollections.setSize +#print axioms LexLeanCollections.setUnion +#print axioms LexLeanCollections.topological +#print axioms LexLeanCollections.topological._f +#print axioms LexLeanCollections.topological._sunfold +#print axioms LexLeanCollections.topological._unsafe_rec diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Collections.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Collections.process.json new file mode 100644 index 000000000..b912222f0 --- /dev/null +++ b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Collections.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Collections.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Collections","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanCollections.Key' does not depend on any axioms\n'LexLeanCollections.Key.casesOn' does not depend on any axioms\n'LexLeanCollections.Key.compare' does not depend on any axioms\n'LexLeanCollections.Key.ctorIdx' does not depend on any axioms\n'LexLeanCollections.Key.mk._flat_ctor' does not depend on any axioms\n'LexLeanCollections.Key.mk.noConfusion' does not depend on any axioms\n'LexLeanCollections.Key.noConfusion' does not depend on any axioms\n'LexLeanCollections.Key.noConfusionType' does not depend on any axioms\n'LexLeanCollections.Key.recOn' does not depend on any axioms\n'LexLeanCollections.compareCodes' depends on axioms: [propext]\n'LexLeanCollections.compareCodes._f' depends on axioms: [propext]\n'LexLeanCollections.compareCodes._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanCollections.compareCodes._sunfold' depends on axioms: [propext]\n'LexLeanCollections.compareCodes._unsafe_rec' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.match_1' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.match_4' does not depend on any axioms\n'LexLeanCollections.containsElement' does not depend on any axioms\n'LexLeanCollections.containsElement._f' does not depend on any axioms\n'LexLeanCollections.containsElement._sunfold' does not depend on any axioms\n'LexLeanCollections.containsElement._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.graphNodes' does not depend on any axioms\n'LexLeanCollections.graphReachable' depends on axioms: [propext]\n'LexLeanCollections.graphSuccessors' does not depend on any axioms\n'LexLeanCollections.graphTopological' does not depend on any axioms\n'LexLeanCollections.insertElement' does not depend on any axioms\n'LexLeanCollections.insertElement._f' does not depend on any axioms\n'LexLeanCollections.insertElement._sunfold' does not depend on any axioms\n'LexLeanCollections.insertElement._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.insertElement.match_1' does not depend on any axioms\n'LexLeanCollections.insertEntry' does not depend on any axioms\n'LexLeanCollections.insertEntry._f' does not depend on any axioms\n'LexLeanCollections.insertEntry._sunfold' does not depend on any axioms\n'LexLeanCollections.insertEntry._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.insertEntry.match_1' does not depend on any axioms\n'LexLeanCollections.insertEntry.match_3' does not depend on any axioms\n'LexLeanCollections.instKeyBool' depends on axioms: [propext]\n'LexLeanCollections.instKeyInt' does not depend on any axioms\n'LexLeanCollections.instKeyInt16' does not depend on any axioms\n'LexLeanCollections.instKeyInt32' does not depend on any axioms\n'LexLeanCollections.instKeyInt64' does not depend on any axioms\n'LexLeanCollections.instKeyInt8' does not depend on any axioms\n'LexLeanCollections.instKeyNat' does not depend on any axioms\n'LexLeanCollections.instKeyProd' depends on axioms: [propext]\n'LexLeanCollections.instKeyString' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanCollections.instKeyUInt16' does not depend on any axioms\n'LexLeanCollections.instKeyUInt32' does not depend on any axioms\n'LexLeanCollections.instKeyUInt64' does not depend on any axioms\n'LexLeanCollections.instKeyUInt8' does not depend on any axioms\n'LexLeanCollections.iterate' does not depend on any axioms\n'LexLeanCollections.iterate._f' does not depend on any axioms\n'LexLeanCollections.iterate._sunfold' does not depend on any axioms\n'LexLeanCollections.iterate._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.iterate.match_1' does not depend on any axioms\n'LexLeanCollections.iterateUntil' does not depend on any axioms\n'LexLeanCollections.iterateUntil._f' does not depend on any axioms\n'LexLeanCollections.iterateUntil._sunfold' does not depend on any axioms\n'LexLeanCollections.iterateUntil._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.iterateUntil.match_1' does not depend on any axioms\n'LexLeanCollections.lessThan' depends on axioms: [propext]\n'LexLeanCollections.lessThan._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanCollections.lessThan.match_1' depends on axioms: [propext]\n'LexLeanCollections.listFold' does not depend on any axioms\n'LexLeanCollections.lookupEntry' does not depend on any axioms\n'LexLeanCollections.lookupEntry._f' does not depend on any axioms\n'LexLeanCollections.lookupEntry._sunfold' does not depend on any axioms\n'LexLeanCollections.lookupEntry._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.mapContains' does not depend on any axioms\n'LexLeanCollections.mapEntries' does not depend on any axioms\n'LexLeanCollections.mapFold' does not depend on any axioms\n'LexLeanCollections.mapInsert' does not depend on any axioms\n'LexLeanCollections.mapKeys' does not depend on any axioms\n'LexLeanCollections.mapLookup' does not depend on any axioms\n'LexLeanCollections.mapRemove' does not depend on any axioms\n'LexLeanCollections.mapSize' does not depend on any axioms\n'LexLeanCollections.mapValues' does not depend on any axioms\n'LexLeanCollections.reachableFrom' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom._f' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom._sunfold' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom._unsafe_rec' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom.match_1' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom.match_4' does not depend on any axioms\n'LexLeanCollections.removeElement' does not depend on any axioms\n'LexLeanCollections.removeElement._f' does not depend on any axioms\n'LexLeanCollections.removeElement._sunfold' does not depend on any axioms\n'LexLeanCollections.removeElement._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.removeEntry' does not depend on any axioms\n'LexLeanCollections.removeEntry._f' does not depend on any axioms\n'LexLeanCollections.removeEntry._sunfold' does not depend on any axioms\n'LexLeanCollections.removeEntry._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.setContains' does not depend on any axioms\n'LexLeanCollections.setDifference' does not depend on any axioms\n'LexLeanCollections.setElements' does not depend on any axioms\n'LexLeanCollections.setFold' does not depend on any axioms\n'LexLeanCollections.setInsert' does not depend on any axioms\n'LexLeanCollections.setIntersection' does not depend on any axioms\n'LexLeanCollections.setRemove' does not depend on any axioms\n'LexLeanCollections.setSize' does not depend on any axioms\n'LexLeanCollections.setUnion' does not depend on any axioms\n'LexLeanCollections.topological' does not depend on any axioms\n'LexLeanCollections.topological._f' does not depend on any axioms\n'LexLeanCollections.topological._sunfold' does not depend on any axioms\n'LexLeanCollections.topological._unsafe_rec' does not depend on any axioms\n","stdout_sha256":"b75acc0e99e23684c3cc876eacbfc93f47161cfee8a7440df17fa45f321c8c6a","tool":"lean"} diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Models.lean b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Models.lean new file mode 100644 index 000000000..220cccfd6 --- /dev/null +++ b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Models.lean @@ -0,0 +1,29 @@ +module +import LexLeanRuntime.Models +#print axioms LexLeanModels.Agreement +#print axioms LexLeanModels.Complete1 +#print axioms LexLeanModels.Complete2 +#print axioms LexLeanModels.Complete4 +#print axioms LexLeanModels.Equivalent +#print axioms LexLeanModels.EquivalentStep +#print axioms LexLeanModels.EquivalentStepNoInvariant +#print axioms LexLeanModels.EquivalentStepNoPrecondition +#print axioms LexLeanModels.EquivalentStepTotal +#print axioms LexLeanModels.EquivalentTotal +#print axioms LexLeanModels.Initial +#print axioms LexLeanModels.Preserves +#print axioms LexLeanModels.PreservesTotal +#print axioms LexLeanModels.Satisfies +#print axioms LexLeanModels.SatisfiesStep +#print axioms LexLeanModels.SatisfiesStepNoInvariant +#print axioms LexLeanModels.SatisfiesStepNoPrecondition +#print axioms LexLeanModels.SatisfiesStepTotal +#print axioms LexLeanModels.SatisfiesTotal +#print axioms LexLeanModels.Sound1 +#print axioms LexLeanModels.Sound2 +#print axioms LexLeanModels.Sound4 +#print axioms LexLeanModels.encodeInt +#print axioms LexLeanModels.inRange +#print axioms LexLeanModels.linesMatch +#print axioms LexLeanModels.tensorMatches +#print axioms LexLeanModels.utf8Char diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Models.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Models.process.json new file mode 100644 index 000000000..b54456777 --- /dev/null +++ b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Models.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Models.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Models","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanModels.Agreement' does not depend on any axioms\n'LexLeanModels.Complete1' does not depend on any axioms\n'LexLeanModels.Complete2' does not depend on any axioms\n'LexLeanModels.Complete4' does not depend on any axioms\n'LexLeanModels.Equivalent' does not depend on any axioms\n'LexLeanModels.EquivalentStep' does not depend on any axioms\n'LexLeanModels.EquivalentStepNoInvariant' does not depend on any axioms\n'LexLeanModels.EquivalentStepNoPrecondition' does not depend on any axioms\n'LexLeanModels.EquivalentStepTotal' does not depend on any axioms\n'LexLeanModels.EquivalentTotal' does not depend on any axioms\n'LexLeanModels.Initial' does not depend on any axioms\n'LexLeanModels.Preserves' does not depend on any axioms\n'LexLeanModels.PreservesTotal' does not depend on any axioms\n'LexLeanModels.Satisfies' does not depend on any axioms\n'LexLeanModels.SatisfiesStep' does not depend on any axioms\n'LexLeanModels.SatisfiesStepNoInvariant' does not depend on any axioms\n'LexLeanModels.SatisfiesStepNoPrecondition' does not depend on any axioms\n'LexLeanModels.SatisfiesStepTotal' does not depend on any axioms\n'LexLeanModels.SatisfiesTotal' does not depend on any axioms\n'LexLeanModels.Sound1' does not depend on any axioms\n'LexLeanModels.Sound2' does not depend on any axioms\n'LexLeanModels.Sound4' does not depend on any axioms\n'LexLeanModels.encodeInt' does not depend on any axioms\n'LexLeanModels.inRange' does not depend on any axioms\n'LexLeanModels.linesMatch' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanModels.tensorMatches' does not depend on any axioms\n'LexLeanModels.utf8Char' does not depend on any axioms\n","stdout_sha256":"43ad1c715570458672aedc9abb1691012eef870f5b804f1e230abb890e49ffee","tool":"lean"} diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Portable.lean b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Portable.lean new file mode 100644 index 000000000..dd62fd557 --- /dev/null +++ b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Portable.lean @@ -0,0 +1,162 @@ +module +import LexLeanRuntime.Portable +#print axioms LexLeanRuntime.Appendable +#print axioms LexLeanRuntime.Appendable.append +#print axioms LexLeanRuntime.Appendable.casesOn +#print axioms LexLeanRuntime.Appendable.ctorIdx +#print axioms LexLeanRuntime.Appendable.mk._flat_ctor +#print axioms LexLeanRuntime.Appendable.mk.noConfusion +#print axioms LexLeanRuntime.Appendable.noConfusion +#print axioms LexLeanRuntime.Appendable.noConfusionType +#print axioms LexLeanRuntime.Appendable.recOn +#print axioms LexLeanRuntime.Decimal +#print axioms LexLeanRuntime.Decimal.casesOn +#print axioms LexLeanRuntime.Decimal.ctorIdx +#print axioms LexLeanRuntime.Decimal.format +#print axioms LexLeanRuntime.Decimal.mk._flat_ctor +#print axioms LexLeanRuntime.Decimal.mk.noConfusion +#print axioms LexLeanRuntime.Decimal.noConfusion +#print axioms LexLeanRuntime.Decimal.noConfusionType +#print axioms LexLeanRuntime.Decimal.parse +#print axioms LexLeanRuntime.Decimal.recOn +#print axioms LexLeanRuntime.Fixed +#print axioms LexLeanRuntime.Fixed.bitAnd +#print axioms LexLeanRuntime.Fixed.bitNot +#print axioms LexLeanRuntime.Fixed.bitOr +#print axioms LexLeanRuntime.Fixed.bitXor +#print axioms LexLeanRuntime.Fixed.casesOn +#print axioms LexLeanRuntime.Fixed.ctorIdx +#print axioms LexLeanRuntime.Fixed.fromInt +#print axioms LexLeanRuntime.Fixed.maximum +#print axioms LexLeanRuntime.Fixed.minimum +#print axioms LexLeanRuntime.Fixed.mk._flat_ctor +#print axioms LexLeanRuntime.Fixed.mk.noConfusion +#print axioms LexLeanRuntime.Fixed.noConfusion +#print axioms LexLeanRuntime.Fixed.noConfusionType +#print axioms LexLeanRuntime.Fixed.recOn +#print axioms LexLeanRuntime.Fixed.shiftLeft +#print axioms LexLeanRuntime.Fixed.shiftRight +#print axioms LexLeanRuntime.Fixed.toToMathInt +#print axioms LexLeanRuntime.Indexable +#print axioms LexLeanRuntime.Indexable.casesOn +#print axioms LexLeanRuntime.Indexable.ctorIdx +#print axioms LexLeanRuntime.Indexable.index +#print axioms LexLeanRuntime.Indexable.mk._flat_ctor +#print axioms LexLeanRuntime.Indexable.mk.noConfusion +#print axioms LexLeanRuntime.Indexable.noConfusion +#print axioms LexLeanRuntime.Indexable.noConfusionType +#print axioms LexLeanRuntime.Indexable.recOn +#print axioms LexLeanRuntime.Lengthable +#print axioms LexLeanRuntime.Lengthable.casesOn +#print axioms LexLeanRuntime.Lengthable.ctorIdx +#print axioms LexLeanRuntime.Lengthable.length +#print axioms LexLeanRuntime.Lengthable.mk._flat_ctor +#print axioms LexLeanRuntime.Lengthable.mk.noConfusion +#print axioms LexLeanRuntime.Lengthable.noConfusion +#print axioms LexLeanRuntime.Lengthable.noConfusionType +#print axioms LexLeanRuntime.Lengthable.recOn +#print axioms LexLeanRuntime.Quotient +#print axioms LexLeanRuntime.Quotient.casesOn +#print axioms LexLeanRuntime.Quotient.ctorIdx +#print axioms LexLeanRuntime.Quotient.isZero +#print axioms LexLeanRuntime.Quotient.mk._flat_ctor +#print axioms LexLeanRuntime.Quotient.mk.noConfusion +#print axioms LexLeanRuntime.Quotient.noConfusion +#print axioms LexLeanRuntime.Quotient.noConfusionType +#print axioms LexLeanRuntime.Quotient.quotient +#print axioms LexLeanRuntime.Quotient.recOn +#print axioms LexLeanRuntime.Quotient.remainder +#print axioms LexLeanRuntime.Sliceable +#print axioms LexLeanRuntime.Sliceable.casesOn +#print axioms LexLeanRuntime.Sliceable.ctorIdx +#print axioms LexLeanRuntime.Sliceable.mk._flat_ctor +#print axioms LexLeanRuntime.Sliceable.mk.noConfusion +#print axioms LexLeanRuntime.Sliceable.noConfusion +#print axioms LexLeanRuntime.Sliceable.noConfusionType +#print axioms LexLeanRuntime.Sliceable.recOn +#print axioms LexLeanRuntime.Sliceable.slice +#print axioms LexLeanRuntime.ToMathInt +#print axioms LexLeanRuntime.ToMathInt.casesOn +#print axioms LexLeanRuntime.ToMathInt.ctorIdx +#print axioms LexLeanRuntime.ToMathInt.mk._flat_ctor +#print axioms LexLeanRuntime.ToMathInt.mk.noConfusion +#print axioms LexLeanRuntime.ToMathInt.noConfusion +#print axioms LexLeanRuntime.ToMathInt.noConfusionType +#print axioms LexLeanRuntime.ToMathInt.recOn +#print axioms LexLeanRuntime.ToMathInt.toInt +#print axioms LexLeanRuntime.append +#print axioms LexLeanRuntime.bitAnd +#print axioms LexLeanRuntime.bitNot +#print axioms LexLeanRuntime.bitOr +#print axioms LexLeanRuntime.bitXor +#print axioms LexLeanRuntime.checkedAdd +#print axioms LexLeanRuntime.checkedAddInt64 +#print axioms LexLeanRuntime.checkedConvert +#print axioms LexLeanRuntime.checkedFromInt +#print axioms LexLeanRuntime.checkedMultiply +#print axioms LexLeanRuntime.checkedMultiplyInt64 +#print axioms LexLeanRuntime.checkedMultiplyInt64.match_1 +#print axioms LexLeanRuntime.checkedNegate +#print axioms LexLeanRuntime.checkedNegateInt64 +#print axioms LexLeanRuntime.checkedQuotient +#print axioms LexLeanRuntime.checkedQuotientInt64 +#print axioms LexLeanRuntime.checkedSubtract +#print axioms LexLeanRuntime.checkedSubtractInt64 +#print axioms LexLeanRuntime.compareBytes +#print axioms LexLeanRuntime.divideMagnitudeInt64 +#print axioms LexLeanRuntime.divideMagnitudeInt64._f +#print axioms LexLeanRuntime.divideMagnitudeInt64._sunfold +#print axioms LexLeanRuntime.divideMagnitudeInt64._unsafe_rec +#print axioms LexLeanRuntime.divideMagnitudeInt64.match_1 +#print axioms LexLeanRuntime.equal +#print axioms LexLeanRuntime.formatDecimal +#print axioms LexLeanRuntime.index +#print axioms LexLeanRuntime.instAppendableByteArray +#print axioms LexLeanRuntime.instAppendableList +#print axioms LexLeanRuntime.instDecimalInt +#print axioms LexLeanRuntime.instDecimalInt.match_1 +#print axioms LexLeanRuntime.instDecimalOfFixedOfToString +#print axioms LexLeanRuntime.instFixedInt16 +#print axioms LexLeanRuntime.instFixedInt32 +#print axioms LexLeanRuntime.instFixedInt64 +#print axioms LexLeanRuntime.instFixedInt8 +#print axioms LexLeanRuntime.instFixedUInt16 +#print axioms LexLeanRuntime.instFixedUInt32 +#print axioms LexLeanRuntime.instFixedUInt64 +#print axioms LexLeanRuntime.instFixedUInt8 +#print axioms LexLeanRuntime.instIndexableByteArrayUInt8 +#print axioms LexLeanRuntime.instIndexableList +#print axioms LexLeanRuntime.instLengthableByteArray +#print axioms LexLeanRuntime.instLengthableList +#print axioms LexLeanRuntime.instLengthableString +#print axioms LexLeanRuntime.instQuotientInt +#print axioms LexLeanRuntime.instQuotientNat +#print axioms LexLeanRuntime.instSliceableByteArray +#print axioms LexLeanRuntime.instSliceableList +#print axioms LexLeanRuntime.instToMathIntInt +#print axioms LexLeanRuntime.join +#print axioms LexLeanRuntime.length +#print axioms LexLeanRuntime.listIndex +#print axioms LexLeanRuntime.listIndex._f +#print axioms LexLeanRuntime.listIndex._sunfold +#print axioms LexLeanRuntime.listIndex._unsafe_rec +#print axioms LexLeanRuntime.listIndex.match_1 +#print axioms LexLeanRuntime.magnitudeInt64 +#print axioms LexLeanRuntime.multiply +#print axioms LexLeanRuntime.multiplyMagnitudeInt64 +#print axioms LexLeanRuntime.multiplyMagnitudeInt64._f +#print axioms LexLeanRuntime.multiplyMagnitudeInt64._sunfold +#print axioms LexLeanRuntime.multiplyMagnitudeInt64._unsafe_rec +#print axioms LexLeanRuntime.multiplyMagnitudeInt64.match_1 +#print axioms LexLeanRuntime.negate +#print axioms LexLeanRuntime.parseDecimal +#print axioms LexLeanRuntime.quotient +#print axioms LexLeanRuntime.remainder +#print axioms LexLeanRuntime.shiftLeft +#print axioms LexLeanRuntime.shiftRight +#print axioms LexLeanRuntime.signedMagnitudeInt64 +#print axioms LexLeanRuntime.slice +#print axioms LexLeanRuntime.splitExact +#print axioms LexLeanRuntime.subtract +#print axioms LexLeanRuntime.utf8Decode +#print axioms LexLeanRuntime.utf8Encode diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Portable.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Portable.process.json new file mode 100644 index 000000000..e94510f96 --- /dev/null +++ b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Portable.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Portable.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.LexLeanRuntime.Portable","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanRuntime.Appendable' does not depend on any axioms\n'LexLeanRuntime.Appendable.append' does not depend on any axioms\n'LexLeanRuntime.Appendable.casesOn' does not depend on any axioms\n'LexLeanRuntime.Appendable.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Appendable.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Appendable.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Appendable.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Appendable.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Appendable.recOn' does not depend on any axioms\n'LexLeanRuntime.Decimal' does not depend on any axioms\n'LexLeanRuntime.Decimal.casesOn' does not depend on any axioms\n'LexLeanRuntime.Decimal.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Decimal.format' does not depend on any axioms\n'LexLeanRuntime.Decimal.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Decimal.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Decimal.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Decimal.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Decimal.parse' does not depend on any axioms\n'LexLeanRuntime.Decimal.recOn' does not depend on any axioms\n'LexLeanRuntime.Fixed' does not depend on any axioms\n'LexLeanRuntime.Fixed.bitAnd' does not depend on any axioms\n'LexLeanRuntime.Fixed.bitNot' does not depend on any axioms\n'LexLeanRuntime.Fixed.bitOr' does not depend on any axioms\n'LexLeanRuntime.Fixed.bitXor' does not depend on any axioms\n'LexLeanRuntime.Fixed.casesOn' does not depend on any axioms\n'LexLeanRuntime.Fixed.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Fixed.fromInt' does not depend on any axioms\n'LexLeanRuntime.Fixed.maximum' does not depend on any axioms\n'LexLeanRuntime.Fixed.minimum' does not depend on any axioms\n'LexLeanRuntime.Fixed.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Fixed.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Fixed.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Fixed.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Fixed.recOn' does not depend on any axioms\n'LexLeanRuntime.Fixed.shiftLeft' does not depend on any axioms\n'LexLeanRuntime.Fixed.shiftRight' does not depend on any axioms\n'LexLeanRuntime.Fixed.toToMathInt' does not depend on any axioms\n'LexLeanRuntime.Indexable' does not depend on any axioms\n'LexLeanRuntime.Indexable.casesOn' does not depend on any axioms\n'LexLeanRuntime.Indexable.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Indexable.index' does not depend on any axioms\n'LexLeanRuntime.Indexable.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Indexable.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Indexable.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Indexable.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Indexable.recOn' does not depend on any axioms\n'LexLeanRuntime.Lengthable' does not depend on any axioms\n'LexLeanRuntime.Lengthable.casesOn' does not depend on any axioms\n'LexLeanRuntime.Lengthable.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Lengthable.length' does not depend on any axioms\n'LexLeanRuntime.Lengthable.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Lengthable.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Lengthable.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Lengthable.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Lengthable.recOn' does not depend on any axioms\n'LexLeanRuntime.Quotient' does not depend on any axioms\n'LexLeanRuntime.Quotient.casesOn' does not depend on any axioms\n'LexLeanRuntime.Quotient.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Quotient.isZero' does not depend on any axioms\n'LexLeanRuntime.Quotient.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Quotient.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Quotient.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Quotient.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Quotient.quotient' does not depend on any axioms\n'LexLeanRuntime.Quotient.recOn' does not depend on any axioms\n'LexLeanRuntime.Quotient.remainder' does not depend on any axioms\n'LexLeanRuntime.Sliceable' does not depend on any axioms\n'LexLeanRuntime.Sliceable.casesOn' does not depend on any axioms\n'LexLeanRuntime.Sliceable.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Sliceable.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Sliceable.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Sliceable.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Sliceable.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Sliceable.recOn' does not depend on any axioms\n'LexLeanRuntime.Sliceable.slice' does not depend on any axioms\n'LexLeanRuntime.ToMathInt' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.casesOn' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.noConfusion' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.recOn' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.toInt' does not depend on any axioms\n'LexLeanRuntime.append' does not depend on any axioms\n'LexLeanRuntime.bitAnd' does not depend on any axioms\n'LexLeanRuntime.bitNot' does not depend on any axioms\n'LexLeanRuntime.bitOr' does not depend on any axioms\n'LexLeanRuntime.bitXor' does not depend on any axioms\n'LexLeanRuntime.checkedAdd' does not depend on any axioms\n'LexLeanRuntime.checkedAddInt64' does not depend on any axioms\n'LexLeanRuntime.checkedConvert' does not depend on any axioms\n'LexLeanRuntime.checkedFromInt' does not depend on any axioms\n'LexLeanRuntime.checkedMultiply' does not depend on any axioms\n'LexLeanRuntime.checkedMultiplyInt64' does not depend on any axioms\n'LexLeanRuntime.checkedMultiplyInt64.match_1' does not depend on any axioms\n'LexLeanRuntime.checkedNegate' does not depend on any axioms\n'LexLeanRuntime.checkedNegateInt64' does not depend on any axioms\n'LexLeanRuntime.checkedQuotient' does not depend on any axioms\n'LexLeanRuntime.checkedQuotientInt64' does not depend on any axioms\n'LexLeanRuntime.checkedSubtract' does not depend on any axioms\n'LexLeanRuntime.checkedSubtractInt64' does not depend on any axioms\n'LexLeanRuntime.compareBytes' depends on axioms: [propext]\n'LexLeanRuntime.divideMagnitudeInt64' does not depend on any axioms\n'LexLeanRuntime.divideMagnitudeInt64._f' does not depend on any axioms\n'LexLeanRuntime.divideMagnitudeInt64._sunfold' does not depend on any axioms\n'LexLeanRuntime.divideMagnitudeInt64._unsafe_rec' does not depend on any axioms\n'LexLeanRuntime.divideMagnitudeInt64.match_1' does not depend on any axioms\n'LexLeanRuntime.equal' does not depend on any axioms\n'LexLeanRuntime.formatDecimal' does not depend on any axioms\n'LexLeanRuntime.index' does not depend on any axioms\n'LexLeanRuntime.instAppendableByteArray' does not depend on any axioms\n'LexLeanRuntime.instAppendableList' does not depend on any axioms\n'LexLeanRuntime.instDecimalInt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.instDecimalInt.match_1' does not depend on any axioms\n'LexLeanRuntime.instDecimalOfFixedOfToString' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.instFixedInt16' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedInt32' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedInt64' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedInt8' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedUInt16' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedUInt32' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedUInt64' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedUInt8' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instIndexableByteArrayUInt8' does not depend on any axioms\n'LexLeanRuntime.instIndexableList' does not depend on any axioms\n'LexLeanRuntime.instLengthableByteArray' does not depend on any axioms\n'LexLeanRuntime.instLengthableList' does not depend on any axioms\n'LexLeanRuntime.instLengthableString' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.instQuotientInt' does not depend on any axioms\n'LexLeanRuntime.instQuotientNat' does not depend on any axioms\n'LexLeanRuntime.instSliceableByteArray' does not depend on any axioms\n'LexLeanRuntime.instSliceableList' does not depend on any axioms\n'LexLeanRuntime.instToMathIntInt' does not depend on any axioms\n'LexLeanRuntime.join' depends on axioms: [propext]\n'LexLeanRuntime.length' does not depend on any axioms\n'LexLeanRuntime.listIndex' does not depend on any axioms\n'LexLeanRuntime.listIndex._f' does not depend on any axioms\n'LexLeanRuntime.listIndex._sunfold' does not depend on any axioms\n'LexLeanRuntime.listIndex._unsafe_rec' does not depend on any axioms\n'LexLeanRuntime.listIndex.match_1' does not depend on any axioms\n'LexLeanRuntime.magnitudeInt64' does not depend on any axioms\n'LexLeanRuntime.multiply' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64._f' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64._sunfold' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64._unsafe_rec' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64.match_1' does not depend on any axioms\n'LexLeanRuntime.negate' does not depend on any axioms\n'LexLeanRuntime.parseDecimal' does not depend on any axioms\n'LexLeanRuntime.quotient' does not depend on any axioms\n'LexLeanRuntime.remainder' does not depend on any axioms\n'LexLeanRuntime.shiftLeft' does not depend on any axioms\n'LexLeanRuntime.shiftRight' does not depend on any axioms\n'LexLeanRuntime.signedMagnitudeInt64' does not depend on any axioms\n'LexLeanRuntime.slice' does not depend on any axioms\n'LexLeanRuntime.splitExact' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.subtract' does not depend on any axioms\n'LexLeanRuntime.utf8Decode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.utf8Encode' does not depend on any axioms\n","stdout_sha256":"73fea1d9e9e9f0a2f1363b9f284eeeb9e434430e9fa910260b9526bad864641e","tool":"lean"} diff --git a/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Flows.lean b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Flows.lean similarity index 100% rename from examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Flows.lean rename to examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Flows.lean diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Flows.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Flows.process.json new file mode 100644 index 000000000..03aa29efd --- /dev/null +++ b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Flows.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Flows.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Flows","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Models.Flows.BothCapped' does not depend on any axioms\n'Models.Flows.BranchContract.invariant_sound' depends on axioms: [propext]\n'Models.Flows.BranchContract.precondition_sound' depends on axioms: [propext]\n'Models.Flows.BranchModel' does not depend on any axioms\n'Models.Flows.BranchModel.initial' does not depend on any axioms\n'Models.Flows.ChainContract.invariant_sound' depends on axioms: [propext]\n'Models.Flows.ChainContract.precondition_sound' depends on axioms: [propext]\n'Models.Flows.ChainModel' does not depend on any axioms\n'Models.Flows.ChainModel.initial' does not depend on any axioms\n'Models.Flows.ClampBoth' does not depend on any axioms\n'Models.Flows.ClampBoth.initial' does not depend on any axioms\n'Models.Flows.ClampGuess' does not depend on any axioms\n'Models.Flows.ClampGuess.initial' does not depend on any axioms\n'Models.Flows.ClampOrTally' does not depend on any axioms\n'Models.Flows.ClampOrTally.initial' does not depend on any axioms\n'Models.Flows.ClampTally' does not depend on any axioms\n'Models.Flows.ClampTally.initial' does not depend on any axioms\n'Models.Flows.Drain' does not depend on any axioms\n'Models.Flows.Drain.initial' does not depend on any axioms\n'Models.Flows.DrainChainModel' does not depend on any axioms\n'Models.Flows.DrainChainModel.initial' does not depend on any axioms\n'Models.Flows.DrainModel' does not depend on any axioms\n'Models.Flows.DrainModel.initial' does not depend on any axioms\n'Models.Flows.Few' does not depend on any axioms\n'Models.Flows.FlowContract.invariant_sound' depends on axioms: [propext]\n'Models.Flows.FlowModel' does not depend on any axioms\n'Models.Flows.FlowModel.initial' does not depend on any axioms\n'Models.Flows.GuessOvershoot' does not depend on any axioms\n'Models.Flows.GuessTwice' does not depend on any axioms\n'Models.Flows.OvershootPairModel' does not depend on any axioms\n'Models.Flows.PairClampContract.invariant_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Models.Flows.PairClampModel' does not depend on any axioms\n'Models.Flows.PairClampModel.initial' does not depend on any axioms\n'Models.Flows.PairGuessContract.precondition_sound' depends on axioms: [propext]\n'Models.Flows.PairGuessModel' does not depend on any axioms\n'Models.Flows.RawChainContract.invariant_sound' depends on axioms: [propext]\n'Models.Flows.RawChainModel' does not depend on any axioms\n'Models.Flows.RawChainModel.initial' does not depend on any axioms\n'Models.Flows.SpillStream' does not depend on any axioms\n'Models.Flows.SpillStreamContract.precondition_sound' depends on axioms: [propext]\n'Models.Flows.SpillStreamModel' does not depend on any axioms\n'Models.Flows.SpillTally' does not depend on any axioms\n'Models.Flows.SpillTally.initial' does not depend on any axioms\n'Models.Flows.TallyDrain' does not depend on any axioms\n'Models.Flows.TallyDrain.initial' does not depend on any axioms\n'Models.Flows.TallySpillRaw' does not depend on any axioms\n'Models.Flows.TallySpillRaw.initial' does not depend on any axioms\n'Models.Flows.TwinCapped' does not depend on any axioms\n'Models.Flows.TwinContract.invariant_sound' depends on axioms: [propext]\n'Models.Flows.TwinContract.precondition_sound' depends on axioms: [propext]\n'Models.Flows.TwinModel' does not depend on any axioms\n'Models.Flows.TwinModel.initial' does not depend on any axioms\n'Models.Flows.TwinSmall' does not depend on any axioms\n'Models.Flows.bothCappedCheck' does not depend on any axioms\n'Models.Flows.both_capped_check_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Models.Flows.both_entry_left' depends on axioms: [propext, Quot.sound]\n'Models.Flows.both_entry_right' depends on axioms: [propext, Quot.sound]\n'Models.Flows.branch_entry_else' does not depend on any axioms\n'Models.Flows.branch_entry_then' does not depend on any axioms\n'Models.Flows.chain_entry_invariant' does not depend on any axioms\n'Models.Flows.chain_entry_precondition' does not depend on any axioms\n'Models.Flows.fewCheck' does not depend on any axioms\n'Models.Flows.few_check_sound' depends on axioms: [propext]\n'Models.Flows.flow_capped_sound' depends on axioms: [propext]\n'Models.Flows.flow_entry' does not depend on any axioms\n'Models.Flows.pair_entry_left' does not depend on any axioms\n'Models.Flows.pair_entry_right' does not depend on any axioms\n'Models.Flows.pair_within_sound' depends on axioms: [propext]\n'Models.Flows.spill_tally' does not depend on any axioms\n'Models.Flows.twinCappedCheck' does not depend on any axioms\n'Models.Flows.twinSmallCheck' does not depend on any axioms\n'Models.Flows.twin_capped_check_sound' depends on axioms: [propext]\n'Models.Flows.twin_entry_left' does not depend on any axioms\n'Models.Flows.twin_entry_right' does not depend on any axioms\n'Models.Flows.twin_small_check_sound' depends on axioms: [propext]\n","stdout_sha256":"090ddb641a708c3d8e10daed419a524c1203ac41b5b8ae709a5dd78aea4fbf2b","tool":"lean"} diff --git a/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Glyphs.lean b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Glyphs.lean similarity index 100% rename from examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Glyphs.lean rename to examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Glyphs.lean diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Glyphs.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Glyphs.process.json new file mode 100644 index 000000000..f7d5ec935 --- /dev/null +++ b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Glyphs.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Glyphs.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Glyphs","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Models.Glyphs.Glyph' does not depend on any axioms\n'Models.Glyphs.digitOf' does not depend on any axioms\n'Models.Glyphs.encode' does not depend on any axioms\n'Models.Glyphs.encode_width' does not depend on any axioms\n'Models.Glyphs.isEight' does not depend on any axioms\n'Models.Glyphs.segmentCount' does not depend on any axioms\n","stdout_sha256":"1764c5768cb6db2798341b7ddfaf8b768b57d2bb29d42349f16699721cb3527c","tool":"lean"} diff --git a/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Ledger.lean b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Ledger.lean similarity index 100% rename from examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Ledger.lean rename to examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Ledger.lean diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Ledger.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Ledger.process.json new file mode 100644 index 000000000..52a474721 --- /dev/null +++ b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Ledger.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Ledger.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Ledger","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Models.Ledger.Below' does not depend on any axioms\n'Models.Ledger.CapContract.invariant_complete' depends on axioms: [propext]\n'Models.Ledger.CapContract.invariant_sound' depends on axioms: [propext]\n'Models.Ledger.CapContract.postcondition_sound' depends on axioms: [propext]\n'Models.Ledger.Capped' does not depend on any axioms\n'Models.Ledger.Clamp' does not depend on any axioms\n'Models.Ledger.Clamp.initial' does not depend on any axioms\n'Models.Ledger.ClampEvidence.clamp_grows' depends on axioms: [propext, Quot.sound]\n'Models.Ledger.ClampEvidence.clamp_initial' does not depend on any axioms\n'Models.Ledger.ClampEvidence.clamp_preserves' depends on axioms: [propext, Quot.sound]\n'Models.Ledger.ClampEvidence.clamp_reference' depends on axioms: [propext]\n'Models.Ledger.ClampModel' does not depend on any axioms\n'Models.Ledger.ClampModel.initial' does not depend on any axioms\n'Models.Ledger.FreeContract.postcondition_sound' depends on axioms: [propext]\n'Models.Ledger.FreeEvidence.tally_free_grows' depends on axioms: [propext, Quot.sound]\n'Models.Ledger.FreeEvidence.tally_free_reference' depends on axioms: [propext]\n'Models.Ledger.FreeModel' does not depend on any axioms\n'Models.Ledger.FreeModel.initial' does not depend on any axioms\n'Models.Ledger.Grows' does not depend on any axioms\n'Models.Ledger.Guess' does not depend on any axioms\n'Models.Ledger.GuessContract.postcondition_sound' depends on axioms: [propext]\n'Models.Ledger.GuessContract.precondition_complete' depends on axioms: [propext]\n'Models.Ledger.GuessContract.precondition_sound' depends on axioms: [propext]\n'Models.Ledger.GuessEquivalence.guess_reference' depends on axioms: [propext]\n'Models.Ledger.GuessExactModel' does not depend on any axioms\n'Models.Ledger.GuessModel' does not depend on any axioms\n'Models.Ledger.GuessSample.guess_agreement' does not depend on any axioms\n'Models.Ledger.LedgerContract.invariant_complete' depends on axioms: [propext]\n'Models.Ledger.LedgerContract.invariant_sound' depends on axioms: [propext]\n'Models.Ledger.LedgerContract.postcondition_complete' depends on axioms: [propext]\n'Models.Ledger.LedgerContract.postcondition_sound' depends on axioms: [propext]\n'Models.Ledger.LedgerContract.precondition_sound' depends on axioms: [propext]\n'Models.Ledger.Overshoot' does not depend on any axioms\n'Models.Ledger.OvershootModel' does not depend on any axioms\n'Models.Ledger.Small' does not depend on any axioms\n'Models.Ledger.Spill' does not depend on any axioms\n'Models.Ledger.Spill.initial' does not depend on any axioms\n'Models.Ledger.SpillEvidence.spill_grows' depends on axioms: [propext, Quot.sound]\n'Models.Ledger.SpillModel' does not depend on any axioms\n'Models.Ledger.SpillModel.initial' does not depend on any axioms\n'Models.Ledger.SpillRawModel' does not depend on any axioms\n'Models.Ledger.SpillRawModel.initial' does not depend on any axioms\n'Models.Ledger.SpillReference.spill_reference' depends on axioms: [propext]\n'Models.Ledger.Tally' does not depend on any axioms\n'Models.Ledger.Tally.initial' does not depend on any axioms\n'Models.Ledger.TallyContract.postcondition_sound' depends on axioms: [propext]\n'Models.Ledger.TallyContract.precondition_sound' depends on axioms: [propext]\n'Models.Ledger.TallyEvidence.tally_grows' depends on axioms: [propext, Quot.sound]\n'Models.Ledger.TallyEvidence.tally_reference' depends on axioms: [propext]\n'Models.Ledger.TallyModel' does not depend on any axioms\n'Models.Ledger.TallyModel.initial' does not depend on any axioms\n'Models.Ledger.Within' does not depend on any axioms\n'Models.Ledger.belowCheck' does not depend on any axioms\n'Models.Ledger.below_check_sound' depends on axioms: [propext]\n'Models.Ledger.cappedCheck' does not depend on any axioms\n'Models.Ledger.capped_check_complete' depends on axioms: [propext]\n'Models.Ledger.capped_check_sound' depends on axioms: [propext]\n'Models.Ledger.clampRef' does not depend on any axioms\n'Models.Ledger.clamp_grows' depends on axioms: [propext, Quot.sound]\n'Models.Ledger.clamp_initial' does not depend on any axioms\n'Models.Ledger.clamp_preserves' depends on axioms: [propext, Quot.sound]\n'Models.Ledger.clamp_reference' depends on axioms: [propext]\n'Models.Ledger.growsCheck' does not depend on any axioms\n'Models.Ledger.grows_check_complete' depends on axioms: [propext]\n'Models.Ledger.grows_check_sound' depends on axioms: [propext]\n'Models.Ledger.guessRef' does not depend on any axioms\n'Models.Ledger.guessSamples' does not depend on any axioms\n'Models.Ledger.guess_agreement' does not depend on any axioms\n'Models.Ledger.guess_reference' depends on axioms: [propext]\n'Models.Ledger.sameNat' does not depend on any axioms\n'Models.Ledger.same_nat_sound' depends on axioms: [propext]\n'Models.Ledger.smallCheck' does not depend on any axioms\n'Models.Ledger.small_check_sound' depends on axioms: [propext]\n'Models.Ledger.spillRef' does not depend on any axioms\n'Models.Ledger.spill_grows' depends on axioms: [propext, Quot.sound]\n'Models.Ledger.spill_reference' depends on axioms: [propext]\n'Models.Ledger.tallyRef' does not depend on any axioms\n'Models.Ledger.tally_free_grows' depends on axioms: [propext, Quot.sound]\n'Models.Ledger.tally_free_reference' depends on axioms: [propext]\n'Models.Ledger.tally_grows' depends on axioms: [propext, Quot.sound]\n'Models.Ledger.tally_reference' depends on axioms: [propext]\n'Models.Ledger.violationCode' does not depend on any axioms\n'Models.Ledger.withinCheck' does not depend on any axioms\n'Models.Ledger.within_check_complete' depends on axioms: [propext]\n'Models.Ledger.within_check_sound' depends on axioms: [propext]\n","stdout_sha256":"0906cff53c4ed452adb799c9fa7c1d2a73a86b3cc74b745342ac5245b8acf079","tool":"lean"} diff --git a/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Main.lean b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Main.lean similarity index 100% rename from examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Main.lean rename to examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Main.lean diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Main.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Main.process.json new file mode 100644 index 000000000..1172b9095 --- /dev/null +++ b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Main.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Main","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Models.Main.admission' does not depend on any axioms\n'Models.Main.admitCosts' does not depend on any axioms\n'Models.Main.admit_accepts_cheap' does not depend on any axioms\n'Models.Main.admit_rejects_costly' does not depend on any axioms\n'Models.Main.branchCode' does not depend on any axioms\n'Models.Main.branchStep' does not depend on any axioms\n'Models.Main.branch_refuses_precondition' does not depend on any axioms\n'Models.Main.branch_takes_else' does not depend on any axioms\n'Models.Main.branch_takes_then' does not depend on any axioms\n'Models.Main.chainCode' does not depend on any axioms\n'Models.Main.chainStep' does not depend on any axioms\n'Models.Main.chain_accepts' does not depend on any axioms\n'Models.Main.chain_refuses_precondition' does not depend on any axioms\n'Models.Main.chain_refuses_stage_output' does not depend on any axioms\n'Models.Main.classify' depends on axioms: [propext]\n'Models.Main.classifyChecked' depends on axioms: [propext]\n'Models.Main.classify_eight' depends on axioms: [propext]\n'Models.Main.drainChainStep' does not depend on any axioms\n'Models.Main.drain_chain_accepts' does not depend on any axioms\n'Models.Main.drain_chain_refuses_postcondition' does not depend on any axioms\n'Models.Main.flowCode' does not depend on any axioms\n'Models.Main.flowStep' does not depend on any axioms\n'Models.Main.flow_accepts' does not depend on any axioms\n'Models.Main.flow_refuses_input' does not depend on any axioms\n'Models.Main.flow_refuses_junction' does not depend on any axioms\n'Models.Main.guessChecked' does not depend on any axioms\n'Models.Main.guessOvershoot' does not depend on any axioms\n'Models.Main.guessTwice' does not depend on any axioms\n'Models.Main.guess_accepts' does not depend on any axioms\n'Models.Main.guess_refuses_precondition' does not depend on any axioms\n'Models.Main.ledgerFull' does not depend on any axioms\n'Models.Main.ledgerPost' does not depend on any axioms\n'Models.Main.ledger_accepts' does not depend on any axioms\n'Models.Main.ledger_full_accepts' does not depend on any axioms\n'Models.Main.ledger_full_refuses_output' does not depend on any axioms\n'Models.Main.ledger_refuses_input' does not depend on any axioms\n'Models.Main.ledger_refuses_output' does not depend on any axioms\n'Models.Main.ledger_refuses_precondition' does not depend on any axioms\n'Models.Main.overshootChecked' does not depend on any axioms\n'Models.Main.overshoot_pair_refuses_postcondition' does not depend on any axioms\n'Models.Main.overshoot_refuses_postcondition' does not depend on any axioms\n'Models.Main.pairClamp' does not depend on any axioms\n'Models.Main.pair_clamp_accepts' does not depend on any axioms\n'Models.Main.pair_clamp_refuses_input' does not depend on any axioms\n'Models.Main.quadCode' does not depend on any axioms\n'Models.Main.rawChainStep' does not depend on any axioms\n'Models.Main.raw_chain_accepts' does not depend on any axioms\n'Models.Main.raw_chain_refuses_input' does not depend on any axioms\n'Models.Main.raw_chain_refuses_precondition' does not depend on any axioms\n'Models.Main.respond' depends on axioms: [propext]\n'Models.Main.spillStream' does not depend on any axioms\n'Models.Main.step' does not depend on any axioms\n'Models.Main.stepCode' does not depend on any axioms\n'Models.Main.streamCode' does not depend on any axioms\n'Models.Main.stream_accepts' does not depend on any axioms\n'Models.Main.stream_refuses_output' does not depend on any axioms\n'Models.Main.twiceCode' does not depend on any axioms\n'Models.Main.twice_accepts' does not depend on any axioms\n'Models.Main.twice_refuses' does not depend on any axioms\n'Models.Main.twinStep' does not depend on any axioms\n'Models.Main.twin_accepts' does not depend on any axioms\n'Models.Main.twin_refuses_input' does not depend on any axioms\n'Models.Main.twin_refuses_precondition' does not depend on any axioms\n'Models.Main.valueCode' does not depend on any axioms\n","stdout_sha256":"e3d25ec7612d3d524a16f7635c0ff54fe7ee057f27ef341f9b384b0161610666","tool":"lean"} diff --git a/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Pipeline.lean b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Pipeline.lean similarity index 100% rename from examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Pipeline.lean rename to examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Pipeline.lean diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Pipeline.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Pipeline.process.json new file mode 100644 index 000000000..056bb9528 --- /dev/null +++ b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Pipeline.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Pipeline.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Pipeline","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Models.Pipeline.Answered' does not depend on any axioms\n'Models.Pipeline.Bounded9' does not depend on any axioms\n'Models.Pipeline.CheckedEvidence.checked_answers' depends on axioms: [propext]\n'Models.Pipeline.CheckedModel' depends on axioms: [propext]\n'Models.Pipeline.CheckedPipeline' depends on axioms: [propext]\n'Models.Pipeline.GlyphPair' does not depend on any axioms\n'Models.Pipeline.GlyphReport' depends on axioms: [propext]\n'Models.Pipeline.GlyphRoute' depends on axioms: [propext]\n'Models.Pipeline.Lit' does not depend on any axioms\n'Models.Pipeline.PairEvidence.pair_correct' does not depend on any axioms\n'Models.Pipeline.PairLit' does not depend on any axioms\n'Models.Pipeline.PairModel' does not depend on any axioms\n'Models.Pipeline.PipelineContract.precondition_sound' does not depend on any axioms\n'Models.Pipeline.PipelineEvidence.pipeline_responds' depends on axioms: [propext]\n'Models.Pipeline.PipelineModel' depends on axioms: [propext]\n'Models.Pipeline.ReportEvidence.report_correct' depends on axioms: [propext]\n'Models.Pipeline.ReportModel' depends on axioms: [propext]\n'Models.Pipeline.Reported' does not depend on any axioms\n'Models.Pipeline.Responds' does not depend on any axioms\n'Models.Pipeline.RouteEvidence.route_bounded' depends on axioms: [propext]\n'Models.Pipeline.RouteModel' depends on axioms: [propext]\n'Models.Pipeline.SegmentCounter' does not depend on any axioms\n'Models.Pipeline.SegmentEvidence.segments_lit' does not depend on any axioms\n'Models.Pipeline.SegmentModel' does not depend on any axioms\n'Models.Pipeline.SessionStream' does not depend on any axioms\n'Models.Pipeline.ShortStream' does not depend on any axioms\n'Models.Pipeline.StreamContract.precondition_sound' depends on axioms: [propext, Quot.sound]\n'Models.Pipeline.StreamModel' does not depend on any axioms\n'Models.Pipeline.TriagePipeline' depends on axioms: [propext]\n'Models.Pipeline.checked_answers' depends on axioms: [propext]\n'Models.Pipeline.pair_correct' does not depend on any axioms\n'Models.Pipeline.pipeline_entry' does not depend on any axioms\n'Models.Pipeline.pipeline_responds' depends on axioms: [propext]\n'Models.Pipeline.report_correct' depends on axioms: [propext]\n'Models.Pipeline.resultCode' does not depend on any axioms\n'Models.Pipeline.route_bounded' depends on axioms: [propext]\n'Models.Pipeline.segments_lit' does not depend on any axioms\n'Models.Pipeline.shortStreamCheck' does not depend on any axioms\n'Models.Pipeline.short_stream_check_sound' depends on axioms: [propext, Quot.sound]\n'Models.Pipeline.symptomatic_sound' does not depend on any axioms\n'Models.Pipeline.triage_actionable' depends on axioms: [propext]\n","stdout_sha256":"0dc16ef42f1b4fafea1004c5a0e46ae569ddbec65791ac9fc89c029e62401683","tool":"lean"} diff --git a/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Policy.lean b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Policy.lean similarity index 100% rename from examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Policy.lean rename to examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Policy.lean diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Policy.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Policy.process.json new file mode 100644 index 000000000..8ea73d42b --- /dev/null +++ b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Policy.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Policy.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Policy","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Models.Policy.Actionable' does not depend on any axioms\n'Models.Policy.Escalates' does not depend on any axioms\n'Models.Policy.PolicyContract.precondition_complete' does not depend on any axioms\n'Models.Policy.PolicyContract.precondition_sound' does not depend on any axioms\n'Models.Policy.PolicyEvidence.policy_escalates' does not depend on any axioms\n'Models.Policy.PolicyModel' does not depend on any axioms\n'Models.Policy.PolicyRules' does not depend on any axioms\n'Models.Policy.PolicyRules.selected' does not depend on any axioms\n'Models.Policy.actionableCheck' does not depend on any axioms\n'Models.Policy.actionable_check_complete' does not depend on any axioms\n'Models.Policy.actionable_check_sound' does not depend on any axioms\n'Models.Policy.emergency_dispatches' does not depend on any axioms\n'Models.Policy.isUrgent' does not depend on any axioms\n'Models.Policy.policy_escalates' does not depend on any axioms\n","stdout_sha256":"270b3535085cfe0cb7e75fc0f2df214d0fd2ec13f84dd5ee6c2c74e95db97b61","tool":"lean"} diff --git a/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Recognizer.lean b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Recognizer.lean similarity index 100% rename from examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Recognizer.lean rename to examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Recognizer.lean diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Recognizer.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Recognizer.process.json new file mode 100644 index 000000000..7265aa4b5 --- /dev/null +++ b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Recognizer.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Recognizer.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Recognizer","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Models.Recognizer.DigitContract.postcondition_complete' depends on axioms: [propext]\n'Models.Recognizer.DigitContract.postcondition_sound' depends on axioms: [propext]\n'Models.Recognizer.DigitEvidence.digit_net_correct' depends on axioms: [propext]\n'Models.Recognizer.DigitEvidence.digit_net_exact' depends on axioms: [propext]\n'Models.Recognizer.DigitEvidence.labeled_agreement' depends on axioms: [propext]\n'Models.Recognizer.DigitModel' depends on axioms: [propext]\n'Models.Recognizer.DigitNet' depends on axioms: [propext]\n'Models.Recognizer.DigitNet.encoded' does not depend on any axioms\n'Models.Recognizer.DigitNet.layer1' does not depend on any axioms\n'Models.Recognizer.DigitNet.layer2' depends on axioms: [propext]\n'Models.Recognizer.DigitNet.layer3' depends on axioms: [propext]\n'Models.Recognizer.DigitNet.layer4' does not depend on any axioms\n'Models.Recognizer.DigitNet.logits' depends on axioms: [propext]\n'Models.Recognizer.RawDigitModel' depends on axioms: [propext]\n'Models.Recognizer.Recognizes' does not depend on any axioms\n'Models.Recognizer.banner' does not depend on any axioms\n'Models.Recognizer.banner.bytes' does not depend on any axioms\n'Models.Recognizer.banner.decoded' does not depend on any axioms\n'Models.Recognizer.digitName' does not depend on any axioms\n'Models.Recognizer.digitNames' does not depend on any axioms\n'Models.Recognizer.digitNames.bytes' does not depend on any axioms\n'Models.Recognizer.digitNames.decoded' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Models.Recognizer.digit_net_correct' depends on axioms: [propext]\n'Models.Recognizer.digit_net_exact' depends on axioms: [propext]\n'Models.Recognizer.digit_net_width' does not depend on any axioms\n'Models.Recognizer.hiddenBias' does not depend on any axioms\n'Models.Recognizer.hiddenBias.bytes' does not depend on any axioms\n'Models.Recognizer.hiddenBias.decoded' does not depend on any axioms\n'Models.Recognizer.hiddenWeights' does not depend on any axioms\n'Models.Recognizer.hiddenWeights.bytes' does not depend on any axioms\n'Models.Recognizer.hiddenWeights.decoded' does not depend on any axioms\n'Models.Recognizer.labeledGlyphs' does not depend on any axioms\n'Models.Recognizer.labeled_agreement' depends on axioms: [propext]\n'Models.Recognizer.outputBias' does not depend on any axioms\n'Models.Recognizer.outputBias.bytes' does not depend on any axioms\n'Models.Recognizer.outputBias.decoded' does not depend on any axioms\n'Models.Recognizer.outputWeights' does not depend on any axioms\n'Models.Recognizer.outputWeights.bytes' does not depend on any axioms\n'Models.Recognizer.outputWeights.decoded' does not depend on any axioms\n'Models.Recognizer.recognizesCheck' does not depend on any axioms\n'Models.Recognizer.recognizes_check_complete' depends on axioms: [propext]\n'Models.Recognizer.recognizes_check_sound' depends on axioms: [propext]\n'Models.Recognizer.sameDigit' does not depend on any axioms\n'Models.Recognizer.same_digit_sound' depends on axioms: [propext]\n","stdout_sha256":"60af4cd88341dc6ed70fd6c68abe9115fc2ca32ba7267d0e09c06d781e05bb3f","tool":"lean"} diff --git a/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Session.lean b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Session.lean similarity index 100% rename from examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Session.lean rename to examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Session.lean diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Session.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Session.process.json new file mode 100644 index 000000000..6cc56e49c --- /dev/null +++ b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Session.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Session.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Session","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Models.Session.Affordable' does not depend on any axioms\n'Models.Session.Bounded' does not depend on any axioms\n'Models.Session.Conserves' does not depend on any axioms\n'Models.Session.SessionContract.invariant_sound' depends on axioms: [propext]\n'Models.Session.SessionContract.precondition_sound' depends on axioms: [propext]\n'Models.Session.SessionEvidence.session_conserves' depends on axioms: [propext, Quot.sound]\n'Models.Session.SessionEvidence.session_initial' does not depend on any axioms\n'Models.Session.SessionEvidence.session_preserves' depends on axioms: [propext, Quot.sound]\n'Models.Session.SessionModel' does not depend on any axioms\n'Models.Session.SessionModel.initial' does not depend on any axioms\n'Models.Session.SessionStep' does not depend on any axioms\n'Models.Session.SessionStep.initial' does not depend on any axioms\n'Models.Session.Window' does not depend on any axioms\n'Models.Session.affordableCheck' does not depend on any axioms\n'Models.Session.affordable_check_sound' depends on axioms: [propext]\n'Models.Session.boundedCheck' does not depend on any axioms\n'Models.Session.bounded_check_sound' depends on axioms: [propext]\n'Models.Session.session_conserves' depends on axioms: [propext, Quot.sound]\n'Models.Session.session_initial' does not depend on any axioms\n'Models.Session.session_preserves' depends on axioms: [propext, Quot.sound]\n","stdout_sha256":"5b3dd4ed72a0f66dee11301a85b919df9929b103d83b10386079e5666ff0ca8c","tool":"lean"} diff --git a/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Triage.lean b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Triage.lean similarity index 100% rename from examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Triage.lean rename to examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Triage.lean diff --git a/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Triage.process.json b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Triage.process.json new file mode 100644 index 000000000..ff013d582 --- /dev/null +++ b/examples/models/expected/verify/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Triage.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Triage.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A0f600e9a78a6f4d72a3e289fa7bc71d4.Models.Triage","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Models.Triage.Level' does not depend on any axioms\n'Models.Triage.Presentation' does not depend on any axioms\n'Models.Triage.Safe' does not depend on any axioms\n'Models.Triage.Symptomatic' does not depend on any axioms\n'Models.Triage.TriageContract.precondition_sound' does not depend on any axioms\n'Models.Triage.TriageEvidence.triage_safe' depends on axioms: [propext]\n'Models.Triage.TriageModel' depends on axioms: [propext]\n'Models.Triage.TriageScore' depends on axioms: [propext]\n'Models.Triage.TriageScore.features' does not depend on any axioms\n'Models.Triage.TriageScore.scores' does not depend on any axioms\n'Models.Triage.features' does not depend on any axioms\n'Models.Triage.hasSymptom' does not depend on any axioms\n'Models.Triage.isBreathless' does not depend on any axioms\n'Models.Triage.isEmergency' does not depend on any axioms\n'Models.Triage.isRoutine' does not depend on any axioms\n'Models.Triage.symptomaticCheck' does not depend on any axioms\n'Models.Triage.symptomatic_check_sound' does not depend on any axioms\n'Models.Triage.triageBias' does not depend on any axioms\n'Models.Triage.triageBias.bytes' does not depend on any axioms\n'Models.Triage.triageBias.decoded' does not depend on any axioms\n'Models.Triage.triageWeights' does not depend on any axioms\n'Models.Triage.triageWeights.bytes' does not depend on any axioms\n'Models.Triage.triageWeights.decoded' does not depend on any axioms\n'Models.Triage.triage_safe' depends on axioms: [propext]\n'Models.Triage.triage_width' does not depend on any axioms\n","stdout_sha256":"8f5494414737d009f24637a313c3f98408cfea4d290db1d9285d4af1f3d9525c","tool":"lean"} diff --git a/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Flows.process.json b/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Flows.process.json deleted file mode 100644 index 33e150c29..000000000 --- a/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Flows.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Flows.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Flows","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Models.Flows.BothCapped' does not depend on any axioms\n'Models.Flows.BranchContract.invariant_sound' depends on axioms: [propext]\n'Models.Flows.BranchContract.precondition_sound' depends on axioms: [propext]\n'Models.Flows.BranchModel' does not depend on any axioms\n'Models.Flows.BranchModel.initial' does not depend on any axioms\n'Models.Flows.ChainContract.invariant_sound' depends on axioms: [propext]\n'Models.Flows.ChainContract.precondition_sound' depends on axioms: [propext]\n'Models.Flows.ChainModel' does not depend on any axioms\n'Models.Flows.ChainModel.initial' does not depend on any axioms\n'Models.Flows.ClampBoth' does not depend on any axioms\n'Models.Flows.ClampBoth.initial' does not depend on any axioms\n'Models.Flows.ClampGuess' does not depend on any axioms\n'Models.Flows.ClampGuess.initial' does not depend on any axioms\n'Models.Flows.ClampOrTally' does not depend on any axioms\n'Models.Flows.ClampOrTally.initial' does not depend on any axioms\n'Models.Flows.ClampTally' does not depend on any axioms\n'Models.Flows.ClampTally.initial' does not depend on any axioms\n'Models.Flows.Drain' does not depend on any axioms\n'Models.Flows.Drain.initial' does not depend on any axioms\n'Models.Flows.DrainChainModel' does not depend on any axioms\n'Models.Flows.DrainChainModel.initial' does not depend on any axioms\n'Models.Flows.DrainModel' does not depend on any axioms\n'Models.Flows.DrainModel.initial' does not depend on any axioms\n'Models.Flows.Few' does not depend on any axioms\n'Models.Flows.FlowContract.invariant_sound' depends on axioms: [propext]\n'Models.Flows.FlowModel' does not depend on any axioms\n'Models.Flows.FlowModel.initial' does not depend on any axioms\n'Models.Flows.GuessOvershoot' does not depend on any axioms\n'Models.Flows.GuessTwice' does not depend on any axioms\n'Models.Flows.OvershootPairModel' does not depend on any axioms\n'Models.Flows.PairClampContract.invariant_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Models.Flows.PairClampModel' does not depend on any axioms\n'Models.Flows.PairClampModel.initial' does not depend on any axioms\n'Models.Flows.PairGuessContract.precondition_sound' depends on axioms: [propext]\n'Models.Flows.PairGuessModel' does not depend on any axioms\n'Models.Flows.RawChainContract.invariant_sound' depends on axioms: [propext]\n'Models.Flows.RawChainModel' does not depend on any axioms\n'Models.Flows.RawChainModel.initial' does not depend on any axioms\n'Models.Flows.SpillStream' does not depend on any axioms\n'Models.Flows.SpillStreamContract.precondition_sound' depends on axioms: [propext]\n'Models.Flows.SpillStreamModel' does not depend on any axioms\n'Models.Flows.SpillTally' does not depend on any axioms\n'Models.Flows.SpillTally.initial' does not depend on any axioms\n'Models.Flows.TallyDrain' does not depend on any axioms\n'Models.Flows.TallyDrain.initial' does not depend on any axioms\n'Models.Flows.TallySpillRaw' does not depend on any axioms\n'Models.Flows.TallySpillRaw.initial' does not depend on any axioms\n'Models.Flows.TwinCapped' does not depend on any axioms\n'Models.Flows.TwinContract.invariant_sound' depends on axioms: [propext]\n'Models.Flows.TwinContract.precondition_sound' depends on axioms: [propext]\n'Models.Flows.TwinModel' does not depend on any axioms\n'Models.Flows.TwinModel.initial' does not depend on any axioms\n'Models.Flows.TwinSmall' does not depend on any axioms\n'Models.Flows.bothCappedCheck' does not depend on any axioms\n'Models.Flows.both_capped_check_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Models.Flows.both_entry_left' depends on axioms: [propext, Quot.sound]\n'Models.Flows.both_entry_right' depends on axioms: [propext, Quot.sound]\n'Models.Flows.branch_entry_else' does not depend on any axioms\n'Models.Flows.branch_entry_then' does not depend on any axioms\n'Models.Flows.chain_entry_invariant' does not depend on any axioms\n'Models.Flows.chain_entry_precondition' does not depend on any axioms\n'Models.Flows.fewCheck' does not depend on any axioms\n'Models.Flows.few_check_sound' depends on axioms: [propext]\n'Models.Flows.flow_capped_sound' depends on axioms: [propext]\n'Models.Flows.flow_entry' does not depend on any axioms\n'Models.Flows.pair_entry_left' does not depend on any axioms\n'Models.Flows.pair_entry_right' does not depend on any axioms\n'Models.Flows.pair_within_sound' depends on axioms: [propext]\n'Models.Flows.spill_tally' does not depend on any axioms\n'Models.Flows.twinCappedCheck' does not depend on any axioms\n'Models.Flows.twinSmallCheck' does not depend on any axioms\n'Models.Flows.twin_capped_check_sound' depends on axioms: [propext]\n'Models.Flows.twin_entry_left' does not depend on any axioms\n'Models.Flows.twin_entry_right' does not depend on any axioms\n'Models.Flows.twin_small_check_sound' depends on axioms: [propext]\n","stdout_sha256":"090ddb641a708c3d8e10daed419a524c1203ac41b5b8ae709a5dd78aea4fbf2b","tool":"lean"} diff --git a/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Glyphs.process.json b/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Glyphs.process.json deleted file mode 100644 index 2aaf176ef..000000000 --- a/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Glyphs.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Glyphs.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Glyphs","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Models.Glyphs.Glyph' does not depend on any axioms\n'Models.Glyphs.digitOf' does not depend on any axioms\n'Models.Glyphs.encode' does not depend on any axioms\n'Models.Glyphs.encode_width' does not depend on any axioms\n'Models.Glyphs.isEight' does not depend on any axioms\n'Models.Glyphs.segmentCount' does not depend on any axioms\n","stdout_sha256":"1764c5768cb6db2798341b7ddfaf8b768b57d2bb29d42349f16699721cb3527c","tool":"lean"} diff --git a/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Ledger.process.json b/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Ledger.process.json deleted file mode 100644 index ae256fe68..000000000 --- a/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Ledger.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Ledger.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Ledger","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Models.Ledger.Below' does not depend on any axioms\n'Models.Ledger.CapContract.invariant_complete' depends on axioms: [propext]\n'Models.Ledger.CapContract.invariant_sound' depends on axioms: [propext]\n'Models.Ledger.CapContract.postcondition_sound' depends on axioms: [propext]\n'Models.Ledger.Capped' does not depend on any axioms\n'Models.Ledger.Clamp' does not depend on any axioms\n'Models.Ledger.Clamp.initial' does not depend on any axioms\n'Models.Ledger.ClampEvidence.clamp_grows' depends on axioms: [propext, Quot.sound]\n'Models.Ledger.ClampEvidence.clamp_initial' does not depend on any axioms\n'Models.Ledger.ClampEvidence.clamp_preserves' depends on axioms: [propext, Quot.sound]\n'Models.Ledger.ClampEvidence.clamp_reference' depends on axioms: [propext]\n'Models.Ledger.ClampModel' does not depend on any axioms\n'Models.Ledger.ClampModel.initial' does not depend on any axioms\n'Models.Ledger.FreeContract.postcondition_sound' depends on axioms: [propext]\n'Models.Ledger.FreeEvidence.tally_free_grows' depends on axioms: [propext, Quot.sound]\n'Models.Ledger.FreeEvidence.tally_free_reference' depends on axioms: [propext]\n'Models.Ledger.FreeModel' does not depend on any axioms\n'Models.Ledger.FreeModel.initial' does not depend on any axioms\n'Models.Ledger.Grows' does not depend on any axioms\n'Models.Ledger.Guess' does not depend on any axioms\n'Models.Ledger.GuessContract.postcondition_sound' depends on axioms: [propext]\n'Models.Ledger.GuessContract.precondition_complete' depends on axioms: [propext]\n'Models.Ledger.GuessContract.precondition_sound' depends on axioms: [propext]\n'Models.Ledger.GuessEquivalence.guess_reference' depends on axioms: [propext]\n'Models.Ledger.GuessExactModel' does not depend on any axioms\n'Models.Ledger.GuessModel' does not depend on any axioms\n'Models.Ledger.GuessSample.guess_agreement' does not depend on any axioms\n'Models.Ledger.LedgerContract.invariant_complete' depends on axioms: [propext]\n'Models.Ledger.LedgerContract.invariant_sound' depends on axioms: [propext]\n'Models.Ledger.LedgerContract.postcondition_complete' depends on axioms: [propext]\n'Models.Ledger.LedgerContract.postcondition_sound' depends on axioms: [propext]\n'Models.Ledger.LedgerContract.precondition_sound' depends on axioms: [propext]\n'Models.Ledger.Overshoot' does not depend on any axioms\n'Models.Ledger.OvershootModel' does not depend on any axioms\n'Models.Ledger.Small' does not depend on any axioms\n'Models.Ledger.Spill' does not depend on any axioms\n'Models.Ledger.Spill.initial' does not depend on any axioms\n'Models.Ledger.SpillEvidence.spill_grows' depends on axioms: [propext, Quot.sound]\n'Models.Ledger.SpillModel' does not depend on any axioms\n'Models.Ledger.SpillModel.initial' does not depend on any axioms\n'Models.Ledger.SpillRawModel' does not depend on any axioms\n'Models.Ledger.SpillRawModel.initial' does not depend on any axioms\n'Models.Ledger.SpillReference.spill_reference' depends on axioms: [propext]\n'Models.Ledger.Tally' does not depend on any axioms\n'Models.Ledger.Tally.initial' does not depend on any axioms\n'Models.Ledger.TallyContract.postcondition_sound' depends on axioms: [propext]\n'Models.Ledger.TallyContract.precondition_sound' depends on axioms: [propext]\n'Models.Ledger.TallyEvidence.tally_grows' depends on axioms: [propext, Quot.sound]\n'Models.Ledger.TallyEvidence.tally_reference' depends on axioms: [propext]\n'Models.Ledger.TallyModel' does not depend on any axioms\n'Models.Ledger.TallyModel.initial' does not depend on any axioms\n'Models.Ledger.Within' does not depend on any axioms\n'Models.Ledger.belowCheck' does not depend on any axioms\n'Models.Ledger.below_check_sound' depends on axioms: [propext]\n'Models.Ledger.cappedCheck' does not depend on any axioms\n'Models.Ledger.capped_check_complete' depends on axioms: [propext]\n'Models.Ledger.capped_check_sound' depends on axioms: [propext]\n'Models.Ledger.clampRef' does not depend on any axioms\n'Models.Ledger.clamp_grows' depends on axioms: [propext, Quot.sound]\n'Models.Ledger.clamp_initial' does not depend on any axioms\n'Models.Ledger.clamp_preserves' depends on axioms: [propext, Quot.sound]\n'Models.Ledger.clamp_reference' depends on axioms: [propext]\n'Models.Ledger.growsCheck' does not depend on any axioms\n'Models.Ledger.grows_check_complete' depends on axioms: [propext]\n'Models.Ledger.grows_check_sound' depends on axioms: [propext]\n'Models.Ledger.guessRef' does not depend on any axioms\n'Models.Ledger.guessSamples' does not depend on any axioms\n'Models.Ledger.guess_agreement' does not depend on any axioms\n'Models.Ledger.guess_reference' depends on axioms: [propext]\n'Models.Ledger.sameNat' does not depend on any axioms\n'Models.Ledger.same_nat_sound' depends on axioms: [propext]\n'Models.Ledger.smallCheck' does not depend on any axioms\n'Models.Ledger.small_check_sound' depends on axioms: [propext]\n'Models.Ledger.spillRef' does not depend on any axioms\n'Models.Ledger.spill_grows' depends on axioms: [propext, Quot.sound]\n'Models.Ledger.spill_reference' depends on axioms: [propext]\n'Models.Ledger.tallyRef' does not depend on any axioms\n'Models.Ledger.tally_free_grows' depends on axioms: [propext, Quot.sound]\n'Models.Ledger.tally_free_reference' depends on axioms: [propext]\n'Models.Ledger.tally_grows' depends on axioms: [propext, Quot.sound]\n'Models.Ledger.tally_reference' depends on axioms: [propext]\n'Models.Ledger.violationCode' does not depend on any axioms\n'Models.Ledger.withinCheck' does not depend on any axioms\n'Models.Ledger.within_check_complete' depends on axioms: [propext]\n'Models.Ledger.within_check_sound' depends on axioms: [propext]\n","stdout_sha256":"0906cff53c4ed452adb799c9fa7c1d2a73a86b3cc74b745342ac5245b8acf079","tool":"lean"} diff --git a/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Main.process.json b/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Main.process.json deleted file mode 100644 index dd8c10db0..000000000 --- a/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Main.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Main","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Models.Main.admission' does not depend on any axioms\n'Models.Main.admitCosts' does not depend on any axioms\n'Models.Main.admit_accepts_cheap' does not depend on any axioms\n'Models.Main.admit_rejects_costly' does not depend on any axioms\n'Models.Main.branchCode' does not depend on any axioms\n'Models.Main.branchStep' does not depend on any axioms\n'Models.Main.branch_refuses_precondition' does not depend on any axioms\n'Models.Main.branch_takes_else' does not depend on any axioms\n'Models.Main.branch_takes_then' does not depend on any axioms\n'Models.Main.chainCode' does not depend on any axioms\n'Models.Main.chainStep' does not depend on any axioms\n'Models.Main.chain_accepts' does not depend on any axioms\n'Models.Main.chain_refuses_precondition' does not depend on any axioms\n'Models.Main.chain_refuses_stage_output' does not depend on any axioms\n'Models.Main.classify' depends on axioms: [propext]\n'Models.Main.classifyChecked' depends on axioms: [propext]\n'Models.Main.classify_eight' depends on axioms: [propext]\n'Models.Main.drainChainStep' does not depend on any axioms\n'Models.Main.drain_chain_accepts' does not depend on any axioms\n'Models.Main.drain_chain_refuses_postcondition' does not depend on any axioms\n'Models.Main.flowCode' does not depend on any axioms\n'Models.Main.flowStep' does not depend on any axioms\n'Models.Main.flow_accepts' does not depend on any axioms\n'Models.Main.flow_refuses_input' does not depend on any axioms\n'Models.Main.flow_refuses_junction' does not depend on any axioms\n'Models.Main.guessChecked' does not depend on any axioms\n'Models.Main.guessOvershoot' does not depend on any axioms\n'Models.Main.guessTwice' does not depend on any axioms\n'Models.Main.guess_accepts' does not depend on any axioms\n'Models.Main.guess_refuses_precondition' does not depend on any axioms\n'Models.Main.ledgerFull' does not depend on any axioms\n'Models.Main.ledgerPost' does not depend on any axioms\n'Models.Main.ledger_accepts' does not depend on any axioms\n'Models.Main.ledger_full_accepts' does not depend on any axioms\n'Models.Main.ledger_full_refuses_output' does not depend on any axioms\n'Models.Main.ledger_refuses_input' does not depend on any axioms\n'Models.Main.ledger_refuses_output' does not depend on any axioms\n'Models.Main.ledger_refuses_precondition' does not depend on any axioms\n'Models.Main.overshootChecked' does not depend on any axioms\n'Models.Main.overshoot_pair_refuses_postcondition' does not depend on any axioms\n'Models.Main.overshoot_refuses_postcondition' does not depend on any axioms\n'Models.Main.pairClamp' does not depend on any axioms\n'Models.Main.pair_clamp_accepts' does not depend on any axioms\n'Models.Main.pair_clamp_refuses_input' does not depend on any axioms\n'Models.Main.quadCode' does not depend on any axioms\n'Models.Main.rawChainStep' does not depend on any axioms\n'Models.Main.raw_chain_accepts' does not depend on any axioms\n'Models.Main.raw_chain_refuses_input' does not depend on any axioms\n'Models.Main.raw_chain_refuses_precondition' does not depend on any axioms\n'Models.Main.respond' depends on axioms: [propext]\n'Models.Main.spillStream' does not depend on any axioms\n'Models.Main.step' does not depend on any axioms\n'Models.Main.stepCode' does not depend on any axioms\n'Models.Main.streamCode' does not depend on any axioms\n'Models.Main.stream_accepts' does not depend on any axioms\n'Models.Main.stream_refuses_output' does not depend on any axioms\n'Models.Main.twiceCode' does not depend on any axioms\n'Models.Main.twice_accepts' does not depend on any axioms\n'Models.Main.twice_refuses' does not depend on any axioms\n'Models.Main.twinStep' does not depend on any axioms\n'Models.Main.twin_accepts' does not depend on any axioms\n'Models.Main.twin_refuses_input' does not depend on any axioms\n'Models.Main.twin_refuses_precondition' does not depend on any axioms\n'Models.Main.valueCode' does not depend on any axioms\n","stdout_sha256":"e3d25ec7612d3d524a16f7635c0ff54fe7ee057f27ef341f9b384b0161610666","tool":"lean"} diff --git a/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Pipeline.process.json b/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Pipeline.process.json deleted file mode 100644 index 0a861f5a8..000000000 --- a/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Pipeline.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Pipeline.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Pipeline","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Models.Pipeline.Answered' does not depend on any axioms\n'Models.Pipeline.Bounded9' does not depend on any axioms\n'Models.Pipeline.CheckedEvidence.checked_answers' depends on axioms: [propext]\n'Models.Pipeline.CheckedModel' depends on axioms: [propext]\n'Models.Pipeline.CheckedPipeline' depends on axioms: [propext]\n'Models.Pipeline.GlyphPair' does not depend on any axioms\n'Models.Pipeline.GlyphReport' depends on axioms: [propext]\n'Models.Pipeline.GlyphRoute' depends on axioms: [propext]\n'Models.Pipeline.Lit' does not depend on any axioms\n'Models.Pipeline.PairEvidence.pair_correct' does not depend on any axioms\n'Models.Pipeline.PairLit' does not depend on any axioms\n'Models.Pipeline.PairModel' does not depend on any axioms\n'Models.Pipeline.PipelineContract.precondition_sound' does not depend on any axioms\n'Models.Pipeline.PipelineEvidence.pipeline_responds' depends on axioms: [propext]\n'Models.Pipeline.PipelineModel' depends on axioms: [propext]\n'Models.Pipeline.ReportEvidence.report_correct' depends on axioms: [propext]\n'Models.Pipeline.ReportModel' depends on axioms: [propext]\n'Models.Pipeline.Reported' does not depend on any axioms\n'Models.Pipeline.Responds' does not depend on any axioms\n'Models.Pipeline.RouteEvidence.route_bounded' depends on axioms: [propext]\n'Models.Pipeline.RouteModel' depends on axioms: [propext]\n'Models.Pipeline.SegmentCounter' does not depend on any axioms\n'Models.Pipeline.SegmentEvidence.segments_lit' does not depend on any axioms\n'Models.Pipeline.SegmentModel' does not depend on any axioms\n'Models.Pipeline.SessionStream' does not depend on any axioms\n'Models.Pipeline.ShortStream' does not depend on any axioms\n'Models.Pipeline.StreamContract.precondition_sound' depends on axioms: [propext, Quot.sound]\n'Models.Pipeline.StreamModel' does not depend on any axioms\n'Models.Pipeline.TriagePipeline' depends on axioms: [propext]\n'Models.Pipeline.checked_answers' depends on axioms: [propext]\n'Models.Pipeline.pair_correct' does not depend on any axioms\n'Models.Pipeline.pipeline_entry' does not depend on any axioms\n'Models.Pipeline.pipeline_responds' depends on axioms: [propext]\n'Models.Pipeline.report_correct' depends on axioms: [propext]\n'Models.Pipeline.resultCode' does not depend on any axioms\n'Models.Pipeline.route_bounded' depends on axioms: [propext]\n'Models.Pipeline.segments_lit' does not depend on any axioms\n'Models.Pipeline.shortStreamCheck' does not depend on any axioms\n'Models.Pipeline.short_stream_check_sound' depends on axioms: [propext, Quot.sound]\n'Models.Pipeline.symptomatic_sound' does not depend on any axioms\n'Models.Pipeline.triage_actionable' depends on axioms: [propext]\n","stdout_sha256":"0dc16ef42f1b4fafea1004c5a0e46ae569ddbec65791ac9fc89c029e62401683","tool":"lean"} diff --git a/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Policy.process.json b/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Policy.process.json deleted file mode 100644 index 6f292b25b..000000000 --- a/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Policy.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Policy.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Policy","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Models.Policy.Actionable' does not depend on any axioms\n'Models.Policy.Escalates' does not depend on any axioms\n'Models.Policy.PolicyContract.precondition_complete' does not depend on any axioms\n'Models.Policy.PolicyContract.precondition_sound' does not depend on any axioms\n'Models.Policy.PolicyEvidence.policy_escalates' does not depend on any axioms\n'Models.Policy.PolicyModel' does not depend on any axioms\n'Models.Policy.PolicyRules' does not depend on any axioms\n'Models.Policy.PolicyRules.selected' does not depend on any axioms\n'Models.Policy.actionableCheck' does not depend on any axioms\n'Models.Policy.actionable_check_complete' does not depend on any axioms\n'Models.Policy.actionable_check_sound' does not depend on any axioms\n'Models.Policy.emergency_dispatches' does not depend on any axioms\n'Models.Policy.isUrgent' does not depend on any axioms\n'Models.Policy.policy_escalates' does not depend on any axioms\n","stdout_sha256":"270b3535085cfe0cb7e75fc0f2df214d0fd2ec13f84dd5ee6c2c74e95db97b61","tool":"lean"} diff --git a/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Recognizer.process.json b/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Recognizer.process.json deleted file mode 100644 index e5ee45cd0..000000000 --- a/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Recognizer.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Recognizer.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Recognizer","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Models.Recognizer.DigitContract.postcondition_complete' depends on axioms: [propext]\n'Models.Recognizer.DigitContract.postcondition_sound' depends on axioms: [propext]\n'Models.Recognizer.DigitEvidence.digit_net_correct' depends on axioms: [propext]\n'Models.Recognizer.DigitEvidence.digit_net_exact' depends on axioms: [propext]\n'Models.Recognizer.DigitEvidence.labeled_agreement' depends on axioms: [propext]\n'Models.Recognizer.DigitModel' depends on axioms: [propext]\n'Models.Recognizer.DigitNet' depends on axioms: [propext]\n'Models.Recognizer.DigitNet.encoded' does not depend on any axioms\n'Models.Recognizer.DigitNet.layer1' does not depend on any axioms\n'Models.Recognizer.DigitNet.layer2' depends on axioms: [propext]\n'Models.Recognizer.DigitNet.layer3' depends on axioms: [propext]\n'Models.Recognizer.DigitNet.layer4' does not depend on any axioms\n'Models.Recognizer.DigitNet.logits' depends on axioms: [propext]\n'Models.Recognizer.RawDigitModel' depends on axioms: [propext]\n'Models.Recognizer.Recognizes' does not depend on any axioms\n'Models.Recognizer.banner' does not depend on any axioms\n'Models.Recognizer.banner.bytes' does not depend on any axioms\n'Models.Recognizer.banner.decoded' does not depend on any axioms\n'Models.Recognizer.digitName' does not depend on any axioms\n'Models.Recognizer.digitNames' does not depend on any axioms\n'Models.Recognizer.digitNames.bytes' does not depend on any axioms\n'Models.Recognizer.digitNames.decoded' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Models.Recognizer.digit_net_correct' depends on axioms: [propext]\n'Models.Recognizer.digit_net_exact' depends on axioms: [propext]\n'Models.Recognizer.digit_net_width' does not depend on any axioms\n'Models.Recognizer.hiddenBias' does not depend on any axioms\n'Models.Recognizer.hiddenBias.bytes' does not depend on any axioms\n'Models.Recognizer.hiddenBias.decoded' does not depend on any axioms\n'Models.Recognizer.hiddenWeights' does not depend on any axioms\n'Models.Recognizer.hiddenWeights.bytes' does not depend on any axioms\n'Models.Recognizer.hiddenWeights.decoded' does not depend on any axioms\n'Models.Recognizer.labeledGlyphs' does not depend on any axioms\n'Models.Recognizer.labeled_agreement' depends on axioms: [propext]\n'Models.Recognizer.outputBias' does not depend on any axioms\n'Models.Recognizer.outputBias.bytes' does not depend on any axioms\n'Models.Recognizer.outputBias.decoded' does not depend on any axioms\n'Models.Recognizer.outputWeights' does not depend on any axioms\n'Models.Recognizer.outputWeights.bytes' does not depend on any axioms\n'Models.Recognizer.outputWeights.decoded' does not depend on any axioms\n'Models.Recognizer.recognizesCheck' does not depend on any axioms\n'Models.Recognizer.recognizes_check_complete' depends on axioms: [propext]\n'Models.Recognizer.recognizes_check_sound' depends on axioms: [propext]\n'Models.Recognizer.sameDigit' does not depend on any axioms\n'Models.Recognizer.same_digit_sound' depends on axioms: [propext]\n","stdout_sha256":"60af4cd88341dc6ed70fd6c68abe9115fc2ca32ba7267d0e09c06d781e05bb3f","tool":"lean"} diff --git a/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Session.process.json b/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Session.process.json deleted file mode 100644 index 1b0a9b0be..000000000 --- a/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Session.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Session.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Session","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Models.Session.Affordable' does not depend on any axioms\n'Models.Session.Bounded' does not depend on any axioms\n'Models.Session.Conserves' does not depend on any axioms\n'Models.Session.SessionContract.invariant_sound' depends on axioms: [propext]\n'Models.Session.SessionContract.precondition_sound' depends on axioms: [propext]\n'Models.Session.SessionEvidence.session_conserves' depends on axioms: [propext, Quot.sound]\n'Models.Session.SessionEvidence.session_initial' does not depend on any axioms\n'Models.Session.SessionEvidence.session_preserves' depends on axioms: [propext, Quot.sound]\n'Models.Session.SessionModel' does not depend on any axioms\n'Models.Session.SessionModel.initial' does not depend on any axioms\n'Models.Session.SessionStep' does not depend on any axioms\n'Models.Session.SessionStep.initial' does not depend on any axioms\n'Models.Session.Window' does not depend on any axioms\n'Models.Session.affordableCheck' does not depend on any axioms\n'Models.Session.affordable_check_sound' depends on axioms: [propext]\n'Models.Session.boundedCheck' does not depend on any axioms\n'Models.Session.bounded_check_sound' depends on axioms: [propext]\n'Models.Session.session_conserves' depends on axioms: [propext, Quot.sound]\n'Models.Session.session_initial' does not depend on any axioms\n'Models.Session.session_preserves' depends on axioms: [propext, Quot.sound]\n","stdout_sha256":"5b3dd4ed72a0f66dee11301a85b919df9929b103d83b10386079e5666ff0ca8c","tool":"lean"} diff --git a/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Triage.process.json b/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Triage.process.json deleted file mode 100644 index a181db222..000000000 --- a/examples/models/expected/verify/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Triage.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Triage.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Acca462bfe8cabc3365338af96b591362.Models.Triage","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Models.Triage.Level' does not depend on any axioms\n'Models.Triage.Presentation' does not depend on any axioms\n'Models.Triage.Safe' does not depend on any axioms\n'Models.Triage.Symptomatic' does not depend on any axioms\n'Models.Triage.TriageContract.precondition_sound' does not depend on any axioms\n'Models.Triage.TriageEvidence.triage_safe' depends on axioms: [propext]\n'Models.Triage.TriageModel' depends on axioms: [propext]\n'Models.Triage.TriageScore' depends on axioms: [propext]\n'Models.Triage.TriageScore.features' does not depend on any axioms\n'Models.Triage.TriageScore.scores' does not depend on any axioms\n'Models.Triage.features' does not depend on any axioms\n'Models.Triage.hasSymptom' does not depend on any axioms\n'Models.Triage.isBreathless' does not depend on any axioms\n'Models.Triage.isEmergency' does not depend on any axioms\n'Models.Triage.isRoutine' does not depend on any axioms\n'Models.Triage.symptomaticCheck' does not depend on any axioms\n'Models.Triage.symptomatic_check_sound' does not depend on any axioms\n'Models.Triage.triageBias' does not depend on any axioms\n'Models.Triage.triageBias.bytes' does not depend on any axioms\n'Models.Triage.triageBias.decoded' does not depend on any axioms\n'Models.Triage.triageWeights' does not depend on any axioms\n'Models.Triage.triageWeights.bytes' does not depend on any axioms\n'Models.Triage.triageWeights.decoded' does not depend on any axioms\n'Models.Triage.triage_safe' depends on axioms: [propext]\n'Models.Triage.triage_width' does not depend on any axioms\n","stdout_sha256":"8f5494414737d009f24637a313c3f98408cfea4d290db1d9285d4af1f3d9525c","tool":"lean"} diff --git a/examples/models/expected/verify/audit/output.txt b/examples/models/expected/verify/audit/output.txt index 72a0f1e0f..a455ca526 100644 --- a/examples/models/expected/verify/audit/output.txt +++ b/examples/models/expected/verify/audit/output.txt @@ -1,3 +1,293 @@ +'LexLeanCollections.Key' does not depend on any axioms +'LexLeanCollections.Key.casesOn' does not depend on any axioms +'LexLeanCollections.Key.compare' does not depend on any axioms +'LexLeanCollections.Key.ctorIdx' does not depend on any axioms +'LexLeanCollections.Key.mk._flat_ctor' does not depend on any axioms +'LexLeanCollections.Key.mk.noConfusion' does not depend on any axioms +'LexLeanCollections.Key.noConfusion' does not depend on any axioms +'LexLeanCollections.Key.noConfusionType' does not depend on any axioms +'LexLeanCollections.Key.recOn' does not depend on any axioms +'LexLeanCollections.compareCodes' depends on axioms: [propext] +'LexLeanCollections.compareCodes._f' depends on axioms: [propext] +'LexLeanCollections.compareCodes._sparseCasesOn_1' depends on axioms: [propext] +'LexLeanCollections.compareCodes._sunfold' depends on axioms: [propext] +'LexLeanCollections.compareCodes._unsafe_rec' depends on axioms: [propext] +'LexLeanCollections.compareCodes.match_1' depends on axioms: [propext] +'LexLeanCollections.compareCodes.match_4' does not depend on any axioms +'LexLeanCollections.containsElement' does not depend on any axioms +'LexLeanCollections.containsElement._f' does not depend on any axioms +'LexLeanCollections.containsElement._sunfold' does not depend on any axioms +'LexLeanCollections.containsElement._unsafe_rec' does not depend on any axioms +'LexLeanCollections.graphNodes' does not depend on any axioms +'LexLeanCollections.graphReachable' depends on axioms: [propext] +'LexLeanCollections.graphSuccessors' does not depend on any axioms +'LexLeanCollections.graphTopological' does not depend on any axioms +'LexLeanCollections.insertElement' does not depend on any axioms +'LexLeanCollections.insertElement._f' does not depend on any axioms +'LexLeanCollections.insertElement._sunfold' does not depend on any axioms +'LexLeanCollections.insertElement._unsafe_rec' does not depend on any axioms +'LexLeanCollections.insertElement.match_1' does not depend on any axioms +'LexLeanCollections.insertEntry' does not depend on any axioms +'LexLeanCollections.insertEntry._f' does not depend on any axioms +'LexLeanCollections.insertEntry._sunfold' does not depend on any axioms +'LexLeanCollections.insertEntry._unsafe_rec' does not depend on any axioms +'LexLeanCollections.insertEntry.match_1' does not depend on any axioms +'LexLeanCollections.insertEntry.match_3' does not depend on any axioms +'LexLeanCollections.instKeyBool' depends on axioms: [propext] +'LexLeanCollections.instKeyInt' does not depend on any axioms +'LexLeanCollections.instKeyInt16' does not depend on any axioms +'LexLeanCollections.instKeyInt32' does not depend on any axioms +'LexLeanCollections.instKeyInt64' does not depend on any axioms +'LexLeanCollections.instKeyInt8' does not depend on any axioms +'LexLeanCollections.instKeyNat' does not depend on any axioms +'LexLeanCollections.instKeyProd' depends on axioms: [propext] +'LexLeanCollections.instKeyString' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanCollections.instKeyUInt16' does not depend on any axioms +'LexLeanCollections.instKeyUInt32' does not depend on any axioms +'LexLeanCollections.instKeyUInt64' does not depend on any axioms +'LexLeanCollections.instKeyUInt8' does not depend on any axioms +'LexLeanCollections.iterate' does not depend on any axioms +'LexLeanCollections.iterate._f' does not depend on any axioms +'LexLeanCollections.iterate._sunfold' does not depend on any axioms +'LexLeanCollections.iterate._unsafe_rec' does not depend on any axioms +'LexLeanCollections.iterate.match_1' does not depend on any axioms +'LexLeanCollections.iterateUntil' does not depend on any axioms +'LexLeanCollections.iterateUntil._f' does not depend on any axioms +'LexLeanCollections.iterateUntil._sunfold' does not depend on any axioms +'LexLeanCollections.iterateUntil._unsafe_rec' does not depend on any axioms +'LexLeanCollections.iterateUntil.match_1' does not depend on any axioms +'LexLeanCollections.lessThan' depends on axioms: [propext] +'LexLeanCollections.lessThan._sparseCasesOn_1' depends on axioms: [propext] +'LexLeanCollections.lessThan.match_1' depends on axioms: [propext] +'LexLeanCollections.listFold' does not depend on any axioms +'LexLeanCollections.lookupEntry' does not depend on any axioms +'LexLeanCollections.lookupEntry._f' does not depend on any axioms +'LexLeanCollections.lookupEntry._sunfold' does not depend on any axioms +'LexLeanCollections.lookupEntry._unsafe_rec' does not depend on any axioms +'LexLeanCollections.mapContains' does not depend on any axioms +'LexLeanCollections.mapEntries' does not depend on any axioms +'LexLeanCollections.mapFold' does not depend on any axioms +'LexLeanCollections.mapInsert' does not depend on any axioms +'LexLeanCollections.mapKeys' does not depend on any axioms +'LexLeanCollections.mapLookup' does not depend on any axioms +'LexLeanCollections.mapRemove' does not depend on any axioms +'LexLeanCollections.mapSize' does not depend on any axioms +'LexLeanCollections.mapValues' does not depend on any axioms +'LexLeanCollections.reachableFrom' depends on axioms: [propext] +'LexLeanCollections.reachableFrom._f' depends on axioms: [propext] +'LexLeanCollections.reachableFrom._sparseCasesOn_1' depends on axioms: [propext] +'LexLeanCollections.reachableFrom._sunfold' depends on axioms: [propext] +'LexLeanCollections.reachableFrom._unsafe_rec' depends on axioms: [propext] +'LexLeanCollections.reachableFrom.match_1' depends on axioms: [propext] +'LexLeanCollections.reachableFrom.match_4' does not depend on any axioms +'LexLeanCollections.removeElement' does not depend on any axioms +'LexLeanCollections.removeElement._f' does not depend on any axioms +'LexLeanCollections.removeElement._sunfold' does not depend on any axioms +'LexLeanCollections.removeElement._unsafe_rec' does not depend on any axioms +'LexLeanCollections.removeEntry' does not depend on any axioms +'LexLeanCollections.removeEntry._f' does not depend on any axioms +'LexLeanCollections.removeEntry._sunfold' does not depend on any axioms +'LexLeanCollections.removeEntry._unsafe_rec' does not depend on any axioms +'LexLeanCollections.setContains' does not depend on any axioms +'LexLeanCollections.setDifference' does not depend on any axioms +'LexLeanCollections.setElements' does not depend on any axioms +'LexLeanCollections.setFold' does not depend on any axioms +'LexLeanCollections.setInsert' does not depend on any axioms +'LexLeanCollections.setIntersection' does not depend on any axioms +'LexLeanCollections.setRemove' does not depend on any axioms +'LexLeanCollections.setSize' does not depend on any axioms +'LexLeanCollections.setUnion' does not depend on any axioms +'LexLeanCollections.topological' does not depend on any axioms +'LexLeanCollections.topological._f' does not depend on any axioms +'LexLeanCollections.topological._sunfold' does not depend on any axioms +'LexLeanCollections.topological._unsafe_rec' does not depend on any axioms +'LexLeanModels.Agreement' does not depend on any axioms +'LexLeanModels.Complete1' does not depend on any axioms +'LexLeanModels.Complete2' does not depend on any axioms +'LexLeanModels.Complete4' does not depend on any axioms +'LexLeanModels.Equivalent' does not depend on any axioms +'LexLeanModels.EquivalentStep' does not depend on any axioms +'LexLeanModels.EquivalentStepNoInvariant' does not depend on any axioms +'LexLeanModels.EquivalentStepNoPrecondition' does not depend on any axioms +'LexLeanModels.EquivalentStepTotal' does not depend on any axioms +'LexLeanModels.EquivalentTotal' does not depend on any axioms +'LexLeanModels.Initial' does not depend on any axioms +'LexLeanModels.Preserves' does not depend on any axioms +'LexLeanModels.PreservesTotal' does not depend on any axioms +'LexLeanModels.Satisfies' does not depend on any axioms +'LexLeanModels.SatisfiesStep' does not depend on any axioms +'LexLeanModels.SatisfiesStepNoInvariant' does not depend on any axioms +'LexLeanModels.SatisfiesStepNoPrecondition' does not depend on any axioms +'LexLeanModels.SatisfiesStepTotal' does not depend on any axioms +'LexLeanModels.SatisfiesTotal' does not depend on any axioms +'LexLeanModels.Sound1' does not depend on any axioms +'LexLeanModels.Sound2' does not depend on any axioms +'LexLeanModels.Sound4' does not depend on any axioms +'LexLeanModels.encodeInt' does not depend on any axioms +'LexLeanModels.inRange' does not depend on any axioms +'LexLeanModels.linesMatch' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanModels.tensorMatches' does not depend on any axioms +'LexLeanModels.utf8Char' does not depend on any axioms +'LexLeanRuntime.Appendable' does not depend on any axioms +'LexLeanRuntime.Appendable.append' does not depend on any axioms +'LexLeanRuntime.Appendable.casesOn' does not depend on any axioms +'LexLeanRuntime.Appendable.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Appendable.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Appendable.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Appendable.noConfusion' does not depend on any axioms +'LexLeanRuntime.Appendable.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Appendable.recOn' does not depend on any axioms +'LexLeanRuntime.Decimal' does not depend on any axioms +'LexLeanRuntime.Decimal.casesOn' does not depend on any axioms +'LexLeanRuntime.Decimal.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Decimal.format' does not depend on any axioms +'LexLeanRuntime.Decimal.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Decimal.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Decimal.noConfusion' does not depend on any axioms +'LexLeanRuntime.Decimal.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Decimal.parse' does not depend on any axioms +'LexLeanRuntime.Decimal.recOn' does not depend on any axioms +'LexLeanRuntime.Fixed' does not depend on any axioms +'LexLeanRuntime.Fixed.bitAnd' does not depend on any axioms +'LexLeanRuntime.Fixed.bitNot' does not depend on any axioms +'LexLeanRuntime.Fixed.bitOr' does not depend on any axioms +'LexLeanRuntime.Fixed.bitXor' does not depend on any axioms +'LexLeanRuntime.Fixed.casesOn' does not depend on any axioms +'LexLeanRuntime.Fixed.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Fixed.fromInt' does not depend on any axioms +'LexLeanRuntime.Fixed.maximum' does not depend on any axioms +'LexLeanRuntime.Fixed.minimum' does not depend on any axioms +'LexLeanRuntime.Fixed.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Fixed.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Fixed.noConfusion' does not depend on any axioms +'LexLeanRuntime.Fixed.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Fixed.recOn' does not depend on any axioms +'LexLeanRuntime.Fixed.shiftLeft' does not depend on any axioms +'LexLeanRuntime.Fixed.shiftRight' does not depend on any axioms +'LexLeanRuntime.Fixed.toToMathInt' does not depend on any axioms +'LexLeanRuntime.Indexable' does not depend on any axioms +'LexLeanRuntime.Indexable.casesOn' does not depend on any axioms +'LexLeanRuntime.Indexable.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Indexable.index' does not depend on any axioms +'LexLeanRuntime.Indexable.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Indexable.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Indexable.noConfusion' does not depend on any axioms +'LexLeanRuntime.Indexable.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Indexable.recOn' does not depend on any axioms +'LexLeanRuntime.Lengthable' does not depend on any axioms +'LexLeanRuntime.Lengthable.casesOn' does not depend on any axioms +'LexLeanRuntime.Lengthable.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Lengthable.length' does not depend on any axioms +'LexLeanRuntime.Lengthable.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Lengthable.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Lengthable.noConfusion' does not depend on any axioms +'LexLeanRuntime.Lengthable.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Lengthable.recOn' does not depend on any axioms +'LexLeanRuntime.Quotient' does not depend on any axioms +'LexLeanRuntime.Quotient.casesOn' does not depend on any axioms +'LexLeanRuntime.Quotient.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Quotient.isZero' does not depend on any axioms +'LexLeanRuntime.Quotient.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Quotient.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Quotient.noConfusion' does not depend on any axioms +'LexLeanRuntime.Quotient.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Quotient.quotient' does not depend on any axioms +'LexLeanRuntime.Quotient.recOn' does not depend on any axioms +'LexLeanRuntime.Quotient.remainder' does not depend on any axioms +'LexLeanRuntime.Sliceable' does not depend on any axioms +'LexLeanRuntime.Sliceable.casesOn' does not depend on any axioms +'LexLeanRuntime.Sliceable.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Sliceable.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Sliceable.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Sliceable.noConfusion' does not depend on any axioms +'LexLeanRuntime.Sliceable.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Sliceable.recOn' does not depend on any axioms +'LexLeanRuntime.Sliceable.slice' does not depend on any axioms +'LexLeanRuntime.ToMathInt' does not depend on any axioms +'LexLeanRuntime.ToMathInt.casesOn' does not depend on any axioms +'LexLeanRuntime.ToMathInt.ctorIdx' does not depend on any axioms +'LexLeanRuntime.ToMathInt.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.ToMathInt.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.ToMathInt.noConfusion' does not depend on any axioms +'LexLeanRuntime.ToMathInt.noConfusionType' does not depend on any axioms +'LexLeanRuntime.ToMathInt.recOn' does not depend on any axioms +'LexLeanRuntime.ToMathInt.toInt' does not depend on any axioms +'LexLeanRuntime.append' does not depend on any axioms +'LexLeanRuntime.bitAnd' does not depend on any axioms +'LexLeanRuntime.bitNot' does not depend on any axioms +'LexLeanRuntime.bitOr' does not depend on any axioms +'LexLeanRuntime.bitXor' does not depend on any axioms +'LexLeanRuntime.checkedAdd' does not depend on any axioms +'LexLeanRuntime.checkedAddInt64' does not depend on any axioms +'LexLeanRuntime.checkedConvert' does not depend on any axioms +'LexLeanRuntime.checkedFromInt' does not depend on any axioms +'LexLeanRuntime.checkedMultiply' does not depend on any axioms +'LexLeanRuntime.checkedMultiplyInt64' does not depend on any axioms +'LexLeanRuntime.checkedMultiplyInt64.match_1' does not depend on any axioms +'LexLeanRuntime.checkedNegate' does not depend on any axioms +'LexLeanRuntime.checkedNegateInt64' does not depend on any axioms +'LexLeanRuntime.checkedQuotient' does not depend on any axioms +'LexLeanRuntime.checkedQuotientInt64' does not depend on any axioms +'LexLeanRuntime.checkedSubtract' does not depend on any axioms +'LexLeanRuntime.checkedSubtractInt64' does not depend on any axioms +'LexLeanRuntime.compareBytes' depends on axioms: [propext] +'LexLeanRuntime.divideMagnitudeInt64' does not depend on any axioms +'LexLeanRuntime.divideMagnitudeInt64._f' does not depend on any axioms +'LexLeanRuntime.divideMagnitudeInt64._sunfold' does not depend on any axioms +'LexLeanRuntime.divideMagnitudeInt64._unsafe_rec' does not depend on any axioms +'LexLeanRuntime.divideMagnitudeInt64.match_1' does not depend on any axioms +'LexLeanRuntime.equal' does not depend on any axioms +'LexLeanRuntime.formatDecimal' does not depend on any axioms +'LexLeanRuntime.index' does not depend on any axioms +'LexLeanRuntime.instAppendableByteArray' does not depend on any axioms +'LexLeanRuntime.instAppendableList' does not depend on any axioms +'LexLeanRuntime.instDecimalInt' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.instDecimalInt.match_1' does not depend on any axioms +'LexLeanRuntime.instDecimalOfFixedOfToString' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.instFixedInt16' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedInt32' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedInt64' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedInt8' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedUInt16' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedUInt32' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedUInt64' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedUInt8' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instIndexableByteArrayUInt8' does not depend on any axioms +'LexLeanRuntime.instIndexableList' does not depend on any axioms +'LexLeanRuntime.instLengthableByteArray' does not depend on any axioms +'LexLeanRuntime.instLengthableList' does not depend on any axioms +'LexLeanRuntime.instLengthableString' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.instQuotientInt' does not depend on any axioms +'LexLeanRuntime.instQuotientNat' does not depend on any axioms +'LexLeanRuntime.instSliceableByteArray' does not depend on any axioms +'LexLeanRuntime.instSliceableList' does not depend on any axioms +'LexLeanRuntime.instToMathIntInt' does not depend on any axioms +'LexLeanRuntime.join' depends on axioms: [propext] +'LexLeanRuntime.length' does not depend on any axioms +'LexLeanRuntime.listIndex' does not depend on any axioms +'LexLeanRuntime.listIndex._f' does not depend on any axioms +'LexLeanRuntime.listIndex._sunfold' does not depend on any axioms +'LexLeanRuntime.listIndex._unsafe_rec' does not depend on any axioms +'LexLeanRuntime.listIndex.match_1' does not depend on any axioms +'LexLeanRuntime.magnitudeInt64' does not depend on any axioms +'LexLeanRuntime.multiply' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64._f' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64._sunfold' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64._unsafe_rec' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64.match_1' does not depend on any axioms +'LexLeanRuntime.negate' does not depend on any axioms +'LexLeanRuntime.parseDecimal' does not depend on any axioms +'LexLeanRuntime.quotient' does not depend on any axioms +'LexLeanRuntime.remainder' does not depend on any axioms +'LexLeanRuntime.shiftLeft' does not depend on any axioms +'LexLeanRuntime.shiftRight' does not depend on any axioms +'LexLeanRuntime.signedMagnitudeInt64' does not depend on any axioms +'LexLeanRuntime.slice' does not depend on any axioms +'LexLeanRuntime.splitExact' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.subtract' does not depend on any axioms +'LexLeanRuntime.utf8Decode' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.utf8Encode' does not depend on any axioms 'Models.Flows.BothCapped' does not depend on any axioms 'Models.Flows.BranchContract.invariant_sound' depends on axioms: [propext] 'Models.Flows.BranchContract.precondition_sound' depends on axioms: [propext] diff --git a/examples/models/expected/verify/extract/LexLeanExtract.X0f600e9a78a6f4d72a3e289fa7bc71d4.lean b/examples/models/expected/verify/extract/LexLeanExtract.X0f600e9a78a6f4d72a3e289fa7bc71d4.lean new file mode 100644 index 000000000..52daa892f --- /dev/null +++ b/examples/models/expected/verify/extract/LexLeanExtract.X0f600e9a78a6f4d72a3e289fa7bc71d4.lean @@ -0,0 +1,442 @@ +module +public meta import Lean +import all LexLeanRuntime.Portable +import all LexLeanRuntime.Collections +import all LexLeanRuntime.Models +import all Models.Flows +import all Models.Glyphs +import all Models.Ledger +import all Models.Main +import all Models.Pipeline +import all Models.Policy +import all Models.Recognizer +import all Models.Session +import all Models.Triage +set_option autoImplicit false +set_option linter.unusedVariables false +universe u u_1 u_2 v w + +meta def LexLeanExtract.escape (text : String) : String := + (String.foldl (α := String) (fun (out : String) (c : Char) => (if (BEq.beq (α := Char) c '"') then (String.append out "\\\"") else (if (BEq.beq (α := Char) c '\\') then (String.append out "\\\\") else (if (Nat.blt (Char.toNat c) 32) then (String.append out (String.append "\\u" (String.ofList (List.drop (α := Char) 1 (Nat.toDigits 16 (Nat.add (Char.toNat c) 65536)))))) else (String.push out c))))) "" text) + +meta def LexLeanExtract.str (text : String) : String := + (String.append "\"" (String.append (LexLeanExtract.escape text) "\"")) + +meta def LexLeanExtract.name (n : Lean.Name) : String := + (LexLeanExtract.str (Lean.Name.toString n)) + +meta def LexLeanExtract.arr (items : (List String)) : String := + (String.append "[" (String.append (String.intercalate "," items) "]")) + +meta def LexLeanExtract.obj (fields : (List (Prod String String))) : String := + (String.append "{" (String.append (String.intercalate "," (List.map (α := (Prod String String)) (β := String) (fun (kv : (Prod String String)) => (String.append (LexLeanExtract.str (kv).fst) (String.append ":" (kv).snd))) fields)) "}")) + +meta def LexLeanExtract.bool (value : Bool) : String := + (if value then "true" else "false") + +meta def LexLeanExtract.fvar (id : Lean.FVarId) : String := + (LexLeanExtract.name (id).name) + +meta partial def LexLeanExtract.mergeNames (a : (List Lean.Name)) (b : (List Lean.Name)) : (List Lean.Name) := + (match a with | .nil => b | .cons x xs => (match b with | .nil => a | .cons y ys => (if (Lean.Name.lt y x) then (List.cons (α := Lean.Name) y (LexLeanExtract.mergeNames a ys)) else (List.cons (α := Lean.Name) x (LexLeanExtract.mergeNames xs b))))) + +meta partial def LexLeanExtract.splitNames (l : (List Lean.Name)) : (Prod (List Lean.Name) (List Lean.Name)) := + (match l with | .nil => (Prod.mk (α := (List Lean.Name)) (β := (List Lean.Name)) (List.nil (α := Lean.Name)) (List.nil (α := Lean.Name))) | .cons x xs => (let rest : (Prod (List Lean.Name) (List Lean.Name)) := (LexLeanExtract.splitNames xs); (Prod.mk (α := (List Lean.Name)) (β := (List Lean.Name)) (List.cons (α := Lean.Name) x (rest).snd) (rest).fst))) + +meta partial def LexLeanExtract.sortNames (l : (List Lean.Name)) : (List Lean.Name) := + (match l with | .nil => (List.nil (α := Lean.Name)) | .cons x xs => (match xs with | .nil => l | .cons y ys => (let halves : (Prod (List Lean.Name) (List Lean.Name)) := (LexLeanExtract.splitNames l); (LexLeanExtract.mergeNames (LexLeanExtract.sortNames (halves).fst) (LexLeanExtract.sortNames (halves).snd))))) + +meta def LexLeanExtract.sorted (names : (Std.HashSet Lean.Name)) : (List Lean.Name) := + (LexLeanExtract.sortNames (Std.HashSet.toList (α := Lean.Name) names)) + +meta def LexLeanExtract.insert (names : (Std.HashSet Lean.Name)) (n : Lean.Name) : (Std.HashSet Lean.Name) := + (Std.HashSet.insert (α := Lean.Name) names n) + +meta partial def LexLeanExtract.type (e : Lean.Expr) : String := + (match e with | .const n us => (if (BEq.beq (α := Lean.Name) n ``lcErased) then (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "erased"))] : List (Prod String String)))) else (if (BEq.beq (α := Lean.Name) n ``lcAny) then (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "any"))] : List (Prod String String)))) else (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "const")), (Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name n)), (Prod.mk (α := String) (β := String) "levels" (LexLeanExtract.arr (List.map (α := Lean.Level) (β := String) (fun (u : Lean.Level) => (LexLeanExtract.str (ToString.toString (α := Lean.Level) u))) us)))] : List (Prod String String)))))) | .app fn arg => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "app")), (Prod.mk (α := String) (β := String) "head" (LexLeanExtract.type (Lean.Expr.getAppFn e))), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := Lean.Expr) (β := String) (fun (a : Lean.Expr) => (LexLeanExtract.type a)) (Array.toList (α := Lean.Expr) (Lean.Expr.getAppArgs e)))))] : List (Prod String String)))) | .forallE binderName domain body binderInfo => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "arrow")), (Prod.mk (α := String) (β := String) "domain" (LexLeanExtract.type domain)), (Prod.mk (α := String) (β := String) "codomain" (LexLeanExtract.type body))] : List (Prod String String)))) | .fvar id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "fvar")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar id))] : List (Prod String String)))) | .bvar position => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "bvar")), (Prod.mk (α := String) (β := String) "index" (ToString.toString (α := Nat) position))] : List (Prod String String)))) | .sort u => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "sort")), (Prod.mk (α := String) (β := String) "level" (LexLeanExtract.str (ToString.toString (α := Lean.Level) u)))] : List (Prod String String)))) | .mvar id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "metavariable"))] : List (Prod String String)))) | .lam binderName domain body binderInfo => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "lambda"))] : List (Prod String String)))) | .letE declName t value body nonDep => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "let"))] : List (Prod String String)))) | .lit literal => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "literal"))] : List (Prod String String)))) | .mdata data body => (match (Lean.annotation? (Lean.Name.mkSimple "borrowed") e) with | .some annotated => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "borrowed")), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type body))] : List (Prod String String)))) | .none => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "metadata"))] : List (Prod String String))))) | .proj typeName idx struct => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "projection"))] : List (Prod String String))))) + +meta def LexLeanExtract.arg (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) : String := + (match a with | .erased => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "erased"))] : List (Prod String String)))) | .fvar id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "fvar")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar id))] : List (Prod String String)))) | .type e => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "type")), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type e))] : List (Prod String String))))) + +meta def LexLeanExtract.literal (value : Lean.Compiler.LCNF.LitValue) : String := + (match value with | .nat v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "nat")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) v)))] : List (Prod String String)))) | .str v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "string")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str v))] : List (Prod String String)))) | .uint8 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint8")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt8.toNat v))))] : List (Prod String String)))) | .uint16 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint16")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt16.toNat v))))] : List (Prod String String)))) | .uint32 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint32")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt32.toNat v))))] : List (Prod String String)))) | .uint64 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint64")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt64.toNat v))))] : List (Prod String String)))) | .usize v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "usize")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt64.toNat v))))] : List (Prod String String))))) + +meta def LexLeanExtract.letValue (v : (Lean.Compiler.LCNF.LetValue Lean.Compiler.LCNF.Purity.pure)) : String := + (match v with | .lit value => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "literal")), (Prod.mk (α := String) (β := String) "literal" (LexLeanExtract.literal value))] : List (Prod String String)))) | .erased => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "erased"))] : List (Prod String String)))) | .proj typeName position struct => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "projection")), (Prod.mk (α := String) (β := String) "type_name" (LexLeanExtract.name typeName)), (Prod.mk (α := String) (β := String) "index" (ToString.toString (α := Nat) position)), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.fvar struct))] : List (Prod String String)))) | .const declName us args => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "const")), (Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name declName)), (Prod.mk (α := String) (β := String) "levels" (LexLeanExtract.arr (List.map (α := Lean.Level) (β := String) (fun (u : Lean.Level) => (LexLeanExtract.str (ToString.toString (α := Lean.Level) u))) us))), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.arg a)) (Array.toList (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) args))))] : List (Prod String String)))) | .fvar id args => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "apply")), (Prod.mk (α := String) (β := String) "function" (LexLeanExtract.fvar id)), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.arg a)) (Array.toList (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) args))))] : List (Prod String String))))) + +meta def LexLeanExtract.param (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) : String := + (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar (p).fvarId)), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type (p).type)), (Prod.mk (α := String) (β := String) "borrow" (LexLeanExtract.bool (p).borrow))] : List (Prod String String)))) + +mutual +meta partial def LexLeanExtract.code (c : (Lean.Compiler.LCNF.Code Lean.Compiler.LCNF.Purity.pure)) : String := + (match c with | .«let» decl k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "let")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar (decl).fvarId)), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type (decl).type)), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.letValue (decl).value)), (Prod.mk (α := String) (β := String) "body" (LexLeanExtract.code k))] : List (Prod String String)))) | .«fun» decl k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "fun")), (Prod.mk (α := String) (β := String) "declaration" (LexLeanExtract.funDecl decl)), (Prod.mk (α := String) (β := String) "body" (LexLeanExtract.code k))] : List (Prod String String)))) | .jp decl k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "join")), (Prod.mk (α := String) (β := String) "declaration" (LexLeanExtract.funDecl decl)), (Prod.mk (α := String) (β := String) "body" (LexLeanExtract.code k))] : List (Prod String String)))) | .jmp id args => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "jump")), (Prod.mk (α := String) (β := String) "target" (LexLeanExtract.fvar id)), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.arg a)) (Array.toList (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) args))))] : List (Prod String String)))) | .cases cs => (LexLeanExtract.cases cs) | .«return» id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "return")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar id))] : List (Prod String String)))) | .unreach t => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unreachable")), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type t))] : List (Prod String String))))) + +meta partial def LexLeanExtract.funDecl (d : (Lean.Compiler.LCNF.FunDecl Lean.Compiler.LCNF.Purity.pure)) : String := + (match d with | .mk fvarId binderName params type value => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar fvarId)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param p)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) params)))), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type type)), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.code value))] : List (Prod String String))))) + +meta partial def LexLeanExtract.cases (cs : (Lean.Compiler.LCNF.Cases Lean.Compiler.LCNF.Purity.pure)) : String := + (match cs with | .mk typeName resultType discr alts => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "cases")), (Prod.mk (α := String) (β := String) "type_name" (LexLeanExtract.name typeName)), (Prod.mk (α := String) (β := String) "result_type" (LexLeanExtract.type resultType)), (Prod.mk (α := String) (β := String) "discriminant" (LexLeanExtract.fvar discr)), (Prod.mk (α := String) (β := String) "alternatives" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.alt a)) (Array.toList (α := (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) alts))))] : List (Prod String String))))) + +meta partial def LexLeanExtract.alt (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) : String := + (match a with | .alt ctorName params k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "constructor")), (Prod.mk (α := String) (β := String) "constructor" (LexLeanExtract.name ctorName)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param p)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) params)))), (Prod.mk (α := String) (β := String) "code" (LexLeanExtract.code k))] : List (Prod String String)))) | .default k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "default")), (Prod.mk (α := String) (β := String) "code" (LexLeanExtract.code k))] : List (Prod String String))))) +end + +meta partial def LexLeanExtract.typeConstants (e : Lean.Expr) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (match e with | .const n us => (if (Bool.or (BEq.beq (α := Lean.Name) n ``lcErased) (BEq.beq (α := Lean.Name) n ``lcAny)) then out else (LexLeanExtract.insert out n)) | .app f a => (LexLeanExtract.typeConstants a (LexLeanExtract.typeConstants f out)) | .forallE binderName d b binderInfo => (LexLeanExtract.typeConstants b (LexLeanExtract.typeConstants d out)) | .bvar position => out | .fvar id => out | .mvar id => out | .sort u => out | .lit literal => out | .lam binderName d b binderInfo => (LexLeanExtract.typeConstants b (LexLeanExtract.typeConstants d out)) | .letE declName t v b nonDep => (LexLeanExtract.typeConstants b (LexLeanExtract.typeConstants v (LexLeanExtract.typeConstants t out))) | .mdata data b => (LexLeanExtract.typeConstants b out) | .proj typeName idx b => (LexLeanExtract.typeConstants b (LexLeanExtract.insert out typeName))) + +meta def LexLeanExtract.argConstants (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (match a with | .type e => (LexLeanExtract.typeConstants e out) | .erased => out | .fvar id => out) + +meta def LexLeanExtract.paramConstants (ps : (Array (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure))) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (Array.foldl (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.typeConstants (p).type acc)) out ps) + +meta def LexLeanExtract.letValueConstants (v : (Lean.Compiler.LCNF.LetValue Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (match v with | .const n us args => (Array.foldl (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.argConstants a acc)) (LexLeanExtract.insert out n) args) | .fvar id args => (Array.foldl (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.argConstants a acc)) out args) | .proj typeName position struct => (LexLeanExtract.insert out typeName) | .lit value => out | .erased => out) + +mutual +meta partial def LexLeanExtract.codeConstants (c : (Lean.Compiler.LCNF.Code Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (match c with | .«let» decl k => (LexLeanExtract.codeConstants k (LexLeanExtract.letValueConstants (decl).value (LexLeanExtract.typeConstants (decl).type out))) | .«fun» decl k => (LexLeanExtract.codeConstants k (LexLeanExtract.funConstants decl out)) | .jp decl k => (LexLeanExtract.codeConstants k (LexLeanExtract.funConstants decl out)) | .jmp id args => (Array.foldl (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.argConstants a acc)) out args) | .cases cs => (LexLeanExtract.casesConstants cs out) | .«return» id => out | .unreach t => (LexLeanExtract.typeConstants t out)) + +meta partial def LexLeanExtract.funConstants (d : (Lean.Compiler.LCNF.FunDecl Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (match d with | .mk fvarId binderName params type value => (LexLeanExtract.codeConstants value (LexLeanExtract.typeConstants type (LexLeanExtract.paramConstants params out)))) + +meta partial def LexLeanExtract.casesConstants (cs : (Lean.Compiler.LCNF.Cases Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (match cs with | .mk typeName resultType discr alts => (Array.foldl (α := (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.altConstants a acc)) (LexLeanExtract.typeConstants resultType (LexLeanExtract.insert out typeName)) alts)) + +meta partial def LexLeanExtract.altConstants (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (match a with | .alt ctorName ps k => (LexLeanExtract.codeConstants k (LexLeanExtract.paramConstants ps (LexLeanExtract.insert out ctorName))) | .default k => (LexLeanExtract.codeConstants k out)) +end + +meta def LexLeanExtract.kind (info : Lean.ConstantInfo) : String := + (match info with | .defnInfo value => (match (value).safety with | .safe => "definition" | .«unsafe» => "unsafe-definition" | .«partial» => "partial-definition") | .opaqueInfo opaqueValue => "opaque" | .thmInfo theoremValue => "theorem" | .axiomInfo axiomValue => "axiom" | .inductInfo inductiveValue => "inductive" | .ctorInfo constructorValue => "constructor" | .recInfo recursorValue => "recursor" | .quotInfo quotientValue => "quotient") + +meta def LexLeanExtract.originalKind (env : Lean.Environment) (n : Lean.Name) : String := + (match (Lean.getOriginalConstKind? env n) with | .some original => (match original with | .defn => "definition" | .thm => "theorem" | .«axiom» => "axiom" | .«opaque» => "opaque" | .quot => "quotient" | .induct => "inductive" | .ctor => "constructor" | .recursor => "recursor") | .none => "unknown") + +meta def LexLeanExtract.moduleOf (env : Lean.Environment) (n : Lean.Name) : Lean.Name := + (match (Lean.Environment.getModuleIdxFor? env n) with | .some index => (Array.getD (α := Lean.Name) (Lean.EnvironmentHeader.moduleNames (Lean.Environment.header env)) index (Lean.Name.anonymous)) | .none => (Lean.Name.anonymous)) + +meta def LexLeanExtract.inProject (env : Lean.Environment) (modules : (Array Lean.Name)) (n : Lean.Name) : Bool := + (Array.contains (α := Lean.Name) modules (LexLeanExtract.moduleOf env n)) + +meta def LexLeanExtract.facts (env : Lean.Environment) (n : Lean.Name) (info : Lean.ConstantInfo) : (Lean.Core.CoreM (List (Prod String String))) := + (Bind.bind (m := Lean.Core.CoreM) (α := Bool) (β := (List (Prod String String))) (Lean.Compiler.LCNF.shouldGenerateCode n) (fun (generates : Bool) => (Pure.pure (f := Lean.Core.CoreM) (α := (List (Prod String String))) (([(Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name n)), (Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str (LexLeanExtract.kind info))), (Prod.mk (α := String) (β := String) "module" (LexLeanExtract.name (LexLeanExtract.moduleOf env n))), (Prod.mk (α := String) (β := String) "computable" (LexLeanExtract.bool (Bool.not (Lean.isNoncomputable env n)))), (Prod.mk (α := String) (β := String) "generates_code" (LexLeanExtract.bool generates)), (Prod.mk (α := String) (β := String) "original_kind" (LexLeanExtract.str (LexLeanExtract.originalKind env n))), (Prod.mk (α := String) (β := String) "internal" (LexLeanExtract.bool (Lean.Name.isInternal n)))] : List (Prod String String)))))) + +mutual +meta partial def LexLeanExtract.sameSignature (a : Lean.Expr) (b : Lean.Expr) : Bool := + (match a with | .mdata data1 inner1 => (LexLeanExtract.sameSignature inner1 b) | _ => (match b with | .mdata data2 inner2 => (LexLeanExtract.sameSignature a inner2) | _ => (LexLeanExtract.sameStructure a b))) + +meta partial def LexLeanExtract.sameStructure (a : Lean.Expr) (b : Lean.Expr) : Bool := + (match a with | .forallE name1 domain1 body1 info1 => (match b with | .forallE name2 domain2 body2 info2 => (Bool.and (BEq.beq (α := Lean.BinderInfo) info1 info2) (Bool.and (LexLeanExtract.sameSignature domain1 domain2) (LexLeanExtract.sameSignature body1 body2))) | _ => (Bool.false)) | .lam name1 domain1 body1 info1 => (match b with | .lam name2 domain2 body2 info2 => (Bool.and (BEq.beq (α := Lean.BinderInfo) info1 info2) (Bool.and (LexLeanExtract.sameSignature domain1 domain2) (LexLeanExtract.sameSignature body1 body2))) | _ => (Bool.false)) | .app function1 argument1 => (match b with | .app function2 argument2 => (Bool.and (LexLeanExtract.sameSignature function1 function2) (LexLeanExtract.sameSignature argument1 argument2)) | _ => (Bool.false)) | .const constant1 levels1 => (match b with | .const constant2 levels2 => (Bool.and (BEq.beq (α := Lean.Name) constant1 constant2) (BEq.beq (α := (List Lean.Level)) levels1 levels2)) | _ => (Bool.false)) | .sort level1 => (match b with | .sort level2 => (BEq.beq (α := Lean.Level) level1 level2) | _ => (Bool.false)) | .bvar position1 => (match b with | .bvar position2 => (BEq.beq (α := Nat) position1 position2) | _ => (Bool.false)) | .lit literal1 => (match b with | .lit literal2 => (BEq.beq (α := Lean.Literal) literal1 literal2) | _ => (Bool.false)) | .fvar free1 => (match b with | .fvar free2 => (BEq.beq (α := Lean.FVarId) free1 free2) | _ => (Bool.false)) | .mvar meta1 => (match b with | .mvar meta2 => (BEq.beq (α := Lean.MVarId) meta1 meta2) | _ => (Bool.false)) | .letE local1 type1 value1 scope1 flag1 => (match b with | .letE local2 type2 value2 scope2 flag2 => (Bool.and (LexLeanExtract.sameSignature type1 type2) (Bool.and (LexLeanExtract.sameSignature value1 value2) (LexLeanExtract.sameSignature scope1 scope2))) | _ => (Bool.false)) | .proj structure1 field1 target1 => (match b with | .proj structure2 field2 target2 => (Bool.and (BEq.beq (α := Lean.Name) structure1 structure2) (Bool.and (BEq.beq (α := Nat) field1 field2) (LexLeanExtract.sameSignature target1 target2))) | _ => (Bool.false)) | _ => (Bool.false)) +end + +public meta def LexLeanExtract.elabSignature : Lean.Elab.Command.CommandElab := + (fun (stx : Lean.Syntax) => (Lean.Elab.Command.liftTermElabM (α := Unit) (let declName : Lean.Name := (Lean.Syntax.getId (Lean.Syntax.getArg stx 1)); (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.ConstantInfo) (β := Unit) (Lean.getConstInfo (m := Lean.Elab.Term.TermElabM) declName) (fun (info : Lean.ConstantInfo) => (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.Expr) (β := Unit) (Lean.Elab.Term.elabType (Lean.Syntax.getArg stx 3)) (fun (elaborated : Lean.Expr) => (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.Expr) (β := Unit) (Lean.instantiateMVars (m := Lean.Elab.Term.TermElabM) elaborated) (fun (registered : Lean.Expr) => (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.Expr) (β := Unit) (Lean.instantiateMVars (m := Lean.Elab.Term.TermElabM) (Lean.ConstantInfo.type info)) (fun (actual : Lean.Expr) => (if (LexLeanExtract.sameSignature actual registered) then (Pure.pure (f := Lean.Elab.Term.TermElabM) (α := Unit) (Unit.unit)) else (Lean.«throwError» (m := Lean.Elab.Term.TermElabM) (α := Unit) (Lean.MessageData.compose (Lean.stringToMessageData "lexlean-extract-drift: the signature of `") (Lean.MessageData.compose (Lean.MessageData.ofName declName) (Lean.MessageData.compose (Lean.stringToMessageData "` is ") (Lean.MessageData.ofExpr (Lean.ConstantInfo.type info)))))))))))))))))) + +meta def LexLeanExtract.classify (env : Lean.Environment) (c : Lean.Name) (info : Lean.ConstantInfo) : String := + (let structural : Bool := (Bool.or (Lean.Environment.isProjectionFn env c) (Bool.or (Lean.isCasesOnRecursor env c) (Bool.or (Lean.isAuxRecursor env c) (Bool.or (Lean.isNoConfusion env c) (Bool.or (Lean.Name.isInternal c) (Bool.or (Lean.Meta.isInstanceCore env c) (Bool.or (Lean.Meta.isMatcherCore env c) (BEq.beq (α := String) (Lean.Name.getString! c) "ctorIdx")))))))); (let former : Bool := (Lean.Expr.isSort (Lean.Expr.getForallBody (Lean.ConstantInfo.type info))); (match info with | .inductInfo inductiveValue => "type" | .defnInfo definitionValue => (if former then "type" else (if (Bool.and (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c) (Bool.not structural)) then "call" else "plumbing")) | .opaqueInfo opaqueValue => (if (Bool.and (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c) (Bool.not structural)) then "call" else "plumbing") | .axiomInfo axiomValue => (if (Bool.and (Bool.and (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c) (Bool.not structural)) (Bool.not former)) then "call" else "plumbing") | .thmInfo theoremValue => "plumbing" | .quotInfo quotientValue => "plumbing" | .ctorInfo constructorValue => "plumbing" | .recInfo recursorValue => "plumbing"))) + +meta def LexLeanExtract.ownNames (env : Lean.Environment) : (Std.HashSet Lean.Name) := + (Lean.SMap.foldStage2 (α := Lean.Name) (β := Lean.ConstantInfo) (σ := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (n : Lean.Name) (info : Lean.ConstantInfo) => (LexLeanExtract.insert acc n)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (Lean.Environment.constants env)) + +meta def LexLeanExtract.ownUses (env : Lean.Environment) : (Std.HashSet Lean.Name) := + (Lean.SMap.foldStage2 (α := Lean.Name) (β := Lean.ConstantInfo) (σ := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (n : Lean.Name) (info : Lean.ConstantInfo) => (if (List.elem (α := Lean.Name) (Lean.Name.mkSimple "LexLeanExtract") (Lean.Name.components (Lean.Name.eraseMacroScopes n))) then (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (seen : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert seen used)) (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (seen : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert seen used)) acc (Lean.Expr.getUsedConstants (Lean.ConstantInfo.type info))) (match (Lean.ConstantInfo.value? info (Bool.true)) with | .some value => (Lean.Expr.getUsedConstants value) | .none => ((#[] : Array Lean.Name)))) else acc)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (Lean.Environment.constants env)) + +meta partial def LexLeanExtract.classifyAll (env : Lean.Environment) (own : (Std.HashSet Lean.Name)) (names : (List Lean.Name)) : (Lean.Elab.Command.CommandElabM (List (Prod Lean.Name String))) := + (match names with | .nil => (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (List.nil (α := (Prod Lean.Name String)))) | .cons c rest => (if (Std.HashSet.contains (α := Lean.Name) own c) then (LexLeanExtract.classifyAll env own rest) else (match (Lean.Environment.find? env c) with | .some info => (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (β := (List (Prod Lean.Name String))) (LexLeanExtract.classifyAll env own rest) (fun (tail : (List (Prod Lean.Name String))) => (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (List.cons (α := (Prod Lean.Name String)) (Prod.mk (α := Lean.Name) (β := String) c (LexLeanExtract.classify env c info)) tail)))) | .none => (Lean.«throwError» (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (Lean.stringToMessageData (String.append "lexlean-extract-drift: the adapter uses the unknown constant `" (String.append (Lean.Name.toString c) "`"))))))) + +meta def LexLeanExtract.adapterConstants : (Lean.Elab.Command.CommandElabM (List (Prod Lean.Name String))) := + (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := Lean.Environment) (β := (List (Prod Lean.Name String))) (Lean.MonadEnv.getEnv (m := Lean.Elab.Command.CommandElabM)) (fun (env : Lean.Environment) => (LexLeanExtract.classifyAll env (LexLeanExtract.ownNames env) (LexLeanExtract.sorted (LexLeanExtract.ownUses env))))) + +meta partial def LexLeanExtract.listLines (used : (List (Prod Lean.Name String))) : (Lean.Elab.Command.CommandElabM Unit) := + (match used with | .nil => (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := Unit) (Unit.unit)) | .cons entry rest => (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := Unit) (β := Unit) (MonadLiftT.monadLift (m := IO) (n := Lean.Elab.Command.CommandElabM) (α := Unit) (IO.println (α := String) (String.append (entry).snd (String.append " " (Lean.Name.toString (entry).fst))))) (fun (printed : Unit) => (LexLeanExtract.listLines rest)))) + +meta def LexLeanExtract.listAdapterConstants : (Lean.Elab.Command.CommandElabM Unit) := + (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (β := Unit) (LexLeanExtract.adapterConstants) (fun (used : (List (Prod Lean.Name String))) => (LexLeanExtract.listLines used))) + +meta def LexLeanExtract.registeredClass (calls : (Array Lean.Name)) (types : (Array (Prod Lean.Name (Array String)))) (opaques : (Array Lean.Name)) (plumbing : (Array Lean.Name)) (c : Lean.Name) : String := + (let typeNames : (List Lean.Name) := (List.map (α := (Prod Lean.Name (Array String))) (β := Lean.Name) (fun (row : (Prod Lean.Name (Array String))) => (row).fst) (Array.toList (α := (Prod Lean.Name (Array String))) types)); (if (Array.contains (α := Lean.Name) calls c) then "call" else (if (Bool.or (List.contains (α := Lean.Name) typeNames c) (Array.contains (α := Lean.Name) opaques c)) then "type" else (if (Array.contains (α := Lean.Name) plumbing c) then "plumbing" else (if (List.any (α := (Prod Lean.Name (Array String))) (Array.toList (α := (Prod Lean.Name (Array String))) types) (fun (candidate : (Prod Lean.Name (Array String))) => (Bool.and (BEq.beq (α := Lean.Name) (Lean.Name.getPrefix c) (candidate).fst) (Array.contains (α := String) (candidate).snd (Lean.Name.getString! c))))) then "plumbing" else "unregistered"))))) + +meta partial def LexLeanExtract.usedProblems (calls : (Array Lean.Name)) (types : (Array (Prod Lean.Name (Array String)))) (opaques : (Array Lean.Name)) (plumbing : (Array Lean.Name)) (used : (List (Prod Lean.Name String))) : (List String) := + (match used with | .nil => (List.nil (α := String)) | .cons entry rest => (let c : Lean.Name := (entry).fst; (let foreignType : Bool := (Bool.and (BEq.beq (α := String) (entry).snd "type") (Bool.not (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c))); (let expected : String := (if foreignType then "a type or plumbing" else (entry).snd); (let registered : String := (LexLeanExtract.registeredClass calls types opaques plumbing c); (if (if (BEq.beq (α := String) (entry).snd "plumbing") then (Bool.not (BEq.beq (α := String) registered "unregistered")) else (if foreignType then (Bool.or (BEq.beq (α := String) registered "type") (BEq.beq (α := String) registered "plumbing")) else (BEq.beq (α := String) registered expected))) then (LexLeanExtract.usedProblems calls types opaques plumbing rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString c) (String.append "` is used as " (String.append expected (String.append " but registered as " registered))))) (LexLeanExtract.usedProblems calls types opaques plumbing rest)))))))) + +meta partial def LexLeanExtract.unusedProblems (used : (List (Prod Lean.Name String))) (names : (List Lean.Name)) : (List String) := + (match names with | .nil => (List.nil (α := String)) | .cons c rest => (if (List.any (α := (Prod Lean.Name String)) used (fun (entry : (Prod Lean.Name String)) => (BEq.beq (α := Lean.Name) (entry).fst c))) then (LexLeanExtract.unusedProblems used rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString c) "` is plumbing but unused")) (LexLeanExtract.unusedProblems used rest)))) + +meta partial def LexLeanExtract.typeProblems (env : Lean.Environment) (types : (List (Prod Lean.Name (Array String)))) : (List String) := + (match types with | .nil => (List.nil (α := String)) | .cons row rest => (let n : Lean.Name := (row).fst; (match (Lean.Environment.find? env n) with | .some info => (match info with | .inductInfo «inductive» => (if (BEq.beq (α := (List String)) (List.map (α := Lean.Name) (β := String) (fun (constructorName : Lean.Name) => (Lean.Name.getString! constructorName)) («inductive»).ctors) (Array.toList (α := String) (row).snd)) then (LexLeanExtract.typeProblems env rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString n) (String.append "` has constructors " (String.append (ToString.toString (α := (List String)) (List.map (α := Lean.Name) (β := String) (fun (listed : Lean.Name) => (Lean.Name.getString! listed)) («inductive»).ctors)) (String.append ", registered " (ToString.toString (α := (List String)) (Array.toList (α := String) (row).snd))))))) (LexLeanExtract.typeProblems env rest))) | _ => (if (Array.isEmpty (α := String) (row).snd) then (LexLeanExtract.typeProblems env rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString n) (String.append "` is not an inductive type, registered with constructors " (ToString.toString (α := (List String)) (Array.toList (α := String) (row).snd))))) (LexLeanExtract.typeProblems env rest)))) | .none => (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString n) "` is not a constant")) (LexLeanExtract.typeProblems env rest))))) + +meta def LexLeanExtract.checkNames (calls : (Array Lean.Name)) (types : (Array (Prod Lean.Name (Array String)))) (opaques : (Array Lean.Name)) (plumbing : (Array Lean.Name)) : (Lean.Elab.Command.CommandElabM Unit) := + (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := Lean.Environment) (β := Unit) (Lean.MonadEnv.getEnv (m := Lean.Elab.Command.CommandElabM)) (fun (env : Lean.Environment) => (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (β := Unit) (LexLeanExtract.adapterConstants) (fun (used : (List (Prod Lean.Name String))) => (let names : (List Lean.Name) := (Array.toList (α := Lean.Name) plumbing); (let differences : (List String) := (List.append (α := String) (LexLeanExtract.usedProblems calls types opaques plumbing used) (List.append (α := String) (LexLeanExtract.unusedProblems used names) (LexLeanExtract.typeProblems env (Array.toList (α := (Prod Lean.Name (Array String))) types)))); (if (List.isEmpty (α := String) differences) then (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := Unit) (Unit.unit)) else (Lean.«throwError» (m := Lean.Elab.Command.CommandElabM) (α := Unit) (Lean.stringToMessageData (String.append "lexlean-extract-drift: the adapter and its registry differ: " (String.intercalate "; " differences))))))))))) + +meta def LexLeanExtract.declUses (decl : (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) : (Std.HashSet Lean.Name) := + (match (decl).value with | .code body => (LexLeanExtract.codeConstants body (LexLeanExtract.typeConstants ((decl).toSignature).type (LexLeanExtract.paramConstants ((decl).toSignature).params (Std.HashSet.emptyWithCapacity (α := Lean.Name))))) | .extern attributes => (LexLeanExtract.typeConstants ((decl).toSignature).type (LexLeanExtract.paramConstants ((decl).toSignature).params (Std.HashSet.emptyWithCapacity (α := Lean.Name))))) + +meta def LexLeanExtract.declText (decl : (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) : String := + (let signatureUses : (Std.HashSet Lean.Name) := (LexLeanExtract.typeConstants ((decl).toSignature).type (LexLeanExtract.paramConstants ((decl).toSignature).params (Std.HashSet.emptyWithCapacity (α := Lean.Name)))); (match (decl).value with | .code body => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "safe" (LexLeanExtract.bool ((decl).toSignature).safe)), (Prod.mk (α := String) (β := String) "level_parameters" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (levelName : Lean.Name) => (LexLeanExtract.name levelName)) ((decl).toSignature).levelParams))), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type ((decl).toSignature).type)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (parameter : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param parameter)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) ((decl).toSignature).params)))), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "code")), (Prod.mk (α := String) (β := String) "code" (LexLeanExtract.code body))] : List (Prod String String))))), (Prod.mk (α := String) (β := String) "uses" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (usedName : Lean.Name) => (LexLeanExtract.name usedName)) (LexLeanExtract.sorted (LexLeanExtract.codeConstants body signatureUses)))))] : List (Prod String String)))) | .extern attributes => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "safe" (LexLeanExtract.bool ((decl).toSignature).safe)), (Prod.mk (α := String) (β := String) "level_parameters" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (levelName : Lean.Name) => (LexLeanExtract.name levelName)) ((decl).toSignature).levelParams))), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type ((decl).toSignature).type)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (parameter : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param parameter)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) ((decl).toSignature).params)))), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "extern"))] : List (Prod String String))))), (Prod.mk (α := String) (β := String) "uses" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (usedName : Lean.Name) => (LexLeanExtract.name usedName)) (LexLeanExtract.sorted signatureUses))))] : List (Prod String String)))))) + +meta partial def LexLeanExtract.codeLoop (env : Lean.Environment) (modules : (Array Lean.Name)) (queue : (List Lean.Name)) (visited : (Std.HashSet Lean.Name)) (decls : (Std.HashMap Lean.Name String)) (referenced : (Std.HashSet Lean.Name)) : (Lean.Core.CoreM (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) := + (match queue with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Prod.mk (α := (Std.HashSet Lean.Name)) (β := (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name))) visited (Prod.mk (α := (Std.HashMap Lean.Name String)) (β := (Std.HashSet Lean.Name)) decls referenced))) | .cons n rest => (if (Std.HashSet.contains (α := Lean.Name) visited n) then (LexLeanExtract.codeLoop env modules rest visited decls referenced) else (match (Lean.Environment.find? env n) with | .some info => (let visitedNow : (Std.HashSet Lean.Name) := (LexLeanExtract.insert visited n); (if (Bool.and (BEq.beq (α := String) (LexLeanExtract.kind info) "definition") (Bool.not (Lean.isNoncomputable env n))) then (Bind.bind (m := Lean.Core.CoreM) (α := Bool) (β := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.Compiler.LCNF.shouldGenerateCode n) (fun (generates : Bool) => (if generates then (Bind.bind (m := Lean.Core.CoreM) (α := Unit) (β := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.MonadNameGenerator.setNGen (m := Lean.Core.CoreM) (Lean.NameGenerator.mk (Lean.Name.mkSimple "_uniq") 1)) (fun (restarted : Unit) => (Bind.bind (m := Lean.Core.CoreM) (α := (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) (β := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.Compiler.LCNF.CompilerM.run (α := (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) (Lean.Compiler.LCNF.toDecl n)) (fun (decl : (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) => (let uses : (List Lean.Name) := (LexLeanExtract.sorted (LexLeanExtract.declUses decl)); (LexLeanExtract.codeLoop env modules (List.append (α := Lean.Name) rest (List.filter (α := Lean.Name) (fun (candidate : Lean.Name) => (LexLeanExtract.inProject env modules candidate)) uses)) visitedNow (Std.HashMap.insert (α := Lean.Name) (β := String) decls ((decl).toSignature).name (LexLeanExtract.declText decl)) (List.foldl (α := (Std.HashSet Lean.Name)) (β := Lean.Name) (fun (seen : (Std.HashSet Lean.Name)) (outside : Lean.Name) => (LexLeanExtract.insert seen outside)) referenced (List.filter (α := Lean.Name) (fun (outside : Lean.Name) => (Bool.not (LexLeanExtract.inProject env modules outside))) uses)))))))) else (LexLeanExtract.codeLoop env modules rest visitedNow decls referenced)))) else (LexLeanExtract.codeLoop env modules rest visitedNow decls referenced))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString n) "`"))))))) + +meta partial def LexLeanExtract.kernelLoop (env : Lean.Environment) (modules : (Array Lean.Name)) (queue : (List Lean.Name)) (seen : (Std.HashSet Lean.Name)) : (Lean.Core.CoreM (Std.HashSet Lean.Name)) := + (match queue with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (Std.HashSet Lean.Name)) seen) | .cons n rest => (if (Std.HashSet.contains (α := Lean.Name) seen n) then (LexLeanExtract.kernelLoop env modules rest seen) else (match (Lean.Environment.find? env n) with | .some info => (LexLeanExtract.kernelLoop env modules (List.append (α := Lean.Name) rest (List.filter (α := Lean.Name) (fun (candidate : Lean.Name) => (LexLeanExtract.inProject env modules candidate)) (LexLeanExtract.sorted (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert acc used)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (match (Lean.ConstantInfo.value? info (Bool.true)) with | .some value => (Lean.Expr.getUsedConstants value) | .none => ((#[] : Array Lean.Name))))))) (LexLeanExtract.insert seen n)) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (Std.HashSet Lean.Name)) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString n) "`"))))))) + +meta partial def LexLeanExtract.ctorRows (env : Lean.Environment) (names : (List Lean.Name)) : (Lean.Core.CoreM (List String)) := + (match names with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.nil (α := String))) | .cons c rest => (match (Lean.Environment.find? env c) with | .some info => (match info with | .ctorInfo constructor => (Bind.bind (m := Lean.Core.CoreM) (α := Lean.Expr) (β := (List String)) (Lean.Meta.MetaM.run' (α := Lean.Expr) (Lean.Compiler.LCNF.toLCNFType ((constructor).toConstantVal).type)) (fun (constructorType : Lean.Expr) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := (List String)) (LexLeanExtract.ctorRows env rest) (fun (tail : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.cons (α := String) (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name c)), (Prod.mk (α := String) (β := String) "parameters" (ToString.toString (α := Nat) (constructor).numParams)), (Prod.mk (α := String) (β := String) "fields" (ToString.toString (α := Nat) (constructor).numFields)), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type constructorType))] : List (Prod String String)))) tail)))))) | _ => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: `" (String.append (Lean.Name.toString c) "` is not a constructor"))))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: `" (String.append (Lean.Name.toString c) "` is not a constructor")))))) + +meta def LexLeanExtract.inductiveRow (env : Lean.Environment) (n : Lean.Name) : (Lean.Core.CoreM String) := + (match (Lean.Environment.find? env n) with | .some info => (match info with | .inductInfo «inductive» => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := String) (LexLeanExtract.ctorRows env («inductive»).ctors) (fun (constructors : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := String) (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "parameters" (ToString.toString (α := Nat) («inductive»).numParams)), (Prod.mk (α := String) (β := String) "indices" (ToString.toString (α := Nat) («inductive»).numIndices)), (Prod.mk (α := String) (β := String) "recursive" (LexLeanExtract.bool («inductive»).isRec)), (Prod.mk (α := String) (β := String) "constructors" (LexLeanExtract.arr constructors))] : List (Prod String String))))))) | _ => (Pure.pure (f := Lean.Core.CoreM) (α := String) "null")) | .none => (Pure.pure (f := Lean.Core.CoreM) (α := String) "null")) + +meta partial def LexLeanExtract.constantRows (env : Lean.Environment) (decls : (Std.HashMap Lean.Name String)) (names : (List Lean.Name)) : (Lean.Core.CoreM (List String)) := + (match names with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.nil (α := String))) | .cons n rest => (match (Lean.Environment.find? env n) with | .some info => (Bind.bind (m := Lean.Core.CoreM) (α := (List (Prod String String))) (β := (List String)) (LexLeanExtract.facts env n info) (fun (row : (List (Prod String String))) => (Bind.bind (m := Lean.Core.CoreM) (α := String) (β := (List String)) (LexLeanExtract.inductiveRow env n) (fun (inductiveText : String) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := (List String)) (LexLeanExtract.constantRows env decls rest) (fun (tail : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.cons (α := String) (LexLeanExtract.obj (List.append (α := (Prod String String)) row (([(Prod.mk (α := String) (β := String) "kernel_uses" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (usedName : Lean.Name) => (LexLeanExtract.name usedName)) (LexLeanExtract.sorted (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert acc used)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (match (Lean.ConstantInfo.value? info (Bool.true)) with | .some value => (Lean.Expr.getUsedConstants value) | .none => ((#[] : Array Lean.Name)))))))), (Prod.mk (α := String) (β := String) "declaration" (Option.getD (α := String) (Std.HashMap.get? (α := Lean.Name) (β := String) decls n) "null")), (Prod.mk (α := String) (β := String) "inductive" inductiveText)] : List (Prod String String))))) tail)))))))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString n) "`")))))) + +meta partial def LexLeanExtract.externalRows (env : Lean.Environment) (names : (List Lean.Name)) : (Lean.Core.CoreM (List String)) := + (match names with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.nil (α := String))) | .cons r rest => (match (Lean.Environment.find? env r) with | .some info => (Bind.bind (m := Lean.Core.CoreM) (α := (List (Prod String String))) (β := (List String)) (LexLeanExtract.facts env r info) (fun (row : (List (Prod String String))) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := (List String)) (LexLeanExtract.externalRows env rest) (fun (tail : (List String)) => (let compiled : (Prod String String) := (Prod.mk (α := String) (β := String) "compiled" (LexLeanExtract.bool (Option.isSome (α := Lean.IR.Decl) (Lean.IR.findEnvDecl env r)))); (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.cons (α := String) (LexLeanExtract.obj (List.append (α := (Prod String String)) row (match info with | .ctorInfo constructor => (([compiled, (Prod.mk (α := String) (β := String) "inductive_type" (LexLeanExtract.name (constructor).induct))] : List (Prod String String))) | _ => (([compiled] : List (Prod String String)))))) tail))))))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString r) "`")))))) + +meta partial def LexLeanExtract.checkRoots (env : Lean.Environment) (modules : (Array Lean.Name)) (roots : (List Lean.Name)) : (Lean.Core.CoreM Unit) := + (match roots with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := Unit) (Unit.unit)) | .cons root rest => (if (Bool.and (LexLeanExtract.inProject env modules root) (Option.isSome (α := Lean.ConstantInfo) (Lean.Environment.find? env root))) then (LexLeanExtract.checkRoots env modules rest) else (Lean.«throwError» (m := Lean.Core.CoreM) (α := Unit) (Lean.stringToMessageData (String.append "lexlean-extract: unknown root `" (String.append (Lean.Name.toString root) "`")))))) + +meta def LexLeanExtract.run (roots : (Array Lean.Name)) (modules : (Array Lean.Name)) : (Lean.Core.CoreM String) := + (Bind.bind (m := Lean.Core.CoreM) (α := Lean.Environment) (β := String) (Lean.MonadEnv.getEnv (m := Lean.Core.CoreM)) (fun (env : Lean.Environment) => (Bind.bind (m := Lean.Core.CoreM) (α := Unit) (β := String) (LexLeanExtract.checkRoots env modules (Array.toList (α := Lean.Name) roots)) (fun (checked : Unit) => (Bind.bind (m := Lean.Core.CoreM) (α := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (β := String) (LexLeanExtract.codeLoop env modules (Array.toList (α := Lean.Name) roots) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (Std.HashMap.emptyWithCapacity (α := Lean.Name) (β := String)) (Std.HashSet.emptyWithCapacity (α := Lean.Name))) (fun (visit : (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) => (Bind.bind (m := Lean.Core.CoreM) (α := (Std.HashSet Lean.Name)) (β := String) (LexLeanExtract.kernelLoop env modules (Std.HashSet.toList (α := Lean.Name) (visit).fst) (Std.HashSet.emptyWithCapacity (α := Lean.Name))) (fun (recorded : (Std.HashSet Lean.Name)) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := String) (LexLeanExtract.constantRows env ((visit).snd).fst (LexLeanExtract.sorted recorded)) (fun (constants : (List String)) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := String) (LexLeanExtract.externalRows env (LexLeanExtract.sorted ((visit).snd).snd)) (fun (externals : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := String) (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "spec" (LexLeanExtract.str "lexlean/lcnf-extraction/2")), (Prod.mk (α := String) (β := String) "lean" (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "version" (LexLeanExtract.str (Lean.versionString))), (Prod.mk (α := String) (β := String) "githash" (LexLeanExtract.str (Lean.githash)))] : List (Prod String String))))), (Prod.mk (α := String) (β := String) "roots" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (listedName : Lean.Name) => (LexLeanExtract.name listedName)) (Array.toList (α := Lean.Name) roots)))), (Prod.mk (α := String) (β := String) "constants" (LexLeanExtract.arr constants)), (Prod.mk (α := String) (β := String) "externals" (LexLeanExtract.arr externals))] : List (Prod String String))))))))))))))))) + +meta def LexLeanExtract.mainNames (roots : (Array Lean.Name)) (modules : (Array Lean.Name)) : (Lean.Elab.Command.CommandElabM Unit) := + (Lean.Elab.Command.liftCoreM (α := Unit) (Bind.bind (m := Lean.Core.CoreM) (α := String) (β := Unit) (LexLeanExtract.run roots modules) (fun (text : String) => (MonadLiftT.monadLift (m := IO) (n := Lean.Core.CoreM) (α := Unit) (IO.println (α := String) text))))) + +meta def LexLeanExtract.toNames (texts : (Array String)) : (Array Lean.Name) := + (Array.map (α := String) (β := Lean.Name) (fun (text : String) => (String.toName text)) texts) + +meta def LexLeanExtract.toTypeRows (rows : (Array (Prod String (Array String)))) : (Array (Prod Lean.Name (Array String))) := + (Array.map (α := (Prod String (Array String))) (β := (Prod Lean.Name (Array String))) (fun (row : (Prod String (Array String))) => (Prod.mk (α := Lean.Name) (β := (Array String)) (String.toName (row).fst) (row).snd)) rows) + +meta def LexLeanExtract.checkAuthority (calls : (Array String)) (types : (Array (Prod String (Array String)))) (opaques : (Array String)) (plumbing : (Array String)) : (Lean.Elab.Command.CommandElabM Unit) := + (LexLeanExtract.checkNames (LexLeanExtract.toNames calls) (LexLeanExtract.toTypeRows types) (LexLeanExtract.toNames opaques) (LexLeanExtract.toNames plumbing)) + +meta def LexLeanExtract.main (roots : (Array String)) (modules : (Array String)) : (Lean.Elab.Command.CommandElabM Unit) := + (LexLeanExtract.mainNames (LexLeanExtract.toNames roots) (LexLeanExtract.toNames modules)) + +syntax (name := LexLeanExtract.signatureCommand) "lexlean_signature " ident " : " term : command +attribute [command_elab LexLeanExtract.signatureCommand] LexLeanExtract.elabSignature + +lexlean_signature Array.contains : ({α : (Type u)} → ([h1 : (BEq α)] → ((Array α) → (α → Bool)))) + +lexlean_signature Array.foldl : ({α : (Type u)} → ({β : (Type v)} → ((β → (α → β)) → (β → ((as : (Array α)) → ((optParam Nat 0) → ((optParam Nat (@Array.size α as)) → β))))))) + +lexlean_signature Array.getD : ({α : (Type u_1)} → ((Array α) → (Nat → (α → α)))) + +lexlean_signature Array.isEmpty : ({α : (Type u)} → ((Array α) → Bool)) + +lexlean_signature Array.map : ({α : (Type u)} → ({β : (Type v)} → ((α → β) → ((Array α) → (Array β))))) + +lexlean_signature Array.size : ({α : (Type u)} → ((Array α) → Nat)) + +lexlean_signature Array.toList : ({α : (Type u)} → ((Array α) → (List α))) + +lexlean_signature BEq.beq : ({α : (Type u)} → ([self : (BEq α)] → (α → (α → Bool)))) + +lexlean_signature Bind.bind : ({m : ((Type u) → (Type v))} → ([self : (Bind m)] → ({α : (Type u)} → ({β : (Type u)} → ((m α) → ((α → (m β)) → (m β))))))) + +lexlean_signature Bool.and : (Bool → (Bool → Bool)) + +lexlean_signature Bool.not : (Bool → Bool) + +lexlean_signature Bool.or : (Bool → (Bool → Bool)) + +lexlean_signature Char.toNat : (Char → Nat) + +lexlean_signature IO.println : ({α : (Type u_1)} → ([h1 : (ToString α)] → (α → (IO Unit)))) + +lexlean_signature Lean.Compiler.LCNF.CompilerM.run : ({α : Type} → ((Lean.Compiler.LCNF.CompilerM α) → ((optParam Lean.Compiler.LCNF.CompilerM.State { }) → ((optParam Lean.Compiler.LCNF.Phase Lean.Compiler.LCNF.Phase.base) → (Lean.Core.CoreM α))))) + +lexlean_signature Lean.Compiler.LCNF.shouldGenerateCode : (Lean.Name → (Lean.Core.CoreM Bool)) + +lexlean_signature Lean.Compiler.LCNF.toDecl : (Lean.Name → (Lean.Compiler.LCNF.CompilerM (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure))) + +lexlean_signature Lean.Compiler.LCNF.toLCNFType : (Lean.Expr → (Lean.Meta.MetaM Lean.Expr)) + +lexlean_signature Lean.ConstantInfo.type : (Lean.ConstantInfo → Lean.Expr) + +lexlean_signature Lean.ConstantInfo.value? : (Lean.ConstantInfo → ((optParam Bool Bool.false) → (Option Lean.Expr))) + +lexlean_signature Lean.Elab.Command.liftCoreM : ({α : Type} → ((Lean.Core.CoreM α) → (Lean.Elab.Command.CommandElabM α))) + +lexlean_signature Lean.Elab.Command.liftTermElabM : ({α : Type} → ((Lean.Elab.Term.TermElabM α) → (Lean.Elab.Command.CommandElabM α))) + +lexlean_signature Lean.Elab.Term.elabType : (Lean.Syntax → (Lean.Elab.Term.TermElabM Lean.Expr)) + +lexlean_signature Lean.EnvExtension.asyncMode : ({σ : Type} → ((Lean.EnvExtension σ) → Lean.EnvExtension.AsyncMode)) + +lexlean_signature Lean.Environment.constants : (Lean.Environment → Lean.ConstMap) + +lexlean_signature Lean.Environment.find? : (Lean.Environment → (Lean.Name → ((optParam Bool Bool.false) → (Option Lean.ConstantInfo)))) + +lexlean_signature Lean.Environment.getModuleIdxFor? : (Lean.Environment → (Lean.Name → (Option Lean.ModuleIdx))) + +lexlean_signature Lean.Environment.header : (Lean.Environment → Lean.EnvironmentHeader) + +lexlean_signature Lean.Environment.isProjectionFn : (Lean.Environment → (Lean.Name → Bool)) + +lexlean_signature Lean.EnvironmentHeader.moduleNames : (Lean.EnvironmentHeader → (Array Lean.Name)) + +lexlean_signature Lean.Expr.getAppArgs : (Lean.Expr → (Array Lean.Expr)) + +lexlean_signature Lean.Expr.getAppFn : (Lean.Expr → Lean.Expr) + +lexlean_signature Lean.Expr.getForallBody : (Lean.Expr → Lean.Expr) + +lexlean_signature Lean.Expr.getUsedConstants : (Lean.Expr → (Array Lean.Name)) + +lexlean_signature Lean.Expr.isSort : (Lean.Expr → Bool) + +lexlean_signature Lean.IR.findEnvDecl : (Lean.Environment → (Lean.Name → (Option Lean.IR.Decl))) + +lexlean_signature Lean.MessageData.compose : (Lean.MessageData → (Lean.MessageData → Lean.MessageData)) + +lexlean_signature Lean.MessageData.ofExpr : (Lean.Expr → Lean.MessageData) + +lexlean_signature Lean.MessageData.ofName : (Lean.Name → Lean.MessageData) + +lexlean_signature Lean.Meta.MetaM.run' : ({α : Type} → ((Lean.Meta.MetaM α) → ((optParam Lean.Meta.Context { }) → ((optParam Lean.Meta.State { }) → (Lean.Core.CoreM α))))) + +lexlean_signature Lean.Meta.isInstanceCore : (Lean.Environment → (Lean.Name → Bool)) + +lexlean_signature Lean.Meta.isMatcherCore : (Lean.Environment → (Lean.Name → Bool)) + +lexlean_signature Lean.MonadEnv.getEnv : ({m : (Type → Type)} → ([self : (Lean.MonadEnv m)] → (m Lean.Environment))) + +lexlean_signature Lean.MonadNameGenerator.setNGen : ({m : (Type → Type)} → ([self : (Lean.MonadNameGenerator m)] → (Lean.NameGenerator → (m Unit)))) + +lexlean_signature Lean.Name.components : (Lean.Name → (List Lean.Name)) + +lexlean_signature Lean.Name.eraseMacroScopes : (Lean.Name → Lean.Name) + +lexlean_signature Lean.Name.getPrefix : (Lean.Name → Lean.Name) + +lexlean_signature Lean.Name.getString! : (Lean.Name → String) + +lexlean_signature Lean.Name.isInternal : (Lean.Name → Bool) + +lexlean_signature Lean.Name.isPrefixOf : (Lean.Name → (Lean.Name → Bool)) + +lexlean_signature Lean.Name.lt : (Lean.Name → (Lean.Name → Bool)) + +lexlean_signature Lean.Name.mkSimple : (String → Lean.Name) + +lexlean_signature Lean.Name.mkStr1 : (String → Lean.Name) + +lexlean_signature Lean.Name.mkStr2 : (String → (String → Lean.Name)) + +lexlean_signature Lean.Name.toString : (Lean.Name → ((optParam Bool Bool.true) → String)) + +lexlean_signature Lean.PersistentArray.branching : USize + +lexlean_signature Lean.PersistentArray.initShift : USize + +lexlean_signature Lean.PersistentEnvExtension.toEnvExtension : ({α : Type} → ({β : Type} → ({σ : Type} → ((Lean.PersistentEnvExtension α β σ) → (Lean.EnvExtension (Lean.PersistentEnvExtensionState α σ)))))) + +lexlean_signature Lean.PersistentHashMap.mkEmptyEntriesArray : ({α : (Type u_1)} → ({β : (Type u_2)} → (Array (Lean.PersistentHashMap.Entry α β (Lean.PersistentHashMap.Node α β))))) + +lexlean_signature Lean.SMap.foldStage2 : ({α : (Type u)} → ({β : (Type v)} → ([h2 : (BEq α)] → ([h3 : (Hashable α)] → ({σ : (Type w)} → ((σ → (α → (β → σ))) → (σ → ((@Lean.SMap α β h2 h3) → σ)))))))) + +lexlean_signature Lean.Syntax.getArg : (Lean.Syntax → (Nat → Lean.Syntax)) + +lexlean_signature Lean.Syntax.getId : (Lean.Syntax → Lean.Name) + +lexlean_signature Lean.annotation? : (Lean.Name → (Lean.Expr → (Option Lean.Expr))) + +lexlean_signature Lean.getConstInfo : ({m : (Type → Type)} → ([h1 : (Monad m)] → ([h2 : (Lean.MonadEnv m)] → ([h3 : (Lean.MonadError m)] → (Lean.Name → (m Lean.ConstantInfo)))))) + +lexlean_signature Lean.getOriginalConstKind? : (Lean.Environment → (Lean.Name → (Option Lean.ConstantKind))) + +lexlean_signature Lean.githash : String + +lexlean_signature Lean.instantiateMVars : ({m : (Type → Type)} → ([h1 : (Monad m)] → ([h2 : (Lean.MonadMCtx m)] → (Lean.Expr → (m Lean.Expr))))) + +lexlean_signature Lean.isAuxRecursor : (Lean.Environment → (Lean.Name → Bool)) + +lexlean_signature Lean.isCasesOnRecursor : (Lean.Environment → (Lean.Name → Bool)) + +lexlean_signature Lean.isNoConfusion : (Lean.Environment → (Lean.Name → Bool)) + +lexlean_signature Lean.isNoncomputable : (Lean.Environment → (Lean.Name → ((optParam Lean.EnvExtension.AsyncMode (@Lean.EnvExtension.asyncMode (Lean.PersistentEnvExtensionState Lean.Name (Prod (List Lean.Name) Lean.NameSet)) (@Lean.PersistentEnvExtension.toEnvExtension Lean.Name Lean.Name (Prod (List Lean.Name) Lean.NameSet) Lean.noncomputableExt))) → Bool))) + +lexlean_signature Lean.noncomputableExt : Lean.TagDeclarationExtension + +lexlean_signature Lean.stringToMessageData : (String → Lean.MessageData) + +lexlean_signature Lean.«throwError» : ({m : (Type → Type)} → ({α : Type} → ([h2 : (Monad m)] → ([h3 : (Lean.MonadError m)] → (Lean.MessageData → (m α)))))) + +lexlean_signature Lean.versionString : String + +lexlean_signature List.any : ({α : (Type u)} → ((List α) → ((α → Bool) → Bool))) + +lexlean_signature List.append : ({α : (Type u_1)} → ((List α) → ((List α) → (List α)))) + +lexlean_signature List.contains : ({α : (Type u)} → ([h1 : (BEq α)] → ((List α) → (α → Bool)))) + +lexlean_signature List.drop : ({α : (Type u)} → (Nat → ((List α) → (List α)))) + +lexlean_signature List.elem : ({α : (Type u)} → ([h1 : (BEq α)] → (α → ((List α) → Bool)))) + +lexlean_signature List.filter : ({α : (Type u)} → ((α → Bool) → ((List α) → (List α)))) + +lexlean_signature List.foldl : ({α : (Type u)} → ({β : (Type v)} → ((α → (β → α)) → (α → ((List β) → α))))) + +lexlean_signature List.isEmpty : ({α : (Type u)} → ((List α) → Bool)) + +lexlean_signature List.map : ({α : (Type u_1)} → ({β : (Type u_2)} → ((α → β) → ((List α) → (List β))))) + +lexlean_signature MonadLiftT.monadLift : ({m : ((Type u) → (Type v))} → ({n : ((Type u) → (Type w))} → ([self : (MonadLiftT m n)] → ({α : (Type u)} → ((m α) → (n α)))))) + +lexlean_signature Nat.add : (Nat → (Nat → Nat)) + +lexlean_signature Nat.blt : (Nat → (Nat → Bool)) + +lexlean_signature Nat.toDigits : (Nat → (Nat → (List Char))) + +lexlean_signature Option.getD : ({α : (Type u_1)} → ((Option α) → (α → α))) + +lexlean_signature Option.isSome : ({α : (Type u_1)} → ((Option α) → Bool)) + +lexlean_signature Pure.pure : ({f : ((Type u) → (Type v))} → ([self : (Pure f)] → ({α : (Type u)} → (α → (f α))))) + +lexlean_signature Std.HashMap.emptyWithCapacity : ({α : (Type u)} → ({β : (Type v)} → ([h2 : (BEq α)] → ([h3 : (Hashable α)] → ((optParam Nat 8) → (@Std.HashMap α β h2 h3)))))) + +lexlean_signature Std.HashMap.get? : ({α : (Type u)} → ({β : (Type v)} → ({h2 : (BEq α)} → ({h3 : (Hashable α)} → ((@Std.HashMap α β h2 h3) → (α → (Option β))))))) + +lexlean_signature Std.HashMap.insert : ({α : (Type u)} → ({β : (Type v)} → ({h2 : (BEq α)} → ({h3 : (Hashable α)} → ((@Std.HashMap α β h2 h3) → (α → (β → (@Std.HashMap α β h2 h3)))))))) + +lexlean_signature Std.HashSet.contains : ({α : (Type u)} → ({h1 : (BEq α)} → ({h2 : (Hashable α)} → ((@Std.HashSet α h1 h2) → (α → Bool))))) + +lexlean_signature Std.HashSet.emptyWithCapacity : ({α : (Type u)} → ([h1 : (BEq α)] → ([h2 : (Hashable α)] → ((optParam Nat 8) → (@Std.HashSet α h1 h2))))) + +lexlean_signature Std.HashSet.insert : ({α : (Type u)} → ({h1 : (BEq α)} → ({h2 : (Hashable α)} → ((@Std.HashSet α h1 h2) → (α → (@Std.HashSet α h1 h2)))))) + +lexlean_signature Std.HashSet.toList : ({α : (Type u)} → ({h1 : (BEq α)} → ({h2 : (Hashable α)} → ((@Std.HashSet α h1 h2) → (List α))))) + +lexlean_signature String.append : (String → (String → String)) + +lexlean_signature String.foldl : ({α : (Type u)} → ((α → (Char → α)) → (α → (String → α)))) + +lexlean_signature String.intercalate : (String → ((List String) → String)) + +lexlean_signature String.ofList : ((List Char) → String) + +lexlean_signature String.push : (String → (Char → String)) + +lexlean_signature String.toName : (String → Lean.Name) + +lexlean_signature ToString.toString : ({α : (Type u)} → ([self : (ToString α)] → (α → String))) + +lexlean_signature UInt16.toNat : (UInt16 → Nat) + +lexlean_signature UInt32.toNat : (UInt32 → Nat) + +lexlean_signature UInt64.toNat : (UInt64 → Nat) + +lexlean_signature UInt8.toNat : (UInt8 → Nat) + +lexlean_signature Unit.unit : Unit + +#eval LexLeanExtract.checkAuthority ((#["Array.contains", "Array.foldl", "Array.getD", "Array.isEmpty", "Array.map", "Array.size", "Array.toList", "BEq.beq", "Bind.bind", "Bool.and", "Bool.not", "Bool.or", "Char.toNat", "IO.println", "Lean.Compiler.LCNF.CompilerM.run", "Lean.Compiler.LCNF.shouldGenerateCode", "Lean.Compiler.LCNF.toDecl", "Lean.Compiler.LCNF.toLCNFType", "Lean.ConstantInfo.type", "Lean.ConstantInfo.value?", "Lean.Elab.Command.liftCoreM", "Lean.Elab.Command.liftTermElabM", "Lean.Elab.Term.elabType", "Lean.EnvExtension.asyncMode", "Lean.Environment.constants", "Lean.Environment.find?", "Lean.Environment.getModuleIdxFor?", "Lean.Environment.header", "Lean.Environment.isProjectionFn", "Lean.EnvironmentHeader.moduleNames", "Lean.Expr.getAppArgs", "Lean.Expr.getAppFn", "Lean.Expr.getForallBody", "Lean.Expr.getUsedConstants", "Lean.Expr.isSort", "Lean.IR.findEnvDecl", "Lean.MessageData.compose", "Lean.MessageData.ofExpr", "Lean.MessageData.ofName", "Lean.Meta.MetaM.run'", "Lean.Meta.isInstanceCore", "Lean.Meta.isMatcherCore", "Lean.MonadEnv.getEnv", "Lean.MonadNameGenerator.setNGen", "Lean.Name.components", "Lean.Name.eraseMacroScopes", "Lean.Name.getPrefix", "Lean.Name.getString!", "Lean.Name.isInternal", "Lean.Name.isPrefixOf", "Lean.Name.lt", "Lean.Name.mkSimple", "Lean.Name.mkStr1", "Lean.Name.mkStr2", "Lean.Name.toString", "Lean.PersistentArray.branching", "Lean.PersistentArray.initShift", "Lean.PersistentEnvExtension.toEnvExtension", "Lean.PersistentHashMap.mkEmptyEntriesArray", "Lean.SMap.foldStage2", "Lean.Syntax.getArg", "Lean.Syntax.getId", "Lean.annotation?", "Lean.getConstInfo", "Lean.getOriginalConstKind?", "Lean.githash", "Lean.instantiateMVars", "Lean.isAuxRecursor", "Lean.isCasesOnRecursor", "Lean.isNoConfusion", "Lean.isNoncomputable", "Lean.noncomputableExt", "Lean.stringToMessageData", "Lean.throwError", "Lean.versionString", "List.any", "List.append", "List.contains", "List.drop", "List.elem", "List.filter", "List.foldl", "List.isEmpty", "List.map", "MonadLiftT.monadLift", "Nat.add", "Nat.blt", "Nat.toDigits", "Option.getD", "Option.isSome", "Pure.pure", "Std.HashMap.emptyWithCapacity", "Std.HashMap.get?", "Std.HashMap.insert", "Std.HashSet.contains", "Std.HashSet.emptyWithCapacity", "Std.HashSet.insert", "Std.HashSet.toList", "String.append", "String.foldl", "String.intercalate", "String.ofList", "String.push", "String.toName", "ToString.toString", "UInt16.toNat", "UInt32.toNat", "UInt64.toNat", "UInt8.toNat", "Unit.unit"] : Array String)) ((#[(Prod.mk (α := String) (β := (Array String)) "Bool" ((#["false", "true"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Alt" ((#["alt", "ctorAlt", "default"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Arg" ((#["erased", "fvar", "type"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Cases" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Code" ((#["let", "fun", "jp", "jmp", "cases", "return", "unreach", "oset", "uset", "sset", "setTag", "inc", "dec", "del"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Decl" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.DeclValue" ((#["code", "extern"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.FunDecl" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.LetDecl" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.LetValue" ((#["lit", "erased", "proj", "const", "fvar", "ctor", "oproj", "uproj", "sproj", "fap", "pap", "reset", "reuse", "box", "unbox", "isShared"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.LitValue" ((#["nat", "str", "uint8", "uint16", "uint32", "uint64", "usize"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Param" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Phase" ((#["base", "mono", "impure"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Purity" ((#["pure", "impure"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Signature" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstantInfo" ((#["axiomInfo", "defnInfo", "thmInfo", "opaqueInfo", "quotInfo", "inductInfo", "ctorInfo", "recInfo"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstantKind" ((#["defn", "thm", "axiom", "opaque", "quot", "induct", "ctor", "recursor"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstantVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstructorVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.DefinitionSafety" ((#["unsafe", "safe", "partial"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.DefinitionVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Expr" ((#["bvar", "fvar", "mvar", "sort", "const", "app", "lam", "forallE", "letE", "lit", "mdata", "proj"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.FVarId" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.InductiveVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Name" ((#["anonymous", "str", "num"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.NameGenerator" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "List" ((#["nil", "cons"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Option" ((#["none", "some"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Prod" ((#["mk"] : Array String)))] : Array (Prod String (Array String)))) ((#["Array", "BEq", "Bind", "Char", "Hashable", "IO", "Lean.AxiomVal", "Lean.BinderInfo", "Lean.Compiler.InlineAttributeKind", "Lean.Compiler.LCNF.CompilerM", "Lean.Compiler.LCNF.CompilerM.State", "Lean.Compiler.LCNF.CtorInfo", "Lean.ConstMap", "Lean.Core.Context", "Lean.Core.CoreM", "Lean.Core.State", "Lean.DelayedMetavarAssignment", "Lean.Elab.Command.CommandElab", "Lean.Elab.Command.CommandElabM", "Lean.Elab.Command.Context", "Lean.Elab.Command.State", "Lean.Elab.Term.Context", "Lean.Elab.Term.State", "Lean.Elab.Term.TermElabM", "Lean.EnvExtension", "Lean.EnvExtension.AsyncMode", "Lean.Environment", "Lean.EnvironmentHeader", "Lean.Exception", "Lean.ExternAttrData", "Lean.FVarIdMap", "Lean.FVarIdSet", "Lean.IR.Decl", "Lean.LMVarId", "Lean.Level", "Lean.LevelMetavarDecl", "Lean.Literal", "Lean.LocalDecl", "Lean.LocalInstance", "Lean.MData", "Lean.MVarId", "Lean.MessageData", "Lean.Meta.AbstractMVarsResult", "Lean.Meta.Config", "Lean.Meta.ConfigWithKey", "Lean.Meta.Context", "Lean.Meta.DefEqCacheKey", "Lean.Meta.DefEqContext", "Lean.Meta.ExprConfigCacheKey", "Lean.Meta.FunInfo", "Lean.Meta.InfoCacheKey", "Lean.Meta.MetaM", "Lean.Meta.PostponedEntry", "Lean.Meta.State", "Lean.Meta.SynthInstanceCacheKey", "Lean.MetavarDecl", "Lean.ModuleIdx", "Lean.MonadEnv", "Lean.MonadError", "Lean.MonadMCtx", "Lean.MonadNameGenerator", "Lean.NameSet", "Lean.OpaqueVal", "Lean.ParserDescr", "Lean.PersistentArrayNode", "Lean.PersistentEnvExtension", "Lean.PersistentEnvExtensionState", "Lean.PersistentHashMap.Entry", "Lean.PersistentHashMap.Node", "Lean.QuotVal", "Lean.RecursorVal", "Lean.ReducibilityHints", "Lean.SMap", "Lean.Syntax", "Lean.TagDeclarationExtension", "Lean.TheoremVal", "Monad", "MonadLiftT", "Nat", "Pure", "Std.HashMap", "Std.HashSet", "String", "ToString", "UInt16", "UInt32", "UInt64", "UInt8", "USize", "Unit"] : Array String)) ((#["Applicative.toPure", "Array.casesOn", "Array.mkEmpty", "Bool.casesOn", "Char.ofNat", "EIO", "EmptyCollection.emptyCollection", "Eq", "Eq.casesOn", "Eq.ndrec", "Eq.refl", "Eq.symm", "False", "False.elim", "HEq", "HEq.refl", "IO.RealWorld", "Inhabited", "Inhabited.default", "Inhabited.mk", "Lean.Compiler.LCNF.Alt.casesOn", "Lean.Compiler.LCNF.Arg.casesOn", "Lean.Compiler.LCNF.Cases.casesOn", "Lean.Compiler.LCNF.Code.casesOn", "Lean.Compiler.LCNF.CompilerM.State.mk", "Lean.Compiler.LCNF.CtorInfo.casesOn", "Lean.Compiler.LCNF.Decl.toSignature", "Lean.Compiler.LCNF.Decl.value", "Lean.Compiler.LCNF.DeclValue.casesOn", "Lean.Compiler.LCNF.FunDecl.casesOn", "Lean.Compiler.LCNF.LCtx.mk", "Lean.Compiler.LCNF.LetDecl.fvarId", "Lean.Compiler.LCNF.LetDecl.type", "Lean.Compiler.LCNF.LetDecl.value", "Lean.Compiler.LCNF.LetValue.casesOn", "Lean.Compiler.LCNF.LitValue.casesOn", "Lean.Compiler.LCNF.Param.borrow", "Lean.Compiler.LCNF.Param.fvarId", "Lean.Compiler.LCNF.Param.type", "Lean.Compiler.LCNF.Purity.ctorIdx", "Lean.Compiler.LCNF.Signature.levelParams", "Lean.Compiler.LCNF.Signature.name", "Lean.Compiler.LCNF.Signature.params", "Lean.Compiler.LCNF.Signature.safe", "Lean.Compiler.LCNF.Signature.type", "Lean.ConstantInfo.casesOn", "Lean.ConstantInfo.ctorIdx", "Lean.ConstantInfo.rec", "Lean.ConstantKind.casesOn", "Lean.ConstantVal.type", "Lean.ConstructorVal.induct", "Lean.ConstructorVal.numFields", "Lean.ConstructorVal.numParams", "Lean.ConstructorVal.toConstantVal", "Lean.Core.instAddMessageContextCoreM", "Lean.Core.instInhabitedCoreM", "Lean.Core.instMonadCoreM", "Lean.Core.instMonadEnvCoreM", "Lean.Core.instMonadLiftIOCoreM", "Lean.Core.instMonadNameGeneratorCoreM", "Lean.Core.instMonadRefCoreM", "Lean.DefinitionSafety.casesOn", "Lean.DefinitionVal.safety", "Lean.Elab.Command.instAddErrorMessageContextCommandElabM", "Lean.Elab.Command.instInhabitedCommandElabM", "Lean.Elab.Command.instMonadCommandElabM", "Lean.Elab.Command.instMonadEnvCommandElabM", "Lean.Elab.Command.instMonadExceptOfExceptionCommandElabM", "Lean.Elab.Command.instMonadLiftTIOCommandElabM", "Lean.Elab.Command.instMonadRefCommandElabM", "Lean.Elab.MonadMacroAdapter.toMonadQuotation", "Lean.Elab.Term.instAddErrorMessageContextTermElabM", "Lean.Elab.Term.instMonadMacroAdapterTermElabM", "Lean.Elab.Term.instMonadTermElabM", "Lean.Expr.casesOn", "Lean.Expr.ctorIdx", "Lean.Expr.instBEq", "Lean.Expr.instHashable", "Lean.Expr.rec", "Lean.FVarId.casesOn", "Lean.FVarId.name", "Lean.InductiveVal.ctors", "Lean.InductiveVal.isRec", "Lean.InductiveVal.numIndices", "Lean.InductiveVal.numParams", "Lean.Level.instBEq", "Lean.Level.instToString", "Lean.LocalContext.mk", "Lean.Meta.Cache.mk", "Lean.Meta.Context.mk", "Lean.Meta.Diagnostics.mk", "Lean.Meta.State.mk", "Lean.Meta.instBEqDefEqCacheKey", "Lean.Meta.instBEqExprConfigCacheKey", "Lean.Meta.instBEqInfoCacheKey", "Lean.Meta.instBEqSynthInstanceCacheKey", "Lean.Meta.instHashableDefEqCacheKey", "Lean.Meta.instHashableExprConfigCacheKey", "Lean.Meta.instHashableInfoCacheKey", "Lean.Meta.instHashableSynthInstanceCacheKey", "Lean.Meta.instInhabitedConfigWithKey", "Lean.Meta.instMonadEnvMetaM", "Lean.Meta.instMonadMCtxMetaM", "Lean.Meta.instMonadMetaM", "Lean.MetavarContext.mk", "Lean.MonadError.mk", "Lean.MonadQuotation.toMonadRef", "Lean.Name.instBEq", "Lean.ParserDescr.binary", "Lean.ParserDescr.cat", "Lean.ParserDescr.const", "Lean.ParserDescr.node", "Lean.ParserDescr.symbol", "Lean.PersistentArray.mk", "Lean.PersistentArrayNode.node", "Lean.PersistentHashMap.Node.entries", "Lean.PersistentHashMap.mk", "Lean.instAddErrorMessageContextOfAddMessageContextOfMonad", "Lean.instBEqBinderInfo", "Lean.instBEqFVarId", "Lean.instBEqLevelMVarId", "Lean.instBEqLiteral", "Lean.instBEqMVarId", "Lean.instEmptyCollectionFVarIdMap", "Lean.instEmptyCollectionFVarIdSet", "Lean.instHashableFVarId", "Lean.instHashableLevelMVarId", "Lean.instHashableMVarId", "Lean.instHashableName", "Lean.instMonadEnvOfMonadLift", "Lean.instMonadExceptOfExceptionCoreM", "Lean.instMonadMCtxOfMonadLift", "List.casesOn", "List.instBEq", "List.toArray", "Monad.toBind", "Nat.hasNotBit", "Nat.land", "Nat.ne_of_beq_eq_false", "Nat.shiftRight", "OfNat.ofNat", "Option.casesOn", "Prod.fst", "Prod.snd", "ReaderT.instApplicativeOfMonad", "ReaderT.instMonadExceptOf", "ReaderT.instMonadLift", "StateRefT'", "StateRefT'.instMonad", "StateRefT'.instMonadExceptOf", "StateRefT'.instMonadLift", "Std.HashMap.instEmptyCollection", "String.instInhabited", "USize.toNat", "eq_of_heq", "instBEqOfDecidableEq", "instDecidableEqBool", "instDecidableEqChar", "instDecidableEqNat", "instDecidableEqString", "instInhabitedBool", "instInhabitedList", "instInhabitedProd", "instMonadEIO", "instMonadLiftT", "instMonadLiftTOfMonadLift", "instOfNatNat", "instToStringList", "instToStringNat", "instToStringString", "ite", "noConfusion_of_Nat"] : Array String)) + +#eval LexLeanExtract.main ((#["Models.Main.classify", "Models.Main.classifyChecked", "Models.Main.respond", "Models.Main.admitCosts", "Models.Main.step", "Models.Main.ledgerPost", "Models.Main.ledgerFull", "Models.Main.guessChecked", "Models.Main.flowStep"] : Array String)) ((#["LexLeanRuntime.Portable", "LexLeanRuntime.Collections", "LexLeanRuntime.Models", "Models.Flows", "Models.Glyphs", "Models.Ledger", "Models.Main", "Models.Pipeline", "Models.Policy", "Models.Recognizer", "Models.Session", "Models.Triage"] : Array String)) diff --git a/examples/models/expected/verify/extract/LexLeanExtract.Xcca462bfe8cabc3365338af96b591362.lean b/examples/models/expected/verify/extract/LexLeanExtract.Xcca462bfe8cabc3365338af96b591362.lean deleted file mode 100644 index 24d89a8ae..000000000 --- a/examples/models/expected/verify/extract/LexLeanExtract.Xcca462bfe8cabc3365338af96b591362.lean +++ /dev/null @@ -1,439 +0,0 @@ -module -public meta import Lean -import all Models.Flows -import all Models.Glyphs -import all Models.Ledger -import all Models.Main -import all Models.Pipeline -import all Models.Policy -import all Models.Recognizer -import all Models.Session -import all Models.Triage -set_option autoImplicit false -set_option linter.unusedVariables false -universe u u_1 u_2 v w - -meta def LexLeanExtract.escape (text : String) : String := - (String.foldl (α := String) (fun (out : String) (c : Char) => (if (BEq.beq (α := Char) c '"') then (String.append out "\\\"") else (if (BEq.beq (α := Char) c '\\') then (String.append out "\\\\") else (if (Nat.blt (Char.toNat c) 32) then (String.append out (String.append "\\u" (String.ofList (List.drop (α := Char) 1 (Nat.toDigits 16 (Nat.add (Char.toNat c) 65536)))))) else (String.push out c))))) "" text) - -meta def LexLeanExtract.str (text : String) : String := - (String.append "\"" (String.append (LexLeanExtract.escape text) "\"")) - -meta def LexLeanExtract.name (n : Lean.Name) : String := - (LexLeanExtract.str (Lean.Name.toString n)) - -meta def LexLeanExtract.arr (items : (List String)) : String := - (String.append "[" (String.append (String.intercalate "," items) "]")) - -meta def LexLeanExtract.obj (fields : (List (Prod String String))) : String := - (String.append "{" (String.append (String.intercalate "," (List.map (α := (Prod String String)) (β := String) (fun (kv : (Prod String String)) => (String.append (LexLeanExtract.str (kv).fst) (String.append ":" (kv).snd))) fields)) "}")) - -meta def LexLeanExtract.bool (value : Bool) : String := - (if value then "true" else "false") - -meta def LexLeanExtract.fvar (id : Lean.FVarId) : String := - (LexLeanExtract.name (id).name) - -meta partial def LexLeanExtract.mergeNames (a : (List Lean.Name)) (b : (List Lean.Name)) : (List Lean.Name) := - (match a with | .nil => b | .cons x xs => (match b with | .nil => a | .cons y ys => (if (Lean.Name.lt y x) then (List.cons (α := Lean.Name) y (LexLeanExtract.mergeNames a ys)) else (List.cons (α := Lean.Name) x (LexLeanExtract.mergeNames xs b))))) - -meta partial def LexLeanExtract.splitNames (l : (List Lean.Name)) : (Prod (List Lean.Name) (List Lean.Name)) := - (match l with | .nil => (Prod.mk (α := (List Lean.Name)) (β := (List Lean.Name)) (List.nil (α := Lean.Name)) (List.nil (α := Lean.Name))) | .cons x xs => (let rest : (Prod (List Lean.Name) (List Lean.Name)) := (LexLeanExtract.splitNames xs); (Prod.mk (α := (List Lean.Name)) (β := (List Lean.Name)) (List.cons (α := Lean.Name) x (rest).snd) (rest).fst))) - -meta partial def LexLeanExtract.sortNames (l : (List Lean.Name)) : (List Lean.Name) := - (match l with | .nil => (List.nil (α := Lean.Name)) | .cons x xs => (match xs with | .nil => l | .cons y ys => (let halves : (Prod (List Lean.Name) (List Lean.Name)) := (LexLeanExtract.splitNames l); (LexLeanExtract.mergeNames (LexLeanExtract.sortNames (halves).fst) (LexLeanExtract.sortNames (halves).snd))))) - -meta def LexLeanExtract.sorted (names : (Std.HashSet Lean.Name)) : (List Lean.Name) := - (LexLeanExtract.sortNames (Std.HashSet.toList (α := Lean.Name) names)) - -meta def LexLeanExtract.insert (names : (Std.HashSet Lean.Name)) (n : Lean.Name) : (Std.HashSet Lean.Name) := - (Std.HashSet.insert (α := Lean.Name) names n) - -meta partial def LexLeanExtract.type (e : Lean.Expr) : String := - (match e with | .const n us => (if (BEq.beq (α := Lean.Name) n ``lcErased) then (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "erased"))] : List (Prod String String)))) else (if (BEq.beq (α := Lean.Name) n ``lcAny) then (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "any"))] : List (Prod String String)))) else (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "const")), (Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name n)), (Prod.mk (α := String) (β := String) "levels" (LexLeanExtract.arr (List.map (α := Lean.Level) (β := String) (fun (u : Lean.Level) => (LexLeanExtract.str (ToString.toString (α := Lean.Level) u))) us)))] : List (Prod String String)))))) | .app fn arg => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "app")), (Prod.mk (α := String) (β := String) "head" (LexLeanExtract.type (Lean.Expr.getAppFn e))), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := Lean.Expr) (β := String) (fun (a : Lean.Expr) => (LexLeanExtract.type a)) (Array.toList (α := Lean.Expr) (Lean.Expr.getAppArgs e)))))] : List (Prod String String)))) | .forallE binderName domain body binderInfo => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "arrow")), (Prod.mk (α := String) (β := String) "domain" (LexLeanExtract.type domain)), (Prod.mk (α := String) (β := String) "codomain" (LexLeanExtract.type body))] : List (Prod String String)))) | .fvar id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "fvar")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar id))] : List (Prod String String)))) | .bvar position => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "bvar")), (Prod.mk (α := String) (β := String) "index" (ToString.toString (α := Nat) position))] : List (Prod String String)))) | .sort u => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "sort")), (Prod.mk (α := String) (β := String) "level" (LexLeanExtract.str (ToString.toString (α := Lean.Level) u)))] : List (Prod String String)))) | .mvar id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "metavariable"))] : List (Prod String String)))) | .lam binderName domain body binderInfo => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "lambda"))] : List (Prod String String)))) | .letE declName t value body nonDep => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "let"))] : List (Prod String String)))) | .lit literal => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "literal"))] : List (Prod String String)))) | .mdata data body => (match (Lean.annotation? (Lean.Name.mkSimple "borrowed") e) with | .some annotated => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "borrowed")), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type body))] : List (Prod String String)))) | .none => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "metadata"))] : List (Prod String String))))) | .proj typeName idx struct => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "projection"))] : List (Prod String String))))) - -meta def LexLeanExtract.arg (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) : String := - (match a with | .erased => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "erased"))] : List (Prod String String)))) | .fvar id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "fvar")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar id))] : List (Prod String String)))) | .type e => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "type")), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type e))] : List (Prod String String))))) - -meta def LexLeanExtract.literal (value : Lean.Compiler.LCNF.LitValue) : String := - (match value with | .nat v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "nat")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) v)))] : List (Prod String String)))) | .str v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "string")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str v))] : List (Prod String String)))) | .uint8 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint8")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt8.toNat v))))] : List (Prod String String)))) | .uint16 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint16")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt16.toNat v))))] : List (Prod String String)))) | .uint32 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint32")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt32.toNat v))))] : List (Prod String String)))) | .uint64 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint64")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt64.toNat v))))] : List (Prod String String)))) | .usize v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "usize")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt64.toNat v))))] : List (Prod String String))))) - -meta def LexLeanExtract.letValue (v : (Lean.Compiler.LCNF.LetValue Lean.Compiler.LCNF.Purity.pure)) : String := - (match v with | .lit value => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "literal")), (Prod.mk (α := String) (β := String) "literal" (LexLeanExtract.literal value))] : List (Prod String String)))) | .erased => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "erased"))] : List (Prod String String)))) | .proj typeName position struct => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "projection")), (Prod.mk (α := String) (β := String) "type_name" (LexLeanExtract.name typeName)), (Prod.mk (α := String) (β := String) "index" (ToString.toString (α := Nat) position)), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.fvar struct))] : List (Prod String String)))) | .const declName us args => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "const")), (Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name declName)), (Prod.mk (α := String) (β := String) "levels" (LexLeanExtract.arr (List.map (α := Lean.Level) (β := String) (fun (u : Lean.Level) => (LexLeanExtract.str (ToString.toString (α := Lean.Level) u))) us))), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.arg a)) (Array.toList (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) args))))] : List (Prod String String)))) | .fvar id args => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "apply")), (Prod.mk (α := String) (β := String) "function" (LexLeanExtract.fvar id)), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.arg a)) (Array.toList (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) args))))] : List (Prod String String))))) - -meta def LexLeanExtract.param (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) : String := - (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar (p).fvarId)), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type (p).type)), (Prod.mk (α := String) (β := String) "borrow" (LexLeanExtract.bool (p).borrow))] : List (Prod String String)))) - -mutual -meta partial def LexLeanExtract.code (c : (Lean.Compiler.LCNF.Code Lean.Compiler.LCNF.Purity.pure)) : String := - (match c with | .«let» decl k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "let")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar (decl).fvarId)), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type (decl).type)), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.letValue (decl).value)), (Prod.mk (α := String) (β := String) "body" (LexLeanExtract.code k))] : List (Prod String String)))) | .«fun» decl k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "fun")), (Prod.mk (α := String) (β := String) "declaration" (LexLeanExtract.funDecl decl)), (Prod.mk (α := String) (β := String) "body" (LexLeanExtract.code k))] : List (Prod String String)))) | .jp decl k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "join")), (Prod.mk (α := String) (β := String) "declaration" (LexLeanExtract.funDecl decl)), (Prod.mk (α := String) (β := String) "body" (LexLeanExtract.code k))] : List (Prod String String)))) | .jmp id args => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "jump")), (Prod.mk (α := String) (β := String) "target" (LexLeanExtract.fvar id)), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.arg a)) (Array.toList (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) args))))] : List (Prod String String)))) | .cases cs => (LexLeanExtract.cases cs) | .«return» id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "return")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar id))] : List (Prod String String)))) | .unreach t => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unreachable")), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type t))] : List (Prod String String))))) - -meta partial def LexLeanExtract.funDecl (d : (Lean.Compiler.LCNF.FunDecl Lean.Compiler.LCNF.Purity.pure)) : String := - (match d with | .mk fvarId binderName params type value => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar fvarId)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param p)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) params)))), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type type)), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.code value))] : List (Prod String String))))) - -meta partial def LexLeanExtract.cases (cs : (Lean.Compiler.LCNF.Cases Lean.Compiler.LCNF.Purity.pure)) : String := - (match cs with | .mk typeName resultType discr alts => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "cases")), (Prod.mk (α := String) (β := String) "type_name" (LexLeanExtract.name typeName)), (Prod.mk (α := String) (β := String) "result_type" (LexLeanExtract.type resultType)), (Prod.mk (α := String) (β := String) "discriminant" (LexLeanExtract.fvar discr)), (Prod.mk (α := String) (β := String) "alternatives" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.alt a)) (Array.toList (α := (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) alts))))] : List (Prod String String))))) - -meta partial def LexLeanExtract.alt (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) : String := - (match a with | .alt ctorName params k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "constructor")), (Prod.mk (α := String) (β := String) "constructor" (LexLeanExtract.name ctorName)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param p)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) params)))), (Prod.mk (α := String) (β := String) "code" (LexLeanExtract.code k))] : List (Prod String String)))) | .default k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "default")), (Prod.mk (α := String) (β := String) "code" (LexLeanExtract.code k))] : List (Prod String String))))) -end - -meta partial def LexLeanExtract.typeConstants (e : Lean.Expr) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (match e with | .const n us => (if (Bool.or (BEq.beq (α := Lean.Name) n ``lcErased) (BEq.beq (α := Lean.Name) n ``lcAny)) then out else (LexLeanExtract.insert out n)) | .app f a => (LexLeanExtract.typeConstants a (LexLeanExtract.typeConstants f out)) | .forallE binderName d b binderInfo => (LexLeanExtract.typeConstants b (LexLeanExtract.typeConstants d out)) | .bvar position => out | .fvar id => out | .mvar id => out | .sort u => out | .lit literal => out | .lam binderName d b binderInfo => (LexLeanExtract.typeConstants b (LexLeanExtract.typeConstants d out)) | .letE declName t v b nonDep => (LexLeanExtract.typeConstants b (LexLeanExtract.typeConstants v (LexLeanExtract.typeConstants t out))) | .mdata data b => (LexLeanExtract.typeConstants b out) | .proj typeName idx b => (LexLeanExtract.typeConstants b (LexLeanExtract.insert out typeName))) - -meta def LexLeanExtract.argConstants (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (match a with | .type e => (LexLeanExtract.typeConstants e out) | .erased => out | .fvar id => out) - -meta def LexLeanExtract.paramConstants (ps : (Array (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure))) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (Array.foldl (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.typeConstants (p).type acc)) out ps) - -meta def LexLeanExtract.letValueConstants (v : (Lean.Compiler.LCNF.LetValue Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (match v with | .const n us args => (Array.foldl (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.argConstants a acc)) (LexLeanExtract.insert out n) args) | .fvar id args => (Array.foldl (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.argConstants a acc)) out args) | .proj typeName position struct => (LexLeanExtract.insert out typeName) | .lit value => out | .erased => out) - -mutual -meta partial def LexLeanExtract.codeConstants (c : (Lean.Compiler.LCNF.Code Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (match c with | .«let» decl k => (LexLeanExtract.codeConstants k (LexLeanExtract.letValueConstants (decl).value (LexLeanExtract.typeConstants (decl).type out))) | .«fun» decl k => (LexLeanExtract.codeConstants k (LexLeanExtract.funConstants decl out)) | .jp decl k => (LexLeanExtract.codeConstants k (LexLeanExtract.funConstants decl out)) | .jmp id args => (Array.foldl (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.argConstants a acc)) out args) | .cases cs => (LexLeanExtract.casesConstants cs out) | .«return» id => out | .unreach t => (LexLeanExtract.typeConstants t out)) - -meta partial def LexLeanExtract.funConstants (d : (Lean.Compiler.LCNF.FunDecl Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (match d with | .mk fvarId binderName params type value => (LexLeanExtract.codeConstants value (LexLeanExtract.typeConstants type (LexLeanExtract.paramConstants params out)))) - -meta partial def LexLeanExtract.casesConstants (cs : (Lean.Compiler.LCNF.Cases Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (match cs with | .mk typeName resultType discr alts => (Array.foldl (α := (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.altConstants a acc)) (LexLeanExtract.typeConstants resultType (LexLeanExtract.insert out typeName)) alts)) - -meta partial def LexLeanExtract.altConstants (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (match a with | .alt ctorName ps k => (LexLeanExtract.codeConstants k (LexLeanExtract.paramConstants ps (LexLeanExtract.insert out ctorName))) | .default k => (LexLeanExtract.codeConstants k out)) -end - -meta def LexLeanExtract.kind (info : Lean.ConstantInfo) : String := - (match info with | .defnInfo value => (match (value).safety with | .safe => "definition" | .«unsafe» => "unsafe-definition" | .«partial» => "partial-definition") | .opaqueInfo opaqueValue => "opaque" | .thmInfo theoremValue => "theorem" | .axiomInfo axiomValue => "axiom" | .inductInfo inductiveValue => "inductive" | .ctorInfo constructorValue => "constructor" | .recInfo recursorValue => "recursor" | .quotInfo quotientValue => "quotient") - -meta def LexLeanExtract.originalKind (env : Lean.Environment) (n : Lean.Name) : String := - (match (Lean.getOriginalConstKind? env n) with | .some original => (match original with | .defn => "definition" | .thm => "theorem" | .«axiom» => "axiom" | .«opaque» => "opaque" | .quot => "quotient" | .induct => "inductive" | .ctor => "constructor" | .recursor => "recursor") | .none => "unknown") - -meta def LexLeanExtract.moduleOf (env : Lean.Environment) (n : Lean.Name) : Lean.Name := - (match (Lean.Environment.getModuleIdxFor? env n) with | .some index => (Array.getD (α := Lean.Name) (Lean.EnvironmentHeader.moduleNames (Lean.Environment.header env)) index (Lean.Name.anonymous)) | .none => (Lean.Name.anonymous)) - -meta def LexLeanExtract.inProject (env : Lean.Environment) (modules : (Array Lean.Name)) (n : Lean.Name) : Bool := - (Array.contains (α := Lean.Name) modules (LexLeanExtract.moduleOf env n)) - -meta def LexLeanExtract.facts (env : Lean.Environment) (n : Lean.Name) (info : Lean.ConstantInfo) : (Lean.Core.CoreM (List (Prod String String))) := - (Bind.bind (m := Lean.Core.CoreM) (α := Bool) (β := (List (Prod String String))) (Lean.Compiler.LCNF.shouldGenerateCode n) (fun (generates : Bool) => (Pure.pure (f := Lean.Core.CoreM) (α := (List (Prod String String))) (([(Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name n)), (Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str (LexLeanExtract.kind info))), (Prod.mk (α := String) (β := String) "module" (LexLeanExtract.name (LexLeanExtract.moduleOf env n))), (Prod.mk (α := String) (β := String) "computable" (LexLeanExtract.bool (Bool.not (Lean.isNoncomputable env n)))), (Prod.mk (α := String) (β := String) "generates_code" (LexLeanExtract.bool generates)), (Prod.mk (α := String) (β := String) "original_kind" (LexLeanExtract.str (LexLeanExtract.originalKind env n))), (Prod.mk (α := String) (β := String) "internal" (LexLeanExtract.bool (Lean.Name.isInternal n)))] : List (Prod String String)))))) - -mutual -meta partial def LexLeanExtract.sameSignature (a : Lean.Expr) (b : Lean.Expr) : Bool := - (match a with | .mdata data1 inner1 => (LexLeanExtract.sameSignature inner1 b) | _ => (match b with | .mdata data2 inner2 => (LexLeanExtract.sameSignature a inner2) | _ => (LexLeanExtract.sameStructure a b))) - -meta partial def LexLeanExtract.sameStructure (a : Lean.Expr) (b : Lean.Expr) : Bool := - (match a with | .forallE name1 domain1 body1 info1 => (match b with | .forallE name2 domain2 body2 info2 => (Bool.and (BEq.beq (α := Lean.BinderInfo) info1 info2) (Bool.and (LexLeanExtract.sameSignature domain1 domain2) (LexLeanExtract.sameSignature body1 body2))) | _ => (Bool.false)) | .lam name1 domain1 body1 info1 => (match b with | .lam name2 domain2 body2 info2 => (Bool.and (BEq.beq (α := Lean.BinderInfo) info1 info2) (Bool.and (LexLeanExtract.sameSignature domain1 domain2) (LexLeanExtract.sameSignature body1 body2))) | _ => (Bool.false)) | .app function1 argument1 => (match b with | .app function2 argument2 => (Bool.and (LexLeanExtract.sameSignature function1 function2) (LexLeanExtract.sameSignature argument1 argument2)) | _ => (Bool.false)) | .const constant1 levels1 => (match b with | .const constant2 levels2 => (Bool.and (BEq.beq (α := Lean.Name) constant1 constant2) (BEq.beq (α := (List Lean.Level)) levels1 levels2)) | _ => (Bool.false)) | .sort level1 => (match b with | .sort level2 => (BEq.beq (α := Lean.Level) level1 level2) | _ => (Bool.false)) | .bvar position1 => (match b with | .bvar position2 => (BEq.beq (α := Nat) position1 position2) | _ => (Bool.false)) | .lit literal1 => (match b with | .lit literal2 => (BEq.beq (α := Lean.Literal) literal1 literal2) | _ => (Bool.false)) | .fvar free1 => (match b with | .fvar free2 => (BEq.beq (α := Lean.FVarId) free1 free2) | _ => (Bool.false)) | .mvar meta1 => (match b with | .mvar meta2 => (BEq.beq (α := Lean.MVarId) meta1 meta2) | _ => (Bool.false)) | .letE local1 type1 value1 scope1 flag1 => (match b with | .letE local2 type2 value2 scope2 flag2 => (Bool.and (LexLeanExtract.sameSignature type1 type2) (Bool.and (LexLeanExtract.sameSignature value1 value2) (LexLeanExtract.sameSignature scope1 scope2))) | _ => (Bool.false)) | .proj structure1 field1 target1 => (match b with | .proj structure2 field2 target2 => (Bool.and (BEq.beq (α := Lean.Name) structure1 structure2) (Bool.and (BEq.beq (α := Nat) field1 field2) (LexLeanExtract.sameSignature target1 target2))) | _ => (Bool.false)) | _ => (Bool.false)) -end - -public meta def LexLeanExtract.elabSignature : Lean.Elab.Command.CommandElab := - (fun (stx : Lean.Syntax) => (Lean.Elab.Command.liftTermElabM (α := Unit) (let declName : Lean.Name := (Lean.Syntax.getId (Lean.Syntax.getArg stx 1)); (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.ConstantInfo) (β := Unit) (Lean.getConstInfo (m := Lean.Elab.Term.TermElabM) declName) (fun (info : Lean.ConstantInfo) => (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.Expr) (β := Unit) (Lean.Elab.Term.elabType (Lean.Syntax.getArg stx 3)) (fun (elaborated : Lean.Expr) => (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.Expr) (β := Unit) (Lean.instantiateMVars (m := Lean.Elab.Term.TermElabM) elaborated) (fun (registered : Lean.Expr) => (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.Expr) (β := Unit) (Lean.instantiateMVars (m := Lean.Elab.Term.TermElabM) (Lean.ConstantInfo.type info)) (fun (actual : Lean.Expr) => (if (LexLeanExtract.sameSignature actual registered) then (Pure.pure (f := Lean.Elab.Term.TermElabM) (α := Unit) (Unit.unit)) else (Lean.«throwError» (m := Lean.Elab.Term.TermElabM) (α := Unit) (Lean.MessageData.compose (Lean.stringToMessageData "lexlean-extract-drift: the signature of `") (Lean.MessageData.compose (Lean.MessageData.ofName declName) (Lean.MessageData.compose (Lean.stringToMessageData "` is ") (Lean.MessageData.ofExpr (Lean.ConstantInfo.type info)))))))))))))))))) - -meta def LexLeanExtract.classify (env : Lean.Environment) (c : Lean.Name) (info : Lean.ConstantInfo) : String := - (let structural : Bool := (Bool.or (Lean.Environment.isProjectionFn env c) (Bool.or (Lean.isCasesOnRecursor env c) (Bool.or (Lean.isAuxRecursor env c) (Bool.or (Lean.isNoConfusion env c) (Bool.or (Lean.Name.isInternal c) (Bool.or (Lean.Meta.isInstanceCore env c) (Bool.or (Lean.Meta.isMatcherCore env c) (BEq.beq (α := String) (Lean.Name.getString! c) "ctorIdx")))))))); (let former : Bool := (Lean.Expr.isSort (Lean.Expr.getForallBody (Lean.ConstantInfo.type info))); (match info with | .inductInfo inductiveValue => "type" | .defnInfo definitionValue => (if former then "type" else (if (Bool.and (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c) (Bool.not structural)) then "call" else "plumbing")) | .opaqueInfo opaqueValue => (if (Bool.and (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c) (Bool.not structural)) then "call" else "plumbing") | .axiomInfo axiomValue => (if (Bool.and (Bool.and (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c) (Bool.not structural)) (Bool.not former)) then "call" else "plumbing") | .thmInfo theoremValue => "plumbing" | .quotInfo quotientValue => "plumbing" | .ctorInfo constructorValue => "plumbing" | .recInfo recursorValue => "plumbing"))) - -meta def LexLeanExtract.ownNames (env : Lean.Environment) : (Std.HashSet Lean.Name) := - (Lean.SMap.foldStage2 (α := Lean.Name) (β := Lean.ConstantInfo) (σ := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (n : Lean.Name) (info : Lean.ConstantInfo) => (LexLeanExtract.insert acc n)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (Lean.Environment.constants env)) - -meta def LexLeanExtract.ownUses (env : Lean.Environment) : (Std.HashSet Lean.Name) := - (Lean.SMap.foldStage2 (α := Lean.Name) (β := Lean.ConstantInfo) (σ := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (n : Lean.Name) (info : Lean.ConstantInfo) => (if (List.elem (α := Lean.Name) (Lean.Name.mkSimple "LexLeanExtract") (Lean.Name.components (Lean.Name.eraseMacroScopes n))) then (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (seen : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert seen used)) (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (seen : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert seen used)) acc (Lean.Expr.getUsedConstants (Lean.ConstantInfo.type info))) (match (Lean.ConstantInfo.value? info (Bool.true)) with | .some value => (Lean.Expr.getUsedConstants value) | .none => ((#[] : Array Lean.Name)))) else acc)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (Lean.Environment.constants env)) - -meta partial def LexLeanExtract.classifyAll (env : Lean.Environment) (own : (Std.HashSet Lean.Name)) (names : (List Lean.Name)) : (Lean.Elab.Command.CommandElabM (List (Prod Lean.Name String))) := - (match names with | .nil => (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (List.nil (α := (Prod Lean.Name String)))) | .cons c rest => (if (Std.HashSet.contains (α := Lean.Name) own c) then (LexLeanExtract.classifyAll env own rest) else (match (Lean.Environment.find? env c) with | .some info => (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (β := (List (Prod Lean.Name String))) (LexLeanExtract.classifyAll env own rest) (fun (tail : (List (Prod Lean.Name String))) => (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (List.cons (α := (Prod Lean.Name String)) (Prod.mk (α := Lean.Name) (β := String) c (LexLeanExtract.classify env c info)) tail)))) | .none => (Lean.«throwError» (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (Lean.stringToMessageData (String.append "lexlean-extract-drift: the adapter uses the unknown constant `" (String.append (Lean.Name.toString c) "`"))))))) - -meta def LexLeanExtract.adapterConstants : (Lean.Elab.Command.CommandElabM (List (Prod Lean.Name String))) := - (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := Lean.Environment) (β := (List (Prod Lean.Name String))) (Lean.MonadEnv.getEnv (m := Lean.Elab.Command.CommandElabM)) (fun (env : Lean.Environment) => (LexLeanExtract.classifyAll env (LexLeanExtract.ownNames env) (LexLeanExtract.sorted (LexLeanExtract.ownUses env))))) - -meta partial def LexLeanExtract.listLines (used : (List (Prod Lean.Name String))) : (Lean.Elab.Command.CommandElabM Unit) := - (match used with | .nil => (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := Unit) (Unit.unit)) | .cons entry rest => (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := Unit) (β := Unit) (MonadLiftT.monadLift (m := IO) (n := Lean.Elab.Command.CommandElabM) (α := Unit) (IO.println (α := String) (String.append (entry).snd (String.append " " (Lean.Name.toString (entry).fst))))) (fun (printed : Unit) => (LexLeanExtract.listLines rest)))) - -meta def LexLeanExtract.listAdapterConstants : (Lean.Elab.Command.CommandElabM Unit) := - (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (β := Unit) (LexLeanExtract.adapterConstants) (fun (used : (List (Prod Lean.Name String))) => (LexLeanExtract.listLines used))) - -meta def LexLeanExtract.registeredClass (calls : (Array Lean.Name)) (types : (Array (Prod Lean.Name (Array String)))) (opaques : (Array Lean.Name)) (plumbing : (Array Lean.Name)) (c : Lean.Name) : String := - (let typeNames : (List Lean.Name) := (List.map (α := (Prod Lean.Name (Array String))) (β := Lean.Name) (fun (row : (Prod Lean.Name (Array String))) => (row).fst) (Array.toList (α := (Prod Lean.Name (Array String))) types)); (if (Array.contains (α := Lean.Name) calls c) then "call" else (if (Bool.or (List.contains (α := Lean.Name) typeNames c) (Array.contains (α := Lean.Name) opaques c)) then "type" else (if (Array.contains (α := Lean.Name) plumbing c) then "plumbing" else (if (List.any (α := (Prod Lean.Name (Array String))) (Array.toList (α := (Prod Lean.Name (Array String))) types) (fun (candidate : (Prod Lean.Name (Array String))) => (Bool.and (BEq.beq (α := Lean.Name) (Lean.Name.getPrefix c) (candidate).fst) (Array.contains (α := String) (candidate).snd (Lean.Name.getString! c))))) then "plumbing" else "unregistered"))))) - -meta partial def LexLeanExtract.usedProblems (calls : (Array Lean.Name)) (types : (Array (Prod Lean.Name (Array String)))) (opaques : (Array Lean.Name)) (plumbing : (Array Lean.Name)) (used : (List (Prod Lean.Name String))) : (List String) := - (match used with | .nil => (List.nil (α := String)) | .cons entry rest => (let c : Lean.Name := (entry).fst; (let foreignType : Bool := (Bool.and (BEq.beq (α := String) (entry).snd "type") (Bool.not (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c))); (let expected : String := (if foreignType then "a type or plumbing" else (entry).snd); (let registered : String := (LexLeanExtract.registeredClass calls types opaques plumbing c); (if (if (BEq.beq (α := String) (entry).snd "plumbing") then (Bool.not (BEq.beq (α := String) registered "unregistered")) else (if foreignType then (Bool.or (BEq.beq (α := String) registered "type") (BEq.beq (α := String) registered "plumbing")) else (BEq.beq (α := String) registered expected))) then (LexLeanExtract.usedProblems calls types opaques plumbing rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString c) (String.append "` is used as " (String.append expected (String.append " but registered as " registered))))) (LexLeanExtract.usedProblems calls types opaques plumbing rest)))))))) - -meta partial def LexLeanExtract.unusedProblems (used : (List (Prod Lean.Name String))) (names : (List Lean.Name)) : (List String) := - (match names with | .nil => (List.nil (α := String)) | .cons c rest => (if (List.any (α := (Prod Lean.Name String)) used (fun (entry : (Prod Lean.Name String)) => (BEq.beq (α := Lean.Name) (entry).fst c))) then (LexLeanExtract.unusedProblems used rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString c) "` is plumbing but unused")) (LexLeanExtract.unusedProblems used rest)))) - -meta partial def LexLeanExtract.typeProblems (env : Lean.Environment) (types : (List (Prod Lean.Name (Array String)))) : (List String) := - (match types with | .nil => (List.nil (α := String)) | .cons row rest => (let n : Lean.Name := (row).fst; (match (Lean.Environment.find? env n) with | .some info => (match info with | .inductInfo «inductive» => (if (BEq.beq (α := (List String)) (List.map (α := Lean.Name) (β := String) (fun (constructorName : Lean.Name) => (Lean.Name.getString! constructorName)) («inductive»).ctors) (Array.toList (α := String) (row).snd)) then (LexLeanExtract.typeProblems env rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString n) (String.append "` has constructors " (String.append (ToString.toString (α := (List String)) (List.map (α := Lean.Name) (β := String) (fun (listed : Lean.Name) => (Lean.Name.getString! listed)) («inductive»).ctors)) (String.append ", registered " (ToString.toString (α := (List String)) (Array.toList (α := String) (row).snd))))))) (LexLeanExtract.typeProblems env rest))) | _ => (if (Array.isEmpty (α := String) (row).snd) then (LexLeanExtract.typeProblems env rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString n) (String.append "` is not an inductive type, registered with constructors " (ToString.toString (α := (List String)) (Array.toList (α := String) (row).snd))))) (LexLeanExtract.typeProblems env rest)))) | .none => (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString n) "` is not a constant")) (LexLeanExtract.typeProblems env rest))))) - -meta def LexLeanExtract.checkNames (calls : (Array Lean.Name)) (types : (Array (Prod Lean.Name (Array String)))) (opaques : (Array Lean.Name)) (plumbing : (Array Lean.Name)) : (Lean.Elab.Command.CommandElabM Unit) := - (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := Lean.Environment) (β := Unit) (Lean.MonadEnv.getEnv (m := Lean.Elab.Command.CommandElabM)) (fun (env : Lean.Environment) => (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (β := Unit) (LexLeanExtract.adapterConstants) (fun (used : (List (Prod Lean.Name String))) => (let names : (List Lean.Name) := (Array.toList (α := Lean.Name) plumbing); (let differences : (List String) := (List.append (α := String) (LexLeanExtract.usedProblems calls types opaques plumbing used) (List.append (α := String) (LexLeanExtract.unusedProblems used names) (LexLeanExtract.typeProblems env (Array.toList (α := (Prod Lean.Name (Array String))) types)))); (if (List.isEmpty (α := String) differences) then (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := Unit) (Unit.unit)) else (Lean.«throwError» (m := Lean.Elab.Command.CommandElabM) (α := Unit) (Lean.stringToMessageData (String.append "lexlean-extract-drift: the adapter and its registry differ: " (String.intercalate "; " differences))))))))))) - -meta def LexLeanExtract.declUses (decl : (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) : (Std.HashSet Lean.Name) := - (match (decl).value with | .code body => (LexLeanExtract.codeConstants body (LexLeanExtract.typeConstants ((decl).toSignature).type (LexLeanExtract.paramConstants ((decl).toSignature).params (Std.HashSet.emptyWithCapacity (α := Lean.Name))))) | .extern attributes => (LexLeanExtract.typeConstants ((decl).toSignature).type (LexLeanExtract.paramConstants ((decl).toSignature).params (Std.HashSet.emptyWithCapacity (α := Lean.Name))))) - -meta def LexLeanExtract.declText (decl : (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) : String := - (let signatureUses : (Std.HashSet Lean.Name) := (LexLeanExtract.typeConstants ((decl).toSignature).type (LexLeanExtract.paramConstants ((decl).toSignature).params (Std.HashSet.emptyWithCapacity (α := Lean.Name)))); (match (decl).value with | .code body => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "safe" (LexLeanExtract.bool ((decl).toSignature).safe)), (Prod.mk (α := String) (β := String) "level_parameters" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (levelName : Lean.Name) => (LexLeanExtract.name levelName)) ((decl).toSignature).levelParams))), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type ((decl).toSignature).type)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (parameter : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param parameter)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) ((decl).toSignature).params)))), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "code")), (Prod.mk (α := String) (β := String) "code" (LexLeanExtract.code body))] : List (Prod String String))))), (Prod.mk (α := String) (β := String) "uses" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (usedName : Lean.Name) => (LexLeanExtract.name usedName)) (LexLeanExtract.sorted (LexLeanExtract.codeConstants body signatureUses)))))] : List (Prod String String)))) | .extern attributes => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "safe" (LexLeanExtract.bool ((decl).toSignature).safe)), (Prod.mk (α := String) (β := String) "level_parameters" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (levelName : Lean.Name) => (LexLeanExtract.name levelName)) ((decl).toSignature).levelParams))), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type ((decl).toSignature).type)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (parameter : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param parameter)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) ((decl).toSignature).params)))), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "extern"))] : List (Prod String String))))), (Prod.mk (α := String) (β := String) "uses" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (usedName : Lean.Name) => (LexLeanExtract.name usedName)) (LexLeanExtract.sorted signatureUses))))] : List (Prod String String)))))) - -meta partial def LexLeanExtract.codeLoop (env : Lean.Environment) (modules : (Array Lean.Name)) (queue : (List Lean.Name)) (visited : (Std.HashSet Lean.Name)) (decls : (Std.HashMap Lean.Name String)) (referenced : (Std.HashSet Lean.Name)) : (Lean.Core.CoreM (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) := - (match queue with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Prod.mk (α := (Std.HashSet Lean.Name)) (β := (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name))) visited (Prod.mk (α := (Std.HashMap Lean.Name String)) (β := (Std.HashSet Lean.Name)) decls referenced))) | .cons n rest => (if (Std.HashSet.contains (α := Lean.Name) visited n) then (LexLeanExtract.codeLoop env modules rest visited decls referenced) else (match (Lean.Environment.find? env n) with | .some info => (let visitedNow : (Std.HashSet Lean.Name) := (LexLeanExtract.insert visited n); (if (Bool.and (BEq.beq (α := String) (LexLeanExtract.kind info) "definition") (Bool.not (Lean.isNoncomputable env n))) then (Bind.bind (m := Lean.Core.CoreM) (α := Bool) (β := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.Compiler.LCNF.shouldGenerateCode n) (fun (generates : Bool) => (if generates then (Bind.bind (m := Lean.Core.CoreM) (α := Unit) (β := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.MonadNameGenerator.setNGen (m := Lean.Core.CoreM) (Lean.NameGenerator.mk (Lean.Name.mkSimple "_uniq") 1)) (fun (restarted : Unit) => (Bind.bind (m := Lean.Core.CoreM) (α := (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) (β := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.Compiler.LCNF.CompilerM.run (α := (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) (Lean.Compiler.LCNF.toDecl n)) (fun (decl : (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) => (let uses : (List Lean.Name) := (LexLeanExtract.sorted (LexLeanExtract.declUses decl)); (LexLeanExtract.codeLoop env modules (List.append (α := Lean.Name) rest (List.filter (α := Lean.Name) (fun (candidate : Lean.Name) => (LexLeanExtract.inProject env modules candidate)) uses)) visitedNow (Std.HashMap.insert (α := Lean.Name) (β := String) decls ((decl).toSignature).name (LexLeanExtract.declText decl)) (List.foldl (α := (Std.HashSet Lean.Name)) (β := Lean.Name) (fun (seen : (Std.HashSet Lean.Name)) (outside : Lean.Name) => (LexLeanExtract.insert seen outside)) referenced (List.filter (α := Lean.Name) (fun (outside : Lean.Name) => (Bool.not (LexLeanExtract.inProject env modules outside))) uses)))))))) else (LexLeanExtract.codeLoop env modules rest visitedNow decls referenced)))) else (LexLeanExtract.codeLoop env modules rest visitedNow decls referenced))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString n) "`"))))))) - -meta partial def LexLeanExtract.kernelLoop (env : Lean.Environment) (modules : (Array Lean.Name)) (queue : (List Lean.Name)) (seen : (Std.HashSet Lean.Name)) : (Lean.Core.CoreM (Std.HashSet Lean.Name)) := - (match queue with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (Std.HashSet Lean.Name)) seen) | .cons n rest => (if (Std.HashSet.contains (α := Lean.Name) seen n) then (LexLeanExtract.kernelLoop env modules rest seen) else (match (Lean.Environment.find? env n) with | .some info => (LexLeanExtract.kernelLoop env modules (List.append (α := Lean.Name) rest (List.filter (α := Lean.Name) (fun (candidate : Lean.Name) => (LexLeanExtract.inProject env modules candidate)) (LexLeanExtract.sorted (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert acc used)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (match (Lean.ConstantInfo.value? info (Bool.true)) with | .some value => (Lean.Expr.getUsedConstants value) | .none => ((#[] : Array Lean.Name))))))) (LexLeanExtract.insert seen n)) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (Std.HashSet Lean.Name)) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString n) "`"))))))) - -meta partial def LexLeanExtract.ctorRows (env : Lean.Environment) (names : (List Lean.Name)) : (Lean.Core.CoreM (List String)) := - (match names with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.nil (α := String))) | .cons c rest => (match (Lean.Environment.find? env c) with | .some info => (match info with | .ctorInfo constructor => (Bind.bind (m := Lean.Core.CoreM) (α := Lean.Expr) (β := (List String)) (Lean.Meta.MetaM.run' (α := Lean.Expr) (Lean.Compiler.LCNF.toLCNFType ((constructor).toConstantVal).type)) (fun (constructorType : Lean.Expr) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := (List String)) (LexLeanExtract.ctorRows env rest) (fun (tail : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.cons (α := String) (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name c)), (Prod.mk (α := String) (β := String) "parameters" (ToString.toString (α := Nat) (constructor).numParams)), (Prod.mk (α := String) (β := String) "fields" (ToString.toString (α := Nat) (constructor).numFields)), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type constructorType))] : List (Prod String String)))) tail)))))) | _ => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: `" (String.append (Lean.Name.toString c) "` is not a constructor"))))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: `" (String.append (Lean.Name.toString c) "` is not a constructor")))))) - -meta def LexLeanExtract.inductiveRow (env : Lean.Environment) (n : Lean.Name) : (Lean.Core.CoreM String) := - (match (Lean.Environment.find? env n) with | .some info => (match info with | .inductInfo «inductive» => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := String) (LexLeanExtract.ctorRows env («inductive»).ctors) (fun (constructors : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := String) (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "parameters" (ToString.toString (α := Nat) («inductive»).numParams)), (Prod.mk (α := String) (β := String) "indices" (ToString.toString (α := Nat) («inductive»).numIndices)), (Prod.mk (α := String) (β := String) "recursive" (LexLeanExtract.bool («inductive»).isRec)), (Prod.mk (α := String) (β := String) "constructors" (LexLeanExtract.arr constructors))] : List (Prod String String))))))) | _ => (Pure.pure (f := Lean.Core.CoreM) (α := String) "null")) | .none => (Pure.pure (f := Lean.Core.CoreM) (α := String) "null")) - -meta partial def LexLeanExtract.constantRows (env : Lean.Environment) (decls : (Std.HashMap Lean.Name String)) (names : (List Lean.Name)) : (Lean.Core.CoreM (List String)) := - (match names with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.nil (α := String))) | .cons n rest => (match (Lean.Environment.find? env n) with | .some info => (Bind.bind (m := Lean.Core.CoreM) (α := (List (Prod String String))) (β := (List String)) (LexLeanExtract.facts env n info) (fun (row : (List (Prod String String))) => (Bind.bind (m := Lean.Core.CoreM) (α := String) (β := (List String)) (LexLeanExtract.inductiveRow env n) (fun (inductiveText : String) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := (List String)) (LexLeanExtract.constantRows env decls rest) (fun (tail : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.cons (α := String) (LexLeanExtract.obj (List.append (α := (Prod String String)) row (([(Prod.mk (α := String) (β := String) "kernel_uses" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (usedName : Lean.Name) => (LexLeanExtract.name usedName)) (LexLeanExtract.sorted (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert acc used)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (match (Lean.ConstantInfo.value? info (Bool.true)) with | .some value => (Lean.Expr.getUsedConstants value) | .none => ((#[] : Array Lean.Name)))))))), (Prod.mk (α := String) (β := String) "declaration" (Option.getD (α := String) (Std.HashMap.get? (α := Lean.Name) (β := String) decls n) "null")), (Prod.mk (α := String) (β := String) "inductive" inductiveText)] : List (Prod String String))))) tail)))))))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString n) "`")))))) - -meta partial def LexLeanExtract.externalRows (env : Lean.Environment) (names : (List Lean.Name)) : (Lean.Core.CoreM (List String)) := - (match names with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.nil (α := String))) | .cons r rest => (match (Lean.Environment.find? env r) with | .some info => (Bind.bind (m := Lean.Core.CoreM) (α := (List (Prod String String))) (β := (List String)) (LexLeanExtract.facts env r info) (fun (row : (List (Prod String String))) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := (List String)) (LexLeanExtract.externalRows env rest) (fun (tail : (List String)) => (let compiled : (Prod String String) := (Prod.mk (α := String) (β := String) "compiled" (LexLeanExtract.bool (Option.isSome (α := Lean.IR.Decl) (Lean.IR.findEnvDecl env r)))); (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.cons (α := String) (LexLeanExtract.obj (List.append (α := (Prod String String)) row (match info with | .ctorInfo constructor => (([compiled, (Prod.mk (α := String) (β := String) "inductive_type" (LexLeanExtract.name (constructor).induct))] : List (Prod String String))) | _ => (([compiled] : List (Prod String String)))))) tail))))))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString r) "`")))))) - -meta partial def LexLeanExtract.checkRoots (env : Lean.Environment) (modules : (Array Lean.Name)) (roots : (List Lean.Name)) : (Lean.Core.CoreM Unit) := - (match roots with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := Unit) (Unit.unit)) | .cons root rest => (if (Bool.and (LexLeanExtract.inProject env modules root) (Option.isSome (α := Lean.ConstantInfo) (Lean.Environment.find? env root))) then (LexLeanExtract.checkRoots env modules rest) else (Lean.«throwError» (m := Lean.Core.CoreM) (α := Unit) (Lean.stringToMessageData (String.append "lexlean-extract: unknown root `" (String.append (Lean.Name.toString root) "`")))))) - -meta def LexLeanExtract.run (roots : (Array Lean.Name)) (modules : (Array Lean.Name)) : (Lean.Core.CoreM String) := - (Bind.bind (m := Lean.Core.CoreM) (α := Lean.Environment) (β := String) (Lean.MonadEnv.getEnv (m := Lean.Core.CoreM)) (fun (env : Lean.Environment) => (Bind.bind (m := Lean.Core.CoreM) (α := Unit) (β := String) (LexLeanExtract.checkRoots env modules (Array.toList (α := Lean.Name) roots)) (fun (checked : Unit) => (Bind.bind (m := Lean.Core.CoreM) (α := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (β := String) (LexLeanExtract.codeLoop env modules (Array.toList (α := Lean.Name) roots) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (Std.HashMap.emptyWithCapacity (α := Lean.Name) (β := String)) (Std.HashSet.emptyWithCapacity (α := Lean.Name))) (fun (visit : (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) => (Bind.bind (m := Lean.Core.CoreM) (α := (Std.HashSet Lean.Name)) (β := String) (LexLeanExtract.kernelLoop env modules (Std.HashSet.toList (α := Lean.Name) (visit).fst) (Std.HashSet.emptyWithCapacity (α := Lean.Name))) (fun (recorded : (Std.HashSet Lean.Name)) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := String) (LexLeanExtract.constantRows env ((visit).snd).fst (LexLeanExtract.sorted recorded)) (fun (constants : (List String)) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := String) (LexLeanExtract.externalRows env (LexLeanExtract.sorted ((visit).snd).snd)) (fun (externals : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := String) (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "spec" (LexLeanExtract.str "lexlean/lcnf-extraction/2")), (Prod.mk (α := String) (β := String) "lean" (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "version" (LexLeanExtract.str (Lean.versionString))), (Prod.mk (α := String) (β := String) "githash" (LexLeanExtract.str (Lean.githash)))] : List (Prod String String))))), (Prod.mk (α := String) (β := String) "roots" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (listedName : Lean.Name) => (LexLeanExtract.name listedName)) (Array.toList (α := Lean.Name) roots)))), (Prod.mk (α := String) (β := String) "constants" (LexLeanExtract.arr constants)), (Prod.mk (α := String) (β := String) "externals" (LexLeanExtract.arr externals))] : List (Prod String String))))))))))))))))) - -meta def LexLeanExtract.mainNames (roots : (Array Lean.Name)) (modules : (Array Lean.Name)) : (Lean.Elab.Command.CommandElabM Unit) := - (Lean.Elab.Command.liftCoreM (α := Unit) (Bind.bind (m := Lean.Core.CoreM) (α := String) (β := Unit) (LexLeanExtract.run roots modules) (fun (text : String) => (MonadLiftT.monadLift (m := IO) (n := Lean.Core.CoreM) (α := Unit) (IO.println (α := String) text))))) - -meta def LexLeanExtract.toNames (texts : (Array String)) : (Array Lean.Name) := - (Array.map (α := String) (β := Lean.Name) (fun (text : String) => (String.toName text)) texts) - -meta def LexLeanExtract.toTypeRows (rows : (Array (Prod String (Array String)))) : (Array (Prod Lean.Name (Array String))) := - (Array.map (α := (Prod String (Array String))) (β := (Prod Lean.Name (Array String))) (fun (row : (Prod String (Array String))) => (Prod.mk (α := Lean.Name) (β := (Array String)) (String.toName (row).fst) (row).snd)) rows) - -meta def LexLeanExtract.checkAuthority (calls : (Array String)) (types : (Array (Prod String (Array String)))) (opaques : (Array String)) (plumbing : (Array String)) : (Lean.Elab.Command.CommandElabM Unit) := - (LexLeanExtract.checkNames (LexLeanExtract.toNames calls) (LexLeanExtract.toTypeRows types) (LexLeanExtract.toNames opaques) (LexLeanExtract.toNames plumbing)) - -meta def LexLeanExtract.main (roots : (Array String)) (modules : (Array String)) : (Lean.Elab.Command.CommandElabM Unit) := - (LexLeanExtract.mainNames (LexLeanExtract.toNames roots) (LexLeanExtract.toNames modules)) - -syntax (name := LexLeanExtract.signatureCommand) "lexlean_signature " ident " : " term : command -attribute [command_elab LexLeanExtract.signatureCommand] LexLeanExtract.elabSignature - -lexlean_signature Array.contains : ({α : (Type u)} → ([h1 : (BEq α)] → ((Array α) → (α → Bool)))) - -lexlean_signature Array.foldl : ({α : (Type u)} → ({β : (Type v)} → ((β → (α → β)) → (β → ((as : (Array α)) → ((optParam Nat 0) → ((optParam Nat (@Array.size α as)) → β))))))) - -lexlean_signature Array.getD : ({α : (Type u_1)} → ((Array α) → (Nat → (α → α)))) - -lexlean_signature Array.isEmpty : ({α : (Type u)} → ((Array α) → Bool)) - -lexlean_signature Array.map : ({α : (Type u)} → ({β : (Type v)} → ((α → β) → ((Array α) → (Array β))))) - -lexlean_signature Array.size : ({α : (Type u)} → ((Array α) → Nat)) - -lexlean_signature Array.toList : ({α : (Type u)} → ((Array α) → (List α))) - -lexlean_signature BEq.beq : ({α : (Type u)} → ([self : (BEq α)] → (α → (α → Bool)))) - -lexlean_signature Bind.bind : ({m : ((Type u) → (Type v))} → ([self : (Bind m)] → ({α : (Type u)} → ({β : (Type u)} → ((m α) → ((α → (m β)) → (m β))))))) - -lexlean_signature Bool.and : (Bool → (Bool → Bool)) - -lexlean_signature Bool.not : (Bool → Bool) - -lexlean_signature Bool.or : (Bool → (Bool → Bool)) - -lexlean_signature Char.toNat : (Char → Nat) - -lexlean_signature IO.println : ({α : (Type u_1)} → ([h1 : (ToString α)] → (α → (IO Unit)))) - -lexlean_signature Lean.Compiler.LCNF.CompilerM.run : ({α : Type} → ((Lean.Compiler.LCNF.CompilerM α) → ((optParam Lean.Compiler.LCNF.CompilerM.State { }) → ((optParam Lean.Compiler.LCNF.Phase Lean.Compiler.LCNF.Phase.base) → (Lean.Core.CoreM α))))) - -lexlean_signature Lean.Compiler.LCNF.shouldGenerateCode : (Lean.Name → (Lean.Core.CoreM Bool)) - -lexlean_signature Lean.Compiler.LCNF.toDecl : (Lean.Name → (Lean.Compiler.LCNF.CompilerM (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure))) - -lexlean_signature Lean.Compiler.LCNF.toLCNFType : (Lean.Expr → (Lean.Meta.MetaM Lean.Expr)) - -lexlean_signature Lean.ConstantInfo.type : (Lean.ConstantInfo → Lean.Expr) - -lexlean_signature Lean.ConstantInfo.value? : (Lean.ConstantInfo → ((optParam Bool Bool.false) → (Option Lean.Expr))) - -lexlean_signature Lean.Elab.Command.liftCoreM : ({α : Type} → ((Lean.Core.CoreM α) → (Lean.Elab.Command.CommandElabM α))) - -lexlean_signature Lean.Elab.Command.liftTermElabM : ({α : Type} → ((Lean.Elab.Term.TermElabM α) → (Lean.Elab.Command.CommandElabM α))) - -lexlean_signature Lean.Elab.Term.elabType : (Lean.Syntax → (Lean.Elab.Term.TermElabM Lean.Expr)) - -lexlean_signature Lean.EnvExtension.asyncMode : ({σ : Type} → ((Lean.EnvExtension σ) → Lean.EnvExtension.AsyncMode)) - -lexlean_signature Lean.Environment.constants : (Lean.Environment → Lean.ConstMap) - -lexlean_signature Lean.Environment.find? : (Lean.Environment → (Lean.Name → ((optParam Bool Bool.false) → (Option Lean.ConstantInfo)))) - -lexlean_signature Lean.Environment.getModuleIdxFor? : (Lean.Environment → (Lean.Name → (Option Lean.ModuleIdx))) - -lexlean_signature Lean.Environment.header : (Lean.Environment → Lean.EnvironmentHeader) - -lexlean_signature Lean.Environment.isProjectionFn : (Lean.Environment → (Lean.Name → Bool)) - -lexlean_signature Lean.EnvironmentHeader.moduleNames : (Lean.EnvironmentHeader → (Array Lean.Name)) - -lexlean_signature Lean.Expr.getAppArgs : (Lean.Expr → (Array Lean.Expr)) - -lexlean_signature Lean.Expr.getAppFn : (Lean.Expr → Lean.Expr) - -lexlean_signature Lean.Expr.getForallBody : (Lean.Expr → Lean.Expr) - -lexlean_signature Lean.Expr.getUsedConstants : (Lean.Expr → (Array Lean.Name)) - -lexlean_signature Lean.Expr.isSort : (Lean.Expr → Bool) - -lexlean_signature Lean.IR.findEnvDecl : (Lean.Environment → (Lean.Name → (Option Lean.IR.Decl))) - -lexlean_signature Lean.MessageData.compose : (Lean.MessageData → (Lean.MessageData → Lean.MessageData)) - -lexlean_signature Lean.MessageData.ofExpr : (Lean.Expr → Lean.MessageData) - -lexlean_signature Lean.MessageData.ofName : (Lean.Name → Lean.MessageData) - -lexlean_signature Lean.Meta.MetaM.run' : ({α : Type} → ((Lean.Meta.MetaM α) → ((optParam Lean.Meta.Context { }) → ((optParam Lean.Meta.State { }) → (Lean.Core.CoreM α))))) - -lexlean_signature Lean.Meta.isInstanceCore : (Lean.Environment → (Lean.Name → Bool)) - -lexlean_signature Lean.Meta.isMatcherCore : (Lean.Environment → (Lean.Name → Bool)) - -lexlean_signature Lean.MonadEnv.getEnv : ({m : (Type → Type)} → ([self : (Lean.MonadEnv m)] → (m Lean.Environment))) - -lexlean_signature Lean.MonadNameGenerator.setNGen : ({m : (Type → Type)} → ([self : (Lean.MonadNameGenerator m)] → (Lean.NameGenerator → (m Unit)))) - -lexlean_signature Lean.Name.components : (Lean.Name → (List Lean.Name)) - -lexlean_signature Lean.Name.eraseMacroScopes : (Lean.Name → Lean.Name) - -lexlean_signature Lean.Name.getPrefix : (Lean.Name → Lean.Name) - -lexlean_signature Lean.Name.getString! : (Lean.Name → String) - -lexlean_signature Lean.Name.isInternal : (Lean.Name → Bool) - -lexlean_signature Lean.Name.isPrefixOf : (Lean.Name → (Lean.Name → Bool)) - -lexlean_signature Lean.Name.lt : (Lean.Name → (Lean.Name → Bool)) - -lexlean_signature Lean.Name.mkSimple : (String → Lean.Name) - -lexlean_signature Lean.Name.mkStr1 : (String → Lean.Name) - -lexlean_signature Lean.Name.mkStr2 : (String → (String → Lean.Name)) - -lexlean_signature Lean.Name.toString : (Lean.Name → ((optParam Bool Bool.true) → String)) - -lexlean_signature Lean.PersistentArray.branching : USize - -lexlean_signature Lean.PersistentArray.initShift : USize - -lexlean_signature Lean.PersistentEnvExtension.toEnvExtension : ({α : Type} → ({β : Type} → ({σ : Type} → ((Lean.PersistentEnvExtension α β σ) → (Lean.EnvExtension (Lean.PersistentEnvExtensionState α σ)))))) - -lexlean_signature Lean.PersistentHashMap.mkEmptyEntriesArray : ({α : (Type u_1)} → ({β : (Type u_2)} → (Array (Lean.PersistentHashMap.Entry α β (Lean.PersistentHashMap.Node α β))))) - -lexlean_signature Lean.SMap.foldStage2 : ({α : (Type u)} → ({β : (Type v)} → ([h2 : (BEq α)] → ([h3 : (Hashable α)] → ({σ : (Type w)} → ((σ → (α → (β → σ))) → (σ → ((@Lean.SMap α β h2 h3) → σ)))))))) - -lexlean_signature Lean.Syntax.getArg : (Lean.Syntax → (Nat → Lean.Syntax)) - -lexlean_signature Lean.Syntax.getId : (Lean.Syntax → Lean.Name) - -lexlean_signature Lean.annotation? : (Lean.Name → (Lean.Expr → (Option Lean.Expr))) - -lexlean_signature Lean.getConstInfo : ({m : (Type → Type)} → ([h1 : (Monad m)] → ([h2 : (Lean.MonadEnv m)] → ([h3 : (Lean.MonadError m)] → (Lean.Name → (m Lean.ConstantInfo)))))) - -lexlean_signature Lean.getOriginalConstKind? : (Lean.Environment → (Lean.Name → (Option Lean.ConstantKind))) - -lexlean_signature Lean.githash : String - -lexlean_signature Lean.instantiateMVars : ({m : (Type → Type)} → ([h1 : (Monad m)] → ([h2 : (Lean.MonadMCtx m)] → (Lean.Expr → (m Lean.Expr))))) - -lexlean_signature Lean.isAuxRecursor : (Lean.Environment → (Lean.Name → Bool)) - -lexlean_signature Lean.isCasesOnRecursor : (Lean.Environment → (Lean.Name → Bool)) - -lexlean_signature Lean.isNoConfusion : (Lean.Environment → (Lean.Name → Bool)) - -lexlean_signature Lean.isNoncomputable : (Lean.Environment → (Lean.Name → ((optParam Lean.EnvExtension.AsyncMode (@Lean.EnvExtension.asyncMode (Lean.PersistentEnvExtensionState Lean.Name (Prod (List Lean.Name) Lean.NameSet)) (@Lean.PersistentEnvExtension.toEnvExtension Lean.Name Lean.Name (Prod (List Lean.Name) Lean.NameSet) Lean.noncomputableExt))) → Bool))) - -lexlean_signature Lean.noncomputableExt : Lean.TagDeclarationExtension - -lexlean_signature Lean.stringToMessageData : (String → Lean.MessageData) - -lexlean_signature Lean.«throwError» : ({m : (Type → Type)} → ({α : Type} → ([h2 : (Monad m)] → ([h3 : (Lean.MonadError m)] → (Lean.MessageData → (m α)))))) - -lexlean_signature Lean.versionString : String - -lexlean_signature List.any : ({α : (Type u)} → ((List α) → ((α → Bool) → Bool))) - -lexlean_signature List.append : ({α : (Type u_1)} → ((List α) → ((List α) → (List α)))) - -lexlean_signature List.contains : ({α : (Type u)} → ([h1 : (BEq α)] → ((List α) → (α → Bool)))) - -lexlean_signature List.drop : ({α : (Type u)} → (Nat → ((List α) → (List α)))) - -lexlean_signature List.elem : ({α : (Type u)} → ([h1 : (BEq α)] → (α → ((List α) → Bool)))) - -lexlean_signature List.filter : ({α : (Type u)} → ((α → Bool) → ((List α) → (List α)))) - -lexlean_signature List.foldl : ({α : (Type u)} → ({β : (Type v)} → ((α → (β → α)) → (α → ((List β) → α))))) - -lexlean_signature List.isEmpty : ({α : (Type u)} → ((List α) → Bool)) - -lexlean_signature List.map : ({α : (Type u_1)} → ({β : (Type u_2)} → ((α → β) → ((List α) → (List β))))) - -lexlean_signature MonadLiftT.monadLift : ({m : ((Type u) → (Type v))} → ({n : ((Type u) → (Type w))} → ([self : (MonadLiftT m n)] → ({α : (Type u)} → ((m α) → (n α)))))) - -lexlean_signature Nat.add : (Nat → (Nat → Nat)) - -lexlean_signature Nat.blt : (Nat → (Nat → Bool)) - -lexlean_signature Nat.toDigits : (Nat → (Nat → (List Char))) - -lexlean_signature Option.getD : ({α : (Type u_1)} → ((Option α) → (α → α))) - -lexlean_signature Option.isSome : ({α : (Type u_1)} → ((Option α) → Bool)) - -lexlean_signature Pure.pure : ({f : ((Type u) → (Type v))} → ([self : (Pure f)] → ({α : (Type u)} → (α → (f α))))) - -lexlean_signature Std.HashMap.emptyWithCapacity : ({α : (Type u)} → ({β : (Type v)} → ([h2 : (BEq α)] → ([h3 : (Hashable α)] → ((optParam Nat 8) → (@Std.HashMap α β h2 h3)))))) - -lexlean_signature Std.HashMap.get? : ({α : (Type u)} → ({β : (Type v)} → ({h2 : (BEq α)} → ({h3 : (Hashable α)} → ((@Std.HashMap α β h2 h3) → (α → (Option β))))))) - -lexlean_signature Std.HashMap.insert : ({α : (Type u)} → ({β : (Type v)} → ({h2 : (BEq α)} → ({h3 : (Hashable α)} → ((@Std.HashMap α β h2 h3) → (α → (β → (@Std.HashMap α β h2 h3)))))))) - -lexlean_signature Std.HashSet.contains : ({α : (Type u)} → ({h1 : (BEq α)} → ({h2 : (Hashable α)} → ((@Std.HashSet α h1 h2) → (α → Bool))))) - -lexlean_signature Std.HashSet.emptyWithCapacity : ({α : (Type u)} → ([h1 : (BEq α)] → ([h2 : (Hashable α)] → ((optParam Nat 8) → (@Std.HashSet α h1 h2))))) - -lexlean_signature Std.HashSet.insert : ({α : (Type u)} → ({h1 : (BEq α)} → ({h2 : (Hashable α)} → ((@Std.HashSet α h1 h2) → (α → (@Std.HashSet α h1 h2)))))) - -lexlean_signature Std.HashSet.toList : ({α : (Type u)} → ({h1 : (BEq α)} → ({h2 : (Hashable α)} → ((@Std.HashSet α h1 h2) → (List α))))) - -lexlean_signature String.append : (String → (String → String)) - -lexlean_signature String.foldl : ({α : (Type u)} → ((α → (Char → α)) → (α → (String → α)))) - -lexlean_signature String.intercalate : (String → ((List String) → String)) - -lexlean_signature String.ofList : ((List Char) → String) - -lexlean_signature String.push : (String → (Char → String)) - -lexlean_signature String.toName : (String → Lean.Name) - -lexlean_signature ToString.toString : ({α : (Type u)} → ([self : (ToString α)] → (α → String))) - -lexlean_signature UInt16.toNat : (UInt16 → Nat) - -lexlean_signature UInt32.toNat : (UInt32 → Nat) - -lexlean_signature UInt64.toNat : (UInt64 → Nat) - -lexlean_signature UInt8.toNat : (UInt8 → Nat) - -lexlean_signature Unit.unit : Unit - -#eval LexLeanExtract.checkAuthority ((#["Array.contains", "Array.foldl", "Array.getD", "Array.isEmpty", "Array.map", "Array.size", "Array.toList", "BEq.beq", "Bind.bind", "Bool.and", "Bool.not", "Bool.or", "Char.toNat", "IO.println", "Lean.Compiler.LCNF.CompilerM.run", "Lean.Compiler.LCNF.shouldGenerateCode", "Lean.Compiler.LCNF.toDecl", "Lean.Compiler.LCNF.toLCNFType", "Lean.ConstantInfo.type", "Lean.ConstantInfo.value?", "Lean.Elab.Command.liftCoreM", "Lean.Elab.Command.liftTermElabM", "Lean.Elab.Term.elabType", "Lean.EnvExtension.asyncMode", "Lean.Environment.constants", "Lean.Environment.find?", "Lean.Environment.getModuleIdxFor?", "Lean.Environment.header", "Lean.Environment.isProjectionFn", "Lean.EnvironmentHeader.moduleNames", "Lean.Expr.getAppArgs", "Lean.Expr.getAppFn", "Lean.Expr.getForallBody", "Lean.Expr.getUsedConstants", "Lean.Expr.isSort", "Lean.IR.findEnvDecl", "Lean.MessageData.compose", "Lean.MessageData.ofExpr", "Lean.MessageData.ofName", "Lean.Meta.MetaM.run'", "Lean.Meta.isInstanceCore", "Lean.Meta.isMatcherCore", "Lean.MonadEnv.getEnv", "Lean.MonadNameGenerator.setNGen", "Lean.Name.components", "Lean.Name.eraseMacroScopes", "Lean.Name.getPrefix", "Lean.Name.getString!", "Lean.Name.isInternal", "Lean.Name.isPrefixOf", "Lean.Name.lt", "Lean.Name.mkSimple", "Lean.Name.mkStr1", "Lean.Name.mkStr2", "Lean.Name.toString", "Lean.PersistentArray.branching", "Lean.PersistentArray.initShift", "Lean.PersistentEnvExtension.toEnvExtension", "Lean.PersistentHashMap.mkEmptyEntriesArray", "Lean.SMap.foldStage2", "Lean.Syntax.getArg", "Lean.Syntax.getId", "Lean.annotation?", "Lean.getConstInfo", "Lean.getOriginalConstKind?", "Lean.githash", "Lean.instantiateMVars", "Lean.isAuxRecursor", "Lean.isCasesOnRecursor", "Lean.isNoConfusion", "Lean.isNoncomputable", "Lean.noncomputableExt", "Lean.stringToMessageData", "Lean.throwError", "Lean.versionString", "List.any", "List.append", "List.contains", "List.drop", "List.elem", "List.filter", "List.foldl", "List.isEmpty", "List.map", "MonadLiftT.monadLift", "Nat.add", "Nat.blt", "Nat.toDigits", "Option.getD", "Option.isSome", "Pure.pure", "Std.HashMap.emptyWithCapacity", "Std.HashMap.get?", "Std.HashMap.insert", "Std.HashSet.contains", "Std.HashSet.emptyWithCapacity", "Std.HashSet.insert", "Std.HashSet.toList", "String.append", "String.foldl", "String.intercalate", "String.ofList", "String.push", "String.toName", "ToString.toString", "UInt16.toNat", "UInt32.toNat", "UInt64.toNat", "UInt8.toNat", "Unit.unit"] : Array String)) ((#[(Prod.mk (α := String) (β := (Array String)) "Bool" ((#["false", "true"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Alt" ((#["alt", "ctorAlt", "default"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Arg" ((#["erased", "fvar", "type"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Cases" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Code" ((#["let", "fun", "jp", "jmp", "cases", "return", "unreach", "oset", "uset", "sset", "setTag", "inc", "dec", "del"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Decl" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.DeclValue" ((#["code", "extern"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.FunDecl" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.LetDecl" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.LetValue" ((#["lit", "erased", "proj", "const", "fvar", "ctor", "oproj", "uproj", "sproj", "fap", "pap", "reset", "reuse", "box", "unbox", "isShared"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.LitValue" ((#["nat", "str", "uint8", "uint16", "uint32", "uint64", "usize"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Param" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Phase" ((#["base", "mono", "impure"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Purity" ((#["pure", "impure"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Signature" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstantInfo" ((#["axiomInfo", "defnInfo", "thmInfo", "opaqueInfo", "quotInfo", "inductInfo", "ctorInfo", "recInfo"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstantKind" ((#["defn", "thm", "axiom", "opaque", "quot", "induct", "ctor", "recursor"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstantVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstructorVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.DefinitionSafety" ((#["unsafe", "safe", "partial"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.DefinitionVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Expr" ((#["bvar", "fvar", "mvar", "sort", "const", "app", "lam", "forallE", "letE", "lit", "mdata", "proj"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.FVarId" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.InductiveVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Name" ((#["anonymous", "str", "num"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.NameGenerator" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "List" ((#["nil", "cons"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Option" ((#["none", "some"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Prod" ((#["mk"] : Array String)))] : Array (Prod String (Array String)))) ((#["Array", "BEq", "Bind", "Char", "Hashable", "IO", "Lean.AxiomVal", "Lean.BinderInfo", "Lean.Compiler.InlineAttributeKind", "Lean.Compiler.LCNF.CompilerM", "Lean.Compiler.LCNF.CompilerM.State", "Lean.Compiler.LCNF.CtorInfo", "Lean.ConstMap", "Lean.Core.Context", "Lean.Core.CoreM", "Lean.Core.State", "Lean.DelayedMetavarAssignment", "Lean.Elab.Command.CommandElab", "Lean.Elab.Command.CommandElabM", "Lean.Elab.Command.Context", "Lean.Elab.Command.State", "Lean.Elab.Term.Context", "Lean.Elab.Term.State", "Lean.Elab.Term.TermElabM", "Lean.EnvExtension", "Lean.EnvExtension.AsyncMode", "Lean.Environment", "Lean.EnvironmentHeader", "Lean.Exception", "Lean.ExternAttrData", "Lean.FVarIdMap", "Lean.FVarIdSet", "Lean.IR.Decl", "Lean.LMVarId", "Lean.Level", "Lean.LevelMetavarDecl", "Lean.Literal", "Lean.LocalDecl", "Lean.LocalInstance", "Lean.MData", "Lean.MVarId", "Lean.MessageData", "Lean.Meta.AbstractMVarsResult", "Lean.Meta.Config", "Lean.Meta.ConfigWithKey", "Lean.Meta.Context", "Lean.Meta.DefEqCacheKey", "Lean.Meta.DefEqContext", "Lean.Meta.ExprConfigCacheKey", "Lean.Meta.FunInfo", "Lean.Meta.InfoCacheKey", "Lean.Meta.MetaM", "Lean.Meta.PostponedEntry", "Lean.Meta.State", "Lean.Meta.SynthInstanceCacheKey", "Lean.MetavarDecl", "Lean.ModuleIdx", "Lean.MonadEnv", "Lean.MonadError", "Lean.MonadMCtx", "Lean.MonadNameGenerator", "Lean.NameSet", "Lean.OpaqueVal", "Lean.ParserDescr", "Lean.PersistentArrayNode", "Lean.PersistentEnvExtension", "Lean.PersistentEnvExtensionState", "Lean.PersistentHashMap.Entry", "Lean.PersistentHashMap.Node", "Lean.QuotVal", "Lean.RecursorVal", "Lean.ReducibilityHints", "Lean.SMap", "Lean.Syntax", "Lean.TagDeclarationExtension", "Lean.TheoremVal", "Monad", "MonadLiftT", "Nat", "Pure", "Std.HashMap", "Std.HashSet", "String", "ToString", "UInt16", "UInt32", "UInt64", "UInt8", "USize", "Unit"] : Array String)) ((#["Applicative.toPure", "Array.casesOn", "Array.mkEmpty", "Bool.casesOn", "Char.ofNat", "EIO", "EmptyCollection.emptyCollection", "Eq", "Eq.casesOn", "Eq.ndrec", "Eq.refl", "Eq.symm", "False", "False.elim", "HEq", "HEq.refl", "IO.RealWorld", "Inhabited", "Inhabited.default", "Inhabited.mk", "Lean.Compiler.LCNF.Alt.casesOn", "Lean.Compiler.LCNF.Arg.casesOn", "Lean.Compiler.LCNF.Cases.casesOn", "Lean.Compiler.LCNF.Code.casesOn", "Lean.Compiler.LCNF.CompilerM.State.mk", "Lean.Compiler.LCNF.CtorInfo.casesOn", "Lean.Compiler.LCNF.Decl.toSignature", "Lean.Compiler.LCNF.Decl.value", "Lean.Compiler.LCNF.DeclValue.casesOn", "Lean.Compiler.LCNF.FunDecl.casesOn", "Lean.Compiler.LCNF.LCtx.mk", "Lean.Compiler.LCNF.LetDecl.fvarId", "Lean.Compiler.LCNF.LetDecl.type", "Lean.Compiler.LCNF.LetDecl.value", "Lean.Compiler.LCNF.LetValue.casesOn", "Lean.Compiler.LCNF.LitValue.casesOn", "Lean.Compiler.LCNF.Param.borrow", "Lean.Compiler.LCNF.Param.fvarId", "Lean.Compiler.LCNF.Param.type", "Lean.Compiler.LCNF.Purity.ctorIdx", "Lean.Compiler.LCNF.Signature.levelParams", "Lean.Compiler.LCNF.Signature.name", "Lean.Compiler.LCNF.Signature.params", "Lean.Compiler.LCNF.Signature.safe", "Lean.Compiler.LCNF.Signature.type", "Lean.ConstantInfo.casesOn", "Lean.ConstantInfo.ctorIdx", "Lean.ConstantInfo.rec", "Lean.ConstantKind.casesOn", "Lean.ConstantVal.type", "Lean.ConstructorVal.induct", "Lean.ConstructorVal.numFields", "Lean.ConstructorVal.numParams", "Lean.ConstructorVal.toConstantVal", "Lean.Core.instAddMessageContextCoreM", "Lean.Core.instInhabitedCoreM", "Lean.Core.instMonadCoreM", "Lean.Core.instMonadEnvCoreM", "Lean.Core.instMonadLiftIOCoreM", "Lean.Core.instMonadNameGeneratorCoreM", "Lean.Core.instMonadRefCoreM", "Lean.DefinitionSafety.casesOn", "Lean.DefinitionVal.safety", "Lean.Elab.Command.instAddErrorMessageContextCommandElabM", "Lean.Elab.Command.instInhabitedCommandElabM", "Lean.Elab.Command.instMonadCommandElabM", "Lean.Elab.Command.instMonadEnvCommandElabM", "Lean.Elab.Command.instMonadExceptOfExceptionCommandElabM", "Lean.Elab.Command.instMonadLiftTIOCommandElabM", "Lean.Elab.Command.instMonadRefCommandElabM", "Lean.Elab.MonadMacroAdapter.toMonadQuotation", "Lean.Elab.Term.instAddErrorMessageContextTermElabM", "Lean.Elab.Term.instMonadMacroAdapterTermElabM", "Lean.Elab.Term.instMonadTermElabM", "Lean.Expr.casesOn", "Lean.Expr.ctorIdx", "Lean.Expr.instBEq", "Lean.Expr.instHashable", "Lean.Expr.rec", "Lean.FVarId.casesOn", "Lean.FVarId.name", "Lean.InductiveVal.ctors", "Lean.InductiveVal.isRec", "Lean.InductiveVal.numIndices", "Lean.InductiveVal.numParams", "Lean.Level.instBEq", "Lean.Level.instToString", "Lean.LocalContext.mk", "Lean.Meta.Cache.mk", "Lean.Meta.Context.mk", "Lean.Meta.Diagnostics.mk", "Lean.Meta.State.mk", "Lean.Meta.instBEqDefEqCacheKey", "Lean.Meta.instBEqExprConfigCacheKey", "Lean.Meta.instBEqInfoCacheKey", "Lean.Meta.instBEqSynthInstanceCacheKey", "Lean.Meta.instHashableDefEqCacheKey", "Lean.Meta.instHashableExprConfigCacheKey", "Lean.Meta.instHashableInfoCacheKey", "Lean.Meta.instHashableSynthInstanceCacheKey", "Lean.Meta.instInhabitedConfigWithKey", "Lean.Meta.instMonadEnvMetaM", "Lean.Meta.instMonadMCtxMetaM", "Lean.Meta.instMonadMetaM", "Lean.MetavarContext.mk", "Lean.MonadError.mk", "Lean.MonadQuotation.toMonadRef", "Lean.Name.instBEq", "Lean.ParserDescr.binary", "Lean.ParserDescr.cat", "Lean.ParserDescr.const", "Lean.ParserDescr.node", "Lean.ParserDescr.symbol", "Lean.PersistentArray.mk", "Lean.PersistentArrayNode.node", "Lean.PersistentHashMap.Node.entries", "Lean.PersistentHashMap.mk", "Lean.instAddErrorMessageContextOfAddMessageContextOfMonad", "Lean.instBEqBinderInfo", "Lean.instBEqFVarId", "Lean.instBEqLevelMVarId", "Lean.instBEqLiteral", "Lean.instBEqMVarId", "Lean.instEmptyCollectionFVarIdMap", "Lean.instEmptyCollectionFVarIdSet", "Lean.instHashableFVarId", "Lean.instHashableLevelMVarId", "Lean.instHashableMVarId", "Lean.instHashableName", "Lean.instMonadEnvOfMonadLift", "Lean.instMonadExceptOfExceptionCoreM", "Lean.instMonadMCtxOfMonadLift", "List.casesOn", "List.instBEq", "List.toArray", "Monad.toBind", "Nat.hasNotBit", "Nat.land", "Nat.ne_of_beq_eq_false", "Nat.shiftRight", "OfNat.ofNat", "Option.casesOn", "Prod.fst", "Prod.snd", "ReaderT.instApplicativeOfMonad", "ReaderT.instMonadExceptOf", "ReaderT.instMonadLift", "StateRefT'", "StateRefT'.instMonad", "StateRefT'.instMonadExceptOf", "StateRefT'.instMonadLift", "Std.HashMap.instEmptyCollection", "String.instInhabited", "USize.toNat", "eq_of_heq", "instBEqOfDecidableEq", "instDecidableEqBool", "instDecidableEqChar", "instDecidableEqNat", "instDecidableEqString", "instInhabitedBool", "instInhabitedList", "instInhabitedProd", "instMonadEIO", "instMonadLiftT", "instMonadLiftTOfMonadLift", "instOfNatNat", "instToStringList", "instToStringNat", "instToStringString", "ite", "noConfusion_of_Nat"] : Array String)) - -#eval LexLeanExtract.main ((#["Models.Main.classify", "Models.Main.classifyChecked", "Models.Main.respond", "Models.Main.admitCosts", "Models.Main.step", "Models.Main.ledgerPost", "Models.Main.ledgerFull", "Models.Main.guessChecked", "Models.Main.flowStep"] : Array String)) ((#["Models.Flows", "Models.Glyphs", "Models.Ledger", "Models.Main", "Models.Pipeline", "Models.Policy", "Models.Recognizer", "Models.Session", "Models.Triage"] : Array String)) diff --git a/examples/models/expected/verify/extract/process.json b/examples/models/expected/verify/extract/process.json index 7bf452e2e..80127d050 100644 --- a/examples/models/expected/verify/extract/process.json +++ b/examples/models/expected/verify/extract/process.json @@ -1 +1 @@ -{"argv":["env","lean","$STAGING/extract/LexLeanExtract.Xcca462bfe8cabc3365338af96b591362.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanExtract.Xcca462bfe8cabc3365338af96b591362","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"{\"spec\":\"lexlean/lcnf-extraction/2\",\"lean\":{\"version\":\"4.32.1\",\"githash\":\"f054605aea4b840552cca2e725580bffd1e1b704\"},\"roots\":[\"Models.Main.classify\",\"Models.Main.classifyChecked\",\"Models.Main.respond\",\"Models.Main.admitCosts\",\"Models.Main.step\",\"Models.Main.ledgerPost\",\"Models.Main.ledgerFull\",\"Models.Main.guessChecked\",\"Models.Main.flowStep\"],\"constants\":[{\"name\":\"Models.Flows.ClampGuess\",\"kind\":\"definition\",\"module\":\"Models.Flows\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Models.Ledger.ClampModel\",\"Models.Ledger.GuessModel\",\"Models.Ledger.belowCheck\",\"Models.Ledger.withinCheck\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.ClampModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.32\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.33\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.34\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.33\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.36\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.withinCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.46\"},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.48\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.49\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.53\"}}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.GuessModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.belowCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.67\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.68\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"},{\"kind\":\"fvar\",\"id\":\"_uniq.69\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.72\"}}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.73\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.75\"}}}}]}}}}}}]}}}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Models.Ledger.ClampModel\",\"Models.Ledger.GuessModel\",\"Models.Ledger.belowCheck\",\"Models.Ledger.withinCheck\"]},\"inductive\":null},{\"name\":\"Models.Flows.FlowModel\",\"kind\":\"definition\",\"module\":\"Models.Flows\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Models.Flows.ClampGuess\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Flows.ClampGuess\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"Models.Flows.ClampGuess\"]},\"inductive\":null},{\"name\":\"Models.Glyphs.Glyph\",\"kind\":\"inductive\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Models.Glyphs.Glyph.g0\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]}},{\"name\":\"Models.Glyphs.Glyph.g1\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]}},{\"name\":\"Models.Glyphs.Glyph.g2\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]}},{\"name\":\"Models.Glyphs.Glyph.g3\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]}},{\"name\":\"Models.Glyphs.Glyph.g4\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]}},{\"name\":\"Models.Glyphs.Glyph.g5\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]}},{\"name\":\"Models.Glyphs.Glyph.g6\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]}},{\"name\":\"Models.Glyphs.Glyph.g7\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]}},{\"name\":\"Models.Glyphs.Glyph.g8\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]}},{\"name\":\"Models.Glyphs.Glyph.g9\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]}}]}},{\"name\":\"Models.Glyphs.digitOf\",\"kind\":\"definition\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Unit\",\"instOfNatNat\",\"OfNat.ofNat\",\"Models.Glyphs.Glyph\",\"Models.Glyphs.encode.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.88\",\"parameters\":[{\"id\":\"_uniq.84\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.85\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.85\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.86\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.87\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.88\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.95\",\"parameters\":[{\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.94\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.96\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.95\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.102\",\"parameters\":[{\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.99\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.100\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.101\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.102\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.109\",\"parameters\":[{\"id\":\"_uniq.105\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.106\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.107\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.108\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.109\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.116\",\"parameters\":[{\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.113\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.114\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.115\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.116\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.123\",\"parameters\":[{\"id\":\"_uniq.119\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"5\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.120\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.121\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.122\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.124\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.123\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.130\",\"parameters\":[{\"id\":\"_uniq.126\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.127\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"6\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.127\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.129\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.128\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.129\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.130\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.137\",\"parameters\":[{\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"7\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.134\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.135\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.136\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.137\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.144\",\"parameters\":[{\"id\":\"_uniq.140\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.141\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"8\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.141\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.143\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.142\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.143\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.144\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.151\",\"parameters\":[{\"id\":\"_uniq.147\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.148\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.149\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.148\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.150\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.149\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.150\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.152\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.151\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Models.Glyphs.Glyph\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.70\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g0\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.165\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.166\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.89\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.165\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.166\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g1\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.167\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.168\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.96\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.167\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.168\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g2\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.169\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.170\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.103\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.169\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.170\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g3\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.171\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.172\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.110\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.171\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.172\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g4\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.173\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.174\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.117\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.173\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.174\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g5\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.175\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.176\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.175\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.176\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g6\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.177\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.178\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.131\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.177\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.178\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g7\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.179\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.180\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.138\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.179\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.180\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g8\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.181\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.182\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.145\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.181\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.182\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g9\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.183\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.184\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.152\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.183\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.184\"}}}}]}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"PUnit\",\"instOfNatNat\",\"Unit.unit\",\"Models.Glyphs.Glyph\",\"Models.Glyphs.Glyph.g0\",\"Models.Glyphs.Glyph.g1\",\"Models.Glyphs.Glyph.g2\",\"Models.Glyphs.Glyph.g3\",\"Models.Glyphs.Glyph.g4\",\"Models.Glyphs.Glyph.g5\",\"Models.Glyphs.Glyph.g6\",\"Models.Glyphs.Glyph.g7\",\"Models.Glyphs.Glyph.g8\",\"Models.Glyphs.Glyph.g9\"]},\"inductive\":null},{\"name\":\"Models.Glyphs.encode\",\"kind\":\"definition\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"List\",\"Unit\",\"instOfNat\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\",\"Models.Glyphs.Glyph\",\"Models.Glyphs.encode.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.99\",\"parameters\":[{\"id\":\"_uniq.84\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.85\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.85\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.86\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.88\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.89\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.90\"},{\"kind\":\"fvar\",\"id\":\"_uniq.91\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.93\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.94\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.96\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.95\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.96\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.98\"}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.99\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.117\",\"parameters\":[{\"id\":\"_uniq.102\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.104\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.106\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.107\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"},{\"kind\":\"fvar\",\"id\":\"_uniq.109\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.111\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"},{\"kind\":\"fvar\",\"id\":\"_uniq.110\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"},{\"kind\":\"fvar\",\"id\":\"_uniq.111\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"},{\"kind\":\"fvar\",\"id\":\"_uniq.112\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.108\"},{\"kind\":\"fvar\",\"id\":\"_uniq.113\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.108\"},{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"},{\"kind\":\"fvar\",\"id\":\"_uniq.115\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.116\"}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.118\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.117\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.135\",\"parameters\":[{\"id\":\"_uniq.120\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.121\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.122\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.124\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.124\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.125\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.127\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.123\"},{\"kind\":\"fvar\",\"id\":\"_uniq.127\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.129\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.126\"},{\"kind\":\"fvar\",\"id\":\"_uniq.128\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.123\"},{\"kind\":\"fvar\",\"id\":\"_uniq.129\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.123\"},{\"kind\":\"fvar\",\"id\":\"_uniq.130\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.132\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.126\"},{\"kind\":\"fvar\",\"id\":\"_uniq.131\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.123\"},{\"kind\":\"fvar\",\"id\":\"_uniq.132\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.123\"},{\"kind\":\"fvar\",\"id\":\"_uniq.133\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.134\"}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.135\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.153\",\"parameters\":[{\"id\":\"_uniq.138\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.139\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.140\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.139\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.141\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.140\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.143\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.142\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.144\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.143\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.146\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.141\"},{\"kind\":\"fvar\",\"id\":\"_uniq.145\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.147\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.144\"},{\"kind\":\"fvar\",\"id\":\"_uniq.146\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.148\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.144\"},{\"kind\":\"fvar\",\"id\":\"_uniq.147\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.149\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.141\"},{\"kind\":\"fvar\",\"id\":\"_uniq.148\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.150\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.141\"},{\"kind\":\"fvar\",\"id\":\"_uniq.149\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.151\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.141\"},{\"kind\":\"fvar\",\"id\":\"_uniq.150\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.152\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.141\"},{\"kind\":\"fvar\",\"id\":\"_uniq.151\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.152\"}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.154\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.153\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.171\",\"parameters\":[{\"id\":\"_uniq.156\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.157\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.158\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.157\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.159\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.158\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.160\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.161\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.160\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.162\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.161\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.163\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.164\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.162\"},{\"kind\":\"fvar\",\"id\":\"_uniq.163\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.165\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.162\"},{\"kind\":\"fvar\",\"id\":\"_uniq.164\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.166\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.159\"},{\"kind\":\"fvar\",\"id\":\"_uniq.165\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.167\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.159\"},{\"kind\":\"fvar\",\"id\":\"_uniq.166\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.168\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.162\"},{\"kind\":\"fvar\",\"id\":\"_uniq.167\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.169\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.162\"},{\"kind\":\"fvar\",\"id\":\"_uniq.168\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.170\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.159\"},{\"kind\":\"fvar\",\"id\":\"_uniq.169\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.170\"}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.172\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.171\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.189\",\"parameters\":[{\"id\":\"_uniq.174\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.175\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.176\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.175\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.177\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.176\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.178\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.179\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.178\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.180\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.179\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.181\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.182\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.177\"},{\"kind\":\"fvar\",\"id\":\"_uniq.181\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.183\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.177\"},{\"kind\":\"fvar\",\"id\":\"_uniq.182\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.184\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.180\"},{\"kind\":\"fvar\",\"id\":\"_uniq.183\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.185\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.177\"},{\"kind\":\"fvar\",\"id\":\"_uniq.184\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.186\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.177\"},{\"kind\":\"fvar\",\"id\":\"_uniq.185\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.187\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.180\"},{\"kind\":\"fvar\",\"id\":\"_uniq.186\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.188\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.177\"},{\"kind\":\"fvar\",\"id\":\"_uniq.187\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.188\"}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.190\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.189\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.207\",\"parameters\":[{\"id\":\"_uniq.192\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.193\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.194\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.193\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.195\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.194\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.196\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.197\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.196\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.198\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.197\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.199\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.200\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.195\"},{\"kind\":\"fvar\",\"id\":\"_uniq.199\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.201\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.195\"},{\"kind\":\"fvar\",\"id\":\"_uniq.200\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.202\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.195\"},{\"kind\":\"fvar\",\"id\":\"_uniq.201\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.203\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.195\"},{\"kind\":\"fvar\",\"id\":\"_uniq.202\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.204\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.195\"},{\"kind\":\"fvar\",\"id\":\"_uniq.203\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.205\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.198\"},{\"kind\":\"fvar\",\"id\":\"_uniq.204\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.206\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.195\"},{\"kind\":\"fvar\",\"id\":\"_uniq.205\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.206\"}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.208\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.207\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.225\",\"parameters\":[{\"id\":\"_uniq.210\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.211\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.212\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.211\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.213\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.212\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.214\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.215\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.214\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.216\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.215\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.217\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.218\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.216\"},{\"kind\":\"fvar\",\"id\":\"_uniq.217\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.219\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.216\"},{\"kind\":\"fvar\",\"id\":\"_uniq.218\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.220\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.216\"},{\"kind\":\"fvar\",\"id\":\"_uniq.219\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.221\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.216\"},{\"kind\":\"fvar\",\"id\":\"_uniq.220\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.222\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.213\"},{\"kind\":\"fvar\",\"id\":\"_uniq.221\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.223\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.213\"},{\"kind\":\"fvar\",\"id\":\"_uniq.222\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.224\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.213\"},{\"kind\":\"fvar\",\"id\":\"_uniq.223\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.224\"}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.226\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.225\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.240\",\"parameters\":[{\"id\":\"_uniq.228\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.229\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.230\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.229\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.231\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.230\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.232\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.233\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.231\"},{\"kind\":\"fvar\",\"id\":\"_uniq.232\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.234\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.231\"},{\"kind\":\"fvar\",\"id\":\"_uniq.233\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.235\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.231\"},{\"kind\":\"fvar\",\"id\":\"_uniq.234\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.236\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.231\"},{\"kind\":\"fvar\",\"id\":\"_uniq.235\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.237\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.231\"},{\"kind\":\"fvar\",\"id\":\"_uniq.236\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.238\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.231\"},{\"kind\":\"fvar\",\"id\":\"_uniq.237\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.239\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.231\"},{\"kind\":\"fvar\",\"id\":\"_uniq.238\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.239\"}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.241\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.240\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.258\",\"parameters\":[{\"id\":\"_uniq.243\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.244\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.245\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.244\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.246\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.245\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.247\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.248\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.247\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.249\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.248\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.250\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.251\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.246\"},{\"kind\":\"fvar\",\"id\":\"_uniq.250\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.252\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.246\"},{\"kind\":\"fvar\",\"id\":\"_uniq.251\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.253\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.249\"},{\"kind\":\"fvar\",\"id\":\"_uniq.252\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.254\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.246\"},{\"kind\":\"fvar\",\"id\":\"_uniq.253\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.255\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.246\"},{\"kind\":\"fvar\",\"id\":\"_uniq.254\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.256\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.246\"},{\"kind\":\"fvar\",\"id\":\"_uniq.255\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.257\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.246\"},{\"kind\":\"fvar\",\"id\":\"_uniq.256\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.257\"}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.259\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.258\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Models.Glyphs.Glyph\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"discriminant\":\"_uniq.70\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g0\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.272\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.273\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.100\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.272\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.273\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g1\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.274\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.275\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.118\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.274\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.275\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g2\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.276\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.277\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.136\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.276\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.277\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g3\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.278\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.279\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.154\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.278\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.279\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g4\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.280\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.281\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.172\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.280\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.281\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g5\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.282\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.283\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.190\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.282\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.283\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g6\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.284\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.285\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.208\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.284\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.285\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g7\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.286\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.287\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.226\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.286\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.287\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g8\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.288\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.289\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.241\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.288\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.289\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g9\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.290\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.291\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.259\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.290\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.291\"}}}}]}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Int\",\"List\",\"Nat\",\"OfNat\",\"PUnit\",\"instOfNat\",\"List.cons\",\"List.nil\",\"Unit.unit\",\"Models.Glyphs.Glyph\",\"Models.Glyphs.Glyph.g0\",\"Models.Glyphs.Glyph.g1\",\"Models.Glyphs.Glyph.g2\",\"Models.Glyphs.Glyph.g3\",\"Models.Glyphs.Glyph.g4\",\"Models.Glyphs.Glyph.g5\",\"Models.Glyphs.Glyph.g6\",\"Models.Glyphs.Glyph.g7\",\"Models.Glyphs.Glyph.g8\",\"Models.Glyphs.Glyph.g9\"]},\"inductive\":null},{\"name\":\"Models.Ledger.Clamp\",\"kind\":\"definition\",\"module\":\"Models.Ledger\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"instSubNat\",\"HAdd.hAdd\",\"OfNat.ofNat\",\"Prod.mk\",\"Models.Ledger.LexLeanRuntime.subtract\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.18\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.19\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.20\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"100\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.28\"}}}}}}}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Nat\",\"OfNat\",\"Prod\",\"Sub\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"instSubNat\",\"Prod.mk\",\"Models.Ledger.LexLeanRuntime.subtract\"]},\"inductive\":null},{\"name\":\"Models.Ledger.ClampModel\",\"kind\":\"definition\",\"module\":\"Models.Ledger\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Models.Ledger.Clamp\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.Clamp\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}},\"uses\":[\"Nat\",\"Prod\",\"Models.Ledger.Clamp\"]},\"inductive\":null},{\"name\":\"Models.Ledger.Guess\",\"kind\":\"definition\",\"module\":\"Models.Ledger\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"instSubNat\",\"OfNat.ofNat\",\"Models.Ledger.LexLeanRuntime.subtract\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.11\"}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"Sub\",\"instOfNatNat\",\"instSubNat\",\"Models.Ledger.LexLeanRuntime.subtract\"]},\"inductive\":null},{\"name\":\"Models.Ledger.GuessModel\",\"kind\":\"definition\",\"module\":\"Models.Ledger\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Models.Ledger.Guess\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.Guess\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Nat\",\"Models.Ledger.Guess\"]},\"inductive\":null},{\"name\":\"Models.Ledger.Spill\",\"kind\":\"definition\",\"module\":\"Models.Ledger\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instAddNat\",\"instHAdd\",\"HAdd.hAdd\",\"Prod.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.15\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Nat\",\"Prod\",\"instAddNat\",\"instHAdd\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Models.Ledger.SpillModel\",\"kind\":\"definition\",\"module\":\"Models.Ledger\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Models.Ledger.Spill\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.Spill\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}},\"uses\":[\"Nat\",\"Prod\",\"Models.Ledger.Spill\"]},\"inductive\":null},{\"name\":\"Models.Ledger.SpillRawModel\",\"kind\":\"definition\",\"module\":\"Models.Ledger\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Models.Ledger.Spill\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.Spill\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}},\"uses\":[\"Nat\",\"Prod\",\"Models.Ledger.Spill\"]},\"inductive\":null},{\"name\":\"Models.Ledger.belowCheck\",\"kind\":\"definition\",\"module\":\"Models.Ledger\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Nat.ble\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}},\"uses\":[\"Bool\",\"Nat\",\"Nat.ble\"]},\"inductive\":null},{\"name\":\"Models.Ledger.cappedCheck\",\"kind\":\"definition\",\"module\":\"Models.Ledger\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.ble\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"100\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.10\"}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"Nat.ble\"]},\"inductive\":null},{\"name\":\"Models.Ledger.growsCheck\",\"kind\":\"definition\",\"module\":\"Models.Ledger\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Nat.ble\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}}}},\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.25\"}}},\"uses\":[\"Bool\",\"Nat\",\"Nat.ble\"]},\"inductive\":null},{\"name\":\"Models.Ledger.smallCheck\",\"kind\":\"definition\",\"module\":\"Models.Ledger\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.ble\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"10\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.16\"}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"Nat.ble\"]},\"inductive\":null},{\"name\":\"Models.Ledger.withinCheck\",\"kind\":\"definition\",\"module\":\"Models.Ledger\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.ble\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"10\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.10\"}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"Nat.ble\"]},\"inductive\":null},{\"name\":\"Models.Main.admitCosts\",\"kind\":\"definition\",\"module\":\"Models.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Except\",\"List\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Models.Pipeline.StreamModel\",\"Models.Pipeline.shortStreamCheck\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}},\"parameters\":[{\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.13\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Pipeline.shortStreamCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"discriminant\":\"_uniq.26\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.30\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Pipeline.StreamModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.33\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.35\"}}}}}]}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Except\",\"List\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Models.Pipeline.StreamModel\",\"Models.Pipeline.shortStreamCheck\"]},\"inductive\":null},{\"name\":\"Models.Main.classify\",\"kind\":\"definition\",\"module\":\"Models.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Glyphs.Glyph\",\"Models.Recognizer.DigitModel\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.DigitModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Nat\",\"Models.Glyphs.Glyph\",\"Models.Recognizer.DigitModel\"]},\"inductive\":null},{\"name\":\"Models.Main.classifyChecked\",\"kind\":\"definition\",\"module\":\"Models.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Models.Glyphs.Glyph\",\"Models.Recognizer.RawDigitModel\",\"Models.Recognizer.recognizesCheck\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.15\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.RawDigitModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.19\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.recognizesCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.31\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.41\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.49\"}}}]}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Models.Glyphs.Glyph\",\"Models.Recognizer.RawDigitModel\",\"Models.Recognizer.recognizesCheck\"]},\"inductive\":null},{\"name\":\"Models.Main.flowStep\",\"kind\":\"definition\",\"module\":\"Models.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Prod.fst\",\"Prod.mk\",\"Models.Flows.FlowModel\",\"Models.Ledger.cappedCheck\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}}},\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.24\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.25\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.cappedCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.38\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"discriminant\":\"_uniq.40\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.41\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.44\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.45\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Flows.FlowModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.47\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.48\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.cappedCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.58\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"discriminant\":\"_uniq.59\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.62\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.64\"}}}]}}}}}}}]}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Models.Flows.FlowModel\",\"Models.Ledger.cappedCheck\"]},\"inductive\":null},{\"name\":\"Models.Main.guessChecked\",\"kind\":\"definition\",\"module\":\"Models.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Models.Ledger.GuessModel\",\"Models.Ledger.belowCheck\",\"Models.Ledger.withinCheck\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.16\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.withinCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.29\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.33\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.GuessModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.36\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.belowCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.46\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.47\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.48\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.51\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.52\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.53\"}}}]}}}}}}]}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Models.Ledger.GuessModel\",\"Models.Ledger.belowCheck\",\"Models.Ledger.withinCheck\"]},\"inductive\":null},{\"name\":\"Models.Main.ledgerFull\",\"kind\":\"definition\",\"module\":\"Models.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Models.Ledger.SpillRawModel\",\"Models.Ledger.cappedCheck\",\"Models.Ledger.growsCheck\",\"Models.Ledger.smallCheck\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.30\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.31\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.cappedCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.44\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.46\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.47\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.51\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.smallCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.61\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.62\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.65\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.SpillRawModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.68\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.69\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.cappedCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.79\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.80\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.81\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.82\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.83\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.84\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.69\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.growsCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"},{\"kind\":\"fvar\",\"id\":\"_uniq.93\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.94\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.95\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.96\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"},{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.98\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.99\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.100\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.69\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.101\"}}}]}}}}}]}}}}}}}]}}}}]}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Models.Ledger.SpillRawModel\",\"Models.Ledger.cappedCheck\",\"Models.Ledger.growsCheck\",\"Models.Ledger.smallCheck\"]},\"inductive\":null},{\"name\":\"Models.Main.ledgerPost\",\"kind\":\"definition\",\"module\":\"Models.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Prod.fst\",\"Prod.mk\",\"Models.Ledger.SpillModel\",\"Models.Ledger.cappedCheck\",\"Models.Ledger.smallCheck\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.27\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.28\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.cappedCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.43\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.47\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.48\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.smallCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.58\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.62\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.SpillModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.66\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.cappedCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.77\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.78\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.79\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.80\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.81\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.82\"}}}]}}}}}}}]}}}}]}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Models.Ledger.SpillModel\",\"Models.Ledger.cappedCheck\",\"Models.Ledger.smallCheck\"]},\"inductive\":null},{\"name\":\"Models.Main.respond\",\"kind\":\"definition\",\"module\":\"Models.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Models.Pipeline.PipelineModel\",\"Models.Triage.Presentation\",\"Models.Triage.symptomaticCheck\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.13\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.symptomaticCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.26\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.30\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Pipeline.PipelineModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.33\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.35\"}}}}}]}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Models.Pipeline.PipelineModel\",\"Models.Triage.Presentation\",\"Models.Triage.symptomaticCheck\"]},\"inductive\":null},{\"name\":\"Models.Main.step\",\"kind\":\"definition\",\"module\":\"Models.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Models.Session.SessionModel\",\"Models.Session.Window\",\"Models.Session.affordableCheck\",\"Models.Session.boundedCheck\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.23\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.24\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Session.boundedCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.39\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Session.affordableCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.54\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.58\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Session.SessionModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.61\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.63\"}}}}}]}}}}]}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Models.Session.SessionModel\",\"Models.Session.Window\",\"Models.Session.affordableCheck\",\"Models.Session.boundedCheck\"]},\"inductive\":null},{\"name\":\"Models.Pipeline.PipelineModel\",\"kind\":\"definition\",\"module\":\"Models.Pipeline\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Pipeline.TriagePipeline\",\"Models.Triage.Presentation\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Pipeline.TriagePipeline\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Nat\",\"Models.Pipeline.TriagePipeline\",\"Models.Triage.Presentation\"]},\"inductive\":null},{\"name\":\"Models.Pipeline.SessionStream\",\"kind\":\"definition\",\"module\":\"Models.Pipeline\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Except\",\"List\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"List.cons\",\"List.nil\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Models.Session.SessionModel\",\"Models.Session.Window\",\"Models.Session.affordableCheck\",\"Models.Session.boundedCheck\",\"Models.Pipeline.LexLeanCollections.listFold\",\"Models.Pipeline.LexLeanRuntime.append\",\"Models.Pipeline.LexLeanRuntime.instAppendableList\",\"Models.Pipeline.SessionStream.match_1\",\"Models.Session.SessionModel.initial\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.140\",\"parameters\":[{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"borrow\":false},{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.71\",\"parameters\":[{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.63\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.71\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.123\",\"parameters\":[{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.85\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.76\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Session.boundedCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.85\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.86\"},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"discriminant\":\"_uniq.88\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.89\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.90\"},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.91\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.92\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.93\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Session.affordableCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.85\"},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.102\"},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"discriminant\":\"_uniq.103\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.104\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.106\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.107\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.108\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Session.SessionModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.85\"},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.111\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.110\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.111\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Pipeline.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Pipeline.LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.76\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.111\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.115\"},{\"kind\":\"fvar\",\"id\":\"_uniq.116\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.118\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Pipeline.LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.113\"},{\"kind\":\"fvar\",\"id\":\"_uniq.114\"},{\"kind\":\"fvar\",\"id\":\"_uniq.117\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.112\"},{\"kind\":\"fvar\",\"id\":\"_uniq.118\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.119\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.120\"}}}}}}}}}}}}}]}}}}]}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.124\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.123\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"discriminant\":\"_uniq.63\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.135\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.72\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.135\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.136\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.137\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.137\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.138\"}}}]}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.141\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Session.SessionModel.initial\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.143\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.141\"},{\"kind\":\"fvar\",\"id\":\"_uniq.142\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.144\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.143\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Pipeline.LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.140\"},{\"kind\":\"fvar\",\"id\":\"_uniq.144\"},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.146\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.145\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.152\",\"parameters\":[{\"id\":\"_uniq.150\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.151\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.150\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.151\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.153\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.152\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.160\",\"parameters\":[{\"id\":\"_uniq.157\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.158\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.157\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.159\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.158\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.159\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.161\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.160\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.146\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.172\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.173\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.153\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.172\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.173\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.174\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.175\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.161\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.174\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.175\"}}}]}}}}}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Except\",\"List\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Except.error\",\"Except.ok\",\"List.cons\",\"List.nil\",\"Prod.mk\",\"Models.Session.SessionModel\",\"Models.Session.Window\",\"Models.Session.affordableCheck\",\"Models.Session.boundedCheck\",\"Models.Pipeline.LexLeanCollections.listFold\",\"Models.Pipeline.LexLeanRuntime.Appendable\",\"Models.Pipeline.LexLeanRuntime.append\",\"Models.Pipeline.LexLeanRuntime.instAppendableList\",\"Models.Session.SessionModel.initial\"]},\"inductive\":null},{\"name\":\"Models.Pipeline.StreamModel\",\"kind\":\"definition\",\"module\":\"Models.Pipeline\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Models.Pipeline.SessionStream\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Pipeline.SessionStream\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Prod\",\"Models.Pipeline.SessionStream\"]},\"inductive\":null},{\"name\":\"Models.Pipeline.TriagePipeline\",\"kind\":\"definition\",\"module\":\"Models.Pipeline\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Models.Policy.PolicyModel\",\"Models.Triage.Level\",\"Models.Triage.Presentation\",\"Models.Triage.TriageModel\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.TriageModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.15\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Policy.PolicyModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.17\",\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.18\"}}}}}},\"uses\":[\"Nat\",\"Models.Policy.PolicyModel\",\"Models.Triage.Level\",\"Models.Triage.Presentation\",\"Models.Triage.TriageModel\"]},\"inductive\":null},{\"name\":\"Models.Pipeline.shortStreamCheck\",\"kind\":\"definition\",\"module\":\"Models.Pipeline\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"instOfNatNat\",\"Nat.blt\",\"OfNat.ofNat\",\"Models.Pipeline.LexLeanRuntime.instLengthableList\",\"Models.Pipeline.LexLeanRuntime.length\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Pipeline.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Pipeline.LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Pipeline.LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1001\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.10\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.12\"}}}}}}}},\"uses\":[\"Bool\",\"List\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"Nat.blt\",\"Models.Pipeline.LexLeanRuntime.Lengthable\",\"Models.Pipeline.LexLeanRuntime.instLengthableList\",\"Models.Pipeline.LexLeanRuntime.length\"]},\"inductive\":null},{\"name\":\"Models.Policy.PolicyModel\",\"kind\":\"definition\",\"module\":\"Models.Policy\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Policy.PolicyRules\",\"Models.Triage.Level\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Policy.PolicyRules\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Nat\",\"Models.Policy.PolicyRules\",\"Models.Triage.Level\"]},\"inductive\":null},{\"name\":\"Models.Policy.PolicyRules\",\"kind\":\"definition\",\"module\":\"Models.Policy\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"instDecidableEqBool\",\"instOfNatNat\",\"ite\",\"Bool.true\",\"OfNat.ofNat\",\"Models.Policy.isUrgent\",\"Models.Triage.Level\",\"Models.Triage.isEmergency\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.isEmergency\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.23\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Policy.isUrgent\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.34\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.37\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.38\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.39\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.41\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.42\"}}}}}]}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.46\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.47\"}}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Nat\",\"OfNat\",\"instDecidableEqBool\",\"instOfNatNat\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Models.Policy.isUrgent\",\"Models.Triage.Level\",\"Models.Triage.isEmergency\"]},\"inductive\":null},{\"name\":\"Models.Policy.isUrgent\",\"kind\":\"definition\",\"module\":\"Models.Policy\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Unit\",\"Bool.false\",\"Bool.true\",\"Models.Triage.Level\",\"Models.Policy.isUrgent.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.35\",\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.34\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.35\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.40\",\"parameters\":[{\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.39\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.35\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Models.Triage.Level\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.26\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Level.routine\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.36\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Level.urgent\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.41\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.52\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Level.emergency\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.43\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.54\"}}}}]}}}}}}},\"uses\":[\"Bool\",\"PUnit\",\"Bool.false\",\"Bool.true\",\"Unit.unit\",\"Models.Triage.Level\",\"Models.Triage.Level.emergency\",\"Models.Triage.Level.routine\",\"Models.Triage.Level.urgent\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.DigitModel\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Glyphs.Glyph\",\"Models.Recognizer.DigitNet\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.DigitNet\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Nat\",\"Models.Glyphs.Glyph\",\"Models.Recognizer.DigitNet\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.DigitNet\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Int\",\"List\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"instDecidableEqBool\",\"instOfNatNat\",\"ite\",\"Bool.true\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Models.Glyphs.Glyph\",\"Models.Recognizer.DigitNet.logits\",\"Models.Recognizer.DigitNet.match_1\",\"Models.Recognizer.DigitNet.match_3\",\"Models.Recognizer.LexLeanCollections.instKeyInt\",\"Models.Recognizer.LexLeanCollections.lessThan\",\"Models.Recognizer.LexLeanCollections.listFold\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.74\",\"parameters\":[{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.72\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.73\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.81\",\"parameters\":[{\"id\":\"_uniq.79\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.79\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.80\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.81\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.187\",\"parameters\":[{\"id\":\"_uniq.96\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.104\",\"parameters\":[{\"id\":\"_uniq.103\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.96\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.104\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.170\",\"parameters\":[{\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.113\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.122\",\"parameters\":[{\"id\":\"_uniq.119\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.112\"},{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.120\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.121\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.122\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.147\",\"parameters\":[{\"id\":\"_uniq.127\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanCollections.instKeyInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.127\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanCollections.lessThan\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.136\"},{\"kind\":\"fvar\",\"id\":\"_uniq.137\"},{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.139\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.140\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.138\"},{\"kind\":\"fvar\",\"id\":\"_uniq.139\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.140\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.141\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.127\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.142\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.143\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.144\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.112\"},{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.144\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.145\"}}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.148\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.147\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.156\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.96\"},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.163\",\"parameters\":[{\"id\":\"_uniq.161\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.162\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.161\"},{\"kind\":\"fvar\",\"id\":\"_uniq.113\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.162\"}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.169\",\"parameters\":[{\"id\":\"_uniq.167\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.168\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.148\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.167\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.163\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.168\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.166\",\"parameters\":[{\"id\":\"_uniq.164\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.165\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.123\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.164\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.163\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.165\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.156\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.157\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.166\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.157\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.159\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.169\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.159\"}]}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.171\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.170\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.180\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.96\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.180\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.181\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.182\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.105\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.181\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.182\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.183\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.184\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.185\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.171\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.183\"},{\"kind\":\"fvar\",\"id\":\"_uniq.184\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.185\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.188\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.189\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.190\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.189\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.191\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.190\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.192\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.193\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.192\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.194\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.193\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.195\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.196\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.195\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.197\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.196\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.198\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.199\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.198\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.200\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.199\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.201\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.202\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.201\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.203\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.202\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.204\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"5\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.205\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.204\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.206\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.205\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.207\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"6\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.208\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.207\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.209\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.208\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.210\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"7\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.211\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.210\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.212\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.211\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.213\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"8\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.214\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.213\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.215\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.214\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.216\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.217\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.216\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.218\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.217\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.219\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.220\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.218\"},{\"kind\":\"fvar\",\"id\":\"_uniq.219\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.221\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.215\"},{\"kind\":\"fvar\",\"id\":\"_uniq.220\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.222\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.212\"},{\"kind\":\"fvar\",\"id\":\"_uniq.221\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.223\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.209\"},{\"kind\":\"fvar\",\"id\":\"_uniq.222\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.224\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.206\"},{\"kind\":\"fvar\",\"id\":\"_uniq.223\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.225\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.203\"},{\"kind\":\"fvar\",\"id\":\"_uniq.224\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.226\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.200\"},{\"kind\":\"fvar\",\"id\":\"_uniq.225\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.227\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.197\"},{\"kind\":\"fvar\",\"id\":\"_uniq.226\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.228\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.194\"},{\"kind\":\"fvar\",\"id\":\"_uniq.227\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.229\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.191\"},{\"kind\":\"fvar\",\"id\":\"_uniq.228\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.230\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.188\"},{\"kind\":\"fvar\",\"id\":\"_uniq.229\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.231\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.DigitNet.logits\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.232\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.187\"},{\"kind\":\"fvar\",\"id\":\"_uniq.230\"},{\"kind\":\"fvar\",\"id\":\"_uniq.231\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.233\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.232\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.233\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.234\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.235\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.75\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.234\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.235\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.236\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.237\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.82\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.236\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.237\"}}}]}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Int\",\"List\",\"Nat\",\"OfNat\",\"Option\",\"PUnit\",\"Prod\",\"instDecidableEqBool\",\"instOfNatNat\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"List.cons\",\"List.nil\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Unit.unit\",\"Models.Glyphs.Glyph\",\"Models.Recognizer.DigitNet.logits\",\"Models.Recognizer.LexLeanCollections.Key\",\"Models.Recognizer.LexLeanCollections.instKeyInt\",\"Models.Recognizer.LexLeanCollections.lessThan\",\"Models.Recognizer.LexLeanCollections.listFold\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.RawDigitModel\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Glyphs.Glyph\",\"Models.Recognizer.DigitNet\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.DigitNet\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Nat\",\"Models.Glyphs.Glyph\",\"Models.Recognizer.DigitNet\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.hiddenBias\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"instOfNat\",\"Int.instNegInt\",\"List.cons\",\"List.nil\",\"Neg.neg\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.1\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.3\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.2\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.4\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.5\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.4\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instNegInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.7\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.16\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.14\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"5\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.23\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.14\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.38\"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Int\",\"List\",\"Nat\",\"Neg\",\"OfNat\",\"instOfNat\",\"Int.instNegInt\",\"List.cons\",\"List.nil\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.hiddenWeights\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"List\",\"instOfNat\",\"Int.instNegInt\",\"List.cons\",\"List.nil\",\"Neg.neg\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.1\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.3\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.2\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.4\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.5\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.4\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.43\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instNegInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.45\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.48\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.46\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.52\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.46\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.46\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.68\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.69\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.79\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.46\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.3\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.83\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.85\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.84\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.85\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.82\"},{\"kind\":\"fvar\",\"id\":\"_uniq.86\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.88\"},{\"kind\":\"fvar\",\"id\":\"_uniq.89\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"},{\"kind\":\"fvar\",\"id\":\"_uniq.90\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"},{\"kind\":\"fvar\",\"id\":\"_uniq.91\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"},{\"kind\":\"fvar\",\"id\":\"_uniq.93\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.94\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.96\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.95\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.96\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.98\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.99\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.100\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.101\"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Int\",\"List\",\"Nat\",\"Neg\",\"OfNat\",\"instOfNat\",\"Int.instNegInt\",\"List.cons\",\"List.nil\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.outputBias\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"instOfNat\",\"Int.instNegInt\",\"List.cons\",\"List.nil\",\"Neg.neg\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instNegInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.1\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.3\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"6\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.4\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.3\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.4\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.2\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.2\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"5\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.12\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.2\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.16\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.2\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.2\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"7\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.2\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.37\"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Int\",\"List\",\"Nat\",\"Neg\",\"OfNat\",\"instOfNat\",\"Int.instNegInt\",\"List.cons\",\"List.nil\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.outputWeights\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"List\",\"instOfNat\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.1\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.3\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.2\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.4\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.5\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.4\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"},{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.68\"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Int\",\"List\",\"Nat\",\"OfNat\",\"instOfNat\",\"List.cons\",\"List.nil\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.recognizesCheck\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Nat.beq\",\"Models.Glyphs.Glyph\",\"Models.Glyphs.digitOf\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.digitOf\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}}},\"uses\":[\"Bool\",\"Nat\",\"Nat.beq\",\"Models.Glyphs.Glyph\",\"Models.Glyphs.digitOf\"]},\"inductive\":null},{\"name\":\"Models.Session.SessionModel\",\"kind\":\"definition\",\"module\":\"Models.Session\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Models.Session.SessionStep\",\"Models.Session.Window\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Session.SessionStep\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.12\"}}},\"uses\":[\"Nat\",\"Prod\",\"Models.Session.SessionStep\",\"Models.Session.Window\"]},\"inductive\":null},{\"name\":\"Models.Session.SessionStep\",\"kind\":\"definition\",\"module\":\"Models.Session\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"instSubNat\",\"HAdd.hAdd\",\"OfNat.ofNat\",\"Prod.mk\",\"Models.Session.Window\",\"Models.Session.LexLeanRuntime.subtract\",\"Models.Session.Window.items\",\"Models.Session.Window.mk\",\"Models.Session.Window.used\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.17\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Models.Session.Window\",\"index\":0,\"value\":\"_uniq.13\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.34\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.36\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"64\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.40\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Session.LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Session.LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Models.Session.Window\",\"index\":1,\"value\":\"_uniq.13\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.46\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.34\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.44\"},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Session.Window.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.43\"},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Nat\",\"OfNat\",\"Prod\",\"Sub\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"instSubNat\",\"Prod.mk\",\"Models.Session.Window\",\"Models.Session.LexLeanRuntime.subtract\",\"Models.Session.Window.mk\"]},\"inductive\":null},{\"name\":\"Models.Session.Window\",\"kind\":\"inductive\",\"module\":\"Models.Session\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Models.Session.Window.mk\",\"parameters\":0,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]}}}}]}},{\"name\":\"Models.Session.affordableCheck\",\"kind\":\"definition\",\"module\":\"Models.Session\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.ble\",\"OfNat.ofNat\",\"Models.Session.Window\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"16\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.13\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.15\"}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"Nat.ble\",\"Models.Session.Window\"]},\"inductive\":null},{\"name\":\"Models.Session.boundedCheck\",\"kind\":\"definition\",\"module\":\"Models.Session\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.ble\",\"OfNat.ofNat\",\"Models.Session.Window\",\"Models.Session.Window.used\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Models.Session.Window\",\"index\":0,\"value\":\"_uniq.6\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"64\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.11\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"Nat.ble\",\"Models.Session.Window\"]},\"inductive\":null},{\"name\":\"Models.Triage.Level\",\"kind\":\"inductive\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Models.Triage.Level.routine\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}},{\"name\":\"Models.Triage.Level.urgent\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}},{\"name\":\"Models.Triage.Level.emergency\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}}]}},{\"name\":\"Models.Triage.Presentation\",\"kind\":\"inductive\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Models.Triage.Presentation.p0\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]}},{\"name\":\"Models.Triage.Presentation.p1\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]}},{\"name\":\"Models.Triage.Presentation.p2\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]}},{\"name\":\"Models.Triage.Presentation.p3\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]}},{\"name\":\"Models.Triage.Presentation.p4\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]}},{\"name\":\"Models.Triage.Presentation.p5\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]}},{\"name\":\"Models.Triage.Presentation.p6\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]}},{\"name\":\"Models.Triage.Presentation.p7\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]}}]}},{\"name\":\"Models.Triage.TriageModel\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Triage.Presentation\",\"Models.Triage.TriageScore\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.TriageScore\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.6\"}}},\"uses\":[\"Models.Triage.Level\",\"Models.Triage.Presentation\",\"Models.Triage.TriageScore\"]},\"inductive\":null},{\"name\":\"Models.Triage.TriageScore\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Int\",\"List\",\"Option\",\"Prod\",\"Unit\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"List.cons\",\"List.nil\",\"Option.none\",\"Option.some\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Models.Triage.Level\",\"Models.Triage.Presentation\",\"Models.Triage.Level.emergency\",\"Models.Triage.Level.routine\",\"Models.Triage.Level.urgent\",\"Models.Triage.LexLeanCollections.instKeyInt\",\"Models.Triage.LexLeanCollections.lessThan\",\"Models.Triage.LexLeanCollections.listFold\",\"Models.Triage.TriageScore.match_1\",\"Models.Triage.TriageScore.match_3\",\"Models.Triage.TriageScore.scores\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.70\",\"parameters\":[{\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level.routine\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.69\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.70\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.76\",\"parameters\":[{\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.74\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.75\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.76\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.181\",\"parameters\":[{\"id\":\"_uniq.91\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.99\",\"parameters\":[{\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.91\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.99\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.164\",\"parameters\":[{\"id\":\"_uniq.106\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.107\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.116\",\"parameters\":[{\"id\":\"_uniq.113\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.106\"},{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.115\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.116\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.141\",\"parameters\":[{\"id\":\"_uniq.121\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Triage.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.LexLeanCollections.instKeyInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.121\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.132\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.LexLeanCollections.lessThan\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.130\"},{\"kind\":\"fvar\",\"id\":\"_uniq.131\"},{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.132\"},{\"kind\":\"fvar\",\"id\":\"_uniq.133\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.134\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.135\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.121\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.136\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.137\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.106\"},{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.139\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.138\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.139\"}}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.141\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.150\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.91\"},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.157\",\"parameters\":[{\"id\":\"_uniq.155\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.156\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.155\"},{\"kind\":\"fvar\",\"id\":\"_uniq.107\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.156\"}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.163\",\"parameters\":[{\"id\":\"_uniq.161\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.162\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.142\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.161\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.157\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.162\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.160\",\"parameters\":[{\"id\":\"_uniq.158\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.159\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.117\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.158\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.157\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.159\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.150\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.151\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.160\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.151\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.153\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.163\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.153\"}]}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.165\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.164\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.174\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.91\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.174\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.175\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.176\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.100\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.175\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.176\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.177\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.178\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.179\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.165\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.177\"},{\"kind\":\"fvar\",\"id\":\"_uniq.178\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.179\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.182\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.183\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level.routine\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.184\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level.urgent\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.185\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level.emergency\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.186\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.187\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.185\"},{\"kind\":\"fvar\",\"id\":\"_uniq.186\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.188\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.184\"},{\"kind\":\"fvar\",\"id\":\"_uniq.187\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.189\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.183\"},{\"kind\":\"fvar\",\"id\":\"_uniq.188\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.190\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.182\"},{\"kind\":\"fvar\",\"id\":\"_uniq.189\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.191\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.TriageScore.scores\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.192\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.181\"},{\"kind\":\"fvar\",\"id\":\"_uniq.190\"},{\"kind\":\"fvar\",\"id\":\"_uniq.191\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.193\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.192\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"discriminant\":\"_uniq.193\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.194\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.195\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.71\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.194\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.195\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.196\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.197\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.77\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.196\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.197\"}}}]}}}}}}}}}}}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Int\",\"List\",\"Option\",\"PUnit\",\"Prod\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"List.cons\",\"List.nil\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Unit.unit\",\"Models.Triage.Level\",\"Models.Triage.Presentation\",\"Models.Triage.Level.emergency\",\"Models.Triage.Level.routine\",\"Models.Triage.Level.urgent\",\"Models.Triage.LexLeanCollections.Key\",\"Models.Triage.LexLeanCollections.instKeyInt\",\"Models.Triage.LexLeanCollections.lessThan\",\"Models.Triage.LexLeanCollections.listFold\",\"Models.Triage.TriageScore.scores\"]},\"inductive\":null},{\"name\":\"Models.Triage.features\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"List\",\"Unit\",\"instOfNat\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\",\"Models.Triage.Presentation\",\"Models.Triage.features.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.78\",\"parameters\":[{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.72\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.77\"}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.78\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.92\",\"parameters\":[{\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.82\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.83\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.85\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.85\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.86\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.88\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.89\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.84\"},{\"kind\":\"fvar\",\"id\":\"_uniq.90\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.91\"}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.92\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.106\",\"parameters\":[{\"id\":\"_uniq.95\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.96\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.96\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.97\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.99\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.100\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.98\"},{\"kind\":\"fvar\",\"id\":\"_uniq.102\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.101\"},{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.98\"},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.105\"}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.106\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.120\",\"parameters\":[{\"id\":\"_uniq.109\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.111\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.110\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.111\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.113\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.114\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.115\"},{\"kind\":\"fvar\",\"id\":\"_uniq.116\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.118\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.112\"},{\"kind\":\"fvar\",\"id\":\"_uniq.117\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.112\"},{\"kind\":\"fvar\",\"id\":\"_uniq.118\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.119\"}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.120\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.134\",\"parameters\":[{\"id\":\"_uniq.123\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.124\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.124\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.125\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.127\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.127\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.129\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.128\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.129\"},{\"kind\":\"fvar\",\"id\":\"_uniq.130\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.132\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.126\"},{\"kind\":\"fvar\",\"id\":\"_uniq.131\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.126\"},{\"kind\":\"fvar\",\"id\":\"_uniq.132\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.133\"}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.134\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.148\",\"parameters\":[{\"id\":\"_uniq.137\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.139\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.138\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.140\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.139\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.141\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.141\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.143\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.142\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.144\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.140\"},{\"kind\":\"fvar\",\"id\":\"_uniq.144\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.146\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.143\"},{\"kind\":\"fvar\",\"id\":\"_uniq.145\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.147\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.140\"},{\"kind\":\"fvar\",\"id\":\"_uniq.146\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.147\"}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.149\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.148\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.162\",\"parameters\":[{\"id\":\"_uniq.151\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.152\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.153\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.152\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.154\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.153\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.155\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.156\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.155\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.157\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.156\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.158\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.159\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.157\"},{\"kind\":\"fvar\",\"id\":\"_uniq.158\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.160\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.157\"},{\"kind\":\"fvar\",\"id\":\"_uniq.159\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.161\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.154\"},{\"kind\":\"fvar\",\"id\":\"_uniq.160\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.161\"}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.163\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.162\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.173\",\"parameters\":[{\"id\":\"_uniq.165\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.166\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.167\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.166\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.168\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.167\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.169\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.170\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.168\"},{\"kind\":\"fvar\",\"id\":\"_uniq.169\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.171\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.168\"},{\"kind\":\"fvar\",\"id\":\"_uniq.170\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.172\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.168\"},{\"kind\":\"fvar\",\"id\":\"_uniq.171\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.172\"}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.174\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.173\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Models.Triage.Presentation\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"discriminant\":\"_uniq.58\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p0\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.185\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.186\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.79\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.185\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.186\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p1\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.187\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.188\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.93\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.187\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.188\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p2\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.189\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.190\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.107\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.189\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.190\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p3\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.191\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.192\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.121\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.191\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.192\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p4\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.193\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.194\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.135\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.193\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.194\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p5\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.195\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.196\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.149\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.195\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.196\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p6\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.197\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.198\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.163\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.197\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.198\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p7\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.199\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.200\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.174\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.199\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.200\"}}}}]}}}}}}}}}}}}}}}}}},\"uses\":[\"Int\",\"List\",\"Nat\",\"OfNat\",\"PUnit\",\"instOfNat\",\"List.cons\",\"List.nil\",\"Unit.unit\",\"Models.Triage.Presentation\",\"Models.Triage.Presentation.p0\",\"Models.Triage.Presentation.p1\",\"Models.Triage.Presentation.p2\",\"Models.Triage.Presentation.p3\",\"Models.Triage.Presentation.p4\",\"Models.Triage.Presentation.p5\",\"Models.Triage.Presentation.p6\",\"Models.Triage.Presentation.p7\"]},\"inductive\":null},{\"name\":\"Models.Triage.hasSymptom\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Unit\",\"Bool.false\",\"Bool.true\",\"Models.Triage.Presentation\",\"Models.Triage.features.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.60\",\"parameters\":[{\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.59\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.60\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.65\",\"parameters\":[{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.64\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Models.Triage.Presentation\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.46\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p0\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.61\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.89\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.90\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p1\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.66\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.91\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.92\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p2\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.68\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.93\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.94\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p3\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.96\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.70\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.95\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.96\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p4\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.72\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.98\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p5\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.99\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.100\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p6\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.76\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.101\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.102\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p7\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.78\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.104\"}}}}]}}}}}}}}}}}},\"uses\":[\"Bool\",\"PUnit\",\"Bool.false\",\"Bool.true\",\"Unit.unit\",\"Models.Triage.Presentation\",\"Models.Triage.Presentation.p0\",\"Models.Triage.Presentation.p1\",\"Models.Triage.Presentation.p2\",\"Models.Triage.Presentation.p3\",\"Models.Triage.Presentation.p4\",\"Models.Triage.Presentation.p5\",\"Models.Triage.Presentation.p6\",\"Models.Triage.Presentation.p7\"]},\"inductive\":null},{\"name\":\"Models.Triage.isEmergency\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Unit\",\"Bool.false\",\"Bool.true\",\"Models.Triage.Level\",\"Models.Triage.isEmergency.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.35\",\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.34\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.35\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.35\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.42\",\"parameters\":[{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.41\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.42\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Models.Triage.Level\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.26\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Level.routine\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.36\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Level.urgent\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.38\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.52\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Level.emergency\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.43\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.54\"}}}}]}}}}}}},\"uses\":[\"Bool\",\"PUnit\",\"Bool.false\",\"Bool.true\",\"Unit.unit\",\"Models.Triage.Level\",\"Models.Triage.Level.emergency\",\"Models.Triage.Level.routine\",\"Models.Triage.Level.urgent\"]},\"inductive\":null},{\"name\":\"Models.Triage.symptomaticCheck\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Triage.Presentation\",\"Models.Triage.hasSymptom\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.hasSymptom\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Bool\",\"Models.Triage.Presentation\",\"Models.Triage.hasSymptom\"]},\"inductive\":null},{\"name\":\"Models.Triage.triageBias\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"instOfNat\",\"Int.instNegInt\",\"List.cons\",\"List.nil\",\"Neg.neg\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.1\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.3\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.2\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.4\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.5\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.4\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instNegInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.7\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.8\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.3\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}}}}}}}}}}}}}},\"uses\":[\"Int\",\"List\",\"Nat\",\"Neg\",\"OfNat\",\"instOfNat\",\"Int.instNegInt\",\"List.cons\",\"List.nil\"]},\"inductive\":null},{\"name\":\"Models.Triage.triageWeights\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"List\",\"instOfNat\",\"Int.instNegInt\",\"List.cons\",\"List.nil\",\"Neg.neg\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instNegInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.1\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.3\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.4\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.3\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.4\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.2\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.2\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.16\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.5\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.5\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"5\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.25\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.33\"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Int\",\"List\",\"Nat\",\"Neg\",\"OfNat\",\"instOfNat\",\"Int.instNegInt\",\"List.cons\",\"List.nil\"]},\"inductive\":null},{\"name\":\"Models.Glyphs.Glyph.casesOn\",\"kind\":\"definition\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Glyphs.Glyph\",\"Models.Glyphs.Glyph.g0\",\"Models.Glyphs.Glyph.g1\",\"Models.Glyphs.Glyph.g2\",\"Models.Glyphs.Glyph.g3\",\"Models.Glyphs.Glyph.g4\",\"Models.Glyphs.Glyph.g5\",\"Models.Glyphs.Glyph.g6\",\"Models.Glyphs.Glyph.g7\",\"Models.Glyphs.Glyph.g8\",\"Models.Glyphs.Glyph.g9\",\"Models.Glyphs.Glyph.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Glyphs.Glyph.g0\",\"kind\":\"constructor\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Glyphs.Glyph.g1\",\"kind\":\"constructor\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Glyphs.Glyph.g2\",\"kind\":\"constructor\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Glyphs.Glyph.g3\",\"kind\":\"constructor\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Glyphs.Glyph.g4\",\"kind\":\"constructor\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Glyphs.Glyph.g5\",\"kind\":\"constructor\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Glyphs.Glyph.g6\",\"kind\":\"constructor\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Glyphs.Glyph.g7\",\"kind\":\"constructor\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Glyphs.Glyph.g8\",\"kind\":\"constructor\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Glyphs.Glyph.g9\",\"kind\":\"constructor\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Glyphs.Glyph.rec\",\"kind\":\"recursor\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Glyphs.encode.match_1\",\"kind\":\"definition\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Unit\",\"Unit.unit\",\"Models.Glyphs.Glyph\",\"Models.Glyphs.Glyph.casesOn\",\"Models.Glyphs.Glyph.g0\",\"Models.Glyphs.Glyph.g1\",\"Models.Glyphs.Glyph.g2\",\"Models.Glyphs.Glyph.g3\",\"Models.Glyphs.Glyph.g4\",\"Models.Glyphs.Glyph.g5\",\"Models.Glyphs.Glyph.g6\",\"Models.Glyphs.Glyph.g7\",\"Models.Glyphs.Glyph.g8\",\"Models.Glyphs.Glyph.g9\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Ledger.LexLeanRuntime.subtract\",\"kind\":\"definition\",\"module\":\"Models.Ledger\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Sub\",\"instHSub\",\"HSub.hSub\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HSub\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instHSub\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HSub\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.41\"}}}}},\"uses\":[\"HSub\",\"Sub\",\"instHSub\"]},\"inductive\":null},{\"name\":\"Models.Pipeline.LexLeanCollections.listFold\",\"kind\":\"definition\",\"module\":\"Models.Pipeline\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.foldl\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}}},\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}}},\"borrow\":false},{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"borrow\":false},{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"value\":{\"kind\":\"const\",\"name\":\"List.foldl\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.64\"}}},\"uses\":[\"List\",\"List.foldl\"]},\"inductive\":null},{\"name\":\"Models.Pipeline.LexLeanRuntime.Appendable\",\"kind\":\"inductive\",\"module\":\"Models.Pipeline\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Models.Pipeline.LexLeanRuntime.Appendable.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Pipeline.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"Models.Pipeline.LexLeanRuntime.Lengthable\",\"kind\":\"inductive\",\"module\":\"Models.Pipeline\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Models.Pipeline.LexLeanRuntime.Lengthable.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Pipeline.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"Models.Pipeline.LexLeanRuntime.append\",\"kind\":\"definition\",\"module\":\"Models.Pipeline\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Pipeline.LexLeanRuntime.Appendable\",\"Models.Pipeline.LexLeanRuntime.Appendable.append\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Pipeline.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Pipeline.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"borrow\":false},{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Models.Pipeline.LexLeanRuntime.Appendable\",\"index\":0,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.40\"}}}},\"uses\":[\"Models.Pipeline.LexLeanRuntime.Appendable\"]},\"inductive\":null},{\"name\":\"Models.Pipeline.LexLeanRuntime.instAppendableList\",\"kind\":\"definition\",\"module\":\"Models.Pipeline\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.append\",\"Models.Pipeline.LexLeanRuntime.Appendable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Pipeline.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]}]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"List.appendTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Pipeline.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Pipeline.LexLeanRuntime.Appendable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}}},\"uses\":[\"List\",\"List.appendTR\",\"Models.Pipeline.LexLeanRuntime.Appendable\",\"Models.Pipeline.LexLeanRuntime.Appendable.mk\"]},\"inductive\":null},{\"name\":\"Models.Pipeline.LexLeanRuntime.instLengthableList\",\"kind\":\"definition\",\"module\":\"Models.Pipeline\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.length\",\"Models.Pipeline.LexLeanRuntime.Lengthable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Pipeline.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]}]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"List.lengthTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Pipeline.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Pipeline.LexLeanRuntime.Lengthable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.10\"}}}},\"uses\":[\"List\",\"Nat\",\"List.lengthTR\",\"Models.Pipeline.LexLeanRuntime.Lengthable\",\"Models.Pipeline.LexLeanRuntime.Lengthable.mk\"]},\"inductive\":null},{\"name\":\"Models.Pipeline.LexLeanRuntime.length\",\"kind\":\"definition\",\"module\":\"Models.Pipeline\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Pipeline.LexLeanRuntime.Lengthable\",\"Models.Pipeline.LexLeanRuntime.Lengthable.length\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Pipeline.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}},\"parameters\":[{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Pipeline.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Models.Pipeline.LexLeanRuntime.Lengthable\",\"index\":0,\"value\":\"_uniq.16\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.18\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.19\"}}}},\"uses\":[\"Nat\",\"Models.Pipeline.LexLeanRuntime.Lengthable\"]},\"inductive\":null},{\"name\":\"Models.Pipeline.SessionStream.match_1\",\"kind\":\"definition\",\"module\":\"Models.Pipeline\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Prod\",\"Except.casesOn\",\"Except.error\",\"Except.ok\",\"Models.Session.Window\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Policy.isUrgent.match_1\",\"kind\":\"definition\",\"module\":\"Models.Policy\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Unit\",\"Unit.unit\",\"Models.Triage.Level\",\"Models.Triage.Level.casesOn\",\"Models.Triage.Level.emergency\",\"Models.Triage.Level.routine\",\"Models.Triage.Level.urgent\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Recognizer.DigitNet.encoded\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Glyphs.Glyph\",\"Models.Glyphs.encode\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.encode\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Int\",\"List\",\"Models.Glyphs.Glyph\",\"Models.Glyphs.encode\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.DigitNet.layer1\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"List\",\"Prod\",\"Unit\",\"instOfNat\",\"Int.instMul\",\"Int.instNegInt\",\"Int.instSub\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Models.Recognizer.hiddenBias\",\"Models.Recognizer.hiddenWeights\",\"Models.Recognizer.LexLeanCollections.listFold\",\"Models.Recognizer.LexLeanRuntime.append\",\"Models.Recognizer.LexLeanRuntime.instAppendableList\",\"Models.Recognizer.LexLeanRuntime.multiply\",\"Models.Recognizer.LexLeanRuntime.negate\",\"Models.Recognizer.LexLeanRuntime.subtract\",\"Models.Recognizer.DigitNet.layer1.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.156\",\"parameters\":[{\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.65\",\"parameters\":[{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.139\",\"parameters\":[{\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.57\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instSub\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instNegInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.126\",\"parameters\":[{\"id\":\"_uniq.85\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.86\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.93\",\"parameters\":[{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.85\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.93\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.109\",\"parameters\":[{\"id\":\"_uniq.101\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.102\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.85\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instMul\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.multiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"},{\"kind\":\"fvar\",\"id\":\"_uniq.86\"},{\"kind\":\"fvar\",\"id\":\"_uniq.101\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.negate\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"},{\"kind\":\"fvar\",\"id\":\"_uniq.103\"},{\"kind\":\"fvar\",\"id\":\"_uniq.106\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.107\"},{\"kind\":\"fvar\",\"id\":\"_uniq.102\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.108\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.109\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.85\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.119\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.94\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.120\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.121\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.122\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.123\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.124\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.110\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.122\"},{\"kind\":\"fvar\",\"id\":\"_uniq.123\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.124\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.127\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.127\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.129\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.128\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.129\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.126\"},{\"kind\":\"fvar\",\"id\":\"_uniq.130\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.132\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.131\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.negate\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"},{\"kind\":\"fvar\",\"id\":\"_uniq.132\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.133\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.134\"},{\"kind\":\"fvar\",\"id\":\"_uniq.135\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},{\"kind\":\"fvar\",\"id\":\"_uniq.136\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.137\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.138\"}}}}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.140\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.139\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.149\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.57\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.149\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.150\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.151\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.66\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.150\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.151\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.152\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.153\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.154\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.140\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.152\"},{\"kind\":\"fvar\",\"id\":\"_uniq.153\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.154\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.157\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.158\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.hiddenBias\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.159\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.157\"},{\"kind\":\"fvar\",\"id\":\"_uniq.158\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.160\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.hiddenWeights\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.161\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.156\"},{\"kind\":\"fvar\",\"id\":\"_uniq.159\"},{\"kind\":\"fvar\",\"id\":\"_uniq.160\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.162\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.161\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.162\"}}}}}}}}},\"uses\":[\"Int\",\"List\",\"Mul\",\"Nat\",\"Neg\",\"OfNat\",\"PUnit\",\"Prod\",\"Sub\",\"instOfNat\",\"Int.instMul\",\"Int.instNegInt\",\"Int.instSub\",\"List.cons\",\"List.nil\",\"Prod.mk\",\"Unit.unit\",\"Models.Recognizer.hiddenBias\",\"Models.Recognizer.hiddenWeights\",\"Models.Recognizer.LexLeanCollections.listFold\",\"Models.Recognizer.LexLeanRuntime.Appendable\",\"Models.Recognizer.LexLeanRuntime.append\",\"Models.Recognizer.LexLeanRuntime.instAppendableList\",\"Models.Recognizer.LexLeanRuntime.multiply\",\"Models.Recognizer.LexLeanRuntime.negate\",\"Models.Recognizer.LexLeanRuntime.subtract\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.DigitNet.layer2\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Int\",\"List\",\"instDecidableEqBool\",\"instOfNat\",\"ite\",\"Bool.true\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\",\"Models.Recognizer.LexLeanCollections.instKeyInt\",\"Models.Recognizer.LexLeanCollections.lessThan\",\"Models.Recognizer.LexLeanCollections.listFold\",\"Models.Recognizer.LexLeanRuntime.append\",\"Models.Recognizer.LexLeanRuntime.instAppendableList\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.39\",\"parameters\":[{\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanCollections.instKeyInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.27\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanCollections.lessThan\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.38\",\"parameters\":[{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.37\"}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"discriminant\":\"_uniq.31\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.38\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.38\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]}}]}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.41\"}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Int\",\"List\",\"Nat\",\"OfNat\",\"instDecidableEqBool\",\"instOfNat\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"List.cons\",\"List.nil\",\"Models.Recognizer.LexLeanCollections.Key\",\"Models.Recognizer.LexLeanCollections.instKeyInt\",\"Models.Recognizer.LexLeanCollections.lessThan\",\"Models.Recognizer.LexLeanCollections.listFold\",\"Models.Recognizer.LexLeanRuntime.Appendable\",\"Models.Recognizer.LexLeanRuntime.append\",\"Models.Recognizer.LexLeanRuntime.instAppendableList\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.DigitNet.layer3\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Int\",\"List\",\"instDecidableEqBool\",\"instOfNat\",\"ite\",\"Bool.true\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\",\"Models.Recognizer.LexLeanCollections.instKeyInt\",\"Models.Recognizer.LexLeanCollections.lessThan\",\"Models.Recognizer.LexLeanCollections.listFold\",\"Models.Recognizer.LexLeanRuntime.append\",\"Models.Recognizer.LexLeanRuntime.instAppendableList\",\"Models.Recognizer.LexLeanRuntime.instQuotientInt\",\"Models.Recognizer.LexLeanRuntime.quotient\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.66\",\"parameters\":[{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.instQuotientInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.27\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.quotient\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.29\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanCollections.instKeyInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanCollections.lessThan\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.65\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"},{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.64\"}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"discriminant\":\"_uniq.42\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.43\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"127\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.53\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanCollections.lessThan\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"discriminant\":\"_uniq.56\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.57\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.65\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.58\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.65\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]}}]}}}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.65\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]}}]}}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.68\"}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Int\",\"List\",\"Nat\",\"OfNat\",\"instDecidableEqBool\",\"instOfNat\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"List.cons\",\"List.nil\",\"Models.Recognizer.LexLeanCollections.Key\",\"Models.Recognizer.LexLeanCollections.instKeyInt\",\"Models.Recognizer.LexLeanCollections.lessThan\",\"Models.Recognizer.LexLeanCollections.listFold\",\"Models.Recognizer.LexLeanRuntime.Appendable\",\"Models.Recognizer.LexLeanRuntime.Quotient\",\"Models.Recognizer.LexLeanRuntime.append\",\"Models.Recognizer.LexLeanRuntime.instAppendableList\",\"Models.Recognizer.LexLeanRuntime.instQuotientInt\",\"Models.Recognizer.LexLeanRuntime.quotient\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.DigitNet.layer4\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"List\",\"Prod\",\"Unit\",\"instOfNat\",\"Int.instMul\",\"Int.instNegInt\",\"Int.instSub\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Models.Recognizer.outputBias\",\"Models.Recognizer.outputWeights\",\"Models.Recognizer.LexLeanCollections.listFold\",\"Models.Recognizer.LexLeanRuntime.append\",\"Models.Recognizer.LexLeanRuntime.instAppendableList\",\"Models.Recognizer.LexLeanRuntime.multiply\",\"Models.Recognizer.LexLeanRuntime.negate\",\"Models.Recognizer.LexLeanRuntime.subtract\",\"Models.Recognizer.DigitNet.layer1.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.156\",\"parameters\":[{\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.65\",\"parameters\":[{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.139\",\"parameters\":[{\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.57\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instSub\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instNegInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.126\",\"parameters\":[{\"id\":\"_uniq.85\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.86\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.93\",\"parameters\":[{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.85\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.93\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.109\",\"parameters\":[{\"id\":\"_uniq.101\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.102\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.85\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instMul\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.multiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"},{\"kind\":\"fvar\",\"id\":\"_uniq.86\"},{\"kind\":\"fvar\",\"id\":\"_uniq.101\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.negate\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"},{\"kind\":\"fvar\",\"id\":\"_uniq.103\"},{\"kind\":\"fvar\",\"id\":\"_uniq.106\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.107\"},{\"kind\":\"fvar\",\"id\":\"_uniq.102\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.108\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.109\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.85\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.119\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.94\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.120\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.121\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.122\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.123\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.124\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.110\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.122\"},{\"kind\":\"fvar\",\"id\":\"_uniq.123\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.124\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.127\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.127\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.129\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.128\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.129\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.126\"},{\"kind\":\"fvar\",\"id\":\"_uniq.130\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.132\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.131\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.negate\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"},{\"kind\":\"fvar\",\"id\":\"_uniq.132\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.133\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.134\"},{\"kind\":\"fvar\",\"id\":\"_uniq.135\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},{\"kind\":\"fvar\",\"id\":\"_uniq.136\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.137\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.138\"}}}}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.140\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.139\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.149\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.57\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.149\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.150\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.151\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.66\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.150\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.151\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.152\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.153\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.154\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.140\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.152\"},{\"kind\":\"fvar\",\"id\":\"_uniq.153\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.154\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.157\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.158\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.outputBias\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.159\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.157\"},{\"kind\":\"fvar\",\"id\":\"_uniq.158\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.160\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.outputWeights\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.161\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.156\"},{\"kind\":\"fvar\",\"id\":\"_uniq.159\"},{\"kind\":\"fvar\",\"id\":\"_uniq.160\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.162\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.161\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.162\"}}}}}}}}},\"uses\":[\"Int\",\"List\",\"Mul\",\"Nat\",\"Neg\",\"OfNat\",\"PUnit\",\"Prod\",\"Sub\",\"instOfNat\",\"Int.instMul\",\"Int.instNegInt\",\"Int.instSub\",\"List.cons\",\"List.nil\",\"Prod.mk\",\"Unit.unit\",\"Models.Recognizer.outputBias\",\"Models.Recognizer.outputWeights\",\"Models.Recognizer.LexLeanCollections.listFold\",\"Models.Recognizer.LexLeanRuntime.Appendable\",\"Models.Recognizer.LexLeanRuntime.append\",\"Models.Recognizer.LexLeanRuntime.instAppendableList\",\"Models.Recognizer.LexLeanRuntime.multiply\",\"Models.Recognizer.LexLeanRuntime.negate\",\"Models.Recognizer.LexLeanRuntime.subtract\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.DigitNet.logits\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Glyphs.Glyph\",\"Models.Recognizer.DigitNet.encoded\",\"Models.Recognizer.DigitNet.layer1\",\"Models.Recognizer.DigitNet.layer2\",\"Models.Recognizer.DigitNet.layer3\",\"Models.Recognizer.DigitNet.layer4\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.DigitNet.encoded\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.DigitNet.layer1\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.DigitNet.layer2\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.DigitNet.layer3\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.DigitNet.layer4\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.11\"}}}}}}},\"uses\":[\"Int\",\"List\",\"Models.Glyphs.Glyph\",\"Models.Recognizer.DigitNet.encoded\",\"Models.Recognizer.DigitNet.layer1\",\"Models.Recognizer.DigitNet.layer2\",\"Models.Recognizer.DigitNet.layer3\",\"Models.Recognizer.DigitNet.layer4\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.DigitNet.match_1\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Recognizer.DigitNet.match_3\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Unit\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Recognizer.LexLeanCollections.Key\",\"kind\":\"inductive\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Models.Recognizer.LexLeanCollections.Key.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"Models.Recognizer.LexLeanCollections.instKeyInt\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"instOrdInt\",\"Ord.compare\",\"Models.Recognizer.LexLeanCollections.Key.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Ord\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instOrdInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Ord\",\"index\":0,\"value\":\"_uniq.1\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanCollections.Key.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.15\"}}}}},\"uses\":[\"Int\",\"Ord\",\"Ordering\",\"instOrdInt\",\"Models.Recognizer.LexLeanCollections.Key\",\"Models.Recognizer.LexLeanCollections.Key.mk\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.LexLeanCollections.lessThan\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Ordering\",\"Unit\",\"Bool.false\",\"Bool.true\",\"Models.Recognizer.LexLeanCollections.Key\",\"Models.Recognizer.LexLeanCollections.Key.compare\",\"Models.Recognizer.LexLeanCollections.lessThan.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}}}},\"parameters\":[{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"borrow\":false},{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},\"borrow\":false},{\"id\":\"_uniq.43\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.51\",\"parameters\":[{\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.51\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.58\",\"parameters\":[{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.58\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Models.Recognizer.LexLeanCollections.Key\",\"index\":0,\"value\":\"_uniq.41\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Ordering\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.66\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Ordering.lt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.52\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.68\"}}}},{\"kind\":\"default\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.73\",\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.59\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.72\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.73\",\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"any\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}}}]}}}}}}}},\"uses\":[\"Bool\",\"Ordering\",\"PUnit\",\"Bool.false\",\"Bool.true\",\"Ordering.lt\",\"Unit.unit\",\"Models.Recognizer.LexLeanCollections.Key\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.LexLeanCollections.listFold\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.foldl\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}}},\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}}},\"borrow\":false},{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"borrow\":false},{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"value\":{\"kind\":\"const\",\"name\":\"List.foldl\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.64\"}}},\"uses\":[\"List\",\"List.foldl\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.LexLeanRuntime.Appendable\",\"kind\":\"inductive\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Models.Recognizer.LexLeanRuntime.Appendable.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"Models.Recognizer.LexLeanRuntime.Quotient\",\"kind\":\"inductive\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Models.Recognizer.LexLeanRuntime.Quotient.mk\",\"parameters\":1,\"fields\":3,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}}}]}},{\"name\":\"Models.Recognizer.LexLeanRuntime.append\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Recognizer.LexLeanRuntime.Appendable\",\"Models.Recognizer.LexLeanRuntime.Appendable.append\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"borrow\":false},{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Models.Recognizer.LexLeanRuntime.Appendable\",\"index\":0,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.40\"}}}},\"uses\":[\"Models.Recognizer.LexLeanRuntime.Appendable\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.LexLeanRuntime.instAppendableList\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.append\",\"Models.Recognizer.LexLeanRuntime.Appendable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]}]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"List.appendTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.Appendable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}}},\"uses\":[\"List\",\"List.appendTR\",\"Models.Recognizer.LexLeanRuntime.Appendable\",\"Models.Recognizer.LexLeanRuntime.Appendable.mk\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.LexLeanRuntime.instQuotientInt\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"instBEqOfDecidableEq\",\"instOfNat\",\"BEq.beq\",\"Int.instDecidableEq\",\"Int.tdiv\",\"Int.tmod\",\"OfNat.ofNat\",\"Models.Recognizer.LexLeanRuntime.Quotient.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int.tdiv\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.3\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int.tmod\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.15\",\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int.instDecidableEq\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instBEqOfDecidableEq\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"BEq\",\"index\":0,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.12\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.10\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.14\"}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.Quotient.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.2\"},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.25\"}}}}}},\"uses\":[\"BEq\",\"Bool\",\"Decidable\",\"Int\",\"Nat\",\"OfNat\",\"instBEqOfDecidableEq\",\"instOfNat\",\"Int.instDecidableEq\",\"Int.tdiv\",\"Int.tmod\",\"Models.Recognizer.LexLeanRuntime.Quotient\",\"Models.Recognizer.LexLeanRuntime.Quotient.mk\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.LexLeanRuntime.multiply\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Mul\",\"instHMul\",\"HMul.hMul\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HMul\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instHMul\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HMul\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}}},\"uses\":[\"HMul\",\"Mul\",\"instHMul\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.LexLeanRuntime.negate\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Neg\",\"Neg.neg\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}}},\"parameters\":[{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"borrow\":false},{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.26\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.29\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.30\"}}}},\"uses\":[\"Neg\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.LexLeanRuntime.quotient\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Models.Recognizer.LexLeanRuntime.Quotient\",\"Models.Recognizer.LexLeanRuntime.Quotient.isZero\",\"Models.Recognizer.LexLeanRuntime.Quotient.quotient\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":3},\"codomain\":{\"kind\":\"bvar\",\"index\":4}}}}}},\"parameters\":[{\"id\":\"_uniq.39\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"borrow\":false},{\"id\":\"_uniq.41\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"borrow\":false},{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"borrow\":false},{\"id\":\"_uniq.43\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Models.Recognizer.LexLeanRuntime.Quotient\",\"index\":2,\"value\":\"_uniq.40\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.52\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"discriminant\":\"_uniq.55\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Models.Recognizer.LexLeanRuntime.Quotient\",\"index\":0,\"value\":\"_uniq.40\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.59\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.60\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}]}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Models.Recognizer.LexLeanRuntime.Quotient\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.LexLeanRuntime.subtract\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Sub\",\"instHSub\",\"HSub.hSub\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HSub\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instHSub\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HSub\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.41\"}}}}},\"uses\":[\"HSub\",\"Sub\",\"instHSub\"]},\"inductive\":null},{\"name\":\"Models.Session.LexLeanRuntime.subtract\",\"kind\":\"definition\",\"module\":\"Models.Session\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Sub\",\"instHSub\",\"HSub.hSub\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HSub\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instHSub\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HSub\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}}},\"uses\":[\"HSub\",\"Sub\",\"instHSub\"]},\"inductive\":null},{\"name\":\"Models.Session.SessionModel.initial\",\"kind\":\"definition\",\"module\":\"Models.Session\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Session.SessionStep.initial\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Session.SessionStep.initial\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.1\"}}},\"uses\":[\"Models.Session.Window\",\"Models.Session.SessionStep.initial\"]},\"inductive\":null},{\"name\":\"Models.Session.SessionStep.initial\",\"kind\":\"definition\",\"module\":\"Models.Session\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Models.Session.Window.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.1\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.3\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.2\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.4\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Session.Window.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.4\"}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"instOfNatNat\",\"Models.Session.Window\",\"Models.Session.Window.mk\"]},\"inductive\":null},{\"name\":\"Models.Session.Window.items\",\"kind\":\"definition\",\"module\":\"Models.Session\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Session.Window\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Session.Window.mk\",\"kind\":\"constructor\",\"module\":\"Models.Session\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Session.Window.used\",\"kind\":\"definition\",\"module\":\"Models.Session\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Session.Window\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.Level.casesOn\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Triage.Level\",\"Models.Triage.Level.emergency\",\"Models.Triage.Level.rec\",\"Models.Triage.Level.routine\",\"Models.Triage.Level.urgent\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.Level.emergency\",\"kind\":\"constructor\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.Level.rec\",\"kind\":\"recursor\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.Level.routine\",\"kind\":\"constructor\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.Level.urgent\",\"kind\":\"constructor\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.LexLeanCollections.Key\",\"kind\":\"inductive\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Models.Triage.LexLeanCollections.Key.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Triage.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"Models.Triage.LexLeanCollections.instKeyInt\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"instOrdInt\",\"Ord.compare\",\"Models.Triage.LexLeanCollections.Key.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Triage.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Ord\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instOrdInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Ord\",\"index\":0,\"value\":\"_uniq.1\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Triage.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.LexLeanCollections.Key.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.2\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}}}},\"uses\":[\"Int\",\"Ord\",\"Ordering\",\"instOrdInt\",\"Models.Triage.LexLeanCollections.Key\",\"Models.Triage.LexLeanCollections.Key.mk\"]},\"inductive\":null},{\"name\":\"Models.Triage.LexLeanCollections.lessThan\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Ordering\",\"Unit\",\"Bool.false\",\"Bool.true\",\"Models.Triage.LexLeanCollections.Key\",\"Models.Triage.LexLeanCollections.Key.compare\",\"Models.Triage.LexLeanCollections.lessThan.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Triage.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}}}},\"parameters\":[{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Triage.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"borrow\":false},{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},\"borrow\":false},{\"id\":\"_uniq.43\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.51\",\"parameters\":[{\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.51\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.58\",\"parameters\":[{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.58\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Models.Triage.LexLeanCollections.Key\",\"index\":0,\"value\":\"_uniq.41\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Ordering\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.66\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Ordering.lt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.52\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.68\"}}}},{\"kind\":\"default\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.73\",\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.59\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.72\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.73\",\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"any\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}}}]}}}}}}}},\"uses\":[\"Bool\",\"Ordering\",\"PUnit\",\"Bool.false\",\"Bool.true\",\"Ordering.lt\",\"Unit.unit\",\"Models.Triage.LexLeanCollections.Key\"]},\"inductive\":null},{\"name\":\"Models.Triage.LexLeanCollections.listFold\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.foldl\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}}},\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}}},\"borrow\":false},{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"borrow\":false},{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"value\":{\"kind\":\"const\",\"name\":\"List.foldl\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.64\"}}},\"uses\":[\"List\",\"List.foldl\"]},\"inductive\":null},{\"name\":\"Models.Triage.LexLeanRuntime.Appendable\",\"kind\":\"inductive\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Models.Triage.LexLeanRuntime.Appendable.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Triage.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"Models.Triage.LexLeanRuntime.append\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Triage.LexLeanRuntime.Appendable\",\"Models.Triage.LexLeanRuntime.Appendable.append\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Triage.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Triage.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"borrow\":false},{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Models.Triage.LexLeanRuntime.Appendable\",\"index\":0,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.40\"}}}},\"uses\":[\"Models.Triage.LexLeanRuntime.Appendable\"]},\"inductive\":null},{\"name\":\"Models.Triage.LexLeanRuntime.instAppendableList\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.append\",\"Models.Triage.LexLeanRuntime.Appendable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Triage.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]}]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"List.appendTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Triage.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.LexLeanRuntime.Appendable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}}},\"uses\":[\"List\",\"List.appendTR\",\"Models.Triage.LexLeanRuntime.Appendable\",\"Models.Triage.LexLeanRuntime.Appendable.mk\"]},\"inductive\":null},{\"name\":\"Models.Triage.LexLeanRuntime.multiply\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Mul\",\"instHMul\",\"HMul.hMul\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HMul\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instHMul\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HMul\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.41\"}}}}},\"uses\":[\"HMul\",\"Mul\",\"instHMul\"]},\"inductive\":null},{\"name\":\"Models.Triage.LexLeanRuntime.negate\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Neg\",\"Neg.neg\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}}},\"parameters\":[{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"borrow\":false},{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.26\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.29\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.30\"}}}},\"uses\":[\"Neg\"]},\"inductive\":null},{\"name\":\"Models.Triage.LexLeanRuntime.subtract\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Sub\",\"instHSub\",\"HSub.hSub\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HSub\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instHSub\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HSub\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.41\"}}}}},\"uses\":[\"HSub\",\"Sub\",\"instHSub\"]},\"inductive\":null},{\"name\":\"Models.Triage.Presentation.casesOn\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Triage.Presentation\",\"Models.Triage.Presentation.p0\",\"Models.Triage.Presentation.p1\",\"Models.Triage.Presentation.p2\",\"Models.Triage.Presentation.p3\",\"Models.Triage.Presentation.p4\",\"Models.Triage.Presentation.p5\",\"Models.Triage.Presentation.p6\",\"Models.Triage.Presentation.p7\",\"Models.Triage.Presentation.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.Presentation.p0\",\"kind\":\"constructor\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.Presentation.p1\",\"kind\":\"constructor\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.Presentation.p2\",\"kind\":\"constructor\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.Presentation.p3\",\"kind\":\"constructor\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.Presentation.p4\",\"kind\":\"constructor\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.Presentation.p5\",\"kind\":\"constructor\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.Presentation.p6\",\"kind\":\"constructor\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.Presentation.p7\",\"kind\":\"constructor\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.Presentation.rec\",\"kind\":\"recursor\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.TriageScore.features\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Triage.Presentation\",\"Models.Triage.features\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.features\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Int\",\"List\",\"Models.Triage.Presentation\",\"Models.Triage.features\"]},\"inductive\":null},{\"name\":\"Models.Triage.TriageScore.match_1\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Option\",\"Prod\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Models.Triage.Level\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.TriageScore.match_3\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Unit\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Unit.unit\",\"Models.Triage.Level\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.TriageScore.scores\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"List\",\"Prod\",\"Unit\",\"instOfNat\",\"Int.instMul\",\"Int.instNegInt\",\"Int.instSub\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Models.Triage.Presentation\",\"Models.Triage.triageBias\",\"Models.Triage.triageWeights\",\"Models.Triage.LexLeanCollections.listFold\",\"Models.Triage.LexLeanRuntime.append\",\"Models.Triage.LexLeanRuntime.instAppendableList\",\"Models.Triage.LexLeanRuntime.multiply\",\"Models.Triage.LexLeanRuntime.negate\",\"Models.Triage.LexLeanRuntime.subtract\",\"Models.Triage.TriageScore.features\",\"Models.Triage.TriageScore.scores.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.TriageScore.features\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.55\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.162\",\"parameters\":[{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.71\",\"parameters\":[{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.63\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.71\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.145\",\"parameters\":[{\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.80\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Models.Triage.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.63\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instSub\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instNegInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.132\",\"parameters\":[{\"id\":\"_uniq.91\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.99\",\"parameters\":[{\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.91\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.99\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.115\",\"parameters\":[{\"id\":\"_uniq.107\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.108\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.91\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instMul\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.111\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.LexLeanRuntime.multiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.110\"},{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},{\"kind\":\"fvar\",\"id\":\"_uniq.107\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.LexLeanRuntime.negate\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.84\"},{\"kind\":\"fvar\",\"id\":\"_uniq.111\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.83\"},{\"kind\":\"fvar\",\"id\":\"_uniq.109\"},{\"kind\":\"fvar\",\"id\":\"_uniq.112\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.113\"},{\"kind\":\"fvar\",\"id\":\"_uniq.108\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.114\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.115\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.91\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.125\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.127\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.100\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.126\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.127\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.128\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.129\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.116\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.128\"},{\"kind\":\"fvar\",\"id\":\"_uniq.129\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.130\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.133\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.134\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.135\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.132\"},{\"kind\":\"fvar\",\"id\":\"_uniq.136\"},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.137\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.139\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.LexLeanRuntime.negate\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.84\"},{\"kind\":\"fvar\",\"id\":\"_uniq.138\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.140\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.83\"},{\"kind\":\"fvar\",\"id\":\"_uniq.79\"},{\"kind\":\"fvar\",\"id\":\"_uniq.139\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.141\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.140\"},{\"kind\":\"fvar\",\"id\":\"_uniq.141\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.143\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"},{\"kind\":\"fvar\",\"id\":\"_uniq.82\"},{\"kind\":\"fvar\",\"id\":\"_uniq.142\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.144\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.143\"},{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.144\"}}}}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.146\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.145\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.155\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.63\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.155\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.156\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.157\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.72\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.156\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.157\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.158\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.159\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.160\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.146\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.158\"},{\"kind\":\"fvar\",\"id\":\"_uniq.159\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.160\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.163\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.164\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.triageBias\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.165\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.163\"},{\"kind\":\"fvar\",\"id\":\"_uniq.164\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.166\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.triageWeights\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.167\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.162\"},{\"kind\":\"fvar\",\"id\":\"_uniq.165\"},{\"kind\":\"fvar\",\"id\":\"_uniq.166\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.168\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.167\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.168\"}}}}}}}}}}},\"uses\":[\"Int\",\"List\",\"Mul\",\"Nat\",\"Neg\",\"OfNat\",\"PUnit\",\"Prod\",\"Sub\",\"instOfNat\",\"Int.instMul\",\"Int.instNegInt\",\"Int.instSub\",\"List.cons\",\"List.nil\",\"Prod.mk\",\"Unit.unit\",\"Models.Triage.Presentation\",\"Models.Triage.triageBias\",\"Models.Triage.triageWeights\",\"Models.Triage.LexLeanCollections.listFold\",\"Models.Triage.LexLeanRuntime.Appendable\",\"Models.Triage.LexLeanRuntime.append\",\"Models.Triage.LexLeanRuntime.instAppendableList\",\"Models.Triage.LexLeanRuntime.multiply\",\"Models.Triage.LexLeanRuntime.negate\",\"Models.Triage.LexLeanRuntime.subtract\",\"Models.Triage.TriageScore.features\"]},\"inductive\":null},{\"name\":\"Models.Triage.features.match_1\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Unit\",\"Unit.unit\",\"Models.Triage.Presentation\",\"Models.Triage.Presentation.casesOn\",\"Models.Triage.Presentation.p0\",\"Models.Triage.Presentation.p1\",\"Models.Triage.Presentation.p2\",\"Models.Triage.Presentation.p3\",\"Models.Triage.Presentation.p4\",\"Models.Triage.Presentation.p5\",\"Models.Triage.Presentation.p6\",\"Models.Triage.Presentation.p7\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.isEmergency.match_1\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Unit\",\"Unit.unit\",\"Models.Triage.Level\",\"Models.Triage.Level.casesOn\",\"Models.Triage.Level.emergency\",\"Models.Triage.Level.routine\",\"Models.Triage.Level.urgent\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Pipeline.LexLeanRuntime.Appendable.append\",\"kind\":\"definition\",\"module\":\"Models.Pipeline\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Pipeline.LexLeanRuntime.Appendable\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Pipeline.LexLeanRuntime.Appendable.mk\",\"kind\":\"constructor\",\"module\":\"Models.Pipeline\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Pipeline.LexLeanRuntime.Lengthable.length\",\"kind\":\"definition\",\"module\":\"Models.Pipeline\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Pipeline.LexLeanRuntime.Lengthable\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Pipeline.LexLeanRuntime.Lengthable.mk\",\"kind\":\"constructor\",\"module\":\"Models.Pipeline\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Recognizer.DigitNet.layer1.match_1\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"List\",\"Unit\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Recognizer.LexLeanCollections.Key.compare\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Recognizer.LexLeanCollections.Key\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Recognizer.LexLeanCollections.Key.mk\",\"kind\":\"constructor\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Recognizer.LexLeanCollections.lessThan._sparseCasesOn_1\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Nat\",\"Ordering\",\"instOfNatNat\",\"Bool.false\",\"Eq.refl\",\"Nat.hasNotBit\",\"Nat.land\",\"Nat.ne_of_beq_eq_false\",\"Nat.shiftRight\",\"OfNat.ofNat\",\"Ordering.ctorIdx\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"Ordering.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Recognizer.LexLeanCollections.lessThan.match_1\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Ordering\",\"Unit\",\"Nat.hasNotBit\",\"Ordering.ctorIdx\",\"Ordering.lt\",\"Unit.unit\",\"Models.Recognizer.LexLeanCollections.lessThan._sparseCasesOn_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Recognizer.LexLeanRuntime.Appendable.append\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Recognizer.LexLeanRuntime.Appendable\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Recognizer.LexLeanRuntime.Appendable.mk\",\"kind\":\"constructor\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Recognizer.LexLeanRuntime.Quotient.isZero\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Recognizer.LexLeanRuntime.Quotient\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Recognizer.LexLeanRuntime.Quotient.mk\",\"kind\":\"constructor\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Recognizer.LexLeanRuntime.Quotient.quotient\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Recognizer.LexLeanRuntime.Quotient\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.LexLeanCollections.Key.compare\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Triage.LexLeanCollections.Key\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.LexLeanCollections.Key.mk\",\"kind\":\"constructor\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.LexLeanCollections.lessThan._sparseCasesOn_1\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Nat\",\"Ordering\",\"instOfNatNat\",\"Bool.false\",\"Eq.refl\",\"Nat.hasNotBit\",\"Nat.land\",\"Nat.ne_of_beq_eq_false\",\"Nat.shiftRight\",\"OfNat.ofNat\",\"Ordering.ctorIdx\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"Ordering.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.LexLeanCollections.lessThan.match_1\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Ordering\",\"Unit\",\"Nat.hasNotBit\",\"Ordering.ctorIdx\",\"Ordering.lt\",\"Unit.unit\",\"Models.Triage.LexLeanCollections.lessThan._sparseCasesOn_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.LexLeanRuntime.Appendable.append\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Triage.LexLeanRuntime.Appendable\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.LexLeanRuntime.Appendable.mk\",\"kind\":\"constructor\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.TriageScore.scores.match_1\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"List\",\"Unit\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null}],\"externals\":[{\"name\":\"Add\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"BEq\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Bool\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Decidable\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Except\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"HAdd\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"HMul\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"HSub\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Int\",\"kind\":\"inductive\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"List\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Mul\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Nat\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Neg\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"OfNat\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Option\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Ord\",\"kind\":\"inductive\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Ordering\",\"kind\":\"inductive\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"PUnit\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Prod\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Sub\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"instAddNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instBEqOfDecidableEq\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instDecidableEqBool\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instHAdd\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instHMul\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instHSub\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instOfNat\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instOfNatNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instOrdInt\",\"kind\":\"definition\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instSubNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Bool.false\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Bool\"},{\"name\":\"Bool.true\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Bool\"},{\"name\":\"Decidable.isFalse\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Decidable\"},{\"name\":\"Decidable.isTrue\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Decidable\"},{\"name\":\"Except.error\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Except\"},{\"name\":\"Except.ok\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Except\"},{\"name\":\"Int.instDecidableEq\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int.instMul\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int.instNegInt\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int.instSub\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int.tdiv\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.DivMod.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int.tmod\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.DivMod.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.appendTR\",\"kind\":\"definition\",\"module\":\"Init.Data.List.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.cons\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"List\"},{\"name\":\"List.foldl\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.lengthTR\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.nil\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"List\"},{\"name\":\"Nat.beq\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Nat.ble\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Nat.blt\",\"kind\":\"definition\",\"module\":\"Init.Data.Nat.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Option.none\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Option\"},{\"name\":\"Option.some\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Option\"},{\"name\":\"Ordering.lt\",\"kind\":\"constructor\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Ordering\"},{\"name\":\"Prod.mk\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Prod\"},{\"name\":\"Unit.unit\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true}]}\n","stdout_sha256":"2f9a39faabd669c20622f71b91dc75bfd84547737e576aba2fb98f4d27168d60","tool":"lean"} +{"argv":["env","lean","$STAGING/extract/LexLeanExtract.X0f600e9a78a6f4d72a3e289fa7bc71d4.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanExtract.X0f600e9a78a6f4d72a3e289fa7bc71d4","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"{\"spec\":\"lexlean/lcnf-extraction/2\",\"lean\":{\"version\":\"4.32.1\",\"githash\":\"f054605aea4b840552cca2e725580bffd1e1b704\"},\"roots\":[\"Models.Main.classify\",\"Models.Main.classifyChecked\",\"Models.Main.respond\",\"Models.Main.admitCosts\",\"Models.Main.step\",\"Models.Main.ledgerPost\",\"Models.Main.ledgerFull\",\"Models.Main.guessChecked\",\"Models.Main.flowStep\"],\"constants\":[{\"name\":\"LexLeanCollections.Key\",\"kind\":\"inductive\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"LexLeanCollections.Key.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"LexLeanCollections.instKeyInt\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"instOrdInt\",\"Ord.compare\",\"LexLeanCollections.Key.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Ord\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instOrdInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Ord\",\"index\":0,\"value\":\"_uniq.1\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.15\"}}}}},\"uses\":[\"Int\",\"Ord\",\"Ordering\",\"instOrdInt\",\"LexLeanCollections.Key\",\"LexLeanCollections.Key.mk\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.lessThan\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Ordering\",\"Unit\",\"Bool.false\",\"Bool.true\",\"LexLeanCollections.Key\",\"LexLeanCollections.Key.compare\",\"LexLeanCollections.lessThan.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}}}},\"parameters\":[{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"borrow\":false},{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},\"borrow\":false},{\"id\":\"_uniq.43\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.51\",\"parameters\":[{\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.51\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.58\",\"parameters\":[{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.58\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanCollections.Key\",\"index\":0,\"value\":\"_uniq.41\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Ordering\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.66\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Ordering.lt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.52\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.68\"}}}},{\"kind\":\"default\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.73\",\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.59\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.72\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.73\",\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"any\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}}}]}}}}}}}},\"uses\":[\"Bool\",\"Ordering\",\"PUnit\",\"Bool.false\",\"Bool.true\",\"LexLeanCollections.Key\",\"Ordering.lt\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.listFold\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.foldl\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}}},\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}}},\"borrow\":false},{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"borrow\":false},{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"value\":{\"kind\":\"const\",\"name\":\"List.foldl\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.64\"}}},\"uses\":[\"List\",\"List.foldl\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.Appendable\",\"kind\":\"inductive\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"LexLeanRuntime.Appendable.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"LexLeanRuntime.Lengthable\",\"kind\":\"inductive\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"LexLeanRuntime.Lengthable.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"LexLeanRuntime.Quotient\",\"kind\":\"inductive\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"LexLeanRuntime.Quotient.mk\",\"parameters\":1,\"fields\":3,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}}}]}},{\"name\":\"LexLeanRuntime.append\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Appendable\",\"LexLeanRuntime.Appendable.append\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"borrow\":false},{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Appendable\",\"index\":0,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.40\"}}}},\"uses\":[\"LexLeanRuntime.Appendable\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.instAppendableList\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.append\",\"LexLeanRuntime.Appendable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]}]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"List.appendTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}}},\"uses\":[\"List\",\"LexLeanRuntime.Appendable\",\"List.appendTR\",\"LexLeanRuntime.Appendable.mk\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.instLengthableList\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.length\",\"LexLeanRuntime.Lengthable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]}]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"List.lengthTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.10\"}}}},\"uses\":[\"List\",\"Nat\",\"LexLeanRuntime.Lengthable\",\"List.lengthTR\",\"LexLeanRuntime.Lengthable.mk\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.instQuotientInt\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"instBEqOfDecidableEq\",\"instOfNat\",\"BEq.beq\",\"Int.instDecidableEq\",\"Int.tdiv\",\"Int.tmod\",\"OfNat.ofNat\",\"LexLeanRuntime.Quotient.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int.tdiv\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.3\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int.tmod\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.15\",\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int.instDecidableEq\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instBEqOfDecidableEq\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"BEq\",\"index\":0,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.12\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.10\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.14\"}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Quotient.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.2\"},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.25\"}}}}}},\"uses\":[\"BEq\",\"Bool\",\"Decidable\",\"Int\",\"Nat\",\"OfNat\",\"instBEqOfDecidableEq\",\"instOfNat\",\"Int.instDecidableEq\",\"Int.tdiv\",\"Int.tmod\",\"LexLeanRuntime.Quotient\",\"LexLeanRuntime.Quotient.mk\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.length\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Lengthable\",\"LexLeanRuntime.Lengthable.length\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}},\"parameters\":[{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Lengthable\",\"index\":0,\"value\":\"_uniq.16\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.18\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.19\"}}}},\"uses\":[\"Nat\",\"LexLeanRuntime.Lengthable\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.multiply\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Mul\",\"instHMul\",\"HMul.hMul\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HMul\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instHMul\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HMul\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}}},\"uses\":[\"HMul\",\"Mul\",\"instHMul\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.negate\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Neg\",\"Neg.neg\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}}},\"parameters\":[{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"borrow\":false},{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.26\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.35\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.36\"}}}},\"uses\":[\"Neg\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.quotient\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"LexLeanRuntime.Quotient\",\"LexLeanRuntime.Quotient.isZero\",\"LexLeanRuntime.Quotient.quotient\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":3},\"codomain\":{\"kind\":\"bvar\",\"index\":4}}}}}},\"parameters\":[{\"id\":\"_uniq.39\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"borrow\":false},{\"id\":\"_uniq.41\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"borrow\":false},{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"borrow\":false},{\"id\":\"_uniq.43\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Quotient\",\"index\":2,\"value\":\"_uniq.40\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.52\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"discriminant\":\"_uniq.55\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Quotient\",\"index\":0,\"value\":\"_uniq.40\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.59\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.60\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}]}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"LexLeanRuntime.Quotient\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.subtract\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Sub\",\"instHSub\",\"HSub.hSub\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HSub\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instHSub\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HSub\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}}},\"uses\":[\"HSub\",\"Sub\",\"instHSub\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.Key.compare\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanCollections.Key\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.Key.mk\",\"kind\":\"constructor\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.lessThan._sparseCasesOn_1\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Nat\",\"Ordering\",\"instOfNatNat\",\"Bool.false\",\"Eq.refl\",\"Nat.hasNotBit\",\"Nat.land\",\"Nat.ne_of_beq_eq_false\",\"Nat.shiftRight\",\"OfNat.ofNat\",\"Ordering.ctorIdx\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"Ordering.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.lessThan.match_1\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Ordering\",\"Unit\",\"Nat.hasNotBit\",\"Ordering.ctorIdx\",\"Ordering.lt\",\"Unit.unit\",\"LexLeanCollections.lessThan._sparseCasesOn_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Appendable.append\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Appendable\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Appendable.mk\",\"kind\":\"constructor\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Lengthable.length\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Lengthable\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Lengthable.mk\",\"kind\":\"constructor\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Quotient.isZero\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Quotient\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Quotient.mk\",\"kind\":\"constructor\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Quotient.quotient\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Quotient\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Flows.ClampGuess\",\"kind\":\"definition\",\"module\":\"Models.Flows\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Models.Ledger.ClampModel\",\"Models.Ledger.GuessModel\",\"Models.Ledger.belowCheck\",\"Models.Ledger.withinCheck\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.ClampModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.32\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.33\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.34\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.33\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.36\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.withinCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.46\"},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.48\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.49\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.53\"}}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.GuessModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.belowCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.67\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.68\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"},{\"kind\":\"fvar\",\"id\":\"_uniq.69\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.72\"}}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.73\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.75\"}}}}]}}}}}}]}}}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Models.Ledger.ClampModel\",\"Models.Ledger.GuessModel\",\"Models.Ledger.belowCheck\",\"Models.Ledger.withinCheck\"]},\"inductive\":null},{\"name\":\"Models.Flows.FlowModel\",\"kind\":\"definition\",\"module\":\"Models.Flows\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Models.Flows.ClampGuess\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Flows.ClampGuess\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"Models.Flows.ClampGuess\"]},\"inductive\":null},{\"name\":\"Models.Glyphs.Glyph\",\"kind\":\"inductive\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Models.Glyphs.Glyph.g0\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]}},{\"name\":\"Models.Glyphs.Glyph.g1\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]}},{\"name\":\"Models.Glyphs.Glyph.g2\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]}},{\"name\":\"Models.Glyphs.Glyph.g3\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]}},{\"name\":\"Models.Glyphs.Glyph.g4\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]}},{\"name\":\"Models.Glyphs.Glyph.g5\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]}},{\"name\":\"Models.Glyphs.Glyph.g6\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]}},{\"name\":\"Models.Glyphs.Glyph.g7\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]}},{\"name\":\"Models.Glyphs.Glyph.g8\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]}},{\"name\":\"Models.Glyphs.Glyph.g9\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]}}]}},{\"name\":\"Models.Glyphs.digitOf\",\"kind\":\"definition\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Unit\",\"instOfNatNat\",\"OfNat.ofNat\",\"Models.Glyphs.Glyph\",\"Models.Glyphs.encode.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.88\",\"parameters\":[{\"id\":\"_uniq.84\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.85\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.85\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.86\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.87\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.88\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.95\",\"parameters\":[{\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.94\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.96\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.95\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.102\",\"parameters\":[{\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.99\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.100\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.101\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.102\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.109\",\"parameters\":[{\"id\":\"_uniq.105\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.106\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.107\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.108\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.109\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.116\",\"parameters\":[{\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.113\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.114\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.115\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.116\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.123\",\"parameters\":[{\"id\":\"_uniq.119\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"5\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.120\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.121\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.122\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.124\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.123\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.130\",\"parameters\":[{\"id\":\"_uniq.126\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.127\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"6\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.127\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.129\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.128\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.129\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.130\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.137\",\"parameters\":[{\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"7\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.134\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.135\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.136\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.137\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.144\",\"parameters\":[{\"id\":\"_uniq.140\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.141\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"8\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.141\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.143\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.142\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.143\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.144\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.151\",\"parameters\":[{\"id\":\"_uniq.147\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.148\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.149\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.148\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.150\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.149\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.150\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.152\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.151\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Models.Glyphs.Glyph\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.70\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g0\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.165\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.166\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.89\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.165\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.166\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g1\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.167\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.168\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.96\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.167\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.168\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g2\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.169\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.170\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.103\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.169\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.170\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g3\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.171\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.172\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.110\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.171\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.172\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g4\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.173\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.174\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.117\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.173\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.174\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g5\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.175\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.176\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.175\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.176\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g6\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.177\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.178\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.131\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.177\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.178\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g7\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.179\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.180\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.138\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.179\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.180\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g8\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.181\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.182\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.145\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.181\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.182\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g9\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.183\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.184\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.152\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.183\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.184\"}}}}]}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"PUnit\",\"instOfNatNat\",\"Unit.unit\",\"Models.Glyphs.Glyph\",\"Models.Glyphs.Glyph.g0\",\"Models.Glyphs.Glyph.g1\",\"Models.Glyphs.Glyph.g2\",\"Models.Glyphs.Glyph.g3\",\"Models.Glyphs.Glyph.g4\",\"Models.Glyphs.Glyph.g5\",\"Models.Glyphs.Glyph.g6\",\"Models.Glyphs.Glyph.g7\",\"Models.Glyphs.Glyph.g8\",\"Models.Glyphs.Glyph.g9\"]},\"inductive\":null},{\"name\":\"Models.Glyphs.encode\",\"kind\":\"definition\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"List\",\"Unit\",\"instOfNat\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\",\"Models.Glyphs.Glyph\",\"Models.Glyphs.encode.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.99\",\"parameters\":[{\"id\":\"_uniq.84\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.85\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.85\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.86\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.88\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.89\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.90\"},{\"kind\":\"fvar\",\"id\":\"_uniq.91\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.93\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.94\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.96\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.95\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.96\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.98\"}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.99\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.117\",\"parameters\":[{\"id\":\"_uniq.102\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.104\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.106\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.107\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"},{\"kind\":\"fvar\",\"id\":\"_uniq.109\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.111\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"},{\"kind\":\"fvar\",\"id\":\"_uniq.110\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"},{\"kind\":\"fvar\",\"id\":\"_uniq.111\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"},{\"kind\":\"fvar\",\"id\":\"_uniq.112\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.108\"},{\"kind\":\"fvar\",\"id\":\"_uniq.113\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.108\"},{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"},{\"kind\":\"fvar\",\"id\":\"_uniq.115\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.116\"}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.118\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.117\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.135\",\"parameters\":[{\"id\":\"_uniq.120\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.121\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.122\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.124\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.124\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.125\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.127\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.123\"},{\"kind\":\"fvar\",\"id\":\"_uniq.127\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.129\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.126\"},{\"kind\":\"fvar\",\"id\":\"_uniq.128\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.123\"},{\"kind\":\"fvar\",\"id\":\"_uniq.129\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.123\"},{\"kind\":\"fvar\",\"id\":\"_uniq.130\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.132\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.126\"},{\"kind\":\"fvar\",\"id\":\"_uniq.131\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.123\"},{\"kind\":\"fvar\",\"id\":\"_uniq.132\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.123\"},{\"kind\":\"fvar\",\"id\":\"_uniq.133\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.134\"}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.135\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.153\",\"parameters\":[{\"id\":\"_uniq.138\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.139\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.140\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.139\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.141\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.140\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.143\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.142\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.144\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.143\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.146\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.141\"},{\"kind\":\"fvar\",\"id\":\"_uniq.145\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.147\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.144\"},{\"kind\":\"fvar\",\"id\":\"_uniq.146\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.148\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.144\"},{\"kind\":\"fvar\",\"id\":\"_uniq.147\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.149\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.141\"},{\"kind\":\"fvar\",\"id\":\"_uniq.148\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.150\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.141\"},{\"kind\":\"fvar\",\"id\":\"_uniq.149\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.151\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.141\"},{\"kind\":\"fvar\",\"id\":\"_uniq.150\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.152\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.141\"},{\"kind\":\"fvar\",\"id\":\"_uniq.151\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.152\"}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.154\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.153\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.171\",\"parameters\":[{\"id\":\"_uniq.156\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.157\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.158\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.157\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.159\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.158\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.160\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.161\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.160\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.162\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.161\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.163\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.164\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.162\"},{\"kind\":\"fvar\",\"id\":\"_uniq.163\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.165\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.162\"},{\"kind\":\"fvar\",\"id\":\"_uniq.164\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.166\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.159\"},{\"kind\":\"fvar\",\"id\":\"_uniq.165\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.167\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.159\"},{\"kind\":\"fvar\",\"id\":\"_uniq.166\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.168\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.162\"},{\"kind\":\"fvar\",\"id\":\"_uniq.167\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.169\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.162\"},{\"kind\":\"fvar\",\"id\":\"_uniq.168\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.170\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.159\"},{\"kind\":\"fvar\",\"id\":\"_uniq.169\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.170\"}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.172\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.171\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.189\",\"parameters\":[{\"id\":\"_uniq.174\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.175\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.176\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.175\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.177\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.176\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.178\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.179\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.178\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.180\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.179\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.181\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.182\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.177\"},{\"kind\":\"fvar\",\"id\":\"_uniq.181\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.183\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.177\"},{\"kind\":\"fvar\",\"id\":\"_uniq.182\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.184\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.180\"},{\"kind\":\"fvar\",\"id\":\"_uniq.183\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.185\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.177\"},{\"kind\":\"fvar\",\"id\":\"_uniq.184\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.186\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.177\"},{\"kind\":\"fvar\",\"id\":\"_uniq.185\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.187\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.180\"},{\"kind\":\"fvar\",\"id\":\"_uniq.186\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.188\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.177\"},{\"kind\":\"fvar\",\"id\":\"_uniq.187\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.188\"}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.190\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.189\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.207\",\"parameters\":[{\"id\":\"_uniq.192\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.193\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.194\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.193\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.195\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.194\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.196\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.197\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.196\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.198\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.197\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.199\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.200\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.195\"},{\"kind\":\"fvar\",\"id\":\"_uniq.199\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.201\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.195\"},{\"kind\":\"fvar\",\"id\":\"_uniq.200\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.202\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.195\"},{\"kind\":\"fvar\",\"id\":\"_uniq.201\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.203\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.195\"},{\"kind\":\"fvar\",\"id\":\"_uniq.202\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.204\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.195\"},{\"kind\":\"fvar\",\"id\":\"_uniq.203\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.205\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.198\"},{\"kind\":\"fvar\",\"id\":\"_uniq.204\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.206\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.195\"},{\"kind\":\"fvar\",\"id\":\"_uniq.205\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.206\"}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.208\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.207\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.225\",\"parameters\":[{\"id\":\"_uniq.210\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.211\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.212\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.211\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.213\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.212\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.214\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.215\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.214\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.216\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.215\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.217\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.218\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.216\"},{\"kind\":\"fvar\",\"id\":\"_uniq.217\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.219\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.216\"},{\"kind\":\"fvar\",\"id\":\"_uniq.218\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.220\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.216\"},{\"kind\":\"fvar\",\"id\":\"_uniq.219\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.221\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.216\"},{\"kind\":\"fvar\",\"id\":\"_uniq.220\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.222\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.213\"},{\"kind\":\"fvar\",\"id\":\"_uniq.221\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.223\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.213\"},{\"kind\":\"fvar\",\"id\":\"_uniq.222\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.224\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.213\"},{\"kind\":\"fvar\",\"id\":\"_uniq.223\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.224\"}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.226\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.225\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.240\",\"parameters\":[{\"id\":\"_uniq.228\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.229\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.230\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.229\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.231\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.230\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.232\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.233\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.231\"},{\"kind\":\"fvar\",\"id\":\"_uniq.232\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.234\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.231\"},{\"kind\":\"fvar\",\"id\":\"_uniq.233\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.235\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.231\"},{\"kind\":\"fvar\",\"id\":\"_uniq.234\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.236\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.231\"},{\"kind\":\"fvar\",\"id\":\"_uniq.235\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.237\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.231\"},{\"kind\":\"fvar\",\"id\":\"_uniq.236\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.238\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.231\"},{\"kind\":\"fvar\",\"id\":\"_uniq.237\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.239\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.231\"},{\"kind\":\"fvar\",\"id\":\"_uniq.238\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.239\"}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.241\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.240\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.258\",\"parameters\":[{\"id\":\"_uniq.243\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.244\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.245\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.244\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.246\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.245\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.247\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.248\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.247\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.249\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.248\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.250\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.251\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.246\"},{\"kind\":\"fvar\",\"id\":\"_uniq.250\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.252\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.246\"},{\"kind\":\"fvar\",\"id\":\"_uniq.251\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.253\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.249\"},{\"kind\":\"fvar\",\"id\":\"_uniq.252\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.254\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.246\"},{\"kind\":\"fvar\",\"id\":\"_uniq.253\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.255\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.246\"},{\"kind\":\"fvar\",\"id\":\"_uniq.254\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.256\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.246\"},{\"kind\":\"fvar\",\"id\":\"_uniq.255\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.257\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.246\"},{\"kind\":\"fvar\",\"id\":\"_uniq.256\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.257\"}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.259\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.258\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Models.Glyphs.Glyph\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"discriminant\":\"_uniq.70\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g0\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.272\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.273\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.100\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.272\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.273\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g1\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.274\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.275\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.118\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.274\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.275\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g2\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.276\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.277\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.136\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.276\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.277\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g3\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.278\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.279\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.154\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.278\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.279\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g4\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.280\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.281\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.172\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.280\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.281\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g5\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.282\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.283\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.190\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.282\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.283\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g6\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.284\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.285\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.208\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.284\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.285\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g7\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.286\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.287\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.226\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.286\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.287\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g8\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.288\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.289\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.241\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.288\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.289\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Glyphs.Glyph.g9\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.290\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.291\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.259\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.290\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.291\"}}}}]}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Int\",\"List\",\"Nat\",\"OfNat\",\"PUnit\",\"instOfNat\",\"List.cons\",\"List.nil\",\"Unit.unit\",\"Models.Glyphs.Glyph\",\"Models.Glyphs.Glyph.g0\",\"Models.Glyphs.Glyph.g1\",\"Models.Glyphs.Glyph.g2\",\"Models.Glyphs.Glyph.g3\",\"Models.Glyphs.Glyph.g4\",\"Models.Glyphs.Glyph.g5\",\"Models.Glyphs.Glyph.g6\",\"Models.Glyphs.Glyph.g7\",\"Models.Glyphs.Glyph.g8\",\"Models.Glyphs.Glyph.g9\"]},\"inductive\":null},{\"name\":\"Models.Ledger.Clamp\",\"kind\":\"definition\",\"module\":\"Models.Ledger\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"instSubNat\",\"HAdd.hAdd\",\"LexLeanRuntime.subtract\",\"OfNat.ofNat\",\"Prod.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.18\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.19\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.20\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"100\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.28\"}}}}}}}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Nat\",\"OfNat\",\"Prod\",\"Sub\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"instSubNat\",\"LexLeanRuntime.subtract\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Models.Ledger.ClampModel\",\"kind\":\"definition\",\"module\":\"Models.Ledger\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Models.Ledger.Clamp\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.Clamp\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}},\"uses\":[\"Nat\",\"Prod\",\"Models.Ledger.Clamp\"]},\"inductive\":null},{\"name\":\"Models.Ledger.Guess\",\"kind\":\"definition\",\"module\":\"Models.Ledger\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"instSubNat\",\"LexLeanRuntime.subtract\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.11\"}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"Sub\",\"instOfNatNat\",\"instSubNat\",\"LexLeanRuntime.subtract\"]},\"inductive\":null},{\"name\":\"Models.Ledger.GuessModel\",\"kind\":\"definition\",\"module\":\"Models.Ledger\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Models.Ledger.Guess\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.Guess\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Nat\",\"Models.Ledger.Guess\"]},\"inductive\":null},{\"name\":\"Models.Ledger.Spill\",\"kind\":\"definition\",\"module\":\"Models.Ledger\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instAddNat\",\"instHAdd\",\"HAdd.hAdd\",\"Prod.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.15\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Nat\",\"Prod\",\"instAddNat\",\"instHAdd\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Models.Ledger.SpillModel\",\"kind\":\"definition\",\"module\":\"Models.Ledger\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Models.Ledger.Spill\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.Spill\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}},\"uses\":[\"Nat\",\"Prod\",\"Models.Ledger.Spill\"]},\"inductive\":null},{\"name\":\"Models.Ledger.SpillRawModel\",\"kind\":\"definition\",\"module\":\"Models.Ledger\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Models.Ledger.Spill\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.Spill\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}},\"uses\":[\"Nat\",\"Prod\",\"Models.Ledger.Spill\"]},\"inductive\":null},{\"name\":\"Models.Ledger.belowCheck\",\"kind\":\"definition\",\"module\":\"Models.Ledger\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Nat.ble\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}},\"uses\":[\"Bool\",\"Nat\",\"Nat.ble\"]},\"inductive\":null},{\"name\":\"Models.Ledger.cappedCheck\",\"kind\":\"definition\",\"module\":\"Models.Ledger\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.ble\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"100\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.10\"}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"Nat.ble\"]},\"inductive\":null},{\"name\":\"Models.Ledger.growsCheck\",\"kind\":\"definition\",\"module\":\"Models.Ledger\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Nat.ble\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}}}},\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.25\"}}},\"uses\":[\"Bool\",\"Nat\",\"Nat.ble\"]},\"inductive\":null},{\"name\":\"Models.Ledger.smallCheck\",\"kind\":\"definition\",\"module\":\"Models.Ledger\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.ble\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"10\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.16\"}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"Nat.ble\"]},\"inductive\":null},{\"name\":\"Models.Ledger.withinCheck\",\"kind\":\"definition\",\"module\":\"Models.Ledger\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.ble\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"10\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.10\"}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"Nat.ble\"]},\"inductive\":null},{\"name\":\"Models.Main.admitCosts\",\"kind\":\"definition\",\"module\":\"Models.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Except\",\"List\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Models.Pipeline.StreamModel\",\"Models.Pipeline.shortStreamCheck\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}},\"parameters\":[{\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.13\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Pipeline.shortStreamCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"discriminant\":\"_uniq.26\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.30\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Pipeline.StreamModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.33\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.35\"}}}}}]}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Except\",\"List\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Models.Pipeline.StreamModel\",\"Models.Pipeline.shortStreamCheck\"]},\"inductive\":null},{\"name\":\"Models.Main.classify\",\"kind\":\"definition\",\"module\":\"Models.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Glyphs.Glyph\",\"Models.Recognizer.DigitModel\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.DigitModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Nat\",\"Models.Glyphs.Glyph\",\"Models.Recognizer.DigitModel\"]},\"inductive\":null},{\"name\":\"Models.Main.classifyChecked\",\"kind\":\"definition\",\"module\":\"Models.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Models.Glyphs.Glyph\",\"Models.Recognizer.RawDigitModel\",\"Models.Recognizer.recognizesCheck\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.15\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.RawDigitModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.19\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.recognizesCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.31\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.41\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.49\"}}}]}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Models.Glyphs.Glyph\",\"Models.Recognizer.RawDigitModel\",\"Models.Recognizer.recognizesCheck\"]},\"inductive\":null},{\"name\":\"Models.Main.flowStep\",\"kind\":\"definition\",\"module\":\"Models.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Prod.fst\",\"Prod.mk\",\"Models.Flows.FlowModel\",\"Models.Ledger.cappedCheck\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}}},\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.24\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.25\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.cappedCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.38\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"discriminant\":\"_uniq.40\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.41\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.44\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.45\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Flows.FlowModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.47\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.48\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.cappedCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.58\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"discriminant\":\"_uniq.59\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.62\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.64\"}}}]}}}}}}}]}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Models.Flows.FlowModel\",\"Models.Ledger.cappedCheck\"]},\"inductive\":null},{\"name\":\"Models.Main.guessChecked\",\"kind\":\"definition\",\"module\":\"Models.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Models.Ledger.GuessModel\",\"Models.Ledger.belowCheck\",\"Models.Ledger.withinCheck\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.16\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.withinCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.29\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.33\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.GuessModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.36\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.belowCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.46\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.47\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.48\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.51\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.52\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.53\"}}}]}}}}}}]}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Models.Ledger.GuessModel\",\"Models.Ledger.belowCheck\",\"Models.Ledger.withinCheck\"]},\"inductive\":null},{\"name\":\"Models.Main.ledgerFull\",\"kind\":\"definition\",\"module\":\"Models.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Models.Ledger.SpillRawModel\",\"Models.Ledger.cappedCheck\",\"Models.Ledger.growsCheck\",\"Models.Ledger.smallCheck\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.30\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.31\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.cappedCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.44\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.46\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.47\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.51\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.smallCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.61\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.62\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.65\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.SpillRawModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.68\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.69\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.cappedCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.79\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.80\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.81\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.82\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.83\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.84\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.69\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.growsCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"},{\"kind\":\"fvar\",\"id\":\"_uniq.93\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.94\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.95\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.96\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"},{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.98\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.99\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.100\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.69\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.101\"}}}]}}}}}]}}}}}}}]}}}}]}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Models.Ledger.SpillRawModel\",\"Models.Ledger.cappedCheck\",\"Models.Ledger.growsCheck\",\"Models.Ledger.smallCheck\"]},\"inductive\":null},{\"name\":\"Models.Main.ledgerPost\",\"kind\":\"definition\",\"module\":\"Models.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Prod.fst\",\"Prod.mk\",\"Models.Ledger.SpillModel\",\"Models.Ledger.cappedCheck\",\"Models.Ledger.smallCheck\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.27\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.28\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.cappedCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.43\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.47\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.48\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.smallCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.58\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.62\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.SpillModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.66\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Ledger.cappedCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.77\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.78\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.79\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.80\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.81\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.82\"}}}]}}}}}}}]}}}}]}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Models.Ledger.SpillModel\",\"Models.Ledger.cappedCheck\",\"Models.Ledger.smallCheck\"]},\"inductive\":null},{\"name\":\"Models.Main.respond\",\"kind\":\"definition\",\"module\":\"Models.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Models.Pipeline.PipelineModel\",\"Models.Triage.Presentation\",\"Models.Triage.symptomaticCheck\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.13\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.symptomaticCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.26\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.30\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Pipeline.PipelineModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.33\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.35\"}}}}}]}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Models.Pipeline.PipelineModel\",\"Models.Triage.Presentation\",\"Models.Triage.symptomaticCheck\"]},\"inductive\":null},{\"name\":\"Models.Main.step\",\"kind\":\"definition\",\"module\":\"Models.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Models.Session.SessionModel\",\"Models.Session.Window\",\"Models.Session.affordableCheck\",\"Models.Session.boundedCheck\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.23\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.24\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Session.boundedCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.39\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Session.affordableCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.54\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.58\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Session.SessionModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.61\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.63\"}}}}}]}}}}]}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Except\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Models.Session.SessionModel\",\"Models.Session.Window\",\"Models.Session.affordableCheck\",\"Models.Session.boundedCheck\"]},\"inductive\":null},{\"name\":\"Models.Pipeline.PipelineModel\",\"kind\":\"definition\",\"module\":\"Models.Pipeline\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Pipeline.TriagePipeline\",\"Models.Triage.Presentation\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Pipeline.TriagePipeline\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Nat\",\"Models.Pipeline.TriagePipeline\",\"Models.Triage.Presentation\"]},\"inductive\":null},{\"name\":\"Models.Pipeline.SessionStream\",\"kind\":\"definition\",\"module\":\"Models.Pipeline\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Except\",\"List\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"LexLeanCollections.listFold\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"List.cons\",\"List.nil\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Models.Session.SessionModel\",\"Models.Session.Window\",\"Models.Session.affordableCheck\",\"Models.Session.boundedCheck\",\"Models.Pipeline.SessionStream.match_1\",\"Models.Session.SessionModel.initial\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.140\",\"parameters\":[{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"borrow\":false},{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.71\",\"parameters\":[{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.63\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.71\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.123\",\"parameters\":[{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.85\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.76\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Session.boundedCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.85\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.86\"},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"discriminant\":\"_uniq.88\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.89\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.90\"},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.91\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.92\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.93\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Session.affordableCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.85\"},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.102\"},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"discriminant\":\"_uniq.103\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.104\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.106\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.107\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.108\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Session.SessionModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.85\"},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.111\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.110\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.111\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.76\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.111\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.115\"},{\"kind\":\"fvar\",\"id\":\"_uniq.116\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.118\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.113\"},{\"kind\":\"fvar\",\"id\":\"_uniq.114\"},{\"kind\":\"fvar\",\"id\":\"_uniq.117\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.112\"},{\"kind\":\"fvar\",\"id\":\"_uniq.118\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.119\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.120\"}}}}}}}}}}}}}]}}}}]}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.124\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.123\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"discriminant\":\"_uniq.63\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.135\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.72\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.135\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.136\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.137\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.137\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.138\"}}}]}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.141\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Session.SessionModel.initial\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.143\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.141\"},{\"kind\":\"fvar\",\"id\":\"_uniq.142\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.144\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.143\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.140\"},{\"kind\":\"fvar\",\"id\":\"_uniq.144\"},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.146\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.145\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.152\",\"parameters\":[{\"id\":\"_uniq.150\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.151\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.150\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.151\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.153\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.152\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.160\",\"parameters\":[{\"id\":\"_uniq.157\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.158\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.157\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.159\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.158\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.159\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.161\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.160\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.146\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.172\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.173\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.153\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.172\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.173\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.174\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.175\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.161\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.174\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.175\"}}}]}}}}}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Except\",\"List\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Except.error\",\"Except.ok\",\"LexLeanCollections.listFold\",\"LexLeanRuntime.Appendable\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"List.cons\",\"List.nil\",\"Prod.mk\",\"Models.Session.SessionModel\",\"Models.Session.Window\",\"Models.Session.affordableCheck\",\"Models.Session.boundedCheck\",\"Models.Session.SessionModel.initial\"]},\"inductive\":null},{\"name\":\"Models.Pipeline.StreamModel\",\"kind\":\"definition\",\"module\":\"Models.Pipeline\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Models.Pipeline.SessionStream\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Pipeline.SessionStream\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Prod\",\"Models.Pipeline.SessionStream\"]},\"inductive\":null},{\"name\":\"Models.Pipeline.TriagePipeline\",\"kind\":\"definition\",\"module\":\"Models.Pipeline\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Models.Policy.PolicyModel\",\"Models.Triage.Level\",\"Models.Triage.Presentation\",\"Models.Triage.TriageModel\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.TriageModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.15\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Policy.PolicyModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.17\",\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.18\"}}}}}},\"uses\":[\"Nat\",\"Models.Policy.PolicyModel\",\"Models.Triage.Level\",\"Models.Triage.Presentation\",\"Models.Triage.TriageModel\"]},\"inductive\":null},{\"name\":\"Models.Pipeline.shortStreamCheck\",\"kind\":\"definition\",\"module\":\"Models.Pipeline\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"instOfNatNat\",\"LexLeanRuntime.instLengthableList\",\"LexLeanRuntime.length\",\"Nat.blt\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1001\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.10\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.12\"}}}}}}}},\"uses\":[\"Bool\",\"List\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"LexLeanRuntime.Lengthable\",\"LexLeanRuntime.instLengthableList\",\"LexLeanRuntime.length\",\"Nat.blt\"]},\"inductive\":null},{\"name\":\"Models.Policy.PolicyModel\",\"kind\":\"definition\",\"module\":\"Models.Policy\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Policy.PolicyRules\",\"Models.Triage.Level\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Policy.PolicyRules\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Nat\",\"Models.Policy.PolicyRules\",\"Models.Triage.Level\"]},\"inductive\":null},{\"name\":\"Models.Policy.PolicyRules\",\"kind\":\"definition\",\"module\":\"Models.Policy\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"instDecidableEqBool\",\"instOfNatNat\",\"ite\",\"Bool.true\",\"OfNat.ofNat\",\"Models.Policy.isUrgent\",\"Models.Triage.Level\",\"Models.Triage.isEmergency\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.isEmergency\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.23\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Policy.isUrgent\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.34\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.37\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.38\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.39\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.41\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.42\"}}}}}]}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.46\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.47\"}}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Nat\",\"OfNat\",\"instDecidableEqBool\",\"instOfNatNat\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Models.Policy.isUrgent\",\"Models.Triage.Level\",\"Models.Triage.isEmergency\"]},\"inductive\":null},{\"name\":\"Models.Policy.isUrgent\",\"kind\":\"definition\",\"module\":\"Models.Policy\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Unit\",\"Bool.false\",\"Bool.true\",\"Models.Triage.Level\",\"Models.Policy.isUrgent.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.35\",\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.34\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.35\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.40\",\"parameters\":[{\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.39\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.35\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Models.Triage.Level\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.26\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Level.routine\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.36\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Level.urgent\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.41\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.52\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Level.emergency\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.43\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.54\"}}}}]}}}}}}},\"uses\":[\"Bool\",\"PUnit\",\"Bool.false\",\"Bool.true\",\"Unit.unit\",\"Models.Triage.Level\",\"Models.Triage.Level.emergency\",\"Models.Triage.Level.routine\",\"Models.Triage.Level.urgent\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.DigitModel\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Glyphs.Glyph\",\"Models.Recognizer.DigitNet\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.DigitNet\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Nat\",\"Models.Glyphs.Glyph\",\"Models.Recognizer.DigitNet\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.DigitNet\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Int\",\"List\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"instDecidableEqBool\",\"instOfNatNat\",\"ite\",\"Bool.true\",\"LexLeanCollections.instKeyInt\",\"LexLeanCollections.lessThan\",\"LexLeanCollections.listFold\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Models.Glyphs.Glyph\",\"Models.Recognizer.DigitNet.logits\",\"Models.Recognizer.DigitNet.match_1\",\"Models.Recognizer.DigitNet.match_3\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.74\",\"parameters\":[{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.72\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.73\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.81\",\"parameters\":[{\"id\":\"_uniq.79\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.79\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.80\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.81\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.187\",\"parameters\":[{\"id\":\"_uniq.96\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.104\",\"parameters\":[{\"id\":\"_uniq.103\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.96\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.104\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.170\",\"parameters\":[{\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.113\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.122\",\"parameters\":[{\"id\":\"_uniq.119\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.112\"},{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.120\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.121\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.122\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.147\",\"parameters\":[{\"id\":\"_uniq.127\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.instKeyInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.127\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.lessThan\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.136\"},{\"kind\":\"fvar\",\"id\":\"_uniq.137\"},{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.139\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.140\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.138\"},{\"kind\":\"fvar\",\"id\":\"_uniq.139\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.140\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.141\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.127\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.142\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.143\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.144\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.112\"},{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.144\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.145\"}}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.148\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.147\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.156\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.96\"},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.163\",\"parameters\":[{\"id\":\"_uniq.161\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.162\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.161\"},{\"kind\":\"fvar\",\"id\":\"_uniq.113\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.162\"}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.169\",\"parameters\":[{\"id\":\"_uniq.167\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.168\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.148\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.167\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.163\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.168\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.166\",\"parameters\":[{\"id\":\"_uniq.164\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.165\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.123\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.164\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.163\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.165\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.156\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.157\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.166\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.157\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.159\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.169\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.159\"}]}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.171\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.170\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.180\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.96\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.180\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.181\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.182\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.105\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.181\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.182\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.183\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.184\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.185\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.171\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.183\"},{\"kind\":\"fvar\",\"id\":\"_uniq.184\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.185\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.188\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.189\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.190\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.189\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.191\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.190\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.192\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.193\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.192\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.194\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.193\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.195\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.196\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.195\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.197\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.196\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.198\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.199\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.198\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.200\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.199\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.201\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.202\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.201\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.203\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.202\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.204\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"5\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.205\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.204\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.206\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.205\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.207\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"6\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.208\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.207\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.209\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.208\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.210\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"7\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.211\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.210\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.212\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.211\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.213\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"8\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.214\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.213\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.215\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.214\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.216\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.217\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.216\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.218\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.217\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.219\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.220\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.218\"},{\"kind\":\"fvar\",\"id\":\"_uniq.219\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.221\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.215\"},{\"kind\":\"fvar\",\"id\":\"_uniq.220\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.222\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.212\"},{\"kind\":\"fvar\",\"id\":\"_uniq.221\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.223\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.209\"},{\"kind\":\"fvar\",\"id\":\"_uniq.222\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.224\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.206\"},{\"kind\":\"fvar\",\"id\":\"_uniq.223\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.225\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.203\"},{\"kind\":\"fvar\",\"id\":\"_uniq.224\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.226\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.200\"},{\"kind\":\"fvar\",\"id\":\"_uniq.225\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.227\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.197\"},{\"kind\":\"fvar\",\"id\":\"_uniq.226\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.228\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.194\"},{\"kind\":\"fvar\",\"id\":\"_uniq.227\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.229\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.191\"},{\"kind\":\"fvar\",\"id\":\"_uniq.228\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.230\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.188\"},{\"kind\":\"fvar\",\"id\":\"_uniq.229\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.231\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.DigitNet.logits\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.232\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.187\"},{\"kind\":\"fvar\",\"id\":\"_uniq.230\"},{\"kind\":\"fvar\",\"id\":\"_uniq.231\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.233\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.232\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.233\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.234\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.235\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.75\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.234\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.235\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.236\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.237\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.82\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.236\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.237\"}}}]}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Int\",\"List\",\"Nat\",\"OfNat\",\"Option\",\"PUnit\",\"Prod\",\"instDecidableEqBool\",\"instOfNatNat\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"LexLeanCollections.Key\",\"LexLeanCollections.instKeyInt\",\"LexLeanCollections.lessThan\",\"LexLeanCollections.listFold\",\"List.cons\",\"List.nil\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Unit.unit\",\"Models.Glyphs.Glyph\",\"Models.Recognizer.DigitNet.logits\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.RawDigitModel\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Glyphs.Glyph\",\"Models.Recognizer.DigitNet\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.DigitNet\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Nat\",\"Models.Glyphs.Glyph\",\"Models.Recognizer.DigitNet\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.hiddenBias\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"instOfNat\",\"Int.instNegInt\",\"List.cons\",\"List.nil\",\"Neg.neg\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.1\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.3\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.2\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.4\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.5\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.4\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instNegInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.7\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.10\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.8\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"5\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.17\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.8\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.32\"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Int\",\"List\",\"Nat\",\"Neg\",\"OfNat\",\"instOfNat\",\"Int.instNegInt\",\"List.cons\",\"List.nil\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.hiddenWeights\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"List\",\"instOfNat\",\"Int.instNegInt\",\"List.cons\",\"List.nil\",\"Neg.neg\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.1\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.3\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.2\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.4\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.5\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.4\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.43\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instNegInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.45\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.48\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.46\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.52\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.46\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.46\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.68\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.69\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.79\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.46\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.3\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.83\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.85\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.84\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.85\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.82\"},{\"kind\":\"fvar\",\"id\":\"_uniq.86\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.88\"},{\"kind\":\"fvar\",\"id\":\"_uniq.89\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"},{\"kind\":\"fvar\",\"id\":\"_uniq.90\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"},{\"kind\":\"fvar\",\"id\":\"_uniq.91\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"},{\"kind\":\"fvar\",\"id\":\"_uniq.93\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.94\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.96\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.95\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.96\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.98\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.99\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.100\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.101\"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Int\",\"List\",\"Nat\",\"Neg\",\"OfNat\",\"instOfNat\",\"Int.instNegInt\",\"List.cons\",\"List.nil\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.outputBias\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"instOfNat\",\"Int.instNegInt\",\"List.cons\",\"List.nil\",\"Neg.neg\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instNegInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.1\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.3\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"6\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.4\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.3\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.4\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.2\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.2\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"5\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.12\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.2\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.16\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.2\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.2\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"7\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.2\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.37\"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Int\",\"List\",\"Nat\",\"Neg\",\"OfNat\",\"instOfNat\",\"Int.instNegInt\",\"List.cons\",\"List.nil\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.outputWeights\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"List\",\"instOfNat\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.1\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.3\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.2\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.4\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.5\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.4\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"},{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.68\"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Int\",\"List\",\"Nat\",\"OfNat\",\"instOfNat\",\"List.cons\",\"List.nil\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.recognizesCheck\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Nat.beq\",\"Models.Glyphs.Glyph\",\"Models.Glyphs.digitOf\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.digitOf\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}}},\"uses\":[\"Bool\",\"Nat\",\"Nat.beq\",\"Models.Glyphs.Glyph\",\"Models.Glyphs.digitOf\"]},\"inductive\":null},{\"name\":\"Models.Session.SessionModel\",\"kind\":\"definition\",\"module\":\"Models.Session\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Models.Session.SessionStep\",\"Models.Session.Window\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Session.SessionStep\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.12\"}}},\"uses\":[\"Nat\",\"Prod\",\"Models.Session.SessionStep\",\"Models.Session.Window\"]},\"inductive\":null},{\"name\":\"Models.Session.SessionStep\",\"kind\":\"definition\",\"module\":\"Models.Session\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"instSubNat\",\"HAdd.hAdd\",\"LexLeanRuntime.subtract\",\"OfNat.ofNat\",\"Prod.mk\",\"Models.Session.Window\",\"Models.Session.Window.items\",\"Models.Session.Window.mk\",\"Models.Session.Window.used\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.17\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Models.Session.Window\",\"index\":0,\"value\":\"_uniq.13\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.34\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.36\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"64\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.40\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Models.Session.Window\",\"index\":1,\"value\":\"_uniq.13\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.46\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.34\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.44\"},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Session.Window.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.43\"},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Nat\",\"OfNat\",\"Prod\",\"Sub\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"instSubNat\",\"LexLeanRuntime.subtract\",\"Prod.mk\",\"Models.Session.Window\",\"Models.Session.Window.mk\"]},\"inductive\":null},{\"name\":\"Models.Session.Window\",\"kind\":\"inductive\",\"module\":\"Models.Session\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Models.Session.Window.mk\",\"parameters\":0,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]}}}}]}},{\"name\":\"Models.Session.affordableCheck\",\"kind\":\"definition\",\"module\":\"Models.Session\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.ble\",\"OfNat.ofNat\",\"Models.Session.Window\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"16\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.13\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.15\"}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"Nat.ble\",\"Models.Session.Window\"]},\"inductive\":null},{\"name\":\"Models.Session.boundedCheck\",\"kind\":\"definition\",\"module\":\"Models.Session\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.ble\",\"OfNat.ofNat\",\"Models.Session.Window\",\"Models.Session.Window.used\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Models.Session.Window\",\"index\":0,\"value\":\"_uniq.6\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"64\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.11\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"Nat.ble\",\"Models.Session.Window\"]},\"inductive\":null},{\"name\":\"Models.Triage.Level\",\"kind\":\"inductive\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Models.Triage.Level.routine\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}},{\"name\":\"Models.Triage.Level.urgent\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}},{\"name\":\"Models.Triage.Level.emergency\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}}]}},{\"name\":\"Models.Triage.Presentation\",\"kind\":\"inductive\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Models.Triage.Presentation.p0\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]}},{\"name\":\"Models.Triage.Presentation.p1\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]}},{\"name\":\"Models.Triage.Presentation.p2\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]}},{\"name\":\"Models.Triage.Presentation.p3\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]}},{\"name\":\"Models.Triage.Presentation.p4\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]}},{\"name\":\"Models.Triage.Presentation.p5\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]}},{\"name\":\"Models.Triage.Presentation.p6\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]}},{\"name\":\"Models.Triage.Presentation.p7\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]}}]}},{\"name\":\"Models.Triage.TriageModel\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Triage.Presentation\",\"Models.Triage.TriageScore\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.TriageScore\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.6\"}}},\"uses\":[\"Models.Triage.Level\",\"Models.Triage.Presentation\",\"Models.Triage.TriageScore\"]},\"inductive\":null},{\"name\":\"Models.Triage.TriageScore\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Int\",\"List\",\"Option\",\"Prod\",\"Unit\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"LexLeanCollections.instKeyInt\",\"LexLeanCollections.lessThan\",\"LexLeanCollections.listFold\",\"List.cons\",\"List.nil\",\"Option.none\",\"Option.some\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Models.Triage.Level\",\"Models.Triage.Presentation\",\"Models.Triage.Level.emergency\",\"Models.Triage.Level.routine\",\"Models.Triage.Level.urgent\",\"Models.Triage.TriageScore.match_1\",\"Models.Triage.TriageScore.match_3\",\"Models.Triage.TriageScore.scores\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.70\",\"parameters\":[{\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level.routine\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.69\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.70\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.76\",\"parameters\":[{\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.74\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.75\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.76\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.181\",\"parameters\":[{\"id\":\"_uniq.91\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.99\",\"parameters\":[{\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.91\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.99\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.164\",\"parameters\":[{\"id\":\"_uniq.106\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.107\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.116\",\"parameters\":[{\"id\":\"_uniq.113\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.106\"},{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.115\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.116\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.141\",\"parameters\":[{\"id\":\"_uniq.121\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.instKeyInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.121\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.132\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.lessThan\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.130\"},{\"kind\":\"fvar\",\"id\":\"_uniq.131\"},{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.132\"},{\"kind\":\"fvar\",\"id\":\"_uniq.133\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.134\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.135\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.121\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.136\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.137\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.106\"},{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.139\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.138\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.139\"}}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.141\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.150\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.91\"},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.157\",\"parameters\":[{\"id\":\"_uniq.155\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.156\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.155\"},{\"kind\":\"fvar\",\"id\":\"_uniq.107\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.156\"}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.163\",\"parameters\":[{\"id\":\"_uniq.161\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.162\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.142\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.161\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.157\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.162\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.160\",\"parameters\":[{\"id\":\"_uniq.158\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.159\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.117\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.158\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.157\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.159\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.150\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.151\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.160\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.151\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.153\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.163\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.153\"}]}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.165\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.164\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.174\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.91\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.174\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.175\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.176\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.100\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.175\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.176\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.177\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.178\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.179\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.165\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.177\"},{\"kind\":\"fvar\",\"id\":\"_uniq.178\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.179\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.182\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.183\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level.routine\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.184\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level.urgent\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.185\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level.emergency\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.186\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.187\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.185\"},{\"kind\":\"fvar\",\"id\":\"_uniq.186\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.188\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.184\"},{\"kind\":\"fvar\",\"id\":\"_uniq.187\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.189\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.183\"},{\"kind\":\"fvar\",\"id\":\"_uniq.188\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.190\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.182\"},{\"kind\":\"fvar\",\"id\":\"_uniq.189\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.191\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.TriageScore.scores\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.192\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.181\"},{\"kind\":\"fvar\",\"id\":\"_uniq.190\"},{\"kind\":\"fvar\",\"id\":\"_uniq.191\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.193\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.192\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"discriminant\":\"_uniq.193\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.194\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.195\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.71\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.194\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.195\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.196\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.197\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.77\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.196\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.197\"}}}]}}}}}}}}}}}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Int\",\"List\",\"Option\",\"PUnit\",\"Prod\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"LexLeanCollections.Key\",\"LexLeanCollections.instKeyInt\",\"LexLeanCollections.lessThan\",\"LexLeanCollections.listFold\",\"List.cons\",\"List.nil\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Unit.unit\",\"Models.Triage.Level\",\"Models.Triage.Presentation\",\"Models.Triage.Level.emergency\",\"Models.Triage.Level.routine\",\"Models.Triage.Level.urgent\",\"Models.Triage.TriageScore.scores\"]},\"inductive\":null},{\"name\":\"Models.Triage.features\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"List\",\"Unit\",\"instOfNat\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\",\"Models.Triage.Presentation\",\"Models.Triage.features.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.78\",\"parameters\":[{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.72\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.77\"}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.78\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.92\",\"parameters\":[{\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.82\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.83\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.85\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.85\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.86\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.88\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.89\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.84\"},{\"kind\":\"fvar\",\"id\":\"_uniq.90\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.91\"}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.92\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.106\",\"parameters\":[{\"id\":\"_uniq.95\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.96\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.96\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.97\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.99\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.100\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.98\"},{\"kind\":\"fvar\",\"id\":\"_uniq.102\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.101\"},{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.98\"},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.105\"}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.106\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.120\",\"parameters\":[{\"id\":\"_uniq.109\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.111\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.110\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.111\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.113\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.114\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.115\"},{\"kind\":\"fvar\",\"id\":\"_uniq.116\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.118\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.112\"},{\"kind\":\"fvar\",\"id\":\"_uniq.117\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.112\"},{\"kind\":\"fvar\",\"id\":\"_uniq.118\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.119\"}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.120\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.134\",\"parameters\":[{\"id\":\"_uniq.123\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.124\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.124\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.125\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.127\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.127\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.129\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.128\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.129\"},{\"kind\":\"fvar\",\"id\":\"_uniq.130\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.132\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.126\"},{\"kind\":\"fvar\",\"id\":\"_uniq.131\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.126\"},{\"kind\":\"fvar\",\"id\":\"_uniq.132\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.133\"}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.134\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.148\",\"parameters\":[{\"id\":\"_uniq.137\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.139\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.138\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.140\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.139\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.141\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.141\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.143\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.142\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.144\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.140\"},{\"kind\":\"fvar\",\"id\":\"_uniq.144\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.146\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.143\"},{\"kind\":\"fvar\",\"id\":\"_uniq.145\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.147\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.140\"},{\"kind\":\"fvar\",\"id\":\"_uniq.146\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.147\"}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.149\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.148\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.162\",\"parameters\":[{\"id\":\"_uniq.151\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.152\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.153\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.152\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.154\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.153\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.155\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.156\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.155\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.157\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.156\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.158\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.159\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.157\"},{\"kind\":\"fvar\",\"id\":\"_uniq.158\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.160\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.157\"},{\"kind\":\"fvar\",\"id\":\"_uniq.159\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.161\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.154\"},{\"kind\":\"fvar\",\"id\":\"_uniq.160\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.161\"}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.163\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.162\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.173\",\"parameters\":[{\"id\":\"_uniq.165\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.166\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.167\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.166\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.168\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.167\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.169\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.170\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.168\"},{\"kind\":\"fvar\",\"id\":\"_uniq.169\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.171\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.168\"},{\"kind\":\"fvar\",\"id\":\"_uniq.170\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.172\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.168\"},{\"kind\":\"fvar\",\"id\":\"_uniq.171\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.172\"}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.174\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.173\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Models.Triage.Presentation\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"discriminant\":\"_uniq.58\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p0\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.185\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.186\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.79\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.185\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.186\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p1\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.187\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.188\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.93\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.187\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.188\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p2\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.189\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.190\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.107\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.189\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.190\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p3\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.191\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.192\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.121\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.191\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.192\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p4\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.193\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.194\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.135\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.193\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.194\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p5\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.195\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.196\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.149\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.195\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.196\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p6\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.197\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.198\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.163\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.197\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.198\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p7\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.199\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.200\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.174\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.199\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.200\"}}}}]}}}}}}}}}}}}}}}}}},\"uses\":[\"Int\",\"List\",\"Nat\",\"OfNat\",\"PUnit\",\"instOfNat\",\"List.cons\",\"List.nil\",\"Unit.unit\",\"Models.Triage.Presentation\",\"Models.Triage.Presentation.p0\",\"Models.Triage.Presentation.p1\",\"Models.Triage.Presentation.p2\",\"Models.Triage.Presentation.p3\",\"Models.Triage.Presentation.p4\",\"Models.Triage.Presentation.p5\",\"Models.Triage.Presentation.p6\",\"Models.Triage.Presentation.p7\"]},\"inductive\":null},{\"name\":\"Models.Triage.hasSymptom\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Unit\",\"Bool.false\",\"Bool.true\",\"Models.Triage.Presentation\",\"Models.Triage.features.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.60\",\"parameters\":[{\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.59\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.60\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.65\",\"parameters\":[{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.64\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Models.Triage.Presentation\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.46\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p0\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.61\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.89\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.90\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p1\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.66\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.91\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.92\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p2\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.68\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.93\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.94\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p3\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.96\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.70\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.95\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.96\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p4\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.72\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.98\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p5\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.99\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.100\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p6\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.76\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.101\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.102\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Presentation.p7\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.78\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.104\"}}}}]}}}}}}}}}}}},\"uses\":[\"Bool\",\"PUnit\",\"Bool.false\",\"Bool.true\",\"Unit.unit\",\"Models.Triage.Presentation\",\"Models.Triage.Presentation.p0\",\"Models.Triage.Presentation.p1\",\"Models.Triage.Presentation.p2\",\"Models.Triage.Presentation.p3\",\"Models.Triage.Presentation.p4\",\"Models.Triage.Presentation.p5\",\"Models.Triage.Presentation.p6\",\"Models.Triage.Presentation.p7\"]},\"inductive\":null},{\"name\":\"Models.Triage.isEmergency\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Unit\",\"Bool.false\",\"Bool.true\",\"Models.Triage.Level\",\"Models.Triage.isEmergency.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Level\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.35\",\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.34\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.35\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.35\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.42\",\"parameters\":[{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.41\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.42\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Models.Triage.Level\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.26\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Level.routine\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.36\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Level.urgent\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.38\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.52\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Models.Triage.Level.emergency\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.43\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.54\"}}}}]}}}}}}},\"uses\":[\"Bool\",\"PUnit\",\"Bool.false\",\"Bool.true\",\"Unit.unit\",\"Models.Triage.Level\",\"Models.Triage.Level.emergency\",\"Models.Triage.Level.routine\",\"Models.Triage.Level.urgent\"]},\"inductive\":null},{\"name\":\"Models.Triage.symptomaticCheck\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Triage.Presentation\",\"Models.Triage.hasSymptom\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.hasSymptom\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Bool\",\"Models.Triage.Presentation\",\"Models.Triage.hasSymptom\"]},\"inductive\":null},{\"name\":\"Models.Triage.triageBias\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"instOfNat\",\"Int.instNegInt\",\"List.cons\",\"List.nil\",\"Neg.neg\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.1\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.3\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.2\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.4\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.5\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.4\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instNegInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.7\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.8\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.3\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}}}}}}}}}}}}}},\"uses\":[\"Int\",\"List\",\"Nat\",\"Neg\",\"OfNat\",\"instOfNat\",\"Int.instNegInt\",\"List.cons\",\"List.nil\"]},\"inductive\":null},{\"name\":\"Models.Triage.triageWeights\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"List\",\"instOfNat\",\"Int.instNegInt\",\"List.cons\",\"List.nil\",\"Neg.neg\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instNegInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.1\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.3\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.4\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.3\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.4\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.2\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.2\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.16\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.5\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.5\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"5\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.25\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.33\"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Int\",\"List\",\"Nat\",\"Neg\",\"OfNat\",\"instOfNat\",\"Int.instNegInt\",\"List.cons\",\"List.nil\"]},\"inductive\":null},{\"name\":\"Models.Glyphs.Glyph.casesOn\",\"kind\":\"definition\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Glyphs.Glyph\",\"Models.Glyphs.Glyph.g0\",\"Models.Glyphs.Glyph.g1\",\"Models.Glyphs.Glyph.g2\",\"Models.Glyphs.Glyph.g3\",\"Models.Glyphs.Glyph.g4\",\"Models.Glyphs.Glyph.g5\",\"Models.Glyphs.Glyph.g6\",\"Models.Glyphs.Glyph.g7\",\"Models.Glyphs.Glyph.g8\",\"Models.Glyphs.Glyph.g9\",\"Models.Glyphs.Glyph.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Glyphs.Glyph.g0\",\"kind\":\"constructor\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Glyphs.Glyph.g1\",\"kind\":\"constructor\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Glyphs.Glyph.g2\",\"kind\":\"constructor\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Glyphs.Glyph.g3\",\"kind\":\"constructor\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Glyphs.Glyph.g4\",\"kind\":\"constructor\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Glyphs.Glyph.g5\",\"kind\":\"constructor\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Glyphs.Glyph.g6\",\"kind\":\"constructor\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Glyphs.Glyph.g7\",\"kind\":\"constructor\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Glyphs.Glyph.g8\",\"kind\":\"constructor\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Glyphs.Glyph.g9\",\"kind\":\"constructor\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Glyphs.Glyph.rec\",\"kind\":\"recursor\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Glyphs.encode.match_1\",\"kind\":\"definition\",\"module\":\"Models.Glyphs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Unit\",\"Unit.unit\",\"Models.Glyphs.Glyph\",\"Models.Glyphs.Glyph.casesOn\",\"Models.Glyphs.Glyph.g0\",\"Models.Glyphs.Glyph.g1\",\"Models.Glyphs.Glyph.g2\",\"Models.Glyphs.Glyph.g3\",\"Models.Glyphs.Glyph.g4\",\"Models.Glyphs.Glyph.g5\",\"Models.Glyphs.Glyph.g6\",\"Models.Glyphs.Glyph.g7\",\"Models.Glyphs.Glyph.g8\",\"Models.Glyphs.Glyph.g9\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Pipeline.SessionStream.match_1\",\"kind\":\"definition\",\"module\":\"Models.Pipeline\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Prod\",\"Except.casesOn\",\"Except.error\",\"Except.ok\",\"Models.Session.Window\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Policy.isUrgent.match_1\",\"kind\":\"definition\",\"module\":\"Models.Policy\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Unit\",\"Unit.unit\",\"Models.Triage.Level\",\"Models.Triage.Level.casesOn\",\"Models.Triage.Level.emergency\",\"Models.Triage.Level.routine\",\"Models.Triage.Level.urgent\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Recognizer.DigitNet.encoded\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Glyphs.Glyph\",\"Models.Glyphs.encode\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.encode\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Int\",\"List\",\"Models.Glyphs.Glyph\",\"Models.Glyphs.encode\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.DigitNet.layer1\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"List\",\"Prod\",\"Unit\",\"instOfNat\",\"Int.instMul\",\"Int.instNegInt\",\"Int.instSub\",\"LexLeanCollections.listFold\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"LexLeanRuntime.multiply\",\"LexLeanRuntime.negate\",\"LexLeanRuntime.subtract\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Models.Recognizer.hiddenBias\",\"Models.Recognizer.hiddenWeights\",\"Models.Recognizer.DigitNet.layer1.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.156\",\"parameters\":[{\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.65\",\"parameters\":[{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.139\",\"parameters\":[{\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.57\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instSub\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instNegInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.126\",\"parameters\":[{\"id\":\"_uniq.85\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.86\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.93\",\"parameters\":[{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.85\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.93\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.109\",\"parameters\":[{\"id\":\"_uniq.101\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.102\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.85\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instMul\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.multiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"},{\"kind\":\"fvar\",\"id\":\"_uniq.86\"},{\"kind\":\"fvar\",\"id\":\"_uniq.101\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.negate\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"},{\"kind\":\"fvar\",\"id\":\"_uniq.103\"},{\"kind\":\"fvar\",\"id\":\"_uniq.106\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.107\"},{\"kind\":\"fvar\",\"id\":\"_uniq.102\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.108\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.109\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.85\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.119\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.94\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.120\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.121\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.122\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.123\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.124\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.110\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.122\"},{\"kind\":\"fvar\",\"id\":\"_uniq.123\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.124\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.127\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.127\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.129\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.128\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.129\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.126\"},{\"kind\":\"fvar\",\"id\":\"_uniq.130\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.132\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.131\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.negate\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"},{\"kind\":\"fvar\",\"id\":\"_uniq.132\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.133\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.134\"},{\"kind\":\"fvar\",\"id\":\"_uniq.135\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},{\"kind\":\"fvar\",\"id\":\"_uniq.136\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.137\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.138\"}}}}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.140\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.139\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.149\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.57\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.149\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.150\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.151\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.66\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.150\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.151\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.152\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.153\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.154\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.140\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.152\"},{\"kind\":\"fvar\",\"id\":\"_uniq.153\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.154\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.157\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.158\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.hiddenBias\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.159\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.157\"},{\"kind\":\"fvar\",\"id\":\"_uniq.158\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.160\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.hiddenWeights\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.161\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.156\"},{\"kind\":\"fvar\",\"id\":\"_uniq.159\"},{\"kind\":\"fvar\",\"id\":\"_uniq.160\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.162\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.161\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.162\"}}}}}}}}},\"uses\":[\"Int\",\"List\",\"Mul\",\"Nat\",\"Neg\",\"OfNat\",\"PUnit\",\"Prod\",\"Sub\",\"instOfNat\",\"Int.instMul\",\"Int.instNegInt\",\"Int.instSub\",\"LexLeanCollections.listFold\",\"LexLeanRuntime.Appendable\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"LexLeanRuntime.multiply\",\"LexLeanRuntime.negate\",\"LexLeanRuntime.subtract\",\"List.cons\",\"List.nil\",\"Prod.mk\",\"Unit.unit\",\"Models.Recognizer.hiddenBias\",\"Models.Recognizer.hiddenWeights\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.DigitNet.layer2\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Int\",\"List\",\"instDecidableEqBool\",\"instOfNat\",\"ite\",\"Bool.true\",\"LexLeanCollections.instKeyInt\",\"LexLeanCollections.lessThan\",\"LexLeanCollections.listFold\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.39\",\"parameters\":[{\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.instKeyInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.27\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.lessThan\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.38\",\"parameters\":[{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.37\"}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"discriminant\":\"_uniq.31\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.38\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.38\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]}}]}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.41\"}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Int\",\"List\",\"Nat\",\"OfNat\",\"instDecidableEqBool\",\"instOfNat\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"LexLeanCollections.Key\",\"LexLeanCollections.instKeyInt\",\"LexLeanCollections.lessThan\",\"LexLeanCollections.listFold\",\"LexLeanRuntime.Appendable\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"List.cons\",\"List.nil\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.DigitNet.layer3\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Int\",\"List\",\"instDecidableEqBool\",\"instOfNat\",\"ite\",\"Bool.true\",\"LexLeanCollections.instKeyInt\",\"LexLeanCollections.lessThan\",\"LexLeanCollections.listFold\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"LexLeanRuntime.instQuotientInt\",\"LexLeanRuntime.quotient\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.66\",\"parameters\":[{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instQuotientInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.27\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.quotient\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.29\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.instKeyInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.lessThan\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.65\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"},{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.64\"}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"discriminant\":\"_uniq.42\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.43\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"127\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.53\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.lessThan\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"discriminant\":\"_uniq.56\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.57\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.65\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.58\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.65\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]}}]}}}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.65\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]}}]}}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.68\"}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Int\",\"List\",\"Nat\",\"OfNat\",\"instDecidableEqBool\",\"instOfNat\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"LexLeanCollections.Key\",\"LexLeanCollections.instKeyInt\",\"LexLeanCollections.lessThan\",\"LexLeanCollections.listFold\",\"LexLeanRuntime.Appendable\",\"LexLeanRuntime.Quotient\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"LexLeanRuntime.instQuotientInt\",\"LexLeanRuntime.quotient\",\"List.cons\",\"List.nil\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.DigitNet.layer4\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"List\",\"Prod\",\"Unit\",\"instOfNat\",\"Int.instMul\",\"Int.instNegInt\",\"Int.instSub\",\"LexLeanCollections.listFold\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"LexLeanRuntime.multiply\",\"LexLeanRuntime.negate\",\"LexLeanRuntime.subtract\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Models.Recognizer.outputBias\",\"Models.Recognizer.outputWeights\",\"Models.Recognizer.DigitNet.layer1.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.156\",\"parameters\":[{\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.65\",\"parameters\":[{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.139\",\"parameters\":[{\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.57\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instSub\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instNegInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.126\",\"parameters\":[{\"id\":\"_uniq.85\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.86\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.93\",\"parameters\":[{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.85\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.93\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.109\",\"parameters\":[{\"id\":\"_uniq.101\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.102\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.85\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instMul\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.multiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"},{\"kind\":\"fvar\",\"id\":\"_uniq.86\"},{\"kind\":\"fvar\",\"id\":\"_uniq.101\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.negate\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"},{\"kind\":\"fvar\",\"id\":\"_uniq.103\"},{\"kind\":\"fvar\",\"id\":\"_uniq.106\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.107\"},{\"kind\":\"fvar\",\"id\":\"_uniq.102\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.108\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.109\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.85\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.119\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.94\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.120\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.121\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.122\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.123\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.124\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.110\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.122\"},{\"kind\":\"fvar\",\"id\":\"_uniq.123\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.124\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.127\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.127\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.129\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.128\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.129\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.126\"},{\"kind\":\"fvar\",\"id\":\"_uniq.130\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.132\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.131\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.negate\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"},{\"kind\":\"fvar\",\"id\":\"_uniq.132\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.133\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.134\"},{\"kind\":\"fvar\",\"id\":\"_uniq.135\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},{\"kind\":\"fvar\",\"id\":\"_uniq.136\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.137\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.138\"}}}}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.140\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.139\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.149\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.57\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.149\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.150\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.151\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.66\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.150\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.151\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.152\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.153\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.154\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.140\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.152\"},{\"kind\":\"fvar\",\"id\":\"_uniq.153\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.154\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.157\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.158\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.outputBias\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.159\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.157\"},{\"kind\":\"fvar\",\"id\":\"_uniq.158\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.160\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.outputWeights\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.161\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.156\"},{\"kind\":\"fvar\",\"id\":\"_uniq.159\"},{\"kind\":\"fvar\",\"id\":\"_uniq.160\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.162\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.161\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.162\"}}}}}}}}},\"uses\":[\"Int\",\"List\",\"Mul\",\"Nat\",\"Neg\",\"OfNat\",\"PUnit\",\"Prod\",\"Sub\",\"instOfNat\",\"Int.instMul\",\"Int.instNegInt\",\"Int.instSub\",\"LexLeanCollections.listFold\",\"LexLeanRuntime.Appendable\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"LexLeanRuntime.multiply\",\"LexLeanRuntime.negate\",\"LexLeanRuntime.subtract\",\"List.cons\",\"List.nil\",\"Prod.mk\",\"Unit.unit\",\"Models.Recognizer.outputBias\",\"Models.Recognizer.outputWeights\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.DigitNet.logits\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Glyphs.Glyph\",\"Models.Recognizer.DigitNet.encoded\",\"Models.Recognizer.DigitNet.layer1\",\"Models.Recognizer.DigitNet.layer2\",\"Models.Recognizer.DigitNet.layer3\",\"Models.Recognizer.DigitNet.layer4\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Glyphs.Glyph\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.DigitNet.encoded\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.DigitNet.layer1\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.DigitNet.layer2\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.DigitNet.layer3\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Recognizer.DigitNet.layer4\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.11\"}}}}}}},\"uses\":[\"Int\",\"List\",\"Models.Glyphs.Glyph\",\"Models.Recognizer.DigitNet.encoded\",\"Models.Recognizer.DigitNet.layer1\",\"Models.Recognizer.DigitNet.layer2\",\"Models.Recognizer.DigitNet.layer3\",\"Models.Recognizer.DigitNet.layer4\"]},\"inductive\":null},{\"name\":\"Models.Recognizer.DigitNet.match_1\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Recognizer.DigitNet.match_3\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Unit\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Session.SessionModel.initial\",\"kind\":\"definition\",\"module\":\"Models.Session\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Session.SessionStep.initial\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Session.SessionStep.initial\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.1\"}}},\"uses\":[\"Models.Session.Window\",\"Models.Session.SessionStep.initial\"]},\"inductive\":null},{\"name\":\"Models.Session.SessionStep.initial\",\"kind\":\"definition\",\"module\":\"Models.Session\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Models.Session.Window.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.1\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.3\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.2\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.4\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Session.Window\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Session.Window.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.4\"}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"instOfNatNat\",\"Models.Session.Window\",\"Models.Session.Window.mk\"]},\"inductive\":null},{\"name\":\"Models.Session.Window.items\",\"kind\":\"definition\",\"module\":\"Models.Session\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Session.Window\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Session.Window.mk\",\"kind\":\"constructor\",\"module\":\"Models.Session\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Session.Window.used\",\"kind\":\"definition\",\"module\":\"Models.Session\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Session.Window\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.Level.casesOn\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Triage.Level\",\"Models.Triage.Level.emergency\",\"Models.Triage.Level.rec\",\"Models.Triage.Level.routine\",\"Models.Triage.Level.urgent\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.Level.emergency\",\"kind\":\"constructor\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.Level.rec\",\"kind\":\"recursor\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.Level.routine\",\"kind\":\"constructor\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.Level.urgent\",\"kind\":\"constructor\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.Presentation.casesOn\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Triage.Presentation\",\"Models.Triage.Presentation.p0\",\"Models.Triage.Presentation.p1\",\"Models.Triage.Presentation.p2\",\"Models.Triage.Presentation.p3\",\"Models.Triage.Presentation.p4\",\"Models.Triage.Presentation.p5\",\"Models.Triage.Presentation.p6\",\"Models.Triage.Presentation.p7\",\"Models.Triage.Presentation.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.Presentation.p0\",\"kind\":\"constructor\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.Presentation.p1\",\"kind\":\"constructor\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.Presentation.p2\",\"kind\":\"constructor\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.Presentation.p3\",\"kind\":\"constructor\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.Presentation.p4\",\"kind\":\"constructor\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.Presentation.p5\",\"kind\":\"constructor\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.Presentation.p6\",\"kind\":\"constructor\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.Presentation.p7\",\"kind\":\"constructor\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.Presentation.rec\",\"kind\":\"recursor\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.TriageScore.features\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Models.Triage.Presentation\",\"Models.Triage.features\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.features\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Int\",\"List\",\"Models.Triage.Presentation\",\"Models.Triage.features\"]},\"inductive\":null},{\"name\":\"Models.Triage.TriageScore.match_1\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Option\",\"Prod\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Models.Triage.Level\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.TriageScore.match_3\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Unit\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Unit.unit\",\"Models.Triage.Level\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.TriageScore.scores\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"List\",\"Prod\",\"Unit\",\"instOfNat\",\"Int.instMul\",\"Int.instNegInt\",\"Int.instSub\",\"LexLeanCollections.listFold\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"LexLeanRuntime.multiply\",\"LexLeanRuntime.negate\",\"LexLeanRuntime.subtract\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Models.Triage.Presentation\",\"Models.Triage.triageBias\",\"Models.Triage.triageWeights\",\"Models.Triage.TriageScore.features\",\"Models.Triage.TriageScore.scores.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Models.Triage.Presentation\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.TriageScore.features\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.55\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.162\",\"parameters\":[{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.71\",\"parameters\":[{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.63\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.71\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.145\",\"parameters\":[{\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.80\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.63\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instSub\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instNegInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.132\",\"parameters\":[{\"id\":\"_uniq.91\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.99\",\"parameters\":[{\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.91\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.99\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.115\",\"parameters\":[{\"id\":\"_uniq.107\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.108\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.91\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instMul\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.111\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.multiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.110\"},{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},{\"kind\":\"fvar\",\"id\":\"_uniq.107\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.negate\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.84\"},{\"kind\":\"fvar\",\"id\":\"_uniq.111\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.83\"},{\"kind\":\"fvar\",\"id\":\"_uniq.109\"},{\"kind\":\"fvar\",\"id\":\"_uniq.112\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.113\"},{\"kind\":\"fvar\",\"id\":\"_uniq.108\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.114\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.115\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.91\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.125\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.127\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.100\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.126\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.127\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.128\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.129\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.116\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.128\"},{\"kind\":\"fvar\",\"id\":\"_uniq.129\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.130\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.133\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.134\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.135\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.132\"},{\"kind\":\"fvar\",\"id\":\"_uniq.136\"},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.137\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.139\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.negate\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.84\"},{\"kind\":\"fvar\",\"id\":\"_uniq.138\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.140\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.83\"},{\"kind\":\"fvar\",\"id\":\"_uniq.79\"},{\"kind\":\"fvar\",\"id\":\"_uniq.139\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.141\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.140\"},{\"kind\":\"fvar\",\"id\":\"_uniq.141\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.143\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"},{\"kind\":\"fvar\",\"id\":\"_uniq.82\"},{\"kind\":\"fvar\",\"id\":\"_uniq.142\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.144\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.143\"},{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.144\"}}}}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.146\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.145\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.155\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.63\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.155\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.156\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.157\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.72\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.156\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.157\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.158\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.159\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.160\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.146\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.158\"},{\"kind\":\"fvar\",\"id\":\"_uniq.159\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.160\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.163\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.164\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.triageBias\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.165\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.163\"},{\"kind\":\"fvar\",\"id\":\"_uniq.164\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.166\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Models.Triage.triageWeights\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.167\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.162\"},{\"kind\":\"fvar\",\"id\":\"_uniq.165\"},{\"kind\":\"fvar\",\"id\":\"_uniq.166\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.168\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.167\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.168\"}}}}}}}}}}},\"uses\":[\"Int\",\"List\",\"Mul\",\"Nat\",\"Neg\",\"OfNat\",\"PUnit\",\"Prod\",\"Sub\",\"instOfNat\",\"Int.instMul\",\"Int.instNegInt\",\"Int.instSub\",\"LexLeanCollections.listFold\",\"LexLeanRuntime.Appendable\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"LexLeanRuntime.multiply\",\"LexLeanRuntime.negate\",\"LexLeanRuntime.subtract\",\"List.cons\",\"List.nil\",\"Prod.mk\",\"Unit.unit\",\"Models.Triage.Presentation\",\"Models.Triage.triageBias\",\"Models.Triage.triageWeights\",\"Models.Triage.TriageScore.features\"]},\"inductive\":null},{\"name\":\"Models.Triage.features.match_1\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Unit\",\"Unit.unit\",\"Models.Triage.Presentation\",\"Models.Triage.Presentation.casesOn\",\"Models.Triage.Presentation.p0\",\"Models.Triage.Presentation.p1\",\"Models.Triage.Presentation.p2\",\"Models.Triage.Presentation.p3\",\"Models.Triage.Presentation.p4\",\"Models.Triage.Presentation.p5\",\"Models.Triage.Presentation.p6\",\"Models.Triage.Presentation.p7\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.isEmergency.match_1\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Unit\",\"Unit.unit\",\"Models.Triage.Level\",\"Models.Triage.Level.casesOn\",\"Models.Triage.Level.emergency\",\"Models.Triage.Level.routine\",\"Models.Triage.Level.urgent\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Recognizer.DigitNet.layer1.match_1\",\"kind\":\"definition\",\"module\":\"Models.Recognizer\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"List\",\"Unit\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Models.Triage.TriageScore.scores.match_1\",\"kind\":\"definition\",\"module\":\"Models.Triage\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"List\",\"Unit\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null}],\"externals\":[{\"name\":\"Add\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"BEq\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Bool\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Decidable\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Except\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"HAdd\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"HMul\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"HSub\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Int\",\"kind\":\"inductive\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"List\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Mul\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Nat\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Neg\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"OfNat\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Option\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Ord\",\"kind\":\"inductive\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Ordering\",\"kind\":\"inductive\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"PUnit\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Prod\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Sub\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"instAddNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instBEqOfDecidableEq\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instDecidableEqBool\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instHAdd\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instHMul\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instHSub\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instOfNat\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instOfNatNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instOrdInt\",\"kind\":\"definition\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instSubNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Bool.false\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Bool\"},{\"name\":\"Bool.true\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Bool\"},{\"name\":\"Decidable.isFalse\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Decidable\"},{\"name\":\"Decidable.isTrue\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Decidable\"},{\"name\":\"Except.error\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Except\"},{\"name\":\"Except.ok\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Except\"},{\"name\":\"Int.instDecidableEq\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int.instMul\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int.instNegInt\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int.instSub\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int.tdiv\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.DivMod.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int.tmod\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.DivMod.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.appendTR\",\"kind\":\"definition\",\"module\":\"Init.Data.List.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.cons\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"List\"},{\"name\":\"List.foldl\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.lengthTR\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.nil\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"List\"},{\"name\":\"Nat.beq\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Nat.ble\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Nat.blt\",\"kind\":\"definition\",\"module\":\"Init.Data.Nat.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Option.none\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Option\"},{\"name\":\"Option.some\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Option\"},{\"name\":\"Ordering.lt\",\"kind\":\"constructor\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Ordering\"},{\"name\":\"Prod.mk\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Prod\"},{\"name\":\"Unit.unit\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true}]}\n","stdout_sha256":"000ff34b595f013704d31b540b616943f07c5152f042e08d8eaa26fb72622de7","tool":"lean"} diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R0.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R0.lean new file mode 100644 index 000000000..e65481ab4 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R0.lean @@ -0,0 +1,228 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Models.Flows +import Models.Glyphs +import Models.Ledger +import Models.Main +import Models.Pipeline +import Models.Policy +import Models.Recognizer +import Models.Session +import Models.Triage +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [{ constructors := [[], [], [], [], [], [], [], [], [], []] }], functions := [ + { parameters := [0], types := [(.adt 0)], result := .nat, + body := (.call 1 [(.var 0)]) }, + { parameters := [0], types := [(.adt 0)], result := .nat, + body := (.call 2 [(.var 0)]) }, + { parameters := [0], types := [(.adt 0)], result := .nat, + body := (.«match» .nat (.first (.call 3 [(.closure 4 []), (.build .pair (.pair (.option (.pair .nat .int)) (.list .nat)) [(.build .none (.option (.pair .nat .int)) []), (.build .cons (.list .nat) [(.value .nat (.nat 0)), (.build .cons (.list .nat) [(.value .nat (.nat 1)), (.build .cons (.list .nat) [(.value .nat (.nat 2)), (.build .cons (.list .nat) [(.value .nat (.nat 3)), (.build .cons (.list .nat) [(.value .nat (.nat 4)), (.build .cons (.list .nat) [(.value .nat (.nat 5)), (.build .cons (.list .nat) [(.value .nat (.nat 6)), (.build .cons (.list .nat) [(.value .nat (.nat 7)), (.build .cons (.list .nat) [(.value .nat (.nat 8)), (.build .cons (.list .nat) [(.value .nat (.nat 9)), (.build .nil (.list .nat) [])])])])])])])])])])])]), (.call 5 [(.var 0)])])) [(.arm .none [] (.value .nat (.nat 0))), (.arm .some [1] (.first (.var 1)))]) }, + { parameters := [0, 1, 2], types := [(.fn [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat))), (.pair (.option (.pair .nat .int)) (.list .nat)), (.list .int)], result := (.pair (.option (.pair .nat .int)) (.list .nat)), + body := (.«match» (.pair (.option (.pair .nat .int)) (.list .nat)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 3 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1], types := [(.pair (.option (.pair .nat .int)) (.list .nat)), .int], result := (.pair (.option (.pair .nat .int)) (.list .nat)), + body := (.«match» (.pair (.option (.pair .nat .int)) (.list .nat)) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair (.option (.pair .nat .int)) (.list .nat)) [(.«match» (.option (.pair .nat .int)) (.first (.var 0)) [(.arm .none [] (.build .some (.option (.pair .nat .int)) [(.build .pair (.pair .nat .int) [(.var 2), (.var 1)])])), (.arm .some [4] (.cond (.«match» .bool (.prim .compare [(.second (.var 4)), (.var 1)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.build .some (.option (.pair .nat .int)) [(.build .pair (.pair .nat .int) [(.var 2), (.var 1)])]) (.build .some (.option (.pair .nat .int)) [(.var 4)])))]), (.var 3)]))]) }, + { parameters := [0], types := [(.adt 0)], result := (.list .int), + body := (.call 6 [(.call 7 [(.call 8 [(.call 9 [(.call 10 [(.var 0)])])])])]) }, + { parameters := [0], types := [(.list .int)], result := (.list .int), + body := (.first (.call 11 [(.closure 12 [(.var 0)]), (.build .pair (.pair (.list .int) (.list .int)) [(.build .nil (.list .int) []), (.call 13 [])]), (.call 14 [])])) }, + { parameters := [0], types := [(.list .int)], result := (.list .int), + body := (.call 15 [(.closure 16 []), (.build .nil (.list .int) []), (.var 0)]) }, + { parameters := [0], types := [(.list .int)], result := (.list .int), + body := (.call 15 [(.closure 17 []), (.build .nil (.list .int) []), (.var 0)]) }, + { parameters := [0], types := [(.list .int)], result := (.list .int), + body := (.first (.call 11 [(.closure 18 [(.var 0)]), (.build .pair (.pair (.list .int) (.list .int)) [(.build .nil (.list .int) []), (.call 19 [])]), (.call 20 [])])) }, + { parameters := [0], types := [(.adt 0)], result := (.list .int), + body := (.call 21 [(.var 0)]) }, + { parameters := [0, 1, 2], types := [(.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (.pair (.list .int) (.list .int)), (.list (.list .int))], result := (.pair (.list .int) (.list .int)), + body := (.«match» (.pair (.list .int) (.list .int)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 11 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1, 2], types := [(.list .int), (.pair (.list .int) (.list .int)), (.list .int)], result := (.pair (.list .int) (.list .int)), + body := (.«match» (.pair (.list .int) (.list .int)) (.second (.var 1)) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.build .pair (.pair (.list .int) (.list .int)) [(.prim .append [(.first (.var 1)), (.build .cons (.list .int) [(.prim .intSub [(.var 3), (.prim .intNeg [(.first (.call 22 [(.closure 23 []), (.build .pair (.pair .int (.list .int)) [(.value .int (.int 0)), (.var 0)]), (.var 2)]))])]), (.build .nil (.list .int) [])])]), (.var 4)]))]) }, + { parameters := [], types := [], result := (.list .int), + body := (.build .cons (.list .int) [(.value .int (.int (-6))), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int (-4))), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int (-6))), (.build .cons (.list .int) [(.value .int (.int (-3))), (.build .cons (.list .int) [(.value .int (.int (-7))), (.build .cons (.list .int) [(.value .int (.int (-6))), (.build .nil (.list .int) [])])])])])])])])])])]) }, + { parameters := [], types := [], result := (.list (.list .int)), + body := (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .nil (.list (.list .int)) [])])])])])])])])])])]) }, + { parameters := [0, 1, 2], types := [(.fn [(.list .int), .int] (.list .int)), (.list .int), (.list .int)], result := (.list .int), + body := (.«match» (.list .int) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 15 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1], types := [(.list .int), .int], result := (.list .int), + body := (.prim .append [(.var 0), (.build .cons (.list .int) [(.«let» 2 .int (.prim .intQuot [(.var 1), (.value .int (.int 4)), (.value .int (.int 0))]) (.cond (.«match» .bool (.prim .compare [(.var 2), (.value .int (.int 0))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.value .int (.int 0)) (.cond (.«match» .bool (.prim .compare [(.value .int (.int 127)), (.var 2)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.value .int (.int 127)) (.var 2)))), (.build .nil (.list .int) [])])]) }, + { parameters := [0, 1], types := [(.list .int), .int], result := (.list .int), + body := (.prim .append [(.var 0), (.build .cons (.list .int) [(.cond (.«match» .bool (.prim .compare [(.var 1), (.value .int (.int 0))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.value .int (.int 0)) (.var 1)), (.build .nil (.list .int) [])])]) }, + { parameters := [0, 1, 2], types := [(.list .int), (.pair (.list .int) (.list .int)), (.list .int)], result := (.pair (.list .int) (.list .int)), + body := (.«match» (.pair (.list .int) (.list .int)) (.second (.var 1)) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.build .pair (.pair (.list .int) (.list .int)) [(.prim .append [(.first (.var 1)), (.build .cons (.list .int) [(.prim .intSub [(.var 3), (.prim .intNeg [(.first (.call 22 [(.closure 24 []), (.build .pair (.pair .int (.list .int)) [(.value .int (.int 0)), (.var 0)]), (.var 2)]))])]), (.build .nil (.list .int) [])])]), (.var 4)]))]) }, + { parameters := [], types := [], result := (.list .int), + body := (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int 3)), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .nil (.list .int) [])])])])])])])])])])])])]) }, + { parameters := [], types := [], result := (.list (.list .int)), + body := (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 3)), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int (-1))), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int (-3))), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int (-1))), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int (-4))), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 3)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .nil (.list (.list .int)) [])])])])])])])])])])])])]) }, + { parameters := [0], types := [(.adt 0)], result := (.list .int), + body := (.«match» (.list .int) (.var 0) [(.arm (.adt 0) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 1) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 2) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 3) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 4) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 5) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 6) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 7) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 8) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 9) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])]))]) }, + { parameters := [0, 1, 2], types := [(.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (.pair .int (.list .int)), (.list .int)], result := (.pair .int (.list .int)), + body := (.«match» (.pair .int (.list .int)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 22 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1], types := [(.pair .int (.list .int)), .int], result := (.pair .int (.list .int)), + body := (.«match» (.pair .int (.list .int)) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair .int (.list .int)) [(.prim .intSub [(.first (.var 0)), (.prim .intNeg [(.prim .intMul [(.var 1), (.var 2)])])]), (.var 3)]))]) }, + { parameters := [0, 1], types := [(.pair .int (.list .int)), .int], result := (.pair .int (.list .int)), + body := (.«match» (.pair .int (.list .int)) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair .int (.list .int)) [(.prim .intSub [(.first (.var 0)), (.prim .intNeg [(.prim .intMul [(.var 1), (.var 2)])])]), (.var 3)]))]) }] } + +def __enc_0 : (Models.Glyphs.Glyph) -> _root_.LexLeanTarget.TargetSyntax.Value + | Models.Glyphs.Glyph.g0 => _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [] + | Models.Glyphs.Glyph.g1 => _root_.LexLeanTarget.TargetSyntax.Value.adt 1 [] + | Models.Glyphs.Glyph.g2 => _root_.LexLeanTarget.TargetSyntax.Value.adt 2 [] + | Models.Glyphs.Glyph.g3 => _root_.LexLeanTarget.TargetSyntax.Value.adt 3 [] + | Models.Glyphs.Glyph.g4 => _root_.LexLeanTarget.TargetSyntax.Value.adt 4 [] + | Models.Glyphs.Glyph.g5 => _root_.LexLeanTarget.TargetSyntax.Value.adt 5 [] + | Models.Glyphs.Glyph.g6 => _root_.LexLeanTarget.TargetSyntax.Value.adt 6 [] + | Models.Glyphs.Glyph.g7 => _root_.LexLeanTarget.TargetSyntax.Value.adt 7 [] + | Models.Glyphs.Glyph.g8 => _root_.LexLeanTarget.TargetSyntax.Value.adt 8 [] + | Models.Glyphs.Glyph.g9 => _root_.LexLeanTarget.TargetSyntax.Value.adt 9 [] + +def __fits_4 (_ybest : (Prod (Option (Prod Nat Int)) (List Nat))) (_yscore : Int) : Bool := + (Bool.true && (match (_ybest).2 with | List.nil => Bool.true | List.cons _ylabel _ylabels => (((Bool.true && (match (_ybest).1 with | Option.none => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.some _yleader => ((Bool.true && (Bool.true && Bool.true)) && (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) else ((Bool.true && Bool.true) && Bool.true))))) && (Bool.true && Bool.true)) && Bool.true))) + +theorem __rel_4 (_ybest : (Prod (Option (Prod Nat Int)) (List Nat))) (_yscore : Int) : _root_.LexLeanPreservation.FunRel __prog 4 [((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) _ybest), (_root_.LexLeanTarget.TargetSyntax.Value.int _yscore)] (_root_.LexLeanPreservation.Rel (__fits_4 _ybest _yscore) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) ((match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) | Option.some _yleader => (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int))))), _ylabels))))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (List Nat)) => (match __a with | List.nil => Bool.true | List.cons _ylabel _ylabels => (((Bool.true && (match (_ybest).1 with | Option.none => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.some _yleader => ((Bool.true && (Bool.true && Bool.true)) && (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) else ((Bool.true && Bool.true) && Bool.true))))) && (Bool.true && Bool.true)) && Bool.true))) (fun (__a : (List Nat)) => (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (match __a with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) | Option.some _yleader => (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int))))), _ylabels))) (_ybest).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (List Nat)) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | List.cons _ylabel _ylabels => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (fun (__a : (Option (Prod Nat Int))) => (match __a with | Option.none => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.some _yleader => ((Bool.true && (Bool.true && Bool.true)) && (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) else ((Bool.true && Bool.true) && Bool.true))))) (fun (__a : (Option (Prod Nat Int))) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (match __a with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) | Option.some _yleader => (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int)))))) (_ybest).1 (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (Option (Prod Nat Int))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.some _yleader => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) else ((Bool.true && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (if __b then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int))))) (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) (_root_.LexLeanPreservation.conv_lessThan (_root_.LexLeanPreservation.keySpec_int (_root_.LexLeanCollections.Key.compare : Int -> Int -> Ordering) (fun _ _ => rfl)) _root_.LexLeanCollections.lessThan (fun _ _ __h => by simp only [_root_.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [_root_.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [_root_.LexLeanCollections.lessThan, __h]) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some))))))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) + +def __fits_23 (_ysum : (Prod Int (List Int))) (_yweight : Int) : Bool := + (Bool.true && (match (_ysum).2 with | List.nil => Bool.true | List.cons _yvalue _yrest => ((((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) && Bool.true) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int))) && (Bool.true && Bool.true)) && Bool.true))) + +theorem __rel_23 (_ysum : (Prod Int (List Int))) (_yweight : Int) : _root_.LexLeanPreservation.FunRel __prog 23 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) _ysum), (_root_.LexLeanTarget.TargetSyntax.Value.int _yweight)] (_root_.LexLeanPreservation.Rel (__fits_23 _ysum _yweight) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) ((match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest))))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (fun (__a : (List Int)) => (match __a with | List.nil => Bool.true | List.cons _yvalue _yrest => ((((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) && Bool.true) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int))) && (Bool.true && Bool.true)) && Bool.true))) (fun (__a : (List Int)) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (match __a with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest))) (_ysum).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (List Int)) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | List.cons _yvalue _yrest => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intMul _yweight _yvalue)) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_intNeg (_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intSub (_ysum).1 (_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) + +def __fits_12 (_yvalues : (List Int)) (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) : Bool := + (Bool.true && (match (_yacc).2 with | List.nil => Bool.true | List.cons _ybias _ybiases => ((((Bool.true && (((((Bool.true && (((((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_23 __p0 __p1) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow))) && Bool.true) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int))) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && Bool.true))) + +theorem __rel_12 (_yvalues : (List Int)) (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) : _root_.LexLeanPreservation.FunRel __prog 12 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues), ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) _yacc), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yrow)] (_root_.LexLeanPreservation.Rel (__fits_12 _yvalues _yacc _yrow) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) ((match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((_root_.LexLeanRuntime.append ((_yacc).1) (((_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases))))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (fun (__a : (List Int)) => (match __a with | List.nil => Bool.true | List.cons _ybias _ybiases => ((((Bool.true && (((((Bool.true && (((((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_23 __p0 __p1) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow))) && Bool.true) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int))) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && Bool.true))) (fun (__a : (List Int)) => (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (match __a with | List.nil => _yacc | List.cons _ybias _ybiases => ((_root_.LexLeanRuntime.append ((_yacc).1) (((_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases))) (_yacc).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (List Int)) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | List.cons _ybias _ybiases => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.int) (es := (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int))) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (fun _ => rfl) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_23 __p0 __p1) 23 [] (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __rel_23 __p0 __p1) (p := __prog) (fi := 22) (ta := .int) (ts := (.pair .int (.list .int))) rfl (((0 : Int), _yvalues)) (_yrow)))) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_intNeg ((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intSub _ybias (_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (_yacc).1 ((_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int)))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) + +def __fits_13 : Bool := + ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) + +theorem __rel_13 : _root_.LexLeanPreservation.FunRel __prog 13 [] (_root_.LexLeanPreservation.Rel (__fits_13) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.outputBias))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) + +def __fits_14 : Bool := + ((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) + +theorem __rel_14 : _root_.LexLeanPreservation.FunRel __prog 14 [] (_root_.LexLeanPreservation.Rel (__fits_14) ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (Models.Recognizer.outputWeights))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) + +def __fits_6 (_yvalues : (List Int)) : Bool := + (((Bool.true && Bool.true) && ((((Bool.true && Bool.true) && ((Bool.true && (__fits_13)) && Bool.true)) && Bool.true) && ((Bool.true && (__fits_14)) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __fits_12 (_yvalues) __p0 __p1) ((fun (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) => (match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((_root_.LexLeanRuntime.append ((_yacc).1) (((_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases)))) ((([] : List Int), (Models.Recognizer.outputBias))) ((Models.Recognizer.outputWeights)))) + +attribute [local irreducible] Models.Recognizer.outputBias Models.Recognizer.outputWeights in +theorem __rel_6 (_yvalues : (List Int)) : _root_.LexLeanPreservation.FunRel __prog 6 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues)] (_root_.LexLeanPreservation.Rel (__fits_6 _yvalues) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.DigitNet.layer4 _yvalues))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call _root_.LexLeanPreservation.convL_nil (__rel_13)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call _root_.LexLeanPreservation.convL_nil (__rel_14)) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (es := (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int))) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (fun _ => rfl) ((fun (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) => (match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((_root_.LexLeanRuntime.append ((_yacc).1) (((_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases)))) (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __fits_12 (_yvalues) __p0 __p1) 12 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues)] (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __rel_12 (_yvalues) __p0 __p1) (p := __prog) (fi := 11) (ta := (.list .int)) (ts := (.pair (.list .int) (.list .int))) rfl ((([] : List Int), (Models.Recognizer.outputBias))) ((Models.Recognizer.outputWeights))))) + +def __fits_16 (_yout : (List Int)) (_yvalue : Int) : Bool := + ((Bool.true && ((((((Bool.true && (Bool.true && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.quotient (_yvalue) ((4 : Int)) ((0 : Int)) : Int))) && (let _yquotient : Int := (_root_.LexLeanRuntime.quotient (_yvalue) ((4 : Int)) ((0 : Int)) : Int); ((Bool.true && (Bool.true && Bool.true)) && (if (_root_.LexLeanCollections.lessThan (_yquotient) ((0 : Int)) : Bool) then Bool.true else ((Bool.true && (Bool.true && Bool.true)) && (if (_root_.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) then Bool.true else Bool.true)))))) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) + +theorem __rel_16 (_yout : (List Int)) (_yvalue : Int) : _root_.LexLeanPreservation.FunRel __prog 16 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yout), (_root_.LexLeanTarget.TargetSyntax.Value.int _yvalue)] (_root_.LexLeanPreservation.Rel (__fits_16 _yout _yvalue) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) ((_root_.LexLeanRuntime.append (_yout) (((let _yquotient : Int := (_root_.LexLeanRuntime.quotient (_yvalue) ((4 : Int)) ((0 : Int)) : Int); (if (_root_.LexLeanCollections.lessThan (_yquotient) ((0 : Int)) : Bool) then (0 : Int) else (if (_root_.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) then (127 : Int) else _yquotient))) :: ([] : List Int))) : (List Int))))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (let _yquotient : Int := (_root_.LexLeanRuntime.quotient (_yvalue) ((4 : Int)) ((0 : Int)) : Int); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.prim_intQuot _yvalue (4 : Int) (0 : Int))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else ((Bool.true && (Bool.true && Bool.true)) && (if (_root_.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) then Bool.true else Bool.true)))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.int (if __b then (0 : Int) else (if (_root_.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) then (127 : Int) else _yquotient))) (_root_.LexLeanCollections.lessThan (_yquotient) ((0 : Int)) : Bool) (_root_.LexLeanPreservation.conv_lessThan (_root_.LexLeanPreservation.keySpec_int (_root_.LexLeanCollections.Key.compare : Int -> Int -> Ordering) (fun _ _ => rfl)) _root_.LexLeanCollections.lessThan (fun _ _ __h => by simp only [_root_.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [_root_.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [_root_.LexLeanCollections.lessThan, __h]) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))) (fun _ => _root_.LexLeanPreservation.conv_value) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.int (if __b then (127 : Int) else _yquotient)) (_root_.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) (_root_.LexLeanPreservation.conv_lessThan (_root_.LexLeanPreservation.keySpec_int (_root_.LexLeanCollections.Key.compare : Int -> Int -> Ordering) (fun _ _ => rfl)) _root_.LexLeanCollections.lessThan (fun _ _ __h => by simp only [_root_.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [_root_.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [_root_.LexLeanCollections.lessThan, __h]) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (fun _ => _root_.LexLeanPreservation.conv_value) (fun _ => (_root_.LexLeanPreservation.conv_var rfl)))))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) _yout ((let _yquotient : Int := (_root_.LexLeanRuntime.quotient (_yvalue) ((4 : Int)) ((0 : Int)) : Int); (if (_root_.LexLeanCollections.lessThan (_yquotient) ((0 : Int)) : Bool) then (0 : Int) else (if (_root_.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) then (127 : Int) else _yquotient))) :: ([] : List Int)))) + +def __fits_7 (_yvalues : (List Int)) : Bool := + ((Bool.true && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List Int)) (__p1 : Int) => __fits_16 __p0 __p1) ((fun (_yout : (List Int)) (_yvalue : Int) => (_root_.LexLeanRuntime.append (_yout) (((let _yquotient : Int := (_root_.LexLeanRuntime.quotient (_yvalue) ((4 : Int)) ((0 : Int)) : Int); (if (_root_.LexLeanCollections.lessThan (_yquotient) ((0 : Int)) : Bool) then (0 : Int) else (if (_root_.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) then (127 : Int) else _yquotient))) :: ([] : List Int))) : (List Int)))) (([] : List Int)) (_yvalues))) + +theorem __rel_7 (_yvalues : (List Int)) : _root_.LexLeanPreservation.FunRel __prog 7 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues)] (_root_.LexLeanPreservation.Rel (__fits_7 _yvalues) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.DigitNet.layer3 _yvalues))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.int) (es := (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (fun _ => rfl) ((fun (_yout : (List Int)) (_yvalue : Int) => (_root_.LexLeanRuntime.append (_yout) (((let _yquotient : Int := (_root_.LexLeanRuntime.quotient (_yvalue) ((4 : Int)) ((0 : Int)) : Int); (if (_root_.LexLeanCollections.lessThan (_yquotient) ((0 : Int)) : Bool) then (0 : Int) else (if (_root_.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) then (127 : Int) else _yquotient))) :: ([] : List Int))) : (List Int)))) (fun (__p0 : (List Int)) (__p1 : Int) => __fits_16 __p0 __p1) 16 [] (fun (__p0 : (List Int)) (__p1 : Int) => __rel_16 __p0 __p1) (p := __prog) (fi := 15) (ta := .int) (ts := (.list .int)) rfl (([] : List Int)) (_yvalues))) + +def __fits_17 (_yout : (List Int)) (_yvalue : Int) : Bool := + ((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (if (_root_.LexLeanCollections.lessThan (_yvalue) ((0 : Int)) : Bool) then Bool.true else Bool.true)) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) + +theorem __rel_17 (_yout : (List Int)) (_yvalue : Int) : _root_.LexLeanPreservation.FunRel __prog 17 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yout), (_root_.LexLeanTarget.TargetSyntax.Value.int _yvalue)] (_root_.LexLeanPreservation.Rel (__fits_17 _yout _yvalue) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) ((_root_.LexLeanRuntime.append (_yout) (((if (_root_.LexLeanCollections.lessThan (_yvalue) ((0 : Int)) : Bool) then (0 : Int) else _yvalue) :: ([] : List Int))) : (List Int))))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.int (if __b then (0 : Int) else _yvalue)) (_root_.LexLeanCollections.lessThan (_yvalue) ((0 : Int)) : Bool) (_root_.LexLeanPreservation.conv_lessThan (_root_.LexLeanPreservation.keySpec_int (_root_.LexLeanCollections.Key.compare : Int -> Int -> Ordering) (fun _ _ => rfl)) _root_.LexLeanCollections.lessThan (fun _ _ __h => by simp only [_root_.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [_root_.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [_root_.LexLeanCollections.lessThan, __h]) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))) (fun _ => _root_.LexLeanPreservation.conv_value) (fun _ => (_root_.LexLeanPreservation.conv_var rfl))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) _yout ((if (_root_.LexLeanCollections.lessThan (_yvalue) ((0 : Int)) : Bool) then (0 : Int) else _yvalue) :: ([] : List Int)))) + +def __fits_8 (_yvalues : (List Int)) : Bool := + ((Bool.true && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List Int)) (__p1 : Int) => __fits_17 __p0 __p1) ((fun (_yout : (List Int)) (_yvalue : Int) => (_root_.LexLeanRuntime.append (_yout) (((if (_root_.LexLeanCollections.lessThan (_yvalue) ((0 : Int)) : Bool) then (0 : Int) else _yvalue) :: ([] : List Int))) : (List Int)))) (([] : List Int)) (_yvalues))) + +theorem __rel_8 (_yvalues : (List Int)) : _root_.LexLeanPreservation.FunRel __prog 8 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues)] (_root_.LexLeanPreservation.Rel (__fits_8 _yvalues) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.DigitNet.layer2 _yvalues))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.int) (es := (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (fun _ => rfl) ((fun (_yout : (List Int)) (_yvalue : Int) => (_root_.LexLeanRuntime.append (_yout) (((if (_root_.LexLeanCollections.lessThan (_yvalue) ((0 : Int)) : Bool) then (0 : Int) else _yvalue) :: ([] : List Int))) : (List Int)))) (fun (__p0 : (List Int)) (__p1 : Int) => __fits_17 __p0 __p1) 17 [] (fun (__p0 : (List Int)) (__p1 : Int) => __rel_17 __p0 __p1) (p := __prog) (fi := 15) (ta := .int) (ts := (.list .int)) rfl (([] : List Int)) (_yvalues))) + +def __fits_24 (_ysum : (Prod Int (List Int))) (_yweight : Int) : Bool := + (Bool.true && (match (_ysum).2 with | List.nil => Bool.true | List.cons _yvalue _yrest => ((((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) && Bool.true) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int))) && (Bool.true && Bool.true)) && Bool.true))) + +theorem __rel_24 (_ysum : (Prod Int (List Int))) (_yweight : Int) : _root_.LexLeanPreservation.FunRel __prog 24 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) _ysum), (_root_.LexLeanTarget.TargetSyntax.Value.int _yweight)] (_root_.LexLeanPreservation.Rel (__fits_24 _ysum _yweight) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) ((match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest))))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (fun (__a : (List Int)) => (match __a with | List.nil => Bool.true | List.cons _yvalue _yrest => ((((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) && Bool.true) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int))) && (Bool.true && Bool.true)) && Bool.true))) (fun (__a : (List Int)) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (match __a with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest))) (_ysum).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (List Int)) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | List.cons _yvalue _yrest => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intMul _yweight _yvalue)) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_intNeg (_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intSub (_ysum).1 (_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) + +def __fits_18 (_yvalues : (List Int)) (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) : Bool := + (Bool.true && (match (_yacc).2 with | List.nil => Bool.true | List.cons _ybias _ybiases => ((((Bool.true && (((((Bool.true && (((((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_24 __p0 __p1) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow))) && Bool.true) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int))) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && Bool.true))) + +theorem __rel_18 (_yvalues : (List Int)) (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) : _root_.LexLeanPreservation.FunRel __prog 18 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues), ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) _yacc), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yrow)] (_root_.LexLeanPreservation.Rel (__fits_18 _yvalues _yacc _yrow) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) ((match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((_root_.LexLeanRuntime.append ((_yacc).1) (((_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases))))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (fun (__a : (List Int)) => (match __a with | List.nil => Bool.true | List.cons _ybias _ybiases => ((((Bool.true && (((((Bool.true && (((((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_24 __p0 __p1) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow))) && Bool.true) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int))) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && Bool.true))) (fun (__a : (List Int)) => (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (match __a with | List.nil => _yacc | List.cons _ybias _ybiases => ((_root_.LexLeanRuntime.append ((_yacc).1) (((_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases))) (_yacc).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (List Int)) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | List.cons _ybias _ybiases => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.int) (es := (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int))) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (fun _ => rfl) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_24 __p0 __p1) 24 [] (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __rel_24 __p0 __p1) (p := __prog) (fi := 22) (ta := .int) (ts := (.pair .int (.list .int))) rfl (((0 : Int), _yvalues)) (_yrow)))) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_intNeg ((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intSub _ybias (_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (_yacc).1 ((_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int)))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) + +def __fits_19 : Bool := + ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) + +theorem __rel_19 : _root_.LexLeanPreservation.FunRel __prog 19 [] (_root_.LexLeanPreservation.Rel (__fits_19) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.hiddenBias))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) + +def __fits_20 : Bool := + ((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) + +theorem __rel_20 : _root_.LexLeanPreservation.FunRel __prog 20 [] (_root_.LexLeanPreservation.Rel (__fits_20) ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (Models.Recognizer.hiddenWeights))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) + +def __fits_9 (_yvalues : (List Int)) : Bool := + (((Bool.true && Bool.true) && ((((Bool.true && Bool.true) && ((Bool.true && (__fits_19)) && Bool.true)) && Bool.true) && ((Bool.true && (__fits_20)) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __fits_18 (_yvalues) __p0 __p1) ((fun (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) => (match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((_root_.LexLeanRuntime.append ((_yacc).1) (((_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases)))) ((([] : List Int), (Models.Recognizer.hiddenBias))) ((Models.Recognizer.hiddenWeights)))) + +attribute [local irreducible] Models.Recognizer.hiddenBias Models.Recognizer.hiddenWeights in +theorem __rel_9 (_yvalues : (List Int)) : _root_.LexLeanPreservation.FunRel __prog 9 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues)] (_root_.LexLeanPreservation.Rel (__fits_9 _yvalues) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.DigitNet.layer1 _yvalues))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call _root_.LexLeanPreservation.convL_nil (__rel_19)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call _root_.LexLeanPreservation.convL_nil (__rel_20)) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (es := (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int))) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (fun _ => rfl) ((fun (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) => (match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((_root_.LexLeanRuntime.append ((_yacc).1) (((_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases)))) (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __fits_18 (_yvalues) __p0 __p1) 18 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues)] (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __rel_18 (_yvalues) __p0 __p1) (p := __prog) (fi := 11) (ta := (.list .int)) (ts := (.pair (.list .int) (.list .int))) rfl ((([] : List Int), (Models.Recognizer.hiddenBias))) ((Models.Recognizer.hiddenWeights))))) + +def __fits_21 (glyph : (Models.Glyphs.Glyph)) : Bool := + (Bool.true && (match glyph with | Models.Glyphs.Glyph.g0 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g1 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g2 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g3 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g4 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g5 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g6 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g7 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g8 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g9 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) + +theorem __rel_21 (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.FunRel __prog 21 [(__enc_0 glyph)] (_root_.LexLeanPreservation.Rel (__fits_21 glyph) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Glyphs.encode glyph))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_0 (fun (__a : (Models.Glyphs.Glyph)) => (match __a with | Models.Glyphs.Glyph.g0 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g1 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g2 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g3 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g4 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g5 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g6 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g7 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g8 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g9 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) (fun (__a : (Models.Glyphs.Glyph)) => (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (match __a with | Models.Glyphs.Glyph.g0 => ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g1 => ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g2 => ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((1 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g3 => ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((0 : Int) :: ((1 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g4 => ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g5 => ((1 : Int) :: ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g6 => ((1 : Int) :: ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g7 => ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g8 => ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g9 => ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ([] : List Int)))))))))) glyph (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Models.Glyphs.Glyph)) _ => match __a with | Models.Glyphs.Glyph.g0 => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons)) | Models.Glyphs.Glyph.g1 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))) | Models.Glyphs.Glyph.g2 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons)))) | Models.Glyphs.Glyph.g3 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))))) | Models.Glyphs.Glyph.g4 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons)))))) | Models.Glyphs.Glyph.g5 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))))))) | Models.Glyphs.Glyph.g6 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons)))))))) | Models.Glyphs.Glyph.g7 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))))))))) | Models.Glyphs.Glyph.g8 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons)))))))))) | Models.Glyphs.Glyph.g9 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))))))))))))) + +def __fits_10 (glyph : (Models.Glyphs.Glyph)) : Bool := + ((Bool.true && Bool.true) && (__fits_21 (glyph))) + +attribute [local irreducible] Models.Glyphs.encode in +theorem __rel_10 (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.FunRel __prog 10 [(__enc_0 glyph)] (_root_.LexLeanPreservation.Rel (__fits_10 glyph) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.DigitNet.encoded glyph))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_21 (glyph))) + +def __fits_5 (glyph : (Models.Glyphs.Glyph)) : Bool := + ((((((((((Bool.true && Bool.true) && (__fits_10 (glyph))) && Bool.true) && (__fits_9 ((Models.Recognizer.DigitNet.encoded (glyph))))) && Bool.true) && (__fits_8 ((Models.Recognizer.DigitNet.layer1 ((Models.Recognizer.DigitNet.encoded (glyph))))))) && Bool.true) && (__fits_7 ((Models.Recognizer.DigitNet.layer2 ((Models.Recognizer.DigitNet.layer1 ((Models.Recognizer.DigitNet.encoded (glyph))))))))) && Bool.true) && (__fits_6 ((Models.Recognizer.DigitNet.layer3 ((Models.Recognizer.DigitNet.layer2 ((Models.Recognizer.DigitNet.layer1 ((Models.Recognizer.DigitNet.encoded (glyph))))))))))) + +attribute [local irreducible] Models.Recognizer.DigitNet.encoded Models.Recognizer.DigitNet.layer1 Models.Recognizer.DigitNet.layer2 Models.Recognizer.DigitNet.layer3 Models.Recognizer.DigitNet.layer4 in +theorem __rel_5 (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.FunRel __prog 5 [(__enc_0 glyph)] (_root_.LexLeanPreservation.Rel (__fits_5 glyph) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.DigitNet.logits glyph))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_10 (glyph))) _root_.LexLeanPreservation.convL_nil) (__rel_9 ((Models.Recognizer.DigitNet.encoded (glyph))))) _root_.LexLeanPreservation.convL_nil) (__rel_8 ((Models.Recognizer.DigitNet.layer1 ((Models.Recognizer.DigitNet.encoded (glyph))))))) _root_.LexLeanPreservation.convL_nil) (__rel_7 ((Models.Recognizer.DigitNet.layer2 ((Models.Recognizer.DigitNet.layer1 ((Models.Recognizer.DigitNet.encoded (glyph))))))))) _root_.LexLeanPreservation.convL_nil) (__rel_6 ((Models.Recognizer.DigitNet.layer3 ((Models.Recognizer.DigitNet.layer2 ((Models.Recognizer.DigitNet.layer1 ((Models.Recognizer.DigitNet.encoded (glyph))))))))))) + +def __fits_2 (glyph : (Models.Glyphs.Glyph)) : Bool := + (((Bool.true && ((((Bool.true && Bool.true) && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((Bool.true && Bool.true) && (__fits_5 (glyph))) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod (Option (Prod Nat Int)) (List Nat))) (__p1 : Int) => __fits_4 __p0 __p1) ((fun (_ybest : (Prod (Option (Prod Nat Int)) (List Nat))) (_yscore : Int) => (match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) | Option.some _yleader => (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int))))), _ylabels)))) (((Option.none : (Option (Prod Nat Int))), ((0 : Nat) :: ((1 : Nat) :: ((2 : Nat) :: ((3 : Nat) :: ((4 : Nat) :: ((5 : Nat) :: ((6 : Nat) :: ((7 : Nat) :: ((8 : Nat) :: ((9 : Nat) :: ([] : List Nat))))))))))))) ((Models.Recognizer.DigitNet.logits (glyph))))) && (match ((_root_.LexLeanCollections.listFold ((fun (_ybest : (Prod (Option (Prod Nat Int)) (List Nat))) (_yscore : Int) => (match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) | Option.some _yleader => (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int))))), _ylabels)))) (((Option.none : (Option (Prod Nat Int))), ((0 : Nat) :: ((1 : Nat) :: ((2 : Nat) :: ((3 : Nat) :: ((4 : Nat) :: ((5 : Nat) :: ((6 : Nat) :: ((7 : Nat) :: ((8 : Nat) :: ((9 : Nat) :: ([] : List Nat))))))))))))) ((Models.Recognizer.DigitNet.logits (glyph))) : (Prod (Option (Prod Nat Int)) (List Nat)))).1 with | Option.none => Bool.true | Option.some _ywinner => Bool.true)) + +attribute [local irreducible] Models.Recognizer.DigitNet.logits in +theorem __rel_2 (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.FunRel __prog 2 [(__enc_0 glyph)] (_root_.LexLeanPreservation.Rel (__fits_2 glyph) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Recognizer.DigitNet glyph))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (fun (__a : (Option (Prod Nat Int))) => (match __a with | Option.none => Bool.true | Option.some _ywinner => Bool.true)) (fun (__a : (Option (Prod Nat Int))) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match __a with | Option.none => (0 : Nat) | Option.some _ywinner => (_ywinner).1)) ((_root_.LexLeanCollections.listFold ((fun (_ybest : (Prod (Option (Prod Nat Int)) (List Nat))) (_yscore : Int) => (match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) | Option.some _yleader => (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int))))), _ylabels)))) (((Option.none : (Option (Prod Nat Int))), ((0 : Nat) :: ((1 : Nat) :: ((2 : Nat) :: ((3 : Nat) :: ((4 : Nat) :: ((5 : Nat) :: ((6 : Nat) :: ((7 : Nat) :: ((8 : Nat) :: ((9 : Nat) :: ([] : List Nat))))))))))))) ((Models.Recognizer.DigitNet.logits (glyph))) : (Prod (Option (Prod Nat Int)) (List Nat)))).1 (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_5 (glyph))) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.int) (es := (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (fun _ => rfl) ((fun (_ybest : (Prod (Option (Prod Nat Int)) (List Nat))) (_yscore : Int) => (match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) | Option.some _yleader => (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int))))), _ylabels)))) (fun (__p0 : (Prod (Option (Prod Nat Int)) (List Nat))) (__p1 : Int) => __fits_4 __p0 __p1) 4 [] (fun (__p0 : (Prod (Option (Prod Nat Int)) (List Nat))) (__p1 : Int) => __rel_4 __p0 __p1) (p := __prog) (fi := 3) (ta := .int) (ts := (.pair (.option (.pair .nat .int)) (.list .nat))) rfl (((Option.none : (Option (Prod Nat Int))), ((0 : Nat) :: ((1 : Nat) :: ((2 : Nat) :: ((3 : Nat) :: ((4 : Nat) :: ((5 : Nat) :: ((6 : Nat) :: ((7 : Nat) :: ((8 : Nat) :: ((9 : Nat) :: ([] : List Nat))))))))))))) ((Models.Recognizer.DigitNet.logits (glyph)))))) (fun (__a : (Option (Prod Nat Int))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value) | Option.some _ywinner => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)))))) + +def __fits_1 (_yinput : (Models.Glyphs.Glyph)) : Bool := + ((Bool.true && Bool.true) && (__fits_2 (_yinput))) + +attribute [local irreducible] Models.Recognizer.DigitNet in +theorem __rel_1 (_yinput : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.FunRel __prog 1 [(__enc_0 _yinput)] (_root_.LexLeanPreservation.Rel (__fits_1 _yinput) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Recognizer.DigitModel _yinput))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_2 (_yinput))) + +def __fits_0 (glyph : (Models.Glyphs.Glyph)) : Bool := + ((Bool.true && Bool.true) && (__fits_1 (glyph))) + +attribute [local irreducible] Models.Recognizer.DigitModel in +theorem __rel_0 (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.FunRel __prog 0 [(__enc_0 glyph)] (_root_.LexLeanPreservation.Rel (__fits_0 glyph) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Main.classify glyph))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (glyph))) + +def denote (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 glyph) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Main.classify glyph)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.RunConv __prog 0 [(__enc_0 glyph)] (_root_.LexLeanPreservation.Rel (__fits_0 glyph) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Main.classify glyph))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 glyph) + +end LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0 diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R0/Compose/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R0/Compose/RustStd.lean new file mode 100644 index 000000000..09baf8d61 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R0/Compose/RustStd.lean @@ -0,0 +1,28 @@ +import LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0 +import LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.Compose.RustStd + +theorem __wt_0 : ∀ (__v : (Models.Glyphs.Glyph)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.RustStd.program _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.RustStd.krate _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.RustStd.flags (_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.__enc_0 __v) (.adt 0) + | Models.Glyphs.Glyph.g0 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Models.Glyphs.Glyph.g1 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Models.Glyphs.Glyph.g2 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Models.Glyphs.Glyph.g3 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Models.Glyphs.Glyph.g4 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Models.Glyphs.Glyph.g5 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Models.Glyphs.Glyph.g6 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Models.Glyphs.Glyph.g7 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Models.Glyphs.Glyph.g8 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Models.Glyphs.Glyph.g9 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (glyph : (Models.Glyphs.Glyph)) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.__enc_0 glyph)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.denote glyph) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.__enc_0 glyph)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 glyph) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.root glyph) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.Compose.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R0/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R0/RustStd.lean new file mode 100644 index 000000000..9c10bce75 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R0/RustStd.lean @@ -0,0 +1,234 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [{ constructors := [[], [], [], [], [], [], [], [], [], []] }], functions := [ + { parameters := [0], types := [(.adt 0)], result := .nat, + body := (.call 1 [(.var 0)]) }, + { parameters := [0], types := [(.adt 0)], result := .nat, + body := (.call 2 [(.var 0)]) }, + { parameters := [0], types := [(.adt 0)], result := .nat, + body := (.«match» .nat (.first (.call 3 [(.closure 4 []), (.build .pair (.pair (.option (.pair .nat .int)) (.list .nat)) [(.build .none (.option (.pair .nat .int)) []), (.build .cons (.list .nat) [(.value .nat (.nat 0)), (.build .cons (.list .nat) [(.value .nat (.nat 1)), (.build .cons (.list .nat) [(.value .nat (.nat 2)), (.build .cons (.list .nat) [(.value .nat (.nat 3)), (.build .cons (.list .nat) [(.value .nat (.nat 4)), (.build .cons (.list .nat) [(.value .nat (.nat 5)), (.build .cons (.list .nat) [(.value .nat (.nat 6)), (.build .cons (.list .nat) [(.value .nat (.nat 7)), (.build .cons (.list .nat) [(.value .nat (.nat 8)), (.build .cons (.list .nat) [(.value .nat (.nat 9)), (.build .nil (.list .nat) [])])])])])])])])])])])]), (.call 5 [(.var 0)])])) [(.arm .none [] (.value .nat (.nat 0))), (.arm .some [1] (.first (.var 1)))]) }, + { parameters := [0, 1, 2], types := [(.fn [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat))), (.pair (.option (.pair .nat .int)) (.list .nat)), (.list .int)], result := (.pair (.option (.pair .nat .int)) (.list .nat)), + body := (.«match» (.pair (.option (.pair .nat .int)) (.list .nat)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 3 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1], types := [(.pair (.option (.pair .nat .int)) (.list .nat)), .int], result := (.pair (.option (.pair .nat .int)) (.list .nat)), + body := (.«match» (.pair (.option (.pair .nat .int)) (.list .nat)) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair (.option (.pair .nat .int)) (.list .nat)) [(.«match» (.option (.pair .nat .int)) (.first (.var 0)) [(.arm .none [] (.build .some (.option (.pair .nat .int)) [(.build .pair (.pair .nat .int) [(.var 2), (.var 1)])])), (.arm .some [4] (.cond (.«match» .bool (.prim .compare [(.second (.var 4)), (.var 1)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.build .some (.option (.pair .nat .int)) [(.build .pair (.pair .nat .int) [(.var 2), (.var 1)])]) (.build .some (.option (.pair .nat .int)) [(.var 4)])))]), (.var 3)]))]) }, + { parameters := [0], types := [(.adt 0)], result := (.list .int), + body := (.call 6 [(.call 7 [(.call 8 [(.call 9 [(.call 10 [(.var 0)])])])])]) }, + { parameters := [0], types := [(.list .int)], result := (.list .int), + body := (.first (.call 11 [(.closure 12 [(.var 0)]), (.build .pair (.pair (.list .int) (.list .int)) [(.build .nil (.list .int) []), (.call 13 [])]), (.call 14 [])])) }, + { parameters := [0], types := [(.list .int)], result := (.list .int), + body := (.call 15 [(.closure 16 []), (.build .nil (.list .int) []), (.var 0)]) }, + { parameters := [0], types := [(.list .int)], result := (.list .int), + body := (.call 15 [(.closure 17 []), (.build .nil (.list .int) []), (.var 0)]) }, + { parameters := [0], types := [(.list .int)], result := (.list .int), + body := (.first (.call 11 [(.closure 18 [(.var 0)]), (.build .pair (.pair (.list .int) (.list .int)) [(.build .nil (.list .int) []), (.call 19 [])]), (.call 20 [])])) }, + { parameters := [0], types := [(.adt 0)], result := (.list .int), + body := (.call 21 [(.var 0)]) }, + { parameters := [0, 1, 2], types := [(.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (.pair (.list .int) (.list .int)), (.list (.list .int))], result := (.pair (.list .int) (.list .int)), + body := (.«match» (.pair (.list .int) (.list .int)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 11 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1, 2], types := [(.list .int), (.pair (.list .int) (.list .int)), (.list .int)], result := (.pair (.list .int) (.list .int)), + body := (.«match» (.pair (.list .int) (.list .int)) (.second (.var 1)) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.build .pair (.pair (.list .int) (.list .int)) [(.prim .append [(.first (.var 1)), (.build .cons (.list .int) [(.prim .intSub [(.var 3), (.prim .intNeg [(.first (.call 22 [(.closure 23 []), (.build .pair (.pair .int (.list .int)) [(.value .int (.int 0)), (.var 0)]), (.var 2)]))])]), (.build .nil (.list .int) [])])]), (.var 4)]))]) }, + { parameters := [], types := [], result := (.list .int), + body := (.build .cons (.list .int) [(.value .int (.int (-6))), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int (-4))), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int (-6))), (.build .cons (.list .int) [(.value .int (.int (-3))), (.build .cons (.list .int) [(.value .int (.int (-7))), (.build .cons (.list .int) [(.value .int (.int (-6))), (.build .nil (.list .int) [])])])])])])])])])])]) }, + { parameters := [], types := [], result := (.list (.list .int)), + body := (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .nil (.list (.list .int)) [])])])])])])])])])])]) }, + { parameters := [0, 1, 2], types := [(.fn [(.list .int), .int] (.list .int)), (.list .int), (.list .int)], result := (.list .int), + body := (.«match» (.list .int) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 15 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1], types := [(.list .int), .int], result := (.list .int), + body := (.prim .append [(.var 0), (.build .cons (.list .int) [(.«let» 2 .int (.prim .intQuot [(.var 1), (.value .int (.int 4)), (.value .int (.int 0))]) (.cond (.«match» .bool (.prim .compare [(.var 2), (.value .int (.int 0))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.value .int (.int 0)) (.cond (.«match» .bool (.prim .compare [(.value .int (.int 127)), (.var 2)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.value .int (.int 127)) (.var 2)))), (.build .nil (.list .int) [])])]) }, + { parameters := [0, 1], types := [(.list .int), .int], result := (.list .int), + body := (.prim .append [(.var 0), (.build .cons (.list .int) [(.cond (.«match» .bool (.prim .compare [(.var 1), (.value .int (.int 0))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.value .int (.int 0)) (.var 1)), (.build .nil (.list .int) [])])]) }, + { parameters := [0, 1, 2], types := [(.list .int), (.pair (.list .int) (.list .int)), (.list .int)], result := (.pair (.list .int) (.list .int)), + body := (.«match» (.pair (.list .int) (.list .int)) (.second (.var 1)) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.build .pair (.pair (.list .int) (.list .int)) [(.prim .append [(.first (.var 1)), (.build .cons (.list .int) [(.prim .intSub [(.var 3), (.prim .intNeg [(.first (.call 22 [(.closure 24 []), (.build .pair (.pair .int (.list .int)) [(.value .int (.int 0)), (.var 0)]), (.var 2)]))])]), (.build .nil (.list .int) [])])]), (.var 4)]))]) }, + { parameters := [], types := [], result := (.list .int), + body := (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int 3)), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .nil (.list .int) [])])])])])])])])])])])])]) }, + { parameters := [], types := [], result := (.list (.list .int)), + body := (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 3)), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int (-1))), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int (-3))), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int (-1))), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int (-4))), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 3)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .nil (.list (.list .int)) [])])])])])])])])])])])])]) }, + { parameters := [0], types := [(.adt 0)], result := (.list .int), + body := (.«match» (.list .int) (.var 0) [(.arm (.adt 0) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 1) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 2) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 3) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 4) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 5) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 6) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 7) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 8) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 9) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])]))]) }, + { parameters := [0, 1, 2], types := [(.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (.pair .int (.list .int)), (.list .int)], result := (.pair .int (.list .int)), + body := (.«match» (.pair .int (.list .int)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 22 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1], types := [(.pair .int (.list .int)), .int], result := (.pair .int (.list .int)), + body := (.«match» (.pair .int (.list .int)) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair .int (.list .int)) [(.prim .intSub [(.first (.var 0)), (.prim .intNeg [(.prim .intMul [(.var 1), (.var 2)])])]), (.var 3)]))]) }, + { parameters := [0, 1], types := [(.pair .int (.list .int)), .int], result := (.pair .int (.list .int)), + body := (.«match» (.pair .int (.list .int)) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair .int (.list .int)) [(.prim .intSub [(.first (.var 0)), (.prim .intNeg [(.prim .intMul [(.var 1), (.var 2)])])]), (.var 3)]))]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := ((.enum (.adt 0) [{ number := 0, fields := [] }, { number := 1, fields := [] }, { number := 2, fields := [] }, { number := 3, fields := [] }, { number := 4, fields := [] }, { number := 5, fields := [] }, { number := 6, fields := [] }, { number := 7, fields := [] }, { number := 8, fields := [] }, { number := 9, fields := [] }]) :: + (.enum (.fn 0) [{ number := 4, fields := [] }]) :: + (.apply 0 [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat)) false [{ function := 4, captures := [], functionFallible := false }]) :: + (.enum (.fn 1) [{ number := 12, fields := [(.list .int)] }, { number := 18, fields := [(.list .int)] }]) :: + (.apply 1 [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int)) true [{ function := 12, captures := [.clone], functionFallible := true }, { function := 18, captures := [.clone], functionFallible := true }]) :: + (.enum (.fn 2) [{ number := 16, fields := [] }, { number := 17, fields := [] }]) :: + (.apply 2 [(.list .int), .int] (.list .int) true [{ function := 16, captures := [], functionFallible := true }, { function := 17, captures := [], functionFallible := false }]) :: + (.enum (.fn 3) [{ number := 23, fields := [] }, { number := 24, fields := [] }]) :: + (.apply 3 [(.pair .int (.list .int)), .int] (.pair .int (.list .int)) true [{ function := 23, captures := [], functionFallible := true }, { function := 24, captures := [], functionFallible := true }]) :: + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [] (.call (.function 1) [(.move (.generated .binding 0))] false))) :: + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [] (.call (.function 2) [(.move (.generated .binding 0))] false))) :: + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 2)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.call (.function 3) [(.construct (.closure 0 4) []), (.pair (.construct (.none (.pair .nat .int)) []) (.construct .cons [(.lit (.nat 0)), (.construct .cons [(.lit (.nat 1)), (.construct .cons [(.lit (.nat 2)), (.construct .cons [(.lit (.nat 3)), (.construct .cons [(.lit (.nat 4)), (.construct .cons [(.lit (.nat 5)), (.construct .cons [(.lit (.nat 6)), (.construct .cons [(.lit (.nat 7)), (.construct .cons [(.lit (.nat 8)), (.construct .cons [(.lit (.nat 9)), (.construct (.nil .nat) [])])])])])])])])])])])), (.call (.function 5) [(.move (.generated .binding 0))] true)] false))] (.move (.generated .part 1)))))] (.matchOn (.move (.generated .holder 2)) [(.mk .none (.mk [] (.succeed (.lit (.nat 0))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.copy (.generated .binding 1)))] (.succeed (.move (.generated .part 3)))))]))) :: + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := (.pair (.option (.pair .nat .int)) (.list .nat)) }, { pattern := (.bind (.generated .binding 2)), type := (.list .int) }] (.pair (.option (.pair .nat .int)) (.list .nat)) (.mk [(.mk (.bind (.generated .holder 4)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 4)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 3) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 5)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 5) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)))]))) :: + (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.pair (.option (.pair .nat .int)) (.list .nat)) }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.pair (.option (.pair .nat .int)) (.list .nat)) (.mk [(.mk (.bind (.generated .holder 7)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 6))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 6)))))] (.matchOn (.uncons (.generated .holder 7)) [(.mk .none (.mk [] (.move (.generated .binding 0)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 8)))))] (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 10))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 10))))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.cond (.matchOn (.move (.generated .holder 13)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.copy (.generated .binding 4))])))))]))) (.move (.generated .binding 3)))))]))) :: + (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.list .int)) (.mk [] (.call (.function 6) [(.call (.function 7) [(.call (.function 8) [(.call (.function 9) [(.call (.function 10) [(.move (.generated .binding 0))] false)] true)] true)] true)] false))) :: + (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }] (.fallible (.list .int)) (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.call (.function 11) [(.construct (.closure 1 12) [(.move (.generated .binding 0))]), (.pair (.construct (.nil .int) []) (.call (.function 13) [] false)), (.call (.function 14) [] false)] true))] (.succeed (.move (.generated .part 14))))) :: + (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }] (.fallible (.list .int)) (.mk [] (.call (.function 15) [(.construct (.closure 2 16) []), (.construct (.nil .int) []), (.move (.generated .binding 0))] false))) :: + (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }] (.fallible (.list .int)) (.mk [] (.call (.function 15) [(.construct (.closure 2 17) []), (.construct (.nil .int) []), (.move (.generated .binding 0))] false))) :: + (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }] (.fallible (.list .int)) (.mk [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.call (.function 11) [(.construct (.closure 1 18) [(.move (.generated .binding 0))]), (.pair (.construct (.nil .int) []) (.call (.function 19) [] false)), (.call (.function 20) [] false)] true))] (.succeed (.move (.generated .part 15))))) :: + (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.list .int) (.mk [] (.call (.function 21) [(.move (.generated .binding 0))] false))) :: + (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 1) }, { pattern := (.bind (.generated .binding 1)), type := (.pair (.list .int) (.list .int)) }, { pattern := (.bind (.generated .binding 2)), type := (.list (.list .int)) }] (.fallible (.pair (.list .int) (.list .int))) (.mk [(.mk (.bind (.generated .holder 16)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 16)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 11) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 17)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 17) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]))) :: + (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }, { pattern := (.bind (.generated .binding 1)), type := (.pair (.list .int) (.list .int)) }, { pattern := (.bind (.generated .binding 2)), type := (.list .int) }] (.fallible (.pair (.list .int) (.list .int))) (.mk [(.mk (.bind (.generated .holder 19)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 18))]) none (.clone (.generated .binding 1)))] (.move (.generated .part 18)))))] (.matchOn (.uncons (.generated .holder 19)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 25)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 20))))), (.mk (.bind (.generated .operand 26)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 24)) none (.block (.mk [(.mk (.bind (.generated .operand 22)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 21)), .wild]) none (.call (.function 22) [(.construct (.closure 3 23) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 21)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 22))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false))) (.move (.generated .binding 4))))))]))) :: + (.function (.generated .function 13) [] (.list .int) (.mk [] (.construct .cons [(.lit (.int (-6))), (.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int (-4))), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int (-6))), (.construct .cons [(.lit (.int (-3))), (.construct .cons [(.lit (.int (-7))), (.construct .cons [(.lit (.int (-6))), (.construct (.nil .int) [])])])])])])])])])])]))) :: + (.function (.generated .function 14) [] (.list (.list .int)) (.mk [] (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct (.nil (.list .int)) [])])])])])])])])])])]))) :: + (.function (.generated .function 15) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 2) }, { pattern := (.bind (.generated .binding 1)), type := (.list .int) }, { pattern := (.bind (.generated .binding 2)), type := (.list .int) }] (.fallible (.list .int)) (.mk [(.mk (.bind (.generated .holder 27)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 27)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 15) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 28)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 28) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]))) :: + (.function (.generated .function 16) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.fallible (.list .int)) (.mk [(.mk (.bind (.generated .operand 38)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 39)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .binding 2)) (some .int) (.block (.mk [(.mk (.bind (.generated .operand 29)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 30)) none (.lit (.int 4))), (.mk (.bind (.generated .operand 31)) none (.lit (.int 0)))] (.call (.runtime .intQuot) [(.move (.generated .operand 29)), (.move (.generated .operand 30)), (.move (.generated .operand 31))] true)))), (.mk (.bind (.generated .holder 34)) none (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 33)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] false))))] (.cond (.matchOn (.move (.generated .holder 34)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 0))) (.mk [(.mk (.bind (.generated .holder 37)) none (.block (.mk [(.mk (.bind (.generated .operand 35)) none (.lit (.int 127))), (.mk (.bind (.generated .operand 36)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] false))))] (.cond (.matchOn (.move (.generated .holder 37)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 127))) (.mk [] (.copy (.generated .binding 2)))))))), (.construct (.nil .int) [])]))] (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] false)))) :: + (.function (.generated .function 17) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.list .int) (.mk [(.mk (.bind (.generated .operand 43)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 44)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .holder 42)) none (.block (.mk [(.mk (.bind (.generated .operand 40)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 41)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 40)), (.move (.generated .operand 41))] false))))] (.cond (.matchOn (.move (.generated .holder 42)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 0))) (.mk [] (.copy (.generated .binding 1)))))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 43)), (.move (.generated .operand 44))] false))) :: + (.function (.generated .function 18) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }, { pattern := (.bind (.generated .binding 1)), type := (.pair (.list .int) (.list .int)) }, { pattern := (.bind (.generated .binding 2)), type := (.list .int) }] (.fallible (.pair (.list .int) (.list .int))) (.mk [(.mk (.bind (.generated .holder 46)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 45))]) none (.clone (.generated .binding 1)))] (.move (.generated .part 45)))))] (.matchOn (.uncons (.generated .holder 46)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 47)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 47))))), (.mk (.bind (.generated .operand 53)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 50)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 51)) none (.block (.mk [(.mk (.bind (.generated .operand 49)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 48)), .wild]) none (.call (.function 22) [(.construct (.closure 3 24) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 48)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 49))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false))) (.move (.generated .binding 4))))))]))) :: + (.function (.generated .function 19) [] (.list .int) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int 3)), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int 2)), (.construct (.nil .int) [])])])])])])])])])])])])]))) :: + (.function (.generated .function 20) [] (.list (.list .int)) (.mk [] (.construct .cons [(.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 3)), (.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int (-1))), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int (-3))), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int (-1))), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int (-2))), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int (-4))), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 3)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct (.nil (.list .int)) [])])])])])])])])])])])])]))) :: + (.function (.generated .function 21) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.list .int) (.mk [(.mk (.bind (.generated .holder 54)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 54)) [(.mk (.adt 0 0 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 1 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 2 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 3 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 4 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 5 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 6 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 7 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 8 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 9 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])))]))) :: + (.function (.generated .function 22) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 3) }, { pattern := (.bind (.generated .binding 1)), type := (.pair .int (.list .int)) }, { pattern := (.bind (.generated .binding 2)), type := (.list .int) }] (.fallible (.pair .int (.list .int))) (.mk [(.mk (.bind (.generated .holder 55)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 55)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 22) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 56)) (some (.fn 3)) (.move (.generated .binding 0)))] (.apply (.generated .callee 56) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]))) :: + (.function (.generated .function 23) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .int (.list .int)) }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.fallible (.pair .int (.list .int))) (.mk [(.mk (.bind (.generated .holder 58)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 57))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 57)))))] (.matchOn (.uncons (.generated .holder 58)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 63)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 59))))), (.mk (.bind (.generated .operand 64)) none (.block (.mk [(.mk (.bind (.generated .operand 62)) none (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 61)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 62))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 63)), (.move (.generated .operand 64))] true))) (.move (.generated .binding 3))))))]))) :: + (.function (.generated .function 24) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .int (.list .int)) }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.fallible (.pair .int (.list .int))) (.mk [(.mk (.bind (.generated .holder 66)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 65))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 65)))))] (.matchOn (.uncons (.generated .holder 66)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 71)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 67))))), (.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.bind (.generated .operand 70)) none (.block (.mk [(.mk (.bind (.generated .operand 68)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 69)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 68)), (.move (.generated .operand 69))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 70))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 71)), (.move (.generated .operand 72))] true))) (.move (.generated .binding 3))))))]))) :: + []) } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [(([(.pair (.option (.pair .nat .int)) (.list .nat)), .int], (.pair (.option (.pair .nat .int)) (.list .nat))), false), (([(.pair (.list .int) (.list .int)), (.list .int)], (.pair (.list .int) (.list .int))), true), (([(.list .int), .int], (.list .int)), true), (([(.pair .int (.list .int)), .int], (.pair .int (.list .int))), true)] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.move (.generated .binding 0))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.callF (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 2) [(.move (.generated .binding 0))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.callF (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 2)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.call (.function 3) [(.construct (.closure 0 4) []), (.pair (.construct (.none (.pair .nat .int)) []) (.construct .cons [(.lit (.nat 0)), (.construct .cons [(.lit (.nat 1)), (.construct .cons [(.lit (.nat 2)), (.construct .cons [(.lit (.nat 3)), (.construct .cons [(.lit (.nat 4)), (.construct .cons [(.lit (.nat 5)), (.construct .cons [(.lit (.nat 6)), (.construct .cons [(.lit (.nat 7)), (.construct .cons [(.lit (.nat 8)), (.construct .cons [(.lit (.nat 9)), (.construct (.nil .nat) [])])])])])])])])])])])), (.call (.function 5) [(.move (.generated .binding 0))] true)] false))] (.move (.generated .part 1)))))], (.matchOn (.move (.generated .holder 2)) [(.mk .none (.mk [] (.succeed (.lit (.nat 0))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.copy (.generated .binding 1)))] (.succeed (.move (.generated .part 3)))))]), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option (.pair .nat .int))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.call (.function 3) [(.construct (.closure 0 4) []), (.pair (.construct (.none (.pair .nat .int)) []) (.construct .cons [(.lit (.nat 0)), (.construct .cons [(.lit (.nat 1)), (.construct .cons [(.lit (.nat 2)), (.construct .cons [(.lit (.nat 3)), (.construct .cons [(.lit (.nat 4)), (.construct .cons [(.lit (.nat 5)), (.construct .cons [(.lit (.nat 6)), (.construct .cons [(.lit (.nat 7)), (.construct .cons [(.lit (.nat 8)), (.construct .cons [(.lit (.nat 9)), (.construct (.nil .nat) [])])])])])])])])])])])), (.call (.function 5) [(.move (.generated .binding 0))] true)] false))]) (tail := (.move (.generated .part 1))) (Corr.first (ta := (.option (.pair .nat .int))) (tb := (.list .nat)) (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat))), (.pair (.option (.pair .nat .int)) (.list .nat)), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := false) (ff := false) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl)) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 0)))) (Corr.mCons (Γ' := [(1, (.pair .nat .int), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.copy (.generated .binding 1)))]) (tail := (.succeed (.move (.generated .part 3)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.first (ta := .nat) (tb := .int) (Corr.var rfl rfl) rfl))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 4)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 4)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 3) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 5)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 5) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)))]), [(2, (.list .int), (some 2)), (1, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 1)), (0, (.fn [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 1)), (0, (.fn [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(4, (.list .int), (some 4)), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 1)), (0, (.fn [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 3) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 5)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 5) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.fn [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat))), (.pair (.option (.pair .nat .int)) (.list .nat)), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 5)) (some (.fn 0)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 5) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false)) (Corr.apply (ps := [(.pair (.option (.pair .nat .int)) (.list .nat)), .int]) (af := false) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun4 : FunOK program krate flags 4 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 7)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 6))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 6)))))], (.matchOn (.uncons (.generated .holder 7)) [(.mk .none (.mk [] (.move (.generated .binding 0)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 8)))))] (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 10))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 10))))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.cond (.matchOn (.move (.generated .holder 13)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.copy (.generated .binding 4))])))))]))) (.move (.generated .binding 3)))))]), [(1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 6))]) none (.clone (.generated .binding 0)))]) (tail := (.move (.generated .part 6))) (Corr.second (ta := (.option (.pair .nat .int))) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.pair (.block (.mk [(.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 8)))))] (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 10))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 10))))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.cond (.matchOn (.move (.generated .holder 13)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.copy (.generated .binding 4))])))))]))) (.move (.generated .binding 3)))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 8)))))]) (tail := (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 10))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 10))))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.cond (.matchOn (.move (.generated .holder 13)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.copy (.generated .binding 4))])))))])) (Corr.matchArms (st := (.option (.pair .nat .int))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.move (.generated .binding 0)))]) (tail := (.move (.generated .part 8))) (Corr.first (ta := (.option (.pair .nat .int))) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))])) (Corr.mCons (Γ' := [(4, (.pair .nat .int), (some 4)), (3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 10))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 10))))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 13)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.copy (.generated .binding 4))])))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 10))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 10))))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))]) (ce := (.matchOn (.move (.generated .holder 13)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 11)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 10))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 10))))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 10))]) none (.copy (.generated .binding 4)))]) (tail := (.move (.generated .part 10))) (Corr.second (ta := .nat) (tb := .int) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.pair .nat .int), (some 4)), (3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.pair .nat .int), (some 4)), (3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.pair .nat .int), (some 4)), (3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))])) (lb := []) (tb := (.construct .some [(.copy (.generated .binding 4))])) (Corr.build (ts := [(.pair .nat .int)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lNil))) rfl) (Corr.build (ts := [(.pair .nat .int)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)))) rfl rfl rfl (Corr.build (ts := [(.pair .nat .int)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))))) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun5 : FunOK program krate flags 5 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 6) [(.call (.function 7) [(.call (.function 8) [(.call (.function 9) [(.call (.function 10) [(.move (.generated .binding 0))] false)] true)] true)] true)] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.callF (ts := [(.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ + +theorem fun6 : FunOK program krate flags 6 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.call (.function 11) [(.construct (.closure 1 12) [(.move (.generated .binding 0))]), (.pair (.construct (.nil .int) []) (.call (.function 13) [] false)), (.call (.function 14) [] false)] true))], (.succeed (.move (.generated .part 14))), [(0, (.list .int), (some 0))], rfl, rfl, + (Corr.fOfB (Corr.first (ta := (.list .int)) (tb := (.list .int)) (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (.pair (.list .int) (.list .int)), (.list (.list .int))]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [(.list .int)]) (mask := [false]) (af := true) (ff := true) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := []) (Corr.opsNil) rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := []) (Corr.opsNil) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl))⟩⟩ + +theorem fun7 : FunOK program krate flags 7 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 15) [(.construct (.closure 2 16) []), (.construct (.nil .int) []), (.move (.generated .binding 0))] false), [(0, (.list .int), (some 0))], rfl, rfl, + (Corr.callF (ts := [(.fn [(.list .int), .int] (.list .int)), (.list .int), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ + +theorem fun8 : FunOK program krate flags 8 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 15) [(.construct (.closure 2 17) []), (.construct (.nil .int) []), (.move (.generated .binding 0))] false), [(0, (.list .int), (some 0))], rfl, rfl, + (Corr.callF (ts := [(.fn [(.list .int), .int] (.list .int)), (.list .int), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := false) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ + +theorem fun9 : FunOK program krate flags 9 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.call (.function 11) [(.construct (.closure 1 18) [(.move (.generated .binding 0))]), (.pair (.construct (.nil .int) []) (.call (.function 19) [] false)), (.call (.function 20) [] false)] true))], (.succeed (.move (.generated .part 15))), [(0, (.list .int), (some 0))], rfl, rfl, + (Corr.fOfB (Corr.first (ta := (.list .int)) (tb := (.list .int)) (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (.pair (.list .int) (.list .int)), (.list (.list .int))]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [(.list .int)]) (mask := [false]) (af := true) (ff := true) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := []) (Corr.opsNil) rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := []) (Corr.opsNil) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl))⟩⟩ + +theorem fun10 : FunOK program krate flags 10 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 21) [(.move (.generated .binding 0))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun11 : FunOK program krate flags 11 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 16)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 16)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 11) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 17)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 17) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list (.list .int)), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.list .int))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.list .int)), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list (.list .int)), (some 4)), (3, (.list .int), (some 3)), (2, (.list (.list .int)), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 11) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 17)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 17) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (.pair (.list .int) (.list .int)), (.list (.list .int))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 17)) (some (.fn 1)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 17) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true)) (Corr.apply (ps := [(.pair (.list .int) (.list .int)), (.list .int)]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun12 : FunOK program krate flags 12 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 19)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 18))]) none (.clone (.generated .binding 1)))] (.move (.generated .part 18)))))], (.matchOn (.uncons (.generated .holder 19)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 25)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 20))))), (.mk (.bind (.generated .operand 26)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 24)) none (.block (.mk [(.mk (.bind (.generated .operand 22)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 21)), .wild]) none (.call (.function 22) [(.construct (.closure 3 23) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 21)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 22))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false))) (.move (.generated .binding 4))))))]), [(2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 18))]) none (.clone (.generated .binding 1)))]) (tail := (.move (.generated .part 18))) (Corr.second (ta := (.list .int)) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .int), (some 4)), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 25)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 20))))), (.mk (.bind (.generated .operand 26)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 24)) none (.block (.mk [(.mk (.bind (.generated .operand 22)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 21)), .wild]) none (.call (.function 22) [(.construct (.closure 3 23) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 21)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 22))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false))) (.move (.generated .binding 4))))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 25)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 20))))), (.mk (.bind (.generated .operand 26)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 24)) none (.block (.mk [(.mk (.bind (.generated .operand 22)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 21)), .wild]) none (.call (.function 22) [(.construct (.closure 3 23) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 21)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 22))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] true))), (.construct (.nil .int) [])]))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false)) (Corr.prim (ts := [(.list .int), (.list .int)]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 20))) (Corr.first (ta := (.list .int)) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 24)) none (.block (.mk [(.mk (.bind (.generated .operand 22)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 21)), .wild]) none (.call (.function 22) [(.construct (.closure 3 23) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 21)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 22))] true))))]) (tail := (.call (.runtime .intSub) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 22)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 21)), .wild]) none (.call (.function 22) [(.construct (.closure 3 23) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 21)))))]) (tail := (.call (.runtime .intNeg) [(.move (.generated .operand 22))] true)) (Corr.prim (ts := [.int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 21)), .wild]) none (.call (.function 22) [(.construct (.closure 3 23) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))]) (tail := (.move (.generated .part 21))) (Corr.first (ta := .int) (tb := (.list .int)) (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (.pair .int (.list .int)), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun13 : FunOK program krate flags 13 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct .cons [(.lit (.int (-6))), (.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int (-4))), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int (-6))), (.construct .cons [(.lit (.int (-3))), (.construct .cons [(.lit (.int (-7))), (.construct .cons [(.lit (.int (-6))), (.construct (.nil .int) [])])])])])])])])])])]), [], rfl, rfl, + (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)⟩⟩ + +theorem fun14 : FunOK program krate flags 14 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct (.nil (.list .int)) [])])])])])])])])])])]), [], rfl, rfl, + (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)⟩⟩ + +theorem fun15 : FunOK program krate flags 15 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 27)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 27)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 15) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 28)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 28) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list .int), (some 2)), (1, (.list .int), (some 1)), (0, (.fn [(.list .int), .int] (.list .int)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, (.list .int), (some 1)), (0, (.fn [(.list .int), .int] (.list .int)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .int), (some 4)), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, (.list .int), (some 1)), (0, (.fn [(.list .int), .int] (.list .int)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 15) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 28)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 28) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.list .int), .int] (.list .int)), (.list .int), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 28)) (some (.fn 2)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 28) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true)) (Corr.apply (ps := [(.list .int), .int]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun16 : FunOK program krate flags 16 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 38)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 39)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .binding 2)) (some .int) (.block (.mk [(.mk (.bind (.generated .operand 29)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 30)) none (.lit (.int 4))), (.mk (.bind (.generated .operand 31)) none (.lit (.int 0)))] (.call (.runtime .intQuot) [(.move (.generated .operand 29)), (.move (.generated .operand 30)), (.move (.generated .operand 31))] true)))), (.mk (.bind (.generated .holder 34)) none (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 33)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] false))))] (.cond (.matchOn (.move (.generated .holder 34)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 0))) (.mk [(.mk (.bind (.generated .holder 37)) none (.block (.mk [(.mk (.bind (.generated .operand 35)) none (.lit (.int 127))), (.mk (.bind (.generated .operand 36)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] false))))] (.cond (.matchOn (.move (.generated .holder 37)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 127))) (.mk [] (.copy (.generated .binding 2)))))))), (.construct (.nil .int) [])]))], (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] false)), [(1, .int, (some 1)), (0, (.list .int), (some 0))], rfl, rfl, + (Corr.fOfB (Corr.prim (ts := [(.list .int), (.list .int)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .binding 2)) (some .int) (.block (.mk [(.mk (.bind (.generated .operand 29)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 30)) none (.lit (.int 4))), (.mk (.bind (.generated .operand 31)) none (.lit (.int 0)))] (.call (.runtime .intQuot) [(.move (.generated .operand 29)), (.move (.generated .operand 30)), (.move (.generated .operand 31))] true)))), (.mk (.bind (.generated .holder 34)) none (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 33)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 34)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 0))) (.mk [(.mk (.bind (.generated .holder 37)) none (.block (.mk [(.mk (.bind (.generated .operand 35)) none (.lit (.int 127))), (.mk (.bind (.generated .operand 36)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] false))))] (.cond (.matchOn (.move (.generated .holder 37)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 127))) (.mk [] (.copy (.generated .binding 2))))))) (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 29)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 30)) none (.lit (.int 4))), (.mk (.bind (.generated .operand 31)) none (.lit (.int 0)))]) (tail := (.call (.runtime .intQuot) [(.move (.generated .operand 29)), (.move (.generated .operand 30)), (.move (.generated .operand 31))] true)) (Corr.prim (ts := [.int, .int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 34)) none (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 33)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] false))))]) (ce := (.matchOn (.move (.generated .holder 34)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 33)) none (.lit (.int 0)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] false)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(2, .int, (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, .int, (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(2, .int, (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.int 0))) (lb := [(.mk (.bind (.generated .holder 37)) none (.block (.mk [(.mk (.bind (.generated .operand 35)) none (.lit (.int 127))), (.mk (.bind (.generated .operand 36)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] false))))]) (tb := (.cond (.matchOn (.move (.generated .holder 37)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 127))) (.mk [] (.copy (.generated .binding 2))))) (Corr.bOfE (Corr.value rfl rfl)) (Corr.cond (lc := [(.mk (.bind (.generated .holder 37)) none (.block (.mk [(.mk (.bind (.generated .operand 35)) none (.lit (.int 127))), (.mk (.bind (.generated .operand 36)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] false))))]) (ce := (.matchOn (.move (.generated .holder 37)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 35)) none (.lit (.int 127))), (.mk (.bind (.generated .operand 36)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] false)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(2, .int, (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, .int, (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(2, .int, (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.int 127))) (lb := []) (tb := (.copy (.generated .binding 2))) (Corr.bOfE (Corr.value rfl rfl)) (Corr.bOfE (Corr.var rfl rfl)))))))) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl))⟩⟩ + +theorem fun17 : FunOK program krate flags 17 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 43)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 44)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .holder 42)) none (.block (.mk [(.mk (.bind (.generated .operand 40)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 41)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 40)), (.move (.generated .operand 41))] false))))] (.cond (.matchOn (.move (.generated .holder 42)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 0))) (.mk [] (.copy (.generated .binding 1)))))), (.construct (.nil .int) [])]))], (.call (.runtime .appendList) [(.move (.generated .operand 43)), (.move (.generated .operand 44))] false), [(1, .int, (some 1)), (0, (.list .int), (some 0))], rfl, rfl, + (Corr.prim (ts := [(.list .int), (.list .int)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 42)) none (.block (.mk [(.mk (.bind (.generated .operand 40)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 41)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 40)), (.move (.generated .operand 41))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 42)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 0))) (.mk [] (.copy (.generated .binding 1))))) (Corr.cond (lc := [(.mk (.bind (.generated .holder 42)) none (.block (.mk [(.mk (.bind (.generated .operand 40)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 41)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 40)), (.move (.generated .operand 41))] false))))]) (ce := (.matchOn (.move (.generated .holder 42)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 40)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 41)) none (.lit (.int 0)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 40)), (.move (.generated .operand 41))] false)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.int 0))) (lb := []) (tb := (.copy (.generated .binding 1))) (Corr.bOfE (Corr.value rfl rfl)) (Corr.bOfE (Corr.var rfl rfl))))) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun18 : FunOK program krate flags 18 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 46)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 45))]) none (.clone (.generated .binding 1)))] (.move (.generated .part 45)))))], (.matchOn (.uncons (.generated .holder 46)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 47)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 47))))), (.mk (.bind (.generated .operand 53)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 50)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 51)) none (.block (.mk [(.mk (.bind (.generated .operand 49)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 48)), .wild]) none (.call (.function 22) [(.construct (.closure 3 24) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 48)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 49))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false))) (.move (.generated .binding 4))))))]), [(2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 45))]) none (.clone (.generated .binding 1)))]) (tail := (.move (.generated .part 45))) (Corr.second (ta := (.list .int)) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .int), (some 4)), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 47)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 47))))), (.mk (.bind (.generated .operand 53)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 50)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 51)) none (.block (.mk [(.mk (.bind (.generated .operand 49)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 48)), .wild]) none (.call (.function 22) [(.construct (.closure 3 24) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 48)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 49))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false))) (.move (.generated .binding 4))))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 47)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 47))))), (.mk (.bind (.generated .operand 53)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 50)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 51)) none (.block (.mk [(.mk (.bind (.generated .operand 49)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 48)), .wild]) none (.call (.function 22) [(.construct (.closure 3 24) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 48)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 49))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true))), (.construct (.nil .int) [])]))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false)) (Corr.prim (ts := [(.list .int), (.list .int)]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 47)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 47))) (Corr.first (ta := (.list .int)) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 50)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 51)) none (.block (.mk [(.mk (.bind (.generated .operand 49)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 48)), .wild]) none (.call (.function 22) [(.construct (.closure 3 24) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 48)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 49))] true))))]) (tail := (.call (.runtime .intSub) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 49)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 48)), .wild]) none (.call (.function 22) [(.construct (.closure 3 24) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 48)))))]) (tail := (.call (.runtime .intNeg) [(.move (.generated .operand 49))] true)) (Corr.prim (ts := [.int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 48)), .wild]) none (.call (.function 22) [(.construct (.closure 3 24) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))]) (tail := (.move (.generated .part 48))) (Corr.first (ta := .int) (tb := (.list .int)) (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (.pair .int (.list .int)), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun19 : FunOK program krate flags 19 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int 3)), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int 2)), (.construct (.nil .int) [])])])])])])])])])])])])]), [], rfl, rfl, + (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)⟩⟩ + +theorem fun20 : FunOK program krate flags 20 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct .cons [(.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 3)), (.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int (-1))), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int (-3))), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int (-1))), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int (-2))), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int (-4))), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 3)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct (.nil (.list .int)) [])])])])])])])])])])])])]), [], rfl, rfl, + (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)⟩⟩ + +theorem fun21 : FunOK program krate flags 21 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 54)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 54)) [(.mk (.adt 0 0 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 1 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 2 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 3 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 4 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 5 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 6 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 7 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 8 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 9 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])))]), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 3) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 4) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 5) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 6) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 7) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 8) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 9) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun22 : FunOK program krate flags 22 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 55)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 55)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 22) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 56)) (some (.fn 3)) (.move (.generated .binding 0)))] (.apply (.generated .callee 56) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list .int), (some 2)), (1, (.pair .int (.list .int)), (some 1)), (0, (.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, (.pair .int (.list .int)), (some 1)), (0, (.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .int), (some 4)), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, (.pair .int (.list .int)), (some 1)), (0, (.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 22) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 56)) (some (.fn 3)) (.move (.generated .binding 0)))] (.apply (.generated .callee 56) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (.pair .int (.list .int)), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 56)) (some (.fn 3)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 56) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true)) (Corr.apply (ps := [(.pair .int (.list .int)), .int]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun23 : FunOK program krate flags 23 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 58)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 57))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 57)))))], (.matchOn (.uncons (.generated .holder 58)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 63)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 59))))), (.mk (.bind (.generated .operand 64)) none (.block (.mk [(.mk (.bind (.generated .operand 62)) none (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 61)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 62))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 63)), (.move (.generated .operand 64))] true))) (.move (.generated .binding 3))))))]), [(1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 57))]) none (.clone (.generated .binding 0)))]) (tail := (.move (.generated .part 57))) (Corr.second (ta := .int) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 0)))) (Corr.mCons (Γ' := [(3, (.list .int), (some 3)), (2, .int, (some 2)), (1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 63)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 59))))), (.mk (.bind (.generated .operand 64)) none (.block (.mk [(.mk (.bind (.generated .operand 62)) none (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 61)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 62))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 63)), (.move (.generated .operand 64))] true))) (.move (.generated .binding 3))))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 63)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 59))))), (.mk (.bind (.generated .operand 64)) none (.block (.mk [(.mk (.bind (.generated .operand 62)) none (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 61)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 62))] true))))]) (tail := (.call (.runtime .intSub) [(.move (.generated .operand 63)), (.move (.generated .operand 64))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.move (.generated .binding 0)))]) (tail := (.move (.generated .part 59))) (Corr.first (ta := .int) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 62)) none (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 61)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] true))))]) (tail := (.call (.runtime .intNeg) [(.move (.generated .operand 62))] true)) (Corr.prim (ts := [.int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 60)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 61)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .intMul) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun24 : FunOK program krate flags 24 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 66)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 65))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 65)))))], (.matchOn (.uncons (.generated .holder 66)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 71)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 67))))), (.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.bind (.generated .operand 70)) none (.block (.mk [(.mk (.bind (.generated .operand 68)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 69)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 68)), (.move (.generated .operand 69))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 70))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 71)), (.move (.generated .operand 72))] true))) (.move (.generated .binding 3))))))]), [(1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 65))]) none (.clone (.generated .binding 0)))]) (tail := (.move (.generated .part 65))) (Corr.second (ta := .int) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 0)))) (Corr.mCons (Γ' := [(3, (.list .int), (some 3)), (2, .int, (some 2)), (1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 71)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 67))))), (.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.bind (.generated .operand 70)) none (.block (.mk [(.mk (.bind (.generated .operand 68)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 69)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 68)), (.move (.generated .operand 69))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 70))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 71)), (.move (.generated .operand 72))] true))) (.move (.generated .binding 3))))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 71)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 67))))), (.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.bind (.generated .operand 70)) none (.block (.mk [(.mk (.bind (.generated .operand 68)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 69)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 68)), (.move (.generated .operand 69))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 70))] true))))]) (tail := (.call (.runtime .intSub) [(.move (.generated .operand 71)), (.move (.generated .operand 72))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.move (.generated .binding 0)))]) (tail := (.move (.generated .part 67))) (Corr.first (ta := .int) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 70)) none (.block (.mk [(.mk (.bind (.generated .operand 68)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 69)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 68)), (.move (.generated .operand 69))] true))))]) (tail := (.call (.runtime .intNeg) [(.move (.generated .operand 70))] true)) (Corr.prim (ts := [.int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 68)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 69)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .intMul) [(.move (.generated .operand 68)), (.move (.generated .operand 69))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | 4 => exact fun4 + | 5 => exact fun5 + | 6 => exact fun6 + | 7 => exact fun7 + | 8 => exact fun8 + | 9 => exact fun9 + | 10 => exact fun10 + | 11 => exact fun11 + | 12 => exact fun12 + | 13 => exact fun13 + | 14 => exact fun14 + | 15 => exact fun15 + | 16 => exact fun16 + | 17 => exact fun17 + | 18 => exact fun18 + | 19 => exact fun19 + | 20 => exact fun20 + | 21 => exact fun21 + | 22 => exact fun22 + | 23 => exact fun23 + | 24 => exact fun24 + | _ + 25 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R1.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R1.lean new file mode 100644 index 000000000..ea73ac6e6 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R1.lean @@ -0,0 +1,245 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Models.Flows +import Models.Glyphs +import Models.Ledger +import Models.Main +import Models.Pipeline +import Models.Policy +import Models.Recognizer +import Models.Session +import Models.Triage +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [{ constructors := [[], [], [], [], [], [], [], [], [], []] }], functions := [ + { parameters := [0], types := [(.adt 0)], result := (.result .nat (.pair .bool .bool)), + body := (.«let» 1 (.adt 0) (.var 0) (.«let» 2 .nat (.call 1 [(.var 1)]) (.cond (.call 2 [(.var 1), (.var 2)]) (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)]) (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])))) }, + { parameters := [0], types := [(.adt 0)], result := .nat, + body := (.call 3 [(.var 0)]) }, + { parameters := [0, 1], types := [(.adt 0), .nat], result := .bool, + body := (.prim .natEq [(.var 1), (.call 4 [(.var 0)])]) }, + { parameters := [0], types := [(.adt 0)], result := .nat, + body := (.«match» .nat (.first (.call 5 [(.closure 6 []), (.build .pair (.pair (.option (.pair .nat .int)) (.list .nat)) [(.build .none (.option (.pair .nat .int)) []), (.build .cons (.list .nat) [(.value .nat (.nat 0)), (.build .cons (.list .nat) [(.value .nat (.nat 1)), (.build .cons (.list .nat) [(.value .nat (.nat 2)), (.build .cons (.list .nat) [(.value .nat (.nat 3)), (.build .cons (.list .nat) [(.value .nat (.nat 4)), (.build .cons (.list .nat) [(.value .nat (.nat 5)), (.build .cons (.list .nat) [(.value .nat (.nat 6)), (.build .cons (.list .nat) [(.value .nat (.nat 7)), (.build .cons (.list .nat) [(.value .nat (.nat 8)), (.build .cons (.list .nat) [(.value .nat (.nat 9)), (.build .nil (.list .nat) [])])])])])])])])])])])]), (.call 7 [(.var 0)])])) [(.arm .none [] (.value .nat (.nat 0))), (.arm .some [1] (.first (.var 1)))]) }, + { parameters := [0], types := [(.adt 0)], result := .nat, + body := (.«match» .nat (.var 0) [(.arm (.adt 0) [] (.value .nat (.nat 0))), (.arm (.adt 1) [] (.value .nat (.nat 1))), (.arm (.adt 2) [] (.value .nat (.nat 2))), (.arm (.adt 3) [] (.value .nat (.nat 3))), (.arm (.adt 4) [] (.value .nat (.nat 4))), (.arm (.adt 5) [] (.value .nat (.nat 5))), (.arm (.adt 6) [] (.value .nat (.nat 6))), (.arm (.adt 7) [] (.value .nat (.nat 7))), (.arm (.adt 8) [] (.value .nat (.nat 8))), (.arm (.adt 9) [] (.value .nat (.nat 9)))]) }, + { parameters := [0, 1, 2], types := [(.fn [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat))), (.pair (.option (.pair .nat .int)) (.list .nat)), (.list .int)], result := (.pair (.option (.pair .nat .int)) (.list .nat)), + body := (.«match» (.pair (.option (.pair .nat .int)) (.list .nat)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 5 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1], types := [(.pair (.option (.pair .nat .int)) (.list .nat)), .int], result := (.pair (.option (.pair .nat .int)) (.list .nat)), + body := (.«match» (.pair (.option (.pair .nat .int)) (.list .nat)) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair (.option (.pair .nat .int)) (.list .nat)) [(.«match» (.option (.pair .nat .int)) (.first (.var 0)) [(.arm .none [] (.build .some (.option (.pair .nat .int)) [(.build .pair (.pair .nat .int) [(.var 2), (.var 1)])])), (.arm .some [4] (.cond (.«match» .bool (.prim .compare [(.second (.var 4)), (.var 1)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.build .some (.option (.pair .nat .int)) [(.build .pair (.pair .nat .int) [(.var 2), (.var 1)])]) (.build .some (.option (.pair .nat .int)) [(.var 4)])))]), (.var 3)]))]) }, + { parameters := [0], types := [(.adt 0)], result := (.list .int), + body := (.call 8 [(.call 9 [(.call 10 [(.call 11 [(.call 12 [(.var 0)])])])])]) }, + { parameters := [0], types := [(.list .int)], result := (.list .int), + body := (.first (.call 13 [(.closure 14 [(.var 0)]), (.build .pair (.pair (.list .int) (.list .int)) [(.build .nil (.list .int) []), (.call 15 [])]), (.call 16 [])])) }, + { parameters := [0], types := [(.list .int)], result := (.list .int), + body := (.call 17 [(.closure 18 []), (.build .nil (.list .int) []), (.var 0)]) }, + { parameters := [0], types := [(.list .int)], result := (.list .int), + body := (.call 17 [(.closure 19 []), (.build .nil (.list .int) []), (.var 0)]) }, + { parameters := [0], types := [(.list .int)], result := (.list .int), + body := (.first (.call 13 [(.closure 20 [(.var 0)]), (.build .pair (.pair (.list .int) (.list .int)) [(.build .nil (.list .int) []), (.call 21 [])]), (.call 22 [])])) }, + { parameters := [0], types := [(.adt 0)], result := (.list .int), + body := (.call 23 [(.var 0)]) }, + { parameters := [0, 1, 2], types := [(.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (.pair (.list .int) (.list .int)), (.list (.list .int))], result := (.pair (.list .int) (.list .int)), + body := (.«match» (.pair (.list .int) (.list .int)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 13 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1, 2], types := [(.list .int), (.pair (.list .int) (.list .int)), (.list .int)], result := (.pair (.list .int) (.list .int)), + body := (.«match» (.pair (.list .int) (.list .int)) (.second (.var 1)) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.build .pair (.pair (.list .int) (.list .int)) [(.prim .append [(.first (.var 1)), (.build .cons (.list .int) [(.prim .intSub [(.var 3), (.prim .intNeg [(.first (.call 24 [(.closure 25 []), (.build .pair (.pair .int (.list .int)) [(.value .int (.int 0)), (.var 0)]), (.var 2)]))])]), (.build .nil (.list .int) [])])]), (.var 4)]))]) }, + { parameters := [], types := [], result := (.list .int), + body := (.build .cons (.list .int) [(.value .int (.int (-6))), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int (-4))), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int (-6))), (.build .cons (.list .int) [(.value .int (.int (-3))), (.build .cons (.list .int) [(.value .int (.int (-7))), (.build .cons (.list .int) [(.value .int (.int (-6))), (.build .nil (.list .int) [])])])])])])])])])])]) }, + { parameters := [], types := [], result := (.list (.list .int)), + body := (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .nil (.list (.list .int)) [])])])])])])])])])])]) }, + { parameters := [0, 1, 2], types := [(.fn [(.list .int), .int] (.list .int)), (.list .int), (.list .int)], result := (.list .int), + body := (.«match» (.list .int) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 17 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1], types := [(.list .int), .int], result := (.list .int), + body := (.prim .append [(.var 0), (.build .cons (.list .int) [(.«let» 2 .int (.prim .intQuot [(.var 1), (.value .int (.int 4)), (.value .int (.int 0))]) (.cond (.«match» .bool (.prim .compare [(.var 2), (.value .int (.int 0))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.value .int (.int 0)) (.cond (.«match» .bool (.prim .compare [(.value .int (.int 127)), (.var 2)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.value .int (.int 127)) (.var 2)))), (.build .nil (.list .int) [])])]) }, + { parameters := [0, 1], types := [(.list .int), .int], result := (.list .int), + body := (.prim .append [(.var 0), (.build .cons (.list .int) [(.cond (.«match» .bool (.prim .compare [(.var 1), (.value .int (.int 0))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.value .int (.int 0)) (.var 1)), (.build .nil (.list .int) [])])]) }, + { parameters := [0, 1, 2], types := [(.list .int), (.pair (.list .int) (.list .int)), (.list .int)], result := (.pair (.list .int) (.list .int)), + body := (.«match» (.pair (.list .int) (.list .int)) (.second (.var 1)) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.build .pair (.pair (.list .int) (.list .int)) [(.prim .append [(.first (.var 1)), (.build .cons (.list .int) [(.prim .intSub [(.var 3), (.prim .intNeg [(.first (.call 24 [(.closure 26 []), (.build .pair (.pair .int (.list .int)) [(.value .int (.int 0)), (.var 0)]), (.var 2)]))])]), (.build .nil (.list .int) [])])]), (.var 4)]))]) }, + { parameters := [], types := [], result := (.list .int), + body := (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int 3)), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .nil (.list .int) [])])])])])])])])])])])])]) }, + { parameters := [], types := [], result := (.list (.list .int)), + body := (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 3)), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int (-1))), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int (-3))), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int (-1))), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int (-4))), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 3)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .nil (.list (.list .int)) [])])])])])])])])])])])])]) }, + { parameters := [0], types := [(.adt 0)], result := (.list .int), + body := (.«match» (.list .int) (.var 0) [(.arm (.adt 0) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 1) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 2) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 3) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 4) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 5) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 6) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 7) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 8) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 9) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])]))]) }, + { parameters := [0, 1, 2], types := [(.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (.pair .int (.list .int)), (.list .int)], result := (.pair .int (.list .int)), + body := (.«match» (.pair .int (.list .int)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 24 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1], types := [(.pair .int (.list .int)), .int], result := (.pair .int (.list .int)), + body := (.«match» (.pair .int (.list .int)) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair .int (.list .int)) [(.prim .intSub [(.first (.var 0)), (.prim .intNeg [(.prim .intMul [(.var 1), (.var 2)])])]), (.var 3)]))]) }, + { parameters := [0, 1], types := [(.pair .int (.list .int)), .int], result := (.pair .int (.list .int)), + body := (.«match» (.pair .int (.list .int)) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair .int (.list .int)) [(.prim .intSub [(.first (.var 0)), (.prim .intNeg [(.prim .intMul [(.var 1), (.var 2)])])]), (.var 3)]))]) }] } + +def __enc_0 : (Models.Glyphs.Glyph) -> _root_.LexLeanTarget.TargetSyntax.Value + | Models.Glyphs.Glyph.g0 => _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [] + | Models.Glyphs.Glyph.g1 => _root_.LexLeanTarget.TargetSyntax.Value.adt 1 [] + | Models.Glyphs.Glyph.g2 => _root_.LexLeanTarget.TargetSyntax.Value.adt 2 [] + | Models.Glyphs.Glyph.g3 => _root_.LexLeanTarget.TargetSyntax.Value.adt 3 [] + | Models.Glyphs.Glyph.g4 => _root_.LexLeanTarget.TargetSyntax.Value.adt 4 [] + | Models.Glyphs.Glyph.g5 => _root_.LexLeanTarget.TargetSyntax.Value.adt 5 [] + | Models.Glyphs.Glyph.g6 => _root_.LexLeanTarget.TargetSyntax.Value.adt 6 [] + | Models.Glyphs.Glyph.g7 => _root_.LexLeanTarget.TargetSyntax.Value.adt 7 [] + | Models.Glyphs.Glyph.g8 => _root_.LexLeanTarget.TargetSyntax.Value.adt 8 [] + | Models.Glyphs.Glyph.g9 => _root_.LexLeanTarget.TargetSyntax.Value.adt 9 [] + +def __fits_6 (_ybest : (Prod (Option (Prod Nat Int)) (List Nat))) (_yscore : Int) : Bool := + (Bool.true && (match (_ybest).2 with | List.nil => Bool.true | List.cons _ylabel _ylabels => (((Bool.true && (match (_ybest).1 with | Option.none => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.some _yleader => ((Bool.true && (Bool.true && Bool.true)) && (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) else ((Bool.true && Bool.true) && Bool.true))))) && (Bool.true && Bool.true)) && Bool.true))) + +theorem __rel_6 (_ybest : (Prod (Option (Prod Nat Int)) (List Nat))) (_yscore : Int) : _root_.LexLeanPreservation.FunRel __prog 6 [((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) _ybest), (_root_.LexLeanTarget.TargetSyntax.Value.int _yscore)] (_root_.LexLeanPreservation.Rel (__fits_6 _ybest _yscore) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) ((match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) | Option.some _yleader => (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int))))), _ylabels))))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (List Nat)) => (match __a with | List.nil => Bool.true | List.cons _ylabel _ylabels => (((Bool.true && (match (_ybest).1 with | Option.none => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.some _yleader => ((Bool.true && (Bool.true && Bool.true)) && (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) else ((Bool.true && Bool.true) && Bool.true))))) && (Bool.true && Bool.true)) && Bool.true))) (fun (__a : (List Nat)) => (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (match __a with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) | Option.some _yleader => (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int))))), _ylabels))) (_ybest).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (List Nat)) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | List.cons _ylabel _ylabels => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (fun (__a : (Option (Prod Nat Int))) => (match __a with | Option.none => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.some _yleader => ((Bool.true && (Bool.true && Bool.true)) && (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) else ((Bool.true && Bool.true) && Bool.true))))) (fun (__a : (Option (Prod Nat Int))) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (match __a with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) | Option.some _yleader => (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int)))))) (_ybest).1 (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (Option (Prod Nat Int))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.some _yleader => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) else ((Bool.true && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (if __b then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int))))) (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) (_root_.LexLeanPreservation.conv_lessThan (_root_.LexLeanPreservation.keySpec_int (_root_.LexLeanCollections.Key.compare : Int -> Int -> Ordering) (fun _ _ => rfl)) _root_.LexLeanCollections.lessThan (fun _ _ __h => by simp only [_root_.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [_root_.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [_root_.LexLeanCollections.lessThan, __h]) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some))))))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) + +def __fits_25 (_ysum : (Prod Int (List Int))) (_yweight : Int) : Bool := + (Bool.true && (match (_ysum).2 with | List.nil => Bool.true | List.cons _yvalue _yrest => ((((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) && Bool.true) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int))) && (Bool.true && Bool.true)) && Bool.true))) + +theorem __rel_25 (_ysum : (Prod Int (List Int))) (_yweight : Int) : _root_.LexLeanPreservation.FunRel __prog 25 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) _ysum), (_root_.LexLeanTarget.TargetSyntax.Value.int _yweight)] (_root_.LexLeanPreservation.Rel (__fits_25 _ysum _yweight) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) ((match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest))))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (fun (__a : (List Int)) => (match __a with | List.nil => Bool.true | List.cons _yvalue _yrest => ((((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) && Bool.true) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int))) && (Bool.true && Bool.true)) && Bool.true))) (fun (__a : (List Int)) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (match __a with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest))) (_ysum).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (List Int)) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | List.cons _yvalue _yrest => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intMul _yweight _yvalue)) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_intNeg (_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intSub (_ysum).1 (_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) + +def __fits_14 (_yvalues : (List Int)) (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) : Bool := + (Bool.true && (match (_yacc).2 with | List.nil => Bool.true | List.cons _ybias _ybiases => ((((Bool.true && (((((Bool.true && (((((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_25 __p0 __p1) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow))) && Bool.true) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int))) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && Bool.true))) + +theorem __rel_14 (_yvalues : (List Int)) (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) : _root_.LexLeanPreservation.FunRel __prog 14 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues), ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) _yacc), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yrow)] (_root_.LexLeanPreservation.Rel (__fits_14 _yvalues _yacc _yrow) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) ((match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((_root_.LexLeanRuntime.append ((_yacc).1) (((_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases))))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (fun (__a : (List Int)) => (match __a with | List.nil => Bool.true | List.cons _ybias _ybiases => ((((Bool.true && (((((Bool.true && (((((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_25 __p0 __p1) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow))) && Bool.true) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int))) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && Bool.true))) (fun (__a : (List Int)) => (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (match __a with | List.nil => _yacc | List.cons _ybias _ybiases => ((_root_.LexLeanRuntime.append ((_yacc).1) (((_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases))) (_yacc).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (List Int)) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | List.cons _ybias _ybiases => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.int) (es := (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int))) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (fun _ => rfl) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_25 __p0 __p1) 25 [] (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __rel_25 __p0 __p1) (p := __prog) (fi := 24) (ta := .int) (ts := (.pair .int (.list .int))) rfl (((0 : Int), _yvalues)) (_yrow)))) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_intNeg ((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intSub _ybias (_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (_yacc).1 ((_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int)))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) + +def __fits_15 : Bool := + ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) + +theorem __rel_15 : _root_.LexLeanPreservation.FunRel __prog 15 [] (_root_.LexLeanPreservation.Rel (__fits_15) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.outputBias))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) + +def __fits_16 : Bool := + ((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) + +theorem __rel_16 : _root_.LexLeanPreservation.FunRel __prog 16 [] (_root_.LexLeanPreservation.Rel (__fits_16) ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (Models.Recognizer.outputWeights))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) + +def __fits_8 (_yvalues : (List Int)) : Bool := + (((Bool.true && Bool.true) && ((((Bool.true && Bool.true) && ((Bool.true && (__fits_15)) && Bool.true)) && Bool.true) && ((Bool.true && (__fits_16)) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __fits_14 (_yvalues) __p0 __p1) ((fun (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) => (match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((_root_.LexLeanRuntime.append ((_yacc).1) (((_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases)))) ((([] : List Int), (Models.Recognizer.outputBias))) ((Models.Recognizer.outputWeights)))) + +attribute [local irreducible] Models.Recognizer.outputBias Models.Recognizer.outputWeights in +theorem __rel_8 (_yvalues : (List Int)) : _root_.LexLeanPreservation.FunRel __prog 8 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues)] (_root_.LexLeanPreservation.Rel (__fits_8 _yvalues) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.DigitNet.layer4 _yvalues))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call _root_.LexLeanPreservation.convL_nil (__rel_15)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call _root_.LexLeanPreservation.convL_nil (__rel_16)) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (es := (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int))) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (fun _ => rfl) ((fun (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) => (match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((_root_.LexLeanRuntime.append ((_yacc).1) (((_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases)))) (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __fits_14 (_yvalues) __p0 __p1) 14 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues)] (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __rel_14 (_yvalues) __p0 __p1) (p := __prog) (fi := 13) (ta := (.list .int)) (ts := (.pair (.list .int) (.list .int))) rfl ((([] : List Int), (Models.Recognizer.outputBias))) ((Models.Recognizer.outputWeights))))) + +def __fits_18 (_yout : (List Int)) (_yvalue : Int) : Bool := + ((Bool.true && ((((((Bool.true && (Bool.true && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.quotient (_yvalue) ((4 : Int)) ((0 : Int)) : Int))) && (let _yquotient : Int := (_root_.LexLeanRuntime.quotient (_yvalue) ((4 : Int)) ((0 : Int)) : Int); ((Bool.true && (Bool.true && Bool.true)) && (if (_root_.LexLeanCollections.lessThan (_yquotient) ((0 : Int)) : Bool) then Bool.true else ((Bool.true && (Bool.true && Bool.true)) && (if (_root_.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) then Bool.true else Bool.true)))))) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) + +theorem __rel_18 (_yout : (List Int)) (_yvalue : Int) : _root_.LexLeanPreservation.FunRel __prog 18 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yout), (_root_.LexLeanTarget.TargetSyntax.Value.int _yvalue)] (_root_.LexLeanPreservation.Rel (__fits_18 _yout _yvalue) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) ((_root_.LexLeanRuntime.append (_yout) (((let _yquotient : Int := (_root_.LexLeanRuntime.quotient (_yvalue) ((4 : Int)) ((0 : Int)) : Int); (if (_root_.LexLeanCollections.lessThan (_yquotient) ((0 : Int)) : Bool) then (0 : Int) else (if (_root_.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) then (127 : Int) else _yquotient))) :: ([] : List Int))) : (List Int))))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (let _yquotient : Int := (_root_.LexLeanRuntime.quotient (_yvalue) ((4 : Int)) ((0 : Int)) : Int); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.prim_intQuot _yvalue (4 : Int) (0 : Int))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else ((Bool.true && (Bool.true && Bool.true)) && (if (_root_.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) then Bool.true else Bool.true)))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.int (if __b then (0 : Int) else (if (_root_.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) then (127 : Int) else _yquotient))) (_root_.LexLeanCollections.lessThan (_yquotient) ((0 : Int)) : Bool) (_root_.LexLeanPreservation.conv_lessThan (_root_.LexLeanPreservation.keySpec_int (_root_.LexLeanCollections.Key.compare : Int -> Int -> Ordering) (fun _ _ => rfl)) _root_.LexLeanCollections.lessThan (fun _ _ __h => by simp only [_root_.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [_root_.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [_root_.LexLeanCollections.lessThan, __h]) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))) (fun _ => _root_.LexLeanPreservation.conv_value) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.int (if __b then (127 : Int) else _yquotient)) (_root_.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) (_root_.LexLeanPreservation.conv_lessThan (_root_.LexLeanPreservation.keySpec_int (_root_.LexLeanCollections.Key.compare : Int -> Int -> Ordering) (fun _ _ => rfl)) _root_.LexLeanCollections.lessThan (fun _ _ __h => by simp only [_root_.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [_root_.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [_root_.LexLeanCollections.lessThan, __h]) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (fun _ => _root_.LexLeanPreservation.conv_value) (fun _ => (_root_.LexLeanPreservation.conv_var rfl)))))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) _yout ((let _yquotient : Int := (_root_.LexLeanRuntime.quotient (_yvalue) ((4 : Int)) ((0 : Int)) : Int); (if (_root_.LexLeanCollections.lessThan (_yquotient) ((0 : Int)) : Bool) then (0 : Int) else (if (_root_.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) then (127 : Int) else _yquotient))) :: ([] : List Int)))) + +def __fits_9 (_yvalues : (List Int)) : Bool := + ((Bool.true && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List Int)) (__p1 : Int) => __fits_18 __p0 __p1) ((fun (_yout : (List Int)) (_yvalue : Int) => (_root_.LexLeanRuntime.append (_yout) (((let _yquotient : Int := (_root_.LexLeanRuntime.quotient (_yvalue) ((4 : Int)) ((0 : Int)) : Int); (if (_root_.LexLeanCollections.lessThan (_yquotient) ((0 : Int)) : Bool) then (0 : Int) else (if (_root_.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) then (127 : Int) else _yquotient))) :: ([] : List Int))) : (List Int)))) (([] : List Int)) (_yvalues))) + +theorem __rel_9 (_yvalues : (List Int)) : _root_.LexLeanPreservation.FunRel __prog 9 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues)] (_root_.LexLeanPreservation.Rel (__fits_9 _yvalues) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.DigitNet.layer3 _yvalues))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.int) (es := (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (fun _ => rfl) ((fun (_yout : (List Int)) (_yvalue : Int) => (_root_.LexLeanRuntime.append (_yout) (((let _yquotient : Int := (_root_.LexLeanRuntime.quotient (_yvalue) ((4 : Int)) ((0 : Int)) : Int); (if (_root_.LexLeanCollections.lessThan (_yquotient) ((0 : Int)) : Bool) then (0 : Int) else (if (_root_.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) then (127 : Int) else _yquotient))) :: ([] : List Int))) : (List Int)))) (fun (__p0 : (List Int)) (__p1 : Int) => __fits_18 __p0 __p1) 18 [] (fun (__p0 : (List Int)) (__p1 : Int) => __rel_18 __p0 __p1) (p := __prog) (fi := 17) (ta := .int) (ts := (.list .int)) rfl (([] : List Int)) (_yvalues))) + +def __fits_19 (_yout : (List Int)) (_yvalue : Int) : Bool := + ((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (if (_root_.LexLeanCollections.lessThan (_yvalue) ((0 : Int)) : Bool) then Bool.true else Bool.true)) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) + +theorem __rel_19 (_yout : (List Int)) (_yvalue : Int) : _root_.LexLeanPreservation.FunRel __prog 19 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yout), (_root_.LexLeanTarget.TargetSyntax.Value.int _yvalue)] (_root_.LexLeanPreservation.Rel (__fits_19 _yout _yvalue) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) ((_root_.LexLeanRuntime.append (_yout) (((if (_root_.LexLeanCollections.lessThan (_yvalue) ((0 : Int)) : Bool) then (0 : Int) else _yvalue) :: ([] : List Int))) : (List Int))))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.int (if __b then (0 : Int) else _yvalue)) (_root_.LexLeanCollections.lessThan (_yvalue) ((0 : Int)) : Bool) (_root_.LexLeanPreservation.conv_lessThan (_root_.LexLeanPreservation.keySpec_int (_root_.LexLeanCollections.Key.compare : Int -> Int -> Ordering) (fun _ _ => rfl)) _root_.LexLeanCollections.lessThan (fun _ _ __h => by simp only [_root_.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [_root_.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [_root_.LexLeanCollections.lessThan, __h]) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))) (fun _ => _root_.LexLeanPreservation.conv_value) (fun _ => (_root_.LexLeanPreservation.conv_var rfl))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) _yout ((if (_root_.LexLeanCollections.lessThan (_yvalue) ((0 : Int)) : Bool) then (0 : Int) else _yvalue) :: ([] : List Int)))) + +def __fits_10 (_yvalues : (List Int)) : Bool := + ((Bool.true && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List Int)) (__p1 : Int) => __fits_19 __p0 __p1) ((fun (_yout : (List Int)) (_yvalue : Int) => (_root_.LexLeanRuntime.append (_yout) (((if (_root_.LexLeanCollections.lessThan (_yvalue) ((0 : Int)) : Bool) then (0 : Int) else _yvalue) :: ([] : List Int))) : (List Int)))) (([] : List Int)) (_yvalues))) + +theorem __rel_10 (_yvalues : (List Int)) : _root_.LexLeanPreservation.FunRel __prog 10 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues)] (_root_.LexLeanPreservation.Rel (__fits_10 _yvalues) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.DigitNet.layer2 _yvalues))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.int) (es := (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (fun _ => rfl) ((fun (_yout : (List Int)) (_yvalue : Int) => (_root_.LexLeanRuntime.append (_yout) (((if (_root_.LexLeanCollections.lessThan (_yvalue) ((0 : Int)) : Bool) then (0 : Int) else _yvalue) :: ([] : List Int))) : (List Int)))) (fun (__p0 : (List Int)) (__p1 : Int) => __fits_19 __p0 __p1) 19 [] (fun (__p0 : (List Int)) (__p1 : Int) => __rel_19 __p0 __p1) (p := __prog) (fi := 17) (ta := .int) (ts := (.list .int)) rfl (([] : List Int)) (_yvalues))) + +def __fits_26 (_ysum : (Prod Int (List Int))) (_yweight : Int) : Bool := + (Bool.true && (match (_ysum).2 with | List.nil => Bool.true | List.cons _yvalue _yrest => ((((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) && Bool.true) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int))) && (Bool.true && Bool.true)) && Bool.true))) + +theorem __rel_26 (_ysum : (Prod Int (List Int))) (_yweight : Int) : _root_.LexLeanPreservation.FunRel __prog 26 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) _ysum), (_root_.LexLeanTarget.TargetSyntax.Value.int _yweight)] (_root_.LexLeanPreservation.Rel (__fits_26 _ysum _yweight) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) ((match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest))))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (fun (__a : (List Int)) => (match __a with | List.nil => Bool.true | List.cons _yvalue _yrest => ((((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) && Bool.true) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int))) && (Bool.true && Bool.true)) && Bool.true))) (fun (__a : (List Int)) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (match __a with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest))) (_ysum).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (List Int)) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | List.cons _yvalue _yrest => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intMul _yweight _yvalue)) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_intNeg (_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intSub (_ysum).1 (_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) + +def __fits_20 (_yvalues : (List Int)) (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) : Bool := + (Bool.true && (match (_yacc).2 with | List.nil => Bool.true | List.cons _ybias _ybiases => ((((Bool.true && (((((Bool.true && (((((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_26 __p0 __p1) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow))) && Bool.true) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int))) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && Bool.true))) + +theorem __rel_20 (_yvalues : (List Int)) (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) : _root_.LexLeanPreservation.FunRel __prog 20 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues), ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) _yacc), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yrow)] (_root_.LexLeanPreservation.Rel (__fits_20 _yvalues _yacc _yrow) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) ((match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((_root_.LexLeanRuntime.append ((_yacc).1) (((_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases))))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (fun (__a : (List Int)) => (match __a with | List.nil => Bool.true | List.cons _ybias _ybiases => ((((Bool.true && (((((Bool.true && (((((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_26 __p0 __p1) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow))) && Bool.true) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int))) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && Bool.true))) (fun (__a : (List Int)) => (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (match __a with | List.nil => _yacc | List.cons _ybias _ybiases => ((_root_.LexLeanRuntime.append ((_yacc).1) (((_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases))) (_yacc).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (List Int)) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | List.cons _ybias _ybiases => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.int) (es := (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int))) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (fun _ => rfl) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_26 __p0 __p1) 26 [] (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __rel_26 __p0 __p1) (p := __prog) (fi := 24) (ta := .int) (ts := (.pair .int (.list .int))) rfl (((0 : Int), _yvalues)) (_yrow)))) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_intNeg ((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intSub _ybias (_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (_yacc).1 ((_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int)))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) + +def __fits_21 : Bool := + ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) + +theorem __rel_21 : _root_.LexLeanPreservation.FunRel __prog 21 [] (_root_.LexLeanPreservation.Rel (__fits_21) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.hiddenBias))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) + +def __fits_22 : Bool := + ((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) + +theorem __rel_22 : _root_.LexLeanPreservation.FunRel __prog 22 [] (_root_.LexLeanPreservation.Rel (__fits_22) ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (Models.Recognizer.hiddenWeights))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) + +def __fits_11 (_yvalues : (List Int)) : Bool := + (((Bool.true && Bool.true) && ((((Bool.true && Bool.true) && ((Bool.true && (__fits_21)) && Bool.true)) && Bool.true) && ((Bool.true && (__fits_22)) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __fits_20 (_yvalues) __p0 __p1) ((fun (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) => (match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((_root_.LexLeanRuntime.append ((_yacc).1) (((_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases)))) ((([] : List Int), (Models.Recognizer.hiddenBias))) ((Models.Recognizer.hiddenWeights)))) + +attribute [local irreducible] Models.Recognizer.hiddenBias Models.Recognizer.hiddenWeights in +theorem __rel_11 (_yvalues : (List Int)) : _root_.LexLeanPreservation.FunRel __prog 11 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues)] (_root_.LexLeanPreservation.Rel (__fits_11 _yvalues) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.DigitNet.layer1 _yvalues))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call _root_.LexLeanPreservation.convL_nil (__rel_21)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call _root_.LexLeanPreservation.convL_nil (__rel_22)) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (es := (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int))) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (fun _ => rfl) ((fun (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) => (match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((_root_.LexLeanRuntime.append ((_yacc).1) (((_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases)))) (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __fits_20 (_yvalues) __p0 __p1) 20 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues)] (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __rel_20 (_yvalues) __p0 __p1) (p := __prog) (fi := 13) (ta := (.list .int)) (ts := (.pair (.list .int) (.list .int))) rfl ((([] : List Int), (Models.Recognizer.hiddenBias))) ((Models.Recognizer.hiddenWeights))))) + +def __fits_23 (glyph : (Models.Glyphs.Glyph)) : Bool := + (Bool.true && (match glyph with | Models.Glyphs.Glyph.g0 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g1 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g2 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g3 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g4 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g5 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g6 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g7 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g8 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g9 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) + +theorem __rel_23 (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.FunRel __prog 23 [(__enc_0 glyph)] (_root_.LexLeanPreservation.Rel (__fits_23 glyph) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Glyphs.encode glyph))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_0 (fun (__a : (Models.Glyphs.Glyph)) => (match __a with | Models.Glyphs.Glyph.g0 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g1 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g2 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g3 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g4 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g5 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g6 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g7 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g8 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g9 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) (fun (__a : (Models.Glyphs.Glyph)) => (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (match __a with | Models.Glyphs.Glyph.g0 => ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g1 => ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g2 => ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((1 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g3 => ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((0 : Int) :: ((1 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g4 => ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g5 => ((1 : Int) :: ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g6 => ((1 : Int) :: ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g7 => ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g8 => ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g9 => ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ([] : List Int)))))))))) glyph (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Models.Glyphs.Glyph)) _ => match __a with | Models.Glyphs.Glyph.g0 => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons)) | Models.Glyphs.Glyph.g1 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))) | Models.Glyphs.Glyph.g2 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons)))) | Models.Glyphs.Glyph.g3 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))))) | Models.Glyphs.Glyph.g4 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons)))))) | Models.Glyphs.Glyph.g5 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))))))) | Models.Glyphs.Glyph.g6 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons)))))))) | Models.Glyphs.Glyph.g7 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))))))))) | Models.Glyphs.Glyph.g8 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons)))))))))) | Models.Glyphs.Glyph.g9 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))))))))))))) + +def __fits_12 (glyph : (Models.Glyphs.Glyph)) : Bool := + ((Bool.true && Bool.true) && (__fits_23 (glyph))) + +attribute [local irreducible] Models.Glyphs.encode in +theorem __rel_12 (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.FunRel __prog 12 [(__enc_0 glyph)] (_root_.LexLeanPreservation.Rel (__fits_12 glyph) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.DigitNet.encoded glyph))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_23 (glyph))) + +def __fits_7 (glyph : (Models.Glyphs.Glyph)) : Bool := + ((((((((((Bool.true && Bool.true) && (__fits_12 (glyph))) && Bool.true) && (__fits_11 ((Models.Recognizer.DigitNet.encoded (glyph))))) && Bool.true) && (__fits_10 ((Models.Recognizer.DigitNet.layer1 ((Models.Recognizer.DigitNet.encoded (glyph))))))) && Bool.true) && (__fits_9 ((Models.Recognizer.DigitNet.layer2 ((Models.Recognizer.DigitNet.layer1 ((Models.Recognizer.DigitNet.encoded (glyph))))))))) && Bool.true) && (__fits_8 ((Models.Recognizer.DigitNet.layer3 ((Models.Recognizer.DigitNet.layer2 ((Models.Recognizer.DigitNet.layer1 ((Models.Recognizer.DigitNet.encoded (glyph))))))))))) + +attribute [local irreducible] Models.Recognizer.DigitNet.encoded Models.Recognizer.DigitNet.layer1 Models.Recognizer.DigitNet.layer2 Models.Recognizer.DigitNet.layer3 Models.Recognizer.DigitNet.layer4 in +theorem __rel_7 (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.FunRel __prog 7 [(__enc_0 glyph)] (_root_.LexLeanPreservation.Rel (__fits_7 glyph) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.DigitNet.logits glyph))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_12 (glyph))) _root_.LexLeanPreservation.convL_nil) (__rel_11 ((Models.Recognizer.DigitNet.encoded (glyph))))) _root_.LexLeanPreservation.convL_nil) (__rel_10 ((Models.Recognizer.DigitNet.layer1 ((Models.Recognizer.DigitNet.encoded (glyph))))))) _root_.LexLeanPreservation.convL_nil) (__rel_9 ((Models.Recognizer.DigitNet.layer2 ((Models.Recognizer.DigitNet.layer1 ((Models.Recognizer.DigitNet.encoded (glyph))))))))) _root_.LexLeanPreservation.convL_nil) (__rel_8 ((Models.Recognizer.DigitNet.layer3 ((Models.Recognizer.DigitNet.layer2 ((Models.Recognizer.DigitNet.layer1 ((Models.Recognizer.DigitNet.encoded (glyph))))))))))) + +def __fits_3 (glyph : (Models.Glyphs.Glyph)) : Bool := + (((Bool.true && ((((Bool.true && Bool.true) && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((Bool.true && Bool.true) && (__fits_7 (glyph))) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod (Option (Prod Nat Int)) (List Nat))) (__p1 : Int) => __fits_6 __p0 __p1) ((fun (_ybest : (Prod (Option (Prod Nat Int)) (List Nat))) (_yscore : Int) => (match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) | Option.some _yleader => (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int))))), _ylabels)))) (((Option.none : (Option (Prod Nat Int))), ((0 : Nat) :: ((1 : Nat) :: ((2 : Nat) :: ((3 : Nat) :: ((4 : Nat) :: ((5 : Nat) :: ((6 : Nat) :: ((7 : Nat) :: ((8 : Nat) :: ((9 : Nat) :: ([] : List Nat))))))))))))) ((Models.Recognizer.DigitNet.logits (glyph))))) && (match ((_root_.LexLeanCollections.listFold ((fun (_ybest : (Prod (Option (Prod Nat Int)) (List Nat))) (_yscore : Int) => (match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) | Option.some _yleader => (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int))))), _ylabels)))) (((Option.none : (Option (Prod Nat Int))), ((0 : Nat) :: ((1 : Nat) :: ((2 : Nat) :: ((3 : Nat) :: ((4 : Nat) :: ((5 : Nat) :: ((6 : Nat) :: ((7 : Nat) :: ((8 : Nat) :: ((9 : Nat) :: ([] : List Nat))))))))))))) ((Models.Recognizer.DigitNet.logits (glyph))) : (Prod (Option (Prod Nat Int)) (List Nat)))).1 with | Option.none => Bool.true | Option.some _ywinner => Bool.true)) + +attribute [local irreducible] Models.Recognizer.DigitNet.logits in +theorem __rel_3 (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.FunRel __prog 3 [(__enc_0 glyph)] (_root_.LexLeanPreservation.Rel (__fits_3 glyph) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Recognizer.DigitNet glyph))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (fun (__a : (Option (Prod Nat Int))) => (match __a with | Option.none => Bool.true | Option.some _ywinner => Bool.true)) (fun (__a : (Option (Prod Nat Int))) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match __a with | Option.none => (0 : Nat) | Option.some _ywinner => (_ywinner).1)) ((_root_.LexLeanCollections.listFold ((fun (_ybest : (Prod (Option (Prod Nat Int)) (List Nat))) (_yscore : Int) => (match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) | Option.some _yleader => (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int))))), _ylabels)))) (((Option.none : (Option (Prod Nat Int))), ((0 : Nat) :: ((1 : Nat) :: ((2 : Nat) :: ((3 : Nat) :: ((4 : Nat) :: ((5 : Nat) :: ((6 : Nat) :: ((7 : Nat) :: ((8 : Nat) :: ((9 : Nat) :: ([] : List Nat))))))))))))) ((Models.Recognizer.DigitNet.logits (glyph))) : (Prod (Option (Prod Nat Int)) (List Nat)))).1 (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_7 (glyph))) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.int) (es := (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (fun _ => rfl) ((fun (_ybest : (Prod (Option (Prod Nat Int)) (List Nat))) (_yscore : Int) => (match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) | Option.some _yleader => (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int))))), _ylabels)))) (fun (__p0 : (Prod (Option (Prod Nat Int)) (List Nat))) (__p1 : Int) => __fits_6 __p0 __p1) 6 [] (fun (__p0 : (Prod (Option (Prod Nat Int)) (List Nat))) (__p1 : Int) => __rel_6 __p0 __p1) (p := __prog) (fi := 5) (ta := .int) (ts := (.pair (.option (.pair .nat .int)) (.list .nat))) rfl (((Option.none : (Option (Prod Nat Int))), ((0 : Nat) :: ((1 : Nat) :: ((2 : Nat) :: ((3 : Nat) :: ((4 : Nat) :: ((5 : Nat) :: ((6 : Nat) :: ((7 : Nat) :: ((8 : Nat) :: ((9 : Nat) :: ([] : List Nat))))))))))))) ((Models.Recognizer.DigitNet.logits (glyph)))))) (fun (__a : (Option (Prod Nat Int))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value) | Option.some _ywinner => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)))))) + +def __fits_1 (_yinput : (Models.Glyphs.Glyph)) : Bool := + ((Bool.true && Bool.true) && (__fits_3 (_yinput))) + +attribute [local irreducible] Models.Recognizer.DigitNet in +theorem __rel_1 (_yinput : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.FunRel __prog 1 [(__enc_0 _yinput)] (_root_.LexLeanPreservation.Rel (__fits_1 _yinput) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Recognizer.RawDigitModel _yinput))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_3 (_yinput))) + +def __fits_4 (glyph : (Models.Glyphs.Glyph)) : Bool := + (Bool.true && (match glyph with | Models.Glyphs.Glyph.g0 => Bool.true | Models.Glyphs.Glyph.g1 => Bool.true | Models.Glyphs.Glyph.g2 => Bool.true | Models.Glyphs.Glyph.g3 => Bool.true | Models.Glyphs.Glyph.g4 => Bool.true | Models.Glyphs.Glyph.g5 => Bool.true | Models.Glyphs.Glyph.g6 => Bool.true | Models.Glyphs.Glyph.g7 => Bool.true | Models.Glyphs.Glyph.g8 => Bool.true | Models.Glyphs.Glyph.g9 => Bool.true)) + +theorem __rel_4 (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.FunRel __prog 4 [(__enc_0 glyph)] (_root_.LexLeanPreservation.Rel (__fits_4 glyph) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Glyphs.digitOf glyph))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_0 (fun (__a : (Models.Glyphs.Glyph)) => (match __a with | Models.Glyphs.Glyph.g0 => Bool.true | Models.Glyphs.Glyph.g1 => Bool.true | Models.Glyphs.Glyph.g2 => Bool.true | Models.Glyphs.Glyph.g3 => Bool.true | Models.Glyphs.Glyph.g4 => Bool.true | Models.Glyphs.Glyph.g5 => Bool.true | Models.Glyphs.Glyph.g6 => Bool.true | Models.Glyphs.Glyph.g7 => Bool.true | Models.Glyphs.Glyph.g8 => Bool.true | Models.Glyphs.Glyph.g9 => Bool.true)) (fun (__a : (Models.Glyphs.Glyph)) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match __a with | Models.Glyphs.Glyph.g0 => (0 : Nat) | Models.Glyphs.Glyph.g1 => (1 : Nat) | Models.Glyphs.Glyph.g2 => (2 : Nat) | Models.Glyphs.Glyph.g3 => (3 : Nat) | Models.Glyphs.Glyph.g4 => (4 : Nat) | Models.Glyphs.Glyph.g5 => (5 : Nat) | Models.Glyphs.Glyph.g6 => (6 : Nat) | Models.Glyphs.Glyph.g7 => (7 : Nat) | Models.Glyphs.Glyph.g8 => (8 : Nat) | Models.Glyphs.Glyph.g9 => (9 : Nat))) glyph (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Models.Glyphs.Glyph)) _ => match __a with | Models.Glyphs.Glyph.g0 => (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value) | Models.Glyphs.Glyph.g1 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value)) | Models.Glyphs.Glyph.g2 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value))) | Models.Glyphs.Glyph.g3 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value)))) | Models.Glyphs.Glyph.g4 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value))))) | Models.Glyphs.Glyph.g5 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value)))))) | Models.Glyphs.Glyph.g6 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value))))))) | Models.Glyphs.Glyph.g7 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value)))))))) | Models.Glyphs.Glyph.g8 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value))))))))) | Models.Glyphs.Glyph.g9 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value)))))))))))) + +def __fits_2 (glyph : (Models.Glyphs.Glyph)) (digit : Nat) : Bool := + ((Bool.true && (((Bool.true && Bool.true) && (__fits_4 (glyph))) && Bool.true)) && Bool.true) + +attribute [local irreducible] Models.Glyphs.digitOf in +theorem __rel_2 (glyph : (Models.Glyphs.Glyph)) (digit : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(__enc_0 glyph), (_root_.LexLeanTarget.TargetSyntax.Value.nat digit)] (_root_.LexLeanPreservation.Rel (__fits_2 glyph digit) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Recognizer.recognizesCheck glyph digit))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_4 (glyph))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq digit (Models.Glyphs.digitOf (glyph)))) + +def __fits_0 (glyph : (Models.Glyphs.Glyph)) : Bool := + (Bool.true && (let _ychecked1_input : (Models.Glyphs.Glyph) := glyph; (((Bool.true && Bool.true) && (__fits_1 (_ychecked1_input))) && (let _ychecked1_output : Nat := (Models.Recognizer.RawDigitModel (_ychecked1_input)); (((Bool.true && (Bool.true && Bool.true)) && (__fits_2 (_ychecked1_input) (_ychecked1_output))) && (if (Models.Recognizer.recognizesCheck (_ychecked1_input) (_ychecked1_output)) then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))))) + +attribute [local irreducible] Models.Recognizer.RawDigitModel Models.Recognizer.recognizesCheck in +theorem __rel_0 (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.FunRel __prog 0 [(__enc_0 glyph)] (_root_.LexLeanPreservation.Rel (__fits_0 glyph) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Main.classifyChecked glyph))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (let _ychecked1_input : (Models.Glyphs.Glyph) := glyph; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_var rfl) (let _ychecked1_output : Nat := (Models.Recognizer.RawDigitModel (_ychecked1_input)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (_ychecked1_input))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then (Except.ok (_ychecked1_output) : (Except (Prod Bool Bool) Nat)) else (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)))) (Models.Recognizer.recognizesCheck (_ychecked1_input) (_ychecked1_output)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_2 (_ychecked1_input) (_ychecked1_output))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))) + +def denote (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 glyph) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Main.classifyChecked glyph)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.RunConv __prog 0 [(__enc_0 glyph)] (_root_.LexLeanPreservation.Rel (__fits_0 glyph) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Main.classifyChecked glyph))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 glyph) + +end LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1 diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R1/Compose/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R1/Compose/RustStd.lean new file mode 100644 index 000000000..3af78c8e7 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R1/Compose/RustStd.lean @@ -0,0 +1,28 @@ +import LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1 +import LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.Compose.RustStd + +theorem __wt_0 : ∀ (__v : (Models.Glyphs.Glyph)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.RustStd.program _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.RustStd.krate _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.RustStd.flags (_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.__enc_0 __v) (.adt 0) + | Models.Glyphs.Glyph.g0 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Models.Glyphs.Glyph.g1 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Models.Glyphs.Glyph.g2 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Models.Glyphs.Glyph.g3 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Models.Glyphs.Glyph.g4 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Models.Glyphs.Glyph.g5 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Models.Glyphs.Glyph.g6 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Models.Glyphs.Glyph.g7 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Models.Glyphs.Glyph.g8 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Models.Glyphs.Glyph.g9 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (glyph : (Models.Glyphs.Glyph)) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.__enc_0 glyph)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.denote glyph) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.__enc_0 glyph)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 glyph) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.root glyph) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.Compose.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R1/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R1/RustStd.lean new file mode 100644 index 000000000..10f24df0a --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R1/RustStd.lean @@ -0,0 +1,250 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [{ constructors := [[], [], [], [], [], [], [], [], [], []] }], functions := [ + { parameters := [0], types := [(.adt 0)], result := (.result .nat (.pair .bool .bool)), + body := (.«let» 1 (.adt 0) (.var 0) (.«let» 2 .nat (.call 1 [(.var 1)]) (.cond (.call 2 [(.var 1), (.var 2)]) (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)]) (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])))) }, + { parameters := [0], types := [(.adt 0)], result := .nat, + body := (.call 3 [(.var 0)]) }, + { parameters := [0, 1], types := [(.adt 0), .nat], result := .bool, + body := (.prim .natEq [(.var 1), (.call 4 [(.var 0)])]) }, + { parameters := [0], types := [(.adt 0)], result := .nat, + body := (.«match» .nat (.first (.call 5 [(.closure 6 []), (.build .pair (.pair (.option (.pair .nat .int)) (.list .nat)) [(.build .none (.option (.pair .nat .int)) []), (.build .cons (.list .nat) [(.value .nat (.nat 0)), (.build .cons (.list .nat) [(.value .nat (.nat 1)), (.build .cons (.list .nat) [(.value .nat (.nat 2)), (.build .cons (.list .nat) [(.value .nat (.nat 3)), (.build .cons (.list .nat) [(.value .nat (.nat 4)), (.build .cons (.list .nat) [(.value .nat (.nat 5)), (.build .cons (.list .nat) [(.value .nat (.nat 6)), (.build .cons (.list .nat) [(.value .nat (.nat 7)), (.build .cons (.list .nat) [(.value .nat (.nat 8)), (.build .cons (.list .nat) [(.value .nat (.nat 9)), (.build .nil (.list .nat) [])])])])])])])])])])])]), (.call 7 [(.var 0)])])) [(.arm .none [] (.value .nat (.nat 0))), (.arm .some [1] (.first (.var 1)))]) }, + { parameters := [0], types := [(.adt 0)], result := .nat, + body := (.«match» .nat (.var 0) [(.arm (.adt 0) [] (.value .nat (.nat 0))), (.arm (.adt 1) [] (.value .nat (.nat 1))), (.arm (.adt 2) [] (.value .nat (.nat 2))), (.arm (.adt 3) [] (.value .nat (.nat 3))), (.arm (.adt 4) [] (.value .nat (.nat 4))), (.arm (.adt 5) [] (.value .nat (.nat 5))), (.arm (.adt 6) [] (.value .nat (.nat 6))), (.arm (.adt 7) [] (.value .nat (.nat 7))), (.arm (.adt 8) [] (.value .nat (.nat 8))), (.arm (.adt 9) [] (.value .nat (.nat 9)))]) }, + { parameters := [0, 1, 2], types := [(.fn [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat))), (.pair (.option (.pair .nat .int)) (.list .nat)), (.list .int)], result := (.pair (.option (.pair .nat .int)) (.list .nat)), + body := (.«match» (.pair (.option (.pair .nat .int)) (.list .nat)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 5 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1], types := [(.pair (.option (.pair .nat .int)) (.list .nat)), .int], result := (.pair (.option (.pair .nat .int)) (.list .nat)), + body := (.«match» (.pair (.option (.pair .nat .int)) (.list .nat)) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair (.option (.pair .nat .int)) (.list .nat)) [(.«match» (.option (.pair .nat .int)) (.first (.var 0)) [(.arm .none [] (.build .some (.option (.pair .nat .int)) [(.build .pair (.pair .nat .int) [(.var 2), (.var 1)])])), (.arm .some [4] (.cond (.«match» .bool (.prim .compare [(.second (.var 4)), (.var 1)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.build .some (.option (.pair .nat .int)) [(.build .pair (.pair .nat .int) [(.var 2), (.var 1)])]) (.build .some (.option (.pair .nat .int)) [(.var 4)])))]), (.var 3)]))]) }, + { parameters := [0], types := [(.adt 0)], result := (.list .int), + body := (.call 8 [(.call 9 [(.call 10 [(.call 11 [(.call 12 [(.var 0)])])])])]) }, + { parameters := [0], types := [(.list .int)], result := (.list .int), + body := (.first (.call 13 [(.closure 14 [(.var 0)]), (.build .pair (.pair (.list .int) (.list .int)) [(.build .nil (.list .int) []), (.call 15 [])]), (.call 16 [])])) }, + { parameters := [0], types := [(.list .int)], result := (.list .int), + body := (.call 17 [(.closure 18 []), (.build .nil (.list .int) []), (.var 0)]) }, + { parameters := [0], types := [(.list .int)], result := (.list .int), + body := (.call 17 [(.closure 19 []), (.build .nil (.list .int) []), (.var 0)]) }, + { parameters := [0], types := [(.list .int)], result := (.list .int), + body := (.first (.call 13 [(.closure 20 [(.var 0)]), (.build .pair (.pair (.list .int) (.list .int)) [(.build .nil (.list .int) []), (.call 21 [])]), (.call 22 [])])) }, + { parameters := [0], types := [(.adt 0)], result := (.list .int), + body := (.call 23 [(.var 0)]) }, + { parameters := [0, 1, 2], types := [(.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (.pair (.list .int) (.list .int)), (.list (.list .int))], result := (.pair (.list .int) (.list .int)), + body := (.«match» (.pair (.list .int) (.list .int)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 13 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1, 2], types := [(.list .int), (.pair (.list .int) (.list .int)), (.list .int)], result := (.pair (.list .int) (.list .int)), + body := (.«match» (.pair (.list .int) (.list .int)) (.second (.var 1)) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.build .pair (.pair (.list .int) (.list .int)) [(.prim .append [(.first (.var 1)), (.build .cons (.list .int) [(.prim .intSub [(.var 3), (.prim .intNeg [(.first (.call 24 [(.closure 25 []), (.build .pair (.pair .int (.list .int)) [(.value .int (.int 0)), (.var 0)]), (.var 2)]))])]), (.build .nil (.list .int) [])])]), (.var 4)]))]) }, + { parameters := [], types := [], result := (.list .int), + body := (.build .cons (.list .int) [(.value .int (.int (-6))), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int (-4))), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int (-6))), (.build .cons (.list .int) [(.value .int (.int (-3))), (.build .cons (.list .int) [(.value .int (.int (-7))), (.build .cons (.list .int) [(.value .int (.int (-6))), (.build .nil (.list .int) [])])])])])])])])])])]) }, + { parameters := [], types := [], result := (.list (.list .int)), + body := (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .nil (.list (.list .int)) [])])])])])])])])])])]) }, + { parameters := [0, 1, 2], types := [(.fn [(.list .int), .int] (.list .int)), (.list .int), (.list .int)], result := (.list .int), + body := (.«match» (.list .int) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 17 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1], types := [(.list .int), .int], result := (.list .int), + body := (.prim .append [(.var 0), (.build .cons (.list .int) [(.«let» 2 .int (.prim .intQuot [(.var 1), (.value .int (.int 4)), (.value .int (.int 0))]) (.cond (.«match» .bool (.prim .compare [(.var 2), (.value .int (.int 0))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.value .int (.int 0)) (.cond (.«match» .bool (.prim .compare [(.value .int (.int 127)), (.var 2)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.value .int (.int 127)) (.var 2)))), (.build .nil (.list .int) [])])]) }, + { parameters := [0, 1], types := [(.list .int), .int], result := (.list .int), + body := (.prim .append [(.var 0), (.build .cons (.list .int) [(.cond (.«match» .bool (.prim .compare [(.var 1), (.value .int (.int 0))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.value .int (.int 0)) (.var 1)), (.build .nil (.list .int) [])])]) }, + { parameters := [0, 1, 2], types := [(.list .int), (.pair (.list .int) (.list .int)), (.list .int)], result := (.pair (.list .int) (.list .int)), + body := (.«match» (.pair (.list .int) (.list .int)) (.second (.var 1)) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.build .pair (.pair (.list .int) (.list .int)) [(.prim .append [(.first (.var 1)), (.build .cons (.list .int) [(.prim .intSub [(.var 3), (.prim .intNeg [(.first (.call 24 [(.closure 26 []), (.build .pair (.pair .int (.list .int)) [(.value .int (.int 0)), (.var 0)]), (.var 2)]))])]), (.build .nil (.list .int) [])])]), (.var 4)]))]) }, + { parameters := [], types := [], result := (.list .int), + body := (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int 3)), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .nil (.list .int) [])])])])])])])])])])])])]) }, + { parameters := [], types := [], result := (.list (.list .int)), + body := (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 3)), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int (-1))), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int (-3))), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int (-1))), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int (-4))), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 3)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .nil (.list (.list .int)) [])])])])])])])])])])])])]) }, + { parameters := [0], types := [(.adt 0)], result := (.list .int), + body := (.«match» (.list .int) (.var 0) [(.arm (.adt 0) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 1) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 2) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 3) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 4) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 5) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 6) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 7) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 8) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 9) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])]))]) }, + { parameters := [0, 1, 2], types := [(.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (.pair .int (.list .int)), (.list .int)], result := (.pair .int (.list .int)), + body := (.«match» (.pair .int (.list .int)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 24 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1], types := [(.pair .int (.list .int)), .int], result := (.pair .int (.list .int)), + body := (.«match» (.pair .int (.list .int)) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair .int (.list .int)) [(.prim .intSub [(.first (.var 0)), (.prim .intNeg [(.prim .intMul [(.var 1), (.var 2)])])]), (.var 3)]))]) }, + { parameters := [0, 1], types := [(.pair .int (.list .int)), .int], result := (.pair .int (.list .int)), + body := (.«match» (.pair .int (.list .int)) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair .int (.list .int)) [(.prim .intSub [(.first (.var 0)), (.prim .intNeg [(.prim .intMul [(.var 1), (.var 2)])])]), (.var 3)]))]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := ((.enum (.adt 0) [{ number := 0, fields := [] }, { number := 1, fields := [] }, { number := 2, fields := [] }, { number := 3, fields := [] }, { number := 4, fields := [] }, { number := 5, fields := [] }, { number := 6, fields := [] }, { number := 7, fields := [] }, { number := 8, fields := [] }, { number := 9, fields := [] }]) :: + (.enum (.fn 0) [{ number := 6, fields := [] }]) :: + (.apply 0 [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat)) false [{ function := 6, captures := [], functionFallible := false }]) :: + (.enum (.fn 1) [{ number := 14, fields := [(.list .int)] }, { number := 20, fields := [(.list .int)] }]) :: + (.apply 1 [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int)) true [{ function := 14, captures := [.clone], functionFallible := true }, { function := 20, captures := [.clone], functionFallible := true }]) :: + (.enum (.fn 2) [{ number := 18, fields := [] }, { number := 19, fields := [] }]) :: + (.apply 2 [(.list .int), .int] (.list .int) true [{ function := 18, captures := [], functionFallible := true }, { function := 19, captures := [], functionFallible := false }]) :: + (.enum (.fn 3) [{ number := 25, fields := [] }, { number := 26, fields := [] }]) :: + (.apply 3 [(.pair .int (.list .int)), .int] (.pair .int (.list .int)) true [{ function := 25, captures := [], functionFallible := true }, { function := 26, captures := [], functionFallible := true }]) :: + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.result .nat (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 1)) (some (.adt 0)) (.move (.generated .binding 0))), (.mk (.bind (.generated .binding 2)) (some .nat) (.call (.function 1) [(.clone (.generated .binding 1))] true))] (.cond (.call (.function 2) [(.move (.generated .binding 1)), (.copy (.generated .binding 2))] false) (.mk [] (.succeed (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))]))) (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))))) :: + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [] (.call (.function 3) [(.move (.generated .binding 0))] false))) :: + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 2)) none (.call (.function 4) [(.move (.generated .binding 0))] false))] (.call (.runtime .natEq) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) :: + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 4)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.call (.function 5) [(.construct (.closure 0 6) []), (.pair (.construct (.none (.pair .nat .int)) []) (.construct .cons [(.lit (.nat 0)), (.construct .cons [(.lit (.nat 1)), (.construct .cons [(.lit (.nat 2)), (.construct .cons [(.lit (.nat 3)), (.construct .cons [(.lit (.nat 4)), (.construct .cons [(.lit (.nat 5)), (.construct .cons [(.lit (.nat 6)), (.construct .cons [(.lit (.nat 7)), (.construct .cons [(.lit (.nat 8)), (.construct .cons [(.lit (.nat 9)), (.construct (.nil .nat) [])])])])])])])])])])])), (.call (.function 7) [(.move (.generated .binding 0))] true)] false))] (.move (.generated .part 3)))))] (.matchOn (.move (.generated .holder 4)) [(.mk .none (.mk [] (.succeed (.lit (.nat 0))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [(.mk (.tuple [(.bind (.generated .part 5)), .wild]) none (.copy (.generated .binding 1)))] (.succeed (.move (.generated .part 5)))))]))) :: + (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .nat (.mk [(.mk (.bind (.generated .holder 6)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 6)) [(.mk (.adt 0 0 []) (.mk [] (.lit (.nat 0)))), (.mk (.adt 0 1 []) (.mk [] (.lit (.nat 1)))), (.mk (.adt 0 2 []) (.mk [] (.lit (.nat 2)))), (.mk (.adt 0 3 []) (.mk [] (.lit (.nat 3)))), (.mk (.adt 0 4 []) (.mk [] (.lit (.nat 4)))), (.mk (.adt 0 5 []) (.mk [] (.lit (.nat 5)))), (.mk (.adt 0 6 []) (.mk [] (.lit (.nat 6)))), (.mk (.adt 0 7 []) (.mk [] (.lit (.nat 7)))), (.mk (.adt 0 8 []) (.mk [] (.lit (.nat 8)))), (.mk (.adt 0 9 []) (.mk [] (.lit (.nat 9))))]))) :: + (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := (.pair (.option (.pair .nat .int)) (.list .nat)) }, { pattern := (.bind (.generated .binding 2)), type := (.list .int) }] (.pair (.option (.pair .nat .int)) (.list .nat)) (.mk [(.mk (.bind (.generated .holder 7)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 7)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 5) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 8) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)))]))) :: + (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := (.pair (.option (.pair .nat .int)) (.list .nat)) }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.pair (.option (.pair .nat .int)) (.list .nat)) (.mk [(.mk (.bind (.generated .holder 10)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 9))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 9)))))] (.matchOn (.uncons (.generated .holder 10)) [(.mk .none (.mk [] (.move (.generated .binding 0)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 11)))))] (.matchOn (.move (.generated .holder 12)) [(.mk .none (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 13))))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false))))] (.cond (.matchOn (.move (.generated .holder 16)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.copy (.generated .binding 4))])))))]))) (.move (.generated .binding 3)))))]))) :: + (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.list .int)) (.mk [] (.call (.function 8) [(.call (.function 9) [(.call (.function 10) [(.call (.function 11) [(.call (.function 12) [(.move (.generated .binding 0))] false)] true)] true)] true)] false))) :: + (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }] (.fallible (.list .int)) (.mk [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.call (.function 13) [(.construct (.closure 1 14) [(.move (.generated .binding 0))]), (.pair (.construct (.nil .int) []) (.call (.function 15) [] false)), (.call (.function 16) [] false)] true))] (.succeed (.move (.generated .part 17))))) :: + (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }] (.fallible (.list .int)) (.mk [] (.call (.function 17) [(.construct (.closure 2 18) []), (.construct (.nil .int) []), (.move (.generated .binding 0))] false))) :: + (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }] (.fallible (.list .int)) (.mk [] (.call (.function 17) [(.construct (.closure 2 19) []), (.construct (.nil .int) []), (.move (.generated .binding 0))] false))) :: + (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }] (.fallible (.list .int)) (.mk [(.mk (.tuple [(.bind (.generated .part 18)), .wild]) none (.call (.function 13) [(.construct (.closure 1 20) [(.move (.generated .binding 0))]), (.pair (.construct (.nil .int) []) (.call (.function 21) [] false)), (.call (.function 22) [] false)] true))] (.succeed (.move (.generated .part 18))))) :: + (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.list .int) (.mk [] (.call (.function 23) [(.move (.generated .binding 0))] false))) :: + (.function (.generated .function 13) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 1) }, { pattern := (.bind (.generated .binding 1)), type := (.pair (.list .int) (.list .int)) }, { pattern := (.bind (.generated .binding 2)), type := (.list (.list .int)) }] (.fallible (.pair (.list .int) (.list .int))) (.mk [(.mk (.bind (.generated .holder 19)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 19)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 13) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 20)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 20) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]))) :: + (.function (.generated .function 14) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }, { pattern := (.bind (.generated .binding 1)), type := (.pair (.list .int) (.list .int)) }, { pattern := (.bind (.generated .binding 2)), type := (.list .int) }] (.fallible (.pair (.list .int) (.list .int))) (.mk [(.mk (.bind (.generated .holder 22)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 21))]) none (.clone (.generated .binding 1)))] (.move (.generated .part 21)))))] (.matchOn (.uncons (.generated .holder 22)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 23))))), (.mk (.bind (.generated .operand 29)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 26)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 27)) none (.block (.mk [(.mk (.bind (.generated .operand 25)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 24)), .wild]) none (.call (.function 24) [(.construct (.closure 3 25) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 24)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 25))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 28)), (.move (.generated .operand 29))] false))) (.move (.generated .binding 4))))))]))) :: + (.function (.generated .function 15) [] (.list .int) (.mk [] (.construct .cons [(.lit (.int (-6))), (.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int (-4))), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int (-6))), (.construct .cons [(.lit (.int (-3))), (.construct .cons [(.lit (.int (-7))), (.construct .cons [(.lit (.int (-6))), (.construct (.nil .int) [])])])])])])])])])])]))) :: + (.function (.generated .function 16) [] (.list (.list .int)) (.mk [] (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct (.nil (.list .int)) [])])])])])])])])])])]))) :: + (.function (.generated .function 17) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 2) }, { pattern := (.bind (.generated .binding 1)), type := (.list .int) }, { pattern := (.bind (.generated .binding 2)), type := (.list .int) }] (.fallible (.list .int)) (.mk [(.mk (.bind (.generated .holder 30)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 30)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 17) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 31)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 31) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]))) :: + (.function (.generated .function 18) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.fallible (.list .int)) (.mk [(.mk (.bind (.generated .operand 41)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 42)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .binding 2)) (some .int) (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 33)) none (.lit (.int 4))), (.mk (.bind (.generated .operand 34)) none (.lit (.int 0)))] (.call (.runtime .intQuot) [(.move (.generated .operand 32)), (.move (.generated .operand 33)), (.move (.generated .operand 34))] true)))), (.mk (.bind (.generated .holder 37)) none (.block (.mk [(.mk (.bind (.generated .operand 35)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 36)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] false))))] (.cond (.matchOn (.move (.generated .holder 37)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 0))) (.mk [(.mk (.bind (.generated .holder 40)) none (.block (.mk [(.mk (.bind (.generated .operand 38)) none (.lit (.int 127))), (.mk (.bind (.generated .operand 39)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] false))))] (.cond (.matchOn (.move (.generated .holder 40)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 127))) (.mk [] (.copy (.generated .binding 2)))))))), (.construct (.nil .int) [])]))] (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 41)), (.move (.generated .operand 42))] false)))) :: + (.function (.generated .function 19) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.list .int) (.mk [(.mk (.bind (.generated .operand 46)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 47)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .holder 45)) none (.block (.mk [(.mk (.bind (.generated .operand 43)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 44)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 43)), (.move (.generated .operand 44))] false))))] (.cond (.matchOn (.move (.generated .holder 45)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 0))) (.mk [] (.copy (.generated .binding 1)))))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 46)), (.move (.generated .operand 47))] false))) :: + (.function (.generated .function 20) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }, { pattern := (.bind (.generated .binding 1)), type := (.pair (.list .int) (.list .int)) }, { pattern := (.bind (.generated .binding 2)), type := (.list .int) }] (.fallible (.pair (.list .int) (.list .int))) (.mk [(.mk (.bind (.generated .holder 49)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 48))]) none (.clone (.generated .binding 1)))] (.move (.generated .part 48)))))] (.matchOn (.uncons (.generated .holder 49)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 55)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 50)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 50))))), (.mk (.bind (.generated .operand 56)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 53)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 54)) none (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.call (.function 24) [(.construct (.closure 3 26) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 51)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 52))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 55)), (.move (.generated .operand 56))] false))) (.move (.generated .binding 4))))))]))) :: + (.function (.generated .function 21) [] (.list .int) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int 3)), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int 2)), (.construct (.nil .int) [])])])])])])])])])])])])]))) :: + (.function (.generated .function 22) [] (.list (.list .int)) (.mk [] (.construct .cons [(.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 3)), (.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int (-1))), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int (-3))), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int (-1))), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int (-2))), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int (-4))), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 3)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct (.nil (.list .int)) [])])])])])])])])])])])])]))) :: + (.function (.generated .function 23) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.list .int) (.mk [(.mk (.bind (.generated .holder 57)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 57)) [(.mk (.adt 0 0 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 1 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 2 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 3 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 4 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 5 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 6 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 7 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 8 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 9 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])))]))) :: + (.function (.generated .function 24) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 3) }, { pattern := (.bind (.generated .binding 1)), type := (.pair .int (.list .int)) }, { pattern := (.bind (.generated .binding 2)), type := (.list .int) }] (.fallible (.pair .int (.list .int))) (.mk [(.mk (.bind (.generated .holder 58)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 58)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 24) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 59)) (some (.fn 3)) (.move (.generated .binding 0)))] (.apply (.generated .callee 59) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]))) :: + (.function (.generated .function 25) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .int (.list .int)) }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.fallible (.pair .int (.list .int))) (.mk [(.mk (.bind (.generated .holder 61)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 60))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 60)))))] (.matchOn (.uncons (.generated .holder 61)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 66)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 62)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 62))))), (.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.bind (.generated .operand 63)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 63)), (.move (.generated .operand 64))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 65))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 66)), (.move (.generated .operand 67))] true))) (.move (.generated .binding 3))))))]))) :: + (.function (.generated .function 26) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .int (.list .int)) }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.fallible (.pair .int (.list .int))) (.mk [(.mk (.bind (.generated .holder 69)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 68))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 68)))))] (.matchOn (.uncons (.generated .holder 69)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 74)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 70)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 70))))), (.mk (.bind (.generated .operand 75)) none (.block (.mk [(.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.bind (.generated .operand 71)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 72)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 71)), (.move (.generated .operand 72))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 73))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 74)), (.move (.generated .operand 75))] true))) (.move (.generated .binding 3))))))]))) :: + []) } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [(([(.pair (.option (.pair .nat .int)) (.list .nat)), .int], (.pair (.option (.pair .nat .int)) (.list .nat))), false), (([(.pair (.list .int) (.list .int)), (.list .int)], (.pair (.list .int) (.list .int))), true), (([(.list .int), .int], (.list .int)), true), (([(.pair .int (.list .int)), .int], (.pair .int (.list .int))), true)] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.adt 0)) (.move (.generated .binding 0))), (.mk (.bind (.generated .binding 2)) (some .nat) (.call (.function 1) [(.clone (.generated .binding 1))] true))], (.cond (.call (.function 2) [(.move (.generated .binding 1)), (.copy (.generated .binding 2))] false) (.mk [] (.succeed (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))]))) (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.letBind (Corr.var rfl rfl) rfl (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.cond (lc := []) (ce := (.call (.function 2) [(.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))]))) (lb := []) (tb := (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))]))) (Corr.fOfB (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl))))))⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 3) [(.move (.generated .binding 0))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.callF (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 2)) none (.call (.function 4) [(.move (.generated .binding 0))] false))], (.call (.runtime .natEq) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false), [(1, .nat, (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 4)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.call (.function 5) [(.construct (.closure 0 6) []), (.pair (.construct (.none (.pair .nat .int)) []) (.construct .cons [(.lit (.nat 0)), (.construct .cons [(.lit (.nat 1)), (.construct .cons [(.lit (.nat 2)), (.construct .cons [(.lit (.nat 3)), (.construct .cons [(.lit (.nat 4)), (.construct .cons [(.lit (.nat 5)), (.construct .cons [(.lit (.nat 6)), (.construct .cons [(.lit (.nat 7)), (.construct .cons [(.lit (.nat 8)), (.construct .cons [(.lit (.nat 9)), (.construct (.nil .nat) [])])])])])])])])])])])), (.call (.function 7) [(.move (.generated .binding 0))] true)] false))] (.move (.generated .part 3)))))], (.matchOn (.move (.generated .holder 4)) [(.mk .none (.mk [] (.succeed (.lit (.nat 0))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [(.mk (.tuple [(.bind (.generated .part 5)), .wild]) none (.copy (.generated .binding 1)))] (.succeed (.move (.generated .part 5)))))]), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option (.pair .nat .int))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.call (.function 5) [(.construct (.closure 0 6) []), (.pair (.construct (.none (.pair .nat .int)) []) (.construct .cons [(.lit (.nat 0)), (.construct .cons [(.lit (.nat 1)), (.construct .cons [(.lit (.nat 2)), (.construct .cons [(.lit (.nat 3)), (.construct .cons [(.lit (.nat 4)), (.construct .cons [(.lit (.nat 5)), (.construct .cons [(.lit (.nat 6)), (.construct .cons [(.lit (.nat 7)), (.construct .cons [(.lit (.nat 8)), (.construct .cons [(.lit (.nat 9)), (.construct (.nil .nat) [])])])])])])])])])])])), (.call (.function 7) [(.move (.generated .binding 0))] true)] false))]) (tail := (.move (.generated .part 3))) (Corr.first (ta := (.option (.pair .nat .int))) (tb := (.list .nat)) (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat))), (.pair (.option (.pair .nat .int)) (.list .nat)), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := false) (ff := false) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl)) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 0)))) (Corr.mCons (Γ' := [(1, (.pair .nat .int), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.tuple [(.bind (.generated .part 5)), .wild]) none (.copy (.generated .binding 1)))]) (tail := (.succeed (.move (.generated .part 5)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.first (ta := .nat) (tb := .int) (Corr.var rfl rfl) rfl))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun4 : FunOK program krate flags 4 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 6)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 6)) [(.mk (.adt 0 0 []) (.mk [] (.lit (.nat 0)))), (.mk (.adt 0 1 []) (.mk [] (.lit (.nat 1)))), (.mk (.adt 0 2 []) (.mk [] (.lit (.nat 2)))), (.mk (.adt 0 3 []) (.mk [] (.lit (.nat 3)))), (.mk (.adt 0 4 []) (.mk [] (.lit (.nat 4)))), (.mk (.adt 0 5 []) (.mk [] (.lit (.nat 5)))), (.mk (.adt 0 6 []) (.mk [] (.lit (.nat 6)))), (.mk (.adt 0 7 []) (.mk [] (.lit (.nat 7)))), (.mk (.adt 0 8 []) (.mk [] (.lit (.nat 8)))), (.mk (.adt 0 9 []) (.mk [] (.lit (.nat 9))))]), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.nat 0))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.nat 1))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.nat 2))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 3) (loads := []) (lets := []) (tail := (.lit (.nat 3))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 4) (loads := []) (lets := []) (tail := (.lit (.nat 4))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 5) (loads := []) (lets := []) (tail := (.lit (.nat 5))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 6) (loads := []) (lets := []) (tail := (.lit (.nat 6))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 7) (loads := []) (lets := []) (tail := (.lit (.nat 7))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 8) (loads := []) (lets := []) (tail := (.lit (.nat 8))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 9) (loads := []) (lets := []) (tail := (.lit (.nat 9))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.value rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.value rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.value rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.value rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.value rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.value rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.value rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.value rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.value rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.value rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun5 : FunOK program krate flags 5 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 7)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 7)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 5) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 8) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)))]), [(2, (.list .int), (some 2)), (1, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 1)), (0, (.fn [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 1)), (0, (.fn [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(4, (.list .int), (some 4)), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 1)), (0, (.fn [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 5) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 8) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.fn [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat))), (.pair (.option (.pair .nat .int)) (.list .nat)), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 8) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false)) (Corr.apply (ps := [(.pair (.option (.pair .nat .int)) (.list .nat)), .int]) (af := false) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun6 : FunOK program krate flags 6 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 10)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 9))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 9)))))], (.matchOn (.uncons (.generated .holder 10)) [(.mk .none (.mk [] (.move (.generated .binding 0)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 11)))))] (.matchOn (.move (.generated .holder 12)) [(.mk .none (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 13))))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false))))] (.cond (.matchOn (.move (.generated .holder 16)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.copy (.generated .binding 4))])))))]))) (.move (.generated .binding 3)))))]), [(1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 9))]) none (.clone (.generated .binding 0)))]) (tail := (.move (.generated .part 9))) (Corr.second (ta := (.option (.pair .nat .int))) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.pair (.block (.mk [(.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 11)))))] (.matchOn (.move (.generated .holder 12)) [(.mk .none (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 13))))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false))))] (.cond (.matchOn (.move (.generated .holder 16)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.copy (.generated .binding 4))])))))]))) (.move (.generated .binding 3)))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 11)))))]) (tail := (.matchOn (.move (.generated .holder 12)) [(.mk .none (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 13))))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false))))] (.cond (.matchOn (.move (.generated .holder 16)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.copy (.generated .binding 4))])))))])) (Corr.matchArms (st := (.option (.pair .nat .int))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 0)))]) (tail := (.move (.generated .part 11))) (Corr.first (ta := (.option (.pair .nat .int))) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))])) (Corr.mCons (Γ' := [(4, (.pair .nat .int), (some 4)), (3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 13))))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 16)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.copy (.generated .binding 4))])))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 13))))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false))))]) (ce := (.matchOn (.move (.generated .holder 16)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 14)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 13))))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.copy (.generated .binding 4)))]) (tail := (.move (.generated .part 13))) (Corr.second (ta := .nat) (tb := .int) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.pair .nat .int), (some 4)), (3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.pair .nat .int), (some 4)), (3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.pair .nat .int), (some 4)), (3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))])) (lb := []) (tb := (.construct .some [(.copy (.generated .binding 4))])) (Corr.build (ts := [(.pair .nat .int)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lNil))) rfl) (Corr.build (ts := [(.pair .nat .int)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)))) rfl rfl rfl (Corr.build (ts := [(.pair .nat .int)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))))) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun7 : FunOK program krate flags 7 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 8) [(.call (.function 9) [(.call (.function 10) [(.call (.function 11) [(.call (.function 12) [(.move (.generated .binding 0))] false)] true)] true)] true)] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.callF (ts := [(.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ + +theorem fun8 : FunOK program krate flags 8 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.call (.function 13) [(.construct (.closure 1 14) [(.move (.generated .binding 0))]), (.pair (.construct (.nil .int) []) (.call (.function 15) [] false)), (.call (.function 16) [] false)] true))], (.succeed (.move (.generated .part 17))), [(0, (.list .int), (some 0))], rfl, rfl, + (Corr.fOfB (Corr.first (ta := (.list .int)) (tb := (.list .int)) (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (.pair (.list .int) (.list .int)), (.list (.list .int))]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [(.list .int)]) (mask := [false]) (af := true) (ff := true) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := []) (Corr.opsNil) rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := []) (Corr.opsNil) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl))⟩⟩ + +theorem fun9 : FunOK program krate flags 9 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 17) [(.construct (.closure 2 18) []), (.construct (.nil .int) []), (.move (.generated .binding 0))] false), [(0, (.list .int), (some 0))], rfl, rfl, + (Corr.callF (ts := [(.fn [(.list .int), .int] (.list .int)), (.list .int), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ + +theorem fun10 : FunOK program krate flags 10 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 17) [(.construct (.closure 2 19) []), (.construct (.nil .int) []), (.move (.generated .binding 0))] false), [(0, (.list .int), (some 0))], rfl, rfl, + (Corr.callF (ts := [(.fn [(.list .int), .int] (.list .int)), (.list .int), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := false) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ + +theorem fun11 : FunOK program krate flags 11 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.tuple [(.bind (.generated .part 18)), .wild]) none (.call (.function 13) [(.construct (.closure 1 20) [(.move (.generated .binding 0))]), (.pair (.construct (.nil .int) []) (.call (.function 21) [] false)), (.call (.function 22) [] false)] true))], (.succeed (.move (.generated .part 18))), [(0, (.list .int), (some 0))], rfl, rfl, + (Corr.fOfB (Corr.first (ta := (.list .int)) (tb := (.list .int)) (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (.pair (.list .int) (.list .int)), (.list (.list .int))]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [(.list .int)]) (mask := [false]) (af := true) (ff := true) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := []) (Corr.opsNil) rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := []) (Corr.opsNil) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl))⟩⟩ + +theorem fun12 : FunOK program krate flags 12 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 23) [(.move (.generated .binding 0))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun13 : FunOK program krate flags 13 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 19)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 19)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 13) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 20)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 20) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list (.list .int)), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.list .int))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.list .int)), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list (.list .int)), (some 4)), (3, (.list .int), (some 3)), (2, (.list (.list .int)), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 13) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 20)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 20) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (.pair (.list .int) (.list .int)), (.list (.list .int))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 20)) (some (.fn 1)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 20) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true)) (Corr.apply (ps := [(.pair (.list .int) (.list .int)), (.list .int)]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun14 : FunOK program krate flags 14 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 22)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 21))]) none (.clone (.generated .binding 1)))] (.move (.generated .part 21)))))], (.matchOn (.uncons (.generated .holder 22)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 23))))), (.mk (.bind (.generated .operand 29)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 26)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 27)) none (.block (.mk [(.mk (.bind (.generated .operand 25)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 24)), .wild]) none (.call (.function 24) [(.construct (.closure 3 25) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 24)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 25))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 28)), (.move (.generated .operand 29))] false))) (.move (.generated .binding 4))))))]), [(2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 21))]) none (.clone (.generated .binding 1)))]) (tail := (.move (.generated .part 21))) (Corr.second (ta := (.list .int)) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .int), (some 4)), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 23))))), (.mk (.bind (.generated .operand 29)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 26)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 27)) none (.block (.mk [(.mk (.bind (.generated .operand 25)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 24)), .wild]) none (.call (.function 24) [(.construct (.closure 3 25) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 24)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 25))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 28)), (.move (.generated .operand 29))] false))) (.move (.generated .binding 4))))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 23))))), (.mk (.bind (.generated .operand 29)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 26)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 27)) none (.block (.mk [(.mk (.bind (.generated .operand 25)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 24)), .wild]) none (.call (.function 24) [(.construct (.closure 3 25) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 24)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 25))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] true))), (.construct (.nil .int) [])]))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 28)), (.move (.generated .operand 29))] false)) (Corr.prim (ts := [(.list .int), (.list .int)]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 23))) (Corr.first (ta := (.list .int)) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 26)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 27)) none (.block (.mk [(.mk (.bind (.generated .operand 25)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 24)), .wild]) none (.call (.function 24) [(.construct (.closure 3 25) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 24)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 25))] true))))]) (tail := (.call (.runtime .intSub) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 25)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 24)), .wild]) none (.call (.function 24) [(.construct (.closure 3 25) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 24)))))]) (tail := (.call (.runtime .intNeg) [(.move (.generated .operand 25))] true)) (Corr.prim (ts := [.int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 24)), .wild]) none (.call (.function 24) [(.construct (.closure 3 25) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))]) (tail := (.move (.generated .part 24))) (Corr.first (ta := .int) (tb := (.list .int)) (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (.pair .int (.list .int)), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun15 : FunOK program krate flags 15 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct .cons [(.lit (.int (-6))), (.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int (-4))), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int (-6))), (.construct .cons [(.lit (.int (-3))), (.construct .cons [(.lit (.int (-7))), (.construct .cons [(.lit (.int (-6))), (.construct (.nil .int) [])])])])])])])])])])]), [], rfl, rfl, + (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)⟩⟩ + +theorem fun16 : FunOK program krate flags 16 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct (.nil (.list .int)) [])])])])])])])])])])]), [], rfl, rfl, + (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)⟩⟩ + +theorem fun17 : FunOK program krate flags 17 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 30)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 30)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 17) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 31)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 31) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list .int), (some 2)), (1, (.list .int), (some 1)), (0, (.fn [(.list .int), .int] (.list .int)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, (.list .int), (some 1)), (0, (.fn [(.list .int), .int] (.list .int)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .int), (some 4)), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, (.list .int), (some 1)), (0, (.fn [(.list .int), .int] (.list .int)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 17) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 31)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 31) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.list .int), .int] (.list .int)), (.list .int), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 31)) (some (.fn 2)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 31) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true)) (Corr.apply (ps := [(.list .int), .int]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun18 : FunOK program krate flags 18 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 41)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 42)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .binding 2)) (some .int) (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 33)) none (.lit (.int 4))), (.mk (.bind (.generated .operand 34)) none (.lit (.int 0)))] (.call (.runtime .intQuot) [(.move (.generated .operand 32)), (.move (.generated .operand 33)), (.move (.generated .operand 34))] true)))), (.mk (.bind (.generated .holder 37)) none (.block (.mk [(.mk (.bind (.generated .operand 35)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 36)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] false))))] (.cond (.matchOn (.move (.generated .holder 37)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 0))) (.mk [(.mk (.bind (.generated .holder 40)) none (.block (.mk [(.mk (.bind (.generated .operand 38)) none (.lit (.int 127))), (.mk (.bind (.generated .operand 39)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] false))))] (.cond (.matchOn (.move (.generated .holder 40)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 127))) (.mk [] (.copy (.generated .binding 2)))))))), (.construct (.nil .int) [])]))], (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 41)), (.move (.generated .operand 42))] false)), [(1, .int, (some 1)), (0, (.list .int), (some 0))], rfl, rfl, + (Corr.fOfB (Corr.prim (ts := [(.list .int), (.list .int)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .binding 2)) (some .int) (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 33)) none (.lit (.int 4))), (.mk (.bind (.generated .operand 34)) none (.lit (.int 0)))] (.call (.runtime .intQuot) [(.move (.generated .operand 32)), (.move (.generated .operand 33)), (.move (.generated .operand 34))] true)))), (.mk (.bind (.generated .holder 37)) none (.block (.mk [(.mk (.bind (.generated .operand 35)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 36)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 37)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 0))) (.mk [(.mk (.bind (.generated .holder 40)) none (.block (.mk [(.mk (.bind (.generated .operand 38)) none (.lit (.int 127))), (.mk (.bind (.generated .operand 39)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] false))))] (.cond (.matchOn (.move (.generated .holder 40)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 127))) (.mk [] (.copy (.generated .binding 2))))))) (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 33)) none (.lit (.int 4))), (.mk (.bind (.generated .operand 34)) none (.lit (.int 0)))]) (tail := (.call (.runtime .intQuot) [(.move (.generated .operand 32)), (.move (.generated .operand 33)), (.move (.generated .operand 34))] true)) (Corr.prim (ts := [.int, .int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 37)) none (.block (.mk [(.mk (.bind (.generated .operand 35)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 36)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] false))))]) (ce := (.matchOn (.move (.generated .holder 37)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 35)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 36)) none (.lit (.int 0)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] false)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(2, .int, (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, .int, (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(2, .int, (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.int 0))) (lb := [(.mk (.bind (.generated .holder 40)) none (.block (.mk [(.mk (.bind (.generated .operand 38)) none (.lit (.int 127))), (.mk (.bind (.generated .operand 39)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] false))))]) (tb := (.cond (.matchOn (.move (.generated .holder 40)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 127))) (.mk [] (.copy (.generated .binding 2))))) (Corr.bOfE (Corr.value rfl rfl)) (Corr.cond (lc := [(.mk (.bind (.generated .holder 40)) none (.block (.mk [(.mk (.bind (.generated .operand 38)) none (.lit (.int 127))), (.mk (.bind (.generated .operand 39)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] false))))]) (ce := (.matchOn (.move (.generated .holder 40)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 38)) none (.lit (.int 127))), (.mk (.bind (.generated .operand 39)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] false)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(2, .int, (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, .int, (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(2, .int, (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.int 127))) (lb := []) (tb := (.copy (.generated .binding 2))) (Corr.bOfE (Corr.value rfl rfl)) (Corr.bOfE (Corr.var rfl rfl)))))))) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl))⟩⟩ + +theorem fun19 : FunOK program krate flags 19 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 46)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 47)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .holder 45)) none (.block (.mk [(.mk (.bind (.generated .operand 43)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 44)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 43)), (.move (.generated .operand 44))] false))))] (.cond (.matchOn (.move (.generated .holder 45)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 0))) (.mk [] (.copy (.generated .binding 1)))))), (.construct (.nil .int) [])]))], (.call (.runtime .appendList) [(.move (.generated .operand 46)), (.move (.generated .operand 47))] false), [(1, .int, (some 1)), (0, (.list .int), (some 0))], rfl, rfl, + (Corr.prim (ts := [(.list .int), (.list .int)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 45)) none (.block (.mk [(.mk (.bind (.generated .operand 43)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 44)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 43)), (.move (.generated .operand 44))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 45)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 0))) (.mk [] (.copy (.generated .binding 1))))) (Corr.cond (lc := [(.mk (.bind (.generated .holder 45)) none (.block (.mk [(.mk (.bind (.generated .operand 43)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 44)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 43)), (.move (.generated .operand 44))] false))))]) (ce := (.matchOn (.move (.generated .holder 45)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 43)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 44)) none (.lit (.int 0)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 43)), (.move (.generated .operand 44))] false)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.int 0))) (lb := []) (tb := (.copy (.generated .binding 1))) (Corr.bOfE (Corr.value rfl rfl)) (Corr.bOfE (Corr.var rfl rfl))))) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun20 : FunOK program krate flags 20 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 49)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 48))]) none (.clone (.generated .binding 1)))] (.move (.generated .part 48)))))], (.matchOn (.uncons (.generated .holder 49)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 55)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 50)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 50))))), (.mk (.bind (.generated .operand 56)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 53)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 54)) none (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.call (.function 24) [(.construct (.closure 3 26) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 51)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 52))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 55)), (.move (.generated .operand 56))] false))) (.move (.generated .binding 4))))))]), [(2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 48))]) none (.clone (.generated .binding 1)))]) (tail := (.move (.generated .part 48))) (Corr.second (ta := (.list .int)) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .int), (some 4)), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 55)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 50)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 50))))), (.mk (.bind (.generated .operand 56)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 53)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 54)) none (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.call (.function 24) [(.construct (.closure 3 26) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 51)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 52))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 55)), (.move (.generated .operand 56))] false))) (.move (.generated .binding 4))))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 55)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 50)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 50))))), (.mk (.bind (.generated .operand 56)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 53)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 54)) none (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.call (.function 24) [(.construct (.closure 3 26) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 51)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 52))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true))), (.construct (.nil .int) [])]))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 55)), (.move (.generated .operand 56))] false)) (Corr.prim (ts := [(.list .int), (.list .int)]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 50)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 50))) (Corr.first (ta := (.list .int)) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 53)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 54)) none (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.call (.function 24) [(.construct (.closure 3 26) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 51)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 52))] true))))]) (tail := (.call (.runtime .intSub) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.call (.function 24) [(.construct (.closure 3 26) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 51)))))]) (tail := (.call (.runtime .intNeg) [(.move (.generated .operand 52))] true)) (Corr.prim (ts := [.int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.call (.function 24) [(.construct (.closure 3 26) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))]) (tail := (.move (.generated .part 51))) (Corr.first (ta := .int) (tb := (.list .int)) (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (.pair .int (.list .int)), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun21 : FunOK program krate flags 21 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int 3)), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int 2)), (.construct (.nil .int) [])])])])])])])])])])])])]), [], rfl, rfl, + (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)⟩⟩ + +theorem fun22 : FunOK program krate flags 22 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct .cons [(.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 3)), (.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int (-1))), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int (-3))), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int (-1))), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int (-2))), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int (-4))), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 3)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct (.nil (.list .int)) [])])])])])])])])])])])])]), [], rfl, rfl, + (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)⟩⟩ + +theorem fun23 : FunOK program krate flags 23 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 57)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 57)) [(.mk (.adt 0 0 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 1 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 2 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 3 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 4 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 5 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 6 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 7 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 8 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 9 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])))]), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 3) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 4) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 5) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 6) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 7) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 8) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 9) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun24 : FunOK program krate flags 24 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 58)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 58)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 24) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 59)) (some (.fn 3)) (.move (.generated .binding 0)))] (.apply (.generated .callee 59) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list .int), (some 2)), (1, (.pair .int (.list .int)), (some 1)), (0, (.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, (.pair .int (.list .int)), (some 1)), (0, (.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .int), (some 4)), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, (.pair .int (.list .int)), (some 1)), (0, (.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 24) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 59)) (some (.fn 3)) (.move (.generated .binding 0)))] (.apply (.generated .callee 59) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (.pair .int (.list .int)), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 59)) (some (.fn 3)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 59) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true)) (Corr.apply (ps := [(.pair .int (.list .int)), .int]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun25 : FunOK program krate flags 25 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 61)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 60))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 60)))))], (.matchOn (.uncons (.generated .holder 61)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 66)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 62)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 62))))), (.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.bind (.generated .operand 63)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 63)), (.move (.generated .operand 64))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 65))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 66)), (.move (.generated .operand 67))] true))) (.move (.generated .binding 3))))))]), [(1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 60))]) none (.clone (.generated .binding 0)))]) (tail := (.move (.generated .part 60))) (Corr.second (ta := .int) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 0)))) (Corr.mCons (Γ' := [(3, (.list .int), (some 3)), (2, .int, (some 2)), (1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 66)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 62)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 62))))), (.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.bind (.generated .operand 63)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 63)), (.move (.generated .operand 64))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 65))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 66)), (.move (.generated .operand 67))] true))) (.move (.generated .binding 3))))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 66)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 62)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 62))))), (.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.bind (.generated .operand 63)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 63)), (.move (.generated .operand 64))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 65))] true))))]) (tail := (.call (.runtime .intSub) [(.move (.generated .operand 66)), (.move (.generated .operand 67))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 62)), .wild]) none (.move (.generated .binding 0)))]) (tail := (.move (.generated .part 62))) (Corr.first (ta := .int) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.bind (.generated .operand 63)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 63)), (.move (.generated .operand 64))] true))))]) (tail := (.call (.runtime .intNeg) [(.move (.generated .operand 65))] true)) (Corr.prim (ts := [.int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 63)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .intMul) [(.move (.generated .operand 63)), (.move (.generated .operand 64))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun26 : FunOK program krate flags 26 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 69)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 68))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 68)))))], (.matchOn (.uncons (.generated .holder 69)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 74)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 70)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 70))))), (.mk (.bind (.generated .operand 75)) none (.block (.mk [(.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.bind (.generated .operand 71)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 72)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 71)), (.move (.generated .operand 72))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 73))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 74)), (.move (.generated .operand 75))] true))) (.move (.generated .binding 3))))))]), [(1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 68))]) none (.clone (.generated .binding 0)))]) (tail := (.move (.generated .part 68))) (Corr.second (ta := .int) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 0)))) (Corr.mCons (Γ' := [(3, (.list .int), (some 3)), (2, .int, (some 2)), (1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 74)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 70)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 70))))), (.mk (.bind (.generated .operand 75)) none (.block (.mk [(.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.bind (.generated .operand 71)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 72)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 71)), (.move (.generated .operand 72))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 73))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 74)), (.move (.generated .operand 75))] true))) (.move (.generated .binding 3))))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 74)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 70)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 70))))), (.mk (.bind (.generated .operand 75)) none (.block (.mk [(.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.bind (.generated .operand 71)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 72)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 71)), (.move (.generated .operand 72))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 73))] true))))]) (tail := (.call (.runtime .intSub) [(.move (.generated .operand 74)), (.move (.generated .operand 75))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 70)), .wild]) none (.move (.generated .binding 0)))]) (tail := (.move (.generated .part 70))) (Corr.first (ta := .int) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.bind (.generated .operand 71)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 72)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 71)), (.move (.generated .operand 72))] true))))]) (tail := (.call (.runtime .intNeg) [(.move (.generated .operand 73))] true)) (Corr.prim (ts := [.int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 71)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 72)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .intMul) [(.move (.generated .operand 71)), (.move (.generated .operand 72))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | 4 => exact fun4 + | 5 => exact fun5 + | 6 => exact fun6 + | 7 => exact fun7 + | 8 => exact fun8 + | 9 => exact fun9 + | 10 => exact fun10 + | 11 => exact fun11 + | 12 => exact fun12 + | 13 => exact fun13 + | 14 => exact fun14 + | 15 => exact fun15 + | 16 => exact fun16 + | 17 => exact fun17 + | 18 => exact fun18 + | 19 => exact fun19 + | 20 => exact fun20 + | 21 => exact fun21 + | 22 => exact fun22 + | 23 => exact fun23 + | 24 => exact fun24 + | 25 => exact fun25 + | 26 => exact fun26 + | _ + 27 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R2.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R2.lean new file mode 100644 index 000000000..e2cfdfada --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R2.lean @@ -0,0 +1,217 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Models.Flows +import Models.Glyphs +import Models.Ledger +import Models.Main +import Models.Pipeline +import Models.Policy +import Models.Recognizer +import Models.Session +import Models.Triage +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [{ constructors := [[], [], [], [], [], [], [], []] }, + { constructors := [[], [], []] }], functions := [ + { parameters := [0], types := [(.adt 0)], result := (.result .nat (.pair .bool .bool)), + body := (.«let» 1 (.adt 0) (.var 0) (.cond (.call 1 [(.var 1)]) (.«let» 2 .nat (.call 2 [(.var 1)]) (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)])) (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))) }, + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.call 3 [(.var 0)]) }, + { parameters := [0], types := [(.adt 0)], result := .nat, + body := (.call 4 [(.var 0)]) }, + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.«match» .bool (.var 0) [(.arm (.adt 0) [] (.build .false .bool [])), (.arm (.adt 1) [] (.build .true .bool [])), (.arm (.adt 2) [] (.build .true .bool [])), (.arm (.adt 3) [] (.build .true .bool [])), (.arm (.adt 4) [] (.build .true .bool [])), (.arm (.adt 5) [] (.build .true .bool [])), (.arm (.adt 6) [] (.build .true .bool [])), (.arm (.adt 7) [] (.build .true .bool []))]) }, + { parameters := [0], types := [(.adt 0)], result := .nat, + body := (.«let» 1 (.adt 1) (.call 5 [(.var 0)]) (.«let» 2 .nat (.call 6 [(.var 1)]) (.var 2))) }, + { parameters := [0], types := [(.adt 0)], result := (.adt 1), + body := (.call 7 [(.var 0)]) }, + { parameters := [0], types := [(.adt 1)], result := .nat, + body := (.call 8 [(.var 0)]) }, + { parameters := [0], types := [(.adt 0)], result := (.adt 1), + body := (.«match» (.adt 1) (.first (.call 9 [(.closure 10 []), (.build .pair (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))) [(.build .none (.option (.pair (.adt 1) .int)) []), (.build .cons (.list (.adt 1)) [(.build (.adt 0) (.adt 1) []), (.build .cons (.list (.adt 1)) [(.build (.adt 1) (.adt 1) []), (.build .cons (.list (.adt 1)) [(.build (.adt 2) (.adt 1) []), (.build .nil (.list (.adt 1)) [])])])])]), (.call 11 [(.var 0)])])) [(.arm .none [] (.build (.adt 0) (.adt 1) [])), (.arm .some [1] (.first (.var 1)))]) }, + { parameters := [0], types := [(.adt 1)], result := .nat, + body := (.cond (.call 12 [(.var 0)]) (.value .nat (.nat 2)) (.cond (.call 13 [(.var 0)]) (.value .nat (.nat 1)) (.value .nat (.nat 0)))) }, + { parameters := [0, 1, 2], types := [(.fn [(.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), .int] (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1)))), (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (.list .int)], result := (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), + body := (.«match» (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 9 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1], types := [(.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), .int], result := (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), + body := (.«match» (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))) [(.«match» (.option (.pair (.adt 1) .int)) (.first (.var 0)) [(.arm .none [] (.build .some (.option (.pair (.adt 1) .int)) [(.build .pair (.pair (.adt 1) .int) [(.var 2), (.var 1)])])), (.arm .some [4] (.cond (.«match» .bool (.prim .compare [(.second (.var 4)), (.var 1)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.build .some (.option (.pair (.adt 1) .int)) [(.build .pair (.pair (.adt 1) .int) [(.var 2), (.var 1)])]) (.build .some (.option (.pair (.adt 1) .int)) [(.var 4)])))]), (.var 3)]))]) }, + { parameters := [0], types := [(.adt 0)], result := (.list .int), + body := (.«let» 1 (.list .int) (.call 14 [(.var 0)]) (.first (.call 15 [(.closure 16 [(.var 1)]), (.build .pair (.pair (.list .int) (.list .int)) [(.build .nil (.list .int) []), (.call 17 [])]), (.call 18 [])]))) }, + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.«match» .bool (.var 0) [(.arm (.adt 0) [] (.build .false .bool [])), (.arm (.adt 1) [] (.build .false .bool [])), (.arm (.adt 2) [] (.build .true .bool []))]) }, + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.«match» .bool (.var 0) [(.arm (.adt 0) [] (.build .false .bool [])), (.arm (.adt 1) [] (.build .true .bool [])), (.arm (.adt 2) [] (.build .false .bool []))]) }, + { parameters := [0], types := [(.adt 0)], result := (.list .int), + body := (.call 19 [(.var 0)]) }, + { parameters := [0, 1, 2], types := [(.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (.pair (.list .int) (.list .int)), (.list (.list .int))], result := (.pair (.list .int) (.list .int)), + body := (.«match» (.pair (.list .int) (.list .int)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 15 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1, 2], types := [(.list .int), (.pair (.list .int) (.list .int)), (.list .int)], result := (.pair (.list .int) (.list .int)), + body := (.«match» (.pair (.list .int) (.list .int)) (.second (.var 1)) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.build .pair (.pair (.list .int) (.list .int)) [(.prim .append [(.first (.var 1)), (.build .cons (.list .int) [(.prim .intSub [(.var 3), (.prim .intNeg [(.first (.call 20 [(.closure 21 []), (.build .pair (.pair .int (.list .int)) [(.value .int (.int 0)), (.var 0)]), (.var 2)]))])]), (.build .nil (.list .int) [])])]), (.var 4)]))]) }, + { parameters := [], types := [], result := (.list .int), + body := (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int (-1))), (.build .nil (.list .int) [])])])]) }, + { parameters := [], types := [], result := (.list (.list .int)), + body := (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int (-4))), (.build .nil (.list .int) [])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 5)), (.build .nil (.list .int) [])])])]), (.build .nil (.list (.list .int)) [])])])]) }, + { parameters := [0], types := [(.adt 0)], result := (.list .int), + body := (.«match» (.list .int) (.var 0) [(.arm (.adt 0) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])), (.arm (.adt 1) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])), (.arm (.adt 2) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])), (.arm (.adt 3) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])), (.arm (.adt 4) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])), (.arm (.adt 5) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])), (.arm (.adt 6) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])), (.arm (.adt 7) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])]))]) }, + { parameters := [0, 1, 2], types := [(.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (.pair .int (.list .int)), (.list .int)], result := (.pair .int (.list .int)), + body := (.«match» (.pair .int (.list .int)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 20 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1], types := [(.pair .int (.list .int)), .int], result := (.pair .int (.list .int)), + body := (.«match» (.pair .int (.list .int)) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair .int (.list .int)) [(.prim .intSub [(.first (.var 0)), (.prim .intNeg [(.prim .intMul [(.var 1), (.var 2)])])]), (.var 3)]))]) }] } + +def __enc_0 : (Models.Triage.Presentation) -> _root_.LexLeanTarget.TargetSyntax.Value + | Models.Triage.Presentation.p0 => _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [] + | Models.Triage.Presentation.p1 => _root_.LexLeanTarget.TargetSyntax.Value.adt 1 [] + | Models.Triage.Presentation.p2 => _root_.LexLeanTarget.TargetSyntax.Value.adt 2 [] + | Models.Triage.Presentation.p3 => _root_.LexLeanTarget.TargetSyntax.Value.adt 3 [] + | Models.Triage.Presentation.p4 => _root_.LexLeanTarget.TargetSyntax.Value.adt 4 [] + | Models.Triage.Presentation.p5 => _root_.LexLeanTarget.TargetSyntax.Value.adt 5 [] + | Models.Triage.Presentation.p6 => _root_.LexLeanTarget.TargetSyntax.Value.adt 6 [] + | Models.Triage.Presentation.p7 => _root_.LexLeanTarget.TargetSyntax.Value.adt 7 [] + +def __enc_1 : (Models.Triage.Level) -> _root_.LexLeanTarget.TargetSyntax.Value + | Models.Triage.Level.routine => _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [] + | Models.Triage.Level.urgent => _root_.LexLeanTarget.TargetSyntax.Value.adt 1 [] + | Models.Triage.Level.emergency => _root_.LexLeanTarget.TargetSyntax.Value.adt 2 [] + +def __fits_3 (presentation : (Models.Triage.Presentation)) : Bool := + (Bool.true && (match presentation with | Models.Triage.Presentation.p0 => (Bool.true && Bool.true) | Models.Triage.Presentation.p1 => (Bool.true && Bool.true) | Models.Triage.Presentation.p2 => (Bool.true && Bool.true) | Models.Triage.Presentation.p3 => (Bool.true && Bool.true) | Models.Triage.Presentation.p4 => (Bool.true && Bool.true) | Models.Triage.Presentation.p5 => (Bool.true && Bool.true) | Models.Triage.Presentation.p6 => (Bool.true && Bool.true) | Models.Triage.Presentation.p7 => (Bool.true && Bool.true))) + +theorem __rel_3 (presentation : (Models.Triage.Presentation)) : _root_.LexLeanPreservation.FunRel __prog 3 [(__enc_0 presentation)] (_root_.LexLeanPreservation.Rel (__fits_3 presentation) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Triage.hasSymptom presentation))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_0 (fun (__a : (Models.Triage.Presentation)) => (match __a with | Models.Triage.Presentation.p0 => (Bool.true && Bool.true) | Models.Triage.Presentation.p1 => (Bool.true && Bool.true) | Models.Triage.Presentation.p2 => (Bool.true && Bool.true) | Models.Triage.Presentation.p3 => (Bool.true && Bool.true) | Models.Triage.Presentation.p4 => (Bool.true && Bool.true) | Models.Triage.Presentation.p5 => (Bool.true && Bool.true) | Models.Triage.Presentation.p6 => (Bool.true && Bool.true) | Models.Triage.Presentation.p7 => (Bool.true && Bool.true))) (fun (__a : (Models.Triage.Presentation)) => _root_.LexLeanTarget.TargetSyntax.Value.bool (match __a with | Models.Triage.Presentation.p0 => Bool.false | Models.Triage.Presentation.p1 => Bool.true | Models.Triage.Presentation.p2 => Bool.true | Models.Triage.Presentation.p3 => Bool.true | Models.Triage.Presentation.p4 => Bool.true | Models.Triage.Presentation.p5 => Bool.true | Models.Triage.Presentation.p6 => Bool.true | Models.Triage.Presentation.p7 => Bool.true)) presentation (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Models.Triage.Presentation)) _ => match __a with | Models.Triage.Presentation.p0 => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)) | Models.Triage.Presentation.p1 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true))) | Models.Triage.Presentation.p2 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)))) | Models.Triage.Presentation.p3 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true))))) | Models.Triage.Presentation.p4 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)))))) | Models.Triage.Presentation.p5 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true))))))) | Models.Triage.Presentation.p6 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)))))))) | Models.Triage.Presentation.p7 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true))))))))))) + +def __fits_1 (presentation : (Models.Triage.Presentation)) : Bool := + ((Bool.true && Bool.true) && (__fits_3 (presentation))) + +attribute [local irreducible] Models.Triage.hasSymptom in +theorem __rel_1 (presentation : (Models.Triage.Presentation)) : _root_.LexLeanPreservation.FunRel __prog 1 [(__enc_0 presentation)] (_root_.LexLeanPreservation.Rel (__fits_1 presentation) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Triage.symptomaticCheck presentation))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_3 (presentation))) + +def __fits_10 (_ybest : (Prod (Option (Prod (Models.Triage.Level) Int)) (List (Models.Triage.Level)))) (_yscore : Int) : Bool := + (Bool.true && (match (_ybest).2 with | List.nil => Bool.true | List.cons _ylabel _ylabels => (((Bool.true && (match (_ybest).1 with | Option.none => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.some _yleader => ((Bool.true && (Bool.true && Bool.true)) && (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) else ((Bool.true && Bool.true) && Bool.true))))) && (Bool.true && Bool.true)) && Bool.true))) + +theorem __rel_10 (_ybest : (Prod (Option (Prod (Models.Triage.Level) Int)) (List (Models.Triage.Level)))) (_yscore : Int) : _root_.LexLeanPreservation.FunRel __prog 10 [((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.encList __enc_1)) _ybest), (_root_.LexLeanTarget.TargetSyntax.Value.int _yscore)] (_root_.LexLeanPreservation.Rel (__fits_10 _ybest _yscore) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.encList __enc_1)) ((match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) | Option.some _yleader => (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) else (Option.some (_yleader) : (Option (Prod (Models.Triage.Level) Int))))), _ylabels))))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList __enc_1) (fun (__a : (List (Models.Triage.Level))) => (match __a with | List.nil => Bool.true | List.cons _ylabel _ylabels => (((Bool.true && (match (_ybest).1 with | Option.none => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.some _yleader => ((Bool.true && (Bool.true && Bool.true)) && (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) else ((Bool.true && Bool.true) && Bool.true))))) && (Bool.true && Bool.true)) && Bool.true))) (fun (__a : (List (Models.Triage.Level))) => (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.encList __enc_1)) (match __a with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) | Option.some _yleader => (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) else (Option.some (_yleader) : (Option (Prod (Models.Triage.Level) Int))))), _ylabels))) (_ybest).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (List (Models.Triage.Level))) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | List.cons _ylabel _ylabels => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.int)) (fun (__a : (Option (Prod (Models.Triage.Level) Int))) => (match __a with | Option.none => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.some _yleader => ((Bool.true && (Bool.true && Bool.true)) && (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) else ((Bool.true && Bool.true) && Bool.true))))) (fun (__a : (Option (Prod (Models.Triage.Level) Int))) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.int)) (match __a with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) | Option.some _yleader => (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) else (Option.some (_yleader) : (Option (Prod (Models.Triage.Level) Int)))))) (_ybest).1 (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (Option (Prod (Models.Triage.Level) Int))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.some _yleader => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) else ((Bool.true && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.int)) (if __b then (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) else (Option.some (_yleader) : (Option (Prod (Models.Triage.Level) Int))))) (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) (_root_.LexLeanPreservation.conv_lessThan (_root_.LexLeanPreservation.keySpec_int (_root_.LexLeanCollections.Key.compare : Int -> Int -> Ordering) (fun _ _ => rfl)) _root_.LexLeanCollections.lessThan (fun _ _ __h => by simp only [_root_.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [_root_.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [_root_.LexLeanCollections.lessThan, __h]) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some))))))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) + +def __fits_19 (presentation : (Models.Triage.Presentation)) : Bool := + (Bool.true && (match presentation with | Models.Triage.Presentation.p0 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Triage.Presentation.p1 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Triage.Presentation.p2 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Triage.Presentation.p3 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Triage.Presentation.p4 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Triage.Presentation.p5 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Triage.Presentation.p6 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Triage.Presentation.p7 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) + +theorem __rel_19 (presentation : (Models.Triage.Presentation)) : _root_.LexLeanPreservation.FunRel __prog 19 [(__enc_0 presentation)] (_root_.LexLeanPreservation.Rel (__fits_19 presentation) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Triage.features presentation))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_0 (fun (__a : (Models.Triage.Presentation)) => (match __a with | Models.Triage.Presentation.p0 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Triage.Presentation.p1 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Triage.Presentation.p2 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Triage.Presentation.p3 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Triage.Presentation.p4 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Triage.Presentation.p5 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Triage.Presentation.p6 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Triage.Presentation.p7 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) (fun (__a : (Models.Triage.Presentation)) => (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (match __a with | Models.Triage.Presentation.p0 => ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ([] : List Int)))) | Models.Triage.Presentation.p1 => ((1 : Int) :: ((0 : Int) :: ((0 : Int) :: ([] : List Int)))) | Models.Triage.Presentation.p2 => ((0 : Int) :: ((1 : Int) :: ((0 : Int) :: ([] : List Int)))) | Models.Triage.Presentation.p3 => ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ([] : List Int)))) | Models.Triage.Presentation.p4 => ((0 : Int) :: ((0 : Int) :: ((1 : Int) :: ([] : List Int)))) | Models.Triage.Presentation.p5 => ((1 : Int) :: ((0 : Int) :: ((1 : Int) :: ([] : List Int)))) | Models.Triage.Presentation.p6 => ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ([] : List Int)))) | Models.Triage.Presentation.p7 => ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ([] : List Int)))))) presentation (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Models.Triage.Presentation)) _ => match __a with | Models.Triage.Presentation.p0 => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons)) | Models.Triage.Presentation.p1 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))) | Models.Triage.Presentation.p2 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons)))) | Models.Triage.Presentation.p3 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))))) | Models.Triage.Presentation.p4 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons)))))) | Models.Triage.Presentation.p5 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))))))) | Models.Triage.Presentation.p6 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons)))))))) | Models.Triage.Presentation.p7 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))))))))))) + +def __fits_14 (presentation : (Models.Triage.Presentation)) : Bool := + ((Bool.true && Bool.true) && (__fits_19 (presentation))) + +attribute [local irreducible] Models.Triage.features in +theorem __rel_14 (presentation : (Models.Triage.Presentation)) : _root_.LexLeanPreservation.FunRel __prog 14 [(__enc_0 presentation)] (_root_.LexLeanPreservation.Rel (__fits_14 presentation) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Triage.TriageScore.features presentation))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_19 (presentation))) + +def __fits_21 (_ysum : (Prod Int (List Int))) (_yweight : Int) : Bool := + (Bool.true && (match (_ysum).2 with | List.nil => Bool.true | List.cons _yvalue _yrest => ((((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) && Bool.true) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int))) && (Bool.true && Bool.true)) && Bool.true))) + +theorem __rel_21 (_ysum : (Prod Int (List Int))) (_yweight : Int) : _root_.LexLeanPreservation.FunRel __prog 21 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) _ysum), (_root_.LexLeanTarget.TargetSyntax.Value.int _yweight)] (_root_.LexLeanPreservation.Rel (__fits_21 _ysum _yweight) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) ((match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest))))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (fun (__a : (List Int)) => (match __a with | List.nil => Bool.true | List.cons _yvalue _yrest => ((((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) && Bool.true) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int))) && (Bool.true && Bool.true)) && Bool.true))) (fun (__a : (List Int)) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (match __a with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest))) (_ysum).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (List Int)) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | List.cons _yvalue _yrest => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intMul _yweight _yvalue)) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_intNeg (_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intSub (_ysum).1 (_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) + +def __fits_16 (_yvalues : (List Int)) (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) : Bool := + (Bool.true && (match (_yacc).2 with | List.nil => Bool.true | List.cons _ybias _ybiases => ((((Bool.true && (((((Bool.true && (((((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_21 __p0 __p1) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow))) && Bool.true) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int))) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && Bool.true))) + +theorem __rel_16 (_yvalues : (List Int)) (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) : _root_.LexLeanPreservation.FunRel __prog 16 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues), ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) _yacc), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yrow)] (_root_.LexLeanPreservation.Rel (__fits_16 _yvalues _yacc _yrow) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) ((match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((_root_.LexLeanRuntime.append ((_yacc).1) (((_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases))))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (fun (__a : (List Int)) => (match __a with | List.nil => Bool.true | List.cons _ybias _ybiases => ((((Bool.true && (((((Bool.true && (((((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_21 __p0 __p1) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow))) && Bool.true) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int))) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && Bool.true))) (fun (__a : (List Int)) => (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (match __a with | List.nil => _yacc | List.cons _ybias _ybiases => ((_root_.LexLeanRuntime.append ((_yacc).1) (((_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases))) (_yacc).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (List Int)) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | List.cons _ybias _ybiases => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.int) (es := (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int))) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (fun _ => rfl) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_21 __p0 __p1) 21 [] (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __rel_21 __p0 __p1) (p := __prog) (fi := 20) (ta := .int) (ts := (.pair .int (.list .int))) rfl (((0 : Int), _yvalues)) (_yrow)))) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_intNeg ((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intSub _ybias (_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (_yacc).1 ((_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int)))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) + +def __fits_17 : Bool := + ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) + +theorem __rel_17 : _root_.LexLeanPreservation.FunRel __prog 17 [] (_root_.LexLeanPreservation.Rel (__fits_17) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Triage.triageBias))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) + +def __fits_18 : Bool := + ((((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) + +theorem __rel_18 : _root_.LexLeanPreservation.FunRel __prog 18 [] (_root_.LexLeanPreservation.Rel (__fits_18) ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (Models.Triage.triageWeights))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) + +def __fits_11 (presentation : (Models.Triage.Presentation)) : Bool := + (((Bool.true && Bool.true) && (__fits_14 (presentation))) && (let _yvalues : (List Int) := (Models.Triage.TriageScore.features (presentation)); (((Bool.true && Bool.true) && ((((Bool.true && Bool.true) && ((Bool.true && (__fits_17)) && Bool.true)) && Bool.true) && ((Bool.true && (__fits_18)) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __fits_16 (_yvalues) __p0 __p1) ((fun (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) => (match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((_root_.LexLeanRuntime.append ((_yacc).1) (((_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases)))) ((([] : List Int), (Models.Triage.triageBias))) ((Models.Triage.triageWeights)))))) + +attribute [local irreducible] Models.Triage.TriageScore.features Models.Triage.triageBias Models.Triage.triageWeights in +theorem __rel_11 (presentation : (Models.Triage.Presentation)) : _root_.LexLeanPreservation.FunRel __prog 11 [(__enc_0 presentation)] (_root_.LexLeanPreservation.Rel (__fits_11 presentation) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Triage.TriageScore.scores presentation))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (let _yvalues : (List Int) := (Models.Triage.TriageScore.features (presentation)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_14 (presentation))) (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call _root_.LexLeanPreservation.convL_nil (__rel_17)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call _root_.LexLeanPreservation.convL_nil (__rel_18)) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (es := (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int))) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (fun _ => rfl) ((fun (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) => (match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((_root_.LexLeanRuntime.append ((_yacc).1) (((_root_.LexLeanRuntime.subtract (_ybias) ((_root_.LexLeanRuntime.negate (((_root_.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((_root_.LexLeanRuntime.subtract ((_ysum).1) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases)))) (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __fits_16 (_yvalues) __p0 __p1) 16 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues)] (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __rel_16 (_yvalues) __p0 __p1) (p := __prog) (fi := 15) (ta := (.list .int)) (ts := (.pair (.list .int) (.list .int))) rfl ((([] : List Int), (Models.Triage.triageBias))) ((Models.Triage.triageWeights)))))) + +def __fits_7 (presentation : (Models.Triage.Presentation)) : Bool := + (((Bool.true && ((((Bool.true && Bool.true) && ((((Bool.true && Bool.true) && ((((Bool.true && Bool.true) && ((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((Bool.true && Bool.true) && (__fits_11 (presentation))) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod (Option (Prod (Models.Triage.Level) Int)) (List (Models.Triage.Level)))) (__p1 : Int) => __fits_10 __p0 __p1) ((fun (_ybest : (Prod (Option (Prod (Models.Triage.Level) Int)) (List (Models.Triage.Level)))) (_yscore : Int) => (match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) | Option.some _yleader => (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) else (Option.some (_yleader) : (Option (Prod (Models.Triage.Level) Int))))), _ylabels)))) (((Option.none : (Option (Prod (Models.Triage.Level) Int))), ((Models.Triage.Level.routine : (Models.Triage.Level)) :: ((Models.Triage.Level.urgent : (Models.Triage.Level)) :: ((Models.Triage.Level.emergency : (Models.Triage.Level)) :: ([] : List (Models.Triage.Level))))))) ((Models.Triage.TriageScore.scores (presentation))))) && (match ((_root_.LexLeanCollections.listFold ((fun (_ybest : (Prod (Option (Prod (Models.Triage.Level) Int)) (List (Models.Triage.Level)))) (_yscore : Int) => (match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) | Option.some _yleader => (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) else (Option.some (_yleader) : (Option (Prod (Models.Triage.Level) Int))))), _ylabels)))) (((Option.none : (Option (Prod (Models.Triage.Level) Int))), ((Models.Triage.Level.routine : (Models.Triage.Level)) :: ((Models.Triage.Level.urgent : (Models.Triage.Level)) :: ((Models.Triage.Level.emergency : (Models.Triage.Level)) :: ([] : List (Models.Triage.Level))))))) ((Models.Triage.TriageScore.scores (presentation))) : (Prod (Option (Prod (Models.Triage.Level) Int)) (List (Models.Triage.Level))))).1 with | Option.none => (Bool.true && Bool.true) | Option.some _ywinner => Bool.true)) + +attribute [local irreducible] Models.Triage.TriageScore.scores in +theorem __rel_7 (presentation : (Models.Triage.Presentation)) : _root_.LexLeanPreservation.FunRel __prog 7 [(__enc_0 presentation)] (_root_.LexLeanPreservation.Rel (__fits_7 presentation) (__enc_1 (Models.Triage.TriageScore presentation))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.int)) (fun (__a : (Option (Prod (Models.Triage.Level) Int))) => (match __a with | Option.none => (Bool.true && Bool.true) | Option.some _ywinner => Bool.true)) (fun (__a : (Option (Prod (Models.Triage.Level) Int))) => __enc_1 (match __a with | Option.none => (Models.Triage.Level.routine : (Models.Triage.Level)) | Option.some _ywinner => (_ywinner).1)) ((_root_.LexLeanCollections.listFold ((fun (_ybest : (Prod (Option (Prod (Models.Triage.Level) Int)) (List (Models.Triage.Level)))) (_yscore : Int) => (match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) | Option.some _yleader => (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) else (Option.some (_yleader) : (Option (Prod (Models.Triage.Level) Int))))), _ylabels)))) (((Option.none : (Option (Prod (Models.Triage.Level) Int))), ((Models.Triage.Level.routine : (Models.Triage.Level)) :: ((Models.Triage.Level.urgent : (Models.Triage.Level)) :: ((Models.Triage.Level.emergency : (Models.Triage.Level)) :: ([] : List (Models.Triage.Level))))))) ((Models.Triage.TriageScore.scores (presentation))) : (Prod (Option (Prod (Models.Triage.Level) Int)) (List (Models.Triage.Level))))).1 (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_11 (presentation))) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.int) (es := (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.encList __enc_1))) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (fun _ => rfl) ((fun (_ybest : (Prod (Option (Prod (Models.Triage.Level) Int)) (List (Models.Triage.Level)))) (_yscore : Int) => (match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) | Option.some _yleader => (if (_root_.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) else (Option.some (_yleader) : (Option (Prod (Models.Triage.Level) Int))))), _ylabels)))) (fun (__p0 : (Prod (Option (Prod (Models.Triage.Level) Int)) (List (Models.Triage.Level)))) (__p1 : Int) => __fits_10 __p0 __p1) 10 [] (fun (__p0 : (Prod (Option (Prod (Models.Triage.Level) Int)) (List (Models.Triage.Level)))) (__p1 : Int) => __rel_10 __p0 __p1) (p := __prog) (fi := 9) (ta := .int) (ts := (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1)))) rfl (((Option.none : (Option (Prod (Models.Triage.Level) Int))), ((Models.Triage.Level.routine : (Models.Triage.Level)) :: ((Models.Triage.Level.urgent : (Models.Triage.Level)) :: ((Models.Triage.Level.emergency : (Models.Triage.Level)) :: ([] : List (Models.Triage.Level))))))) ((Models.Triage.TriageScore.scores (presentation)))))) (fun (__a : (Option (Prod (Models.Triage.Level) Int))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt)) | Option.some _ywinner => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)))))) + +def __fits_5 (_yinput : (Models.Triage.Presentation)) : Bool := + ((Bool.true && Bool.true) && (__fits_7 (_yinput))) + +attribute [local irreducible] Models.Triage.TriageScore in +theorem __rel_5 (_yinput : (Models.Triage.Presentation)) : _root_.LexLeanPreservation.FunRel __prog 5 [(__enc_0 _yinput)] (_root_.LexLeanPreservation.Rel (__fits_5 _yinput) (__enc_1 (Models.Triage.TriageModel _yinput))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_7 (_yinput))) + +def __fits_12 (level : (Models.Triage.Level)) : Bool := + (Bool.true && (match level with | Models.Triage.Level.routine => (Bool.true && Bool.true) | Models.Triage.Level.urgent => (Bool.true && Bool.true) | Models.Triage.Level.emergency => (Bool.true && Bool.true))) + +theorem __rel_12 (level : (Models.Triage.Level)) : _root_.LexLeanPreservation.FunRel __prog 12 [(__enc_1 level)] (_root_.LexLeanPreservation.Rel (__fits_12 level) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Triage.isEmergency level))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_1 (fun (__a : (Models.Triage.Level)) => (match __a with | Models.Triage.Level.routine => (Bool.true && Bool.true) | Models.Triage.Level.urgent => (Bool.true && Bool.true) | Models.Triage.Level.emergency => (Bool.true && Bool.true))) (fun (__a : (Models.Triage.Level)) => _root_.LexLeanTarget.TargetSyntax.Value.bool (match __a with | Models.Triage.Level.routine => Bool.false | Models.Triage.Level.urgent => Bool.false | Models.Triage.Level.emergency => Bool.true)) level (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Models.Triage.Level)) _ => match __a with | Models.Triage.Level.routine => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)) | Models.Triage.Level.urgent => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) | Models.Triage.Level.emergency => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)))))) + +def __fits_13 (level : (Models.Triage.Level)) : Bool := + (Bool.true && (match level with | Models.Triage.Level.routine => (Bool.true && Bool.true) | Models.Triage.Level.urgent => (Bool.true && Bool.true) | Models.Triage.Level.emergency => (Bool.true && Bool.true))) + +theorem __rel_13 (level : (Models.Triage.Level)) : _root_.LexLeanPreservation.FunRel __prog 13 [(__enc_1 level)] (_root_.LexLeanPreservation.Rel (__fits_13 level) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Policy.isUrgent level))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_1 (fun (__a : (Models.Triage.Level)) => (match __a with | Models.Triage.Level.routine => (Bool.true && Bool.true) | Models.Triage.Level.urgent => (Bool.true && Bool.true) | Models.Triage.Level.emergency => (Bool.true && Bool.true))) (fun (__a : (Models.Triage.Level)) => _root_.LexLeanTarget.TargetSyntax.Value.bool (match __a with | Models.Triage.Level.routine => Bool.false | Models.Triage.Level.urgent => Bool.true | Models.Triage.Level.emergency => Bool.false)) level (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Models.Triage.Level)) _ => match __a with | Models.Triage.Level.routine => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)) | Models.Triage.Level.urgent => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true))) | Models.Triage.Level.emergency => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))))) + +def __fits_8 (level : (Models.Triage.Level)) : Bool := + (((Bool.true && Bool.true) && (__fits_12 (level))) && (if (Models.Triage.isEmergency (level)) then Bool.true else (((Bool.true && Bool.true) && (__fits_13 (level))) && (if (Models.Policy.isUrgent (level)) then Bool.true else Bool.true)))) + +attribute [local irreducible] Models.Policy.isUrgent Models.Triage.isEmergency in +theorem __rel_8 (level : (Models.Triage.Level)) : _root_.LexLeanPreservation.FunRel __prog 8 [(__enc_1 level)] (_root_.LexLeanPreservation.Rel (__fits_8 level) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Policy.PolicyRules level))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else (((Bool.true && Bool.true) && (__fits_13 (level))) && (if (Models.Policy.isUrgent (level)) then Bool.true else Bool.true)))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.nat (if __b then (2 : Nat) else (if (Models.Policy.isUrgent (level)) then (1 : Nat) else (0 : Nat)))) (Models.Triage.isEmergency (level)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_12 (level))) (fun _ => _root_.LexLeanPreservation.conv_value) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.nat (if __b then (1 : Nat) else (0 : Nat))) (Models.Policy.isUrgent (level)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_13 (level))) (fun _ => _root_.LexLeanPreservation.conv_value) (fun _ => _root_.LexLeanPreservation.conv_value)))) + +def __fits_6 (_yinput : (Models.Triage.Level)) : Bool := + ((Bool.true && Bool.true) && (__fits_8 (_yinput))) + +attribute [local irreducible] Models.Policy.PolicyRules in +theorem __rel_6 (_yinput : (Models.Triage.Level)) : _root_.LexLeanPreservation.FunRel __prog 6 [(__enc_1 _yinput)] (_root_.LexLeanPreservation.Rel (__fits_6 _yinput) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Policy.PolicyModel _yinput))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_8 (_yinput))) + +def __fits_4 (presentation : (Models.Triage.Presentation)) : Bool := + (((Bool.true && Bool.true) && (__fits_5 (presentation))) && (let _ystage1 : (Models.Triage.Level) := (Models.Triage.TriageModel (presentation)); (((Bool.true && Bool.true) && (__fits_6 (_ystage1))) && (let _ystage2 : Nat := (Models.Policy.PolicyModel (_ystage1)); Bool.true)))) + +attribute [local irreducible] Models.Policy.PolicyModel Models.Triage.TriageModel in +theorem __rel_4 (presentation : (Models.Triage.Presentation)) : _root_.LexLeanPreservation.FunRel __prog 4 [(__enc_0 presentation)] (_root_.LexLeanPreservation.Rel (__fits_4 presentation) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Pipeline.TriagePipeline presentation))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (let _ystage1 : (Models.Triage.Level) := (Models.Triage.TriageModel (presentation)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_5 (presentation))) (let _ystage2 : Nat := (Models.Policy.PolicyModel (_ystage1)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_6 (_ystage1))) (_root_.LexLeanPreservation.conv_var rfl))) + +def __fits_2 (_yinput : (Models.Triage.Presentation)) : Bool := + ((Bool.true && Bool.true) && (__fits_4 (_yinput))) + +attribute [local irreducible] Models.Pipeline.TriagePipeline in +theorem __rel_2 (_yinput : (Models.Triage.Presentation)) : _root_.LexLeanPreservation.FunRel __prog 2 [(__enc_0 _yinput)] (_root_.LexLeanPreservation.Rel (__fits_2 _yinput) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Pipeline.PipelineModel _yinput))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_4 (_yinput))) + +def __fits_0 (presentation : (Models.Triage.Presentation)) : Bool := + (Bool.true && (let _ychecked1_input : (Models.Triage.Presentation) := presentation; (((Bool.true && Bool.true) && (__fits_1 (_ychecked1_input))) && (if (Models.Triage.symptomaticCheck (_ychecked1_input)) then (((Bool.true && Bool.true) && (__fits_2 (_ychecked1_input))) && (let _ychecked1_output : Nat := (Models.Pipeline.PipelineModel (_ychecked1_input)); ((Bool.true && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) + +attribute [local irreducible] Models.Pipeline.PipelineModel Models.Triage.symptomaticCheck in +theorem __rel_0 (presentation : (Models.Triage.Presentation)) : _root_.LexLeanPreservation.FunRel __prog 0 [(__enc_0 presentation)] (_root_.LexLeanPreservation.Rel (__fits_0 presentation) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Main.respond presentation))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (let _ychecked1_input : (Models.Triage.Presentation) := presentation; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && (__fits_2 (_ychecked1_input))) && (let _ychecked1_output : Nat := (Models.Pipeline.PipelineModel (_ychecked1_input)); ((Bool.true && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then (let _ychecked1_output : Nat := (Models.Pipeline.PipelineModel (_ychecked1_input)); (Except.ok (_ychecked1_output) : (Except (Prod Bool Bool) Nat))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)))) (Models.Triage.symptomaticCheck (_ychecked1_input)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (_ychecked1_input))) (fun _ => (let _ychecked1_output : Nat := (Models.Pipeline.PipelineModel (_ychecked1_input)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_2 (_ychecked1_input))) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))) + +def denote (presentation : (Models.Triage.Presentation)) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 presentation) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Main.respond presentation)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (presentation : (Models.Triage.Presentation)) : _root_.LexLeanPreservation.RunConv __prog 0 [(__enc_0 presentation)] (_root_.LexLeanPreservation.Rel (__fits_0 presentation) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Main.respond presentation))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 presentation) + +end LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2 diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R2/Compose/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R2/Compose/RustStd.lean new file mode 100644 index 000000000..25c1a0cff --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R2/Compose/RustStd.lean @@ -0,0 +1,31 @@ +import LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2 +import LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.Compose.RustStd + +theorem __wt_0 : ∀ (__v : (Models.Triage.Presentation)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.RustStd.program _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.RustStd.krate _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.RustStd.flags (_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.__enc_0 __v) (.adt 0) + | Models.Triage.Presentation.p0 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Models.Triage.Presentation.p1 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Models.Triage.Presentation.p2 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Models.Triage.Presentation.p3 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Models.Triage.Presentation.p4 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Models.Triage.Presentation.p5 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Models.Triage.Presentation.p6 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Models.Triage.Presentation.p7 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + +theorem __wt_1 : ∀ (__v : (Models.Triage.Level)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.RustStd.program _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.RustStd.krate _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.RustStd.flags (_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.__enc_1 __v) (.adt 1) + | Models.Triage.Level.routine => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Models.Triage.Level.urgent => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Models.Triage.Level.emergency => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (presentation : (Models.Triage.Presentation)) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.__enc_0 presentation)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.denote presentation) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.__enc_0 presentation)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 presentation) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.root presentation) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.Compose.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R2/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R2/RustStd.lean new file mode 100644 index 000000000..b1cf51d86 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R2/RustStd.lean @@ -0,0 +1,210 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [{ constructors := [[], [], [], [], [], [], [], []] }, + { constructors := [[], [], []] }], functions := [ + { parameters := [0], types := [(.adt 0)], result := (.result .nat (.pair .bool .bool)), + body := (.«let» 1 (.adt 0) (.var 0) (.cond (.call 1 [(.var 1)]) (.«let» 2 .nat (.call 2 [(.var 1)]) (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)])) (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))) }, + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.call 3 [(.var 0)]) }, + { parameters := [0], types := [(.adt 0)], result := .nat, + body := (.call 4 [(.var 0)]) }, + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.«match» .bool (.var 0) [(.arm (.adt 0) [] (.build .false .bool [])), (.arm (.adt 1) [] (.build .true .bool [])), (.arm (.adt 2) [] (.build .true .bool [])), (.arm (.adt 3) [] (.build .true .bool [])), (.arm (.adt 4) [] (.build .true .bool [])), (.arm (.adt 5) [] (.build .true .bool [])), (.arm (.adt 6) [] (.build .true .bool [])), (.arm (.adt 7) [] (.build .true .bool []))]) }, + { parameters := [0], types := [(.adt 0)], result := .nat, + body := (.«let» 1 (.adt 1) (.call 5 [(.var 0)]) (.«let» 2 .nat (.call 6 [(.var 1)]) (.var 2))) }, + { parameters := [0], types := [(.adt 0)], result := (.adt 1), + body := (.call 7 [(.var 0)]) }, + { parameters := [0], types := [(.adt 1)], result := .nat, + body := (.call 8 [(.var 0)]) }, + { parameters := [0], types := [(.adt 0)], result := (.adt 1), + body := (.«match» (.adt 1) (.first (.call 9 [(.closure 10 []), (.build .pair (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))) [(.build .none (.option (.pair (.adt 1) .int)) []), (.build .cons (.list (.adt 1)) [(.build (.adt 0) (.adt 1) []), (.build .cons (.list (.adt 1)) [(.build (.adt 1) (.adt 1) []), (.build .cons (.list (.adt 1)) [(.build (.adt 2) (.adt 1) []), (.build .nil (.list (.adt 1)) [])])])])]), (.call 11 [(.var 0)])])) [(.arm .none [] (.build (.adt 0) (.adt 1) [])), (.arm .some [1] (.first (.var 1)))]) }, + { parameters := [0], types := [(.adt 1)], result := .nat, + body := (.cond (.call 12 [(.var 0)]) (.value .nat (.nat 2)) (.cond (.call 13 [(.var 0)]) (.value .nat (.nat 1)) (.value .nat (.nat 0)))) }, + { parameters := [0, 1, 2], types := [(.fn [(.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), .int] (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1)))), (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (.list .int)], result := (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), + body := (.«match» (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 9 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1], types := [(.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), .int], result := (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), + body := (.«match» (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))) [(.«match» (.option (.pair (.adt 1) .int)) (.first (.var 0)) [(.arm .none [] (.build .some (.option (.pair (.adt 1) .int)) [(.build .pair (.pair (.adt 1) .int) [(.var 2), (.var 1)])])), (.arm .some [4] (.cond (.«match» .bool (.prim .compare [(.second (.var 4)), (.var 1)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.build .some (.option (.pair (.adt 1) .int)) [(.build .pair (.pair (.adt 1) .int) [(.var 2), (.var 1)])]) (.build .some (.option (.pair (.adt 1) .int)) [(.var 4)])))]), (.var 3)]))]) }, + { parameters := [0], types := [(.adt 0)], result := (.list .int), + body := (.«let» 1 (.list .int) (.call 14 [(.var 0)]) (.first (.call 15 [(.closure 16 [(.var 1)]), (.build .pair (.pair (.list .int) (.list .int)) [(.build .nil (.list .int) []), (.call 17 [])]), (.call 18 [])]))) }, + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.«match» .bool (.var 0) [(.arm (.adt 0) [] (.build .false .bool [])), (.arm (.adt 1) [] (.build .false .bool [])), (.arm (.adt 2) [] (.build .true .bool []))]) }, + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.«match» .bool (.var 0) [(.arm (.adt 0) [] (.build .false .bool [])), (.arm (.adt 1) [] (.build .true .bool [])), (.arm (.adt 2) [] (.build .false .bool []))]) }, + { parameters := [0], types := [(.adt 0)], result := (.list .int), + body := (.call 19 [(.var 0)]) }, + { parameters := [0, 1, 2], types := [(.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (.pair (.list .int) (.list .int)), (.list (.list .int))], result := (.pair (.list .int) (.list .int)), + body := (.«match» (.pair (.list .int) (.list .int)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 15 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1, 2], types := [(.list .int), (.pair (.list .int) (.list .int)), (.list .int)], result := (.pair (.list .int) (.list .int)), + body := (.«match» (.pair (.list .int) (.list .int)) (.second (.var 1)) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.build .pair (.pair (.list .int) (.list .int)) [(.prim .append [(.first (.var 1)), (.build .cons (.list .int) [(.prim .intSub [(.var 3), (.prim .intNeg [(.first (.call 20 [(.closure 21 []), (.build .pair (.pair .int (.list .int)) [(.value .int (.int 0)), (.var 0)]), (.var 2)]))])]), (.build .nil (.list .int) [])])]), (.var 4)]))]) }, + { parameters := [], types := [], result := (.list .int), + body := (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int (-1))), (.build .nil (.list .int) [])])])]) }, + { parameters := [], types := [], result := (.list (.list .int)), + body := (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int (-4))), (.build .nil (.list .int) [])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 5)), (.build .nil (.list .int) [])])])]), (.build .nil (.list (.list .int)) [])])])]) }, + { parameters := [0], types := [(.adt 0)], result := (.list .int), + body := (.«match» (.list .int) (.var 0) [(.arm (.adt 0) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])), (.arm (.adt 1) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])), (.arm (.adt 2) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])), (.arm (.adt 3) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])), (.arm (.adt 4) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])), (.arm (.adt 5) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])), (.arm (.adt 6) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])), (.arm (.adt 7) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])]))]) }, + { parameters := [0, 1, 2], types := [(.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (.pair .int (.list .int)), (.list .int)], result := (.pair .int (.list .int)), + body := (.«match» (.pair .int (.list .int)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 20 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1], types := [(.pair .int (.list .int)), .int], result := (.pair .int (.list .int)), + body := (.«match» (.pair .int (.list .int)) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair .int (.list .int)) [(.prim .intSub [(.first (.var 0)), (.prim .intNeg [(.prim .intMul [(.var 1), (.var 2)])])]), (.var 3)]))]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.enum (.adt 0) [{ number := 0, fields := [] }, { number := 1, fields := [] }, { number := 2, fields := [] }, { number := 3, fields := [] }, { number := 4, fields := [] }, { number := 5, fields := [] }, { number := 6, fields := [] }, { number := 7, fields := [] }]), + (.enum (.adt 1) [{ number := 0, fields := [] }, { number := 1, fields := [] }, { number := 2, fields := [] }]), + (.enum (.fn 0) [{ number := 10, fields := [] }]), + (.apply 0 [(.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), .int] (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))) false [{ function := 10, captures := [], functionFallible := false }]), + (.enum (.fn 1) [{ number := 16, fields := [(.list .int)] }]), + (.apply 1 [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int)) true [{ function := 16, captures := [.clone], functionFallible := true }]), + (.enum (.fn 2) [{ number := 21, fields := [] }]), + (.apply 2 [(.pair .int (.list .int)), .int] (.pair .int (.list .int)) true [{ function := 21, captures := [], functionFallible := true }]), + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.result .nat (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 1)) (some (.adt 0)) (.move (.generated .binding 0)))] (.cond (.call (.function 1) [(.clone (.generated .binding 1))] false) (.mk [(.mk (.bind (.generated .binding 2)) (some .nat) (.call (.function 2) [(.move (.generated .binding 1))] true))] (.succeed (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))]))) (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [] (.call (.function 3) [(.move (.generated .binding 0))] false))), + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [] (.call (.function 4) [(.move (.generated .binding 0))] false))), + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 []) (.mk [] (.lit (.bool false)))), (.mk (.adt 0 1 []) (.mk [] (.lit (.bool true)))), (.mk (.adt 0 2 []) (.mk [] (.lit (.bool true)))), (.mk (.adt 0 3 []) (.mk [] (.lit (.bool true)))), (.mk (.adt 0 4 []) (.mk [] (.lit (.bool true)))), (.mk (.adt 0 5 []) (.mk [] (.lit (.bool true)))), (.mk (.adt 0 6 []) (.mk [] (.lit (.bool true)))), (.mk (.adt 0 7 []) (.mk [] (.lit (.bool true))))]))), + (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .binding 1)) (some (.adt 1)) (.call (.function 5) [(.move (.generated .binding 0))] true)), (.mk (.bind (.generated .binding 2)) (some .nat) (.call (.function 6) [(.move (.generated .binding 1))] false))] (.succeed (.copy (.generated .binding 2))))), + (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.adt 1)) (.mk [] (.call (.function 7) [(.move (.generated .binding 0))] false))), + (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .nat (.mk [] (.call (.function 8) [(.move (.generated .binding 0))] false))), + (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.adt 1)) (.mk [(.mk (.bind (.generated .holder 3)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.call (.function 9) [(.construct (.closure 0 10) []), (.pair (.construct (.none (.pair (.adt 1) .int)) []) (.construct .cons [(.construct (.adt 1 0) []), (.construct .cons [(.construct (.adt 1 1) []), (.construct .cons [(.construct (.adt 1 2) []), (.construct (.nil (.adt 1)) [])])])])), (.call (.function 11) [(.move (.generated .binding 0))] true)] false))] (.move (.generated .part 2)))))] (.matchOn (.move (.generated .holder 3)) [(.mk .none (.mk [] (.succeed (.construct (.adt 1 0) [])))), (.mk (.some (.bind (.generated .binding 1))) (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))] (.succeed (.move (.generated .part 4)))))]))), + (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .nat (.mk [] (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.lit (.nat 2))) (.mk [] (.cond (.call (.function 13) [(.move (.generated .binding 0))] false) (.mk [] (.lit (.nat 1))) (.mk [] (.lit (.nat 0)))))))), + (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))) }, { pattern := (.bind (.generated .binding 2)), type := (.list .int) }] (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))) (.mk [(.mk (.bind (.generated .holder 5)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 5)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 9) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 6)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 6) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)))]))), + (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))) }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))) (.mk [(.mk (.bind (.generated .holder 8)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 7))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 7)))))] (.matchOn (.uncons (.generated .holder 8)) [(.mk .none (.mk [] (.move (.generated .binding 0)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .holder 10)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 9)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 9)))))] (.matchOn (.move (.generated .holder 10)) [(.mk .none (.mk [] (.construct .some [(.pair (.move (.generated .binding 2)) (.copy (.generated .binding 1)))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [(.mk (.bind (.generated .holder 14)) none (.block (.mk [(.mk (.bind (.generated .operand 12)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 11))]) none (.clone (.generated .binding 4)))] (.move (.generated .part 11))))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false))))] (.cond (.matchOn (.move (.generated .holder 14)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.move (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.move (.generated .binding 4))])))))]))) (.move (.generated .binding 3)))))]))), + (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.list .int)) (.mk [(.mk (.bind (.generated .binding 1)) (some (.list .int)) (.call (.function 14) [(.move (.generated .binding 0))] false)), (.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.call (.function 15) [(.construct (.closure 1 16) [(.move (.generated .binding 1))]), (.pair (.construct (.nil .int) []) (.call (.function 17) [] false)), (.call (.function 18) [] false)] true))] (.succeed (.move (.generated .part 15))))), + (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .holder 16)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 16)) [(.mk (.adt 1 0 []) (.mk [] (.lit (.bool false)))), (.mk (.adt 1 1 []) (.mk [] (.lit (.bool false)))), (.mk (.adt 1 2 []) (.mk [] (.lit (.bool true))))]))), + (.function (.generated .function 13) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .holder 17)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 17)) [(.mk (.adt 1 0 []) (.mk [] (.lit (.bool false)))), (.mk (.adt 1 1 []) (.mk [] (.lit (.bool true)))), (.mk (.adt 1 2 []) (.mk [] (.lit (.bool false))))]))), + (.function (.generated .function 14) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.list .int) (.mk [] (.call (.function 19) [(.move (.generated .binding 0))] false))), + (.function (.generated .function 15) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 1) }, { pattern := (.bind (.generated .binding 1)), type := (.pair (.list .int) (.list .int)) }, { pattern := (.bind (.generated .binding 2)), type := (.list (.list .int)) }] (.fallible (.pair (.list .int) (.list .int))) (.mk [(.mk (.bind (.generated .holder 18)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 18)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 15) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 19)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 19) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]))), + (.function (.generated .function 16) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }, { pattern := (.bind (.generated .binding 1)), type := (.pair (.list .int) (.list .int)) }, { pattern := (.bind (.generated .binding 2)), type := (.list .int) }] (.fallible (.pair (.list .int) (.list .int))) (.mk [(.mk (.bind (.generated .holder 21)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 20))]) none (.clone (.generated .binding 1)))] (.move (.generated .part 20)))))] (.matchOn (.uncons (.generated .holder 21)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 27)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 22)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 22))))), (.mk (.bind (.generated .operand 28)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 25)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 26)) none (.block (.mk [(.mk (.bind (.generated .operand 24)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.call (.function 20) [(.construct (.closure 2 21) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 23)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 24))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false))) (.move (.generated .binding 4))))))]))), + (.function (.generated .function 17) [] (.list .int) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int (-1))), (.construct (.nil .int) [])])])]))), + (.function (.generated .function 18) [] (.list (.list .int)) (.mk [] (.construct .cons [(.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int (-4))), (.construct (.nil .int) [])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 5)), (.construct (.nil .int) [])])])]), (.construct (.nil (.list .int)) [])])])]))), + (.function (.generated .function 19) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.list .int) (.mk [(.mk (.bind (.generated .holder 29)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 29)) [(.mk (.adt 0 0 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])]))), (.mk (.adt 0 1 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])]))), (.mk (.adt 0 2 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])]))), (.mk (.adt 0 3 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])]))), (.mk (.adt 0 4 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])]))), (.mk (.adt 0 5 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])]))), (.mk (.adt 0 6 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])]))), (.mk (.adt 0 7 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])))]))), + (.function (.generated .function 20) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 2) }, { pattern := (.bind (.generated .binding 1)), type := (.pair .int (.list .int)) }, { pattern := (.bind (.generated .binding 2)), type := (.list .int) }] (.fallible (.pair .int (.list .int))) (.mk [(.mk (.bind (.generated .holder 30)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 30)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 20) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 31)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 31) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]))), + (.function (.generated .function 21) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .int (.list .int)) }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.fallible (.pair .int (.list .int))) (.mk [(.mk (.bind (.generated .holder 33)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 32))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 32)))))] (.matchOn (.uncons (.generated .holder 33)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 38)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 34)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 34))))), (.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.bind (.generated .operand 35)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 36)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 37))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] true))) (.move (.generated .binding 3))))))])))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [(([(.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), .int], (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1)))), false), (([(.pair (.list .int) (.list .int)), (.list .int)], (.pair (.list .int) (.list .int))), true), (([(.pair .int (.list .int)), .int], (.pair .int (.list .int))), true)] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.adt 0)) (.move (.generated .binding 0)))], (.cond (.call (.function 1) [(.clone (.generated .binding 1))] false) (.mk [(.mk (.bind (.generated .binding 2)) (some .nat) (.call (.function 2) [(.move (.generated .binding 1))] true))] (.succeed (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))]))) (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.letBind (Corr.var rfl rfl) rfl (Corr.cond (lc := []) (ce := (.call (.function 1) [(.clone (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .binding 2)) (some .nat) (.call (.function 2) [(.move (.generated .binding 1))] true))]) (ta := (.succeed (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))]))) (lb := []) (tb := (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))) (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.fOfB (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))))⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 3) [(.move (.generated .binding 0))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 4) [(.move (.generated .binding 0))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.callF (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 []) (.mk [] (.lit (.bool false)))), (.mk (.adt 0 1 []) (.mk [] (.lit (.bool true)))), (.mk (.adt 0 2 []) (.mk [] (.lit (.bool true)))), (.mk (.adt 0 3 []) (.mk [] (.lit (.bool true)))), (.mk (.adt 0 4 []) (.mk [] (.lit (.bool true)))), (.mk (.adt 0 5 []) (.mk [] (.lit (.bool true)))), (.mk (.adt 0 6 []) (.mk [] (.lit (.bool true)))), (.mk (.adt 0 7 []) (.mk [] (.lit (.bool true))))]), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1, 2, 3, 4, 5, 6, 7]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 3) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 4) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 5) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 6) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 7) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun4 : FunOK program krate flags 4 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.adt 1)) (.call (.function 5) [(.move (.generated .binding 0))] true)), (.mk (.bind (.generated .binding 2)) (some .nat) (.call (.function 6) [(.move (.generated .binding 1))] false))], (.succeed (.copy (.generated .binding 2))), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))))⟩⟩ + +theorem fun5 : FunOK program krate flags 5 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 7) [(.move (.generated .binding 0))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.callF (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ + +theorem fun6 : FunOK program krate flags 6 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 8) [(.move (.generated .binding 0))] false), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun7 : FunOK program krate flags 7 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 3)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.call (.function 9) [(.construct (.closure 0 10) []), (.pair (.construct (.none (.pair (.adt 1) .int)) []) (.construct .cons [(.construct (.adt 1 0) []), (.construct .cons [(.construct (.adt 1 1) []), (.construct .cons [(.construct (.adt 1 2) []), (.construct (.nil (.adt 1)) [])])])])), (.call (.function 11) [(.move (.generated .binding 0))] true)] false))] (.move (.generated .part 2)))))], (.matchOn (.move (.generated .holder 3)) [(.mk .none (.mk [] (.succeed (.construct (.adt 1 0) [])))), (.mk (.some (.bind (.generated .binding 1))) (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))] (.succeed (.move (.generated .part 4)))))]), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option (.pair (.adt 1) .int))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.call (.function 9) [(.construct (.closure 0 10) []), (.pair (.construct (.none (.pair (.adt 1) .int)) []) (.construct .cons [(.construct (.adt 1 0) []), (.construct .cons [(.construct (.adt 1 1) []), (.construct .cons [(.construct (.adt 1 2) []), (.construct (.nil (.adt 1)) [])])])])), (.call (.function 11) [(.move (.generated .binding 0))] true)] false))]) (tail := (.move (.generated .part 2))) (Corr.first (ta := (.option (.pair (.adt 1) .int))) (tb := (.list (.adt 1))) (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), .int] (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1)))), (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := false) (ff := false) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.adt 1), (.list (.adt 1))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.adt 1), (.list (.adt 1))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.adt 1), (.list (.adt 1))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl)) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.adt 1 0) []))) (Corr.mCons (Γ' := [(1, (.pair (.adt 1) .int), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.succeed (.move (.generated .part 4)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.first (ta := (.adt 1)) (tb := .int) (Corr.var rfl rfl) rfl))) rfl rfl rfl (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) rfl rfl rfl)⟩⟩ + +theorem fun8 : FunOK program krate flags 8 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.lit (.nat 2))) (.mk [] (.cond (.call (.function 13) [(.move (.generated .binding 0))] false) (.mk [] (.lit (.nat 1))) (.mk [] (.lit (.nat 0)))))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 12) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.nat 2))) (lb := []) (tb := (.cond (.call (.function 13) [(.move (.generated .binding 0))] false) (.mk [] (.lit (.nat 1))) (.mk [] (.lit (.nat 0))))) (Corr.bOfE (Corr.value rfl rfl)) (Corr.cond (lc := []) (ce := (.call (.function 13) [(.move (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.nat 1))) (lb := []) (tb := (.lit (.nat 0))) (Corr.bOfE (Corr.value rfl rfl)) (Corr.bOfE (Corr.value rfl rfl))))))⟩⟩ + +theorem fun9 : FunOK program krate flags 9 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 5)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 5)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 9) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 6)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 6) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)))]), [(2, (.list .int), (some 2)), (1, (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (some 1)), (0, (.fn [(.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), .int] (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1)))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (some 1)), (0, (.fn [(.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), .int] (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1)))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(4, (.list .int), (some 4)), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (some 1)), (0, (.fn [(.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), .int] (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1)))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 9) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 6)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 6) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.fn [(.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), .int] (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1)))), (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 6)) (some (.fn 0)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 6) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false)) (Corr.apply (ps := [(.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), .int]) (af := false) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun10 : FunOK program krate flags 10 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 8)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 7))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 7)))))], (.matchOn (.uncons (.generated .holder 8)) [(.mk .none (.mk [] (.move (.generated .binding 0)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .holder 10)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 9)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 9)))))] (.matchOn (.move (.generated .holder 10)) [(.mk .none (.mk [] (.construct .some [(.pair (.move (.generated .binding 2)) (.copy (.generated .binding 1)))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [(.mk (.bind (.generated .holder 14)) none (.block (.mk [(.mk (.bind (.generated .operand 12)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 11))]) none (.clone (.generated .binding 4)))] (.move (.generated .part 11))))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false))))] (.cond (.matchOn (.move (.generated .holder 14)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.move (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.move (.generated .binding 4))])))))]))) (.move (.generated .binding 3)))))]), [(1, .int, (some 1)), (0, (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.adt 1))) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 7))]) none (.clone (.generated .binding 0)))]) (tail := (.move (.generated .part 7))) (Corr.second (ta := (.option (.pair (.adt 1) .int))) (tb := (.list (.adt 1))) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list (.adt 1)), (some 3)), (2, (.adt 1), (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.pair (.block (.mk [(.mk (.bind (.generated .holder 10)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 9)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 9)))))] (.matchOn (.move (.generated .holder 10)) [(.mk .none (.mk [] (.construct .some [(.pair (.move (.generated .binding 2)) (.copy (.generated .binding 1)))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [(.mk (.bind (.generated .holder 14)) none (.block (.mk [(.mk (.bind (.generated .operand 12)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 11))]) none (.clone (.generated .binding 4)))] (.move (.generated .part 11))))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false))))] (.cond (.matchOn (.move (.generated .holder 14)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.move (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.move (.generated .binding 4))])))))]))) (.move (.generated .binding 3)))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 10)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 9)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 9)))))]) (tail := (.matchOn (.move (.generated .holder 10)) [(.mk .none (.mk [] (.construct .some [(.pair (.move (.generated .binding 2)) (.copy (.generated .binding 1)))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [(.mk (.bind (.generated .holder 14)) none (.block (.mk [(.mk (.bind (.generated .operand 12)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 11))]) none (.clone (.generated .binding 4)))] (.move (.generated .part 11))))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false))))] (.cond (.matchOn (.move (.generated .holder 14)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.move (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.move (.generated .binding 4))])))))])) (Corr.matchArms (st := (.option (.pair (.adt 1) .int))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 9)), .wild]) none (.move (.generated .binding 0)))]) (tail := (.move (.generated .part 9))) (Corr.first (ta := (.option (.pair (.adt 1) .int))) (tb := (.list (.adt 1))) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(3, (.list (.adt 1)), (some 3)), (2, (.adt 1), (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.pair (.move (.generated .binding 2)) (.copy (.generated .binding 1)))])) (Corr.mCons (Γ' := [(4, (.pair (.adt 1) .int), (some 4)), (3, (.list (.adt 1)), (some 3)), (2, (.adt 1), (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 14)) none (.block (.mk [(.mk (.bind (.generated .operand 12)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 11))]) none (.clone (.generated .binding 4)))] (.move (.generated .part 11))))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 14)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.move (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.move (.generated .binding 4))])))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 14)) none (.block (.mk [(.mk (.bind (.generated .operand 12)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 11))]) none (.clone (.generated .binding 4)))] (.move (.generated .part 11))))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false))))]) (ce := (.matchOn (.move (.generated .holder 14)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 12)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 11))]) none (.clone (.generated .binding 4)))] (.move (.generated .part 11))))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 11))]) none (.clone (.generated .binding 4)))]) (tail := (.move (.generated .part 11))) (Corr.second (ta := (.adt 1)) (tb := .int) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.pair (.adt 1) .int), (some 4)), (3, (.list (.adt 1)), (some 3)), (2, (.adt 1), (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.pair (.adt 1) .int), (some 4)), (3, (.list (.adt 1)), (some 3)), (2, (.adt 1), (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.pair (.adt 1) .int), (some 4)), (3, (.list (.adt 1)), (some 3)), (2, (.adt 1), (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.pair (.move (.generated .binding 2)) (.copy (.generated .binding 1)))])) (lb := []) (tb := (.construct .some [(.move (.generated .binding 4))])) (Corr.build (ts := [(.pair (.adt 1) .int)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lNil))) rfl) (Corr.build (ts := [(.pair (.adt 1) .int)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)))) rfl rfl rfl (Corr.build (ts := [(.pair (.adt 1) .int)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))))) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun11 : FunOK program krate flags 11 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.list .int)) (.call (.function 14) [(.move (.generated .binding 0))] false)), (.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.call (.function 15) [(.construct (.closure 1 16) [(.move (.generated .binding 1))]), (.pair (.construct (.nil .int) []) (.call (.function 17) [] false)), (.call (.function 18) [] false)] true))], (.succeed (.move (.generated .part 15))), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.fOfB (Corr.first (ta := (.list .int)) (tb := (.list .int)) (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (.pair (.list .int) (.list .int)), (.list (.list .int))]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [(.list .int)]) (mask := [false]) (af := true) (ff := true) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := []) (Corr.opsNil) rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := []) (Corr.opsNil) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl)))⟩⟩ + +theorem fun12 : FunOK program krate flags 12 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 16)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 16)) [(.mk (.adt 1 0 []) (.mk [] (.lit (.bool false)))), (.mk (.adt 1 1 []) (.mk [] (.lit (.bool false)))), (.mk (.adt 1 2 []) (.mk [] (.lit (.bool true))))]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.adt 1)) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun13 : FunOK program krate flags 13 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 17)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 17)) [(.mk (.adt 1 0 []) (.mk [] (.lit (.bool false)))), (.mk (.adt 1 1 []) (.mk [] (.lit (.bool true)))), (.mk (.adt 1 2 []) (.mk [] (.lit (.bool false))))]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.adt 1)) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun14 : FunOK program krate flags 14 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 19) [(.move (.generated .binding 0))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun15 : FunOK program krate flags 15 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 18)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 18)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 15) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 19)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 19) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list (.list .int)), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.list .int))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.list .int)), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list (.list .int)), (some 4)), (3, (.list .int), (some 3)), (2, (.list (.list .int)), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 15) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 19)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 19) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (.pair (.list .int) (.list .int)), (.list (.list .int))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 19)) (some (.fn 1)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 19) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true)) (Corr.apply (ps := [(.pair (.list .int) (.list .int)), (.list .int)]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun16 : FunOK program krate flags 16 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 21)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 20))]) none (.clone (.generated .binding 1)))] (.move (.generated .part 20)))))], (.matchOn (.uncons (.generated .holder 21)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 27)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 22)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 22))))), (.mk (.bind (.generated .operand 28)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 25)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 26)) none (.block (.mk [(.mk (.bind (.generated .operand 24)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.call (.function 20) [(.construct (.closure 2 21) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 23)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 24))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false))) (.move (.generated .binding 4))))))]), [(2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 20))]) none (.clone (.generated .binding 1)))]) (tail := (.move (.generated .part 20))) (Corr.second (ta := (.list .int)) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .int), (some 4)), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 27)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 22)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 22))))), (.mk (.bind (.generated .operand 28)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 25)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 26)) none (.block (.mk [(.mk (.bind (.generated .operand 24)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.call (.function 20) [(.construct (.closure 2 21) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 23)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 24))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false))) (.move (.generated .binding 4))))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 27)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 22)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 22))))), (.mk (.bind (.generated .operand 28)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 25)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 26)) none (.block (.mk [(.mk (.bind (.generated .operand 24)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.call (.function 20) [(.construct (.closure 2 21) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 23)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 24))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] true))), (.construct (.nil .int) [])]))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false)) (Corr.prim (ts := [(.list .int), (.list .int)]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 22)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 22))) (Corr.first (ta := (.list .int)) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 25)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 26)) none (.block (.mk [(.mk (.bind (.generated .operand 24)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.call (.function 20) [(.construct (.closure 2 21) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 23)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 24))] true))))]) (tail := (.call (.runtime .intSub) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 24)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.call (.function 20) [(.construct (.closure 2 21) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 23)))))]) (tail := (.call (.runtime .intNeg) [(.move (.generated .operand 24))] true)) (Corr.prim (ts := [.int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.call (.function 20) [(.construct (.closure 2 21) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))]) (tail := (.move (.generated .part 23))) (Corr.first (ta := .int) (tb := (.list .int)) (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (.pair .int (.list .int)), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun17 : FunOK program krate flags 17 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int (-1))), (.construct (.nil .int) [])])])]), [], rfl, rfl, + (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)⟩⟩ + +theorem fun18 : FunOK program krate flags 18 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct .cons [(.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int (-4))), (.construct (.nil .int) [])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 5)), (.construct (.nil .int) [])])])]), (.construct (.nil (.list .int)) [])])])]), [], rfl, rfl, + (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)⟩⟩ + +theorem fun19 : FunOK program krate flags 19 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 29)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 29)) [(.mk (.adt 0 0 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])]))), (.mk (.adt 0 1 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])]))), (.mk (.adt 0 2 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])]))), (.mk (.adt 0 3 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])]))), (.mk (.adt 0 4 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])]))), (.mk (.adt 0 5 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])]))), (.mk (.adt 0 6 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])]))), (.mk (.adt 0 7 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])))]), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1, 2, 3, 4, 5, 6, 7]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 3) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 4) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 5) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 6) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 7) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun20 : FunOK program krate flags 20 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 30)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 30)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 20) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 31)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 31) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list .int), (some 2)), (1, (.pair .int (.list .int)), (some 1)), (0, (.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, (.pair .int (.list .int)), (some 1)), (0, (.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .int), (some 4)), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, (.pair .int (.list .int)), (some 1)), (0, (.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 20) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 31)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 31) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (.pair .int (.list .int)), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 31)) (some (.fn 2)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 31) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true)) (Corr.apply (ps := [(.pair .int (.list .int)), .int]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun21 : FunOK program krate flags 21 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 33)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 32))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 32)))))], (.matchOn (.uncons (.generated .holder 33)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 38)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 34)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 34))))), (.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.bind (.generated .operand 35)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 36)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 37))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] true))) (.move (.generated .binding 3))))))]), [(1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 32))]) none (.clone (.generated .binding 0)))]) (tail := (.move (.generated .part 32))) (Corr.second (ta := .int) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 0)))) (Corr.mCons (Γ' := [(3, (.list .int), (some 3)), (2, .int, (some 2)), (1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 38)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 34)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 34))))), (.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.bind (.generated .operand 35)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 36)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 37))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] true))) (.move (.generated .binding 3))))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 38)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 34)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 34))))), (.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.bind (.generated .operand 35)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 36)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 37))] true))))]) (tail := (.call (.runtime .intSub) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 34)), .wild]) none (.move (.generated .binding 0)))]) (tail := (.move (.generated .part 34))) (Corr.first (ta := .int) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.bind (.generated .operand 35)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 36)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] true))))]) (tail := (.call (.runtime .intNeg) [(.move (.generated .operand 37))] true)) (Corr.prim (ts := [.int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 35)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 36)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .intMul) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | 4 => exact fun4 + | 5 => exact fun5 + | 6 => exact fun6 + | 7 => exact fun7 + | 8 => exact fun8 + | 9 => exact fun9 + | 10 => exact fun10 + | 11 => exact fun11 + | 12 => exact fun12 + | 13 => exact fun13 + | 14 => exact fun14 + | 15 => exact fun15 + | 16 => exact fun16 + | 17 => exact fun17 + | 18 => exact fun18 + | 19 => exact fun19 + | 20 => exact fun20 + | 21 => exact fun21 + | _ + 22 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R3.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R3.lean new file mode 100644 index 000000000..6a3879576 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R3.lean @@ -0,0 +1,132 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Models.Flows +import Models.Glyphs +import Models.Ledger +import Models.Main +import Models.Pipeline +import Models.Policy +import Models.Recognizer +import Models.Session +import Models.Triage +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [{ constructors := [[.nat, .nat]] }], functions := [ + { parameters := [0], types := [(.list .nat)], result := (.result (.result (.list .nat) (.pair .bool .bool)) (.pair .bool .bool)), + body := (.«let» 1 (.list .nat) (.var 0) (.cond (.call 1 [(.var 1)]) (.«let» 2 (.result (.list .nat) (.pair .bool .bool)) (.call 2 [(.var 1)]) (.build .ok (.result (.result (.list .nat) (.pair .bool .bool)) (.pair .bool .bool)) [(.var 2)])) (.build .error (.result (.result (.list .nat) (.pair .bool .bool)) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))) }, + { parameters := [0], types := [(.list .nat)], result := .bool, + body := (.prim .natLt [(.prim .length [(.var 0)]), (.value .nat (.nat 1001))]) }, + { parameters := [0], types := [(.list .nat)], result := (.result (.list .nat) (.pair .bool .bool)), + body := (.call 3 [(.var 0)]) }, + { parameters := [0], types := [(.list .nat)], result := (.result (.list .nat) (.pair .bool .bool)), + body := (.«let» 1 (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) (.call 4 [(.closure 5 []), (.build .ok (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.build .pair (.pair (.adt 0) (.list .nat)) [(.call 6 []), (.build .nil (.list .nat) [])])]), (.var 0)]) (.«match» (.result (.list .nat) (.pair .bool .bool)) (.var 1) [(.arm .error [2] (.build .error (.result (.list .nat) (.pair .bool .bool)) [(.var 2)])), (.arm .ok [3] (.build .ok (.result (.list .nat) (.pair .bool .bool)) [(.second (.var 3))]))])) }, + { parameters := [0, 1, 2], types := [(.fn [(.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), .nat] (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))), (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), (.list .nat)], result := (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), + body := (.«match» (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 4 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1], types := [(.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), .nat], result := (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), + body := (.«match» (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) (.var 0) [(.arm .error [2] (.var 0)), (.arm .ok [3] (.cond (.call 7 [(.first (.var 3))]) (.cond (.call 8 [(.first (.var 3)), (.var 1)]) (.«let» 4 (.pair (.adt 0) .nat) (.call 9 [(.first (.var 3)), (.var 1)]) (.build .ok (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.build .pair (.pair (.adt 0) (.list .nat)) [(.first (.var 4)), (.prim .append [(.second (.var 3)), (.build .cons (.list .nat) [(.second (.var 4)), (.build .nil (.list .nat) [])])])])])) (.build .error (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])])) (.build .error (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])])))]) }, + { parameters := [], types := [], result := (.adt 0), + body := (.call 10 []) }, + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLe [(.field (.var 0) 0), (.value .nat (.nat 64))]) }, + { parameters := [0, 1], types := [(.adt 0), .nat], result := .bool, + body := (.prim .natLe [(.var 1), (.value .nat (.nat 16))]) }, + { parameters := [0, 1], types := [(.adt 0), .nat], result := (.pair (.adt 0) .nat), + body := (.call 11 [(.var 0), (.var 1)]) }, + { parameters := [], types := [], result := (.adt 0), + body := (.build (.adt 0) (.adt 0) [(.value .nat (.nat 0)), (.value .nat (.nat 0))]) }, + { parameters := [0, 1], types := [(.adt 0), .nat], result := (.pair (.adt 0) .nat), + body := (.«let» 2 .nat (.prim .natAdd [(.field (.var 0) 0), (.var 1)]) (.build .pair (.pair (.adt 0) .nat) [(.build (.adt 0) (.adt 0) [(.prim .natSub [(.var 2), (.prim .natSub [(.var 2), (.value .nat (.nat 64))])]), (.prim .natAdd [(.field (.var 0) 1), (.value .nat (.nat 1))])]), (.prim .natSub [(.var 2), (.value .nat (.nat 64))])])) }] } + +def __enc_0 (__s : (Models.Session.Window)) : _root_.LexLeanTarget.TargetSyntax.Value := + _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).used), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).items)] + +def __fits_1 (costs : (List Nat)) : Bool := + ((((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (costs) : Nat) 18446744073709551616)) && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_1 (costs : (List Nat)) : _root_.LexLeanPreservation.FunRel __prog 1 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) costs)] (_root_.LexLeanPreservation.Rel (__fits_1 costs) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Pipeline.shortStreamCheck costs))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) costs)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (_root_.LexLeanRuntime.length (costs) : Nat) (1001 : Nat))) + +def __fits_7 (window : (Models.Session.Window)) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_7 (window : (Models.Session.Window)) : _root_.LexLeanPreservation.FunRel __prog 7 [(__enc_0 window)] (_root_.LexLeanPreservation.Rel (__fits_7 window) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Session.boundedCheck window))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe (window).used (64 : Nat))) + +def __fits_8 (window : (Models.Session.Window)) (cost : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_8 (window : (Models.Session.Window)) (cost : Nat) : _root_.LexLeanPreservation.FunRel __prog 8 [(__enc_0 window), (_root_.LexLeanTarget.TargetSyntax.Value.nat cost)] (_root_.LexLeanPreservation.Rel (__fits_8 window cost) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Session.affordableCheck window cost))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe cost (16 : Nat))) + +def __fits_11 (window : (Models.Session.Window)) (cost : Nat) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((window).used + cost) 18446744073709551616)) && (let total : Nat := ((window).used + cost); ((((((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((window).items + (1 : Nat)) 18446744073709551616)) && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) + +theorem __rel_11 (window : (Models.Session.Window)) (cost : Nat) : _root_.LexLeanPreservation.FunRel __prog 11 [(__enc_0 window), (_root_.LexLeanTarget.TargetSyntax.Value.nat cost)] (_root_.LexLeanPreservation.Rel (__fits_11 window cost) ((_root_.LexLeanPreservation.encPair __enc_0 _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Session.SessionStep window cost))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (let total : Nat := ((window).used + cost); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (window).used cost)) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub total (64 : Nat))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub total (_root_.LexLeanRuntime.subtract (total) ((64 : Nat)) : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (window).items (1 : Nat))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub total (64 : Nat))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair)) + +def __fits_9 (_ystate : (Models.Session.Window)) (_yinput : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && (__fits_11 (_ystate) (_yinput))) + +attribute [local irreducible] Models.Session.SessionStep in +theorem __rel_9 (_ystate : (Models.Session.Window)) (_yinput : Nat) : _root_.LexLeanPreservation.FunRel __prog 9 [(__enc_0 _ystate), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yinput)] (_root_.LexLeanPreservation.Rel (__fits_9 _ystate _yinput) ((_root_.LexLeanPreservation.encPair __enc_0 _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Session.SessionModel _ystate _yinput))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_11 (_ystate) (_yinput))) + +def __fits_5 (_yacc : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) (_yitem : Nat) : Bool := + (Bool.true && (match _yacc with | Except.error _yviolation => Bool.true | Except.ok _ystate => (((Bool.true && Bool.true) && (__fits_7 ((_ystate).1))) && (if (Models.Session.boundedCheck ((_ystate).1)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_8 ((_ystate).1) (_yitem))) && (if (Models.Session.affordableCheck ((_ystate).1) (_yitem)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_9 ((_ystate).1) (_yitem))) && (let _ystep : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel ((_ystate).1) (_yitem)); ((((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) + +attribute [local irreducible] Models.Session.SessionModel Models.Session.affordableCheck Models.Session.boundedCheck in +theorem __rel_5 (_yacc : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) (_yitem : Nat) : _root_.LexLeanPreservation.FunRel __prog 5 [((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair __enc_0 (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) _yacc), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yitem)] (_root_.LexLeanPreservation.Rel (__fits_5 _yacc _yitem) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair __enc_0 (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) ((match _yacc with | Except.error _yviolation => _yacc | Except.ok _ystate => (if (Models.Session.boundedCheck ((_ystate).1)) then (if (Models.Session.affordableCheck ((_ystate).1) (_yitem)) then (let _ystep : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel ((_ystate).1) (_yitem)); (Except.ok (((_ystep).1, (_root_.LexLeanRuntime.append ((_ystate).2) (((_ystep).2 :: ([] : List Nat))) : (List Nat)))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))))))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair __enc_0 (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (fun (__a : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) => (match __a with | Except.error _yviolation => Bool.true | Except.ok _ystate => (((Bool.true && Bool.true) && (__fits_7 ((_ystate).1))) && (if (Models.Session.boundedCheck ((_ystate).1)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_8 ((_ystate).1) (_yitem))) && (if (Models.Session.affordableCheck ((_ystate).1) (_yitem)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_9 ((_ystate).1) (_yitem))) && (let _ystep : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel ((_ystate).1) (_yitem)); ((((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) (fun (__a : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair __enc_0 (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (match __a with | Except.error _yviolation => _yacc | Except.ok _ystate => (if (Models.Session.boundedCheck ((_ystate).1)) then (if (Models.Session.affordableCheck ((_ystate).1) (_yitem)) then (let _ystep : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel ((_ystate).1) (_yitem)); (Except.ok (((_ystep).1, (_root_.LexLeanRuntime.append ((_ystate).2) (((_ystep).2 :: ([] : List Nat))) : (List Nat)))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))))) _yacc (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) _ => match __a with | Except.error _yviolation => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | Except.ok _ystate => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && (Bool.true && Bool.true)) && (__fits_8 ((_ystate).1) (_yitem))) && (if (Models.Session.affordableCheck ((_ystate).1) (_yitem)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_9 ((_ystate).1) (_yitem))) && (let _ystep : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel ((_ystate).1) (_yitem)); ((((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair __enc_0 (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (if __b then (if (Models.Session.affordableCheck ((_ystate).1) (_yitem)) then (let _ystep : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel ((_ystate).1) (_yitem)); (Except.ok (((_ystep).1, (_root_.LexLeanRuntime.append ((_ystate).2) (((_ystep).2 :: ([] : List Nat))) : (List Nat)))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))))) (Models.Session.boundedCheck ((_ystate).1)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil) (__rel_7 ((_ystate).1))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && (Bool.true && Bool.true)) && (__fits_9 ((_ystate).1) (_yitem))) && (let _ystep : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel ((_ystate).1) (_yitem)); ((((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair __enc_0 (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (if __b then (let _ystep : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel ((_ystate).1) (_yitem)); (Except.ok (((_ystep).1, (_root_.LexLeanRuntime.append ((_ystate).2) (((_ystep).2 :: ([] : List Nat))) : (List Nat)))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))))) (Models.Session.affordableCheck ((_ystate).1) (_yitem)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_8 ((_ystate).1) (_yitem))) (fun _ => (let _ystep : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel ((_ystate).1) (_yitem)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_9 ((_ystate).1) (_yitem))) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (_ystate).2 ((_ystep).2 :: ([] : List Nat)))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))))) + +def __fits_10 : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_10 : _root_.LexLeanPreservation.FunRel __prog 10 [] (_root_.LexLeanPreservation.Rel (__fits_10) (__enc_0 (Models.Session.SessionStep.initial))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_adt) + +def __fits_6 : Bool := + (Bool.true && (__fits_10)) + +attribute [local irreducible] Models.Session.SessionStep.initial in +theorem __rel_6 : _root_.LexLeanPreservation.FunRel __prog 6 [] (_root_.LexLeanPreservation.Rel (__fits_6) (__enc_0 (Models.Session.SessionModel.initial))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call _root_.LexLeanPreservation.convL_nil (__rel_10)) + +def __fits_3 (costs : (List Nat)) : Bool := + (((Bool.true && ((((((Bool.true && (__fits_6)) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) (__p1 : Nat) => __fits_5 __p0 __p1) ((fun (_yacc : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) (_yitem : Nat) => (match _yacc with | Except.error _yviolation => _yacc | Except.ok _ystate => (if (Models.Session.boundedCheck ((_ystate).1)) then (if (Models.Session.affordableCheck ((_ystate).1) (_yitem)) then (let _ystep : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel ((_ystate).1) (_yitem)); (Except.ok (((_ystep).1, (_root_.LexLeanRuntime.append ((_ystate).2) (((_ystep).2 :: ([] : List Nat))) : (List Nat)))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))))))) ((Except.ok (((Models.Session.SessionModel.initial), ([] : List Nat))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) (costs))) && (let _yscanned : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))) := (_root_.LexLeanCollections.listFold ((fun (_yacc : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) (_yitem : Nat) => (match _yacc with | Except.error _yviolation => _yacc | Except.ok _ystate => (if (Models.Session.boundedCheck ((_ystate).1)) then (if (Models.Session.affordableCheck ((_ystate).1) (_yitem)) then (let _ystep : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel ((_ystate).1) (_yitem)); (Except.ok (((_ystep).1, (_root_.LexLeanRuntime.append ((_ystate).2) (((_ystep).2 :: ([] : List Nat))) : (List Nat)))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))))))) ((Except.ok (((Models.Session.SessionModel.initial), ([] : List Nat))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) (costs) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))); (Bool.true && (match _yscanned with | Except.error _yviolation => ((Bool.true && Bool.true) && Bool.true) | Except.ok _ystate => ((Bool.true && Bool.true) && Bool.true))))) + +attribute [local irreducible] Models.Session.SessionModel Models.Session.SessionModel.initial Models.Session.affordableCheck Models.Session.boundedCheck in +theorem __rel_3 (costs : (List Nat)) : _root_.LexLeanPreservation.FunRel __prog 3 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) costs)] (_root_.LexLeanPreservation.Rel (__fits_3 costs) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Models.Pipeline.SessionStream costs))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (let _yscanned : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))) := (_root_.LexLeanCollections.listFold ((fun (_yacc : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) (_yitem : Nat) => (match _yacc with | Except.error _yviolation => _yacc | Except.ok _ystate => (if (Models.Session.boundedCheck ((_ystate).1)) then (if (Models.Session.affordableCheck ((_ystate).1) (_yitem)) then (let _ystep : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel ((_ystate).1) (_yitem)); (Except.ok (((_ystep).1, (_root_.LexLeanRuntime.append ((_ystate).2) (((_ystep).2 :: ([] : List Nat))) : (List Nat)))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))))))) ((Except.ok (((Models.Session.SessionModel.initial), ([] : List Nat))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) (costs) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call _root_.LexLeanPreservation.convL_nil (__rel_6)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.nat) (es := (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair __enc_0 (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)))) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) ((fun (_yacc : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) (_yitem : Nat) => (match _yacc with | Except.error _yviolation => _yacc | Except.ok _ystate => (if (Models.Session.boundedCheck ((_ystate).1)) then (if (Models.Session.affordableCheck ((_ystate).1) (_yitem)) then (let _ystep : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel ((_ystate).1) (_yitem)); (Except.ok (((_ystep).1, (_root_.LexLeanRuntime.append ((_ystate).2) (((_ystep).2 :: ([] : List Nat))) : (List Nat)))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))))))) (fun (__p0 : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) (__p1 : Nat) => __fits_5 __p0 __p1) 5 [] (fun (__p0 : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) (__p1 : Nat) => __rel_5 __p0 __p1) (p := __prog) (fi := 4) (ta := .nat) (ts := (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))) rfl ((Except.ok (((Models.Session.SessionModel.initial), ([] : List Nat))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) (costs))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair __enc_0 (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (fun (__a : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) => (match __a with | Except.error _yviolation => ((Bool.true && Bool.true) && Bool.true) | Except.ok _ystate => ((Bool.true && Bool.true) && Bool.true))) (fun (__a : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (match __a with | Except.error _yviolation => (Except.error (_yviolation) : (Except (Prod Bool Bool) (List Nat))) | Except.ok _ystate => (Except.ok ((_ystate).2) : (Except (Prod Bool Bool) (List Nat))))) _yscanned (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) _ => match __a with | Except.error _yviolation => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)) | Except.ok _ystate => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)))))) + +def __fits_2 (_yinput : (List Nat)) : Bool := + ((Bool.true && Bool.true) && (__fits_3 (_yinput))) + +attribute [local irreducible] Models.Pipeline.SessionStream in +theorem __rel_2 (_yinput : (List Nat)) : _root_.LexLeanPreservation.FunRel __prog 2 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) _yinput)] (_root_.LexLeanPreservation.Rel (__fits_2 _yinput) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Models.Pipeline.StreamModel _yinput))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_3 (_yinput))) + +def __fits_0 (costs : (List Nat)) : Bool := + (Bool.true && (let _ychecked1_input : (List Nat) := costs; (((Bool.true && Bool.true) && (__fits_1 (_ychecked1_input))) && (if (Models.Pipeline.shortStreamCheck (_ychecked1_input)) then (((Bool.true && Bool.true) && (__fits_2 (_ychecked1_input))) && (let _ychecked1_output : (Except (Prod Bool Bool) (List Nat)) := (Models.Pipeline.StreamModel (_ychecked1_input)); ((Bool.true && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) + +attribute [local irreducible] Models.Pipeline.StreamModel Models.Pipeline.shortStreamCheck in +theorem __rel_0 (costs : (List Nat)) : _root_.LexLeanPreservation.FunRel __prog 0 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) costs)] (_root_.LexLeanPreservation.Rel (__fits_0 costs) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (Models.Main.admitCosts costs))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (let _ychecked1_input : (List Nat) := costs; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && (__fits_2 (_ychecked1_input))) && (let _ychecked1_output : (Except (Prod Bool Bool) (List Nat)) := (Models.Pipeline.StreamModel (_ychecked1_input)); ((Bool.true && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (if __b then (let _ychecked1_output : (Except (Prod Bool Bool) (List Nat)) := (Models.Pipeline.StreamModel (_ychecked1_input)); (Except.ok (_ychecked1_output) : (Except (Prod Bool Bool) (Except (Prod Bool Bool) (List Nat))))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Except (Prod Bool Bool) (List Nat)))))) (Models.Pipeline.shortStreamCheck (_ychecked1_input)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (_ychecked1_input))) (fun _ => (let _ychecked1_output : (Except (Prod Bool Bool) (List Nat)) := (Models.Pipeline.StreamModel (_ychecked1_input)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_2 (_ychecked1_input))) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))) + +def denote (costs : (List Nat)) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 costs) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (Models.Main.admitCosts costs)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (costs : (List Nat)) : _root_.LexLeanPreservation.RunConv __prog 0 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) costs)] (_root_.LexLeanPreservation.Rel (__fits_0 costs) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (Models.Main.admitCosts costs))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 costs) + +end LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3 diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R3/Compose/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R3/Compose/RustStd.lean new file mode 100644 index 000000000..a8955ac91 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R3/Compose/RustStd.lean @@ -0,0 +1,19 @@ +import LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3 +import LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.Compose.RustStd + +theorem __wt_0 : ∀ (__s : (Models.Session.Window)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.RustStd.program _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.RustStd.krate _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.RustStd.flags (_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.__enc_0 __s) (.adt 0) := + fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).used) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).items) _root_.LexLeanPreservation.Rust.wtl_nil)) + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (costs : (List Nat)) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) costs)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.denote costs) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) costs)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList _root_.LexLeanPreservation.Rust.wt_nat) costs) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.root costs) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.Compose.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R3/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R3/RustStd.lean new file mode 100644 index 000000000..f52d5fc94 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R3/RustStd.lean @@ -0,0 +1,124 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [{ constructors := [[.nat, .nat]] }], functions := [ + { parameters := [0], types := [(.list .nat)], result := (.result (.result (.list .nat) (.pair .bool .bool)) (.pair .bool .bool)), + body := (.«let» 1 (.list .nat) (.var 0) (.cond (.call 1 [(.var 1)]) (.«let» 2 (.result (.list .nat) (.pair .bool .bool)) (.call 2 [(.var 1)]) (.build .ok (.result (.result (.list .nat) (.pair .bool .bool)) (.pair .bool .bool)) [(.var 2)])) (.build .error (.result (.result (.list .nat) (.pair .bool .bool)) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))) }, + { parameters := [0], types := [(.list .nat)], result := .bool, + body := (.prim .natLt [(.prim .length [(.var 0)]), (.value .nat (.nat 1001))]) }, + { parameters := [0], types := [(.list .nat)], result := (.result (.list .nat) (.pair .bool .bool)), + body := (.call 3 [(.var 0)]) }, + { parameters := [0], types := [(.list .nat)], result := (.result (.list .nat) (.pair .bool .bool)), + body := (.«let» 1 (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) (.call 4 [(.closure 5 []), (.build .ok (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.build .pair (.pair (.adt 0) (.list .nat)) [(.call 6 []), (.build .nil (.list .nat) [])])]), (.var 0)]) (.«match» (.result (.list .nat) (.pair .bool .bool)) (.var 1) [(.arm .error [2] (.build .error (.result (.list .nat) (.pair .bool .bool)) [(.var 2)])), (.arm .ok [3] (.build .ok (.result (.list .nat) (.pair .bool .bool)) [(.second (.var 3))]))])) }, + { parameters := [0, 1, 2], types := [(.fn [(.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), .nat] (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))), (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), (.list .nat)], result := (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), + body := (.«match» (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 4 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1], types := [(.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), .nat], result := (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), + body := (.«match» (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) (.var 0) [(.arm .error [2] (.var 0)), (.arm .ok [3] (.cond (.call 7 [(.first (.var 3))]) (.cond (.call 8 [(.first (.var 3)), (.var 1)]) (.«let» 4 (.pair (.adt 0) .nat) (.call 9 [(.first (.var 3)), (.var 1)]) (.build .ok (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.build .pair (.pair (.adt 0) (.list .nat)) [(.first (.var 4)), (.prim .append [(.second (.var 3)), (.build .cons (.list .nat) [(.second (.var 4)), (.build .nil (.list .nat) [])])])])])) (.build .error (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])])) (.build .error (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])])))]) }, + { parameters := [], types := [], result := (.adt 0), + body := (.call 10 []) }, + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLe [(.field (.var 0) 0), (.value .nat (.nat 64))]) }, + { parameters := [0, 1], types := [(.adt 0), .nat], result := .bool, + body := (.prim .natLe [(.var 1), (.value .nat (.nat 16))]) }, + { parameters := [0, 1], types := [(.adt 0), .nat], result := (.pair (.adt 0) .nat), + body := (.call 11 [(.var 0), (.var 1)]) }, + { parameters := [], types := [], result := (.adt 0), + body := (.build (.adt 0) (.adt 0) [(.value .nat (.nat 0)), (.value .nat (.nat 0))]) }, + { parameters := [0, 1], types := [(.adt 0), .nat], result := (.pair (.adt 0) .nat), + body := (.«let» 2 .nat (.prim .natAdd [(.field (.var 0) 0), (.var 1)]) (.build .pair (.pair (.adt 0) .nat) [(.build (.adt 0) (.adt 0) [(.prim .natSub [(.var 2), (.prim .natSub [(.var 2), (.value .nat (.nat 64))])]), (.prim .natAdd [(.field (.var 0) 1), (.value .nat (.nat 1))])]), (.prim .natSub [(.var 2), (.value .nat (.nat 64))])])) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.enum (.adt 0) [{ number := 0, fields := [.nat, .nat] }]), + (.enum (.fn 0) [{ number := 5, fields := [] }]), + (.apply 0 [(.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), .nat] (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) true [{ function := 5, captures := [], functionFallible := true }]), + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }] (.fallible (.result (.result (.list .nat) (.pair .bool .bool)) (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 1)) (some (.list .nat)) (.move (.generated .binding 0)))] (.cond (.call (.function 1) [(.clone (.generated .binding 1))] false) (.mk [(.mk (.bind (.generated .binding 2)) (some (.result (.list .nat) (.pair .bool .bool))) (.call (.function 2) [(.move (.generated .binding 1))] true))] (.succeed (.construct (.ok (.result (.list .nat) (.pair .bool .bool)) (.pair .bool .bool)) [(.move (.generated .binding 2))]))) (.mk [] (.succeed (.construct (.err (.result (.list .nat) (.pair .bool .bool)) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }] .bool (.mk [(.mk (.bind (.generated .operand 2)) none (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.move (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 1))] false)))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 1001)))] (.call (.runtime .natLt) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] false))), + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }] (.fallible (.result (.list .nat) (.pair .bool .bool))) (.mk [] (.call (.function 3) [(.move (.generated .binding 0))] false))), + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }] (.fallible (.result (.list .nat) (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 1)) (some (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))) (.call (.function 4) [(.construct (.closure 0 5) []), (.construct (.ok (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.call (.function 6) [] false) (.construct (.nil .nat) []))]), (.move (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 4)) none (.move (.generated .binding 1)))] (.matchOn (.move (.generated .holder 4)) [(.mk (.ok (.bind (.generated .binding 3))) (.mk [] (.succeed (.construct (.ok (.list .nat) (.pair .bool .bool)) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 5))]) none (.move (.generated .binding 3)))] (.move (.generated .part 5))))])))), (.mk (.err (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.err (.list .nat) (.pair .bool .bool)) [(.copy (.generated .binding 2))]))))]))), + (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) }, { pattern := (.bind (.generated .binding 2)), type := (.list .nat) }] (.fallible (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .holder 6)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 6)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 4) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 7)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 7) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]))), + (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .holder 8)) none (.clone (.generated .binding 0)))] (.matchOn (.move (.generated .holder 8)) [(.mk (.ok (.bind (.generated .binding 3))) (.mk [] (.cond (.call (.function 7) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 9)), .wild]) none (.clone (.generated .binding 3)))] (.move (.generated .part 9))))] false) (.mk [] (.cond (.call (.function 8) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 10)), .wild]) none (.clone (.generated .binding 3)))] (.move (.generated .part 10)))), (.copy (.generated .binding 1))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair (.adt 0) .nat)) (.call (.function 9) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 11)))), (.copy (.generated .binding 1))] true))] (.succeed (.construct (.ok (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 12)), .wild]) none (.move (.generated .binding 4)))] (.move (.generated .part 12)))) (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.move (.generated .binding 3)))] (.move (.generated .part 13))))), (.mk (.bind (.generated .operand 16)) none (.construct .cons [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 14))]) none (.move (.generated .binding 4)))] (.move (.generated .part 14)))), (.construct (.nil .nat) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false))))]))) (.mk [] (.succeed (.construct (.err (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))) (.mk [] (.succeed (.construct (.err (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])))))), (.mk (.err .wild) (.mk [] (.succeed (.move (.generated .binding 0)))))]))), + (.function (.generated .function 6) [] (.adt 0) (.mk [] (.call (.function 10) [] false))), + (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 18)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 17)), .wild]) (.mk [] (.move (.generated .part 17))))])), (.mk (.bind (.generated .operand 19)) none (.lit (.nat 64)))] (.call (.runtime .natLe) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false))), + (.function (.generated .function 8) [{ pattern := .wild, type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 20)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 21)) none (.lit (.nat 16)))] (.call (.runtime .natLe) [(.move (.generated .operand 20)), (.move (.generated .operand 21))] false))), + (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair (.adt 0) .nat)) (.mk [] (.call (.function 11) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] false))), + (.function (.generated .function 10) [] (.adt 0) (.mk [] (.construct (.adt 0 0) [(.lit (.nat 0)), (.lit (.nat 0))]))), + (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair (.adt 0) .nat)) (.mk [(.mk (.bind (.generated .binding 2)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 23)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 22)), .wild]) (.mk [] (.move (.generated .part 22))))])), (.mk (.bind (.generated .operand 24)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] true))))] (.succeed (.pair (.construct (.adt 0 0) [(.block (.mk [(.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.bind (.generated .operand 25)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 26)) none (.lit (.nat 64)))] (.call (.runtime .natSub) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false))))] (.call (.runtime .natSub) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false))), (.block (.mk [(.mk (.bind (.generated .operand 30)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 29))]) (.mk [] (.move (.generated .part 29))))])), (.mk (.bind (.generated .operand 31)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] true)))]) (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 33)) none (.lit (.nat 64)))] (.call (.runtime .natSub) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] false)))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [(([(.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), .nat], (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))), true)] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.list .nat)) (.move (.generated .binding 0)))], (.cond (.call (.function 1) [(.clone (.generated .binding 1))] false) (.mk [(.mk (.bind (.generated .binding 2)) (some (.result (.list .nat) (.pair .bool .bool))) (.call (.function 2) [(.move (.generated .binding 1))] true))] (.succeed (.construct (.ok (.result (.list .nat) (.pair .bool .bool)) (.pair .bool .bool)) [(.move (.generated .binding 2))]))) (.mk [] (.succeed (.construct (.err (.result (.list .nat) (.pair .bool .bool)) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))), [(0, (.list .nat), (some 0))], rfl, rfl, + (Corr.letBind (Corr.var rfl rfl) rfl (Corr.cond (lc := []) (ce := (.call (.function 1) [(.clone (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .binding 2)) (some (.result (.list .nat) (.pair .bool .bool))) (.call (.function 2) [(.move (.generated .binding 1))] true))]) (ta := (.succeed (.construct (.ok (.result (.list .nat) (.pair .bool .bool)) (.pair .bool .bool)) [(.move (.generated .binding 2))]))) (lb := []) (tb := (.succeed (.construct (.err (.result (.list .nat) (.pair .bool .bool)) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))) (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.fOfB (Corr.build (ts := [(.result (.list .nat) (.pair .bool .bool))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))))⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 2)) none (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.move (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 1))] false)))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 1001)))], (.call (.runtime .natLt) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] false), [(0, (.list .nat), (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.move (.generated .binding 0)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 1))] false)) (Corr.prim (ts := [(.list .nat)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 3) [(.move (.generated .binding 0))] false), [(0, (.list .nat), (some 0))], rfl, rfl, + (Corr.callF (ts := [(.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))) (.call (.function 4) [(.construct (.closure 0 5) []), (.construct (.ok (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.call (.function 6) [] false) (.construct (.nil .nat) []))]), (.move (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 4)) none (.move (.generated .binding 1)))], (.matchOn (.move (.generated .holder 4)) [(.mk (.ok (.bind (.generated .binding 3))) (.mk [] (.succeed (.construct (.ok (.list .nat) (.pair .bool .bool)) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 5))]) none (.move (.generated .binding 3)))] (.move (.generated .part 5))))])))), (.mk (.err (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.err (.list .nat) (.pair .bool .bool)) [(.copy (.generated .binding 2))]))))]), [(0, (.list .nat), (some 0))], rfl, rfl, + (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), .nat] (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))), (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair (.adt 0) (.list .nat))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := []) (Corr.opsNil) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) (Corr.lNil))) rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl (Corr.matchArms (st := (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))) (U := []) (view := false) (idx := [1, 0]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(3, (.pair (.adt 0) (.list .nat)), (some 3)), (1, (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.construct (.ok (.list .nat) (.pair .bool .bool)) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 5))]) none (.move (.generated .binding 3)))] (.move (.generated .part 5))))]))) (Corr.mCons (Γ' := [(2, (.pair .bool .bool), (some 2)), (1, (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.err (.list .nat) (.pair .bool .bool)) [(.copy (.generated .binding 2))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.list .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 5))]) none (.move (.generated .binding 3)))]) (tail := (.move (.generated .part 5))) (Corr.second (ta := (.adt 0)) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl))) rfl rfl rfl))⟩⟩ + +theorem fun4 : FunOK program krate flags 4 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 6)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 6)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 4) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 7)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 7) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list .nat), (some 2)), (1, (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), (some 1)), (0, (.fn [(.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), .nat] (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), (some 1)), (0, (.fn [(.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), .nat] (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .nat), (some 4)), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), (some 1)), (0, (.fn [(.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), .nat] (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 4) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 7)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 7) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), .nat] (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))), (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 7)) (some (.fn 0)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 7) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true)) (Corr.apply (ps := [(.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), .nat]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun5 : FunOK program krate flags 5 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 8)) none (.clone (.generated .binding 0)))], (.matchOn (.move (.generated .holder 8)) [(.mk (.ok (.bind (.generated .binding 3))) (.mk [] (.cond (.call (.function 7) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 9)), .wild]) none (.clone (.generated .binding 3)))] (.move (.generated .part 9))))] false) (.mk [] (.cond (.call (.function 8) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 10)), .wild]) none (.clone (.generated .binding 3)))] (.move (.generated .part 10)))), (.copy (.generated .binding 1))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair (.adt 0) .nat)) (.call (.function 9) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 11)))), (.copy (.generated .binding 1))] true))] (.succeed (.construct (.ok (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 12)), .wild]) none (.move (.generated .binding 4)))] (.move (.generated .part 12)))) (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.move (.generated .binding 3)))] (.move (.generated .part 13))))), (.mk (.bind (.generated .operand 16)) none (.construct .cons [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 14))]) none (.move (.generated .binding 4)))] (.move (.generated .part 14)))), (.construct (.nil .nat) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false))))]))) (.mk [] (.succeed (.construct (.err (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))) (.mk [] (.succeed (.construct (.err (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])))))), (.mk (.err .wild) (.mk [] (.succeed (.move (.generated .binding 0)))))]), [(1, .nat, (some 1)), (0, (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))) (U := []) (view := false) (idx := [1, 0]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(3, (.pair (.adt 0) (.list .nat)), (some 3)), (1, .nat, (some 1)), (0, (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 7) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 9)), .wild]) none (.clone (.generated .binding 3)))] (.move (.generated .part 9))))] false) (.mk [] (.cond (.call (.function 8) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 10)), .wild]) none (.clone (.generated .binding 3)))] (.move (.generated .part 10)))), (.copy (.generated .binding 1))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair (.adt 0) .nat)) (.call (.function 9) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 11)))), (.copy (.generated .binding 1))] true))] (.succeed (.construct (.ok (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 12)), .wild]) none (.move (.generated .binding 4)))] (.move (.generated .part 12)))) (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.move (.generated .binding 3)))] (.move (.generated .part 13))))), (.mk (.bind (.generated .operand 16)) none (.construct .cons [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 14))]) none (.move (.generated .binding 4)))] (.move (.generated .part 14)))), (.construct (.nil .nat) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false))))]))) (.mk [] (.succeed (.construct (.err (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))) (.mk [] (.succeed (.construct (.err (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))))) (Corr.mCons (Γ' := [(2, (.pair .bool .bool), none), (1, .nat, (some 1)), (0, (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 0)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 7) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 9)), .wild]) none (.clone (.generated .binding 3)))] (.move (.generated .part 9))))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 9)), .wild]) none (.clone (.generated .binding 3)))]) (tail := (.move (.generated .part 9))) (Corr.first (ta := (.adt 0)) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 8) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 10)), .wild]) none (.clone (.generated .binding 3)))] (.move (.generated .part 10)))), (.copy (.generated .binding 1))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair (.adt 0) .nat)) (.call (.function 9) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 11)))), (.copy (.generated .binding 1))] true))] (.succeed (.construct (.ok (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 12)), .wild]) none (.move (.generated .binding 4)))] (.move (.generated .part 12)))) (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.move (.generated .binding 3)))] (.move (.generated .part 13))))), (.mk (.bind (.generated .operand 16)) none (.construct .cons [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 14))]) none (.move (.generated .binding 4)))] (.move (.generated .part 14)))), (.construct (.nil .nat) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false))))]))) (.mk [] (.succeed (.construct (.err (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))) (lb := []) (tb := (.succeed (.construct (.err (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))) (Corr.cond (lc := []) (ce := (.call (.function 8) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 10)), .wild]) none (.clone (.generated .binding 3)))] (.move (.generated .part 10)))), (.copy (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0), .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 10)), .wild]) none (.clone (.generated .binding 3)))]) (tail := (.move (.generated .part 10))) (Corr.first (ta := (.adt 0)) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .binding 4)) (some (.pair (.adt 0) .nat)) (.call (.function 9) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 11)))), (.copy (.generated .binding 1))] true))]) (ta := (.succeed (.construct (.ok (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 12)), .wild]) none (.move (.generated .binding 4)))] (.move (.generated .part 12)))) (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.move (.generated .binding 3)))] (.move (.generated .part 13))))), (.mk (.bind (.generated .operand 16)) none (.construct .cons [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 14))]) none (.move (.generated .binding 4)))] (.move (.generated .part 14)))), (.construct (.nil .nat) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false))))]))) (lb := []) (tb := (.succeed (.construct (.err (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))) (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0), .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 3)))]) (tail := (.move (.generated .part 11))) (Corr.first (ta := (.adt 0)) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl (Corr.fOfB (Corr.build (ts := [(.pair (.adt 0) (.list .nat))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 12)), .wild]) none (.move (.generated .binding 4)))]) (tail := (.move (.generated .part 12))) (Corr.first (ta := (.adt 0)) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 15)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.move (.generated .binding 3)))] (.move (.generated .part 13))))), (.mk (.bind (.generated .operand 16)) none (.construct .cons [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 14))]) none (.move (.generated .binding 4)))] (.move (.generated .part 14)))), (.construct (.nil .nat) [])]))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false)) (Corr.prim (ts := [(.list .nat), (.list .nat)]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.move (.generated .binding 3)))]) (tail := (.move (.generated .part 13))) (Corr.second (ta := (.adt 0)) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 14))]) none (.move (.generated .binding 4)))]) (tail := (.move (.generated .part 14))) (Corr.second (ta := (.adt 0)) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil))) rfl))) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl))))) rfl rfl rfl)⟩⟩ + +theorem fun6 : FunOK program krate flags 6 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 10) [] false), [], rfl, rfl, + (Corr.callOps (ts := []) (Corr.opsNil) rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun7 : FunOK program krate flags 7 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 18)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 17)), .wild]) (.mk [] (.move (.generated .part 17))))])), (.mk (.bind (.generated .operand 19)) none (.lit (.nat 64)))], (.call (.runtime .natLe) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat]) (rd := (.move (.generated .part 17))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun8 : FunOK program krate flags 8 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 20)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 21)) none (.lit (.nat 16)))], (.call (.runtime .natLe) [(.move (.generated .operand 20)), (.move (.generated .operand 21))] false), [(1, .nat, (some 1)), (0, (.adt 0), none)], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun9 : FunOK program krate flags 9 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 11) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] false), [(1, .nat, (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, + (Corr.callF (ts := [(.adt 0), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)⟩⟩ + +theorem fun10 : FunOK program krate flags 10 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 0 0) [(.lit (.nat 0)), (.lit (.nat 0))]), [], rfl, rfl, + (Corr.build (ts := [.nat, .nat]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl)⟩⟩ + +theorem fun11 : FunOK program krate flags 11 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 23)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 22)), .wild]) (.mk [] (.move (.generated .part 22))))])), (.mk (.bind (.generated .operand 24)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] true))))], (.succeed (.pair (.construct (.adt 0 0) [(.block (.mk [(.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.bind (.generated .operand 25)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 26)) none (.lit (.nat 64)))] (.call (.runtime .natSub) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false))))] (.call (.runtime .natSub) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false))), (.block (.mk [(.mk (.bind (.generated .operand 30)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 29))]) (.mk [] (.move (.generated .part 29))))])), (.mk (.bind (.generated .operand 31)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] true)))]) (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 33)) none (.lit (.nat 64)))] (.call (.runtime .natSub) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] false))))), [(1, .nat, (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, + (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 23)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 22)), .wild]) (.mk [] (.move (.generated .part 22))))])), (.mk (.bind (.generated .operand 24)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat]) (rd := (.move (.generated .part 22))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.bind (.generated .operand 25)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 26)) none (.lit (.nat 64)))] (.call (.runtime .natSub) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false))))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 25)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 26)) none (.lit (.nat 64)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 30)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 29))]) (.mk [] (.move (.generated .part 29))))])), (.mk (.bind (.generated .operand 31)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat]) (rd := (.move (.generated .part 29))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 33)) none (.lit (.nat 64)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | 4 => exact fun4 + | 5 => exact fun5 + | 6 => exact fun6 + | 7 => exact fun7 + | 8 => exact fun8 + | 9 => exact fun9 + | 10 => exact fun10 + | 11 => exact fun11 + | _ + 12 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R4.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R4.lean new file mode 100644 index 000000000..0a53e39cc --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R4.lean @@ -0,0 +1,78 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Models.Flows +import Models.Glyphs +import Models.Ledger +import Models.Main +import Models.Pipeline +import Models.Policy +import Models.Recognizer +import Models.Session +import Models.Triage +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [{ constructors := [[.nat, .nat]] }], functions := [ + { parameters := [0, 1], types := [(.adt 0), .nat], result := (.result (.pair (.adt 0) .nat) (.pair .bool .bool)), + body := (.«let» 2 (.adt 0) (.var 0) (.«let» 3 .nat (.var 1) (.cond (.call 1 [(.var 2)]) (.cond (.call 2 [(.var 2), (.var 3)]) (.«let» 4 (.pair (.adt 0) .nat) (.call 3 [(.var 2), (.var 3)]) (.build .ok (.result (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.var 4)])) (.build .error (.result (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])])) (.build .error (.result (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])])))) }, + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLe [(.field (.var 0) 0), (.value .nat (.nat 64))]) }, + { parameters := [0, 1], types := [(.adt 0), .nat], result := .bool, + body := (.prim .natLe [(.var 1), (.value .nat (.nat 16))]) }, + { parameters := [0, 1], types := [(.adt 0), .nat], result := (.pair (.adt 0) .nat), + body := (.call 4 [(.var 0), (.var 1)]) }, + { parameters := [0, 1], types := [(.adt 0), .nat], result := (.pair (.adt 0) .nat), + body := (.«let» 2 .nat (.prim .natAdd [(.field (.var 0) 0), (.var 1)]) (.build .pair (.pair (.adt 0) .nat) [(.build (.adt 0) (.adt 0) [(.prim .natSub [(.var 2), (.prim .natSub [(.var 2), (.value .nat (.nat 64))])]), (.prim .natAdd [(.field (.var 0) 1), (.value .nat (.nat 1))])]), (.prim .natSub [(.var 2), (.value .nat (.nat 64))])])) }] } + +def __enc_0 (__s : (Models.Session.Window)) : _root_.LexLeanTarget.TargetSyntax.Value := + _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).used), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).items)] + +def __fits_1 (window : (Models.Session.Window)) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_1 (window : (Models.Session.Window)) : _root_.LexLeanPreservation.FunRel __prog 1 [(__enc_0 window)] (_root_.LexLeanPreservation.Rel (__fits_1 window) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Session.boundedCheck window))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe (window).used (64 : Nat))) + +def __fits_2 (window : (Models.Session.Window)) (cost : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_2 (window : (Models.Session.Window)) (cost : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(__enc_0 window), (_root_.LexLeanTarget.TargetSyntax.Value.nat cost)] (_root_.LexLeanPreservation.Rel (__fits_2 window cost) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Session.affordableCheck window cost))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe cost (16 : Nat))) + +def __fits_4 (window : (Models.Session.Window)) (cost : Nat) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((window).used + cost) 18446744073709551616)) && (let total : Nat := ((window).used + cost); ((((((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((window).items + (1 : Nat)) 18446744073709551616)) && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) + +theorem __rel_4 (window : (Models.Session.Window)) (cost : Nat) : _root_.LexLeanPreservation.FunRel __prog 4 [(__enc_0 window), (_root_.LexLeanTarget.TargetSyntax.Value.nat cost)] (_root_.LexLeanPreservation.Rel (__fits_4 window cost) ((_root_.LexLeanPreservation.encPair __enc_0 _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Session.SessionStep window cost))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (let total : Nat := ((window).used + cost); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (window).used cost)) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub total (64 : Nat))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub total (_root_.LexLeanRuntime.subtract (total) ((64 : Nat)) : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (window).items (1 : Nat))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub total (64 : Nat))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair)) + +def __fits_3 (_ystate : (Models.Session.Window)) (_yinput : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && (__fits_4 (_ystate) (_yinput))) + +attribute [local irreducible] Models.Session.SessionStep in +theorem __rel_3 (_ystate : (Models.Session.Window)) (_yinput : Nat) : _root_.LexLeanPreservation.FunRel __prog 3 [(__enc_0 _ystate), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yinput)] (_root_.LexLeanPreservation.Rel (__fits_3 _ystate _yinput) ((_root_.LexLeanPreservation.encPair __enc_0 _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Session.SessionModel _ystate _yinput))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_4 (_ystate) (_yinput))) + +def __fits_0 (window : (Models.Session.Window)) (cost : Nat) : Bool := + (Bool.true && (let _ychecked1_state : (Models.Session.Window) := window; (Bool.true && (let _ychecked1_input : Nat := cost; (((Bool.true && Bool.true) && (__fits_1 (_ychecked1_state))) && (if (Models.Session.boundedCheck (_ychecked1_state)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_2 (_ychecked1_state) (_ychecked1_input))) && (if (Models.Session.affordableCheck (_ychecked1_state) (_ychecked1_input)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (_ychecked1_state) (_ychecked1_input))) && (let _ychecked1_step : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel (_ychecked1_state) (_ychecked1_input)); ((Bool.true && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))))) + +attribute [local irreducible] Models.Session.SessionModel Models.Session.affordableCheck Models.Session.boundedCheck in +theorem __rel_0 (window : (Models.Session.Window)) (cost : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(__enc_0 window), (_root_.LexLeanTarget.TargetSyntax.Value.nat cost)] (_root_.LexLeanPreservation.Rel (__fits_0 window cost) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair __enc_0 _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Models.Main.step window cost))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (let _ychecked1_state : (Models.Session.Window) := window; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_var rfl) (let _ychecked1_input : Nat := cost; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && (Bool.true && Bool.true)) && (__fits_2 (_ychecked1_state) (_ychecked1_input))) && (if (Models.Session.affordableCheck (_ychecked1_state) (_ychecked1_input)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (_ychecked1_state) (_ychecked1_input))) && (let _ychecked1_step : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel (_ychecked1_state) (_ychecked1_input)); ((Bool.true && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair __enc_0 _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (if (Models.Session.affordableCheck (_ychecked1_state) (_ychecked1_input)) then (let _ychecked1_step : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel (_ychecked1_state) (_ychecked1_input)); (Except.ok (_ychecked1_step) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) Nat)))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) Nat)))) else (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) Nat))))) (Models.Session.boundedCheck (_ychecked1_state)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (_ychecked1_state))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (_ychecked1_state) (_ychecked1_input))) && (let _ychecked1_step : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel (_ychecked1_state) (_ychecked1_input)); ((Bool.true && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair __enc_0 _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (let _ychecked1_step : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel (_ychecked1_state) (_ychecked1_input)); (Except.ok (_ychecked1_step) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) Nat)))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) Nat))))) (Models.Session.affordableCheck (_ychecked1_state) (_ychecked1_input)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_2 (_ychecked1_state) (_ychecked1_input))) (fun _ => (let _ychecked1_step : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel (_ychecked1_state) (_ychecked1_input)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_3 (_ychecked1_state) (_ychecked1_input))) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))) + +def denote (window : (Models.Session.Window)) (cost : Nat) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 window cost) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair __enc_0 _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Models.Main.step window cost)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (window : (Models.Session.Window)) (cost : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(__enc_0 window), (_root_.LexLeanTarget.TargetSyntax.Value.nat cost)] (_root_.LexLeanPreservation.Rel (__fits_0 window cost) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair __enc_0 _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Models.Main.step window cost))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 window cost) + +end LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4 diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R4/Compose/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R4/Compose/RustStd.lean new file mode 100644 index 000000000..f7e8b3b40 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R4/Compose/RustStd.lean @@ -0,0 +1,19 @@ +import LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4 +import LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.Compose.RustStd + +theorem __wt_0 : ∀ (__s : (Models.Session.Window)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.RustStd.program _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.RustStd.krate _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.RustStd.flags (_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.__enc_0 __s) (.adt 0) := + fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).used) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).items) _root_.LexLeanPreservation.Rust.wtl_nil)) + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (window : (Models.Session.Window)) (cost : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.__enc_0 window), (_root_.LexLeanTarget.TargetSyntax.Value.nat cost)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.denote window cost) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.__enc_0 window), (_root_.LexLeanTarget.TargetSyntax.Value.nat cost)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 window) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat cost) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.root window cost) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.Compose.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R4/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R4/RustStd.lean new file mode 100644 index 000000000..e5b882710 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R4/RustStd.lean @@ -0,0 +1,66 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [{ constructors := [[.nat, .nat]] }], functions := [ + { parameters := [0, 1], types := [(.adt 0), .nat], result := (.result (.pair (.adt 0) .nat) (.pair .bool .bool)), + body := (.«let» 2 (.adt 0) (.var 0) (.«let» 3 .nat (.var 1) (.cond (.call 1 [(.var 2)]) (.cond (.call 2 [(.var 2), (.var 3)]) (.«let» 4 (.pair (.adt 0) .nat) (.call 3 [(.var 2), (.var 3)]) (.build .ok (.result (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.var 4)])) (.build .error (.result (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])])) (.build .error (.result (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])])))) }, + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLe [(.field (.var 0) 0), (.value .nat (.nat 64))]) }, + { parameters := [0, 1], types := [(.adt 0), .nat], result := .bool, + body := (.prim .natLe [(.var 1), (.value .nat (.nat 16))]) }, + { parameters := [0, 1], types := [(.adt 0), .nat], result := (.pair (.adt 0) .nat), + body := (.call 4 [(.var 0), (.var 1)]) }, + { parameters := [0, 1], types := [(.adt 0), .nat], result := (.pair (.adt 0) .nat), + body := (.«let» 2 .nat (.prim .natAdd [(.field (.var 0) 0), (.var 1)]) (.build .pair (.pair (.adt 0) .nat) [(.build (.adt 0) (.adt 0) [(.prim .natSub [(.var 2), (.prim .natSub [(.var 2), (.value .nat (.nat 64))])]), (.prim .natAdd [(.field (.var 0) 1), (.value .nat (.nat 1))])]), (.prim .natSub [(.var 2), (.value .nat (.nat 64))])])) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.enum (.adt 0) [{ number := 0, fields := [.nat, .nat] }]), + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.result (.pair (.adt 0) .nat) (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 2)) (some (.adt 0)) (.move (.generated .binding 0))), (.mk (.bind (.generated .binding 3)) (some .nat) (.copy (.generated .binding 1)))] (.cond (.call (.function 1) [(.clone (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 2) [(.clone (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair (.adt 0) .nat)) (.call (.function 3) [(.move (.generated .binding 2)), (.copy (.generated .binding 3))] true))] (.succeed (.construct (.ok (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.move (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))) (.mk [] (.succeed (.construct (.err (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])))))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 2)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 1)), .wild]) (.mk [] (.move (.generated .part 1))))])), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 64)))] (.call (.runtime .natLe) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] false))), + (.function (.generated .function 2) [{ pattern := .wild, type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 16)))] (.call (.runtime .natLe) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))), + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair (.adt 0) .nat)) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] false))), + (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair (.adt 0) .nat)) (.mk [(.mk (.bind (.generated .binding 2)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 6)), .wild]) (.mk [] (.move (.generated .part 6))))])), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] true))))] (.succeed (.pair (.construct (.adt 0 0) [(.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 12)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 64)))] (.call (.runtime .natSub) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))] (.call (.runtime .natSub) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))), (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 13))]) (.mk [] (.move (.generated .part 13))))])), (.mk (.bind (.generated .operand 15)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] true)))]) (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 17)) none (.lit (.nat 64)))] (.call (.runtime .natSub) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false)))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some (.adt 0)) (.move (.generated .binding 0))), (.mk (.bind (.generated .binding 3)) (some .nat) (.copy (.generated .binding 1)))], (.cond (.call (.function 1) [(.clone (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 2) [(.clone (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair (.adt 0) .nat)) (.call (.function 3) [(.move (.generated .binding 2)), (.copy (.generated .binding 3))] true))] (.succeed (.construct (.ok (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.move (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))) (.mk [] (.succeed (.construct (.err (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])))), [(1, .nat, (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, + (Corr.letBind (Corr.var rfl rfl) rfl (Corr.letBind (Corr.var rfl rfl) rfl (Corr.cond (lc := []) (ce := (.call (.function 1) [(.clone (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 2) [(.clone (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair (.adt 0) .nat)) (.call (.function 3) [(.move (.generated .binding 2)), (.copy (.generated .binding 3))] true))] (.succeed (.construct (.ok (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.move (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))) (lb := []) (tb := (.succeed (.construct (.err (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))) (Corr.cond (lc := []) (ce := (.call (.function 2) [(.clone (.generated .binding 2)), (.copy (.generated .binding 3))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .binding 4)) (some (.pair (.adt 0) .nat)) (.call (.function 3) [(.move (.generated .binding 2)), (.copy (.generated .binding 3))] true))]) (ta := (.succeed (.construct (.ok (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.move (.generated .binding 4))]))) (lb := []) (tb := (.succeed (.construct (.err (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))) (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl (Corr.fOfB (Corr.build (ts := [(.pair (.adt 0) .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl))))))⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 2)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 1)), .wild]) (.mk [] (.move (.generated .part 1))))])), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 64)))], (.call (.runtime .natLe) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat]) (rd := (.move (.generated .part 1))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 16)))], (.call (.runtime .natLe) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false), [(1, .nat, (some 1)), (0, (.adt 0), none)], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] false), [(1, .nat, (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, + (Corr.callF (ts := [(.adt 0), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)⟩⟩ + +theorem fun4 : FunOK program krate flags 4 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 6)), .wild]) (.mk [] (.move (.generated .part 6))))])), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] true))))], (.succeed (.pair (.construct (.adt 0 0) [(.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 12)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 64)))] (.call (.runtime .natSub) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))] (.call (.runtime .natSub) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))), (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 13))]) (.mk [] (.move (.generated .part 13))))])), (.mk (.bind (.generated .operand 15)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] true)))]) (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 17)) none (.lit (.nat 64)))] (.call (.runtime .natSub) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))), [(1, .nat, (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, + (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 7)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 6)), .wild]) (.mk [] (.move (.generated .part 6))))])), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat]) (rd := (.move (.generated .part 6))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 12)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 64)))] (.call (.runtime .natSub) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 64)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 14)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 13))]) (.mk [] (.move (.generated .part 13))))])), (.mk (.bind (.generated .operand 15)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat]) (rd := (.move (.generated .part 13))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 17)) none (.lit (.nat 64)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | 4 => exact fun4 + | _ + 5 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R5.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R5.lean new file mode 100644 index 000000000..4aabc7fb4 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R5.lean @@ -0,0 +1,75 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Models.Flows +import Models.Glyphs +import Models.Ledger +import Models.Main +import Models.Pipeline +import Models.Policy +import Models.Recognizer +import Models.Session +import Models.Triage +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [.nat, .nat], result := (.result (.pair .nat .nat) (.pair .bool .bool)), + body := (.«let» 2 .nat (.var 0) (.«let» 3 .nat (.var 1) (.cond (.call 1 [(.var 2)]) (.cond (.call 2 [(.var 2), (.var 3)]) (.«let» 4 (.pair .nat .nat) (.call 3 [(.var 2), (.var 3)]) (.cond (.call 1 [(.first (.var 4))]) (.build .ok (.result (.pair .nat .nat) (.pair .bool .bool)) [(.var 4)]) (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .true .bool [])])]))) (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])])) (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])])))) }, + { parameters := [0], types := [.nat], result := .bool, + body := (.prim .natLe [(.var 0), (.value .nat (.nat 100))]) }, + { parameters := [0, 1], types := [.nat, .nat], result := .bool, + body := (.prim .natLe [(.var 1), (.value .nat (.nat 10))]) }, + { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat .nat), + body := (.call 4 [(.var 0), (.var 1)]) }, + { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat .nat), + body := (.build .pair (.pair .nat .nat) [(.prim .natAdd [(.var 0), (.var 1)]), (.var 1)]) }] } + +def __fits_1 (s : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_1 (s : Nat) : _root_.LexLeanPreservation.FunRel __prog 1 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s)] (_root_.LexLeanPreservation.Rel (__fits_1 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Ledger.cappedCheck s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe s (100 : Nat))) + +def __fits_2 (s : Nat) (x : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_2 (s : Nat) (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_2 s x) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Ledger.smallCheck s x))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe x (10 : Nat))) + +def __fits_4 (s : Nat) (x : Nat) : Bool := + ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (s + x) 18446744073709551616)) && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_4 (s : Nat) (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 4 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_4 s x) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Ledger.Spill s x))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd s x)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) + +def __fits_3 (_ystate : Nat) (_yinput : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && (__fits_4 (_ystate) (_yinput))) + +attribute [local irreducible] Models.Ledger.Spill in +theorem __rel_3 (_ystate : Nat) (_yinput : Nat) : _root_.LexLeanPreservation.FunRel __prog 3 [(_root_.LexLeanTarget.TargetSyntax.Value.nat _ystate), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yinput)] (_root_.LexLeanPreservation.Rel (__fits_3 _ystate _yinput) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Ledger.SpillModel _ystate _yinput))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_4 (_ystate) (_yinput))) + +def __fits_0 (s : Nat) (x : Nat) : Bool := + (Bool.true && (let _ychecked1_state : Nat := s; (Bool.true && (let _ychecked1_input : Nat := x; (((Bool.true && Bool.true) && (__fits_1 (_ychecked1_state))) && (if (Models.Ledger.cappedCheck (_ychecked1_state)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_2 (_ychecked1_state) (_ychecked1_input))) && (if (Models.Ledger.smallCheck (_ychecked1_state) (_ychecked1_input)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (_ychecked1_state) (_ychecked1_input))) && (let _ychecked1_step : (Prod Nat Nat) := (Models.Ledger.SpillModel (_ychecked1_state) (_ychecked1_input)); (((Bool.true && Bool.true) && (__fits_1 ((_ychecked1_step).1))) && (if (Models.Ledger.cappedCheck ((_ychecked1_step).1)) then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))))) + +attribute [local irreducible] Models.Ledger.SpillModel Models.Ledger.cappedCheck Models.Ledger.smallCheck in +theorem __rel_0 (s : Nat) (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_0 s x) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Models.Main.ledgerPost s x))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (let _ychecked1_state : Nat := s; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_var rfl) (let _ychecked1_input : Nat := x; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && (Bool.true && Bool.true)) && (__fits_2 (_ychecked1_state) (_ychecked1_input))) && (if (Models.Ledger.smallCheck (_ychecked1_state) (_ychecked1_input)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (_ychecked1_state) (_ychecked1_input))) && (let _ychecked1_step : (Prod Nat Nat) := (Models.Ledger.SpillModel (_ychecked1_state) (_ychecked1_input)); (((Bool.true && Bool.true) && (__fits_1 ((_ychecked1_step).1))) && (if (Models.Ledger.cappedCheck ((_ychecked1_step).1)) then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (if (Models.Ledger.smallCheck (_ychecked1_state) (_ychecked1_input)) then (let _ychecked1_step : (Prod Nat Nat) := (Models.Ledger.SpillModel (_ychecked1_state) (_ychecked1_input)); (if (Models.Ledger.cappedCheck ((_ychecked1_step).1)) then (Except.ok (_ychecked1_step) : (Except (Prod Bool Bool) (Prod Nat Nat))) else (Except.error (((Bool.true, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat))))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat)))) else (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat))))) (Models.Ledger.cappedCheck (_ychecked1_state)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (_ychecked1_state))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (_ychecked1_state) (_ychecked1_input))) && (let _ychecked1_step : (Prod Nat Nat) := (Models.Ledger.SpillModel (_ychecked1_state) (_ychecked1_input)); (((Bool.true && Bool.true) && (__fits_1 ((_ychecked1_step).1))) && (if (Models.Ledger.cappedCheck ((_ychecked1_step).1)) then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (let _ychecked1_step : (Prod Nat Nat) := (Models.Ledger.SpillModel (_ychecked1_state) (_ychecked1_input)); (if (Models.Ledger.cappedCheck ((_ychecked1_step).1)) then (Except.ok (_ychecked1_step) : (Except (Prod Bool Bool) (Prod Nat Nat))) else (Except.error (((Bool.true, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat))))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat))))) (Models.Ledger.smallCheck (_ychecked1_state) (_ychecked1_input)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_2 (_ychecked1_state) (_ychecked1_input))) (fun _ => (let _ychecked1_step : (Prod Nat Nat) := (Models.Ledger.SpillModel (_ychecked1_state) (_ychecked1_input)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_3 (_ychecked1_state) (_ychecked1_input))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (Except.ok (_ychecked1_step) : (Except (Prod Bool Bool) (Prod Nat Nat))) else (Except.error (((Bool.true, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat))))) (Models.Ledger.cappedCheck ((_ychecked1_step).1)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil) (__rel_1 ((_ychecked1_step).1))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))) + +def denote (s : Nat) (x : Nat) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 s x) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Models.Main.ledgerPost s x)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (s : Nat) (x : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_0 s x) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Models.Main.ledgerPost s x))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 s x) + +end LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5 diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R5/Compose/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R5/Compose/RustStd.lean new file mode 100644 index 000000000..d687dc230 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R5/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5 +import LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.Compose.RustStd + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (s : Nat) (x : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.denote s x) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat s) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat x) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.root s x) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.Compose.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R5/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R5/RustStd.lean new file mode 100644 index 000000000..2d1149bb8 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R5/RustStd.lean @@ -0,0 +1,65 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [.nat, .nat], result := (.result (.pair .nat .nat) (.pair .bool .bool)), + body := (.«let» 2 .nat (.var 0) (.«let» 3 .nat (.var 1) (.cond (.call 1 [(.var 2)]) (.cond (.call 2 [(.var 2), (.var 3)]) (.«let» 4 (.pair .nat .nat) (.call 3 [(.var 2), (.var 3)]) (.cond (.call 1 [(.first (.var 4))]) (.build .ok (.result (.pair .nat .nat) (.pair .bool .bool)) [(.var 4)]) (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .true .bool [])])]))) (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])])) (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])])))) }, + { parameters := [0], types := [.nat], result := .bool, + body := (.prim .natLe [(.var 0), (.value .nat (.nat 100))]) }, + { parameters := [0, 1], types := [.nat, .nat], result := .bool, + body := (.prim .natLe [(.var 1), (.value .nat (.nat 10))]) }, + { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat .nat), + body := (.call 4 [(.var 0), (.var 1)]) }, + { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat .nat), + body := (.build .pair (.pair .nat .nat) [(.prim .natAdd [(.var 0), (.var 1)]), (.var 1)]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.result (.pair .nat .nat) (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 2)) (some .nat) (.copy (.generated .binding 0))), (.mk (.bind (.generated .binding 3)) (some .nat) (.copy (.generated .binding 1)))] (.cond (.call (.function 1) [(.copy (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair .nat .nat)) (.call (.function 3) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] true))] (.cond (.call (.function 1) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 1))))] false) (.mk [] (.succeed (.construct (.ok (.pair .nat .nat) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool true)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])))))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 100)))] (.call (.runtime .natLe) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] false))), + (.function (.generated .function 2) [{ pattern := .wild, type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 10)))] (.call (.runtime .natLe) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))), + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair .nat .nat)) (.mk [] (.call (.function 4) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false))), + (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair .nat .nat)) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] true))) (.copy (.generated .binding 1))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some .nat) (.copy (.generated .binding 0))), (.mk (.bind (.generated .binding 3)) (some .nat) (.copy (.generated .binding 1)))], (.cond (.call (.function 1) [(.copy (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair .nat .nat)) (.call (.function 3) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] true))] (.cond (.call (.function 1) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 1))))] false) (.mk [] (.succeed (.construct (.ok (.pair .nat .nat) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool true)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.letBind (Corr.var rfl rfl) rfl (Corr.letBind (Corr.var rfl rfl) rfl (Corr.cond (lc := []) (ce := (.call (.function 1) [(.copy (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair .nat .nat)) (.call (.function 3) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] true))] (.cond (.call (.function 1) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 1))))] false) (.mk [] (.succeed (.construct (.ok (.pair .nat .nat) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool true)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))) (lb := []) (tb := (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))) (Corr.cond (lc := []) (ce := (.call (.function 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] false)) (lk := []) (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .binding 4)) (some (.pair .nat .nat)) (.call (.function 3) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] true))]) (ta := (.cond (.call (.function 1) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 1))))] false) (.mk [] (.succeed (.construct (.ok (.pair .nat .nat) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool true)))]))))) (lb := []) (tb := (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))) (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl (Corr.cond (lc := []) (ce := (.call (.function 1) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 1))))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))]) (tail := (.move (.generated .part 1))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct (.ok (.pair .nat .nat) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (lb := []) (tb := (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool true)))]))) (Corr.fOfB (Corr.build (ts := [(.pair .nat .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl))))) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl))))))⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 100)))], (.call (.runtime .natLe) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] false), [(0, .nat, (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 10)))], (.call (.runtime .natLe) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false), [(1, .nat, (some 1)), (0, .nat, none)], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 4) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.callF (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)⟩⟩ + +theorem fun4 : FunOK program krate flags 4 := + ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] true))) (.copy (.generated .binding 1)))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | 4 => exact fun4 + | _ + 5 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R6.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R6.lean new file mode 100644 index 000000000..3e9ce2706 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R6.lean @@ -0,0 +1,83 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Models.Flows +import Models.Glyphs +import Models.Ledger +import Models.Main +import Models.Pipeline +import Models.Policy +import Models.Recognizer +import Models.Session +import Models.Triage +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [.nat, .nat], result := (.result (.pair .nat .nat) (.pair .bool .bool)), + body := (.«let» 2 .nat (.var 0) (.«let» 3 .nat (.var 1) (.cond (.call 1 [(.var 2)]) (.cond (.call 2 [(.var 2), (.var 3)]) (.«let» 4 (.pair .nat .nat) (.call 3 [(.var 2), (.var 3)]) (.cond (.call 1 [(.first (.var 4))]) (.cond (.call 4 [(.var 2), (.var 3), (.first (.var 4)), (.second (.var 4))]) (.build .ok (.result (.pair .nat .nat) (.pair .bool .bool)) [(.var 4)]) (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])) (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .true .bool [])])]))) (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])])) (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])])))) }, + { parameters := [0], types := [.nat], result := .bool, + body := (.prim .natLe [(.var 0), (.value .nat (.nat 100))]) }, + { parameters := [0, 1], types := [.nat, .nat], result := .bool, + body := (.prim .natLe [(.var 1), (.value .nat (.nat 10))]) }, + { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat .nat), + body := (.call 5 [(.var 0), (.var 1)]) }, + { parameters := [0, 1, 2, 3], types := [.nat, .nat, .nat, .nat], result := .bool, + body := (.prim .natLe [(.var 0), (.var 2)]) }, + { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat .nat), + body := (.build .pair (.pair .nat .nat) [(.prim .natAdd [(.var 0), (.var 1)]), (.var 1)]) }] } + +def __fits_1 (s : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_1 (s : Nat) : _root_.LexLeanPreservation.FunRel __prog 1 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s)] (_root_.LexLeanPreservation.Rel (__fits_1 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Ledger.cappedCheck s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe s (100 : Nat))) + +def __fits_2 (s : Nat) (x : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_2 (s : Nat) (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_2 s x) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Ledger.smallCheck s x))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe x (10 : Nat))) + +def __fits_5 (s : Nat) (x : Nat) : Bool := + ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (s + x) 18446744073709551616)) && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_5 (s : Nat) (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 5 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_5 s x) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Ledger.Spill s x))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd s x)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) + +def __fits_3 (_ystate : Nat) (_yinput : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && (__fits_5 (_ystate) (_yinput))) + +attribute [local irreducible] Models.Ledger.Spill in +theorem __rel_3 (_ystate : Nat) (_yinput : Nat) : _root_.LexLeanPreservation.FunRel __prog 3 [(_root_.LexLeanTarget.TargetSyntax.Value.nat _ystate), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yinput)] (_root_.LexLeanPreservation.Rel (__fits_3 _ystate _yinput) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Ledger.SpillRawModel _ystate _yinput))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_5 (_ystate) (_yinput))) + +def __fits_4 (s : Nat) (x : Nat) (t : Nat) (y : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_4 (s : Nat) (x : Nat) (t : Nat) (y : Nat) : _root_.LexLeanPreservation.FunRel __prog 4 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x), (_root_.LexLeanTarget.TargetSyntax.Value.nat t), (_root_.LexLeanTarget.TargetSyntax.Value.nat y)] (_root_.LexLeanPreservation.Rel (__fits_4 s x t y) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Ledger.growsCheck s x t y))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe s t)) + +def __fits_0 (s : Nat) (x : Nat) : Bool := + (Bool.true && (let _ychecked1_state : Nat := s; (Bool.true && (let _ychecked1_input : Nat := x; (((Bool.true && Bool.true) && (__fits_1 (_ychecked1_state))) && (if (Models.Ledger.cappedCheck (_ychecked1_state)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_2 (_ychecked1_state) (_ychecked1_input))) && (if (Models.Ledger.smallCheck (_ychecked1_state) (_ychecked1_input)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (_ychecked1_state) (_ychecked1_input))) && (let _ychecked1_step : (Prod Nat Nat) := (Models.Ledger.SpillRawModel (_ychecked1_state) (_ychecked1_input)); (((Bool.true && Bool.true) && (__fits_1 ((_ychecked1_step).1))) && (if (Models.Ledger.cappedCheck ((_ychecked1_step).1)) then (((Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true)))) && (__fits_4 (_ychecked1_state) (_ychecked1_input) ((_ychecked1_step).1) ((_ychecked1_step).2))) && (if (Models.Ledger.growsCheck (_ychecked1_state) (_ychecked1_input) ((_ychecked1_step).1) ((_ychecked1_step).2)) then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))))) + +attribute [local irreducible] Models.Ledger.SpillRawModel Models.Ledger.cappedCheck Models.Ledger.growsCheck Models.Ledger.smallCheck in +theorem __rel_0 (s : Nat) (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_0 s x) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Models.Main.ledgerFull s x))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (let _ychecked1_state : Nat := s; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_var rfl) (let _ychecked1_input : Nat := x; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && (Bool.true && Bool.true)) && (__fits_2 (_ychecked1_state) (_ychecked1_input))) && (if (Models.Ledger.smallCheck (_ychecked1_state) (_ychecked1_input)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (_ychecked1_state) (_ychecked1_input))) && (let _ychecked1_step : (Prod Nat Nat) := (Models.Ledger.SpillRawModel (_ychecked1_state) (_ychecked1_input)); (((Bool.true && Bool.true) && (__fits_1 ((_ychecked1_step).1))) && (if (Models.Ledger.cappedCheck ((_ychecked1_step).1)) then (((Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true)))) && (__fits_4 (_ychecked1_state) (_ychecked1_input) ((_ychecked1_step).1) ((_ychecked1_step).2))) && (if (Models.Ledger.growsCheck (_ychecked1_state) (_ychecked1_input) ((_ychecked1_step).1) ((_ychecked1_step).2)) then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (if (Models.Ledger.smallCheck (_ychecked1_state) (_ychecked1_input)) then (let _ychecked1_step : (Prod Nat Nat) := (Models.Ledger.SpillRawModel (_ychecked1_state) (_ychecked1_input)); (if (Models.Ledger.cappedCheck ((_ychecked1_step).1)) then (if (Models.Ledger.growsCheck (_ychecked1_state) (_ychecked1_input) ((_ychecked1_step).1) ((_ychecked1_step).2)) then (Except.ok (_ychecked1_step) : (Except (Prod Bool Bool) (Prod Nat Nat))) else (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat)))) else (Except.error (((Bool.true, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat))))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat)))) else (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat))))) (Models.Ledger.cappedCheck (_ychecked1_state)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (_ychecked1_state))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (_ychecked1_state) (_ychecked1_input))) && (let _ychecked1_step : (Prod Nat Nat) := (Models.Ledger.SpillRawModel (_ychecked1_state) (_ychecked1_input)); (((Bool.true && Bool.true) && (__fits_1 ((_ychecked1_step).1))) && (if (Models.Ledger.cappedCheck ((_ychecked1_step).1)) then (((Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true)))) && (__fits_4 (_ychecked1_state) (_ychecked1_input) ((_ychecked1_step).1) ((_ychecked1_step).2))) && (if (Models.Ledger.growsCheck (_ychecked1_state) (_ychecked1_input) ((_ychecked1_step).1) ((_ychecked1_step).2)) then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (let _ychecked1_step : (Prod Nat Nat) := (Models.Ledger.SpillRawModel (_ychecked1_state) (_ychecked1_input)); (if (Models.Ledger.cappedCheck ((_ychecked1_step).1)) then (if (Models.Ledger.growsCheck (_ychecked1_state) (_ychecked1_input) ((_ychecked1_step).1) ((_ychecked1_step).2)) then (Except.ok (_ychecked1_step) : (Except (Prod Bool Bool) (Prod Nat Nat))) else (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat)))) else (Except.error (((Bool.true, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat))))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat))))) (Models.Ledger.smallCheck (_ychecked1_state) (_ychecked1_input)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_2 (_ychecked1_state) (_ychecked1_input))) (fun _ => (let _ychecked1_step : (Prod Nat Nat) := (Models.Ledger.SpillRawModel (_ychecked1_state) (_ychecked1_input)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_3 (_ychecked1_state) (_ychecked1_input))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true)))) && (__fits_4 (_ychecked1_state) (_ychecked1_input) ((_ychecked1_step).1) ((_ychecked1_step).2))) && (if (Models.Ledger.growsCheck (_ychecked1_state) (_ychecked1_input) ((_ychecked1_step).1) ((_ychecked1_step).2)) then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (if (Models.Ledger.growsCheck (_ychecked1_state) (_ychecked1_input) ((_ychecked1_step).1) ((_ychecked1_step).2)) then (Except.ok (_ychecked1_step) : (Except (Prod Bool Bool) (Prod Nat Nat))) else (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat)))) else (Except.error (((Bool.true, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat))))) (Models.Ledger.cappedCheck ((_ychecked1_step).1)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil) (__rel_1 ((_ychecked1_step).1))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (Except.ok (_ychecked1_step) : (Except (Prod Bool Bool) (Prod Nat Nat))) else (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat))))) (Models.Ledger.growsCheck (_ychecked1_state) (_ychecked1_input) ((_ychecked1_step).1) ((_ychecked1_step).2)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)))) (__rel_4 (_ychecked1_state) (_ychecked1_input) ((_ychecked1_step).1) ((_ychecked1_step).2))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))) + +def denote (s : Nat) (x : Nat) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 s x) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Models.Main.ledgerFull s x)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (s : Nat) (x : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_0 s x) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Models.Main.ledgerFull s x))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 s x) + +end LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6 diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R6/Compose/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R6/Compose/RustStd.lean new file mode 100644 index 000000000..d37605098 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R6/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6 +import LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.Compose.RustStd + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (s : Nat) (x : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.denote s x) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat s) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat x) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.root s x) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.Compose.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R6/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R6/RustStd.lean new file mode 100644 index 000000000..7734f86a8 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R6/RustStd.lean @@ -0,0 +1,73 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [.nat, .nat], result := (.result (.pair .nat .nat) (.pair .bool .bool)), + body := (.«let» 2 .nat (.var 0) (.«let» 3 .nat (.var 1) (.cond (.call 1 [(.var 2)]) (.cond (.call 2 [(.var 2), (.var 3)]) (.«let» 4 (.pair .nat .nat) (.call 3 [(.var 2), (.var 3)]) (.cond (.call 1 [(.first (.var 4))]) (.cond (.call 4 [(.var 2), (.var 3), (.first (.var 4)), (.second (.var 4))]) (.build .ok (.result (.pair .nat .nat) (.pair .bool .bool)) [(.var 4)]) (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])) (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .true .bool [])])]))) (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])])) (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])])))) }, + { parameters := [0], types := [.nat], result := .bool, + body := (.prim .natLe [(.var 0), (.value .nat (.nat 100))]) }, + { parameters := [0, 1], types := [.nat, .nat], result := .bool, + body := (.prim .natLe [(.var 1), (.value .nat (.nat 10))]) }, + { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat .nat), + body := (.call 5 [(.var 0), (.var 1)]) }, + { parameters := [0, 1, 2, 3], types := [.nat, .nat, .nat, .nat], result := .bool, + body := (.prim .natLe [(.var 0), (.var 2)]) }, + { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat .nat), + body := (.build .pair (.pair .nat .nat) [(.prim .natAdd [(.var 0), (.var 1)]), (.var 1)]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.result (.pair .nat .nat) (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 2)) (some .nat) (.copy (.generated .binding 0))), (.mk (.bind (.generated .binding 3)) (some .nat) (.copy (.generated .binding 1)))] (.cond (.call (.function 1) [(.copy (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair .nat .nat)) (.call (.function 3) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] true))] (.cond (.call (.function 1) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 1))))] false) (.mk [] (.cond (.call (.function 4) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 2)))), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 3))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 3))))] false) (.mk [] (.succeed (.construct (.ok (.pair .nat .nat) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool true)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])))))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 100)))] (.call (.runtime .natLe) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))), + (.function (.generated .function 2) [{ pattern := .wild, type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.lit (.nat 10)))] (.call (.runtime .natLe) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false))), + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair .nat .nat)) (.mk [] (.call (.function 5) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false))), + (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := .wild, type := .nat }, { pattern := (.bind (.generated .binding 2)), type := .nat }, { pattern := .wild, type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 2)))] (.call (.runtime .natLe) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false))), + (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair .nat .nat)) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true))) (.copy (.generated .binding 1))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some .nat) (.copy (.generated .binding 0))), (.mk (.bind (.generated .binding 3)) (some .nat) (.copy (.generated .binding 1)))], (.cond (.call (.function 1) [(.copy (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair .nat .nat)) (.call (.function 3) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] true))] (.cond (.call (.function 1) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 1))))] false) (.mk [] (.cond (.call (.function 4) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 2)))), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 3))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 3))))] false) (.mk [] (.succeed (.construct (.ok (.pair .nat .nat) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool true)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.letBind (Corr.var rfl rfl) rfl (Corr.letBind (Corr.var rfl rfl) rfl (Corr.cond (lc := []) (ce := (.call (.function 1) [(.copy (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair .nat .nat)) (.call (.function 3) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] true))] (.cond (.call (.function 1) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 1))))] false) (.mk [] (.cond (.call (.function 4) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 2)))), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 3))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 3))))] false) (.mk [] (.succeed (.construct (.ok (.pair .nat .nat) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool true)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))) (lb := []) (tb := (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))) (Corr.cond (lc := []) (ce := (.call (.function 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] false)) (lk := []) (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .binding 4)) (some (.pair .nat .nat)) (.call (.function 3) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] true))]) (ta := (.cond (.call (.function 1) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 1))))] false) (.mk [] (.cond (.call (.function 4) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 2)))), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 3))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 3))))] false) (.mk [] (.succeed (.construct (.ok (.pair .nat .nat) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool true)))]))))) (lb := []) (tb := (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))) (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl (Corr.cond (lc := []) (ce := (.call (.function 1) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 1))))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))]) (tail := (.move (.generated .part 1))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 4) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 2)))), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 3))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 3))))] false) (.mk [] (.succeed (.construct (.ok (.pair .nat .nat) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))]))))) (lb := []) (tb := (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool true)))]))) (Corr.cond (lc := []) (ce := (.call (.function 4) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 2)))), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 3))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 3))))] false)) (lk := []) (Corr.callOps (ts := [.nat, .nat, .nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 4)))]) (tail := (.move (.generated .part 2))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 3))]) none (.copy (.generated .binding 4)))]) (tail := (.move (.generated .part 3))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil)))))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct (.ok (.pair .nat .nat) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (lb := []) (tb := (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))]))) (Corr.fOfB (Corr.build (ts := [(.pair .nat .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl))))) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl))))))⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 100)))], (.call (.runtime .natLe) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false), [(0, .nat, (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.lit (.nat 10)))], (.call (.runtime .natLe) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false), [(1, .nat, (some 1)), (0, .nat, none)], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 5) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.callF (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)⟩⟩ + +theorem fun4 : FunOK program krate flags 4 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 2)))], (.call (.runtime .natLe) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false), [(3, .nat, none), (2, .nat, (some 2)), (1, .nat, none), (0, .nat, (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun5 : FunOK program krate flags 5 := + ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true))) (.copy (.generated .binding 1)))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | 4 => exact fun4 + | 5 => exact fun5 + | _ + 6 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R7.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R7.lean new file mode 100644 index 000000000..55ae58bd9 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R7.lean @@ -0,0 +1,75 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Models.Flows +import Models.Glyphs +import Models.Ledger +import Models.Main +import Models.Pipeline +import Models.Policy +import Models.Recognizer +import Models.Session +import Models.Triage +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0], types := [.nat], result := (.result .nat (.pair .bool .bool)), + body := (.«let» 1 .nat (.var 0) (.cond (.call 1 [(.var 1)]) (.«let» 2 .nat (.call 2 [(.var 1)]) (.cond (.call 3 [(.var 1), (.var 2)]) (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)]) (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])]))) (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))) }, + { parameters := [0], types := [.nat], result := .bool, + body := (.prim .natLe [(.var 0), (.value .nat (.nat 10))]) }, + { parameters := [0], types := [.nat], result := .nat, + body := (.call 4 [(.var 0)]) }, + { parameters := [0, 1], types := [.nat, .nat], result := .bool, + body := (.prim .natLe [(.var 1), (.var 0)]) }, + { parameters := [0], types := [.nat], result := .nat, + body := (.prim .natSub [(.var 0), (.value .nat (.nat 1))]) }] } + +def __fits_1 (x : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_1 (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 1 [(_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_1 x) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Ledger.withinCheck x))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe x (10 : Nat))) + +def __fits_4 (x : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_4 (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 4 [(_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_4 x) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Ledger.Guess x))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub x (1 : Nat))) + +def __fits_2 (_yinput : Nat) : Bool := + ((Bool.true && Bool.true) && (__fits_4 (_yinput))) + +attribute [local irreducible] Models.Ledger.Guess in +theorem __rel_2 (_yinput : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat _yinput)] (_root_.LexLeanPreservation.Rel (__fits_2 _yinput) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Ledger.GuessModel _yinput))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_4 (_yinput))) + +def __fits_3 (x : Nat) (y : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_3 (x : Nat) (y : Nat) : _root_.LexLeanPreservation.FunRel __prog 3 [(_root_.LexLeanTarget.TargetSyntax.Value.nat x), (_root_.LexLeanTarget.TargetSyntax.Value.nat y)] (_root_.LexLeanPreservation.Rel (__fits_3 x y) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Ledger.belowCheck x y))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe y x)) + +def __fits_0 (x : Nat) : Bool := + (Bool.true && (let _ychecked1_input : Nat := x; (((Bool.true && Bool.true) && (__fits_1 (_ychecked1_input))) && (if (Models.Ledger.withinCheck (_ychecked1_input)) then (((Bool.true && Bool.true) && (__fits_2 (_ychecked1_input))) && (let _ychecked1_output : Nat := (Models.Ledger.GuessModel (_ychecked1_input)); (((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (_ychecked1_input) (_ychecked1_output))) && (if (Models.Ledger.belowCheck (_ychecked1_input) (_ychecked1_output)) then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) + +attribute [local irreducible] Models.Ledger.GuessModel Models.Ledger.belowCheck Models.Ledger.withinCheck in +theorem __rel_0 (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_0 x) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Main.guessChecked x))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (let _ychecked1_input : Nat := x; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && (__fits_2 (_ychecked1_input))) && (let _ychecked1_output : Nat := (Models.Ledger.GuessModel (_ychecked1_input)); (((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (_ychecked1_input) (_ychecked1_output))) && (if (Models.Ledger.belowCheck (_ychecked1_input) (_ychecked1_output)) then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then (let _ychecked1_output : Nat := (Models.Ledger.GuessModel (_ychecked1_input)); (if (Models.Ledger.belowCheck (_ychecked1_input) (_ychecked1_output)) then (Except.ok (_ychecked1_output) : (Except (Prod Bool Bool) Nat)) else (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)))) (Models.Ledger.withinCheck (_ychecked1_input)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (_ychecked1_input))) (fun _ => (let _ychecked1_output : Nat := (Models.Ledger.GuessModel (_ychecked1_input)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_2 (_ychecked1_input))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then (Except.ok (_ychecked1_output) : (Except (Prod Bool Bool) Nat)) else (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)))) (Models.Ledger.belowCheck (_ychecked1_input) (_ychecked1_output)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_3 (_ychecked1_input) (_ychecked1_output))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))) + +def denote (x : Nat) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 x) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Main.guessChecked x)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (x : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_0 x) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Main.guessChecked x))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 x) + +end LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7 diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R7/Compose/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R7/Compose/RustStd.lean new file mode 100644 index 000000000..ff8ef2023 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R7/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7 +import LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.Compose.RustStd + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (x : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat x)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.denote x) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat x)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat x) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.root x) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.Compose.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R7/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R7/RustStd.lean new file mode 100644 index 000000000..a5b799271 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R7/RustStd.lean @@ -0,0 +1,65 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0], types := [.nat], result := (.result .nat (.pair .bool .bool)), + body := (.«let» 1 .nat (.var 0) (.cond (.call 1 [(.var 1)]) (.«let» 2 .nat (.call 2 [(.var 1)]) (.cond (.call 3 [(.var 1), (.var 2)]) (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)]) (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])]))) (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))) }, + { parameters := [0], types := [.nat], result := .bool, + body := (.prim .natLe [(.var 0), (.value .nat (.nat 10))]) }, + { parameters := [0], types := [.nat], result := .nat, + body := (.call 4 [(.var 0)]) }, + { parameters := [0, 1], types := [.nat, .nat], result := .bool, + body := (.prim .natLe [(.var 1), (.var 0)]) }, + { parameters := [0], types := [.nat], result := .nat, + body := (.prim .natSub [(.var 0), (.value .nat (.nat 1))]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.result .nat (.pair .bool .bool)) (.mk [(.mk (.bind (.generated .binding 1)) (some .nat) (.copy (.generated .binding 0)))] (.cond (.call (.function 1) [(.copy (.generated .binding 1))] false) (.mk [(.mk (.bind (.generated .binding 2)) (some .nat) (.call (.function 2) [(.copy (.generated .binding 1))] false))] (.cond (.call (.function 3) [(.copy (.generated .binding 1)), (.copy (.generated .binding 2))] false) (.mk [] (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 10)))] (.call (.runtime .natLe) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))), + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .nat (.mk [] (.call (.function 4) [(.copy (.generated .binding 0))] false))), + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 0)))] (.call (.runtime .natLe) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), + (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .nat (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false)))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some .nat) (.copy (.generated .binding 0)))], (.cond (.call (.function 1) [(.copy (.generated .binding 1))] false) (.mk [(.mk (.bind (.generated .binding 2)) (some .nat) (.call (.function 2) [(.copy (.generated .binding 1))] false))] (.cond (.call (.function 3) [(.copy (.generated .binding 1)), (.copy (.generated .binding 2))] false) (.mk [] (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))), [(0, .nat, (some 0))], rfl, rfl, + (Corr.letBind (Corr.var rfl rfl) rfl (Corr.cond (lc := []) (ce := (.call (.function 1) [(.copy (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .binding 2)) (some .nat) (.call (.function 2) [(.copy (.generated .binding 1))] false))]) (ta := (.cond (.call (.function 3) [(.copy (.generated .binding 1)), (.copy (.generated .binding 2))] false) (.mk [] (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))) (lb := []) (tb := (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])) (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.cond (lc := []) (ce := (.call (.function 3) [(.copy (.generated .binding 1)), (.copy (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])) (lb := []) (tb := (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])) (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl) (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))) (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl))))⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 10)))], (.call (.runtime .natLe) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false), [(0, .nat, (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 4) [(.copy (.generated .binding 0))] false), [(0, .nat, (some 0))], rfl, rfl, + (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 0)))], (.call (.runtime .natLe) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun4 : FunOK program krate flags 4 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))], (.call (.runtime .natSub) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false), [(0, .nat, (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | 4 => exact fun4 + | _ + 5 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R8.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R8.lean new file mode 100644 index 000000000..6c6ef4a2a --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R8.lean @@ -0,0 +1,118 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Models.Flows +import Models.Glyphs +import Models.Ledger +import Models.Main +import Models.Pipeline +import Models.Policy +import Models.Recognizer +import Models.Session +import Models.Triage +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [.nat, .nat], result := (.result (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)), + body := (.«let» 2 .nat (.var 0) (.«let» 3 .nat (.var 1) (.cond (.call 1 [(.var 2)]) (.«let» 4 (.pair .nat (.result .nat (.pair .bool .bool))) (.call 2 [(.var 2), (.var 3)]) (.cond (.call 1 [(.first (.var 4))]) (.build .ok (.result (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.var 4)]) (.build .error (.result (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .true .bool [])])]))) (.build .error (.result (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])])))) }, + { parameters := [0], types := [.nat], result := .bool, + body := (.prim .natLe [(.var 0), (.value .nat (.nat 100))]) }, + { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat (.result .nat (.pair .bool .bool))), + body := (.call 3 [(.var 0), (.var 1)]) }, + { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat (.result .nat (.pair .bool .bool))), + body := (.«let» 2 (.pair .nat .nat) (.call 4 [(.var 0), (.var 1)]) (.«let» 3 .nat (.second (.var 2)) (.«let» 4 .nat (.first (.var 2)) (.cond (.call 5 [(.var 3)]) (.«let» 5 .nat (.call 6 [(.var 3)]) (.cond (.call 7 [(.var 3), (.var 5)]) (.build .pair (.pair .nat (.result .nat (.pair .bool .bool))) [(.var 4), (.build .ok (.result .nat (.pair .bool .bool)) [(.var 5)])]) (.build .pair (.pair .nat (.result .nat (.pair .bool .bool))) [(.var 0), (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])]))) (.build .pair (.pair .nat (.result .nat (.pair .bool .bool))) [(.var 0), (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])])]))))) }, + { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat .nat), + body := (.call 8 [(.var 0), (.var 1)]) }, + { parameters := [0], types := [.nat], result := .bool, + body := (.prim .natLe [(.var 0), (.value .nat (.nat 10))]) }, + { parameters := [0], types := [.nat], result := .nat, + body := (.call 9 [(.var 0)]) }, + { parameters := [0, 1], types := [.nat, .nat], result := .bool, + body := (.prim .natLe [(.var 1), (.var 0)]) }, + { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat .nat), + body := (.«let» 2 .nat (.prim .natAdd [(.var 0), (.var 1)]) (.build .pair (.pair .nat .nat) [(.prim .natSub [(.var 2), (.prim .natSub [(.var 2), (.value .nat (.nat 100))])]), (.prim .natSub [(.var 2), (.prim .natSub [(.var 2), (.value .nat (.nat 100))])])])) }, + { parameters := [0], types := [.nat], result := .nat, + body := (.prim .natSub [(.var 0), (.value .nat (.nat 1))]) }] } + +def __fits_1 (s : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_1 (s : Nat) : _root_.LexLeanPreservation.FunRel __prog 1 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s)] (_root_.LexLeanPreservation.Rel (__fits_1 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Ledger.cappedCheck s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe s (100 : Nat))) + +def __fits_8 (s : Nat) (x : Nat) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (s + x) 18446744073709551616)) && (let total : Nat := (s + x); ((((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) + +theorem __rel_8 (s : Nat) (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 8 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_8 s x) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Ledger.Clamp s x))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (let total : Nat := (s + x); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd s x)) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub total (100 : Nat))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub total (_root_.LexLeanRuntime.subtract (total) ((100 : Nat)) : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub total (100 : Nat))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub total (_root_.LexLeanRuntime.subtract (total) ((100 : Nat)) : Nat))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair)) + +def __fits_4 (_ystate : Nat) (_yinput : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && (__fits_8 (_ystate) (_yinput))) + +attribute [local irreducible] Models.Ledger.Clamp in +theorem __rel_4 (_ystate : Nat) (_yinput : Nat) : _root_.LexLeanPreservation.FunRel __prog 4 [(_root_.LexLeanTarget.TargetSyntax.Value.nat _ystate), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yinput)] (_root_.LexLeanPreservation.Rel (__fits_4 _ystate _yinput) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Ledger.ClampModel _ystate _yinput))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_8 (_ystate) (_yinput))) + +def __fits_5 (x : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_5 (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 5 [(_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_5 x) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Ledger.withinCheck x))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe x (10 : Nat))) + +def __fits_9 (x : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_9 (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 9 [(_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_9 x) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Ledger.Guess x))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub x (1 : Nat))) + +def __fits_6 (_yinput : Nat) : Bool := + ((Bool.true && Bool.true) && (__fits_9 (_yinput))) + +attribute [local irreducible] Models.Ledger.Guess in +theorem __rel_6 (_yinput : Nat) : _root_.LexLeanPreservation.FunRel __prog 6 [(_root_.LexLeanTarget.TargetSyntax.Value.nat _yinput)] (_root_.LexLeanPreservation.Rel (__fits_6 _yinput) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Ledger.GuessModel _yinput))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_9 (_yinput))) + +def __fits_7 (x : Nat) (y : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_7 (x : Nat) (y : Nat) : _root_.LexLeanPreservation.FunRel __prog 7 [(_root_.LexLeanTarget.TargetSyntax.Value.nat x), (_root_.LexLeanTarget.TargetSyntax.Value.nat y)] (_root_.LexLeanPreservation.Rel (__fits_7 x y) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Ledger.belowCheck x y))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe y x)) + +def __fits_3 (s : Nat) (x : Nat) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && (__fits_4 (s) (x))) && (let _ystep1 : (Prod Nat Nat) := (Models.Ledger.ClampModel (s) (x)); (Bool.true && (let _ystage1 : Nat := (_ystep1).2; (Bool.true && (let _ystate1 : Nat := (_ystep1).1; (((Bool.true && Bool.true) && (__fits_5 (_ystage1))) && (if (Models.Ledger.withinCheck (_ystage1)) then (((Bool.true && Bool.true) && (__fits_6 (_ystage1))) && (let _ystage2 : Nat := (Models.Ledger.GuessModel (_ystage1)); (((Bool.true && (Bool.true && Bool.true)) && (__fits_7 (_ystage1) (_ystage2))) && (if (Models.Ledger.belowCheck (_ystage1) (_ystage2)) then ((Bool.true && (((Bool.true && Bool.true) && Bool.true) && Bool.true)) && Bool.true) else ((Bool.true && ((((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) && Bool.true)) && Bool.true))))) else ((Bool.true && ((((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) && Bool.true)) && Bool.true))))))))) + +attribute [local irreducible] Models.Ledger.ClampModel Models.Ledger.GuessModel Models.Ledger.belowCheck Models.Ledger.withinCheck in +theorem __rel_3 (s : Nat) (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 3 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_3 s x) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Models.Flows.ClampGuess s x))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (let _ystep1 : (Prod Nat Nat) := (Models.Ledger.ClampModel (s) (x)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_4 (s) (x))) (let _ystage1 : Nat := (_ystep1).2; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (let _ystate1 : Nat := (_ystep1).1; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && (__fits_6 (_ystage1))) && (let _ystage2 : Nat := (Models.Ledger.GuessModel (_ystage1)); (((Bool.true && (Bool.true && Bool.true)) && (__fits_7 (_ystage1) (_ystage2))) && (if (Models.Ledger.belowCheck (_ystage1) (_ystage2)) then ((Bool.true && (((Bool.true && Bool.true) && Bool.true) && Bool.true)) && Bool.true) else ((Bool.true && ((((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) && Bool.true)) && Bool.true))))) else ((Bool.true && ((((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) && Bool.true)) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (let _ystage2 : Nat := (Models.Ledger.GuessModel (_ystage1)); (if (Models.Ledger.belowCheck (_ystage1) (_ystage2)) then (_ystate1, (Except.ok (_ystage2) : (Except (Prod Bool Bool) Nat))) else (s, (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat))))) else (s, (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat))))) (Models.Ledger.withinCheck (_ystage1)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_5 (_ystage1))) (fun _ => (let _ystage2 : Nat := (Models.Ledger.GuessModel (_ystage1)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_6 (_ystage1))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && (((Bool.true && Bool.true) && Bool.true) && Bool.true)) && Bool.true) else ((Bool.true && ((((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) && Bool.true)) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (_ystate1, (Except.ok (_ystage2) : (Except (Prod Bool Bool) Nat))) else (s, (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat))))) (Models.Ledger.belowCheck (_ystage1) (_ystage2)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_7 (_ystage1) (_ystage2))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair)))))) + +def __fits_2 (_ystate : Nat) (_yinput : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (_ystate) (_yinput))) + +attribute [local irreducible] Models.Flows.ClampGuess in +theorem __rel_2 (_ystate : Nat) (_yinput : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat _ystate), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yinput)] (_root_.LexLeanPreservation.Rel (__fits_2 _ystate _yinput) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Models.Flows.FlowModel _ystate _yinput))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_3 (_ystate) (_yinput))) + +def __fits_0 (s : Nat) (x : Nat) : Bool := + (Bool.true && (let _ychecked1_state : Nat := s; (Bool.true && (let _ychecked1_input : Nat := x; (((Bool.true && Bool.true) && (__fits_1 (_ychecked1_state))) && (if (Models.Ledger.cappedCheck (_ychecked1_state)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_2 (_ychecked1_state) (_ychecked1_input))) && (let _ychecked1_step : (Prod Nat (Except (Prod Bool Bool) Nat)) := (Models.Flows.FlowModel (_ychecked1_state) (_ychecked1_input)); (((Bool.true && Bool.true) && (__fits_1 ((_ychecked1_step).1))) && (if (Models.Ledger.cappedCheck ((_ychecked1_step).1)) then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))))) + +attribute [local irreducible] Models.Flows.FlowModel Models.Ledger.cappedCheck in +theorem __rel_0 (s : Nat) (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_0 s x) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat))) (Models.Main.flowStep s x))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (let _ychecked1_state : Nat := s; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_var rfl) (let _ychecked1_input : Nat := x; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && (Bool.true && Bool.true)) && (__fits_2 (_ychecked1_state) (_ychecked1_input))) && (let _ychecked1_step : (Prod Nat (Except (Prod Bool Bool) Nat)) := (Models.Flows.FlowModel (_ychecked1_state) (_ychecked1_input)); (((Bool.true && Bool.true) && (__fits_1 ((_ychecked1_step).1))) && (if (Models.Ledger.cappedCheck ((_ychecked1_step).1)) then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat))) (if __b then (let _ychecked1_step : (Prod Nat (Except (Prod Bool Bool) Nat)) := (Models.Flows.FlowModel (_ychecked1_state) (_ychecked1_input)); (if (Models.Ledger.cappedCheck ((_ychecked1_step).1)) then (Except.ok (_ychecked1_step) : (Except (Prod Bool Bool) (Prod Nat (Except (Prod Bool Bool) Nat)))) else (Except.error (((Bool.true, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat (Except (Prod Bool Bool) Nat)))))) else (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat (Except (Prod Bool Bool) Nat)))))) (Models.Ledger.cappedCheck (_ychecked1_state)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (_ychecked1_state))) (fun _ => (let _ychecked1_step : (Prod Nat (Except (Prod Bool Bool) Nat)) := (Models.Flows.FlowModel (_ychecked1_state) (_ychecked1_input)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_2 (_ychecked1_state) (_ychecked1_input))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat))) (if __b then (Except.ok (_ychecked1_step) : (Except (Prod Bool Bool) (Prod Nat (Except (Prod Bool Bool) Nat)))) else (Except.error (((Bool.true, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat (Except (Prod Bool Bool) Nat)))))) (Models.Ledger.cappedCheck ((_ychecked1_step).1)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil) (__rel_1 ((_ychecked1_step).1))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))) + +def denote (s : Nat) (x : Nat) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 s x) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat))) (Models.Main.flowStep s x)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (s : Nat) (x : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_0 s x) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat))) (Models.Main.flowStep s x))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 s x) + +end LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8 diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R8/Compose/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R8/Compose/RustStd.lean new file mode 100644 index 000000000..983e7fa86 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R8/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8 +import LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.Compose.RustStd + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (s : Nat) (x : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.denote s x) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat s) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat x) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.root s x) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.Compose.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R8/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R8/RustStd.lean new file mode 100644 index 000000000..ad8140e35 --- /dev/null +++ b/examples/models/expected/verify/preserve/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R8/RustStd.lean @@ -0,0 +1,105 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [.nat, .nat], result := (.result (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)), + body := (.«let» 2 .nat (.var 0) (.«let» 3 .nat (.var 1) (.cond (.call 1 [(.var 2)]) (.«let» 4 (.pair .nat (.result .nat (.pair .bool .bool))) (.call 2 [(.var 2), (.var 3)]) (.cond (.call 1 [(.first (.var 4))]) (.build .ok (.result (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.var 4)]) (.build .error (.result (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .true .bool [])])]))) (.build .error (.result (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])])))) }, + { parameters := [0], types := [.nat], result := .bool, + body := (.prim .natLe [(.var 0), (.value .nat (.nat 100))]) }, + { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat (.result .nat (.pair .bool .bool))), + body := (.call 3 [(.var 0), (.var 1)]) }, + { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat (.result .nat (.pair .bool .bool))), + body := (.«let» 2 (.pair .nat .nat) (.call 4 [(.var 0), (.var 1)]) (.«let» 3 .nat (.second (.var 2)) (.«let» 4 .nat (.first (.var 2)) (.cond (.call 5 [(.var 3)]) (.«let» 5 .nat (.call 6 [(.var 3)]) (.cond (.call 7 [(.var 3), (.var 5)]) (.build .pair (.pair .nat (.result .nat (.pair .bool .bool))) [(.var 4), (.build .ok (.result .nat (.pair .bool .bool)) [(.var 5)])]) (.build .pair (.pair .nat (.result .nat (.pair .bool .bool))) [(.var 0), (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])]))) (.build .pair (.pair .nat (.result .nat (.pair .bool .bool))) [(.var 0), (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])])]))))) }, + { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat .nat), + body := (.call 8 [(.var 0), (.var 1)]) }, + { parameters := [0], types := [.nat], result := .bool, + body := (.prim .natLe [(.var 0), (.value .nat (.nat 10))]) }, + { parameters := [0], types := [.nat], result := .nat, + body := (.call 9 [(.var 0)]) }, + { parameters := [0, 1], types := [.nat, .nat], result := .bool, + body := (.prim .natLe [(.var 1), (.var 0)]) }, + { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat .nat), + body := (.«let» 2 .nat (.prim .natAdd [(.var 0), (.var 1)]) (.build .pair (.pair .nat .nat) [(.prim .natSub [(.var 2), (.prim .natSub [(.var 2), (.value .nat (.nat 100))])]), (.prim .natSub [(.var 2), (.prim .natSub [(.var 2), (.value .nat (.nat 100))])])])) }, + { parameters := [0], types := [.nat], result := .nat, + body := (.prim .natSub [(.var 0), (.value .nat (.nat 1))]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.result (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 2)) (some .nat) (.copy (.generated .binding 0))), (.mk (.bind (.generated .binding 3)) (some .nat) (.copy (.generated .binding 1)))] (.cond (.call (.function 1) [(.copy (.generated .binding 2))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair .nat (.result .nat (.pair .bool .bool)))) (.call (.function 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] true))] (.cond (.call (.function 1) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 1))))] false) (.mk [] (.succeed (.construct (.ok (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool true)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])))))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 100)))] (.call (.runtime .natLe) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] false))), + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair .nat (.result .nat (.pair .bool .bool)))) (.mk [] (.call (.function 3) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false))), + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair .nat (.result .nat (.pair .bool .bool)))) (.mk [(.mk (.bind (.generated .binding 2)) (some (.pair .nat .nat)) (.call (.function 4) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true)), (.mk (.bind (.generated .binding 3)) (some .nat) (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 4))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 4))))), (.mk (.bind (.generated .binding 4)) (some .nat) (.block (.mk [(.mk (.tuple [(.bind (.generated .part 5)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 5)))))] (.cond (.call (.function 5) [(.copy (.generated .binding 3))] false) (.mk [(.mk (.bind (.generated .binding 5)) (some .nat) (.call (.function 6) [(.copy (.generated .binding 3))] false))] (.cond (.call (.function 7) [(.copy (.generated .binding 3)), (.copy (.generated .binding 5))] false) (.mk [] (.succeed (.pair (.copy (.generated .binding 4)) (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 5))])))) (.mk [] (.succeed (.pair (.copy (.generated .binding 0)) (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))))) (.mk [] (.succeed (.pair (.copy (.generated .binding 0)) (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))))), + (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair .nat .nat)) (.mk [] (.call (.function 8) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false))), + (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 7)) none (.lit (.nat 10)))] (.call (.runtime .natLe) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false))), + (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .nat (.mk [] (.call (.function 9) [(.copy (.generated .binding 0))] false))), + (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0)))] (.call (.runtime .natLe) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false))), + (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair .nat .nat)) (.mk [(.mk (.bind (.generated .binding 2)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true))))] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 15)) none (.block (.mk [(.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 13)) none (.lit (.nat 100)))] (.call (.runtime .natSub) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false))))] (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false))) (.block (.mk [(.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 19)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 17)) none (.lit (.nat 100)))] (.call (.runtime .natSub) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))] (.call (.runtime .natSub) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false))))))), + (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .nat (.mk [(.mk (.bind (.generated .operand 20)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 21)) none (.lit (.nat 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 20)), (.move (.generated .operand 21))] false)))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some .nat) (.copy (.generated .binding 0))), (.mk (.bind (.generated .binding 3)) (some .nat) (.copy (.generated .binding 1)))], (.cond (.call (.function 1) [(.copy (.generated .binding 2))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair .nat (.result .nat (.pair .bool .bool)))) (.call (.function 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] true))] (.cond (.call (.function 1) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 1))))] false) (.mk [] (.succeed (.construct (.ok (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool true)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.letBind (Corr.var rfl rfl) rfl (Corr.letBind (Corr.var rfl rfl) rfl (Corr.cond (lc := []) (ce := (.call (.function 1) [(.copy (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .binding 4)) (some (.pair .nat (.result .nat (.pair .bool .bool)))) (.call (.function 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] true))]) (ta := (.cond (.call (.function 1) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 1))))] false) (.mk [] (.succeed (.construct (.ok (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool true)))]))))) (lb := []) (tb := (.succeed (.construct (.err (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))) (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl (Corr.cond (lc := []) (ce := (.call (.function 1) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 1))))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))]) (tail := (.move (.generated .part 1))) (Corr.first (ta := .nat) (tb := (.result .nat (.pair .bool .bool))) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct (.ok (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (lb := []) (tb := (.succeed (.construct (.err (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool true)))]))) (Corr.fOfB (Corr.build (ts := [(.pair .nat (.result .nat (.pair .bool .bool)))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl))))) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl))))))⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 100)))], (.call (.runtime .natLe) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] false), [(0, .nat, (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 3) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.callF (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some (.pair .nat .nat)) (.call (.function 4) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true)), (.mk (.bind (.generated .binding 3)) (some .nat) (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 4))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 4))))), (.mk (.bind (.generated .binding 4)) (some .nat) (.block (.mk [(.mk (.tuple [(.bind (.generated .part 5)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 5)))))], (.cond (.call (.function 5) [(.copy (.generated .binding 3))] false) (.mk [(.mk (.bind (.generated .binding 5)) (some .nat) (.call (.function 6) [(.copy (.generated .binding 3))] false))] (.cond (.call (.function 7) [(.copy (.generated .binding 3)), (.copy (.generated .binding 5))] false) (.mk [] (.succeed (.pair (.copy (.generated .binding 4)) (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 5))])))) (.mk [] (.succeed (.pair (.copy (.generated .binding 0)) (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))))) (.mk [] (.succeed (.pair (.copy (.generated .binding 0)) (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl (Corr.letBind (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 4))]) none (.copy (.generated .binding 2)))]) (tail := (.move (.generated .part 4))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) rfl (Corr.letBind (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 5)), .wild]) none (.copy (.generated .binding 2)))]) (tail := (.move (.generated .part 5))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) rfl (Corr.cond (lc := []) (ce := (.call (.function 5) [(.copy (.generated .binding 3))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .binding 5)) (some .nat) (.call (.function 6) [(.copy (.generated .binding 3))] false))]) (ta := (.cond (.call (.function 7) [(.copy (.generated .binding 3)), (.copy (.generated .binding 5))] false) (.mk [] (.succeed (.pair (.copy (.generated .binding 4)) (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 5))])))) (.mk [] (.succeed (.pair (.copy (.generated .binding 0)) (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))))) (lb := []) (tb := (.succeed (.pair (.copy (.generated .binding 0)) (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))) (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.cond (lc := []) (ce := (.call (.function 7) [(.copy (.generated .binding 3)), (.copy (.generated .binding 5))] false)) (lk := []) (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.pair (.copy (.generated .binding 4)) (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 5))])))) (lb := []) (tb := (.succeed (.pair (.copy (.generated .binding 0)) (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))) (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.lNil)))))) (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) (Corr.lNil))))))))) (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) (Corr.lNil)))))))))))⟩⟩ + +theorem fun4 : FunOK program krate flags 4 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 8) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.callF (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)⟩⟩ + +theorem fun5 : FunOK program krate flags 5 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 7)) none (.lit (.nat 10)))], (.call (.runtime .natLe) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false), [(0, .nat, (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun6 : FunOK program krate flags 6 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 9) [(.copy (.generated .binding 0))] false), [(0, .nat, (some 0))], rfl, rfl, + (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun7 : FunOK program krate flags 7 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0)))], (.call (.runtime .natLe) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun8 : FunOK program krate flags 8 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true))))], (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 15)) none (.block (.mk [(.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 13)) none (.lit (.nat 100)))] (.call (.runtime .natSub) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false))))] (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false))) (.block (.mk [(.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 19)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 17)) none (.lit (.nat 100)))] (.call (.runtime .natSub) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))] (.call (.runtime .natSub) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false))))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 15)) none (.block (.mk [(.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 13)) none (.lit (.nat 100)))] (.call (.runtime .natSub) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false))))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 13)) none (.lit (.nat 100)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 19)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 17)) none (.lit (.nat 100)))] (.call (.runtime .natSub) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 17)) none (.lit (.nat 100)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))⟩⟩ + +theorem fun9 : FunOK program krate flags 9 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 20)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 21)) none (.lit (.nat 1)))], (.call (.runtime .natSub) [(.move (.generated .operand 20)), (.move (.generated .operand 21))] false), [(0, .nat, (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | 4 => exact fun4 + | 5 => exact fun5 + | 6 => exact fun6 + | 7 => exact fun7 + | 8 => exact fun8 + | 9 => exact fun9 + | _ + 10 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R0.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R0.lean deleted file mode 100644 index 1a4d2df6d..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R0.lean +++ /dev/null @@ -1,228 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Models.Flows -import Models.Glyphs -import Models.Ledger -import Models.Main -import Models.Pipeline -import Models.Policy -import Models.Recognizer -import Models.Session -import Models.Triage -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [{ constructors := [[], [], [], [], [], [], [], [], [], []] }], functions := [ - { parameters := [0], types := [(.adt 0)], result := .nat, - body := (.call 1 [(.var 0)]) }, - { parameters := [0], types := [(.adt 0)], result := .nat, - body := (.call 2 [(.var 0)]) }, - { parameters := [0], types := [(.adt 0)], result := .nat, - body := (.«match» .nat (.first (.call 3 [(.closure 4 []), (.build .pair (.pair (.option (.pair .nat .int)) (.list .nat)) [(.build .none (.option (.pair .nat .int)) []), (.build .cons (.list .nat) [(.value .nat (.nat 0)), (.build .cons (.list .nat) [(.value .nat (.nat 1)), (.build .cons (.list .nat) [(.value .nat (.nat 2)), (.build .cons (.list .nat) [(.value .nat (.nat 3)), (.build .cons (.list .nat) [(.value .nat (.nat 4)), (.build .cons (.list .nat) [(.value .nat (.nat 5)), (.build .cons (.list .nat) [(.value .nat (.nat 6)), (.build .cons (.list .nat) [(.value .nat (.nat 7)), (.build .cons (.list .nat) [(.value .nat (.nat 8)), (.build .cons (.list .nat) [(.value .nat (.nat 9)), (.build .nil (.list .nat) [])])])])])])])])])])])]), (.call 5 [(.var 0)])])) [(.arm .none [] (.value .nat (.nat 0))), (.arm .some [1] (.first (.var 1)))]) }, - { parameters := [0, 1, 2], types := [(.fn [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat))), (.pair (.option (.pair .nat .int)) (.list .nat)), (.list .int)], result := (.pair (.option (.pair .nat .int)) (.list .nat)), - body := (.«match» (.pair (.option (.pair .nat .int)) (.list .nat)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 3 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1], types := [(.pair (.option (.pair .nat .int)) (.list .nat)), .int], result := (.pair (.option (.pair .nat .int)) (.list .nat)), - body := (.«match» (.pair (.option (.pair .nat .int)) (.list .nat)) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair (.option (.pair .nat .int)) (.list .nat)) [(.«match» (.option (.pair .nat .int)) (.first (.var 0)) [(.arm .none [] (.build .some (.option (.pair .nat .int)) [(.build .pair (.pair .nat .int) [(.var 2), (.var 1)])])), (.arm .some [4] (.cond (.«match» .bool (.prim .compare [(.second (.var 4)), (.var 1)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.build .some (.option (.pair .nat .int)) [(.build .pair (.pair .nat .int) [(.var 2), (.var 1)])]) (.build .some (.option (.pair .nat .int)) [(.var 4)])))]), (.var 3)]))]) }, - { parameters := [0], types := [(.adt 0)], result := (.list .int), - body := (.call 6 [(.call 7 [(.call 8 [(.call 9 [(.call 10 [(.var 0)])])])])]) }, - { parameters := [0], types := [(.list .int)], result := (.list .int), - body := (.first (.call 11 [(.closure 12 [(.var 0)]), (.build .pair (.pair (.list .int) (.list .int)) [(.build .nil (.list .int) []), (.call 13 [])]), (.call 14 [])])) }, - { parameters := [0], types := [(.list .int)], result := (.list .int), - body := (.call 15 [(.closure 16 []), (.build .nil (.list .int) []), (.var 0)]) }, - { parameters := [0], types := [(.list .int)], result := (.list .int), - body := (.call 15 [(.closure 17 []), (.build .nil (.list .int) []), (.var 0)]) }, - { parameters := [0], types := [(.list .int)], result := (.list .int), - body := (.first (.call 11 [(.closure 18 [(.var 0)]), (.build .pair (.pair (.list .int) (.list .int)) [(.build .nil (.list .int) []), (.call 19 [])]), (.call 20 [])])) }, - { parameters := [0], types := [(.adt 0)], result := (.list .int), - body := (.call 21 [(.var 0)]) }, - { parameters := [0, 1, 2], types := [(.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (.pair (.list .int) (.list .int)), (.list (.list .int))], result := (.pair (.list .int) (.list .int)), - body := (.«match» (.pair (.list .int) (.list .int)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 11 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1, 2], types := [(.list .int), (.pair (.list .int) (.list .int)), (.list .int)], result := (.pair (.list .int) (.list .int)), - body := (.«match» (.pair (.list .int) (.list .int)) (.second (.var 1)) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.build .pair (.pair (.list .int) (.list .int)) [(.prim .append [(.first (.var 1)), (.build .cons (.list .int) [(.prim .intSub [(.var 3), (.prim .intNeg [(.first (.call 22 [(.closure 23 []), (.build .pair (.pair .int (.list .int)) [(.value .int (.int 0)), (.var 0)]), (.var 2)]))])]), (.build .nil (.list .int) [])])]), (.var 4)]))]) }, - { parameters := [], types := [], result := (.list .int), - body := (.build .cons (.list .int) [(.value .int (.int (-6))), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int (-4))), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int (-6))), (.build .cons (.list .int) [(.value .int (.int (-3))), (.build .cons (.list .int) [(.value .int (.int (-7))), (.build .cons (.list .int) [(.value .int (.int (-6))), (.build .nil (.list .int) [])])])])])])])])])])]) }, - { parameters := [], types := [], result := (.list (.list .int)), - body := (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .nil (.list (.list .int)) [])])])])])])])])])])]) }, - { parameters := [0, 1, 2], types := [(.fn [(.list .int), .int] (.list .int)), (.list .int), (.list .int)], result := (.list .int), - body := (.«match» (.list .int) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 15 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1], types := [(.list .int), .int], result := (.list .int), - body := (.prim .append [(.var 0), (.build .cons (.list .int) [(.«let» 2 .int (.prim .intQuot [(.var 1), (.value .int (.int 4)), (.value .int (.int 0))]) (.cond (.«match» .bool (.prim .compare [(.var 2), (.value .int (.int 0))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.value .int (.int 0)) (.cond (.«match» .bool (.prim .compare [(.value .int (.int 127)), (.var 2)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.value .int (.int 127)) (.var 2)))), (.build .nil (.list .int) [])])]) }, - { parameters := [0, 1], types := [(.list .int), .int], result := (.list .int), - body := (.prim .append [(.var 0), (.build .cons (.list .int) [(.cond (.«match» .bool (.prim .compare [(.var 1), (.value .int (.int 0))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.value .int (.int 0)) (.var 1)), (.build .nil (.list .int) [])])]) }, - { parameters := [0, 1, 2], types := [(.list .int), (.pair (.list .int) (.list .int)), (.list .int)], result := (.pair (.list .int) (.list .int)), - body := (.«match» (.pair (.list .int) (.list .int)) (.second (.var 1)) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.build .pair (.pair (.list .int) (.list .int)) [(.prim .append [(.first (.var 1)), (.build .cons (.list .int) [(.prim .intSub [(.var 3), (.prim .intNeg [(.first (.call 22 [(.closure 24 []), (.build .pair (.pair .int (.list .int)) [(.value .int (.int 0)), (.var 0)]), (.var 2)]))])]), (.build .nil (.list .int) [])])]), (.var 4)]))]) }, - { parameters := [], types := [], result := (.list .int), - body := (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int 3)), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .nil (.list .int) [])])])])])])])])])])])])]) }, - { parameters := [], types := [], result := (.list (.list .int)), - body := (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 3)), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int (-1))), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int (-3))), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int (-1))), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int (-4))), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 3)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .nil (.list (.list .int)) [])])])])])])])])])])])])]) }, - { parameters := [0], types := [(.adt 0)], result := (.list .int), - body := (.«match» (.list .int) (.var 0) [(.arm (.adt 0) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 1) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 2) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 3) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 4) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 5) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 6) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 7) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 8) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 9) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])]))]) }, - { parameters := [0, 1, 2], types := [(.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (.pair .int (.list .int)), (.list .int)], result := (.pair .int (.list .int)), - body := (.«match» (.pair .int (.list .int)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 22 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1], types := [(.pair .int (.list .int)), .int], result := (.pair .int (.list .int)), - body := (.«match» (.pair .int (.list .int)) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair .int (.list .int)) [(.prim .intSub [(.first (.var 0)), (.prim .intNeg [(.prim .intMul [(.var 1), (.var 2)])])]), (.var 3)]))]) }, - { parameters := [0, 1], types := [(.pair .int (.list .int)), .int], result := (.pair .int (.list .int)), - body := (.«match» (.pair .int (.list .int)) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair .int (.list .int)) [(.prim .intSub [(.first (.var 0)), (.prim .intNeg [(.prim .intMul [(.var 1), (.var 2)])])]), (.var 3)]))]) }] } - -def __enc_0 : (Models.Glyphs.Glyph) -> _root_.LexLeanTarget.TargetSyntax.Value - | Models.Glyphs.Glyph.g0 => _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [] - | Models.Glyphs.Glyph.g1 => _root_.LexLeanTarget.TargetSyntax.Value.adt 1 [] - | Models.Glyphs.Glyph.g2 => _root_.LexLeanTarget.TargetSyntax.Value.adt 2 [] - | Models.Glyphs.Glyph.g3 => _root_.LexLeanTarget.TargetSyntax.Value.adt 3 [] - | Models.Glyphs.Glyph.g4 => _root_.LexLeanTarget.TargetSyntax.Value.adt 4 [] - | Models.Glyphs.Glyph.g5 => _root_.LexLeanTarget.TargetSyntax.Value.adt 5 [] - | Models.Glyphs.Glyph.g6 => _root_.LexLeanTarget.TargetSyntax.Value.adt 6 [] - | Models.Glyphs.Glyph.g7 => _root_.LexLeanTarget.TargetSyntax.Value.adt 7 [] - | Models.Glyphs.Glyph.g8 => _root_.LexLeanTarget.TargetSyntax.Value.adt 8 [] - | Models.Glyphs.Glyph.g9 => _root_.LexLeanTarget.TargetSyntax.Value.adt 9 [] - -def __fits_4 (_ybest : (Prod (Option (Prod Nat Int)) (List Nat))) (_yscore : Int) : Bool := - (Bool.true && (match (_ybest).2 with | List.nil => Bool.true | List.cons _ylabel _ylabels => (((Bool.true && (match (_ybest).1 with | Option.none => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.some _yleader => ((Bool.true && (Bool.true && Bool.true)) && (if (Models.Recognizer.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) else ((Bool.true && Bool.true) && Bool.true))))) && (Bool.true && Bool.true)) && Bool.true))) - -theorem __rel_4 (_ybest : (Prod (Option (Prod Nat Int)) (List Nat))) (_yscore : Int) : _root_.LexLeanPreservation.FunRel __prog 4 [((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) _ybest), (_root_.LexLeanTarget.TargetSyntax.Value.int _yscore)] (_root_.LexLeanPreservation.Rel (__fits_4 _ybest _yscore) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) ((match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) | Option.some _yleader => (if (Models.Recognizer.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int))))), _ylabels))))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (List Nat)) => (match __a with | List.nil => Bool.true | List.cons _ylabel _ylabels => (((Bool.true && (match (_ybest).1 with | Option.none => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.some _yleader => ((Bool.true && (Bool.true && Bool.true)) && (if (Models.Recognizer.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) else ((Bool.true && Bool.true) && Bool.true))))) && (Bool.true && Bool.true)) && Bool.true))) (fun (__a : (List Nat)) => (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (match __a with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) | Option.some _yleader => (if (Models.Recognizer.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int))))), _ylabels))) (_ybest).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (List Nat)) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | List.cons _ylabel _ylabels => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (fun (__a : (Option (Prod Nat Int))) => (match __a with | Option.none => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.some _yleader => ((Bool.true && (Bool.true && Bool.true)) && (if (Models.Recognizer.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) else ((Bool.true && Bool.true) && Bool.true))))) (fun (__a : (Option (Prod Nat Int))) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (match __a with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) | Option.some _yleader => (if (Models.Recognizer.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int)))))) (_ybest).1 (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (Option (Prod Nat Int))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.some _yleader => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) else ((Bool.true && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (if __b then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int))))) (Models.Recognizer.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) (_root_.LexLeanPreservation.conv_lessThan (_root_.LexLeanPreservation.keySpec_int (Models.Recognizer.LexLeanCollections.Key.compare : Int -> Int -> Ordering) (fun _ _ => rfl)) Models.Recognizer.LexLeanCollections.lessThan (fun _ _ __h => by simp only [Models.Recognizer.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [Models.Recognizer.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [Models.Recognizer.LexLeanCollections.lessThan, __h]) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some))))))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) - -def __fits_23 (_ysum : (Prod Int (List Int))) (_yweight : Int) : Bool := - (Bool.true && (match (_ysum).2 with | List.nil => Bool.true | List.cons _yvalue _yrest => ((((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) && Bool.true) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int))) && (Bool.true && Bool.true)) && Bool.true))) - -theorem __rel_23 (_ysum : (Prod Int (List Int))) (_yweight : Int) : _root_.LexLeanPreservation.FunRel __prog 23 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) _ysum), (_root_.LexLeanTarget.TargetSyntax.Value.int _yweight)] (_root_.LexLeanPreservation.Rel (__fits_23 _ysum _yweight) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) ((match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest))))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (fun (__a : (List Int)) => (match __a with | List.nil => Bool.true | List.cons _yvalue _yrest => ((((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) && Bool.true) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int))) && (Bool.true && Bool.true)) && Bool.true))) (fun (__a : (List Int)) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (match __a with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest))) (_ysum).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (List Int)) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | List.cons _yvalue _yrest => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intMul _yweight _yvalue)) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_intNeg (Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intSub (_ysum).1 (Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) - -def __fits_12 (_yvalues : (List Int)) (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) : Bool := - (Bool.true && (match (_yacc).2 with | List.nil => Bool.true | List.cons _ybias _ybiases => ((((Bool.true && (((((Bool.true && (((((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_23 __p0 __p1) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow))) && Bool.true) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.subtract (_ybias) ((Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int))) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && Bool.true))) - -theorem __rel_12 (_yvalues : (List Int)) (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) : _root_.LexLeanPreservation.FunRel __prog 12 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues), ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) _yacc), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yrow)] (_root_.LexLeanPreservation.Rel (__fits_12 _yvalues _yacc _yrow) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) ((match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((Models.Recognizer.LexLeanRuntime.append ((_yacc).1) (((Models.Recognizer.LexLeanRuntime.subtract (_ybias) ((Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases))))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (fun (__a : (List Int)) => (match __a with | List.nil => Bool.true | List.cons _ybias _ybiases => ((((Bool.true && (((((Bool.true && (((((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_23 __p0 __p1) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow))) && Bool.true) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.subtract (_ybias) ((Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int))) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && Bool.true))) (fun (__a : (List Int)) => (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (match __a with | List.nil => _yacc | List.cons _ybias _ybiases => ((Models.Recognizer.LexLeanRuntime.append ((_yacc).1) (((Models.Recognizer.LexLeanRuntime.subtract (_ybias) ((Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases))) (_yacc).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (List Int)) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | List.cons _ybias _ybiases => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.int) (es := (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int))) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (fun _ => rfl) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_23 __p0 __p1) 23 [] (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __rel_23 __p0 __p1) (p := __prog) (fi := 22) (ta := .int) (ts := (.pair .int (.list .int))) rfl (((0 : Int), _yvalues)) (_yrow)))) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_intNeg ((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intSub _ybias (Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (_yacc).1 ((Models.Recognizer.LexLeanRuntime.subtract (_ybias) ((Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int)))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) - -def __fits_13 : Bool := - ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) - -theorem __rel_13 : _root_.LexLeanPreservation.FunRel __prog 13 [] (_root_.LexLeanPreservation.Rel (__fits_13) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.outputBias))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) - -def __fits_14 : Bool := - ((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) - -theorem __rel_14 : _root_.LexLeanPreservation.FunRel __prog 14 [] (_root_.LexLeanPreservation.Rel (__fits_14) ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (Models.Recognizer.outputWeights))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) - -def __fits_6 (_yvalues : (List Int)) : Bool := - (((Bool.true && Bool.true) && ((((Bool.true && Bool.true) && ((Bool.true && (__fits_13)) && Bool.true)) && Bool.true) && ((Bool.true && (__fits_14)) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __fits_12 (_yvalues) __p0 __p1) ((fun (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) => (match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((Models.Recognizer.LexLeanRuntime.append ((_yacc).1) (((Models.Recognizer.LexLeanRuntime.subtract (_ybias) ((Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases)))) ((([] : List Int), (Models.Recognizer.outputBias))) ((Models.Recognizer.outputWeights)))) - -attribute [local irreducible] Models.Recognizer.outputBias Models.Recognizer.outputWeights in -theorem __rel_6 (_yvalues : (List Int)) : _root_.LexLeanPreservation.FunRel __prog 6 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues)] (_root_.LexLeanPreservation.Rel (__fits_6 _yvalues) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.DigitNet.layer4 _yvalues))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call _root_.LexLeanPreservation.convL_nil (__rel_13)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call _root_.LexLeanPreservation.convL_nil (__rel_14)) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (es := (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int))) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (fun _ => rfl) ((fun (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) => (match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((Models.Recognizer.LexLeanRuntime.append ((_yacc).1) (((Models.Recognizer.LexLeanRuntime.subtract (_ybias) ((Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases)))) (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __fits_12 (_yvalues) __p0 __p1) 12 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues)] (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __rel_12 (_yvalues) __p0 __p1) (p := __prog) (fi := 11) (ta := (.list .int)) (ts := (.pair (.list .int) (.list .int))) rfl ((([] : List Int), (Models.Recognizer.outputBias))) ((Models.Recognizer.outputWeights))))) - -def __fits_16 (_yout : (List Int)) (_yvalue : Int) : Bool := - ((Bool.true && ((((((Bool.true && (Bool.true && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.quotient (_yvalue) ((4 : Int)) ((0 : Int)) : Int))) && (let _yquotient : Int := (Models.Recognizer.LexLeanRuntime.quotient (_yvalue) ((4 : Int)) ((0 : Int)) : Int); ((Bool.true && (Bool.true && Bool.true)) && (if (Models.Recognizer.LexLeanCollections.lessThan (_yquotient) ((0 : Int)) : Bool) then Bool.true else ((Bool.true && (Bool.true && Bool.true)) && (if (Models.Recognizer.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) then Bool.true else Bool.true)))))) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) - -theorem __rel_16 (_yout : (List Int)) (_yvalue : Int) : _root_.LexLeanPreservation.FunRel __prog 16 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yout), (_root_.LexLeanTarget.TargetSyntax.Value.int _yvalue)] (_root_.LexLeanPreservation.Rel (__fits_16 _yout _yvalue) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) ((Models.Recognizer.LexLeanRuntime.append (_yout) (((let _yquotient : Int := (Models.Recognizer.LexLeanRuntime.quotient (_yvalue) ((4 : Int)) ((0 : Int)) : Int); (if (Models.Recognizer.LexLeanCollections.lessThan (_yquotient) ((0 : Int)) : Bool) then (0 : Int) else (if (Models.Recognizer.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) then (127 : Int) else _yquotient))) :: ([] : List Int))) : (List Int))))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (let _yquotient : Int := (Models.Recognizer.LexLeanRuntime.quotient (_yvalue) ((4 : Int)) ((0 : Int)) : Int); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.prim_intQuot _yvalue (4 : Int) (0 : Int))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else ((Bool.true && (Bool.true && Bool.true)) && (if (Models.Recognizer.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) then Bool.true else Bool.true)))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.int (if __b then (0 : Int) else (if (Models.Recognizer.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) then (127 : Int) else _yquotient))) (Models.Recognizer.LexLeanCollections.lessThan (_yquotient) ((0 : Int)) : Bool) (_root_.LexLeanPreservation.conv_lessThan (_root_.LexLeanPreservation.keySpec_int (Models.Recognizer.LexLeanCollections.Key.compare : Int -> Int -> Ordering) (fun _ _ => rfl)) Models.Recognizer.LexLeanCollections.lessThan (fun _ _ __h => by simp only [Models.Recognizer.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [Models.Recognizer.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [Models.Recognizer.LexLeanCollections.lessThan, __h]) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))) (fun _ => _root_.LexLeanPreservation.conv_value) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.int (if __b then (127 : Int) else _yquotient)) (Models.Recognizer.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) (_root_.LexLeanPreservation.conv_lessThan (_root_.LexLeanPreservation.keySpec_int (Models.Recognizer.LexLeanCollections.Key.compare : Int -> Int -> Ordering) (fun _ _ => rfl)) Models.Recognizer.LexLeanCollections.lessThan (fun _ _ __h => by simp only [Models.Recognizer.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [Models.Recognizer.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [Models.Recognizer.LexLeanCollections.lessThan, __h]) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (fun _ => _root_.LexLeanPreservation.conv_value) (fun _ => (_root_.LexLeanPreservation.conv_var rfl)))))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) _yout ((let _yquotient : Int := (Models.Recognizer.LexLeanRuntime.quotient (_yvalue) ((4 : Int)) ((0 : Int)) : Int); (if (Models.Recognizer.LexLeanCollections.lessThan (_yquotient) ((0 : Int)) : Bool) then (0 : Int) else (if (Models.Recognizer.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) then (127 : Int) else _yquotient))) :: ([] : List Int)))) - -def __fits_7 (_yvalues : (List Int)) : Bool := - ((Bool.true && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List Int)) (__p1 : Int) => __fits_16 __p0 __p1) ((fun (_yout : (List Int)) (_yvalue : Int) => (Models.Recognizer.LexLeanRuntime.append (_yout) (((let _yquotient : Int := (Models.Recognizer.LexLeanRuntime.quotient (_yvalue) ((4 : Int)) ((0 : Int)) : Int); (if (Models.Recognizer.LexLeanCollections.lessThan (_yquotient) ((0 : Int)) : Bool) then (0 : Int) else (if (Models.Recognizer.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) then (127 : Int) else _yquotient))) :: ([] : List Int))) : (List Int)))) (([] : List Int)) (_yvalues))) - -theorem __rel_7 (_yvalues : (List Int)) : _root_.LexLeanPreservation.FunRel __prog 7 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues)] (_root_.LexLeanPreservation.Rel (__fits_7 _yvalues) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.DigitNet.layer3 _yvalues))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.int) (es := (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (fun _ => rfl) ((fun (_yout : (List Int)) (_yvalue : Int) => (Models.Recognizer.LexLeanRuntime.append (_yout) (((let _yquotient : Int := (Models.Recognizer.LexLeanRuntime.quotient (_yvalue) ((4 : Int)) ((0 : Int)) : Int); (if (Models.Recognizer.LexLeanCollections.lessThan (_yquotient) ((0 : Int)) : Bool) then (0 : Int) else (if (Models.Recognizer.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) then (127 : Int) else _yquotient))) :: ([] : List Int))) : (List Int)))) (fun (__p0 : (List Int)) (__p1 : Int) => __fits_16 __p0 __p1) 16 [] (fun (__p0 : (List Int)) (__p1 : Int) => __rel_16 __p0 __p1) (p := __prog) (fi := 15) (ta := .int) (ts := (.list .int)) rfl (([] : List Int)) (_yvalues))) - -def __fits_17 (_yout : (List Int)) (_yvalue : Int) : Bool := - ((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (if (Models.Recognizer.LexLeanCollections.lessThan (_yvalue) ((0 : Int)) : Bool) then Bool.true else Bool.true)) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) - -theorem __rel_17 (_yout : (List Int)) (_yvalue : Int) : _root_.LexLeanPreservation.FunRel __prog 17 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yout), (_root_.LexLeanTarget.TargetSyntax.Value.int _yvalue)] (_root_.LexLeanPreservation.Rel (__fits_17 _yout _yvalue) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) ((Models.Recognizer.LexLeanRuntime.append (_yout) (((if (Models.Recognizer.LexLeanCollections.lessThan (_yvalue) ((0 : Int)) : Bool) then (0 : Int) else _yvalue) :: ([] : List Int))) : (List Int))))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.int (if __b then (0 : Int) else _yvalue)) (Models.Recognizer.LexLeanCollections.lessThan (_yvalue) ((0 : Int)) : Bool) (_root_.LexLeanPreservation.conv_lessThan (_root_.LexLeanPreservation.keySpec_int (Models.Recognizer.LexLeanCollections.Key.compare : Int -> Int -> Ordering) (fun _ _ => rfl)) Models.Recognizer.LexLeanCollections.lessThan (fun _ _ __h => by simp only [Models.Recognizer.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [Models.Recognizer.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [Models.Recognizer.LexLeanCollections.lessThan, __h]) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))) (fun _ => _root_.LexLeanPreservation.conv_value) (fun _ => (_root_.LexLeanPreservation.conv_var rfl))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) _yout ((if (Models.Recognizer.LexLeanCollections.lessThan (_yvalue) ((0 : Int)) : Bool) then (0 : Int) else _yvalue) :: ([] : List Int)))) - -def __fits_8 (_yvalues : (List Int)) : Bool := - ((Bool.true && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List Int)) (__p1 : Int) => __fits_17 __p0 __p1) ((fun (_yout : (List Int)) (_yvalue : Int) => (Models.Recognizer.LexLeanRuntime.append (_yout) (((if (Models.Recognizer.LexLeanCollections.lessThan (_yvalue) ((0 : Int)) : Bool) then (0 : Int) else _yvalue) :: ([] : List Int))) : (List Int)))) (([] : List Int)) (_yvalues))) - -theorem __rel_8 (_yvalues : (List Int)) : _root_.LexLeanPreservation.FunRel __prog 8 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues)] (_root_.LexLeanPreservation.Rel (__fits_8 _yvalues) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.DigitNet.layer2 _yvalues))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.int) (es := (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (fun _ => rfl) ((fun (_yout : (List Int)) (_yvalue : Int) => (Models.Recognizer.LexLeanRuntime.append (_yout) (((if (Models.Recognizer.LexLeanCollections.lessThan (_yvalue) ((0 : Int)) : Bool) then (0 : Int) else _yvalue) :: ([] : List Int))) : (List Int)))) (fun (__p0 : (List Int)) (__p1 : Int) => __fits_17 __p0 __p1) 17 [] (fun (__p0 : (List Int)) (__p1 : Int) => __rel_17 __p0 __p1) (p := __prog) (fi := 15) (ta := .int) (ts := (.list .int)) rfl (([] : List Int)) (_yvalues))) - -def __fits_24 (_ysum : (Prod Int (List Int))) (_yweight : Int) : Bool := - (Bool.true && (match (_ysum).2 with | List.nil => Bool.true | List.cons _yvalue _yrest => ((((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) && Bool.true) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int))) && (Bool.true && Bool.true)) && Bool.true))) - -theorem __rel_24 (_ysum : (Prod Int (List Int))) (_yweight : Int) : _root_.LexLeanPreservation.FunRel __prog 24 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) _ysum), (_root_.LexLeanTarget.TargetSyntax.Value.int _yweight)] (_root_.LexLeanPreservation.Rel (__fits_24 _ysum _yweight) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) ((match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest))))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (fun (__a : (List Int)) => (match __a with | List.nil => Bool.true | List.cons _yvalue _yrest => ((((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) && Bool.true) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int))) && (Bool.true && Bool.true)) && Bool.true))) (fun (__a : (List Int)) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (match __a with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest))) (_ysum).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (List Int)) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | List.cons _yvalue _yrest => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intMul _yweight _yvalue)) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_intNeg (Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intSub (_ysum).1 (Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) - -def __fits_18 (_yvalues : (List Int)) (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) : Bool := - (Bool.true && (match (_yacc).2 with | List.nil => Bool.true | List.cons _ybias _ybiases => ((((Bool.true && (((((Bool.true && (((((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_24 __p0 __p1) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow))) && Bool.true) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.subtract (_ybias) ((Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int))) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && Bool.true))) - -theorem __rel_18 (_yvalues : (List Int)) (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) : _root_.LexLeanPreservation.FunRel __prog 18 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues), ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) _yacc), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yrow)] (_root_.LexLeanPreservation.Rel (__fits_18 _yvalues _yacc _yrow) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) ((match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((Models.Recognizer.LexLeanRuntime.append ((_yacc).1) (((Models.Recognizer.LexLeanRuntime.subtract (_ybias) ((Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases))))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (fun (__a : (List Int)) => (match __a with | List.nil => Bool.true | List.cons _ybias _ybiases => ((((Bool.true && (((((Bool.true && (((((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_24 __p0 __p1) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow))) && Bool.true) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.subtract (_ybias) ((Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int))) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && Bool.true))) (fun (__a : (List Int)) => (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (match __a with | List.nil => _yacc | List.cons _ybias _ybiases => ((Models.Recognizer.LexLeanRuntime.append ((_yacc).1) (((Models.Recognizer.LexLeanRuntime.subtract (_ybias) ((Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases))) (_yacc).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (List Int)) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | List.cons _ybias _ybiases => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.int) (es := (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int))) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (fun _ => rfl) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_24 __p0 __p1) 24 [] (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __rel_24 __p0 __p1) (p := __prog) (fi := 22) (ta := .int) (ts := (.pair .int (.list .int))) rfl (((0 : Int), _yvalues)) (_yrow)))) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_intNeg ((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intSub _ybias (Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (_yacc).1 ((Models.Recognizer.LexLeanRuntime.subtract (_ybias) ((Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int)))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) - -def __fits_19 : Bool := - ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) - -theorem __rel_19 : _root_.LexLeanPreservation.FunRel __prog 19 [] (_root_.LexLeanPreservation.Rel (__fits_19) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.hiddenBias))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) - -def __fits_20 : Bool := - ((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) - -theorem __rel_20 : _root_.LexLeanPreservation.FunRel __prog 20 [] (_root_.LexLeanPreservation.Rel (__fits_20) ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (Models.Recognizer.hiddenWeights))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) - -def __fits_9 (_yvalues : (List Int)) : Bool := - (((Bool.true && Bool.true) && ((((Bool.true && Bool.true) && ((Bool.true && (__fits_19)) && Bool.true)) && Bool.true) && ((Bool.true && (__fits_20)) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __fits_18 (_yvalues) __p0 __p1) ((fun (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) => (match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((Models.Recognizer.LexLeanRuntime.append ((_yacc).1) (((Models.Recognizer.LexLeanRuntime.subtract (_ybias) ((Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases)))) ((([] : List Int), (Models.Recognizer.hiddenBias))) ((Models.Recognizer.hiddenWeights)))) - -attribute [local irreducible] Models.Recognizer.hiddenBias Models.Recognizer.hiddenWeights in -theorem __rel_9 (_yvalues : (List Int)) : _root_.LexLeanPreservation.FunRel __prog 9 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues)] (_root_.LexLeanPreservation.Rel (__fits_9 _yvalues) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.DigitNet.layer1 _yvalues))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call _root_.LexLeanPreservation.convL_nil (__rel_19)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call _root_.LexLeanPreservation.convL_nil (__rel_20)) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (es := (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int))) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (fun _ => rfl) ((fun (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) => (match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((Models.Recognizer.LexLeanRuntime.append ((_yacc).1) (((Models.Recognizer.LexLeanRuntime.subtract (_ybias) ((Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases)))) (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __fits_18 (_yvalues) __p0 __p1) 18 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues)] (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __rel_18 (_yvalues) __p0 __p1) (p := __prog) (fi := 11) (ta := (.list .int)) (ts := (.pair (.list .int) (.list .int))) rfl ((([] : List Int), (Models.Recognizer.hiddenBias))) ((Models.Recognizer.hiddenWeights))))) - -def __fits_21 (glyph : (Models.Glyphs.Glyph)) : Bool := - (Bool.true && (match glyph with | Models.Glyphs.Glyph.g0 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g1 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g2 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g3 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g4 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g5 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g6 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g7 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g8 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g9 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) - -theorem __rel_21 (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.FunRel __prog 21 [(__enc_0 glyph)] (_root_.LexLeanPreservation.Rel (__fits_21 glyph) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Glyphs.encode glyph))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_0 (fun (__a : (Models.Glyphs.Glyph)) => (match __a with | Models.Glyphs.Glyph.g0 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g1 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g2 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g3 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g4 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g5 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g6 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g7 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g8 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g9 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) (fun (__a : (Models.Glyphs.Glyph)) => (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (match __a with | Models.Glyphs.Glyph.g0 => ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g1 => ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g2 => ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((1 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g3 => ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((0 : Int) :: ((1 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g4 => ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g5 => ((1 : Int) :: ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g6 => ((1 : Int) :: ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g7 => ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g8 => ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g9 => ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ([] : List Int)))))))))) glyph (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Models.Glyphs.Glyph)) _ => match __a with | Models.Glyphs.Glyph.g0 => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons)) | Models.Glyphs.Glyph.g1 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))) | Models.Glyphs.Glyph.g2 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons)))) | Models.Glyphs.Glyph.g3 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))))) | Models.Glyphs.Glyph.g4 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons)))))) | Models.Glyphs.Glyph.g5 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))))))) | Models.Glyphs.Glyph.g6 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons)))))))) | Models.Glyphs.Glyph.g7 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))))))))) | Models.Glyphs.Glyph.g8 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons)))))))))) | Models.Glyphs.Glyph.g9 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))))))))))))) - -def __fits_10 (glyph : (Models.Glyphs.Glyph)) : Bool := - ((Bool.true && Bool.true) && (__fits_21 (glyph))) - -attribute [local irreducible] Models.Glyphs.encode in -theorem __rel_10 (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.FunRel __prog 10 [(__enc_0 glyph)] (_root_.LexLeanPreservation.Rel (__fits_10 glyph) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.DigitNet.encoded glyph))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_21 (glyph))) - -def __fits_5 (glyph : (Models.Glyphs.Glyph)) : Bool := - ((((((((((Bool.true && Bool.true) && (__fits_10 (glyph))) && Bool.true) && (__fits_9 ((Models.Recognizer.DigitNet.encoded (glyph))))) && Bool.true) && (__fits_8 ((Models.Recognizer.DigitNet.layer1 ((Models.Recognizer.DigitNet.encoded (glyph))))))) && Bool.true) && (__fits_7 ((Models.Recognizer.DigitNet.layer2 ((Models.Recognizer.DigitNet.layer1 ((Models.Recognizer.DigitNet.encoded (glyph))))))))) && Bool.true) && (__fits_6 ((Models.Recognizer.DigitNet.layer3 ((Models.Recognizer.DigitNet.layer2 ((Models.Recognizer.DigitNet.layer1 ((Models.Recognizer.DigitNet.encoded (glyph))))))))))) - -attribute [local irreducible] Models.Recognizer.DigitNet.encoded Models.Recognizer.DigitNet.layer1 Models.Recognizer.DigitNet.layer2 Models.Recognizer.DigitNet.layer3 Models.Recognizer.DigitNet.layer4 in -theorem __rel_5 (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.FunRel __prog 5 [(__enc_0 glyph)] (_root_.LexLeanPreservation.Rel (__fits_5 glyph) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.DigitNet.logits glyph))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_10 (glyph))) _root_.LexLeanPreservation.convL_nil) (__rel_9 ((Models.Recognizer.DigitNet.encoded (glyph))))) _root_.LexLeanPreservation.convL_nil) (__rel_8 ((Models.Recognizer.DigitNet.layer1 ((Models.Recognizer.DigitNet.encoded (glyph))))))) _root_.LexLeanPreservation.convL_nil) (__rel_7 ((Models.Recognizer.DigitNet.layer2 ((Models.Recognizer.DigitNet.layer1 ((Models.Recognizer.DigitNet.encoded (glyph))))))))) _root_.LexLeanPreservation.convL_nil) (__rel_6 ((Models.Recognizer.DigitNet.layer3 ((Models.Recognizer.DigitNet.layer2 ((Models.Recognizer.DigitNet.layer1 ((Models.Recognizer.DigitNet.encoded (glyph))))))))))) - -def __fits_2 (glyph : (Models.Glyphs.Glyph)) : Bool := - (((Bool.true && ((((Bool.true && Bool.true) && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((Bool.true && Bool.true) && (__fits_5 (glyph))) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod (Option (Prod Nat Int)) (List Nat))) (__p1 : Int) => __fits_4 __p0 __p1) ((fun (_ybest : (Prod (Option (Prod Nat Int)) (List Nat))) (_yscore : Int) => (match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) | Option.some _yleader => (if (Models.Recognizer.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int))))), _ylabels)))) (((Option.none : (Option (Prod Nat Int))), ((0 : Nat) :: ((1 : Nat) :: ((2 : Nat) :: ((3 : Nat) :: ((4 : Nat) :: ((5 : Nat) :: ((6 : Nat) :: ((7 : Nat) :: ((8 : Nat) :: ((9 : Nat) :: ([] : List Nat))))))))))))) ((Models.Recognizer.DigitNet.logits (glyph))))) && (match ((Models.Recognizer.LexLeanCollections.listFold ((fun (_ybest : (Prod (Option (Prod Nat Int)) (List Nat))) (_yscore : Int) => (match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) | Option.some _yleader => (if (Models.Recognizer.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int))))), _ylabels)))) (((Option.none : (Option (Prod Nat Int))), ((0 : Nat) :: ((1 : Nat) :: ((2 : Nat) :: ((3 : Nat) :: ((4 : Nat) :: ((5 : Nat) :: ((6 : Nat) :: ((7 : Nat) :: ((8 : Nat) :: ((9 : Nat) :: ([] : List Nat))))))))))))) ((Models.Recognizer.DigitNet.logits (glyph))) : (Prod (Option (Prod Nat Int)) (List Nat)))).1 with | Option.none => Bool.true | Option.some _ywinner => Bool.true)) - -attribute [local irreducible] Models.Recognizer.DigitNet.logits in -theorem __rel_2 (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.FunRel __prog 2 [(__enc_0 glyph)] (_root_.LexLeanPreservation.Rel (__fits_2 glyph) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Recognizer.DigitNet glyph))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (fun (__a : (Option (Prod Nat Int))) => (match __a with | Option.none => Bool.true | Option.some _ywinner => Bool.true)) (fun (__a : (Option (Prod Nat Int))) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match __a with | Option.none => (0 : Nat) | Option.some _ywinner => (_ywinner).1)) ((Models.Recognizer.LexLeanCollections.listFold ((fun (_ybest : (Prod (Option (Prod Nat Int)) (List Nat))) (_yscore : Int) => (match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) | Option.some _yleader => (if (Models.Recognizer.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int))))), _ylabels)))) (((Option.none : (Option (Prod Nat Int))), ((0 : Nat) :: ((1 : Nat) :: ((2 : Nat) :: ((3 : Nat) :: ((4 : Nat) :: ((5 : Nat) :: ((6 : Nat) :: ((7 : Nat) :: ((8 : Nat) :: ((9 : Nat) :: ([] : List Nat))))))))))))) ((Models.Recognizer.DigitNet.logits (glyph))) : (Prod (Option (Prod Nat Int)) (List Nat)))).1 (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_5 (glyph))) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.int) (es := (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (fun _ => rfl) ((fun (_ybest : (Prod (Option (Prod Nat Int)) (List Nat))) (_yscore : Int) => (match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) | Option.some _yleader => (if (Models.Recognizer.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int))))), _ylabels)))) (fun (__p0 : (Prod (Option (Prod Nat Int)) (List Nat))) (__p1 : Int) => __fits_4 __p0 __p1) 4 [] (fun (__p0 : (Prod (Option (Prod Nat Int)) (List Nat))) (__p1 : Int) => __rel_4 __p0 __p1) (p := __prog) (fi := 3) (ta := .int) (ts := (.pair (.option (.pair .nat .int)) (.list .nat))) rfl (((Option.none : (Option (Prod Nat Int))), ((0 : Nat) :: ((1 : Nat) :: ((2 : Nat) :: ((3 : Nat) :: ((4 : Nat) :: ((5 : Nat) :: ((6 : Nat) :: ((7 : Nat) :: ((8 : Nat) :: ((9 : Nat) :: ([] : List Nat))))))))))))) ((Models.Recognizer.DigitNet.logits (glyph)))))) (fun (__a : (Option (Prod Nat Int))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value) | Option.some _ywinner => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)))))) - -def __fits_1 (_yinput : (Models.Glyphs.Glyph)) : Bool := - ((Bool.true && Bool.true) && (__fits_2 (_yinput))) - -attribute [local irreducible] Models.Recognizer.DigitNet in -theorem __rel_1 (_yinput : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.FunRel __prog 1 [(__enc_0 _yinput)] (_root_.LexLeanPreservation.Rel (__fits_1 _yinput) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Recognizer.DigitModel _yinput))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_2 (_yinput))) - -def __fits_0 (glyph : (Models.Glyphs.Glyph)) : Bool := - ((Bool.true && Bool.true) && (__fits_1 (glyph))) - -attribute [local irreducible] Models.Recognizer.DigitModel in -theorem __rel_0 (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.FunRel __prog 0 [(__enc_0 glyph)] (_root_.LexLeanPreservation.Rel (__fits_0 glyph) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Main.classify glyph))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (glyph))) - -def denote (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 glyph) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Main.classify glyph)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.RunConv __prog 0 [(__enc_0 glyph)] (_root_.LexLeanPreservation.Rel (__fits_0 glyph) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Main.classify glyph))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 glyph) - -end LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0 diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R0/Compose/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R0/Compose/RustStd.lean deleted file mode 100644 index bff2d68ea..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R0/Compose/RustStd.lean +++ /dev/null @@ -1,28 +0,0 @@ -import LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0 -import LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.Compose.RustStd - -theorem __wt_0 : ∀ (__v : (Models.Glyphs.Glyph)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.RustStd.program _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.RustStd.krate _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.RustStd.flags (_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.__enc_0 __v) (.adt 0) - | Models.Glyphs.Glyph.g0 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Models.Glyphs.Glyph.g1 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Models.Glyphs.Glyph.g2 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Models.Glyphs.Glyph.g3 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Models.Glyphs.Glyph.g4 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Models.Glyphs.Glyph.g5 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Models.Glyphs.Glyph.g6 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Models.Glyphs.Glyph.g7 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Models.Glyphs.Glyph.g8 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Models.Glyphs.Glyph.g9 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (glyph : (Models.Glyphs.Glyph)) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.__enc_0 glyph)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.denote glyph) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.__enc_0 glyph)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 glyph) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.root glyph) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.Compose.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R0/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R0/RustStd.lean deleted file mode 100644 index e4b8d9b95..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R0/RustStd.lean +++ /dev/null @@ -1,234 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [{ constructors := [[], [], [], [], [], [], [], [], [], []] }], functions := [ - { parameters := [0], types := [(.adt 0)], result := .nat, - body := (.call 1 [(.var 0)]) }, - { parameters := [0], types := [(.adt 0)], result := .nat, - body := (.call 2 [(.var 0)]) }, - { parameters := [0], types := [(.adt 0)], result := .nat, - body := (.«match» .nat (.first (.call 3 [(.closure 4 []), (.build .pair (.pair (.option (.pair .nat .int)) (.list .nat)) [(.build .none (.option (.pair .nat .int)) []), (.build .cons (.list .nat) [(.value .nat (.nat 0)), (.build .cons (.list .nat) [(.value .nat (.nat 1)), (.build .cons (.list .nat) [(.value .nat (.nat 2)), (.build .cons (.list .nat) [(.value .nat (.nat 3)), (.build .cons (.list .nat) [(.value .nat (.nat 4)), (.build .cons (.list .nat) [(.value .nat (.nat 5)), (.build .cons (.list .nat) [(.value .nat (.nat 6)), (.build .cons (.list .nat) [(.value .nat (.nat 7)), (.build .cons (.list .nat) [(.value .nat (.nat 8)), (.build .cons (.list .nat) [(.value .nat (.nat 9)), (.build .nil (.list .nat) [])])])])])])])])])])])]), (.call 5 [(.var 0)])])) [(.arm .none [] (.value .nat (.nat 0))), (.arm .some [1] (.first (.var 1)))]) }, - { parameters := [0, 1, 2], types := [(.fn [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat))), (.pair (.option (.pair .nat .int)) (.list .nat)), (.list .int)], result := (.pair (.option (.pair .nat .int)) (.list .nat)), - body := (.«match» (.pair (.option (.pair .nat .int)) (.list .nat)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 3 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1], types := [(.pair (.option (.pair .nat .int)) (.list .nat)), .int], result := (.pair (.option (.pair .nat .int)) (.list .nat)), - body := (.«match» (.pair (.option (.pair .nat .int)) (.list .nat)) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair (.option (.pair .nat .int)) (.list .nat)) [(.«match» (.option (.pair .nat .int)) (.first (.var 0)) [(.arm .none [] (.build .some (.option (.pair .nat .int)) [(.build .pair (.pair .nat .int) [(.var 2), (.var 1)])])), (.arm .some [4] (.cond (.«match» .bool (.prim .compare [(.second (.var 4)), (.var 1)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.build .some (.option (.pair .nat .int)) [(.build .pair (.pair .nat .int) [(.var 2), (.var 1)])]) (.build .some (.option (.pair .nat .int)) [(.var 4)])))]), (.var 3)]))]) }, - { parameters := [0], types := [(.adt 0)], result := (.list .int), - body := (.call 6 [(.call 7 [(.call 8 [(.call 9 [(.call 10 [(.var 0)])])])])]) }, - { parameters := [0], types := [(.list .int)], result := (.list .int), - body := (.first (.call 11 [(.closure 12 [(.var 0)]), (.build .pair (.pair (.list .int) (.list .int)) [(.build .nil (.list .int) []), (.call 13 [])]), (.call 14 [])])) }, - { parameters := [0], types := [(.list .int)], result := (.list .int), - body := (.call 15 [(.closure 16 []), (.build .nil (.list .int) []), (.var 0)]) }, - { parameters := [0], types := [(.list .int)], result := (.list .int), - body := (.call 15 [(.closure 17 []), (.build .nil (.list .int) []), (.var 0)]) }, - { parameters := [0], types := [(.list .int)], result := (.list .int), - body := (.first (.call 11 [(.closure 18 [(.var 0)]), (.build .pair (.pair (.list .int) (.list .int)) [(.build .nil (.list .int) []), (.call 19 [])]), (.call 20 [])])) }, - { parameters := [0], types := [(.adt 0)], result := (.list .int), - body := (.call 21 [(.var 0)]) }, - { parameters := [0, 1, 2], types := [(.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (.pair (.list .int) (.list .int)), (.list (.list .int))], result := (.pair (.list .int) (.list .int)), - body := (.«match» (.pair (.list .int) (.list .int)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 11 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1, 2], types := [(.list .int), (.pair (.list .int) (.list .int)), (.list .int)], result := (.pair (.list .int) (.list .int)), - body := (.«match» (.pair (.list .int) (.list .int)) (.second (.var 1)) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.build .pair (.pair (.list .int) (.list .int)) [(.prim .append [(.first (.var 1)), (.build .cons (.list .int) [(.prim .intSub [(.var 3), (.prim .intNeg [(.first (.call 22 [(.closure 23 []), (.build .pair (.pair .int (.list .int)) [(.value .int (.int 0)), (.var 0)]), (.var 2)]))])]), (.build .nil (.list .int) [])])]), (.var 4)]))]) }, - { parameters := [], types := [], result := (.list .int), - body := (.build .cons (.list .int) [(.value .int (.int (-6))), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int (-4))), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int (-6))), (.build .cons (.list .int) [(.value .int (.int (-3))), (.build .cons (.list .int) [(.value .int (.int (-7))), (.build .cons (.list .int) [(.value .int (.int (-6))), (.build .nil (.list .int) [])])])])])])])])])])]) }, - { parameters := [], types := [], result := (.list (.list .int)), - body := (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .nil (.list (.list .int)) [])])])])])])])])])])]) }, - { parameters := [0, 1, 2], types := [(.fn [(.list .int), .int] (.list .int)), (.list .int), (.list .int)], result := (.list .int), - body := (.«match» (.list .int) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 15 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1], types := [(.list .int), .int], result := (.list .int), - body := (.prim .append [(.var 0), (.build .cons (.list .int) [(.«let» 2 .int (.prim .intQuot [(.var 1), (.value .int (.int 4)), (.value .int (.int 0))]) (.cond (.«match» .bool (.prim .compare [(.var 2), (.value .int (.int 0))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.value .int (.int 0)) (.cond (.«match» .bool (.prim .compare [(.value .int (.int 127)), (.var 2)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.value .int (.int 127)) (.var 2)))), (.build .nil (.list .int) [])])]) }, - { parameters := [0, 1], types := [(.list .int), .int], result := (.list .int), - body := (.prim .append [(.var 0), (.build .cons (.list .int) [(.cond (.«match» .bool (.prim .compare [(.var 1), (.value .int (.int 0))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.value .int (.int 0)) (.var 1)), (.build .nil (.list .int) [])])]) }, - { parameters := [0, 1, 2], types := [(.list .int), (.pair (.list .int) (.list .int)), (.list .int)], result := (.pair (.list .int) (.list .int)), - body := (.«match» (.pair (.list .int) (.list .int)) (.second (.var 1)) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.build .pair (.pair (.list .int) (.list .int)) [(.prim .append [(.first (.var 1)), (.build .cons (.list .int) [(.prim .intSub [(.var 3), (.prim .intNeg [(.first (.call 22 [(.closure 24 []), (.build .pair (.pair .int (.list .int)) [(.value .int (.int 0)), (.var 0)]), (.var 2)]))])]), (.build .nil (.list .int) [])])]), (.var 4)]))]) }, - { parameters := [], types := [], result := (.list .int), - body := (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int 3)), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .nil (.list .int) [])])])])])])])])])])])])]) }, - { parameters := [], types := [], result := (.list (.list .int)), - body := (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 3)), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int (-1))), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int (-3))), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int (-1))), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int (-4))), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 3)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .nil (.list (.list .int)) [])])])])])])])])])])])])]) }, - { parameters := [0], types := [(.adt 0)], result := (.list .int), - body := (.«match» (.list .int) (.var 0) [(.arm (.adt 0) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 1) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 2) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 3) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 4) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 5) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 6) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 7) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 8) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 9) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])]))]) }, - { parameters := [0, 1, 2], types := [(.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (.pair .int (.list .int)), (.list .int)], result := (.pair .int (.list .int)), - body := (.«match» (.pair .int (.list .int)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 22 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1], types := [(.pair .int (.list .int)), .int], result := (.pair .int (.list .int)), - body := (.«match» (.pair .int (.list .int)) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair .int (.list .int)) [(.prim .intSub [(.first (.var 0)), (.prim .intNeg [(.prim .intMul [(.var 1), (.var 2)])])]), (.var 3)]))]) }, - { parameters := [0, 1], types := [(.pair .int (.list .int)), .int], result := (.pair .int (.list .int)), - body := (.«match» (.pair .int (.list .int)) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair .int (.list .int)) [(.prim .intSub [(.first (.var 0)), (.prim .intNeg [(.prim .intMul [(.var 1), (.var 2)])])]), (.var 3)]))]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := ((.enum (.adt 0) [{ number := 0, fields := [] }, { number := 1, fields := [] }, { number := 2, fields := [] }, { number := 3, fields := [] }, { number := 4, fields := [] }, { number := 5, fields := [] }, { number := 6, fields := [] }, { number := 7, fields := [] }, { number := 8, fields := [] }, { number := 9, fields := [] }]) :: - (.enum (.fn 0) [{ number := 4, fields := [] }]) :: - (.apply 0 [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat)) false [{ function := 4, captures := [], functionFallible := false }]) :: - (.enum (.fn 1) [{ number := 12, fields := [(.list .int)] }, { number := 18, fields := [(.list .int)] }]) :: - (.apply 1 [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int)) true [{ function := 12, captures := [.clone], functionFallible := true }, { function := 18, captures := [.clone], functionFallible := true }]) :: - (.enum (.fn 2) [{ number := 16, fields := [] }, { number := 17, fields := [] }]) :: - (.apply 2 [(.list .int), .int] (.list .int) true [{ function := 16, captures := [], functionFallible := true }, { function := 17, captures := [], functionFallible := false }]) :: - (.enum (.fn 3) [{ number := 23, fields := [] }, { number := 24, fields := [] }]) :: - (.apply 3 [(.pair .int (.list .int)), .int] (.pair .int (.list .int)) true [{ function := 23, captures := [], functionFallible := true }, { function := 24, captures := [], functionFallible := true }]) :: - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [] (.call (.function 1) [(.move (.generated .binding 0))] false))) :: - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [] (.call (.function 2) [(.move (.generated .binding 0))] false))) :: - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 2)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.call (.function 3) [(.construct (.closure 0 4) []), (.pair (.construct (.none (.pair .nat .int)) []) (.construct .cons [(.lit (.nat 0)), (.construct .cons [(.lit (.nat 1)), (.construct .cons [(.lit (.nat 2)), (.construct .cons [(.lit (.nat 3)), (.construct .cons [(.lit (.nat 4)), (.construct .cons [(.lit (.nat 5)), (.construct .cons [(.lit (.nat 6)), (.construct .cons [(.lit (.nat 7)), (.construct .cons [(.lit (.nat 8)), (.construct .cons [(.lit (.nat 9)), (.construct (.nil .nat) [])])])])])])])])])])])), (.call (.function 5) [(.move (.generated .binding 0))] true)] false))] (.move (.generated .part 1)))))] (.matchOn (.move (.generated .holder 2)) [(.mk .none (.mk [] (.succeed (.lit (.nat 0))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.copy (.generated .binding 1)))] (.succeed (.move (.generated .part 3)))))]))) :: - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := (.pair (.option (.pair .nat .int)) (.list .nat)) }, { pattern := (.bind (.generated .binding 2)), type := (.list .int) }] (.pair (.option (.pair .nat .int)) (.list .nat)) (.mk [(.mk (.bind (.generated .holder 4)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 4)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 3) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 5)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 5) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)))]))) :: - (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.pair (.option (.pair .nat .int)) (.list .nat)) }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.pair (.option (.pair .nat .int)) (.list .nat)) (.mk [(.mk (.bind (.generated .holder 7)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 6))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 6)))))] (.matchOn (.uncons (.generated .holder 7)) [(.mk .none (.mk [] (.move (.generated .binding 0)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 8)))))] (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 10))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 10))))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.cond (.matchOn (.move (.generated .holder 13)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.copy (.generated .binding 4))])))))]))) (.move (.generated .binding 3)))))]))) :: - (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.list .int)) (.mk [] (.call (.function 6) [(.call (.function 7) [(.call (.function 8) [(.call (.function 9) [(.call (.function 10) [(.move (.generated .binding 0))] false)] true)] true)] true)] false))) :: - (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }] (.fallible (.list .int)) (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.call (.function 11) [(.construct (.closure 1 12) [(.move (.generated .binding 0))]), (.pair (.construct (.nil .int) []) (.call (.function 13) [] false)), (.call (.function 14) [] false)] true))] (.succeed (.move (.generated .part 14))))) :: - (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }] (.fallible (.list .int)) (.mk [] (.call (.function 15) [(.construct (.closure 2 16) []), (.construct (.nil .int) []), (.move (.generated .binding 0))] false))) :: - (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }] (.fallible (.list .int)) (.mk [] (.call (.function 15) [(.construct (.closure 2 17) []), (.construct (.nil .int) []), (.move (.generated .binding 0))] false))) :: - (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }] (.fallible (.list .int)) (.mk [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.call (.function 11) [(.construct (.closure 1 18) [(.move (.generated .binding 0))]), (.pair (.construct (.nil .int) []) (.call (.function 19) [] false)), (.call (.function 20) [] false)] true))] (.succeed (.move (.generated .part 15))))) :: - (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.list .int) (.mk [] (.call (.function 21) [(.move (.generated .binding 0))] false))) :: - (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 1) }, { pattern := (.bind (.generated .binding 1)), type := (.pair (.list .int) (.list .int)) }, { pattern := (.bind (.generated .binding 2)), type := (.list (.list .int)) }] (.fallible (.pair (.list .int) (.list .int))) (.mk [(.mk (.bind (.generated .holder 16)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 16)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 11) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 17)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 17) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]))) :: - (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }, { pattern := (.bind (.generated .binding 1)), type := (.pair (.list .int) (.list .int)) }, { pattern := (.bind (.generated .binding 2)), type := (.list .int) }] (.fallible (.pair (.list .int) (.list .int))) (.mk [(.mk (.bind (.generated .holder 19)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 18))]) none (.clone (.generated .binding 1)))] (.move (.generated .part 18)))))] (.matchOn (.uncons (.generated .holder 19)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 25)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 20))))), (.mk (.bind (.generated .operand 26)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 24)) none (.block (.mk [(.mk (.bind (.generated .operand 22)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 21)), .wild]) none (.call (.function 22) [(.construct (.closure 3 23) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 21)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 22))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false))) (.move (.generated .binding 4))))))]))) :: - (.function (.generated .function 13) [] (.list .int) (.mk [] (.construct .cons [(.lit (.int (-6))), (.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int (-4))), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int (-6))), (.construct .cons [(.lit (.int (-3))), (.construct .cons [(.lit (.int (-7))), (.construct .cons [(.lit (.int (-6))), (.construct (.nil .int) [])])])])])])])])])])]))) :: - (.function (.generated .function 14) [] (.list (.list .int)) (.mk [] (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct (.nil (.list .int)) [])])])])])])])])])])]))) :: - (.function (.generated .function 15) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 2) }, { pattern := (.bind (.generated .binding 1)), type := (.list .int) }, { pattern := (.bind (.generated .binding 2)), type := (.list .int) }] (.fallible (.list .int)) (.mk [(.mk (.bind (.generated .holder 27)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 27)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 15) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 28)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 28) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]))) :: - (.function (.generated .function 16) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.fallible (.list .int)) (.mk [(.mk (.bind (.generated .operand 38)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 39)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .binding 2)) (some .int) (.block (.mk [(.mk (.bind (.generated .operand 29)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 30)) none (.lit (.int 4))), (.mk (.bind (.generated .operand 31)) none (.lit (.int 0)))] (.call (.runtime .intQuot) [(.move (.generated .operand 29)), (.move (.generated .operand 30)), (.move (.generated .operand 31))] true)))), (.mk (.bind (.generated .holder 34)) none (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 33)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] false))))] (.cond (.matchOn (.move (.generated .holder 34)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 0))) (.mk [(.mk (.bind (.generated .holder 37)) none (.block (.mk [(.mk (.bind (.generated .operand 35)) none (.lit (.int 127))), (.mk (.bind (.generated .operand 36)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] false))))] (.cond (.matchOn (.move (.generated .holder 37)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 127))) (.mk [] (.copy (.generated .binding 2)))))))), (.construct (.nil .int) [])]))] (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] false)))) :: - (.function (.generated .function 17) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.list .int) (.mk [(.mk (.bind (.generated .operand 43)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 44)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .holder 42)) none (.block (.mk [(.mk (.bind (.generated .operand 40)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 41)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 40)), (.move (.generated .operand 41))] false))))] (.cond (.matchOn (.move (.generated .holder 42)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 0))) (.mk [] (.copy (.generated .binding 1)))))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 43)), (.move (.generated .operand 44))] false))) :: - (.function (.generated .function 18) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }, { pattern := (.bind (.generated .binding 1)), type := (.pair (.list .int) (.list .int)) }, { pattern := (.bind (.generated .binding 2)), type := (.list .int) }] (.fallible (.pair (.list .int) (.list .int))) (.mk [(.mk (.bind (.generated .holder 46)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 45))]) none (.clone (.generated .binding 1)))] (.move (.generated .part 45)))))] (.matchOn (.uncons (.generated .holder 46)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 47)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 47))))), (.mk (.bind (.generated .operand 53)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 50)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 51)) none (.block (.mk [(.mk (.bind (.generated .operand 49)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 48)), .wild]) none (.call (.function 22) [(.construct (.closure 3 24) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 48)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 49))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false))) (.move (.generated .binding 4))))))]))) :: - (.function (.generated .function 19) [] (.list .int) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int 3)), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int 2)), (.construct (.nil .int) [])])])])])])])])])])])])]))) :: - (.function (.generated .function 20) [] (.list (.list .int)) (.mk [] (.construct .cons [(.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 3)), (.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int (-1))), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int (-3))), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int (-1))), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int (-2))), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int (-4))), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 3)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct (.nil (.list .int)) [])])])])])])])])])])])])]))) :: - (.function (.generated .function 21) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.list .int) (.mk [(.mk (.bind (.generated .holder 54)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 54)) [(.mk (.adt 0 0 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 1 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 2 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 3 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 4 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 5 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 6 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 7 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 8 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 9 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])))]))) :: - (.function (.generated .function 22) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 3) }, { pattern := (.bind (.generated .binding 1)), type := (.pair .int (.list .int)) }, { pattern := (.bind (.generated .binding 2)), type := (.list .int) }] (.fallible (.pair .int (.list .int))) (.mk [(.mk (.bind (.generated .holder 55)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 55)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 22) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 56)) (some (.fn 3)) (.move (.generated .binding 0)))] (.apply (.generated .callee 56) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]))) :: - (.function (.generated .function 23) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .int (.list .int)) }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.fallible (.pair .int (.list .int))) (.mk [(.mk (.bind (.generated .holder 58)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 57))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 57)))))] (.matchOn (.uncons (.generated .holder 58)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 63)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 59))))), (.mk (.bind (.generated .operand 64)) none (.block (.mk [(.mk (.bind (.generated .operand 62)) none (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 61)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 62))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 63)), (.move (.generated .operand 64))] true))) (.move (.generated .binding 3))))))]))) :: - (.function (.generated .function 24) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .int (.list .int)) }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.fallible (.pair .int (.list .int))) (.mk [(.mk (.bind (.generated .holder 66)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 65))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 65)))))] (.matchOn (.uncons (.generated .holder 66)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 71)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 67))))), (.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.bind (.generated .operand 70)) none (.block (.mk [(.mk (.bind (.generated .operand 68)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 69)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 68)), (.move (.generated .operand 69))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 70))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 71)), (.move (.generated .operand 72))] true))) (.move (.generated .binding 3))))))]))) :: - []) } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [(([(.pair (.option (.pair .nat .int)) (.list .nat)), .int], (.pair (.option (.pair .nat .int)) (.list .nat))), false), (([(.pair (.list .int) (.list .int)), (.list .int)], (.pair (.list .int) (.list .int))), true), (([(.list .int), .int], (.list .int)), true), (([(.pair .int (.list .int)), .int], (.pair .int (.list .int))), true)] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.move (.generated .binding 0))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.callF (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 2) [(.move (.generated .binding 0))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.callF (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 2)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.call (.function 3) [(.construct (.closure 0 4) []), (.pair (.construct (.none (.pair .nat .int)) []) (.construct .cons [(.lit (.nat 0)), (.construct .cons [(.lit (.nat 1)), (.construct .cons [(.lit (.nat 2)), (.construct .cons [(.lit (.nat 3)), (.construct .cons [(.lit (.nat 4)), (.construct .cons [(.lit (.nat 5)), (.construct .cons [(.lit (.nat 6)), (.construct .cons [(.lit (.nat 7)), (.construct .cons [(.lit (.nat 8)), (.construct .cons [(.lit (.nat 9)), (.construct (.nil .nat) [])])])])])])])])])])])), (.call (.function 5) [(.move (.generated .binding 0))] true)] false))] (.move (.generated .part 1)))))], (.matchOn (.move (.generated .holder 2)) [(.mk .none (.mk [] (.succeed (.lit (.nat 0))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.copy (.generated .binding 1)))] (.succeed (.move (.generated .part 3)))))]), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option (.pair .nat .int))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.call (.function 3) [(.construct (.closure 0 4) []), (.pair (.construct (.none (.pair .nat .int)) []) (.construct .cons [(.lit (.nat 0)), (.construct .cons [(.lit (.nat 1)), (.construct .cons [(.lit (.nat 2)), (.construct .cons [(.lit (.nat 3)), (.construct .cons [(.lit (.nat 4)), (.construct .cons [(.lit (.nat 5)), (.construct .cons [(.lit (.nat 6)), (.construct .cons [(.lit (.nat 7)), (.construct .cons [(.lit (.nat 8)), (.construct .cons [(.lit (.nat 9)), (.construct (.nil .nat) [])])])])])])])])])])])), (.call (.function 5) [(.move (.generated .binding 0))] true)] false))]) (tail := (.move (.generated .part 1))) (Corr.first (ta := (.option (.pair .nat .int))) (tb := (.list .nat)) (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat))), (.pair (.option (.pair .nat .int)) (.list .nat)), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := false) (ff := false) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl)) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 0)))) (Corr.mCons (Γ' := [(1, (.pair .nat .int), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.copy (.generated .binding 1)))]) (tail := (.succeed (.move (.generated .part 3)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.first (ta := .nat) (tb := .int) (Corr.var rfl rfl) rfl))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 4)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 4)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 3) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 5)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 5) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)))]), [(2, (.list .int), (some 2)), (1, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 1)), (0, (.fn [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 1)), (0, (.fn [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(4, (.list .int), (some 4)), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 1)), (0, (.fn [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 3) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 5)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 5) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.fn [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat))), (.pair (.option (.pair .nat .int)) (.list .nat)), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 5)) (some (.fn 0)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 5) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false)) (Corr.apply (ps := [(.pair (.option (.pair .nat .int)) (.list .nat)), .int]) (af := false) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun4 : FunOK program krate flags 4 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 7)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 6))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 6)))))], (.matchOn (.uncons (.generated .holder 7)) [(.mk .none (.mk [] (.move (.generated .binding 0)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 8)))))] (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 10))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 10))))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.cond (.matchOn (.move (.generated .holder 13)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.copy (.generated .binding 4))])))))]))) (.move (.generated .binding 3)))))]), [(1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 6))]) none (.clone (.generated .binding 0)))]) (tail := (.move (.generated .part 6))) (Corr.second (ta := (.option (.pair .nat .int))) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.pair (.block (.mk [(.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 8)))))] (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 10))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 10))))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.cond (.matchOn (.move (.generated .holder 13)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.copy (.generated .binding 4))])))))]))) (.move (.generated .binding 3)))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 8)))))]) (tail := (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 10))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 10))))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.cond (.matchOn (.move (.generated .holder 13)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.copy (.generated .binding 4))])))))])) (Corr.matchArms (st := (.option (.pair .nat .int))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.move (.generated .binding 0)))]) (tail := (.move (.generated .part 8))) (Corr.first (ta := (.option (.pair .nat .int))) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))])) (Corr.mCons (Γ' := [(4, (.pair .nat .int), (some 4)), (3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 10))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 10))))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 13)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.copy (.generated .binding 4))])))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 10))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 10))))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))]) (ce := (.matchOn (.move (.generated .holder 13)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 11)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 10))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 10))))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 10))]) none (.copy (.generated .binding 4)))]) (tail := (.move (.generated .part 10))) (Corr.second (ta := .nat) (tb := .int) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.pair .nat .int), (some 4)), (3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.pair .nat .int), (some 4)), (3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.pair .nat .int), (some 4)), (3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))])) (lb := []) (tb := (.construct .some [(.copy (.generated .binding 4))])) (Corr.build (ts := [(.pair .nat .int)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lNil))) rfl) (Corr.build (ts := [(.pair .nat .int)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)))) rfl rfl rfl (Corr.build (ts := [(.pair .nat .int)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))))) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun5 : FunOK program krate flags 5 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 6) [(.call (.function 7) [(.call (.function 8) [(.call (.function 9) [(.call (.function 10) [(.move (.generated .binding 0))] false)] true)] true)] true)] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.callF (ts := [(.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ - -theorem fun6 : FunOK program krate flags 6 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.call (.function 11) [(.construct (.closure 1 12) [(.move (.generated .binding 0))]), (.pair (.construct (.nil .int) []) (.call (.function 13) [] false)), (.call (.function 14) [] false)] true))], (.succeed (.move (.generated .part 14))), [(0, (.list .int), (some 0))], rfl, rfl, - (Corr.fOfB (Corr.first (ta := (.list .int)) (tb := (.list .int)) (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (.pair (.list .int) (.list .int)), (.list (.list .int))]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [(.list .int)]) (mask := [false]) (af := true) (ff := true) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := []) (Corr.opsNil) rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := []) (Corr.opsNil) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl))⟩⟩ - -theorem fun7 : FunOK program krate flags 7 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 15) [(.construct (.closure 2 16) []), (.construct (.nil .int) []), (.move (.generated .binding 0))] false), [(0, (.list .int), (some 0))], rfl, rfl, - (Corr.callF (ts := [(.fn [(.list .int), .int] (.list .int)), (.list .int), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ - -theorem fun8 : FunOK program krate flags 8 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 15) [(.construct (.closure 2 17) []), (.construct (.nil .int) []), (.move (.generated .binding 0))] false), [(0, (.list .int), (some 0))], rfl, rfl, - (Corr.callF (ts := [(.fn [(.list .int), .int] (.list .int)), (.list .int), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := false) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ - -theorem fun9 : FunOK program krate flags 9 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.call (.function 11) [(.construct (.closure 1 18) [(.move (.generated .binding 0))]), (.pair (.construct (.nil .int) []) (.call (.function 19) [] false)), (.call (.function 20) [] false)] true))], (.succeed (.move (.generated .part 15))), [(0, (.list .int), (some 0))], rfl, rfl, - (Corr.fOfB (Corr.first (ta := (.list .int)) (tb := (.list .int)) (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (.pair (.list .int) (.list .int)), (.list (.list .int))]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [(.list .int)]) (mask := [false]) (af := true) (ff := true) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := []) (Corr.opsNil) rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := []) (Corr.opsNil) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl))⟩⟩ - -theorem fun10 : FunOK program krate flags 10 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 21) [(.move (.generated .binding 0))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun11 : FunOK program krate flags 11 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 16)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 16)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 11) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 17)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 17) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list (.list .int)), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.list .int))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.list .int)), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list (.list .int)), (some 4)), (3, (.list .int), (some 3)), (2, (.list (.list .int)), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 11) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 17)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 17) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (.pair (.list .int) (.list .int)), (.list (.list .int))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 17)) (some (.fn 1)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 17) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true)) (Corr.apply (ps := [(.pair (.list .int) (.list .int)), (.list .int)]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun12 : FunOK program krate flags 12 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 19)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 18))]) none (.clone (.generated .binding 1)))] (.move (.generated .part 18)))))], (.matchOn (.uncons (.generated .holder 19)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 25)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 20))))), (.mk (.bind (.generated .operand 26)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 24)) none (.block (.mk [(.mk (.bind (.generated .operand 22)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 21)), .wild]) none (.call (.function 22) [(.construct (.closure 3 23) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 21)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 22))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false))) (.move (.generated .binding 4))))))]), [(2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 18))]) none (.clone (.generated .binding 1)))]) (tail := (.move (.generated .part 18))) (Corr.second (ta := (.list .int)) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .int), (some 4)), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 25)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 20))))), (.mk (.bind (.generated .operand 26)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 24)) none (.block (.mk [(.mk (.bind (.generated .operand 22)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 21)), .wild]) none (.call (.function 22) [(.construct (.closure 3 23) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 21)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 22))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false))) (.move (.generated .binding 4))))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 25)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 20))))), (.mk (.bind (.generated .operand 26)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 24)) none (.block (.mk [(.mk (.bind (.generated .operand 22)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 21)), .wild]) none (.call (.function 22) [(.construct (.closure 3 23) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 21)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 22))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] true))), (.construct (.nil .int) [])]))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false)) (Corr.prim (ts := [(.list .int), (.list .int)]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 20))) (Corr.first (ta := (.list .int)) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 24)) none (.block (.mk [(.mk (.bind (.generated .operand 22)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 21)), .wild]) none (.call (.function 22) [(.construct (.closure 3 23) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 21)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 22))] true))))]) (tail := (.call (.runtime .intSub) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 22)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 21)), .wild]) none (.call (.function 22) [(.construct (.closure 3 23) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 21)))))]) (tail := (.call (.runtime .intNeg) [(.move (.generated .operand 22))] true)) (Corr.prim (ts := [.int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 21)), .wild]) none (.call (.function 22) [(.construct (.closure 3 23) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))]) (tail := (.move (.generated .part 21))) (Corr.first (ta := .int) (tb := (.list .int)) (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (.pair .int (.list .int)), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun13 : FunOK program krate flags 13 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct .cons [(.lit (.int (-6))), (.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int (-4))), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int (-6))), (.construct .cons [(.lit (.int (-3))), (.construct .cons [(.lit (.int (-7))), (.construct .cons [(.lit (.int (-6))), (.construct (.nil .int) [])])])])])])])])])])]), [], rfl, rfl, - (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)⟩⟩ - -theorem fun14 : FunOK program krate flags 14 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct (.nil (.list .int)) [])])])])])])])])])])]), [], rfl, rfl, - (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)⟩⟩ - -theorem fun15 : FunOK program krate flags 15 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 27)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 27)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 15) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 28)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 28) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list .int), (some 2)), (1, (.list .int), (some 1)), (0, (.fn [(.list .int), .int] (.list .int)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, (.list .int), (some 1)), (0, (.fn [(.list .int), .int] (.list .int)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .int), (some 4)), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, (.list .int), (some 1)), (0, (.fn [(.list .int), .int] (.list .int)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 15) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 28)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 28) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.list .int), .int] (.list .int)), (.list .int), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 28)) (some (.fn 2)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 28) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true)) (Corr.apply (ps := [(.list .int), .int]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun16 : FunOK program krate flags 16 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 38)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 39)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .binding 2)) (some .int) (.block (.mk [(.mk (.bind (.generated .operand 29)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 30)) none (.lit (.int 4))), (.mk (.bind (.generated .operand 31)) none (.lit (.int 0)))] (.call (.runtime .intQuot) [(.move (.generated .operand 29)), (.move (.generated .operand 30)), (.move (.generated .operand 31))] true)))), (.mk (.bind (.generated .holder 34)) none (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 33)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] false))))] (.cond (.matchOn (.move (.generated .holder 34)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 0))) (.mk [(.mk (.bind (.generated .holder 37)) none (.block (.mk [(.mk (.bind (.generated .operand 35)) none (.lit (.int 127))), (.mk (.bind (.generated .operand 36)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] false))))] (.cond (.matchOn (.move (.generated .holder 37)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 127))) (.mk [] (.copy (.generated .binding 2)))))))), (.construct (.nil .int) [])]))], (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] false)), [(1, .int, (some 1)), (0, (.list .int), (some 0))], rfl, rfl, - (Corr.fOfB (Corr.prim (ts := [(.list .int), (.list .int)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .binding 2)) (some .int) (.block (.mk [(.mk (.bind (.generated .operand 29)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 30)) none (.lit (.int 4))), (.mk (.bind (.generated .operand 31)) none (.lit (.int 0)))] (.call (.runtime .intQuot) [(.move (.generated .operand 29)), (.move (.generated .operand 30)), (.move (.generated .operand 31))] true)))), (.mk (.bind (.generated .holder 34)) none (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 33)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 34)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 0))) (.mk [(.mk (.bind (.generated .holder 37)) none (.block (.mk [(.mk (.bind (.generated .operand 35)) none (.lit (.int 127))), (.mk (.bind (.generated .operand 36)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] false))))] (.cond (.matchOn (.move (.generated .holder 37)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 127))) (.mk [] (.copy (.generated .binding 2))))))) (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 29)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 30)) none (.lit (.int 4))), (.mk (.bind (.generated .operand 31)) none (.lit (.int 0)))]) (tail := (.call (.runtime .intQuot) [(.move (.generated .operand 29)), (.move (.generated .operand 30)), (.move (.generated .operand 31))] true)) (Corr.prim (ts := [.int, .int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 34)) none (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 33)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] false))))]) (ce := (.matchOn (.move (.generated .holder 34)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 33)) none (.lit (.int 0)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] false)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(2, .int, (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, .int, (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(2, .int, (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.int 0))) (lb := [(.mk (.bind (.generated .holder 37)) none (.block (.mk [(.mk (.bind (.generated .operand 35)) none (.lit (.int 127))), (.mk (.bind (.generated .operand 36)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] false))))]) (tb := (.cond (.matchOn (.move (.generated .holder 37)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 127))) (.mk [] (.copy (.generated .binding 2))))) (Corr.bOfE (Corr.value rfl rfl)) (Corr.cond (lc := [(.mk (.bind (.generated .holder 37)) none (.block (.mk [(.mk (.bind (.generated .operand 35)) none (.lit (.int 127))), (.mk (.bind (.generated .operand 36)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] false))))]) (ce := (.matchOn (.move (.generated .holder 37)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 35)) none (.lit (.int 127))), (.mk (.bind (.generated .operand 36)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] false)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(2, .int, (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, .int, (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(2, .int, (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.int 127))) (lb := []) (tb := (.copy (.generated .binding 2))) (Corr.bOfE (Corr.value rfl rfl)) (Corr.bOfE (Corr.var rfl rfl)))))))) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl))⟩⟩ - -theorem fun17 : FunOK program krate flags 17 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 43)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 44)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .holder 42)) none (.block (.mk [(.mk (.bind (.generated .operand 40)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 41)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 40)), (.move (.generated .operand 41))] false))))] (.cond (.matchOn (.move (.generated .holder 42)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 0))) (.mk [] (.copy (.generated .binding 1)))))), (.construct (.nil .int) [])]))], (.call (.runtime .appendList) [(.move (.generated .operand 43)), (.move (.generated .operand 44))] false), [(1, .int, (some 1)), (0, (.list .int), (some 0))], rfl, rfl, - (Corr.prim (ts := [(.list .int), (.list .int)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 42)) none (.block (.mk [(.mk (.bind (.generated .operand 40)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 41)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 40)), (.move (.generated .operand 41))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 42)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 0))) (.mk [] (.copy (.generated .binding 1))))) (Corr.cond (lc := [(.mk (.bind (.generated .holder 42)) none (.block (.mk [(.mk (.bind (.generated .operand 40)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 41)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 40)), (.move (.generated .operand 41))] false))))]) (ce := (.matchOn (.move (.generated .holder 42)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 40)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 41)) none (.lit (.int 0)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 40)), (.move (.generated .operand 41))] false)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.int 0))) (lb := []) (tb := (.copy (.generated .binding 1))) (Corr.bOfE (Corr.value rfl rfl)) (Corr.bOfE (Corr.var rfl rfl))))) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun18 : FunOK program krate flags 18 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 46)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 45))]) none (.clone (.generated .binding 1)))] (.move (.generated .part 45)))))], (.matchOn (.uncons (.generated .holder 46)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 47)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 47))))), (.mk (.bind (.generated .operand 53)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 50)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 51)) none (.block (.mk [(.mk (.bind (.generated .operand 49)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 48)), .wild]) none (.call (.function 22) [(.construct (.closure 3 24) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 48)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 49))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false))) (.move (.generated .binding 4))))))]), [(2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 45))]) none (.clone (.generated .binding 1)))]) (tail := (.move (.generated .part 45))) (Corr.second (ta := (.list .int)) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .int), (some 4)), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 47)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 47))))), (.mk (.bind (.generated .operand 53)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 50)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 51)) none (.block (.mk [(.mk (.bind (.generated .operand 49)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 48)), .wild]) none (.call (.function 22) [(.construct (.closure 3 24) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 48)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 49))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false))) (.move (.generated .binding 4))))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 47)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 47))))), (.mk (.bind (.generated .operand 53)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 50)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 51)) none (.block (.mk [(.mk (.bind (.generated .operand 49)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 48)), .wild]) none (.call (.function 22) [(.construct (.closure 3 24) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 48)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 49))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true))), (.construct (.nil .int) [])]))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false)) (Corr.prim (ts := [(.list .int), (.list .int)]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 47)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 47))) (Corr.first (ta := (.list .int)) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 50)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 51)) none (.block (.mk [(.mk (.bind (.generated .operand 49)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 48)), .wild]) none (.call (.function 22) [(.construct (.closure 3 24) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 48)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 49))] true))))]) (tail := (.call (.runtime .intSub) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 49)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 48)), .wild]) none (.call (.function 22) [(.construct (.closure 3 24) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 48)))))]) (tail := (.call (.runtime .intNeg) [(.move (.generated .operand 49))] true)) (Corr.prim (ts := [.int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 48)), .wild]) none (.call (.function 22) [(.construct (.closure 3 24) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))]) (tail := (.move (.generated .part 48))) (Corr.first (ta := .int) (tb := (.list .int)) (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (.pair .int (.list .int)), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun19 : FunOK program krate flags 19 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int 3)), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int 2)), (.construct (.nil .int) [])])])])])])])])])])])])]), [], rfl, rfl, - (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)⟩⟩ - -theorem fun20 : FunOK program krate flags 20 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct .cons [(.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 3)), (.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int (-1))), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int (-3))), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int (-1))), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int (-2))), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int (-4))), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 3)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct (.nil (.list .int)) [])])])])])])])])])])])])]), [], rfl, rfl, - (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)⟩⟩ - -theorem fun21 : FunOK program krate flags 21 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 54)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 54)) [(.mk (.adt 0 0 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 1 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 2 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 3 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 4 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 5 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 6 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 7 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 8 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 9 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])))]), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 3) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 4) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 5) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 6) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 7) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 8) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 9) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun22 : FunOK program krate flags 22 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 55)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 55)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 22) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 56)) (some (.fn 3)) (.move (.generated .binding 0)))] (.apply (.generated .callee 56) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list .int), (some 2)), (1, (.pair .int (.list .int)), (some 1)), (0, (.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, (.pair .int (.list .int)), (some 1)), (0, (.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .int), (some 4)), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, (.pair .int (.list .int)), (some 1)), (0, (.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 22) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 56)) (some (.fn 3)) (.move (.generated .binding 0)))] (.apply (.generated .callee 56) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (.pair .int (.list .int)), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 56)) (some (.fn 3)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 56) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true)) (Corr.apply (ps := [(.pair .int (.list .int)), .int]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun23 : FunOK program krate flags 23 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 58)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 57))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 57)))))], (.matchOn (.uncons (.generated .holder 58)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 63)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 59))))), (.mk (.bind (.generated .operand 64)) none (.block (.mk [(.mk (.bind (.generated .operand 62)) none (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 61)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 62))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 63)), (.move (.generated .operand 64))] true))) (.move (.generated .binding 3))))))]), [(1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 57))]) none (.clone (.generated .binding 0)))]) (tail := (.move (.generated .part 57))) (Corr.second (ta := .int) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 0)))) (Corr.mCons (Γ' := [(3, (.list .int), (some 3)), (2, .int, (some 2)), (1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 63)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 59))))), (.mk (.bind (.generated .operand 64)) none (.block (.mk [(.mk (.bind (.generated .operand 62)) none (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 61)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 62))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 63)), (.move (.generated .operand 64))] true))) (.move (.generated .binding 3))))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 63)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 59))))), (.mk (.bind (.generated .operand 64)) none (.block (.mk [(.mk (.bind (.generated .operand 62)) none (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 61)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 62))] true))))]) (tail := (.call (.runtime .intSub) [(.move (.generated .operand 63)), (.move (.generated .operand 64))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.move (.generated .binding 0)))]) (tail := (.move (.generated .part 59))) (Corr.first (ta := .int) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 62)) none (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 61)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] true))))]) (tail := (.call (.runtime .intNeg) [(.move (.generated .operand 62))] true)) (Corr.prim (ts := [.int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 60)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 61)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .intMul) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun24 : FunOK program krate flags 24 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 66)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 65))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 65)))))], (.matchOn (.uncons (.generated .holder 66)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 71)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 67))))), (.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.bind (.generated .operand 70)) none (.block (.mk [(.mk (.bind (.generated .operand 68)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 69)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 68)), (.move (.generated .operand 69))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 70))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 71)), (.move (.generated .operand 72))] true))) (.move (.generated .binding 3))))))]), [(1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 65))]) none (.clone (.generated .binding 0)))]) (tail := (.move (.generated .part 65))) (Corr.second (ta := .int) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 0)))) (Corr.mCons (Γ' := [(3, (.list .int), (some 3)), (2, .int, (some 2)), (1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 71)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 67))))), (.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.bind (.generated .operand 70)) none (.block (.mk [(.mk (.bind (.generated .operand 68)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 69)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 68)), (.move (.generated .operand 69))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 70))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 71)), (.move (.generated .operand 72))] true))) (.move (.generated .binding 3))))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 71)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 67))))), (.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.bind (.generated .operand 70)) none (.block (.mk [(.mk (.bind (.generated .operand 68)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 69)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 68)), (.move (.generated .operand 69))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 70))] true))))]) (tail := (.call (.runtime .intSub) [(.move (.generated .operand 71)), (.move (.generated .operand 72))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.move (.generated .binding 0)))]) (tail := (.move (.generated .part 67))) (Corr.first (ta := .int) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 70)) none (.block (.mk [(.mk (.bind (.generated .operand 68)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 69)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 68)), (.move (.generated .operand 69))] true))))]) (tail := (.call (.runtime .intNeg) [(.move (.generated .operand 70))] true)) (Corr.prim (ts := [.int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 68)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 69)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .intMul) [(.move (.generated .operand 68)), (.move (.generated .operand 69))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | 4 => exact fun4 - | 5 => exact fun5 - | 6 => exact fun6 - | 7 => exact fun7 - | 8 => exact fun8 - | 9 => exact fun9 - | 10 => exact fun10 - | 11 => exact fun11 - | 12 => exact fun12 - | 13 => exact fun13 - | 14 => exact fun14 - | 15 => exact fun15 - | 16 => exact fun16 - | 17 => exact fun17 - | 18 => exact fun18 - | 19 => exact fun19 - | 20 => exact fun20 - | 21 => exact fun21 - | 22 => exact fun22 - | 23 => exact fun23 - | 24 => exact fun24 - | _ + 25 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R1.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R1.lean deleted file mode 100644 index 6b7e2f821..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R1.lean +++ /dev/null @@ -1,245 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Models.Flows -import Models.Glyphs -import Models.Ledger -import Models.Main -import Models.Pipeline -import Models.Policy -import Models.Recognizer -import Models.Session -import Models.Triage -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [{ constructors := [[], [], [], [], [], [], [], [], [], []] }], functions := [ - { parameters := [0], types := [(.adt 0)], result := (.result .nat (.pair .bool .bool)), - body := (.«let» 1 (.adt 0) (.var 0) (.«let» 2 .nat (.call 1 [(.var 1)]) (.cond (.call 2 [(.var 1), (.var 2)]) (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)]) (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])))) }, - { parameters := [0], types := [(.adt 0)], result := .nat, - body := (.call 3 [(.var 0)]) }, - { parameters := [0, 1], types := [(.adt 0), .nat], result := .bool, - body := (.prim .natEq [(.var 1), (.call 4 [(.var 0)])]) }, - { parameters := [0], types := [(.adt 0)], result := .nat, - body := (.«match» .nat (.first (.call 5 [(.closure 6 []), (.build .pair (.pair (.option (.pair .nat .int)) (.list .nat)) [(.build .none (.option (.pair .nat .int)) []), (.build .cons (.list .nat) [(.value .nat (.nat 0)), (.build .cons (.list .nat) [(.value .nat (.nat 1)), (.build .cons (.list .nat) [(.value .nat (.nat 2)), (.build .cons (.list .nat) [(.value .nat (.nat 3)), (.build .cons (.list .nat) [(.value .nat (.nat 4)), (.build .cons (.list .nat) [(.value .nat (.nat 5)), (.build .cons (.list .nat) [(.value .nat (.nat 6)), (.build .cons (.list .nat) [(.value .nat (.nat 7)), (.build .cons (.list .nat) [(.value .nat (.nat 8)), (.build .cons (.list .nat) [(.value .nat (.nat 9)), (.build .nil (.list .nat) [])])])])])])])])])])])]), (.call 7 [(.var 0)])])) [(.arm .none [] (.value .nat (.nat 0))), (.arm .some [1] (.first (.var 1)))]) }, - { parameters := [0], types := [(.adt 0)], result := .nat, - body := (.«match» .nat (.var 0) [(.arm (.adt 0) [] (.value .nat (.nat 0))), (.arm (.adt 1) [] (.value .nat (.nat 1))), (.arm (.adt 2) [] (.value .nat (.nat 2))), (.arm (.adt 3) [] (.value .nat (.nat 3))), (.arm (.adt 4) [] (.value .nat (.nat 4))), (.arm (.adt 5) [] (.value .nat (.nat 5))), (.arm (.adt 6) [] (.value .nat (.nat 6))), (.arm (.adt 7) [] (.value .nat (.nat 7))), (.arm (.adt 8) [] (.value .nat (.nat 8))), (.arm (.adt 9) [] (.value .nat (.nat 9)))]) }, - { parameters := [0, 1, 2], types := [(.fn [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat))), (.pair (.option (.pair .nat .int)) (.list .nat)), (.list .int)], result := (.pair (.option (.pair .nat .int)) (.list .nat)), - body := (.«match» (.pair (.option (.pair .nat .int)) (.list .nat)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 5 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1], types := [(.pair (.option (.pair .nat .int)) (.list .nat)), .int], result := (.pair (.option (.pair .nat .int)) (.list .nat)), - body := (.«match» (.pair (.option (.pair .nat .int)) (.list .nat)) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair (.option (.pair .nat .int)) (.list .nat)) [(.«match» (.option (.pair .nat .int)) (.first (.var 0)) [(.arm .none [] (.build .some (.option (.pair .nat .int)) [(.build .pair (.pair .nat .int) [(.var 2), (.var 1)])])), (.arm .some [4] (.cond (.«match» .bool (.prim .compare [(.second (.var 4)), (.var 1)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.build .some (.option (.pair .nat .int)) [(.build .pair (.pair .nat .int) [(.var 2), (.var 1)])]) (.build .some (.option (.pair .nat .int)) [(.var 4)])))]), (.var 3)]))]) }, - { parameters := [0], types := [(.adt 0)], result := (.list .int), - body := (.call 8 [(.call 9 [(.call 10 [(.call 11 [(.call 12 [(.var 0)])])])])]) }, - { parameters := [0], types := [(.list .int)], result := (.list .int), - body := (.first (.call 13 [(.closure 14 [(.var 0)]), (.build .pair (.pair (.list .int) (.list .int)) [(.build .nil (.list .int) []), (.call 15 [])]), (.call 16 [])])) }, - { parameters := [0], types := [(.list .int)], result := (.list .int), - body := (.call 17 [(.closure 18 []), (.build .nil (.list .int) []), (.var 0)]) }, - { parameters := [0], types := [(.list .int)], result := (.list .int), - body := (.call 17 [(.closure 19 []), (.build .nil (.list .int) []), (.var 0)]) }, - { parameters := [0], types := [(.list .int)], result := (.list .int), - body := (.first (.call 13 [(.closure 20 [(.var 0)]), (.build .pair (.pair (.list .int) (.list .int)) [(.build .nil (.list .int) []), (.call 21 [])]), (.call 22 [])])) }, - { parameters := [0], types := [(.adt 0)], result := (.list .int), - body := (.call 23 [(.var 0)]) }, - { parameters := [0, 1, 2], types := [(.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (.pair (.list .int) (.list .int)), (.list (.list .int))], result := (.pair (.list .int) (.list .int)), - body := (.«match» (.pair (.list .int) (.list .int)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 13 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1, 2], types := [(.list .int), (.pair (.list .int) (.list .int)), (.list .int)], result := (.pair (.list .int) (.list .int)), - body := (.«match» (.pair (.list .int) (.list .int)) (.second (.var 1)) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.build .pair (.pair (.list .int) (.list .int)) [(.prim .append [(.first (.var 1)), (.build .cons (.list .int) [(.prim .intSub [(.var 3), (.prim .intNeg [(.first (.call 24 [(.closure 25 []), (.build .pair (.pair .int (.list .int)) [(.value .int (.int 0)), (.var 0)]), (.var 2)]))])]), (.build .nil (.list .int) [])])]), (.var 4)]))]) }, - { parameters := [], types := [], result := (.list .int), - body := (.build .cons (.list .int) [(.value .int (.int (-6))), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int (-4))), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int (-6))), (.build .cons (.list .int) [(.value .int (.int (-3))), (.build .cons (.list .int) [(.value .int (.int (-7))), (.build .cons (.list .int) [(.value .int (.int (-6))), (.build .nil (.list .int) [])])])])])])])])])])]) }, - { parameters := [], types := [], result := (.list (.list .int)), - body := (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .nil (.list (.list .int)) [])])])])])])])])])])]) }, - { parameters := [0, 1, 2], types := [(.fn [(.list .int), .int] (.list .int)), (.list .int), (.list .int)], result := (.list .int), - body := (.«match» (.list .int) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 17 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1], types := [(.list .int), .int], result := (.list .int), - body := (.prim .append [(.var 0), (.build .cons (.list .int) [(.«let» 2 .int (.prim .intQuot [(.var 1), (.value .int (.int 4)), (.value .int (.int 0))]) (.cond (.«match» .bool (.prim .compare [(.var 2), (.value .int (.int 0))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.value .int (.int 0)) (.cond (.«match» .bool (.prim .compare [(.value .int (.int 127)), (.var 2)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.value .int (.int 127)) (.var 2)))), (.build .nil (.list .int) [])])]) }, - { parameters := [0, 1], types := [(.list .int), .int], result := (.list .int), - body := (.prim .append [(.var 0), (.build .cons (.list .int) [(.cond (.«match» .bool (.prim .compare [(.var 1), (.value .int (.int 0))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.value .int (.int 0)) (.var 1)), (.build .nil (.list .int) [])])]) }, - { parameters := [0, 1, 2], types := [(.list .int), (.pair (.list .int) (.list .int)), (.list .int)], result := (.pair (.list .int) (.list .int)), - body := (.«match» (.pair (.list .int) (.list .int)) (.second (.var 1)) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.build .pair (.pair (.list .int) (.list .int)) [(.prim .append [(.first (.var 1)), (.build .cons (.list .int) [(.prim .intSub [(.var 3), (.prim .intNeg [(.first (.call 24 [(.closure 26 []), (.build .pair (.pair .int (.list .int)) [(.value .int (.int 0)), (.var 0)]), (.var 2)]))])]), (.build .nil (.list .int) [])])]), (.var 4)]))]) }, - { parameters := [], types := [], result := (.list .int), - body := (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int 3)), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .nil (.list .int) [])])])])])])])])])])])])]) }, - { parameters := [], types := [], result := (.list (.list .int)), - body := (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 3)), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int (-1))), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int (-3))), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int (-1))), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int (-4))), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 3)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .nil (.list (.list .int)) [])])])])])])])])])])])])]) }, - { parameters := [0], types := [(.adt 0)], result := (.list .int), - body := (.«match» (.list .int) (.var 0) [(.arm (.adt 0) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 1) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 2) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 3) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 4) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 5) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 6) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 7) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 8) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 9) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])]))]) }, - { parameters := [0, 1, 2], types := [(.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (.pair .int (.list .int)), (.list .int)], result := (.pair .int (.list .int)), - body := (.«match» (.pair .int (.list .int)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 24 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1], types := [(.pair .int (.list .int)), .int], result := (.pair .int (.list .int)), - body := (.«match» (.pair .int (.list .int)) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair .int (.list .int)) [(.prim .intSub [(.first (.var 0)), (.prim .intNeg [(.prim .intMul [(.var 1), (.var 2)])])]), (.var 3)]))]) }, - { parameters := [0, 1], types := [(.pair .int (.list .int)), .int], result := (.pair .int (.list .int)), - body := (.«match» (.pair .int (.list .int)) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair .int (.list .int)) [(.prim .intSub [(.first (.var 0)), (.prim .intNeg [(.prim .intMul [(.var 1), (.var 2)])])]), (.var 3)]))]) }] } - -def __enc_0 : (Models.Glyphs.Glyph) -> _root_.LexLeanTarget.TargetSyntax.Value - | Models.Glyphs.Glyph.g0 => _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [] - | Models.Glyphs.Glyph.g1 => _root_.LexLeanTarget.TargetSyntax.Value.adt 1 [] - | Models.Glyphs.Glyph.g2 => _root_.LexLeanTarget.TargetSyntax.Value.adt 2 [] - | Models.Glyphs.Glyph.g3 => _root_.LexLeanTarget.TargetSyntax.Value.adt 3 [] - | Models.Glyphs.Glyph.g4 => _root_.LexLeanTarget.TargetSyntax.Value.adt 4 [] - | Models.Glyphs.Glyph.g5 => _root_.LexLeanTarget.TargetSyntax.Value.adt 5 [] - | Models.Glyphs.Glyph.g6 => _root_.LexLeanTarget.TargetSyntax.Value.adt 6 [] - | Models.Glyphs.Glyph.g7 => _root_.LexLeanTarget.TargetSyntax.Value.adt 7 [] - | Models.Glyphs.Glyph.g8 => _root_.LexLeanTarget.TargetSyntax.Value.adt 8 [] - | Models.Glyphs.Glyph.g9 => _root_.LexLeanTarget.TargetSyntax.Value.adt 9 [] - -def __fits_6 (_ybest : (Prod (Option (Prod Nat Int)) (List Nat))) (_yscore : Int) : Bool := - (Bool.true && (match (_ybest).2 with | List.nil => Bool.true | List.cons _ylabel _ylabels => (((Bool.true && (match (_ybest).1 with | Option.none => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.some _yleader => ((Bool.true && (Bool.true && Bool.true)) && (if (Models.Recognizer.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) else ((Bool.true && Bool.true) && Bool.true))))) && (Bool.true && Bool.true)) && Bool.true))) - -theorem __rel_6 (_ybest : (Prod (Option (Prod Nat Int)) (List Nat))) (_yscore : Int) : _root_.LexLeanPreservation.FunRel __prog 6 [((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) _ybest), (_root_.LexLeanTarget.TargetSyntax.Value.int _yscore)] (_root_.LexLeanPreservation.Rel (__fits_6 _ybest _yscore) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) ((match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) | Option.some _yleader => (if (Models.Recognizer.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int))))), _ylabels))))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (List Nat)) => (match __a with | List.nil => Bool.true | List.cons _ylabel _ylabels => (((Bool.true && (match (_ybest).1 with | Option.none => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.some _yleader => ((Bool.true && (Bool.true && Bool.true)) && (if (Models.Recognizer.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) else ((Bool.true && Bool.true) && Bool.true))))) && (Bool.true && Bool.true)) && Bool.true))) (fun (__a : (List Nat)) => (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (match __a with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) | Option.some _yleader => (if (Models.Recognizer.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int))))), _ylabels))) (_ybest).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (List Nat)) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | List.cons _ylabel _ylabels => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (fun (__a : (Option (Prod Nat Int))) => (match __a with | Option.none => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.some _yleader => ((Bool.true && (Bool.true && Bool.true)) && (if (Models.Recognizer.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) else ((Bool.true && Bool.true) && Bool.true))))) (fun (__a : (Option (Prod Nat Int))) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (match __a with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) | Option.some _yleader => (if (Models.Recognizer.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int)))))) (_ybest).1 (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (Option (Prod Nat Int))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.some _yleader => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) else ((Bool.true && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (if __b then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int))))) (Models.Recognizer.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) (_root_.LexLeanPreservation.conv_lessThan (_root_.LexLeanPreservation.keySpec_int (Models.Recognizer.LexLeanCollections.Key.compare : Int -> Int -> Ordering) (fun _ _ => rfl)) Models.Recognizer.LexLeanCollections.lessThan (fun _ _ __h => by simp only [Models.Recognizer.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [Models.Recognizer.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [Models.Recognizer.LexLeanCollections.lessThan, __h]) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some))))))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) - -def __fits_25 (_ysum : (Prod Int (List Int))) (_yweight : Int) : Bool := - (Bool.true && (match (_ysum).2 with | List.nil => Bool.true | List.cons _yvalue _yrest => ((((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) && Bool.true) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int))) && (Bool.true && Bool.true)) && Bool.true))) - -theorem __rel_25 (_ysum : (Prod Int (List Int))) (_yweight : Int) : _root_.LexLeanPreservation.FunRel __prog 25 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) _ysum), (_root_.LexLeanTarget.TargetSyntax.Value.int _yweight)] (_root_.LexLeanPreservation.Rel (__fits_25 _ysum _yweight) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) ((match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest))))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (fun (__a : (List Int)) => (match __a with | List.nil => Bool.true | List.cons _yvalue _yrest => ((((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) && Bool.true) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int))) && (Bool.true && Bool.true)) && Bool.true))) (fun (__a : (List Int)) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (match __a with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest))) (_ysum).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (List Int)) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | List.cons _yvalue _yrest => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intMul _yweight _yvalue)) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_intNeg (Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intSub (_ysum).1 (Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) - -def __fits_14 (_yvalues : (List Int)) (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) : Bool := - (Bool.true && (match (_yacc).2 with | List.nil => Bool.true | List.cons _ybias _ybiases => ((((Bool.true && (((((Bool.true && (((((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_25 __p0 __p1) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow))) && Bool.true) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.subtract (_ybias) ((Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int))) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && Bool.true))) - -theorem __rel_14 (_yvalues : (List Int)) (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) : _root_.LexLeanPreservation.FunRel __prog 14 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues), ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) _yacc), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yrow)] (_root_.LexLeanPreservation.Rel (__fits_14 _yvalues _yacc _yrow) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) ((match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((Models.Recognizer.LexLeanRuntime.append ((_yacc).1) (((Models.Recognizer.LexLeanRuntime.subtract (_ybias) ((Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases))))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (fun (__a : (List Int)) => (match __a with | List.nil => Bool.true | List.cons _ybias _ybiases => ((((Bool.true && (((((Bool.true && (((((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_25 __p0 __p1) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow))) && Bool.true) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.subtract (_ybias) ((Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int))) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && Bool.true))) (fun (__a : (List Int)) => (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (match __a with | List.nil => _yacc | List.cons _ybias _ybiases => ((Models.Recognizer.LexLeanRuntime.append ((_yacc).1) (((Models.Recognizer.LexLeanRuntime.subtract (_ybias) ((Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases))) (_yacc).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (List Int)) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | List.cons _ybias _ybiases => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.int) (es := (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int))) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (fun _ => rfl) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_25 __p0 __p1) 25 [] (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __rel_25 __p0 __p1) (p := __prog) (fi := 24) (ta := .int) (ts := (.pair .int (.list .int))) rfl (((0 : Int), _yvalues)) (_yrow)))) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_intNeg ((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intSub _ybias (Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (_yacc).1 ((Models.Recognizer.LexLeanRuntime.subtract (_ybias) ((Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int)))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) - -def __fits_15 : Bool := - ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) - -theorem __rel_15 : _root_.LexLeanPreservation.FunRel __prog 15 [] (_root_.LexLeanPreservation.Rel (__fits_15) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.outputBias))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) - -def __fits_16 : Bool := - ((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) - -theorem __rel_16 : _root_.LexLeanPreservation.FunRel __prog 16 [] (_root_.LexLeanPreservation.Rel (__fits_16) ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (Models.Recognizer.outputWeights))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) - -def __fits_8 (_yvalues : (List Int)) : Bool := - (((Bool.true && Bool.true) && ((((Bool.true && Bool.true) && ((Bool.true && (__fits_15)) && Bool.true)) && Bool.true) && ((Bool.true && (__fits_16)) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __fits_14 (_yvalues) __p0 __p1) ((fun (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) => (match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((Models.Recognizer.LexLeanRuntime.append ((_yacc).1) (((Models.Recognizer.LexLeanRuntime.subtract (_ybias) ((Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases)))) ((([] : List Int), (Models.Recognizer.outputBias))) ((Models.Recognizer.outputWeights)))) - -attribute [local irreducible] Models.Recognizer.outputBias Models.Recognizer.outputWeights in -theorem __rel_8 (_yvalues : (List Int)) : _root_.LexLeanPreservation.FunRel __prog 8 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues)] (_root_.LexLeanPreservation.Rel (__fits_8 _yvalues) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.DigitNet.layer4 _yvalues))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call _root_.LexLeanPreservation.convL_nil (__rel_15)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call _root_.LexLeanPreservation.convL_nil (__rel_16)) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (es := (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int))) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (fun _ => rfl) ((fun (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) => (match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((Models.Recognizer.LexLeanRuntime.append ((_yacc).1) (((Models.Recognizer.LexLeanRuntime.subtract (_ybias) ((Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases)))) (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __fits_14 (_yvalues) __p0 __p1) 14 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues)] (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __rel_14 (_yvalues) __p0 __p1) (p := __prog) (fi := 13) (ta := (.list .int)) (ts := (.pair (.list .int) (.list .int))) rfl ((([] : List Int), (Models.Recognizer.outputBias))) ((Models.Recognizer.outputWeights))))) - -def __fits_18 (_yout : (List Int)) (_yvalue : Int) : Bool := - ((Bool.true && ((((((Bool.true && (Bool.true && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.quotient (_yvalue) ((4 : Int)) ((0 : Int)) : Int))) && (let _yquotient : Int := (Models.Recognizer.LexLeanRuntime.quotient (_yvalue) ((4 : Int)) ((0 : Int)) : Int); ((Bool.true && (Bool.true && Bool.true)) && (if (Models.Recognizer.LexLeanCollections.lessThan (_yquotient) ((0 : Int)) : Bool) then Bool.true else ((Bool.true && (Bool.true && Bool.true)) && (if (Models.Recognizer.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) then Bool.true else Bool.true)))))) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) - -theorem __rel_18 (_yout : (List Int)) (_yvalue : Int) : _root_.LexLeanPreservation.FunRel __prog 18 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yout), (_root_.LexLeanTarget.TargetSyntax.Value.int _yvalue)] (_root_.LexLeanPreservation.Rel (__fits_18 _yout _yvalue) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) ((Models.Recognizer.LexLeanRuntime.append (_yout) (((let _yquotient : Int := (Models.Recognizer.LexLeanRuntime.quotient (_yvalue) ((4 : Int)) ((0 : Int)) : Int); (if (Models.Recognizer.LexLeanCollections.lessThan (_yquotient) ((0 : Int)) : Bool) then (0 : Int) else (if (Models.Recognizer.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) then (127 : Int) else _yquotient))) :: ([] : List Int))) : (List Int))))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (let _yquotient : Int := (Models.Recognizer.LexLeanRuntime.quotient (_yvalue) ((4 : Int)) ((0 : Int)) : Int); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.prim_intQuot _yvalue (4 : Int) (0 : Int))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else ((Bool.true && (Bool.true && Bool.true)) && (if (Models.Recognizer.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) then Bool.true else Bool.true)))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.int (if __b then (0 : Int) else (if (Models.Recognizer.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) then (127 : Int) else _yquotient))) (Models.Recognizer.LexLeanCollections.lessThan (_yquotient) ((0 : Int)) : Bool) (_root_.LexLeanPreservation.conv_lessThan (_root_.LexLeanPreservation.keySpec_int (Models.Recognizer.LexLeanCollections.Key.compare : Int -> Int -> Ordering) (fun _ _ => rfl)) Models.Recognizer.LexLeanCollections.lessThan (fun _ _ __h => by simp only [Models.Recognizer.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [Models.Recognizer.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [Models.Recognizer.LexLeanCollections.lessThan, __h]) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))) (fun _ => _root_.LexLeanPreservation.conv_value) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.int (if __b then (127 : Int) else _yquotient)) (Models.Recognizer.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) (_root_.LexLeanPreservation.conv_lessThan (_root_.LexLeanPreservation.keySpec_int (Models.Recognizer.LexLeanCollections.Key.compare : Int -> Int -> Ordering) (fun _ _ => rfl)) Models.Recognizer.LexLeanCollections.lessThan (fun _ _ __h => by simp only [Models.Recognizer.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [Models.Recognizer.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [Models.Recognizer.LexLeanCollections.lessThan, __h]) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (fun _ => _root_.LexLeanPreservation.conv_value) (fun _ => (_root_.LexLeanPreservation.conv_var rfl)))))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) _yout ((let _yquotient : Int := (Models.Recognizer.LexLeanRuntime.quotient (_yvalue) ((4 : Int)) ((0 : Int)) : Int); (if (Models.Recognizer.LexLeanCollections.lessThan (_yquotient) ((0 : Int)) : Bool) then (0 : Int) else (if (Models.Recognizer.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) then (127 : Int) else _yquotient))) :: ([] : List Int)))) - -def __fits_9 (_yvalues : (List Int)) : Bool := - ((Bool.true && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List Int)) (__p1 : Int) => __fits_18 __p0 __p1) ((fun (_yout : (List Int)) (_yvalue : Int) => (Models.Recognizer.LexLeanRuntime.append (_yout) (((let _yquotient : Int := (Models.Recognizer.LexLeanRuntime.quotient (_yvalue) ((4 : Int)) ((0 : Int)) : Int); (if (Models.Recognizer.LexLeanCollections.lessThan (_yquotient) ((0 : Int)) : Bool) then (0 : Int) else (if (Models.Recognizer.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) then (127 : Int) else _yquotient))) :: ([] : List Int))) : (List Int)))) (([] : List Int)) (_yvalues))) - -theorem __rel_9 (_yvalues : (List Int)) : _root_.LexLeanPreservation.FunRel __prog 9 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues)] (_root_.LexLeanPreservation.Rel (__fits_9 _yvalues) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.DigitNet.layer3 _yvalues))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.int) (es := (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (fun _ => rfl) ((fun (_yout : (List Int)) (_yvalue : Int) => (Models.Recognizer.LexLeanRuntime.append (_yout) (((let _yquotient : Int := (Models.Recognizer.LexLeanRuntime.quotient (_yvalue) ((4 : Int)) ((0 : Int)) : Int); (if (Models.Recognizer.LexLeanCollections.lessThan (_yquotient) ((0 : Int)) : Bool) then (0 : Int) else (if (Models.Recognizer.LexLeanCollections.lessThan ((127 : Int)) (_yquotient) : Bool) then (127 : Int) else _yquotient))) :: ([] : List Int))) : (List Int)))) (fun (__p0 : (List Int)) (__p1 : Int) => __fits_18 __p0 __p1) 18 [] (fun (__p0 : (List Int)) (__p1 : Int) => __rel_18 __p0 __p1) (p := __prog) (fi := 17) (ta := .int) (ts := (.list .int)) rfl (([] : List Int)) (_yvalues))) - -def __fits_19 (_yout : (List Int)) (_yvalue : Int) : Bool := - ((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (if (Models.Recognizer.LexLeanCollections.lessThan (_yvalue) ((0 : Int)) : Bool) then Bool.true else Bool.true)) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) - -theorem __rel_19 (_yout : (List Int)) (_yvalue : Int) : _root_.LexLeanPreservation.FunRel __prog 19 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yout), (_root_.LexLeanTarget.TargetSyntax.Value.int _yvalue)] (_root_.LexLeanPreservation.Rel (__fits_19 _yout _yvalue) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) ((Models.Recognizer.LexLeanRuntime.append (_yout) (((if (Models.Recognizer.LexLeanCollections.lessThan (_yvalue) ((0 : Int)) : Bool) then (0 : Int) else _yvalue) :: ([] : List Int))) : (List Int))))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.int (if __b then (0 : Int) else _yvalue)) (Models.Recognizer.LexLeanCollections.lessThan (_yvalue) ((0 : Int)) : Bool) (_root_.LexLeanPreservation.conv_lessThan (_root_.LexLeanPreservation.keySpec_int (Models.Recognizer.LexLeanCollections.Key.compare : Int -> Int -> Ordering) (fun _ _ => rfl)) Models.Recognizer.LexLeanCollections.lessThan (fun _ _ __h => by simp only [Models.Recognizer.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [Models.Recognizer.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [Models.Recognizer.LexLeanCollections.lessThan, __h]) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))) (fun _ => _root_.LexLeanPreservation.conv_value) (fun _ => (_root_.LexLeanPreservation.conv_var rfl))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) _yout ((if (Models.Recognizer.LexLeanCollections.lessThan (_yvalue) ((0 : Int)) : Bool) then (0 : Int) else _yvalue) :: ([] : List Int)))) - -def __fits_10 (_yvalues : (List Int)) : Bool := - ((Bool.true && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List Int)) (__p1 : Int) => __fits_19 __p0 __p1) ((fun (_yout : (List Int)) (_yvalue : Int) => (Models.Recognizer.LexLeanRuntime.append (_yout) (((if (Models.Recognizer.LexLeanCollections.lessThan (_yvalue) ((0 : Int)) : Bool) then (0 : Int) else _yvalue) :: ([] : List Int))) : (List Int)))) (([] : List Int)) (_yvalues))) - -theorem __rel_10 (_yvalues : (List Int)) : _root_.LexLeanPreservation.FunRel __prog 10 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues)] (_root_.LexLeanPreservation.Rel (__fits_10 _yvalues) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.DigitNet.layer2 _yvalues))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.int) (es := (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (fun _ => rfl) ((fun (_yout : (List Int)) (_yvalue : Int) => (Models.Recognizer.LexLeanRuntime.append (_yout) (((if (Models.Recognizer.LexLeanCollections.lessThan (_yvalue) ((0 : Int)) : Bool) then (0 : Int) else _yvalue) :: ([] : List Int))) : (List Int)))) (fun (__p0 : (List Int)) (__p1 : Int) => __fits_19 __p0 __p1) 19 [] (fun (__p0 : (List Int)) (__p1 : Int) => __rel_19 __p0 __p1) (p := __prog) (fi := 17) (ta := .int) (ts := (.list .int)) rfl (([] : List Int)) (_yvalues))) - -def __fits_26 (_ysum : (Prod Int (List Int))) (_yweight : Int) : Bool := - (Bool.true && (match (_ysum).2 with | List.nil => Bool.true | List.cons _yvalue _yrest => ((((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) && Bool.true) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int))) && (Bool.true && Bool.true)) && Bool.true))) - -theorem __rel_26 (_ysum : (Prod Int (List Int))) (_yweight : Int) : _root_.LexLeanPreservation.FunRel __prog 26 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) _ysum), (_root_.LexLeanTarget.TargetSyntax.Value.int _yweight)] (_root_.LexLeanPreservation.Rel (__fits_26 _ysum _yweight) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) ((match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest))))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (fun (__a : (List Int)) => (match __a with | List.nil => Bool.true | List.cons _yvalue _yrest => ((((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) && Bool.true) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int))) && (Bool.true && Bool.true)) && Bool.true))) (fun (__a : (List Int)) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (match __a with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest))) (_ysum).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (List Int)) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | List.cons _yvalue _yrest => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intMul _yweight _yvalue)) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_intNeg (Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intSub (_ysum).1 (Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) - -def __fits_20 (_yvalues : (List Int)) (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) : Bool := - (Bool.true && (match (_yacc).2 with | List.nil => Bool.true | List.cons _ybias _ybiases => ((((Bool.true && (((((Bool.true && (((((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_26 __p0 __p1) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow))) && Bool.true) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.subtract (_ybias) ((Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int))) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && Bool.true))) - -theorem __rel_20 (_yvalues : (List Int)) (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) : _root_.LexLeanPreservation.FunRel __prog 20 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues), ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) _yacc), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yrow)] (_root_.LexLeanPreservation.Rel (__fits_20 _yvalues _yacc _yrow) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) ((match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((Models.Recognizer.LexLeanRuntime.append ((_yacc).1) (((Models.Recognizer.LexLeanRuntime.subtract (_ybias) ((Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases))))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (fun (__a : (List Int)) => (match __a with | List.nil => Bool.true | List.cons _ybias _ybiases => ((((Bool.true && (((((Bool.true && (((((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_26 __p0 __p1) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow))) && Bool.true) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Recognizer.LexLeanRuntime.subtract (_ybias) ((Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int))) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && Bool.true))) (fun (__a : (List Int)) => (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (match __a with | List.nil => _yacc | List.cons _ybias _ybiases => ((Models.Recognizer.LexLeanRuntime.append ((_yacc).1) (((Models.Recognizer.LexLeanRuntime.subtract (_ybias) ((Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases))) (_yacc).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (List Int)) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | List.cons _ybias _ybiases => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.int) (es := (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int))) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (fun _ => rfl) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_26 __p0 __p1) 26 [] (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __rel_26 __p0 __p1) (p := __prog) (fi := 24) (ta := .int) (ts := (.pair .int (.list .int))) rfl (((0 : Int), _yvalues)) (_yrow)))) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_intNeg ((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intSub _ybias (Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (_yacc).1 ((Models.Recognizer.LexLeanRuntime.subtract (_ybias) ((Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int)))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) - -def __fits_21 : Bool := - ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) - -theorem __rel_21 : _root_.LexLeanPreservation.FunRel __prog 21 [] (_root_.LexLeanPreservation.Rel (__fits_21) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.hiddenBias))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) - -def __fits_22 : Bool := - ((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) - -theorem __rel_22 : _root_.LexLeanPreservation.FunRel __prog 22 [] (_root_.LexLeanPreservation.Rel (__fits_22) ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (Models.Recognizer.hiddenWeights))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) - -def __fits_11 (_yvalues : (List Int)) : Bool := - (((Bool.true && Bool.true) && ((((Bool.true && Bool.true) && ((Bool.true && (__fits_21)) && Bool.true)) && Bool.true) && ((Bool.true && (__fits_22)) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __fits_20 (_yvalues) __p0 __p1) ((fun (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) => (match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((Models.Recognizer.LexLeanRuntime.append ((_yacc).1) (((Models.Recognizer.LexLeanRuntime.subtract (_ybias) ((Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases)))) ((([] : List Int), (Models.Recognizer.hiddenBias))) ((Models.Recognizer.hiddenWeights)))) - -attribute [local irreducible] Models.Recognizer.hiddenBias Models.Recognizer.hiddenWeights in -theorem __rel_11 (_yvalues : (List Int)) : _root_.LexLeanPreservation.FunRel __prog 11 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues)] (_root_.LexLeanPreservation.Rel (__fits_11 _yvalues) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.DigitNet.layer1 _yvalues))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call _root_.LexLeanPreservation.convL_nil (__rel_21)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call _root_.LexLeanPreservation.convL_nil (__rel_22)) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (es := (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int))) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (fun _ => rfl) ((fun (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) => (match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((Models.Recognizer.LexLeanRuntime.append ((_yacc).1) (((Models.Recognizer.LexLeanRuntime.subtract (_ybias) ((Models.Recognizer.LexLeanRuntime.negate (((Models.Recognizer.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Recognizer.LexLeanRuntime.subtract ((_ysum).1) ((Models.Recognizer.LexLeanRuntime.negate ((Models.Recognizer.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases)))) (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __fits_20 (_yvalues) __p0 __p1) 20 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues)] (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __rel_20 (_yvalues) __p0 __p1) (p := __prog) (fi := 13) (ta := (.list .int)) (ts := (.pair (.list .int) (.list .int))) rfl ((([] : List Int), (Models.Recognizer.hiddenBias))) ((Models.Recognizer.hiddenWeights))))) - -def __fits_23 (glyph : (Models.Glyphs.Glyph)) : Bool := - (Bool.true && (match glyph with | Models.Glyphs.Glyph.g0 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g1 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g2 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g3 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g4 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g5 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g6 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g7 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g8 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g9 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) - -theorem __rel_23 (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.FunRel __prog 23 [(__enc_0 glyph)] (_root_.LexLeanPreservation.Rel (__fits_23 glyph) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Glyphs.encode glyph))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_0 (fun (__a : (Models.Glyphs.Glyph)) => (match __a with | Models.Glyphs.Glyph.g0 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g1 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g2 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g3 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g4 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g5 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g6 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g7 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g8 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Glyphs.Glyph.g9 => ((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) (fun (__a : (Models.Glyphs.Glyph)) => (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (match __a with | Models.Glyphs.Glyph.g0 => ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g1 => ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g2 => ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((1 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g3 => ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((0 : Int) :: ((1 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g4 => ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g5 => ((1 : Int) :: ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g6 => ((1 : Int) :: ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g7 => ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g8 => ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ([] : List Int)))))))) | Models.Glyphs.Glyph.g9 => ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ([] : List Int)))))))))) glyph (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Models.Glyphs.Glyph)) _ => match __a with | Models.Glyphs.Glyph.g0 => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons)) | Models.Glyphs.Glyph.g1 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))) | Models.Glyphs.Glyph.g2 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons)))) | Models.Glyphs.Glyph.g3 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))))) | Models.Glyphs.Glyph.g4 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons)))))) | Models.Glyphs.Glyph.g5 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))))))) | Models.Glyphs.Glyph.g6 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons)))))))) | Models.Glyphs.Glyph.g7 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))))))))) | Models.Glyphs.Glyph.g8 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons)))))))))) | Models.Glyphs.Glyph.g9 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))))))))))))) - -def __fits_12 (glyph : (Models.Glyphs.Glyph)) : Bool := - ((Bool.true && Bool.true) && (__fits_23 (glyph))) - -attribute [local irreducible] Models.Glyphs.encode in -theorem __rel_12 (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.FunRel __prog 12 [(__enc_0 glyph)] (_root_.LexLeanPreservation.Rel (__fits_12 glyph) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.DigitNet.encoded glyph))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_23 (glyph))) - -def __fits_7 (glyph : (Models.Glyphs.Glyph)) : Bool := - ((((((((((Bool.true && Bool.true) && (__fits_12 (glyph))) && Bool.true) && (__fits_11 ((Models.Recognizer.DigitNet.encoded (glyph))))) && Bool.true) && (__fits_10 ((Models.Recognizer.DigitNet.layer1 ((Models.Recognizer.DigitNet.encoded (glyph))))))) && Bool.true) && (__fits_9 ((Models.Recognizer.DigitNet.layer2 ((Models.Recognizer.DigitNet.layer1 ((Models.Recognizer.DigitNet.encoded (glyph))))))))) && Bool.true) && (__fits_8 ((Models.Recognizer.DigitNet.layer3 ((Models.Recognizer.DigitNet.layer2 ((Models.Recognizer.DigitNet.layer1 ((Models.Recognizer.DigitNet.encoded (glyph))))))))))) - -attribute [local irreducible] Models.Recognizer.DigitNet.encoded Models.Recognizer.DigitNet.layer1 Models.Recognizer.DigitNet.layer2 Models.Recognizer.DigitNet.layer3 Models.Recognizer.DigitNet.layer4 in -theorem __rel_7 (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.FunRel __prog 7 [(__enc_0 glyph)] (_root_.LexLeanPreservation.Rel (__fits_7 glyph) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Recognizer.DigitNet.logits glyph))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_12 (glyph))) _root_.LexLeanPreservation.convL_nil) (__rel_11 ((Models.Recognizer.DigitNet.encoded (glyph))))) _root_.LexLeanPreservation.convL_nil) (__rel_10 ((Models.Recognizer.DigitNet.layer1 ((Models.Recognizer.DigitNet.encoded (glyph))))))) _root_.LexLeanPreservation.convL_nil) (__rel_9 ((Models.Recognizer.DigitNet.layer2 ((Models.Recognizer.DigitNet.layer1 ((Models.Recognizer.DigitNet.encoded (glyph))))))))) _root_.LexLeanPreservation.convL_nil) (__rel_8 ((Models.Recognizer.DigitNet.layer3 ((Models.Recognizer.DigitNet.layer2 ((Models.Recognizer.DigitNet.layer1 ((Models.Recognizer.DigitNet.encoded (glyph))))))))))) - -def __fits_3 (glyph : (Models.Glyphs.Glyph)) : Bool := - (((Bool.true && ((((Bool.true && Bool.true) && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((Bool.true && Bool.true) && (__fits_7 (glyph))) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod (Option (Prod Nat Int)) (List Nat))) (__p1 : Int) => __fits_6 __p0 __p1) ((fun (_ybest : (Prod (Option (Prod Nat Int)) (List Nat))) (_yscore : Int) => (match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) | Option.some _yleader => (if (Models.Recognizer.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int))))), _ylabels)))) (((Option.none : (Option (Prod Nat Int))), ((0 : Nat) :: ((1 : Nat) :: ((2 : Nat) :: ((3 : Nat) :: ((4 : Nat) :: ((5 : Nat) :: ((6 : Nat) :: ((7 : Nat) :: ((8 : Nat) :: ((9 : Nat) :: ([] : List Nat))))))))))))) ((Models.Recognizer.DigitNet.logits (glyph))))) && (match ((Models.Recognizer.LexLeanCollections.listFold ((fun (_ybest : (Prod (Option (Prod Nat Int)) (List Nat))) (_yscore : Int) => (match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) | Option.some _yleader => (if (Models.Recognizer.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int))))), _ylabels)))) (((Option.none : (Option (Prod Nat Int))), ((0 : Nat) :: ((1 : Nat) :: ((2 : Nat) :: ((3 : Nat) :: ((4 : Nat) :: ((5 : Nat) :: ((6 : Nat) :: ((7 : Nat) :: ((8 : Nat) :: ((9 : Nat) :: ([] : List Nat))))))))))))) ((Models.Recognizer.DigitNet.logits (glyph))) : (Prod (Option (Prod Nat Int)) (List Nat)))).1 with | Option.none => Bool.true | Option.some _ywinner => Bool.true)) - -attribute [local irreducible] Models.Recognizer.DigitNet.logits in -theorem __rel_3 (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.FunRel __prog 3 [(__enc_0 glyph)] (_root_.LexLeanPreservation.Rel (__fits_3 glyph) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Recognizer.DigitNet glyph))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (fun (__a : (Option (Prod Nat Int))) => (match __a with | Option.none => Bool.true | Option.some _ywinner => Bool.true)) (fun (__a : (Option (Prod Nat Int))) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match __a with | Option.none => (0 : Nat) | Option.some _ywinner => (_ywinner).1)) ((Models.Recognizer.LexLeanCollections.listFold ((fun (_ybest : (Prod (Option (Prod Nat Int)) (List Nat))) (_yscore : Int) => (match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) | Option.some _yleader => (if (Models.Recognizer.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int))))), _ylabels)))) (((Option.none : (Option (Prod Nat Int))), ((0 : Nat) :: ((1 : Nat) :: ((2 : Nat) :: ((3 : Nat) :: ((4 : Nat) :: ((5 : Nat) :: ((6 : Nat) :: ((7 : Nat) :: ((8 : Nat) :: ((9 : Nat) :: ([] : List Nat))))))))))))) ((Models.Recognizer.DigitNet.logits (glyph))) : (Prod (Option (Prod Nat Int)) (List Nat)))).1 (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_7 (glyph))) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.int) (es := (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (fun _ => rfl) ((fun (_ybest : (Prod (Option (Prod Nat Int)) (List Nat))) (_yscore : Int) => (match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) | Option.some _yleader => (if (Models.Recognizer.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod Nat Int))) else (Option.some (_yleader) : (Option (Prod Nat Int))))), _ylabels)))) (fun (__p0 : (Prod (Option (Prod Nat Int)) (List Nat))) (__p1 : Int) => __fits_6 __p0 __p1) 6 [] (fun (__p0 : (Prod (Option (Prod Nat Int)) (List Nat))) (__p1 : Int) => __rel_6 __p0 __p1) (p := __prog) (fi := 5) (ta := .int) (ts := (.pair (.option (.pair .nat .int)) (.list .nat))) rfl (((Option.none : (Option (Prod Nat Int))), ((0 : Nat) :: ((1 : Nat) :: ((2 : Nat) :: ((3 : Nat) :: ((4 : Nat) :: ((5 : Nat) :: ((6 : Nat) :: ((7 : Nat) :: ((8 : Nat) :: ((9 : Nat) :: ([] : List Nat))))))))))))) ((Models.Recognizer.DigitNet.logits (glyph)))))) (fun (__a : (Option (Prod Nat Int))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value) | Option.some _ywinner => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)))))) - -def __fits_1 (_yinput : (Models.Glyphs.Glyph)) : Bool := - ((Bool.true && Bool.true) && (__fits_3 (_yinput))) - -attribute [local irreducible] Models.Recognizer.DigitNet in -theorem __rel_1 (_yinput : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.FunRel __prog 1 [(__enc_0 _yinput)] (_root_.LexLeanPreservation.Rel (__fits_1 _yinput) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Recognizer.RawDigitModel _yinput))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_3 (_yinput))) - -def __fits_4 (glyph : (Models.Glyphs.Glyph)) : Bool := - (Bool.true && (match glyph with | Models.Glyphs.Glyph.g0 => Bool.true | Models.Glyphs.Glyph.g1 => Bool.true | Models.Glyphs.Glyph.g2 => Bool.true | Models.Glyphs.Glyph.g3 => Bool.true | Models.Glyphs.Glyph.g4 => Bool.true | Models.Glyphs.Glyph.g5 => Bool.true | Models.Glyphs.Glyph.g6 => Bool.true | Models.Glyphs.Glyph.g7 => Bool.true | Models.Glyphs.Glyph.g8 => Bool.true | Models.Glyphs.Glyph.g9 => Bool.true)) - -theorem __rel_4 (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.FunRel __prog 4 [(__enc_0 glyph)] (_root_.LexLeanPreservation.Rel (__fits_4 glyph) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Glyphs.digitOf glyph))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_0 (fun (__a : (Models.Glyphs.Glyph)) => (match __a with | Models.Glyphs.Glyph.g0 => Bool.true | Models.Glyphs.Glyph.g1 => Bool.true | Models.Glyphs.Glyph.g2 => Bool.true | Models.Glyphs.Glyph.g3 => Bool.true | Models.Glyphs.Glyph.g4 => Bool.true | Models.Glyphs.Glyph.g5 => Bool.true | Models.Glyphs.Glyph.g6 => Bool.true | Models.Glyphs.Glyph.g7 => Bool.true | Models.Glyphs.Glyph.g8 => Bool.true | Models.Glyphs.Glyph.g9 => Bool.true)) (fun (__a : (Models.Glyphs.Glyph)) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match __a with | Models.Glyphs.Glyph.g0 => (0 : Nat) | Models.Glyphs.Glyph.g1 => (1 : Nat) | Models.Glyphs.Glyph.g2 => (2 : Nat) | Models.Glyphs.Glyph.g3 => (3 : Nat) | Models.Glyphs.Glyph.g4 => (4 : Nat) | Models.Glyphs.Glyph.g5 => (5 : Nat) | Models.Glyphs.Glyph.g6 => (6 : Nat) | Models.Glyphs.Glyph.g7 => (7 : Nat) | Models.Glyphs.Glyph.g8 => (8 : Nat) | Models.Glyphs.Glyph.g9 => (9 : Nat))) glyph (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Models.Glyphs.Glyph)) _ => match __a with | Models.Glyphs.Glyph.g0 => (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value) | Models.Glyphs.Glyph.g1 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value)) | Models.Glyphs.Glyph.g2 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value))) | Models.Glyphs.Glyph.g3 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value)))) | Models.Glyphs.Glyph.g4 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value))))) | Models.Glyphs.Glyph.g5 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value)))))) | Models.Glyphs.Glyph.g6 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value))))))) | Models.Glyphs.Glyph.g7 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value)))))))) | Models.Glyphs.Glyph.g8 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value))))))))) | Models.Glyphs.Glyph.g9 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value)))))))))))) - -def __fits_2 (glyph : (Models.Glyphs.Glyph)) (digit : Nat) : Bool := - ((Bool.true && (((Bool.true && Bool.true) && (__fits_4 (glyph))) && Bool.true)) && Bool.true) - -attribute [local irreducible] Models.Glyphs.digitOf in -theorem __rel_2 (glyph : (Models.Glyphs.Glyph)) (digit : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(__enc_0 glyph), (_root_.LexLeanTarget.TargetSyntax.Value.nat digit)] (_root_.LexLeanPreservation.Rel (__fits_2 glyph digit) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Recognizer.recognizesCheck glyph digit))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_4 (glyph))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq digit (Models.Glyphs.digitOf (glyph)))) - -def __fits_0 (glyph : (Models.Glyphs.Glyph)) : Bool := - (Bool.true && (let _ychecked1_input : (Models.Glyphs.Glyph) := glyph; (((Bool.true && Bool.true) && (__fits_1 (_ychecked1_input))) && (let _ychecked1_output : Nat := (Models.Recognizer.RawDigitModel (_ychecked1_input)); (((Bool.true && (Bool.true && Bool.true)) && (__fits_2 (_ychecked1_input) (_ychecked1_output))) && (if (Models.Recognizer.recognizesCheck (_ychecked1_input) (_ychecked1_output)) then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))))) - -attribute [local irreducible] Models.Recognizer.RawDigitModel Models.Recognizer.recognizesCheck in -theorem __rel_0 (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.FunRel __prog 0 [(__enc_0 glyph)] (_root_.LexLeanPreservation.Rel (__fits_0 glyph) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Main.classifyChecked glyph))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (let _ychecked1_input : (Models.Glyphs.Glyph) := glyph; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_var rfl) (let _ychecked1_output : Nat := (Models.Recognizer.RawDigitModel (_ychecked1_input)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (_ychecked1_input))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then (Except.ok (_ychecked1_output) : (Except (Prod Bool Bool) Nat)) else (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)))) (Models.Recognizer.recognizesCheck (_ychecked1_input) (_ychecked1_output)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_2 (_ychecked1_input) (_ychecked1_output))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))) - -def denote (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 glyph) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Main.classifyChecked glyph)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (glyph : (Models.Glyphs.Glyph)) : _root_.LexLeanPreservation.RunConv __prog 0 [(__enc_0 glyph)] (_root_.LexLeanPreservation.Rel (__fits_0 glyph) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Main.classifyChecked glyph))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 glyph) - -end LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1 diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R1/Compose/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R1/Compose/RustStd.lean deleted file mode 100644 index 3c0f0b25a..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R1/Compose/RustStd.lean +++ /dev/null @@ -1,28 +0,0 @@ -import LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1 -import LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.Compose.RustStd - -theorem __wt_0 : ∀ (__v : (Models.Glyphs.Glyph)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.RustStd.program _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.RustStd.krate _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.RustStd.flags (_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.__enc_0 __v) (.adt 0) - | Models.Glyphs.Glyph.g0 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Models.Glyphs.Glyph.g1 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Models.Glyphs.Glyph.g2 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Models.Glyphs.Glyph.g3 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Models.Glyphs.Glyph.g4 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Models.Glyphs.Glyph.g5 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Models.Glyphs.Glyph.g6 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Models.Glyphs.Glyph.g7 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Models.Glyphs.Glyph.g8 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Models.Glyphs.Glyph.g9 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (glyph : (Models.Glyphs.Glyph)) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.__enc_0 glyph)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.denote glyph) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.__enc_0 glyph)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 glyph) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.root glyph) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.Compose.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R1/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R1/RustStd.lean deleted file mode 100644 index 5a5ba7bff..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R1/RustStd.lean +++ /dev/null @@ -1,250 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [{ constructors := [[], [], [], [], [], [], [], [], [], []] }], functions := [ - { parameters := [0], types := [(.adt 0)], result := (.result .nat (.pair .bool .bool)), - body := (.«let» 1 (.adt 0) (.var 0) (.«let» 2 .nat (.call 1 [(.var 1)]) (.cond (.call 2 [(.var 1), (.var 2)]) (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)]) (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])))) }, - { parameters := [0], types := [(.adt 0)], result := .nat, - body := (.call 3 [(.var 0)]) }, - { parameters := [0, 1], types := [(.adt 0), .nat], result := .bool, - body := (.prim .natEq [(.var 1), (.call 4 [(.var 0)])]) }, - { parameters := [0], types := [(.adt 0)], result := .nat, - body := (.«match» .nat (.first (.call 5 [(.closure 6 []), (.build .pair (.pair (.option (.pair .nat .int)) (.list .nat)) [(.build .none (.option (.pair .nat .int)) []), (.build .cons (.list .nat) [(.value .nat (.nat 0)), (.build .cons (.list .nat) [(.value .nat (.nat 1)), (.build .cons (.list .nat) [(.value .nat (.nat 2)), (.build .cons (.list .nat) [(.value .nat (.nat 3)), (.build .cons (.list .nat) [(.value .nat (.nat 4)), (.build .cons (.list .nat) [(.value .nat (.nat 5)), (.build .cons (.list .nat) [(.value .nat (.nat 6)), (.build .cons (.list .nat) [(.value .nat (.nat 7)), (.build .cons (.list .nat) [(.value .nat (.nat 8)), (.build .cons (.list .nat) [(.value .nat (.nat 9)), (.build .nil (.list .nat) [])])])])])])])])])])])]), (.call 7 [(.var 0)])])) [(.arm .none [] (.value .nat (.nat 0))), (.arm .some [1] (.first (.var 1)))]) }, - { parameters := [0], types := [(.adt 0)], result := .nat, - body := (.«match» .nat (.var 0) [(.arm (.adt 0) [] (.value .nat (.nat 0))), (.arm (.adt 1) [] (.value .nat (.nat 1))), (.arm (.adt 2) [] (.value .nat (.nat 2))), (.arm (.adt 3) [] (.value .nat (.nat 3))), (.arm (.adt 4) [] (.value .nat (.nat 4))), (.arm (.adt 5) [] (.value .nat (.nat 5))), (.arm (.adt 6) [] (.value .nat (.nat 6))), (.arm (.adt 7) [] (.value .nat (.nat 7))), (.arm (.adt 8) [] (.value .nat (.nat 8))), (.arm (.adt 9) [] (.value .nat (.nat 9)))]) }, - { parameters := [0, 1, 2], types := [(.fn [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat))), (.pair (.option (.pair .nat .int)) (.list .nat)), (.list .int)], result := (.pair (.option (.pair .nat .int)) (.list .nat)), - body := (.«match» (.pair (.option (.pair .nat .int)) (.list .nat)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 5 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1], types := [(.pair (.option (.pair .nat .int)) (.list .nat)), .int], result := (.pair (.option (.pair .nat .int)) (.list .nat)), - body := (.«match» (.pair (.option (.pair .nat .int)) (.list .nat)) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair (.option (.pair .nat .int)) (.list .nat)) [(.«match» (.option (.pair .nat .int)) (.first (.var 0)) [(.arm .none [] (.build .some (.option (.pair .nat .int)) [(.build .pair (.pair .nat .int) [(.var 2), (.var 1)])])), (.arm .some [4] (.cond (.«match» .bool (.prim .compare [(.second (.var 4)), (.var 1)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.build .some (.option (.pair .nat .int)) [(.build .pair (.pair .nat .int) [(.var 2), (.var 1)])]) (.build .some (.option (.pair .nat .int)) [(.var 4)])))]), (.var 3)]))]) }, - { parameters := [0], types := [(.adt 0)], result := (.list .int), - body := (.call 8 [(.call 9 [(.call 10 [(.call 11 [(.call 12 [(.var 0)])])])])]) }, - { parameters := [0], types := [(.list .int)], result := (.list .int), - body := (.first (.call 13 [(.closure 14 [(.var 0)]), (.build .pair (.pair (.list .int) (.list .int)) [(.build .nil (.list .int) []), (.call 15 [])]), (.call 16 [])])) }, - { parameters := [0], types := [(.list .int)], result := (.list .int), - body := (.call 17 [(.closure 18 []), (.build .nil (.list .int) []), (.var 0)]) }, - { parameters := [0], types := [(.list .int)], result := (.list .int), - body := (.call 17 [(.closure 19 []), (.build .nil (.list .int) []), (.var 0)]) }, - { parameters := [0], types := [(.list .int)], result := (.list .int), - body := (.first (.call 13 [(.closure 20 [(.var 0)]), (.build .pair (.pair (.list .int) (.list .int)) [(.build .nil (.list .int) []), (.call 21 [])]), (.call 22 [])])) }, - { parameters := [0], types := [(.adt 0)], result := (.list .int), - body := (.call 23 [(.var 0)]) }, - { parameters := [0, 1, 2], types := [(.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (.pair (.list .int) (.list .int)), (.list (.list .int))], result := (.pair (.list .int) (.list .int)), - body := (.«match» (.pair (.list .int) (.list .int)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 13 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1, 2], types := [(.list .int), (.pair (.list .int) (.list .int)), (.list .int)], result := (.pair (.list .int) (.list .int)), - body := (.«match» (.pair (.list .int) (.list .int)) (.second (.var 1)) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.build .pair (.pair (.list .int) (.list .int)) [(.prim .append [(.first (.var 1)), (.build .cons (.list .int) [(.prim .intSub [(.var 3), (.prim .intNeg [(.first (.call 24 [(.closure 25 []), (.build .pair (.pair .int (.list .int)) [(.value .int (.int 0)), (.var 0)]), (.var 2)]))])]), (.build .nil (.list .int) [])])]), (.var 4)]))]) }, - { parameters := [], types := [], result := (.list .int), - body := (.build .cons (.list .int) [(.value .int (.int (-6))), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int (-4))), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int (-6))), (.build .cons (.list .int) [(.value .int (.int (-3))), (.build .cons (.list .int) [(.value .int (.int (-7))), (.build .cons (.list .int) [(.value .int (.int (-6))), (.build .nil (.list .int) [])])])])])])])])])])]) }, - { parameters := [], types := [], result := (.list (.list .int)), - body := (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])])])])])]), (.build .nil (.list (.list .int)) [])])])])])])])])])])]) }, - { parameters := [0, 1, 2], types := [(.fn [(.list .int), .int] (.list .int)), (.list .int), (.list .int)], result := (.list .int), - body := (.«match» (.list .int) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 17 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1], types := [(.list .int), .int], result := (.list .int), - body := (.prim .append [(.var 0), (.build .cons (.list .int) [(.«let» 2 .int (.prim .intQuot [(.var 1), (.value .int (.int 4)), (.value .int (.int 0))]) (.cond (.«match» .bool (.prim .compare [(.var 2), (.value .int (.int 0))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.value .int (.int 0)) (.cond (.«match» .bool (.prim .compare [(.value .int (.int 127)), (.var 2)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.value .int (.int 127)) (.var 2)))), (.build .nil (.list .int) [])])]) }, - { parameters := [0, 1], types := [(.list .int), .int], result := (.list .int), - body := (.prim .append [(.var 0), (.build .cons (.list .int) [(.cond (.«match» .bool (.prim .compare [(.var 1), (.value .int (.int 0))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.value .int (.int 0)) (.var 1)), (.build .nil (.list .int) [])])]) }, - { parameters := [0, 1, 2], types := [(.list .int), (.pair (.list .int) (.list .int)), (.list .int)], result := (.pair (.list .int) (.list .int)), - body := (.«match» (.pair (.list .int) (.list .int)) (.second (.var 1)) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.build .pair (.pair (.list .int) (.list .int)) [(.prim .append [(.first (.var 1)), (.build .cons (.list .int) [(.prim .intSub [(.var 3), (.prim .intNeg [(.first (.call 24 [(.closure 26 []), (.build .pair (.pair .int (.list .int)) [(.value .int (.int 0)), (.var 0)]), (.var 2)]))])]), (.build .nil (.list .int) [])])]), (.var 4)]))]) }, - { parameters := [], types := [], result := (.list .int), - body := (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int 3)), (.build .cons (.list .int) [(.value .int (.int (-5))), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .nil (.list .int) [])])])])])])])])])])])])]) }, - { parameters := [], types := [], result := (.list (.list .int)), - body := (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 4)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 3)), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int (-1))), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int (-3))), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int (-1))), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int (-4))), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 3)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])]), (.build .nil (.list (.list .int)) [])])])])])])])])])])])])]) }, - { parameters := [0], types := [(.adt 0)], result := (.list .int), - body := (.«match» (.list .int) (.var 0) [(.arm (.adt 0) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 1) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 2) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 3) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 4) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 5) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 6) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 7) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 8) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])])), (.arm (.adt 9) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])])])])]))]) }, - { parameters := [0, 1, 2], types := [(.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (.pair .int (.list .int)), (.list .int)], result := (.pair .int (.list .int)), - body := (.«match» (.pair .int (.list .int)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 24 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1], types := [(.pair .int (.list .int)), .int], result := (.pair .int (.list .int)), - body := (.«match» (.pair .int (.list .int)) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair .int (.list .int)) [(.prim .intSub [(.first (.var 0)), (.prim .intNeg [(.prim .intMul [(.var 1), (.var 2)])])]), (.var 3)]))]) }, - { parameters := [0, 1], types := [(.pair .int (.list .int)), .int], result := (.pair .int (.list .int)), - body := (.«match» (.pair .int (.list .int)) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair .int (.list .int)) [(.prim .intSub [(.first (.var 0)), (.prim .intNeg [(.prim .intMul [(.var 1), (.var 2)])])]), (.var 3)]))]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := ((.enum (.adt 0) [{ number := 0, fields := [] }, { number := 1, fields := [] }, { number := 2, fields := [] }, { number := 3, fields := [] }, { number := 4, fields := [] }, { number := 5, fields := [] }, { number := 6, fields := [] }, { number := 7, fields := [] }, { number := 8, fields := [] }, { number := 9, fields := [] }]) :: - (.enum (.fn 0) [{ number := 6, fields := [] }]) :: - (.apply 0 [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat)) false [{ function := 6, captures := [], functionFallible := false }]) :: - (.enum (.fn 1) [{ number := 14, fields := [(.list .int)] }, { number := 20, fields := [(.list .int)] }]) :: - (.apply 1 [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int)) true [{ function := 14, captures := [.clone], functionFallible := true }, { function := 20, captures := [.clone], functionFallible := true }]) :: - (.enum (.fn 2) [{ number := 18, fields := [] }, { number := 19, fields := [] }]) :: - (.apply 2 [(.list .int), .int] (.list .int) true [{ function := 18, captures := [], functionFallible := true }, { function := 19, captures := [], functionFallible := false }]) :: - (.enum (.fn 3) [{ number := 25, fields := [] }, { number := 26, fields := [] }]) :: - (.apply 3 [(.pair .int (.list .int)), .int] (.pair .int (.list .int)) true [{ function := 25, captures := [], functionFallible := true }, { function := 26, captures := [], functionFallible := true }]) :: - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.result .nat (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 1)) (some (.adt 0)) (.move (.generated .binding 0))), (.mk (.bind (.generated .binding 2)) (some .nat) (.call (.function 1) [(.clone (.generated .binding 1))] true))] (.cond (.call (.function 2) [(.move (.generated .binding 1)), (.copy (.generated .binding 2))] false) (.mk [] (.succeed (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))]))) (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))))) :: - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [] (.call (.function 3) [(.move (.generated .binding 0))] false))) :: - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 2)) none (.call (.function 4) [(.move (.generated .binding 0))] false))] (.call (.runtime .natEq) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) :: - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 4)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.call (.function 5) [(.construct (.closure 0 6) []), (.pair (.construct (.none (.pair .nat .int)) []) (.construct .cons [(.lit (.nat 0)), (.construct .cons [(.lit (.nat 1)), (.construct .cons [(.lit (.nat 2)), (.construct .cons [(.lit (.nat 3)), (.construct .cons [(.lit (.nat 4)), (.construct .cons [(.lit (.nat 5)), (.construct .cons [(.lit (.nat 6)), (.construct .cons [(.lit (.nat 7)), (.construct .cons [(.lit (.nat 8)), (.construct .cons [(.lit (.nat 9)), (.construct (.nil .nat) [])])])])])])])])])])])), (.call (.function 7) [(.move (.generated .binding 0))] true)] false))] (.move (.generated .part 3)))))] (.matchOn (.move (.generated .holder 4)) [(.mk .none (.mk [] (.succeed (.lit (.nat 0))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [(.mk (.tuple [(.bind (.generated .part 5)), .wild]) none (.copy (.generated .binding 1)))] (.succeed (.move (.generated .part 5)))))]))) :: - (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .nat (.mk [(.mk (.bind (.generated .holder 6)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 6)) [(.mk (.adt 0 0 []) (.mk [] (.lit (.nat 0)))), (.mk (.adt 0 1 []) (.mk [] (.lit (.nat 1)))), (.mk (.adt 0 2 []) (.mk [] (.lit (.nat 2)))), (.mk (.adt 0 3 []) (.mk [] (.lit (.nat 3)))), (.mk (.adt 0 4 []) (.mk [] (.lit (.nat 4)))), (.mk (.adt 0 5 []) (.mk [] (.lit (.nat 5)))), (.mk (.adt 0 6 []) (.mk [] (.lit (.nat 6)))), (.mk (.adt 0 7 []) (.mk [] (.lit (.nat 7)))), (.mk (.adt 0 8 []) (.mk [] (.lit (.nat 8)))), (.mk (.adt 0 9 []) (.mk [] (.lit (.nat 9))))]))) :: - (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := (.pair (.option (.pair .nat .int)) (.list .nat)) }, { pattern := (.bind (.generated .binding 2)), type := (.list .int) }] (.pair (.option (.pair .nat .int)) (.list .nat)) (.mk [(.mk (.bind (.generated .holder 7)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 7)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 5) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 8) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)))]))) :: - (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := (.pair (.option (.pair .nat .int)) (.list .nat)) }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.pair (.option (.pair .nat .int)) (.list .nat)) (.mk [(.mk (.bind (.generated .holder 10)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 9))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 9)))))] (.matchOn (.uncons (.generated .holder 10)) [(.mk .none (.mk [] (.move (.generated .binding 0)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 11)))))] (.matchOn (.move (.generated .holder 12)) [(.mk .none (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 13))))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false))))] (.cond (.matchOn (.move (.generated .holder 16)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.copy (.generated .binding 4))])))))]))) (.move (.generated .binding 3)))))]))) :: - (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.list .int)) (.mk [] (.call (.function 8) [(.call (.function 9) [(.call (.function 10) [(.call (.function 11) [(.call (.function 12) [(.move (.generated .binding 0))] false)] true)] true)] true)] false))) :: - (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }] (.fallible (.list .int)) (.mk [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.call (.function 13) [(.construct (.closure 1 14) [(.move (.generated .binding 0))]), (.pair (.construct (.nil .int) []) (.call (.function 15) [] false)), (.call (.function 16) [] false)] true))] (.succeed (.move (.generated .part 17))))) :: - (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }] (.fallible (.list .int)) (.mk [] (.call (.function 17) [(.construct (.closure 2 18) []), (.construct (.nil .int) []), (.move (.generated .binding 0))] false))) :: - (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }] (.fallible (.list .int)) (.mk [] (.call (.function 17) [(.construct (.closure 2 19) []), (.construct (.nil .int) []), (.move (.generated .binding 0))] false))) :: - (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }] (.fallible (.list .int)) (.mk [(.mk (.tuple [(.bind (.generated .part 18)), .wild]) none (.call (.function 13) [(.construct (.closure 1 20) [(.move (.generated .binding 0))]), (.pair (.construct (.nil .int) []) (.call (.function 21) [] false)), (.call (.function 22) [] false)] true))] (.succeed (.move (.generated .part 18))))) :: - (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.list .int) (.mk [] (.call (.function 23) [(.move (.generated .binding 0))] false))) :: - (.function (.generated .function 13) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 1) }, { pattern := (.bind (.generated .binding 1)), type := (.pair (.list .int) (.list .int)) }, { pattern := (.bind (.generated .binding 2)), type := (.list (.list .int)) }] (.fallible (.pair (.list .int) (.list .int))) (.mk [(.mk (.bind (.generated .holder 19)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 19)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 13) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 20)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 20) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]))) :: - (.function (.generated .function 14) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }, { pattern := (.bind (.generated .binding 1)), type := (.pair (.list .int) (.list .int)) }, { pattern := (.bind (.generated .binding 2)), type := (.list .int) }] (.fallible (.pair (.list .int) (.list .int))) (.mk [(.mk (.bind (.generated .holder 22)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 21))]) none (.clone (.generated .binding 1)))] (.move (.generated .part 21)))))] (.matchOn (.uncons (.generated .holder 22)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 23))))), (.mk (.bind (.generated .operand 29)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 26)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 27)) none (.block (.mk [(.mk (.bind (.generated .operand 25)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 24)), .wild]) none (.call (.function 24) [(.construct (.closure 3 25) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 24)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 25))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 28)), (.move (.generated .operand 29))] false))) (.move (.generated .binding 4))))))]))) :: - (.function (.generated .function 15) [] (.list .int) (.mk [] (.construct .cons [(.lit (.int (-6))), (.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int (-4))), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int (-6))), (.construct .cons [(.lit (.int (-3))), (.construct .cons [(.lit (.int (-7))), (.construct .cons [(.lit (.int (-6))), (.construct (.nil .int) [])])])])])])])])])])]))) :: - (.function (.generated .function 16) [] (.list (.list .int)) (.mk [] (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct (.nil (.list .int)) [])])])])])])])])])])]))) :: - (.function (.generated .function 17) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 2) }, { pattern := (.bind (.generated .binding 1)), type := (.list .int) }, { pattern := (.bind (.generated .binding 2)), type := (.list .int) }] (.fallible (.list .int)) (.mk [(.mk (.bind (.generated .holder 30)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 30)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 17) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 31)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 31) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]))) :: - (.function (.generated .function 18) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.fallible (.list .int)) (.mk [(.mk (.bind (.generated .operand 41)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 42)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .binding 2)) (some .int) (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 33)) none (.lit (.int 4))), (.mk (.bind (.generated .operand 34)) none (.lit (.int 0)))] (.call (.runtime .intQuot) [(.move (.generated .operand 32)), (.move (.generated .operand 33)), (.move (.generated .operand 34))] true)))), (.mk (.bind (.generated .holder 37)) none (.block (.mk [(.mk (.bind (.generated .operand 35)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 36)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] false))))] (.cond (.matchOn (.move (.generated .holder 37)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 0))) (.mk [(.mk (.bind (.generated .holder 40)) none (.block (.mk [(.mk (.bind (.generated .operand 38)) none (.lit (.int 127))), (.mk (.bind (.generated .operand 39)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] false))))] (.cond (.matchOn (.move (.generated .holder 40)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 127))) (.mk [] (.copy (.generated .binding 2)))))))), (.construct (.nil .int) [])]))] (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 41)), (.move (.generated .operand 42))] false)))) :: - (.function (.generated .function 19) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.list .int) (.mk [(.mk (.bind (.generated .operand 46)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 47)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .holder 45)) none (.block (.mk [(.mk (.bind (.generated .operand 43)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 44)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 43)), (.move (.generated .operand 44))] false))))] (.cond (.matchOn (.move (.generated .holder 45)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 0))) (.mk [] (.copy (.generated .binding 1)))))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 46)), (.move (.generated .operand 47))] false))) :: - (.function (.generated .function 20) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }, { pattern := (.bind (.generated .binding 1)), type := (.pair (.list .int) (.list .int)) }, { pattern := (.bind (.generated .binding 2)), type := (.list .int) }] (.fallible (.pair (.list .int) (.list .int))) (.mk [(.mk (.bind (.generated .holder 49)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 48))]) none (.clone (.generated .binding 1)))] (.move (.generated .part 48)))))] (.matchOn (.uncons (.generated .holder 49)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 55)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 50)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 50))))), (.mk (.bind (.generated .operand 56)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 53)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 54)) none (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.call (.function 24) [(.construct (.closure 3 26) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 51)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 52))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 55)), (.move (.generated .operand 56))] false))) (.move (.generated .binding 4))))))]))) :: - (.function (.generated .function 21) [] (.list .int) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int 3)), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int 2)), (.construct (.nil .int) [])])])])])])])])])])])])]))) :: - (.function (.generated .function 22) [] (.list (.list .int)) (.mk [] (.construct .cons [(.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 3)), (.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int (-1))), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int (-3))), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int (-1))), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int (-2))), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int (-4))), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 3)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct (.nil (.list .int)) [])])])])])])])])])])])])]))) :: - (.function (.generated .function 23) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.list .int) (.mk [(.mk (.bind (.generated .holder 57)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 57)) [(.mk (.adt 0 0 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 1 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 2 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 3 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 4 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 5 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 6 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 7 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 8 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 9 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])))]))) :: - (.function (.generated .function 24) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 3) }, { pattern := (.bind (.generated .binding 1)), type := (.pair .int (.list .int)) }, { pattern := (.bind (.generated .binding 2)), type := (.list .int) }] (.fallible (.pair .int (.list .int))) (.mk [(.mk (.bind (.generated .holder 58)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 58)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 24) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 59)) (some (.fn 3)) (.move (.generated .binding 0)))] (.apply (.generated .callee 59) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]))) :: - (.function (.generated .function 25) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .int (.list .int)) }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.fallible (.pair .int (.list .int))) (.mk [(.mk (.bind (.generated .holder 61)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 60))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 60)))))] (.matchOn (.uncons (.generated .holder 61)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 66)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 62)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 62))))), (.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.bind (.generated .operand 63)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 63)), (.move (.generated .operand 64))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 65))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 66)), (.move (.generated .operand 67))] true))) (.move (.generated .binding 3))))))]))) :: - (.function (.generated .function 26) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .int (.list .int)) }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.fallible (.pair .int (.list .int))) (.mk [(.mk (.bind (.generated .holder 69)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 68))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 68)))))] (.matchOn (.uncons (.generated .holder 69)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 74)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 70)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 70))))), (.mk (.bind (.generated .operand 75)) none (.block (.mk [(.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.bind (.generated .operand 71)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 72)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 71)), (.move (.generated .operand 72))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 73))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 74)), (.move (.generated .operand 75))] true))) (.move (.generated .binding 3))))))]))) :: - []) } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [(([(.pair (.option (.pair .nat .int)) (.list .nat)), .int], (.pair (.option (.pair .nat .int)) (.list .nat))), false), (([(.pair (.list .int) (.list .int)), (.list .int)], (.pair (.list .int) (.list .int))), true), (([(.list .int), .int], (.list .int)), true), (([(.pair .int (.list .int)), .int], (.pair .int (.list .int))), true)] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.adt 0)) (.move (.generated .binding 0))), (.mk (.bind (.generated .binding 2)) (some .nat) (.call (.function 1) [(.clone (.generated .binding 1))] true))], (.cond (.call (.function 2) [(.move (.generated .binding 1)), (.copy (.generated .binding 2))] false) (.mk [] (.succeed (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))]))) (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.letBind (Corr.var rfl rfl) rfl (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.cond (lc := []) (ce := (.call (.function 2) [(.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))]))) (lb := []) (tb := (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))]))) (Corr.fOfB (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl))))))⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 3) [(.move (.generated .binding 0))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.callF (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 2)) none (.call (.function 4) [(.move (.generated .binding 0))] false))], (.call (.runtime .natEq) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false), [(1, .nat, (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 4)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.call (.function 5) [(.construct (.closure 0 6) []), (.pair (.construct (.none (.pair .nat .int)) []) (.construct .cons [(.lit (.nat 0)), (.construct .cons [(.lit (.nat 1)), (.construct .cons [(.lit (.nat 2)), (.construct .cons [(.lit (.nat 3)), (.construct .cons [(.lit (.nat 4)), (.construct .cons [(.lit (.nat 5)), (.construct .cons [(.lit (.nat 6)), (.construct .cons [(.lit (.nat 7)), (.construct .cons [(.lit (.nat 8)), (.construct .cons [(.lit (.nat 9)), (.construct (.nil .nat) [])])])])])])])])])])])), (.call (.function 7) [(.move (.generated .binding 0))] true)] false))] (.move (.generated .part 3)))))], (.matchOn (.move (.generated .holder 4)) [(.mk .none (.mk [] (.succeed (.lit (.nat 0))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [(.mk (.tuple [(.bind (.generated .part 5)), .wild]) none (.copy (.generated .binding 1)))] (.succeed (.move (.generated .part 5)))))]), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option (.pair .nat .int))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.call (.function 5) [(.construct (.closure 0 6) []), (.pair (.construct (.none (.pair .nat .int)) []) (.construct .cons [(.lit (.nat 0)), (.construct .cons [(.lit (.nat 1)), (.construct .cons [(.lit (.nat 2)), (.construct .cons [(.lit (.nat 3)), (.construct .cons [(.lit (.nat 4)), (.construct .cons [(.lit (.nat 5)), (.construct .cons [(.lit (.nat 6)), (.construct .cons [(.lit (.nat 7)), (.construct .cons [(.lit (.nat 8)), (.construct .cons [(.lit (.nat 9)), (.construct (.nil .nat) [])])])])])])])])])])])), (.call (.function 7) [(.move (.generated .binding 0))] true)] false))]) (tail := (.move (.generated .part 3))) (Corr.first (ta := (.option (.pair .nat .int))) (tb := (.list .nat)) (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat))), (.pair (.option (.pair .nat .int)) (.list .nat)), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := false) (ff := false) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl)) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 0)))) (Corr.mCons (Γ' := [(1, (.pair .nat .int), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.tuple [(.bind (.generated .part 5)), .wild]) none (.copy (.generated .binding 1)))]) (tail := (.succeed (.move (.generated .part 5)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.first (ta := .nat) (tb := .int) (Corr.var rfl rfl) rfl))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun4 : FunOK program krate flags 4 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 6)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 6)) [(.mk (.adt 0 0 []) (.mk [] (.lit (.nat 0)))), (.mk (.adt 0 1 []) (.mk [] (.lit (.nat 1)))), (.mk (.adt 0 2 []) (.mk [] (.lit (.nat 2)))), (.mk (.adt 0 3 []) (.mk [] (.lit (.nat 3)))), (.mk (.adt 0 4 []) (.mk [] (.lit (.nat 4)))), (.mk (.adt 0 5 []) (.mk [] (.lit (.nat 5)))), (.mk (.adt 0 6 []) (.mk [] (.lit (.nat 6)))), (.mk (.adt 0 7 []) (.mk [] (.lit (.nat 7)))), (.mk (.adt 0 8 []) (.mk [] (.lit (.nat 8)))), (.mk (.adt 0 9 []) (.mk [] (.lit (.nat 9))))]), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.nat 0))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.nat 1))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.nat 2))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 3) (loads := []) (lets := []) (tail := (.lit (.nat 3))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 4) (loads := []) (lets := []) (tail := (.lit (.nat 4))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 5) (loads := []) (lets := []) (tail := (.lit (.nat 5))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 6) (loads := []) (lets := []) (tail := (.lit (.nat 6))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 7) (loads := []) (lets := []) (tail := (.lit (.nat 7))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 8) (loads := []) (lets := []) (tail := (.lit (.nat 8))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 9) (loads := []) (lets := []) (tail := (.lit (.nat 9))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.value rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.value rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.value rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.value rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.value rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.value rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.value rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.value rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.value rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.value rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun5 : FunOK program krate flags 5 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 7)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 7)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 5) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 8) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)))]), [(2, (.list .int), (some 2)), (1, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 1)), (0, (.fn [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 1)), (0, (.fn [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(4, (.list .int), (some 4)), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 1)), (0, (.fn [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 5) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 8) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.fn [(.pair (.option (.pair .nat .int)) (.list .nat)), .int] (.pair (.option (.pair .nat .int)) (.list .nat))), (.pair (.option (.pair .nat .int)) (.list .nat)), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 8) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false)) (Corr.apply (ps := [(.pair (.option (.pair .nat .int)) (.list .nat)), .int]) (af := false) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun6 : FunOK program krate flags 6 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 10)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 9))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 9)))))], (.matchOn (.uncons (.generated .holder 10)) [(.mk .none (.mk [] (.move (.generated .binding 0)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 11)))))] (.matchOn (.move (.generated .holder 12)) [(.mk .none (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 13))))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false))))] (.cond (.matchOn (.move (.generated .holder 16)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.copy (.generated .binding 4))])))))]))) (.move (.generated .binding 3)))))]), [(1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 9))]) none (.clone (.generated .binding 0)))]) (tail := (.move (.generated .part 9))) (Corr.second (ta := (.option (.pair .nat .int))) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.pair (.block (.mk [(.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 11)))))] (.matchOn (.move (.generated .holder 12)) [(.mk .none (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 13))))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false))))] (.cond (.matchOn (.move (.generated .holder 16)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.copy (.generated .binding 4))])))))]))) (.move (.generated .binding 3)))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 11)))))]) (tail := (.matchOn (.move (.generated .holder 12)) [(.mk .none (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 13))))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false))))] (.cond (.matchOn (.move (.generated .holder 16)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.copy (.generated .binding 4))])))))])) (Corr.matchArms (st := (.option (.pair .nat .int))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 0)))]) (tail := (.move (.generated .part 11))) (Corr.first (ta := (.option (.pair .nat .int))) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))])) (Corr.mCons (Γ' := [(4, (.pair .nat .int), (some 4)), (3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 13))))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 16)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.copy (.generated .binding 4))])))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 13))))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false))))]) (ce := (.matchOn (.move (.generated .holder 16)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 14)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 13))))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.copy (.generated .binding 4)))]) (tail := (.move (.generated .part 13))) (Corr.second (ta := .nat) (tb := .int) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.pair .nat .int), (some 4)), (3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.pair .nat .int), (some 4)), (3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.pair .nat .int), (some 4)), (3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair .nat .int)) (.list .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.pair (.copy (.generated .binding 2)) (.copy (.generated .binding 1)))])) (lb := []) (tb := (.construct .some [(.copy (.generated .binding 4))])) (Corr.build (ts := [(.pair .nat .int)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lNil))) rfl) (Corr.build (ts := [(.pair .nat .int)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)))) rfl rfl rfl (Corr.build (ts := [(.pair .nat .int)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))))) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun7 : FunOK program krate flags 7 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 8) [(.call (.function 9) [(.call (.function 10) [(.call (.function 11) [(.call (.function 12) [(.move (.generated .binding 0))] false)] true)] true)] true)] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.callF (ts := [(.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ - -theorem fun8 : FunOK program krate flags 8 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.call (.function 13) [(.construct (.closure 1 14) [(.move (.generated .binding 0))]), (.pair (.construct (.nil .int) []) (.call (.function 15) [] false)), (.call (.function 16) [] false)] true))], (.succeed (.move (.generated .part 17))), [(0, (.list .int), (some 0))], rfl, rfl, - (Corr.fOfB (Corr.first (ta := (.list .int)) (tb := (.list .int)) (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (.pair (.list .int) (.list .int)), (.list (.list .int))]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [(.list .int)]) (mask := [false]) (af := true) (ff := true) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := []) (Corr.opsNil) rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := []) (Corr.opsNil) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl))⟩⟩ - -theorem fun9 : FunOK program krate flags 9 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 17) [(.construct (.closure 2 18) []), (.construct (.nil .int) []), (.move (.generated .binding 0))] false), [(0, (.list .int), (some 0))], rfl, rfl, - (Corr.callF (ts := [(.fn [(.list .int), .int] (.list .int)), (.list .int), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ - -theorem fun10 : FunOK program krate flags 10 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 17) [(.construct (.closure 2 19) []), (.construct (.nil .int) []), (.move (.generated .binding 0))] false), [(0, (.list .int), (some 0))], rfl, rfl, - (Corr.callF (ts := [(.fn [(.list .int), .int] (.list .int)), (.list .int), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := false) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ - -theorem fun11 : FunOK program krate flags 11 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.tuple [(.bind (.generated .part 18)), .wild]) none (.call (.function 13) [(.construct (.closure 1 20) [(.move (.generated .binding 0))]), (.pair (.construct (.nil .int) []) (.call (.function 21) [] false)), (.call (.function 22) [] false)] true))], (.succeed (.move (.generated .part 18))), [(0, (.list .int), (some 0))], rfl, rfl, - (Corr.fOfB (Corr.first (ta := (.list .int)) (tb := (.list .int)) (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (.pair (.list .int) (.list .int)), (.list (.list .int))]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [(.list .int)]) (mask := [false]) (af := true) (ff := true) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := []) (Corr.opsNil) rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := []) (Corr.opsNil) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl))⟩⟩ - -theorem fun12 : FunOK program krate flags 12 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 23) [(.move (.generated .binding 0))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun13 : FunOK program krate flags 13 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 19)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 19)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 13) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 20)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 20) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list (.list .int)), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.list .int))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.list .int)), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list (.list .int)), (some 4)), (3, (.list .int), (some 3)), (2, (.list (.list .int)), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 13) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 20)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 20) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (.pair (.list .int) (.list .int)), (.list (.list .int))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 20)) (some (.fn 1)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 20) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true)) (Corr.apply (ps := [(.pair (.list .int) (.list .int)), (.list .int)]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun14 : FunOK program krate flags 14 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 22)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 21))]) none (.clone (.generated .binding 1)))] (.move (.generated .part 21)))))], (.matchOn (.uncons (.generated .holder 22)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 23))))), (.mk (.bind (.generated .operand 29)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 26)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 27)) none (.block (.mk [(.mk (.bind (.generated .operand 25)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 24)), .wild]) none (.call (.function 24) [(.construct (.closure 3 25) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 24)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 25))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 28)), (.move (.generated .operand 29))] false))) (.move (.generated .binding 4))))))]), [(2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 21))]) none (.clone (.generated .binding 1)))]) (tail := (.move (.generated .part 21))) (Corr.second (ta := (.list .int)) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .int), (some 4)), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 23))))), (.mk (.bind (.generated .operand 29)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 26)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 27)) none (.block (.mk [(.mk (.bind (.generated .operand 25)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 24)), .wild]) none (.call (.function 24) [(.construct (.closure 3 25) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 24)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 25))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 28)), (.move (.generated .operand 29))] false))) (.move (.generated .binding 4))))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 23))))), (.mk (.bind (.generated .operand 29)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 26)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 27)) none (.block (.mk [(.mk (.bind (.generated .operand 25)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 24)), .wild]) none (.call (.function 24) [(.construct (.closure 3 25) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 24)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 25))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] true))), (.construct (.nil .int) [])]))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 28)), (.move (.generated .operand 29))] false)) (Corr.prim (ts := [(.list .int), (.list .int)]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 23))) (Corr.first (ta := (.list .int)) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 26)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 27)) none (.block (.mk [(.mk (.bind (.generated .operand 25)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 24)), .wild]) none (.call (.function 24) [(.construct (.closure 3 25) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 24)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 25))] true))))]) (tail := (.call (.runtime .intSub) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 25)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 24)), .wild]) none (.call (.function 24) [(.construct (.closure 3 25) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 24)))))]) (tail := (.call (.runtime .intNeg) [(.move (.generated .operand 25))] true)) (Corr.prim (ts := [.int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 24)), .wild]) none (.call (.function 24) [(.construct (.closure 3 25) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))]) (tail := (.move (.generated .part 24))) (Corr.first (ta := .int) (tb := (.list .int)) (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (.pair .int (.list .int)), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun15 : FunOK program krate flags 15 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct .cons [(.lit (.int (-6))), (.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int (-4))), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int (-6))), (.construct .cons [(.lit (.int (-3))), (.construct .cons [(.lit (.int (-7))), (.construct .cons [(.lit (.int (-6))), (.construct (.nil .int) [])])])])])])])])])])]), [], rfl, rfl, - (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)⟩⟩ - -theorem fun16 : FunOK program krate flags 16 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])])])])])]), (.construct (.nil (.list .int)) [])])])])])])])])])])]), [], rfl, rfl, - (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)⟩⟩ - -theorem fun17 : FunOK program krate flags 17 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 30)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 30)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 17) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 31)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 31) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list .int), (some 2)), (1, (.list .int), (some 1)), (0, (.fn [(.list .int), .int] (.list .int)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, (.list .int), (some 1)), (0, (.fn [(.list .int), .int] (.list .int)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .int), (some 4)), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, (.list .int), (some 1)), (0, (.fn [(.list .int), .int] (.list .int)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 17) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 31)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 31) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.list .int), .int] (.list .int)), (.list .int), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 31)) (some (.fn 2)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 31) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true)) (Corr.apply (ps := [(.list .int), .int]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun18 : FunOK program krate flags 18 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 41)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 42)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .binding 2)) (some .int) (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 33)) none (.lit (.int 4))), (.mk (.bind (.generated .operand 34)) none (.lit (.int 0)))] (.call (.runtime .intQuot) [(.move (.generated .operand 32)), (.move (.generated .operand 33)), (.move (.generated .operand 34))] true)))), (.mk (.bind (.generated .holder 37)) none (.block (.mk [(.mk (.bind (.generated .operand 35)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 36)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] false))))] (.cond (.matchOn (.move (.generated .holder 37)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 0))) (.mk [(.mk (.bind (.generated .holder 40)) none (.block (.mk [(.mk (.bind (.generated .operand 38)) none (.lit (.int 127))), (.mk (.bind (.generated .operand 39)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] false))))] (.cond (.matchOn (.move (.generated .holder 40)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 127))) (.mk [] (.copy (.generated .binding 2)))))))), (.construct (.nil .int) [])]))], (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 41)), (.move (.generated .operand 42))] false)), [(1, .int, (some 1)), (0, (.list .int), (some 0))], rfl, rfl, - (Corr.fOfB (Corr.prim (ts := [(.list .int), (.list .int)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .binding 2)) (some .int) (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 33)) none (.lit (.int 4))), (.mk (.bind (.generated .operand 34)) none (.lit (.int 0)))] (.call (.runtime .intQuot) [(.move (.generated .operand 32)), (.move (.generated .operand 33)), (.move (.generated .operand 34))] true)))), (.mk (.bind (.generated .holder 37)) none (.block (.mk [(.mk (.bind (.generated .operand 35)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 36)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 37)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 0))) (.mk [(.mk (.bind (.generated .holder 40)) none (.block (.mk [(.mk (.bind (.generated .operand 38)) none (.lit (.int 127))), (.mk (.bind (.generated .operand 39)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] false))))] (.cond (.matchOn (.move (.generated .holder 40)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 127))) (.mk [] (.copy (.generated .binding 2))))))) (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 33)) none (.lit (.int 4))), (.mk (.bind (.generated .operand 34)) none (.lit (.int 0)))]) (tail := (.call (.runtime .intQuot) [(.move (.generated .operand 32)), (.move (.generated .operand 33)), (.move (.generated .operand 34))] true)) (Corr.prim (ts := [.int, .int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 37)) none (.block (.mk [(.mk (.bind (.generated .operand 35)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 36)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] false))))]) (ce := (.matchOn (.move (.generated .holder 37)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 35)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 36)) none (.lit (.int 0)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] false)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(2, .int, (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, .int, (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(2, .int, (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.int 0))) (lb := [(.mk (.bind (.generated .holder 40)) none (.block (.mk [(.mk (.bind (.generated .operand 38)) none (.lit (.int 127))), (.mk (.bind (.generated .operand 39)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] false))))]) (tb := (.cond (.matchOn (.move (.generated .holder 40)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 127))) (.mk [] (.copy (.generated .binding 2))))) (Corr.bOfE (Corr.value rfl rfl)) (Corr.cond (lc := [(.mk (.bind (.generated .holder 40)) none (.block (.mk [(.mk (.bind (.generated .operand 38)) none (.lit (.int 127))), (.mk (.bind (.generated .operand 39)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] false))))]) (ce := (.matchOn (.move (.generated .holder 40)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 38)) none (.lit (.int 127))), (.mk (.bind (.generated .operand 39)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] false)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(2, .int, (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, .int, (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(2, .int, (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.int 127))) (lb := []) (tb := (.copy (.generated .binding 2))) (Corr.bOfE (Corr.value rfl rfl)) (Corr.bOfE (Corr.var rfl rfl)))))))) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl))⟩⟩ - -theorem fun19 : FunOK program krate flags 19 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 46)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 47)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .holder 45)) none (.block (.mk [(.mk (.bind (.generated .operand 43)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 44)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 43)), (.move (.generated .operand 44))] false))))] (.cond (.matchOn (.move (.generated .holder 45)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 0))) (.mk [] (.copy (.generated .binding 1)))))), (.construct (.nil .int) [])]))], (.call (.runtime .appendList) [(.move (.generated .operand 46)), (.move (.generated .operand 47))] false), [(1, .int, (some 1)), (0, (.list .int), (some 0))], rfl, rfl, - (Corr.prim (ts := [(.list .int), (.list .int)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 45)) none (.block (.mk [(.mk (.bind (.generated .operand 43)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 44)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 43)), (.move (.generated .operand 44))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 45)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.lit (.int 0))) (.mk [] (.copy (.generated .binding 1))))) (Corr.cond (lc := [(.mk (.bind (.generated .holder 45)) none (.block (.mk [(.mk (.bind (.generated .operand 43)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 44)) none (.lit (.int 0)))] (.call (.runtime .compare) [(.move (.generated .operand 43)), (.move (.generated .operand 44))] false))))]) (ce := (.matchOn (.move (.generated .holder 45)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 43)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 44)) none (.lit (.int 0)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 43)), (.move (.generated .operand 44))] false)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.int 0))) (lb := []) (tb := (.copy (.generated .binding 1))) (Corr.bOfE (Corr.value rfl rfl)) (Corr.bOfE (Corr.var rfl rfl))))) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun20 : FunOK program krate flags 20 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 49)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 48))]) none (.clone (.generated .binding 1)))] (.move (.generated .part 48)))))], (.matchOn (.uncons (.generated .holder 49)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 55)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 50)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 50))))), (.mk (.bind (.generated .operand 56)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 53)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 54)) none (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.call (.function 24) [(.construct (.closure 3 26) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 51)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 52))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 55)), (.move (.generated .operand 56))] false))) (.move (.generated .binding 4))))))]), [(2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 48))]) none (.clone (.generated .binding 1)))]) (tail := (.move (.generated .part 48))) (Corr.second (ta := (.list .int)) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .int), (some 4)), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 55)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 50)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 50))))), (.mk (.bind (.generated .operand 56)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 53)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 54)) none (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.call (.function 24) [(.construct (.closure 3 26) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 51)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 52))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 55)), (.move (.generated .operand 56))] false))) (.move (.generated .binding 4))))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 55)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 50)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 50))))), (.mk (.bind (.generated .operand 56)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 53)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 54)) none (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.call (.function 24) [(.construct (.closure 3 26) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 51)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 52))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true))), (.construct (.nil .int) [])]))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 55)), (.move (.generated .operand 56))] false)) (Corr.prim (ts := [(.list .int), (.list .int)]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 50)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 50))) (Corr.first (ta := (.list .int)) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 53)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 54)) none (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.call (.function 24) [(.construct (.closure 3 26) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 51)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 52))] true))))]) (tail := (.call (.runtime .intSub) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.call (.function 24) [(.construct (.closure 3 26) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 51)))))]) (tail := (.call (.runtime .intNeg) [(.move (.generated .operand 52))] true)) (Corr.prim (ts := [.int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.call (.function 24) [(.construct (.closure 3 26) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))]) (tail := (.move (.generated .part 51))) (Corr.first (ta := .int) (tb := (.list .int)) (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (.pair .int (.list .int)), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun21 : FunOK program krate flags 21 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int 3)), (.construct .cons [(.lit (.int (-5))), (.construct .cons [(.lit (.int 2)), (.construct (.nil .int) [])])])])])])])])])])])])]), [], rfl, rfl, - (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)⟩⟩ - -theorem fun22 : FunOK program krate flags 22 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct .cons [(.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 4)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 3)), (.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int (-1))), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int (-3))), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int (-1))), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int (-2))), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int (-4))), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 3)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]), (.construct (.nil (.list .int)) [])])])])])])])])])])])])]), [], rfl, rfl, - (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)⟩⟩ - -theorem fun23 : FunOK program krate flags 23 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 57)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 57)) [(.mk (.adt 0 0 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 1 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 2 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 3 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 4 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 5 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 6 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 7 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 8 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])]))), (.mk (.adt 0 9 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])))]), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 3) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 4) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 5) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 6) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 7) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 8) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 9) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])])])])])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun24 : FunOK program krate flags 24 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 58)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 58)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 24) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 59)) (some (.fn 3)) (.move (.generated .binding 0)))] (.apply (.generated .callee 59) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list .int), (some 2)), (1, (.pair .int (.list .int)), (some 1)), (0, (.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, (.pair .int (.list .int)), (some 1)), (0, (.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .int), (some 4)), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, (.pair .int (.list .int)), (some 1)), (0, (.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 24) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 59)) (some (.fn 3)) (.move (.generated .binding 0)))] (.apply (.generated .callee 59) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (.pair .int (.list .int)), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 59)) (some (.fn 3)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 59) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true)) (Corr.apply (ps := [(.pair .int (.list .int)), .int]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun25 : FunOK program krate flags 25 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 61)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 60))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 60)))))], (.matchOn (.uncons (.generated .holder 61)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 66)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 62)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 62))))), (.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.bind (.generated .operand 63)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 63)), (.move (.generated .operand 64))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 65))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 66)), (.move (.generated .operand 67))] true))) (.move (.generated .binding 3))))))]), [(1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 60))]) none (.clone (.generated .binding 0)))]) (tail := (.move (.generated .part 60))) (Corr.second (ta := .int) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 0)))) (Corr.mCons (Γ' := [(3, (.list .int), (some 3)), (2, .int, (some 2)), (1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 66)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 62)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 62))))), (.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.bind (.generated .operand 63)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 63)), (.move (.generated .operand 64))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 65))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 66)), (.move (.generated .operand 67))] true))) (.move (.generated .binding 3))))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 66)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 62)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 62))))), (.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.bind (.generated .operand 63)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 63)), (.move (.generated .operand 64))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 65))] true))))]) (tail := (.call (.runtime .intSub) [(.move (.generated .operand 66)), (.move (.generated .operand 67))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 62)), .wild]) none (.move (.generated .binding 0)))]) (tail := (.move (.generated .part 62))) (Corr.first (ta := .int) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.bind (.generated .operand 63)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 63)), (.move (.generated .operand 64))] true))))]) (tail := (.call (.runtime .intNeg) [(.move (.generated .operand 65))] true)) (Corr.prim (ts := [.int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 63)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .intMul) [(.move (.generated .operand 63)), (.move (.generated .operand 64))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun26 : FunOK program krate flags 26 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 69)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 68))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 68)))))], (.matchOn (.uncons (.generated .holder 69)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 74)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 70)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 70))))), (.mk (.bind (.generated .operand 75)) none (.block (.mk [(.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.bind (.generated .operand 71)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 72)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 71)), (.move (.generated .operand 72))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 73))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 74)), (.move (.generated .operand 75))] true))) (.move (.generated .binding 3))))))]), [(1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 68))]) none (.clone (.generated .binding 0)))]) (tail := (.move (.generated .part 68))) (Corr.second (ta := .int) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 0)))) (Corr.mCons (Γ' := [(3, (.list .int), (some 3)), (2, .int, (some 2)), (1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 74)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 70)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 70))))), (.mk (.bind (.generated .operand 75)) none (.block (.mk [(.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.bind (.generated .operand 71)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 72)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 71)), (.move (.generated .operand 72))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 73))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 74)), (.move (.generated .operand 75))] true))) (.move (.generated .binding 3))))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 74)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 70)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 70))))), (.mk (.bind (.generated .operand 75)) none (.block (.mk [(.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.bind (.generated .operand 71)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 72)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 71)), (.move (.generated .operand 72))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 73))] true))))]) (tail := (.call (.runtime .intSub) [(.move (.generated .operand 74)), (.move (.generated .operand 75))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 70)), .wild]) none (.move (.generated .binding 0)))]) (tail := (.move (.generated .part 70))) (Corr.first (ta := .int) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.bind (.generated .operand 71)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 72)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 71)), (.move (.generated .operand 72))] true))))]) (tail := (.call (.runtime .intNeg) [(.move (.generated .operand 73))] true)) (Corr.prim (ts := [.int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 71)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 72)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .intMul) [(.move (.generated .operand 71)), (.move (.generated .operand 72))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | 4 => exact fun4 - | 5 => exact fun5 - | 6 => exact fun6 - | 7 => exact fun7 - | 8 => exact fun8 - | 9 => exact fun9 - | 10 => exact fun10 - | 11 => exact fun11 - | 12 => exact fun12 - | 13 => exact fun13 - | 14 => exact fun14 - | 15 => exact fun15 - | 16 => exact fun16 - | 17 => exact fun17 - | 18 => exact fun18 - | 19 => exact fun19 - | 20 => exact fun20 - | 21 => exact fun21 - | 22 => exact fun22 - | 23 => exact fun23 - | 24 => exact fun24 - | 25 => exact fun25 - | 26 => exact fun26 - | _ + 27 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R2.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R2.lean deleted file mode 100644 index 200a74de0..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R2.lean +++ /dev/null @@ -1,217 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Models.Flows -import Models.Glyphs -import Models.Ledger -import Models.Main -import Models.Pipeline -import Models.Policy -import Models.Recognizer -import Models.Session -import Models.Triage -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [{ constructors := [[], [], [], [], [], [], [], []] }, - { constructors := [[], [], []] }], functions := [ - { parameters := [0], types := [(.adt 0)], result := (.result .nat (.pair .bool .bool)), - body := (.«let» 1 (.adt 0) (.var 0) (.cond (.call 1 [(.var 1)]) (.«let» 2 .nat (.call 2 [(.var 1)]) (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)])) (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))) }, - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.call 3 [(.var 0)]) }, - { parameters := [0], types := [(.adt 0)], result := .nat, - body := (.call 4 [(.var 0)]) }, - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.«match» .bool (.var 0) [(.arm (.adt 0) [] (.build .false .bool [])), (.arm (.adt 1) [] (.build .true .bool [])), (.arm (.adt 2) [] (.build .true .bool [])), (.arm (.adt 3) [] (.build .true .bool [])), (.arm (.adt 4) [] (.build .true .bool [])), (.arm (.adt 5) [] (.build .true .bool [])), (.arm (.adt 6) [] (.build .true .bool [])), (.arm (.adt 7) [] (.build .true .bool []))]) }, - { parameters := [0], types := [(.adt 0)], result := .nat, - body := (.«let» 1 (.adt 1) (.call 5 [(.var 0)]) (.«let» 2 .nat (.call 6 [(.var 1)]) (.var 2))) }, - { parameters := [0], types := [(.adt 0)], result := (.adt 1), - body := (.call 7 [(.var 0)]) }, - { parameters := [0], types := [(.adt 1)], result := .nat, - body := (.call 8 [(.var 0)]) }, - { parameters := [0], types := [(.adt 0)], result := (.adt 1), - body := (.«match» (.adt 1) (.first (.call 9 [(.closure 10 []), (.build .pair (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))) [(.build .none (.option (.pair (.adt 1) .int)) []), (.build .cons (.list (.adt 1)) [(.build (.adt 0) (.adt 1) []), (.build .cons (.list (.adt 1)) [(.build (.adt 1) (.adt 1) []), (.build .cons (.list (.adt 1)) [(.build (.adt 2) (.adt 1) []), (.build .nil (.list (.adt 1)) [])])])])]), (.call 11 [(.var 0)])])) [(.arm .none [] (.build (.adt 0) (.adt 1) [])), (.arm .some [1] (.first (.var 1)))]) }, - { parameters := [0], types := [(.adt 1)], result := .nat, - body := (.cond (.call 12 [(.var 0)]) (.value .nat (.nat 2)) (.cond (.call 13 [(.var 0)]) (.value .nat (.nat 1)) (.value .nat (.nat 0)))) }, - { parameters := [0, 1, 2], types := [(.fn [(.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), .int] (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1)))), (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (.list .int)], result := (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), - body := (.«match» (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 9 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1], types := [(.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), .int], result := (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), - body := (.«match» (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))) [(.«match» (.option (.pair (.adt 1) .int)) (.first (.var 0)) [(.arm .none [] (.build .some (.option (.pair (.adt 1) .int)) [(.build .pair (.pair (.adt 1) .int) [(.var 2), (.var 1)])])), (.arm .some [4] (.cond (.«match» .bool (.prim .compare [(.second (.var 4)), (.var 1)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.build .some (.option (.pair (.adt 1) .int)) [(.build .pair (.pair (.adt 1) .int) [(.var 2), (.var 1)])]) (.build .some (.option (.pair (.adt 1) .int)) [(.var 4)])))]), (.var 3)]))]) }, - { parameters := [0], types := [(.adt 0)], result := (.list .int), - body := (.«let» 1 (.list .int) (.call 14 [(.var 0)]) (.first (.call 15 [(.closure 16 [(.var 1)]), (.build .pair (.pair (.list .int) (.list .int)) [(.build .nil (.list .int) []), (.call 17 [])]), (.call 18 [])]))) }, - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.«match» .bool (.var 0) [(.arm (.adt 0) [] (.build .false .bool [])), (.arm (.adt 1) [] (.build .false .bool [])), (.arm (.adt 2) [] (.build .true .bool []))]) }, - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.«match» .bool (.var 0) [(.arm (.adt 0) [] (.build .false .bool [])), (.arm (.adt 1) [] (.build .true .bool [])), (.arm (.adt 2) [] (.build .false .bool []))]) }, - { parameters := [0], types := [(.adt 0)], result := (.list .int), - body := (.call 19 [(.var 0)]) }, - { parameters := [0, 1, 2], types := [(.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (.pair (.list .int) (.list .int)), (.list (.list .int))], result := (.pair (.list .int) (.list .int)), - body := (.«match» (.pair (.list .int) (.list .int)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 15 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1, 2], types := [(.list .int), (.pair (.list .int) (.list .int)), (.list .int)], result := (.pair (.list .int) (.list .int)), - body := (.«match» (.pair (.list .int) (.list .int)) (.second (.var 1)) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.build .pair (.pair (.list .int) (.list .int)) [(.prim .append [(.first (.var 1)), (.build .cons (.list .int) [(.prim .intSub [(.var 3), (.prim .intNeg [(.first (.call 20 [(.closure 21 []), (.build .pair (.pair .int (.list .int)) [(.value .int (.int 0)), (.var 0)]), (.var 2)]))])]), (.build .nil (.list .int) [])])]), (.var 4)]))]) }, - { parameters := [], types := [], result := (.list .int), - body := (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int (-1))), (.build .nil (.list .int) [])])])]) }, - { parameters := [], types := [], result := (.list (.list .int)), - body := (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int (-4))), (.build .nil (.list .int) [])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 5)), (.build .nil (.list .int) [])])])]), (.build .nil (.list (.list .int)) [])])])]) }, - { parameters := [0], types := [(.adt 0)], result := (.list .int), - body := (.«match» (.list .int) (.var 0) [(.arm (.adt 0) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])), (.arm (.adt 1) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])), (.arm (.adt 2) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])), (.arm (.adt 3) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])), (.arm (.adt 4) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])), (.arm (.adt 5) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])), (.arm (.adt 6) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])), (.arm (.adt 7) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])]))]) }, - { parameters := [0, 1, 2], types := [(.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (.pair .int (.list .int)), (.list .int)], result := (.pair .int (.list .int)), - body := (.«match» (.pair .int (.list .int)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 20 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1], types := [(.pair .int (.list .int)), .int], result := (.pair .int (.list .int)), - body := (.«match» (.pair .int (.list .int)) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair .int (.list .int)) [(.prim .intSub [(.first (.var 0)), (.prim .intNeg [(.prim .intMul [(.var 1), (.var 2)])])]), (.var 3)]))]) }] } - -def __enc_0 : (Models.Triage.Presentation) -> _root_.LexLeanTarget.TargetSyntax.Value - | Models.Triage.Presentation.p0 => _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [] - | Models.Triage.Presentation.p1 => _root_.LexLeanTarget.TargetSyntax.Value.adt 1 [] - | Models.Triage.Presentation.p2 => _root_.LexLeanTarget.TargetSyntax.Value.adt 2 [] - | Models.Triage.Presentation.p3 => _root_.LexLeanTarget.TargetSyntax.Value.adt 3 [] - | Models.Triage.Presentation.p4 => _root_.LexLeanTarget.TargetSyntax.Value.adt 4 [] - | Models.Triage.Presentation.p5 => _root_.LexLeanTarget.TargetSyntax.Value.adt 5 [] - | Models.Triage.Presentation.p6 => _root_.LexLeanTarget.TargetSyntax.Value.adt 6 [] - | Models.Triage.Presentation.p7 => _root_.LexLeanTarget.TargetSyntax.Value.adt 7 [] - -def __enc_1 : (Models.Triage.Level) -> _root_.LexLeanTarget.TargetSyntax.Value - | Models.Triage.Level.routine => _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [] - | Models.Triage.Level.urgent => _root_.LexLeanTarget.TargetSyntax.Value.adt 1 [] - | Models.Triage.Level.emergency => _root_.LexLeanTarget.TargetSyntax.Value.adt 2 [] - -def __fits_3 (presentation : (Models.Triage.Presentation)) : Bool := - (Bool.true && (match presentation with | Models.Triage.Presentation.p0 => (Bool.true && Bool.true) | Models.Triage.Presentation.p1 => (Bool.true && Bool.true) | Models.Triage.Presentation.p2 => (Bool.true && Bool.true) | Models.Triage.Presentation.p3 => (Bool.true && Bool.true) | Models.Triage.Presentation.p4 => (Bool.true && Bool.true) | Models.Triage.Presentation.p5 => (Bool.true && Bool.true) | Models.Triage.Presentation.p6 => (Bool.true && Bool.true) | Models.Triage.Presentation.p7 => (Bool.true && Bool.true))) - -theorem __rel_3 (presentation : (Models.Triage.Presentation)) : _root_.LexLeanPreservation.FunRel __prog 3 [(__enc_0 presentation)] (_root_.LexLeanPreservation.Rel (__fits_3 presentation) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Triage.hasSymptom presentation))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_0 (fun (__a : (Models.Triage.Presentation)) => (match __a with | Models.Triage.Presentation.p0 => (Bool.true && Bool.true) | Models.Triage.Presentation.p1 => (Bool.true && Bool.true) | Models.Triage.Presentation.p2 => (Bool.true && Bool.true) | Models.Triage.Presentation.p3 => (Bool.true && Bool.true) | Models.Triage.Presentation.p4 => (Bool.true && Bool.true) | Models.Triage.Presentation.p5 => (Bool.true && Bool.true) | Models.Triage.Presentation.p6 => (Bool.true && Bool.true) | Models.Triage.Presentation.p7 => (Bool.true && Bool.true))) (fun (__a : (Models.Triage.Presentation)) => _root_.LexLeanTarget.TargetSyntax.Value.bool (match __a with | Models.Triage.Presentation.p0 => Bool.false | Models.Triage.Presentation.p1 => Bool.true | Models.Triage.Presentation.p2 => Bool.true | Models.Triage.Presentation.p3 => Bool.true | Models.Triage.Presentation.p4 => Bool.true | Models.Triage.Presentation.p5 => Bool.true | Models.Triage.Presentation.p6 => Bool.true | Models.Triage.Presentation.p7 => Bool.true)) presentation (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Models.Triage.Presentation)) _ => match __a with | Models.Triage.Presentation.p0 => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)) | Models.Triage.Presentation.p1 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true))) | Models.Triage.Presentation.p2 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)))) | Models.Triage.Presentation.p3 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true))))) | Models.Triage.Presentation.p4 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)))))) | Models.Triage.Presentation.p5 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true))))))) | Models.Triage.Presentation.p6 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)))))))) | Models.Triage.Presentation.p7 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true))))))))))) - -def __fits_1 (presentation : (Models.Triage.Presentation)) : Bool := - ((Bool.true && Bool.true) && (__fits_3 (presentation))) - -attribute [local irreducible] Models.Triage.hasSymptom in -theorem __rel_1 (presentation : (Models.Triage.Presentation)) : _root_.LexLeanPreservation.FunRel __prog 1 [(__enc_0 presentation)] (_root_.LexLeanPreservation.Rel (__fits_1 presentation) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Triage.symptomaticCheck presentation))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_3 (presentation))) - -def __fits_10 (_ybest : (Prod (Option (Prod (Models.Triage.Level) Int)) (List (Models.Triage.Level)))) (_yscore : Int) : Bool := - (Bool.true && (match (_ybest).2 with | List.nil => Bool.true | List.cons _ylabel _ylabels => (((Bool.true && (match (_ybest).1 with | Option.none => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.some _yleader => ((Bool.true && (Bool.true && Bool.true)) && (if (Models.Triage.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) else ((Bool.true && Bool.true) && Bool.true))))) && (Bool.true && Bool.true)) && Bool.true))) - -theorem __rel_10 (_ybest : (Prod (Option (Prod (Models.Triage.Level) Int)) (List (Models.Triage.Level)))) (_yscore : Int) : _root_.LexLeanPreservation.FunRel __prog 10 [((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.encList __enc_1)) _ybest), (_root_.LexLeanTarget.TargetSyntax.Value.int _yscore)] (_root_.LexLeanPreservation.Rel (__fits_10 _ybest _yscore) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.encList __enc_1)) ((match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) | Option.some _yleader => (if (Models.Triage.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) else (Option.some (_yleader) : (Option (Prod (Models.Triage.Level) Int))))), _ylabels))))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList __enc_1) (fun (__a : (List (Models.Triage.Level))) => (match __a with | List.nil => Bool.true | List.cons _ylabel _ylabels => (((Bool.true && (match (_ybest).1 with | Option.none => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.some _yleader => ((Bool.true && (Bool.true && Bool.true)) && (if (Models.Triage.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) else ((Bool.true && Bool.true) && Bool.true))))) && (Bool.true && Bool.true)) && Bool.true))) (fun (__a : (List (Models.Triage.Level))) => (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.encList __enc_1)) (match __a with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) | Option.some _yleader => (if (Models.Triage.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) else (Option.some (_yleader) : (Option (Prod (Models.Triage.Level) Int))))), _ylabels))) (_ybest).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (List (Models.Triage.Level))) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | List.cons _ylabel _ylabels => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.int)) (fun (__a : (Option (Prod (Models.Triage.Level) Int))) => (match __a with | Option.none => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.some _yleader => ((Bool.true && (Bool.true && Bool.true)) && (if (Models.Triage.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) else ((Bool.true && Bool.true) && Bool.true))))) (fun (__a : (Option (Prod (Models.Triage.Level) Int))) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.int)) (match __a with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) | Option.some _yleader => (if (Models.Triage.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) else (Option.some (_yleader) : (Option (Prod (Models.Triage.Level) Int)))))) (_ybest).1 (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (Option (Prod (Models.Triage.Level) Int))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.some _yleader => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) else ((Bool.true && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.int)) (if __b then (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) else (Option.some (_yleader) : (Option (Prod (Models.Triage.Level) Int))))) (Models.Triage.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) (_root_.LexLeanPreservation.conv_lessThan (_root_.LexLeanPreservation.keySpec_int (Models.Triage.LexLeanCollections.Key.compare : Int -> Int -> Ordering) (fun _ _ => rfl)) Models.Triage.LexLeanCollections.lessThan (fun _ _ __h => by simp only [Models.Triage.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [Models.Triage.LexLeanCollections.lessThan, __h]) (fun _ _ __h => by simp only [Models.Triage.LexLeanCollections.lessThan, __h]) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some))))))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) - -def __fits_19 (presentation : (Models.Triage.Presentation)) : Bool := - (Bool.true && (match presentation with | Models.Triage.Presentation.p0 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Triage.Presentation.p1 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Triage.Presentation.p2 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Triage.Presentation.p3 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Triage.Presentation.p4 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Triage.Presentation.p5 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Triage.Presentation.p6 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Triage.Presentation.p7 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) - -theorem __rel_19 (presentation : (Models.Triage.Presentation)) : _root_.LexLeanPreservation.FunRel __prog 19 [(__enc_0 presentation)] (_root_.LexLeanPreservation.Rel (__fits_19 presentation) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Triage.features presentation))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_0 (fun (__a : (Models.Triage.Presentation)) => (match __a with | Models.Triage.Presentation.p0 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Triage.Presentation.p1 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Triage.Presentation.p2 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Triage.Presentation.p3 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Triage.Presentation.p4 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Triage.Presentation.p5 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Triage.Presentation.p6 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) | Models.Triage.Presentation.p7 => ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) (fun (__a : (Models.Triage.Presentation)) => (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (match __a with | Models.Triage.Presentation.p0 => ((0 : Int) :: ((0 : Int) :: ((0 : Int) :: ([] : List Int)))) | Models.Triage.Presentation.p1 => ((1 : Int) :: ((0 : Int) :: ((0 : Int) :: ([] : List Int)))) | Models.Triage.Presentation.p2 => ((0 : Int) :: ((1 : Int) :: ((0 : Int) :: ([] : List Int)))) | Models.Triage.Presentation.p3 => ((1 : Int) :: ((1 : Int) :: ((0 : Int) :: ([] : List Int)))) | Models.Triage.Presentation.p4 => ((0 : Int) :: ((0 : Int) :: ((1 : Int) :: ([] : List Int)))) | Models.Triage.Presentation.p5 => ((1 : Int) :: ((0 : Int) :: ((1 : Int) :: ([] : List Int)))) | Models.Triage.Presentation.p6 => ((0 : Int) :: ((1 : Int) :: ((1 : Int) :: ([] : List Int)))) | Models.Triage.Presentation.p7 => ((1 : Int) :: ((1 : Int) :: ((1 : Int) :: ([] : List Int)))))) presentation (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Models.Triage.Presentation)) _ => match __a with | Models.Triage.Presentation.p0 => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons)) | Models.Triage.Presentation.p1 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))) | Models.Triage.Presentation.p2 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons)))) | Models.Triage.Presentation.p3 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))))) | Models.Triage.Presentation.p4 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons)))))) | Models.Triage.Presentation.p5 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))))))) | Models.Triage.Presentation.p6 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons)))))))) | Models.Triage.Presentation.p7 => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))))))))))) - -def __fits_14 (presentation : (Models.Triage.Presentation)) : Bool := - ((Bool.true && Bool.true) && (__fits_19 (presentation))) - -attribute [local irreducible] Models.Triage.features in -theorem __rel_14 (presentation : (Models.Triage.Presentation)) : _root_.LexLeanPreservation.FunRel __prog 14 [(__enc_0 presentation)] (_root_.LexLeanPreservation.Rel (__fits_14 presentation) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Triage.TriageScore.features presentation))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_19 (presentation))) - -def __fits_21 (_ysum : (Prod Int (List Int))) (_yweight : Int) : Bool := - (Bool.true && (match (_ysum).2 with | List.nil => Bool.true | List.cons _yvalue _yrest => ((((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Triage.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) && Bool.true) && (_root_.LexLeanPreservation.intFits (Models.Triage.LexLeanRuntime.negate ((Models.Triage.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Triage.LexLeanRuntime.subtract ((_ysum).1) ((Models.Triage.LexLeanRuntime.negate ((Models.Triage.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int))) && (Bool.true && Bool.true)) && Bool.true))) - -theorem __rel_21 (_ysum : (Prod Int (List Int))) (_yweight : Int) : _root_.LexLeanPreservation.FunRel __prog 21 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) _ysum), (_root_.LexLeanTarget.TargetSyntax.Value.int _yweight)] (_root_.LexLeanPreservation.Rel (__fits_21 _ysum _yweight) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) ((match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Triage.LexLeanRuntime.subtract ((_ysum).1) ((Models.Triage.LexLeanRuntime.negate ((Models.Triage.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest))))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (fun (__a : (List Int)) => (match __a with | List.nil => Bool.true | List.cons _yvalue _yrest => ((((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Triage.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) && Bool.true) && (_root_.LexLeanPreservation.intFits (Models.Triage.LexLeanRuntime.negate ((Models.Triage.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Triage.LexLeanRuntime.subtract ((_ysum).1) ((Models.Triage.LexLeanRuntime.negate ((Models.Triage.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int))) && (Bool.true && Bool.true)) && Bool.true))) (fun (__a : (List Int)) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (match __a with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Triage.LexLeanRuntime.subtract ((_ysum).1) ((Models.Triage.LexLeanRuntime.negate ((Models.Triage.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest))) (_ysum).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (List Int)) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | List.cons _yvalue _yrest => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intMul _yweight _yvalue)) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_intNeg (Models.Triage.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intSub (_ysum).1 (Models.Triage.LexLeanRuntime.negate ((Models.Triage.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) - -def __fits_16 (_yvalues : (List Int)) (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) : Bool := - (Bool.true && (match (_yacc).2 with | List.nil => Bool.true | List.cons _ybias _ybiases => ((((Bool.true && (((((Bool.true && (((((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_21 __p0 __p1) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Triage.LexLeanRuntime.subtract ((_ysum).1) ((Models.Triage.LexLeanRuntime.negate ((Models.Triage.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow))) && Bool.true) && (_root_.LexLeanPreservation.intFits (Models.Triage.LexLeanRuntime.negate (((Models.Triage.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Triage.LexLeanRuntime.subtract ((_ysum).1) ((Models.Triage.LexLeanRuntime.negate ((Models.Triage.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Triage.LexLeanRuntime.subtract (_ybias) ((Models.Triage.LexLeanRuntime.negate (((Models.Triage.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Triage.LexLeanRuntime.subtract ((_ysum).1) ((Models.Triage.LexLeanRuntime.negate ((Models.Triage.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int))) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && Bool.true))) - -theorem __rel_16 (_yvalues : (List Int)) (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) : _root_.LexLeanPreservation.FunRel __prog 16 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues), ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) _yacc), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yrow)] (_root_.LexLeanPreservation.Rel (__fits_16 _yvalues _yacc _yrow) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) ((match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((Models.Triage.LexLeanRuntime.append ((_yacc).1) (((Models.Triage.LexLeanRuntime.subtract (_ybias) ((Models.Triage.LexLeanRuntime.negate (((Models.Triage.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Triage.LexLeanRuntime.subtract ((_ysum).1) ((Models.Triage.LexLeanRuntime.negate ((Models.Triage.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases))))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (fun (__a : (List Int)) => (match __a with | List.nil => Bool.true | List.cons _ybias _ybiases => ((((Bool.true && (((((Bool.true && (((((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_21 __p0 __p1) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Triage.LexLeanRuntime.subtract ((_ysum).1) ((Models.Triage.LexLeanRuntime.negate ((Models.Triage.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow))) && Bool.true) && (_root_.LexLeanPreservation.intFits (Models.Triage.LexLeanRuntime.negate (((Models.Triage.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Triage.LexLeanRuntime.subtract ((_ysum).1) ((Models.Triage.LexLeanRuntime.negate ((Models.Triage.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (Models.Triage.LexLeanRuntime.subtract (_ybias) ((Models.Triage.LexLeanRuntime.negate (((Models.Triage.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Triage.LexLeanRuntime.subtract ((_ysum).1) ((Models.Triage.LexLeanRuntime.negate ((Models.Triage.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int))) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && Bool.true))) (fun (__a : (List Int)) => (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (match __a with | List.nil => _yacc | List.cons _ybias _ybiases => ((Models.Triage.LexLeanRuntime.append ((_yacc).1) (((Models.Triage.LexLeanRuntime.subtract (_ybias) ((Models.Triage.LexLeanRuntime.negate (((Models.Triage.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Triage.LexLeanRuntime.subtract ((_ysum).1) ((Models.Triage.LexLeanRuntime.negate ((Models.Triage.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases))) (_yacc).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : (List Int)) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | List.cons _ybias _ybiases => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.int) (es := (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int))) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (fun _ => rfl) ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Triage.LexLeanRuntime.subtract ((_ysum).1) ((Models.Triage.LexLeanRuntime.negate ((Models.Triage.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __fits_21 __p0 __p1) 21 [] (fun (__p0 : (Prod Int (List Int))) (__p1 : Int) => __rel_21 __p0 __p1) (p := __prog) (fi := 20) (ta := .int) (ts := (.pair .int (.list .int))) rfl (((0 : Int), _yvalues)) (_yrow)))) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_intNeg ((Models.Triage.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Triage.LexLeanRuntime.subtract ((_ysum).1) ((Models.Triage.LexLeanRuntime.negate ((Models.Triage.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intSub _ybias (Models.Triage.LexLeanRuntime.negate (((Models.Triage.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Triage.LexLeanRuntime.subtract ((_ysum).1) ((Models.Triage.LexLeanRuntime.negate ((Models.Triage.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (_yacc).1 ((Models.Triage.LexLeanRuntime.subtract (_ybias) ((Models.Triage.LexLeanRuntime.negate (((Models.Triage.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Triage.LexLeanRuntime.subtract ((_ysum).1) ((Models.Triage.LexLeanRuntime.negate ((Models.Triage.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int)))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) - -def __fits_17 : Bool := - ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) - -theorem __rel_17 : _root_.LexLeanPreservation.FunRel __prog 17 [] (_root_.LexLeanPreservation.Rel (__fits_17) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Triage.triageBias))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) - -def __fits_18 : Bool := - ((((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) - -theorem __rel_18 : _root_.LexLeanPreservation.FunRel __prog 18 [] (_root_.LexLeanPreservation.Rel (__fits_18) ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (Models.Triage.triageWeights))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) - -def __fits_11 (presentation : (Models.Triage.Presentation)) : Bool := - (((Bool.true && Bool.true) && (__fits_14 (presentation))) && (let _yvalues : (List Int) := (Models.Triage.TriageScore.features (presentation)); (((Bool.true && Bool.true) && ((((Bool.true && Bool.true) && ((Bool.true && (__fits_17)) && Bool.true)) && Bool.true) && ((Bool.true && (__fits_18)) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __fits_16 (_yvalues) __p0 __p1) ((fun (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) => (match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((Models.Triage.LexLeanRuntime.append ((_yacc).1) (((Models.Triage.LexLeanRuntime.subtract (_ybias) ((Models.Triage.LexLeanRuntime.negate (((Models.Triage.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Triage.LexLeanRuntime.subtract ((_ysum).1) ((Models.Triage.LexLeanRuntime.negate ((Models.Triage.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases)))) ((([] : List Int), (Models.Triage.triageBias))) ((Models.Triage.triageWeights)))))) - -attribute [local irreducible] Models.Triage.TriageScore.features Models.Triage.triageBias Models.Triage.triageWeights in -theorem __rel_11 (presentation : (Models.Triage.Presentation)) : _root_.LexLeanPreservation.FunRel __prog 11 [(__enc_0 presentation)] (_root_.LexLeanPreservation.Rel (__fits_11 presentation) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (Models.Triage.TriageScore.scores presentation))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (let _yvalues : (List Int) := (Models.Triage.TriageScore.features (presentation)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_14 (presentation))) (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call _root_.LexLeanPreservation.convL_nil (__rel_17)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call _root_.LexLeanPreservation.convL_nil (__rel_18)) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (es := (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int))) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int)) (fun _ => rfl) ((fun (_yacc : (Prod (List Int) (List Int))) (_yrow : (List Int)) => (match (_yacc).2 with | List.nil => _yacc | List.cons _ybias _ybiases => ((Models.Triage.LexLeanRuntime.append ((_yacc).1) (((Models.Triage.LexLeanRuntime.subtract (_ybias) ((Models.Triage.LexLeanRuntime.negate (((Models.Triage.LexLeanCollections.listFold ((fun (_ysum : (Prod Int (List Int))) (_yweight : Int) => (match (_ysum).2 with | List.nil => _ysum | List.cons _yvalue _yrest => ((Models.Triage.LexLeanRuntime.subtract ((_ysum).1) ((Models.Triage.LexLeanRuntime.negate ((Models.Triage.LexLeanRuntime.multiply (_yweight) (_yvalue) : Int)) : Int)) : Int), _yrest)))) (((0 : Int), _yvalues)) (_yrow) : (Prod Int (List Int)))).1) : Int)) : Int) :: ([] : List Int))) : (List Int)), _ybiases)))) (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __fits_16 (_yvalues) __p0 __p1) 16 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) _yvalues)] (fun (__p0 : (Prod (List Int) (List Int))) (__p1 : (List Int)) => __rel_16 (_yvalues) __p0 __p1) (p := __prog) (fi := 15) (ta := (.list .int)) (ts := (.pair (.list .int) (.list .int))) rfl ((([] : List Int), (Models.Triage.triageBias))) ((Models.Triage.triageWeights)))))) - -def __fits_7 (presentation : (Models.Triage.Presentation)) : Bool := - (((Bool.true && ((((Bool.true && Bool.true) && ((((Bool.true && Bool.true) && ((((Bool.true && Bool.true) && ((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((Bool.true && Bool.true) && (__fits_11 (presentation))) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod (Option (Prod (Models.Triage.Level) Int)) (List (Models.Triage.Level)))) (__p1 : Int) => __fits_10 __p0 __p1) ((fun (_ybest : (Prod (Option (Prod (Models.Triage.Level) Int)) (List (Models.Triage.Level)))) (_yscore : Int) => (match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) | Option.some _yleader => (if (Models.Triage.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) else (Option.some (_yleader) : (Option (Prod (Models.Triage.Level) Int))))), _ylabels)))) (((Option.none : (Option (Prod (Models.Triage.Level) Int))), ((Models.Triage.Level.routine : (Models.Triage.Level)) :: ((Models.Triage.Level.urgent : (Models.Triage.Level)) :: ((Models.Triage.Level.emergency : (Models.Triage.Level)) :: ([] : List (Models.Triage.Level))))))) ((Models.Triage.TriageScore.scores (presentation))))) && (match ((Models.Triage.LexLeanCollections.listFold ((fun (_ybest : (Prod (Option (Prod (Models.Triage.Level) Int)) (List (Models.Triage.Level)))) (_yscore : Int) => (match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) | Option.some _yleader => (if (Models.Triage.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) else (Option.some (_yleader) : (Option (Prod (Models.Triage.Level) Int))))), _ylabels)))) (((Option.none : (Option (Prod (Models.Triage.Level) Int))), ((Models.Triage.Level.routine : (Models.Triage.Level)) :: ((Models.Triage.Level.urgent : (Models.Triage.Level)) :: ((Models.Triage.Level.emergency : (Models.Triage.Level)) :: ([] : List (Models.Triage.Level))))))) ((Models.Triage.TriageScore.scores (presentation))) : (Prod (Option (Prod (Models.Triage.Level) Int)) (List (Models.Triage.Level))))).1 with | Option.none => (Bool.true && Bool.true) | Option.some _ywinner => Bool.true)) - -attribute [local irreducible] Models.Triage.TriageScore.scores in -theorem __rel_7 (presentation : (Models.Triage.Presentation)) : _root_.LexLeanPreservation.FunRel __prog 7 [(__enc_0 presentation)] (_root_.LexLeanPreservation.Rel (__fits_7 presentation) (__enc_1 (Models.Triage.TriageScore presentation))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.int)) (fun (__a : (Option (Prod (Models.Triage.Level) Int))) => (match __a with | Option.none => (Bool.true && Bool.true) | Option.some _ywinner => Bool.true)) (fun (__a : (Option (Prod (Models.Triage.Level) Int))) => __enc_1 (match __a with | Option.none => (Models.Triage.Level.routine : (Models.Triage.Level)) | Option.some _ywinner => (_ywinner).1)) ((Models.Triage.LexLeanCollections.listFold ((fun (_ybest : (Prod (Option (Prod (Models.Triage.Level) Int)) (List (Models.Triage.Level)))) (_yscore : Int) => (match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) | Option.some _yleader => (if (Models.Triage.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) else (Option.some (_yleader) : (Option (Prod (Models.Triage.Level) Int))))), _ylabels)))) (((Option.none : (Option (Prod (Models.Triage.Level) Int))), ((Models.Triage.Level.routine : (Models.Triage.Level)) :: ((Models.Triage.Level.urgent : (Models.Triage.Level)) :: ((Models.Triage.Level.emergency : (Models.Triage.Level)) :: ([] : List (Models.Triage.Level))))))) ((Models.Triage.TriageScore.scores (presentation))) : (Prod (Option (Prod (Models.Triage.Level) Int)) (List (Models.Triage.Level))))).1 (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_11 (presentation))) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.int) (es := (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.int)) (_root_.LexLeanPreservation.encList __enc_1))) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (fun _ => rfl) ((fun (_ybest : (Prod (Option (Prod (Models.Triage.Level) Int)) (List (Models.Triage.Level)))) (_yscore : Int) => (match (_ybest).2 with | List.nil => _ybest | List.cons _ylabel _ylabels => ((match (_ybest).1 with | Option.none => (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) | Option.some _yleader => (if (Models.Triage.LexLeanCollections.lessThan ((_yleader).2) (_yscore) : Bool) then (Option.some ((_ylabel, _yscore)) : (Option (Prod (Models.Triage.Level) Int))) else (Option.some (_yleader) : (Option (Prod (Models.Triage.Level) Int))))), _ylabels)))) (fun (__p0 : (Prod (Option (Prod (Models.Triage.Level) Int)) (List (Models.Triage.Level)))) (__p1 : Int) => __fits_10 __p0 __p1) 10 [] (fun (__p0 : (Prod (Option (Prod (Models.Triage.Level) Int)) (List (Models.Triage.Level)))) (__p1 : Int) => __rel_10 __p0 __p1) (p := __prog) (fi := 9) (ta := .int) (ts := (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1)))) rfl (((Option.none : (Option (Prod (Models.Triage.Level) Int))), ((Models.Triage.Level.routine : (Models.Triage.Level)) :: ((Models.Triage.Level.urgent : (Models.Triage.Level)) :: ((Models.Triage.Level.emergency : (Models.Triage.Level)) :: ([] : List (Models.Triage.Level))))))) ((Models.Triage.TriageScore.scores (presentation)))))) (fun (__a : (Option (Prod (Models.Triage.Level) Int))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt)) | Option.some _ywinner => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)))))) - -def __fits_5 (_yinput : (Models.Triage.Presentation)) : Bool := - ((Bool.true && Bool.true) && (__fits_7 (_yinput))) - -attribute [local irreducible] Models.Triage.TriageScore in -theorem __rel_5 (_yinput : (Models.Triage.Presentation)) : _root_.LexLeanPreservation.FunRel __prog 5 [(__enc_0 _yinput)] (_root_.LexLeanPreservation.Rel (__fits_5 _yinput) (__enc_1 (Models.Triage.TriageModel _yinput))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_7 (_yinput))) - -def __fits_12 (level : (Models.Triage.Level)) : Bool := - (Bool.true && (match level with | Models.Triage.Level.routine => (Bool.true && Bool.true) | Models.Triage.Level.urgent => (Bool.true && Bool.true) | Models.Triage.Level.emergency => (Bool.true && Bool.true))) - -theorem __rel_12 (level : (Models.Triage.Level)) : _root_.LexLeanPreservation.FunRel __prog 12 [(__enc_1 level)] (_root_.LexLeanPreservation.Rel (__fits_12 level) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Triage.isEmergency level))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_1 (fun (__a : (Models.Triage.Level)) => (match __a with | Models.Triage.Level.routine => (Bool.true && Bool.true) | Models.Triage.Level.urgent => (Bool.true && Bool.true) | Models.Triage.Level.emergency => (Bool.true && Bool.true))) (fun (__a : (Models.Triage.Level)) => _root_.LexLeanTarget.TargetSyntax.Value.bool (match __a with | Models.Triage.Level.routine => Bool.false | Models.Triage.Level.urgent => Bool.false | Models.Triage.Level.emergency => Bool.true)) level (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Models.Triage.Level)) _ => match __a with | Models.Triage.Level.routine => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)) | Models.Triage.Level.urgent => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) | Models.Triage.Level.emergency => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)))))) - -def __fits_13 (level : (Models.Triage.Level)) : Bool := - (Bool.true && (match level with | Models.Triage.Level.routine => (Bool.true && Bool.true) | Models.Triage.Level.urgent => (Bool.true && Bool.true) | Models.Triage.Level.emergency => (Bool.true && Bool.true))) - -theorem __rel_13 (level : (Models.Triage.Level)) : _root_.LexLeanPreservation.FunRel __prog 13 [(__enc_1 level)] (_root_.LexLeanPreservation.Rel (__fits_13 level) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Policy.isUrgent level))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_1 (fun (__a : (Models.Triage.Level)) => (match __a with | Models.Triage.Level.routine => (Bool.true && Bool.true) | Models.Triage.Level.urgent => (Bool.true && Bool.true) | Models.Triage.Level.emergency => (Bool.true && Bool.true))) (fun (__a : (Models.Triage.Level)) => _root_.LexLeanTarget.TargetSyntax.Value.bool (match __a with | Models.Triage.Level.routine => Bool.false | Models.Triage.Level.urgent => Bool.true | Models.Triage.Level.emergency => Bool.false)) level (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Models.Triage.Level)) _ => match __a with | Models.Triage.Level.routine => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)) | Models.Triage.Level.urgent => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true))) | Models.Triage.Level.emergency => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))))) - -def __fits_8 (level : (Models.Triage.Level)) : Bool := - (((Bool.true && Bool.true) && (__fits_12 (level))) && (if (Models.Triage.isEmergency (level)) then Bool.true else (((Bool.true && Bool.true) && (__fits_13 (level))) && (if (Models.Policy.isUrgent (level)) then Bool.true else Bool.true)))) - -attribute [local irreducible] Models.Policy.isUrgent Models.Triage.isEmergency in -theorem __rel_8 (level : (Models.Triage.Level)) : _root_.LexLeanPreservation.FunRel __prog 8 [(__enc_1 level)] (_root_.LexLeanPreservation.Rel (__fits_8 level) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Policy.PolicyRules level))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else (((Bool.true && Bool.true) && (__fits_13 (level))) && (if (Models.Policy.isUrgent (level)) then Bool.true else Bool.true)))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.nat (if __b then (2 : Nat) else (if (Models.Policy.isUrgent (level)) then (1 : Nat) else (0 : Nat)))) (Models.Triage.isEmergency (level)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_12 (level))) (fun _ => _root_.LexLeanPreservation.conv_value) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.nat (if __b then (1 : Nat) else (0 : Nat))) (Models.Policy.isUrgent (level)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_13 (level))) (fun _ => _root_.LexLeanPreservation.conv_value) (fun _ => _root_.LexLeanPreservation.conv_value)))) - -def __fits_6 (_yinput : (Models.Triage.Level)) : Bool := - ((Bool.true && Bool.true) && (__fits_8 (_yinput))) - -attribute [local irreducible] Models.Policy.PolicyRules in -theorem __rel_6 (_yinput : (Models.Triage.Level)) : _root_.LexLeanPreservation.FunRel __prog 6 [(__enc_1 _yinput)] (_root_.LexLeanPreservation.Rel (__fits_6 _yinput) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Policy.PolicyModel _yinput))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_8 (_yinput))) - -def __fits_4 (presentation : (Models.Triage.Presentation)) : Bool := - (((Bool.true && Bool.true) && (__fits_5 (presentation))) && (let _ystage1 : (Models.Triage.Level) := (Models.Triage.TriageModel (presentation)); (((Bool.true && Bool.true) && (__fits_6 (_ystage1))) && (let _ystage2 : Nat := (Models.Policy.PolicyModel (_ystage1)); Bool.true)))) - -attribute [local irreducible] Models.Policy.PolicyModel Models.Triage.TriageModel in -theorem __rel_4 (presentation : (Models.Triage.Presentation)) : _root_.LexLeanPreservation.FunRel __prog 4 [(__enc_0 presentation)] (_root_.LexLeanPreservation.Rel (__fits_4 presentation) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Pipeline.TriagePipeline presentation))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (let _ystage1 : (Models.Triage.Level) := (Models.Triage.TriageModel (presentation)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_5 (presentation))) (let _ystage2 : Nat := (Models.Policy.PolicyModel (_ystage1)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_6 (_ystage1))) (_root_.LexLeanPreservation.conv_var rfl))) - -def __fits_2 (_yinput : (Models.Triage.Presentation)) : Bool := - ((Bool.true && Bool.true) && (__fits_4 (_yinput))) - -attribute [local irreducible] Models.Pipeline.TriagePipeline in -theorem __rel_2 (_yinput : (Models.Triage.Presentation)) : _root_.LexLeanPreservation.FunRel __prog 2 [(__enc_0 _yinput)] (_root_.LexLeanPreservation.Rel (__fits_2 _yinput) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Pipeline.PipelineModel _yinput))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_4 (_yinput))) - -def __fits_0 (presentation : (Models.Triage.Presentation)) : Bool := - (Bool.true && (let _ychecked1_input : (Models.Triage.Presentation) := presentation; (((Bool.true && Bool.true) && (__fits_1 (_ychecked1_input))) && (if (Models.Triage.symptomaticCheck (_ychecked1_input)) then (((Bool.true && Bool.true) && (__fits_2 (_ychecked1_input))) && (let _ychecked1_output : Nat := (Models.Pipeline.PipelineModel (_ychecked1_input)); ((Bool.true && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) - -attribute [local irreducible] Models.Pipeline.PipelineModel Models.Triage.symptomaticCheck in -theorem __rel_0 (presentation : (Models.Triage.Presentation)) : _root_.LexLeanPreservation.FunRel __prog 0 [(__enc_0 presentation)] (_root_.LexLeanPreservation.Rel (__fits_0 presentation) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Main.respond presentation))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (let _ychecked1_input : (Models.Triage.Presentation) := presentation; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && (__fits_2 (_ychecked1_input))) && (let _ychecked1_output : Nat := (Models.Pipeline.PipelineModel (_ychecked1_input)); ((Bool.true && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then (let _ychecked1_output : Nat := (Models.Pipeline.PipelineModel (_ychecked1_input)); (Except.ok (_ychecked1_output) : (Except (Prod Bool Bool) Nat))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)))) (Models.Triage.symptomaticCheck (_ychecked1_input)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (_ychecked1_input))) (fun _ => (let _ychecked1_output : Nat := (Models.Pipeline.PipelineModel (_ychecked1_input)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_2 (_ychecked1_input))) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))) - -def denote (presentation : (Models.Triage.Presentation)) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 presentation) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Main.respond presentation)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (presentation : (Models.Triage.Presentation)) : _root_.LexLeanPreservation.RunConv __prog 0 [(__enc_0 presentation)] (_root_.LexLeanPreservation.Rel (__fits_0 presentation) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Main.respond presentation))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 presentation) - -end LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2 diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R2/Compose/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R2/Compose/RustStd.lean deleted file mode 100644 index 8576a121d..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R2/Compose/RustStd.lean +++ /dev/null @@ -1,31 +0,0 @@ -import LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2 -import LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.Compose.RustStd - -theorem __wt_0 : ∀ (__v : (Models.Triage.Presentation)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.RustStd.program _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.RustStd.krate _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.RustStd.flags (_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.__enc_0 __v) (.adt 0) - | Models.Triage.Presentation.p0 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Models.Triage.Presentation.p1 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Models.Triage.Presentation.p2 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Models.Triage.Presentation.p3 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Models.Triage.Presentation.p4 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Models.Triage.Presentation.p5 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Models.Triage.Presentation.p6 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Models.Triage.Presentation.p7 => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - -theorem __wt_1 : ∀ (__v : (Models.Triage.Level)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.RustStd.program _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.RustStd.krate _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.RustStd.flags (_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.__enc_1 __v) (.adt 1) - | Models.Triage.Level.routine => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Models.Triage.Level.urgent => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Models.Triage.Level.emergency => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (presentation : (Models.Triage.Presentation)) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.__enc_0 presentation)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.denote presentation) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.__enc_0 presentation)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 presentation) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.root presentation) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.Compose.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R2/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R2/RustStd.lean deleted file mode 100644 index f92fe070d..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R2/RustStd.lean +++ /dev/null @@ -1,210 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [{ constructors := [[], [], [], [], [], [], [], []] }, - { constructors := [[], [], []] }], functions := [ - { parameters := [0], types := [(.adt 0)], result := (.result .nat (.pair .bool .bool)), - body := (.«let» 1 (.adt 0) (.var 0) (.cond (.call 1 [(.var 1)]) (.«let» 2 .nat (.call 2 [(.var 1)]) (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)])) (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))) }, - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.call 3 [(.var 0)]) }, - { parameters := [0], types := [(.adt 0)], result := .nat, - body := (.call 4 [(.var 0)]) }, - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.«match» .bool (.var 0) [(.arm (.adt 0) [] (.build .false .bool [])), (.arm (.adt 1) [] (.build .true .bool [])), (.arm (.adt 2) [] (.build .true .bool [])), (.arm (.adt 3) [] (.build .true .bool [])), (.arm (.adt 4) [] (.build .true .bool [])), (.arm (.adt 5) [] (.build .true .bool [])), (.arm (.adt 6) [] (.build .true .bool [])), (.arm (.adt 7) [] (.build .true .bool []))]) }, - { parameters := [0], types := [(.adt 0)], result := .nat, - body := (.«let» 1 (.adt 1) (.call 5 [(.var 0)]) (.«let» 2 .nat (.call 6 [(.var 1)]) (.var 2))) }, - { parameters := [0], types := [(.adt 0)], result := (.adt 1), - body := (.call 7 [(.var 0)]) }, - { parameters := [0], types := [(.adt 1)], result := .nat, - body := (.call 8 [(.var 0)]) }, - { parameters := [0], types := [(.adt 0)], result := (.adt 1), - body := (.«match» (.adt 1) (.first (.call 9 [(.closure 10 []), (.build .pair (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))) [(.build .none (.option (.pair (.adt 1) .int)) []), (.build .cons (.list (.adt 1)) [(.build (.adt 0) (.adt 1) []), (.build .cons (.list (.adt 1)) [(.build (.adt 1) (.adt 1) []), (.build .cons (.list (.adt 1)) [(.build (.adt 2) (.adt 1) []), (.build .nil (.list (.adt 1)) [])])])])]), (.call 11 [(.var 0)])])) [(.arm .none [] (.build (.adt 0) (.adt 1) [])), (.arm .some [1] (.first (.var 1)))]) }, - { parameters := [0], types := [(.adt 1)], result := .nat, - body := (.cond (.call 12 [(.var 0)]) (.value .nat (.nat 2)) (.cond (.call 13 [(.var 0)]) (.value .nat (.nat 1)) (.value .nat (.nat 0)))) }, - { parameters := [0, 1, 2], types := [(.fn [(.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), .int] (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1)))), (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (.list .int)], result := (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), - body := (.«match» (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 9 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1], types := [(.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), .int], result := (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), - body := (.«match» (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))) [(.«match» (.option (.pair (.adt 1) .int)) (.first (.var 0)) [(.arm .none [] (.build .some (.option (.pair (.adt 1) .int)) [(.build .pair (.pair (.adt 1) .int) [(.var 2), (.var 1)])])), (.arm .some [4] (.cond (.«match» .bool (.prim .compare [(.second (.var 4)), (.var 1)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.build .some (.option (.pair (.adt 1) .int)) [(.build .pair (.pair (.adt 1) .int) [(.var 2), (.var 1)])]) (.build .some (.option (.pair (.adt 1) .int)) [(.var 4)])))]), (.var 3)]))]) }, - { parameters := [0], types := [(.adt 0)], result := (.list .int), - body := (.«let» 1 (.list .int) (.call 14 [(.var 0)]) (.first (.call 15 [(.closure 16 [(.var 1)]), (.build .pair (.pair (.list .int) (.list .int)) [(.build .nil (.list .int) []), (.call 17 [])]), (.call 18 [])]))) }, - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.«match» .bool (.var 0) [(.arm (.adt 0) [] (.build .false .bool [])), (.arm (.adt 1) [] (.build .false .bool [])), (.arm (.adt 2) [] (.build .true .bool []))]) }, - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.«match» .bool (.var 0) [(.arm (.adt 0) [] (.build .false .bool [])), (.arm (.adt 1) [] (.build .true .bool [])), (.arm (.adt 2) [] (.build .false .bool []))]) }, - { parameters := [0], types := [(.adt 0)], result := (.list .int), - body := (.call 19 [(.var 0)]) }, - { parameters := [0, 1, 2], types := [(.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (.pair (.list .int) (.list .int)), (.list (.list .int))], result := (.pair (.list .int) (.list .int)), - body := (.«match» (.pair (.list .int) (.list .int)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 15 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1, 2], types := [(.list .int), (.pair (.list .int) (.list .int)), (.list .int)], result := (.pair (.list .int) (.list .int)), - body := (.«match» (.pair (.list .int) (.list .int)) (.second (.var 1)) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.build .pair (.pair (.list .int) (.list .int)) [(.prim .append [(.first (.var 1)), (.build .cons (.list .int) [(.prim .intSub [(.var 3), (.prim .intNeg [(.first (.call 20 [(.closure 21 []), (.build .pair (.pair .int (.list .int)) [(.value .int (.int 0)), (.var 0)]), (.var 2)]))])]), (.build .nil (.list .int) [])])]), (.var 4)]))]) }, - { parameters := [], types := [], result := (.list .int), - body := (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int (-1))), (.build .nil (.list .int) [])])])]) }, - { parameters := [], types := [], result := (.list (.list .int)), - body := (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int (-2))), (.build .cons (.list .int) [(.value .int (.int (-4))), (.build .nil (.list .int) [])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 2)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])]), (.build .cons (.list (.list .int)) [(.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 5)), (.build .nil (.list .int) [])])])]), (.build .nil (.list (.list .int)) [])])])]) }, - { parameters := [0], types := [(.adt 0)], result := (.list .int), - body := (.«match» (.list .int) (.var 0) [(.arm (.adt 0) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])), (.arm (.adt 1) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])), (.arm (.adt 2) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])), (.arm (.adt 3) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .nil (.list .int) [])])])])), (.arm (.adt 4) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])), (.arm (.adt 5) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])), (.arm (.adt 6) [] (.build .cons (.list .int) [(.value .int (.int 0)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])])), (.arm (.adt 7) [] (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .cons (.list .int) [(.value .int (.int 1)), (.build .nil (.list .int) [])])])]))]) }, - { parameters := [0, 1, 2], types := [(.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (.pair .int (.list .int)), (.list .int)], result := (.pair .int (.list .int)), - body := (.«match» (.pair .int (.list .int)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 20 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1], types := [(.pair .int (.list .int)), .int], result := (.pair .int (.list .int)), - body := (.«match» (.pair .int (.list .int)) (.second (.var 0)) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.build .pair (.pair .int (.list .int)) [(.prim .intSub [(.first (.var 0)), (.prim .intNeg [(.prim .intMul [(.var 1), (.var 2)])])]), (.var 3)]))]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.enum (.adt 0) [{ number := 0, fields := [] }, { number := 1, fields := [] }, { number := 2, fields := [] }, { number := 3, fields := [] }, { number := 4, fields := [] }, { number := 5, fields := [] }, { number := 6, fields := [] }, { number := 7, fields := [] }]), - (.enum (.adt 1) [{ number := 0, fields := [] }, { number := 1, fields := [] }, { number := 2, fields := [] }]), - (.enum (.fn 0) [{ number := 10, fields := [] }]), - (.apply 0 [(.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), .int] (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))) false [{ function := 10, captures := [], functionFallible := false }]), - (.enum (.fn 1) [{ number := 16, fields := [(.list .int)] }]), - (.apply 1 [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int)) true [{ function := 16, captures := [.clone], functionFallible := true }]), - (.enum (.fn 2) [{ number := 21, fields := [] }]), - (.apply 2 [(.pair .int (.list .int)), .int] (.pair .int (.list .int)) true [{ function := 21, captures := [], functionFallible := true }]), - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.result .nat (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 1)) (some (.adt 0)) (.move (.generated .binding 0)))] (.cond (.call (.function 1) [(.clone (.generated .binding 1))] false) (.mk [(.mk (.bind (.generated .binding 2)) (some .nat) (.call (.function 2) [(.move (.generated .binding 1))] true))] (.succeed (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))]))) (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [] (.call (.function 3) [(.move (.generated .binding 0))] false))), - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [] (.call (.function 4) [(.move (.generated .binding 0))] false))), - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 []) (.mk [] (.lit (.bool false)))), (.mk (.adt 0 1 []) (.mk [] (.lit (.bool true)))), (.mk (.adt 0 2 []) (.mk [] (.lit (.bool true)))), (.mk (.adt 0 3 []) (.mk [] (.lit (.bool true)))), (.mk (.adt 0 4 []) (.mk [] (.lit (.bool true)))), (.mk (.adt 0 5 []) (.mk [] (.lit (.bool true)))), (.mk (.adt 0 6 []) (.mk [] (.lit (.bool true)))), (.mk (.adt 0 7 []) (.mk [] (.lit (.bool true))))]))), - (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .binding 1)) (some (.adt 1)) (.call (.function 5) [(.move (.generated .binding 0))] true)), (.mk (.bind (.generated .binding 2)) (some .nat) (.call (.function 6) [(.move (.generated .binding 1))] false))] (.succeed (.copy (.generated .binding 2))))), - (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.adt 1)) (.mk [] (.call (.function 7) [(.move (.generated .binding 0))] false))), - (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .nat (.mk [] (.call (.function 8) [(.move (.generated .binding 0))] false))), - (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.adt 1)) (.mk [(.mk (.bind (.generated .holder 3)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.call (.function 9) [(.construct (.closure 0 10) []), (.pair (.construct (.none (.pair (.adt 1) .int)) []) (.construct .cons [(.construct (.adt 1 0) []), (.construct .cons [(.construct (.adt 1 1) []), (.construct .cons [(.construct (.adt 1 2) []), (.construct (.nil (.adt 1)) [])])])])), (.call (.function 11) [(.move (.generated .binding 0))] true)] false))] (.move (.generated .part 2)))))] (.matchOn (.move (.generated .holder 3)) [(.mk .none (.mk [] (.succeed (.construct (.adt 1 0) [])))), (.mk (.some (.bind (.generated .binding 1))) (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))] (.succeed (.move (.generated .part 4)))))]))), - (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .nat (.mk [] (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.lit (.nat 2))) (.mk [] (.cond (.call (.function 13) [(.move (.generated .binding 0))] false) (.mk [] (.lit (.nat 1))) (.mk [] (.lit (.nat 0)))))))), - (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))) }, { pattern := (.bind (.generated .binding 2)), type := (.list .int) }] (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))) (.mk [(.mk (.bind (.generated .holder 5)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 5)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 9) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 6)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 6) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)))]))), - (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))) }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))) (.mk [(.mk (.bind (.generated .holder 8)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 7))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 7)))))] (.matchOn (.uncons (.generated .holder 8)) [(.mk .none (.mk [] (.move (.generated .binding 0)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .holder 10)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 9)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 9)))))] (.matchOn (.move (.generated .holder 10)) [(.mk .none (.mk [] (.construct .some [(.pair (.move (.generated .binding 2)) (.copy (.generated .binding 1)))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [(.mk (.bind (.generated .holder 14)) none (.block (.mk [(.mk (.bind (.generated .operand 12)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 11))]) none (.clone (.generated .binding 4)))] (.move (.generated .part 11))))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false))))] (.cond (.matchOn (.move (.generated .holder 14)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.move (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.move (.generated .binding 4))])))))]))) (.move (.generated .binding 3)))))]))), - (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.list .int)) (.mk [(.mk (.bind (.generated .binding 1)) (some (.list .int)) (.call (.function 14) [(.move (.generated .binding 0))] false)), (.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.call (.function 15) [(.construct (.closure 1 16) [(.move (.generated .binding 1))]), (.pair (.construct (.nil .int) []) (.call (.function 17) [] false)), (.call (.function 18) [] false)] true))] (.succeed (.move (.generated .part 15))))), - (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .holder 16)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 16)) [(.mk (.adt 1 0 []) (.mk [] (.lit (.bool false)))), (.mk (.adt 1 1 []) (.mk [] (.lit (.bool false)))), (.mk (.adt 1 2 []) (.mk [] (.lit (.bool true))))]))), - (.function (.generated .function 13) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .holder 17)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 17)) [(.mk (.adt 1 0 []) (.mk [] (.lit (.bool false)))), (.mk (.adt 1 1 []) (.mk [] (.lit (.bool true)))), (.mk (.adt 1 2 []) (.mk [] (.lit (.bool false))))]))), - (.function (.generated .function 14) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.list .int) (.mk [] (.call (.function 19) [(.move (.generated .binding 0))] false))), - (.function (.generated .function 15) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 1) }, { pattern := (.bind (.generated .binding 1)), type := (.pair (.list .int) (.list .int)) }, { pattern := (.bind (.generated .binding 2)), type := (.list (.list .int)) }] (.fallible (.pair (.list .int) (.list .int))) (.mk [(.mk (.bind (.generated .holder 18)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 18)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 15) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 19)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 19) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]))), - (.function (.generated .function 16) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }, { pattern := (.bind (.generated .binding 1)), type := (.pair (.list .int) (.list .int)) }, { pattern := (.bind (.generated .binding 2)), type := (.list .int) }] (.fallible (.pair (.list .int) (.list .int))) (.mk [(.mk (.bind (.generated .holder 21)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 20))]) none (.clone (.generated .binding 1)))] (.move (.generated .part 20)))))] (.matchOn (.uncons (.generated .holder 21)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 27)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 22)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 22))))), (.mk (.bind (.generated .operand 28)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 25)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 26)) none (.block (.mk [(.mk (.bind (.generated .operand 24)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.call (.function 20) [(.construct (.closure 2 21) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 23)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 24))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false))) (.move (.generated .binding 4))))))]))), - (.function (.generated .function 17) [] (.list .int) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int (-1))), (.construct (.nil .int) [])])])]))), - (.function (.generated .function 18) [] (.list (.list .int)) (.mk [] (.construct .cons [(.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int (-4))), (.construct (.nil .int) [])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 5)), (.construct (.nil .int) [])])])]), (.construct (.nil (.list .int)) [])])])]))), - (.function (.generated .function 19) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.list .int) (.mk [(.mk (.bind (.generated .holder 29)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 29)) [(.mk (.adt 0 0 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])]))), (.mk (.adt 0 1 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])]))), (.mk (.adt 0 2 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])]))), (.mk (.adt 0 3 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])]))), (.mk (.adt 0 4 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])]))), (.mk (.adt 0 5 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])]))), (.mk (.adt 0 6 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])]))), (.mk (.adt 0 7 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])))]))), - (.function (.generated .function 20) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 2) }, { pattern := (.bind (.generated .binding 1)), type := (.pair .int (.list .int)) }, { pattern := (.bind (.generated .binding 2)), type := (.list .int) }] (.fallible (.pair .int (.list .int))) (.mk [(.mk (.bind (.generated .holder 30)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 30)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 20) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 31)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 31) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]))), - (.function (.generated .function 21) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .int (.list .int)) }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.fallible (.pair .int (.list .int))) (.mk [(.mk (.bind (.generated .holder 33)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 32))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 32)))))] (.matchOn (.uncons (.generated .holder 33)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 38)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 34)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 34))))), (.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.bind (.generated .operand 35)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 36)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 37))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] true))) (.move (.generated .binding 3))))))])))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [(([(.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), .int], (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1)))), false), (([(.pair (.list .int) (.list .int)), (.list .int)], (.pair (.list .int) (.list .int))), true), (([(.pair .int (.list .int)), .int], (.pair .int (.list .int))), true)] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.adt 0)) (.move (.generated .binding 0)))], (.cond (.call (.function 1) [(.clone (.generated .binding 1))] false) (.mk [(.mk (.bind (.generated .binding 2)) (some .nat) (.call (.function 2) [(.move (.generated .binding 1))] true))] (.succeed (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))]))) (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.letBind (Corr.var rfl rfl) rfl (Corr.cond (lc := []) (ce := (.call (.function 1) [(.clone (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .binding 2)) (some .nat) (.call (.function 2) [(.move (.generated .binding 1))] true))]) (ta := (.succeed (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))]))) (lb := []) (tb := (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))) (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.fOfB (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))))⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 3) [(.move (.generated .binding 0))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 4) [(.move (.generated .binding 0))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.callF (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 []) (.mk [] (.lit (.bool false)))), (.mk (.adt 0 1 []) (.mk [] (.lit (.bool true)))), (.mk (.adt 0 2 []) (.mk [] (.lit (.bool true)))), (.mk (.adt 0 3 []) (.mk [] (.lit (.bool true)))), (.mk (.adt 0 4 []) (.mk [] (.lit (.bool true)))), (.mk (.adt 0 5 []) (.mk [] (.lit (.bool true)))), (.mk (.adt 0 6 []) (.mk [] (.lit (.bool true)))), (.mk (.adt 0 7 []) (.mk [] (.lit (.bool true))))]), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1, 2, 3, 4, 5, 6, 7]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 3) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 4) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 5) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 6) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 7) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun4 : FunOK program krate flags 4 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.adt 1)) (.call (.function 5) [(.move (.generated .binding 0))] true)), (.mk (.bind (.generated .binding 2)) (some .nat) (.call (.function 6) [(.move (.generated .binding 1))] false))], (.succeed (.copy (.generated .binding 2))), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))))⟩⟩ - -theorem fun5 : FunOK program krate flags 5 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 7) [(.move (.generated .binding 0))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.callF (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ - -theorem fun6 : FunOK program krate flags 6 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 8) [(.move (.generated .binding 0))] false), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun7 : FunOK program krate flags 7 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 3)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.call (.function 9) [(.construct (.closure 0 10) []), (.pair (.construct (.none (.pair (.adt 1) .int)) []) (.construct .cons [(.construct (.adt 1 0) []), (.construct .cons [(.construct (.adt 1 1) []), (.construct .cons [(.construct (.adt 1 2) []), (.construct (.nil (.adt 1)) [])])])])), (.call (.function 11) [(.move (.generated .binding 0))] true)] false))] (.move (.generated .part 2)))))], (.matchOn (.move (.generated .holder 3)) [(.mk .none (.mk [] (.succeed (.construct (.adt 1 0) [])))), (.mk (.some (.bind (.generated .binding 1))) (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))] (.succeed (.move (.generated .part 4)))))]), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option (.pair (.adt 1) .int))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.call (.function 9) [(.construct (.closure 0 10) []), (.pair (.construct (.none (.pair (.adt 1) .int)) []) (.construct .cons [(.construct (.adt 1 0) []), (.construct .cons [(.construct (.adt 1 1) []), (.construct .cons [(.construct (.adt 1 2) []), (.construct (.nil (.adt 1)) [])])])])), (.call (.function 11) [(.move (.generated .binding 0))] true)] false))]) (tail := (.move (.generated .part 2))) (Corr.first (ta := (.option (.pair (.adt 1) .int))) (tb := (.list (.adt 1))) (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), .int] (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1)))), (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := false) (ff := false) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.adt 1), (.list (.adt 1))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.adt 1), (.list (.adt 1))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.adt 1), (.list (.adt 1))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl)) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.adt 1 0) []))) (Corr.mCons (Γ' := [(1, (.pair (.adt 1) .int), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.succeed (.move (.generated .part 4)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.first (ta := (.adt 1)) (tb := .int) (Corr.var rfl rfl) rfl))) rfl rfl rfl (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) rfl rfl rfl)⟩⟩ - -theorem fun8 : FunOK program krate flags 8 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.lit (.nat 2))) (.mk [] (.cond (.call (.function 13) [(.move (.generated .binding 0))] false) (.mk [] (.lit (.nat 1))) (.mk [] (.lit (.nat 0)))))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 12) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.nat 2))) (lb := []) (tb := (.cond (.call (.function 13) [(.move (.generated .binding 0))] false) (.mk [] (.lit (.nat 1))) (.mk [] (.lit (.nat 0))))) (Corr.bOfE (Corr.value rfl rfl)) (Corr.cond (lc := []) (ce := (.call (.function 13) [(.move (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.nat 1))) (lb := []) (tb := (.lit (.nat 0))) (Corr.bOfE (Corr.value rfl rfl)) (Corr.bOfE (Corr.value rfl rfl))))))⟩⟩ - -theorem fun9 : FunOK program krate flags 9 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 5)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 5)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 9) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 6)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 6) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)))]), [(2, (.list .int), (some 2)), (1, (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (some 1)), (0, (.fn [(.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), .int] (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1)))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (some 1)), (0, (.fn [(.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), .int] (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1)))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(4, (.list .int), (some 4)), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (some 1)), (0, (.fn [(.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), .int] (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1)))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 9) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 6)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 6) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.fn [(.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), .int] (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1)))), (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 6)) (some (.fn 0)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 6) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false)) (Corr.apply (ps := [(.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), .int]) (af := false) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun10 : FunOK program krate flags 10 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 8)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 7))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 7)))))], (.matchOn (.uncons (.generated .holder 8)) [(.mk .none (.mk [] (.move (.generated .binding 0)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .holder 10)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 9)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 9)))))] (.matchOn (.move (.generated .holder 10)) [(.mk .none (.mk [] (.construct .some [(.pair (.move (.generated .binding 2)) (.copy (.generated .binding 1)))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [(.mk (.bind (.generated .holder 14)) none (.block (.mk [(.mk (.bind (.generated .operand 12)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 11))]) none (.clone (.generated .binding 4)))] (.move (.generated .part 11))))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false))))] (.cond (.matchOn (.move (.generated .holder 14)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.move (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.move (.generated .binding 4))])))))]))) (.move (.generated .binding 3)))))]), [(1, .int, (some 1)), (0, (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.adt 1))) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 7))]) none (.clone (.generated .binding 0)))]) (tail := (.move (.generated .part 7))) (Corr.second (ta := (.option (.pair (.adt 1) .int))) (tb := (.list (.adt 1))) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list (.adt 1)), (some 3)), (2, (.adt 1), (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.pair (.block (.mk [(.mk (.bind (.generated .holder 10)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 9)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 9)))))] (.matchOn (.move (.generated .holder 10)) [(.mk .none (.mk [] (.construct .some [(.pair (.move (.generated .binding 2)) (.copy (.generated .binding 1)))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [(.mk (.bind (.generated .holder 14)) none (.block (.mk [(.mk (.bind (.generated .operand 12)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 11))]) none (.clone (.generated .binding 4)))] (.move (.generated .part 11))))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false))))] (.cond (.matchOn (.move (.generated .holder 14)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.move (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.move (.generated .binding 4))])))))]))) (.move (.generated .binding 3)))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 10)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 9)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 9)))))]) (tail := (.matchOn (.move (.generated .holder 10)) [(.mk .none (.mk [] (.construct .some [(.pair (.move (.generated .binding 2)) (.copy (.generated .binding 1)))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [(.mk (.bind (.generated .holder 14)) none (.block (.mk [(.mk (.bind (.generated .operand 12)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 11))]) none (.clone (.generated .binding 4)))] (.move (.generated .part 11))))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false))))] (.cond (.matchOn (.move (.generated .holder 14)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.move (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.move (.generated .binding 4))])))))])) (Corr.matchArms (st := (.option (.pair (.adt 1) .int))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 9)), .wild]) none (.move (.generated .binding 0)))]) (tail := (.move (.generated .part 9))) (Corr.first (ta := (.option (.pair (.adt 1) .int))) (tb := (.list (.adt 1))) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(3, (.list (.adt 1)), (some 3)), (2, (.adt 1), (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.pair (.move (.generated .binding 2)) (.copy (.generated .binding 1)))])) (Corr.mCons (Γ' := [(4, (.pair (.adt 1) .int), (some 4)), (3, (.list (.adt 1)), (some 3)), (2, (.adt 1), (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 14)) none (.block (.mk [(.mk (.bind (.generated .operand 12)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 11))]) none (.clone (.generated .binding 4)))] (.move (.generated .part 11))))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 14)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.construct .some [(.pair (.move (.generated .binding 2)) (.copy (.generated .binding 1)))])) (.mk [] (.construct .some [(.move (.generated .binding 4))])))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 14)) none (.block (.mk [(.mk (.bind (.generated .operand 12)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 11))]) none (.clone (.generated .binding 4)))] (.move (.generated .part 11))))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))] (.call (.runtime .compare) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false))))]) (ce := (.matchOn (.move (.generated .holder 14)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 12)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 11))]) none (.clone (.generated .binding 4)))] (.move (.generated .part 11))))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 11))]) none (.clone (.generated .binding 4)))]) (tail := (.move (.generated .part 11))) (Corr.second (ta := (.adt 1)) (tb := .int) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.pair (.adt 1) .int), (some 4)), (3, (.list (.adt 1)), (some 3)), (2, (.adt 1), (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.pair (.adt 1) .int), (some 4)), (3, (.list (.adt 1)), (some 3)), (2, (.adt 1), (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.pair (.adt 1) .int), (some 4)), (3, (.list (.adt 1)), (some 3)), (2, (.adt 1), (some 2)), (1, .int, (some 1)), (0, (.pair (.option (.pair (.adt 1) .int)) (.list (.adt 1))), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.pair (.move (.generated .binding 2)) (.copy (.generated .binding 1)))])) (lb := []) (tb := (.construct .some [(.move (.generated .binding 4))])) (Corr.build (ts := [(.pair (.adt 1) .int)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lNil))) rfl) (Corr.build (ts := [(.pair (.adt 1) .int)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)))) rfl rfl rfl (Corr.build (ts := [(.pair (.adt 1) .int)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))))) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun11 : FunOK program krate flags 11 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.list .int)) (.call (.function 14) [(.move (.generated .binding 0))] false)), (.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.call (.function 15) [(.construct (.closure 1 16) [(.move (.generated .binding 1))]), (.pair (.construct (.nil .int) []) (.call (.function 17) [] false)), (.call (.function 18) [] false)] true))], (.succeed (.move (.generated .part 15))), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.fOfB (Corr.first (ta := (.list .int)) (tb := (.list .int)) (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (.pair (.list .int) (.list .int)), (.list (.list .int))]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [(.list .int)]) (mask := [false]) (af := true) (ff := true) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := []) (Corr.opsNil) rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := []) (Corr.opsNil) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl)))⟩⟩ - -theorem fun12 : FunOK program krate flags 12 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 16)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 16)) [(.mk (.adt 1 0 []) (.mk [] (.lit (.bool false)))), (.mk (.adt 1 1 []) (.mk [] (.lit (.bool false)))), (.mk (.adt 1 2 []) (.mk [] (.lit (.bool true))))]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.adt 1)) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun13 : FunOK program krate flags 13 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 17)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 17)) [(.mk (.adt 1 0 []) (.mk [] (.lit (.bool false)))), (.mk (.adt 1 1 []) (.mk [] (.lit (.bool true)))), (.mk (.adt 1 2 []) (.mk [] (.lit (.bool false))))]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.adt 1)) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun14 : FunOK program krate flags 14 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 19) [(.move (.generated .binding 0))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun15 : FunOK program krate flags 15 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 18)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 18)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 15) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 19)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 19) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list (.list .int)), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.list .int))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.list .int)), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list (.list .int)), (some 4)), (3, (.list .int), (some 3)), (2, (.list (.list .int)), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 15) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 19)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 19) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.pair (.list .int) (.list .int)), (.list .int)] (.pair (.list .int) (.list .int))), (.pair (.list .int) (.list .int)), (.list (.list .int))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 19)) (some (.fn 1)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 19) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true)) (Corr.apply (ps := [(.pair (.list .int) (.list .int)), (.list .int)]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun16 : FunOK program krate flags 16 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 21)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 20))]) none (.clone (.generated .binding 1)))] (.move (.generated .part 20)))))], (.matchOn (.uncons (.generated .holder 21)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 27)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 22)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 22))))), (.mk (.bind (.generated .operand 28)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 25)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 26)) none (.block (.mk [(.mk (.bind (.generated .operand 24)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.call (.function 20) [(.construct (.closure 2 21) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 23)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 24))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false))) (.move (.generated .binding 4))))))]), [(2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 20))]) none (.clone (.generated .binding 1)))]) (tail := (.move (.generated .part 20))) (Corr.second (ta := (.list .int)) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .int), (some 4)), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, (.pair (.list .int) (.list .int)), (some 1)), (0, (.list .int), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 27)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 22)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 22))))), (.mk (.bind (.generated .operand 28)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 25)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 26)) none (.block (.mk [(.mk (.bind (.generated .operand 24)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.call (.function 20) [(.construct (.closure 2 21) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 23)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 24))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] true))), (.construct (.nil .int) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false))) (.move (.generated .binding 4))))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 27)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 22)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 22))))), (.mk (.bind (.generated .operand 28)) none (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 25)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 26)) none (.block (.mk [(.mk (.bind (.generated .operand 24)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.call (.function 20) [(.construct (.closure 2 21) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 23)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 24))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] true))), (.construct (.nil .int) [])]))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false)) (Corr.prim (ts := [(.list .int), (.list .int)]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 22)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 22))) (Corr.first (ta := (.list .int)) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 25)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 26)) none (.block (.mk [(.mk (.bind (.generated .operand 24)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.call (.function 20) [(.construct (.closure 2 21) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 23)))))] (.call (.runtime .intNeg) [(.move (.generated .operand 24))] true))))]) (tail := (.call (.runtime .intSub) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 24)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.call (.function 20) [(.construct (.closure 2 21) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))] (.move (.generated .part 23)))))]) (tail := (.call (.runtime .intNeg) [(.move (.generated .operand 24))] true)) (Corr.prim (ts := [.int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.call (.function 20) [(.construct (.closure 2 21) []), (.pair (.lit (.int 0)) (.move (.generated .binding 0))), (.move (.generated .binding 2))] true))]) (tail := (.move (.generated .part 23))) (Corr.first (ta := .int) (tb := (.list .int)) (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (.pair .int (.list .int)), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun17 : FunOK program krate flags 17 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int (-1))), (.construct (.nil .int) [])])])]), [], rfl, rfl, - (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)⟩⟩ - -theorem fun18 : FunOK program krate flags 18 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct .cons [(.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int (-2))), (.construct .cons [(.lit (.int (-4))), (.construct (.nil .int) [])])])]), (.construct .cons [(.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 2)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])]), (.construct .cons [(.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 5)), (.construct (.nil .int) [])])])]), (.construct (.nil (.list .int)) [])])])]), [], rfl, rfl, - (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list .int), (.list (.list .int))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)⟩⟩ - -theorem fun19 : FunOK program krate flags 19 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 29)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 29)) [(.mk (.adt 0 0 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])]))), (.mk (.adt 0 1 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])]))), (.mk (.adt 0 2 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])]))), (.mk (.adt 0 3 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])]))), (.mk (.adt 0 4 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])]))), (.mk (.adt 0 5 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])]))), (.mk (.adt 0 6 []) (.mk [] (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])]))), (.mk (.adt 0 7 []) (.mk [] (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])))]), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1, 2, 3, 4, 5, 6, 7]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 3) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct (.nil .int) [])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 4) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 5) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 6) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 0)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 7) (loads := []) (lets := []) (tail := (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct .cons [(.lit (.int 1)), (.construct (.nil .int) [])])])])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.int, (.list .int)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun20 : FunOK program krate flags 20 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 30)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 30)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 20) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 31)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 31) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list .int), (some 2)), (1, (.pair .int (.list .int)), (some 1)), (0, (.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, (.pair .int (.list .int)), (some 1)), (0, (.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .int), (some 4)), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, (.pair .int (.list .int)), (some 1)), (0, (.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 20) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 31)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 31) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.pair .int (.list .int)), .int] (.pair .int (.list .int))), (.pair .int (.list .int)), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 31)) (some (.fn 2)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 31) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true)) (Corr.apply (ps := [(.pair .int (.list .int)), .int]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun21 : FunOK program krate flags 21 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 33)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 32))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 32)))))], (.matchOn (.uncons (.generated .holder 33)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 38)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 34)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 34))))), (.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.bind (.generated .operand 35)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 36)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 37))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] true))) (.move (.generated .binding 3))))))]), [(1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 32))]) none (.clone (.generated .binding 0)))]) (tail := (.move (.generated .part 32))) (Corr.second (ta := .int) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 0)))) (Corr.mCons (Γ' := [(3, (.list .int), (some 3)), (2, .int, (some 2)), (1, .int, (some 1)), (0, (.pair .int (.list .int)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 38)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 34)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 34))))), (.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.bind (.generated .operand 35)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 36)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 37))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] true))) (.move (.generated .binding 3))))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 38)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 34)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 34))))), (.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.bind (.generated .operand 35)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 36)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] true))))] (.call (.runtime .intNeg) [(.move (.generated .operand 37))] true))))]) (tail := (.call (.runtime .intSub) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 34)), .wild]) none (.move (.generated .binding 0)))]) (tail := (.move (.generated .part 34))) (Corr.first (ta := .int) (tb := (.list .int)) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.bind (.generated .operand 35)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 36)) none (.copy (.generated .binding 2)))] (.call (.runtime .intMul) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] true))))]) (tail := (.call (.runtime .intNeg) [(.move (.generated .operand 37))] true)) (Corr.prim (ts := [.int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 35)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 36)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .intMul) [(.move (.generated .operand 35)), (.move (.generated .operand 36))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | 4 => exact fun4 - | 5 => exact fun5 - | 6 => exact fun6 - | 7 => exact fun7 - | 8 => exact fun8 - | 9 => exact fun9 - | 10 => exact fun10 - | 11 => exact fun11 - | 12 => exact fun12 - | 13 => exact fun13 - | 14 => exact fun14 - | 15 => exact fun15 - | 16 => exact fun16 - | 17 => exact fun17 - | 18 => exact fun18 - | 19 => exact fun19 - | 20 => exact fun20 - | 21 => exact fun21 - | _ + 22 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R3.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R3.lean deleted file mode 100644 index eca84e944..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R3.lean +++ /dev/null @@ -1,132 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Models.Flows -import Models.Glyphs -import Models.Ledger -import Models.Main -import Models.Pipeline -import Models.Policy -import Models.Recognizer -import Models.Session -import Models.Triage -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [{ constructors := [[.nat, .nat]] }], functions := [ - { parameters := [0], types := [(.list .nat)], result := (.result (.result (.list .nat) (.pair .bool .bool)) (.pair .bool .bool)), - body := (.«let» 1 (.list .nat) (.var 0) (.cond (.call 1 [(.var 1)]) (.«let» 2 (.result (.list .nat) (.pair .bool .bool)) (.call 2 [(.var 1)]) (.build .ok (.result (.result (.list .nat) (.pair .bool .bool)) (.pair .bool .bool)) [(.var 2)])) (.build .error (.result (.result (.list .nat) (.pair .bool .bool)) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))) }, - { parameters := [0], types := [(.list .nat)], result := .bool, - body := (.prim .natLt [(.prim .length [(.var 0)]), (.value .nat (.nat 1001))]) }, - { parameters := [0], types := [(.list .nat)], result := (.result (.list .nat) (.pair .bool .bool)), - body := (.call 3 [(.var 0)]) }, - { parameters := [0], types := [(.list .nat)], result := (.result (.list .nat) (.pair .bool .bool)), - body := (.«let» 1 (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) (.call 4 [(.closure 5 []), (.build .ok (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.build .pair (.pair (.adt 0) (.list .nat)) [(.call 6 []), (.build .nil (.list .nat) [])])]), (.var 0)]) (.«match» (.result (.list .nat) (.pair .bool .bool)) (.var 1) [(.arm .error [2] (.build .error (.result (.list .nat) (.pair .bool .bool)) [(.var 2)])), (.arm .ok [3] (.build .ok (.result (.list .nat) (.pair .bool .bool)) [(.second (.var 3))]))])) }, - { parameters := [0, 1, 2], types := [(.fn [(.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), .nat] (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))), (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), (.list .nat)], result := (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), - body := (.«match» (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 4 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1], types := [(.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), .nat], result := (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), - body := (.«match» (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) (.var 0) [(.arm .error [2] (.var 0)), (.arm .ok [3] (.cond (.call 7 [(.first (.var 3))]) (.cond (.call 8 [(.first (.var 3)), (.var 1)]) (.«let» 4 (.pair (.adt 0) .nat) (.call 9 [(.first (.var 3)), (.var 1)]) (.build .ok (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.build .pair (.pair (.adt 0) (.list .nat)) [(.first (.var 4)), (.prim .append [(.second (.var 3)), (.build .cons (.list .nat) [(.second (.var 4)), (.build .nil (.list .nat) [])])])])])) (.build .error (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])])) (.build .error (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])])))]) }, - { parameters := [], types := [], result := (.adt 0), - body := (.call 10 []) }, - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLe [(.field (.var 0) 0), (.value .nat (.nat 64))]) }, - { parameters := [0, 1], types := [(.adt 0), .nat], result := .bool, - body := (.prim .natLe [(.var 1), (.value .nat (.nat 16))]) }, - { parameters := [0, 1], types := [(.adt 0), .nat], result := (.pair (.adt 0) .nat), - body := (.call 11 [(.var 0), (.var 1)]) }, - { parameters := [], types := [], result := (.adt 0), - body := (.build (.adt 0) (.adt 0) [(.value .nat (.nat 0)), (.value .nat (.nat 0))]) }, - { parameters := [0, 1], types := [(.adt 0), .nat], result := (.pair (.adt 0) .nat), - body := (.«let» 2 .nat (.prim .natAdd [(.field (.var 0) 0), (.var 1)]) (.build .pair (.pair (.adt 0) .nat) [(.build (.adt 0) (.adt 0) [(.prim .natSub [(.var 2), (.prim .natSub [(.var 2), (.value .nat (.nat 64))])]), (.prim .natAdd [(.field (.var 0) 1), (.value .nat (.nat 1))])]), (.prim .natSub [(.var 2), (.value .nat (.nat 64))])])) }] } - -def __enc_0 (__s : (Models.Session.Window)) : _root_.LexLeanTarget.TargetSyntax.Value := - _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).used), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).items)] - -def __fits_1 (costs : (List Nat)) : Bool := - ((((Bool.true && Bool.true) && (Nat.blt (Models.Pipeline.LexLeanRuntime.length (costs) : Nat) 18446744073709551616)) && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_1 (costs : (List Nat)) : _root_.LexLeanPreservation.FunRel __prog 1 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) costs)] (_root_.LexLeanPreservation.Rel (__fits_1 costs) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Pipeline.shortStreamCheck costs))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) costs)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (Models.Pipeline.LexLeanRuntime.length (costs) : Nat) (1001 : Nat))) - -def __fits_7 (window : (Models.Session.Window)) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_7 (window : (Models.Session.Window)) : _root_.LexLeanPreservation.FunRel __prog 7 [(__enc_0 window)] (_root_.LexLeanPreservation.Rel (__fits_7 window) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Session.boundedCheck window))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe (window).used (64 : Nat))) - -def __fits_8 (window : (Models.Session.Window)) (cost : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_8 (window : (Models.Session.Window)) (cost : Nat) : _root_.LexLeanPreservation.FunRel __prog 8 [(__enc_0 window), (_root_.LexLeanTarget.TargetSyntax.Value.nat cost)] (_root_.LexLeanPreservation.Rel (__fits_8 window cost) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Session.affordableCheck window cost))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe cost (16 : Nat))) - -def __fits_11 (window : (Models.Session.Window)) (cost : Nat) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((window).used + cost) 18446744073709551616)) && (let total : Nat := ((window).used + cost); ((((((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((window).items + (1 : Nat)) 18446744073709551616)) && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) - -theorem __rel_11 (window : (Models.Session.Window)) (cost : Nat) : _root_.LexLeanPreservation.FunRel __prog 11 [(__enc_0 window), (_root_.LexLeanTarget.TargetSyntax.Value.nat cost)] (_root_.LexLeanPreservation.Rel (__fits_11 window cost) ((_root_.LexLeanPreservation.encPair __enc_0 _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Session.SessionStep window cost))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (let total : Nat := ((window).used + cost); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (window).used cost)) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub total (64 : Nat))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub total (Models.Session.LexLeanRuntime.subtract (total) ((64 : Nat)) : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (window).items (1 : Nat))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub total (64 : Nat))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair)) - -def __fits_9 (_ystate : (Models.Session.Window)) (_yinput : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && (__fits_11 (_ystate) (_yinput))) - -attribute [local irreducible] Models.Session.SessionStep in -theorem __rel_9 (_ystate : (Models.Session.Window)) (_yinput : Nat) : _root_.LexLeanPreservation.FunRel __prog 9 [(__enc_0 _ystate), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yinput)] (_root_.LexLeanPreservation.Rel (__fits_9 _ystate _yinput) ((_root_.LexLeanPreservation.encPair __enc_0 _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Session.SessionModel _ystate _yinput))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_11 (_ystate) (_yinput))) - -def __fits_5 (_yacc : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) (_yitem : Nat) : Bool := - (Bool.true && (match _yacc with | Except.error _yviolation => Bool.true | Except.ok _ystate => (((Bool.true && Bool.true) && (__fits_7 ((_ystate).1))) && (if (Models.Session.boundedCheck ((_ystate).1)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_8 ((_ystate).1) (_yitem))) && (if (Models.Session.affordableCheck ((_ystate).1) (_yitem)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_9 ((_ystate).1) (_yitem))) && (let _ystep : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel ((_ystate).1) (_yitem)); ((((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) - -attribute [local irreducible] Models.Session.SessionModel Models.Session.affordableCheck Models.Session.boundedCheck in -theorem __rel_5 (_yacc : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) (_yitem : Nat) : _root_.LexLeanPreservation.FunRel __prog 5 [((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair __enc_0 (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) _yacc), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yitem)] (_root_.LexLeanPreservation.Rel (__fits_5 _yacc _yitem) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair __enc_0 (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) ((match _yacc with | Except.error _yviolation => _yacc | Except.ok _ystate => (if (Models.Session.boundedCheck ((_ystate).1)) then (if (Models.Session.affordableCheck ((_ystate).1) (_yitem)) then (let _ystep : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel ((_ystate).1) (_yitem)); (Except.ok (((_ystep).1, (Models.Pipeline.LexLeanRuntime.append ((_ystate).2) (((_ystep).2 :: ([] : List Nat))) : (List Nat)))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))))))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair __enc_0 (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (fun (__a : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) => (match __a with | Except.error _yviolation => Bool.true | Except.ok _ystate => (((Bool.true && Bool.true) && (__fits_7 ((_ystate).1))) && (if (Models.Session.boundedCheck ((_ystate).1)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_8 ((_ystate).1) (_yitem))) && (if (Models.Session.affordableCheck ((_ystate).1) (_yitem)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_9 ((_ystate).1) (_yitem))) && (let _ystep : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel ((_ystate).1) (_yitem)); ((((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) (fun (__a : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair __enc_0 (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (match __a with | Except.error _yviolation => _yacc | Except.ok _ystate => (if (Models.Session.boundedCheck ((_ystate).1)) then (if (Models.Session.affordableCheck ((_ystate).1) (_yitem)) then (let _ystep : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel ((_ystate).1) (_yitem)); (Except.ok (((_ystep).1, (Models.Pipeline.LexLeanRuntime.append ((_ystate).2) (((_ystep).2 :: ([] : List Nat))) : (List Nat)))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))))) _yacc (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) _ => match __a with | Except.error _yviolation => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | Except.ok _ystate => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && (Bool.true && Bool.true)) && (__fits_8 ((_ystate).1) (_yitem))) && (if (Models.Session.affordableCheck ((_ystate).1) (_yitem)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_9 ((_ystate).1) (_yitem))) && (let _ystep : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel ((_ystate).1) (_yitem)); ((((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair __enc_0 (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (if __b then (if (Models.Session.affordableCheck ((_ystate).1) (_yitem)) then (let _ystep : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel ((_ystate).1) (_yitem)); (Except.ok (((_ystep).1, (Models.Pipeline.LexLeanRuntime.append ((_ystate).2) (((_ystep).2 :: ([] : List Nat))) : (List Nat)))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))))) (Models.Session.boundedCheck ((_ystate).1)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil) (__rel_7 ((_ystate).1))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && (Bool.true && Bool.true)) && (__fits_9 ((_ystate).1) (_yitem))) && (let _ystep : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel ((_ystate).1) (_yitem)); ((((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair __enc_0 (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (if __b then (let _ystep : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel ((_ystate).1) (_yitem)); (Except.ok (((_ystep).1, (Models.Pipeline.LexLeanRuntime.append ((_ystate).2) (((_ystep).2 :: ([] : List Nat))) : (List Nat)))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))))) (Models.Session.affordableCheck ((_ystate).1) (_yitem)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_8 ((_ystate).1) (_yitem))) (fun _ => (let _ystep : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel ((_ystate).1) (_yitem)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_9 ((_ystate).1) (_yitem))) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (_ystate).2 ((_ystep).2 :: ([] : List Nat)))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))))) - -def __fits_10 : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_10 : _root_.LexLeanPreservation.FunRel __prog 10 [] (_root_.LexLeanPreservation.Rel (__fits_10) (__enc_0 (Models.Session.SessionStep.initial))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_adt) - -def __fits_6 : Bool := - (Bool.true && (__fits_10)) - -attribute [local irreducible] Models.Session.SessionStep.initial in -theorem __rel_6 : _root_.LexLeanPreservation.FunRel __prog 6 [] (_root_.LexLeanPreservation.Rel (__fits_6) (__enc_0 (Models.Session.SessionModel.initial))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call _root_.LexLeanPreservation.convL_nil (__rel_10)) - -def __fits_3 (costs : (List Nat)) : Bool := - (((Bool.true && ((((((Bool.true && (__fits_6)) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) (__p1 : Nat) => __fits_5 __p0 __p1) ((fun (_yacc : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) (_yitem : Nat) => (match _yacc with | Except.error _yviolation => _yacc | Except.ok _ystate => (if (Models.Session.boundedCheck ((_ystate).1)) then (if (Models.Session.affordableCheck ((_ystate).1) (_yitem)) then (let _ystep : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel ((_ystate).1) (_yitem)); (Except.ok (((_ystep).1, (Models.Pipeline.LexLeanRuntime.append ((_ystate).2) (((_ystep).2 :: ([] : List Nat))) : (List Nat)))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))))))) ((Except.ok (((Models.Session.SessionModel.initial), ([] : List Nat))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) (costs))) && (let _yscanned : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))) := (Models.Pipeline.LexLeanCollections.listFold ((fun (_yacc : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) (_yitem : Nat) => (match _yacc with | Except.error _yviolation => _yacc | Except.ok _ystate => (if (Models.Session.boundedCheck ((_ystate).1)) then (if (Models.Session.affordableCheck ((_ystate).1) (_yitem)) then (let _ystep : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel ((_ystate).1) (_yitem)); (Except.ok (((_ystep).1, (Models.Pipeline.LexLeanRuntime.append ((_ystate).2) (((_ystep).2 :: ([] : List Nat))) : (List Nat)))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))))))) ((Except.ok (((Models.Session.SessionModel.initial), ([] : List Nat))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) (costs) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))); (Bool.true && (match _yscanned with | Except.error _yviolation => ((Bool.true && Bool.true) && Bool.true) | Except.ok _ystate => ((Bool.true && Bool.true) && Bool.true))))) - -attribute [local irreducible] Models.Session.SessionModel Models.Session.SessionModel.initial Models.Session.affordableCheck Models.Session.boundedCheck in -theorem __rel_3 (costs : (List Nat)) : _root_.LexLeanPreservation.FunRel __prog 3 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) costs)] (_root_.LexLeanPreservation.Rel (__fits_3 costs) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Models.Pipeline.SessionStream costs))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (let _yscanned : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))) := (Models.Pipeline.LexLeanCollections.listFold ((fun (_yacc : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) (_yitem : Nat) => (match _yacc with | Except.error _yviolation => _yacc | Except.ok _ystate => (if (Models.Session.boundedCheck ((_ystate).1)) then (if (Models.Session.affordableCheck ((_ystate).1) (_yitem)) then (let _ystep : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel ((_ystate).1) (_yitem)); (Except.ok (((_ystep).1, (Models.Pipeline.LexLeanRuntime.append ((_ystate).2) (((_ystep).2 :: ([] : List Nat))) : (List Nat)))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))))))) ((Except.ok (((Models.Session.SessionModel.initial), ([] : List Nat))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) (costs) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call _root_.LexLeanPreservation.convL_nil (__rel_6)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.nat) (es := (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair __enc_0 (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)))) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) ((fun (_yacc : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) (_yitem : Nat) => (match _yacc with | Except.error _yviolation => _yacc | Except.ok _ystate => (if (Models.Session.boundedCheck ((_ystate).1)) then (if (Models.Session.affordableCheck ((_ystate).1) (_yitem)) then (let _ystep : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel ((_ystate).1) (_yitem)); (Except.ok (((_ystep).1, (Models.Pipeline.LexLeanRuntime.append ((_ystate).2) (((_ystep).2 :: ([] : List Nat))) : (List Nat)))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) else (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))))))) (fun (__p0 : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) (__p1 : Nat) => __fits_5 __p0 __p1) 5 [] (fun (__p0 : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) (__p1 : Nat) => __rel_5 __p0 __p1) (p := __prog) (fi := 4) (ta := .nat) (ts := (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))) rfl ((Except.ok (((Models.Session.SessionModel.initial), ([] : List Nat))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat))))) (costs))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair __enc_0 (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (fun (__a : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) => (match __a with | Except.error _yviolation => ((Bool.true && Bool.true) && Bool.true) | Except.ok _ystate => ((Bool.true && Bool.true) && Bool.true))) (fun (__a : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (match __a with | Except.error _yviolation => (Except.error (_yviolation) : (Except (Prod Bool Bool) (List Nat))) | Except.ok _ystate => (Except.ok ((_ystate).2) : (Except (Prod Bool Bool) (List Nat))))) _yscanned (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Except (Prod Bool Bool) (Prod (Models.Session.Window) (List Nat)))) _ => match __a with | Except.error _yviolation => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)) | Except.ok _ystate => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)))))) - -def __fits_2 (_yinput : (List Nat)) : Bool := - ((Bool.true && Bool.true) && (__fits_3 (_yinput))) - -attribute [local irreducible] Models.Pipeline.SessionStream in -theorem __rel_2 (_yinput : (List Nat)) : _root_.LexLeanPreservation.FunRel __prog 2 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) _yinput)] (_root_.LexLeanPreservation.Rel (__fits_2 _yinput) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Models.Pipeline.StreamModel _yinput))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_3 (_yinput))) - -def __fits_0 (costs : (List Nat)) : Bool := - (Bool.true && (let _ychecked1_input : (List Nat) := costs; (((Bool.true && Bool.true) && (__fits_1 (_ychecked1_input))) && (if (Models.Pipeline.shortStreamCheck (_ychecked1_input)) then (((Bool.true && Bool.true) && (__fits_2 (_ychecked1_input))) && (let _ychecked1_output : (Except (Prod Bool Bool) (List Nat)) := (Models.Pipeline.StreamModel (_ychecked1_input)); ((Bool.true && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) - -attribute [local irreducible] Models.Pipeline.StreamModel Models.Pipeline.shortStreamCheck in -theorem __rel_0 (costs : (List Nat)) : _root_.LexLeanPreservation.FunRel __prog 0 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) costs)] (_root_.LexLeanPreservation.Rel (__fits_0 costs) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (Models.Main.admitCosts costs))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (let _ychecked1_input : (List Nat) := costs; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && (__fits_2 (_ychecked1_input))) && (let _ychecked1_output : (Except (Prod Bool Bool) (List Nat)) := (Models.Pipeline.StreamModel (_ychecked1_input)); ((Bool.true && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (if __b then (let _ychecked1_output : (Except (Prod Bool Bool) (List Nat)) := (Models.Pipeline.StreamModel (_ychecked1_input)); (Except.ok (_ychecked1_output) : (Except (Prod Bool Bool) (Except (Prod Bool Bool) (List Nat))))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Except (Prod Bool Bool) (List Nat)))))) (Models.Pipeline.shortStreamCheck (_ychecked1_input)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (_ychecked1_input))) (fun _ => (let _ychecked1_output : (Except (Prod Bool Bool) (List Nat)) := (Models.Pipeline.StreamModel (_ychecked1_input)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_2 (_ychecked1_input))) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))) - -def denote (costs : (List Nat)) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 costs) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (Models.Main.admitCosts costs)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (costs : (List Nat)) : _root_.LexLeanPreservation.RunConv __prog 0 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) costs)] (_root_.LexLeanPreservation.Rel (__fits_0 costs) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (Models.Main.admitCosts costs))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 costs) - -end LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3 diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R3/Compose/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R3/Compose/RustStd.lean deleted file mode 100644 index 860f3504f..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R3/Compose/RustStd.lean +++ /dev/null @@ -1,19 +0,0 @@ -import LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3 -import LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.Compose.RustStd - -theorem __wt_0 : ∀ (__s : (Models.Session.Window)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.RustStd.program _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.RustStd.krate _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.RustStd.flags (_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.__enc_0 __s) (.adt 0) := - fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).used) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).items) _root_.LexLeanPreservation.Rust.wtl_nil)) - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (costs : (List Nat)) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) costs)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.denote costs) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) costs)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList _root_.LexLeanPreservation.Rust.wt_nat) costs) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.root costs) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.Compose.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R3/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R3/RustStd.lean deleted file mode 100644 index 31f67463d..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R3/RustStd.lean +++ /dev/null @@ -1,124 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [{ constructors := [[.nat, .nat]] }], functions := [ - { parameters := [0], types := [(.list .nat)], result := (.result (.result (.list .nat) (.pair .bool .bool)) (.pair .bool .bool)), - body := (.«let» 1 (.list .nat) (.var 0) (.cond (.call 1 [(.var 1)]) (.«let» 2 (.result (.list .nat) (.pair .bool .bool)) (.call 2 [(.var 1)]) (.build .ok (.result (.result (.list .nat) (.pair .bool .bool)) (.pair .bool .bool)) [(.var 2)])) (.build .error (.result (.result (.list .nat) (.pair .bool .bool)) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))) }, - { parameters := [0], types := [(.list .nat)], result := .bool, - body := (.prim .natLt [(.prim .length [(.var 0)]), (.value .nat (.nat 1001))]) }, - { parameters := [0], types := [(.list .nat)], result := (.result (.list .nat) (.pair .bool .bool)), - body := (.call 3 [(.var 0)]) }, - { parameters := [0], types := [(.list .nat)], result := (.result (.list .nat) (.pair .bool .bool)), - body := (.«let» 1 (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) (.call 4 [(.closure 5 []), (.build .ok (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.build .pair (.pair (.adt 0) (.list .nat)) [(.call 6 []), (.build .nil (.list .nat) [])])]), (.var 0)]) (.«match» (.result (.list .nat) (.pair .bool .bool)) (.var 1) [(.arm .error [2] (.build .error (.result (.list .nat) (.pair .bool .bool)) [(.var 2)])), (.arm .ok [3] (.build .ok (.result (.list .nat) (.pair .bool .bool)) [(.second (.var 3))]))])) }, - { parameters := [0, 1, 2], types := [(.fn [(.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), .nat] (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))), (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), (.list .nat)], result := (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), - body := (.«match» (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 4 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1], types := [(.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), .nat], result := (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), - body := (.«match» (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) (.var 0) [(.arm .error [2] (.var 0)), (.arm .ok [3] (.cond (.call 7 [(.first (.var 3))]) (.cond (.call 8 [(.first (.var 3)), (.var 1)]) (.«let» 4 (.pair (.adt 0) .nat) (.call 9 [(.first (.var 3)), (.var 1)]) (.build .ok (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.build .pair (.pair (.adt 0) (.list .nat)) [(.first (.var 4)), (.prim .append [(.second (.var 3)), (.build .cons (.list .nat) [(.second (.var 4)), (.build .nil (.list .nat) [])])])])])) (.build .error (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])])) (.build .error (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])])))]) }, - { parameters := [], types := [], result := (.adt 0), - body := (.call 10 []) }, - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLe [(.field (.var 0) 0), (.value .nat (.nat 64))]) }, - { parameters := [0, 1], types := [(.adt 0), .nat], result := .bool, - body := (.prim .natLe [(.var 1), (.value .nat (.nat 16))]) }, - { parameters := [0, 1], types := [(.adt 0), .nat], result := (.pair (.adt 0) .nat), - body := (.call 11 [(.var 0), (.var 1)]) }, - { parameters := [], types := [], result := (.adt 0), - body := (.build (.adt 0) (.adt 0) [(.value .nat (.nat 0)), (.value .nat (.nat 0))]) }, - { parameters := [0, 1], types := [(.adt 0), .nat], result := (.pair (.adt 0) .nat), - body := (.«let» 2 .nat (.prim .natAdd [(.field (.var 0) 0), (.var 1)]) (.build .pair (.pair (.adt 0) .nat) [(.build (.adt 0) (.adt 0) [(.prim .natSub [(.var 2), (.prim .natSub [(.var 2), (.value .nat (.nat 64))])]), (.prim .natAdd [(.field (.var 0) 1), (.value .nat (.nat 1))])]), (.prim .natSub [(.var 2), (.value .nat (.nat 64))])])) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.enum (.adt 0) [{ number := 0, fields := [.nat, .nat] }]), - (.enum (.fn 0) [{ number := 5, fields := [] }]), - (.apply 0 [(.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), .nat] (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) true [{ function := 5, captures := [], functionFallible := true }]), - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }] (.fallible (.result (.result (.list .nat) (.pair .bool .bool)) (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 1)) (some (.list .nat)) (.move (.generated .binding 0)))] (.cond (.call (.function 1) [(.clone (.generated .binding 1))] false) (.mk [(.mk (.bind (.generated .binding 2)) (some (.result (.list .nat) (.pair .bool .bool))) (.call (.function 2) [(.move (.generated .binding 1))] true))] (.succeed (.construct (.ok (.result (.list .nat) (.pair .bool .bool)) (.pair .bool .bool)) [(.move (.generated .binding 2))]))) (.mk [] (.succeed (.construct (.err (.result (.list .nat) (.pair .bool .bool)) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }] .bool (.mk [(.mk (.bind (.generated .operand 2)) none (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.move (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 1))] false)))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 1001)))] (.call (.runtime .natLt) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] false))), - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }] (.fallible (.result (.list .nat) (.pair .bool .bool))) (.mk [] (.call (.function 3) [(.move (.generated .binding 0))] false))), - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }] (.fallible (.result (.list .nat) (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 1)) (some (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))) (.call (.function 4) [(.construct (.closure 0 5) []), (.construct (.ok (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.call (.function 6) [] false) (.construct (.nil .nat) []))]), (.move (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 4)) none (.move (.generated .binding 1)))] (.matchOn (.move (.generated .holder 4)) [(.mk (.ok (.bind (.generated .binding 3))) (.mk [] (.succeed (.construct (.ok (.list .nat) (.pair .bool .bool)) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 5))]) none (.move (.generated .binding 3)))] (.move (.generated .part 5))))])))), (.mk (.err (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.err (.list .nat) (.pair .bool .bool)) [(.copy (.generated .binding 2))]))))]))), - (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) }, { pattern := (.bind (.generated .binding 2)), type := (.list .nat) }] (.fallible (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .holder 6)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 6)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 4) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 7)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 7) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]))), - (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .holder 8)) none (.clone (.generated .binding 0)))] (.matchOn (.move (.generated .holder 8)) [(.mk (.ok (.bind (.generated .binding 3))) (.mk [] (.cond (.call (.function 7) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 9)), .wild]) none (.clone (.generated .binding 3)))] (.move (.generated .part 9))))] false) (.mk [] (.cond (.call (.function 8) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 10)), .wild]) none (.clone (.generated .binding 3)))] (.move (.generated .part 10)))), (.copy (.generated .binding 1))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair (.adt 0) .nat)) (.call (.function 9) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 11)))), (.copy (.generated .binding 1))] true))] (.succeed (.construct (.ok (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 12)), .wild]) none (.move (.generated .binding 4)))] (.move (.generated .part 12)))) (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.move (.generated .binding 3)))] (.move (.generated .part 13))))), (.mk (.bind (.generated .operand 16)) none (.construct .cons [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 14))]) none (.move (.generated .binding 4)))] (.move (.generated .part 14)))), (.construct (.nil .nat) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false))))]))) (.mk [] (.succeed (.construct (.err (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))) (.mk [] (.succeed (.construct (.err (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])))))), (.mk (.err .wild) (.mk [] (.succeed (.move (.generated .binding 0)))))]))), - (.function (.generated .function 6) [] (.adt 0) (.mk [] (.call (.function 10) [] false))), - (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 18)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 17)), .wild]) (.mk [] (.move (.generated .part 17))))])), (.mk (.bind (.generated .operand 19)) none (.lit (.nat 64)))] (.call (.runtime .natLe) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false))), - (.function (.generated .function 8) [{ pattern := .wild, type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 20)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 21)) none (.lit (.nat 16)))] (.call (.runtime .natLe) [(.move (.generated .operand 20)), (.move (.generated .operand 21))] false))), - (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair (.adt 0) .nat)) (.mk [] (.call (.function 11) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] false))), - (.function (.generated .function 10) [] (.adt 0) (.mk [] (.construct (.adt 0 0) [(.lit (.nat 0)), (.lit (.nat 0))]))), - (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair (.adt 0) .nat)) (.mk [(.mk (.bind (.generated .binding 2)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 23)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 22)), .wild]) (.mk [] (.move (.generated .part 22))))])), (.mk (.bind (.generated .operand 24)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] true))))] (.succeed (.pair (.construct (.adt 0 0) [(.block (.mk [(.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.bind (.generated .operand 25)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 26)) none (.lit (.nat 64)))] (.call (.runtime .natSub) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false))))] (.call (.runtime .natSub) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false))), (.block (.mk [(.mk (.bind (.generated .operand 30)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 29))]) (.mk [] (.move (.generated .part 29))))])), (.mk (.bind (.generated .operand 31)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] true)))]) (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 33)) none (.lit (.nat 64)))] (.call (.runtime .natSub) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] false)))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [(([(.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), .nat], (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))), true)] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.list .nat)) (.move (.generated .binding 0)))], (.cond (.call (.function 1) [(.clone (.generated .binding 1))] false) (.mk [(.mk (.bind (.generated .binding 2)) (some (.result (.list .nat) (.pair .bool .bool))) (.call (.function 2) [(.move (.generated .binding 1))] true))] (.succeed (.construct (.ok (.result (.list .nat) (.pair .bool .bool)) (.pair .bool .bool)) [(.move (.generated .binding 2))]))) (.mk [] (.succeed (.construct (.err (.result (.list .nat) (.pair .bool .bool)) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))), [(0, (.list .nat), (some 0))], rfl, rfl, - (Corr.letBind (Corr.var rfl rfl) rfl (Corr.cond (lc := []) (ce := (.call (.function 1) [(.clone (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .binding 2)) (some (.result (.list .nat) (.pair .bool .bool))) (.call (.function 2) [(.move (.generated .binding 1))] true))]) (ta := (.succeed (.construct (.ok (.result (.list .nat) (.pair .bool .bool)) (.pair .bool .bool)) [(.move (.generated .binding 2))]))) (lb := []) (tb := (.succeed (.construct (.err (.result (.list .nat) (.pair .bool .bool)) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))) (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.fOfB (Corr.build (ts := [(.result (.list .nat) (.pair .bool .bool))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))))⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 2)) none (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.move (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 1))] false)))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 1001)))], (.call (.runtime .natLt) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] false), [(0, (.list .nat), (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.move (.generated .binding 0)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 1))] false)) (Corr.prim (ts := [(.list .nat)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 3) [(.move (.generated .binding 0))] false), [(0, (.list .nat), (some 0))], rfl, rfl, - (Corr.callF (ts := [(.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))) (.call (.function 4) [(.construct (.closure 0 5) []), (.construct (.ok (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.call (.function 6) [] false) (.construct (.nil .nat) []))]), (.move (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 4)) none (.move (.generated .binding 1)))], (.matchOn (.move (.generated .holder 4)) [(.mk (.ok (.bind (.generated .binding 3))) (.mk [] (.succeed (.construct (.ok (.list .nat) (.pair .bool .bool)) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 5))]) none (.move (.generated .binding 3)))] (.move (.generated .part 5))))])))), (.mk (.err (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.err (.list .nat) (.pair .bool .bool)) [(.copy (.generated .binding 2))]))))]), [(0, (.list .nat), (some 0))], rfl, rfl, - (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), .nat] (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))), (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair (.adt 0) (.list .nat))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := []) (Corr.opsNil) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) (Corr.lNil))) rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl (Corr.matchArms (st := (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))) (U := []) (view := false) (idx := [1, 0]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(3, (.pair (.adt 0) (.list .nat)), (some 3)), (1, (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.construct (.ok (.list .nat) (.pair .bool .bool)) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 5))]) none (.move (.generated .binding 3)))] (.move (.generated .part 5))))]))) (Corr.mCons (Γ' := [(2, (.pair .bool .bool), (some 2)), (1, (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.err (.list .nat) (.pair .bool .bool)) [(.copy (.generated .binding 2))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.list .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 5))]) none (.move (.generated .binding 3)))]) (tail := (.move (.generated .part 5))) (Corr.second (ta := (.adt 0)) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl))) rfl rfl rfl))⟩⟩ - -theorem fun4 : FunOK program krate flags 4 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 6)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 6)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 4) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 7)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 7) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list .nat), (some 2)), (1, (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), (some 1)), (0, (.fn [(.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), .nat] (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), (some 1)), (0, (.fn [(.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), .nat] (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .nat), (some 4)), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), (some 1)), (0, (.fn [(.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), .nat] (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 4) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 7)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 7) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), .nat] (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))), (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 7)) (some (.fn 0)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 7) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true)) (Corr.apply (ps := [(.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), .nat]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun5 : FunOK program krate flags 5 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 8)) none (.clone (.generated .binding 0)))], (.matchOn (.move (.generated .holder 8)) [(.mk (.ok (.bind (.generated .binding 3))) (.mk [] (.cond (.call (.function 7) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 9)), .wild]) none (.clone (.generated .binding 3)))] (.move (.generated .part 9))))] false) (.mk [] (.cond (.call (.function 8) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 10)), .wild]) none (.clone (.generated .binding 3)))] (.move (.generated .part 10)))), (.copy (.generated .binding 1))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair (.adt 0) .nat)) (.call (.function 9) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 11)))), (.copy (.generated .binding 1))] true))] (.succeed (.construct (.ok (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 12)), .wild]) none (.move (.generated .binding 4)))] (.move (.generated .part 12)))) (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.move (.generated .binding 3)))] (.move (.generated .part 13))))), (.mk (.bind (.generated .operand 16)) none (.construct .cons [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 14))]) none (.move (.generated .binding 4)))] (.move (.generated .part 14)))), (.construct (.nil .nat) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false))))]))) (.mk [] (.succeed (.construct (.err (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))) (.mk [] (.succeed (.construct (.err (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])))))), (.mk (.err .wild) (.mk [] (.succeed (.move (.generated .binding 0)))))]), [(1, .nat, (some 1)), (0, (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool))) (U := []) (view := false) (idx := [1, 0]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(3, (.pair (.adt 0) (.list .nat)), (some 3)), (1, .nat, (some 1)), (0, (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 7) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 9)), .wild]) none (.clone (.generated .binding 3)))] (.move (.generated .part 9))))] false) (.mk [] (.cond (.call (.function 8) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 10)), .wild]) none (.clone (.generated .binding 3)))] (.move (.generated .part 10)))), (.copy (.generated .binding 1))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair (.adt 0) .nat)) (.call (.function 9) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 11)))), (.copy (.generated .binding 1))] true))] (.succeed (.construct (.ok (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 12)), .wild]) none (.move (.generated .binding 4)))] (.move (.generated .part 12)))) (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.move (.generated .binding 3)))] (.move (.generated .part 13))))), (.mk (.bind (.generated .operand 16)) none (.construct .cons [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 14))]) none (.move (.generated .binding 4)))] (.move (.generated .part 14)))), (.construct (.nil .nat) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false))))]))) (.mk [] (.succeed (.construct (.err (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))) (.mk [] (.succeed (.construct (.err (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))))) (Corr.mCons (Γ' := [(2, (.pair .bool .bool), none), (1, .nat, (some 1)), (0, (.result (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 0)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 7) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 9)), .wild]) none (.clone (.generated .binding 3)))] (.move (.generated .part 9))))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 9)), .wild]) none (.clone (.generated .binding 3)))]) (tail := (.move (.generated .part 9))) (Corr.first (ta := (.adt 0)) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 8) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 10)), .wild]) none (.clone (.generated .binding 3)))] (.move (.generated .part 10)))), (.copy (.generated .binding 1))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair (.adt 0) .nat)) (.call (.function 9) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 11)))), (.copy (.generated .binding 1))] true))] (.succeed (.construct (.ok (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 12)), .wild]) none (.move (.generated .binding 4)))] (.move (.generated .part 12)))) (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.move (.generated .binding 3)))] (.move (.generated .part 13))))), (.mk (.bind (.generated .operand 16)) none (.construct .cons [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 14))]) none (.move (.generated .binding 4)))] (.move (.generated .part 14)))), (.construct (.nil .nat) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false))))]))) (.mk [] (.succeed (.construct (.err (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))) (lb := []) (tb := (.succeed (.construct (.err (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))) (Corr.cond (lc := []) (ce := (.call (.function 8) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 10)), .wild]) none (.clone (.generated .binding 3)))] (.move (.generated .part 10)))), (.copy (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0), .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 10)), .wild]) none (.clone (.generated .binding 3)))]) (tail := (.move (.generated .part 10))) (Corr.first (ta := (.adt 0)) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .binding 4)) (some (.pair (.adt 0) .nat)) (.call (.function 9) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 11)))), (.copy (.generated .binding 1))] true))]) (ta := (.succeed (.construct (.ok (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 12)), .wild]) none (.move (.generated .binding 4)))] (.move (.generated .part 12)))) (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.move (.generated .binding 3)))] (.move (.generated .part 13))))), (.mk (.bind (.generated .operand 16)) none (.construct .cons [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 14))]) none (.move (.generated .binding 4)))] (.move (.generated .part 14)))), (.construct (.nil .nat) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false))))]))) (lb := []) (tb := (.succeed (.construct (.err (.pair (.adt 0) (.list .nat)) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))) (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0), .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 3)))]) (tail := (.move (.generated .part 11))) (Corr.first (ta := (.adt 0)) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl (Corr.fOfB (Corr.build (ts := [(.pair (.adt 0) (.list .nat))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 12)), .wild]) none (.move (.generated .binding 4)))]) (tail := (.move (.generated .part 12))) (Corr.first (ta := (.adt 0)) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 15)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.move (.generated .binding 3)))] (.move (.generated .part 13))))), (.mk (.bind (.generated .operand 16)) none (.construct .cons [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 14))]) none (.move (.generated .binding 4)))] (.move (.generated .part 14)))), (.construct (.nil .nat) [])]))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false)) (Corr.prim (ts := [(.list .nat), (.list .nat)]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.move (.generated .binding 3)))]) (tail := (.move (.generated .part 13))) (Corr.second (ta := (.adt 0)) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 14))]) none (.move (.generated .binding 4)))]) (tail := (.move (.generated .part 14))) (Corr.second (ta := (.adt 0)) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil))) rfl))) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl))))) rfl rfl rfl)⟩⟩ - -theorem fun6 : FunOK program krate flags 6 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 10) [] false), [], rfl, rfl, - (Corr.callOps (ts := []) (Corr.opsNil) rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun7 : FunOK program krate flags 7 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 18)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 17)), .wild]) (.mk [] (.move (.generated .part 17))))])), (.mk (.bind (.generated .operand 19)) none (.lit (.nat 64)))], (.call (.runtime .natLe) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat]) (rd := (.move (.generated .part 17))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun8 : FunOK program krate flags 8 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 20)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 21)) none (.lit (.nat 16)))], (.call (.runtime .natLe) [(.move (.generated .operand 20)), (.move (.generated .operand 21))] false), [(1, .nat, (some 1)), (0, (.adt 0), none)], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun9 : FunOK program krate flags 9 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 11) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] false), [(1, .nat, (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, - (Corr.callF (ts := [(.adt 0), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)⟩⟩ - -theorem fun10 : FunOK program krate flags 10 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 0 0) [(.lit (.nat 0)), (.lit (.nat 0))]), [], rfl, rfl, - (Corr.build (ts := [.nat, .nat]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl)⟩⟩ - -theorem fun11 : FunOK program krate flags 11 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 23)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 22)), .wild]) (.mk [] (.move (.generated .part 22))))])), (.mk (.bind (.generated .operand 24)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] true))))], (.succeed (.pair (.construct (.adt 0 0) [(.block (.mk [(.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.bind (.generated .operand 25)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 26)) none (.lit (.nat 64)))] (.call (.runtime .natSub) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false))))] (.call (.runtime .natSub) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false))), (.block (.mk [(.mk (.bind (.generated .operand 30)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 29))]) (.mk [] (.move (.generated .part 29))))])), (.mk (.bind (.generated .operand 31)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] true)))]) (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 33)) none (.lit (.nat 64)))] (.call (.runtime .natSub) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] false))))), [(1, .nat, (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, - (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 23)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 22)), .wild]) (.mk [] (.move (.generated .part 22))))])), (.mk (.bind (.generated .operand 24)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat]) (rd := (.move (.generated .part 22))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.bind (.generated .operand 25)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 26)) none (.lit (.nat 64)))] (.call (.runtime .natSub) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false))))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 25)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 26)) none (.lit (.nat 64)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 30)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 29))]) (.mk [] (.move (.generated .part 29))))])), (.mk (.bind (.generated .operand 31)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat]) (rd := (.move (.generated .part 29))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 33)) none (.lit (.nat 64)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | 4 => exact fun4 - | 5 => exact fun5 - | 6 => exact fun6 - | 7 => exact fun7 - | 8 => exact fun8 - | 9 => exact fun9 - | 10 => exact fun10 - | 11 => exact fun11 - | _ + 12 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R4.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R4.lean deleted file mode 100644 index 98035d12e..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R4.lean +++ /dev/null @@ -1,78 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Models.Flows -import Models.Glyphs -import Models.Ledger -import Models.Main -import Models.Pipeline -import Models.Policy -import Models.Recognizer -import Models.Session -import Models.Triage -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [{ constructors := [[.nat, .nat]] }], functions := [ - { parameters := [0, 1], types := [(.adt 0), .nat], result := (.result (.pair (.adt 0) .nat) (.pair .bool .bool)), - body := (.«let» 2 (.adt 0) (.var 0) (.«let» 3 .nat (.var 1) (.cond (.call 1 [(.var 2)]) (.cond (.call 2 [(.var 2), (.var 3)]) (.«let» 4 (.pair (.adt 0) .nat) (.call 3 [(.var 2), (.var 3)]) (.build .ok (.result (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.var 4)])) (.build .error (.result (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])])) (.build .error (.result (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])])))) }, - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLe [(.field (.var 0) 0), (.value .nat (.nat 64))]) }, - { parameters := [0, 1], types := [(.adt 0), .nat], result := .bool, - body := (.prim .natLe [(.var 1), (.value .nat (.nat 16))]) }, - { parameters := [0, 1], types := [(.adt 0), .nat], result := (.pair (.adt 0) .nat), - body := (.call 4 [(.var 0), (.var 1)]) }, - { parameters := [0, 1], types := [(.adt 0), .nat], result := (.pair (.adt 0) .nat), - body := (.«let» 2 .nat (.prim .natAdd [(.field (.var 0) 0), (.var 1)]) (.build .pair (.pair (.adt 0) .nat) [(.build (.adt 0) (.adt 0) [(.prim .natSub [(.var 2), (.prim .natSub [(.var 2), (.value .nat (.nat 64))])]), (.prim .natAdd [(.field (.var 0) 1), (.value .nat (.nat 1))])]), (.prim .natSub [(.var 2), (.value .nat (.nat 64))])])) }] } - -def __enc_0 (__s : (Models.Session.Window)) : _root_.LexLeanTarget.TargetSyntax.Value := - _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).used), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).items)] - -def __fits_1 (window : (Models.Session.Window)) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_1 (window : (Models.Session.Window)) : _root_.LexLeanPreservation.FunRel __prog 1 [(__enc_0 window)] (_root_.LexLeanPreservation.Rel (__fits_1 window) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Session.boundedCheck window))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe (window).used (64 : Nat))) - -def __fits_2 (window : (Models.Session.Window)) (cost : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_2 (window : (Models.Session.Window)) (cost : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(__enc_0 window), (_root_.LexLeanTarget.TargetSyntax.Value.nat cost)] (_root_.LexLeanPreservation.Rel (__fits_2 window cost) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Session.affordableCheck window cost))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe cost (16 : Nat))) - -def __fits_4 (window : (Models.Session.Window)) (cost : Nat) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((window).used + cost) 18446744073709551616)) && (let total : Nat := ((window).used + cost); ((((((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((window).items + (1 : Nat)) 18446744073709551616)) && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) - -theorem __rel_4 (window : (Models.Session.Window)) (cost : Nat) : _root_.LexLeanPreservation.FunRel __prog 4 [(__enc_0 window), (_root_.LexLeanTarget.TargetSyntax.Value.nat cost)] (_root_.LexLeanPreservation.Rel (__fits_4 window cost) ((_root_.LexLeanPreservation.encPair __enc_0 _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Session.SessionStep window cost))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (let total : Nat := ((window).used + cost); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (window).used cost)) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub total (64 : Nat))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub total (Models.Session.LexLeanRuntime.subtract (total) ((64 : Nat)) : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (window).items (1 : Nat))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub total (64 : Nat))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair)) - -def __fits_3 (_ystate : (Models.Session.Window)) (_yinput : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && (__fits_4 (_ystate) (_yinput))) - -attribute [local irreducible] Models.Session.SessionStep in -theorem __rel_3 (_ystate : (Models.Session.Window)) (_yinput : Nat) : _root_.LexLeanPreservation.FunRel __prog 3 [(__enc_0 _ystate), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yinput)] (_root_.LexLeanPreservation.Rel (__fits_3 _ystate _yinput) ((_root_.LexLeanPreservation.encPair __enc_0 _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Session.SessionModel _ystate _yinput))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_4 (_ystate) (_yinput))) - -def __fits_0 (window : (Models.Session.Window)) (cost : Nat) : Bool := - (Bool.true && (let _ychecked1_state : (Models.Session.Window) := window; (Bool.true && (let _ychecked1_input : Nat := cost; (((Bool.true && Bool.true) && (__fits_1 (_ychecked1_state))) && (if (Models.Session.boundedCheck (_ychecked1_state)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_2 (_ychecked1_state) (_ychecked1_input))) && (if (Models.Session.affordableCheck (_ychecked1_state) (_ychecked1_input)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (_ychecked1_state) (_ychecked1_input))) && (let _ychecked1_step : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel (_ychecked1_state) (_ychecked1_input)); ((Bool.true && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))))) - -attribute [local irreducible] Models.Session.SessionModel Models.Session.affordableCheck Models.Session.boundedCheck in -theorem __rel_0 (window : (Models.Session.Window)) (cost : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(__enc_0 window), (_root_.LexLeanTarget.TargetSyntax.Value.nat cost)] (_root_.LexLeanPreservation.Rel (__fits_0 window cost) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair __enc_0 _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Models.Main.step window cost))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (let _ychecked1_state : (Models.Session.Window) := window; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_var rfl) (let _ychecked1_input : Nat := cost; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && (Bool.true && Bool.true)) && (__fits_2 (_ychecked1_state) (_ychecked1_input))) && (if (Models.Session.affordableCheck (_ychecked1_state) (_ychecked1_input)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (_ychecked1_state) (_ychecked1_input))) && (let _ychecked1_step : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel (_ychecked1_state) (_ychecked1_input)); ((Bool.true && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair __enc_0 _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (if (Models.Session.affordableCheck (_ychecked1_state) (_ychecked1_input)) then (let _ychecked1_step : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel (_ychecked1_state) (_ychecked1_input)); (Except.ok (_ychecked1_step) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) Nat)))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) Nat)))) else (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) Nat))))) (Models.Session.boundedCheck (_ychecked1_state)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (_ychecked1_state))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (_ychecked1_state) (_ychecked1_input))) && (let _ychecked1_step : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel (_ychecked1_state) (_ychecked1_input)); ((Bool.true && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair __enc_0 _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (let _ychecked1_step : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel (_ychecked1_state) (_ychecked1_input)); (Except.ok (_ychecked1_step) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) Nat)))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod (Models.Session.Window) Nat))))) (Models.Session.affordableCheck (_ychecked1_state) (_ychecked1_input)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_2 (_ychecked1_state) (_ychecked1_input))) (fun _ => (let _ychecked1_step : (Prod (Models.Session.Window) Nat) := (Models.Session.SessionModel (_ychecked1_state) (_ychecked1_input)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_3 (_ychecked1_state) (_ychecked1_input))) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))) - -def denote (window : (Models.Session.Window)) (cost : Nat) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 window cost) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair __enc_0 _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Models.Main.step window cost)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (window : (Models.Session.Window)) (cost : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(__enc_0 window), (_root_.LexLeanTarget.TargetSyntax.Value.nat cost)] (_root_.LexLeanPreservation.Rel (__fits_0 window cost) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair __enc_0 _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Models.Main.step window cost))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 window cost) - -end LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4 diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R4/Compose/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R4/Compose/RustStd.lean deleted file mode 100644 index efa7bf1eb..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R4/Compose/RustStd.lean +++ /dev/null @@ -1,19 +0,0 @@ -import LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4 -import LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.Compose.RustStd - -theorem __wt_0 : ∀ (__s : (Models.Session.Window)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.RustStd.program _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.RustStd.krate _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.RustStd.flags (_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.__enc_0 __s) (.adt 0) := - fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).used) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).items) _root_.LexLeanPreservation.Rust.wtl_nil)) - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (window : (Models.Session.Window)) (cost : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.__enc_0 window), (_root_.LexLeanTarget.TargetSyntax.Value.nat cost)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.denote window cost) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.__enc_0 window), (_root_.LexLeanTarget.TargetSyntax.Value.nat cost)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 window) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat cost) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.root window cost) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.Compose.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R4/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R4/RustStd.lean deleted file mode 100644 index 097143161..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R4/RustStd.lean +++ /dev/null @@ -1,66 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [{ constructors := [[.nat, .nat]] }], functions := [ - { parameters := [0, 1], types := [(.adt 0), .nat], result := (.result (.pair (.adt 0) .nat) (.pair .bool .bool)), - body := (.«let» 2 (.adt 0) (.var 0) (.«let» 3 .nat (.var 1) (.cond (.call 1 [(.var 2)]) (.cond (.call 2 [(.var 2), (.var 3)]) (.«let» 4 (.pair (.adt 0) .nat) (.call 3 [(.var 2), (.var 3)]) (.build .ok (.result (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.var 4)])) (.build .error (.result (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])])) (.build .error (.result (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])])))) }, - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLe [(.field (.var 0) 0), (.value .nat (.nat 64))]) }, - { parameters := [0, 1], types := [(.adt 0), .nat], result := .bool, - body := (.prim .natLe [(.var 1), (.value .nat (.nat 16))]) }, - { parameters := [0, 1], types := [(.adt 0), .nat], result := (.pair (.adt 0) .nat), - body := (.call 4 [(.var 0), (.var 1)]) }, - { parameters := [0, 1], types := [(.adt 0), .nat], result := (.pair (.adt 0) .nat), - body := (.«let» 2 .nat (.prim .natAdd [(.field (.var 0) 0), (.var 1)]) (.build .pair (.pair (.adt 0) .nat) [(.build (.adt 0) (.adt 0) [(.prim .natSub [(.var 2), (.prim .natSub [(.var 2), (.value .nat (.nat 64))])]), (.prim .natAdd [(.field (.var 0) 1), (.value .nat (.nat 1))])]), (.prim .natSub [(.var 2), (.value .nat (.nat 64))])])) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.enum (.adt 0) [{ number := 0, fields := [.nat, .nat] }]), - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.result (.pair (.adt 0) .nat) (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 2)) (some (.adt 0)) (.move (.generated .binding 0))), (.mk (.bind (.generated .binding 3)) (some .nat) (.copy (.generated .binding 1)))] (.cond (.call (.function 1) [(.clone (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 2) [(.clone (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair (.adt 0) .nat)) (.call (.function 3) [(.move (.generated .binding 2)), (.copy (.generated .binding 3))] true))] (.succeed (.construct (.ok (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.move (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))) (.mk [] (.succeed (.construct (.err (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])))))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 2)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 1)), .wild]) (.mk [] (.move (.generated .part 1))))])), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 64)))] (.call (.runtime .natLe) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] false))), - (.function (.generated .function 2) [{ pattern := .wild, type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 16)))] (.call (.runtime .natLe) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))), - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair (.adt 0) .nat)) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] false))), - (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair (.adt 0) .nat)) (.mk [(.mk (.bind (.generated .binding 2)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 6)), .wild]) (.mk [] (.move (.generated .part 6))))])), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] true))))] (.succeed (.pair (.construct (.adt 0 0) [(.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 12)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 64)))] (.call (.runtime .natSub) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))] (.call (.runtime .natSub) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))), (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 13))]) (.mk [] (.move (.generated .part 13))))])), (.mk (.bind (.generated .operand 15)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] true)))]) (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 17)) none (.lit (.nat 64)))] (.call (.runtime .natSub) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false)))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some (.adt 0)) (.move (.generated .binding 0))), (.mk (.bind (.generated .binding 3)) (some .nat) (.copy (.generated .binding 1)))], (.cond (.call (.function 1) [(.clone (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 2) [(.clone (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair (.adt 0) .nat)) (.call (.function 3) [(.move (.generated .binding 2)), (.copy (.generated .binding 3))] true))] (.succeed (.construct (.ok (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.move (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))) (.mk [] (.succeed (.construct (.err (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])))), [(1, .nat, (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, - (Corr.letBind (Corr.var rfl rfl) rfl (Corr.letBind (Corr.var rfl rfl) rfl (Corr.cond (lc := []) (ce := (.call (.function 1) [(.clone (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 2) [(.clone (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair (.adt 0) .nat)) (.call (.function 3) [(.move (.generated .binding 2)), (.copy (.generated .binding 3))] true))] (.succeed (.construct (.ok (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.move (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))) (lb := []) (tb := (.succeed (.construct (.err (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))) (Corr.cond (lc := []) (ce := (.call (.function 2) [(.clone (.generated .binding 2)), (.copy (.generated .binding 3))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .binding 4)) (some (.pair (.adt 0) .nat)) (.call (.function 3) [(.move (.generated .binding 2)), (.copy (.generated .binding 3))] true))]) (ta := (.succeed (.construct (.ok (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.move (.generated .binding 4))]))) (lb := []) (tb := (.succeed (.construct (.err (.pair (.adt 0) .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))) (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl (Corr.fOfB (Corr.build (ts := [(.pair (.adt 0) .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl))))))⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 2)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 1)), .wild]) (.mk [] (.move (.generated .part 1))))])), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 64)))], (.call (.runtime .natLe) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat]) (rd := (.move (.generated .part 1))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 16)))], (.call (.runtime .natLe) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false), [(1, .nat, (some 1)), (0, (.adt 0), none)], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] false), [(1, .nat, (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, - (Corr.callF (ts := [(.adt 0), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)⟩⟩ - -theorem fun4 : FunOK program krate flags 4 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 6)), .wild]) (.mk [] (.move (.generated .part 6))))])), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] true))))], (.succeed (.pair (.construct (.adt 0 0) [(.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 12)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 64)))] (.call (.runtime .natSub) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))] (.call (.runtime .natSub) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))), (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 13))]) (.mk [] (.move (.generated .part 13))))])), (.mk (.bind (.generated .operand 15)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] true)))]) (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 17)) none (.lit (.nat 64)))] (.call (.runtime .natSub) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))), [(1, .nat, (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, - (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 7)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 6)), .wild]) (.mk [] (.move (.generated .part 6))))])), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat]) (rd := (.move (.generated .part 6))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 12)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 64)))] (.call (.runtime .natSub) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 64)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 14)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 13))]) (.mk [] (.move (.generated .part 13))))])), (.mk (.bind (.generated .operand 15)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat]) (rd := (.move (.generated .part 13))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 17)) none (.lit (.nat 64)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | 4 => exact fun4 - | _ + 5 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R5.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R5.lean deleted file mode 100644 index 87970ba4f..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R5.lean +++ /dev/null @@ -1,75 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Models.Flows -import Models.Glyphs -import Models.Ledger -import Models.Main -import Models.Pipeline -import Models.Policy -import Models.Recognizer -import Models.Session -import Models.Triage -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [.nat, .nat], result := (.result (.pair .nat .nat) (.pair .bool .bool)), - body := (.«let» 2 .nat (.var 0) (.«let» 3 .nat (.var 1) (.cond (.call 1 [(.var 2)]) (.cond (.call 2 [(.var 2), (.var 3)]) (.«let» 4 (.pair .nat .nat) (.call 3 [(.var 2), (.var 3)]) (.cond (.call 1 [(.first (.var 4))]) (.build .ok (.result (.pair .nat .nat) (.pair .bool .bool)) [(.var 4)]) (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .true .bool [])])]))) (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])])) (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])])))) }, - { parameters := [0], types := [.nat], result := .bool, - body := (.prim .natLe [(.var 0), (.value .nat (.nat 100))]) }, - { parameters := [0, 1], types := [.nat, .nat], result := .bool, - body := (.prim .natLe [(.var 1), (.value .nat (.nat 10))]) }, - { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat .nat), - body := (.call 4 [(.var 0), (.var 1)]) }, - { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat .nat), - body := (.build .pair (.pair .nat .nat) [(.prim .natAdd [(.var 0), (.var 1)]), (.var 1)]) }] } - -def __fits_1 (s : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_1 (s : Nat) : _root_.LexLeanPreservation.FunRel __prog 1 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s)] (_root_.LexLeanPreservation.Rel (__fits_1 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Ledger.cappedCheck s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe s (100 : Nat))) - -def __fits_2 (s : Nat) (x : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_2 (s : Nat) (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_2 s x) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Ledger.smallCheck s x))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe x (10 : Nat))) - -def __fits_4 (s : Nat) (x : Nat) : Bool := - ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (s + x) 18446744073709551616)) && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_4 (s : Nat) (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 4 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_4 s x) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Ledger.Spill s x))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd s x)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) - -def __fits_3 (_ystate : Nat) (_yinput : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && (__fits_4 (_ystate) (_yinput))) - -attribute [local irreducible] Models.Ledger.Spill in -theorem __rel_3 (_ystate : Nat) (_yinput : Nat) : _root_.LexLeanPreservation.FunRel __prog 3 [(_root_.LexLeanTarget.TargetSyntax.Value.nat _ystate), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yinput)] (_root_.LexLeanPreservation.Rel (__fits_3 _ystate _yinput) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Ledger.SpillModel _ystate _yinput))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_4 (_ystate) (_yinput))) - -def __fits_0 (s : Nat) (x : Nat) : Bool := - (Bool.true && (let _ychecked1_state : Nat := s; (Bool.true && (let _ychecked1_input : Nat := x; (((Bool.true && Bool.true) && (__fits_1 (_ychecked1_state))) && (if (Models.Ledger.cappedCheck (_ychecked1_state)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_2 (_ychecked1_state) (_ychecked1_input))) && (if (Models.Ledger.smallCheck (_ychecked1_state) (_ychecked1_input)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (_ychecked1_state) (_ychecked1_input))) && (let _ychecked1_step : (Prod Nat Nat) := (Models.Ledger.SpillModel (_ychecked1_state) (_ychecked1_input)); (((Bool.true && Bool.true) && (__fits_1 ((_ychecked1_step).1))) && (if (Models.Ledger.cappedCheck ((_ychecked1_step).1)) then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))))) - -attribute [local irreducible] Models.Ledger.SpillModel Models.Ledger.cappedCheck Models.Ledger.smallCheck in -theorem __rel_0 (s : Nat) (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_0 s x) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Models.Main.ledgerPost s x))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (let _ychecked1_state : Nat := s; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_var rfl) (let _ychecked1_input : Nat := x; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && (Bool.true && Bool.true)) && (__fits_2 (_ychecked1_state) (_ychecked1_input))) && (if (Models.Ledger.smallCheck (_ychecked1_state) (_ychecked1_input)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (_ychecked1_state) (_ychecked1_input))) && (let _ychecked1_step : (Prod Nat Nat) := (Models.Ledger.SpillModel (_ychecked1_state) (_ychecked1_input)); (((Bool.true && Bool.true) && (__fits_1 ((_ychecked1_step).1))) && (if (Models.Ledger.cappedCheck ((_ychecked1_step).1)) then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (if (Models.Ledger.smallCheck (_ychecked1_state) (_ychecked1_input)) then (let _ychecked1_step : (Prod Nat Nat) := (Models.Ledger.SpillModel (_ychecked1_state) (_ychecked1_input)); (if (Models.Ledger.cappedCheck ((_ychecked1_step).1)) then (Except.ok (_ychecked1_step) : (Except (Prod Bool Bool) (Prod Nat Nat))) else (Except.error (((Bool.true, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat))))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat)))) else (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat))))) (Models.Ledger.cappedCheck (_ychecked1_state)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (_ychecked1_state))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (_ychecked1_state) (_ychecked1_input))) && (let _ychecked1_step : (Prod Nat Nat) := (Models.Ledger.SpillModel (_ychecked1_state) (_ychecked1_input)); (((Bool.true && Bool.true) && (__fits_1 ((_ychecked1_step).1))) && (if (Models.Ledger.cappedCheck ((_ychecked1_step).1)) then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (let _ychecked1_step : (Prod Nat Nat) := (Models.Ledger.SpillModel (_ychecked1_state) (_ychecked1_input)); (if (Models.Ledger.cappedCheck ((_ychecked1_step).1)) then (Except.ok (_ychecked1_step) : (Except (Prod Bool Bool) (Prod Nat Nat))) else (Except.error (((Bool.true, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat))))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat))))) (Models.Ledger.smallCheck (_ychecked1_state) (_ychecked1_input)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_2 (_ychecked1_state) (_ychecked1_input))) (fun _ => (let _ychecked1_step : (Prod Nat Nat) := (Models.Ledger.SpillModel (_ychecked1_state) (_ychecked1_input)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_3 (_ychecked1_state) (_ychecked1_input))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (Except.ok (_ychecked1_step) : (Except (Prod Bool Bool) (Prod Nat Nat))) else (Except.error (((Bool.true, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat))))) (Models.Ledger.cappedCheck ((_ychecked1_step).1)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil) (__rel_1 ((_ychecked1_step).1))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))) - -def denote (s : Nat) (x : Nat) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 s x) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Models.Main.ledgerPost s x)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (s : Nat) (x : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_0 s x) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Models.Main.ledgerPost s x))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 s x) - -end LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5 diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R5/Compose/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R5/Compose/RustStd.lean deleted file mode 100644 index 58e3adf79..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R5/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5 -import LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.Compose.RustStd - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (s : Nat) (x : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.denote s x) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat s) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat x) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.root s x) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.Compose.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R5/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R5/RustStd.lean deleted file mode 100644 index ab19450a5..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R5/RustStd.lean +++ /dev/null @@ -1,65 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [.nat, .nat], result := (.result (.pair .nat .nat) (.pair .bool .bool)), - body := (.«let» 2 .nat (.var 0) (.«let» 3 .nat (.var 1) (.cond (.call 1 [(.var 2)]) (.cond (.call 2 [(.var 2), (.var 3)]) (.«let» 4 (.pair .nat .nat) (.call 3 [(.var 2), (.var 3)]) (.cond (.call 1 [(.first (.var 4))]) (.build .ok (.result (.pair .nat .nat) (.pair .bool .bool)) [(.var 4)]) (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .true .bool [])])]))) (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])])) (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])])))) }, - { parameters := [0], types := [.nat], result := .bool, - body := (.prim .natLe [(.var 0), (.value .nat (.nat 100))]) }, - { parameters := [0, 1], types := [.nat, .nat], result := .bool, - body := (.prim .natLe [(.var 1), (.value .nat (.nat 10))]) }, - { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat .nat), - body := (.call 4 [(.var 0), (.var 1)]) }, - { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat .nat), - body := (.build .pair (.pair .nat .nat) [(.prim .natAdd [(.var 0), (.var 1)]), (.var 1)]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.result (.pair .nat .nat) (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 2)) (some .nat) (.copy (.generated .binding 0))), (.mk (.bind (.generated .binding 3)) (some .nat) (.copy (.generated .binding 1)))] (.cond (.call (.function 1) [(.copy (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair .nat .nat)) (.call (.function 3) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] true))] (.cond (.call (.function 1) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 1))))] false) (.mk [] (.succeed (.construct (.ok (.pair .nat .nat) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool true)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])))))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 100)))] (.call (.runtime .natLe) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] false))), - (.function (.generated .function 2) [{ pattern := .wild, type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 10)))] (.call (.runtime .natLe) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))), - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair .nat .nat)) (.mk [] (.call (.function 4) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false))), - (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair .nat .nat)) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] true))) (.copy (.generated .binding 1))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some .nat) (.copy (.generated .binding 0))), (.mk (.bind (.generated .binding 3)) (some .nat) (.copy (.generated .binding 1)))], (.cond (.call (.function 1) [(.copy (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair .nat .nat)) (.call (.function 3) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] true))] (.cond (.call (.function 1) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 1))))] false) (.mk [] (.succeed (.construct (.ok (.pair .nat .nat) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool true)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.letBind (Corr.var rfl rfl) rfl (Corr.letBind (Corr.var rfl rfl) rfl (Corr.cond (lc := []) (ce := (.call (.function 1) [(.copy (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair .nat .nat)) (.call (.function 3) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] true))] (.cond (.call (.function 1) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 1))))] false) (.mk [] (.succeed (.construct (.ok (.pair .nat .nat) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool true)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))) (lb := []) (tb := (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))) (Corr.cond (lc := []) (ce := (.call (.function 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] false)) (lk := []) (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .binding 4)) (some (.pair .nat .nat)) (.call (.function 3) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] true))]) (ta := (.cond (.call (.function 1) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 1))))] false) (.mk [] (.succeed (.construct (.ok (.pair .nat .nat) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool true)))]))))) (lb := []) (tb := (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))) (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl (Corr.cond (lc := []) (ce := (.call (.function 1) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 1))))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))]) (tail := (.move (.generated .part 1))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct (.ok (.pair .nat .nat) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (lb := []) (tb := (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool true)))]))) (Corr.fOfB (Corr.build (ts := [(.pair .nat .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl))))) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl))))))⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 100)))], (.call (.runtime .natLe) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] false), [(0, .nat, (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 10)))], (.call (.runtime .natLe) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false), [(1, .nat, (some 1)), (0, .nat, none)], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 4) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.callF (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)⟩⟩ - -theorem fun4 : FunOK program krate flags 4 := - ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] true))) (.copy (.generated .binding 1)))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | 4 => exact fun4 - | _ + 5 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R6.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R6.lean deleted file mode 100644 index 8008777e2..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R6.lean +++ /dev/null @@ -1,83 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Models.Flows -import Models.Glyphs -import Models.Ledger -import Models.Main -import Models.Pipeline -import Models.Policy -import Models.Recognizer -import Models.Session -import Models.Triage -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [.nat, .nat], result := (.result (.pair .nat .nat) (.pair .bool .bool)), - body := (.«let» 2 .nat (.var 0) (.«let» 3 .nat (.var 1) (.cond (.call 1 [(.var 2)]) (.cond (.call 2 [(.var 2), (.var 3)]) (.«let» 4 (.pair .nat .nat) (.call 3 [(.var 2), (.var 3)]) (.cond (.call 1 [(.first (.var 4))]) (.cond (.call 4 [(.var 2), (.var 3), (.first (.var 4)), (.second (.var 4))]) (.build .ok (.result (.pair .nat .nat) (.pair .bool .bool)) [(.var 4)]) (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])) (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .true .bool [])])]))) (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])])) (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])])))) }, - { parameters := [0], types := [.nat], result := .bool, - body := (.prim .natLe [(.var 0), (.value .nat (.nat 100))]) }, - { parameters := [0, 1], types := [.nat, .nat], result := .bool, - body := (.prim .natLe [(.var 1), (.value .nat (.nat 10))]) }, - { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat .nat), - body := (.call 5 [(.var 0), (.var 1)]) }, - { parameters := [0, 1, 2, 3], types := [.nat, .nat, .nat, .nat], result := .bool, - body := (.prim .natLe [(.var 0), (.var 2)]) }, - { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat .nat), - body := (.build .pair (.pair .nat .nat) [(.prim .natAdd [(.var 0), (.var 1)]), (.var 1)]) }] } - -def __fits_1 (s : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_1 (s : Nat) : _root_.LexLeanPreservation.FunRel __prog 1 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s)] (_root_.LexLeanPreservation.Rel (__fits_1 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Ledger.cappedCheck s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe s (100 : Nat))) - -def __fits_2 (s : Nat) (x : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_2 (s : Nat) (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_2 s x) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Ledger.smallCheck s x))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe x (10 : Nat))) - -def __fits_5 (s : Nat) (x : Nat) : Bool := - ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (s + x) 18446744073709551616)) && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_5 (s : Nat) (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 5 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_5 s x) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Ledger.Spill s x))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd s x)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) - -def __fits_3 (_ystate : Nat) (_yinput : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && (__fits_5 (_ystate) (_yinput))) - -attribute [local irreducible] Models.Ledger.Spill in -theorem __rel_3 (_ystate : Nat) (_yinput : Nat) : _root_.LexLeanPreservation.FunRel __prog 3 [(_root_.LexLeanTarget.TargetSyntax.Value.nat _ystate), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yinput)] (_root_.LexLeanPreservation.Rel (__fits_3 _ystate _yinput) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Ledger.SpillRawModel _ystate _yinput))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_5 (_ystate) (_yinput))) - -def __fits_4 (s : Nat) (x : Nat) (t : Nat) (y : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_4 (s : Nat) (x : Nat) (t : Nat) (y : Nat) : _root_.LexLeanPreservation.FunRel __prog 4 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x), (_root_.LexLeanTarget.TargetSyntax.Value.nat t), (_root_.LexLeanTarget.TargetSyntax.Value.nat y)] (_root_.LexLeanPreservation.Rel (__fits_4 s x t y) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Ledger.growsCheck s x t y))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe s t)) - -def __fits_0 (s : Nat) (x : Nat) : Bool := - (Bool.true && (let _ychecked1_state : Nat := s; (Bool.true && (let _ychecked1_input : Nat := x; (((Bool.true && Bool.true) && (__fits_1 (_ychecked1_state))) && (if (Models.Ledger.cappedCheck (_ychecked1_state)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_2 (_ychecked1_state) (_ychecked1_input))) && (if (Models.Ledger.smallCheck (_ychecked1_state) (_ychecked1_input)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (_ychecked1_state) (_ychecked1_input))) && (let _ychecked1_step : (Prod Nat Nat) := (Models.Ledger.SpillRawModel (_ychecked1_state) (_ychecked1_input)); (((Bool.true && Bool.true) && (__fits_1 ((_ychecked1_step).1))) && (if (Models.Ledger.cappedCheck ((_ychecked1_step).1)) then (((Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true)))) && (__fits_4 (_ychecked1_state) (_ychecked1_input) ((_ychecked1_step).1) ((_ychecked1_step).2))) && (if (Models.Ledger.growsCheck (_ychecked1_state) (_ychecked1_input) ((_ychecked1_step).1) ((_ychecked1_step).2)) then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))))) - -attribute [local irreducible] Models.Ledger.SpillRawModel Models.Ledger.cappedCheck Models.Ledger.growsCheck Models.Ledger.smallCheck in -theorem __rel_0 (s : Nat) (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_0 s x) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Models.Main.ledgerFull s x))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (let _ychecked1_state : Nat := s; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_var rfl) (let _ychecked1_input : Nat := x; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && (Bool.true && Bool.true)) && (__fits_2 (_ychecked1_state) (_ychecked1_input))) && (if (Models.Ledger.smallCheck (_ychecked1_state) (_ychecked1_input)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (_ychecked1_state) (_ychecked1_input))) && (let _ychecked1_step : (Prod Nat Nat) := (Models.Ledger.SpillRawModel (_ychecked1_state) (_ychecked1_input)); (((Bool.true && Bool.true) && (__fits_1 ((_ychecked1_step).1))) && (if (Models.Ledger.cappedCheck ((_ychecked1_step).1)) then (((Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true)))) && (__fits_4 (_ychecked1_state) (_ychecked1_input) ((_ychecked1_step).1) ((_ychecked1_step).2))) && (if (Models.Ledger.growsCheck (_ychecked1_state) (_ychecked1_input) ((_ychecked1_step).1) ((_ychecked1_step).2)) then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (if (Models.Ledger.smallCheck (_ychecked1_state) (_ychecked1_input)) then (let _ychecked1_step : (Prod Nat Nat) := (Models.Ledger.SpillRawModel (_ychecked1_state) (_ychecked1_input)); (if (Models.Ledger.cappedCheck ((_ychecked1_step).1)) then (if (Models.Ledger.growsCheck (_ychecked1_state) (_ychecked1_input) ((_ychecked1_step).1) ((_ychecked1_step).2)) then (Except.ok (_ychecked1_step) : (Except (Prod Bool Bool) (Prod Nat Nat))) else (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat)))) else (Except.error (((Bool.true, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat))))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat)))) else (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat))))) (Models.Ledger.cappedCheck (_ychecked1_state)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (_ychecked1_state))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (_ychecked1_state) (_ychecked1_input))) && (let _ychecked1_step : (Prod Nat Nat) := (Models.Ledger.SpillRawModel (_ychecked1_state) (_ychecked1_input)); (((Bool.true && Bool.true) && (__fits_1 ((_ychecked1_step).1))) && (if (Models.Ledger.cappedCheck ((_ychecked1_step).1)) then (((Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true)))) && (__fits_4 (_ychecked1_state) (_ychecked1_input) ((_ychecked1_step).1) ((_ychecked1_step).2))) && (if (Models.Ledger.growsCheck (_ychecked1_state) (_ychecked1_input) ((_ychecked1_step).1) ((_ychecked1_step).2)) then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (let _ychecked1_step : (Prod Nat Nat) := (Models.Ledger.SpillRawModel (_ychecked1_state) (_ychecked1_input)); (if (Models.Ledger.cappedCheck ((_ychecked1_step).1)) then (if (Models.Ledger.growsCheck (_ychecked1_state) (_ychecked1_input) ((_ychecked1_step).1) ((_ychecked1_step).2)) then (Except.ok (_ychecked1_step) : (Except (Prod Bool Bool) (Prod Nat Nat))) else (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat)))) else (Except.error (((Bool.true, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat))))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat))))) (Models.Ledger.smallCheck (_ychecked1_state) (_ychecked1_input)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_2 (_ychecked1_state) (_ychecked1_input))) (fun _ => (let _ychecked1_step : (Prod Nat Nat) := (Models.Ledger.SpillRawModel (_ychecked1_state) (_ychecked1_input)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_3 (_ychecked1_state) (_ychecked1_input))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true)))) && (__fits_4 (_ychecked1_state) (_ychecked1_input) ((_ychecked1_step).1) ((_ychecked1_step).2))) && (if (Models.Ledger.growsCheck (_ychecked1_state) (_ychecked1_input) ((_ychecked1_step).1) ((_ychecked1_step).2)) then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (if (Models.Ledger.growsCheck (_ychecked1_state) (_ychecked1_input) ((_ychecked1_step).1) ((_ychecked1_step).2)) then (Except.ok (_ychecked1_step) : (Except (Prod Bool Bool) (Prod Nat Nat))) else (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat)))) else (Except.error (((Bool.true, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat))))) (Models.Ledger.cappedCheck ((_ychecked1_step).1)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil) (__rel_1 ((_ychecked1_step).1))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (Except.ok (_ychecked1_step) : (Except (Prod Bool Bool) (Prod Nat Nat))) else (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat Nat))))) (Models.Ledger.growsCheck (_ychecked1_state) (_ychecked1_input) ((_ychecked1_step).1) ((_ychecked1_step).2)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)))) (__rel_4 (_ychecked1_state) (_ychecked1_input) ((_ychecked1_step).1) ((_ychecked1_step).2))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))) - -def denote (s : Nat) (x : Nat) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 s x) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Models.Main.ledgerFull s x)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (s : Nat) (x : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_0 s x) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Models.Main.ledgerFull s x))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 s x) - -end LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6 diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R6/Compose/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R6/Compose/RustStd.lean deleted file mode 100644 index cd7c286f7..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R6/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6 -import LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.Compose.RustStd - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (s : Nat) (x : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.denote s x) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat s) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat x) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.root s x) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.Compose.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R6/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R6/RustStd.lean deleted file mode 100644 index b25268341..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R6/RustStd.lean +++ /dev/null @@ -1,73 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [.nat, .nat], result := (.result (.pair .nat .nat) (.pair .bool .bool)), - body := (.«let» 2 .nat (.var 0) (.«let» 3 .nat (.var 1) (.cond (.call 1 [(.var 2)]) (.cond (.call 2 [(.var 2), (.var 3)]) (.«let» 4 (.pair .nat .nat) (.call 3 [(.var 2), (.var 3)]) (.cond (.call 1 [(.first (.var 4))]) (.cond (.call 4 [(.var 2), (.var 3), (.first (.var 4)), (.second (.var 4))]) (.build .ok (.result (.pair .nat .nat) (.pair .bool .bool)) [(.var 4)]) (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])) (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .true .bool [])])]))) (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])])) (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])])))) }, - { parameters := [0], types := [.nat], result := .bool, - body := (.prim .natLe [(.var 0), (.value .nat (.nat 100))]) }, - { parameters := [0, 1], types := [.nat, .nat], result := .bool, - body := (.prim .natLe [(.var 1), (.value .nat (.nat 10))]) }, - { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat .nat), - body := (.call 5 [(.var 0), (.var 1)]) }, - { parameters := [0, 1, 2, 3], types := [.nat, .nat, .nat, .nat], result := .bool, - body := (.prim .natLe [(.var 0), (.var 2)]) }, - { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat .nat), - body := (.build .pair (.pair .nat .nat) [(.prim .natAdd [(.var 0), (.var 1)]), (.var 1)]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.result (.pair .nat .nat) (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 2)) (some .nat) (.copy (.generated .binding 0))), (.mk (.bind (.generated .binding 3)) (some .nat) (.copy (.generated .binding 1)))] (.cond (.call (.function 1) [(.copy (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair .nat .nat)) (.call (.function 3) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] true))] (.cond (.call (.function 1) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 1))))] false) (.mk [] (.cond (.call (.function 4) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 2)))), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 3))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 3))))] false) (.mk [] (.succeed (.construct (.ok (.pair .nat .nat) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool true)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])))))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 100)))] (.call (.runtime .natLe) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))), - (.function (.generated .function 2) [{ pattern := .wild, type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.lit (.nat 10)))] (.call (.runtime .natLe) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false))), - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair .nat .nat)) (.mk [] (.call (.function 5) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false))), - (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := .wild, type := .nat }, { pattern := (.bind (.generated .binding 2)), type := .nat }, { pattern := .wild, type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 2)))] (.call (.runtime .natLe) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false))), - (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair .nat .nat)) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true))) (.copy (.generated .binding 1))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some .nat) (.copy (.generated .binding 0))), (.mk (.bind (.generated .binding 3)) (some .nat) (.copy (.generated .binding 1)))], (.cond (.call (.function 1) [(.copy (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair .nat .nat)) (.call (.function 3) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] true))] (.cond (.call (.function 1) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 1))))] false) (.mk [] (.cond (.call (.function 4) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 2)))), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 3))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 3))))] false) (.mk [] (.succeed (.construct (.ok (.pair .nat .nat) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool true)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.letBind (Corr.var rfl rfl) rfl (Corr.letBind (Corr.var rfl rfl) rfl (Corr.cond (lc := []) (ce := (.call (.function 1) [(.copy (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair .nat .nat)) (.call (.function 3) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] true))] (.cond (.call (.function 1) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 1))))] false) (.mk [] (.cond (.call (.function 4) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 2)))), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 3))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 3))))] false) (.mk [] (.succeed (.construct (.ok (.pair .nat .nat) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool true)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))) (lb := []) (tb := (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))) (Corr.cond (lc := []) (ce := (.call (.function 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] false)) (lk := []) (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .binding 4)) (some (.pair .nat .nat)) (.call (.function 3) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] true))]) (ta := (.cond (.call (.function 1) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 1))))] false) (.mk [] (.cond (.call (.function 4) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 2)))), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 3))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 3))))] false) (.mk [] (.succeed (.construct (.ok (.pair .nat .nat) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool true)))]))))) (lb := []) (tb := (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))) (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl (Corr.cond (lc := []) (ce := (.call (.function 1) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 1))))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))]) (tail := (.move (.generated .part 1))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 4) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 2)))), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 3))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 3))))] false) (.mk [] (.succeed (.construct (.ok (.pair .nat .nat) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))]))))) (lb := []) (tb := (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool true)))]))) (Corr.cond (lc := []) (ce := (.call (.function 4) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 2)))), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 3))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 3))))] false)) (lk := []) (Corr.callOps (ts := [.nat, .nat, .nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 4)))]) (tail := (.move (.generated .part 2))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 3))]) none (.copy (.generated .binding 4)))]) (tail := (.move (.generated .part 3))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil)))))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct (.ok (.pair .nat .nat) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (lb := []) (tb := (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))]))) (Corr.fOfB (Corr.build (ts := [(.pair .nat .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl))))) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl))))))⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 100)))], (.call (.runtime .natLe) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false), [(0, .nat, (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.lit (.nat 10)))], (.call (.runtime .natLe) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false), [(1, .nat, (some 1)), (0, .nat, none)], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 5) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.callF (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)⟩⟩ - -theorem fun4 : FunOK program krate flags 4 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 2)))], (.call (.runtime .natLe) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false), [(3, .nat, none), (2, .nat, (some 2)), (1, .nat, none), (0, .nat, (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun5 : FunOK program krate flags 5 := - ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true))) (.copy (.generated .binding 1)))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | 4 => exact fun4 - | 5 => exact fun5 - | _ + 6 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R7.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R7.lean deleted file mode 100644 index bf9d3e637..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R7.lean +++ /dev/null @@ -1,75 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Models.Flows -import Models.Glyphs -import Models.Ledger -import Models.Main -import Models.Pipeline -import Models.Policy -import Models.Recognizer -import Models.Session -import Models.Triage -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0], types := [.nat], result := (.result .nat (.pair .bool .bool)), - body := (.«let» 1 .nat (.var 0) (.cond (.call 1 [(.var 1)]) (.«let» 2 .nat (.call 2 [(.var 1)]) (.cond (.call 3 [(.var 1), (.var 2)]) (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)]) (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])]))) (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))) }, - { parameters := [0], types := [.nat], result := .bool, - body := (.prim .natLe [(.var 0), (.value .nat (.nat 10))]) }, - { parameters := [0], types := [.nat], result := .nat, - body := (.call 4 [(.var 0)]) }, - { parameters := [0, 1], types := [.nat, .nat], result := .bool, - body := (.prim .natLe [(.var 1), (.var 0)]) }, - { parameters := [0], types := [.nat], result := .nat, - body := (.prim .natSub [(.var 0), (.value .nat (.nat 1))]) }] } - -def __fits_1 (x : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_1 (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 1 [(_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_1 x) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Ledger.withinCheck x))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe x (10 : Nat))) - -def __fits_4 (x : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_4 (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 4 [(_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_4 x) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Ledger.Guess x))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub x (1 : Nat))) - -def __fits_2 (_yinput : Nat) : Bool := - ((Bool.true && Bool.true) && (__fits_4 (_yinput))) - -attribute [local irreducible] Models.Ledger.Guess in -theorem __rel_2 (_yinput : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat _yinput)] (_root_.LexLeanPreservation.Rel (__fits_2 _yinput) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Ledger.GuessModel _yinput))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_4 (_yinput))) - -def __fits_3 (x : Nat) (y : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_3 (x : Nat) (y : Nat) : _root_.LexLeanPreservation.FunRel __prog 3 [(_root_.LexLeanTarget.TargetSyntax.Value.nat x), (_root_.LexLeanTarget.TargetSyntax.Value.nat y)] (_root_.LexLeanPreservation.Rel (__fits_3 x y) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Ledger.belowCheck x y))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe y x)) - -def __fits_0 (x : Nat) : Bool := - (Bool.true && (let _ychecked1_input : Nat := x; (((Bool.true && Bool.true) && (__fits_1 (_ychecked1_input))) && (if (Models.Ledger.withinCheck (_ychecked1_input)) then (((Bool.true && Bool.true) && (__fits_2 (_ychecked1_input))) && (let _ychecked1_output : Nat := (Models.Ledger.GuessModel (_ychecked1_input)); (((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (_ychecked1_input) (_ychecked1_output))) && (if (Models.Ledger.belowCheck (_ychecked1_input) (_ychecked1_output)) then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) - -attribute [local irreducible] Models.Ledger.GuessModel Models.Ledger.belowCheck Models.Ledger.withinCheck in -theorem __rel_0 (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_0 x) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Main.guessChecked x))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (let _ychecked1_input : Nat := x; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && (__fits_2 (_ychecked1_input))) && (let _ychecked1_output : Nat := (Models.Ledger.GuessModel (_ychecked1_input)); (((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (_ychecked1_input) (_ychecked1_output))) && (if (Models.Ledger.belowCheck (_ychecked1_input) (_ychecked1_output)) then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then (let _ychecked1_output : Nat := (Models.Ledger.GuessModel (_ychecked1_input)); (if (Models.Ledger.belowCheck (_ychecked1_input) (_ychecked1_output)) then (Except.ok (_ychecked1_output) : (Except (Prod Bool Bool) Nat)) else (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)))) else (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)))) (Models.Ledger.withinCheck (_ychecked1_input)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (_ychecked1_input))) (fun _ => (let _ychecked1_output : Nat := (Models.Ledger.GuessModel (_ychecked1_input)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_2 (_ychecked1_input))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then (Except.ok (_ychecked1_output) : (Except (Prod Bool Bool) Nat)) else (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)))) (Models.Ledger.belowCheck (_ychecked1_input) (_ychecked1_output)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_3 (_ychecked1_input) (_ychecked1_output))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))) - -def denote (x : Nat) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 x) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Main.guessChecked x)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (x : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_0 x) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Main.guessChecked x))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 x) - -end LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7 diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R7/Compose/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R7/Compose/RustStd.lean deleted file mode 100644 index bf1b5717e..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R7/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7 -import LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.Compose.RustStd - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (x : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat x)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.denote x) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat x)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat x) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.root x) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.Compose.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R7/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R7/RustStd.lean deleted file mode 100644 index 819bbd4fe..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R7/RustStd.lean +++ /dev/null @@ -1,65 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0], types := [.nat], result := (.result .nat (.pair .bool .bool)), - body := (.«let» 1 .nat (.var 0) (.cond (.call 1 [(.var 1)]) (.«let» 2 .nat (.call 2 [(.var 1)]) (.cond (.call 3 [(.var 1), (.var 2)]) (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)]) (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])]))) (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))) }, - { parameters := [0], types := [.nat], result := .bool, - body := (.prim .natLe [(.var 0), (.value .nat (.nat 10))]) }, - { parameters := [0], types := [.nat], result := .nat, - body := (.call 4 [(.var 0)]) }, - { parameters := [0, 1], types := [.nat, .nat], result := .bool, - body := (.prim .natLe [(.var 1), (.var 0)]) }, - { parameters := [0], types := [.nat], result := .nat, - body := (.prim .natSub [(.var 0), (.value .nat (.nat 1))]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.result .nat (.pair .bool .bool)) (.mk [(.mk (.bind (.generated .binding 1)) (some .nat) (.copy (.generated .binding 0)))] (.cond (.call (.function 1) [(.copy (.generated .binding 1))] false) (.mk [(.mk (.bind (.generated .binding 2)) (some .nat) (.call (.function 2) [(.copy (.generated .binding 1))] false))] (.cond (.call (.function 3) [(.copy (.generated .binding 1)), (.copy (.generated .binding 2))] false) (.mk [] (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 10)))] (.call (.runtime .natLe) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))), - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .nat (.mk [] (.call (.function 4) [(.copy (.generated .binding 0))] false))), - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 0)))] (.call (.runtime .natLe) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), - (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .nat (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false)))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some .nat) (.copy (.generated .binding 0)))], (.cond (.call (.function 1) [(.copy (.generated .binding 1))] false) (.mk [(.mk (.bind (.generated .binding 2)) (some .nat) (.call (.function 2) [(.copy (.generated .binding 1))] false))] (.cond (.call (.function 3) [(.copy (.generated .binding 1)), (.copy (.generated .binding 2))] false) (.mk [] (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))), [(0, .nat, (some 0))], rfl, rfl, - (Corr.letBind (Corr.var rfl rfl) rfl (Corr.cond (lc := []) (ce := (.call (.function 1) [(.copy (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .binding 2)) (some .nat) (.call (.function 2) [(.copy (.generated .binding 1))] false))]) (ta := (.cond (.call (.function 3) [(.copy (.generated .binding 1)), (.copy (.generated .binding 2))] false) (.mk [] (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))) (lb := []) (tb := (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])) (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.cond (lc := []) (ce := (.call (.function 3) [(.copy (.generated .binding 1)), (.copy (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])) (lb := []) (tb := (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])) (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl) (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))) (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl))))⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 10)))], (.call (.runtime .natLe) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false), [(0, .nat, (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 4) [(.copy (.generated .binding 0))] false), [(0, .nat, (some 0))], rfl, rfl, - (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 0)))], (.call (.runtime .natLe) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun4 : FunOK program krate flags 4 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))], (.call (.runtime .natSub) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false), [(0, .nat, (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | 4 => exact fun4 - | _ + 5 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R8.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R8.lean deleted file mode 100644 index 5485cace8..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R8.lean +++ /dev/null @@ -1,118 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Models.Flows -import Models.Glyphs -import Models.Ledger -import Models.Main -import Models.Pipeline -import Models.Policy -import Models.Recognizer -import Models.Session -import Models.Triage -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [.nat, .nat], result := (.result (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)), - body := (.«let» 2 .nat (.var 0) (.«let» 3 .nat (.var 1) (.cond (.call 1 [(.var 2)]) (.«let» 4 (.pair .nat (.result .nat (.pair .bool .bool))) (.call 2 [(.var 2), (.var 3)]) (.cond (.call 1 [(.first (.var 4))]) (.build .ok (.result (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.var 4)]) (.build .error (.result (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .true .bool [])])]))) (.build .error (.result (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])])))) }, - { parameters := [0], types := [.nat], result := .bool, - body := (.prim .natLe [(.var 0), (.value .nat (.nat 100))]) }, - { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat (.result .nat (.pair .bool .bool))), - body := (.call 3 [(.var 0), (.var 1)]) }, - { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat (.result .nat (.pair .bool .bool))), - body := (.«let» 2 (.pair .nat .nat) (.call 4 [(.var 0), (.var 1)]) (.«let» 3 .nat (.second (.var 2)) (.«let» 4 .nat (.first (.var 2)) (.cond (.call 5 [(.var 3)]) (.«let» 5 .nat (.call 6 [(.var 3)]) (.cond (.call 7 [(.var 3), (.var 5)]) (.build .pair (.pair .nat (.result .nat (.pair .bool .bool))) [(.var 4), (.build .ok (.result .nat (.pair .bool .bool)) [(.var 5)])]) (.build .pair (.pair .nat (.result .nat (.pair .bool .bool))) [(.var 0), (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])]))) (.build .pair (.pair .nat (.result .nat (.pair .bool .bool))) [(.var 0), (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])])]))))) }, - { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat .nat), - body := (.call 8 [(.var 0), (.var 1)]) }, - { parameters := [0], types := [.nat], result := .bool, - body := (.prim .natLe [(.var 0), (.value .nat (.nat 10))]) }, - { parameters := [0], types := [.nat], result := .nat, - body := (.call 9 [(.var 0)]) }, - { parameters := [0, 1], types := [.nat, .nat], result := .bool, - body := (.prim .natLe [(.var 1), (.var 0)]) }, - { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat .nat), - body := (.«let» 2 .nat (.prim .natAdd [(.var 0), (.var 1)]) (.build .pair (.pair .nat .nat) [(.prim .natSub [(.var 2), (.prim .natSub [(.var 2), (.value .nat (.nat 100))])]), (.prim .natSub [(.var 2), (.prim .natSub [(.var 2), (.value .nat (.nat 100))])])])) }, - { parameters := [0], types := [.nat], result := .nat, - body := (.prim .natSub [(.var 0), (.value .nat (.nat 1))]) }] } - -def __fits_1 (s : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_1 (s : Nat) : _root_.LexLeanPreservation.FunRel __prog 1 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s)] (_root_.LexLeanPreservation.Rel (__fits_1 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Ledger.cappedCheck s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe s (100 : Nat))) - -def __fits_8 (s : Nat) (x : Nat) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (s + x) 18446744073709551616)) && (let total : Nat := (s + x); ((((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) - -theorem __rel_8 (s : Nat) (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 8 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_8 s x) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Ledger.Clamp s x))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (let total : Nat := (s + x); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd s x)) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub total (100 : Nat))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub total (Models.Ledger.LexLeanRuntime.subtract (total) ((100 : Nat)) : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub total (100 : Nat))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub total (Models.Ledger.LexLeanRuntime.subtract (total) ((100 : Nat)) : Nat))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair)) - -def __fits_4 (_ystate : Nat) (_yinput : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && (__fits_8 (_ystate) (_yinput))) - -attribute [local irreducible] Models.Ledger.Clamp in -theorem __rel_4 (_ystate : Nat) (_yinput : Nat) : _root_.LexLeanPreservation.FunRel __prog 4 [(_root_.LexLeanTarget.TargetSyntax.Value.nat _ystate), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yinput)] (_root_.LexLeanPreservation.Rel (__fits_4 _ystate _yinput) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Models.Ledger.ClampModel _ystate _yinput))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_8 (_ystate) (_yinput))) - -def __fits_5 (x : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_5 (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 5 [(_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_5 x) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Ledger.withinCheck x))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe x (10 : Nat))) - -def __fits_9 (x : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_9 (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 9 [(_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_9 x) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Ledger.Guess x))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub x (1 : Nat))) - -def __fits_6 (_yinput : Nat) : Bool := - ((Bool.true && Bool.true) && (__fits_9 (_yinput))) - -attribute [local irreducible] Models.Ledger.Guess in -theorem __rel_6 (_yinput : Nat) : _root_.LexLeanPreservation.FunRel __prog 6 [(_root_.LexLeanTarget.TargetSyntax.Value.nat _yinput)] (_root_.LexLeanPreservation.Rel (__fits_6 _yinput) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Models.Ledger.GuessModel _yinput))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_9 (_yinput))) - -def __fits_7 (x : Nat) (y : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_7 (x : Nat) (y : Nat) : _root_.LexLeanPreservation.FunRel __prog 7 [(_root_.LexLeanTarget.TargetSyntax.Value.nat x), (_root_.LexLeanTarget.TargetSyntax.Value.nat y)] (_root_.LexLeanPreservation.Rel (__fits_7 x y) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Models.Ledger.belowCheck x y))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe y x)) - -def __fits_3 (s : Nat) (x : Nat) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && (__fits_4 (s) (x))) && (let _ystep1 : (Prod Nat Nat) := (Models.Ledger.ClampModel (s) (x)); (Bool.true && (let _ystage1 : Nat := (_ystep1).2; (Bool.true && (let _ystate1 : Nat := (_ystep1).1; (((Bool.true && Bool.true) && (__fits_5 (_ystage1))) && (if (Models.Ledger.withinCheck (_ystage1)) then (((Bool.true && Bool.true) && (__fits_6 (_ystage1))) && (let _ystage2 : Nat := (Models.Ledger.GuessModel (_ystage1)); (((Bool.true && (Bool.true && Bool.true)) && (__fits_7 (_ystage1) (_ystage2))) && (if (Models.Ledger.belowCheck (_ystage1) (_ystage2)) then ((Bool.true && (((Bool.true && Bool.true) && Bool.true) && Bool.true)) && Bool.true) else ((Bool.true && ((((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) && Bool.true)) && Bool.true))))) else ((Bool.true && ((((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) && Bool.true)) && Bool.true))))))))) - -attribute [local irreducible] Models.Ledger.ClampModel Models.Ledger.GuessModel Models.Ledger.belowCheck Models.Ledger.withinCheck in -theorem __rel_3 (s : Nat) (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 3 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_3 s x) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Models.Flows.ClampGuess s x))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (let _ystep1 : (Prod Nat Nat) := (Models.Ledger.ClampModel (s) (x)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_4 (s) (x))) (let _ystage1 : Nat := (_ystep1).2; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (let _ystate1 : Nat := (_ystep1).1; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && (__fits_6 (_ystage1))) && (let _ystage2 : Nat := (Models.Ledger.GuessModel (_ystage1)); (((Bool.true && (Bool.true && Bool.true)) && (__fits_7 (_ystage1) (_ystage2))) && (if (Models.Ledger.belowCheck (_ystage1) (_ystage2)) then ((Bool.true && (((Bool.true && Bool.true) && Bool.true) && Bool.true)) && Bool.true) else ((Bool.true && ((((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) && Bool.true)) && Bool.true))))) else ((Bool.true && ((((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) && Bool.true)) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (let _ystage2 : Nat := (Models.Ledger.GuessModel (_ystage1)); (if (Models.Ledger.belowCheck (_ystage1) (_ystage2)) then (_ystate1, (Except.ok (_ystage2) : (Except (Prod Bool Bool) Nat))) else (s, (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat))))) else (s, (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat))))) (Models.Ledger.withinCheck (_ystage1)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_5 (_ystage1))) (fun _ => (let _ystage2 : Nat := (Models.Ledger.GuessModel (_ystage1)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_6 (_ystage1))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && (((Bool.true && Bool.true) && Bool.true) && Bool.true)) && Bool.true) else ((Bool.true && ((((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) && Bool.true)) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (_ystate1, (Except.ok (_ystage2) : (Except (Prod Bool Bool) Nat))) else (s, (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat))))) (Models.Ledger.belowCheck (_ystage1) (_ystage2)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_7 (_ystage1) (_ystage2))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair)))))) - -def __fits_2 (_ystate : Nat) (_yinput : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (_ystate) (_yinput))) - -attribute [local irreducible] Models.Flows.ClampGuess in -theorem __rel_2 (_ystate : Nat) (_yinput : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat _ystate), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yinput)] (_root_.LexLeanPreservation.Rel (__fits_2 _ystate _yinput) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Models.Flows.FlowModel _ystate _yinput))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_3 (_ystate) (_yinput))) - -def __fits_0 (s : Nat) (x : Nat) : Bool := - (Bool.true && (let _ychecked1_state : Nat := s; (Bool.true && (let _ychecked1_input : Nat := x; (((Bool.true && Bool.true) && (__fits_1 (_ychecked1_state))) && (if (Models.Ledger.cappedCheck (_ychecked1_state)) then (((Bool.true && (Bool.true && Bool.true)) && (__fits_2 (_ychecked1_state) (_ychecked1_input))) && (let _ychecked1_step : (Prod Nat (Except (Prod Bool Bool) Nat)) := (Models.Flows.FlowModel (_ychecked1_state) (_ychecked1_input)); (((Bool.true && Bool.true) && (__fits_1 ((_ychecked1_step).1))) && (if (Models.Ledger.cappedCheck ((_ychecked1_step).1)) then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))))) - -attribute [local irreducible] Models.Flows.FlowModel Models.Ledger.cappedCheck in -theorem __rel_0 (s : Nat) (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_0 s x) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat))) (Models.Main.flowStep s x))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (let _ychecked1_state : Nat := s; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_var rfl) (let _ychecked1_input : Nat := x; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && (Bool.true && Bool.true)) && (__fits_2 (_ychecked1_state) (_ychecked1_input))) && (let _ychecked1_step : (Prod Nat (Except (Prod Bool Bool) Nat)) := (Models.Flows.FlowModel (_ychecked1_state) (_ychecked1_input)); (((Bool.true && Bool.true) && (__fits_1 ((_ychecked1_step).1))) && (if (Models.Ledger.cappedCheck ((_ychecked1_step).1)) then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat))) (if __b then (let _ychecked1_step : (Prod Nat (Except (Prod Bool Bool) Nat)) := (Models.Flows.FlowModel (_ychecked1_state) (_ychecked1_input)); (if (Models.Ledger.cappedCheck ((_ychecked1_step).1)) then (Except.ok (_ychecked1_step) : (Except (Prod Bool Bool) (Prod Nat (Except (Prod Bool Bool) Nat)))) else (Except.error (((Bool.true, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat (Except (Prod Bool Bool) Nat)))))) else (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat (Except (Prod Bool Bool) Nat)))))) (Models.Ledger.cappedCheck (_ychecked1_state)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (_ychecked1_state))) (fun _ => (let _ychecked1_step : (Prod Nat (Except (Prod Bool Bool) Nat)) := (Models.Flows.FlowModel (_ychecked1_state) (_ychecked1_input)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_2 (_ychecked1_state) (_ychecked1_input))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat))) (if __b then (Except.ok (_ychecked1_step) : (Except (Prod Bool Bool) (Prod Nat (Except (Prod Bool Bool) Nat)))) else (Except.error (((Bool.true, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat (Except (Prod Bool Bool) Nat)))))) (Models.Ledger.cappedCheck ((_ychecked1_step).1)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil) (__rel_1 ((_ychecked1_step).1))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))) - -def denote (s : Nat) (x : Nat) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 s x) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat))) (Models.Main.flowStep s x)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (s : Nat) (x : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_0 s x) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat))) (Models.Main.flowStep s x))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 s x) - -end LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8 diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R8/Compose/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R8/Compose/RustStd.lean deleted file mode 100644 index 6800bdd79..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R8/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8 -import LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.Compose.RustStd - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (s : Nat) (x : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.denote s x) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat s), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat s) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat x) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.root s x) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.Compose.RustStd diff --git a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R8/RustStd.lean b/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R8/RustStd.lean deleted file mode 100644 index cb69bd70d..000000000 --- a/examples/models/expected/verify/preserve/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R8/RustStd.lean +++ /dev/null @@ -1,105 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [.nat, .nat], result := (.result (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)), - body := (.«let» 2 .nat (.var 0) (.«let» 3 .nat (.var 1) (.cond (.call 1 [(.var 2)]) (.«let» 4 (.pair .nat (.result .nat (.pair .bool .bool))) (.call 2 [(.var 2), (.var 3)]) (.cond (.call 1 [(.first (.var 4))]) (.build .ok (.result (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.var 4)]) (.build .error (.result (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .true .bool [])])]))) (.build .error (.result (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])])))) }, - { parameters := [0], types := [.nat], result := .bool, - body := (.prim .natLe [(.var 0), (.value .nat (.nat 100))]) }, - { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat (.result .nat (.pair .bool .bool))), - body := (.call 3 [(.var 0), (.var 1)]) }, - { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat (.result .nat (.pair .bool .bool))), - body := (.«let» 2 (.pair .nat .nat) (.call 4 [(.var 0), (.var 1)]) (.«let» 3 .nat (.second (.var 2)) (.«let» 4 .nat (.first (.var 2)) (.cond (.call 5 [(.var 3)]) (.«let» 5 .nat (.call 6 [(.var 3)]) (.cond (.call 7 [(.var 3), (.var 5)]) (.build .pair (.pair .nat (.result .nat (.pair .bool .bool))) [(.var 4), (.build .ok (.result .nat (.pair .bool .bool)) [(.var 5)])]) (.build .pair (.pair .nat (.result .nat (.pair .bool .bool))) [(.var 0), (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])]))) (.build .pair (.pair .nat (.result .nat (.pair .bool .bool))) [(.var 0), (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])])]))))) }, - { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat .nat), - body := (.call 8 [(.var 0), (.var 1)]) }, - { parameters := [0], types := [.nat], result := .bool, - body := (.prim .natLe [(.var 0), (.value .nat (.nat 10))]) }, - { parameters := [0], types := [.nat], result := .nat, - body := (.call 9 [(.var 0)]) }, - { parameters := [0, 1], types := [.nat, .nat], result := .bool, - body := (.prim .natLe [(.var 1), (.var 0)]) }, - { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat .nat), - body := (.«let» 2 .nat (.prim .natAdd [(.var 0), (.var 1)]) (.build .pair (.pair .nat .nat) [(.prim .natSub [(.var 2), (.prim .natSub [(.var 2), (.value .nat (.nat 100))])]), (.prim .natSub [(.var 2), (.prim .natSub [(.var 2), (.value .nat (.nat 100))])])])) }, - { parameters := [0], types := [.nat], result := .nat, - body := (.prim .natSub [(.var 0), (.value .nat (.nat 1))]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.result (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 2)) (some .nat) (.copy (.generated .binding 0))), (.mk (.bind (.generated .binding 3)) (some .nat) (.copy (.generated .binding 1)))] (.cond (.call (.function 1) [(.copy (.generated .binding 2))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair .nat (.result .nat (.pair .bool .bool)))) (.call (.function 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] true))] (.cond (.call (.function 1) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 1))))] false) (.mk [] (.succeed (.construct (.ok (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool true)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])))))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 100)))] (.call (.runtime .natLe) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] false))), - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair .nat (.result .nat (.pair .bool .bool)))) (.mk [] (.call (.function 3) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false))), - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair .nat (.result .nat (.pair .bool .bool)))) (.mk [(.mk (.bind (.generated .binding 2)) (some (.pair .nat .nat)) (.call (.function 4) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true)), (.mk (.bind (.generated .binding 3)) (some .nat) (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 4))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 4))))), (.mk (.bind (.generated .binding 4)) (some .nat) (.block (.mk [(.mk (.tuple [(.bind (.generated .part 5)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 5)))))] (.cond (.call (.function 5) [(.copy (.generated .binding 3))] false) (.mk [(.mk (.bind (.generated .binding 5)) (some .nat) (.call (.function 6) [(.copy (.generated .binding 3))] false))] (.cond (.call (.function 7) [(.copy (.generated .binding 3)), (.copy (.generated .binding 5))] false) (.mk [] (.succeed (.pair (.copy (.generated .binding 4)) (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 5))])))) (.mk [] (.succeed (.pair (.copy (.generated .binding 0)) (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))))) (.mk [] (.succeed (.pair (.copy (.generated .binding 0)) (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))))), - (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair .nat .nat)) (.mk [] (.call (.function 8) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false))), - (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 7)) none (.lit (.nat 10)))] (.call (.runtime .natLe) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false))), - (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .nat (.mk [] (.call (.function 9) [(.copy (.generated .binding 0))] false))), - (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0)))] (.call (.runtime .natLe) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false))), - (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair .nat .nat)) (.mk [(.mk (.bind (.generated .binding 2)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true))))] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 15)) none (.block (.mk [(.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 13)) none (.lit (.nat 100)))] (.call (.runtime .natSub) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false))))] (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false))) (.block (.mk [(.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 19)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 17)) none (.lit (.nat 100)))] (.call (.runtime .natSub) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))] (.call (.runtime .natSub) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false))))))), - (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .nat (.mk [(.mk (.bind (.generated .operand 20)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 21)) none (.lit (.nat 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 20)), (.move (.generated .operand 21))] false)))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some .nat) (.copy (.generated .binding 0))), (.mk (.bind (.generated .binding 3)) (some .nat) (.copy (.generated .binding 1)))], (.cond (.call (.function 1) [(.copy (.generated .binding 2))] false) (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair .nat (.result .nat (.pair .bool .bool)))) (.call (.function 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] true))] (.cond (.call (.function 1) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 1))))] false) (.mk [] (.succeed (.construct (.ok (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool true)))]))))) (.mk [] (.succeed (.construct (.err (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.letBind (Corr.var rfl rfl) rfl (Corr.letBind (Corr.var rfl rfl) rfl (Corr.cond (lc := []) (ce := (.call (.function 1) [(.copy (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .binding 4)) (some (.pair .nat (.result .nat (.pair .bool .bool)))) (.call (.function 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 3))] true))]) (ta := (.cond (.call (.function 1) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 1))))] false) (.mk [] (.succeed (.construct (.ok (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (.mk [] (.succeed (.construct (.err (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool true)))]))))) (lb := []) (tb := (.succeed (.construct (.err (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))) (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl (Corr.cond (lc := []) (ce := (.call (.function 1) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))] (.move (.generated .part 1))))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 1)), .wild]) none (.copy (.generated .binding 4)))]) (tail := (.move (.generated .part 1))) (Corr.first (ta := .nat) (tb := (.result .nat (.pair .bool .bool))) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct (.ok (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.copy (.generated .binding 4))]))) (lb := []) (tb := (.succeed (.construct (.err (.pair .nat (.result .nat (.pair .bool .bool))) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool true)))]))) (Corr.fOfB (Corr.build (ts := [(.pair .nat (.result .nat (.pair .bool .bool)))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl))))) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl))))))⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 100)))], (.call (.runtime .natLe) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] false), [(0, .nat, (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 3) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.callF (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some (.pair .nat .nat)) (.call (.function 4) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true)), (.mk (.bind (.generated .binding 3)) (some .nat) (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 4))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 4))))), (.mk (.bind (.generated .binding 4)) (some .nat) (.block (.mk [(.mk (.tuple [(.bind (.generated .part 5)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 5)))))], (.cond (.call (.function 5) [(.copy (.generated .binding 3))] false) (.mk [(.mk (.bind (.generated .binding 5)) (some .nat) (.call (.function 6) [(.copy (.generated .binding 3))] false))] (.cond (.call (.function 7) [(.copy (.generated .binding 3)), (.copy (.generated .binding 5))] false) (.mk [] (.succeed (.pair (.copy (.generated .binding 4)) (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 5))])))) (.mk [] (.succeed (.pair (.copy (.generated .binding 0)) (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))))) (.mk [] (.succeed (.pair (.copy (.generated .binding 0)) (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl (Corr.letBind (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 4))]) none (.copy (.generated .binding 2)))]) (tail := (.move (.generated .part 4))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) rfl (Corr.letBind (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 5)), .wild]) none (.copy (.generated .binding 2)))]) (tail := (.move (.generated .part 5))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) rfl (Corr.cond (lc := []) (ce := (.call (.function 5) [(.copy (.generated .binding 3))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .binding 5)) (some .nat) (.call (.function 6) [(.copy (.generated .binding 3))] false))]) (ta := (.cond (.call (.function 7) [(.copy (.generated .binding 3)), (.copy (.generated .binding 5))] false) (.mk [] (.succeed (.pair (.copy (.generated .binding 4)) (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 5))])))) (.mk [] (.succeed (.pair (.copy (.generated .binding 0)) (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))))) (lb := []) (tb := (.succeed (.pair (.copy (.generated .binding 0)) (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))) (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.cond (lc := []) (ce := (.call (.function 7) [(.copy (.generated .binding 3)), (.copy (.generated .binding 5))] false)) (lk := []) (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.pair (.copy (.generated .binding 4)) (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 5))])))) (lb := []) (tb := (.succeed (.pair (.copy (.generated .binding 0)) (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))) (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.lNil)))))) (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) (Corr.lNil))))))))) (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) (Corr.lNil)))))))))))⟩⟩ - -theorem fun4 : FunOK program krate flags 4 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 8) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.callF (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)⟩⟩ - -theorem fun5 : FunOK program krate flags 5 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 7)) none (.lit (.nat 10)))], (.call (.runtime .natLe) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false), [(0, .nat, (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun6 : FunOK program krate flags 6 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 9) [(.copy (.generated .binding 0))] false), [(0, .nat, (some 0))], rfl, rfl, - (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun7 : FunOK program krate flags 7 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0)))], (.call (.runtime .natLe) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun8 : FunOK program krate flags 8 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true))))], (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 15)) none (.block (.mk [(.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 13)) none (.lit (.nat 100)))] (.call (.runtime .natSub) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false))))] (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false))) (.block (.mk [(.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 19)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 17)) none (.lit (.nat 100)))] (.call (.runtime .natSub) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))] (.call (.runtime .natSub) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false))))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 15)) none (.block (.mk [(.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 13)) none (.lit (.nat 100)))] (.call (.runtime .natSub) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false))))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 13)) none (.lit (.nat 100)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 19)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 17)) none (.lit (.nat 100)))] (.call (.runtime .natSub) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 17)) none (.lit (.nat 100)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))⟩⟩ - -theorem fun9 : FunOK program krate flags 9 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 20)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 21)) none (.lit (.nat 1)))], (.call (.runtime .natSub) [(.move (.generated .operand 20)), (.move (.generated .operand 21))] false), [(0, .nat, (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | 4 => exact fun4 - | 5 => exact fun5 - | 6 => exact fun6 - | 7 => exact fun7 - | 8 => exact fun8 - | 9 => exact fun9 - | _ + 10 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.RustStd diff --git a/examples/models/expected/verify/preserve/audit.txt b/examples/models/expected/verify/preserve/audit.txt index f3f3e4808..987df84c5 100644 --- a/examples/models/expected/verify/preserve/audit.txt +++ b/examples/models/expected/verify/preserve/audit.txt @@ -263,10 +263,10 @@ 'LexLeanPreservation.prim_utf8Decode.match_1_1' does not depend on any axioms 'LexLeanPreservation.prim_utf8Decode' depends on axioms: [propext, Classical.choice, Quot.sound] 'LexLeanPreservation.prim_utf8Encode' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanTarget.TargetSemantics.LexLeanRuntime.compareBytes.eq_1' depends on axioms: [propext] -'LexLeanTarget.TargetSemantics.LexLeanRuntime.equal.eq_1' does not depend on any axioms -'LexLeanTarget.TargetSemantics.LexLeanRuntime.length.eq_1' does not depend on any axioms -'LexLeanTarget.TargetSemantics.LexLeanRuntime.slice.eq_1' does not depend on any axioms +'LexLeanRuntime.compareBytes.eq_1' depends on axioms: [propext] +'LexLeanRuntime.equal.eq_1' does not depend on any axioms +'LexLeanRuntime.length.eq_1' does not depend on any axioms +'LexLeanRuntime.slice.eq_1' does not depend on any axioms 'LexLeanTarget.TargetSemantics.fromOrdering.eq_1' depends on axioms: [propext] 'LexLeanPreservation.checkedMultiplyWith.match_1' does not depend on any axioms 'LexLeanPreservation.checkedMultiplyWith' does not depend on any axioms @@ -639,15 +639,15 @@ 'LexLeanPreservation.keySpec_u64' depends on axioms: [propext, Classical.choice, Quot.sound] 'LexLeanTarget.TargetSemantics.orderU8.eq_1' does not depend on any axioms 'LexLeanPreservation.keySpec_u8' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes._sparseCasesOn_1.else_eq' depends on axioms: [propext] -'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_1' depends on axioms: [propext] -'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_2' depends on axioms: [propext] -'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_3' depends on axioms: [propext] -'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_4' depends on axioms: [propext] -'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_def' depends on axioms: [propext] -'LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_1' does not depend on any axioms -'LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_2' does not depend on any axioms -'LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_def' does not depend on any axioms +'LexLeanCollections.compareCodes._sparseCasesOn_1.else_eq' depends on axioms: [propext] +'LexLeanCollections.compareCodes.eq_1' depends on axioms: [propext] +'LexLeanCollections.compareCodes.eq_2' depends on axioms: [propext] +'LexLeanCollections.compareCodes.eq_3' depends on axioms: [propext] +'LexLeanCollections.compareCodes.eq_4' depends on axioms: [propext] +'LexLeanCollections.compareCodes.eq_def' depends on axioms: [propext] +'LexLeanCollections.insertEntry.eq_1' does not depend on any axioms +'LexLeanCollections.insertEntry.eq_2' does not depend on any axioms +'LexLeanCollections.insertEntry.eq_def' does not depend on any axioms 'LexLeanTarget.TargetSemantics.compareValue.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound] 'LexLeanTarget.TargetSemantics.compareValue.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound] 'LexLeanTarget.TargetSemantics.compareValue.eq_100' depends on axioms: [propext, Classical.choice, Quot.sound] @@ -1443,7 +1443,6 @@ 'LexLeanPreservation.Rust.tysBeq._unsafe_rec' depends on axioms: [propext] 'LexLeanPreservation.Rust.tyBeq._unsafe_rec' depends on axioms: [propext] 'LexLeanPreservation.Rust.tysBeq._sunfold' depends on axioms: [propext] -'LexLeanTarget.RustSemantics.LexLeanRuntime.equal.eq_1' does not depend on any axioms 'LexLeanTarget.RustSemantics.eval.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound] 'LexLeanTarget.RustSemantics.eval.eq_17' depends on axioms: [propext, Classical.choice, Quot.sound] 'LexLeanTarget.RustSemantics.eval.eq_18' depends on axioms: [propext, Classical.choice, Quot.sound] @@ -7738,67 +7737,67 @@ 'LexLeanPreservation.encOption.eq_2' does not depend on any axioms 'LexLeanPreservation.encPair.eq_1' does not depend on any axioms 'LexLeanPreservation.encUnit.eq_1' does not depend on any axioms -'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -- statement vocabulary @@ -7817,7 +7816,7 @@ def LexLeanPreservation.FunRel : LexLeanTarget.TargetSyntax.Program → Nat → List LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs → Prop := fun p f args o => ∃ fn, - LexLeanTarget.TargetSemantics.LexLeanRuntime.index p.functions f = some fn ∧ + LexLeanRuntime.index p.functions f = some fn ∧ ∃ env, LexLeanTarget.TargetSemantics.bindAll fn.parameters args [] = some env ∧ LexLeanPreservation.Conv p env fn.body o @@ -7868,7 +7867,7 @@ def LexLeanPreservation.Rust.FunSem : LexLeanTarget.TargetSyntax.Program → fun p c A n f => ∀ (fn : LexLeanTarget.TargetSyntax.Function) (args : List LexLeanTarget.TargetSyntax.Value) (env : List (Nat × LexLeanTarget.TargetSyntax.Value)) (F : Bool), - LexLeanTarget.TargetSemantics.LexLeanRuntime.index p.functions f = some fn → + LexLeanRuntime.index p.functions f = some fn → LexLeanPreservation.Rust.WTL p c A args fn.types → LexLeanTarget.TargetSemantics.bindAll fn.parameters args [] = some env → LexLeanPreservation.Rust.fnFallible c f = some F → diff --git a/examples/models/expected/verify/preserve/preservation.json b/examples/models/expected/verify/preserve/preservation.json index ae8ca0419..7fd9077c5 100644 --- a/examples/models/expected/verify/preserve/preservation.json +++ b/examples/models/expected/verify/preserve/preservation.json @@ -1 +1 @@ -{"library":{"axioms":["Classical.choice","Quot.sound","propext"],"registry_sha256":"9b759e47541781eb530e49000bac2c0f22fbcda44821350a66b1d27936daa54f"},"roots":[{"byte_length":208207,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0","program":{"byte_length":81179,"sha256":"19c6696a115eee2945d9bc249774c91c5aa79a832ce10f52e67adb1a18bad77a"},"renderings":[{"byte_length":201067,"composed":{"byte_length":3064,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.Compose.RustStd","sha256":"3298af0830d376b688d70b187a472e9c38a2251e68270bbbf2807a7c1e863976","theorem":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.Compose.RustStd.root"},"crate":{"byte_length":29901,"sha256":"52b8e3b70d563369f42dfff8d391090bce768b71ed790f646aa9760fb4ec6d6f"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.RustStd","sha256":"afebcf0ccf47eb0a459da6a546cde611e409750d396736627f1f02e6c1a221c7","target":"rust-std","theorem":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.RustStd.root"}],"root":"Models.Main.classify","sha256":"39f163323cb5ed530c70cc9b97df0277a07dd9ba384a6b577bb99913af987496","targets":["rust-std"],"theorem":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.root"},{"byte_length":218385,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1","program":{"byte_length":83992,"sha256":"dce1e094aa452ad9f91b8784cdd0b834f9d69ea208e937eea7aa7d24c0c2addb"},"renderings":[{"byte_length":208269,"composed":{"byte_length":3064,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.Compose.RustStd","sha256":"d3a1b439be1826b7b0faf46d526431505def0b3e60dd804ad7344098da4e3086","theorem":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.Compose.RustStd.root"},"crate":{"byte_length":30770,"sha256":"67121441756174b7f9423e6843041eea64787ce77aa9dcb6762bd775fd74881e"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.RustStd","sha256":"f853e24e3da9a738e0ebe9dedaae8383300eb1da75cf9ebc33baf96216206ccb","target":"rust-std","theorem":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.RustStd.root"}],"root":"Models.Main.classifyChecked","sha256":"487c1782e978ab0a3605ce1e5a1e104048a8d9b072c85e2ed8d855ff7b466a04","targets":["rust-std"],"theorem":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.root"},{"byte_length":87037,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2","program":{"byte_length":26060,"sha256":"09ddae4f092ac53b13ff3761c53a1371557124c89d6961d20261654bc4b1bdd9"},"renderings":[{"byte_length":84448,"composed":{"byte_length":3700,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.Compose.RustStd","sha256":"b0090efc769371d0019fd99f52e720e58fb6adeafa84d13e641611f568f19f7a","theorem":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.Compose.RustStd.root"},"crate":{"byte_length":21425,"sha256":"f576dc3bf699ab120bb97fe7962cea4bf4f465cea6730924fea750d36285f2c5"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.RustStd","sha256":"9b13048ac2c1f45577cb3615d7d7299da40535ac6cd8d8a4fa360b1f4ed930e5","target":"rust-std","theorem":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.RustStd.root"}],"root":"Models.Main.respond","sha256":"3b3284fa5c2d959b38a97a8b5e37410f643910f386be54155afdc61b4b97b9ef","targets":["rust-std"],"theorem":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.root"},{"byte_length":41456,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3","program":{"byte_length":11441,"sha256":"5eb0b277acebe2fd4e4accd84aada754039021640f20e31e8a810623b617a840"},"renderings":[{"byte_length":42275,"composed":{"byte_length":2318,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.Compose.RustStd","sha256":"ff1a3f9da82fc9310370bee5e88c640ddb00549ebae2cfa9e797b04258e07794","theorem":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.Compose.RustStd.root"},"crate":{"byte_length":17019,"sha256":"5f186f5373dce90862c9a810e08bd13a8abf477bd797f8d5ec8716e8d63f652b"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.RustStd","sha256":"d7aa2e04cbd09f62f1d6e305c8243d78b9b38ec1188a6c1347b1da64feb6c513","target":"rust-std","theorem":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.RustStd.root"}],"root":"Models.Main.admitCosts","sha256":"f7587654c04f21e68cc44e485afcb9a6f5a1346a33897edbd646ce809cae2e2f","targets":["rust-std"],"theorem":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.root"},{"byte_length":16496,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4","program":{"byte_length":4260,"sha256":"36d1687bd2f49a8a4e634440ac23148a5f94ed7d3c5ec222fe66c0615e9208af"},"renderings":[{"byte_length":16667,"composed":{"byte_length":2450,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.Compose.RustStd","sha256":"eaffcc0cc04e7d4afb84a892314725b255a0997e4a347ddfc0e1a02563575316","theorem":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.Compose.RustStd.root"},"crate":{"byte_length":14275,"sha256":"9580e86941cdeea970dc62f25bbf63090547dd2dc3618a0a303a687147a8f2e8"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.RustStd","sha256":"d38569568c1150f9dd4e2af271516b5fcaf5f25d8da65495f68da0bef669f4e2","target":"rust-std","theorem":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.RustStd.root"}],"root":"Models.Main.step","sha256":"672d14f5acfe083f63d3eb3ca91a9ca9fc07eb1761f924b41dea6d635e424b4f","targets":["rust-std"],"theorem":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.root"},{"byte_length":16539,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5","program":{"byte_length":3912,"sha256":"223f35bd805c466609ba87317bb05b5d4c84e8ddb34eda0a212e475fa06ed6d0"},"renderings":[{"byte_length":13176,"composed":{"byte_length":1679,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.Compose.RustStd","sha256":"ee58a84735e87765771142c1735bf702c28877c89d03fc17429723e4cf4e4f0c","theorem":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.Compose.RustStd.root"},"crate":{"byte_length":13783,"sha256":"e8382fdebcad23a5a1550fafd501fdb4e10d1fc1aefe4a8b2313567cf49a4f5c"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.RustStd","sha256":"cccb962143e5e57db430235f81d07aef3b7b06b0c5619d3ae2eb047a4b694a21","target":"rust-std","theorem":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.RustStd.root"}],"root":"Models.Main.ledgerPost","sha256":"aca5b5d30b9d6742f26371f80302d74914a5d4451752c447981f53244acd4cca","targets":["rust-std"],"theorem":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.root"},{"byte_length":22235,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6","program":{"byte_length":4889,"sha256":"503bc027d950639ac5de5927de7fa4a04fca266c6fd0df3660196e5e287d7ce5"},"renderings":[{"byte_length":18749,"composed":{"byte_length":1679,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.Compose.RustStd","sha256":"5eac2617460e21a6ab6cf1e57b915eda5d6a99230830281b2672a3069f502e21","theorem":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.Compose.RustStd.root"},"crate":{"byte_length":14211,"sha256":"898563f8bae88021f224534c1354540b6a565545d6c7c6e0b6cddfd30fe6a429"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.RustStd","sha256":"898ebf4aad14a875402e30111db2daa88d28941c2c277594f1cd713a81c95bb5","target":"rust-std","theorem":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.RustStd.root"}],"root":"Models.Main.ledgerFull","sha256":"4323b6d1a5e2428961e64b00bbcb99b6cf777df8707f764a7e9b40335359d361","targets":["rust-std"],"theorem":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.root"},{"byte_length":11285,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7","program":{"byte_length":2614,"sha256":"8f1d418b689da95074ce318bd41caf146e0fc0c6e303165f2b1ca0abd385459d"},"renderings":[{"byte_length":8772,"composed":{"byte_length":1482,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.Compose.RustStd","sha256":"1e8995ad984aa5402928f577b59b608cc08153edb83e4538d39a858648b760e4","theorem":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.Compose.RustStd.root"},"crate":{"byte_length":13420,"sha256":"0250a47719d614ca1aac8b544aa0168a202e61e5eb0011f6aaff82e3e73e59dd"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.RustStd","sha256":"c775e3adcb89ad8dd51cac17907e8dd9b6ba78082f2791753bdab3fd06e764f1","target":"rust-std","theorem":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.RustStd.root"}],"root":"Models.Main.guessChecked","sha256":"c05b03fab688130ba7918d6864b91256692300b169242b575313d48644165807","targets":["rust-std"],"theorem":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.root"},{"byte_length":28222,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8","program":{"byte_length":8003,"sha256":"61d87ac85673bcb778de069cf6923996eb9e821ad05d71bfde3d36dd1bb3d241"},"renderings":[{"byte_length":26659,"composed":{"byte_length":1679,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.Compose.RustStd","sha256":"4d3279bda50e50f5ddf9d419a17066cb79326b561114f21bb161b79d0ed49660","theorem":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.Compose.RustStd.root"},"crate":{"byte_length":14939,"sha256":"e4f361765740eab4808750f5d31762757ae333d2e23d94047ba8761aeb607264"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.RustStd","sha256":"a2585a915305ef5c41ab91ec89fdb862ae867add94f46f1114107ae04b2f43bc","target":"rust-std","theorem":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.RustStd.root"}],"root":"Models.Main.flowStep","sha256":"e703b82136f2f6c83c844175dc5827b5862073aee9e9b3953c68f75cb309cc06","targets":["rust-std"],"theorem":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.root"}],"spec":"lexlean/preservation/1"} +{"library":{"axioms":["Classical.choice","Quot.sound","propext"],"registry_sha256":"02de6e4be5a6ae43997bacd3713ea587693b8ac66da4aef567463a535a076ff3"},"roots":[{"byte_length":205391,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0","program":{"byte_length":81179,"sha256":"19c6696a115eee2945d9bc249774c91c5aa79a832ce10f52e67adb1a18bad77a"},"renderings":[{"byte_length":201067,"composed":{"byte_length":3064,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.Compose.RustStd","sha256":"77b8412cccb4c3455f9b8b2102c99adb52deab4e6651b71abe1b00ab57ee2779","theorem":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.Compose.RustStd.root"},"crate":{"byte_length":29901,"sha256":"52b8e3b70d563369f42dfff8d391090bce768b71ed790f646aa9760fb4ec6d6f"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.RustStd","sha256":"a5e386e29b187ab8511df8c198a7b5439a071c22dcb3094ec0263b40e103e797","target":"rust-std","theorem":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.RustStd.root"}],"root":"Models.Main.classify","sha256":"5684b5f6a8aa8806bfed40589570cbca7a696c72d469ef0e2565e6ab2df572c9","targets":["rust-std"],"theorem":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.root"},{"byte_length":215569,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1","program":{"byte_length":83992,"sha256":"dce1e094aa452ad9f91b8784cdd0b834f9d69ea208e937eea7aa7d24c0c2addb"},"renderings":[{"byte_length":208269,"composed":{"byte_length":3064,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.Compose.RustStd","sha256":"2e875c039b21bf4fd2b0ca1bb363f39981ff95de933eaca7cd2e6d47d98c776f","theorem":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.Compose.RustStd.root"},"crate":{"byte_length":30770,"sha256":"67121441756174b7f9423e6843041eea64787ce77aa9dcb6762bd775fd74881e"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.RustStd","sha256":"123f3f5c923b0e0fc3f13784a8ac2c9d30d04c8c5161b175ed51c3ab55c8e057","target":"rust-std","theorem":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.RustStd.root"}],"root":"Models.Main.classifyChecked","sha256":"6117130dc7000bcb5ac0e679ec9b4ed2051934d1367d96104e39cfc2301f3d53","targets":["rust-std"],"theorem":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.root"},{"byte_length":86246,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2","program":{"byte_length":26060,"sha256":"09ddae4f092ac53b13ff3761c53a1371557124c89d6961d20261654bc4b1bdd9"},"renderings":[{"byte_length":84448,"composed":{"byte_length":3700,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.Compose.RustStd","sha256":"042497f4eb681ea6975634547dd173043d876a680c7f56a4ec7fd885ce42ebff","theorem":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.Compose.RustStd.root"},"crate":{"byte_length":21425,"sha256":"f576dc3bf699ab120bb97fe7962cea4bf4f465cea6730924fea750d36285f2c5"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.RustStd","sha256":"80347d0a1f5aec25372903466bc287d126302a76db73df5cb7a30a456a3bd0ed","target":"rust-std","theorem":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.RustStd.root"}],"root":"Models.Main.respond","sha256":"ebe60db2b9ff95cf18bcf4e613a6bfe4e110632077bb3b746ba12b9296fdf091","targets":["rust-std"],"theorem":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.root"},{"byte_length":41340,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3","program":{"byte_length":11441,"sha256":"5eb0b277acebe2fd4e4accd84aada754039021640f20e31e8a810623b617a840"},"renderings":[{"byte_length":42275,"composed":{"byte_length":2318,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.Compose.RustStd","sha256":"3f22f5eb3b4e04c6cf7959c6c8de21408d21779f8a2d3557dc637637a8978d62","theorem":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.Compose.RustStd.root"},"crate":{"byte_length":17019,"sha256":"5f186f5373dce90862c9a810e08bd13a8abf477bd797f8d5ec8716e8d63f652b"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.RustStd","sha256":"d1d63861be6ea026f37ca8149dda900a5d6cacaa984615670d26058f16261725","target":"rust-std","theorem":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.RustStd.root"}],"root":"Models.Main.admitCosts","sha256":"c0790d61655f7be22807aff41de6fa7ee8131158b1f7afaa6de9da82b15e59a9","targets":["rust-std"],"theorem":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.root"},{"byte_length":16488,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4","program":{"byte_length":4260,"sha256":"36d1687bd2f49a8a4e634440ac23148a5f94ed7d3c5ec222fe66c0615e9208af"},"renderings":[{"byte_length":16667,"composed":{"byte_length":2450,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.Compose.RustStd","sha256":"111c85b3319495b02426efcec4ac2843c1133b6da7676f2acaa48883d5b6f275","theorem":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.Compose.RustStd.root"},"crate":{"byte_length":14275,"sha256":"9580e86941cdeea970dc62f25bbf63090547dd2dc3618a0a303a687147a8f2e8"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.RustStd","sha256":"6e08b38547d4f327c2dd98db59192b40f82f8c7cf96cc0ed3704471447cfb616","target":"rust-std","theorem":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.RustStd.root"}],"root":"Models.Main.step","sha256":"2578bb6052016c01ee631794413524888a6f00fe2aa4f2e4cea0aff8790bd84d","targets":["rust-std"],"theorem":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.root"},{"byte_length":16539,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5","program":{"byte_length":3912,"sha256":"223f35bd805c466609ba87317bb05b5d4c84e8ddb34eda0a212e475fa06ed6d0"},"renderings":[{"byte_length":13176,"composed":{"byte_length":1679,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.Compose.RustStd","sha256":"6acab4bd345305ef6f62ed13b3c9c1c6f0c7e7dd9a0f6c86fa9866e010343c32","theorem":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.Compose.RustStd.root"},"crate":{"byte_length":13783,"sha256":"e8382fdebcad23a5a1550fafd501fdb4e10d1fc1aefe4a8b2313567cf49a4f5c"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.RustStd","sha256":"f420c8e2f9f1807e6e27b6c4879d11b60211d15f6a5a8a60297c48be5d16c3f6","target":"rust-std","theorem":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.RustStd.root"}],"root":"Models.Main.ledgerPost","sha256":"ecceb0f6a2f4dbef573f9ad665f82edb8a56c576d6032e30bcb92e7585d128a2","targets":["rust-std"],"theorem":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.root"},{"byte_length":22235,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6","program":{"byte_length":4889,"sha256":"503bc027d950639ac5de5927de7fa4a04fca266c6fd0df3660196e5e287d7ce5"},"renderings":[{"byte_length":18749,"composed":{"byte_length":1679,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.Compose.RustStd","sha256":"ff0351fb1a3c4bf2753dc4def7d72354a3024564f1bd589758e03492785122d6","theorem":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.Compose.RustStd.root"},"crate":{"byte_length":14211,"sha256":"898563f8bae88021f224534c1354540b6a565545d6c7c6e0b6cddfd30fe6a429"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.RustStd","sha256":"a2a0814ac505f979ea2a5534941940c19c7aa2786cfb3a0cd4bfa977ef53178a","target":"rust-std","theorem":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.RustStd.root"}],"root":"Models.Main.ledgerFull","sha256":"deb73a61fcdf770089e615f20570a042e4605b843c4b9bed52903ff31f15b383","targets":["rust-std"],"theorem":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.root"},{"byte_length":11285,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7","program":{"byte_length":2614,"sha256":"8f1d418b689da95074ce318bd41caf146e0fc0c6e303165f2b1ca0abd385459d"},"renderings":[{"byte_length":8772,"composed":{"byte_length":1482,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.Compose.RustStd","sha256":"7b3198f3cee939ba76f529fd53b1845e5d0c1f7de66f626ef6a0820bfdd26337","theorem":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.Compose.RustStd.root"},"crate":{"byte_length":13420,"sha256":"0250a47719d614ca1aac8b544aa0168a202e61e5eb0011f6aaff82e3e73e59dd"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.RustStd","sha256":"8ca8b00489c069247d62ff6fae90c05e76dab71d8cfa0cb8d3892a7e2b52bb08","target":"rust-std","theorem":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.RustStd.root"}],"root":"Models.Main.guessChecked","sha256":"938621d47a02053e61a2e173fdbbf4520342a91a09e3e826d42c7d33f4a737c8","targets":["rust-std"],"theorem":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.root"},{"byte_length":28208,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8","program":{"byte_length":8003,"sha256":"61d87ac85673bcb778de069cf6923996eb9e821ad05d71bfde3d36dd1bb3d241"},"renderings":[{"byte_length":26659,"composed":{"byte_length":1679,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.Compose.RustStd","sha256":"0ec8bfe35d7be14294f5dc580430d8d6eb4cba879d4c8bb90096890c0f5ba07c","theorem":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.Compose.RustStd.root"},"crate":{"byte_length":14939,"sha256":"e4f361765740eab4808750f5d31762757ae333d2e23d94047ba8761aeb607264"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.RustStd","sha256":"feffa516b9d088a3befd3212cd1b5dd565207d1f03aa1a6fb223cd764e828812","target":"rust-std","theorem":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.RustStd.root"}],"root":"Models.Main.flowStep","sha256":"06cdbb6fda614f3f38408889bc970802261cef0f07caffbfda14a709379b8cf7","targets":["rust-std"],"theorem":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.root"}],"spec":"lexlean/preservation/1"} diff --git a/examples/models/expected/verify/probe/LexLeanProbe.Pcca462bfe8cabc3365338af96b591362.lean b/examples/models/expected/verify/probe/LexLeanProbe.P0f600e9a78a6f4d72a3e289fa7bc71d4.lean similarity index 100% rename from examples/models/expected/verify/probe/LexLeanProbe.Pcca462bfe8cabc3365338af96b591362.lean rename to examples/models/expected/verify/probe/LexLeanProbe.P0f600e9a78a6f4d72a3e289fa7bc71d4.lean diff --git a/examples/models/expected/verify/probe/process.json b/examples/models/expected/verify/probe/process.json index e207bcae1..054f90f60 100644 --- a/examples/models/expected/verify/probe/process.json +++ b/examples/models/expected/verify/probe/process.json @@ -1 +1 @@ -{"argv":["env","lean","$STAGING/probe/LexLeanProbe.Pcca462bfe8cabc3365338af96b591362.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.Pcca462bfe8cabc3365338af96b591362","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} +{"argv":["env","lean","$STAGING/probe/LexLeanProbe.P0f600e9a78a6f4d72a3e289fa7bc71d4.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.P0f600e9a78a6f4d72a3e289fa7bc71d4","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/lean/LexLeanRuntime.Collections.json b/examples/models/expected/verify/process/lean/LexLeanRuntime.Collections.json new file mode 100644 index 000000000..75248f178 --- /dev/null +++ b/examples/models/expected/verify/process/lean/LexLeanRuntime.Collections.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/lean-src","-o","$STAGING/oleans/LexLeanRuntime/Collections.olean","$STAGING/lean-src/LexLeanRuntime/Collections.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Collections","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/lean/LexLeanRuntime.Models.json b/examples/models/expected/verify/process/lean/LexLeanRuntime.Models.json new file mode 100644 index 000000000..9f0f24f8a --- /dev/null +++ b/examples/models/expected/verify/process/lean/LexLeanRuntime.Models.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/lean-src","-o","$STAGING/oleans/LexLeanRuntime/Models.olean","$STAGING/lean-src/LexLeanRuntime/Models.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Models","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/lean/LexLeanRuntime.Portable.json b/examples/models/expected/verify/process/lean/LexLeanRuntime.Portable.json new file mode 100644 index 000000000..1ce5b3a39 --- /dev/null +++ b/examples/models/expected/verify/process/lean/LexLeanRuntime.Portable.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/lean-src","-o","$STAGING/oleans/LexLeanRuntime/Portable.olean","$STAGING/lean-src/LexLeanRuntime/Portable.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Portable","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.Compose.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.Compose.RustStd.json new file mode 100644 index 000000000..a25f48265 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.RustStd.json new file mode 100644 index 000000000..9f75ac3c7 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.json new file mode 100644 index 000000000..849983eb7 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.Compose.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.Compose.RustStd.json new file mode 100644 index 000000000..9bd623f48 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.RustStd.json new file mode 100644 index 000000000..e89a0c927 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.json new file mode 100644 index 000000000..296723b85 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.Compose.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.Compose.RustStd.json new file mode 100644 index 000000000..c2f767e7a --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.RustStd.json new file mode 100644 index 000000000..1efc9c715 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.json new file mode 100644 index 000000000..f13e07ca2 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.Compose.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.Compose.RustStd.json new file mode 100644 index 000000000..c8838e345 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.RustStd.json new file mode 100644 index 000000000..6cb053432 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.json new file mode 100644 index 000000000..3f5514cae --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.Compose.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.Compose.RustStd.json new file mode 100644 index 000000000..785f7740c --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.RustStd.json new file mode 100644 index 000000000..0ab428ad2 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.json new file mode 100644 index 000000000..5fc5a5585 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.Compose.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.Compose.RustStd.json new file mode 100644 index 000000000..e6df2db67 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.RustStd.json new file mode 100644 index 000000000..c5b322658 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.json new file mode 100644 index 000000000..546430017 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.Compose.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.Compose.RustStd.json new file mode 100644 index 000000000..c9b0530c1 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.RustStd.json new file mode 100644 index 000000000..3d471e934 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.json new file mode 100644 index 000000000..38b6cccfe --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.Compose.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.Compose.RustStd.json new file mode 100644 index 000000000..98cd586e6 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.RustStd.json new file mode 100644 index 000000000..888e557f2 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.json new file mode 100644 index 000000000..105a26dad --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.Compose.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.Compose.RustStd.json new file mode 100644 index 000000000..95cd122c5 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.RustStd.json new file mode 100644 index 000000000..e9d435111 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.json new file mode 100644 index 000000000..a847ceb56 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.Compose.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.Compose.RustStd.json deleted file mode 100644 index 2d4a2c2fc..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.RustStd.json deleted file mode 100644 index 770142dcb..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.json deleted file mode 100644 index 92fe3c939..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.Compose.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.Compose.RustStd.json deleted file mode 100644 index 9dd651e20..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.RustStd.json deleted file mode 100644 index b7c367a1f..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.json deleted file mode 100644 index 2ddf8bbd5..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.Compose.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.Compose.RustStd.json deleted file mode 100644 index c576dc4af..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.RustStd.json deleted file mode 100644 index a49c3764b..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.json deleted file mode 100644 index 49f480024..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.Compose.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.Compose.RustStd.json deleted file mode 100644 index 7e103385f..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.RustStd.json deleted file mode 100644 index 7a0dfc0e1..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.json deleted file mode 100644 index d06c9ef79..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.Compose.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.Compose.RustStd.json deleted file mode 100644 index 2dac8de45..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.RustStd.json deleted file mode 100644 index 08d9c7daf..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.json deleted file mode 100644 index e8cc6cb55..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.Compose.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.Compose.RustStd.json deleted file mode 100644 index 953deee98..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.RustStd.json deleted file mode 100644 index 0298c3216..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.json deleted file mode 100644 index d4ce8770a..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.Compose.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.Compose.RustStd.json deleted file mode 100644 index 690ed065f..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.RustStd.json deleted file mode 100644 index c3108ed48..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.json deleted file mode 100644 index b7d0f99f1..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.Compose.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.Compose.RustStd.json deleted file mode 100644 index 2c1122eb9..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.RustStd.json deleted file mode 100644 index 849324713..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.json deleted file mode 100644 index ee1368862..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.Compose.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.Compose.RustStd.json deleted file mode 100644 index d570913b4..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.RustStd.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.RustStd.json deleted file mode 100644 index aa1854b28..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.json b/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.json deleted file mode 100644 index 8f9dec303..000000000 --- a/examples/models/expected/verify/process/leanchecker/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanRuntime.Collections.json b/examples/models/expected/verify/process/leanchecker/LexLeanRuntime.Collections.json new file mode 100644 index 000000000..52662ef9b --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanRuntime.Collections.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanRuntime.Collections"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Collections","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanRuntime.Models.json b/examples/models/expected/verify/process/leanchecker/LexLeanRuntime.Models.json new file mode 100644 index 000000000..2ead78937 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanRuntime.Models.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanRuntime.Models"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Models","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/leanchecker/LexLeanRuntime.Portable.json b/examples/models/expected/verify/process/leanchecker/LexLeanRuntime.Portable.json new file mode 100644 index 000000000..826a4b876 --- /dev/null +++ b/examples/models/expected/verify/process/leanchecker/LexLeanRuntime.Portable.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanRuntime.Portable"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Portable","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Audit.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.Audit.json index f7cf39510..43e6aedf9 100644 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Audit.json +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.Audit.json @@ -1 +1 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","$STAGING/preserve-src/LexLeanPreserve/Audit.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Audit","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanPreservation.Obs' does not depend on any axioms\n'LexLeanPreservation.obs.match_1' does not depend on any axioms\n'LexLeanPreservation.obs' does not depend on any axioms\n'LexLeanPreservation.Conv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ConvA' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ObsL' does not depend on any axioms\n'LexLeanPreservation.obsL.match_1' does not depend on any axioms\n'LexLeanPreservation.obsL' does not depend on any axioms\n'LexLeanPreservation.ConvL' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.FunRel' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Obs._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.Obs._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.Obs.casesOn' does not depend on any axioms\n'LexLeanPreservation.Obs.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.Obs.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Obs.ctorElim' does not depend on any axioms\n'LexLeanPreservation.Obs.overflow.elim' does not depend on any axioms\n'LexLeanPreservation.Obs.stuck.elim' does not depend on any axioms\n'LexLeanPreservation.Obs.value.elim' does not depend on any axioms\n'LexLeanPreservation.Obs.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.Obs.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Obs.overflow.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Obs.recOn' does not depend on any axioms\n'LexLeanPreservation.Obs.stuck.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Obs.value.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Obs.value.inj' does not depend on any axioms\n'LexLeanPreservation.Obs.value.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Obs.value.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ObsL._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.ObsL._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.ObsL.casesOn' does not depend on any axioms\n'LexLeanPreservation.ObsL.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.ObsL.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.ObsL.ctorElim' does not depend on any axioms\n'LexLeanPreservation.ObsL.overflow.elim' does not depend on any axioms\n'LexLeanPreservation.ObsL.stuck.elim' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.elim' does not depend on any axioms\n'LexLeanPreservation.ObsL.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.ObsL.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ObsL.overflow.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ObsL.recOn' does not depend on any axioms\n'LexLeanPreservation.ObsL.stuck.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.inj' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.injEq' depends on axioms: [propext]\n'LexLeanPreservation.ObsL.values.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rel' does not depend on any axioms\n'LexLeanPreservation.Rel.eq_1' does not depend on any axioms\n'LexLeanPreservation.RelL' does not depend on any axioms\n'LexLeanPreservation.RelL.eq_1' does not depend on any axioms\n'LexLeanPreservation.RunConv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.addSteps_ne' does not depend on any axioms\n'LexLeanPreservation.chargeResult_ne' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.stable.match_1_16' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_18' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_20' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_22' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_24' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_26' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.eval.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.stable' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.evalArms_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs_ne' does not depend on any axioms\n'LexLeanPreservation.convA_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.eval_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs_addSteps' does not depend on any axioms\n'LexLeanPreservation.convA_hit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.convA_miss' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.evalList_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obsL_ne' does not depend on any axioms\n'LexLeanPreservation.convL_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.convL_cons._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.convL_cons._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.convL_cons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.convL_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_apply._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_apply._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_apply._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_apply' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_build' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_call._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_call._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_call' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_closure' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_cond._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_cond._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_field' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_first' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_let._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_let._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_let' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_match._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_match._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_match' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_matchV' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs_chargeResult' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_prim' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_second' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_var' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.funRel_intro' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs.eq_1' does not depend on any axioms\n'LexLeanPreservation.obs.eq_2' does not depend on any axioms\n'LexLeanPreservation.obs.eq_3' does not depend on any axioms\n'LexLeanPreservation.obs.eq_4' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_1' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_2' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_3' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_4' does not depend on any axioms\n'LexLeanPreservation.run_of_funRel' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.run.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ListEnc' does not depend on any axioms\n'LexLeanPreservation.ListEnc._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.ListEnc._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.ListEnc.casesOn' does not depend on any axioms\n'LexLeanPreservation.ListEnc.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.ListEnc.elem' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items' does not depend on any axioms\n'LexLeanPreservation.ListEnc.enc' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_cons' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_eq.match_1_1' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_nil' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_eq._f' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_eq' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.ListEnc.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.ListEnc.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk.inj' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk.injEq' depends on axioms: [propext]\n'LexLeanPreservation.ListEnc.mk.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ListEnc.recOn' does not depend on any axioms\n'LexLeanPreservation.OptEnc' does not depend on any axioms\n'LexLeanPreservation.OptEnc._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.OptEnc._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.OptEnc.casesOn' does not depend on any axioms\n'LexLeanPreservation.OptEnc.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.OptEnc.elem' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc_none' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc_some' does not depend on any axioms\n'LexLeanPreservation.encOption.match_1' does not depend on any axioms\n'LexLeanPreservation.encOption' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc_map' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.OptEnc.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.OptEnc.noConfusion' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk.noConfusion' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk.inj' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk.injEq' depends on axioms: [propext]\n'LexLeanPreservation.OptEnc.mk.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.OptEnc.recOn' does not depend on any axioms\n'LexLeanPreservation.construct_adt' does not depend on any axioms\n'LexLeanPreservation.construct_cons' does not depend on any axioms\n'LexLeanPreservation.construct_error' does not depend on any axioms\n'LexLeanPreservation.construct_false' does not depend on any axioms\n'LexLeanPreservation.construct_nil' does not depend on any axioms\n'LexLeanPreservation.construct_none' does not depend on any axioms\n'LexLeanPreservation.construct_ok' does not depend on any axioms\n'LexLeanPreservation.construct_pair' does not depend on any axioms\n'LexLeanPreservation.construct_some' does not depend on any axioms\n'LexLeanPreservation.construct_succ' does not depend on any axioms\n'LexLeanPreservation.construct_true' does not depend on any axioms\n'LexLeanPreservation.construct_unit' does not depend on any axioms\n'LexLeanPreservation.construct_zero' does not depend on any axioms\n'LexLeanPreservation.encExcept.match_1' does not depend on any axioms\n'LexLeanPreservation.encExcept' does not depend on any axioms\n'LexLeanPreservation.encList' does not depend on any axioms\n'LexLeanPreservation.encOrdering.match_1' does not depend on any axioms\n'LexLeanPreservation.encOrdering' does not depend on any axioms\n'LexLeanPreservation.encPair' does not depend on any axioms\n'LexLeanPreservation.encUnit' does not depend on any axioms\n'LexLeanPreservation.listEnc._proof_1' does not depend on any axioms\n'LexLeanPreservation.listEnc._proof_2' does not depend on any axioms\n'LexLeanPreservation.listEnc' does not depend on any axioms\n'LexLeanPreservation.optEnc._proof_1' does not depend on any axioms\n'LexLeanPreservation.optEnc._proof_2' does not depend on any axioms\n'LexLeanPreservation.optEnc' does not depend on any axioms\n'LexLeanPreservation.bytes_empty' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.bytes_one' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.bytes_zero' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.encOrdering.eq_1' does not depend on any axioms\n'LexLeanPreservation.encOrdering.eq_2' does not depend on any axioms\n'LexLeanPreservation.encOrdering.eq_3' does not depend on any axioms\n'LexLeanPreservation.fromOrdering_encOrdering' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.fromStrings_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.fromStrings_map._f' does not depend on any axioms\n'LexLeanPreservation.fromStrings_map' does not depend on any axioms\n'LexLeanPreservation.intFits' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.listIndex_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.listIndex_map._f' does not depend on any axioms\n'LexLeanPreservation.listIndex_map' does not depend on any axioms\n'LexLeanPreservation.listIndex_unique.match_1_1' does not depend on any axioms\n'LexLeanPreservation.listIndex_unique._f' does not depend on any axioms\n'LexLeanPreservation.listIndex_unique' does not depend on any axioms\n'LexLeanPreservation.obs_intResult' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.obs_natResult' does not depend on any axioms\n'LexLeanPreservation.prim_append_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_append_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_boolNot' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_compareBytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_bool' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_nat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_ordering' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_string' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_index_bytes.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_index_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_index_list.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_index_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intMul' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intNeg' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intQuot' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intRem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intSub' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_join.match_1_1' does not depend on any axioms\n'LexLeanPreservation.toStrings_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.toStrings_map.match_1_3' does not depend on any axioms\n'LexLeanPreservation.toStrings_map._f' does not depend on any axioms\n'LexLeanPreservation.toStrings_map' does not depend on any axioms\n'LexLeanPreservation.prim_join' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_length_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_length_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_length_string' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natAdd' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natEq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natLe' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natLt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natMul' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natQuot' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natRem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natSub' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_slice_bytes.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_slice_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_slice_list.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_slice_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_splitExact.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_splitExact' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_utf8Decode.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_utf8Decode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_utf8Encode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.LexLeanRuntime.compareBytes.eq_1' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.LexLeanRuntime.equal.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.LexLeanRuntime.length.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.LexLeanRuntime.slice.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromOrdering.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.checkedMultiplyWith.match_1' does not depend on any axioms\n'LexLeanPreservation.checkedMultiplyWith' does not depend on any axioms\n'LexLeanPreservation.checkedQuotientWith' does not depend on any axioms\n'LexLeanPreservation.decimalFits.match_1' does not depend on any axioms\n'LexLeanPreservation.decimalFits' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.divideStep' does not depend on any axioms\n'LexLeanPreservation.divide_unique.match_1_1' does not depend on any axioms\n'LexLeanPreservation.divide_unique._f' does not depend on any axioms\n'LexLeanPreservation.divide_unique' does not depend on any axioms\n'LexLeanPreservation.multiplyStep' does not depend on any axioms\n'LexLeanPreservation.multiply_unique.match_1_1' does not depend on any axioms\n'LexLeanPreservation.multiply_unique._f' does not depend on any axioms\n'LexLeanPreservation.multiply_unique' does not depend on any axioms\n'LexLeanPreservation.prim_bitAnd_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i64.match_1_2' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_int' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_int.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_int' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ordOf.match_1' does not depend on any axioms\n'LexLeanPreservation.ordOf' does not depend on any axioms\n'LexLeanPreservation.KeySpec' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.mk._flat_ctor' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.recOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.spec' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.compareCodes_eq.match_1_1' does not depend on any axioms\n'LexLeanPreservation.compareCodes_eq._f' depends on axioms: [propext]\n'LexLeanPreservation.compareCodes_eq' depends on axioms: [propext]\n'LexLeanPreservation.compareCodes_swap.match_1_1' does not depend on any axioms\n'LexLeanPreservation.compareCodes_swap._f' depends on axioms: [propext]\n'LexLeanPreservation.compareCodes_swap' depends on axioms: [propext]\n'LexLeanPreservation.lessThanE' does not depend on any axioms\n'LexLeanPreservation.prim_compare_key.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_compare_key' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_lessThan' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.orderOf_insert' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderBool.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.keySpec_bool' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI16.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI32.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI64.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI8.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderInt.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_int' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderNat.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_nat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.keySpec_pair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderString.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.keySpec_string' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU16.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU32.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU64.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU8.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_1' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_2' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_3' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_4' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_def' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.compareValue.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_18' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_20' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_22' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_23' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_24' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_25' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_26' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_27' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_28' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_29' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_30' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_31' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_33' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_34' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_35' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_36' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_37' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_38' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_39' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_40' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_41' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_42' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_43' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_44' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_45' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_46' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_47' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_48' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_49' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_50' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_51' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_52' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_53' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_54' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_55' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_56' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_57' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_58' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_59' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_60' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_61' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_62' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_63' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_65' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_66' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_67' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_68' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_69' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_70' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_71' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_72' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_73' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_74' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_75' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_76' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_77' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_78' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_79' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_80' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_81' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_82' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_83' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_84' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_85' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_86' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_87' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_88' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_89' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_90' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_91' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_92' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_93' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_94' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_95' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_96' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_97' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_98' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_99' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Conv.bool_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Conv.fits_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.FunRel.fits_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ListEnc.enc.eq_1' does not depend on any axioms\n'LexLeanPreservation.ListEnc.enc_cons' does not depend on any axioms\n'LexLeanPreservation.ListEnc.enc_nil' does not depend on any axioms\n'LexLeanPreservation.LookOps' does not depend on any axioms\n'LexLeanPreservation.LookOps.casesOn' does not depend on any axioms\n'LexLeanPreservation.LookOps.l0' does not depend on any axioms\n'LexLeanPreservation.LookOps.leq' does not depend on any axioms\n'LexLeanPreservation.LookOps.lgt' does not depend on any axioms\n'LexLeanPreservation.LookOps.llt' does not depend on any axioms\n'LexLeanPreservation.LookOps.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.LookOps.recOn' does not depend on any axioms\n'LexLeanPreservation.SetOps' does not depend on any axioms\n'LexLeanPreservation.SetOps.c0' does not depend on any axioms\n'LexLeanPreservation.SetOps.casesOn' does not depend on any axioms\n'LexLeanPreservation.SetOps.ceq' does not depend on any axioms\n'LexLeanPreservation.SetOps.cgt' does not depend on any axioms\n'LexLeanPreservation.SetOps.clt' does not depend on any axioms\n'LexLeanPreservation.SetOps.i0' does not depend on any axioms\n'LexLeanPreservation.SetOps.ieq' does not depend on any axioms\n'LexLeanPreservation.SetOps.igt' does not depend on any axioms\n'LexLeanPreservation.SetOps.ilt' does not depend on any axioms\n'LexLeanPreservation.SetOps.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.SetOps.r0' does not depend on any axioms\n'LexLeanPreservation.SetOps.recOn' does not depend on any axioms\n'LexLeanPreservation.SetOps.req' does not depend on any axioms\n'LexLeanPreservation.SetOps.rgt' does not depend on any axioms\n'LexLeanPreservation.SetOps.rlt' does not depend on any axioms\n'LexLeanPreservation.TopoOps' does not depend on any axioms\n'LexLeanPreservation.TopoOps.casesOn' does not depend on any axioms\n'LexLeanPreservation.TopoOps.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.TopoOps.recOn' does not depend on any axioms\n'LexLeanPreservation.TopoOps.s_next' does not depend on any axioms\n'LexLeanPreservation.TopoOps.s_nil' does not depend on any axioms\n'LexLeanPreservation.TopoOps.s_stuck' does not depend on any axioms\n'LexLeanPreservation.TopoOps.z_cons' does not depend on any axioms\n'LexLeanPreservation.TopoOps.z_nil' does not depend on any axioms\n'LexLeanPreservation.Tpl.boolE' does not depend on any axioms\n'LexLeanPreservation.Tpl.byOrder' does not depend on any axioms\n'LexLeanPreservation.Tpl.cns' does not depend on any axioms\n'LexLeanPreservation.Tpl.fn' does not depend on any axioms\n'LexLeanPreservation.Tpl.lst' does not depend on any axioms\n'LexLeanPreservation.Tpl.v' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphInnerFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.pr' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphNodesFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.natOne' does not depend on any axioms\n'LexLeanPreservation.Tpl.nl' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphReachableFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphSuccessorsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphTopologicalFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.iterateFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.iterateUntilFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.listFoldFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapContainsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapFoldFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapInsertFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapLookupFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapProjectFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapRemoveFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reachFrontierFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reachIntoFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reachRoundsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reverseFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setContainsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setFilterFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setInsertFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setRemoveFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setUnionFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoFinished' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoReadyFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoRoundsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoUnreachedFn' does not depend on any axioms\n'LexLeanPreservation.blt_succ_fits._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.blt_succ_fits' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_cond_false' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_cond_true' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.enc_elem' does not depend on any axioms\n'LexLeanPreservation.enc_entry' does not depend on any axioms\n'LexLeanPreservation.foldFits.match_1' does not depend on any axioms\n'LexLeanPreservation.foldFits._f' does not depend on any axioms\n'LexLeanPreservation.foldFits' does not depend on any axioms\n'LexLeanPreservation.foldFits._sunfold' does not depend on any axioms\n'LexLeanPreservation.foldFits._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.foldFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.foldFits.eq_2' does not depend on any axioms\n'LexLeanPreservation.foldFits.eq_def' does not depend on any axioms\n'LexLeanPreservation.graphFits' does not depend on any axioms\n'LexLeanPreservation.graphFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.iterateFits.match_1' does not depend on any axioms\n'LexLeanPreservation.iterateFits._f' does not depend on any axioms\n'LexLeanPreservation.iterateFits' does not depend on any axioms\n'LexLeanPreservation.iterateFits._sunfold' does not depend on any axioms\n'LexLeanPreservation.iterateFits._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.iterateFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.iterateFits.eq_2' does not depend on any axioms\n'LexLeanPreservation.iterateFits.eq_def' does not depend on any axioms\n'LexLeanPreservation.length_eq' does not depend on any axioms\n'LexLeanPreservation.prim_compare_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.reachNext' does not depend on any axioms\n'LexLeanPreservation.tpl_graphInner.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setInsert.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setInsert._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setInsert' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphInner._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphInner' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphNodes.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_graphNodes._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphNodes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapLookup.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapLookup._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapLookup' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphSuccessors' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachFrontier.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_reachInto.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setContains.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setContains._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setContains' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachInto._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachInto' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachFrontier._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachFrontier' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachRounds.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setUnion.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setUnion._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setUnion' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachRounds._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachRounds' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphReachable' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reverse.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_reverse._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reverse' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setRemove.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setRemove._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setRemove' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoReady.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_topoUnreached.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_topoUnreached._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoUnreached' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoReady._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoReady' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoRounds.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_topoRounds._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoRounds' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphTopological' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterate.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_iterate._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterateUntil.match_1_1' does not depend on any axioms\n'LexLeanPreservation.untilFits.match_1' does not depend on any axioms\n'LexLeanPreservation.untilFits._f' does not depend on any axioms\n'LexLeanPreservation.untilFits' does not depend on any axioms\n'LexLeanPreservation.tpl_iterateUntil._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterateUntil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_listFold.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_listFold._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_listFold' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapContains' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapFold.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapFold._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapFold' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapInsert.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapInsert._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapInsert' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapKeys.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapKeys._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapKeys' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapRemove.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapRemove._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapRemove' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapValues.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapValues._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapValues' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setDifference.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setDifference._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setDifference' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setIntersection.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setIntersection._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setIntersection' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.untilFits._sunfold' does not depend on any axioms\n'LexLeanPreservation.untilFits._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.untilFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.untilFits.eq_2' does not depend on any axioms\n'LexLeanPreservation.untilFits.eq_def' does not depend on any axioms\n'LexLeanPreservation.validExcept.match_1' does not depend on any axioms\n'LexLeanPreservation.InvExcept' does not depend on any axioms\n'LexLeanPreservation.InvList' does not depend on any axioms\n'LexLeanPreservation.InvList.eq_1' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.match_1' does not depend on any axioms\n'LexLeanPreservation.StrictAsc._f' does not depend on any axioms\n'LexLeanPreservation.StrictAsc' does not depend on any axioms\n'LexLeanPreservation.InvMap' does not depend on any axioms\n'LexLeanPreservation.validOption.match_1' does not depend on any axioms\n'LexLeanPreservation.InvOption' does not depend on any axioms\n'LexLeanPreservation.InvOption.eq_1' does not depend on any axioms\n'LexLeanPreservation.InvOption.eq_2' does not depend on any axioms\n'LexLeanPreservation.InvPair' does not depend on any axioms\n'LexLeanPreservation.InvSet' does not depend on any axioms\n'LexLeanPreservation.StrictAsc._sunfold' does not depend on any axioms\n'LexLeanPreservation.StrictAsc._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_1' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_2' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_3' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_def' does not depend on any axioms\n'LexLeanPreservation.Tpl.validListFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validMapFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validOptionFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validPairFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validResultFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validSetFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validTrueFn' does not depend on any axioms\n'LexLeanPreservation.ascMap.match_1' does not depend on any axioms\n'LexLeanPreservation.lessB.match_1' does not depend on any axioms\n'LexLeanPreservation.lessB' does not depend on any axioms\n'LexLeanPreservation.ascMap._f' does not depend on any axioms\n'LexLeanPreservation.ascMap' does not depend on any axioms\n'LexLeanPreservation.ascMap._sunfold' does not depend on any axioms\n'LexLeanPreservation.ascMap._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_1' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_2' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_3' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_def' does not depend on any axioms\n'LexLeanPreservation.ascMap_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.lessB_iff' depends on axioms: [propext]\n'LexLeanPreservation.ascMap_iff._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.ascMap_iff' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.ascMap_inv' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.ascSet._f' does not depend on any axioms\n'LexLeanPreservation.ascSet' does not depend on any axioms\n'LexLeanPreservation.ascSet._sunfold' does not depend on any axioms\n'LexLeanPreservation.ascSet._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_1' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_2' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_3' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_def' does not depend on any axioms\n'LexLeanPreservation.ascSet_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.ascSet_iff._f' depends on axioms: [propext]\n'LexLeanPreservation.ascSet_iff' depends on axioms: [propext]\n'LexLeanPreservation.ascSet_inv' depends on axioms: [propext]\n'LexLeanPreservation.condAnd_iff' depends on axioms: [propext]\n'LexLeanPreservation.invList_eqs.match_1_1' does not depend on any axioms\n'LexLeanPreservation.invList_eqs._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.invList_eqs' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.lessB.eq_1' does not depend on any axioms\n'LexLeanPreservation.lessB_eq' depends on axioms: [propext]\n'LexLeanPreservation.lessB_gt' depends on axioms: [propext]\n'LexLeanPreservation.lessB_lt' depends on axioms: [propext]\n'LexLeanPreservation.someObs.match_1' does not depend on any axioms\n'LexLeanPreservation.someObs' does not depend on any axioms\n'LexLeanPreservation.tpl_validList.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validList.match_1' does not depend on any axioms\n'LexLeanPreservation.validList._f' does not depend on any axioms\n'LexLeanPreservation.validList' does not depend on any axioms\n'LexLeanPreservation.tpl_validList' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validMap.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_validMap._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validMap' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validOption.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validOption' does not depend on any axioms\n'LexLeanPreservation.tpl_validOption' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validPair.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validPair' does not depend on any axioms\n'LexLeanPreservation.tpl_validPair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validResult.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validExcept' does not depend on any axioms\n'LexLeanPreservation.tpl_validResult' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validSet.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_validSet._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validSet' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validTrue' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.trueIff' does not depend on any axioms\n'LexLeanPreservation.validExcept_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validExcept_inv' does not depend on any axioms\n'LexLeanPreservation.validList._sunfold' does not depend on any axioms\n'LexLeanPreservation.validList._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.validList.eq_1' does not depend on any axioms\n'LexLeanPreservation.validList.eq_2' does not depend on any axioms\n'LexLeanPreservation.validList.eq_def' does not depend on any axioms\n'LexLeanPreservation.validList_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validList_iff._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.validList_iff' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.validList_inv' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.validOption.eq_1' does not depend on any axioms\n'LexLeanPreservation.validOption.eq_2' does not depend on any axioms\n'LexLeanPreservation.validOption_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validOption_inv' depends on axioms: [propext]\n'LexLeanPreservation.validPair_inv' depends on axioms: [propext]\n'LexLeanPreservation.validTrue_inv' does not depend on any axioms\n'LexLeanPreservation.Rust.Ctx' does not depend on any axioms\n'LexLeanPreservation.Rust.Flags' does not depend on any axioms\n'LexLeanPreservation.Rust.RCrate' does not depend on any axioms\n'LexLeanPreservation.Rust.RIdent' does not depend on any axioms\n'LexLeanPreservation.Rust.WT._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.adtFields' depends on axioms: [propext]\n'LexLeanTarget.TargetSyntax.IntKind.ofNat' does not depend on any axioms\n'LexLeanTarget.TargetSyntax.IntKind.ofNat_ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Rust.instDecidableEqIntKind_lexLeanPreservation._proof_1' does not depend on any axioms\n'LexLeanPreservation.Rust.instDecidableEqIntKind_lexLeanPreservation._proof_2' does not depend on any axioms\n'LexLeanPreservation.Rust.instDecidableEqIntKind_lexLeanPreservation' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flagOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fnIdent' does not depend on any axioms\n'LexLeanPreservation.Rust.fnFallible' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.inert._f' does not depend on any axioms\n'LexLeanPreservation.Rust.inert' does not depend on any axioms\n'LexLeanPreservation.Rust.WT._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.WTAll._f' does not depend on any axioms\n'LexLeanPreservation.Rust.WTL.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctxLookup.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup._f' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup' does not depend on any axioms\n'LexLeanPreservation.Rust.local_' does not depend on any axioms\n'LexLeanPreservation.Rust.EnvRel' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ROut' does not depend on any axioms\n'LexLeanPreservation.Rust.Halt' does not depend on any axioms\n'LexLeanPreservation.Rust.REnv' does not depend on any axioms\n'LexLeanPreservation.Rust.RExpr' does not depend on any axioms\n'LexLeanPreservation.Rust.RC' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RLet' does not depend on any axioms\n'LexLeanPreservation.Rust.LetsOK' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.append' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.below' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.below.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.brecOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.recOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.append_left' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.append_right' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.below' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.below.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.brecOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.recOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RBlock' does not depend on any axioms\n'LexLeanPreservation.Rust.dispatched_ne' does not depend on any axioms\n'LexLeanPreservation.Rust.finished_ne' does not depend on any axioms\n'LexLeanPreservation.Rust.returned_ne' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_24' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_26' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_28' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_30' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_32' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_34' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_36' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.eval.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_22' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.invoke.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.stable' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.reval_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCB' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.block' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCA' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.revalBlock_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCB.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCI' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.invoke_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCI.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCL' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.revalList_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCL.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.WTAll' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.block_of_lets' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.block_of_raise' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.ctxLookup._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup_slot._simp_1_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotFree' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup_slot' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_cons_other' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sameIdent_self' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_cons_self' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sameIdent_local' depends on axioms: [propext]\n'LexLeanPreservation.Rust.envRel_bind' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.envRel_extra' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.envRel_ghost' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sameIdent_kind' depends on axioms: [propext]\n'LexLeanPreservation.Rust.envRel_temp' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.listIndex_eq.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.listIndex_eq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.listIndex_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.index_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.inert._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.inert._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_nil.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_raise_head.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcl_raise_head.match_1_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcl_raise_head' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_raise_tail' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.revalArms_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.slotFree.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sunfold' depends on axioms: [propext]\n'LexLeanTarget.RustSemantics.LexLeanRuntime.equal.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.eval.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_18' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_20' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.invoke.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.invoke.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.kindNumber.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.lookup.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.lookup.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.lookup.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.lookup.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.lookup.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.lookup.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd' does not depend on any axioms\n'LexLeanPreservation.Rust.isTemp._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isTemp.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isTemp' depends on axioms: [propext]\n'LexLeanPreservation.Rust.letsBind.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds._f' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds._f' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind._f' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind' does not depend on any axioms\n'LexLeanPreservation.Rust.tempFresh' does not depend on any axioms\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.foldN.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.flatB._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep.match_7' does not depend on any axioms\n'LexLeanPreservation.Rust.foldStep' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldB' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats._f' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats' does not depend on any axioms\n'LexLeanPreservation.Rust.okBlock' does not depend on any axioms\n'LexLeanPreservation.Rust.partRead._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Kind.casesOn' does not depend on any axioms\n'LexLeanPreservation.Rust.elseCtx.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.elseCtx' does not depend on any axioms\n'LexLeanPreservation.Rust.elseLets.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.elseLets' does not depend on any axioms\n'LexLeanPreservation.Rust.heldOK.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.heldOK' does not depend on any axioms\n'LexLeanPreservation.Rust.negateR._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.negateR._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.negateR.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.negateR' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_5' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_7' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_9' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identBoxed' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal' does not depend on any axioms\n'LexLeanPreservation.Rust.isWild._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.unboxOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotOK.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocal' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armShape.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.armShape' does not depend on any axioms\n'LexLeanPreservation.Rust.otherArms.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.otherArms' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.noClosure.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.noClosure._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh' depends on axioms: [propext]\n'LexLeanPreservation.Rust.covered' depends on axioms: [propext]\n'LexLeanPreservation.Rust.scrut' does not depend on any axioms\n'LexLeanPreservation.Rust.validU.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.validU' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotOK' does not depend on any axioms\n'LexLeanPreservation.Rust.ctorOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identsDistinct.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct._f' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct' does not depend on any axioms\n'LexLeanPreservation.Rust.litOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArg._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.match_6' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArg.match_8' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArg' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArgs._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildTail.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildsArm.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildsArm' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.itemOK.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemOK' does not depend on any axioms\n'LexLeanPreservation.Rust.itemTyped.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemTyped.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf' does not depend on any axioms\n'LexLeanPreservation.Rust.itemTyped' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_9' does not depend on any axioms\n'LexLeanPreservation.Rust.isFixed._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped' depends on axioms: [propext]\n'LexLeanPreservation.Rust.primTyped' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.litValues._f' does not depend on any axioms\n'LexLeanPreservation.Rust.litValue' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.typedLitAll._f' does not depend on any axioms\n'LexLeanPreservation.Rust.typedLits.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Corr' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.below' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.below.casesOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.brecOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.casesOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.recOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.FunOK' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.CrateOK' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Fresh' does not depend on any axioms\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn' depends on axioms: [propext]\n'LexLeanPreservation.Rust.FunSem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Kind._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.casesOn' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ctorElim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.b.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.e.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.k.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.l.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.m.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.ops.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.recOn' does not depend on any axioms\n'LexLeanPreservation.Rust.KPre.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.KPre' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Kind.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.ctorElim' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Kind.nat.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.plain.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.plain.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.recOn' does not depend on any axioms\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesM.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.RealizesM' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Sem.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.viewVal._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Sem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.foldN._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identsDistinct._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_10' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_11' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_12' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_13' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_14' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_6' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_7' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_8' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.litValues' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue._sunfold' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.litValue._unsafe_rec' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues._sunfold' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.paramCtx._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patsBinds' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.patLocals._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patsBinds._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArgs._sunfold' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs._unsafe_rec' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.typedLitAll' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.typedLits._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_of_inert.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_of_inert.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_of_inert._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_of_inert' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_of_inert._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_of_inert' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Halt.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.LetsRaise.halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.block_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.boxed' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesM.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesM.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_bytes_inv' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_list_inv' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_string_inv' depends on axioms: [propext]\n'LexLeanPreservation.Rust.takes_of_typed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.allWidth_of.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_eq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_eq._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.tysBeq_eq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq_eq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.wt_fixed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.allWidth_of._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.allWidth_of' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.width_of_typed.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.width_of_typed.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.width_of_typed.match_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.width_of_typed' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.accepts_of_typed' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_apply' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtl_append.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_append._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_append' depends on axioms: [propext]\n'LexLeanPreservation.Rust.apply_result' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.bindPattern_shape.match_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.bindPattern_shape._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.bindPatterns_shape._simp_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindPatterns_shape.match_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.bindPatterns_shape._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.bindPattern_shape' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.bindPatterns_shape' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms_spec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_4' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_6' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_7' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.boolArms_eval' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.boxWith.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_100' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_102' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_96' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_98' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_function' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.call_result' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.const_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.convert_args.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.convert_args' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_append_fresh' depends on axioms: [propext]\n'LexLeanPreservation.Rust.envRel_fresh' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_not._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_cond.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.itemResult.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.eval_match' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fixedTyped.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_18' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_19' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_20' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_21' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_22' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_23' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_24' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_25' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_26' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_27' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_28' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_29' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_30' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_31' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_32' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_33' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_34' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_35' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_36' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_37' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_38' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_39' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_40' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_41' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_42' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_43' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_44' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_45' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_46' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_47' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_48' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_49' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_50' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_51' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_52' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_53' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_54' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_55' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_56' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_57' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_58' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_59' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_60' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_61' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN_sound.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.split_last.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.split_last._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.split_last' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep_spec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcb_nil_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_nomatch.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcb_cons_nomatch' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_stop' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_prefix' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_flat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_read_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_cons_same' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcb_fold_last' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldStep_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldN_sound._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldN_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldB_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldN.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_append' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_bind._simp_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_bind' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotFree_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_weaken' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_elseCtx' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_temp._simp_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_temp' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fromStrings_wt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fromStrings_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fromStrings_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.hasWidth_i16' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_i32' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_i64' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_i8' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u16' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u32' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u64' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u8' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.heldOK.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.heldOK.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.isFixed._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.isSeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.isTemp._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.itemOK.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemOperands_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.itemResult' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.kpre_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_pred._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_pred.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_pred' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.kpre_else' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.kpre_then' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_of_lets' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_b_rcb' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.k_branch' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_cond_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_isZero_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_lit_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate_halt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_negate_halt.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_nonZero_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_23' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_25' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_27' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_29' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_31' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_33' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_35' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_37' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_39' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_41' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_43' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_45' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_47' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_49' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_51' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_not_inv.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_not_inv.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_not_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.k_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_read.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_read' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.kpre_held' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.letsBind.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.letsOK_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.letsOK_shape' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.litValue._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_4' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_def' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_5' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.eq_def' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.lit_branch' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.lookup_through._simp_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.lookup_through' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms_spec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms_eval' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.obsL_evalList_zero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.obs_eval_zero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.oneOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf_halt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.param_env.match_1_1' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.bindAll.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.param_env._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.param_env' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.patBinds.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_10' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_6' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_7' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_8' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.primTyped.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_apply_halt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_apply_halt.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_apply_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_call_halt.match_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_runtime' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_construct' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct_halt.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct_halt.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_isZero.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_isZero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_lit.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_lit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue._simp_10' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue._simp_9' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue.match_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_pair.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_pair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_litValues.match_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rcl_litValues._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_nonZero.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_nonZero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_pair_halt_left' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_pair_halt_right' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_widen.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_widen' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_widen_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_11' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_7' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_litValues' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_nil_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_single_halt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_single_halt.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_single_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_widen_one' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.readOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizesL_halt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizesL_haltL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizes_halt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizesM_overflow' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizes_oneOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.runItem_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.runItem_succ' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_applyGen.match_1_13' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen.match_1_15' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen.match_1_28' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_apply' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_applyF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_bOfE' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_build.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_build.match_1_99' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_build' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildConst' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildPair.match_1_101' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_97' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_99' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildSucc.match_1_129' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSucc.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSucc' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildSuccF.match_1_101' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSuccF.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSuccF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_callF.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callF.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_callOps.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callOps.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callOps' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_closure.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.wtl_length.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_length._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_length' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_closure' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_cond.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_cond.match_1_11' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_condId.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_condId' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_eOfB' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_eOfBFold' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_eOfBNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_fOfB' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_unit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_fUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kHeld' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kLit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kId' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kIf' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kNeg' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kSame' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_lCons.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons.match_1_17' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons.match_1_19' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_lNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_letBind.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letBind.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letBind' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_letWild.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letWild.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letWild' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBool._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchHolder.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchHolder.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchHolder' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBool' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBoolId._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBoolId.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchBoolId' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchNat._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchNat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchUnit._proof_1_386' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchUnit.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchUnit.match_1_387' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsCons._simp_1_13' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsCons.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons.match_1_14' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons.match_1_16' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsOfL' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_29' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_31' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_ops_box.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_ops_box.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_ops_box.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_ops_box' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_part._sparseCasesOn_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_part.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_part.match_1_14' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_part.match_1_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_part' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_part._sparseCasesOn_1_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_prim.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_prim.match_1_38' does not depend on any axioms\n'LexLeanPreservation.Rust.wtAll_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wtAll_iff._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.wtAll_iff' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_append' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_bitwise' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_checked' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_convert' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_decode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_encode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_fixedTyped.match_1_67' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_format' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_index' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_join' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_parse' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_shift' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.slice_eq' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_slice' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_split' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_unary' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtl_one.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_one' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_three.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_three' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_two.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_two' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_fixedTyped' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_prim' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_prim' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_primF.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF.match_1_7' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_primWiden.match_1_108' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_110' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_112' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_114' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_116' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.typedLitAll_wt.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit_wt.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits_wt.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_var' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_varUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_zero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.shapeOf.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_10' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_11' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_12' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_13' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_14' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_6' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_7' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_8' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.tempFresh.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_12.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_13.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_14.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.allWidth.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.allWidth.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.allWidth.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_100' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_101' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_102' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_103' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_104' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_105' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_106' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_107' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_108' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_109' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_110' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_111' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_112' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_113' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_114' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_115' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_116' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_117' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_118' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_119' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_120' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_121' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_122' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_123' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_124' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_125' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_126' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_127' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_128' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_129' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_130' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_131' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_132' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_133' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_134' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_135' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_136' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_137' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_138' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_139' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_140' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_141' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_142' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_143' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_144' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_145' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_146' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_147' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_148' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_149' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_150' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_151' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_152' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_153' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_154' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_155' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_156' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_157' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_158' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_159' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_160' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_161' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_162' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_163' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_164' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_165' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_166' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_167' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_168' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_169' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_170' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_171' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_172' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_173' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_174' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_175' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_176' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_177' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_178' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_179' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_180' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_181' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_182' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_183' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_184' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_185' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_186' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_51' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_52' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_53' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_54' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_55' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_56' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_57' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_58' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_59' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_60' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_61' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_62' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_63' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_64' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_65' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_66' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_67' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_68' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_69' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_70' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_71' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_72' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_73' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_74' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_75' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_76' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_77' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_78' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_79' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_80' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_81' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_82' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_83' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_84' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_85' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_86' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_87' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_88' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_89' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_90' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_91' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_92' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_93' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_94' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_95' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_96' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_97' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_98' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_99' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_100' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_101' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_102' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_103' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_104' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_105' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_106' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_107' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_108' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_109' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_110' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_111' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_112' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_113' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_114' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_115' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_116' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_117' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_118' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_119' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_120' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_121' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_122' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_123' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_124' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_125' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_126' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_127' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_128' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_129' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_130' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_131' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_132' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_133' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_134' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_135' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_136' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_137' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_138' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_139' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_140' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_141' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_142' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_143' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_144' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_145' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_146' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_147' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_148' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_149' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_150' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_151' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_152' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_153' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_154' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_155' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_156' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_157' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_158' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_159' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_160' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_161' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_162' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_163' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_164' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_165' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_166' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_167' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_168' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_169' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_170' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_171' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_172' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_173' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_174' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_175' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_176' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_177' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_178' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_179' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_180' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_181' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_182' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_183' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_184' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_51' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_52' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_53' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_54' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_55' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_56' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_57' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_58' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_59' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_60' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_61' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_62' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_63' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_64' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_65' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_66' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_67' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_68' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_69' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_70' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_71' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_72' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_73' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_74' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_75' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_76' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_77' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_78' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_79' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_80' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_81' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_82' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_83' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_84' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_85' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_86' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_87' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_88' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_89' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_90' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_91' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_92' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_93' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_94' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_95' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_96' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_97' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_98' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_99' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemAccepts.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemAccepts.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.literal.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_10' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_11' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_12' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_13' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_14' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_15' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_3' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_4' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_5' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_6' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_7' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_8' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_9' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.propagated.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.returned.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_10' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_11' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_12' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_13' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_14' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_15' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_16' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_17' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_18' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_19' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_20' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_21' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_22' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_23' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_24' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_25' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_26' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_27' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_28' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_29' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_30' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_31' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_32' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_33' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_34' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_35' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_36' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_37' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_38' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_39' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_40' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_41' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_42' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_43' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_44' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_45' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_46' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_47' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_48' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_49' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_5' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_50' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_51' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_52' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_53' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_54' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_55' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_56' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_57' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_58' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_59' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_6' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_60' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_61' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_62' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_63' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_64' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_65' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_66' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_67' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_68' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_69' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_7' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_70' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_71' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_72' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_73' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_74' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_75' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_76' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_77' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_78' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_79' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_8' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_80' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_81' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_82' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_83' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_9' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_10' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_100' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_101' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_102' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_103' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_104' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_105' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_106' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_107' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_108' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_109' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_11' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_110' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_111' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_112' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_113' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_114' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_115' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_116' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_117' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_118' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_119' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_12' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_120' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_121' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_122' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_123' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_124' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_125' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_126' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_127' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_128' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_129' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_13' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_130' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_131' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_132' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_133' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_134' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_135' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_136' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_137' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_138' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_139' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_14' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_140' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_141' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_142' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_143' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_144' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_145' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_146' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_147' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_148' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_149' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_15' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_150' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_151' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_152' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_153' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_154' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_155' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_156' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_157' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_158' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_159' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_16' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_160' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_161' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_162' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_163' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_164' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_165' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_166' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_167' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_168' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_169' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_17' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_170' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_171' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_172' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_173' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_174' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_175' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_176' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_177' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_178' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_179' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_18' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_180' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_181' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_182' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_183' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_184' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_185' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_186' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_187' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_188' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_189' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_19' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_190' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_191' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_192' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_193' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_194' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_195' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_196' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_197' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_198' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_199' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_20' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_200' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_201' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_202' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_203' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_204' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_205' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_206' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_207' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_208' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_209' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_21' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_210' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_211' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_212' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_213' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_214' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_215' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_216' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_217' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_218' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_219' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_22' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_220' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_221' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_222' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_223' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_224' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_225' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_226' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_227' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_228' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_229' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_23' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_230' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_231' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_232' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_233' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_234' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_235' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_236' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_237' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_238' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_239' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_24' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_240' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_241' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_242' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_243' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_244' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_245' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_246' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_247' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_248' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_249' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_25' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_250' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_251' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_252' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_253' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_254' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_255' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_256' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_257' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_258' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_259' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_26' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_260' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_261' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_262' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_263' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_264' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_265' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_266' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_267' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_268' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_269' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_27' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_270' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_271' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_272' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_273' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_274' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_275' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_276' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_277' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_278' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_279' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_28' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_280' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_281' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_282' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_283' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_284' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_285' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_286' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_287' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_288' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_289' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_29' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_290' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_291' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_292' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_293' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_294' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_295' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_296' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_297' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_298' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_299' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_30' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_300' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_301' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_302' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_303' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_304' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_305' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_306' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_307' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_308' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_309' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_31' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_310' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_311' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_312' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_313' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_314' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_315' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_316' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_317' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_318' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_319' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_32' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_320' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_321' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_322' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_323' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_324' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_325' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_326' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_327' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_328' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_329' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_33' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_330' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_331' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_332' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_333' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_334' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_335' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_336' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_337' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_338' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_339' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_34' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_340' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_341' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_342' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_343' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_344' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_345' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_346' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_347' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_348' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_349' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_35' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_350' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_351' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_352' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_353' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_354' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_355' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_356' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_357' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_358' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_359' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_36' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_360' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_361' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_362' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_363' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_364' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_365' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_366' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_367' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_368' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_369' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_37' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_370' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_38' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_39' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_40' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_41' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_42' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_43' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_44' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_45' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_46' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_47' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_48' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_49' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_5' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_50' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_51' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_52' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_53' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_54' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_55' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_56' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_57' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_58' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_59' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_6' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_60' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_61' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_62' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_63' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_64' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_65' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_66' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_67' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_68' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_69' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_7' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_70' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_71' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_72' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_73' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_74' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_75' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_76' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_77' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_78' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_79' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_8' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_80' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_81' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_82' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_83' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_84' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_85' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_86' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_87' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_88' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_89' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_9' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_90' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_91' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_92' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_93' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_94' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_95' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_96' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_97' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_98' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_99' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromStrings.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromStrings.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromStrings.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.primitive.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1000' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1001' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1002' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1003' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1004' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1005' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1006' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1007' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1008' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1009' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1010' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1011' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1012' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1013' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1014' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1015' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1016' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1017' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1018' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1019' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1020' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1021' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1022' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1023' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1024' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1025' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1026' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1027' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1028' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1029' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1030' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1031' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1032' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1033' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1034' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1035' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1036' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1037' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1038' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1039' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1040' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1041' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1042' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1043' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1044' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1045' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1046' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1047' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1048' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1049' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1050' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1051' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1052' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1053' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1054' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1055' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1056' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1057' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1058' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1059' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1060' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1061' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1062' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1063' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1064' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1065' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1066' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1067' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1068' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1069' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1070' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1071' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1072' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1073' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1074' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1075' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1076' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1077' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1078' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1079' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1080' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1081' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1082' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1083' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1084' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1085' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1086' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1087' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1088' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1089' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1090' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1091' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1092' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1093' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1094' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1095' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1096' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1097' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1098' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1099' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1426' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1427' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1428' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1429' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1430' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1431' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1432' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1433' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1434' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1435' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1436' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1437' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1438' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1439' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1440' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1441' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1442' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1443' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1444' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1445' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1446' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1447' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1448' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1449' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1450' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1451' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1452' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1453' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1454' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1455' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1456' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1457' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1458' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1459' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1460' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1461' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1462' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1463' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1464' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1465' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1466' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1467' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1468' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1469' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1470' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1471' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1472' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1473' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1474' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1475' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1476' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1477' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1478' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1479' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1480' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1481' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1482' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1483' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1484' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1485' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1486' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1487' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1488' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1489' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1490' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1491' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1492' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1493' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1494' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1495' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1496' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1497' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1498' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1499' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1500' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1501' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1502' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1503' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1504' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1505' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1506' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1507' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1508' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1509' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1510' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1511' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1512' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1513' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1514' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1515' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1516' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1517' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1518' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1519' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1520' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1521' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1522' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1523' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1524' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1525' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1526' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1527' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1528' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1529' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1530' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1531' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1532' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1533' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1534' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1535' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1536' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1537' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1538' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1539' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1540' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1541' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1542' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1543' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1544' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1545' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1546' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1547' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1548' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1549' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1550' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1551' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1552' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1553' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1554' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1555' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1556' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1557' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1558' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1559' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1560' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1561' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1562' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1563' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1564' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1565' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1566' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1567' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1568' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1569' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1570' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1571' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1572' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1573' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1574' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1575' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1576' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1577' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1578' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1579' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1580' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1581' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1582' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1583' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1584' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1585' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1586' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1587' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1588' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1589' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1590' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1591' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1592' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1593' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1594' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1595' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1596' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1597' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1598' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1599' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1600' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1601' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1602' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1603' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1604' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1605' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1606' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1607' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1608' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1609' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1610' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1611' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1612' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1613' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1614' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1615' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1616' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1617' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1618' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1619' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1620' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1621' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1622' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1623' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1624' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1625' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1626' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1627' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1628' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1629' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1630' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1631' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1632' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1633' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1634' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1635' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1636' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1637' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1638' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1639' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1640' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1641' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1642' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1643' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1644' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1645' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1646' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1647' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1648' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1649' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1650' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1651' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1652' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1653' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1654' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1655' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1656' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1657' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1658' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1659' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1660' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1661' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1662' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1663' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1664' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1665' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1666' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1667' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1668' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1669' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1670' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1671' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1672' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1673' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1674' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1675' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1676' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1677' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1678' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1679' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1680' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1681' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1682' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1683' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1684' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1685' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1686' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1687' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1688' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1689' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1690' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1691' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1692' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1693' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1694' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1695' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1696' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1697' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1698' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1699' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1700' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1701' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1702' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1703' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1704' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1705' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1706' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1707' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1708' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1709' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1710' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1711' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1712' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1713' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1714' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1715' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1716' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1717' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1718' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1719' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1720' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1721' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1722' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1723' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1724' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1725' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1726' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1727' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1728' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1729' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1730' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1731' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1732' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1733' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1734' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1735' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1736' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1737' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1738' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1739' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1740' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1741' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1742' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1743' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1744' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1745' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1746' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1747' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1748' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1749' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1750' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1751' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1752' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1753' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1754' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1755' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1756' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1757' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1758' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1759' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1760' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1761' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1762' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1763' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1764' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1765' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1766' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1767' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1768' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1769' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1770' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1771' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1772' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1773' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1774' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1775' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1776' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1777' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1778' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1779' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1780' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1781' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1782' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1783' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1784' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1785' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1786' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1787' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1788' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1789' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1790' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1791' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1792' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1793' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1794' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1795' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1796' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1797' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1798' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1799' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_18' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1800' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1801' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1802' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1803' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1804' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1805' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1806' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1807' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1808' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1809' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1810' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1811' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1812' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1813' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1814' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1815' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1816' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1817' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1818' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1819' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1820' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1821' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1822' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1823' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1824' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1825' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1826' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1827' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1828' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1829' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1830' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1831' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1832' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1833' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1834' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1835' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1836' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1837' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1838' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1839' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1840' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1841' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1842' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1843' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1844' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1845' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1846' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1847' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1848' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1849' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1850' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1851' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1852' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1853' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1854' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1855' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1856' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1857' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1858' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1859' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1860' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1861' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1862' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1863' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1864' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1865' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1866' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1867' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1868' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1869' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1870' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1871' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1872' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1873' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1874' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1875' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1876' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1877' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1878' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1879' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1880' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1881' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1882' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1883' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1884' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1885' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1886' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1887' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1888' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1889' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1890' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1891' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1892' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1893' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1894' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1895' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1896' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1897' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1898' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1899' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1900' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1901' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1902' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1903' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1904' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1905' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1906' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1907' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1908' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1909' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1910' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1911' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1912' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1913' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1914' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1915' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1916' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1917' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1918' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1919' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1920' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1921' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1922' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1923' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1924' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1925' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1926' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1927' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1928' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1929' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1930' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1931' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1932' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1933' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1934' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1935' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1936' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1937' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1938' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1939' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1940' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1941' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1942' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1943' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1944' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1945' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1946' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1947' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1948' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1949' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1950' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1951' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1952' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1953' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1954' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1955' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1956' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1957' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1958' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1959' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1960' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1961' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1962' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1963' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1964' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1965' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1966' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1967' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1968' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1969' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1970' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1971' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1972' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1973' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1974' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1975' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1976' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1977' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1978' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1979' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1980' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1981' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1982' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1983' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1984' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1985' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1986' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1987' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1988' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1989' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1990' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1991' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1992' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1993' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1994' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1995' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1996' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1997' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1998' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1999' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_20' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2000' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2001' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2002' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2003' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2004' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2005' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2006' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2007' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2008' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2009' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2010' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2011' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2012' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2013' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2014' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2015' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2016' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2017' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2018' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2019' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2020' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2021' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2022' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2023' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2024' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2025' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2026' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2027' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2028' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2029' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2030' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2031' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2032' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2033' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2034' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2035' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2036' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2037' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2038' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2039' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2040' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2041' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2042' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2043' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2044' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2045' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2046' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2047' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2048' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2049' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2050' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2051' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2052' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2053' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2054' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2055' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2056' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2057' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2058' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2059' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2060' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2061' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2062' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2063' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2064' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2065' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2066' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2067' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2068' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2069' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2070' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2071' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2072' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2073' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2074' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2075' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2076' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2077' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2078' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2079' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2080' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2081' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2082' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2083' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2084' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2085' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2086' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2087' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2088' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2089' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2090' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2091' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2092' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2093' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2094' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2095' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2096' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2097' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2098' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2099' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_22' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_23' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_24' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2426' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2427' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2428' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2429' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2430' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2431' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2432' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2433' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2434' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2435' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2436' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2437' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2438' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2439' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2440' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2441' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2442' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2443' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2444' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2445' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2446' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2447' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2448' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2449' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2450' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2451' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2452' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2453' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2454' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2455' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2456' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2457' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2458' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2459' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2460' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2461' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2462' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2463' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2464' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2465' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2466' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2467' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2468' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2469' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2470' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2471' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2472' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2473' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2474' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2475' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2476' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2477' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2478' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2479' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2480' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2481' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2482' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2483' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2484' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2485' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2486' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2487' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2488' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2489' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2490' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2491' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2492' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2493' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2494' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2495' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2496' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2497' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2498' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2499' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_25' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2500' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2501' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2502' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2503' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2504' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2505' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2506' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2507' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2508' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2509' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2510' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2511' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2512' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2513' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2514' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2515' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2516' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2517' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2518' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2519' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2520' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2521' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2522' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2523' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2524' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2525' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2526' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2527' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2528' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2529' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2530' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2531' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2532' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2533' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2534' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2535' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2536' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2537' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2538' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2539' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2540' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2541' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2542' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2543' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2544' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2545' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2546' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2547' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2548' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2549' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2550' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2551' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2552' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2553' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2554' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2555' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2556' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2557' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2558' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2559' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2560' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2561' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2562' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2563' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2564' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2565' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2566' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2567' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2568' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2569' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2570' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2571' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2572' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2573' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2574' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2575' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2576' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2577' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2578' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2579' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2580' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2581' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2582' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2583' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2584' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2585' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2586' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2587' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2588' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2589' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2590' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2591' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2592' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2593' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2594' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2595' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2596' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2597' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2598' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2599' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_26' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2600' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2601' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2602' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2603' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2604' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2605' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2606' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2607' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2608' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2609' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2610' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2611' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2612' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2613' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2614' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2615' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2616' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2617' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2618' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2619' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2620' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2621' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2622' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2623' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2624' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2625' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2626' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2627' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2628' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2629' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2630' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2631' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2632' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2633' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2634' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2635' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2636' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2637' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2638' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2639' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2640' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2641' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2642' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2643' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2644' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2645' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2646' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2647' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2648' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2649' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2650' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2651' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2652' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2653' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2654' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2655' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2656' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2657' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2658' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2659' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2660' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2661' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2662' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2663' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2664' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2665' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2666' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2667' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2668' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2669' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2670' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2671' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2672' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2673' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2674' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2675' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2676' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2677' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2678' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2679' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2680' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2681' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2682' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2683' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2684' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2685' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2686' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2687' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2688' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2689' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2690' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2691' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2692' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2693' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2694' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2695' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2696' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2697' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2698' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2699' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_27' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2700' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2701' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2702' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2703' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2704' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2705' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2706' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2707' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2708' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2709' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2710' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2711' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2712' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2713' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2714' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2715' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2716' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2717' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2718' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2719' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2720' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2721' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2722' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2723' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2724' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2725' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2726' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2727' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2728' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2729' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2730' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2731' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2732' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2733' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2734' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2735' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2736' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2737' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2738' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2739' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2740' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2741' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2742' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2743' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2744' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2745' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2746' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2747' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2748' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2749' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2750' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2751' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2752' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2753' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2754' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2755' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2756' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2757' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2758' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2759' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2760' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2761' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2762' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2763' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2764' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2765' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2766' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2767' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2768' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2769' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2770' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2771' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2772' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2773' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2774' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2775' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2776' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2777' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2778' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2779' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2780' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2781' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2782' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2783' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2784' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2785' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2786' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2787' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2788' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2789' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2790' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2791' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2792' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2793' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2794' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2795' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2796' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2797' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2798' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2799' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_28' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2800' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2801' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2802' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2803' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2804' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2805' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2806' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2807' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2808' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2809' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2810' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2811' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2812' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2813' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2814' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2815' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2816' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2817' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2818' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2819' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2820' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2821' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2822' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2823' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2824' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2825' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2826' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2827' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2828' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2829' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2830' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2831' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2832' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2833' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2834' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2835' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2836' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2837' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2838' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2839' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2840' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2841' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2842' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2843' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2844' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2845' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2846' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2847' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2848' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2849' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2850' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2851' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2852' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2853' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2854' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2855' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2856' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2857' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2858' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2859' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2860' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2861' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2862' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2863' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2864' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2865' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2866' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2867' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2868' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2869' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2870' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2871' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2872' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2873' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2874' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2875' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2876' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2877' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2878' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2879' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2880' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2881' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2882' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2883' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2884' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2885' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2886' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2887' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2888' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2889' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2890' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2891' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2892' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2893' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2894' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2895' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2896' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2897' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2898' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2899' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_29' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2900' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2901' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2902' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2903' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2904' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2905' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2906' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2907' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2908' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2909' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2910' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2911' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2912' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2913' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2914' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2915' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2916' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2917' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2918' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2919' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2920' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2921' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2922' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2923' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2924' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2925' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2926' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2927' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2928' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2929' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2930' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2931' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2932' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2933' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2934' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2935' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2936' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2937' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2938' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2939' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2940' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2941' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2942' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2943' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2944' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2945' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2946' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2947' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2948' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2949' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2950' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2951' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2952' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2953' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2954' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2955' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2956' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2957' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2958' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2959' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2960' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2961' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2962' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2963' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2964' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2965' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2966' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2967' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2968' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2969' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2970' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2971' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2972' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2973' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2974' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2975' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2976' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2977' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2978' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2979' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2980' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2981' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2982' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2983' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2984' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2985' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2986' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2987' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2988' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2989' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2990' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2991' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2992' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2993' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2994' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2995' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2996' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2997' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2998' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2999' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_30' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3000' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3001' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3002' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3003' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3004' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3005' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3006' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3007' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3008' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3009' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3010' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3011' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3012' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3013' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3014' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3015' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3016' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3017' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3018' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3019' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3020' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3021' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3022' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3023' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3024' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3025' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3026' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3027' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3028' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3029' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3030' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3031' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3032' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3033' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3034' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3035' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3036' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3037' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3038' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3039' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3040' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3041' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3042' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3043' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3044' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3045' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3046' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3047' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3048' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3049' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3050' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3051' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3052' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3053' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3054' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3055' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3056' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3057' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3058' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3059' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3060' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3061' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3062' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3063' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3064' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3065' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3066' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3067' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3068' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3069' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3070' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3071' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3072' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3073' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3074' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3075' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3076' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3077' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3078' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3079' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3080' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3081' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3082' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3083' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3084' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3085' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3086' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3087' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3088' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3089' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3090' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3091' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3092' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3093' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3094' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3095' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3096' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3097' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3098' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3099' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_31' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_33' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_34' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_35' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_36' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_37' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_38' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_39' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_40' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_41' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_42' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_426' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_427' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_428' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_429' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_43' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_430' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_431' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_432' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_433' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_434' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_435' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_436' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_437' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_438' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_439' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_44' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_440' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_441' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_442' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_443' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_444' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_445' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_446' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_447' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_448' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_449' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_45' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_450' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_451' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_452' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_453' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_454' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_455' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_456' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_457' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_458' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_459' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_46' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_460' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_461' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_462' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_463' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_464' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_465' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_466' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_467' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_468' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_469' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_47' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_470' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_471' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_472' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_473' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_474' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_475' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_476' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_477' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_478' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_479' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_48' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_480' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_481' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_482' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_483' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_484' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_485' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_486' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_487' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_488' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_489' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_49' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_490' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_491' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_492' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_493' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_494' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_495' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_496' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_497' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_498' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_499' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_50' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_500' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_501' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_502' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_503' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_504' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_505' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_506' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_507' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_508' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_509' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_51' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_510' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_511' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_512' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_513' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_514' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_515' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_516' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_517' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_518' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_519' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_52' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_520' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_521' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_522' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_523' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_524' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_525' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_526' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_527' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_528' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_529' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_53' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_530' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_531' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_532' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_533' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_534' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_535' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_536' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_537' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_538' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_539' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_54' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_540' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_541' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_542' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_543' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_544' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_545' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_546' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_547' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_548' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_549' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_55' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_550' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_551' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_552' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_553' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_554' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_555' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_556' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_557' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_558' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_559' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_56' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_560' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_561' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_562' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_563' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_564' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_565' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_566' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_567' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_568' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_569' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_57' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_570' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_571' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_572' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_573' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_574' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_575' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_576' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_577' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_578' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_579' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_58' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_580' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_581' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_582' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_583' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_584' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_585' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_586' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_587' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_588' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_589' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_59' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_590' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_591' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_592' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_593' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_594' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_595' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_596' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_597' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_598' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_599' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_60' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_600' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_601' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_602' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_603' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_604' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_605' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_606' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_607' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_608' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_609' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_61' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_610' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_611' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_612' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_613' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_614' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_615' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_616' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_617' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_618' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_619' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_62' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_620' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_621' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_622' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_623' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_624' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_625' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_626' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_627' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_628' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_629' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_63' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_630' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_631' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_632' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_633' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_634' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_635' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_636' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_637' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_638' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_639' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_640' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_641' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_642' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_643' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_644' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_645' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_646' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_647' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_648' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_649' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_65' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_650' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_651' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_652' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_653' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_654' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_655' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_656' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_657' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_658' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_659' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_66' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_660' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_661' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_662' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_663' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_664' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_665' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_666' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_667' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_668' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_669' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_67' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_670' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_671' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_672' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_673' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_674' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_675' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_676' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_677' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_678' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_679' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_68' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_680' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_681' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_682' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_683' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_684' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_685' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_686' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_687' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_688' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_689' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_69' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_690' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_691' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_692' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_693' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_694' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_695' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_696' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_697' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_698' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_699' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_70' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_700' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_701' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_702' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_703' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_704' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_705' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_706' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_707' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_708' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_709' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_71' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_710' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_711' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_712' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_713' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_714' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_715' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_716' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_717' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_718' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_719' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_72' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_720' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_721' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_722' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_723' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_724' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_725' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_726' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_727' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_728' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_729' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_73' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_730' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_731' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_732' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_733' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_734' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_735' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_736' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_737' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_738' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_739' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_74' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_740' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_741' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_742' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_743' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_744' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_745' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_746' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_747' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_748' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_749' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_75' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_750' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_751' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_752' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_753' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_754' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_755' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_756' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_757' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_758' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_759' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_76' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_760' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_761' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_762' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_763' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_764' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_765' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_766' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_767' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_768' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_769' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_77' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_770' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_771' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_772' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_773' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_774' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_775' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_776' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_777' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_778' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_779' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_78' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_780' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_781' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_782' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_783' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_784' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_785' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_786' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_787' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_788' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_789' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_79' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_790' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_791' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_792' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_793' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_794' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_795' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_796' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_797' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_798' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_799' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_80' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_800' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_801' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_802' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_803' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_804' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_805' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_806' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_807' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_808' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_809' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_81' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_810' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_811' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_812' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_813' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_814' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_815' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_816' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_817' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_818' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_819' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_82' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_820' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_821' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_822' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_823' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_824' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_825' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_826' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_827' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_828' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_829' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_83' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_830' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_831' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_832' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_833' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_834' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_835' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_836' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_837' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_838' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_839' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_84' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_840' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_841' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_842' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_843' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_844' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_845' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_846' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_847' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_848' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_849' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_85' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_850' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_851' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_852' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_853' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_854' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_855' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_856' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_857' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_858' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_859' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_86' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_860' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_861' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_862' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_863' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_864' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_865' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_866' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_867' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_868' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_869' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_87' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_870' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_871' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_872' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_873' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_874' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_875' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_876' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_877' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_878' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_879' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_88' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_880' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_881' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_882' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_883' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_884' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_885' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_886' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_887' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_888' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_889' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_89' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_890' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_891' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_892' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_893' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_894' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_895' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_896' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_897' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_898' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_899' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_90' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_900' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_901' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_902' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_903' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_904' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_905' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_906' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_907' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_908' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_909' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_91' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_910' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_911' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_912' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_913' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_914' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_915' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_916' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_917' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_918' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_919' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_92' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_920' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_921' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_922' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_923' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_924' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_925' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_926' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_927' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_928' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_929' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_93' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_930' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_931' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_932' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_933' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_934' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_935' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_936' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_937' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_938' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_939' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_94' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_940' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_941' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_942' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_943' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_944' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_945' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_946' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_947' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_948' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_949' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_95' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_950' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_951' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_952' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_953' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_954' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_955' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_956' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_957' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_958' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_959' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_96' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_960' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_961' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_962' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_963' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_964' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_965' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_966' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_967' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_968' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_969' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_97' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_970' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_971' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_972' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_973' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_974' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_975' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_976' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_977' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_978' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_979' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_98' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_980' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_981' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_982' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_983' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_984' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_985' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_986' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_987' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_988' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_989' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_99' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_990' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_991' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_992' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_993' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_994' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_995' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_996' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_997' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_998' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_999' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.adtFields.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_12.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_13.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_12.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat_outer' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.boxedOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.boxedOne.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.boxedOne' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bp_entries._simp_1_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.simplePat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bp_entries.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.entriesOf._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bp_entries._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.bp_entries' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.directPat_cons._simp_1_4' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.identBoxed_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identLocal_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf_spec' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_cons' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_len.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_len._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_len' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_loads._simp_1_27' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_loads._simp_1_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_loads.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none._simp_1_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none._simp_1_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rlookup_append' depends on axioms: [propext]\n'LexLeanPreservation.Rust.same_boxed_boxed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_boxed_none' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_local_none._simp_1_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_local_none._simp_1_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_local_none.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.same_local_local' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_local_none._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_local_none' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_boxed_local' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rlookup_local_boxed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rlookup_local_single' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_loads._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.directPat_loads' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_boxed_some._simp_1_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_some._simp_1_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_some.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_some._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.entries_boxed_some' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.envRel_locals' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fields_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindPatterns_single' depends on axioms: [propext]\n'LexLeanPreservation.Rust.outer_bind' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.paramCtx_length.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_length._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_length' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.bindOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOne.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.covered.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.covered_mem._simp_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.wt_uninh._simp_10' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.covered_mem' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.ctorOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.destruct_canon' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq_refl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.destruct_excl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.directPat.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_lookup.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_none_of._simp_1_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_none_of.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sameIdent_iff' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_none_of._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_none_of' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.identsDistinct.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.entries_lookup._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_lookup' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.eval_field.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.eval_field._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_field.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_field' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats_none._simp_1_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats_none.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats_none._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats_none' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats_some._simp_1_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats_some.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats_some._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats_some' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_partRead' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.tyBeq_unit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.field_out' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.findArm_some.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.findArm_some._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.findArm_some' depends on axioms: [propext]\n'LexLeanPreservation.Rust.findDispatch_some.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.findDispatch_some._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.findDispatch_some' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_ext' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identBoxed.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identBoxed.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.isWild._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.okBlock.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.otherArms.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.otherArms_mem._simp_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.otherArms_mem' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.outer_miss' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.outer_view' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_ext.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_ext._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_ext' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_fresh.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_fresh._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_fresh' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocal.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_matchOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_matchOn_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_uncons.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_uncons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_scrut' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rca_hit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rca_miss' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_det' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_rebuild.match_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_eq_of_same' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg_rc' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_rebuild._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_rebuild' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.readOf_rc' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.realizesM_value' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArg_simple' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_def' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs_simple.match_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs_simple._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs_simple' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_14.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuild_rca._simp_1_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuild_rca.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_value._simp_1_21' depends on axioms: [propext]\n'LexLeanPreservation.Rust.single_rebuild' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_rca._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_rca' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuildsArm.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_nil' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_fieldGen._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_fieldGen.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_fieldGen.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.wtl_get.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_get._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_get' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_fieldGen' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_fieldHeld' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_fieldRead' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_mCons._simp_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_mCons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_mNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchArms._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.tyBeq_refl.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq_refl._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.tysBeq_refl.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tysBeq_refl._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_refl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.tysBeq_refl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.uninh_of_inert.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.uninh_of_inert._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh_of_inert' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_uninh.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_uninh._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtl_uninh.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_uninh._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_uninh' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.taken_arm' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchArms' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchPair._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchPair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchRebuilt._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchRebuilt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchRebuilt.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchRebuilt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.simplePat.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.validU.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_uninh' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.findArm.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findArm.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findArm.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_5' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_6' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_7' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_8' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.fl_of' does not depend on any axioms\n'LexLeanPreservation.Rust.fnFallible.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of._simp_1_14' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.funSem_of.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_12' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.isTemp.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isTemp.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.item_ne' depends on axioms: [propext]\n'LexLeanPreservation.Rust.kind_ne' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sound._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sound._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.simulate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Representable._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Representable.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Representable._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.RepresentableL._f' does not depend on any axioms\n'LexLeanPreservation.Rust.Representable' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Representable._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.Representable._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.compose' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rel_ne_stuck' depends on axioms: [propext]\n'LexLeanPreservation.Rust.repL_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.repL_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.runItem_abort_infallible' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtAll_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wtAll_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_map._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_map' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_adt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_bool' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_bytes' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encExcept.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_encExcept' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_list' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encList' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encOption.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_encOption' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encOrdering' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encPair' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encUnit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_errorV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i32' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i64' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_int' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_listEnc' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_nat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_noneV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_okV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_optEnc.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_someV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_optEnc' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_ordering' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_pairV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_string' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u32' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u64' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_unitValue' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_nil' depends on axioms: [propext]\n'LexLeanPreservation.encExcept.eq_1' does not depend on any axioms\n'LexLeanPreservation.encExcept.eq_2' does not depend on any axioms\n'LexLeanPreservation.encOption.eq_1' does not depend on any axioms\n'LexLeanPreservation.encOption.eq_2' does not depend on any axioms\n'LexLeanPreservation.encPair.eq_1' does not depend on any axioms\n'LexLeanPreservation.encUnit.eq_1' does not depend on any axioms\n'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n-- statement vocabulary\ninductive LexLeanPreservation.Obs : Type\nnumber of parameters: 0\nconstructors:\nLexLeanPreservation.Obs.value : LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs\nLexLeanPreservation.Obs.overflow : LexLeanPreservation.Obs\nLexLeanPreservation.Obs.stuck : LexLeanPreservation.Obs\ndef LexLeanPreservation.Rel : Bool → LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs :=\nfun fits v => bif fits then LexLeanPreservation.Obs.value v else LexLeanPreservation.Obs.overflow\ndef LexLeanPreservation.Conv : LexLeanTarget.TargetSyntax.Program →\n List (Nat × LexLeanTarget.TargetSyntax.Value) → LexLeanTarget.TargetSyntax.Expr → LexLeanPreservation.Obs → Prop :=\nfun p env e o => ∃ n, LexLeanPreservation.obs (LexLeanTarget.TargetSemantics.eval n p env e) = some o\ndef LexLeanPreservation.FunRel : LexLeanTarget.TargetSyntax.Program →\n Nat → List LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs → Prop :=\nfun p f args o =>\n ∃ fn,\n LexLeanTarget.TargetSemantics.LexLeanRuntime.index p.functions f = some fn ∧\n ∃ env,\n LexLeanTarget.TargetSemantics.bindAll fn.parameters args [] = some env ∧\n LexLeanPreservation.Conv p env fn.body o\ndef LexLeanPreservation.RunConv : LexLeanTarget.TargetSyntax.Program →\n Nat → List LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs → Prop :=\nfun p entry args o => ∃ n, LexLeanPreservation.obs (LexLeanTarget.TargetSemantics.run n p entry args) = some o\ndef LexLeanPreservation.Rust.WT : LexLeanTarget.TargetSyntax.Program →\n LexLeanPreservation.Rust.RCrate →\n LexLeanPreservation.Rust.Flags → LexLeanTarget.TargetSyntax.Value → LexLeanTarget.TargetSyntax.Ty → Prop :=\nfun p c A x x_1 =>\n x.brecOn (LexLeanPreservation.Rust.WT._f p c A)\n (fun t f => ⟨LexLeanPreservation.Rust.WTL._f p c A t f, LexLeanPreservation.Rust.WTAll._f p c A t f⟩) x_1\ndef LexLeanPreservation.Rust.WTL : LexLeanTarget.TargetSyntax.Program →\n LexLeanPreservation.Rust.RCrate →\n LexLeanPreservation.Rust.Flags →\n List LexLeanTarget.TargetSyntax.Value → List LexLeanTarget.TargetSyntax.Ty → Prop :=\nfun p c A x x_1 =>\n (LexLeanTarget.TargetSyntax.Value.brecOn_1 x (LexLeanPreservation.Rust.WT._f p c A) fun t f =>\n ⟨LexLeanPreservation.Rust.WTL._f p c A t f, LexLeanPreservation.Rust.WTAll._f p c A t f⟩).1\n x_1\ndef LexLeanPreservation.Rust.fnIdent : Nat → LexLeanPreservation.Rust.RIdent :=\nfun f => LexLeanTarget.RustSyntax.Ident.generated LexLeanTarget.RustSyntax.IdentKind.function f\ndef LexLeanPreservation.Rust.fnFallible : LexLeanPreservation.Rust.RCrate → Nat → Option Bool :=\nfun c f =>\n Option.map (fun fn => LexLeanTarget.RustSemantics.fallibleType fn.snd.fst)\n (LexLeanTarget.RustSemantics.findFunction c.items (LexLeanPreservation.Rust.fnIdent f))\ndef LexLeanPreservation.Rust.RCI : LexLeanPreservation.Rust.RCrate →\n LexLeanPreservation.Rust.RIdent → List LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Rust.ROut → Prop :=\nfun c f args o =>\n o ≠ LexLeanTarget.RustSemantics.ROutcome.exhausted ∧ ∃ n, LexLeanTarget.RustSemantics.invoke n c f args = o\ndef LexLeanPreservation.Rust.Realizes : Bool → LexLeanPreservation.Obs → LexLeanPreservation.Rust.ROut → Prop :=\nfun fl x x_1 =>\n match x, x_1 with\n | LexLeanPreservation.Obs.value v, LexLeanTarget.RustSemantics.ROutcome.value w => w = v\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.raise => fl = true\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.abort => True\n | x, x_2 => False\ndef LexLeanPreservation.Rust.RealizesFn : Bool → LexLeanPreservation.Obs → LexLeanPreservation.Rust.ROut → Prop :=\nfun fallible x x_1 =>\n match x, x_1 with\n | LexLeanPreservation.Obs.value v, LexLeanTarget.RustSemantics.ROutcome.value w => w = bif fallible then v.ok else v\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.value w =>\n fallible = true ∧ w = LexLeanTarget.TargetSyntax.Value.unit.error\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.abort => True\n | x, x_2 => False\ndef LexLeanPreservation.Rust.FunSem : LexLeanTarget.TargetSyntax.Program →\n LexLeanPreservation.Rust.RCrate → LexLeanPreservation.Rust.Flags → Nat → Nat → Prop :=\nfun p c A n f =>\n ∀ (fn : LexLeanTarget.TargetSyntax.Function) (args : List LexLeanTarget.TargetSyntax.Value)\n (env : List (Nat × LexLeanTarget.TargetSyntax.Value)) (F : Bool),\n LexLeanTarget.TargetSemantics.LexLeanRuntime.index p.functions f = some fn →\n LexLeanPreservation.Rust.WTL p c A args fn.types →\n LexLeanTarget.TargetSemantics.bindAll fn.parameters args [] = some env →\n LexLeanPreservation.Rust.fnFallible c f = some F →\n ∀ (o : LexLeanPreservation.Obs),\n LexLeanPreservation.obs (LexLeanTarget.TargetSemantics.eval n p env fn.body) = some o →\n o ≠ LexLeanPreservation.Obs.stuck →\n (∀ (v : LexLeanTarget.TargetSyntax.Value),\n o = LexLeanPreservation.Obs.value v → LexLeanPreservation.Rust.WT p c A v fn.result) ∧\n ∃ ro,\n LexLeanPreservation.Rust.RealizesFn F o ro ∧\n LexLeanPreservation.Rust.RCI c (LexLeanPreservation.Rust.fnIdent f) args ro\ndef LexLeanPreservation.someObs : LexLeanPreservation.Obs → LexLeanPreservation.Obs :=\nfun x =>\n match x with\n | LexLeanPreservation.Obs.value v => LexLeanPreservation.Obs.value v.some\n | LexLeanPreservation.Obs.overflow => LexLeanPreservation.Obs.overflow\n | LexLeanPreservation.Obs.stuck => LexLeanPreservation.Obs.stuck\ndef LexLeanPreservation.Rust.Representable : LexLeanTarget.TargetSyntax.Value → Prop :=\nfun x => x.brecOn LexLeanPreservation.Rust.Representable._f LexLeanPreservation.Rust.RepresentableL._f\ndef LexLeanPreservation.Rust.RepresentableL : List LexLeanTarget.TargetSyntax.Value → Prop :=\nfun x =>\n LexLeanTarget.TargetSyntax.Value.brecOn_1 x LexLeanPreservation.Rust.Representable._f\n LexLeanPreservation.Rust.RepresentableL._f\nLexLeanPreservation.Rust.runItem_abort_infallible : ∀ (profile : LexLeanTarget.RustSyntax.Profile)\n (item : LexLeanTarget.RustSyntax.Item) (values : List LexLeanTarget.TargetSyntax.Value),\n LexLeanTarget.RustSemantics.runItem profile item values = LexLeanTarget.RustSemantics.ROutcome.abort →\n LexLeanTarget.RustSemantics.itemFallible item = false\n","stdout_sha256":"fa6b5de1a3733bcf9e758da1801431847ef957b1b7722bc750bb2abc404fef16","tool":"lean"} +{"argv":["env","lean","-R","$STAGING/preserve-src","$STAGING/preserve-src/LexLeanPreserve/Audit.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Audit","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanPreservation.Obs' does not depend on any axioms\n'LexLeanPreservation.obs.match_1' does not depend on any axioms\n'LexLeanPreservation.obs' does not depend on any axioms\n'LexLeanPreservation.Conv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ConvA' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ObsL' does not depend on any axioms\n'LexLeanPreservation.obsL.match_1' does not depend on any axioms\n'LexLeanPreservation.obsL' does not depend on any axioms\n'LexLeanPreservation.ConvL' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.FunRel' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Obs._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.Obs._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.Obs.casesOn' does not depend on any axioms\n'LexLeanPreservation.Obs.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.Obs.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Obs.ctorElim' does not depend on any axioms\n'LexLeanPreservation.Obs.overflow.elim' does not depend on any axioms\n'LexLeanPreservation.Obs.stuck.elim' does not depend on any axioms\n'LexLeanPreservation.Obs.value.elim' does not depend on any axioms\n'LexLeanPreservation.Obs.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.Obs.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Obs.overflow.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Obs.recOn' does not depend on any axioms\n'LexLeanPreservation.Obs.stuck.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Obs.value.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Obs.value.inj' does not depend on any axioms\n'LexLeanPreservation.Obs.value.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Obs.value.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ObsL._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.ObsL._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.ObsL.casesOn' does not depend on any axioms\n'LexLeanPreservation.ObsL.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.ObsL.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.ObsL.ctorElim' does not depend on any axioms\n'LexLeanPreservation.ObsL.overflow.elim' does not depend on any axioms\n'LexLeanPreservation.ObsL.stuck.elim' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.elim' does not depend on any axioms\n'LexLeanPreservation.ObsL.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.ObsL.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ObsL.overflow.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ObsL.recOn' does not depend on any axioms\n'LexLeanPreservation.ObsL.stuck.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.inj' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.injEq' depends on axioms: [propext]\n'LexLeanPreservation.ObsL.values.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rel' does not depend on any axioms\n'LexLeanPreservation.Rel.eq_1' does not depend on any axioms\n'LexLeanPreservation.RelL' does not depend on any axioms\n'LexLeanPreservation.RelL.eq_1' does not depend on any axioms\n'LexLeanPreservation.RunConv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.addSteps_ne' does not depend on any axioms\n'LexLeanPreservation.chargeResult_ne' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.stable.match_1_16' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_18' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_20' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_22' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_24' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_26' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.eval.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.stable' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.evalArms_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs_ne' does not depend on any axioms\n'LexLeanPreservation.convA_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.eval_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs_addSteps' does not depend on any axioms\n'LexLeanPreservation.convA_hit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.convA_miss' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.evalList_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obsL_ne' does not depend on any axioms\n'LexLeanPreservation.convL_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.convL_cons._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.convL_cons._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.convL_cons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.convL_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_apply._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_apply._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_apply._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_apply' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_build' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_call._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_call._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_call' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_closure' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_cond._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_cond._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_field' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_first' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_let._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_let._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_let' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_match._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_match._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_match' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_matchV' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs_chargeResult' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_prim' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_second' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_var' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.funRel_intro' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs.eq_1' does not depend on any axioms\n'LexLeanPreservation.obs.eq_2' does not depend on any axioms\n'LexLeanPreservation.obs.eq_3' does not depend on any axioms\n'LexLeanPreservation.obs.eq_4' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_1' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_2' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_3' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_4' does not depend on any axioms\n'LexLeanPreservation.run_of_funRel' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.run.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ListEnc' does not depend on any axioms\n'LexLeanPreservation.ListEnc._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.ListEnc._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.ListEnc.casesOn' does not depend on any axioms\n'LexLeanPreservation.ListEnc.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.ListEnc.elem' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items' does not depend on any axioms\n'LexLeanPreservation.ListEnc.enc' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_cons' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_eq.match_1_1' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_nil' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_eq._f' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_eq' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.ListEnc.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.ListEnc.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk.inj' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk.injEq' depends on axioms: [propext]\n'LexLeanPreservation.ListEnc.mk.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ListEnc.recOn' does not depend on any axioms\n'LexLeanPreservation.OptEnc' does not depend on any axioms\n'LexLeanPreservation.OptEnc._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.OptEnc._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.OptEnc.casesOn' does not depend on any axioms\n'LexLeanPreservation.OptEnc.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.OptEnc.elem' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc_none' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc_some' does not depend on any axioms\n'LexLeanPreservation.encOption.match_1' does not depend on any axioms\n'LexLeanPreservation.encOption' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc_map' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.OptEnc.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.OptEnc.noConfusion' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk.noConfusion' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk.inj' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk.injEq' depends on axioms: [propext]\n'LexLeanPreservation.OptEnc.mk.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.OptEnc.recOn' does not depend on any axioms\n'LexLeanPreservation.construct_adt' does not depend on any axioms\n'LexLeanPreservation.construct_cons' does not depend on any axioms\n'LexLeanPreservation.construct_error' does not depend on any axioms\n'LexLeanPreservation.construct_false' does not depend on any axioms\n'LexLeanPreservation.construct_nil' does not depend on any axioms\n'LexLeanPreservation.construct_none' does not depend on any axioms\n'LexLeanPreservation.construct_ok' does not depend on any axioms\n'LexLeanPreservation.construct_pair' does not depend on any axioms\n'LexLeanPreservation.construct_some' does not depend on any axioms\n'LexLeanPreservation.construct_succ' does not depend on any axioms\n'LexLeanPreservation.construct_true' does not depend on any axioms\n'LexLeanPreservation.construct_unit' does not depend on any axioms\n'LexLeanPreservation.construct_zero' does not depend on any axioms\n'LexLeanPreservation.encExcept.match_1' does not depend on any axioms\n'LexLeanPreservation.encExcept' does not depend on any axioms\n'LexLeanPreservation.encList' does not depend on any axioms\n'LexLeanPreservation.encOrdering.match_1' does not depend on any axioms\n'LexLeanPreservation.encOrdering' does not depend on any axioms\n'LexLeanPreservation.encPair' does not depend on any axioms\n'LexLeanPreservation.encUnit' does not depend on any axioms\n'LexLeanPreservation.listEnc._proof_1' does not depend on any axioms\n'LexLeanPreservation.listEnc._proof_2' does not depend on any axioms\n'LexLeanPreservation.listEnc' does not depend on any axioms\n'LexLeanPreservation.optEnc._proof_1' does not depend on any axioms\n'LexLeanPreservation.optEnc._proof_2' does not depend on any axioms\n'LexLeanPreservation.optEnc' does not depend on any axioms\n'LexLeanPreservation.bytes_empty' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.bytes_one' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.bytes_zero' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.encOrdering.eq_1' does not depend on any axioms\n'LexLeanPreservation.encOrdering.eq_2' does not depend on any axioms\n'LexLeanPreservation.encOrdering.eq_3' does not depend on any axioms\n'LexLeanPreservation.fromOrdering_encOrdering' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.fromStrings_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.fromStrings_map._f' does not depend on any axioms\n'LexLeanPreservation.fromStrings_map' does not depend on any axioms\n'LexLeanPreservation.intFits' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.listIndex_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.listIndex_map._f' does not depend on any axioms\n'LexLeanPreservation.listIndex_map' does not depend on any axioms\n'LexLeanPreservation.listIndex_unique.match_1_1' does not depend on any axioms\n'LexLeanPreservation.listIndex_unique._f' does not depend on any axioms\n'LexLeanPreservation.listIndex_unique' does not depend on any axioms\n'LexLeanPreservation.obs_intResult' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.obs_natResult' does not depend on any axioms\n'LexLeanPreservation.prim_append_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_append_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_boolNot' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_compareBytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_bool' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_nat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_ordering' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_string' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_index_bytes.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_index_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_index_list.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_index_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intMul' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intNeg' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intQuot' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intRem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intSub' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_join.match_1_1' does not depend on any axioms\n'LexLeanPreservation.toStrings_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.toStrings_map.match_1_3' does not depend on any axioms\n'LexLeanPreservation.toStrings_map._f' does not depend on any axioms\n'LexLeanPreservation.toStrings_map' does not depend on any axioms\n'LexLeanPreservation.prim_join' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_length_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_length_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_length_string' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natAdd' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natEq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natLe' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natLt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natMul' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natQuot' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natRem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natSub' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_slice_bytes.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_slice_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_slice_list.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_slice_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_splitExact.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_splitExact' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_utf8Decode.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_utf8Decode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_utf8Encode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.compareBytes.eq_1' depends on axioms: [propext]\n'LexLeanRuntime.equal.eq_1' does not depend on any axioms\n'LexLeanRuntime.length.eq_1' does not depend on any axioms\n'LexLeanRuntime.slice.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromOrdering.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.checkedMultiplyWith.match_1' does not depend on any axioms\n'LexLeanPreservation.checkedMultiplyWith' does not depend on any axioms\n'LexLeanPreservation.checkedQuotientWith' does not depend on any axioms\n'LexLeanPreservation.decimalFits.match_1' does not depend on any axioms\n'LexLeanPreservation.decimalFits' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.divideStep' does not depend on any axioms\n'LexLeanPreservation.divide_unique.match_1_1' does not depend on any axioms\n'LexLeanPreservation.divide_unique._f' does not depend on any axioms\n'LexLeanPreservation.divide_unique' does not depend on any axioms\n'LexLeanPreservation.multiplyStep' does not depend on any axioms\n'LexLeanPreservation.multiply_unique.match_1_1' does not depend on any axioms\n'LexLeanPreservation.multiply_unique._f' does not depend on any axioms\n'LexLeanPreservation.multiply_unique' does not depend on any axioms\n'LexLeanPreservation.prim_bitAnd_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i64.match_1_2' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_int' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_int.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_int' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ordOf.match_1' does not depend on any axioms\n'LexLeanPreservation.ordOf' does not depend on any axioms\n'LexLeanPreservation.KeySpec' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.mk._flat_ctor' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.recOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.spec' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.compareCodes_eq.match_1_1' does not depend on any axioms\n'LexLeanPreservation.compareCodes_eq._f' depends on axioms: [propext]\n'LexLeanPreservation.compareCodes_eq' depends on axioms: [propext]\n'LexLeanPreservation.compareCodes_swap.match_1_1' does not depend on any axioms\n'LexLeanPreservation.compareCodes_swap._f' depends on axioms: [propext]\n'LexLeanPreservation.compareCodes_swap' depends on axioms: [propext]\n'LexLeanPreservation.lessThanE' does not depend on any axioms\n'LexLeanPreservation.prim_compare_key.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_compare_key' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_lessThan' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.orderOf_insert' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderBool.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.keySpec_bool' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI16.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI32.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI64.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI8.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderInt.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_int' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderNat.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_nat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.keySpec_pair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderString.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.keySpec_string' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU16.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU32.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU64.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU8.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanCollections.compareCodes._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.eq_1' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.eq_2' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.eq_3' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.eq_4' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.eq_def' depends on axioms: [propext]\n'LexLeanCollections.insertEntry.eq_1' does not depend on any axioms\n'LexLeanCollections.insertEntry.eq_2' does not depend on any axioms\n'LexLeanCollections.insertEntry.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.compareValue.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_18' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_20' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_22' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_23' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_24' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_25' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_26' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_27' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_28' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_29' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_30' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_31' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_33' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_34' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_35' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_36' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_37' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_38' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_39' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_40' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_41' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_42' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_43' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_44' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_45' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_46' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_47' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_48' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_49' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_50' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_51' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_52' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_53' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_54' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_55' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_56' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_57' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_58' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_59' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_60' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_61' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_62' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_63' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_65' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_66' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_67' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_68' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_69' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_70' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_71' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_72' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_73' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_74' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_75' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_76' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_77' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_78' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_79' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_80' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_81' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_82' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_83' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_84' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_85' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_86' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_87' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_88' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_89' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_90' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_91' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_92' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_93' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_94' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_95' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_96' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_97' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_98' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_99' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Conv.bool_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Conv.fits_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.FunRel.fits_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ListEnc.enc.eq_1' does not depend on any axioms\n'LexLeanPreservation.ListEnc.enc_cons' does not depend on any axioms\n'LexLeanPreservation.ListEnc.enc_nil' does not depend on any axioms\n'LexLeanPreservation.LookOps' does not depend on any axioms\n'LexLeanPreservation.LookOps.casesOn' does not depend on any axioms\n'LexLeanPreservation.LookOps.l0' does not depend on any axioms\n'LexLeanPreservation.LookOps.leq' does not depend on any axioms\n'LexLeanPreservation.LookOps.lgt' does not depend on any axioms\n'LexLeanPreservation.LookOps.llt' does not depend on any axioms\n'LexLeanPreservation.LookOps.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.LookOps.recOn' does not depend on any axioms\n'LexLeanPreservation.SetOps' does not depend on any axioms\n'LexLeanPreservation.SetOps.c0' does not depend on any axioms\n'LexLeanPreservation.SetOps.casesOn' does not depend on any axioms\n'LexLeanPreservation.SetOps.ceq' does not depend on any axioms\n'LexLeanPreservation.SetOps.cgt' does not depend on any axioms\n'LexLeanPreservation.SetOps.clt' does not depend on any axioms\n'LexLeanPreservation.SetOps.i0' does not depend on any axioms\n'LexLeanPreservation.SetOps.ieq' does not depend on any axioms\n'LexLeanPreservation.SetOps.igt' does not depend on any axioms\n'LexLeanPreservation.SetOps.ilt' does not depend on any axioms\n'LexLeanPreservation.SetOps.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.SetOps.r0' does not depend on any axioms\n'LexLeanPreservation.SetOps.recOn' does not depend on any axioms\n'LexLeanPreservation.SetOps.req' does not depend on any axioms\n'LexLeanPreservation.SetOps.rgt' does not depend on any axioms\n'LexLeanPreservation.SetOps.rlt' does not depend on any axioms\n'LexLeanPreservation.TopoOps' does not depend on any axioms\n'LexLeanPreservation.TopoOps.casesOn' does not depend on any axioms\n'LexLeanPreservation.TopoOps.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.TopoOps.recOn' does not depend on any axioms\n'LexLeanPreservation.TopoOps.s_next' does not depend on any axioms\n'LexLeanPreservation.TopoOps.s_nil' does not depend on any axioms\n'LexLeanPreservation.TopoOps.s_stuck' does not depend on any axioms\n'LexLeanPreservation.TopoOps.z_cons' does not depend on any axioms\n'LexLeanPreservation.TopoOps.z_nil' does not depend on any axioms\n'LexLeanPreservation.Tpl.boolE' does not depend on any axioms\n'LexLeanPreservation.Tpl.byOrder' does not depend on any axioms\n'LexLeanPreservation.Tpl.cns' does not depend on any axioms\n'LexLeanPreservation.Tpl.fn' does not depend on any axioms\n'LexLeanPreservation.Tpl.lst' does not depend on any axioms\n'LexLeanPreservation.Tpl.v' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphInnerFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.pr' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphNodesFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.natOne' does not depend on any axioms\n'LexLeanPreservation.Tpl.nl' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphReachableFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphSuccessorsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphTopologicalFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.iterateFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.iterateUntilFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.listFoldFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapContainsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapFoldFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapInsertFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapLookupFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapProjectFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapRemoveFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reachFrontierFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reachIntoFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reachRoundsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reverseFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setContainsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setFilterFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setInsertFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setRemoveFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setUnionFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoFinished' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoReadyFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoRoundsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoUnreachedFn' does not depend on any axioms\n'LexLeanPreservation.blt_succ_fits._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.blt_succ_fits' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_cond_false' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_cond_true' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.enc_elem' does not depend on any axioms\n'LexLeanPreservation.enc_entry' does not depend on any axioms\n'LexLeanPreservation.foldFits.match_1' does not depend on any axioms\n'LexLeanPreservation.foldFits._f' does not depend on any axioms\n'LexLeanPreservation.foldFits' does not depend on any axioms\n'LexLeanPreservation.foldFits._sunfold' does not depend on any axioms\n'LexLeanPreservation.foldFits._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.foldFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.foldFits.eq_2' does not depend on any axioms\n'LexLeanPreservation.foldFits.eq_def' does not depend on any axioms\n'LexLeanPreservation.graphFits' does not depend on any axioms\n'LexLeanPreservation.graphFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.iterateFits.match_1' does not depend on any axioms\n'LexLeanPreservation.iterateFits._f' does not depend on any axioms\n'LexLeanPreservation.iterateFits' does not depend on any axioms\n'LexLeanPreservation.iterateFits._sunfold' does not depend on any axioms\n'LexLeanPreservation.iterateFits._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.iterateFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.iterateFits.eq_2' does not depend on any axioms\n'LexLeanPreservation.iterateFits.eq_def' does not depend on any axioms\n'LexLeanPreservation.length_eq' does not depend on any axioms\n'LexLeanPreservation.prim_compare_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.reachNext' does not depend on any axioms\n'LexLeanPreservation.tpl_graphInner.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setInsert.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setInsert._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setInsert' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphInner._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphInner' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphNodes.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_graphNodes._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphNodes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapLookup.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapLookup._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapLookup' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphSuccessors' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachFrontier.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_reachInto.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setContains.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setContains._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setContains' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachInto._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachInto' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachFrontier._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachFrontier' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachRounds.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setUnion.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setUnion._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setUnion' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachRounds._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachRounds' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphReachable' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reverse.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_reverse._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reverse' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setRemove.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setRemove._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setRemove' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoReady.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_topoUnreached.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_topoUnreached._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoUnreached' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoReady._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoReady' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoRounds.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_topoRounds._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoRounds' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphTopological' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterate.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_iterate._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterateUntil.match_1_1' does not depend on any axioms\n'LexLeanPreservation.untilFits.match_1' does not depend on any axioms\n'LexLeanPreservation.untilFits._f' does not depend on any axioms\n'LexLeanPreservation.untilFits' does not depend on any axioms\n'LexLeanPreservation.tpl_iterateUntil._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterateUntil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_listFold.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_listFold._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_listFold' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapContains' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapFold.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapFold._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapFold' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapInsert.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapInsert._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapInsert' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapKeys.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapKeys._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapKeys' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapRemove.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapRemove._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapRemove' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapValues.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapValues._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapValues' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setDifference.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setDifference._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setDifference' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setIntersection.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setIntersection._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setIntersection' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.untilFits._sunfold' does not depend on any axioms\n'LexLeanPreservation.untilFits._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.untilFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.untilFits.eq_2' does not depend on any axioms\n'LexLeanPreservation.untilFits.eq_def' does not depend on any axioms\n'LexLeanPreservation.validExcept.match_1' does not depend on any axioms\n'LexLeanPreservation.InvExcept' does not depend on any axioms\n'LexLeanPreservation.InvList' does not depend on any axioms\n'LexLeanPreservation.InvList.eq_1' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.match_1' does not depend on any axioms\n'LexLeanPreservation.StrictAsc._f' does not depend on any axioms\n'LexLeanPreservation.StrictAsc' does not depend on any axioms\n'LexLeanPreservation.InvMap' does not depend on any axioms\n'LexLeanPreservation.validOption.match_1' does not depend on any axioms\n'LexLeanPreservation.InvOption' does not depend on any axioms\n'LexLeanPreservation.InvOption.eq_1' does not depend on any axioms\n'LexLeanPreservation.InvOption.eq_2' does not depend on any axioms\n'LexLeanPreservation.InvPair' does not depend on any axioms\n'LexLeanPreservation.InvSet' does not depend on any axioms\n'LexLeanPreservation.StrictAsc._sunfold' does not depend on any axioms\n'LexLeanPreservation.StrictAsc._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_1' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_2' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_3' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_def' does not depend on any axioms\n'LexLeanPreservation.Tpl.validListFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validMapFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validOptionFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validPairFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validResultFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validSetFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validTrueFn' does not depend on any axioms\n'LexLeanPreservation.ascMap.match_1' does not depend on any axioms\n'LexLeanPreservation.lessB.match_1' does not depend on any axioms\n'LexLeanPreservation.lessB' does not depend on any axioms\n'LexLeanPreservation.ascMap._f' does not depend on any axioms\n'LexLeanPreservation.ascMap' does not depend on any axioms\n'LexLeanPreservation.ascMap._sunfold' does not depend on any axioms\n'LexLeanPreservation.ascMap._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_1' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_2' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_3' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_def' does not depend on any axioms\n'LexLeanPreservation.ascMap_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.lessB_iff' depends on axioms: [propext]\n'LexLeanPreservation.ascMap_iff._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.ascMap_iff' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.ascMap_inv' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.ascSet._f' does not depend on any axioms\n'LexLeanPreservation.ascSet' does not depend on any axioms\n'LexLeanPreservation.ascSet._sunfold' does not depend on any axioms\n'LexLeanPreservation.ascSet._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_1' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_2' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_3' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_def' does not depend on any axioms\n'LexLeanPreservation.ascSet_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.ascSet_iff._f' depends on axioms: [propext]\n'LexLeanPreservation.ascSet_iff' depends on axioms: [propext]\n'LexLeanPreservation.ascSet_inv' depends on axioms: [propext]\n'LexLeanPreservation.condAnd_iff' depends on axioms: [propext]\n'LexLeanPreservation.invList_eqs.match_1_1' does not depend on any axioms\n'LexLeanPreservation.invList_eqs._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.invList_eqs' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.lessB.eq_1' does not depend on any axioms\n'LexLeanPreservation.lessB_eq' depends on axioms: [propext]\n'LexLeanPreservation.lessB_gt' depends on axioms: [propext]\n'LexLeanPreservation.lessB_lt' depends on axioms: [propext]\n'LexLeanPreservation.someObs.match_1' does not depend on any axioms\n'LexLeanPreservation.someObs' does not depend on any axioms\n'LexLeanPreservation.tpl_validList.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validList.match_1' does not depend on any axioms\n'LexLeanPreservation.validList._f' does not depend on any axioms\n'LexLeanPreservation.validList' does not depend on any axioms\n'LexLeanPreservation.tpl_validList' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validMap.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_validMap._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validMap' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validOption.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validOption' does not depend on any axioms\n'LexLeanPreservation.tpl_validOption' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validPair.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validPair' does not depend on any axioms\n'LexLeanPreservation.tpl_validPair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validResult.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validExcept' does not depend on any axioms\n'LexLeanPreservation.tpl_validResult' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validSet.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_validSet._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validSet' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validTrue' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.trueIff' does not depend on any axioms\n'LexLeanPreservation.validExcept_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validExcept_inv' does not depend on any axioms\n'LexLeanPreservation.validList._sunfold' does not depend on any axioms\n'LexLeanPreservation.validList._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.validList.eq_1' does not depend on any axioms\n'LexLeanPreservation.validList.eq_2' does not depend on any axioms\n'LexLeanPreservation.validList.eq_def' does not depend on any axioms\n'LexLeanPreservation.validList_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validList_iff._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.validList_iff' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.validList_inv' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.validOption.eq_1' does not depend on any axioms\n'LexLeanPreservation.validOption.eq_2' does not depend on any axioms\n'LexLeanPreservation.validOption_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validOption_inv' depends on axioms: [propext]\n'LexLeanPreservation.validPair_inv' depends on axioms: [propext]\n'LexLeanPreservation.validTrue_inv' does not depend on any axioms\n'LexLeanPreservation.Rust.Ctx' does not depend on any axioms\n'LexLeanPreservation.Rust.Flags' does not depend on any axioms\n'LexLeanPreservation.Rust.RCrate' does not depend on any axioms\n'LexLeanPreservation.Rust.RIdent' does not depend on any axioms\n'LexLeanPreservation.Rust.WT._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.adtFields' depends on axioms: [propext]\n'LexLeanTarget.TargetSyntax.IntKind.ofNat' does not depend on any axioms\n'LexLeanTarget.TargetSyntax.IntKind.ofNat_ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Rust.instDecidableEqIntKind_lexLeanPreservation._proof_1' does not depend on any axioms\n'LexLeanPreservation.Rust.instDecidableEqIntKind_lexLeanPreservation._proof_2' does not depend on any axioms\n'LexLeanPreservation.Rust.instDecidableEqIntKind_lexLeanPreservation' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flagOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fnIdent' does not depend on any axioms\n'LexLeanPreservation.Rust.fnFallible' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.inert._f' does not depend on any axioms\n'LexLeanPreservation.Rust.inert' does not depend on any axioms\n'LexLeanPreservation.Rust.WT._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.WTAll._f' does not depend on any axioms\n'LexLeanPreservation.Rust.WTL.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctxLookup.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup._f' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup' does not depend on any axioms\n'LexLeanPreservation.Rust.local_' does not depend on any axioms\n'LexLeanPreservation.Rust.EnvRel' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ROut' does not depend on any axioms\n'LexLeanPreservation.Rust.Halt' does not depend on any axioms\n'LexLeanPreservation.Rust.REnv' does not depend on any axioms\n'LexLeanPreservation.Rust.RExpr' does not depend on any axioms\n'LexLeanPreservation.Rust.RC' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RLet' does not depend on any axioms\n'LexLeanPreservation.Rust.LetsOK' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.append' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.below' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.below.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.brecOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.recOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.append_left' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.append_right' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.below' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.below.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.brecOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.recOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RBlock' does not depend on any axioms\n'LexLeanPreservation.Rust.dispatched_ne' does not depend on any axioms\n'LexLeanPreservation.Rust.finished_ne' does not depend on any axioms\n'LexLeanPreservation.Rust.returned_ne' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_24' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_26' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_28' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_30' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_32' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_34' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_36' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.eval.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_22' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.invoke.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.stable' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.reval_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCB' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.block' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCA' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.revalBlock_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCB.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCI' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.invoke_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCI.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCL' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.revalList_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCL.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.WTAll' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.block_of_lets' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.block_of_raise' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.ctxLookup._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup_slot._simp_1_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotFree' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup_slot' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_cons_other' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sameIdent_self' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_cons_self' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sameIdent_local' depends on axioms: [propext]\n'LexLeanPreservation.Rust.envRel_bind' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.envRel_extra' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.envRel_ghost' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sameIdent_kind' depends on axioms: [propext]\n'LexLeanPreservation.Rust.envRel_temp' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.listIndex_eq.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.listIndex_eq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.listIndex_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.index_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.inert._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.inert._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_nil.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_raise_head.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcl_raise_head.match_1_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcl_raise_head' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_raise_tail' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.revalArms_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.slotFree.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sunfold' depends on axioms: [propext]\n'LexLeanTarget.RustSemantics.eval.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_18' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_20' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.invoke.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.invoke.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.kindNumber.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.lookup.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.lookup.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.lookup.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.lookup.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.lookup.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.lookup.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd' does not depend on any axioms\n'LexLeanPreservation.Rust.isTemp._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isTemp.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isTemp' depends on axioms: [propext]\n'LexLeanPreservation.Rust.letsBind.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds._f' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds._f' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind._f' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind' does not depend on any axioms\n'LexLeanPreservation.Rust.tempFresh' does not depend on any axioms\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.foldN.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.flatB._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep.match_7' does not depend on any axioms\n'LexLeanPreservation.Rust.foldStep' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldB' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats._f' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats' does not depend on any axioms\n'LexLeanPreservation.Rust.okBlock' does not depend on any axioms\n'LexLeanPreservation.Rust.partRead._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Kind.casesOn' does not depend on any axioms\n'LexLeanPreservation.Rust.elseCtx.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.elseCtx' does not depend on any axioms\n'LexLeanPreservation.Rust.elseLets.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.elseLets' does not depend on any axioms\n'LexLeanPreservation.Rust.heldOK.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.heldOK' does not depend on any axioms\n'LexLeanPreservation.Rust.negateR._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.negateR._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.negateR.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.negateR' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_5' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_7' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_9' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identBoxed' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal' does not depend on any axioms\n'LexLeanPreservation.Rust.isWild._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.unboxOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotOK.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocal' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armShape.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.armShape' does not depend on any axioms\n'LexLeanPreservation.Rust.otherArms.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.otherArms' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.noClosure.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.noClosure._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh' depends on axioms: [propext]\n'LexLeanPreservation.Rust.covered' depends on axioms: [propext]\n'LexLeanPreservation.Rust.scrut' does not depend on any axioms\n'LexLeanPreservation.Rust.validU.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.validU' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotOK' does not depend on any axioms\n'LexLeanPreservation.Rust.ctorOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identsDistinct.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct._f' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct' does not depend on any axioms\n'LexLeanPreservation.Rust.litOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArg._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.match_6' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArg.match_8' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArg' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArgs._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildTail.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildsArm.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildsArm' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.itemOK.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemOK' does not depend on any axioms\n'LexLeanPreservation.Rust.itemTyped.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemTyped.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf' does not depend on any axioms\n'LexLeanPreservation.Rust.itemTyped' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_9' does not depend on any axioms\n'LexLeanPreservation.Rust.isFixed._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped' depends on axioms: [propext]\n'LexLeanPreservation.Rust.primTyped' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.litValues._f' does not depend on any axioms\n'LexLeanPreservation.Rust.litValue' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.typedLitAll._f' does not depend on any axioms\n'LexLeanPreservation.Rust.typedLits.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Corr' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.below' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.below.casesOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.brecOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.casesOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.recOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.FunOK' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.CrateOK' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Fresh' does not depend on any axioms\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn' depends on axioms: [propext]\n'LexLeanPreservation.Rust.FunSem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Kind._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.casesOn' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ctorElim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.b.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.e.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.k.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.l.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.m.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.ops.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.recOn' does not depend on any axioms\n'LexLeanPreservation.Rust.KPre.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.KPre' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Kind.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.ctorElim' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Kind.nat.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.plain.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.plain.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.recOn' does not depend on any axioms\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesM.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.RealizesM' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Sem.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.viewVal._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Sem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.foldN._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identsDistinct._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_10' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_11' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_12' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_13' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_14' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_6' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_7' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_8' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.litValues' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue._sunfold' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.litValue._unsafe_rec' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues._sunfold' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.paramCtx._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patsBinds' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.patLocals._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patsBinds._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArgs._sunfold' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs._unsafe_rec' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.typedLitAll' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.typedLits._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_of_inert.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_of_inert.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_of_inert._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_of_inert' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_of_inert._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_of_inert' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Halt.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.LetsRaise.halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.block_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.boxed' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesM.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesM.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_bytes_inv' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_list_inv' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_string_inv' depends on axioms: [propext]\n'LexLeanPreservation.Rust.takes_of_typed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.allWidth_of.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_eq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_eq._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.tysBeq_eq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq_eq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.wt_fixed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.allWidth_of._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.allWidth_of' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.width_of_typed.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.width_of_typed.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.width_of_typed.match_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.width_of_typed' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.accepts_of_typed' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_apply' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtl_append.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_append._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_append' depends on axioms: [propext]\n'LexLeanPreservation.Rust.apply_result' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.bindPattern_shape.match_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.bindPattern_shape._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.bindPatterns_shape._simp_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindPatterns_shape.match_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.bindPatterns_shape._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.bindPattern_shape' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.bindPatterns_shape' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms_spec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_4' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_6' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_7' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.boolArms_eval' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.boxWith.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_100' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_102' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_96' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_98' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_function' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.call_result' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.const_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.convert_args.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.convert_args' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_append_fresh' depends on axioms: [propext]\n'LexLeanPreservation.Rust.envRel_fresh' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_not._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_cond.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.itemResult.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.eval_match' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fixedTyped.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_18' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_19' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_20' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_21' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_22' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_23' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_24' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_25' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_26' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_27' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_28' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_29' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_30' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_31' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_32' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_33' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_34' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_35' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_36' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_37' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_38' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_39' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_40' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_41' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_42' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_43' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_44' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_45' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_46' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_47' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_48' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_49' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_50' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_51' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_52' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_53' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_54' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_55' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_56' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_57' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_58' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_59' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_60' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_61' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN_sound.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.split_last.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.split_last._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.split_last' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep_spec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcb_nil_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_nomatch.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcb_cons_nomatch' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_stop' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_prefix' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_flat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_read_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_cons_same' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcb_fold_last' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldStep_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldN_sound._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldN_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldB_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldN.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_append' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_bind._simp_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_bind' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotFree_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_weaken' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_elseCtx' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_temp._simp_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_temp' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fromStrings_wt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fromStrings_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fromStrings_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.hasWidth_i16' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_i32' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_i64' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_i8' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u16' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u32' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u64' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u8' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.heldOK.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.heldOK.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.isFixed._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.isSeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.isTemp._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.itemOK.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemOperands_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.itemResult' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.kpre_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_pred._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_pred.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_pred' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.kpre_else' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.kpre_then' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_of_lets' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_b_rcb' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.k_branch' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_cond_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_isZero_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_lit_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate_halt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_negate_halt.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_nonZero_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_23' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_25' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_27' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_29' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_31' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_33' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_35' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_37' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_39' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_41' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_43' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_45' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_47' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_49' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_51' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_not_inv.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_not_inv.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_not_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.k_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_read.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_read' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.kpre_held' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.letsBind.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.letsOK_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.letsOK_shape' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.litValue._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_4' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_def' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_5' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.eq_def' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.lit_branch' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.lookup_through._simp_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.lookup_through' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms_spec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms_eval' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.obsL_evalList_zero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.obs_eval_zero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.oneOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf_halt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.param_env.match_1_1' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.bindAll.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.param_env._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.param_env' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.patBinds.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_10' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_6' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_7' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_8' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.primTyped.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_apply_halt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_apply_halt.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_apply_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_call_halt.match_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_runtime' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_construct' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct_halt.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct_halt.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_isZero.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_isZero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_lit.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_lit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue._simp_10' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue._simp_9' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue.match_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_pair.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_pair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_litValues.match_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rcl_litValues._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_nonZero.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_nonZero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_pair_halt_left' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_pair_halt_right' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_widen.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_widen' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_widen_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_11' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_7' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_litValues' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_nil_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_single_halt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_single_halt.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_single_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_widen_one' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.readOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizesL_halt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizesL_haltL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizes_halt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizesM_overflow' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizes_oneOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.runItem_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.runItem_succ' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_applyGen.match_1_13' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen.match_1_15' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen.match_1_28' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_apply' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_applyF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_bOfE' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_build.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_build.match_1_99' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_build' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildConst' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildPair.match_1_101' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_97' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_99' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildSucc.match_1_129' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSucc.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSucc' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildSuccF.match_1_101' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSuccF.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSuccF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_callF.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callF.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_callOps.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callOps.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callOps' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_closure.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.wtl_length.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_length._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_length' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_closure' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_cond.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_cond.match_1_11' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_condId.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_condId' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_eOfB' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_eOfBFold' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_eOfBNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_fOfB' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_unit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_fUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kHeld' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kLit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kId' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kIf' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kNeg' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kSame' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_lCons.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons.match_1_17' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons.match_1_19' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_lNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_letBind.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letBind.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letBind' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_letWild.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letWild.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letWild' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBool._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchHolder.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchHolder.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchHolder' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBool' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBoolId._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBoolId.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchBoolId' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchNat._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchNat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchUnit._proof_1_386' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchUnit.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchUnit.match_1_387' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsCons._simp_1_13' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsCons.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons.match_1_14' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons.match_1_16' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsOfL' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_29' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_31' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_ops_box.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_ops_box.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_ops_box.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_ops_box' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_part._sparseCasesOn_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_part.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_part.match_1_14' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_part.match_1_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_part' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_part._sparseCasesOn_1_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_prim.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_prim.match_1_38' does not depend on any axioms\n'LexLeanPreservation.Rust.wtAll_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wtAll_iff._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.wtAll_iff' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_append' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_bitwise' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_checked' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_convert' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_decode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_encode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_fixedTyped.match_1_67' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_format' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_index' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_join' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_parse' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_shift' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.slice_eq' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_slice' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_split' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_unary' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtl_one.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_one' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_three.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_three' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_two.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_two' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_fixedTyped' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_prim' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_prim' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_primF.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF.match_1_7' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_primWiden.match_1_108' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_110' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_112' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_114' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_116' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.typedLitAll_wt.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit_wt.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits_wt.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_var' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_varUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_zero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.shapeOf.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_10' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_11' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_12' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_13' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_14' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_6' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_7' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_8' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.tempFresh.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_12.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_13.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_14.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.allWidth.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.allWidth.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.allWidth.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_100' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_101' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_102' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_103' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_104' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_105' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_106' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_107' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_108' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_109' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_110' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_111' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_112' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_113' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_114' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_115' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_116' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_117' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_118' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_119' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_120' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_121' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_122' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_123' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_124' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_125' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_126' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_127' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_128' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_129' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_130' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_131' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_132' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_133' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_134' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_135' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_136' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_137' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_138' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_139' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_140' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_141' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_142' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_143' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_144' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_145' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_146' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_147' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_148' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_149' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_150' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_151' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_152' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_153' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_154' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_155' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_156' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_157' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_158' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_159' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_160' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_161' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_162' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_163' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_164' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_165' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_166' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_167' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_168' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_169' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_170' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_171' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_172' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_173' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_174' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_175' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_176' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_177' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_178' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_179' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_180' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_181' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_182' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_183' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_184' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_185' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_186' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_51' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_52' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_53' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_54' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_55' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_56' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_57' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_58' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_59' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_60' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_61' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_62' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_63' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_64' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_65' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_66' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_67' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_68' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_69' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_70' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_71' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_72' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_73' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_74' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_75' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_76' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_77' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_78' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_79' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_80' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_81' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_82' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_83' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_84' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_85' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_86' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_87' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_88' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_89' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_90' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_91' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_92' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_93' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_94' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_95' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_96' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_97' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_98' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_99' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_100' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_101' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_102' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_103' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_104' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_105' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_106' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_107' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_108' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_109' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_110' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_111' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_112' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_113' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_114' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_115' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_116' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_117' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_118' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_119' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_120' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_121' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_122' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_123' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_124' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_125' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_126' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_127' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_128' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_129' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_130' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_131' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_132' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_133' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_134' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_135' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_136' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_137' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_138' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_139' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_140' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_141' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_142' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_143' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_144' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_145' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_146' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_147' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_148' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_149' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_150' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_151' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_152' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_153' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_154' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_155' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_156' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_157' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_158' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_159' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_160' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_161' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_162' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_163' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_164' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_165' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_166' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_167' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_168' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_169' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_170' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_171' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_172' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_173' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_174' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_175' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_176' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_177' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_178' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_179' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_180' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_181' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_182' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_183' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_184' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_51' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_52' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_53' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_54' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_55' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_56' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_57' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_58' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_59' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_60' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_61' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_62' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_63' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_64' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_65' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_66' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_67' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_68' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_69' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_70' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_71' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_72' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_73' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_74' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_75' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_76' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_77' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_78' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_79' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_80' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_81' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_82' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_83' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_84' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_85' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_86' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_87' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_88' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_89' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_90' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_91' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_92' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_93' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_94' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_95' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_96' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_97' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_98' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_99' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemAccepts.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemAccepts.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.literal.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_10' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_11' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_12' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_13' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_14' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_15' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_3' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_4' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_5' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_6' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_7' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_8' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_9' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.propagated.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.returned.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_10' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_11' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_12' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_13' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_14' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_15' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_16' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_17' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_18' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_19' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_20' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_21' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_22' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_23' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_24' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_25' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_26' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_27' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_28' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_29' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_30' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_31' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_32' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_33' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_34' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_35' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_36' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_37' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_38' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_39' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_40' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_41' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_42' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_43' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_44' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_45' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_46' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_47' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_48' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_49' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_5' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_50' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_51' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_52' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_53' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_54' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_55' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_56' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_57' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_58' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_59' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_6' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_60' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_61' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_62' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_63' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_64' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_65' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_66' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_67' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_68' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_69' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_7' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_70' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_71' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_72' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_73' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_74' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_75' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_76' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_77' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_78' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_79' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_8' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_80' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_81' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_82' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_83' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_9' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_10' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_100' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_101' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_102' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_103' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_104' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_105' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_106' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_107' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_108' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_109' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_11' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_110' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_111' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_112' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_113' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_114' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_115' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_116' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_117' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_118' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_119' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_12' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_120' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_121' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_122' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_123' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_124' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_125' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_126' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_127' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_128' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_129' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_13' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_130' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_131' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_132' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_133' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_134' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_135' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_136' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_137' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_138' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_139' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_14' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_140' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_141' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_142' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_143' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_144' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_145' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_146' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_147' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_148' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_149' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_15' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_150' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_151' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_152' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_153' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_154' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_155' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_156' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_157' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_158' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_159' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_16' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_160' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_161' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_162' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_163' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_164' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_165' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_166' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_167' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_168' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_169' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_17' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_170' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_171' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_172' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_173' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_174' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_175' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_176' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_177' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_178' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_179' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_18' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_180' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_181' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_182' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_183' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_184' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_185' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_186' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_187' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_188' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_189' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_19' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_190' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_191' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_192' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_193' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_194' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_195' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_196' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_197' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_198' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_199' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_20' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_200' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_201' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_202' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_203' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_204' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_205' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_206' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_207' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_208' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_209' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_21' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_210' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_211' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_212' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_213' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_214' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_215' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_216' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_217' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_218' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_219' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_22' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_220' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_221' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_222' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_223' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_224' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_225' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_226' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_227' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_228' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_229' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_23' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_230' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_231' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_232' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_233' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_234' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_235' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_236' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_237' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_238' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_239' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_24' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_240' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_241' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_242' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_243' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_244' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_245' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_246' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_247' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_248' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_249' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_25' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_250' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_251' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_252' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_253' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_254' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_255' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_256' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_257' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_258' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_259' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_26' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_260' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_261' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_262' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_263' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_264' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_265' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_266' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_267' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_268' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_269' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_27' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_270' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_271' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_272' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_273' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_274' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_275' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_276' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_277' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_278' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_279' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_28' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_280' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_281' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_282' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_283' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_284' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_285' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_286' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_287' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_288' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_289' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_29' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_290' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_291' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_292' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_293' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_294' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_295' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_296' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_297' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_298' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_299' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_30' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_300' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_301' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_302' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_303' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_304' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_305' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_306' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_307' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_308' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_309' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_31' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_310' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_311' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_312' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_313' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_314' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_315' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_316' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_317' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_318' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_319' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_32' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_320' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_321' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_322' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_323' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_324' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_325' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_326' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_327' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_328' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_329' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_33' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_330' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_331' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_332' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_333' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_334' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_335' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_336' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_337' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_338' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_339' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_34' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_340' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_341' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_342' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_343' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_344' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_345' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_346' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_347' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_348' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_349' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_35' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_350' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_351' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_352' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_353' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_354' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_355' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_356' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_357' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_358' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_359' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_36' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_360' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_361' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_362' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_363' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_364' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_365' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_366' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_367' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_368' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_369' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_37' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_370' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_38' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_39' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_40' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_41' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_42' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_43' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_44' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_45' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_46' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_47' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_48' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_49' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_5' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_50' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_51' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_52' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_53' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_54' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_55' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_56' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_57' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_58' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_59' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_6' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_60' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_61' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_62' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_63' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_64' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_65' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_66' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_67' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_68' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_69' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_7' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_70' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_71' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_72' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_73' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_74' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_75' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_76' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_77' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_78' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_79' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_8' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_80' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_81' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_82' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_83' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_84' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_85' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_86' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_87' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_88' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_89' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_9' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_90' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_91' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_92' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_93' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_94' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_95' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_96' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_97' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_98' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_99' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromStrings.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromStrings.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromStrings.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.primitive.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1000' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1001' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1002' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1003' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1004' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1005' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1006' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1007' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1008' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1009' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1010' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1011' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1012' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1013' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1014' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1015' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1016' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1017' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1018' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1019' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1020' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1021' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1022' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1023' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1024' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1025' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1026' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1027' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1028' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1029' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1030' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1031' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1032' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1033' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1034' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1035' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1036' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1037' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1038' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1039' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1040' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1041' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1042' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1043' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1044' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1045' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1046' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1047' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1048' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1049' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1050' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1051' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1052' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1053' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1054' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1055' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1056' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1057' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1058' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1059' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1060' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1061' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1062' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1063' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1064' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1065' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1066' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1067' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1068' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1069' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1070' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1071' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1072' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1073' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1074' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1075' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1076' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1077' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1078' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1079' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1080' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1081' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1082' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1083' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1084' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1085' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1086' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1087' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1088' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1089' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1090' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1091' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1092' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1093' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1094' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1095' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1096' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1097' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1098' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1099' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1426' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1427' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1428' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1429' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1430' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1431' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1432' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1433' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1434' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1435' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1436' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1437' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1438' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1439' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1440' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1441' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1442' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1443' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1444' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1445' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1446' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1447' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1448' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1449' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1450' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1451' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1452' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1453' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1454' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1455' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1456' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1457' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1458' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1459' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1460' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1461' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1462' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1463' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1464' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1465' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1466' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1467' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1468' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1469' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1470' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1471' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1472' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1473' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1474' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1475' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1476' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1477' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1478' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1479' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1480' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1481' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1482' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1483' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1484' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1485' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1486' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1487' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1488' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1489' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1490' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1491' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1492' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1493' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1494' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1495' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1496' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1497' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1498' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1499' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1500' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1501' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1502' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1503' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1504' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1505' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1506' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1507' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1508' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1509' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1510' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1511' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1512' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1513' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1514' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1515' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1516' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1517' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1518' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1519' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1520' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1521' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1522' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1523' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1524' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1525' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1526' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1527' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1528' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1529' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1530' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1531' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1532' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1533' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1534' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1535' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1536' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1537' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1538' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1539' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1540' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1541' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1542' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1543' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1544' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1545' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1546' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1547' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1548' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1549' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1550' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1551' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1552' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1553' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1554' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1555' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1556' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1557' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1558' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1559' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1560' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1561' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1562' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1563' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1564' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1565' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1566' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1567' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1568' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1569' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1570' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1571' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1572' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1573' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1574' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1575' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1576' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1577' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1578' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1579' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1580' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1581' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1582' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1583' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1584' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1585' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1586' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1587' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1588' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1589' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1590' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1591' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1592' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1593' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1594' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1595' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1596' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1597' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1598' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1599' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1600' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1601' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1602' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1603' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1604' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1605' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1606' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1607' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1608' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1609' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1610' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1611' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1612' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1613' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1614' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1615' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1616' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1617' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1618' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1619' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1620' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1621' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1622' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1623' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1624' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1625' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1626' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1627' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1628' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1629' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1630' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1631' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1632' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1633' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1634' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1635' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1636' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1637' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1638' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1639' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1640' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1641' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1642' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1643' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1644' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1645' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1646' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1647' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1648' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1649' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1650' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1651' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1652' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1653' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1654' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1655' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1656' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1657' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1658' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1659' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1660' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1661' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1662' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1663' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1664' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1665' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1666' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1667' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1668' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1669' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1670' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1671' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1672' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1673' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1674' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1675' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1676' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1677' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1678' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1679' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1680' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1681' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1682' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1683' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1684' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1685' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1686' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1687' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1688' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1689' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1690' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1691' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1692' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1693' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1694' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1695' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1696' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1697' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1698' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1699' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1700' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1701' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1702' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1703' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1704' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1705' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1706' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1707' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1708' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1709' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1710' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1711' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1712' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1713' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1714' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1715' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1716' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1717' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1718' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1719' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1720' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1721' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1722' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1723' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1724' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1725' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1726' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1727' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1728' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1729' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1730' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1731' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1732' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1733' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1734' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1735' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1736' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1737' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1738' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1739' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1740' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1741' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1742' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1743' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1744' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1745' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1746' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1747' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1748' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1749' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1750' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1751' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1752' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1753' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1754' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1755' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1756' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1757' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1758' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1759' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1760' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1761' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1762' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1763' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1764' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1765' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1766' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1767' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1768' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1769' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1770' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1771' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1772' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1773' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1774' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1775' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1776' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1777' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1778' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1779' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1780' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1781' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1782' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1783' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1784' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1785' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1786' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1787' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1788' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1789' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1790' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1791' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1792' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1793' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1794' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1795' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1796' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1797' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1798' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1799' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_18' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1800' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1801' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1802' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1803' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1804' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1805' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1806' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1807' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1808' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1809' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1810' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1811' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1812' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1813' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1814' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1815' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1816' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1817' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1818' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1819' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1820' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1821' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1822' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1823' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1824' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1825' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1826' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1827' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1828' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1829' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1830' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1831' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1832' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1833' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1834' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1835' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1836' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1837' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1838' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1839' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1840' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1841' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1842' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1843' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1844' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1845' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1846' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1847' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1848' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1849' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1850' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1851' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1852' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1853' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1854' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1855' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1856' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1857' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1858' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1859' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1860' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1861' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1862' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1863' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1864' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1865' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1866' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1867' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1868' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1869' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1870' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1871' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1872' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1873' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1874' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1875' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1876' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1877' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1878' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1879' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1880' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1881' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1882' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1883' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1884' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1885' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1886' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1887' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1888' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1889' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1890' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1891' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1892' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1893' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1894' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1895' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1896' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1897' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1898' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1899' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1900' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1901' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1902' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1903' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1904' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1905' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1906' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1907' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1908' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1909' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1910' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1911' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1912' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1913' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1914' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1915' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1916' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1917' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1918' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1919' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1920' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1921' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1922' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1923' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1924' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1925' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1926' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1927' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1928' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1929' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1930' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1931' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1932' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1933' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1934' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1935' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1936' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1937' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1938' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1939' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1940' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1941' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1942' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1943' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1944' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1945' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1946' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1947' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1948' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1949' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1950' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1951' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1952' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1953' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1954' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1955' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1956' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1957' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1958' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1959' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1960' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1961' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1962' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1963' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1964' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1965' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1966' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1967' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1968' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1969' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1970' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1971' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1972' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1973' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1974' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1975' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1976' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1977' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1978' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1979' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1980' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1981' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1982' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1983' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1984' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1985' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1986' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1987' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1988' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1989' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1990' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1991' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1992' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1993' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1994' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1995' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1996' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1997' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1998' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1999' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_20' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2000' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2001' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2002' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2003' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2004' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2005' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2006' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2007' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2008' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2009' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2010' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2011' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2012' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2013' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2014' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2015' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2016' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2017' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2018' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2019' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2020' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2021' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2022' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2023' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2024' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2025' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2026' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2027' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2028' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2029' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2030' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2031' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2032' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2033' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2034' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2035' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2036' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2037' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2038' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2039' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2040' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2041' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2042' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2043' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2044' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2045' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2046' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2047' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2048' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2049' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2050' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2051' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2052' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2053' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2054' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2055' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2056' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2057' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2058' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2059' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2060' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2061' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2062' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2063' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2064' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2065' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2066' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2067' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2068' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2069' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2070' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2071' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2072' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2073' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2074' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2075' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2076' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2077' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2078' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2079' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2080' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2081' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2082' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2083' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2084' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2085' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2086' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2087' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2088' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2089' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2090' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2091' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2092' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2093' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2094' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2095' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2096' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2097' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2098' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2099' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_22' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_23' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_24' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2426' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2427' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2428' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2429' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2430' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2431' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2432' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2433' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2434' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2435' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2436' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2437' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2438' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2439' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2440' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2441' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2442' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2443' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2444' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2445' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2446' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2447' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2448' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2449' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2450' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2451' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2452' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2453' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2454' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2455' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2456' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2457' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2458' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2459' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2460' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2461' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2462' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2463' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2464' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2465' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2466' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2467' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2468' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2469' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2470' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2471' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2472' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2473' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2474' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2475' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2476' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2477' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2478' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2479' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2480' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2481' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2482' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2483' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2484' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2485' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2486' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2487' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2488' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2489' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2490' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2491' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2492' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2493' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2494' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2495' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2496' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2497' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2498' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2499' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_25' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2500' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2501' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2502' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2503' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2504' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2505' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2506' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2507' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2508' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2509' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2510' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2511' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2512' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2513' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2514' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2515' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2516' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2517' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2518' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2519' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2520' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2521' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2522' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2523' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2524' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2525' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2526' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2527' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2528' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2529' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2530' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2531' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2532' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2533' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2534' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2535' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2536' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2537' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2538' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2539' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2540' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2541' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2542' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2543' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2544' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2545' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2546' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2547' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2548' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2549' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2550' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2551' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2552' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2553' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2554' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2555' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2556' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2557' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2558' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2559' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2560' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2561' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2562' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2563' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2564' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2565' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2566' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2567' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2568' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2569' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2570' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2571' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2572' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2573' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2574' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2575' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2576' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2577' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2578' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2579' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2580' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2581' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2582' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2583' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2584' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2585' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2586' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2587' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2588' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2589' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2590' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2591' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2592' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2593' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2594' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2595' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2596' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2597' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2598' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2599' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_26' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2600' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2601' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2602' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2603' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2604' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2605' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2606' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2607' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2608' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2609' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2610' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2611' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2612' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2613' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2614' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2615' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2616' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2617' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2618' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2619' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2620' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2621' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2622' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2623' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2624' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2625' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2626' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2627' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2628' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2629' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2630' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2631' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2632' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2633' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2634' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2635' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2636' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2637' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2638' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2639' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2640' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2641' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2642' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2643' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2644' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2645' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2646' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2647' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2648' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2649' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2650' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2651' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2652' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2653' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2654' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2655' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2656' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2657' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2658' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2659' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2660' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2661' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2662' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2663' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2664' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2665' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2666' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2667' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2668' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2669' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2670' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2671' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2672' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2673' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2674' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2675' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2676' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2677' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2678' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2679' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2680' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2681' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2682' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2683' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2684' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2685' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2686' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2687' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2688' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2689' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2690' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2691' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2692' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2693' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2694' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2695' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2696' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2697' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2698' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2699' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_27' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2700' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2701' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2702' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2703' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2704' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2705' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2706' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2707' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2708' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2709' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2710' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2711' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2712' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2713' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2714' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2715' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2716' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2717' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2718' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2719' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2720' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2721' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2722' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2723' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2724' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2725' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2726' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2727' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2728' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2729' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2730' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2731' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2732' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2733' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2734' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2735' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2736' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2737' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2738' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2739' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2740' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2741' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2742' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2743' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2744' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2745' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2746' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2747' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2748' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2749' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2750' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2751' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2752' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2753' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2754' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2755' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2756' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2757' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2758' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2759' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2760' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2761' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2762' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2763' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2764' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2765' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2766' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2767' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2768' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2769' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2770' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2771' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2772' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2773' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2774' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2775' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2776' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2777' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2778' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2779' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2780' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2781' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2782' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2783' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2784' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2785' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2786' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2787' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2788' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2789' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2790' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2791' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2792' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2793' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2794' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2795' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2796' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2797' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2798' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2799' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_28' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2800' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2801' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2802' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2803' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2804' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2805' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2806' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2807' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2808' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2809' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2810' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2811' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2812' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2813' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2814' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2815' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2816' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2817' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2818' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2819' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2820' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2821' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2822' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2823' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2824' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2825' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2826' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2827' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2828' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2829' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2830' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2831' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2832' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2833' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2834' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2835' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2836' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2837' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2838' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2839' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2840' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2841' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2842' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2843' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2844' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2845' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2846' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2847' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2848' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2849' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2850' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2851' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2852' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2853' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2854' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2855' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2856' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2857' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2858' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2859' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2860' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2861' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2862' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2863' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2864' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2865' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2866' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2867' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2868' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2869' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2870' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2871' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2872' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2873' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2874' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2875' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2876' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2877' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2878' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2879' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2880' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2881' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2882' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2883' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2884' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2885' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2886' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2887' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2888' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2889' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2890' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2891' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2892' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2893' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2894' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2895' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2896' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2897' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2898' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2899' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_29' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2900' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2901' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2902' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2903' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2904' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2905' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2906' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2907' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2908' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2909' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2910' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2911' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2912' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2913' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2914' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2915' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2916' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2917' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2918' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2919' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2920' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2921' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2922' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2923' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2924' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2925' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2926' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2927' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2928' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2929' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2930' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2931' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2932' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2933' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2934' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2935' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2936' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2937' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2938' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2939' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2940' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2941' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2942' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2943' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2944' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2945' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2946' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2947' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2948' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2949' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2950' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2951' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2952' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2953' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2954' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2955' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2956' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2957' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2958' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2959' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2960' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2961' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2962' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2963' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2964' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2965' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2966' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2967' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2968' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2969' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2970' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2971' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2972' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2973' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2974' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2975' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2976' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2977' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2978' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2979' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2980' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2981' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2982' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2983' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2984' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2985' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2986' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2987' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2988' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2989' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2990' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2991' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2992' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2993' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2994' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2995' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2996' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2997' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2998' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2999' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_30' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3000' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3001' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3002' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3003' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3004' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3005' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3006' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3007' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3008' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3009' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3010' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3011' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3012' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3013' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3014' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3015' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3016' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3017' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3018' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3019' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3020' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3021' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3022' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3023' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3024' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3025' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3026' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3027' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3028' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3029' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3030' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3031' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3032' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3033' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3034' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3035' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3036' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3037' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3038' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3039' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3040' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3041' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3042' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3043' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3044' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3045' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3046' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3047' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3048' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3049' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3050' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3051' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3052' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3053' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3054' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3055' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3056' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3057' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3058' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3059' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3060' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3061' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3062' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3063' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3064' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3065' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3066' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3067' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3068' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3069' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3070' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3071' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3072' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3073' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3074' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3075' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3076' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3077' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3078' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3079' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3080' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3081' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3082' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3083' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3084' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3085' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3086' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3087' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3088' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3089' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3090' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3091' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3092' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3093' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3094' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3095' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3096' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3097' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3098' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3099' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_31' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_33' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_34' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_35' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_36' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_37' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_38' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_39' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_40' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_41' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_42' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_426' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_427' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_428' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_429' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_43' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_430' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_431' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_432' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_433' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_434' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_435' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_436' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_437' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_438' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_439' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_44' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_440' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_441' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_442' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_443' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_444' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_445' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_446' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_447' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_448' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_449' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_45' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_450' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_451' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_452' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_453' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_454' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_455' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_456' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_457' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_458' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_459' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_46' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_460' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_461' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_462' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_463' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_464' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_465' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_466' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_467' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_468' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_469' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_47' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_470' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_471' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_472' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_473' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_474' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_475' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_476' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_477' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_478' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_479' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_48' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_480' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_481' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_482' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_483' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_484' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_485' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_486' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_487' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_488' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_489' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_49' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_490' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_491' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_492' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_493' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_494' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_495' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_496' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_497' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_498' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_499' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_50' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_500' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_501' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_502' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_503' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_504' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_505' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_506' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_507' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_508' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_509' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_51' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_510' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_511' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_512' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_513' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_514' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_515' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_516' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_517' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_518' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_519' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_52' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_520' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_521' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_522' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_523' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_524' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_525' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_526' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_527' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_528' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_529' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_53' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_530' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_531' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_532' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_533' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_534' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_535' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_536' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_537' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_538' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_539' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_54' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_540' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_541' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_542' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_543' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_544' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_545' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_546' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_547' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_548' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_549' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_55' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_550' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_551' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_552' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_553' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_554' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_555' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_556' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_557' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_558' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_559' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_56' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_560' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_561' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_562' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_563' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_564' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_565' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_566' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_567' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_568' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_569' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_57' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_570' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_571' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_572' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_573' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_574' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_575' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_576' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_577' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_578' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_579' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_58' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_580' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_581' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_582' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_583' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_584' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_585' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_586' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_587' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_588' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_589' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_59' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_590' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_591' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_592' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_593' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_594' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_595' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_596' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_597' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_598' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_599' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_60' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_600' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_601' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_602' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_603' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_604' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_605' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_606' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_607' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_608' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_609' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_61' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_610' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_611' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_612' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_613' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_614' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_615' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_616' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_617' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_618' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_619' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_62' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_620' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_621' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_622' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_623' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_624' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_625' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_626' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_627' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_628' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_629' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_63' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_630' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_631' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_632' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_633' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_634' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_635' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_636' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_637' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_638' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_639' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_640' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_641' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_642' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_643' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_644' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_645' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_646' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_647' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_648' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_649' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_65' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_650' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_651' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_652' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_653' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_654' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_655' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_656' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_657' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_658' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_659' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_66' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_660' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_661' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_662' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_663' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_664' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_665' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_666' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_667' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_668' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_669' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_67' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_670' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_671' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_672' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_673' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_674' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_675' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_676' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_677' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_678' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_679' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_68' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_680' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_681' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_682' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_683' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_684' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_685' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_686' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_687' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_688' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_689' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_69' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_690' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_691' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_692' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_693' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_694' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_695' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_696' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_697' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_698' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_699' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_70' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_700' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_701' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_702' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_703' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_704' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_705' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_706' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_707' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_708' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_709' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_71' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_710' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_711' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_712' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_713' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_714' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_715' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_716' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_717' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_718' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_719' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_72' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_720' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_721' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_722' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_723' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_724' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_725' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_726' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_727' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_728' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_729' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_73' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_730' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_731' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_732' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_733' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_734' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_735' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_736' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_737' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_738' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_739' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_74' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_740' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_741' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_742' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_743' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_744' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_745' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_746' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_747' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_748' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_749' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_75' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_750' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_751' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_752' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_753' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_754' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_755' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_756' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_757' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_758' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_759' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_76' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_760' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_761' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_762' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_763' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_764' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_765' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_766' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_767' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_768' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_769' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_77' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_770' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_771' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_772' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_773' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_774' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_775' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_776' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_777' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_778' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_779' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_78' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_780' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_781' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_782' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_783' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_784' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_785' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_786' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_787' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_788' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_789' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_79' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_790' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_791' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_792' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_793' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_794' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_795' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_796' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_797' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_798' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_799' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_80' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_800' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_801' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_802' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_803' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_804' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_805' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_806' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_807' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_808' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_809' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_81' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_810' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_811' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_812' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_813' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_814' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_815' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_816' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_817' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_818' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_819' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_82' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_820' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_821' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_822' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_823' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_824' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_825' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_826' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_827' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_828' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_829' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_83' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_830' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_831' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_832' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_833' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_834' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_835' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_836' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_837' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_838' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_839' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_84' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_840' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_841' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_842' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_843' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_844' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_845' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_846' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_847' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_848' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_849' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_85' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_850' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_851' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_852' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_853' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_854' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_855' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_856' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_857' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_858' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_859' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_86' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_860' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_861' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_862' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_863' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_864' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_865' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_866' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_867' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_868' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_869' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_87' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_870' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_871' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_872' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_873' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_874' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_875' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_876' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_877' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_878' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_879' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_88' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_880' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_881' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_882' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_883' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_884' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_885' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_886' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_887' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_888' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_889' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_89' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_890' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_891' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_892' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_893' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_894' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_895' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_896' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_897' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_898' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_899' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_90' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_900' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_901' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_902' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_903' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_904' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_905' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_906' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_907' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_908' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_909' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_91' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_910' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_911' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_912' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_913' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_914' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_915' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_916' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_917' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_918' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_919' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_92' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_920' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_921' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_922' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_923' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_924' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_925' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_926' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_927' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_928' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_929' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_93' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_930' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_931' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_932' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_933' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_934' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_935' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_936' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_937' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_938' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_939' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_94' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_940' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_941' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_942' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_943' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_944' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_945' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_946' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_947' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_948' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_949' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_95' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_950' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_951' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_952' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_953' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_954' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_955' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_956' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_957' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_958' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_959' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_96' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_960' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_961' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_962' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_963' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_964' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_965' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_966' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_967' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_968' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_969' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_97' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_970' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_971' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_972' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_973' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_974' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_975' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_976' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_977' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_978' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_979' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_98' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_980' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_981' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_982' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_983' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_984' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_985' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_986' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_987' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_988' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_989' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_99' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_990' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_991' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_992' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_993' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_994' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_995' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_996' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_997' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_998' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_999' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.adtFields.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_12.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_13.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_12.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat_outer' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.boxedOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.boxedOne.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.boxedOne' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bp_entries._simp_1_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.simplePat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bp_entries.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.entriesOf._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bp_entries._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.bp_entries' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.directPat_cons._simp_1_4' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.identBoxed_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identLocal_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf_spec' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_cons' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_len.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_len._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_len' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_loads._simp_1_27' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_loads._simp_1_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_loads.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none._simp_1_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none._simp_1_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rlookup_append' depends on axioms: [propext]\n'LexLeanPreservation.Rust.same_boxed_boxed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_boxed_none' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_local_none._simp_1_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_local_none._simp_1_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_local_none.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.same_local_local' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_local_none._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_local_none' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_boxed_local' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rlookup_local_boxed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rlookup_local_single' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_loads._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.directPat_loads' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_boxed_some._simp_1_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_some._simp_1_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_some.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_some._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.entries_boxed_some' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.envRel_locals' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fields_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindPatterns_single' depends on axioms: [propext]\n'LexLeanPreservation.Rust.outer_bind' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.paramCtx_length.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_length._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_length' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.bindOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOne.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.covered.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.covered_mem._simp_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.wt_uninh._simp_10' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.covered_mem' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.ctorOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.destruct_canon' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq_refl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.destruct_excl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.directPat.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_lookup.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_none_of._simp_1_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_none_of.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sameIdent_iff' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_none_of._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_none_of' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.identsDistinct.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.entries_lookup._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_lookup' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.eval_field.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.eval_field._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_field.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_field' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats_none._simp_1_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats_none.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats_none._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats_none' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats_some._simp_1_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats_some.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats_some._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats_some' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_partRead' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.tyBeq_unit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.field_out' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.findArm_some.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.findArm_some._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.findArm_some' depends on axioms: [propext]\n'LexLeanPreservation.Rust.findDispatch_some.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.findDispatch_some._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.findDispatch_some' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_ext' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identBoxed.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identBoxed.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.isWild._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.okBlock.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.otherArms.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.otherArms_mem._simp_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.otherArms_mem' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.outer_miss' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.outer_view' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_ext.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_ext._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_ext' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_fresh.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_fresh._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_fresh' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocal.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_matchOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_matchOn_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_uncons.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_uncons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_scrut' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rca_hit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rca_miss' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_det' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_rebuild.match_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_eq_of_same' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg_rc' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_rebuild._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_rebuild' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.readOf_rc' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.realizesM_value' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArg_simple' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_def' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs_simple.match_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs_simple._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs_simple' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_14.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuild_rca._simp_1_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuild_rca.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_value._simp_1_21' depends on axioms: [propext]\n'LexLeanPreservation.Rust.single_rebuild' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_rca._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_rca' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuildsArm.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_nil' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_fieldGen._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_fieldGen.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_fieldGen.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.wtl_get.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_get._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_get' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_fieldGen' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_fieldHeld' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_fieldRead' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_mCons._simp_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_mCons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_mNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchArms._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.tyBeq_refl.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq_refl._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.tysBeq_refl.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tysBeq_refl._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_refl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.tysBeq_refl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.uninh_of_inert.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.uninh_of_inert._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh_of_inert' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_uninh.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_uninh._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtl_uninh.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_uninh._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_uninh' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.taken_arm' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchArms' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchPair._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchPair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchRebuilt._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchRebuilt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchRebuilt.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchRebuilt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.simplePat.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.validU.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_uninh' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.findArm.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findArm.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findArm.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_5' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_6' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_7' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_8' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.fl_of' does not depend on any axioms\n'LexLeanPreservation.Rust.fnFallible.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of._simp_1_14' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.funSem_of.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_12' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.isTemp.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isTemp.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.item_ne' depends on axioms: [propext]\n'LexLeanPreservation.Rust.kind_ne' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sound._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sound._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.simulate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Representable._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Representable.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Representable._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.RepresentableL._f' does not depend on any axioms\n'LexLeanPreservation.Rust.Representable' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Representable._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.Representable._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.compose' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rel_ne_stuck' depends on axioms: [propext]\n'LexLeanPreservation.Rust.repL_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.repL_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.runItem_abort_infallible' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtAll_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wtAll_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_map._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_map' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_adt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_bool' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_bytes' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encExcept.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_encExcept' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_list' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encList' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encOption.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_encOption' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encOrdering' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encPair' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encUnit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_errorV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i32' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i64' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_int' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_listEnc' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_nat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_noneV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_okV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_optEnc.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_someV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_optEnc' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_ordering' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_pairV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_string' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u32' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u64' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_unitValue' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_nil' depends on axioms: [propext]\n'LexLeanPreservation.encExcept.eq_1' does not depend on any axioms\n'LexLeanPreservation.encExcept.eq_2' does not depend on any axioms\n'LexLeanPreservation.encOption.eq_1' does not depend on any axioms\n'LexLeanPreservation.encOption.eq_2' does not depend on any axioms\n'LexLeanPreservation.encPair.eq_1' does not depend on any axioms\n'LexLeanPreservation.encUnit.eq_1' does not depend on any axioms\n'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n-- statement vocabulary\ninductive LexLeanPreservation.Obs : Type\nnumber of parameters: 0\nconstructors:\nLexLeanPreservation.Obs.value : LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs\nLexLeanPreservation.Obs.overflow : LexLeanPreservation.Obs\nLexLeanPreservation.Obs.stuck : LexLeanPreservation.Obs\ndef LexLeanPreservation.Rel : Bool → LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs :=\nfun fits v => bif fits then LexLeanPreservation.Obs.value v else LexLeanPreservation.Obs.overflow\ndef LexLeanPreservation.Conv : LexLeanTarget.TargetSyntax.Program →\n List (Nat × LexLeanTarget.TargetSyntax.Value) → LexLeanTarget.TargetSyntax.Expr → LexLeanPreservation.Obs → Prop :=\nfun p env e o => ∃ n, LexLeanPreservation.obs (LexLeanTarget.TargetSemantics.eval n p env e) = some o\ndef LexLeanPreservation.FunRel : LexLeanTarget.TargetSyntax.Program →\n Nat → List LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs → Prop :=\nfun p f args o =>\n ∃ fn,\n LexLeanRuntime.index p.functions f = some fn ∧\n ∃ env,\n LexLeanTarget.TargetSemantics.bindAll fn.parameters args [] = some env ∧\n LexLeanPreservation.Conv p env fn.body o\ndef LexLeanPreservation.RunConv : LexLeanTarget.TargetSyntax.Program →\n Nat → List LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs → Prop :=\nfun p entry args o => ∃ n, LexLeanPreservation.obs (LexLeanTarget.TargetSemantics.run n p entry args) = some o\ndef LexLeanPreservation.Rust.WT : LexLeanTarget.TargetSyntax.Program →\n LexLeanPreservation.Rust.RCrate →\n LexLeanPreservation.Rust.Flags → LexLeanTarget.TargetSyntax.Value → LexLeanTarget.TargetSyntax.Ty → Prop :=\nfun p c A x x_1 =>\n x.brecOn (LexLeanPreservation.Rust.WT._f p c A)\n (fun t f => ⟨LexLeanPreservation.Rust.WTL._f p c A t f, LexLeanPreservation.Rust.WTAll._f p c A t f⟩) x_1\ndef LexLeanPreservation.Rust.WTL : LexLeanTarget.TargetSyntax.Program →\n LexLeanPreservation.Rust.RCrate →\n LexLeanPreservation.Rust.Flags →\n List LexLeanTarget.TargetSyntax.Value → List LexLeanTarget.TargetSyntax.Ty → Prop :=\nfun p c A x x_1 =>\n (LexLeanTarget.TargetSyntax.Value.brecOn_1 x (LexLeanPreservation.Rust.WT._f p c A) fun t f =>\n ⟨LexLeanPreservation.Rust.WTL._f p c A t f, LexLeanPreservation.Rust.WTAll._f p c A t f⟩).1\n x_1\ndef LexLeanPreservation.Rust.fnIdent : Nat → LexLeanPreservation.Rust.RIdent :=\nfun f => LexLeanTarget.RustSyntax.Ident.generated LexLeanTarget.RustSyntax.IdentKind.function f\ndef LexLeanPreservation.Rust.fnFallible : LexLeanPreservation.Rust.RCrate → Nat → Option Bool :=\nfun c f =>\n Option.map (fun fn => LexLeanTarget.RustSemantics.fallibleType fn.snd.fst)\n (LexLeanTarget.RustSemantics.findFunction c.items (LexLeanPreservation.Rust.fnIdent f))\ndef LexLeanPreservation.Rust.RCI : LexLeanPreservation.Rust.RCrate →\n LexLeanPreservation.Rust.RIdent → List LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Rust.ROut → Prop :=\nfun c f args o =>\n o ≠ LexLeanTarget.RustSemantics.ROutcome.exhausted ∧ ∃ n, LexLeanTarget.RustSemantics.invoke n c f args = o\ndef LexLeanPreservation.Rust.Realizes : Bool → LexLeanPreservation.Obs → LexLeanPreservation.Rust.ROut → Prop :=\nfun fl x x_1 =>\n match x, x_1 with\n | LexLeanPreservation.Obs.value v, LexLeanTarget.RustSemantics.ROutcome.value w => w = v\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.raise => fl = true\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.abort => True\n | x, x_2 => False\ndef LexLeanPreservation.Rust.RealizesFn : Bool → LexLeanPreservation.Obs → LexLeanPreservation.Rust.ROut → Prop :=\nfun fallible x x_1 =>\n match x, x_1 with\n | LexLeanPreservation.Obs.value v, LexLeanTarget.RustSemantics.ROutcome.value w => w = bif fallible then v.ok else v\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.value w =>\n fallible = true ∧ w = LexLeanTarget.TargetSyntax.Value.unit.error\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.abort => True\n | x, x_2 => False\ndef LexLeanPreservation.Rust.FunSem : LexLeanTarget.TargetSyntax.Program →\n LexLeanPreservation.Rust.RCrate → LexLeanPreservation.Rust.Flags → Nat → Nat → Prop :=\nfun p c A n f =>\n ∀ (fn : LexLeanTarget.TargetSyntax.Function) (args : List LexLeanTarget.TargetSyntax.Value)\n (env : List (Nat × LexLeanTarget.TargetSyntax.Value)) (F : Bool),\n LexLeanRuntime.index p.functions f = some fn →\n LexLeanPreservation.Rust.WTL p c A args fn.types →\n LexLeanTarget.TargetSemantics.bindAll fn.parameters args [] = some env →\n LexLeanPreservation.Rust.fnFallible c f = some F →\n ∀ (o : LexLeanPreservation.Obs),\n LexLeanPreservation.obs (LexLeanTarget.TargetSemantics.eval n p env fn.body) = some o →\n o ≠ LexLeanPreservation.Obs.stuck →\n (∀ (v : LexLeanTarget.TargetSyntax.Value),\n o = LexLeanPreservation.Obs.value v → LexLeanPreservation.Rust.WT p c A v fn.result) ∧\n ∃ ro,\n LexLeanPreservation.Rust.RealizesFn F o ro ∧\n LexLeanPreservation.Rust.RCI c (LexLeanPreservation.Rust.fnIdent f) args ro\ndef LexLeanPreservation.someObs : LexLeanPreservation.Obs → LexLeanPreservation.Obs :=\nfun x =>\n match x with\n | LexLeanPreservation.Obs.value v => LexLeanPreservation.Obs.value v.some\n | LexLeanPreservation.Obs.overflow => LexLeanPreservation.Obs.overflow\n | LexLeanPreservation.Obs.stuck => LexLeanPreservation.Obs.stuck\ndef LexLeanPreservation.Rust.Representable : LexLeanTarget.TargetSyntax.Value → Prop :=\nfun x => x.brecOn LexLeanPreservation.Rust.Representable._f LexLeanPreservation.Rust.RepresentableL._f\ndef LexLeanPreservation.Rust.RepresentableL : List LexLeanTarget.TargetSyntax.Value → Prop :=\nfun x =>\n LexLeanTarget.TargetSyntax.Value.brecOn_1 x LexLeanPreservation.Rust.Representable._f\n LexLeanPreservation.Rust.RepresentableL._f\nLexLeanPreservation.Rust.runItem_abort_infallible : ∀ (profile : LexLeanTarget.RustSyntax.Profile)\n (item : LexLeanTarget.RustSyntax.Item) (values : List LexLeanTarget.TargetSyntax.Value),\n LexLeanTarget.RustSemantics.runItem profile item values = LexLeanTarget.RustSemantics.ROutcome.abort →\n LexLeanTarget.RustSemantics.itemFallible item = false\n","stdout_sha256":"b61a925a6c39a1856db8bbd0108089de5d9c0f0505ec5dd5de94f508055f800a","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.Compose.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.Compose.RustStd.json new file mode 100644 index 000000000..856afd38c --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R0/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R0/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.RustStd.json new file mode 100644 index 000000000..e4b384258 --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R0/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R0/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.json new file mode 100644 index 000000000..21961d995 --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R0.olean","$STAGING/preserve-src/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R0.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R0","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.Compose.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.Compose.RustStd.json new file mode 100644 index 000000000..effe9f03b --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R1/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R1/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.RustStd.json new file mode 100644 index 000000000..60d2acc18 --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R1/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R1/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.json new file mode 100644 index 000000000..bce3528ea --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R1.olean","$STAGING/preserve-src/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R1.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R1","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.Compose.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.Compose.RustStd.json new file mode 100644 index 000000000..e90d4b52a --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R2/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R2/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.RustStd.json new file mode 100644 index 000000000..2de64ca65 --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R2/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R2/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.json new file mode 100644 index 000000000..4e77659a7 --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R2.olean","$STAGING/preserve-src/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R2.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R2","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.Compose.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.Compose.RustStd.json new file mode 100644 index 000000000..88d539912 --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R3/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R3/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.RustStd.json new file mode 100644 index 000000000..15915148e --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R3/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R3/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.json new file mode 100644 index 000000000..58cf4b913 --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R3.olean","$STAGING/preserve-src/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R3.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R3","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.Compose.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.Compose.RustStd.json new file mode 100644 index 000000000..feab6c8ae --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R4/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R4/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.RustStd.json new file mode 100644 index 000000000..05a6791d4 --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R4/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R4/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.json new file mode 100644 index 000000000..020a60e5a --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R4.olean","$STAGING/preserve-src/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R4.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R4","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.Compose.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.Compose.RustStd.json new file mode 100644 index 000000000..11706fbde --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R5/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R5/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.RustStd.json new file mode 100644 index 000000000..97eb33ccb --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R5/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R5/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.json new file mode 100644 index 000000000..347fa08b5 --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R5.olean","$STAGING/preserve-src/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R5.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R5","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.Compose.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.Compose.RustStd.json new file mode 100644 index 000000000..678caf6ca --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R6/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R6/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.RustStd.json new file mode 100644 index 000000000..9adb71c83 --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R6/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R6/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.json new file mode 100644 index 000000000..c0a9748b9 --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R6.olean","$STAGING/preserve-src/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R6.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R6","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.Compose.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.Compose.RustStd.json new file mode 100644 index 000000000..e9ff79aff --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R7/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R7/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.RustStd.json new file mode 100644 index 000000000..75bd171a4 --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R7/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R7/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.json new file mode 100644 index 000000000..90c3b0eca --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R7.olean","$STAGING/preserve-src/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R7.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R7","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.Compose.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.Compose.RustStd.json new file mode 100644 index 000000000..a4d7b78fc --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R8/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R8/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.RustStd.json new file mode 100644 index 000000000..5d09eb3a8 --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R8/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R8/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.json new file mode 100644 index 000000000..4b382f85b --- /dev/null +++ b/examples/models/expected/verify/process/preserve/LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R8.olean","$STAGING/preserve-src/LexLeanPreserve/C0f600e9a78a6f4d72a3e289fa7bc71d4/R8.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0f600e9a78a6f4d72a3e289fa7bc71d4.R8","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.Compose.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.Compose.RustStd.json deleted file mode 100644 index 38ce3c326..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R0/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R0/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.RustStd.json deleted file mode 100644 index 6ffbdaab5..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R0/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R0/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.json deleted file mode 100644 index 17b8ea36b..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R0.olean","$STAGING/preserve-src/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R0.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R0","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.Compose.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.Compose.RustStd.json deleted file mode 100644 index 0ea9e6835..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R1/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R1/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.RustStd.json deleted file mode 100644 index 86f7914fc..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R1/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R1/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.json deleted file mode 100644 index 03f6a687e..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R1.olean","$STAGING/preserve-src/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R1.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R1","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.Compose.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.Compose.RustStd.json deleted file mode 100644 index 9fc578325..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R2/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R2/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.RustStd.json deleted file mode 100644 index 08f4f530b..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R2/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R2/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.json deleted file mode 100644 index 88a1297a2..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R2.olean","$STAGING/preserve-src/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R2.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R2","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.Compose.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.Compose.RustStd.json deleted file mode 100644 index 91641b816..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R3/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R3/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.RustStd.json deleted file mode 100644 index b04226f29..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R3/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R3/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.json deleted file mode 100644 index e08e23481..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R3.olean","$STAGING/preserve-src/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R3.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R3","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.Compose.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.Compose.RustStd.json deleted file mode 100644 index 411d33074..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R4/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R4/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.RustStd.json deleted file mode 100644 index 2bccd58f8..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R4/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R4/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.json deleted file mode 100644 index c4048913d..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R4.olean","$STAGING/preserve-src/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R4.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R4","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.Compose.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.Compose.RustStd.json deleted file mode 100644 index 8564bec34..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R5/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R5/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.RustStd.json deleted file mode 100644 index c1a0f6ddc..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R5/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R5/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.json deleted file mode 100644 index e97ff8989..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R5.olean","$STAGING/preserve-src/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R5.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R5","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.Compose.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.Compose.RustStd.json deleted file mode 100644 index 3304f9f08..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R6/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R6/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.RustStd.json deleted file mode 100644 index 2403e289c..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R6/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R6/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.json deleted file mode 100644 index 0bf2f0915..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R6.olean","$STAGING/preserve-src/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R6.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R6","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.Compose.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.Compose.RustStd.json deleted file mode 100644 index b8b7f7228..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R7/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R7/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.RustStd.json deleted file mode 100644 index 03a202449..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R7/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R7/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.json deleted file mode 100644 index 37d9cbdec..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R7.olean","$STAGING/preserve-src/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R7.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R7","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.Compose.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.Compose.RustStd.json deleted file mode 100644 index 568fb5587..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R8/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R8/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.RustStd.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.RustStd.json deleted file mode 100644 index b18c5d5d3..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R8/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R8/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.json b/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.json deleted file mode 100644 index 7eb5ed3e9..000000000 --- a/examples/models/expected/verify/process/preserve/LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R8.olean","$STAGING/preserve-src/LexLeanPreserve/Ccca462bfe8cabc3365338af96b591362/R8.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ccca462bfe8cabc3365338af96b591362.R8","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/models/expected/verify/production/compiler-input.json b/examples/models/expected/verify/production/compiler-input.json index eb588cd26..0db71b2b8 100644 --- a/examples/models/expected/verify/production/compiler-input.json +++ b/examples/models/expected/verify/production/compiler-input.json @@ -1 +1 @@ -{"closures":[{"declarations":["Models.Main.admitCosts","Models.Pipeline.SessionStream","Models.Pipeline.StreamModel","Models.Pipeline.shortStreamCheck","Models.Session.SessionModel","Models.Session.SessionModel.initial","Models.Session.SessionStep","Models.Session.SessionStep.initial","Models.Session.affordableCheck","Models.Session.boundedCheck"],"erased":[],"instances":[{"declaration":"Models.Main.admitCosts","instance":"Models.Main.admitCosts","type_arguments":[]},{"declaration":"Models.Pipeline.shortStreamCheck","instance":"Models.Pipeline.shortStreamCheck","type_arguments":[]},{"declaration":"Models.Pipeline.StreamModel","instance":"Models.Pipeline.StreamModel","type_arguments":[]},{"declaration":"Models.Pipeline.SessionStream","instance":"Models.Pipeline.SessionStream","type_arguments":[]},{"declaration":"Models.Session.boundedCheck","instance":"Models.Session.boundedCheck","type_arguments":[]},{"declaration":"Models.Session.affordableCheck","instance":"Models.Session.affordableCheck","type_arguments":[]},{"declaration":"Models.Session.SessionModel","instance":"Models.Session.SessionModel","type_arguments":[]},{"declaration":"Models.Session.SessionModel.initial","instance":"Models.Session.SessionModel.initial","type_arguments":[]},{"declaration":"Models.Session.SessionStep","instance":"Models.Session.SessionStep","type_arguments":[]},{"declaration":"Models.Session.SessionStep.initial","instance":"Models.Session.SessionStep.initial","type_arguments":[]}],"internal_erased":[],"root":"Models.Main.admitCosts","runtime":["Models.Pipeline.LexLeanCollections.listFold","Models.Pipeline.LexLeanRuntime.append","Models.Pipeline.LexLeanRuntime.instAppendableList","Models.Pipeline.LexLeanRuntime.instLengthableList","Models.Pipeline.LexLeanRuntime.length","Models.Session.LexLeanRuntime.subtract"]},{"declarations":["Models.Glyphs.encode","Models.Main.classify","Models.Recognizer.DigitModel","Models.Recognizer.DigitNet","Models.Recognizer.DigitNet.encoded","Models.Recognizer.DigitNet.layer1","Models.Recognizer.DigitNet.layer2","Models.Recognizer.DigitNet.layer3","Models.Recognizer.DigitNet.layer4","Models.Recognizer.DigitNet.logits","Models.Recognizer.hiddenBias","Models.Recognizer.hiddenWeights","Models.Recognizer.outputBias","Models.Recognizer.outputWeights"],"erased":[],"instances":[{"declaration":"Models.Main.classify","instance":"Models.Main.classify","type_arguments":[]},{"declaration":"Models.Recognizer.DigitModel","instance":"Models.Recognizer.DigitModel","type_arguments":[]},{"declaration":"Models.Recognizer.DigitNet","instance":"Models.Recognizer.DigitNet","type_arguments":[]},{"declaration":"Models.Recognizer.DigitNet.logits","instance":"Models.Recognizer.DigitNet.logits","type_arguments":[]},{"declaration":"Models.Recognizer.DigitNet.layer4","instance":"Models.Recognizer.DigitNet.layer4","type_arguments":[]},{"declaration":"Models.Recognizer.DigitNet.layer3","instance":"Models.Recognizer.DigitNet.layer3","type_arguments":[]},{"declaration":"Models.Recognizer.DigitNet.layer2","instance":"Models.Recognizer.DigitNet.layer2","type_arguments":[]},{"declaration":"Models.Recognizer.DigitNet.layer1","instance":"Models.Recognizer.DigitNet.layer1","type_arguments":[]},{"declaration":"Models.Recognizer.DigitNet.encoded","instance":"Models.Recognizer.DigitNet.encoded","type_arguments":[]},{"declaration":"Models.Recognizer.outputBias","instance":"Models.Recognizer.outputBias","type_arguments":[]},{"declaration":"Models.Recognizer.outputWeights","instance":"Models.Recognizer.outputWeights","type_arguments":[]},{"declaration":"Models.Recognizer.hiddenBias","instance":"Models.Recognizer.hiddenBias","type_arguments":[]},{"declaration":"Models.Recognizer.hiddenWeights","instance":"Models.Recognizer.hiddenWeights","type_arguments":[]},{"declaration":"Models.Glyphs.encode","instance":"Models.Glyphs.encode","type_arguments":[]}],"internal_erased":[],"root":"Models.Main.classify","runtime":["Models.Recognizer.LexLeanCollections.instKeyInt","Models.Recognizer.LexLeanCollections.lessThan","Models.Recognizer.LexLeanCollections.listFold","Models.Recognizer.LexLeanRuntime.append","Models.Recognizer.LexLeanRuntime.instAppendableList","Models.Recognizer.LexLeanRuntime.instQuotientInt","Models.Recognizer.LexLeanRuntime.multiply","Models.Recognizer.LexLeanRuntime.negate","Models.Recognizer.LexLeanRuntime.quotient","Models.Recognizer.LexLeanRuntime.subtract"]},{"declarations":["Models.Glyphs.digitOf","Models.Glyphs.encode","Models.Main.classifyChecked","Models.Recognizer.DigitNet","Models.Recognizer.DigitNet.encoded","Models.Recognizer.DigitNet.layer1","Models.Recognizer.DigitNet.layer2","Models.Recognizer.DigitNet.layer3","Models.Recognizer.DigitNet.layer4","Models.Recognizer.DigitNet.logits","Models.Recognizer.RawDigitModel","Models.Recognizer.hiddenBias","Models.Recognizer.hiddenWeights","Models.Recognizer.outputBias","Models.Recognizer.outputWeights","Models.Recognizer.recognizesCheck"],"erased":[],"instances":[{"declaration":"Models.Main.classifyChecked","instance":"Models.Main.classifyChecked","type_arguments":[]},{"declaration":"Models.Recognizer.RawDigitModel","instance":"Models.Recognizer.RawDigitModel","type_arguments":[]},{"declaration":"Models.Recognizer.recognizesCheck","instance":"Models.Recognizer.recognizesCheck","type_arguments":[]},{"declaration":"Models.Recognizer.DigitNet","instance":"Models.Recognizer.DigitNet","type_arguments":[]},{"declaration":"Models.Glyphs.digitOf","instance":"Models.Glyphs.digitOf","type_arguments":[]},{"declaration":"Models.Recognizer.DigitNet.logits","instance":"Models.Recognizer.DigitNet.logits","type_arguments":[]},{"declaration":"Models.Recognizer.DigitNet.layer4","instance":"Models.Recognizer.DigitNet.layer4","type_arguments":[]},{"declaration":"Models.Recognizer.DigitNet.layer3","instance":"Models.Recognizer.DigitNet.layer3","type_arguments":[]},{"declaration":"Models.Recognizer.DigitNet.layer2","instance":"Models.Recognizer.DigitNet.layer2","type_arguments":[]},{"declaration":"Models.Recognizer.DigitNet.layer1","instance":"Models.Recognizer.DigitNet.layer1","type_arguments":[]},{"declaration":"Models.Recognizer.DigitNet.encoded","instance":"Models.Recognizer.DigitNet.encoded","type_arguments":[]},{"declaration":"Models.Recognizer.outputBias","instance":"Models.Recognizer.outputBias","type_arguments":[]},{"declaration":"Models.Recognizer.outputWeights","instance":"Models.Recognizer.outputWeights","type_arguments":[]},{"declaration":"Models.Recognizer.hiddenBias","instance":"Models.Recognizer.hiddenBias","type_arguments":[]},{"declaration":"Models.Recognizer.hiddenWeights","instance":"Models.Recognizer.hiddenWeights","type_arguments":[]},{"declaration":"Models.Glyphs.encode","instance":"Models.Glyphs.encode","type_arguments":[]}],"internal_erased":[],"root":"Models.Main.classifyChecked","runtime":["Models.Recognizer.LexLeanCollections.instKeyInt","Models.Recognizer.LexLeanCollections.lessThan","Models.Recognizer.LexLeanCollections.listFold","Models.Recognizer.LexLeanRuntime.append","Models.Recognizer.LexLeanRuntime.instAppendableList","Models.Recognizer.LexLeanRuntime.instQuotientInt","Models.Recognizer.LexLeanRuntime.multiply","Models.Recognizer.LexLeanRuntime.negate","Models.Recognizer.LexLeanRuntime.quotient","Models.Recognizer.LexLeanRuntime.subtract"]},{"declarations":["Models.Flows.ClampGuess","Models.Flows.FlowModel","Models.Ledger.Clamp","Models.Ledger.ClampModel","Models.Ledger.Guess","Models.Ledger.GuessModel","Models.Ledger.belowCheck","Models.Ledger.cappedCheck","Models.Ledger.withinCheck","Models.Main.flowStep"],"erased":[],"instances":[{"declaration":"Models.Main.flowStep","instance":"Models.Main.flowStep","type_arguments":[]},{"declaration":"Models.Ledger.cappedCheck","instance":"Models.Ledger.cappedCheck","type_arguments":[]},{"declaration":"Models.Flows.FlowModel","instance":"Models.Flows.FlowModel","type_arguments":[]},{"declaration":"Models.Flows.ClampGuess","instance":"Models.Flows.ClampGuess","type_arguments":[]},{"declaration":"Models.Ledger.ClampModel","instance":"Models.Ledger.ClampModel","type_arguments":[]},{"declaration":"Models.Ledger.withinCheck","instance":"Models.Ledger.withinCheck","type_arguments":[]},{"declaration":"Models.Ledger.GuessModel","instance":"Models.Ledger.GuessModel","type_arguments":[]},{"declaration":"Models.Ledger.belowCheck","instance":"Models.Ledger.belowCheck","type_arguments":[]},{"declaration":"Models.Ledger.Clamp","instance":"Models.Ledger.Clamp","type_arguments":[]},{"declaration":"Models.Ledger.Guess","instance":"Models.Ledger.Guess","type_arguments":[]}],"internal_erased":[],"root":"Models.Main.flowStep","runtime":["Models.Ledger.LexLeanRuntime.subtract"]},{"declarations":["Models.Ledger.Guess","Models.Ledger.GuessModel","Models.Ledger.belowCheck","Models.Ledger.withinCheck","Models.Main.guessChecked"],"erased":[],"instances":[{"declaration":"Models.Main.guessChecked","instance":"Models.Main.guessChecked","type_arguments":[]},{"declaration":"Models.Ledger.withinCheck","instance":"Models.Ledger.withinCheck","type_arguments":[]},{"declaration":"Models.Ledger.GuessModel","instance":"Models.Ledger.GuessModel","type_arguments":[]},{"declaration":"Models.Ledger.belowCheck","instance":"Models.Ledger.belowCheck","type_arguments":[]},{"declaration":"Models.Ledger.Guess","instance":"Models.Ledger.Guess","type_arguments":[]}],"internal_erased":[],"root":"Models.Main.guessChecked","runtime":["Models.Ledger.LexLeanRuntime.subtract"]},{"declarations":["Models.Ledger.Spill","Models.Ledger.SpillRawModel","Models.Ledger.cappedCheck","Models.Ledger.growsCheck","Models.Ledger.smallCheck","Models.Main.ledgerFull"],"erased":[],"instances":[{"declaration":"Models.Main.ledgerFull","instance":"Models.Main.ledgerFull","type_arguments":[]},{"declaration":"Models.Ledger.cappedCheck","instance":"Models.Ledger.cappedCheck","type_arguments":[]},{"declaration":"Models.Ledger.smallCheck","instance":"Models.Ledger.smallCheck","type_arguments":[]},{"declaration":"Models.Ledger.SpillRawModel","instance":"Models.Ledger.SpillRawModel","type_arguments":[]},{"declaration":"Models.Ledger.growsCheck","instance":"Models.Ledger.growsCheck","type_arguments":[]},{"declaration":"Models.Ledger.Spill","instance":"Models.Ledger.Spill","type_arguments":[]}],"internal_erased":[],"root":"Models.Main.ledgerFull","runtime":[]},{"declarations":["Models.Ledger.Spill","Models.Ledger.SpillModel","Models.Ledger.cappedCheck","Models.Ledger.smallCheck","Models.Main.ledgerPost"],"erased":[],"instances":[{"declaration":"Models.Main.ledgerPost","instance":"Models.Main.ledgerPost","type_arguments":[]},{"declaration":"Models.Ledger.cappedCheck","instance":"Models.Ledger.cappedCheck","type_arguments":[]},{"declaration":"Models.Ledger.smallCheck","instance":"Models.Ledger.smallCheck","type_arguments":[]},{"declaration":"Models.Ledger.SpillModel","instance":"Models.Ledger.SpillModel","type_arguments":[]},{"declaration":"Models.Ledger.Spill","instance":"Models.Ledger.Spill","type_arguments":[]}],"internal_erased":[],"root":"Models.Main.ledgerPost","runtime":[]},{"declarations":["Models.Main.respond","Models.Pipeline.PipelineModel","Models.Pipeline.TriagePipeline","Models.Policy.PolicyModel","Models.Policy.PolicyRules","Models.Policy.isUrgent","Models.Triage.TriageModel","Models.Triage.TriageScore","Models.Triage.TriageScore.features","Models.Triage.TriageScore.scores","Models.Triage.features","Models.Triage.hasSymptom","Models.Triage.isEmergency","Models.Triage.symptomaticCheck","Models.Triage.triageBias","Models.Triage.triageWeights"],"erased":[],"instances":[{"declaration":"Models.Main.respond","instance":"Models.Main.respond","type_arguments":[]},{"declaration":"Models.Triage.symptomaticCheck","instance":"Models.Triage.symptomaticCheck","type_arguments":[]},{"declaration":"Models.Pipeline.PipelineModel","instance":"Models.Pipeline.PipelineModel","type_arguments":[]},{"declaration":"Models.Triage.hasSymptom","instance":"Models.Triage.hasSymptom","type_arguments":[]},{"declaration":"Models.Pipeline.TriagePipeline","instance":"Models.Pipeline.TriagePipeline","type_arguments":[]},{"declaration":"Models.Triage.TriageModel","instance":"Models.Triage.TriageModel","type_arguments":[]},{"declaration":"Models.Policy.PolicyModel","instance":"Models.Policy.PolicyModel","type_arguments":[]},{"declaration":"Models.Triage.TriageScore","instance":"Models.Triage.TriageScore","type_arguments":[]},{"declaration":"Models.Policy.PolicyRules","instance":"Models.Policy.PolicyRules","type_arguments":[]},{"declaration":"Models.Triage.TriageScore.scores","instance":"Models.Triage.TriageScore.scores","type_arguments":[]},{"declaration":"Models.Triage.isEmergency","instance":"Models.Triage.isEmergency","type_arguments":[]},{"declaration":"Models.Policy.isUrgent","instance":"Models.Policy.isUrgent","type_arguments":[]},{"declaration":"Models.Triage.TriageScore.features","instance":"Models.Triage.TriageScore.features","type_arguments":[]},{"declaration":"Models.Triage.triageBias","instance":"Models.Triage.triageBias","type_arguments":[]},{"declaration":"Models.Triage.triageWeights","instance":"Models.Triage.triageWeights","type_arguments":[]},{"declaration":"Models.Triage.features","instance":"Models.Triage.features","type_arguments":[]}],"internal_erased":[],"root":"Models.Main.respond","runtime":["Models.Triage.LexLeanCollections.instKeyInt","Models.Triage.LexLeanCollections.lessThan","Models.Triage.LexLeanCollections.listFold","Models.Triage.LexLeanRuntime.append","Models.Triage.LexLeanRuntime.instAppendableList","Models.Triage.LexLeanRuntime.multiply","Models.Triage.LexLeanRuntime.negate","Models.Triage.LexLeanRuntime.subtract"]},{"declarations":["Models.Main.step","Models.Session.SessionModel","Models.Session.SessionStep","Models.Session.affordableCheck","Models.Session.boundedCheck"],"erased":[],"instances":[{"declaration":"Models.Main.step","instance":"Models.Main.step","type_arguments":[]},{"declaration":"Models.Session.boundedCheck","instance":"Models.Session.boundedCheck","type_arguments":[]},{"declaration":"Models.Session.affordableCheck","instance":"Models.Session.affordableCheck","type_arguments":[]},{"declaration":"Models.Session.SessionModel","instance":"Models.Session.SessionModel","type_arguments":[]},{"declaration":"Models.Session.SessionStep","instance":"Models.Session.SessionStep","type_arguments":[]}],"internal_erased":[],"root":"Models.Main.step","runtime":["Models.Session.LexLeanRuntime.subtract"]}],"declarations":[{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}},{"id":"v0","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v14","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v12","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}},{"id":"v0","kind":"fvar"},{"id":"v24","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v24","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v23","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v9","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v21","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}},{"id":"v7","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v27","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v18","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v26","type":{"kind":"erased"}}]}],"discriminant":"v20","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Decidable"},"id":"v20","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v5","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.belowCheck"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.GuessModel"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v16","type":{"kind":"erased"}}]}],"discriminant":"v10","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Decidable"},"id":"v10","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.withinCheck"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v3"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.ClampModel"}},"level_parameters":[],"name":"Models.Flows.ClampGuess","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Flows.ClampGuess"}},"level_parameters":[],"name":"Models.Flows.FlowModel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v62","kind":"return"},"id":"v62","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v61","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v61","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g0","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v64","kind":"return"},"id":"v64","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v63","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v63","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g1","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v66","kind":"return"},"id":"v66","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v65","kind":"fvar"}],"function":"v18","kind":"apply"}},"id":"v65","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g2","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v68","kind":"return"},"id":"v68","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v67","kind":"fvar"}],"function":"v24","kind":"apply"}},"id":"v67","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g3","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v70","kind":"return"},"id":"v70","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v69","kind":"fvar"}],"function":"v30","kind":"apply"}},"id":"v69","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g4","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v72","kind":"return"},"id":"v72","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v71","kind":"fvar"}],"function":"v36","kind":"apply"}},"id":"v71","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g5","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v74","kind":"return"},"id":"v74","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v73","kind":"fvar"}],"function":"v42","kind":"apply"}},"id":"v73","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g6","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v76","kind":"return"},"id":"v76","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v75","kind":"fvar"}],"function":"v48","kind":"apply"}},"id":"v75","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g7","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v78","kind":"return"},"id":"v78","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v77","kind":"fvar"}],"function":"v54","kind":"apply"}},"id":"v77","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g8","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v80","kind":"return"},"id":"v80","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v79","kind":"fvar"}],"function":"v60","kind":"apply"}},"id":"v79","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g9","kind":"constructor","parameters":[]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Models.Glyphs.Glyph"},"id":"v60","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v55","kind":"apply"}},"declaration":{"id":"v55","parameters":[{"borrow":false,"id":"v56","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v59","kind":"return"},"id":"v59","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v58"}},"id":"v58","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v57","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v57","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9"}}}},"kind":"fun"},"id":"v54","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v49","kind":"apply"}},"declaration":{"id":"v49","parameters":[{"borrow":false,"id":"v50","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v53","kind":"return"},"id":"v53","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v52"}},"id":"v52","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v51","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v51","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"8"}}}},"kind":"fun"},"id":"v48","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v43","kind":"apply"}},"declaration":{"id":"v43","parameters":[{"borrow":false,"id":"v44","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v47","kind":"return"},"id":"v47","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v46"}},"id":"v46","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v45","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v45","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"7"}}}},"kind":"fun"},"id":"v42","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v37","kind":"apply"}},"declaration":{"id":"v37","parameters":[{"borrow":false,"id":"v38","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v41","kind":"return"},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v40"}},"id":"v40","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v39","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v39","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"6"}}}},"kind":"fun"},"id":"v36","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v31","kind":"apply"}},"declaration":{"id":"v31","parameters":[{"borrow":false,"id":"v32","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v35","kind":"return"},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v34"}},"id":"v34","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"5"}}}},"kind":"fun"},"id":"v30","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v25","kind":"apply"}},"declaration":{"id":"v25","parameters":[{"borrow":false,"id":"v26","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v28"}},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v27","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4"}}}},"kind":"fun"},"id":"v24","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v19","kind":"apply"}},"declaration":{"id":"v19","parameters":[{"borrow":false,"id":"v20","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v22"}},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v21","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}}},"kind":"fun"},"id":"v18","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v13","kind":"apply"}},"declaration":{"id":"v13","parameters":[{"borrow":false,"id":"v14","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v16"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}}},"kind":"fun"},"id":"v12","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"level_parameters":[],"name":"Models.Glyphs.digitOf","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v169","kind":"return"},"id":"v169","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v168","kind":"fvar"}],"function":"v17","kind":"apply"}},"id":"v168","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g0","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v171","kind":"return"},"id":"v171","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v170","kind":"fvar"}],"function":"v34","kind":"apply"}},"id":"v170","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g1","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v173","kind":"return"},"id":"v173","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v172","kind":"fvar"}],"function":"v51","kind":"apply"}},"id":"v172","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g2","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v175","kind":"return"},"id":"v175","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v174","kind":"fvar"}],"function":"v68","kind":"apply"}},"id":"v174","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g3","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v177","kind":"return"},"id":"v177","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v176","kind":"fvar"}],"function":"v85","kind":"apply"}},"id":"v176","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g4","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v179","kind":"return"},"id":"v179","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v178","kind":"fvar"}],"function":"v102","kind":"apply"}},"id":"v178","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g5","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v181","kind":"return"},"id":"v181","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v180","kind":"fvar"}],"function":"v119","kind":"apply"}},"id":"v180","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g6","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v183","kind":"return"},"id":"v183","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v182","kind":"fvar"}],"function":"v136","kind":"apply"}},"id":"v182","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g7","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v185","kind":"return"},"id":"v185","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v184","kind":"fvar"}],"function":"v150","kind":"apply"}},"id":"v184","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g8","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v187","kind":"return"},"id":"v187","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v186","kind":"fvar"}],"function":"v167","kind":"apply"}},"id":"v186","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g9","kind":"constructor","parameters":[]}],"discriminant":"v0","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Models.Glyphs.Glyph"},"id":"v167","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v151","kind":"apply"}},"declaration":{"id":"v151","parameters":[{"borrow":false,"id":"v152","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v166","kind":"return"},"id":"v166","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v155","kind":"fvar"},{"id":"v165","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v165","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v155","kind":"fvar"},{"id":"v164","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v164","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v155","kind":"fvar"},{"id":"v163","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v163","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v155","kind":"fvar"},{"id":"v162","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v162","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v158","kind":"fvar"},{"id":"v161","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v161","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v155","kind":"fvar"},{"id":"v160","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v160","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v155","kind":"fvar"},{"id":"v159","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v159","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v158","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v157"}},"id":"v157","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v156","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v156","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v155","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v154"}},"id":"v154","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v153","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v153","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}}},"kind":"fun"},"id":"v150","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v137","kind":"apply"}},"declaration":{"id":"v137","parameters":[{"borrow":false,"id":"v138","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v149","kind":"return"},"id":"v149","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v141","kind":"fvar"},{"id":"v148","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v148","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v141","kind":"fvar"},{"id":"v147","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v147","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v141","kind":"fvar"},{"id":"v146","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v146","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v141","kind":"fvar"},{"id":"v145","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v145","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v141","kind":"fvar"},{"id":"v144","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v144","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v141","kind":"fvar"},{"id":"v143","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v143","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v141","kind":"fvar"},{"id":"v142","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v142","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v141","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v140"}},"id":"v140","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v139","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v139","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}}},"kind":"fun"},"id":"v136","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v120","kind":"apply"}},"declaration":{"id":"v120","parameters":[{"borrow":false,"id":"v121","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v135","kind":"return"},"id":"v135","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v124","kind":"fvar"},{"id":"v134","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v134","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v124","kind":"fvar"},{"id":"v133","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v133","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v124","kind":"fvar"},{"id":"v132","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v132","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v127","kind":"fvar"},{"id":"v131","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v131","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v127","kind":"fvar"},{"id":"v130","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v130","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v127","kind":"fvar"},{"id":"v129","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v129","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v127","kind":"fvar"},{"id":"v128","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v128","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v127","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v126"}},"id":"v126","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v125","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v125","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v124","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v123"}},"id":"v123","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v122","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v122","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}}},"kind":"fun"},"id":"v119","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v103","kind":"apply"}},"declaration":{"id":"v103","parameters":[{"borrow":false,"id":"v104","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v118","kind":"return"},"id":"v118","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v107","kind":"fvar"},{"id":"v117","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v117","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v110","kind":"fvar"},{"id":"v116","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v116","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v107","kind":"fvar"},{"id":"v115","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v115","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v107","kind":"fvar"},{"id":"v114","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v114","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v107","kind":"fvar"},{"id":"v113","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v113","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v107","kind":"fvar"},{"id":"v112","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v112","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v107","kind":"fvar"},{"id":"v111","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v111","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v110","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v109"}},"id":"v109","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v108","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v108","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v107","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v106"}},"id":"v106","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v105","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v105","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}}},"kind":"fun"},"id":"v102","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v86","kind":"apply"}},"declaration":{"id":"v86","parameters":[{"borrow":false,"id":"v87","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v101","kind":"return"},"id":"v101","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v90","kind":"fvar"},{"id":"v100","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v100","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v93","kind":"fvar"},{"id":"v99","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v99","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v90","kind":"fvar"},{"id":"v98","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v98","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v90","kind":"fvar"},{"id":"v97","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v97","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v93","kind":"fvar"},{"id":"v96","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v96","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v90","kind":"fvar"},{"id":"v95","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v95","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v90","kind":"fvar"},{"id":"v94","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v94","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v93","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v92"}},"id":"v92","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v91","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v91","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v90","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v89"}},"id":"v89","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v88","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v88","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}}},"kind":"fun"},"id":"v85","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v69","kind":"apply"}},"declaration":{"id":"v69","parameters":[{"borrow":false,"id":"v70","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v84","kind":"return"},"id":"v84","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v73","kind":"fvar"},{"id":"v83","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v83","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v76","kind":"fvar"},{"id":"v82","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v82","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v76","kind":"fvar"},{"id":"v81","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v81","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v73","kind":"fvar"},{"id":"v80","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v80","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v73","kind":"fvar"},{"id":"v79","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v79","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v76","kind":"fvar"},{"id":"v78","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v78","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v76","kind":"fvar"},{"id":"v77","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v77","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v76","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v75"}},"id":"v75","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v74","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v74","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v73","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v72"}},"id":"v72","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v71","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v71","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"id":"v68","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v52","kind":"apply"}},"declaration":{"id":"v52","parameters":[{"borrow":false,"id":"v53","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v67","kind":"return"},"id":"v67","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v56","kind":"fvar"},{"id":"v66","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v66","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v56","kind":"fvar"},{"id":"v65","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v65","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v56","kind":"fvar"},{"id":"v64","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v64","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v56","kind":"fvar"},{"id":"v63","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v63","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v59","kind":"fvar"},{"id":"v62","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v62","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v59","kind":"fvar"},{"id":"v61","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v61","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v56","kind":"fvar"},{"id":"v60","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v60","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v59","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v58"}},"id":"v58","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v57","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v57","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v56","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v55"}},"id":"v55","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v54","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v54","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}}},"kind":"fun"},"id":"v51","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v35","kind":"apply"}},"declaration":{"id":"v35","parameters":[{"borrow":false,"id":"v36","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v50","kind":"return"},"id":"v50","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v39","kind":"fvar"},{"id":"v49","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v49","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v39","kind":"fvar"},{"id":"v48","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v48","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v42","kind":"fvar"},{"id":"v47","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v47","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v39","kind":"fvar"},{"id":"v46","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v46","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v39","kind":"fvar"},{"id":"v45","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v45","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v42","kind":"fvar"},{"id":"v44","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v44","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v39","kind":"fvar"},{"id":"v43","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v42","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v41"}},"id":"v41","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v40","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v40","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v39","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v38"}},"id":"v38","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v37","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v37","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}}},"kind":"fun"},"id":"v34","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v18","kind":"apply"}},"declaration":{"id":"v18","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v33","kind":"return"},"id":"v33","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v22","kind":"fvar"},{"id":"v32","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v25","kind":"fvar"},{"id":"v31","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v31","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v25","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v30","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v22","kind":"fvar"},{"id":"v29","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v22","kind":"fvar"},{"id":"v28","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v22","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v22","kind":"fvar"},{"id":"v26","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v24"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v21"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"id":"v17","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}}},"kind":"fun"},"level_parameters":[],"name":"Models.Glyphs.encode","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v12","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v7","kind":"fvar"},{"id":"v6","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.LexLeanRuntime.subtract"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v7","kind":"fvar"},{"id":"v6","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.LexLeanRuntime.subtract"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v9"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"100"}}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"level_parameters":[],"name":"Models.Ledger.Clamp","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.Clamp"}},"level_parameters":[],"name":"Models.Ledger.ClampModel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.LexLeanRuntime.subtract"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubNat"}},"level_parameters":[],"name":"Models.Ledger.Guess","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.Guess"}},"level_parameters":[],"name":"Models.Ledger.GuessModel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HSub","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HSub"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHSub"}},"level_parameters":[],"name":"Models.Ledger.LexLeanRuntime.subtract","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v5","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"level_parameters":[],"name":"Models.Ledger.Spill","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.Spill"}},"level_parameters":[],"name":"Models.Ledger.SpillModel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.Spill"}},"level_parameters":[],"name":"Models.Ledger.SpillRawModel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"level_parameters":[],"name":"Models.Ledger.belowCheck","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"100"}}},"level_parameters":[],"name":"Models.Ledger.cappedCheck","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"level_parameters":[],"name":"Models.Ledger.growsCheck","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"10"}}},"level_parameters":[],"name":"Models.Ledger.smallCheck","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"10"}}},"level_parameters":[],"name":"Models.Ledger.withinCheck","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v6","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v5","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"id":"v11","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[],"function":"v10","kind":"apply"}},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Pipeline.StreamModel"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v9","type":{"kind":"erased"}}]}],"discriminant":"v4","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Pipeline.shortStreamCheck"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v0","kind":"apply"}},"level_parameters":[],"name":"Models.Main.admitCosts","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.DigitModel"}},"level_parameters":[],"name":"Models.Main.classify","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v5","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v7","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}]}],"discriminant":"v6","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.recognizesCheck"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.RawDigitModel"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"},"value":{"arguments":[],"function":"v0","kind":"apply"}},"level_parameters":[],"name":"Models.Main.classifyChecked","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v8","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v7","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v18","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v5","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v17","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v20","type":{"kind":"erased"}}]}],"discriminant":"v16","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v16","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.cappedCheck"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v13"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Flows.FlowModel"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}]}],"discriminant":"v6","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.cappedCheck"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v0","kind":"apply"}},"level_parameters":[],"name":"Models.Main.flowStep","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v6","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v5","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v3","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v18","type":{"kind":"erased"}}]}],"discriminant":"v13","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v13","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.belowCheck"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v10","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.GuessModel"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v9","type":{"kind":"erased"}}]}],"discriminant":"v4","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.withinCheck"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v0","kind":"apply"}},"level_parameters":[],"name":"Models.Main.guessChecked","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v8","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v7","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v15","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v25","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v5","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v34","kind":"return"},"id":"v34","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v33","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v33","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v5","kind":"fvar"},{"id":"v32","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v31","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v36","kind":"return"},"id":"v36","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v35","type":{"kind":"erased"}}]}],"discriminant":"v30","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v30","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v29","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v21","kind":"fvar"},{"id":"v28","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.growsCheck"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v20"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v27","type":{"kind":"erased"}}]}],"discriminant":"v23","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v23","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v21","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.cappedCheck"}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v20"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v19","kind":"apply"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.SpillRawModel"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v18","type":{"kind":"erased"}}]}],"discriminant":"v13","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v13","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.smallCheck"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}]}],"discriminant":"v6","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.cappedCheck"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v0","kind":"apply"}},"level_parameters":[],"name":"Models.Main.ledgerFull","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v8","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v7","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v15","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v25","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v5","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v27","type":{"kind":"erased"}}]}],"discriminant":"v23","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v23","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v21","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.cappedCheck"}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v20"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v19","kind":"apply"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.SpillModel"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v18","type":{"kind":"erased"}}]}],"discriminant":"v13","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v13","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.smallCheck"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}]}],"discriminant":"v6","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.cappedCheck"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v0","kind":"apply"}},"level_parameters":[],"name":"Models.Main.ledgerPost","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v6","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v5","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v10","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Pipeline.PipelineModel"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v9","type":{"kind":"erased"}}]}],"discriminant":"v4","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Triage.symptomaticCheck"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"},"value":{"arguments":[],"function":"v0","kind":"apply"}},"level_parameters":[],"name":"Models.Main.respond","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v8","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v7","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v15","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v19","kind":"apply"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Session.SessionModel"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v18","type":{"kind":"erased"}}]}],"discriminant":"v13","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v13","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Session.affordableCheck"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}]}],"discriminant":"v6","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Session.boundedCheck"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Session.Window"},"value":{"arguments":[],"function":"v0","kind":"apply"}},"level_parameters":[],"name":"Models.Main.step","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Session.Window"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Models.Session.Window"},"kind":"arrow"}},{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v1","kind":"fvar"},"value":{"arguments":[{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.foldl"}},"level_parameters":[],"name":"Models.Pipeline.LexLeanCollections.listFold","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"codomain":{"codomain":{"id":"v1","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"}},{"borrow":false,"id":"v3","type":{"id":"v1","kind":"fvar"}},{"borrow":false,"id":"v4","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Models.Pipeline.LexLeanRuntime.Appendable","value":"v1"}},"level_parameters":[],"name":"Models.Pipeline.LexLeanRuntime.append","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Models.Pipeline.LexLeanRuntime.Appendable"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Models.Pipeline.LexLeanRuntime.Appendable"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Models.Pipeline.LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Pipeline.LexLeanRuntime.Appendable.mk"}},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.appendTR"}},"level_parameters":[],"name":"Models.Pipeline.LexLeanRuntime.instAppendableList","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Models.Pipeline.LexLeanRuntime.Appendable"},"kind":"app"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Models.Pipeline.LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Pipeline.LexLeanRuntime.Lengthable.mk"}},"id":"v1","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.lengthTR"}},"level_parameters":[],"name":"Models.Pipeline.LexLeanRuntime.instLengthableList","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Models.Pipeline.LexLeanRuntime.Lengthable"},"kind":"app"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v3","kind":"apply"}},"id":"v3","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Models.Pipeline.LexLeanRuntime.Lengthable","value":"v1"}},"level_parameters":[],"name":"Models.Pipeline.LexLeanRuntime.length","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Models.Pipeline.LexLeanRuntime.Lengthable"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Models.Pipeline.LexLeanRuntime.Lengthable"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Pipeline.TriagePipeline"}},"level_parameters":[],"name":"Models.Pipeline.PipelineModel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v57","kind":"return"},"id":"v57","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v56","kind":"fvar"}],"function":"v50","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v56","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v59","kind":"return"},"id":"v59","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v58","kind":"fvar"}],"function":"v55","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v58","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v46","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Except"},"id":"v55","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v51","kind":"apply"}},"declaration":{"id":"v51","parameters":[{"borrow":false,"id":"v52","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"id":"v54","kind":"return"},"id":"v54","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v53","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"id":"v53","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v52"}}},"kind":"fun"},"id":"v50","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v47","kind":"apply"}},"declaration":{"id":"v47","parameters":[{"borrow":false,"id":"v48","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v49","kind":"return"},"id":"v49","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v48","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}}},"kind":"fun"},"id":"v46","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[],"function":"v45","kind":"apply"}},"id":"v45","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v44","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Pipeline.LexLeanCollections.listFold"}},"id":"v44","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v43","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Models.Session.Window"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v41","kind":"fvar"},{"id":"v42","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v42","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Session.Window"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Models.Session.SessionModel.initial"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v38","kind":"return"},"id":"v38","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v37","kind":"fvar"}],"function":"v6","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v37","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v40","kind":"return"},"id":"v40","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v39","kind":"fvar"}],"function":"v36","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v39","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v2","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Except"},"id":"v36","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v14","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v22","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v21","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v20","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v35","kind":"return"},"id":"v35","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v34","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"id":"v34","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Models.Session.Window"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v27","kind":"fvar"},{"id":"v33","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v33","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v28","kind":"fvar"},{"id":"v29","kind":"fvar"},{"id":"v32","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Pipeline.LexLeanRuntime.append"}},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v30","kind":"fvar"},{"id":"v31","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v31","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v26"}},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v8"}},"id":"v28","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Models.Pipeline.LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":[],"name":"Models.Pipeline.LexLeanRuntime.instAppendableList"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Session.Window"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v26"}},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v25","kind":"apply"}},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Session.SessionModel"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"kind":"erased"}}]}],"discriminant":"v19","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v19","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v18","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Session.affordableCheck"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v17","type":{"kind":"erased"}}]}],"discriminant":"v12","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v12","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Session.boundedCheck"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Session.Window"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v8"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"id":"v2","kind":"return"}},"kind":"fun"}},"kind":"fun"},"level_parameters":[],"name":"Models.Pipeline.SessionStream","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Pipeline.SessionStream"}},"level_parameters":[],"name":"Models.Pipeline.StreamModel","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Policy.PolicyModel"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Triage.TriageModel"}},"level_parameters":[],"name":"Models.Pipeline.TriagePipeline","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1001"}}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Pipeline.LexLeanRuntime.length"}},"id":"v1","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Models.Pipeline.LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":[],"name":"Models.Pipeline.LexLeanRuntime.instLengthableList"}},"level_parameters":[],"name":"Models.Pipeline.shortStreamCheck","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Policy.PolicyRules"}},"level_parameters":[],"name":"Models.Policy.PolicyModel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v9"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v7","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v13"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}]}],"discriminant":"v6","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Decidable"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Policy.isUrgent"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v4","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v17"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v15","type":{"kind":"erased"}}]}],"discriminant":"v3","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Decidable"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Triage.isEmergency"}},"level_parameters":[],"name":"Models.Policy.PolicyRules","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v10","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Level.routine","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v12","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Level.urgent","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"function":"v9","kind":"apply"}},"id":"v14","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Level.emergency","kind":"constructor","parameters":[]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Models.Triage.Level"},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Models.Policy.isUrgent","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.DigitNet"}},"level_parameters":[],"name":"Models.Recognizer.DigitModel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v104","kind":"return"},"id":"v104","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v103","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v103","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v106","kind":"return"},"id":"v106","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v105","kind":"fvar"}],"function":"v10","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v105","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v102","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Option"},"id":"v102","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v101"}},"id":"v101","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v11","kind":"fvar"},{"id":"v99","kind":"fvar"},{"id":"v100","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanCollections.listFold"}},"id":"v100","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.DigitNet.logits"}},"id":"v99","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v57","kind":"fvar"},{"id":"v98","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v98","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v60","kind":"fvar"},{"id":"v97","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v97","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v63","kind":"fvar"},{"id":"v96","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v96","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v66","kind":"fvar"},{"id":"v95","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v95","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v69","kind":"fvar"},{"id":"v94","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v94","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v72","kind":"fvar"},{"id":"v93","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v93","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v75","kind":"fvar"},{"id":"v92","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v92","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v78","kind":"fvar"},{"id":"v91","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v91","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v81","kind":"fvar"},{"id":"v90","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v90","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v84","kind":"fvar"},{"id":"v89","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v89","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v87","kind":"fvar"},{"id":"v88","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v88","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v87","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v86"}},"id":"v86","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v85","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v85","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9"}}},"id":"v84","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v83"}},"id":"v83","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v82","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v82","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"8"}}},"id":"v81","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v80"}},"id":"v80","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v79","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v79","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"7"}}},"id":"v78","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v77"}},"id":"v77","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v76","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v76","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"6"}}},"id":"v75","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v74"}},"id":"v74","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v73","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v73","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"5"}}},"id":"v72","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v71"}},"id":"v71","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v70","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v70","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4"}}},"id":"v69","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v68"}},"id":"v68","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v67","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v67","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v66","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v65"}},"id":"v65","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v64","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v64","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"id":"v63","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v62"}},"id":"v62","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v61","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v61","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v60","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v59"}},"id":"v59","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v58","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v58","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v57","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"declaration":{"id":"v11","parameters":[{"borrow":false,"id":"v12","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v13","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v53","kind":"return"},"id":"v53","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v52","kind":"fvar"}],"function":"v16","kind":"apply"}},"id":"v52","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v56","kind":"return"},"id":"v56","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v54","kind":"fvar"},{"id":"v55","kind":"fvar"}],"function":"v50","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v54","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v55","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v51","kind":"cases","result_type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"List"},"id":"v51","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v12"}},"id":"v50","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v19","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v48","kind":"fvar"}],"kind":"jump","target":"v45"},"id":"v48","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"arguments":[{"id":"v49","kind":"fvar"}],"kind":"jump","target":"v42"},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v49","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v38","kind":"cases","result_type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Option"},"declaration":{"id":"v45","parameters":[{"borrow":false,"id":"v46","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v47","kind":"fvar"}],"kind":"jump","target":"v39"},"id":"v47","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v46","kind":"fvar"}],"function":"v24","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v42","parameters":[{"borrow":false,"id":"v43","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v44","kind":"fvar"}],"kind":"jump","target":"v39"},"id":"v44","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v43","kind":"fvar"}],"function":"v37","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v39","parameters":[{"borrow":false,"id":"v40","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v41","kind":"return"},"id":"v41","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v40","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}}},"kind":"join"},"id":"v38","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v12"}},"id":"v37","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v25","kind":"apply"}},"declaration":{"id":"v25","parameters":[{"borrow":false,"id":"v26","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v33","kind":"return"},"id":"v33","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v26","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v32","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v36","kind":"return"},"id":"v36","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v35","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v18","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v34","type":{"kind":"erased"}}]}],"discriminant":"v31","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v31","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v29","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v27","kind":"fvar"},{"id":"v28","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanCollections.lessThan"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v26"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanCollections.instKeyInt"}}},"kind":"fun"},"id":"v24","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v20","kind":"apply"}},"declaration":{"id":"v20","parameters":[{"borrow":false,"id":"v21","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v22","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v18","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}}},"kind":"fun"}},"kind":"fun"},"id":"v16","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v14","kind":"apply"}},"declaration":{"id":"v14","parameters":[{"borrow":false,"id":"v15","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"id":"v12","kind":"return"}},"kind":"fun"}},"kind":"fun"},"id":"v10","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v8"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"level_parameters":[],"name":"Models.Recognizer.DigitNet","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Glyphs.encode"}},"level_parameters":[],"name":"Models.Recognizer.DigitNet.encoded","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v60","kind":"return"},"id":"v60","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v59"}},"id":"v59","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v57","kind":"fvar"},{"id":"v58","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanCollections.listFold"}},"id":"v58","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Models.Recognizer.hiddenWeights"}},"id":"v57","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v55","kind":"fvar"},{"id":"v56","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v56","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Models.Recognizer.hiddenBias"}},"id":"v55","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v51","kind":"return"},"id":"v51","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v50","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v50","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v54","kind":"return"},"id":"v54","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v52","kind":"fvar"},{"id":"v53","kind":"fvar"}],"function":"v48","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v52","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v53","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v49","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"List"},"id":"v49","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v2"}},"id":"v48","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v9","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v47","kind":"return"},"id":"v47","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v46","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v46","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v45","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.append"}},"id":"v45","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v43","kind":"fvar"},{"id":"v44","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v44","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v12","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v42","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.subtract"}},"id":"v42","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v13","kind":"fvar"},{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.negate"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v40"}},"id":"v40","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v14","kind":"fvar"},{"id":"v39","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanCollections.listFold"}},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v38","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v38","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v37"}},"id":"v37","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v36","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v36","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"declaration":{"id":"v14","parameters":[{"borrow":false,"id":"v15","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v16","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v31","kind":"fvar"}],"function":"v19","kind":"apply"}},"id":"v31","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v35","kind":"return"},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"},{"id":"v34","kind":"fvar"}],"function":"v29","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v33","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v34","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v30","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"List"},"id":"v30","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v15"}},"id":"v29","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"function":"v20","kind":"apply"}},"declaration":{"id":"v20","parameters":[{"borrow":false,"id":"v21","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v22","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v27","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v12","kind":"fvar"},{"id":"v23","kind":"fvar"},{"id":"v26","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.subtract"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v13","kind":"fvar"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.negate"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v24","kind":"fvar"},{"id":"v16","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.multiply"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instMul"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v15"}}},"kind":"fun"},"id":"v19","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"id":"v15","kind":"return"}},"kind":"fun"}},"kind":"fun"},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instNegInt"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instSub"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v2"}},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.instAppendableList"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"id":"v2","kind":"return"}},"kind":"fun"}},"kind":"fun"},"level_parameters":[],"name":"Models.Recognizer.DigitNet.layer1","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v19","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanCollections.listFold"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"jump","target":"v12"},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v17","type":{"kind":"erased"}}]},{"code":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"jump","target":"v12"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v18","type":{"kind":"erased"}}]}],"discriminant":"v11","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v4","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.append"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}}},"kind":"join"},"id":"v11","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanCollections.lessThan"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanCollections.instKeyInt"}},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.instAppendableList"}}},"kind":"fun"},"level_parameters":[],"name":"Models.Recognizer.DigitNet.layer2","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v33","kind":"return"},"id":"v33","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v32","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanCollections.listFold"}},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"arguments":[{"id":"v13","kind":"fvar"}],"kind":"jump","target":"v18"},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v29","type":{"kind":"erased"}}]},{"code":{"arguments":[{"id":"v26","kind":"fvar"}],"kind":"jump","target":"v18"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v30","type":{"kind":"erased"}}]}],"discriminant":"v28","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Decidable"},"id":"v28","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v27","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v14","kind":"fvar"},{"id":"v26","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanCollections.lessThan"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v25"}},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"127"}}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v23","type":{"kind":"erased"}}]},{"code":{"arguments":[{"id":"v11","kind":"fvar"}],"kind":"jump","target":"v18"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v31","type":{"kind":"erased"}}]}],"discriminant":"v17","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v18","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v4","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.append"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v19","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}}},"kind":"join"},"id":"v17","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v14","kind":"fvar"},{"id":"v13","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanCollections.lessThan"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanCollections.instKeyInt"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.quotient"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4"}}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.Quotient"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.instQuotientInt"}},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.instAppendableList"}}},"kind":"fun"},"level_parameters":[],"name":"Models.Recognizer.DigitNet.layer3","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v60","kind":"return"},"id":"v60","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v59"}},"id":"v59","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v57","kind":"fvar"},{"id":"v58","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanCollections.listFold"}},"id":"v58","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Models.Recognizer.outputWeights"}},"id":"v57","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v55","kind":"fvar"},{"id":"v56","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v56","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Models.Recognizer.outputBias"}},"id":"v55","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v51","kind":"return"},"id":"v51","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v50","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v50","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v54","kind":"return"},"id":"v54","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v52","kind":"fvar"},{"id":"v53","kind":"fvar"}],"function":"v48","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v52","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v53","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v49","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"List"},"id":"v49","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v2"}},"id":"v48","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v9","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v47","kind":"return"},"id":"v47","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v46","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v46","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v45","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.append"}},"id":"v45","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v43","kind":"fvar"},{"id":"v44","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v44","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v12","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v42","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.subtract"}},"id":"v42","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v13","kind":"fvar"},{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.negate"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v40"}},"id":"v40","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v14","kind":"fvar"},{"id":"v39","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanCollections.listFold"}},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v38","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v38","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v37"}},"id":"v37","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v36","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v36","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"declaration":{"id":"v14","parameters":[{"borrow":false,"id":"v15","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v16","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v31","kind":"fvar"}],"function":"v19","kind":"apply"}},"id":"v31","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v35","kind":"return"},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"},{"id":"v34","kind":"fvar"}],"function":"v29","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v33","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v34","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v30","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"List"},"id":"v30","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v15"}},"id":"v29","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"function":"v20","kind":"apply"}},"declaration":{"id":"v20","parameters":[{"borrow":false,"id":"v21","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v22","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v27","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v12","kind":"fvar"},{"id":"v23","kind":"fvar"},{"id":"v26","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.subtract"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v13","kind":"fvar"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.negate"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v24","kind":"fvar"},{"id":"v16","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.multiply"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instMul"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v15"}}},"kind":"fun"},"id":"v19","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"id":"v15","kind":"return"}},"kind":"fun"}},"kind":"fun"},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instNegInt"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instSub"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v2"}},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.instAppendableList"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"id":"v2","kind":"return"}},"kind":"fun"}},"kind":"fun"},"level_parameters":[],"name":"Models.Recognizer.DigitNet.layer4","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.DigitNet.layer4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.DigitNet.layer3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.DigitNet.layer2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.DigitNet.layer1"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.DigitNet.encoded"}},"level_parameters":[],"name":"Models.Recognizer.DigitNet.logits","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanCollections.Key.mk"}},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Ord","value":"v0"}},"id":"v0","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Ord"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instOrdInt"}},"level_parameters":[],"name":"Models.Recognizer.LexLeanCollections.instKeyInt","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanCollections.Key"},"kind":"app"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v14","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.lt","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"any"}}],"function":"v16","kind":"apply"}},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v13","kind":"fvar"}],"function":"v11","kind":"apply"}}},"kind":"fun"},"kind":"default"}],"discriminant":"v13","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Ordering"},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Models.Recognizer.LexLeanCollections.Key","value":"v1"}},"id":"v11","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Ordering"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":[],"name":"Ordering"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Ordering"},"kind":"arrow"},"value":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"id":"v7","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"level_parameters":[],"name":"Models.Recognizer.LexLeanCollections.lessThan","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v1","kind":"fvar"},"value":{"arguments":[{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.foldl"}},"level_parameters":[],"name":"Models.Recognizer.LexLeanCollections.listFold","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"codomain":{"codomain":{"id":"v1","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"}},{"borrow":false,"id":"v3","type":{"id":"v1","kind":"fvar"}},{"borrow":false,"id":"v4","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Models.Recognizer.LexLeanRuntime.Appendable","value":"v1"}},"level_parameters":[],"name":"Models.Recognizer.LexLeanRuntime.append","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.Appendable"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.Appendable"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.Appendable.mk"}},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.appendTR"}},"level_parameters":[],"name":"Models.Recognizer.LexLeanRuntime.instAppendableList","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.Appendable"},"kind":"app"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.Quotient"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.Quotient.mk"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v9","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v8"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v6","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"BEq","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instBEqOfDecidableEq"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instDecidableEq"}}},"kind":"fun"},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.tmod"}},"id":"v0","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.tdiv"}},"level_parameters":[],"name":"Models.Recognizer.LexLeanRuntime.instQuotientInt","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.Quotient"},"kind":"app"}},{"code":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HMul","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HMul"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHMul"}},"level_parameters":[],"name":"Models.Recognizer.LexLeanRuntime.multiply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v3","kind":"apply"}},"id":"v3","kind":"let","type":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v1"}},"level_parameters":[],"name":"Models.Recognizer.LexLeanRuntime.negate","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v10","kind":"apply"}},"id":"v10","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Models.Recognizer.LexLeanRuntime.Quotient","value":"v1"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v9","type":{"kind":"erased"}}]},{"code":{"id":"v4","kind":"return"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"kind":"erased"}}]}],"discriminant":"v8","kind":"cases","result_type":{"id":"v0","kind":"fvar"},"type_name":"Decidable"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":2,"kind":"projection","type_name":"Models.Recognizer.LexLeanRuntime.Quotient","value":"v1"}},"level_parameters":[],"name":"Models.Recognizer.LexLeanRuntime.quotient","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.Quotient"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v4","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"index":4,"kind":"bvar"},"domain":{"index":3,"kind":"bvar"},"kind":"arrow"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.Quotient"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HSub","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HSub"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHSub"}},"level_parameters":[],"name":"Models.Recognizer.LexLeanRuntime.subtract","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.DigitNet"}},"level_parameters":[],"name":"Models.Recognizer.RawDigitModel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v31","kind":"return"},"id":"v31","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v30","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v29","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v28","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v26","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v24","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v23","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v11","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v14","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v18","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v10","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v16"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"5"}}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v13"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v10","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v9"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"id":"v7","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instNegInt"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v1"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v0","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"level_parameters":[],"name":"Models.Recognizer.hiddenBias","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v100","kind":"return"},"id":"v100","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v13","kind":"fvar"},{"id":"v99","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v99","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v15","kind":"fvar"},{"id":"v98","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v98","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v18","kind":"fvar"},{"id":"v97","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v97","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v22","kind":"fvar"},{"id":"v96","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v96","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v27","kind":"fvar"},{"id":"v95","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v95","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v33","kind":"fvar"},{"id":"v94","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v94","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v40","kind":"fvar"},{"id":"v93","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v93","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v60","kind":"fvar"},{"id":"v92","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v92","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v66","kind":"fvar"},{"id":"v91","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v91","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v73","kind":"fvar"},{"id":"v90","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v90","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v80","kind":"fvar"},{"id":"v89","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v89","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v87","kind":"fvar"},{"id":"v88","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v88","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v87","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v86","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v86","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v81","kind":"fvar"},{"id":"v85","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v85","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v84","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v84","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v48","kind":"fvar"},{"id":"v83","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v83","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v82","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v82","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v43","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v81","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v45","kind":"apply"}},"id":"v80","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v52","kind":"fvar"},{"id":"v79","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v79","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v52","kind":"fvar"},{"id":"v78","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v78","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v52","kind":"fvar"},{"id":"v77","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v77","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v52","kind":"fvar"},{"id":"v76","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v76","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v52","kind":"fvar"},{"id":"v75","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v75","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v52","kind":"fvar"},{"id":"v74","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v74","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v52","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v73","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v53","kind":"fvar"},{"id":"v72","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v72","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v71","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v71","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v70","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v70","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v69","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v69","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v48","kind":"fvar"},{"id":"v68","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v68","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v48","kind":"fvar"},{"id":"v67","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v67","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v49","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v66","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v65","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v65","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v64","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v64","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v48","kind":"fvar"},{"id":"v63","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v63","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v61","kind":"fvar"},{"id":"v62","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v62","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v52","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v61","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v43","kind":"fvar"}],"function":"v45","kind":"apply"}},"id":"v60","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v43","kind":"fvar"},{"id":"v59","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v59","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v49","kind":"fvar"},{"id":"v58","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v58","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v57","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v57","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v56","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v56","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v55","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v55","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v54","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v54","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v53","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v53","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v52","kind":"fvar"}],"function":"v45","kind":"apply"}},"id":"v52","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v51"}},"id":"v51","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v50","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v50","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v49","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v48","kind":"fvar"}],"function":"v45","kind":"apply"}},"id":"v48","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v47"}},"id":"v47","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v46","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v46","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"id":"v45","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v44"}},"id":"v44","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instNegInt"}},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v42"}},"id":"v42","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v40","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v39","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v38","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v38","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v37","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v37","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v36","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v36","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v35","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v34","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v34","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v33","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v32","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v31","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v31","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v30","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v29","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v28","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v26","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v24","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v23","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v1"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v0","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4"}}},"level_parameters":[],"name":"Models.Recognizer.hiddenWeights","parameters":[],"recursive":false,"type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v36","kind":"return"},"id":"v36","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v35","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v9","kind":"fvar"},{"id":"v34","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v34","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v13","kind":"fvar"},{"id":"v33","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v33","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v13","kind":"fvar"},{"id":"v32","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v17","kind":"fvar"},{"id":"v31","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v31","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v13","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v30","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v29","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v21","kind":"fvar"},{"id":"v28","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v25","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v26","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"function":"v1","kind":"apply"}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v23"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"7"}}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"function":"v1","kind":"apply"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v19"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v16","kind":"fvar"}],"function":"v1","kind":"apply"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v15"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4"}}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"function":"v1","kind":"apply"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v11"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"5"}}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"function":"v1","kind":"apply"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v4","kind":"fvar"}],"function":"v1","kind":"apply"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"6"}}},"id":"v1","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v0"}},"id":"v0","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instNegInt"}},"level_parameters":[],"name":"Models.Recognizer.outputBias","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v67","kind":"return"},"id":"v67","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v18","kind":"fvar"},{"id":"v66","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v66","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v24","kind":"fvar"},{"id":"v65","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v65","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v31","kind":"fvar"},{"id":"v64","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v64","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v36","kind":"fvar"},{"id":"v63","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v63","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v42","kind":"fvar"},{"id":"v62","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v62","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v46","kind":"fvar"},{"id":"v61","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v61","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v51","kind":"fvar"},{"id":"v60","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v60","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v52","kind":"fvar"},{"id":"v59","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v59","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v54","kind":"fvar"},{"id":"v58","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v58","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v56","kind":"fvar"},{"id":"v57","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v57","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v56","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v55","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v55","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v44","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v54","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v53","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v53","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v49","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v52","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v23","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v51","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v50","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v50","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v49","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v49","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v48","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v48","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v47","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v47","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v37","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v46","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v45","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v45","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v44","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v44","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v43","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v38","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v42","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v41","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v41","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v40","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v40","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v39","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v38","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v38","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v37","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v37","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v36","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v35","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v34","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v34","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v33","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v33","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v32","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v26","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v31","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v30","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v29","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v28","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v26","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v23","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v1"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v0","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"level_parameters":[],"name":"Models.Recognizer.outputWeights","parameters":[],"recursive":false,"type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"code":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Glyphs.digitOf"}},"level_parameters":[],"name":"Models.Recognizer.recognizesCheck","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HSub","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HSub"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHSub"}},"level_parameters":[],"name":"Models.Session.LexLeanRuntime.subtract","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Session.SessionStep"}},"level_parameters":[],"name":"Models.Session.SessionModel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Session.Window"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Models.Session.Window"},"kind":"arrow"}},{"code":{"body":{"id":"v0","kind":"return"},"id":"v0","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Session.Window"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Models.Session.SessionStep.initial"}},"level_parameters":[],"name":"Models.Session.SessionModel.initial","parameters":[],"recursive":false,"type":{"kind":"const","levels":[],"name":"Models.Session.Window"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Models.Session.Window"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v19","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Session.Window"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Session.Window.mk"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v14","kind":"fvar"},{"id":"v17","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v16"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Models.Session.Window","value":"v0"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v8","kind":"fvar"},{"id":"v7","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Session.LexLeanRuntime.subtract"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v8","kind":"fvar"},{"id":"v7","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Session.LexLeanRuntime.subtract"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"64"}}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v5","kind":"fvar"},{"id":"v1","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Models.Session.Window","value":"v0"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"level_parameters":[],"name":"Models.Session.SessionStep","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Session.Window"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Models.Session.Window"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Session.Window"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Session.Window.mk"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v1"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v0","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"level_parameters":[],"name":"Models.Session.SessionStep.initial","parameters":[],"recursive":false,"type":{"kind":"const","levels":[],"name":"Models.Session.Window"}},{"code":{"body":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"16"}}},"level_parameters":[],"name":"Models.Session.affordableCheck","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Session.Window"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Models.Session.Window"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"64"}}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Models.Session.Window","value":"v0"}},"level_parameters":[],"name":"Models.Session.boundedCheck","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Session.Window"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Models.Session.Window"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"Models.Triage.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Triage.LexLeanCollections.Key.mk"}},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Ord","value":"v0"}},"id":"v0","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Ord"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instOrdInt"}},"level_parameters":[],"name":"Models.Triage.LexLeanCollections.instKeyInt","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"Models.Triage.LexLeanCollections.Key"},"kind":"app"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v14","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.lt","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"any"}}],"function":"v16","kind":"apply"}},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v13","kind":"fvar"}],"function":"v11","kind":"apply"}}},"kind":"fun"},"kind":"default"}],"discriminant":"v13","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Ordering"},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Models.Triage.LexLeanCollections.Key","value":"v1"}},"id":"v11","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Ordering"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":[],"name":"Ordering"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Ordering"},"kind":"arrow"},"value":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"id":"v7","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"level_parameters":[],"name":"Models.Triage.LexLeanCollections.lessThan","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Models.Triage.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Models.Triage.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v1","kind":"fvar"},"value":{"arguments":[{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.foldl"}},"level_parameters":[],"name":"Models.Triage.LexLeanCollections.listFold","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"codomain":{"codomain":{"id":"v1","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"}},{"borrow":false,"id":"v3","type":{"id":"v1","kind":"fvar"}},{"borrow":false,"id":"v4","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Models.Triage.LexLeanRuntime.Appendable","value":"v1"}},"level_parameters":[],"name":"Models.Triage.LexLeanRuntime.append","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Models.Triage.LexLeanRuntime.Appendable"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Models.Triage.LexLeanRuntime.Appendable"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Models.Triage.LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Triage.LexLeanRuntime.Appendable.mk"}},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.appendTR"}},"level_parameters":[],"name":"Models.Triage.LexLeanRuntime.instAppendableList","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Models.Triage.LexLeanRuntime.Appendable"},"kind":"app"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HMul","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HMul"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHMul"}},"level_parameters":[],"name":"Models.Triage.LexLeanRuntime.multiply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v3","kind":"apply"}},"id":"v3","kind":"let","type":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v1"}},"level_parameters":[],"name":"Models.Triage.LexLeanRuntime.negate","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HSub","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HSub"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHSub"}},"level_parameters":[],"name":"Models.Triage.LexLeanRuntime.subtract","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Triage.TriageScore"}},"level_parameters":[],"name":"Models.Triage.TriageModel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v68","kind":"return"},"id":"v68","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"value":{"arguments":[{"id":"v67","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v67","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v70","kind":"return"},"id":"v70","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"value":{"arguments":[{"id":"v69","kind":"fvar"}],"function":"v8","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v69","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v66","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"type_name":"Option"},"id":"v66","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v65"}},"id":"v65","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v9","kind":"fvar"},{"id":"v63","kind":"fvar"},{"id":"v64","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Triage.LexLeanCollections.listFold"}},"id":"v64","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Triage.TriageScore.scores"}},"id":"v63","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v55","kind":"fvar"},{"id":"v62","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v62","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}},{"id":"v56","kind":"fvar"},{"id":"v61","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v61","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}},{"id":"v57","kind":"fvar"},{"id":"v60","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v60","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}},{"id":"v58","kind":"fvar"},{"id":"v59","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v59","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v58","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Models.Triage.Level.emergency"}},"id":"v57","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Models.Triage.Level.urgent"}},"id":"v56","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Models.Triage.Level.routine"}},"id":"v55","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v11","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v51","kind":"return"},"id":"v51","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v50","kind":"fvar"}],"function":"v14","kind":"apply"}},"id":"v50","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v54","kind":"return"},"id":"v54","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v52","kind":"fvar"},{"id":"v53","kind":"fvar"}],"function":"v48","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v52","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}},{"borrow":false,"id":"v53","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v49","kind":"cases","result_type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"List"},"id":"v49","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v10"}},"id":"v48","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"kind":"arrow"},"value":{"arguments":[],"function":"v15","kind":"apply"}},"declaration":{"id":"v15","parameters":[{"borrow":false,"id":"v16","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}},{"borrow":false,"id":"v17","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v46","kind":"fvar"}],"kind":"jump","target":"v43"},"id":"v46","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"arguments":[{"id":"v47","kind":"fvar"}],"kind":"jump","target":"v40"},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v47","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v36","kind":"cases","result_type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Option"},"declaration":{"id":"v43","parameters":[{"borrow":false,"id":"v44","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v45","kind":"fvar"}],"kind":"jump","target":"v37"},"id":"v45","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v44","kind":"fvar"}],"function":"v22","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v40","parameters":[{"borrow":false,"id":"v41","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v42","kind":"fvar"}],"kind":"jump","target":"v37"},"id":"v42","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v41","kind":"fvar"}],"function":"v35","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v37","parameters":[{"borrow":false,"id":"v38","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v38","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}}},"kind":"join"},"id":"v36","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v10"}},"id":"v35","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v23","kind":"apply"}},"declaration":{"id":"v23","parameters":[{"borrow":false,"id":"v24","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v31","kind":"return"},"id":"v31","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v24","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v30","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v34","kind":"return"},"id":"v34","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v33","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v33","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v16","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v32","type":{"kind":"erased"}}]}],"discriminant":"v29","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v29","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v27","kind":"fvar"},{"id":"v28","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v25","kind":"fvar"},{"id":"v26","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Triage.LexLeanCollections.lessThan"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v24"}},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"Models.Triage.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Models.Triage.LexLeanCollections.instKeyInt"}}},"kind":"fun"},"id":"v22","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v18","kind":"apply"}},"declaration":{"id":"v18","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v16","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}}},"kind":"fun"}},"kind":"fun"},"id":"v14","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"id":"v10","kind":"return"}},"kind":"fun"}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v6"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Models.Triage.Level.routine"}}},"kind":"fun"},"level_parameters":[],"name":"Models.Triage.TriageScore","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Triage.features"}},"level_parameters":[],"name":"Models.Triage.TriageScore.features","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v62","kind":"return"},"id":"v62","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v61"}},"id":"v61","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v3","kind":"fvar"},{"id":"v59","kind":"fvar"},{"id":"v60","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Triage.LexLeanCollections.listFold"}},"id":"v60","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Models.Triage.triageWeights"}},"id":"v59","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v57","kind":"fvar"},{"id":"v58","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v58","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Models.Triage.triageBias"}},"id":"v57","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v5","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v53","kind":"return"},"id":"v53","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v52","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v52","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v56","kind":"return"},"id":"v56","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v54","kind":"fvar"},{"id":"v55","kind":"fvar"}],"function":"v50","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v54","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v55","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v51","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"List"},"id":"v51","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v4"}},"id":"v50","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v11","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v49","kind":"return"},"id":"v49","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v48","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v48","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v12","kind":"fvar"},{"id":"v13","kind":"fvar"},{"id":"v47","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Triage.LexLeanRuntime.append"}},"id":"v47","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v45","kind":"fvar"},{"id":"v46","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v46","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v45","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v14","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v44","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Triage.LexLeanRuntime.subtract"}},"id":"v44","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v15","kind":"fvar"},{"id":"v43","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Triage.LexLeanRuntime.negate"}},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v42"}},"id":"v42","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v16","kind":"fvar"},{"id":"v41","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Triage.LexLeanCollections.listFold"}},"id":"v41","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v40","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v40","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v39"}},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v38","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v38","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v34","kind":"return"},"id":"v34","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"function":"v21","kind":"apply"}},"id":"v33","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v37","kind":"return"},"id":"v37","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v35","kind":"fvar"},{"id":"v36","kind":"fvar"}],"function":"v31","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v35","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v36","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v32","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"List"},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v17"}},"id":"v31","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"function":"v22","kind":"apply"}},"declaration":{"id":"v22","parameters":[{"borrow":false,"id":"v23","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v24","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v29","kind":"fvar"},{"id":"v24","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v14","kind":"fvar"},{"id":"v25","kind":"fvar"},{"id":"v28","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Triage.LexLeanRuntime.subtract"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v15","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Triage.LexLeanRuntime.negate"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v26","kind":"fvar"},{"id":"v18","kind":"fvar"},{"id":"v23","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Triage.LexLeanRuntime.multiply"}},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instMul"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v17"}}},"kind":"fun"},"id":"v21","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v19","kind":"apply"}},"declaration":{"id":"v19","parameters":[{"borrow":false,"id":"v20","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"id":"v17","kind":"return"}},"kind":"fun"}},"kind":"fun"},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instNegInt"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instSub"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v4"}},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Models.Triage.LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":[],"name":"Models.Triage.LexLeanRuntime.instAppendableList"}}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"id":"v4","kind":"return"}},"kind":"fun"}},"kind":"fun"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Triage.TriageScore.features"}},"level_parameters":[],"name":"Models.Triage.TriageScore.scores","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v100","kind":"return"},"id":"v100","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v99","kind":"fvar"}],"function":"v10","kind":"apply"}},"id":"v99","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p0","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v102","kind":"return"},"id":"v102","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v101","kind":"fvar"}],"function":"v23","kind":"apply"}},"id":"v101","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p1","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v104","kind":"return"},"id":"v104","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v103","kind":"fvar"}],"function":"v36","kind":"apply"}},"id":"v103","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p2","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v106","kind":"return"},"id":"v106","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v105","kind":"fvar"}],"function":"v49","kind":"apply"}},"id":"v105","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p3","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v108","kind":"return"},"id":"v108","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v107","kind":"fvar"}],"function":"v62","kind":"apply"}},"id":"v107","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p4","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v110","kind":"return"},"id":"v110","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v109","kind":"fvar"}],"function":"v75","kind":"apply"}},"id":"v109","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p5","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v112","kind":"return"},"id":"v112","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v111","kind":"fvar"}],"function":"v88","kind":"apply"}},"id":"v111","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p6","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v114","kind":"return"},"id":"v114","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v113","kind":"fvar"}],"function":"v98","kind":"apply"}},"id":"v113","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p7","kind":"constructor","parameters":[]}],"discriminant":"v0","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Models.Triage.Presentation"},"id":"v98","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v89","kind":"apply"}},"declaration":{"id":"v89","parameters":[{"borrow":false,"id":"v90","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v97","kind":"return"},"id":"v97","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v93","kind":"fvar"},{"id":"v96","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v96","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v93","kind":"fvar"},{"id":"v95","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v95","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v93","kind":"fvar"},{"id":"v94","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v94","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v93","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v92"}},"id":"v92","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v91","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v91","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}}},"kind":"fun"},"id":"v88","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v76","kind":"apply"}},"declaration":{"id":"v76","parameters":[{"borrow":false,"id":"v77","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v87","kind":"return"},"id":"v87","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v80","kind":"fvar"},{"id":"v86","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v86","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v83","kind":"fvar"},{"id":"v85","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v85","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v83","kind":"fvar"},{"id":"v84","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v84","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v83","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v82"}},"id":"v82","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v81","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v81","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v80","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v79"}},"id":"v79","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v78","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v78","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"id":"v75","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v63","kind":"apply"}},"declaration":{"id":"v63","parameters":[{"borrow":false,"id":"v64","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v74","kind":"return"},"id":"v74","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v67","kind":"fvar"},{"id":"v73","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v73","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v70","kind":"fvar"},{"id":"v72","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v72","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v67","kind":"fvar"},{"id":"v71","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v71","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v70","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v69"}},"id":"v69","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v68","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v68","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v67","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v66"}},"id":"v66","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v65","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v65","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}}},"kind":"fun"},"id":"v62","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v50","kind":"apply"}},"declaration":{"id":"v50","parameters":[{"borrow":false,"id":"v51","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v61","kind":"return"},"id":"v61","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v54","kind":"fvar"},{"id":"v60","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v60","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v54","kind":"fvar"},{"id":"v59","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v59","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v57","kind":"fvar"},{"id":"v58","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v58","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v57","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v56"}},"id":"v56","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v55","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v55","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v54","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v53"}},"id":"v53","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v52","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v52","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"id":"v49","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v37","kind":"apply"}},"declaration":{"id":"v37","parameters":[{"borrow":false,"id":"v38","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v48","kind":"return"},"id":"v48","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v41","kind":"fvar"},{"id":"v47","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v47","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v41","kind":"fvar"},{"id":"v46","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v46","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v44","kind":"fvar"},{"id":"v45","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v45","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v44","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v43"}},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v42","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v42","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v40"}},"id":"v40","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v39","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v39","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}}},"kind":"fun"},"id":"v36","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v24","kind":"apply"}},"declaration":{"id":"v24","parameters":[{"borrow":false,"id":"v25","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v35","kind":"return"},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v28","kind":"fvar"},{"id":"v34","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v34","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v31","kind":"fvar"},{"id":"v33","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v33","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v28","kind":"fvar"},{"id":"v32","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v30"}},"id":"v30","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v27"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v26","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"id":"v23","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v11","kind":"apply"}},"declaration":{"id":"v11","parameters":[{"borrow":false,"id":"v12","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v15","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v18","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v18","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v17"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v14"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}}},"kind":"fun"},"id":"v10","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"level_parameters":[],"name":"Models.Triage.features","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v15","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p0","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p1","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"function":"v9","kind":"apply"}},"id":"v19","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p2","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v21","kind":"fvar"}],"function":"v10","kind":"apply"}},"id":"v21","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p3","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"function":"v11","kind":"apply"}},"id":"v23","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p4","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v25","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v25","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p5","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v27","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v27","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p6","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"function":"v14","kind":"apply"}},"id":"v29","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p7","kind":"constructor","parameters":[]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Models.Triage.Presentation"},"id":"v14","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"id":"v13","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"id":"v12","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"id":"v11","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"id":"v10","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Models.Triage.hasSymptom","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v10","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Level.routine","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v12","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Level.urgent","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"function":"v9","kind":"apply"}},"id":"v14","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Level.emergency","kind":"constructor","parameters":[]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Models.Triage.Level"},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Models.Triage.isEmergency","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Triage.hasSymptom"}},"level_parameters":[],"name":"Models.Triage.symptomaticCheck","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v7","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instNegInt"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v1"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v0","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"level_parameters":[],"name":"Models.Triage.triageBias","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v13","kind":"fvar"},{"id":"v31","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v31","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v19","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v30","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v28","kind":"fvar"},{"id":"v29","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v29","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v16","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v22","kind":"fvar"},{"id":"v26","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v25","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v24"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"5"}}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v21"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v4","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v4","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v16","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v15"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"function":"v1","kind":"apply"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4"}}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v4","kind":"fvar"}],"function":"v1","kind":"apply"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"id":"v1","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v0"}},"id":"v0","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instNegInt"}},"level_parameters":[],"name":"Models.Triage.triageWeights","parameters":[],"recursive":false,"type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"erased":[],"externals":[{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Add"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"BEq"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Bool"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Bool.false"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Bool.true"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Decidable"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Decidable.isFalse"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Decidable.isTrue"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Except"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Except.error"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Except.ok"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"HAdd"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"HMul"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"HSub"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Data.Int.Basic","name":"Int"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"Int.instDecidableEq"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"Int.instMul"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"Int.instNegInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"Int.instSub"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.DivMod.Basic","name":"Int.tdiv"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.DivMod.Basic","name":"Int.tmod"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"List"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.List.Basic","name":"List.appendTR"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"List.cons"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"List.foldl"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"List.lengthTR"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"List.nil"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Mul"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Nat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Nat.beq"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Nat.ble"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Nat.Basic","name":"Nat.blt"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Neg"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"OfNat"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Option"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Option.none"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Option.some"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Data.Ord.Basic","name":"Ord"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Data.Ord.Basic","name":"Ordering"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Data.Ord.Basic","name":"Ordering.lt"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"PUnit"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Prod"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Prod.mk"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Sub"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Unit.unit"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instAddNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instBEqOfDecidableEq"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instDecidableEqBool"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instHAdd"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instHMul"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instHSub"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"instOfNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instOfNatNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Ord.Basic","name":"instOrdInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instSubNat"}],"inductives":[{"constructors":[{"fields":0,"index":0,"name":"Models.Glyphs.Glyph.g0","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}},{"fields":0,"index":1,"name":"Models.Glyphs.Glyph.g1","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}},{"fields":0,"index":2,"name":"Models.Glyphs.Glyph.g2","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}},{"fields":0,"index":3,"name":"Models.Glyphs.Glyph.g3","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}},{"fields":0,"index":4,"name":"Models.Glyphs.Glyph.g4","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}},{"fields":0,"index":5,"name":"Models.Glyphs.Glyph.g5","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}},{"fields":0,"index":6,"name":"Models.Glyphs.Glyph.g6","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}},{"fields":0,"index":7,"name":"Models.Glyphs.Glyph.g7","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}},{"fields":0,"index":8,"name":"Models.Glyphs.Glyph.g8","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}},{"fields":0,"index":9,"name":"Models.Glyphs.Glyph.g9","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}}],"indices":0,"name":"Models.Glyphs.Glyph","parameters":0,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"Models.Pipeline.LexLeanRuntime.Appendable.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Models.Pipeline.LexLeanRuntime.Appendable"},"kind":"app"},"domain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Models.Pipeline.LexLeanRuntime.Appendable","parameters":1,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"Models.Pipeline.LexLeanRuntime.Lengthable.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Models.Pipeline.LexLeanRuntime.Lengthable"},"kind":"app"},"domain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Models.Pipeline.LexLeanRuntime.Lengthable","parameters":1,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"Models.Recognizer.LexLeanCollections.Key.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanCollections.Key"},"kind":"app"},"domain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Models.Recognizer.LexLeanCollections.Key","parameters":1,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"Models.Recognizer.LexLeanRuntime.Appendable.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.Appendable"},"kind":"app"},"domain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Models.Recognizer.LexLeanRuntime.Appendable","parameters":1,"recursive":false},{"constructors":[{"fields":3,"index":0,"name":"Models.Recognizer.LexLeanRuntime.Quotient.mk","parameters":1,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Models.Recognizer.LexLeanRuntime.Quotient"},"kind":"app"},"domain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Models.Recognizer.LexLeanRuntime.Quotient","parameters":1,"recursive":false},{"constructors":[{"fields":2,"index":0,"name":"Models.Session.Window.mk","parameters":0,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Models.Session.Window"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}}],"indices":0,"name":"Models.Session.Window","parameters":0,"recursive":false},{"constructors":[{"fields":0,"index":0,"name":"Models.Triage.Level.routine","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}},{"fields":0,"index":1,"name":"Models.Triage.Level.urgent","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}},{"fields":0,"index":2,"name":"Models.Triage.Level.emergency","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}}],"indices":0,"name":"Models.Triage.Level","parameters":0,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"Models.Triage.LexLeanCollections.Key.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Models.Triage.LexLeanCollections.Key"},"kind":"app"},"domain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Models.Triage.LexLeanCollections.Key","parameters":1,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"Models.Triage.LexLeanRuntime.Appendable.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Models.Triage.LexLeanRuntime.Appendable"},"kind":"app"},"domain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Models.Triage.LexLeanRuntime.Appendable","parameters":1,"recursive":false},{"constructors":[{"fields":0,"index":0,"name":"Models.Triage.Presentation.p0","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}},{"fields":0,"index":1,"name":"Models.Triage.Presentation.p1","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}},{"fields":0,"index":2,"name":"Models.Triage.Presentation.p2","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}},{"fields":0,"index":3,"name":"Models.Triage.Presentation.p3","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}},{"fields":0,"index":4,"name":"Models.Triage.Presentation.p4","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}},{"fields":0,"index":5,"name":"Models.Triage.Presentation.p5","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}},{"fields":0,"index":6,"name":"Models.Triage.Presentation.p6","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}},{"fields":0,"index":7,"name":"Models.Triage.Presentation.p7","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}}],"indices":0,"name":"Models.Triage.Presentation","parameters":0,"recursive":false}],"lean":{"githash":"f054605aea4b840552cca2e725580bffd1e1b704","version":"4.32.1"},"roots":["Models.Main.classify","Models.Main.classifyChecked","Models.Main.respond","Models.Main.admitCosts","Models.Main.step","Models.Main.ledgerPost","Models.Main.ledgerFull","Models.Main.guessChecked","Models.Main.flowStep"],"spec":"lexlean/compiler-input/2"} +{"closures":[{"declarations":["Models.Main.admitCosts","Models.Pipeline.SessionStream","Models.Pipeline.StreamModel","Models.Pipeline.shortStreamCheck","Models.Session.SessionModel","Models.Session.SessionModel.initial","Models.Session.SessionStep","Models.Session.SessionStep.initial","Models.Session.affordableCheck","Models.Session.boundedCheck"],"erased":[],"instances":[{"declaration":"Models.Main.admitCosts","instance":"Models.Main.admitCosts","type_arguments":[]},{"declaration":"Models.Pipeline.shortStreamCheck","instance":"Models.Pipeline.shortStreamCheck","type_arguments":[]},{"declaration":"Models.Pipeline.StreamModel","instance":"Models.Pipeline.StreamModel","type_arguments":[]},{"declaration":"Models.Pipeline.SessionStream","instance":"Models.Pipeline.SessionStream","type_arguments":[]},{"declaration":"Models.Session.boundedCheck","instance":"Models.Session.boundedCheck","type_arguments":[]},{"declaration":"Models.Session.affordableCheck","instance":"Models.Session.affordableCheck","type_arguments":[]},{"declaration":"Models.Session.SessionModel","instance":"Models.Session.SessionModel","type_arguments":[]},{"declaration":"Models.Session.SessionModel.initial","instance":"Models.Session.SessionModel.initial","type_arguments":[]},{"declaration":"Models.Session.SessionStep","instance":"Models.Session.SessionStep","type_arguments":[]},{"declaration":"Models.Session.SessionStep.initial","instance":"Models.Session.SessionStep.initial","type_arguments":[]}],"internal_erased":[],"root":"Models.Main.admitCosts","runtime":["LexLeanCollections.listFold","LexLeanRuntime.append","LexLeanRuntime.instAppendableList","LexLeanRuntime.instLengthableList","LexLeanRuntime.length","LexLeanRuntime.subtract"]},{"declarations":["Models.Glyphs.encode","Models.Main.classify","Models.Recognizer.DigitModel","Models.Recognizer.DigitNet","Models.Recognizer.DigitNet.encoded","Models.Recognizer.DigitNet.layer1","Models.Recognizer.DigitNet.layer2","Models.Recognizer.DigitNet.layer3","Models.Recognizer.DigitNet.layer4","Models.Recognizer.DigitNet.logits","Models.Recognizer.hiddenBias","Models.Recognizer.hiddenWeights","Models.Recognizer.outputBias","Models.Recognizer.outputWeights"],"erased":[],"instances":[{"declaration":"Models.Main.classify","instance":"Models.Main.classify","type_arguments":[]},{"declaration":"Models.Recognizer.DigitModel","instance":"Models.Recognizer.DigitModel","type_arguments":[]},{"declaration":"Models.Recognizer.DigitNet","instance":"Models.Recognizer.DigitNet","type_arguments":[]},{"declaration":"Models.Recognizer.DigitNet.logits","instance":"Models.Recognizer.DigitNet.logits","type_arguments":[]},{"declaration":"Models.Recognizer.DigitNet.layer4","instance":"Models.Recognizer.DigitNet.layer4","type_arguments":[]},{"declaration":"Models.Recognizer.DigitNet.layer3","instance":"Models.Recognizer.DigitNet.layer3","type_arguments":[]},{"declaration":"Models.Recognizer.DigitNet.layer2","instance":"Models.Recognizer.DigitNet.layer2","type_arguments":[]},{"declaration":"Models.Recognizer.DigitNet.layer1","instance":"Models.Recognizer.DigitNet.layer1","type_arguments":[]},{"declaration":"Models.Recognizer.DigitNet.encoded","instance":"Models.Recognizer.DigitNet.encoded","type_arguments":[]},{"declaration":"Models.Recognizer.outputBias","instance":"Models.Recognizer.outputBias","type_arguments":[]},{"declaration":"Models.Recognizer.outputWeights","instance":"Models.Recognizer.outputWeights","type_arguments":[]},{"declaration":"Models.Recognizer.hiddenBias","instance":"Models.Recognizer.hiddenBias","type_arguments":[]},{"declaration":"Models.Recognizer.hiddenWeights","instance":"Models.Recognizer.hiddenWeights","type_arguments":[]},{"declaration":"Models.Glyphs.encode","instance":"Models.Glyphs.encode","type_arguments":[]}],"internal_erased":[],"root":"Models.Main.classify","runtime":["LexLeanCollections.instKeyInt","LexLeanCollections.lessThan","LexLeanCollections.listFold","LexLeanRuntime.append","LexLeanRuntime.instAppendableList","LexLeanRuntime.instQuotientInt","LexLeanRuntime.multiply","LexLeanRuntime.negate","LexLeanRuntime.quotient","LexLeanRuntime.subtract"]},{"declarations":["Models.Glyphs.digitOf","Models.Glyphs.encode","Models.Main.classifyChecked","Models.Recognizer.DigitNet","Models.Recognizer.DigitNet.encoded","Models.Recognizer.DigitNet.layer1","Models.Recognizer.DigitNet.layer2","Models.Recognizer.DigitNet.layer3","Models.Recognizer.DigitNet.layer4","Models.Recognizer.DigitNet.logits","Models.Recognizer.RawDigitModel","Models.Recognizer.hiddenBias","Models.Recognizer.hiddenWeights","Models.Recognizer.outputBias","Models.Recognizer.outputWeights","Models.Recognizer.recognizesCheck"],"erased":[],"instances":[{"declaration":"Models.Main.classifyChecked","instance":"Models.Main.classifyChecked","type_arguments":[]},{"declaration":"Models.Recognizer.RawDigitModel","instance":"Models.Recognizer.RawDigitModel","type_arguments":[]},{"declaration":"Models.Recognizer.recognizesCheck","instance":"Models.Recognizer.recognizesCheck","type_arguments":[]},{"declaration":"Models.Recognizer.DigitNet","instance":"Models.Recognizer.DigitNet","type_arguments":[]},{"declaration":"Models.Glyphs.digitOf","instance":"Models.Glyphs.digitOf","type_arguments":[]},{"declaration":"Models.Recognizer.DigitNet.logits","instance":"Models.Recognizer.DigitNet.logits","type_arguments":[]},{"declaration":"Models.Recognizer.DigitNet.layer4","instance":"Models.Recognizer.DigitNet.layer4","type_arguments":[]},{"declaration":"Models.Recognizer.DigitNet.layer3","instance":"Models.Recognizer.DigitNet.layer3","type_arguments":[]},{"declaration":"Models.Recognizer.DigitNet.layer2","instance":"Models.Recognizer.DigitNet.layer2","type_arguments":[]},{"declaration":"Models.Recognizer.DigitNet.layer1","instance":"Models.Recognizer.DigitNet.layer1","type_arguments":[]},{"declaration":"Models.Recognizer.DigitNet.encoded","instance":"Models.Recognizer.DigitNet.encoded","type_arguments":[]},{"declaration":"Models.Recognizer.outputBias","instance":"Models.Recognizer.outputBias","type_arguments":[]},{"declaration":"Models.Recognizer.outputWeights","instance":"Models.Recognizer.outputWeights","type_arguments":[]},{"declaration":"Models.Recognizer.hiddenBias","instance":"Models.Recognizer.hiddenBias","type_arguments":[]},{"declaration":"Models.Recognizer.hiddenWeights","instance":"Models.Recognizer.hiddenWeights","type_arguments":[]},{"declaration":"Models.Glyphs.encode","instance":"Models.Glyphs.encode","type_arguments":[]}],"internal_erased":[],"root":"Models.Main.classifyChecked","runtime":["LexLeanCollections.instKeyInt","LexLeanCollections.lessThan","LexLeanCollections.listFold","LexLeanRuntime.append","LexLeanRuntime.instAppendableList","LexLeanRuntime.instQuotientInt","LexLeanRuntime.multiply","LexLeanRuntime.negate","LexLeanRuntime.quotient","LexLeanRuntime.subtract"]},{"declarations":["Models.Flows.ClampGuess","Models.Flows.FlowModel","Models.Ledger.Clamp","Models.Ledger.ClampModel","Models.Ledger.Guess","Models.Ledger.GuessModel","Models.Ledger.belowCheck","Models.Ledger.cappedCheck","Models.Ledger.withinCheck","Models.Main.flowStep"],"erased":[],"instances":[{"declaration":"Models.Main.flowStep","instance":"Models.Main.flowStep","type_arguments":[]},{"declaration":"Models.Ledger.cappedCheck","instance":"Models.Ledger.cappedCheck","type_arguments":[]},{"declaration":"Models.Flows.FlowModel","instance":"Models.Flows.FlowModel","type_arguments":[]},{"declaration":"Models.Flows.ClampGuess","instance":"Models.Flows.ClampGuess","type_arguments":[]},{"declaration":"Models.Ledger.ClampModel","instance":"Models.Ledger.ClampModel","type_arguments":[]},{"declaration":"Models.Ledger.withinCheck","instance":"Models.Ledger.withinCheck","type_arguments":[]},{"declaration":"Models.Ledger.GuessModel","instance":"Models.Ledger.GuessModel","type_arguments":[]},{"declaration":"Models.Ledger.belowCheck","instance":"Models.Ledger.belowCheck","type_arguments":[]},{"declaration":"Models.Ledger.Clamp","instance":"Models.Ledger.Clamp","type_arguments":[]},{"declaration":"Models.Ledger.Guess","instance":"Models.Ledger.Guess","type_arguments":[]}],"internal_erased":[],"root":"Models.Main.flowStep","runtime":["LexLeanRuntime.subtract"]},{"declarations":["Models.Ledger.Guess","Models.Ledger.GuessModel","Models.Ledger.belowCheck","Models.Ledger.withinCheck","Models.Main.guessChecked"],"erased":[],"instances":[{"declaration":"Models.Main.guessChecked","instance":"Models.Main.guessChecked","type_arguments":[]},{"declaration":"Models.Ledger.withinCheck","instance":"Models.Ledger.withinCheck","type_arguments":[]},{"declaration":"Models.Ledger.GuessModel","instance":"Models.Ledger.GuessModel","type_arguments":[]},{"declaration":"Models.Ledger.belowCheck","instance":"Models.Ledger.belowCheck","type_arguments":[]},{"declaration":"Models.Ledger.Guess","instance":"Models.Ledger.Guess","type_arguments":[]}],"internal_erased":[],"root":"Models.Main.guessChecked","runtime":["LexLeanRuntime.subtract"]},{"declarations":["Models.Ledger.Spill","Models.Ledger.SpillRawModel","Models.Ledger.cappedCheck","Models.Ledger.growsCheck","Models.Ledger.smallCheck","Models.Main.ledgerFull"],"erased":[],"instances":[{"declaration":"Models.Main.ledgerFull","instance":"Models.Main.ledgerFull","type_arguments":[]},{"declaration":"Models.Ledger.cappedCheck","instance":"Models.Ledger.cappedCheck","type_arguments":[]},{"declaration":"Models.Ledger.smallCheck","instance":"Models.Ledger.smallCheck","type_arguments":[]},{"declaration":"Models.Ledger.SpillRawModel","instance":"Models.Ledger.SpillRawModel","type_arguments":[]},{"declaration":"Models.Ledger.growsCheck","instance":"Models.Ledger.growsCheck","type_arguments":[]},{"declaration":"Models.Ledger.Spill","instance":"Models.Ledger.Spill","type_arguments":[]}],"internal_erased":[],"root":"Models.Main.ledgerFull","runtime":[]},{"declarations":["Models.Ledger.Spill","Models.Ledger.SpillModel","Models.Ledger.cappedCheck","Models.Ledger.smallCheck","Models.Main.ledgerPost"],"erased":[],"instances":[{"declaration":"Models.Main.ledgerPost","instance":"Models.Main.ledgerPost","type_arguments":[]},{"declaration":"Models.Ledger.cappedCheck","instance":"Models.Ledger.cappedCheck","type_arguments":[]},{"declaration":"Models.Ledger.smallCheck","instance":"Models.Ledger.smallCheck","type_arguments":[]},{"declaration":"Models.Ledger.SpillModel","instance":"Models.Ledger.SpillModel","type_arguments":[]},{"declaration":"Models.Ledger.Spill","instance":"Models.Ledger.Spill","type_arguments":[]}],"internal_erased":[],"root":"Models.Main.ledgerPost","runtime":[]},{"declarations":["Models.Main.respond","Models.Pipeline.PipelineModel","Models.Pipeline.TriagePipeline","Models.Policy.PolicyModel","Models.Policy.PolicyRules","Models.Policy.isUrgent","Models.Triage.TriageModel","Models.Triage.TriageScore","Models.Triage.TriageScore.features","Models.Triage.TriageScore.scores","Models.Triage.features","Models.Triage.hasSymptom","Models.Triage.isEmergency","Models.Triage.symptomaticCheck","Models.Triage.triageBias","Models.Triage.triageWeights"],"erased":[],"instances":[{"declaration":"Models.Main.respond","instance":"Models.Main.respond","type_arguments":[]},{"declaration":"Models.Triage.symptomaticCheck","instance":"Models.Triage.symptomaticCheck","type_arguments":[]},{"declaration":"Models.Pipeline.PipelineModel","instance":"Models.Pipeline.PipelineModel","type_arguments":[]},{"declaration":"Models.Triage.hasSymptom","instance":"Models.Triage.hasSymptom","type_arguments":[]},{"declaration":"Models.Pipeline.TriagePipeline","instance":"Models.Pipeline.TriagePipeline","type_arguments":[]},{"declaration":"Models.Triage.TriageModel","instance":"Models.Triage.TriageModel","type_arguments":[]},{"declaration":"Models.Policy.PolicyModel","instance":"Models.Policy.PolicyModel","type_arguments":[]},{"declaration":"Models.Triage.TriageScore","instance":"Models.Triage.TriageScore","type_arguments":[]},{"declaration":"Models.Policy.PolicyRules","instance":"Models.Policy.PolicyRules","type_arguments":[]},{"declaration":"Models.Triage.TriageScore.scores","instance":"Models.Triage.TriageScore.scores","type_arguments":[]},{"declaration":"Models.Triage.isEmergency","instance":"Models.Triage.isEmergency","type_arguments":[]},{"declaration":"Models.Policy.isUrgent","instance":"Models.Policy.isUrgent","type_arguments":[]},{"declaration":"Models.Triage.TriageScore.features","instance":"Models.Triage.TriageScore.features","type_arguments":[]},{"declaration":"Models.Triage.triageBias","instance":"Models.Triage.triageBias","type_arguments":[]},{"declaration":"Models.Triage.triageWeights","instance":"Models.Triage.triageWeights","type_arguments":[]},{"declaration":"Models.Triage.features","instance":"Models.Triage.features","type_arguments":[]}],"internal_erased":[],"root":"Models.Main.respond","runtime":["LexLeanCollections.instKeyInt","LexLeanCollections.lessThan","LexLeanCollections.listFold","LexLeanRuntime.append","LexLeanRuntime.instAppendableList","LexLeanRuntime.multiply","LexLeanRuntime.negate","LexLeanRuntime.subtract"]},{"declarations":["Models.Main.step","Models.Session.SessionModel","Models.Session.SessionStep","Models.Session.affordableCheck","Models.Session.boundedCheck"],"erased":[],"instances":[{"declaration":"Models.Main.step","instance":"Models.Main.step","type_arguments":[]},{"declaration":"Models.Session.boundedCheck","instance":"Models.Session.boundedCheck","type_arguments":[]},{"declaration":"Models.Session.affordableCheck","instance":"Models.Session.affordableCheck","type_arguments":[]},{"declaration":"Models.Session.SessionModel","instance":"Models.Session.SessionModel","type_arguments":[]},{"declaration":"Models.Session.SessionStep","instance":"Models.Session.SessionStep","type_arguments":[]}],"internal_erased":[],"root":"Models.Main.step","runtime":["LexLeanRuntime.subtract"]}],"declarations":[{"code":{"body":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.Key.mk"}},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Ord","value":"v0"}},"id":"v0","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Ord"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instOrdInt"}},"level_parameters":[],"name":"LexLeanCollections.instKeyInt","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v14","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.lt","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"any"}}],"function":"v16","kind":"apply"}},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v13","kind":"fvar"}],"function":"v11","kind":"apply"}}},"kind":"fun"},"kind":"default"}],"discriminant":"v13","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Ordering"},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanCollections.Key","value":"v1"}},"id":"v11","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Ordering"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":[],"name":"Ordering"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Ordering"},"kind":"arrow"},"value":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"id":"v7","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanCollections.lessThan","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v1","kind":"fvar"},"value":{"arguments":[{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.foldl"}},"level_parameters":[],"name":"LexLeanCollections.listFold","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"codomain":{"codomain":{"id":"v1","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"}},{"borrow":false,"id":"v3","type":{"id":"v1","kind":"fvar"}},{"borrow":false,"id":"v4","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanRuntime.Appendable","value":"v1"}},"level_parameters":[],"name":"LexLeanRuntime.append","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable.mk"}},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.appendTR"}},"level_parameters":[],"name":"LexLeanRuntime.instAppendableList","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable.mk"}},"id":"v1","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.lengthTR"}},"level_parameters":[],"name":"LexLeanRuntime.instLengthableList","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Quotient"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.Quotient.mk"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v9","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v8"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v6","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"BEq","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instBEqOfDecidableEq"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instDecidableEq"}}},"kind":"fun"},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.tmod"}},"id":"v0","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.tdiv"}},"level_parameters":[],"name":"LexLeanRuntime.instQuotientInt","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Quotient"},"kind":"app"}},{"code":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v3","kind":"apply"}},"id":"v3","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanRuntime.Lengthable","value":"v1"}},"level_parameters":[],"name":"LexLeanRuntime.length","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HMul","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HMul"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHMul"}},"level_parameters":[],"name":"LexLeanRuntime.multiply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v3","kind":"apply"}},"id":"v3","kind":"let","type":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v1"}},"level_parameters":[],"name":"LexLeanRuntime.negate","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v10","kind":"apply"}},"id":"v10","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanRuntime.Quotient","value":"v1"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v9","type":{"kind":"erased"}}]},{"code":{"id":"v4","kind":"return"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"kind":"erased"}}]}],"discriminant":"v8","kind":"cases","result_type":{"id":"v0","kind":"fvar"},"type_name":"Decidable"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":2,"kind":"projection","type_name":"LexLeanRuntime.Quotient","value":"v1"}},"level_parameters":[],"name":"LexLeanRuntime.quotient","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Quotient"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v4","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"index":4,"kind":"bvar"},"domain":{"index":3,"kind":"bvar"},"kind":"arrow"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Quotient"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HSub","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HSub"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHSub"}},"level_parameters":[],"name":"LexLeanRuntime.subtract","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}},{"id":"v0","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v14","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v12","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}},{"id":"v0","kind":"fvar"},{"id":"v24","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v24","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v23","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v9","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v21","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}},{"id":"v7","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v27","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v18","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v26","type":{"kind":"erased"}}]}],"discriminant":"v20","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Decidable"},"id":"v20","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v5","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.belowCheck"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.GuessModel"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v16","type":{"kind":"erased"}}]}],"discriminant":"v10","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Decidable"},"id":"v10","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.withinCheck"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v3"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.ClampModel"}},"level_parameters":[],"name":"Models.Flows.ClampGuess","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Flows.ClampGuess"}},"level_parameters":[],"name":"Models.Flows.FlowModel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v62","kind":"return"},"id":"v62","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v61","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v61","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g0","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v64","kind":"return"},"id":"v64","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v63","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v63","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g1","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v66","kind":"return"},"id":"v66","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v65","kind":"fvar"}],"function":"v18","kind":"apply"}},"id":"v65","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g2","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v68","kind":"return"},"id":"v68","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v67","kind":"fvar"}],"function":"v24","kind":"apply"}},"id":"v67","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g3","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v70","kind":"return"},"id":"v70","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v69","kind":"fvar"}],"function":"v30","kind":"apply"}},"id":"v69","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g4","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v72","kind":"return"},"id":"v72","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v71","kind":"fvar"}],"function":"v36","kind":"apply"}},"id":"v71","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g5","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v74","kind":"return"},"id":"v74","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v73","kind":"fvar"}],"function":"v42","kind":"apply"}},"id":"v73","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g6","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v76","kind":"return"},"id":"v76","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v75","kind":"fvar"}],"function":"v48","kind":"apply"}},"id":"v75","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g7","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v78","kind":"return"},"id":"v78","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v77","kind":"fvar"}],"function":"v54","kind":"apply"}},"id":"v77","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g8","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v80","kind":"return"},"id":"v80","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v79","kind":"fvar"}],"function":"v60","kind":"apply"}},"id":"v79","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g9","kind":"constructor","parameters":[]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Models.Glyphs.Glyph"},"id":"v60","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v55","kind":"apply"}},"declaration":{"id":"v55","parameters":[{"borrow":false,"id":"v56","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v59","kind":"return"},"id":"v59","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v58"}},"id":"v58","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v57","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v57","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9"}}}},"kind":"fun"},"id":"v54","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v49","kind":"apply"}},"declaration":{"id":"v49","parameters":[{"borrow":false,"id":"v50","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v53","kind":"return"},"id":"v53","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v52"}},"id":"v52","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v51","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v51","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"8"}}}},"kind":"fun"},"id":"v48","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v43","kind":"apply"}},"declaration":{"id":"v43","parameters":[{"borrow":false,"id":"v44","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v47","kind":"return"},"id":"v47","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v46"}},"id":"v46","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v45","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v45","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"7"}}}},"kind":"fun"},"id":"v42","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v37","kind":"apply"}},"declaration":{"id":"v37","parameters":[{"borrow":false,"id":"v38","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v41","kind":"return"},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v40"}},"id":"v40","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v39","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v39","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"6"}}}},"kind":"fun"},"id":"v36","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v31","kind":"apply"}},"declaration":{"id":"v31","parameters":[{"borrow":false,"id":"v32","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v35","kind":"return"},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v34"}},"id":"v34","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"5"}}}},"kind":"fun"},"id":"v30","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v25","kind":"apply"}},"declaration":{"id":"v25","parameters":[{"borrow":false,"id":"v26","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v28"}},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v27","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4"}}}},"kind":"fun"},"id":"v24","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v19","kind":"apply"}},"declaration":{"id":"v19","parameters":[{"borrow":false,"id":"v20","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v22"}},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v21","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}}},"kind":"fun"},"id":"v18","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v13","kind":"apply"}},"declaration":{"id":"v13","parameters":[{"borrow":false,"id":"v14","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v16"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}}},"kind":"fun"},"id":"v12","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"level_parameters":[],"name":"Models.Glyphs.digitOf","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v169","kind":"return"},"id":"v169","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v168","kind":"fvar"}],"function":"v17","kind":"apply"}},"id":"v168","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g0","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v171","kind":"return"},"id":"v171","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v170","kind":"fvar"}],"function":"v34","kind":"apply"}},"id":"v170","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g1","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v173","kind":"return"},"id":"v173","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v172","kind":"fvar"}],"function":"v51","kind":"apply"}},"id":"v172","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g2","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v175","kind":"return"},"id":"v175","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v174","kind":"fvar"}],"function":"v68","kind":"apply"}},"id":"v174","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g3","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v177","kind":"return"},"id":"v177","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v176","kind":"fvar"}],"function":"v85","kind":"apply"}},"id":"v176","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g4","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v179","kind":"return"},"id":"v179","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v178","kind":"fvar"}],"function":"v102","kind":"apply"}},"id":"v178","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g5","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v181","kind":"return"},"id":"v181","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v180","kind":"fvar"}],"function":"v119","kind":"apply"}},"id":"v180","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g6","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v183","kind":"return"},"id":"v183","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v182","kind":"fvar"}],"function":"v136","kind":"apply"}},"id":"v182","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g7","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v185","kind":"return"},"id":"v185","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v184","kind":"fvar"}],"function":"v150","kind":"apply"}},"id":"v184","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g8","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v187","kind":"return"},"id":"v187","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v186","kind":"fvar"}],"function":"v167","kind":"apply"}},"id":"v186","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Glyphs.Glyph.g9","kind":"constructor","parameters":[]}],"discriminant":"v0","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Models.Glyphs.Glyph"},"id":"v167","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v151","kind":"apply"}},"declaration":{"id":"v151","parameters":[{"borrow":false,"id":"v152","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v166","kind":"return"},"id":"v166","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v155","kind":"fvar"},{"id":"v165","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v165","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v155","kind":"fvar"},{"id":"v164","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v164","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v155","kind":"fvar"},{"id":"v163","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v163","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v155","kind":"fvar"},{"id":"v162","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v162","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v158","kind":"fvar"},{"id":"v161","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v161","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v155","kind":"fvar"},{"id":"v160","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v160","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v155","kind":"fvar"},{"id":"v159","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v159","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v158","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v157"}},"id":"v157","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v156","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v156","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v155","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v154"}},"id":"v154","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v153","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v153","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}}},"kind":"fun"},"id":"v150","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v137","kind":"apply"}},"declaration":{"id":"v137","parameters":[{"borrow":false,"id":"v138","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v149","kind":"return"},"id":"v149","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v141","kind":"fvar"},{"id":"v148","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v148","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v141","kind":"fvar"},{"id":"v147","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v147","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v141","kind":"fvar"},{"id":"v146","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v146","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v141","kind":"fvar"},{"id":"v145","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v145","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v141","kind":"fvar"},{"id":"v144","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v144","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v141","kind":"fvar"},{"id":"v143","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v143","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v141","kind":"fvar"},{"id":"v142","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v142","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v141","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v140"}},"id":"v140","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v139","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v139","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}}},"kind":"fun"},"id":"v136","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v120","kind":"apply"}},"declaration":{"id":"v120","parameters":[{"borrow":false,"id":"v121","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v135","kind":"return"},"id":"v135","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v124","kind":"fvar"},{"id":"v134","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v134","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v124","kind":"fvar"},{"id":"v133","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v133","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v124","kind":"fvar"},{"id":"v132","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v132","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v127","kind":"fvar"},{"id":"v131","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v131","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v127","kind":"fvar"},{"id":"v130","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v130","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v127","kind":"fvar"},{"id":"v129","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v129","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v127","kind":"fvar"},{"id":"v128","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v128","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v127","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v126"}},"id":"v126","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v125","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v125","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v124","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v123"}},"id":"v123","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v122","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v122","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}}},"kind":"fun"},"id":"v119","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v103","kind":"apply"}},"declaration":{"id":"v103","parameters":[{"borrow":false,"id":"v104","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v118","kind":"return"},"id":"v118","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v107","kind":"fvar"},{"id":"v117","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v117","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v110","kind":"fvar"},{"id":"v116","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v116","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v107","kind":"fvar"},{"id":"v115","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v115","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v107","kind":"fvar"},{"id":"v114","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v114","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v107","kind":"fvar"},{"id":"v113","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v113","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v107","kind":"fvar"},{"id":"v112","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v112","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v107","kind":"fvar"},{"id":"v111","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v111","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v110","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v109"}},"id":"v109","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v108","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v108","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v107","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v106"}},"id":"v106","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v105","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v105","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}}},"kind":"fun"},"id":"v102","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v86","kind":"apply"}},"declaration":{"id":"v86","parameters":[{"borrow":false,"id":"v87","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v101","kind":"return"},"id":"v101","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v90","kind":"fvar"},{"id":"v100","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v100","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v93","kind":"fvar"},{"id":"v99","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v99","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v90","kind":"fvar"},{"id":"v98","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v98","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v90","kind":"fvar"},{"id":"v97","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v97","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v93","kind":"fvar"},{"id":"v96","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v96","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v90","kind":"fvar"},{"id":"v95","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v95","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v90","kind":"fvar"},{"id":"v94","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v94","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v93","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v92"}},"id":"v92","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v91","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v91","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v90","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v89"}},"id":"v89","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v88","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v88","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}}},"kind":"fun"},"id":"v85","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v69","kind":"apply"}},"declaration":{"id":"v69","parameters":[{"borrow":false,"id":"v70","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v84","kind":"return"},"id":"v84","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v73","kind":"fvar"},{"id":"v83","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v83","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v76","kind":"fvar"},{"id":"v82","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v82","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v76","kind":"fvar"},{"id":"v81","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v81","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v73","kind":"fvar"},{"id":"v80","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v80","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v73","kind":"fvar"},{"id":"v79","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v79","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v76","kind":"fvar"},{"id":"v78","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v78","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v76","kind":"fvar"},{"id":"v77","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v77","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v76","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v75"}},"id":"v75","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v74","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v74","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v73","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v72"}},"id":"v72","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v71","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v71","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"id":"v68","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v52","kind":"apply"}},"declaration":{"id":"v52","parameters":[{"borrow":false,"id":"v53","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v67","kind":"return"},"id":"v67","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v56","kind":"fvar"},{"id":"v66","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v66","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v56","kind":"fvar"},{"id":"v65","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v65","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v56","kind":"fvar"},{"id":"v64","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v64","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v56","kind":"fvar"},{"id":"v63","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v63","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v59","kind":"fvar"},{"id":"v62","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v62","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v59","kind":"fvar"},{"id":"v61","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v61","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v56","kind":"fvar"},{"id":"v60","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v60","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v59","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v58"}},"id":"v58","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v57","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v57","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v56","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v55"}},"id":"v55","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v54","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v54","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}}},"kind":"fun"},"id":"v51","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v35","kind":"apply"}},"declaration":{"id":"v35","parameters":[{"borrow":false,"id":"v36","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v50","kind":"return"},"id":"v50","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v39","kind":"fvar"},{"id":"v49","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v49","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v39","kind":"fvar"},{"id":"v48","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v48","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v42","kind":"fvar"},{"id":"v47","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v47","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v39","kind":"fvar"},{"id":"v46","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v46","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v39","kind":"fvar"},{"id":"v45","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v45","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v42","kind":"fvar"},{"id":"v44","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v44","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v39","kind":"fvar"},{"id":"v43","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v42","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v41"}},"id":"v41","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v40","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v40","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v39","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v38"}},"id":"v38","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v37","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v37","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}}},"kind":"fun"},"id":"v34","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v18","kind":"apply"}},"declaration":{"id":"v18","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v33","kind":"return"},"id":"v33","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v22","kind":"fvar"},{"id":"v32","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v25","kind":"fvar"},{"id":"v31","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v31","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v25","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v30","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v22","kind":"fvar"},{"id":"v29","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v22","kind":"fvar"},{"id":"v28","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v22","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v22","kind":"fvar"},{"id":"v26","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v24"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v21"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"id":"v17","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}}},"kind":"fun"},"level_parameters":[],"name":"Models.Glyphs.encode","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v12","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v7","kind":"fvar"},{"id":"v6","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.subtract"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v7","kind":"fvar"},{"id":"v6","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.subtract"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v9"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"100"}}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"level_parameters":[],"name":"Models.Ledger.Clamp","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.Clamp"}},"level_parameters":[],"name":"Models.Ledger.ClampModel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.subtract"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubNat"}},"level_parameters":[],"name":"Models.Ledger.Guess","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.Guess"}},"level_parameters":[],"name":"Models.Ledger.GuessModel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v5","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"level_parameters":[],"name":"Models.Ledger.Spill","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.Spill"}},"level_parameters":[],"name":"Models.Ledger.SpillModel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.Spill"}},"level_parameters":[],"name":"Models.Ledger.SpillRawModel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"level_parameters":[],"name":"Models.Ledger.belowCheck","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"100"}}},"level_parameters":[],"name":"Models.Ledger.cappedCheck","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"level_parameters":[],"name":"Models.Ledger.growsCheck","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"10"}}},"level_parameters":[],"name":"Models.Ledger.smallCheck","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"10"}}},"level_parameters":[],"name":"Models.Ledger.withinCheck","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v6","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v5","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"id":"v11","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[],"function":"v10","kind":"apply"}},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Pipeline.StreamModel"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v9","type":{"kind":"erased"}}]}],"discriminant":"v4","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Pipeline.shortStreamCheck"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v0","kind":"apply"}},"level_parameters":[],"name":"Models.Main.admitCosts","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.DigitModel"}},"level_parameters":[],"name":"Models.Main.classify","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v5","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v7","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}]}],"discriminant":"v6","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.recognizesCheck"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.RawDigitModel"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"},"value":{"arguments":[],"function":"v0","kind":"apply"}},"level_parameters":[],"name":"Models.Main.classifyChecked","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v8","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v7","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v18","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v5","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v17","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v20","type":{"kind":"erased"}}]}],"discriminant":"v16","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v16","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.cappedCheck"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v13"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Flows.FlowModel"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}]}],"discriminant":"v6","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.cappedCheck"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v0","kind":"apply"}},"level_parameters":[],"name":"Models.Main.flowStep","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v6","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v5","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v3","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v18","type":{"kind":"erased"}}]}],"discriminant":"v13","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v13","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.belowCheck"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v10","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.GuessModel"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v9","type":{"kind":"erased"}}]}],"discriminant":"v4","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.withinCheck"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v0","kind":"apply"}},"level_parameters":[],"name":"Models.Main.guessChecked","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v8","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v7","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v15","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v25","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v5","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v34","kind":"return"},"id":"v34","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v33","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v33","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v5","kind":"fvar"},{"id":"v32","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v31","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v36","kind":"return"},"id":"v36","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v35","type":{"kind":"erased"}}]}],"discriminant":"v30","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v30","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v29","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v21","kind":"fvar"},{"id":"v28","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.growsCheck"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v20"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v27","type":{"kind":"erased"}}]}],"discriminant":"v23","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v23","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v21","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.cappedCheck"}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v20"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v19","kind":"apply"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.SpillRawModel"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v18","type":{"kind":"erased"}}]}],"discriminant":"v13","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v13","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.smallCheck"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}]}],"discriminant":"v6","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.cappedCheck"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v0","kind":"apply"}},"level_parameters":[],"name":"Models.Main.ledgerFull","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v8","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v7","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v15","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v25","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v5","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v27","type":{"kind":"erased"}}]}],"discriminant":"v23","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v23","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v21","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.cappedCheck"}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v20"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v19","kind":"apply"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.SpillModel"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v18","type":{"kind":"erased"}}]}],"discriminant":"v13","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v13","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.smallCheck"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}]}],"discriminant":"v6","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Ledger.cappedCheck"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v0","kind":"apply"}},"level_parameters":[],"name":"Models.Main.ledgerPost","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v6","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v5","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v10","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Pipeline.PipelineModel"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v9","type":{"kind":"erased"}}]}],"discriminant":"v4","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Triage.symptomaticCheck"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"},"value":{"arguments":[],"function":"v0","kind":"apply"}},"level_parameters":[],"name":"Models.Main.respond","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v8","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v7","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v15","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v19","kind":"apply"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Session.SessionModel"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v18","type":{"kind":"erased"}}]}],"discriminant":"v13","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v13","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Session.affordableCheck"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}]}],"discriminant":"v6","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Session.boundedCheck"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Session.Window"},"value":{"arguments":[],"function":"v0","kind":"apply"}},"level_parameters":[],"name":"Models.Main.step","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Session.Window"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Models.Session.Window"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Pipeline.TriagePipeline"}},"level_parameters":[],"name":"Models.Pipeline.PipelineModel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v57","kind":"return"},"id":"v57","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v56","kind":"fvar"}],"function":"v50","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v56","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v59","kind":"return"},"id":"v59","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v58","kind":"fvar"}],"function":"v55","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v58","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v46","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Except"},"id":"v55","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v51","kind":"apply"}},"declaration":{"id":"v51","parameters":[{"borrow":false,"id":"v52","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"id":"v54","kind":"return"},"id":"v54","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v53","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"id":"v53","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v52"}}},"kind":"fun"},"id":"v50","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v47","kind":"apply"}},"declaration":{"id":"v47","parameters":[{"borrow":false,"id":"v48","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v49","kind":"return"},"id":"v49","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v48","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}}},"kind":"fun"},"id":"v46","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[],"function":"v45","kind":"apply"}},"id":"v45","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v44","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.listFold"}},"id":"v44","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v43","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Models.Session.Window"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v41","kind":"fvar"},{"id":"v42","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v42","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Session.Window"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Models.Session.SessionModel.initial"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v38","kind":"return"},"id":"v38","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v37","kind":"fvar"}],"function":"v6","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v37","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v40","kind":"return"},"id":"v40","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v39","kind":"fvar"}],"function":"v36","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v39","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v2","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Except"},"id":"v36","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v14","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v22","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v21","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v20","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v35","kind":"return"},"id":"v35","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v34","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"id":"v34","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Models.Session.Window"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v27","kind":"fvar"},{"id":"v33","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v33","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v28","kind":"fvar"},{"id":"v29","kind":"fvar"},{"id":"v32","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.append"}},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v30","kind":"fvar"},{"id":"v31","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v31","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v26"}},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v8"}},"id":"v28","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instAppendableList"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Session.Window"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v26"}},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v25","kind":"apply"}},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Session.SessionModel"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"kind":"erased"}}]}],"discriminant":"v19","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v19","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v18","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Session.affordableCheck"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v17","type":{"kind":"erased"}}]}],"discriminant":"v12","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Decidable"},"id":"v12","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Session.boundedCheck"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Session.Window"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v8"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"id":"v2","kind":"return"}},"kind":"fun"}},"kind":"fun"},"level_parameters":[],"name":"Models.Pipeline.SessionStream","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Pipeline.SessionStream"}},"level_parameters":[],"name":"Models.Pipeline.StreamModel","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Policy.PolicyModel"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Triage.TriageModel"}},"level_parameters":[],"name":"Models.Pipeline.TriagePipeline","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1001"}}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.length"}},"id":"v1","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instLengthableList"}},"level_parameters":[],"name":"Models.Pipeline.shortStreamCheck","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Policy.PolicyRules"}},"level_parameters":[],"name":"Models.Policy.PolicyModel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v9"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v7","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v13"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}]}],"discriminant":"v6","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Decidable"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Policy.isUrgent"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v4","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v17"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v15","type":{"kind":"erased"}}]}],"discriminant":"v3","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Decidable"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Triage.isEmergency"}},"level_parameters":[],"name":"Models.Policy.PolicyRules","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v10","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Level.routine","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v12","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Level.urgent","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"function":"v9","kind":"apply"}},"id":"v14","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Level.emergency","kind":"constructor","parameters":[]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Models.Triage.Level"},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Models.Policy.isUrgent","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.DigitNet"}},"level_parameters":[],"name":"Models.Recognizer.DigitModel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v104","kind":"return"},"id":"v104","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v103","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v103","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v106","kind":"return"},"id":"v106","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v105","kind":"fvar"}],"function":"v10","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v105","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v102","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Option"},"id":"v102","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v101"}},"id":"v101","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v11","kind":"fvar"},{"id":"v99","kind":"fvar"},{"id":"v100","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.listFold"}},"id":"v100","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.DigitNet.logits"}},"id":"v99","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v57","kind":"fvar"},{"id":"v98","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v98","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v60","kind":"fvar"},{"id":"v97","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v97","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v63","kind":"fvar"},{"id":"v96","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v96","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v66","kind":"fvar"},{"id":"v95","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v95","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v69","kind":"fvar"},{"id":"v94","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v94","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v72","kind":"fvar"},{"id":"v93","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v93","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v75","kind":"fvar"},{"id":"v92","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v92","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v78","kind":"fvar"},{"id":"v91","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v91","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v81","kind":"fvar"},{"id":"v90","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v90","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v84","kind":"fvar"},{"id":"v89","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v89","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v87","kind":"fvar"},{"id":"v88","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v88","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v87","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v86"}},"id":"v86","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v85","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v85","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9"}}},"id":"v84","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v83"}},"id":"v83","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v82","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v82","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"8"}}},"id":"v81","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v80"}},"id":"v80","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v79","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v79","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"7"}}},"id":"v78","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v77"}},"id":"v77","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v76","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v76","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"6"}}},"id":"v75","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v74"}},"id":"v74","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v73","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v73","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"5"}}},"id":"v72","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v71"}},"id":"v71","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v70","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v70","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4"}}},"id":"v69","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v68"}},"id":"v68","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v67","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v67","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v66","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v65"}},"id":"v65","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v64","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v64","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"id":"v63","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v62"}},"id":"v62","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v61","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v61","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v60","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v59"}},"id":"v59","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v58","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v58","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v57","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"declaration":{"id":"v11","parameters":[{"borrow":false,"id":"v12","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v13","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v53","kind":"return"},"id":"v53","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v52","kind":"fvar"}],"function":"v16","kind":"apply"}},"id":"v52","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v56","kind":"return"},"id":"v56","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v54","kind":"fvar"},{"id":"v55","kind":"fvar"}],"function":"v50","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v54","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v55","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v51","kind":"cases","result_type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"List"},"id":"v51","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v12"}},"id":"v50","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v19","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v48","kind":"fvar"}],"kind":"jump","target":"v45"},"id":"v48","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"arguments":[{"id":"v49","kind":"fvar"}],"kind":"jump","target":"v42"},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v49","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v38","kind":"cases","result_type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Option"},"declaration":{"id":"v45","parameters":[{"borrow":false,"id":"v46","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v47","kind":"fvar"}],"kind":"jump","target":"v39"},"id":"v47","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v46","kind":"fvar"}],"function":"v24","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v42","parameters":[{"borrow":false,"id":"v43","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v44","kind":"fvar"}],"kind":"jump","target":"v39"},"id":"v44","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v43","kind":"fvar"}],"function":"v37","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v39","parameters":[{"borrow":false,"id":"v40","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v41","kind":"return"},"id":"v41","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v40","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}}},"kind":"join"},"id":"v38","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v12"}},"id":"v37","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v25","kind":"apply"}},"declaration":{"id":"v25","parameters":[{"borrow":false,"id":"v26","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v33","kind":"return"},"id":"v33","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v26","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v32","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v36","kind":"return"},"id":"v36","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v35","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v18","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v34","type":{"kind":"erased"}}]}],"discriminant":"v31","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v31","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v29","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v27","kind":"fvar"},{"id":"v28","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.lessThan"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v26"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanCollections.instKeyInt"}}},"kind":"fun"},"id":"v24","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v20","kind":"apply"}},"declaration":{"id":"v20","parameters":[{"borrow":false,"id":"v21","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v22","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v18","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}}},"kind":"fun"}},"kind":"fun"},"id":"v16","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v14","kind":"apply"}},"declaration":{"id":"v14","parameters":[{"borrow":false,"id":"v15","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"id":"v12","kind":"return"}},"kind":"fun"}},"kind":"fun"},"id":"v10","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v8"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"level_parameters":[],"name":"Models.Recognizer.DigitNet","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Glyphs.encode"}},"level_parameters":[],"name":"Models.Recognizer.DigitNet.encoded","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v60","kind":"return"},"id":"v60","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v59"}},"id":"v59","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v57","kind":"fvar"},{"id":"v58","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.listFold"}},"id":"v58","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Models.Recognizer.hiddenWeights"}},"id":"v57","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v55","kind":"fvar"},{"id":"v56","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v56","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Models.Recognizer.hiddenBias"}},"id":"v55","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v51","kind":"return"},"id":"v51","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v50","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v50","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v54","kind":"return"},"id":"v54","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v52","kind":"fvar"},{"id":"v53","kind":"fvar"}],"function":"v48","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v52","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v53","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v49","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"List"},"id":"v49","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v2"}},"id":"v48","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v9","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v47","kind":"return"},"id":"v47","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v46","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v46","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v45","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.append"}},"id":"v45","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v43","kind":"fvar"},{"id":"v44","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v44","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v12","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v42","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.subtract"}},"id":"v42","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v13","kind":"fvar"},{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.negate"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v40"}},"id":"v40","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v14","kind":"fvar"},{"id":"v39","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.listFold"}},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v38","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v38","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v37"}},"id":"v37","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v36","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v36","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"declaration":{"id":"v14","parameters":[{"borrow":false,"id":"v15","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v16","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v31","kind":"fvar"}],"function":"v19","kind":"apply"}},"id":"v31","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v35","kind":"return"},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"},{"id":"v34","kind":"fvar"}],"function":"v29","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v33","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v34","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v30","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"List"},"id":"v30","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v15"}},"id":"v29","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"function":"v20","kind":"apply"}},"declaration":{"id":"v20","parameters":[{"borrow":false,"id":"v21","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v22","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v27","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v12","kind":"fvar"},{"id":"v23","kind":"fvar"},{"id":"v26","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.subtract"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v13","kind":"fvar"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.negate"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v24","kind":"fvar"},{"id":"v16","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.multiply"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instMul"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v15"}}},"kind":"fun"},"id":"v19","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"id":"v15","kind":"return"}},"kind":"fun"}},"kind":"fun"},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instNegInt"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instSub"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v2"}},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instAppendableList"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"id":"v2","kind":"return"}},"kind":"fun"}},"kind":"fun"},"level_parameters":[],"name":"Models.Recognizer.DigitNet.layer1","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v19","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.listFold"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"jump","target":"v12"},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v17","type":{"kind":"erased"}}]},{"code":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"jump","target":"v12"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v18","type":{"kind":"erased"}}]}],"discriminant":"v11","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v4","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.append"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}}},"kind":"join"},"id":"v11","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.lessThan"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanCollections.instKeyInt"}},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instAppendableList"}}},"kind":"fun"},"level_parameters":[],"name":"Models.Recognizer.DigitNet.layer2","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v33","kind":"return"},"id":"v33","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v32","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.listFold"}},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"arguments":[{"id":"v13","kind":"fvar"}],"kind":"jump","target":"v18"},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v29","type":{"kind":"erased"}}]},{"code":{"arguments":[{"id":"v26","kind":"fvar"}],"kind":"jump","target":"v18"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v30","type":{"kind":"erased"}}]}],"discriminant":"v28","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Decidable"},"id":"v28","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v27","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v14","kind":"fvar"},{"id":"v26","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.lessThan"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v25"}},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"127"}}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v23","type":{"kind":"erased"}}]},{"code":{"arguments":[{"id":"v11","kind":"fvar"}],"kind":"jump","target":"v18"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v31","type":{"kind":"erased"}}]}],"discriminant":"v17","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v18","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v4","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.append"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v19","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}}},"kind":"join"},"id":"v17","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v14","kind":"fvar"},{"id":"v13","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.lessThan"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanCollections.instKeyInt"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.quotient"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4"}}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Quotient"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanRuntime.instQuotientInt"}},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instAppendableList"}}},"kind":"fun"},"level_parameters":[],"name":"Models.Recognizer.DigitNet.layer3","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v60","kind":"return"},"id":"v60","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v59"}},"id":"v59","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v57","kind":"fvar"},{"id":"v58","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.listFold"}},"id":"v58","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Models.Recognizer.outputWeights"}},"id":"v57","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v55","kind":"fvar"},{"id":"v56","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v56","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Models.Recognizer.outputBias"}},"id":"v55","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v51","kind":"return"},"id":"v51","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v50","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v50","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v54","kind":"return"},"id":"v54","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v52","kind":"fvar"},{"id":"v53","kind":"fvar"}],"function":"v48","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v52","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v53","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v49","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"List"},"id":"v49","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v2"}},"id":"v48","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v9","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v47","kind":"return"},"id":"v47","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v46","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v46","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v45","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.append"}},"id":"v45","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v43","kind":"fvar"},{"id":"v44","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v44","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v12","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v42","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.subtract"}},"id":"v42","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v13","kind":"fvar"},{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.negate"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v40"}},"id":"v40","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v14","kind":"fvar"},{"id":"v39","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.listFold"}},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v38","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v38","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v37"}},"id":"v37","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v36","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v36","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"declaration":{"id":"v14","parameters":[{"borrow":false,"id":"v15","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v16","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v31","kind":"fvar"}],"function":"v19","kind":"apply"}},"id":"v31","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v35","kind":"return"},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"},{"id":"v34","kind":"fvar"}],"function":"v29","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v33","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v34","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v30","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"List"},"id":"v30","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v15"}},"id":"v29","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"function":"v20","kind":"apply"}},"declaration":{"id":"v20","parameters":[{"borrow":false,"id":"v21","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v22","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v27","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v12","kind":"fvar"},{"id":"v23","kind":"fvar"},{"id":"v26","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.subtract"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v13","kind":"fvar"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.negate"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v24","kind":"fvar"},{"id":"v16","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.multiply"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instMul"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v15"}}},"kind":"fun"},"id":"v19","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"id":"v15","kind":"return"}},"kind":"fun"}},"kind":"fun"},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instNegInt"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instSub"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v2"}},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instAppendableList"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"id":"v2","kind":"return"}},"kind":"fun"}},"kind":"fun"},"level_parameters":[],"name":"Models.Recognizer.DigitNet.layer4","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.DigitNet.layer4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.DigitNet.layer3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.DigitNet.layer2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.DigitNet.layer1"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.DigitNet.encoded"}},"level_parameters":[],"name":"Models.Recognizer.DigitNet.logits","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Recognizer.DigitNet"}},"level_parameters":[],"name":"Models.Recognizer.RawDigitModel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v31","kind":"return"},"id":"v31","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v30","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v29","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v28","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v26","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v24","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v23","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v11","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v14","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v18","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v10","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v16"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"5"}}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v13"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v10","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v9"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"id":"v7","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instNegInt"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v1"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v0","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"level_parameters":[],"name":"Models.Recognizer.hiddenBias","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v100","kind":"return"},"id":"v100","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v13","kind":"fvar"},{"id":"v99","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v99","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v15","kind":"fvar"},{"id":"v98","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v98","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v18","kind":"fvar"},{"id":"v97","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v97","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v22","kind":"fvar"},{"id":"v96","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v96","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v27","kind":"fvar"},{"id":"v95","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v95","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v33","kind":"fvar"},{"id":"v94","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v94","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v40","kind":"fvar"},{"id":"v93","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v93","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v60","kind":"fvar"},{"id":"v92","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v92","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v66","kind":"fvar"},{"id":"v91","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v91","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v73","kind":"fvar"},{"id":"v90","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v90","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v80","kind":"fvar"},{"id":"v89","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v89","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v87","kind":"fvar"},{"id":"v88","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v88","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v87","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v86","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v86","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v81","kind":"fvar"},{"id":"v85","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v85","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v84","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v84","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v48","kind":"fvar"},{"id":"v83","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v83","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v82","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v82","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v43","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v81","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v45","kind":"apply"}},"id":"v80","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v52","kind":"fvar"},{"id":"v79","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v79","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v52","kind":"fvar"},{"id":"v78","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v78","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v52","kind":"fvar"},{"id":"v77","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v77","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v52","kind":"fvar"},{"id":"v76","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v76","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v52","kind":"fvar"},{"id":"v75","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v75","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v52","kind":"fvar"},{"id":"v74","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v74","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v52","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v73","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v53","kind":"fvar"},{"id":"v72","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v72","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v71","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v71","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v70","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v70","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v69","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v69","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v48","kind":"fvar"},{"id":"v68","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v68","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v48","kind":"fvar"},{"id":"v67","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v67","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v49","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v66","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v65","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v65","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v64","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v64","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v48","kind":"fvar"},{"id":"v63","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v63","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v61","kind":"fvar"},{"id":"v62","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v62","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v52","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v61","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v43","kind":"fvar"}],"function":"v45","kind":"apply"}},"id":"v60","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v43","kind":"fvar"},{"id":"v59","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v59","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v49","kind":"fvar"},{"id":"v58","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v58","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v57","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v57","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v56","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v56","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v55","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v55","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v54","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v54","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v53","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v53","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v52","kind":"fvar"}],"function":"v45","kind":"apply"}},"id":"v52","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v51"}},"id":"v51","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v50","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v50","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v49","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v48","kind":"fvar"}],"function":"v45","kind":"apply"}},"id":"v48","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v47"}},"id":"v47","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v46","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v46","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"id":"v45","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v44"}},"id":"v44","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instNegInt"}},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v42"}},"id":"v42","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v40","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v39","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v38","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v38","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v37","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v37","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v36","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v36","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v35","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v34","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v34","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v33","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v32","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v31","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v31","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v30","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v29","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v28","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v26","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v24","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v23","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v1"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v0","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4"}}},"level_parameters":[],"name":"Models.Recognizer.hiddenWeights","parameters":[],"recursive":false,"type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v36","kind":"return"},"id":"v36","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v35","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v9","kind":"fvar"},{"id":"v34","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v34","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v13","kind":"fvar"},{"id":"v33","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v33","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v13","kind":"fvar"},{"id":"v32","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v17","kind":"fvar"},{"id":"v31","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v31","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v13","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v30","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v29","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v21","kind":"fvar"},{"id":"v28","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v25","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v26","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"function":"v1","kind":"apply"}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v23"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"7"}}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"function":"v1","kind":"apply"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v19"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v16","kind":"fvar"}],"function":"v1","kind":"apply"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v15"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4"}}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"function":"v1","kind":"apply"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v11"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"5"}}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"function":"v1","kind":"apply"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v4","kind":"fvar"}],"function":"v1","kind":"apply"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"6"}}},"id":"v1","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v0"}},"id":"v0","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instNegInt"}},"level_parameters":[],"name":"Models.Recognizer.outputBias","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v67","kind":"return"},"id":"v67","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v18","kind":"fvar"},{"id":"v66","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v66","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v24","kind":"fvar"},{"id":"v65","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v65","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v31","kind":"fvar"},{"id":"v64","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v64","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v36","kind":"fvar"},{"id":"v63","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v63","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v42","kind":"fvar"},{"id":"v62","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v62","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v46","kind":"fvar"},{"id":"v61","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v61","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v51","kind":"fvar"},{"id":"v60","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v60","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v52","kind":"fvar"},{"id":"v59","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v59","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v54","kind":"fvar"},{"id":"v58","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v58","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v56","kind":"fvar"},{"id":"v57","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v57","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v56","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v55","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v55","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v44","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v54","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v53","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v53","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v49","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v52","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v23","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v51","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v50","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v50","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v49","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v49","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v48","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v48","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v47","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v47","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v37","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v46","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v45","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v45","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v44","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v44","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v43","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v38","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v42","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v41","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v41","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v40","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v40","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v39","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v38","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v38","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v37","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v37","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v36","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v35","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v34","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v34","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v33","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v33","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v32","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v26","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v31","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v30","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v29","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v28","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v26","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v23","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v1"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v0","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"level_parameters":[],"name":"Models.Recognizer.outputWeights","parameters":[],"recursive":false,"type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"code":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Glyphs.digitOf"}},"level_parameters":[],"name":"Models.Recognizer.recognizesCheck","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"},"kind":"arrow"}},{"code":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Session.SessionStep"}},"level_parameters":[],"name":"Models.Session.SessionModel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Session.Window"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Models.Session.Window"},"kind":"arrow"}},{"code":{"body":{"id":"v0","kind":"return"},"id":"v0","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Session.Window"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Models.Session.SessionStep.initial"}},"level_parameters":[],"name":"Models.Session.SessionModel.initial","parameters":[],"recursive":false,"type":{"kind":"const","levels":[],"name":"Models.Session.Window"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Models.Session.Window"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v19","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Session.Window"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Session.Window.mk"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v14","kind":"fvar"},{"id":"v17","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v16"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Models.Session.Window","value":"v0"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v8","kind":"fvar"},{"id":"v7","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.subtract"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v8","kind":"fvar"},{"id":"v7","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.subtract"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"64"}}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v5","kind":"fvar"},{"id":"v1","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Models.Session.Window","value":"v0"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"level_parameters":[],"name":"Models.Session.SessionStep","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Session.Window"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Models.Session.Window"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Models.Session.Window"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Session.Window"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Session.Window.mk"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v1"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v0","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"level_parameters":[],"name":"Models.Session.SessionStep.initial","parameters":[],"recursive":false,"type":{"kind":"const","levels":[],"name":"Models.Session.Window"}},{"code":{"body":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"16"}}},"level_parameters":[],"name":"Models.Session.affordableCheck","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Session.Window"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Models.Session.Window"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"64"}}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Models.Session.Window","value":"v0"}},"level_parameters":[],"name":"Models.Session.boundedCheck","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Session.Window"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Models.Session.Window"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Triage.TriageScore"}},"level_parameters":[],"name":"Models.Triage.TriageModel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v68","kind":"return"},"id":"v68","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"value":{"arguments":[{"id":"v67","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v67","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v70","kind":"return"},"id":"v70","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"value":{"arguments":[{"id":"v69","kind":"fvar"}],"function":"v8","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v69","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v66","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"type_name":"Option"},"id":"v66","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v65"}},"id":"v65","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v9","kind":"fvar"},{"id":"v63","kind":"fvar"},{"id":"v64","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.listFold"}},"id":"v64","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Triage.TriageScore.scores"}},"id":"v63","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v55","kind":"fvar"},{"id":"v62","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v62","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}},{"id":"v56","kind":"fvar"},{"id":"v61","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v61","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}},{"id":"v57","kind":"fvar"},{"id":"v60","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v60","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}},{"id":"v58","kind":"fvar"},{"id":"v59","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v59","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v58","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Models.Triage.Level.emergency"}},"id":"v57","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Models.Triage.Level.urgent"}},"id":"v56","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Models.Triage.Level.routine"}},"id":"v55","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v11","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v51","kind":"return"},"id":"v51","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v50","kind":"fvar"}],"function":"v14","kind":"apply"}},"id":"v50","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v54","kind":"return"},"id":"v54","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v52","kind":"fvar"},{"id":"v53","kind":"fvar"}],"function":"v48","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v52","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}},{"borrow":false,"id":"v53","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v49","kind":"cases","result_type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"List"},"id":"v49","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v10"}},"id":"v48","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"kind":"arrow"},"value":{"arguments":[],"function":"v15","kind":"apply"}},"declaration":{"id":"v15","parameters":[{"borrow":false,"id":"v16","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}},{"borrow":false,"id":"v17","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v46","kind":"fvar"}],"kind":"jump","target":"v43"},"id":"v46","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"arguments":[{"id":"v47","kind":"fvar"}],"kind":"jump","target":"v40"},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v47","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v36","kind":"cases","result_type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Option"},"declaration":{"id":"v43","parameters":[{"borrow":false,"id":"v44","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v45","kind":"fvar"}],"kind":"jump","target":"v37"},"id":"v45","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v44","kind":"fvar"}],"function":"v22","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v40","parameters":[{"borrow":false,"id":"v41","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v42","kind":"fvar"}],"kind":"jump","target":"v37"},"id":"v42","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v41","kind":"fvar"}],"function":"v35","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v37","parameters":[{"borrow":false,"id":"v38","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v38","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}}},"kind":"join"},"id":"v36","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v10"}},"id":"v35","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v23","kind":"apply"}},"declaration":{"id":"v23","parameters":[{"borrow":false,"id":"v24","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v31","kind":"return"},"id":"v31","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v24","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v30","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v34","kind":"return"},"id":"v34","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v33","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v33","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v16","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v32","type":{"kind":"erased"}}]}],"discriminant":"v29","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v29","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v27","kind":"fvar"},{"id":"v28","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v25","kind":"fvar"},{"id":"v26","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.lessThan"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v24"}},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanCollections.instKeyInt"}}},"kind":"fun"},"id":"v22","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v18","kind":"apply"}},"declaration":{"id":"v18","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v16","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}}},"kind":"fun"}},"kind":"fun"},"id":"v14","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"id":"v10","kind":"return"}},"kind":"fun"}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Models.Triage.Level"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v6"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Models.Triage.Level.routine"}}},"kind":"fun"},"level_parameters":[],"name":"Models.Triage.TriageScore","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Triage.features"}},"level_parameters":[],"name":"Models.Triage.TriageScore.features","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v62","kind":"return"},"id":"v62","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v61"}},"id":"v61","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v3","kind":"fvar"},{"id":"v59","kind":"fvar"},{"id":"v60","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.listFold"}},"id":"v60","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Models.Triage.triageWeights"}},"id":"v59","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v57","kind":"fvar"},{"id":"v58","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v58","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Models.Triage.triageBias"}},"id":"v57","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v5","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v53","kind":"return"},"id":"v53","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v52","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v52","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v56","kind":"return"},"id":"v56","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v54","kind":"fvar"},{"id":"v55","kind":"fvar"}],"function":"v50","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v54","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v55","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v51","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"List"},"id":"v51","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v4"}},"id":"v50","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v11","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v49","kind":"return"},"id":"v49","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v48","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v48","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v12","kind":"fvar"},{"id":"v13","kind":"fvar"},{"id":"v47","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.append"}},"id":"v47","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v45","kind":"fvar"},{"id":"v46","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v46","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v45","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v14","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v44","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.subtract"}},"id":"v44","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v15","kind":"fvar"},{"id":"v43","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.negate"}},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v42"}},"id":"v42","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v16","kind":"fvar"},{"id":"v41","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.listFold"}},"id":"v41","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v40","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v40","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v39"}},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v38","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v38","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v34","kind":"return"},"id":"v34","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"function":"v21","kind":"apply"}},"id":"v33","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v37","kind":"return"},"id":"v37","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v35","kind":"fvar"},{"id":"v36","kind":"fvar"}],"function":"v31","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v35","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v36","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v32","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"List"},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v17"}},"id":"v31","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"function":"v22","kind":"apply"}},"declaration":{"id":"v22","parameters":[{"borrow":false,"id":"v23","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v24","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v29","kind":"fvar"},{"id":"v24","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v14","kind":"fvar"},{"id":"v25","kind":"fvar"},{"id":"v28","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.subtract"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v15","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.negate"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v26","kind":"fvar"},{"id":"v18","kind":"fvar"},{"id":"v23","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.multiply"}},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instMul"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v17"}}},"kind":"fun"},"id":"v21","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v19","kind":"apply"}},"declaration":{"id":"v19","parameters":[{"borrow":false,"id":"v20","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"id":"v17","kind":"return"}},"kind":"fun"}},"kind":"fun"},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instNegInt"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instSub"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v4"}},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instAppendableList"}}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"id":"v4","kind":"return"}},"kind":"fun"}},"kind":"fun"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Triage.TriageScore.features"}},"level_parameters":[],"name":"Models.Triage.TriageScore.scores","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v100","kind":"return"},"id":"v100","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v99","kind":"fvar"}],"function":"v10","kind":"apply"}},"id":"v99","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p0","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v102","kind":"return"},"id":"v102","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v101","kind":"fvar"}],"function":"v23","kind":"apply"}},"id":"v101","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p1","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v104","kind":"return"},"id":"v104","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v103","kind":"fvar"}],"function":"v36","kind":"apply"}},"id":"v103","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p2","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v106","kind":"return"},"id":"v106","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v105","kind":"fvar"}],"function":"v49","kind":"apply"}},"id":"v105","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p3","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v108","kind":"return"},"id":"v108","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v107","kind":"fvar"}],"function":"v62","kind":"apply"}},"id":"v107","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p4","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v110","kind":"return"},"id":"v110","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v109","kind":"fvar"}],"function":"v75","kind":"apply"}},"id":"v109","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p5","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v112","kind":"return"},"id":"v112","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v111","kind":"fvar"}],"function":"v88","kind":"apply"}},"id":"v111","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p6","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v114","kind":"return"},"id":"v114","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v113","kind":"fvar"}],"function":"v98","kind":"apply"}},"id":"v113","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p7","kind":"constructor","parameters":[]}],"discriminant":"v0","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Models.Triage.Presentation"},"id":"v98","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v89","kind":"apply"}},"declaration":{"id":"v89","parameters":[{"borrow":false,"id":"v90","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v97","kind":"return"},"id":"v97","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v93","kind":"fvar"},{"id":"v96","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v96","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v93","kind":"fvar"},{"id":"v95","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v95","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v93","kind":"fvar"},{"id":"v94","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v94","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v93","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v92"}},"id":"v92","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v91","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v91","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}}},"kind":"fun"},"id":"v88","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v76","kind":"apply"}},"declaration":{"id":"v76","parameters":[{"borrow":false,"id":"v77","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v87","kind":"return"},"id":"v87","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v80","kind":"fvar"},{"id":"v86","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v86","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v83","kind":"fvar"},{"id":"v85","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v85","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v83","kind":"fvar"},{"id":"v84","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v84","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v83","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v82"}},"id":"v82","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v81","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v81","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v80","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v79"}},"id":"v79","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v78","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v78","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"id":"v75","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v63","kind":"apply"}},"declaration":{"id":"v63","parameters":[{"borrow":false,"id":"v64","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v74","kind":"return"},"id":"v74","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v67","kind":"fvar"},{"id":"v73","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v73","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v70","kind":"fvar"},{"id":"v72","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v72","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v67","kind":"fvar"},{"id":"v71","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v71","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v70","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v69"}},"id":"v69","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v68","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v68","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v67","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v66"}},"id":"v66","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v65","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v65","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}}},"kind":"fun"},"id":"v62","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v50","kind":"apply"}},"declaration":{"id":"v50","parameters":[{"borrow":false,"id":"v51","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v61","kind":"return"},"id":"v61","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v54","kind":"fvar"},{"id":"v60","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v60","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v54","kind":"fvar"},{"id":"v59","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v59","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v57","kind":"fvar"},{"id":"v58","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v58","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v57","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v56"}},"id":"v56","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v55","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v55","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v54","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v53"}},"id":"v53","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v52","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v52","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"id":"v49","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v37","kind":"apply"}},"declaration":{"id":"v37","parameters":[{"borrow":false,"id":"v38","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v48","kind":"return"},"id":"v48","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v41","kind":"fvar"},{"id":"v47","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v47","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v41","kind":"fvar"},{"id":"v46","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v46","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v44","kind":"fvar"},{"id":"v45","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v45","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v44","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v43"}},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v42","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v42","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v40"}},"id":"v40","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v39","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v39","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}}},"kind":"fun"},"id":"v36","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v24","kind":"apply"}},"declaration":{"id":"v24","parameters":[{"borrow":false,"id":"v25","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v35","kind":"return"},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v28","kind":"fvar"},{"id":"v34","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v34","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v31","kind":"fvar"},{"id":"v33","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v33","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v28","kind":"fvar"},{"id":"v32","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v30"}},"id":"v30","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v27"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v26","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"id":"v23","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v11","kind":"apply"}},"declaration":{"id":"v11","parameters":[{"borrow":false,"id":"v12","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v15","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v18","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v18","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v17"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v14"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}}},"kind":"fun"},"id":"v10","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"level_parameters":[],"name":"Models.Triage.features","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v15","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p0","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p1","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"function":"v9","kind":"apply"}},"id":"v19","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p2","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v21","kind":"fvar"}],"function":"v10","kind":"apply"}},"id":"v21","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p3","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"function":"v11","kind":"apply"}},"id":"v23","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p4","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v25","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v25","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p5","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v27","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v27","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p6","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"function":"v14","kind":"apply"}},"id":"v29","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Presentation.p7","kind":"constructor","parameters":[]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Models.Triage.Presentation"},"id":"v14","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"id":"v13","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"id":"v12","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"id":"v11","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"id":"v10","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Models.Triage.hasSymptom","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v10","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Level.routine","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v12","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Level.urgent","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"function":"v9","kind":"apply"}},"id":"v14","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Models.Triage.Level.emergency","kind":"constructor","parameters":[]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Models.Triage.Level"},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Models.Triage.isEmergency","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Level"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Models.Triage.hasSymptom"}},"level_parameters":[],"name":"Models.Triage.symptomaticCheck","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v7","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instNegInt"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v1"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v0","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"level_parameters":[],"name":"Models.Triage.triageBias","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v13","kind":"fvar"},{"id":"v31","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v31","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v19","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v30","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v28","kind":"fvar"},{"id":"v29","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v29","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v16","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v22","kind":"fvar"},{"id":"v26","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v25","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v24"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"5"}}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v21"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v4","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v4","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v16","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v15"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v5","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"function":"v1","kind":"apply"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4"}}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v4","kind":"fvar"}],"function":"v1","kind":"apply"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"id":"v1","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v0"}},"id":"v0","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instNegInt"}},"level_parameters":[],"name":"Models.Triage.triageWeights","parameters":[],"recursive":false,"type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"erased":[],"externals":[{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Add"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"BEq"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Bool"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Bool.false"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Bool.true"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Decidable"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Decidable.isFalse"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Decidable.isTrue"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Except"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Except.error"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Except.ok"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"HAdd"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"HMul"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"HSub"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Data.Int.Basic","name":"Int"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"Int.instDecidableEq"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"Int.instMul"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"Int.instNegInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"Int.instSub"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.DivMod.Basic","name":"Int.tdiv"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.DivMod.Basic","name":"Int.tmod"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"List"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.List.Basic","name":"List.appendTR"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"List.cons"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"List.foldl"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"List.lengthTR"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"List.nil"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Mul"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Nat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Nat.beq"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Nat.ble"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Nat.Basic","name":"Nat.blt"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Neg"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"OfNat"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Option"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Option.none"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Option.some"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Data.Ord.Basic","name":"Ord"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Data.Ord.Basic","name":"Ordering"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Data.Ord.Basic","name":"Ordering.lt"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"PUnit"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Prod"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Prod.mk"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Sub"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Unit.unit"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instAddNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instBEqOfDecidableEq"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instDecidableEqBool"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instHAdd"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instHMul"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instHSub"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"instOfNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instOfNatNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Ord.Basic","name":"instOrdInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instSubNat"}],"inductives":[{"constructors":[{"fields":1,"index":0,"name":"LexLeanCollections.Key.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"domain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"LexLeanCollections.Key","parameters":1,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"LexLeanRuntime.Appendable.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"domain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"LexLeanRuntime.Appendable","parameters":1,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"LexLeanRuntime.Lengthable.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"domain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"LexLeanRuntime.Lengthable","parameters":1,"recursive":false},{"constructors":[{"fields":3,"index":0,"name":"LexLeanRuntime.Quotient.mk","parameters":1,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Quotient"},"kind":"app"},"domain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"LexLeanRuntime.Quotient","parameters":1,"recursive":false},{"constructors":[{"fields":0,"index":0,"name":"Models.Glyphs.Glyph.g0","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}},{"fields":0,"index":1,"name":"Models.Glyphs.Glyph.g1","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}},{"fields":0,"index":2,"name":"Models.Glyphs.Glyph.g2","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}},{"fields":0,"index":3,"name":"Models.Glyphs.Glyph.g3","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}},{"fields":0,"index":4,"name":"Models.Glyphs.Glyph.g4","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}},{"fields":0,"index":5,"name":"Models.Glyphs.Glyph.g5","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}},{"fields":0,"index":6,"name":"Models.Glyphs.Glyph.g6","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}},{"fields":0,"index":7,"name":"Models.Glyphs.Glyph.g7","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}},{"fields":0,"index":8,"name":"Models.Glyphs.Glyph.g8","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}},{"fields":0,"index":9,"name":"Models.Glyphs.Glyph.g9","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Glyphs.Glyph"}}],"indices":0,"name":"Models.Glyphs.Glyph","parameters":0,"recursive":false},{"constructors":[{"fields":2,"index":0,"name":"Models.Session.Window.mk","parameters":0,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Models.Session.Window"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}}],"indices":0,"name":"Models.Session.Window","parameters":0,"recursive":false},{"constructors":[{"fields":0,"index":0,"name":"Models.Triage.Level.routine","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}},{"fields":0,"index":1,"name":"Models.Triage.Level.urgent","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}},{"fields":0,"index":2,"name":"Models.Triage.Level.emergency","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Triage.Level"}}],"indices":0,"name":"Models.Triage.Level","parameters":0,"recursive":false},{"constructors":[{"fields":0,"index":0,"name":"Models.Triage.Presentation.p0","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}},{"fields":0,"index":1,"name":"Models.Triage.Presentation.p1","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}},{"fields":0,"index":2,"name":"Models.Triage.Presentation.p2","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}},{"fields":0,"index":3,"name":"Models.Triage.Presentation.p3","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}},{"fields":0,"index":4,"name":"Models.Triage.Presentation.p4","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}},{"fields":0,"index":5,"name":"Models.Triage.Presentation.p5","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}},{"fields":0,"index":6,"name":"Models.Triage.Presentation.p6","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}},{"fields":0,"index":7,"name":"Models.Triage.Presentation.p7","parameters":0,"type":{"kind":"const","levels":[],"name":"Models.Triage.Presentation"}}],"indices":0,"name":"Models.Triage.Presentation","parameters":0,"recursive":false}],"lean":{"githash":"f054605aea4b840552cca2e725580bffd1e1b704","version":"4.32.1"},"roots":["Models.Main.classify","Models.Main.classifyChecked","Models.Main.respond","Models.Main.admitCosts","Models.Main.step","Models.Main.ledgerPost","Models.Main.ledgerFull","Models.Main.guessChecked","Models.Main.flowStep"],"spec":"lexlean/compiler-input/2"} diff --git a/examples/models/lexlean.lock b/examples/models/lexlean.lock index 6c27a4ca6..97b4e2a78 100644 --- a/examples/models/lexlean.lock +++ b/examples/models/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "b79e1070aab27c02ec4396ee66aa4bad7b90f9bca923932529eb9eb26264761a" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/examples/production-coverage/expected/build/coverage/Coverage/Boundary.coverage.json b/examples/production-coverage/expected/build/coverage/Coverage/Boundary.coverage.json index 5c59c20bb..1ec54ea2b 100644 --- a/examples/production-coverage/expected/build/coverage/Coverage/Boundary.coverage.json +++ b/examples/production-coverage/expected/build/coverage/Coverage/Boundary.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":491,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":681,"byte_start":491,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1164,"byte_start":681,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1770,"byte_start":1164,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1785,"byte_start":1770,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":21707,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21948,"byte_start":21707,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22035,"byte_start":21948,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22266,"byte_start":22035,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22543,"byte_start":22266,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22566,"byte_start":22543,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Boundary","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Boundary.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Boundary.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Boundary.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Boundary.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Boundary.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":24,"byte_start":16,"class":"word","path":"src/Boundary.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":25,"byte_start":24,"class":"delimiter","path":"src/Boundary.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":38,"byte_start":26,"class":"control","path":"src/Boundary.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":39,"byte_start":38,"class":"delimiter","path":"src/Boundary.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":46,"byte_start":39,"class":"word","path":"src/Boundary.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":46,"class":"ascii-symbol","path":"src/Boundary.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":50,"byte_start":47,"class":"word","path":"src/Boundary.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":50,"class":"ascii-symbol","path":"src/Boundary.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":51,"class":"word","path":"src/Boundary.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Boundary.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Boundary.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"ascii-symbol","path":"src/Boundary.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"numeral","path":"src/Boundary.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":59,"byte_start":58,"class":"ascii-symbol","path":"src/Boundary.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":60,"byte_start":59,"class":"numeral","path":"src/Boundary.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":61,"byte_start":60,"class":"delimiter","path":"src/Boundary.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":68,"byte_start":62,"class":"control","path":"src/Boundary.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":69,"byte_start":68,"class":"delimiter","path":"src/Boundary.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":83,"byte_start":69,"class":"word","path":"src/Boundary.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":92,"byte_start":84,"class":"word","path":"src/Boundary.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":93,"byte_start":92,"class":"delimiter","path":"src/Boundary.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":100,"byte_start":94,"class":"control","path":"src/Boundary.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":101,"byte_start":100,"class":"delimiter","path":"src/Boundary.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":115,"byte_start":101,"class":"word","path":"src/Boundary.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":116,"byte_start":115,"class":"delimiter","path":"src/Boundary.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":1228,"byte_start":117,"class":"word","path":"src/Boundary.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":1232,"byte_start":1228,"class":"control","path":"src/Boundary.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":1233,"byte_start":1232,"class":"delimiter","path":"src/Boundary.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":1247,"byte_start":1233,"class":"word","path":"src/Boundary.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":1248,"byte_start":1247,"class":"delimiter","path":"src/Boundary.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":1253,"byte_start":1249,"class":"control","path":"src/Boundary.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":1254,"byte_start":1253,"class":"delimiter","path":"src/Boundary.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":1261,"byte_start":1254,"class":"word","path":"src/Boundary.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":1262,"byte_start":1261,"class":"delimiter","path":"src/Boundary.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":491,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":681,"byte_start":491,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1164,"byte_start":681,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1770,"byte_start":1164,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1785,"byte_start":1770,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":279,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":520,"byte_start":279,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":607,"byte_start":520,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":838,"byte_start":607,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1115,"byte_start":838,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1138,"byte_start":1115,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Boundary","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Boundary.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Boundary.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Boundary.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Boundary.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Boundary.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":24,"byte_start":16,"class":"word","path":"src/Boundary.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":25,"byte_start":24,"class":"delimiter","path":"src/Boundary.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":38,"byte_start":26,"class":"control","path":"src/Boundary.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":39,"byte_start":38,"class":"delimiter","path":"src/Boundary.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":46,"byte_start":39,"class":"word","path":"src/Boundary.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":46,"class":"ascii-symbol","path":"src/Boundary.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":50,"byte_start":47,"class":"word","path":"src/Boundary.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":50,"class":"ascii-symbol","path":"src/Boundary.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":51,"class":"word","path":"src/Boundary.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Boundary.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Boundary.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"ascii-symbol","path":"src/Boundary.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"numeral","path":"src/Boundary.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":59,"byte_start":58,"class":"ascii-symbol","path":"src/Boundary.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":60,"byte_start":59,"class":"numeral","path":"src/Boundary.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":61,"byte_start":60,"class":"delimiter","path":"src/Boundary.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":68,"byte_start":62,"class":"control","path":"src/Boundary.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":69,"byte_start":68,"class":"delimiter","path":"src/Boundary.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":83,"byte_start":69,"class":"word","path":"src/Boundary.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":92,"byte_start":84,"class":"word","path":"src/Boundary.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":93,"byte_start":92,"class":"delimiter","path":"src/Boundary.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":100,"byte_start":94,"class":"control","path":"src/Boundary.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":101,"byte_start":100,"class":"delimiter","path":"src/Boundary.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":115,"byte_start":101,"class":"word","path":"src/Boundary.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":116,"byte_start":115,"class":"delimiter","path":"src/Boundary.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":1228,"byte_start":117,"class":"word","path":"src/Boundary.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":1232,"byte_start":1228,"class":"control","path":"src/Boundary.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":1233,"byte_start":1232,"class":"delimiter","path":"src/Boundary.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":1247,"byte_start":1233,"class":"word","path":"src/Boundary.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":1248,"byte_start":1247,"class":"delimiter","path":"src/Boundary.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":1253,"byte_start":1249,"class":"control","path":"src/Boundary.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":1254,"byte_start":1253,"class":"delimiter","path":"src/Boundary.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":1261,"byte_start":1254,"class":"word","path":"src/Boundary.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":1262,"byte_start":1261,"class":"delimiter","path":"src/Boundary.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/examples/production-coverage/expected/build/coverage/Coverage/Colls.coverage.json b/examples/production-coverage/expected/build/coverage/Coverage/Colls.coverage.json index 9f0573055..1f2b18c70 100644 --- a/examples/production-coverage/expected/build/coverage/Coverage/Colls.coverage.json +++ b/examples/production-coverage/expected/build/coverage/Coverage/Colls.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1266,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1922,"byte_start":1266,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2935,"byte_start":1922,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3738,"byte_start":2935,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4573,"byte_start":3738,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5281,"byte_start":4573,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5853,"byte_start":5281,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6888,"byte_start":5853,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7503,"byte_start":6888,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7518,"byte_start":7503,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":21704,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22467,"byte_start":21704,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22677,"byte_start":22467,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23334,"byte_start":22677,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23630,"byte_start":23334,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23963,"byte_start":23630,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24305,"byte_start":23963,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24477,"byte_start":24305,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25153,"byte_start":24477,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25440,"byte_start":25153,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25460,"byte_start":25440,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Colls","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Colls.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Colls.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Colls.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Colls.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Colls.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":21,"byte_start":16,"class":"word","path":"src/Colls.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":22,"byte_start":21,"class":"delimiter","path":"src/Colls.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":35,"byte_start":23,"class":"control","path":"src/Colls.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":36,"byte_start":35,"class":"delimiter","path":"src/Colls.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":43,"byte_start":36,"class":"word","path":"src/Colls.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":44,"byte_start":43,"class":"ascii-symbol","path":"src/Colls.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":44,"class":"word","path":"src/Colls.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":47,"class":"ascii-symbol","path":"src/Colls.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":48,"class":"word","path":"src/Colls.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"ascii-symbol","path":"src/Colls.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"numeral","path":"src/Colls.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"ascii-symbol","path":"src/Colls.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"numeral","path":"src/Colls.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"ascii-symbol","path":"src/Colls.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"numeral","path":"src/Colls.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":58,"byte_start":57,"class":"delimiter","path":"src/Colls.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":65,"byte_start":59,"class":"control","path":"src/Colls.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":66,"byte_start":65,"class":"delimiter","path":"src/Colls.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":80,"byte_start":66,"class":"word","path":"src/Colls.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":89,"byte_start":81,"class":"word","path":"src/Colls.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":90,"byte_start":89,"class":"delimiter","path":"src/Colls.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":97,"byte_start":91,"class":"control","path":"src/Colls.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":98,"byte_start":97,"class":"delimiter","path":"src/Colls.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":112,"byte_start":98,"class":"word","path":"src/Colls.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":113,"byte_start":112,"class":"delimiter","path":"src/Colls.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":4473,"byte_start":114,"class":"word","path":"src/Colls.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":4477,"byte_start":4473,"class":"control","path":"src/Colls.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":4478,"byte_start":4477,"class":"delimiter","path":"src/Colls.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":4492,"byte_start":4478,"class":"word","path":"src/Colls.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":4493,"byte_start":4492,"class":"delimiter","path":"src/Colls.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":4498,"byte_start":4494,"class":"control","path":"src/Colls.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":4499,"byte_start":4498,"class":"delimiter","path":"src/Colls.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":4506,"byte_start":4499,"class":"word","path":"src/Colls.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":4507,"byte_start":4506,"class":"delimiter","path":"src/Colls.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1266,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1922,"byte_start":1266,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2935,"byte_start":1922,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3738,"byte_start":2935,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4573,"byte_start":3738,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5281,"byte_start":4573,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5853,"byte_start":5281,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6888,"byte_start":5853,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7503,"byte_start":6888,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7518,"byte_start":7503,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":276,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1039,"byte_start":276,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1249,"byte_start":1039,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1906,"byte_start":1249,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2202,"byte_start":1906,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2535,"byte_start":2202,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2877,"byte_start":2535,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3049,"byte_start":2877,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3725,"byte_start":3049,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4012,"byte_start":3725,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4032,"byte_start":4012,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Colls","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Colls.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Colls.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Colls.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Colls.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Colls.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":21,"byte_start":16,"class":"word","path":"src/Colls.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":22,"byte_start":21,"class":"delimiter","path":"src/Colls.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":35,"byte_start":23,"class":"control","path":"src/Colls.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":36,"byte_start":35,"class":"delimiter","path":"src/Colls.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":43,"byte_start":36,"class":"word","path":"src/Colls.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":44,"byte_start":43,"class":"ascii-symbol","path":"src/Colls.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":44,"class":"word","path":"src/Colls.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":47,"class":"ascii-symbol","path":"src/Colls.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":48,"class":"word","path":"src/Colls.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"ascii-symbol","path":"src/Colls.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"numeral","path":"src/Colls.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"ascii-symbol","path":"src/Colls.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"numeral","path":"src/Colls.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"ascii-symbol","path":"src/Colls.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"numeral","path":"src/Colls.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":58,"byte_start":57,"class":"delimiter","path":"src/Colls.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":65,"byte_start":59,"class":"control","path":"src/Colls.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":66,"byte_start":65,"class":"delimiter","path":"src/Colls.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":80,"byte_start":66,"class":"word","path":"src/Colls.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":89,"byte_start":81,"class":"word","path":"src/Colls.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":90,"byte_start":89,"class":"delimiter","path":"src/Colls.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":97,"byte_start":91,"class":"control","path":"src/Colls.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":98,"byte_start":97,"class":"delimiter","path":"src/Colls.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":112,"byte_start":98,"class":"word","path":"src/Colls.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":113,"byte_start":112,"class":"delimiter","path":"src/Colls.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":4473,"byte_start":114,"class":"word","path":"src/Colls.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":4477,"byte_start":4473,"class":"control","path":"src/Colls.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":4478,"byte_start":4477,"class":"delimiter","path":"src/Colls.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":4492,"byte_start":4478,"class":"word","path":"src/Colls.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":4493,"byte_start":4492,"class":"delimiter","path":"src/Colls.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":4498,"byte_start":4494,"class":"control","path":"src/Colls.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":4499,"byte_start":4498,"class":"delimiter","path":"src/Colls.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":4506,"byte_start":4499,"class":"word","path":"src/Colls.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":4507,"byte_start":4506,"class":"delimiter","path":"src/Colls.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/examples/production-coverage/expected/build/coverage/Coverage/Main.coverage.json b/examples/production-coverage/expected/build/coverage/Coverage/Main.coverage.json index 3bcbea209..46761d04e 100644 --- a/examples/production-coverage/expected/build/coverage/Coverage/Main.coverage.json +++ b/examples/production-coverage/expected/build/coverage/Coverage/Main.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":437,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1146,"byte_start":437,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1780,"byte_start":1146,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2361,"byte_start":1780,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2946,"byte_start":2361,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3601,"byte_start":2946,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4181,"byte_start":3601,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4729,"byte_start":4181,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5175,"byte_start":4729,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5987,"byte_start":5175,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6484,"byte_start":5987,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6915,"byte_start":6484,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6930,"byte_start":6915,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":13716,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13772,"byte_start":13716,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14123,"byte_start":13772,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14401,"byte_start":14123,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14626,"byte_start":14401,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14843,"byte_start":14626,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15138,"byte_start":14843,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15362,"byte_start":15138,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15554,"byte_start":15362,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15648,"byte_start":15554,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15960,"byte_start":15648,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16099,"byte_start":15960,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16173,"byte_start":16099,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16192,"byte_start":16173,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Main","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":20,"byte_start":16,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":21,"byte_start":20,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":34,"byte_start":22,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":35,"byte_start":34,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":42,"byte_start":35,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":43,"byte_start":42,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":46,"byte_start":43,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":46,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":50,"byte_start":47,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":50,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":57,"byte_start":56,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":71,"byte_start":58,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":72,"byte_start":71,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":77,"byte_start":72,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":78,"byte_start":77,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":85,"byte_start":79,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":86,"byte_start":85,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":100,"byte_start":86,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":109,"byte_start":101,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":110,"byte_start":109,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":117,"byte_start":111,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":118,"byte_start":117,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":132,"byte_start":118,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":133,"byte_start":132,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":3791,"byte_start":134,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":3795,"byte_start":3791,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":3796,"byte_start":3795,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":3810,"byte_start":3796,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":3811,"byte_start":3810,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":3816,"byte_start":3812,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":3817,"byte_start":3816,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":3824,"byte_start":3817,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":3825,"byte_start":3824,"class":"delimiter","path":"src/Main.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":437,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1146,"byte_start":437,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1780,"byte_start":1146,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2361,"byte_start":1780,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2946,"byte_start":2361,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3601,"byte_start":2946,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4181,"byte_start":3601,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4729,"byte_start":4181,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5175,"byte_start":4729,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5987,"byte_start":5175,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6484,"byte_start":5987,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6915,"byte_start":6484,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6930,"byte_start":6915,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":263,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":319,"byte_start":263,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":670,"byte_start":319,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":948,"byte_start":670,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1173,"byte_start":948,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1390,"byte_start":1173,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1685,"byte_start":1390,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1909,"byte_start":1685,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2101,"byte_start":1909,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2195,"byte_start":2101,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2507,"byte_start":2195,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2646,"byte_start":2507,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2720,"byte_start":2646,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2739,"byte_start":2720,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Main","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":20,"byte_start":16,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":21,"byte_start":20,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":34,"byte_start":22,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":35,"byte_start":34,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":42,"byte_start":35,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":43,"byte_start":42,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":46,"byte_start":43,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":46,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":50,"byte_start":47,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":50,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":57,"byte_start":56,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":71,"byte_start":58,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":72,"byte_start":71,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":77,"byte_start":72,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":78,"byte_start":77,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":85,"byte_start":79,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":86,"byte_start":85,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":100,"byte_start":86,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":109,"byte_start":101,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":110,"byte_start":109,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":117,"byte_start":111,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":118,"byte_start":117,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":132,"byte_start":118,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":133,"byte_start":132,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":3791,"byte_start":134,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":3795,"byte_start":3791,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":3796,"byte_start":3795,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":3810,"byte_start":3796,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":3811,"byte_start":3810,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":3816,"byte_start":3812,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":3817,"byte_start":3816,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":3824,"byte_start":3817,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":3825,"byte_start":3824,"class":"delimiter","path":"src/Main.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/examples/production-coverage/expected/build/coverage/Coverage/Prims.coverage.json b/examples/production-coverage/expected/build/coverage/Coverage/Prims.coverage.json index 693b305a1..70d76e7a0 100644 --- a/examples/production-coverage/expected/build/coverage/Coverage/Prims.coverage.json +++ b/examples/production-coverage/expected/build/coverage/Coverage/Prims.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":969,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1722,"byte_start":969,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2701,"byte_start":1722,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3611,"byte_start":2701,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4198,"byte_start":3611,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5394,"byte_start":4198,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5985,"byte_start":5394,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6545,"byte_start":5985,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7774,"byte_start":6545,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7789,"byte_start":7774,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":13688,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14148,"byte_start":13688,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14526,"byte_start":14148,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15130,"byte_start":14526,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15665,"byte_start":15130,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15877,"byte_start":15665,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16714,"byte_start":15877,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16907,"byte_start":16714,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17079,"byte_start":16907,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17890,"byte_start":17079,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17910,"byte_start":17890,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Prims","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Prims.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Prims.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Prims.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Prims.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Prims.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":21,"byte_start":16,"class":"word","path":"src/Prims.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":22,"byte_start":21,"class":"delimiter","path":"src/Prims.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":35,"byte_start":23,"class":"control","path":"src/Prims.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":36,"byte_start":35,"class":"delimiter","path":"src/Prims.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":43,"byte_start":36,"class":"word","path":"src/Prims.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":44,"byte_start":43,"class":"ascii-symbol","path":"src/Prims.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":44,"class":"word","path":"src/Prims.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":47,"class":"ascii-symbol","path":"src/Prims.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":48,"class":"word","path":"src/Prims.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"ascii-symbol","path":"src/Prims.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"numeral","path":"src/Prims.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"ascii-symbol","path":"src/Prims.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"numeral","path":"src/Prims.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"ascii-symbol","path":"src/Prims.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"numeral","path":"src/Prims.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":58,"byte_start":57,"class":"delimiter","path":"src/Prims.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":65,"byte_start":59,"class":"control","path":"src/Prims.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":66,"byte_start":65,"class":"delimiter","path":"src/Prims.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":80,"byte_start":66,"class":"word","path":"src/Prims.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":89,"byte_start":81,"class":"word","path":"src/Prims.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":90,"byte_start":89,"class":"delimiter","path":"src/Prims.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":97,"byte_start":91,"class":"control","path":"src/Prims.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":98,"byte_start":97,"class":"delimiter","path":"src/Prims.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":112,"byte_start":98,"class":"word","path":"src/Prims.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":113,"byte_start":112,"class":"delimiter","path":"src/Prims.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":4643,"byte_start":114,"class":"word","path":"src/Prims.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":4647,"byte_start":4643,"class":"control","path":"src/Prims.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":4648,"byte_start":4647,"class":"delimiter","path":"src/Prims.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":4662,"byte_start":4648,"class":"word","path":"src/Prims.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":4663,"byte_start":4662,"class":"delimiter","path":"src/Prims.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":4668,"byte_start":4664,"class":"control","path":"src/Prims.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":4669,"byte_start":4668,"class":"delimiter","path":"src/Prims.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":4676,"byte_start":4669,"class":"word","path":"src/Prims.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":4677,"byte_start":4676,"class":"delimiter","path":"src/Prims.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":969,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1722,"byte_start":969,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2701,"byte_start":1722,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3611,"byte_start":2701,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4198,"byte_start":3611,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5394,"byte_start":4198,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5985,"byte_start":5394,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6545,"byte_start":5985,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7774,"byte_start":6545,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7789,"byte_start":7774,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":235,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":695,"byte_start":235,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1073,"byte_start":695,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1677,"byte_start":1073,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2212,"byte_start":1677,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2424,"byte_start":2212,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3261,"byte_start":2424,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3454,"byte_start":3261,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3626,"byte_start":3454,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4437,"byte_start":3626,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4457,"byte_start":4437,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Prims","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Prims.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Prims.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Prims.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Prims.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Prims.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":21,"byte_start":16,"class":"word","path":"src/Prims.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":22,"byte_start":21,"class":"delimiter","path":"src/Prims.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":35,"byte_start":23,"class":"control","path":"src/Prims.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":36,"byte_start":35,"class":"delimiter","path":"src/Prims.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":43,"byte_start":36,"class":"word","path":"src/Prims.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":44,"byte_start":43,"class":"ascii-symbol","path":"src/Prims.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":44,"class":"word","path":"src/Prims.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":47,"class":"ascii-symbol","path":"src/Prims.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":48,"class":"word","path":"src/Prims.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"ascii-symbol","path":"src/Prims.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"numeral","path":"src/Prims.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"ascii-symbol","path":"src/Prims.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"numeral","path":"src/Prims.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"ascii-symbol","path":"src/Prims.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"numeral","path":"src/Prims.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":58,"byte_start":57,"class":"delimiter","path":"src/Prims.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":65,"byte_start":59,"class":"control","path":"src/Prims.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":66,"byte_start":65,"class":"delimiter","path":"src/Prims.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":80,"byte_start":66,"class":"word","path":"src/Prims.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":89,"byte_start":81,"class":"word","path":"src/Prims.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":90,"byte_start":89,"class":"delimiter","path":"src/Prims.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":97,"byte_start":91,"class":"control","path":"src/Prims.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":98,"byte_start":97,"class":"delimiter","path":"src/Prims.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":112,"byte_start":98,"class":"word","path":"src/Prims.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":113,"byte_start":112,"class":"delimiter","path":"src/Prims.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":4643,"byte_start":114,"class":"word","path":"src/Prims.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":4647,"byte_start":4643,"class":"control","path":"src/Prims.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":4648,"byte_start":4647,"class":"delimiter","path":"src/Prims.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":4662,"byte_start":4648,"class":"word","path":"src/Prims.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":4663,"byte_start":4662,"class":"delimiter","path":"src/Prims.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":4668,"byte_start":4664,"class":"control","path":"src/Prims.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":4669,"byte_start":4668,"class":"delimiter","path":"src/Prims.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":4676,"byte_start":4669,"class":"word","path":"src/Prims.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":4677,"byte_start":4676,"class":"delimiter","path":"src/Prims.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/examples/production-coverage/expected/build/coverage/Coverage/Recur.coverage.json b/examples/production-coverage/expected/build/coverage/Coverage/Recur.coverage.json index 60b4e0cfe..b2e2539a2 100644 --- a/examples/production-coverage/expected/build/coverage/Coverage/Recur.coverage.json +++ b/examples/production-coverage/expected/build/coverage/Coverage/Recur.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":687,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1270,"byte_start":687,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1934,"byte_start":1270,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2475,"byte_start":1934,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3079,"byte_start":2475,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3544,"byte_start":3079,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4010,"byte_start":3544,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4352,"byte_start":4010,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4919,"byte_start":4352,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5299,"byte_start":4919,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5898,"byte_start":5299,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6339,"byte_start":5898,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6964,"byte_start":6339,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7435,"byte_start":6964,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7898,"byte_start":7435,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8480,"byte_start":7898,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9393,"byte_start":8480,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9934,"byte_start":9393,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10716,"byte_start":9934,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12094,"byte_start":10716,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12690,"byte_start":12094,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13375,"byte_start":12690,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13687,"byte_start":13375,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14075,"byte_start":13687,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14579,"byte_start":14075,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15115,"byte_start":14579,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15305,"byte_start":15115,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15320,"byte_start":15305,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":13718,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13934,"byte_start":13718,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14180,"byte_start":13934,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14543,"byte_start":14180,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14775,"byte_start":14543,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15073,"byte_start":14775,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15240,"byte_start":15073,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15405,"byte_start":15240,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15865,"byte_start":15405,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16278,"byte_start":15865,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16775,"byte_start":16278,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17290,"byte_start":16775,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17848,"byte_start":17290,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18395,"byte_start":17848,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18604,"byte_start":18395,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19205,"byte_start":18604,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19925,"byte_start":19205,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20807,"byte_start":19925,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21486,"byte_start":20807,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22235,"byte_start":21486,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23308,"byte_start":22235,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23598,"byte_start":23308,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23981,"byte_start":23598,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24409,"byte_start":23981,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24913,"byte_start":24409,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25261,"byte_start":24913,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25638,"byte_start":25261,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25698,"byte_start":25638,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25718,"byte_start":25698,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Recur","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":21,"byte_start":16,"class":"word","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":22,"byte_start":21,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":35,"byte_start":23,"class":"control","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":36,"byte_start":35,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":43,"byte_start":36,"class":"word","path":"src/Recur.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":44,"byte_start":43,"class":"ascii-symbol","path":"src/Recur.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":44,"class":"word","path":"src/Recur.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":47,"class":"ascii-symbol","path":"src/Recur.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":48,"class":"word","path":"src/Recur.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"ascii-symbol","path":"src/Recur.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"numeral","path":"src/Recur.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"ascii-symbol","path":"src/Recur.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"numeral","path":"src/Recur.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"ascii-symbol","path":"src/Recur.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"numeral","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":58,"byte_start":57,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":72,"byte_start":59,"class":"control","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":73,"byte_start":72,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":79,"byte_start":73,"class":"word","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":80,"byte_start":79,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":87,"byte_start":81,"class":"control","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":88,"byte_start":87,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":102,"byte_start":88,"class":"word","path":"src/Recur.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":111,"byte_start":103,"class":"word","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":112,"byte_start":111,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":119,"byte_start":113,"class":"control","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":120,"byte_start":119,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":134,"byte_start":120,"class":"word","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":135,"byte_start":134,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":10191,"byte_start":136,"class":"word","path":"src/Recur.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":10195,"byte_start":10191,"class":"control","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":10196,"byte_start":10195,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":10210,"byte_start":10196,"class":"word","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":10211,"byte_start":10210,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":10216,"byte_start":10212,"class":"control","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":10217,"byte_start":10216,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":10224,"byte_start":10217,"class":"word","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":10225,"byte_start":10224,"class":"delimiter","path":"src/Recur.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":687,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1270,"byte_start":687,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1934,"byte_start":1270,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2475,"byte_start":1934,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3079,"byte_start":2475,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3544,"byte_start":3079,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4010,"byte_start":3544,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4352,"byte_start":4010,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4919,"byte_start":4352,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5299,"byte_start":4919,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5898,"byte_start":5299,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6339,"byte_start":5898,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6964,"byte_start":6339,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7435,"byte_start":6964,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7898,"byte_start":7435,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8480,"byte_start":7898,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9393,"byte_start":8480,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9934,"byte_start":9393,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10716,"byte_start":9934,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12094,"byte_start":10716,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12690,"byte_start":12094,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13375,"byte_start":12690,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13687,"byte_start":13375,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14075,"byte_start":13687,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14579,"byte_start":14075,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15115,"byte_start":14579,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15305,"byte_start":15115,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15320,"byte_start":15305,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":265,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":481,"byte_start":265,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":727,"byte_start":481,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1090,"byte_start":727,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1322,"byte_start":1090,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1620,"byte_start":1322,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1787,"byte_start":1620,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1952,"byte_start":1787,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2412,"byte_start":1952,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2825,"byte_start":2412,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3322,"byte_start":2825,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3837,"byte_start":3322,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4395,"byte_start":3837,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4942,"byte_start":4395,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5151,"byte_start":4942,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5752,"byte_start":5151,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6472,"byte_start":5752,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7354,"byte_start":6472,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8033,"byte_start":7354,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8782,"byte_start":8033,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9855,"byte_start":8782,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10145,"byte_start":9855,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10528,"byte_start":10145,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10956,"byte_start":10528,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11460,"byte_start":10956,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11808,"byte_start":11460,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12185,"byte_start":11808,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12245,"byte_start":12185,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12265,"byte_start":12245,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Recur","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":21,"byte_start":16,"class":"word","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":22,"byte_start":21,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":35,"byte_start":23,"class":"control","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":36,"byte_start":35,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":43,"byte_start":36,"class":"word","path":"src/Recur.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":44,"byte_start":43,"class":"ascii-symbol","path":"src/Recur.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":44,"class":"word","path":"src/Recur.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":47,"class":"ascii-symbol","path":"src/Recur.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":48,"class":"word","path":"src/Recur.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"ascii-symbol","path":"src/Recur.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"numeral","path":"src/Recur.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"ascii-symbol","path":"src/Recur.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"numeral","path":"src/Recur.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"ascii-symbol","path":"src/Recur.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"numeral","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":58,"byte_start":57,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":72,"byte_start":59,"class":"control","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":73,"byte_start":72,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":79,"byte_start":73,"class":"word","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":80,"byte_start":79,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":87,"byte_start":81,"class":"control","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":88,"byte_start":87,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":102,"byte_start":88,"class":"word","path":"src/Recur.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":111,"byte_start":103,"class":"word","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":112,"byte_start":111,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":119,"byte_start":113,"class":"control","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":120,"byte_start":119,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":134,"byte_start":120,"class":"word","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":135,"byte_start":134,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":10191,"byte_start":136,"class":"word","path":"src/Recur.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":10195,"byte_start":10191,"class":"control","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":10196,"byte_start":10195,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":10210,"byte_start":10196,"class":"word","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":10211,"byte_start":10210,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":10216,"byte_start":10212,"class":"control","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":10217,"byte_start":10216,"class":"delimiter","path":"src/Recur.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":10224,"byte_start":10217,"class":"word","path":"src/Recur.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":10225,"byte_start":10224,"class":"delimiter","path":"src/Recur.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/examples/production-coverage/expected/build/coverage/Coverage/Types.coverage.json b/examples/production-coverage/expected/build/coverage/Coverage/Types.coverage.json index de78b0d66..18b55b7d7 100644 --- a/examples/production-coverage/expected/build/coverage/Coverage/Types.coverage.json +++ b/examples/production-coverage/expected/build/coverage/Coverage/Types.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":379,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":570,"byte_start":379,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":731,"byte_start":570,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":949,"byte_start":731,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1115,"byte_start":949,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1192,"byte_start":1115,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1687,"byte_start":1192,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2077,"byte_start":1687,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2443,"byte_start":2077,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2791,"byte_start":2443,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3311,"byte_start":2791,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3747,"byte_start":3311,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4184,"byte_start":3747,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4199,"byte_start":4184,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":13688,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13778,"byte_start":13688,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13857,"byte_start":13778,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13907,"byte_start":13857,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13980,"byte_start":13907,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14035,"byte_start":13980,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14127,"byte_start":14035,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14375,"byte_start":14127,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14504,"byte_start":14375,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14589,"byte_start":14504,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14690,"byte_start":14589,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14947,"byte_start":14690,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15085,"byte_start":14947,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15221,"byte_start":15085,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15241,"byte_start":15221,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Types","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Types.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Types.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Types.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Types.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Types.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":21,"byte_start":16,"class":"word","path":"src/Types.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":22,"byte_start":21,"class":"delimiter","path":"src/Types.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":35,"byte_start":23,"class":"control","path":"src/Types.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":36,"byte_start":35,"class":"delimiter","path":"src/Types.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":43,"byte_start":36,"class":"word","path":"src/Types.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":44,"byte_start":43,"class":"ascii-symbol","path":"src/Types.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":44,"class":"word","path":"src/Types.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":47,"class":"ascii-symbol","path":"src/Types.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":48,"class":"word","path":"src/Types.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"ascii-symbol","path":"src/Types.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"numeral","path":"src/Types.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"ascii-symbol","path":"src/Types.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"numeral","path":"src/Types.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"ascii-symbol","path":"src/Types.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"numeral","path":"src/Types.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":58,"byte_start":57,"class":"delimiter","path":"src/Types.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":65,"byte_start":59,"class":"control","path":"src/Types.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":66,"byte_start":65,"class":"delimiter","path":"src/Types.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":80,"byte_start":66,"class":"word","path":"src/Types.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":89,"byte_start":81,"class":"word","path":"src/Types.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":90,"byte_start":89,"class":"delimiter","path":"src/Types.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":97,"byte_start":91,"class":"control","path":"src/Types.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":98,"byte_start":97,"class":"delimiter","path":"src/Types.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":112,"byte_start":98,"class":"word","path":"src/Types.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":113,"byte_start":112,"class":"delimiter","path":"src/Types.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":2536,"byte_start":114,"class":"word","path":"src/Types.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":2540,"byte_start":2536,"class":"control","path":"src/Types.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":2541,"byte_start":2540,"class":"delimiter","path":"src/Types.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":2555,"byte_start":2541,"class":"word","path":"src/Types.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":2556,"byte_start":2555,"class":"delimiter","path":"src/Types.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":2561,"byte_start":2557,"class":"control","path":"src/Types.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":2562,"byte_start":2561,"class":"delimiter","path":"src/Types.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":2569,"byte_start":2562,"class":"word","path":"src/Types.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":2570,"byte_start":2569,"class":"delimiter","path":"src/Types.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":379,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":570,"byte_start":379,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":731,"byte_start":570,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":949,"byte_start":731,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1115,"byte_start":949,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1192,"byte_start":1115,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1687,"byte_start":1192,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2077,"byte_start":1687,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2443,"byte_start":2077,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2791,"byte_start":2443,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3311,"byte_start":2791,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3747,"byte_start":3311,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4184,"byte_start":3747,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4199,"byte_start":4184,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":235,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":325,"byte_start":235,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":404,"byte_start":325,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":454,"byte_start":404,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":527,"byte_start":454,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":582,"byte_start":527,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":674,"byte_start":582,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":922,"byte_start":674,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1051,"byte_start":922,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1136,"byte_start":1051,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1237,"byte_start":1136,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1494,"byte_start":1237,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1632,"byte_start":1494,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1768,"byte_start":1632,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1788,"byte_start":1768,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Types","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Types.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Types.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Types.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Types.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Types.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":21,"byte_start":16,"class":"word","path":"src/Types.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":22,"byte_start":21,"class":"delimiter","path":"src/Types.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":35,"byte_start":23,"class":"control","path":"src/Types.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":36,"byte_start":35,"class":"delimiter","path":"src/Types.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":43,"byte_start":36,"class":"word","path":"src/Types.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":44,"byte_start":43,"class":"ascii-symbol","path":"src/Types.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":44,"class":"word","path":"src/Types.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":47,"class":"ascii-symbol","path":"src/Types.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":48,"class":"word","path":"src/Types.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"ascii-symbol","path":"src/Types.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"numeral","path":"src/Types.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"ascii-symbol","path":"src/Types.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"numeral","path":"src/Types.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"ascii-symbol","path":"src/Types.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"numeral","path":"src/Types.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":58,"byte_start":57,"class":"delimiter","path":"src/Types.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":65,"byte_start":59,"class":"control","path":"src/Types.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":66,"byte_start":65,"class":"delimiter","path":"src/Types.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":80,"byte_start":66,"class":"word","path":"src/Types.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":89,"byte_start":81,"class":"word","path":"src/Types.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":90,"byte_start":89,"class":"delimiter","path":"src/Types.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":97,"byte_start":91,"class":"control","path":"src/Types.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":98,"byte_start":97,"class":"delimiter","path":"src/Types.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":112,"byte_start":98,"class":"word","path":"src/Types.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":113,"byte_start":112,"class":"delimiter","path":"src/Types.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":2536,"byte_start":114,"class":"word","path":"src/Types.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":2540,"byte_start":2536,"class":"control","path":"src/Types.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":2541,"byte_start":2540,"class":"delimiter","path":"src/Types.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":2555,"byte_start":2541,"class":"word","path":"src/Types.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":2556,"byte_start":2555,"class":"delimiter","path":"src/Types.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":2561,"byte_start":2557,"class":"control","path":"src/Types.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":2562,"byte_start":2561,"class":"delimiter","path":"src/Types.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":2569,"byte_start":2562,"class":"word","path":"src/Types.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":2570,"byte_start":2569,"class":"delimiter","path":"src/Types.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/examples/production-coverage/expected/build/manifest.json b/examples/production-coverage/expected/build/manifest.json index df3f340d8..d32430406 100644 --- a/examples/production-coverage/expected/build/manifest.json +++ b/examples/production-coverage/expected/build/manifest.json @@ -1 +1 @@ -{"build_id":"672c23093a0672abbb237b9c9c2c141ef89063110b3eea70ba719e59034bfda9","compiler":{"semantics_id":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","version":"0.3.0"},"inputs":[{"byte_length":2684,"kind":"lexicon","path":"embedded","sha256":"3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b"},{"byte_length":14885,"kind":"lexicon","path":"embedded","sha256":"e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac"},{"byte_length":36197,"kind":"lexicon","path":"embedded","sha256":"827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392"},{"byte_length":1597,"kind":"lock","path":"lexlean.lock","sha256":"0436d0fb97aadfdc8aa5452cfa8c24ea50bd6219e3b71b406683f8fbe2379a32"},{"byte_length":739,"kind":"project-config","path":"lexlean.toml","sha256":"1bcbdf2b89a335e2e8685fb89b09d3c4eba9f30371947781755576f588df7434"},{"byte_length":1263,"kind":"source","path":"src/Boundary.lex.tex","sha256":"4675304c0db77f457ca6f558425c5ede68619a65dad4d6210e36f4765c10c222"},{"byte_length":4508,"kind":"source","path":"src/Colls.lex.tex","sha256":"af6d528bfe9c18c9abf2cf03e3bd3dfe6c5bc4808cf0d6e8dedd4faeca05e14e"},{"byte_length":3826,"kind":"source","path":"src/Main.lex.tex","sha256":"42698451ae141f4ea32a38f1e48e6337d30b06b108813e48c566b4d72e58acd6"},{"byte_length":4678,"kind":"source","path":"src/Prims.lex.tex","sha256":"c86661726922c5fadb430769d459ff5db7ec61c66d96386ef10001cd6079adfd"},{"byte_length":1333,"kind":"source","path":"src/RecRoots.lex.tex","sha256":"a10c554b3b0d752c4ae2aee4ae1d5c70c68eb2645fdd528caab1b4f5ceaf3502"},{"byte_length":10226,"kind":"source","path":"src/Recur.lex.tex","sha256":"a404c1ed64818f9b54d3bffeb9c1d5518460164acb9f6deecb54756fec3dabf3"},{"byte_length":861,"kind":"source","path":"src/Syntax.lex.tex","sha256":"4d2d6d5cc65ee405c5b0fe2732babae4d496f16a4e054ac334d2abfa69152dd0"},{"byte_length":2571,"kind":"source","path":"src/Types.lex.tex","sha256":"80d360f45ad31fccc43a06831cc6137982c579a23f3de646be93d3c3ce59193a"}],"language":"1.2","lean_toolchain":"leanprover/lean4:v4.32.1","modules":[{"lean_module":"Coverage.Boundary","module":"Boundary","source_path":"src/Boundary.lex.tex"},{"lean_module":"Coverage.Colls","module":"Colls","source_path":"src/Colls.lex.tex"},{"lean_module":"Coverage.Main","module":"Main","source_path":"src/Main.lex.tex"},{"lean_module":"Coverage.Prims","module":"Prims","source_path":"src/Prims.lex.tex"},{"lean_module":"Coverage.RecRoots","module":"RecRoots","source_path":"src/RecRoots.lex.tex"},{"lean_module":"Coverage.Recur","module":"Recur","source_path":"src/Recur.lex.tex"},{"lean_module":"Coverage.Syntax","module":"Syntax","source_path":"src/Syntax.lex.tex"},{"lean_module":"Coverage.Types","module":"Types","source_path":"src/Types.lex.tex"}],"outputs":[{"byte_length":7786,"kind":"coverage","path":"coverage/Coverage/Boundary.coverage.json","sha256":"314fc664fbffede7e62dd3887aba010bdf0a13b7387e55b9692b3ddb5d7030a7"},{"byte_length":9021,"kind":"coverage","path":"coverage/Coverage/Colls.coverage.json","sha256":"9bb4f40964ebf5cac21154b9ed38c62ffe2ac815421f7cc79f53769d8c4cb61e"},{"byte_length":10411,"kind":"coverage","path":"coverage/Coverage/Main.coverage.json","sha256":"f70f3664c9deca56317421e178f83b00da7d2c45f8425668d45d4c4f28bfa808"},{"byte_length":9019,"kind":"coverage","path":"coverage/Coverage/Prims.coverage.json","sha256":"189f59a0389da7e7b0998d84b8bee6d00e3c0dcd3d8c3011e2ade5c07338e054"},{"byte_length":9030,"kind":"coverage","path":"coverage/Coverage/RecRoots.coverage.json","sha256":"13d817c2c2f255bcedd0b4bc549742daaa3565d4152a84919a31722821fc1bc6"},{"byte_length":14556,"kind":"coverage","path":"coverage/Coverage/Recur.coverage.json","sha256":"de4609ae694a22a2f14032775a2c0a9f8637c7e106ffa4c5c7a208489fd3fc62"},{"byte_length":7661,"kind":"coverage","path":"coverage/Coverage/Syntax.coverage.json","sha256":"a7e7aefd6a325b677497d3186bf0b4558bc092ff093e9d381b2caf6ae1d23432"},{"byte_length":10097,"kind":"coverage","path":"coverage/Coverage/Types.coverage.json","sha256":"1c182aef480e6648a9031d424ca7f0d824a20db1ceebc63849b3979de82890f2"},{"byte_length":22566,"kind":"lean","path":"modules/Coverage/Boundary.lean","sha256":"543c8b11fcde2c77d55ec5ea8ea289018645bdf1ff10f1f367f2af7e04a89db7"},{"byte_length":25460,"kind":"lean","path":"modules/Coverage/Colls.lean","sha256":"ca7972c454868940f79798f2588c710caf153adaae9c5fed6e34843b7e550efb"},{"byte_length":16192,"kind":"lean","path":"modules/Coverage/Main.lean","sha256":"8e8ee7285adb67349b50004f74c9d8bfc5fae29381f482e11318edd6e8c7eb85"},{"byte_length":17910,"kind":"lean","path":"modules/Coverage/Prims.lean","sha256":"52849da35a94c90d0bd26fe31dabe9e205eaa62899dacfae73d5f96e2e5b1e52"},{"byte_length":984,"kind":"lean","path":"modules/Coverage/RecRoots.lean","sha256":"5280da57d1865ec67a84af791b650a5fab86db12ea33895df2fb02c8f40256e7"},{"byte_length":25718,"kind":"lean","path":"modules/Coverage/Recur.lean","sha256":"4b62f93fc7be117627e837106383eb59d5a1b67baa5542e3023154481440bd0c"},{"byte_length":620,"kind":"lean","path":"modules/Coverage/Syntax.lean","sha256":"0969465532980c30cabae6eeaa128080daffb6374d56878d461b98392470b379"},{"byte_length":15241,"kind":"lean","path":"modules/Coverage/Types.lean","sha256":"1771afe45553dde73c96218f9e6ab4500a494a4266811ec020e793635c5befe1"},{"byte_length":10606,"kind":"lexicon-closure","path":"lexicons/Boundary.closure.json","sha256":"4e67900912cb73ae57443c035f462b0bf241b097ed8fd5bffb8996d593367f0a"},{"byte_length":10603,"kind":"lexicon-closure","path":"lexicons/Colls.closure.json","sha256":"64b9cfce8348276765e03d03b5561282bc922e22dd0ce092ba295f8d7f9e27e3"},{"byte_length":10602,"kind":"lexicon-closure","path":"lexicons/Main.closure.json","sha256":"727110f90daff26a2e5eb8069fcefecd5790c1264f5d6d4b2ef57db1c2bfb867"},{"byte_length":10603,"kind":"lexicon-closure","path":"lexicons/Prims.closure.json","sha256":"1ca8ce7adbd813b36a6bcbb61422b2e9606eba5108cc48f5723a76d5dd3133b0"},{"byte_length":10606,"kind":"lexicon-closure","path":"lexicons/RecRoots.closure.json","sha256":"b7929d5d112818efe69ec2210e1dac07a1907c35ae67b5963b5b0eb65ad0c086"},{"byte_length":10603,"kind":"lexicon-closure","path":"lexicons/Recur.closure.json","sha256":"e5c73c5262bfb9bb40003c52f6a84431e06f4c9bf729d21993531c28702aa6a8"},{"byte_length":10604,"kind":"lexicon-closure","path":"lexicons/Syntax.closure.json","sha256":"37a0e650d18d332b85cdcc97c6e3a86ffc1dbb591bace0b323fc8bf535336f8b"},{"byte_length":10603,"kind":"lexicon-closure","path":"lexicons/Types.closure.json","sha256":"340585fd2c4c6277fb7214262beee52046db9b165cb6290c4b160f1e4ddc118c"},{"byte_length":2318,"kind":"map","path":"maps/Coverage/Boundary.map.json","sha256":"bd287aa2f76f53a9a468f00e7b613196100875e85db6a5741d8f1491ef363775"},{"byte_length":3939,"kind":"map","path":"maps/Coverage/Colls.map.json","sha256":"4c1b5153c8381a8d57af8bf6444ef0ed67c069a79861947d5ae433f01a31221e"},{"byte_length":4897,"kind":"map","path":"maps/Coverage/Main.map.json","sha256":"74582eb0fd0b772d383adc83afbd70d390fe0527d970a610b5b5d1353545f3e3"},{"byte_length":3937,"kind":"map","path":"maps/Coverage/Prims.map.json","sha256":"bbb5e266ed000af2e4f49901f177646069eea7ac459c8c379eda8e891ef14f77"},{"byte_length":2302,"kind":"map","path":"maps/Coverage/RecRoots.map.json","sha256":"419c53144d43205b20ac2a1c657a443760c83b20a266ac4d512cf3aa38182006"},{"byte_length":9794,"kind":"map","path":"maps/Coverage/Recur.map.json","sha256":"c7fce5f437374b7b68fda45c6a3712159a8f5fce5d3f0d208e3077c361aa2360"},{"byte_length":2280,"kind":"map","path":"maps/Coverage/Syntax.map.json","sha256":"6732b6ddf11c0584f93b1b3df0f79d6054cd79045b991f4c4a6dbb2c01fafef2"},{"byte_length":5211,"kind":"map","path":"maps/Coverage/Types.map.json","sha256":"ec379ebadf44454dca42196df38b12445c6cdcf57857a14017ddc9962d3c4720"},{"byte_length":5696,"kind":"production-eligibility","path":"production/Coverage/Boundary.eligibility.json","sha256":"e8ee809bef94b69b2257ee1cc20d9846c82f02bc3a3e9b910f69d31a99a8fda6"},{"byte_length":27395,"kind":"production-eligibility","path":"production/Coverage/Colls.eligibility.json","sha256":"8724ec83f26e3bb7f483666f87e14d65af6db7c33b9726d87275d4d79331a20e"},{"byte_length":28948,"kind":"production-eligibility","path":"production/Coverage/Main.eligibility.json","sha256":"6c43769b8becf4ecd39650c3d314511ee6a6c55cb24615c8762fbaa6f2a0f106"},{"byte_length":24889,"kind":"production-eligibility","path":"production/Coverage/Prims.eligibility.json","sha256":"cc1d1f204a4ba4dd523424d31c6c36b031d684a52dd8331949936ab6f87ac96f"},{"byte_length":16974,"kind":"production-eligibility","path":"production/Coverage/RecRoots.eligibility.json","sha256":"19c0640e04dba45dc72d1b0f69927950211bb6b1b92feb81dd2745636772ac62"},{"byte_length":1785,"kind":"tex","path":"modules/Coverage/Boundary.tex","sha256":"7f0b2f7721d8b64bc90af13abd4292d7e4cbdf5e19c38872c5bfe97c763d06f3"},{"byte_length":7518,"kind":"tex","path":"modules/Coverage/Colls.tex","sha256":"1223a4e7c19c2f79e28d56e614092f0f8c2506d0913a2079cd7e5372cb8b8da2"},{"byte_length":6930,"kind":"tex","path":"modules/Coverage/Main.tex","sha256":"08878a5bb3a95d296b6ad999d03a84a810d829a57f38fa91f5cba9c0fbd7e31b"},{"byte_length":7789,"kind":"tex","path":"modules/Coverage/Prims.tex","sha256":"73c1b19b794003957f3e0cf0328ee09251391330a2c6904fd7ae2f4b90ff1858"},{"byte_length":2358,"kind":"tex","path":"modules/Coverage/RecRoots.tex","sha256":"45877d577173fd6e145c67446677c60a1d3cecfa65550b3942d68183fe77a970"},{"byte_length":15320,"kind":"tex","path":"modules/Coverage/Recur.tex","sha256":"9b9efaf01a628d61547155fbf872a9fdec7ea34dac7444e9c5e62e63a42bfd06"},{"byte_length":1093,"kind":"tex","path":"modules/Coverage/Syntax.tex","sha256":"24391ae507ff036ad50cbece531289a033ddff326046c24e85c3968beb127bea"},{"byte_length":4199,"kind":"tex","path":"modules/Coverage/Types.tex","sha256":"e5e6325b5dcb5922332195c23875e4644b0491f4ccb69344ad9d75d860202b4e"}],"project":"production-coverage","selection":["Boundary","Colls","Main","Prims","RecRoots","Recur","Syntax","Types"],"semantic_id":"6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1","source_id":"01d3cfa877ac000db25f7e1de364ec2ba31b4c2303e47811b4c957cc98ede2f5","spec":"lexlean/build-manifest/1"} +{"build_id":"2b4526088fe706082085324f736b1d62478b19a9cda8004492c386683e5cfe0e","compiler":{"semantics_id":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","version":"0.3.0"},"inputs":[{"byte_length":2684,"kind":"lexicon","path":"embedded","sha256":"3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b"},{"byte_length":14885,"kind":"lexicon","path":"embedded","sha256":"e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac"},{"byte_length":36197,"kind":"lexicon","path":"embedded","sha256":"827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392"},{"byte_length":1597,"kind":"lock","path":"lexlean.lock","sha256":"1fffa3b0abc0fa79ad8f7d7995a1b92a737774554e742f3556850905e38af4a6"},{"byte_length":739,"kind":"project-config","path":"lexlean.toml","sha256":"1bcbdf2b89a335e2e8685fb89b09d3c4eba9f30371947781755576f588df7434"},{"byte_length":1263,"kind":"source","path":"src/Boundary.lex.tex","sha256":"4675304c0db77f457ca6f558425c5ede68619a65dad4d6210e36f4765c10c222"},{"byte_length":4508,"kind":"source","path":"src/Colls.lex.tex","sha256":"af6d528bfe9c18c9abf2cf03e3bd3dfe6c5bc4808cf0d6e8dedd4faeca05e14e"},{"byte_length":3826,"kind":"source","path":"src/Main.lex.tex","sha256":"42698451ae141f4ea32a38f1e48e6337d30b06b108813e48c566b4d72e58acd6"},{"byte_length":4678,"kind":"source","path":"src/Prims.lex.tex","sha256":"c86661726922c5fadb430769d459ff5db7ec61c66d96386ef10001cd6079adfd"},{"byte_length":1333,"kind":"source","path":"src/RecRoots.lex.tex","sha256":"a10c554b3b0d752c4ae2aee4ae1d5c70c68eb2645fdd528caab1b4f5ceaf3502"},{"byte_length":10226,"kind":"source","path":"src/Recur.lex.tex","sha256":"a404c1ed64818f9b54d3bffeb9c1d5518460164acb9f6deecb54756fec3dabf3"},{"byte_length":861,"kind":"source","path":"src/Syntax.lex.tex","sha256":"4d2d6d5cc65ee405c5b0fe2732babae4d496f16a4e054ac334d2abfa69152dd0"},{"byte_length":2571,"kind":"source","path":"src/Types.lex.tex","sha256":"80d360f45ad31fccc43a06831cc6137982c579a23f3de646be93d3c3ce59193a"}],"language":"1.2","lean_toolchain":"leanprover/lean4:v4.32.1","modules":[{"lean_module":"Coverage.Boundary","module":"Boundary","source_path":"src/Boundary.lex.tex"},{"lean_module":"Coverage.Colls","module":"Colls","source_path":"src/Colls.lex.tex"},{"lean_module":"Coverage.Main","module":"Main","source_path":"src/Main.lex.tex"},{"lean_module":"Coverage.Prims","module":"Prims","source_path":"src/Prims.lex.tex"},{"lean_module":"Coverage.RecRoots","module":"RecRoots","source_path":"src/RecRoots.lex.tex"},{"lean_module":"Coverage.Recur","module":"Recur","source_path":"src/Recur.lex.tex"},{"lean_module":"Coverage.Syntax","module":"Syntax","source_path":"src/Syntax.lex.tex"},{"lean_module":"Coverage.Types","module":"Types","source_path":"src/Types.lex.tex"}],"outputs":[{"byte_length":7767,"kind":"coverage","path":"coverage/Coverage/Boundary.coverage.json","sha256":"c0e188dc71d64e8cf450f3ff2b635bef23fcbad299020c6fa930bbcf51612b7f"},{"byte_length":8998,"kind":"coverage","path":"coverage/Coverage/Colls.coverage.json","sha256":"a286e1aa4ad3f9891c2c783690fc5b565adc2ddbdadbded092b916e5480d415f"},{"byte_length":10376,"kind":"coverage","path":"coverage/Coverage/Main.coverage.json","sha256":"f2fb3a407f3972660ca5750b86ecd67ef51c83279f8bc8b820e62c2b3b880d40"},{"byte_length":8994,"kind":"coverage","path":"coverage/Coverage/Prims.coverage.json","sha256":"bf478753b3e28affdaac74ec00bc2c72c6121b003da67d9482c28f66f1b5412c"},{"byte_length":9030,"kind":"coverage","path":"coverage/Coverage/RecRoots.coverage.json","sha256":"13d817c2c2f255bcedd0b4bc549742daaa3565d4152a84919a31722821fc1bc6"},{"byte_length":14508,"kind":"coverage","path":"coverage/Coverage/Recur.coverage.json","sha256":"6abde97c37e9d884f4ece4427dfb90eb424a45d0e519bde020439308fb4d2c49"},{"byte_length":7661,"kind":"coverage","path":"coverage/Coverage/Syntax.coverage.json","sha256":"a7e7aefd6a325b677497d3186bf0b4558bc092ff093e9d381b2caf6ae1d23432"},{"byte_length":10052,"kind":"coverage","path":"coverage/Coverage/Types.coverage.json","sha256":"c92a3b573ffb98f0378c0613504664a2712349e070fcba9a1967fe2301b96e4c"},{"byte_length":1138,"kind":"lean","path":"modules/Coverage/Boundary.lean","sha256":"af29aee16f61f7465e254ff167e6915bc8c267a1a1003aac3c69c0bf056ba275"},{"byte_length":4032,"kind":"lean","path":"modules/Coverage/Colls.lean","sha256":"61af86e818f34e6566625b62b20bb46c06b7ee09c4ffd102bfcc88ae2fd6f910"},{"byte_length":2739,"kind":"lean","path":"modules/Coverage/Main.lean","sha256":"afd4be513f508614189e0f8c69636a1a49094ecbae949f6373ff9838f90474f0"},{"byte_length":4457,"kind":"lean","path":"modules/Coverage/Prims.lean","sha256":"5cf6e5d468f72f5a61fb45722d19a62299b948de7e2055c483bca0d9a5d85e45"},{"byte_length":984,"kind":"lean","path":"modules/Coverage/RecRoots.lean","sha256":"5280da57d1865ec67a84af791b650a5fab86db12ea33895df2fb02c8f40256e7"},{"byte_length":12265,"kind":"lean","path":"modules/Coverage/Recur.lean","sha256":"31396c27eac41c2d8cada65fa11ddc7ea6cf485f5a86f041fc0384b8a71bd943"},{"byte_length":620,"kind":"lean","path":"modules/Coverage/Syntax.lean","sha256":"0969465532980c30cabae6eeaa128080daffb6374d56878d461b98392470b379"},{"byte_length":1788,"kind":"lean","path":"modules/Coverage/Types.lean","sha256":"c6972ba54604d93590d5030bbb58503f0685e2968cdaad0a6e5cfcfe288574ec"},{"byte_length":10606,"kind":"lexicon-closure","path":"lexicons/Boundary.closure.json","sha256":"4e67900912cb73ae57443c035f462b0bf241b097ed8fd5bffb8996d593367f0a"},{"byte_length":10603,"kind":"lexicon-closure","path":"lexicons/Colls.closure.json","sha256":"64b9cfce8348276765e03d03b5561282bc922e22dd0ce092ba295f8d7f9e27e3"},{"byte_length":10602,"kind":"lexicon-closure","path":"lexicons/Main.closure.json","sha256":"727110f90daff26a2e5eb8069fcefecd5790c1264f5d6d4b2ef57db1c2bfb867"},{"byte_length":10603,"kind":"lexicon-closure","path":"lexicons/Prims.closure.json","sha256":"1ca8ce7adbd813b36a6bcbb61422b2e9606eba5108cc48f5723a76d5dd3133b0"},{"byte_length":10606,"kind":"lexicon-closure","path":"lexicons/RecRoots.closure.json","sha256":"b7929d5d112818efe69ec2210e1dac07a1907c35ae67b5963b5b0eb65ad0c086"},{"byte_length":10603,"kind":"lexicon-closure","path":"lexicons/Recur.closure.json","sha256":"e5c73c5262bfb9bb40003c52f6a84431e06f4c9bf729d21993531c28702aa6a8"},{"byte_length":10604,"kind":"lexicon-closure","path":"lexicons/Syntax.closure.json","sha256":"37a0e650d18d332b85cdcc97c6e3a86ffc1dbb591bace0b323fc8bf535336f8b"},{"byte_length":10603,"kind":"lexicon-closure","path":"lexicons/Types.closure.json","sha256":"340585fd2c4c6277fb7214262beee52046db9b165cb6290c4b160f1e4ddc118c"},{"byte_length":2299,"kind":"map","path":"maps/Coverage/Boundary.map.json","sha256":"a4f3aa8768a3707930a4c1a46a85f385e5c2381276d3f8a27bc97c52b7d46e5f"},{"byte_length":3916,"kind":"map","path":"maps/Coverage/Colls.map.json","sha256":"4d4b96766bfc1cd5306e1cc23c8b169b459bfae38f129c0af29a85faa6092265"},{"byte_length":4862,"kind":"map","path":"maps/Coverage/Main.map.json","sha256":"2ff466af89e8bf70a0fec2031bb3c8a70d541c789e6cad21a56269ed3d81d4f7"},{"byte_length":3912,"kind":"map","path":"maps/Coverage/Prims.map.json","sha256":"26a4790d58bf8aaf9d5dd73c2f8600bd2c6e9ef3fdb5b3fbd87f5386b89b9810"},{"byte_length":2302,"kind":"map","path":"maps/Coverage/RecRoots.map.json","sha256":"35e389c920785587a55f5e9d95d369a30e07eca3f76b139f95bea6be7815bd14"},{"byte_length":9746,"kind":"map","path":"maps/Coverage/Recur.map.json","sha256":"7394ac7f01f11a7a3fc171c21a0c7a39b66c2806a77763783651a62f18496345"},{"byte_length":2280,"kind":"map","path":"maps/Coverage/Syntax.map.json","sha256":"b9b09cb8672186aa07964506c7f87b4a2bd891ad68df56fbf6cf63f1e7b74e68"},{"byte_length":5166,"kind":"map","path":"maps/Coverage/Types.map.json","sha256":"138d9d6aaa1f9f549033cb2aed86ac669972611dcde0bd88010b39935ddbe0e3"},{"byte_length":5696,"kind":"production-eligibility","path":"production/Coverage/Boundary.eligibility.json","sha256":"e8ee809bef94b69b2257ee1cc20d9846c82f02bc3a3e9b910f69d31a99a8fda6"},{"byte_length":27395,"kind":"production-eligibility","path":"production/Coverage/Colls.eligibility.json","sha256":"8724ec83f26e3bb7f483666f87e14d65af6db7c33b9726d87275d4d79331a20e"},{"byte_length":28948,"kind":"production-eligibility","path":"production/Coverage/Main.eligibility.json","sha256":"6c43769b8becf4ecd39650c3d314511ee6a6c55cb24615c8762fbaa6f2a0f106"},{"byte_length":24889,"kind":"production-eligibility","path":"production/Coverage/Prims.eligibility.json","sha256":"cc1d1f204a4ba4dd523424d31c6c36b031d684a52dd8331949936ab6f87ac96f"},{"byte_length":16974,"kind":"production-eligibility","path":"production/Coverage/RecRoots.eligibility.json","sha256":"19c0640e04dba45dc72d1b0f69927950211bb6b1b92feb81dd2745636772ac62"},{"byte_length":1785,"kind":"tex","path":"modules/Coverage/Boundary.tex","sha256":"7f0b2f7721d8b64bc90af13abd4292d7e4cbdf5e19c38872c5bfe97c763d06f3"},{"byte_length":7518,"kind":"tex","path":"modules/Coverage/Colls.tex","sha256":"1223a4e7c19c2f79e28d56e614092f0f8c2506d0913a2079cd7e5372cb8b8da2"},{"byte_length":6930,"kind":"tex","path":"modules/Coverage/Main.tex","sha256":"08878a5bb3a95d296b6ad999d03a84a810d829a57f38fa91f5cba9c0fbd7e31b"},{"byte_length":7789,"kind":"tex","path":"modules/Coverage/Prims.tex","sha256":"73c1b19b794003957f3e0cf0328ee09251391330a2c6904fd7ae2f4b90ff1858"},{"byte_length":2358,"kind":"tex","path":"modules/Coverage/RecRoots.tex","sha256":"45877d577173fd6e145c67446677c60a1d3cecfa65550b3942d68183fe77a970"},{"byte_length":15320,"kind":"tex","path":"modules/Coverage/Recur.tex","sha256":"9b9efaf01a628d61547155fbf872a9fdec7ea34dac7444e9c5e62e63a42bfd06"},{"byte_length":1093,"kind":"tex","path":"modules/Coverage/Syntax.tex","sha256":"24391ae507ff036ad50cbece531289a033ddff326046c24e85c3968beb127bea"},{"byte_length":4199,"kind":"tex","path":"modules/Coverage/Types.tex","sha256":"e5e6325b5dcb5922332195c23875e4644b0491f4ccb69344ad9d75d860202b4e"}],"project":"production-coverage","selection":["Boundary","Colls","Main","Prims","RecRoots","Recur","Syntax","Types"],"semantic_id":"e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732","source_id":"bd33ed5f8bd9e49eaee0edb039d0fa0ef7f6b053a59126bb70b236a614282f5b","spec":"lexlean/build-manifest/1"} diff --git a/examples/production-coverage/expected/build/maps/Coverage/Boundary.map.json b/examples/production-coverage/expected/build/maps/Coverage/Boundary.map.json index 694bee385..582adf5e8 100644 --- a/examples/production-coverage/expected/build/maps/Coverage/Boundary.map.json +++ b/examples/production-coverage/expected/build/maps/Coverage/Boundary.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/Coverage/Boundary.lean"},{"id":1,"kind":"tex","path":"modules/Coverage/Boundary.tex"}],"mappings":[{"artifact":0,"gen_end":21707,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":1263,"src_start":0},{"artifact":0,"gen_end":21948,"gen_start":21707,"node":1,"role":"declaration","source":0,"src_end":427,"src_start":117},{"artifact":0,"gen_end":22035,"gen_start":21948,"node":2,"role":"declaration","source":0,"src_end":579,"src_start":429},{"artifact":0,"gen_end":22266,"gen_start":22035,"node":3,"role":"declaration","source":0,"src_end":865,"src_start":581},{"artifact":0,"gen_end":22543,"gen_start":22266,"node":4,"role":"declaration","source":0,"src_end":1227,"src_start":867},{"artifact":0,"gen_end":22566,"gen_start":22543,"node":0,"role":"declaration","source":0,"src_end":1263,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":5,"role":"declaration","source":0,"src_end":1263,"src_start":0},{"artifact":1,"gen_end":491,"gen_start":134,"node":6,"role":"declaration","source":0,"src_end":427,"src_start":117},{"artifact":1,"gen_end":681,"gen_start":491,"node":7,"role":"declaration","source":0,"src_end":579,"src_start":429},{"artifact":1,"gen_end":1164,"gen_start":681,"node":8,"role":"declaration","source":0,"src_end":865,"src_start":581},{"artifact":1,"gen_end":1770,"gen_start":1164,"node":9,"role":"declaration","source":0,"src_end":1227,"src_start":867},{"artifact":1,"gen_end":1785,"gen_start":1770,"node":5,"role":"declaration","source":0,"src_end":1263,"src_start":0}],"module":"Boundary","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-latex-module"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"}],"semantic_id":"6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1","source_id":"01d3cfa877ac000db25f7e1de364ec2ba31b4c2303e47811b4c957cc98ede2f5","sources":[{"id":0,"kind":"file","path":"src/Boundary.lex.tex","sha256":"4675304c0db77f457ca6f558425c5ede68619a65dad4d6210e36f4765c10c222"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Coverage/Boundary.lean"},{"id":1,"kind":"tex","path":"modules/Coverage/Boundary.tex"}],"mappings":[{"artifact":0,"gen_end":279,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":1263,"src_start":0},{"artifact":0,"gen_end":520,"gen_start":279,"node":1,"role":"declaration","source":0,"src_end":427,"src_start":117},{"artifact":0,"gen_end":607,"gen_start":520,"node":2,"role":"declaration","source":0,"src_end":579,"src_start":429},{"artifact":0,"gen_end":838,"gen_start":607,"node":3,"role":"declaration","source":0,"src_end":865,"src_start":581},{"artifact":0,"gen_end":1115,"gen_start":838,"node":4,"role":"declaration","source":0,"src_end":1227,"src_start":867},{"artifact":0,"gen_end":1138,"gen_start":1115,"node":0,"role":"declaration","source":0,"src_end":1263,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":5,"role":"declaration","source":0,"src_end":1263,"src_start":0},{"artifact":1,"gen_end":491,"gen_start":134,"node":6,"role":"declaration","source":0,"src_end":427,"src_start":117},{"artifact":1,"gen_end":681,"gen_start":491,"node":7,"role":"declaration","source":0,"src_end":579,"src_start":429},{"artifact":1,"gen_end":1164,"gen_start":681,"node":8,"role":"declaration","source":0,"src_end":865,"src_start":581},{"artifact":1,"gen_end":1770,"gen_start":1164,"node":9,"role":"declaration","source":0,"src_end":1227,"src_start":867},{"artifact":1,"gen_end":1785,"gen_start":1770,"node":5,"role":"declaration","source":0,"src_end":1263,"src_start":0}],"module":"Boundary","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-latex-module"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"}],"semantic_id":"e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732","source_id":"bd33ed5f8bd9e49eaee0edb039d0fa0ef7f6b053a59126bb70b236a614282f5b","sources":[{"id":0,"kind":"file","path":"src/Boundary.lex.tex","sha256":"4675304c0db77f457ca6f558425c5ede68619a65dad4d6210e36f4765c10c222"}],"spec":"lexlean/source-map/1"} diff --git a/examples/production-coverage/expected/build/maps/Coverage/Colls.map.json b/examples/production-coverage/expected/build/maps/Coverage/Colls.map.json index f9db3a64c..6093c21b4 100644 --- a/examples/production-coverage/expected/build/maps/Coverage/Colls.map.json +++ b/examples/production-coverage/expected/build/maps/Coverage/Colls.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/Coverage/Colls.lean"},{"id":1,"kind":"tex","path":"modules/Coverage/Colls.tex"}],"mappings":[{"artifact":0,"gen_end":21704,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":4508,"src_start":0},{"artifact":0,"gen_end":22467,"gen_start":21704,"node":1,"role":"declaration","source":0,"src_end":813,"src_start":114},{"artifact":0,"gen_end":22677,"gen_start":22467,"node":2,"role":"declaration","source":0,"src_end":1133,"src_start":815},{"artifact":0,"gen_end":23334,"gen_start":22677,"node":3,"role":"declaration","source":0,"src_end":1727,"src_start":1135},{"artifact":0,"gen_end":23630,"gen_start":23334,"node":4,"role":"declaration","source":0,"src_end":2094,"src_start":1729},{"artifact":0,"gen_end":23963,"gen_start":23630,"node":5,"role":"declaration","source":0,"src_end":2513,"src_start":2096},{"artifact":0,"gen_end":24305,"gen_start":23963,"node":6,"role":"declaration","source":0,"src_end":2929,"src_start":2515},{"artifact":0,"gen_end":24477,"gen_start":24305,"node":7,"role":"declaration","source":0,"src_end":3258,"src_start":2931},{"artifact":0,"gen_end":25153,"gen_start":24477,"node":8,"role":"declaration","source":0,"src_end":3965,"src_start":3260},{"artifact":0,"gen_end":25440,"gen_start":25153,"node":9,"role":"declaration","source":0,"src_end":4472,"src_start":3967},{"artifact":0,"gen_end":25460,"gen_start":25440,"node":0,"role":"declaration","source":0,"src_end":4508,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":10,"role":"declaration","source":0,"src_end":4508,"src_start":0},{"artifact":1,"gen_end":1266,"gen_start":134,"node":11,"role":"declaration","source":0,"src_end":813,"src_start":114},{"artifact":1,"gen_end":1922,"gen_start":1266,"node":12,"role":"declaration","source":0,"src_end":1133,"src_start":815},{"artifact":1,"gen_end":2935,"gen_start":1922,"node":13,"role":"declaration","source":0,"src_end":1727,"src_start":1135},{"artifact":1,"gen_end":3738,"gen_start":2935,"node":14,"role":"declaration","source":0,"src_end":2094,"src_start":1729},{"artifact":1,"gen_end":4573,"gen_start":3738,"node":15,"role":"declaration","source":0,"src_end":2513,"src_start":2096},{"artifact":1,"gen_end":5281,"gen_start":4573,"node":16,"role":"declaration","source":0,"src_end":2929,"src_start":2515},{"artifact":1,"gen_end":5853,"gen_start":5281,"node":17,"role":"declaration","source":0,"src_end":3258,"src_start":2931},{"artifact":1,"gen_end":6888,"gen_start":5853,"node":18,"role":"declaration","source":0,"src_end":3965,"src_start":3260},{"artifact":1,"gen_end":7503,"gen_start":6888,"node":19,"role":"declaration","source":0,"src_end":4472,"src_start":3967},{"artifact":1,"gen_end":7518,"gen_start":7503,"node":10,"role":"declaration","source":0,"src_end":4508,"src_start":0}],"module":"Colls","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-latex-module"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"}],"semantic_id":"6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1","source_id":"01d3cfa877ac000db25f7e1de364ec2ba31b4c2303e47811b4c957cc98ede2f5","sources":[{"id":0,"kind":"file","path":"src/Colls.lex.tex","sha256":"af6d528bfe9c18c9abf2cf03e3bd3dfe6c5bc4808cf0d6e8dedd4faeca05e14e"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Coverage/Colls.lean"},{"id":1,"kind":"tex","path":"modules/Coverage/Colls.tex"}],"mappings":[{"artifact":0,"gen_end":276,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":4508,"src_start":0},{"artifact":0,"gen_end":1039,"gen_start":276,"node":1,"role":"declaration","source":0,"src_end":813,"src_start":114},{"artifact":0,"gen_end":1249,"gen_start":1039,"node":2,"role":"declaration","source":0,"src_end":1133,"src_start":815},{"artifact":0,"gen_end":1906,"gen_start":1249,"node":3,"role":"declaration","source":0,"src_end":1727,"src_start":1135},{"artifact":0,"gen_end":2202,"gen_start":1906,"node":4,"role":"declaration","source":0,"src_end":2094,"src_start":1729},{"artifact":0,"gen_end":2535,"gen_start":2202,"node":5,"role":"declaration","source":0,"src_end":2513,"src_start":2096},{"artifact":0,"gen_end":2877,"gen_start":2535,"node":6,"role":"declaration","source":0,"src_end":2929,"src_start":2515},{"artifact":0,"gen_end":3049,"gen_start":2877,"node":7,"role":"declaration","source":0,"src_end":3258,"src_start":2931},{"artifact":0,"gen_end":3725,"gen_start":3049,"node":8,"role":"declaration","source":0,"src_end":3965,"src_start":3260},{"artifact":0,"gen_end":4012,"gen_start":3725,"node":9,"role":"declaration","source":0,"src_end":4472,"src_start":3967},{"artifact":0,"gen_end":4032,"gen_start":4012,"node":0,"role":"declaration","source":0,"src_end":4508,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":10,"role":"declaration","source":0,"src_end":4508,"src_start":0},{"artifact":1,"gen_end":1266,"gen_start":134,"node":11,"role":"declaration","source":0,"src_end":813,"src_start":114},{"artifact":1,"gen_end":1922,"gen_start":1266,"node":12,"role":"declaration","source":0,"src_end":1133,"src_start":815},{"artifact":1,"gen_end":2935,"gen_start":1922,"node":13,"role":"declaration","source":0,"src_end":1727,"src_start":1135},{"artifact":1,"gen_end":3738,"gen_start":2935,"node":14,"role":"declaration","source":0,"src_end":2094,"src_start":1729},{"artifact":1,"gen_end":4573,"gen_start":3738,"node":15,"role":"declaration","source":0,"src_end":2513,"src_start":2096},{"artifact":1,"gen_end":5281,"gen_start":4573,"node":16,"role":"declaration","source":0,"src_end":2929,"src_start":2515},{"artifact":1,"gen_end":5853,"gen_start":5281,"node":17,"role":"declaration","source":0,"src_end":3258,"src_start":2931},{"artifact":1,"gen_end":6888,"gen_start":5853,"node":18,"role":"declaration","source":0,"src_end":3965,"src_start":3260},{"artifact":1,"gen_end":7503,"gen_start":6888,"node":19,"role":"declaration","source":0,"src_end":4472,"src_start":3967},{"artifact":1,"gen_end":7518,"gen_start":7503,"node":10,"role":"declaration","source":0,"src_end":4508,"src_start":0}],"module":"Colls","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-latex-module"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"}],"semantic_id":"e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732","source_id":"bd33ed5f8bd9e49eaee0edb039d0fa0ef7f6b053a59126bb70b236a614282f5b","sources":[{"id":0,"kind":"file","path":"src/Colls.lex.tex","sha256":"af6d528bfe9c18c9abf2cf03e3bd3dfe6c5bc4808cf0d6e8dedd4faeca05e14e"}],"spec":"lexlean/source-map/1"} diff --git a/examples/production-coverage/expected/build/maps/Coverage/Main.map.json b/examples/production-coverage/expected/build/maps/Coverage/Main.map.json index 327c73e74..d0c43fb77 100644 --- a/examples/production-coverage/expected/build/maps/Coverage/Main.map.json +++ b/examples/production-coverage/expected/build/maps/Coverage/Main.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/Coverage/Main.lean"},{"id":1,"kind":"tex","path":"modules/Coverage/Main.tex"}],"mappings":[{"artifact":0,"gen_end":13716,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":3826,"src_start":0},{"artifact":0,"gen_end":13772,"gen_start":13716,"node":1,"role":"declaration","source":0,"src_end":227,"src_start":134},{"artifact":0,"gen_end":14123,"gen_start":13772,"node":2,"role":"declaration","source":0,"src_end":614,"src_start":229},{"artifact":0,"gen_end":14401,"gen_start":14123,"node":3,"role":"declaration","source":0,"src_end":939,"src_start":616},{"artifact":0,"gen_end":14626,"gen_start":14401,"node":4,"role":"declaration","source":0,"src_end":1250,"src_start":941},{"artifact":0,"gen_end":14843,"gen_start":14626,"node":5,"role":"declaration","source":0,"src_end":1574,"src_start":1252},{"artifact":0,"gen_end":15138,"gen_start":14843,"node":6,"role":"declaration","source":0,"src_end":2051,"src_start":1576},{"artifact":0,"gen_end":15362,"gen_start":15138,"node":7,"role":"declaration","source":0,"src_end":2398,"src_start":2053},{"artifact":0,"gen_end":15554,"gen_start":15362,"node":8,"role":"declaration","source":0,"src_end":2749,"src_start":2400},{"artifact":0,"gen_end":15648,"gen_start":15554,"node":9,"role":"declaration","source":0,"src_end":2950,"src_start":2751},{"artifact":0,"gen_end":15960,"gen_start":15648,"node":10,"role":"declaration","source":0,"src_end":3357,"src_start":2952},{"artifact":0,"gen_end":16099,"gen_start":15960,"node":11,"role":"declaration","source":0,"src_end":3603,"src_start":3359},{"artifact":0,"gen_end":16173,"gen_start":16099,"node":12,"role":"declaration","source":0,"src_end":3790,"src_start":3605},{"artifact":0,"gen_end":16192,"gen_start":16173,"node":0,"role":"declaration","source":0,"src_end":3826,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":13,"role":"declaration","source":0,"src_end":3826,"src_start":0},{"artifact":1,"gen_end":437,"gen_start":134,"node":14,"role":"declaration","source":0,"src_end":227,"src_start":134},{"artifact":1,"gen_end":1146,"gen_start":437,"node":15,"role":"declaration","source":0,"src_end":614,"src_start":229},{"artifact":1,"gen_end":1780,"gen_start":1146,"node":16,"role":"declaration","source":0,"src_end":939,"src_start":616},{"artifact":1,"gen_end":2361,"gen_start":1780,"node":17,"role":"declaration","source":0,"src_end":1250,"src_start":941},{"artifact":1,"gen_end":2946,"gen_start":2361,"node":18,"role":"declaration","source":0,"src_end":1574,"src_start":1252},{"artifact":1,"gen_end":3601,"gen_start":2946,"node":19,"role":"declaration","source":0,"src_end":2051,"src_start":1576},{"artifact":1,"gen_end":4181,"gen_start":3601,"node":20,"role":"declaration","source":0,"src_end":2398,"src_start":2053},{"artifact":1,"gen_end":4729,"gen_start":4181,"node":21,"role":"declaration","source":0,"src_end":2749,"src_start":2400},{"artifact":1,"gen_end":5175,"gen_start":4729,"node":22,"role":"declaration","source":0,"src_end":2950,"src_start":2751},{"artifact":1,"gen_end":5987,"gen_start":5175,"node":23,"role":"declaration","source":0,"src_end":3357,"src_start":2952},{"artifact":1,"gen_end":6484,"gen_start":5987,"node":24,"role":"declaration","source":0,"src_end":3603,"src_start":3359},{"artifact":1,"gen_end":6915,"gen_start":6484,"node":25,"role":"declaration","source":0,"src_end":3790,"src_start":3605},{"artifact":1,"gen_end":6930,"gen_start":6915,"node":13,"role":"declaration","source":0,"src_end":3826,"src_start":0}],"module":"Main","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-latex-module"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"}],"semantic_id":"6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1","source_id":"01d3cfa877ac000db25f7e1de364ec2ba31b4c2303e47811b4c957cc98ede2f5","sources":[{"id":0,"kind":"file","path":"src/Main.lex.tex","sha256":"42698451ae141f4ea32a38f1e48e6337d30b06b108813e48c566b4d72e58acd6"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Coverage/Main.lean"},{"id":1,"kind":"tex","path":"modules/Coverage/Main.tex"}],"mappings":[{"artifact":0,"gen_end":263,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":3826,"src_start":0},{"artifact":0,"gen_end":319,"gen_start":263,"node":1,"role":"declaration","source":0,"src_end":227,"src_start":134},{"artifact":0,"gen_end":670,"gen_start":319,"node":2,"role":"declaration","source":0,"src_end":614,"src_start":229},{"artifact":0,"gen_end":948,"gen_start":670,"node":3,"role":"declaration","source":0,"src_end":939,"src_start":616},{"artifact":0,"gen_end":1173,"gen_start":948,"node":4,"role":"declaration","source":0,"src_end":1250,"src_start":941},{"artifact":0,"gen_end":1390,"gen_start":1173,"node":5,"role":"declaration","source":0,"src_end":1574,"src_start":1252},{"artifact":0,"gen_end":1685,"gen_start":1390,"node":6,"role":"declaration","source":0,"src_end":2051,"src_start":1576},{"artifact":0,"gen_end":1909,"gen_start":1685,"node":7,"role":"declaration","source":0,"src_end":2398,"src_start":2053},{"artifact":0,"gen_end":2101,"gen_start":1909,"node":8,"role":"declaration","source":0,"src_end":2749,"src_start":2400},{"artifact":0,"gen_end":2195,"gen_start":2101,"node":9,"role":"declaration","source":0,"src_end":2950,"src_start":2751},{"artifact":0,"gen_end":2507,"gen_start":2195,"node":10,"role":"declaration","source":0,"src_end":3357,"src_start":2952},{"artifact":0,"gen_end":2646,"gen_start":2507,"node":11,"role":"declaration","source":0,"src_end":3603,"src_start":3359},{"artifact":0,"gen_end":2720,"gen_start":2646,"node":12,"role":"declaration","source":0,"src_end":3790,"src_start":3605},{"artifact":0,"gen_end":2739,"gen_start":2720,"node":0,"role":"declaration","source":0,"src_end":3826,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":13,"role":"declaration","source":0,"src_end":3826,"src_start":0},{"artifact":1,"gen_end":437,"gen_start":134,"node":14,"role":"declaration","source":0,"src_end":227,"src_start":134},{"artifact":1,"gen_end":1146,"gen_start":437,"node":15,"role":"declaration","source":0,"src_end":614,"src_start":229},{"artifact":1,"gen_end":1780,"gen_start":1146,"node":16,"role":"declaration","source":0,"src_end":939,"src_start":616},{"artifact":1,"gen_end":2361,"gen_start":1780,"node":17,"role":"declaration","source":0,"src_end":1250,"src_start":941},{"artifact":1,"gen_end":2946,"gen_start":2361,"node":18,"role":"declaration","source":0,"src_end":1574,"src_start":1252},{"artifact":1,"gen_end":3601,"gen_start":2946,"node":19,"role":"declaration","source":0,"src_end":2051,"src_start":1576},{"artifact":1,"gen_end":4181,"gen_start":3601,"node":20,"role":"declaration","source":0,"src_end":2398,"src_start":2053},{"artifact":1,"gen_end":4729,"gen_start":4181,"node":21,"role":"declaration","source":0,"src_end":2749,"src_start":2400},{"artifact":1,"gen_end":5175,"gen_start":4729,"node":22,"role":"declaration","source":0,"src_end":2950,"src_start":2751},{"artifact":1,"gen_end":5987,"gen_start":5175,"node":23,"role":"declaration","source":0,"src_end":3357,"src_start":2952},{"artifact":1,"gen_end":6484,"gen_start":5987,"node":24,"role":"declaration","source":0,"src_end":3603,"src_start":3359},{"artifact":1,"gen_end":6915,"gen_start":6484,"node":25,"role":"declaration","source":0,"src_end":3790,"src_start":3605},{"artifact":1,"gen_end":6930,"gen_start":6915,"node":13,"role":"declaration","source":0,"src_end":3826,"src_start":0}],"module":"Main","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-latex-module"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"}],"semantic_id":"e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732","source_id":"bd33ed5f8bd9e49eaee0edb039d0fa0ef7f6b053a59126bb70b236a614282f5b","sources":[{"id":0,"kind":"file","path":"src/Main.lex.tex","sha256":"42698451ae141f4ea32a38f1e48e6337d30b06b108813e48c566b4d72e58acd6"}],"spec":"lexlean/source-map/1"} diff --git a/examples/production-coverage/expected/build/maps/Coverage/Prims.map.json b/examples/production-coverage/expected/build/maps/Coverage/Prims.map.json index aec332f35..a4edc6945 100644 --- a/examples/production-coverage/expected/build/maps/Coverage/Prims.map.json +++ b/examples/production-coverage/expected/build/maps/Coverage/Prims.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/Coverage/Prims.lean"},{"id":1,"kind":"tex","path":"modules/Coverage/Prims.tex"}],"mappings":[{"artifact":0,"gen_end":13688,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":4678,"src_start":0},{"artifact":0,"gen_end":14148,"gen_start":13688,"node":1,"role":"declaration","source":0,"src_end":625,"src_start":114},{"artifact":0,"gen_end":14526,"gen_start":14148,"node":2,"role":"declaration","source":0,"src_end":1075,"src_start":627},{"artifact":0,"gen_end":15130,"gen_start":14526,"node":3,"role":"declaration","source":0,"src_end":1686,"src_start":1077},{"artifact":0,"gen_end":15665,"gen_start":15130,"node":4,"role":"declaration","source":0,"src_end":2232,"src_start":1688},{"artifact":0,"gen_end":15877,"gen_start":15665,"node":5,"role":"declaration","source":0,"src_end":2559,"src_start":2234},{"artifact":0,"gen_end":16714,"gen_start":15877,"node":6,"role":"declaration","source":0,"src_end":3251,"src_start":2561},{"artifact":0,"gen_end":16907,"gen_start":16714,"node":7,"role":"declaration","source":0,"src_end":3587,"src_start":3253},{"artifact":0,"gen_end":17079,"gen_start":16907,"node":8,"role":"declaration","source":0,"src_end":3891,"src_start":3589},{"artifact":0,"gen_end":17890,"gen_start":17079,"node":9,"role":"declaration","source":0,"src_end":4642,"src_start":3893},{"artifact":0,"gen_end":17910,"gen_start":17890,"node":0,"role":"declaration","source":0,"src_end":4678,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":10,"role":"declaration","source":0,"src_end":4678,"src_start":0},{"artifact":1,"gen_end":969,"gen_start":134,"node":11,"role":"declaration","source":0,"src_end":625,"src_start":114},{"artifact":1,"gen_end":1722,"gen_start":969,"node":12,"role":"declaration","source":0,"src_end":1075,"src_start":627},{"artifact":1,"gen_end":2701,"gen_start":1722,"node":13,"role":"declaration","source":0,"src_end":1686,"src_start":1077},{"artifact":1,"gen_end":3611,"gen_start":2701,"node":14,"role":"declaration","source":0,"src_end":2232,"src_start":1688},{"artifact":1,"gen_end":4198,"gen_start":3611,"node":15,"role":"declaration","source":0,"src_end":2559,"src_start":2234},{"artifact":1,"gen_end":5394,"gen_start":4198,"node":16,"role":"declaration","source":0,"src_end":3251,"src_start":2561},{"artifact":1,"gen_end":5985,"gen_start":5394,"node":17,"role":"declaration","source":0,"src_end":3587,"src_start":3253},{"artifact":1,"gen_end":6545,"gen_start":5985,"node":18,"role":"declaration","source":0,"src_end":3891,"src_start":3589},{"artifact":1,"gen_end":7774,"gen_start":6545,"node":19,"role":"declaration","source":0,"src_end":4642,"src_start":3893},{"artifact":1,"gen_end":7789,"gen_start":7774,"node":10,"role":"declaration","source":0,"src_end":4678,"src_start":0}],"module":"Prims","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-latex-module"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"}],"semantic_id":"6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1","source_id":"01d3cfa877ac000db25f7e1de364ec2ba31b4c2303e47811b4c957cc98ede2f5","sources":[{"id":0,"kind":"file","path":"src/Prims.lex.tex","sha256":"c86661726922c5fadb430769d459ff5db7ec61c66d96386ef10001cd6079adfd"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Coverage/Prims.lean"},{"id":1,"kind":"tex","path":"modules/Coverage/Prims.tex"}],"mappings":[{"artifact":0,"gen_end":235,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":4678,"src_start":0},{"artifact":0,"gen_end":695,"gen_start":235,"node":1,"role":"declaration","source":0,"src_end":625,"src_start":114},{"artifact":0,"gen_end":1073,"gen_start":695,"node":2,"role":"declaration","source":0,"src_end":1075,"src_start":627},{"artifact":0,"gen_end":1677,"gen_start":1073,"node":3,"role":"declaration","source":0,"src_end":1686,"src_start":1077},{"artifact":0,"gen_end":2212,"gen_start":1677,"node":4,"role":"declaration","source":0,"src_end":2232,"src_start":1688},{"artifact":0,"gen_end":2424,"gen_start":2212,"node":5,"role":"declaration","source":0,"src_end":2559,"src_start":2234},{"artifact":0,"gen_end":3261,"gen_start":2424,"node":6,"role":"declaration","source":0,"src_end":3251,"src_start":2561},{"artifact":0,"gen_end":3454,"gen_start":3261,"node":7,"role":"declaration","source":0,"src_end":3587,"src_start":3253},{"artifact":0,"gen_end":3626,"gen_start":3454,"node":8,"role":"declaration","source":0,"src_end":3891,"src_start":3589},{"artifact":0,"gen_end":4437,"gen_start":3626,"node":9,"role":"declaration","source":0,"src_end":4642,"src_start":3893},{"artifact":0,"gen_end":4457,"gen_start":4437,"node":0,"role":"declaration","source":0,"src_end":4678,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":10,"role":"declaration","source":0,"src_end":4678,"src_start":0},{"artifact":1,"gen_end":969,"gen_start":134,"node":11,"role":"declaration","source":0,"src_end":625,"src_start":114},{"artifact":1,"gen_end":1722,"gen_start":969,"node":12,"role":"declaration","source":0,"src_end":1075,"src_start":627},{"artifact":1,"gen_end":2701,"gen_start":1722,"node":13,"role":"declaration","source":0,"src_end":1686,"src_start":1077},{"artifact":1,"gen_end":3611,"gen_start":2701,"node":14,"role":"declaration","source":0,"src_end":2232,"src_start":1688},{"artifact":1,"gen_end":4198,"gen_start":3611,"node":15,"role":"declaration","source":0,"src_end":2559,"src_start":2234},{"artifact":1,"gen_end":5394,"gen_start":4198,"node":16,"role":"declaration","source":0,"src_end":3251,"src_start":2561},{"artifact":1,"gen_end":5985,"gen_start":5394,"node":17,"role":"declaration","source":0,"src_end":3587,"src_start":3253},{"artifact":1,"gen_end":6545,"gen_start":5985,"node":18,"role":"declaration","source":0,"src_end":3891,"src_start":3589},{"artifact":1,"gen_end":7774,"gen_start":6545,"node":19,"role":"declaration","source":0,"src_end":4642,"src_start":3893},{"artifact":1,"gen_end":7789,"gen_start":7774,"node":10,"role":"declaration","source":0,"src_end":4678,"src_start":0}],"module":"Prims","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-latex-module"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"}],"semantic_id":"e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732","source_id":"bd33ed5f8bd9e49eaee0edb039d0fa0ef7f6b053a59126bb70b236a614282f5b","sources":[{"id":0,"kind":"file","path":"src/Prims.lex.tex","sha256":"c86661726922c5fadb430769d459ff5db7ec61c66d96386ef10001cd6079adfd"}],"spec":"lexlean/source-map/1"} diff --git a/examples/production-coverage/expected/build/maps/Coverage/RecRoots.map.json b/examples/production-coverage/expected/build/maps/Coverage/RecRoots.map.json index a63ffa8e9..4e031405b 100644 --- a/examples/production-coverage/expected/build/maps/Coverage/RecRoots.map.json +++ b/examples/production-coverage/expected/build/maps/Coverage/RecRoots.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/Coverage/RecRoots.lean"},{"id":1,"kind":"tex","path":"modules/Coverage/RecRoots.tex"}],"mappings":[{"artifact":0,"gen_end":259,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":1333,"src_start":0},{"artifact":0,"gen_end":493,"gen_start":259,"node":1,"role":"declaration","source":0,"src_end":488,"src_start":160},{"artifact":0,"gen_end":591,"gen_start":493,"node":2,"role":"declaration","source":0,"src_end":702,"src_start":490},{"artifact":0,"gen_end":787,"gen_start":591,"node":3,"role":"declaration","source":0,"src_end":1015,"src_start":704},{"artifact":0,"gen_end":961,"gen_start":787,"node":4,"role":"declaration","source":0,"src_end":1297,"src_start":1017},{"artifact":0,"gen_end":984,"gen_start":961,"node":0,"role":"declaration","source":0,"src_end":1333,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":5,"role":"declaration","source":0,"src_end":1333,"src_start":0},{"artifact":1,"gen_end":736,"gen_start":134,"node":6,"role":"declaration","source":0,"src_end":488,"src_start":160},{"artifact":1,"gen_end":1202,"gen_start":736,"node":7,"role":"declaration","source":0,"src_end":702,"src_start":490},{"artifact":1,"gen_end":1788,"gen_start":1202,"node":8,"role":"declaration","source":0,"src_end":1015,"src_start":704},{"artifact":1,"gen_end":2343,"gen_start":1788,"node":9,"role":"declaration","source":0,"src_end":1297,"src_start":1017},{"artifact":1,"gen_end":2358,"gen_start":2343,"node":5,"role":"declaration","source":0,"src_end":1333,"src_start":0}],"module":"RecRoots","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-latex-module"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"}],"semantic_id":"6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1","source_id":"01d3cfa877ac000db25f7e1de364ec2ba31b4c2303e47811b4c957cc98ede2f5","sources":[{"id":0,"kind":"file","path":"src/RecRoots.lex.tex","sha256":"a10c554b3b0d752c4ae2aee4ae1d5c70c68eb2645fdd528caab1b4f5ceaf3502"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Coverage/RecRoots.lean"},{"id":1,"kind":"tex","path":"modules/Coverage/RecRoots.tex"}],"mappings":[{"artifact":0,"gen_end":259,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":1333,"src_start":0},{"artifact":0,"gen_end":493,"gen_start":259,"node":1,"role":"declaration","source":0,"src_end":488,"src_start":160},{"artifact":0,"gen_end":591,"gen_start":493,"node":2,"role":"declaration","source":0,"src_end":702,"src_start":490},{"artifact":0,"gen_end":787,"gen_start":591,"node":3,"role":"declaration","source":0,"src_end":1015,"src_start":704},{"artifact":0,"gen_end":961,"gen_start":787,"node":4,"role":"declaration","source":0,"src_end":1297,"src_start":1017},{"artifact":0,"gen_end":984,"gen_start":961,"node":0,"role":"declaration","source":0,"src_end":1333,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":5,"role":"declaration","source":0,"src_end":1333,"src_start":0},{"artifact":1,"gen_end":736,"gen_start":134,"node":6,"role":"declaration","source":0,"src_end":488,"src_start":160},{"artifact":1,"gen_end":1202,"gen_start":736,"node":7,"role":"declaration","source":0,"src_end":702,"src_start":490},{"artifact":1,"gen_end":1788,"gen_start":1202,"node":8,"role":"declaration","source":0,"src_end":1015,"src_start":704},{"artifact":1,"gen_end":2343,"gen_start":1788,"node":9,"role":"declaration","source":0,"src_end":1297,"src_start":1017},{"artifact":1,"gen_end":2358,"gen_start":2343,"node":5,"role":"declaration","source":0,"src_end":1333,"src_start":0}],"module":"RecRoots","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-latex-module"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"}],"semantic_id":"e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732","source_id":"bd33ed5f8bd9e49eaee0edb039d0fa0ef7f6b053a59126bb70b236a614282f5b","sources":[{"id":0,"kind":"file","path":"src/RecRoots.lex.tex","sha256":"a10c554b3b0d752c4ae2aee4ae1d5c70c68eb2645fdd528caab1b4f5ceaf3502"}],"spec":"lexlean/source-map/1"} diff --git a/examples/production-coverage/expected/build/maps/Coverage/Recur.map.json b/examples/production-coverage/expected/build/maps/Coverage/Recur.map.json index 7b4e04aab..0e68d73bd 100644 --- a/examples/production-coverage/expected/build/maps/Coverage/Recur.map.json +++ b/examples/production-coverage/expected/build/maps/Coverage/Recur.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/Coverage/Recur.lean"},{"id":1,"kind":"tex","path":"modules/Coverage/Recur.tex"}],"mappings":[{"artifact":0,"gen_end":13718,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":10226,"src_start":0},{"artifact":0,"gen_end":13934,"gen_start":13718,"node":1,"role":"declaration","source":0,"src_end":417,"src_start":136},{"artifact":0,"gen_end":14180,"gen_start":13934,"node":2,"role":"declaration","source":0,"src_end":744,"src_start":419},{"artifact":0,"gen_end":14543,"gen_start":14180,"node":3,"role":"declaration","source":0,"src_end":1153,"src_start":746},{"artifact":0,"gen_end":14775,"gen_start":14543,"node":4,"role":"declaration","source":0,"src_end":1456,"src_start":1155},{"artifact":0,"gen_end":15073,"gen_start":14775,"node":5,"role":"declaration","source":0,"src_end":1970,"src_start":1458},{"artifact":0,"gen_end":15240,"gen_start":15073,"node":6,"role":"declaration","source":0,"src_end":2197,"src_start":1972},{"artifact":0,"gen_end":15405,"gen_start":15240,"node":7,"role":"declaration","source":0,"src_end":2425,"src_start":2199},{"artifact":0,"gen_end":15865,"gen_start":15405,"node":8,"role":"declaration","source":0,"src_end":2656,"src_start":2427},{"artifact":0,"gen_end":16278,"gen_start":15865,"node":9,"role":"declaration","source":0,"src_end":2966,"src_start":2658},{"artifact":0,"gen_end":16775,"gen_start":16278,"node":10,"role":"declaration","source":0,"src_end":3226,"src_start":2968},{"artifact":0,"gen_end":17290,"gen_start":16775,"node":11,"role":"declaration","source":0,"src_end":3559,"src_start":3228},{"artifact":0,"gen_end":17848,"gen_start":17290,"node":12,"role":"declaration","source":0,"src_end":3866,"src_start":3561},{"artifact":0,"gen_end":18395,"gen_start":17848,"node":13,"role":"declaration","source":0,"src_end":4223,"src_start":3868},{"artifact":0,"gen_end":18604,"gen_start":18395,"node":14,"role":"declaration","source":0,"src_end":4508,"src_start":4225},{"artifact":0,"gen_end":19205,"gen_start":18604,"node":15,"role":"declaration","source":0,"src_end":4870,"src_start":4510},{"artifact":0,"gen_end":19925,"gen_start":19205,"node":16,"role":"declaration","source":0,"src_end":5346,"src_start":4872},{"artifact":0,"gen_end":20807,"gen_start":19925,"node":17,"role":"declaration","source":0,"src_end":5968,"src_start":5348},{"artifact":0,"gen_end":21486,"gen_start":20807,"node":18,"role":"declaration","source":0,"src_end":6408,"src_start":5970},{"artifact":0,"gen_end":22235,"gen_start":21486,"node":19,"role":"declaration","source":0,"src_end":6917,"src_start":6410},{"artifact":0,"gen_end":23308,"gen_start":22235,"node":20,"role":"declaration","source":0,"src_end":8040,"src_start":6919},{"artifact":0,"gen_end":23598,"gen_start":23308,"node":21,"role":"declaration","source":0,"src_end":8376,"src_start":8042},{"artifact":0,"gen_end":23981,"gen_start":23598,"node":22,"role":"declaration","source":0,"src_end":9001,"src_start":8378},{"artifact":0,"gen_end":24409,"gen_start":23981,"node":23,"role":"declaration","source":0,"src_end":9216,"src_start":9003},{"artifact":0,"gen_end":24913,"gen_start":24409,"node":24,"role":"declaration","source":0,"src_end":9479,"src_start":9218},{"artifact":0,"gen_end":25261,"gen_start":24913,"node":25,"role":"declaration","source":0,"src_end":9760,"src_start":9481},{"artifact":0,"gen_end":25638,"gen_start":25261,"node":26,"role":"declaration","source":0,"src_end":10059,"src_start":9762},{"artifact":0,"gen_end":25698,"gen_start":25638,"node":27,"role":"declaration","source":0,"src_end":10190,"src_start":10061},{"artifact":0,"gen_end":25718,"gen_start":25698,"node":0,"role":"declaration","source":0,"src_end":10226,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":28,"role":"declaration","source":0,"src_end":10226,"src_start":0},{"artifact":1,"gen_end":687,"gen_start":134,"node":29,"role":"declaration","source":0,"src_end":417,"src_start":136},{"artifact":1,"gen_end":1270,"gen_start":687,"node":30,"role":"declaration","source":0,"src_end":744,"src_start":419},{"artifact":1,"gen_end":1934,"gen_start":1270,"node":31,"role":"declaration","source":0,"src_end":1153,"src_start":746},{"artifact":1,"gen_end":2475,"gen_start":1934,"node":32,"role":"declaration","source":0,"src_end":1456,"src_start":1155},{"artifact":1,"gen_end":3079,"gen_start":2475,"node":33,"role":"declaration","source":0,"src_end":1970,"src_start":1458},{"artifact":1,"gen_end":3544,"gen_start":3079,"node":34,"role":"declaration","source":0,"src_end":2197,"src_start":1972},{"artifact":1,"gen_end":4010,"gen_start":3544,"node":35,"role":"declaration","source":0,"src_end":2425,"src_start":2199},{"artifact":1,"gen_end":4352,"gen_start":4010,"node":36,"role":"declaration","source":0,"src_end":2656,"src_start":2427},{"artifact":1,"gen_end":4919,"gen_start":4352,"node":37,"role":"declaration","source":0,"src_end":2966,"src_start":2658},{"artifact":1,"gen_end":5299,"gen_start":4919,"node":38,"role":"declaration","source":0,"src_end":3226,"src_start":2968},{"artifact":1,"gen_end":5898,"gen_start":5299,"node":39,"role":"declaration","source":0,"src_end":3559,"src_start":3228},{"artifact":1,"gen_end":6339,"gen_start":5898,"node":40,"role":"declaration","source":0,"src_end":3866,"src_start":3561},{"artifact":1,"gen_end":6964,"gen_start":6339,"node":41,"role":"declaration","source":0,"src_end":4223,"src_start":3868},{"artifact":1,"gen_end":7435,"gen_start":6964,"node":42,"role":"declaration","source":0,"src_end":4508,"src_start":4225},{"artifact":1,"gen_end":7898,"gen_start":7435,"node":43,"role":"declaration","source":0,"src_end":4870,"src_start":4510},{"artifact":1,"gen_end":8480,"gen_start":7898,"node":44,"role":"declaration","source":0,"src_end":5346,"src_start":4872},{"artifact":1,"gen_end":9393,"gen_start":8480,"node":45,"role":"declaration","source":0,"src_end":5968,"src_start":5348},{"artifact":1,"gen_end":9934,"gen_start":9393,"node":46,"role":"declaration","source":0,"src_end":6408,"src_start":5970},{"artifact":1,"gen_end":10716,"gen_start":9934,"node":47,"role":"declaration","source":0,"src_end":6917,"src_start":6410},{"artifact":1,"gen_end":12094,"gen_start":10716,"node":48,"role":"declaration","source":0,"src_end":8040,"src_start":6919},{"artifact":1,"gen_end":12690,"gen_start":12094,"node":49,"role":"declaration","source":0,"src_end":8376,"src_start":8042},{"artifact":1,"gen_end":13375,"gen_start":12690,"node":50,"role":"declaration","source":0,"src_end":9001,"src_start":8378},{"artifact":1,"gen_end":13687,"gen_start":13375,"node":51,"role":"declaration","source":0,"src_end":9216,"src_start":9003},{"artifact":1,"gen_end":14075,"gen_start":13687,"node":52,"role":"declaration","source":0,"src_end":9479,"src_start":9218},{"artifact":1,"gen_end":14579,"gen_start":14075,"node":53,"role":"declaration","source":0,"src_end":9760,"src_start":9481},{"artifact":1,"gen_end":15115,"gen_start":14579,"node":54,"role":"declaration","source":0,"src_end":10059,"src_start":9762},{"artifact":1,"gen_end":15305,"gen_start":15115,"node":55,"role":"declaration","source":0,"src_end":10190,"src_start":10061},{"artifact":1,"gen_end":15320,"gen_start":15305,"node":28,"role":"declaration","source":0,"src_end":10226,"src_start":0}],"module":"Recur","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-latex-module"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"}],"semantic_id":"6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1","source_id":"01d3cfa877ac000db25f7e1de364ec2ba31b4c2303e47811b4c957cc98ede2f5","sources":[{"id":0,"kind":"file","path":"src/Recur.lex.tex","sha256":"a404c1ed64818f9b54d3bffeb9c1d5518460164acb9f6deecb54756fec3dabf3"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Coverage/Recur.lean"},{"id":1,"kind":"tex","path":"modules/Coverage/Recur.tex"}],"mappings":[{"artifact":0,"gen_end":265,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":10226,"src_start":0},{"artifact":0,"gen_end":481,"gen_start":265,"node":1,"role":"declaration","source":0,"src_end":417,"src_start":136},{"artifact":0,"gen_end":727,"gen_start":481,"node":2,"role":"declaration","source":0,"src_end":744,"src_start":419},{"artifact":0,"gen_end":1090,"gen_start":727,"node":3,"role":"declaration","source":0,"src_end":1153,"src_start":746},{"artifact":0,"gen_end":1322,"gen_start":1090,"node":4,"role":"declaration","source":0,"src_end":1456,"src_start":1155},{"artifact":0,"gen_end":1620,"gen_start":1322,"node":5,"role":"declaration","source":0,"src_end":1970,"src_start":1458},{"artifact":0,"gen_end":1787,"gen_start":1620,"node":6,"role":"declaration","source":0,"src_end":2197,"src_start":1972},{"artifact":0,"gen_end":1952,"gen_start":1787,"node":7,"role":"declaration","source":0,"src_end":2425,"src_start":2199},{"artifact":0,"gen_end":2412,"gen_start":1952,"node":8,"role":"declaration","source":0,"src_end":2656,"src_start":2427},{"artifact":0,"gen_end":2825,"gen_start":2412,"node":9,"role":"declaration","source":0,"src_end":2966,"src_start":2658},{"artifact":0,"gen_end":3322,"gen_start":2825,"node":10,"role":"declaration","source":0,"src_end":3226,"src_start":2968},{"artifact":0,"gen_end":3837,"gen_start":3322,"node":11,"role":"declaration","source":0,"src_end":3559,"src_start":3228},{"artifact":0,"gen_end":4395,"gen_start":3837,"node":12,"role":"declaration","source":0,"src_end":3866,"src_start":3561},{"artifact":0,"gen_end":4942,"gen_start":4395,"node":13,"role":"declaration","source":0,"src_end":4223,"src_start":3868},{"artifact":0,"gen_end":5151,"gen_start":4942,"node":14,"role":"declaration","source":0,"src_end":4508,"src_start":4225},{"artifact":0,"gen_end":5752,"gen_start":5151,"node":15,"role":"declaration","source":0,"src_end":4870,"src_start":4510},{"artifact":0,"gen_end":6472,"gen_start":5752,"node":16,"role":"declaration","source":0,"src_end":5346,"src_start":4872},{"artifact":0,"gen_end":7354,"gen_start":6472,"node":17,"role":"declaration","source":0,"src_end":5968,"src_start":5348},{"artifact":0,"gen_end":8033,"gen_start":7354,"node":18,"role":"declaration","source":0,"src_end":6408,"src_start":5970},{"artifact":0,"gen_end":8782,"gen_start":8033,"node":19,"role":"declaration","source":0,"src_end":6917,"src_start":6410},{"artifact":0,"gen_end":9855,"gen_start":8782,"node":20,"role":"declaration","source":0,"src_end":8040,"src_start":6919},{"artifact":0,"gen_end":10145,"gen_start":9855,"node":21,"role":"declaration","source":0,"src_end":8376,"src_start":8042},{"artifact":0,"gen_end":10528,"gen_start":10145,"node":22,"role":"declaration","source":0,"src_end":9001,"src_start":8378},{"artifact":0,"gen_end":10956,"gen_start":10528,"node":23,"role":"declaration","source":0,"src_end":9216,"src_start":9003},{"artifact":0,"gen_end":11460,"gen_start":10956,"node":24,"role":"declaration","source":0,"src_end":9479,"src_start":9218},{"artifact":0,"gen_end":11808,"gen_start":11460,"node":25,"role":"declaration","source":0,"src_end":9760,"src_start":9481},{"artifact":0,"gen_end":12185,"gen_start":11808,"node":26,"role":"declaration","source":0,"src_end":10059,"src_start":9762},{"artifact":0,"gen_end":12245,"gen_start":12185,"node":27,"role":"declaration","source":0,"src_end":10190,"src_start":10061},{"artifact":0,"gen_end":12265,"gen_start":12245,"node":0,"role":"declaration","source":0,"src_end":10226,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":28,"role":"declaration","source":0,"src_end":10226,"src_start":0},{"artifact":1,"gen_end":687,"gen_start":134,"node":29,"role":"declaration","source":0,"src_end":417,"src_start":136},{"artifact":1,"gen_end":1270,"gen_start":687,"node":30,"role":"declaration","source":0,"src_end":744,"src_start":419},{"artifact":1,"gen_end":1934,"gen_start":1270,"node":31,"role":"declaration","source":0,"src_end":1153,"src_start":746},{"artifact":1,"gen_end":2475,"gen_start":1934,"node":32,"role":"declaration","source":0,"src_end":1456,"src_start":1155},{"artifact":1,"gen_end":3079,"gen_start":2475,"node":33,"role":"declaration","source":0,"src_end":1970,"src_start":1458},{"artifact":1,"gen_end":3544,"gen_start":3079,"node":34,"role":"declaration","source":0,"src_end":2197,"src_start":1972},{"artifact":1,"gen_end":4010,"gen_start":3544,"node":35,"role":"declaration","source":0,"src_end":2425,"src_start":2199},{"artifact":1,"gen_end":4352,"gen_start":4010,"node":36,"role":"declaration","source":0,"src_end":2656,"src_start":2427},{"artifact":1,"gen_end":4919,"gen_start":4352,"node":37,"role":"declaration","source":0,"src_end":2966,"src_start":2658},{"artifact":1,"gen_end":5299,"gen_start":4919,"node":38,"role":"declaration","source":0,"src_end":3226,"src_start":2968},{"artifact":1,"gen_end":5898,"gen_start":5299,"node":39,"role":"declaration","source":0,"src_end":3559,"src_start":3228},{"artifact":1,"gen_end":6339,"gen_start":5898,"node":40,"role":"declaration","source":0,"src_end":3866,"src_start":3561},{"artifact":1,"gen_end":6964,"gen_start":6339,"node":41,"role":"declaration","source":0,"src_end":4223,"src_start":3868},{"artifact":1,"gen_end":7435,"gen_start":6964,"node":42,"role":"declaration","source":0,"src_end":4508,"src_start":4225},{"artifact":1,"gen_end":7898,"gen_start":7435,"node":43,"role":"declaration","source":0,"src_end":4870,"src_start":4510},{"artifact":1,"gen_end":8480,"gen_start":7898,"node":44,"role":"declaration","source":0,"src_end":5346,"src_start":4872},{"artifact":1,"gen_end":9393,"gen_start":8480,"node":45,"role":"declaration","source":0,"src_end":5968,"src_start":5348},{"artifact":1,"gen_end":9934,"gen_start":9393,"node":46,"role":"declaration","source":0,"src_end":6408,"src_start":5970},{"artifact":1,"gen_end":10716,"gen_start":9934,"node":47,"role":"declaration","source":0,"src_end":6917,"src_start":6410},{"artifact":1,"gen_end":12094,"gen_start":10716,"node":48,"role":"declaration","source":0,"src_end":8040,"src_start":6919},{"artifact":1,"gen_end":12690,"gen_start":12094,"node":49,"role":"declaration","source":0,"src_end":8376,"src_start":8042},{"artifact":1,"gen_end":13375,"gen_start":12690,"node":50,"role":"declaration","source":0,"src_end":9001,"src_start":8378},{"artifact":1,"gen_end":13687,"gen_start":13375,"node":51,"role":"declaration","source":0,"src_end":9216,"src_start":9003},{"artifact":1,"gen_end":14075,"gen_start":13687,"node":52,"role":"declaration","source":0,"src_end":9479,"src_start":9218},{"artifact":1,"gen_end":14579,"gen_start":14075,"node":53,"role":"declaration","source":0,"src_end":9760,"src_start":9481},{"artifact":1,"gen_end":15115,"gen_start":14579,"node":54,"role":"declaration","source":0,"src_end":10059,"src_start":9762},{"artifact":1,"gen_end":15305,"gen_start":15115,"node":55,"role":"declaration","source":0,"src_end":10190,"src_start":10061},{"artifact":1,"gen_end":15320,"gen_start":15305,"node":28,"role":"declaration","source":0,"src_end":10226,"src_start":0}],"module":"Recur","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-latex-module"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"}],"semantic_id":"e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732","source_id":"bd33ed5f8bd9e49eaee0edb039d0fa0ef7f6b053a59126bb70b236a614282f5b","sources":[{"id":0,"kind":"file","path":"src/Recur.lex.tex","sha256":"a404c1ed64818f9b54d3bffeb9c1d5518460164acb9f6deecb54756fec3dabf3"}],"spec":"lexlean/source-map/1"} diff --git a/examples/production-coverage/expected/build/maps/Coverage/Syntax.map.json b/examples/production-coverage/expected/build/maps/Coverage/Syntax.map.json index b7986dc7a..7770355a5 100644 --- a/examples/production-coverage/expected/build/maps/Coverage/Syntax.map.json +++ b/examples/production-coverage/expected/build/maps/Coverage/Syntax.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/Coverage/Syntax.lean"},{"id":1,"kind":"tex","path":"modules/Coverage/Syntax.tex"}],"mappings":[{"artifact":0,"gen_end":198,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":861,"src_start":0},{"artifact":0,"gen_end":286,"gen_start":198,"node":1,"role":"declaration","source":0,"src_end":255,"src_start":115},{"artifact":0,"gen_end":414,"gen_start":286,"node":2,"role":"declaration","source":0,"src_end":487,"src_start":257},{"artifact":0,"gen_end":517,"gen_start":414,"node":3,"role":"declaration","source":0,"src_end":671,"src_start":489},{"artifact":0,"gen_end":599,"gen_start":517,"node":4,"role":"declaration","source":0,"src_end":825,"src_start":673},{"artifact":0,"gen_end":620,"gen_start":599,"node":0,"role":"declaration","source":0,"src_end":861,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":5,"role":"declaration","source":0,"src_end":861,"src_start":0},{"artifact":1,"gen_end":328,"gen_start":134,"node":6,"role":"declaration","source":0,"src_end":255,"src_start":115},{"artifact":1,"gen_end":637,"gen_start":328,"node":7,"role":"declaration","source":0,"src_end":487,"src_start":257},{"artifact":1,"gen_end":886,"gen_start":637,"node":8,"role":"declaration","source":0,"src_end":671,"src_start":489},{"artifact":1,"gen_end":1078,"gen_start":886,"node":9,"role":"declaration","source":0,"src_end":825,"src_start":673},{"artifact":1,"gen_end":1093,"gen_start":1078,"node":5,"role":"declaration","source":0,"src_end":861,"src_start":0}],"module":"Syntax","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-latex-module"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"}],"semantic_id":"6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1","source_id":"01d3cfa877ac000db25f7e1de364ec2ba31b4c2303e47811b4c957cc98ede2f5","sources":[{"id":0,"kind":"file","path":"src/Syntax.lex.tex","sha256":"4d2d6d5cc65ee405c5b0fe2732babae4d496f16a4e054ac334d2abfa69152dd0"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Coverage/Syntax.lean"},{"id":1,"kind":"tex","path":"modules/Coverage/Syntax.tex"}],"mappings":[{"artifact":0,"gen_end":198,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":861,"src_start":0},{"artifact":0,"gen_end":286,"gen_start":198,"node":1,"role":"declaration","source":0,"src_end":255,"src_start":115},{"artifact":0,"gen_end":414,"gen_start":286,"node":2,"role":"declaration","source":0,"src_end":487,"src_start":257},{"artifact":0,"gen_end":517,"gen_start":414,"node":3,"role":"declaration","source":0,"src_end":671,"src_start":489},{"artifact":0,"gen_end":599,"gen_start":517,"node":4,"role":"declaration","source":0,"src_end":825,"src_start":673},{"artifact":0,"gen_end":620,"gen_start":599,"node":0,"role":"declaration","source":0,"src_end":861,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":5,"role":"declaration","source":0,"src_end":861,"src_start":0},{"artifact":1,"gen_end":328,"gen_start":134,"node":6,"role":"declaration","source":0,"src_end":255,"src_start":115},{"artifact":1,"gen_end":637,"gen_start":328,"node":7,"role":"declaration","source":0,"src_end":487,"src_start":257},{"artifact":1,"gen_end":886,"gen_start":637,"node":8,"role":"declaration","source":0,"src_end":671,"src_start":489},{"artifact":1,"gen_end":1078,"gen_start":886,"node":9,"role":"declaration","source":0,"src_end":825,"src_start":673},{"artifact":1,"gen_end":1093,"gen_start":1078,"node":5,"role":"declaration","source":0,"src_end":861,"src_start":0}],"module":"Syntax","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-latex-module"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"}],"semantic_id":"e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732","source_id":"bd33ed5f8bd9e49eaee0edb039d0fa0ef7f6b053a59126bb70b236a614282f5b","sources":[{"id":0,"kind":"file","path":"src/Syntax.lex.tex","sha256":"4d2d6d5cc65ee405c5b0fe2732babae4d496f16a4e054ac334d2abfa69152dd0"}],"spec":"lexlean/source-map/1"} diff --git a/examples/production-coverage/expected/build/maps/Coverage/Types.map.json b/examples/production-coverage/expected/build/maps/Coverage/Types.map.json index 6cc1acdb4..93bb6e000 100644 --- a/examples/production-coverage/expected/build/maps/Coverage/Types.map.json +++ b/examples/production-coverage/expected/build/maps/Coverage/Types.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/Coverage/Types.lean"},{"id":1,"kind":"tex","path":"modules/Coverage/Types.tex"}],"mappings":[{"artifact":0,"gen_end":13688,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":2571,"src_start":0},{"artifact":0,"gen_end":13778,"gen_start":13688,"node":1,"role":"declaration","source":0,"src_end":307,"src_start":114},{"artifact":0,"gen_end":13857,"gen_start":13778,"node":2,"role":"declaration","source":0,"src_end":460,"src_start":309},{"artifact":0,"gen_end":13907,"gen_start":13857,"node":3,"role":"declaration","source":0,"src_end":585,"src_start":462},{"artifact":0,"gen_end":13980,"gen_start":13907,"node":4,"role":"declaration","source":0,"src_end":724,"src_start":587},{"artifact":0,"gen_end":14035,"gen_start":13980,"node":5,"role":"declaration","source":0,"src_end":854,"src_start":726},{"artifact":0,"gen_end":14127,"gen_start":14035,"node":6,"role":"declaration","source":0,"src_end":1006,"src_start":856},{"artifact":0,"gen_end":14375,"gen_start":14127,"node":7,"role":"declaration","source":0,"src_end":1270,"src_start":1008},{"artifact":0,"gen_end":14504,"gen_start":14375,"node":8,"role":"declaration","source":0,"src_end":1487,"src_start":1272},{"artifact":0,"gen_end":14589,"gen_start":14504,"node":9,"role":"declaration","source":0,"src_end":1646,"src_start":1489},{"artifact":0,"gen_end":14690,"gen_start":14589,"node":10,"role":"declaration","source":0,"src_end":1803,"src_start":1648},{"artifact":0,"gen_end":14947,"gen_start":14690,"node":11,"role":"declaration","source":0,"src_end":2138,"src_start":1805},{"artifact":0,"gen_end":15085,"gen_start":14947,"node":12,"role":"declaration","source":0,"src_end":2336,"src_start":2140},{"artifact":0,"gen_end":15221,"gen_start":15085,"node":13,"role":"declaration","source":0,"src_end":2535,"src_start":2338},{"artifact":0,"gen_end":15241,"gen_start":15221,"node":0,"role":"declaration","source":0,"src_end":2571,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":14,"role":"declaration","source":0,"src_end":2571,"src_start":0},{"artifact":1,"gen_end":379,"gen_start":134,"node":15,"role":"declaration","source":0,"src_end":307,"src_start":114},{"artifact":1,"gen_end":570,"gen_start":379,"node":16,"role":"declaration","source":0,"src_end":460,"src_start":309},{"artifact":1,"gen_end":731,"gen_start":570,"node":17,"role":"declaration","source":0,"src_end":585,"src_start":462},{"artifact":1,"gen_end":949,"gen_start":731,"node":18,"role":"declaration","source":0,"src_end":724,"src_start":587},{"artifact":1,"gen_end":1115,"gen_start":949,"node":19,"role":"declaration","source":0,"src_end":854,"src_start":726},{"artifact":1,"gen_end":1192,"gen_start":1115,"node":20,"role":"declaration","source":0,"src_end":1006,"src_start":856},{"artifact":1,"gen_end":1687,"gen_start":1192,"node":21,"role":"declaration","source":0,"src_end":1270,"src_start":1008},{"artifact":1,"gen_end":2077,"gen_start":1687,"node":22,"role":"declaration","source":0,"src_end":1487,"src_start":1272},{"artifact":1,"gen_end":2443,"gen_start":2077,"node":23,"role":"declaration","source":0,"src_end":1646,"src_start":1489},{"artifact":1,"gen_end":2791,"gen_start":2443,"node":24,"role":"declaration","source":0,"src_end":1803,"src_start":1648},{"artifact":1,"gen_end":3311,"gen_start":2791,"node":25,"role":"declaration","source":0,"src_end":2138,"src_start":1805},{"artifact":1,"gen_end":3747,"gen_start":3311,"node":26,"role":"declaration","source":0,"src_end":2336,"src_start":2140},{"artifact":1,"gen_end":4184,"gen_start":3747,"node":27,"role":"declaration","source":0,"src_end":2535,"src_start":2338},{"artifact":1,"gen_end":4199,"gen_start":4184,"node":14,"role":"declaration","source":0,"src_end":2571,"src_start":0}],"module":"Types","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-latex-module"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"}],"semantic_id":"6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1","source_id":"01d3cfa877ac000db25f7e1de364ec2ba31b4c2303e47811b4c957cc98ede2f5","sources":[{"id":0,"kind":"file","path":"src/Types.lex.tex","sha256":"80d360f45ad31fccc43a06831cc6137982c579a23f3de646be93d3c3ce59193a"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Coverage/Types.lean"},{"id":1,"kind":"tex","path":"modules/Coverage/Types.tex"}],"mappings":[{"artifact":0,"gen_end":235,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":2571,"src_start":0},{"artifact":0,"gen_end":325,"gen_start":235,"node":1,"role":"declaration","source":0,"src_end":307,"src_start":114},{"artifact":0,"gen_end":404,"gen_start":325,"node":2,"role":"declaration","source":0,"src_end":460,"src_start":309},{"artifact":0,"gen_end":454,"gen_start":404,"node":3,"role":"declaration","source":0,"src_end":585,"src_start":462},{"artifact":0,"gen_end":527,"gen_start":454,"node":4,"role":"declaration","source":0,"src_end":724,"src_start":587},{"artifact":0,"gen_end":582,"gen_start":527,"node":5,"role":"declaration","source":0,"src_end":854,"src_start":726},{"artifact":0,"gen_end":674,"gen_start":582,"node":6,"role":"declaration","source":0,"src_end":1006,"src_start":856},{"artifact":0,"gen_end":922,"gen_start":674,"node":7,"role":"declaration","source":0,"src_end":1270,"src_start":1008},{"artifact":0,"gen_end":1051,"gen_start":922,"node":8,"role":"declaration","source":0,"src_end":1487,"src_start":1272},{"artifact":0,"gen_end":1136,"gen_start":1051,"node":9,"role":"declaration","source":0,"src_end":1646,"src_start":1489},{"artifact":0,"gen_end":1237,"gen_start":1136,"node":10,"role":"declaration","source":0,"src_end":1803,"src_start":1648},{"artifact":0,"gen_end":1494,"gen_start":1237,"node":11,"role":"declaration","source":0,"src_end":2138,"src_start":1805},{"artifact":0,"gen_end":1632,"gen_start":1494,"node":12,"role":"declaration","source":0,"src_end":2336,"src_start":2140},{"artifact":0,"gen_end":1768,"gen_start":1632,"node":13,"role":"declaration","source":0,"src_end":2535,"src_start":2338},{"artifact":0,"gen_end":1788,"gen_start":1768,"node":0,"role":"declaration","source":0,"src_end":2571,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":14,"role":"declaration","source":0,"src_end":2571,"src_start":0},{"artifact":1,"gen_end":379,"gen_start":134,"node":15,"role":"declaration","source":0,"src_end":307,"src_start":114},{"artifact":1,"gen_end":570,"gen_start":379,"node":16,"role":"declaration","source":0,"src_end":460,"src_start":309},{"artifact":1,"gen_end":731,"gen_start":570,"node":17,"role":"declaration","source":0,"src_end":585,"src_start":462},{"artifact":1,"gen_end":949,"gen_start":731,"node":18,"role":"declaration","source":0,"src_end":724,"src_start":587},{"artifact":1,"gen_end":1115,"gen_start":949,"node":19,"role":"declaration","source":0,"src_end":854,"src_start":726},{"artifact":1,"gen_end":1192,"gen_start":1115,"node":20,"role":"declaration","source":0,"src_end":1006,"src_start":856},{"artifact":1,"gen_end":1687,"gen_start":1192,"node":21,"role":"declaration","source":0,"src_end":1270,"src_start":1008},{"artifact":1,"gen_end":2077,"gen_start":1687,"node":22,"role":"declaration","source":0,"src_end":1487,"src_start":1272},{"artifact":1,"gen_end":2443,"gen_start":2077,"node":23,"role":"declaration","source":0,"src_end":1646,"src_start":1489},{"artifact":1,"gen_end":2791,"gen_start":2443,"node":24,"role":"declaration","source":0,"src_end":1803,"src_start":1648},{"artifact":1,"gen_end":3311,"gen_start":2791,"node":25,"role":"declaration","source":0,"src_end":2138,"src_start":1805},{"artifact":1,"gen_end":3747,"gen_start":3311,"node":26,"role":"declaration","source":0,"src_end":2336,"src_start":2140},{"artifact":1,"gen_end":4184,"gen_start":3747,"node":27,"role":"declaration","source":0,"src_end":2535,"src_start":2338},{"artifact":1,"gen_end":4199,"gen_start":4184,"node":14,"role":"declaration","source":0,"src_end":2571,"src_start":0}],"module":"Types","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-latex-module"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"}],"semantic_id":"e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732","source_id":"bd33ed5f8bd9e49eaee0edb039d0fa0ef7f6b053a59126bb70b236a614282f5b","sources":[{"id":0,"kind":"file","path":"src/Types.lex.tex","sha256":"80d360f45ad31fccc43a06831cc6137982c579a23f3de646be93d3c3ce59193a"}],"spec":"lexlean/source-map/1"} diff --git a/examples/production-coverage/expected/build/modules/Coverage/Boundary.lean b/examples/production-coverage/expected/build/modules/Coverage/Boundary.lean index c6995bef3..60fdc4e76 100644 --- a/examples/production-coverage/expected/build/modules/Coverage/Boundary.lean +++ b/examples/production-coverage/expected/build/modules/Coverage/Boundary.lean @@ -1,438 +1,13 @@ module public import Init +public import LexLeanRuntime.Portable +public import LexLeanRuntime.Collections set_option autoImplicit false set_option maxRecDepth 100000 set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace Coverage.Boundary -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - -namespace LexLeanCollections - -public class Key (α : Type) where - compare : α -> α -> Ordering - -@[expose] public def compareCodes : List Char -> List Char -> Ordering - | [], [] => .eq - | [], _ :: _ => .lt - | _ :: _, [] => .gt - | left :: lefts, right :: rights => - match Ord.compare left.val.toNat right.val.toNat with - | .eq => compareCodes lefts rights - | other => other - -public instance : Key Nat where compare := Ord.compare -public instance : Key Int where compare := Ord.compare -public instance : Key Bool where compare := Ord.compare -public instance : Key Int8 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int16 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int32 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int64 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key UInt8 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt16 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt32 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt64 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key String where compare left right := compareCodes left.toList right.toList -public instance {α β : Type} [Key α] [Key β] : Key (Prod α β) where - compare left right := match Key.compare left.1 right.1 with - | .eq => Key.compare left.2 right.2 - | other => other - -@[expose] public def insertEntry {κ ν : Type} [Key κ] (key : κ) (value : ν) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [(key, value)] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (key, value) :: (other, stored) :: rest - | .eq => (key, value) :: rest - | .gt => (other, stored) :: insertEntry key value rest - -@[expose] public def removeEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (other, stored) :: rest - | .eq => rest - | .gt => (other, stored) :: removeEntry key rest - -@[expose] public def lookupEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> Option ν - | [] => none - | (other, stored) :: rest => match Key.compare key other with - | .lt => none - | .eq => some stored - | .gt => lookupEntry key rest - -@[expose] public def insertElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [key] - | other :: rest => match Key.compare key other with - | .lt => key :: other :: rest - | .eq => other :: rest - | .gt => other :: insertElement key rest - -@[expose] public def removeElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [] - | other :: rest => match Key.compare key other with - | .lt => other :: rest - | .eq => rest - | .gt => other :: removeElement key rest - -@[expose] public def containsElement {κ : Type} [Key κ] (key : κ) : List κ -> Bool - | [] => false - | other :: rest => match Key.compare key other with - | .lt => false - | .eq => true - | .gt => containsElement key rest - -@[expose] public def mapInsert {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) (value : ν) : List (Prod κ ν) := insertEntry key value map -@[expose] public def mapRemove {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : List (Prod κ ν) := removeEntry key map -@[expose] public def mapLookup {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Option ν := lookupEntry key map -@[expose] public def mapContains {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Bool := (lookupEntry key map).isSome -@[expose] public def mapSize {κ ν : Type} (map : List (Prod κ ν)) : Nat := map.length -@[expose] public def mapKeys {κ ν : Type} (map : List (Prod κ ν)) : List κ := map.map Prod.fst -@[expose] public def mapValues {κ ν : Type} (map : List (Prod κ ν)) : List ν := map.map Prod.snd -@[expose] public def mapEntries {κ ν : Type} (map : List (Prod κ ν)) : List (Prod κ ν) := map -@[expose] public def mapFold {κ ν β : Type} (step : β -> κ -> ν -> β) (initial : β) (map : List (Prod κ ν)) : β := - map.foldl (fun state entry => step state entry.1 entry.2) initial - -@[expose] public def setInsert {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := insertElement key set -@[expose] public def setRemove {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := removeElement key set -@[expose] public def setContains {κ : Type} [Key κ] (set : List κ) (key : κ) : Bool := containsElement key set -@[expose] public def setSize {κ : Type} (set : List κ) : Nat := set.length -@[expose] public def setElements {κ : Type} (set : List κ) : List κ := set -@[expose] public def setUnion {κ : Type} [Key κ] (left right : List κ) : List κ := right.foldl (fun acc key => insertElement key acc) left -@[expose] public def setIntersection {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => containsElement key right) -@[expose] public def setDifference {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => !containsElement key right) - -@[expose] public def graphSuccessors {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (node : κ) : List κ := - (lookupEntry node graph).getD [] - -@[expose] public def graphNodes {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : List κ := - graph.foldl (fun acc entry => entry.2.foldl (fun inner node => insertElement node inner) (insertElement entry.1 acc)) [] - -@[expose] public def reachableFrom {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> List κ - | 0, _, seen => seen - | Nat.succ fuel, frontier, seen => - let next := frontier.foldl (fun acc node => - (graphSuccessors graph node).foldl (fun acc2 succ => - if containsElement succ seen || containsElement succ acc2 then acc2 else insertElement succ acc2) acc) [] - match next with - | [] => seen - | _ => reachableFrom graph fuel next (next.foldl (fun acc key => insertElement key acc) seen) - -@[expose] public def graphReachable {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (start : κ) : List κ := - reachableFrom graph ((graphNodes graph).length + 1) [start] [start] - -@[expose] public def topological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> Option (List κ) - | 0, remaining, order => if remaining.isEmpty then some order.reverse else none - | Nat.succ fuel, remaining, order => - match remaining.filter (fun node => remaining.all (fun other => !containsElement node (graphSuccessors graph other))) with - | [] => if remaining.isEmpty then some order.reverse else none - | ready :: _ => topological graph fuel (removeElement ready remaining) (ready :: order) - -@[expose] public def graphTopological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Option (List κ) := - let nodes := graphNodes graph - topological graph (nodes.length + 1) nodes [] -@[expose] public def listFold {α σ : Type} (step : σ -> α -> σ) (initial : σ) (values : List α) : σ := - values.foldl step initial - -@[expose] public def setFold {κ σ : Type} (step : σ -> κ -> σ) (initial : σ) (set : List κ) : σ := - set.foldl step initial - -@[expose] public def iterate {σ : Type} (step : σ -> σ) : Nat -> σ -> σ - | 0, state => state - | Nat.succ count, state => iterate step count (step state) - -@[expose] public def iterateUntil {σ : Type} (step : σ -> Option σ) : Nat -> σ -> Prod σ Bool - | 0, state => (state, false) - | Nat.succ fuel, state => match step state with - | none => (state, true) - | some next => iterateUntil step fuel next - -@[expose] public def lessThan {κ : Type} [Key κ] (left right : κ) : Bool := - match Key.compare left right with - | .lt => true - | _ => false -end LexLeanCollections - public inductive Grove where | node (_ : List (Nat)) (_ : List (Grove)) (_ : List (Prod (String) (Int))) (_ : Option (Grove)) (_ : List ((Prod (Nat) (Grove)))) | leaf (_ : List (Prod (Nat) (Int))) diff --git a/examples/production-coverage/expected/build/modules/Coverage/Colls.lean b/examples/production-coverage/expected/build/modules/Coverage/Colls.lean index b6b19843d..d309d99ef 100644 --- a/examples/production-coverage/expected/build/modules/Coverage/Colls.lean +++ b/examples/production-coverage/expected/build/modules/Coverage/Colls.lean @@ -1,438 +1,13 @@ module public import Init +public import LexLeanRuntime.Portable +public import LexLeanRuntime.Collections set_option autoImplicit false set_option maxRecDepth 100000 set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace Coverage.Colls -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - -namespace LexLeanCollections - -public class Key (α : Type) where - compare : α -> α -> Ordering - -@[expose] public def compareCodes : List Char -> List Char -> Ordering - | [], [] => .eq - | [], _ :: _ => .lt - | _ :: _, [] => .gt - | left :: lefts, right :: rights => - match Ord.compare left.val.toNat right.val.toNat with - | .eq => compareCodes lefts rights - | other => other - -public instance : Key Nat where compare := Ord.compare -public instance : Key Int where compare := Ord.compare -public instance : Key Bool where compare := Ord.compare -public instance : Key Int8 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int16 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int32 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int64 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key UInt8 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt16 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt32 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt64 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key String where compare left right := compareCodes left.toList right.toList -public instance {α β : Type} [Key α] [Key β] : Key (Prod α β) where - compare left right := match Key.compare left.1 right.1 with - | .eq => Key.compare left.2 right.2 - | other => other - -@[expose] public def insertEntry {κ ν : Type} [Key κ] (key : κ) (value : ν) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [(key, value)] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (key, value) :: (other, stored) :: rest - | .eq => (key, value) :: rest - | .gt => (other, stored) :: insertEntry key value rest - -@[expose] public def removeEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (other, stored) :: rest - | .eq => rest - | .gt => (other, stored) :: removeEntry key rest - -@[expose] public def lookupEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> Option ν - | [] => none - | (other, stored) :: rest => match Key.compare key other with - | .lt => none - | .eq => some stored - | .gt => lookupEntry key rest - -@[expose] public def insertElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [key] - | other :: rest => match Key.compare key other with - | .lt => key :: other :: rest - | .eq => other :: rest - | .gt => other :: insertElement key rest - -@[expose] public def removeElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [] - | other :: rest => match Key.compare key other with - | .lt => other :: rest - | .eq => rest - | .gt => other :: removeElement key rest - -@[expose] public def containsElement {κ : Type} [Key κ] (key : κ) : List κ -> Bool - | [] => false - | other :: rest => match Key.compare key other with - | .lt => false - | .eq => true - | .gt => containsElement key rest - -@[expose] public def mapInsert {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) (value : ν) : List (Prod κ ν) := insertEntry key value map -@[expose] public def mapRemove {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : List (Prod κ ν) := removeEntry key map -@[expose] public def mapLookup {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Option ν := lookupEntry key map -@[expose] public def mapContains {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Bool := (lookupEntry key map).isSome -@[expose] public def mapSize {κ ν : Type} (map : List (Prod κ ν)) : Nat := map.length -@[expose] public def mapKeys {κ ν : Type} (map : List (Prod κ ν)) : List κ := map.map Prod.fst -@[expose] public def mapValues {κ ν : Type} (map : List (Prod κ ν)) : List ν := map.map Prod.snd -@[expose] public def mapEntries {κ ν : Type} (map : List (Prod κ ν)) : List (Prod κ ν) := map -@[expose] public def mapFold {κ ν β : Type} (step : β -> κ -> ν -> β) (initial : β) (map : List (Prod κ ν)) : β := - map.foldl (fun state entry => step state entry.1 entry.2) initial - -@[expose] public def setInsert {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := insertElement key set -@[expose] public def setRemove {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := removeElement key set -@[expose] public def setContains {κ : Type} [Key κ] (set : List κ) (key : κ) : Bool := containsElement key set -@[expose] public def setSize {κ : Type} (set : List κ) : Nat := set.length -@[expose] public def setElements {κ : Type} (set : List κ) : List κ := set -@[expose] public def setUnion {κ : Type} [Key κ] (left right : List κ) : List κ := right.foldl (fun acc key => insertElement key acc) left -@[expose] public def setIntersection {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => containsElement key right) -@[expose] public def setDifference {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => !containsElement key right) - -@[expose] public def graphSuccessors {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (node : κ) : List κ := - (lookupEntry node graph).getD [] - -@[expose] public def graphNodes {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : List κ := - graph.foldl (fun acc entry => entry.2.foldl (fun inner node => insertElement node inner) (insertElement entry.1 acc)) [] - -@[expose] public def reachableFrom {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> List κ - | 0, _, seen => seen - | Nat.succ fuel, frontier, seen => - let next := frontier.foldl (fun acc node => - (graphSuccessors graph node).foldl (fun acc2 succ => - if containsElement succ seen || containsElement succ acc2 then acc2 else insertElement succ acc2) acc) [] - match next with - | [] => seen - | _ => reachableFrom graph fuel next (next.foldl (fun acc key => insertElement key acc) seen) - -@[expose] public def graphReachable {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (start : κ) : List κ := - reachableFrom graph ((graphNodes graph).length + 1) [start] [start] - -@[expose] public def topological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> Option (List κ) - | 0, remaining, order => if remaining.isEmpty then some order.reverse else none - | Nat.succ fuel, remaining, order => - match remaining.filter (fun node => remaining.all (fun other => !containsElement node (graphSuccessors graph other))) with - | [] => if remaining.isEmpty then some order.reverse else none - | ready :: _ => topological graph fuel (removeElement ready remaining) (ready :: order) - -@[expose] public def graphTopological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Option (List κ) := - let nodes := graphNodes graph - topological graph (nodes.length + 1) nodes [] -@[expose] public def listFold {α σ : Type} (step : σ -> α -> σ) (initial : σ) (values : List α) : σ := - values.foldl step initial - -@[expose] public def setFold {κ σ : Type} (step : σ -> κ -> σ) (initial : σ) (set : List κ) : σ := - set.foldl step initial - -@[expose] public def iterate {σ : Type} (step : σ -> σ) : Nat -> σ -> σ - | 0, state => state - | Nat.succ count, state => iterate step count (step state) - -@[expose] public def iterateUntil {σ : Type} (step : σ -> Option σ) : Nat -> σ -> Prod σ Bool - | 0, state => (state, false) - | Nat.succ fuel, state => match step state with - | none => (state, true) - | some next => iterateUntil step fuel next - -@[expose] public def lessThan {κ : Type} [Key κ] (left right : κ) : Bool := - match Key.compare left right with - | .lt => true - | _ => false -end LexLeanCollections - @[expose] public def mapOps (m : List (Prod (String) (Nat))) (k : String) (v : Nat) : (Prod (List (Prod (String) (Nat))) ((Prod (List (Prod (String) (Nat))) ((Prod (Option (Nat)) ((Prod (Bool) ((Prod (List (String)) ((Prod (List (Nat)) ((Prod (Nat) (List ((Prod (String) (Nat))))))))))))))))) := ((LexLeanCollections.mapInsert (m) (k) (v) : List (Prod (String) (Nat))), ((LexLeanCollections.mapRemove (m) (k) : List (Prod (String) (Nat))), ((LexLeanCollections.mapLookup (m) (k) : Option (Nat)), ((LexLeanCollections.mapContains (m) (k) : Bool), ((LexLeanCollections.mapKeys (m) : List (String)), ((LexLeanCollections.mapValues (m) : List (Nat)), ((LexLeanCollections.mapSize (m) : Nat), (LexLeanCollections.mapEntries (m) : List ((Prod (String) (Nat))))))))))) @[expose] public def mapFolding (m : List (Prod (Nat) (Nat))) (bonus : Nat) : Nat := (LexLeanCollections.mapFold ((fun (acc : Nat) (key : Nat) (value : Nat) => ((acc + key) + (value + bonus)))) (0) (m) : Nat) diff --git a/examples/production-coverage/expected/build/modules/Coverage/Main.lean b/examples/production-coverage/expected/build/modules/Coverage/Main.lean index b7e19ec5a..4e9efaa7c 100644 --- a/examples/production-coverage/expected/build/modules/Coverage/Main.lean +++ b/examples/production-coverage/expected/build/modules/Coverage/Main.lean @@ -1,5 +1,6 @@ module public import Init +public import LexLeanRuntime.Portable public import Coverage.Types set_option autoImplicit false set_option maxRecDepth 100000 @@ -7,289 +8,6 @@ set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace Coverage.Main -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - @[expose] public def double (n : Nat) : Nat := (n + n) @[expose] public def natOps (a : Nat) (b : Nat) : Nat := (let q : Nat := (LexLeanRuntime.quotient (a) (b) (7) : Nat); (let r : Nat := (LexLeanRuntime.remainder (a) (b) (0) : Nat); (if ((Nat.beq (q) (0)) && ((Nat.ble (r) (3)) || (!(Nat.blt (a) (b))))) then ((LexLeanRuntime.subtract (a) (b) : Nat) + r) else (LexLeanRuntime.multiply (q) (r) : Nat)))) diff --git a/examples/production-coverage/expected/build/modules/Coverage/Prims.lean b/examples/production-coverage/expected/build/modules/Coverage/Prims.lean index a7f433b0c..0997288e7 100644 --- a/examples/production-coverage/expected/build/modules/Coverage/Prims.lean +++ b/examples/production-coverage/expected/build/modules/Coverage/Prims.lean @@ -1,294 +1,12 @@ module public import Init +public import LexLeanRuntime.Portable set_option autoImplicit false set_option maxRecDepth 100000 set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace Coverage.Prims -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - @[expose] public def fixedSmall (a : Int8) (b : Int8) : (Prod (Option (Int8)) ((Prod (Option (Int8)) ((Prod (Option (Int8)) ((Prod (Option (Int8)) (Option (Int8))))))))) := ((LexLeanRuntime.checkedAdd (a) (b) : Option (Int8)), ((LexLeanRuntime.checkedSubtract (a) (b) : Option (Int8)), ((LexLeanRuntime.checkedMultiply (a) (b) : Option (Int8)), ((LexLeanRuntime.checkedQuotient (a) (b) : Option (Int8)), (LexLeanRuntime.checkedNegate (a) : Option (Int8)))))) @[expose] public def fixedMiddle (a : Int16) (b : Int32) : (Prod (Option (Int16)) ((Prod (Option (Int32)) ((Prod (Option (Int32)) (Bool)))))) := ((LexLeanRuntime.checkedMultiply (a) (a) : Option (Int16)), ((LexLeanRuntime.checkedAdd (b) ((-7 : Int32)) : Option (Int32)), ((LexLeanRuntime.checkedConvert (a) : Option (Int32)), (LexLeanRuntime.equal (b) ((3 : Int32)) : Bool)))) diff --git a/examples/production-coverage/expected/build/modules/Coverage/Recur.lean b/examples/production-coverage/expected/build/modules/Coverage/Recur.lean index c302d2b5a..10789cbad 100644 --- a/examples/production-coverage/expected/build/modules/Coverage/Recur.lean +++ b/examples/production-coverage/expected/build/modules/Coverage/Recur.lean @@ -1,5 +1,6 @@ module public import Init +public import LexLeanRuntime.Portable public import Coverage.Syntax set_option autoImplicit false set_option maxRecDepth 100000 @@ -7,289 +8,6 @@ set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace Coverage.Recur -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - mutual @[expose] public def roseSize (Item : Type) : (rose : Coverage.Syntax.Rose (Item)) -> Nat | Coverage.Syntax.Rose.node _ children => (1 + forestSize (Item) (children)) diff --git a/examples/production-coverage/expected/build/modules/Coverage/Types.lean b/examples/production-coverage/expected/build/modules/Coverage/Types.lean index b14823bcc..3628f1e6c 100644 --- a/examples/production-coverage/expected/build/modules/Coverage/Types.lean +++ b/examples/production-coverage/expected/build/modules/Coverage/Types.lean @@ -1,294 +1,12 @@ module public import Init +public import LexLeanRuntime.Portable set_option autoImplicit false set_option maxRecDepth 100000 set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace Coverage.Types -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - public inductive Shape where | circle (_ : Nat) | rect (_ : Nat) (_ : Nat) diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Boundary.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Boundary.process.json deleted file mode 100644 index 18ba8391a..000000000 --- a/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Boundary.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Boundary.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Boundary","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Coverage.Boundary.Grove' does not depend on any axioms\n'Coverage.Boundary.Ledger' does not depend on any axioms\n'Coverage.Boundary.groveRoot' does not depend on any axioms\n'Coverage.Boundary.groveTags' does not depend on any axioms\n","stdout_sha256":"7ac4178ad6274022ed3970af26a3d40102c2d98c5667fc6435212b6084c7bf9b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Colls.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Colls.process.json deleted file mode 100644 index 3caccbcfe..000000000 --- a/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Colls.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Colls.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Colls","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Coverage.Colls.folds' does not depend on any axioms\n'Coverage.Colls.graphs' depends on axioms: [propext]\n'Coverage.Colls.iterations' does not depend on any axioms\n'Coverage.Colls.keyTypes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Coverage.Colls.literals' does not depend on any axioms\n'Coverage.Colls.mapFolding' does not depend on any axioms\n'Coverage.Colls.mapOps' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Coverage.Colls.setOps' does not depend on any axioms\n'Coverage.Colls.stringGraph' depends on axioms: [propext, Classical.choice, Quot.sound]\n","stdout_sha256":"22e38c4026fd96a709d4105d50e6ac65f48242f5e698c1649f8970ca291870cf","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Main.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Main.process.json deleted file mode 100644 index 28201adb1..000000000 --- a/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Main.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Main","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Coverage.Main.builders' does not depend on any axioms\n'Coverage.Main.double' does not depend on any axioms\n'Coverage.Main.higher' does not depend on any axioms\n'Coverage.Main.intOps' does not depend on any axioms\n'Coverage.Main.mapped' does not depend on any axioms\n'Coverage.Main.natOps' does not depend on any axioms\n'Coverage.Main.options' does not depend on any axioms\n'Coverage.Main.pairs' does not depend on any axioms\n'Coverage.Main.parity' does not depend on any axioms\n'Coverage.Main.records' does not depend on any axioms\n'Coverage.Main.shapes' does not depend on any axioms\n'Coverage.Main.treeTotal' does not depend on any axioms\n","stdout_sha256":"32540c1f973605f1e559888bfb26220c9d29afc1895ab69b12151845ab1ab3d4","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Prims.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Prims.process.json deleted file mode 100644 index 2e14c424a..000000000 --- a/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Prims.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Prims.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Prims","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Coverage.Prims.bits' depends on axioms: [propext, Quot.sound]\n'Coverage.Prims.conversions' depends on axioms: [propext, Quot.sound]\n'Coverage.Prims.decimals' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Coverage.Prims.fixedMiddle' depends on axioms: [propext, Quot.sound]\n'Coverage.Prims.fixedSmall' depends on axioms: [propext, Quot.sound]\n'Coverage.Prims.fixedWide' depends on axioms: [propext, Quot.sound]\n'Coverage.Prims.formats' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Coverage.Prims.sequences' does not depend on any axioms\n'Coverage.Prims.text' depends on axioms: [propext, Classical.choice, Quot.sound]\n","stdout_sha256":"5a91887912fd442dec7b31dc407e6d1b41e6daeae41243ead1c4fabccc1055ff","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.RecRoots.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.RecRoots.process.json deleted file mode 100644 index c9fe42258..000000000 --- a/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.RecRoots.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.RecRoots.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.RecRoots","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Coverage.RecRoots.rewrite' depends on axioms: [propext, Quot.sound]\n'Coverage.RecRoots.roseTotal' does not depend on any axioms\n'Coverage.RecRoots.syntaxTotal' does not depend on any axioms\n'Coverage.RecRoots.wellFounded' depends on axioms: [propext, Quot.sound]\n","stdout_sha256":"65dea254f3d66b71c29827ea8c418df77244a2d6c6272406aa0c3aecdba32862","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Recur.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Recur.process.json deleted file mode 100644 index deb63e374..000000000 --- a/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Recur.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Recur.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Recur","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Coverage.Recur.countdown' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.countdown_decreases' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.exprSize' does not depend on any axioms\n'Coverage.Recur.foldExpr' does not depend on any axioms\n'Coverage.Recur.foldStatement' does not depend on any axioms\n'Coverage.Recur.foldStatements' does not depend on any axioms\n'Coverage.Recur.forestSize' does not depend on any axioms\n'Coverage.Recur.isEven' does not depend on any axioms\n'Coverage.Recur.isOdd' does not depend on any axioms\n'Coverage.Recur.ping' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.ping_seven' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.ping_to_pong' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.pong' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.pong_to_ping' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.prune' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.prune_plus' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.reassociate' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.reassociate_literal' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.reassociate_plus' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.reduce' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.reduce_decreases' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.roseSize' does not depend on any axioms\n'Coverage.Recur.search' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.search_decreases' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.statementSize' does not depend on any axioms\n'Coverage.Recur.statementsSize' does not depend on any axioms\n'Coverage.Recur.weight' does not depend on any axioms\n","stdout_sha256":"d5be281da5138fa83388f122cca51fad6e839a61dd0f280ff086a543e047bc81","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Syntax.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Syntax.process.json deleted file mode 100644 index 57e08a339..000000000 --- a/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Syntax.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Syntax.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Syntax","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Coverage.Syntax.Expr' does not depend on any axioms\n'Coverage.Syntax.Rose' does not depend on any axioms\n'Coverage.Syntax.Stmt' does not depend on any axioms\n'Coverage.Syntax.Term' does not depend on any axioms\n","stdout_sha256":"4b09296d7c1adfa883818c08a94022f67e3f873a80f2993277495aa5006c6a85","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Types.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Types.process.json deleted file mode 100644 index 843919189..000000000 --- a/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Types.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Types.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Types","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Coverage.Types.Box' does not depend on any axioms\n'Coverage.Types.Point' does not depend on any axioms\n'Coverage.Types.Shape' does not depend on any axioms\n'Coverage.Types.Tree' does not depend on any axioms\n'Coverage.Types.Weights' does not depend on any axioms\n'Coverage.Types.area' does not depend on any axioms\n'Coverage.Types.defaultWeights' does not depend on any axioms\n'Coverage.Types.isEven' does not depend on any axioms\n'Coverage.Types.isOdd' does not depend on any axioms\n'Coverage.Types.mapList' does not depend on any axioms\n'Coverage.Types.treeSum' does not depend on any axioms\n'Coverage.Types.twice' does not depend on any axioms\n'Coverage.Types.unbox' does not depend on any axioms\n","stdout_sha256":"7d45397351748355105332e8e732d26bd2b66ae398e097665e739867e574b3f7","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Boundary.lean b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Boundary.lean similarity index 100% rename from examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Boundary.lean rename to examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Boundary.lean diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Boundary.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Boundary.process.json new file mode 100644 index 000000000..10c1bed7a --- /dev/null +++ b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Boundary.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Boundary.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Boundary","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Coverage.Boundary.Grove' does not depend on any axioms\n'Coverage.Boundary.Ledger' does not depend on any axioms\n'Coverage.Boundary.groveRoot' does not depend on any axioms\n'Coverage.Boundary.groveTags' does not depend on any axioms\n","stdout_sha256":"7ac4178ad6274022ed3970af26a3d40102c2d98c5667fc6435212b6084c7bf9b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Colls.lean b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Colls.lean similarity index 100% rename from examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Colls.lean rename to examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Colls.lean diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Colls.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Colls.process.json new file mode 100644 index 000000000..32b9b4636 --- /dev/null +++ b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Colls.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Colls.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Colls","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Coverage.Colls.folds' does not depend on any axioms\n'Coverage.Colls.graphs' depends on axioms: [propext]\n'Coverage.Colls.iterations' does not depend on any axioms\n'Coverage.Colls.keyTypes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Coverage.Colls.literals' does not depend on any axioms\n'Coverage.Colls.mapFolding' does not depend on any axioms\n'Coverage.Colls.mapOps' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Coverage.Colls.setOps' does not depend on any axioms\n'Coverage.Colls.stringGraph' depends on axioms: [propext, Classical.choice, Quot.sound]\n","stdout_sha256":"22e38c4026fd96a709d4105d50e6ac65f48242f5e698c1649f8970ca291870cf","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Main.lean b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Main.lean similarity index 100% rename from examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Main.lean rename to examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Main.lean diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Main.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Main.process.json new file mode 100644 index 000000000..1767e8fb3 --- /dev/null +++ b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Main.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Main","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Coverage.Main.builders' does not depend on any axioms\n'Coverage.Main.double' does not depend on any axioms\n'Coverage.Main.higher' does not depend on any axioms\n'Coverage.Main.intOps' does not depend on any axioms\n'Coverage.Main.mapped' does not depend on any axioms\n'Coverage.Main.natOps' does not depend on any axioms\n'Coverage.Main.options' does not depend on any axioms\n'Coverage.Main.pairs' does not depend on any axioms\n'Coverage.Main.parity' does not depend on any axioms\n'Coverage.Main.records' does not depend on any axioms\n'Coverage.Main.shapes' does not depend on any axioms\n'Coverage.Main.treeTotal' does not depend on any axioms\n","stdout_sha256":"32540c1f973605f1e559888bfb26220c9d29afc1895ab69b12151845ab1ab3d4","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Prims.lean b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Prims.lean similarity index 100% rename from examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Prims.lean rename to examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Prims.lean diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Prims.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Prims.process.json new file mode 100644 index 000000000..8db7b5934 --- /dev/null +++ b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Prims.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Prims.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Prims","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Coverage.Prims.bits' depends on axioms: [propext, Quot.sound]\n'Coverage.Prims.conversions' depends on axioms: [propext, Quot.sound]\n'Coverage.Prims.decimals' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Coverage.Prims.fixedMiddle' depends on axioms: [propext, Quot.sound]\n'Coverage.Prims.fixedSmall' depends on axioms: [propext, Quot.sound]\n'Coverage.Prims.fixedWide' depends on axioms: [propext, Quot.sound]\n'Coverage.Prims.formats' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Coverage.Prims.sequences' does not depend on any axioms\n'Coverage.Prims.text' depends on axioms: [propext, Classical.choice, Quot.sound]\n","stdout_sha256":"5a91887912fd442dec7b31dc407e6d1b41e6daeae41243ead1c4fabccc1055ff","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.RecRoots.lean b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.RecRoots.lean similarity index 100% rename from examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.RecRoots.lean rename to examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.RecRoots.lean diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.RecRoots.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.RecRoots.process.json new file mode 100644 index 000000000..3501dbd3b --- /dev/null +++ b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.RecRoots.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.RecRoots.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.RecRoots","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Coverage.RecRoots.rewrite' depends on axioms: [propext, Quot.sound]\n'Coverage.RecRoots.roseTotal' does not depend on any axioms\n'Coverage.RecRoots.syntaxTotal' does not depend on any axioms\n'Coverage.RecRoots.wellFounded' depends on axioms: [propext, Quot.sound]\n","stdout_sha256":"65dea254f3d66b71c29827ea8c418df77244a2d6c6272406aa0c3aecdba32862","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Recur.lean b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Recur.lean similarity index 100% rename from examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Recur.lean rename to examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Recur.lean diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Recur.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Recur.process.json new file mode 100644 index 000000000..a20385181 --- /dev/null +++ b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Recur.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Recur.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Recur","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Coverage.Recur.countdown' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.countdown_decreases' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.exprSize' does not depend on any axioms\n'Coverage.Recur.foldExpr' does not depend on any axioms\n'Coverage.Recur.foldStatement' does not depend on any axioms\n'Coverage.Recur.foldStatements' does not depend on any axioms\n'Coverage.Recur.forestSize' does not depend on any axioms\n'Coverage.Recur.isEven' does not depend on any axioms\n'Coverage.Recur.isOdd' does not depend on any axioms\n'Coverage.Recur.ping' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.ping_seven' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.ping_to_pong' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.pong' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.pong_to_ping' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.prune' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.prune_plus' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.reassociate' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.reassociate_literal' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.reassociate_plus' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.reduce' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.reduce_decreases' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.roseSize' does not depend on any axioms\n'Coverage.Recur.search' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.search_decreases' depends on axioms: [propext, Quot.sound]\n'Coverage.Recur.statementSize' does not depend on any axioms\n'Coverage.Recur.statementsSize' does not depend on any axioms\n'Coverage.Recur.weight' does not depend on any axioms\n","stdout_sha256":"d5be281da5138fa83388f122cca51fad6e839a61dd0f280ff086a543e047bc81","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Syntax.lean b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Syntax.lean similarity index 100% rename from examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Syntax.lean rename to examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Syntax.lean diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Syntax.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Syntax.process.json new file mode 100644 index 000000000..5742844f8 --- /dev/null +++ b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Syntax.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Syntax.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Syntax","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Coverage.Syntax.Expr' does not depend on any axioms\n'Coverage.Syntax.Rose' does not depend on any axioms\n'Coverage.Syntax.Stmt' does not depend on any axioms\n'Coverage.Syntax.Term' does not depend on any axioms\n","stdout_sha256":"4b09296d7c1adfa883818c08a94022f67e3f873a80f2993277495aa5006c6a85","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Types.lean b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Types.lean similarity index 100% rename from examples/production-coverage/expected/verify/audit/LexLeanAudit.A6cddd56cf041af764eeefdf9e95c897e.Coverage.Types.lean rename to examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Types.lean diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Types.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Types.process.json new file mode 100644 index 000000000..d461a2790 --- /dev/null +++ b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Types.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Types.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.Coverage.Types","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Coverage.Types.Box' does not depend on any axioms\n'Coverage.Types.Point' does not depend on any axioms\n'Coverage.Types.Shape' does not depend on any axioms\n'Coverage.Types.Tree' does not depend on any axioms\n'Coverage.Types.Weights' does not depend on any axioms\n'Coverage.Types.area' does not depend on any axioms\n'Coverage.Types.defaultWeights' does not depend on any axioms\n'Coverage.Types.isEven' does not depend on any axioms\n'Coverage.Types.isOdd' does not depend on any axioms\n'Coverage.Types.mapList' does not depend on any axioms\n'Coverage.Types.treeSum' does not depend on any axioms\n'Coverage.Types.twice' does not depend on any axioms\n'Coverage.Types.unbox' does not depend on any axioms\n","stdout_sha256":"7d45397351748355105332e8e732d26bd2b66ae398e097665e739867e574b3f7","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.LexLeanRuntime.Collections.lean b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.LexLeanRuntime.Collections.lean new file mode 100644 index 000000000..ae0a21413 --- /dev/null +++ b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.LexLeanRuntime.Collections.lean @@ -0,0 +1,105 @@ +module +import LexLeanRuntime.Collections +#print axioms LexLeanCollections.Key +#print axioms LexLeanCollections.Key.casesOn +#print axioms LexLeanCollections.Key.compare +#print axioms LexLeanCollections.Key.ctorIdx +#print axioms LexLeanCollections.Key.mk._flat_ctor +#print axioms LexLeanCollections.Key.mk.noConfusion +#print axioms LexLeanCollections.Key.noConfusion +#print axioms LexLeanCollections.Key.noConfusionType +#print axioms LexLeanCollections.Key.recOn +#print axioms LexLeanCollections.compareCodes +#print axioms LexLeanCollections.compareCodes._f +#print axioms LexLeanCollections.compareCodes._sparseCasesOn_1 +#print axioms LexLeanCollections.compareCodes._sunfold +#print axioms LexLeanCollections.compareCodes._unsafe_rec +#print axioms LexLeanCollections.compareCodes.match_1 +#print axioms LexLeanCollections.compareCodes.match_4 +#print axioms LexLeanCollections.containsElement +#print axioms LexLeanCollections.containsElement._f +#print axioms LexLeanCollections.containsElement._sunfold +#print axioms LexLeanCollections.containsElement._unsafe_rec +#print axioms LexLeanCollections.graphNodes +#print axioms LexLeanCollections.graphReachable +#print axioms LexLeanCollections.graphSuccessors +#print axioms LexLeanCollections.graphTopological +#print axioms LexLeanCollections.insertElement +#print axioms LexLeanCollections.insertElement._f +#print axioms LexLeanCollections.insertElement._sunfold +#print axioms LexLeanCollections.insertElement._unsafe_rec +#print axioms LexLeanCollections.insertElement.match_1 +#print axioms LexLeanCollections.insertEntry +#print axioms LexLeanCollections.insertEntry._f +#print axioms LexLeanCollections.insertEntry._sunfold +#print axioms LexLeanCollections.insertEntry._unsafe_rec +#print axioms LexLeanCollections.insertEntry.match_1 +#print axioms LexLeanCollections.insertEntry.match_3 +#print axioms LexLeanCollections.instKeyBool +#print axioms LexLeanCollections.instKeyInt +#print axioms LexLeanCollections.instKeyInt16 +#print axioms LexLeanCollections.instKeyInt32 +#print axioms LexLeanCollections.instKeyInt64 +#print axioms LexLeanCollections.instKeyInt8 +#print axioms LexLeanCollections.instKeyNat +#print axioms LexLeanCollections.instKeyProd +#print axioms LexLeanCollections.instKeyString +#print axioms LexLeanCollections.instKeyUInt16 +#print axioms LexLeanCollections.instKeyUInt32 +#print axioms LexLeanCollections.instKeyUInt64 +#print axioms LexLeanCollections.instKeyUInt8 +#print axioms LexLeanCollections.iterate +#print axioms LexLeanCollections.iterate._f +#print axioms LexLeanCollections.iterate._sunfold +#print axioms LexLeanCollections.iterate._unsafe_rec +#print axioms LexLeanCollections.iterate.match_1 +#print axioms LexLeanCollections.iterateUntil +#print axioms LexLeanCollections.iterateUntil._f +#print axioms LexLeanCollections.iterateUntil._sunfold +#print axioms LexLeanCollections.iterateUntil._unsafe_rec +#print axioms LexLeanCollections.iterateUntil.match_1 +#print axioms LexLeanCollections.lessThan +#print axioms LexLeanCollections.lessThan._sparseCasesOn_1 +#print axioms LexLeanCollections.lessThan.match_1 +#print axioms LexLeanCollections.listFold +#print axioms LexLeanCollections.lookupEntry +#print axioms LexLeanCollections.lookupEntry._f +#print axioms LexLeanCollections.lookupEntry._sunfold +#print axioms LexLeanCollections.lookupEntry._unsafe_rec +#print axioms LexLeanCollections.mapContains +#print axioms LexLeanCollections.mapEntries +#print axioms LexLeanCollections.mapFold +#print axioms LexLeanCollections.mapInsert +#print axioms LexLeanCollections.mapKeys +#print axioms LexLeanCollections.mapLookup +#print axioms LexLeanCollections.mapRemove +#print axioms LexLeanCollections.mapSize +#print axioms LexLeanCollections.mapValues +#print axioms LexLeanCollections.reachableFrom +#print axioms LexLeanCollections.reachableFrom._f +#print axioms LexLeanCollections.reachableFrom._sparseCasesOn_1 +#print axioms LexLeanCollections.reachableFrom._sunfold +#print axioms LexLeanCollections.reachableFrom._unsafe_rec +#print axioms LexLeanCollections.reachableFrom.match_1 +#print axioms LexLeanCollections.reachableFrom.match_4 +#print axioms LexLeanCollections.removeElement +#print axioms LexLeanCollections.removeElement._f +#print axioms LexLeanCollections.removeElement._sunfold +#print axioms LexLeanCollections.removeElement._unsafe_rec +#print axioms LexLeanCollections.removeEntry +#print axioms LexLeanCollections.removeEntry._f +#print axioms LexLeanCollections.removeEntry._sunfold +#print axioms LexLeanCollections.removeEntry._unsafe_rec +#print axioms LexLeanCollections.setContains +#print axioms LexLeanCollections.setDifference +#print axioms LexLeanCollections.setElements +#print axioms LexLeanCollections.setFold +#print axioms LexLeanCollections.setInsert +#print axioms LexLeanCollections.setIntersection +#print axioms LexLeanCollections.setRemove +#print axioms LexLeanCollections.setSize +#print axioms LexLeanCollections.setUnion +#print axioms LexLeanCollections.topological +#print axioms LexLeanCollections.topological._f +#print axioms LexLeanCollections.topological._sunfold +#print axioms LexLeanCollections.topological._unsafe_rec diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.LexLeanRuntime.Collections.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.LexLeanRuntime.Collections.process.json new file mode 100644 index 000000000..0b3570d48 --- /dev/null +++ b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.LexLeanRuntime.Collections.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.LexLeanRuntime.Collections.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.LexLeanRuntime.Collections","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanCollections.Key' does not depend on any axioms\n'LexLeanCollections.Key.casesOn' does not depend on any axioms\n'LexLeanCollections.Key.compare' does not depend on any axioms\n'LexLeanCollections.Key.ctorIdx' does not depend on any axioms\n'LexLeanCollections.Key.mk._flat_ctor' does not depend on any axioms\n'LexLeanCollections.Key.mk.noConfusion' does not depend on any axioms\n'LexLeanCollections.Key.noConfusion' does not depend on any axioms\n'LexLeanCollections.Key.noConfusionType' does not depend on any axioms\n'LexLeanCollections.Key.recOn' does not depend on any axioms\n'LexLeanCollections.compareCodes' depends on axioms: [propext]\n'LexLeanCollections.compareCodes._f' depends on axioms: [propext]\n'LexLeanCollections.compareCodes._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanCollections.compareCodes._sunfold' depends on axioms: [propext]\n'LexLeanCollections.compareCodes._unsafe_rec' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.match_1' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.match_4' does not depend on any axioms\n'LexLeanCollections.containsElement' does not depend on any axioms\n'LexLeanCollections.containsElement._f' does not depend on any axioms\n'LexLeanCollections.containsElement._sunfold' does not depend on any axioms\n'LexLeanCollections.containsElement._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.graphNodes' does not depend on any axioms\n'LexLeanCollections.graphReachable' depends on axioms: [propext]\n'LexLeanCollections.graphSuccessors' does not depend on any axioms\n'LexLeanCollections.graphTopological' does not depend on any axioms\n'LexLeanCollections.insertElement' does not depend on any axioms\n'LexLeanCollections.insertElement._f' does not depend on any axioms\n'LexLeanCollections.insertElement._sunfold' does not depend on any axioms\n'LexLeanCollections.insertElement._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.insertElement.match_1' does not depend on any axioms\n'LexLeanCollections.insertEntry' does not depend on any axioms\n'LexLeanCollections.insertEntry._f' does not depend on any axioms\n'LexLeanCollections.insertEntry._sunfold' does not depend on any axioms\n'LexLeanCollections.insertEntry._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.insertEntry.match_1' does not depend on any axioms\n'LexLeanCollections.insertEntry.match_3' does not depend on any axioms\n'LexLeanCollections.instKeyBool' depends on axioms: [propext]\n'LexLeanCollections.instKeyInt' does not depend on any axioms\n'LexLeanCollections.instKeyInt16' does not depend on any axioms\n'LexLeanCollections.instKeyInt32' does not depend on any axioms\n'LexLeanCollections.instKeyInt64' does not depend on any axioms\n'LexLeanCollections.instKeyInt8' does not depend on any axioms\n'LexLeanCollections.instKeyNat' does not depend on any axioms\n'LexLeanCollections.instKeyProd' depends on axioms: [propext]\n'LexLeanCollections.instKeyString' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanCollections.instKeyUInt16' does not depend on any axioms\n'LexLeanCollections.instKeyUInt32' does not depend on any axioms\n'LexLeanCollections.instKeyUInt64' does not depend on any axioms\n'LexLeanCollections.instKeyUInt8' does not depend on any axioms\n'LexLeanCollections.iterate' does not depend on any axioms\n'LexLeanCollections.iterate._f' does not depend on any axioms\n'LexLeanCollections.iterate._sunfold' does not depend on any axioms\n'LexLeanCollections.iterate._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.iterate.match_1' does not depend on any axioms\n'LexLeanCollections.iterateUntil' does not depend on any axioms\n'LexLeanCollections.iterateUntil._f' does not depend on any axioms\n'LexLeanCollections.iterateUntil._sunfold' does not depend on any axioms\n'LexLeanCollections.iterateUntil._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.iterateUntil.match_1' does not depend on any axioms\n'LexLeanCollections.lessThan' depends on axioms: [propext]\n'LexLeanCollections.lessThan._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanCollections.lessThan.match_1' depends on axioms: [propext]\n'LexLeanCollections.listFold' does not depend on any axioms\n'LexLeanCollections.lookupEntry' does not depend on any axioms\n'LexLeanCollections.lookupEntry._f' does not depend on any axioms\n'LexLeanCollections.lookupEntry._sunfold' does not depend on any axioms\n'LexLeanCollections.lookupEntry._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.mapContains' does not depend on any axioms\n'LexLeanCollections.mapEntries' does not depend on any axioms\n'LexLeanCollections.mapFold' does not depend on any axioms\n'LexLeanCollections.mapInsert' does not depend on any axioms\n'LexLeanCollections.mapKeys' does not depend on any axioms\n'LexLeanCollections.mapLookup' does not depend on any axioms\n'LexLeanCollections.mapRemove' does not depend on any axioms\n'LexLeanCollections.mapSize' does not depend on any axioms\n'LexLeanCollections.mapValues' does not depend on any axioms\n'LexLeanCollections.reachableFrom' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom._f' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom._sunfold' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom._unsafe_rec' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom.match_1' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom.match_4' does not depend on any axioms\n'LexLeanCollections.removeElement' does not depend on any axioms\n'LexLeanCollections.removeElement._f' does not depend on any axioms\n'LexLeanCollections.removeElement._sunfold' does not depend on any axioms\n'LexLeanCollections.removeElement._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.removeEntry' does not depend on any axioms\n'LexLeanCollections.removeEntry._f' does not depend on any axioms\n'LexLeanCollections.removeEntry._sunfold' does not depend on any axioms\n'LexLeanCollections.removeEntry._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.setContains' does not depend on any axioms\n'LexLeanCollections.setDifference' does not depend on any axioms\n'LexLeanCollections.setElements' does not depend on any axioms\n'LexLeanCollections.setFold' does not depend on any axioms\n'LexLeanCollections.setInsert' does not depend on any axioms\n'LexLeanCollections.setIntersection' does not depend on any axioms\n'LexLeanCollections.setRemove' does not depend on any axioms\n'LexLeanCollections.setSize' does not depend on any axioms\n'LexLeanCollections.setUnion' does not depend on any axioms\n'LexLeanCollections.topological' does not depend on any axioms\n'LexLeanCollections.topological._f' does not depend on any axioms\n'LexLeanCollections.topological._sunfold' does not depend on any axioms\n'LexLeanCollections.topological._unsafe_rec' does not depend on any axioms\n","stdout_sha256":"b75acc0e99e23684c3cc876eacbfc93f47161cfee8a7440df17fa45f321c8c6a","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.LexLeanRuntime.Portable.lean b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.LexLeanRuntime.Portable.lean new file mode 100644 index 000000000..dd62fd557 --- /dev/null +++ b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.LexLeanRuntime.Portable.lean @@ -0,0 +1,162 @@ +module +import LexLeanRuntime.Portable +#print axioms LexLeanRuntime.Appendable +#print axioms LexLeanRuntime.Appendable.append +#print axioms LexLeanRuntime.Appendable.casesOn +#print axioms LexLeanRuntime.Appendable.ctorIdx +#print axioms LexLeanRuntime.Appendable.mk._flat_ctor +#print axioms LexLeanRuntime.Appendable.mk.noConfusion +#print axioms LexLeanRuntime.Appendable.noConfusion +#print axioms LexLeanRuntime.Appendable.noConfusionType +#print axioms LexLeanRuntime.Appendable.recOn +#print axioms LexLeanRuntime.Decimal +#print axioms LexLeanRuntime.Decimal.casesOn +#print axioms LexLeanRuntime.Decimal.ctorIdx +#print axioms LexLeanRuntime.Decimal.format +#print axioms LexLeanRuntime.Decimal.mk._flat_ctor +#print axioms LexLeanRuntime.Decimal.mk.noConfusion +#print axioms LexLeanRuntime.Decimal.noConfusion +#print axioms LexLeanRuntime.Decimal.noConfusionType +#print axioms LexLeanRuntime.Decimal.parse +#print axioms LexLeanRuntime.Decimal.recOn +#print axioms LexLeanRuntime.Fixed +#print axioms LexLeanRuntime.Fixed.bitAnd +#print axioms LexLeanRuntime.Fixed.bitNot +#print axioms LexLeanRuntime.Fixed.bitOr +#print axioms LexLeanRuntime.Fixed.bitXor +#print axioms LexLeanRuntime.Fixed.casesOn +#print axioms LexLeanRuntime.Fixed.ctorIdx +#print axioms LexLeanRuntime.Fixed.fromInt +#print axioms LexLeanRuntime.Fixed.maximum +#print axioms LexLeanRuntime.Fixed.minimum +#print axioms LexLeanRuntime.Fixed.mk._flat_ctor +#print axioms LexLeanRuntime.Fixed.mk.noConfusion +#print axioms LexLeanRuntime.Fixed.noConfusion +#print axioms LexLeanRuntime.Fixed.noConfusionType +#print axioms LexLeanRuntime.Fixed.recOn +#print axioms LexLeanRuntime.Fixed.shiftLeft +#print axioms LexLeanRuntime.Fixed.shiftRight +#print axioms LexLeanRuntime.Fixed.toToMathInt +#print axioms LexLeanRuntime.Indexable +#print axioms LexLeanRuntime.Indexable.casesOn +#print axioms LexLeanRuntime.Indexable.ctorIdx +#print axioms LexLeanRuntime.Indexable.index +#print axioms LexLeanRuntime.Indexable.mk._flat_ctor +#print axioms LexLeanRuntime.Indexable.mk.noConfusion +#print axioms LexLeanRuntime.Indexable.noConfusion +#print axioms LexLeanRuntime.Indexable.noConfusionType +#print axioms LexLeanRuntime.Indexable.recOn +#print axioms LexLeanRuntime.Lengthable +#print axioms LexLeanRuntime.Lengthable.casesOn +#print axioms LexLeanRuntime.Lengthable.ctorIdx +#print axioms LexLeanRuntime.Lengthable.length +#print axioms LexLeanRuntime.Lengthable.mk._flat_ctor +#print axioms LexLeanRuntime.Lengthable.mk.noConfusion +#print axioms LexLeanRuntime.Lengthable.noConfusion +#print axioms LexLeanRuntime.Lengthable.noConfusionType +#print axioms LexLeanRuntime.Lengthable.recOn +#print axioms LexLeanRuntime.Quotient +#print axioms LexLeanRuntime.Quotient.casesOn +#print axioms LexLeanRuntime.Quotient.ctorIdx +#print axioms LexLeanRuntime.Quotient.isZero +#print axioms LexLeanRuntime.Quotient.mk._flat_ctor +#print axioms LexLeanRuntime.Quotient.mk.noConfusion +#print axioms LexLeanRuntime.Quotient.noConfusion +#print axioms LexLeanRuntime.Quotient.noConfusionType +#print axioms LexLeanRuntime.Quotient.quotient +#print axioms LexLeanRuntime.Quotient.recOn +#print axioms LexLeanRuntime.Quotient.remainder +#print axioms LexLeanRuntime.Sliceable +#print axioms LexLeanRuntime.Sliceable.casesOn +#print axioms LexLeanRuntime.Sliceable.ctorIdx +#print axioms LexLeanRuntime.Sliceable.mk._flat_ctor +#print axioms LexLeanRuntime.Sliceable.mk.noConfusion +#print axioms LexLeanRuntime.Sliceable.noConfusion +#print axioms LexLeanRuntime.Sliceable.noConfusionType +#print axioms LexLeanRuntime.Sliceable.recOn +#print axioms LexLeanRuntime.Sliceable.slice +#print axioms LexLeanRuntime.ToMathInt +#print axioms LexLeanRuntime.ToMathInt.casesOn +#print axioms LexLeanRuntime.ToMathInt.ctorIdx +#print axioms LexLeanRuntime.ToMathInt.mk._flat_ctor +#print axioms LexLeanRuntime.ToMathInt.mk.noConfusion +#print axioms LexLeanRuntime.ToMathInt.noConfusion +#print axioms LexLeanRuntime.ToMathInt.noConfusionType +#print axioms LexLeanRuntime.ToMathInt.recOn +#print axioms LexLeanRuntime.ToMathInt.toInt +#print axioms LexLeanRuntime.append +#print axioms LexLeanRuntime.bitAnd +#print axioms LexLeanRuntime.bitNot +#print axioms LexLeanRuntime.bitOr +#print axioms LexLeanRuntime.bitXor +#print axioms LexLeanRuntime.checkedAdd +#print axioms LexLeanRuntime.checkedAddInt64 +#print axioms LexLeanRuntime.checkedConvert +#print axioms LexLeanRuntime.checkedFromInt +#print axioms LexLeanRuntime.checkedMultiply +#print axioms LexLeanRuntime.checkedMultiplyInt64 +#print axioms LexLeanRuntime.checkedMultiplyInt64.match_1 +#print axioms LexLeanRuntime.checkedNegate +#print axioms LexLeanRuntime.checkedNegateInt64 +#print axioms LexLeanRuntime.checkedQuotient +#print axioms LexLeanRuntime.checkedQuotientInt64 +#print axioms LexLeanRuntime.checkedSubtract +#print axioms LexLeanRuntime.checkedSubtractInt64 +#print axioms LexLeanRuntime.compareBytes +#print axioms LexLeanRuntime.divideMagnitudeInt64 +#print axioms LexLeanRuntime.divideMagnitudeInt64._f +#print axioms LexLeanRuntime.divideMagnitudeInt64._sunfold +#print axioms LexLeanRuntime.divideMagnitudeInt64._unsafe_rec +#print axioms LexLeanRuntime.divideMagnitudeInt64.match_1 +#print axioms LexLeanRuntime.equal +#print axioms LexLeanRuntime.formatDecimal +#print axioms LexLeanRuntime.index +#print axioms LexLeanRuntime.instAppendableByteArray +#print axioms LexLeanRuntime.instAppendableList +#print axioms LexLeanRuntime.instDecimalInt +#print axioms LexLeanRuntime.instDecimalInt.match_1 +#print axioms LexLeanRuntime.instDecimalOfFixedOfToString +#print axioms LexLeanRuntime.instFixedInt16 +#print axioms LexLeanRuntime.instFixedInt32 +#print axioms LexLeanRuntime.instFixedInt64 +#print axioms LexLeanRuntime.instFixedInt8 +#print axioms LexLeanRuntime.instFixedUInt16 +#print axioms LexLeanRuntime.instFixedUInt32 +#print axioms LexLeanRuntime.instFixedUInt64 +#print axioms LexLeanRuntime.instFixedUInt8 +#print axioms LexLeanRuntime.instIndexableByteArrayUInt8 +#print axioms LexLeanRuntime.instIndexableList +#print axioms LexLeanRuntime.instLengthableByteArray +#print axioms LexLeanRuntime.instLengthableList +#print axioms LexLeanRuntime.instLengthableString +#print axioms LexLeanRuntime.instQuotientInt +#print axioms LexLeanRuntime.instQuotientNat +#print axioms LexLeanRuntime.instSliceableByteArray +#print axioms LexLeanRuntime.instSliceableList +#print axioms LexLeanRuntime.instToMathIntInt +#print axioms LexLeanRuntime.join +#print axioms LexLeanRuntime.length +#print axioms LexLeanRuntime.listIndex +#print axioms LexLeanRuntime.listIndex._f +#print axioms LexLeanRuntime.listIndex._sunfold +#print axioms LexLeanRuntime.listIndex._unsafe_rec +#print axioms LexLeanRuntime.listIndex.match_1 +#print axioms LexLeanRuntime.magnitudeInt64 +#print axioms LexLeanRuntime.multiply +#print axioms LexLeanRuntime.multiplyMagnitudeInt64 +#print axioms LexLeanRuntime.multiplyMagnitudeInt64._f +#print axioms LexLeanRuntime.multiplyMagnitudeInt64._sunfold +#print axioms LexLeanRuntime.multiplyMagnitudeInt64._unsafe_rec +#print axioms LexLeanRuntime.multiplyMagnitudeInt64.match_1 +#print axioms LexLeanRuntime.negate +#print axioms LexLeanRuntime.parseDecimal +#print axioms LexLeanRuntime.quotient +#print axioms LexLeanRuntime.remainder +#print axioms LexLeanRuntime.shiftLeft +#print axioms LexLeanRuntime.shiftRight +#print axioms LexLeanRuntime.signedMagnitudeInt64 +#print axioms LexLeanRuntime.slice +#print axioms LexLeanRuntime.splitExact +#print axioms LexLeanRuntime.subtract +#print axioms LexLeanRuntime.utf8Decode +#print axioms LexLeanRuntime.utf8Encode diff --git a/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.LexLeanRuntime.Portable.process.json b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.LexLeanRuntime.Portable.process.json new file mode 100644 index 000000000..7c6a312ea --- /dev/null +++ b/examples/production-coverage/expected/verify/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.LexLeanRuntime.Portable.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.LexLeanRuntime.Portable.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Ae371869b9b3ca32388daafe8348a6ca5.LexLeanRuntime.Portable","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanRuntime.Appendable' does not depend on any axioms\n'LexLeanRuntime.Appendable.append' does not depend on any axioms\n'LexLeanRuntime.Appendable.casesOn' does not depend on any axioms\n'LexLeanRuntime.Appendable.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Appendable.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Appendable.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Appendable.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Appendable.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Appendable.recOn' does not depend on any axioms\n'LexLeanRuntime.Decimal' does not depend on any axioms\n'LexLeanRuntime.Decimal.casesOn' does not depend on any axioms\n'LexLeanRuntime.Decimal.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Decimal.format' does not depend on any axioms\n'LexLeanRuntime.Decimal.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Decimal.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Decimal.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Decimal.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Decimal.parse' does not depend on any axioms\n'LexLeanRuntime.Decimal.recOn' does not depend on any axioms\n'LexLeanRuntime.Fixed' does not depend on any axioms\n'LexLeanRuntime.Fixed.bitAnd' does not depend on any axioms\n'LexLeanRuntime.Fixed.bitNot' does not depend on any axioms\n'LexLeanRuntime.Fixed.bitOr' does not depend on any axioms\n'LexLeanRuntime.Fixed.bitXor' does not depend on any axioms\n'LexLeanRuntime.Fixed.casesOn' does not depend on any axioms\n'LexLeanRuntime.Fixed.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Fixed.fromInt' does not depend on any axioms\n'LexLeanRuntime.Fixed.maximum' does not depend on any axioms\n'LexLeanRuntime.Fixed.minimum' does not depend on any axioms\n'LexLeanRuntime.Fixed.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Fixed.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Fixed.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Fixed.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Fixed.recOn' does not depend on any axioms\n'LexLeanRuntime.Fixed.shiftLeft' does not depend on any axioms\n'LexLeanRuntime.Fixed.shiftRight' does not depend on any axioms\n'LexLeanRuntime.Fixed.toToMathInt' does not depend on any axioms\n'LexLeanRuntime.Indexable' does not depend on any axioms\n'LexLeanRuntime.Indexable.casesOn' does not depend on any axioms\n'LexLeanRuntime.Indexable.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Indexable.index' does not depend on any axioms\n'LexLeanRuntime.Indexable.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Indexable.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Indexable.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Indexable.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Indexable.recOn' does not depend on any axioms\n'LexLeanRuntime.Lengthable' does not depend on any axioms\n'LexLeanRuntime.Lengthable.casesOn' does not depend on any axioms\n'LexLeanRuntime.Lengthable.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Lengthable.length' does not depend on any axioms\n'LexLeanRuntime.Lengthable.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Lengthable.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Lengthable.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Lengthable.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Lengthable.recOn' does not depend on any axioms\n'LexLeanRuntime.Quotient' does not depend on any axioms\n'LexLeanRuntime.Quotient.casesOn' does not depend on any axioms\n'LexLeanRuntime.Quotient.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Quotient.isZero' does not depend on any axioms\n'LexLeanRuntime.Quotient.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Quotient.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Quotient.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Quotient.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Quotient.quotient' does not depend on any axioms\n'LexLeanRuntime.Quotient.recOn' does not depend on any axioms\n'LexLeanRuntime.Quotient.remainder' does not depend on any axioms\n'LexLeanRuntime.Sliceable' does not depend on any axioms\n'LexLeanRuntime.Sliceable.casesOn' does not depend on any axioms\n'LexLeanRuntime.Sliceable.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Sliceable.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Sliceable.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Sliceable.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Sliceable.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Sliceable.recOn' does not depend on any axioms\n'LexLeanRuntime.Sliceable.slice' does not depend on any axioms\n'LexLeanRuntime.ToMathInt' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.casesOn' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.noConfusion' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.recOn' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.toInt' does not depend on any axioms\n'LexLeanRuntime.append' does not depend on any axioms\n'LexLeanRuntime.bitAnd' does not depend on any axioms\n'LexLeanRuntime.bitNot' does not depend on any axioms\n'LexLeanRuntime.bitOr' does not depend on any axioms\n'LexLeanRuntime.bitXor' does not depend on any axioms\n'LexLeanRuntime.checkedAdd' does not depend on any axioms\n'LexLeanRuntime.checkedAddInt64' does not depend on any axioms\n'LexLeanRuntime.checkedConvert' does not depend on any axioms\n'LexLeanRuntime.checkedFromInt' does not depend on any axioms\n'LexLeanRuntime.checkedMultiply' does not depend on any axioms\n'LexLeanRuntime.checkedMultiplyInt64' does not depend on any axioms\n'LexLeanRuntime.checkedMultiplyInt64.match_1' does not depend on any axioms\n'LexLeanRuntime.checkedNegate' does not depend on any axioms\n'LexLeanRuntime.checkedNegateInt64' does not depend on any axioms\n'LexLeanRuntime.checkedQuotient' does not depend on any axioms\n'LexLeanRuntime.checkedQuotientInt64' does not depend on any axioms\n'LexLeanRuntime.checkedSubtract' does not depend on any axioms\n'LexLeanRuntime.checkedSubtractInt64' does not depend on any axioms\n'LexLeanRuntime.compareBytes' depends on axioms: [propext]\n'LexLeanRuntime.divideMagnitudeInt64' does not depend on any axioms\n'LexLeanRuntime.divideMagnitudeInt64._f' does not depend on any axioms\n'LexLeanRuntime.divideMagnitudeInt64._sunfold' does not depend on any axioms\n'LexLeanRuntime.divideMagnitudeInt64._unsafe_rec' does not depend on any axioms\n'LexLeanRuntime.divideMagnitudeInt64.match_1' does not depend on any axioms\n'LexLeanRuntime.equal' does not depend on any axioms\n'LexLeanRuntime.formatDecimal' does not depend on any axioms\n'LexLeanRuntime.index' does not depend on any axioms\n'LexLeanRuntime.instAppendableByteArray' does not depend on any axioms\n'LexLeanRuntime.instAppendableList' does not depend on any axioms\n'LexLeanRuntime.instDecimalInt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.instDecimalInt.match_1' does not depend on any axioms\n'LexLeanRuntime.instDecimalOfFixedOfToString' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.instFixedInt16' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedInt32' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedInt64' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedInt8' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedUInt16' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedUInt32' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedUInt64' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedUInt8' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instIndexableByteArrayUInt8' does not depend on any axioms\n'LexLeanRuntime.instIndexableList' does not depend on any axioms\n'LexLeanRuntime.instLengthableByteArray' does not depend on any axioms\n'LexLeanRuntime.instLengthableList' does not depend on any axioms\n'LexLeanRuntime.instLengthableString' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.instQuotientInt' does not depend on any axioms\n'LexLeanRuntime.instQuotientNat' does not depend on any axioms\n'LexLeanRuntime.instSliceableByteArray' does not depend on any axioms\n'LexLeanRuntime.instSliceableList' does not depend on any axioms\n'LexLeanRuntime.instToMathIntInt' does not depend on any axioms\n'LexLeanRuntime.join' depends on axioms: [propext]\n'LexLeanRuntime.length' does not depend on any axioms\n'LexLeanRuntime.listIndex' does not depend on any axioms\n'LexLeanRuntime.listIndex._f' does not depend on any axioms\n'LexLeanRuntime.listIndex._sunfold' does not depend on any axioms\n'LexLeanRuntime.listIndex._unsafe_rec' does not depend on any axioms\n'LexLeanRuntime.listIndex.match_1' does not depend on any axioms\n'LexLeanRuntime.magnitudeInt64' does not depend on any axioms\n'LexLeanRuntime.multiply' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64._f' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64._sunfold' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64._unsafe_rec' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64.match_1' does not depend on any axioms\n'LexLeanRuntime.negate' does not depend on any axioms\n'LexLeanRuntime.parseDecimal' does not depend on any axioms\n'LexLeanRuntime.quotient' does not depend on any axioms\n'LexLeanRuntime.remainder' does not depend on any axioms\n'LexLeanRuntime.shiftLeft' does not depend on any axioms\n'LexLeanRuntime.shiftRight' does not depend on any axioms\n'LexLeanRuntime.signedMagnitudeInt64' does not depend on any axioms\n'LexLeanRuntime.slice' does not depend on any axioms\n'LexLeanRuntime.splitExact' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.subtract' does not depend on any axioms\n'LexLeanRuntime.utf8Decode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.utf8Encode' does not depend on any axioms\n","stdout_sha256":"73fea1d9e9e9f0a2f1363b9f284eeeb9e434430e9fa910260b9526bad864641e","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/audit/output.txt b/examples/production-coverage/expected/verify/audit/output.txt index bd879db5f..498838cea 100644 --- a/examples/production-coverage/expected/verify/audit/output.txt +++ b/examples/production-coverage/expected/verify/audit/output.txt @@ -80,3 +80,266 @@ 'Coverage.Types.treeSum' does not depend on any axioms 'Coverage.Types.twice' does not depend on any axioms 'Coverage.Types.unbox' does not depend on any axioms +'LexLeanCollections.Key' does not depend on any axioms +'LexLeanCollections.Key.casesOn' does not depend on any axioms +'LexLeanCollections.Key.compare' does not depend on any axioms +'LexLeanCollections.Key.ctorIdx' does not depend on any axioms +'LexLeanCollections.Key.mk._flat_ctor' does not depend on any axioms +'LexLeanCollections.Key.mk.noConfusion' does not depend on any axioms +'LexLeanCollections.Key.noConfusion' does not depend on any axioms +'LexLeanCollections.Key.noConfusionType' does not depend on any axioms +'LexLeanCollections.Key.recOn' does not depend on any axioms +'LexLeanCollections.compareCodes' depends on axioms: [propext] +'LexLeanCollections.compareCodes._f' depends on axioms: [propext] +'LexLeanCollections.compareCodes._sparseCasesOn_1' depends on axioms: [propext] +'LexLeanCollections.compareCodes._sunfold' depends on axioms: [propext] +'LexLeanCollections.compareCodes._unsafe_rec' depends on axioms: [propext] +'LexLeanCollections.compareCodes.match_1' depends on axioms: [propext] +'LexLeanCollections.compareCodes.match_4' does not depend on any axioms +'LexLeanCollections.containsElement' does not depend on any axioms +'LexLeanCollections.containsElement._f' does not depend on any axioms +'LexLeanCollections.containsElement._sunfold' does not depend on any axioms +'LexLeanCollections.containsElement._unsafe_rec' does not depend on any axioms +'LexLeanCollections.graphNodes' does not depend on any axioms +'LexLeanCollections.graphReachable' depends on axioms: [propext] +'LexLeanCollections.graphSuccessors' does not depend on any axioms +'LexLeanCollections.graphTopological' does not depend on any axioms +'LexLeanCollections.insertElement' does not depend on any axioms +'LexLeanCollections.insertElement._f' does not depend on any axioms +'LexLeanCollections.insertElement._sunfold' does not depend on any axioms +'LexLeanCollections.insertElement._unsafe_rec' does not depend on any axioms +'LexLeanCollections.insertElement.match_1' does not depend on any axioms +'LexLeanCollections.insertEntry' does not depend on any axioms +'LexLeanCollections.insertEntry._f' does not depend on any axioms +'LexLeanCollections.insertEntry._sunfold' does not depend on any axioms +'LexLeanCollections.insertEntry._unsafe_rec' does not depend on any axioms +'LexLeanCollections.insertEntry.match_1' does not depend on any axioms +'LexLeanCollections.insertEntry.match_3' does not depend on any axioms +'LexLeanCollections.instKeyBool' depends on axioms: [propext] +'LexLeanCollections.instKeyInt' does not depend on any axioms +'LexLeanCollections.instKeyInt16' does not depend on any axioms +'LexLeanCollections.instKeyInt32' does not depend on any axioms +'LexLeanCollections.instKeyInt64' does not depend on any axioms +'LexLeanCollections.instKeyInt8' does not depend on any axioms +'LexLeanCollections.instKeyNat' does not depend on any axioms +'LexLeanCollections.instKeyProd' depends on axioms: [propext] +'LexLeanCollections.instKeyString' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanCollections.instKeyUInt16' does not depend on any axioms +'LexLeanCollections.instKeyUInt32' does not depend on any axioms +'LexLeanCollections.instKeyUInt64' does not depend on any axioms +'LexLeanCollections.instKeyUInt8' does not depend on any axioms +'LexLeanCollections.iterate' does not depend on any axioms +'LexLeanCollections.iterate._f' does not depend on any axioms +'LexLeanCollections.iterate._sunfold' does not depend on any axioms +'LexLeanCollections.iterate._unsafe_rec' does not depend on any axioms +'LexLeanCollections.iterate.match_1' does not depend on any axioms +'LexLeanCollections.iterateUntil' does not depend on any axioms +'LexLeanCollections.iterateUntil._f' does not depend on any axioms +'LexLeanCollections.iterateUntil._sunfold' does not depend on any axioms +'LexLeanCollections.iterateUntil._unsafe_rec' does not depend on any axioms +'LexLeanCollections.iterateUntil.match_1' does not depend on any axioms +'LexLeanCollections.lessThan' depends on axioms: [propext] +'LexLeanCollections.lessThan._sparseCasesOn_1' depends on axioms: [propext] +'LexLeanCollections.lessThan.match_1' depends on axioms: [propext] +'LexLeanCollections.listFold' does not depend on any axioms +'LexLeanCollections.lookupEntry' does not depend on any axioms +'LexLeanCollections.lookupEntry._f' does not depend on any axioms +'LexLeanCollections.lookupEntry._sunfold' does not depend on any axioms +'LexLeanCollections.lookupEntry._unsafe_rec' does not depend on any axioms +'LexLeanCollections.mapContains' does not depend on any axioms +'LexLeanCollections.mapEntries' does not depend on any axioms +'LexLeanCollections.mapFold' does not depend on any axioms +'LexLeanCollections.mapInsert' does not depend on any axioms +'LexLeanCollections.mapKeys' does not depend on any axioms +'LexLeanCollections.mapLookup' does not depend on any axioms +'LexLeanCollections.mapRemove' does not depend on any axioms +'LexLeanCollections.mapSize' does not depend on any axioms +'LexLeanCollections.mapValues' does not depend on any axioms +'LexLeanCollections.reachableFrom' depends on axioms: [propext] +'LexLeanCollections.reachableFrom._f' depends on axioms: [propext] +'LexLeanCollections.reachableFrom._sparseCasesOn_1' depends on axioms: [propext] +'LexLeanCollections.reachableFrom._sunfold' depends on axioms: [propext] +'LexLeanCollections.reachableFrom._unsafe_rec' depends on axioms: [propext] +'LexLeanCollections.reachableFrom.match_1' depends on axioms: [propext] +'LexLeanCollections.reachableFrom.match_4' does not depend on any axioms +'LexLeanCollections.removeElement' does not depend on any axioms +'LexLeanCollections.removeElement._f' does not depend on any axioms +'LexLeanCollections.removeElement._sunfold' does not depend on any axioms +'LexLeanCollections.removeElement._unsafe_rec' does not depend on any axioms +'LexLeanCollections.removeEntry' does not depend on any axioms +'LexLeanCollections.removeEntry._f' does not depend on any axioms +'LexLeanCollections.removeEntry._sunfold' does not depend on any axioms +'LexLeanCollections.removeEntry._unsafe_rec' does not depend on any axioms +'LexLeanCollections.setContains' does not depend on any axioms +'LexLeanCollections.setDifference' does not depend on any axioms +'LexLeanCollections.setElements' does not depend on any axioms +'LexLeanCollections.setFold' does not depend on any axioms +'LexLeanCollections.setInsert' does not depend on any axioms +'LexLeanCollections.setIntersection' does not depend on any axioms +'LexLeanCollections.setRemove' does not depend on any axioms +'LexLeanCollections.setSize' does not depend on any axioms +'LexLeanCollections.setUnion' does not depend on any axioms +'LexLeanCollections.topological' does not depend on any axioms +'LexLeanCollections.topological._f' does not depend on any axioms +'LexLeanCollections.topological._sunfold' does not depend on any axioms +'LexLeanCollections.topological._unsafe_rec' does not depend on any axioms +'LexLeanRuntime.Appendable' does not depend on any axioms +'LexLeanRuntime.Appendable.append' does not depend on any axioms +'LexLeanRuntime.Appendable.casesOn' does not depend on any axioms +'LexLeanRuntime.Appendable.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Appendable.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Appendable.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Appendable.noConfusion' does not depend on any axioms +'LexLeanRuntime.Appendable.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Appendable.recOn' does not depend on any axioms +'LexLeanRuntime.Decimal' does not depend on any axioms +'LexLeanRuntime.Decimal.casesOn' does not depend on any axioms +'LexLeanRuntime.Decimal.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Decimal.format' does not depend on any axioms +'LexLeanRuntime.Decimal.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Decimal.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Decimal.noConfusion' does not depend on any axioms +'LexLeanRuntime.Decimal.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Decimal.parse' does not depend on any axioms +'LexLeanRuntime.Decimal.recOn' does not depend on any axioms +'LexLeanRuntime.Fixed' does not depend on any axioms +'LexLeanRuntime.Fixed.bitAnd' does not depend on any axioms +'LexLeanRuntime.Fixed.bitNot' does not depend on any axioms +'LexLeanRuntime.Fixed.bitOr' does not depend on any axioms +'LexLeanRuntime.Fixed.bitXor' does not depend on any axioms +'LexLeanRuntime.Fixed.casesOn' does not depend on any axioms +'LexLeanRuntime.Fixed.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Fixed.fromInt' does not depend on any axioms +'LexLeanRuntime.Fixed.maximum' does not depend on any axioms +'LexLeanRuntime.Fixed.minimum' does not depend on any axioms +'LexLeanRuntime.Fixed.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Fixed.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Fixed.noConfusion' does not depend on any axioms +'LexLeanRuntime.Fixed.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Fixed.recOn' does not depend on any axioms +'LexLeanRuntime.Fixed.shiftLeft' does not depend on any axioms +'LexLeanRuntime.Fixed.shiftRight' does not depend on any axioms +'LexLeanRuntime.Fixed.toToMathInt' does not depend on any axioms +'LexLeanRuntime.Indexable' does not depend on any axioms +'LexLeanRuntime.Indexable.casesOn' does not depend on any axioms +'LexLeanRuntime.Indexable.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Indexable.index' does not depend on any axioms +'LexLeanRuntime.Indexable.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Indexable.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Indexable.noConfusion' does not depend on any axioms +'LexLeanRuntime.Indexable.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Indexable.recOn' does not depend on any axioms +'LexLeanRuntime.Lengthable' does not depend on any axioms +'LexLeanRuntime.Lengthable.casesOn' does not depend on any axioms +'LexLeanRuntime.Lengthable.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Lengthable.length' does not depend on any axioms +'LexLeanRuntime.Lengthable.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Lengthable.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Lengthable.noConfusion' does not depend on any axioms +'LexLeanRuntime.Lengthable.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Lengthable.recOn' does not depend on any axioms +'LexLeanRuntime.Quotient' does not depend on any axioms +'LexLeanRuntime.Quotient.casesOn' does not depend on any axioms +'LexLeanRuntime.Quotient.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Quotient.isZero' does not depend on any axioms +'LexLeanRuntime.Quotient.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Quotient.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Quotient.noConfusion' does not depend on any axioms +'LexLeanRuntime.Quotient.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Quotient.quotient' does not depend on any axioms +'LexLeanRuntime.Quotient.recOn' does not depend on any axioms +'LexLeanRuntime.Quotient.remainder' does not depend on any axioms +'LexLeanRuntime.Sliceable' does not depend on any axioms +'LexLeanRuntime.Sliceable.casesOn' does not depend on any axioms +'LexLeanRuntime.Sliceable.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Sliceable.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Sliceable.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Sliceable.noConfusion' does not depend on any axioms +'LexLeanRuntime.Sliceable.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Sliceable.recOn' does not depend on any axioms +'LexLeanRuntime.Sliceable.slice' does not depend on any axioms +'LexLeanRuntime.ToMathInt' does not depend on any axioms +'LexLeanRuntime.ToMathInt.casesOn' does not depend on any axioms +'LexLeanRuntime.ToMathInt.ctorIdx' does not depend on any axioms +'LexLeanRuntime.ToMathInt.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.ToMathInt.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.ToMathInt.noConfusion' does not depend on any axioms +'LexLeanRuntime.ToMathInt.noConfusionType' does not depend on any axioms +'LexLeanRuntime.ToMathInt.recOn' does not depend on any axioms +'LexLeanRuntime.ToMathInt.toInt' does not depend on any axioms +'LexLeanRuntime.append' does not depend on any axioms +'LexLeanRuntime.bitAnd' does not depend on any axioms +'LexLeanRuntime.bitNot' does not depend on any axioms +'LexLeanRuntime.bitOr' does not depend on any axioms +'LexLeanRuntime.bitXor' does not depend on any axioms +'LexLeanRuntime.checkedAdd' does not depend on any axioms +'LexLeanRuntime.checkedAddInt64' does not depend on any axioms +'LexLeanRuntime.checkedConvert' does not depend on any axioms +'LexLeanRuntime.checkedFromInt' does not depend on any axioms +'LexLeanRuntime.checkedMultiply' does not depend on any axioms +'LexLeanRuntime.checkedMultiplyInt64' does not depend on any axioms +'LexLeanRuntime.checkedMultiplyInt64.match_1' does not depend on any axioms +'LexLeanRuntime.checkedNegate' does not depend on any axioms +'LexLeanRuntime.checkedNegateInt64' does not depend on any axioms +'LexLeanRuntime.checkedQuotient' does not depend on any axioms +'LexLeanRuntime.checkedQuotientInt64' does not depend on any axioms +'LexLeanRuntime.checkedSubtract' does not depend on any axioms +'LexLeanRuntime.checkedSubtractInt64' does not depend on any axioms +'LexLeanRuntime.compareBytes' depends on axioms: [propext] +'LexLeanRuntime.divideMagnitudeInt64' does not depend on any axioms +'LexLeanRuntime.divideMagnitudeInt64._f' does not depend on any axioms +'LexLeanRuntime.divideMagnitudeInt64._sunfold' does not depend on any axioms +'LexLeanRuntime.divideMagnitudeInt64._unsafe_rec' does not depend on any axioms +'LexLeanRuntime.divideMagnitudeInt64.match_1' does not depend on any axioms +'LexLeanRuntime.equal' does not depend on any axioms +'LexLeanRuntime.formatDecimal' does not depend on any axioms +'LexLeanRuntime.index' does not depend on any axioms +'LexLeanRuntime.instAppendableByteArray' does not depend on any axioms +'LexLeanRuntime.instAppendableList' does not depend on any axioms +'LexLeanRuntime.instDecimalInt' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.instDecimalInt.match_1' does not depend on any axioms +'LexLeanRuntime.instDecimalOfFixedOfToString' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.instFixedInt16' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedInt32' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedInt64' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedInt8' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedUInt16' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedUInt32' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedUInt64' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedUInt8' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instIndexableByteArrayUInt8' does not depend on any axioms +'LexLeanRuntime.instIndexableList' does not depend on any axioms +'LexLeanRuntime.instLengthableByteArray' does not depend on any axioms +'LexLeanRuntime.instLengthableList' does not depend on any axioms +'LexLeanRuntime.instLengthableString' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.instQuotientInt' does not depend on any axioms +'LexLeanRuntime.instQuotientNat' does not depend on any axioms +'LexLeanRuntime.instSliceableByteArray' does not depend on any axioms +'LexLeanRuntime.instSliceableList' does not depend on any axioms +'LexLeanRuntime.instToMathIntInt' does not depend on any axioms +'LexLeanRuntime.join' depends on axioms: [propext] +'LexLeanRuntime.length' does not depend on any axioms +'LexLeanRuntime.listIndex' does not depend on any axioms +'LexLeanRuntime.listIndex._f' does not depend on any axioms +'LexLeanRuntime.listIndex._sunfold' does not depend on any axioms +'LexLeanRuntime.listIndex._unsafe_rec' does not depend on any axioms +'LexLeanRuntime.listIndex.match_1' does not depend on any axioms +'LexLeanRuntime.magnitudeInt64' does not depend on any axioms +'LexLeanRuntime.multiply' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64._f' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64._sunfold' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64._unsafe_rec' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64.match_1' does not depend on any axioms +'LexLeanRuntime.negate' does not depend on any axioms +'LexLeanRuntime.parseDecimal' does not depend on any axioms +'LexLeanRuntime.quotient' does not depend on any axioms +'LexLeanRuntime.remainder' does not depend on any axioms +'LexLeanRuntime.shiftLeft' does not depend on any axioms +'LexLeanRuntime.shiftRight' does not depend on any axioms +'LexLeanRuntime.signedMagnitudeInt64' does not depend on any axioms +'LexLeanRuntime.slice' does not depend on any axioms +'LexLeanRuntime.splitExact' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.subtract' does not depend on any axioms +'LexLeanRuntime.utf8Decode' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.utf8Encode' does not depend on any axioms diff --git a/examples/production-coverage/expected/verify/extract/LexLeanExtract.X6cddd56cf041af764eeefdf9e95c897e.lean b/examples/production-coverage/expected/verify/extract/LexLeanExtract.X6cddd56cf041af764eeefdf9e95c897e.lean deleted file mode 100644 index 399df975b..000000000 --- a/examples/production-coverage/expected/verify/extract/LexLeanExtract.X6cddd56cf041af764eeefdf9e95c897e.lean +++ /dev/null @@ -1,438 +0,0 @@ -module -public meta import Lean -import all Coverage.Boundary -import all Coverage.Colls -import all Coverage.Main -import all Coverage.Prims -import all Coverage.RecRoots -import all Coverage.Recur -import all Coverage.Syntax -import all Coverage.Types -set_option autoImplicit false -set_option linter.unusedVariables false -universe u u_1 u_2 v w - -meta def LexLeanExtract.escape (text : String) : String := - (String.foldl (α := String) (fun (out : String) (c : Char) => (if (BEq.beq (α := Char) c '"') then (String.append out "\\\"") else (if (BEq.beq (α := Char) c '\\') then (String.append out "\\\\") else (if (Nat.blt (Char.toNat c) 32) then (String.append out (String.append "\\u" (String.ofList (List.drop (α := Char) 1 (Nat.toDigits 16 (Nat.add (Char.toNat c) 65536)))))) else (String.push out c))))) "" text) - -meta def LexLeanExtract.str (text : String) : String := - (String.append "\"" (String.append (LexLeanExtract.escape text) "\"")) - -meta def LexLeanExtract.name (n : Lean.Name) : String := - (LexLeanExtract.str (Lean.Name.toString n)) - -meta def LexLeanExtract.arr (items : (List String)) : String := - (String.append "[" (String.append (String.intercalate "," items) "]")) - -meta def LexLeanExtract.obj (fields : (List (Prod String String))) : String := - (String.append "{" (String.append (String.intercalate "," (List.map (α := (Prod String String)) (β := String) (fun (kv : (Prod String String)) => (String.append (LexLeanExtract.str (kv).fst) (String.append ":" (kv).snd))) fields)) "}")) - -meta def LexLeanExtract.bool (value : Bool) : String := - (if value then "true" else "false") - -meta def LexLeanExtract.fvar (id : Lean.FVarId) : String := - (LexLeanExtract.name (id).name) - -meta partial def LexLeanExtract.mergeNames (a : (List Lean.Name)) (b : (List Lean.Name)) : (List Lean.Name) := - (match a with | .nil => b | .cons x xs => (match b with | .nil => a | .cons y ys => (if (Lean.Name.lt y x) then (List.cons (α := Lean.Name) y (LexLeanExtract.mergeNames a ys)) else (List.cons (α := Lean.Name) x (LexLeanExtract.mergeNames xs b))))) - -meta partial def LexLeanExtract.splitNames (l : (List Lean.Name)) : (Prod (List Lean.Name) (List Lean.Name)) := - (match l with | .nil => (Prod.mk (α := (List Lean.Name)) (β := (List Lean.Name)) (List.nil (α := Lean.Name)) (List.nil (α := Lean.Name))) | .cons x xs => (let rest : (Prod (List Lean.Name) (List Lean.Name)) := (LexLeanExtract.splitNames xs); (Prod.mk (α := (List Lean.Name)) (β := (List Lean.Name)) (List.cons (α := Lean.Name) x (rest).snd) (rest).fst))) - -meta partial def LexLeanExtract.sortNames (l : (List Lean.Name)) : (List Lean.Name) := - (match l with | .nil => (List.nil (α := Lean.Name)) | .cons x xs => (match xs with | .nil => l | .cons y ys => (let halves : (Prod (List Lean.Name) (List Lean.Name)) := (LexLeanExtract.splitNames l); (LexLeanExtract.mergeNames (LexLeanExtract.sortNames (halves).fst) (LexLeanExtract.sortNames (halves).snd))))) - -meta def LexLeanExtract.sorted (names : (Std.HashSet Lean.Name)) : (List Lean.Name) := - (LexLeanExtract.sortNames (Std.HashSet.toList (α := Lean.Name) names)) - -meta def LexLeanExtract.insert (names : (Std.HashSet Lean.Name)) (n : Lean.Name) : (Std.HashSet Lean.Name) := - (Std.HashSet.insert (α := Lean.Name) names n) - -meta partial def LexLeanExtract.type (e : Lean.Expr) : String := - (match e with | .const n us => (if (BEq.beq (α := Lean.Name) n ``lcErased) then (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "erased"))] : List (Prod String String)))) else (if (BEq.beq (α := Lean.Name) n ``lcAny) then (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "any"))] : List (Prod String String)))) else (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "const")), (Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name n)), (Prod.mk (α := String) (β := String) "levels" (LexLeanExtract.arr (List.map (α := Lean.Level) (β := String) (fun (u : Lean.Level) => (LexLeanExtract.str (ToString.toString (α := Lean.Level) u))) us)))] : List (Prod String String)))))) | .app fn arg => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "app")), (Prod.mk (α := String) (β := String) "head" (LexLeanExtract.type (Lean.Expr.getAppFn e))), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := Lean.Expr) (β := String) (fun (a : Lean.Expr) => (LexLeanExtract.type a)) (Array.toList (α := Lean.Expr) (Lean.Expr.getAppArgs e)))))] : List (Prod String String)))) | .forallE binderName domain body binderInfo => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "arrow")), (Prod.mk (α := String) (β := String) "domain" (LexLeanExtract.type domain)), (Prod.mk (α := String) (β := String) "codomain" (LexLeanExtract.type body))] : List (Prod String String)))) | .fvar id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "fvar")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar id))] : List (Prod String String)))) | .bvar position => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "bvar")), (Prod.mk (α := String) (β := String) "index" (ToString.toString (α := Nat) position))] : List (Prod String String)))) | .sort u => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "sort")), (Prod.mk (α := String) (β := String) "level" (LexLeanExtract.str (ToString.toString (α := Lean.Level) u)))] : List (Prod String String)))) | .mvar id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "metavariable"))] : List (Prod String String)))) | .lam binderName domain body binderInfo => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "lambda"))] : List (Prod String String)))) | .letE declName t value body nonDep => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "let"))] : List (Prod String String)))) | .lit literal => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "literal"))] : List (Prod String String)))) | .mdata data body => (match (Lean.annotation? (Lean.Name.mkSimple "borrowed") e) with | .some annotated => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "borrowed")), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type body))] : List (Prod String String)))) | .none => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "metadata"))] : List (Prod String String))))) | .proj typeName idx struct => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "projection"))] : List (Prod String String))))) - -meta def LexLeanExtract.arg (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) : String := - (match a with | .erased => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "erased"))] : List (Prod String String)))) | .fvar id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "fvar")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar id))] : List (Prod String String)))) | .type e => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "type")), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type e))] : List (Prod String String))))) - -meta def LexLeanExtract.literal (value : Lean.Compiler.LCNF.LitValue) : String := - (match value with | .nat v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "nat")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) v)))] : List (Prod String String)))) | .str v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "string")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str v))] : List (Prod String String)))) | .uint8 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint8")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt8.toNat v))))] : List (Prod String String)))) | .uint16 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint16")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt16.toNat v))))] : List (Prod String String)))) | .uint32 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint32")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt32.toNat v))))] : List (Prod String String)))) | .uint64 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint64")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt64.toNat v))))] : List (Prod String String)))) | .usize v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "usize")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt64.toNat v))))] : List (Prod String String))))) - -meta def LexLeanExtract.letValue (v : (Lean.Compiler.LCNF.LetValue Lean.Compiler.LCNF.Purity.pure)) : String := - (match v with | .lit value => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "literal")), (Prod.mk (α := String) (β := String) "literal" (LexLeanExtract.literal value))] : List (Prod String String)))) | .erased => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "erased"))] : List (Prod String String)))) | .proj typeName position struct => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "projection")), (Prod.mk (α := String) (β := String) "type_name" (LexLeanExtract.name typeName)), (Prod.mk (α := String) (β := String) "index" (ToString.toString (α := Nat) position)), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.fvar struct))] : List (Prod String String)))) | .const declName us args => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "const")), (Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name declName)), (Prod.mk (α := String) (β := String) "levels" (LexLeanExtract.arr (List.map (α := Lean.Level) (β := String) (fun (u : Lean.Level) => (LexLeanExtract.str (ToString.toString (α := Lean.Level) u))) us))), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.arg a)) (Array.toList (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) args))))] : List (Prod String String)))) | .fvar id args => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "apply")), (Prod.mk (α := String) (β := String) "function" (LexLeanExtract.fvar id)), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.arg a)) (Array.toList (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) args))))] : List (Prod String String))))) - -meta def LexLeanExtract.param (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) : String := - (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar (p).fvarId)), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type (p).type)), (Prod.mk (α := String) (β := String) "borrow" (LexLeanExtract.bool (p).borrow))] : List (Prod String String)))) - -mutual -meta partial def LexLeanExtract.code (c : (Lean.Compiler.LCNF.Code Lean.Compiler.LCNF.Purity.pure)) : String := - (match c with | .«let» decl k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "let")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar (decl).fvarId)), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type (decl).type)), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.letValue (decl).value)), (Prod.mk (α := String) (β := String) "body" (LexLeanExtract.code k))] : List (Prod String String)))) | .«fun» decl k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "fun")), (Prod.mk (α := String) (β := String) "declaration" (LexLeanExtract.funDecl decl)), (Prod.mk (α := String) (β := String) "body" (LexLeanExtract.code k))] : List (Prod String String)))) | .jp decl k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "join")), (Prod.mk (α := String) (β := String) "declaration" (LexLeanExtract.funDecl decl)), (Prod.mk (α := String) (β := String) "body" (LexLeanExtract.code k))] : List (Prod String String)))) | .jmp id args => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "jump")), (Prod.mk (α := String) (β := String) "target" (LexLeanExtract.fvar id)), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.arg a)) (Array.toList (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) args))))] : List (Prod String String)))) | .cases cs => (LexLeanExtract.cases cs) | .«return» id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "return")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar id))] : List (Prod String String)))) | .unreach t => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unreachable")), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type t))] : List (Prod String String))))) - -meta partial def LexLeanExtract.funDecl (d : (Lean.Compiler.LCNF.FunDecl Lean.Compiler.LCNF.Purity.pure)) : String := - (match d with | .mk fvarId binderName params type value => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar fvarId)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param p)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) params)))), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type type)), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.code value))] : List (Prod String String))))) - -meta partial def LexLeanExtract.cases (cs : (Lean.Compiler.LCNF.Cases Lean.Compiler.LCNF.Purity.pure)) : String := - (match cs with | .mk typeName resultType discr alts => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "cases")), (Prod.mk (α := String) (β := String) "type_name" (LexLeanExtract.name typeName)), (Prod.mk (α := String) (β := String) "result_type" (LexLeanExtract.type resultType)), (Prod.mk (α := String) (β := String) "discriminant" (LexLeanExtract.fvar discr)), (Prod.mk (α := String) (β := String) "alternatives" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.alt a)) (Array.toList (α := (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) alts))))] : List (Prod String String))))) - -meta partial def LexLeanExtract.alt (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) : String := - (match a with | .alt ctorName params k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "constructor")), (Prod.mk (α := String) (β := String) "constructor" (LexLeanExtract.name ctorName)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param p)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) params)))), (Prod.mk (α := String) (β := String) "code" (LexLeanExtract.code k))] : List (Prod String String)))) | .default k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "default")), (Prod.mk (α := String) (β := String) "code" (LexLeanExtract.code k))] : List (Prod String String))))) -end - -meta partial def LexLeanExtract.typeConstants (e : Lean.Expr) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (match e with | .const n us => (if (Bool.or (BEq.beq (α := Lean.Name) n ``lcErased) (BEq.beq (α := Lean.Name) n ``lcAny)) then out else (LexLeanExtract.insert out n)) | .app f a => (LexLeanExtract.typeConstants a (LexLeanExtract.typeConstants f out)) | .forallE binderName d b binderInfo => (LexLeanExtract.typeConstants b (LexLeanExtract.typeConstants d out)) | .bvar position => out | .fvar id => out | .mvar id => out | .sort u => out | .lit literal => out | .lam binderName d b binderInfo => (LexLeanExtract.typeConstants b (LexLeanExtract.typeConstants d out)) | .letE declName t v b nonDep => (LexLeanExtract.typeConstants b (LexLeanExtract.typeConstants v (LexLeanExtract.typeConstants t out))) | .mdata data b => (LexLeanExtract.typeConstants b out) | .proj typeName idx b => (LexLeanExtract.typeConstants b (LexLeanExtract.insert out typeName))) - -meta def LexLeanExtract.argConstants (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (match a with | .type e => (LexLeanExtract.typeConstants e out) | .erased => out | .fvar id => out) - -meta def LexLeanExtract.paramConstants (ps : (Array (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure))) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (Array.foldl (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.typeConstants (p).type acc)) out ps) - -meta def LexLeanExtract.letValueConstants (v : (Lean.Compiler.LCNF.LetValue Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (match v with | .const n us args => (Array.foldl (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.argConstants a acc)) (LexLeanExtract.insert out n) args) | .fvar id args => (Array.foldl (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.argConstants a acc)) out args) | .proj typeName position struct => (LexLeanExtract.insert out typeName) | .lit value => out | .erased => out) - -mutual -meta partial def LexLeanExtract.codeConstants (c : (Lean.Compiler.LCNF.Code Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (match c with | .«let» decl k => (LexLeanExtract.codeConstants k (LexLeanExtract.letValueConstants (decl).value (LexLeanExtract.typeConstants (decl).type out))) | .«fun» decl k => (LexLeanExtract.codeConstants k (LexLeanExtract.funConstants decl out)) | .jp decl k => (LexLeanExtract.codeConstants k (LexLeanExtract.funConstants decl out)) | .jmp id args => (Array.foldl (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.argConstants a acc)) out args) | .cases cs => (LexLeanExtract.casesConstants cs out) | .«return» id => out | .unreach t => (LexLeanExtract.typeConstants t out)) - -meta partial def LexLeanExtract.funConstants (d : (Lean.Compiler.LCNF.FunDecl Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (match d with | .mk fvarId binderName params type value => (LexLeanExtract.codeConstants value (LexLeanExtract.typeConstants type (LexLeanExtract.paramConstants params out)))) - -meta partial def LexLeanExtract.casesConstants (cs : (Lean.Compiler.LCNF.Cases Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (match cs with | .mk typeName resultType discr alts => (Array.foldl (α := (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.altConstants a acc)) (LexLeanExtract.typeConstants resultType (LexLeanExtract.insert out typeName)) alts)) - -meta partial def LexLeanExtract.altConstants (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (match a with | .alt ctorName ps k => (LexLeanExtract.codeConstants k (LexLeanExtract.paramConstants ps (LexLeanExtract.insert out ctorName))) | .default k => (LexLeanExtract.codeConstants k out)) -end - -meta def LexLeanExtract.kind (info : Lean.ConstantInfo) : String := - (match info with | .defnInfo value => (match (value).safety with | .safe => "definition" | .«unsafe» => "unsafe-definition" | .«partial» => "partial-definition") | .opaqueInfo opaqueValue => "opaque" | .thmInfo theoremValue => "theorem" | .axiomInfo axiomValue => "axiom" | .inductInfo inductiveValue => "inductive" | .ctorInfo constructorValue => "constructor" | .recInfo recursorValue => "recursor" | .quotInfo quotientValue => "quotient") - -meta def LexLeanExtract.originalKind (env : Lean.Environment) (n : Lean.Name) : String := - (match (Lean.getOriginalConstKind? env n) with | .some original => (match original with | .defn => "definition" | .thm => "theorem" | .«axiom» => "axiom" | .«opaque» => "opaque" | .quot => "quotient" | .induct => "inductive" | .ctor => "constructor" | .recursor => "recursor") | .none => "unknown") - -meta def LexLeanExtract.moduleOf (env : Lean.Environment) (n : Lean.Name) : Lean.Name := - (match (Lean.Environment.getModuleIdxFor? env n) with | .some index => (Array.getD (α := Lean.Name) (Lean.EnvironmentHeader.moduleNames (Lean.Environment.header env)) index (Lean.Name.anonymous)) | .none => (Lean.Name.anonymous)) - -meta def LexLeanExtract.inProject (env : Lean.Environment) (modules : (Array Lean.Name)) (n : Lean.Name) : Bool := - (Array.contains (α := Lean.Name) modules (LexLeanExtract.moduleOf env n)) - -meta def LexLeanExtract.facts (env : Lean.Environment) (n : Lean.Name) (info : Lean.ConstantInfo) : (Lean.Core.CoreM (List (Prod String String))) := - (Bind.bind (m := Lean.Core.CoreM) (α := Bool) (β := (List (Prod String String))) (Lean.Compiler.LCNF.shouldGenerateCode n) (fun (generates : Bool) => (Pure.pure (f := Lean.Core.CoreM) (α := (List (Prod String String))) (([(Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name n)), (Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str (LexLeanExtract.kind info))), (Prod.mk (α := String) (β := String) "module" (LexLeanExtract.name (LexLeanExtract.moduleOf env n))), (Prod.mk (α := String) (β := String) "computable" (LexLeanExtract.bool (Bool.not (Lean.isNoncomputable env n)))), (Prod.mk (α := String) (β := String) "generates_code" (LexLeanExtract.bool generates)), (Prod.mk (α := String) (β := String) "original_kind" (LexLeanExtract.str (LexLeanExtract.originalKind env n))), (Prod.mk (α := String) (β := String) "internal" (LexLeanExtract.bool (Lean.Name.isInternal n)))] : List (Prod String String)))))) - -mutual -meta partial def LexLeanExtract.sameSignature (a : Lean.Expr) (b : Lean.Expr) : Bool := - (match a with | .mdata data1 inner1 => (LexLeanExtract.sameSignature inner1 b) | _ => (match b with | .mdata data2 inner2 => (LexLeanExtract.sameSignature a inner2) | _ => (LexLeanExtract.sameStructure a b))) - -meta partial def LexLeanExtract.sameStructure (a : Lean.Expr) (b : Lean.Expr) : Bool := - (match a with | .forallE name1 domain1 body1 info1 => (match b with | .forallE name2 domain2 body2 info2 => (Bool.and (BEq.beq (α := Lean.BinderInfo) info1 info2) (Bool.and (LexLeanExtract.sameSignature domain1 domain2) (LexLeanExtract.sameSignature body1 body2))) | _ => (Bool.false)) | .lam name1 domain1 body1 info1 => (match b with | .lam name2 domain2 body2 info2 => (Bool.and (BEq.beq (α := Lean.BinderInfo) info1 info2) (Bool.and (LexLeanExtract.sameSignature domain1 domain2) (LexLeanExtract.sameSignature body1 body2))) | _ => (Bool.false)) | .app function1 argument1 => (match b with | .app function2 argument2 => (Bool.and (LexLeanExtract.sameSignature function1 function2) (LexLeanExtract.sameSignature argument1 argument2)) | _ => (Bool.false)) | .const constant1 levels1 => (match b with | .const constant2 levels2 => (Bool.and (BEq.beq (α := Lean.Name) constant1 constant2) (BEq.beq (α := (List Lean.Level)) levels1 levels2)) | _ => (Bool.false)) | .sort level1 => (match b with | .sort level2 => (BEq.beq (α := Lean.Level) level1 level2) | _ => (Bool.false)) | .bvar position1 => (match b with | .bvar position2 => (BEq.beq (α := Nat) position1 position2) | _ => (Bool.false)) | .lit literal1 => (match b with | .lit literal2 => (BEq.beq (α := Lean.Literal) literal1 literal2) | _ => (Bool.false)) | .fvar free1 => (match b with | .fvar free2 => (BEq.beq (α := Lean.FVarId) free1 free2) | _ => (Bool.false)) | .mvar meta1 => (match b with | .mvar meta2 => (BEq.beq (α := Lean.MVarId) meta1 meta2) | _ => (Bool.false)) | .letE local1 type1 value1 scope1 flag1 => (match b with | .letE local2 type2 value2 scope2 flag2 => (Bool.and (LexLeanExtract.sameSignature type1 type2) (Bool.and (LexLeanExtract.sameSignature value1 value2) (LexLeanExtract.sameSignature scope1 scope2))) | _ => (Bool.false)) | .proj structure1 field1 target1 => (match b with | .proj structure2 field2 target2 => (Bool.and (BEq.beq (α := Lean.Name) structure1 structure2) (Bool.and (BEq.beq (α := Nat) field1 field2) (LexLeanExtract.sameSignature target1 target2))) | _ => (Bool.false)) | _ => (Bool.false)) -end - -public meta def LexLeanExtract.elabSignature : Lean.Elab.Command.CommandElab := - (fun (stx : Lean.Syntax) => (Lean.Elab.Command.liftTermElabM (α := Unit) (let declName : Lean.Name := (Lean.Syntax.getId (Lean.Syntax.getArg stx 1)); (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.ConstantInfo) (β := Unit) (Lean.getConstInfo (m := Lean.Elab.Term.TermElabM) declName) (fun (info : Lean.ConstantInfo) => (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.Expr) (β := Unit) (Lean.Elab.Term.elabType (Lean.Syntax.getArg stx 3)) (fun (elaborated : Lean.Expr) => (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.Expr) (β := Unit) (Lean.instantiateMVars (m := Lean.Elab.Term.TermElabM) elaborated) (fun (registered : Lean.Expr) => (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.Expr) (β := Unit) (Lean.instantiateMVars (m := Lean.Elab.Term.TermElabM) (Lean.ConstantInfo.type info)) (fun (actual : Lean.Expr) => (if (LexLeanExtract.sameSignature actual registered) then (Pure.pure (f := Lean.Elab.Term.TermElabM) (α := Unit) (Unit.unit)) else (Lean.«throwError» (m := Lean.Elab.Term.TermElabM) (α := Unit) (Lean.MessageData.compose (Lean.stringToMessageData "lexlean-extract-drift: the signature of `") (Lean.MessageData.compose (Lean.MessageData.ofName declName) (Lean.MessageData.compose (Lean.stringToMessageData "` is ") (Lean.MessageData.ofExpr (Lean.ConstantInfo.type info)))))))))))))))))) - -meta def LexLeanExtract.classify (env : Lean.Environment) (c : Lean.Name) (info : Lean.ConstantInfo) : String := - (let structural : Bool := (Bool.or (Lean.Environment.isProjectionFn env c) (Bool.or (Lean.isCasesOnRecursor env c) (Bool.or (Lean.isAuxRecursor env c) (Bool.or (Lean.isNoConfusion env c) (Bool.or (Lean.Name.isInternal c) (Bool.or (Lean.Meta.isInstanceCore env c) (Bool.or (Lean.Meta.isMatcherCore env c) (BEq.beq (α := String) (Lean.Name.getString! c) "ctorIdx")))))))); (let former : Bool := (Lean.Expr.isSort (Lean.Expr.getForallBody (Lean.ConstantInfo.type info))); (match info with | .inductInfo inductiveValue => "type" | .defnInfo definitionValue => (if former then "type" else (if (Bool.and (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c) (Bool.not structural)) then "call" else "plumbing")) | .opaqueInfo opaqueValue => (if (Bool.and (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c) (Bool.not structural)) then "call" else "plumbing") | .axiomInfo axiomValue => (if (Bool.and (Bool.and (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c) (Bool.not structural)) (Bool.not former)) then "call" else "plumbing") | .thmInfo theoremValue => "plumbing" | .quotInfo quotientValue => "plumbing" | .ctorInfo constructorValue => "plumbing" | .recInfo recursorValue => "plumbing"))) - -meta def LexLeanExtract.ownNames (env : Lean.Environment) : (Std.HashSet Lean.Name) := - (Lean.SMap.foldStage2 (α := Lean.Name) (β := Lean.ConstantInfo) (σ := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (n : Lean.Name) (info : Lean.ConstantInfo) => (LexLeanExtract.insert acc n)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (Lean.Environment.constants env)) - -meta def LexLeanExtract.ownUses (env : Lean.Environment) : (Std.HashSet Lean.Name) := - (Lean.SMap.foldStage2 (α := Lean.Name) (β := Lean.ConstantInfo) (σ := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (n : Lean.Name) (info : Lean.ConstantInfo) => (if (List.elem (α := Lean.Name) (Lean.Name.mkSimple "LexLeanExtract") (Lean.Name.components (Lean.Name.eraseMacroScopes n))) then (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (seen : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert seen used)) (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (seen : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert seen used)) acc (Lean.Expr.getUsedConstants (Lean.ConstantInfo.type info))) (match (Lean.ConstantInfo.value? info (Bool.true)) with | .some value => (Lean.Expr.getUsedConstants value) | .none => ((#[] : Array Lean.Name)))) else acc)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (Lean.Environment.constants env)) - -meta partial def LexLeanExtract.classifyAll (env : Lean.Environment) (own : (Std.HashSet Lean.Name)) (names : (List Lean.Name)) : (Lean.Elab.Command.CommandElabM (List (Prod Lean.Name String))) := - (match names with | .nil => (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (List.nil (α := (Prod Lean.Name String)))) | .cons c rest => (if (Std.HashSet.contains (α := Lean.Name) own c) then (LexLeanExtract.classifyAll env own rest) else (match (Lean.Environment.find? env c) with | .some info => (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (β := (List (Prod Lean.Name String))) (LexLeanExtract.classifyAll env own rest) (fun (tail : (List (Prod Lean.Name String))) => (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (List.cons (α := (Prod Lean.Name String)) (Prod.mk (α := Lean.Name) (β := String) c (LexLeanExtract.classify env c info)) tail)))) | .none => (Lean.«throwError» (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (Lean.stringToMessageData (String.append "lexlean-extract-drift: the adapter uses the unknown constant `" (String.append (Lean.Name.toString c) "`"))))))) - -meta def LexLeanExtract.adapterConstants : (Lean.Elab.Command.CommandElabM (List (Prod Lean.Name String))) := - (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := Lean.Environment) (β := (List (Prod Lean.Name String))) (Lean.MonadEnv.getEnv (m := Lean.Elab.Command.CommandElabM)) (fun (env : Lean.Environment) => (LexLeanExtract.classifyAll env (LexLeanExtract.ownNames env) (LexLeanExtract.sorted (LexLeanExtract.ownUses env))))) - -meta partial def LexLeanExtract.listLines (used : (List (Prod Lean.Name String))) : (Lean.Elab.Command.CommandElabM Unit) := - (match used with | .nil => (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := Unit) (Unit.unit)) | .cons entry rest => (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := Unit) (β := Unit) (MonadLiftT.monadLift (m := IO) (n := Lean.Elab.Command.CommandElabM) (α := Unit) (IO.println (α := String) (String.append (entry).snd (String.append " " (Lean.Name.toString (entry).fst))))) (fun (printed : Unit) => (LexLeanExtract.listLines rest)))) - -meta def LexLeanExtract.listAdapterConstants : (Lean.Elab.Command.CommandElabM Unit) := - (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (β := Unit) (LexLeanExtract.adapterConstants) (fun (used : (List (Prod Lean.Name String))) => (LexLeanExtract.listLines used))) - -meta def LexLeanExtract.registeredClass (calls : (Array Lean.Name)) (types : (Array (Prod Lean.Name (Array String)))) (opaques : (Array Lean.Name)) (plumbing : (Array Lean.Name)) (c : Lean.Name) : String := - (let typeNames : (List Lean.Name) := (List.map (α := (Prod Lean.Name (Array String))) (β := Lean.Name) (fun (row : (Prod Lean.Name (Array String))) => (row).fst) (Array.toList (α := (Prod Lean.Name (Array String))) types)); (if (Array.contains (α := Lean.Name) calls c) then "call" else (if (Bool.or (List.contains (α := Lean.Name) typeNames c) (Array.contains (α := Lean.Name) opaques c)) then "type" else (if (Array.contains (α := Lean.Name) plumbing c) then "plumbing" else (if (List.any (α := (Prod Lean.Name (Array String))) (Array.toList (α := (Prod Lean.Name (Array String))) types) (fun (candidate : (Prod Lean.Name (Array String))) => (Bool.and (BEq.beq (α := Lean.Name) (Lean.Name.getPrefix c) (candidate).fst) (Array.contains (α := String) (candidate).snd (Lean.Name.getString! c))))) then "plumbing" else "unregistered"))))) - -meta partial def LexLeanExtract.usedProblems (calls : (Array Lean.Name)) (types : (Array (Prod Lean.Name (Array String)))) (opaques : (Array Lean.Name)) (plumbing : (Array Lean.Name)) (used : (List (Prod Lean.Name String))) : (List String) := - (match used with | .nil => (List.nil (α := String)) | .cons entry rest => (let c : Lean.Name := (entry).fst; (let foreignType : Bool := (Bool.and (BEq.beq (α := String) (entry).snd "type") (Bool.not (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c))); (let expected : String := (if foreignType then "a type or plumbing" else (entry).snd); (let registered : String := (LexLeanExtract.registeredClass calls types opaques plumbing c); (if (if (BEq.beq (α := String) (entry).snd "plumbing") then (Bool.not (BEq.beq (α := String) registered "unregistered")) else (if foreignType then (Bool.or (BEq.beq (α := String) registered "type") (BEq.beq (α := String) registered "plumbing")) else (BEq.beq (α := String) registered expected))) then (LexLeanExtract.usedProblems calls types opaques plumbing rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString c) (String.append "` is used as " (String.append expected (String.append " but registered as " registered))))) (LexLeanExtract.usedProblems calls types opaques plumbing rest)))))))) - -meta partial def LexLeanExtract.unusedProblems (used : (List (Prod Lean.Name String))) (names : (List Lean.Name)) : (List String) := - (match names with | .nil => (List.nil (α := String)) | .cons c rest => (if (List.any (α := (Prod Lean.Name String)) used (fun (entry : (Prod Lean.Name String)) => (BEq.beq (α := Lean.Name) (entry).fst c))) then (LexLeanExtract.unusedProblems used rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString c) "` is plumbing but unused")) (LexLeanExtract.unusedProblems used rest)))) - -meta partial def LexLeanExtract.typeProblems (env : Lean.Environment) (types : (List (Prod Lean.Name (Array String)))) : (List String) := - (match types with | .nil => (List.nil (α := String)) | .cons row rest => (let n : Lean.Name := (row).fst; (match (Lean.Environment.find? env n) with | .some info => (match info with | .inductInfo «inductive» => (if (BEq.beq (α := (List String)) (List.map (α := Lean.Name) (β := String) (fun (constructorName : Lean.Name) => (Lean.Name.getString! constructorName)) («inductive»).ctors) (Array.toList (α := String) (row).snd)) then (LexLeanExtract.typeProblems env rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString n) (String.append "` has constructors " (String.append (ToString.toString (α := (List String)) (List.map (α := Lean.Name) (β := String) (fun (listed : Lean.Name) => (Lean.Name.getString! listed)) («inductive»).ctors)) (String.append ", registered " (ToString.toString (α := (List String)) (Array.toList (α := String) (row).snd))))))) (LexLeanExtract.typeProblems env rest))) | _ => (if (Array.isEmpty (α := String) (row).snd) then (LexLeanExtract.typeProblems env rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString n) (String.append "` is not an inductive type, registered with constructors " (ToString.toString (α := (List String)) (Array.toList (α := String) (row).snd))))) (LexLeanExtract.typeProblems env rest)))) | .none => (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString n) "` is not a constant")) (LexLeanExtract.typeProblems env rest))))) - -meta def LexLeanExtract.checkNames (calls : (Array Lean.Name)) (types : (Array (Prod Lean.Name (Array String)))) (opaques : (Array Lean.Name)) (plumbing : (Array Lean.Name)) : (Lean.Elab.Command.CommandElabM Unit) := - (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := Lean.Environment) (β := Unit) (Lean.MonadEnv.getEnv (m := Lean.Elab.Command.CommandElabM)) (fun (env : Lean.Environment) => (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (β := Unit) (LexLeanExtract.adapterConstants) (fun (used : (List (Prod Lean.Name String))) => (let names : (List Lean.Name) := (Array.toList (α := Lean.Name) plumbing); (let differences : (List String) := (List.append (α := String) (LexLeanExtract.usedProblems calls types opaques plumbing used) (List.append (α := String) (LexLeanExtract.unusedProblems used names) (LexLeanExtract.typeProblems env (Array.toList (α := (Prod Lean.Name (Array String))) types)))); (if (List.isEmpty (α := String) differences) then (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := Unit) (Unit.unit)) else (Lean.«throwError» (m := Lean.Elab.Command.CommandElabM) (α := Unit) (Lean.stringToMessageData (String.append "lexlean-extract-drift: the adapter and its registry differ: " (String.intercalate "; " differences))))))))))) - -meta def LexLeanExtract.declUses (decl : (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) : (Std.HashSet Lean.Name) := - (match (decl).value with | .code body => (LexLeanExtract.codeConstants body (LexLeanExtract.typeConstants ((decl).toSignature).type (LexLeanExtract.paramConstants ((decl).toSignature).params (Std.HashSet.emptyWithCapacity (α := Lean.Name))))) | .extern attributes => (LexLeanExtract.typeConstants ((decl).toSignature).type (LexLeanExtract.paramConstants ((decl).toSignature).params (Std.HashSet.emptyWithCapacity (α := Lean.Name))))) - -meta def LexLeanExtract.declText (decl : (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) : String := - (let signatureUses : (Std.HashSet Lean.Name) := (LexLeanExtract.typeConstants ((decl).toSignature).type (LexLeanExtract.paramConstants ((decl).toSignature).params (Std.HashSet.emptyWithCapacity (α := Lean.Name)))); (match (decl).value with | .code body => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "safe" (LexLeanExtract.bool ((decl).toSignature).safe)), (Prod.mk (α := String) (β := String) "level_parameters" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (levelName : Lean.Name) => (LexLeanExtract.name levelName)) ((decl).toSignature).levelParams))), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type ((decl).toSignature).type)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (parameter : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param parameter)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) ((decl).toSignature).params)))), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "code")), (Prod.mk (α := String) (β := String) "code" (LexLeanExtract.code body))] : List (Prod String String))))), (Prod.mk (α := String) (β := String) "uses" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (usedName : Lean.Name) => (LexLeanExtract.name usedName)) (LexLeanExtract.sorted (LexLeanExtract.codeConstants body signatureUses)))))] : List (Prod String String)))) | .extern attributes => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "safe" (LexLeanExtract.bool ((decl).toSignature).safe)), (Prod.mk (α := String) (β := String) "level_parameters" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (levelName : Lean.Name) => (LexLeanExtract.name levelName)) ((decl).toSignature).levelParams))), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type ((decl).toSignature).type)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (parameter : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param parameter)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) ((decl).toSignature).params)))), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "extern"))] : List (Prod String String))))), (Prod.mk (α := String) (β := String) "uses" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (usedName : Lean.Name) => (LexLeanExtract.name usedName)) (LexLeanExtract.sorted signatureUses))))] : List (Prod String String)))))) - -meta partial def LexLeanExtract.codeLoop (env : Lean.Environment) (modules : (Array Lean.Name)) (queue : (List Lean.Name)) (visited : (Std.HashSet Lean.Name)) (decls : (Std.HashMap Lean.Name String)) (referenced : (Std.HashSet Lean.Name)) : (Lean.Core.CoreM (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) := - (match queue with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Prod.mk (α := (Std.HashSet Lean.Name)) (β := (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name))) visited (Prod.mk (α := (Std.HashMap Lean.Name String)) (β := (Std.HashSet Lean.Name)) decls referenced))) | .cons n rest => (if (Std.HashSet.contains (α := Lean.Name) visited n) then (LexLeanExtract.codeLoop env modules rest visited decls referenced) else (match (Lean.Environment.find? env n) with | .some info => (let visitedNow : (Std.HashSet Lean.Name) := (LexLeanExtract.insert visited n); (if (Bool.and (BEq.beq (α := String) (LexLeanExtract.kind info) "definition") (Bool.not (Lean.isNoncomputable env n))) then (Bind.bind (m := Lean.Core.CoreM) (α := Bool) (β := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.Compiler.LCNF.shouldGenerateCode n) (fun (generates : Bool) => (if generates then (Bind.bind (m := Lean.Core.CoreM) (α := Unit) (β := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.MonadNameGenerator.setNGen (m := Lean.Core.CoreM) (Lean.NameGenerator.mk (Lean.Name.mkSimple "_uniq") 1)) (fun (restarted : Unit) => (Bind.bind (m := Lean.Core.CoreM) (α := (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) (β := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.Compiler.LCNF.CompilerM.run (α := (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) (Lean.Compiler.LCNF.toDecl n)) (fun (decl : (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) => (let uses : (List Lean.Name) := (LexLeanExtract.sorted (LexLeanExtract.declUses decl)); (LexLeanExtract.codeLoop env modules (List.append (α := Lean.Name) rest (List.filter (α := Lean.Name) (fun (candidate : Lean.Name) => (LexLeanExtract.inProject env modules candidate)) uses)) visitedNow (Std.HashMap.insert (α := Lean.Name) (β := String) decls ((decl).toSignature).name (LexLeanExtract.declText decl)) (List.foldl (α := (Std.HashSet Lean.Name)) (β := Lean.Name) (fun (seen : (Std.HashSet Lean.Name)) (outside : Lean.Name) => (LexLeanExtract.insert seen outside)) referenced (List.filter (α := Lean.Name) (fun (outside : Lean.Name) => (Bool.not (LexLeanExtract.inProject env modules outside))) uses)))))))) else (LexLeanExtract.codeLoop env modules rest visitedNow decls referenced)))) else (LexLeanExtract.codeLoop env modules rest visitedNow decls referenced))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString n) "`"))))))) - -meta partial def LexLeanExtract.kernelLoop (env : Lean.Environment) (modules : (Array Lean.Name)) (queue : (List Lean.Name)) (seen : (Std.HashSet Lean.Name)) : (Lean.Core.CoreM (Std.HashSet Lean.Name)) := - (match queue with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (Std.HashSet Lean.Name)) seen) | .cons n rest => (if (Std.HashSet.contains (α := Lean.Name) seen n) then (LexLeanExtract.kernelLoop env modules rest seen) else (match (Lean.Environment.find? env n) with | .some info => (LexLeanExtract.kernelLoop env modules (List.append (α := Lean.Name) rest (List.filter (α := Lean.Name) (fun (candidate : Lean.Name) => (LexLeanExtract.inProject env modules candidate)) (LexLeanExtract.sorted (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert acc used)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (match (Lean.ConstantInfo.value? info (Bool.true)) with | .some value => (Lean.Expr.getUsedConstants value) | .none => ((#[] : Array Lean.Name))))))) (LexLeanExtract.insert seen n)) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (Std.HashSet Lean.Name)) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString n) "`"))))))) - -meta partial def LexLeanExtract.ctorRows (env : Lean.Environment) (names : (List Lean.Name)) : (Lean.Core.CoreM (List String)) := - (match names with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.nil (α := String))) | .cons c rest => (match (Lean.Environment.find? env c) with | .some info => (match info with | .ctorInfo constructor => (Bind.bind (m := Lean.Core.CoreM) (α := Lean.Expr) (β := (List String)) (Lean.Meta.MetaM.run' (α := Lean.Expr) (Lean.Compiler.LCNF.toLCNFType ((constructor).toConstantVal).type)) (fun (constructorType : Lean.Expr) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := (List String)) (LexLeanExtract.ctorRows env rest) (fun (tail : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.cons (α := String) (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name c)), (Prod.mk (α := String) (β := String) "parameters" (ToString.toString (α := Nat) (constructor).numParams)), (Prod.mk (α := String) (β := String) "fields" (ToString.toString (α := Nat) (constructor).numFields)), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type constructorType))] : List (Prod String String)))) tail)))))) | _ => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: `" (String.append (Lean.Name.toString c) "` is not a constructor"))))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: `" (String.append (Lean.Name.toString c) "` is not a constructor")))))) - -meta def LexLeanExtract.inductiveRow (env : Lean.Environment) (n : Lean.Name) : (Lean.Core.CoreM String) := - (match (Lean.Environment.find? env n) with | .some info => (match info with | .inductInfo «inductive» => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := String) (LexLeanExtract.ctorRows env («inductive»).ctors) (fun (constructors : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := String) (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "parameters" (ToString.toString (α := Nat) («inductive»).numParams)), (Prod.mk (α := String) (β := String) "indices" (ToString.toString (α := Nat) («inductive»).numIndices)), (Prod.mk (α := String) (β := String) "recursive" (LexLeanExtract.bool («inductive»).isRec)), (Prod.mk (α := String) (β := String) "constructors" (LexLeanExtract.arr constructors))] : List (Prod String String))))))) | _ => (Pure.pure (f := Lean.Core.CoreM) (α := String) "null")) | .none => (Pure.pure (f := Lean.Core.CoreM) (α := String) "null")) - -meta partial def LexLeanExtract.constantRows (env : Lean.Environment) (decls : (Std.HashMap Lean.Name String)) (names : (List Lean.Name)) : (Lean.Core.CoreM (List String)) := - (match names with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.nil (α := String))) | .cons n rest => (match (Lean.Environment.find? env n) with | .some info => (Bind.bind (m := Lean.Core.CoreM) (α := (List (Prod String String))) (β := (List String)) (LexLeanExtract.facts env n info) (fun (row : (List (Prod String String))) => (Bind.bind (m := Lean.Core.CoreM) (α := String) (β := (List String)) (LexLeanExtract.inductiveRow env n) (fun (inductiveText : String) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := (List String)) (LexLeanExtract.constantRows env decls rest) (fun (tail : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.cons (α := String) (LexLeanExtract.obj (List.append (α := (Prod String String)) row (([(Prod.mk (α := String) (β := String) "kernel_uses" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (usedName : Lean.Name) => (LexLeanExtract.name usedName)) (LexLeanExtract.sorted (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert acc used)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (match (Lean.ConstantInfo.value? info (Bool.true)) with | .some value => (Lean.Expr.getUsedConstants value) | .none => ((#[] : Array Lean.Name)))))))), (Prod.mk (α := String) (β := String) "declaration" (Option.getD (α := String) (Std.HashMap.get? (α := Lean.Name) (β := String) decls n) "null")), (Prod.mk (α := String) (β := String) "inductive" inductiveText)] : List (Prod String String))))) tail)))))))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString n) "`")))))) - -meta partial def LexLeanExtract.externalRows (env : Lean.Environment) (names : (List Lean.Name)) : (Lean.Core.CoreM (List String)) := - (match names with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.nil (α := String))) | .cons r rest => (match (Lean.Environment.find? env r) with | .some info => (Bind.bind (m := Lean.Core.CoreM) (α := (List (Prod String String))) (β := (List String)) (LexLeanExtract.facts env r info) (fun (row : (List (Prod String String))) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := (List String)) (LexLeanExtract.externalRows env rest) (fun (tail : (List String)) => (let compiled : (Prod String String) := (Prod.mk (α := String) (β := String) "compiled" (LexLeanExtract.bool (Option.isSome (α := Lean.IR.Decl) (Lean.IR.findEnvDecl env r)))); (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.cons (α := String) (LexLeanExtract.obj (List.append (α := (Prod String String)) row (match info with | .ctorInfo constructor => (([compiled, (Prod.mk (α := String) (β := String) "inductive_type" (LexLeanExtract.name (constructor).induct))] : List (Prod String String))) | _ => (([compiled] : List (Prod String String)))))) tail))))))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString r) "`")))))) - -meta partial def LexLeanExtract.checkRoots (env : Lean.Environment) (modules : (Array Lean.Name)) (roots : (List Lean.Name)) : (Lean.Core.CoreM Unit) := - (match roots with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := Unit) (Unit.unit)) | .cons root rest => (if (Bool.and (LexLeanExtract.inProject env modules root) (Option.isSome (α := Lean.ConstantInfo) (Lean.Environment.find? env root))) then (LexLeanExtract.checkRoots env modules rest) else (Lean.«throwError» (m := Lean.Core.CoreM) (α := Unit) (Lean.stringToMessageData (String.append "lexlean-extract: unknown root `" (String.append (Lean.Name.toString root) "`")))))) - -meta def LexLeanExtract.run (roots : (Array Lean.Name)) (modules : (Array Lean.Name)) : (Lean.Core.CoreM String) := - (Bind.bind (m := Lean.Core.CoreM) (α := Lean.Environment) (β := String) (Lean.MonadEnv.getEnv (m := Lean.Core.CoreM)) (fun (env : Lean.Environment) => (Bind.bind (m := Lean.Core.CoreM) (α := Unit) (β := String) (LexLeanExtract.checkRoots env modules (Array.toList (α := Lean.Name) roots)) (fun (checked : Unit) => (Bind.bind (m := Lean.Core.CoreM) (α := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (β := String) (LexLeanExtract.codeLoop env modules (Array.toList (α := Lean.Name) roots) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (Std.HashMap.emptyWithCapacity (α := Lean.Name) (β := String)) (Std.HashSet.emptyWithCapacity (α := Lean.Name))) (fun (visit : (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) => (Bind.bind (m := Lean.Core.CoreM) (α := (Std.HashSet Lean.Name)) (β := String) (LexLeanExtract.kernelLoop env modules (Std.HashSet.toList (α := Lean.Name) (visit).fst) (Std.HashSet.emptyWithCapacity (α := Lean.Name))) (fun (recorded : (Std.HashSet Lean.Name)) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := String) (LexLeanExtract.constantRows env ((visit).snd).fst (LexLeanExtract.sorted recorded)) (fun (constants : (List String)) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := String) (LexLeanExtract.externalRows env (LexLeanExtract.sorted ((visit).snd).snd)) (fun (externals : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := String) (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "spec" (LexLeanExtract.str "lexlean/lcnf-extraction/2")), (Prod.mk (α := String) (β := String) "lean" (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "version" (LexLeanExtract.str (Lean.versionString))), (Prod.mk (α := String) (β := String) "githash" (LexLeanExtract.str (Lean.githash)))] : List (Prod String String))))), (Prod.mk (α := String) (β := String) "roots" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (listedName : Lean.Name) => (LexLeanExtract.name listedName)) (Array.toList (α := Lean.Name) roots)))), (Prod.mk (α := String) (β := String) "constants" (LexLeanExtract.arr constants)), (Prod.mk (α := String) (β := String) "externals" (LexLeanExtract.arr externals))] : List (Prod String String))))))))))))))))) - -meta def LexLeanExtract.mainNames (roots : (Array Lean.Name)) (modules : (Array Lean.Name)) : (Lean.Elab.Command.CommandElabM Unit) := - (Lean.Elab.Command.liftCoreM (α := Unit) (Bind.bind (m := Lean.Core.CoreM) (α := String) (β := Unit) (LexLeanExtract.run roots modules) (fun (text : String) => (MonadLiftT.monadLift (m := IO) (n := Lean.Core.CoreM) (α := Unit) (IO.println (α := String) text))))) - -meta def LexLeanExtract.toNames (texts : (Array String)) : (Array Lean.Name) := - (Array.map (α := String) (β := Lean.Name) (fun (text : String) => (String.toName text)) texts) - -meta def LexLeanExtract.toTypeRows (rows : (Array (Prod String (Array String)))) : (Array (Prod Lean.Name (Array String))) := - (Array.map (α := (Prod String (Array String))) (β := (Prod Lean.Name (Array String))) (fun (row : (Prod String (Array String))) => (Prod.mk (α := Lean.Name) (β := (Array String)) (String.toName (row).fst) (row).snd)) rows) - -meta def LexLeanExtract.checkAuthority (calls : (Array String)) (types : (Array (Prod String (Array String)))) (opaques : (Array String)) (plumbing : (Array String)) : (Lean.Elab.Command.CommandElabM Unit) := - (LexLeanExtract.checkNames (LexLeanExtract.toNames calls) (LexLeanExtract.toTypeRows types) (LexLeanExtract.toNames opaques) (LexLeanExtract.toNames plumbing)) - -meta def LexLeanExtract.main (roots : (Array String)) (modules : (Array String)) : (Lean.Elab.Command.CommandElabM Unit) := - (LexLeanExtract.mainNames (LexLeanExtract.toNames roots) (LexLeanExtract.toNames modules)) - -syntax (name := LexLeanExtract.signatureCommand) "lexlean_signature " ident " : " term : command -attribute [command_elab LexLeanExtract.signatureCommand] LexLeanExtract.elabSignature - -lexlean_signature Array.contains : ({α : (Type u)} → ([h1 : (BEq α)] → ((Array α) → (α → Bool)))) - -lexlean_signature Array.foldl : ({α : (Type u)} → ({β : (Type v)} → ((β → (α → β)) → (β → ((as : (Array α)) → ((optParam Nat 0) → ((optParam Nat (@Array.size α as)) → β))))))) - -lexlean_signature Array.getD : ({α : (Type u_1)} → ((Array α) → (Nat → (α → α)))) - -lexlean_signature Array.isEmpty : ({α : (Type u)} → ((Array α) → Bool)) - -lexlean_signature Array.map : ({α : (Type u)} → ({β : (Type v)} → ((α → β) → ((Array α) → (Array β))))) - -lexlean_signature Array.size : ({α : (Type u)} → ((Array α) → Nat)) - -lexlean_signature Array.toList : ({α : (Type u)} → ((Array α) → (List α))) - -lexlean_signature BEq.beq : ({α : (Type u)} → ([self : (BEq α)] → (α → (α → Bool)))) - -lexlean_signature Bind.bind : ({m : ((Type u) → (Type v))} → ([self : (Bind m)] → ({α : (Type u)} → ({β : (Type u)} → ((m α) → ((α → (m β)) → (m β))))))) - -lexlean_signature Bool.and : (Bool → (Bool → Bool)) - -lexlean_signature Bool.not : (Bool → Bool) - -lexlean_signature Bool.or : (Bool → (Bool → Bool)) - -lexlean_signature Char.toNat : (Char → Nat) - -lexlean_signature IO.println : ({α : (Type u_1)} → ([h1 : (ToString α)] → (α → (IO Unit)))) - -lexlean_signature Lean.Compiler.LCNF.CompilerM.run : ({α : Type} → ((Lean.Compiler.LCNF.CompilerM α) → ((optParam Lean.Compiler.LCNF.CompilerM.State { }) → ((optParam Lean.Compiler.LCNF.Phase Lean.Compiler.LCNF.Phase.base) → (Lean.Core.CoreM α))))) - -lexlean_signature Lean.Compiler.LCNF.shouldGenerateCode : (Lean.Name → (Lean.Core.CoreM Bool)) - -lexlean_signature Lean.Compiler.LCNF.toDecl : (Lean.Name → (Lean.Compiler.LCNF.CompilerM (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure))) - -lexlean_signature Lean.Compiler.LCNF.toLCNFType : (Lean.Expr → (Lean.Meta.MetaM Lean.Expr)) - -lexlean_signature Lean.ConstantInfo.type : (Lean.ConstantInfo → Lean.Expr) - -lexlean_signature Lean.ConstantInfo.value? : (Lean.ConstantInfo → ((optParam Bool Bool.false) → (Option Lean.Expr))) - -lexlean_signature Lean.Elab.Command.liftCoreM : ({α : Type} → ((Lean.Core.CoreM α) → (Lean.Elab.Command.CommandElabM α))) - -lexlean_signature Lean.Elab.Command.liftTermElabM : ({α : Type} → ((Lean.Elab.Term.TermElabM α) → (Lean.Elab.Command.CommandElabM α))) - -lexlean_signature Lean.Elab.Term.elabType : (Lean.Syntax → (Lean.Elab.Term.TermElabM Lean.Expr)) - -lexlean_signature Lean.EnvExtension.asyncMode : ({σ : Type} → ((Lean.EnvExtension σ) → Lean.EnvExtension.AsyncMode)) - -lexlean_signature Lean.Environment.constants : (Lean.Environment → Lean.ConstMap) - -lexlean_signature Lean.Environment.find? : (Lean.Environment → (Lean.Name → ((optParam Bool Bool.false) → (Option Lean.ConstantInfo)))) - -lexlean_signature Lean.Environment.getModuleIdxFor? : (Lean.Environment → (Lean.Name → (Option Lean.ModuleIdx))) - -lexlean_signature Lean.Environment.header : (Lean.Environment → Lean.EnvironmentHeader) - -lexlean_signature Lean.Environment.isProjectionFn : (Lean.Environment → (Lean.Name → Bool)) - -lexlean_signature Lean.EnvironmentHeader.moduleNames : (Lean.EnvironmentHeader → (Array Lean.Name)) - -lexlean_signature Lean.Expr.getAppArgs : (Lean.Expr → (Array Lean.Expr)) - -lexlean_signature Lean.Expr.getAppFn : (Lean.Expr → Lean.Expr) - -lexlean_signature Lean.Expr.getForallBody : (Lean.Expr → Lean.Expr) - -lexlean_signature Lean.Expr.getUsedConstants : (Lean.Expr → (Array Lean.Name)) - -lexlean_signature Lean.Expr.isSort : (Lean.Expr → Bool) - -lexlean_signature Lean.IR.findEnvDecl : (Lean.Environment → (Lean.Name → (Option Lean.IR.Decl))) - -lexlean_signature Lean.MessageData.compose : (Lean.MessageData → (Lean.MessageData → Lean.MessageData)) - -lexlean_signature Lean.MessageData.ofExpr : (Lean.Expr → Lean.MessageData) - -lexlean_signature Lean.MessageData.ofName : (Lean.Name → Lean.MessageData) - -lexlean_signature Lean.Meta.MetaM.run' : ({α : Type} → ((Lean.Meta.MetaM α) → ((optParam Lean.Meta.Context { }) → ((optParam Lean.Meta.State { }) → (Lean.Core.CoreM α))))) - -lexlean_signature Lean.Meta.isInstanceCore : (Lean.Environment → (Lean.Name → Bool)) - -lexlean_signature Lean.Meta.isMatcherCore : (Lean.Environment → (Lean.Name → Bool)) - -lexlean_signature Lean.MonadEnv.getEnv : ({m : (Type → Type)} → ([self : (Lean.MonadEnv m)] → (m Lean.Environment))) - -lexlean_signature Lean.MonadNameGenerator.setNGen : ({m : (Type → Type)} → ([self : (Lean.MonadNameGenerator m)] → (Lean.NameGenerator → (m Unit)))) - -lexlean_signature Lean.Name.components : (Lean.Name → (List Lean.Name)) - -lexlean_signature Lean.Name.eraseMacroScopes : (Lean.Name → Lean.Name) - -lexlean_signature Lean.Name.getPrefix : (Lean.Name → Lean.Name) - -lexlean_signature Lean.Name.getString! : (Lean.Name → String) - -lexlean_signature Lean.Name.isInternal : (Lean.Name → Bool) - -lexlean_signature Lean.Name.isPrefixOf : (Lean.Name → (Lean.Name → Bool)) - -lexlean_signature Lean.Name.lt : (Lean.Name → (Lean.Name → Bool)) - -lexlean_signature Lean.Name.mkSimple : (String → Lean.Name) - -lexlean_signature Lean.Name.mkStr1 : (String → Lean.Name) - -lexlean_signature Lean.Name.mkStr2 : (String → (String → Lean.Name)) - -lexlean_signature Lean.Name.toString : (Lean.Name → ((optParam Bool Bool.true) → String)) - -lexlean_signature Lean.PersistentArray.branching : USize - -lexlean_signature Lean.PersistentArray.initShift : USize - -lexlean_signature Lean.PersistentEnvExtension.toEnvExtension : ({α : Type} → ({β : Type} → ({σ : Type} → ((Lean.PersistentEnvExtension α β σ) → (Lean.EnvExtension (Lean.PersistentEnvExtensionState α σ)))))) - -lexlean_signature Lean.PersistentHashMap.mkEmptyEntriesArray : ({α : (Type u_1)} → ({β : (Type u_2)} → (Array (Lean.PersistentHashMap.Entry α β (Lean.PersistentHashMap.Node α β))))) - -lexlean_signature Lean.SMap.foldStage2 : ({α : (Type u)} → ({β : (Type v)} → ([h2 : (BEq α)] → ([h3 : (Hashable α)] → ({σ : (Type w)} → ((σ → (α → (β → σ))) → (σ → ((@Lean.SMap α β h2 h3) → σ)))))))) - -lexlean_signature Lean.Syntax.getArg : (Lean.Syntax → (Nat → Lean.Syntax)) - -lexlean_signature Lean.Syntax.getId : (Lean.Syntax → Lean.Name) - -lexlean_signature Lean.annotation? : (Lean.Name → (Lean.Expr → (Option Lean.Expr))) - -lexlean_signature Lean.getConstInfo : ({m : (Type → Type)} → ([h1 : (Monad m)] → ([h2 : (Lean.MonadEnv m)] → ([h3 : (Lean.MonadError m)] → (Lean.Name → (m Lean.ConstantInfo)))))) - -lexlean_signature Lean.getOriginalConstKind? : (Lean.Environment → (Lean.Name → (Option Lean.ConstantKind))) - -lexlean_signature Lean.githash : String - -lexlean_signature Lean.instantiateMVars : ({m : (Type → Type)} → ([h1 : (Monad m)] → ([h2 : (Lean.MonadMCtx m)] → (Lean.Expr → (m Lean.Expr))))) - -lexlean_signature Lean.isAuxRecursor : (Lean.Environment → (Lean.Name → Bool)) - -lexlean_signature Lean.isCasesOnRecursor : (Lean.Environment → (Lean.Name → Bool)) - -lexlean_signature Lean.isNoConfusion : (Lean.Environment → (Lean.Name → Bool)) - -lexlean_signature Lean.isNoncomputable : (Lean.Environment → (Lean.Name → ((optParam Lean.EnvExtension.AsyncMode (@Lean.EnvExtension.asyncMode (Lean.PersistentEnvExtensionState Lean.Name (Prod (List Lean.Name) Lean.NameSet)) (@Lean.PersistentEnvExtension.toEnvExtension Lean.Name Lean.Name (Prod (List Lean.Name) Lean.NameSet) Lean.noncomputableExt))) → Bool))) - -lexlean_signature Lean.noncomputableExt : Lean.TagDeclarationExtension - -lexlean_signature Lean.stringToMessageData : (String → Lean.MessageData) - -lexlean_signature Lean.«throwError» : ({m : (Type → Type)} → ({α : Type} → ([h2 : (Monad m)] → ([h3 : (Lean.MonadError m)] → (Lean.MessageData → (m α)))))) - -lexlean_signature Lean.versionString : String - -lexlean_signature List.any : ({α : (Type u)} → ((List α) → ((α → Bool) → Bool))) - -lexlean_signature List.append : ({α : (Type u_1)} → ((List α) → ((List α) → (List α)))) - -lexlean_signature List.contains : ({α : (Type u)} → ([h1 : (BEq α)] → ((List α) → (α → Bool)))) - -lexlean_signature List.drop : ({α : (Type u)} → (Nat → ((List α) → (List α)))) - -lexlean_signature List.elem : ({α : (Type u)} → ([h1 : (BEq α)] → (α → ((List α) → Bool)))) - -lexlean_signature List.filter : ({α : (Type u)} → ((α → Bool) → ((List α) → (List α)))) - -lexlean_signature List.foldl : ({α : (Type u)} → ({β : (Type v)} → ((α → (β → α)) → (α → ((List β) → α))))) - -lexlean_signature List.isEmpty : ({α : (Type u)} → ((List α) → Bool)) - -lexlean_signature List.map : ({α : (Type u_1)} → ({β : (Type u_2)} → ((α → β) → ((List α) → (List β))))) - -lexlean_signature MonadLiftT.monadLift : ({m : ((Type u) → (Type v))} → ({n : ((Type u) → (Type w))} → ([self : (MonadLiftT m n)] → ({α : (Type u)} → ((m α) → (n α)))))) - -lexlean_signature Nat.add : (Nat → (Nat → Nat)) - -lexlean_signature Nat.blt : (Nat → (Nat → Bool)) - -lexlean_signature Nat.toDigits : (Nat → (Nat → (List Char))) - -lexlean_signature Option.getD : ({α : (Type u_1)} → ((Option α) → (α → α))) - -lexlean_signature Option.isSome : ({α : (Type u_1)} → ((Option α) → Bool)) - -lexlean_signature Pure.pure : ({f : ((Type u) → (Type v))} → ([self : (Pure f)] → ({α : (Type u)} → (α → (f α))))) - -lexlean_signature Std.HashMap.emptyWithCapacity : ({α : (Type u)} → ({β : (Type v)} → ([h2 : (BEq α)] → ([h3 : (Hashable α)] → ((optParam Nat 8) → (@Std.HashMap α β h2 h3)))))) - -lexlean_signature Std.HashMap.get? : ({α : (Type u)} → ({β : (Type v)} → ({h2 : (BEq α)} → ({h3 : (Hashable α)} → ((@Std.HashMap α β h2 h3) → (α → (Option β))))))) - -lexlean_signature Std.HashMap.insert : ({α : (Type u)} → ({β : (Type v)} → ({h2 : (BEq α)} → ({h3 : (Hashable α)} → ((@Std.HashMap α β h2 h3) → (α → (β → (@Std.HashMap α β h2 h3)))))))) - -lexlean_signature Std.HashSet.contains : ({α : (Type u)} → ({h1 : (BEq α)} → ({h2 : (Hashable α)} → ((@Std.HashSet α h1 h2) → (α → Bool))))) - -lexlean_signature Std.HashSet.emptyWithCapacity : ({α : (Type u)} → ([h1 : (BEq α)] → ([h2 : (Hashable α)] → ((optParam Nat 8) → (@Std.HashSet α h1 h2))))) - -lexlean_signature Std.HashSet.insert : ({α : (Type u)} → ({h1 : (BEq α)} → ({h2 : (Hashable α)} → ((@Std.HashSet α h1 h2) → (α → (@Std.HashSet α h1 h2)))))) - -lexlean_signature Std.HashSet.toList : ({α : (Type u)} → ({h1 : (BEq α)} → ({h2 : (Hashable α)} → ((@Std.HashSet α h1 h2) → (List α))))) - -lexlean_signature String.append : (String → (String → String)) - -lexlean_signature String.foldl : ({α : (Type u)} → ((α → (Char → α)) → (α → (String → α)))) - -lexlean_signature String.intercalate : (String → ((List String) → String)) - -lexlean_signature String.ofList : ((List Char) → String) - -lexlean_signature String.push : (String → (Char → String)) - -lexlean_signature String.toName : (String → Lean.Name) - -lexlean_signature ToString.toString : ({α : (Type u)} → ([self : (ToString α)] → (α → String))) - -lexlean_signature UInt16.toNat : (UInt16 → Nat) - -lexlean_signature UInt32.toNat : (UInt32 → Nat) - -lexlean_signature UInt64.toNat : (UInt64 → Nat) - -lexlean_signature UInt8.toNat : (UInt8 → Nat) - -lexlean_signature Unit.unit : Unit - -#eval LexLeanExtract.checkAuthority ((#["Array.contains", "Array.foldl", "Array.getD", "Array.isEmpty", "Array.map", "Array.size", "Array.toList", "BEq.beq", "Bind.bind", "Bool.and", "Bool.not", "Bool.or", "Char.toNat", "IO.println", "Lean.Compiler.LCNF.CompilerM.run", "Lean.Compiler.LCNF.shouldGenerateCode", "Lean.Compiler.LCNF.toDecl", "Lean.Compiler.LCNF.toLCNFType", "Lean.ConstantInfo.type", "Lean.ConstantInfo.value?", "Lean.Elab.Command.liftCoreM", "Lean.Elab.Command.liftTermElabM", "Lean.Elab.Term.elabType", "Lean.EnvExtension.asyncMode", "Lean.Environment.constants", "Lean.Environment.find?", "Lean.Environment.getModuleIdxFor?", "Lean.Environment.header", "Lean.Environment.isProjectionFn", "Lean.EnvironmentHeader.moduleNames", "Lean.Expr.getAppArgs", "Lean.Expr.getAppFn", "Lean.Expr.getForallBody", "Lean.Expr.getUsedConstants", "Lean.Expr.isSort", "Lean.IR.findEnvDecl", "Lean.MessageData.compose", "Lean.MessageData.ofExpr", "Lean.MessageData.ofName", "Lean.Meta.MetaM.run'", "Lean.Meta.isInstanceCore", "Lean.Meta.isMatcherCore", "Lean.MonadEnv.getEnv", "Lean.MonadNameGenerator.setNGen", "Lean.Name.components", "Lean.Name.eraseMacroScopes", "Lean.Name.getPrefix", "Lean.Name.getString!", "Lean.Name.isInternal", "Lean.Name.isPrefixOf", "Lean.Name.lt", "Lean.Name.mkSimple", "Lean.Name.mkStr1", "Lean.Name.mkStr2", "Lean.Name.toString", "Lean.PersistentArray.branching", "Lean.PersistentArray.initShift", "Lean.PersistentEnvExtension.toEnvExtension", "Lean.PersistentHashMap.mkEmptyEntriesArray", "Lean.SMap.foldStage2", "Lean.Syntax.getArg", "Lean.Syntax.getId", "Lean.annotation?", "Lean.getConstInfo", "Lean.getOriginalConstKind?", "Lean.githash", "Lean.instantiateMVars", "Lean.isAuxRecursor", "Lean.isCasesOnRecursor", "Lean.isNoConfusion", "Lean.isNoncomputable", "Lean.noncomputableExt", "Lean.stringToMessageData", "Lean.throwError", "Lean.versionString", "List.any", "List.append", "List.contains", "List.drop", "List.elem", "List.filter", "List.foldl", "List.isEmpty", "List.map", "MonadLiftT.monadLift", "Nat.add", "Nat.blt", "Nat.toDigits", "Option.getD", "Option.isSome", "Pure.pure", "Std.HashMap.emptyWithCapacity", "Std.HashMap.get?", "Std.HashMap.insert", "Std.HashSet.contains", "Std.HashSet.emptyWithCapacity", "Std.HashSet.insert", "Std.HashSet.toList", "String.append", "String.foldl", "String.intercalate", "String.ofList", "String.push", "String.toName", "ToString.toString", "UInt16.toNat", "UInt32.toNat", "UInt64.toNat", "UInt8.toNat", "Unit.unit"] : Array String)) ((#[(Prod.mk (α := String) (β := (Array String)) "Bool" ((#["false", "true"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Alt" ((#["alt", "ctorAlt", "default"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Arg" ((#["erased", "fvar", "type"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Cases" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Code" ((#["let", "fun", "jp", "jmp", "cases", "return", "unreach", "oset", "uset", "sset", "setTag", "inc", "dec", "del"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Decl" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.DeclValue" ((#["code", "extern"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.FunDecl" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.LetDecl" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.LetValue" ((#["lit", "erased", "proj", "const", "fvar", "ctor", "oproj", "uproj", "sproj", "fap", "pap", "reset", "reuse", "box", "unbox", "isShared"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.LitValue" ((#["nat", "str", "uint8", "uint16", "uint32", "uint64", "usize"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Param" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Phase" ((#["base", "mono", "impure"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Purity" ((#["pure", "impure"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Signature" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstantInfo" ((#["axiomInfo", "defnInfo", "thmInfo", "opaqueInfo", "quotInfo", "inductInfo", "ctorInfo", "recInfo"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstantKind" ((#["defn", "thm", "axiom", "opaque", "quot", "induct", "ctor", "recursor"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstantVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstructorVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.DefinitionSafety" ((#["unsafe", "safe", "partial"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.DefinitionVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Expr" ((#["bvar", "fvar", "mvar", "sort", "const", "app", "lam", "forallE", "letE", "lit", "mdata", "proj"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.FVarId" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.InductiveVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Name" ((#["anonymous", "str", "num"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.NameGenerator" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "List" ((#["nil", "cons"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Option" ((#["none", "some"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Prod" ((#["mk"] : Array String)))] : Array (Prod String (Array String)))) ((#["Array", "BEq", "Bind", "Char", "Hashable", "IO", "Lean.AxiomVal", "Lean.BinderInfo", "Lean.Compiler.InlineAttributeKind", "Lean.Compiler.LCNF.CompilerM", "Lean.Compiler.LCNF.CompilerM.State", "Lean.Compiler.LCNF.CtorInfo", "Lean.ConstMap", "Lean.Core.Context", "Lean.Core.CoreM", "Lean.Core.State", "Lean.DelayedMetavarAssignment", "Lean.Elab.Command.CommandElab", "Lean.Elab.Command.CommandElabM", "Lean.Elab.Command.Context", "Lean.Elab.Command.State", "Lean.Elab.Term.Context", "Lean.Elab.Term.State", "Lean.Elab.Term.TermElabM", "Lean.EnvExtension", "Lean.EnvExtension.AsyncMode", "Lean.Environment", "Lean.EnvironmentHeader", "Lean.Exception", "Lean.ExternAttrData", "Lean.FVarIdMap", "Lean.FVarIdSet", "Lean.IR.Decl", "Lean.LMVarId", "Lean.Level", "Lean.LevelMetavarDecl", "Lean.Literal", "Lean.LocalDecl", "Lean.LocalInstance", "Lean.MData", "Lean.MVarId", "Lean.MessageData", "Lean.Meta.AbstractMVarsResult", "Lean.Meta.Config", "Lean.Meta.ConfigWithKey", "Lean.Meta.Context", "Lean.Meta.DefEqCacheKey", "Lean.Meta.DefEqContext", "Lean.Meta.ExprConfigCacheKey", "Lean.Meta.FunInfo", "Lean.Meta.InfoCacheKey", "Lean.Meta.MetaM", "Lean.Meta.PostponedEntry", "Lean.Meta.State", "Lean.Meta.SynthInstanceCacheKey", "Lean.MetavarDecl", "Lean.ModuleIdx", "Lean.MonadEnv", "Lean.MonadError", "Lean.MonadMCtx", "Lean.MonadNameGenerator", "Lean.NameSet", "Lean.OpaqueVal", "Lean.ParserDescr", "Lean.PersistentArrayNode", "Lean.PersistentEnvExtension", "Lean.PersistentEnvExtensionState", "Lean.PersistentHashMap.Entry", "Lean.PersistentHashMap.Node", "Lean.QuotVal", "Lean.RecursorVal", "Lean.ReducibilityHints", "Lean.SMap", "Lean.Syntax", "Lean.TagDeclarationExtension", "Lean.TheoremVal", "Monad", "MonadLiftT", "Nat", "Pure", "Std.HashMap", "Std.HashSet", "String", "ToString", "UInt16", "UInt32", "UInt64", "UInt8", "USize", "Unit"] : Array String)) ((#["Applicative.toPure", "Array.casesOn", "Array.mkEmpty", "Bool.casesOn", "Char.ofNat", "EIO", "EmptyCollection.emptyCollection", "Eq", "Eq.casesOn", "Eq.ndrec", "Eq.refl", "Eq.symm", "False", "False.elim", "HEq", "HEq.refl", "IO.RealWorld", "Inhabited", "Inhabited.default", "Inhabited.mk", "Lean.Compiler.LCNF.Alt.casesOn", "Lean.Compiler.LCNF.Arg.casesOn", "Lean.Compiler.LCNF.Cases.casesOn", "Lean.Compiler.LCNF.Code.casesOn", "Lean.Compiler.LCNF.CompilerM.State.mk", "Lean.Compiler.LCNF.CtorInfo.casesOn", "Lean.Compiler.LCNF.Decl.toSignature", "Lean.Compiler.LCNF.Decl.value", "Lean.Compiler.LCNF.DeclValue.casesOn", "Lean.Compiler.LCNF.FunDecl.casesOn", "Lean.Compiler.LCNF.LCtx.mk", "Lean.Compiler.LCNF.LetDecl.fvarId", "Lean.Compiler.LCNF.LetDecl.type", "Lean.Compiler.LCNF.LetDecl.value", "Lean.Compiler.LCNF.LetValue.casesOn", "Lean.Compiler.LCNF.LitValue.casesOn", "Lean.Compiler.LCNF.Param.borrow", "Lean.Compiler.LCNF.Param.fvarId", "Lean.Compiler.LCNF.Param.type", "Lean.Compiler.LCNF.Purity.ctorIdx", "Lean.Compiler.LCNF.Signature.levelParams", "Lean.Compiler.LCNF.Signature.name", "Lean.Compiler.LCNF.Signature.params", "Lean.Compiler.LCNF.Signature.safe", "Lean.Compiler.LCNF.Signature.type", "Lean.ConstantInfo.casesOn", "Lean.ConstantInfo.ctorIdx", "Lean.ConstantInfo.rec", "Lean.ConstantKind.casesOn", "Lean.ConstantVal.type", "Lean.ConstructorVal.induct", "Lean.ConstructorVal.numFields", "Lean.ConstructorVal.numParams", "Lean.ConstructorVal.toConstantVal", "Lean.Core.instAddMessageContextCoreM", "Lean.Core.instInhabitedCoreM", "Lean.Core.instMonadCoreM", "Lean.Core.instMonadEnvCoreM", "Lean.Core.instMonadLiftIOCoreM", "Lean.Core.instMonadNameGeneratorCoreM", "Lean.Core.instMonadRefCoreM", "Lean.DefinitionSafety.casesOn", "Lean.DefinitionVal.safety", "Lean.Elab.Command.instAddErrorMessageContextCommandElabM", "Lean.Elab.Command.instInhabitedCommandElabM", "Lean.Elab.Command.instMonadCommandElabM", "Lean.Elab.Command.instMonadEnvCommandElabM", "Lean.Elab.Command.instMonadExceptOfExceptionCommandElabM", "Lean.Elab.Command.instMonadLiftTIOCommandElabM", "Lean.Elab.Command.instMonadRefCommandElabM", "Lean.Elab.MonadMacroAdapter.toMonadQuotation", "Lean.Elab.Term.instAddErrorMessageContextTermElabM", "Lean.Elab.Term.instMonadMacroAdapterTermElabM", "Lean.Elab.Term.instMonadTermElabM", "Lean.Expr.casesOn", "Lean.Expr.ctorIdx", "Lean.Expr.instBEq", "Lean.Expr.instHashable", "Lean.Expr.rec", "Lean.FVarId.casesOn", "Lean.FVarId.name", "Lean.InductiveVal.ctors", "Lean.InductiveVal.isRec", "Lean.InductiveVal.numIndices", "Lean.InductiveVal.numParams", "Lean.Level.instBEq", "Lean.Level.instToString", "Lean.LocalContext.mk", "Lean.Meta.Cache.mk", "Lean.Meta.Context.mk", "Lean.Meta.Diagnostics.mk", "Lean.Meta.State.mk", "Lean.Meta.instBEqDefEqCacheKey", "Lean.Meta.instBEqExprConfigCacheKey", "Lean.Meta.instBEqInfoCacheKey", "Lean.Meta.instBEqSynthInstanceCacheKey", "Lean.Meta.instHashableDefEqCacheKey", "Lean.Meta.instHashableExprConfigCacheKey", "Lean.Meta.instHashableInfoCacheKey", "Lean.Meta.instHashableSynthInstanceCacheKey", "Lean.Meta.instInhabitedConfigWithKey", "Lean.Meta.instMonadEnvMetaM", "Lean.Meta.instMonadMCtxMetaM", "Lean.Meta.instMonadMetaM", "Lean.MetavarContext.mk", "Lean.MonadError.mk", "Lean.MonadQuotation.toMonadRef", "Lean.Name.instBEq", "Lean.ParserDescr.binary", "Lean.ParserDescr.cat", "Lean.ParserDescr.const", "Lean.ParserDescr.node", "Lean.ParserDescr.symbol", "Lean.PersistentArray.mk", "Lean.PersistentArrayNode.node", "Lean.PersistentHashMap.Node.entries", "Lean.PersistentHashMap.mk", "Lean.instAddErrorMessageContextOfAddMessageContextOfMonad", "Lean.instBEqBinderInfo", "Lean.instBEqFVarId", "Lean.instBEqLevelMVarId", "Lean.instBEqLiteral", "Lean.instBEqMVarId", "Lean.instEmptyCollectionFVarIdMap", "Lean.instEmptyCollectionFVarIdSet", "Lean.instHashableFVarId", "Lean.instHashableLevelMVarId", "Lean.instHashableMVarId", "Lean.instHashableName", "Lean.instMonadEnvOfMonadLift", "Lean.instMonadExceptOfExceptionCoreM", "Lean.instMonadMCtxOfMonadLift", "List.casesOn", "List.instBEq", "List.toArray", "Monad.toBind", "Nat.hasNotBit", "Nat.land", "Nat.ne_of_beq_eq_false", "Nat.shiftRight", "OfNat.ofNat", "Option.casesOn", "Prod.fst", "Prod.snd", "ReaderT.instApplicativeOfMonad", "ReaderT.instMonadExceptOf", "ReaderT.instMonadLift", "StateRefT'", "StateRefT'.instMonad", "StateRefT'.instMonadExceptOf", "StateRefT'.instMonadLift", "Std.HashMap.instEmptyCollection", "String.instInhabited", "USize.toNat", "eq_of_heq", "instBEqOfDecidableEq", "instDecidableEqBool", "instDecidableEqChar", "instDecidableEqNat", "instDecidableEqString", "instInhabitedBool", "instInhabitedList", "instInhabitedProd", "instMonadEIO", "instMonadLiftT", "instMonadLiftTOfMonadLift", "instOfNatNat", "instToStringList", "instToStringNat", "instToStringString", "ite", "noConfusion_of_Nat"] : Array String)) - -#eval LexLeanExtract.main ((#["Coverage.Boundary.groveRoot", "Coverage.Colls.mapOps", "Coverage.Colls.mapFolding", "Coverage.Colls.setOps", "Coverage.Colls.folds", "Coverage.Colls.iterations", "Coverage.Colls.graphs", "Coverage.Colls.stringGraph", "Coverage.Colls.keyTypes", "Coverage.Colls.literals", "Coverage.Main.natOps", "Coverage.Main.intOps", "Coverage.Main.shapes", "Coverage.Main.treeTotal", "Coverage.Main.records", "Coverage.Main.options", "Coverage.Main.builders", "Coverage.Main.pairs", "Coverage.Main.higher", "Coverage.Main.mapped", "Coverage.Main.parity", "Coverage.Prims.fixedSmall", "Coverage.Prims.fixedMiddle", "Coverage.Prims.fixedWide", "Coverage.Prims.bits", "Coverage.Prims.conversions", "Coverage.Prims.sequences", "Coverage.Prims.decimals", "Coverage.Prims.formats", "Coverage.Prims.text", "Coverage.RecRoots.roseTotal", "Coverage.RecRoots.syntaxTotal", "Coverage.RecRoots.wellFounded", "Coverage.RecRoots.rewrite"] : Array String)) ((#["Coverage.Boundary", "Coverage.Colls", "Coverage.Main", "Coverage.Prims", "Coverage.RecRoots", "Coverage.Recur", "Coverage.Syntax", "Coverage.Types"] : Array String)) diff --git a/examples/production-coverage/expected/verify/extract/LexLeanExtract.Xe371869b9b3ca32388daafe8348a6ca5.lean b/examples/production-coverage/expected/verify/extract/LexLeanExtract.Xe371869b9b3ca32388daafe8348a6ca5.lean new file mode 100644 index 000000000..cb66824ee --- /dev/null +++ b/examples/production-coverage/expected/verify/extract/LexLeanExtract.Xe371869b9b3ca32388daafe8348a6ca5.lean @@ -0,0 +1,440 @@ +module +public meta import Lean +import all LexLeanRuntime.Portable +import all LexLeanRuntime.Collections +import all Coverage.Boundary +import all Coverage.Colls +import all Coverage.Main +import all Coverage.Prims +import all Coverage.RecRoots +import all Coverage.Recur +import all Coverage.Syntax +import all Coverage.Types +set_option autoImplicit false +set_option linter.unusedVariables false +universe u u_1 u_2 v w + +meta def LexLeanExtract.escape (text : String) : String := + (String.foldl (α := String) (fun (out : String) (c : Char) => (if (BEq.beq (α := Char) c '"') then (String.append out "\\\"") else (if (BEq.beq (α := Char) c '\\') then (String.append out "\\\\") else (if (Nat.blt (Char.toNat c) 32) then (String.append out (String.append "\\u" (String.ofList (List.drop (α := Char) 1 (Nat.toDigits 16 (Nat.add (Char.toNat c) 65536)))))) else (String.push out c))))) "" text) + +meta def LexLeanExtract.str (text : String) : String := + (String.append "\"" (String.append (LexLeanExtract.escape text) "\"")) + +meta def LexLeanExtract.name (n : Lean.Name) : String := + (LexLeanExtract.str (Lean.Name.toString n)) + +meta def LexLeanExtract.arr (items : (List String)) : String := + (String.append "[" (String.append (String.intercalate "," items) "]")) + +meta def LexLeanExtract.obj (fields : (List (Prod String String))) : String := + (String.append "{" (String.append (String.intercalate "," (List.map (α := (Prod String String)) (β := String) (fun (kv : (Prod String String)) => (String.append (LexLeanExtract.str (kv).fst) (String.append ":" (kv).snd))) fields)) "}")) + +meta def LexLeanExtract.bool (value : Bool) : String := + (if value then "true" else "false") + +meta def LexLeanExtract.fvar (id : Lean.FVarId) : String := + (LexLeanExtract.name (id).name) + +meta partial def LexLeanExtract.mergeNames (a : (List Lean.Name)) (b : (List Lean.Name)) : (List Lean.Name) := + (match a with | .nil => b | .cons x xs => (match b with | .nil => a | .cons y ys => (if (Lean.Name.lt y x) then (List.cons (α := Lean.Name) y (LexLeanExtract.mergeNames a ys)) else (List.cons (α := Lean.Name) x (LexLeanExtract.mergeNames xs b))))) + +meta partial def LexLeanExtract.splitNames (l : (List Lean.Name)) : (Prod (List Lean.Name) (List Lean.Name)) := + (match l with | .nil => (Prod.mk (α := (List Lean.Name)) (β := (List Lean.Name)) (List.nil (α := Lean.Name)) (List.nil (α := Lean.Name))) | .cons x xs => (let rest : (Prod (List Lean.Name) (List Lean.Name)) := (LexLeanExtract.splitNames xs); (Prod.mk (α := (List Lean.Name)) (β := (List Lean.Name)) (List.cons (α := Lean.Name) x (rest).snd) (rest).fst))) + +meta partial def LexLeanExtract.sortNames (l : (List Lean.Name)) : (List Lean.Name) := + (match l with | .nil => (List.nil (α := Lean.Name)) | .cons x xs => (match xs with | .nil => l | .cons y ys => (let halves : (Prod (List Lean.Name) (List Lean.Name)) := (LexLeanExtract.splitNames l); (LexLeanExtract.mergeNames (LexLeanExtract.sortNames (halves).fst) (LexLeanExtract.sortNames (halves).snd))))) + +meta def LexLeanExtract.sorted (names : (Std.HashSet Lean.Name)) : (List Lean.Name) := + (LexLeanExtract.sortNames (Std.HashSet.toList (α := Lean.Name) names)) + +meta def LexLeanExtract.insert (names : (Std.HashSet Lean.Name)) (n : Lean.Name) : (Std.HashSet Lean.Name) := + (Std.HashSet.insert (α := Lean.Name) names n) + +meta partial def LexLeanExtract.type (e : Lean.Expr) : String := + (match e with | .const n us => (if (BEq.beq (α := Lean.Name) n ``lcErased) then (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "erased"))] : List (Prod String String)))) else (if (BEq.beq (α := Lean.Name) n ``lcAny) then (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "any"))] : List (Prod String String)))) else (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "const")), (Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name n)), (Prod.mk (α := String) (β := String) "levels" (LexLeanExtract.arr (List.map (α := Lean.Level) (β := String) (fun (u : Lean.Level) => (LexLeanExtract.str (ToString.toString (α := Lean.Level) u))) us)))] : List (Prod String String)))))) | .app fn arg => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "app")), (Prod.mk (α := String) (β := String) "head" (LexLeanExtract.type (Lean.Expr.getAppFn e))), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := Lean.Expr) (β := String) (fun (a : Lean.Expr) => (LexLeanExtract.type a)) (Array.toList (α := Lean.Expr) (Lean.Expr.getAppArgs e)))))] : List (Prod String String)))) | .forallE binderName domain body binderInfo => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "arrow")), (Prod.mk (α := String) (β := String) "domain" (LexLeanExtract.type domain)), (Prod.mk (α := String) (β := String) "codomain" (LexLeanExtract.type body))] : List (Prod String String)))) | .fvar id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "fvar")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar id))] : List (Prod String String)))) | .bvar position => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "bvar")), (Prod.mk (α := String) (β := String) "index" (ToString.toString (α := Nat) position))] : List (Prod String String)))) | .sort u => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "sort")), (Prod.mk (α := String) (β := String) "level" (LexLeanExtract.str (ToString.toString (α := Lean.Level) u)))] : List (Prod String String)))) | .mvar id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "metavariable"))] : List (Prod String String)))) | .lam binderName domain body binderInfo => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "lambda"))] : List (Prod String String)))) | .letE declName t value body nonDep => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "let"))] : List (Prod String String)))) | .lit literal => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "literal"))] : List (Prod String String)))) | .mdata data body => (match (Lean.annotation? (Lean.Name.mkSimple "borrowed") e) with | .some annotated => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "borrowed")), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type body))] : List (Prod String String)))) | .none => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "metadata"))] : List (Prod String String))))) | .proj typeName idx struct => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "projection"))] : List (Prod String String))))) + +meta def LexLeanExtract.arg (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) : String := + (match a with | .erased => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "erased"))] : List (Prod String String)))) | .fvar id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "fvar")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar id))] : List (Prod String String)))) | .type e => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "type")), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type e))] : List (Prod String String))))) + +meta def LexLeanExtract.literal (value : Lean.Compiler.LCNF.LitValue) : String := + (match value with | .nat v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "nat")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) v)))] : List (Prod String String)))) | .str v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "string")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str v))] : List (Prod String String)))) | .uint8 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint8")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt8.toNat v))))] : List (Prod String String)))) | .uint16 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint16")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt16.toNat v))))] : List (Prod String String)))) | .uint32 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint32")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt32.toNat v))))] : List (Prod String String)))) | .uint64 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint64")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt64.toNat v))))] : List (Prod String String)))) | .usize v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "usize")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt64.toNat v))))] : List (Prod String String))))) + +meta def LexLeanExtract.letValue (v : (Lean.Compiler.LCNF.LetValue Lean.Compiler.LCNF.Purity.pure)) : String := + (match v with | .lit value => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "literal")), (Prod.mk (α := String) (β := String) "literal" (LexLeanExtract.literal value))] : List (Prod String String)))) | .erased => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "erased"))] : List (Prod String String)))) | .proj typeName position struct => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "projection")), (Prod.mk (α := String) (β := String) "type_name" (LexLeanExtract.name typeName)), (Prod.mk (α := String) (β := String) "index" (ToString.toString (α := Nat) position)), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.fvar struct))] : List (Prod String String)))) | .const declName us args => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "const")), (Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name declName)), (Prod.mk (α := String) (β := String) "levels" (LexLeanExtract.arr (List.map (α := Lean.Level) (β := String) (fun (u : Lean.Level) => (LexLeanExtract.str (ToString.toString (α := Lean.Level) u))) us))), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.arg a)) (Array.toList (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) args))))] : List (Prod String String)))) | .fvar id args => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "apply")), (Prod.mk (α := String) (β := String) "function" (LexLeanExtract.fvar id)), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.arg a)) (Array.toList (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) args))))] : List (Prod String String))))) + +meta def LexLeanExtract.param (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) : String := + (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar (p).fvarId)), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type (p).type)), (Prod.mk (α := String) (β := String) "borrow" (LexLeanExtract.bool (p).borrow))] : List (Prod String String)))) + +mutual +meta partial def LexLeanExtract.code (c : (Lean.Compiler.LCNF.Code Lean.Compiler.LCNF.Purity.pure)) : String := + (match c with | .«let» decl k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "let")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar (decl).fvarId)), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type (decl).type)), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.letValue (decl).value)), (Prod.mk (α := String) (β := String) "body" (LexLeanExtract.code k))] : List (Prod String String)))) | .«fun» decl k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "fun")), (Prod.mk (α := String) (β := String) "declaration" (LexLeanExtract.funDecl decl)), (Prod.mk (α := String) (β := String) "body" (LexLeanExtract.code k))] : List (Prod String String)))) | .jp decl k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "join")), (Prod.mk (α := String) (β := String) "declaration" (LexLeanExtract.funDecl decl)), (Prod.mk (α := String) (β := String) "body" (LexLeanExtract.code k))] : List (Prod String String)))) | .jmp id args => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "jump")), (Prod.mk (α := String) (β := String) "target" (LexLeanExtract.fvar id)), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.arg a)) (Array.toList (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) args))))] : List (Prod String String)))) | .cases cs => (LexLeanExtract.cases cs) | .«return» id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "return")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar id))] : List (Prod String String)))) | .unreach t => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unreachable")), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type t))] : List (Prod String String))))) + +meta partial def LexLeanExtract.funDecl (d : (Lean.Compiler.LCNF.FunDecl Lean.Compiler.LCNF.Purity.pure)) : String := + (match d with | .mk fvarId binderName params type value => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar fvarId)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param p)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) params)))), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type type)), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.code value))] : List (Prod String String))))) + +meta partial def LexLeanExtract.cases (cs : (Lean.Compiler.LCNF.Cases Lean.Compiler.LCNF.Purity.pure)) : String := + (match cs with | .mk typeName resultType discr alts => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "cases")), (Prod.mk (α := String) (β := String) "type_name" (LexLeanExtract.name typeName)), (Prod.mk (α := String) (β := String) "result_type" (LexLeanExtract.type resultType)), (Prod.mk (α := String) (β := String) "discriminant" (LexLeanExtract.fvar discr)), (Prod.mk (α := String) (β := String) "alternatives" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.alt a)) (Array.toList (α := (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) alts))))] : List (Prod String String))))) + +meta partial def LexLeanExtract.alt (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) : String := + (match a with | .alt ctorName params k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "constructor")), (Prod.mk (α := String) (β := String) "constructor" (LexLeanExtract.name ctorName)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param p)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) params)))), (Prod.mk (α := String) (β := String) "code" (LexLeanExtract.code k))] : List (Prod String String)))) | .default k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "default")), (Prod.mk (α := String) (β := String) "code" (LexLeanExtract.code k))] : List (Prod String String))))) +end + +meta partial def LexLeanExtract.typeConstants (e : Lean.Expr) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (match e with | .const n us => (if (Bool.or (BEq.beq (α := Lean.Name) n ``lcErased) (BEq.beq (α := Lean.Name) n ``lcAny)) then out else (LexLeanExtract.insert out n)) | .app f a => (LexLeanExtract.typeConstants a (LexLeanExtract.typeConstants f out)) | .forallE binderName d b binderInfo => (LexLeanExtract.typeConstants b (LexLeanExtract.typeConstants d out)) | .bvar position => out | .fvar id => out | .mvar id => out | .sort u => out | .lit literal => out | .lam binderName d b binderInfo => (LexLeanExtract.typeConstants b (LexLeanExtract.typeConstants d out)) | .letE declName t v b nonDep => (LexLeanExtract.typeConstants b (LexLeanExtract.typeConstants v (LexLeanExtract.typeConstants t out))) | .mdata data b => (LexLeanExtract.typeConstants b out) | .proj typeName idx b => (LexLeanExtract.typeConstants b (LexLeanExtract.insert out typeName))) + +meta def LexLeanExtract.argConstants (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (match a with | .type e => (LexLeanExtract.typeConstants e out) | .erased => out | .fvar id => out) + +meta def LexLeanExtract.paramConstants (ps : (Array (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure))) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (Array.foldl (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.typeConstants (p).type acc)) out ps) + +meta def LexLeanExtract.letValueConstants (v : (Lean.Compiler.LCNF.LetValue Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (match v with | .const n us args => (Array.foldl (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.argConstants a acc)) (LexLeanExtract.insert out n) args) | .fvar id args => (Array.foldl (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.argConstants a acc)) out args) | .proj typeName position struct => (LexLeanExtract.insert out typeName) | .lit value => out | .erased => out) + +mutual +meta partial def LexLeanExtract.codeConstants (c : (Lean.Compiler.LCNF.Code Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (match c with | .«let» decl k => (LexLeanExtract.codeConstants k (LexLeanExtract.letValueConstants (decl).value (LexLeanExtract.typeConstants (decl).type out))) | .«fun» decl k => (LexLeanExtract.codeConstants k (LexLeanExtract.funConstants decl out)) | .jp decl k => (LexLeanExtract.codeConstants k (LexLeanExtract.funConstants decl out)) | .jmp id args => (Array.foldl (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.argConstants a acc)) out args) | .cases cs => (LexLeanExtract.casesConstants cs out) | .«return» id => out | .unreach t => (LexLeanExtract.typeConstants t out)) + +meta partial def LexLeanExtract.funConstants (d : (Lean.Compiler.LCNF.FunDecl Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (match d with | .mk fvarId binderName params type value => (LexLeanExtract.codeConstants value (LexLeanExtract.typeConstants type (LexLeanExtract.paramConstants params out)))) + +meta partial def LexLeanExtract.casesConstants (cs : (Lean.Compiler.LCNF.Cases Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (match cs with | .mk typeName resultType discr alts => (Array.foldl (α := (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.altConstants a acc)) (LexLeanExtract.typeConstants resultType (LexLeanExtract.insert out typeName)) alts)) + +meta partial def LexLeanExtract.altConstants (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (match a with | .alt ctorName ps k => (LexLeanExtract.codeConstants k (LexLeanExtract.paramConstants ps (LexLeanExtract.insert out ctorName))) | .default k => (LexLeanExtract.codeConstants k out)) +end + +meta def LexLeanExtract.kind (info : Lean.ConstantInfo) : String := + (match info with | .defnInfo value => (match (value).safety with | .safe => "definition" | .«unsafe» => "unsafe-definition" | .«partial» => "partial-definition") | .opaqueInfo opaqueValue => "opaque" | .thmInfo theoremValue => "theorem" | .axiomInfo axiomValue => "axiom" | .inductInfo inductiveValue => "inductive" | .ctorInfo constructorValue => "constructor" | .recInfo recursorValue => "recursor" | .quotInfo quotientValue => "quotient") + +meta def LexLeanExtract.originalKind (env : Lean.Environment) (n : Lean.Name) : String := + (match (Lean.getOriginalConstKind? env n) with | .some original => (match original with | .defn => "definition" | .thm => "theorem" | .«axiom» => "axiom" | .«opaque» => "opaque" | .quot => "quotient" | .induct => "inductive" | .ctor => "constructor" | .recursor => "recursor") | .none => "unknown") + +meta def LexLeanExtract.moduleOf (env : Lean.Environment) (n : Lean.Name) : Lean.Name := + (match (Lean.Environment.getModuleIdxFor? env n) with | .some index => (Array.getD (α := Lean.Name) (Lean.EnvironmentHeader.moduleNames (Lean.Environment.header env)) index (Lean.Name.anonymous)) | .none => (Lean.Name.anonymous)) + +meta def LexLeanExtract.inProject (env : Lean.Environment) (modules : (Array Lean.Name)) (n : Lean.Name) : Bool := + (Array.contains (α := Lean.Name) modules (LexLeanExtract.moduleOf env n)) + +meta def LexLeanExtract.facts (env : Lean.Environment) (n : Lean.Name) (info : Lean.ConstantInfo) : (Lean.Core.CoreM (List (Prod String String))) := + (Bind.bind (m := Lean.Core.CoreM) (α := Bool) (β := (List (Prod String String))) (Lean.Compiler.LCNF.shouldGenerateCode n) (fun (generates : Bool) => (Pure.pure (f := Lean.Core.CoreM) (α := (List (Prod String String))) (([(Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name n)), (Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str (LexLeanExtract.kind info))), (Prod.mk (α := String) (β := String) "module" (LexLeanExtract.name (LexLeanExtract.moduleOf env n))), (Prod.mk (α := String) (β := String) "computable" (LexLeanExtract.bool (Bool.not (Lean.isNoncomputable env n)))), (Prod.mk (α := String) (β := String) "generates_code" (LexLeanExtract.bool generates)), (Prod.mk (α := String) (β := String) "original_kind" (LexLeanExtract.str (LexLeanExtract.originalKind env n))), (Prod.mk (α := String) (β := String) "internal" (LexLeanExtract.bool (Lean.Name.isInternal n)))] : List (Prod String String)))))) + +mutual +meta partial def LexLeanExtract.sameSignature (a : Lean.Expr) (b : Lean.Expr) : Bool := + (match a with | .mdata data1 inner1 => (LexLeanExtract.sameSignature inner1 b) | _ => (match b with | .mdata data2 inner2 => (LexLeanExtract.sameSignature a inner2) | _ => (LexLeanExtract.sameStructure a b))) + +meta partial def LexLeanExtract.sameStructure (a : Lean.Expr) (b : Lean.Expr) : Bool := + (match a with | .forallE name1 domain1 body1 info1 => (match b with | .forallE name2 domain2 body2 info2 => (Bool.and (BEq.beq (α := Lean.BinderInfo) info1 info2) (Bool.and (LexLeanExtract.sameSignature domain1 domain2) (LexLeanExtract.sameSignature body1 body2))) | _ => (Bool.false)) | .lam name1 domain1 body1 info1 => (match b with | .lam name2 domain2 body2 info2 => (Bool.and (BEq.beq (α := Lean.BinderInfo) info1 info2) (Bool.and (LexLeanExtract.sameSignature domain1 domain2) (LexLeanExtract.sameSignature body1 body2))) | _ => (Bool.false)) | .app function1 argument1 => (match b with | .app function2 argument2 => (Bool.and (LexLeanExtract.sameSignature function1 function2) (LexLeanExtract.sameSignature argument1 argument2)) | _ => (Bool.false)) | .const constant1 levels1 => (match b with | .const constant2 levels2 => (Bool.and (BEq.beq (α := Lean.Name) constant1 constant2) (BEq.beq (α := (List Lean.Level)) levels1 levels2)) | _ => (Bool.false)) | .sort level1 => (match b with | .sort level2 => (BEq.beq (α := Lean.Level) level1 level2) | _ => (Bool.false)) | .bvar position1 => (match b with | .bvar position2 => (BEq.beq (α := Nat) position1 position2) | _ => (Bool.false)) | .lit literal1 => (match b with | .lit literal2 => (BEq.beq (α := Lean.Literal) literal1 literal2) | _ => (Bool.false)) | .fvar free1 => (match b with | .fvar free2 => (BEq.beq (α := Lean.FVarId) free1 free2) | _ => (Bool.false)) | .mvar meta1 => (match b with | .mvar meta2 => (BEq.beq (α := Lean.MVarId) meta1 meta2) | _ => (Bool.false)) | .letE local1 type1 value1 scope1 flag1 => (match b with | .letE local2 type2 value2 scope2 flag2 => (Bool.and (LexLeanExtract.sameSignature type1 type2) (Bool.and (LexLeanExtract.sameSignature value1 value2) (LexLeanExtract.sameSignature scope1 scope2))) | _ => (Bool.false)) | .proj structure1 field1 target1 => (match b with | .proj structure2 field2 target2 => (Bool.and (BEq.beq (α := Lean.Name) structure1 structure2) (Bool.and (BEq.beq (α := Nat) field1 field2) (LexLeanExtract.sameSignature target1 target2))) | _ => (Bool.false)) | _ => (Bool.false)) +end + +public meta def LexLeanExtract.elabSignature : Lean.Elab.Command.CommandElab := + (fun (stx : Lean.Syntax) => (Lean.Elab.Command.liftTermElabM (α := Unit) (let declName : Lean.Name := (Lean.Syntax.getId (Lean.Syntax.getArg stx 1)); (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.ConstantInfo) (β := Unit) (Lean.getConstInfo (m := Lean.Elab.Term.TermElabM) declName) (fun (info : Lean.ConstantInfo) => (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.Expr) (β := Unit) (Lean.Elab.Term.elabType (Lean.Syntax.getArg stx 3)) (fun (elaborated : Lean.Expr) => (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.Expr) (β := Unit) (Lean.instantiateMVars (m := Lean.Elab.Term.TermElabM) elaborated) (fun (registered : Lean.Expr) => (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.Expr) (β := Unit) (Lean.instantiateMVars (m := Lean.Elab.Term.TermElabM) (Lean.ConstantInfo.type info)) (fun (actual : Lean.Expr) => (if (LexLeanExtract.sameSignature actual registered) then (Pure.pure (f := Lean.Elab.Term.TermElabM) (α := Unit) (Unit.unit)) else (Lean.«throwError» (m := Lean.Elab.Term.TermElabM) (α := Unit) (Lean.MessageData.compose (Lean.stringToMessageData "lexlean-extract-drift: the signature of `") (Lean.MessageData.compose (Lean.MessageData.ofName declName) (Lean.MessageData.compose (Lean.stringToMessageData "` is ") (Lean.MessageData.ofExpr (Lean.ConstantInfo.type info)))))))))))))))))) + +meta def LexLeanExtract.classify (env : Lean.Environment) (c : Lean.Name) (info : Lean.ConstantInfo) : String := + (let structural : Bool := (Bool.or (Lean.Environment.isProjectionFn env c) (Bool.or (Lean.isCasesOnRecursor env c) (Bool.or (Lean.isAuxRecursor env c) (Bool.or (Lean.isNoConfusion env c) (Bool.or (Lean.Name.isInternal c) (Bool.or (Lean.Meta.isInstanceCore env c) (Bool.or (Lean.Meta.isMatcherCore env c) (BEq.beq (α := String) (Lean.Name.getString! c) "ctorIdx")))))))); (let former : Bool := (Lean.Expr.isSort (Lean.Expr.getForallBody (Lean.ConstantInfo.type info))); (match info with | .inductInfo inductiveValue => "type" | .defnInfo definitionValue => (if former then "type" else (if (Bool.and (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c) (Bool.not structural)) then "call" else "plumbing")) | .opaqueInfo opaqueValue => (if (Bool.and (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c) (Bool.not structural)) then "call" else "plumbing") | .axiomInfo axiomValue => (if (Bool.and (Bool.and (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c) (Bool.not structural)) (Bool.not former)) then "call" else "plumbing") | .thmInfo theoremValue => "plumbing" | .quotInfo quotientValue => "plumbing" | .ctorInfo constructorValue => "plumbing" | .recInfo recursorValue => "plumbing"))) + +meta def LexLeanExtract.ownNames (env : Lean.Environment) : (Std.HashSet Lean.Name) := + (Lean.SMap.foldStage2 (α := Lean.Name) (β := Lean.ConstantInfo) (σ := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (n : Lean.Name) (info : Lean.ConstantInfo) => (LexLeanExtract.insert acc n)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (Lean.Environment.constants env)) + +meta def LexLeanExtract.ownUses (env : Lean.Environment) : (Std.HashSet Lean.Name) := + (Lean.SMap.foldStage2 (α := Lean.Name) (β := Lean.ConstantInfo) (σ := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (n : Lean.Name) (info : Lean.ConstantInfo) => (if (List.elem (α := Lean.Name) (Lean.Name.mkSimple "LexLeanExtract") (Lean.Name.components (Lean.Name.eraseMacroScopes n))) then (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (seen : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert seen used)) (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (seen : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert seen used)) acc (Lean.Expr.getUsedConstants (Lean.ConstantInfo.type info))) (match (Lean.ConstantInfo.value? info (Bool.true)) with | .some value => (Lean.Expr.getUsedConstants value) | .none => ((#[] : Array Lean.Name)))) else acc)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (Lean.Environment.constants env)) + +meta partial def LexLeanExtract.classifyAll (env : Lean.Environment) (own : (Std.HashSet Lean.Name)) (names : (List Lean.Name)) : (Lean.Elab.Command.CommandElabM (List (Prod Lean.Name String))) := + (match names with | .nil => (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (List.nil (α := (Prod Lean.Name String)))) | .cons c rest => (if (Std.HashSet.contains (α := Lean.Name) own c) then (LexLeanExtract.classifyAll env own rest) else (match (Lean.Environment.find? env c) with | .some info => (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (β := (List (Prod Lean.Name String))) (LexLeanExtract.classifyAll env own rest) (fun (tail : (List (Prod Lean.Name String))) => (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (List.cons (α := (Prod Lean.Name String)) (Prod.mk (α := Lean.Name) (β := String) c (LexLeanExtract.classify env c info)) tail)))) | .none => (Lean.«throwError» (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (Lean.stringToMessageData (String.append "lexlean-extract-drift: the adapter uses the unknown constant `" (String.append (Lean.Name.toString c) "`"))))))) + +meta def LexLeanExtract.adapterConstants : (Lean.Elab.Command.CommandElabM (List (Prod Lean.Name String))) := + (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := Lean.Environment) (β := (List (Prod Lean.Name String))) (Lean.MonadEnv.getEnv (m := Lean.Elab.Command.CommandElabM)) (fun (env : Lean.Environment) => (LexLeanExtract.classifyAll env (LexLeanExtract.ownNames env) (LexLeanExtract.sorted (LexLeanExtract.ownUses env))))) + +meta partial def LexLeanExtract.listLines (used : (List (Prod Lean.Name String))) : (Lean.Elab.Command.CommandElabM Unit) := + (match used with | .nil => (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := Unit) (Unit.unit)) | .cons entry rest => (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := Unit) (β := Unit) (MonadLiftT.monadLift (m := IO) (n := Lean.Elab.Command.CommandElabM) (α := Unit) (IO.println (α := String) (String.append (entry).snd (String.append " " (Lean.Name.toString (entry).fst))))) (fun (printed : Unit) => (LexLeanExtract.listLines rest)))) + +meta def LexLeanExtract.listAdapterConstants : (Lean.Elab.Command.CommandElabM Unit) := + (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (β := Unit) (LexLeanExtract.adapterConstants) (fun (used : (List (Prod Lean.Name String))) => (LexLeanExtract.listLines used))) + +meta def LexLeanExtract.registeredClass (calls : (Array Lean.Name)) (types : (Array (Prod Lean.Name (Array String)))) (opaques : (Array Lean.Name)) (plumbing : (Array Lean.Name)) (c : Lean.Name) : String := + (let typeNames : (List Lean.Name) := (List.map (α := (Prod Lean.Name (Array String))) (β := Lean.Name) (fun (row : (Prod Lean.Name (Array String))) => (row).fst) (Array.toList (α := (Prod Lean.Name (Array String))) types)); (if (Array.contains (α := Lean.Name) calls c) then "call" else (if (Bool.or (List.contains (α := Lean.Name) typeNames c) (Array.contains (α := Lean.Name) opaques c)) then "type" else (if (Array.contains (α := Lean.Name) plumbing c) then "plumbing" else (if (List.any (α := (Prod Lean.Name (Array String))) (Array.toList (α := (Prod Lean.Name (Array String))) types) (fun (candidate : (Prod Lean.Name (Array String))) => (Bool.and (BEq.beq (α := Lean.Name) (Lean.Name.getPrefix c) (candidate).fst) (Array.contains (α := String) (candidate).snd (Lean.Name.getString! c))))) then "plumbing" else "unregistered"))))) + +meta partial def LexLeanExtract.usedProblems (calls : (Array Lean.Name)) (types : (Array (Prod Lean.Name (Array String)))) (opaques : (Array Lean.Name)) (plumbing : (Array Lean.Name)) (used : (List (Prod Lean.Name String))) : (List String) := + (match used with | .nil => (List.nil (α := String)) | .cons entry rest => (let c : Lean.Name := (entry).fst; (let foreignType : Bool := (Bool.and (BEq.beq (α := String) (entry).snd "type") (Bool.not (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c))); (let expected : String := (if foreignType then "a type or plumbing" else (entry).snd); (let registered : String := (LexLeanExtract.registeredClass calls types opaques plumbing c); (if (if (BEq.beq (α := String) (entry).snd "plumbing") then (Bool.not (BEq.beq (α := String) registered "unregistered")) else (if foreignType then (Bool.or (BEq.beq (α := String) registered "type") (BEq.beq (α := String) registered "plumbing")) else (BEq.beq (α := String) registered expected))) then (LexLeanExtract.usedProblems calls types opaques plumbing rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString c) (String.append "` is used as " (String.append expected (String.append " but registered as " registered))))) (LexLeanExtract.usedProblems calls types opaques plumbing rest)))))))) + +meta partial def LexLeanExtract.unusedProblems (used : (List (Prod Lean.Name String))) (names : (List Lean.Name)) : (List String) := + (match names with | .nil => (List.nil (α := String)) | .cons c rest => (if (List.any (α := (Prod Lean.Name String)) used (fun (entry : (Prod Lean.Name String)) => (BEq.beq (α := Lean.Name) (entry).fst c))) then (LexLeanExtract.unusedProblems used rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString c) "` is plumbing but unused")) (LexLeanExtract.unusedProblems used rest)))) + +meta partial def LexLeanExtract.typeProblems (env : Lean.Environment) (types : (List (Prod Lean.Name (Array String)))) : (List String) := + (match types with | .nil => (List.nil (α := String)) | .cons row rest => (let n : Lean.Name := (row).fst; (match (Lean.Environment.find? env n) with | .some info => (match info with | .inductInfo «inductive» => (if (BEq.beq (α := (List String)) (List.map (α := Lean.Name) (β := String) (fun (constructorName : Lean.Name) => (Lean.Name.getString! constructorName)) («inductive»).ctors) (Array.toList (α := String) (row).snd)) then (LexLeanExtract.typeProblems env rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString n) (String.append "` has constructors " (String.append (ToString.toString (α := (List String)) (List.map (α := Lean.Name) (β := String) (fun (listed : Lean.Name) => (Lean.Name.getString! listed)) («inductive»).ctors)) (String.append ", registered " (ToString.toString (α := (List String)) (Array.toList (α := String) (row).snd))))))) (LexLeanExtract.typeProblems env rest))) | _ => (if (Array.isEmpty (α := String) (row).snd) then (LexLeanExtract.typeProblems env rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString n) (String.append "` is not an inductive type, registered with constructors " (ToString.toString (α := (List String)) (Array.toList (α := String) (row).snd))))) (LexLeanExtract.typeProblems env rest)))) | .none => (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString n) "` is not a constant")) (LexLeanExtract.typeProblems env rest))))) + +meta def LexLeanExtract.checkNames (calls : (Array Lean.Name)) (types : (Array (Prod Lean.Name (Array String)))) (opaques : (Array Lean.Name)) (plumbing : (Array Lean.Name)) : (Lean.Elab.Command.CommandElabM Unit) := + (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := Lean.Environment) (β := Unit) (Lean.MonadEnv.getEnv (m := Lean.Elab.Command.CommandElabM)) (fun (env : Lean.Environment) => (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (β := Unit) (LexLeanExtract.adapterConstants) (fun (used : (List (Prod Lean.Name String))) => (let names : (List Lean.Name) := (Array.toList (α := Lean.Name) plumbing); (let differences : (List String) := (List.append (α := String) (LexLeanExtract.usedProblems calls types opaques plumbing used) (List.append (α := String) (LexLeanExtract.unusedProblems used names) (LexLeanExtract.typeProblems env (Array.toList (α := (Prod Lean.Name (Array String))) types)))); (if (List.isEmpty (α := String) differences) then (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := Unit) (Unit.unit)) else (Lean.«throwError» (m := Lean.Elab.Command.CommandElabM) (α := Unit) (Lean.stringToMessageData (String.append "lexlean-extract-drift: the adapter and its registry differ: " (String.intercalate "; " differences))))))))))) + +meta def LexLeanExtract.declUses (decl : (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) : (Std.HashSet Lean.Name) := + (match (decl).value with | .code body => (LexLeanExtract.codeConstants body (LexLeanExtract.typeConstants ((decl).toSignature).type (LexLeanExtract.paramConstants ((decl).toSignature).params (Std.HashSet.emptyWithCapacity (α := Lean.Name))))) | .extern attributes => (LexLeanExtract.typeConstants ((decl).toSignature).type (LexLeanExtract.paramConstants ((decl).toSignature).params (Std.HashSet.emptyWithCapacity (α := Lean.Name))))) + +meta def LexLeanExtract.declText (decl : (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) : String := + (let signatureUses : (Std.HashSet Lean.Name) := (LexLeanExtract.typeConstants ((decl).toSignature).type (LexLeanExtract.paramConstants ((decl).toSignature).params (Std.HashSet.emptyWithCapacity (α := Lean.Name)))); (match (decl).value with | .code body => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "safe" (LexLeanExtract.bool ((decl).toSignature).safe)), (Prod.mk (α := String) (β := String) "level_parameters" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (levelName : Lean.Name) => (LexLeanExtract.name levelName)) ((decl).toSignature).levelParams))), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type ((decl).toSignature).type)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (parameter : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param parameter)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) ((decl).toSignature).params)))), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "code")), (Prod.mk (α := String) (β := String) "code" (LexLeanExtract.code body))] : List (Prod String String))))), (Prod.mk (α := String) (β := String) "uses" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (usedName : Lean.Name) => (LexLeanExtract.name usedName)) (LexLeanExtract.sorted (LexLeanExtract.codeConstants body signatureUses)))))] : List (Prod String String)))) | .extern attributes => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "safe" (LexLeanExtract.bool ((decl).toSignature).safe)), (Prod.mk (α := String) (β := String) "level_parameters" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (levelName : Lean.Name) => (LexLeanExtract.name levelName)) ((decl).toSignature).levelParams))), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type ((decl).toSignature).type)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (parameter : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param parameter)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) ((decl).toSignature).params)))), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "extern"))] : List (Prod String String))))), (Prod.mk (α := String) (β := String) "uses" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (usedName : Lean.Name) => (LexLeanExtract.name usedName)) (LexLeanExtract.sorted signatureUses))))] : List (Prod String String)))))) + +meta partial def LexLeanExtract.codeLoop (env : Lean.Environment) (modules : (Array Lean.Name)) (queue : (List Lean.Name)) (visited : (Std.HashSet Lean.Name)) (decls : (Std.HashMap Lean.Name String)) (referenced : (Std.HashSet Lean.Name)) : (Lean.Core.CoreM (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) := + (match queue with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Prod.mk (α := (Std.HashSet Lean.Name)) (β := (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name))) visited (Prod.mk (α := (Std.HashMap Lean.Name String)) (β := (Std.HashSet Lean.Name)) decls referenced))) | .cons n rest => (if (Std.HashSet.contains (α := Lean.Name) visited n) then (LexLeanExtract.codeLoop env modules rest visited decls referenced) else (match (Lean.Environment.find? env n) with | .some info => (let visitedNow : (Std.HashSet Lean.Name) := (LexLeanExtract.insert visited n); (if (Bool.and (BEq.beq (α := String) (LexLeanExtract.kind info) "definition") (Bool.not (Lean.isNoncomputable env n))) then (Bind.bind (m := Lean.Core.CoreM) (α := Bool) (β := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.Compiler.LCNF.shouldGenerateCode n) (fun (generates : Bool) => (if generates then (Bind.bind (m := Lean.Core.CoreM) (α := Unit) (β := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.MonadNameGenerator.setNGen (m := Lean.Core.CoreM) (Lean.NameGenerator.mk (Lean.Name.mkSimple "_uniq") 1)) (fun (restarted : Unit) => (Bind.bind (m := Lean.Core.CoreM) (α := (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) (β := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.Compiler.LCNF.CompilerM.run (α := (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) (Lean.Compiler.LCNF.toDecl n)) (fun (decl : (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) => (let uses : (List Lean.Name) := (LexLeanExtract.sorted (LexLeanExtract.declUses decl)); (LexLeanExtract.codeLoop env modules (List.append (α := Lean.Name) rest (List.filter (α := Lean.Name) (fun (candidate : Lean.Name) => (LexLeanExtract.inProject env modules candidate)) uses)) visitedNow (Std.HashMap.insert (α := Lean.Name) (β := String) decls ((decl).toSignature).name (LexLeanExtract.declText decl)) (List.foldl (α := (Std.HashSet Lean.Name)) (β := Lean.Name) (fun (seen : (Std.HashSet Lean.Name)) (outside : Lean.Name) => (LexLeanExtract.insert seen outside)) referenced (List.filter (α := Lean.Name) (fun (outside : Lean.Name) => (Bool.not (LexLeanExtract.inProject env modules outside))) uses)))))))) else (LexLeanExtract.codeLoop env modules rest visitedNow decls referenced)))) else (LexLeanExtract.codeLoop env modules rest visitedNow decls referenced))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString n) "`"))))))) + +meta partial def LexLeanExtract.kernelLoop (env : Lean.Environment) (modules : (Array Lean.Name)) (queue : (List Lean.Name)) (seen : (Std.HashSet Lean.Name)) : (Lean.Core.CoreM (Std.HashSet Lean.Name)) := + (match queue with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (Std.HashSet Lean.Name)) seen) | .cons n rest => (if (Std.HashSet.contains (α := Lean.Name) seen n) then (LexLeanExtract.kernelLoop env modules rest seen) else (match (Lean.Environment.find? env n) with | .some info => (LexLeanExtract.kernelLoop env modules (List.append (α := Lean.Name) rest (List.filter (α := Lean.Name) (fun (candidate : Lean.Name) => (LexLeanExtract.inProject env modules candidate)) (LexLeanExtract.sorted (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert acc used)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (match (Lean.ConstantInfo.value? info (Bool.true)) with | .some value => (Lean.Expr.getUsedConstants value) | .none => ((#[] : Array Lean.Name))))))) (LexLeanExtract.insert seen n)) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (Std.HashSet Lean.Name)) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString n) "`"))))))) + +meta partial def LexLeanExtract.ctorRows (env : Lean.Environment) (names : (List Lean.Name)) : (Lean.Core.CoreM (List String)) := + (match names with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.nil (α := String))) | .cons c rest => (match (Lean.Environment.find? env c) with | .some info => (match info with | .ctorInfo constructor => (Bind.bind (m := Lean.Core.CoreM) (α := Lean.Expr) (β := (List String)) (Lean.Meta.MetaM.run' (α := Lean.Expr) (Lean.Compiler.LCNF.toLCNFType ((constructor).toConstantVal).type)) (fun (constructorType : Lean.Expr) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := (List String)) (LexLeanExtract.ctorRows env rest) (fun (tail : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.cons (α := String) (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name c)), (Prod.mk (α := String) (β := String) "parameters" (ToString.toString (α := Nat) (constructor).numParams)), (Prod.mk (α := String) (β := String) "fields" (ToString.toString (α := Nat) (constructor).numFields)), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type constructorType))] : List (Prod String String)))) tail)))))) | _ => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: `" (String.append (Lean.Name.toString c) "` is not a constructor"))))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: `" (String.append (Lean.Name.toString c) "` is not a constructor")))))) + +meta def LexLeanExtract.inductiveRow (env : Lean.Environment) (n : Lean.Name) : (Lean.Core.CoreM String) := + (match (Lean.Environment.find? env n) with | .some info => (match info with | .inductInfo «inductive» => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := String) (LexLeanExtract.ctorRows env («inductive»).ctors) (fun (constructors : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := String) (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "parameters" (ToString.toString (α := Nat) («inductive»).numParams)), (Prod.mk (α := String) (β := String) "indices" (ToString.toString (α := Nat) («inductive»).numIndices)), (Prod.mk (α := String) (β := String) "recursive" (LexLeanExtract.bool («inductive»).isRec)), (Prod.mk (α := String) (β := String) "constructors" (LexLeanExtract.arr constructors))] : List (Prod String String))))))) | _ => (Pure.pure (f := Lean.Core.CoreM) (α := String) "null")) | .none => (Pure.pure (f := Lean.Core.CoreM) (α := String) "null")) + +meta partial def LexLeanExtract.constantRows (env : Lean.Environment) (decls : (Std.HashMap Lean.Name String)) (names : (List Lean.Name)) : (Lean.Core.CoreM (List String)) := + (match names with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.nil (α := String))) | .cons n rest => (match (Lean.Environment.find? env n) with | .some info => (Bind.bind (m := Lean.Core.CoreM) (α := (List (Prod String String))) (β := (List String)) (LexLeanExtract.facts env n info) (fun (row : (List (Prod String String))) => (Bind.bind (m := Lean.Core.CoreM) (α := String) (β := (List String)) (LexLeanExtract.inductiveRow env n) (fun (inductiveText : String) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := (List String)) (LexLeanExtract.constantRows env decls rest) (fun (tail : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.cons (α := String) (LexLeanExtract.obj (List.append (α := (Prod String String)) row (([(Prod.mk (α := String) (β := String) "kernel_uses" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (usedName : Lean.Name) => (LexLeanExtract.name usedName)) (LexLeanExtract.sorted (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert acc used)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (match (Lean.ConstantInfo.value? info (Bool.true)) with | .some value => (Lean.Expr.getUsedConstants value) | .none => ((#[] : Array Lean.Name)))))))), (Prod.mk (α := String) (β := String) "declaration" (Option.getD (α := String) (Std.HashMap.get? (α := Lean.Name) (β := String) decls n) "null")), (Prod.mk (α := String) (β := String) "inductive" inductiveText)] : List (Prod String String))))) tail)))))))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString n) "`")))))) + +meta partial def LexLeanExtract.externalRows (env : Lean.Environment) (names : (List Lean.Name)) : (Lean.Core.CoreM (List String)) := + (match names with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.nil (α := String))) | .cons r rest => (match (Lean.Environment.find? env r) with | .some info => (Bind.bind (m := Lean.Core.CoreM) (α := (List (Prod String String))) (β := (List String)) (LexLeanExtract.facts env r info) (fun (row : (List (Prod String String))) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := (List String)) (LexLeanExtract.externalRows env rest) (fun (tail : (List String)) => (let compiled : (Prod String String) := (Prod.mk (α := String) (β := String) "compiled" (LexLeanExtract.bool (Option.isSome (α := Lean.IR.Decl) (Lean.IR.findEnvDecl env r)))); (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.cons (α := String) (LexLeanExtract.obj (List.append (α := (Prod String String)) row (match info with | .ctorInfo constructor => (([compiled, (Prod.mk (α := String) (β := String) "inductive_type" (LexLeanExtract.name (constructor).induct))] : List (Prod String String))) | _ => (([compiled] : List (Prod String String)))))) tail))))))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString r) "`")))))) + +meta partial def LexLeanExtract.checkRoots (env : Lean.Environment) (modules : (Array Lean.Name)) (roots : (List Lean.Name)) : (Lean.Core.CoreM Unit) := + (match roots with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := Unit) (Unit.unit)) | .cons root rest => (if (Bool.and (LexLeanExtract.inProject env modules root) (Option.isSome (α := Lean.ConstantInfo) (Lean.Environment.find? env root))) then (LexLeanExtract.checkRoots env modules rest) else (Lean.«throwError» (m := Lean.Core.CoreM) (α := Unit) (Lean.stringToMessageData (String.append "lexlean-extract: unknown root `" (String.append (Lean.Name.toString root) "`")))))) + +meta def LexLeanExtract.run (roots : (Array Lean.Name)) (modules : (Array Lean.Name)) : (Lean.Core.CoreM String) := + (Bind.bind (m := Lean.Core.CoreM) (α := Lean.Environment) (β := String) (Lean.MonadEnv.getEnv (m := Lean.Core.CoreM)) (fun (env : Lean.Environment) => (Bind.bind (m := Lean.Core.CoreM) (α := Unit) (β := String) (LexLeanExtract.checkRoots env modules (Array.toList (α := Lean.Name) roots)) (fun (checked : Unit) => (Bind.bind (m := Lean.Core.CoreM) (α := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (β := String) (LexLeanExtract.codeLoop env modules (Array.toList (α := Lean.Name) roots) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (Std.HashMap.emptyWithCapacity (α := Lean.Name) (β := String)) (Std.HashSet.emptyWithCapacity (α := Lean.Name))) (fun (visit : (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) => (Bind.bind (m := Lean.Core.CoreM) (α := (Std.HashSet Lean.Name)) (β := String) (LexLeanExtract.kernelLoop env modules (Std.HashSet.toList (α := Lean.Name) (visit).fst) (Std.HashSet.emptyWithCapacity (α := Lean.Name))) (fun (recorded : (Std.HashSet Lean.Name)) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := String) (LexLeanExtract.constantRows env ((visit).snd).fst (LexLeanExtract.sorted recorded)) (fun (constants : (List String)) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := String) (LexLeanExtract.externalRows env (LexLeanExtract.sorted ((visit).snd).snd)) (fun (externals : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := String) (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "spec" (LexLeanExtract.str "lexlean/lcnf-extraction/2")), (Prod.mk (α := String) (β := String) "lean" (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "version" (LexLeanExtract.str (Lean.versionString))), (Prod.mk (α := String) (β := String) "githash" (LexLeanExtract.str (Lean.githash)))] : List (Prod String String))))), (Prod.mk (α := String) (β := String) "roots" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (listedName : Lean.Name) => (LexLeanExtract.name listedName)) (Array.toList (α := Lean.Name) roots)))), (Prod.mk (α := String) (β := String) "constants" (LexLeanExtract.arr constants)), (Prod.mk (α := String) (β := String) "externals" (LexLeanExtract.arr externals))] : List (Prod String String))))))))))))))))) + +meta def LexLeanExtract.mainNames (roots : (Array Lean.Name)) (modules : (Array Lean.Name)) : (Lean.Elab.Command.CommandElabM Unit) := + (Lean.Elab.Command.liftCoreM (α := Unit) (Bind.bind (m := Lean.Core.CoreM) (α := String) (β := Unit) (LexLeanExtract.run roots modules) (fun (text : String) => (MonadLiftT.monadLift (m := IO) (n := Lean.Core.CoreM) (α := Unit) (IO.println (α := String) text))))) + +meta def LexLeanExtract.toNames (texts : (Array String)) : (Array Lean.Name) := + (Array.map (α := String) (β := Lean.Name) (fun (text : String) => (String.toName text)) texts) + +meta def LexLeanExtract.toTypeRows (rows : (Array (Prod String (Array String)))) : (Array (Prod Lean.Name (Array String))) := + (Array.map (α := (Prod String (Array String))) (β := (Prod Lean.Name (Array String))) (fun (row : (Prod String (Array String))) => (Prod.mk (α := Lean.Name) (β := (Array String)) (String.toName (row).fst) (row).snd)) rows) + +meta def LexLeanExtract.checkAuthority (calls : (Array String)) (types : (Array (Prod String (Array String)))) (opaques : (Array String)) (plumbing : (Array String)) : (Lean.Elab.Command.CommandElabM Unit) := + (LexLeanExtract.checkNames (LexLeanExtract.toNames calls) (LexLeanExtract.toTypeRows types) (LexLeanExtract.toNames opaques) (LexLeanExtract.toNames plumbing)) + +meta def LexLeanExtract.main (roots : (Array String)) (modules : (Array String)) : (Lean.Elab.Command.CommandElabM Unit) := + (LexLeanExtract.mainNames (LexLeanExtract.toNames roots) (LexLeanExtract.toNames modules)) + +syntax (name := LexLeanExtract.signatureCommand) "lexlean_signature " ident " : " term : command +attribute [command_elab LexLeanExtract.signatureCommand] LexLeanExtract.elabSignature + +lexlean_signature Array.contains : ({α : (Type u)} → ([h1 : (BEq α)] → ((Array α) → (α → Bool)))) + +lexlean_signature Array.foldl : ({α : (Type u)} → ({β : (Type v)} → ((β → (α → β)) → (β → ((as : (Array α)) → ((optParam Nat 0) → ((optParam Nat (@Array.size α as)) → β))))))) + +lexlean_signature Array.getD : ({α : (Type u_1)} → ((Array α) → (Nat → (α → α)))) + +lexlean_signature Array.isEmpty : ({α : (Type u)} → ((Array α) → Bool)) + +lexlean_signature Array.map : ({α : (Type u)} → ({β : (Type v)} → ((α → β) → ((Array α) → (Array β))))) + +lexlean_signature Array.size : ({α : (Type u)} → ((Array α) → Nat)) + +lexlean_signature Array.toList : ({α : (Type u)} → ((Array α) → (List α))) + +lexlean_signature BEq.beq : ({α : (Type u)} → ([self : (BEq α)] → (α → (α → Bool)))) + +lexlean_signature Bind.bind : ({m : ((Type u) → (Type v))} → ([self : (Bind m)] → ({α : (Type u)} → ({β : (Type u)} → ((m α) → ((α → (m β)) → (m β))))))) + +lexlean_signature Bool.and : (Bool → (Bool → Bool)) + +lexlean_signature Bool.not : (Bool → Bool) + +lexlean_signature Bool.or : (Bool → (Bool → Bool)) + +lexlean_signature Char.toNat : (Char → Nat) + +lexlean_signature IO.println : ({α : (Type u_1)} → ([h1 : (ToString α)] → (α → (IO Unit)))) + +lexlean_signature Lean.Compiler.LCNF.CompilerM.run : ({α : Type} → ((Lean.Compiler.LCNF.CompilerM α) → ((optParam Lean.Compiler.LCNF.CompilerM.State { }) → ((optParam Lean.Compiler.LCNF.Phase Lean.Compiler.LCNF.Phase.base) → (Lean.Core.CoreM α))))) + +lexlean_signature Lean.Compiler.LCNF.shouldGenerateCode : (Lean.Name → (Lean.Core.CoreM Bool)) + +lexlean_signature Lean.Compiler.LCNF.toDecl : (Lean.Name → (Lean.Compiler.LCNF.CompilerM (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure))) + +lexlean_signature Lean.Compiler.LCNF.toLCNFType : (Lean.Expr → (Lean.Meta.MetaM Lean.Expr)) + +lexlean_signature Lean.ConstantInfo.type : (Lean.ConstantInfo → Lean.Expr) + +lexlean_signature Lean.ConstantInfo.value? : (Lean.ConstantInfo → ((optParam Bool Bool.false) → (Option Lean.Expr))) + +lexlean_signature Lean.Elab.Command.liftCoreM : ({α : Type} → ((Lean.Core.CoreM α) → (Lean.Elab.Command.CommandElabM α))) + +lexlean_signature Lean.Elab.Command.liftTermElabM : ({α : Type} → ((Lean.Elab.Term.TermElabM α) → (Lean.Elab.Command.CommandElabM α))) + +lexlean_signature Lean.Elab.Term.elabType : (Lean.Syntax → (Lean.Elab.Term.TermElabM Lean.Expr)) + +lexlean_signature Lean.EnvExtension.asyncMode : ({σ : Type} → ((Lean.EnvExtension σ) → Lean.EnvExtension.AsyncMode)) + +lexlean_signature Lean.Environment.constants : (Lean.Environment → Lean.ConstMap) + +lexlean_signature Lean.Environment.find? : (Lean.Environment → (Lean.Name → ((optParam Bool Bool.false) → (Option Lean.ConstantInfo)))) + +lexlean_signature Lean.Environment.getModuleIdxFor? : (Lean.Environment → (Lean.Name → (Option Lean.ModuleIdx))) + +lexlean_signature Lean.Environment.header : (Lean.Environment → Lean.EnvironmentHeader) + +lexlean_signature Lean.Environment.isProjectionFn : (Lean.Environment → (Lean.Name → Bool)) + +lexlean_signature Lean.EnvironmentHeader.moduleNames : (Lean.EnvironmentHeader → (Array Lean.Name)) + +lexlean_signature Lean.Expr.getAppArgs : (Lean.Expr → (Array Lean.Expr)) + +lexlean_signature Lean.Expr.getAppFn : (Lean.Expr → Lean.Expr) + +lexlean_signature Lean.Expr.getForallBody : (Lean.Expr → Lean.Expr) + +lexlean_signature Lean.Expr.getUsedConstants : (Lean.Expr → (Array Lean.Name)) + +lexlean_signature Lean.Expr.isSort : (Lean.Expr → Bool) + +lexlean_signature Lean.IR.findEnvDecl : (Lean.Environment → (Lean.Name → (Option Lean.IR.Decl))) + +lexlean_signature Lean.MessageData.compose : (Lean.MessageData → (Lean.MessageData → Lean.MessageData)) + +lexlean_signature Lean.MessageData.ofExpr : (Lean.Expr → Lean.MessageData) + +lexlean_signature Lean.MessageData.ofName : (Lean.Name → Lean.MessageData) + +lexlean_signature Lean.Meta.MetaM.run' : ({α : Type} → ((Lean.Meta.MetaM α) → ((optParam Lean.Meta.Context { }) → ((optParam Lean.Meta.State { }) → (Lean.Core.CoreM α))))) + +lexlean_signature Lean.Meta.isInstanceCore : (Lean.Environment → (Lean.Name → Bool)) + +lexlean_signature Lean.Meta.isMatcherCore : (Lean.Environment → (Lean.Name → Bool)) + +lexlean_signature Lean.MonadEnv.getEnv : ({m : (Type → Type)} → ([self : (Lean.MonadEnv m)] → (m Lean.Environment))) + +lexlean_signature Lean.MonadNameGenerator.setNGen : ({m : (Type → Type)} → ([self : (Lean.MonadNameGenerator m)] → (Lean.NameGenerator → (m Unit)))) + +lexlean_signature Lean.Name.components : (Lean.Name → (List Lean.Name)) + +lexlean_signature Lean.Name.eraseMacroScopes : (Lean.Name → Lean.Name) + +lexlean_signature Lean.Name.getPrefix : (Lean.Name → Lean.Name) + +lexlean_signature Lean.Name.getString! : (Lean.Name → String) + +lexlean_signature Lean.Name.isInternal : (Lean.Name → Bool) + +lexlean_signature Lean.Name.isPrefixOf : (Lean.Name → (Lean.Name → Bool)) + +lexlean_signature Lean.Name.lt : (Lean.Name → (Lean.Name → Bool)) + +lexlean_signature Lean.Name.mkSimple : (String → Lean.Name) + +lexlean_signature Lean.Name.mkStr1 : (String → Lean.Name) + +lexlean_signature Lean.Name.mkStr2 : (String → (String → Lean.Name)) + +lexlean_signature Lean.Name.toString : (Lean.Name → ((optParam Bool Bool.true) → String)) + +lexlean_signature Lean.PersistentArray.branching : USize + +lexlean_signature Lean.PersistentArray.initShift : USize + +lexlean_signature Lean.PersistentEnvExtension.toEnvExtension : ({α : Type} → ({β : Type} → ({σ : Type} → ((Lean.PersistentEnvExtension α β σ) → (Lean.EnvExtension (Lean.PersistentEnvExtensionState α σ)))))) + +lexlean_signature Lean.PersistentHashMap.mkEmptyEntriesArray : ({α : (Type u_1)} → ({β : (Type u_2)} → (Array (Lean.PersistentHashMap.Entry α β (Lean.PersistentHashMap.Node α β))))) + +lexlean_signature Lean.SMap.foldStage2 : ({α : (Type u)} → ({β : (Type v)} → ([h2 : (BEq α)] → ([h3 : (Hashable α)] → ({σ : (Type w)} → ((σ → (α → (β → σ))) → (σ → ((@Lean.SMap α β h2 h3) → σ)))))))) + +lexlean_signature Lean.Syntax.getArg : (Lean.Syntax → (Nat → Lean.Syntax)) + +lexlean_signature Lean.Syntax.getId : (Lean.Syntax → Lean.Name) + +lexlean_signature Lean.annotation? : (Lean.Name → (Lean.Expr → (Option Lean.Expr))) + +lexlean_signature Lean.getConstInfo : ({m : (Type → Type)} → ([h1 : (Monad m)] → ([h2 : (Lean.MonadEnv m)] → ([h3 : (Lean.MonadError m)] → (Lean.Name → (m Lean.ConstantInfo)))))) + +lexlean_signature Lean.getOriginalConstKind? : (Lean.Environment → (Lean.Name → (Option Lean.ConstantKind))) + +lexlean_signature Lean.githash : String + +lexlean_signature Lean.instantiateMVars : ({m : (Type → Type)} → ([h1 : (Monad m)] → ([h2 : (Lean.MonadMCtx m)] → (Lean.Expr → (m Lean.Expr))))) + +lexlean_signature Lean.isAuxRecursor : (Lean.Environment → (Lean.Name → Bool)) + +lexlean_signature Lean.isCasesOnRecursor : (Lean.Environment → (Lean.Name → Bool)) + +lexlean_signature Lean.isNoConfusion : (Lean.Environment → (Lean.Name → Bool)) + +lexlean_signature Lean.isNoncomputable : (Lean.Environment → (Lean.Name → ((optParam Lean.EnvExtension.AsyncMode (@Lean.EnvExtension.asyncMode (Lean.PersistentEnvExtensionState Lean.Name (Prod (List Lean.Name) Lean.NameSet)) (@Lean.PersistentEnvExtension.toEnvExtension Lean.Name Lean.Name (Prod (List Lean.Name) Lean.NameSet) Lean.noncomputableExt))) → Bool))) + +lexlean_signature Lean.noncomputableExt : Lean.TagDeclarationExtension + +lexlean_signature Lean.stringToMessageData : (String → Lean.MessageData) + +lexlean_signature Lean.«throwError» : ({m : (Type → Type)} → ({α : Type} → ([h2 : (Monad m)] → ([h3 : (Lean.MonadError m)] → (Lean.MessageData → (m α)))))) + +lexlean_signature Lean.versionString : String + +lexlean_signature List.any : ({α : (Type u)} → ((List α) → ((α → Bool) → Bool))) + +lexlean_signature List.append : ({α : (Type u_1)} → ((List α) → ((List α) → (List α)))) + +lexlean_signature List.contains : ({α : (Type u)} → ([h1 : (BEq α)] → ((List α) → (α → Bool)))) + +lexlean_signature List.drop : ({α : (Type u)} → (Nat → ((List α) → (List α)))) + +lexlean_signature List.elem : ({α : (Type u)} → ([h1 : (BEq α)] → (α → ((List α) → Bool)))) + +lexlean_signature List.filter : ({α : (Type u)} → ((α → Bool) → ((List α) → (List α)))) + +lexlean_signature List.foldl : ({α : (Type u)} → ({β : (Type v)} → ((α → (β → α)) → (α → ((List β) → α))))) + +lexlean_signature List.isEmpty : ({α : (Type u)} → ((List α) → Bool)) + +lexlean_signature List.map : ({α : (Type u_1)} → ({β : (Type u_2)} → ((α → β) → ((List α) → (List β))))) + +lexlean_signature MonadLiftT.monadLift : ({m : ((Type u) → (Type v))} → ({n : ((Type u) → (Type w))} → ([self : (MonadLiftT m n)] → ({α : (Type u)} → ((m α) → (n α)))))) + +lexlean_signature Nat.add : (Nat → (Nat → Nat)) + +lexlean_signature Nat.blt : (Nat → (Nat → Bool)) + +lexlean_signature Nat.toDigits : (Nat → (Nat → (List Char))) + +lexlean_signature Option.getD : ({α : (Type u_1)} → ((Option α) → (α → α))) + +lexlean_signature Option.isSome : ({α : (Type u_1)} → ((Option α) → Bool)) + +lexlean_signature Pure.pure : ({f : ((Type u) → (Type v))} → ([self : (Pure f)] → ({α : (Type u)} → (α → (f α))))) + +lexlean_signature Std.HashMap.emptyWithCapacity : ({α : (Type u)} → ({β : (Type v)} → ([h2 : (BEq α)] → ([h3 : (Hashable α)] → ((optParam Nat 8) → (@Std.HashMap α β h2 h3)))))) + +lexlean_signature Std.HashMap.get? : ({α : (Type u)} → ({β : (Type v)} → ({h2 : (BEq α)} → ({h3 : (Hashable α)} → ((@Std.HashMap α β h2 h3) → (α → (Option β))))))) + +lexlean_signature Std.HashMap.insert : ({α : (Type u)} → ({β : (Type v)} → ({h2 : (BEq α)} → ({h3 : (Hashable α)} → ((@Std.HashMap α β h2 h3) → (α → (β → (@Std.HashMap α β h2 h3)))))))) + +lexlean_signature Std.HashSet.contains : ({α : (Type u)} → ({h1 : (BEq α)} → ({h2 : (Hashable α)} → ((@Std.HashSet α h1 h2) → (α → Bool))))) + +lexlean_signature Std.HashSet.emptyWithCapacity : ({α : (Type u)} → ([h1 : (BEq α)] → ([h2 : (Hashable α)] → ((optParam Nat 8) → (@Std.HashSet α h1 h2))))) + +lexlean_signature Std.HashSet.insert : ({α : (Type u)} → ({h1 : (BEq α)} → ({h2 : (Hashable α)} → ((@Std.HashSet α h1 h2) → (α → (@Std.HashSet α h1 h2)))))) + +lexlean_signature Std.HashSet.toList : ({α : (Type u)} → ({h1 : (BEq α)} → ({h2 : (Hashable α)} → ((@Std.HashSet α h1 h2) → (List α))))) + +lexlean_signature String.append : (String → (String → String)) + +lexlean_signature String.foldl : ({α : (Type u)} → ((α → (Char → α)) → (α → (String → α)))) + +lexlean_signature String.intercalate : (String → ((List String) → String)) + +lexlean_signature String.ofList : ((List Char) → String) + +lexlean_signature String.push : (String → (Char → String)) + +lexlean_signature String.toName : (String → Lean.Name) + +lexlean_signature ToString.toString : ({α : (Type u)} → ([self : (ToString α)] → (α → String))) + +lexlean_signature UInt16.toNat : (UInt16 → Nat) + +lexlean_signature UInt32.toNat : (UInt32 → Nat) + +lexlean_signature UInt64.toNat : (UInt64 → Nat) + +lexlean_signature UInt8.toNat : (UInt8 → Nat) + +lexlean_signature Unit.unit : Unit + +#eval LexLeanExtract.checkAuthority ((#["Array.contains", "Array.foldl", "Array.getD", "Array.isEmpty", "Array.map", "Array.size", "Array.toList", "BEq.beq", "Bind.bind", "Bool.and", "Bool.not", "Bool.or", "Char.toNat", "IO.println", "Lean.Compiler.LCNF.CompilerM.run", "Lean.Compiler.LCNF.shouldGenerateCode", "Lean.Compiler.LCNF.toDecl", "Lean.Compiler.LCNF.toLCNFType", "Lean.ConstantInfo.type", "Lean.ConstantInfo.value?", "Lean.Elab.Command.liftCoreM", "Lean.Elab.Command.liftTermElabM", "Lean.Elab.Term.elabType", "Lean.EnvExtension.asyncMode", "Lean.Environment.constants", "Lean.Environment.find?", "Lean.Environment.getModuleIdxFor?", "Lean.Environment.header", "Lean.Environment.isProjectionFn", "Lean.EnvironmentHeader.moduleNames", "Lean.Expr.getAppArgs", "Lean.Expr.getAppFn", "Lean.Expr.getForallBody", "Lean.Expr.getUsedConstants", "Lean.Expr.isSort", "Lean.IR.findEnvDecl", "Lean.MessageData.compose", "Lean.MessageData.ofExpr", "Lean.MessageData.ofName", "Lean.Meta.MetaM.run'", "Lean.Meta.isInstanceCore", "Lean.Meta.isMatcherCore", "Lean.MonadEnv.getEnv", "Lean.MonadNameGenerator.setNGen", "Lean.Name.components", "Lean.Name.eraseMacroScopes", "Lean.Name.getPrefix", "Lean.Name.getString!", "Lean.Name.isInternal", "Lean.Name.isPrefixOf", "Lean.Name.lt", "Lean.Name.mkSimple", "Lean.Name.mkStr1", "Lean.Name.mkStr2", "Lean.Name.toString", "Lean.PersistentArray.branching", "Lean.PersistentArray.initShift", "Lean.PersistentEnvExtension.toEnvExtension", "Lean.PersistentHashMap.mkEmptyEntriesArray", "Lean.SMap.foldStage2", "Lean.Syntax.getArg", "Lean.Syntax.getId", "Lean.annotation?", "Lean.getConstInfo", "Lean.getOriginalConstKind?", "Lean.githash", "Lean.instantiateMVars", "Lean.isAuxRecursor", "Lean.isCasesOnRecursor", "Lean.isNoConfusion", "Lean.isNoncomputable", "Lean.noncomputableExt", "Lean.stringToMessageData", "Lean.throwError", "Lean.versionString", "List.any", "List.append", "List.contains", "List.drop", "List.elem", "List.filter", "List.foldl", "List.isEmpty", "List.map", "MonadLiftT.monadLift", "Nat.add", "Nat.blt", "Nat.toDigits", "Option.getD", "Option.isSome", "Pure.pure", "Std.HashMap.emptyWithCapacity", "Std.HashMap.get?", "Std.HashMap.insert", "Std.HashSet.contains", "Std.HashSet.emptyWithCapacity", "Std.HashSet.insert", "Std.HashSet.toList", "String.append", "String.foldl", "String.intercalate", "String.ofList", "String.push", "String.toName", "ToString.toString", "UInt16.toNat", "UInt32.toNat", "UInt64.toNat", "UInt8.toNat", "Unit.unit"] : Array String)) ((#[(Prod.mk (α := String) (β := (Array String)) "Bool" ((#["false", "true"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Alt" ((#["alt", "ctorAlt", "default"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Arg" ((#["erased", "fvar", "type"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Cases" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Code" ((#["let", "fun", "jp", "jmp", "cases", "return", "unreach", "oset", "uset", "sset", "setTag", "inc", "dec", "del"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Decl" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.DeclValue" ((#["code", "extern"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.FunDecl" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.LetDecl" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.LetValue" ((#["lit", "erased", "proj", "const", "fvar", "ctor", "oproj", "uproj", "sproj", "fap", "pap", "reset", "reuse", "box", "unbox", "isShared"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.LitValue" ((#["nat", "str", "uint8", "uint16", "uint32", "uint64", "usize"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Param" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Phase" ((#["base", "mono", "impure"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Purity" ((#["pure", "impure"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Signature" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstantInfo" ((#["axiomInfo", "defnInfo", "thmInfo", "opaqueInfo", "quotInfo", "inductInfo", "ctorInfo", "recInfo"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstantKind" ((#["defn", "thm", "axiom", "opaque", "quot", "induct", "ctor", "recursor"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstantVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstructorVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.DefinitionSafety" ((#["unsafe", "safe", "partial"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.DefinitionVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Expr" ((#["bvar", "fvar", "mvar", "sort", "const", "app", "lam", "forallE", "letE", "lit", "mdata", "proj"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.FVarId" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.InductiveVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Name" ((#["anonymous", "str", "num"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.NameGenerator" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "List" ((#["nil", "cons"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Option" ((#["none", "some"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Prod" ((#["mk"] : Array String)))] : Array (Prod String (Array String)))) ((#["Array", "BEq", "Bind", "Char", "Hashable", "IO", "Lean.AxiomVal", "Lean.BinderInfo", "Lean.Compiler.InlineAttributeKind", "Lean.Compiler.LCNF.CompilerM", "Lean.Compiler.LCNF.CompilerM.State", "Lean.Compiler.LCNF.CtorInfo", "Lean.ConstMap", "Lean.Core.Context", "Lean.Core.CoreM", "Lean.Core.State", "Lean.DelayedMetavarAssignment", "Lean.Elab.Command.CommandElab", "Lean.Elab.Command.CommandElabM", "Lean.Elab.Command.Context", "Lean.Elab.Command.State", "Lean.Elab.Term.Context", "Lean.Elab.Term.State", "Lean.Elab.Term.TermElabM", "Lean.EnvExtension", "Lean.EnvExtension.AsyncMode", "Lean.Environment", "Lean.EnvironmentHeader", "Lean.Exception", "Lean.ExternAttrData", "Lean.FVarIdMap", "Lean.FVarIdSet", "Lean.IR.Decl", "Lean.LMVarId", "Lean.Level", "Lean.LevelMetavarDecl", "Lean.Literal", "Lean.LocalDecl", "Lean.LocalInstance", "Lean.MData", "Lean.MVarId", "Lean.MessageData", "Lean.Meta.AbstractMVarsResult", "Lean.Meta.Config", "Lean.Meta.ConfigWithKey", "Lean.Meta.Context", "Lean.Meta.DefEqCacheKey", "Lean.Meta.DefEqContext", "Lean.Meta.ExprConfigCacheKey", "Lean.Meta.FunInfo", "Lean.Meta.InfoCacheKey", "Lean.Meta.MetaM", "Lean.Meta.PostponedEntry", "Lean.Meta.State", "Lean.Meta.SynthInstanceCacheKey", "Lean.MetavarDecl", "Lean.ModuleIdx", "Lean.MonadEnv", "Lean.MonadError", "Lean.MonadMCtx", "Lean.MonadNameGenerator", "Lean.NameSet", "Lean.OpaqueVal", "Lean.ParserDescr", "Lean.PersistentArrayNode", "Lean.PersistentEnvExtension", "Lean.PersistentEnvExtensionState", "Lean.PersistentHashMap.Entry", "Lean.PersistentHashMap.Node", "Lean.QuotVal", "Lean.RecursorVal", "Lean.ReducibilityHints", "Lean.SMap", "Lean.Syntax", "Lean.TagDeclarationExtension", "Lean.TheoremVal", "Monad", "MonadLiftT", "Nat", "Pure", "Std.HashMap", "Std.HashSet", "String", "ToString", "UInt16", "UInt32", "UInt64", "UInt8", "USize", "Unit"] : Array String)) ((#["Applicative.toPure", "Array.casesOn", "Array.mkEmpty", "Bool.casesOn", "Char.ofNat", "EIO", "EmptyCollection.emptyCollection", "Eq", "Eq.casesOn", "Eq.ndrec", "Eq.refl", "Eq.symm", "False", "False.elim", "HEq", "HEq.refl", "IO.RealWorld", "Inhabited", "Inhabited.default", "Inhabited.mk", "Lean.Compiler.LCNF.Alt.casesOn", "Lean.Compiler.LCNF.Arg.casesOn", "Lean.Compiler.LCNF.Cases.casesOn", "Lean.Compiler.LCNF.Code.casesOn", "Lean.Compiler.LCNF.CompilerM.State.mk", "Lean.Compiler.LCNF.CtorInfo.casesOn", "Lean.Compiler.LCNF.Decl.toSignature", "Lean.Compiler.LCNF.Decl.value", "Lean.Compiler.LCNF.DeclValue.casesOn", "Lean.Compiler.LCNF.FunDecl.casesOn", "Lean.Compiler.LCNF.LCtx.mk", "Lean.Compiler.LCNF.LetDecl.fvarId", "Lean.Compiler.LCNF.LetDecl.type", "Lean.Compiler.LCNF.LetDecl.value", "Lean.Compiler.LCNF.LetValue.casesOn", "Lean.Compiler.LCNF.LitValue.casesOn", "Lean.Compiler.LCNF.Param.borrow", "Lean.Compiler.LCNF.Param.fvarId", "Lean.Compiler.LCNF.Param.type", "Lean.Compiler.LCNF.Purity.ctorIdx", "Lean.Compiler.LCNF.Signature.levelParams", "Lean.Compiler.LCNF.Signature.name", "Lean.Compiler.LCNF.Signature.params", "Lean.Compiler.LCNF.Signature.safe", "Lean.Compiler.LCNF.Signature.type", "Lean.ConstantInfo.casesOn", "Lean.ConstantInfo.ctorIdx", "Lean.ConstantInfo.rec", "Lean.ConstantKind.casesOn", "Lean.ConstantVal.type", "Lean.ConstructorVal.induct", "Lean.ConstructorVal.numFields", "Lean.ConstructorVal.numParams", "Lean.ConstructorVal.toConstantVal", "Lean.Core.instAddMessageContextCoreM", "Lean.Core.instInhabitedCoreM", "Lean.Core.instMonadCoreM", "Lean.Core.instMonadEnvCoreM", "Lean.Core.instMonadLiftIOCoreM", "Lean.Core.instMonadNameGeneratorCoreM", "Lean.Core.instMonadRefCoreM", "Lean.DefinitionSafety.casesOn", "Lean.DefinitionVal.safety", "Lean.Elab.Command.instAddErrorMessageContextCommandElabM", "Lean.Elab.Command.instInhabitedCommandElabM", "Lean.Elab.Command.instMonadCommandElabM", "Lean.Elab.Command.instMonadEnvCommandElabM", "Lean.Elab.Command.instMonadExceptOfExceptionCommandElabM", "Lean.Elab.Command.instMonadLiftTIOCommandElabM", "Lean.Elab.Command.instMonadRefCommandElabM", "Lean.Elab.MonadMacroAdapter.toMonadQuotation", "Lean.Elab.Term.instAddErrorMessageContextTermElabM", "Lean.Elab.Term.instMonadMacroAdapterTermElabM", "Lean.Elab.Term.instMonadTermElabM", "Lean.Expr.casesOn", "Lean.Expr.ctorIdx", "Lean.Expr.instBEq", "Lean.Expr.instHashable", "Lean.Expr.rec", "Lean.FVarId.casesOn", "Lean.FVarId.name", "Lean.InductiveVal.ctors", "Lean.InductiveVal.isRec", "Lean.InductiveVal.numIndices", "Lean.InductiveVal.numParams", "Lean.Level.instBEq", "Lean.Level.instToString", "Lean.LocalContext.mk", "Lean.Meta.Cache.mk", "Lean.Meta.Context.mk", "Lean.Meta.Diagnostics.mk", "Lean.Meta.State.mk", "Lean.Meta.instBEqDefEqCacheKey", "Lean.Meta.instBEqExprConfigCacheKey", "Lean.Meta.instBEqInfoCacheKey", "Lean.Meta.instBEqSynthInstanceCacheKey", "Lean.Meta.instHashableDefEqCacheKey", "Lean.Meta.instHashableExprConfigCacheKey", "Lean.Meta.instHashableInfoCacheKey", "Lean.Meta.instHashableSynthInstanceCacheKey", "Lean.Meta.instInhabitedConfigWithKey", "Lean.Meta.instMonadEnvMetaM", "Lean.Meta.instMonadMCtxMetaM", "Lean.Meta.instMonadMetaM", "Lean.MetavarContext.mk", "Lean.MonadError.mk", "Lean.MonadQuotation.toMonadRef", "Lean.Name.instBEq", "Lean.ParserDescr.binary", "Lean.ParserDescr.cat", "Lean.ParserDescr.const", "Lean.ParserDescr.node", "Lean.ParserDescr.symbol", "Lean.PersistentArray.mk", "Lean.PersistentArrayNode.node", "Lean.PersistentHashMap.Node.entries", "Lean.PersistentHashMap.mk", "Lean.instAddErrorMessageContextOfAddMessageContextOfMonad", "Lean.instBEqBinderInfo", "Lean.instBEqFVarId", "Lean.instBEqLevelMVarId", "Lean.instBEqLiteral", "Lean.instBEqMVarId", "Lean.instEmptyCollectionFVarIdMap", "Lean.instEmptyCollectionFVarIdSet", "Lean.instHashableFVarId", "Lean.instHashableLevelMVarId", "Lean.instHashableMVarId", "Lean.instHashableName", "Lean.instMonadEnvOfMonadLift", "Lean.instMonadExceptOfExceptionCoreM", "Lean.instMonadMCtxOfMonadLift", "List.casesOn", "List.instBEq", "List.toArray", "Monad.toBind", "Nat.hasNotBit", "Nat.land", "Nat.ne_of_beq_eq_false", "Nat.shiftRight", "OfNat.ofNat", "Option.casesOn", "Prod.fst", "Prod.snd", "ReaderT.instApplicativeOfMonad", "ReaderT.instMonadExceptOf", "ReaderT.instMonadLift", "StateRefT'", "StateRefT'.instMonad", "StateRefT'.instMonadExceptOf", "StateRefT'.instMonadLift", "Std.HashMap.instEmptyCollection", "String.instInhabited", "USize.toNat", "eq_of_heq", "instBEqOfDecidableEq", "instDecidableEqBool", "instDecidableEqChar", "instDecidableEqNat", "instDecidableEqString", "instInhabitedBool", "instInhabitedList", "instInhabitedProd", "instMonadEIO", "instMonadLiftT", "instMonadLiftTOfMonadLift", "instOfNatNat", "instToStringList", "instToStringNat", "instToStringString", "ite", "noConfusion_of_Nat"] : Array String)) + +#eval LexLeanExtract.main ((#["Coverage.Boundary.groveRoot", "Coverage.Colls.mapOps", "Coverage.Colls.mapFolding", "Coverage.Colls.setOps", "Coverage.Colls.folds", "Coverage.Colls.iterations", "Coverage.Colls.graphs", "Coverage.Colls.stringGraph", "Coverage.Colls.keyTypes", "Coverage.Colls.literals", "Coverage.Main.natOps", "Coverage.Main.intOps", "Coverage.Main.shapes", "Coverage.Main.treeTotal", "Coverage.Main.records", "Coverage.Main.options", "Coverage.Main.builders", "Coverage.Main.pairs", "Coverage.Main.higher", "Coverage.Main.mapped", "Coverage.Main.parity", "Coverage.Prims.fixedSmall", "Coverage.Prims.fixedMiddle", "Coverage.Prims.fixedWide", "Coverage.Prims.bits", "Coverage.Prims.conversions", "Coverage.Prims.sequences", "Coverage.Prims.decimals", "Coverage.Prims.formats", "Coverage.Prims.text", "Coverage.RecRoots.roseTotal", "Coverage.RecRoots.syntaxTotal", "Coverage.RecRoots.wellFounded", "Coverage.RecRoots.rewrite"] : Array String)) ((#["LexLeanRuntime.Portable", "LexLeanRuntime.Collections", "Coverage.Boundary", "Coverage.Colls", "Coverage.Main", "Coverage.Prims", "Coverage.RecRoots", "Coverage.Recur", "Coverage.Syntax", "Coverage.Types"] : Array String)) diff --git a/examples/production-coverage/expected/verify/extract/process.json b/examples/production-coverage/expected/verify/extract/process.json index b26bd1c71..844ff5ee7 100644 --- a/examples/production-coverage/expected/verify/extract/process.json +++ b/examples/production-coverage/expected/verify/extract/process.json @@ -1 +1 @@ -{"argv":["env","lean","$STAGING/extract/LexLeanExtract.X6cddd56cf041af764eeefdf9e95c897e.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanExtract.X6cddd56cf041af764eeefdf9e95c897e","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"{\"spec\":\"lexlean/lcnf-extraction/2\",\"lean\":{\"version\":\"4.32.1\",\"githash\":\"f054605aea4b840552cca2e725580bffd1e1b704\"},\"roots\":[\"Coverage.Boundary.groveRoot\",\"Coverage.Colls.mapOps\",\"Coverage.Colls.mapFolding\",\"Coverage.Colls.setOps\",\"Coverage.Colls.folds\",\"Coverage.Colls.iterations\",\"Coverage.Colls.graphs\",\"Coverage.Colls.stringGraph\",\"Coverage.Colls.keyTypes\",\"Coverage.Colls.literals\",\"Coverage.Main.natOps\",\"Coverage.Main.intOps\",\"Coverage.Main.shapes\",\"Coverage.Main.treeTotal\",\"Coverage.Main.records\",\"Coverage.Main.options\",\"Coverage.Main.builders\",\"Coverage.Main.pairs\",\"Coverage.Main.higher\",\"Coverage.Main.mapped\",\"Coverage.Main.parity\",\"Coverage.Prims.fixedSmall\",\"Coverage.Prims.fixedMiddle\",\"Coverage.Prims.fixedWide\",\"Coverage.Prims.bits\",\"Coverage.Prims.conversions\",\"Coverage.Prims.sequences\",\"Coverage.Prims.decimals\",\"Coverage.Prims.formats\",\"Coverage.Prims.text\",\"Coverage.RecRoots.roseTotal\",\"Coverage.RecRoots.syntaxTotal\",\"Coverage.RecRoots.wellFounded\",\"Coverage.RecRoots.rewrite\"],\"constants\":[{\"name\":\"Coverage.Boundary.Grove\",\"kind\":\"inductive\",\"module\":\"Coverage.Boundary\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":true,\"constructors\":[{\"name\":\"Coverage.Boundary.Grove.node\",\"parameters\":0,\"fields\":5,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}}}}}}},{\"name\":\"Coverage.Boundary.Grove.leaf\",\"parameters\":0,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}}},{\"name\":\"Coverage.Boundary.Grove.settled\",\"parameters\":0,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}}}]}},{\"name\":\"Coverage.Boundary.Ledger\",\"kind\":\"inductive\",\"module\":\"Coverage.Boundary\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Coverage.Boundary.Ledger.mk\",\"parameters\":0,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Ledger\",\"levels\":[]}}}}]}},{\"name\":\"Coverage.Boundary.groveRoot\",\"kind\":\"definition\",\"module\":\"Coverage.Boundary\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"List\",\"Nat\",\"Option\",\"Prod\",\"Prod.mk\",\"Coverage.Boundary.Grove\",\"Coverage.Boundary.Ledger\",\"Coverage.Boundary.groveTags\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Ledger\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Ledger\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]}}}}},\"parameters\":[{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Ledger\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Boundary.groveTags\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Ledger\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Ledger\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Ledger\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Ledger\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.25\"}}}}}},\"uses\":[\"Bool\",\"List\",\"Nat\",\"Option\",\"Prod\",\"Prod.mk\",\"Coverage.Boundary.Grove\",\"Coverage.Boundary.Ledger\",\"Coverage.Boundary.groveTags\"]},\"inductive\":null},{\"name\":\"Coverage.Boundary.groveTags\",\"kind\":\"definition\",\"module\":\"Coverage.Boundary\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Except\",\"Int\",\"List\",\"Nat\",\"Option\",\"Prod\",\"String\",\"instOfNatNat\",\"OfNat.ofNat\",\"Coverage.Boundary.Grove\",\"Coverage.Boundary.LexLeanCollections.mapSize\",\"Coverage.Boundary.LexLeanCollections.setSize\",\"Coverage.Boundary.groveTags.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.75\",\"parameters\":[{\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.73\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Boundary.LexLeanCollections.setSize\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.69\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.75\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.82\",\"parameters\":[{\"id\":\"_uniq.80\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Boundary.LexLeanCollections.mapSize\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.81\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.82\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.91\",\"parameters\":[{\"id\":\"_uniq.87\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.88\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.89\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.90\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.91\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Coverage.Boundary.Grove\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.53\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Coverage.Boundary.Grove.node\",\"parameters\":[{\"id\":\"_uniq.105\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.106\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.107\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.108\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.109\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.76\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.105\"},{\"kind\":\"fvar\",\"id\":\"_uniq.106\"},{\"kind\":\"fvar\",\"id\":\"_uniq.107\"},{\"kind\":\"fvar\",\"id\":\"_uniq.108\"},{\"kind\":\"fvar\",\"id\":\"_uniq.109\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.110\"}}},{\"kind\":\"constructor\",\"constructor\":\"Coverage.Boundary.Grove.leaf\",\"parameters\":[{\"id\":\"_uniq.111\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.83\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.111\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.112\"}}},{\"kind\":\"constructor\",\"constructor\":\"Coverage.Boundary.Grove.settled\",\"parameters\":[{\"id\":\"_uniq.113\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.92\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.113\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.114\"}}}]}}}}}}}},\"uses\":[\"Except\",\"Int\",\"List\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"String\",\"instOfNatNat\",\"Coverage.Boundary.Grove\",\"Coverage.Boundary.Grove.leaf\",\"Coverage.Boundary.Grove.node\",\"Coverage.Boundary.Grove.settled\",\"Coverage.Boundary.LexLeanCollections.mapSize\",\"Coverage.Boundary.LexLeanCollections.setSize\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.folds\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"List\",\"Nat\",\"instAddNat\",\"instHAdd\",\"instOfNat\",\"instOfNatNat\",\"HAdd.hAdd\",\"Int.instSub\",\"OfNat.ofNat\",\"Prod.mk\",\"Coverage.Colls.LexLeanCollections.listFold\",\"Coverage.Colls.LexLeanCollections.setFold\",\"Coverage.Colls.LexLeanRuntime.subtract\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.25\",\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.23\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.24\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.27\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.36\",\"parameters\":[{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instSub\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.35\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"5\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.38\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.setFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.41\"}}}}}}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Int\",\"List\",\"Nat\",\"OfNat\",\"Prod\",\"Sub\",\"instAddNat\",\"instHAdd\",\"instOfNat\",\"instOfNatNat\",\"Int.instSub\",\"Prod.mk\",\"Coverage.Colls.LexLeanCollections.listFold\",\"Coverage.Colls.LexLeanCollections.setFold\",\"Coverage.Colls.LexLeanRuntime.subtract\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.graphs\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Option\",\"Prod\",\"Prod.mk\",\"Coverage.Colls.LexLeanCollections.graphReachable\",\"Coverage.Colls.LexLeanCollections.graphSuccessors\",\"Coverage.Colls.LexLeanCollections.graphTopological\",\"Coverage.Colls.LexLeanCollections.instKeyNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.instKeyNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.graphSuccessors\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.graphReachable\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.graphTopological\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.18\"}}}}}}}},\"uses\":[\"List\",\"Nat\",\"Option\",\"Prod\",\"Prod.mk\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.graphReachable\",\"Coverage.Colls.LexLeanCollections.graphSuccessors\",\"Coverage.Colls.LexLeanCollections.graphTopological\",\"Coverage.Colls.LexLeanCollections.instKeyNat\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.iterations\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"Prod\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instOfNatNat\",\"ite\",\"Bool.true\",\"HAdd.hAdd\",\"Nat.blt\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Coverage.Colls.LexLeanCollections.iterate\",\"Coverage.Colls.LexLeanCollections.iterateUntil\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.27\",\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.21\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.22\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.26\"}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.iterate\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.57\",\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"10\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.40\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.44\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.45\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.46\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.47\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.49\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.52\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.50\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.55\"}}}}}}}}}}]}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.iterateUntil\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.59\"}}}}}}},\"uses\":[\"Add\",\"Bool\",\"Decidable\",\"HAdd\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instOfNatNat\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Nat.blt\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Coverage.Colls.LexLeanCollections.iterate\",\"Coverage.Colls.LexLeanCollections.iterateUntil\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.keyTypes\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Int\",\"Int8\",\"List\",\"Nat\",\"Option\",\"Prod\",\"String\",\"UInt64\",\"Prod.mk\",\"Coverage.Colls.LexLeanCollections.instKeyBool\",\"Coverage.Colls.LexLeanCollections.instKeyInt\",\"Coverage.Colls.LexLeanCollections.instKeyInt8\",\"Coverage.Colls.LexLeanCollections.instKeyNat\",\"Coverage.Colls.LexLeanCollections.instKeyProd\",\"Coverage.Colls.LexLeanCollections.instKeyString\",\"Coverage.Colls.LexLeanCollections.instKeyUInt64\",\"Coverage.Colls.LexLeanCollections.mapLookup\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}}}}}}}}}}},\"parameters\":[{\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.instKeyNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.instKeyString\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.instKeyProd\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"},{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.mapLookup\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.instKeyInt8\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.mapLookup\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.instKeyBool\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.mapLookup\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.instKeyInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.mapLookup\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.69\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.instKeyUInt64\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.mapLookup\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.71\"},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"},{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.68\"},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.76\"}}}}}}}}}}}}}}}}}},\"uses\":[\"Bool\",\"Int\",\"Int8\",\"List\",\"Nat\",\"Option\",\"Prod\",\"String\",\"UInt64\",\"Prod.mk\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.instKeyBool\",\"Coverage.Colls.LexLeanCollections.instKeyInt\",\"Coverage.Colls.LexLeanCollections.instKeyInt8\",\"Coverage.Colls.LexLeanCollections.instKeyNat\",\"Coverage.Colls.LexLeanCollections.instKeyProd\",\"Coverage.Colls.LexLeanCollections.instKeyString\",\"Coverage.Colls.LexLeanCollections.instKeyUInt64\",\"Coverage.Colls.LexLeanCollections.mapLookup\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.literals\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Prod\",\"String\",\"instOfNatNat\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\",\"Prod.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"string\",\"value\":\"a\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"string\",\"value\":\"b\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.17\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.27\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.40\"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"List\",\"Nat\",\"OfNat\",\"Prod\",\"String\",\"instOfNatNat\",\"List.cons\",\"List.nil\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.mapFolding\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"OfNat.ofNat\",\"Coverage.Colls.LexLeanCollections.mapFold\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.44\",\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.23\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.46\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.mapFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.48\"}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"List\",\"Nat\",\"OfNat\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Coverage.Colls.LexLeanCollections.mapFold\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.mapOps\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"List\",\"Nat\",\"Option\",\"Prod\",\"String\",\"Prod.mk\",\"Coverage.Colls.LexLeanCollections.instKeyString\",\"Coverage.Colls.LexLeanCollections.mapContains\",\"Coverage.Colls.LexLeanCollections.mapEntries\",\"Coverage.Colls.LexLeanCollections.mapInsert\",\"Coverage.Colls.LexLeanCollections.mapKeys\",\"Coverage.Colls.LexLeanCollections.mapLookup\",\"Coverage.Colls.LexLeanCollections.mapRemove\",\"Coverage.Colls.LexLeanCollections.mapSize\",\"Coverage.Colls.LexLeanCollections.mapValues\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}]}]}]}]}}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.instKeyString\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.mapInsert\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.mapRemove\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.mapLookup\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.mapContains\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.mapKeys\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.mapValues\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.mapSize\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.mapEntries\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.34\"}}}}}}}}}}}}}}}}}},\"uses\":[\"Bool\",\"List\",\"Nat\",\"Option\",\"Prod\",\"String\",\"Prod.mk\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.instKeyString\",\"Coverage.Colls.LexLeanCollections.mapContains\",\"Coverage.Colls.LexLeanCollections.mapEntries\",\"Coverage.Colls.LexLeanCollections.mapInsert\",\"Coverage.Colls.LexLeanCollections.mapKeys\",\"Coverage.Colls.LexLeanCollections.mapLookup\",\"Coverage.Colls.LexLeanCollections.mapRemove\",\"Coverage.Colls.LexLeanCollections.mapSize\",\"Coverage.Colls.LexLeanCollections.mapValues\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.setOps\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"List\",\"Nat\",\"Prod\",\"Prod.mk\",\"Coverage.Colls.LexLeanCollections.instKeyNat\",\"Coverage.Colls.LexLeanCollections.setContains\",\"Coverage.Colls.LexLeanCollections.setDifference\",\"Coverage.Colls.LexLeanCollections.setElements\",\"Coverage.Colls.LexLeanCollections.setInsert\",\"Coverage.Colls.LexLeanCollections.setIntersection\",\"Coverage.Colls.LexLeanCollections.setRemove\",\"Coverage.Colls.LexLeanCollections.setSize\",\"Coverage.Colls.LexLeanCollections.setUnion\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}]}]}]}}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.instKeyNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.setInsert\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.setRemove\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.setContains\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.setUnion\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.setIntersection\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.setDifference\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.setSize\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.setElements\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.34\"}}}}}}}}}}}}}}}}}},\"uses\":[\"Bool\",\"List\",\"Nat\",\"Prod\",\"Prod.mk\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.instKeyNat\",\"Coverage.Colls.LexLeanCollections.setContains\",\"Coverage.Colls.LexLeanCollections.setDifference\",\"Coverage.Colls.LexLeanCollections.setElements\",\"Coverage.Colls.LexLeanCollections.setInsert\",\"Coverage.Colls.LexLeanCollections.setIntersection\",\"Coverage.Colls.LexLeanCollections.setRemove\",\"Coverage.Colls.LexLeanCollections.setSize\",\"Coverage.Colls.LexLeanCollections.setUnion\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.stringGraph\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\",\"String\",\"Coverage.Colls.LexLeanCollections.graphTopological\",\"Coverage.Colls.LexLeanCollections.instKeyString\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.instKeyString\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.graphTopological\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.8\"}}}},\"uses\":[\"List\",\"Option\",\"Prod\",\"String\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.graphTopological\",\"Coverage.Colls.LexLeanCollections.instKeyString\"]},\"inductive\":null},{\"name\":\"Coverage.Main.builders\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Except\",\"Nat\",\"Option\",\"Unit\",\"instDecidableEqBool\",\"instOfNatNat\",\"ite\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Nat.blt\",\"Nat.succ\",\"Nat.zero\",\"OfNat.ofNat\",\"Option.some\",\"Prod.mk\",\"Unit.unit\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.succ\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.23\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.48\",\"parameters\":[{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.47\"}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.27\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.48\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.zero\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.48\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]}}}}]}}}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Except\",\"Nat\",\"OfNat\",\"Option\",\"PUnit\",\"Prod\",\"instDecidableEqBool\",\"instOfNatNat\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Except.error\",\"Except.ok\",\"Nat.blt\",\"Nat.succ\",\"Nat.zero\",\"Option.some\",\"Prod.mk\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"Coverage.Main.double\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instAddNat\",\"instHAdd\",\"HAdd.hAdd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.9\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.10\"}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Nat\",\"instAddNat\",\"instHAdd\"]},\"inductive\":null},{\"name\":\"Coverage.Main.higher\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instAddNat\",\"instHAdd\",\"instMulNat\",\"instOfNatNat\",\"instSubNat\",\"HAdd.hAdd\",\"OfNat.ofNat\",\"Coverage.Main.double\",\"Coverage.Types.twice\",\"Coverage.Main.LexLeanRuntime.multiply\",\"Coverage.Main.LexLeanRuntime.subtract\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.23\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.21\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.25\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.32\",\"parameters\":[{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instMulNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Main.LexLeanRuntime.multiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.21\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.twice\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.39\",\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Main.LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.38\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Main.double\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.twice\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.21\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.21\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.44\"}}}}}}}}}}}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Mul\",\"Nat\",\"OfNat\",\"Sub\",\"instAddNat\",\"instHAdd\",\"instMulNat\",\"instOfNatNat\",\"instSubNat\",\"Coverage.Main.double\",\"Coverage.Types.twice\",\"Coverage.Main.LexLeanRuntime.multiply\",\"Coverage.Main.LexLeanRuntime.subtract\"]},\"inductive\":null},{\"name\":\"Coverage.Main.intOps\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"instOfNat\",\"Int.instMul\",\"Int.instNegInt\",\"Int.instSub\",\"Neg.neg\",\"OfNat.ofNat\",\"Coverage.Main.LexLeanRuntime.instQuotientInt\",\"Coverage.Main.LexLeanRuntime.multiply\",\"Coverage.Main.LexLeanRuntime.negate\",\"Coverage.Main.LexLeanRuntime.quotient\",\"Coverage.Main.LexLeanRuntime.remainder\",\"Coverage.Main.LexLeanRuntime.subtract\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instSub\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instMul\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instNegInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.15\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.22\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Main.LexLeanRuntime.multiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Main.LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Main.LexLeanRuntime.instQuotientInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Main.LexLeanRuntime.quotient\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.34\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Main.LexLeanRuntime.remainder\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Main.LexLeanRuntime.negate\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Main.LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.38\"}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Int\",\"Mul\",\"Nat\",\"Neg\",\"OfNat\",\"Sub\",\"instOfNat\",\"Int.instMul\",\"Int.instNegInt\",\"Int.instSub\",\"Coverage.Main.LexLeanRuntime.Quotient\",\"Coverage.Main.LexLeanRuntime.instQuotientInt\",\"Coverage.Main.LexLeanRuntime.multiply\",\"Coverage.Main.LexLeanRuntime.negate\",\"Coverage.Main.LexLeanRuntime.quotient\",\"Coverage.Main.LexLeanRuntime.remainder\",\"Coverage.Main.LexLeanRuntime.subtract\"]},\"inductive\":null},{\"name\":\"Coverage.Main.mapped\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"List\",\"Nat\",\"Coverage.Types.isEven\",\"Coverage.Types.mapList\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.isEven\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.mapList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.8\"}}}},\"uses\":[\"Bool\",\"List\",\"Nat\",\"Coverage.Types.isEven\",\"Coverage.Types.mapList\"]},\"inductive\":null},{\"name\":\"Coverage.Main.natOps\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instMulNat\",\"instOfNatNat\",\"instSubNat\",\"ite\",\"Bool.and\",\"Bool.not\",\"Bool.or\",\"Bool.true\",\"HAdd.hAdd\",\"Nat.beq\",\"Nat.ble\",\"Nat.blt\",\"OfNat.ofNat\",\"Coverage.Main.LexLeanRuntime.instQuotientNat\",\"Coverage.Main.LexLeanRuntime.multiply\",\"Coverage.Main.LexLeanRuntime.quotient\",\"Coverage.Main.LexLeanRuntime.remainder\",\"Coverage.Main.LexLeanRuntime.subtract\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Main.LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Main.LexLeanRuntime.instQuotientNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"7\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.51\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Main.LexLeanRuntime.quotient\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.53\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.56\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Main.LexLeanRuntime.remainder\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.58\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.75\",\"parameters\":[{\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.75\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.108\",\"parameters\":[{\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.87\",\"parameters\":[{\"id\":\"_uniq.85\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.86\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.87\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.93\",\"parameters\":[{\"id\":\"_uniq.90\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.45\"},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.not\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.91\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.92\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.93\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.99\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.100\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.101\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.102\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.94\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.104\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.88\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.105\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.106\"}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.108\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.133\",\"parameters\":[{\"id\":\"_uniq.119\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.119\"},{\"kind\":\"fvar\",\"id\":\"_uniq.120\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.121\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.122\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instMulNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.124\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Main.LexLeanRuntime.multiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.123\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.124\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.125\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.127\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.126\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.127\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.129\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Main.LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.129\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.128\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.130\"},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.131\"}}}}}}}}]}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.136\",\"parameters\":[{\"id\":\"_uniq.134\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.76\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.134\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.133\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.135\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.139\",\"parameters\":[{\"id\":\"_uniq.137\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.109\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.137\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.133\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.138\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.114\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.136\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.115\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.139\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.117\"}]}}}]}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Add\",\"Bool\",\"Decidable\",\"HAdd\",\"Mul\",\"Nat\",\"OfNat\",\"PUnit\",\"Sub\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instMulNat\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"Bool.not\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Nat.beq\",\"Nat.ble\",\"Nat.blt\",\"Unit.unit\",\"Coverage.Main.LexLeanRuntime.Quotient\",\"Coverage.Main.LexLeanRuntime.instQuotientNat\",\"Coverage.Main.LexLeanRuntime.multiply\",\"Coverage.Main.LexLeanRuntime.quotient\",\"Coverage.Main.LexLeanRuntime.remainder\",\"Coverage.Main.LexLeanRuntime.subtract\"]},\"inductive\":null},{\"name\":\"Coverage.Main.options\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Except\",\"Nat\",\"Option\",\"Unit\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instOfNatNat\",\"ite\",\"Bool.true\",\"HAdd.hAdd\",\"OfNat.ofNat\",\"Coverage.Main.options.match_1\",\"Coverage.Main.options.match_3\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.48\"},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.59\",\"parameters\":[{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.57\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.58\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.59\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.65\",\"parameters\":[{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.64\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.131\",\"parameters\":[{\"id\":\"_uniq.78\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.106\",\"parameters\":[{\"id\":\"_uniq.86\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.96\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.86\"},{\"kind\":\"fvar\",\"id\":\"_uniq.95\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.96\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.97\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.98\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.99\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.100\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.101\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.102\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.103\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.104\"}}}}}]}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.106\",\"arguments\":[]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.124\",\"parameters\":[{\"id\":\"_uniq.122\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.49\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.78\"},{\"kind\":\"fvar\",\"id\":\"_uniq.122\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.123\"}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.130\",\"parameters\":[{\"id\":\"_uniq.128\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.129\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.82\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.128\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.124\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.129\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.127\",\"parameters\":[{\"id\":\"_uniq.125\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.107\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.125\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.124\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.126\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.46\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.118\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.127\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.118\"}]}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.120\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.130\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.120\"}]}}]}}}}}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.134\",\"parameters\":[{\"id\":\"_uniq.132\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.60\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.132\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.131\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.133\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.137\",\"parameters\":[{\"id\":\"_uniq.135\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.66\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.135\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.131\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.136\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.45\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.134\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.137\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}}]}}}}}}}}}}}},\"uses\":[\"Add\",\"Bool\",\"Decidable\",\"Except\",\"HAdd\",\"Nat\",\"OfNat\",\"Option\",\"PUnit\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instOfNatNat\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Except.error\",\"Except.ok\",\"Option.none\",\"Option.some\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"Coverage.Main.pairs\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Nat\",\"Prod\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.6\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.6\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.9\"}}}}},\"uses\":[\"Bool\",\"Nat\",\"Prod\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Main.parity\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Coverage.Types.isOdd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.isOdd\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Bool\",\"Nat\",\"Coverage.Types.isOdd\"]},\"inductive\":null},{\"name\":\"Coverage.Main.records\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"OfNat.ofNat\",\"Prod.mk\",\"Coverage.Types.Point\",\"Coverage.Types.defaultWeights\",\"Coverage.Types.unbox\",\"Coverage.Types.Box.mk\",\"Coverage.Types.Point.mk\",\"Coverage.Types.Point.x\",\"Coverage.Types.Point.y\",\"Coverage.Types.Weights.scale\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Point\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Point.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Point\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.19\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Types.Point\",\"index\":0,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Weights\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.defaultWeights\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Types.Weights\",\"index\":1,\"value\":\"_uniq.25\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.23\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Types.Point\",\"index\":1,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.32\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Box\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Box.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.unbox\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.39\"}}}}}}}}}}}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Nat\",\"OfNat\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Prod.mk\",\"Coverage.Types.Box\",\"Coverage.Types.Point\",\"Coverage.Types.Weights\",\"Coverage.Types.defaultWeights\",\"Coverage.Types.unbox\",\"Coverage.Types.Box.mk\",\"Coverage.Types.Point.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Main.shapes\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instAddNat\",\"instHAdd\",\"HAdd.hAdd\",\"Coverage.Types.area\",\"Coverage.Types.Shape.circle\",\"Coverage.Types.Shape.empty\",\"Coverage.Types.Shape.rect\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Shape\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Shape.rect\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.area\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Shape\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Shape.circle\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.area\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Shape\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Shape.empty\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.area\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.15\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.15\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.26\"}}}}}}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Nat\",\"instAddNat\",\"instHAdd\",\"Coverage.Types.Shape\",\"Coverage.Types.area\",\"Coverage.Types.Shape.circle\",\"Coverage.Types.Shape.empty\",\"Coverage.Types.Shape.rect\"]},\"inductive\":null},{\"name\":\"Coverage.Main.treeTotal\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Coverage.Types.treeSum\",\"Coverage.Types.Tree.leaf\",\"Coverage.Types.Tree.node\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree.leaf\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"5\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree.node\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree.node\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.treeSum\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.16\"}}}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"instOfNatNat\",\"Coverage.Types.Tree\",\"Coverage.Types.treeSum\",\"Coverage.Types.Tree.leaf\",\"Coverage.Types.Tree.node\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.bits\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Option\",\"Prod\",\"UInt16\",\"UInt32\",\"instBEqOfDecidableEq\",\"instDecidableEqUInt16\",\"OfNat.ofNat\",\"Prod.mk\",\"UInt32.instOfNat\",\"Coverage.Prims.LexLeanRuntime.bitAnd\",\"Coverage.Prims.LexLeanRuntime.bitNot\",\"Coverage.Prims.LexLeanRuntime.bitOr\",\"Coverage.Prims.LexLeanRuntime.bitXor\",\"Coverage.Prims.LexLeanRuntime.equal\",\"Coverage.Prims.LexLeanRuntime.instFixedUInt16\",\"Coverage.Prims.LexLeanRuntime.shiftLeft\",\"Coverage.Prims.LexLeanRuntime.shiftRight\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]}}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.instFixedUInt16\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.bitAnd\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.bitOr\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.bitXor\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.bitNot\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.shiftLeft\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.26\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.shiftRight\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqUInt16\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instBEqOfDecidableEq\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.equal\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.39\"}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"BEq\",\"Bool\",\"Decidable\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"UInt16\",\"UInt32\",\"instBEqOfDecidableEq\",\"instDecidableEqUInt16\",\"Prod.mk\",\"UInt32.instOfNat\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.bitAnd\",\"Coverage.Prims.LexLeanRuntime.bitNot\",\"Coverage.Prims.LexLeanRuntime.bitOr\",\"Coverage.Prims.LexLeanRuntime.bitXor\",\"Coverage.Prims.LexLeanRuntime.equal\",\"Coverage.Prims.LexLeanRuntime.instFixedUInt16\",\"Coverage.Prims.LexLeanRuntime.shiftLeft\",\"Coverage.Prims.LexLeanRuntime.shiftRight\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.conversions\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Int64\",\"Int8\",\"Option\",\"UInt16\",\"Prod.mk\",\"Coverage.Prims.LexLeanRuntime.checkedConvert\",\"Coverage.Prims.LexLeanRuntime.instFixedInt64\",\"Coverage.Prims.LexLeanRuntime.instFixedInt8\",\"Coverage.Prims.LexLeanRuntime.instFixedUInt16\",\"Coverage.Prims.LexLeanRuntime.instToMathIntInt\",\"Coverage.Prims.LexLeanRuntime.Fixed.toToMathInt\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.instToMathIntInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.instFixedUInt16\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.checkedConvert\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.instFixedInt8\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"index\":0,\"value\":\"_uniq.16\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.instFixedInt64\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.checkedConvert\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.20\"}}}}}}}}}},\"uses\":[\"Int\",\"Int64\",\"Int8\",\"Option\",\"Prod\",\"UInt16\",\"Prod.mk\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"Coverage.Prims.LexLeanRuntime.checkedConvert\",\"Coverage.Prims.LexLeanRuntime.instFixedInt64\",\"Coverage.Prims.LexLeanRuntime.instFixedInt8\",\"Coverage.Prims.LexLeanRuntime.instFixedUInt16\",\"Coverage.Prims.LexLeanRuntime.instToMathIntInt\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.decimals\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Option\",\"String\",\"UInt32\",\"instToStringUInt32\",\"Prod.mk\",\"Coverage.Prims.LexLeanRuntime.instDecimalInt\",\"Coverage.Prims.LexLeanRuntime.instDecimalOfFixedOfToString\",\"Coverage.Prims.LexLeanRuntime.instFixedUInt32\",\"Coverage.Prims.LexLeanRuntime.parseDecimal\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Decimal\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.instDecimalInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.parseDecimal\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.instFixedUInt32\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"ToString\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instToStringUInt32\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Decimal\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.instDecimalOfFixedOfToString\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.parseDecimal\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}}}}}}}},\"uses\":[\"Int\",\"Option\",\"Prod\",\"String\",\"ToString\",\"UInt32\",\"instToStringUInt32\",\"Prod.mk\",\"Coverage.Prims.LexLeanRuntime.Decimal\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.instDecimalInt\",\"Coverage.Prims.LexLeanRuntime.instDecimalOfFixedOfToString\",\"Coverage.Prims.LexLeanRuntime.instFixedUInt32\",\"Coverage.Prims.LexLeanRuntime.parseDecimal\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.fixedMiddle\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Int16\",\"Int32\",\"Option\",\"Prod\",\"instBEqOfDecidableEq\",\"instDecidableEqInt32\",\"Int32.instNeg\",\"Int32.instOfNat\",\"Neg.neg\",\"OfNat.ofNat\",\"Prod.mk\",\"Coverage.Prims.LexLeanRuntime.checkedAdd\",\"Coverage.Prims.LexLeanRuntime.checkedConvert\",\"Coverage.Prims.LexLeanRuntime.checkedMultiply\",\"Coverage.Prims.LexLeanRuntime.equal\",\"Coverage.Prims.LexLeanRuntime.instFixedInt16\",\"Coverage.Prims.LexLeanRuntime.instFixedInt32\",\"Coverage.Prims.LexLeanRuntime.Fixed.toToMathInt\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.instFixedInt16\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.checkedMultiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.instFixedInt32\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int32.instNeg\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.16\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"7\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int32.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.19\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.17\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.checkedAdd\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"index\":0,\"value\":\"_uniq.13\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.checkedConvert\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqInt32\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instBEqOfDecidableEq\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int32.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.53\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.equal\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"},{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.58\"}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"BEq\",\"Bool\",\"Decidable\",\"Int16\",\"Int32\",\"Nat\",\"Neg\",\"OfNat\",\"Option\",\"Prod\",\"instBEqOfDecidableEq\",\"instDecidableEqInt32\",\"Int32.instNeg\",\"Int32.instOfNat\",\"Prod.mk\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"Coverage.Prims.LexLeanRuntime.checkedAdd\",\"Coverage.Prims.LexLeanRuntime.checkedConvert\",\"Coverage.Prims.LexLeanRuntime.checkedMultiply\",\"Coverage.Prims.LexLeanRuntime.equal\",\"Coverage.Prims.LexLeanRuntime.instFixedInt16\",\"Coverage.Prims.LexLeanRuntime.instFixedInt32\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.fixedSmall\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int8\",\"Option\",\"Prod\",\"Prod.mk\",\"Coverage.Prims.LexLeanRuntime.checkedAdd\",\"Coverage.Prims.LexLeanRuntime.checkedMultiply\",\"Coverage.Prims.LexLeanRuntime.checkedNegate\",\"Coverage.Prims.LexLeanRuntime.checkedQuotient\",\"Coverage.Prims.LexLeanRuntime.checkedSubtract\",\"Coverage.Prims.LexLeanRuntime.instFixedInt8\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}]}]}]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.instFixedInt8\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.checkedAdd\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.checkedSubtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.checkedMultiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.checkedQuotient\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.checkedNegate\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}}}}}}}}}}},\"uses\":[\"Int8\",\"Option\",\"Prod\",\"Prod.mk\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.checkedAdd\",\"Coverage.Prims.LexLeanRuntime.checkedMultiply\",\"Coverage.Prims.LexLeanRuntime.checkedNegate\",\"Coverage.Prims.LexLeanRuntime.checkedQuotient\",\"Coverage.Prims.LexLeanRuntime.checkedSubtract\",\"Coverage.Prims.LexLeanRuntime.instFixedInt8\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.fixedWide\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int64\",\"Option\",\"Prod\",\"UInt64\",\"OfNat.ofNat\",\"Prod.mk\",\"UInt64.instOfNat\",\"Coverage.Prims.LexLeanRuntime.checkedAdd\",\"Coverage.Prims.LexLeanRuntime.checkedAddInt64\",\"Coverage.Prims.LexLeanRuntime.checkedMultiplyInt64\",\"Coverage.Prims.LexLeanRuntime.checkedNegateInt64\",\"Coverage.Prims.LexLeanRuntime.checkedQuotientInt64\",\"Coverage.Prims.LexLeanRuntime.checkedSubtractInt64\",\"Coverage.Prims.LexLeanRuntime.instFixedUInt64\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}]}]}]}]}]}}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.checkedAddInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.checkedSubtractInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.checkedMultiplyInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.checkedQuotientInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.checkedNegateInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.instFixedUInt64\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.26\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.checkedAdd\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.33\"}}}}}}}}}}}}}}}}},\"uses\":[\"Int64\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"UInt64\",\"Prod.mk\",\"UInt64.instOfNat\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.checkedAdd\",\"Coverage.Prims.LexLeanRuntime.checkedAddInt64\",\"Coverage.Prims.LexLeanRuntime.checkedMultiplyInt64\",\"Coverage.Prims.LexLeanRuntime.checkedNegateInt64\",\"Coverage.Prims.LexLeanRuntime.checkedQuotientInt64\",\"Coverage.Prims.LexLeanRuntime.checkedSubtractInt64\",\"Coverage.Prims.LexLeanRuntime.instFixedUInt64\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.formats\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Int8\",\"String\",\"instToStringInt8\",\"Prod.mk\",\"Coverage.Prims.LexLeanRuntime.formatDecimal\",\"Coverage.Prims.LexLeanRuntime.instDecimalInt\",\"Coverage.Prims.LexLeanRuntime.instDecimalOfFixedOfToString\",\"Coverage.Prims.LexLeanRuntime.instFixedInt8\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Decimal\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.instDecimalInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.formatDecimal\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.instFixedInt8\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"ToString\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instToStringInt8\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Decimal\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.instDecimalOfFixedOfToString\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.formatDecimal\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.19\"}}}}}}}}},\"uses\":[\"Int\",\"Int8\",\"Prod\",\"String\",\"ToString\",\"instToStringInt8\",\"Prod.mk\",\"Coverage.Prims.LexLeanRuntime.Decimal\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.formatDecimal\",\"Coverage.Prims.LexLeanRuntime.instDecimalInt\",\"Coverage.Prims.LexLeanRuntime.instDecimalOfFixedOfToString\",\"Coverage.Prims.LexLeanRuntime.instFixedInt8\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.sequences\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"ByteArray\",\"List\",\"Nat\",\"Option\",\"Prod\",\"UInt8\",\"instAddNat\",\"instBEqOfDecidableEq\",\"instDecidableEqBool\",\"instDecidableEqNat\",\"instHAdd\",\"instOfNatNat\",\"Bool.true\",\"ByteArray.instBEq\",\"ByteArray.mk\",\"HAdd.hAdd\",\"List.cons\",\"List.nil\",\"List.toArray\",\"OfNat.ofNat\",\"Prod.mk\",\"UInt8.instOfNat\",\"Coverage.Prims.LexLeanRuntime.append\",\"Coverage.Prims.LexLeanRuntime.equal\",\"Coverage.Prims.LexLeanRuntime.index\",\"Coverage.Prims.LexLeanRuntime.instAppendableByteArray\",\"Coverage.Prims.LexLeanRuntime.instAppendableList\",\"Coverage.Prims.LexLeanRuntime.instIndexableByteArrayUInt8\",\"Coverage.Prims.LexLeanRuntime.instIndexableList\",\"Coverage.Prims.LexLeanRuntime.instLengthableByteArray\",\"Coverage.Prims.LexLeanRuntime.instLengthableList\",\"Coverage.Prims.LexLeanRuntime.instSliceableByteArray\",\"Coverage.Prims.LexLeanRuntime.instSliceableList\",\"Coverage.Prims.LexLeanRuntime.length\",\"Coverage.Prims.LexLeanRuntime.slice\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]}]}]}}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.21\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.instAppendableByteArray\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"10\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt8.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.28\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Array\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.toArray\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"ByteArray.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.instLengthableByteArray\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.37\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Indexable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.instIndexableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.index\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Indexable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.instIndexableByteArrayUInt8\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.index\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Sliceable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.instSliceableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.49\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.slice\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Sliceable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.instSliceableByteArray\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.54\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.slice\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"ByteArray.instBEq\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Array\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.toArray\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"ByteArray.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.equal\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instBEqOfDecidableEq\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instBEqOfDecidableEq\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.69\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.70\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.equal\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.68\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.equal\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.72\"},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"},{\"kind\":\"fvar\",\"id\":\"_uniq.79\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.82\"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Add\",\"Array\",\"BEq\",\"Bool\",\"ByteArray\",\"Decidable\",\"HAdd\",\"List\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"UInt8\",\"instAddNat\",\"instBEqOfDecidableEq\",\"instDecidableEqBool\",\"instDecidableEqNat\",\"instHAdd\",\"instOfNatNat\",\"Bool.true\",\"ByteArray.instBEq\",\"ByteArray.mk\",\"List.cons\",\"List.nil\",\"List.toArray\",\"Prod.mk\",\"UInt8.instOfNat\",\"Coverage.Prims.LexLeanRuntime.Appendable\",\"Coverage.Prims.LexLeanRuntime.Indexable\",\"Coverage.Prims.LexLeanRuntime.Lengthable\",\"Coverage.Prims.LexLeanRuntime.Sliceable\",\"Coverage.Prims.LexLeanRuntime.append\",\"Coverage.Prims.LexLeanRuntime.equal\",\"Coverage.Prims.LexLeanRuntime.index\",\"Coverage.Prims.LexLeanRuntime.instAppendableByteArray\",\"Coverage.Prims.LexLeanRuntime.instAppendableList\",\"Coverage.Prims.LexLeanRuntime.instIndexableByteArrayUInt8\",\"Coverage.Prims.LexLeanRuntime.instIndexableList\",\"Coverage.Prims.LexLeanRuntime.instLengthableByteArray\",\"Coverage.Prims.LexLeanRuntime.instLengthableList\",\"Coverage.Prims.LexLeanRuntime.instSliceableByteArray\",\"Coverage.Prims.LexLeanRuntime.instSliceableList\",\"Coverage.Prims.LexLeanRuntime.length\",\"Coverage.Prims.LexLeanRuntime.slice\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.text\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"ByteArray\",\"List\",\"Nat\",\"Option\",\"Ordering\",\"Prod\",\"String\",\"UInt32\",\"UInt8\",\"instBEqOfDecidableEq\",\"instDecidableEqOrdering\",\"instDecidableEqString\",\"Bool.and\",\"ByteArray.mk\",\"List.cons\",\"List.nil\",\"List.toArray\",\"OfNat.ofNat\",\"Prod.mk\",\"UInt32.instOfNat\",\"UInt8.instOfNat\",\"Coverage.Prims.LexLeanRuntime.compareBytes\",\"Coverage.Prims.LexLeanRuntime.equal\",\"Coverage.Prims.LexLeanRuntime.instLengthableString\",\"Coverage.Prims.LexLeanRuntime.join\",\"Coverage.Prims.LexLeanRuntime.length\",\"Coverage.Prims.LexLeanRuntime.splitExact\",\"Coverage.Prims.LexLeanRuntime.utf8Decode\",\"Coverage.Prims.LexLeanRuntime.utf8Encode\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]}}},\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.utf8Encode\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.30\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.utf8Decode\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt8.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.34\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"255\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt8.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.37\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Array\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.toArray\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"ByteArray.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.compareBytes\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.46\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.splitExact\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"string\",\"value\":\"x\\\"y\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.join\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.52\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.instLengthableString\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.63\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.62\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.63\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.82\",\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqOrdering\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instBEqOfDecidableEq\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.69\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.compareBytes\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Array\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.toArray\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"ByteArray.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt8.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.75\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Array\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.toArray\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"ByteArray.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.compareBytes\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.79\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.equal\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"},{\"kind\":\"fvar\",\"id\":\"_uniq.71\"},{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.81\"}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.82\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqString\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instBEqOfDecidableEq\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.90\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.equal\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.91\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.104\",\"parameters\":[{\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.98\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"},{\"kind\":\"fvar\",\"id\":\"_uniq.99\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"},{\"kind\":\"fvar\",\"id\":\"_uniq.100\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.101\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.102\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.103\"}}}}}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.110\",\"parameters\":[{\"id\":\"_uniq.108\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.83\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.108\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.104\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.109\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.107\",\"parameters\":[{\"id\":\"_uniq.105\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.64\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.105\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.104\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.106\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]},\"discriminant\":\"_uniq.92\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.107\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.93\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.110\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.95\"}]}}}]}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Array\",\"BEq\",\"Bool\",\"ByteArray\",\"Decidable\",\"List\",\"Nat\",\"OfNat\",\"Option\",\"Ordering\",\"PUnit\",\"Prod\",\"String\",\"UInt32\",\"UInt8\",\"instBEqOfDecidableEq\",\"instDecidableEqOrdering\",\"instDecidableEqString\",\"Bool.false\",\"Bool.true\",\"ByteArray.mk\",\"List.cons\",\"List.nil\",\"List.toArray\",\"Prod.mk\",\"UInt32.instOfNat\",\"UInt8.instOfNat\",\"Unit.unit\",\"Coverage.Prims.LexLeanRuntime.Lengthable\",\"Coverage.Prims.LexLeanRuntime.compareBytes\",\"Coverage.Prims.LexLeanRuntime.equal\",\"Coverage.Prims.LexLeanRuntime.instLengthableString\",\"Coverage.Prims.LexLeanRuntime.join\",\"Coverage.Prims.LexLeanRuntime.length\",\"Coverage.Prims.LexLeanRuntime.splitExact\",\"Coverage.Prims.LexLeanRuntime.utf8Decode\",\"Coverage.Prims.LexLeanRuntime.utf8Encode\"]},\"inductive\":null},{\"name\":\"Coverage.RecRoots.rewrite\",\"kind\":\"definition\",\"module\":\"Coverage.RecRoots\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Prod.mk\",\"Coverage.Recur.prune\",\"Coverage.Recur.reassociate\",\"Coverage.Syntax.Term\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.reassociate\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.prune\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.9\"}}}}},\"uses\":[\"Prod\",\"Prod.mk\",\"Coverage.Recur.prune\",\"Coverage.Recur.reassociate\",\"Coverage.Syntax.Term\"]},\"inductive\":null},{\"name\":\"Coverage.RecRoots.roseTotal\",\"kind\":\"definition\",\"module\":\"Coverage.RecRoots\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\",\"Coverage.Recur.roseSize\",\"Coverage.Syntax.Rose\",\"Coverage.Syntax.Rose.node\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose.node\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose.node\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.roseSize\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}}}}}}}}}},\"uses\":[\"List\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"List.cons\",\"List.nil\",\"Coverage.Recur.roseSize\",\"Coverage.Syntax.Rose\",\"Coverage.Syntax.Rose.node\"]},\"inductive\":null},{\"name\":\"Coverage.RecRoots.syntaxTotal\",\"kind\":\"definition\",\"module\":\"Coverage.RecRoots\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Recur.exprSize\",\"Coverage.Syntax.Expr\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.exprSize\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Nat\",\"Coverage.Recur.exprSize\",\"Coverage.Syntax.Expr\"]},\"inductive\":null},{\"name\":\"Coverage.RecRoots.wellFounded\",\"kind\":\"definition\",\"module\":\"Coverage.RecRoots\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instOfNatNat\",\"OfNat.ofNat\",\"Prod.mk\",\"Coverage.Recur.countdown\",\"Coverage.Recur.reduce\",\"Coverage.Recur.search\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.countdown\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.reduce\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.search\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.20\"}}}}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"Prod.mk\",\"Coverage.Recur.countdown\",\"Coverage.Recur.reduce\",\"Coverage.Recur.search\"]},\"inductive\":null},{\"name\":\"Coverage.Recur.countdown\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"PSigma.mk\",\"Coverage.Recur.countdown._unary\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.41\",\"parameters\":[{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.33\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.41\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.60\",\"parameters\":[{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.49\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.53\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.56\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.54\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.countdown\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.59\"}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.60\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.75\",\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"discriminant\":\"_uniq.66\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.61\"}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.42\"}}]}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.77\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.75\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.79\"},{\"kind\":\"erased\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.80\"}}}}}}}}}}}},\"uses\":[\"Add\",\"Bool\",\"HAdd\",\"Nat\",\"OfNat\",\"Sub\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"Bool.true\",\"Nat.blt\",\"Coverage.Recur.countdown\",\"Coverage.Recur.LexLeanRuntime.subtract\"]},\"inductive\":null},{\"name\":\"Coverage.Recur.countdown_decreases\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Not\",\"congrArg\",\"id\",\"instHSub\",\"instLTNat\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"Bool.true\",\"Decidable.byContradiction\",\"Eq.mp\",\"Eq.trans\",\"HSub.hSub\",\"LT.lt\",\"Nat.blt\",\"Nat.blt_eq\",\"Nat.decLt\",\"OfNat.ofNat\",\"Coverage.Recur.LexLeanRuntime.subtract\",\"_private.Coverage.Recur.0.Coverage.Recur.countdown_decreases._proof_1_4\",\"_private.Coverage.Recur.0.Coverage.Recur.countdown_decreases._simp_1_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.exprSize\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Recur.exprSize._f\",\"Coverage.Recur.statementSize._f\",\"Coverage.Recur.statementsSize._f\",\"Coverage.Syntax.Expr.brecOn\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.54\",\"parameters\":[{\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.52\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.53\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.54\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.73\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.64\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.exprSize\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.exprSize\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.69\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.70\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.68\"},{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.72\"}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.73\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.88\",\"parameters\":[{\"id\":\"_uniq.80\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.82\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.83\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.85\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.statementsSize\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.exprSize\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.84\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.85\"},{\"kind\":\"fvar\",\"id\":\"_uniq.86\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.87\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.88\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Coverage.Syntax.Expr\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.43\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Coverage.Syntax.Expr.literal\",\"parameters\":[{\"id\":\"_uniq.100\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.55\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.100\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.101\"}}},{\"kind\":\"constructor\",\"constructor\":\"Coverage.Syntax.Expr.plus\",\"parameters\":[{\"id\":\"_uniq.102\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.103\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.102\"},{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.104\"}}},{\"kind\":\"constructor\",\"constructor\":\"Coverage.Syntax.Expr.block\",\"parameters\":[{\"id\":\"_uniq.105\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.106\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.89\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.105\"},{\"kind\":\"fvar\",\"id\":\"_uniq.106\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.107\"}}}]}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"List\",\"Nat\",\"OfNat\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Coverage.Recur.exprSize\",\"Coverage.Recur.statementsSize\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Expr.block\",\"Coverage.Syntax.Expr.literal\",\"Coverage.Syntax.Expr.plus\"]},\"inductive\":null},{\"name\":\"Coverage.Recur.forestSize\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Coverage.Syntax.Rose\",\"Coverage.Recur.forestSize._f\",\"Coverage.Recur.roseSize._f\",\"Coverage.Syntax.Rose.brecOn_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.46\",\"parameters\":[{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.44\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.45\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.46\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.61\",\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"borrow\":false},{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.56\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.roseSize\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.forestSize\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.57\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.58\"},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.60\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.61\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.36\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.47\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.72\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.73\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"borrow\":false},{\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.62\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.75\"}}}]}}}}}},\"uses\":[\"Add\",\"HAdd\",\"List\",\"Nat\",\"OfNat\",\"PUnit\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"List.cons\",\"List.nil\",\"Unit.unit\",\"Coverage.Recur.forestSize\",\"Coverage.Recur.roseSize\",\"Coverage.Syntax.Rose\"]},\"inductive\":null},{\"name\":\"Coverage.Recur.prune\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Eq\",\"InvImage\",\"Nat\",\"instLTNat\",\"LT.lt\",\"Coverage.Recur.weight\",\"Coverage.Syntax.Term\",\"WellFounded.Nat.fix\",\"Coverage.Recur.prune._proof_1\",\"Coverage.Recur.prune._proof_2\",\"Coverage.Recur.reassociate.match_1\",\"Coverage.Syntax.Term.literal\",\"Coverage.Syntax.Term.plus\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.83\",\"parameters\":[{\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.80\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term.literal\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.79\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.82\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.83\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.149\",\"parameters\":[{\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.99\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.110\",\"parameters\":[{\"id\":\"_uniq.107\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.108\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.prune\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.98\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.109\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.111\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.110\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.125\",\"parameters\":[{\"id\":\"_uniq.118\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.119\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.120\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term.plus\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.118\"},{\"kind\":\"fvar\",\"id\":\"_uniq.98\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.124\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.prune\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.123\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.124\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.125\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.147\",\"parameters\":[{\"id\":\"_uniq.131\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Coverage.Syntax.Term\",\"result_type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},\"discriminant\":\"_uniq.131\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Coverage.Syntax.Term.literal\",\"parameters\":[{\"id\":\"_uniq.141\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.111\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.141\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.142\"}}},{\"kind\":\"constructor\",\"constructor\":\"Coverage.Syntax.Term.plus\",\"parameters\":[{\"id\":\"_uniq.143\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.144\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.126\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.143\"},{\"kind\":\"fvar\",\"id\":\"_uniq.144\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.145\"}}}]}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.148\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.147\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.97\"},{\"kind\":\"erased\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.148\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.150\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.149\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.171\",\"parameters\":[{\"id\":\"_uniq.155\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Coverage.Syntax.Term\",\"result_type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},\"discriminant\":\"_uniq.155\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Coverage.Syntax.Term.literal\",\"parameters\":[{\"id\":\"_uniq.165\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.166\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.84\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.165\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.166\"}}},{\"kind\":\"constructor\",\"constructor\":\"Coverage.Syntax.Term.plus\",\"parameters\":[{\"id\":\"_uniq.167\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.168\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.169\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.150\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.167\"},{\"kind\":\"fvar\",\"id\":\"_uniq.168\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.169\"}}}]}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.172\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.171\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.71\"},{\"kind\":\"erased\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.172\"}}}}}}}},\"uses\":[\"Nat\",\"Coverage.Recur.prune\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.literal\",\"Coverage.Syntax.Term.plus\"]},\"inductive\":null},{\"name\":\"Coverage.Recur.prune_plus\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":false,\"kernel_uses\":[\"Eq\",\"Nat\",\"Not\",\"id\",\"instAddNat\",\"instHAdd\",\"instLTNat\",\"instOfNatNat\",\"Decidable.byContradiction\",\"Eq.ndrec\",\"Eq.symm\",\"HAdd.hAdd\",\"LT.lt\",\"Nat.decLt\",\"OfNat.ofNat\",\"Coverage.Recur.weight\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.plus\",\"_private.Coverage.Recur.0.Coverage.Recur.prune_plus._proof_1_7\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.reassociate\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Eq\",\"InvImage\",\"Nat\",\"instLTNat\",\"LT.lt\",\"Coverage.Recur.weight\",\"Coverage.Syntax.Term\",\"WellFounded.Nat.fix\",\"Coverage.Recur.reassociate._proof_1\",\"Coverage.Recur.reassociate._proof_2\",\"Coverage.Recur.reassociate.match_1\",\"Coverage.Syntax.Term.literal\",\"Coverage.Syntax.Term.plus\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.82\",\"parameters\":[{\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.80\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term.literal\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.79\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.81\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.82\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.149\",\"parameters\":[{\"id\":\"_uniq.96\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.98\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.111\",\"parameters\":[{\"id\":\"_uniq.106\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.107\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term.literal\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.106\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.reassociate\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term.plus\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.108\"},{\"kind\":\"fvar\",\"id\":\"_uniq.109\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.110\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.111\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.125\",\"parameters\":[{\"id\":\"_uniq.119\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.120\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.121\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term.plus\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.120\"},{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term.plus\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.119\"},{\"kind\":\"fvar\",\"id\":\"_uniq.122\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.124\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.reassociate\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.123\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.124\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.125\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.147\",\"parameters\":[{\"id\":\"_uniq.131\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Coverage.Syntax.Term\",\"result_type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},\"discriminant\":\"_uniq.131\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Coverage.Syntax.Term.literal\",\"parameters\":[{\"id\":\"_uniq.141\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.112\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.141\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.142\"}}},{\"kind\":\"constructor\",\"constructor\":\"Coverage.Syntax.Term.plus\",\"parameters\":[{\"id\":\"_uniq.143\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.144\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.126\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.143\"},{\"kind\":\"fvar\",\"id\":\"_uniq.144\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.145\"}}}]}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.148\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.147\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.96\"},{\"kind\":\"erased\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.148\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.150\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.149\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.171\",\"parameters\":[{\"id\":\"_uniq.155\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Coverage.Syntax.Term\",\"result_type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},\"discriminant\":\"_uniq.155\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Coverage.Syntax.Term.literal\",\"parameters\":[{\"id\":\"_uniq.165\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.166\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.83\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.165\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.166\"}}},{\"kind\":\"constructor\",\"constructor\":\"Coverage.Syntax.Term.plus\",\"parameters\":[{\"id\":\"_uniq.167\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.168\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.169\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.150\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.167\"},{\"kind\":\"fvar\",\"id\":\"_uniq.168\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.169\"}}}]}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.172\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.171\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.71\"},{\"kind\":\"erased\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.172\"}}}}}}}},\"uses\":[\"Nat\",\"Coverage.Recur.reassociate\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.literal\",\"Coverage.Syntax.Term.plus\"]},\"inductive\":null},{\"name\":\"Coverage.Recur.reassociate_literal\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":false,\"kernel_uses\":[\"Eq\",\"Nat\",\"Not\",\"id\",\"instAddNat\",\"instHAdd\",\"instLTNat\",\"instOfNatNat\",\"Decidable.byContradiction\",\"Eq.ndrec\",\"Eq.symm\",\"HAdd.hAdd\",\"LT.lt\",\"Nat.decLt\",\"OfNat.ofNat\",\"Coverage.Recur.weight\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.literal\",\"Coverage.Syntax.Term.plus\",\"_private.Coverage.Recur.0.Coverage.Recur.reassociate_literal._proof_1_7\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.reassociate_plus\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":false,\"kernel_uses\":[\"Eq\",\"Nat\",\"Not\",\"id\",\"instAddNat\",\"instHAdd\",\"instLTNat\",\"instOfNatNat\",\"Decidable.byContradiction\",\"Eq.ndrec\",\"Eq.symm\",\"HAdd.hAdd\",\"LT.lt\",\"Nat.decLt\",\"OfNat.ofNat\",\"Coverage.Recur.weight\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.plus\",\"_private.Coverage.Recur.0.Coverage.Recur.reassociate_plus._proof_1_7\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.reduce\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Coverage.Recur.reduce._unary\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.57\",\"parameters\":[{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.48\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.57\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.101\",\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.74\",\"parameters\":[{\"id\":\"_uniq.73\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.48\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.83\",\"parameters\":[{\"id\":\"_uniq.79\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.reduce\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.81\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.82\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.83\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.98\",\"parameters\":[{\"id\":\"_uniq.89\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"discriminant\":\"_uniq.89\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.84\"}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.75\"}}]}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.48\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.98\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.99\"},{\"kind\":\"erased\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.100\"}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.101\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.116\",\"parameters\":[{\"id\":\"_uniq.107\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"discriminant\":\"_uniq.107\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.102\"}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.58\"}}]}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.118\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.117\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.118\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.119\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.116\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.120\"},{\"kind\":\"erased\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.121\"}}}}}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"Sub\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"Bool.true\",\"Nat.beq\",\"Nat.blt\",\"Coverage.Recur.reduce\",\"Coverage.Recur.LexLeanRuntime.subtract\"]},\"inductive\":null},{\"name\":\"Coverage.Recur.reduce_decreases\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Not\",\"congrArg\",\"id\",\"instHSub\",\"instLTNat\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"Bool.true\",\"Decidable.byContradiction\",\"Eq.mp\",\"Eq.trans\",\"HSub.hSub\",\"LT.lt\",\"Nat.beq\",\"Nat.beq_eq\",\"Nat.blt\",\"Nat.blt_eq\",\"Nat.decLt\",\"OfNat.ofNat\",\"Coverage.Recur.LexLeanRuntime.subtract\",\"_private.Coverage.Recur.0.Coverage.Recur.reduce_decreases._proof_1_4\",\"_private.Coverage.Recur.0.Coverage.Recur.reduce_decreases._simp_1_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.roseSize\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Coverage.Syntax.Rose\",\"Coverage.Recur.forestSize._f\",\"Coverage.Recur.roseSize._f\",\"Coverage.Syntax.Rose.brecOn\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.47\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},\"borrow\":false},{\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.40\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.43\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.forestSize\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.41\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.44\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.46\"}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.47\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Coverage.Syntax.Rose\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.29\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Coverage.Syntax.Rose.node\",\"parameters\":[{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},\"borrow\":false},{\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.48\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.58\"}}}]}}}},\"uses\":[\"Add\",\"HAdd\",\"List\",\"Nat\",\"OfNat\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Coverage.Recur.forestSize\",\"Coverage.Syntax.Rose\",\"Coverage.Syntax.Rose.node\"]},\"inductive\":null},{\"name\":\"Coverage.Recur.search\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Coverage.Recur.search._unary\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}},\"parameters\":[{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.111\",\"parameters\":[{\"id\":\"_uniq.67\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.75\",\"parameters\":[{\"id\":\"_uniq.74\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.55\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.75\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.89\",\"parameters\":[{\"id\":\"_uniq.80\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.82\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.85\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.84\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.85\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.83\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.86\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.search\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.88\"}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.89\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.104\",\"parameters\":[{\"id\":\"_uniq.95\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"discriminant\":\"_uniq.95\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.90\"}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.76\"}}]}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.106\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.107\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.108\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.104\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.109\"},{\"kind\":\"erased\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.110\"}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.111\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.117\",\"parameters\":[{\"id\":\"_uniq.116\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.56\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.118\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.117\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.132\",\"parameters\":[{\"id\":\"_uniq.123\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"discriminant\":\"_uniq.123\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.118\"}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.112\"}}]}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.132\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.133\"},{\"kind\":\"erased\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.134\"}}}}}}}}},\"uses\":[\"Add\",\"Bool\",\"HAdd\",\"Nat\",\"OfNat\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.ble\",\"Nat.blt\",\"Coverage.Recur.search\"]},\"inductive\":null},{\"name\":\"Coverage.Recur.search_decreases\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Not\",\"id\",\"instAddNat\",\"instHAdd\",\"instHSub\",\"instLTNat\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"Bool.true\",\"Decidable.byContradiction\",\"Eq.mp\",\"HAdd.hAdd\",\"HSub.hSub\",\"LT.lt\",\"Nat.ble\",\"Nat.blt\",\"Nat.blt_eq\",\"Nat.decLt\",\"OfNat.ofNat\",\"Coverage.Recur.LexLeanRuntime.subtract\",\"_private.Coverage.Recur.0.Coverage.Recur.search_decreases._proof_1_4\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.statementSize\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Recur.exprSize._f\",\"Coverage.Recur.statementSize._f\",\"Coverage.Recur.statementsSize._f\",\"Coverage.Syntax.Stmt.brecOn\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.54\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.47\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.exprSize\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.51\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.48\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.53\"}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.54\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.69\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.64\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.statementSize\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.statementSize\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.68\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.69\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Coverage.Syntax.Stmt\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.35\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Coverage.Syntax.Stmt.assign\",\"parameters\":[{\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.55\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.79\"},{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.81\"}}},{\"kind\":\"constructor\",\"constructor\":\"Coverage.Syntax.Stmt.sequence\",\"parameters\":[{\"id\":\"_uniq.82\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.83\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.70\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.82\"},{\"kind\":\"fvar\",\"id\":\"_uniq.83\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.84\"}}}]}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Nat\",\"OfNat\",\"String\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Coverage.Recur.exprSize\",\"Coverage.Recur.statementSize\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Stmt.assign\",\"Coverage.Syntax.Stmt.sequence\"]},\"inductive\":null},{\"name\":\"Coverage.Recur.statementsSize\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Recur.exprSize._f\",\"Coverage.Recur.statementSize._f\",\"Coverage.Recur.statementsSize._f\",\"Coverage.Syntax.Expr.brecOn_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.39\",\"parameters\":[{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.37\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.38\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.54\",\"parameters\":[{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.49\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.statementSize\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.statementsSize\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.50\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.53\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.54\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.29\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.65\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.55\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.68\"}}}]}}}}}},\"uses\":[\"Add\",\"HAdd\",\"List\",\"Nat\",\"OfNat\",\"PUnit\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"List.cons\",\"List.nil\",\"Unit.unit\",\"Coverage.Recur.statementSize\",\"Coverage.Recur.statementsSize\",\"Coverage.Syntax.Stmt\"]},\"inductive\":null},{\"name\":\"Coverage.Recur.weight\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Coverage.Syntax.Term\",\"Coverage.Recur.weight._f\",\"Coverage.Syntax.Term.brecOn\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Expr\",\"kind\":\"inductive\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":true,\"constructors\":[{\"name\":\"Coverage.Syntax.Expr.literal\",\"parameters\":0,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]}}},{\"name\":\"Coverage.Syntax.Expr.plus\",\"parameters\":0,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]}}}},{\"name\":\"Coverage.Syntax.Expr.block\",\"parameters\":0,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]}}}}]}},{\"name\":\"Coverage.Syntax.Rose\",\"kind\":\"inductive\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":true,\"constructors\":[{\"name\":\"Coverage.Syntax.Rose.node\",\"parameters\":1,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]}}}}}]}},{\"name\":\"Coverage.Syntax.Stmt\",\"kind\":\"inductive\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":true,\"constructors\":[{\"name\":\"Coverage.Syntax.Stmt.assign\",\"parameters\":0,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]}}}},{\"name\":\"Coverage.Syntax.Stmt.sequence\",\"parameters\":0,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]}}}}]}},{\"name\":\"Coverage.Syntax.Term\",\"kind\":\"inductive\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":true,\"constructors\":[{\"name\":\"Coverage.Syntax.Term.literal\",\"parameters\":0,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}},{\"name\":\"Coverage.Syntax.Term.plus\",\"parameters\":0,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}}}]}},{\"name\":\"Coverage.Types.Box\",\"kind\":\"inductive\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Coverage.Types.Box.mk\",\"parameters\":1,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Box\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]}}}}}]}},{\"name\":\"Coverage.Types.Point\",\"kind\":\"inductive\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Coverage.Types.Point.mk\",\"parameters\":0,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Point\",\"levels\":[]}}}}]}},{\"name\":\"Coverage.Types.Shape\",\"kind\":\"inductive\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Coverage.Types.Shape.circle\",\"parameters\":0,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Shape\",\"levels\":[]}}},{\"name\":\"Coverage.Types.Shape.rect\",\"parameters\":0,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Shape\",\"levels\":[]}}}},{\"name\":\"Coverage.Types.Shape.empty\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Shape\",\"levels\":[]}}]}},{\"name\":\"Coverage.Types.Tree\",\"kind\":\"inductive\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":true,\"constructors\":[{\"name\":\"Coverage.Types.Tree.leaf\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]}},{\"name\":\"Coverage.Types.Tree.node\",\"parameters\":0,\"fields\":3,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]}}}}}]}},{\"name\":\"Coverage.Types.Weights\",\"kind\":\"inductive\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Coverage.Types.Weights.mk\",\"parameters\":0,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Weights\",\"levels\":[]}}}}]}},{\"name\":\"Coverage.Types.area\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Unit\",\"instMulNat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Coverage.Types.Shape\",\"Coverage.Types.LexLeanRuntime.multiply\",\"Coverage.Types.area.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Shape\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Shape\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.51\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instMulNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.LexLeanRuntime.multiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.48\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.LexLeanRuntime.multiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.51\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.63\",\"parameters\":[{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instMulNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.LexLeanRuntime.multiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.62\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.63\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.72\",\"parameters\":[{\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.69\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.70\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.71\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.72\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Coverage.Types.Shape\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.37\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Coverage.Types.Shape.circle\",\"parameters\":[{\"id\":\"_uniq.82\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.52\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.82\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.83\"}}},{\"kind\":\"constructor\",\"constructor\":\"Coverage.Types.Shape.rect\",\"parameters\":[{\"id\":\"_uniq.84\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.85\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.64\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.84\"},{\"kind\":\"fvar\",\"id\":\"_uniq.85\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.86\"}}},{\"kind\":\"constructor\",\"constructor\":\"Coverage.Types.Shape.empty\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.73\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.87\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.88\"}}}}]}}}}}}}},\"uses\":[\"Mul\",\"Nat\",\"OfNat\",\"PUnit\",\"instMulNat\",\"instOfNatNat\",\"Unit.unit\",\"Coverage.Types.Shape\",\"Coverage.Types.LexLeanRuntime.multiply\",\"Coverage.Types.Shape.circle\",\"Coverage.Types.Shape.empty\",\"Coverage.Types.Shape.rect\"]},\"inductive\":null},{\"name\":\"Coverage.Types.defaultWeights\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Coverage.Types.Weights.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Weights\",\"levels\":[]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.1\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.3\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.2\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.4\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.5\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.4\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Weights\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Weights.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"instOfNatNat\",\"Coverage.Types.Weights\",\"Coverage.Types.Weights.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Types.isEven\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Nat\",\"PProd\",\"Nat.below\",\"Nat.brecOn\",\"PProd.mk\",\"Coverage.Types.isEven._f\",\"Coverage.Types.isOdd._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.32\",\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.32\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.39\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.isOdd\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.38\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Nat\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.24\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Nat.zero\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.33\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.47\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Nat.succ\",\"parameters\":[{\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.49\"}}}]}}}}}},\"uses\":[\"Bool\",\"Nat\",\"PUnit\",\"Bool.true\",\"Nat.succ\",\"Nat.zero\",\"Unit.unit\",\"Coverage.Types.isOdd\"]},\"inductive\":null},{\"name\":\"Coverage.Types.isOdd\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Nat\",\"PProd\",\"Nat.below\",\"Nat.brecOn\",\"PProd.mk\",\"Coverage.Types.isEven._f\",\"Coverage.Types.isOdd._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.32\",\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.32\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.39\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.isEven\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.38\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Nat\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.24\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Nat.zero\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.33\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.47\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Nat.succ\",\"parameters\":[{\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.49\"}}}]}}}}}},\"uses\":[\"Bool\",\"Nat\",\"PUnit\",\"Bool.false\",\"Nat.succ\",\"Nat.zero\",\"Unit.unit\",\"Coverage.Types.isEven\"]},\"inductive\":null},{\"name\":\"Coverage.Types.mapList\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.brecOn\",\"Coverage.Types.mapList._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"bvar\",\"index\":1}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]}}}}},\"parameters\":[{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}},\"borrow\":false},{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.70\",\"parameters\":[{\"id\":\"_uniq.68\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.69\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.70\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.90\",\"parameters\":[{\"id\":\"_uniq.83\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}},\"borrow\":false},{\"id\":\"_uniq.84\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},\"borrow\":false},{\"id\":\"_uniq.85\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]}}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.83\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.84\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.mapList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.83\"},{\"kind\":\"fvar\",\"id\":\"_uniq.85\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.88\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.89\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.90\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"discriminant\":\"_uniq.60\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.71\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.100\"}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.101\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},\"borrow\":false},{\"id\":\"_uniq.102\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.91\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.101\"},{\"kind\":\"fvar\",\"id\":\"_uniq.102\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.103\"}}}]}}}}}},\"uses\":[\"List\",\"List.cons\",\"List.nil\",\"Coverage.Types.mapList\"]},\"inductive\":null},{\"name\":\"Coverage.Types.treeSum\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Coverage.Types.Tree\",\"Coverage.Types.Tree.brecOn\",\"Coverage.Types.treeSum._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.44\",\"parameters\":[{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.42\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.63\",\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.57\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.treeSum\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.58\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.treeSum\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.58\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.62\"}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.63\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Coverage.Types.Tree\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.34\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Coverage.Types.Tree.leaf\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.73\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Coverage.Types.Tree.node\",\"parameters\":[{\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.64\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"},{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.77\"}}}]}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Nat\",\"OfNat\",\"PUnit\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Unit.unit\",\"Coverage.Types.Tree\",\"Coverage.Types.treeSum\",\"Coverage.Types.Tree.leaf\",\"Coverage.Types.Tree.node\"]},\"inductive\":null},{\"name\":\"Coverage.Types.twice\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.16\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.16\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.19\"}}}},\"uses\":[\"Nat\"]},\"inductive\":null},{\"name\":\"Coverage.Types.unbox\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Types.Box\",\"Coverage.Types.Box.content\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Box\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"bvar\",\"index\":1}}},\"parameters\":[{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Box\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Types.Box\",\"index\":0,\"value\":\"_uniq.16\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}}},\"uses\":[\"Coverage.Types.Box\"]},\"inductive\":null},{\"name\":\"Coverage.Boundary.Grove.casesOn\",\"kind\":\"definition\",\"module\":\"Coverage.Boundary\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Except\",\"Int\",\"List\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"String\",\"PUnit.unit\",\"Coverage.Boundary.Grove\",\"Coverage.Boundary.Grove.leaf\",\"Coverage.Boundary.Grove.node\",\"Coverage.Boundary.Grove.rec\",\"Coverage.Boundary.Grove.settled\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Boundary.Grove.leaf\",\"kind\":\"constructor\",\"module\":\"Coverage.Boundary\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Boundary.Grove.node\",\"kind\":\"constructor\",\"module\":\"Coverage.Boundary\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Boundary.Grove.rec\",\"kind\":\"recursor\",\"module\":\"Coverage.Boundary\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Boundary.Grove.settled\",\"kind\":\"constructor\",\"module\":\"Coverage.Boundary\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Boundary.LexLeanCollections.mapSize\",\"kind\":\"definition\",\"module\":\"Coverage.Boundary\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\",\"List.length\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"bvar\",\"index\":0}]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"List.lengthTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.19\"}}},\"uses\":[\"List\",\"Nat\",\"Prod\",\"List.lengthTR\"]},\"inductive\":null},{\"name\":\"Coverage.Boundary.LexLeanCollections.setSize\",\"kind\":\"definition\",\"module\":\"Coverage.Boundary\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.length\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"List.lengthTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}},\"uses\":[\"List\",\"Nat\",\"List.lengthTR\"]},\"inductive\":null},{\"name\":\"Coverage.Boundary.groveTags.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Boundary\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Except\",\"Int\",\"List\",\"Nat\",\"Option\",\"Prod\",\"String\",\"Coverage.Boundary.Grove\",\"Coverage.Boundary.Grove.casesOn\",\"Coverage.Boundary.Grove.leaf\",\"Coverage.Boundary.Grove.node\",\"Coverage.Boundary.Grove.settled\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"kind\":\"inductive\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Coverage.Colls.LexLeanCollections.Key.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"Coverage.Colls.LexLeanCollections.compareCodes\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Char\",\"List\",\"Ordering\",\"List.brecOn\",\"Coverage.Colls.LexLeanCollections.compareCodes._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.86\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.87\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.97\",\"parameters\":[{\"id\":\"_uniq.95\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.96\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Ordering.eq\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.96\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.97\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.108\",\"parameters\":[{\"id\":\"_uniq.105\",\"type\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.106\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Ordering.lt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.107\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.108\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.115\",\"parameters\":[{\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.113\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Ordering.gt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.114\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.115\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.173\",\"parameters\":[{\"id\":\"_uniq.135\",\"type\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.136\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.137\",\"type\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.138\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.144\",\"parameters\":[{\"id\":\"_uniq.142\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.143\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.compareCodes\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.136\"},{\"kind\":\"fvar\",\"id\":\"_uniq.138\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.143\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.144\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.150\",\"parameters\":[{\"id\":\"_uniq.149\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.149\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.151\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.150\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.157\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Ord\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instOrdNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.158\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Ord\",\"index\":0,\"value\":\"_uniq.157\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.159\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Char\",\"index\":0,\"value\":\"_uniq.135\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.160\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.159\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.161\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Char\",\"index\":0,\"value\":\"_uniq.137\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.162\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.161\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.163\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.158\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.160\"},{\"kind\":\"fvar\",\"id\":\"_uniq.162\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Ordering\",\"result_type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"discriminant\":\"_uniq.163\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Ordering.eq\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.164\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.165\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.145\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.164\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.165\"}}}},{\"kind\":\"default\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.170\",\"parameters\":[{\"id\":\"_uniq.168\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.169\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.151\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.163\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.169\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.171\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.170\",\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"any\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.171\"}}}}]}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.174\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.173\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"discriminant\":\"_uniq.86\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"discriminant\":\"_uniq.87\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.191\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.192\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.98\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.191\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.192\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.193\",\"type\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.194\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.195\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.109\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.193\"},{\"kind\":\"fvar\",\"id\":\"_uniq.194\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.195\"}}}]}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.197\",\"type\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.198\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"discriminant\":\"_uniq.87\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.207\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.116\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.197\"},{\"kind\":\"fvar\",\"id\":\"_uniq.198\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.207\"}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.208\",\"type\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.209\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.210\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.174\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.197\"},{\"kind\":\"fvar\",\"id\":\"_uniq.198\"},{\"kind\":\"fvar\",\"id\":\"_uniq.208\"},{\"kind\":\"fvar\",\"id\":\"_uniq.209\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.210\"}}}]}}]}}}}}}}}}},\"uses\":[\"Char\",\"List\",\"Nat\",\"Ord\",\"Ordering\",\"PUnit\",\"UInt32\",\"instOrdNat\",\"List.cons\",\"List.nil\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"UInt32.toNat\",\"Unit.unit\",\"Coverage.Colls.LexLeanCollections.compareCodes\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.containsElement\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"List\",\"List.brecOn\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.containsElement._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}}}},\"parameters\":[{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"borrow\":false},{\"id\":\"_uniq.62\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},\"borrow\":false},{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.71\",\"parameters\":[{\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.70\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.71\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.115\",\"parameters\":[{\"id\":\"_uniq.84\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},\"borrow\":false},{\"id\":\"_uniq.85\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.71\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.94\",\"parameters\":[{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.93\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.94\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.99\",\"parameters\":[{\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.containsElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"},{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},{\"kind\":\"fvar\",\"id\":\"_uniq.85\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.98\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.99\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Colls.LexLeanCollections.Key\",\"index\":0,\"value\":\"_uniq.61\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.106\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},{\"kind\":\"fvar\",\"id\":\"_uniq.84\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Ordering\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.107\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Ordering.lt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.90\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.108\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.109\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.eq\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.111\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.95\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.110\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.111\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.gt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.100\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.112\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.113\"}}}}]}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.115\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.63\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.72\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.125\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.126\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.127\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},\"borrow\":false},{\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.129\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.116\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.127\"},{\"kind\":\"fvar\",\"id\":\"_uniq.128\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.129\"}}}]}}}}}},\"uses\":[\"Bool\",\"List\",\"Ordering\",\"PUnit\",\"Bool.false\",\"Bool.true\",\"List.cons\",\"List.nil\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"Unit.unit\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.containsElement\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.graphNodes\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\",\"List.foldl\",\"List.nil\",\"Prod.fst\",\"Prod.snd\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.insertElement\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]}}}},\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]}]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.36\",\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.31\",\"parameters\":[{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.insertElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.30\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.25\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.insertElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.25\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.foldl\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.35\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.foldl\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.38\"}}}}},\"uses\":[\"List\",\"Prod\",\"List.foldl\",\"List.nil\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.insertElement\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.graphReachable\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"List.cons\",\"List.length\",\"List.nil\",\"OfNat.ofNat\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.graphNodes\",\"Coverage.Colls.LexLeanCollections.reachableFrom\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]}]}]},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.graphNodes\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"List.lengthTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.29\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.25\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.reachableFrom\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.34\"}}}}}}}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"List\",\"Nat\",\"OfNat\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"List.cons\",\"List.lengthTR\",\"List.nil\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.graphNodes\",\"Coverage.Colls.LexLeanCollections.reachableFrom\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.graphSuccessors\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\",\"List.nil\",\"Option.getD\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.lookupEntry\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"borrow\":false},{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]}]}]},\"borrow\":false},{\"id\":\"_uniq.43\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.50\",\"parameters\":[{\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.49\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.50\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.57\",\"parameters\":[{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.56\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.57\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.lookupEntry\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"discriminant\":\"_uniq.66\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.58\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.68\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.51\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.69\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.70\"}}}]}}}}}}},\"uses\":[\"List\",\"Option\",\"PUnit\",\"Prod\",\"List.nil\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.lookupEntry\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.graphTopological\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"List.length\",\"List.nil\",\"OfNat.ofNat\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.graphNodes\",\"Coverage.Colls.LexLeanCollections.topological\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]}]}}}},\"parameters\":[{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]}]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.graphNodes\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.22\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.25\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"List.lengthTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.29\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.26\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.topological\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.33\"}}}}}}}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"List\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"List.lengthTR\",\"List.nil\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.graphNodes\",\"Coverage.Colls.LexLeanCollections.topological\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.insertElement\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.brecOn\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.insertElement._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.62\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"borrow\":false},{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"borrow\":false},{\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.74\",\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.73\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.123\",\"parameters\":[{\"id\":\"_uniq.87\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"borrow\":false},{\"id\":\"_uniq.88\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.96\",\"parameters\":[{\"id\":\"_uniq.93\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.88\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.94\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.95\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.96\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.101\",\"parameters\":[{\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.88\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.100\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.101\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.107\",\"parameters\":[{\"id\":\"_uniq.104\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.insertElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.88\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.106\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.107\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Colls.LexLeanCollections.Key\",\"index\":0,\"value\":\"_uniq.63\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.114\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Ordering\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"discriminant\":\"_uniq.115\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Ordering.lt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.97\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.116\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.117\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.eq\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.118\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.102\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.118\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.119\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.gt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.108\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.120\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.121\"}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.124\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.123\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"discriminant\":\"_uniq.65\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.75\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.133\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.134\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.135\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"borrow\":false},{\"id\":\"_uniq.136\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.135\"},{\"kind\":\"fvar\",\"id\":\"_uniq.136\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.137\"}}}]}}}}}},\"uses\":[\"List\",\"Ordering\",\"PUnit\",\"List.cons\",\"List.nil\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"Unit.unit\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.insertElement\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.insertEntry\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\",\"List.brecOn\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.insertEntry._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":4},{\"kind\":\"bvar\",\"index\":3}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":5},{\"kind\":\"bvar\",\"index\":4}]}]}}}}}}},\"parameters\":[{\"id\":\"_uniq.80\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.81\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.82\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"borrow\":false},{\"id\":\"_uniq.83\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},\"borrow\":false},{\"id\":\"_uniq.84\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.81\"},\"borrow\":false},{\"id\":\"_uniq.85\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.95\",\"parameters\":[{\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.83\"},{\"kind\":\"fvar\",\"id\":\"_uniq.84\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},{\"kind\":\"fvar\",\"id\":\"_uniq.93\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.94\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.96\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.95\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.153\",\"parameters\":[{\"id\":\"_uniq.112\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},\"borrow\":false},{\"id\":\"_uniq.113\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.81\"},\"borrow\":false},{\"id\":\"_uniq.114\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.81\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]}}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.124\",\"parameters\":[{\"id\":\"_uniq.119\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.83\"},{\"kind\":\"fvar\",\"id\":\"_uniq.84\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.112\"},{\"kind\":\"fvar\",\"id\":\"_uniq.113\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.121\"},{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.120\"},{\"kind\":\"fvar\",\"id\":\"_uniq.122\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.123\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.130\",\"parameters\":[{\"id\":\"_uniq.127\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.83\"},{\"kind\":\"fvar\",\"id\":\"_uniq.84\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.129\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.128\"},{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.129\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.130\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.137\",\"parameters\":[{\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.112\"},{\"kind\":\"fvar\",\"id\":\"_uniq.113\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.insertEntry\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.82\"},{\"kind\":\"fvar\",\"id\":\"_uniq.83\"},{\"kind\":\"fvar\",\"id\":\"_uniq.84\"},{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.134\"},{\"kind\":\"fvar\",\"id\":\"_uniq.135\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.136\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.137\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.144\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Colls.LexLeanCollections.Key\",\"index\":0,\"value\":\"_uniq.82\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.144\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.83\"},{\"kind\":\"fvar\",\"id\":\"_uniq.112\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Ordering\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"discriminant\":\"_uniq.145\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Ordering.lt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.146\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.147\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.125\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.146\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.147\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.eq\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.148\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.149\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.131\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.148\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.149\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.gt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.150\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.151\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.138\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.150\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.151\"}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.154\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.81\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.153\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"discriminant\":\"_uniq.85\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.163\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.164\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.96\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.163\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.164\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.165\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]},\"borrow\":false},{\"id\":\"_uniq.166\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"borrow\":false}],\"code\":{\"kind\":\"cases\",\"type_name\":\"Prod\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"discriminant\":\"_uniq.165\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Prod.mk\",\"parameters\":[{\"id\":\"_uniq.176\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},\"borrow\":false},{\"id\":\"_uniq.177\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.81\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.178\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.154\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.176\"},{\"kind\":\"fvar\",\"id\":\"_uniq.177\"},{\"kind\":\"fvar\",\"id\":\"_uniq.166\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.178\"}}}]}}]}}}}}},\"uses\":[\"List\",\"Ordering\",\"PUnit\",\"Prod\",\"List.cons\",\"List.nil\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"Prod.mk\",\"Unit.unit\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.insertEntry\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.instKeyBool\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"instOrdBool\",\"Ord.compare\",\"Coverage.Colls.LexLeanCollections.Key.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Ord\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instOrdBool\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Ord\",\"index\":0,\"value\":\"_uniq.1\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.3\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.2\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.3\"}}}}},\"uses\":[\"Bool\",\"Ord\",\"Ordering\",\"instOrdBool\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.Key.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.instKeyInt\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"instOrdInt\",\"Ord.compare\",\"Coverage.Colls.LexLeanCollections.Key.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Ord\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instOrdInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Ord\",\"index\":0,\"value\":\"_uniq.1\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.3\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.2\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.3\"}}}}},\"uses\":[\"Int\",\"Ord\",\"Ordering\",\"instOrdInt\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.Key.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.instKeyInt8\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Int8\",\"instOrdInt\",\"Int8.toInt\",\"Ord.compare\",\"Coverage.Colls.LexLeanCollections.Key.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.12\",\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Ord\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instOrdInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Ord\",\"index\":0,\"value\":\"_uniq.7\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int8.toInt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int8.toInt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.8\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.11\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}}},\"uses\":[\"Int\",\"Int8\",\"Ord\",\"Ordering\",\"instOrdInt\",\"Int8.toInt\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.Key.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.instKeyNat\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOrdNat\",\"Ord.compare\",\"Coverage.Colls.LexLeanCollections.Key.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Ord\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instOrdNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Ord\",\"index\":0,\"value\":\"_uniq.1\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.11\"}}}}},\"uses\":[\"Nat\",\"Ord\",\"Ordering\",\"instOrdNat\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.Key.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.instKeyProd\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Ordering\",\"Prod\",\"Unit\",\"Prod.fst\",\"Prod.snd\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.Key.compare\",\"Coverage.Colls.LexLeanCollections.Key.mk\",\"Coverage.Colls.LexLeanCollections.compareCodes.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3},{\"kind\":\"bvar\",\"index\":2}]}]}}}}},\"parameters\":[{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"borrow\":false},{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.82\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"borrow\":false},{\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.56\",\"parameters\":[{\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Colls.LexLeanCollections.Key\",\"index\":0,\"value\":\"_uniq.37\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.44\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.45\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.52\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.55\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.62\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.61\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.62\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Colls.LexLeanCollections.Key\",\"index\":0,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.44\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.45\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.69\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"},{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Ordering\",\"result_type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"discriminant\":\"_uniq.72\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Ordering.eq\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.57\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}}},{\"kind\":\"default\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.79\",\"parameters\":[{\"id\":\"_uniq.77\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.63\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.78\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.79\",\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"any\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.80\"}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.82\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.83\"}}}},\"uses\":[\"Ordering\",\"PUnit\",\"Prod\",\"Ordering.eq\",\"Unit.unit\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.Key.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.instKeyString\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"String\",\"String.toList\",\"Coverage.Colls.LexLeanCollections.compareCodes\",\"Coverage.Colls.LexLeanCollections.Key.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.10\",\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"String.toList\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"String.toList\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.compareCodes\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.9\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.15\"}}}},\"uses\":[\"Char\",\"List\",\"Ordering\",\"String\",\"String.toList\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.compareCodes\",\"Coverage.Colls.LexLeanCollections.Key.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.instKeyUInt64\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"UInt64\",\"instOrdNat\",\"Ord.compare\",\"UInt64.toNat\",\"Coverage.Colls.LexLeanCollections.Key.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.12\",\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Ord\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instOrdNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Ord\",\"index\":0,\"value\":\"_uniq.7\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.8\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.11\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}}},\"uses\":[\"Nat\",\"Ord\",\"Ordering\",\"UInt64\",\"instOrdNat\",\"UInt64.toNat\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.Key.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.iterate\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Nat.brecOn\",\"Coverage.Colls.LexLeanCollections.iterate._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"bvar\",\"index\":1}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.67\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}},\"borrow\":false},{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.72\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.78\",\"parameters\":[{\"id\":\"_uniq.77\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.77\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.78\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.92\",\"parameters\":[{\"id\":\"_uniq.88\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.89\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.70\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.89\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.iterate\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"},{\"kind\":\"fvar\",\"id\":\"_uniq.88\"},{\"kind\":\"fvar\",\"id\":\"_uniq.90\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.91\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.92\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Nat\",\"result_type\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},\"discriminant\":\"_uniq.71\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Nat.zero\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.79\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.99\"}}},{\"kind\":\"constructor\",\"constructor\":\"Nat.succ\",\"parameters\":[{\"id\":\"_uniq.100\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.93\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.100\"},{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.101\"}}}]}}}}}},\"uses\":[\"Nat\",\"Nat.succ\",\"Nat.zero\",\"Coverage.Colls.LexLeanCollections.iterate\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.iterateUntil\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Nat\",\"Option\",\"Prod\",\"Nat.brecOn\",\"Coverage.Colls.LexLeanCollections.iterateUntil._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}}}},\"parameters\":[{\"id\":\"_uniq.65\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.68\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]}},\"borrow\":false},{\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.79\",\"parameters\":[{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.78\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.79\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.121\",\"parameters\":[{\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.101\",\"parameters\":[{\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},{\"kind\":\"fvar\",\"id\":\"_uniq.99\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.100\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.101\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.106\",\"parameters\":[{\"id\":\"_uniq.104\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.iterateUntil\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.68\"},{\"kind\":\"fvar\",\"id\":\"_uniq.91\"},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.105\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.106\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.68\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"discriminant\":\"_uniq.115\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.102\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.116\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.117\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.118\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.107\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.118\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.119\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.121\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Nat\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"discriminant\":\"_uniq.69\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Nat.zero\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.80\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.128\"}}},{\"kind\":\"constructor\",\"constructor\":\"Nat.succ\",\"parameters\":[{\"id\":\"_uniq.129\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.122\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.129\"},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.130\"}}}]}}}}}},\"uses\":[\"Bool\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"Bool.false\",\"Bool.true\",\"Nat.succ\",\"Nat.zero\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Unit.unit\",\"Coverage.Colls.LexLeanCollections.iterateUntil\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.listFold\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.foldl\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}}},\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}}},\"borrow\":false},{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"borrow\":false},{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"value\":{\"kind\":\"const\",\"name\":\"List.foldl\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.64\"}}},\"uses\":[\"List\",\"List.foldl\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.lookupEntry\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Option\",\"Prod\",\"List.brecOn\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.lookupEntry._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3},{\"kind\":\"bvar\",\"index\":2}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}}},\"parameters\":[{\"id\":\"_uniq.73\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.74\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"borrow\":false},{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},\"borrow\":false},{\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.85\",\"parameters\":[{\"id\":\"_uniq.83\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.84\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.85\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.134\",\"parameters\":[{\"id\":\"_uniq.102\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},\"borrow\":false},{\"id\":\"_uniq.103\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.74\"},\"borrow\":false},{\"id\":\"_uniq.104\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.74\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.85\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.113\",\"parameters\":[{\"id\":\"_uniq.111\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.112\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.113\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.118\",\"parameters\":[{\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.lookupEntry\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.117\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.118\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Colls.LexLeanCollections.Key\",\"index\":0,\"value\":\"_uniq.75\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.125\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},{\"kind\":\"fvar\",\"id\":\"_uniq.102\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Ordering\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"discriminant\":\"_uniq.126\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Ordering.lt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.127\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.109\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.127\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.128\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.eq\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.129\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.114\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.129\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.130\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.gt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.132\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.119\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.131\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.132\"}}}}]}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.74\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.134\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"discriminant\":\"_uniq.77\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.144\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.86\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.144\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.145\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.146\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"borrow\":false},{\"id\":\"_uniq.147\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}]},\"borrow\":false}],\"code\":{\"kind\":\"cases\",\"type_name\":\"Prod\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"discriminant\":\"_uniq.146\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Prod.mk\",\"parameters\":[{\"id\":\"_uniq.157\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},\"borrow\":false},{\"id\":\"_uniq.158\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.74\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.159\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.135\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.157\"},{\"kind\":\"fvar\",\"id\":\"_uniq.158\"},{\"kind\":\"fvar\",\"id\":\"_uniq.147\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.159\"}}}]}}]}}}}}},\"uses\":[\"List\",\"Option\",\"Ordering\",\"PUnit\",\"Prod\",\"List.cons\",\"List.nil\",\"Option.none\",\"Option.some\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"Prod.mk\",\"Unit.unit\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.lookupEntry\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.mapContains\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\",\"Option.isSome\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.lookupEntry\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2},{\"kind\":\"bvar\",\"index\":1}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":3},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}}}}},\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"borrow\":false},{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]}]},\"borrow\":false},{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.lookupEntry\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Option.isSome\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.30\"}}}},\"uses\":[\"Bool\",\"List\",\"Option\",\"Prod\",\"Option.isSome\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.lookupEntry\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.mapEntries\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"bvar\",\"index\":0}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2},{\"kind\":\"bvar\",\"index\":1}]}]}}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"return\",\"id\":\"_uniq.18\"}},\"uses\":[\"List\",\"Prod\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.mapFold\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\",\"List.foldl\",\"Prod.fst\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":3},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":3},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":4},{\"kind\":\"bvar\",\"index\":3}]}]},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}}}},\"parameters\":[{\"id\":\"_uniq.69\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.78\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.71\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.69\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.70\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}}}},\"borrow\":false},{\"id\":\"_uniq.79\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.71\"},\"borrow\":false},{\"id\":\"_uniq.80\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.69\"},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.93\",\"parameters\":[{\"id\":\"_uniq.85\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.71\"},\"borrow\":false},{\"id\":\"_uniq.86\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.69\"},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.71\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.69\"},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.69\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.86\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.70\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.86\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.71\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.78\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.85\"},{\"kind\":\"fvar\",\"id\":\"_uniq.90\"},{\"kind\":\"fvar\",\"id\":\"_uniq.91\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.92\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.71\"},\"value\":{\"kind\":\"const\",\"name\":\"List.foldl\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.69\"},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.93\"},{\"kind\":\"fvar\",\"id\":\"_uniq.79\"},{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.94\"}}}},\"uses\":[\"List\",\"Prod\",\"List.foldl\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.mapInsert\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.insertEntry\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2},{\"kind\":\"bvar\",\"index\":1}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":3},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":3},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":5},{\"kind\":\"bvar\",\"index\":4}]}]}}}}}}},\"parameters\":[{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"borrow\":false},{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]}]},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},\"borrow\":false},{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.insertEntry\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.34\"}}},\"uses\":[\"List\",\"Prod\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.insertEntry\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.mapKeys\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\",\"List.map\",\"Prod.fst\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"bvar\",\"index\":0}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]}}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.23\",\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.21\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.mapTR\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.24\"}}}},\"uses\":[\"List\",\"Prod\",\"List.mapTR\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.mapLookup\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.lookupEntry\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2},{\"kind\":\"bvar\",\"index\":1}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":3},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}}},\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"borrow\":false},{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]}]},\"borrow\":false},{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.lookupEntry\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.29\"}}},\"uses\":[\"List\",\"Option\",\"Prod\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.lookupEntry\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.mapRemove\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.removeEntry\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2},{\"kind\":\"bvar\",\"index\":1}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":3},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":4},{\"kind\":\"bvar\",\"index\":3}]}]}}}}}},\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"borrow\":false},{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]}]},\"borrow\":false},{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.removeEntry\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.29\"}}},\"uses\":[\"List\",\"Prod\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.removeEntry\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.mapSize\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\",\"List.length\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"bvar\",\"index\":0}]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"List.lengthTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.19\"}}},\"uses\":[\"List\",\"Nat\",\"Prod\",\"List.lengthTR\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.mapValues\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\",\"List.map\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"bvar\",\"index\":0}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.23\",\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.21\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.mapTR\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.24\"}}}},\"uses\":[\"List\",\"Prod\",\"List.mapTR\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.reachableFrom\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Prod\",\"Nat.brecOn\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.reachableFrom._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":4}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":5}]}}}}}}},\"parameters\":[{\"id\":\"_uniq.103\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.104\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"borrow\":false},{\"id\":\"_uniq.105\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}]}]},\"borrow\":false},{\"id\":\"_uniq.106\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.107\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"borrow\":false},{\"id\":\"_uniq.108\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.119\",\"parameters\":[{\"id\":\"_uniq.117\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"borrow\":false},{\"id\":\"_uniq.118\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.118\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.119\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.238\",\"parameters\":[{\"id\":\"_uniq.136\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.137\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"borrow\":false},{\"id\":\"_uniq.138\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.198\",\"parameters\":[{\"id\":\"_uniq.144\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"borrow\":false},{\"id\":\"_uniq.145\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.195\",\"parameters\":[{\"id\":\"_uniq.148\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"borrow\":false},{\"id\":\"_uniq.149\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.165\",\"parameters\":[{\"id\":\"_uniq.163\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.164\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.164\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.166\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.165\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.170\",\"parameters\":[{\"id\":\"_uniq.168\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.169\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.containsElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"},{\"kind\":\"fvar\",\"id\":\"_uniq.149\"},{\"kind\":\"fvar\",\"id\":\"_uniq.148\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.169\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.171\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.170\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.176\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.containsElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"},{\"kind\":\"fvar\",\"id\":\"_uniq.149\"},{\"kind\":\"fvar\",\"id\":\"_uniq.138\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.188\",\"parameters\":[{\"id\":\"_uniq.181\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.182\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.183\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.181\"},{\"kind\":\"fvar\",\"id\":\"_uniq.182\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"discriminant\":\"_uniq.183\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.184\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.185\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.insertElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"},{\"kind\":\"fvar\",\"id\":\"_uniq.149\"},{\"kind\":\"fvar\",\"id\":\"_uniq.148\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.185\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.186\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.148\"}}]}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.191\",\"parameters\":[{\"id\":\"_uniq.189\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.190\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.171\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.189\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.188\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.190\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.194\",\"parameters\":[{\"id\":\"_uniq.192\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.193\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.166\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.192\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.188\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.193\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"discriminant\":\"_uniq.176\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.177\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.191\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.177\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.179\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.194\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.179\"}]}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.196\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.graphSuccessors\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"},{\"kind\":\"fvar\",\"id\":\"_uniq.145\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.197\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.foldl\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.195\"},{\"kind\":\"fvar\",\"id\":\"_uniq.144\"},{\"kind\":\"fvar\",\"id\":\"_uniq.196\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.197\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.199\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.200\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.foldl\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.198\"},{\"kind\":\"fvar\",\"id\":\"_uniq.199\"},{\"kind\":\"fvar\",\"id\":\"_uniq.137\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.201\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.200\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.206\",\"parameters\":[{\"id\":\"_uniq.205\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.138\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.207\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.206\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.220\",\"parameters\":[{\"id\":\"_uniq.211\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.217\",\"parameters\":[{\"id\":\"_uniq.214\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"borrow\":false},{\"id\":\"_uniq.215\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.216\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.insertElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"},{\"kind\":\"fvar\",\"id\":\"_uniq.215\"},{\"kind\":\"fvar\",\"id\":\"_uniq.214\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.216\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.218\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.foldl\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.217\"},{\"kind\":\"fvar\",\"id\":\"_uniq.138\"},{\"kind\":\"fvar\",\"id\":\"_uniq.201\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.219\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.reachableFrom\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"},{\"kind\":\"fvar\",\"id\":\"_uniq.136\"},{\"kind\":\"fvar\",\"id\":\"_uniq.201\"},{\"kind\":\"fvar\",\"id\":\"_uniq.218\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.219\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.221\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.220\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"discriminant\":\"_uniq.201\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.229\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.230\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.207\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.229\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.230\"}}}},{\"kind\":\"default\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.235\",\"parameters\":[{\"id\":\"_uniq.233\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.234\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.221\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.201\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.234\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.236\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.235\",\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"any\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.236\"}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.239\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.238\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Nat\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"discriminant\":\"_uniq.106\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Nat.zero\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.245\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.120\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.107\"},{\"kind\":\"fvar\",\"id\":\"_uniq.108\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.245\"}}},{\"kind\":\"constructor\",\"constructor\":\"Nat.succ\",\"parameters\":[{\"id\":\"_uniq.246\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.247\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.239\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.246\"},{\"kind\":\"fvar\",\"id\":\"_uniq.107\"},{\"kind\":\"fvar\",\"id\":\"_uniq.108\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.247\"}}}]}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"List\",\"Nat\",\"PUnit\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"List.foldl\",\"List.nil\",\"Nat.succ\",\"Nat.zero\",\"Unit.unit\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.containsElement\",\"Coverage.Colls.LexLeanCollections.graphSuccessors\",\"Coverage.Colls.LexLeanCollections.insertElement\",\"Coverage.Colls.LexLeanCollections.reachableFrom\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.removeElement\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.brecOn\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.removeElement._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.62\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"borrow\":false},{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"borrow\":false},{\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.73\",\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.72\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.73\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.120\",\"parameters\":[{\"id\":\"_uniq.86\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"borrow\":false},{\"id\":\"_uniq.87\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.94\",\"parameters\":[{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.86\"},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.93\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.94\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.98\",\"parameters\":[{\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.87\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.98\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.104\",\"parameters\":[{\"id\":\"_uniq.101\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.removeElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.86\"},{\"kind\":\"fvar\",\"id\":\"_uniq.102\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.103\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.104\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.111\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Colls.LexLeanCollections.Key\",\"index\":0,\"value\":\"_uniq.63\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.111\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.86\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Ordering\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"discriminant\":\"_uniq.112\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Ordering.lt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.95\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.113\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.114\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.eq\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.99\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.115\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.116\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.gt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.118\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.105\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.117\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.118\"}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.120\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"discriminant\":\"_uniq.65\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.130\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.131\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.132\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"borrow\":false},{\"id\":\"_uniq.133\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.121\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.132\"},{\"kind\":\"fvar\",\"id\":\"_uniq.133\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.134\"}}}]}}}}}},\"uses\":[\"List\",\"Ordering\",\"PUnit\",\"List.cons\",\"List.nil\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"Unit.unit\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.removeElement\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.removeEntry\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\",\"List.brecOn\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.removeEntry._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3},{\"kind\":\"bvar\",\"index\":2}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":4},{\"kind\":\"bvar\",\"index\":3}]}]}}}}}},\"parameters\":[{\"id\":\"_uniq.75\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"borrow\":false},{\"id\":\"_uniq.78\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},\"borrow\":false},{\"id\":\"_uniq.79\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.87\",\"parameters\":[{\"id\":\"_uniq.85\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.86\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.87\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.141\",\"parameters\":[{\"id\":\"_uniq.104\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},\"borrow\":false},{\"id\":\"_uniq.105\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},\"borrow\":false},{\"id\":\"_uniq.106\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]}}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.114\",\"parameters\":[{\"id\":\"_uniq.111\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.112\"},{\"kind\":\"fvar\",\"id\":\"_uniq.106\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.113\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.114\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.118\",\"parameters\":[{\"id\":\"_uniq.117\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.106\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.118\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.125\",\"parameters\":[{\"id\":\"_uniq.121\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.removeEntry\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"},{\"kind\":\"fvar\",\"id\":\"_uniq.106\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.124\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.122\"},{\"kind\":\"fvar\",\"id\":\"_uniq.123\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.124\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.125\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.132\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Colls.LexLeanCollections.Key\",\"index\":0,\"value\":\"_uniq.77\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.132\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.78\"},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Ordering\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"discriminant\":\"_uniq.133\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Ordering.lt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.115\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.134\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.135\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.eq\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.119\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.136\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.137\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.gt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.139\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.126\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.138\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.139\"}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.141\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"discriminant\":\"_uniq.79\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.151\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.152\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.88\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.151\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.152\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.153\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"borrow\":false},{\"id\":\"_uniq.154\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"borrow\":false}],\"code\":{\"kind\":\"cases\",\"type_name\":\"Prod\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"discriminant\":\"_uniq.153\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Prod.mk\",\"parameters\":[{\"id\":\"_uniq.164\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},\"borrow\":false},{\"id\":\"_uniq.165\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.166\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.142\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.164\"},{\"kind\":\"fvar\",\"id\":\"_uniq.165\"},{\"kind\":\"fvar\",\"id\":\"_uniq.154\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.166\"}}}]}}]}}}}}},\"uses\":[\"List\",\"Ordering\",\"PUnit\",\"Prod\",\"List.cons\",\"List.nil\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"Prod.mk\",\"Unit.unit\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.removeEntry\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.setContains\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.containsElement\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}}}},\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.containsElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.23\"}}},\"uses\":[\"Bool\",\"List\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.containsElement\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.setDifference\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Bool.not\",\"List.filter\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.containsElement\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"borrow\":false},{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.28\",\"parameters\":[{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.containsElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.not\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.27\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.filterTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.29\"}}}},\"uses\":[\"Bool\",\"List\",\"Bool.not\",\"List.filterTR\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.containsElement\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.setElements\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"return\",\"id\":\"_uniq.12\"}},\"uses\":[\"List\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.setFold\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.foldl\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}}},\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}}},\"borrow\":false},{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"borrow\":false},{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"value\":{\"kind\":\"const\",\"name\":\"List.foldl\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.64\"}}},\"uses\":[\"List\",\"List.foldl\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.setInsert\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.insertElement\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.insertElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.23\"}}},\"uses\":[\"List\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.insertElement\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.setIntersection\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.filter\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.containsElement\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"borrow\":false},{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.27\",\"parameters\":[{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.containsElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.26\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.filterTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.28\"}}}},\"uses\":[\"Bool\",\"List\",\"List.filterTR\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.containsElement\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.setRemove\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.removeElement\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.removeElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.23\"}}},\"uses\":[\"List\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.removeElement\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.setSize\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.length\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"List.lengthTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}},\"uses\":[\"List\",\"Nat\",\"List.lengthTR\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.setUnion\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.foldl\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.insertElement\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"borrow\":false},{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"borrow\":false},{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.30\",\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"borrow\":false},{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.insertElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.29\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.foldl\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}}},\"uses\":[\"List\",\"List.foldl\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.insertElement\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.topological\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Option\",\"Prod\",\"Nat.brecOn\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.topological._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":4}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":5}]}]}}}}}}},\"parameters\":[{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.93\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"borrow\":false},{\"id\":\"_uniq.94\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]}]},\"borrow\":false},{\"id\":\"_uniq.95\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.96\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"borrow\":false},{\"id\":\"_uniq.97\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.125\",\"parameters\":[{\"id\":\"_uniq.106\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"borrow\":false},{\"id\":\"_uniq.107\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"List.isEmpty\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.106\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.118\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.116\"},{\"kind\":\"fvar\",\"id\":\"_uniq.117\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]},\"discriminant\":\"_uniq.118\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.119\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.120\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.121\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.reverse\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.107\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.122\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.123\"}}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.125\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.207\",\"parameters\":[{\"id\":\"_uniq.141\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.142\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"borrow\":false},{\"id\":\"_uniq.143\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]}}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.167\",\"parameters\":[{\"id\":\"_uniq.149\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.158\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"List.isEmpty\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.142\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.159\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.160\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.158\"},{\"kind\":\"fvar\",\"id\":\"_uniq.159\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]},\"discriminant\":\"_uniq.160\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.161\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.162\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.162\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.163\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.164\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.reverse\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.143\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.165\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.164\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.165\"}}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.168\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.167\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.180\",\"parameters\":[{\"id\":\"_uniq.175\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},\"borrow\":false},{\"id\":\"_uniq.176\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.177\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.removeElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.93\"},{\"kind\":\"fvar\",\"id\":\"_uniq.175\"},{\"kind\":\"fvar\",\"id\":\"_uniq.142\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.178\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.175\"},{\"kind\":\"fvar\",\"id\":\"_uniq.143\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.179\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.topological\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.93\"},{\"kind\":\"fvar\",\"id\":\"_uniq.94\"},{\"kind\":\"fvar\",\"id\":\"_uniq.141\"},{\"kind\":\"fvar\",\"id\":\"_uniq.177\"},{\"kind\":\"fvar\",\"id\":\"_uniq.178\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.179\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.181\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.180\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.199\",\"parameters\":[{\"id\":\"_uniq.191\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.197\",\"parameters\":[{\"id\":\"_uniq.193\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.194\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.graphSuccessors\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.93\"},{\"kind\":\"fvar\",\"id\":\"_uniq.94\"},{\"kind\":\"fvar\",\"id\":\"_uniq.193\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.195\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Colls.LexLeanCollections.containsElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.93\"},{\"kind\":\"fvar\",\"id\":\"_uniq.191\"},{\"kind\":\"fvar\",\"id\":\"_uniq.194\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.196\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.not\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.195\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.196\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.198\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"List.all\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.142\"},{\"kind\":\"fvar\",\"id\":\"_uniq.197\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.198\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.200\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.filterTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.199\"},{\"kind\":\"fvar\",\"id\":\"_uniq.142\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]},\"discriminant\":\"_uniq.200\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.201\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.202\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.168\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.201\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.202\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.203\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},\"borrow\":false},{\"id\":\"_uniq.204\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.205\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.181\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.203\"},{\"kind\":\"fvar\",\"id\":\"_uniq.204\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.205\"}}}]}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.208\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.207\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Nat\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]},\"discriminant\":\"_uniq.95\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Nat.zero\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.214\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.126\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.96\"},{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.214\"}}},{\"kind\":\"constructor\",\"constructor\":\"Nat.succ\",\"parameters\":[{\"id\":\"_uniq.215\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.216\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.208\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.215\"},{\"kind\":\"fvar\",\"id\":\"_uniq.96\"},{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.216\"}}}]}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"List\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"instDecidableEqBool\",\"Bool.not\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"List.all\",\"List.cons\",\"List.filterTR\",\"List.isEmpty\",\"List.nil\",\"List.reverse\",\"Nat.succ\",\"Nat.zero\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.containsElement\",\"Coverage.Colls.LexLeanCollections.graphSuccessors\",\"Coverage.Colls.LexLeanCollections.removeElement\",\"Coverage.Colls.LexLeanCollections.topological\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanRuntime.subtract\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Sub\",\"instHSub\",\"HSub.hSub\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HSub\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instHSub\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HSub\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}}},\"uses\":[\"HSub\",\"Sub\",\"instHSub\"]},\"inductive\":null},{\"name\":\"Coverage.Main.LexLeanRuntime.Quotient\",\"kind\":\"inductive\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Coverage.Main.LexLeanRuntime.Quotient.mk\",\"parameters\":1,\"fields\":3,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Main.LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}}}]}},{\"name\":\"Coverage.Main.LexLeanRuntime.instQuotientInt\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"instBEqOfDecidableEq\",\"instOfNat\",\"BEq.beq\",\"Int.instDecidableEq\",\"Int.tdiv\",\"Int.tmod\",\"OfNat.ofNat\",\"Coverage.Main.LexLeanRuntime.Quotient.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Main.LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int.tdiv\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.3\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int.tmod\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.15\",\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int.instDecidableEq\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instBEqOfDecidableEq\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"BEq\",\"index\":0,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.12\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.10\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.14\"}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Main.LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Main.LexLeanRuntime.Quotient.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.2\"},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.16\"}}}}}},\"uses\":[\"BEq\",\"Bool\",\"Decidable\",\"Int\",\"Nat\",\"OfNat\",\"instBEqOfDecidableEq\",\"instOfNat\",\"Int.instDecidableEq\",\"Int.tdiv\",\"Int.tmod\",\"Coverage.Main.LexLeanRuntime.Quotient\",\"Coverage.Main.LexLeanRuntime.Quotient.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Main.LexLeanRuntime.instQuotientNat\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instBEqOfDecidableEq\",\"instDecidableEqNat\",\"instOfNatNat\",\"BEq.beq\",\"Nat.div\",\"Nat.mod\",\"OfNat.ofNat\",\"Coverage.Main.LexLeanRuntime.Quotient.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Main.LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Nat.div\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.3\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Nat.mod\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.15\",\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instBEqOfDecidableEq\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"BEq\",\"index\":0,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.12\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.10\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.14\"}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Main.LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Main.LexLeanRuntime.Quotient.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.2\"},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.25\"}}}}}},\"uses\":[\"BEq\",\"Bool\",\"Decidable\",\"Nat\",\"OfNat\",\"instBEqOfDecidableEq\",\"instDecidableEqNat\",\"instOfNatNat\",\"Nat.div\",\"Nat.mod\",\"Coverage.Main.LexLeanRuntime.Quotient\",\"Coverage.Main.LexLeanRuntime.Quotient.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Main.LexLeanRuntime.multiply\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Mul\",\"instHMul\",\"HMul.hMul\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HMul\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instHMul\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HMul\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}}},\"uses\":[\"HMul\",\"Mul\",\"instHMul\"]},\"inductive\":null},{\"name\":\"Coverage.Main.LexLeanRuntime.negate\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Neg\",\"Neg.neg\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}}},\"parameters\":[{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"borrow\":false},{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.26\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.29\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.30\"}}}},\"uses\":[\"Neg\"]},\"inductive\":null},{\"name\":\"Coverage.Main.LexLeanRuntime.quotient\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Coverage.Main.LexLeanRuntime.Quotient\",\"Coverage.Main.LexLeanRuntime.Quotient.isZero\",\"Coverage.Main.LexLeanRuntime.Quotient.quotient\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Main.LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":3},\"codomain\":{\"kind\":\"bvar\",\"index\":4}}}}}},\"parameters\":[{\"id\":\"_uniq.39\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Main.LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"borrow\":false},{\"id\":\"_uniq.41\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"borrow\":false},{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"borrow\":false},{\"id\":\"_uniq.43\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Main.LexLeanRuntime.Quotient\",\"index\":2,\"value\":\"_uniq.40\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.52\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"discriminant\":\"_uniq.55\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Main.LexLeanRuntime.Quotient\",\"index\":0,\"value\":\"_uniq.40\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.59\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.60\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}]}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Coverage.Main.LexLeanRuntime.Quotient\"]},\"inductive\":null},{\"name\":\"Coverage.Main.LexLeanRuntime.remainder\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Coverage.Main.LexLeanRuntime.Quotient\",\"Coverage.Main.LexLeanRuntime.Quotient.isZero\",\"Coverage.Main.LexLeanRuntime.Quotient.remainder\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Main.LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":3},\"codomain\":{\"kind\":\"bvar\",\"index\":4}}}}}},\"parameters\":[{\"id\":\"_uniq.39\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Main.LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"borrow\":false},{\"id\":\"_uniq.41\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"borrow\":false},{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"borrow\":false},{\"id\":\"_uniq.43\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Main.LexLeanRuntime.Quotient\",\"index\":2,\"value\":\"_uniq.40\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.52\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"discriminant\":\"_uniq.55\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Main.LexLeanRuntime.Quotient\",\"index\":1,\"value\":\"_uniq.40\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.59\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.60\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}]}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Coverage.Main.LexLeanRuntime.Quotient\"]},\"inductive\":null},{\"name\":\"Coverage.Main.LexLeanRuntime.subtract\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Sub\",\"instHSub\",\"HSub.hSub\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HSub\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instHSub\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HSub\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.41\"}}}}},\"uses\":[\"HSub\",\"Sub\",\"instHSub\"]},\"inductive\":null},{\"name\":\"Coverage.Main.options.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Main.options.match_3\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Except.casesOn\",\"Except.error\",\"Except.ok\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.Appendable\",\"kind\":\"inductive\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Coverage.Prims.LexLeanRuntime.Appendable.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"Coverage.Prims.LexLeanRuntime.Decimal\",\"kind\":\"inductive\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Coverage.Prims.LexLeanRuntime.Decimal.mk\",\"parameters\":1,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Decimal\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]}}}}}]}},{\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"kind\":\"inductive\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed.mk\",\"parameters\":1,\"fields\":10,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"bvar\",\"index\":2}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":4},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":5},\"codomain\":{\"kind\":\"bvar\",\"index\":6}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":5},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":6},\"codomain\":{\"kind\":\"bvar\",\"index\":7}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":6},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":7},\"codomain\":{\"kind\":\"bvar\",\"index\":8}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":7},\"codomain\":{\"kind\":\"bvar\",\"index\":8}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":8},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":10}]}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":9},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":11}]}}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":10}]}}}}}}}}}}}}}]}},{\"name\":\"Coverage.Prims.LexLeanRuntime.Indexable\",\"kind\":\"inductive\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":2,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Coverage.Prims.LexLeanRuntime.Indexable.mk\",\"parameters\":2,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]}}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Indexable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2},{\"kind\":\"bvar\",\"index\":1}]}}}}}]}},{\"name\":\"Coverage.Prims.LexLeanRuntime.Lengthable\",\"kind\":\"inductive\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Coverage.Prims.LexLeanRuntime.Lengthable.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"Coverage.Prims.LexLeanRuntime.Sliceable\",\"kind\":\"inductive\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Coverage.Prims.LexLeanRuntime.Sliceable.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Sliceable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"kind\":\"inductive\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"Coverage.Prims.LexLeanRuntime.append\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Prims.LexLeanRuntime.Appendable\",\"Coverage.Prims.LexLeanRuntime.Appendable.append\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"borrow\":false},{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Prims.LexLeanRuntime.Appendable\",\"index\":0,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.40\"}}}},\"uses\":[\"Coverage.Prims.LexLeanRuntime.Appendable\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.bitAnd\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.Fixed.bitAnd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"borrow\":false},{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"index\":4,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.35\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.36\"}}}},\"uses\":[\"Coverage.Prims.LexLeanRuntime.Fixed\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.bitNot\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.Fixed.bitNot\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}}},\"parameters\":[{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"borrow\":false},{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"index\":7,\"value\":\"_uniq.23\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.26\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.27\"}}}},\"uses\":[\"Coverage.Prims.LexLeanRuntime.Fixed\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.bitOr\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.Fixed.bitOr\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"borrow\":false},{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"index\":5,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.35\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.36\"}}}},\"uses\":[\"Coverage.Prims.LexLeanRuntime.Fixed\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.bitXor\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.Fixed.bitXor\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"borrow\":false},{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"index\":6,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.35\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.36\"}}}},\"uses\":[\"Coverage.Prims.LexLeanRuntime.Fixed\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.checkedAdd\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"instHAdd\",\"HAdd.hAdd\",\"Int.instAdd\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.checkedFromInt\",\"Coverage.Prims.LexLeanRuntime.Fixed.toToMathInt\",\"Coverage.Prims.LexLeanRuntime.ToMathInt.toInt\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instAdd\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"index\":0,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"index\":0,\"value\":\"_uniq.26\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.30\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.30\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.25\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.checkedFromInt\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.34\"}}}}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Int\",\"Option\",\"instHAdd\",\"Int.instAdd\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"Coverage.Prims.LexLeanRuntime.checkedFromInt\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.checkedAddInt64\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Int64\",\"Option\",\"instAddInt64\",\"instDecidableEqBool\",\"instHAdd\",\"instLTInt64\",\"ite\",\"Bool.and\",\"Bool.or\",\"Bool.true\",\"Decidable.decide\",\"HAdd.hAdd\",\"Int64.decLt\",\"Int64.instOfNat\",\"LT.lt\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddInt64\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.54\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.55\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.73\",\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.72\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.73\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.107\",\"parameters\":[{\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.85\",\"parameters\":[{\"id\":\"_uniq.83\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.84\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.85\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.91\",\"parameters\":[{\"id\":\"_uniq.88\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.89\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.90\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.91\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.98\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.99\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.100\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.101\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.86\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.102\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.103\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.92\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.104\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.105\"}}}}]}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.107\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.118\",\"parameters\":[{\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.117\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.118\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.124\",\"parameters\":[{\"id\":\"_uniq.121\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.122\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.123\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.130\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.132\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.131\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.132\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.133\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.159\",\"parameters\":[{\"id\":\"_uniq.139\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.152\",\"parameters\":[{\"id\":\"_uniq.144\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.146\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.144\"},{\"kind\":\"fvar\",\"id\":\"_uniq.145\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"discriminant\":\"_uniq.146\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.147\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.148\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.148\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.149\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.150\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.150\"}}}]}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.155\",\"parameters\":[{\"id\":\"_uniq.153\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.154\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.108\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.153\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.152\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.154\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.158\",\"parameters\":[{\"id\":\"_uniq.156\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.157\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.156\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.152\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.157\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"discriminant\":\"_uniq.139\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.140\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.155\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.140\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.158\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.142\"}]}}}]}}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.165\",\"parameters\":[{\"id\":\"_uniq.163\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.164\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.125\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.163\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.159\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.164\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.162\",\"parameters\":[{\"id\":\"_uniq.160\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.161\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.119\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.160\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.159\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.161\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"discriminant\":\"_uniq.134\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.162\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.135\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.165\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.137\"}]}}}]}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Add\",\"Bool\",\"Decidable\",\"HAdd\",\"Int64\",\"Nat\",\"OfNat\",\"Option\",\"PUnit\",\"instAddInt64\",\"instDecidableEqBool\",\"instHAdd\",\"Bool.false\",\"Bool.true\",\"Decidable.decide\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int64.decLt\",\"Int64.instOfNat\",\"Option.none\",\"Option.some\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.checkedConvert\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"Coverage.Prims.LexLeanRuntime.checkedFromInt\",\"Coverage.Prims.LexLeanRuntime.ToMathInt.toInt\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":3},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}}},\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"borrow\":false},{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"borrow\":false},{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"index\":0,\"value\":\"_uniq.26\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.29\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.checkedFromInt\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}}}},\"uses\":[\"Int\",\"Option\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"Coverage.Prims.LexLeanRuntime.checkedFromInt\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.checkedFromInt\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Option\",\"ite\",\"Int.decLt\",\"Int.instLTInt\",\"LT.lt\",\"Option.none\",\"Option.some\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.Fixed.fromInt\",\"Coverage.Prims.LexLeanRuntime.Fixed.maximum\",\"Coverage.Prims.LexLeanRuntime.Fixed.minimum\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]}}}},\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"borrow\":false},{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"index\":2,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"discriminant\":\"_uniq.33\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"index\":3,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.43\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"discriminant\":\"_uniq.44\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.45\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"index\":1,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.47\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.49\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.50\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.51\"}}}]}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.54\"}}}]}}}},\"uses\":[\"Decidable\",\"Int\",\"Option\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int.decLt\",\"Option.none\",\"Option.some\",\"Coverage.Prims.LexLeanRuntime.Fixed\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.checkedMultiply\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"instHMul\",\"HMul.hMul\",\"Int.instMul\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.checkedFromInt\",\"Coverage.Prims.LexLeanRuntime.Fixed.toToMathInt\",\"Coverage.Prims.LexLeanRuntime.ToMathInt.toInt\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instMul\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HMul\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHMul\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HMul\",\"index\":0,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"index\":0,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"index\":0,\"value\":\"_uniq.26\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.27\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.27\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.25\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.checkedFromInt\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}}}}}}}}}},\"uses\":[\"HMul\",\"Int\",\"Mul\",\"Option\",\"instHMul\",\"Int.instMul\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"Coverage.Prims.LexLeanRuntime.checkedFromInt\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.checkedMultiplyInt64\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Int64\",\"Nat\",\"Option\",\"UInt64\",\"Unit\",\"bne\",\"instBEqOfDecidableEq\",\"instDecidableEqBool\",\"instLTInt64\",\"instOfNatNat\",\"Decidable.decide\",\"Int64.decLt\",\"Int64.instOfNat\",\"LT.lt\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"UInt64.instOfNat\",\"Coverage.Prims.LexLeanRuntime.magnitudeInt64\",\"Coverage.Prims.LexLeanRuntime.multiplyMagnitudeInt64\",\"Coverage.Prims.LexLeanRuntime.signedMagnitudeInt64\",\"Coverage.Prims.LexLeanRuntime.checkedMultiplyInt64.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instBEqOfDecidableEq\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.43\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"bne\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.49\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.56\",\"parameters\":[{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.55\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.64\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.signedMagnitudeInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.63\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.64\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"64\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.74\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.magnitudeInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.magnitudeInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.78\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.multiplyMagnitudeInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"},{\"kind\":\"fvar\",\"id\":\"_uniq.79\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"discriminant\":\"_uniq.80\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.57\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.82\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.83\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.83\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.84\"}}}]}}}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"BEq\",\"Bool\",\"Decidable\",\"Int64\",\"Nat\",\"OfNat\",\"Option\",\"PUnit\",\"UInt64\",\"bne\",\"instBEqOfDecidableEq\",\"instDecidableEqBool\",\"instOfNatNat\",\"Decidable.decide\",\"Int64.decLt\",\"Int64.instOfNat\",\"Option.none\",\"Option.some\",\"UInt64.instOfNat\",\"Unit.unit\",\"Coverage.Prims.LexLeanRuntime.magnitudeInt64\",\"Coverage.Prims.LexLeanRuntime.multiplyMagnitudeInt64\",\"Coverage.Prims.LexLeanRuntime.signedMagnitudeInt64\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.checkedNegate\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Int.instNegInt\",\"Neg.neg\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.checkedFromInt\",\"Coverage.Prims.LexLeanRuntime.Fixed.toToMathInt\",\"Coverage.Prims.LexLeanRuntime.ToMathInt.toInt\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]}}}},\"parameters\":[{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instNegInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.18\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"index\":0,\"value\":\"_uniq.16\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"index\":0,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.21\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.19\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.checkedFromInt\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.24\"}}}}}}}}},\"uses\":[\"Int\",\"Neg\",\"Option\",\"Int.instNegInt\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"Coverage.Prims.LexLeanRuntime.checkedFromInt\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.checkedNegateInt64\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Int64\",\"Option\",\"instBEqOfDecidableEq\",\"instDecidableEqBool\",\"instDecidableEqInt64\",\"ite\",\"BEq.beq\",\"Bool.true\",\"Int64.instNeg\",\"Int64.instOfNat\",\"Neg.neg\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqInt64\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instBEqOfDecidableEq\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"BEq\",\"index\":0,\"value\":\"_uniq.21\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.instNeg\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.23\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9223372036854775808\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.26\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.24\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.22\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"discriminant\":\"_uniq.31\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.24\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.34\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.36\"}}}]}}}}}}}}}}}}}},\"uses\":[\"BEq\",\"Bool\",\"Decidable\",\"Int64\",\"Nat\",\"Neg\",\"OfNat\",\"Option\",\"instBEqOfDecidableEq\",\"instDecidableEqBool\",\"instDecidableEqInt64\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int64.instNeg\",\"Int64.instOfNat\",\"Option.none\",\"Option.some\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.checkedQuotient\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Eq\",\"Int\",\"Option\",\"instOfNat\",\"ite\",\"Int.instDecidableEq\",\"Int.tdiv\",\"OfNat.ofNat\",\"Option.none\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.checkedFromInt\",\"Coverage.Prims.LexLeanRuntime.Fixed.toToMathInt\",\"Coverage.Prims.LexLeanRuntime.ToMathInt.toInt\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"borrow\":false},{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},\"borrow\":false},{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"index\":0,\"value\":\"_uniq.23\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"index\":0,\"value\":\"_uniq.34\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.35\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.38\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instDecidableEq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"discriminant\":\"_uniq.40\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.41\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.35\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int.tdiv\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.checkedFromInt\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.44\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.45\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.46\"}}}]}}}}}}}}},\"uses\":[\"Decidable\",\"Int\",\"Nat\",\"OfNat\",\"Option\",\"instOfNat\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int.instDecidableEq\",\"Int.tdiv\",\"Option.none\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"Coverage.Prims.LexLeanRuntime.checkedFromInt\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.checkedQuotientInt64\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Int64\",\"Nat\",\"Option\",\"UInt64\",\"bne\",\"instBEqOfDecidableEq\",\"instDecidableEqBool\",\"instDecidableEqInt64\",\"instLTInt64\",\"instOfNatNat\",\"ite\",\"BEq.beq\",\"Bool.and\",\"Bool.true\",\"Decidable.decide\",\"Int64.decLt\",\"Int64.instNeg\",\"Int64.instOfNat\",\"LT.lt\",\"Neg.neg\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"UInt64.instOfNat\",\"Coverage.Prims.LexLeanRuntime.divideMagnitudeInt64\",\"Coverage.Prims.LexLeanRuntime.magnitudeInt64\",\"Coverage.Prims.LexLeanRuntime.signedMagnitudeInt64\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqInt64\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instBEqOfDecidableEq\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"BEq\",\"index\":0,\"value\":\"_uniq.44\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.47\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"discriminant\":\"_uniq.51\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.52\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.68\",\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.67\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.68\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.79\",\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.instNeg\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.72\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.75\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.73\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.78\"}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.79\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.85\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.instNeg\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.85\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9223372036854775808\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.87\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.88\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.86\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.89\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.90\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.123\",\"parameters\":[{\"id\":\"_uniq.96\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.96\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"discriminant\":\"_uniq.97\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.98\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instBEqOfDecidableEq\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.102\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.106\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"bne\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.103\"},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"},{\"kind\":\"fvar\",\"id\":\"_uniq.107\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.108\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"64\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.111\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.110\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.111\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.magnitudeInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.magnitudeInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.115\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.divideMagnitudeInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.112\"},{\"kind\":\"fvar\",\"id\":\"_uniq.113\"},{\"kind\":\"fvar\",\"id\":\"_uniq.114\"},{\"kind\":\"fvar\",\"id\":\"_uniq.116\"},{\"kind\":\"fvar\",\"id\":\"_uniq.116\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.118\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.signedMagnitudeInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.109\"},{\"kind\":\"fvar\",\"id\":\"_uniq.117\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.118\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.119\"}}}}}}}}}}}}}}}}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.120\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.121\"}}}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.126\",\"parameters\":[{\"id\":\"_uniq.124\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.69\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.124\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.123\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.125\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.129\",\"parameters\":[{\"id\":\"_uniq.127\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.80\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.127\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.123\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.128\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"discriminant\":\"_uniq.91\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.126\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.129\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.94\"}]}}}]}}}}}}}}}}}}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.130\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.131\"}}}]}}}}}}}}}}},\"uses\":[\"BEq\",\"Bool\",\"Decidable\",\"Int64\",\"Nat\",\"Neg\",\"OfNat\",\"Option\",\"PUnit\",\"UInt64\",\"bne\",\"instBEqOfDecidableEq\",\"instDecidableEqBool\",\"instDecidableEqInt64\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Decidable.decide\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int64.decLt\",\"Int64.instNeg\",\"Int64.instOfNat\",\"Option.none\",\"Option.some\",\"UInt64.instOfNat\",\"Unit.unit\",\"Coverage.Prims.LexLeanRuntime.divideMagnitudeInt64\",\"Coverage.Prims.LexLeanRuntime.magnitudeInt64\",\"Coverage.Prims.LexLeanRuntime.signedMagnitudeInt64\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.checkedSubtract\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"instHSub\",\"HSub.hSub\",\"Int.instSub\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.checkedFromInt\",\"Coverage.Prims.LexLeanRuntime.Fixed.toToMathInt\",\"Coverage.Prims.LexLeanRuntime.ToMathInt.toInt\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instSub\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HSub\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHSub\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HSub\",\"index\":0,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"index\":0,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"index\":0,\"value\":\"_uniq.26\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.27\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.27\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.25\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.checkedFromInt\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}}}}}}}}}},\"uses\":[\"HSub\",\"Int\",\"Option\",\"Sub\",\"instHSub\",\"Int.instSub\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"Coverage.Prims.LexLeanRuntime.checkedFromInt\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.checkedSubtractInt64\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Int64\",\"Option\",\"instDecidableEqBool\",\"instHSub\",\"instLTInt64\",\"instSubInt64\",\"ite\",\"Bool.and\",\"Bool.or\",\"Bool.true\",\"Decidable.decide\",\"HSub.hSub\",\"Int64.decLt\",\"Int64.instOfNat\",\"LT.lt\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubInt64\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HSub\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHSub\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HSub\",\"index\":0,\"value\":\"_uniq.54\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.55\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.73\",\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.72\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.73\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.107\",\"parameters\":[{\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.85\",\"parameters\":[{\"id\":\"_uniq.83\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.84\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.85\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.91\",\"parameters\":[{\"id\":\"_uniq.88\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.89\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.90\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.91\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.98\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.99\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.100\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.101\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.86\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.102\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.103\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.92\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.104\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.105\"}}}}]}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.107\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.118\",\"parameters\":[{\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.117\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.118\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.124\",\"parameters\":[{\"id\":\"_uniq.121\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.122\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.123\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.130\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.132\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.131\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.132\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.133\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.159\",\"parameters\":[{\"id\":\"_uniq.139\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.152\",\"parameters\":[{\"id\":\"_uniq.144\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.146\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.144\"},{\"kind\":\"fvar\",\"id\":\"_uniq.145\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"discriminant\":\"_uniq.146\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.147\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.148\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.148\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.149\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.150\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.150\"}}}]}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.155\",\"parameters\":[{\"id\":\"_uniq.153\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.154\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.108\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.153\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.152\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.154\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.158\",\"parameters\":[{\"id\":\"_uniq.156\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.157\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.156\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.152\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.157\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"discriminant\":\"_uniq.139\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.140\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.155\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.140\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.158\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.142\"}]}}}]}}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.165\",\"parameters\":[{\"id\":\"_uniq.163\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.164\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.125\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.163\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.159\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.164\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.162\",\"parameters\":[{\"id\":\"_uniq.160\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.161\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.119\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.160\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.159\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.161\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"discriminant\":\"_uniq.134\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.162\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.135\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.165\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.137\"}]}}}]}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"HSub\",\"Int64\",\"Nat\",\"OfNat\",\"Option\",\"PUnit\",\"Sub\",\"instDecidableEqBool\",\"instHSub\",\"instSubInt64\",\"Bool.false\",\"Bool.true\",\"Decidable.decide\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int64.decLt\",\"Int64.instOfNat\",\"Option.none\",\"Option.some\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.compareBytes\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"ByteArray\",\"List\",\"UInt8\",\"ByteArray.toList\",\"List.instOrd\",\"Ord.compare\",\"UInt8.instOrd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Ord\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt8.instOrd\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Ord\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.instOrd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Ord\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"ByteArray.toList\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"ByteArray.toList\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.15\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.18\"}}}}}}}},\"uses\":[\"ByteArray\",\"List\",\"Ord\",\"Ordering\",\"UInt8\",\"ByteArray.toList\",\"List.instOrd\",\"UInt8.instOrd\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.divideMagnitudeInt64\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"UInt64\",\"Nat.brecOn\",\"Coverage.Prims.LexLeanRuntime.divideMagnitudeInt64._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}}}}},\"parameters\":[{\"id\":\"_uniq.94\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.95\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.96\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.117\",\"parameters\":[{\"id\":\"_uniq.113\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.114\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.115\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}}}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.116\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.118\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.117\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.201\",\"parameters\":[{\"id\":\"_uniq.138\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.139\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.140\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.141\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.142\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}}}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.147\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddUInt64\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.148\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.147\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.149\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.148\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.150\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.149\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.139\"},{\"kind\":\"fvar\",\"id\":\"_uniq.139\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.151\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.150\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.152\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.149\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.141\"},{\"kind\":\"fvar\",\"id\":\"_uniq.141\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.161\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9223372036854775808\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.162\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.161\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.163\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.162\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.164\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.decLe\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.163\"},{\"kind\":\"fvar\",\"id\":\"_uniq.139\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.200\",\"parameters\":[{\"id\":\"_uniq.173\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.174\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.149\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.152\"},{\"kind\":\"fvar\",\"id\":\"_uniq.173\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.175\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.174\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.176\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.149\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.142\"},{\"kind\":\"fvar\",\"id\":\"_uniq.142\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.177\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.176\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.186\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.decLe\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.140\"},{\"kind\":\"fvar\",\"id\":\"_uniq.175\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"discriminant\":\"_uniq.186\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.187\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.188\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.divideMagnitudeInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.138\"},{\"kind\":\"fvar\",\"id\":\"_uniq.151\"},{\"kind\":\"fvar\",\"id\":\"_uniq.140\"},{\"kind\":\"fvar\",\"id\":\"_uniq.175\"},{\"kind\":\"fvar\",\"id\":\"_uniq.177\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.188\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.189\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.190\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubUInt64\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.191\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HSub\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHSub\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.190\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.192\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HSub\",\"index\":0,\"value\":\"_uniq.191\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.193\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.192\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.175\"},{\"kind\":\"fvar\",\"id\":\"_uniq.140\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.194\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.195\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.194\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.196\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.195\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.197\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.149\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.177\"},{\"kind\":\"fvar\",\"id\":\"_uniq.196\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.198\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.divideMagnitudeInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.138\"},{\"kind\":\"fvar\",\"id\":\"_uniq.151\"},{\"kind\":\"fvar\",\"id\":\"_uniq.140\"},{\"kind\":\"fvar\",\"id\":\"_uniq.193\"},{\"kind\":\"fvar\",\"id\":\"_uniq.197\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.198\"}}}}}}}}}}}]}}}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"discriminant\":\"_uniq.164\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.165\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.166\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.167\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.166\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.168\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.167\"},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.200\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.168\"}]}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.169\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.170\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.171\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.170\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.172\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.171\"},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.200\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.172\"}]}}}}}]}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.202\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.201\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Nat\",\"result_type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"discriminant\":\"_uniq.94\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Nat.zero\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.208\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.118\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.95\"},{\"kind\":\"fvar\",\"id\":\"_uniq.96\"},{\"kind\":\"fvar\",\"id\":\"_uniq.97\"},{\"kind\":\"fvar\",\"id\":\"_uniq.98\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.208\"}}},{\"kind\":\"constructor\",\"constructor\":\"Nat.succ\",\"parameters\":[{\"id\":\"_uniq.209\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.210\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.202\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.209\"},{\"kind\":\"fvar\",\"id\":\"_uniq.95\"},{\"kind\":\"fvar\",\"id\":\"_uniq.96\"},{\"kind\":\"fvar\",\"id\":\"_uniq.97\"},{\"kind\":\"fvar\",\"id\":\"_uniq.98\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.210\"}}}]}}}}}},\"uses\":[\"Add\",\"Decidable\",\"HAdd\",\"HSub\",\"Nat\",\"OfNat\",\"Sub\",\"UInt64\",\"instAddUInt64\",\"instHAdd\",\"instHSub\",\"instSubUInt64\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Nat.succ\",\"Nat.zero\",\"UInt64.decLe\",\"UInt64.instOfNat\",\"Coverage.Prims.LexLeanRuntime.divideMagnitudeInt64\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.equal\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"BEq\",\"BEq.beq\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}}}},\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"borrow\":false},{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},\"borrow\":false},{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"BEq\",\"index\":0,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.25\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.26\"}}}},\"uses\":[\"BEq\",\"Bool\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.formatDecimal\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Prims.LexLeanRuntime.Decimal\",\"Coverage.Prims.LexLeanRuntime.Decimal.format\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Decimal\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}}}},\"parameters\":[{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Decimal\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},\"codomain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Prims.LexLeanRuntime.Decimal\",\"index\":1,\"value\":\"_uniq.16\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.18\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.19\"}}}},\"uses\":[\"String\",\"Coverage.Prims.LexLeanRuntime.Decimal\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.index\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Coverage.Prims.LexLeanRuntime.Indexable\",\"Coverage.Prims.LexLeanRuntime.Indexable.index\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Indexable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}}},\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Indexable\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"borrow\":false},{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},\"borrow\":false},{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Prims.LexLeanRuntime.Indexable\",\"index\":0,\"value\":\"_uniq.26\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.34\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.35\"}}}},\"uses\":[\"Nat\",\"Option\",\"Coverage.Prims.LexLeanRuntime.Indexable\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.instAppendableByteArray\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"ByteArray\",\"ByteArray.append\",\"Coverage.Prims.LexLeanRuntime.Appendable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"ByteArray.fastAppend\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Appendable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.1\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.2\"}}}},\"uses\":[\"ByteArray\",\"ByteArray.fastAppend\",\"Coverage.Prims.LexLeanRuntime.Appendable\",\"Coverage.Prims.LexLeanRuntime.Appendable.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.instAppendableList\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.append\",\"Coverage.Prims.LexLeanRuntime.Appendable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]}]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"List.appendTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Appendable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}}},\"uses\":[\"List\",\"List.appendTR\",\"Coverage.Prims.LexLeanRuntime.Appendable\",\"Coverage.Prims.LexLeanRuntime.Appendable.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.instDecimalInt\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Eq\",\"Int\",\"Option\",\"String\",\"Unit\",\"instDecidableEqString\",\"instToStringInt\",\"ite\",\"Option.none\",\"Option.some\",\"String.toInt?\",\"ToString.toString\",\"Coverage.Prims.LexLeanRuntime.Decimal.mk\",\"Coverage.Prims.LexLeanRuntime.instDecimalInt.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Decimal\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.70\",\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.48\",\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"ToString\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instToStringInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"ToString\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqString\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"discriminant\":\"_uniq.42\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.43\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.44\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.45\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.46\"}}}]}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.48\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.55\",\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.54\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.55\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"String.toInt?\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"discriminant\":\"_uniq.64\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.66\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.49\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.68\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"ToString\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instToStringInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"ToString\",\"index\":0,\"value\":\"_uniq.71\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Decimal\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Decimal.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"},{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.78\"}}}}}},\"uses\":[\"Decidable\",\"Int\",\"Option\",\"PUnit\",\"String\",\"ToString\",\"instDecidableEqString\",\"instToStringInt\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"String.toInt?\",\"Unit.unit\",\"Coverage.Prims.LexLeanRuntime.Decimal\",\"Coverage.Prims.LexLeanRuntime.Decimal.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.instDecimalOfFixedOfToString\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Eq\",\"Int\",\"Option\",\"String\",\"ToString\",\"Unit\",\"instDecidableEqString\",\"instToStringInt\",\"ite\",\"Option.none\",\"String.toInt?\",\"ToString.toString\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.checkedFromInt\",\"Coverage.Prims.LexLeanRuntime.Decimal.mk\",\"Coverage.Prims.LexLeanRuntime.instDecimalInt.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"ToString\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Decimal\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]}}}},\"parameters\":[{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"ToString\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.85\",\"parameters\":[{\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.63\",\"parameters\":[{\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"ToString\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instToStringInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"ToString\",\"index\":0,\"value\":\"_uniq.54\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.55\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqString\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"discriminant\":\"_uniq.57\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.58\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.59\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.checkedFromInt\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.61\"}}}]}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.63\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.70\",\"parameters\":[{\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.69\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.70\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"String.toInt?\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"discriminant\":\"_uniq.79\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.71\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.81\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.82\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.64\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.82\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.83\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},\"codomain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"ToString\",\"index\":0,\"value\":\"_uniq.34\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Decimal\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Decimal.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.85\"},{\"kind\":\"fvar\",\"id\":\"_uniq.86\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.87\"}}}}},\"uses\":[\"Decidable\",\"Int\",\"Option\",\"PUnit\",\"String\",\"ToString\",\"instDecidableEqString\",\"instToStringInt\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"String.toInt?\",\"Unit.unit\",\"Coverage.Prims.LexLeanRuntime.Decimal\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.checkedFromInt\",\"Coverage.Prims.LexLeanRuntime.Decimal.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.instFixedInt16\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Int16\",\"Nat\",\"Option\",\"UInt32\",\"instLTNat\",\"instOfNat\",\"instOfNatNat\",\"ite\",\"Int.instNegInt\",\"Int16.complement\",\"Int16.land\",\"Int16.lor\",\"Int16.ofInt\",\"Int16.ofNat\",\"Int16.shiftLeft\",\"Int16.shiftRight\",\"Int16.toInt\",\"Int16.xor\",\"LT.lt\",\"Nat.decLt\",\"Neg.neg\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"UInt32.toNat\",\"Coverage.Prims.LexLeanRuntime.Fixed.mk\",\"Coverage.Prims.LexLeanRuntime.ToMathInt.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"Int16.toInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"codomain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"Int16.ofInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instNegInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"32768\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.17\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.15\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"32767\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.21\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int16.land\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int16.lor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int16.xor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"Int16.complement\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.51\",\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"16\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.41\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]},\"discriminant\":\"_uniq.43\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.45\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int16.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int16.shiftLeft\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.49\"}}}}}]}}}}}}},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.76\",\"parameters\":[{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"16\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.66\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]},\"discriminant\":\"_uniq.68\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.69\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.70\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int16.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int16.shiftRight\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.77\"}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Decidable\",\"Int\",\"Int16\",\"Nat\",\"Neg\",\"OfNat\",\"Option\",\"UInt32\",\"instOfNat\",\"instOfNatNat\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int.instNegInt\",\"Int16.complement\",\"Int16.land\",\"Int16.lor\",\"Int16.ofInt\",\"Int16.ofNat\",\"Int16.shiftLeft\",\"Int16.shiftRight\",\"Int16.toInt\",\"Int16.xor\",\"Nat.decLt\",\"Option.none\",\"Option.some\",\"UInt32.toNat\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"Coverage.Prims.LexLeanRuntime.Fixed.mk\",\"Coverage.Prims.LexLeanRuntime.ToMathInt.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.instFixedInt32\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Int32\",\"Nat\",\"Option\",\"UInt32\",\"instLTNat\",\"instOfNat\",\"instOfNatNat\",\"ite\",\"Int.instNegInt\",\"Int32.complement\",\"Int32.land\",\"Int32.lor\",\"Int32.ofInt\",\"Int32.ofNat\",\"Int32.shiftLeft\",\"Int32.shiftRight\",\"Int32.toInt\",\"Int32.xor\",\"LT.lt\",\"Nat.decLt\",\"Neg.neg\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"UInt32.toNat\",\"Coverage.Prims.LexLeanRuntime.Fixed.mk\",\"Coverage.Prims.LexLeanRuntime.ToMathInt.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"Int32.toInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"codomain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"Int32.ofInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instNegInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2147483648\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.17\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.15\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2147483647\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.21\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int32.land\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int32.lor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int32.xor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"Int32.complement\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.51\",\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"32\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.41\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},\"discriminant\":\"_uniq.43\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.45\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int32.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int32.shiftLeft\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.49\"}}}}}]}}}}}}},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.76\",\"parameters\":[{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"32\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.66\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},\"discriminant\":\"_uniq.68\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.69\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.70\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int32.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int32.shiftRight\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.77\"}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Decidable\",\"Int\",\"Int32\",\"Nat\",\"Neg\",\"OfNat\",\"Option\",\"UInt32\",\"instOfNat\",\"instOfNatNat\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int.instNegInt\",\"Int32.complement\",\"Int32.land\",\"Int32.lor\",\"Int32.ofInt\",\"Int32.ofNat\",\"Int32.shiftLeft\",\"Int32.shiftRight\",\"Int32.toInt\",\"Int32.xor\",\"Nat.decLt\",\"Option.none\",\"Option.some\",\"UInt32.toNat\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"Coverage.Prims.LexLeanRuntime.Fixed.mk\",\"Coverage.Prims.LexLeanRuntime.ToMathInt.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.instFixedInt64\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Int64\",\"Nat\",\"Option\",\"UInt32\",\"instLTNat\",\"instOfNat\",\"instOfNatNat\",\"ite\",\"Int.instNegInt\",\"Int64.complement\",\"Int64.land\",\"Int64.lor\",\"Int64.ofInt\",\"Int64.ofNat\",\"Int64.shiftLeft\",\"Int64.shiftRight\",\"Int64.toInt\",\"Int64.xor\",\"LT.lt\",\"Nat.decLt\",\"Neg.neg\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"UInt32.toNat\",\"Coverage.Prims.LexLeanRuntime.Fixed.mk\",\"Coverage.Prims.LexLeanRuntime.ToMathInt.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"Int64.toInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"codomain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"Int64.ofInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instNegInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9223372036854775808\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.17\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.15\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9223372036854775807\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.21\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int64.land\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int64.lor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int64.xor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"Int64.complement\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.51\",\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"64\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.41\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"discriminant\":\"_uniq.43\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.45\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.shiftLeft\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.49\"}}}}}]}}}}}}},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.76\",\"parameters\":[{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"64\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.66\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"discriminant\":\"_uniq.68\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.69\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.70\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.shiftRight\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.77\"}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Decidable\",\"Int\",\"Int64\",\"Nat\",\"Neg\",\"OfNat\",\"Option\",\"UInt32\",\"instOfNat\",\"instOfNatNat\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int.instNegInt\",\"Int64.complement\",\"Int64.land\",\"Int64.lor\",\"Int64.ofInt\",\"Int64.ofNat\",\"Int64.shiftLeft\",\"Int64.shiftRight\",\"Int64.toInt\",\"Int64.xor\",\"Nat.decLt\",\"Option.none\",\"Option.some\",\"UInt32.toNat\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"Coverage.Prims.LexLeanRuntime.Fixed.mk\",\"Coverage.Prims.LexLeanRuntime.ToMathInt.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.instFixedInt8\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Int8\",\"Nat\",\"Option\",\"UInt32\",\"instLTNat\",\"instOfNat\",\"instOfNatNat\",\"ite\",\"Int.instNegInt\",\"Int8.complement\",\"Int8.land\",\"Int8.lor\",\"Int8.ofInt\",\"Int8.ofNat\",\"Int8.shiftLeft\",\"Int8.shiftRight\",\"Int8.toInt\",\"Int8.xor\",\"LT.lt\",\"Nat.decLt\",\"Neg.neg\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"UInt32.toNat\",\"Coverage.Prims.LexLeanRuntime.Fixed.mk\",\"Coverage.Prims.LexLeanRuntime.ToMathInt.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"Int8.toInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"codomain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"Int8.ofInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instNegInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"128\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.17\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.15\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"127\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.21\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int8.land\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int8.lor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int8.xor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"Int8.complement\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.51\",\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"8\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.41\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"discriminant\":\"_uniq.43\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.45\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int8.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int8.shiftLeft\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.49\"}}}}}]}}}}}}},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.76\",\"parameters\":[{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"8\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.66\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"discriminant\":\"_uniq.68\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.69\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.70\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int8.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int8.shiftRight\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.77\"}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Decidable\",\"Int\",\"Int8\",\"Nat\",\"Neg\",\"OfNat\",\"Option\",\"UInt32\",\"instOfNat\",\"instOfNatNat\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int.instNegInt\",\"Int8.complement\",\"Int8.land\",\"Int8.lor\",\"Int8.ofInt\",\"Int8.ofNat\",\"Int8.shiftLeft\",\"Int8.shiftRight\",\"Int8.toInt\",\"Int8.xor\",\"Nat.decLt\",\"Option.none\",\"Option.some\",\"UInt32.toNat\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"Coverage.Prims.LexLeanRuntime.Fixed.mk\",\"Coverage.Prims.LexLeanRuntime.ToMathInt.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.instFixedUInt16\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Nat\",\"Option\",\"UInt16\",\"UInt32\",\"instLTNat\",\"instOfNat\",\"instOfNatNat\",\"ite\",\"Int.ofNat\",\"LT.lt\",\"Nat.decLt\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"UInt16.complement\",\"UInt16.land\",\"UInt16.lor\",\"UInt16.ofInt\",\"UInt16.ofNat\",\"UInt16.shiftLeft\",\"UInt16.shiftRight\",\"UInt16.toNat\",\"UInt16.xor\",\"UInt32.toNat\",\"Coverage.Prims.LexLeanRuntime.Fixed.mk\",\"Coverage.Prims.LexLeanRuntime.ToMathInt.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.16\",\"parameters\":[{\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt16.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.15\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"UInt16.ofInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"65535\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.23\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"UInt16.land\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"UInt16.lor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"UInt16.xor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"UInt16.complement\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.53\",\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"16\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.43\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"discriminant\":\"_uniq.45\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.47\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.48\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt16.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt16.shiftLeft\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.51\"}}}}}]}}}}}}},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.78\",\"parameters\":[{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"16\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.68\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.69\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"discriminant\":\"_uniq.70\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.72\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.73\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt16.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt16.shiftRight\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.76\"}}}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.79\"}}}}}}}}}}}}}}}}}},\"uses\":[\"Decidable\",\"Int\",\"Nat\",\"OfNat\",\"Option\",\"UInt16\",\"UInt32\",\"instOfNat\",\"instOfNatNat\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int.ofNat\",\"Nat.decLt\",\"Option.none\",\"Option.some\",\"UInt16.complement\",\"UInt16.land\",\"UInt16.lor\",\"UInt16.ofInt\",\"UInt16.ofNat\",\"UInt16.shiftLeft\",\"UInt16.shiftRight\",\"UInt16.toNat\",\"UInt16.xor\",\"UInt32.toNat\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"Coverage.Prims.LexLeanRuntime.Fixed.mk\",\"Coverage.Prims.LexLeanRuntime.ToMathInt.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.instFixedUInt32\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Nat\",\"Option\",\"UInt32\",\"instLTNat\",\"instOfNat\",\"instOfNatNat\",\"ite\",\"Int.ofNat\",\"LT.lt\",\"Nat.decLt\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"UInt32.complement\",\"UInt32.land\",\"UInt32.lor\",\"UInt32.ofInt\",\"UInt32.shiftLeft\",\"UInt32.shiftRight\",\"UInt32.toNat\",\"UInt32.xor\",\"Coverage.Prims.LexLeanRuntime.Fixed.mk\",\"Coverage.Prims.LexLeanRuntime.ToMathInt.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.16\",\"parameters\":[{\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.15\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.ofInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4294967295\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.23\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.land\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.lor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.xor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.complement\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.52\",\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"32\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.43\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"discriminant\":\"_uniq.45\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.47\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.48\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.shiftLeft\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}}]}}}}}}},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.76\",\"parameters\":[{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"32\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.67\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"fvar\",\"id\":\"_uniq.68\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"discriminant\":\"_uniq.69\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.71\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.72\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.shiftRight\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.77\"}}}}}}}}}}}}}}}}}},\"uses\":[\"Decidable\",\"Int\",\"Nat\",\"OfNat\",\"Option\",\"UInt32\",\"instOfNat\",\"instOfNatNat\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int.ofNat\",\"Nat.decLt\",\"Option.none\",\"Option.some\",\"UInt32.complement\",\"UInt32.land\",\"UInt32.lor\",\"UInt32.ofInt\",\"UInt32.shiftLeft\",\"UInt32.shiftRight\",\"UInt32.toNat\",\"UInt32.xor\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"Coverage.Prims.LexLeanRuntime.Fixed.mk\",\"Coverage.Prims.LexLeanRuntime.ToMathInt.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.instFixedUInt64\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Nat\",\"Option\",\"UInt32\",\"UInt64\",\"instLTNat\",\"instOfNat\",\"instOfNatNat\",\"ite\",\"Int.ofNat\",\"LT.lt\",\"Nat.decLt\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"UInt32.toNat\",\"UInt64.complement\",\"UInt64.land\",\"UInt64.lor\",\"UInt64.ofInt\",\"UInt64.ofNat\",\"UInt64.shiftLeft\",\"UInt64.shiftRight\",\"UInt64.toNat\",\"UInt64.xor\",\"Coverage.Prims.LexLeanRuntime.Fixed.mk\",\"Coverage.Prims.LexLeanRuntime.ToMathInt.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.16\",\"parameters\":[{\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.15\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.ofInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"18446744073709551615\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.23\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.land\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.lor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.xor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.complement\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.53\",\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"64\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.43\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"discriminant\":\"_uniq.45\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.47\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.48\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.shiftLeft\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.51\"}}}}}]}}}}}}},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.78\",\"parameters\":[{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"64\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.68\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.69\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"discriminant\":\"_uniq.70\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.72\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.73\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.shiftRight\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.76\"}}}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.79\"}}}}}}}}}}}}}}}}}},\"uses\":[\"Decidable\",\"Int\",\"Nat\",\"OfNat\",\"Option\",\"UInt32\",\"UInt64\",\"instOfNat\",\"instOfNatNat\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int.ofNat\",\"Nat.decLt\",\"Option.none\",\"Option.some\",\"UInt32.toNat\",\"UInt64.complement\",\"UInt64.land\",\"UInt64.lor\",\"UInt64.ofInt\",\"UInt64.ofNat\",\"UInt64.shiftLeft\",\"UInt64.shiftRight\",\"UInt64.toNat\",\"UInt64.xor\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"Coverage.Prims.LexLeanRuntime.Fixed.mk\",\"Coverage.Prims.LexLeanRuntime.ToMathInt.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.instIndexableByteArrayUInt8\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Array\",\"ByteArray\",\"Nat\",\"UInt8\",\"instLTNat\",\"Array.instGetElem?NatLtSize\",\"Array.size\",\"ByteArray.data\",\"GetElem?.getElem?\",\"LT.lt\",\"Coverage.Prims.LexLeanRuntime.Indexable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Indexable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.59\",\"parameters\":[{\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"GetElem?\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Array\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]},{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Array.instGetElem?NatLtSize\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Array\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"GetElem?\",\"index\":1,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Array\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"ByteArray.data\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.58\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Indexable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Indexable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.60\"}}}},\"uses\":[\"Array\",\"ByteArray\",\"GetElem?\",\"Nat\",\"Option\",\"UInt8\",\"Array.instGetElem?NatLtSize\",\"ByteArray.data\",\"Coverage.Prims.LexLeanRuntime.Indexable\",\"Coverage.Prims.LexLeanRuntime.Indexable.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.instIndexableList\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Coverage.Prims.LexLeanRuntime.listIndex\",\"Coverage.Prims.LexLeanRuntime.Indexable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Indexable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},{\"kind\":\"bvar\",\"index\":0}]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.listIndex\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Indexable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Indexable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}}},\"uses\":[\"List\",\"Nat\",\"Option\",\"Coverage.Prims.LexLeanRuntime.Indexable\",\"Coverage.Prims.LexLeanRuntime.listIndex\",\"Coverage.Prims.LexLeanRuntime.Indexable.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.instLengthableByteArray\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"ByteArray\",\"ByteArray.size\",\"Coverage.Prims.LexLeanRuntime.Lengthable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"ByteArray.size\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.5\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Lengthable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.1\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.5\"}}}},\"uses\":[\"ByteArray\",\"Nat\",\"ByteArray.size\",\"Coverage.Prims.LexLeanRuntime.Lengthable\",\"Coverage.Prims.LexLeanRuntime.Lengthable.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.instLengthableList\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.length\",\"Coverage.Prims.LexLeanRuntime.Lengthable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]}]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"List.lengthTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Lengthable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}}},\"uses\":[\"List\",\"Nat\",\"List.lengthTR\",\"Coverage.Prims.LexLeanRuntime.Lengthable\",\"Coverage.Prims.LexLeanRuntime.Lengthable.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.instLengthableString\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"String\",\"String.length\",\"Coverage.Prims.LexLeanRuntime.Lengthable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"String.length\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Lengthable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.1\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.2\"}}}},\"uses\":[\"Nat\",\"String\",\"String.length\",\"Coverage.Prims.LexLeanRuntime.Lengthable\",\"Coverage.Prims.LexLeanRuntime.Lengthable.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.instSliceableByteArray\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"ByteArray\",\"Nat\",\"Option\",\"instAddNat\",\"instHAdd\",\"instLENat\",\"ite\",\"ByteArray.extract\",\"ByteArray.size\",\"HAdd.hAdd\",\"LE.le\",\"Nat.decLe\",\"Option.none\",\"Option.some\",\"Coverage.Prims.LexLeanRuntime.Sliceable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Sliceable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.33\",\"parameters\":[{\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]}}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.23\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"ByteArray.size\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLe\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},\"discriminant\":\"_uniq.26\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.28\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"ByteArray.extract\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}}}]}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Sliceable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Sliceable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.39\"}}}},\"uses\":[\"Add\",\"ByteArray\",\"Decidable\",\"HAdd\",\"Nat\",\"Option\",\"instAddNat\",\"instHAdd\",\"ByteArray.extract\",\"ByteArray.size\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Nat.decLe\",\"Option.none\",\"Option.some\",\"Coverage.Prims.LexLeanRuntime.Sliceable\",\"Coverage.Prims.LexLeanRuntime.Sliceable.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.instSliceableList\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Option\",\"instAddNat\",\"instHAdd\",\"instLENat\",\"ite\",\"HAdd.hAdd\",\"LE.le\",\"List.drop\",\"List.length\",\"List.take\",\"Nat.decLe\",\"Option.none\",\"Option.some\",\"Coverage.Prims.LexLeanRuntime.Sliceable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Sliceable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]}]}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.39\",\"parameters\":[{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"borrow\":false},{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]}]}}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.27\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.28\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"List.lengthTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLe\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]}]},\"discriminant\":\"_uniq.31\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.33\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.drop\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.takeTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.37\"}}}}}]}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Sliceable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Sliceable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.40\"}}}},\"uses\":[\"Add\",\"Decidable\",\"HAdd\",\"List\",\"Nat\",\"Option\",\"instAddNat\",\"instHAdd\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"List.drop\",\"List.lengthTR\",\"List.takeTR\",\"Nat.decLe\",\"Option.none\",\"Option.some\",\"Coverage.Prims.LexLeanRuntime.Sliceable\",\"Coverage.Prims.LexLeanRuntime.Sliceable.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.instToMathIntInt\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Coverage.Prims.LexLeanRuntime.ToMathInt.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.4\",\"parameters\":[{\"id\":\"_uniq.3\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.5\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.4\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.5\"}}}},\"uses\":[\"Int\",\"Coverage.Prims.LexLeanRuntime.ToMathInt\",\"Coverage.Prims.LexLeanRuntime.ToMathInt.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.join\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"String\",\"String.intercalate\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"String.intercalate\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}},\"uses\":[\"List\",\"String\",\"String.intercalate\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.length\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Prims.LexLeanRuntime.Lengthable\",\"Coverage.Prims.LexLeanRuntime.Lengthable.length\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}},\"parameters\":[{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Prims.LexLeanRuntime.Lengthable\",\"index\":0,\"value\":\"_uniq.16\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.18\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.19\"}}}},\"uses\":[\"Nat\",\"Coverage.Prims.LexLeanRuntime.Lengthable\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.listIndex\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Option\",\"List.brecOn\",\"Coverage.Prims.LexLeanRuntime.listIndex._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]}}}},\"parameters\":[{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"borrow\":false},{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.70\",\"parameters\":[{\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.69\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.70\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.81\",\"parameters\":[{\"id\":\"_uniq.78\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},\"borrow\":false},{\"id\":\"_uniq.79\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.80\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.81\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.96\",\"parameters\":[{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},\"borrow\":false},{\"id\":\"_uniq.93\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"borrow\":false},{\"id\":\"_uniq.94\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]}}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.listIndex\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.93\"},{\"kind\":\"fvar\",\"id\":\"_uniq.94\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.95\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.96\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"discriminant\":\"_uniq.60\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.71\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.106\"}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.107\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},\"borrow\":false},{\"id\":\"_uniq.108\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"borrow\":false}],\"code\":{\"kind\":\"cases\",\"type_name\":\"Nat\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"discriminant\":\"_uniq.61\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Nat.zero\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.82\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.107\"},{\"kind\":\"fvar\",\"id\":\"_uniq.108\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.114\"}}},{\"kind\":\"constructor\",\"constructor\":\"Nat.succ\",\"parameters\":[{\"id\":\"_uniq.115\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.97\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.107\"},{\"kind\":\"fvar\",\"id\":\"_uniq.108\"},{\"kind\":\"fvar\",\"id\":\"_uniq.115\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.116\"}}}]}}]}}}}}}}},\"uses\":[\"List\",\"Nat\",\"Option\",\"List.cons\",\"List.nil\",\"Nat.succ\",\"Nat.zero\",\"Option.none\",\"Option.some\",\"Coverage.Prims.LexLeanRuntime.listIndex\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.magnitudeInt64\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int64\",\"UInt64\",\"instHSub\",\"instLTInt64\",\"instSubUInt64\",\"ite\",\"HSub.hSub\",\"Int64.decLt\",\"Int64.instOfNat\",\"Int64.toUInt64\",\"LT.lt\",\"OfNat.ofNat\",\"UInt64.instOfNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Int64\",\"index\":0,\"value\":\"_uniq.12\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.16\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.27\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"discriminant\":\"_uniq.29\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubUInt64\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HSub\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHSub\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HSub\",\"index\":0,\"value\":\"_uniq.33\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.35\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.34\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.37\"}}}}}}}}]}}}}}}}},\"uses\":[\"Decidable\",\"HSub\",\"Int64\",\"Nat\",\"OfNat\",\"Sub\",\"UInt64\",\"instHSub\",\"instSubUInt64\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int64.decLt\",\"Int64.instOfNat\",\"UInt64.instOfNat\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.multiplyMagnitudeInt64\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Nat\",\"Option\",\"UInt64\",\"Nat.brecOn\",\"Coverage.Prims.LexLeanRuntime.multiplyMagnitudeInt64._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}}}}}},\"parameters\":[{\"id\":\"_uniq.114\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.115\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.117\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.118\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.138\",\"parameters\":[{\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.134\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.135\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.136\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}}}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.135\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.137\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.139\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.138\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.295\",\"parameters\":[{\"id\":\"_uniq.158\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.159\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.160\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.161\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.162\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}}}}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.174\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.175\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.162\"},{\"kind\":\"fvar\",\"id\":\"_uniq.174\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.294\",\"parameters\":[{\"id\":\"_uniq.184\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.185\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.184\",\"arguments\":[]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.293\",\"parameters\":[{\"id\":\"_uniq.202\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.203\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.202\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.212\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.203\"},{\"kind\":\"fvar\",\"id\":\"_uniq.161\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"discriminant\":\"_uniq.212\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.213\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.215\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddUInt64\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.216\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.215\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.217\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.216\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.218\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.217\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.161\"},{\"kind\":\"fvar\",\"id\":\"_uniq.161\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.219\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.218\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.228\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9223372036854775808\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.229\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.228\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.230\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.229\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.231\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.decLe\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.230\"},{\"kind\":\"fvar\",\"id\":\"_uniq.159\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"discriminant\":\"_uniq.231\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.232\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.233\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.217\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.159\"},{\"kind\":\"fvar\",\"id\":\"_uniq.159\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.234\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.multiplyMagnitudeInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.158\"},{\"kind\":\"fvar\",\"id\":\"_uniq.233\"},{\"kind\":\"fvar\",\"id\":\"_uniq.160\"},{\"kind\":\"fvar\",\"id\":\"_uniq.219\"},{\"kind\":\"fvar\",\"id\":\"_uniq.162\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.234\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.235\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.251\",\"parameters\":[{\"id\":\"_uniq.249\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.250\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.250\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.252\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.251\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.261\",\"parameters\":[{\"id\":\"_uniq.254\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.255\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubUInt64\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.256\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HSub\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHSub\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.255\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.257\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HSub\",\"index\":0,\"value\":\"_uniq.256\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.258\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.257\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.185\"},{\"kind\":\"fvar\",\"id\":\"_uniq.160\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.259\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.258\"},{\"kind\":\"fvar\",\"id\":\"_uniq.219\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.260\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.259\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.260\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.262\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.261\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.267\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.185\"},{\"kind\":\"fvar\",\"id\":\"_uniq.160\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.268\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.267\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.282\",\"parameters\":[{\"id\":\"_uniq.273\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.274\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.273\"},{\"kind\":\"fvar\",\"id\":\"_uniq.174\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"discriminant\":\"_uniq.274\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.275\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.276\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.217\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.159\"},{\"kind\":\"fvar\",\"id\":\"_uniq.159\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.277\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.217\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.219\"},{\"kind\":\"fvar\",\"id\":\"_uniq.160\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.278\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.multiplyMagnitudeInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.158\"},{\"kind\":\"fvar\",\"id\":\"_uniq.276\"},{\"kind\":\"fvar\",\"id\":\"_uniq.160\"},{\"kind\":\"fvar\",\"id\":\"_uniq.277\"},{\"kind\":\"fvar\",\"id\":\"_uniq.162\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.278\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.279\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.280\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.280\"}}}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.285\",\"parameters\":[{\"id\":\"_uniq.283\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.284\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.262\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.283\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.282\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.284\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.288\",\"parameters\":[{\"id\":\"_uniq.286\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.287\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.252\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.286\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.282\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.287\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"discriminant\":\"_uniq.268\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.269\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.285\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.269\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.271\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.288\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.271\"}]}}}]}}}}}}}}}}}]}}}}}}}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.290\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.291\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.291\"}}}]}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"discriminant\":\"_uniq.175\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.194\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.195\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4611686018427387903\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.196\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.195\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.197\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.196\"},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.293\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.197\"}]}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.198\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.199\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4611686018427387904\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.200\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.199\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.201\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.200\"},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.293\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.201\"}]}}}}}]}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"discriminant\":\"_uniq.175\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.176\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.177\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9223372036854775807\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.178\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.177\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.179\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.178\"},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.294\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.179\"}]}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.180\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.181\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9223372036854775808\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.182\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.181\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.183\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.182\"},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.294\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.183\"}]}}}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.296\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}}}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.295\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Nat\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"discriminant\":\"_uniq.114\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Nat.zero\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.302\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.139\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.115\"},{\"kind\":\"fvar\",\"id\":\"_uniq.116\"},{\"kind\":\"fvar\",\"id\":\"_uniq.117\"},{\"kind\":\"fvar\",\"id\":\"_uniq.118\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.302\"}}},{\"kind\":\"constructor\",\"constructor\":\"Nat.succ\",\"parameters\":[{\"id\":\"_uniq.303\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.304\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.296\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.303\"},{\"kind\":\"fvar\",\"id\":\"_uniq.115\"},{\"kind\":\"fvar\",\"id\":\"_uniq.116\"},{\"kind\":\"fvar\",\"id\":\"_uniq.117\"},{\"kind\":\"fvar\",\"id\":\"_uniq.118\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.304\"}}}]}}}}}},\"uses\":[\"Add\",\"Bool\",\"Decidable\",\"HAdd\",\"HSub\",\"Nat\",\"OfNat\",\"Option\",\"PUnit\",\"Sub\",\"UInt64\",\"instAddUInt64\",\"instDecidableEqBool\",\"instHAdd\",\"instHSub\",\"instSubUInt64\",\"Bool.false\",\"Bool.true\",\"Decidable.decide\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Nat.succ\",\"Nat.zero\",\"Option.none\",\"Option.some\",\"UInt64.decLe\",\"UInt64.decLt\",\"UInt64.instOfNat\",\"Unit.unit\",\"Coverage.Prims.LexLeanRuntime.multiplyMagnitudeInt64\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.parseDecimal\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"String\",\"Coverage.Prims.LexLeanRuntime.Decimal\",\"Coverage.Prims.LexLeanRuntime.Decimal.parse\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Decimal\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]}}}},\"parameters\":[{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Decimal\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Prims.LexLeanRuntime.Decimal\",\"index\":0,\"value\":\"_uniq.16\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.18\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.19\"}}}},\"uses\":[\"Option\",\"String\",\"Coverage.Prims.LexLeanRuntime.Decimal\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.shiftLeft\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"UInt32\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.Fixed.shiftLeft\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"index\":8,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.23\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.24\"}}}},\"uses\":[\"Option\",\"UInt32\",\"Coverage.Prims.LexLeanRuntime.Fixed\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.shiftRight\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"UInt32\",\"Coverage.Prims.LexLeanRuntime.Fixed\",\"Coverage.Prims.LexLeanRuntime.Fixed.shiftRight\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Prims.LexLeanRuntime.Fixed\",\"index\":9,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.23\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.24\"}}}},\"uses\":[\"Option\",\"UInt32\",\"Coverage.Prims.LexLeanRuntime.Fixed\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.signedMagnitudeInt64\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"UInt64\",\"instDecidableEqBool\",\"instHSub\",\"instSubUInt64\",\"ite\",\"Bool.true\",\"HSub.hSub\",\"OfNat.ofNat\",\"UInt64.instOfNat\",\"UInt64.toInt64\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.37\",\"parameters\":[{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.toInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.36\"}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"discriminant\":\"_uniq.25\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.26\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.37\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubUInt64\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HSub\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHSub\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HSub\",\"index\":0,\"value\":\"_uniq.29\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.32\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.30\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.37\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]}}}}}}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"HSub\",\"Int64\",\"Nat\",\"OfNat\",\"Sub\",\"UInt64\",\"instDecidableEqBool\",\"instHSub\",\"instSubUInt64\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"UInt64.instOfNat\",\"UInt64.toInt64\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.slice\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Coverage.Prims.LexLeanRuntime.Sliceable\",\"Coverage.Prims.LexLeanRuntime.Sliceable.slice\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Sliceable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":4}]}}}}}},\"parameters\":[{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Prims.LexLeanRuntime.Sliceable\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"borrow\":false},{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},\"borrow\":false},{\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]}}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Prims.LexLeanRuntime.Sliceable\",\"index\":0,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.28\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.29\"}}}},\"uses\":[\"Nat\",\"Option\",\"Coverage.Prims.LexLeanRuntime.Sliceable\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.splitExact\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"List\",\"Nat\",\"Option\",\"String\",\"UInt32\",\"instDecidableEqBool\",\"instLTNat\",\"ite\",\"Bool.or\",\"Bool.true\",\"Decidable.decide\",\"LT.lt\",\"List.length\",\"Nat.decLt\",\"Option.none\",\"Option.some\",\"String.isEmpty\",\"String.splitOn\",\"UInt32.toNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]}}}},\"parameters\":[{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"String.splitOn\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.56\",\"parameters\":[{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.55\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.64\",\"parameters\":[{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"List.lengthTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.63\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.64\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"String.isEmpty\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.83\",\"parameters\":[{\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.77\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.78\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.79\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.80\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.81\"}}}]}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.89\",\"parameters\":[{\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.57\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.87\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.83\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.88\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.86\",\"parameters\":[{\"id\":\"_uniq.84\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.85\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.84\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.83\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.85\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.70\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.86\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.89\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]}}}]}}}}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"List\",\"Nat\",\"Option\",\"PUnit\",\"String\",\"UInt32\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.true\",\"Decidable.decide\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"List.lengthTR\",\"Nat.decLt\",\"Option.none\",\"Option.some\",\"String.isEmpty\",\"String.splitOn\",\"UInt32.toNat\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.utf8Decode\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"ByteArray\",\"String.fromUTF8?\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"String.fromUTF8?\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"ByteArray\",\"Option\",\"String\",\"String.fromUTF8?\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.utf8Encode\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"String\",\"String.toUTF8\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"String.toUTF8\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"ByteArray\",\"String\",\"String.toUTF8\"]},\"inductive\":null},{\"name\":\"Coverage.Recur.LexLeanRuntime.subtract\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Sub\",\"instHSub\",\"HSub.hSub\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HSub\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instHSub\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HSub\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.41\"}}}}},\"uses\":[\"HSub\",\"Sub\",\"instHSub\"]},\"inductive\":null},{\"name\":\"Coverage.Recur.countdown._unary\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"InvImage\",\"Nat\",\"PSigma\",\"instAddNat\",\"instHAdd\",\"instLTNat\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"Bool.true\",\"HAdd.hAdd\",\"LT.lt\",\"Nat.blt\",\"OfNat.ofNat\",\"PSigma.casesOn\",\"PSigma.mk\",\"WellFounded.Nat.fix\",\"Coverage.Recur.LexLeanRuntime.subtract\",\"Coverage.Recur.countdown.match_1\",\"Coverage.Recur.countdown._unary._proof_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.countdown.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Bool.casesOn\",\"Bool.false\",\"Bool.true\",\"Eq.refl\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.exprSize._f\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"List\",\"Nat\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"OfNat.ofNat\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Recur.exprSize.match_1\",\"Coverage.Syntax.Expr.below\",\"Coverage.Syntax.Expr.block\",\"Coverage.Syntax.Expr.literal\",\"Coverage.Syntax.Expr.plus\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.exprSize.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Expr.block\",\"Coverage.Syntax.Expr.casesOn\",\"Coverage.Syntax.Expr.literal\",\"Coverage.Syntax.Expr.plus\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.forestSize._f\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"List\",\"Nat\",\"Unit\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\",\"Coverage.Syntax.Rose\",\"Coverage.Recur.forestSize.match_1\",\"Coverage.Syntax.Rose.below_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.forestSize.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Unit\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Unit.unit\",\"Coverage.Syntax.Rose\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.prune._proof_1\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"Eq\",\"InvImage\",\"Nat\",\"id\",\"instLTNat\",\"Eq.ndrec\",\"Eq.symm\",\"LT.lt\",\"Coverage.Recur.reassociate_literal\",\"Coverage.Recur.weight\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.literal\",\"Coverage.Syntax.Term.plus\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.prune._proof_2\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"Eq\",\"InvImage\",\"Nat\",\"id\",\"instLTNat\",\"Eq.ndrec\",\"Eq.symm\",\"LT.lt\",\"Coverage.Recur.prune_plus\",\"Coverage.Recur.weight\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.plus\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.reassociate._proof_1\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"Eq\",\"InvImage\",\"Nat\",\"id\",\"instLTNat\",\"Eq.ndrec\",\"Eq.symm\",\"LT.lt\",\"Coverage.Recur.reassociate_literal\",\"Coverage.Recur.weight\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.literal\",\"Coverage.Syntax.Term.plus\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.reassociate._proof_2\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"Eq\",\"InvImage\",\"Nat\",\"id\",\"instLTNat\",\"Eq.ndrec\",\"Eq.symm\",\"LT.lt\",\"Coverage.Recur.reassociate_plus\",\"Coverage.Recur.weight\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.plus\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.reassociate.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Eq\",\"Nat\",\"Eq.refl\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.casesOn\",\"Coverage.Syntax.Term.literal\",\"Coverage.Syntax.Term.plus\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.reduce._unary\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"InvImage\",\"Nat\",\"instLTNat\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"Bool.true\",\"LT.lt\",\"Nat.beq\",\"Nat.blt\",\"OfNat.ofNat\",\"WellFounded.Nat.fix\",\"Coverage.Recur.LexLeanRuntime.subtract\",\"Coverage.Recur.countdown.match_1\",\"Coverage.Recur.reduce._unary._proof_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.roseSize._f\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"List\",\"Nat\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"OfNat.ofNat\",\"Coverage.Syntax.Rose\",\"Coverage.Recur.roseSize.match_1\",\"Coverage.Syntax.Rose.below\",\"Coverage.Syntax.Rose.node\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.roseSize.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Coverage.Syntax.Rose\",\"Coverage.Syntax.Rose.casesOn\",\"Coverage.Syntax.Rose.node\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.search._unary\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"InvImage\",\"Nat\",\"instAddNat\",\"instHAdd\",\"instLTNat\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"Bool.true\",\"HAdd.hAdd\",\"LT.lt\",\"Nat.ble\",\"Nat.blt\",\"OfNat.ofNat\",\"WellFounded.Nat.fix\",\"Coverage.Recur.LexLeanRuntime.subtract\",\"Coverage.Recur.countdown.match_1\",\"Coverage.Recur.search._unary._proof_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.statementSize._f\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"List\",\"Nat\",\"String\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"OfNat.ofNat\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Recur.statementSize.match_1\",\"Coverage.Syntax.Stmt.assign\",\"Coverage.Syntax.Stmt.below\",\"Coverage.Syntax.Stmt.sequence\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.statementSize.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"String\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Stmt.assign\",\"Coverage.Syntax.Stmt.casesOn\",\"Coverage.Syntax.Stmt.sequence\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.statementsSize._f\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"List\",\"Nat\",\"Unit\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Recur.statementsSize.match_1\",\"Coverage.Syntax.Expr.below_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.statementsSize.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Unit\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Unit.unit\",\"Coverage.Syntax.Stmt\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.weight._f\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Nat\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"OfNat.ofNat\",\"Coverage.Syntax.Term\",\"Coverage.Recur.weight.match_1\",\"Coverage.Syntax.Term.below\",\"Coverage.Syntax.Term.literal\",\"Coverage.Syntax.Term.plus\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.weight.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.casesOn\",\"Coverage.Syntax.Term.literal\",\"Coverage.Syntax.Term.plus\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Expr.below\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"PProd\",\"PUnit\",\"String\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Expr.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Expr.below_1\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"PProd\",\"PUnit\",\"String\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Expr.rec_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Expr.block\",\"kind\":\"constructor\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Expr.brecOn\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Expr.below\",\"Coverage.Syntax.Expr.below_1\",\"Coverage.Syntax.Stmt.below\",\"Coverage.Syntax.Expr.brecOn.go\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Expr.brecOn_1\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Expr.below\",\"Coverage.Syntax.Expr.below_1\",\"Coverage.Syntax.Stmt.below\",\"Coverage.Syntax.Expr.brecOn_1.go\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Expr.casesOn\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"PUnit\",\"String\",\"PUnit.unit\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Expr.block\",\"Coverage.Syntax.Expr.literal\",\"Coverage.Syntax.Expr.plus\",\"Coverage.Syntax.Expr.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Expr.literal\",\"kind\":\"constructor\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Expr.plus\",\"kind\":\"constructor\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Expr.rec\",\"kind\":\"recursor\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Expr.rec_1\",\"kind\":\"recursor\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Rose.below\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"PProd\",\"PUnit\",\"Coverage.Syntax.Rose\",\"Coverage.Syntax.Rose.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Rose.below_1\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"PProd\",\"PUnit\",\"Coverage.Syntax.Rose\",\"Coverage.Syntax.Rose.rec_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Rose.brecOn\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Coverage.Syntax.Rose\",\"Coverage.Syntax.Rose.below\",\"Coverage.Syntax.Rose.below_1\",\"Coverage.Syntax.Rose.brecOn.go\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Rose.brecOn_1\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Coverage.Syntax.Rose\",\"Coverage.Syntax.Rose.below\",\"Coverage.Syntax.Rose.below_1\",\"Coverage.Syntax.Rose.brecOn_1.go\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Rose.casesOn\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"PUnit\",\"PUnit.unit\",\"Coverage.Syntax.Rose\",\"Coverage.Syntax.Rose.node\",\"Coverage.Syntax.Rose.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Rose.node\",\"kind\":\"constructor\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Rose.rec\",\"kind\":\"recursor\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Rose.rec_1\",\"kind\":\"recursor\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Stmt.assign\",\"kind\":\"constructor\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Stmt.below\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"PProd\",\"PUnit\",\"String\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Stmt.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Stmt.brecOn\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Expr.below\",\"Coverage.Syntax.Expr.below_1\",\"Coverage.Syntax.Stmt.below\",\"Coverage.Syntax.Stmt.brecOn.go\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Stmt.casesOn\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"PUnit\",\"String\",\"PUnit.unit\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Stmt.assign\",\"Coverage.Syntax.Stmt.rec\",\"Coverage.Syntax.Stmt.sequence\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Stmt.rec\",\"kind\":\"recursor\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Stmt.sequence\",\"kind\":\"constructor\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Term.below\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"PProd\",\"PUnit\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Term.brecOn\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.below\",\"Coverage.Syntax.Term.brecOn.go\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Term.casesOn\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.literal\",\"Coverage.Syntax.Term.plus\",\"Coverage.Syntax.Term.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Term.literal\",\"kind\":\"constructor\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Term.plus\",\"kind\":\"constructor\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Term.rec\",\"kind\":\"recursor\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Box.content\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Types.Box\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Box.mk\",\"kind\":\"constructor\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.LexLeanRuntime.multiply\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Mul\",\"instHMul\",\"HMul.hMul\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HMul\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instHMul\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HMul\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.41\"}}}}},\"uses\":[\"HMul\",\"Mul\",\"instHMul\"]},\"inductive\":null},{\"name\":\"Coverage.Types.Point.mk\",\"kind\":\"constructor\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Point.x\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Types.Point\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Point.y\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Types.Point\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Shape.casesOn\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Coverage.Types.Shape\",\"Coverage.Types.Shape.circle\",\"Coverage.Types.Shape.empty\",\"Coverage.Types.Shape.rec\",\"Coverage.Types.Shape.rect\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Shape.circle\",\"kind\":\"constructor\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Shape.empty\",\"kind\":\"constructor\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Shape.rec\",\"kind\":\"recursor\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Shape.rect\",\"kind\":\"constructor\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Tree.below\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"PProd\",\"PUnit\",\"Coverage.Types.Tree\",\"Coverage.Types.Tree.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Tree.brecOn\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Types.Tree\",\"Coverage.Types.Tree.below\",\"Coverage.Types.Tree.brecOn.go\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Tree.casesOn\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Coverage.Types.Tree\",\"Coverage.Types.Tree.leaf\",\"Coverage.Types.Tree.node\",\"Coverage.Types.Tree.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Tree.leaf\",\"kind\":\"constructor\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Tree.node\",\"kind\":\"constructor\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Tree.rec\",\"kind\":\"recursor\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Weights.mk\",\"kind\":\"constructor\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Weights.scale\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Types.Weights\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.area.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Unit\",\"Unit.unit\",\"Coverage.Types.Shape\",\"Coverage.Types.Shape.casesOn\",\"Coverage.Types.Shape.circle\",\"Coverage.Types.Shape.empty\",\"Coverage.Types.Shape.rect\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.isEven._f\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Nat\",\"PProd\",\"Unit\",\"Bool.true\",\"Nat.below\",\"Nat.succ\",\"Nat.zero\",\"Coverage.Types.isEven.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.isEven.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Unit\",\"Nat.casesOn\",\"Nat.succ\",\"Nat.zero\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.isOdd._f\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Nat\",\"PProd\",\"Unit\",\"Bool.false\",\"Nat.below\",\"Nat.succ\",\"Nat.zero\",\"Coverage.Types.isEven.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.mapList._f\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"List\",\"List.below\",\"List.cons\",\"List.nil\",\"Coverage.Types.mapList.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.mapList.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.casesOn\",\"List.cons\",\"List.nil\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.treeSum._f\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Nat\",\"Unit\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"OfNat.ofNat\",\"Coverage.Types.Tree\",\"Coverage.Types.Tree.below\",\"Coverage.Types.Tree.leaf\",\"Coverage.Types.Tree.node\",\"Coverage.Types.treeSum.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.treeSum.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Unit\",\"Unit.unit\",\"Coverage.Types.Tree\",\"Coverage.Types.Tree.casesOn\",\"Coverage.Types.Tree.leaf\",\"Coverage.Types.Tree.node\"],\"declaration\":null,\"inductive\":null},{\"name\":\"_private.Coverage.Recur.0.Coverage.Recur.countdown_decreases._proof_1_4\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"And\",\"Bool\",\"Eq\",\"False\",\"Int\",\"Nat\",\"Not\",\"id\",\"instDecidableEqBool\",\"instHAdd\",\"instHSub\",\"instLENat\",\"instLTNat\",\"instNatCastInt\",\"instOfNat\",\"instOfNatNat\",\"instSubNat\",\"le_of_le_of_eq\",\"of_decide_eq_true\",\"And.left\",\"And.right\",\"Bool.true\",\"Decidable.decide\",\"Eq.refl\",\"Eq.symm\",\"Eq.trans\",\"HAdd.hAdd\",\"HSub.hSub\",\"Int.add_one_le_of_lt\",\"Int.instAdd\",\"Int.instLEInt\",\"Int.instNegInt\",\"Int.instSub\",\"Int.sub_eq_zero_of_eq\",\"Int.sub_nonneg_of_le\",\"LE.le\",\"LT.lt\",\"List.cons\",\"List.nil\",\"Nat.cast\",\"Nat.le_of_not_lt\",\"Neg.neg\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"Or.elim\",\"Lean.Omega.LinearCombo\",\"Lean.Omega.tidy_sat\",\"Lean.Omega.Coeffs.ofList\",\"Lean.Omega.Constraint.addEquality_sat\",\"Lean.Omega.Constraint.addInequality_sat\",\"Lean.Omega.Constraint.combine_sat'\",\"Lean.Omega.Constraint.isImpossible\",\"Lean.Omega.Constraint.mk\",\"Lean.Omega.Constraint.not_sat'_of_isImpossible\",\"Lean.Omega.Int.add_congr\",\"Lean.Omega.Int.ofNat_le_of_le\",\"Lean.Omega.Int.ofNat_lt_of_lt\",\"Lean.Omega.Int.ofNat_sub_dichotomy\",\"Lean.Omega.Int.sub_congr\",\"Lean.Omega.LinearCombo.add_eval\",\"Lean.Omega.LinearCombo.coordinate\",\"Lean.Omega.LinearCombo.coordinate_eval_0\",\"Lean.Omega.LinearCombo.coordinate_eval_1\",\"Lean.Omega.LinearCombo.eval\",\"Lean.Omega.LinearCombo.instAdd\",\"Lean.Omega.LinearCombo.instSub\",\"Lean.Omega.LinearCombo.mk\",\"Lean.Omega.LinearCombo.sub_eval\"],\"declaration\":null,\"inductive\":null},{\"name\":\"_private.Coverage.Recur.0.Coverage.Recur.countdown_decreases._simp_1_1\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"Not\",\"Bool.false\",\"Bool.not_eq_true\",\"Bool.true\",\"Eq.symm\"],\"declaration\":null,\"inductive\":null},{\"name\":\"_private.Coverage.Recur.0.Coverage.Recur.prune_plus._proof_1_7\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"Int\",\"Nat\",\"Not\",\"id\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instHSub\",\"instLTNat\",\"instNatCastInt\",\"instOfNat\",\"instOfNatNat\",\"le_of_le_of_eq\",\"of_decide_eq_true\",\"Bool.true\",\"Decidable.decide\",\"Eq.refl\",\"Eq.symm\",\"Eq.trans\",\"HAdd.hAdd\",\"HSub.hSub\",\"Int.instAdd\",\"Int.instLEInt\",\"Int.instNegInt\",\"Int.instSub\",\"Int.natCast_add\",\"Int.natCast_nonneg\",\"Int.sub_nonneg_of_le\",\"LT.lt\",\"List.cons\",\"List.nil\",\"Nat.cast\",\"Nat.le_of_not_lt\",\"Neg.neg\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"Coverage.Recur.weight\",\"Coverage.Syntax.Term\",\"Lean.Omega.LinearCombo\",\"Lean.Omega.combo_sat'\",\"Lean.Omega.tidy_sat\",\"Lean.Omega.Coeffs.ofList\",\"Lean.Omega.Constraint.addInequality_sat\",\"Lean.Omega.Constraint.combine_sat'\",\"Lean.Omega.Constraint.isImpossible\",\"Lean.Omega.Constraint.mk\",\"Lean.Omega.Constraint.not_sat'_of_isImpossible\",\"Lean.Omega.Int.add_congr\",\"Lean.Omega.Int.ofNat_le_of_le\",\"Lean.Omega.Int.sub_congr\",\"Lean.Omega.LinearCombo.add_eval\",\"Lean.Omega.LinearCombo.coordinate\",\"Lean.Omega.LinearCombo.coordinate_eval_0\",\"Lean.Omega.LinearCombo.coordinate_eval_1\",\"Lean.Omega.LinearCombo.coordinate_eval_2\",\"Lean.Omega.LinearCombo.eval\",\"Lean.Omega.LinearCombo.instAdd\",\"Lean.Omega.LinearCombo.instSub\",\"Lean.Omega.LinearCombo.mk\",\"Lean.Omega.LinearCombo.sub_eval\"],\"declaration\":null,\"inductive\":null},{\"name\":\"_private.Coverage.Recur.0.Coverage.Recur.reassociate_literal._proof_1_7\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"Int\",\"Nat\",\"Not\",\"id\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instHSub\",\"instLTNat\",\"instNatCastInt\",\"instOfNat\",\"instOfNatNat\",\"le_of_le_of_eq\",\"of_decide_eq_true\",\"Bool.true\",\"Decidable.decide\",\"Eq.refl\",\"Eq.symm\",\"Eq.trans\",\"HAdd.hAdd\",\"HSub.hSub\",\"Int.instAdd\",\"Int.instLEInt\",\"Int.instNegInt\",\"Int.instSub\",\"Int.natCast_add\",\"Int.sub_nonneg_of_le\",\"LT.lt\",\"List.cons\",\"List.nil\",\"Nat.cast\",\"Nat.le_of_not_lt\",\"Neg.neg\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"Coverage.Recur.weight\",\"Coverage.Syntax.Term\",\"Lean.Omega.LinearCombo\",\"Lean.Omega.tidy_sat\",\"Lean.Omega.Coeffs.ofList\",\"Lean.Omega.Constraint.addInequality_sat\",\"Lean.Omega.Constraint.isImpossible\",\"Lean.Omega.Constraint.mk\",\"Lean.Omega.Constraint.not_sat'_of_isImpossible\",\"Lean.Omega.Int.add_congr\",\"Lean.Omega.Int.ofNat_le_of_le\",\"Lean.Omega.Int.sub_congr\",\"Lean.Omega.LinearCombo.add_eval\",\"Lean.Omega.LinearCombo.coordinate\",\"Lean.Omega.LinearCombo.coordinate_eval_0\",\"Lean.Omega.LinearCombo.eval\",\"Lean.Omega.LinearCombo.instAdd\",\"Lean.Omega.LinearCombo.instSub\",\"Lean.Omega.LinearCombo.mk\",\"Lean.Omega.LinearCombo.sub_eval\"],\"declaration\":null,\"inductive\":null},{\"name\":\"_private.Coverage.Recur.0.Coverage.Recur.reassociate_plus._proof_1_7\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"Int\",\"Nat\",\"Not\",\"id\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instHSub\",\"instLTNat\",\"instNatCastInt\",\"instOfNat\",\"instOfNatNat\",\"le_of_le_of_eq\",\"of_decide_eq_true\",\"Bool.true\",\"Decidable.decide\",\"Eq.refl\",\"Eq.symm\",\"Eq.trans\",\"HAdd.hAdd\",\"HSub.hSub\",\"Int.instAdd\",\"Int.instLEInt\",\"Int.instNegInt\",\"Int.instSub\",\"Int.natCast_add\",\"Int.natCast_nonneg\",\"Int.sub_nonneg_of_le\",\"LT.lt\",\"List.cons\",\"List.nil\",\"Nat.cast\",\"Nat.le_of_not_lt\",\"Neg.neg\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"Coverage.Recur.weight\",\"Coverage.Syntax.Term\",\"Lean.Omega.LinearCombo\",\"Lean.Omega.combo_sat'\",\"Lean.Omega.tidy_sat\",\"Lean.Omega.Coeffs.ofList\",\"Lean.Omega.Constraint.addInequality_sat\",\"Lean.Omega.Constraint.isImpossible\",\"Lean.Omega.Constraint.mk\",\"Lean.Omega.Constraint.not_sat'_of_isImpossible\",\"Lean.Omega.Int.add_congr\",\"Lean.Omega.Int.ofNat_le_of_le\",\"Lean.Omega.Int.sub_congr\",\"Lean.Omega.LinearCombo.add_eval\",\"Lean.Omega.LinearCombo.coordinate\",\"Lean.Omega.LinearCombo.coordinate_eval_0\",\"Lean.Omega.LinearCombo.coordinate_eval_1\",\"Lean.Omega.LinearCombo.coordinate_eval_2\",\"Lean.Omega.LinearCombo.eval\",\"Lean.Omega.LinearCombo.instAdd\",\"Lean.Omega.LinearCombo.instSub\",\"Lean.Omega.LinearCombo.mk\",\"Lean.Omega.LinearCombo.sub_eval\"],\"declaration\":null,\"inductive\":null},{\"name\":\"_private.Coverage.Recur.0.Coverage.Recur.reduce_decreases._proof_1_4\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"And\",\"Bool\",\"Eq\",\"False\",\"Int\",\"Nat\",\"Not\",\"id\",\"instDecidableEqBool\",\"instHAdd\",\"instHSub\",\"instLENat\",\"instLTNat\",\"instNatCastInt\",\"instOfNat\",\"instOfNatNat\",\"instSubNat\",\"le_of_le_of_eq\",\"of_decide_eq_true\",\"And.left\",\"And.right\",\"Bool.true\",\"Decidable.decide\",\"Eq.refl\",\"Eq.symm\",\"Eq.trans\",\"GT.gt\",\"HAdd.hAdd\",\"HSub.hSub\",\"Int.add_one_le_of_lt\",\"Int.instAdd\",\"Int.instLEInt\",\"Int.instNegInt\",\"Int.instSub\",\"Int.natCast_nonneg\",\"Int.sub_eq_zero_of_eq\",\"Int.sub_nonneg_of_le\",\"LE.le\",\"LT.lt\",\"List.cons\",\"List.nil\",\"Nat.cast\",\"Nat.le_of_not_lt\",\"Nat.lt_or_gt_of_ne\",\"Neg.neg\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"Or.elim\",\"Lean.Omega.LinearCombo\",\"Lean.Omega.combo_sat'\",\"Lean.Omega.tidy_sat\",\"Lean.Omega.Coeffs.ofList\",\"Lean.Omega.Constraint.addEquality_sat\",\"Lean.Omega.Constraint.addInequality_sat\",\"Lean.Omega.Constraint.combine_sat'\",\"Lean.Omega.Constraint.isImpossible\",\"Lean.Omega.Constraint.mk\",\"Lean.Omega.Constraint.not_sat'_of_isImpossible\",\"Lean.Omega.Int.add_congr\",\"Lean.Omega.Int.ofNat_le_of_le\",\"Lean.Omega.Int.ofNat_lt_of_lt\",\"Lean.Omega.Int.ofNat_sub_dichotomy\",\"Lean.Omega.Int.sub_congr\",\"Lean.Omega.LinearCombo.add_eval\",\"Lean.Omega.LinearCombo.coordinate\",\"Lean.Omega.LinearCombo.coordinate_eval_0\",\"Lean.Omega.LinearCombo.coordinate_eval_1\",\"Lean.Omega.LinearCombo.coordinate_eval_2\",\"Lean.Omega.LinearCombo.eval\",\"Lean.Omega.LinearCombo.instAdd\",\"Lean.Omega.LinearCombo.instSub\",\"Lean.Omega.LinearCombo.mk\",\"Lean.Omega.LinearCombo.sub_eval\"],\"declaration\":null,\"inductive\":null},{\"name\":\"_private.Coverage.Recur.0.Coverage.Recur.reduce_decreases._simp_1_1\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"Not\",\"Bool.false\",\"Bool.not_eq_true\",\"Bool.true\",\"Eq.symm\"],\"declaration\":null,\"inductive\":null},{\"name\":\"_private.Coverage.Recur.0.Coverage.Recur.search_decreases._proof_1_4\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"And\",\"Bool\",\"Eq\",\"False\",\"Int\",\"Nat\",\"Not\",\"id\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instHSub\",\"instLENat\",\"instLTNat\",\"instNatCastInt\",\"instOfNat\",\"instOfNatNat\",\"instSubNat\",\"le_of_le_of_eq\",\"of_decide_eq_true\",\"And.left\",\"And.right\",\"Bool.true\",\"Decidable.decide\",\"Eq.refl\",\"Eq.symm\",\"Eq.trans\",\"HAdd.hAdd\",\"HSub.hSub\",\"Int.add_one_le_of_lt\",\"Int.instAdd\",\"Int.instLEInt\",\"Int.instNegInt\",\"Int.instSub\",\"Int.natCast_add\",\"Int.sub_eq_zero_of_eq\",\"Int.sub_nonneg_of_le\",\"LE.le\",\"LT.lt\",\"List.cons\",\"List.nil\",\"Nat.cast\",\"Nat.le_of_not_lt\",\"Neg.neg\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"Or.elim\",\"Lean.Omega.LinearCombo\",\"Lean.Omega.combo_sat'\",\"Lean.Omega.tidy_sat\",\"Lean.Omega.Coeffs.ofList\",\"Lean.Omega.Constraint.addEquality_sat\",\"Lean.Omega.Constraint.addInequality_sat\",\"Lean.Omega.Constraint.combine_sat'\",\"Lean.Omega.Constraint.isImpossible\",\"Lean.Omega.Constraint.mk\",\"Lean.Omega.Constraint.not_sat'_of_isImpossible\",\"Lean.Omega.Int.add_congr\",\"Lean.Omega.Int.ofNat_le_of_le\",\"Lean.Omega.Int.ofNat_lt_of_lt\",\"Lean.Omega.Int.ofNat_sub_dichotomy\",\"Lean.Omega.Int.sub_congr\",\"Lean.Omega.LinearCombo.add_eval\",\"Lean.Omega.LinearCombo.coordinate\",\"Lean.Omega.LinearCombo.coordinate_eval_0\",\"Lean.Omega.LinearCombo.coordinate_eval_1\",\"Lean.Omega.LinearCombo.coordinate_eval_3\",\"Lean.Omega.LinearCombo.coordinate_eval_4\",\"Lean.Omega.LinearCombo.eval\",\"Lean.Omega.LinearCombo.instAdd\",\"Lean.Omega.LinearCombo.instSub\",\"Lean.Omega.LinearCombo.mk\",\"Lean.Omega.LinearCombo.sub_eval\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.Key.compare\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Colls.LexLeanCollections.Key\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.Key.mk\",\"kind\":\"constructor\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.compareCodes._f\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Char\",\"List\",\"Nat\",\"Ordering\",\"Unit\",\"instOrdNat\",\"Char.val\",\"List.below\",\"List.cons\",\"List.nil\",\"Ord.compare\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"UInt32.toNat\",\"Coverage.Colls.LexLeanCollections.compareCodes.match_1\",\"Coverage.Colls.LexLeanCollections.compareCodes.match_4\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.compareCodes._sparseCasesOn_1\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Nat\",\"Ordering\",\"instOfNatNat\",\"Bool.false\",\"Eq.refl\",\"Nat.hasNotBit\",\"Nat.land\",\"Nat.ne_of_beq_eq_false\",\"Nat.shiftRight\",\"OfNat.ofNat\",\"Ordering.ctorIdx\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"Ordering.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.compareCodes.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Ordering\",\"Unit\",\"Nat.hasNotBit\",\"Ordering.ctorIdx\",\"Ordering.eq\",\"Unit.unit\",\"Coverage.Colls.LexLeanCollections.compareCodes._sparseCasesOn_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.compareCodes.match_4\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Char\",\"List\",\"Unit\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.containsElement._f\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"List\",\"Ordering\",\"Unit\",\"Bool.false\",\"Bool.true\",\"List.below\",\"List.cons\",\"List.nil\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.Key.compare\",\"Coverage.Colls.LexLeanCollections.insertElement.match_1\",\"Coverage.Colls.LexLeanCollections.insertEntry.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.insertElement._f\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"List\",\"Ordering\",\"Unit\",\"List.below\",\"List.cons\",\"List.nil\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.Key.compare\",\"Coverage.Colls.LexLeanCollections.insertElement.match_1\",\"Coverage.Colls.LexLeanCollections.insertEntry.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.insertElement.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Unit\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.insertEntry._f\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"List\",\"Ordering\",\"Prod\",\"Unit\",\"List.below\",\"List.cons\",\"List.nil\",\"Prod.mk\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.Key.compare\",\"Coverage.Colls.LexLeanCollections.insertEntry.match_1\",\"Coverage.Colls.LexLeanCollections.insertEntry.match_3\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.insertEntry.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Ordering\",\"Unit\",\"Ordering.casesOn\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.insertEntry.match_3\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\",\"Unit\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Prod.casesOn\",\"Prod.mk\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.iterate._f\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.below\",\"Nat.succ\",\"OfNat.ofNat\",\"Coverage.Colls.LexLeanCollections.iterate.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.iterate.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.casesOn\",\"Nat.succ\",\"OfNat.ofNat\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.iterateUntil._f\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.below\",\"Nat.succ\",\"OfNat.ofNat\",\"Prod.mk\",\"Coverage.Colls.LexLeanCollections.iterate.match_1\",\"Coverage.Colls.LexLeanCollections.iterateUntil.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.iterateUntil.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.lookupEntry._f\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"List\",\"Option\",\"Ordering\",\"Prod\",\"Unit\",\"List.below\",\"List.cons\",\"List.nil\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.Key.compare\",\"Coverage.Colls.LexLeanCollections.insertEntry.match_1\",\"Coverage.Colls.LexLeanCollections.insertEntry.match_3\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.reachableFrom._f\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"List\",\"Nat\",\"Prod\",\"Unit\",\"instDecidableEqBool\",\"instOfNatNat\",\"ite\",\"Bool.or\",\"Bool.true\",\"List.foldl\",\"List.nil\",\"Nat.below\",\"Nat.succ\",\"OfNat.ofNat\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.containsElement\",\"Coverage.Colls.LexLeanCollections.graphSuccessors\",\"Coverage.Colls.LexLeanCollections.insertElement\",\"Coverage.Colls.LexLeanCollections.reachableFrom.match_1\",\"Coverage.Colls.LexLeanCollections.reachableFrom.match_4\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.reachableFrom._sparseCasesOn_1\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"List\",\"Nat\",\"instOfNatNat\",\"Bool.false\",\"Eq.refl\",\"List.cons\",\"List.ctorIdx\",\"List.nil\",\"List.rec\",\"Nat.hasNotBit\",\"Nat.land\",\"Nat.ne_of_beq_eq_false\",\"Nat.shiftRight\",\"OfNat.ofNat\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.reachableFrom.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Unit\",\"List.ctorIdx\",\"List.nil\",\"Nat.hasNotBit\",\"Unit.unit\",\"Coverage.Colls.LexLeanCollections.reachableFrom._sparseCasesOn_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.reachableFrom.match_4\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"instOfNatNat\",\"Nat.casesOn\",\"Nat.succ\",\"OfNat.ofNat\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.removeElement._f\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"List\",\"Ordering\",\"Unit\",\"List.below\",\"List.cons\",\"List.nil\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.Key.compare\",\"Coverage.Colls.LexLeanCollections.insertElement.match_1\",\"Coverage.Colls.LexLeanCollections.insertEntry.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.removeEntry._f\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"List\",\"Ordering\",\"Prod\",\"Unit\",\"List.below\",\"List.cons\",\"List.nil\",\"Prod.mk\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.Key.compare\",\"Coverage.Colls.LexLeanCollections.insertEntry.match_1\",\"Coverage.Colls.LexLeanCollections.insertEntry.match_3\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Colls.LexLeanCollections.topological._f\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"List\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"instDecidableEqBool\",\"instOfNatNat\",\"ite\",\"Bool.not\",\"Bool.true\",\"List.all\",\"List.cons\",\"List.filter\",\"List.isEmpty\",\"List.reverse\",\"Nat.below\",\"Nat.succ\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"Coverage.Colls.LexLeanCollections.Key\",\"Coverage.Colls.LexLeanCollections.containsElement\",\"Coverage.Colls.LexLeanCollections.graphSuccessors\",\"Coverage.Colls.LexLeanCollections.removeElement\",\"Coverage.Colls.LexLeanCollections.insertElement.match_1\",\"Coverage.Colls.LexLeanCollections.reachableFrom.match_4\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Main.LexLeanRuntime.Quotient.isZero\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Main.LexLeanRuntime.Quotient\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Main.LexLeanRuntime.Quotient.mk\",\"kind\":\"constructor\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Main.LexLeanRuntime.Quotient.quotient\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Main.LexLeanRuntime.Quotient\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Main.LexLeanRuntime.Quotient.remainder\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Main.LexLeanRuntime.Quotient\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.Appendable.append\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Prims.LexLeanRuntime.Appendable\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.Appendable.mk\",\"kind\":\"constructor\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.Decimal.format\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Prims.LexLeanRuntime.Decimal\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.Decimal.mk\",\"kind\":\"constructor\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.Decimal.parse\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Prims.LexLeanRuntime.Decimal\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed.bitAnd\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Prims.LexLeanRuntime.Fixed\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed.bitNot\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Prims.LexLeanRuntime.Fixed\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed.bitOr\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Prims.LexLeanRuntime.Fixed\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed.bitXor\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Prims.LexLeanRuntime.Fixed\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed.fromInt\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Prims.LexLeanRuntime.Fixed\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed.maximum\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Prims.LexLeanRuntime.Fixed\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed.minimum\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Prims.LexLeanRuntime.Fixed\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed.mk\",\"kind\":\"constructor\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed.shiftLeft\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Prims.LexLeanRuntime.Fixed\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed.shiftRight\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Prims.LexLeanRuntime.Fixed\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.Fixed.toToMathInt\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Prims.LexLeanRuntime.Fixed\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.Indexable.index\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Prims.LexLeanRuntime.Indexable\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.Indexable.mk\",\"kind\":\"constructor\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.Lengthable.length\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Prims.LexLeanRuntime.Lengthable\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.Lengthable.mk\",\"kind\":\"constructor\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.Sliceable.mk\",\"kind\":\"constructor\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.Sliceable.slice\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Prims.LexLeanRuntime.Sliceable\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt.mk\",\"kind\":\"constructor\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.ToMathInt.toInt\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Prims.LexLeanRuntime.ToMathInt\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.checkedMultiplyInt64.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"UInt64\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.divideMagnitudeInt64._f\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Nat\",\"UInt64\",\"instAddUInt64\",\"instHAdd\",\"instHSub\",\"instLEUInt64\",\"instOfNatNat\",\"instSubUInt64\",\"ite\",\"HAdd.hAdd\",\"HSub.hSub\",\"LE.le\",\"Nat.below\",\"Nat.succ\",\"OfNat.ofNat\",\"UInt64.decLe\",\"UInt64.instOfNat\",\"Coverage.Prims.LexLeanRuntime.divideMagnitudeInt64.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.divideMagnitudeInt64.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"UInt64\",\"instOfNatNat\",\"Nat.casesOn\",\"Nat.succ\",\"OfNat.ofNat\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.instDecimalInt.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.listIndex._f\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"List\",\"Nat\",\"Option\",\"List.below\",\"List.cons\",\"List.nil\",\"Option.none\",\"Option.some\",\"Coverage.Prims.LexLeanRuntime.listIndex.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.listIndex.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"instOfNatNat\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Nat.casesOn\",\"Nat.succ\",\"OfNat.ofNat\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.multiplyMagnitudeInt64._f\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"UInt64\",\"instAddUInt64\",\"instDecidableEqBool\",\"instHAdd\",\"instHSub\",\"instLEUInt64\",\"instLTUInt64\",\"instOfNatNat\",\"instSubUInt64\",\"ite\",\"Bool.or\",\"Bool.true\",\"Decidable.decide\",\"HAdd.hAdd\",\"HSub.hSub\",\"LE.le\",\"LT.lt\",\"Nat.below\",\"Nat.succ\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"UInt64.decLe\",\"UInt64.decLt\",\"UInt64.instOfNat\",\"Coverage.Prims.LexLeanRuntime.multiplyMagnitudeInt64.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Prims.LexLeanRuntime.multiplyMagnitudeInt64.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Nat\",\"UInt64\",\"instOfNatNat\",\"Nat.casesOn\",\"Nat.succ\",\"OfNat.ofNat\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.countdown._unary._proof_1\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"InvImage\",\"Nat\",\"PSigma\",\"id\",\"instAddNat\",\"instHAdd\",\"instLTNat\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"HAdd.hAdd\",\"LT.lt\",\"Nat.blt\",\"OfNat.ofNat\",\"PSigma.casesOn\",\"PSigma.mk\",\"Coverage.Recur.countdown_decreases\",\"Coverage.Recur.LexLeanRuntime.subtract\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.reduce._unary._proof_1\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"InvImage\",\"Nat\",\"id\",\"instLTNat\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"LT.lt\",\"Nat.beq\",\"Nat.blt\",\"OfNat.ofNat\",\"Coverage.Recur.reduce_decreases\",\"Coverage.Recur.LexLeanRuntime.subtract\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.search._unary._proof_1\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"InvImage\",\"Nat\",\"id\",\"instAddNat\",\"instHAdd\",\"instLTNat\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"Bool.true\",\"HAdd.hAdd\",\"LT.lt\",\"Nat.ble\",\"Nat.blt\",\"OfNat.ofNat\",\"Coverage.Recur.search_decreases\",\"Coverage.Recur.LexLeanRuntime.subtract\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Expr.brecOn.go\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"PProd\",\"PUnit\",\"String\",\"List.cons\",\"List.nil\",\"PProd.mk\",\"PUnit.unit\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Expr.below\",\"Coverage.Syntax.Expr.below_1\",\"Coverage.Syntax.Expr.block\",\"Coverage.Syntax.Expr.literal\",\"Coverage.Syntax.Expr.plus\",\"Coverage.Syntax.Expr.rec\",\"Coverage.Syntax.Stmt.assign\",\"Coverage.Syntax.Stmt.below\",\"Coverage.Syntax.Stmt.sequence\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Expr.brecOn_1.go\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"PProd\",\"PUnit\",\"String\",\"List.cons\",\"List.nil\",\"PProd.mk\",\"PUnit.unit\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Expr.below\",\"Coverage.Syntax.Expr.below_1\",\"Coverage.Syntax.Expr.block\",\"Coverage.Syntax.Expr.literal\",\"Coverage.Syntax.Expr.plus\",\"Coverage.Syntax.Expr.rec_1\",\"Coverage.Syntax.Stmt.assign\",\"Coverage.Syntax.Stmt.below\",\"Coverage.Syntax.Stmt.sequence\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Rose.brecOn.go\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"PProd\",\"PUnit\",\"List.cons\",\"List.nil\",\"PProd.mk\",\"PUnit.unit\",\"Coverage.Syntax.Rose\",\"Coverage.Syntax.Rose.below\",\"Coverage.Syntax.Rose.below_1\",\"Coverage.Syntax.Rose.node\",\"Coverage.Syntax.Rose.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Rose.brecOn_1.go\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"PProd\",\"PUnit\",\"List.cons\",\"List.nil\",\"PProd.mk\",\"PUnit.unit\",\"Coverage.Syntax.Rose\",\"Coverage.Syntax.Rose.below\",\"Coverage.Syntax.Rose.below_1\",\"Coverage.Syntax.Rose.node\",\"Coverage.Syntax.Rose.rec_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Stmt.brecOn.go\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"PProd\",\"PUnit\",\"String\",\"List.cons\",\"List.nil\",\"PProd.mk\",\"PUnit.unit\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Expr.below\",\"Coverage.Syntax.Expr.below_1\",\"Coverage.Syntax.Expr.block\",\"Coverage.Syntax.Expr.literal\",\"Coverage.Syntax.Expr.plus\",\"Coverage.Syntax.Stmt.assign\",\"Coverage.Syntax.Stmt.below\",\"Coverage.Syntax.Stmt.rec\",\"Coverage.Syntax.Stmt.sequence\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Term.brecOn.go\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"PProd\",\"PUnit\",\"PProd.mk\",\"PUnit.unit\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.below\",\"Coverage.Syntax.Term.literal\",\"Coverage.Syntax.Term.plus\",\"Coverage.Syntax.Term.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Tree.brecOn.go\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"PProd\",\"PUnit\",\"PProd.mk\",\"PUnit.unit\",\"Coverage.Types.Tree\",\"Coverage.Types.Tree.below\",\"Coverage.Types.Tree.leaf\",\"Coverage.Types.Tree.node\",\"Coverage.Types.Tree.rec\"],\"declaration\":null,\"inductive\":null}],\"externals\":[{\"name\":\"Add\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Array\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"BEq\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Bool\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"ByteArray\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Char\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Decidable\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Except\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"GetElem?\",\"kind\":\"inductive\",\"module\":\"Init.GetElem\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"HAdd\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"HMul\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"HSub\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Int\",\"kind\":\"inductive\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Int16\",\"kind\":\"inductive\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Int32\",\"kind\":\"inductive\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Int64\",\"kind\":\"inductive\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Int8\",\"kind\":\"inductive\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"List\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Mul\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Nat\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Neg\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"OfNat\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Option\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Ord\",\"kind\":\"inductive\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Ordering\",\"kind\":\"inductive\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"PUnit\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Prod\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"String\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Sub\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"ToString\",\"kind\":\"inductive\",\"module\":\"Init.Data.ToString.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"UInt16\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"UInt32\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"UInt64\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"UInt8\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"bne\",\"kind\":\"definition\",\"module\":\"Init.Core\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instAddInt64\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instAddNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instAddUInt64\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instBEqOfDecidableEq\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instDecidableEqBool\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instDecidableEqInt32\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instDecidableEqInt64\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instDecidableEqNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instDecidableEqOrdering\",\"kind\":\"definition\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instDecidableEqString\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instDecidableEqUInt16\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instHAdd\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instHMul\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instHSub\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instMulNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instOfNat\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instOfNatNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instOrdBool\",\"kind\":\"definition\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instOrdInt\",\"kind\":\"definition\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instOrdNat\",\"kind\":\"definition\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instSubInt64\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instSubNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instSubUInt64\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instToStringInt\",\"kind\":\"definition\",\"module\":\"Init.Data.ToString.Extra\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instToStringInt8\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instToStringUInt32\",\"kind\":\"definition\",\"module\":\"Init.Data.ToString.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Array.instGetElem?NatLtSize\",\"kind\":\"definition\",\"module\":\"Init.GetElem\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Bool.false\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Bool\"},{\"name\":\"Bool.not\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Bool.true\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Bool\"},{\"name\":\"ByteArray.data\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"ByteArray.extract\",\"kind\":\"definition\",\"module\":\"Init.Data.ByteArray.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"ByteArray.fastAppend\",\"kind\":\"definition\",\"module\":\"Init.Data.ByteArray.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"ByteArray.instBEq\",\"kind\":\"definition\",\"module\":\"Init.Data.ByteArray.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"ByteArray.mk\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":true,\"inductive_type\":\"ByteArray\"},{\"name\":\"ByteArray.size\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"ByteArray.toList\",\"kind\":\"definition\",\"module\":\"Init.Data.ByteArray.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Decidable.decide\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Decidable.isFalse\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Decidable\"},{\"name\":\"Decidable.isTrue\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Decidable\"},{\"name\":\"Except.error\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Except\"},{\"name\":\"Except.ok\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Except\"},{\"name\":\"Int.decLt\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int.instAdd\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int.instDecidableEq\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int.instMul\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int.instNegInt\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int.instSub\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int.ofNat\",\"kind\":\"constructor\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":true,\"inductive_type\":\"Int\"},{\"name\":\"Int.tdiv\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.DivMod.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int.tmod\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.DivMod.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int16.complement\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int16.land\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int16.lor\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int16.ofInt\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int16.ofNat\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int16.shiftLeft\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int16.shiftRight\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int16.toInt\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int16.xor\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int32.complement\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int32.instNeg\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int32.instOfNat\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int32.land\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int32.lor\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int32.ofInt\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int32.ofNat\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int32.shiftLeft\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int32.shiftRight\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int32.toInt\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int32.xor\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int64.complement\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int64.decLt\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int64.instNeg\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int64.instOfNat\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int64.land\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int64.lor\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int64.ofInt\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int64.ofNat\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int64.shiftLeft\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int64.shiftRight\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int64.toInt\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int64.xor\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int8.complement\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int8.land\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int8.lor\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int8.ofInt\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int8.ofNat\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int8.shiftLeft\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int8.shiftRight\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int8.toInt\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int8.xor\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.all\",\"kind\":\"definition\",\"module\":\"Init.Data.List.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.appendTR\",\"kind\":\"definition\",\"module\":\"Init.Data.List.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.cons\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"List\"},{\"name\":\"List.drop\",\"kind\":\"definition\",\"module\":\"Init.Data.List.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.filterTR\",\"kind\":\"definition\",\"module\":\"Init.Data.List.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.foldl\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.instOrd\",\"kind\":\"definition\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.isEmpty\",\"kind\":\"definition\",\"module\":\"Init.Data.List.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.lengthTR\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.mapTR\",\"kind\":\"definition\",\"module\":\"Init.Data.List.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.nil\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"List\"},{\"name\":\"List.reverse\",\"kind\":\"definition\",\"module\":\"Init.Data.List.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.takeTR\",\"kind\":\"axiom\",\"module\":\"Init.Data.List.Impl\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.toArray\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Nat.beq\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Nat.ble\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Nat.blt\",\"kind\":\"definition\",\"module\":\"Init.Data.Nat.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Nat.decLe\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Nat.decLt\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Nat.div\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Nat.mod\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Nat.succ\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Nat\"},{\"name\":\"Nat.zero\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Nat\"},{\"name\":\"Option.isSome\",\"kind\":\"definition\",\"module\":\"Init.Data.Option.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Option.none\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Option\"},{\"name\":\"Option.some\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Option\"},{\"name\":\"Ordering.eq\",\"kind\":\"constructor\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Ordering\"},{\"name\":\"Ordering.gt\",\"kind\":\"constructor\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Ordering\"},{\"name\":\"Ordering.lt\",\"kind\":\"constructor\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Ordering\"},{\"name\":\"Prod.mk\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Prod\"},{\"name\":\"String.fromUTF8?\",\"kind\":\"definition\",\"module\":\"Init.Data.String.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"String.intercalate\",\"kind\":\"axiom\",\"module\":\"Init.Data.String.Defs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"String.isEmpty\",\"kind\":\"definition\",\"module\":\"Init.Data.String.Defs\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"String.length\",\"kind\":\"definition\",\"module\":\"Init.Data.String.Length\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"String.splitOn\",\"kind\":\"axiom\",\"module\":\"Init.Data.String.Legacy\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"String.toInt?\",\"kind\":\"axiom\",\"module\":\"Init.Data.String.Search\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"String.toList\",\"kind\":\"definition\",\"module\":\"Init.Data.String.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"String.toUTF8\",\"kind\":\"axiom\",\"module\":\"Init.Data.String.Defs\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt16.complement\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt16.land\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt16.lor\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt16.ofInt\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt16.ofNat\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.BasicAux\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt16.shiftLeft\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt16.shiftRight\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt16.toNat\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.BasicAux\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt16.xor\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.complement\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.instOfNat\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.BasicAux\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.land\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.lor\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.ofInt\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.shiftLeft\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.shiftRight\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.toNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.xor\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt64.complement\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt64.decLe\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt64.decLt\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt64.instOfNat\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.BasicAux\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt64.land\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt64.lor\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt64.ofInt\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt64.ofNat\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.BasicAux\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt64.shiftLeft\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt64.shiftRight\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt64.toInt64\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt64.toNat\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.BasicAux\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt64.xor\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt8.instOfNat\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.BasicAux\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt8.instOrd\",\"kind\":\"definition\",\"module\":\"Init.Data.Ord.UInt\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Unit.unit\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true}]}\n","stdout_sha256":"c74b4a6d847e7774470da9387d4528b2a5638e5e27a1e71ae566f1fe7f7fa2e9","tool":"lean"} +{"argv":["env","lean","$STAGING/extract/LexLeanExtract.Xe371869b9b3ca32388daafe8348a6ca5.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanExtract.Xe371869b9b3ca32388daafe8348a6ca5","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"{\"spec\":\"lexlean/lcnf-extraction/2\",\"lean\":{\"version\":\"4.32.1\",\"githash\":\"f054605aea4b840552cca2e725580bffd1e1b704\"},\"roots\":[\"Coverage.Boundary.groveRoot\",\"Coverage.Colls.mapOps\",\"Coverage.Colls.mapFolding\",\"Coverage.Colls.setOps\",\"Coverage.Colls.folds\",\"Coverage.Colls.iterations\",\"Coverage.Colls.graphs\",\"Coverage.Colls.stringGraph\",\"Coverage.Colls.keyTypes\",\"Coverage.Colls.literals\",\"Coverage.Main.natOps\",\"Coverage.Main.intOps\",\"Coverage.Main.shapes\",\"Coverage.Main.treeTotal\",\"Coverage.Main.records\",\"Coverage.Main.options\",\"Coverage.Main.builders\",\"Coverage.Main.pairs\",\"Coverage.Main.higher\",\"Coverage.Main.mapped\",\"Coverage.Main.parity\",\"Coverage.Prims.fixedSmall\",\"Coverage.Prims.fixedMiddle\",\"Coverage.Prims.fixedWide\",\"Coverage.Prims.bits\",\"Coverage.Prims.conversions\",\"Coverage.Prims.sequences\",\"Coverage.Prims.decimals\",\"Coverage.Prims.formats\",\"Coverage.Prims.text\",\"Coverage.RecRoots.roseTotal\",\"Coverage.RecRoots.syntaxTotal\",\"Coverage.RecRoots.wellFounded\",\"Coverage.RecRoots.rewrite\"],\"constants\":[{\"name\":\"LexLeanCollections.Key\",\"kind\":\"inductive\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"LexLeanCollections.Key.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"LexLeanCollections.compareCodes\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Char\",\"List\",\"Ordering\",\"List.brecOn\",\"LexLeanCollections.compareCodes._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.86\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.87\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.97\",\"parameters\":[{\"id\":\"_uniq.95\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.96\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Ordering.eq\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.96\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.97\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.108\",\"parameters\":[{\"id\":\"_uniq.105\",\"type\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.106\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Ordering.lt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.107\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.108\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.115\",\"parameters\":[{\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.113\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Ordering.gt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.114\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.115\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.173\",\"parameters\":[{\"id\":\"_uniq.135\",\"type\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.136\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.137\",\"type\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.138\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.144\",\"parameters\":[{\"id\":\"_uniq.142\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.143\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.compareCodes\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.136\"},{\"kind\":\"fvar\",\"id\":\"_uniq.138\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.143\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.144\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.150\",\"parameters\":[{\"id\":\"_uniq.149\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.149\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.151\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.150\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.157\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Ord\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instOrdNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.158\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Ord\",\"index\":0,\"value\":\"_uniq.157\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.159\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Char\",\"index\":0,\"value\":\"_uniq.135\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.160\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.159\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.161\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Char\",\"index\":0,\"value\":\"_uniq.137\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.162\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.161\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.163\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.158\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.160\"},{\"kind\":\"fvar\",\"id\":\"_uniq.162\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Ordering\",\"result_type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"discriminant\":\"_uniq.163\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Ordering.eq\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.164\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.165\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.145\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.164\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.165\"}}}},{\"kind\":\"default\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.170\",\"parameters\":[{\"id\":\"_uniq.168\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.169\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.151\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.163\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.169\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.171\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.170\",\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"any\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.171\"}}}}]}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.174\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.173\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"discriminant\":\"_uniq.86\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"discriminant\":\"_uniq.87\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.191\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.192\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.98\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.191\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.192\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.193\",\"type\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.194\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.195\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.109\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.193\"},{\"kind\":\"fvar\",\"id\":\"_uniq.194\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.195\"}}}]}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.197\",\"type\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.198\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"discriminant\":\"_uniq.87\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.207\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.116\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.197\"},{\"kind\":\"fvar\",\"id\":\"_uniq.198\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.207\"}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.208\",\"type\":{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.209\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.210\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.174\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.197\"},{\"kind\":\"fvar\",\"id\":\"_uniq.198\"},{\"kind\":\"fvar\",\"id\":\"_uniq.208\"},{\"kind\":\"fvar\",\"id\":\"_uniq.209\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.210\"}}}]}}]}}}}}}}}}},\"uses\":[\"Char\",\"List\",\"Nat\",\"Ord\",\"Ordering\",\"PUnit\",\"UInt32\",\"instOrdNat\",\"LexLeanCollections.compareCodes\",\"List.cons\",\"List.nil\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"UInt32.toNat\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.containsElement\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"List\",\"LexLeanCollections.Key\",\"List.brecOn\",\"LexLeanCollections.containsElement._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}}}},\"parameters\":[{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"borrow\":false},{\"id\":\"_uniq.62\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},\"borrow\":false},{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.71\",\"parameters\":[{\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.70\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.71\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.115\",\"parameters\":[{\"id\":\"_uniq.84\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},\"borrow\":false},{\"id\":\"_uniq.85\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.71\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.94\",\"parameters\":[{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.93\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.94\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.99\",\"parameters\":[{\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.containsElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"},{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},{\"kind\":\"fvar\",\"id\":\"_uniq.85\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.98\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.99\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanCollections.Key\",\"index\":0,\"value\":\"_uniq.61\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.106\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},{\"kind\":\"fvar\",\"id\":\"_uniq.84\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Ordering\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.107\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Ordering.lt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.90\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.108\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.109\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.eq\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.111\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.95\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.110\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.111\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.gt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.100\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.112\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.113\"}}}}]}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.115\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.63\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.72\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.125\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.126\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.127\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},\"borrow\":false},{\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.129\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.116\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.127\"},{\"kind\":\"fvar\",\"id\":\"_uniq.128\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.129\"}}}]}}}}}},\"uses\":[\"Bool\",\"List\",\"Ordering\",\"PUnit\",\"Bool.false\",\"Bool.true\",\"LexLeanCollections.Key\",\"LexLeanCollections.containsElement\",\"List.cons\",\"List.nil\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.graphNodes\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\",\"LexLeanCollections.Key\",\"LexLeanCollections.insertElement\",\"List.foldl\",\"List.nil\",\"Prod.fst\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]}}}},\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]}]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.36\",\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.31\",\"parameters\":[{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.insertElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.30\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.25\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.insertElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.25\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.foldl\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.35\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.foldl\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.38\"}}}}},\"uses\":[\"List\",\"Prod\",\"LexLeanCollections.Key\",\"LexLeanCollections.insertElement\",\"List.foldl\",\"List.nil\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.graphReachable\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"LexLeanCollections.Key\",\"LexLeanCollections.graphNodes\",\"LexLeanCollections.reachableFrom\",\"List.cons\",\"List.length\",\"List.nil\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]}]}]},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.graphNodes\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"List.lengthTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.29\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.25\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.reachableFrom\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.34\"}}}}}}}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"List\",\"Nat\",\"OfNat\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"LexLeanCollections.Key\",\"LexLeanCollections.graphNodes\",\"LexLeanCollections.reachableFrom\",\"List.cons\",\"List.lengthTR\",\"List.nil\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.graphSuccessors\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\",\"LexLeanCollections.Key\",\"LexLeanCollections.lookupEntry\",\"List.nil\",\"Option.getD\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"borrow\":false},{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]}]}]},\"borrow\":false},{\"id\":\"_uniq.43\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.50\",\"parameters\":[{\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.49\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.50\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.57\",\"parameters\":[{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.56\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.57\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.lookupEntry\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"discriminant\":\"_uniq.66\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.58\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.68\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.51\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.69\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.70\"}}}]}}}}}}},\"uses\":[\"List\",\"Option\",\"PUnit\",\"Prod\",\"LexLeanCollections.Key\",\"LexLeanCollections.lookupEntry\",\"List.nil\",\"Option.none\",\"Option.some\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.graphTopological\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"LexLeanCollections.Key\",\"LexLeanCollections.graphNodes\",\"LexLeanCollections.topological\",\"List.length\",\"List.nil\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]}]}}}},\"parameters\":[{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]}]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.graphNodes\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.22\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.25\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"List.lengthTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.29\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.26\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.topological\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.33\"}}}}}}}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"List\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"LexLeanCollections.Key\",\"LexLeanCollections.graphNodes\",\"LexLeanCollections.topological\",\"List.lengthTR\",\"List.nil\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.insertElement\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"LexLeanCollections.Key\",\"List.brecOn\",\"LexLeanCollections.insertElement._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.62\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"borrow\":false},{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"borrow\":false},{\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.74\",\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.73\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.123\",\"parameters\":[{\"id\":\"_uniq.87\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"borrow\":false},{\"id\":\"_uniq.88\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.96\",\"parameters\":[{\"id\":\"_uniq.93\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.88\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.94\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.95\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.96\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.101\",\"parameters\":[{\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.88\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.100\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.101\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.107\",\"parameters\":[{\"id\":\"_uniq.104\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.insertElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.88\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.106\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.107\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanCollections.Key\",\"index\":0,\"value\":\"_uniq.63\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.114\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Ordering\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"discriminant\":\"_uniq.115\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Ordering.lt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.97\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.116\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.117\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.eq\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.118\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.102\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.118\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.119\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.gt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.108\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.120\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.121\"}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.124\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.123\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"discriminant\":\"_uniq.65\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.75\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.133\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.134\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.135\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"borrow\":false},{\"id\":\"_uniq.136\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.135\"},{\"kind\":\"fvar\",\"id\":\"_uniq.136\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.137\"}}}]}}}}}},\"uses\":[\"List\",\"Ordering\",\"PUnit\",\"LexLeanCollections.Key\",\"LexLeanCollections.insertElement\",\"List.cons\",\"List.nil\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.insertEntry\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\",\"LexLeanCollections.Key\",\"List.brecOn\",\"LexLeanCollections.insertEntry._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":4},{\"kind\":\"bvar\",\"index\":3}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":5},{\"kind\":\"bvar\",\"index\":4}]}]}}}}}}},\"parameters\":[{\"id\":\"_uniq.80\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.81\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.82\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"borrow\":false},{\"id\":\"_uniq.83\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},\"borrow\":false},{\"id\":\"_uniq.84\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.81\"},\"borrow\":false},{\"id\":\"_uniq.85\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.95\",\"parameters\":[{\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.83\"},{\"kind\":\"fvar\",\"id\":\"_uniq.84\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},{\"kind\":\"fvar\",\"id\":\"_uniq.93\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.94\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.96\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.95\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.153\",\"parameters\":[{\"id\":\"_uniq.112\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},\"borrow\":false},{\"id\":\"_uniq.113\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.81\"},\"borrow\":false},{\"id\":\"_uniq.114\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.81\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]}}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.124\",\"parameters\":[{\"id\":\"_uniq.119\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.83\"},{\"kind\":\"fvar\",\"id\":\"_uniq.84\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.112\"},{\"kind\":\"fvar\",\"id\":\"_uniq.113\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.121\"},{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.120\"},{\"kind\":\"fvar\",\"id\":\"_uniq.122\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.123\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.130\",\"parameters\":[{\"id\":\"_uniq.127\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.83\"},{\"kind\":\"fvar\",\"id\":\"_uniq.84\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.129\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.128\"},{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.129\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.130\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.137\",\"parameters\":[{\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.112\"},{\"kind\":\"fvar\",\"id\":\"_uniq.113\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.insertEntry\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.82\"},{\"kind\":\"fvar\",\"id\":\"_uniq.83\"},{\"kind\":\"fvar\",\"id\":\"_uniq.84\"},{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.134\"},{\"kind\":\"fvar\",\"id\":\"_uniq.135\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.136\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.137\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.144\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanCollections.Key\",\"index\":0,\"value\":\"_uniq.82\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.144\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.83\"},{\"kind\":\"fvar\",\"id\":\"_uniq.112\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Ordering\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"discriminant\":\"_uniq.145\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Ordering.lt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.146\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.147\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.125\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.146\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.147\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.eq\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.148\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.149\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.131\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.148\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.149\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.gt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.150\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.151\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.138\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.150\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.151\"}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.154\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.81\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.153\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"discriminant\":\"_uniq.85\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.163\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.164\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.96\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.163\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.164\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.165\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]},\"borrow\":false},{\"id\":\"_uniq.166\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"borrow\":false}],\"code\":{\"kind\":\"cases\",\"type_name\":\"Prod\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"discriminant\":\"_uniq.165\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Prod.mk\",\"parameters\":[{\"id\":\"_uniq.176\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},\"borrow\":false},{\"id\":\"_uniq.177\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.81\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.178\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.154\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.176\"},{\"kind\":\"fvar\",\"id\":\"_uniq.177\"},{\"kind\":\"fvar\",\"id\":\"_uniq.166\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.178\"}}}]}}]}}}}}},\"uses\":[\"List\",\"Ordering\",\"PUnit\",\"Prod\",\"LexLeanCollections.Key\",\"LexLeanCollections.insertEntry\",\"List.cons\",\"List.nil\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"Prod.mk\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.instKeyBool\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"instOrdBool\",\"Ord.compare\",\"LexLeanCollections.Key.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Ord\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instOrdBool\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Ord\",\"index\":0,\"value\":\"_uniq.1\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.3\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.2\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.3\"}}}}},\"uses\":[\"Bool\",\"Ord\",\"Ordering\",\"instOrdBool\",\"LexLeanCollections.Key\",\"LexLeanCollections.Key.mk\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.instKeyInt\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"instOrdInt\",\"Ord.compare\",\"LexLeanCollections.Key.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Ord\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instOrdInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Ord\",\"index\":0,\"value\":\"_uniq.1\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.3\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.2\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.3\"}}}}},\"uses\":[\"Int\",\"Ord\",\"Ordering\",\"instOrdInt\",\"LexLeanCollections.Key\",\"LexLeanCollections.Key.mk\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.instKeyInt8\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Int8\",\"instOrdInt\",\"Int8.toInt\",\"Ord.compare\",\"LexLeanCollections.Key.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.12\",\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Ord\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instOrdInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Ord\",\"index\":0,\"value\":\"_uniq.7\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int8.toInt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int8.toInt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.8\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.11\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}}},\"uses\":[\"Int\",\"Int8\",\"Ord\",\"Ordering\",\"instOrdInt\",\"Int8.toInt\",\"LexLeanCollections.Key\",\"LexLeanCollections.Key.mk\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.instKeyNat\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOrdNat\",\"Ord.compare\",\"LexLeanCollections.Key.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Ord\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instOrdNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Ord\",\"index\":0,\"value\":\"_uniq.1\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.11\"}}}}},\"uses\":[\"Nat\",\"Ord\",\"Ordering\",\"instOrdNat\",\"LexLeanCollections.Key\",\"LexLeanCollections.Key.mk\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.instKeyProd\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Ordering\",\"Prod\",\"Unit\",\"LexLeanCollections.Key\",\"Prod.fst\",\"Prod.snd\",\"LexLeanCollections.Key.compare\",\"LexLeanCollections.Key.mk\",\"LexLeanCollections.compareCodes.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3},{\"kind\":\"bvar\",\"index\":2}]}]}}}}},\"parameters\":[{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"borrow\":false},{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.82\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"borrow\":false},{\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.56\",\"parameters\":[{\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanCollections.Key\",\"index\":0,\"value\":\"_uniq.37\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.44\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.45\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.52\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.55\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.62\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.61\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.62\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanCollections.Key\",\"index\":0,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.44\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.45\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.69\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"},{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Ordering\",\"result_type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"discriminant\":\"_uniq.72\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Ordering.eq\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.57\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}}},{\"kind\":\"default\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.79\",\"parameters\":[{\"id\":\"_uniq.77\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.63\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.78\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.79\",\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"any\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.80\"}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.82\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.83\"}}}},\"uses\":[\"Ordering\",\"PUnit\",\"Prod\",\"LexLeanCollections.Key\",\"Ordering.eq\",\"Unit.unit\",\"LexLeanCollections.Key.mk\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.instKeyString\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"String\",\"LexLeanCollections.compareCodes\",\"String.toList\",\"LexLeanCollections.Key.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.10\",\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"String.toList\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Char\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"String.toList\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.compareCodes\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.9\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.15\"}}}},\"uses\":[\"Char\",\"List\",\"Ordering\",\"String\",\"LexLeanCollections.Key\",\"LexLeanCollections.compareCodes\",\"String.toList\",\"LexLeanCollections.Key.mk\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.instKeyUInt64\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"UInt64\",\"instOrdNat\",\"Ord.compare\",\"UInt64.toNat\",\"LexLeanCollections.Key.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.12\",\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Ord\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instOrdNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Ord\",\"index\":0,\"value\":\"_uniq.7\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.8\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.11\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}}},\"uses\":[\"Nat\",\"Ord\",\"Ordering\",\"UInt64\",\"instOrdNat\",\"LexLeanCollections.Key\",\"UInt64.toNat\",\"LexLeanCollections.Key.mk\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.iterate\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Nat.brecOn\",\"LexLeanCollections.iterate._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"bvar\",\"index\":1}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.67\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}},\"borrow\":false},{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.72\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.78\",\"parameters\":[{\"id\":\"_uniq.77\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.77\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.78\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.92\",\"parameters\":[{\"id\":\"_uniq.88\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.89\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.70\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.89\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.iterate\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"},{\"kind\":\"fvar\",\"id\":\"_uniq.88\"},{\"kind\":\"fvar\",\"id\":\"_uniq.90\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.91\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.92\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Nat\",\"result_type\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},\"discriminant\":\"_uniq.71\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Nat.zero\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.79\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.99\"}}},{\"kind\":\"constructor\",\"constructor\":\"Nat.succ\",\"parameters\":[{\"id\":\"_uniq.100\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.93\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.100\"},{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.101\"}}}]}}}}}},\"uses\":[\"Nat\",\"LexLeanCollections.iterate\",\"Nat.succ\",\"Nat.zero\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.iterateUntil\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Nat\",\"Option\",\"Prod\",\"Nat.brecOn\",\"LexLeanCollections.iterateUntil._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}}}},\"parameters\":[{\"id\":\"_uniq.65\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.68\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]}},\"borrow\":false},{\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.79\",\"parameters\":[{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.78\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.79\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.121\",\"parameters\":[{\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.101\",\"parameters\":[{\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},{\"kind\":\"fvar\",\"id\":\"_uniq.99\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.100\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.101\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.106\",\"parameters\":[{\"id\":\"_uniq.104\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.iterateUntil\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.68\"},{\"kind\":\"fvar\",\"id\":\"_uniq.91\"},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.105\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.106\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.68\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"discriminant\":\"_uniq.115\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.102\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.116\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.117\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.118\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.107\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.118\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.119\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.121\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Nat\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"discriminant\":\"_uniq.69\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Nat.zero\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.80\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.128\"}}},{\"kind\":\"constructor\",\"constructor\":\"Nat.succ\",\"parameters\":[{\"id\":\"_uniq.129\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.122\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.129\"},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.130\"}}}]}}}}}},\"uses\":[\"Bool\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"Bool.false\",\"Bool.true\",\"LexLeanCollections.iterateUntil\",\"Nat.succ\",\"Nat.zero\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.listFold\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.foldl\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}}},\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}}},\"borrow\":false},{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"borrow\":false},{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"value\":{\"kind\":\"const\",\"name\":\"List.foldl\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.64\"}}},\"uses\":[\"List\",\"List.foldl\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.lookupEntry\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Option\",\"Prod\",\"LexLeanCollections.Key\",\"List.brecOn\",\"LexLeanCollections.lookupEntry._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3},{\"kind\":\"bvar\",\"index\":2}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}}},\"parameters\":[{\"id\":\"_uniq.73\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.74\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"borrow\":false},{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},\"borrow\":false},{\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.85\",\"parameters\":[{\"id\":\"_uniq.83\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.84\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.85\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.134\",\"parameters\":[{\"id\":\"_uniq.102\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},\"borrow\":false},{\"id\":\"_uniq.103\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.74\"},\"borrow\":false},{\"id\":\"_uniq.104\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.74\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.85\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.113\",\"parameters\":[{\"id\":\"_uniq.111\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.112\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.113\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.118\",\"parameters\":[{\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.lookupEntry\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.117\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.118\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanCollections.Key\",\"index\":0,\"value\":\"_uniq.75\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.125\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},{\"kind\":\"fvar\",\"id\":\"_uniq.102\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Ordering\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"discriminant\":\"_uniq.126\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Ordering.lt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.127\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.109\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.127\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.128\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.eq\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.129\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.114\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.129\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.130\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.gt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.132\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.119\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.131\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.132\"}}}}]}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.74\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.134\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"discriminant\":\"_uniq.77\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.144\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.86\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.144\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.145\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.146\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"borrow\":false},{\"id\":\"_uniq.147\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}]},\"borrow\":false}],\"code\":{\"kind\":\"cases\",\"type_name\":\"Prod\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"discriminant\":\"_uniq.146\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Prod.mk\",\"parameters\":[{\"id\":\"_uniq.157\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},\"borrow\":false},{\"id\":\"_uniq.158\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.74\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.159\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.135\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.157\"},{\"kind\":\"fvar\",\"id\":\"_uniq.158\"},{\"kind\":\"fvar\",\"id\":\"_uniq.147\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.159\"}}}]}}]}}}}}},\"uses\":[\"List\",\"Option\",\"Ordering\",\"PUnit\",\"Prod\",\"LexLeanCollections.Key\",\"LexLeanCollections.lookupEntry\",\"List.cons\",\"List.nil\",\"Option.none\",\"Option.some\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"Prod.mk\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.mapContains\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\",\"LexLeanCollections.Key\",\"LexLeanCollections.lookupEntry\",\"Option.isSome\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2},{\"kind\":\"bvar\",\"index\":1}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":3},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}}}}},\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"borrow\":false},{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]}]},\"borrow\":false},{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.lookupEntry\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Option.isSome\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.30\"}}}},\"uses\":[\"Bool\",\"List\",\"Option\",\"Prod\",\"LexLeanCollections.Key\",\"LexLeanCollections.lookupEntry\",\"Option.isSome\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.mapEntries\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"bvar\",\"index\":0}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2},{\"kind\":\"bvar\",\"index\":1}]}]}}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"return\",\"id\":\"_uniq.18\"}},\"uses\":[\"List\",\"Prod\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.mapFold\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\",\"List.foldl\",\"Prod.fst\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":3},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":3},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":4},{\"kind\":\"bvar\",\"index\":3}]}]},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}}}},\"parameters\":[{\"id\":\"_uniq.69\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.78\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.71\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.69\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.70\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}}}},\"borrow\":false},{\"id\":\"_uniq.79\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.71\"},\"borrow\":false},{\"id\":\"_uniq.80\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.69\"},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.93\",\"parameters\":[{\"id\":\"_uniq.85\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.71\"},\"borrow\":false},{\"id\":\"_uniq.86\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.69\"},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.71\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.69\"},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.69\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.86\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.70\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.86\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.71\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.78\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.85\"},{\"kind\":\"fvar\",\"id\":\"_uniq.90\"},{\"kind\":\"fvar\",\"id\":\"_uniq.91\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.92\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.71\"},\"value\":{\"kind\":\"const\",\"name\":\"List.foldl\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.69\"},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.93\"},{\"kind\":\"fvar\",\"id\":\"_uniq.79\"},{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.94\"}}}},\"uses\":[\"List\",\"Prod\",\"List.foldl\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.mapInsert\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\",\"LexLeanCollections.Key\",\"LexLeanCollections.insertEntry\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2},{\"kind\":\"bvar\",\"index\":1}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":3},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":3},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":5},{\"kind\":\"bvar\",\"index\":4}]}]}}}}}}},\"parameters\":[{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"borrow\":false},{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]}]},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},\"borrow\":false},{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.insertEntry\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.34\"}}},\"uses\":[\"List\",\"Prod\",\"LexLeanCollections.Key\",\"LexLeanCollections.insertEntry\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.mapKeys\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\",\"List.map\",\"Prod.fst\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"bvar\",\"index\":0}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]}}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.23\",\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.21\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.mapTR\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.24\"}}}},\"uses\":[\"List\",\"Prod\",\"List.mapTR\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.mapLookup\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\",\"LexLeanCollections.Key\",\"LexLeanCollections.lookupEntry\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2},{\"kind\":\"bvar\",\"index\":1}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":3},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}}},\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"borrow\":false},{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]}]},\"borrow\":false},{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.lookupEntry\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.29\"}}},\"uses\":[\"List\",\"Option\",\"Prod\",\"LexLeanCollections.Key\",\"LexLeanCollections.lookupEntry\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.mapRemove\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\",\"LexLeanCollections.Key\",\"LexLeanCollections.removeEntry\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2},{\"kind\":\"bvar\",\"index\":1}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":3},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":4},{\"kind\":\"bvar\",\"index\":3}]}]}}}}}},\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"borrow\":false},{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]}]},\"borrow\":false},{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.removeEntry\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.29\"}}},\"uses\":[\"List\",\"Prod\",\"LexLeanCollections.Key\",\"LexLeanCollections.removeEntry\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.mapSize\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\",\"List.length\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"bvar\",\"index\":0}]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"List.lengthTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.19\"}}},\"uses\":[\"List\",\"Nat\",\"Prod\",\"List.lengthTR\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.mapValues\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\",\"List.map\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"bvar\",\"index\":0}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.23\",\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.21\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.mapTR\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.24\"}}}},\"uses\":[\"List\",\"Prod\",\"List.mapTR\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.reachableFrom\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Prod\",\"LexLeanCollections.Key\",\"Nat.brecOn\",\"LexLeanCollections.reachableFrom._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":4}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":5}]}}}}}}},\"parameters\":[{\"id\":\"_uniq.103\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.104\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"borrow\":false},{\"id\":\"_uniq.105\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}]}]},\"borrow\":false},{\"id\":\"_uniq.106\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.107\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"borrow\":false},{\"id\":\"_uniq.108\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.119\",\"parameters\":[{\"id\":\"_uniq.117\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"borrow\":false},{\"id\":\"_uniq.118\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.118\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.119\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.238\",\"parameters\":[{\"id\":\"_uniq.136\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.137\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"borrow\":false},{\"id\":\"_uniq.138\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.198\",\"parameters\":[{\"id\":\"_uniq.144\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"borrow\":false},{\"id\":\"_uniq.145\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.195\",\"parameters\":[{\"id\":\"_uniq.148\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"borrow\":false},{\"id\":\"_uniq.149\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.165\",\"parameters\":[{\"id\":\"_uniq.163\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.164\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.164\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.166\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.165\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.170\",\"parameters\":[{\"id\":\"_uniq.168\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.169\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.containsElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"},{\"kind\":\"fvar\",\"id\":\"_uniq.149\"},{\"kind\":\"fvar\",\"id\":\"_uniq.148\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.169\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.171\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.170\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.176\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.containsElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"},{\"kind\":\"fvar\",\"id\":\"_uniq.149\"},{\"kind\":\"fvar\",\"id\":\"_uniq.138\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.188\",\"parameters\":[{\"id\":\"_uniq.181\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.182\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.183\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.181\"},{\"kind\":\"fvar\",\"id\":\"_uniq.182\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"discriminant\":\"_uniq.183\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.184\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.185\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.insertElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"},{\"kind\":\"fvar\",\"id\":\"_uniq.149\"},{\"kind\":\"fvar\",\"id\":\"_uniq.148\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.185\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.186\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.148\"}}]}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.191\",\"parameters\":[{\"id\":\"_uniq.189\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.190\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.171\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.189\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.188\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.190\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.194\",\"parameters\":[{\"id\":\"_uniq.192\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.193\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.166\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.192\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.188\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.193\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"discriminant\":\"_uniq.176\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.177\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.191\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.177\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.179\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.194\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.179\"}]}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.196\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.graphSuccessors\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"},{\"kind\":\"fvar\",\"id\":\"_uniq.145\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.197\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.foldl\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.195\"},{\"kind\":\"fvar\",\"id\":\"_uniq.144\"},{\"kind\":\"fvar\",\"id\":\"_uniq.196\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.197\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.199\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.200\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.foldl\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.198\"},{\"kind\":\"fvar\",\"id\":\"_uniq.199\"},{\"kind\":\"fvar\",\"id\":\"_uniq.137\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.201\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.200\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.206\",\"parameters\":[{\"id\":\"_uniq.205\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.138\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.207\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.206\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.220\",\"parameters\":[{\"id\":\"_uniq.211\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.217\",\"parameters\":[{\"id\":\"_uniq.214\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"borrow\":false},{\"id\":\"_uniq.215\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.216\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.insertElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"},{\"kind\":\"fvar\",\"id\":\"_uniq.215\"},{\"kind\":\"fvar\",\"id\":\"_uniq.214\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.216\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.218\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.foldl\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.217\"},{\"kind\":\"fvar\",\"id\":\"_uniq.138\"},{\"kind\":\"fvar\",\"id\":\"_uniq.201\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.219\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.reachableFrom\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"},{\"kind\":\"fvar\",\"id\":\"_uniq.136\"},{\"kind\":\"fvar\",\"id\":\"_uniq.201\"},{\"kind\":\"fvar\",\"id\":\"_uniq.218\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.219\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.221\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.220\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"discriminant\":\"_uniq.201\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.229\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.230\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.207\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.229\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.230\"}}}},{\"kind\":\"default\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.235\",\"parameters\":[{\"id\":\"_uniq.233\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.234\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.221\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.201\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.234\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.236\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.235\",\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"any\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.236\"}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.239\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.238\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Nat\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"discriminant\":\"_uniq.106\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Nat.zero\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.245\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.120\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.107\"},{\"kind\":\"fvar\",\"id\":\"_uniq.108\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.245\"}}},{\"kind\":\"constructor\",\"constructor\":\"Nat.succ\",\"parameters\":[{\"id\":\"_uniq.246\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.247\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.239\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.246\"},{\"kind\":\"fvar\",\"id\":\"_uniq.107\"},{\"kind\":\"fvar\",\"id\":\"_uniq.108\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.247\"}}}]}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"List\",\"Nat\",\"PUnit\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"LexLeanCollections.Key\",\"LexLeanCollections.containsElement\",\"LexLeanCollections.graphSuccessors\",\"LexLeanCollections.insertElement\",\"LexLeanCollections.reachableFrom\",\"List.foldl\",\"List.nil\",\"Nat.succ\",\"Nat.zero\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.removeElement\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"LexLeanCollections.Key\",\"List.brecOn\",\"LexLeanCollections.removeElement._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.62\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"borrow\":false},{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"borrow\":false},{\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.73\",\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.72\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.73\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.120\",\"parameters\":[{\"id\":\"_uniq.86\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"borrow\":false},{\"id\":\"_uniq.87\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.94\",\"parameters\":[{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.86\"},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.93\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.94\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.98\",\"parameters\":[{\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.87\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.98\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.104\",\"parameters\":[{\"id\":\"_uniq.101\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.removeElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.86\"},{\"kind\":\"fvar\",\"id\":\"_uniq.102\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.103\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.104\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.111\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanCollections.Key\",\"index\":0,\"value\":\"_uniq.63\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.111\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.86\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Ordering\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"discriminant\":\"_uniq.112\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Ordering.lt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.95\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.113\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.114\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.eq\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.99\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.115\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.116\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.gt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.118\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.105\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.117\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.118\"}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.120\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"discriminant\":\"_uniq.65\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.130\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.131\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.132\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"borrow\":false},{\"id\":\"_uniq.133\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.121\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.132\"},{\"kind\":\"fvar\",\"id\":\"_uniq.133\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.134\"}}}]}}}}}},\"uses\":[\"List\",\"Ordering\",\"PUnit\",\"LexLeanCollections.Key\",\"LexLeanCollections.removeElement\",\"List.cons\",\"List.nil\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.removeEntry\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\",\"LexLeanCollections.Key\",\"List.brecOn\",\"LexLeanCollections.removeEntry._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3},{\"kind\":\"bvar\",\"index\":2}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":4},{\"kind\":\"bvar\",\"index\":3}]}]}}}}}},\"parameters\":[{\"id\":\"_uniq.75\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"borrow\":false},{\"id\":\"_uniq.78\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},\"borrow\":false},{\"id\":\"_uniq.79\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.87\",\"parameters\":[{\"id\":\"_uniq.85\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.86\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.87\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.141\",\"parameters\":[{\"id\":\"_uniq.104\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},\"borrow\":false},{\"id\":\"_uniq.105\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},\"borrow\":false},{\"id\":\"_uniq.106\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]}}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.114\",\"parameters\":[{\"id\":\"_uniq.111\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.112\"},{\"kind\":\"fvar\",\"id\":\"_uniq.106\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.113\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.114\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.118\",\"parameters\":[{\"id\":\"_uniq.117\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.106\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.118\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.125\",\"parameters\":[{\"id\":\"_uniq.121\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.removeEntry\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"},{\"kind\":\"fvar\",\"id\":\"_uniq.106\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.124\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.122\"},{\"kind\":\"fvar\",\"id\":\"_uniq.123\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.124\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.125\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.132\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanCollections.Key\",\"index\":0,\"value\":\"_uniq.77\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.132\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.78\"},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Ordering\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"discriminant\":\"_uniq.133\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Ordering.lt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.115\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.134\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.135\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.eq\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.119\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.136\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.137\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.gt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.139\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.126\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.138\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.139\"}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.141\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"discriminant\":\"_uniq.79\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.151\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.152\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.88\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.151\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.152\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.153\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"borrow\":false},{\"id\":\"_uniq.154\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"borrow\":false}],\"code\":{\"kind\":\"cases\",\"type_name\":\"Prod\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"discriminant\":\"_uniq.153\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Prod.mk\",\"parameters\":[{\"id\":\"_uniq.164\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},\"borrow\":false},{\"id\":\"_uniq.165\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.166\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.142\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.164\"},{\"kind\":\"fvar\",\"id\":\"_uniq.165\"},{\"kind\":\"fvar\",\"id\":\"_uniq.154\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.166\"}}}]}}]}}}}}},\"uses\":[\"List\",\"Ordering\",\"PUnit\",\"Prod\",\"LexLeanCollections.Key\",\"LexLeanCollections.removeEntry\",\"List.cons\",\"List.nil\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"Prod.mk\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.setContains\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"LexLeanCollections.Key\",\"LexLeanCollections.containsElement\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}}}},\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.containsElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.23\"}}},\"uses\":[\"Bool\",\"List\",\"LexLeanCollections.Key\",\"LexLeanCollections.containsElement\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.setDifference\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Bool.not\",\"LexLeanCollections.Key\",\"LexLeanCollections.containsElement\",\"List.filter\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"borrow\":false},{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.28\",\"parameters\":[{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.containsElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.not\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.27\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.filterTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.29\"}}}},\"uses\":[\"Bool\",\"List\",\"Bool.not\",\"LexLeanCollections.Key\",\"LexLeanCollections.containsElement\",\"List.filterTR\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.setElements\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"return\",\"id\":\"_uniq.12\"}},\"uses\":[\"List\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.setFold\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.foldl\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}}},\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}}},\"borrow\":false},{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"borrow\":false},{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"value\":{\"kind\":\"const\",\"name\":\"List.foldl\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.64\"}}},\"uses\":[\"List\",\"List.foldl\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.setInsert\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"LexLeanCollections.Key\",\"LexLeanCollections.insertElement\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.insertElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.23\"}}},\"uses\":[\"List\",\"LexLeanCollections.Key\",\"LexLeanCollections.insertElement\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.setIntersection\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"LexLeanCollections.Key\",\"LexLeanCollections.containsElement\",\"List.filter\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"borrow\":false},{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.27\",\"parameters\":[{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.containsElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.26\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.filterTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.28\"}}}},\"uses\":[\"Bool\",\"List\",\"LexLeanCollections.Key\",\"LexLeanCollections.containsElement\",\"List.filterTR\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.setRemove\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"LexLeanCollections.Key\",\"LexLeanCollections.removeElement\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.removeElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.23\"}}},\"uses\":[\"List\",\"LexLeanCollections.Key\",\"LexLeanCollections.removeElement\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.setSize\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.length\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"List.lengthTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}},\"uses\":[\"List\",\"Nat\",\"List.lengthTR\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.setUnion\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"LexLeanCollections.Key\",\"LexLeanCollections.insertElement\",\"List.foldl\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"borrow\":false},{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"borrow\":false},{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.30\",\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"borrow\":false},{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.insertElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.29\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.foldl\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}}},\"uses\":[\"List\",\"LexLeanCollections.Key\",\"LexLeanCollections.insertElement\",\"List.foldl\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.topological\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Option\",\"Prod\",\"LexLeanCollections.Key\",\"Nat.brecOn\",\"LexLeanCollections.topological._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":4}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":5}]}]}}}}}}},\"parameters\":[{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.93\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"borrow\":false},{\"id\":\"_uniq.94\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]}]},\"borrow\":false},{\"id\":\"_uniq.95\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.96\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"borrow\":false},{\"id\":\"_uniq.97\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.125\",\"parameters\":[{\"id\":\"_uniq.106\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"borrow\":false},{\"id\":\"_uniq.107\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"List.isEmpty\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.106\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.118\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.116\"},{\"kind\":\"fvar\",\"id\":\"_uniq.117\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]},\"discriminant\":\"_uniq.118\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.119\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.120\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.121\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.reverse\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.107\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.122\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.123\"}}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.125\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.207\",\"parameters\":[{\"id\":\"_uniq.141\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.142\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"borrow\":false},{\"id\":\"_uniq.143\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]}}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.167\",\"parameters\":[{\"id\":\"_uniq.149\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.158\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"List.isEmpty\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.142\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.159\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.160\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.158\"},{\"kind\":\"fvar\",\"id\":\"_uniq.159\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]},\"discriminant\":\"_uniq.160\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.161\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.162\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.162\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.163\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.164\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.reverse\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.143\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.165\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.164\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.165\"}}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.168\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.167\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.180\",\"parameters\":[{\"id\":\"_uniq.175\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},\"borrow\":false},{\"id\":\"_uniq.176\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.177\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.removeElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.93\"},{\"kind\":\"fvar\",\"id\":\"_uniq.175\"},{\"kind\":\"fvar\",\"id\":\"_uniq.142\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.178\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.175\"},{\"kind\":\"fvar\",\"id\":\"_uniq.143\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.179\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.topological\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.93\"},{\"kind\":\"fvar\",\"id\":\"_uniq.94\"},{\"kind\":\"fvar\",\"id\":\"_uniq.141\"},{\"kind\":\"fvar\",\"id\":\"_uniq.177\"},{\"kind\":\"fvar\",\"id\":\"_uniq.178\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.179\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.181\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.180\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.199\",\"parameters\":[{\"id\":\"_uniq.191\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.197\",\"parameters\":[{\"id\":\"_uniq.193\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.194\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.graphSuccessors\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.93\"},{\"kind\":\"fvar\",\"id\":\"_uniq.94\"},{\"kind\":\"fvar\",\"id\":\"_uniq.193\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.195\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.containsElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.93\"},{\"kind\":\"fvar\",\"id\":\"_uniq.191\"},{\"kind\":\"fvar\",\"id\":\"_uniq.194\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.196\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.not\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.195\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.196\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.198\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"List.all\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.142\"},{\"kind\":\"fvar\",\"id\":\"_uniq.197\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.198\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.200\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.filterTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.199\"},{\"kind\":\"fvar\",\"id\":\"_uniq.142\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]},\"discriminant\":\"_uniq.200\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.201\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.202\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.168\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.201\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.202\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.203\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},\"borrow\":false},{\"id\":\"_uniq.204\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.205\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.181\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.203\"},{\"kind\":\"fvar\",\"id\":\"_uniq.204\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.205\"}}}]}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.208\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.207\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Nat\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]},\"discriminant\":\"_uniq.95\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Nat.zero\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.214\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.126\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.96\"},{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.214\"}}},{\"kind\":\"constructor\",\"constructor\":\"Nat.succ\",\"parameters\":[{\"id\":\"_uniq.215\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.216\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.208\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.215\"},{\"kind\":\"fvar\",\"id\":\"_uniq.96\"},{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.216\"}}}]}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"List\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"instDecidableEqBool\",\"Bool.not\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"LexLeanCollections.Key\",\"LexLeanCollections.containsElement\",\"LexLeanCollections.graphSuccessors\",\"LexLeanCollections.removeElement\",\"LexLeanCollections.topological\",\"List.all\",\"List.cons\",\"List.filterTR\",\"List.isEmpty\",\"List.nil\",\"List.reverse\",\"Nat.succ\",\"Nat.zero\",\"Option.none\",\"Option.some\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.Appendable\",\"kind\":\"inductive\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"LexLeanRuntime.Appendable.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"LexLeanRuntime.Decimal\",\"kind\":\"inductive\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"LexLeanRuntime.Decimal.mk\",\"parameters\":1,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Decimal\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]}}}}}]}},{\"name\":\"LexLeanRuntime.Fixed\",\"kind\":\"inductive\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"LexLeanRuntime.Fixed.mk\",\"parameters\":1,\"fields\":10,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"bvar\",\"index\":2}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":4},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":5},\"codomain\":{\"kind\":\"bvar\",\"index\":6}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":5},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":6},\"codomain\":{\"kind\":\"bvar\",\"index\":7}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":6},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":7},\"codomain\":{\"kind\":\"bvar\",\"index\":8}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":7},\"codomain\":{\"kind\":\"bvar\",\"index\":8}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":8},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":10}]}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":9},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":11}]}}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":10}]}}}}}}}}}}}}}]}},{\"name\":\"LexLeanRuntime.Indexable\",\"kind\":\"inductive\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":2,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"LexLeanRuntime.Indexable.mk\",\"parameters\":2,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]}}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Indexable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2},{\"kind\":\"bvar\",\"index\":1}]}}}}}]}},{\"name\":\"LexLeanRuntime.Lengthable\",\"kind\":\"inductive\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"LexLeanRuntime.Lengthable.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"LexLeanRuntime.Quotient\",\"kind\":\"inductive\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"LexLeanRuntime.Quotient.mk\",\"parameters\":1,\"fields\":3,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}}}]}},{\"name\":\"LexLeanRuntime.Sliceable\",\"kind\":\"inductive\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"LexLeanRuntime.Sliceable.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Sliceable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"LexLeanRuntime.ToMathInt\",\"kind\":\"inductive\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"LexLeanRuntime.ToMathInt.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"LexLeanRuntime.append\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Appendable\",\"LexLeanRuntime.Appendable.append\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"borrow\":false},{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Appendable\",\"index\":0,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.40\"}}}},\"uses\":[\"LexLeanRuntime.Appendable\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.bitAnd\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.Fixed.bitAnd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"borrow\":false},{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Fixed\",\"index\":4,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.35\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.36\"}}}},\"uses\":[\"LexLeanRuntime.Fixed\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.bitNot\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.Fixed.bitNot\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}}},\"parameters\":[{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"borrow\":false},{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Fixed\",\"index\":7,\"value\":\"_uniq.23\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.26\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.27\"}}}},\"uses\":[\"LexLeanRuntime.Fixed\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.bitOr\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.Fixed.bitOr\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"borrow\":false},{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Fixed\",\"index\":5,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.35\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.36\"}}}},\"uses\":[\"LexLeanRuntime.Fixed\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.bitXor\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.Fixed.bitXor\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"borrow\":false},{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Fixed\",\"index\":6,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.35\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.36\"}}}},\"uses\":[\"LexLeanRuntime.Fixed\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.checkedAdd\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"instHAdd\",\"HAdd.hAdd\",\"Int.instAdd\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.checkedFromInt\",\"LexLeanRuntime.Fixed.toToMathInt\",\"LexLeanRuntime.ToMathInt.toInt\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instAdd\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Fixed\",\"index\":0,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.ToMathInt\",\"index\":0,\"value\":\"_uniq.26\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.30\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.30\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.25\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.checkedFromInt\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.34\"}}}}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Int\",\"Option\",\"instHAdd\",\"Int.instAdd\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.ToMathInt\",\"LexLeanRuntime.checkedFromInt\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.checkedAddInt64\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Int64\",\"Option\",\"instAddInt64\",\"instDecidableEqBool\",\"instHAdd\",\"instLTInt64\",\"ite\",\"Bool.and\",\"Bool.or\",\"Bool.true\",\"Decidable.decide\",\"HAdd.hAdd\",\"Int64.decLt\",\"Int64.instOfNat\",\"LT.lt\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddInt64\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.54\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.55\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.73\",\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.72\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.73\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.107\",\"parameters\":[{\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.85\",\"parameters\":[{\"id\":\"_uniq.83\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.84\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.85\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.91\",\"parameters\":[{\"id\":\"_uniq.88\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.89\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.90\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.91\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.98\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.99\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.100\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.101\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.86\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.102\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.103\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.92\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.104\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.105\"}}}}]}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.107\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.118\",\"parameters\":[{\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.117\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.118\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.124\",\"parameters\":[{\"id\":\"_uniq.121\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.122\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.123\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.130\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.132\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.131\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.132\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.133\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.159\",\"parameters\":[{\"id\":\"_uniq.139\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.152\",\"parameters\":[{\"id\":\"_uniq.144\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.146\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.144\"},{\"kind\":\"fvar\",\"id\":\"_uniq.145\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"discriminant\":\"_uniq.146\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.147\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.148\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.148\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.149\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.150\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.150\"}}}]}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.155\",\"parameters\":[{\"id\":\"_uniq.153\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.154\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.108\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.153\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.152\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.154\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.158\",\"parameters\":[{\"id\":\"_uniq.156\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.157\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.156\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.152\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.157\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"discriminant\":\"_uniq.139\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.140\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.155\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.140\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.158\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.142\"}]}}}]}}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.165\",\"parameters\":[{\"id\":\"_uniq.163\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.164\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.125\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.163\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.159\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.164\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.162\",\"parameters\":[{\"id\":\"_uniq.160\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.161\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.119\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.160\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.159\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.161\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"discriminant\":\"_uniq.134\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.162\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.135\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.165\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.137\"}]}}}]}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Add\",\"Bool\",\"Decidable\",\"HAdd\",\"Int64\",\"Nat\",\"OfNat\",\"Option\",\"PUnit\",\"instAddInt64\",\"instDecidableEqBool\",\"instHAdd\",\"Bool.false\",\"Bool.true\",\"Decidable.decide\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int64.decLt\",\"Int64.instOfNat\",\"Option.none\",\"Option.some\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.checkedConvert\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.ToMathInt\",\"LexLeanRuntime.checkedFromInt\",\"LexLeanRuntime.ToMathInt.toInt\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":3},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}}},\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"borrow\":false},{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"borrow\":false},{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.ToMathInt\",\"index\":0,\"value\":\"_uniq.26\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.29\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.checkedFromInt\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}}}},\"uses\":[\"Int\",\"Option\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.ToMathInt\",\"LexLeanRuntime.checkedFromInt\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.checkedFromInt\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Option\",\"ite\",\"Int.decLt\",\"Int.instLTInt\",\"LT.lt\",\"LexLeanRuntime.Fixed\",\"Option.none\",\"Option.some\",\"LexLeanRuntime.Fixed.fromInt\",\"LexLeanRuntime.Fixed.maximum\",\"LexLeanRuntime.Fixed.minimum\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]}}}},\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"borrow\":false},{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Fixed\",\"index\":2,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"discriminant\":\"_uniq.33\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Fixed\",\"index\":3,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.43\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"discriminant\":\"_uniq.44\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.45\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Fixed\",\"index\":1,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.47\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.49\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.50\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.51\"}}}]}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.54\"}}}]}}}},\"uses\":[\"Decidable\",\"Int\",\"Option\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int.decLt\",\"LexLeanRuntime.Fixed\",\"Option.none\",\"Option.some\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.checkedMultiply\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"instHMul\",\"HMul.hMul\",\"Int.instMul\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.checkedFromInt\",\"LexLeanRuntime.Fixed.toToMathInt\",\"LexLeanRuntime.ToMathInt.toInt\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instMul\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HMul\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHMul\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HMul\",\"index\":0,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Fixed\",\"index\":0,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.ToMathInt\",\"index\":0,\"value\":\"_uniq.26\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.27\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.27\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.25\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.checkedFromInt\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}}}}}}}}}},\"uses\":[\"HMul\",\"Int\",\"Mul\",\"Option\",\"instHMul\",\"Int.instMul\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.ToMathInt\",\"LexLeanRuntime.checkedFromInt\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.checkedMultiplyInt64\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Int64\",\"Nat\",\"Option\",\"UInt64\",\"Unit\",\"bne\",\"instBEqOfDecidableEq\",\"instDecidableEqBool\",\"instLTInt64\",\"instOfNatNat\",\"Decidable.decide\",\"Int64.decLt\",\"Int64.instOfNat\",\"LT.lt\",\"LexLeanRuntime.magnitudeInt64\",\"LexLeanRuntime.multiplyMagnitudeInt64\",\"LexLeanRuntime.signedMagnitudeInt64\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"UInt64.instOfNat\",\"LexLeanRuntime.checkedMultiplyInt64.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instBEqOfDecidableEq\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.43\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"bne\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.49\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.56\",\"parameters\":[{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.55\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.64\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.signedMagnitudeInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.63\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.64\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"64\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.74\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.magnitudeInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.magnitudeInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.78\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.multiplyMagnitudeInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"},{\"kind\":\"fvar\",\"id\":\"_uniq.79\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"discriminant\":\"_uniq.80\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.57\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.82\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.83\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.83\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.84\"}}}]}}}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"BEq\",\"Bool\",\"Decidable\",\"Int64\",\"Nat\",\"OfNat\",\"Option\",\"PUnit\",\"UInt64\",\"bne\",\"instBEqOfDecidableEq\",\"instDecidableEqBool\",\"instOfNatNat\",\"Decidable.decide\",\"Int64.decLt\",\"Int64.instOfNat\",\"LexLeanRuntime.magnitudeInt64\",\"LexLeanRuntime.multiplyMagnitudeInt64\",\"LexLeanRuntime.signedMagnitudeInt64\",\"Option.none\",\"Option.some\",\"UInt64.instOfNat\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.checkedNegate\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Int.instNegInt\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.checkedFromInt\",\"Neg.neg\",\"LexLeanRuntime.Fixed.toToMathInt\",\"LexLeanRuntime.ToMathInt.toInt\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]}}}},\"parameters\":[{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instNegInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.18\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Fixed\",\"index\":0,\"value\":\"_uniq.16\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.ToMathInt\",\"index\":0,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.21\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.19\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.checkedFromInt\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.24\"}}}}}}}}},\"uses\":[\"Int\",\"Neg\",\"Option\",\"Int.instNegInt\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.ToMathInt\",\"LexLeanRuntime.checkedFromInt\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.checkedNegateInt64\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Int64\",\"Option\",\"instBEqOfDecidableEq\",\"instDecidableEqBool\",\"instDecidableEqInt64\",\"ite\",\"BEq.beq\",\"Bool.true\",\"Int64.instNeg\",\"Int64.instOfNat\",\"Neg.neg\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqInt64\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instBEqOfDecidableEq\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"BEq\",\"index\":0,\"value\":\"_uniq.21\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.instNeg\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.23\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9223372036854775808\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.26\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.24\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.22\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"discriminant\":\"_uniq.31\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.24\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.34\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.36\"}}}]}}}}}}}}}}}}}},\"uses\":[\"BEq\",\"Bool\",\"Decidable\",\"Int64\",\"Nat\",\"Neg\",\"OfNat\",\"Option\",\"instBEqOfDecidableEq\",\"instDecidableEqBool\",\"instDecidableEqInt64\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int64.instNeg\",\"Int64.instOfNat\",\"Option.none\",\"Option.some\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.checkedQuotient\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Eq\",\"Int\",\"Option\",\"instOfNat\",\"ite\",\"Int.instDecidableEq\",\"Int.tdiv\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.checkedFromInt\",\"OfNat.ofNat\",\"Option.none\",\"LexLeanRuntime.Fixed.toToMathInt\",\"LexLeanRuntime.ToMathInt.toInt\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"borrow\":false},{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},\"borrow\":false},{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Fixed\",\"index\":0,\"value\":\"_uniq.23\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.ToMathInt\",\"index\":0,\"value\":\"_uniq.34\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.35\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.38\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instDecidableEq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"discriminant\":\"_uniq.40\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.41\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.35\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int.tdiv\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.checkedFromInt\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.44\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.45\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.46\"}}}]}}}}}}}}},\"uses\":[\"Decidable\",\"Int\",\"Nat\",\"OfNat\",\"Option\",\"instOfNat\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int.instDecidableEq\",\"Int.tdiv\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.ToMathInt\",\"LexLeanRuntime.checkedFromInt\",\"Option.none\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.checkedQuotientInt64\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Int64\",\"Nat\",\"Option\",\"UInt64\",\"bne\",\"instBEqOfDecidableEq\",\"instDecidableEqBool\",\"instDecidableEqInt64\",\"instLTInt64\",\"instOfNatNat\",\"ite\",\"BEq.beq\",\"Bool.and\",\"Bool.true\",\"Decidable.decide\",\"Int64.decLt\",\"Int64.instNeg\",\"Int64.instOfNat\",\"LT.lt\",\"LexLeanRuntime.divideMagnitudeInt64\",\"LexLeanRuntime.magnitudeInt64\",\"LexLeanRuntime.signedMagnitudeInt64\",\"Neg.neg\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"UInt64.instOfNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqInt64\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instBEqOfDecidableEq\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"BEq\",\"index\":0,\"value\":\"_uniq.44\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.47\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"discriminant\":\"_uniq.51\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.52\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.68\",\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.67\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.68\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.79\",\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.instNeg\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.72\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.75\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.73\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.78\"}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.79\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.85\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.instNeg\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.85\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9223372036854775808\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.87\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.88\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.86\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.89\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.90\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.123\",\"parameters\":[{\"id\":\"_uniq.96\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.96\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"discriminant\":\"_uniq.97\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.98\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instBEqOfDecidableEq\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.102\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.106\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"bne\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.103\"},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"},{\"kind\":\"fvar\",\"id\":\"_uniq.107\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.108\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"64\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.111\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.110\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.111\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.magnitudeInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.magnitudeInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.115\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.divideMagnitudeInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.112\"},{\"kind\":\"fvar\",\"id\":\"_uniq.113\"},{\"kind\":\"fvar\",\"id\":\"_uniq.114\"},{\"kind\":\"fvar\",\"id\":\"_uniq.116\"},{\"kind\":\"fvar\",\"id\":\"_uniq.116\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.118\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.signedMagnitudeInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.109\"},{\"kind\":\"fvar\",\"id\":\"_uniq.117\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.118\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.119\"}}}}}}}}}}}}}}}}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.120\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.121\"}}}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.126\",\"parameters\":[{\"id\":\"_uniq.124\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.69\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.124\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.123\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.125\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.129\",\"parameters\":[{\"id\":\"_uniq.127\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.80\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.127\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.123\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.128\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"discriminant\":\"_uniq.91\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.126\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.129\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.94\"}]}}}]}}}}}}}}}}}}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.130\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.131\"}}}]}}}}}}}}}}},\"uses\":[\"BEq\",\"Bool\",\"Decidable\",\"Int64\",\"Nat\",\"Neg\",\"OfNat\",\"Option\",\"PUnit\",\"UInt64\",\"bne\",\"instBEqOfDecidableEq\",\"instDecidableEqBool\",\"instDecidableEqInt64\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Decidable.decide\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int64.decLt\",\"Int64.instNeg\",\"Int64.instOfNat\",\"LexLeanRuntime.divideMagnitudeInt64\",\"LexLeanRuntime.magnitudeInt64\",\"LexLeanRuntime.signedMagnitudeInt64\",\"Option.none\",\"Option.some\",\"UInt64.instOfNat\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.checkedSubtract\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"instHSub\",\"HSub.hSub\",\"Int.instSub\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.checkedFromInt\",\"LexLeanRuntime.Fixed.toToMathInt\",\"LexLeanRuntime.ToMathInt.toInt\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instSub\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HSub\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHSub\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HSub\",\"index\":0,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Fixed\",\"index\":0,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.ToMathInt\",\"index\":0,\"value\":\"_uniq.26\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.27\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.27\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.25\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.checkedFromInt\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}}}}}}}}}},\"uses\":[\"HSub\",\"Int\",\"Option\",\"Sub\",\"instHSub\",\"Int.instSub\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.ToMathInt\",\"LexLeanRuntime.checkedFromInt\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.checkedSubtractInt64\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Int64\",\"Option\",\"instDecidableEqBool\",\"instHSub\",\"instLTInt64\",\"instSubInt64\",\"ite\",\"Bool.and\",\"Bool.or\",\"Bool.true\",\"Decidable.decide\",\"HSub.hSub\",\"Int64.decLt\",\"Int64.instOfNat\",\"LT.lt\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubInt64\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HSub\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHSub\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HSub\",\"index\":0,\"value\":\"_uniq.54\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.55\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.73\",\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.72\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.73\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.107\",\"parameters\":[{\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.85\",\"parameters\":[{\"id\":\"_uniq.83\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.84\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.85\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.91\",\"parameters\":[{\"id\":\"_uniq.88\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.89\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.90\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.91\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.98\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.99\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.100\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.101\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.86\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.102\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.103\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.92\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.104\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.105\"}}}}]}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.107\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.118\",\"parameters\":[{\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.117\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.118\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.124\",\"parameters\":[{\"id\":\"_uniq.121\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.122\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.123\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.130\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.132\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.131\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.132\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.133\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.159\",\"parameters\":[{\"id\":\"_uniq.139\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.152\",\"parameters\":[{\"id\":\"_uniq.144\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.146\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.144\"},{\"kind\":\"fvar\",\"id\":\"_uniq.145\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"discriminant\":\"_uniq.146\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.147\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.148\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.148\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.149\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.150\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.150\"}}}]}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.155\",\"parameters\":[{\"id\":\"_uniq.153\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.154\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.108\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.153\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.152\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.154\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.158\",\"parameters\":[{\"id\":\"_uniq.156\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.157\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.156\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.152\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.157\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"discriminant\":\"_uniq.139\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.140\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.155\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.140\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.158\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.142\"}]}}}]}}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.165\",\"parameters\":[{\"id\":\"_uniq.163\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.164\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.125\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.163\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.159\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.164\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.162\",\"parameters\":[{\"id\":\"_uniq.160\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.161\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.119\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.160\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.159\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.161\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"discriminant\":\"_uniq.134\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.162\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.135\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.165\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.137\"}]}}}]}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"HSub\",\"Int64\",\"Nat\",\"OfNat\",\"Option\",\"PUnit\",\"Sub\",\"instDecidableEqBool\",\"instHSub\",\"instSubInt64\",\"Bool.false\",\"Bool.true\",\"Decidable.decide\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int64.decLt\",\"Int64.instOfNat\",\"Option.none\",\"Option.some\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.compareBytes\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"ByteArray\",\"List\",\"UInt8\",\"ByteArray.toList\",\"List.instOrd\",\"Ord.compare\",\"UInt8.instOrd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Ord\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt8.instOrd\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Ord\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.instOrd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Ord\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"ByteArray.toList\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"ByteArray.toList\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.15\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.18\"}}}}}}}},\"uses\":[\"ByteArray\",\"List\",\"Ord\",\"Ordering\",\"UInt8\",\"ByteArray.toList\",\"List.instOrd\",\"UInt8.instOrd\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.divideMagnitudeInt64\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"UInt64\",\"Nat.brecOn\",\"LexLeanRuntime.divideMagnitudeInt64._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}}}}},\"parameters\":[{\"id\":\"_uniq.94\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.95\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.96\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.117\",\"parameters\":[{\"id\":\"_uniq.113\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.114\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.115\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}}}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.116\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.118\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.117\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.201\",\"parameters\":[{\"id\":\"_uniq.138\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.139\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.140\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.141\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.142\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}}}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.147\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddUInt64\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.148\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.147\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.149\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.148\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.150\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.149\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.139\"},{\"kind\":\"fvar\",\"id\":\"_uniq.139\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.151\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.150\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.152\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.149\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.141\"},{\"kind\":\"fvar\",\"id\":\"_uniq.141\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.161\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9223372036854775808\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.162\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.161\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.163\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.162\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.164\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.decLe\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.163\"},{\"kind\":\"fvar\",\"id\":\"_uniq.139\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.200\",\"parameters\":[{\"id\":\"_uniq.173\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.174\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.149\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.152\"},{\"kind\":\"fvar\",\"id\":\"_uniq.173\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.175\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.174\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.176\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.149\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.142\"},{\"kind\":\"fvar\",\"id\":\"_uniq.142\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.177\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.176\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.186\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.decLe\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.140\"},{\"kind\":\"fvar\",\"id\":\"_uniq.175\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"discriminant\":\"_uniq.186\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.187\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.188\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.divideMagnitudeInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.138\"},{\"kind\":\"fvar\",\"id\":\"_uniq.151\"},{\"kind\":\"fvar\",\"id\":\"_uniq.140\"},{\"kind\":\"fvar\",\"id\":\"_uniq.175\"},{\"kind\":\"fvar\",\"id\":\"_uniq.177\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.188\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.189\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.190\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubUInt64\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.191\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HSub\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHSub\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.190\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.192\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HSub\",\"index\":0,\"value\":\"_uniq.191\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.193\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.192\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.175\"},{\"kind\":\"fvar\",\"id\":\"_uniq.140\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.194\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.195\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.194\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.196\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.195\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.197\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.149\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.177\"},{\"kind\":\"fvar\",\"id\":\"_uniq.196\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.198\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.divideMagnitudeInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.138\"},{\"kind\":\"fvar\",\"id\":\"_uniq.151\"},{\"kind\":\"fvar\",\"id\":\"_uniq.140\"},{\"kind\":\"fvar\",\"id\":\"_uniq.193\"},{\"kind\":\"fvar\",\"id\":\"_uniq.197\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.198\"}}}}}}}}}}}]}}}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"discriminant\":\"_uniq.164\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.165\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.166\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.167\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.166\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.168\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.167\"},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.200\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.168\"}]}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.169\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.170\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.171\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.170\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.172\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.171\"},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.200\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.172\"}]}}}}}]}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.202\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.201\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Nat\",\"result_type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"discriminant\":\"_uniq.94\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Nat.zero\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.208\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.118\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.95\"},{\"kind\":\"fvar\",\"id\":\"_uniq.96\"},{\"kind\":\"fvar\",\"id\":\"_uniq.97\"},{\"kind\":\"fvar\",\"id\":\"_uniq.98\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.208\"}}},{\"kind\":\"constructor\",\"constructor\":\"Nat.succ\",\"parameters\":[{\"id\":\"_uniq.209\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.210\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.202\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.209\"},{\"kind\":\"fvar\",\"id\":\"_uniq.95\"},{\"kind\":\"fvar\",\"id\":\"_uniq.96\"},{\"kind\":\"fvar\",\"id\":\"_uniq.97\"},{\"kind\":\"fvar\",\"id\":\"_uniq.98\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.210\"}}}]}}}}}},\"uses\":[\"Add\",\"Decidable\",\"HAdd\",\"HSub\",\"Nat\",\"OfNat\",\"Sub\",\"UInt64\",\"instAddUInt64\",\"instHAdd\",\"instHSub\",\"instSubUInt64\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"LexLeanRuntime.divideMagnitudeInt64\",\"Nat.succ\",\"Nat.zero\",\"UInt64.decLe\",\"UInt64.instOfNat\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.equal\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"BEq\",\"BEq.beq\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}}}},\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"borrow\":false},{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},\"borrow\":false},{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"BEq\",\"index\":0,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.25\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.26\"}}}},\"uses\":[\"BEq\",\"Bool\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.formatDecimal\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Decimal\",\"LexLeanRuntime.Decimal.format\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Decimal\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}}}},\"parameters\":[{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Decimal\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},\"codomain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Decimal\",\"index\":1,\"value\":\"_uniq.16\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.18\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.19\"}}}},\"uses\":[\"String\",\"LexLeanRuntime.Decimal\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.index\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"LexLeanRuntime.Indexable\",\"LexLeanRuntime.Indexable.index\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Indexable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}}},\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Indexable\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"borrow\":false},{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},\"borrow\":false},{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Indexable\",\"index\":0,\"value\":\"_uniq.26\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.34\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.35\"}}}},\"uses\":[\"Nat\",\"Option\",\"LexLeanRuntime.Indexable\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.instAppendableByteArray\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"ByteArray\",\"ByteArray.append\",\"LexLeanRuntime.Appendable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"ByteArray.fastAppend\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.1\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.2\"}}}},\"uses\":[\"ByteArray\",\"ByteArray.fastAppend\",\"LexLeanRuntime.Appendable\",\"LexLeanRuntime.Appendable.mk\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.instAppendableList\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.append\",\"LexLeanRuntime.Appendable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]}]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"List.appendTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}}},\"uses\":[\"List\",\"LexLeanRuntime.Appendable\",\"List.appendTR\",\"LexLeanRuntime.Appendable.mk\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.instDecimalInt\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Eq\",\"Int\",\"Option\",\"String\",\"Unit\",\"instDecidableEqString\",\"instToStringInt\",\"ite\",\"Option.none\",\"Option.some\",\"String.toInt?\",\"ToString.toString\",\"LexLeanRuntime.Decimal.mk\",\"LexLeanRuntime.instDecimalInt.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Decimal\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.70\",\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.48\",\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"ToString\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instToStringInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"ToString\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqString\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"discriminant\":\"_uniq.42\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.43\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.44\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.45\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.46\"}}}]}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.48\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.55\",\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.54\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.55\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"String.toInt?\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"discriminant\":\"_uniq.64\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.66\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.49\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.68\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"ToString\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instToStringInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"ToString\",\"index\":0,\"value\":\"_uniq.71\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Decimal\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Decimal.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"},{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.78\"}}}}}},\"uses\":[\"Decidable\",\"Int\",\"Option\",\"PUnit\",\"String\",\"ToString\",\"instDecidableEqString\",\"instToStringInt\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"LexLeanRuntime.Decimal\",\"Option.none\",\"Option.some\",\"String.toInt?\",\"Unit.unit\",\"LexLeanRuntime.Decimal.mk\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.instDecimalOfFixedOfToString\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Eq\",\"Int\",\"Option\",\"String\",\"ToString\",\"Unit\",\"instDecidableEqString\",\"instToStringInt\",\"ite\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.checkedFromInt\",\"Option.none\",\"String.toInt?\",\"ToString.toString\",\"LexLeanRuntime.Decimal.mk\",\"LexLeanRuntime.instDecimalInt.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"ToString\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Decimal\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]}}}},\"parameters\":[{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"ToString\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.85\",\"parameters\":[{\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.63\",\"parameters\":[{\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"ToString\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instToStringInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"ToString\",\"index\":0,\"value\":\"_uniq.54\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.55\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqString\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"discriminant\":\"_uniq.57\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.58\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.59\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.checkedFromInt\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.61\"}}}]}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.63\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.70\",\"parameters\":[{\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.69\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.70\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"String.toInt?\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"discriminant\":\"_uniq.79\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.71\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.81\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.82\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.64\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.82\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.83\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},\"codomain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"ToString\",\"index\":0,\"value\":\"_uniq.34\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Decimal\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Decimal.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.85\"},{\"kind\":\"fvar\",\"id\":\"_uniq.86\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.87\"}}}}},\"uses\":[\"Decidable\",\"Int\",\"Option\",\"PUnit\",\"String\",\"ToString\",\"instDecidableEqString\",\"instToStringInt\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"LexLeanRuntime.Decimal\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.checkedFromInt\",\"Option.none\",\"Option.some\",\"String.toInt?\",\"Unit.unit\",\"LexLeanRuntime.Decimal.mk\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.instFixedInt16\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Int16\",\"Nat\",\"Option\",\"UInt32\",\"instLTNat\",\"instOfNat\",\"instOfNatNat\",\"ite\",\"Int.instNegInt\",\"Int16.complement\",\"Int16.land\",\"Int16.lor\",\"Int16.ofInt\",\"Int16.ofNat\",\"Int16.shiftLeft\",\"Int16.shiftRight\",\"Int16.toInt\",\"Int16.xor\",\"LT.lt\",\"Nat.decLt\",\"Neg.neg\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"UInt32.toNat\",\"LexLeanRuntime.Fixed.mk\",\"LexLeanRuntime.ToMathInt.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"Int16.toInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"codomain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"Int16.ofInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instNegInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"32768\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.17\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.15\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"32767\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.21\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int16.land\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int16.lor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int16.xor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"Int16.complement\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.51\",\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"16\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.41\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]},\"discriminant\":\"_uniq.43\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.45\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int16.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int16.shiftLeft\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.49\"}}}}}]}}}}}}},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.76\",\"parameters\":[{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"16\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.66\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]},\"discriminant\":\"_uniq.68\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.69\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.70\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int16.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int16.shiftRight\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.77\"}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Decidable\",\"Int\",\"Int16\",\"Nat\",\"Neg\",\"OfNat\",\"Option\",\"UInt32\",\"instOfNat\",\"instOfNatNat\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int.instNegInt\",\"Int16.complement\",\"Int16.land\",\"Int16.lor\",\"Int16.ofInt\",\"Int16.ofNat\",\"Int16.shiftLeft\",\"Int16.shiftRight\",\"Int16.toInt\",\"Int16.xor\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.ToMathInt\",\"Nat.decLt\",\"Option.none\",\"Option.some\",\"UInt32.toNat\",\"LexLeanRuntime.Fixed.mk\",\"LexLeanRuntime.ToMathInt.mk\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.instFixedInt32\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Int32\",\"Nat\",\"Option\",\"UInt32\",\"instLTNat\",\"instOfNat\",\"instOfNatNat\",\"ite\",\"Int.instNegInt\",\"Int32.complement\",\"Int32.land\",\"Int32.lor\",\"Int32.ofInt\",\"Int32.ofNat\",\"Int32.shiftLeft\",\"Int32.shiftRight\",\"Int32.toInt\",\"Int32.xor\",\"LT.lt\",\"Nat.decLt\",\"Neg.neg\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"UInt32.toNat\",\"LexLeanRuntime.Fixed.mk\",\"LexLeanRuntime.ToMathInt.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"Int32.toInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"codomain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"Int32.ofInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instNegInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2147483648\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.17\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.15\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2147483647\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.21\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int32.land\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int32.lor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int32.xor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"Int32.complement\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.51\",\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"32\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.41\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},\"discriminant\":\"_uniq.43\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.45\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int32.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int32.shiftLeft\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.49\"}}}}}]}}}}}}},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.76\",\"parameters\":[{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"32\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.66\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},\"discriminant\":\"_uniq.68\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.69\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.70\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int32.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int32.shiftRight\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.77\"}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Decidable\",\"Int\",\"Int32\",\"Nat\",\"Neg\",\"OfNat\",\"Option\",\"UInt32\",\"instOfNat\",\"instOfNatNat\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int.instNegInt\",\"Int32.complement\",\"Int32.land\",\"Int32.lor\",\"Int32.ofInt\",\"Int32.ofNat\",\"Int32.shiftLeft\",\"Int32.shiftRight\",\"Int32.toInt\",\"Int32.xor\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.ToMathInt\",\"Nat.decLt\",\"Option.none\",\"Option.some\",\"UInt32.toNat\",\"LexLeanRuntime.Fixed.mk\",\"LexLeanRuntime.ToMathInt.mk\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.instFixedInt64\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Int64\",\"Nat\",\"Option\",\"UInt32\",\"instLTNat\",\"instOfNat\",\"instOfNatNat\",\"ite\",\"Int.instNegInt\",\"Int64.complement\",\"Int64.land\",\"Int64.lor\",\"Int64.ofInt\",\"Int64.ofNat\",\"Int64.shiftLeft\",\"Int64.shiftRight\",\"Int64.toInt\",\"Int64.xor\",\"LT.lt\",\"Nat.decLt\",\"Neg.neg\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"UInt32.toNat\",\"LexLeanRuntime.Fixed.mk\",\"LexLeanRuntime.ToMathInt.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"Int64.toInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"codomain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"Int64.ofInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instNegInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9223372036854775808\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.17\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.15\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9223372036854775807\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.21\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int64.land\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int64.lor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int64.xor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"Int64.complement\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.51\",\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"64\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.41\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"discriminant\":\"_uniq.43\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.45\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.shiftLeft\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.49\"}}}}}]}}}}}}},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.76\",\"parameters\":[{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"64\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.66\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"discriminant\":\"_uniq.68\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.69\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.70\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.shiftRight\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.77\"}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Decidable\",\"Int\",\"Int64\",\"Nat\",\"Neg\",\"OfNat\",\"Option\",\"UInt32\",\"instOfNat\",\"instOfNatNat\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int.instNegInt\",\"Int64.complement\",\"Int64.land\",\"Int64.lor\",\"Int64.ofInt\",\"Int64.ofNat\",\"Int64.shiftLeft\",\"Int64.shiftRight\",\"Int64.toInt\",\"Int64.xor\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.ToMathInt\",\"Nat.decLt\",\"Option.none\",\"Option.some\",\"UInt32.toNat\",\"LexLeanRuntime.Fixed.mk\",\"LexLeanRuntime.ToMathInt.mk\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.instFixedInt8\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Int8\",\"Nat\",\"Option\",\"UInt32\",\"instLTNat\",\"instOfNat\",\"instOfNatNat\",\"ite\",\"Int.instNegInt\",\"Int8.complement\",\"Int8.land\",\"Int8.lor\",\"Int8.ofInt\",\"Int8.ofNat\",\"Int8.shiftLeft\",\"Int8.shiftRight\",\"Int8.toInt\",\"Int8.xor\",\"LT.lt\",\"Nat.decLt\",\"Neg.neg\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"UInt32.toNat\",\"LexLeanRuntime.Fixed.mk\",\"LexLeanRuntime.ToMathInt.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"Int8.toInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"codomain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"Int8.ofInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instNegInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"128\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.17\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.15\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"127\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.21\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int8.land\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int8.lor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int8.xor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"Int8.complement\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.51\",\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"8\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.41\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"discriminant\":\"_uniq.43\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.45\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int8.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int8.shiftLeft\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.49\"}}}}}]}}}}}}},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.76\",\"parameters\":[{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"8\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.66\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"discriminant\":\"_uniq.68\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.69\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.70\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int8.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int8.shiftRight\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.77\"}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Decidable\",\"Int\",\"Int8\",\"Nat\",\"Neg\",\"OfNat\",\"Option\",\"UInt32\",\"instOfNat\",\"instOfNatNat\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int.instNegInt\",\"Int8.complement\",\"Int8.land\",\"Int8.lor\",\"Int8.ofInt\",\"Int8.ofNat\",\"Int8.shiftLeft\",\"Int8.shiftRight\",\"Int8.toInt\",\"Int8.xor\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.ToMathInt\",\"Nat.decLt\",\"Option.none\",\"Option.some\",\"UInt32.toNat\",\"LexLeanRuntime.Fixed.mk\",\"LexLeanRuntime.ToMathInt.mk\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.instFixedUInt16\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Nat\",\"Option\",\"UInt16\",\"UInt32\",\"instLTNat\",\"instOfNat\",\"instOfNatNat\",\"ite\",\"Int.ofNat\",\"LT.lt\",\"Nat.decLt\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"UInt16.complement\",\"UInt16.land\",\"UInt16.lor\",\"UInt16.ofInt\",\"UInt16.ofNat\",\"UInt16.shiftLeft\",\"UInt16.shiftRight\",\"UInt16.toNat\",\"UInt16.xor\",\"UInt32.toNat\",\"LexLeanRuntime.Fixed.mk\",\"LexLeanRuntime.ToMathInt.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.16\",\"parameters\":[{\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt16.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.15\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"UInt16.ofInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"65535\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.23\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"UInt16.land\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"UInt16.lor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"UInt16.xor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"UInt16.complement\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.53\",\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"16\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.43\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"discriminant\":\"_uniq.45\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.47\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.48\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt16.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt16.shiftLeft\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.51\"}}}}}]}}}}}}},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.78\",\"parameters\":[{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"16\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.68\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.69\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"discriminant\":\"_uniq.70\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.72\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.73\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt16.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt16.shiftRight\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.76\"}}}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.79\"}}}}}}}}}}}}}}}}}},\"uses\":[\"Decidable\",\"Int\",\"Nat\",\"OfNat\",\"Option\",\"UInt16\",\"UInt32\",\"instOfNat\",\"instOfNatNat\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int.ofNat\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.ToMathInt\",\"Nat.decLt\",\"Option.none\",\"Option.some\",\"UInt16.complement\",\"UInt16.land\",\"UInt16.lor\",\"UInt16.ofInt\",\"UInt16.ofNat\",\"UInt16.shiftLeft\",\"UInt16.shiftRight\",\"UInt16.toNat\",\"UInt16.xor\",\"UInt32.toNat\",\"LexLeanRuntime.Fixed.mk\",\"LexLeanRuntime.ToMathInt.mk\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.instFixedUInt32\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Nat\",\"Option\",\"UInt32\",\"instLTNat\",\"instOfNat\",\"instOfNatNat\",\"ite\",\"Int.ofNat\",\"LT.lt\",\"Nat.decLt\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"UInt32.complement\",\"UInt32.land\",\"UInt32.lor\",\"UInt32.ofInt\",\"UInt32.shiftLeft\",\"UInt32.shiftRight\",\"UInt32.toNat\",\"UInt32.xor\",\"LexLeanRuntime.Fixed.mk\",\"LexLeanRuntime.ToMathInt.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.16\",\"parameters\":[{\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.15\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.ofInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4294967295\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.23\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.land\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.lor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.xor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.complement\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.52\",\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"32\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.43\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"discriminant\":\"_uniq.45\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.47\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.48\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.shiftLeft\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}}]}}}}}}},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.76\",\"parameters\":[{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"32\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.67\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"fvar\",\"id\":\"_uniq.68\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"discriminant\":\"_uniq.69\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.71\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.72\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.shiftRight\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.77\"}}}}}}}}}}}}}}}}}},\"uses\":[\"Decidable\",\"Int\",\"Nat\",\"OfNat\",\"Option\",\"UInt32\",\"instOfNat\",\"instOfNatNat\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int.ofNat\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.ToMathInt\",\"Nat.decLt\",\"Option.none\",\"Option.some\",\"UInt32.complement\",\"UInt32.land\",\"UInt32.lor\",\"UInt32.ofInt\",\"UInt32.shiftLeft\",\"UInt32.shiftRight\",\"UInt32.toNat\",\"UInt32.xor\",\"LexLeanRuntime.Fixed.mk\",\"LexLeanRuntime.ToMathInt.mk\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.instFixedUInt64\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Nat\",\"Option\",\"UInt32\",\"UInt64\",\"instLTNat\",\"instOfNat\",\"instOfNatNat\",\"ite\",\"Int.ofNat\",\"LT.lt\",\"Nat.decLt\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"UInt32.toNat\",\"UInt64.complement\",\"UInt64.land\",\"UInt64.lor\",\"UInt64.ofInt\",\"UInt64.ofNat\",\"UInt64.shiftLeft\",\"UInt64.shiftRight\",\"UInt64.toNat\",\"UInt64.xor\",\"LexLeanRuntime.Fixed.mk\",\"LexLeanRuntime.ToMathInt.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.16\",\"parameters\":[{\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.15\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.ofInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"18446744073709551615\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.23\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.land\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.lor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.xor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.complement\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.53\",\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"64\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.43\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"discriminant\":\"_uniq.45\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.47\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.48\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.shiftLeft\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.51\"}}}}}]}}}}}}},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.78\",\"parameters\":[{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"64\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.68\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.69\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"discriminant\":\"_uniq.70\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.72\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.73\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.shiftRight\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.76\"}}}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.79\"}}}}}}}}}}}}}}}}}},\"uses\":[\"Decidable\",\"Int\",\"Nat\",\"OfNat\",\"Option\",\"UInt32\",\"UInt64\",\"instOfNat\",\"instOfNatNat\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int.ofNat\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.ToMathInt\",\"Nat.decLt\",\"Option.none\",\"Option.some\",\"UInt32.toNat\",\"UInt64.complement\",\"UInt64.land\",\"UInt64.lor\",\"UInt64.ofInt\",\"UInt64.ofNat\",\"UInt64.shiftLeft\",\"UInt64.shiftRight\",\"UInt64.toNat\",\"UInt64.xor\",\"LexLeanRuntime.Fixed.mk\",\"LexLeanRuntime.ToMathInt.mk\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.instIndexableByteArrayUInt8\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Array\",\"ByteArray\",\"Nat\",\"UInt8\",\"instLTNat\",\"Array.instGetElem?NatLtSize\",\"Array.size\",\"ByteArray.data\",\"GetElem?.getElem?\",\"LT.lt\",\"LexLeanRuntime.Indexable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Indexable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.59\",\"parameters\":[{\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"GetElem?\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Array\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]},{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Array.instGetElem?NatLtSize\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Array\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"GetElem?\",\"index\":1,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Array\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"ByteArray.data\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.58\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Indexable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Indexable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.60\"}}}},\"uses\":[\"Array\",\"ByteArray\",\"GetElem?\",\"Nat\",\"Option\",\"UInt8\",\"Array.instGetElem?NatLtSize\",\"ByteArray.data\",\"LexLeanRuntime.Indexable\",\"LexLeanRuntime.Indexable.mk\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.instIndexableList\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"LexLeanRuntime.listIndex\",\"LexLeanRuntime.Indexable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Indexable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},{\"kind\":\"bvar\",\"index\":0}]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.listIndex\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Indexable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Indexable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}}},\"uses\":[\"List\",\"Nat\",\"Option\",\"LexLeanRuntime.Indexable\",\"LexLeanRuntime.listIndex\",\"LexLeanRuntime.Indexable.mk\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.instLengthableByteArray\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"ByteArray\",\"ByteArray.size\",\"LexLeanRuntime.Lengthable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"ByteArray.size\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.5\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.1\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.5\"}}}},\"uses\":[\"ByteArray\",\"Nat\",\"ByteArray.size\",\"LexLeanRuntime.Lengthable\",\"LexLeanRuntime.Lengthable.mk\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.instLengthableList\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.length\",\"LexLeanRuntime.Lengthable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]}]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"List.lengthTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}}},\"uses\":[\"List\",\"Nat\",\"LexLeanRuntime.Lengthable\",\"List.lengthTR\",\"LexLeanRuntime.Lengthable.mk\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.instLengthableString\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"String\",\"String.length\",\"LexLeanRuntime.Lengthable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"String.length\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.1\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.2\"}}}},\"uses\":[\"Nat\",\"String\",\"LexLeanRuntime.Lengthable\",\"String.length\",\"LexLeanRuntime.Lengthable.mk\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.instQuotientInt\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"instBEqOfDecidableEq\",\"instOfNat\",\"BEq.beq\",\"Int.instDecidableEq\",\"Int.tdiv\",\"Int.tmod\",\"OfNat.ofNat\",\"LexLeanRuntime.Quotient.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int.tdiv\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.3\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int.tmod\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.15\",\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"Int.instDecidableEq\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instBEqOfDecidableEq\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"BEq\",\"index\":0,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.12\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.10\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.14\"}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Quotient.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.2\"},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.16\"}}}}}},\"uses\":[\"BEq\",\"Bool\",\"Decidable\",\"Int\",\"Nat\",\"OfNat\",\"instBEqOfDecidableEq\",\"instOfNat\",\"Int.instDecidableEq\",\"Int.tdiv\",\"Int.tmod\",\"LexLeanRuntime.Quotient\",\"LexLeanRuntime.Quotient.mk\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.instQuotientNat\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instBEqOfDecidableEq\",\"instDecidableEqNat\",\"instOfNatNat\",\"BEq.beq\",\"Nat.div\",\"Nat.mod\",\"OfNat.ofNat\",\"LexLeanRuntime.Quotient.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Nat.div\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.3\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"borrowed\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"Nat.mod\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.15\",\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instBEqOfDecidableEq\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"BEq\",\"index\":0,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.12\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.10\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.14\"}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Quotient.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.2\"},{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.25\"}}}}}},\"uses\":[\"BEq\",\"Bool\",\"Decidable\",\"Nat\",\"OfNat\",\"instBEqOfDecidableEq\",\"instDecidableEqNat\",\"instOfNatNat\",\"LexLeanRuntime.Quotient\",\"Nat.div\",\"Nat.mod\",\"LexLeanRuntime.Quotient.mk\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.instSliceableByteArray\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"ByteArray\",\"Nat\",\"Option\",\"instAddNat\",\"instHAdd\",\"instLENat\",\"ite\",\"ByteArray.extract\",\"ByteArray.size\",\"HAdd.hAdd\",\"LE.le\",\"Nat.decLe\",\"Option.none\",\"Option.some\",\"LexLeanRuntime.Sliceable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Sliceable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.33\",\"parameters\":[{\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]}}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.23\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"ByteArray.size\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLe\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},\"discriminant\":\"_uniq.26\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.28\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"ByteArray.extract\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}}}]}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Sliceable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Sliceable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.39\"}}}},\"uses\":[\"Add\",\"ByteArray\",\"Decidable\",\"HAdd\",\"Nat\",\"Option\",\"instAddNat\",\"instHAdd\",\"ByteArray.extract\",\"ByteArray.size\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"LexLeanRuntime.Sliceable\",\"Nat.decLe\",\"Option.none\",\"Option.some\",\"LexLeanRuntime.Sliceable.mk\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.instSliceableList\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Option\",\"instAddNat\",\"instHAdd\",\"instLENat\",\"ite\",\"HAdd.hAdd\",\"LE.le\",\"List.drop\",\"List.length\",\"List.take\",\"Nat.decLe\",\"Option.none\",\"Option.some\",\"LexLeanRuntime.Sliceable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Sliceable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]}]}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.39\",\"parameters\":[{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"borrow\":false},{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]}]}}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.27\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.28\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"List.lengthTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLe\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]}]},\"discriminant\":\"_uniq.31\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.33\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.drop\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.takeTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.37\"}}}}}]}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Sliceable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Sliceable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.40\"}}}},\"uses\":[\"Add\",\"Decidable\",\"HAdd\",\"List\",\"Nat\",\"Option\",\"instAddNat\",\"instHAdd\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"LexLeanRuntime.Sliceable\",\"List.drop\",\"List.lengthTR\",\"List.takeTR\",\"Nat.decLe\",\"Option.none\",\"Option.some\",\"LexLeanRuntime.Sliceable.mk\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.instToMathIntInt\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"LexLeanRuntime.ToMathInt.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.4\",\"parameters\":[{\"id\":\"_uniq.3\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.5\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.4\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.5\"}}}},\"uses\":[\"Int\",\"LexLeanRuntime.ToMathInt\",\"LexLeanRuntime.ToMathInt.mk\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.join\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"String\",\"String.intercalate\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"String.intercalate\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}},\"uses\":[\"List\",\"String\",\"String.intercalate\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.length\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Lengthable\",\"LexLeanRuntime.Lengthable.length\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}},\"parameters\":[{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Lengthable\",\"index\":0,\"value\":\"_uniq.16\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.18\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.19\"}}}},\"uses\":[\"Nat\",\"LexLeanRuntime.Lengthable\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.listIndex\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Option\",\"List.brecOn\",\"LexLeanRuntime.listIndex._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]}}}},\"parameters\":[{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"borrow\":false},{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.70\",\"parameters\":[{\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.69\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.70\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.81\",\"parameters\":[{\"id\":\"_uniq.78\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},\"borrow\":false},{\"id\":\"_uniq.79\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.80\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.81\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.96\",\"parameters\":[{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},\"borrow\":false},{\"id\":\"_uniq.93\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"borrow\":false},{\"id\":\"_uniq.94\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]}}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.listIndex\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.93\"},{\"kind\":\"fvar\",\"id\":\"_uniq.94\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.95\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.96\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"discriminant\":\"_uniq.60\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.71\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.106\"}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.107\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},\"borrow\":false},{\"id\":\"_uniq.108\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"borrow\":false}],\"code\":{\"kind\":\"cases\",\"type_name\":\"Nat\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"discriminant\":\"_uniq.61\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Nat.zero\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.82\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.107\"},{\"kind\":\"fvar\",\"id\":\"_uniq.108\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.114\"}}},{\"kind\":\"constructor\",\"constructor\":\"Nat.succ\",\"parameters\":[{\"id\":\"_uniq.115\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.97\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.107\"},{\"kind\":\"fvar\",\"id\":\"_uniq.108\"},{\"kind\":\"fvar\",\"id\":\"_uniq.115\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.116\"}}}]}}]}}}}}}}},\"uses\":[\"List\",\"Nat\",\"Option\",\"LexLeanRuntime.listIndex\",\"List.cons\",\"List.nil\",\"Nat.succ\",\"Nat.zero\",\"Option.none\",\"Option.some\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.magnitudeInt64\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int64\",\"UInt64\",\"instHSub\",\"instLTInt64\",\"instSubUInt64\",\"ite\",\"HSub.hSub\",\"Int64.decLt\",\"Int64.instOfNat\",\"Int64.toUInt64\",\"LT.lt\",\"OfNat.ofNat\",\"UInt64.instOfNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Int64\",\"index\":0,\"value\":\"_uniq.12\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.16\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.27\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"discriminant\":\"_uniq.29\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubUInt64\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HSub\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHSub\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HSub\",\"index\":0,\"value\":\"_uniq.33\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.35\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.34\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.37\"}}}}}}}}]}}}}}}}},\"uses\":[\"Decidable\",\"HSub\",\"Int64\",\"Nat\",\"OfNat\",\"Sub\",\"UInt64\",\"instHSub\",\"instSubUInt64\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int64.decLt\",\"Int64.instOfNat\",\"UInt64.instOfNat\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.multiply\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Mul\",\"instHMul\",\"HMul.hMul\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HMul\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instHMul\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HMul\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}}},\"uses\":[\"HMul\",\"Mul\",\"instHMul\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.multiplyMagnitudeInt64\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Nat\",\"Option\",\"UInt64\",\"Nat.brecOn\",\"LexLeanRuntime.multiplyMagnitudeInt64._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}}}}}},\"parameters\":[{\"id\":\"_uniq.114\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.115\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.117\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.118\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.138\",\"parameters\":[{\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.134\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.135\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.136\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}}}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.135\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.137\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.139\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.138\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.295\",\"parameters\":[{\"id\":\"_uniq.158\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.159\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.160\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.161\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.162\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}}}}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.174\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.175\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.162\"},{\"kind\":\"fvar\",\"id\":\"_uniq.174\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.294\",\"parameters\":[{\"id\":\"_uniq.184\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.185\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.184\",\"arguments\":[]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.293\",\"parameters\":[{\"id\":\"_uniq.202\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.203\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.202\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.212\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.203\"},{\"kind\":\"fvar\",\"id\":\"_uniq.161\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"discriminant\":\"_uniq.212\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.213\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.215\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddUInt64\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.216\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.215\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.217\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.216\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.218\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.217\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.161\"},{\"kind\":\"fvar\",\"id\":\"_uniq.161\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.219\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.218\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.228\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9223372036854775808\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.229\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.228\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.230\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.229\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.231\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.decLe\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.230\"},{\"kind\":\"fvar\",\"id\":\"_uniq.159\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"discriminant\":\"_uniq.231\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.232\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.233\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.217\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.159\"},{\"kind\":\"fvar\",\"id\":\"_uniq.159\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.234\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.multiplyMagnitudeInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.158\"},{\"kind\":\"fvar\",\"id\":\"_uniq.233\"},{\"kind\":\"fvar\",\"id\":\"_uniq.160\"},{\"kind\":\"fvar\",\"id\":\"_uniq.219\"},{\"kind\":\"fvar\",\"id\":\"_uniq.162\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.234\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.235\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.251\",\"parameters\":[{\"id\":\"_uniq.249\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.250\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.250\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.252\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.251\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.261\",\"parameters\":[{\"id\":\"_uniq.254\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.255\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubUInt64\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.256\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HSub\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHSub\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.255\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.257\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HSub\",\"index\":0,\"value\":\"_uniq.256\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.258\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.257\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.185\"},{\"kind\":\"fvar\",\"id\":\"_uniq.160\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.259\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.258\"},{\"kind\":\"fvar\",\"id\":\"_uniq.219\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.260\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.259\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.260\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.262\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.261\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.267\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.185\"},{\"kind\":\"fvar\",\"id\":\"_uniq.160\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.268\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.267\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.282\",\"parameters\":[{\"id\":\"_uniq.273\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.274\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.273\"},{\"kind\":\"fvar\",\"id\":\"_uniq.174\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"discriminant\":\"_uniq.274\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.275\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.276\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.217\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.159\"},{\"kind\":\"fvar\",\"id\":\"_uniq.159\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.277\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.217\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.219\"},{\"kind\":\"fvar\",\"id\":\"_uniq.160\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.278\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.multiplyMagnitudeInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.158\"},{\"kind\":\"fvar\",\"id\":\"_uniq.276\"},{\"kind\":\"fvar\",\"id\":\"_uniq.160\"},{\"kind\":\"fvar\",\"id\":\"_uniq.277\"},{\"kind\":\"fvar\",\"id\":\"_uniq.162\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.278\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.279\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.280\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.280\"}}}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.285\",\"parameters\":[{\"id\":\"_uniq.283\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.284\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.262\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.283\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.282\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.284\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.288\",\"parameters\":[{\"id\":\"_uniq.286\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.287\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.252\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.286\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.282\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.287\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"discriminant\":\"_uniq.268\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.269\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.285\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.269\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.271\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.288\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.271\"}]}}}]}}}}}}}}}}}]}}}}}}}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.290\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.291\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.291\"}}}]}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"discriminant\":\"_uniq.175\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.194\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.195\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4611686018427387903\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.196\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.195\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.197\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.196\"},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.293\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.197\"}]}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.198\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.199\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4611686018427387904\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.200\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.199\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.201\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.200\"},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.293\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.201\"}]}}}}}]}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"discriminant\":\"_uniq.175\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.176\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.177\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9223372036854775807\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.178\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.177\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.179\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.178\"},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.294\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.179\"}]}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.180\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.181\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9223372036854775808\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.182\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.181\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.183\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.182\"},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.294\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.183\"}]}}}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.296\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}}}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.295\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Nat\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"discriminant\":\"_uniq.114\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Nat.zero\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.302\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.139\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.115\"},{\"kind\":\"fvar\",\"id\":\"_uniq.116\"},{\"kind\":\"fvar\",\"id\":\"_uniq.117\"},{\"kind\":\"fvar\",\"id\":\"_uniq.118\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.302\"}}},{\"kind\":\"constructor\",\"constructor\":\"Nat.succ\",\"parameters\":[{\"id\":\"_uniq.303\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.304\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.296\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.303\"},{\"kind\":\"fvar\",\"id\":\"_uniq.115\"},{\"kind\":\"fvar\",\"id\":\"_uniq.116\"},{\"kind\":\"fvar\",\"id\":\"_uniq.117\"},{\"kind\":\"fvar\",\"id\":\"_uniq.118\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.304\"}}}]}}}}}},\"uses\":[\"Add\",\"Bool\",\"Decidable\",\"HAdd\",\"HSub\",\"Nat\",\"OfNat\",\"Option\",\"PUnit\",\"Sub\",\"UInt64\",\"instAddUInt64\",\"instDecidableEqBool\",\"instHAdd\",\"instHSub\",\"instSubUInt64\",\"Bool.false\",\"Bool.true\",\"Decidable.decide\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"LexLeanRuntime.multiplyMagnitudeInt64\",\"Nat.succ\",\"Nat.zero\",\"Option.none\",\"Option.some\",\"UInt64.decLe\",\"UInt64.decLt\",\"UInt64.instOfNat\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.negate\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Neg\",\"Neg.neg\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}}},\"parameters\":[{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"borrow\":false},{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.26\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.29\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.30\"}}}},\"uses\":[\"Neg\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.parseDecimal\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"String\",\"LexLeanRuntime.Decimal\",\"LexLeanRuntime.Decimal.parse\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Decimal\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]}}}},\"parameters\":[{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Decimal\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Decimal\",\"index\":0,\"value\":\"_uniq.16\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.18\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.19\"}}}},\"uses\":[\"Option\",\"String\",\"LexLeanRuntime.Decimal\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.quotient\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"LexLeanRuntime.Quotient\",\"LexLeanRuntime.Quotient.isZero\",\"LexLeanRuntime.Quotient.quotient\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":3},\"codomain\":{\"kind\":\"bvar\",\"index\":4}}}}}},\"parameters\":[{\"id\":\"_uniq.39\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"borrow\":false},{\"id\":\"_uniq.41\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"borrow\":false},{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"borrow\":false},{\"id\":\"_uniq.43\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Quotient\",\"index\":2,\"value\":\"_uniq.40\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.52\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"discriminant\":\"_uniq.55\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Quotient\",\"index\":0,\"value\":\"_uniq.40\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.59\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.60\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}]}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"LexLeanRuntime.Quotient\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.remainder\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"LexLeanRuntime.Quotient\",\"LexLeanRuntime.Quotient.isZero\",\"LexLeanRuntime.Quotient.remainder\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":3},\"codomain\":{\"kind\":\"bvar\",\"index\":4}}}}}},\"parameters\":[{\"id\":\"_uniq.39\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"borrow\":false},{\"id\":\"_uniq.41\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"borrow\":false},{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"borrow\":false},{\"id\":\"_uniq.43\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Quotient\",\"index\":2,\"value\":\"_uniq.40\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.52\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"discriminant\":\"_uniq.55\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Quotient\",\"index\":1,\"value\":\"_uniq.40\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.59\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.60\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}]}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"LexLeanRuntime.Quotient\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.shiftLeft\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"UInt32\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.Fixed.shiftLeft\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Fixed\",\"index\":8,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.23\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.24\"}}}},\"uses\":[\"Option\",\"UInt32\",\"LexLeanRuntime.Fixed\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.shiftRight\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"UInt32\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.Fixed.shiftRight\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Fixed\",\"index\":9,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.23\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.24\"}}}},\"uses\":[\"Option\",\"UInt32\",\"LexLeanRuntime.Fixed\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.signedMagnitudeInt64\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"UInt64\",\"instDecidableEqBool\",\"instHSub\",\"instSubUInt64\",\"ite\",\"Bool.true\",\"HSub.hSub\",\"OfNat.ofNat\",\"UInt64.instOfNat\",\"UInt64.toInt64\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.37\",\"parameters\":[{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.toInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.36\"}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"discriminant\":\"_uniq.25\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.26\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.37\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubUInt64\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HSub\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHSub\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HSub\",\"index\":0,\"value\":\"_uniq.29\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.32\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.30\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.37\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]}}}}}}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"HSub\",\"Int64\",\"Nat\",\"OfNat\",\"Sub\",\"UInt64\",\"instDecidableEqBool\",\"instHSub\",\"instSubUInt64\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"UInt64.instOfNat\",\"UInt64.toInt64\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.slice\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"LexLeanRuntime.Sliceable\",\"LexLeanRuntime.Sliceable.slice\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Sliceable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":4}]}}}}}},\"parameters\":[{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Sliceable\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"borrow\":false},{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},\"borrow\":false},{\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]}}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Sliceable\",\"index\":0,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.28\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.29\"}}}},\"uses\":[\"Nat\",\"Option\",\"LexLeanRuntime.Sliceable\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.splitExact\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"List\",\"Nat\",\"Option\",\"String\",\"UInt32\",\"instDecidableEqBool\",\"instLTNat\",\"ite\",\"Bool.or\",\"Bool.true\",\"Decidable.decide\",\"LT.lt\",\"List.length\",\"Nat.decLt\",\"Option.none\",\"Option.some\",\"String.isEmpty\",\"String.splitOn\",\"UInt32.toNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]}}}},\"parameters\":[{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"String.splitOn\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.56\",\"parameters\":[{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.55\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.64\",\"parameters\":[{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"List.lengthTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Decidable.decide\",\"levels\":[],\"arguments\":[{\"kind\":\"erased\"},{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.63\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.64\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"String.isEmpty\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.83\",\"parameters\":[{\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.77\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.78\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.79\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.80\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.81\"}}}]}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.89\",\"parameters\":[{\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.57\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.87\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.83\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.88\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.86\",\"parameters\":[{\"id\":\"_uniq.84\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.85\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.84\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.83\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.85\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.70\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.86\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.89\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]}}}]}}}}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"List\",\"Nat\",\"Option\",\"PUnit\",\"String\",\"UInt32\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.true\",\"Decidable.decide\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"List.lengthTR\",\"Nat.decLt\",\"Option.none\",\"Option.some\",\"String.isEmpty\",\"String.splitOn\",\"UInt32.toNat\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.subtract\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Sub\",\"instHSub\",\"HSub.hSub\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HSub\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instHSub\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HSub\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}}},\"uses\":[\"HSub\",\"Sub\",\"instHSub\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.utf8Decode\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"ByteArray\",\"String.fromUTF8?\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"String.fromUTF8?\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"ByteArray\",\"Option\",\"String\",\"String.fromUTF8?\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.utf8Encode\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"String\",\"String.toUTF8\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"String.toUTF8\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"ByteArray\",\"String\",\"String.toUTF8\"]},\"inductive\":null},{\"name\":\"Coverage.Boundary.Grove\",\"kind\":\"inductive\",\"module\":\"Coverage.Boundary\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":true,\"constructors\":[{\"name\":\"Coverage.Boundary.Grove.node\",\"parameters\":0,\"fields\":5,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}}}}}}},{\"name\":\"Coverage.Boundary.Grove.leaf\",\"parameters\":0,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}}},{\"name\":\"Coverage.Boundary.Grove.settled\",\"parameters\":0,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}}}]}},{\"name\":\"Coverage.Boundary.Ledger\",\"kind\":\"inductive\",\"module\":\"Coverage.Boundary\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Coverage.Boundary.Ledger.mk\",\"parameters\":0,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Ledger\",\"levels\":[]}}}}]}},{\"name\":\"Coverage.Boundary.groveRoot\",\"kind\":\"definition\",\"module\":\"Coverage.Boundary\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"List\",\"Nat\",\"Option\",\"Prod\",\"Prod.mk\",\"Coverage.Boundary.Grove\",\"Coverage.Boundary.Ledger\",\"Coverage.Boundary.groveTags\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Ledger\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Ledger\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]}}}}},\"parameters\":[{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Ledger\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Boundary.groveTags\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Ledger\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Ledger\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Ledger\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Ledger\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.25\"}}}}}},\"uses\":[\"Bool\",\"List\",\"Nat\",\"Option\",\"Prod\",\"Prod.mk\",\"Coverage.Boundary.Grove\",\"Coverage.Boundary.Ledger\",\"Coverage.Boundary.groveTags\"]},\"inductive\":null},{\"name\":\"Coverage.Boundary.groveTags\",\"kind\":\"definition\",\"module\":\"Coverage.Boundary\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Except\",\"Int\",\"List\",\"Nat\",\"Option\",\"Prod\",\"String\",\"instOfNatNat\",\"LexLeanCollections.mapSize\",\"LexLeanCollections.setSize\",\"OfNat.ofNat\",\"Coverage.Boundary.Grove\",\"Coverage.Boundary.groveTags.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.75\",\"parameters\":[{\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.73\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.setSize\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.69\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.75\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.82\",\"parameters\":[{\"id\":\"_uniq.80\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.mapSize\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.81\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.82\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.91\",\"parameters\":[{\"id\":\"_uniq.87\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.88\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.89\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.90\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.91\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Coverage.Boundary.Grove\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.53\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Coverage.Boundary.Grove.node\",\"parameters\":[{\"id\":\"_uniq.105\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.106\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.107\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.108\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.109\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.76\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.105\"},{\"kind\":\"fvar\",\"id\":\"_uniq.106\"},{\"kind\":\"fvar\",\"id\":\"_uniq.107\"},{\"kind\":\"fvar\",\"id\":\"_uniq.108\"},{\"kind\":\"fvar\",\"id\":\"_uniq.109\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.110\"}}},{\"kind\":\"constructor\",\"constructor\":\"Coverage.Boundary.Grove.leaf\",\"parameters\":[{\"id\":\"_uniq.111\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.83\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.111\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.112\"}}},{\"kind\":\"constructor\",\"constructor\":\"Coverage.Boundary.Grove.settled\",\"parameters\":[{\"id\":\"_uniq.113\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Coverage.Boundary.Grove\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.92\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.113\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.114\"}}}]}}}}}}}},\"uses\":[\"Except\",\"Int\",\"List\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"String\",\"instOfNatNat\",\"LexLeanCollections.mapSize\",\"LexLeanCollections.setSize\",\"Coverage.Boundary.Grove\",\"Coverage.Boundary.Grove.leaf\",\"Coverage.Boundary.Grove.node\",\"Coverage.Boundary.Grove.settled\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.folds\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"List\",\"Nat\",\"instAddNat\",\"instHAdd\",\"instOfNat\",\"instOfNatNat\",\"HAdd.hAdd\",\"Int.instSub\",\"LexLeanCollections.listFold\",\"LexLeanCollections.setFold\",\"LexLeanRuntime.subtract\",\"OfNat.ofNat\",\"Prod.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.25\",\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.23\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.24\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.27\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.36\",\"parameters\":[{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instSub\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.35\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"5\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.38\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.setFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.41\"}}}}}}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Int\",\"List\",\"Nat\",\"OfNat\",\"Prod\",\"Sub\",\"instAddNat\",\"instHAdd\",\"instOfNat\",\"instOfNatNat\",\"Int.instSub\",\"LexLeanCollections.listFold\",\"LexLeanCollections.setFold\",\"LexLeanRuntime.subtract\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.graphs\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Option\",\"Prod\",\"LexLeanCollections.graphReachable\",\"LexLeanCollections.graphSuccessors\",\"LexLeanCollections.graphTopological\",\"LexLeanCollections.instKeyNat\",\"Prod.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.instKeyNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.graphSuccessors\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.graphReachable\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.graphTopological\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.18\"}}}}}}}},\"uses\":[\"List\",\"Nat\",\"Option\",\"Prod\",\"LexLeanCollections.Key\",\"LexLeanCollections.graphReachable\",\"LexLeanCollections.graphSuccessors\",\"LexLeanCollections.graphTopological\",\"LexLeanCollections.instKeyNat\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.iterations\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"Prod\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instOfNatNat\",\"ite\",\"Bool.true\",\"HAdd.hAdd\",\"LexLeanCollections.iterate\",\"LexLeanCollections.iterateUntil\",\"Nat.blt\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"Prod.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.27\",\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.21\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.22\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.26\"}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.iterate\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.57\",\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"10\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.40\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.44\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.45\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.46\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.47\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.49\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.52\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.50\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.55\"}}}}}}}}}}]}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.iterateUntil\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.59\"}}}}}}},\"uses\":[\"Add\",\"Bool\",\"Decidable\",\"HAdd\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instOfNatNat\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"LexLeanCollections.iterate\",\"LexLeanCollections.iterateUntil\",\"Nat.blt\",\"Option.none\",\"Option.some\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.keyTypes\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Int\",\"Int8\",\"List\",\"Nat\",\"Option\",\"Prod\",\"String\",\"UInt64\",\"LexLeanCollections.instKeyBool\",\"LexLeanCollections.instKeyInt\",\"LexLeanCollections.instKeyInt8\",\"LexLeanCollections.instKeyNat\",\"LexLeanCollections.instKeyProd\",\"LexLeanCollections.instKeyString\",\"LexLeanCollections.instKeyUInt64\",\"LexLeanCollections.mapLookup\",\"Prod.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}}}}}}}}}}},\"parameters\":[{\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.instKeyNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.instKeyString\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.instKeyProd\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"},{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.mapLookup\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.instKeyInt8\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.mapLookup\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.instKeyBool\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.mapLookup\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.instKeyInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.mapLookup\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.69\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.instKeyUInt64\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.mapLookup\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.71\"},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"},{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.68\"},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.76\"}}}}}}}}}}}}}}}}}},\"uses\":[\"Bool\",\"Int\",\"Int8\",\"List\",\"Nat\",\"Option\",\"Prod\",\"String\",\"UInt64\",\"LexLeanCollections.Key\",\"LexLeanCollections.instKeyBool\",\"LexLeanCollections.instKeyInt\",\"LexLeanCollections.instKeyInt8\",\"LexLeanCollections.instKeyNat\",\"LexLeanCollections.instKeyProd\",\"LexLeanCollections.instKeyString\",\"LexLeanCollections.instKeyUInt64\",\"LexLeanCollections.mapLookup\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.literals\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Prod\",\"String\",\"instOfNatNat\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\",\"Prod.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"string\",\"value\":\"a\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"string\",\"value\":\"b\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.17\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.27\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.40\"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"List\",\"Nat\",\"OfNat\",\"Prod\",\"String\",\"instOfNatNat\",\"List.cons\",\"List.nil\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.mapFolding\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"LexLeanCollections.mapFold\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.44\",\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.23\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.46\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.mapFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.48\"}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"List\",\"Nat\",\"OfNat\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"LexLeanCollections.mapFold\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.mapOps\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"List\",\"Nat\",\"Option\",\"Prod\",\"String\",\"LexLeanCollections.instKeyString\",\"LexLeanCollections.mapContains\",\"LexLeanCollections.mapEntries\",\"LexLeanCollections.mapInsert\",\"LexLeanCollections.mapKeys\",\"LexLeanCollections.mapLookup\",\"LexLeanCollections.mapRemove\",\"LexLeanCollections.mapSize\",\"LexLeanCollections.mapValues\",\"Prod.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}]}]}]}]}}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.instKeyString\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.mapInsert\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.mapRemove\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.mapLookup\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.mapContains\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.mapKeys\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.mapValues\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.mapSize\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.mapEntries\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.34\"}}}}}}}}}}}}}}}}}},\"uses\":[\"Bool\",\"List\",\"Nat\",\"Option\",\"Prod\",\"String\",\"LexLeanCollections.Key\",\"LexLeanCollections.instKeyString\",\"LexLeanCollections.mapContains\",\"LexLeanCollections.mapEntries\",\"LexLeanCollections.mapInsert\",\"LexLeanCollections.mapKeys\",\"LexLeanCollections.mapLookup\",\"LexLeanCollections.mapRemove\",\"LexLeanCollections.mapSize\",\"LexLeanCollections.mapValues\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.setOps\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"List\",\"Nat\",\"Prod\",\"LexLeanCollections.instKeyNat\",\"LexLeanCollections.setContains\",\"LexLeanCollections.setDifference\",\"LexLeanCollections.setElements\",\"LexLeanCollections.setInsert\",\"LexLeanCollections.setIntersection\",\"LexLeanCollections.setRemove\",\"LexLeanCollections.setSize\",\"LexLeanCollections.setUnion\",\"Prod.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}]}]}]}}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.instKeyNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.setInsert\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.setRemove\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.setContains\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.setUnion\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.setIntersection\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.setDifference\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.setSize\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.setElements\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.34\"}}}}}}}}}}}}}}}}}},\"uses\":[\"Bool\",\"List\",\"Nat\",\"Prod\",\"LexLeanCollections.Key\",\"LexLeanCollections.instKeyNat\",\"LexLeanCollections.setContains\",\"LexLeanCollections.setDifference\",\"LexLeanCollections.setElements\",\"LexLeanCollections.setInsert\",\"LexLeanCollections.setIntersection\",\"LexLeanCollections.setRemove\",\"LexLeanCollections.setSize\",\"LexLeanCollections.setUnion\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Colls.stringGraph\",\"kind\":\"definition\",\"module\":\"Coverage.Colls\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\",\"String\",\"LexLeanCollections.graphTopological\",\"LexLeanCollections.instKeyString\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.instKeyString\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.graphTopological\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.8\"}}}},\"uses\":[\"List\",\"Option\",\"Prod\",\"String\",\"LexLeanCollections.Key\",\"LexLeanCollections.graphTopological\",\"LexLeanCollections.instKeyString\"]},\"inductive\":null},{\"name\":\"Coverage.Main.builders\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Except\",\"Nat\",\"Option\",\"Unit\",\"instDecidableEqBool\",\"instOfNatNat\",\"ite\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Nat.blt\",\"Nat.succ\",\"Nat.zero\",\"OfNat.ofNat\",\"Option.some\",\"Prod.mk\",\"Unit.unit\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.succ\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.23\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.48\",\"parameters\":[{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.47\"}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.27\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.48\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.zero\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.48\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]}}}}]}}}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Except\",\"Nat\",\"OfNat\",\"Option\",\"PUnit\",\"Prod\",\"instDecidableEqBool\",\"instOfNatNat\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Except.error\",\"Except.ok\",\"Nat.blt\",\"Nat.succ\",\"Nat.zero\",\"Option.some\",\"Prod.mk\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"Coverage.Main.double\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instAddNat\",\"instHAdd\",\"HAdd.hAdd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.9\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.10\"}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Nat\",\"instAddNat\",\"instHAdd\"]},\"inductive\":null},{\"name\":\"Coverage.Main.higher\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instAddNat\",\"instHAdd\",\"instMulNat\",\"instOfNatNat\",\"instSubNat\",\"HAdd.hAdd\",\"LexLeanRuntime.multiply\",\"LexLeanRuntime.subtract\",\"OfNat.ofNat\",\"Coverage.Main.double\",\"Coverage.Types.twice\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.23\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.21\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.25\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.32\",\"parameters\":[{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instMulNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.multiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.21\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.twice\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.39\",\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.38\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Main.double\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.twice\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.21\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.21\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.44\"}}}}}}}}}}}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Mul\",\"Nat\",\"OfNat\",\"Sub\",\"instAddNat\",\"instHAdd\",\"instMulNat\",\"instOfNatNat\",\"instSubNat\",\"LexLeanRuntime.multiply\",\"LexLeanRuntime.subtract\",\"Coverage.Main.double\",\"Coverage.Types.twice\"]},\"inductive\":null},{\"name\":\"Coverage.Main.intOps\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"instOfNat\",\"Int.instMul\",\"Int.instNegInt\",\"Int.instSub\",\"LexLeanRuntime.instQuotientInt\",\"LexLeanRuntime.multiply\",\"LexLeanRuntime.negate\",\"LexLeanRuntime.quotient\",\"LexLeanRuntime.remainder\",\"LexLeanRuntime.subtract\",\"Neg.neg\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instSub\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instMul\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instNegInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.15\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.22\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.multiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instQuotientInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.quotient\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.34\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.remainder\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.negate\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.38\"}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Int\",\"Mul\",\"Nat\",\"Neg\",\"OfNat\",\"Sub\",\"instOfNat\",\"Int.instMul\",\"Int.instNegInt\",\"Int.instSub\",\"LexLeanRuntime.Quotient\",\"LexLeanRuntime.instQuotientInt\",\"LexLeanRuntime.multiply\",\"LexLeanRuntime.negate\",\"LexLeanRuntime.quotient\",\"LexLeanRuntime.remainder\",\"LexLeanRuntime.subtract\"]},\"inductive\":null},{\"name\":\"Coverage.Main.mapped\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"List\",\"Nat\",\"Coverage.Types.isEven\",\"Coverage.Types.mapList\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.isEven\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.mapList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.8\"}}}},\"uses\":[\"Bool\",\"List\",\"Nat\",\"Coverage.Types.isEven\",\"Coverage.Types.mapList\"]},\"inductive\":null},{\"name\":\"Coverage.Main.natOps\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instMulNat\",\"instOfNatNat\",\"instSubNat\",\"ite\",\"Bool.and\",\"Bool.not\",\"Bool.or\",\"Bool.true\",\"HAdd.hAdd\",\"LexLeanRuntime.instQuotientNat\",\"LexLeanRuntime.multiply\",\"LexLeanRuntime.quotient\",\"LexLeanRuntime.remainder\",\"LexLeanRuntime.subtract\",\"Nat.beq\",\"Nat.ble\",\"Nat.blt\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Quotient\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instQuotientNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"7\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.51\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.quotient\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.53\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.56\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.remainder\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.58\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.75\",\"parameters\":[{\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.75\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.108\",\"parameters\":[{\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.87\",\"parameters\":[{\"id\":\"_uniq.85\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.86\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.87\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.93\",\"parameters\":[{\"id\":\"_uniq.90\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.45\"},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.not\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.91\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.92\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.93\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.99\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.100\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.101\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.102\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.94\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.104\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.88\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.105\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.106\"}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.108\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.133\",\"parameters\":[{\"id\":\"_uniq.119\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.119\"},{\"kind\":\"fvar\",\"id\":\"_uniq.120\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.121\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.122\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instMulNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.124\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.multiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.123\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.124\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.125\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.127\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.126\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.127\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.129\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.129\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.128\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.130\"},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.131\"}}}}}}}}]}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.136\",\"parameters\":[{\"id\":\"_uniq.134\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.76\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.134\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.133\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.135\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.139\",\"parameters\":[{\"id\":\"_uniq.137\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.109\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.137\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.133\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.138\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.114\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.136\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.115\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.139\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.117\"}]}}}]}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Add\",\"Bool\",\"Decidable\",\"HAdd\",\"Mul\",\"Nat\",\"OfNat\",\"PUnit\",\"Sub\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instMulNat\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"Bool.not\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"LexLeanRuntime.Quotient\",\"LexLeanRuntime.instQuotientNat\",\"LexLeanRuntime.multiply\",\"LexLeanRuntime.quotient\",\"LexLeanRuntime.remainder\",\"LexLeanRuntime.subtract\",\"Nat.beq\",\"Nat.ble\",\"Nat.blt\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"Coverage.Main.options\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Except\",\"Nat\",\"Option\",\"Unit\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instOfNatNat\",\"ite\",\"Bool.true\",\"HAdd.hAdd\",\"OfNat.ofNat\",\"Coverage.Main.options.match_1\",\"Coverage.Main.options.match_3\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.48\"},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.59\",\"parameters\":[{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.57\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.58\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.59\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.65\",\"parameters\":[{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.64\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.131\",\"parameters\":[{\"id\":\"_uniq.78\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.106\",\"parameters\":[{\"id\":\"_uniq.86\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.96\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.86\"},{\"kind\":\"fvar\",\"id\":\"_uniq.95\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.96\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.97\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.98\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.99\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.100\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.101\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.102\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.103\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.104\"}}}}}]}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.106\",\"arguments\":[]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.124\",\"parameters\":[{\"id\":\"_uniq.122\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.49\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.78\"},{\"kind\":\"fvar\",\"id\":\"_uniq.122\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.123\"}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.130\",\"parameters\":[{\"id\":\"_uniq.128\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.129\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.82\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.128\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.124\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.129\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.127\",\"parameters\":[{\"id\":\"_uniq.125\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.107\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.125\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.124\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.126\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.46\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.118\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.127\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.118\"}]}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.120\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.130\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.120\"}]}}]}}}}}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.134\",\"parameters\":[{\"id\":\"_uniq.132\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.60\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.132\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.131\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.133\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.137\",\"parameters\":[{\"id\":\"_uniq.135\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.66\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.135\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.131\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.136\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.45\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.134\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.137\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}}]}}}}}}}}}}}},\"uses\":[\"Add\",\"Bool\",\"Decidable\",\"Except\",\"HAdd\",\"Nat\",\"OfNat\",\"Option\",\"PUnit\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instOfNatNat\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Except.error\",\"Except.ok\",\"Option.none\",\"Option.some\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"Coverage.Main.pairs\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Nat\",\"Prod\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.6\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.6\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.9\"}}}}},\"uses\":[\"Bool\",\"Nat\",\"Prod\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Main.parity\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Coverage.Types.isOdd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.isOdd\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Bool\",\"Nat\",\"Coverage.Types.isOdd\"]},\"inductive\":null},{\"name\":\"Coverage.Main.records\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"OfNat.ofNat\",\"Prod.mk\",\"Coverage.Types.Point\",\"Coverage.Types.defaultWeights\",\"Coverage.Types.unbox\",\"Coverage.Types.Box.mk\",\"Coverage.Types.Point.mk\",\"Coverage.Types.Point.x\",\"Coverage.Types.Point.y\",\"Coverage.Types.Weights.scale\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Point\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Point.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Point\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.19\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Types.Point\",\"index\":0,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Weights\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.defaultWeights\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Types.Weights\",\"index\":1,\"value\":\"_uniq.25\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.23\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Types.Point\",\"index\":1,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.32\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Box\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Box.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.unbox\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.39\"}}}}}}}}}}}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Nat\",\"OfNat\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Prod.mk\",\"Coverage.Types.Box\",\"Coverage.Types.Point\",\"Coverage.Types.Weights\",\"Coverage.Types.defaultWeights\",\"Coverage.Types.unbox\",\"Coverage.Types.Box.mk\",\"Coverage.Types.Point.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Main.shapes\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instAddNat\",\"instHAdd\",\"HAdd.hAdd\",\"Coverage.Types.area\",\"Coverage.Types.Shape.circle\",\"Coverage.Types.Shape.empty\",\"Coverage.Types.Shape.rect\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Shape\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Shape.rect\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.area\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Shape\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Shape.circle\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.area\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Shape\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Shape.empty\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.area\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.15\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.15\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.26\"}}}}}}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Nat\",\"instAddNat\",\"instHAdd\",\"Coverage.Types.Shape\",\"Coverage.Types.area\",\"Coverage.Types.Shape.circle\",\"Coverage.Types.Shape.empty\",\"Coverage.Types.Shape.rect\"]},\"inductive\":null},{\"name\":\"Coverage.Main.treeTotal\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Coverage.Types.treeSum\",\"Coverage.Types.Tree.leaf\",\"Coverage.Types.Tree.node\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree.leaf\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"5\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree.node\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree.node\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.treeSum\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.16\"}}}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"instOfNatNat\",\"Coverage.Types.Tree\",\"Coverage.Types.treeSum\",\"Coverage.Types.Tree.leaf\",\"Coverage.Types.Tree.node\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.bits\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Option\",\"Prod\",\"UInt16\",\"UInt32\",\"instBEqOfDecidableEq\",\"instDecidableEqUInt16\",\"LexLeanRuntime.bitAnd\",\"LexLeanRuntime.bitNot\",\"LexLeanRuntime.bitOr\",\"LexLeanRuntime.bitXor\",\"LexLeanRuntime.equal\",\"LexLeanRuntime.instFixedUInt16\",\"LexLeanRuntime.shiftLeft\",\"LexLeanRuntime.shiftRight\",\"OfNat.ofNat\",\"Prod.mk\",\"UInt32.instOfNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]}}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instFixedUInt16\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.bitAnd\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.bitOr\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.bitXor\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.bitNot\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.shiftLeft\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.26\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.shiftRight\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqUInt16\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instBEqOfDecidableEq\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.equal\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.39\"}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"BEq\",\"Bool\",\"Decidable\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"UInt16\",\"UInt32\",\"instBEqOfDecidableEq\",\"instDecidableEqUInt16\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.bitAnd\",\"LexLeanRuntime.bitNot\",\"LexLeanRuntime.bitOr\",\"LexLeanRuntime.bitXor\",\"LexLeanRuntime.equal\",\"LexLeanRuntime.instFixedUInt16\",\"LexLeanRuntime.shiftLeft\",\"LexLeanRuntime.shiftRight\",\"Prod.mk\",\"UInt32.instOfNat\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.conversions\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Int64\",\"Int8\",\"Option\",\"UInt16\",\"LexLeanRuntime.checkedConvert\",\"LexLeanRuntime.instFixedInt64\",\"LexLeanRuntime.instFixedInt8\",\"LexLeanRuntime.instFixedUInt16\",\"LexLeanRuntime.instToMathIntInt\",\"Prod.mk\",\"LexLeanRuntime.Fixed.toToMathInt\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instToMathIntInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instFixedUInt16\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.checkedConvert\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instFixedInt8\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Fixed\",\"index\":0,\"value\":\"_uniq.16\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instFixedInt64\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.checkedConvert\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt16\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.20\"}}}}}}}}}},\"uses\":[\"Int\",\"Int64\",\"Int8\",\"Option\",\"Prod\",\"UInt16\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.ToMathInt\",\"LexLeanRuntime.checkedConvert\",\"LexLeanRuntime.instFixedInt64\",\"LexLeanRuntime.instFixedInt8\",\"LexLeanRuntime.instFixedUInt16\",\"LexLeanRuntime.instToMathIntInt\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.decimals\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Option\",\"String\",\"UInt32\",\"instToStringUInt32\",\"LexLeanRuntime.instDecimalInt\",\"LexLeanRuntime.instDecimalOfFixedOfToString\",\"LexLeanRuntime.instFixedUInt32\",\"LexLeanRuntime.parseDecimal\",\"Prod.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Decimal\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instDecimalInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.parseDecimal\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instFixedUInt32\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"ToString\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instToStringUInt32\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Decimal\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instDecimalOfFixedOfToString\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.parseDecimal\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}}}}}}}},\"uses\":[\"Int\",\"Option\",\"Prod\",\"String\",\"ToString\",\"UInt32\",\"instToStringUInt32\",\"LexLeanRuntime.Decimal\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.instDecimalInt\",\"LexLeanRuntime.instDecimalOfFixedOfToString\",\"LexLeanRuntime.instFixedUInt32\",\"LexLeanRuntime.parseDecimal\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.fixedMiddle\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Int16\",\"Int32\",\"Option\",\"Prod\",\"instBEqOfDecidableEq\",\"instDecidableEqInt32\",\"Int32.instNeg\",\"Int32.instOfNat\",\"LexLeanRuntime.checkedAdd\",\"LexLeanRuntime.checkedConvert\",\"LexLeanRuntime.checkedMultiply\",\"LexLeanRuntime.equal\",\"LexLeanRuntime.instFixedInt16\",\"LexLeanRuntime.instFixedInt32\",\"Neg.neg\",\"OfNat.ofNat\",\"Prod.mk\",\"LexLeanRuntime.Fixed.toToMathInt\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instFixedInt16\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.checkedMultiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instFixedInt32\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Neg\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int32.instNeg\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Neg\",\"index\":0,\"value\":\"_uniq.16\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"7\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int32.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.19\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.17\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.checkedAdd\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Fixed\",\"index\":0,\"value\":\"_uniq.13\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.checkedConvert\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqInt32\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instBEqOfDecidableEq\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int32.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.53\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.equal\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"},{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int16\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int32\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.58\"}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"BEq\",\"Bool\",\"Decidable\",\"Int16\",\"Int32\",\"Nat\",\"Neg\",\"OfNat\",\"Option\",\"Prod\",\"instBEqOfDecidableEq\",\"instDecidableEqInt32\",\"Int32.instNeg\",\"Int32.instOfNat\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.ToMathInt\",\"LexLeanRuntime.checkedAdd\",\"LexLeanRuntime.checkedConvert\",\"LexLeanRuntime.checkedMultiply\",\"LexLeanRuntime.equal\",\"LexLeanRuntime.instFixedInt16\",\"LexLeanRuntime.instFixedInt32\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.fixedSmall\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int8\",\"Option\",\"Prod\",\"LexLeanRuntime.checkedAdd\",\"LexLeanRuntime.checkedMultiply\",\"LexLeanRuntime.checkedNegate\",\"LexLeanRuntime.checkedQuotient\",\"LexLeanRuntime.checkedSubtract\",\"LexLeanRuntime.instFixedInt8\",\"Prod.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}]}]}]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instFixedInt8\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.checkedAdd\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.checkedSubtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.checkedMultiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.checkedQuotient\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.checkedNegate\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}}}}}}}}}}},\"uses\":[\"Int8\",\"Option\",\"Prod\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.checkedAdd\",\"LexLeanRuntime.checkedMultiply\",\"LexLeanRuntime.checkedNegate\",\"LexLeanRuntime.checkedQuotient\",\"LexLeanRuntime.checkedSubtract\",\"LexLeanRuntime.instFixedInt8\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.fixedWide\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int64\",\"Option\",\"Prod\",\"UInt64\",\"LexLeanRuntime.checkedAdd\",\"LexLeanRuntime.checkedAddInt64\",\"LexLeanRuntime.checkedMultiplyInt64\",\"LexLeanRuntime.checkedNegateInt64\",\"LexLeanRuntime.checkedQuotientInt64\",\"LexLeanRuntime.checkedSubtractInt64\",\"LexLeanRuntime.instFixedUInt64\",\"OfNat.ofNat\",\"Prod.mk\",\"UInt64.instOfNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}]}]}]}]}]}}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.checkedAddInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.checkedSubtractInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.checkedMultiplyInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.checkedQuotientInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.checkedNegateInt64\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instFixedUInt64\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt64.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.26\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.checkedAdd\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int64\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt64\",\"levels\":[]}]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.33\"}}}}}}}}}}}}}}}}},\"uses\":[\"Int64\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"UInt64\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.checkedAdd\",\"LexLeanRuntime.checkedAddInt64\",\"LexLeanRuntime.checkedMultiplyInt64\",\"LexLeanRuntime.checkedNegateInt64\",\"LexLeanRuntime.checkedQuotientInt64\",\"LexLeanRuntime.checkedSubtractInt64\",\"LexLeanRuntime.instFixedUInt64\",\"Prod.mk\",\"UInt64.instOfNat\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.formats\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Int8\",\"String\",\"instToStringInt8\",\"LexLeanRuntime.formatDecimal\",\"LexLeanRuntime.instDecimalInt\",\"LexLeanRuntime.instDecimalOfFixedOfToString\",\"LexLeanRuntime.instFixedInt8\",\"Prod.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Decimal\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instDecimalInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.formatDecimal\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instFixedInt8\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"ToString\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instToStringInt8\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Decimal\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instDecimalOfFixedOfToString\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.formatDecimal\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.19\"}}}}}}}}},\"uses\":[\"Int\",\"Int8\",\"Prod\",\"String\",\"ToString\",\"instToStringInt8\",\"LexLeanRuntime.Decimal\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.formatDecimal\",\"LexLeanRuntime.instDecimalInt\",\"LexLeanRuntime.instDecimalOfFixedOfToString\",\"LexLeanRuntime.instFixedInt8\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.sequences\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"ByteArray\",\"List\",\"Nat\",\"Option\",\"Prod\",\"UInt8\",\"instAddNat\",\"instBEqOfDecidableEq\",\"instDecidableEqBool\",\"instDecidableEqNat\",\"instHAdd\",\"instOfNatNat\",\"Bool.true\",\"ByteArray.instBEq\",\"ByteArray.mk\",\"HAdd.hAdd\",\"LexLeanRuntime.append\",\"LexLeanRuntime.equal\",\"LexLeanRuntime.index\",\"LexLeanRuntime.instAppendableByteArray\",\"LexLeanRuntime.instAppendableList\",\"LexLeanRuntime.instIndexableByteArrayUInt8\",\"LexLeanRuntime.instIndexableList\",\"LexLeanRuntime.instLengthableByteArray\",\"LexLeanRuntime.instLengthableList\",\"LexLeanRuntime.instSliceableByteArray\",\"LexLeanRuntime.instSliceableList\",\"LexLeanRuntime.length\",\"LexLeanRuntime.slice\",\"List.cons\",\"List.nil\",\"List.toArray\",\"OfNat.ofNat\",\"Prod.mk\",\"UInt8.instOfNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]}]}]}}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.21\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instAppendableByteArray\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"10\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt8.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.28\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Array\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.toArray\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"ByteArray.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instLengthableByteArray\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.37\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Indexable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instIndexableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.index\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Indexable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instIndexableByteArrayUInt8\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.index\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Sliceable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instSliceableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.49\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.slice\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Sliceable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instSliceableByteArray\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.54\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.slice\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"ByteArray.instBEq\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Array\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.toArray\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"ByteArray.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.equal\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instBEqOfDecidableEq\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instBEqOfDecidableEq\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.69\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.70\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.equal\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.68\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.equal\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.72\"},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"},{\"kind\":\"fvar\",\"id\":\"_uniq.79\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.82\"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Add\",\"Array\",\"BEq\",\"Bool\",\"ByteArray\",\"Decidable\",\"HAdd\",\"List\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"UInt8\",\"instAddNat\",\"instBEqOfDecidableEq\",\"instDecidableEqBool\",\"instDecidableEqNat\",\"instHAdd\",\"instOfNatNat\",\"Bool.true\",\"ByteArray.instBEq\",\"ByteArray.mk\",\"LexLeanRuntime.Appendable\",\"LexLeanRuntime.Indexable\",\"LexLeanRuntime.Lengthable\",\"LexLeanRuntime.Sliceable\",\"LexLeanRuntime.append\",\"LexLeanRuntime.equal\",\"LexLeanRuntime.index\",\"LexLeanRuntime.instAppendableByteArray\",\"LexLeanRuntime.instAppendableList\",\"LexLeanRuntime.instIndexableByteArrayUInt8\",\"LexLeanRuntime.instIndexableList\",\"LexLeanRuntime.instLengthableByteArray\",\"LexLeanRuntime.instLengthableList\",\"LexLeanRuntime.instSliceableByteArray\",\"LexLeanRuntime.instSliceableList\",\"LexLeanRuntime.length\",\"LexLeanRuntime.slice\",\"List.cons\",\"List.nil\",\"List.toArray\",\"Prod.mk\",\"UInt8.instOfNat\"]},\"inductive\":null},{\"name\":\"Coverage.Prims.text\",\"kind\":\"definition\",\"module\":\"Coverage.Prims\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"ByteArray\",\"List\",\"Nat\",\"Option\",\"Ordering\",\"Prod\",\"String\",\"UInt32\",\"UInt8\",\"instBEqOfDecidableEq\",\"instDecidableEqOrdering\",\"instDecidableEqString\",\"Bool.and\",\"ByteArray.mk\",\"LexLeanRuntime.compareBytes\",\"LexLeanRuntime.equal\",\"LexLeanRuntime.instLengthableString\",\"LexLeanRuntime.join\",\"LexLeanRuntime.length\",\"LexLeanRuntime.splitExact\",\"LexLeanRuntime.utf8Decode\",\"LexLeanRuntime.utf8Encode\",\"List.cons\",\"List.nil\",\"List.toArray\",\"OfNat.ofNat\",\"Prod.mk\",\"UInt32.instOfNat\",\"UInt8.instOfNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]}}},\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.utf8Encode\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.30\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.utf8Decode\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt8.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.34\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"255\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt8.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.37\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Array\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.toArray\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"ByteArray.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.compareBytes\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.46\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.splitExact\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"string\",\"value\":\"x\\\"y\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.join\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.52\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instLengthableString\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.63\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.62\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.63\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.82\",\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqOrdering\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instBEqOfDecidableEq\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.69\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.compareBytes\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Array\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.toArray\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"ByteArray.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"UInt8.instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.75\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Array\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.toArray\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt8\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"ByteArray.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.compareBytes\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.79\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.equal\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"},{\"kind\":\"fvar\",\"id\":\"_uniq.71\"},{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.81\"}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.82\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqString\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"BEq\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instBEqOfDecidableEq\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.90\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.equal\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.91\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.104\",\"parameters\":[{\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.98\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"},{\"kind\":\"fvar\",\"id\":\"_uniq.99\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"},{\"kind\":\"fvar\",\"id\":\"_uniq.100\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.101\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.102\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.103\"}}}}}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.110\",\"parameters\":[{\"id\":\"_uniq.108\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.83\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.108\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.104\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.109\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.107\",\"parameters\":[{\"id\":\"_uniq.105\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.64\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.105\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.104\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.106\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"ByteArray\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]}]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}]}]}]}]}]},\"discriminant\":\"_uniq.92\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.107\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.93\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.110\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.95\"}]}}}]}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Array\",\"BEq\",\"Bool\",\"ByteArray\",\"Decidable\",\"List\",\"Nat\",\"OfNat\",\"Option\",\"Ordering\",\"PUnit\",\"Prod\",\"String\",\"UInt32\",\"UInt8\",\"instBEqOfDecidableEq\",\"instDecidableEqOrdering\",\"instDecidableEqString\",\"Bool.false\",\"Bool.true\",\"ByteArray.mk\",\"LexLeanRuntime.Lengthable\",\"LexLeanRuntime.compareBytes\",\"LexLeanRuntime.equal\",\"LexLeanRuntime.instLengthableString\",\"LexLeanRuntime.join\",\"LexLeanRuntime.length\",\"LexLeanRuntime.splitExact\",\"LexLeanRuntime.utf8Decode\",\"LexLeanRuntime.utf8Encode\",\"List.cons\",\"List.nil\",\"List.toArray\",\"Prod.mk\",\"UInt32.instOfNat\",\"UInt8.instOfNat\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"Coverage.RecRoots.rewrite\",\"kind\":\"definition\",\"module\":\"Coverage.RecRoots\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Prod.mk\",\"Coverage.Recur.prune\",\"Coverage.Recur.reassociate\",\"Coverage.Syntax.Term\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.reassociate\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.prune\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.9\"}}}}},\"uses\":[\"Prod\",\"Prod.mk\",\"Coverage.Recur.prune\",\"Coverage.Recur.reassociate\",\"Coverage.Syntax.Term\"]},\"inductive\":null},{\"name\":\"Coverage.RecRoots.roseTotal\",\"kind\":\"definition\",\"module\":\"Coverage.RecRoots\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\",\"Coverage.Recur.roseSize\",\"Coverage.Syntax.Rose\",\"Coverage.Syntax.Rose.node\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose.node\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose.node\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.roseSize\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}}}}}}}}}},\"uses\":[\"List\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"List.cons\",\"List.nil\",\"Coverage.Recur.roseSize\",\"Coverage.Syntax.Rose\",\"Coverage.Syntax.Rose.node\"]},\"inductive\":null},{\"name\":\"Coverage.RecRoots.syntaxTotal\",\"kind\":\"definition\",\"module\":\"Coverage.RecRoots\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Recur.exprSize\",\"Coverage.Syntax.Expr\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.exprSize\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Nat\",\"Coverage.Recur.exprSize\",\"Coverage.Syntax.Expr\"]},\"inductive\":null},{\"name\":\"Coverage.RecRoots.wellFounded\",\"kind\":\"definition\",\"module\":\"Coverage.RecRoots\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instOfNatNat\",\"OfNat.ofNat\",\"Prod.mk\",\"Coverage.Recur.countdown\",\"Coverage.Recur.reduce\",\"Coverage.Recur.search\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.countdown\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.reduce\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.search\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.20\"}}}}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"Prod.mk\",\"Coverage.Recur.countdown\",\"Coverage.Recur.reduce\",\"Coverage.Recur.search\"]},\"inductive\":null},{\"name\":\"Coverage.Recur.countdown\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"PSigma.mk\",\"Coverage.Recur.countdown._unary\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.41\",\"parameters\":[{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.33\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.41\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.60\",\"parameters\":[{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.49\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.53\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.56\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.54\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.countdown\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.59\"}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.60\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.75\",\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"discriminant\":\"_uniq.66\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.61\"}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.42\"}}]}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.77\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.75\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.79\"},{\"kind\":\"erased\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.80\"}}}}}}}}}}}},\"uses\":[\"Add\",\"Bool\",\"HAdd\",\"Nat\",\"OfNat\",\"Sub\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"Bool.true\",\"LexLeanRuntime.subtract\",\"Nat.blt\",\"Coverage.Recur.countdown\"]},\"inductive\":null},{\"name\":\"Coverage.Recur.countdown_decreases\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Not\",\"congrArg\",\"id\",\"instHSub\",\"instLTNat\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"Bool.true\",\"Decidable.byContradiction\",\"Eq.mp\",\"Eq.trans\",\"HSub.hSub\",\"LT.lt\",\"LexLeanRuntime.subtract\",\"Nat.blt\",\"Nat.blt_eq\",\"Nat.decLt\",\"OfNat.ofNat\",\"_private.Coverage.Recur.0.Coverage.Recur.countdown_decreases._proof_1_4\",\"_private.Coverage.Recur.0.Coverage.Recur.countdown_decreases._simp_1_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.exprSize\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Recur.exprSize._f\",\"Coverage.Recur.statementSize._f\",\"Coverage.Recur.statementsSize._f\",\"Coverage.Syntax.Expr.brecOn\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.54\",\"parameters\":[{\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.52\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.53\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.54\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.73\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.64\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.exprSize\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.exprSize\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.69\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.70\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.68\"},{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.72\"}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.73\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.88\",\"parameters\":[{\"id\":\"_uniq.80\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.82\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.83\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.85\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.statementsSize\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.exprSize\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.84\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.85\"},{\"kind\":\"fvar\",\"id\":\"_uniq.86\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.87\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.88\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Coverage.Syntax.Expr\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.43\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Coverage.Syntax.Expr.literal\",\"parameters\":[{\"id\":\"_uniq.100\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.55\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.100\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.101\"}}},{\"kind\":\"constructor\",\"constructor\":\"Coverage.Syntax.Expr.plus\",\"parameters\":[{\"id\":\"_uniq.102\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.103\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.102\"},{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.104\"}}},{\"kind\":\"constructor\",\"constructor\":\"Coverage.Syntax.Expr.block\",\"parameters\":[{\"id\":\"_uniq.105\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.106\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.89\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.105\"},{\"kind\":\"fvar\",\"id\":\"_uniq.106\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.107\"}}}]}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"List\",\"Nat\",\"OfNat\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Coverage.Recur.exprSize\",\"Coverage.Recur.statementsSize\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Expr.block\",\"Coverage.Syntax.Expr.literal\",\"Coverage.Syntax.Expr.plus\"]},\"inductive\":null},{\"name\":\"Coverage.Recur.forestSize\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Coverage.Syntax.Rose\",\"Coverage.Recur.forestSize._f\",\"Coverage.Recur.roseSize._f\",\"Coverage.Syntax.Rose.brecOn_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.46\",\"parameters\":[{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.44\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.45\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.46\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.61\",\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"borrow\":false},{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.56\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.roseSize\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.forestSize\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.57\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.58\"},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.60\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.61\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.36\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.47\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.72\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.73\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"borrow\":false},{\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.62\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.75\"}}}]}}}}}},\"uses\":[\"Add\",\"HAdd\",\"List\",\"Nat\",\"OfNat\",\"PUnit\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"List.cons\",\"List.nil\",\"Unit.unit\",\"Coverage.Recur.forestSize\",\"Coverage.Recur.roseSize\",\"Coverage.Syntax.Rose\"]},\"inductive\":null},{\"name\":\"Coverage.Recur.prune\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Eq\",\"InvImage\",\"Nat\",\"instLTNat\",\"LT.lt\",\"Coverage.Recur.weight\",\"Coverage.Syntax.Term\",\"WellFounded.Nat.fix\",\"Coverage.Recur.prune._proof_1\",\"Coverage.Recur.prune._proof_2\",\"Coverage.Recur.reassociate.match_1\",\"Coverage.Syntax.Term.literal\",\"Coverage.Syntax.Term.plus\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.83\",\"parameters\":[{\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.80\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term.literal\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.79\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.82\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.83\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.149\",\"parameters\":[{\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.99\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.110\",\"parameters\":[{\"id\":\"_uniq.107\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.108\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.prune\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.98\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.109\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.111\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.110\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.125\",\"parameters\":[{\"id\":\"_uniq.118\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.119\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.120\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term.plus\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.118\"},{\"kind\":\"fvar\",\"id\":\"_uniq.98\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.124\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.prune\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.123\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.124\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.125\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.147\",\"parameters\":[{\"id\":\"_uniq.131\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Coverage.Syntax.Term\",\"result_type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},\"discriminant\":\"_uniq.131\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Coverage.Syntax.Term.literal\",\"parameters\":[{\"id\":\"_uniq.141\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.111\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.141\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.142\"}}},{\"kind\":\"constructor\",\"constructor\":\"Coverage.Syntax.Term.plus\",\"parameters\":[{\"id\":\"_uniq.143\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.144\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.126\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.143\"},{\"kind\":\"fvar\",\"id\":\"_uniq.144\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.145\"}}}]}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.148\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.147\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.97\"},{\"kind\":\"erased\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.148\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.150\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.149\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.171\",\"parameters\":[{\"id\":\"_uniq.155\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Coverage.Syntax.Term\",\"result_type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},\"discriminant\":\"_uniq.155\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Coverage.Syntax.Term.literal\",\"parameters\":[{\"id\":\"_uniq.165\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.166\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.84\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.165\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.166\"}}},{\"kind\":\"constructor\",\"constructor\":\"Coverage.Syntax.Term.plus\",\"parameters\":[{\"id\":\"_uniq.167\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.168\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.169\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.150\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.167\"},{\"kind\":\"fvar\",\"id\":\"_uniq.168\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.169\"}}}]}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.172\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.171\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.71\"},{\"kind\":\"erased\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.172\"}}}}}}}},\"uses\":[\"Nat\",\"Coverage.Recur.prune\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.literal\",\"Coverage.Syntax.Term.plus\"]},\"inductive\":null},{\"name\":\"Coverage.Recur.prune_plus\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":false,\"kernel_uses\":[\"Eq\",\"Nat\",\"Not\",\"id\",\"instAddNat\",\"instHAdd\",\"instLTNat\",\"instOfNatNat\",\"Decidable.byContradiction\",\"Eq.ndrec\",\"Eq.symm\",\"HAdd.hAdd\",\"LT.lt\",\"Nat.decLt\",\"OfNat.ofNat\",\"Coverage.Recur.weight\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.plus\",\"_private.Coverage.Recur.0.Coverage.Recur.prune_plus._proof_1_7\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.reassociate\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Eq\",\"InvImage\",\"Nat\",\"instLTNat\",\"LT.lt\",\"Coverage.Recur.weight\",\"Coverage.Syntax.Term\",\"WellFounded.Nat.fix\",\"Coverage.Recur.reassociate._proof_1\",\"Coverage.Recur.reassociate._proof_2\",\"Coverage.Recur.reassociate.match_1\",\"Coverage.Syntax.Term.literal\",\"Coverage.Syntax.Term.plus\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.82\",\"parameters\":[{\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.80\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term.literal\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.79\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.81\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.82\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.149\",\"parameters\":[{\"id\":\"_uniq.96\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.98\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.111\",\"parameters\":[{\"id\":\"_uniq.106\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.107\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term.literal\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.106\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.reassociate\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term.plus\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.108\"},{\"kind\":\"fvar\",\"id\":\"_uniq.109\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.110\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.111\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.125\",\"parameters\":[{\"id\":\"_uniq.119\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.120\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.121\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term.plus\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.120\"},{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term.plus\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.119\"},{\"kind\":\"fvar\",\"id\":\"_uniq.122\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.124\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.reassociate\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.123\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.124\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.125\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.147\",\"parameters\":[{\"id\":\"_uniq.131\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Coverage.Syntax.Term\",\"result_type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},\"discriminant\":\"_uniq.131\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Coverage.Syntax.Term.literal\",\"parameters\":[{\"id\":\"_uniq.141\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.112\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.141\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.142\"}}},{\"kind\":\"constructor\",\"constructor\":\"Coverage.Syntax.Term.plus\",\"parameters\":[{\"id\":\"_uniq.143\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.144\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.126\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.143\"},{\"kind\":\"fvar\",\"id\":\"_uniq.144\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.145\"}}}]}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.148\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.147\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.96\"},{\"kind\":\"erased\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.148\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.150\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.149\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.171\",\"parameters\":[{\"id\":\"_uniq.155\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Coverage.Syntax.Term\",\"result_type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},\"discriminant\":\"_uniq.155\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Coverage.Syntax.Term.literal\",\"parameters\":[{\"id\":\"_uniq.165\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.166\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.83\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.165\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.166\"}}},{\"kind\":\"constructor\",\"constructor\":\"Coverage.Syntax.Term.plus\",\"parameters\":[{\"id\":\"_uniq.167\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.168\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.169\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.150\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.167\"},{\"kind\":\"fvar\",\"id\":\"_uniq.168\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.169\"}}}]}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.172\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.171\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.71\"},{\"kind\":\"erased\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.172\"}}}}}}}},\"uses\":[\"Nat\",\"Coverage.Recur.reassociate\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.literal\",\"Coverage.Syntax.Term.plus\"]},\"inductive\":null},{\"name\":\"Coverage.Recur.reassociate_literal\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":false,\"kernel_uses\":[\"Eq\",\"Nat\",\"Not\",\"id\",\"instAddNat\",\"instHAdd\",\"instLTNat\",\"instOfNatNat\",\"Decidable.byContradiction\",\"Eq.ndrec\",\"Eq.symm\",\"HAdd.hAdd\",\"LT.lt\",\"Nat.decLt\",\"OfNat.ofNat\",\"Coverage.Recur.weight\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.literal\",\"Coverage.Syntax.Term.plus\",\"_private.Coverage.Recur.0.Coverage.Recur.reassociate_literal._proof_1_7\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.reassociate_plus\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":false,\"kernel_uses\":[\"Eq\",\"Nat\",\"Not\",\"id\",\"instAddNat\",\"instHAdd\",\"instLTNat\",\"instOfNatNat\",\"Decidable.byContradiction\",\"Eq.ndrec\",\"Eq.symm\",\"HAdd.hAdd\",\"LT.lt\",\"Nat.decLt\",\"OfNat.ofNat\",\"Coverage.Recur.weight\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.plus\",\"_private.Coverage.Recur.0.Coverage.Recur.reassociate_plus._proof_1_7\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.reduce\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Coverage.Recur.reduce._unary\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.57\",\"parameters\":[{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.48\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.57\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.101\",\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.74\",\"parameters\":[{\"id\":\"_uniq.73\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.48\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.83\",\"parameters\":[{\"id\":\"_uniq.79\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.reduce\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.81\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.82\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.83\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.98\",\"parameters\":[{\"id\":\"_uniq.89\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"discriminant\":\"_uniq.89\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.84\"}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.75\"}}]}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.48\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.98\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.99\"},{\"kind\":\"erased\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.100\"}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.101\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.116\",\"parameters\":[{\"id\":\"_uniq.107\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"discriminant\":\"_uniq.107\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.102\"}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.58\"}}]}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.118\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.117\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.118\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.119\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.116\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.120\"},{\"kind\":\"erased\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.121\"}}}}}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"Sub\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"Bool.true\",\"LexLeanRuntime.subtract\",\"Nat.beq\",\"Nat.blt\",\"Coverage.Recur.reduce\"]},\"inductive\":null},{\"name\":\"Coverage.Recur.reduce_decreases\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Not\",\"congrArg\",\"id\",\"instHSub\",\"instLTNat\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"Bool.true\",\"Decidable.byContradiction\",\"Eq.mp\",\"Eq.trans\",\"HSub.hSub\",\"LT.lt\",\"LexLeanRuntime.subtract\",\"Nat.beq\",\"Nat.beq_eq\",\"Nat.blt\",\"Nat.blt_eq\",\"Nat.decLt\",\"OfNat.ofNat\",\"_private.Coverage.Recur.0.Coverage.Recur.reduce_decreases._proof_1_4\",\"_private.Coverage.Recur.0.Coverage.Recur.reduce_decreases._simp_1_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.roseSize\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Coverage.Syntax.Rose\",\"Coverage.Recur.forestSize._f\",\"Coverage.Recur.roseSize._f\",\"Coverage.Syntax.Rose.brecOn\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.47\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},\"borrow\":false},{\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.40\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.43\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.forestSize\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.41\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.44\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.46\"}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.47\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Coverage.Syntax.Rose\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.29\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Coverage.Syntax.Rose.node\",\"parameters\":[{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},\"borrow\":false},{\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.48\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.58\"}}}]}}}},\"uses\":[\"Add\",\"HAdd\",\"List\",\"Nat\",\"OfNat\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Coverage.Recur.forestSize\",\"Coverage.Syntax.Rose\",\"Coverage.Syntax.Rose.node\"]},\"inductive\":null},{\"name\":\"Coverage.Recur.search\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Coverage.Recur.search._unary\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}},\"parameters\":[{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.111\",\"parameters\":[{\"id\":\"_uniq.67\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.75\",\"parameters\":[{\"id\":\"_uniq.74\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.55\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.75\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.89\",\"parameters\":[{\"id\":\"_uniq.80\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.82\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.85\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.84\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.85\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.83\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.86\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.search\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.88\"}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.89\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.104\",\"parameters\":[{\"id\":\"_uniq.95\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"discriminant\":\"_uniq.95\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.90\"}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.76\"}}]}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.106\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.107\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.108\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.104\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.109\"},{\"kind\":\"erased\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.110\"}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.111\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.117\",\"parameters\":[{\"id\":\"_uniq.116\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.56\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.118\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.117\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.132\",\"parameters\":[{\"id\":\"_uniq.123\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"discriminant\":\"_uniq.123\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.118\"}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.112\"}}]}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.132\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.133\"},{\"kind\":\"erased\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.134\"}}}}}}}}},\"uses\":[\"Add\",\"Bool\",\"HAdd\",\"Nat\",\"OfNat\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.ble\",\"Nat.blt\",\"Coverage.Recur.search\"]},\"inductive\":null},{\"name\":\"Coverage.Recur.search_decreases\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Not\",\"id\",\"instAddNat\",\"instHAdd\",\"instHSub\",\"instLTNat\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"Bool.true\",\"Decidable.byContradiction\",\"Eq.mp\",\"HAdd.hAdd\",\"HSub.hSub\",\"LT.lt\",\"LexLeanRuntime.subtract\",\"Nat.ble\",\"Nat.blt\",\"Nat.blt_eq\",\"Nat.decLt\",\"OfNat.ofNat\",\"_private.Coverage.Recur.0.Coverage.Recur.search_decreases._proof_1_4\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.statementSize\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Recur.exprSize._f\",\"Coverage.Recur.statementSize._f\",\"Coverage.Recur.statementsSize._f\",\"Coverage.Syntax.Stmt.brecOn\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.54\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.47\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.exprSize\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.51\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.48\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.53\"}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.54\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.69\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.64\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.statementSize\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.statementSize\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.68\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.69\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Coverage.Syntax.Stmt\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.35\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Coverage.Syntax.Stmt.assign\",\"parameters\":[{\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.55\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.79\"},{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.81\"}}},{\"kind\":\"constructor\",\"constructor\":\"Coverage.Syntax.Stmt.sequence\",\"parameters\":[{\"id\":\"_uniq.82\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.83\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.70\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.82\"},{\"kind\":\"fvar\",\"id\":\"_uniq.83\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.84\"}}}]}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Nat\",\"OfNat\",\"String\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Coverage.Recur.exprSize\",\"Coverage.Recur.statementSize\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Stmt.assign\",\"Coverage.Syntax.Stmt.sequence\"]},\"inductive\":null},{\"name\":\"Coverage.Recur.statementsSize\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Recur.exprSize._f\",\"Coverage.Recur.statementSize._f\",\"Coverage.Recur.statementsSize._f\",\"Coverage.Syntax.Expr.brecOn_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.39\",\"parameters\":[{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.37\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.38\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.54\",\"parameters\":[{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.49\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.statementSize\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Recur.statementsSize\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.50\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.53\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.54\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.29\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.65\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.55\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.68\"}}}]}}}}}},\"uses\":[\"Add\",\"HAdd\",\"List\",\"Nat\",\"OfNat\",\"PUnit\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"List.cons\",\"List.nil\",\"Unit.unit\",\"Coverage.Recur.statementSize\",\"Coverage.Recur.statementsSize\",\"Coverage.Syntax.Stmt\"]},\"inductive\":null},{\"name\":\"Coverage.Recur.weight\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Coverage.Syntax.Term\",\"Coverage.Recur.weight._f\",\"Coverage.Syntax.Term.brecOn\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Expr\",\"kind\":\"inductive\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":true,\"constructors\":[{\"name\":\"Coverage.Syntax.Expr.literal\",\"parameters\":0,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]}}},{\"name\":\"Coverage.Syntax.Expr.plus\",\"parameters\":0,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]}}}},{\"name\":\"Coverage.Syntax.Expr.block\",\"parameters\":0,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]}}}}]}},{\"name\":\"Coverage.Syntax.Rose\",\"kind\":\"inductive\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":true,\"constructors\":[{\"name\":\"Coverage.Syntax.Rose.node\",\"parameters\":1,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Rose\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]}}}}}]}},{\"name\":\"Coverage.Syntax.Stmt\",\"kind\":\"inductive\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":true,\"constructors\":[{\"name\":\"Coverage.Syntax.Stmt.assign\",\"parameters\":0,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"String\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Expr\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]}}}},{\"name\":\"Coverage.Syntax.Stmt.sequence\",\"parameters\":0,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Stmt\",\"levels\":[]}}}}]}},{\"name\":\"Coverage.Syntax.Term\",\"kind\":\"inductive\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":true,\"constructors\":[{\"name\":\"Coverage.Syntax.Term.literal\",\"parameters\":0,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}},{\"name\":\"Coverage.Syntax.Term.plus\",\"parameters\":0,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Syntax.Term\",\"levels\":[]}}}}]}},{\"name\":\"Coverage.Types.Box\",\"kind\":\"inductive\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Coverage.Types.Box.mk\",\"parameters\":1,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Box\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]}}}}}]}},{\"name\":\"Coverage.Types.Point\",\"kind\":\"inductive\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Coverage.Types.Point.mk\",\"parameters\":0,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Point\",\"levels\":[]}}}}]}},{\"name\":\"Coverage.Types.Shape\",\"kind\":\"inductive\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Coverage.Types.Shape.circle\",\"parameters\":0,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Shape\",\"levels\":[]}}},{\"name\":\"Coverage.Types.Shape.rect\",\"parameters\":0,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Shape\",\"levels\":[]}}}},{\"name\":\"Coverage.Types.Shape.empty\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Shape\",\"levels\":[]}}]}},{\"name\":\"Coverage.Types.Tree\",\"kind\":\"inductive\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":true,\"constructors\":[{\"name\":\"Coverage.Types.Tree.leaf\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]}},{\"name\":\"Coverage.Types.Tree.node\",\"parameters\":0,\"fields\":3,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]}}}}}]}},{\"name\":\"Coverage.Types.Weights\",\"kind\":\"inductive\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Coverage.Types.Weights.mk\",\"parameters\":0,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Weights\",\"levels\":[]}}}}]}},{\"name\":\"Coverage.Types.area\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Unit\",\"instMulNat\",\"instOfNatNat\",\"LexLeanRuntime.multiply\",\"OfNat.ofNat\",\"Coverage.Types.Shape\",\"Coverage.Types.area.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Shape\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Shape\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.51\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instMulNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.multiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.48\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.multiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.51\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.63\",\"parameters\":[{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instMulNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.multiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.62\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.63\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.72\",\"parameters\":[{\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.69\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.70\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.71\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.72\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Coverage.Types.Shape\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.37\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Coverage.Types.Shape.circle\",\"parameters\":[{\"id\":\"_uniq.82\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.52\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.82\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.83\"}}},{\"kind\":\"constructor\",\"constructor\":\"Coverage.Types.Shape.rect\",\"parameters\":[{\"id\":\"_uniq.84\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.85\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.64\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.84\"},{\"kind\":\"fvar\",\"id\":\"_uniq.85\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.86\"}}},{\"kind\":\"constructor\",\"constructor\":\"Coverage.Types.Shape.empty\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.73\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.87\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.88\"}}}}]}}}}}}}},\"uses\":[\"Mul\",\"Nat\",\"OfNat\",\"PUnit\",\"instMulNat\",\"instOfNatNat\",\"LexLeanRuntime.multiply\",\"Unit.unit\",\"Coverage.Types.Shape\",\"Coverage.Types.Shape.circle\",\"Coverage.Types.Shape.empty\",\"Coverage.Types.Shape.rect\"]},\"inductive\":null},{\"name\":\"Coverage.Types.defaultWeights\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Coverage.Types.Weights.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Weights\",\"levels\":[]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.2\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.1\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.3\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.2\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.4\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.5\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.4\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Weights\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Weights.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.3\"},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"instOfNatNat\",\"Coverage.Types.Weights\",\"Coverage.Types.Weights.mk\"]},\"inductive\":null},{\"name\":\"Coverage.Types.isEven\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Nat\",\"PProd\",\"Nat.below\",\"Nat.brecOn\",\"PProd.mk\",\"Coverage.Types.isEven._f\",\"Coverage.Types.isOdd._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.32\",\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.32\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.39\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.isOdd\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.38\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Nat\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.24\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Nat.zero\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.33\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.47\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Nat.succ\",\"parameters\":[{\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.49\"}}}]}}}}}},\"uses\":[\"Bool\",\"Nat\",\"PUnit\",\"Bool.true\",\"Nat.succ\",\"Nat.zero\",\"Unit.unit\",\"Coverage.Types.isOdd\"]},\"inductive\":null},{\"name\":\"Coverage.Types.isOdd\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Nat\",\"PProd\",\"Nat.below\",\"Nat.brecOn\",\"PProd.mk\",\"Coverage.Types.isEven._f\",\"Coverage.Types.isOdd._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.32\",\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.32\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.39\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.isEven\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.38\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Nat\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.24\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Nat.zero\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.33\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.47\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Nat.succ\",\"parameters\":[{\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.49\"}}}]}}}}}},\"uses\":[\"Bool\",\"Nat\",\"PUnit\",\"Bool.false\",\"Nat.succ\",\"Nat.zero\",\"Unit.unit\",\"Coverage.Types.isEven\"]},\"inductive\":null},{\"name\":\"Coverage.Types.mapList\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.brecOn\",\"Coverage.Types.mapList._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"bvar\",\"index\":1}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]}}}}},\"parameters\":[{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}},\"borrow\":false},{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.70\",\"parameters\":[{\"id\":\"_uniq.68\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.69\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.70\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.90\",\"parameters\":[{\"id\":\"_uniq.83\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}},\"borrow\":false},{\"id\":\"_uniq.84\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},\"borrow\":false},{\"id\":\"_uniq.85\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]}}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.83\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.84\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.mapList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.83\"},{\"kind\":\"fvar\",\"id\":\"_uniq.85\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.88\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.89\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.90\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"discriminant\":\"_uniq.60\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.71\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.100\"}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.101\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},\"borrow\":false},{\"id\":\"_uniq.102\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.91\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.101\"},{\"kind\":\"fvar\",\"id\":\"_uniq.102\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.103\"}}}]}}}}}},\"uses\":[\"List\",\"List.cons\",\"List.nil\",\"Coverage.Types.mapList\"]},\"inductive\":null},{\"name\":\"Coverage.Types.treeSum\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Coverage.Types.Tree\",\"Coverage.Types.Tree.brecOn\",\"Coverage.Types.treeSum._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.44\",\"parameters\":[{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.42\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.63\",\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.57\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.treeSum\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.58\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Coverage.Types.treeSum\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.58\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.62\"}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.63\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Coverage.Types.Tree\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.34\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Coverage.Types.Tree.leaf\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.73\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Coverage.Types.Tree.node\",\"parameters\":[{\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Tree\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.64\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"},{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.77\"}}}]}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Nat\",\"OfNat\",\"PUnit\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Unit.unit\",\"Coverage.Types.Tree\",\"Coverage.Types.treeSum\",\"Coverage.Types.Tree.leaf\",\"Coverage.Types.Tree.node\"]},\"inductive\":null},{\"name\":\"Coverage.Types.twice\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.16\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.16\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.19\"}}}},\"uses\":[\"Nat\"]},\"inductive\":null},{\"name\":\"Coverage.Types.unbox\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Types.Box\",\"Coverage.Types.Box.content\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Box\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"bvar\",\"index\":1}}},\"parameters\":[{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Coverage.Types.Box\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Coverage.Types.Box\",\"index\":0,\"value\":\"_uniq.16\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}}},\"uses\":[\"Coverage.Types.Box\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.Key.compare\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanCollections.Key\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.Key.mk\",\"kind\":\"constructor\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.compareCodes._f\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Char\",\"List\",\"Nat\",\"Ordering\",\"Unit\",\"instOrdNat\",\"Char.val\",\"List.below\",\"List.cons\",\"List.nil\",\"Ord.compare\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"UInt32.toNat\",\"LexLeanCollections.compareCodes.match_1\",\"LexLeanCollections.compareCodes.match_4\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.compareCodes._sparseCasesOn_1\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Nat\",\"Ordering\",\"instOfNatNat\",\"Bool.false\",\"Eq.refl\",\"Nat.hasNotBit\",\"Nat.land\",\"Nat.ne_of_beq_eq_false\",\"Nat.shiftRight\",\"OfNat.ofNat\",\"Ordering.ctorIdx\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"Ordering.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.compareCodes.match_1\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Ordering\",\"Unit\",\"Nat.hasNotBit\",\"Ordering.ctorIdx\",\"Ordering.eq\",\"Unit.unit\",\"LexLeanCollections.compareCodes._sparseCasesOn_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.compareCodes.match_4\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Char\",\"List\",\"Unit\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.containsElement._f\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"List\",\"Ordering\",\"Unit\",\"Bool.false\",\"Bool.true\",\"LexLeanCollections.Key\",\"List.below\",\"List.cons\",\"List.nil\",\"LexLeanCollections.Key.compare\",\"LexLeanCollections.insertElement.match_1\",\"LexLeanCollections.insertEntry.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.insertElement._f\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"List\",\"Ordering\",\"Unit\",\"LexLeanCollections.Key\",\"List.below\",\"List.cons\",\"List.nil\",\"LexLeanCollections.Key.compare\",\"LexLeanCollections.insertElement.match_1\",\"LexLeanCollections.insertEntry.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.insertElement.match_1\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Unit\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.insertEntry._f\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"List\",\"Ordering\",\"Prod\",\"Unit\",\"LexLeanCollections.Key\",\"List.below\",\"List.cons\",\"List.nil\",\"Prod.mk\",\"LexLeanCollections.Key.compare\",\"LexLeanCollections.insertEntry.match_1\",\"LexLeanCollections.insertEntry.match_3\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.insertEntry.match_1\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Ordering\",\"Unit\",\"Ordering.casesOn\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.insertEntry.match_3\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Prod\",\"Unit\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Prod.casesOn\",\"Prod.mk\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.iterate._f\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.below\",\"Nat.succ\",\"OfNat.ofNat\",\"LexLeanCollections.iterate.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.iterate.match_1\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.casesOn\",\"Nat.succ\",\"OfNat.ofNat\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.iterateUntil._f\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.below\",\"Nat.succ\",\"OfNat.ofNat\",\"Prod.mk\",\"LexLeanCollections.iterate.match_1\",\"LexLeanCollections.iterateUntil.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.iterateUntil.match_1\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.lookupEntry._f\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"List\",\"Option\",\"Ordering\",\"Prod\",\"Unit\",\"LexLeanCollections.Key\",\"List.below\",\"List.cons\",\"List.nil\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"LexLeanCollections.Key.compare\",\"LexLeanCollections.insertEntry.match_1\",\"LexLeanCollections.insertEntry.match_3\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.reachableFrom._f\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"List\",\"Nat\",\"Prod\",\"Unit\",\"instDecidableEqBool\",\"instOfNatNat\",\"ite\",\"Bool.or\",\"Bool.true\",\"LexLeanCollections.Key\",\"LexLeanCollections.containsElement\",\"LexLeanCollections.graphSuccessors\",\"LexLeanCollections.insertElement\",\"List.foldl\",\"List.nil\",\"Nat.below\",\"Nat.succ\",\"OfNat.ofNat\",\"LexLeanCollections.reachableFrom.match_1\",\"LexLeanCollections.reachableFrom.match_4\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.reachableFrom._sparseCasesOn_1\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"List\",\"Nat\",\"instOfNatNat\",\"Bool.false\",\"Eq.refl\",\"List.cons\",\"List.ctorIdx\",\"List.nil\",\"List.rec\",\"Nat.hasNotBit\",\"Nat.land\",\"Nat.ne_of_beq_eq_false\",\"Nat.shiftRight\",\"OfNat.ofNat\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.reachableFrom.match_1\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Unit\",\"List.ctorIdx\",\"List.nil\",\"Nat.hasNotBit\",\"Unit.unit\",\"LexLeanCollections.reachableFrom._sparseCasesOn_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.reachableFrom.match_4\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"instOfNatNat\",\"Nat.casesOn\",\"Nat.succ\",\"OfNat.ofNat\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.removeElement._f\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"List\",\"Ordering\",\"Unit\",\"LexLeanCollections.Key\",\"List.below\",\"List.cons\",\"List.nil\",\"LexLeanCollections.Key.compare\",\"LexLeanCollections.insertElement.match_1\",\"LexLeanCollections.insertEntry.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.removeEntry._f\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"List\",\"Ordering\",\"Prod\",\"Unit\",\"LexLeanCollections.Key\",\"List.below\",\"List.cons\",\"List.nil\",\"Prod.mk\",\"LexLeanCollections.Key.compare\",\"LexLeanCollections.insertEntry.match_1\",\"LexLeanCollections.insertEntry.match_3\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.topological._f\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"List\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"instDecidableEqBool\",\"instOfNatNat\",\"ite\",\"Bool.not\",\"Bool.true\",\"LexLeanCollections.Key\",\"LexLeanCollections.containsElement\",\"LexLeanCollections.graphSuccessors\",\"LexLeanCollections.removeElement\",\"List.all\",\"List.cons\",\"List.filter\",\"List.isEmpty\",\"List.reverse\",\"Nat.below\",\"Nat.succ\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"LexLeanCollections.insertElement.match_1\",\"LexLeanCollections.reachableFrom.match_4\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Appendable.append\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Appendable\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Appendable.mk\",\"kind\":\"constructor\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Decimal.format\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Decimal\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Decimal.mk\",\"kind\":\"constructor\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Decimal.parse\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Decimal\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Fixed.bitAnd\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Fixed\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Fixed.bitNot\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Fixed\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Fixed.bitOr\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Fixed\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Fixed.bitXor\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Fixed\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Fixed.fromInt\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Fixed\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Fixed.maximum\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Fixed\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Fixed.minimum\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Fixed\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Fixed.mk\",\"kind\":\"constructor\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Fixed.shiftLeft\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Fixed\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Fixed.shiftRight\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Fixed\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Fixed.toToMathInt\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Fixed\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Indexable.index\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Indexable\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Indexable.mk\",\"kind\":\"constructor\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Lengthable.length\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Lengthable\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Lengthable.mk\",\"kind\":\"constructor\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Quotient.isZero\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Quotient\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Quotient.mk\",\"kind\":\"constructor\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Quotient.quotient\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Quotient\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Quotient.remainder\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Quotient\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Sliceable.mk\",\"kind\":\"constructor\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Sliceable.slice\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Sliceable\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.ToMathInt.mk\",\"kind\":\"constructor\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.ToMathInt.toInt\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.ToMathInt\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.checkedMultiplyInt64.match_1\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"UInt64\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.divideMagnitudeInt64._f\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Nat\",\"UInt64\",\"instAddUInt64\",\"instHAdd\",\"instHSub\",\"instLEUInt64\",\"instOfNatNat\",\"instSubUInt64\",\"ite\",\"HAdd.hAdd\",\"HSub.hSub\",\"LE.le\",\"Nat.below\",\"Nat.succ\",\"OfNat.ofNat\",\"UInt64.decLe\",\"UInt64.instOfNat\",\"LexLeanRuntime.divideMagnitudeInt64.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.divideMagnitudeInt64.match_1\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"UInt64\",\"instOfNatNat\",\"Nat.casesOn\",\"Nat.succ\",\"OfNat.ofNat\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.instDecimalInt.match_1\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.listIndex._f\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"List\",\"Nat\",\"Option\",\"List.below\",\"List.cons\",\"List.nil\",\"Option.none\",\"Option.some\",\"LexLeanRuntime.listIndex.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.listIndex.match_1\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"instOfNatNat\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Nat.casesOn\",\"Nat.succ\",\"OfNat.ofNat\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.multiplyMagnitudeInt64._f\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"UInt64\",\"instAddUInt64\",\"instDecidableEqBool\",\"instHAdd\",\"instHSub\",\"instLEUInt64\",\"instLTUInt64\",\"instOfNatNat\",\"instSubUInt64\",\"ite\",\"Bool.or\",\"Bool.true\",\"Decidable.decide\",\"HAdd.hAdd\",\"HSub.hSub\",\"LE.le\",\"LT.lt\",\"Nat.below\",\"Nat.succ\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"UInt64.decLe\",\"UInt64.decLt\",\"UInt64.instOfNat\",\"LexLeanRuntime.multiplyMagnitudeInt64.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.multiplyMagnitudeInt64.match_1\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Nat\",\"UInt64\",\"instOfNatNat\",\"Nat.casesOn\",\"Nat.succ\",\"OfNat.ofNat\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Boundary.Grove.casesOn\",\"kind\":\"definition\",\"module\":\"Coverage.Boundary\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Except\",\"Int\",\"List\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"String\",\"PUnit.unit\",\"Coverage.Boundary.Grove\",\"Coverage.Boundary.Grove.leaf\",\"Coverage.Boundary.Grove.node\",\"Coverage.Boundary.Grove.rec\",\"Coverage.Boundary.Grove.settled\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Boundary.Grove.leaf\",\"kind\":\"constructor\",\"module\":\"Coverage.Boundary\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Boundary.Grove.node\",\"kind\":\"constructor\",\"module\":\"Coverage.Boundary\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Boundary.Grove.rec\",\"kind\":\"recursor\",\"module\":\"Coverage.Boundary\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Boundary.Grove.settled\",\"kind\":\"constructor\",\"module\":\"Coverage.Boundary\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Boundary.groveTags.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Boundary\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Except\",\"Int\",\"List\",\"Nat\",\"Option\",\"Prod\",\"String\",\"Coverage.Boundary.Grove\",\"Coverage.Boundary.Grove.casesOn\",\"Coverage.Boundary.Grove.leaf\",\"Coverage.Boundary.Grove.node\",\"Coverage.Boundary.Grove.settled\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Main.options.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Main.options.match_3\",\"kind\":\"definition\",\"module\":\"Coverage.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Except.casesOn\",\"Except.error\",\"Except.ok\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.countdown._unary\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"InvImage\",\"Nat\",\"PSigma\",\"instAddNat\",\"instHAdd\",\"instLTNat\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"Bool.true\",\"HAdd.hAdd\",\"LT.lt\",\"LexLeanRuntime.subtract\",\"Nat.blt\",\"OfNat.ofNat\",\"PSigma.casesOn\",\"PSigma.mk\",\"WellFounded.Nat.fix\",\"Coverage.Recur.countdown.match_1\",\"Coverage.Recur.countdown._unary._proof_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.countdown.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Bool.casesOn\",\"Bool.false\",\"Bool.true\",\"Eq.refl\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.exprSize._f\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"List\",\"Nat\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"OfNat.ofNat\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Recur.exprSize.match_1\",\"Coverage.Syntax.Expr.below\",\"Coverage.Syntax.Expr.block\",\"Coverage.Syntax.Expr.literal\",\"Coverage.Syntax.Expr.plus\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.exprSize.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Expr.block\",\"Coverage.Syntax.Expr.casesOn\",\"Coverage.Syntax.Expr.literal\",\"Coverage.Syntax.Expr.plus\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.forestSize._f\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"List\",\"Nat\",\"Unit\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\",\"Coverage.Syntax.Rose\",\"Coverage.Recur.forestSize.match_1\",\"Coverage.Syntax.Rose.below_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.forestSize.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Unit\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Unit.unit\",\"Coverage.Syntax.Rose\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.prune._proof_1\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"Eq\",\"InvImage\",\"Nat\",\"id\",\"instLTNat\",\"Eq.ndrec\",\"Eq.symm\",\"LT.lt\",\"Coverage.Recur.reassociate_literal\",\"Coverage.Recur.weight\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.literal\",\"Coverage.Syntax.Term.plus\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.prune._proof_2\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"Eq\",\"InvImage\",\"Nat\",\"id\",\"instLTNat\",\"Eq.ndrec\",\"Eq.symm\",\"LT.lt\",\"Coverage.Recur.prune_plus\",\"Coverage.Recur.weight\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.plus\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.reassociate._proof_1\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"Eq\",\"InvImage\",\"Nat\",\"id\",\"instLTNat\",\"Eq.ndrec\",\"Eq.symm\",\"LT.lt\",\"Coverage.Recur.reassociate_literal\",\"Coverage.Recur.weight\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.literal\",\"Coverage.Syntax.Term.plus\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.reassociate._proof_2\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"Eq\",\"InvImage\",\"Nat\",\"id\",\"instLTNat\",\"Eq.ndrec\",\"Eq.symm\",\"LT.lt\",\"Coverage.Recur.reassociate_plus\",\"Coverage.Recur.weight\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.plus\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.reassociate.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Eq\",\"Nat\",\"Eq.refl\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.casesOn\",\"Coverage.Syntax.Term.literal\",\"Coverage.Syntax.Term.plus\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.reduce._unary\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"InvImage\",\"Nat\",\"instLTNat\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"Bool.true\",\"LT.lt\",\"LexLeanRuntime.subtract\",\"Nat.beq\",\"Nat.blt\",\"OfNat.ofNat\",\"WellFounded.Nat.fix\",\"Coverage.Recur.countdown.match_1\",\"Coverage.Recur.reduce._unary._proof_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.roseSize._f\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"List\",\"Nat\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"OfNat.ofNat\",\"Coverage.Syntax.Rose\",\"Coverage.Recur.roseSize.match_1\",\"Coverage.Syntax.Rose.below\",\"Coverage.Syntax.Rose.node\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.roseSize.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Coverage.Syntax.Rose\",\"Coverage.Syntax.Rose.casesOn\",\"Coverage.Syntax.Rose.node\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.search._unary\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"InvImage\",\"Nat\",\"instAddNat\",\"instHAdd\",\"instLTNat\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"Bool.true\",\"HAdd.hAdd\",\"LT.lt\",\"LexLeanRuntime.subtract\",\"Nat.ble\",\"Nat.blt\",\"OfNat.ofNat\",\"WellFounded.Nat.fix\",\"Coverage.Recur.countdown.match_1\",\"Coverage.Recur.search._unary._proof_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.statementSize._f\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"List\",\"Nat\",\"String\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"OfNat.ofNat\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Recur.statementSize.match_1\",\"Coverage.Syntax.Stmt.assign\",\"Coverage.Syntax.Stmt.below\",\"Coverage.Syntax.Stmt.sequence\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.statementSize.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"String\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Stmt.assign\",\"Coverage.Syntax.Stmt.casesOn\",\"Coverage.Syntax.Stmt.sequence\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.statementsSize._f\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"List\",\"Nat\",\"Unit\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Recur.statementsSize.match_1\",\"Coverage.Syntax.Expr.below_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.statementsSize.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Unit\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Unit.unit\",\"Coverage.Syntax.Stmt\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.weight._f\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Nat\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"OfNat.ofNat\",\"Coverage.Syntax.Term\",\"Coverage.Recur.weight.match_1\",\"Coverage.Syntax.Term.below\",\"Coverage.Syntax.Term.literal\",\"Coverage.Syntax.Term.plus\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.weight.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.casesOn\",\"Coverage.Syntax.Term.literal\",\"Coverage.Syntax.Term.plus\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Expr.below\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"PProd\",\"PUnit\",\"String\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Expr.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Expr.below_1\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"PProd\",\"PUnit\",\"String\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Expr.rec_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Expr.block\",\"kind\":\"constructor\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Expr.brecOn\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Expr.below\",\"Coverage.Syntax.Expr.below_1\",\"Coverage.Syntax.Stmt.below\",\"Coverage.Syntax.Expr.brecOn.go\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Expr.brecOn_1\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Expr.below\",\"Coverage.Syntax.Expr.below_1\",\"Coverage.Syntax.Stmt.below\",\"Coverage.Syntax.Expr.brecOn_1.go\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Expr.casesOn\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"PUnit\",\"String\",\"PUnit.unit\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Expr.block\",\"Coverage.Syntax.Expr.literal\",\"Coverage.Syntax.Expr.plus\",\"Coverage.Syntax.Expr.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Expr.literal\",\"kind\":\"constructor\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Expr.plus\",\"kind\":\"constructor\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Expr.rec\",\"kind\":\"recursor\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Expr.rec_1\",\"kind\":\"recursor\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Rose.below\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"PProd\",\"PUnit\",\"Coverage.Syntax.Rose\",\"Coverage.Syntax.Rose.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Rose.below_1\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"PProd\",\"PUnit\",\"Coverage.Syntax.Rose\",\"Coverage.Syntax.Rose.rec_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Rose.brecOn\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Coverage.Syntax.Rose\",\"Coverage.Syntax.Rose.below\",\"Coverage.Syntax.Rose.below_1\",\"Coverage.Syntax.Rose.brecOn.go\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Rose.brecOn_1\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Coverage.Syntax.Rose\",\"Coverage.Syntax.Rose.below\",\"Coverage.Syntax.Rose.below_1\",\"Coverage.Syntax.Rose.brecOn_1.go\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Rose.casesOn\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"PUnit\",\"PUnit.unit\",\"Coverage.Syntax.Rose\",\"Coverage.Syntax.Rose.node\",\"Coverage.Syntax.Rose.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Rose.node\",\"kind\":\"constructor\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Rose.rec\",\"kind\":\"recursor\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Rose.rec_1\",\"kind\":\"recursor\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Stmt.assign\",\"kind\":\"constructor\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Stmt.below\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"PProd\",\"PUnit\",\"String\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Stmt.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Stmt.brecOn\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Expr.below\",\"Coverage.Syntax.Expr.below_1\",\"Coverage.Syntax.Stmt.below\",\"Coverage.Syntax.Stmt.brecOn.go\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Stmt.casesOn\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"PUnit\",\"String\",\"PUnit.unit\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Stmt.assign\",\"Coverage.Syntax.Stmt.rec\",\"Coverage.Syntax.Stmt.sequence\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Stmt.rec\",\"kind\":\"recursor\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Stmt.sequence\",\"kind\":\"constructor\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Term.below\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"PProd\",\"PUnit\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Term.brecOn\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.below\",\"Coverage.Syntax.Term.brecOn.go\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Term.casesOn\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.literal\",\"Coverage.Syntax.Term.plus\",\"Coverage.Syntax.Term.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Term.literal\",\"kind\":\"constructor\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Term.plus\",\"kind\":\"constructor\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Term.rec\",\"kind\":\"recursor\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Box.content\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Types.Box\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Box.mk\",\"kind\":\"constructor\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Point.mk\",\"kind\":\"constructor\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Point.x\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Types.Point\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Point.y\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Types.Point\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Shape.casesOn\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Coverage.Types.Shape\",\"Coverage.Types.Shape.circle\",\"Coverage.Types.Shape.empty\",\"Coverage.Types.Shape.rec\",\"Coverage.Types.Shape.rect\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Shape.circle\",\"kind\":\"constructor\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Shape.empty\",\"kind\":\"constructor\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Shape.rec\",\"kind\":\"recursor\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Shape.rect\",\"kind\":\"constructor\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Tree.below\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"PProd\",\"PUnit\",\"Coverage.Types.Tree\",\"Coverage.Types.Tree.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Tree.brecOn\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Types.Tree\",\"Coverage.Types.Tree.below\",\"Coverage.Types.Tree.brecOn.go\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Tree.casesOn\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Coverage.Types.Tree\",\"Coverage.Types.Tree.leaf\",\"Coverage.Types.Tree.node\",\"Coverage.Types.Tree.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Tree.leaf\",\"kind\":\"constructor\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Tree.node\",\"kind\":\"constructor\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Tree.rec\",\"kind\":\"recursor\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Weights.mk\",\"kind\":\"constructor\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Weights.scale\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Coverage.Types.Weights\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.area.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Unit\",\"Unit.unit\",\"Coverage.Types.Shape\",\"Coverage.Types.Shape.casesOn\",\"Coverage.Types.Shape.circle\",\"Coverage.Types.Shape.empty\",\"Coverage.Types.Shape.rect\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.isEven._f\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Nat\",\"PProd\",\"Unit\",\"Bool.true\",\"Nat.below\",\"Nat.succ\",\"Nat.zero\",\"Coverage.Types.isEven.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.isEven.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Unit\",\"Nat.casesOn\",\"Nat.succ\",\"Nat.zero\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.isOdd._f\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Nat\",\"PProd\",\"Unit\",\"Bool.false\",\"Nat.below\",\"Nat.succ\",\"Nat.zero\",\"Coverage.Types.isEven.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.mapList._f\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"List\",\"List.below\",\"List.cons\",\"List.nil\",\"Coverage.Types.mapList.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.mapList.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.casesOn\",\"List.cons\",\"List.nil\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.treeSum._f\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Nat\",\"Unit\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"OfNat.ofNat\",\"Coverage.Types.Tree\",\"Coverage.Types.Tree.below\",\"Coverage.Types.Tree.leaf\",\"Coverage.Types.Tree.node\",\"Coverage.Types.treeSum.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.treeSum.match_1\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Unit\",\"Unit.unit\",\"Coverage.Types.Tree\",\"Coverage.Types.Tree.casesOn\",\"Coverage.Types.Tree.leaf\",\"Coverage.Types.Tree.node\"],\"declaration\":null,\"inductive\":null},{\"name\":\"_private.Coverage.Recur.0.Coverage.Recur.countdown_decreases._proof_1_4\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"And\",\"Bool\",\"Eq\",\"False\",\"Int\",\"Nat\",\"Not\",\"id\",\"instDecidableEqBool\",\"instHAdd\",\"instHSub\",\"instLENat\",\"instLTNat\",\"instNatCastInt\",\"instOfNat\",\"instOfNatNat\",\"instSubNat\",\"le_of_le_of_eq\",\"of_decide_eq_true\",\"And.left\",\"And.right\",\"Bool.true\",\"Decidable.decide\",\"Eq.refl\",\"Eq.symm\",\"Eq.trans\",\"HAdd.hAdd\",\"HSub.hSub\",\"Int.add_one_le_of_lt\",\"Int.instAdd\",\"Int.instLEInt\",\"Int.instNegInt\",\"Int.instSub\",\"Int.sub_eq_zero_of_eq\",\"Int.sub_nonneg_of_le\",\"LE.le\",\"LT.lt\",\"List.cons\",\"List.nil\",\"Nat.cast\",\"Nat.le_of_not_lt\",\"Neg.neg\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"Or.elim\",\"Lean.Omega.LinearCombo\",\"Lean.Omega.tidy_sat\",\"Lean.Omega.Coeffs.ofList\",\"Lean.Omega.Constraint.addEquality_sat\",\"Lean.Omega.Constraint.addInequality_sat\",\"Lean.Omega.Constraint.combine_sat'\",\"Lean.Omega.Constraint.isImpossible\",\"Lean.Omega.Constraint.mk\",\"Lean.Omega.Constraint.not_sat'_of_isImpossible\",\"Lean.Omega.Int.add_congr\",\"Lean.Omega.Int.ofNat_le_of_le\",\"Lean.Omega.Int.ofNat_lt_of_lt\",\"Lean.Omega.Int.ofNat_sub_dichotomy\",\"Lean.Omega.Int.sub_congr\",\"Lean.Omega.LinearCombo.add_eval\",\"Lean.Omega.LinearCombo.coordinate\",\"Lean.Omega.LinearCombo.coordinate_eval_0\",\"Lean.Omega.LinearCombo.coordinate_eval_1\",\"Lean.Omega.LinearCombo.eval\",\"Lean.Omega.LinearCombo.instAdd\",\"Lean.Omega.LinearCombo.instSub\",\"Lean.Omega.LinearCombo.mk\",\"Lean.Omega.LinearCombo.sub_eval\"],\"declaration\":null,\"inductive\":null},{\"name\":\"_private.Coverage.Recur.0.Coverage.Recur.countdown_decreases._simp_1_1\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"Not\",\"Bool.false\",\"Bool.not_eq_true\",\"Bool.true\",\"Eq.symm\"],\"declaration\":null,\"inductive\":null},{\"name\":\"_private.Coverage.Recur.0.Coverage.Recur.prune_plus._proof_1_7\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"Int\",\"Nat\",\"Not\",\"id\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instHSub\",\"instLTNat\",\"instNatCastInt\",\"instOfNat\",\"instOfNatNat\",\"le_of_le_of_eq\",\"of_decide_eq_true\",\"Bool.true\",\"Decidable.decide\",\"Eq.refl\",\"Eq.symm\",\"Eq.trans\",\"HAdd.hAdd\",\"HSub.hSub\",\"Int.instAdd\",\"Int.instLEInt\",\"Int.instNegInt\",\"Int.instSub\",\"Int.natCast_add\",\"Int.natCast_nonneg\",\"Int.sub_nonneg_of_le\",\"LT.lt\",\"List.cons\",\"List.nil\",\"Nat.cast\",\"Nat.le_of_not_lt\",\"Neg.neg\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"Coverage.Recur.weight\",\"Coverage.Syntax.Term\",\"Lean.Omega.LinearCombo\",\"Lean.Omega.combo_sat'\",\"Lean.Omega.tidy_sat\",\"Lean.Omega.Coeffs.ofList\",\"Lean.Omega.Constraint.addInequality_sat\",\"Lean.Omega.Constraint.combine_sat'\",\"Lean.Omega.Constraint.isImpossible\",\"Lean.Omega.Constraint.mk\",\"Lean.Omega.Constraint.not_sat'_of_isImpossible\",\"Lean.Omega.Int.add_congr\",\"Lean.Omega.Int.ofNat_le_of_le\",\"Lean.Omega.Int.sub_congr\",\"Lean.Omega.LinearCombo.add_eval\",\"Lean.Omega.LinearCombo.coordinate\",\"Lean.Omega.LinearCombo.coordinate_eval_0\",\"Lean.Omega.LinearCombo.coordinate_eval_1\",\"Lean.Omega.LinearCombo.coordinate_eval_2\",\"Lean.Omega.LinearCombo.eval\",\"Lean.Omega.LinearCombo.instAdd\",\"Lean.Omega.LinearCombo.instSub\",\"Lean.Omega.LinearCombo.mk\",\"Lean.Omega.LinearCombo.sub_eval\"],\"declaration\":null,\"inductive\":null},{\"name\":\"_private.Coverage.Recur.0.Coverage.Recur.reassociate_literal._proof_1_7\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"Int\",\"Nat\",\"Not\",\"id\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instHSub\",\"instLTNat\",\"instNatCastInt\",\"instOfNat\",\"instOfNatNat\",\"le_of_le_of_eq\",\"of_decide_eq_true\",\"Bool.true\",\"Decidable.decide\",\"Eq.refl\",\"Eq.symm\",\"Eq.trans\",\"HAdd.hAdd\",\"HSub.hSub\",\"Int.instAdd\",\"Int.instLEInt\",\"Int.instNegInt\",\"Int.instSub\",\"Int.natCast_add\",\"Int.sub_nonneg_of_le\",\"LT.lt\",\"List.cons\",\"List.nil\",\"Nat.cast\",\"Nat.le_of_not_lt\",\"Neg.neg\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"Coverage.Recur.weight\",\"Coverage.Syntax.Term\",\"Lean.Omega.LinearCombo\",\"Lean.Omega.tidy_sat\",\"Lean.Omega.Coeffs.ofList\",\"Lean.Omega.Constraint.addInequality_sat\",\"Lean.Omega.Constraint.isImpossible\",\"Lean.Omega.Constraint.mk\",\"Lean.Omega.Constraint.not_sat'_of_isImpossible\",\"Lean.Omega.Int.add_congr\",\"Lean.Omega.Int.ofNat_le_of_le\",\"Lean.Omega.Int.sub_congr\",\"Lean.Omega.LinearCombo.add_eval\",\"Lean.Omega.LinearCombo.coordinate\",\"Lean.Omega.LinearCombo.coordinate_eval_0\",\"Lean.Omega.LinearCombo.eval\",\"Lean.Omega.LinearCombo.instAdd\",\"Lean.Omega.LinearCombo.instSub\",\"Lean.Omega.LinearCombo.mk\",\"Lean.Omega.LinearCombo.sub_eval\"],\"declaration\":null,\"inductive\":null},{\"name\":\"_private.Coverage.Recur.0.Coverage.Recur.reassociate_plus._proof_1_7\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"Int\",\"Nat\",\"Not\",\"id\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instHSub\",\"instLTNat\",\"instNatCastInt\",\"instOfNat\",\"instOfNatNat\",\"le_of_le_of_eq\",\"of_decide_eq_true\",\"Bool.true\",\"Decidable.decide\",\"Eq.refl\",\"Eq.symm\",\"Eq.trans\",\"HAdd.hAdd\",\"HSub.hSub\",\"Int.instAdd\",\"Int.instLEInt\",\"Int.instNegInt\",\"Int.instSub\",\"Int.natCast_add\",\"Int.natCast_nonneg\",\"Int.sub_nonneg_of_le\",\"LT.lt\",\"List.cons\",\"List.nil\",\"Nat.cast\",\"Nat.le_of_not_lt\",\"Neg.neg\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"Coverage.Recur.weight\",\"Coverage.Syntax.Term\",\"Lean.Omega.LinearCombo\",\"Lean.Omega.combo_sat'\",\"Lean.Omega.tidy_sat\",\"Lean.Omega.Coeffs.ofList\",\"Lean.Omega.Constraint.addInequality_sat\",\"Lean.Omega.Constraint.isImpossible\",\"Lean.Omega.Constraint.mk\",\"Lean.Omega.Constraint.not_sat'_of_isImpossible\",\"Lean.Omega.Int.add_congr\",\"Lean.Omega.Int.ofNat_le_of_le\",\"Lean.Omega.Int.sub_congr\",\"Lean.Omega.LinearCombo.add_eval\",\"Lean.Omega.LinearCombo.coordinate\",\"Lean.Omega.LinearCombo.coordinate_eval_0\",\"Lean.Omega.LinearCombo.coordinate_eval_1\",\"Lean.Omega.LinearCombo.coordinate_eval_2\",\"Lean.Omega.LinearCombo.eval\",\"Lean.Omega.LinearCombo.instAdd\",\"Lean.Omega.LinearCombo.instSub\",\"Lean.Omega.LinearCombo.mk\",\"Lean.Omega.LinearCombo.sub_eval\"],\"declaration\":null,\"inductive\":null},{\"name\":\"_private.Coverage.Recur.0.Coverage.Recur.reduce_decreases._proof_1_4\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"And\",\"Bool\",\"Eq\",\"False\",\"Int\",\"Nat\",\"Not\",\"id\",\"instDecidableEqBool\",\"instHAdd\",\"instHSub\",\"instLENat\",\"instLTNat\",\"instNatCastInt\",\"instOfNat\",\"instOfNatNat\",\"instSubNat\",\"le_of_le_of_eq\",\"of_decide_eq_true\",\"And.left\",\"And.right\",\"Bool.true\",\"Decidable.decide\",\"Eq.refl\",\"Eq.symm\",\"Eq.trans\",\"GT.gt\",\"HAdd.hAdd\",\"HSub.hSub\",\"Int.add_one_le_of_lt\",\"Int.instAdd\",\"Int.instLEInt\",\"Int.instNegInt\",\"Int.instSub\",\"Int.natCast_nonneg\",\"Int.sub_eq_zero_of_eq\",\"Int.sub_nonneg_of_le\",\"LE.le\",\"LT.lt\",\"List.cons\",\"List.nil\",\"Nat.cast\",\"Nat.le_of_not_lt\",\"Nat.lt_or_gt_of_ne\",\"Neg.neg\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"Or.elim\",\"Lean.Omega.LinearCombo\",\"Lean.Omega.combo_sat'\",\"Lean.Omega.tidy_sat\",\"Lean.Omega.Coeffs.ofList\",\"Lean.Omega.Constraint.addEquality_sat\",\"Lean.Omega.Constraint.addInequality_sat\",\"Lean.Omega.Constraint.combine_sat'\",\"Lean.Omega.Constraint.isImpossible\",\"Lean.Omega.Constraint.mk\",\"Lean.Omega.Constraint.not_sat'_of_isImpossible\",\"Lean.Omega.Int.add_congr\",\"Lean.Omega.Int.ofNat_le_of_le\",\"Lean.Omega.Int.ofNat_lt_of_lt\",\"Lean.Omega.Int.ofNat_sub_dichotomy\",\"Lean.Omega.Int.sub_congr\",\"Lean.Omega.LinearCombo.add_eval\",\"Lean.Omega.LinearCombo.coordinate\",\"Lean.Omega.LinearCombo.coordinate_eval_0\",\"Lean.Omega.LinearCombo.coordinate_eval_1\",\"Lean.Omega.LinearCombo.coordinate_eval_2\",\"Lean.Omega.LinearCombo.eval\",\"Lean.Omega.LinearCombo.instAdd\",\"Lean.Omega.LinearCombo.instSub\",\"Lean.Omega.LinearCombo.mk\",\"Lean.Omega.LinearCombo.sub_eval\"],\"declaration\":null,\"inductive\":null},{\"name\":\"_private.Coverage.Recur.0.Coverage.Recur.reduce_decreases._simp_1_1\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"Not\",\"Bool.false\",\"Bool.not_eq_true\",\"Bool.true\",\"Eq.symm\"],\"declaration\":null,\"inductive\":null},{\"name\":\"_private.Coverage.Recur.0.Coverage.Recur.search_decreases._proof_1_4\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"And\",\"Bool\",\"Eq\",\"False\",\"Int\",\"Nat\",\"Not\",\"id\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instHSub\",\"instLENat\",\"instLTNat\",\"instNatCastInt\",\"instOfNat\",\"instOfNatNat\",\"instSubNat\",\"le_of_le_of_eq\",\"of_decide_eq_true\",\"And.left\",\"And.right\",\"Bool.true\",\"Decidable.decide\",\"Eq.refl\",\"Eq.symm\",\"Eq.trans\",\"HAdd.hAdd\",\"HSub.hSub\",\"Int.add_one_le_of_lt\",\"Int.instAdd\",\"Int.instLEInt\",\"Int.instNegInt\",\"Int.instSub\",\"Int.natCast_add\",\"Int.sub_eq_zero_of_eq\",\"Int.sub_nonneg_of_le\",\"LE.le\",\"LT.lt\",\"List.cons\",\"List.nil\",\"Nat.cast\",\"Nat.le_of_not_lt\",\"Neg.neg\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"Or.elim\",\"Lean.Omega.LinearCombo\",\"Lean.Omega.combo_sat'\",\"Lean.Omega.tidy_sat\",\"Lean.Omega.Coeffs.ofList\",\"Lean.Omega.Constraint.addEquality_sat\",\"Lean.Omega.Constraint.addInequality_sat\",\"Lean.Omega.Constraint.combine_sat'\",\"Lean.Omega.Constraint.isImpossible\",\"Lean.Omega.Constraint.mk\",\"Lean.Omega.Constraint.not_sat'_of_isImpossible\",\"Lean.Omega.Int.add_congr\",\"Lean.Omega.Int.ofNat_le_of_le\",\"Lean.Omega.Int.ofNat_lt_of_lt\",\"Lean.Omega.Int.ofNat_sub_dichotomy\",\"Lean.Omega.Int.sub_congr\",\"Lean.Omega.LinearCombo.add_eval\",\"Lean.Omega.LinearCombo.coordinate\",\"Lean.Omega.LinearCombo.coordinate_eval_0\",\"Lean.Omega.LinearCombo.coordinate_eval_1\",\"Lean.Omega.LinearCombo.coordinate_eval_3\",\"Lean.Omega.LinearCombo.coordinate_eval_4\",\"Lean.Omega.LinearCombo.eval\",\"Lean.Omega.LinearCombo.instAdd\",\"Lean.Omega.LinearCombo.instSub\",\"Lean.Omega.LinearCombo.mk\",\"Lean.Omega.LinearCombo.sub_eval\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.countdown._unary._proof_1\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"InvImage\",\"Nat\",\"PSigma\",\"id\",\"instAddNat\",\"instHAdd\",\"instLTNat\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"HAdd.hAdd\",\"LT.lt\",\"LexLeanRuntime.subtract\",\"Nat.blt\",\"OfNat.ofNat\",\"PSigma.casesOn\",\"PSigma.mk\",\"Coverage.Recur.countdown_decreases\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.reduce._unary._proof_1\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"InvImage\",\"Nat\",\"id\",\"instLTNat\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"LT.lt\",\"LexLeanRuntime.subtract\",\"Nat.beq\",\"Nat.blt\",\"OfNat.ofNat\",\"Coverage.Recur.reduce_decreases\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Recur.search._unary._proof_1\",\"kind\":\"theorem\",\"module\":\"Coverage.Recur\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"InvImage\",\"Nat\",\"id\",\"instAddNat\",\"instHAdd\",\"instLTNat\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"Bool.true\",\"HAdd.hAdd\",\"LT.lt\",\"LexLeanRuntime.subtract\",\"Nat.ble\",\"Nat.blt\",\"OfNat.ofNat\",\"Coverage.Recur.search_decreases\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Expr.brecOn.go\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"PProd\",\"PUnit\",\"String\",\"List.cons\",\"List.nil\",\"PProd.mk\",\"PUnit.unit\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Expr.below\",\"Coverage.Syntax.Expr.below_1\",\"Coverage.Syntax.Expr.block\",\"Coverage.Syntax.Expr.literal\",\"Coverage.Syntax.Expr.plus\",\"Coverage.Syntax.Expr.rec\",\"Coverage.Syntax.Stmt.assign\",\"Coverage.Syntax.Stmt.below\",\"Coverage.Syntax.Stmt.sequence\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Expr.brecOn_1.go\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"PProd\",\"PUnit\",\"String\",\"List.cons\",\"List.nil\",\"PProd.mk\",\"PUnit.unit\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Expr.below\",\"Coverage.Syntax.Expr.below_1\",\"Coverage.Syntax.Expr.block\",\"Coverage.Syntax.Expr.literal\",\"Coverage.Syntax.Expr.plus\",\"Coverage.Syntax.Expr.rec_1\",\"Coverage.Syntax.Stmt.assign\",\"Coverage.Syntax.Stmt.below\",\"Coverage.Syntax.Stmt.sequence\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Rose.brecOn.go\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"PProd\",\"PUnit\",\"List.cons\",\"List.nil\",\"PProd.mk\",\"PUnit.unit\",\"Coverage.Syntax.Rose\",\"Coverage.Syntax.Rose.below\",\"Coverage.Syntax.Rose.below_1\",\"Coverage.Syntax.Rose.node\",\"Coverage.Syntax.Rose.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Rose.brecOn_1.go\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"PProd\",\"PUnit\",\"List.cons\",\"List.nil\",\"PProd.mk\",\"PUnit.unit\",\"Coverage.Syntax.Rose\",\"Coverage.Syntax.Rose.below\",\"Coverage.Syntax.Rose.below_1\",\"Coverage.Syntax.Rose.node\",\"Coverage.Syntax.Rose.rec_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Stmt.brecOn.go\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"PProd\",\"PUnit\",\"String\",\"List.cons\",\"List.nil\",\"PProd.mk\",\"PUnit.unit\",\"Coverage.Syntax.Expr\",\"Coverage.Syntax.Stmt\",\"Coverage.Syntax.Expr.below\",\"Coverage.Syntax.Expr.below_1\",\"Coverage.Syntax.Expr.block\",\"Coverage.Syntax.Expr.literal\",\"Coverage.Syntax.Expr.plus\",\"Coverage.Syntax.Stmt.assign\",\"Coverage.Syntax.Stmt.below\",\"Coverage.Syntax.Stmt.rec\",\"Coverage.Syntax.Stmt.sequence\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Syntax.Term.brecOn.go\",\"kind\":\"definition\",\"module\":\"Coverage.Syntax\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"PProd\",\"PUnit\",\"PProd.mk\",\"PUnit.unit\",\"Coverage.Syntax.Term\",\"Coverage.Syntax.Term.below\",\"Coverage.Syntax.Term.literal\",\"Coverage.Syntax.Term.plus\",\"Coverage.Syntax.Term.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Coverage.Types.Tree.brecOn.go\",\"kind\":\"definition\",\"module\":\"Coverage.Types\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"PProd\",\"PUnit\",\"PProd.mk\",\"PUnit.unit\",\"Coverage.Types.Tree\",\"Coverage.Types.Tree.below\",\"Coverage.Types.Tree.leaf\",\"Coverage.Types.Tree.node\",\"Coverage.Types.Tree.rec\"],\"declaration\":null,\"inductive\":null}],\"externals\":[{\"name\":\"Add\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Array\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"BEq\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Bool\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"ByteArray\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Char\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Decidable\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Except\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"GetElem?\",\"kind\":\"inductive\",\"module\":\"Init.GetElem\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"HAdd\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"HMul\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"HSub\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Int\",\"kind\":\"inductive\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Int16\",\"kind\":\"inductive\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Int32\",\"kind\":\"inductive\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Int64\",\"kind\":\"inductive\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Int8\",\"kind\":\"inductive\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"List\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Mul\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Nat\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Neg\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"OfNat\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Option\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Ord\",\"kind\":\"inductive\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Ordering\",\"kind\":\"inductive\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"PUnit\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Prod\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"String\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Sub\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"ToString\",\"kind\":\"inductive\",\"module\":\"Init.Data.ToString.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"UInt16\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"UInt32\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"UInt64\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"UInt8\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"bne\",\"kind\":\"definition\",\"module\":\"Init.Core\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instAddInt64\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instAddNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instAddUInt64\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instBEqOfDecidableEq\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instDecidableEqBool\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instDecidableEqInt32\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instDecidableEqInt64\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instDecidableEqNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instDecidableEqOrdering\",\"kind\":\"definition\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instDecidableEqString\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instDecidableEqUInt16\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instHAdd\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instHMul\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instHSub\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instMulNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instOfNat\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instOfNatNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instOrdBool\",\"kind\":\"definition\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instOrdInt\",\"kind\":\"definition\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instOrdNat\",\"kind\":\"definition\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instSubInt64\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instSubNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instSubUInt64\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instToStringInt\",\"kind\":\"definition\",\"module\":\"Init.Data.ToString.Extra\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instToStringInt8\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instToStringUInt32\",\"kind\":\"definition\",\"module\":\"Init.Data.ToString.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Array.instGetElem?NatLtSize\",\"kind\":\"definition\",\"module\":\"Init.GetElem\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Bool.false\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Bool\"},{\"name\":\"Bool.not\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Bool.true\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Bool\"},{\"name\":\"ByteArray.data\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"ByteArray.extract\",\"kind\":\"definition\",\"module\":\"Init.Data.ByteArray.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"ByteArray.fastAppend\",\"kind\":\"definition\",\"module\":\"Init.Data.ByteArray.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"ByteArray.instBEq\",\"kind\":\"definition\",\"module\":\"Init.Data.ByteArray.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"ByteArray.mk\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":true,\"inductive_type\":\"ByteArray\"},{\"name\":\"ByteArray.size\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"ByteArray.toList\",\"kind\":\"definition\",\"module\":\"Init.Data.ByteArray.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Decidable.decide\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Decidable.isFalse\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Decidable\"},{\"name\":\"Decidable.isTrue\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Decidable\"},{\"name\":\"Except.error\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Except\"},{\"name\":\"Except.ok\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Except\"},{\"name\":\"Int.decLt\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int.instAdd\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int.instDecidableEq\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int.instMul\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int.instNegInt\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int.instSub\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int.ofNat\",\"kind\":\"constructor\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":true,\"inductive_type\":\"Int\"},{\"name\":\"Int.tdiv\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.DivMod.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int.tmod\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.DivMod.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int16.complement\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int16.land\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int16.lor\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int16.ofInt\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int16.ofNat\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int16.shiftLeft\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int16.shiftRight\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int16.toInt\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int16.xor\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int32.complement\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int32.instNeg\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int32.instOfNat\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int32.land\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int32.lor\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int32.ofInt\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int32.ofNat\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int32.shiftLeft\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int32.shiftRight\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int32.toInt\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int32.xor\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int64.complement\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int64.decLt\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int64.instNeg\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int64.instOfNat\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int64.land\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int64.lor\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int64.ofInt\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int64.ofNat\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int64.shiftLeft\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int64.shiftRight\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int64.toInt\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int64.xor\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int8.complement\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int8.land\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int8.lor\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int8.ofInt\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int8.ofNat\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int8.shiftLeft\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int8.shiftRight\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int8.toInt\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int8.xor\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.all\",\"kind\":\"definition\",\"module\":\"Init.Data.List.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.appendTR\",\"kind\":\"definition\",\"module\":\"Init.Data.List.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.cons\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"List\"},{\"name\":\"List.drop\",\"kind\":\"definition\",\"module\":\"Init.Data.List.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.filterTR\",\"kind\":\"definition\",\"module\":\"Init.Data.List.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.foldl\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.instOrd\",\"kind\":\"definition\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.isEmpty\",\"kind\":\"definition\",\"module\":\"Init.Data.List.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.lengthTR\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.mapTR\",\"kind\":\"definition\",\"module\":\"Init.Data.List.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.nil\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"List\"},{\"name\":\"List.reverse\",\"kind\":\"definition\",\"module\":\"Init.Data.List.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.takeTR\",\"kind\":\"axiom\",\"module\":\"Init.Data.List.Impl\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.toArray\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Nat.beq\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Nat.ble\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Nat.blt\",\"kind\":\"definition\",\"module\":\"Init.Data.Nat.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Nat.decLe\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Nat.decLt\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Nat.div\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Nat.mod\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Nat.succ\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Nat\"},{\"name\":\"Nat.zero\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Nat\"},{\"name\":\"Option.isSome\",\"kind\":\"definition\",\"module\":\"Init.Data.Option.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Option.none\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Option\"},{\"name\":\"Option.some\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Option\"},{\"name\":\"Ordering.eq\",\"kind\":\"constructor\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Ordering\"},{\"name\":\"Ordering.gt\",\"kind\":\"constructor\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Ordering\"},{\"name\":\"Ordering.lt\",\"kind\":\"constructor\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Ordering\"},{\"name\":\"Prod.mk\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Prod\"},{\"name\":\"String.fromUTF8?\",\"kind\":\"definition\",\"module\":\"Init.Data.String.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"String.intercalate\",\"kind\":\"axiom\",\"module\":\"Init.Data.String.Defs\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"String.isEmpty\",\"kind\":\"definition\",\"module\":\"Init.Data.String.Defs\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"String.length\",\"kind\":\"definition\",\"module\":\"Init.Data.String.Length\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"String.splitOn\",\"kind\":\"axiom\",\"module\":\"Init.Data.String.Legacy\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"String.toInt?\",\"kind\":\"axiom\",\"module\":\"Init.Data.String.Search\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"String.toList\",\"kind\":\"definition\",\"module\":\"Init.Data.String.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"String.toUTF8\",\"kind\":\"axiom\",\"module\":\"Init.Data.String.Defs\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt16.complement\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt16.land\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt16.lor\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt16.ofInt\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt16.ofNat\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.BasicAux\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt16.shiftLeft\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt16.shiftRight\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt16.toNat\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.BasicAux\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt16.xor\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.complement\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.instOfNat\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.BasicAux\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.land\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.lor\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.ofInt\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.shiftLeft\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.shiftRight\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.toNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.xor\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt64.complement\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt64.decLe\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt64.decLt\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt64.instOfNat\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.BasicAux\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt64.land\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt64.lor\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt64.ofInt\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt64.ofNat\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.BasicAux\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt64.shiftLeft\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt64.shiftRight\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt64.toInt64\",\"kind\":\"definition\",\"module\":\"Init.Data.SInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt64.toNat\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.BasicAux\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt64.xor\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt8.instOfNat\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.BasicAux\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt8.instOrd\",\"kind\":\"definition\",\"module\":\"Init.Data.Ord.UInt\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Unit.unit\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true}]}\n","stdout_sha256":"e4e5067ed79d17a4046ebf7e00d7c7b8434946bf8d286dc369e6d11931a7bb4f","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R0.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R0.lean deleted file mode 100644 index 62e9a4324..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R0.lean +++ /dev/null @@ -1,404 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Coverage.Boundary -import Coverage.Colls -import Coverage.Main -import Coverage.Prims -import Coverage.RecRoots -import Coverage.Recur -import Coverage.Syntax -import Coverage.Types -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [{ constructors := [[(.list .nat), (.list (.adt 0)), (.list (.pair .string .int)), (.option (.adt 0)), (.list (.pair .nat (.adt 0)))], [(.list (.pair .nat .int))], [(.result (.adt 0) .nat)]] }, - { constructors := [[(.list (.pair .string .int)), .string]] }], functions := [ - { parameters := [0, 1, 2, 3], types := [(.adt 0), (.adt 1), (.option (.list .nat)), (.list (.list (.pair .nat .bool)))], result := (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool)))))), - body := (.build .pair (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool)))))) [(.call 1 [(.var 0)]), (.build .pair (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))) [(.var 1), (.build .pair (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool)))) [(.var 2), (.var 3)])])]) }, - { parameters := [0], types := [(.adt 0)], result := .nat, - body := (.«match» .nat (.var 0) [(.arm (.adt 0) [1, 2, 3, 4, 5] (.prim .length [(.var 1)])), (.arm (.adt 1) [6] (.prim .length [(.var 6)])), (.arm (.adt 2) [7] (.value .nat (.nat 0)))]) }, - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.«match» .bool (.var 0) [(.arm (.adt 0) [1, 2, 3, 4, 5] (.cond (.call 3 [(.var 1)]) (.cond (.call 4 [(.var 2)]) (.cond (.call 5 [(.var 3)]) (.cond (.call 7 [(.var 4)]) (.cond (.call 8 [(.var 5)]) (.build .true .bool []) (.build .false .bool [])) (.build .false .bool [])) (.build .false .bool [])) (.build .false .bool [])) (.build .false .bool []))), (.arm (.adt 1) [6] (.cond (.call 11 [(.var 6)]) (.build .true .bool []) (.build .false .bool []))), (.arm (.adt 2) [7] (.cond (.call 12 [(.var 7)]) (.build .true .bool []) (.build .false .bool [])))]) }, - { parameters := [0], types := [(.list .nat)], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.var 1), (.var 3)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 3 [(.var 2)]) (.build .false .bool [])))]))]) }, - { parameters := [0], types := [(.list (.adt 0))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 2 [(.var 1)]) (.call 4 [(.var 2)]) (.build .false .bool [])))]) }, - { parameters := [0], types := [(.list (.pair .string .int))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 6 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 5 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, - { parameters := [0], types := [.int], result := .bool, - body := (.build .true .bool []) }, - { parameters := [0], types := [(.option (.adt 0))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .none [] (.build .true .bool [])), (.arm .some [1] (.call 2 [(.var 1)]))]) }, - { parameters := [0], types := [(.list (.pair .nat (.adt 0)))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 9 [(.var 1)]) (.call 8 [(.var 2)]) (.build .false .bool [])))]) }, - { parameters := [0], types := [(.pair .nat (.adt 0))], result := .bool, - body := (.cond (.call 10 [(.first (.var 0))]) (.call 2 [(.second (.var 0))]) (.build .false .bool [])) }, - { parameters := [0], types := [.nat], result := .bool, - body := (.build .true .bool []) }, - { parameters := [0], types := [(.list (.pair .nat .int))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 6 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 11 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, - { parameters := [0], types := [(.result (.adt 0) .nat)], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .ok [1] (.call 2 [(.var 1)])), (.arm .error [2] (.call 10 [(.var 2)]))]) }, - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.«match» .bool (.var 0) [(.arm (.adt 0) [1, 2] (.cond (.call 5 [(.var 1)]) (.build .true .bool []) (.build .false .bool [])))]) }, - { parameters := [0], types := [(.option (.list .nat))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .none [] (.build .true .bool [])), (.arm .some [1] (.call 3 [(.var 1)]))]) }, - { parameters := [0], types := [(.list (.list (.pair .nat .bool)))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 16 [(.var 1)]) (.call 15 [(.var 2)]) (.build .false .bool [])))]) }, - { parameters := [0], types := [(.list (.pair .nat .bool))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 17 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 16 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, - { parameters := [0], types := [.bool], result := .bool, - body := (.build .true .bool []) }, - { parameters := [0, 1, 2, 3], types := [(.adt 0), (.adt 1), (.option (.list .nat)), (.list (.list (.pair .nat .bool)))], result := (.option (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))), - body := (.cond (.call 2 [(.var 0)]) (.cond (.call 13 [(.var 1)]) (.cond (.call 14 [(.var 2)]) (.cond (.call 15 [(.var 3)]) (.build .some (.option (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [(.call 0 [(.var 0), (.var 1), (.var 2), (.var 3)])]) (.build .none (.option (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])) (.build .none (.option (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])) (.build .none (.option (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])) (.build .none (.option (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])) }] } - -mutual -def __enc_0 : (Coverage.Boundary.Grove) -> _root_.LexLeanTarget.TargetSyntax.Value - | Coverage.Boundary.Grove.node __x0 __x1 __x2 __x3 __x4 => _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) __x0), (_root_.LexLeanTarget.TargetSyntax.Value.list (__items_0 __x1)), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.int)) __x2), (__aux_1 __x3), (_root_.LexLeanTarget.TargetSyntax.Value.list (__items_3 __x4))] - | Coverage.Boundary.Grove.leaf __x0 => _root_.LexLeanTarget.TargetSyntax.Value.adt 1 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) __x0)] - | Coverage.Boundary.Grove.settled __x0 => _root_.LexLeanTarget.TargetSyntax.Value.adt 2 [(__aux_4 __x0)] - -def __items_0 : (List (Coverage.Boundary.Grove)) -> List _root_.LexLeanTarget.TargetSyntax.Value - | [] => [] - | __x0 :: __x1 => (__enc_0 __x0) :: __items_0 __x1 - -def __aux_1 : (Option (Coverage.Boundary.Grove)) -> _root_.LexLeanTarget.TargetSyntax.Value - | none => _root_.LexLeanTarget.TargetSyntax.Value.none - | some __x0 => _root_.LexLeanTarget.TargetSyntax.Value.some (__enc_0 __x0) - -def __aux_2 : (Prod Nat (Coverage.Boundary.Grove)) -> _root_.LexLeanTarget.TargetSyntax.Value - | (__x0, __x1) => _root_.LexLeanTarget.TargetSyntax.Value.pair (_root_.LexLeanTarget.TargetSyntax.Value.nat __x0) (__enc_0 __x1) - -def __items_3 : (List (Prod Nat (Coverage.Boundary.Grove))) -> List _root_.LexLeanTarget.TargetSyntax.Value - | [] => [] - | __x0 :: __x1 => (__aux_2 __x0) :: __items_3 __x1 - -def __aux_4 : (Except Nat (Coverage.Boundary.Grove)) -> _root_.LexLeanTarget.TargetSyntax.Value - | Except.error __x0 => _root_.LexLeanTarget.TargetSyntax.Value.error (_root_.LexLeanTarget.TargetSyntax.Value.nat __x0) - | Except.ok __x0 => _root_.LexLeanTarget.TargetSyntax.Value.ok (__enc_0 __x0) - -end - -def __L_0 : _root_.LexLeanPreservation.ListEnc (Coverage.Boundary.Grove) := - ⟨__enc_0, __items_0, __items_0.eq_1, __items_0.eq_2⟩ - -def __O_1 : _root_.LexLeanPreservation.OptEnc (Coverage.Boundary.Grove) := - ⟨__enc_0, __aux_1, __aux_1.eq_1, __aux_1.eq_2⟩ - -def __L_3 : _root_.LexLeanPreservation.ListEnc (Prod Nat (Coverage.Boundary.Grove)) := - ⟨__aux_2, __items_3, __items_3.eq_1, __items_3.eq_2⟩ - -def __enc_1 (__s : (Coverage.Boundary.Ledger)) : _root_.LexLeanTarget.TargetSyntax.Value := - _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.int)) (__s).entries), (_root_.LexLeanTarget.TargetSyntax.Value.string (__s).owner)] - -def __fits_1 (g : (Coverage.Boundary.Grove)) : Bool := - (Bool.true && (match g with | Coverage.Boundary.Grove.node tags children labels spare paired => ((Bool.true && Bool.true) && (Nat.blt (Coverage.Boundary.LexLeanCollections.setSize (tags) : Nat) 18446744073709551616)) | Coverage.Boundary.Grove.leaf weights => ((Bool.true && Bool.true) && (Nat.blt (Coverage.Boundary.LexLeanCollections.mapSize (weights) : Nat) 18446744073709551616)) | Coverage.Boundary.Grove.settled outcome => Bool.true)) - -theorem __rel_1 (g : (Coverage.Boundary.Grove)) : _root_.LexLeanPreservation.FunRel __prog 1 [(__enc_0 g)] (_root_.LexLeanPreservation.Rel (__fits_1 g) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Boundary.groveTags g))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_0 (fun (__a : (Coverage.Boundary.Grove)) => (match __a with | Coverage.Boundary.Grove.node tags children labels spare paired => ((Bool.true && Bool.true) && (Nat.blt (Coverage.Boundary.LexLeanCollections.setSize (tags) : Nat) 18446744073709551616)) | Coverage.Boundary.Grove.leaf weights => ((Bool.true && Bool.true) && (Nat.blt (Coverage.Boundary.LexLeanCollections.mapSize (weights) : Nat) 18446744073709551616)) | Coverage.Boundary.Grove.settled outcome => Bool.true)) (fun (__a : (Coverage.Boundary.Grove)) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match __a with | Coverage.Boundary.Grove.node tags children labels spare paired => (Coverage.Boundary.LexLeanCollections.setSize (tags) : Nat) | Coverage.Boundary.Grove.leaf weights => (Coverage.Boundary.LexLeanCollections.mapSize (weights) : Nat) | Coverage.Boundary.Grove.settled outcome => (0 : Nat))) g (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Coverage.Boundary.Grove)) _ => match __a with | Coverage.Boundary.Grove.node tags children labels spare paired => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) tags))) | Coverage.Boundary.Grove.leaf weights => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) weights)))) | Coverage.Boundary.Grove.settled outcome => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value))))) - -def __fits_0 (g : (Coverage.Boundary.Grove)) (ledger : (Coverage.Boundary.Ledger)) (picks : (Option (List Nat))) (spare : (List (List (Prod Nat Bool)))) : Bool := - ((((Bool.true && Bool.true) && (__fits_1 (g))) && (((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) - -attribute [local irreducible] Coverage.Boundary.groveTags in -theorem __rel_0 (g : (Coverage.Boundary.Grove)) (ledger : (Coverage.Boundary.Ledger)) (picks : (Option (List Nat))) (spare : (List (List (Prod Nat Bool)))) : _root_.LexLeanPreservation.FunRel __prog 0 [(__enc_0 g), (__enc_1 ledger), ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) picks), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool))) spare)] (_root_.LexLeanPreservation.Rel (__fits_0 g ledger picks spare) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair __enc_1 (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)))))) (Coverage.Boundary.groveRoot g ledger picks spare))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (g))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) - -def denote (g : (Coverage.Boundary.Grove)) (ledger : (Coverage.Boundary.Ledger)) (picks : (Option (List Nat))) (spare : (List (List (Prod Nat Bool)))) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 g ledger picks spare) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair __enc_1 (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)))))) (Coverage.Boundary.groveRoot g ledger picks spare)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (g : (Coverage.Boundary.Grove)) (ledger : (Coverage.Boundary.Ledger)) (picks : (Option (List Nat))) (spare : (List (List (Prod Nat Bool)))) : _root_.LexLeanPreservation.RunConv __prog 0 [(__enc_0 g), (__enc_1 ledger), ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) picks), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool))) spare)] (_root_.LexLeanPreservation.Rel (__fits_0 g ledger picks spare) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair __enc_1 (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)))))) (Coverage.Boundary.groveRoot g ledger picks spare))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 g ledger picks spare) - -def __valid_3 : (List Nat) -> Bool := - _root_.LexLeanPreservation.ascSet (Coverage.Boundary.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) - -def __inv_3 : (List Nat) -> Prop := - _root_.LexLeanPreservation.InvSet (Coverage.Boundary.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) - -theorem __viff_3 : ∀ (__v : (List Nat)), __valid_3 __v = Bool.true ↔ __inv_3 __v := - _root_.LexLeanPreservation.ascSet_inv (Coverage.Boundary.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) - -theorem __vrel_3 : ∀ (__v : (List Nat)), _root_.LexLeanPreservation.FunRel __prog 3 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_3 __v))) := - _root_.LexLeanPreservation.tpl_validSet (_root_.LexLeanPreservation.keySpec_nat (Coverage.Boundary.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) rfl - -def __valid_6 : Int -> Bool := - fun _ => Bool.true - -def __inv_6 : Int -> Prop := - fun _ => _root_.True - -theorem __viff_6 : ∀ (__v : Int), __valid_6 __v = Bool.true ↔ __inv_6 __v := - fun __v => _root_.LexLeanPreservation.validTrue_inv __v - -theorem __vrel_6 : ∀ (__v : Int), _root_.LexLeanPreservation.FunRel __prog 6 [(_root_.LexLeanTarget.TargetSyntax.Value.int __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_6 __v))) := - _root_.LexLeanPreservation.tpl_validTrue _root_.LexLeanTarget.TargetSyntax.Value.int rfl - -def __valid_5 : (List (Prod String Int)) -> Bool := - _root_.LexLeanPreservation.ascMap (Coverage.Boundary.LexLeanCollections.Key.compare : String -> String -> Ordering) __valid_6 - -def __inv_5 : (List (Prod String Int)) -> Prop := - _root_.LexLeanPreservation.InvMap (Coverage.Boundary.LexLeanCollections.Key.compare : String -> String -> Ordering) __inv_6 - -theorem __viff_5 : ∀ (__v : (List (Prod String Int))), __valid_5 __v = Bool.true ↔ __inv_5 __v := - _root_.LexLeanPreservation.ascMap_inv (Coverage.Boundary.LexLeanCollections.Key.compare : String -> String -> Ordering) __valid_6 __inv_6 __viff_6 - -theorem __vrel_5 : ∀ (__v : (List (Prod String Int))), _root_.LexLeanPreservation.FunRel __prog 5 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.int)) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_5 __v))) := - _root_.LexLeanPreservation.tpl_validMap (_root_.LexLeanPreservation.keySpec_string Coverage.Boundary.LexLeanCollections.compareCodes rfl (fun _ _ => rfl) (fun _ _ => rfl) (fun _ _ _ _ __h => by simp only [Coverage.Boundary.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Boundary.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Boundary.LexLeanCollections.compareCodes, __h]) (Coverage.Boundary.LexLeanCollections.Key.compare : String -> String -> Ordering) (fun _ _ => rfl)) __valid_6 (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.int)) (fun _ => rfl) __vrel_6 rfl - -def __valid_10 : Nat -> Bool := - fun _ => Bool.true - -def __inv_10 : Nat -> Prop := - fun _ => _root_.True - -theorem __viff_10 : ∀ (__v : Nat), __valid_10 __v = Bool.true ↔ __inv_10 __v := - fun __v => _root_.LexLeanPreservation.validTrue_inv __v - -theorem __vrel_10 : ∀ (__v : Nat), _root_.LexLeanPreservation.FunRel __prog 10 [(_root_.LexLeanTarget.TargetSyntax.Value.nat __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_10 __v))) := - _root_.LexLeanPreservation.tpl_validTrue _root_.LexLeanTarget.TargetSyntax.Value.nat rfl - -def __valid_11 : (List (Prod Nat Int)) -> Bool := - _root_.LexLeanPreservation.ascMap (Coverage.Boundary.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) __valid_6 - -def __inv_11 : (List (Prod Nat Int)) -> Prop := - _root_.LexLeanPreservation.InvMap (Coverage.Boundary.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) __inv_6 - -theorem __viff_11 : ∀ (__v : (List (Prod Nat Int))), __valid_11 __v = Bool.true ↔ __inv_11 __v := - _root_.LexLeanPreservation.ascMap_inv (Coverage.Boundary.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) __valid_6 __inv_6 __viff_6 - -theorem __vrel_11 : ∀ (__v : (List (Prod Nat Int))), _root_.LexLeanPreservation.FunRel __prog 11 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_11 __v))) := - _root_.LexLeanPreservation.tpl_validMap (_root_.LexLeanPreservation.keySpec_nat (Coverage.Boundary.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) __valid_6 (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (fun _ => rfl) __vrel_6 rfl - -mutual -def __valid_2 : (Coverage.Boundary.Grove) -> Bool - | Coverage.Boundary.Grove.node __x0 __x1 __x2 __x3 __x4 => (if __valid_3 __x0 then (if __valid_4 __x1 then (if __valid_5 __x2 then (if __valid_7 __x3 then (if __valid_8 __x4 then Bool.true else Bool.false) else Bool.false) else Bool.false) else Bool.false) else Bool.false) - | Coverage.Boundary.Grove.leaf __x0 => (if __valid_11 __x0 then Bool.true else Bool.false) - | Coverage.Boundary.Grove.settled __x0 => (if __valid_12 __x0 then Bool.true else Bool.false) - -def __valid_4 : (List (Coverage.Boundary.Grove)) -> Bool - | [] => Bool.true - | __x0 :: __x1 => if __valid_2 __x0 then __valid_4 __x1 else Bool.false - -def __valid_7 : (Option (Coverage.Boundary.Grove)) -> Bool - | none => Bool.true - | some __x0 => __valid_2 __x0 - -def __valid_8 : (List (Prod Nat (Coverage.Boundary.Grove))) -> Bool - | [] => Bool.true - | __x0 :: __x1 => if __valid_9 __x0 then __valid_8 __x1 else Bool.false - -def __valid_9 : (Prod Nat (Coverage.Boundary.Grove)) -> Bool - | (__x0, __x1) => if __valid_10 __x0 then __valid_2 __x1 else Bool.false - -def __valid_12 : (Except Nat (Coverage.Boundary.Grove)) -> Bool - | Except.error __x0 => __valid_10 __x0 - | Except.ok __x0 => __valid_2 __x0 - -end - -mutual -def __inv_2 : (Coverage.Boundary.Grove) -> Prop - | Coverage.Boundary.Grove.node __x0 __x1 __x2 __x3 __x4 => (__inv_3 __x0 ∧ (__inv_4 __x1 ∧ (__inv_5 __x2 ∧ (__inv_7 __x3 ∧ (__inv_8 __x4 ∧ _root_.True))))) - | Coverage.Boundary.Grove.leaf __x0 => (__inv_11 __x0 ∧ _root_.True) - | Coverage.Boundary.Grove.settled __x0 => (__inv_12 __x0 ∧ _root_.True) - -def __inv_4 : (List (Coverage.Boundary.Grove)) -> Prop - | [] => _root_.True - | __x0 :: __x1 => __inv_2 __x0 ∧ __inv_4 __x1 - -def __inv_7 : (Option (Coverage.Boundary.Grove)) -> Prop - | none => _root_.True - | some __x0 => __inv_2 __x0 - -def __inv_8 : (List (Prod Nat (Coverage.Boundary.Grove))) -> Prop - | [] => _root_.True - | __x0 :: __x1 => __inv_9 __x0 ∧ __inv_8 __x1 - -def __inv_9 : (Prod Nat (Coverage.Boundary.Grove)) -> Prop - | (__x0, __x1) => __inv_10 __x0 ∧ __inv_2 __x1 - -def __inv_12 : (Except Nat (Coverage.Boundary.Grove)) -> Prop - | Except.error __x0 => __inv_10 __x0 - | Except.ok __x0 => __inv_2 __x0 - -end - -mutual -theorem __viff_2 : ∀ (__v : (Coverage.Boundary.Grove)), __valid_2 __v = Bool.true ↔ __inv_2 __v - | Coverage.Boundary.Grove.node __x0 __x1 __x2 __x3 __x4 => by rw [__valid_2.eq_def, __inv_2.eq_def]; exact (_root_.LexLeanPreservation.condAnd_iff (__viff_3 __x0) (_root_.LexLeanPreservation.condAnd_iff (__viff_4 __x1) (_root_.LexLeanPreservation.condAnd_iff (__viff_5 __x2) (_root_.LexLeanPreservation.condAnd_iff (__viff_7 __x3) (_root_.LexLeanPreservation.condAnd_iff (__viff_8 __x4) _root_.LexLeanPreservation.trueIff))))) - | Coverage.Boundary.Grove.leaf __x0 => by rw [__valid_2.eq_def, __inv_2.eq_def]; exact (_root_.LexLeanPreservation.condAnd_iff (__viff_11 __x0) _root_.LexLeanPreservation.trueIff) - | Coverage.Boundary.Grove.settled __x0 => by rw [__valid_2.eq_def, __inv_2.eq_def]; exact (_root_.LexLeanPreservation.condAnd_iff (__viff_12 __x0) _root_.LexLeanPreservation.trueIff) - -theorem __viff_4 : ∀ (__v : (List (Coverage.Boundary.Grove))), __valid_4 __v = Bool.true ↔ __inv_4 __v - | [] => by rw [__valid_4.eq_def, __inv_4.eq_def]; exact _root_.LexLeanPreservation.trueIff - | __x0 :: __x1 => by rw [__valid_4.eq_def, __inv_4.eq_def]; exact _root_.LexLeanPreservation.condAnd_iff (__viff_2 __x0) (__viff_4 __x1) - -theorem __viff_7 : ∀ (__v : (Option (Coverage.Boundary.Grove))), __valid_7 __v = Bool.true ↔ __inv_7 __v - | none => by rw [__valid_7.eq_def, __inv_7.eq_def]; exact _root_.LexLeanPreservation.trueIff - | some __x0 => by rw [__valid_7.eq_def, __inv_7.eq_def]; exact __viff_2 __x0 - -theorem __viff_8 : ∀ (__v : (List (Prod Nat (Coverage.Boundary.Grove)))), __valid_8 __v = Bool.true ↔ __inv_8 __v - | [] => by rw [__valid_8.eq_def, __inv_8.eq_def]; exact _root_.LexLeanPreservation.trueIff - | __x0 :: __x1 => by rw [__valid_8.eq_def, __inv_8.eq_def]; exact _root_.LexLeanPreservation.condAnd_iff (__viff_9 __x0) (__viff_8 __x1) - -theorem __viff_9 : ∀ (__v : (Prod Nat (Coverage.Boundary.Grove))), __valid_9 __v = Bool.true ↔ __inv_9 __v - | (__x0, __x1) => by rw [__valid_9.eq_def, __inv_9.eq_def]; exact _root_.LexLeanPreservation.condAnd_iff (__viff_10 __x0) (__viff_2 __x1) - -theorem __viff_12 : ∀ (__v : (Except Nat (Coverage.Boundary.Grove))), __valid_12 __v = Bool.true ↔ __inv_12 __v - | Except.error __x0 => by rw [__valid_12.eq_def, __inv_12.eq_def]; exact __viff_10 __x0 - | Except.ok __x0 => by rw [__valid_12.eq_def, __inv_12.eq_def]; exact __viff_2 __x0 - -end - -mutual -theorem __vrel_2 : ∀ (__v : (Coverage.Boundary.Grove)), _root_.LexLeanPreservation.FunRel __prog 2 [(__enc_0 __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_2 __v))) - | Coverage.Boundary.Grove.node __x0 __x1 __x2 __x3 __x4 => by rw [__valid_2.eq_def]; exact _root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun _ => Bool.true) (fun __c => _root_.LexLeanTarget.TargetSyntax.Value.bool (if __c then (if __valid_4 __x1 then (if __valid_5 __x2 then (if __valid_7 __x3 then (if __valid_8 __x4 then Bool.true else Bool.false) else Bool.false) else Bool.false) else Bool.false) else Bool.false)) (__valid_3 __x0) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_3 __x0)) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun _ => Bool.true) (fun __c => _root_.LexLeanTarget.TargetSyntax.Value.bool (if __c then (if __valid_5 __x2 then (if __valid_7 __x3 then (if __valid_8 __x4 then Bool.true else Bool.false) else Bool.false) else Bool.false) else Bool.false)) (__valid_4 __x1) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_4 __x1)) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun _ => Bool.true) (fun __c => _root_.LexLeanTarget.TargetSyntax.Value.bool (if __c then (if __valid_7 __x3 then (if __valid_8 __x4 then Bool.true else Bool.false) else Bool.false) else Bool.false)) (__valid_5 __x2) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_5 __x2)) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun _ => Bool.true) (fun __c => _root_.LexLeanTarget.TargetSyntax.Value.bool (if __c then (if __valid_8 __x4 then Bool.true else Bool.false) else Bool.false)) (__valid_7 __x3) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_7 __x3)) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun _ => Bool.true) (fun __c => _root_.LexLeanTarget.TargetSyntax.Value.bool (if __c then Bool.true else Bool.false)) (__valid_8 __x4) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_8 __x4)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))))) rfl - | Coverage.Boundary.Grove.leaf __x0 => by rw [__valid_2.eq_def]; exact _root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun _ => Bool.true) (fun __c => _root_.LexLeanTarget.TargetSyntax.Value.bool (if __c then Bool.true else Bool.false)) (__valid_11 __x0) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_11 __x0)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))))) rfl - | Coverage.Boundary.Grove.settled __x0 => by rw [__valid_2.eq_def]; exact _root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun _ => Bool.true) (fun __c => _root_.LexLeanTarget.TargetSyntax.Value.bool (if __c then Bool.true else Bool.false)) (__valid_12 __x0) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_12 __x0)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))))))) rfl - -theorem __vrel_4 : ∀ (__v : (List (Coverage.Boundary.Grove))), _root_.LexLeanPreservation.FunRel __prog 4 [((_root_.LexLeanPreservation.ListEnc.enc __L_0) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_4 __v))) - | [] => by rw [__valid_4.eq_def]; exact _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true))) - | __x0 :: __x1 => by rw [__valid_4.eq_def]; exact _root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun _ => Bool.true) (fun __c => _root_.LexLeanTarget.TargetSyntax.Value.bool (if __c then __valid_4 __x1 else Bool.false)) (__valid_2 __x0) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_2 __x0)) (fun _ => _root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_4 __x1)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))))) rfl - -theorem __vrel_7 : ∀ (__v : (Option (Coverage.Boundary.Grove))), _root_.LexLeanPreservation.FunRel __prog 7 [((_root_.LexLeanPreservation.OptEnc.enc __O_1) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_7 __v))) - | none => by rw [__valid_7.eq_def]; exact _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true))) - | some __x0 => by rw [__valid_7.eq_def]; exact _root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_2 __x0)))))) rfl - -theorem __vrel_8 : ∀ (__v : (List (Prod Nat (Coverage.Boundary.Grove)))), _root_.LexLeanPreservation.FunRel __prog 8 [((_root_.LexLeanPreservation.ListEnc.enc __L_3) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_8 __v))) - | [] => by rw [__valid_8.eq_def]; exact _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true))) - | __x0 :: __x1 => by rw [__valid_8.eq_def]; exact _root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun _ => Bool.true) (fun __c => _root_.LexLeanTarget.TargetSyntax.Value.bool (if __c then __valid_8 __x1 else Bool.false)) (__valid_9 __x0) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_9 __x0)) (fun _ => _root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_8 __x1)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))))) rfl - -theorem __vrel_9 : ∀ (__v : (Prod Nat (Coverage.Boundary.Grove))), _root_.LexLeanPreservation.FunRel __prog 9 [(__aux_2 __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_9 __v))) - | (__x0, __x1) => by rw [__valid_9.eq_def]; exact _root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun _ => Bool.true) (fun __c => _root_.LexLeanTarget.TargetSyntax.Value.bool (if __c then __valid_2 __x1 else Bool.false)) (__valid_10 __x0) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil) (__vrel_10 __x0)) (fun _ => _root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil) (__vrel_2 __x1)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) rfl - -theorem __vrel_12 : ∀ (__v : (Except Nat (Coverage.Boundary.Grove))), _root_.LexLeanPreservation.FunRel __prog 12 [(__aux_4 __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_12 __v))) - | Except.error __x0 => by rw [__valid_12.eq_def]; exact _root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_10 __x0)))))) rfl - | Except.ok __x0 => by rw [__valid_12.eq_def]; exact _root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_2 __x0))))) rfl - -end - -theorem __vinv_4 : ∀ (__v : (List (Coverage.Boundary.Grove))), __inv_4 __v ↔ _root_.LexLeanPreservation.InvList __inv_2 __v := - _root_.LexLeanPreservation.invList_eqs __inv_2 __inv_4 (by rw [__inv_4.eq_def]) (fun _ _ => by rw [__inv_4.eq_def]) - -theorem __vinv_7 : ∀ (__v : (Option (Coverage.Boundary.Grove))), __inv_7 __v ↔ _root_.LexLeanPreservation.InvOption __inv_2 __v - | none => by rw [__inv_7.eq_def]; exact Iff.rfl - | some _ => by rw [__inv_7.eq_def]; exact Iff.rfl - -theorem __vinv_8 : ∀ (__v : (List (Prod Nat (Coverage.Boundary.Grove)))), __inv_8 __v ↔ _root_.LexLeanPreservation.InvList __inv_9 __v := - _root_.LexLeanPreservation.invList_eqs __inv_9 __inv_8 (by rw [__inv_8.eq_def]) (fun _ _ => by rw [__inv_8.eq_def]) - -theorem __vinv_9 : ∀ (__v : (Prod Nat (Coverage.Boundary.Grove))), __inv_9 __v ↔ _root_.LexLeanPreservation.InvPair __inv_10 __inv_2 __v - | (_, _) => by rw [__inv_9.eq_def]; exact Iff.rfl - -theorem __vinv_12 : ∀ (__v : (Except Nat (Coverage.Boundary.Grove))), __inv_12 __v ↔ _root_.LexLeanPreservation.InvExcept __inv_10 __inv_2 __v - | Except.error _ => by rw [__inv_12.eq_def]; exact Iff.rfl - | Except.ok _ => by rw [__inv_12.eq_def]; exact Iff.rfl - -def __valid_13 (__s : (Coverage.Boundary.Ledger)) : Bool := - (if __valid_5 (__s).entries then Bool.true else Bool.false) - -def __inv_13 (__s : (Coverage.Boundary.Ledger)) : Prop := - (__inv_5 (__s).entries ∧ _root_.True) - -theorem __viff_13 : ∀ (__s : (Coverage.Boundary.Ledger)), __valid_13 __s = Bool.true ↔ __inv_13 __s := - fun __s => (_root_.LexLeanPreservation.condAnd_iff (__viff_5 (__s).entries) _root_.LexLeanPreservation.trueIff) - -theorem __vrel_13 : ∀ (__s : (Coverage.Boundary.Ledger)), _root_.LexLeanPreservation.FunRel __prog 13 [(__enc_1 __s)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_13 __s))) := - fun __s => _root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun _ => Bool.true) (fun __c => _root_.LexLeanTarget.TargetSyntax.Value.bool (if __c then Bool.true else Bool.false)) (__valid_5 (__s).entries) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_5 (__s).entries)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))))) rfl - -def __valid_14 : (Option (List Nat)) -> Bool := - _root_.LexLeanPreservation.validOption __valid_3 - -def __inv_14 : (Option (List Nat)) -> Prop := - _root_.LexLeanPreservation.InvOption __inv_3 - -theorem __viff_14 : ∀ (__v : (Option (List Nat))), __valid_14 __v = Bool.true ↔ __inv_14 __v := - _root_.LexLeanPreservation.validOption_inv __valid_3 __inv_3 __viff_3 - -theorem __vrel_14 : ∀ (__v : (Option (List Nat))), _root_.LexLeanPreservation.FunRel __prog 14 [((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_14 __v))) := - _root_.LexLeanPreservation.tpl_validOption __valid_3 __vrel_3 rfl - -def __valid_17 : Bool -> Bool := - fun _ => Bool.true - -def __inv_17 : Bool -> Prop := - fun _ => _root_.True - -theorem __viff_17 : ∀ (__v : Bool), __valid_17 __v = Bool.true ↔ __inv_17 __v := - fun __v => _root_.LexLeanPreservation.validTrue_inv __v - -theorem __vrel_17 : ∀ (__v : Bool), _root_.LexLeanPreservation.FunRel __prog 17 [(_root_.LexLeanTarget.TargetSyntax.Value.bool __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_17 __v))) := - _root_.LexLeanPreservation.tpl_validTrue _root_.LexLeanTarget.TargetSyntax.Value.bool rfl - -def __valid_16 : (List (Prod Nat Bool)) -> Bool := - _root_.LexLeanPreservation.ascMap (Coverage.Boundary.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) __valid_17 - -def __inv_16 : (List (Prod Nat Bool)) -> Prop := - _root_.LexLeanPreservation.InvMap (Coverage.Boundary.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) __inv_17 - -theorem __viff_16 : ∀ (__v : (List (Prod Nat Bool))), __valid_16 __v = Bool.true ↔ __inv_16 __v := - _root_.LexLeanPreservation.ascMap_inv (Coverage.Boundary.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) __valid_17 __inv_17 __viff_17 - -theorem __vrel_16 : ∀ (__v : (List (Prod Nat Bool))), _root_.LexLeanPreservation.FunRel __prog 16 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_16 __v))) := - _root_.LexLeanPreservation.tpl_validMap (_root_.LexLeanPreservation.keySpec_nat (Coverage.Boundary.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) __valid_17 (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)) (fun _ => rfl) __vrel_17 rfl - -def __valid_15 : (List (List (Prod Nat Bool))) -> Bool := - _root_.LexLeanPreservation.validList __valid_16 - -def __inv_15 : (List (List (Prod Nat Bool))) -> Prop := - _root_.LexLeanPreservation.InvList __inv_16 - -theorem __viff_15 : ∀ (__v : (List (List (Prod Nat Bool)))), __valid_15 __v = Bool.true ↔ __inv_15 __v := - _root_.LexLeanPreservation.validList_inv __valid_16 __inv_16 __viff_16 - -theorem __vrel_15 : ∀ (__v : (List (List (Prod Nat Bool)))), _root_.LexLeanPreservation.FunRel __prog 15 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool))) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_15 __v))) := - _root_.LexLeanPreservation.tpl_validList __valid_16 (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool))) (fun _ => rfl) __vrel_16 rfl - -def entryFits (g : (Coverage.Boundary.Grove)) (ledger : (Coverage.Boundary.Ledger)) (picks : (Option (List Nat))) (spare : (List (List (Prod Nat Bool)))) : Bool := - (if __valid_2 g then (if __valid_13 ledger then (if __valid_14 picks then (if __valid_15 spare then __fits_0 g ledger picks spare else Bool.true) else Bool.true) else Bool.true) else Bool.true) - -def entryValue (g : (Coverage.Boundary.Grove)) (ledger : (Coverage.Boundary.Ledger)) (picks : (Option (List Nat))) (spare : (List (List (Prod Nat Bool)))) : _root_.LexLeanTarget.TargetSyntax.Value := - (if __valid_2 g then (if __valid_13 ledger then (if __valid_14 picks then (if __valid_15 spare then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair __enc_1 (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)))))) (Coverage.Boundary.groveRoot g ledger picks spare))) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) - -/-- The entry's observation. -/ -def denoteEntry (g : (Coverage.Boundary.Grove)) (ledger : (Coverage.Boundary.Ledger)) (picks : (Option (List Nat))) (spare : (List (List (Prod Nat Bool)))) : _root_.LexLeanPreservation.Obs := - _root_.cond (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.entryFits g ledger picks spare) (_root_.LexLeanPreservation.Obs.value (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.entryValue g ledger picks spare)) _root_.LexLeanPreservation.Obs.overflow - -/-- §17.12's invariants of the validated parameters. -/ -def accepts (g : (Coverage.Boundary.Grove)) (ledger : (Coverage.Boundary.Ledger)) (picks : (Option (List Nat))) (spare : (List (List (Prod Nat Bool)))) : Prop := - (__inv_2 g ∧ (__inv_13 ledger ∧ (__inv_14 picks ∧ (__inv_15 spare ∧ _root_.True)))) - -theorem entry (g : (Coverage.Boundary.Grove)) (ledger : (Coverage.Boundary.Ledger)) (picks : (Option (List Nat))) (spare : (List (List (Prod Nat Bool)))) : _root_.LexLeanPreservation.RunConv __prog 18 [(__enc_0 g), (__enc_1 ledger), ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) picks), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool))) spare)] (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.denoteEntry g ledger picks spare) := - _root_.LexLeanPreservation.run_of_funRel (_root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then (if __valid_13 ledger then (if __valid_14 picks then (if __valid_15 spare then __fits_0 g ledger picks spare else Bool.true) else Bool.true) else Bool.true) else Bool.true) (fun __c => if __c then (if __valid_13 ledger then (if __valid_14 picks then (if __valid_15 spare then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair __enc_1 (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)))))) (Coverage.Boundary.groveRoot g ledger picks spare))) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_2 g) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_2 g)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then (if __valid_14 picks then (if __valid_15 spare then __fits_0 g ledger picks spare else Bool.true) else Bool.true) else Bool.true) (fun __c => if __c then (if __valid_14 picks then (if __valid_15 spare then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair __enc_1 (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)))))) (Coverage.Boundary.groveRoot g ledger picks spare))) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_13 ledger) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_13 ledger)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then (if __valid_15 spare then __fits_0 g ledger picks spare else Bool.true) else Bool.true) (fun __c => if __c then (if __valid_15 spare then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair __enc_1 (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)))))) (Coverage.Boundary.groveRoot g ledger picks spare))) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_14 picks) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_14 picks)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then __fits_0 g ledger picks spare else Bool.true) (fun __c => if __c then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair __enc_1 (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)))))) (Coverage.Boundary.groveRoot g ledger picks spare))) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_15 spare) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_15 spare)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)))) (__rel_0 g ledger picks spare)) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (by simp [_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.entryFits])) - -theorem entry_accepts (g : (Coverage.Boundary.Grove)) (ledger : (Coverage.Boundary.Ledger)) (picks : (Option (List Nat))) (spare : (List (List (Prod Nat Bool)))) (__h : _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.accepts g ledger picks spare) : _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.denoteEntry g ledger picks spare = _root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.denote g ledger picks spare) := by - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.accepts at __h - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.denoteEntry _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.entryFits _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.entryValue _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.denote - simp only [_root_.if_true, (__viff_2 g).mpr __h.1, (__viff_13 ledger).mpr __h.2.1, (__viff_14 picks).mpr __h.2.2.1, (__viff_15 spare).mpr __h.2.2.2.1] - cases __fits_0 g ledger picks spare <;> rfl - -theorem entry_refuses (g : (Coverage.Boundary.Grove)) (ledger : (Coverage.Boundary.Ledger)) (picks : (Option (List Nat))) (spare : (List (List (Prod Nat Bool)))) (__h : ¬ _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.accepts g ledger picks spare) : _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.denoteEntry g ledger picks spare = _root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none := by - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.accepts at __h - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.denoteEntry _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.entryFits _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.entryValue - cases __c0 : __valid_2 g - · simp - · cases __c1 : __valid_13 ledger - · simp - · cases __c2 : __valid_14 picks - · simp - · cases __c3 : __valid_15 spare - · simp - · exact _root_.absurd ⟨(__viff_2 g).mp __c0, (__viff_13 ledger).mp __c1, (__viff_14 picks).mp __c2, (__viff_15 spare).mp __c3, _root_.trivial⟩ __h - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R0/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R0/Compose/RustStd.lean deleted file mode 100644 index 3f44af27d..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R0/Compose/RustStd.lean +++ /dev/null @@ -1,50 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.Compose.RustStd - -mutual -theorem __wt_0 : ∀ (__v : (Coverage.Boundary.Grove)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.program _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.krate _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.flags (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.__enc_0 __v) (.adt 0) - | Coverage.Boundary.Grove.node __x0 __x1 __x2 __x3 __x4 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList _root_.LexLeanPreservation.Rust.wt_nat) __x0) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_list (__wtItems_0 __x1)) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_string _root_.LexLeanPreservation.Rust.wt_int)) __x2) (_root_.LexLeanPreservation.Rust.wtl_cons (__wtAux_1 __x3) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_list (__wtItems_3 __x4)) _root_.LexLeanPreservation.Rust.wtl_nil))))) - | Coverage.Boundary.Grove.leaf __x0 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_nat _root_.LexLeanPreservation.Rust.wt_int)) __x0) _root_.LexLeanPreservation.Rust.wtl_nil) - | Coverage.Boundary.Grove.settled __x0 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wtAux_4 __x0) _root_.LexLeanPreservation.Rust.wtl_nil) - -theorem __wtItems_0 : ∀ (__v : (List (Coverage.Boundary.Grove))), _root_.LexLeanPreservation.Rust.WTAll _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.program _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.krate _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.flags (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.__items_0 __v) (.adt 0) - | [] => _root_.LexLeanPreservation.Rust.wtAll_nil - | __x0 :: __x1 => _root_.LexLeanPreservation.Rust.wtAll_cons (__wt_0 __x0) (__wtItems_0 __x1) - -theorem __wtAux_1 : ∀ (__v : (Option (Coverage.Boundary.Grove))), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.program _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.krate _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.flags (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.__aux_1 __v) (.option (.adt 0)) - | none => _root_.LexLeanPreservation.Rust.wt_noneV - | some __x0 => _root_.LexLeanPreservation.Rust.wt_someV (__wt_0 __x0) - -theorem __wtAux_2 : ∀ (__v : (Prod Nat (Coverage.Boundary.Grove))), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.program _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.krate _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.flags (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.__aux_2 __v) (.pair .nat (.adt 0)) - | (__x0, __x1) => _root_.LexLeanPreservation.Rust.wt_pairV (_root_.LexLeanPreservation.Rust.wt_nat __x0) (__wt_0 __x1) - -theorem __wtItems_3 : ∀ (__v : (List (Prod Nat (Coverage.Boundary.Grove)))), _root_.LexLeanPreservation.Rust.WTAll _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.program _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.krate _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.flags (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.__items_3 __v) (.pair .nat (.adt 0)) - | [] => _root_.LexLeanPreservation.Rust.wtAll_nil - | __x0 :: __x1 => _root_.LexLeanPreservation.Rust.wtAll_cons (__wtAux_2 __x0) (__wtItems_3 __x1) - -theorem __wtAux_4 : ∀ (__v : (Except Nat (Coverage.Boundary.Grove))), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.program _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.krate _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.flags (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.__aux_4 __v) (.result (.adt 0) .nat) - | Except.error __x0 => _root_.LexLeanPreservation.Rust.wt_errorV (_root_.LexLeanPreservation.Rust.wt_nat __x0) - | Except.ok __x0 => _root_.LexLeanPreservation.Rust.wt_okV (__wt_0 __x0) - -end - -theorem __wt_1 : ∀ (__s : (Coverage.Boundary.Ledger)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.program _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.krate _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.flags (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.__enc_1 __s) (.adt 1) := - fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_string _root_.LexLeanPreservation.Rust.wt_int)) (__s).entries) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_string (__s).owner) _root_.LexLeanPreservation.Rust.wtl_nil)) - -/-- The rendering of the root's entry, invoked on the encoded arguments, -realizes the encoded source result when the arguments satisfy §17.12's -invariants, and refuses them with `none` otherwise. -/ -theorem root (g : (Coverage.Boundary.Grove)) (ledger : (Coverage.Boundary.Ledger)) (picks : (Option (List Nat))) (spare : (List (List (Prod Nat Bool)))) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.__enc_0 g), (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.__enc_1 ledger), ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) picks), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool))) spare)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 18) [(_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.__enc_0 g), (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.__enc_1 ledger), ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) picks), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool))) spare)] __e_ro ∧ - (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.accepts g ledger picks spare → _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.denote g ledger picks spare)) __e_ro) ∧ - (¬ _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.accepts g ledger picks spare → _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none) __e_ro) := - match _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.root __e_n 18) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 g) (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_1 ledger) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encOption (_root_.LexLeanPreservation.Rust.wt_encList _root_.LexLeanPreservation.Rust.wt_nat)) picks) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_nat _root_.LexLeanPreservation.Rust.wt_bool))) spare) _root_.LexLeanPreservation.Rust.wtl_nil)))) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.entry g ledger picks spare) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) with - | ⟨__e_ro, __e_hr, __e_hc⟩ => ⟨__e_ro, __e_hc, fun __e_h => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.entry_accepts g ledger picks spare __e_h ▸ __e_hr, fun __e_h => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.entry_refuses g ledger picks spare __e_h ▸ __e_hr⟩ - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R0/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R0/RustStd.lean deleted file mode 100644 index 0a63b4612..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R0/RustStd.lean +++ /dev/null @@ -1,180 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [{ constructors := [[(.list .nat), (.list (.adt 0)), (.list (.pair .string .int)), (.option (.adt 0)), (.list (.pair .nat (.adt 0)))], [(.list (.pair .nat .int))], [(.result (.adt 0) .nat)]] }, - { constructors := [[(.list (.pair .string .int)), .string]] }], functions := [ - { parameters := [0, 1, 2, 3], types := [(.adt 0), (.adt 1), (.option (.list .nat)), (.list (.list (.pair .nat .bool)))], result := (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool)))))), - body := (.build .pair (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool)))))) [(.call 1 [(.var 0)]), (.build .pair (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))) [(.var 1), (.build .pair (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool)))) [(.var 2), (.var 3)])])]) }, - { parameters := [0], types := [(.adt 0)], result := .nat, - body := (.«match» .nat (.var 0) [(.arm (.adt 0) [1, 2, 3, 4, 5] (.prim .length [(.var 1)])), (.arm (.adt 1) [6] (.prim .length [(.var 6)])), (.arm (.adt 2) [7] (.value .nat (.nat 0)))]) }, - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.«match» .bool (.var 0) [(.arm (.adt 0) [1, 2, 3, 4, 5] (.cond (.call 3 [(.var 1)]) (.cond (.call 4 [(.var 2)]) (.cond (.call 5 [(.var 3)]) (.cond (.call 7 [(.var 4)]) (.cond (.call 8 [(.var 5)]) (.build .true .bool []) (.build .false .bool [])) (.build .false .bool [])) (.build .false .bool [])) (.build .false .bool [])) (.build .false .bool []))), (.arm (.adt 1) [6] (.cond (.call 11 [(.var 6)]) (.build .true .bool []) (.build .false .bool []))), (.arm (.adt 2) [7] (.cond (.call 12 [(.var 7)]) (.build .true .bool []) (.build .false .bool [])))]) }, - { parameters := [0], types := [(.list .nat)], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.var 1), (.var 3)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 3 [(.var 2)]) (.build .false .bool [])))]))]) }, - { parameters := [0], types := [(.list (.adt 0))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 2 [(.var 1)]) (.call 4 [(.var 2)]) (.build .false .bool [])))]) }, - { parameters := [0], types := [(.list (.pair .string .int))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 6 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 5 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, - { parameters := [0], types := [.int], result := .bool, - body := (.build .true .bool []) }, - { parameters := [0], types := [(.option (.adt 0))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .none [] (.build .true .bool [])), (.arm .some [1] (.call 2 [(.var 1)]))]) }, - { parameters := [0], types := [(.list (.pair .nat (.adt 0)))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 9 [(.var 1)]) (.call 8 [(.var 2)]) (.build .false .bool [])))]) }, - { parameters := [0], types := [(.pair .nat (.adt 0))], result := .bool, - body := (.cond (.call 10 [(.first (.var 0))]) (.call 2 [(.second (.var 0))]) (.build .false .bool [])) }, - { parameters := [0], types := [.nat], result := .bool, - body := (.build .true .bool []) }, - { parameters := [0], types := [(.list (.pair .nat .int))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 6 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 11 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, - { parameters := [0], types := [(.result (.adt 0) .nat)], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .ok [1] (.call 2 [(.var 1)])), (.arm .error [2] (.call 10 [(.var 2)]))]) }, - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.«match» .bool (.var 0) [(.arm (.adt 0) [1, 2] (.cond (.call 5 [(.var 1)]) (.build .true .bool []) (.build .false .bool [])))]) }, - { parameters := [0], types := [(.option (.list .nat))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .none [] (.build .true .bool [])), (.arm .some [1] (.call 3 [(.var 1)]))]) }, - { parameters := [0], types := [(.list (.list (.pair .nat .bool)))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 16 [(.var 1)]) (.call 15 [(.var 2)]) (.build .false .bool [])))]) }, - { parameters := [0], types := [(.list (.pair .nat .bool))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 17 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 16 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, - { parameters := [0], types := [.bool], result := .bool, - body := (.build .true .bool []) }, - { parameters := [0, 1, 2, 3], types := [(.adt 0), (.adt 1), (.option (.list .nat)), (.list (.list (.pair .nat .bool)))], result := (.option (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))), - body := (.cond (.call 2 [(.var 0)]) (.cond (.call 13 [(.var 1)]) (.cond (.call 14 [(.var 2)]) (.cond (.call 15 [(.var 3)]) (.build .some (.option (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [(.call 0 [(.var 0), (.var 1), (.var 2), (.var 3)])]) (.build .none (.option (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])) (.build .none (.option (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])) (.build .none (.option (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])) (.build .none (.option (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.enum (.adt 0) [{ number := 0, fields := [(.list .nat), (.list (.adt 0)), (.list (.pair .str .int)), (.rc (.option (.adt 0))), (.list (.pair .nat (.adt 0)))] }, { number := 1, fields := [(.list (.pair .nat .int))] }, { number := 2, fields := [(.rc (.result (.adt 0) .nat))] }]), - (.enum (.adt 1) [{ number := 0, fields := [(.list (.pair .str .int)), .str] }]), - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 1) }, { pattern := (.bind (.generated .binding 2)), type := (.option (.list .nat)) }, { pattern := (.bind (.generated .binding 3)), type := (.list (.list (.pair .nat .bool))) }] (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool)))))) (.mk [] (.pair (.call (.function 1) [(.move (.generated .binding 0))] false) (.pair (.move (.generated .binding 1)) (.pair (.move (.generated .binding 2)) (.move (.generated .binding 3))))))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .nat (.mk [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1)), .wild, .wild, .wild, .wild]) (.mk [(.mk (.bind (.generated .operand 2)) none (.move (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 2))] false))), (.mk (.adt 0 1 [(.bind (.generated .binding 6))]) (.mk [(.mk (.bind (.generated .operand 3)) none (.move (.generated .binding 6)))] (.call (.runtime .lengthList) [(.move (.generated .operand 3))] false))), (.mk (.adt 0 2 [.wild]) (.mk [] (.lit (.nat 0))))]))), - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .holder 4)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 4)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1)), (.bind (.generated .binding 2)), (.bind (.generated .binding 3)), (.bind (.generated .boxed 5)), (.bind (.generated .binding 5))]) (.mk [(.mk (.bind (.generated .binding 4)) none (.unbox (.generated .boxed 5)))] (.cond (.call (.function 3) [(.move (.generated .binding 1))] false) (.mk [] (.cond (.call (.function 4) [(.move (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 5) [(.move (.generated .binding 3))] false) (.mk [] (.cond (.call (.function 7) [(.move (.generated .binding 4))] false) (.mk [] (.call (.function 8) [(.move (.generated .binding 5))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))), (.mk (.adt 0 1 [(.bind (.generated .binding 6))]) (.mk [] (.call (.function 11) [(.move (.generated .binding 6))] false))), (.mk (.adt 0 2 [(.bind (.generated .boxed 6))]) (.mk [(.mk (.bind (.generated .binding 7)) none (.unbox (.generated .boxed 6)))] (.call (.function 12) [(.move (.generated .binding 7))] false)))]))), - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }] .bool (.mk [(.mk (.bind (.generated .holder 7)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 7)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .holder 8)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 8)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))] (.cond (.matchOn (.move (.generated .holder 11)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 3) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])))]))), - (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.adt 0)) }] .bool (.mk [(.mk (.bind (.generated .holder 12)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 12)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 2) [(.move (.generated .binding 1))] false) (.mk [] (.call (.function 4) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))]))), - (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str .int)) }] .bool (.mk [(.mk (.bind (.generated .holder 13)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 13)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 6) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 14))]) none (.move (.generated .binding 1)))] (.move (.generated .part 14))))] false) (.mk [(.mk (.bind (.generated .holder 15)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 15)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 20)) none (.block (.mk [(.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 16)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 16))))), (.mk (.bind (.generated .operand 19)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 17)))))] (.call (.runtime .compare) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false))))] (.cond (.matchOn (.move (.generated .holder 20)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 5) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]))), - (.function (.generated .function 6) [{ pattern := .wild, type := .int }] .bool (.mk [] (.lit (.bool true)))), - (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := (.option (.adt 0)) }] .bool (.mk [(.mk (.bind (.generated .holder 21)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 21)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.call (.function 2) [(.move (.generated .binding 1))] false)))]))), - (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.adt 0))) }] .bool (.mk [(.mk (.bind (.generated .holder 22)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 22)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 9) [(.move (.generated .binding 1))] false) (.mk [] (.call (.function 8) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))]))), - (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat (.adt 0)) }] .bool (.mk [] (.cond (.call (.function 10) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 23))))] false) (.mk [] (.call (.function 2) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.move (.generated .binding 0)))] (.move (.generated .part 24))))] false)) (.mk [] (.lit (.bool false)))))), - (.function (.generated .function 10) [{ pattern := .wild, type := .nat }] .bool (.mk [] (.lit (.bool true)))), - (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat .int)) }] .bool (.mk [(.mk (.bind (.generated .holder 25)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 25)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 6) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 26))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 26))))] false) (.mk [(.mk (.bind (.generated .holder 27)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 27)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 32)) none (.block (.mk [(.mk (.bind (.generated .operand 30)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 28)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 28))))), (.mk (.bind (.generated .operand 31)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 29)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 29)))))] (.call (.runtime .compare) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] false))))] (.cond (.matchOn (.move (.generated .holder 32)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 11) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]))), - (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := (.result (.adt 0) .nat) }] .bool (.mk [(.mk (.bind (.generated .holder 33)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 33)) [(.mk (.ok (.bind (.generated .binding 1))) (.mk [] (.call (.function 2) [(.move (.generated .binding 1))] false))), (.mk (.err (.bind (.generated .binding 2))) (.mk [] (.call (.function 10) [(.copy (.generated .binding 2))] false)))]))), - (.function (.generated .function 13) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .holder 34)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 34)) [(.mk (.adt 1 0 [(.bind (.generated .binding 1)), .wild]) (.mk [] (.call (.function 5) [(.move (.generated .binding 1))] false)))]))), - (.function (.generated .function 14) [{ pattern := (.bind (.generated .binding 0)), type := (.option (.list .nat)) }] .bool (.mk [(.mk (.bind (.generated .holder 35)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 35)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.call (.function 3) [(.move (.generated .binding 1))] false)))]))), - (.function (.generated .function 15) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.list (.pair .nat .bool))) }] .bool (.mk [(.mk (.bind (.generated .holder 36)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 36)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 16) [(.move (.generated .binding 1))] false) (.mk [] (.call (.function 15) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))]))), - (.function (.generated .function 16) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat .bool)) }] .bool (.mk [(.mk (.bind (.generated .holder 37)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 37)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 17) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 38))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 38))))] false) (.mk [(.mk (.bind (.generated .holder 39)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 39)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 44)) none (.block (.mk [(.mk (.bind (.generated .operand 42)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 40)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 40))))), (.mk (.bind (.generated .operand 43)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 41)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 41)))))] (.call (.runtime .compare) [(.move (.generated .operand 42)), (.move (.generated .operand 43))] false))))] (.cond (.matchOn (.move (.generated .holder 44)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 16) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]))), - (.function (.generated .function 17) [{ pattern := .wild, type := .bool }] .bool (.mk [] (.lit (.bool true)))), - (.function (.generated .function 18) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 1) }, { pattern := (.bind (.generated .binding 2)), type := (.option (.list .nat)) }, { pattern := (.bind (.generated .binding 3)), type := (.list (.list (.pair .nat .bool))) }] (.option (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) (.mk [] (.cond (.call (.function 2) [(.clone (.generated .binding 0))] false) (.mk [] (.cond (.call (.function 13) [(.clone (.generated .binding 1))] false) (.mk [] (.cond (.call (.function 14) [(.clone (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 3))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 2)), (.move (.generated .binding 3))] false)])) (.mk [] (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])))) (.mk [] (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])))) (.mk [] (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])))) (.mk [] (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.pair (.call (.function 1) [(.move (.generated .binding 0))] false) (.pair (.move (.generated .binding 1)) (.pair (.move (.generated .binding 2)) (.move (.generated .binding 3))))), [(3, (.list (.list (.pair .nat .bool))), (some 3)), (2, (.option (.list .nat)), (some 2)), (1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, - (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))))⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1)), .wild, .wild, .wild, .wild]) (.mk [(.mk (.bind (.generated .operand 2)) none (.move (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 2))] false))), (.mk (.adt 0 1 [(.bind (.generated .binding 6))]) (.mk [(.mk (.bind (.generated .operand 3)) none (.move (.generated .binding 6)))] (.call (.runtime .lengthList) [(.move (.generated .operand 3))] false))), (.mk (.adt 0 2 [.wild]) (.mk [] (.lit (.nat 0))))]), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(5, (.list (.pair .nat (.adt 0))), none), (4, (.option (.adt 0)), none), (3, (.list (.pair .string .int)), none), (2, (.list (.adt 0)), none), (1, (.list .nat), (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := [(.mk (.bind (.generated .operand 2)) none (.move (.generated .binding 1)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 2))] false)) (Corr.mCons (Γ' := [(6, (.list (.pair .nat .int)), (some 6)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .operand 3)) none (.move (.generated .binding 6)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 3))] false)) (Corr.mCons (Γ' := [(7, (.result (.adt 0) .nat), none), (0, (.adt 0), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.nat 0))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.value rfl rfl))) rfl rfl rfl (Corr.prim (ts := [(.list (.pair .nat .int))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.prim (ts := [(.list .nat)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl)⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 4)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 4)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1)), (.bind (.generated .binding 2)), (.bind (.generated .binding 3)), (.bind (.generated .boxed 5)), (.bind (.generated .binding 5))]) (.mk [(.mk (.bind (.generated .binding 4)) none (.unbox (.generated .boxed 5)))] (.cond (.call (.function 3) [(.move (.generated .binding 1))] false) (.mk [] (.cond (.call (.function 4) [(.move (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 5) [(.move (.generated .binding 3))] false) (.mk [] (.cond (.call (.function 7) [(.move (.generated .binding 4))] false) (.mk [] (.call (.function 8) [(.move (.generated .binding 5))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))), (.mk (.adt 0 1 [(.bind (.generated .binding 6))]) (.mk [] (.call (.function 11) [(.move (.generated .binding 6))] false))), (.mk (.adt 0 2 [(.bind (.generated .boxed 6))]) (.mk [(.mk (.bind (.generated .binding 7)) none (.unbox (.generated .boxed 6)))] (.call (.function 12) [(.move (.generated .binding 7))] false)))]), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(5, (.list (.pair .nat (.adt 0))), (some 5)), (4, (.option (.adt 0)), (some 4)), (3, (.list (.pair .string .int)), (some 3)), (2, (.list (.adt 0)), (some 2)), (1, (.list .nat), (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := [(.mk (.bind (.generated .binding 4)) none (.unbox (.generated .boxed 5)))]) (lets := []) (tail := (.cond (.call (.function 3) [(.move (.generated .binding 1))] false) (.mk [] (.cond (.call (.function 4) [(.move (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 5) [(.move (.generated .binding 3))] false) (.mk [] (.cond (.call (.function 7) [(.move (.generated .binding 4))] false) (.mk [] (.call (.function 8) [(.move (.generated .binding 5))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (Corr.mCons (Γ' := [(6, (.list (.pair .nat .int)), (some 6)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 11) [(.move (.generated .binding 6))] false)) (Corr.mCons (Γ' := [(7, (.result (.adt 0) .nat), (some 7)), (0, (.adt 0), (some 0))]) (j := 2) (loads := [(.mk (.bind (.generated .binding 7)) none (.unbox (.generated .boxed 6)))]) (lets := []) (tail := (.call (.function 12) [(.move (.generated .binding 7))] false)) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 12) [(.move (.generated .binding 7))] false)) (lk := []) (Corr.callOps (ts := [(.result (.adt 0) .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kId (Corr.bOfE (Corr.buildConst rfl)) (Corr.bOfE (Corr.buildConst rfl)) rfl))) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 11) [(.move (.generated .binding 6))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair .nat .int))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kId (Corr.bOfE (Corr.buildConst rfl)) (Corr.bOfE (Corr.buildConst rfl)) rfl))) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 3) [(.move (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 4) [(.move (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 5) [(.move (.generated .binding 3))] false) (.mk [] (.cond (.call (.function 7) [(.move (.generated .binding 4))] false) (.mk [] (.call (.function 8) [(.move (.generated .binding 5))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := []) (ce := (.call (.function 4) [(.move (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [(.list (.adt 0))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 5) [(.move (.generated .binding 3))] false) (.mk [] (.cond (.call (.function 7) [(.move (.generated .binding 4))] false) (.mk [] (.call (.function 8) [(.move (.generated .binding 5))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := []) (ce := (.call (.function 5) [(.move (.generated .binding 3))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair .string .int))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 7) [(.move (.generated .binding 4))] false) (.mk [] (.call (.function 8) [(.move (.generated .binding 5))] false)) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := []) (ce := (.call (.function 7) [(.move (.generated .binding 4))] false)) (lk := []) (Corr.callOps (ts := [(.option (.adt 0))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 8) [(.move (.generated .binding 5))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := []) (ce := (.call (.function 8) [(.move (.generated .binding 5))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair .nat (.adt 0)))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kId (Corr.bOfE (Corr.buildConst rfl)) (Corr.bOfE (Corr.buildConst rfl)) rfl)) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl)⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 7)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 7)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .holder 8)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 8)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))] (.cond (.matchOn (.move (.generated .holder 11)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 3) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])))]), [(0, (.list .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 8)) none (.clone (.generated .binding 2)))]) (tail := (.matchOn (.uncons (.generated .holder 8)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))] (.cond (.matchOn (.move (.generated .holder 11)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 3) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list .nat), none), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 11)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 3) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))]) (ce := (.matchOn (.move (.generated .holder 11)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 3)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list .nat), none), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list .nat), none), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list .nat), none), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 3) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun4 : FunOK program krate flags 4 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 12)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 12)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 2) [(.move (.generated .binding 1))] false) (.mk [] (.call (.function 4) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.adt 0)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.adt 0))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.adt 0)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.adt 0)), (some 2)), (1, (.adt 0), (some 1)), (0, (.list (.adt 0)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 2) [(.move (.generated .binding 1))] false) (.mk [] (.call (.function 4) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 2) [(.move (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 4) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.adt 0))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun5 : FunOK program krate flags 5 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 13)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 13)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 6) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 14))]) none (.move (.generated .binding 1)))] (.move (.generated .part 14))))] false) (.mk [(.mk (.bind (.generated .holder 15)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 15)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 20)) none (.block (.mk [(.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 16)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 16))))), (.mk (.bind (.generated .operand 19)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 17)))))] (.call (.runtime .compare) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false))))] (.cond (.matchOn (.move (.generated .holder 20)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 5) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.pair .string .int)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair .string .int))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair .string .int)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.pair .string .int)), (some 2)), (1, (.pair .string .int), (some 1)), (0, (.list (.pair .string .int)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 6) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 14))]) none (.move (.generated .binding 1)))] (.move (.generated .part 14))))] false) (.mk [(.mk (.bind (.generated .holder 15)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 15)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 20)) none (.block (.mk [(.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 16)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 16))))), (.mk (.bind (.generated .operand 19)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 17)))))] (.call (.runtime .compare) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false))))] (.cond (.matchOn (.move (.generated .holder 20)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 5) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 6) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 14))]) none (.move (.generated .binding 1)))] (.move (.generated .part 14))))] false)) (lk := []) (Corr.callOps (ts := [.int]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 14))]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 14))) (Corr.second (ta := .string) (tb := .int) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .holder 15)) none (.clone (.generated .binding 2)))]) (ta := (.matchOn (.uncons (.generated .holder 15)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 20)) none (.block (.mk [(.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 16)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 16))))), (.mk (.bind (.generated .operand 19)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 17)))))] (.call (.runtime .compare) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false))))] (.cond (.matchOn (.move (.generated .holder 20)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 5) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (lb := []) (tb := (.lit (.bool false))) (Corr.matchArms (st := (.list (.pair .string .int))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.pair .string .int)), (some 2)), (1, (.pair .string .int), (some 1)), (0, (.list (.pair .string .int)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .string .int)), none), (3, (.pair .string .int), (some 3)), (2, (.list (.pair .string .int)), (some 2)), (1, (.pair .string .int), (some 1)), (0, (.list (.pair .string .int)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 20)) none (.block (.mk [(.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 16)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 16))))), (.mk (.bind (.generated .operand 19)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 17)))))] (.call (.runtime .compare) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 20)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 5) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 20)) none (.block (.mk [(.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 16)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 16))))), (.mk (.bind (.generated .operand 19)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 17)))))] (.call (.runtime .compare) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false))))]) (ce := (.matchOn (.move (.generated .holder 20)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 16)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 16))))), (.mk (.bind (.generated .operand 19)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 17)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false)) (Corr.prim (ts := [.string, .string]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 16)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 16))) (Corr.first (ta := .string) (tb := .int) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.move (.generated .binding 3)))]) (tail := (.move (.generated .part 17))) (Corr.first (ta := .string) (tb := .int) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.pair .string .int)), none), (3, (.pair .string .int), (some 3)), (2, (.list (.pair .string .int)), (some 2)), (1, (.pair .string .int), (some 1)), (0, (.list (.pair .string .int)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .string .int)), none), (3, (.pair .string .int), (some 3)), (2, (.list (.pair .string .int)), (some 2)), (1, (.pair .string .int), (some 1)), (0, (.list (.pair .string .int)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list (.pair .string .int)), none), (3, (.pair .string .int), (some 3)), (2, (.list (.pair .string .int)), (some 2)), (1, (.pair .string .int), (some 1)), (0, (.list (.pair .string .int)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 5) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.pair .string .int))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun6 : FunOK program krate flags 6 := - ⟨_, rfl, .inl ⟨_, _, [], (.lit (.bool true)), [(0, .int, none)], rfl, rfl, - (Corr.bOfE (Corr.buildConst rfl))⟩⟩ - -theorem fun7 : FunOK program krate flags 7 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 21)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 21)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.call (.function 2) [(.move (.generated .binding 1))] false)))]), [(0, (.option (.adt 0)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option (.adt 0))) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.option (.adt 0)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(1, (.adt 0), (some 1)), (0, (.option (.adt 0)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 2) [(.move (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun8 : FunOK program krate flags 8 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 22)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 22)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 9) [(.move (.generated .binding 1))] false) (.mk [] (.call (.function 8) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.pair .nat (.adt 0))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair .nat (.adt 0)))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair .nat (.adt 0))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.pair .nat (.adt 0))), (some 2)), (1, (.pair .nat (.adt 0)), (some 1)), (0, (.list (.pair .nat (.adt 0))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 9) [(.move (.generated .binding 1))] false) (.mk [] (.call (.function 8) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 9) [(.move (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.pair .nat (.adt 0))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 8) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.pair .nat (.adt 0)))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun9 : FunOK program krate flags 9 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 10) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 23))))] false) (.mk [] (.call (.function 2) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.move (.generated .binding 0)))] (.move (.generated .part 24))))] false)) (.mk [] (.lit (.bool false)))), [(0, (.pair .nat (.adt 0)), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 10) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 23))))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.move (.generated .binding 0)))]) (tail := (.move (.generated .part 23))) (Corr.first (ta := .nat) (tb := (.adt 0)) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 2) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.move (.generated .binding 0)))] (.move (.generated .part 24))))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.move (.generated .binding 0)))]) (tail := (.move (.generated .part 24))) (Corr.second (ta := .nat) (tb := (.adt 0)) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun10 : FunOK program krate flags 10 := - ⟨_, rfl, .inl ⟨_, _, [], (.lit (.bool true)), [(0, .nat, none)], rfl, rfl, - (Corr.bOfE (Corr.buildConst rfl))⟩⟩ - -theorem fun11 : FunOK program krate flags 11 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 25)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 25)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 6) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 26))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 26))))] false) (.mk [(.mk (.bind (.generated .holder 27)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 27)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 32)) none (.block (.mk [(.mk (.bind (.generated .operand 30)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 28)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 28))))), (.mk (.bind (.generated .operand 31)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 29)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 29)))))] (.call (.runtime .compare) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] false))))] (.cond (.matchOn (.move (.generated .holder 32)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 11) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.pair .nat .int)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair .nat .int))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair .nat .int)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.pair .nat .int)), (some 2)), (1, (.pair .nat .int), (some 1)), (0, (.list (.pair .nat .int)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 6) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 26))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 26))))] false) (.mk [(.mk (.bind (.generated .holder 27)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 27)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 32)) none (.block (.mk [(.mk (.bind (.generated .operand 30)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 28)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 28))))), (.mk (.bind (.generated .operand 31)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 29)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 29)))))] (.call (.runtime .compare) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] false))))] (.cond (.matchOn (.move (.generated .holder 32)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 11) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 6) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 26))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 26))))] false)) (lk := []) (Corr.callOps (ts := [.int]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 26))]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 26))) (Corr.second (ta := .nat) (tb := .int) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .holder 27)) none (.clone (.generated .binding 2)))]) (ta := (.matchOn (.uncons (.generated .holder 27)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 32)) none (.block (.mk [(.mk (.bind (.generated .operand 30)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 28)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 28))))), (.mk (.bind (.generated .operand 31)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 29)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 29)))))] (.call (.runtime .compare) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] false))))] (.cond (.matchOn (.move (.generated .holder 32)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 11) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (lb := []) (tb := (.lit (.bool false))) (Corr.matchArms (st := (.list (.pair .nat .int))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.pair .nat .int)), (some 2)), (1, (.pair .nat .int), (some 1)), (0, (.list (.pair .nat .int)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .nat .int)), none), (3, (.pair .nat .int), (some 3)), (2, (.list (.pair .nat .int)), (some 2)), (1, (.pair .nat .int), (some 1)), (0, (.list (.pair .nat .int)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 32)) none (.block (.mk [(.mk (.bind (.generated .operand 30)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 28)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 28))))), (.mk (.bind (.generated .operand 31)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 29)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 29)))))] (.call (.runtime .compare) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 32)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 11) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 32)) none (.block (.mk [(.mk (.bind (.generated .operand 30)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 28)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 28))))), (.mk (.bind (.generated .operand 31)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 29)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 29)))))] (.call (.runtime .compare) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] false))))]) (ce := (.matchOn (.move (.generated .holder 32)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 30)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 28)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 28))))), (.mk (.bind (.generated .operand 31)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 29)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 29)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 28)), .wild]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 28))) (Corr.first (ta := .nat) (tb := .int) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 29)), .wild]) none (.copy (.generated .binding 3)))]) (tail := (.move (.generated .part 29))) (Corr.first (ta := .nat) (tb := .int) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.pair .nat .int)), none), (3, (.pair .nat .int), (some 3)), (2, (.list (.pair .nat .int)), (some 2)), (1, (.pair .nat .int), (some 1)), (0, (.list (.pair .nat .int)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .nat .int)), none), (3, (.pair .nat .int), (some 3)), (2, (.list (.pair .nat .int)), (some 2)), (1, (.pair .nat .int), (some 1)), (0, (.list (.pair .nat .int)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list (.pair .nat .int)), none), (3, (.pair .nat .int), (some 3)), (2, (.list (.pair .nat .int)), (some 2)), (1, (.pair .nat .int), (some 1)), (0, (.list (.pair .nat .int)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 11) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.pair .nat .int))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun12 : FunOK program krate flags 12 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 33)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 33)) [(.mk (.ok (.bind (.generated .binding 1))) (.mk [] (.call (.function 2) [(.move (.generated .binding 1))] false))), (.mk (.err (.bind (.generated .binding 2))) (.mk [] (.call (.function 10) [(.copy (.generated .binding 2))] false)))]), [(0, (.result (.adt 0) .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.result (.adt 0) .nat)) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.adt 0), (some 1)), (0, (.result (.adt 0) .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.call (.function 2) [(.move (.generated .binding 1))] false)) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (0, (.result (.adt 0) .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 10) [(.copy (.generated .binding 2))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl rfl rfl)⟩⟩ - -theorem fun13 : FunOK program krate flags 13 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 34)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 34)) [(.mk (.adt 1 0 [(.bind (.generated .binding 1)), .wild]) (.mk [] (.call (.function 5) [(.move (.generated .binding 1))] false)))]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.adt 1)) (U := []) (view := false) (idx := [0]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, .string, none), (1, (.list (.pair .string .int)), (some 1)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.call (.function 5) [(.move (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 5) [(.move (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair .string .int))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kId (Corr.bOfE (Corr.buildConst rfl)) (Corr.bOfE (Corr.buildConst rfl)) rfl))) rfl rfl rfl)⟩⟩ - -theorem fun14 : FunOK program krate flags 14 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 35)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 35)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.call (.function 3) [(.move (.generated .binding 1))] false)))]), [(0, (.option (.list .nat)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option (.list .nat))) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.option (.list .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(1, (.list .nat), (some 1)), (0, (.option (.list .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 3) [(.move (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun15 : FunOK program krate flags 15 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 36)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 36)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 16) [(.move (.generated .binding 1))] false) (.mk [] (.call (.function 15) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.list (.pair .nat .bool))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.list (.pair .nat .bool)))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.list (.pair .nat .bool))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.list (.pair .nat .bool))), (some 2)), (1, (.list (.pair .nat .bool)), (some 1)), (0, (.list (.list (.pair .nat .bool))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 16) [(.move (.generated .binding 1))] false) (.mk [] (.call (.function 15) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 16) [(.move (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair .nat .bool))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 15) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.list (.pair .nat .bool)))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun16 : FunOK program krate flags 16 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 37)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 37)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 17) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 38))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 38))))] false) (.mk [(.mk (.bind (.generated .holder 39)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 39)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 44)) none (.block (.mk [(.mk (.bind (.generated .operand 42)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 40)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 40))))), (.mk (.bind (.generated .operand 43)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 41)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 41)))))] (.call (.runtime .compare) [(.move (.generated .operand 42)), (.move (.generated .operand 43))] false))))] (.cond (.matchOn (.move (.generated .holder 44)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 16) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.pair .nat .bool)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair .nat .bool))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair .nat .bool)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.pair .nat .bool)), (some 2)), (1, (.pair .nat .bool), (some 1)), (0, (.list (.pair .nat .bool)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 17) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 38))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 38))))] false) (.mk [(.mk (.bind (.generated .holder 39)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 39)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 44)) none (.block (.mk [(.mk (.bind (.generated .operand 42)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 40)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 40))))), (.mk (.bind (.generated .operand 43)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 41)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 41)))))] (.call (.runtime .compare) [(.move (.generated .operand 42)), (.move (.generated .operand 43))] false))))] (.cond (.matchOn (.move (.generated .holder 44)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 16) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 17) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 38))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 38))))] false)) (lk := []) (Corr.callOps (ts := [.bool]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 38))]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 38))) (Corr.second (ta := .nat) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .holder 39)) none (.clone (.generated .binding 2)))]) (ta := (.matchOn (.uncons (.generated .holder 39)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 44)) none (.block (.mk [(.mk (.bind (.generated .operand 42)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 40)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 40))))), (.mk (.bind (.generated .operand 43)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 41)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 41)))))] (.call (.runtime .compare) [(.move (.generated .operand 42)), (.move (.generated .operand 43))] false))))] (.cond (.matchOn (.move (.generated .holder 44)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 16) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (lb := []) (tb := (.lit (.bool false))) (Corr.matchArms (st := (.list (.pair .nat .bool))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.pair .nat .bool)), (some 2)), (1, (.pair .nat .bool), (some 1)), (0, (.list (.pair .nat .bool)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .nat .bool)), none), (3, (.pair .nat .bool), (some 3)), (2, (.list (.pair .nat .bool)), (some 2)), (1, (.pair .nat .bool), (some 1)), (0, (.list (.pair .nat .bool)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 44)) none (.block (.mk [(.mk (.bind (.generated .operand 42)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 40)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 40))))), (.mk (.bind (.generated .operand 43)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 41)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 41)))))] (.call (.runtime .compare) [(.move (.generated .operand 42)), (.move (.generated .operand 43))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 44)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 16) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 44)) none (.block (.mk [(.mk (.bind (.generated .operand 42)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 40)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 40))))), (.mk (.bind (.generated .operand 43)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 41)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 41)))))] (.call (.runtime .compare) [(.move (.generated .operand 42)), (.move (.generated .operand 43))] false))))]) (ce := (.matchOn (.move (.generated .holder 44)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 42)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 40)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 40))))), (.mk (.bind (.generated .operand 43)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 41)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 41)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 42)), (.move (.generated .operand 43))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 40)), .wild]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 40))) (Corr.first (ta := .nat) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 41)), .wild]) none (.copy (.generated .binding 3)))]) (tail := (.move (.generated .part 41))) (Corr.first (ta := .nat) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.pair .nat .bool)), none), (3, (.pair .nat .bool), (some 3)), (2, (.list (.pair .nat .bool)), (some 2)), (1, (.pair .nat .bool), (some 1)), (0, (.list (.pair .nat .bool)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .nat .bool)), none), (3, (.pair .nat .bool), (some 3)), (2, (.list (.pair .nat .bool)), (some 2)), (1, (.pair .nat .bool), (some 1)), (0, (.list (.pair .nat .bool)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list (.pair .nat .bool)), none), (3, (.pair .nat .bool), (some 3)), (2, (.list (.pair .nat .bool)), (some 2)), (1, (.pair .nat .bool), (some 1)), (0, (.list (.pair .nat .bool)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 16) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.pair .nat .bool))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun17 : FunOK program krate flags 17 := - ⟨_, rfl, .inl ⟨_, _, [], (.lit (.bool true)), [(0, .bool, none)], rfl, rfl, - (Corr.bOfE (Corr.buildConst rfl))⟩⟩ - -theorem fun18 : FunOK program krate flags 18 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 2) [(.clone (.generated .binding 0))] false) (.mk [] (.cond (.call (.function 13) [(.clone (.generated .binding 1))] false) (.mk [] (.cond (.call (.function 14) [(.clone (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 3))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 2)), (.move (.generated .binding 3))] false)])) (.mk [] (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])))) (.mk [] (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])))) (.mk [] (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])))) (.mk [] (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) []))), [(3, (.list (.list (.pair .nat .bool))), (some 3)), (2, (.option (.list .nat)), (some 2)), (1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 2) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 13) [(.clone (.generated .binding 1))] false) (.mk [] (.cond (.call (.function 14) [(.clone (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 3))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 2)), (.move (.generated .binding 3))] false)])) (.mk [] (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])))) (.mk [] (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])))) (.mk [] (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])))) (lb := []) (tb := (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])) (Corr.cond (lc := []) (ce := (.call (.function 13) [(.clone (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 14) [(.clone (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 3))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 2)), (.move (.generated .binding 3))] false)])) (.mk [] (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])))) (.mk [] (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])))) (lb := []) (tb := (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])) (Corr.cond (lc := []) (ce := (.call (.function 14) [(.clone (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [(.option (.list .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 15) [(.clone (.generated .binding 3))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 2)), (.move (.generated .binding 3))] false)])) (.mk [] (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])))) (lb := []) (tb := (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])) (Corr.cond (lc := []) (ce := (.call (.function 15) [(.clone (.generated .binding 3))] false)) (lk := []) (Corr.callOps (ts := [(.list (.list (.pair .nat .bool)))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 2)), (.move (.generated .binding 3))] false)])) (lb := []) (tb := (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])) (Corr.build (ts := [(.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0), (.adt 1), (.option (.list .nat)), (.list (.list (.pair .nat .bool)))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | 4 => exact fun4 - | 5 => exact fun5 - | 6 => exact fun6 - | 7 => exact fun7 - | 8 => exact fun8 - | 9 => exact fun9 - | 10 => exact fun10 - | 11 => exact fun11 - | 12 => exact fun12 - | 13 => exact fun13 - | 14 => exact fun14 - | 15 => exact fun15 - | 16 => exact fun16 - | 17 => exact fun17 - | 18 => exact fun18 - | _ + 19 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R1.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R1.lean deleted file mode 100644 index 79da36fde..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R1.lean +++ /dev/null @@ -1,114 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Coverage.Boundary -import Coverage.Colls -import Coverage.Main -import Coverage.Prims -import Coverage.RecRoots -import Coverage.Recur -import Coverage.Syntax -import Coverage.Types -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1, 2], types := [(.list (.pair .string .nat)), .string, .nat], result := (.pair (.list (.pair .string .nat)) (.pair (.list (.pair .string .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat))))))))), - body := (.build .pair (.pair (.list (.pair .string .nat)) (.pair (.list (.pair .string .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat))))))))) [(.call 1 [(.var 0), (.var 1), (.var 2)]), (.build .pair (.pair (.list (.pair .string .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat)))))))) [(.call 2 [(.var 0), (.var 1)]), (.build .pair (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat))))))) [(.call 3 [(.var 0), (.var 1)]), (.build .pair (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat)))))) [(.call 4 [(.var 0), (.var 1)]), (.build .pair (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat))))) [(.call 6 [(.var 0)]), (.build .pair (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat)))) [(.call 7 [(.var 0)]), (.build .pair (.pair .nat (.list (.pair .string .nat))) [(.prim .length [(.var 0)]), (.var 0)])])])])])])]) }, - { parameters := [0, 1, 2], types := [(.list (.pair .string .nat)), .string, .nat], result := (.list (.pair .string .nat)), - body := (.«match» (.list (.pair .string .nat)) (.var 0) [(.arm .nil [] (.build .cons (.list (.pair .string .nat)) [(.build .pair (.pair .string .nat) [(.var 1), (.var 2)]), (.build .nil (.list (.pair .string .nat)) [])])), (.arm .cons [3, 4] (.«match» (.list (.pair .string .nat)) (.prim .compare [(.var 1), (.first (.var 3))]) [(.arm .lt [] (.build .cons (.list (.pair .string .nat)) [(.build .pair (.pair .string .nat) [(.var 1), (.var 2)]), (.var 0)])), (.arm .eq [] (.build .cons (.list (.pair .string .nat)) [(.build .pair (.pair .string .nat) [(.var 1), (.var 2)]), (.var 4)])), (.arm .gt [] (.build .cons (.list (.pair .string .nat)) [(.var 3), (.call 1 [(.var 4), (.var 1), (.var 2)])]))]))]) }, - { parameters := [0, 1], types := [(.list (.pair .string .nat)), .string], result := (.list (.pair .string .nat)), - body := (.«match» (.list (.pair .string .nat)) (.var 0) [(.arm .nil [] (.build .nil (.list (.pair .string .nat)) [])), (.arm .cons [2, 3] (.«match» (.list (.pair .string .nat)) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.var 0)), (.arm .eq [] (.var 3)), (.arm .gt [] (.build .cons (.list (.pair .string .nat)) [(.var 2), (.call 2 [(.var 3), (.var 1)])]))]))]) }, - { parameters := [0, 1], types := [(.list (.pair .string .nat)), .string], result := (.option .nat), - body := (.«match» (.option .nat) (.var 0) [(.arm .nil [] (.build .none (.option .nat) [])), (.arm .cons [2, 3] (.«match» (.option .nat) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option .nat) [])), (.arm .eq [] (.build .some (.option .nat) [(.second (.var 2))])), (.arm .gt [] (.call 3 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0, 1], types := [(.list (.pair .string .nat)), .string], result := .bool, - body := (.«match» .bool (.call 5 [(.var 0), (.var 1)]) [(.arm .none [] (.build .false .bool [])), (.arm .some [2] (.build .true .bool []))]) }, - { parameters := [0, 1], types := [(.list (.pair .string .nat)), .string], result := (.option .nat), - body := (.«match» (.option .nat) (.var 0) [(.arm .nil [] (.build .none (.option .nat) [])), (.arm .cons [2, 3] (.«match» (.option .nat) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option .nat) [])), (.arm .eq [] (.build .some (.option .nat) [(.second (.var 2))])), (.arm .gt [] (.call 5 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0], types := [(.list (.pair .string .nat))], result := (.list .string), - body := (.«match» (.list .string) (.var 0) [(.arm .nil [] (.build .nil (.list .string) [])), (.arm .cons [1, 2] (.build .cons (.list .string) [(.first (.var 1)), (.call 6 [(.var 2)])]))]) }, - { parameters := [0], types := [(.list (.pair .string .nat))], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .nil (.list .nat) [])), (.arm .cons [1, 2] (.build .cons (.list .nat) [(.second (.var 1)), (.call 7 [(.var 2)])]))]) }, - { parameters := [0], types := [(.list (.pair .string .nat))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 9 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 8 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, - { parameters := [0], types := [.nat], result := .bool, - body := (.build .true .bool []) }, - { parameters := [0, 1, 2], types := [(.list (.pair .string .nat)), .string, .nat], result := (.option (.pair (.list (.pair .string .nat)) (.pair (.list (.pair .string .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat)))))))))), - body := (.cond (.call 8 [(.var 0)]) (.build .some (.option (.pair (.list (.pair .string .nat)) (.pair (.list (.pair .string .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat)))))))))) [(.call 0 [(.var 0), (.var 1), (.var 2)])]) (.build .none (.option (.pair (.list (.pair .string .nat)) (.pair (.list (.pair .string .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat)))))))))) [])) }] } - -def __fits_0 (m : (List (Prod String Nat))) (k : String) (v : Nat) : Bool := - ((((Bool.true && (Bool.true && (Bool.true && Bool.true))) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && Bool.true) && Bool.true) && (((((Bool.true && Bool.true) && Bool.true) && (((((Bool.true && Bool.true) && (Nat.blt (Coverage.Colls.LexLeanCollections.mapSize (m) : Nat) 18446744073709551616)) && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) - -theorem __rel_0 (m : (List (Prod String Nat))) (k : String) (v : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) m), (_root_.LexLeanTarget.TargetSyntax.Value.string k), (_root_.LexLeanTarget.TargetSyntax.Value.nat v)] (_root_.LexLeanPreservation.Rel (__fits_0 m k v) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat))))))))) (Coverage.Colls.mapOps m k v))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_mapInsert (_root_.LexLeanPreservation.keySpec_string Coverage.Colls.LexLeanCollections.compareCodes rfl (fun _ _ => rfl) (fun _ _ => rfl) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (Coverage.Colls.LexLeanCollections.Key.compare : String -> String -> Ordering) (fun _ _ => rfl)) _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) Coverage.Colls.LexLeanCollections.insertEntry (fun _ _ => rfl) (fun _ _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.insertEntry, __h]) (fun _ _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.insertEntry, __h]) (fun _ _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.insertEntry, __h]) (p := __prog) (fi := 1) (tk := .string) (tw := .nat) rfl (m) (k) (v))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_mapRemove (_root_.LexLeanPreservation.keySpec_string Coverage.Colls.LexLeanCollections.compareCodes rfl (fun _ _ => rfl) (fun _ _ => rfl) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (Coverage.Colls.LexLeanCollections.Key.compare : String -> String -> Ordering) (fun _ _ => rfl)) _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) Coverage.Colls.LexLeanCollections.removeEntry (fun _ => rfl) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.removeEntry, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.removeEntry, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.removeEntry, __h]) (p := __prog) (fi := 2) (tk := .string) (tw := .nat) rfl (m) (k))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_mapLookup (_root_.LexLeanPreservation.keySpec_string Coverage.Colls.LexLeanCollections.compareCodes rfl (fun _ _ => rfl) (fun _ _ => rfl) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (Coverage.Colls.LexLeanCollections.Key.compare : String -> String -> Ordering) (fun _ _ => rfl)) _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) (_root_.LexLeanPreservation.optEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) Coverage.Colls.LexLeanCollections.lookupEntry (fun _ => rfl) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]) (p := __prog) (fi := 3) (tk := .string) (tw := .nat) rfl (m) (k))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_mapContains (_root_.LexLeanPreservation.keySpec_string Coverage.Colls.LexLeanCollections.compareCodes rfl (fun _ _ => rfl) (fun _ _ => rfl) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (Coverage.Colls.LexLeanCollections.Key.compare : String -> String -> Ordering) (fun _ _ => rfl)) _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) Coverage.Colls.LexLeanCollections.lookupEntry (fun _ => rfl) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]) (p := __prog) (fi := 4) (tk := .string) (tw := .nat) rfl rfl (m) (k))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.tpl_mapKeys (ek := _root_.LexLeanTarget.TargetSyntax.Value.string) (ev := _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.string) (fun _ => rfl) (p := __prog) (fi := 6) (tk := .string) (tw := .nat) rfl (m))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.tpl_mapValues (ek := _root_.LexLeanTarget.TargetSyntax.Value.string) (ev := _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) (p := __prog) (fi := 7) (tk := .string) (tw := .nat) rfl (m))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) m)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) - -def denote (m : (List (Prod String Nat))) (k : String) (v : Nat) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 m k v) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat))))))))) (Coverage.Colls.mapOps m k v)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (m : (List (Prod String Nat))) (k : String) (v : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) m), (_root_.LexLeanTarget.TargetSyntax.Value.string k), (_root_.LexLeanTarget.TargetSyntax.Value.nat v)] (_root_.LexLeanPreservation.Rel (__fits_0 m k v) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat))))))))) (Coverage.Colls.mapOps m k v))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 m k v) - -def __valid_9 : Nat -> Bool := - fun _ => Bool.true - -def __inv_9 : Nat -> Prop := - fun _ => _root_.True - -theorem __viff_9 : ∀ (__v : Nat), __valid_9 __v = Bool.true ↔ __inv_9 __v := - fun __v => _root_.LexLeanPreservation.validTrue_inv __v - -theorem __vrel_9 : ∀ (__v : Nat), _root_.LexLeanPreservation.FunRel __prog 9 [(_root_.LexLeanTarget.TargetSyntax.Value.nat __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_9 __v))) := - _root_.LexLeanPreservation.tpl_validTrue _root_.LexLeanTarget.TargetSyntax.Value.nat rfl - -def __valid_8 : (List (Prod String Nat)) -> Bool := - _root_.LexLeanPreservation.ascMap (Coverage.Colls.LexLeanCollections.Key.compare : String -> String -> Ordering) __valid_9 - -def __inv_8 : (List (Prod String Nat)) -> Prop := - _root_.LexLeanPreservation.InvMap (Coverage.Colls.LexLeanCollections.Key.compare : String -> String -> Ordering) __inv_9 - -theorem __viff_8 : ∀ (__v : (List (Prod String Nat))), __valid_8 __v = Bool.true ↔ __inv_8 __v := - _root_.LexLeanPreservation.ascMap_inv (Coverage.Colls.LexLeanCollections.Key.compare : String -> String -> Ordering) __valid_9 __inv_9 __viff_9 - -theorem __vrel_8 : ∀ (__v : (List (Prod String Nat))), _root_.LexLeanPreservation.FunRel __prog 8 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_8 __v))) := - _root_.LexLeanPreservation.tpl_validMap (_root_.LexLeanPreservation.keySpec_string Coverage.Colls.LexLeanCollections.compareCodes rfl (fun _ _ => rfl) (fun _ _ => rfl) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (Coverage.Colls.LexLeanCollections.Key.compare : String -> String -> Ordering) (fun _ _ => rfl)) __valid_9 (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) __vrel_9 rfl - -def entryFits (m : (List (Prod String Nat))) (k : String) (v : Nat) : Bool := - (if __valid_8 m then __fits_0 m k v else Bool.true) - -def entryValue (m : (List (Prod String Nat))) (k : String) (v : Nat) : _root_.LexLeanTarget.TargetSyntax.Value := - (if __valid_8 m then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat))))))))) (Coverage.Colls.mapOps m k v))) else _root_.LexLeanTarget.TargetSyntax.Value.none) - -/-- The entry's observation. -/ -def denoteEntry (m : (List (Prod String Nat))) (k : String) (v : Nat) : _root_.LexLeanPreservation.Obs := - _root_.cond (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.entryFits m k v) (_root_.LexLeanPreservation.Obs.value (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.entryValue m k v)) _root_.LexLeanPreservation.Obs.overflow - -/-- §17.12's invariants of the validated parameters. -/ -def accepts (m : (List (Prod String Nat))) (k : String) (v : Nat) : Prop := - (__inv_8 m ∧ _root_.True) - -theorem entry (m : (List (Prod String Nat))) (k : String) (v : Nat) : _root_.LexLeanPreservation.RunConv __prog 10 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) m), (_root_.LexLeanTarget.TargetSyntax.Value.string k), (_root_.LexLeanTarget.TargetSyntax.Value.nat v)] (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.denoteEntry m k v) := - _root_.LexLeanPreservation.run_of_funRel (_root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then __fits_0 m k v else Bool.true) (fun __c => if __c then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat))))))))) (Coverage.Colls.mapOps m k v))) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_8 m) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_8 m)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (__rel_0 m k v)) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (by simp [_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.entryFits])) - -theorem entry_accepts (m : (List (Prod String Nat))) (k : String) (v : Nat) (__h : _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.accepts m k v) : _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.denoteEntry m k v = _root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.denote m k v) := by - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.accepts at __h - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.denoteEntry _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.entryFits _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.entryValue _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.denote - simp only [_root_.if_true, (__viff_8 m).mpr __h.1] - cases __fits_0 m k v <;> rfl - -theorem entry_refuses (m : (List (Prod String Nat))) (k : String) (v : Nat) (__h : ¬ _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.accepts m k v) : _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.denoteEntry m k v = _root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none := by - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.accepts at __h - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.denoteEntry _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.entryFits _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.entryValue - cases __c0 : __valid_8 m - · simp - · exact _root_.absurd ⟨(__viff_8 m).mp __c0, _root_.trivial⟩ __h - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R1/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R1/Compose/RustStd.lean deleted file mode 100644 index fd632eec2..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R1/Compose/RustStd.lean +++ /dev/null @@ -1,20 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.Compose.RustStd - -/-- The rendering of the root's entry, invoked on the encoded arguments, -realizes the encoded source result when the arguments satisfy §17.12's -invariants, and refuses them with `none` otherwise. -/ -theorem root (m : (List (Prod String Nat))) (k : String) (v : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) m), (_root_.LexLeanTarget.TargetSyntax.Value.string k), (_root_.LexLeanTarget.TargetSyntax.Value.nat v)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 10) [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) m), (_root_.LexLeanTarget.TargetSyntax.Value.string k), (_root_.LexLeanTarget.TargetSyntax.Value.nat v)] __e_ro ∧ - (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.accepts m k v → _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.denote m k v)) __e_ro) ∧ - (¬ _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.accepts m k v → _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none) __e_ro) := - match _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.RustStd.root __e_n 10) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_string _root_.LexLeanPreservation.Rust.wt_nat)) m) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_string k) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat v) _root_.LexLeanPreservation.Rust.wtl_nil))) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.entry m k v) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) with - | ⟨__e_ro, __e_hr, __e_hc⟩ => ⟨__e_ro, __e_hc, fun __e_h => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.entry_accepts m k v __e_h ▸ __e_hr, fun __e_h => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.entry_refuses m k v __e_h ▸ __e_hr⟩ - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R1/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R1/RustStd.lean deleted file mode 100644 index 2a56a7420..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R1/RustStd.lean +++ /dev/null @@ -1,113 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1, 2], types := [(.list (.pair .string .nat)), .string, .nat], result := (.pair (.list (.pair .string .nat)) (.pair (.list (.pair .string .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat))))))))), - body := (.build .pair (.pair (.list (.pair .string .nat)) (.pair (.list (.pair .string .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat))))))))) [(.call 1 [(.var 0), (.var 1), (.var 2)]), (.build .pair (.pair (.list (.pair .string .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat)))))))) [(.call 2 [(.var 0), (.var 1)]), (.build .pair (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat))))))) [(.call 3 [(.var 0), (.var 1)]), (.build .pair (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat)))))) [(.call 4 [(.var 0), (.var 1)]), (.build .pair (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat))))) [(.call 6 [(.var 0)]), (.build .pair (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat)))) [(.call 7 [(.var 0)]), (.build .pair (.pair .nat (.list (.pair .string .nat))) [(.prim .length [(.var 0)]), (.var 0)])])])])])])]) }, - { parameters := [0, 1, 2], types := [(.list (.pair .string .nat)), .string, .nat], result := (.list (.pair .string .nat)), - body := (.«match» (.list (.pair .string .nat)) (.var 0) [(.arm .nil [] (.build .cons (.list (.pair .string .nat)) [(.build .pair (.pair .string .nat) [(.var 1), (.var 2)]), (.build .nil (.list (.pair .string .nat)) [])])), (.arm .cons [3, 4] (.«match» (.list (.pair .string .nat)) (.prim .compare [(.var 1), (.first (.var 3))]) [(.arm .lt [] (.build .cons (.list (.pair .string .nat)) [(.build .pair (.pair .string .nat) [(.var 1), (.var 2)]), (.var 0)])), (.arm .eq [] (.build .cons (.list (.pair .string .nat)) [(.build .pair (.pair .string .nat) [(.var 1), (.var 2)]), (.var 4)])), (.arm .gt [] (.build .cons (.list (.pair .string .nat)) [(.var 3), (.call 1 [(.var 4), (.var 1), (.var 2)])]))]))]) }, - { parameters := [0, 1], types := [(.list (.pair .string .nat)), .string], result := (.list (.pair .string .nat)), - body := (.«match» (.list (.pair .string .nat)) (.var 0) [(.arm .nil [] (.build .nil (.list (.pair .string .nat)) [])), (.arm .cons [2, 3] (.«match» (.list (.pair .string .nat)) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.var 0)), (.arm .eq [] (.var 3)), (.arm .gt [] (.build .cons (.list (.pair .string .nat)) [(.var 2), (.call 2 [(.var 3), (.var 1)])]))]))]) }, - { parameters := [0, 1], types := [(.list (.pair .string .nat)), .string], result := (.option .nat), - body := (.«match» (.option .nat) (.var 0) [(.arm .nil [] (.build .none (.option .nat) [])), (.arm .cons [2, 3] (.«match» (.option .nat) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option .nat) [])), (.arm .eq [] (.build .some (.option .nat) [(.second (.var 2))])), (.arm .gt [] (.call 3 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0, 1], types := [(.list (.pair .string .nat)), .string], result := .bool, - body := (.«match» .bool (.call 5 [(.var 0), (.var 1)]) [(.arm .none [] (.build .false .bool [])), (.arm .some [2] (.build .true .bool []))]) }, - { parameters := [0, 1], types := [(.list (.pair .string .nat)), .string], result := (.option .nat), - body := (.«match» (.option .nat) (.var 0) [(.arm .nil [] (.build .none (.option .nat) [])), (.arm .cons [2, 3] (.«match» (.option .nat) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option .nat) [])), (.arm .eq [] (.build .some (.option .nat) [(.second (.var 2))])), (.arm .gt [] (.call 5 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0], types := [(.list (.pair .string .nat))], result := (.list .string), - body := (.«match» (.list .string) (.var 0) [(.arm .nil [] (.build .nil (.list .string) [])), (.arm .cons [1, 2] (.build .cons (.list .string) [(.first (.var 1)), (.call 6 [(.var 2)])]))]) }, - { parameters := [0], types := [(.list (.pair .string .nat))], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .nil (.list .nat) [])), (.arm .cons [1, 2] (.build .cons (.list .nat) [(.second (.var 1)), (.call 7 [(.var 2)])]))]) }, - { parameters := [0], types := [(.list (.pair .string .nat))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 9 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 8 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, - { parameters := [0], types := [.nat], result := .bool, - body := (.build .true .bool []) }, - { parameters := [0, 1, 2], types := [(.list (.pair .string .nat)), .string, .nat], result := (.option (.pair (.list (.pair .string .nat)) (.pair (.list (.pair .string .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat)))))))))), - body := (.cond (.call 8 [(.var 0)]) (.build .some (.option (.pair (.list (.pair .string .nat)) (.pair (.list (.pair .string .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat)))))))))) [(.call 0 [(.var 0), (.var 1), (.var 2)])]) (.build .none (.option (.pair (.list (.pair .string .nat)) (.pair (.list (.pair .string .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat)))))))))) [])) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str .nat)) }, { pattern := (.bind (.generated .binding 1)), type := .str }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.pair (.list (.pair .str .nat)) (.pair (.list (.pair .str .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .str) (.pair (.list .nat) (.pair .nat (.list (.pair .str .nat))))))))) (.mk [] (.pair (.call (.function 1) [(.clone (.generated .binding 0)), (.clone (.generated .binding 1)), (.copy (.generated .binding 2))] false) (.pair (.call (.function 2) [(.clone (.generated .binding 0)), (.clone (.generated .binding 1))] false) (.pair (.call (.function 3) [(.clone (.generated .binding 0)), (.clone (.generated .binding 1))] false) (.pair (.call (.function 4) [(.clone (.generated .binding 0)), (.move (.generated .binding 1))] false) (.pair (.call (.function 6) [(.clone (.generated .binding 0))] false) (.pair (.call (.function 7) [(.clone (.generated .binding 0))] false) (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 1))] false))) (.move (.generated .binding 0))))))))))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str .nat)) }, { pattern := (.bind (.generated .binding 1)), type := .str }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.list (.pair .str .nat)) (.mk [(.mk (.bind (.generated .holder 2)) none (.clone (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 2)) [(.mk .none (.mk [] (.construct .cons [(.pair (.move (.generated .binding 1)) (.copy (.generated .binding 2))), (.construct (.nil (.pair .str .nat)) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [(.mk (.bind (.generated .holder 6)) none (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.clone (.generated .binding 3)))] (.move (.generated .part 3)))))] (.call (.runtime .compare) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))))] (.matchOn (.move (.generated .holder 6)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.pair (.move (.generated .binding 1)) (.copy (.generated .binding 2))), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.construct .cons [(.pair (.move (.generated .binding 1)) (.copy (.generated .binding 2))), (.move (.generated .binding 4))]))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.move (.generated .binding 3)), (.call (.function 1) [(.move (.generated .binding 4)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)])))])))]))), - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str .nat)) }, { pattern := (.bind (.generated .binding 1)), type := .str }] (.list (.pair .str .nat)) (.mk [(.mk (.bind (.generated .holder 7)) none (.clone (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 7)) [(.mk .none (.mk [] (.construct (.nil (.pair .str .nat)) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 10)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.clone (.generated .binding 2)))] (.move (.generated .part 8)))))] (.call (.runtime .compare) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))] (.matchOn (.move (.generated .holder 11)) [(.mk (.ordering .less) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 3)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.move (.generated .binding 2)), (.call (.function 2) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])))])))]))), - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str .nat)) }, { pattern := (.bind (.generated .binding 1)), type := .str }] (.option .nat) (.mk [(.mk (.bind (.generated .holder 12)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 12)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 15)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 13)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 13)))))] (.call (.runtime .compare) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false))))] (.matchOn (.move (.generated .holder 16)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 17))]) none (.move (.generated .binding 2)))] (.move (.generated .part 17))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 3) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])))]))), - (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str .nat)) }, { pattern := (.bind (.generated .binding 1)), type := .str }] .bool (.mk [(.mk (.bind (.generated .holder 18)) none (.call (.function 5) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 18)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some .wild) (.mk [] (.lit (.bool true))))]))), - (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str .nat)) }, { pattern := (.bind (.generated .binding 1)), type := .str }] (.option .nat) (.mk [(.mk (.bind (.generated .holder 19)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 19)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 23)) none (.block (.mk [(.mk (.bind (.generated .operand 21)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 20)))))] (.call (.runtime .compare) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false))))] (.matchOn (.move (.generated .holder 23)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.move (.generated .binding 2)))] (.move (.generated .part 24))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 5) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])))]))), - (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str .nat)) }] (.list .str) (.mk [(.mk (.bind (.generated .holder 25)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 25)) [(.mk .none (.mk [] (.construct (.nil .str) []))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.construct .cons [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 26)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 26)))), (.call (.function 6) [(.move (.generated .binding 2))] false)])))]))), - (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str .nat)) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 27)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 27)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.construct .cons [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 28))]) none (.move (.generated .binding 1)))] (.move (.generated .part 28)))), (.call (.function 7) [(.move (.generated .binding 2))] false)])))]))), - (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str .nat)) }] .bool (.mk [(.mk (.bind (.generated .holder 29)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 29)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 30))]) none (.move (.generated .binding 1)))] (.move (.generated .part 30))))] false) (.mk [(.mk (.bind (.generated .holder 31)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 31)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 36)) none (.block (.mk [(.mk (.bind (.generated .operand 34)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 32)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 32))))), (.mk (.bind (.generated .operand 35)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 33)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 33)))))] (.call (.runtime .compare) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] false))))] (.cond (.matchOn (.move (.generated .holder 36)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 8) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]))), - (.function (.generated .function 9) [{ pattern := .wild, type := .nat }] .bool (.mk [] (.lit (.bool true)))), - (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str .nat)) }, { pattern := (.bind (.generated .binding 1)), type := .str }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.option (.pair (.list (.pair .str .nat)) (.pair (.list (.pair .str .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .str) (.pair (.list .nat) (.pair .nat (.list (.pair .str .nat)))))))))) (.mk [] (.cond (.call (.function 8) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)])) (.mk [] (.construct (.none (.pair (.list (.pair .str .nat)) (.pair (.list (.pair .str .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .str) (.pair (.list .nat) (.pair .nat (.list (.pair .str .nat)))))))))) [])))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.pair (.call (.function 1) [(.clone (.generated .binding 0)), (.clone (.generated .binding 1)), (.copy (.generated .binding 2))] false) (.pair (.call (.function 2) [(.clone (.generated .binding 0)), (.clone (.generated .binding 1))] false) (.pair (.call (.function 3) [(.clone (.generated .binding 0)), (.clone (.generated .binding 1))] false) (.pair (.call (.function 4) [(.clone (.generated .binding 0)), (.move (.generated .binding 1))] false) (.pair (.call (.function 6) [(.clone (.generated .binding 0))] false) (.pair (.call (.function 7) [(.clone (.generated .binding 0))] false) (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 1))] false))) (.move (.generated .binding 0))))))))), [(2, .nat, (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))], rfl, rfl, - (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string .nat)), .string, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string .nat)), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string .nat)), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string .nat)), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 1))] false)) (Corr.prim (ts := [(.list (.pair .string .nat))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))))⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 2)) none (.clone (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 2)) [(.mk .none (.mk [] (.construct .cons [(.pair (.move (.generated .binding 1)) (.copy (.generated .binding 2))), (.construct (.nil (.pair .str .nat)) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [(.mk (.bind (.generated .holder 6)) none (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.clone (.generated .binding 3)))] (.move (.generated .part 3)))))] (.call (.runtime .compare) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))))] (.matchOn (.move (.generated .holder 6)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.pair (.move (.generated .binding 1)) (.copy (.generated .binding 2))), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.construct .cons [(.pair (.move (.generated .binding 1)) (.copy (.generated .binding 2))), (.move (.generated .binding 4))]))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.move (.generated .binding 3)), (.call (.function 1) [(.move (.generated .binding 4)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)])))])))]), [(2, .nat, (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair .string .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.pair (.move (.generated .binding 1)) (.copy (.generated .binding 2))), (.construct (.nil (.pair .str .nat)) [])])) (Corr.mCons (Γ' := [(4, (.list (.pair .string .nat)), (some 4)), (3, (.pair .string .nat), (some 3)), (2, .nat, (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 6)) none (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.clone (.generated .binding 3)))] (.move (.generated .part 3)))))] (.call (.runtime .compare) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))))]) (tail := (.matchOn (.move (.generated .holder 6)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.pair (.move (.generated .binding 1)) (.copy (.generated .binding 2))), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.construct .cons [(.pair (.move (.generated .binding 1)) (.copy (.generated .binding 2))), (.move (.generated .binding 4))]))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.move (.generated .binding 3)), (.call (.function 1) [(.move (.generated .binding 4)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)])))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 4)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.clone (.generated .binding 3)))] (.move (.generated .part 3)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false)) (Corr.prim (ts := [.string, .string]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.clone (.generated .binding 3)))]) (tail := (.move (.generated .part 3))) (Corr.first (ta := .string) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.pair .string .nat)), (some 4)), (3, (.pair .string .nat), (some 3)), (2, .nat, (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.pair (.move (.generated .binding 1)) (.copy (.generated .binding 2))), (.move (.generated .binding 0))])) (Corr.mCons (Γ' := [(4, (.list (.pair .string .nat)), (some 4)), (3, (.pair .string .nat), (some 3)), (2, .nat, (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .cons [(.pair (.move (.generated .binding 1)) (.copy (.generated .binding 2))), (.move (.generated .binding 4))])) (Corr.mCons (Γ' := [(4, (.list (.pair .string .nat)), (some 4)), (3, (.pair .string .nat), (some 3)), (2, .nat, (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.move (.generated .binding 3)), (.call (.function 1) [(.move (.generated .binding 4)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.pair .string .nat), (.list (.pair .string .nat))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string .nat)), .string, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [(.pair .string .nat), (.list (.pair .string .nat))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [(.pair .string .nat), (.list (.pair .string .nat))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [(.pair .string .nat), (.list (.pair .string .nat))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 7)) none (.clone (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 7)) [(.mk .none (.mk [] (.construct (.nil (.pair .str .nat)) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 10)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.clone (.generated .binding 2)))] (.move (.generated .part 8)))))] (.call (.runtime .compare) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))] (.matchOn (.move (.generated .holder 11)) [(.mk (.ordering .less) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 3)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.move (.generated .binding 2)), (.call (.function 2) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])))])))]), [(1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair .string .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil (.pair .str .nat)) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .string .nat)), (some 3)), (2, (.pair .string .nat), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 10)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.clone (.generated .binding 2)))] (.move (.generated .part 8)))))] (.call (.runtime .compare) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))]) (tail := (.matchOn (.move (.generated .holder 11)) [(.mk (.ordering .less) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 3)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.move (.generated .binding 2)), (.call (.function 2) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 9)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 10)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.clone (.generated .binding 2)))] (.move (.generated .part 8)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false)) (Corr.prim (ts := [.string, .string]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.clone (.generated .binding 2)))]) (tail := (.move (.generated .part 8))) (Corr.first (ta := .string) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list (.pair .string .nat)), (some 3)), (2, (.pair .string .nat), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list (.pair .string .nat)), (some 3)), (2, (.pair .string .nat), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 3))) (Corr.mCons (Γ' := [(3, (.list (.pair .string .nat)), (some 3)), (2, (.pair .string .nat), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.move (.generated .binding 2)), (.call (.function 2) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.pair .string .nat), (.list (.pair .string .nat))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string .nat)), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 12)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 12)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 15)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 13)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 13)))))] (.call (.runtime .compare) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false))))] (.matchOn (.move (.generated .holder 16)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 17))]) none (.move (.generated .binding 2)))] (.move (.generated .part 17))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 3) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])))]), [(1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair .string .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .string .nat)), (some 3)), (2, (.pair .string .nat), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 15)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 13)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 13)))))] (.call (.runtime .compare) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false))))]) (tail := (.matchOn (.move (.generated .holder 16)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 17))]) none (.move (.generated .binding 2)))] (.move (.generated .part 17))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 3) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 14)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 15)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 13)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 13)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false)) (Corr.prim (ts := [.string, .string]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 13)), .wild]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 13))) (Corr.first (ta := .string) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list (.pair .string .nat)), (some 3)), (2, (.pair .string .nat), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .string .nat)), (some 3)), (2, (.pair .string .nat), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 17))]) none (.move (.generated .binding 2)))] (.move (.generated .part 17))))])) (Corr.mCons (Γ' := [(3, (.list (.pair .string .nat)), (some 3)), (2, (.pair .string .nat), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 3) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .string .nat)), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 17))]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 17))) (Corr.second (ta := .string) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun4 : FunOK program krate flags 4 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 18)) none (.call (.function 5) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 18)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some .wild) (.mk [] (.lit (.bool true))))]), [(1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string .nat)), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(2, .nat, none), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun5 : FunOK program krate flags 5 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 19)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 19)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 23)) none (.block (.mk [(.mk (.bind (.generated .operand 21)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 20)))))] (.call (.runtime .compare) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false))))] (.matchOn (.move (.generated .holder 23)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.move (.generated .binding 2)))] (.move (.generated .part 24))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 5) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])))]), [(1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair .string .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .string .nat)), (some 3)), (2, (.pair .string .nat), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 23)) none (.block (.mk [(.mk (.bind (.generated .operand 21)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 20)))))] (.call (.runtime .compare) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false))))]) (tail := (.matchOn (.move (.generated .holder 23)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.move (.generated .binding 2)))] (.move (.generated .part 24))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 5) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 21)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 20)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false)) (Corr.prim (ts := [.string, .string]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 20))) (Corr.first (ta := .string) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list (.pair .string .nat)), (some 3)), (2, (.pair .string .nat), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .string .nat)), (some 3)), (2, (.pair .string .nat), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.move (.generated .binding 2)))] (.move (.generated .part 24))))])) (Corr.mCons (Γ' := [(3, (.list (.pair .string .nat)), (some 3)), (2, (.pair .string .nat), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 5) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .string .nat)), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 24))) (Corr.second (ta := .string) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun6 : FunOK program krate flags 6 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 25)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 25)) [(.mk .none (.mk [] (.construct (.nil .str) []))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.construct .cons [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 26)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 26)))), (.call (.function 6) [(.move (.generated .binding 2))] false)])))]), [(0, (.list (.pair .string .nat)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair .string .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair .string .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil .str) [])) (Corr.mCons (Γ' := [(2, (.list (.pair .string .nat)), (some 2)), (1, (.pair .string .nat), (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .cons [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 26)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 26)))), (.call (.function 6) [(.move (.generated .binding 2))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.string, (.list .string)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 26)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 26))) (Corr.first (ta := .string) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun7 : FunOK program krate flags 7 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 27)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 27)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.construct .cons [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 28))]) none (.move (.generated .binding 1)))] (.move (.generated .part 28)))), (.call (.function 7) [(.move (.generated .binding 2))] false)])))]), [(0, (.list (.pair .string .nat)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair .string .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair .string .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil .nat) [])) (Corr.mCons (Γ' := [(2, (.list (.pair .string .nat)), (some 2)), (1, (.pair .string .nat), (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .cons [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 28))]) none (.move (.generated .binding 1)))] (.move (.generated .part 28)))), (.call (.function 7) [(.move (.generated .binding 2))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 28))]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 28))) (Corr.second (ta := .string) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun8 : FunOK program krate flags 8 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 29)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 29)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 30))]) none (.move (.generated .binding 1)))] (.move (.generated .part 30))))] false) (.mk [(.mk (.bind (.generated .holder 31)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 31)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 36)) none (.block (.mk [(.mk (.bind (.generated .operand 34)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 32)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 32))))), (.mk (.bind (.generated .operand 35)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 33)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 33)))))] (.call (.runtime .compare) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] false))))] (.cond (.matchOn (.move (.generated .holder 36)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 8) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.pair .string .nat)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair .string .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair .string .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.pair .string .nat)), (some 2)), (1, (.pair .string .nat), (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 30))]) none (.move (.generated .binding 1)))] (.move (.generated .part 30))))] false) (.mk [(.mk (.bind (.generated .holder 31)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 31)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 36)) none (.block (.mk [(.mk (.bind (.generated .operand 34)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 32)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 32))))), (.mk (.bind (.generated .operand 35)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 33)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 33)))))] (.call (.runtime .compare) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] false))))] (.cond (.matchOn (.move (.generated .holder 36)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 8) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 30))]) none (.move (.generated .binding 1)))] (.move (.generated .part 30))))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 30))]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 30))) (Corr.second (ta := .string) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .holder 31)) none (.clone (.generated .binding 2)))]) (ta := (.matchOn (.uncons (.generated .holder 31)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 36)) none (.block (.mk [(.mk (.bind (.generated .operand 34)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 32)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 32))))), (.mk (.bind (.generated .operand 35)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 33)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 33)))))] (.call (.runtime .compare) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] false))))] (.cond (.matchOn (.move (.generated .holder 36)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 8) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (lb := []) (tb := (.lit (.bool false))) (Corr.matchArms (st := (.list (.pair .string .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.pair .string .nat)), (some 2)), (1, (.pair .string .nat), (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .string .nat)), none), (3, (.pair .string .nat), (some 3)), (2, (.list (.pair .string .nat)), (some 2)), (1, (.pair .string .nat), (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 36)) none (.block (.mk [(.mk (.bind (.generated .operand 34)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 32)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 32))))), (.mk (.bind (.generated .operand 35)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 33)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 33)))))] (.call (.runtime .compare) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 36)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 8) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 36)) none (.block (.mk [(.mk (.bind (.generated .operand 34)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 32)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 32))))), (.mk (.bind (.generated .operand 35)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 33)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 33)))))] (.call (.runtime .compare) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] false))))]) (ce := (.matchOn (.move (.generated .holder 36)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 34)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 32)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 32))))), (.mk (.bind (.generated .operand 35)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 33)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 33)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] false)) (Corr.prim (ts := [.string, .string]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 32)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 32))) (Corr.first (ta := .string) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 33)), .wild]) none (.move (.generated .binding 3)))]) (tail := (.move (.generated .part 33))) (Corr.first (ta := .string) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.pair .string .nat)), none), (3, (.pair .string .nat), (some 3)), (2, (.list (.pair .string .nat)), (some 2)), (1, (.pair .string .nat), (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .string .nat)), none), (3, (.pair .string .nat), (some 3)), (2, (.list (.pair .string .nat)), (some 2)), (1, (.pair .string .nat), (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list (.pair .string .nat)), none), (3, (.pair .string .nat), (some 3)), (2, (.list (.pair .string .nat)), (some 2)), (1, (.pair .string .nat), (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 8) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.pair .string .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun9 : FunOK program krate flags 9 := - ⟨_, rfl, .inl ⟨_, _, [], (.lit (.bool true)), [(0, .nat, none)], rfl, rfl, - (Corr.bOfE (Corr.buildConst rfl))⟩⟩ - -theorem fun10 : FunOK program krate flags 10 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 8) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)])) (.mk [] (.construct (.none (.pair (.list (.pair .str .nat)) (.pair (.list (.pair .str .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .str) (.pair (.list .nat) (.pair .nat (.list (.pair .str .nat)))))))))) []))), [(2, .nat, (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 8) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair .string .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)])) (lb := []) (tb := (.construct (.none (.pair (.list (.pair .str .nat)) (.pair (.list (.pair .str .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .str) (.pair (.list .nat) (.pair .nat (.list (.pair .str .nat)))))))))) [])) (Corr.build (ts := [(.pair (.list (.pair .string .nat)) (.pair (.list (.pair .string .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat)))))))))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string .nat)), .string, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | 4 => exact fun4 - | 5 => exact fun5 - | 6 => exact fun6 - | 7 => exact fun7 - | 8 => exact fun8 - | 9 => exact fun9 - | 10 => exact fun10 - | _ + 11 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R10.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R10.lean deleted file mode 100644 index 505a98c41..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R10.lean +++ /dev/null @@ -1,40 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Coverage.Boundary -import Coverage.Colls -import Coverage.Main -import Coverage.Prims -import Coverage.RecRoots -import Coverage.Recur -import Coverage.Syntax -import Coverage.Types -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [.nat, .nat], result := .nat, - body := (.«let» 2 .nat (.prim .natQuot [(.var 0), (.var 1), (.value .nat (.nat 7))]) (.«let» 3 .nat (.prim .natRem [(.var 0), (.var 1), (.value .nat (.nat 0))]) (.cond (.cond (.prim .natEq [(.var 2), (.value .nat (.nat 0))]) (.cond (.prim .natLe [(.var 3), (.value .nat (.nat 3))]) (.build .true .bool []) (.prim .boolNot [(.prim .natLt [(.var 0), (.var 1)])])) (.build .false .bool [])) (.prim .natAdd [(.prim .natSub [(.var 0), (.var 1)]), (.var 3)]) (.prim .natMul [(.var 2), (.var 3)])))) }] } - -def __fits_0 (a : Nat) (b : Nat) : Bool := - (((Bool.true && (Bool.true && (Bool.true && Bool.true))) && Bool.true) && (let q : Nat := (Coverage.Main.LexLeanRuntime.quotient (a) (b) ((7 : Nat)) : Nat); (((Bool.true && (Bool.true && (Bool.true && Bool.true))) && Bool.true) && (let r : Nat := (Coverage.Main.LexLeanRuntime.remainder (a) (b) ((0 : Nat)) : Nat); ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq q (0 : Nat)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.ble r (3 : Nat)) then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (Bool.true && Bool.true))) && (if ((Nat.beq q (0 : Nat)) && ((Nat.ble r (3 : Nat)) || (!(Nat.blt a b)))) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && (Nat.blt ((Coverage.Main.LexLeanRuntime.subtract (a) (b) : Nat) + r) 18446744073709551616)) else ((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (Coverage.Main.LexLeanRuntime.multiply (q) (r) : Nat) 18446744073709551616)))))))) - -theorem __rel_0 (a : Nat) (b : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)] (_root_.LexLeanPreservation.Rel (__fits_0 a b) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Main.natOps a b))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (let q : Nat := (Coverage.Main.LexLeanRuntime.quotient (a) (b) ((7 : Nat)) : Nat); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.prim_natQuot a b (7 : Nat))) (let r : Nat := (Coverage.Main.LexLeanRuntime.remainder (a) (b) ((0 : Nat)) : Nat); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.prim_natRem a b (0 : Nat))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && (Nat.blt ((Coverage.Main.LexLeanRuntime.subtract (a) (b) : Nat) + r) 18446744073709551616)) else ((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (Coverage.Main.LexLeanRuntime.multiply (q) (r) : Nat) 18446744073709551616)))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.nat (if __b then ((Coverage.Main.LexLeanRuntime.subtract (a) (b) : Nat) + r) else (Coverage.Main.LexLeanRuntime.multiply (q) (r) : Nat))) ((Nat.beq q (0 : Nat)) && ((Nat.ble r (3 : Nat)) || (!(Nat.blt a b)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.ble r (3 : Nat)) then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.ble r (3 : Nat)) || (!(Nat.blt a b))))) (Nat.beq q (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq q (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b || (!(Nat.blt a b)))) (Nat.ble r (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe r (3 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt a b)) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_boolNot (Nat.blt a b)))))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub a b)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (Coverage.Main.LexLeanRuntime.subtract (a) (b) : Nat) r))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natMul q r)))))) - -def denote (a : Nat) (b : Nat) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 a b) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Main.natOps a b)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (a : Nat) (b : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)] (_root_.LexLeanPreservation.Rel (__fits_0 a b) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Main.natOps a b))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 a b) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R10/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R10/Compose/RustCore.lean deleted file mode 100644 index e86986dbd..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R10/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustCore -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustCore - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (a : Nat) (b : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R10/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R10/Compose/RustStd.lean deleted file mode 100644 index a37cb3ae9..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R10/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustStd - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (a : Nat) (b : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R10/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R10/RustCore.lean deleted file mode 100644 index 2493ba064..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R10/RustCore.lean +++ /dev/null @@ -1,33 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustCore -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [.nat, .nat], result := .nat, - body := (.«let» 2 .nat (.prim .natQuot [(.var 0), (.var 1), (.value .nat (.nat 7))]) (.«let» 3 .nat (.prim .natRem [(.var 0), (.var 1), (.value .nat (.nat 0))]) (.cond (.cond (.prim .natEq [(.var 2), (.value .nat (.nat 0))]) (.cond (.prim .natLe [(.var 3), (.value .nat (.nat 3))]) (.build .true .bool []) (.prim .boolNot [(.prim .natLt [(.var 0), (.var 1)])])) (.build .false .bool [])) (.prim .natAdd [(.prim .natSub [(.var 0), (.var 1)]), (.var 3)]) (.prim .natMul [(.var 2), (.var 3)])))) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .core, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .binding 2)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 7)))] (.call (.runtime .natQuot) [(.move (.generated .operand 1)), (.move (.generated .operand 2)), (.move (.generated .operand 3))] false)))), (.mk (.bind (.generated .binding 3)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 0)))] (.call (.runtime .natRem) [(.move (.generated .operand 4)), (.move (.generated .operand 5)), (.move (.generated .operand 6))] false)))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 8)) none (.lit (.nat 0)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false) (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.call (.runtime .boolNot) [(.move (.generated .operand 13))] false)))) (.mk [] (.lit (.bool false)))) (.mk [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false)))), (.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 3)))] (.call (.runtime .natAdd) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false)) (.mk [(.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false)))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 7)))] (.call (.runtime .natQuot) [(.move (.generated .operand 1)), (.move (.generated .operand 2)), (.move (.generated .operand 3))] false)))), (.mk (.bind (.generated .binding 3)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 0)))] (.call (.runtime .natRem) [(.move (.generated .operand 4)), (.move (.generated .operand 5)), (.move (.generated .operand 6))] false)))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 8)) none (.lit (.nat 0)))], (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false) (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.call (.runtime .boolNot) [(.move (.generated .operand 13))] false)))) (.mk [] (.lit (.bool false)))) (.mk [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false)))), (.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 3)))] (.call (.runtime .natAdd) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false)) (.mk [(.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 7)))]) (tail := (.call (.runtime .natQuot) [(.move (.generated .operand 1)), (.move (.generated .operand 2)), (.move (.generated .operand 3))] false)) (Corr.prim (ts := [.nat, .nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 0)))]) (tail := (.call (.runtime .natRem) [(.move (.generated .operand 4)), (.move (.generated .operand 5)), (.move (.generated .operand 6))] false)) (Corr.prim (ts := [.nat, .nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl (Corr.cond (lc := [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 8)) none (.lit (.nat 0)))]) (ce := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false) (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.call (.runtime .boolNot) [(.move (.generated .operand 13))] false)))) (.mk [] (.lit (.bool false))))) (lk := []) (Corr.cond (lc := [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 8)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 3)))]) (ta := (.cond (.call (.runtime .natLe) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.call (.runtime .boolNot) [(.move (.generated .operand 13))] false)))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natLe) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))]) (tb := (.call (.runtime .boolNot) [(.move (.generated .operand 13))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.prim (ts := [.bool]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natLt) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl))) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.kIf (la := [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false)))), (.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 3)))]) (ta := (.call (.runtime .natAdd) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false)) (lb := [(.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 3)))]) (tb := (.call (.runtime .natMul) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false)) (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | _ + 1 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R10/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R10/RustStd.lean deleted file mode 100644 index 25ac61452..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R10/RustStd.lean +++ /dev/null @@ -1,33 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [.nat, .nat], result := .nat, - body := (.«let» 2 .nat (.prim .natQuot [(.var 0), (.var 1), (.value .nat (.nat 7))]) (.«let» 3 .nat (.prim .natRem [(.var 0), (.var 1), (.value .nat (.nat 0))]) (.cond (.cond (.prim .natEq [(.var 2), (.value .nat (.nat 0))]) (.cond (.prim .natLe [(.var 3), (.value .nat (.nat 3))]) (.build .true .bool []) (.prim .boolNot [(.prim .natLt [(.var 0), (.var 1)])])) (.build .false .bool [])) (.prim .natAdd [(.prim .natSub [(.var 0), (.var 1)]), (.var 3)]) (.prim .natMul [(.var 2), (.var 3)])))) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .binding 2)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 7)))] (.call (.runtime .natQuot) [(.move (.generated .operand 1)), (.move (.generated .operand 2)), (.move (.generated .operand 3))] false)))), (.mk (.bind (.generated .binding 3)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 0)))] (.call (.runtime .natRem) [(.move (.generated .operand 4)), (.move (.generated .operand 5)), (.move (.generated .operand 6))] false)))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 8)) none (.lit (.nat 0)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false) (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.call (.runtime .boolNot) [(.move (.generated .operand 13))] false)))) (.mk [] (.lit (.bool false)))) (.mk [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false)))), (.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 3)))] (.call (.runtime .natAdd) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false)) (.mk [(.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false)))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 7)))] (.call (.runtime .natQuot) [(.move (.generated .operand 1)), (.move (.generated .operand 2)), (.move (.generated .operand 3))] false)))), (.mk (.bind (.generated .binding 3)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 0)))] (.call (.runtime .natRem) [(.move (.generated .operand 4)), (.move (.generated .operand 5)), (.move (.generated .operand 6))] false)))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 8)) none (.lit (.nat 0)))], (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false) (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.call (.runtime .boolNot) [(.move (.generated .operand 13))] false)))) (.mk [] (.lit (.bool false)))) (.mk [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false)))), (.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 3)))] (.call (.runtime .natAdd) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false)) (.mk [(.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 7)))]) (tail := (.call (.runtime .natQuot) [(.move (.generated .operand 1)), (.move (.generated .operand 2)), (.move (.generated .operand 3))] false)) (Corr.prim (ts := [.nat, .nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 0)))]) (tail := (.call (.runtime .natRem) [(.move (.generated .operand 4)), (.move (.generated .operand 5)), (.move (.generated .operand 6))] false)) (Corr.prim (ts := [.nat, .nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl (Corr.cond (lc := [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 8)) none (.lit (.nat 0)))]) (ce := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false) (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.call (.runtime .boolNot) [(.move (.generated .operand 13))] false)))) (.mk [] (.lit (.bool false))))) (lk := []) (Corr.cond (lc := [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 8)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 3)))]) (ta := (.cond (.call (.runtime .natLe) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.call (.runtime .boolNot) [(.move (.generated .operand 13))] false)))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natLe) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))]) (tb := (.call (.runtime .boolNot) [(.move (.generated .operand 13))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.prim (ts := [.bool]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natLt) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl))) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.kIf (la := [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false)))), (.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 3)))]) (ta := (.call (.runtime .natAdd) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false)) (lb := [(.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 3)))]) (tb := (.call (.runtime .natMul) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false)) (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | _ + 1 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R11.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R11.lean deleted file mode 100644 index ac0aaa2ac..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R11.lean +++ /dev/null @@ -1,40 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Coverage.Boundary -import Coverage.Colls -import Coverage.Main -import Coverage.Prims -import Coverage.RecRoots -import Coverage.Recur -import Coverage.Syntax -import Coverage.Types -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [.int, .int], result := .int, - body := (.prim .intSub [(.prim .intMul [(.var 0), (.value .int (.int (-3)))]), (.prim .intNeg [(.prim .intRem [(.prim .intQuot [(.var 0), (.var 1), (.value .int (.int 1))]), (.var 1), (.value .int (.int 0))])])]) }] } - -def __fits_0 (a : Int) (b : Int) : Bool := - ((((Bool.true && (Bool.true && Bool.true)) && (_root_.LexLeanPreservation.intFits (Coverage.Main.LexLeanRuntime.multiply (a) ((-3 : Int)) : Int))) && (((((((Bool.true && (Bool.true && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.intFits (Coverage.Main.LexLeanRuntime.quotient (a) (b) ((1 : Int)) : Int))) && (Bool.true && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.intFits (Coverage.Main.LexLeanRuntime.remainder ((Coverage.Main.LexLeanRuntime.quotient (a) (b) ((1 : Int)) : Int)) (b) ((0 : Int)) : Int))) && Bool.true) && (_root_.LexLeanPreservation.intFits (Coverage.Main.LexLeanRuntime.negate ((Coverage.Main.LexLeanRuntime.remainder ((Coverage.Main.LexLeanRuntime.quotient (a) (b) ((1 : Int)) : Int)) (b) ((0 : Int)) : Int)) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (Coverage.Main.LexLeanRuntime.subtract ((Coverage.Main.LexLeanRuntime.multiply (a) ((-3 : Int)) : Int)) ((Coverage.Main.LexLeanRuntime.negate ((Coverage.Main.LexLeanRuntime.remainder ((Coverage.Main.LexLeanRuntime.quotient (a) (b) ((1 : Int)) : Int)) (b) ((0 : Int)) : Int)) : Int)) : Int))) - -theorem __rel_0 (a : Int) (b : Int) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.int a), (_root_.LexLeanTarget.TargetSyntax.Value.int b)] (_root_.LexLeanPreservation.Rel (__fits_0 a b) (_root_.LexLeanTarget.TargetSyntax.Value.int (Coverage.Main.intOps a b))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intMul a (-3 : Int))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.prim_intQuot a b (1 : Int))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.prim_intRem (Coverage.Main.LexLeanRuntime.quotient (a) (b) ((1 : Int)) : Int) b (0 : Int))) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_intNeg (Coverage.Main.LexLeanRuntime.remainder ((Coverage.Main.LexLeanRuntime.quotient (a) (b) ((1 : Int)) : Int)) (b) ((0 : Int)) : Int))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intSub (Coverage.Main.LexLeanRuntime.multiply (a) ((-3 : Int)) : Int) (Coverage.Main.LexLeanRuntime.negate ((Coverage.Main.LexLeanRuntime.remainder ((Coverage.Main.LexLeanRuntime.quotient (a) (b) ((1 : Int)) : Int)) (b) ((0 : Int)) : Int)) : Int))) - -def denote (a : Int) (b : Int) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 a b) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.int (Coverage.Main.intOps a b)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (a : Int) (b : Int) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.int a), (_root_.LexLeanTarget.TargetSyntax.Value.int b)] (_root_.LexLeanPreservation.Rel (__fits_0 a b) (_root_.LexLeanTarget.TargetSyntax.Value.int (Coverage.Main.intOps a b))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 a b) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R11/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R11/Compose/RustCore.lean deleted file mode 100644 index 1d90dc2bc..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R11/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustCore -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustCore - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (a : Int) (b : Int) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.int a), (_root_.LexLeanTarget.TargetSyntax.Value.int b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.int a), (_root_.LexLeanTarget.TargetSyntax.Value.int b)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_int a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_int b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R11/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R11/Compose/RustStd.lean deleted file mode 100644 index 9f89fa7d4..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R11/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustStd - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (a : Int) (b : Int) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.int a), (_root_.LexLeanTarget.TargetSyntax.Value.int b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.int a), (_root_.LexLeanTarget.TargetSyntax.Value.int b)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_int a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_int b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R11/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R11/RustCore.lean deleted file mode 100644 index c70cfd24b..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R11/RustCore.lean +++ /dev/null @@ -1,33 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustCore -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [.int, .int], result := .int, - body := (.prim .intSub [(.prim .intMul [(.var 0), (.value .int (.int (-3)))]), (.prim .intNeg [(.prim .intRem [(.prim .intQuot [(.var 0), (.var 1), (.value .int (.int 1))]), (.var 1), (.value .int (.int 0))])])]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .core, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .int }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.fallible .int) (.mk [(.mk (.bind (.generated .operand 10)) none (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.int (-3))))] (.call (.runtime .intMul) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true)))), (.mk (.bind (.generated .operand 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.lit (.int 1)))] (.call (.runtime .intQuot) [(.move (.generated .operand 3)), (.move (.generated .operand 4)), (.move (.generated .operand 5))] true)))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.lit (.int 0)))] (.call (.runtime .intRem) [(.move (.generated .operand 6)), (.move (.generated .operand 7)), (.move (.generated .operand 8))] false))))] (.call (.runtime .intNeg) [(.move (.generated .operand 9))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false)))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 10)) none (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.int (-3))))] (.call (.runtime .intMul) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true)))), (.mk (.bind (.generated .operand 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.lit (.int 1)))] (.call (.runtime .intQuot) [(.move (.generated .operand 3)), (.move (.generated .operand 4)), (.move (.generated .operand 5))] true)))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.lit (.int 0)))] (.call (.runtime .intRem) [(.move (.generated .operand 6)), (.move (.generated .operand 7)), (.move (.generated .operand 8))] false))))] (.call (.runtime .intNeg) [(.move (.generated .operand 9))] true))))], (.call (.runtime .intSub) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false), [(1, .int, (some 1)), (0, .int, (some 0))], rfl, rfl, - (Corr.primF (ts := [.int, .int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.int (-3))))]) (tail := (.call (.runtime .intMul) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.lit (.int 1)))] (.call (.runtime .intQuot) [(.move (.generated .operand 3)), (.move (.generated .operand 4)), (.move (.generated .operand 5))] true)))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.lit (.int 0)))] (.call (.runtime .intRem) [(.move (.generated .operand 6)), (.move (.generated .operand 7)), (.move (.generated .operand 8))] false))))]) (tail := (.call (.runtime .intNeg) [(.move (.generated .operand 9))] true)) (Corr.prim (ts := [.int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 6)) none (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.lit (.int 1)))] (.call (.runtime .intQuot) [(.move (.generated .operand 3)), (.move (.generated .operand 4)), (.move (.generated .operand 5))] true)))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.lit (.int 0)))]) (tail := (.call (.runtime .intRem) [(.move (.generated .operand 6)), (.move (.generated .operand 7)), (.move (.generated .operand 8))] false)) (Corr.prim (ts := [.int, .int, .int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.lit (.int 1)))]) (tail := (.call (.runtime .intQuot) [(.move (.generated .operand 3)), (.move (.generated .operand 4)), (.move (.generated .operand 5))] true)) (Corr.prim (ts := [.int, .int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | _ + 1 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R11/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R11/RustStd.lean deleted file mode 100644 index 3bae94c99..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R11/RustStd.lean +++ /dev/null @@ -1,33 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [.int, .int], result := .int, - body := (.prim .intSub [(.prim .intMul [(.var 0), (.value .int (.int (-3)))]), (.prim .intNeg [(.prim .intRem [(.prim .intQuot [(.var 0), (.var 1), (.value .int (.int 1))]), (.var 1), (.value .int (.int 0))])])]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .int }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.fallible .int) (.mk [(.mk (.bind (.generated .operand 10)) none (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.int (-3))))] (.call (.runtime .intMul) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true)))), (.mk (.bind (.generated .operand 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.lit (.int 1)))] (.call (.runtime .intQuot) [(.move (.generated .operand 3)), (.move (.generated .operand 4)), (.move (.generated .operand 5))] true)))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.lit (.int 0)))] (.call (.runtime .intRem) [(.move (.generated .operand 6)), (.move (.generated .operand 7)), (.move (.generated .operand 8))] false))))] (.call (.runtime .intNeg) [(.move (.generated .operand 9))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false)))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 10)) none (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.int (-3))))] (.call (.runtime .intMul) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true)))), (.mk (.bind (.generated .operand 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.lit (.int 1)))] (.call (.runtime .intQuot) [(.move (.generated .operand 3)), (.move (.generated .operand 4)), (.move (.generated .operand 5))] true)))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.lit (.int 0)))] (.call (.runtime .intRem) [(.move (.generated .operand 6)), (.move (.generated .operand 7)), (.move (.generated .operand 8))] false))))] (.call (.runtime .intNeg) [(.move (.generated .operand 9))] true))))], (.call (.runtime .intSub) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false), [(1, .int, (some 1)), (0, .int, (some 0))], rfl, rfl, - (Corr.primF (ts := [.int, .int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.int (-3))))]) (tail := (.call (.runtime .intMul) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.lit (.int 1)))] (.call (.runtime .intQuot) [(.move (.generated .operand 3)), (.move (.generated .operand 4)), (.move (.generated .operand 5))] true)))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.lit (.int 0)))] (.call (.runtime .intRem) [(.move (.generated .operand 6)), (.move (.generated .operand 7)), (.move (.generated .operand 8))] false))))]) (tail := (.call (.runtime .intNeg) [(.move (.generated .operand 9))] true)) (Corr.prim (ts := [.int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 6)) none (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.lit (.int 1)))] (.call (.runtime .intQuot) [(.move (.generated .operand 3)), (.move (.generated .operand 4)), (.move (.generated .operand 5))] true)))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.lit (.int 0)))]) (tail := (.call (.runtime .intRem) [(.move (.generated .operand 6)), (.move (.generated .operand 7)), (.move (.generated .operand 8))] false)) (Corr.prim (ts := [.int, .int, .int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.lit (.int 1)))]) (tail := (.call (.runtime .intQuot) [(.move (.generated .operand 3)), (.move (.generated .operand 4)), (.move (.generated .operand 5))] true)) (Corr.prim (ts := [.int, .int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | _ + 1 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R12/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R12/Compose/RustCore.lean deleted file mode 100644 index 8fcaebee5..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R12/Compose/RustCore.lean +++ /dev/null @@ -1,21 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustCore -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustCore - -theorem __wt_0 : ∀ (__v : (Coverage.Types.Shape)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustCore.program _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustCore.krate _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustCore.flags (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.__enc_0 __v) (.adt 0) - | Coverage.Types.Shape.circle __x0 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x0) _root_.LexLeanPreservation.Rust.wtl_nil) - | Coverage.Types.Shape.rect __x0 __x1 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x0) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x1) _root_.LexLeanPreservation.Rust.wtl_nil)) - | Coverage.Types.Shape.empty => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (w : Nat) (h : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat w), (_root_.LexLeanTarget.TargetSyntax.Value.nat h)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.denote w h) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat w), (_root_.LexLeanTarget.TargetSyntax.Value.nat h)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat w) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat h) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.root w h) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R12/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R12/Compose/RustStd.lean deleted file mode 100644 index 74a53cba9..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R12/Compose/RustStd.lean +++ /dev/null @@ -1,21 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustStd - -theorem __wt_0 : ∀ (__v : (Coverage.Types.Shape)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustStd.program _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustStd.krate _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustStd.flags (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.__enc_0 __v) (.adt 0) - | Coverage.Types.Shape.circle __x0 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x0) _root_.LexLeanPreservation.Rust.wtl_nil) - | Coverage.Types.Shape.rect __x0 __x1 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x0) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x1) _root_.LexLeanPreservation.Rust.wtl_nil)) - | Coverage.Types.Shape.empty => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (w : Nat) (h : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat w), (_root_.LexLeanTarget.TargetSyntax.Value.nat h)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.denote w h) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat w), (_root_.LexLeanTarget.TargetSyntax.Value.nat h)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat w) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat h) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.root w h) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R12/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R12/RustCore.lean deleted file mode 100644 index 10f9a8089..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R12/RustCore.lean +++ /dev/null @@ -1,42 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustCore -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [{ constructors := [[.nat], [.nat, .nat], []] }], functions := [ - { parameters := [0, 1], types := [.nat, .nat], result := .nat, - body := (.prim .natAdd [(.call 1 [(.build (.adt 1) (.adt 0) [(.var 0), (.var 1)])]), (.prim .natAdd [(.call 1 [(.build (.adt 0) (.adt 0) [(.var 0)])]), (.call 1 [(.build (.adt 2) (.adt 0) [])])])]) }, - { parameters := [0], types := [(.adt 0)], result := .nat, - body := (.«match» .nat (.var 0) [(.arm (.adt 0) [1] (.prim .natMul [(.prim .natMul [(.var 1), (.var 1)]), (.value .nat (.nat 3))])), (.arm (.adt 1) [2, 3] (.prim .natMul [(.var 2), (.var 3)])), (.arm (.adt 2) [] (.value .nat (.nat 0)))]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .core, items := [ - (.enum (.adt 0) [{ number := 0, fields := [.nat] }, { number := 1, fields := [.nat, .nat] }, { number := 2, fields := [] }]), - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 3)) none (.call (.function 1) [(.construct (.adt 0 1) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))])] true)), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0))])] true)), (.mk (.bind (.generated .operand 2)) none (.call (.function 1) [(.construct (.adt 0 2) [])] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true))))] (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 5)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 5)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1))]) (.mk [(.mk (.bind (.generated .operand 8)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1)))] (.call (.runtime .natMul) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] true)))), (.mk (.bind (.generated .operand 9)) none (.lit (.nat 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false))), (.mk (.adt 0 1 [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))]) (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false))), (.mk (.adt 0 2 []) (.mk [] (.succeed (.lit (.nat 0)))))])))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 3)) none (.call (.function 1) [(.construct (.adt 0 1) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))])] true)), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0))])] true)), (.mk (.bind (.generated .operand 2)) none (.call (.function 1) [(.construct (.adt 0 2) [])] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true))))], (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0))])] true)), (.mk (.bind (.generated .operand 2)) none (.call (.function 1) [(.construct (.adt 0 2) [])] true))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 5)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 5)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1))]) (.mk [(.mk (.bind (.generated .operand 8)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1)))] (.call (.runtime .natMul) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] true)))), (.mk (.bind (.generated .operand 9)) none (.lit (.nat 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false))), (.mk (.adt 0 1 [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))]) (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false))), (.mk (.adt 0 2 []) (.mk [] (.succeed (.lit (.nat 0)))))]), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := [(.mk (.bind (.generated .operand 8)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1)))] (.call (.runtime .natMul) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] true)))), (.mk (.bind (.generated .operand 9)) none (.lit (.nat 3)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false)) (Corr.mCons (Γ' := [(3, .nat, (some 3)), (2, .nat, (some 2)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 3)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false)) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 0)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl)⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | _ + 2 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R12/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R12/RustStd.lean deleted file mode 100644 index 1f188d6c1..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R12/RustStd.lean +++ /dev/null @@ -1,42 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [{ constructors := [[.nat], [.nat, .nat], []] }], functions := [ - { parameters := [0, 1], types := [.nat, .nat], result := .nat, - body := (.prim .natAdd [(.call 1 [(.build (.adt 1) (.adt 0) [(.var 0), (.var 1)])]), (.prim .natAdd [(.call 1 [(.build (.adt 0) (.adt 0) [(.var 0)])]), (.call 1 [(.build (.adt 2) (.adt 0) [])])])]) }, - { parameters := [0], types := [(.adt 0)], result := .nat, - body := (.«match» .nat (.var 0) [(.arm (.adt 0) [1] (.prim .natMul [(.prim .natMul [(.var 1), (.var 1)]), (.value .nat (.nat 3))])), (.arm (.adt 1) [2, 3] (.prim .natMul [(.var 2), (.var 3)])), (.arm (.adt 2) [] (.value .nat (.nat 0)))]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.enum (.adt 0) [{ number := 0, fields := [.nat] }, { number := 1, fields := [.nat, .nat] }, { number := 2, fields := [] }]), - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 3)) none (.call (.function 1) [(.construct (.adt 0 1) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))])] true)), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0))])] true)), (.mk (.bind (.generated .operand 2)) none (.call (.function 1) [(.construct (.adt 0 2) [])] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true))))] (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 5)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 5)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1))]) (.mk [(.mk (.bind (.generated .operand 8)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1)))] (.call (.runtime .natMul) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] true)))), (.mk (.bind (.generated .operand 9)) none (.lit (.nat 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false))), (.mk (.adt 0 1 [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))]) (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false))), (.mk (.adt 0 2 []) (.mk [] (.succeed (.lit (.nat 0)))))])))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 3)) none (.call (.function 1) [(.construct (.adt 0 1) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))])] true)), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0))])] true)), (.mk (.bind (.generated .operand 2)) none (.call (.function 1) [(.construct (.adt 0 2) [])] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true))))], (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0))])] true)), (.mk (.bind (.generated .operand 2)) none (.call (.function 1) [(.construct (.adt 0 2) [])] true))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 5)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 5)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1))]) (.mk [(.mk (.bind (.generated .operand 8)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1)))] (.call (.runtime .natMul) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] true)))), (.mk (.bind (.generated .operand 9)) none (.lit (.nat 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false))), (.mk (.adt 0 1 [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))]) (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false))), (.mk (.adt 0 2 []) (.mk [] (.succeed (.lit (.nat 0)))))]), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := [(.mk (.bind (.generated .operand 8)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1)))] (.call (.runtime .natMul) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] true)))), (.mk (.bind (.generated .operand 9)) none (.lit (.nat 3)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false)) (Corr.mCons (Γ' := [(3, .nat, (some 3)), (2, .nat, (some 2)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 3)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false)) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 0)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl)⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | _ + 2 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R13/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R13/Compose/RustStd.lean deleted file mode 100644 index 837af3816..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R13/Compose/RustStd.lean +++ /dev/null @@ -1,20 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.Compose.RustStd - -theorem __wt_0 : ∀ (__v : (Coverage.Types.Tree)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.RustStd.program _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.RustStd.krate _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.RustStd.flags (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.__enc_0 __v) (.adt 0) - | Coverage.Types.Tree.leaf => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Coverage.Types.Tree.node __x0 __x1 __x2 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 __x0) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x1) (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 __x2) _root_.LexLeanPreservation.Rust.wtl_nil))) - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (n : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.denote n) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat n) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.root n) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R13/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R13/RustStd.lean deleted file mode 100644 index 73976af8d..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R13/RustStd.lean +++ /dev/null @@ -1,42 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [{ constructors := [[], [(.adt 0), .nat, (.adt 0)]] }], functions := [ - { parameters := [0], types := [.nat], result := .nat, - body := (.call 1 [(.build (.adt 1) (.adt 0) [(.build (.adt 0) (.adt 0) []), (.var 0), (.build (.adt 1) (.adt 0) [(.build (.adt 0) (.adt 0) []), (.value .nat (.nat 5)), (.build (.adt 0) (.adt 0) [])])])]) }, - { parameters := [0], types := [(.adt 0)], result := .nat, - body := (.«match» .nat (.var 0) [(.arm (.adt 0) [] (.value .nat (.nat 0))), (.arm (.adt 1) [1, 2, 3] (.prim .natAdd [(.prim .natAdd [(.call 1 [(.var 1)]), (.var 2)]), (.call 1 [(.var 3)])]))]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.enum (.adt 0) [{ number := 0, fields := [] }, { number := 1, fields := [(.rc (.adt 0)), .nat, (.rc (.adt 0))] }]), - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [] (.call (.function 1) [(.construct (.adt 0 1) [(.box (.construct (.adt 0 0) [])), (.copy (.generated .binding 0)), (.box (.construct (.adt 0 1) [(.box (.construct (.adt 0 0) [])), (.lit (.nat 5)), (.box (.construct (.adt 0 0) []))]))])] false))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 []) (.mk [] (.succeed (.lit (.nat 0))))), (.mk (.adt 0 1 [(.bind (.generated .boxed 6)), (.bind (.generated .binding 2)), (.bind (.generated .boxed 7))]) (.mk [(.mk (.bind (.generated .binding 1)) none (.unbox (.generated .boxed 6))), (.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 7))), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.call (.function 1) [(.move (.generated .binding 1))] true)), (.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 2)))] (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)))), (.mk (.bind (.generated .operand 5)) none (.call (.function 1) [(.move (.generated .binding 3))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false)))])))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.construct (.adt 0 1) [(.box (.construct (.adt 0 0) [])), (.copy (.generated .binding 0)), (.box (.construct (.adt 0 1) [(.box (.construct (.adt 0 0) [])), (.lit (.nat 5)), (.box (.construct (.adt 0 0) []))]))])] false), [(0, .nat, (some 0))], rfl, rfl, - (Corr.callF (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.adt 0), .nat, (.adt 0)]) (mask := [true, false, true]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.adt 0), .nat, (.adt 0)]) (mask := [true, false, true]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))))) rfl)) (Corr.lNil))))) rfl)) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 []) (.mk [] (.succeed (.lit (.nat 0))))), (.mk (.adt 0 1 [(.bind (.generated .boxed 6)), (.bind (.generated .binding 2)), (.bind (.generated .boxed 7))]) (.mk [(.mk (.bind (.generated .binding 1)) none (.unbox (.generated .boxed 6))), (.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 7))), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.call (.function 1) [(.move (.generated .binding 1))] true)), (.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 2)))] (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)))), (.mk (.bind (.generated .operand 5)) none (.call (.function 1) [(.move (.generated .binding 3))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false)))]), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 0)))) (Corr.mCons (Γ' := [(3, (.adt 0), (some 3)), (2, .nat, (some 2)), (1, (.adt 0), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := [(.mk (.bind (.generated .binding 1)) none (.unbox (.generated .boxed 6))), (.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 7)))]) (lets := [(.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.call (.function 1) [(.move (.generated .binding 1))] true)), (.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 2)))] (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)))), (.mk (.bind (.generated .operand 5)) none (.call (.function 1) [(.move (.generated .binding 3))] true))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false)) (Corr.mNil) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 2)) none (.call (.function 1) [(.move (.generated .binding 1))] true)), (.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | _ + 2 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R14/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R14/Compose/RustCore.lean deleted file mode 100644 index 22d97d7fa..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R14/Compose/RustCore.lean +++ /dev/null @@ -1,25 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustCore -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustCore - -theorem __wt_0 : ∀ (__s : (Coverage.Types.Point)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustCore.program _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustCore.krate _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustCore.flags (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.__enc_0 __s) (.adt 0) := - fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).x) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).y) _root_.LexLeanPreservation.Rust.wtl_nil)) - -theorem __wt_1 : ∀ (__s : (Coverage.Types.Box Nat)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustCore.program _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustCore.krate _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustCore.flags (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.__enc_1 __s) (.adt 1) := - fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).content) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).count) _root_.LexLeanPreservation.Rust.wtl_nil)) - -theorem __wt_2 : ∀ (__s : (Coverage.Types.Weights)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustCore.program _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustCore.krate _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustCore.flags (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.__enc_2 __s) (.adt 2) := - fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).base) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).scale) _root_.LexLeanPreservation.Rust.wtl_nil)) - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (a : Nat) (b : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R14/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R14/Compose/RustStd.lean deleted file mode 100644 index af05880f9..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R14/Compose/RustStd.lean +++ /dev/null @@ -1,25 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustStd - -theorem __wt_0 : ∀ (__s : (Coverage.Types.Point)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustStd.program _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustStd.krate _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustStd.flags (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.__enc_0 __s) (.adt 0) := - fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).x) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).y) _root_.LexLeanPreservation.Rust.wtl_nil)) - -theorem __wt_1 : ∀ (__s : (Coverage.Types.Box Nat)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustStd.program _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustStd.krate _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustStd.flags (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.__enc_1 __s) (.adt 1) := - fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).content) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).count) _root_.LexLeanPreservation.Rust.wtl_nil)) - -theorem __wt_2 : ∀ (__s : (Coverage.Types.Weights)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustStd.program _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustStd.krate _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustStd.flags (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.__enc_2 __s) (.adt 2) := - fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).base) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).scale) _root_.LexLeanPreservation.Rust.wtl_nil)) - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (a : Nat) (b : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R14/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R14/RustCore.lean deleted file mode 100644 index 07e0354fb..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R14/RustCore.lean +++ /dev/null @@ -1,54 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustCore -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [{ constructors := [[.nat, .nat]] }, - { constructors := [[.nat, .nat]] }, - { constructors := [[.nat, .nat]] }], functions := [ - { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat .nat), - body := (.«let» 2 (.adt 0) (.build (.adt 0) (.adt 0) [(.var 0), (.var 1)]) (.build .pair (.pair .nat .nat) [(.prim .natAdd [(.field (.var 2) 0), (.field (.call 1 []) 1)]), (.call 2 [(.build (.adt 0) (.adt 1) [(.field (.var 2) 1), (.value .nat (.nat 1))])])])) }, - { parameters := [], types := [], result := (.adt 2), - body := (.build (.adt 0) (.adt 2) [(.value .nat (.nat 2)), (.value .nat (.nat 3))]) }, - { parameters := [0], types := [(.adt 1)], result := .nat, - body := (.field (.var 0) 0) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .core, items := [ - (.enum (.adt 0) [{ number := 0, fields := [.nat, .nat] }]), - (.enum (.adt 1) [{ number := 0, fields := [.nat, .nat] }]), - (.enum (.adt 2) [{ number := 0, fields := [.nat, .nat] }]), - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair .nat .nat)) (.mk [(.mk (.bind (.generated .binding 2)) (some (.adt 0)) (.construct (.adt 0 0) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))]))] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.matchOn (.clone (.generated .binding 2)) [(.mk (.adt 0 0 [(.bind (.generated .part 1)), .wild]) (.mk [] (.move (.generated .part 1))))])), (.mk (.bind (.generated .operand 5)) none (.block (.mk [(.mk (.bind (.generated .holder 3)) none (.call (.function 1) [] false))] (.matchOn (.move (.generated .holder 3)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 2))]) (.mk [] (.move (.generated .part 2))))]))))] (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] true))) (.call (.function 2) [(.construct (.adt 1 0) [(.matchOn (.move (.generated .binding 2)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 6))]) (.mk [] (.move (.generated .part 6))))]), (.lit (.nat 1))])] false))))), - (.function (.generated .function 1) [] (.adt 2) (.mk [] (.construct (.adt 2 0) [(.lit (.nat 2)), (.lit (.nat 3))]))), - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .nat (.mk [] (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 7)), .wild]) (.mk [] (.move (.generated .part 7))))])))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some (.adt 0)) (.construct (.adt 0 0) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))]))], (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.matchOn (.clone (.generated .binding 2)) [(.mk (.adt 0 0 [(.bind (.generated .part 1)), .wild]) (.mk [] (.move (.generated .part 1))))])), (.mk (.bind (.generated .operand 5)) none (.block (.mk [(.mk (.bind (.generated .holder 3)) none (.call (.function 1) [] false))] (.matchOn (.move (.generated .holder 3)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 2))]) (.mk [] (.move (.generated .part 2))))]))))] (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] true))) (.call (.function 2) [(.construct (.adt 1 0) [(.matchOn (.move (.generated .binding 2)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 6))]) (.mk [] (.move (.generated .part 6))))]), (.lit (.nat 1))])] false))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.letBind (Corr.eOfBNil (Corr.build (ts := [.nat, .nat]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 4)) none (.matchOn (.clone (.generated .binding 2)) [(.mk (.adt 0 0 [(.bind (.generated .part 1)), .wild]) (.mk [] (.move (.generated .part 1))))])), (.mk (.bind (.generated .operand 5)) none (.block (.mk [(.mk (.bind (.generated .holder 3)) none (.call (.function 1) [] false))] (.matchOn (.move (.generated .holder 3)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 2))]) (.mk [] (.move (.generated .part 2))))]))))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat]) (rd := (.move (.generated .part 1))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 3)) none (.call (.function 1) [] false))]) (tail := (.matchOn (.move (.generated .holder 3)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 2))]) (.mk [] (.move (.generated .part 2))))])) (Corr.fieldHeld (ts := [.nat, .nat]) (rd := (.move (.generated .part 2))) (Corr.eOfBNil (Corr.callOps (ts := []) (Corr.opsNil) rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat]) (rd := (.move (.generated .part 6))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil)))))))⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 2 0) [(.lit (.nat 2)), (.lit (.nat 3))]), [], rfl, rfl, - (Corr.build (ts := [.nat, .nat]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl)⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [], (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 7)), .wild]) (.mk [] (.move (.generated .part 7))))]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.fieldRead (ts := [.nat, .nat]) (rd := (.move (.generated .part 7))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | _ + 3 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R14/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R14/RustStd.lean deleted file mode 100644 index e6a0be040..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R14/RustStd.lean +++ /dev/null @@ -1,54 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [{ constructors := [[.nat, .nat]] }, - { constructors := [[.nat, .nat]] }, - { constructors := [[.nat, .nat]] }], functions := [ - { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat .nat), - body := (.«let» 2 (.adt 0) (.build (.adt 0) (.adt 0) [(.var 0), (.var 1)]) (.build .pair (.pair .nat .nat) [(.prim .natAdd [(.field (.var 2) 0), (.field (.call 1 []) 1)]), (.call 2 [(.build (.adt 0) (.adt 1) [(.field (.var 2) 1), (.value .nat (.nat 1))])])])) }, - { parameters := [], types := [], result := (.adt 2), - body := (.build (.adt 0) (.adt 2) [(.value .nat (.nat 2)), (.value .nat (.nat 3))]) }, - { parameters := [0], types := [(.adt 1)], result := .nat, - body := (.field (.var 0) 0) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.enum (.adt 0) [{ number := 0, fields := [.nat, .nat] }]), - (.enum (.adt 1) [{ number := 0, fields := [.nat, .nat] }]), - (.enum (.adt 2) [{ number := 0, fields := [.nat, .nat] }]), - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair .nat .nat)) (.mk [(.mk (.bind (.generated .binding 2)) (some (.adt 0)) (.construct (.adt 0 0) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))]))] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.matchOn (.clone (.generated .binding 2)) [(.mk (.adt 0 0 [(.bind (.generated .part 1)), .wild]) (.mk [] (.move (.generated .part 1))))])), (.mk (.bind (.generated .operand 5)) none (.block (.mk [(.mk (.bind (.generated .holder 3)) none (.call (.function 1) [] false))] (.matchOn (.move (.generated .holder 3)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 2))]) (.mk [] (.move (.generated .part 2))))]))))] (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] true))) (.call (.function 2) [(.construct (.adt 1 0) [(.matchOn (.move (.generated .binding 2)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 6))]) (.mk [] (.move (.generated .part 6))))]), (.lit (.nat 1))])] false))))), - (.function (.generated .function 1) [] (.adt 2) (.mk [] (.construct (.adt 2 0) [(.lit (.nat 2)), (.lit (.nat 3))]))), - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .nat (.mk [] (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 7)), .wild]) (.mk [] (.move (.generated .part 7))))])))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some (.adt 0)) (.construct (.adt 0 0) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))]))], (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.matchOn (.clone (.generated .binding 2)) [(.mk (.adt 0 0 [(.bind (.generated .part 1)), .wild]) (.mk [] (.move (.generated .part 1))))])), (.mk (.bind (.generated .operand 5)) none (.block (.mk [(.mk (.bind (.generated .holder 3)) none (.call (.function 1) [] false))] (.matchOn (.move (.generated .holder 3)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 2))]) (.mk [] (.move (.generated .part 2))))]))))] (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] true))) (.call (.function 2) [(.construct (.adt 1 0) [(.matchOn (.move (.generated .binding 2)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 6))]) (.mk [] (.move (.generated .part 6))))]), (.lit (.nat 1))])] false))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.letBind (Corr.eOfBNil (Corr.build (ts := [.nat, .nat]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 4)) none (.matchOn (.clone (.generated .binding 2)) [(.mk (.adt 0 0 [(.bind (.generated .part 1)), .wild]) (.mk [] (.move (.generated .part 1))))])), (.mk (.bind (.generated .operand 5)) none (.block (.mk [(.mk (.bind (.generated .holder 3)) none (.call (.function 1) [] false))] (.matchOn (.move (.generated .holder 3)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 2))]) (.mk [] (.move (.generated .part 2))))]))))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat]) (rd := (.move (.generated .part 1))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 3)) none (.call (.function 1) [] false))]) (tail := (.matchOn (.move (.generated .holder 3)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 2))]) (.mk [] (.move (.generated .part 2))))])) (Corr.fieldHeld (ts := [.nat, .nat]) (rd := (.move (.generated .part 2))) (Corr.eOfBNil (Corr.callOps (ts := []) (Corr.opsNil) rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat]) (rd := (.move (.generated .part 6))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil)))))))⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 2 0) [(.lit (.nat 2)), (.lit (.nat 3))]), [], rfl, rfl, - (Corr.build (ts := [.nat, .nat]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl)⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [], (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 7)), .wild]) (.mk [] (.move (.generated .part 7))))]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.fieldRead (ts := [.nat, .nat]) (rd := (.move (.generated .part 7))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | _ + 3 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R15/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R15/Compose/RustCore.lean deleted file mode 100644 index 8d7d5bc1c..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R15/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustCore -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustCore - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (v : (Option Nat)) (r : (Except Bool Nat)) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) v), ((_root_.LexLeanPreservation.encExcept _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat) r)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.denote v r) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) v), ((_root_.LexLeanPreservation.encExcept _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat) r)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encOption _root_.LexLeanPreservation.Rust.wt_nat) v) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encExcept _root_.LexLeanPreservation.Rust.wt_bool _root_.LexLeanPreservation.Rust.wt_nat) r) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.root v r) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R15/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R15/Compose/RustStd.lean deleted file mode 100644 index 9073c39aa..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R15/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustStd - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (v : (Option Nat)) (r : (Except Bool Nat)) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) v), ((_root_.LexLeanPreservation.encExcept _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat) r)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.denote v r) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) v), ((_root_.LexLeanPreservation.encExcept _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat) r)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encOption _root_.LexLeanPreservation.Rust.wt_nat) v) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encExcept _root_.LexLeanPreservation.Rust.wt_bool _root_.LexLeanPreservation.Rust.wt_nat) r) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.root v r) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R15/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R15/RustCore.lean deleted file mode 100644 index cc1f63aa1..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R15/RustCore.lean +++ /dev/null @@ -1,33 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustCore -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [(.option .nat), (.result .nat .bool)], result := .nat, - body := (.prim .natAdd [(.«match» .nat (.var 0) [(.arm .none [] (.value .nat (.nat 0))), (.arm .some [2] (.var 2))]), (.«match» .nat (.var 1) [(.arm .ok [3] (.var 3)), (.arm .error [4] (.cond (.var 4) (.value .nat (.nat 1)) (.value .nat (.nat 2))))])]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .core, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.option .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.result .nat .bool) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 3)) none (.block (.mk [(.mk (.bind (.generated .holder 1)) none (.copy (.generated .binding 0)))] (.matchOn (.move (.generated .holder 1)) [(.mk .none (.mk [] (.lit (.nat 0)))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.copy (.generated .binding 2))))])))), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .holder 2)) none (.copy (.generated .binding 1)))] (.matchOn (.move (.generated .holder 2)) [(.mk (.ok (.bind (.generated .binding 3))) (.mk [] (.copy (.generated .binding 3)))), (.mk (.err (.bind (.generated .binding 4))) (.mk [] (.cond (.copy (.generated .binding 4)) (.mk [] (.lit (.nat 1))) (.mk [] (.lit (.nat 2))))))]))))] (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 3)) none (.block (.mk [(.mk (.bind (.generated .holder 1)) none (.copy (.generated .binding 0)))] (.matchOn (.move (.generated .holder 1)) [(.mk .none (.mk [] (.lit (.nat 0)))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.copy (.generated .binding 2))))])))), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .holder 2)) none (.copy (.generated .binding 1)))] (.matchOn (.move (.generated .holder 2)) [(.mk (.ok (.bind (.generated .binding 3))) (.mk [] (.copy (.generated .binding 3)))), (.mk (.err (.bind (.generated .binding 4))) (.mk [] (.cond (.copy (.generated .binding 4)) (.mk [] (.lit (.nat 1))) (.mk [] (.lit (.nat 2))))))]))))], (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false), [(1, (.result .nat .bool), (some 1)), (0, (.option .nat), (some 0))], rfl, rfl, - (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 1)) none (.copy (.generated .binding 0)))]) (tail := (.matchOn (.move (.generated .holder 1)) [(.mk .none (.mk [] (.lit (.nat 0)))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.copy (.generated .binding 2))))])) (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.result .nat .bool), (some 1)), (0, (.option .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.nat 0))) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.result .nat .bool), (some 1)), (0, (.option .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.copy (.generated .binding 2))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.value rfl rfl))) rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 2)) none (.copy (.generated .binding 1)))]) (tail := (.matchOn (.move (.generated .holder 2)) [(.mk (.ok (.bind (.generated .binding 3))) (.mk [] (.copy (.generated .binding 3)))), (.mk (.err (.bind (.generated .binding 4))) (.mk [] (.cond (.copy (.generated .binding 4)) (.mk [] (.lit (.nat 1))) (.mk [] (.lit (.nat 2))))))])) (Corr.matchArms (st := (.result .nat .bool)) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(3, .nat, (some 3)), (1, (.result .nat .bool), (some 1)), (0, (.option .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.copy (.generated .binding 3))) (Corr.mCons (Γ' := [(4, .bool, (some 4)), (1, (.result .nat .bool), (some 1)), (0, (.option .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.copy (.generated .binding 4)) (.mk [] (.lit (.nat 1))) (.mk [] (.lit (.nat 2))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.copy (.generated .binding 4))) (lk := []) (Corr.bOfE (Corr.var rfl rfl)) (Corr.kIf (la := []) (ta := (.lit (.nat 1))) (lb := []) (tb := (.lit (.nat 2))) (Corr.bOfE (Corr.value rfl rfl)) (Corr.bOfE (Corr.value rfl rfl))))) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | _ + 1 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R15/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R15/RustStd.lean deleted file mode 100644 index c998ad9e3..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R15/RustStd.lean +++ /dev/null @@ -1,33 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [(.option .nat), (.result .nat .bool)], result := .nat, - body := (.prim .natAdd [(.«match» .nat (.var 0) [(.arm .none [] (.value .nat (.nat 0))), (.arm .some [2] (.var 2))]), (.«match» .nat (.var 1) [(.arm .ok [3] (.var 3)), (.arm .error [4] (.cond (.var 4) (.value .nat (.nat 1)) (.value .nat (.nat 2))))])]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.option .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.result .nat .bool) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 3)) none (.block (.mk [(.mk (.bind (.generated .holder 1)) none (.copy (.generated .binding 0)))] (.matchOn (.move (.generated .holder 1)) [(.mk .none (.mk [] (.lit (.nat 0)))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.copy (.generated .binding 2))))])))), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .holder 2)) none (.copy (.generated .binding 1)))] (.matchOn (.move (.generated .holder 2)) [(.mk (.ok (.bind (.generated .binding 3))) (.mk [] (.copy (.generated .binding 3)))), (.mk (.err (.bind (.generated .binding 4))) (.mk [] (.cond (.copy (.generated .binding 4)) (.mk [] (.lit (.nat 1))) (.mk [] (.lit (.nat 2))))))]))))] (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 3)) none (.block (.mk [(.mk (.bind (.generated .holder 1)) none (.copy (.generated .binding 0)))] (.matchOn (.move (.generated .holder 1)) [(.mk .none (.mk [] (.lit (.nat 0)))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.copy (.generated .binding 2))))])))), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .holder 2)) none (.copy (.generated .binding 1)))] (.matchOn (.move (.generated .holder 2)) [(.mk (.ok (.bind (.generated .binding 3))) (.mk [] (.copy (.generated .binding 3)))), (.mk (.err (.bind (.generated .binding 4))) (.mk [] (.cond (.copy (.generated .binding 4)) (.mk [] (.lit (.nat 1))) (.mk [] (.lit (.nat 2))))))]))))], (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false), [(1, (.result .nat .bool), (some 1)), (0, (.option .nat), (some 0))], rfl, rfl, - (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 1)) none (.copy (.generated .binding 0)))]) (tail := (.matchOn (.move (.generated .holder 1)) [(.mk .none (.mk [] (.lit (.nat 0)))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.copy (.generated .binding 2))))])) (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.result .nat .bool), (some 1)), (0, (.option .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.nat 0))) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.result .nat .bool), (some 1)), (0, (.option .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.copy (.generated .binding 2))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.value rfl rfl))) rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 2)) none (.copy (.generated .binding 1)))]) (tail := (.matchOn (.move (.generated .holder 2)) [(.mk (.ok (.bind (.generated .binding 3))) (.mk [] (.copy (.generated .binding 3)))), (.mk (.err (.bind (.generated .binding 4))) (.mk [] (.cond (.copy (.generated .binding 4)) (.mk [] (.lit (.nat 1))) (.mk [] (.lit (.nat 2))))))])) (Corr.matchArms (st := (.result .nat .bool)) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(3, .nat, (some 3)), (1, (.result .nat .bool), (some 1)), (0, (.option .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.copy (.generated .binding 3))) (Corr.mCons (Γ' := [(4, .bool, (some 4)), (1, (.result .nat .bool), (some 1)), (0, (.option .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.copy (.generated .binding 4)) (.mk [] (.lit (.nat 1))) (.mk [] (.lit (.nat 2))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.copy (.generated .binding 4))) (lk := []) (Corr.bOfE (Corr.var rfl rfl)) (Corr.kIf (la := []) (ta := (.lit (.nat 1))) (lb := []) (tb := (.lit (.nat 2))) (Corr.bOfE (Corr.value rfl rfl)) (Corr.bOfE (Corr.value rfl rfl))))) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | _ + 1 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R16/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R16/Compose/RustCore.lean deleted file mode 100644 index 396864b09..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R16/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustCore -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustCore - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (n : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.denote n) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat n) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.root n) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R16/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R16/Compose/RustStd.lean deleted file mode 100644 index 655c46c51..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R16/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustStd - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (n : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.denote n) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat n) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.root n) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R16/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R16/RustCore.lean deleted file mode 100644 index 48d265554..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R16/RustCore.lean +++ /dev/null @@ -1,33 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustCore -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0], types := [.nat], result := (.pair (.option .nat) (.result .nat .unit)), - body := (.build .pair (.pair (.option .nat) (.result .nat .unit)) [(.build .some (.option .nat) [(.build .succ .nat [(.var 0)])]), (.cond (.prim .natLt [(.var 0), (.value .nat (.nat 3))]) (.build .ok (.result .nat .unit) [(.build .zero .nat [])]) (.build .error (.result .nat .unit) [(.build .unit .unit [])]))]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .core, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible (.pair (.option .nat) (.result .nat .unit))) (.mk [] (.succeed (.pair (.construct .some [(.call (.runtime .natSucc) [(.copy (.generated .binding 0))] true)]) (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false) (.mk [] (.construct (.ok .nat .unit) [(.lit (.nat 0))])) (.mk [] (.construct (.err .nat .unit) [(.lit .unit)])))))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.pair (.construct .some [(.call (.runtime .natSucc) [(.copy (.generated .binding 0))] true)]) (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false) (.mk [] (.construct (.ok .nat .unit) [(.lit (.nat 0))])) (.mk [] (.construct (.err .nat .unit) [(.lit .unit)]))))))), [(0, .nat, (some 0))], rfl, rfl, - (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildSucc (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) (Corr.lNil))) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 3)))]) (tail := (.cond (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false) (.mk [] (.construct (.ok .nat .unit) [(.lit (.nat 0))])) (.mk [] (.construct (.err .nat .unit) [(.lit .unit)])))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct (.ok .nat .unit) [(.lit (.nat 0))])) (lb := []) (tb := (.construct (.err .nat .unit) [(.lit .unit)])) (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))) rfl) (Corr.build (ts := [.unit]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))) rfl)))) (Corr.lNil))))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | _ + 1 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R16/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R16/RustStd.lean deleted file mode 100644 index dacf90f1a..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R16/RustStd.lean +++ /dev/null @@ -1,33 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0], types := [.nat], result := (.pair (.option .nat) (.result .nat .unit)), - body := (.build .pair (.pair (.option .nat) (.result .nat .unit)) [(.build .some (.option .nat) [(.build .succ .nat [(.var 0)])]), (.cond (.prim .natLt [(.var 0), (.value .nat (.nat 3))]) (.build .ok (.result .nat .unit) [(.build .zero .nat [])]) (.build .error (.result .nat .unit) [(.build .unit .unit [])]))]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible (.pair (.option .nat) (.result .nat .unit))) (.mk [] (.succeed (.pair (.construct .some [(.call (.runtime .natSucc) [(.copy (.generated .binding 0))] true)]) (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false) (.mk [] (.construct (.ok .nat .unit) [(.lit (.nat 0))])) (.mk [] (.construct (.err .nat .unit) [(.lit .unit)])))))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.pair (.construct .some [(.call (.runtime .natSucc) [(.copy (.generated .binding 0))] true)]) (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false) (.mk [] (.construct (.ok .nat .unit) [(.lit (.nat 0))])) (.mk [] (.construct (.err .nat .unit) [(.lit .unit)]))))))), [(0, .nat, (some 0))], rfl, rfl, - (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildSucc (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) (Corr.lNil))) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 3)))]) (tail := (.cond (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false) (.mk [] (.construct (.ok .nat .unit) [(.lit (.nat 0))])) (.mk [] (.construct (.err .nat .unit) [(.lit .unit)])))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct (.ok .nat .unit) [(.lit (.nat 0))])) (lb := []) (tb := (.construct (.err .nat .unit) [(.lit .unit)])) (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))) rfl) (Corr.build (ts := [.unit]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))) rfl)))) (Corr.lNil))))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | _ + 1 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R17/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R17/Compose/RustCore.lean deleted file mode 100644 index 6385d801e..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R17/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustCore -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustCore - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (p : (Prod Nat Bool)) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool) p)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.denote p) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool) p)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_nat _root_.LexLeanPreservation.Rust.wt_bool) p) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.root p) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R17/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R17/Compose/RustStd.lean deleted file mode 100644 index 9fb6025e1..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R17/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustStd - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (p : (Prod Nat Bool)) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool) p)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.denote p) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool) p)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_nat _root_.LexLeanPreservation.Rust.wt_bool) p) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.root p) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R17/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R17/RustCore.lean deleted file mode 100644 index df5d1340d..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R17/RustCore.lean +++ /dev/null @@ -1,33 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustCore -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0], types := [(.pair .nat .bool)], result := (.pair .bool .nat), - body := (.build .pair (.pair .bool .nat) [(.second (.var 0)), (.first (.var 0))]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .core, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .bool) }] (.pair .bool .nat) (.mk [] (.pair (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 1))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 1)))) (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 2)))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 1))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 1)))) (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 2))))), [(0, (.pair .nat .bool), (some 0))], rfl, rfl, - (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 1))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 1))) (Corr.second (ta := .nat) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 2))) (Corr.first (ta := .nat) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.lNil)))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | _ + 1 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R17/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R17/RustStd.lean deleted file mode 100644 index 01c897b8f..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R17/RustStd.lean +++ /dev/null @@ -1,33 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0], types := [(.pair .nat .bool)], result := (.pair .bool .nat), - body := (.build .pair (.pair .bool .nat) [(.second (.var 0)), (.first (.var 0))]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .bool) }] (.pair .bool .nat) (.mk [] (.pair (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 1))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 1)))) (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 2)))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 1))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 1)))) (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 2))))), [(0, (.pair .nat .bool), (some 0))], rfl, rfl, - (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 1))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 1))) (Corr.second (ta := .nat) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 2))) (Corr.first (ta := .nat) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.lNil)))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | _ + 1 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R18.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R18.lean deleted file mode 100644 index 3703666b9..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R18.lean +++ /dev/null @@ -1,73 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Coverage.Boundary -import Coverage.Colls -import Coverage.Main -import Coverage.Prims -import Coverage.RecRoots -import Coverage.Recur -import Coverage.Syntax -import Coverage.Types -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [.nat, .nat], result := .nat, - body := (.«let» 2 .nat (.prim .natAdd [(.var 0), (.value .nat (.nat 1))]) (.prim .natAdd [(.call 1 [(.closure 2 [(.var 2), (.var 1)]), (.var 0)]), (.prim .natAdd [(.apply (.closure 3 [(.var 2)]) [(.var 0)]), (.call 1 [(.closure 4 []), (.var 1)])])])) }, - { parameters := [0, 1], types := [(.fn [.nat] .nat), .nat], result := .nat, - body := (.apply (.var 0) [(.apply (.var 0) [(.var 1)])]) }, - { parameters := [0, 1, 2], types := [.nat, .nat, .nat], result := .nat, - body := (.prim .natAdd [(.prim .natMul [(.var 2), (.var 0)]), (.var 1)]) }, - { parameters := [0, 1], types := [.nat, .nat], result := .nat, - body := (.prim .natSub [(.var 1), (.var 0)]) }, - { parameters := [0], types := [.nat], result := .nat, - body := (.prim .natAdd [(.var 0), (.var 0)]) }] } - -def __fits_1 (step : (Nat -> Nat)) (__ff_0 : Nat -> Bool) (value : Nat) : Bool := - (Bool.true && (((Bool.true && ((Bool.true && Bool.true) && (__ff_0 (value)))) && Bool.true) && (__ff_0 ((step (value)))))) - -theorem __rel_1 (step : (Nat -> Nat)) (__ff_0 : Nat -> Bool) (__fi_0 : Nat) (__fc_0 : List _root_.LexLeanTarget.TargetSyntax.Value) (__fh_0 : ∀ (__p0 : Nat), _root_.LexLeanPreservation.FunRel __prog __fi_0 (_root_.LexLeanTarget.TargetSemantics.LexLeanRuntime.append __fc_0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat __p0)]) (_root_.LexLeanPreservation.Rel (__ff_0 __p0) (_root_.LexLeanTarget.TargetSyntax.Value.nat (step __p0)))) (value : Nat) : _root_.LexLeanPreservation.FunRel __prog 1 [(_root_.LexLeanTarget.TargetSyntax.Value.closure __fi_0 __fc_0), (_root_.LexLeanTarget.TargetSyntax.Value.nat value)] (_root_.LexLeanPreservation.Rel (__fits_1 step __ff_0 value) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Types.twice step value))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_apply (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_apply (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__fh_0 (value))) _root_.LexLeanPreservation.convL_nil) (__fh_0 ((step (value))))) - -def __fits_2 (k : Nat) (offset : Nat) (x : Nat) : Bool := - ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (Coverage.Main.LexLeanRuntime.multiply (x) (k) : Nat) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt ((Coverage.Main.LexLeanRuntime.multiply (x) (k) : Nat) + offset) 18446744073709551616)) - -theorem __rel_2 (k : Nat) (offset : Nat) (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat k), (_root_.LexLeanTarget.TargetSyntax.Value.nat offset), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_2 k offset x) (_root_.LexLeanTarget.TargetSyntax.Value.nat (((Coverage.Main.LexLeanRuntime.multiply (x) (k) : Nat) + offset)))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natMul x k)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (Coverage.Main.LexLeanRuntime.multiply (x) (k) : Nat) offset)) - -def __fits_3 (k : Nat) (y : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_3 (k : Nat) (y : Nat) : _root_.LexLeanPreservation.FunRel __prog 3 [(_root_.LexLeanTarget.TargetSyntax.Value.nat k), (_root_.LexLeanTarget.TargetSyntax.Value.nat y)] (_root_.LexLeanPreservation.Rel (__fits_3 k y) (_root_.LexLeanTarget.TargetSyntax.Value.nat ((Coverage.Main.LexLeanRuntime.subtract (y) (k) : Nat)))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub y k)) - -def __fits_4 (n : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (n + n) 18446744073709551616)) - -theorem __rel_4 (n : Nat) : _root_.LexLeanPreservation.FunRel __prog 4 [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)] (_root_.LexLeanPreservation.Rel (__fits_4 n) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Main.double n))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd n n)) - -def __fits_0 (base : Nat) (offset : Nat) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (base + (1 : Nat)) 18446744073709551616)) && (let k : Nat := (base + (1 : Nat)); (((((Bool.true && (Bool.true && Bool.true)) && (Bool.true && Bool.true)) && (__fits_1 ((fun (x : Nat) => ((Coverage.Main.LexLeanRuntime.multiply (x) (k) : Nat) + offset))) (fun (__p0 : Nat) => __fits_2 (k) (offset) __p0) (base))) && (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && ((__fits_3 (k)) (base)))) && (((Bool.true && (Bool.true && Bool.true)) && (__fits_1 ((Coverage.Main.double)) (fun (__p0 : Nat) => __fits_4 __p0) (offset))) && Bool.true)) && (Nat.blt (((fun (y : Nat) => (Coverage.Main.LexLeanRuntime.subtract (y) (k) : Nat)) (base)) + (Coverage.Types.twice ((Coverage.Main.double)) (offset))) 18446744073709551616)) && Bool.true)) && (Nat.blt ((Coverage.Types.twice ((fun (x : Nat) => ((Coverage.Main.LexLeanRuntime.multiply (x) (k) : Nat) + offset))) (base)) + (((fun (y : Nat) => (Coverage.Main.LexLeanRuntime.subtract (y) (k) : Nat)) (base)) + (Coverage.Types.twice ((Coverage.Main.double)) (offset)))) 18446744073709551616)))) - -attribute [local irreducible] Coverage.Types.twice in -theorem __rel_0 (base : Nat) (offset : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat base), (_root_.LexLeanTarget.TargetSyntax.Value.nat offset)] (_root_.LexLeanPreservation.Rel (__fits_0 base offset) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Main.higher base offset))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (let k : Nat := (base + (1 : Nat)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd base (1 : Nat))) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_1 ((fun (x : Nat) => ((Coverage.Main.LexLeanRuntime.multiply (x) (k) : Nat) + offset))) (fun (__p0 : Nat) => __fits_2 (k) (offset) __p0) (2) ([(_root_.LexLeanTarget.TargetSyntax.Value.nat k), (_root_.LexLeanTarget.TargetSyntax.Value.nat offset)]) (fun (__p0 : Nat) => __rel_2 (k) (offset) __p0) (base))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_apply (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) ((__rel_3 (k)) (base))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_1 ((Coverage.Main.double)) (fun (__p0 : Nat) => __fits_4 __p0) (4) ([]) (fun (__p0 : Nat) => __rel_4 __p0) (offset))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((fun (y : Nat) => (Coverage.Main.LexLeanRuntime.subtract (y) (k) : Nat)) (base)) (Coverage.Types.twice ((Coverage.Main.double)) (offset)))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (Coverage.Types.twice ((fun (x : Nat) => ((Coverage.Main.LexLeanRuntime.multiply (x) (k) : Nat) + offset))) (base)) (((fun (y : Nat) => (Coverage.Main.LexLeanRuntime.subtract (y) (k) : Nat)) (base)) + (Coverage.Types.twice ((Coverage.Main.double)) (offset)))))) - -def denote (base : Nat) (offset : Nat) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 base offset) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Main.higher base offset)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (base : Nat) (offset : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat base), (_root_.LexLeanTarget.TargetSyntax.Value.nat offset)] (_root_.LexLeanPreservation.Rel (__fits_0 base offset) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Main.higher base offset))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 base offset) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R18/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R18/Compose/RustCore.lean deleted file mode 100644 index c1a579cc9..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R18/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustCore -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustCore - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (base : Nat) (offset : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat base), (_root_.LexLeanTarget.TargetSyntax.Value.nat offset)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.denote base offset) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat base), (_root_.LexLeanTarget.TargetSyntax.Value.nat offset)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat base) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat offset) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.root base offset) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R18/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R18/Compose/RustStd.lean deleted file mode 100644 index a54bf96b6..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R18/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustStd - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (base : Nat) (offset : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat base), (_root_.LexLeanTarget.TargetSyntax.Value.nat offset)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.denote base offset) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat base), (_root_.LexLeanTarget.TargetSyntax.Value.nat offset)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat base) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat offset) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.root base offset) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R18/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R18/RustCore.lean deleted file mode 100644 index 08cd06097..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R18/RustCore.lean +++ /dev/null @@ -1,67 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustCore -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [.nat, .nat], result := .nat, - body := (.«let» 2 .nat (.prim .natAdd [(.var 0), (.value .nat (.nat 1))]) (.prim .natAdd [(.call 1 [(.closure 2 [(.var 2), (.var 1)]), (.var 0)]), (.prim .natAdd [(.apply (.closure 3 [(.var 2)]) [(.var 0)]), (.call 1 [(.closure 4 []), (.var 1)])])])) }, - { parameters := [0, 1], types := [(.fn [.nat] .nat), .nat], result := .nat, - body := (.apply (.var 0) [(.apply (.var 0) [(.var 1)])]) }, - { parameters := [0, 1, 2], types := [.nat, .nat, .nat], result := .nat, - body := (.prim .natAdd [(.prim .natMul [(.var 2), (.var 0)]), (.var 1)]) }, - { parameters := [0, 1], types := [.nat, .nat], result := .nat, - body := (.prim .natSub [(.var 1), (.var 0)]) }, - { parameters := [0], types := [.nat], result := .nat, - body := (.prim .natAdd [(.var 0), (.var 0)]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .core, items := [ - (.enum (.fn 0) [{ number := 2, fields := [.nat, .nat] }, { number := 3, fields := [.nat] }, { number := 4, fields := [] }]), - (.apply 0 [.nat] .nat true [{ function := 2, captures := [.copy, .copy], functionFallible := true }, { function := 3, captures := [.copy], functionFallible := false }, { function := 4, captures := [], functionFallible := true }]), - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .binding 2)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true)))), (.mk (.bind (.generated .operand 6)) none (.call (.function 1) [(.construct (.closure 0 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 1))]), (.copy (.generated .binding 0))] true)), (.mk (.bind (.generated .operand 7)) none (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .callee 3)) (some (.fn 0)) (.construct (.closure 0 3) [(.copy (.generated .binding 2))]))] (.apply (.generated .callee 3) [(.copy (.generated .binding 0))] true)))), (.mk (.bind (.generated .operand 5)) none (.call (.function 1) [(.construct (.closure 0 4) []), (.copy (.generated .binding 1))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] true))))] (.call (.runtime .natAdd) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 8) [(.block (.mk [(.mk (.bind (.generated .callee 9)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 9) [(.copy (.generated .binding 1))] true)))] false))), - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 12)) none (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0)))] (.call (.runtime .natMul) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true)))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false))), - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .nat (.mk [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 0)))] (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false))), - (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false)))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [(([.nat], .nat), true)] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true)))), (.mk (.bind (.generated .operand 6)) none (.call (.function 1) [(.construct (.closure 0 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 1))]), (.copy (.generated .binding 0))] true)), (.mk (.bind (.generated .operand 7)) none (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .callee 3)) (some (.fn 0)) (.construct (.closure 0 3) [(.copy (.generated .binding 2))]))] (.apply (.generated .callee 3) [(.copy (.generated .binding 0))] true)))), (.mk (.bind (.generated .operand 5)) none (.call (.function 1) [(.construct (.closure 0 4) []), (.copy (.generated .binding 1))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] true))))], (.call (.runtime .natAdd) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.fn [.nat] .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [.nat, .nat]) (mask := [false, false]) (af := true) (ff := true) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .callee 3)) (some (.fn 0)) (.construct (.closure 0 3) [(.copy (.generated .binding 2))]))] (.apply (.generated .callee 3) [(.copy (.generated .binding 0))] true)))), (.mk (.bind (.generated .operand 5)) none (.call (.function 1) [(.construct (.closure 0 4) []), (.copy (.generated .binding 1))] true))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 3)) (some (.fn 0)) (.construct (.closure 0 3) [(.copy (.generated .binding 2))]))]) (tail := (.apply (.generated .callee 3) [(.copy (.generated .binding 0))] true)) (Corr.apply (ps := [.nat]) (af := true) (Corr.eOfBNil (Corr.closure (caps := [.nat]) (mask := [false]) (af := true) (ff := false) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.fn [.nat] .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl))⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))], (.apply (.generated .callee 8) [(.block (.mk [(.mk (.bind (.generated .callee 9)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 9) [(.copy (.generated .binding 1))] true)))] false), [(1, .nat, (some 1)), (0, (.fn [.nat] .nat), (some 0))], rfl, rfl, - (Corr.applyF (ps := [.nat]) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 9)) (some (.fn 0)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 9) [(.copy (.generated .binding 1))] true)) (Corr.apply (ps := [.nat]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl)⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 12)) none (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0)))] (.call (.runtime .natMul) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true)))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))], (.call (.runtime .natAdd) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false), [(2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 0)))], (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun4 : FunOK program krate flags 4 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0)))], (.call (.runtime .natAdd) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false), [(0, .nat, (some 0))], rfl, rfl, - (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | 4 => exact fun4 - | _ + 5 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R18/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R18/RustStd.lean deleted file mode 100644 index 5c2a5c5f8..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R18/RustStd.lean +++ /dev/null @@ -1,67 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [.nat, .nat], result := .nat, - body := (.«let» 2 .nat (.prim .natAdd [(.var 0), (.value .nat (.nat 1))]) (.prim .natAdd [(.call 1 [(.closure 2 [(.var 2), (.var 1)]), (.var 0)]), (.prim .natAdd [(.apply (.closure 3 [(.var 2)]) [(.var 0)]), (.call 1 [(.closure 4 []), (.var 1)])])])) }, - { parameters := [0, 1], types := [(.fn [.nat] .nat), .nat], result := .nat, - body := (.apply (.var 0) [(.apply (.var 0) [(.var 1)])]) }, - { parameters := [0, 1, 2], types := [.nat, .nat, .nat], result := .nat, - body := (.prim .natAdd [(.prim .natMul [(.var 2), (.var 0)]), (.var 1)]) }, - { parameters := [0, 1], types := [.nat, .nat], result := .nat, - body := (.prim .natSub [(.var 1), (.var 0)]) }, - { parameters := [0], types := [.nat], result := .nat, - body := (.prim .natAdd [(.var 0), (.var 0)]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.enum (.fn 0) [{ number := 2, fields := [.nat, .nat] }, { number := 3, fields := [.nat] }, { number := 4, fields := [] }]), - (.apply 0 [.nat] .nat true [{ function := 2, captures := [.copy, .copy], functionFallible := true }, { function := 3, captures := [.copy], functionFallible := false }, { function := 4, captures := [], functionFallible := true }]), - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .binding 2)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true)))), (.mk (.bind (.generated .operand 6)) none (.call (.function 1) [(.construct (.closure 0 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 1))]), (.copy (.generated .binding 0))] true)), (.mk (.bind (.generated .operand 7)) none (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .callee 3)) (some (.fn 0)) (.construct (.closure 0 3) [(.copy (.generated .binding 2))]))] (.apply (.generated .callee 3) [(.copy (.generated .binding 0))] true)))), (.mk (.bind (.generated .operand 5)) none (.call (.function 1) [(.construct (.closure 0 4) []), (.copy (.generated .binding 1))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] true))))] (.call (.runtime .natAdd) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 8) [(.block (.mk [(.mk (.bind (.generated .callee 9)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 9) [(.copy (.generated .binding 1))] true)))] false))), - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 12)) none (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0)))] (.call (.runtime .natMul) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true)))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false))), - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .nat (.mk [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 0)))] (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false))), - (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false)))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [(([.nat], .nat), true)] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true)))), (.mk (.bind (.generated .operand 6)) none (.call (.function 1) [(.construct (.closure 0 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 1))]), (.copy (.generated .binding 0))] true)), (.mk (.bind (.generated .operand 7)) none (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .callee 3)) (some (.fn 0)) (.construct (.closure 0 3) [(.copy (.generated .binding 2))]))] (.apply (.generated .callee 3) [(.copy (.generated .binding 0))] true)))), (.mk (.bind (.generated .operand 5)) none (.call (.function 1) [(.construct (.closure 0 4) []), (.copy (.generated .binding 1))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] true))))], (.call (.runtime .natAdd) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.fn [.nat] .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [.nat, .nat]) (mask := [false, false]) (af := true) (ff := true) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .callee 3)) (some (.fn 0)) (.construct (.closure 0 3) [(.copy (.generated .binding 2))]))] (.apply (.generated .callee 3) [(.copy (.generated .binding 0))] true)))), (.mk (.bind (.generated .operand 5)) none (.call (.function 1) [(.construct (.closure 0 4) []), (.copy (.generated .binding 1))] true))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 3)) (some (.fn 0)) (.construct (.closure 0 3) [(.copy (.generated .binding 2))]))]) (tail := (.apply (.generated .callee 3) [(.copy (.generated .binding 0))] true)) (Corr.apply (ps := [.nat]) (af := true) (Corr.eOfBNil (Corr.closure (caps := [.nat]) (mask := [false]) (af := true) (ff := false) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.fn [.nat] .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl))⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))], (.apply (.generated .callee 8) [(.block (.mk [(.mk (.bind (.generated .callee 9)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 9) [(.copy (.generated .binding 1))] true)))] false), [(1, .nat, (some 1)), (0, (.fn [.nat] .nat), (some 0))], rfl, rfl, - (Corr.applyF (ps := [.nat]) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 9)) (some (.fn 0)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 9) [(.copy (.generated .binding 1))] true)) (Corr.apply (ps := [.nat]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl)⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 12)) none (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0)))] (.call (.runtime .natMul) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true)))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))], (.call (.runtime .natAdd) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false), [(2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 0)))], (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun4 : FunOK program krate flags 4 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0)))], (.call (.runtime .natAdd) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false), [(0, .nat, (some 0))], rfl, rfl, - (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | 4 => exact fun4 - | _ + 5 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R19/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R19/Compose/RustStd.lean deleted file mode 100644 index 9516ea211..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R19/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.Compose.RustStd - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (values : (List Nat)) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) values)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.denote values) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) values)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList _root_.LexLeanPreservation.Rust.wt_nat) values) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.root values) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R19/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R19/RustStd.lean deleted file mode 100644 index 06c8105ef..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R19/RustStd.lean +++ /dev/null @@ -1,59 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0], types := [(.list .nat)], result := (.list .bool), - body := (.call 1 [(.closure 2 []), (.var 0)]) }, - { parameters := [0, 1], types := [(.fn [.nat] .bool), (.list .nat)], result := (.list .bool), - body := (.«match» (.list .bool) (.var 1) [(.arm .nil [] (.build .nil (.list .bool) [])), (.arm .cons [2, 3] (.build .cons (.list .bool) [(.apply (.var 0) [(.var 2)]), (.call 1 [(.var 0), (.var 3)])]))]) }, - { parameters := [0], types := [.nat], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .zero [] (.build .true .bool [])), (.arm .succ [1] (.call 3 [(.var 1)]))]) }, - { parameters := [0], types := [.nat], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .zero [] (.build .false .bool [])), (.arm .succ [1] (.call 2 [(.var 1)]))]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.enum (.fn 0) [{ number := 2, fields := [] }]), - (.apply 0 [.nat] .bool false [{ function := 2, captures := [], functionFallible := false }]), - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }] (.list .bool) (.mk [] (.call (.function 1) [(.construct (.closure 0 2) []), (.move (.generated .binding 0))] false))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }] (.list .bool) (.mk [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 1)))] (.matchOn (.uncons (.generated .holder 1)) [(.mk .none (.mk [] (.construct (.nil .bool) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.construct .cons [(.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 2))] false))), (.call (.function 1) [(.move (.generated .binding 0)), (.move (.generated .binding 3))] false)])))]))), - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .holder 3)) none (.copy (.generated .binding 0)))] (.cond (.isZero (.generated .holder 3)) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .binding 1)) none (.predecessor (.generated .holder 3)))] (.call (.function 3) [(.copy (.generated .binding 1))] false))))), - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .holder 4)) none (.copy (.generated .binding 0)))] (.cond (.isZero (.generated .holder 4)) (.mk [] (.lit (.bool false))) (.mk [(.mk (.bind (.generated .binding 1)) none (.predecessor (.generated .holder 4)))] (.call (.function 2) [(.copy (.generated .binding 1))] false)))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [(([.nat], .bool), false)] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.construct (.closure 0 2) []), (.move (.generated .binding 0))] false), [(0, (.list .nat), (some 0))], rfl, rfl, - (Corr.callOps (ts := [(.fn [.nat] .bool), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := false) (ff := false) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 1)))], (.matchOn (.uncons (.generated .holder 1)) [(.mk .none (.mk [] (.construct (.nil .bool) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.construct .cons [(.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 2))] false))), (.call (.function 1) [(.move (.generated .binding 0)), (.move (.generated .binding 3))] false)])))]), [(1, (.list .nat), (some 1)), (0, (.fn [.nat] .bool), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.list .nat), (some 1)), (0, (.fn [.nat] .bool), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil .bool) [])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, (.list .nat), (some 1)), (0, (.fn [.nat] .bool), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .cons [(.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 2))] false))), (.call (.function 1) [(.move (.generated .binding 0)), (.move (.generated .binding 3))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.bool, (.list .bool)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.clone (.generated .binding 0)))]) (tail := (.apply (.generated .callee 2) [(.copy (.generated .binding 2))] false)) (Corr.apply (ps := [.nat]) (af := false) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.fn [.nat] .bool), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 3)) none (.copy (.generated .binding 0)))], (.cond (.isZero (.generated .holder 3)) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .binding 1)) none (.predecessor (.generated .holder 3)))] (.call (.function 3) [(.copy (.generated .binding 1))] false))), [(0, .nat, (some 0))], rfl, rfl, - (Corr.matchNat (sl := (some 1)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := []) (tb := (.call (.function 3) [(.copy (.generated .binding 1))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)))⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 4)) none (.copy (.generated .binding 0)))], (.cond (.isZero (.generated .holder 4)) (.mk [] (.lit (.bool false))) (.mk [(.mk (.bind (.generated .binding 1)) none (.predecessor (.generated .holder 4)))] (.call (.function 2) [(.copy (.generated .binding 1))] false))), [(0, .nat, (some 0))], rfl, rfl, - (Corr.matchNat (sl := (some 1)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.lit (.bool false))) (lb := []) (tb := (.call (.function 2) [(.copy (.generated .binding 1))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | _ + 4 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R2.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R2.lean deleted file mode 100644 index ef35a791d..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R2.lean +++ /dev/null @@ -1,110 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Coverage.Boundary -import Coverage.Colls -import Coverage.Main -import Coverage.Prims -import Coverage.RecRoots -import Coverage.Recur -import Coverage.Syntax -import Coverage.Types -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [(.list (.pair .nat .nat)), .nat], result := .nat, - body := (.call 1 [(.closure 2 [(.var 1)]), (.value .nat (.nat 0)), (.var 0)]) }, - { parameters := [0, 1, 2], types := [(.fn [.nat, .nat, .nat] .nat), .nat, (.list (.pair .nat .nat))], result := .nat, - body := (.«match» .nat (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 1 [(.var 0), (.apply (.var 0) [(.var 1), (.first (.var 3)), (.second (.var 3))]), (.var 4)]))]) }, - { parameters := [0, 1, 2, 3], types := [.nat, .nat, .nat, .nat], result := .nat, - body := (.prim .natAdd [(.prim .natAdd [(.var 1), (.var 2)]), (.prim .natAdd [(.var 3), (.var 0)])]) }, - { parameters := [0], types := [(.list (.pair .nat .nat))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 4 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 3 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, - { parameters := [0], types := [.nat], result := .bool, - body := (.build .true .bool []) }, - { parameters := [0, 1], types := [(.list (.pair .nat .nat)), .nat], result := (.option .nat), - body := (.cond (.call 3 [(.var 0)]) (.build .some (.option .nat) [(.call 0 [(.var 0), (.var 1)])]) (.build .none (.option .nat) [])) }] } - -def __fits_2 (bonus : Nat) (acc : Nat) (key : Nat) (value : Nat) : Bool := - ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (acc + key) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (value + bonus) 18446744073709551616)) && Bool.true)) && (Nat.blt ((acc + key) + (value + bonus)) 18446744073709551616)) - -theorem __rel_2 (bonus : Nat) (acc : Nat) (key : Nat) (value : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat bonus), (_root_.LexLeanTarget.TargetSyntax.Value.nat acc), (_root_.LexLeanTarget.TargetSyntax.Value.nat key), (_root_.LexLeanTarget.TargetSyntax.Value.nat value)] (_root_.LexLeanPreservation.Rel (__fits_2 bonus acc key value) (_root_.LexLeanTarget.TargetSyntax.Value.nat (((acc + key) + (value + bonus))))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd acc key)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd value bonus)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (acc + key) (value + bonus))) - -def __fits_0 (m : (List (Prod Nat Nat))) (bonus : Nat) : Bool := - (((Bool.true && Bool.true) && (Bool.true && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun __st __e => (fun (__p0 : Nat) (__p1 : Nat) (__p2 : Nat) => __fits_2 (bonus) __p0 __p1 __p2) __st __e.1 __e.2) (fun __st __e => ((fun (acc : Nat) (key : Nat) (value : Nat) => ((acc + key) + (value + bonus)))) __st __e.1 __e.2) ((0 : Nat)) (m))) - -theorem __rel_0 (m : (List (Prod Nat Nat))) (bonus : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) m), (_root_.LexLeanTarget.TargetSyntax.Value.nat bonus)] (_root_.LexLeanPreservation.Rel (__fits_0 m bonus) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Colls.mapFolding m bonus))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_mapFold (ek := _root_.LexLeanTarget.TargetSyntax.Value.nat) (ev := _root_.LexLeanTarget.TargetSyntax.Value.nat) (es := _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) ((fun (acc : Nat) (key : Nat) (value : Nat) => ((acc + key) + (value + bonus)))) (fun (__p0 : Nat) (__p1 : Nat) (__p2 : Nat) => __fits_2 (bonus) __p0 __p1 __p2) 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat bonus)] (fun (__p0 : Nat) (__p1 : Nat) (__p2 : Nat) => __rel_2 (bonus) __p0 __p1 __p2) (p := __prog) (fi := 1) (tk := .nat) (tw := .nat) (ts := .nat) rfl ((0 : Nat)) (m))) - -def denote (m : (List (Prod Nat Nat))) (bonus : Nat) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 m bonus) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Colls.mapFolding m bonus)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (m : (List (Prod Nat Nat))) (bonus : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) m), (_root_.LexLeanTarget.TargetSyntax.Value.nat bonus)] (_root_.LexLeanPreservation.Rel (__fits_0 m bonus) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Colls.mapFolding m bonus))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 m bonus) - -def __valid_4 : Nat -> Bool := - fun _ => Bool.true - -def __inv_4 : Nat -> Prop := - fun _ => _root_.True - -theorem __viff_4 : ∀ (__v : Nat), __valid_4 __v = Bool.true ↔ __inv_4 __v := - fun __v => _root_.LexLeanPreservation.validTrue_inv __v - -theorem __vrel_4 : ∀ (__v : Nat), _root_.LexLeanPreservation.FunRel __prog 4 [(_root_.LexLeanTarget.TargetSyntax.Value.nat __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_4 __v))) := - _root_.LexLeanPreservation.tpl_validTrue _root_.LexLeanTarget.TargetSyntax.Value.nat rfl - -def __valid_3 : (List (Prod Nat Nat)) -> Bool := - _root_.LexLeanPreservation.ascMap (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) __valid_4 - -def __inv_3 : (List (Prod Nat Nat)) -> Prop := - _root_.LexLeanPreservation.InvMap (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) __inv_4 - -theorem __viff_3 : ∀ (__v : (List (Prod Nat Nat))), __valid_3 __v = Bool.true ↔ __inv_3 __v := - _root_.LexLeanPreservation.ascMap_inv (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) __valid_4 __inv_4 __viff_4 - -theorem __vrel_3 : ∀ (__v : (List (Prod Nat Nat))), _root_.LexLeanPreservation.FunRel __prog 3 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_3 __v))) := - _root_.LexLeanPreservation.tpl_validMap (_root_.LexLeanPreservation.keySpec_nat (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) __valid_4 (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) __vrel_4 rfl - -def entryFits (m : (List (Prod Nat Nat))) (bonus : Nat) : Bool := - (if __valid_3 m then __fits_0 m bonus else Bool.true) - -def entryValue (m : (List (Prod Nat Nat))) (bonus : Nat) : _root_.LexLeanTarget.TargetSyntax.Value := - (if __valid_3 m then (_root_.LexLeanTarget.TargetSyntax.Value.some (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Colls.mapFolding m bonus))) else _root_.LexLeanTarget.TargetSyntax.Value.none) - -/-- The entry's observation. -/ -def denoteEntry (m : (List (Prod Nat Nat))) (bonus : Nat) : _root_.LexLeanPreservation.Obs := - _root_.cond (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.entryFits m bonus) (_root_.LexLeanPreservation.Obs.value (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.entryValue m bonus)) _root_.LexLeanPreservation.Obs.overflow - -/-- §17.12's invariants of the validated parameters. -/ -def accepts (m : (List (Prod Nat Nat))) (bonus : Nat) : Prop := - (__inv_3 m ∧ _root_.True) - -theorem entry (m : (List (Prod Nat Nat))) (bonus : Nat) : _root_.LexLeanPreservation.RunConv __prog 5 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) m), (_root_.LexLeanTarget.TargetSyntax.Value.nat bonus)] (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.denoteEntry m bonus) := - _root_.LexLeanPreservation.run_of_funRel (_root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then __fits_0 m bonus else Bool.true) (fun __c => if __c then (_root_.LexLeanTarget.TargetSyntax.Value.some (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Colls.mapFolding m bonus))) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_3 m) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_3 m)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_0 m bonus)) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (by simp [_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.entryFits])) - -theorem entry_accepts (m : (List (Prod Nat Nat))) (bonus : Nat) (__h : _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.accepts m bonus) : _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.denoteEntry m bonus = _root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.denote m bonus) := by - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.accepts at __h - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.denoteEntry _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.entryFits _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.entryValue _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.denote - simp only [_root_.if_true, (__viff_3 m).mpr __h.1] - cases __fits_0 m bonus <;> rfl - -theorem entry_refuses (m : (List (Prod Nat Nat))) (bonus : Nat) (__h : ¬ _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.accepts m bonus) : _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.denoteEntry m bonus = _root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none := by - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.accepts at __h - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.denoteEntry _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.entryFits _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.entryValue - cases __c0 : __valid_3 m - · simp - · exact _root_.absurd ⟨(__viff_3 m).mp __c0, _root_.trivial⟩ __h - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R2/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R2/Compose/RustStd.lean deleted file mode 100644 index 74fd1cf10..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R2/Compose/RustStd.lean +++ /dev/null @@ -1,20 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.Compose.RustStd - -/-- The rendering of the root's entry, invoked on the encoded arguments, -realizes the encoded source result when the arguments satisfy §17.12's -invariants, and refuses them with `none` otherwise. -/ -theorem root (m : (List (Prod Nat Nat))) (bonus : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) m), (_root_.LexLeanTarget.TargetSyntax.Value.nat bonus)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 5) [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) m), (_root_.LexLeanTarget.TargetSyntax.Value.nat bonus)] __e_ro ∧ - (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.accepts m bonus → _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.denote m bonus)) __e_ro) ∧ - (¬ _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.accepts m bonus → _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none) __e_ro) := - match _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.RustStd.root __e_n 5) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_nat _root_.LexLeanPreservation.Rust.wt_nat)) m) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat bonus) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.entry m bonus) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) with - | ⟨__e_ro, __e_hr, __e_hc⟩ => ⟨__e_ro, __e_hc, fun __e_h => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.entry_accepts m bonus __e_h ▸ __e_hr, fun __e_h => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.entry_refuses m bonus __e_h ▸ __e_hr⟩ - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R2/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R2/RustStd.lean deleted file mode 100644 index 9dcc19000..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R2/RustStd.lean +++ /dev/null @@ -1,75 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [(.list (.pair .nat .nat)), .nat], result := .nat, - body := (.call 1 [(.closure 2 [(.var 1)]), (.value .nat (.nat 0)), (.var 0)]) }, - { parameters := [0, 1, 2], types := [(.fn [.nat, .nat, .nat] .nat), .nat, (.list (.pair .nat .nat))], result := .nat, - body := (.«match» .nat (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 1 [(.var 0), (.apply (.var 0) [(.var 1), (.first (.var 3)), (.second (.var 3))]), (.var 4)]))]) }, - { parameters := [0, 1, 2, 3], types := [.nat, .nat, .nat, .nat], result := .nat, - body := (.prim .natAdd [(.prim .natAdd [(.var 1), (.var 2)]), (.prim .natAdd [(.var 3), (.var 0)])]) }, - { parameters := [0], types := [(.list (.pair .nat .nat))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 4 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 3 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, - { parameters := [0], types := [.nat], result := .bool, - body := (.build .true .bool []) }, - { parameters := [0, 1], types := [(.list (.pair .nat .nat)), .nat], result := (.option .nat), - body := (.cond (.call 3 [(.var 0)]) (.build .some (.option .nat) [(.call 0 [(.var 0), (.var 1)])]) (.build .none (.option .nat) [])) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.enum (.fn 0) [{ number := 2, fields := [.nat] }]), - (.apply 0 [.nat, .nat, .nat] .nat true [{ function := 2, captures := [.copy], functionFallible := true }]), - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat .nat)) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [] (.call (.function 1) [(.construct (.closure 0 2) [(.copy (.generated .binding 1))]), (.lit (.nat 0)), (.move (.generated .binding 0))] false))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := (.list (.pair .nat .nat)) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 1)) [(.mk .none (.mk [] (.succeed (.copy (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 1) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 1)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 3)))), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 4))]) none (.copy (.generated .binding 3)))] (.move (.generated .part 4))))] true))), (.move (.generated .binding 4))] false)))]))), - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := .nat }, { pattern := (.bind (.generated .binding 3)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 2)))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)))), (.mk (.bind (.generated .operand 10)) none (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] true))))] (.call (.runtime .natAdd) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))), - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat .nat)) }] .bool (.mk [(.mk (.bind (.generated .holder 11)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 11)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 4) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 12))))] false) (.mk [(.mk (.bind (.generated .holder 13)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 13)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 14))))), (.mk (.bind (.generated .operand 17)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 15)))))] (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))] (.cond (.matchOn (.move (.generated .holder 18)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 3) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]))), - (.function (.generated .function 4) [{ pattern := .wild, type := .nat }] .bool (.mk [] (.lit (.bool true)))), - (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat .nat)) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.option .nat)) (.mk [] (.cond (.call (.function 3) [(.clone (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] true)]))) (.mk [] (.succeed (.construct (.none .nat) []))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [(([.nat, .nat, .nat], .nat), true)] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.construct (.closure 0 2) [(.copy (.generated .binding 1))]), (.lit (.nat 0)), (.move (.generated .binding 0))] false), [(1, .nat, (some 1)), (0, (.list (.pair .nat .nat)), (some 0))], rfl, rfl, - (Corr.callF (ts := [(.fn [.nat, .nat, .nat] .nat), .nat, (.list (.pair .nat .nat))]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [.nat]) (mask := [false]) (af := true) (ff := true) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 1)) [(.mk .none (.mk [] (.succeed (.copy (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 1) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 1)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 3)))), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 4))]) none (.copy (.generated .binding 3)))] (.move (.generated .part 4))))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list (.pair .nat .nat)), (some 2)), (1, .nat, (some 1)), (0, (.fn [.nat, .nat, .nat] .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair .nat .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.pair .nat .nat)), (some 2)), (1, .nat, (some 1)), (0, (.fn [.nat, .nat, .nat] .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.copy (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list (.pair .nat .nat)), (some 4)), (3, (.pair .nat .nat), (some 3)), (2, (.list (.pair .nat .nat)), (some 2)), (1, .nat, (some 1)), (0, (.fn [.nat, .nat, .nat] .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 1) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 1)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 3)))), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 4))]) none (.copy (.generated .binding 3)))] (.move (.generated .part 4))))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [.nat, .nat, .nat] .nat), .nat, (.list (.pair .nat .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 2) [(.copy (.generated .binding 1)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 3)))), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 4))]) none (.copy (.generated .binding 3)))] (.move (.generated .part 4))))] true)) (Corr.apply (ps := [.nat, .nat, .nat]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.copy (.generated .binding 3)))]) (tail := (.move (.generated .part 3))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 4))]) none (.copy (.generated .binding 3)))]) (tail := (.move (.generated .part 4))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 2)))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)))), (.mk (.bind (.generated .operand 10)) none (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] true))))], (.call (.runtime .natAdd) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false), [(3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 11)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 11)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 4) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 12))))] false) (.mk [(.mk (.bind (.generated .holder 13)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 13)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 14))))), (.mk (.bind (.generated .operand 17)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 15)))))] (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))] (.cond (.matchOn (.move (.generated .holder 18)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 3) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.pair .nat .nat)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair .nat .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair .nat .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.pair .nat .nat)), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 4) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 12))))] false) (.mk [(.mk (.bind (.generated .holder 13)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 13)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 14))))), (.mk (.bind (.generated .operand 17)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 15)))))] (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))] (.cond (.matchOn (.move (.generated .holder 18)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 3) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 4) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 12))))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 12))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .holder 13)) none (.clone (.generated .binding 2)))]) (ta := (.matchOn (.uncons (.generated .holder 13)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 14))))), (.mk (.bind (.generated .operand 17)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 15)))))] (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))] (.cond (.matchOn (.move (.generated .holder 18)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 3) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (lb := []) (tb := (.lit (.bool false))) (Corr.matchArms (st := (.list (.pair .nat .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.pair .nat .nat)), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .nat .nat)), none), (3, (.pair .nat .nat), (some 3)), (2, (.list (.pair .nat .nat)), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 14))))), (.mk (.bind (.generated .operand 17)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 15)))))] (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 18)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 3) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 14))))), (.mk (.bind (.generated .operand 17)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 15)))))] (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))]) (ce := (.matchOn (.move (.generated .holder 18)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 14))))), (.mk (.bind (.generated .operand 17)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 15)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 14))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.copy (.generated .binding 3)))]) (tail := (.move (.generated .part 15))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.pair .nat .nat)), none), (3, (.pair .nat .nat), (some 3)), (2, (.list (.pair .nat .nat)), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .nat .nat)), none), (3, (.pair .nat .nat), (some 3)), (2, (.list (.pair .nat .nat)), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list (.pair .nat .nat)), none), (3, (.pair .nat .nat), (some 3)), (2, (.list (.pair .nat .nat)), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 3) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.pair .nat .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun4 : FunOK program krate flags 4 := - ⟨_, rfl, .inl ⟨_, _, [], (.lit (.bool true)), [(0, .nat, none)], rfl, rfl, - (Corr.bOfE (Corr.buildConst rfl))⟩⟩ - -theorem fun5 : FunOK program krate flags 5 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 3) [(.clone (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] true)]))) (.mk [] (.succeed (.construct (.none .nat) [])))), [(1, .nat, (some 1)), (0, (.list (.pair .nat .nat)), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 3) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair .nat .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] true)]))) (lb := []) (tb := (.succeed (.construct (.none .nat) []))) (Corr.fOfB (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat .nat)), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | 4 => exact fun4 - | 5 => exact fun5 - | _ + 6 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R20/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R20/Compose/RustCore.lean deleted file mode 100644 index 8e8f0cb47..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R20/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustCore -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustCore - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (n : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.denote n) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat n) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.root n) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R20/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R20/Compose/RustStd.lean deleted file mode 100644 index 1640e4283..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R20/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustStd - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (n : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.denote n) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat n) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.root n) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R20/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R20/RustCore.lean deleted file mode 100644 index 8d0de962f..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R20/RustCore.lean +++ /dev/null @@ -1,49 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustCore -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0], types := [.nat], result := .bool, - body := (.call 1 [(.var 0)]) }, - { parameters := [0], types := [.nat], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .zero [] (.build .false .bool [])), (.arm .succ [1] (.call 2 [(.var 1)]))]) }, - { parameters := [0], types := [.nat], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .zero [] (.build .true .bool [])), (.arm .succ [1] (.call 1 [(.var 1)]))]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .core, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .bool (.mk [] (.call (.function 1) [(.copy (.generated .binding 0))] false))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .holder 1)) none (.copy (.generated .binding 0)))] (.cond (.isZero (.generated .holder 1)) (.mk [] (.lit (.bool false))) (.mk [(.mk (.bind (.generated .binding 1)) none (.predecessor (.generated .holder 1)))] (.call (.function 2) [(.copy (.generated .binding 1))] false))))), - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .holder 2)) none (.copy (.generated .binding 0)))] (.cond (.isZero (.generated .holder 2)) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .binding 1)) none (.predecessor (.generated .holder 2)))] (.call (.function 1) [(.copy (.generated .binding 1))] false)))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.copy (.generated .binding 0))] false), [(0, .nat, (some 0))], rfl, rfl, - (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.copy (.generated .binding 0)))], (.cond (.isZero (.generated .holder 1)) (.mk [] (.lit (.bool false))) (.mk [(.mk (.bind (.generated .binding 1)) none (.predecessor (.generated .holder 1)))] (.call (.function 2) [(.copy (.generated .binding 1))] false))), [(0, .nat, (some 0))], rfl, rfl, - (Corr.matchNat (sl := (some 1)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.lit (.bool false))) (lb := []) (tb := (.call (.function 2) [(.copy (.generated .binding 1))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)))⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 2)) none (.copy (.generated .binding 0)))], (.cond (.isZero (.generated .holder 2)) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .binding 1)) none (.predecessor (.generated .holder 2)))] (.call (.function 1) [(.copy (.generated .binding 1))] false))), [(0, .nat, (some 0))], rfl, rfl, - (Corr.matchNat (sl := (some 1)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := []) (tb := (.call (.function 1) [(.copy (.generated .binding 1))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | _ + 3 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R20/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R20/RustStd.lean deleted file mode 100644 index 76af01458..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R20/RustStd.lean +++ /dev/null @@ -1,49 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0], types := [.nat], result := .bool, - body := (.call 1 [(.var 0)]) }, - { parameters := [0], types := [.nat], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .zero [] (.build .false .bool [])), (.arm .succ [1] (.call 2 [(.var 1)]))]) }, - { parameters := [0], types := [.nat], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .zero [] (.build .true .bool [])), (.arm .succ [1] (.call 1 [(.var 1)]))]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .bool (.mk [] (.call (.function 1) [(.copy (.generated .binding 0))] false))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .holder 1)) none (.copy (.generated .binding 0)))] (.cond (.isZero (.generated .holder 1)) (.mk [] (.lit (.bool false))) (.mk [(.mk (.bind (.generated .binding 1)) none (.predecessor (.generated .holder 1)))] (.call (.function 2) [(.copy (.generated .binding 1))] false))))), - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .holder 2)) none (.copy (.generated .binding 0)))] (.cond (.isZero (.generated .holder 2)) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .binding 1)) none (.predecessor (.generated .holder 2)))] (.call (.function 1) [(.copy (.generated .binding 1))] false)))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.copy (.generated .binding 0))] false), [(0, .nat, (some 0))], rfl, rfl, - (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.copy (.generated .binding 0)))], (.cond (.isZero (.generated .holder 1)) (.mk [] (.lit (.bool false))) (.mk [(.mk (.bind (.generated .binding 1)) none (.predecessor (.generated .holder 1)))] (.call (.function 2) [(.copy (.generated .binding 1))] false))), [(0, .nat, (some 0))], rfl, rfl, - (Corr.matchNat (sl := (some 1)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.lit (.bool false))) (lb := []) (tb := (.call (.function 2) [(.copy (.generated .binding 1))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)))⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 2)) none (.copy (.generated .binding 0)))], (.cond (.isZero (.generated .holder 2)) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .binding 1)) none (.predecessor (.generated .holder 2)))] (.call (.function 1) [(.copy (.generated .binding 1))] false))), [(0, .nat, (some 0))], rfl, rfl, - (Corr.matchNat (sl := (some 1)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := []) (tb := (.call (.function 1) [(.copy (.generated .binding 1))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | _ + 3 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R21/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R21/Compose/RustCore.lean deleted file mode 100644 index bea61fad7..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R21/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustCore -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustCore - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (a : Int8) (b : Int8) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.i8 a), (_root_.LexLeanTarget.TargetSyntax.Value.i8 b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.i8 a), (_root_.LexLeanTarget.TargetSyntax.Value.i8 b)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i8 a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i8 b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R21/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R21/Compose/RustStd.lean deleted file mode 100644 index 85cfe6c08..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R21/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustStd - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (a : Int8) (b : Int8) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.i8 a), (_root_.LexLeanTarget.TargetSyntax.Value.i8 b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.i8 a), (_root_.LexLeanTarget.TargetSyntax.Value.i8 b)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i8 a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i8 b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R21/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R21/RustCore.lean deleted file mode 100644 index 9f507ea0c..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R21/RustCore.lean +++ /dev/null @@ -1,33 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustCore -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [(.fixed .i8), (.fixed .i8)], result := (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.option (.fixed .i8)))))), - body := (.build .pair (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.option (.fixed .i8)))))) [(.prim .checkedAdd [(.var 0), (.var 1)]), (.build .pair (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.option (.fixed .i8))))) [(.prim .checkedSub [(.var 0), (.var 1)]), (.build .pair (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.option (.fixed .i8)))) [(.prim .checkedMul [(.var 0), (.var 1)]), (.build .pair (.pair (.option (.fixed .i8)) (.option (.fixed .i8))) [(.prim .checkedQuot [(.var 0), (.var 1)]), (.prim .checkedNeg [(.var 0)])])])])]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .core, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.fixed .i8) }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .i8) }] (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.option (.fixed .i8)))))) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedAdd .i8)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedSub .i8)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedMul .i8)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedQuot .i8)) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false))) (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0)))] (.call (.runtime (.checkedNeg .i8)) [(.move (.generated .operand 9))] false)))))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedAdd .i8)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedSub .i8)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedMul .i8)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedQuot .i8)) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false))) (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0)))] (.call (.runtime (.checkedNeg .i8)) [(.move (.generated .operand 9))] false))))))), [(1, (.fixed .i8), (some 1)), (0, (.fixed .i8), (some 0))], rfl, rfl, - (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedAdd .i8)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (Corr.prim (ts := [(.fixed .i8), (.fixed .i8)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedSub .i8)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [(.fixed .i8), (.fixed .i8)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedMul .i8)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false)) (Corr.prim (ts := [(.fixed .i8), (.fixed .i8)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedQuot .i8)) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false)) (Corr.prim (ts := [(.fixed .i8), (.fixed .i8)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime (.checkedNeg .i8)) [(.move (.generated .operand 9))] false)) (Corr.prim (ts := [(.fixed .i8)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | _ + 1 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R21/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R21/RustStd.lean deleted file mode 100644 index 57898ff0e..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R21/RustStd.lean +++ /dev/null @@ -1,33 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [(.fixed .i8), (.fixed .i8)], result := (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.option (.fixed .i8)))))), - body := (.build .pair (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.option (.fixed .i8)))))) [(.prim .checkedAdd [(.var 0), (.var 1)]), (.build .pair (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.option (.fixed .i8))))) [(.prim .checkedSub [(.var 0), (.var 1)]), (.build .pair (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.option (.fixed .i8)))) [(.prim .checkedMul [(.var 0), (.var 1)]), (.build .pair (.pair (.option (.fixed .i8)) (.option (.fixed .i8))) [(.prim .checkedQuot [(.var 0), (.var 1)]), (.prim .checkedNeg [(.var 0)])])])])]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.fixed .i8) }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .i8) }] (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.option (.fixed .i8)))))) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedAdd .i8)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedSub .i8)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedMul .i8)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedQuot .i8)) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false))) (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0)))] (.call (.runtime (.checkedNeg .i8)) [(.move (.generated .operand 9))] false)))))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedAdd .i8)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedSub .i8)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedMul .i8)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedQuot .i8)) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false))) (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0)))] (.call (.runtime (.checkedNeg .i8)) [(.move (.generated .operand 9))] false))))))), [(1, (.fixed .i8), (some 1)), (0, (.fixed .i8), (some 0))], rfl, rfl, - (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedAdd .i8)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (Corr.prim (ts := [(.fixed .i8), (.fixed .i8)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedSub .i8)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [(.fixed .i8), (.fixed .i8)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedMul .i8)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false)) (Corr.prim (ts := [(.fixed .i8), (.fixed .i8)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedQuot .i8)) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false)) (Corr.prim (ts := [(.fixed .i8), (.fixed .i8)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime (.checkedNeg .i8)) [(.move (.generated .operand 9))] false)) (Corr.prim (ts := [(.fixed .i8)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | _ + 1 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R22/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R22/Compose/RustCore.lean deleted file mode 100644 index 2b88c0834..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R22/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustCore -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustCore - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (a : Int16) (b : Int32) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.i16 a), (_root_.LexLeanTarget.TargetSyntax.Value.i32 b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.i16 a), (_root_.LexLeanTarget.TargetSyntax.Value.i32 b)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i16 a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i32 b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R22/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R22/Compose/RustStd.lean deleted file mode 100644 index 3fb5710b8..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R22/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustStd - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (a : Int16) (b : Int32) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.i16 a), (_root_.LexLeanTarget.TargetSyntax.Value.i32 b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.i16 a), (_root_.LexLeanTarget.TargetSyntax.Value.i32 b)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i16 a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i32 b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R22/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R22/RustCore.lean deleted file mode 100644 index 922a011b6..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R22/RustCore.lean +++ /dev/null @@ -1,33 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustCore -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [(.fixed .i16), (.fixed .i32)], result := (.pair (.option (.fixed .i16)) (.pair (.option (.fixed .i32)) (.pair (.option (.fixed .i32)) .bool))), - body := (.build .pair (.pair (.option (.fixed .i16)) (.pair (.option (.fixed .i32)) (.pair (.option (.fixed .i32)) .bool))) [(.prim .checkedMul [(.var 0), (.var 0)]), (.build .pair (.pair (.option (.fixed .i32)) (.pair (.option (.fixed .i32)) .bool)) [(.prim .checkedAdd [(.var 1), (.value (.fixed .i32) (.i32 (-7)))]), (.build .pair (.pair (.option (.fixed .i32)) .bool) [(.prim (.convert .i32) [(.var 0)]), (.prim .equal [(.var 1), (.value (.fixed .i32) (.i32 3))])])])]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .core, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.fixed .i16) }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .i32) }] (.pair (.option (.fixed .i16)) (.pair (.option (.fixed .i32)) (.pair (.option (.fixed .i32)) .bool))) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 0)))] (.call (.runtime (.checkedMul .i16)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.lit (.fixed .i32 (-7))))] (.call (.runtime (.checkedAdd .i32)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0)))] (.call (.runtime (.convert .i32)) [(.widen (.move (.generated .operand 5)))] false))) (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.lit (.fixed .i32 3)))] (.call (.runtime .equal) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false))))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 0)))] (.call (.runtime (.checkedMul .i16)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.lit (.fixed .i32 (-7))))] (.call (.runtime (.checkedAdd .i32)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0)))] (.call (.runtime (.convert .i32)) [(.widen (.move (.generated .operand 5)))] false))) (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.lit (.fixed .i32 3)))] (.call (.runtime .equal) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false)))))), [(1, (.fixed .i32), (some 1)), (0, (.fixed .i16), (some 0))], rfl, rfl, - (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime (.checkedMul .i16)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (Corr.prim (ts := [(.fixed .i16), (.fixed .i16)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.lit (.fixed .i32 (-7))))]) (tail := (.call (.runtime (.checkedAdd .i32)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [(.fixed .i32), (.fixed .i32)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime (.convert .i32)) [(.widen (.move (.generated .operand 5)))] false)) (Corr.primWiden (t0 := (.fixed .i16)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.lit (.fixed .i32 3)))]) (tail := (.call (.runtime .equal) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false)) (Corr.prim (ts := [(.fixed .i32), (.fixed .i32)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | _ + 1 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R22/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R22/RustStd.lean deleted file mode 100644 index d8d79f51c..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R22/RustStd.lean +++ /dev/null @@ -1,33 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [(.fixed .i16), (.fixed .i32)], result := (.pair (.option (.fixed .i16)) (.pair (.option (.fixed .i32)) (.pair (.option (.fixed .i32)) .bool))), - body := (.build .pair (.pair (.option (.fixed .i16)) (.pair (.option (.fixed .i32)) (.pair (.option (.fixed .i32)) .bool))) [(.prim .checkedMul [(.var 0), (.var 0)]), (.build .pair (.pair (.option (.fixed .i32)) (.pair (.option (.fixed .i32)) .bool)) [(.prim .checkedAdd [(.var 1), (.value (.fixed .i32) (.i32 (-7)))]), (.build .pair (.pair (.option (.fixed .i32)) .bool) [(.prim (.convert .i32) [(.var 0)]), (.prim .equal [(.var 1), (.value (.fixed .i32) (.i32 3))])])])]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.fixed .i16) }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .i32) }] (.pair (.option (.fixed .i16)) (.pair (.option (.fixed .i32)) (.pair (.option (.fixed .i32)) .bool))) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 0)))] (.call (.runtime (.checkedMul .i16)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.lit (.fixed .i32 (-7))))] (.call (.runtime (.checkedAdd .i32)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0)))] (.call (.runtime (.convert .i32)) [(.widen (.move (.generated .operand 5)))] false))) (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.lit (.fixed .i32 3)))] (.call (.runtime .equal) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false))))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 0)))] (.call (.runtime (.checkedMul .i16)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.lit (.fixed .i32 (-7))))] (.call (.runtime (.checkedAdd .i32)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0)))] (.call (.runtime (.convert .i32)) [(.widen (.move (.generated .operand 5)))] false))) (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.lit (.fixed .i32 3)))] (.call (.runtime .equal) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false)))))), [(1, (.fixed .i32), (some 1)), (0, (.fixed .i16), (some 0))], rfl, rfl, - (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime (.checkedMul .i16)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (Corr.prim (ts := [(.fixed .i16), (.fixed .i16)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.lit (.fixed .i32 (-7))))]) (tail := (.call (.runtime (.checkedAdd .i32)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [(.fixed .i32), (.fixed .i32)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime (.convert .i32)) [(.widen (.move (.generated .operand 5)))] false)) (Corr.primWiden (t0 := (.fixed .i16)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.lit (.fixed .i32 3)))]) (tail := (.call (.runtime .equal) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false)) (Corr.prim (ts := [(.fixed .i32), (.fixed .i32)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | _ + 1 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R23/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R23/Compose/RustCore.lean deleted file mode 100644 index eef237f70..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R23/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustCore -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustCore - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (a : Int64) (b : Int64) (c : UInt64) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.i64 a), (_root_.LexLeanTarget.TargetSyntax.Value.i64 b), (_root_.LexLeanTarget.TargetSyntax.Value.u64 c)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.denote a b c) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.i64 a), (_root_.LexLeanTarget.TargetSyntax.Value.i64 b), (_root_.LexLeanTarget.TargetSyntax.Value.u64 c)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i64 a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i64 b) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_u64 c) _root_.LexLeanPreservation.Rust.wtl_nil))) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.root a b c) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R23/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R23/Compose/RustStd.lean deleted file mode 100644 index b23bcf815..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R23/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustStd - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (a : Int64) (b : Int64) (c : UInt64) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.i64 a), (_root_.LexLeanTarget.TargetSyntax.Value.i64 b), (_root_.LexLeanTarget.TargetSyntax.Value.u64 c)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.denote a b c) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.i64 a), (_root_.LexLeanTarget.TargetSyntax.Value.i64 b), (_root_.LexLeanTarget.TargetSyntax.Value.u64 c)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i64 a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i64 b) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_u64 c) _root_.LexLeanPreservation.Rust.wtl_nil))) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.root a b c) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R23/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R23/RustCore.lean deleted file mode 100644 index 89f2a5376..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R23/RustCore.lean +++ /dev/null @@ -1,33 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustCore -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1, 2], types := [(.fixed .i64), (.fixed .i64), (.fixed .u64)], result := (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.option (.fixed .u64))))))), - body := (.build .pair (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.option (.fixed .u64))))))) [(.prim .checkedAdd [(.var 0), (.var 1)]), (.build .pair (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.option (.fixed .u64)))))) [(.prim .checkedSub [(.var 0), (.var 1)]), (.build .pair (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.option (.fixed .u64))))) [(.prim .checkedMul [(.var 0), (.var 1)]), (.build .pair (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.option (.fixed .u64)))) [(.prim .checkedQuot [(.var 0), (.var 1)]), (.build .pair (.pair (.option (.fixed .i64)) (.option (.fixed .u64))) [(.prim .checkedNeg [(.var 0)]), (.prim .checkedAdd [(.var 2), (.value (.fixed .u64) (.u64 1))])])])])])]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .core, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.fixed .i64) }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .i64) }, { pattern := (.bind (.generated .binding 2)), type := (.fixed .u64) }] (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.option (.fixed .u64))))))) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedAdd .i64)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedSub .i64)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedMul .i64)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedQuot .i64)) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0)))] (.call (.runtime (.checkedNeg .i64)) [(.move (.generated .operand 9))] false))) (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.lit (.fixed .u64 1)))] (.call (.runtime (.checkedAdd .u64)) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false))))))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedAdd .i64)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedSub .i64)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedMul .i64)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedQuot .i64)) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0)))] (.call (.runtime (.checkedNeg .i64)) [(.move (.generated .operand 9))] false))) (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.lit (.fixed .u64 1)))] (.call (.runtime (.checkedAdd .u64)) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false)))))))), [(2, (.fixed .u64), (some 2)), (1, (.fixed .i64), (some 1)), (0, (.fixed .i64), (some 0))], rfl, rfl, - (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedAdd .i64)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (Corr.prim (ts := [(.fixed .i64), (.fixed .i64)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedSub .i64)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [(.fixed .i64), (.fixed .i64)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedMul .i64)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false)) (Corr.prim (ts := [(.fixed .i64), (.fixed .i64)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedQuot .i64)) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false)) (Corr.prim (ts := [(.fixed .i64), (.fixed .i64)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime (.checkedNeg .i64)) [(.move (.generated .operand 9))] false)) (Corr.prim (ts := [(.fixed .i64)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.lit (.fixed .u64 1)))]) (tail := (.call (.runtime (.checkedAdd .u64)) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false)) (Corr.prim (ts := [(.fixed .u64), (.fixed .u64)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | _ + 1 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R23/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R23/RustStd.lean deleted file mode 100644 index ddbd1de30..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R23/RustStd.lean +++ /dev/null @@ -1,33 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1, 2], types := [(.fixed .i64), (.fixed .i64), (.fixed .u64)], result := (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.option (.fixed .u64))))))), - body := (.build .pair (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.option (.fixed .u64))))))) [(.prim .checkedAdd [(.var 0), (.var 1)]), (.build .pair (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.option (.fixed .u64)))))) [(.prim .checkedSub [(.var 0), (.var 1)]), (.build .pair (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.option (.fixed .u64))))) [(.prim .checkedMul [(.var 0), (.var 1)]), (.build .pair (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.option (.fixed .u64)))) [(.prim .checkedQuot [(.var 0), (.var 1)]), (.build .pair (.pair (.option (.fixed .i64)) (.option (.fixed .u64))) [(.prim .checkedNeg [(.var 0)]), (.prim .checkedAdd [(.var 2), (.value (.fixed .u64) (.u64 1))])])])])])]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.fixed .i64) }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .i64) }, { pattern := (.bind (.generated .binding 2)), type := (.fixed .u64) }] (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.option (.fixed .u64))))))) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedAdd .i64)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedSub .i64)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedMul .i64)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedQuot .i64)) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0)))] (.call (.runtime (.checkedNeg .i64)) [(.move (.generated .operand 9))] false))) (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.lit (.fixed .u64 1)))] (.call (.runtime (.checkedAdd .u64)) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false))))))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedAdd .i64)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedSub .i64)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedMul .i64)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedQuot .i64)) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0)))] (.call (.runtime (.checkedNeg .i64)) [(.move (.generated .operand 9))] false))) (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.lit (.fixed .u64 1)))] (.call (.runtime (.checkedAdd .u64)) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false)))))))), [(2, (.fixed .u64), (some 2)), (1, (.fixed .i64), (some 1)), (0, (.fixed .i64), (some 0))], rfl, rfl, - (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedAdd .i64)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (Corr.prim (ts := [(.fixed .i64), (.fixed .i64)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedSub .i64)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [(.fixed .i64), (.fixed .i64)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedMul .i64)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false)) (Corr.prim (ts := [(.fixed .i64), (.fixed .i64)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedQuot .i64)) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false)) (Corr.prim (ts := [(.fixed .i64), (.fixed .i64)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime (.checkedNeg .i64)) [(.move (.generated .operand 9))] false)) (Corr.prim (ts := [(.fixed .i64)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.lit (.fixed .u64 1)))]) (tail := (.call (.runtime (.checkedAdd .u64)) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false)) (Corr.prim (ts := [(.fixed .u64), (.fixed .u64)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | _ + 1 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R24/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R24/Compose/RustCore.lean deleted file mode 100644 index fb1872274..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R24/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustCore -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustCore - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (a : UInt16) (b : UInt16) (s : UInt32) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.u16 a), (_root_.LexLeanTarget.TargetSyntax.Value.u16 b), (_root_.LexLeanTarget.TargetSyntax.Value.u32 s)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.denote a b s) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.u16 a), (_root_.LexLeanTarget.TargetSyntax.Value.u16 b), (_root_.LexLeanTarget.TargetSyntax.Value.u32 s)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_u16 a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_u16 b) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_u32 s) _root_.LexLeanPreservation.Rust.wtl_nil))) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.root a b s) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R24/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R24/Compose/RustStd.lean deleted file mode 100644 index 5645eaaa2..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R24/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustStd - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (a : UInt16) (b : UInt16) (s : UInt32) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.u16 a), (_root_.LexLeanTarget.TargetSyntax.Value.u16 b), (_root_.LexLeanTarget.TargetSyntax.Value.u32 s)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.denote a b s) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.u16 a), (_root_.LexLeanTarget.TargetSyntax.Value.u16 b), (_root_.LexLeanTarget.TargetSyntax.Value.u32 s)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_u16 a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_u16 b) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_u32 s) _root_.LexLeanPreservation.Rust.wtl_nil))) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.root a b s) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R24/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R24/RustCore.lean deleted file mode 100644 index cd4c51a09..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R24/RustCore.lean +++ /dev/null @@ -1,33 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustCore -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1, 2], types := [(.fixed .u16), (.fixed .u16), (.fixed .u32)], result := (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.option (.fixed .u16)) (.pair (.option (.fixed .u16)) .bool)))))), - body := (.build .pair (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.option (.fixed .u16)) (.pair (.option (.fixed .u16)) .bool)))))) [(.prim .bitAnd [(.var 0), (.var 1)]), (.build .pair (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.option (.fixed .u16)) (.pair (.option (.fixed .u16)) .bool))))) [(.prim .bitOr [(.var 0), (.var 1)]), (.build .pair (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.option (.fixed .u16)) (.pair (.option (.fixed .u16)) .bool)))) [(.prim .bitXor [(.var 0), (.var 1)]), (.build .pair (.pair (.fixed .u16) (.pair (.option (.fixed .u16)) (.pair (.option (.fixed .u16)) .bool))) [(.prim .bitNot [(.var 0)]), (.build .pair (.pair (.option (.fixed .u16)) (.pair (.option (.fixed .u16)) .bool)) [(.prim .shiftLeft [(.var 0), (.var 2)]), (.build .pair (.pair (.option (.fixed .u16)) .bool) [(.prim .shiftRight [(.var 0), (.value (.fixed .u32) (.u32 3))]), (.prim .equal [(.var 0), (.var 1)])])])])])])]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .core, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.fixed .u16) }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .u16) }, { pattern := (.bind (.generated .binding 2)), type := (.fixed .u32) }] (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.option (.fixed .u16)) (.pair (.option (.fixed .u16)) .bool)))))) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.bitAnd .u16)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))] (.call (.runtime (.bitOr .u16)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))] (.call (.runtime (.bitXor .u16)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0)))] (.call (.runtime (.bitNot .u16)) [(.move (.generated .operand 7))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 2)))] (.call (.runtime (.shiftLeft .u16)) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.lit (.fixed .u32 3)))] (.call (.runtime (.shiftRight .u16)) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false))) (.block (.mk [(.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))] (.call (.runtime .equal) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false)))))))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.bitAnd .u16)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))] (.call (.runtime (.bitOr .u16)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))] (.call (.runtime (.bitXor .u16)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0)))] (.call (.runtime (.bitNot .u16)) [(.move (.generated .operand 7))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 2)))] (.call (.runtime (.shiftLeft .u16)) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.lit (.fixed .u32 3)))] (.call (.runtime (.shiftRight .u16)) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false))) (.block (.mk [(.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))] (.call (.runtime .equal) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false))))))))), [(2, (.fixed .u32), (some 2)), (1, (.fixed .u16), (some 1)), (0, (.fixed .u16), (some 0))], rfl, rfl, - (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.bitAnd .u16)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (Corr.prim (ts := [(.fixed .u16), (.fixed .u16)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.bitOr .u16)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [(.fixed .u16), (.fixed .u16)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.bitXor .u16)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false)) (Corr.prim (ts := [(.fixed .u16), (.fixed .u16)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime (.bitNot .u16)) [(.move (.generated .operand 7))] false)) (Corr.prim (ts := [(.fixed .u16)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime (.shiftLeft .u16)) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false)) (Corr.prim (ts := [(.fixed .u16), (.fixed .u32)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.lit (.fixed .u32 3)))]) (tail := (.call (.runtime (.shiftRight .u16)) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false)) (Corr.prim (ts := [(.fixed .u16), (.fixed .u32)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .equal) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false)) (Corr.prim (ts := [(.fixed .u16), (.fixed .u16)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | _ + 1 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R24/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R24/RustStd.lean deleted file mode 100644 index c074606da..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R24/RustStd.lean +++ /dev/null @@ -1,33 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1, 2], types := [(.fixed .u16), (.fixed .u16), (.fixed .u32)], result := (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.option (.fixed .u16)) (.pair (.option (.fixed .u16)) .bool)))))), - body := (.build .pair (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.option (.fixed .u16)) (.pair (.option (.fixed .u16)) .bool)))))) [(.prim .bitAnd [(.var 0), (.var 1)]), (.build .pair (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.option (.fixed .u16)) (.pair (.option (.fixed .u16)) .bool))))) [(.prim .bitOr [(.var 0), (.var 1)]), (.build .pair (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.option (.fixed .u16)) (.pair (.option (.fixed .u16)) .bool)))) [(.prim .bitXor [(.var 0), (.var 1)]), (.build .pair (.pair (.fixed .u16) (.pair (.option (.fixed .u16)) (.pair (.option (.fixed .u16)) .bool))) [(.prim .bitNot [(.var 0)]), (.build .pair (.pair (.option (.fixed .u16)) (.pair (.option (.fixed .u16)) .bool)) [(.prim .shiftLeft [(.var 0), (.var 2)]), (.build .pair (.pair (.option (.fixed .u16)) .bool) [(.prim .shiftRight [(.var 0), (.value (.fixed .u32) (.u32 3))]), (.prim .equal [(.var 0), (.var 1)])])])])])])]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.fixed .u16) }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .u16) }, { pattern := (.bind (.generated .binding 2)), type := (.fixed .u32) }] (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.option (.fixed .u16)) (.pair (.option (.fixed .u16)) .bool)))))) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.bitAnd .u16)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))] (.call (.runtime (.bitOr .u16)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))] (.call (.runtime (.bitXor .u16)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0)))] (.call (.runtime (.bitNot .u16)) [(.move (.generated .operand 7))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 2)))] (.call (.runtime (.shiftLeft .u16)) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.lit (.fixed .u32 3)))] (.call (.runtime (.shiftRight .u16)) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false))) (.block (.mk [(.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))] (.call (.runtime .equal) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false)))))))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.bitAnd .u16)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))] (.call (.runtime (.bitOr .u16)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))] (.call (.runtime (.bitXor .u16)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0)))] (.call (.runtime (.bitNot .u16)) [(.move (.generated .operand 7))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 2)))] (.call (.runtime (.shiftLeft .u16)) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.lit (.fixed .u32 3)))] (.call (.runtime (.shiftRight .u16)) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false))) (.block (.mk [(.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))] (.call (.runtime .equal) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false))))))))), [(2, (.fixed .u32), (some 2)), (1, (.fixed .u16), (some 1)), (0, (.fixed .u16), (some 0))], rfl, rfl, - (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.bitAnd .u16)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (Corr.prim (ts := [(.fixed .u16), (.fixed .u16)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.bitOr .u16)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [(.fixed .u16), (.fixed .u16)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.bitXor .u16)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false)) (Corr.prim (ts := [(.fixed .u16), (.fixed .u16)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime (.bitNot .u16)) [(.move (.generated .operand 7))] false)) (Corr.prim (ts := [(.fixed .u16)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime (.shiftLeft .u16)) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false)) (Corr.prim (ts := [(.fixed .u16), (.fixed .u32)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.lit (.fixed .u32 3)))]) (tail := (.call (.runtime (.shiftRight .u16)) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false)) (Corr.prim (ts := [(.fixed .u16), (.fixed .u32)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .equal) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false)) (Corr.prim (ts := [(.fixed .u16), (.fixed .u16)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | _ + 1 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R25/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R25/Compose/RustCore.lean deleted file mode 100644 index e648005f1..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R25/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustCore -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustCore - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (a : Int) (b : Int8) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.int a), (_root_.LexLeanTarget.TargetSyntax.Value.i8 b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.int a), (_root_.LexLeanTarget.TargetSyntax.Value.i8 b)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_int a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i8 b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R25/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R25/Compose/RustStd.lean deleted file mode 100644 index a9449052d..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R25/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustStd - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (a : Int) (b : Int8) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.int a), (_root_.LexLeanTarget.TargetSyntax.Value.i8 b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.int a), (_root_.LexLeanTarget.TargetSyntax.Value.i8 b)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_int a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i8 b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R25/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R25/RustCore.lean deleted file mode 100644 index c26136613..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R25/RustCore.lean +++ /dev/null @@ -1,33 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustCore -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [.int, (.fixed .i8)], result := (.pair (.option (.fixed .u16)) (.option (.fixed .i64))), - body := (.build .pair (.pair (.option (.fixed .u16)) (.option (.fixed .i64))) [(.prim (.convert .u16) [(.var 0)]), (.prim (.convert .i64) [(.var 1)])]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .core, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .int }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .i8) }] (.pair (.option (.fixed .u16)) (.option (.fixed .i64))) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0)))] (.call (.runtime (.convert .u16)) [(.widen (.move (.generated .operand 1)))] false))) (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.convert .i64)) [(.widen (.move (.generated .operand 2)))] false))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0)))] (.call (.runtime (.convert .u16)) [(.widen (.move (.generated .operand 1)))] false))) (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.convert .i64)) [(.widen (.move (.generated .operand 2)))] false)))), [(1, (.fixed .i8), (some 1)), (0, .int, (some 0))], rfl, rfl, - (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime (.convert .u16)) [(.widen (.move (.generated .operand 1)))] false)) (Corr.primWiden (t0 := .int) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.convert .i64)) [(.widen (.move (.generated .operand 2)))] false)) (Corr.primWiden (t0 := (.fixed .i8)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl)) (Corr.lNil)))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | _ + 1 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R25/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R25/RustStd.lean deleted file mode 100644 index 11774ff6c..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R25/RustStd.lean +++ /dev/null @@ -1,33 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [.int, (.fixed .i8)], result := (.pair (.option (.fixed .u16)) (.option (.fixed .i64))), - body := (.build .pair (.pair (.option (.fixed .u16)) (.option (.fixed .i64))) [(.prim (.convert .u16) [(.var 0)]), (.prim (.convert .i64) [(.var 1)])]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .int }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .i8) }] (.pair (.option (.fixed .u16)) (.option (.fixed .i64))) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0)))] (.call (.runtime (.convert .u16)) [(.widen (.move (.generated .operand 1)))] false))) (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.convert .i64)) [(.widen (.move (.generated .operand 2)))] false))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0)))] (.call (.runtime (.convert .u16)) [(.widen (.move (.generated .operand 1)))] false))) (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.convert .i64)) [(.widen (.move (.generated .operand 2)))] false)))), [(1, (.fixed .i8), (some 1)), (0, .int, (some 0))], rfl, rfl, - (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime (.convert .u16)) [(.widen (.move (.generated .operand 1)))] false)) (Corr.primWiden (t0 := .int) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.convert .i64)) [(.widen (.move (.generated .operand 2)))] false)) (Corr.primWiden (t0 := (.fixed .i8)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl)) (Corr.lNil)))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | _ + 1 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R26.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R26.lean deleted file mode 100644 index b2f14ecd5..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R26.lean +++ /dev/null @@ -1,40 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Coverage.Boundary -import Coverage.Colls -import Coverage.Main -import Coverage.Prims -import Coverage.RecRoots -import Coverage.Recur -import Coverage.Syntax -import Coverage.Types -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1, 2], types := [(.list .nat), .bytes, .nat], result := (.pair (.list .nat) (.pair .bytes (.pair .nat (.pair (.option .nat) (.pair (.option (.fixed .u8)) (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool)))))))), - body := (.build .pair (.pair (.list .nat) (.pair .bytes (.pair .nat (.pair (.option .nat) (.pair (.option (.fixed .u8)) (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool)))))))) [(.prim .append [(.var 0), (.build .cons (.list .nat) [(.value .nat (.nat 1)), (.build .nil (.list .nat) [])])]), (.build .pair (.pair .bytes (.pair .nat (.pair (.option .nat) (.pair (.option (.fixed .u8)) (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool))))))) [(.prim .append [(.var 1), (.value .bytes (.bytes (ByteArray.mk #[10])))]), (.build .pair (.pair .nat (.pair (.option .nat) (.pair (.option (.fixed .u8)) (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool)))))) [(.prim .natAdd [(.prim .length [(.var 0)]), (.prim .length [(.var 1)])]), (.build .pair (.pair (.option .nat) (.pair (.option (.fixed .u8)) (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool))))) [(.prim .index [(.var 0), (.var 2)]), (.build .pair (.pair (.option (.fixed .u8)) (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool)))) [(.prim .index [(.var 1), (.var 2)]), (.build .pair (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool))) [(.prim .slice [(.var 0), (.var 2), (.value .nat (.nat 2))]), (.build .pair (.pair (.option .bytes) (.pair .bool .bool)) [(.prim .slice [(.var 1), (.value .nat (.nat 0)), (.var 2)]), (.build .pair (.pair .bool .bool) [(.prim .equal [(.var 1), (.value .bytes (.bytes (ByteArray.mk #[])))]), (.prim .equal [(.prim .equal [(.var 2), (.value .nat (.nat 3))]), (.build .true .bool [])])])])])])])])])]) }] } - -def __fits_0 (xs : (List Nat)) (b : ByteArray) (i : Nat) : Bool := - ((((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((((Bool.true && Bool.true) && (Nat.blt (Coverage.Prims.LexLeanRuntime.length (xs) : Nat) 18446744073709551616)) && (((Bool.true && Bool.true) && (Nat.blt (Coverage.Prims.LexLeanRuntime.length (b) : Nat) 18446744073709551616)) && Bool.true)) && (Nat.blt ((Coverage.Prims.LexLeanRuntime.length (xs) : Nat) + (Coverage.Prims.LexLeanRuntime.length (b) : Nat)) 18446744073709551616)) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && (Bool.true && Bool.true))) && Bool.true) && (((((Bool.true && (Bool.true && (Bool.true && Bool.true))) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) - -theorem __rel_0 (xs : (List Nat)) (b : ByteArray) (i : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) xs), (_root_.LexLeanTarget.TargetSyntax.Value.bytes b), (_root_.LexLeanTarget.TargetSyntax.Value.nat i)] (_root_.LexLeanPreservation.Rel (__fits_0 xs b i) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bytes (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.u8) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.bytes) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool)))))))) (Coverage.Prims.sequences xs b i))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) xs ((1 : Nat) :: ([] : List Nat)))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_bytes b (ByteArray.mk #[10]))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) xs)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_bytes b)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (Coverage.Prims.LexLeanRuntime.length (xs) : Nat) (Coverage.Prims.LexLeanRuntime.length (b) : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_index_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.optEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) Coverage.Prims.LexLeanRuntime.listIndex (fun _ => rfl) (fun _ _ => rfl) (fun _ _ _ => rfl) xs i)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_index_bytes b i)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.prim_slice_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.optEnc (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) xs i (2 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.prim_slice_bytes b (0 : Nat) i)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_equal_bytes b (ByteArray.mk #[]))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_equal_nat i (3 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_equal_bool (Coverage.Prims.LexLeanRuntime.equal (i) ((3 : Nat)) : Bool) Bool.true)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) - -def denote (xs : (List Nat)) (b : ByteArray) (i : Nat) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 xs b i) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bytes (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.u8) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.bytes) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool)))))))) (Coverage.Prims.sequences xs b i)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (xs : (List Nat)) (b : ByteArray) (i : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) xs), (_root_.LexLeanTarget.TargetSyntax.Value.bytes b), (_root_.LexLeanTarget.TargetSyntax.Value.nat i)] (_root_.LexLeanPreservation.Rel (__fits_0 xs b i) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bytes (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.u8) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.bytes) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool)))))))) (Coverage.Prims.sequences xs b i))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 xs b i) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R26/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R26/Compose/RustStd.lean deleted file mode 100644 index 4b69b12ae..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R26/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.Compose.RustStd - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (xs : (List Nat)) (b : ByteArray) (i : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) xs), (_root_.LexLeanTarget.TargetSyntax.Value.bytes b), (_root_.LexLeanTarget.TargetSyntax.Value.nat i)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.denote xs b i) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) xs), (_root_.LexLeanTarget.TargetSyntax.Value.bytes b), (_root_.LexLeanTarget.TargetSyntax.Value.nat i)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList _root_.LexLeanPreservation.Rust.wt_nat) xs) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_bytes b) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat i) _root_.LexLeanPreservation.Rust.wtl_nil))) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.root xs b i) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R26/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R26/RustStd.lean deleted file mode 100644 index bbc872ff4..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R26/RustStd.lean +++ /dev/null @@ -1,33 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1, 2], types := [(.list .nat), .bytes, .nat], result := (.pair (.list .nat) (.pair .bytes (.pair .nat (.pair (.option .nat) (.pair (.option (.fixed .u8)) (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool)))))))), - body := (.build .pair (.pair (.list .nat) (.pair .bytes (.pair .nat (.pair (.option .nat) (.pair (.option (.fixed .u8)) (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool)))))))) [(.prim .append [(.var 0), (.build .cons (.list .nat) [(.value .nat (.nat 1)), (.build .nil (.list .nat) [])])]), (.build .pair (.pair .bytes (.pair .nat (.pair (.option .nat) (.pair (.option (.fixed .u8)) (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool))))))) [(.prim .append [(.var 1), (.value .bytes (.bytes (ByteArray.mk #[10])))]), (.build .pair (.pair .nat (.pair (.option .nat) (.pair (.option (.fixed .u8)) (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool)))))) [(.prim .natAdd [(.prim .length [(.var 0)]), (.prim .length [(.var 1)])]), (.build .pair (.pair (.option .nat) (.pair (.option (.fixed .u8)) (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool))))) [(.prim .index [(.var 0), (.var 2)]), (.build .pair (.pair (.option (.fixed .u8)) (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool)))) [(.prim .index [(.var 1), (.var 2)]), (.build .pair (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool))) [(.prim .slice [(.var 0), (.var 2), (.value .nat (.nat 2))]), (.build .pair (.pair (.option .bytes) (.pair .bool .bool)) [(.prim .slice [(.var 1), (.value .nat (.nat 0)), (.var 2)]), (.build .pair (.pair .bool .bool) [(.prim .equal [(.var 1), (.value .bytes (.bytes (ByteArray.mk #[])))]), (.prim .equal [(.prim .equal [(.var 2), (.value .nat (.nat 3))]), (.build .true .bool [])])])])])])])])])]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .bytes }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.fallible (.pair (.list .nat) (.pair .bytes (.pair .nat (.pair (.option .nat) (.pair (.option (.fixed .u8)) (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool))))))))) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.construct .cons [(.lit (.nat 1)), (.construct (.nil .nat) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.lit (.bytes (ByteArray.mk #[10]))))] (.call (.runtime .appendBytes) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 5))] false)))), (.mk (.bind (.generated .operand 8)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthBytes) [(.move (.generated .operand 6))] false))))] (.call (.runtime .natAdd) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] true))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.clone (.generated .binding 0))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2)))] (.call (.runtime .indexList) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 2)))] (.call (.runtime .indexBytes) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 13)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 15)) none (.lit (.nat 2)))] (.call (.runtime .sliceList) [(.move (.generated .operand 13)), (.move (.generated .operand 14)), (.move (.generated .operand 15))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 17)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 2)))] (.call (.runtime .sliceBytes) [(.move (.generated .operand 16)), (.move (.generated .operand 17)), (.move (.generated .operand 18))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 19)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 20)) none (.lit (.bytes (ByteArray.mk #[]))))] (.call (.runtime .equal) [(.move (.generated .operand 19)), (.move (.generated .operand 20))] false))) (.block (.mk [(.mk (.bind (.generated .operand 23)) none (.block (.mk [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 22)) none (.lit (.nat 3)))] (.call (.runtime .equal) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false)))), (.mk (.bind (.generated .operand 24)) none (.lit (.bool true)))] (.call (.runtime .equal) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false))))))))))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.construct .cons [(.lit (.nat 1)), (.construct (.nil .nat) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.lit (.bytes (ByteArray.mk #[10]))))] (.call (.runtime .appendBytes) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 5))] false)))), (.mk (.bind (.generated .operand 8)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthBytes) [(.move (.generated .operand 6))] false))))] (.call (.runtime .natAdd) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] true))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.clone (.generated .binding 0))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2)))] (.call (.runtime .indexList) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 2)))] (.call (.runtime .indexBytes) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 13)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 15)) none (.lit (.nat 2)))] (.call (.runtime .sliceList) [(.move (.generated .operand 13)), (.move (.generated .operand 14)), (.move (.generated .operand 15))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 17)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 2)))] (.call (.runtime .sliceBytes) [(.move (.generated .operand 16)), (.move (.generated .operand 17)), (.move (.generated .operand 18))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 19)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 20)) none (.lit (.bytes (ByteArray.mk #[]))))] (.call (.runtime .equal) [(.move (.generated .operand 19)), (.move (.generated .operand 20))] false))) (.block (.mk [(.mk (.bind (.generated .operand 23)) none (.block (.mk [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 22)) none (.lit (.nat 3)))] (.call (.runtime .equal) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false)))), (.mk (.bind (.generated .operand 24)) none (.lit (.bool true)))] (.call (.runtime .equal) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false)))))))))))), [(2, .nat, (some 2)), (1, .bytes, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, - (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.construct .cons [(.lit (.nat 1)), (.construct (.nil .nat) [])]))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (Corr.prim (ts := [(.list .nat), (.list .nat)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.lit (.bytes (ByteArray.mk #[10]))))]) (tail := (.call (.runtime .appendBytes) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [.bytes, .bytes]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 7)) none (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 5))] false)))), (.mk (.bind (.generated .operand 8)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthBytes) [(.move (.generated .operand 6))] false))))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.clone (.generated .binding 0)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 5))] false)) (Corr.prim (ts := [(.list .nat)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 6)) none (.clone (.generated .binding 1)))]) (tail := (.call (.runtime .lengthBytes) [(.move (.generated .operand 6))] false)) (Corr.prim (ts := [.bytes]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 9)) none (.clone (.generated .binding 0))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .indexList) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false)) (Corr.prim (ts := [(.list .nat), .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 11)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .indexBytes) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false)) (Corr.prim (ts := [.bytes, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 13)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 15)) none (.lit (.nat 2)))]) (tail := (.call (.runtime .sliceList) [(.move (.generated .operand 13)), (.move (.generated .operand 14)), (.move (.generated .operand 15))] false)) (Corr.prim (ts := [(.list .nat), .nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 16)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 17)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .sliceBytes) [(.move (.generated .operand 16)), (.move (.generated .operand 17)), (.move (.generated .operand 18))] false)) (Corr.prim (ts := [.bytes, .nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 19)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 20)) none (.lit (.bytes (ByteArray.mk #[]))))]) (tail := (.call (.runtime .equal) [(.move (.generated .operand 19)), (.move (.generated .operand 20))] false)) (Corr.prim (ts := [.bytes, .bytes]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 23)) none (.block (.mk [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 22)) none (.lit (.nat 3)))] (.call (.runtime .equal) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false)))), (.mk (.bind (.generated .operand 24)) none (.lit (.bool true)))]) (tail := (.call (.runtime .equal) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false)) (Corr.prim (ts := [.bool, .bool]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 22)) none (.lit (.nat 3)))]) (tail := (.call (.runtime .equal) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.buildConst rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil))))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | _ + 1 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R27/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R27/Compose/RustStd.lean deleted file mode 100644 index 370b5b8d2..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R27/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.Compose.RustStd - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (s : String) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.string s)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.denote s) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.string s)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_string s) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.root s) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R27/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R27/RustStd.lean deleted file mode 100644 index 22c390968..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R27/RustStd.lean +++ /dev/null @@ -1,33 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0], types := [.string], result := (.pair (.option .int) (.option (.fixed .u32))), - body := (.build .pair (.pair (.option .int) (.option (.fixed .u32))) [(.prim (.parseDecimal .int) [(.var 0)]), (.prim (.parseDecimal (.fixed .u32)) [(.var 0)])]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .str }] (.fallible (.pair (.option .int) (.option (.fixed .u32)))) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0)))] (.call (.runtime .parseInt) [(.move (.generated .operand 1))] true))) (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.move (.generated .binding 0)))] (.call (.runtime (.parseFixed .u32)) [(.move (.generated .operand 2))] false)))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0)))] (.call (.runtime .parseInt) [(.move (.generated .operand 1))] true))) (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.move (.generated .binding 0)))] (.call (.runtime (.parseFixed .u32)) [(.move (.generated .operand 2))] false))))), [(0, .string, (some 0))], rfl, rfl, - (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0)))]) (tail := (.call (.runtime .parseInt) [(.move (.generated .operand 1))] true)) (Corr.prim (ts := [.string]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 2)) none (.move (.generated .binding 0)))]) (tail := (.call (.runtime (.parseFixed .u32)) [(.move (.generated .operand 2))] false)) (Corr.prim (ts := [.string]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | _ + 1 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R28/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R28/Compose/RustStd.lean deleted file mode 100644 index a7b2a351f..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R28/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.Compose.RustStd - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (a : Int) (b : Int8) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.int a), (_root_.LexLeanTarget.TargetSyntax.Value.i8 b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.int a), (_root_.LexLeanTarget.TargetSyntax.Value.i8 b)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_int a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i8 b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R28/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R28/RustStd.lean deleted file mode 100644 index 7c2b05d6d..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R28/RustStd.lean +++ /dev/null @@ -1,33 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [.int, (.fixed .i8)], result := (.pair .string .string), - body := (.build .pair (.pair .string .string) [(.prim .formatDecimal [(.var 0)]), (.prim .formatDecimal [(.var 1)])]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .int }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .i8) }] (.pair .str .str) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0)))] (.call (.runtime .formatInt) [(.move (.generated .operand 1))] false))) (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.formatFixed .i8)) [(.move (.generated .operand 2))] false))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0)))] (.call (.runtime .formatInt) [(.move (.generated .operand 1))] false))) (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.formatFixed .i8)) [(.move (.generated .operand 2))] false)))), [(1, (.fixed .i8), (some 1)), (0, .int, (some 0))], rfl, rfl, - (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime .formatInt) [(.move (.generated .operand 1))] false)) (Corr.prim (ts := [.int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.formatFixed .i8)) [(.move (.generated .operand 2))] false)) (Corr.prim (ts := [(.fixed .i8)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | _ + 1 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R29.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R29.lean deleted file mode 100644 index 558fd74a5..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R29.lean +++ /dev/null @@ -1,40 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Coverage.Boundary -import Coverage.Colls -import Coverage.Main -import Coverage.Prims -import Coverage.RecRoots -import Coverage.Recur -import Coverage.Syntax -import Coverage.Types -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [.string, .string], result := (.pair .bytes (.pair (.option .string) (.pair .ordering (.pair (.option (.list .string)) (.pair .string (.pair .nat .bool)))))), - body := (.«let» 2 .bytes (.prim .utf8Encode [(.var 0)]) (.build .pair (.pair .bytes (.pair (.option .string) (.pair .ordering (.pair (.option (.list .string)) (.pair .string (.pair .nat .bool)))))) [(.var 2), (.build .pair (.pair (.option .string) (.pair .ordering (.pair (.option (.list .string)) (.pair .string (.pair .nat .bool))))) [(.prim .utf8Decode [(.var 2)]), (.build .pair (.pair .ordering (.pair (.option (.list .string)) (.pair .string (.pair .nat .bool)))) [(.prim .compareBytes [(.var 2), (.value .bytes (.bytes (ByteArray.mk #[0, 255])))]), (.build .pair (.pair (.option (.list .string)) (.pair .string (.pair .nat .bool))) [(.prim .splitExact [(.var 0), (.var 1), (.value (.fixed .u32) (.u32 4))]), (.build .pair (.pair .string (.pair .nat .bool)) [(.prim .join [(.build .cons (.list .string) [(.var 0), (.build .cons (.list .string) [(.value .string (.string "x\"y")), (.build .nil (.list .string) [])])]), (.var 1)]), (.build .pair (.pair .nat .bool) [(.prim .length [(.var 0)]), (.cond (.prim .equal [(.var 0), (.var 1)]) (.prim .equal [(.prim .compareBytes [(.var 2), (.var 2)]), (.prim .compareBytes [(.value .bytes (.bytes (ByteArray.mk #[]))), (.value .bytes (.bytes (ByteArray.mk #[1])))])]) (.build .false .bool []))])])])])])])) }] } - -def __fits_0 (s : String) (d : String) : Bool := - (((Bool.true && Bool.true) && Bool.true) && (let raw : ByteArray := (Coverage.Prims.LexLeanRuntime.utf8Encode (s) : ByteArray); ((Bool.true && (((((Bool.true && Bool.true) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && (Bool.true && Bool.true))) && Bool.true) && (((((((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && Bool.true) && (Nat.blt (Coverage.Prims.LexLeanRuntime.length (s) : Nat) 18446744073709551616)) && ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Coverage.Prims.LexLeanRuntime.equal (s) (d) : Bool) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) - -theorem __rel_0 (s : String) (d : String) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.string s), (_root_.LexLeanTarget.TargetSyntax.Value.string d)] (_root_.LexLeanPreservation.Rel (__fits_0 s d) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bytes (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.string) (_root_.LexLeanPreservation.encPair _root_.LexLeanPreservation.encOrdering (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string)) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)))))) (Coverage.Prims.text s d))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (let raw : ByteArray := (Coverage.Prims.LexLeanRuntime.utf8Encode (s) : ByteArray); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_utf8Encode s)) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_utf8Decode raw)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_compareBytes raw (ByteArray.mk #[0, 255]))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.prim_splitExact s d (4 : UInt32))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_join (s :: ("x\"y" :: ([] : List String))) d)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_string s)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Coverage.Prims.LexLeanRuntime.equal ((Coverage.Prims.LexLeanRuntime.compareBytes (raw) (raw) : Ordering)) ((Coverage.Prims.LexLeanRuntime.compareBytes ((ByteArray.mk #[])) ((ByteArray.mk #[1])) : Ordering)) : Bool))) (Coverage.Prims.LexLeanRuntime.equal (s) (d) : Bool) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_equal_string s d)) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_compareBytes raw raw)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_compareBytes (ByteArray.mk #[]) (ByteArray.mk #[1]))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_equal_ordering (Coverage.Prims.LexLeanRuntime.compareBytes (raw) (raw) : Ordering) (Coverage.Prims.LexLeanRuntime.compareBytes ((ByteArray.mk #[])) ((ByteArray.mk #[1])) : Ordering)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair)) - -def denote (s : String) (d : String) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 s d) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bytes (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.string) (_root_.LexLeanPreservation.encPair _root_.LexLeanPreservation.encOrdering (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string)) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)))))) (Coverage.Prims.text s d)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (s : String) (d : String) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.string s), (_root_.LexLeanTarget.TargetSyntax.Value.string d)] (_root_.LexLeanPreservation.Rel (__fits_0 s d) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bytes (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.string) (_root_.LexLeanPreservation.encPair _root_.LexLeanPreservation.encOrdering (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string)) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)))))) (Coverage.Prims.text s d))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 s d) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R29/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R29/Compose/RustStd.lean deleted file mode 100644 index b6cb6d775..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R29/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.Compose.RustStd - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (s : String) (d : String) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.string s), (_root_.LexLeanTarget.TargetSyntax.Value.string d)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.denote s d) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.string s), (_root_.LexLeanTarget.TargetSyntax.Value.string d)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_string s) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_string d) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.root s d) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R29/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R29/RustStd.lean deleted file mode 100644 index d8640c8e3..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R29/RustStd.lean +++ /dev/null @@ -1,33 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [.string, .string], result := (.pair .bytes (.pair (.option .string) (.pair .ordering (.pair (.option (.list .string)) (.pair .string (.pair .nat .bool)))))), - body := (.«let» 2 .bytes (.prim .utf8Encode [(.var 0)]) (.build .pair (.pair .bytes (.pair (.option .string) (.pair .ordering (.pair (.option (.list .string)) (.pair .string (.pair .nat .bool)))))) [(.var 2), (.build .pair (.pair (.option .string) (.pair .ordering (.pair (.option (.list .string)) (.pair .string (.pair .nat .bool))))) [(.prim .utf8Decode [(.var 2)]), (.build .pair (.pair .ordering (.pair (.option (.list .string)) (.pair .string (.pair .nat .bool)))) [(.prim .compareBytes [(.var 2), (.value .bytes (.bytes (ByteArray.mk #[0, 255])))]), (.build .pair (.pair (.option (.list .string)) (.pair .string (.pair .nat .bool))) [(.prim .splitExact [(.var 0), (.var 1), (.value (.fixed .u32) (.u32 4))]), (.build .pair (.pair .string (.pair .nat .bool)) [(.prim .join [(.build .cons (.list .string) [(.var 0), (.build .cons (.list .string) [(.value .string (.string "x\"y")), (.build .nil (.list .string) [])])]), (.var 1)]), (.build .pair (.pair .nat .bool) [(.prim .length [(.var 0)]), (.cond (.prim .equal [(.var 0), (.var 1)]) (.prim .equal [(.prim .compareBytes [(.var 2), (.var 2)]), (.prim .compareBytes [(.value .bytes (.bytes (ByteArray.mk #[]))), (.value .bytes (.bytes (ByteArray.mk #[1])))])]) (.build .false .bool []))])])])])])])) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .str }, { pattern := (.bind (.generated .binding 1)), type := .str }] (.pair .bytes (.pair (.option .str) (.pair .ordering (.pair (.option (.list .str)) (.pair .str (.pair .nat .bool)))))) (.mk [(.mk (.bind (.generated .binding 2)) (some .bytes) (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0)))] (.call (.runtime .utf8Encode) [(.move (.generated .operand 1))] false))))] (.pair (.clone (.generated .binding 2)) (.pair (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.clone (.generated .binding 2)))] (.call (.runtime .utf8Decode) [(.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.clone (.generated .binding 2))), (.mk (.bind (.generated .operand 4)) none (.lit (.bytes (ByteArray.mk #[0, 255]))))] (.call (.runtime .compareBytes) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.clone (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.lit (.fixed .u32 4)))] (.call (.runtime .splitExact) [(.move (.generated .operand 5)), (.move (.generated .operand 6)), (.move (.generated .operand 7))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 8)) none (.construct .cons [(.clone (.generated .binding 0)), (.construct .cons [(.lit (.str "x\"y")), (.construct (.nil .str) [])])])), (.mk (.bind (.generated .operand 9)) none (.clone (.generated .binding 1)))] (.call (.runtime .join) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthString) [(.move (.generated .operand 10))] false))) (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.move (.generated .binding 1)))] (.cond (.call (.runtime .equal) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false) (.mk [(.mk (.bind (.generated .operand 17)) none (.block (.mk [(.mk (.bind (.generated .operand 13)) none (.clone (.generated .binding 2))), (.mk (.bind (.generated .operand 14)) none (.move (.generated .binding 2)))] (.call (.runtime .compareBytes) [(.move (.generated .operand 13)), (.move (.generated .operand 14))] false)))), (.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.lit (.bytes (ByteArray.mk #[])))), (.mk (.bind (.generated .operand 16)) none (.lit (.bytes (ByteArray.mk #[1]))))] (.call (.runtime .compareBytes) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false))))] (.call (.runtime .equal) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false)) (.mk [] (.lit (.bool false))))))))))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some .bytes) (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0)))] (.call (.runtime .utf8Encode) [(.move (.generated .operand 1))] false))))], (.pair (.clone (.generated .binding 2)) (.pair (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.clone (.generated .binding 2)))] (.call (.runtime .utf8Decode) [(.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.clone (.generated .binding 2))), (.mk (.bind (.generated .operand 4)) none (.lit (.bytes (ByteArray.mk #[0, 255]))))] (.call (.runtime .compareBytes) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.clone (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.lit (.fixed .u32 4)))] (.call (.runtime .splitExact) [(.move (.generated .operand 5)), (.move (.generated .operand 6)), (.move (.generated .operand 7))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 8)) none (.construct .cons [(.clone (.generated .binding 0)), (.construct .cons [(.lit (.str "x\"y")), (.construct (.nil .str) [])])])), (.mk (.bind (.generated .operand 9)) none (.clone (.generated .binding 1)))] (.call (.runtime .join) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthString) [(.move (.generated .operand 10))] false))) (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.move (.generated .binding 1)))] (.cond (.call (.runtime .equal) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false) (.mk [(.mk (.bind (.generated .operand 17)) none (.block (.mk [(.mk (.bind (.generated .operand 13)) none (.clone (.generated .binding 2))), (.mk (.bind (.generated .operand 14)) none (.move (.generated .binding 2)))] (.call (.runtime .compareBytes) [(.move (.generated .operand 13)), (.move (.generated .operand 14))] false)))), (.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.lit (.bytes (ByteArray.mk #[])))), (.mk (.bind (.generated .operand 16)) none (.lit (.bytes (ByteArray.mk #[1]))))] (.call (.runtime .compareBytes) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false))))] (.call (.runtime .equal) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false)) (.mk [] (.lit (.bool false)))))))))))), [(1, .string, (some 1)), (0, .string, (some 0))], rfl, rfl, - (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0)))]) (tail := (.call (.runtime .utf8Encode) [(.move (.generated .operand 1))] false)) (Corr.prim (ts := [.string]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 2)) none (.clone (.generated .binding 2)))]) (tail := (.call (.runtime .utf8Decode) [(.move (.generated .operand 2))] false)) (Corr.prim (ts := [.bytes]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.clone (.generated .binding 2))), (.mk (.bind (.generated .operand 4)) none (.lit (.bytes (ByteArray.mk #[0, 255]))))]) (tail := (.call (.runtime .compareBytes) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [.bytes, .bytes]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.clone (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.lit (.fixed .u32 4)))]) (tail := (.call (.runtime .splitExact) [(.move (.generated .operand 5)), (.move (.generated .operand 6)), (.move (.generated .operand 7))] false)) (Corr.prim (ts := [.string, .string, (.fixed .u32)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 8)) none (.construct .cons [(.clone (.generated .binding 0)), (.construct .cons [(.lit (.str "x\"y")), (.construct (.nil .str) [])])])), (.mk (.bind (.generated .operand 9)) none (.clone (.generated .binding 1)))]) (tail := (.call (.runtime .join) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false)) (Corr.prim (ts := [(.list .string), .string]) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [.string, (.list .string)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.string, (.list .string)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 10)) none (.clone (.generated .binding 0)))]) (tail := (.call (.runtime .lengthString) [(.move (.generated .operand 10))] false)) (Corr.prim (ts := [.string]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 11)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.move (.generated .binding 1)))]) (tail := (.cond (.call (.runtime .equal) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false) (.mk [(.mk (.bind (.generated .operand 17)) none (.block (.mk [(.mk (.bind (.generated .operand 13)) none (.clone (.generated .binding 2))), (.mk (.bind (.generated .operand 14)) none (.move (.generated .binding 2)))] (.call (.runtime .compareBytes) [(.move (.generated .operand 13)), (.move (.generated .operand 14))] false)))), (.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.lit (.bytes (ByteArray.mk #[])))), (.mk (.bind (.generated .operand 16)) none (.lit (.bytes (ByteArray.mk #[1]))))] (.call (.runtime .compareBytes) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false))))] (.call (.runtime .equal) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false)) (.mk [] (.lit (.bool false))))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 11)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.move (.generated .binding 1)))]) (ce := (.call (.runtime .equal) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false)) (lk := []) (Corr.prim (ts := [.string, .string]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 17)) none (.block (.mk [(.mk (.bind (.generated .operand 13)) none (.clone (.generated .binding 2))), (.mk (.bind (.generated .operand 14)) none (.move (.generated .binding 2)))] (.call (.runtime .compareBytes) [(.move (.generated .operand 13)), (.move (.generated .operand 14))] false)))), (.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.lit (.bytes (ByteArray.mk #[])))), (.mk (.bind (.generated .operand 16)) none (.lit (.bytes (ByteArray.mk #[1]))))] (.call (.runtime .compareBytes) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false))))]) (ta := (.call (.runtime .equal) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.ordering, .ordering]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 13)) none (.clone (.generated .binding 2))), (.mk (.bind (.generated .operand 14)) none (.move (.generated .binding 2)))]) (tail := (.call (.runtime .compareBytes) [(.move (.generated .operand 13)), (.move (.generated .operand 14))] false)) (Corr.prim (ts := [.bytes, .bytes]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 15)) none (.lit (.bytes (ByteArray.mk #[])))), (.mk (.bind (.generated .operand 16)) none (.lit (.bytes (ByteArray.mk #[1]))))]) (tail := (.call (.runtime .compareBytes) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false)) (Corr.prim (ts := [.bytes, .bytes]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil))))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | _ + 1 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R3.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R3.lean deleted file mode 100644 index 8af6a627c..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R3.lean +++ /dev/null @@ -1,106 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Coverage.Boundary -import Coverage.Colls -import Coverage.Main -import Coverage.Prims -import Coverage.RecRoots -import Coverage.Recur -import Coverage.Syntax -import Coverage.Types -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1, 2], types := [(.list .nat), (.list .nat), .nat], result := (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat)))))))), - body := (.build .pair (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat)))))))) [(.call 1 [(.var 0), (.var 2)]), (.build .pair (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))) [(.call 2 [(.var 0), (.var 2)]), (.build .pair (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat)))))) [(.call 3 [(.var 0), (.var 2)]), (.build .pair (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))) [(.call 4 [(.var 0), (.var 1)]), (.build .pair (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat)))) [(.call 6 [(.var 0), (.var 1)]), (.build .pair (.pair (.list .nat) (.pair .nat (.list .nat))) [(.call 8 [(.var 0), (.var 1)]), (.build .pair (.pair .nat (.list .nat)) [(.prim .length [(.var 0)]), (.var 0)])])])])])])]) }, - { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list .nat) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 1 [(.var 3), (.var 1)])]))]))]) }, - { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .nil (.list .nat) [])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.var 0)), (.arm .eq [] (.var 3)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 2 [(.var 3), (.var 1)])]))]))]) }, - { parameters := [0, 1], types := [(.list .nat), .nat], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .false .bool [])), (.arm .cons [2, 3] (.«match» .bool (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .false .bool [])), (.arm .eq [] (.build .true .bool [])), (.arm .gt [] (.call 3 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0, 1], types := [(.list .nat), (.list .nat)], result := (.list .nat), - body := (.«match» (.list .nat) (.var 1) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.call 4 [(.call 5 [(.var 0), (.var 2)]), (.var 3)]))]) }, - { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list .nat) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 5 [(.var 3), (.var 1)])]))]))]) }, - { parameters := [0, 1], types := [(.list .nat), (.list .nat)], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .nil (.list .nat) [])), (.arm .cons [2, 3] (.cond (.call 7 [(.var 1), (.var 2)]) (.build .cons (.list .nat) [(.var 2), (.call 6 [(.var 3), (.var 1)])]) (.call 6 [(.var 3), (.var 1)])))]) }, - { parameters := [0, 1], types := [(.list .nat), .nat], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .false .bool [])), (.arm .cons [2, 3] (.«match» .bool (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .false .bool [])), (.arm .eq [] (.build .true .bool [])), (.arm .gt [] (.call 7 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0, 1], types := [(.list .nat), (.list .nat)], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .nil (.list .nat) [])), (.arm .cons [2, 3] (.cond (.call 9 [(.var 1), (.var 2)]) (.call 8 [(.var 3), (.var 1)]) (.build .cons (.list .nat) [(.var 2), (.call 8 [(.var 3), (.var 1)])])))]) }, - { parameters := [0, 1], types := [(.list .nat), .nat], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .false .bool [])), (.arm .cons [2, 3] (.«match» .bool (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .false .bool [])), (.arm .eq [] (.build .true .bool [])), (.arm .gt [] (.call 9 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0], types := [(.list .nat)], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.var 1), (.var 3)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 10 [(.var 2)]) (.build .false .bool [])))]))]) }, - { parameters := [0, 1, 2], types := [(.list .nat), (.list .nat), .nat], result := (.option (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))), - body := (.cond (.call 10 [(.var 0)]) (.cond (.call 10 [(.var 1)]) (.build .some (.option (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))) [(.call 0 [(.var 0), (.var 1), (.var 2)])]) (.build .none (.option (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))) [])) (.build .none (.option (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))) [])) }] } - -def __fits_0 (s : (List Nat)) (t : (List Nat)) (x : Nat) : Bool := - ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && Bool.true) && (Nat.blt (Coverage.Colls.LexLeanCollections.setSize (s) : Nat) 18446744073709551616)) && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) - -theorem __rel_0 (s : (List Nat)) (t : (List Nat)) (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) s), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) t), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_0 s t x) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)))))))) (Coverage.Colls.setOps s t x))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_setInsert (_root_.LexLeanPreservation.keySpec_nat (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) Coverage.Colls.LexLeanCollections.insertElement (fun _ => rfl) (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.insertElement, __h]) (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.insertElement, __h]) (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.insertElement, __h]) (p := __prog) (fi := 1) (tk := .nat) rfl (s) (x))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_setRemove (_root_.LexLeanPreservation.keySpec_nat (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) Coverage.Colls.LexLeanCollections.removeElement (fun _ => rfl) (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.removeElement, __h]) (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.removeElement, __h]) (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.removeElement, __h]) (p := __prog) (fi := 2) (tk := .nat) rfl (s) (x))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_setContains (_root_.LexLeanPreservation.keySpec_nat (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) Coverage.Colls.LexLeanCollections.containsElement (fun _ => rfl) (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.containsElement, __h]) (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.containsElement, __h]) (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.containsElement, __h]) (p := __prog) (fi := 3) (tk := .nat) rfl (s) (x))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_setUnion (_root_.LexLeanPreservation.keySpec_nat (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) Coverage.Colls.LexLeanCollections.insertElement (fun _ => rfl) (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.insertElement, __h]) (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.insertElement, __h]) (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.insertElement, __h]) (p := __prog) (fi := 4) (tk := .nat) rfl rfl (t) (s))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_setIntersection (_root_.LexLeanPreservation.keySpec_nat (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) Coverage.Colls.LexLeanCollections.containsElement (fun _ => rfl) (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.containsElement, __h]) (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.containsElement, __h]) (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.containsElement, __h]) (p := __prog) (fi := 6) (tk := .nat) rfl rfl (s) (t))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_setDifference (_root_.LexLeanPreservation.keySpec_nat (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) Coverage.Colls.LexLeanCollections.containsElement (fun _ => rfl) (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.containsElement, __h]) (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.containsElement, __h]) (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.containsElement, __h]) (p := __prog) (fi := 8) (tk := .nat) rfl rfl (s) (t))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) s)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) - -def denote (s : (List Nat)) (t : (List Nat)) (x : Nat) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 s t x) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)))))))) (Coverage.Colls.setOps s t x)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (s : (List Nat)) (t : (List Nat)) (x : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) s), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) t), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_0 s t x) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)))))))) (Coverage.Colls.setOps s t x))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 s t x) - -def __valid_10 : (List Nat) -> Bool := - _root_.LexLeanPreservation.ascSet (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) - -def __inv_10 : (List Nat) -> Prop := - _root_.LexLeanPreservation.InvSet (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) - -theorem __viff_10 : ∀ (__v : (List Nat)), __valid_10 __v = Bool.true ↔ __inv_10 __v := - _root_.LexLeanPreservation.ascSet_inv (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) - -theorem __vrel_10 : ∀ (__v : (List Nat)), _root_.LexLeanPreservation.FunRel __prog 10 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_10 __v))) := - _root_.LexLeanPreservation.tpl_validSet (_root_.LexLeanPreservation.keySpec_nat (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) rfl - -def entryFits (s : (List Nat)) (t : (List Nat)) (x : Nat) : Bool := - (if __valid_10 s then (if __valid_10 t then __fits_0 s t x else Bool.true) else Bool.true) - -def entryValue (s : (List Nat)) (t : (List Nat)) (x : Nat) : _root_.LexLeanTarget.TargetSyntax.Value := - (if __valid_10 s then (if __valid_10 t then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)))))))) (Coverage.Colls.setOps s t x))) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) - -/-- The entry's observation. -/ -def denoteEntry (s : (List Nat)) (t : (List Nat)) (x : Nat) : _root_.LexLeanPreservation.Obs := - _root_.cond (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.entryFits s t x) (_root_.LexLeanPreservation.Obs.value (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.entryValue s t x)) _root_.LexLeanPreservation.Obs.overflow - -/-- §17.12's invariants of the validated parameters. -/ -def accepts (s : (List Nat)) (t : (List Nat)) (x : Nat) : Prop := - (__inv_10 s ∧ (__inv_10 t ∧ _root_.True)) - -theorem entry (s : (List Nat)) (t : (List Nat)) (x : Nat) : _root_.LexLeanPreservation.RunConv __prog 11 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) s), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) t), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.denoteEntry s t x) := - _root_.LexLeanPreservation.run_of_funRel (_root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then (if __valid_10 t then __fits_0 s t x else Bool.true) else Bool.true) (fun __c => if __c then (if __valid_10 t then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)))))))) (Coverage.Colls.setOps s t x))) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_10 s) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_10 s)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then __fits_0 s t x else Bool.true) (fun __c => if __c then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)))))))) (Coverage.Colls.setOps s t x))) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_10 t) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_10 t)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (__rel_0 s t x)) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (by simp [_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.entryFits])) - -theorem entry_accepts (s : (List Nat)) (t : (List Nat)) (x : Nat) (__h : _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.accepts s t x) : _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.denoteEntry s t x = _root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.denote s t x) := by - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.accepts at __h - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.denoteEntry _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.entryFits _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.entryValue _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.denote - simp only [_root_.if_true, (__viff_10 s).mpr __h.1, (__viff_10 t).mpr __h.2.1] - cases __fits_0 s t x <;> rfl - -theorem entry_refuses (s : (List Nat)) (t : (List Nat)) (x : Nat) (__h : ¬ _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.accepts s t x) : _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.denoteEntry s t x = _root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none := by - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.accepts at __h - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.denoteEntry _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.entryFits _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.entryValue - cases __c0 : __valid_10 s - · simp - · cases __c1 : __valid_10 t - · simp - · exact _root_.absurd ⟨(__viff_10 s).mp __c0, (__viff_10 t).mp __c1, _root_.trivial⟩ __h - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R3/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R3/Compose/RustStd.lean deleted file mode 100644 index 6206fa056..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R3/Compose/RustStd.lean +++ /dev/null @@ -1,20 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.Compose.RustStd - -/-- The rendering of the root's entry, invoked on the encoded arguments, -realizes the encoded source result when the arguments satisfy §17.12's -invariants, and refuses them with `none` otherwise. -/ -theorem root (s : (List Nat)) (t : (List Nat)) (x : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) s), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) t), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 11) [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) s), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) t), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] __e_ro ∧ - (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.accepts s t x → _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.denote s t x)) __e_ro) ∧ - (¬ _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.accepts s t x → _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none) __e_ro) := - match _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.RustStd.root __e_n 11) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList _root_.LexLeanPreservation.Rust.wt_nat) s) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList _root_.LexLeanPreservation.Rust.wt_nat) t) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat x) _root_.LexLeanPreservation.Rust.wtl_nil))) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.entry s t x) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) with - | ⟨__e_ro, __e_hr, __e_hc⟩ => ⟨__e_ro, __e_hc, fun __e_h => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.entry_accepts s t x __e_h ▸ __e_hr, fun __e_h => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.entry_refuses s t x __e_h ▸ __e_hr⟩ - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R3/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R3/RustStd.lean deleted file mode 100644 index 8e702ae64..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R3/RustStd.lean +++ /dev/null @@ -1,121 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1, 2], types := [(.list .nat), (.list .nat), .nat], result := (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat)))))))), - body := (.build .pair (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat)))))))) [(.call 1 [(.var 0), (.var 2)]), (.build .pair (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))) [(.call 2 [(.var 0), (.var 2)]), (.build .pair (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat)))))) [(.call 3 [(.var 0), (.var 2)]), (.build .pair (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))) [(.call 4 [(.var 0), (.var 1)]), (.build .pair (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat)))) [(.call 6 [(.var 0), (.var 1)]), (.build .pair (.pair (.list .nat) (.pair .nat (.list .nat))) [(.call 8 [(.var 0), (.var 1)]), (.build .pair (.pair .nat (.list .nat)) [(.prim .length [(.var 0)]), (.var 0)])])])])])])]) }, - { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list .nat) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 1 [(.var 3), (.var 1)])]))]))]) }, - { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .nil (.list .nat) [])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.var 0)), (.arm .eq [] (.var 3)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 2 [(.var 3), (.var 1)])]))]))]) }, - { parameters := [0, 1], types := [(.list .nat), .nat], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .false .bool [])), (.arm .cons [2, 3] (.«match» .bool (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .false .bool [])), (.arm .eq [] (.build .true .bool [])), (.arm .gt [] (.call 3 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0, 1], types := [(.list .nat), (.list .nat)], result := (.list .nat), - body := (.«match» (.list .nat) (.var 1) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.call 4 [(.call 5 [(.var 0), (.var 2)]), (.var 3)]))]) }, - { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list .nat) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 5 [(.var 3), (.var 1)])]))]))]) }, - { parameters := [0, 1], types := [(.list .nat), (.list .nat)], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .nil (.list .nat) [])), (.arm .cons [2, 3] (.cond (.call 7 [(.var 1), (.var 2)]) (.build .cons (.list .nat) [(.var 2), (.call 6 [(.var 3), (.var 1)])]) (.call 6 [(.var 3), (.var 1)])))]) }, - { parameters := [0, 1], types := [(.list .nat), .nat], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .false .bool [])), (.arm .cons [2, 3] (.«match» .bool (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .false .bool [])), (.arm .eq [] (.build .true .bool [])), (.arm .gt [] (.call 7 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0, 1], types := [(.list .nat), (.list .nat)], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .nil (.list .nat) [])), (.arm .cons [2, 3] (.cond (.call 9 [(.var 1), (.var 2)]) (.call 8 [(.var 3), (.var 1)]) (.build .cons (.list .nat) [(.var 2), (.call 8 [(.var 3), (.var 1)])])))]) }, - { parameters := [0, 1], types := [(.list .nat), .nat], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .false .bool [])), (.arm .cons [2, 3] (.«match» .bool (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .false .bool [])), (.arm .eq [] (.build .true .bool [])), (.arm .gt [] (.call 9 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0], types := [(.list .nat)], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.var 1), (.var 3)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 10 [(.var 2)]) (.build .false .bool [])))]))]) }, - { parameters := [0, 1, 2], types := [(.list .nat), (.list .nat), .nat], result := (.option (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))), - body := (.cond (.call 10 [(.var 0)]) (.cond (.call 10 [(.var 1)]) (.build .some (.option (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))) [(.call 0 [(.var 0), (.var 1), (.var 2)])]) (.build .none (.option (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))) [])) (.build .none (.option (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))) [])) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat)))))))) (.mk [] (.pair (.call (.function 1) [(.clone (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.pair (.call (.function 2) [(.clone (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.pair (.call (.function 3) [(.clone (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.pair (.call (.function 4) [(.clone (.generated .binding 0)), (.clone (.generated .binding 1))] false) (.pair (.call (.function 6) [(.clone (.generated .binding 0)), (.clone (.generated .binding 1))] false) (.pair (.call (.function 8) [(.clone (.generated .binding 0)), (.move (.generated .binding 1))] false) (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 1))] false))) (.move (.generated .binding 0))))))))))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 2)) none (.clone (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 2)) [(.mk .none (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 5)) none (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))))] (.matchOn (.move (.generated .holder 5)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 1) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]))), - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 6)) none (.clone (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 6)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false))))] (.matchOn (.move (.generated .holder 9)) [(.mk (.ordering .less) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 3)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 2) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]))), - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .holder 10)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 10)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.matchOn (.move (.generated .holder 13)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 3) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]))), - (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 14)) none (.move (.generated .binding 1)))] (.matchOn (.uncons (.generated .holder 14)) [(.mk .none (.mk [] (.move (.generated .binding 0)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 4) [(.call (.function 5) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false), (.move (.generated .binding 3))] false)))]))), - (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 15)) none (.clone (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 15)) [(.mk .none (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))] (.matchOn (.move (.generated .holder 18)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 5) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]))), - (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 19)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 19)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.cond (.call (.function 7) [(.clone (.generated .binding 1)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 6) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])) (.mk [] (.call (.function 6) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))))]))), - (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .holder 20)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 20)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 23)) none (.block (.mk [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false))))] (.matchOn (.move (.generated .holder 23)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 7) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]))), - (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 24)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 24)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.cond (.call (.function 9) [(.clone (.generated .binding 1)), (.copy (.generated .binding 2))] false) (.mk [] (.call (.function 8) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 8) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])))))]))), - (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .holder 25)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 25)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 28)) none (.block (.mk [(.mk (.bind (.generated .operand 26)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false))))] (.matchOn (.move (.generated .holder 28)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 9) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]))), - (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }] .bool (.mk [(.mk (.bind (.generated .holder 29)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 29)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .holder 30)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 30)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 33)) none (.block (.mk [(.mk (.bind (.generated .operand 31)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 31)), (.move (.generated .operand 32))] false))))] (.cond (.matchOn (.move (.generated .holder 33)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 10) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])))]))), - (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.option (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))) (.mk [] (.cond (.call (.function 10) [(.clone (.generated .binding 0))] false) (.mk [] (.cond (.call (.function 10) [(.clone (.generated .binding 1))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)])) (.mk [] (.construct (.none (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))) [])))) (.mk [] (.construct (.none (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))) [])))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.pair (.call (.function 1) [(.clone (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.pair (.call (.function 2) [(.clone (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.pair (.call (.function 3) [(.clone (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.pair (.call (.function 4) [(.clone (.generated .binding 0)), (.clone (.generated .binding 1))] false) (.pair (.call (.function 6) [(.clone (.generated .binding 0)), (.clone (.generated .binding 1))] false) (.pair (.call (.function 8) [(.clone (.generated .binding 0)), (.move (.generated .binding 1))] false) (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 1))] false))) (.move (.generated .binding 0))))))))), [(2, .nat, (some 2)), (1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, - (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 1))] false)) (Corr.prim (ts := [(.list .nat)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))))⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 2)) none (.clone (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 2)) [(.mk .none (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 5)) none (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))))] (.matchOn (.move (.generated .holder 5)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 1) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]), [(1, .nat, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 5)) none (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))))]) (tail := (.matchOn (.move (.generated .holder 5)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 1) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 1) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 6)) none (.clone (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 6)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false))))] (.matchOn (.move (.generated .holder 9)) [(.mk (.ordering .less) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 3)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 2) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]), [(1, .nat, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil .nat) [])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false))))]) (tail := (.matchOn (.move (.generated .holder 9)) [(.mk (.ordering .less) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 3)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 2) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 3))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 2) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 10)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 10)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.matchOn (.move (.generated .holder 13)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 3) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]), [(1, .nat, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))]) (tail := (.matchOn (.move (.generated .holder 13)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 3) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 3) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun4 : FunOK program krate flags 4 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 14)) none (.move (.generated .binding 1)))], (.matchOn (.uncons (.generated .holder 14)) [(.mk .none (.mk [] (.move (.generated .binding 0)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 4) [(.call (.function 5) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false), (.move (.generated .binding 3))] false)))]), [(1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 4) [(.call (.function 5) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false), (.move (.generated .binding 3))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun5 : FunOK program krate flags 5 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 15)) none (.clone (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 15)) [(.mk .none (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))] (.matchOn (.move (.generated .holder 18)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 5) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]), [(1, .nat, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))]) (tail := (.matchOn (.move (.generated .holder 18)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 5) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 5) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun6 : FunOK program krate flags 6 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 19)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 19)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.cond (.call (.function 7) [(.clone (.generated .binding 1)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 6) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])) (.mk [] (.call (.function 6) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))))]), [(1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil .nat) [])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 7) [(.clone (.generated .binding 1)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 6) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])) (.mk [] (.call (.function 6) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 7) [(.clone (.generated .binding 1)), (.copy (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 6) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])) (lb := []) (tb := (.call (.function 6) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)) (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl) (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)))) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun7 : FunOK program krate flags 7 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 20)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 20)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 23)) none (.block (.mk [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false))))] (.matchOn (.move (.generated .holder 23)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 7) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]), [(1, .nat, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 23)) none (.block (.mk [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false))))]) (tail := (.matchOn (.move (.generated .holder 23)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 7) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 7) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun8 : FunOK program krate flags 8 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 24)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 24)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.cond (.call (.function 9) [(.clone (.generated .binding 1)), (.copy (.generated .binding 2))] false) (.mk [] (.call (.function 8) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 8) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])))))]), [(1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil .nat) [])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 9) [(.clone (.generated .binding 1)), (.copy (.generated .binding 2))] false) (.mk [] (.call (.function 8) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 8) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 9) [(.clone (.generated .binding 1)), (.copy (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 8) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)) (lb := []) (tb := (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 8) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])) (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)))) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun9 : FunOK program krate flags 9 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 25)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 25)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 28)) none (.block (.mk [(.mk (.bind (.generated .operand 26)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false))))] (.matchOn (.move (.generated .holder 28)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 9) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]), [(1, .nat, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 28)) none (.block (.mk [(.mk (.bind (.generated .operand 26)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false))))]) (tail := (.matchOn (.move (.generated .holder 28)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 9) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 26)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 9) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun10 : FunOK program krate flags 10 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 29)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 29)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .holder 30)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 30)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 33)) none (.block (.mk [(.mk (.bind (.generated .operand 31)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 31)), (.move (.generated .operand 32))] false))))] (.cond (.matchOn (.move (.generated .holder 33)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 10) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])))]), [(0, (.list .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 30)) none (.clone (.generated .binding 2)))]) (tail := (.matchOn (.uncons (.generated .holder 30)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 33)) none (.block (.mk [(.mk (.bind (.generated .operand 31)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 31)), (.move (.generated .operand 32))] false))))] (.cond (.matchOn (.move (.generated .holder 33)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 10) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list .nat), none), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 33)) none (.block (.mk [(.mk (.bind (.generated .operand 31)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 31)), (.move (.generated .operand 32))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 33)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 10) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 33)) none (.block (.mk [(.mk (.bind (.generated .operand 31)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 31)), (.move (.generated .operand 32))] false))))]) (ce := (.matchOn (.move (.generated .holder 33)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 31)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 3)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 31)), (.move (.generated .operand 32))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list .nat), none), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list .nat), none), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list .nat), none), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 10) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun11 : FunOK program krate flags 11 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 10) [(.clone (.generated .binding 0))] false) (.mk [] (.cond (.call (.function 10) [(.clone (.generated .binding 1))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)])) (.mk [] (.construct (.none (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))) [])))) (.mk [] (.construct (.none (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))) []))), [(2, .nat, (some 2)), (1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 10) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 10) [(.clone (.generated .binding 1))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)])) (.mk [] (.construct (.none (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))) [])))) (lb := []) (tb := (.construct (.none (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))) [])) (Corr.cond (lc := []) (ce := (.call (.function 10) [(.clone (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)])) (lb := []) (tb := (.construct (.none (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))) [])) (Corr.build (ts := [(.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), (.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | 4 => exact fun4 - | 5 => exact fun5 - | 6 => exact fun6 - | 7 => exact fun7 - | 8 => exact fun8 - | 9 => exact fun9 - | 10 => exact fun10 - | 11 => exact fun11 - | _ + 12 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R30/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R30/Compose/RustStd.lean deleted file mode 100644 index 5bf3ed2f4..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R30/Compose/RustStd.lean +++ /dev/null @@ -1,26 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.Compose.RustStd - -mutual -theorem __wt_0 : ∀ (__v : (Coverage.Syntax.Rose Nat)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.RustStd.program _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.RustStd.krate _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.RustStd.flags (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.__enc_0 __v) (.adt 0) - | Coverage.Syntax.Rose.node __x0 __x1 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x0) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_list (__wtItems_0 __x1)) _root_.LexLeanPreservation.Rust.wtl_nil)) - -theorem __wtItems_0 : ∀ (__v : (List (Coverage.Syntax.Rose Nat))), _root_.LexLeanPreservation.Rust.WTAll _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.RustStd.program _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.RustStd.krate _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.RustStd.flags (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.__items_0 __v) (.adt 0) - | [] => _root_.LexLeanPreservation.Rust.wtAll_nil - | __x0 :: __x1 => _root_.LexLeanPreservation.Rust.wtAll_cons (__wt_0 __x0) (__wtItems_0 __x1) - -end - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (n : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.denote n) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat n) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.root n) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R30/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R30/RustStd.lean deleted file mode 100644 index c64f1c7a0..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R30/RustStd.lean +++ /dev/null @@ -1,50 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [{ constructors := [[.nat, (.list (.adt 0))]] }], functions := [ - { parameters := [0], types := [.nat], result := .nat, - body := (.call 1 [(.build (.adt 0) (.adt 0) [(.var 0), (.build .cons (.list (.adt 0)) [(.build (.adt 0) (.adt 0) [(.value .nat (.nat 1)), (.build .nil (.list (.adt 0)) [])]), (.build .nil (.list (.adt 0)) [])])])]) }, - { parameters := [0], types := [(.adt 0)], result := .nat, - body := (.«match» .nat (.var 0) [(.arm (.adt 0) [1, 2] (.prim .natAdd [(.value .nat (.nat 1)), (.call 2 [(.var 2)])]))]) }, - { parameters := [0], types := [(.list (.adt 0))], result := .nat, - body := (.«match» .nat (.var 0) [(.arm .nil [] (.value .nat (.nat 0))), (.arm .cons [1, 2] (.prim .natAdd [(.call 1 [(.var 1)]), (.call 2 [(.var 2)])]))]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.enum (.adt 0) [{ number := 0, fields := [.nat, (.list (.adt 0))] }]), - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [] (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0)), (.construct .cons [(.construct (.adt 0 0) [(.lit (.nat 1)), (.construct (.nil (.adt 0)) [])]), (.construct (.nil (.adt 0)) [])])])] false))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .binding 2))]) (.mk [(.mk (.bind (.generated .operand 2)) none (.lit (.nat 1))), (.mk (.bind (.generated .operand 3)) none (.call (.function 2) [(.move (.generated .binding 2))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] false)))]))), - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.adt 0)) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 4)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 4)) [(.mk .none (.mk [] (.succeed (.lit (.nat 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .operand 5)) none (.call (.function 1) [(.move (.generated .binding 1))] true)), (.mk (.bind (.generated .operand 6)) none (.call (.function 2) [(.move (.generated .binding 2))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false)))])))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0)), (.construct .cons [(.construct (.adt 0 0) [(.lit (.nat 1)), (.construct (.nil (.adt 0)) [])]), (.construct (.nil (.adt 0)) [])])])] false), [(0, .nat, (some 0))], rfl, rfl, - (Corr.callF (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list (.adt 0))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.adt 0), (.list (.adt 0))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list (.adt 0))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .binding 2))]) (.mk [(.mk (.bind (.generated .operand 2)) none (.lit (.nat 1))), (.mk (.bind (.generated .operand 3)) none (.call (.function 2) [(.move (.generated .binding 2))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] false)))]), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.adt 0)), (some 2)), (1, .nat, none), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := [(.mk (.bind (.generated .operand 2)) none (.lit (.nat 1))), (.mk (.bind (.generated .operand 3)) none (.call (.function 2) [(.move (.generated .binding 2))] true))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] false)) (Corr.mNil) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.adt 0))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl)⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 4)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 4)) [(.mk .none (.mk [] (.succeed (.lit (.nat 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .operand 5)) none (.call (.function 1) [(.move (.generated .binding 1))] true)), (.mk (.bind (.generated .operand 6)) none (.call (.function 2) [(.move (.generated .binding 2))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false)))]), [(0, (.list (.adt 0)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.adt 0))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.adt 0)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 0)))) (Corr.mCons (Γ' := [(2, (.list (.adt 0)), (some 2)), (1, (.adt 0), (some 1)), (0, (.list (.adt 0)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .operand 5)) none (.call (.function 1) [(.move (.generated .binding 1))] true)), (.mk (.bind (.generated .operand 6)) none (.call (.function 2) [(.move (.generated .binding 2))] true))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false)) (Corr.mNil) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.adt 0))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | _ + 3 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R31/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R31/Compose/RustStd.lean deleted file mode 100644 index 44506b678..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R31/Compose/RustStd.lean +++ /dev/null @@ -1,32 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.Compose.RustStd - -mutual -theorem __wt_0 : ∀ (__v : (Coverage.Syntax.Expr)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.RustStd.program _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.RustStd.krate _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.RustStd.flags (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.__enc_0 __v) (.adt 0) - | Coverage.Syntax.Expr.literal __x0 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x0) _root_.LexLeanPreservation.Rust.wtl_nil) - | Coverage.Syntax.Expr.plus __x0 __x1 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 __x0) (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 __x1) _root_.LexLeanPreservation.Rust.wtl_nil)) - | Coverage.Syntax.Expr.block __x0 __x1 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_list (__wtItems_0 __x0)) (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 __x1) _root_.LexLeanPreservation.Rust.wtl_nil)) - -theorem __wt_1 : ∀ (__v : (Coverage.Syntax.Stmt)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.RustStd.program _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.RustStd.krate _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.RustStd.flags (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.__enc_1 __v) (.adt 1) - | Coverage.Syntax.Stmt.assign __x0 __x1 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_string __x0) (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 __x1) _root_.LexLeanPreservation.Rust.wtl_nil)) - | Coverage.Syntax.Stmt.sequence __x0 __x1 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_1 __x0) (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_1 __x1) _root_.LexLeanPreservation.Rust.wtl_nil)) - -theorem __wtItems_0 : ∀ (__v : (List (Coverage.Syntax.Stmt))), _root_.LexLeanPreservation.Rust.WTAll _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.RustStd.program _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.RustStd.krate _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.RustStd.flags (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.__items_0 __v) (.adt 1) - | [] => _root_.LexLeanPreservation.Rust.wtAll_nil - | __x0 :: __x1 => _root_.LexLeanPreservation.Rust.wtAll_cons (__wt_1 __x0) (__wtItems_0 __x1) - -end - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (e : (Coverage.Syntax.Expr)) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.__enc_0 e)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.denote e) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.__enc_0 e)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 e) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.root e) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R31/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R31/RustStd.lean deleted file mode 100644 index b51469f90..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R31/RustStd.lean +++ /dev/null @@ -1,60 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [{ constructors := [[.nat], [(.adt 0), (.adt 0)], [(.list (.adt 1)), (.adt 0)]] }, - { constructors := [[.string, (.adt 0)], [(.adt 1), (.adt 1)]] }], functions := [ - { parameters := [0], types := [(.adt 0)], result := .nat, - body := (.call 1 [(.var 0)]) }, - { parameters := [0], types := [(.adt 0)], result := .nat, - body := (.«match» .nat (.var 0) [(.arm (.adt 0) [1] (.value .nat (.nat 1))), (.arm (.adt 1) [2, 3] (.prim .natAdd [(.prim .natAdd [(.call 1 [(.var 2)]), (.call 1 [(.var 3)])]), (.value .nat (.nat 1))])), (.arm (.adt 2) [4, 5] (.prim .natAdd [(.call 2 [(.var 4)]), (.call 1 [(.var 5)])]))]) }, - { parameters := [0], types := [(.list (.adt 1))], result := .nat, - body := (.«match» .nat (.var 0) [(.arm .nil [] (.value .nat (.nat 0))), (.arm .cons [1, 2] (.prim .natAdd [(.call 3 [(.var 1)]), (.call 2 [(.var 2)])]))]) }, - { parameters := [0], types := [(.adt 1)], result := .nat, - body := (.«match» .nat (.var 0) [(.arm (.adt 0) [1, 2] (.prim .natAdd [(.call 1 [(.var 2)]), (.value .nat (.nat 1))])), (.arm (.adt 1) [3, 4] (.prim .natAdd [(.call 3 [(.var 3)]), (.call 3 [(.var 4)])]))]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.enum (.adt 0) [{ number := 0, fields := [.nat] }, { number := 1, fields := [(.rc (.adt 0)), (.rc (.adt 0))] }, { number := 2, fields := [(.list (.adt 1)), (.rc (.adt 0))] }]), - (.enum (.adt 1) [{ number := 0, fields := [.str, (.adt 0)] }, { number := 1, fields := [(.rc (.adt 1)), (.rc (.adt 1))] }]), - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [] (.call (.function 1) [(.move (.generated .binding 0))] false))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 [.wild]) (.mk [] (.succeed (.lit (.nat 1))))), (.mk (.adt 0 1 [(.bind (.generated .boxed 8)), (.bind (.generated .boxed 9))]) (.mk [(.mk (.bind (.generated .binding 2)) none (.unbox (.generated .boxed 8))), (.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 9))), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.call (.function 1) [(.move (.generated .binding 2))] true)), (.mk (.bind (.generated .operand 3)) none (.call (.function 1) [(.move (.generated .binding 3))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))), (.mk (.adt 0 2 [(.bind (.generated .binding 4)), (.bind (.generated .boxed 10))]) (.mk [(.mk (.bind (.generated .binding 5)) none (.unbox (.generated .boxed 10))), (.mk (.bind (.generated .operand 6)) none (.call (.function 2) [(.move (.generated .binding 4))] true)), (.mk (.bind (.generated .operand 7)) none (.call (.function 1) [(.move (.generated .binding 5))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false)))]))), - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.adt 1)) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 11)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 11)) [(.mk .none (.mk [] (.succeed (.lit (.nat 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .operand 12)) none (.call (.function 3) [(.move (.generated .binding 1))] true)), (.mk (.bind (.generated .operand 13)) none (.call (.function 2) [(.move (.generated .binding 2))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false)))]))), - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 14)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 14)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .binding 2))]) (.mk [(.mk (.bind (.generated .operand 15)) none (.call (.function 1) [(.move (.generated .binding 2))] true)), (.mk (.bind (.generated .operand 16)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false))), (.mk (.adt 1 1 [(.bind (.generated .boxed 19)), (.bind (.generated .boxed 20))]) (.mk [(.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 19))), (.mk (.bind (.generated .binding 4)) none (.unbox (.generated .boxed 20))), (.mk (.bind (.generated .operand 17)) none (.call (.function 3) [(.move (.generated .binding 3))] true)), (.mk (.bind (.generated .operand 18)) none (.call (.function 3) [(.move (.generated .binding 4))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false)))])))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.move (.generated .binding 0))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.callF (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 [.wild]) (.mk [] (.succeed (.lit (.nat 1))))), (.mk (.adt 0 1 [(.bind (.generated .boxed 8)), (.bind (.generated .boxed 9))]) (.mk [(.mk (.bind (.generated .binding 2)) none (.unbox (.generated .boxed 8))), (.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 9))), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.call (.function 1) [(.move (.generated .binding 2))] true)), (.mk (.bind (.generated .operand 3)) none (.call (.function 1) [(.move (.generated .binding 3))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))), (.mk (.adt 0 2 [(.bind (.generated .binding 4)), (.bind (.generated .boxed 10))]) (.mk [(.mk (.bind (.generated .binding 5)) none (.unbox (.generated .boxed 10))), (.mk (.bind (.generated .operand 6)) none (.call (.function 2) [(.move (.generated .binding 4))] true)), (.mk (.bind (.generated .operand 7)) none (.call (.function 1) [(.move (.generated .binding 5))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false)))]), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, none), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 1)))) (Corr.mCons (Γ' := [(3, (.adt 0), (some 3)), (2, (.adt 0), (some 2)), (0, (.adt 0), (some 0))]) (j := 1) (loads := [(.mk (.bind (.generated .binding 2)) none (.unbox (.generated .boxed 8))), (.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 9)))]) (lets := [(.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.call (.function 1) [(.move (.generated .binding 2))] true)), (.mk (.bind (.generated .operand 3)) none (.call (.function 1) [(.move (.generated .binding 3))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false)) (Corr.mCons (Γ' := [(5, (.adt 0), (some 5)), (4, (.list (.adt 1)), (some 4)), (0, (.adt 0), (some 0))]) (j := 2) (loads := [(.mk (.bind (.generated .binding 5)) none (.unbox (.generated .boxed 10)))]) (lets := [(.mk (.bind (.generated .operand 6)) none (.call (.function 2) [(.move (.generated .binding 4))] true)), (.mk (.bind (.generated .operand 7)) none (.call (.function 1) [(.move (.generated .binding 5))] true))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false)) (Corr.mNil) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.adt 1))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 2)) none (.call (.function 1) [(.move (.generated .binding 2))] true)), (.mk (.bind (.generated .operand 3)) none (.call (.function 1) [(.move (.generated .binding 3))] true))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 11)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 11)) [(.mk .none (.mk [] (.succeed (.lit (.nat 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .operand 12)) none (.call (.function 3) [(.move (.generated .binding 1))] true)), (.mk (.bind (.generated .operand 13)) none (.call (.function 2) [(.move (.generated .binding 2))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false)))]), [(0, (.list (.adt 1)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.adt 1))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.adt 1)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 0)))) (Corr.mCons (Γ' := [(2, (.list (.adt 1)), (some 2)), (1, (.adt 1), (some 1)), (0, (.list (.adt 1)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .operand 12)) none (.call (.function 3) [(.move (.generated .binding 1))] true)), (.mk (.bind (.generated .operand 13)) none (.call (.function 2) [(.move (.generated .binding 2))] true))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false)) (Corr.mNil) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.adt 1))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 14)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 14)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .binding 2))]) (.mk [(.mk (.bind (.generated .operand 15)) none (.call (.function 1) [(.move (.generated .binding 2))] true)), (.mk (.bind (.generated .operand 16)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false))), (.mk (.adt 1 1 [(.bind (.generated .boxed 19)), (.bind (.generated .boxed 20))]) (.mk [(.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 19))), (.mk (.bind (.generated .binding 4)) none (.unbox (.generated .boxed 20))), (.mk (.bind (.generated .operand 17)) none (.call (.function 3) [(.move (.generated .binding 3))] true)), (.mk (.bind (.generated .operand 18)) none (.call (.function 3) [(.move (.generated .binding 4))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false)))]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.adt 1)) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.adt 0), (some 2)), (1, .string, none), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := [(.mk (.bind (.generated .operand 15)) none (.call (.function 1) [(.move (.generated .binding 2))] true)), (.mk (.bind (.generated .operand 16)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false)) (Corr.mCons (Γ' := [(4, (.adt 1), (some 4)), (3, (.adt 1), (some 3)), (0, (.adt 1), (some 0))]) (j := 1) (loads := [(.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 19))), (.mk (.bind (.generated .binding 4)) none (.unbox (.generated .boxed 20)))]) (lets := [(.mk (.bind (.generated .operand 17)) none (.call (.function 3) [(.move (.generated .binding 3))] true)), (.mk (.bind (.generated .operand 18)) none (.call (.function 3) [(.move (.generated .binding 4))] true))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false)) (Corr.mNil) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl)⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | _ + 4 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R32.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R32.lean deleted file mode 100644 index f39c4d9bd..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R32.lean +++ /dev/null @@ -1,80 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Coverage.Boundary -import Coverage.Colls -import Coverage.Main -import Coverage.Prims -import Coverage.RecRoots -import Coverage.Recur -import Coverage.Syntax -import Coverage.Types -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat (.pair .nat .nat)), - body := (.build .pair (.pair .nat (.pair .nat .nat)) [(.call 1 [(.var 0), (.value .nat (.nat 0))]), (.build .pair (.pair .nat .nat) [(.call 2 [(.var 0), (.var 1)]), (.call 3 [(.var 0), (.value .nat (.nat 0)), (.var 1)])])]) }, - { parameters := [0, 1], types := [.nat, .nat], result := .nat, - body := (.cond (.prim .natLt [(.var 0), (.value .nat (.nat 2))]) (.var 1) (.call 1 [(.prim .natSub [(.var 0), (.value .nat (.nat 2))]), (.prim .natAdd [(.var 1), (.value .nat (.nat 1))])])) }, - { parameters := [0, 1], types := [.nat, .nat], result := .nat, - body := (.cond (.prim .natEq [(.var 1), (.value .nat (.nat 0))]) (.var 0) (.cond (.prim .natLt [(.var 0), (.var 1)]) (.var 0) (.call 2 [(.prim .natSub [(.var 0), (.var 1)]), (.var 1)]))) }, - { parameters := [0, 1, 2], types := [.nat, .nat, .nat], result := .nat, - body := (.cond (.prim .natLt [(.var 1), (.var 2)]) (.cond (.prim .natLe [(.var 0), (.prim .natAdd [(.var 1), (.var 1)])]) (.var 1) (.call 3 [(.var 0), (.prim .natAdd [(.var 1), (.value .nat (.nat 1))]), (.var 2)])) (.var 2)) }] } - -def __fits_1 (number : Nat) (steps : Nat) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (match (generalizing := false) __decrease0 : (Nat.blt number (2 : Nat)) with | true => Bool.true | false => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (steps + (1 : Nat)) 18446744073709551616)) && Bool.true)) && (__fits_1 ((Coverage.Recur.LexLeanRuntime.subtract (number) ((2 : Nat)) : Nat)) ((steps + (1 : Nat))))))) -termination_by number -decreasing_by all_goals first | (have __evidence := Coverage.Recur.countdown_decreases (number) (steps) (__decrease0); subst_vars; exact __evidence) - -theorem __rel_1 (number : Nat) (steps : Nat) : _root_.LexLeanPreservation.FunRel __prog 1 [(_root_.LexLeanTarget.TargetSyntax.Value.nat number), (_root_.LexLeanTarget.TargetSyntax.Value.nat steps)] (_root_.LexLeanPreservation.Rel (__fits_1 number steps) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Recur.countdown number steps))) := by - rw [Coverage.Recur.countdown.eq_def, __fits_1.eq_def] - exact _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (match (generalizing := false) __decrease0 : __b with | true => Bool.true | false => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (steps + (1 : Nat)) 18446744073709551616)) && Bool.true)) && (__fits_1 ((Coverage.Recur.LexLeanRuntime.subtract (number) ((2 : Nat)) : Nat)) ((steps + (1 : Nat))))))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match (generalizing := false) __decrease0 : __b with | true => steps | false => (Coverage.Recur.countdown ((Coverage.Recur.LexLeanRuntime.subtract (number) ((2 : Nat)) : Nat)) ((steps + (1 : Nat)))))) (Nat.blt number (2 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt number (2 : Nat))) (fun __decrease0 => (_root_.LexLeanPreservation.conv_var rfl)) (fun __decrease0 => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub number (2 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd steps (1 : Nat))) _root_.LexLeanPreservation.convL_nil)) (__rel_1 ((Coverage.Recur.LexLeanRuntime.subtract (number) ((2 : Nat)) : Nat)) ((steps + (1 : Nat))))))) -termination_by number -decreasing_by all_goals first | (have __evidence := Coverage.Recur.countdown_decreases (number) (steps) (__decrease0); subst_vars; exact __evidence) - -def __fits_2 (value : Nat) (bound : Nat) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (match (generalizing := false) __decrease0 : (Nat.beq bound (0 : Nat)) with | true => Bool.true | false => (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (match (generalizing := false) __decrease1 : (Nat.blt value bound) with | true => Bool.true | false => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && (__fits_2 ((Coverage.Recur.LexLeanRuntime.subtract (value) (bound) : Nat)) (bound))))))) -termination_by value -decreasing_by all_goals first | (have __evidence := Coverage.Recur.reduce_decreases (value) (bound) (__decrease0) (__decrease1); subst_vars; exact __evidence) - -theorem __rel_2 (value : Nat) (bound : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat value), (_root_.LexLeanTarget.TargetSyntax.Value.nat bound)] (_root_.LexLeanPreservation.Rel (__fits_2 value bound) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Recur.reduce value bound))) := by - rw [Coverage.Recur.reduce.eq_def, __fits_2.eq_def] - exact _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (match (generalizing := false) __decrease0 : __b with | true => Bool.true | false => (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (match (generalizing := false) __decrease1 : (Nat.blt value bound) with | true => Bool.true | false => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && (__fits_2 ((Coverage.Recur.LexLeanRuntime.subtract (value) (bound) : Nat)) (bound))))))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match (generalizing := false) __decrease0 : __b with | true => value | false => (match (generalizing := false) __decrease1 : (Nat.blt value bound) with | true => value | false => (Coverage.Recur.reduce ((Coverage.Recur.LexLeanRuntime.subtract (value) (bound) : Nat)) (bound))))) (Nat.beq bound (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq bound (0 : Nat))) (fun __decrease0 => (_root_.LexLeanPreservation.conv_var rfl)) (fun __decrease0 => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (match (generalizing := false) __decrease1 : __b with | true => Bool.true | false => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && (__fits_2 ((Coverage.Recur.LexLeanRuntime.subtract (value) (bound) : Nat)) (bound))))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match (generalizing := false) __decrease1 : __b with | true => value | false => (Coverage.Recur.reduce ((Coverage.Recur.LexLeanRuntime.subtract (value) (bound) : Nat)) (bound)))) (Nat.blt value bound) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt value bound)) (fun __decrease1 => (_root_.LexLeanPreservation.conv_var rfl)) (fun __decrease1 => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub value bound)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_2 ((Coverage.Recur.LexLeanRuntime.subtract (value) (bound) : Nat)) (bound))))))) -termination_by value -decreasing_by all_goals first | (have __evidence := Coverage.Recur.reduce_decreases (value) (bound) (__decrease0) (__decrease1); subst_vars; exact __evidence) - -def __fits_3 (target : Nat) (low : Nat) (high : Nat) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (match (generalizing := false) __decrease0 : (Nat.blt low high) with | true => (((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (low + low) 18446744073709551616)) && Bool.true)) && Bool.true) && (match (generalizing := false) __decrease1 : (Nat.ble target (low + low)) with | true => Bool.true | false => ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (low + (1 : Nat)) 18446744073709551616)) && (Bool.true && Bool.true))) && (__fits_3 (target) ((low + (1 : Nat))) (high))))) | false => Bool.true)) -termination_by (Coverage.Recur.LexLeanRuntime.subtract (high) (low) : Nat) -decreasing_by all_goals first | (have __evidence := Coverage.Recur.search_decreases (target) (low) (high) (__decrease0) (__decrease1); subst_vars; exact __evidence) - -theorem __rel_3 (target : Nat) (low : Nat) (high : Nat) : _root_.LexLeanPreservation.FunRel __prog 3 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target), (_root_.LexLeanTarget.TargetSyntax.Value.nat low), (_root_.LexLeanTarget.TargetSyntax.Value.nat high)] (_root_.LexLeanPreservation.Rel (__fits_3 target low high) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Recur.search target low high))) := by - rw [Coverage.Recur.search.eq_def, __fits_3.eq_def] - exact _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (match (generalizing := false) __decrease0 : __b with | true => (((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (low + low) 18446744073709551616)) && Bool.true)) && Bool.true) && (match (generalizing := false) __decrease1 : (Nat.ble target (low + low)) with | true => Bool.true | false => ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (low + (1 : Nat)) 18446744073709551616)) && (Bool.true && Bool.true))) && (__fits_3 (target) ((low + (1 : Nat))) (high))))) | false => Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match (generalizing := false) __decrease0 : __b with | true => (match (generalizing := false) __decrease1 : (Nat.ble target (low + low)) with | true => low | false => (Coverage.Recur.search (target) ((low + (1 : Nat))) (high))) | false => high)) (Nat.blt low high) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt low high)) (fun __decrease0 => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (match (generalizing := false) __decrease1 : __b with | true => Bool.true | false => ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (low + (1 : Nat)) 18446744073709551616)) && (Bool.true && Bool.true))) && (__fits_3 (target) ((low + (1 : Nat))) (high))))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match (generalizing := false) __decrease1 : __b with | true => low | false => (Coverage.Recur.search (target) ((low + (1 : Nat))) (high)))) (Nat.ble target (low + low)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd low low)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe target (low + low))) (fun __decrease1 => (_root_.LexLeanPreservation.conv_var rfl)) (fun __decrease1 => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd low (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (__rel_3 (target) ((low + (1 : Nat))) (high)))))) (fun __decrease0 => (_root_.LexLeanPreservation.conv_var rfl))) -termination_by (Coverage.Recur.LexLeanRuntime.subtract (high) (low) : Nat) -decreasing_by all_goals first | (have __evidence := Coverage.Recur.search_decreases (target) (low) (high) (__decrease0) (__decrease1); subst_vars; exact __evidence) - -def __fits_0 (a : Nat) (b : Nat) : Bool := - ((((Bool.true && (Bool.true && Bool.true)) && (__fits_1 (a) ((0 : Nat)))) && (((((Bool.true && (Bool.true && Bool.true)) && (__fits_2 (a) (b))) && (((Bool.true && (Bool.true && (Bool.true && Bool.true))) && (__fits_3 (a) ((0 : Nat)) (b))) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) - -attribute [local irreducible] Coverage.Recur.countdown Coverage.Recur.reduce Coverage.Recur.search in -theorem __rel_0 (a : Nat) (b : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)] (_root_.LexLeanPreservation.Rel (__fits_0 a b) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Coverage.RecRoots.wellFounded a b))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (__rel_1 (a) ((0 : Nat)))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_2 (a) (b))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (__rel_3 (a) ((0 : Nat)) (b))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) - -def denote (a : Nat) (b : Nat) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 a b) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Coverage.RecRoots.wellFounded a b)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (a : Nat) (b : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)] (_root_.LexLeanPreservation.Rel (__fits_0 a b) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Coverage.RecRoots.wellFounded a b))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 a b) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R32/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R32/Compose/RustCore.lean deleted file mode 100644 index d38e4e86e..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R32/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustCore -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustCore - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (a : Nat) (b : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R32/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R32/Compose/RustStd.lean deleted file mode 100644 index d48957d2d..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R32/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustStd - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (a : Nat) (b : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R32/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R32/RustCore.lean deleted file mode 100644 index 0d62ea856..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R32/RustCore.lean +++ /dev/null @@ -1,57 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustCore -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat (.pair .nat .nat)), - body := (.build .pair (.pair .nat (.pair .nat .nat)) [(.call 1 [(.var 0), (.value .nat (.nat 0))]), (.build .pair (.pair .nat .nat) [(.call 2 [(.var 0), (.var 1)]), (.call 3 [(.var 0), (.value .nat (.nat 0)), (.var 1)])])]) }, - { parameters := [0, 1], types := [.nat, .nat], result := .nat, - body := (.cond (.prim .natLt [(.var 0), (.value .nat (.nat 2))]) (.var 1) (.call 1 [(.prim .natSub [(.var 0), (.value .nat (.nat 2))]), (.prim .natAdd [(.var 1), (.value .nat (.nat 1))])])) }, - { parameters := [0, 1], types := [.nat, .nat], result := .nat, - body := (.cond (.prim .natEq [(.var 1), (.value .nat (.nat 0))]) (.var 0) (.cond (.prim .natLt [(.var 0), (.var 1)]) (.var 0) (.call 2 [(.prim .natSub [(.var 0), (.var 1)]), (.var 1)]))) }, - { parameters := [0, 1, 2], types := [.nat, .nat, .nat], result := .nat, - body := (.cond (.prim .natLt [(.var 1), (.var 2)]) (.cond (.prim .natLe [(.var 0), (.prim .natAdd [(.var 1), (.var 1)])]) (.var 1) (.call 3 [(.var 0), (.prim .natAdd [(.var 1), (.value .nat (.nat 1))]), (.var 2)])) (.var 2)) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .core, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair .nat (.pair .nat .nat))) (.mk [] (.succeed (.pair (.call (.function 1) [(.copy (.generated .binding 0)), (.lit (.nat 0))] true) (.pair (.call (.function 2) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false) (.call (.function 3) [(.copy (.generated .binding 0)), (.lit (.nat 0)), (.copy (.generated .binding 1))] true)))))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false) (.mk [] (.succeed (.copy (.generated .binding 1)))) (.mk [] (.call (.function 1) [(.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))] (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)))] false))))), - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .nat (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false) (.mk [] (.copy (.generated .binding 0))) (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 1)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false) (.mk [] (.copy (.generated .binding 0))) (.mk [] (.call (.function 2) [(.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))), (.copy (.generated .binding 1))] false))))))), - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 2)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 13)), (.move (.generated .operand 14))] false) (.mk [(.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] true))))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false) (.mk [] (.succeed (.copy (.generated .binding 1)))) (.mk [] (.call (.function 3) [(.copy (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 20)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 19)), (.move (.generated .operand 20))] true))), (.copy (.generated .binding 2))] false)))) (.mk [] (.succeed (.copy (.generated .binding 2)))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.pair (.call (.function 1) [(.copy (.generated .binding 0)), (.lit (.nat 0))] true) (.pair (.call (.function 2) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false) (.call (.function 3) [(.copy (.generated .binding 0)), (.lit (.nat 0)), (.copy (.generated .binding 1))] true)))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.nat, .nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil))))))⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 2)))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false) (.mk [] (.succeed (.copy (.generated .binding 1)))) (.mk [] (.call (.function 1) [(.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))] (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)))] false))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 2)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.copy (.generated .binding 1)))) (lb := []) (tb := (.call (.function 1) [(.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))] (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)))] false)) (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl))) (Corr.callF (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl)))⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false) (.mk [] (.copy (.generated .binding 0))) (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 1)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false) (.mk [] (.copy (.generated .binding 0))) (.mk [] (.call (.function 2) [(.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))), (.copy (.generated .binding 1))] false))))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.copy (.generated .binding 0))) (lb := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 1)))]) (tb := (.cond (.call (.runtime .natLt) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false) (.mk [] (.copy (.generated .binding 0))) (.mk [] (.call (.function 2) [(.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))), (.copy (.generated .binding 1))] false)))) (Corr.bOfE (Corr.var rfl rfl)) (Corr.cond (lc := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 1)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.copy (.generated .binding 0))) (lb := []) (tb := (.call (.function 2) [(.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))), (.copy (.generated .binding 1))] false)) (Corr.bOfE (Corr.var rfl rfl)) (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)))))⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 2)))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 13)), (.move (.generated .operand 14))] false) (.mk [(.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] true))))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false) (.mk [] (.succeed (.copy (.generated .binding 1)))) (.mk [] (.call (.function 3) [(.copy (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 20)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 19)), (.move (.generated .operand 20))] true))), (.copy (.generated .binding 2))] false)))) (.mk [] (.succeed (.copy (.generated .binding 2))))), [(2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 2)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 13)), (.move (.generated .operand 14))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] true))))]) (ta := (.cond (.call (.runtime .natLe) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false) (.mk [] (.succeed (.copy (.generated .binding 1)))) (.mk [] (.call (.function 3) [(.copy (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 20)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 19)), (.move (.generated .operand 20))] true))), (.copy (.generated .binding 2))] false)))) (lb := []) (tb := (.succeed (.copy (.generated .binding 2)))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] true))))]) (ce := (.call (.runtime .natLe) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.copy (.generated .binding 1)))) (lb := []) (tb := (.call (.function 3) [(.copy (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 20)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 19)), (.move (.generated .operand 20))] true))), (.copy (.generated .binding 2))] false)) (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl))) (Corr.callF (ts := [.nat, .nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 20)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 19)), (.move (.generated .operand 20))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl))) (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | _ + 4 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R32/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R32/RustStd.lean deleted file mode 100644 index f83ef9e20..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R32/RustStd.lean +++ /dev/null @@ -1,57 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat (.pair .nat .nat)), - body := (.build .pair (.pair .nat (.pair .nat .nat)) [(.call 1 [(.var 0), (.value .nat (.nat 0))]), (.build .pair (.pair .nat .nat) [(.call 2 [(.var 0), (.var 1)]), (.call 3 [(.var 0), (.value .nat (.nat 0)), (.var 1)])])]) }, - { parameters := [0, 1], types := [.nat, .nat], result := .nat, - body := (.cond (.prim .natLt [(.var 0), (.value .nat (.nat 2))]) (.var 1) (.call 1 [(.prim .natSub [(.var 0), (.value .nat (.nat 2))]), (.prim .natAdd [(.var 1), (.value .nat (.nat 1))])])) }, - { parameters := [0, 1], types := [.nat, .nat], result := .nat, - body := (.cond (.prim .natEq [(.var 1), (.value .nat (.nat 0))]) (.var 0) (.cond (.prim .natLt [(.var 0), (.var 1)]) (.var 0) (.call 2 [(.prim .natSub [(.var 0), (.var 1)]), (.var 1)]))) }, - { parameters := [0, 1, 2], types := [.nat, .nat, .nat], result := .nat, - body := (.cond (.prim .natLt [(.var 1), (.var 2)]) (.cond (.prim .natLe [(.var 0), (.prim .natAdd [(.var 1), (.var 1)])]) (.var 1) (.call 3 [(.var 0), (.prim .natAdd [(.var 1), (.value .nat (.nat 1))]), (.var 2)])) (.var 2)) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair .nat (.pair .nat .nat))) (.mk [] (.succeed (.pair (.call (.function 1) [(.copy (.generated .binding 0)), (.lit (.nat 0))] true) (.pair (.call (.function 2) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false) (.call (.function 3) [(.copy (.generated .binding 0)), (.lit (.nat 0)), (.copy (.generated .binding 1))] true)))))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false) (.mk [] (.succeed (.copy (.generated .binding 1)))) (.mk [] (.call (.function 1) [(.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))] (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)))] false))))), - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .nat (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false) (.mk [] (.copy (.generated .binding 0))) (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 1)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false) (.mk [] (.copy (.generated .binding 0))) (.mk [] (.call (.function 2) [(.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))), (.copy (.generated .binding 1))] false))))))), - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 2)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 13)), (.move (.generated .operand 14))] false) (.mk [(.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] true))))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false) (.mk [] (.succeed (.copy (.generated .binding 1)))) (.mk [] (.call (.function 3) [(.copy (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 20)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 19)), (.move (.generated .operand 20))] true))), (.copy (.generated .binding 2))] false)))) (.mk [] (.succeed (.copy (.generated .binding 2)))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.pair (.call (.function 1) [(.copy (.generated .binding 0)), (.lit (.nat 0))] true) (.pair (.call (.function 2) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false) (.call (.function 3) [(.copy (.generated .binding 0)), (.lit (.nat 0)), (.copy (.generated .binding 1))] true)))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.nat, .nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil))))))⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 2)))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false) (.mk [] (.succeed (.copy (.generated .binding 1)))) (.mk [] (.call (.function 1) [(.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))] (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)))] false))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 2)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.copy (.generated .binding 1)))) (lb := []) (tb := (.call (.function 1) [(.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))] (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)))] false)) (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl))) (Corr.callF (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl)))⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false) (.mk [] (.copy (.generated .binding 0))) (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 1)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false) (.mk [] (.copy (.generated .binding 0))) (.mk [] (.call (.function 2) [(.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))), (.copy (.generated .binding 1))] false))))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.copy (.generated .binding 0))) (lb := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 1)))]) (tb := (.cond (.call (.runtime .natLt) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false) (.mk [] (.copy (.generated .binding 0))) (.mk [] (.call (.function 2) [(.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))), (.copy (.generated .binding 1))] false)))) (Corr.bOfE (Corr.var rfl rfl)) (Corr.cond (lc := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 1)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.copy (.generated .binding 0))) (lb := []) (tb := (.call (.function 2) [(.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))), (.copy (.generated .binding 1))] false)) (Corr.bOfE (Corr.var rfl rfl)) (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)))))⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 2)))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 13)), (.move (.generated .operand 14))] false) (.mk [(.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] true))))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false) (.mk [] (.succeed (.copy (.generated .binding 1)))) (.mk [] (.call (.function 3) [(.copy (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 20)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 19)), (.move (.generated .operand 20))] true))), (.copy (.generated .binding 2))] false)))) (.mk [] (.succeed (.copy (.generated .binding 2))))), [(2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 2)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 13)), (.move (.generated .operand 14))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] true))))]) (ta := (.cond (.call (.runtime .natLe) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false) (.mk [] (.succeed (.copy (.generated .binding 1)))) (.mk [] (.call (.function 3) [(.copy (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 20)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 19)), (.move (.generated .operand 20))] true))), (.copy (.generated .binding 2))] false)))) (lb := []) (tb := (.succeed (.copy (.generated .binding 2)))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] true))))]) (ce := (.call (.runtime .natLe) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.copy (.generated .binding 1)))) (lb := []) (tb := (.call (.function 3) [(.copy (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 20)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 19)), (.move (.generated .operand 20))] true))), (.copy (.generated .binding 2))] false)) (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl))) (Corr.callF (ts := [.nat, .nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 20)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 19)), (.move (.generated .operand 20))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl))) (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | _ + 4 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R33/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R33/Compose/RustStd.lean deleted file mode 100644 index 89b9ded2b..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R33/Compose/RustStd.lean +++ /dev/null @@ -1,20 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.Compose.RustStd - -theorem __wt_0 : ∀ (__v : (Coverage.Syntax.Term)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.RustStd.program _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.RustStd.krate _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.RustStd.flags (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.__enc_0 __v) (.adt 0) - | Coverage.Syntax.Term.literal __x0 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x0) _root_.LexLeanPreservation.Rust.wtl_nil) - | Coverage.Syntax.Term.plus __x0 __x1 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 __x0) (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 __x1) _root_.LexLeanPreservation.Rust.wtl_nil)) - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (t : (Coverage.Syntax.Term)) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.__enc_0 t)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.denote t) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.__enc_0 t)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 t) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.root t) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R33/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R33/RustStd.lean deleted file mode 100644 index 6544b52b4..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R33/RustStd.lean +++ /dev/null @@ -1,50 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [{ constructors := [[.nat], [(.adt 0), (.adt 0)]] }], functions := [ - { parameters := [0], types := [(.adt 0)], result := (.pair (.adt 0) (.adt 0)), - body := (.build .pair (.pair (.adt 0) (.adt 0)) [(.call 1 [(.var 0)]), (.call 2 [(.var 0)])]) }, - { parameters := [0], types := [(.adt 0)], result := (.adt 0), - body := (.«match» (.adt 0) (.var 0) [(.arm (.adt 0) [1] (.build (.adt 0) (.adt 0) [(.var 1)])), (.arm (.adt 1) [2, 3] (.«match» (.adt 0) (.var 2) [(.arm (.adt 0) [4] (.build (.adt 1) (.adt 0) [(.build (.adt 0) (.adt 0) [(.var 4)]), (.call 1 [(.var 3)])])), (.arm (.adt 1) [5, 6] (.call 1 [(.build (.adt 1) (.adt 0) [(.var 5), (.build (.adt 1) (.adt 0) [(.var 6), (.var 3)])])]))]))]) }, - { parameters := [0], types := [(.adt 0)], result := (.adt 0), - body := (.«match» (.adt 0) (.var 0) [(.arm (.adt 0) [1] (.build (.adt 0) (.adt 0) [(.var 1)])), (.arm (.adt 1) [2, 3] (.«match» (.adt 0) (.var 2) [(.arm (.adt 0) [4] (.call 2 [(.var 3)])), (.arm (.adt 1) [5, 6] (.call 2 [(.build (.adt 1) (.adt 0) [(.var 5), (.var 3)])]))]))]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.enum (.adt 0) [{ number := 0, fields := [.nat] }, { number := 1, fields := [(.rc (.adt 0)), (.rc (.adt 0))] }]), - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.pair (.adt 0) (.adt 0)) (.mk [] (.pair (.call (.function 1) [(.clone (.generated .binding 0))] false) (.call (.function 2) [(.move (.generated .binding 0))] false)))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.adt 0) (.mk [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1))]) (.mk [] (.construct (.adt 0 0) [(.copy (.generated .binding 1))]))), (.mk (.adt 0 1 [(.bind (.generated .boxed 5)), (.bind (.generated .boxed 6))]) (.mk [(.mk (.bind (.generated .binding 2)) none (.unbox (.generated .boxed 5))), (.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 6))), (.mk (.bind (.generated .holder 2)) none (.move (.generated .binding 2)))] (.matchOn (.move (.generated .holder 2)) [(.mk (.adt 0 0 [(.bind (.generated .binding 4))]) (.mk [] (.construct (.adt 0 1) [(.box (.construct (.adt 0 0) [(.copy (.generated .binding 4))])), (.box (.call (.function 1) [(.move (.generated .binding 3))] false))]))), (.mk (.adt 0 1 [(.bind (.generated .boxed 3)), (.bind (.generated .boxed 4))]) (.mk [(.mk (.bind (.generated .binding 5)) none (.unbox (.generated .boxed 3))), (.mk (.bind (.generated .binding 6)) none (.unbox (.generated .boxed 4)))] (.call (.function 1) [(.construct (.adt 0 1) [(.box (.move (.generated .binding 5))), (.box (.construct (.adt 0 1) [(.box (.move (.generated .binding 6))), (.box (.move (.generated .binding 3)))]))])] false)))])))]))), - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.adt 0) (.mk [(.mk (.bind (.generated .holder 7)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 7)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1))]) (.mk [] (.construct (.adt 0 0) [(.copy (.generated .binding 1))]))), (.mk (.adt 0 1 [(.bind (.generated .boxed 10)), (.bind (.generated .boxed 11))]) (.mk [(.mk (.bind (.generated .binding 2)) none (.unbox (.generated .boxed 10))), (.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 11))), (.mk (.bind (.generated .holder 8)) none (.move (.generated .binding 2)))] (.matchOn (.move (.generated .holder 8)) [(.mk (.adt 0 0 [.wild]) (.mk [] (.call (.function 2) [(.move (.generated .binding 3))] false))), (.mk (.adt 0 1 [(.bind (.generated .boxed 9)), .wild]) (.mk [(.mk (.bind (.generated .binding 5)) none (.unbox (.generated .boxed 9)))] (.call (.function 2) [(.construct (.adt 0 1) [(.box (.move (.generated .binding 5))), (.box (.move (.generated .binding 3)))])] false)))])))])))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.pair (.call (.function 1) [(.clone (.generated .binding 0))] false) (.call (.function 2) [(.move (.generated .binding 0))] false)), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil)))))⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1))]) (.mk [] (.construct (.adt 0 0) [(.copy (.generated .binding 1))]))), (.mk (.adt 0 1 [(.bind (.generated .boxed 5)), (.bind (.generated .boxed 6))]) (.mk [(.mk (.bind (.generated .binding 2)) none (.unbox (.generated .boxed 5))), (.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 6))), (.mk (.bind (.generated .holder 2)) none (.move (.generated .binding 2)))] (.matchOn (.move (.generated .holder 2)) [(.mk (.adt 0 0 [(.bind (.generated .binding 4))]) (.mk [] (.construct (.adt 0 1) [(.box (.construct (.adt 0 0) [(.copy (.generated .binding 4))])), (.box (.call (.function 1) [(.move (.generated .binding 3))] false))]))), (.mk (.adt 0 1 [(.bind (.generated .boxed 3)), (.bind (.generated .boxed 4))]) (.mk [(.mk (.bind (.generated .binding 5)) none (.unbox (.generated .boxed 3))), (.mk (.bind (.generated .binding 6)) none (.unbox (.generated .boxed 4)))] (.call (.function 1) [(.construct (.adt 0 1) [(.box (.move (.generated .binding 5))), (.box (.construct (.adt 0 1) [(.box (.move (.generated .binding 6))), (.box (.move (.generated .binding 3)))]))])] false)))])))]), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.adt 0 0) [(.copy (.generated .binding 1))])) (Corr.mCons (Γ' := [(3, (.adt 0), (some 3)), (2, (.adt 0), (some 2)), (0, (.adt 0), (some 0))]) (j := 1) (loads := [(.mk (.bind (.generated .binding 2)) none (.unbox (.generated .boxed 5))), (.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 6)))]) (lets := [(.mk (.bind (.generated .holder 2)) none (.move (.generated .binding 2)))]) (tail := (.matchOn (.move (.generated .holder 2)) [(.mk (.adt 0 0 [(.bind (.generated .binding 4))]) (.mk [] (.construct (.adt 0 1) [(.box (.construct (.adt 0 0) [(.copy (.generated .binding 4))])), (.box (.call (.function 1) [(.move (.generated .binding 3))] false))]))), (.mk (.adt 0 1 [(.bind (.generated .boxed 3)), (.bind (.generated .boxed 4))]) (.mk [(.mk (.bind (.generated .binding 5)) none (.unbox (.generated .boxed 3))), (.mk (.bind (.generated .binding 6)) none (.unbox (.generated .boxed 4)))] (.call (.function 1) [(.construct (.adt 0 1) [(.box (.move (.generated .binding 5))), (.box (.construct (.adt 0 1) [(.box (.move (.generated .binding 6))), (.box (.move (.generated .binding 3)))]))])] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(4, .nat, (some 4)), (3, (.adt 0), (some 3)), (2, (.adt 0), (some 2)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.adt 0 1) [(.box (.construct (.adt 0 0) [(.copy (.generated .binding 4))])), (.box (.call (.function 1) [(.move (.generated .binding 3))] false))])) (Corr.mCons (Γ' := [(6, (.adt 0), (some 6)), (5, (.adt 0), (some 5)), (3, (.adt 0), (some 3)), (2, (.adt 0), (some 2)), (0, (.adt 0), (some 0))]) (j := 1) (loads := [(.mk (.bind (.generated .binding 5)) none (.unbox (.generated .boxed 3))), (.mk (.bind (.generated .binding 6)) none (.unbox (.generated .boxed 4)))]) (lets := []) (tail := (.call (.function 1) [(.construct (.adt 0 1) [(.box (.move (.generated .binding 5))), (.box (.construct (.adt 0 1) [(.box (.move (.generated .binding 6))), (.box (.move (.generated .binding 3)))]))])] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.adt 0), (.adt 0)]) (mask := [true, true]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.adt 0), (.adt 0)]) (mask := [true, true]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [(.adt 0), (.adt 0)]) (mask := [true, true]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 7)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 7)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1))]) (.mk [] (.construct (.adt 0 0) [(.copy (.generated .binding 1))]))), (.mk (.adt 0 1 [(.bind (.generated .boxed 10)), (.bind (.generated .boxed 11))]) (.mk [(.mk (.bind (.generated .binding 2)) none (.unbox (.generated .boxed 10))), (.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 11))), (.mk (.bind (.generated .holder 8)) none (.move (.generated .binding 2)))] (.matchOn (.move (.generated .holder 8)) [(.mk (.adt 0 0 [.wild]) (.mk [] (.call (.function 2) [(.move (.generated .binding 3))] false))), (.mk (.adt 0 1 [(.bind (.generated .boxed 9)), .wild]) (.mk [(.mk (.bind (.generated .binding 5)) none (.unbox (.generated .boxed 9)))] (.call (.function 2) [(.construct (.adt 0 1) [(.box (.move (.generated .binding 5))), (.box (.move (.generated .binding 3)))])] false)))])))]), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.adt 0 0) [(.copy (.generated .binding 1))])) (Corr.mCons (Γ' := [(3, (.adt 0), (some 3)), (2, (.adt 0), (some 2)), (0, (.adt 0), (some 0))]) (j := 1) (loads := [(.mk (.bind (.generated .binding 2)) none (.unbox (.generated .boxed 10))), (.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 11)))]) (lets := [(.mk (.bind (.generated .holder 8)) none (.move (.generated .binding 2)))]) (tail := (.matchOn (.move (.generated .holder 8)) [(.mk (.adt 0 0 [.wild]) (.mk [] (.call (.function 2) [(.move (.generated .binding 3))] false))), (.mk (.adt 0 1 [(.bind (.generated .boxed 9)), .wild]) (.mk [(.mk (.bind (.generated .binding 5)) none (.unbox (.generated .boxed 9)))] (.call (.function 2) [(.construct (.adt 0 1) [(.box (.move (.generated .binding 5))), (.box (.move (.generated .binding 3)))])] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(4, .nat, none), (3, (.adt 0), (some 3)), (2, (.adt 0), (some 2)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.call (.function 2) [(.move (.generated .binding 3))] false)) (Corr.mCons (Γ' := [(6, (.adt 0), none), (5, (.adt 0), (some 5)), (3, (.adt 0), (some 3)), (2, (.adt 0), (some 2)), (0, (.adt 0), (some 0))]) (j := 1) (loads := [(.mk (.bind (.generated .binding 5)) none (.unbox (.generated .boxed 9)))]) (lets := []) (tail := (.call (.function 2) [(.construct (.adt 0 1) [(.box (.move (.generated .binding 5))), (.box (.move (.generated .binding 3)))])] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.adt 0), (.adt 0)]) (mask := [true, true]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl)⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | _ + 3 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R4.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R4.lean deleted file mode 100644 index abfc490b5..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R4.lean +++ /dev/null @@ -1,106 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Coverage.Boundary -import Coverage.Colls -import Coverage.Main -import Coverage.Prims -import Coverage.RecRoots -import Coverage.Recur -import Coverage.Syntax -import Coverage.Types -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [(.list .nat), (.list .int)], result := (.pair .nat .int), - body := (.build .pair (.pair .nat .int) [(.call 1 [(.closure 2 []), (.value .nat (.nat 0)), (.var 0)]), (.call 3 [(.closure 4 []), (.value .int (.int 5)), (.var 1)])]) }, - { parameters := [0, 1, 2], types := [(.fn [.nat, .nat] .nat), .nat, (.list .nat)], result := .nat, - body := (.«match» .nat (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 1 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1], types := [.nat, .nat], result := .nat, - body := (.prim .natAdd [(.var 0), (.var 1)]) }, - { parameters := [0, 1, 2], types := [(.fn [.int, .int] .int), .int, (.list .int)], result := .int, - body := (.«match» .int (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 3 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1], types := [.int, .int], result := .int, - body := (.prim .intSub [(.var 0), (.var 1)]) }, - { parameters := [0], types := [(.list .int)], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.var 1), (.var 3)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 5 [(.var 2)]) (.build .false .bool [])))]))]) }, - { parameters := [0, 1], types := [(.list .nat), (.list .int)], result := (.option (.pair .nat .int)), - body := (.cond (.call 5 [(.var 1)]) (.build .some (.option (.pair .nat .int)) [(.call 0 [(.var 0), (.var 1)])]) (.build .none (.option (.pair .nat .int)) [])) }] } - -def __fits_2 (a : Nat) (x : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (a + x) 18446744073709551616)) - -theorem __rel_2 (a : Nat) (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_2 a x) (_root_.LexLeanTarget.TargetSyntax.Value.nat ((a + x)))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd a x)) - -def __fits_4 (a : Int) (x : Int) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && (_root_.LexLeanPreservation.intFits (Coverage.Colls.LexLeanRuntime.subtract (a) (x) : Int))) - -theorem __rel_4 (a : Int) (x : Int) : _root_.LexLeanPreservation.FunRel __prog 4 [(_root_.LexLeanTarget.TargetSyntax.Value.int a), (_root_.LexLeanTarget.TargetSyntax.Value.int x)] (_root_.LexLeanPreservation.Rel (__fits_4 a x) (_root_.LexLeanTarget.TargetSyntax.Value.int ((Coverage.Colls.LexLeanRuntime.subtract (a) (x) : Int)))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intSub a x)) - -def __fits_0 (xs : (List Nat)) (s : (List Int)) : Bool := - ((((Bool.true && (Bool.true && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : Nat) (__p1 : Nat) => __fits_2 __p0 __p1) ((fun (a : Nat) (x : Nat) => (a + x))) ((0 : Nat)) (xs))) && (((Bool.true && (Bool.true && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : Int) (__p1 : Int) => __fits_4 __p0 __p1) ((fun (a : Int) (x : Int) => (Coverage.Colls.LexLeanRuntime.subtract (a) (x) : Int))) ((5 : Int)) (s))) && Bool.true)) && Bool.true) - -theorem __rel_0 (xs : (List Nat)) (s : (List Int)) : _root_.LexLeanPreservation.FunRel __prog 0 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) xs), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) s)] (_root_.LexLeanPreservation.Rel (__fits_0 xs s) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int) (Coverage.Colls.folds xs s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.nat) (es := _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) ((fun (a : Nat) (x : Nat) => (a + x))) (fun (__p0 : Nat) (__p1 : Nat) => __fits_2 __p0 __p1) 2 [] (fun (__p0 : Nat) (__p1 : Nat) => __rel_2 __p0 __p1) (p := __prog) (fi := 1) (ta := .nat) (ts := .nat) rfl ((0 : Nat)) (xs))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.int) (es := _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (fun _ => rfl) ((fun (a : Int) (x : Int) => (Coverage.Colls.LexLeanRuntime.subtract (a) (x) : Int))) (fun (__p0 : Int) (__p1 : Int) => __fits_4 __p0 __p1) 4 [] (fun (__p0 : Int) (__p1 : Int) => __rel_4 __p0 __p1) (p := __prog) (fi := 3) (ta := .int) (ts := .int) rfl ((5 : Int)) (s))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) - -def denote (xs : (List Nat)) (s : (List Int)) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 xs s) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int) (Coverage.Colls.folds xs s)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (xs : (List Nat)) (s : (List Int)) : _root_.LexLeanPreservation.RunConv __prog 0 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) xs), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) s)] (_root_.LexLeanPreservation.Rel (__fits_0 xs s) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int) (Coverage.Colls.folds xs s))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 xs s) - -def __valid_5 : (List Int) -> Bool := - _root_.LexLeanPreservation.ascSet (Coverage.Colls.LexLeanCollections.Key.compare : Int -> Int -> Ordering) - -def __inv_5 : (List Int) -> Prop := - _root_.LexLeanPreservation.InvSet (Coverage.Colls.LexLeanCollections.Key.compare : Int -> Int -> Ordering) - -theorem __viff_5 : ∀ (__v : (List Int)), __valid_5 __v = Bool.true ↔ __inv_5 __v := - _root_.LexLeanPreservation.ascSet_inv (Coverage.Colls.LexLeanCollections.Key.compare : Int -> Int -> Ordering) - -theorem __vrel_5 : ∀ (__v : (List Int)), _root_.LexLeanPreservation.FunRel __prog 5 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_5 __v))) := - _root_.LexLeanPreservation.tpl_validSet (_root_.LexLeanPreservation.keySpec_int (Coverage.Colls.LexLeanCollections.Key.compare : Int -> Int -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (fun _ => rfl) rfl - -def entryFits (xs : (List Nat)) (s : (List Int)) : Bool := - (if __valid_5 s then __fits_0 xs s else Bool.true) - -def entryValue (xs : (List Nat)) (s : (List Int)) : _root_.LexLeanTarget.TargetSyntax.Value := - (if __valid_5 s then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int) (Coverage.Colls.folds xs s))) else _root_.LexLeanTarget.TargetSyntax.Value.none) - -/-- The entry's observation. -/ -def denoteEntry (xs : (List Nat)) (s : (List Int)) : _root_.LexLeanPreservation.Obs := - _root_.cond (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.entryFits xs s) (_root_.LexLeanPreservation.Obs.value (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.entryValue xs s)) _root_.LexLeanPreservation.Obs.overflow - -/-- §17.12's invariants of the validated parameters. -/ -def accepts (xs : (List Nat)) (s : (List Int)) : Prop := - (__inv_5 s ∧ _root_.True) - -theorem entry (xs : (List Nat)) (s : (List Int)) : _root_.LexLeanPreservation.RunConv __prog 6 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) xs), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) s)] (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.denoteEntry xs s) := - _root_.LexLeanPreservation.run_of_funRel (_root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then __fits_0 xs s else Bool.true) (fun __c => if __c then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int) (Coverage.Colls.folds xs s))) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_5 s) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_5 s)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_0 xs s)) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (by simp [_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.entryFits])) - -theorem entry_accepts (xs : (List Nat)) (s : (List Int)) (__h : _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.accepts xs s) : _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.denoteEntry xs s = _root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.denote xs s) := by - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.accepts at __h - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.denoteEntry _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.entryFits _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.entryValue _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.denote - simp only [_root_.if_true, (__viff_5 s).mpr __h.1] - cases __fits_0 xs s <;> rfl - -theorem entry_refuses (xs : (List Nat)) (s : (List Int)) (__h : ¬ _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.accepts xs s) : _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.denoteEntry xs s = _root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none := by - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.accepts at __h - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.denoteEntry _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.entryFits _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.entryValue - cases __c0 : __valid_5 s - · simp - · exact _root_.absurd ⟨(__viff_5 s).mp __c0, _root_.trivial⟩ __h - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R4/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R4/Compose/RustStd.lean deleted file mode 100644 index 719ba6867..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R4/Compose/RustStd.lean +++ /dev/null @@ -1,20 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.Compose.RustStd - -/-- The rendering of the root's entry, invoked on the encoded arguments, -realizes the encoded source result when the arguments satisfy §17.12's -invariants, and refuses them with `none` otherwise. -/ -theorem root (xs : (List Nat)) (s : (List Int)) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) xs), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) s)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 6) [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) xs), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) s)] __e_ro ∧ - (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.accepts xs s → _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.denote xs s)) __e_ro) ∧ - (¬ _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.accepts xs s → _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none) __e_ro) := - match _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.RustStd.root __e_n 6) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList _root_.LexLeanPreservation.Rust.wt_nat) xs) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList _root_.LexLeanPreservation.Rust.wt_int) s) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.entry xs s) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) with - | ⟨__e_ro, __e_hr, __e_hc⟩ => ⟨__e_ro, __e_hc, fun __e_h => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.entry_accepts xs s __e_h ▸ __e_hr, fun __e_h => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.entry_refuses xs s __e_h ▸ __e_hr⟩ - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R4/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R4/RustStd.lean deleted file mode 100644 index cf33d9bbb..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R4/RustStd.lean +++ /dev/null @@ -1,85 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [(.list .nat), (.list .int)], result := (.pair .nat .int), - body := (.build .pair (.pair .nat .int) [(.call 1 [(.closure 2 []), (.value .nat (.nat 0)), (.var 0)]), (.call 3 [(.closure 4 []), (.value .int (.int 5)), (.var 1)])]) }, - { parameters := [0, 1, 2], types := [(.fn [.nat, .nat] .nat), .nat, (.list .nat)], result := .nat, - body := (.«match» .nat (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 1 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1], types := [.nat, .nat], result := .nat, - body := (.prim .natAdd [(.var 0), (.var 1)]) }, - { parameters := [0, 1, 2], types := [(.fn [.int, .int] .int), .int, (.list .int)], result := .int, - body := (.«match» .int (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 3 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1], types := [.int, .int], result := .int, - body := (.prim .intSub [(.var 0), (.var 1)]) }, - { parameters := [0], types := [(.list .int)], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.var 1), (.var 3)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 5 [(.var 2)]) (.build .false .bool [])))]))]) }, - { parameters := [0, 1], types := [(.list .nat), (.list .int)], result := (.option (.pair .nat .int)), - body := (.cond (.call 5 [(.var 1)]) (.build .some (.option (.pair .nat .int)) [(.call 0 [(.var 0), (.var 1)])]) (.build .none (.option (.pair .nat .int)) [])) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.enum (.fn 0) [{ number := 2, fields := [] }]), - (.apply 0 [.nat, .nat] .nat true [{ function := 2, captures := [], functionFallible := true }]), - (.enum (.fn 1) [{ number := 4, fields := [] }]), - (.apply 1 [.int, .int] .int true [{ function := 4, captures := [], functionFallible := true }]), - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.list .int) }] (.fallible (.pair .nat .int)) (.mk [] (.succeed (.pair (.call (.function 1) [(.construct (.closure 0 2) []), (.lit (.nat 0)), (.move (.generated .binding 0))] true) (.call (.function 3) [(.construct (.closure 1 4) []), (.lit (.int 5)), (.move (.generated .binding 1))] true))))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := (.list .nat) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 1)) [(.mk .none (.mk [] (.succeed (.copy (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 1) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]))), - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 1) }, { pattern := (.bind (.generated .binding 1)), type := .int }, { pattern := (.bind (.generated .binding 2)), type := (.list .int) }] (.fallible .int) (.mk [(.mk (.bind (.generated .holder 5)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 5)) [(.mk .none (.mk [] (.succeed (.copy (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 3) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 6)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 6) [(.copy (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]))), - (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := .int }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.fallible .int) (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))] (.call (.runtime .intSub) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false))), - (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }] .bool (.mk [(.mk (.bind (.generated .holder 9)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 9)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .holder 10)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 10)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.cond (.matchOn (.move (.generated .holder 13)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 5) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])))]))), - (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.list .int) }] (.fallible (.option (.pair .nat .int))) (.mk [] (.cond (.call (.function 5) [(.clone (.generated .binding 1))] false) (.mk [] (.succeed (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] true)]))) (.mk [] (.succeed (.construct (.none (.pair .nat .int)) []))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [(([.nat, .nat], .nat), true), (([.int, .int], .int), true)] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.pair (.call (.function 1) [(.construct (.closure 0 2) []), (.lit (.nat 0)), (.move (.generated .binding 0))] true) (.call (.function 3) [(.construct (.closure 1 4) []), (.lit (.int 5)), (.move (.generated .binding 1))] true))), [(1, (.list .int), (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, - (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.fn [.nat, .nat] .nat), .nat, (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.fn [.int, .int] .int), .int, (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.lNil))))))⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 1)) [(.mk .none (.mk [] (.succeed (.copy (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 1) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.fn [.nat, .nat] .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.fn [.nat, .nat] .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.copy (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .nat), (some 4)), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.fn [.nat, .nat] .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 1) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [.nat, .nat] .nat), .nat, (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 2) [(.copy (.generated .binding 1)), (.copy (.generated .binding 3))] true)) (Corr.apply (ps := [.nat, .nat]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))], (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 5)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 5)) [(.mk .none (.mk [] (.succeed (.copy (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 3) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 6)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 6) [(.copy (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list .int), (some 2)), (1, .int, (some 1)), (0, (.fn [.int, .int] .int), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, .int, (some 1)), (0, (.fn [.int, .int] .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.copy (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .int), (some 4)), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, .int, (some 1)), (0, (.fn [.int, .int] .int), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 3) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 6)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 6) [(.copy (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [.int, .int] .int), .int, (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 6)) (some (.fn 1)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 6) [(.copy (.generated .binding 1)), (.copy (.generated .binding 3))] true)) (Corr.apply (ps := [.int, .int]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun4 : FunOK program krate flags 4 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))], (.call (.runtime .intSub) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false), [(1, .int, (some 1)), (0, .int, (some 0))], rfl, rfl, - (Corr.primF (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun5 : FunOK program krate flags 5 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 9)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 9)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .holder 10)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 10)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.cond (.matchOn (.move (.generated .holder 13)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 5) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])))]), [(0, (.list .int), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 10)) none (.clone (.generated .binding 2)))]) (tail := (.matchOn (.uncons (.generated .holder 10)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.cond (.matchOn (.move (.generated .holder 13)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 5) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list .int), none), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 13)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 5) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))]) (ce := (.matchOn (.move (.generated .holder 13)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 3)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list .int), none), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list .int), none), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list .int), none), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 5) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun6 : FunOK program krate flags 6 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 5) [(.clone (.generated .binding 1))] false) (.mk [] (.succeed (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] true)]))) (.mk [] (.succeed (.construct (.none (.pair .nat .int)) [])))), [(1, (.list .int), (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 5) [(.clone (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] true)]))) (lb := []) (tb := (.succeed (.construct (.none (.pair .nat .int)) []))) (Corr.fOfB (Corr.build (ts := [(.pair .nat .int)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | 4 => exact fun4 - | 5 => exact fun5 - | 6 => exact fun6 - | _ + 7 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R5.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R5.lean deleted file mode 100644 index 0f6bd5b51..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R5.lean +++ /dev/null @@ -1,60 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Coverage.Boundary -import Coverage.Colls -import Coverage.Main -import Coverage.Prims -import Coverage.RecRoots -import Coverage.Recur -import Coverage.Syntax -import Coverage.Types -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat (.pair .nat .bool)), - body := (.build .pair (.pair .nat (.pair .nat .bool)) [(.call 1 [(.closure 2 []), (.var 0), (.var 1)]), (.call 3 [(.closure 4 []), (.var 0), (.var 1)])]) }, - { parameters := [0, 1, 2], types := [(.fn [.nat] .nat), .nat, .nat], result := .nat, - body := (.«match» .nat (.var 1) [(.arm .zero [] (.var 2)), (.arm .succ [3] (.call 1 [(.var 0), (.var 3), (.apply (.var 0) [(.var 2)])]))]) }, - { parameters := [0], types := [.nat], result := .nat, - body := (.prim .natAdd [(.var 0), (.value .nat (.nat 1))]) }, - { parameters := [0, 1, 2], types := [(.fn [.nat] (.option .nat)), .nat, .nat], result := (.pair .nat .bool), - body := (.«match» (.pair .nat .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair .nat .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair .nat .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair .nat .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 3 [(.var 0), (.var 3), (.var 4)]))]))]) }, - { parameters := [0], types := [.nat], result := (.option .nat), - body := (.cond (.prim .natLt [(.var 0), (.value .nat (.nat 10))]) (.build .some (.option .nat) [(.prim .natAdd [(.var 0), (.value .nat (.nat 2))])]) (.build .none (.option .nat) [])) }] } - -def __fits_2 (x : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (x + (1 : Nat)) 18446744073709551616)) - -theorem __rel_2 (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_2 x) (_root_.LexLeanTarget.TargetSyntax.Value.nat ((x + (1 : Nat))))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd x (1 : Nat))) - -def __fits_4 (x : Nat) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.blt x (10 : Nat)) then ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (x + (2 : Nat)) 18446744073709551616)) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -theorem __rel_4 (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 4 [(_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_4 x) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) ((if (Nat.blt x (10 : Nat)) then (Option.some ((x + (2 : Nat))) : (Option Nat)) else (Option.none : (Option Nat)))))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (x + (2 : Nat)) 18446744073709551616)) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then (Option.some ((x + (2 : Nat))) : (Option Nat)) else (Option.none : (Option Nat)))) (Nat.blt x (10 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt x (10 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd x (2 : Nat))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_0 (n : Nat) (start : Nat) : Bool := - ((((Bool.true && (Bool.true && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.iterateFits (fun (__p0 : Nat) => __fits_2 __p0) ((fun (x : Nat) => (x + (1 : Nat)))) (n) (start))) && (((Bool.true && (Bool.true && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.untilFits (fun (__p0 : Nat) => __fits_4 __p0) ((fun (x : Nat) => (if (Nat.blt x (10 : Nat)) then (Option.some ((x + (2 : Nat))) : (Option Nat)) else (Option.none : (Option Nat))))) (n) (start))) && Bool.true)) && Bool.true) - -theorem __rel_0 (n : Nat) (start : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat n), (_root_.LexLeanTarget.TargetSyntax.Value.nat start)] (_root_.LexLeanPreservation.Rel (__fits_0 n start) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)) (Coverage.Colls.iterations n start))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_iterate (es := _root_.LexLeanTarget.TargetSyntax.Value.nat) ((fun (x : Nat) => (x + (1 : Nat)))) (fun (__p0 : Nat) => __fits_2 __p0) 2 [] (fun (__p0 : Nat) => __rel_2 __p0) (Coverage.Colls.LexLeanCollections.iterate ((fun (x : Nat) => (x + (1 : Nat))))) (fun _ => rfl) (fun _ _ => rfl) (p := __prog) (fi := 1) (ts := .nat) rfl (n) (start))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_iterateUntil (es := _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.optEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool) (fun _ => rfl) ((fun (x : Nat) => (if (Nat.blt x (10 : Nat)) then (Option.some ((x + (2 : Nat))) : (Option Nat)) else (Option.none : (Option Nat))))) (fun (__p0 : Nat) => __fits_4 __p0) 4 [] (fun (__p0 : Nat) => __rel_4 __p0) (Coverage.Colls.LexLeanCollections.iterateUntil ((fun (x : Nat) => (if (Nat.blt x (10 : Nat)) then (Option.some ((x + (2 : Nat))) : (Option Nat)) else (Option.none : (Option Nat)))))) (fun _ => rfl) (fun _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.iterateUntil, __h]) (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.iterateUntil, __h]) (p := __prog) (fi := 3) (ts := .nat) rfl (n) (start))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) - -def denote (n : Nat) (start : Nat) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 n start) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)) (Coverage.Colls.iterations n start)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (n : Nat) (start : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat n), (_root_.LexLeanTarget.TargetSyntax.Value.nat start)] (_root_.LexLeanPreservation.Rel (__fits_0 n start) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)) (Coverage.Colls.iterations n start))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 n start) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R5/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R5/Compose/RustStd.lean deleted file mode 100644 index 1fa166176..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R5/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.Compose.RustStd - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (n : Nat) (start : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat n), (_root_.LexLeanTarget.TargetSyntax.Value.nat start)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.denote n start) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat n), (_root_.LexLeanTarget.TargetSyntax.Value.nat start)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat n) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat start) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.root n start) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R5/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R5/RustStd.lean deleted file mode 100644 index 4439d5274..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R5/RustStd.lean +++ /dev/null @@ -1,69 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat (.pair .nat .bool)), - body := (.build .pair (.pair .nat (.pair .nat .bool)) [(.call 1 [(.closure 2 []), (.var 0), (.var 1)]), (.call 3 [(.closure 4 []), (.var 0), (.var 1)])]) }, - { parameters := [0, 1, 2], types := [(.fn [.nat] .nat), .nat, .nat], result := .nat, - body := (.«match» .nat (.var 1) [(.arm .zero [] (.var 2)), (.arm .succ [3] (.call 1 [(.var 0), (.var 3), (.apply (.var 0) [(.var 2)])]))]) }, - { parameters := [0], types := [.nat], result := .nat, - body := (.prim .natAdd [(.var 0), (.value .nat (.nat 1))]) }, - { parameters := [0, 1, 2], types := [(.fn [.nat] (.option .nat)), .nat, .nat], result := (.pair .nat .bool), - body := (.«match» (.pair .nat .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair .nat .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair .nat .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair .nat .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 3 [(.var 0), (.var 3), (.var 4)]))]))]) }, - { parameters := [0], types := [.nat], result := (.option .nat), - body := (.cond (.prim .natLt [(.var 0), (.value .nat (.nat 10))]) (.build .some (.option .nat) [(.prim .natAdd [(.var 0), (.value .nat (.nat 2))])]) (.build .none (.option .nat) [])) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.enum (.fn 0) [{ number := 2, fields := [] }]), - (.apply 0 [.nat] .nat true [{ function := 2, captures := [], functionFallible := true }]), - (.enum (.fn 1) [{ number := 4, fields := [] }]), - (.apply 1 [.nat] (.option .nat) true [{ function := 4, captures := [], functionFallible := true }]), - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair .nat (.pair .nat .bool))) (.mk [] (.succeed (.pair (.call (.function 1) [(.construct (.closure 0 2) []), (.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true) (.call (.function 3) [(.construct (.closure 1 4) []), (.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true))))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.copy (.generated .binding 1)))] (.cond (.isZero (.generated .holder 1)) (.mk [] (.succeed (.copy (.generated .binding 2)))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 1)))] (.call (.function 1) [(.clone (.generated .binding 0)), (.copy (.generated .binding 3)), (.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 2))] true)))] false))))), - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 1) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.fallible (.pair .nat .bool)) (.mk [(.mk (.bind (.generated .holder 5)) none (.copy (.generated .binding 1)))] (.cond (.isZero (.generated .holder 5)) (.mk [] (.succeed (.pair (.copy (.generated .binding 2)) (.lit (.bool false))))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 5))), (.mk (.bind (.generated .holder 7)) none (.block (.mk [(.mk (.bind (.generated .callee 6)) (some (.fn 1)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 6) [(.copy (.generated .binding 2))] true))))] (.matchOn (.move (.generated .holder 7)) [(.mk .none (.mk [] (.succeed (.pair (.copy (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 3) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4))] false)))]))))), - (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible (.option .nat)) (.mk [(.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 9)) none (.lit (.nat 10)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false) (.mk [] (.succeed (.construct .some [(.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.lit (.nat 2)))] (.call (.runtime .natAdd) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true)))]))) (.mk [] (.succeed (.construct (.none .nat) []))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [(([.nat], .nat), true), (([.nat], (.option .nat)), true)] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.pair (.call (.function 1) [(.construct (.closure 0 2) []), (.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true) (.call (.function 3) [(.construct (.closure 1 4) []), (.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.fn [.nat] .nat), .nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.fn [.nat] (.option .nat)), .nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.lNil))))))⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.copy (.generated .binding 1)))], (.cond (.isZero (.generated .holder 1)) (.mk [] (.succeed (.copy (.generated .binding 2)))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 1)))] (.call (.function 1) [(.clone (.generated .binding 0)), (.copy (.generated .binding 3)), (.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 2))] true)))] false))), [(2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.fn [.nat] .nat), (some 0))], rfl, rfl, - (Corr.matchNat (sl := (some 3)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.succeed (.copy (.generated .binding 2)))) (lb := []) (tb := (.call (.function 1) [(.clone (.generated .binding 0)), (.copy (.generated .binding 3)), (.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 2))] true)))] false)) (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl))) (Corr.callF (ts := [(.fn [.nat] .nat), .nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 2) [(.copy (.generated .binding 2))] true)) (Corr.apply (ps := [.nat]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl)))⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 1)))], (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false), [(0, .nat, (some 0))], rfl, rfl, - (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 5)) none (.copy (.generated .binding 1)))], (.cond (.isZero (.generated .holder 5)) (.mk [] (.succeed (.pair (.copy (.generated .binding 2)) (.lit (.bool false))))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 5))), (.mk (.bind (.generated .holder 7)) none (.block (.mk [(.mk (.bind (.generated .callee 6)) (some (.fn 1)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 6) [(.copy (.generated .binding 2))] true))))] (.matchOn (.move (.generated .holder 7)) [(.mk .none (.mk [] (.succeed (.pair (.copy (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 3) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4))] false)))]))), [(2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.fn [.nat] (.option .nat)), (some 0))], rfl, rfl, - (Corr.matchNat (sl := (some 3)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.succeed (.pair (.copy (.generated .binding 2)) (.lit (.bool false))))) (lb := [(.mk (.bind (.generated .holder 7)) none (.block (.mk [(.mk (.bind (.generated .callee 6)) (some (.fn 1)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 6) [(.copy (.generated .binding 2))] true))))]) (tb := (.matchOn (.move (.generated .holder 7)) [(.mk .none (.mk [] (.succeed (.pair (.copy (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 3) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4))] false)))])) (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))))) (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 6)) (some (.fn 1)) (.clone (.generated .binding 0)))]) (tail := (.apply (.generated .callee 6) [(.copy (.generated .binding 2))] true)) (Corr.apply (ps := [.nat]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.fn [.nat] (.option .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.pair (.copy (.generated .binding 2)) (.lit (.bool true))))) (Corr.mCons (Γ' := [(4, .nat, (some 4)), (3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.fn [.nat] (.option .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 3) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [.nat] (.option .nat)), .nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))))))) rfl rfl rfl)))⟩⟩ - -theorem fun4 : FunOK program krate flags 4 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 9)) none (.lit (.nat 10)))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false) (.mk [] (.succeed (.construct .some [(.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.lit (.nat 2)))] (.call (.runtime .natAdd) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true)))]))) (.mk [] (.succeed (.construct (.none .nat) [])))), [(0, .nat, (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 9)) none (.lit (.nat 10)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.lit (.nat 2)))] (.call (.runtime .natAdd) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true)))]))) (lb := []) (tb := (.succeed (.construct (.none .nat) []))) (Corr.fOfB (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.lit (.nat 2)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | 4 => exact fun4 - | _ + 5 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R6.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R6.lean deleted file mode 100644 index 7f83aba92..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R6.lean +++ /dev/null @@ -1,154 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Coverage.Boundary -import Coverage.Colls -import Coverage.Main -import Coverage.Prims -import Coverage.RecRoots -import Coverage.Recur -import Coverage.Syntax -import Coverage.Types -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat)))), - body := (.build .pair (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat)))) [(.call 1 [(.var 0), (.var 1)]), (.build .pair (.pair (.list .nat) (.option (.list .nat))) [(.call 3 [(.var 0), (.var 1)]), (.call 16 [(.var 0)])])]) }, - { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.list .nat), - body := (.«match» (.list .nat) (.call 2 [(.var 0), (.var 1)]) [(.arm .none [] (.build .nil (.list .nat) [])), (.arm .some [2] (.var 2))]) }, - { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.option (.list .nat)), - body := (.«match» (.option (.list .nat)) (.var 0) [(.arm .nil [] (.build .none (.option (.list .nat)) [])), (.arm .cons [2, 3] (.«match» (.option (.list .nat)) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option (.list .nat)) [])), (.arm .eq [] (.build .some (.option (.list .nat)) [(.second (.var 2))])), (.arm .gt [] (.call 2 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.list .nat), - body := (.call 4 [(.var 0), (.prim .natAdd [(.prim .length [(.call 13 [(.var 0), (.build .nil (.list .nat) [])])]), (.value .nat (.nat 1))]), (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])]), (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])])]) }, - { parameters := [0, 1, 2, 3], types := [(.list (.pair .nat (.list .nat))), .nat, (.list .nat), (.list .nat)], result := (.list .nat), - body := (.«match» (.list .nat) (.var 1) [(.arm .zero [] (.var 3)), (.arm .succ [4] (.«let» 5 (.list .nat) (.call 5 [(.var 0), (.var 3), (.var 2), (.build .nil (.list .nat) [])]) (.«match» (.list .nat) (.var 5) [(.arm .nil [] (.var 3)), (.arm .cons [6, 7] (.call 4 [(.var 0), (.var 4), (.var 5), (.call 11 [(.var 3), (.var 5)])]))])))]) }, - { parameters := [0, 1, 2, 3], types := [(.list (.pair .nat (.list .nat))), (.list .nat), (.list .nat), (.list .nat)], result := (.list .nat), - body := (.«match» (.list .nat) (.var 2) [(.arm .nil [] (.var 3)), (.arm .cons [4, 5] (.call 5 [(.var 0), (.var 1), (.var 5), (.call 6 [(.var 1), (.call 7 [(.var 0), (.var 4)]), (.var 3)])]))]) }, - { parameters := [0, 1, 2], types := [(.list .nat), (.list .nat), (.list .nat)], result := (.list .nat), - body := (.«match» (.list .nat) (.var 1) [(.arm .nil [] (.var 2)), (.arm .cons [3, 4] (.call 6 [(.var 0), (.var 4), (.cond (.call 9 [(.var 0), (.var 3)]) (.var 2) (.cond (.call 9 [(.var 2), (.var 3)]) (.var 2) (.call 10 [(.var 2), (.var 3)])))]))]) }, - { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.list .nat), - body := (.«match» (.list .nat) (.call 8 [(.var 0), (.var 1)]) [(.arm .none [] (.build .nil (.list .nat) [])), (.arm .some [2] (.var 2))]) }, - { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.option (.list .nat)), - body := (.«match» (.option (.list .nat)) (.var 0) [(.arm .nil [] (.build .none (.option (.list .nat)) [])), (.arm .cons [2, 3] (.«match» (.option (.list .nat)) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option (.list .nat)) [])), (.arm .eq [] (.build .some (.option (.list .nat)) [(.second (.var 2))])), (.arm .gt [] (.call 8 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0, 1], types := [(.list .nat), .nat], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .false .bool [])), (.arm .cons [2, 3] (.«match» .bool (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .false .bool [])), (.arm .eq [] (.build .true .bool [])), (.arm .gt [] (.call 9 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list .nat) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 10 [(.var 3), (.var 1)])]))]))]) }, - { parameters := [0, 1], types := [(.list .nat), (.list .nat)], result := (.list .nat), - body := (.«match» (.list .nat) (.var 1) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.call 11 [(.call 12 [(.var 0), (.var 2)]), (.var 3)]))]) }, - { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list .nat) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 12 [(.var 3), (.var 1)])]))]))]) }, - { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), (.list .nat)], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 13 [(.var 3), (.call 14 [(.second (.var 2)), (.call 15 [(.var 1), (.first (.var 2))])])]))]) }, - { parameters := [0, 1], types := [(.list .nat), (.list .nat)], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 14 [(.var 3), (.call 15 [(.var 1), (.var 2)])]))]) }, - { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list .nat) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 15 [(.var 3), (.var 1)])]))]))]) }, - { parameters := [0], types := [(.list (.pair .nat (.list .nat)))], result := (.option (.list .nat)), - body := (.«let» 1 (.list .nat) (.call 21 [(.var 0), (.build .nil (.list .nat) [])]) (.call 17 [(.var 0), (.prim .natAdd [(.prim .length [(.var 1)]), (.value .nat (.nat 1))]), (.var 1), (.build .nil (.list .nat) [])])) }, - { parameters := [0, 1, 2, 3], types := [(.list (.pair .nat (.list .nat))), .nat, (.list .nat), (.list .nat)], result := (.option (.list .nat)), - body := (.«match» (.option (.list .nat)) (.var 1) [(.arm .zero [] (.«match» (.option (.list .nat)) (.var 2) [(.arm .nil [] (.build .some (.option (.list .nat)) [(.call 20 [(.var 3), (.build .nil (.list .nat) [])])])), (.arm .cons [4, 5] (.build .none (.option (.list .nat)) []))])), (.arm .succ [6] (.«match» (.option (.list .nat)) (.call 18 [(.var 0), (.var 2), (.var 2)]) [(.arm .nil [] (.«match» (.option (.list .nat)) (.var 2) [(.arm .nil [] (.build .some (.option (.list .nat)) [(.call 20 [(.var 3), (.build .nil (.list .nat) [])])])), (.arm .cons [7, 8] (.build .none (.option (.list .nat)) []))])), (.arm .cons [9, 10] (.call 17 [(.var 0), (.var 6), (.call 27 [(.var 2), (.var 9)]), (.build .cons (.list .nat) [(.var 9), (.var 3)])]))]))]) }, - { parameters := [0, 1, 2], types := [(.list (.pair .nat (.list .nat))), (.list .nat), (.list .nat)], result := (.list .nat), - body := (.«match» (.list .nat) (.var 2) [(.arm .nil [] (.build .nil (.list .nat) [])), (.arm .cons [3, 4] (.cond (.call 19 [(.var 0), (.var 3), (.var 1)]) (.build .cons (.list .nat) [(.var 3), (.call 18 [(.var 0), (.var 1), (.var 4)])]) (.call 18 [(.var 0), (.var 1), (.var 4)])))]) }, - { parameters := [0, 1, 2], types := [(.list (.pair .nat (.list .nat))), .nat, (.list .nat)], result := .bool, - body := (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.call 26 [(.call 24 [(.var 0), (.var 3)]), (.var 1)]) (.build .false .bool []) (.call 19 [(.var 0), (.var 1), (.var 4)])))]) }, - { parameters := [0, 1], types := [(.list .nat), (.list .nat)], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 20 [(.var 3), (.build .cons (.list .nat) [(.var 2), (.var 1)])]))]) }, - { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), (.list .nat)], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 21 [(.var 3), (.call 22 [(.second (.var 2)), (.call 23 [(.var 1), (.first (.var 2))])])]))]) }, - { parameters := [0, 1], types := [(.list .nat), (.list .nat)], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 22 [(.var 3), (.call 23 [(.var 1), (.var 2)])]))]) }, - { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list .nat) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 23 [(.var 3), (.var 1)])]))]))]) }, - { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.list .nat), - body := (.«match» (.list .nat) (.call 25 [(.var 0), (.var 1)]) [(.arm .none [] (.build .nil (.list .nat) [])), (.arm .some [2] (.var 2))]) }, - { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.option (.list .nat)), - body := (.«match» (.option (.list .nat)) (.var 0) [(.arm .nil [] (.build .none (.option (.list .nat)) [])), (.arm .cons [2, 3] (.«match» (.option (.list .nat)) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option (.list .nat)) [])), (.arm .eq [] (.build .some (.option (.list .nat)) [(.second (.var 2))])), (.arm .gt [] (.call 25 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0, 1], types := [(.list .nat), .nat], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .false .bool [])), (.arm .cons [2, 3] (.«match» .bool (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .false .bool [])), (.arm .eq [] (.build .true .bool [])), (.arm .gt [] (.call 26 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .nil (.list .nat) [])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.var 0)), (.arm .eq [] (.var 3)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 27 [(.var 3), (.var 1)])]))]))]) }, - { parameters := [0], types := [(.list (.pair .nat (.list .nat)))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 29 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 28 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, - { parameters := [0], types := [(.list .nat)], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.var 1), (.var 3)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 29 [(.var 2)]) (.build .false .bool [])))]))]) }, - { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.option (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat))))), - body := (.cond (.call 28 [(.var 0)]) (.build .some (.option (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat))))) [(.call 0 [(.var 0), (.var 1)])]) (.build .none (.option (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat))))) [])) }] } - -def __fits_0 (g : (List (Prod Nat (List Nat)))) (start : Nat) : Bool := - ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && (_root_.LexLeanPreservation.graphFits Coverage.Colls.LexLeanCollections.insertElement (g))) && (((Bool.true && Bool.true) && (_root_.LexLeanPreservation.graphFits Coverage.Colls.LexLeanCollections.insertElement (g))) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) - -theorem __rel_0 (g : (List (Prod Nat (List Nat)))) (start : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) g), (_root_.LexLeanTarget.TargetSyntax.Value.nat start)] (_root_.LexLeanPreservation.Rel (__fits_0 g start) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)))) (Coverage.Colls.graphs g start))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_graphSuccessors (_root_.LexLeanPreservation.keySpec_nat (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (fun _ => rfl) Coverage.Colls.LexLeanCollections.lookupEntry (fun _ => rfl) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]) (p := __prog) (fi := 1) (tk := .nat) rfl rfl (g) (start))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_graphReachable (_root_.LexLeanPreservation.keySpec_nat (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (fun _ => rfl) (⟨(fun _ => rfl), (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.insertElement, __h]), (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.insertElement, __h]), (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.insertElement, __h]), (fun _ => rfl), (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.removeElement, __h]), (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.removeElement, __h]), (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.removeElement, __h]), (fun _ => rfl), (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.containsElement, __h]), (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.containsElement, __h]), (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.containsElement, __h])⟩ : _root_.LexLeanPreservation.SetOps (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) Coverage.Colls.LexLeanCollections.insertElement Coverage.Colls.LexLeanCollections.removeElement Coverage.Colls.LexLeanCollections.containsElement) (⟨(fun _ => rfl), (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]), (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]), (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h])⟩ : _root_.LexLeanPreservation.LookOps (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (Coverage.Colls.LexLeanCollections.lookupEntry : Nat -> List (Prod Nat (List Nat)) -> Option (List Nat))) (g) (Coverage.Colls.LexLeanCollections.graphSuccessors (g)) (fun _ => rfl) (Coverage.Colls.LexLeanCollections.reachableFrom (g)) (fun _ _ => rfl) (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.reachableFrom, __h]) (fun _ _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.reachableFrom, __h]) (p := __prog) (fi := 3) (tk := .nat) rfl rfl rfl rfl rfl rfl rfl rfl rfl rfl rfl rfl rfl (start))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.tpl_graphTopological (_root_.LexLeanPreservation.keySpec_nat (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (fun _ => rfl) (_root_.LexLeanPreservation.optEnc (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) (⟨(fun _ => rfl), (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.insertElement, __h]), (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.insertElement, __h]), (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.insertElement, __h]), (fun _ => rfl), (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.removeElement, __h]), (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.removeElement, __h]), (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.removeElement, __h]), (fun _ => rfl), (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.containsElement, __h]), (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.containsElement, __h]), (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.containsElement, __h])⟩ : _root_.LexLeanPreservation.SetOps (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) Coverage.Colls.LexLeanCollections.insertElement Coverage.Colls.LexLeanCollections.removeElement Coverage.Colls.LexLeanCollections.containsElement) (⟨(fun _ => rfl), (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]), (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]), (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h])⟩ : _root_.LexLeanPreservation.LookOps (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (Coverage.Colls.LexLeanCollections.lookupEntry : Nat -> List (Prod Nat (List Nat)) -> Option (List Nat))) (g) (Coverage.Colls.LexLeanCollections.graphSuccessors (g)) (fun _ => rfl) (⟨(fun _ => rfl), (fun _ _ _ => rfl), (fun _ _ => rfl), (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.topological, __h] <;> rfl), (fun _ _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.topological, __h])⟩ : _root_.LexLeanPreservation.TopoOps (Coverage.Colls.LexLeanCollections.graphSuccessors (g)) Coverage.Colls.LexLeanCollections.containsElement Coverage.Colls.LexLeanCollections.removeElement (Coverage.Colls.LexLeanCollections.topological (g))) (p := __prog) (fi := 16) (tk := .nat) rfl rfl rfl rfl rfl rfl rfl rfl rfl rfl rfl rfl)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) - -def denote (g : (List (Prod Nat (List Nat)))) (start : Nat) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 g start) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)))) (Coverage.Colls.graphs g start)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (g : (List (Prod Nat (List Nat)))) (start : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) g), (_root_.LexLeanTarget.TargetSyntax.Value.nat start)] (_root_.LexLeanPreservation.Rel (__fits_0 g start) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)))) (Coverage.Colls.graphs g start))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 g start) - -def __valid_29 : (List Nat) -> Bool := - _root_.LexLeanPreservation.ascSet (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) - -def __inv_29 : (List Nat) -> Prop := - _root_.LexLeanPreservation.InvSet (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) - -theorem __viff_29 : ∀ (__v : (List Nat)), __valid_29 __v = Bool.true ↔ __inv_29 __v := - _root_.LexLeanPreservation.ascSet_inv (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) - -theorem __vrel_29 : ∀ (__v : (List Nat)), _root_.LexLeanPreservation.FunRel __prog 29 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_29 __v))) := - _root_.LexLeanPreservation.tpl_validSet (_root_.LexLeanPreservation.keySpec_nat (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) rfl - -def __valid_28 : (List (Prod Nat (List Nat))) -> Bool := - _root_.LexLeanPreservation.ascMap (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) __valid_29 - -def __inv_28 : (List (Prod Nat (List Nat))) -> Prop := - _root_.LexLeanPreservation.InvMap (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) __inv_29 - -theorem __viff_28 : ∀ (__v : (List (Prod Nat (List Nat)))), __valid_28 __v = Bool.true ↔ __inv_28 __v := - _root_.LexLeanPreservation.ascMap_inv (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) __valid_29 __inv_29 __viff_29 - -theorem __vrel_28 : ∀ (__v : (List (Prod Nat (List Nat)))), _root_.LexLeanPreservation.FunRel __prog 28 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_28 __v))) := - _root_.LexLeanPreservation.tpl_validMap (_root_.LexLeanPreservation.keySpec_nat (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) __valid_29 (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (fun _ => rfl) __vrel_29 rfl - -def entryFits (g : (List (Prod Nat (List Nat)))) (start : Nat) : Bool := - (if __valid_28 g then __fits_0 g start else Bool.true) - -def entryValue (g : (List (Prod Nat (List Nat)))) (start : Nat) : _root_.LexLeanTarget.TargetSyntax.Value := - (if __valid_28 g then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)))) (Coverage.Colls.graphs g start))) else _root_.LexLeanTarget.TargetSyntax.Value.none) - -/-- The entry's observation. -/ -def denoteEntry (g : (List (Prod Nat (List Nat)))) (start : Nat) : _root_.LexLeanPreservation.Obs := - _root_.cond (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.entryFits g start) (_root_.LexLeanPreservation.Obs.value (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.entryValue g start)) _root_.LexLeanPreservation.Obs.overflow - -/-- §17.12's invariants of the validated parameters. -/ -def accepts (g : (List (Prod Nat (List Nat)))) (start : Nat) : Prop := - (__inv_28 g ∧ _root_.True) - -theorem entry (g : (List (Prod Nat (List Nat)))) (start : Nat) : _root_.LexLeanPreservation.RunConv __prog 30 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) g), (_root_.LexLeanTarget.TargetSyntax.Value.nat start)] (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.denoteEntry g start) := - _root_.LexLeanPreservation.run_of_funRel (_root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then __fits_0 g start else Bool.true) (fun __c => if __c then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)))) (Coverage.Colls.graphs g start))) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_28 g) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_28 g)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_0 g start)) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (by simp [_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.entryFits])) - -theorem entry_accepts (g : (List (Prod Nat (List Nat)))) (start : Nat) (__h : _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.accepts g start) : _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.denoteEntry g start = _root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.denote g start) := by - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.accepts at __h - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.denoteEntry _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.entryFits _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.entryValue _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.denote - simp only [_root_.if_true, (__viff_28 g).mpr __h.1] - cases __fits_0 g start <;> rfl - -theorem entry_refuses (g : (List (Prod Nat (List Nat)))) (start : Nat) (__h : ¬ _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.accepts g start) : _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.denoteEntry g start = _root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none := by - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.accepts at __h - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.denoteEntry _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.entryFits _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.entryValue - cases __c0 : __valid_28 g - · simp - · exact _root_.absurd ⟨(__viff_28 g).mp __c0, _root_.trivial⟩ __h - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R6/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R6/Compose/RustStd.lean deleted file mode 100644 index 150f2472d..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R6/Compose/RustStd.lean +++ /dev/null @@ -1,20 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.Compose.RustStd - -/-- The rendering of the root's entry, invoked on the encoded arguments, -realizes the encoded source result when the arguments satisfy §17.12's -invariants, and refuses them with `none` otherwise. -/ -theorem root (g : (List (Prod Nat (List Nat)))) (start : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) g), (_root_.LexLeanTarget.TargetSyntax.Value.nat start)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 30) [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) g), (_root_.LexLeanTarget.TargetSyntax.Value.nat start)] __e_ro ∧ - (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.accepts g start → _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.denote g start)) __e_ro) ∧ - (¬ _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.accepts g start → _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none) __e_ro) := - match _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.RustStd.root __e_n 30) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_nat (_root_.LexLeanPreservation.Rust.wt_encList _root_.LexLeanPreservation.Rust.wt_nat))) g) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat start) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.entry g start) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) with - | ⟨__e_ro, __e_hr, __e_hc⟩ => ⟨__e_ro, __e_hc, fun __e_h => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.entry_accepts g start __e_h ▸ __e_hr, fun __e_h => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.entry_refuses g start __e_h ▸ __e_hr⟩ - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R6/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R6/RustStd.lean deleted file mode 100644 index a08091fde..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R6/RustStd.lean +++ /dev/null @@ -1,273 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat)))), - body := (.build .pair (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat)))) [(.call 1 [(.var 0), (.var 1)]), (.build .pair (.pair (.list .nat) (.option (.list .nat))) [(.call 3 [(.var 0), (.var 1)]), (.call 16 [(.var 0)])])]) }, - { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.list .nat), - body := (.«match» (.list .nat) (.call 2 [(.var 0), (.var 1)]) [(.arm .none [] (.build .nil (.list .nat) [])), (.arm .some [2] (.var 2))]) }, - { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.option (.list .nat)), - body := (.«match» (.option (.list .nat)) (.var 0) [(.arm .nil [] (.build .none (.option (.list .nat)) [])), (.arm .cons [2, 3] (.«match» (.option (.list .nat)) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option (.list .nat)) [])), (.arm .eq [] (.build .some (.option (.list .nat)) [(.second (.var 2))])), (.arm .gt [] (.call 2 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.list .nat), - body := (.call 4 [(.var 0), (.prim .natAdd [(.prim .length [(.call 13 [(.var 0), (.build .nil (.list .nat) [])])]), (.value .nat (.nat 1))]), (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])]), (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])])]) }, - { parameters := [0, 1, 2, 3], types := [(.list (.pair .nat (.list .nat))), .nat, (.list .nat), (.list .nat)], result := (.list .nat), - body := (.«match» (.list .nat) (.var 1) [(.arm .zero [] (.var 3)), (.arm .succ [4] (.«let» 5 (.list .nat) (.call 5 [(.var 0), (.var 3), (.var 2), (.build .nil (.list .nat) [])]) (.«match» (.list .nat) (.var 5) [(.arm .nil [] (.var 3)), (.arm .cons [6, 7] (.call 4 [(.var 0), (.var 4), (.var 5), (.call 11 [(.var 3), (.var 5)])]))])))]) }, - { parameters := [0, 1, 2, 3], types := [(.list (.pair .nat (.list .nat))), (.list .nat), (.list .nat), (.list .nat)], result := (.list .nat), - body := (.«match» (.list .nat) (.var 2) [(.arm .nil [] (.var 3)), (.arm .cons [4, 5] (.call 5 [(.var 0), (.var 1), (.var 5), (.call 6 [(.var 1), (.call 7 [(.var 0), (.var 4)]), (.var 3)])]))]) }, - { parameters := [0, 1, 2], types := [(.list .nat), (.list .nat), (.list .nat)], result := (.list .nat), - body := (.«match» (.list .nat) (.var 1) [(.arm .nil [] (.var 2)), (.arm .cons [3, 4] (.call 6 [(.var 0), (.var 4), (.cond (.call 9 [(.var 0), (.var 3)]) (.var 2) (.cond (.call 9 [(.var 2), (.var 3)]) (.var 2) (.call 10 [(.var 2), (.var 3)])))]))]) }, - { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.list .nat), - body := (.«match» (.list .nat) (.call 8 [(.var 0), (.var 1)]) [(.arm .none [] (.build .nil (.list .nat) [])), (.arm .some [2] (.var 2))]) }, - { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.option (.list .nat)), - body := (.«match» (.option (.list .nat)) (.var 0) [(.arm .nil [] (.build .none (.option (.list .nat)) [])), (.arm .cons [2, 3] (.«match» (.option (.list .nat)) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option (.list .nat)) [])), (.arm .eq [] (.build .some (.option (.list .nat)) [(.second (.var 2))])), (.arm .gt [] (.call 8 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0, 1], types := [(.list .nat), .nat], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .false .bool [])), (.arm .cons [2, 3] (.«match» .bool (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .false .bool [])), (.arm .eq [] (.build .true .bool [])), (.arm .gt [] (.call 9 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list .nat) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 10 [(.var 3), (.var 1)])]))]))]) }, - { parameters := [0, 1], types := [(.list .nat), (.list .nat)], result := (.list .nat), - body := (.«match» (.list .nat) (.var 1) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.call 11 [(.call 12 [(.var 0), (.var 2)]), (.var 3)]))]) }, - { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list .nat) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 12 [(.var 3), (.var 1)])]))]))]) }, - { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), (.list .nat)], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 13 [(.var 3), (.call 14 [(.second (.var 2)), (.call 15 [(.var 1), (.first (.var 2))])])]))]) }, - { parameters := [0, 1], types := [(.list .nat), (.list .nat)], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 14 [(.var 3), (.call 15 [(.var 1), (.var 2)])]))]) }, - { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list .nat) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 15 [(.var 3), (.var 1)])]))]))]) }, - { parameters := [0], types := [(.list (.pair .nat (.list .nat)))], result := (.option (.list .nat)), - body := (.«let» 1 (.list .nat) (.call 21 [(.var 0), (.build .nil (.list .nat) [])]) (.call 17 [(.var 0), (.prim .natAdd [(.prim .length [(.var 1)]), (.value .nat (.nat 1))]), (.var 1), (.build .nil (.list .nat) [])])) }, - { parameters := [0, 1, 2, 3], types := [(.list (.pair .nat (.list .nat))), .nat, (.list .nat), (.list .nat)], result := (.option (.list .nat)), - body := (.«match» (.option (.list .nat)) (.var 1) [(.arm .zero [] (.«match» (.option (.list .nat)) (.var 2) [(.arm .nil [] (.build .some (.option (.list .nat)) [(.call 20 [(.var 3), (.build .nil (.list .nat) [])])])), (.arm .cons [4, 5] (.build .none (.option (.list .nat)) []))])), (.arm .succ [6] (.«match» (.option (.list .nat)) (.call 18 [(.var 0), (.var 2), (.var 2)]) [(.arm .nil [] (.«match» (.option (.list .nat)) (.var 2) [(.arm .nil [] (.build .some (.option (.list .nat)) [(.call 20 [(.var 3), (.build .nil (.list .nat) [])])])), (.arm .cons [7, 8] (.build .none (.option (.list .nat)) []))])), (.arm .cons [9, 10] (.call 17 [(.var 0), (.var 6), (.call 27 [(.var 2), (.var 9)]), (.build .cons (.list .nat) [(.var 9), (.var 3)])]))]))]) }, - { parameters := [0, 1, 2], types := [(.list (.pair .nat (.list .nat))), (.list .nat), (.list .nat)], result := (.list .nat), - body := (.«match» (.list .nat) (.var 2) [(.arm .nil [] (.build .nil (.list .nat) [])), (.arm .cons [3, 4] (.cond (.call 19 [(.var 0), (.var 3), (.var 1)]) (.build .cons (.list .nat) [(.var 3), (.call 18 [(.var 0), (.var 1), (.var 4)])]) (.call 18 [(.var 0), (.var 1), (.var 4)])))]) }, - { parameters := [0, 1, 2], types := [(.list (.pair .nat (.list .nat))), .nat, (.list .nat)], result := .bool, - body := (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.call 26 [(.call 24 [(.var 0), (.var 3)]), (.var 1)]) (.build .false .bool []) (.call 19 [(.var 0), (.var 1), (.var 4)])))]) }, - { parameters := [0, 1], types := [(.list .nat), (.list .nat)], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 20 [(.var 3), (.build .cons (.list .nat) [(.var 2), (.var 1)])]))]) }, - { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), (.list .nat)], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 21 [(.var 3), (.call 22 [(.second (.var 2)), (.call 23 [(.var 1), (.first (.var 2))])])]))]) }, - { parameters := [0, 1], types := [(.list .nat), (.list .nat)], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 22 [(.var 3), (.call 23 [(.var 1), (.var 2)])]))]) }, - { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list .nat) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 23 [(.var 3), (.var 1)])]))]))]) }, - { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.list .nat), - body := (.«match» (.list .nat) (.call 25 [(.var 0), (.var 1)]) [(.arm .none [] (.build .nil (.list .nat) [])), (.arm .some [2] (.var 2))]) }, - { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.option (.list .nat)), - body := (.«match» (.option (.list .nat)) (.var 0) [(.arm .nil [] (.build .none (.option (.list .nat)) [])), (.arm .cons [2, 3] (.«match» (.option (.list .nat)) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option (.list .nat)) [])), (.arm .eq [] (.build .some (.option (.list .nat)) [(.second (.var 2))])), (.arm .gt [] (.call 25 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0, 1], types := [(.list .nat), .nat], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .false .bool [])), (.arm .cons [2, 3] (.«match» .bool (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .false .bool [])), (.arm .eq [] (.build .true .bool [])), (.arm .gt [] (.call 26 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), - body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .nil (.list .nat) [])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.var 0)), (.arm .eq [] (.var 3)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 27 [(.var 3), (.var 1)])]))]))]) }, - { parameters := [0], types := [(.list (.pair .nat (.list .nat)))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 29 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 28 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, - { parameters := [0], types := [(.list .nat)], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.var 1), (.var 3)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 29 [(.var 2)]) (.build .false .bool [])))]))]) }, - { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.option (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat))))), - body := (.cond (.call 28 [(.var 0)]) (.build .some (.option (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat))))) [(.call 0 [(.var 0), (.var 1)])]) (.build .none (.option (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat))))) [])) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat))))) (.mk [] (.succeed (.pair (.call (.function 1) [(.clone (.generated .binding 0)), (.copy (.generated .binding 1))] false) (.pair (.call (.function 3) [(.clone (.generated .binding 0)), (.copy (.generated .binding 1))] true) (.call (.function 16) [(.move (.generated .binding 0))] true)))))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.call (.function 2) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 1)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.move (.generated .binding 2))))]))), - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.option (.list .nat)) (.mk [(.mk (.bind (.generated .holder 2)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 2)) [(.mk .none (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 6)) none (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 3)))))] (.call (.runtime .compare) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))))] (.matchOn (.move (.generated .holder 6)) [(.mk (.ordering .less) (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 7))]) none (.move (.generated .binding 2)))] (.move (.generated .part 7))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 2) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]))), - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.list .nat)) (.mk [] (.succeed (.call (.function 4) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .operand 8)) none (.call (.function 13) [(.move (.generated .binding 0)), (.construct (.nil .nat) [])] false))] (.call (.runtime .lengthList) [(.move (.generated .operand 8))] false)))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] true))), (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])]), (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])])] false)))), - (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 3)), type := (.list .nat) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 11)) none (.copy (.generated .binding 1)))] (.cond (.isZero (.generated .holder 11)) (.mk [] (.move (.generated .binding 3))) (.mk [(.mk (.bind (.generated .binding 4)) none (.predecessor (.generated .holder 11))), (.mk (.bind (.generated .binding 5)) (some (.list .nat)) (.call (.function 5) [(.clone (.generated .binding 0)), (.clone (.generated .binding 3)), (.move (.generated .binding 2)), (.construct (.nil .nat) [])] false)), (.mk (.bind (.generated .holder 12)) none (.clone (.generated .binding 5)))] (.matchOn (.uncons (.generated .holder 12)) [(.mk .none (.mk [] (.move (.generated .binding 3)))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 4)), (.clone (.generated .binding 5)), (.call (.function 11) [(.move (.generated .binding 3)), (.move (.generated .binding 5))] false)] false)))]))))), - (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 2)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 3)), type := (.list .nat) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 13)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 13)) [(.mk .none (.mk [] (.move (.generated .binding 3)))), (.mk (.some (.tuple [(.bind (.generated .binding 4)), (.bind (.generated .binding 5))])) (.mk [] (.call (.function 5) [(.clone (.generated .binding 0)), (.clone (.generated .binding 1)), (.move (.generated .binding 5)), (.call (.function 6) [(.move (.generated .binding 1)), (.call (.function 7) [(.move (.generated .binding 0)), (.copy (.generated .binding 4))] false), (.move (.generated .binding 3))] false)] false)))]))), - (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 2)), type := (.list .nat) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 14)) none (.move (.generated .binding 1)))] (.matchOn (.uncons (.generated .holder 14)) [(.mk .none (.mk [] (.move (.generated .binding 2)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 6) [(.clone (.generated .binding 0)), (.move (.generated .binding 4)), (.cond (.call (.function 9) [(.move (.generated .binding 0)), (.copy (.generated .binding 3))] false) (.mk [] (.move (.generated .binding 2))) (.mk [] (.cond (.call (.function 9) [(.clone (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.mk [] (.move (.generated .binding 2))) (.mk [] (.call (.function 10) [(.move (.generated .binding 2)), (.copy (.generated .binding 3))] false)))))] false)))]))), - (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 15)) none (.call (.function 8) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 15)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.move (.generated .binding 2))))]))), - (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.option (.list .nat)) (.mk [(.mk (.bind (.generated .holder 16)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 16)) [(.mk .none (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 20)) none (.block (.mk [(.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 19)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 17)))))] (.call (.runtime .compare) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false))))] (.matchOn (.move (.generated .holder 20)) [(.mk (.ordering .less) (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 21))]) none (.move (.generated .binding 2)))] (.move (.generated .part 21))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 8) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]))), - (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .holder 22)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 22)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 25)) none (.block (.mk [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 24)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false))))] (.matchOn (.move (.generated .holder 25)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 9) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]))), - (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 26)) none (.clone (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 26)) [(.mk .none (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 29)) none (.block (.mk [(.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 28)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false))))] (.matchOn (.move (.generated .holder 29)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 10) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]))), - (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 30)) none (.move (.generated .binding 1)))] (.matchOn (.uncons (.generated .holder 30)) [(.mk .none (.mk [] (.move (.generated .binding 0)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 11) [(.call (.function 12) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false), (.move (.generated .binding 3))] false)))]))), - (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 31)) none (.clone (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 31)) [(.mk .none (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 34)) none (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 33)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] false))))] (.matchOn (.move (.generated .holder 34)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 12) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]))), - (.function (.generated .function 13) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 35)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 35)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 13) [(.move (.generated .binding 3)), (.call (.function 14) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 36))]) none (.move (.generated .binding 2)))] (.move (.generated .part 36)))), (.call (.function 15) [(.move (.generated .binding 1)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 37)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 37))))] false)] false)] false)))]))), - (.function (.generated .function 14) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 38)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 38)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 14) [(.move (.generated .binding 3)), (.call (.function 15) [(.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)] false)))]))), - (.function (.generated .function 15) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 39)) none (.clone (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 39)) [(.mk .none (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 42)) none (.block (.mk [(.mk (.bind (.generated .operand 40)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 41)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 40)), (.move (.generated .operand 41))] false))))] (.matchOn (.move (.generated .holder 42)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 15) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]))), - (.function (.generated .function 16) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }] (.fallible (.option (.list .nat))) (.mk [(.mk (.bind (.generated .binding 1)) (some (.list .nat)) (.call (.function 21) [(.clone (.generated .binding 0)), (.construct (.nil .nat) [])] false))] (.succeed (.call (.function 17) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.bind (.generated .operand 43)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 43))] false)))), (.mk (.bind (.generated .operand 45)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] true))), (.move (.generated .binding 1)), (.construct (.nil .nat) [])] false)))), - (.function (.generated .function 17) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 3)), type := (.list .nat) }] (.option (.list .nat)) (.mk [(.mk (.bind (.generated .holder 46)) none (.copy (.generated .binding 1)))] (.cond (.isZero (.generated .holder 46)) (.mk [(.mk (.bind (.generated .holder 47)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 47)) [(.mk .none (.mk [] (.construct .some [(.call (.function 20) [(.move (.generated .binding 3)), (.construct (.nil .nat) [])] false)]))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.construct (.none (.list .nat)) [])))])) (.mk [(.mk (.bind (.generated .binding 6)) none (.predecessor (.generated .holder 46))), (.mk (.bind (.generated .holder 48)) none (.call (.function 18) [(.clone (.generated .binding 0)), (.clone (.generated .binding 2)), (.clone (.generated .binding 2))] false))] (.matchOn (.uncons (.generated .holder 48)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 49)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 49)) [(.mk .none (.mk [] (.construct .some [(.call (.function 20) [(.move (.generated .binding 3)), (.construct (.nil .nat) [])] false)]))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.construct (.none (.list .nat)) [])))]))), (.mk (.some (.tuple [(.bind (.generated .binding 9)), .wild])) (.mk [] (.call (.function 17) [(.move (.generated .binding 0)), (.copy (.generated .binding 6)), (.call (.function 27) [(.move (.generated .binding 2)), (.copy (.generated .binding 9))] false), (.construct .cons [(.copy (.generated .binding 9)), (.move (.generated .binding 3))])] false)))]))))), - (.function (.generated .function 18) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 2)), type := (.list .nat) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 50)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 50)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.cond (.call (.function 19) [(.clone (.generated .binding 0)), (.copy (.generated .binding 3)), (.clone (.generated .binding 1))] false) (.mk [] (.construct .cons [(.copy (.generated .binding 3)), (.call (.function 18) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)])) (.mk [] (.call (.function 18) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)))))]))), - (.function (.generated .function 19) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := (.list .nat) }] .bool (.mk [(.mk (.bind (.generated .holder 51)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 51)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.cond (.call (.function 26) [(.call (.function 24) [(.clone (.generated .binding 0)), (.copy (.generated .binding 3))] false), (.copy (.generated .binding 1))] false) (.mk [] (.lit (.bool false))) (.mk [] (.call (.function 19) [(.move (.generated .binding 0)), (.copy (.generated .binding 1)), (.move (.generated .binding 4))] false)))))]))), - (.function (.generated .function 20) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 52)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 52)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 20) [(.move (.generated .binding 3)), (.construct .cons [(.copy (.generated .binding 2)), (.move (.generated .binding 1))])] false)))]))), - (.function (.generated .function 21) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 53)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 53)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 21) [(.move (.generated .binding 3)), (.call (.function 22) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 54))]) none (.move (.generated .binding 2)))] (.move (.generated .part 54)))), (.call (.function 23) [(.move (.generated .binding 1)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 55)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 55))))] false)] false)] false)))]))), - (.function (.generated .function 22) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 56)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 56)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 22) [(.move (.generated .binding 3)), (.call (.function 23) [(.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)] false)))]))), - (.function (.generated .function 23) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 57)) none (.clone (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 57)) [(.mk .none (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 60)) none (.block (.mk [(.mk (.bind (.generated .operand 58)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 59)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 58)), (.move (.generated .operand 59))] false))))] (.matchOn (.move (.generated .holder 60)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 23) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]))), - (.function (.generated .function 24) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 61)) none (.call (.function 25) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 61)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.move (.generated .binding 2))))]))), - (.function (.generated .function 25) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.option (.list .nat)) (.mk [(.mk (.bind (.generated .holder 62)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 62)) [(.mk .none (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 66)) none (.block (.mk [(.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 63)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 63)))))] (.call (.runtime .compare) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] false))))] (.matchOn (.move (.generated .holder 66)) [(.mk (.ordering .less) (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 67))]) none (.move (.generated .binding 2)))] (.move (.generated .part 67))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 25) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]))), - (.function (.generated .function 26) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .holder 68)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 68)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 71)) none (.block (.mk [(.mk (.bind (.generated .operand 69)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 70)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 69)), (.move (.generated .operand 70))] false))))] (.matchOn (.move (.generated .holder 71)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 26) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]))), - (.function (.generated .function 27) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 72)) none (.clone (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 72)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 75)) none (.block (.mk [(.mk (.bind (.generated .operand 73)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 74)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] false))))] (.matchOn (.move (.generated .holder 75)) [(.mk (.ordering .less) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 3)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 27) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]))), - (.function (.generated .function 28) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }] .bool (.mk [(.mk (.bind (.generated .holder 76)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 76)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 29) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 77))]) none (.move (.generated .binding 1)))] (.move (.generated .part 77))))] false) (.mk [(.mk (.bind (.generated .holder 78)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 78)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 83)) none (.block (.mk [(.mk (.bind (.generated .operand 81)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 79)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 79))))), (.mk (.bind (.generated .operand 82)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 80)))))] (.call (.runtime .compare) [(.move (.generated .operand 81)), (.move (.generated .operand 82))] false))))] (.cond (.matchOn (.move (.generated .holder 83)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 28) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]))), - (.function (.generated .function 29) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }] .bool (.mk [(.mk (.bind (.generated .holder 84)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 84)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .holder 85)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 85)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 88)) none (.block (.mk [(.mk (.bind (.generated .operand 86)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 87)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 86)), (.move (.generated .operand 87))] false))))] (.cond (.matchOn (.move (.generated .holder 88)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 29) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])))]))), - (.function (.generated .function 30) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.option (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat)))))) (.mk [] (.cond (.call (.function 28) [(.clone (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] true)]))) (.mk [] (.succeed (.construct (.none (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat))))) []))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.pair (.call (.function 1) [(.clone (.generated .binding 0)), (.copy (.generated .binding 1))] false) (.pair (.call (.function 3) [(.clone (.generated .binding 0)), (.copy (.generated .binding 1))] true) (.call (.function 16) [(.move (.generated .binding 0))] true)))), [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, - (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat (.list .nat)))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil))))))⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.call (.function 2) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 1)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.move (.generated .binding 2))))]), [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option (.list .nat))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil .nat) [])) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 2))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 2)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 2)) [(.mk .none (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 6)) none (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 3)))))] (.call (.runtime .compare) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))))] (.matchOn (.move (.generated .holder 6)) [(.mk (.ordering .less) (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 7))]) none (.move (.generated .binding 2)))] (.move (.generated .part 7))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 2) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]), [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair .nat (.list .nat)))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none (.list .nat)) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .nat (.list .nat))), (some 3)), (2, (.pair .nat (.list .nat)), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 6)) none (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 3)))))] (.call (.runtime .compare) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))))]) (tail := (.matchOn (.move (.generated .holder 6)) [(.mk (.ordering .less) (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 7))]) none (.move (.generated .binding 2)))] (.move (.generated .part 7))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 2) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 3)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 3))) (Corr.first (ta := .nat) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list (.pair .nat (.list .nat))), (some 3)), (2, (.pair .nat (.list .nat)), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none (.list .nat)) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .nat (.list .nat))), (some 3)), (2, (.pair .nat (.list .nat)), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 7))]) none (.move (.generated .binding 2)))] (.move (.generated .part 7))))])) (Corr.mCons (Γ' := [(3, (.list (.pair .nat (.list .nat))), (some 3)), (2, (.pair .nat (.list .nat)), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 2) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [(.list .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 7))]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 7))) (Corr.second (ta := .nat) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.call (.function 4) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .operand 8)) none (.call (.function 13) [(.move (.generated .binding 0)), (.construct (.nil .nat) [])] false))] (.call (.runtime .lengthList) [(.move (.generated .operand 8))] false)))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] true))), (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])]), (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])])] false)), [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, - (Corr.fOfB (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat, (.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .operand 8)) none (.call (.function 13) [(.move (.generated .binding 0)), (.construct (.nil .nat) [])] false))] (.call (.runtime .lengthList) [(.move (.generated .operand 8))] false)))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 8)) none (.call (.function 13) [(.move (.generated .binding 0)), (.construct (.nil .nat) [])] false))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 8))] false)) (Corr.prim (ts := [(.list .nat)]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))))) rfl rfl rfl rfl rfl))⟩⟩ - -theorem fun4 : FunOK program krate flags 4 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 11)) none (.copy (.generated .binding 1)))], (.cond (.isZero (.generated .holder 11)) (.mk [] (.move (.generated .binding 3))) (.mk [(.mk (.bind (.generated .binding 4)) none (.predecessor (.generated .holder 11))), (.mk (.bind (.generated .binding 5)) (some (.list .nat)) (.call (.function 5) [(.clone (.generated .binding 0)), (.clone (.generated .binding 3)), (.move (.generated .binding 2)), (.construct (.nil .nat) [])] false)), (.mk (.bind (.generated .holder 12)) none (.clone (.generated .binding 5)))] (.matchOn (.uncons (.generated .holder 12)) [(.mk .none (.mk [] (.move (.generated .binding 3)))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 4)), (.clone (.generated .binding 5)), (.call (.function 11) [(.move (.generated .binding 3)), (.move (.generated .binding 5))] false)] false)))]))), [(3, (.list .nat), (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, - (Corr.matchNat (sl := (some 4)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.move (.generated .binding 3))) (lb := [(.mk (.bind (.generated .binding 5)) (some (.list .nat)) (.call (.function 5) [(.clone (.generated .binding 0)), (.clone (.generated .binding 3)), (.move (.generated .binding 2)), (.construct (.nil .nat) [])] false)), (.mk (.bind (.generated .holder 12)) none (.clone (.generated .binding 5)))]) (tb := (.matchOn (.uncons (.generated .holder 12)) [(.mk .none (.mk [] (.move (.generated .binding 3)))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 4)), (.clone (.generated .binding 5)), (.call (.function 11) [(.move (.generated .binding 3)), (.move (.generated .binding 5))] false)] false)))])) (Corr.bOfE (Corr.var rfl rfl)) (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), (.list .nat), (.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))))) rfl rfl rfl rfl rfl)) rfl (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(5, (.list .nat), (some 5)), (4, .nat, (some 4)), (3, (.list .nat), (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 3))) (Corr.mCons (Γ' := [(7, (.list .nat), none), (6, .nat, none), (5, (.list .nat), (some 5)), (4, .nat, (some 4)), (3, (.list .nat), (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 4)), (.clone (.generated .binding 5)), (.call (.function 11) [(.move (.generated .binding 3)), (.move (.generated .binding 5))] false)] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat, (.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl))))⟩⟩ - -theorem fun5 : FunOK program krate flags 5 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 13)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 13)) [(.mk .none (.mk [] (.move (.generated .binding 3)))), (.mk (.some (.tuple [(.bind (.generated .binding 4)), (.bind (.generated .binding 5))])) (.mk [] (.call (.function 5) [(.clone (.generated .binding 0)), (.clone (.generated .binding 1)), (.move (.generated .binding 5)), (.call (.function 6) [(.move (.generated .binding 1)), (.call (.function 7) [(.move (.generated .binding 0)), (.copy (.generated .binding 4))] false), (.move (.generated .binding 3))] false)] false)))]), [(3, (.list .nat), (some 3)), (2, (.list .nat), (some 2)), (1, (.list .nat), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, (.list .nat), (some 2)), (1, (.list .nat), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 3))) (Corr.mCons (Γ' := [(5, (.list .nat), (some 5)), (4, .nat, (some 4)), (3, (.list .nat), (some 3)), (2, (.list .nat), (some 2)), (1, (.list .nat), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 5) [(.clone (.generated .binding 0)), (.clone (.generated .binding 1)), (.move (.generated .binding 5)), (.call (.function 6) [(.move (.generated .binding 1)), (.call (.function 7) [(.move (.generated .binding 0)), (.copy (.generated .binding 4))] false), (.move (.generated .binding 3))] false)] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), (.list .nat), (.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), (.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.lNil)))))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun6 : FunOK program krate flags 6 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 14)) none (.move (.generated .binding 1)))], (.matchOn (.uncons (.generated .holder 14)) [(.mk .none (.mk [] (.move (.generated .binding 2)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 6) [(.clone (.generated .binding 0)), (.move (.generated .binding 4)), (.cond (.call (.function 9) [(.move (.generated .binding 0)), (.copy (.generated .binding 3))] false) (.mk [] (.move (.generated .binding 2))) (.mk [] (.cond (.call (.function 9) [(.clone (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.mk [] (.move (.generated .binding 2))) (.mk [] (.call (.function 10) [(.move (.generated .binding 2)), (.copy (.generated .binding 3))] false)))))] false)))]), [(2, (.list .nat), (some 2)), (1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 2))) (Corr.mCons (Γ' := [(4, (.list .nat), (some 4)), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 6) [(.clone (.generated .binding 0)), (.move (.generated .binding 4)), (.cond (.call (.function 9) [(.move (.generated .binding 0)), (.copy (.generated .binding 3))] false) (.mk [] (.move (.generated .binding 2))) (.mk [] (.cond (.call (.function 9) [(.clone (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.mk [] (.move (.generated .binding 2))) (.mk [] (.call (.function 10) [(.move (.generated .binding 2)), (.copy (.generated .binding 3))] false)))))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .nat), (.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 9) [(.move (.generated .binding 0)), (.copy (.generated .binding 3))] false)) (lk := []) (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.move (.generated .binding 2))) (lb := []) (tb := (.cond (.call (.function 9) [(.clone (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.mk [] (.move (.generated .binding 2))) (.mk [] (.call (.function 10) [(.move (.generated .binding 2)), (.copy (.generated .binding 3))] false)))) (Corr.bOfE (Corr.var rfl rfl)) (Corr.cond (lc := []) (ce := (.call (.function 9) [(.clone (.generated .binding 2)), (.copy (.generated .binding 3))] false)) (lk := []) (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.move (.generated .binding 2))) (lb := []) (tb := (.call (.function 10) [(.move (.generated .binding 2)), (.copy (.generated .binding 3))] false)) (Corr.bOfE (Corr.var rfl rfl)) (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)))))) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun7 : FunOK program krate flags 7 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 15)) none (.call (.function 8) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 15)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.move (.generated .binding 2))))]), [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option (.list .nat))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil .nat) [])) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 2))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun8 : FunOK program krate flags 8 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 16)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 16)) [(.mk .none (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 20)) none (.block (.mk [(.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 19)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 17)))))] (.call (.runtime .compare) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false))))] (.matchOn (.move (.generated .holder 20)) [(.mk (.ordering .less) (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 21))]) none (.move (.generated .binding 2)))] (.move (.generated .part 21))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 8) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]), [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair .nat (.list .nat)))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none (.list .nat)) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .nat (.list .nat))), (some 3)), (2, (.pair .nat (.list .nat)), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 20)) none (.block (.mk [(.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 19)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 17)))))] (.call (.runtime .compare) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false))))]) (tail := (.matchOn (.move (.generated .holder 20)) [(.mk (.ordering .less) (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 21))]) none (.move (.generated .binding 2)))] (.move (.generated .part 21))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 8) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 19)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 17)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 17))) (Corr.first (ta := .nat) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list (.pair .nat (.list .nat))), (some 3)), (2, (.pair .nat (.list .nat)), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none (.list .nat)) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .nat (.list .nat))), (some 3)), (2, (.pair .nat (.list .nat)), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 21))]) none (.move (.generated .binding 2)))] (.move (.generated .part 21))))])) (Corr.mCons (Γ' := [(3, (.list (.pair .nat (.list .nat))), (some 3)), (2, (.pair .nat (.list .nat)), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 8) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [(.list .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 21))]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 21))) (Corr.second (ta := .nat) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun9 : FunOK program krate flags 9 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 22)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 22)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 25)) none (.block (.mk [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 24)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false))))] (.matchOn (.move (.generated .holder 25)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 9) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]), [(1, .nat, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 25)) none (.block (.mk [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 24)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false))))]) (tail := (.matchOn (.move (.generated .holder 25)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 9) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 24)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 9) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun10 : FunOK program krate flags 10 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 26)) none (.clone (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 26)) [(.mk .none (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 29)) none (.block (.mk [(.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 28)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false))))] (.matchOn (.move (.generated .holder 29)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 10) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]), [(1, .nat, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 29)) none (.block (.mk [(.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 28)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false))))]) (tail := (.matchOn (.move (.generated .holder 29)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 10) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 28)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 10) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun11 : FunOK program krate flags 11 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 30)) none (.move (.generated .binding 1)))], (.matchOn (.uncons (.generated .holder 30)) [(.mk .none (.mk [] (.move (.generated .binding 0)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 11) [(.call (.function 12) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false), (.move (.generated .binding 3))] false)))]), [(1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 11) [(.call (.function 12) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false), (.move (.generated .binding 3))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun12 : FunOK program krate flags 12 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 31)) none (.clone (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 31)) [(.mk .none (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 34)) none (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 33)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] false))))] (.matchOn (.move (.generated .holder 34)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 12) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]), [(1, .nat, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 34)) none (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 33)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] false))))]) (tail := (.matchOn (.move (.generated .holder 34)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 12) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 33)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 12) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun13 : FunOK program krate flags 13 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 35)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 35)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 13) [(.move (.generated .binding 3)), (.call (.function 14) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 36))]) none (.move (.generated .binding 2)))] (.move (.generated .part 36)))), (.call (.function 15) [(.move (.generated .binding 1)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 37)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 37))))] false)] false)] false)))]), [(1, (.list .nat), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair .nat (.list .nat)))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.list .nat), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(3, (.list (.pair .nat (.list .nat))), (some 3)), (2, (.pair .nat (.list .nat)), (some 2)), (1, (.list .nat), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 13) [(.move (.generated .binding 3)), (.call (.function 14) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 36))]) none (.move (.generated .binding 2)))] (.move (.generated .part 36)))), (.call (.function 15) [(.move (.generated .binding 1)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 37)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 37))))] false)] false)] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 36))]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 36))) (Corr.second (ta := .nat) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 37)), .wild]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 37))) (Corr.first (ta := .nat) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun14 : FunOK program krate flags 14 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 38)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 38)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 14) [(.move (.generated .binding 3)), (.call (.function 15) [(.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)] false)))]), [(1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 14) [(.move (.generated .binding 3)), (.call (.function 15) [(.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun15 : FunOK program krate flags 15 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 39)) none (.clone (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 39)) [(.mk .none (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 42)) none (.block (.mk [(.mk (.bind (.generated .operand 40)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 41)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 40)), (.move (.generated .operand 41))] false))))] (.matchOn (.move (.generated .holder 42)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 15) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]), [(1, .nat, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 42)) none (.block (.mk [(.mk (.bind (.generated .operand 40)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 41)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 40)), (.move (.generated .operand 41))] false))))]) (tail := (.matchOn (.move (.generated .holder 42)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 15) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 40)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 41)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 40)), (.move (.generated .operand 41))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 15) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun16 : FunOK program krate flags 16 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.list .nat)) (.call (.function 21) [(.clone (.generated .binding 0)), (.construct (.nil .nat) [])] false))], (.succeed (.call (.function 17) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.bind (.generated .operand 43)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 43))] false)))), (.mk (.bind (.generated .operand 45)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] true))), (.move (.generated .binding 1)), (.construct (.nil .nat) [])] false)), [(0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, - (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl (Corr.fOfB (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat, (.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.bind (.generated .operand 43)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 43))] false)))), (.mk (.bind (.generated .operand 45)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 43)) none (.clone (.generated .binding 1)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 43))] false)) (Corr.prim (ts := [(.list .nat)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))))) rfl rfl rfl rfl rfl)))⟩⟩ - -theorem fun17 : FunOK program krate flags 17 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 46)) none (.copy (.generated .binding 1)))], (.cond (.isZero (.generated .holder 46)) (.mk [(.mk (.bind (.generated .holder 47)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 47)) [(.mk .none (.mk [] (.construct .some [(.call (.function 20) [(.move (.generated .binding 3)), (.construct (.nil .nat) [])] false)]))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.construct (.none (.list .nat)) [])))])) (.mk [(.mk (.bind (.generated .binding 6)) none (.predecessor (.generated .holder 46))), (.mk (.bind (.generated .holder 48)) none (.call (.function 18) [(.clone (.generated .binding 0)), (.clone (.generated .binding 2)), (.clone (.generated .binding 2))] false))] (.matchOn (.uncons (.generated .holder 48)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 49)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 49)) [(.mk .none (.mk [] (.construct .some [(.call (.function 20) [(.move (.generated .binding 3)), (.construct (.nil .nat) [])] false)]))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.construct (.none (.list .nat)) [])))]))), (.mk (.some (.tuple [(.bind (.generated .binding 9)), .wild])) (.mk [] (.call (.function 17) [(.move (.generated .binding 0)), (.copy (.generated .binding 6)), (.call (.function 27) [(.move (.generated .binding 2)), (.copy (.generated .binding 9))] false), (.construct .cons [(.copy (.generated .binding 9)), (.move (.generated .binding 3))])] false)))]))), [(3, (.list .nat), (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, - (Corr.matchNat (sl := (some 6)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := [(.mk (.bind (.generated .holder 47)) none (.move (.generated .binding 2)))]) (ta := (.matchOn (.uncons (.generated .holder 47)) [(.mk .none (.mk [] (.construct .some [(.call (.function 20) [(.move (.generated .binding 3)), (.construct (.nil .nat) [])] false)]))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.construct (.none (.list .nat)) [])))])) (lb := [(.mk (.bind (.generated .holder 48)) none (.call (.function 18) [(.clone (.generated .binding 0)), (.clone (.generated .binding 2)), (.clone (.generated .binding 2))] false))]) (tb := (.matchOn (.uncons (.generated .holder 48)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 49)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 49)) [(.mk .none (.mk [] (.construct .some [(.call (.function 20) [(.move (.generated .binding 3)), (.construct (.nil .nat) [])] false)]))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.construct (.none (.list .nat)) [])))]))), (.mk (.some (.tuple [(.bind (.generated .binding 9)), .wild])) (.mk [] (.call (.function 17) [(.move (.generated .binding 0)), (.copy (.generated .binding 6)), (.call (.function 27) [(.move (.generated .binding 2)), (.copy (.generated .binding 9))] false), (.construct .cons [(.copy (.generated .binding 9)), (.move (.generated .binding 3))])] false)))])) (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.call (.function 20) [(.move (.generated .binding 3)), (.construct (.nil .nat) [])] false)])) (Corr.mCons (Γ' := [(5, (.list .nat), none), (4, .nat, none), (3, (.list .nat), (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct (.none (.list .nat)) [])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl (Corr.build (ts := [(.list .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) rfl rfl rfl) (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), (.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(6, .nat, (some 6)), (3, (.list .nat), (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := [(.mk (.bind (.generated .holder 49)) none (.move (.generated .binding 2)))]) (tail := (.matchOn (.uncons (.generated .holder 49)) [(.mk .none (.mk [] (.construct .some [(.call (.function 20) [(.move (.generated .binding 3)), (.construct (.nil .nat) [])] false)]))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.construct (.none (.list .nat)) [])))])) (Corr.mCons (Γ' := [(10, (.list .nat), none), (9, .nat, (some 9)), (6, .nat, (some 6)), (3, (.list .nat), (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 17) [(.move (.generated .binding 0)), (.copy (.generated .binding 6)), (.call (.function 27) [(.move (.generated .binding 2)), (.copy (.generated .binding 9))] false), (.construct .cons [(.copy (.generated .binding 9)), (.move (.generated .binding 3))])] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat, (.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) (Corr.lNil)))))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(6, .nat, (some 6)), (3, (.list .nat), (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.call (.function 20) [(.move (.generated .binding 3)), (.construct (.nil .nat) [])] false)])) (Corr.mCons (Γ' := [(8, (.list .nat), none), (7, .nat, none), (6, .nat, (some 6)), (3, (.list .nat), (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct (.none (.list .nat)) [])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl (Corr.build (ts := [(.list .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) rfl rfl rfl)) rfl rfl rfl)))⟩⟩ - -theorem fun18 : FunOK program krate flags 18 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 50)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 50)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.cond (.call (.function 19) [(.clone (.generated .binding 0)), (.copy (.generated .binding 3)), (.clone (.generated .binding 1))] false) (.mk [] (.construct .cons [(.copy (.generated .binding 3)), (.call (.function 18) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)])) (.mk [] (.call (.function 18) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)))))]), [(2, (.list .nat), (some 2)), (1, (.list .nat), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, (.list .nat), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil .nat) [])) (Corr.mCons (Γ' := [(4, (.list .nat), (some 4)), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, (.list .nat), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 19) [(.clone (.generated .binding 0)), (.copy (.generated .binding 3)), (.clone (.generated .binding 1))] false) (.mk [] (.construct .cons [(.copy (.generated .binding 3)), (.call (.function 18) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)])) (.mk [] (.call (.function 18) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 19) [(.clone (.generated .binding 0)), (.copy (.generated .binding 3)), (.clone (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat, (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .cons [(.copy (.generated .binding 3)), (.call (.function 18) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)])) (lb := []) (tb := (.call (.function 18) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)) (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), (.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl) (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), (.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)))) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun19 : FunOK program krate flags 19 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 51)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 51)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.cond (.call (.function 26) [(.call (.function 24) [(.clone (.generated .binding 0)), (.copy (.generated .binding 3))] false), (.copy (.generated .binding 1))] false) (.mk [] (.lit (.bool false))) (.mk [] (.call (.function 19) [(.move (.generated .binding 0)), (.copy (.generated .binding 1)), (.move (.generated .binding 4))] false)))))]), [(2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list .nat), (some 4)), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 26) [(.call (.function 24) [(.clone (.generated .binding 0)), (.copy (.generated .binding 3))] false), (.copy (.generated .binding 1))] false) (.mk [] (.lit (.bool false))) (.mk [] (.call (.function 19) [(.move (.generated .binding 0)), (.copy (.generated .binding 1)), (.move (.generated .binding 4))] false)))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 26) [(.call (.function 24) [(.clone (.generated .binding 0)), (.copy (.generated .binding 3))] false), (.copy (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.bool false))) (lb := []) (tb := (.call (.function 19) [(.move (.generated .binding 0)), (.copy (.generated .binding 1)), (.move (.generated .binding 4))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat, (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun20 : FunOK program krate flags 20 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 52)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 52)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 20) [(.move (.generated .binding 3)), (.construct .cons [(.copy (.generated .binding 2)), (.move (.generated .binding 1))])] false)))]), [(1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 20) [(.move (.generated .binding 3)), (.construct .cons [(.copy (.generated .binding 2)), (.move (.generated .binding 1))])] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun21 : FunOK program krate flags 21 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 53)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 53)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 21) [(.move (.generated .binding 3)), (.call (.function 22) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 54))]) none (.move (.generated .binding 2)))] (.move (.generated .part 54)))), (.call (.function 23) [(.move (.generated .binding 1)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 55)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 55))))] false)] false)] false)))]), [(1, (.list .nat), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair .nat (.list .nat)))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.list .nat), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(3, (.list (.pair .nat (.list .nat))), (some 3)), (2, (.pair .nat (.list .nat)), (some 2)), (1, (.list .nat), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 21) [(.move (.generated .binding 3)), (.call (.function 22) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 54))]) none (.move (.generated .binding 2)))] (.move (.generated .part 54)))), (.call (.function 23) [(.move (.generated .binding 1)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 55)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 55))))] false)] false)] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 54))]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 54))) (Corr.second (ta := .nat) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 55)), .wild]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 55))) (Corr.first (ta := .nat) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun22 : FunOK program krate flags 22 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 56)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 56)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 22) [(.move (.generated .binding 3)), (.call (.function 23) [(.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)] false)))]), [(1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 22) [(.move (.generated .binding 3)), (.call (.function 23) [(.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun23 : FunOK program krate flags 23 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 57)) none (.clone (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 57)) [(.mk .none (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 60)) none (.block (.mk [(.mk (.bind (.generated .operand 58)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 59)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 58)), (.move (.generated .operand 59))] false))))] (.matchOn (.move (.generated .holder 60)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 23) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]), [(1, .nat, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 60)) none (.block (.mk [(.mk (.bind (.generated .operand 58)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 59)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 58)), (.move (.generated .operand 59))] false))))]) (tail := (.matchOn (.move (.generated .holder 60)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 23) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 58)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 59)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 58)), (.move (.generated .operand 59))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 23) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun24 : FunOK program krate flags 24 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 61)) none (.call (.function 25) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 61)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.move (.generated .binding 2))))]), [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option (.list .nat))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil .nat) [])) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 2))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun25 : FunOK program krate flags 25 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 62)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 62)) [(.mk .none (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 66)) none (.block (.mk [(.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 63)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 63)))))] (.call (.runtime .compare) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] false))))] (.matchOn (.move (.generated .holder 66)) [(.mk (.ordering .less) (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 67))]) none (.move (.generated .binding 2)))] (.move (.generated .part 67))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 25) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]), [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair .nat (.list .nat)))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none (.list .nat)) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .nat (.list .nat))), (some 3)), (2, (.pair .nat (.list .nat)), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 66)) none (.block (.mk [(.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 63)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 63)))))] (.call (.runtime .compare) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] false))))]) (tail := (.matchOn (.move (.generated .holder 66)) [(.mk (.ordering .less) (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 67))]) none (.move (.generated .binding 2)))] (.move (.generated .part 67))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 25) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 63)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 63)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 63)), .wild]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 63))) (Corr.first (ta := .nat) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list (.pair .nat (.list .nat))), (some 3)), (2, (.pair .nat (.list .nat)), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none (.list .nat)) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .nat (.list .nat))), (some 3)), (2, (.pair .nat (.list .nat)), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 67))]) none (.move (.generated .binding 2)))] (.move (.generated .part 67))))])) (Corr.mCons (Γ' := [(3, (.list (.pair .nat (.list .nat))), (some 3)), (2, (.pair .nat (.list .nat)), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 25) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [(.list .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 67))]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 67))) (Corr.second (ta := .nat) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun26 : FunOK program krate flags 26 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 68)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 68)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 71)) none (.block (.mk [(.mk (.bind (.generated .operand 69)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 70)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 69)), (.move (.generated .operand 70))] false))))] (.matchOn (.move (.generated .holder 71)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 26) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]), [(1, .nat, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 71)) none (.block (.mk [(.mk (.bind (.generated .operand 69)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 70)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 69)), (.move (.generated .operand 70))] false))))]) (tail := (.matchOn (.move (.generated .holder 71)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 26) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 69)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 70)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 69)), (.move (.generated .operand 70))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 26) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun27 : FunOK program krate flags 27 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 72)) none (.clone (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 72)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 75)) none (.block (.mk [(.mk (.bind (.generated .operand 73)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 74)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] false))))] (.matchOn (.move (.generated .holder 75)) [(.mk (.ordering .less) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 3)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 27) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]), [(1, .nat, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil .nat) [])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 75)) none (.block (.mk [(.mk (.bind (.generated .operand 73)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 74)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] false))))]) (tail := (.matchOn (.move (.generated .holder 75)) [(.mk (.ordering .less) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 3)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 27) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 73)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 74)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 3))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 27) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun28 : FunOK program krate flags 28 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 76)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 76)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 29) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 77))]) none (.move (.generated .binding 1)))] (.move (.generated .part 77))))] false) (.mk [(.mk (.bind (.generated .holder 78)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 78)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 83)) none (.block (.mk [(.mk (.bind (.generated .operand 81)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 79)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 79))))), (.mk (.bind (.generated .operand 82)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 80)))))] (.call (.runtime .compare) [(.move (.generated .operand 81)), (.move (.generated .operand 82))] false))))] (.cond (.matchOn (.move (.generated .holder 83)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 28) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair .nat (.list .nat)))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.pair .nat (.list .nat))), (some 2)), (1, (.pair .nat (.list .nat)), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 29) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 77))]) none (.move (.generated .binding 1)))] (.move (.generated .part 77))))] false) (.mk [(.mk (.bind (.generated .holder 78)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 78)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 83)) none (.block (.mk [(.mk (.bind (.generated .operand 81)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 79)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 79))))), (.mk (.bind (.generated .operand 82)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 80)))))] (.call (.runtime .compare) [(.move (.generated .operand 81)), (.move (.generated .operand 82))] false))))] (.cond (.matchOn (.move (.generated .holder 83)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 28) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 29) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 77))]) none (.move (.generated .binding 1)))] (.move (.generated .part 77))))] false)) (lk := []) (Corr.callOps (ts := [(.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 77))]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 77))) (Corr.second (ta := .nat) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .holder 78)) none (.clone (.generated .binding 2)))]) (ta := (.matchOn (.uncons (.generated .holder 78)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 83)) none (.block (.mk [(.mk (.bind (.generated .operand 81)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 79)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 79))))), (.mk (.bind (.generated .operand 82)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 80)))))] (.call (.runtime .compare) [(.move (.generated .operand 81)), (.move (.generated .operand 82))] false))))] (.cond (.matchOn (.move (.generated .holder 83)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 28) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (lb := []) (tb := (.lit (.bool false))) (Corr.matchArms (st := (.list (.pair .nat (.list .nat)))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.pair .nat (.list .nat))), (some 2)), (1, (.pair .nat (.list .nat)), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .nat (.list .nat))), none), (3, (.pair .nat (.list .nat)), (some 3)), (2, (.list (.pair .nat (.list .nat))), (some 2)), (1, (.pair .nat (.list .nat)), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 83)) none (.block (.mk [(.mk (.bind (.generated .operand 81)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 79)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 79))))), (.mk (.bind (.generated .operand 82)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 80)))))] (.call (.runtime .compare) [(.move (.generated .operand 81)), (.move (.generated .operand 82))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 83)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 28) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 83)) none (.block (.mk [(.mk (.bind (.generated .operand 81)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 79)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 79))))), (.mk (.bind (.generated .operand 82)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 80)))))] (.call (.runtime .compare) [(.move (.generated .operand 81)), (.move (.generated .operand 82))] false))))]) (ce := (.matchOn (.move (.generated .holder 83)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 81)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 79)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 79))))), (.mk (.bind (.generated .operand 82)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 80)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 81)), (.move (.generated .operand 82))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 79)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 79))) (Corr.first (ta := .nat) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.move (.generated .binding 3)))]) (tail := (.move (.generated .part 80))) (Corr.first (ta := .nat) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.pair .nat (.list .nat))), none), (3, (.pair .nat (.list .nat)), (some 3)), (2, (.list (.pair .nat (.list .nat))), (some 2)), (1, (.pair .nat (.list .nat)), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .nat (.list .nat))), none), (3, (.pair .nat (.list .nat)), (some 3)), (2, (.list (.pair .nat (.list .nat))), (some 2)), (1, (.pair .nat (.list .nat)), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list (.pair .nat (.list .nat))), none), (3, (.pair .nat (.list .nat)), (some 3)), (2, (.list (.pair .nat (.list .nat))), (some 2)), (1, (.pair .nat (.list .nat)), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 28) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.pair .nat (.list .nat)))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun29 : FunOK program krate flags 29 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 84)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 84)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .holder 85)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 85)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 88)) none (.block (.mk [(.mk (.bind (.generated .operand 86)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 87)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 86)), (.move (.generated .operand 87))] false))))] (.cond (.matchOn (.move (.generated .holder 88)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 29) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])))]), [(0, (.list .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 85)) none (.clone (.generated .binding 2)))]) (tail := (.matchOn (.uncons (.generated .holder 85)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 88)) none (.block (.mk [(.mk (.bind (.generated .operand 86)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 87)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 86)), (.move (.generated .operand 87))] false))))] (.cond (.matchOn (.move (.generated .holder 88)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 29) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list .nat), none), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 88)) none (.block (.mk [(.mk (.bind (.generated .operand 86)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 87)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 86)), (.move (.generated .operand 87))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 88)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 29) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 88)) none (.block (.mk [(.mk (.bind (.generated .operand 86)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 87)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 86)), (.move (.generated .operand 87))] false))))]) (ce := (.matchOn (.move (.generated .holder 88)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 86)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 87)) none (.copy (.generated .binding 3)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 86)), (.move (.generated .operand 87))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list .nat), none), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list .nat), none), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list .nat), none), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 29) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun30 : FunOK program krate flags 30 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 28) [(.clone (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] true)]))) (.mk [] (.succeed (.construct (.none (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat))))) [])))), [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 28) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair .nat (.list .nat)))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] true)]))) (lb := []) (tb := (.succeed (.construct (.none (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat))))) []))) (Corr.fOfB (Corr.build (ts := [(.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat))))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | 4 => exact fun4 - | 5 => exact fun5 - | 6 => exact fun6 - | 7 => exact fun7 - | 8 => exact fun8 - | 9 => exact fun9 - | 10 => exact fun10 - | 11 => exact fun11 - | 12 => exact fun12 - | 13 => exact fun13 - | 14 => exact fun14 - | 15 => exact fun15 - | 16 => exact fun16 - | 17 => exact fun17 - | 18 => exact fun18 - | 19 => exact fun19 - | 20 => exact fun20 - | 21 => exact fun21 - | 22 => exact fun22 - | 23 => exact fun23 - | 24 => exact fun24 - | 25 => exact fun25 - | 26 => exact fun26 - | 27 => exact fun27 - | 28 => exact fun28 - | 29 => exact fun29 - | 30 => exact fun30 - | _ + 31 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R7.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R7.lean deleted file mode 100644 index 598d78516..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R7.lean +++ /dev/null @@ -1,124 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Coverage.Boundary -import Coverage.Colls -import Coverage.Main -import Coverage.Prims -import Coverage.RecRoots -import Coverage.Recur -import Coverage.Syntax -import Coverage.Types -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0], types := [(.list (.pair .string (.list .string)))], result := (.option (.list .string)), - body := (.call 1 [(.var 0)]) }, - { parameters := [0], types := [(.list (.pair .string (.list .string)))], result := (.option (.list .string)), - body := (.«let» 1 (.list .string) (.call 6 [(.var 0), (.build .nil (.list .string) [])]) (.call 2 [(.var 0), (.prim .natAdd [(.prim .length [(.var 1)]), (.value .nat (.nat 1))]), (.var 1), (.build .nil (.list .string) [])])) }, - { parameters := [0, 1, 2, 3], types := [(.list (.pair .string (.list .string))), .nat, (.list .string), (.list .string)], result := (.option (.list .string)), - body := (.«match» (.option (.list .string)) (.var 1) [(.arm .zero [] (.«match» (.option (.list .string)) (.var 2) [(.arm .nil [] (.build .some (.option (.list .string)) [(.call 5 [(.var 3), (.build .nil (.list .string) [])])])), (.arm .cons [4, 5] (.build .none (.option (.list .string)) []))])), (.arm .succ [6] (.«match» (.option (.list .string)) (.call 3 [(.var 0), (.var 2), (.var 2)]) [(.arm .nil [] (.«match» (.option (.list .string)) (.var 2) [(.arm .nil [] (.build .some (.option (.list .string)) [(.call 5 [(.var 3), (.build .nil (.list .string) [])])])), (.arm .cons [7, 8] (.build .none (.option (.list .string)) []))])), (.arm .cons [9, 10] (.call 2 [(.var 0), (.var 6), (.call 12 [(.var 2), (.var 9)]), (.build .cons (.list .string) [(.var 9), (.var 3)])]))]))]) }, - { parameters := [0, 1, 2], types := [(.list (.pair .string (.list .string))), (.list .string), (.list .string)], result := (.list .string), - body := (.«match» (.list .string) (.var 2) [(.arm .nil [] (.build .nil (.list .string) [])), (.arm .cons [3, 4] (.cond (.call 4 [(.var 0), (.var 3), (.var 1)]) (.build .cons (.list .string) [(.var 3), (.call 3 [(.var 0), (.var 1), (.var 4)])]) (.call 3 [(.var 0), (.var 1), (.var 4)])))]) }, - { parameters := [0, 1, 2], types := [(.list (.pair .string (.list .string))), .string, (.list .string)], result := .bool, - body := (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.call 11 [(.call 9 [(.var 0), (.var 3)]), (.var 1)]) (.build .false .bool []) (.call 4 [(.var 0), (.var 1), (.var 4)])))]) }, - { parameters := [0, 1], types := [(.list .string), (.list .string)], result := (.list .string), - body := (.«match» (.list .string) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 5 [(.var 3), (.build .cons (.list .string) [(.var 2), (.var 1)])]))]) }, - { parameters := [0, 1], types := [(.list (.pair .string (.list .string))), (.list .string)], result := (.list .string), - body := (.«match» (.list .string) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 6 [(.var 3), (.call 7 [(.second (.var 2)), (.call 8 [(.var 1), (.first (.var 2))])])]))]) }, - { parameters := [0, 1], types := [(.list .string), (.list .string)], result := (.list .string), - body := (.«match» (.list .string) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 7 [(.var 3), (.call 8 [(.var 1), (.var 2)])]))]) }, - { parameters := [0, 1], types := [(.list .string), .string], result := (.list .string), - body := (.«match» (.list .string) (.var 0) [(.arm .nil [] (.build .cons (.list .string) [(.var 1), (.build .nil (.list .string) [])])), (.arm .cons [2, 3] (.«match» (.list .string) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list .string) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list .string) [(.var 2), (.call 8 [(.var 3), (.var 1)])]))]))]) }, - { parameters := [0, 1], types := [(.list (.pair .string (.list .string))), .string], result := (.list .string), - body := (.«match» (.list .string) (.call 10 [(.var 0), (.var 1)]) [(.arm .none [] (.build .nil (.list .string) [])), (.arm .some [2] (.var 2))]) }, - { parameters := [0, 1], types := [(.list (.pair .string (.list .string))), .string], result := (.option (.list .string)), - body := (.«match» (.option (.list .string)) (.var 0) [(.arm .nil [] (.build .none (.option (.list .string)) [])), (.arm .cons [2, 3] (.«match» (.option (.list .string)) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option (.list .string)) [])), (.arm .eq [] (.build .some (.option (.list .string)) [(.second (.var 2))])), (.arm .gt [] (.call 10 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0, 1], types := [(.list .string), .string], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .false .bool [])), (.arm .cons [2, 3] (.«match» .bool (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .false .bool [])), (.arm .eq [] (.build .true .bool [])), (.arm .gt [] (.call 11 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0, 1], types := [(.list .string), .string], result := (.list .string), - body := (.«match» (.list .string) (.var 0) [(.arm .nil [] (.build .nil (.list .string) [])), (.arm .cons [2, 3] (.«match» (.list .string) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.var 0)), (.arm .eq [] (.var 3)), (.arm .gt [] (.build .cons (.list .string) [(.var 2), (.call 12 [(.var 3), (.var 1)])]))]))]) }, - { parameters := [0], types := [(.list (.pair .string (.list .string)))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 14 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 13 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, - { parameters := [0], types := [(.list .string)], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.var 1), (.var 3)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 14 [(.var 2)]) (.build .false .bool [])))]))]) }, - { parameters := [0], types := [(.list (.pair .string (.list .string)))], result := (.option (.option (.list .string))), - body := (.cond (.call 13 [(.var 0)]) (.build .some (.option (.option (.list .string))) [(.call 0 [(.var 0)])]) (.build .none (.option (.option (.list .string))) [])) }] } - -def __fits_0 (g : (List (Prod String (List String)))) : Bool := - ((Bool.true && Bool.true) && (_root_.LexLeanPreservation.graphFits Coverage.Colls.LexLeanCollections.insertElement (g))) - -theorem __rel_0 (g : (List (Prod String (List String)))) : _root_.LexLeanPreservation.FunRel __prog 0 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string))) g)] (_root_.LexLeanPreservation.Rel (__fits_0 g) ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string)) (Coverage.Colls.stringGraph g))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.tpl_graphTopological (_root_.LexLeanPreservation.keySpec_string Coverage.Colls.LexLeanCollections.compareCodes rfl (fun _ _ => rfl) (fun _ _ => rfl) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (Coverage.Colls.LexLeanCollections.Key.compare : String -> String -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.string) (fun _ => rfl) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string))) (fun _ => rfl) (_root_.LexLeanPreservation.optEnc (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string)) (fun _ => rfl) (⟨(fun _ => rfl), (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.insertElement, __h]), (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.insertElement, __h]), (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.insertElement, __h]), (fun _ => rfl), (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.removeElement, __h]), (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.removeElement, __h]), (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.removeElement, __h]), (fun _ => rfl), (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.containsElement, __h]), (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.containsElement, __h]), (fun _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.containsElement, __h])⟩ : _root_.LexLeanPreservation.SetOps (Coverage.Colls.LexLeanCollections.Key.compare : String -> String -> Ordering) Coverage.Colls.LexLeanCollections.insertElement Coverage.Colls.LexLeanCollections.removeElement Coverage.Colls.LexLeanCollections.containsElement) (⟨(fun _ => rfl), (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]), (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]), (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h])⟩ : _root_.LexLeanPreservation.LookOps (Coverage.Colls.LexLeanCollections.Key.compare : String -> String -> Ordering) (Coverage.Colls.LexLeanCollections.lookupEntry : String -> List (Prod String (List String)) -> Option (List String))) (g) (Coverage.Colls.LexLeanCollections.graphSuccessors (g)) (fun _ => rfl) (⟨(fun _ => rfl), (fun _ _ _ => rfl), (fun _ _ => rfl), (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.topological, __h] <;> rfl), (fun _ _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.topological, __h])⟩ : _root_.LexLeanPreservation.TopoOps (Coverage.Colls.LexLeanCollections.graphSuccessors (g)) Coverage.Colls.LexLeanCollections.containsElement Coverage.Colls.LexLeanCollections.removeElement (Coverage.Colls.LexLeanCollections.topological (g))) (p := __prog) (fi := 1) (tk := .string) rfl rfl rfl rfl rfl rfl rfl rfl rfl rfl rfl rfl)) - -def denote (g : (List (Prod String (List String)))) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 g) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string)) (Coverage.Colls.stringGraph g)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (g : (List (Prod String (List String)))) : _root_.LexLeanPreservation.RunConv __prog 0 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string))) g)] (_root_.LexLeanPreservation.Rel (__fits_0 g) ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string)) (Coverage.Colls.stringGraph g))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 g) - -def __valid_14 : (List String) -> Bool := - _root_.LexLeanPreservation.ascSet (Coverage.Colls.LexLeanCollections.Key.compare : String -> String -> Ordering) - -def __inv_14 : (List String) -> Prop := - _root_.LexLeanPreservation.InvSet (Coverage.Colls.LexLeanCollections.Key.compare : String -> String -> Ordering) - -theorem __viff_14 : ∀ (__v : (List String)), __valid_14 __v = Bool.true ↔ __inv_14 __v := - _root_.LexLeanPreservation.ascSet_inv (Coverage.Colls.LexLeanCollections.Key.compare : String -> String -> Ordering) - -theorem __vrel_14 : ∀ (__v : (List String)), _root_.LexLeanPreservation.FunRel __prog 14 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_14 __v))) := - _root_.LexLeanPreservation.tpl_validSet (_root_.LexLeanPreservation.keySpec_string Coverage.Colls.LexLeanCollections.compareCodes rfl (fun _ _ => rfl) (fun _ _ => rfl) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (Coverage.Colls.LexLeanCollections.Key.compare : String -> String -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.string) (fun _ => rfl) rfl - -def __valid_13 : (List (Prod String (List String))) -> Bool := - _root_.LexLeanPreservation.ascMap (Coverage.Colls.LexLeanCollections.Key.compare : String -> String -> Ordering) __valid_14 - -def __inv_13 : (List (Prod String (List String))) -> Prop := - _root_.LexLeanPreservation.InvMap (Coverage.Colls.LexLeanCollections.Key.compare : String -> String -> Ordering) __inv_14 - -theorem __viff_13 : ∀ (__v : (List (Prod String (List String)))), __valid_13 __v = Bool.true ↔ __inv_13 __v := - _root_.LexLeanPreservation.ascMap_inv (Coverage.Colls.LexLeanCollections.Key.compare : String -> String -> Ordering) __valid_14 __inv_14 __viff_14 - -theorem __vrel_13 : ∀ (__v : (List (Prod String (List String)))), _root_.LexLeanPreservation.FunRel __prog 13 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string))) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_13 __v))) := - _root_.LexLeanPreservation.tpl_validMap (_root_.LexLeanPreservation.keySpec_string Coverage.Colls.LexLeanCollections.compareCodes rfl (fun _ _ => rfl) (fun _ _ => rfl) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (Coverage.Colls.LexLeanCollections.Key.compare : String -> String -> Ordering) (fun _ _ => rfl)) __valid_14 (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string))) (fun _ => rfl) __vrel_14 rfl - -def entryFits (g : (List (Prod String (List String)))) : Bool := - (if __valid_13 g then __fits_0 g else Bool.true) - -def entryValue (g : (List (Prod String (List String)))) : _root_.LexLeanTarget.TargetSyntax.Value := - (if __valid_13 g then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string)) (Coverage.Colls.stringGraph g))) else _root_.LexLeanTarget.TargetSyntax.Value.none) - -/-- The entry's observation. -/ -def denoteEntry (g : (List (Prod String (List String)))) : _root_.LexLeanPreservation.Obs := - _root_.cond (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.entryFits g) (_root_.LexLeanPreservation.Obs.value (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.entryValue g)) _root_.LexLeanPreservation.Obs.overflow - -/-- §17.12's invariants of the validated parameters. -/ -def accepts (g : (List (Prod String (List String)))) : Prop := - (__inv_13 g ∧ _root_.True) - -theorem entry (g : (List (Prod String (List String)))) : _root_.LexLeanPreservation.RunConv __prog 15 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string))) g)] (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.denoteEntry g) := - _root_.LexLeanPreservation.run_of_funRel (_root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then __fits_0 g else Bool.true) (fun __c => if __c then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string)) (Coverage.Colls.stringGraph g))) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_13 g) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_13 g)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_0 g)) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (by simp [_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.entryFits])) - -theorem entry_accepts (g : (List (Prod String (List String)))) (__h : _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.accepts g) : _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.denoteEntry g = _root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.denote g) := by - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.accepts at __h - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.denoteEntry _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.entryFits _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.entryValue _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.denote - simp only [_root_.if_true, (__viff_13 g).mpr __h.1] - cases __fits_0 g <;> rfl - -theorem entry_refuses (g : (List (Prod String (List String)))) (__h : ¬ _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.accepts g) : _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.denoteEntry g = _root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none := by - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.accepts at __h - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.denoteEntry _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.entryFits _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.entryValue - cases __c0 : __valid_13 g - · simp - · exact _root_.absurd ⟨(__viff_13 g).mp __c0, _root_.trivial⟩ __h - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R7/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R7/Compose/RustStd.lean deleted file mode 100644 index 725ac5a41..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R7/Compose/RustStd.lean +++ /dev/null @@ -1,20 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.Compose.RustStd - -/-- The rendering of the root's entry, invoked on the encoded arguments, -realizes the encoded source result when the arguments satisfy §17.12's -invariants, and refuses them with `none` otherwise. -/ -theorem root (g : (List (Prod String (List String)))) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string))) g)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 15) [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string))) g)] __e_ro ∧ - (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.accepts g → _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.denote g)) __e_ro) ∧ - (¬ _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.accepts g → _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none) __e_ro) := - match _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.RustStd.root __e_n 15) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_string (_root_.LexLeanPreservation.Rust.wt_encList _root_.LexLeanPreservation.Rust.wt_string))) g) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.entry g) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) with - | ⟨__e_ro, __e_hr, __e_hc⟩ => ⟨__e_ro, __e_hc, fun __e_h => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.entry_accepts g __e_h ▸ __e_hr, fun __e_h => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.entry_refuses g __e_h ▸ __e_hr⟩ - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R7/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R7/RustStd.lean deleted file mode 100644 index 40f4a7a1d..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R7/RustStd.lean +++ /dev/null @@ -1,153 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0], types := [(.list (.pair .string (.list .string)))], result := (.option (.list .string)), - body := (.call 1 [(.var 0)]) }, - { parameters := [0], types := [(.list (.pair .string (.list .string)))], result := (.option (.list .string)), - body := (.«let» 1 (.list .string) (.call 6 [(.var 0), (.build .nil (.list .string) [])]) (.call 2 [(.var 0), (.prim .natAdd [(.prim .length [(.var 1)]), (.value .nat (.nat 1))]), (.var 1), (.build .nil (.list .string) [])])) }, - { parameters := [0, 1, 2, 3], types := [(.list (.pair .string (.list .string))), .nat, (.list .string), (.list .string)], result := (.option (.list .string)), - body := (.«match» (.option (.list .string)) (.var 1) [(.arm .zero [] (.«match» (.option (.list .string)) (.var 2) [(.arm .nil [] (.build .some (.option (.list .string)) [(.call 5 [(.var 3), (.build .nil (.list .string) [])])])), (.arm .cons [4, 5] (.build .none (.option (.list .string)) []))])), (.arm .succ [6] (.«match» (.option (.list .string)) (.call 3 [(.var 0), (.var 2), (.var 2)]) [(.arm .nil [] (.«match» (.option (.list .string)) (.var 2) [(.arm .nil [] (.build .some (.option (.list .string)) [(.call 5 [(.var 3), (.build .nil (.list .string) [])])])), (.arm .cons [7, 8] (.build .none (.option (.list .string)) []))])), (.arm .cons [9, 10] (.call 2 [(.var 0), (.var 6), (.call 12 [(.var 2), (.var 9)]), (.build .cons (.list .string) [(.var 9), (.var 3)])]))]))]) }, - { parameters := [0, 1, 2], types := [(.list (.pair .string (.list .string))), (.list .string), (.list .string)], result := (.list .string), - body := (.«match» (.list .string) (.var 2) [(.arm .nil [] (.build .nil (.list .string) [])), (.arm .cons [3, 4] (.cond (.call 4 [(.var 0), (.var 3), (.var 1)]) (.build .cons (.list .string) [(.var 3), (.call 3 [(.var 0), (.var 1), (.var 4)])]) (.call 3 [(.var 0), (.var 1), (.var 4)])))]) }, - { parameters := [0, 1, 2], types := [(.list (.pair .string (.list .string))), .string, (.list .string)], result := .bool, - body := (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.call 11 [(.call 9 [(.var 0), (.var 3)]), (.var 1)]) (.build .false .bool []) (.call 4 [(.var 0), (.var 1), (.var 4)])))]) }, - { parameters := [0, 1], types := [(.list .string), (.list .string)], result := (.list .string), - body := (.«match» (.list .string) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 5 [(.var 3), (.build .cons (.list .string) [(.var 2), (.var 1)])]))]) }, - { parameters := [0, 1], types := [(.list (.pair .string (.list .string))), (.list .string)], result := (.list .string), - body := (.«match» (.list .string) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 6 [(.var 3), (.call 7 [(.second (.var 2)), (.call 8 [(.var 1), (.first (.var 2))])])]))]) }, - { parameters := [0, 1], types := [(.list .string), (.list .string)], result := (.list .string), - body := (.«match» (.list .string) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 7 [(.var 3), (.call 8 [(.var 1), (.var 2)])]))]) }, - { parameters := [0, 1], types := [(.list .string), .string], result := (.list .string), - body := (.«match» (.list .string) (.var 0) [(.arm .nil [] (.build .cons (.list .string) [(.var 1), (.build .nil (.list .string) [])])), (.arm .cons [2, 3] (.«match» (.list .string) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list .string) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list .string) [(.var 2), (.call 8 [(.var 3), (.var 1)])]))]))]) }, - { parameters := [0, 1], types := [(.list (.pair .string (.list .string))), .string], result := (.list .string), - body := (.«match» (.list .string) (.call 10 [(.var 0), (.var 1)]) [(.arm .none [] (.build .nil (.list .string) [])), (.arm .some [2] (.var 2))]) }, - { parameters := [0, 1], types := [(.list (.pair .string (.list .string))), .string], result := (.option (.list .string)), - body := (.«match» (.option (.list .string)) (.var 0) [(.arm .nil [] (.build .none (.option (.list .string)) [])), (.arm .cons [2, 3] (.«match» (.option (.list .string)) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option (.list .string)) [])), (.arm .eq [] (.build .some (.option (.list .string)) [(.second (.var 2))])), (.arm .gt [] (.call 10 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0, 1], types := [(.list .string), .string], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .false .bool [])), (.arm .cons [2, 3] (.«match» .bool (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .false .bool [])), (.arm .eq [] (.build .true .bool [])), (.arm .gt [] (.call 11 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0, 1], types := [(.list .string), .string], result := (.list .string), - body := (.«match» (.list .string) (.var 0) [(.arm .nil [] (.build .nil (.list .string) [])), (.arm .cons [2, 3] (.«match» (.list .string) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.var 0)), (.arm .eq [] (.var 3)), (.arm .gt [] (.build .cons (.list .string) [(.var 2), (.call 12 [(.var 3), (.var 1)])]))]))]) }, - { parameters := [0], types := [(.list (.pair .string (.list .string)))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 14 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 13 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, - { parameters := [0], types := [(.list .string)], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.var 1), (.var 3)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 14 [(.var 2)]) (.build .false .bool [])))]))]) }, - { parameters := [0], types := [(.list (.pair .string (.list .string)))], result := (.option (.option (.list .string))), - body := (.cond (.call 13 [(.var 0)]) (.build .some (.option (.option (.list .string))) [(.call 0 [(.var 0)])]) (.build .none (.option (.option (.list .string))) [])) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str (.list .str))) }] (.fallible (.option (.list .str))) (.mk [] (.call (.function 1) [(.move (.generated .binding 0))] false))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str (.list .str))) }] (.fallible (.option (.list .str))) (.mk [(.mk (.bind (.generated .binding 1)) (some (.list .str)) (.call (.function 6) [(.clone (.generated .binding 0)), (.construct (.nil .str) [])] false))] (.succeed (.call (.function 2) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 1))] false)))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true))), (.move (.generated .binding 1)), (.construct (.nil .str) [])] false)))), - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str (.list .str))) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := (.list .str) }, { pattern := (.bind (.generated .binding 3)), type := (.list .str) }] (.option (.list .str)) (.mk [(.mk (.bind (.generated .holder 4)) none (.copy (.generated .binding 1)))] (.cond (.isZero (.generated .holder 4)) (.mk [(.mk (.bind (.generated .holder 5)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 5)) [(.mk .none (.mk [] (.construct .some [(.call (.function 5) [(.move (.generated .binding 3)), (.construct (.nil .str) [])] false)]))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.construct (.none (.list .str)) [])))])) (.mk [(.mk (.bind (.generated .binding 6)) none (.predecessor (.generated .holder 4))), (.mk (.bind (.generated .holder 6)) none (.call (.function 3) [(.clone (.generated .binding 0)), (.clone (.generated .binding 2)), (.clone (.generated .binding 2))] false))] (.matchOn (.uncons (.generated .holder 6)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 7)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 7)) [(.mk .none (.mk [] (.construct .some [(.call (.function 5) [(.move (.generated .binding 3)), (.construct (.nil .str) [])] false)]))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.construct (.none (.list .str)) [])))]))), (.mk (.some (.tuple [(.bind (.generated .binding 9)), .wild])) (.mk [] (.call (.function 2) [(.move (.generated .binding 0)), (.copy (.generated .binding 6)), (.call (.function 12) [(.move (.generated .binding 2)), (.clone (.generated .binding 9))] false), (.construct .cons [(.move (.generated .binding 9)), (.move (.generated .binding 3))])] false)))]))))), - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str (.list .str))) }, { pattern := (.bind (.generated .binding 1)), type := (.list .str) }, { pattern := (.bind (.generated .binding 2)), type := (.list .str) }] (.list .str) (.mk [(.mk (.bind (.generated .holder 8)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 8)) [(.mk .none (.mk [] (.construct (.nil .str) []))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.cond (.call (.function 4) [(.clone (.generated .binding 0)), (.clone (.generated .binding 3)), (.clone (.generated .binding 1))] false) (.mk [] (.construct .cons [(.move (.generated .binding 3)), (.call (.function 3) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)])) (.mk [] (.call (.function 3) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)))))]))), - (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str (.list .str))) }, { pattern := (.bind (.generated .binding 1)), type := .str }, { pattern := (.bind (.generated .binding 2)), type := (.list .str) }] .bool (.mk [(.mk (.bind (.generated .holder 9)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 9)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.cond (.call (.function 11) [(.call (.function 9) [(.clone (.generated .binding 0)), (.move (.generated .binding 3))] false), (.clone (.generated .binding 1))] false) (.mk [] (.lit (.bool false))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)))))]))), - (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.list .str) }, { pattern := (.bind (.generated .binding 1)), type := (.list .str) }] (.list .str) (.mk [(.mk (.bind (.generated .holder 10)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 10)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 5) [(.move (.generated .binding 3)), (.construct .cons [(.move (.generated .binding 2)), (.move (.generated .binding 1))])] false)))]))), - (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str (.list .str))) }, { pattern := (.bind (.generated .binding 1)), type := (.list .str) }] (.list .str) (.mk [(.mk (.bind (.generated .holder 11)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 11)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 6) [(.move (.generated .binding 3)), (.call (.function 7) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.move (.generated .binding 2)))] (.move (.generated .part 12)))), (.call (.function 8) [(.move (.generated .binding 1)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 13)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 13))))] false)] false)] false)))]))), - (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := (.list .str) }, { pattern := (.bind (.generated .binding 1)), type := (.list .str) }] (.list .str) (.mk [(.mk (.bind (.generated .holder 14)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 14)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 7) [(.move (.generated .binding 3)), (.call (.function 8) [(.move (.generated .binding 1)), (.move (.generated .binding 2))] false)] false)))]))), - (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := (.list .str) }, { pattern := (.bind (.generated .binding 1)), type := .str }] (.list .str) (.mk [(.mk (.bind (.generated .holder 15)) none (.clone (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 15)) [(.mk .none (.mk [] (.construct .cons [(.move (.generated .binding 1)), (.construct (.nil .str) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 17)) none (.clone (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))] (.matchOn (.move (.generated .holder 18)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.move (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.move (.generated .binding 2)), (.call (.function 8) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])))])))]))), - (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str (.list .str))) }, { pattern := (.bind (.generated .binding 1)), type := .str }] (.list .str) (.mk [(.mk (.bind (.generated .holder 19)) none (.call (.function 10) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.construct (.nil .str) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.move (.generated .binding 2))))]))), - (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str (.list .str))) }, { pattern := (.bind (.generated .binding 1)), type := .str }] (.option (.list .str)) (.mk [(.mk (.bind (.generated .holder 20)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 20)) [(.mk .none (.mk [] (.construct (.none (.list .str)) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 24)) none (.block (.mk [(.mk (.bind (.generated .operand 22)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 23)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 21)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 21)))))] (.call (.runtime .compare) [(.move (.generated .operand 22)), (.move (.generated .operand 23))] false))))] (.matchOn (.move (.generated .holder 24)) [(.mk (.ordering .less) (.mk [] (.construct (.none (.list .str)) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 25))]) none (.move (.generated .binding 2)))] (.move (.generated .part 25))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 10) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])))]))), - (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := (.list .str) }, { pattern := (.bind (.generated .binding 1)), type := .str }] .bool (.mk [(.mk (.bind (.generated .holder 26)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 26)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 29)) none (.block (.mk [(.mk (.bind (.generated .operand 27)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 28)) none (.move (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false))))] (.matchOn (.move (.generated .holder 29)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 11) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])))]))), - (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := (.list .str) }, { pattern := (.bind (.generated .binding 1)), type := .str }] (.list .str) (.mk [(.mk (.bind (.generated .holder 30)) none (.clone (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 30)) [(.mk .none (.mk [] (.construct (.nil .str) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 33)) none (.block (.mk [(.mk (.bind (.generated .operand 31)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 32)) none (.clone (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 31)), (.move (.generated .operand 32))] false))))] (.matchOn (.move (.generated .holder 33)) [(.mk (.ordering .less) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 3)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.move (.generated .binding 2)), (.call (.function 12) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])))])))]))), - (.function (.generated .function 13) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str (.list .str))) }] .bool (.mk [(.mk (.bind (.generated .holder 34)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 34)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 14) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 35))]) none (.move (.generated .binding 1)))] (.move (.generated .part 35))))] false) (.mk [(.mk (.bind (.generated .holder 36)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 36)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 41)) none (.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 37)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 37))))), (.mk (.bind (.generated .operand 40)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 38)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 38)))))] (.call (.runtime .compare) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] false))))] (.cond (.matchOn (.move (.generated .holder 41)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 13) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]))), - (.function (.generated .function 14) [{ pattern := (.bind (.generated .binding 0)), type := (.list .str) }] .bool (.mk [(.mk (.bind (.generated .holder 42)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 42)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .holder 43)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 43)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 46)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 45)) none (.move (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] false))))] (.cond (.matchOn (.move (.generated .holder 46)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 14) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])))]))), - (.function (.generated .function 15) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str (.list .str))) }] (.fallible (.option (.option (.list .str)))) (.mk [] (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.call (.function 0) [(.move (.generated .binding 0))] true)]))) (.mk [] (.succeed (.construct (.none (.option (.list .str))) []))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.move (.generated .binding 0))] false), [(0, (.list (.pair .string (.list .string))), (some 0))], rfl, rfl, - (Corr.callF (ts := [(.list (.pair .string (.list .string)))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.list .str)) (.call (.function 6) [(.clone (.generated .binding 0)), (.construct (.nil .str) [])] false))], (.succeed (.call (.function 2) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 1))] false)))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true))), (.move (.generated .binding 1)), (.construct (.nil .str) [])] false)), [(0, (.list (.pair .string (.list .string))), (some 0))], rfl, rfl, - (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string (.list .string))), (.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl (Corr.fOfB (Corr.callOps (ts := [(.list (.pair .string (.list .string))), .nat, (.list .string), (.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 2)) none (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 1))] false)))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 1)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 1))] false)) (Corr.prim (ts := [(.list .string)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))))) rfl rfl rfl rfl rfl)))⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 4)) none (.copy (.generated .binding 1)))], (.cond (.isZero (.generated .holder 4)) (.mk [(.mk (.bind (.generated .holder 5)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 5)) [(.mk .none (.mk [] (.construct .some [(.call (.function 5) [(.move (.generated .binding 3)), (.construct (.nil .str) [])] false)]))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.construct (.none (.list .str)) [])))])) (.mk [(.mk (.bind (.generated .binding 6)) none (.predecessor (.generated .holder 4))), (.mk (.bind (.generated .holder 6)) none (.call (.function 3) [(.clone (.generated .binding 0)), (.clone (.generated .binding 2)), (.clone (.generated .binding 2))] false))] (.matchOn (.uncons (.generated .holder 6)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 7)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 7)) [(.mk .none (.mk [] (.construct .some [(.call (.function 5) [(.move (.generated .binding 3)), (.construct (.nil .str) [])] false)]))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.construct (.none (.list .str)) [])))]))), (.mk (.some (.tuple [(.bind (.generated .binding 9)), .wild])) (.mk [] (.call (.function 2) [(.move (.generated .binding 0)), (.copy (.generated .binding 6)), (.call (.function 12) [(.move (.generated .binding 2)), (.clone (.generated .binding 9))] false), (.construct .cons [(.move (.generated .binding 9)), (.move (.generated .binding 3))])] false)))]))), [(3, (.list .string), (some 3)), (2, (.list .string), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))], rfl, rfl, - (Corr.matchNat (sl := (some 6)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := [(.mk (.bind (.generated .holder 5)) none (.move (.generated .binding 2)))]) (ta := (.matchOn (.uncons (.generated .holder 5)) [(.mk .none (.mk [] (.construct .some [(.call (.function 5) [(.move (.generated .binding 3)), (.construct (.nil .str) [])] false)]))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.construct (.none (.list .str)) [])))])) (lb := [(.mk (.bind (.generated .holder 6)) none (.call (.function 3) [(.clone (.generated .binding 0)), (.clone (.generated .binding 2)), (.clone (.generated .binding 2))] false))]) (tb := (.matchOn (.uncons (.generated .holder 6)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 7)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 7)) [(.mk .none (.mk [] (.construct .some [(.call (.function 5) [(.move (.generated .binding 3)), (.construct (.nil .str) [])] false)]))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.construct (.none (.list .str)) [])))]))), (.mk (.some (.tuple [(.bind (.generated .binding 9)), .wild])) (.mk [] (.call (.function 2) [(.move (.generated .binding 0)), (.copy (.generated .binding 6)), (.call (.function 12) [(.move (.generated .binding 2)), (.clone (.generated .binding 9))] false), (.construct .cons [(.move (.generated .binding 9)), (.move (.generated .binding 3))])] false)))])) (Corr.matchArms (st := (.list .string)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, (.list .string), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.call (.function 5) [(.move (.generated .binding 3)), (.construct (.nil .str) [])] false)])) (Corr.mCons (Γ' := [(5, (.list .string), none), (4, .string, none), (3, (.list .string), (some 3)), (2, (.list .string), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct (.none (.list .str)) [])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl (Corr.build (ts := [(.list .string)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .string), (.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) rfl rfl rfl) (Corr.matchArms (st := (.list .string)) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string (.list .string))), (.list .string), (.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(6, .nat, (some 6)), (3, (.list .string), (some 3)), (2, (.list .string), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 0) (loads := []) (lets := [(.mk (.bind (.generated .holder 7)) none (.move (.generated .binding 2)))]) (tail := (.matchOn (.uncons (.generated .holder 7)) [(.mk .none (.mk [] (.construct .some [(.call (.function 5) [(.move (.generated .binding 3)), (.construct (.nil .str) [])] false)]))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.construct (.none (.list .str)) [])))])) (Corr.mCons (Γ' := [(10, (.list .string), none), (9, .string, (some 9)), (6, .nat, (some 6)), (3, (.list .string), (some 3)), (2, (.list .string), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 2) [(.move (.generated .binding 0)), (.copy (.generated .binding 6)), (.call (.function 12) [(.move (.generated .binding 2)), (.clone (.generated .binding 9))] false), (.construct .cons [(.move (.generated .binding 9)), (.move (.generated .binding 3))])] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .string (.list .string))), .nat, (.list .string), (.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .string), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.string, (.list .string)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) (Corr.lNil)))))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.matchArms (st := (.list .string)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(6, .nat, (some 6)), (3, (.list .string), (some 3)), (2, (.list .string), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.call (.function 5) [(.move (.generated .binding 3)), (.construct (.nil .str) [])] false)])) (Corr.mCons (Γ' := [(8, (.list .string), none), (7, .string, none), (6, .nat, (some 6)), (3, (.list .string), (some 3)), (2, (.list .string), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct (.none (.list .str)) [])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl (Corr.build (ts := [(.list .string)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .string), (.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) rfl rfl rfl)) rfl rfl rfl)))⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 8)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 8)) [(.mk .none (.mk [] (.construct (.nil .str) []))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.cond (.call (.function 4) [(.clone (.generated .binding 0)), (.clone (.generated .binding 3)), (.clone (.generated .binding 1))] false) (.mk [] (.construct .cons [(.move (.generated .binding 3)), (.call (.function 3) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)])) (.mk [] (.call (.function 3) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)))))]), [(2, (.list .string), (some 2)), (1, (.list .string), (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .string)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .string), (some 2)), (1, (.list .string), (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil .str) [])) (Corr.mCons (Γ' := [(4, (.list .string), (some 4)), (3, .string, (some 3)), (2, (.list .string), (some 2)), (1, (.list .string), (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 4) [(.clone (.generated .binding 0)), (.clone (.generated .binding 3)), (.clone (.generated .binding 1))] false) (.mk [] (.construct .cons [(.move (.generated .binding 3)), (.call (.function 3) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)])) (.mk [] (.call (.function 3) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 4) [(.clone (.generated .binding 0)), (.clone (.generated .binding 3)), (.clone (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair .string (.list .string))), .string, (.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .cons [(.move (.generated .binding 3)), (.call (.function 3) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)])) (lb := []) (tb := (.call (.function 3) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)) (Corr.build (ts := [.string, (.list .string)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string (.list .string))), (.list .string), (.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl) (Corr.callOps (ts := [(.list (.pair .string (.list .string))), (.list .string), (.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)))) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun4 : FunOK program krate flags 4 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 9)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 9)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.cond (.call (.function 11) [(.call (.function 9) [(.clone (.generated .binding 0)), (.move (.generated .binding 3))] false), (.clone (.generated .binding 1))] false) (.mk [] (.lit (.bool false))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)))))]), [(2, (.list .string), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .string)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .string), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list .string), (some 4)), (3, .string, (some 3)), (2, (.list .string), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 11) [(.call (.function 9) [(.clone (.generated .binding 0)), (.move (.generated .binding 3))] false), (.clone (.generated .binding 1))] false) (.mk [] (.lit (.bool false))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 11) [(.call (.function 9) [(.clone (.generated .binding 0)), (.move (.generated .binding 3))] false), (.clone (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.list .string), .string]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string (.list .string))), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.bool false))) (lb := []) (tb := (.call (.function 4) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.callOps (ts := [(.list (.pair .string (.list .string))), .string, (.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun5 : FunOK program krate flags 5 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 10)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 10)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 5) [(.move (.generated .binding 3)), (.construct .cons [(.move (.generated .binding 2)), (.move (.generated .binding 1))])] false)))]), [(1, (.list .string), (some 1)), (0, (.list .string), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .string)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.list .string), (some 1)), (0, (.list .string), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, .string, (some 2)), (1, (.list .string), (some 1)), (0, (.list .string), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 5) [(.move (.generated .binding 3)), (.construct .cons [(.move (.generated .binding 2)), (.move (.generated .binding 1))])] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .string), (.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.string, (.list .string)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun6 : FunOK program krate flags 6 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 11)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 11)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 6) [(.move (.generated .binding 3)), (.call (.function 7) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.move (.generated .binding 2)))] (.move (.generated .part 12)))), (.call (.function 8) [(.move (.generated .binding 1)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 13)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 13))))] false)] false)] false)))]), [(1, (.list .string), (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair .string (.list .string)))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.list .string), (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(3, (.list (.pair .string (.list .string))), (some 3)), (2, (.pair .string (.list .string)), (some 2)), (1, (.list .string), (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 6) [(.move (.generated .binding 3)), (.call (.function 7) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.move (.generated .binding 2)))] (.move (.generated .part 12)))), (.call (.function 8) [(.move (.generated .binding 1)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 13)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 13))))] false)] false)] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .string (.list .string))), (.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .string), (.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 12))) (Corr.second (ta := .string) (tb := (.list .string)) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .string), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 13)), .wild]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 13))) (Corr.first (ta := .string) (tb := (.list .string)) (Corr.var rfl rfl) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun7 : FunOK program krate flags 7 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 14)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 14)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 7) [(.move (.generated .binding 3)), (.call (.function 8) [(.move (.generated .binding 1)), (.move (.generated .binding 2))] false)] false)))]), [(1, (.list .string), (some 1)), (0, (.list .string), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .string)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.list .string), (some 1)), (0, (.list .string), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, .string, (some 2)), (1, (.list .string), (some 1)), (0, (.list .string), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 7) [(.move (.generated .binding 3)), (.call (.function 8) [(.move (.generated .binding 1)), (.move (.generated .binding 2))] false)] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .string), (.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .string), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun8 : FunOK program krate flags 8 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 15)) none (.clone (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 15)) [(.mk .none (.mk [] (.construct .cons [(.move (.generated .binding 1)), (.construct (.nil .str) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 17)) none (.clone (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))] (.matchOn (.move (.generated .holder 18)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.move (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.move (.generated .binding 2)), (.call (.function 8) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])))])))]), [(1, .string, (some 1)), (0, (.list .string), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .string)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.move (.generated .binding 1)), (.construct (.nil .str) [])])) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, .string, (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 17)) none (.clone (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))]) (tail := (.matchOn (.move (.generated .holder 18)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.move (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.move (.generated .binding 2)), (.call (.function 8) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 16)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 17)) none (.clone (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false)) (Corr.prim (ts := [.string, .string]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, .string, (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.move (.generated .binding 1)), (.move (.generated .binding 0))])) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, .string, (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, .string, (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.move (.generated .binding 2)), (.call (.function 8) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.string, (.list .string)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .string), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.build (ts := [.string, (.list .string)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.string, (.list .string)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun9 : FunOK program krate flags 9 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 19)) none (.call (.function 10) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.construct (.nil .str) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.move (.generated .binding 2))))]), [(1, .string, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option (.list .string))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string (.list .string))), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, .string, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil .str) [])) (Corr.mCons (Γ' := [(2, (.list .string), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 2))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun10 : FunOK program krate flags 10 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 20)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 20)) [(.mk .none (.mk [] (.construct (.none (.list .str)) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 24)) none (.block (.mk [(.mk (.bind (.generated .operand 22)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 23)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 21)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 21)))))] (.call (.runtime .compare) [(.move (.generated .operand 22)), (.move (.generated .operand 23))] false))))] (.matchOn (.move (.generated .holder 24)) [(.mk (.ordering .less) (.mk [] (.construct (.none (.list .str)) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 25))]) none (.move (.generated .binding 2)))] (.move (.generated .part 25))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 10) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])))]), [(1, .string, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair .string (.list .string)))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .string, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none (.list .str)) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .string (.list .string))), (some 3)), (2, (.pair .string (.list .string)), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 24)) none (.block (.mk [(.mk (.bind (.generated .operand 22)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 23)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 21)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 21)))))] (.call (.runtime .compare) [(.move (.generated .operand 22)), (.move (.generated .operand 23))] false))))]) (tail := (.matchOn (.move (.generated .holder 24)) [(.mk (.ordering .less) (.mk [] (.construct (.none (.list .str)) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 25))]) none (.move (.generated .binding 2)))] (.move (.generated .part 25))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 10) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 22)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 23)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 21)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 21)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 22)), (.move (.generated .operand 23))] false)) (Corr.prim (ts := [.string, .string]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 21)), .wild]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 21))) (Corr.first (ta := .string) (tb := (.list .string)) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list (.pair .string (.list .string))), (some 3)), (2, (.pair .string (.list .string)), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none (.list .str)) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .string (.list .string))), (some 3)), (2, (.pair .string (.list .string)), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 25))]) none (.move (.generated .binding 2)))] (.move (.generated .part 25))))])) (Corr.mCons (Γ' := [(3, (.list (.pair .string (.list .string))), (some 3)), (2, (.pair .string (.list .string)), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 10) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .string (.list .string))), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [(.list .string)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 25))]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 25))) (Corr.second (ta := .string) (tb := (.list .string)) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun11 : FunOK program krate flags 11 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 26)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 26)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 29)) none (.block (.mk [(.mk (.bind (.generated .operand 27)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 28)) none (.move (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false))))] (.matchOn (.move (.generated .holder 29)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 11) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])))]), [(1, .string, (some 1)), (0, (.list .string), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .string)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, .string, (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 29)) none (.block (.mk [(.mk (.bind (.generated .operand 27)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 28)) none (.move (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false))))]) (tail := (.matchOn (.move (.generated .holder 29)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 11) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 27)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 28)) none (.move (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false)) (Corr.prim (ts := [.string, .string]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, .string, (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, .string, (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, .string, (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 11) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .string), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun12 : FunOK program krate flags 12 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 30)) none (.clone (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 30)) [(.mk .none (.mk [] (.construct (.nil .str) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 33)) none (.block (.mk [(.mk (.bind (.generated .operand 31)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 32)) none (.clone (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 31)), (.move (.generated .operand 32))] false))))] (.matchOn (.move (.generated .holder 33)) [(.mk (.ordering .less) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 3)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.move (.generated .binding 2)), (.call (.function 12) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])))])))]), [(1, .string, (some 1)), (0, (.list .string), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .string)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil .str) [])) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, .string, (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 33)) none (.block (.mk [(.mk (.bind (.generated .operand 31)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 32)) none (.clone (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 31)), (.move (.generated .operand 32))] false))))]) (tail := (.matchOn (.move (.generated .holder 33)) [(.mk (.ordering .less) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 3)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.move (.generated .binding 2)), (.call (.function 12) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 31)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 32)) none (.clone (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 31)), (.move (.generated .operand 32))] false)) (Corr.prim (ts := [.string, .string]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, .string, (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, .string, (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 3))) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, .string, (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.move (.generated .binding 2)), (.call (.function 12) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.string, (.list .string)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .string), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun13 : FunOK program krate flags 13 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 34)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 34)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 14) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 35))]) none (.move (.generated .binding 1)))] (.move (.generated .part 35))))] false) (.mk [(.mk (.bind (.generated .holder 36)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 36)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 41)) none (.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 37)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 37))))), (.mk (.bind (.generated .operand 40)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 38)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 38)))))] (.call (.runtime .compare) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] false))))] (.cond (.matchOn (.move (.generated .holder 41)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 13) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.pair .string (.list .string))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair .string (.list .string)))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair .string (.list .string))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.pair .string (.list .string))), (some 2)), (1, (.pair .string (.list .string)), (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 14) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 35))]) none (.move (.generated .binding 1)))] (.move (.generated .part 35))))] false) (.mk [(.mk (.bind (.generated .holder 36)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 36)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 41)) none (.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 37)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 37))))), (.mk (.bind (.generated .operand 40)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 38)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 38)))))] (.call (.runtime .compare) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] false))))] (.cond (.matchOn (.move (.generated .holder 41)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 13) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 14) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 35))]) none (.move (.generated .binding 1)))] (.move (.generated .part 35))))] false)) (lk := []) (Corr.callOps (ts := [(.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 35))]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 35))) (Corr.second (ta := .string) (tb := (.list .string)) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .holder 36)) none (.clone (.generated .binding 2)))]) (ta := (.matchOn (.uncons (.generated .holder 36)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 41)) none (.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 37)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 37))))), (.mk (.bind (.generated .operand 40)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 38)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 38)))))] (.call (.runtime .compare) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] false))))] (.cond (.matchOn (.move (.generated .holder 41)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 13) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (lb := []) (tb := (.lit (.bool false))) (Corr.matchArms (st := (.list (.pair .string (.list .string)))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.pair .string (.list .string))), (some 2)), (1, (.pair .string (.list .string)), (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .string (.list .string))), none), (3, (.pair .string (.list .string)), (some 3)), (2, (.list (.pair .string (.list .string))), (some 2)), (1, (.pair .string (.list .string)), (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 41)) none (.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 37)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 37))))), (.mk (.bind (.generated .operand 40)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 38)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 38)))))] (.call (.runtime .compare) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 41)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 13) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 41)) none (.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 37)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 37))))), (.mk (.bind (.generated .operand 40)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 38)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 38)))))] (.call (.runtime .compare) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] false))))]) (ce := (.matchOn (.move (.generated .holder 41)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 37)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 37))))), (.mk (.bind (.generated .operand 40)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 38)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 38)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] false)) (Corr.prim (ts := [.string, .string]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 37)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 37))) (Corr.first (ta := .string) (tb := (.list .string)) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 38)), .wild]) none (.move (.generated .binding 3)))]) (tail := (.move (.generated .part 38))) (Corr.first (ta := .string) (tb := (.list .string)) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.pair .string (.list .string))), none), (3, (.pair .string (.list .string)), (some 3)), (2, (.list (.pair .string (.list .string))), (some 2)), (1, (.pair .string (.list .string)), (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .string (.list .string))), none), (3, (.pair .string (.list .string)), (some 3)), (2, (.list (.pair .string (.list .string))), (some 2)), (1, (.pair .string (.list .string)), (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list (.pair .string (.list .string))), none), (3, (.pair .string (.list .string)), (some 3)), (2, (.list (.pair .string (.list .string))), (some 2)), (1, (.pair .string (.list .string)), (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 13) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.pair .string (.list .string)))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun14 : FunOK program krate flags 14 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 42)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 42)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .holder 43)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 43)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 46)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 45)) none (.move (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] false))))] (.cond (.matchOn (.move (.generated .holder 46)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 14) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])))]), [(0, (.list .string), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .string)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list .string), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list .string), (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 43)) none (.clone (.generated .binding 2)))]) (tail := (.matchOn (.uncons (.generated .holder 43)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 46)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 45)) none (.move (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] false))))] (.cond (.matchOn (.move (.generated .holder 46)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 14) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := (.list .string)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .string), (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list .string), none), (3, .string, (some 3)), (2, (.list .string), (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 46)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 45)) none (.move (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 46)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 14) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 46)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 45)) none (.move (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] false))))]) (ce := (.matchOn (.move (.generated .holder 46)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 44)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 45)) none (.move (.generated .binding 3)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] false)) (Corr.prim (ts := [.string, .string]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list .string), none), (3, .string, (some 3)), (2, (.list .string), (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list .string), none), (3, .string, (some 3)), (2, (.list .string), (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list .string), none), (3, .string, (some 3)), (2, (.list .string), (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 14) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun15 : FunOK program krate flags 15 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.call (.function 0) [(.move (.generated .binding 0))] true)]))) (.mk [] (.succeed (.construct (.none (.option (.list .str))) [])))), [(0, (.list (.pair .string (.list .string))), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 13) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair .string (.list .string)))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.call (.function 0) [(.move (.generated .binding 0))] true)]))) (lb := []) (tb := (.succeed (.construct (.none (.option (.list .str))) []))) (Corr.fOfB (Corr.build (ts := [(.option (.list .string))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string (.list .string)))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | 4 => exact fun4 - | 5 => exact fun5 - | 6 => exact fun6 - | 7 => exact fun7 - | 8 => exact fun8 - | 9 => exact fun9 - | 10 => exact fun10 - | 11 => exact fun11 - | 12 => exact fun12 - | 13 => exact fun13 - | 14 => exact fun14 - | 15 => exact fun15 - | _ + 16 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R8.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R8.lean deleted file mode 100644 index 1a1db55f5..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R8.lean +++ /dev/null @@ -1,188 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Coverage.Boundary -import Coverage.Colls -import Coverage.Main -import Coverage.Prims -import Coverage.RecRoots -import Coverage.Recur -import Coverage.Syntax -import Coverage.Types -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], types := [(.list (.pair (.pair .nat .string) .bool)), (.pair .nat .string), (.list (.pair (.fixed .i8) .nat)), (.fixed .i8), (.list (.pair .bool .nat)), .bool, (.list (.pair .int .nat)), .int, (.list (.pair (.fixed .u64) .nat)), (.fixed .u64)], result := (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat))))), - body := (.build .pair (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat))))) [(.call 1 [(.var 0), (.var 1)]), (.build .pair (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))) [(.call 2 [(.var 2), (.var 3)]), (.build .pair (.pair (.option .nat) (.pair (.option .nat) (.option .nat))) [(.call 3 [(.var 4), (.var 5)]), (.build .pair (.pair (.option .nat) (.option .nat)) [(.call 4 [(.var 6), (.var 7)]), (.call 5 [(.var 8), (.var 9)])])])])]) }, - { parameters := [0, 1], types := [(.list (.pair (.pair .nat .string) .bool)), (.pair .nat .string)], result := (.option .bool), - body := (.«match» (.option .bool) (.var 0) [(.arm .nil [] (.build .none (.option .bool) [])), (.arm .cons [2, 3] (.«match» (.option .bool) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option .bool) [])), (.arm .eq [] (.build .some (.option .bool) [(.second (.var 2))])), (.arm .gt [] (.call 1 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0, 1], types := [(.list (.pair (.fixed .i8) .nat)), (.fixed .i8)], result := (.option .nat), - body := (.«match» (.option .nat) (.var 0) [(.arm .nil [] (.build .none (.option .nat) [])), (.arm .cons [2, 3] (.«match» (.option .nat) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option .nat) [])), (.arm .eq [] (.build .some (.option .nat) [(.second (.var 2))])), (.arm .gt [] (.call 2 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0, 1], types := [(.list (.pair .bool .nat)), .bool], result := (.option .nat), - body := (.«match» (.option .nat) (.var 0) [(.arm .nil [] (.build .none (.option .nat) [])), (.arm .cons [2, 3] (.«match» (.option .nat) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option .nat) [])), (.arm .eq [] (.build .some (.option .nat) [(.second (.var 2))])), (.arm .gt [] (.call 3 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0, 1], types := [(.list (.pair .int .nat)), .int], result := (.option .nat), - body := (.«match» (.option .nat) (.var 0) [(.arm .nil [] (.build .none (.option .nat) [])), (.arm .cons [2, 3] (.«match» (.option .nat) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option .nat) [])), (.arm .eq [] (.build .some (.option .nat) [(.second (.var 2))])), (.arm .gt [] (.call 4 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0, 1], types := [(.list (.pair (.fixed .u64) .nat)), (.fixed .u64)], result := (.option .nat), - body := (.«match» (.option .nat) (.var 0) [(.arm .nil [] (.build .none (.option .nat) [])), (.arm .cons [2, 3] (.«match» (.option .nat) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option .nat) [])), (.arm .eq [] (.build .some (.option .nat) [(.second (.var 2))])), (.arm .gt [] (.call 5 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0], types := [(.list (.pair (.pair .nat .string) .bool))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 7 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 6 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, - { parameters := [0], types := [.bool], result := .bool, - body := (.build .true .bool []) }, - { parameters := [0], types := [(.list (.pair (.fixed .i8) .nat))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 9 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 8 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, - { parameters := [0], types := [.nat], result := .bool, - body := (.build .true .bool []) }, - { parameters := [0], types := [(.list (.pair .bool .nat))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 9 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 10 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, - { parameters := [0], types := [(.list (.pair .int .nat))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 9 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 11 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, - { parameters := [0], types := [(.list (.pair (.fixed .u64) .nat))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 9 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 12 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, - { parameters := [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], types := [(.list (.pair (.pair .nat .string) .bool)), (.pair .nat .string), (.list (.pair (.fixed .i8) .nat)), (.fixed .i8), (.list (.pair .bool .nat)), .bool, (.list (.pair .int .nat)), .int, (.list (.pair (.fixed .u64) .nat)), (.fixed .u64)], result := (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))), - body := (.cond (.call 6 [(.var 0)]) (.cond (.call 8 [(.var 2)]) (.cond (.call 10 [(.var 4)]) (.cond (.call 11 [(.var 6)]) (.cond (.call 12 [(.var 8)]) (.build .some (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [(.call 0 [(.var 0), (.var 1), (.var 2), (.var 3), (.var 4), (.var 5), (.var 6), (.var 7), (.var 8), (.var 9)])]) (.build .none (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) (.build .none (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) (.build .none (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) (.build .none (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) (.build .none (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) }] } - -def __fits_0 (a : (List (Prod (Prod Nat String) Bool))) (k : (Prod Nat String)) (i : (List (Prod Int8 Nat))) (j : Int8) (b : (List (Prod Bool Nat))) (c : Bool) (d : (List (Prod Int Nat))) (e : Int) (u : (List (Prod UInt64 Nat))) (w : UInt64) : Bool := - ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) - -theorem __rel_0 (a : (List (Prod (Prod Nat String) Bool))) (k : (Prod Nat String)) (i : (List (Prod Int8 Nat))) (j : Int8) (b : (List (Prod Bool Nat))) (c : Bool) (d : (List (Prod Int Nat))) (e : Int) (u : (List (Prod UInt64 Nat))) (w : UInt64) : _root_.LexLeanPreservation.FunRel __prog 0 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.string) _root_.LexLeanTarget.TargetSyntax.Value.bool)) a), ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.string) k), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.i8 _root_.LexLeanTarget.TargetSyntax.Value.nat)) i), (_root_.LexLeanTarget.TargetSyntax.Value.i8 j), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat)) b), (_root_.LexLeanTarget.TargetSyntax.Value.bool c), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int _root_.LexLeanTarget.TargetSyntax.Value.nat)) d), (_root_.LexLeanTarget.TargetSyntax.Value.int e), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.u64 _root_.LexLeanTarget.TargetSyntax.Value.nat)) u), (_root_.LexLeanTarget.TargetSyntax.Value.u64 w)] (_root_.LexLeanPreservation.Rel (__fits_0 a k i j b c d e u w) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat))))) (Coverage.Colls.keyTypes a k i j b c d e u w))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_mapLookup (_root_.LexLeanPreservation.keySpec_pair (_root_.LexLeanPreservation.keySpec_nat (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.keySpec_string Coverage.Colls.LexLeanCollections.compareCodes rfl (fun _ _ => rfl) (fun _ _ => rfl) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (Coverage.Colls.LexLeanCollections.Key.compare : String -> String -> Ordering) (fun _ _ => rfl)) (Coverage.Colls.LexLeanCollections.Key.compare : (Prod Nat String) -> (Prod Nat String) -> Ordering) (fun _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h]) (fun _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h]) (fun _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h])) _root_.LexLeanTarget.TargetSyntax.Value.bool (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.string) _root_.LexLeanTarget.TargetSyntax.Value.bool)) (fun _ => rfl) (_root_.LexLeanPreservation.optEnc _root_.LexLeanTarget.TargetSyntax.Value.bool) (fun _ => rfl) Coverage.Colls.LexLeanCollections.lookupEntry (fun _ => rfl) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]) (p := __prog) (fi := 1) (tk := (.pair .nat .string)) (tw := .bool) rfl (a) (k))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_mapLookup (_root_.LexLeanPreservation.keySpec_i8 (Coverage.Colls.LexLeanCollections.Key.compare : Int8 -> Int8 -> Ordering) (fun _ _ => rfl)) _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.i8 _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) (_root_.LexLeanPreservation.optEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) Coverage.Colls.LexLeanCollections.lookupEntry (fun _ => rfl) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]) (p := __prog) (fi := 2) (tk := (.fixed .i8)) (tw := .nat) rfl (i) (j))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_mapLookup (_root_.LexLeanPreservation.keySpec_bool (Coverage.Colls.LexLeanCollections.Key.compare : Bool -> Bool -> Ordering) (fun _ _ => rfl)) _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) (_root_.LexLeanPreservation.optEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) Coverage.Colls.LexLeanCollections.lookupEntry (fun _ => rfl) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]) (p := __prog) (fi := 3) (tk := .bool) (tw := .nat) rfl (b) (c))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_mapLookup (_root_.LexLeanPreservation.keySpec_int (Coverage.Colls.LexLeanCollections.Key.compare : Int -> Int -> Ordering) (fun _ _ => rfl)) _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) (_root_.LexLeanPreservation.optEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) Coverage.Colls.LexLeanCollections.lookupEntry (fun _ => rfl) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]) (p := __prog) (fi := 4) (tk := .int) (tw := .nat) rfl (d) (e))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_mapLookup (_root_.LexLeanPreservation.keySpec_u64 (Coverage.Colls.LexLeanCollections.Key.compare : UInt64 -> UInt64 -> Ordering) (fun _ _ => rfl)) _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.u64 _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) (_root_.LexLeanPreservation.optEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) Coverage.Colls.LexLeanCollections.lookupEntry (fun _ => rfl) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.lookupEntry, __h]) (p := __prog) (fi := 5) (tk := (.fixed .u64)) (tw := .nat) rfl (u) (w))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) - -def denote (a : (List (Prod (Prod Nat String) Bool))) (k : (Prod Nat String)) (i : (List (Prod Int8 Nat))) (j : Int8) (b : (List (Prod Bool Nat))) (c : Bool) (d : (List (Prod Int Nat))) (e : Int) (u : (List (Prod UInt64 Nat))) (w : UInt64) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 a k i j b c d e u w) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat))))) (Coverage.Colls.keyTypes a k i j b c d e u w)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (a : (List (Prod (Prod Nat String) Bool))) (k : (Prod Nat String)) (i : (List (Prod Int8 Nat))) (j : Int8) (b : (List (Prod Bool Nat))) (c : Bool) (d : (List (Prod Int Nat))) (e : Int) (u : (List (Prod UInt64 Nat))) (w : UInt64) : _root_.LexLeanPreservation.RunConv __prog 0 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.string) _root_.LexLeanTarget.TargetSyntax.Value.bool)) a), ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.string) k), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.i8 _root_.LexLeanTarget.TargetSyntax.Value.nat)) i), (_root_.LexLeanTarget.TargetSyntax.Value.i8 j), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat)) b), (_root_.LexLeanTarget.TargetSyntax.Value.bool c), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int _root_.LexLeanTarget.TargetSyntax.Value.nat)) d), (_root_.LexLeanTarget.TargetSyntax.Value.int e), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.u64 _root_.LexLeanTarget.TargetSyntax.Value.nat)) u), (_root_.LexLeanTarget.TargetSyntax.Value.u64 w)] (_root_.LexLeanPreservation.Rel (__fits_0 a k i j b c d e u w) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat))))) (Coverage.Colls.keyTypes a k i j b c d e u w))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 a k i j b c d e u w) - -def __valid_7 : Bool -> Bool := - fun _ => Bool.true - -def __inv_7 : Bool -> Prop := - fun _ => _root_.True - -theorem __viff_7 : ∀ (__v : Bool), __valid_7 __v = Bool.true ↔ __inv_7 __v := - fun __v => _root_.LexLeanPreservation.validTrue_inv __v - -theorem __vrel_7 : ∀ (__v : Bool), _root_.LexLeanPreservation.FunRel __prog 7 [(_root_.LexLeanTarget.TargetSyntax.Value.bool __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_7 __v))) := - _root_.LexLeanPreservation.tpl_validTrue _root_.LexLeanTarget.TargetSyntax.Value.bool rfl - -def __valid_6 : (List (Prod (Prod Nat String) Bool)) -> Bool := - _root_.LexLeanPreservation.ascMap (Coverage.Colls.LexLeanCollections.Key.compare : (Prod Nat String) -> (Prod Nat String) -> Ordering) __valid_7 - -def __inv_6 : (List (Prod (Prod Nat String) Bool)) -> Prop := - _root_.LexLeanPreservation.InvMap (Coverage.Colls.LexLeanCollections.Key.compare : (Prod Nat String) -> (Prod Nat String) -> Ordering) __inv_7 - -theorem __viff_6 : ∀ (__v : (List (Prod (Prod Nat String) Bool))), __valid_6 __v = Bool.true ↔ __inv_6 __v := - _root_.LexLeanPreservation.ascMap_inv (Coverage.Colls.LexLeanCollections.Key.compare : (Prod Nat String) -> (Prod Nat String) -> Ordering) __valid_7 __inv_7 __viff_7 - -theorem __vrel_6 : ∀ (__v : (List (Prod (Prod Nat String) Bool))), _root_.LexLeanPreservation.FunRel __prog 6 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.string) _root_.LexLeanTarget.TargetSyntax.Value.bool)) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_6 __v))) := - _root_.LexLeanPreservation.tpl_validMap (_root_.LexLeanPreservation.keySpec_pair (_root_.LexLeanPreservation.keySpec_nat (Coverage.Colls.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.keySpec_string Coverage.Colls.LexLeanCollections.compareCodes rfl (fun _ _ => rfl) (fun _ _ => rfl) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.compareCodes, __h]) (Coverage.Colls.LexLeanCollections.Key.compare : String -> String -> Ordering) (fun _ _ => rfl)) (Coverage.Colls.LexLeanCollections.Key.compare : (Prod Nat String) -> (Prod Nat String) -> Ordering) (fun _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h]) (fun _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h]) (fun _ _ __h => by simp only [Coverage.Colls.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h])) __valid_7 (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.string) _root_.LexLeanTarget.TargetSyntax.Value.bool)) (fun _ => rfl) __vrel_7 rfl - -def __valid_9 : Nat -> Bool := - fun _ => Bool.true - -def __inv_9 : Nat -> Prop := - fun _ => _root_.True - -theorem __viff_9 : ∀ (__v : Nat), __valid_9 __v = Bool.true ↔ __inv_9 __v := - fun __v => _root_.LexLeanPreservation.validTrue_inv __v - -theorem __vrel_9 : ∀ (__v : Nat), _root_.LexLeanPreservation.FunRel __prog 9 [(_root_.LexLeanTarget.TargetSyntax.Value.nat __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_9 __v))) := - _root_.LexLeanPreservation.tpl_validTrue _root_.LexLeanTarget.TargetSyntax.Value.nat rfl - -def __valid_8 : (List (Prod Int8 Nat)) -> Bool := - _root_.LexLeanPreservation.ascMap (Coverage.Colls.LexLeanCollections.Key.compare : Int8 -> Int8 -> Ordering) __valid_9 - -def __inv_8 : (List (Prod Int8 Nat)) -> Prop := - _root_.LexLeanPreservation.InvMap (Coverage.Colls.LexLeanCollections.Key.compare : Int8 -> Int8 -> Ordering) __inv_9 - -theorem __viff_8 : ∀ (__v : (List (Prod Int8 Nat))), __valid_8 __v = Bool.true ↔ __inv_8 __v := - _root_.LexLeanPreservation.ascMap_inv (Coverage.Colls.LexLeanCollections.Key.compare : Int8 -> Int8 -> Ordering) __valid_9 __inv_9 __viff_9 - -theorem __vrel_8 : ∀ (__v : (List (Prod Int8 Nat))), _root_.LexLeanPreservation.FunRel __prog 8 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.i8 _root_.LexLeanTarget.TargetSyntax.Value.nat)) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_8 __v))) := - _root_.LexLeanPreservation.tpl_validMap (_root_.LexLeanPreservation.keySpec_i8 (Coverage.Colls.LexLeanCollections.Key.compare : Int8 -> Int8 -> Ordering) (fun _ _ => rfl)) __valid_9 (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.i8 _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) __vrel_9 rfl - -def __valid_10 : (List (Prod Bool Nat)) -> Bool := - _root_.LexLeanPreservation.ascMap (Coverage.Colls.LexLeanCollections.Key.compare : Bool -> Bool -> Ordering) __valid_9 - -def __inv_10 : (List (Prod Bool Nat)) -> Prop := - _root_.LexLeanPreservation.InvMap (Coverage.Colls.LexLeanCollections.Key.compare : Bool -> Bool -> Ordering) __inv_9 - -theorem __viff_10 : ∀ (__v : (List (Prod Bool Nat))), __valid_10 __v = Bool.true ↔ __inv_10 __v := - _root_.LexLeanPreservation.ascMap_inv (Coverage.Colls.LexLeanCollections.Key.compare : Bool -> Bool -> Ordering) __valid_9 __inv_9 __viff_9 - -theorem __vrel_10 : ∀ (__v : (List (Prod Bool Nat))), _root_.LexLeanPreservation.FunRel __prog 10 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat)) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_10 __v))) := - _root_.LexLeanPreservation.tpl_validMap (_root_.LexLeanPreservation.keySpec_bool (Coverage.Colls.LexLeanCollections.Key.compare : Bool -> Bool -> Ordering) (fun _ _ => rfl)) __valid_9 (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) __vrel_9 rfl - -def __valid_11 : (List (Prod Int Nat)) -> Bool := - _root_.LexLeanPreservation.ascMap (Coverage.Colls.LexLeanCollections.Key.compare : Int -> Int -> Ordering) __valid_9 - -def __inv_11 : (List (Prod Int Nat)) -> Prop := - _root_.LexLeanPreservation.InvMap (Coverage.Colls.LexLeanCollections.Key.compare : Int -> Int -> Ordering) __inv_9 - -theorem __viff_11 : ∀ (__v : (List (Prod Int Nat))), __valid_11 __v = Bool.true ↔ __inv_11 __v := - _root_.LexLeanPreservation.ascMap_inv (Coverage.Colls.LexLeanCollections.Key.compare : Int -> Int -> Ordering) __valid_9 __inv_9 __viff_9 - -theorem __vrel_11 : ∀ (__v : (List (Prod Int Nat))), _root_.LexLeanPreservation.FunRel __prog 11 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int _root_.LexLeanTarget.TargetSyntax.Value.nat)) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_11 __v))) := - _root_.LexLeanPreservation.tpl_validMap (_root_.LexLeanPreservation.keySpec_int (Coverage.Colls.LexLeanCollections.Key.compare : Int -> Int -> Ordering) (fun _ _ => rfl)) __valid_9 (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) __vrel_9 rfl - -def __valid_12 : (List (Prod UInt64 Nat)) -> Bool := - _root_.LexLeanPreservation.ascMap (Coverage.Colls.LexLeanCollections.Key.compare : UInt64 -> UInt64 -> Ordering) __valid_9 - -def __inv_12 : (List (Prod UInt64 Nat)) -> Prop := - _root_.LexLeanPreservation.InvMap (Coverage.Colls.LexLeanCollections.Key.compare : UInt64 -> UInt64 -> Ordering) __inv_9 - -theorem __viff_12 : ∀ (__v : (List (Prod UInt64 Nat))), __valid_12 __v = Bool.true ↔ __inv_12 __v := - _root_.LexLeanPreservation.ascMap_inv (Coverage.Colls.LexLeanCollections.Key.compare : UInt64 -> UInt64 -> Ordering) __valid_9 __inv_9 __viff_9 - -theorem __vrel_12 : ∀ (__v : (List (Prod UInt64 Nat))), _root_.LexLeanPreservation.FunRel __prog 12 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.u64 _root_.LexLeanTarget.TargetSyntax.Value.nat)) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_12 __v))) := - _root_.LexLeanPreservation.tpl_validMap (_root_.LexLeanPreservation.keySpec_u64 (Coverage.Colls.LexLeanCollections.Key.compare : UInt64 -> UInt64 -> Ordering) (fun _ _ => rfl)) __valid_9 (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.u64 _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) __vrel_9 rfl - -def entryFits (a : (List (Prod (Prod Nat String) Bool))) (k : (Prod Nat String)) (i : (List (Prod Int8 Nat))) (j : Int8) (b : (List (Prod Bool Nat))) (c : Bool) (d : (List (Prod Int Nat))) (e : Int) (u : (List (Prod UInt64 Nat))) (w : UInt64) : Bool := - (if __valid_6 a then (if __valid_8 i then (if __valid_10 b then (if __valid_11 d then (if __valid_12 u then __fits_0 a k i j b c d e u w else Bool.true) else Bool.true) else Bool.true) else Bool.true) else Bool.true) - -def entryValue (a : (List (Prod (Prod Nat String) Bool))) (k : (Prod Nat String)) (i : (List (Prod Int8 Nat))) (j : Int8) (b : (List (Prod Bool Nat))) (c : Bool) (d : (List (Prod Int Nat))) (e : Int) (u : (List (Prod UInt64 Nat))) (w : UInt64) : _root_.LexLeanTarget.TargetSyntax.Value := - (if __valid_6 a then (if __valid_8 i then (if __valid_10 b then (if __valid_11 d then (if __valid_12 u then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat))))) (Coverage.Colls.keyTypes a k i j b c d e u w))) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) - -/-- The entry's observation. -/ -def denoteEntry (a : (List (Prod (Prod Nat String) Bool))) (k : (Prod Nat String)) (i : (List (Prod Int8 Nat))) (j : Int8) (b : (List (Prod Bool Nat))) (c : Bool) (d : (List (Prod Int Nat))) (e : Int) (u : (List (Prod UInt64 Nat))) (w : UInt64) : _root_.LexLeanPreservation.Obs := - _root_.cond (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.entryFits a k i j b c d e u w) (_root_.LexLeanPreservation.Obs.value (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.entryValue a k i j b c d e u w)) _root_.LexLeanPreservation.Obs.overflow - -/-- §17.12's invariants of the validated parameters. -/ -def accepts (a : (List (Prod (Prod Nat String) Bool))) (k : (Prod Nat String)) (i : (List (Prod Int8 Nat))) (j : Int8) (b : (List (Prod Bool Nat))) (c : Bool) (d : (List (Prod Int Nat))) (e : Int) (u : (List (Prod UInt64 Nat))) (w : UInt64) : Prop := - (__inv_6 a ∧ (__inv_8 i ∧ (__inv_10 b ∧ (__inv_11 d ∧ (__inv_12 u ∧ _root_.True))))) - -theorem entry (a : (List (Prod (Prod Nat String) Bool))) (k : (Prod Nat String)) (i : (List (Prod Int8 Nat))) (j : Int8) (b : (List (Prod Bool Nat))) (c : Bool) (d : (List (Prod Int Nat))) (e : Int) (u : (List (Prod UInt64 Nat))) (w : UInt64) : _root_.LexLeanPreservation.RunConv __prog 13 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.string) _root_.LexLeanTarget.TargetSyntax.Value.bool)) a), ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.string) k), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.i8 _root_.LexLeanTarget.TargetSyntax.Value.nat)) i), (_root_.LexLeanTarget.TargetSyntax.Value.i8 j), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat)) b), (_root_.LexLeanTarget.TargetSyntax.Value.bool c), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int _root_.LexLeanTarget.TargetSyntax.Value.nat)) d), (_root_.LexLeanTarget.TargetSyntax.Value.int e), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.u64 _root_.LexLeanTarget.TargetSyntax.Value.nat)) u), (_root_.LexLeanTarget.TargetSyntax.Value.u64 w)] (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.denoteEntry a k i j b c d e u w) := - _root_.LexLeanPreservation.run_of_funRel (_root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then (if __valid_8 i then (if __valid_10 b then (if __valid_11 d then (if __valid_12 u then __fits_0 a k i j b c d e u w else Bool.true) else Bool.true) else Bool.true) else Bool.true) else Bool.true) (fun __c => if __c then (if __valid_8 i then (if __valid_10 b then (if __valid_11 d then (if __valid_12 u then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat))))) (Coverage.Colls.keyTypes a k i j b c d e u w))) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_6 a) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_6 a)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then (if __valid_10 b then (if __valid_11 d then (if __valid_12 u then __fits_0 a k i j b c d e u w else Bool.true) else Bool.true) else Bool.true) else Bool.true) (fun __c => if __c then (if __valid_10 b then (if __valid_11 d then (if __valid_12 u then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat))))) (Coverage.Colls.keyTypes a k i j b c d e u w))) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_8 i) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_8 i)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then (if __valid_11 d then (if __valid_12 u then __fits_0 a k i j b c d e u w else Bool.true) else Bool.true) else Bool.true) (fun __c => if __c then (if __valid_11 d then (if __valid_12 u then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat))))) (Coverage.Colls.keyTypes a k i j b c d e u w))) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_10 b) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_10 b)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then (if __valid_12 u then __fits_0 a k i j b c d e u w else Bool.true) else Bool.true) (fun __c => if __c then (if __valid_12 u then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat))))) (Coverage.Colls.keyTypes a k i j b c d e u w))) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_11 d) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_11 d)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then __fits_0 a k i j b c d e u w else Bool.true) (fun __c => if __c then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat))))) (Coverage.Colls.keyTypes a k i j b c d e u w))) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_12 u) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_12 u)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)))))))))) (__rel_0 a k i j b c d e u w)) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (by simp [_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.entryFits])) - -theorem entry_accepts (a : (List (Prod (Prod Nat String) Bool))) (k : (Prod Nat String)) (i : (List (Prod Int8 Nat))) (j : Int8) (b : (List (Prod Bool Nat))) (c : Bool) (d : (List (Prod Int Nat))) (e : Int) (u : (List (Prod UInt64 Nat))) (w : UInt64) (__h : _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.accepts a k i j b c d e u w) : _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.denoteEntry a k i j b c d e u w = _root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.denote a k i j b c d e u w) := by - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.accepts at __h - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.denoteEntry _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.entryFits _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.entryValue _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.denote - simp only [_root_.if_true, (__viff_6 a).mpr __h.1, (__viff_8 i).mpr __h.2.1, (__viff_10 b).mpr __h.2.2.1, (__viff_11 d).mpr __h.2.2.2.1, (__viff_12 u).mpr __h.2.2.2.2.1] - cases __fits_0 a k i j b c d e u w <;> rfl - -theorem entry_refuses (a : (List (Prod (Prod Nat String) Bool))) (k : (Prod Nat String)) (i : (List (Prod Int8 Nat))) (j : Int8) (b : (List (Prod Bool Nat))) (c : Bool) (d : (List (Prod Int Nat))) (e : Int) (u : (List (Prod UInt64 Nat))) (w : UInt64) (__h : ¬ _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.accepts a k i j b c d e u w) : _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.denoteEntry a k i j b c d e u w = _root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none := by - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.accepts at __h - unfold _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.denoteEntry _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.entryFits _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.entryValue - cases __c0 : __valid_6 a - · simp - · cases __c1 : __valid_8 i - · simp - · cases __c2 : __valid_10 b - · simp - · cases __c3 : __valid_11 d - · simp - · cases __c4 : __valid_12 u - · simp - · exact _root_.absurd ⟨(__viff_6 a).mp __c0, (__viff_8 i).mp __c1, (__viff_10 b).mp __c2, (__viff_11 d).mp __c3, (__viff_12 u).mp __c4, _root_.trivial⟩ __h - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R8/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R8/Compose/RustStd.lean deleted file mode 100644 index 8b82158a1..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R8/Compose/RustStd.lean +++ /dev/null @@ -1,20 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.Compose.RustStd - -/-- The rendering of the root's entry, invoked on the encoded arguments, -realizes the encoded source result when the arguments satisfy §17.12's -invariants, and refuses them with `none` otherwise. -/ -theorem root (a : (List (Prod (Prod Nat String) Bool))) (k : (Prod Nat String)) (i : (List (Prod Int8 Nat))) (j : Int8) (b : (List (Prod Bool Nat))) (c : Bool) (d : (List (Prod Int Nat))) (e : Int) (u : (List (Prod UInt64 Nat))) (w : UInt64) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.string) _root_.LexLeanTarget.TargetSyntax.Value.bool)) a), ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.string) k), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.i8 _root_.LexLeanTarget.TargetSyntax.Value.nat)) i), (_root_.LexLeanTarget.TargetSyntax.Value.i8 j), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat)) b), (_root_.LexLeanTarget.TargetSyntax.Value.bool c), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int _root_.LexLeanTarget.TargetSyntax.Value.nat)) d), (_root_.LexLeanTarget.TargetSyntax.Value.int e), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.u64 _root_.LexLeanTarget.TargetSyntax.Value.nat)) u), (_root_.LexLeanTarget.TargetSyntax.Value.u64 w)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 13) [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.string) _root_.LexLeanTarget.TargetSyntax.Value.bool)) a), ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.string) k), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.i8 _root_.LexLeanTarget.TargetSyntax.Value.nat)) i), (_root_.LexLeanTarget.TargetSyntax.Value.i8 j), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat)) b), (_root_.LexLeanTarget.TargetSyntax.Value.bool c), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int _root_.LexLeanTarget.TargetSyntax.Value.nat)) d), (_root_.LexLeanTarget.TargetSyntax.Value.int e), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.u64 _root_.LexLeanTarget.TargetSyntax.Value.nat)) u), (_root_.LexLeanTarget.TargetSyntax.Value.u64 w)] __e_ro ∧ - (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.accepts a k i j b c d e u w → _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.denote a k i j b c d e u w)) __e_ro) ∧ - (¬ _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.accepts a k i j b c d e u w → _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none) __e_ro) := - match _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.RustStd.root __e_n 13) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encPair (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_nat _root_.LexLeanPreservation.Rust.wt_string) _root_.LexLeanPreservation.Rust.wt_bool)) a) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_nat _root_.LexLeanPreservation.Rust.wt_string) k) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_i8 _root_.LexLeanPreservation.Rust.wt_nat)) i) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i8 j) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_bool _root_.LexLeanPreservation.Rust.wt_nat)) b) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_bool c) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_int _root_.LexLeanPreservation.Rust.wt_nat)) d) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_int e) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_u64 _root_.LexLeanPreservation.Rust.wt_nat)) u) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_u64 w) _root_.LexLeanPreservation.Rust.wtl_nil)))))))))) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.entry a k i j b c d e u w) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) with - | ⟨__e_ro, __e_hr, __e_hc⟩ => ⟨__e_ro, __e_hc, fun __e_h => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.entry_accepts a k i j b c d e u w __e_h ▸ __e_hr, fun __e_h => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.entry_refuses a k i j b c d e u w __e_h ▸ __e_hr⟩ - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R8/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R8/RustStd.lean deleted file mode 100644 index 6b13a94fd..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R8/RustStd.lean +++ /dev/null @@ -1,137 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], types := [(.list (.pair (.pair .nat .string) .bool)), (.pair .nat .string), (.list (.pair (.fixed .i8) .nat)), (.fixed .i8), (.list (.pair .bool .nat)), .bool, (.list (.pair .int .nat)), .int, (.list (.pair (.fixed .u64) .nat)), (.fixed .u64)], result := (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat))))), - body := (.build .pair (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat))))) [(.call 1 [(.var 0), (.var 1)]), (.build .pair (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))) [(.call 2 [(.var 2), (.var 3)]), (.build .pair (.pair (.option .nat) (.pair (.option .nat) (.option .nat))) [(.call 3 [(.var 4), (.var 5)]), (.build .pair (.pair (.option .nat) (.option .nat)) [(.call 4 [(.var 6), (.var 7)]), (.call 5 [(.var 8), (.var 9)])])])])]) }, - { parameters := [0, 1], types := [(.list (.pair (.pair .nat .string) .bool)), (.pair .nat .string)], result := (.option .bool), - body := (.«match» (.option .bool) (.var 0) [(.arm .nil [] (.build .none (.option .bool) [])), (.arm .cons [2, 3] (.«match» (.option .bool) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option .bool) [])), (.arm .eq [] (.build .some (.option .bool) [(.second (.var 2))])), (.arm .gt [] (.call 1 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0, 1], types := [(.list (.pair (.fixed .i8) .nat)), (.fixed .i8)], result := (.option .nat), - body := (.«match» (.option .nat) (.var 0) [(.arm .nil [] (.build .none (.option .nat) [])), (.arm .cons [2, 3] (.«match» (.option .nat) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option .nat) [])), (.arm .eq [] (.build .some (.option .nat) [(.second (.var 2))])), (.arm .gt [] (.call 2 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0, 1], types := [(.list (.pair .bool .nat)), .bool], result := (.option .nat), - body := (.«match» (.option .nat) (.var 0) [(.arm .nil [] (.build .none (.option .nat) [])), (.arm .cons [2, 3] (.«match» (.option .nat) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option .nat) [])), (.arm .eq [] (.build .some (.option .nat) [(.second (.var 2))])), (.arm .gt [] (.call 3 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0, 1], types := [(.list (.pair .int .nat)), .int], result := (.option .nat), - body := (.«match» (.option .nat) (.var 0) [(.arm .nil [] (.build .none (.option .nat) [])), (.arm .cons [2, 3] (.«match» (.option .nat) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option .nat) [])), (.arm .eq [] (.build .some (.option .nat) [(.second (.var 2))])), (.arm .gt [] (.call 4 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0, 1], types := [(.list (.pair (.fixed .u64) .nat)), (.fixed .u64)], result := (.option .nat), - body := (.«match» (.option .nat) (.var 0) [(.arm .nil [] (.build .none (.option .nat) [])), (.arm .cons [2, 3] (.«match» (.option .nat) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option .nat) [])), (.arm .eq [] (.build .some (.option .nat) [(.second (.var 2))])), (.arm .gt [] (.call 5 [(.var 3), (.var 1)]))]))]) }, - { parameters := [0], types := [(.list (.pair (.pair .nat .string) .bool))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 7 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 6 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, - { parameters := [0], types := [.bool], result := .bool, - body := (.build .true .bool []) }, - { parameters := [0], types := [(.list (.pair (.fixed .i8) .nat))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 9 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 8 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, - { parameters := [0], types := [.nat], result := .bool, - body := (.build .true .bool []) }, - { parameters := [0], types := [(.list (.pair .bool .nat))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 9 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 10 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, - { parameters := [0], types := [(.list (.pair .int .nat))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 9 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 11 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, - { parameters := [0], types := [(.list (.pair (.fixed .u64) .nat))], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 9 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 12 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, - { parameters := [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], types := [(.list (.pair (.pair .nat .string) .bool)), (.pair .nat .string), (.list (.pair (.fixed .i8) .nat)), (.fixed .i8), (.list (.pair .bool .nat)), .bool, (.list (.pair .int .nat)), .int, (.list (.pair (.fixed .u64) .nat)), (.fixed .u64)], result := (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))), - body := (.cond (.call 6 [(.var 0)]) (.cond (.call 8 [(.var 2)]) (.cond (.call 10 [(.var 4)]) (.cond (.call 11 [(.var 6)]) (.cond (.call 12 [(.var 8)]) (.build .some (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [(.call 0 [(.var 0), (.var 1), (.var 2), (.var 3), (.var 4), (.var 5), (.var 6), (.var 7), (.var 8), (.var 9)])]) (.build .none (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) (.build .none (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) (.build .none (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) (.build .none (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) (.build .none (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair (.pair .nat .str) .bool)) }, { pattern := (.bind (.generated .binding 1)), type := (.pair .nat .str) }, { pattern := (.bind (.generated .binding 2)), type := (.list (.pair (.fixed .i8) .nat)) }, { pattern := (.bind (.generated .binding 3)), type := (.fixed .i8) }, { pattern := (.bind (.generated .binding 4)), type := (.list (.pair .bool .nat)) }, { pattern := (.bind (.generated .binding 5)), type := .bool }, { pattern := (.bind (.generated .binding 6)), type := (.list (.pair .int .nat)) }, { pattern := (.bind (.generated .binding 7)), type := .int }, { pattern := (.bind (.generated .binding 8)), type := (.list (.pair (.fixed .u64) .nat)) }, { pattern := (.bind (.generated .binding 9)), type := (.fixed .u64) }] (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat))))) (.mk [] (.pair (.call (.function 1) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false) (.pair (.call (.function 2) [(.move (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.pair (.call (.function 3) [(.move (.generated .binding 4)), (.copy (.generated .binding 5))] false) (.pair (.call (.function 4) [(.move (.generated .binding 6)), (.copy (.generated .binding 7))] false) (.call (.function 5) [(.move (.generated .binding 8)), (.copy (.generated .binding 9))] false))))))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair (.pair .nat .str) .bool)) }, { pattern := (.bind (.generated .binding 1)), type := (.pair .nat .str) }] (.option .bool) (.mk [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 1)) [(.mk .none (.mk [] (.construct (.none .bool) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 5)) none (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 2)))))] (.call (.runtime .compare) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))))] (.matchOn (.move (.generated .holder 5)) [(.mk (.ordering .less) (.mk [] (.construct (.none .bool) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 6))]) none (.move (.generated .binding 2)))] (.move (.generated .part 6))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 1) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])))]))), - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair (.fixed .i8) .nat)) }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .i8) }] (.option .nat) (.mk [(.mk (.bind (.generated .holder 7)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 7)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 10)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 8)))))] (.call (.runtime .compare) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))] (.matchOn (.move (.generated .holder 11)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 12))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 2) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]))), - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .bool .nat)) }, { pattern := (.bind (.generated .binding 1)), type := .bool }] (.option .nat) (.mk [(.mk (.bind (.generated .holder 13)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 13)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 17)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 14)))))] (.call (.runtime .compare) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false))))] (.matchOn (.move (.generated .holder 17)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 18))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 18))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 3) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]))), - (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .int .nat)) }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.option .nat) (.mk [(.mk (.bind (.generated .holder 19)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 19)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 23)) none (.block (.mk [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 20)))))] (.call (.runtime .compare) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false))))] (.matchOn (.move (.generated .holder 23)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 24))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 4) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]))), - (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair (.fixed .u64) .nat)) }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .u64) }] (.option .nat) (.mk [(.mk (.bind (.generated .holder 25)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 25)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 29)) none (.block (.mk [(.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 26)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 26)))))] (.call (.runtime .compare) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false))))] (.matchOn (.move (.generated .holder 29)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 30))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 30))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 5) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]))), - (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair (.pair .nat .str) .bool)) }] .bool (.mk [(.mk (.bind (.generated .holder 31)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 31)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 7) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 32))]) none (.move (.generated .binding 1)))] (.move (.generated .part 32))))] false) (.mk [(.mk (.bind (.generated .holder 33)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 33)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 38)) none (.block (.mk [(.mk (.bind (.generated .operand 36)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 34)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 34))))), (.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 35)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 35)))))] (.call (.runtime .compare) [(.move (.generated .operand 36)), (.move (.generated .operand 37))] false))))] (.cond (.matchOn (.move (.generated .holder 38)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 6) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]))), - (.function (.generated .function 7) [{ pattern := .wild, type := .bool }] .bool (.mk [] (.lit (.bool true)))), - (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair (.fixed .i8) .nat)) }] .bool (.mk [(.mk (.bind (.generated .holder 39)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 39)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 40))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 40))))] false) (.mk [(.mk (.bind (.generated .holder 41)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 41)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 46)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 42)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 42))))), (.mk (.bind (.generated .operand 45)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 43)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 43)))))] (.call (.runtime .compare) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] false))))] (.cond (.matchOn (.move (.generated .holder 46)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 8) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]))), - (.function (.generated .function 9) [{ pattern := .wild, type := .nat }] .bool (.mk [] (.lit (.bool true)))), - (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .bool .nat)) }] .bool (.mk [(.mk (.bind (.generated .holder 47)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 47)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 48))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 48))))] false) (.mk [(.mk (.bind (.generated .holder 49)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 49)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 54)) none (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 50)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 50))))), (.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 51)))))] (.call (.runtime .compare) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false))))] (.cond (.matchOn (.move (.generated .holder 54)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 10) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]))), - (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .int .nat)) }] .bool (.mk [(.mk (.bind (.generated .holder 55)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 55)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 56))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 56))))] false) (.mk [(.mk (.bind (.generated .holder 57)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 57)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 62)) none (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 58)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 58))))), (.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 59)))))] (.call (.runtime .compare) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false))))] (.cond (.matchOn (.move (.generated .holder 62)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 11) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]))), - (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair (.fixed .u64) .nat)) }] .bool (.mk [(.mk (.bind (.generated .holder 63)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 63)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 64))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 64))))] false) (.mk [(.mk (.bind (.generated .holder 65)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 65)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 70)) none (.block (.mk [(.mk (.bind (.generated .operand 68)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 66)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 66))))), (.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 67)))))] (.call (.runtime .compare) [(.move (.generated .operand 68)), (.move (.generated .operand 69))] false))))] (.cond (.matchOn (.move (.generated .holder 70)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 12) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]))), - (.function (.generated .function 13) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair (.pair .nat .str) .bool)) }, { pattern := (.bind (.generated .binding 1)), type := (.pair .nat .str) }, { pattern := (.bind (.generated .binding 2)), type := (.list (.pair (.fixed .i8) .nat)) }, { pattern := (.bind (.generated .binding 3)), type := (.fixed .i8) }, { pattern := (.bind (.generated .binding 4)), type := (.list (.pair .bool .nat)) }, { pattern := (.bind (.generated .binding 5)), type := .bool }, { pattern := (.bind (.generated .binding 6)), type := (.list (.pair .int .nat)) }, { pattern := (.bind (.generated .binding 7)), type := .int }, { pattern := (.bind (.generated .binding 8)), type := (.list (.pair (.fixed .u64) .nat)) }, { pattern := (.bind (.generated .binding 9)), type := (.fixed .u64) }] (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) (.mk [] (.cond (.call (.function 6) [(.clone (.generated .binding 0))] false) (.mk [] (.cond (.call (.function 8) [(.clone (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 10) [(.clone (.generated .binding 4))] false) (.mk [] (.cond (.call (.function 11) [(.clone (.generated .binding 6))] false) (.mk [] (.cond (.call (.function 12) [(.clone (.generated .binding 8))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 2)), (.copy (.generated .binding 3)), (.move (.generated .binding 4)), (.copy (.generated .binding 5)), (.move (.generated .binding 6)), (.copy (.generated .binding 7)), (.move (.generated .binding 8)), (.copy (.generated .binding 9))] false)])) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.pair (.call (.function 1) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false) (.pair (.call (.function 2) [(.move (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.pair (.call (.function 3) [(.move (.generated .binding 4)), (.copy (.generated .binding 5))] false) (.pair (.call (.function 4) [(.move (.generated .binding 6)), (.copy (.generated .binding 7))] false) (.call (.function 5) [(.move (.generated .binding 8)), (.copy (.generated .binding 9))] false))))), [(9, (.fixed .u64), (some 9)), (8, (.list (.pair (.fixed .u64) .nat)), (some 8)), (7, .int, (some 7)), (6, (.list (.pair .int .nat)), (some 6)), (5, .bool, (some 5)), (4, (.list (.pair .bool .nat)), (some 4)), (3, (.fixed .i8), (some 3)), (2, (.list (.pair (.fixed .i8) .nat)), (some 2)), (1, (.pair .nat .string), (some 1)), (0, (.list (.pair (.pair .nat .string) .bool)), (some 0))], rfl, rfl, - (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair (.pair .nat .string) .bool)), (.pair .nat .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair (.fixed .i8) .nat)), (.fixed .i8)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .bool .nat)), .bool]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .int .nat)), .int]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair (.fixed .u64) .nat)), (.fixed .u64)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))))⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 1)) [(.mk .none (.mk [] (.construct (.none .bool) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 5)) none (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 2)))))] (.call (.runtime .compare) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))))] (.matchOn (.move (.generated .holder 5)) [(.mk (.ordering .less) (.mk [] (.construct (.none .bool) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 6))]) none (.move (.generated .binding 2)))] (.move (.generated .part 6))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 1) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])))]), [(1, (.pair .nat .string), (some 1)), (0, (.list (.pair (.pair .nat .string) .bool)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair (.pair .nat .string) .bool))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.pair .nat .string), (some 1)), (0, (.list (.pair (.pair .nat .string) .bool)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .bool) [])) (Corr.mCons (Γ' := [(3, (.list (.pair (.pair .nat .string) .bool)), (some 3)), (2, (.pair (.pair .nat .string) .bool), (some 2)), (1, (.pair .nat .string), (some 1)), (0, (.list (.pair (.pair .nat .string) .bool)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 5)) none (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 2)))))] (.call (.runtime .compare) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))))]) (tail := (.matchOn (.move (.generated .holder 5)) [(.mk (.ordering .less) (.mk [] (.construct (.none .bool) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 6))]) none (.move (.generated .binding 2)))] (.move (.generated .part 6))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 1) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 2)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [(.pair .nat .string), (.pair .nat .string)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 2))) (Corr.first (ta := (.pair .nat .string)) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list (.pair (.pair .nat .string) .bool)), (some 3)), (2, (.pair (.pair .nat .string) .bool), (some 2)), (1, (.pair .nat .string), (some 1)), (0, (.list (.pair (.pair .nat .string) .bool)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .bool) [])) (Corr.mCons (Γ' := [(3, (.list (.pair (.pair .nat .string) .bool)), (some 3)), (2, (.pair (.pair .nat .string) .bool), (some 2)), (1, (.pair .nat .string), (some 1)), (0, (.list (.pair (.pair .nat .string) .bool)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 6))]) none (.move (.generated .binding 2)))] (.move (.generated .part 6))))])) (Corr.mCons (Γ' := [(3, (.list (.pair (.pair .nat .string) .bool)), (some 3)), (2, (.pair (.pair .nat .string) .bool), (some 2)), (1, (.pair .nat .string), (some 1)), (0, (.list (.pair (.pair .nat .string) .bool)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 1) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair (.pair .nat .string) .bool)), (.pair .nat .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.bool]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 6))]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 6))) (Corr.second (ta := (.pair .nat .string)) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 7)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 7)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 10)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 8)))))] (.call (.runtime .compare) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))] (.matchOn (.move (.generated .holder 11)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 12))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 2) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]), [(1, (.fixed .i8), (some 1)), (0, (.list (.pair (.fixed .i8) .nat)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair (.fixed .i8) .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.fixed .i8), (some 1)), (0, (.list (.pair (.fixed .i8) .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(3, (.list (.pair (.fixed .i8) .nat)), (some 3)), (2, (.pair (.fixed .i8) .nat), (some 2)), (1, (.fixed .i8), (some 1)), (0, (.list (.pair (.fixed .i8) .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 10)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 8)))))] (.call (.runtime .compare) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))]) (tail := (.matchOn (.move (.generated .holder 11)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 12))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 2) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 10)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 8)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false)) (Corr.prim (ts := [(.fixed .i8), (.fixed .i8)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.copy (.generated .binding 2)))]) (tail := (.move (.generated .part 8))) (Corr.first (ta := (.fixed .i8)) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list (.pair (.fixed .i8) .nat)), (some 3)), (2, (.pair (.fixed .i8) .nat), (some 2)), (1, (.fixed .i8), (some 1)), (0, (.list (.pair (.fixed .i8) .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(3, (.list (.pair (.fixed .i8) .nat)), (some 3)), (2, (.pair (.fixed .i8) .nat), (some 2)), (1, (.fixed .i8), (some 1)), (0, (.list (.pair (.fixed .i8) .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 12))))])) (Corr.mCons (Γ' := [(3, (.list (.pair (.fixed .i8) .nat)), (some 3)), (2, (.pair (.fixed .i8) .nat), (some 2)), (1, (.fixed .i8), (some 1)), (0, (.list (.pair (.fixed .i8) .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 2) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair (.fixed .i8) .nat)), (.fixed .i8)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.copy (.generated .binding 2)))]) (tail := (.move (.generated .part 12))) (Corr.second (ta := (.fixed .i8)) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 13)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 13)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 17)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 14)))))] (.call (.runtime .compare) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false))))] (.matchOn (.move (.generated .holder 17)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 18))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 18))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 3) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]), [(1, .bool, (some 1)), (0, (.list (.pair .bool .nat)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair .bool .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .bool, (some 1)), (0, (.list (.pair .bool .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .bool .nat)), (some 3)), (2, (.pair .bool .nat), (some 2)), (1, .bool, (some 1)), (0, (.list (.pair .bool .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 17)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 14)))))] (.call (.runtime .compare) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false))))]) (tail := (.matchOn (.move (.generated .holder 17)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 18))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 18))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 3) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 14)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false)) (Corr.prim (ts := [.bool, .bool]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 2)))]) (tail := (.move (.generated .part 14))) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list (.pair .bool .nat)), (some 3)), (2, (.pair .bool .nat), (some 2)), (1, .bool, (some 1)), (0, (.list (.pair .bool .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .bool .nat)), (some 3)), (2, (.pair .bool .nat), (some 2)), (1, .bool, (some 1)), (0, (.list (.pair .bool .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 18))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 18))))])) (Corr.mCons (Γ' := [(3, (.list (.pair .bool .nat)), (some 3)), (2, (.pair .bool .nat), (some 2)), (1, .bool, (some 1)), (0, (.list (.pair .bool .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 3) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .bool .nat)), .bool]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 18))]) none (.copy (.generated .binding 2)))]) (tail := (.move (.generated .part 18))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun4 : FunOK program krate flags 4 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 19)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 19)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 23)) none (.block (.mk [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 20)))))] (.call (.runtime .compare) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false))))] (.matchOn (.move (.generated .holder 23)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 24))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 4) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]), [(1, .int, (some 1)), (0, (.list (.pair .int .nat)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair .int .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.list (.pair .int .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .int .nat)), (some 3)), (2, (.pair .int .nat), (some 2)), (1, .int, (some 1)), (0, (.list (.pair .int .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 23)) none (.block (.mk [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 20)))))] (.call (.runtime .compare) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false))))]) (tail := (.matchOn (.move (.generated .holder 23)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 24))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 4) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 20)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.copy (.generated .binding 2)))]) (tail := (.move (.generated .part 20))) (Corr.first (ta := .int) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list (.pair .int .nat)), (some 3)), (2, (.pair .int .nat), (some 2)), (1, .int, (some 1)), (0, (.list (.pair .int .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .int .nat)), (some 3)), (2, (.pair .int .nat), (some 2)), (1, .int, (some 1)), (0, (.list (.pair .int .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 24))))])) (Corr.mCons (Γ' := [(3, (.list (.pair .int .nat)), (some 3)), (2, (.pair .int .nat), (some 2)), (1, .int, (some 1)), (0, (.list (.pair .int .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 4) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .int .nat)), .int]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.copy (.generated .binding 2)))]) (tail := (.move (.generated .part 24))) (Corr.second (ta := .int) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun5 : FunOK program krate flags 5 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 25)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 25)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 29)) none (.block (.mk [(.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 26)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 26)))))] (.call (.runtime .compare) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false))))] (.matchOn (.move (.generated .holder 29)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 30))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 30))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 5) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]), [(1, (.fixed .u64), (some 1)), (0, (.list (.pair (.fixed .u64) .nat)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair (.fixed .u64) .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.fixed .u64), (some 1)), (0, (.list (.pair (.fixed .u64) .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(3, (.list (.pair (.fixed .u64) .nat)), (some 3)), (2, (.pair (.fixed .u64) .nat), (some 2)), (1, (.fixed .u64), (some 1)), (0, (.list (.pair (.fixed .u64) .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 29)) none (.block (.mk [(.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 26)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 26)))))] (.call (.runtime .compare) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false))))]) (tail := (.matchOn (.move (.generated .holder 29)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 30))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 30))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 5) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 26)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 26)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false)) (Corr.prim (ts := [(.fixed .u64), (.fixed .u64)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 26)), .wild]) none (.copy (.generated .binding 2)))]) (tail := (.move (.generated .part 26))) (Corr.first (ta := (.fixed .u64)) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list (.pair (.fixed .u64) .nat)), (some 3)), (2, (.pair (.fixed .u64) .nat), (some 2)), (1, (.fixed .u64), (some 1)), (0, (.list (.pair (.fixed .u64) .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(3, (.list (.pair (.fixed .u64) .nat)), (some 3)), (2, (.pair (.fixed .u64) .nat), (some 2)), (1, (.fixed .u64), (some 1)), (0, (.list (.pair (.fixed .u64) .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 30))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 30))))])) (Corr.mCons (Γ' := [(3, (.list (.pair (.fixed .u64) .nat)), (some 3)), (2, (.pair (.fixed .u64) .nat), (some 2)), (1, (.fixed .u64), (some 1)), (0, (.list (.pair (.fixed .u64) .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 5) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair (.fixed .u64) .nat)), (.fixed .u64)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 30))]) none (.copy (.generated .binding 2)))]) (tail := (.move (.generated .part 30))) (Corr.second (ta := (.fixed .u64)) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun6 : FunOK program krate flags 6 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 31)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 31)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 7) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 32))]) none (.move (.generated .binding 1)))] (.move (.generated .part 32))))] false) (.mk [(.mk (.bind (.generated .holder 33)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 33)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 38)) none (.block (.mk [(.mk (.bind (.generated .operand 36)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 34)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 34))))), (.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 35)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 35)))))] (.call (.runtime .compare) [(.move (.generated .operand 36)), (.move (.generated .operand 37))] false))))] (.cond (.matchOn (.move (.generated .holder 38)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 6) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.pair (.pair .nat .string) .bool)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair (.pair .nat .string) .bool))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair (.pair .nat .string) .bool)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.pair (.pair .nat .string) .bool)), (some 2)), (1, (.pair (.pair .nat .string) .bool), (some 1)), (0, (.list (.pair (.pair .nat .string) .bool)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 7) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 32))]) none (.move (.generated .binding 1)))] (.move (.generated .part 32))))] false) (.mk [(.mk (.bind (.generated .holder 33)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 33)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 38)) none (.block (.mk [(.mk (.bind (.generated .operand 36)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 34)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 34))))), (.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 35)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 35)))))] (.call (.runtime .compare) [(.move (.generated .operand 36)), (.move (.generated .operand 37))] false))))] (.cond (.matchOn (.move (.generated .holder 38)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 6) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 7) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 32))]) none (.move (.generated .binding 1)))] (.move (.generated .part 32))))] false)) (lk := []) (Corr.callOps (ts := [.bool]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 32))]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 32))) (Corr.second (ta := (.pair .nat .string)) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .holder 33)) none (.clone (.generated .binding 2)))]) (ta := (.matchOn (.uncons (.generated .holder 33)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 38)) none (.block (.mk [(.mk (.bind (.generated .operand 36)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 34)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 34))))), (.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 35)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 35)))))] (.call (.runtime .compare) [(.move (.generated .operand 36)), (.move (.generated .operand 37))] false))))] (.cond (.matchOn (.move (.generated .holder 38)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 6) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (lb := []) (tb := (.lit (.bool false))) (Corr.matchArms (st := (.list (.pair (.pair .nat .string) .bool))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.pair (.pair .nat .string) .bool)), (some 2)), (1, (.pair (.pair .nat .string) .bool), (some 1)), (0, (.list (.pair (.pair .nat .string) .bool)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair (.pair .nat .string) .bool)), none), (3, (.pair (.pair .nat .string) .bool), (some 3)), (2, (.list (.pair (.pair .nat .string) .bool)), (some 2)), (1, (.pair (.pair .nat .string) .bool), (some 1)), (0, (.list (.pair (.pair .nat .string) .bool)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 38)) none (.block (.mk [(.mk (.bind (.generated .operand 36)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 34)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 34))))), (.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 35)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 35)))))] (.call (.runtime .compare) [(.move (.generated .operand 36)), (.move (.generated .operand 37))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 38)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 6) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 38)) none (.block (.mk [(.mk (.bind (.generated .operand 36)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 34)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 34))))), (.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 35)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 35)))))] (.call (.runtime .compare) [(.move (.generated .operand 36)), (.move (.generated .operand 37))] false))))]) (ce := (.matchOn (.move (.generated .holder 38)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 36)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 34)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 34))))), (.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 35)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 35)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 36)), (.move (.generated .operand 37))] false)) (Corr.prim (ts := [(.pair .nat .string), (.pair .nat .string)]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 34)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 34))) (Corr.first (ta := (.pair .nat .string)) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 35)), .wild]) none (.move (.generated .binding 3)))]) (tail := (.move (.generated .part 35))) (Corr.first (ta := (.pair .nat .string)) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.pair (.pair .nat .string) .bool)), none), (3, (.pair (.pair .nat .string) .bool), (some 3)), (2, (.list (.pair (.pair .nat .string) .bool)), (some 2)), (1, (.pair (.pair .nat .string) .bool), (some 1)), (0, (.list (.pair (.pair .nat .string) .bool)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair (.pair .nat .string) .bool)), none), (3, (.pair (.pair .nat .string) .bool), (some 3)), (2, (.list (.pair (.pair .nat .string) .bool)), (some 2)), (1, (.pair (.pair .nat .string) .bool), (some 1)), (0, (.list (.pair (.pair .nat .string) .bool)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list (.pair (.pair .nat .string) .bool)), none), (3, (.pair (.pair .nat .string) .bool), (some 3)), (2, (.list (.pair (.pair .nat .string) .bool)), (some 2)), (1, (.pair (.pair .nat .string) .bool), (some 1)), (0, (.list (.pair (.pair .nat .string) .bool)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 6) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.pair (.pair .nat .string) .bool))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun7 : FunOK program krate flags 7 := - ⟨_, rfl, .inl ⟨_, _, [], (.lit (.bool true)), [(0, .bool, none)], rfl, rfl, - (Corr.bOfE (Corr.buildConst rfl))⟩⟩ - -theorem fun8 : FunOK program krate flags 8 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 39)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 39)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 40))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 40))))] false) (.mk [(.mk (.bind (.generated .holder 41)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 41)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 46)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 42)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 42))))), (.mk (.bind (.generated .operand 45)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 43)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 43)))))] (.call (.runtime .compare) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] false))))] (.cond (.matchOn (.move (.generated .holder 46)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 8) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.pair (.fixed .i8) .nat)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair (.fixed .i8) .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair (.fixed .i8) .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.pair (.fixed .i8) .nat)), (some 2)), (1, (.pair (.fixed .i8) .nat), (some 1)), (0, (.list (.pair (.fixed .i8) .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 40))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 40))))] false) (.mk [(.mk (.bind (.generated .holder 41)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 41)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 46)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 42)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 42))))), (.mk (.bind (.generated .operand 45)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 43)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 43)))))] (.call (.runtime .compare) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] false))))] (.cond (.matchOn (.move (.generated .holder 46)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 8) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 40))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 40))))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 40))]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 40))) (Corr.second (ta := (.fixed .i8)) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .holder 41)) none (.clone (.generated .binding 2)))]) (ta := (.matchOn (.uncons (.generated .holder 41)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 46)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 42)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 42))))), (.mk (.bind (.generated .operand 45)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 43)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 43)))))] (.call (.runtime .compare) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] false))))] (.cond (.matchOn (.move (.generated .holder 46)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 8) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (lb := []) (tb := (.lit (.bool false))) (Corr.matchArms (st := (.list (.pair (.fixed .i8) .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.pair (.fixed .i8) .nat)), (some 2)), (1, (.pair (.fixed .i8) .nat), (some 1)), (0, (.list (.pair (.fixed .i8) .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair (.fixed .i8) .nat)), none), (3, (.pair (.fixed .i8) .nat), (some 3)), (2, (.list (.pair (.fixed .i8) .nat)), (some 2)), (1, (.pair (.fixed .i8) .nat), (some 1)), (0, (.list (.pair (.fixed .i8) .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 46)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 42)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 42))))), (.mk (.bind (.generated .operand 45)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 43)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 43)))))] (.call (.runtime .compare) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 46)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 8) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 46)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 42)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 42))))), (.mk (.bind (.generated .operand 45)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 43)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 43)))))] (.call (.runtime .compare) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] false))))]) (ce := (.matchOn (.move (.generated .holder 46)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 42)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 42))))), (.mk (.bind (.generated .operand 45)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 43)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 43)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] false)) (Corr.prim (ts := [(.fixed .i8), (.fixed .i8)]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 42)), .wild]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 42))) (Corr.first (ta := (.fixed .i8)) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 43)), .wild]) none (.copy (.generated .binding 3)))]) (tail := (.move (.generated .part 43))) (Corr.first (ta := (.fixed .i8)) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.pair (.fixed .i8) .nat)), none), (3, (.pair (.fixed .i8) .nat), (some 3)), (2, (.list (.pair (.fixed .i8) .nat)), (some 2)), (1, (.pair (.fixed .i8) .nat), (some 1)), (0, (.list (.pair (.fixed .i8) .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair (.fixed .i8) .nat)), none), (3, (.pair (.fixed .i8) .nat), (some 3)), (2, (.list (.pair (.fixed .i8) .nat)), (some 2)), (1, (.pair (.fixed .i8) .nat), (some 1)), (0, (.list (.pair (.fixed .i8) .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list (.pair (.fixed .i8) .nat)), none), (3, (.pair (.fixed .i8) .nat), (some 3)), (2, (.list (.pair (.fixed .i8) .nat)), (some 2)), (1, (.pair (.fixed .i8) .nat), (some 1)), (0, (.list (.pair (.fixed .i8) .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 8) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.pair (.fixed .i8) .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun9 : FunOK program krate flags 9 := - ⟨_, rfl, .inl ⟨_, _, [], (.lit (.bool true)), [(0, .nat, none)], rfl, rfl, - (Corr.bOfE (Corr.buildConst rfl))⟩⟩ - -theorem fun10 : FunOK program krate flags 10 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 47)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 47)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 48))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 48))))] false) (.mk [(.mk (.bind (.generated .holder 49)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 49)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 54)) none (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 50)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 50))))), (.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 51)))))] (.call (.runtime .compare) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false))))] (.cond (.matchOn (.move (.generated .holder 54)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 10) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.pair .bool .nat)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair .bool .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair .bool .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.pair .bool .nat)), (some 2)), (1, (.pair .bool .nat), (some 1)), (0, (.list (.pair .bool .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 48))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 48))))] false) (.mk [(.mk (.bind (.generated .holder 49)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 49)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 54)) none (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 50)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 50))))), (.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 51)))))] (.call (.runtime .compare) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false))))] (.cond (.matchOn (.move (.generated .holder 54)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 10) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 48))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 48))))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 48))]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 48))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .holder 49)) none (.clone (.generated .binding 2)))]) (ta := (.matchOn (.uncons (.generated .holder 49)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 54)) none (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 50)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 50))))), (.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 51)))))] (.call (.runtime .compare) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false))))] (.cond (.matchOn (.move (.generated .holder 54)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 10) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (lb := []) (tb := (.lit (.bool false))) (Corr.matchArms (st := (.list (.pair .bool .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.pair .bool .nat)), (some 2)), (1, (.pair .bool .nat), (some 1)), (0, (.list (.pair .bool .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .bool .nat)), none), (3, (.pair .bool .nat), (some 3)), (2, (.list (.pair .bool .nat)), (some 2)), (1, (.pair .bool .nat), (some 1)), (0, (.list (.pair .bool .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 54)) none (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 50)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 50))))), (.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 51)))))] (.call (.runtime .compare) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 54)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 10) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 54)) none (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 50)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 50))))), (.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 51)))))] (.call (.runtime .compare) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false))))]) (ce := (.matchOn (.move (.generated .holder 54)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 50)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 50))))), (.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 51)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false)) (Corr.prim (ts := [.bool, .bool]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 50)), .wild]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 50))) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.copy (.generated .binding 3)))]) (tail := (.move (.generated .part 51))) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.pair .bool .nat)), none), (3, (.pair .bool .nat), (some 3)), (2, (.list (.pair .bool .nat)), (some 2)), (1, (.pair .bool .nat), (some 1)), (0, (.list (.pair .bool .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .bool .nat)), none), (3, (.pair .bool .nat), (some 3)), (2, (.list (.pair .bool .nat)), (some 2)), (1, (.pair .bool .nat), (some 1)), (0, (.list (.pair .bool .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list (.pair .bool .nat)), none), (3, (.pair .bool .nat), (some 3)), (2, (.list (.pair .bool .nat)), (some 2)), (1, (.pair .bool .nat), (some 1)), (0, (.list (.pair .bool .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 10) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.pair .bool .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun11 : FunOK program krate flags 11 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 55)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 55)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 56))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 56))))] false) (.mk [(.mk (.bind (.generated .holder 57)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 57)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 62)) none (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 58)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 58))))), (.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 59)))))] (.call (.runtime .compare) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false))))] (.cond (.matchOn (.move (.generated .holder 62)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 11) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.pair .int .nat)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair .int .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair .int .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.pair .int .nat)), (some 2)), (1, (.pair .int .nat), (some 1)), (0, (.list (.pair .int .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 56))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 56))))] false) (.mk [(.mk (.bind (.generated .holder 57)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 57)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 62)) none (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 58)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 58))))), (.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 59)))))] (.call (.runtime .compare) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false))))] (.cond (.matchOn (.move (.generated .holder 62)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 11) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 56))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 56))))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 56))]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 56))) (Corr.second (ta := .int) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .holder 57)) none (.clone (.generated .binding 2)))]) (ta := (.matchOn (.uncons (.generated .holder 57)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 62)) none (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 58)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 58))))), (.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 59)))))] (.call (.runtime .compare) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false))))] (.cond (.matchOn (.move (.generated .holder 62)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 11) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (lb := []) (tb := (.lit (.bool false))) (Corr.matchArms (st := (.list (.pair .int .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.pair .int .nat)), (some 2)), (1, (.pair .int .nat), (some 1)), (0, (.list (.pair .int .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .int .nat)), none), (3, (.pair .int .nat), (some 3)), (2, (.list (.pair .int .nat)), (some 2)), (1, (.pair .int .nat), (some 1)), (0, (.list (.pair .int .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 62)) none (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 58)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 58))))), (.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 59)))))] (.call (.runtime .compare) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 62)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 11) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 62)) none (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 58)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 58))))), (.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 59)))))] (.call (.runtime .compare) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false))))]) (ce := (.matchOn (.move (.generated .holder 62)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 60)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 58)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 58))))), (.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 59)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 58)), .wild]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 58))) (Corr.first (ta := .int) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.copy (.generated .binding 3)))]) (tail := (.move (.generated .part 59))) (Corr.first (ta := .int) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.pair .int .nat)), none), (3, (.pair .int .nat), (some 3)), (2, (.list (.pair .int .nat)), (some 2)), (1, (.pair .int .nat), (some 1)), (0, (.list (.pair .int .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .int .nat)), none), (3, (.pair .int .nat), (some 3)), (2, (.list (.pair .int .nat)), (some 2)), (1, (.pair .int .nat), (some 1)), (0, (.list (.pair .int .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list (.pair .int .nat)), none), (3, (.pair .int .nat), (some 3)), (2, (.list (.pair .int .nat)), (some 2)), (1, (.pair .int .nat), (some 1)), (0, (.list (.pair .int .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 11) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.pair .int .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun12 : FunOK program krate flags 12 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 63)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 63)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 64))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 64))))] false) (.mk [(.mk (.bind (.generated .holder 65)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 65)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 70)) none (.block (.mk [(.mk (.bind (.generated .operand 68)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 66)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 66))))), (.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 67)))))] (.call (.runtime .compare) [(.move (.generated .operand 68)), (.move (.generated .operand 69))] false))))] (.cond (.matchOn (.move (.generated .holder 70)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 12) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.pair (.fixed .u64) .nat)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair (.fixed .u64) .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair (.fixed .u64) .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.pair (.fixed .u64) .nat)), (some 2)), (1, (.pair (.fixed .u64) .nat), (some 1)), (0, (.list (.pair (.fixed .u64) .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 64))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 64))))] false) (.mk [(.mk (.bind (.generated .holder 65)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 65)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 70)) none (.block (.mk [(.mk (.bind (.generated .operand 68)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 66)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 66))))), (.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 67)))))] (.call (.runtime .compare) [(.move (.generated .operand 68)), (.move (.generated .operand 69))] false))))] (.cond (.matchOn (.move (.generated .holder 70)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 12) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 64))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 64))))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 64))]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 64))) (Corr.second (ta := (.fixed .u64)) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .holder 65)) none (.clone (.generated .binding 2)))]) (ta := (.matchOn (.uncons (.generated .holder 65)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 70)) none (.block (.mk [(.mk (.bind (.generated .operand 68)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 66)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 66))))), (.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 67)))))] (.call (.runtime .compare) [(.move (.generated .operand 68)), (.move (.generated .operand 69))] false))))] (.cond (.matchOn (.move (.generated .holder 70)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 12) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (lb := []) (tb := (.lit (.bool false))) (Corr.matchArms (st := (.list (.pair (.fixed .u64) .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.pair (.fixed .u64) .nat)), (some 2)), (1, (.pair (.fixed .u64) .nat), (some 1)), (0, (.list (.pair (.fixed .u64) .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair (.fixed .u64) .nat)), none), (3, (.pair (.fixed .u64) .nat), (some 3)), (2, (.list (.pair (.fixed .u64) .nat)), (some 2)), (1, (.pair (.fixed .u64) .nat), (some 1)), (0, (.list (.pair (.fixed .u64) .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 70)) none (.block (.mk [(.mk (.bind (.generated .operand 68)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 66)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 66))))), (.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 67)))))] (.call (.runtime .compare) [(.move (.generated .operand 68)), (.move (.generated .operand 69))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 70)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 12) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 70)) none (.block (.mk [(.mk (.bind (.generated .operand 68)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 66)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 66))))), (.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 67)))))] (.call (.runtime .compare) [(.move (.generated .operand 68)), (.move (.generated .operand 69))] false))))]) (ce := (.matchOn (.move (.generated .holder 70)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 68)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 66)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 66))))), (.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 67)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 68)), (.move (.generated .operand 69))] false)) (Corr.prim (ts := [(.fixed .u64), (.fixed .u64)]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 66)), .wild]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 66))) (Corr.first (ta := (.fixed .u64)) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.copy (.generated .binding 3)))]) (tail := (.move (.generated .part 67))) (Corr.first (ta := (.fixed .u64)) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.pair (.fixed .u64) .nat)), none), (3, (.pair (.fixed .u64) .nat), (some 3)), (2, (.list (.pair (.fixed .u64) .nat)), (some 2)), (1, (.pair (.fixed .u64) .nat), (some 1)), (0, (.list (.pair (.fixed .u64) .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair (.fixed .u64) .nat)), none), (3, (.pair (.fixed .u64) .nat), (some 3)), (2, (.list (.pair (.fixed .u64) .nat)), (some 2)), (1, (.pair (.fixed .u64) .nat), (some 1)), (0, (.list (.pair (.fixed .u64) .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list (.pair (.fixed .u64) .nat)), none), (3, (.pair (.fixed .u64) .nat), (some 3)), (2, (.list (.pair (.fixed .u64) .nat)), (some 2)), (1, (.pair (.fixed .u64) .nat), (some 1)), (0, (.list (.pair (.fixed .u64) .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 12) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.pair (.fixed .u64) .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun13 : FunOK program krate flags 13 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 6) [(.clone (.generated .binding 0))] false) (.mk [] (.cond (.call (.function 8) [(.clone (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 10) [(.clone (.generated .binding 4))] false) (.mk [] (.cond (.call (.function 11) [(.clone (.generated .binding 6))] false) (.mk [] (.cond (.call (.function 12) [(.clone (.generated .binding 8))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 2)), (.copy (.generated .binding 3)), (.move (.generated .binding 4)), (.copy (.generated .binding 5)), (.move (.generated .binding 6)), (.copy (.generated .binding 7)), (.move (.generated .binding 8)), (.copy (.generated .binding 9))] false)])) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) []))), [(9, (.fixed .u64), (some 9)), (8, (.list (.pair (.fixed .u64) .nat)), (some 8)), (7, .int, (some 7)), (6, (.list (.pair .int .nat)), (some 6)), (5, .bool, (some 5)), (4, (.list (.pair .bool .nat)), (some 4)), (3, (.fixed .i8), (some 3)), (2, (.list (.pair (.fixed .i8) .nat)), (some 2)), (1, (.pair .nat .string), (some 1)), (0, (.list (.pair (.pair .nat .string) .bool)), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 6) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair (.pair .nat .string) .bool))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 8) [(.clone (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 10) [(.clone (.generated .binding 4))] false) (.mk [] (.cond (.call (.function 11) [(.clone (.generated .binding 6))] false) (.mk [] (.cond (.call (.function 12) [(.clone (.generated .binding 8))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 2)), (.copy (.generated .binding 3)), (.move (.generated .binding 4)), (.copy (.generated .binding 5)), (.move (.generated .binding 6)), (.copy (.generated .binding 7)), (.move (.generated .binding 8)), (.copy (.generated .binding 9))] false)])) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (lb := []) (tb := (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) (Corr.cond (lc := []) (ce := (.call (.function 8) [(.clone (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair (.fixed .i8) .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 10) [(.clone (.generated .binding 4))] false) (.mk [] (.cond (.call (.function 11) [(.clone (.generated .binding 6))] false) (.mk [] (.cond (.call (.function 12) [(.clone (.generated .binding 8))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 2)), (.copy (.generated .binding 3)), (.move (.generated .binding 4)), (.copy (.generated .binding 5)), (.move (.generated .binding 6)), (.copy (.generated .binding 7)), (.move (.generated .binding 8)), (.copy (.generated .binding 9))] false)])) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (lb := []) (tb := (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) (Corr.cond (lc := []) (ce := (.call (.function 10) [(.clone (.generated .binding 4))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair .bool .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 11) [(.clone (.generated .binding 6))] false) (.mk [] (.cond (.call (.function 12) [(.clone (.generated .binding 8))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 2)), (.copy (.generated .binding 3)), (.move (.generated .binding 4)), (.copy (.generated .binding 5)), (.move (.generated .binding 6)), (.copy (.generated .binding 7)), (.move (.generated .binding 8)), (.copy (.generated .binding 9))] false)])) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (lb := []) (tb := (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) (Corr.cond (lc := []) (ce := (.call (.function 11) [(.clone (.generated .binding 6))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair .int .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 12) [(.clone (.generated .binding 8))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 2)), (.copy (.generated .binding 3)), (.move (.generated .binding 4)), (.copy (.generated .binding 5)), (.move (.generated .binding 6)), (.copy (.generated .binding 7)), (.move (.generated .binding 8)), (.copy (.generated .binding 9))] false)])) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (lb := []) (tb := (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) (Corr.cond (lc := []) (ce := (.call (.function 12) [(.clone (.generated .binding 8))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair (.fixed .u64) .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 2)), (.copy (.generated .binding 3)), (.move (.generated .binding 4)), (.copy (.generated .binding 5)), (.move (.generated .binding 6)), (.copy (.generated .binding 7)), (.move (.generated .binding 8)), (.copy (.generated .binding 9))] false)])) (lb := []) (tb := (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) (Corr.build (ts := [(.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair (.pair .nat .string) .bool)), (.pair .nat .string), (.list (.pair (.fixed .i8) .nat)), (.fixed .i8), (.list (.pair .bool .nat)), .bool, (.list (.pair .int .nat)), .int, (.list (.pair (.fixed .u64) .nat)), (.fixed .u64)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))))))))))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | 4 => exact fun4 - | 5 => exact fun5 - | 6 => exact fun6 - | 7 => exact fun7 - | 8 => exact fun8 - | 9 => exact fun9 - | 10 => exact fun10 - | 11 => exact fun11 - | 12 => exact fun12 - | 13 => exact fun13 - | _ + 14 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R9/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R9/Compose/RustStd.lean deleted file mode 100644 index 99d4ecd6a..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R9/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9 -import LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.Compose.RustStd - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (x : Nat) (s : String) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat x), (_root_.LexLeanTarget.TargetSyntax.Value.string s)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.denote x s) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat x), (_root_.LexLeanTarget.TargetSyntax.Value.string s)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat x) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_string s) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.root x s) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R9/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R9/RustStd.lean deleted file mode 100644 index b12a457ee..000000000 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R9/RustStd.lean +++ /dev/null @@ -1,33 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [.nat, .string], result := (.pair (.list (.pair .string .nat)) (.pair (.list .nat) (.list (.pair .nat (.list .nat))))), - body := (.build .pair (.pair (.list (.pair .string .nat)) (.pair (.list .nat) (.list (.pair .nat (.list .nat))))) [(.build .cons (.list (.pair .string .nat)) [(.build .pair (.pair .string .nat) [(.value .string (.string "a")), (.var 0)]), (.build .cons (.list (.pair .string .nat)) [(.build .pair (.pair .string .nat) [(.value .string (.string "b")), (.value .nat (.nat 2))]), (.build .nil (.list (.pair .string .nat)) [])])]), (.build .pair (.pair (.list .nat) (.list (.pair .nat (.list .nat)))) [(.build .cons (.list .nat) [(.value .nat (.nat 1)), (.build .cons (.list .nat) [(.value .nat (.nat 3)), (.build .nil (.list .nat) [])])]), (.build .cons (.list (.pair .nat (.list .nat))) [(.build .pair (.pair .nat (.list .nat)) [(.value .nat (.nat 1)), (.build .cons (.list .nat) [(.value .nat (.nat 2)), (.build .nil (.list .nat) [])])]), (.build .cons (.list (.pair .nat (.list .nat))) [(.build .pair (.pair .nat (.list .nat)) [(.value .nat (.nat 2)), (.build .cons (.list .nat) [(.value .nat (.nat 1)), (.build .nil (.list .nat) [])])]), (.build .nil (.list (.pair .nat (.list .nat))) [])])])])]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := .wild, type := .str }] (.pair (.list (.pair .str .nat)) (.pair (.list .nat) (.list (.pair .nat (.list .nat))))) (.mk [] (.pair (.construct .cons [(.pair (.lit (.str "a")) (.copy (.generated .binding 0))), (.construct .cons [(.pair (.lit (.str "b")) (.lit (.nat 2))), (.construct (.nil (.pair .str .nat)) [])])]) (.pair (.construct .cons [(.lit (.nat 1)), (.construct .cons [(.lit (.nat 3)), (.construct (.nil .nat) [])])]) (.construct .cons [(.pair (.lit (.nat 1)) (.construct .cons [(.lit (.nat 2)), (.construct (.nil .nat) [])])), (.construct .cons [(.pair (.lit (.nat 2)) (.construct .cons [(.lit (.nat 1)), (.construct (.nil .nat) [])])), (.construct (.nil (.pair .nat (.list .nat))) [])])])))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.pair (.construct .cons [(.pair (.lit (.str "a")) (.copy (.generated .binding 0))), (.construct .cons [(.pair (.lit (.str "b")) (.lit (.nat 2))), (.construct (.nil (.pair .str .nat)) [])])]) (.pair (.construct .cons [(.lit (.nat 1)), (.construct .cons [(.lit (.nat 3)), (.construct (.nil .nat) [])])]) (.construct .cons [(.pair (.lit (.nat 1)) (.construct .cons [(.lit (.nat 2)), (.construct (.nil .nat) [])])), (.construct .cons [(.pair (.lit (.nat 2)) (.construct .cons [(.lit (.nat 1)), (.construct (.nil .nat) [])])), (.construct (.nil (.pair .nat (.list .nat))) [])])]))), [(1, .string, none), (0, .nat, (some 0))], rfl, rfl, - (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair .string .nat), (.list (.pair .string .nat))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair .string .nat), (.list (.pair .string .nat))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair .nat (.list .nat)), (.list (.pair .nat (.list .nat)))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair .nat (.list .nat)), (.list (.pair .nat (.list .nat)))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) (Corr.lNil)))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | _ + 1 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R0.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R0.lean new file mode 100644 index 000000000..96eeb9efe --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R0.lean @@ -0,0 +1,404 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Coverage.Boundary +import Coverage.Colls +import Coverage.Main +import Coverage.Prims +import Coverage.RecRoots +import Coverage.Recur +import Coverage.Syntax +import Coverage.Types +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [{ constructors := [[(.list .nat), (.list (.adt 0)), (.list (.pair .string .int)), (.option (.adt 0)), (.list (.pair .nat (.adt 0)))], [(.list (.pair .nat .int))], [(.result (.adt 0) .nat)]] }, + { constructors := [[(.list (.pair .string .int)), .string]] }], functions := [ + { parameters := [0, 1, 2, 3], types := [(.adt 0), (.adt 1), (.option (.list .nat)), (.list (.list (.pair .nat .bool)))], result := (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool)))))), + body := (.build .pair (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool)))))) [(.call 1 [(.var 0)]), (.build .pair (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))) [(.var 1), (.build .pair (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool)))) [(.var 2), (.var 3)])])]) }, + { parameters := [0], types := [(.adt 0)], result := .nat, + body := (.«match» .nat (.var 0) [(.arm (.adt 0) [1, 2, 3, 4, 5] (.prim .length [(.var 1)])), (.arm (.adt 1) [6] (.prim .length [(.var 6)])), (.arm (.adt 2) [7] (.value .nat (.nat 0)))]) }, + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.«match» .bool (.var 0) [(.arm (.adt 0) [1, 2, 3, 4, 5] (.cond (.call 3 [(.var 1)]) (.cond (.call 4 [(.var 2)]) (.cond (.call 5 [(.var 3)]) (.cond (.call 7 [(.var 4)]) (.cond (.call 8 [(.var 5)]) (.build .true .bool []) (.build .false .bool [])) (.build .false .bool [])) (.build .false .bool [])) (.build .false .bool [])) (.build .false .bool []))), (.arm (.adt 1) [6] (.cond (.call 11 [(.var 6)]) (.build .true .bool []) (.build .false .bool []))), (.arm (.adt 2) [7] (.cond (.call 12 [(.var 7)]) (.build .true .bool []) (.build .false .bool [])))]) }, + { parameters := [0], types := [(.list .nat)], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.var 1), (.var 3)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 3 [(.var 2)]) (.build .false .bool [])))]))]) }, + { parameters := [0], types := [(.list (.adt 0))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 2 [(.var 1)]) (.call 4 [(.var 2)]) (.build .false .bool [])))]) }, + { parameters := [0], types := [(.list (.pair .string .int))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 6 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 5 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, + { parameters := [0], types := [.int], result := .bool, + body := (.build .true .bool []) }, + { parameters := [0], types := [(.option (.adt 0))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .none [] (.build .true .bool [])), (.arm .some [1] (.call 2 [(.var 1)]))]) }, + { parameters := [0], types := [(.list (.pair .nat (.adt 0)))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 9 [(.var 1)]) (.call 8 [(.var 2)]) (.build .false .bool [])))]) }, + { parameters := [0], types := [(.pair .nat (.adt 0))], result := .bool, + body := (.cond (.call 10 [(.first (.var 0))]) (.call 2 [(.second (.var 0))]) (.build .false .bool [])) }, + { parameters := [0], types := [.nat], result := .bool, + body := (.build .true .bool []) }, + { parameters := [0], types := [(.list (.pair .nat .int))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 6 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 11 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, + { parameters := [0], types := [(.result (.adt 0) .nat)], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .ok [1] (.call 2 [(.var 1)])), (.arm .error [2] (.call 10 [(.var 2)]))]) }, + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.«match» .bool (.var 0) [(.arm (.adt 0) [1, 2] (.cond (.call 5 [(.var 1)]) (.build .true .bool []) (.build .false .bool [])))]) }, + { parameters := [0], types := [(.option (.list .nat))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .none [] (.build .true .bool [])), (.arm .some [1] (.call 3 [(.var 1)]))]) }, + { parameters := [0], types := [(.list (.list (.pair .nat .bool)))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 16 [(.var 1)]) (.call 15 [(.var 2)]) (.build .false .bool [])))]) }, + { parameters := [0], types := [(.list (.pair .nat .bool))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 17 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 16 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, + { parameters := [0], types := [.bool], result := .bool, + body := (.build .true .bool []) }, + { parameters := [0, 1, 2, 3], types := [(.adt 0), (.adt 1), (.option (.list .nat)), (.list (.list (.pair .nat .bool)))], result := (.option (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))), + body := (.cond (.call 2 [(.var 0)]) (.cond (.call 13 [(.var 1)]) (.cond (.call 14 [(.var 2)]) (.cond (.call 15 [(.var 3)]) (.build .some (.option (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [(.call 0 [(.var 0), (.var 1), (.var 2), (.var 3)])]) (.build .none (.option (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])) (.build .none (.option (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])) (.build .none (.option (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])) (.build .none (.option (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])) }] } + +mutual +def __enc_0 : (Coverage.Boundary.Grove) -> _root_.LexLeanTarget.TargetSyntax.Value + | Coverage.Boundary.Grove.node __x0 __x1 __x2 __x3 __x4 => _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) __x0), (_root_.LexLeanTarget.TargetSyntax.Value.list (__items_0 __x1)), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.int)) __x2), (__aux_1 __x3), (_root_.LexLeanTarget.TargetSyntax.Value.list (__items_3 __x4))] + | Coverage.Boundary.Grove.leaf __x0 => _root_.LexLeanTarget.TargetSyntax.Value.adt 1 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) __x0)] + | Coverage.Boundary.Grove.settled __x0 => _root_.LexLeanTarget.TargetSyntax.Value.adt 2 [(__aux_4 __x0)] + +def __items_0 : (List (Coverage.Boundary.Grove)) -> List _root_.LexLeanTarget.TargetSyntax.Value + | [] => [] + | __x0 :: __x1 => (__enc_0 __x0) :: __items_0 __x1 + +def __aux_1 : (Option (Coverage.Boundary.Grove)) -> _root_.LexLeanTarget.TargetSyntax.Value + | none => _root_.LexLeanTarget.TargetSyntax.Value.none + | some __x0 => _root_.LexLeanTarget.TargetSyntax.Value.some (__enc_0 __x0) + +def __aux_2 : (Prod Nat (Coverage.Boundary.Grove)) -> _root_.LexLeanTarget.TargetSyntax.Value + | (__x0, __x1) => _root_.LexLeanTarget.TargetSyntax.Value.pair (_root_.LexLeanTarget.TargetSyntax.Value.nat __x0) (__enc_0 __x1) + +def __items_3 : (List (Prod Nat (Coverage.Boundary.Grove))) -> List _root_.LexLeanTarget.TargetSyntax.Value + | [] => [] + | __x0 :: __x1 => (__aux_2 __x0) :: __items_3 __x1 + +def __aux_4 : (Except Nat (Coverage.Boundary.Grove)) -> _root_.LexLeanTarget.TargetSyntax.Value + | Except.error __x0 => _root_.LexLeanTarget.TargetSyntax.Value.error (_root_.LexLeanTarget.TargetSyntax.Value.nat __x0) + | Except.ok __x0 => _root_.LexLeanTarget.TargetSyntax.Value.ok (__enc_0 __x0) + +end + +def __L_0 : _root_.LexLeanPreservation.ListEnc (Coverage.Boundary.Grove) := + ⟨__enc_0, __items_0, __items_0.eq_1, __items_0.eq_2⟩ + +def __O_1 : _root_.LexLeanPreservation.OptEnc (Coverage.Boundary.Grove) := + ⟨__enc_0, __aux_1, __aux_1.eq_1, __aux_1.eq_2⟩ + +def __L_3 : _root_.LexLeanPreservation.ListEnc (Prod Nat (Coverage.Boundary.Grove)) := + ⟨__aux_2, __items_3, __items_3.eq_1, __items_3.eq_2⟩ + +def __enc_1 (__s : (Coverage.Boundary.Ledger)) : _root_.LexLeanTarget.TargetSyntax.Value := + _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.int)) (__s).entries), (_root_.LexLeanTarget.TargetSyntax.Value.string (__s).owner)] + +def __fits_1 (g : (Coverage.Boundary.Grove)) : Bool := + (Bool.true && (match g with | Coverage.Boundary.Grove.node tags children labels spare paired => ((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanCollections.setSize (tags) : Nat) 18446744073709551616)) | Coverage.Boundary.Grove.leaf weights => ((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanCollections.mapSize (weights) : Nat) 18446744073709551616)) | Coverage.Boundary.Grove.settled outcome => Bool.true)) + +theorem __rel_1 (g : (Coverage.Boundary.Grove)) : _root_.LexLeanPreservation.FunRel __prog 1 [(__enc_0 g)] (_root_.LexLeanPreservation.Rel (__fits_1 g) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Boundary.groveTags g))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_0 (fun (__a : (Coverage.Boundary.Grove)) => (match __a with | Coverage.Boundary.Grove.node tags children labels spare paired => ((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanCollections.setSize (tags) : Nat) 18446744073709551616)) | Coverage.Boundary.Grove.leaf weights => ((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanCollections.mapSize (weights) : Nat) 18446744073709551616)) | Coverage.Boundary.Grove.settled outcome => Bool.true)) (fun (__a : (Coverage.Boundary.Grove)) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match __a with | Coverage.Boundary.Grove.node tags children labels spare paired => (_root_.LexLeanCollections.setSize (tags) : Nat) | Coverage.Boundary.Grove.leaf weights => (_root_.LexLeanCollections.mapSize (weights) : Nat) | Coverage.Boundary.Grove.settled outcome => (0 : Nat))) g (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Coverage.Boundary.Grove)) _ => match __a with | Coverage.Boundary.Grove.node tags children labels spare paired => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) tags))) | Coverage.Boundary.Grove.leaf weights => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) weights)))) | Coverage.Boundary.Grove.settled outcome => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value))))) + +def __fits_0 (g : (Coverage.Boundary.Grove)) (ledger : (Coverage.Boundary.Ledger)) (picks : (Option (List Nat))) (spare : (List (List (Prod Nat Bool)))) : Bool := + ((((Bool.true && Bool.true) && (__fits_1 (g))) && (((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) + +attribute [local irreducible] Coverage.Boundary.groveTags in +theorem __rel_0 (g : (Coverage.Boundary.Grove)) (ledger : (Coverage.Boundary.Ledger)) (picks : (Option (List Nat))) (spare : (List (List (Prod Nat Bool)))) : _root_.LexLeanPreservation.FunRel __prog 0 [(__enc_0 g), (__enc_1 ledger), ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) picks), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool))) spare)] (_root_.LexLeanPreservation.Rel (__fits_0 g ledger picks spare) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair __enc_1 (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)))))) (Coverage.Boundary.groveRoot g ledger picks spare))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (g))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) + +def denote (g : (Coverage.Boundary.Grove)) (ledger : (Coverage.Boundary.Ledger)) (picks : (Option (List Nat))) (spare : (List (List (Prod Nat Bool)))) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 g ledger picks spare) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair __enc_1 (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)))))) (Coverage.Boundary.groveRoot g ledger picks spare)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (g : (Coverage.Boundary.Grove)) (ledger : (Coverage.Boundary.Ledger)) (picks : (Option (List Nat))) (spare : (List (List (Prod Nat Bool)))) : _root_.LexLeanPreservation.RunConv __prog 0 [(__enc_0 g), (__enc_1 ledger), ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) picks), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool))) spare)] (_root_.LexLeanPreservation.Rel (__fits_0 g ledger picks spare) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair __enc_1 (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)))))) (Coverage.Boundary.groveRoot g ledger picks spare))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 g ledger picks spare) + +def __valid_3 : (List Nat) -> Bool := + _root_.LexLeanPreservation.ascSet (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) + +def __inv_3 : (List Nat) -> Prop := + _root_.LexLeanPreservation.InvSet (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) + +theorem __viff_3 : ∀ (__v : (List Nat)), __valid_3 __v = Bool.true ↔ __inv_3 __v := + _root_.LexLeanPreservation.ascSet_inv (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) + +theorem __vrel_3 : ∀ (__v : (List Nat)), _root_.LexLeanPreservation.FunRel __prog 3 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_3 __v))) := + _root_.LexLeanPreservation.tpl_validSet (_root_.LexLeanPreservation.keySpec_nat (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) rfl + +def __valid_6 : Int -> Bool := + fun _ => Bool.true + +def __inv_6 : Int -> Prop := + fun _ => _root_.True + +theorem __viff_6 : ∀ (__v : Int), __valid_6 __v = Bool.true ↔ __inv_6 __v := + fun __v => _root_.LexLeanPreservation.validTrue_inv __v + +theorem __vrel_6 : ∀ (__v : Int), _root_.LexLeanPreservation.FunRel __prog 6 [(_root_.LexLeanTarget.TargetSyntax.Value.int __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_6 __v))) := + _root_.LexLeanPreservation.tpl_validTrue _root_.LexLeanTarget.TargetSyntax.Value.int rfl + +def __valid_5 : (List (Prod String Int)) -> Bool := + _root_.LexLeanPreservation.ascMap (_root_.LexLeanCollections.Key.compare : String -> String -> Ordering) __valid_6 + +def __inv_5 : (List (Prod String Int)) -> Prop := + _root_.LexLeanPreservation.InvMap (_root_.LexLeanCollections.Key.compare : String -> String -> Ordering) __inv_6 + +theorem __viff_5 : ∀ (__v : (List (Prod String Int))), __valid_5 __v = Bool.true ↔ __inv_5 __v := + _root_.LexLeanPreservation.ascMap_inv (_root_.LexLeanCollections.Key.compare : String -> String -> Ordering) __valid_6 __inv_6 __viff_6 + +theorem __vrel_5 : ∀ (__v : (List (Prod String Int))), _root_.LexLeanPreservation.FunRel __prog 5 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.int)) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_5 __v))) := + _root_.LexLeanPreservation.tpl_validMap (_root_.LexLeanPreservation.keySpec_string _root_.LexLeanCollections.compareCodes rfl (fun _ _ => rfl) (fun _ _ => rfl) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (_root_.LexLeanCollections.Key.compare : String -> String -> Ordering) (fun _ _ => rfl)) __valid_6 (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.int)) (fun _ => rfl) __vrel_6 rfl + +def __valid_10 : Nat -> Bool := + fun _ => Bool.true + +def __inv_10 : Nat -> Prop := + fun _ => _root_.True + +theorem __viff_10 : ∀ (__v : Nat), __valid_10 __v = Bool.true ↔ __inv_10 __v := + fun __v => _root_.LexLeanPreservation.validTrue_inv __v + +theorem __vrel_10 : ∀ (__v : Nat), _root_.LexLeanPreservation.FunRel __prog 10 [(_root_.LexLeanTarget.TargetSyntax.Value.nat __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_10 __v))) := + _root_.LexLeanPreservation.tpl_validTrue _root_.LexLeanTarget.TargetSyntax.Value.nat rfl + +def __valid_11 : (List (Prod Nat Int)) -> Bool := + _root_.LexLeanPreservation.ascMap (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) __valid_6 + +def __inv_11 : (List (Prod Nat Int)) -> Prop := + _root_.LexLeanPreservation.InvMap (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) __inv_6 + +theorem __viff_11 : ∀ (__v : (List (Prod Nat Int))), __valid_11 __v = Bool.true ↔ __inv_11 __v := + _root_.LexLeanPreservation.ascMap_inv (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) __valid_6 __inv_6 __viff_6 + +theorem __vrel_11 : ∀ (__v : (List (Prod Nat Int))), _root_.LexLeanPreservation.FunRel __prog 11 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_11 __v))) := + _root_.LexLeanPreservation.tpl_validMap (_root_.LexLeanPreservation.keySpec_nat (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) __valid_6 (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int)) (fun _ => rfl) __vrel_6 rfl + +mutual +def __valid_2 : (Coverage.Boundary.Grove) -> Bool + | Coverage.Boundary.Grove.node __x0 __x1 __x2 __x3 __x4 => (if __valid_3 __x0 then (if __valid_4 __x1 then (if __valid_5 __x2 then (if __valid_7 __x3 then (if __valid_8 __x4 then Bool.true else Bool.false) else Bool.false) else Bool.false) else Bool.false) else Bool.false) + | Coverage.Boundary.Grove.leaf __x0 => (if __valid_11 __x0 then Bool.true else Bool.false) + | Coverage.Boundary.Grove.settled __x0 => (if __valid_12 __x0 then Bool.true else Bool.false) + +def __valid_4 : (List (Coverage.Boundary.Grove)) -> Bool + | [] => Bool.true + | __x0 :: __x1 => if __valid_2 __x0 then __valid_4 __x1 else Bool.false + +def __valid_7 : (Option (Coverage.Boundary.Grove)) -> Bool + | none => Bool.true + | some __x0 => __valid_2 __x0 + +def __valid_8 : (List (Prod Nat (Coverage.Boundary.Grove))) -> Bool + | [] => Bool.true + | __x0 :: __x1 => if __valid_9 __x0 then __valid_8 __x1 else Bool.false + +def __valid_9 : (Prod Nat (Coverage.Boundary.Grove)) -> Bool + | (__x0, __x1) => if __valid_10 __x0 then __valid_2 __x1 else Bool.false + +def __valid_12 : (Except Nat (Coverage.Boundary.Grove)) -> Bool + | Except.error __x0 => __valid_10 __x0 + | Except.ok __x0 => __valid_2 __x0 + +end + +mutual +def __inv_2 : (Coverage.Boundary.Grove) -> Prop + | Coverage.Boundary.Grove.node __x0 __x1 __x2 __x3 __x4 => (__inv_3 __x0 ∧ (__inv_4 __x1 ∧ (__inv_5 __x2 ∧ (__inv_7 __x3 ∧ (__inv_8 __x4 ∧ _root_.True))))) + | Coverage.Boundary.Grove.leaf __x0 => (__inv_11 __x0 ∧ _root_.True) + | Coverage.Boundary.Grove.settled __x0 => (__inv_12 __x0 ∧ _root_.True) + +def __inv_4 : (List (Coverage.Boundary.Grove)) -> Prop + | [] => _root_.True + | __x0 :: __x1 => __inv_2 __x0 ∧ __inv_4 __x1 + +def __inv_7 : (Option (Coverage.Boundary.Grove)) -> Prop + | none => _root_.True + | some __x0 => __inv_2 __x0 + +def __inv_8 : (List (Prod Nat (Coverage.Boundary.Grove))) -> Prop + | [] => _root_.True + | __x0 :: __x1 => __inv_9 __x0 ∧ __inv_8 __x1 + +def __inv_9 : (Prod Nat (Coverage.Boundary.Grove)) -> Prop + | (__x0, __x1) => __inv_10 __x0 ∧ __inv_2 __x1 + +def __inv_12 : (Except Nat (Coverage.Boundary.Grove)) -> Prop + | Except.error __x0 => __inv_10 __x0 + | Except.ok __x0 => __inv_2 __x0 + +end + +mutual +theorem __viff_2 : ∀ (__v : (Coverage.Boundary.Grove)), __valid_2 __v = Bool.true ↔ __inv_2 __v + | Coverage.Boundary.Grove.node __x0 __x1 __x2 __x3 __x4 => by rw [__valid_2.eq_def, __inv_2.eq_def]; exact (_root_.LexLeanPreservation.condAnd_iff (__viff_3 __x0) (_root_.LexLeanPreservation.condAnd_iff (__viff_4 __x1) (_root_.LexLeanPreservation.condAnd_iff (__viff_5 __x2) (_root_.LexLeanPreservation.condAnd_iff (__viff_7 __x3) (_root_.LexLeanPreservation.condAnd_iff (__viff_8 __x4) _root_.LexLeanPreservation.trueIff))))) + | Coverage.Boundary.Grove.leaf __x0 => by rw [__valid_2.eq_def, __inv_2.eq_def]; exact (_root_.LexLeanPreservation.condAnd_iff (__viff_11 __x0) _root_.LexLeanPreservation.trueIff) + | Coverage.Boundary.Grove.settled __x0 => by rw [__valid_2.eq_def, __inv_2.eq_def]; exact (_root_.LexLeanPreservation.condAnd_iff (__viff_12 __x0) _root_.LexLeanPreservation.trueIff) + +theorem __viff_4 : ∀ (__v : (List (Coverage.Boundary.Grove))), __valid_4 __v = Bool.true ↔ __inv_4 __v + | [] => by rw [__valid_4.eq_def, __inv_4.eq_def]; exact _root_.LexLeanPreservation.trueIff + | __x0 :: __x1 => by rw [__valid_4.eq_def, __inv_4.eq_def]; exact _root_.LexLeanPreservation.condAnd_iff (__viff_2 __x0) (__viff_4 __x1) + +theorem __viff_7 : ∀ (__v : (Option (Coverage.Boundary.Grove))), __valid_7 __v = Bool.true ↔ __inv_7 __v + | none => by rw [__valid_7.eq_def, __inv_7.eq_def]; exact _root_.LexLeanPreservation.trueIff + | some __x0 => by rw [__valid_7.eq_def, __inv_7.eq_def]; exact __viff_2 __x0 + +theorem __viff_8 : ∀ (__v : (List (Prod Nat (Coverage.Boundary.Grove)))), __valid_8 __v = Bool.true ↔ __inv_8 __v + | [] => by rw [__valid_8.eq_def, __inv_8.eq_def]; exact _root_.LexLeanPreservation.trueIff + | __x0 :: __x1 => by rw [__valid_8.eq_def, __inv_8.eq_def]; exact _root_.LexLeanPreservation.condAnd_iff (__viff_9 __x0) (__viff_8 __x1) + +theorem __viff_9 : ∀ (__v : (Prod Nat (Coverage.Boundary.Grove))), __valid_9 __v = Bool.true ↔ __inv_9 __v + | (__x0, __x1) => by rw [__valid_9.eq_def, __inv_9.eq_def]; exact _root_.LexLeanPreservation.condAnd_iff (__viff_10 __x0) (__viff_2 __x1) + +theorem __viff_12 : ∀ (__v : (Except Nat (Coverage.Boundary.Grove))), __valid_12 __v = Bool.true ↔ __inv_12 __v + | Except.error __x0 => by rw [__valid_12.eq_def, __inv_12.eq_def]; exact __viff_10 __x0 + | Except.ok __x0 => by rw [__valid_12.eq_def, __inv_12.eq_def]; exact __viff_2 __x0 + +end + +mutual +theorem __vrel_2 : ∀ (__v : (Coverage.Boundary.Grove)), _root_.LexLeanPreservation.FunRel __prog 2 [(__enc_0 __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_2 __v))) + | Coverage.Boundary.Grove.node __x0 __x1 __x2 __x3 __x4 => by rw [__valid_2.eq_def]; exact _root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun _ => Bool.true) (fun __c => _root_.LexLeanTarget.TargetSyntax.Value.bool (if __c then (if __valid_4 __x1 then (if __valid_5 __x2 then (if __valid_7 __x3 then (if __valid_8 __x4 then Bool.true else Bool.false) else Bool.false) else Bool.false) else Bool.false) else Bool.false)) (__valid_3 __x0) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_3 __x0)) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun _ => Bool.true) (fun __c => _root_.LexLeanTarget.TargetSyntax.Value.bool (if __c then (if __valid_5 __x2 then (if __valid_7 __x3 then (if __valid_8 __x4 then Bool.true else Bool.false) else Bool.false) else Bool.false) else Bool.false)) (__valid_4 __x1) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_4 __x1)) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun _ => Bool.true) (fun __c => _root_.LexLeanTarget.TargetSyntax.Value.bool (if __c then (if __valid_7 __x3 then (if __valid_8 __x4 then Bool.true else Bool.false) else Bool.false) else Bool.false)) (__valid_5 __x2) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_5 __x2)) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun _ => Bool.true) (fun __c => _root_.LexLeanTarget.TargetSyntax.Value.bool (if __c then (if __valid_8 __x4 then Bool.true else Bool.false) else Bool.false)) (__valid_7 __x3) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_7 __x3)) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun _ => Bool.true) (fun __c => _root_.LexLeanTarget.TargetSyntax.Value.bool (if __c then Bool.true else Bool.false)) (__valid_8 __x4) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_8 __x4)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))))) rfl + | Coverage.Boundary.Grove.leaf __x0 => by rw [__valid_2.eq_def]; exact _root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun _ => Bool.true) (fun __c => _root_.LexLeanTarget.TargetSyntax.Value.bool (if __c then Bool.true else Bool.false)) (__valid_11 __x0) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_11 __x0)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))))) rfl + | Coverage.Boundary.Grove.settled __x0 => by rw [__valid_2.eq_def]; exact _root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun _ => Bool.true) (fun __c => _root_.LexLeanTarget.TargetSyntax.Value.bool (if __c then Bool.true else Bool.false)) (__valid_12 __x0) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_12 __x0)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))))))) rfl + +theorem __vrel_4 : ∀ (__v : (List (Coverage.Boundary.Grove))), _root_.LexLeanPreservation.FunRel __prog 4 [((_root_.LexLeanPreservation.ListEnc.enc __L_0) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_4 __v))) + | [] => by rw [__valid_4.eq_def]; exact _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true))) + | __x0 :: __x1 => by rw [__valid_4.eq_def]; exact _root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun _ => Bool.true) (fun __c => _root_.LexLeanTarget.TargetSyntax.Value.bool (if __c then __valid_4 __x1 else Bool.false)) (__valid_2 __x0) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_2 __x0)) (fun _ => _root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_4 __x1)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))))) rfl + +theorem __vrel_7 : ∀ (__v : (Option (Coverage.Boundary.Grove))), _root_.LexLeanPreservation.FunRel __prog 7 [((_root_.LexLeanPreservation.OptEnc.enc __O_1) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_7 __v))) + | none => by rw [__valid_7.eq_def]; exact _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true))) + | some __x0 => by rw [__valid_7.eq_def]; exact _root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_2 __x0)))))) rfl + +theorem __vrel_8 : ∀ (__v : (List (Prod Nat (Coverage.Boundary.Grove)))), _root_.LexLeanPreservation.FunRel __prog 8 [((_root_.LexLeanPreservation.ListEnc.enc __L_3) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_8 __v))) + | [] => by rw [__valid_8.eq_def]; exact _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true))) + | __x0 :: __x1 => by rw [__valid_8.eq_def]; exact _root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun _ => Bool.true) (fun __c => _root_.LexLeanTarget.TargetSyntax.Value.bool (if __c then __valid_8 __x1 else Bool.false)) (__valid_9 __x0) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_9 __x0)) (fun _ => _root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_8 __x1)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))))) rfl + +theorem __vrel_9 : ∀ (__v : (Prod Nat (Coverage.Boundary.Grove))), _root_.LexLeanPreservation.FunRel __prog 9 [(__aux_2 __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_9 __v))) + | (__x0, __x1) => by rw [__valid_9.eq_def]; exact _root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun _ => Bool.true) (fun __c => _root_.LexLeanTarget.TargetSyntax.Value.bool (if __c then __valid_2 __x1 else Bool.false)) (__valid_10 __x0) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil) (__vrel_10 __x0)) (fun _ => _root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil) (__vrel_2 __x1)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) rfl + +theorem __vrel_12 : ∀ (__v : (Except Nat (Coverage.Boundary.Grove))), _root_.LexLeanPreservation.FunRel __prog 12 [(__aux_4 __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_12 __v))) + | Except.error __x0 => by rw [__valid_12.eq_def]; exact _root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_10 __x0)))))) rfl + | Except.ok __x0 => by rw [__valid_12.eq_def]; exact _root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_2 __x0))))) rfl + +end + +theorem __vinv_4 : ∀ (__v : (List (Coverage.Boundary.Grove))), __inv_4 __v ↔ _root_.LexLeanPreservation.InvList __inv_2 __v := + _root_.LexLeanPreservation.invList_eqs __inv_2 __inv_4 (by rw [__inv_4.eq_def]) (fun _ _ => by rw [__inv_4.eq_def]) + +theorem __vinv_7 : ∀ (__v : (Option (Coverage.Boundary.Grove))), __inv_7 __v ↔ _root_.LexLeanPreservation.InvOption __inv_2 __v + | none => by rw [__inv_7.eq_def]; exact Iff.rfl + | some _ => by rw [__inv_7.eq_def]; exact Iff.rfl + +theorem __vinv_8 : ∀ (__v : (List (Prod Nat (Coverage.Boundary.Grove)))), __inv_8 __v ↔ _root_.LexLeanPreservation.InvList __inv_9 __v := + _root_.LexLeanPreservation.invList_eqs __inv_9 __inv_8 (by rw [__inv_8.eq_def]) (fun _ _ => by rw [__inv_8.eq_def]) + +theorem __vinv_9 : ∀ (__v : (Prod Nat (Coverage.Boundary.Grove))), __inv_9 __v ↔ _root_.LexLeanPreservation.InvPair __inv_10 __inv_2 __v + | (_, _) => by rw [__inv_9.eq_def]; exact Iff.rfl + +theorem __vinv_12 : ∀ (__v : (Except Nat (Coverage.Boundary.Grove))), __inv_12 __v ↔ _root_.LexLeanPreservation.InvExcept __inv_10 __inv_2 __v + | Except.error _ => by rw [__inv_12.eq_def]; exact Iff.rfl + | Except.ok _ => by rw [__inv_12.eq_def]; exact Iff.rfl + +def __valid_13 (__s : (Coverage.Boundary.Ledger)) : Bool := + (if __valid_5 (__s).entries then Bool.true else Bool.false) + +def __inv_13 (__s : (Coverage.Boundary.Ledger)) : Prop := + (__inv_5 (__s).entries ∧ _root_.True) + +theorem __viff_13 : ∀ (__s : (Coverage.Boundary.Ledger)), __valid_13 __s = Bool.true ↔ __inv_13 __s := + fun __s => (_root_.LexLeanPreservation.condAnd_iff (__viff_5 (__s).entries) _root_.LexLeanPreservation.trueIff) + +theorem __vrel_13 : ∀ (__s : (Coverage.Boundary.Ledger)), _root_.LexLeanPreservation.FunRel __prog 13 [(__enc_1 __s)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_13 __s))) := + fun __s => _root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun _ => Bool.true) (fun __c => _root_.LexLeanTarget.TargetSyntax.Value.bool (if __c then Bool.true else Bool.false)) (__valid_5 (__s).entries) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_5 (__s).entries)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))))) rfl + +def __valid_14 : (Option (List Nat)) -> Bool := + _root_.LexLeanPreservation.validOption __valid_3 + +def __inv_14 : (Option (List Nat)) -> Prop := + _root_.LexLeanPreservation.InvOption __inv_3 + +theorem __viff_14 : ∀ (__v : (Option (List Nat))), __valid_14 __v = Bool.true ↔ __inv_14 __v := + _root_.LexLeanPreservation.validOption_inv __valid_3 __inv_3 __viff_3 + +theorem __vrel_14 : ∀ (__v : (Option (List Nat))), _root_.LexLeanPreservation.FunRel __prog 14 [((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_14 __v))) := + _root_.LexLeanPreservation.tpl_validOption __valid_3 __vrel_3 rfl + +def __valid_17 : Bool -> Bool := + fun _ => Bool.true + +def __inv_17 : Bool -> Prop := + fun _ => _root_.True + +theorem __viff_17 : ∀ (__v : Bool), __valid_17 __v = Bool.true ↔ __inv_17 __v := + fun __v => _root_.LexLeanPreservation.validTrue_inv __v + +theorem __vrel_17 : ∀ (__v : Bool), _root_.LexLeanPreservation.FunRel __prog 17 [(_root_.LexLeanTarget.TargetSyntax.Value.bool __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_17 __v))) := + _root_.LexLeanPreservation.tpl_validTrue _root_.LexLeanTarget.TargetSyntax.Value.bool rfl + +def __valid_16 : (List (Prod Nat Bool)) -> Bool := + _root_.LexLeanPreservation.ascMap (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) __valid_17 + +def __inv_16 : (List (Prod Nat Bool)) -> Prop := + _root_.LexLeanPreservation.InvMap (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) __inv_17 + +theorem __viff_16 : ∀ (__v : (List (Prod Nat Bool))), __valid_16 __v = Bool.true ↔ __inv_16 __v := + _root_.LexLeanPreservation.ascMap_inv (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) __valid_17 __inv_17 __viff_17 + +theorem __vrel_16 : ∀ (__v : (List (Prod Nat Bool))), _root_.LexLeanPreservation.FunRel __prog 16 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_16 __v))) := + _root_.LexLeanPreservation.tpl_validMap (_root_.LexLeanPreservation.keySpec_nat (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) __valid_17 (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)) (fun _ => rfl) __vrel_17 rfl + +def __valid_15 : (List (List (Prod Nat Bool))) -> Bool := + _root_.LexLeanPreservation.validList __valid_16 + +def __inv_15 : (List (List (Prod Nat Bool))) -> Prop := + _root_.LexLeanPreservation.InvList __inv_16 + +theorem __viff_15 : ∀ (__v : (List (List (Prod Nat Bool)))), __valid_15 __v = Bool.true ↔ __inv_15 __v := + _root_.LexLeanPreservation.validList_inv __valid_16 __inv_16 __viff_16 + +theorem __vrel_15 : ∀ (__v : (List (List (Prod Nat Bool)))), _root_.LexLeanPreservation.FunRel __prog 15 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool))) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_15 __v))) := + _root_.LexLeanPreservation.tpl_validList __valid_16 (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool))) (fun _ => rfl) __vrel_16 rfl + +def entryFits (g : (Coverage.Boundary.Grove)) (ledger : (Coverage.Boundary.Ledger)) (picks : (Option (List Nat))) (spare : (List (List (Prod Nat Bool)))) : Bool := + (if __valid_2 g then (if __valid_13 ledger then (if __valid_14 picks then (if __valid_15 spare then __fits_0 g ledger picks spare else Bool.true) else Bool.true) else Bool.true) else Bool.true) + +def entryValue (g : (Coverage.Boundary.Grove)) (ledger : (Coverage.Boundary.Ledger)) (picks : (Option (List Nat))) (spare : (List (List (Prod Nat Bool)))) : _root_.LexLeanTarget.TargetSyntax.Value := + (if __valid_2 g then (if __valid_13 ledger then (if __valid_14 picks then (if __valid_15 spare then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair __enc_1 (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)))))) (Coverage.Boundary.groveRoot g ledger picks spare))) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) + +/-- The entry's observation. -/ +def denoteEntry (g : (Coverage.Boundary.Grove)) (ledger : (Coverage.Boundary.Ledger)) (picks : (Option (List Nat))) (spare : (List (List (Prod Nat Bool)))) : _root_.LexLeanPreservation.Obs := + _root_.cond (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.entryFits g ledger picks spare) (_root_.LexLeanPreservation.Obs.value (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.entryValue g ledger picks spare)) _root_.LexLeanPreservation.Obs.overflow + +/-- §17.12's invariants of the validated parameters. -/ +def accepts (g : (Coverage.Boundary.Grove)) (ledger : (Coverage.Boundary.Ledger)) (picks : (Option (List Nat))) (spare : (List (List (Prod Nat Bool)))) : Prop := + (__inv_2 g ∧ (__inv_13 ledger ∧ (__inv_14 picks ∧ (__inv_15 spare ∧ _root_.True)))) + +theorem entry (g : (Coverage.Boundary.Grove)) (ledger : (Coverage.Boundary.Ledger)) (picks : (Option (List Nat))) (spare : (List (List (Prod Nat Bool)))) : _root_.LexLeanPreservation.RunConv __prog 18 [(__enc_0 g), (__enc_1 ledger), ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) picks), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool))) spare)] (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.denoteEntry g ledger picks spare) := + _root_.LexLeanPreservation.run_of_funRel (_root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then (if __valid_13 ledger then (if __valid_14 picks then (if __valid_15 spare then __fits_0 g ledger picks spare else Bool.true) else Bool.true) else Bool.true) else Bool.true) (fun __c => if __c then (if __valid_13 ledger then (if __valid_14 picks then (if __valid_15 spare then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair __enc_1 (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)))))) (Coverage.Boundary.groveRoot g ledger picks spare))) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_2 g) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_2 g)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then (if __valid_14 picks then (if __valid_15 spare then __fits_0 g ledger picks spare else Bool.true) else Bool.true) else Bool.true) (fun __c => if __c then (if __valid_14 picks then (if __valid_15 spare then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair __enc_1 (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)))))) (Coverage.Boundary.groveRoot g ledger picks spare))) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_13 ledger) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_13 ledger)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then (if __valid_15 spare then __fits_0 g ledger picks spare else Bool.true) else Bool.true) (fun __c => if __c then (if __valid_15 spare then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair __enc_1 (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)))))) (Coverage.Boundary.groveRoot g ledger picks spare))) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_14 picks) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_14 picks)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then __fits_0 g ledger picks spare else Bool.true) (fun __c => if __c then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair __enc_1 (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)))))) (Coverage.Boundary.groveRoot g ledger picks spare))) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_15 spare) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_15 spare)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)))) (__rel_0 g ledger picks spare)) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (by simp [_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.entryFits])) + +theorem entry_accepts (g : (Coverage.Boundary.Grove)) (ledger : (Coverage.Boundary.Ledger)) (picks : (Option (List Nat))) (spare : (List (List (Prod Nat Bool)))) (__h : _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.accepts g ledger picks spare) : _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.denoteEntry g ledger picks spare = _root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.denote g ledger picks spare) := by + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.accepts at __h + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.denoteEntry _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.entryFits _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.entryValue _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.denote + simp only [_root_.if_true, (__viff_2 g).mpr __h.1, (__viff_13 ledger).mpr __h.2.1, (__viff_14 picks).mpr __h.2.2.1, (__viff_15 spare).mpr __h.2.2.2.1] + cases __fits_0 g ledger picks spare <;> rfl + +theorem entry_refuses (g : (Coverage.Boundary.Grove)) (ledger : (Coverage.Boundary.Ledger)) (picks : (Option (List Nat))) (spare : (List (List (Prod Nat Bool)))) (__h : ¬ _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.accepts g ledger picks spare) : _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.denoteEntry g ledger picks spare = _root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none := by + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.accepts at __h + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.denoteEntry _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.entryFits _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.entryValue + cases __c0 : __valid_2 g + · simp + · cases __c1 : __valid_13 ledger + · simp + · cases __c2 : __valid_14 picks + · simp + · cases __c3 : __valid_15 spare + · simp + · exact _root_.absurd ⟨(__viff_2 g).mp __c0, (__viff_13 ledger).mp __c1, (__viff_14 picks).mp __c2, (__viff_15 spare).mp __c3, _root_.trivial⟩ __h + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R0/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R0/Compose/RustStd.lean new file mode 100644 index 000000000..07ca2ba0b --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R0/Compose/RustStd.lean @@ -0,0 +1,50 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.Compose.RustStd + +mutual +theorem __wt_0 : ∀ (__v : (Coverage.Boundary.Grove)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.program _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.krate _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.flags (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.__enc_0 __v) (.adt 0) + | Coverage.Boundary.Grove.node __x0 __x1 __x2 __x3 __x4 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList _root_.LexLeanPreservation.Rust.wt_nat) __x0) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_list (__wtItems_0 __x1)) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_string _root_.LexLeanPreservation.Rust.wt_int)) __x2) (_root_.LexLeanPreservation.Rust.wtl_cons (__wtAux_1 __x3) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_list (__wtItems_3 __x4)) _root_.LexLeanPreservation.Rust.wtl_nil))))) + | Coverage.Boundary.Grove.leaf __x0 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_nat _root_.LexLeanPreservation.Rust.wt_int)) __x0) _root_.LexLeanPreservation.Rust.wtl_nil) + | Coverage.Boundary.Grove.settled __x0 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wtAux_4 __x0) _root_.LexLeanPreservation.Rust.wtl_nil) + +theorem __wtItems_0 : ∀ (__v : (List (Coverage.Boundary.Grove))), _root_.LexLeanPreservation.Rust.WTAll _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.program _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.krate _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.flags (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.__items_0 __v) (.adt 0) + | [] => _root_.LexLeanPreservation.Rust.wtAll_nil + | __x0 :: __x1 => _root_.LexLeanPreservation.Rust.wtAll_cons (__wt_0 __x0) (__wtItems_0 __x1) + +theorem __wtAux_1 : ∀ (__v : (Option (Coverage.Boundary.Grove))), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.program _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.krate _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.flags (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.__aux_1 __v) (.option (.adt 0)) + | none => _root_.LexLeanPreservation.Rust.wt_noneV + | some __x0 => _root_.LexLeanPreservation.Rust.wt_someV (__wt_0 __x0) + +theorem __wtAux_2 : ∀ (__v : (Prod Nat (Coverage.Boundary.Grove))), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.program _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.krate _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.flags (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.__aux_2 __v) (.pair .nat (.adt 0)) + | (__x0, __x1) => _root_.LexLeanPreservation.Rust.wt_pairV (_root_.LexLeanPreservation.Rust.wt_nat __x0) (__wt_0 __x1) + +theorem __wtItems_3 : ∀ (__v : (List (Prod Nat (Coverage.Boundary.Grove)))), _root_.LexLeanPreservation.Rust.WTAll _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.program _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.krate _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.flags (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.__items_3 __v) (.pair .nat (.adt 0)) + | [] => _root_.LexLeanPreservation.Rust.wtAll_nil + | __x0 :: __x1 => _root_.LexLeanPreservation.Rust.wtAll_cons (__wtAux_2 __x0) (__wtItems_3 __x1) + +theorem __wtAux_4 : ∀ (__v : (Except Nat (Coverage.Boundary.Grove))), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.program _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.krate _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.flags (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.__aux_4 __v) (.result (.adt 0) .nat) + | Except.error __x0 => _root_.LexLeanPreservation.Rust.wt_errorV (_root_.LexLeanPreservation.Rust.wt_nat __x0) + | Except.ok __x0 => _root_.LexLeanPreservation.Rust.wt_okV (__wt_0 __x0) + +end + +theorem __wt_1 : ∀ (__s : (Coverage.Boundary.Ledger)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.program _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.krate _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.flags (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.__enc_1 __s) (.adt 1) := + fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_string _root_.LexLeanPreservation.Rust.wt_int)) (__s).entries) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_string (__s).owner) _root_.LexLeanPreservation.Rust.wtl_nil)) + +/-- The rendering of the root's entry, invoked on the encoded arguments, +realizes the encoded source result when the arguments satisfy §17.12's +invariants, and refuses them with `none` otherwise. -/ +theorem root (g : (Coverage.Boundary.Grove)) (ledger : (Coverage.Boundary.Ledger)) (picks : (Option (List Nat))) (spare : (List (List (Prod Nat Bool)))) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.__enc_0 g), (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.__enc_1 ledger), ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) picks), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool))) spare)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 18) [(_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.__enc_0 g), (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.__enc_1 ledger), ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) picks), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool))) spare)] __e_ro ∧ + (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.accepts g ledger picks spare → _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.denote g ledger picks spare)) __e_ro) ∧ + (¬ _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.accepts g ledger picks spare → _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none) __e_ro) := + match _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.root __e_n 18) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 g) (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_1 ledger) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encOption (_root_.LexLeanPreservation.Rust.wt_encList _root_.LexLeanPreservation.Rust.wt_nat)) picks) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_nat _root_.LexLeanPreservation.Rust.wt_bool))) spare) _root_.LexLeanPreservation.Rust.wtl_nil)))) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.entry g ledger picks spare) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) with + | ⟨__e_ro, __e_hr, __e_hc⟩ => ⟨__e_ro, __e_hc, fun __e_h => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.entry_accepts g ledger picks spare __e_h ▸ __e_hr, fun __e_h => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.entry_refuses g ledger picks spare __e_h ▸ __e_hr⟩ + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R0/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R0/RustStd.lean new file mode 100644 index 000000000..9ed29103a --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R0/RustStd.lean @@ -0,0 +1,180 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [{ constructors := [[(.list .nat), (.list (.adt 0)), (.list (.pair .string .int)), (.option (.adt 0)), (.list (.pair .nat (.adt 0)))], [(.list (.pair .nat .int))], [(.result (.adt 0) .nat)]] }, + { constructors := [[(.list (.pair .string .int)), .string]] }], functions := [ + { parameters := [0, 1, 2, 3], types := [(.adt 0), (.adt 1), (.option (.list .nat)), (.list (.list (.pair .nat .bool)))], result := (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool)))))), + body := (.build .pair (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool)))))) [(.call 1 [(.var 0)]), (.build .pair (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))) [(.var 1), (.build .pair (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool)))) [(.var 2), (.var 3)])])]) }, + { parameters := [0], types := [(.adt 0)], result := .nat, + body := (.«match» .nat (.var 0) [(.arm (.adt 0) [1, 2, 3, 4, 5] (.prim .length [(.var 1)])), (.arm (.adt 1) [6] (.prim .length [(.var 6)])), (.arm (.adt 2) [7] (.value .nat (.nat 0)))]) }, + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.«match» .bool (.var 0) [(.arm (.adt 0) [1, 2, 3, 4, 5] (.cond (.call 3 [(.var 1)]) (.cond (.call 4 [(.var 2)]) (.cond (.call 5 [(.var 3)]) (.cond (.call 7 [(.var 4)]) (.cond (.call 8 [(.var 5)]) (.build .true .bool []) (.build .false .bool [])) (.build .false .bool [])) (.build .false .bool [])) (.build .false .bool [])) (.build .false .bool []))), (.arm (.adt 1) [6] (.cond (.call 11 [(.var 6)]) (.build .true .bool []) (.build .false .bool []))), (.arm (.adt 2) [7] (.cond (.call 12 [(.var 7)]) (.build .true .bool []) (.build .false .bool [])))]) }, + { parameters := [0], types := [(.list .nat)], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.var 1), (.var 3)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 3 [(.var 2)]) (.build .false .bool [])))]))]) }, + { parameters := [0], types := [(.list (.adt 0))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 2 [(.var 1)]) (.call 4 [(.var 2)]) (.build .false .bool [])))]) }, + { parameters := [0], types := [(.list (.pair .string .int))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 6 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 5 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, + { parameters := [0], types := [.int], result := .bool, + body := (.build .true .bool []) }, + { parameters := [0], types := [(.option (.adt 0))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .none [] (.build .true .bool [])), (.arm .some [1] (.call 2 [(.var 1)]))]) }, + { parameters := [0], types := [(.list (.pair .nat (.adt 0)))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 9 [(.var 1)]) (.call 8 [(.var 2)]) (.build .false .bool [])))]) }, + { parameters := [0], types := [(.pair .nat (.adt 0))], result := .bool, + body := (.cond (.call 10 [(.first (.var 0))]) (.call 2 [(.second (.var 0))]) (.build .false .bool [])) }, + { parameters := [0], types := [.nat], result := .bool, + body := (.build .true .bool []) }, + { parameters := [0], types := [(.list (.pair .nat .int))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 6 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 11 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, + { parameters := [0], types := [(.result (.adt 0) .nat)], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .ok [1] (.call 2 [(.var 1)])), (.arm .error [2] (.call 10 [(.var 2)]))]) }, + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.«match» .bool (.var 0) [(.arm (.adt 0) [1, 2] (.cond (.call 5 [(.var 1)]) (.build .true .bool []) (.build .false .bool [])))]) }, + { parameters := [0], types := [(.option (.list .nat))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .none [] (.build .true .bool [])), (.arm .some [1] (.call 3 [(.var 1)]))]) }, + { parameters := [0], types := [(.list (.list (.pair .nat .bool)))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 16 [(.var 1)]) (.call 15 [(.var 2)]) (.build .false .bool [])))]) }, + { parameters := [0], types := [(.list (.pair .nat .bool))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 17 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 16 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, + { parameters := [0], types := [.bool], result := .bool, + body := (.build .true .bool []) }, + { parameters := [0, 1, 2, 3], types := [(.adt 0), (.adt 1), (.option (.list .nat)), (.list (.list (.pair .nat .bool)))], result := (.option (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))), + body := (.cond (.call 2 [(.var 0)]) (.cond (.call 13 [(.var 1)]) (.cond (.call 14 [(.var 2)]) (.cond (.call 15 [(.var 3)]) (.build .some (.option (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [(.call 0 [(.var 0), (.var 1), (.var 2), (.var 3)])]) (.build .none (.option (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])) (.build .none (.option (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])) (.build .none (.option (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])) (.build .none (.option (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.enum (.adt 0) [{ number := 0, fields := [(.list .nat), (.list (.adt 0)), (.list (.pair .str .int)), (.rc (.option (.adt 0))), (.list (.pair .nat (.adt 0)))] }, { number := 1, fields := [(.list (.pair .nat .int))] }, { number := 2, fields := [(.rc (.result (.adt 0) .nat))] }]), + (.enum (.adt 1) [{ number := 0, fields := [(.list (.pair .str .int)), .str] }]), + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 1) }, { pattern := (.bind (.generated .binding 2)), type := (.option (.list .nat)) }, { pattern := (.bind (.generated .binding 3)), type := (.list (.list (.pair .nat .bool))) }] (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool)))))) (.mk [] (.pair (.call (.function 1) [(.move (.generated .binding 0))] false) (.pair (.move (.generated .binding 1)) (.pair (.move (.generated .binding 2)) (.move (.generated .binding 3))))))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .nat (.mk [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1)), .wild, .wild, .wild, .wild]) (.mk [(.mk (.bind (.generated .operand 2)) none (.move (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 2))] false))), (.mk (.adt 0 1 [(.bind (.generated .binding 6))]) (.mk [(.mk (.bind (.generated .operand 3)) none (.move (.generated .binding 6)))] (.call (.runtime .lengthList) [(.move (.generated .operand 3))] false))), (.mk (.adt 0 2 [.wild]) (.mk [] (.lit (.nat 0))))]))), + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .holder 4)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 4)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1)), (.bind (.generated .binding 2)), (.bind (.generated .binding 3)), (.bind (.generated .boxed 5)), (.bind (.generated .binding 5))]) (.mk [(.mk (.bind (.generated .binding 4)) none (.unbox (.generated .boxed 5)))] (.cond (.call (.function 3) [(.move (.generated .binding 1))] false) (.mk [] (.cond (.call (.function 4) [(.move (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 5) [(.move (.generated .binding 3))] false) (.mk [] (.cond (.call (.function 7) [(.move (.generated .binding 4))] false) (.mk [] (.call (.function 8) [(.move (.generated .binding 5))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))), (.mk (.adt 0 1 [(.bind (.generated .binding 6))]) (.mk [] (.call (.function 11) [(.move (.generated .binding 6))] false))), (.mk (.adt 0 2 [(.bind (.generated .boxed 6))]) (.mk [(.mk (.bind (.generated .binding 7)) none (.unbox (.generated .boxed 6)))] (.call (.function 12) [(.move (.generated .binding 7))] false)))]))), + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }] .bool (.mk [(.mk (.bind (.generated .holder 7)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 7)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .holder 8)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 8)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))] (.cond (.matchOn (.move (.generated .holder 11)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 3) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])))]))), + (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.adt 0)) }] .bool (.mk [(.mk (.bind (.generated .holder 12)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 12)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 2) [(.move (.generated .binding 1))] false) (.mk [] (.call (.function 4) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))]))), + (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str .int)) }] .bool (.mk [(.mk (.bind (.generated .holder 13)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 13)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 6) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 14))]) none (.move (.generated .binding 1)))] (.move (.generated .part 14))))] false) (.mk [(.mk (.bind (.generated .holder 15)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 15)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 20)) none (.block (.mk [(.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 16)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 16))))), (.mk (.bind (.generated .operand 19)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 17)))))] (.call (.runtime .compare) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false))))] (.cond (.matchOn (.move (.generated .holder 20)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 5) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]))), + (.function (.generated .function 6) [{ pattern := .wild, type := .int }] .bool (.mk [] (.lit (.bool true)))), + (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := (.option (.adt 0)) }] .bool (.mk [(.mk (.bind (.generated .holder 21)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 21)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.call (.function 2) [(.move (.generated .binding 1))] false)))]))), + (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.adt 0))) }] .bool (.mk [(.mk (.bind (.generated .holder 22)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 22)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 9) [(.move (.generated .binding 1))] false) (.mk [] (.call (.function 8) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))]))), + (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat (.adt 0)) }] .bool (.mk [] (.cond (.call (.function 10) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 23))))] false) (.mk [] (.call (.function 2) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.move (.generated .binding 0)))] (.move (.generated .part 24))))] false)) (.mk [] (.lit (.bool false)))))), + (.function (.generated .function 10) [{ pattern := .wild, type := .nat }] .bool (.mk [] (.lit (.bool true)))), + (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat .int)) }] .bool (.mk [(.mk (.bind (.generated .holder 25)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 25)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 6) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 26))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 26))))] false) (.mk [(.mk (.bind (.generated .holder 27)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 27)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 32)) none (.block (.mk [(.mk (.bind (.generated .operand 30)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 28)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 28))))), (.mk (.bind (.generated .operand 31)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 29)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 29)))))] (.call (.runtime .compare) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] false))))] (.cond (.matchOn (.move (.generated .holder 32)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 11) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]))), + (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := (.result (.adt 0) .nat) }] .bool (.mk [(.mk (.bind (.generated .holder 33)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 33)) [(.mk (.ok (.bind (.generated .binding 1))) (.mk [] (.call (.function 2) [(.move (.generated .binding 1))] false))), (.mk (.err (.bind (.generated .binding 2))) (.mk [] (.call (.function 10) [(.copy (.generated .binding 2))] false)))]))), + (.function (.generated .function 13) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .holder 34)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 34)) [(.mk (.adt 1 0 [(.bind (.generated .binding 1)), .wild]) (.mk [] (.call (.function 5) [(.move (.generated .binding 1))] false)))]))), + (.function (.generated .function 14) [{ pattern := (.bind (.generated .binding 0)), type := (.option (.list .nat)) }] .bool (.mk [(.mk (.bind (.generated .holder 35)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 35)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.call (.function 3) [(.move (.generated .binding 1))] false)))]))), + (.function (.generated .function 15) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.list (.pair .nat .bool))) }] .bool (.mk [(.mk (.bind (.generated .holder 36)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 36)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 16) [(.move (.generated .binding 1))] false) (.mk [] (.call (.function 15) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))]))), + (.function (.generated .function 16) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat .bool)) }] .bool (.mk [(.mk (.bind (.generated .holder 37)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 37)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 17) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 38))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 38))))] false) (.mk [(.mk (.bind (.generated .holder 39)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 39)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 44)) none (.block (.mk [(.mk (.bind (.generated .operand 42)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 40)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 40))))), (.mk (.bind (.generated .operand 43)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 41)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 41)))))] (.call (.runtime .compare) [(.move (.generated .operand 42)), (.move (.generated .operand 43))] false))))] (.cond (.matchOn (.move (.generated .holder 44)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 16) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]))), + (.function (.generated .function 17) [{ pattern := .wild, type := .bool }] .bool (.mk [] (.lit (.bool true)))), + (.function (.generated .function 18) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 1) }, { pattern := (.bind (.generated .binding 2)), type := (.option (.list .nat)) }, { pattern := (.bind (.generated .binding 3)), type := (.list (.list (.pair .nat .bool))) }] (.option (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) (.mk [] (.cond (.call (.function 2) [(.clone (.generated .binding 0))] false) (.mk [] (.cond (.call (.function 13) [(.clone (.generated .binding 1))] false) (.mk [] (.cond (.call (.function 14) [(.clone (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 3))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 2)), (.move (.generated .binding 3))] false)])) (.mk [] (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])))) (.mk [] (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])))) (.mk [] (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])))) (.mk [] (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.pair (.call (.function 1) [(.move (.generated .binding 0))] false) (.pair (.move (.generated .binding 1)) (.pair (.move (.generated .binding 2)) (.move (.generated .binding 3))))), [(3, (.list (.list (.pair .nat .bool))), (some 3)), (2, (.option (.list .nat)), (some 2)), (1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, + (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))))⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1)), .wild, .wild, .wild, .wild]) (.mk [(.mk (.bind (.generated .operand 2)) none (.move (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 2))] false))), (.mk (.adt 0 1 [(.bind (.generated .binding 6))]) (.mk [(.mk (.bind (.generated .operand 3)) none (.move (.generated .binding 6)))] (.call (.runtime .lengthList) [(.move (.generated .operand 3))] false))), (.mk (.adt 0 2 [.wild]) (.mk [] (.lit (.nat 0))))]), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(5, (.list (.pair .nat (.adt 0))), none), (4, (.option (.adt 0)), none), (3, (.list (.pair .string .int)), none), (2, (.list (.adt 0)), none), (1, (.list .nat), (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := [(.mk (.bind (.generated .operand 2)) none (.move (.generated .binding 1)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 2))] false)) (Corr.mCons (Γ' := [(6, (.list (.pair .nat .int)), (some 6)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .operand 3)) none (.move (.generated .binding 6)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 3))] false)) (Corr.mCons (Γ' := [(7, (.result (.adt 0) .nat), none), (0, (.adt 0), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.nat 0))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.value rfl rfl))) rfl rfl rfl (Corr.prim (ts := [(.list (.pair .nat .int))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.prim (ts := [(.list .nat)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl)⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 4)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 4)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1)), (.bind (.generated .binding 2)), (.bind (.generated .binding 3)), (.bind (.generated .boxed 5)), (.bind (.generated .binding 5))]) (.mk [(.mk (.bind (.generated .binding 4)) none (.unbox (.generated .boxed 5)))] (.cond (.call (.function 3) [(.move (.generated .binding 1))] false) (.mk [] (.cond (.call (.function 4) [(.move (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 5) [(.move (.generated .binding 3))] false) (.mk [] (.cond (.call (.function 7) [(.move (.generated .binding 4))] false) (.mk [] (.call (.function 8) [(.move (.generated .binding 5))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))), (.mk (.adt 0 1 [(.bind (.generated .binding 6))]) (.mk [] (.call (.function 11) [(.move (.generated .binding 6))] false))), (.mk (.adt 0 2 [(.bind (.generated .boxed 6))]) (.mk [(.mk (.bind (.generated .binding 7)) none (.unbox (.generated .boxed 6)))] (.call (.function 12) [(.move (.generated .binding 7))] false)))]), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(5, (.list (.pair .nat (.adt 0))), (some 5)), (4, (.option (.adt 0)), (some 4)), (3, (.list (.pair .string .int)), (some 3)), (2, (.list (.adt 0)), (some 2)), (1, (.list .nat), (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := [(.mk (.bind (.generated .binding 4)) none (.unbox (.generated .boxed 5)))]) (lets := []) (tail := (.cond (.call (.function 3) [(.move (.generated .binding 1))] false) (.mk [] (.cond (.call (.function 4) [(.move (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 5) [(.move (.generated .binding 3))] false) (.mk [] (.cond (.call (.function 7) [(.move (.generated .binding 4))] false) (.mk [] (.call (.function 8) [(.move (.generated .binding 5))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (Corr.mCons (Γ' := [(6, (.list (.pair .nat .int)), (some 6)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 11) [(.move (.generated .binding 6))] false)) (Corr.mCons (Γ' := [(7, (.result (.adt 0) .nat), (some 7)), (0, (.adt 0), (some 0))]) (j := 2) (loads := [(.mk (.bind (.generated .binding 7)) none (.unbox (.generated .boxed 6)))]) (lets := []) (tail := (.call (.function 12) [(.move (.generated .binding 7))] false)) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 12) [(.move (.generated .binding 7))] false)) (lk := []) (Corr.callOps (ts := [(.result (.adt 0) .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kId (Corr.bOfE (Corr.buildConst rfl)) (Corr.bOfE (Corr.buildConst rfl)) rfl))) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 11) [(.move (.generated .binding 6))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair .nat .int))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kId (Corr.bOfE (Corr.buildConst rfl)) (Corr.bOfE (Corr.buildConst rfl)) rfl))) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 3) [(.move (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 4) [(.move (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 5) [(.move (.generated .binding 3))] false) (.mk [] (.cond (.call (.function 7) [(.move (.generated .binding 4))] false) (.mk [] (.call (.function 8) [(.move (.generated .binding 5))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := []) (ce := (.call (.function 4) [(.move (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [(.list (.adt 0))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 5) [(.move (.generated .binding 3))] false) (.mk [] (.cond (.call (.function 7) [(.move (.generated .binding 4))] false) (.mk [] (.call (.function 8) [(.move (.generated .binding 5))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := []) (ce := (.call (.function 5) [(.move (.generated .binding 3))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair .string .int))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 7) [(.move (.generated .binding 4))] false) (.mk [] (.call (.function 8) [(.move (.generated .binding 5))] false)) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := []) (ce := (.call (.function 7) [(.move (.generated .binding 4))] false)) (lk := []) (Corr.callOps (ts := [(.option (.adt 0))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 8) [(.move (.generated .binding 5))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := []) (ce := (.call (.function 8) [(.move (.generated .binding 5))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair .nat (.adt 0)))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kId (Corr.bOfE (Corr.buildConst rfl)) (Corr.bOfE (Corr.buildConst rfl)) rfl)) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl)⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 7)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 7)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .holder 8)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 8)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))] (.cond (.matchOn (.move (.generated .holder 11)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 3) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])))]), [(0, (.list .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 8)) none (.clone (.generated .binding 2)))]) (tail := (.matchOn (.uncons (.generated .holder 8)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))] (.cond (.matchOn (.move (.generated .holder 11)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 3) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list .nat), none), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 11)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 3) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))]) (ce := (.matchOn (.move (.generated .holder 11)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 3)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list .nat), none), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list .nat), none), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list .nat), none), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 3) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun4 : FunOK program krate flags 4 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 12)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 12)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 2) [(.move (.generated .binding 1))] false) (.mk [] (.call (.function 4) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.adt 0)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.adt 0))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.adt 0)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.adt 0)), (some 2)), (1, (.adt 0), (some 1)), (0, (.list (.adt 0)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 2) [(.move (.generated .binding 1))] false) (.mk [] (.call (.function 4) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 2) [(.move (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 4) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.adt 0))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun5 : FunOK program krate flags 5 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 13)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 13)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 6) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 14))]) none (.move (.generated .binding 1)))] (.move (.generated .part 14))))] false) (.mk [(.mk (.bind (.generated .holder 15)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 15)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 20)) none (.block (.mk [(.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 16)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 16))))), (.mk (.bind (.generated .operand 19)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 17)))))] (.call (.runtime .compare) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false))))] (.cond (.matchOn (.move (.generated .holder 20)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 5) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.pair .string .int)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair .string .int))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair .string .int)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.pair .string .int)), (some 2)), (1, (.pair .string .int), (some 1)), (0, (.list (.pair .string .int)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 6) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 14))]) none (.move (.generated .binding 1)))] (.move (.generated .part 14))))] false) (.mk [(.mk (.bind (.generated .holder 15)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 15)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 20)) none (.block (.mk [(.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 16)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 16))))), (.mk (.bind (.generated .operand 19)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 17)))))] (.call (.runtime .compare) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false))))] (.cond (.matchOn (.move (.generated .holder 20)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 5) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 6) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 14))]) none (.move (.generated .binding 1)))] (.move (.generated .part 14))))] false)) (lk := []) (Corr.callOps (ts := [.int]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 14))]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 14))) (Corr.second (ta := .string) (tb := .int) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .holder 15)) none (.clone (.generated .binding 2)))]) (ta := (.matchOn (.uncons (.generated .holder 15)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 20)) none (.block (.mk [(.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 16)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 16))))), (.mk (.bind (.generated .operand 19)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 17)))))] (.call (.runtime .compare) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false))))] (.cond (.matchOn (.move (.generated .holder 20)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 5) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (lb := []) (tb := (.lit (.bool false))) (Corr.matchArms (st := (.list (.pair .string .int))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.pair .string .int)), (some 2)), (1, (.pair .string .int), (some 1)), (0, (.list (.pair .string .int)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .string .int)), none), (3, (.pair .string .int), (some 3)), (2, (.list (.pair .string .int)), (some 2)), (1, (.pair .string .int), (some 1)), (0, (.list (.pair .string .int)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 20)) none (.block (.mk [(.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 16)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 16))))), (.mk (.bind (.generated .operand 19)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 17)))))] (.call (.runtime .compare) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 20)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 5) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 20)) none (.block (.mk [(.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 16)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 16))))), (.mk (.bind (.generated .operand 19)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 17)))))] (.call (.runtime .compare) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false))))]) (ce := (.matchOn (.move (.generated .holder 20)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 16)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 16))))), (.mk (.bind (.generated .operand 19)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 17)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false)) (Corr.prim (ts := [.string, .string]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 16)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 16))) (Corr.first (ta := .string) (tb := .int) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.move (.generated .binding 3)))]) (tail := (.move (.generated .part 17))) (Corr.first (ta := .string) (tb := .int) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.pair .string .int)), none), (3, (.pair .string .int), (some 3)), (2, (.list (.pair .string .int)), (some 2)), (1, (.pair .string .int), (some 1)), (0, (.list (.pair .string .int)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .string .int)), none), (3, (.pair .string .int), (some 3)), (2, (.list (.pair .string .int)), (some 2)), (1, (.pair .string .int), (some 1)), (0, (.list (.pair .string .int)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list (.pair .string .int)), none), (3, (.pair .string .int), (some 3)), (2, (.list (.pair .string .int)), (some 2)), (1, (.pair .string .int), (some 1)), (0, (.list (.pair .string .int)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 5) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.pair .string .int))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun6 : FunOK program krate flags 6 := + ⟨_, rfl, .inl ⟨_, _, [], (.lit (.bool true)), [(0, .int, none)], rfl, rfl, + (Corr.bOfE (Corr.buildConst rfl))⟩⟩ + +theorem fun7 : FunOK program krate flags 7 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 21)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 21)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.call (.function 2) [(.move (.generated .binding 1))] false)))]), [(0, (.option (.adt 0)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option (.adt 0))) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.option (.adt 0)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(1, (.adt 0), (some 1)), (0, (.option (.adt 0)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 2) [(.move (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun8 : FunOK program krate flags 8 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 22)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 22)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 9) [(.move (.generated .binding 1))] false) (.mk [] (.call (.function 8) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.pair .nat (.adt 0))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair .nat (.adt 0)))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair .nat (.adt 0))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.pair .nat (.adt 0))), (some 2)), (1, (.pair .nat (.adt 0)), (some 1)), (0, (.list (.pair .nat (.adt 0))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 9) [(.move (.generated .binding 1))] false) (.mk [] (.call (.function 8) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 9) [(.move (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.pair .nat (.adt 0))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 8) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.pair .nat (.adt 0)))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun9 : FunOK program krate flags 9 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 10) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 23))))] false) (.mk [] (.call (.function 2) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.move (.generated .binding 0)))] (.move (.generated .part 24))))] false)) (.mk [] (.lit (.bool false)))), [(0, (.pair .nat (.adt 0)), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 10) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 23))))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 23)), .wild]) none (.move (.generated .binding 0)))]) (tail := (.move (.generated .part 23))) (Corr.first (ta := .nat) (tb := (.adt 0)) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 2) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.move (.generated .binding 0)))] (.move (.generated .part 24))))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.move (.generated .binding 0)))]) (tail := (.move (.generated .part 24))) (Corr.second (ta := .nat) (tb := (.adt 0)) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun10 : FunOK program krate flags 10 := + ⟨_, rfl, .inl ⟨_, _, [], (.lit (.bool true)), [(0, .nat, none)], rfl, rfl, + (Corr.bOfE (Corr.buildConst rfl))⟩⟩ + +theorem fun11 : FunOK program krate flags 11 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 25)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 25)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 6) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 26))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 26))))] false) (.mk [(.mk (.bind (.generated .holder 27)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 27)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 32)) none (.block (.mk [(.mk (.bind (.generated .operand 30)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 28)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 28))))), (.mk (.bind (.generated .operand 31)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 29)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 29)))))] (.call (.runtime .compare) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] false))))] (.cond (.matchOn (.move (.generated .holder 32)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 11) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.pair .nat .int)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair .nat .int))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair .nat .int)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.pair .nat .int)), (some 2)), (1, (.pair .nat .int), (some 1)), (0, (.list (.pair .nat .int)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 6) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 26))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 26))))] false) (.mk [(.mk (.bind (.generated .holder 27)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 27)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 32)) none (.block (.mk [(.mk (.bind (.generated .operand 30)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 28)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 28))))), (.mk (.bind (.generated .operand 31)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 29)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 29)))))] (.call (.runtime .compare) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] false))))] (.cond (.matchOn (.move (.generated .holder 32)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 11) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 6) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 26))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 26))))] false)) (lk := []) (Corr.callOps (ts := [.int]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 26))]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 26))) (Corr.second (ta := .nat) (tb := .int) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .holder 27)) none (.clone (.generated .binding 2)))]) (ta := (.matchOn (.uncons (.generated .holder 27)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 32)) none (.block (.mk [(.mk (.bind (.generated .operand 30)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 28)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 28))))), (.mk (.bind (.generated .operand 31)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 29)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 29)))))] (.call (.runtime .compare) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] false))))] (.cond (.matchOn (.move (.generated .holder 32)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 11) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (lb := []) (tb := (.lit (.bool false))) (Corr.matchArms (st := (.list (.pair .nat .int))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.pair .nat .int)), (some 2)), (1, (.pair .nat .int), (some 1)), (0, (.list (.pair .nat .int)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .nat .int)), none), (3, (.pair .nat .int), (some 3)), (2, (.list (.pair .nat .int)), (some 2)), (1, (.pair .nat .int), (some 1)), (0, (.list (.pair .nat .int)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 32)) none (.block (.mk [(.mk (.bind (.generated .operand 30)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 28)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 28))))), (.mk (.bind (.generated .operand 31)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 29)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 29)))))] (.call (.runtime .compare) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 32)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 11) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 32)) none (.block (.mk [(.mk (.bind (.generated .operand 30)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 28)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 28))))), (.mk (.bind (.generated .operand 31)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 29)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 29)))))] (.call (.runtime .compare) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] false))))]) (ce := (.matchOn (.move (.generated .holder 32)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 30)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 28)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 28))))), (.mk (.bind (.generated .operand 31)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 29)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 29)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 28)), .wild]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 28))) (Corr.first (ta := .nat) (tb := .int) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 29)), .wild]) none (.copy (.generated .binding 3)))]) (tail := (.move (.generated .part 29))) (Corr.first (ta := .nat) (tb := .int) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.pair .nat .int)), none), (3, (.pair .nat .int), (some 3)), (2, (.list (.pair .nat .int)), (some 2)), (1, (.pair .nat .int), (some 1)), (0, (.list (.pair .nat .int)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .nat .int)), none), (3, (.pair .nat .int), (some 3)), (2, (.list (.pair .nat .int)), (some 2)), (1, (.pair .nat .int), (some 1)), (0, (.list (.pair .nat .int)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list (.pair .nat .int)), none), (3, (.pair .nat .int), (some 3)), (2, (.list (.pair .nat .int)), (some 2)), (1, (.pair .nat .int), (some 1)), (0, (.list (.pair .nat .int)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 11) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.pair .nat .int))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun12 : FunOK program krate flags 12 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 33)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 33)) [(.mk (.ok (.bind (.generated .binding 1))) (.mk [] (.call (.function 2) [(.move (.generated .binding 1))] false))), (.mk (.err (.bind (.generated .binding 2))) (.mk [] (.call (.function 10) [(.copy (.generated .binding 2))] false)))]), [(0, (.result (.adt 0) .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.result (.adt 0) .nat)) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.adt 0), (some 1)), (0, (.result (.adt 0) .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.call (.function 2) [(.move (.generated .binding 1))] false)) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (0, (.result (.adt 0) .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 10) [(.copy (.generated .binding 2))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl rfl rfl)⟩⟩ + +theorem fun13 : FunOK program krate flags 13 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 34)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 34)) [(.mk (.adt 1 0 [(.bind (.generated .binding 1)), .wild]) (.mk [] (.call (.function 5) [(.move (.generated .binding 1))] false)))]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.adt 1)) (U := []) (view := false) (idx := [0]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, .string, none), (1, (.list (.pair .string .int)), (some 1)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.call (.function 5) [(.move (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 5) [(.move (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair .string .int))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kId (Corr.bOfE (Corr.buildConst rfl)) (Corr.bOfE (Corr.buildConst rfl)) rfl))) rfl rfl rfl)⟩⟩ + +theorem fun14 : FunOK program krate flags 14 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 35)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 35)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.call (.function 3) [(.move (.generated .binding 1))] false)))]), [(0, (.option (.list .nat)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option (.list .nat))) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.option (.list .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(1, (.list .nat), (some 1)), (0, (.option (.list .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 3) [(.move (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun15 : FunOK program krate flags 15 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 36)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 36)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 16) [(.move (.generated .binding 1))] false) (.mk [] (.call (.function 15) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.list (.pair .nat .bool))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.list (.pair .nat .bool)))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.list (.pair .nat .bool))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.list (.pair .nat .bool))), (some 2)), (1, (.list (.pair .nat .bool)), (some 1)), (0, (.list (.list (.pair .nat .bool))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 16) [(.move (.generated .binding 1))] false) (.mk [] (.call (.function 15) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 16) [(.move (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair .nat .bool))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 15) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.list (.pair .nat .bool)))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun16 : FunOK program krate flags 16 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 37)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 37)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 17) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 38))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 38))))] false) (.mk [(.mk (.bind (.generated .holder 39)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 39)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 44)) none (.block (.mk [(.mk (.bind (.generated .operand 42)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 40)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 40))))), (.mk (.bind (.generated .operand 43)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 41)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 41)))))] (.call (.runtime .compare) [(.move (.generated .operand 42)), (.move (.generated .operand 43))] false))))] (.cond (.matchOn (.move (.generated .holder 44)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 16) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.pair .nat .bool)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair .nat .bool))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair .nat .bool)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.pair .nat .bool)), (some 2)), (1, (.pair .nat .bool), (some 1)), (0, (.list (.pair .nat .bool)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 17) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 38))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 38))))] false) (.mk [(.mk (.bind (.generated .holder 39)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 39)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 44)) none (.block (.mk [(.mk (.bind (.generated .operand 42)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 40)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 40))))), (.mk (.bind (.generated .operand 43)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 41)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 41)))))] (.call (.runtime .compare) [(.move (.generated .operand 42)), (.move (.generated .operand 43))] false))))] (.cond (.matchOn (.move (.generated .holder 44)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 16) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 17) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 38))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 38))))] false)) (lk := []) (Corr.callOps (ts := [.bool]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 38))]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 38))) (Corr.second (ta := .nat) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .holder 39)) none (.clone (.generated .binding 2)))]) (ta := (.matchOn (.uncons (.generated .holder 39)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 44)) none (.block (.mk [(.mk (.bind (.generated .operand 42)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 40)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 40))))), (.mk (.bind (.generated .operand 43)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 41)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 41)))))] (.call (.runtime .compare) [(.move (.generated .operand 42)), (.move (.generated .operand 43))] false))))] (.cond (.matchOn (.move (.generated .holder 44)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 16) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (lb := []) (tb := (.lit (.bool false))) (Corr.matchArms (st := (.list (.pair .nat .bool))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.pair .nat .bool)), (some 2)), (1, (.pair .nat .bool), (some 1)), (0, (.list (.pair .nat .bool)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .nat .bool)), none), (3, (.pair .nat .bool), (some 3)), (2, (.list (.pair .nat .bool)), (some 2)), (1, (.pair .nat .bool), (some 1)), (0, (.list (.pair .nat .bool)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 44)) none (.block (.mk [(.mk (.bind (.generated .operand 42)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 40)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 40))))), (.mk (.bind (.generated .operand 43)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 41)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 41)))))] (.call (.runtime .compare) [(.move (.generated .operand 42)), (.move (.generated .operand 43))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 44)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 16) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 44)) none (.block (.mk [(.mk (.bind (.generated .operand 42)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 40)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 40))))), (.mk (.bind (.generated .operand 43)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 41)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 41)))))] (.call (.runtime .compare) [(.move (.generated .operand 42)), (.move (.generated .operand 43))] false))))]) (ce := (.matchOn (.move (.generated .holder 44)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 42)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 40)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 40))))), (.mk (.bind (.generated .operand 43)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 41)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 41)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 42)), (.move (.generated .operand 43))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 40)), .wild]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 40))) (Corr.first (ta := .nat) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 41)), .wild]) none (.copy (.generated .binding 3)))]) (tail := (.move (.generated .part 41))) (Corr.first (ta := .nat) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.pair .nat .bool)), none), (3, (.pair .nat .bool), (some 3)), (2, (.list (.pair .nat .bool)), (some 2)), (1, (.pair .nat .bool), (some 1)), (0, (.list (.pair .nat .bool)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .nat .bool)), none), (3, (.pair .nat .bool), (some 3)), (2, (.list (.pair .nat .bool)), (some 2)), (1, (.pair .nat .bool), (some 1)), (0, (.list (.pair .nat .bool)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list (.pair .nat .bool)), none), (3, (.pair .nat .bool), (some 3)), (2, (.list (.pair .nat .bool)), (some 2)), (1, (.pair .nat .bool), (some 1)), (0, (.list (.pair .nat .bool)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 16) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.pair .nat .bool))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun17 : FunOK program krate flags 17 := + ⟨_, rfl, .inl ⟨_, _, [], (.lit (.bool true)), [(0, .bool, none)], rfl, rfl, + (Corr.bOfE (Corr.buildConst rfl))⟩⟩ + +theorem fun18 : FunOK program krate flags 18 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 2) [(.clone (.generated .binding 0))] false) (.mk [] (.cond (.call (.function 13) [(.clone (.generated .binding 1))] false) (.mk [] (.cond (.call (.function 14) [(.clone (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 3))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 2)), (.move (.generated .binding 3))] false)])) (.mk [] (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])))) (.mk [] (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])))) (.mk [] (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])))) (.mk [] (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) []))), [(3, (.list (.list (.pair .nat .bool))), (some 3)), (2, (.option (.list .nat)), (some 2)), (1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 2) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 13) [(.clone (.generated .binding 1))] false) (.mk [] (.cond (.call (.function 14) [(.clone (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 3))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 2)), (.move (.generated .binding 3))] false)])) (.mk [] (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])))) (.mk [] (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])))) (.mk [] (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])))) (lb := []) (tb := (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])) (Corr.cond (lc := []) (ce := (.call (.function 13) [(.clone (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 14) [(.clone (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 3))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 2)), (.move (.generated .binding 3))] false)])) (.mk [] (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])))) (.mk [] (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])))) (lb := []) (tb := (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])) (Corr.cond (lc := []) (ce := (.call (.function 14) [(.clone (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [(.option (.list .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 15) [(.clone (.generated .binding 3))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 2)), (.move (.generated .binding 3))] false)])) (.mk [] (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])))) (lb := []) (tb := (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])) (Corr.cond (lc := []) (ce := (.call (.function 15) [(.clone (.generated .binding 3))] false)) (lk := []) (Corr.callOps (ts := [(.list (.list (.pair .nat .bool)))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 2)), (.move (.generated .binding 3))] false)])) (lb := []) (tb := (.construct (.none (.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))) [])) (Corr.build (ts := [(.pair .nat (.pair (.adt 1) (.pair (.option (.list .nat)) (.list (.list (.pair .nat .bool))))))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0), (.adt 1), (.option (.list .nat)), (.list (.list (.pair .nat .bool)))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | 4 => exact fun4 + | 5 => exact fun5 + | 6 => exact fun6 + | 7 => exact fun7 + | 8 => exact fun8 + | 9 => exact fun9 + | 10 => exact fun10 + | 11 => exact fun11 + | 12 => exact fun12 + | 13 => exact fun13 + | 14 => exact fun14 + | 15 => exact fun15 + | 16 => exact fun16 + | 17 => exact fun17 + | 18 => exact fun18 + | _ + 19 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R1.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R1.lean new file mode 100644 index 000000000..53c1a03b3 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R1.lean @@ -0,0 +1,114 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Coverage.Boundary +import Coverage.Colls +import Coverage.Main +import Coverage.Prims +import Coverage.RecRoots +import Coverage.Recur +import Coverage.Syntax +import Coverage.Types +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1, 2], types := [(.list (.pair .string .nat)), .string, .nat], result := (.pair (.list (.pair .string .nat)) (.pair (.list (.pair .string .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat))))))))), + body := (.build .pair (.pair (.list (.pair .string .nat)) (.pair (.list (.pair .string .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat))))))))) [(.call 1 [(.var 0), (.var 1), (.var 2)]), (.build .pair (.pair (.list (.pair .string .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat)))))))) [(.call 2 [(.var 0), (.var 1)]), (.build .pair (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat))))))) [(.call 3 [(.var 0), (.var 1)]), (.build .pair (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat)))))) [(.call 4 [(.var 0), (.var 1)]), (.build .pair (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat))))) [(.call 6 [(.var 0)]), (.build .pair (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat)))) [(.call 7 [(.var 0)]), (.build .pair (.pair .nat (.list (.pair .string .nat))) [(.prim .length [(.var 0)]), (.var 0)])])])])])])]) }, + { parameters := [0, 1, 2], types := [(.list (.pair .string .nat)), .string, .nat], result := (.list (.pair .string .nat)), + body := (.«match» (.list (.pair .string .nat)) (.var 0) [(.arm .nil [] (.build .cons (.list (.pair .string .nat)) [(.build .pair (.pair .string .nat) [(.var 1), (.var 2)]), (.build .nil (.list (.pair .string .nat)) [])])), (.arm .cons [3, 4] (.«match» (.list (.pair .string .nat)) (.prim .compare [(.var 1), (.first (.var 3))]) [(.arm .lt [] (.build .cons (.list (.pair .string .nat)) [(.build .pair (.pair .string .nat) [(.var 1), (.var 2)]), (.var 0)])), (.arm .eq [] (.build .cons (.list (.pair .string .nat)) [(.build .pair (.pair .string .nat) [(.var 1), (.var 2)]), (.var 4)])), (.arm .gt [] (.build .cons (.list (.pair .string .nat)) [(.var 3), (.call 1 [(.var 4), (.var 1), (.var 2)])]))]))]) }, + { parameters := [0, 1], types := [(.list (.pair .string .nat)), .string], result := (.list (.pair .string .nat)), + body := (.«match» (.list (.pair .string .nat)) (.var 0) [(.arm .nil [] (.build .nil (.list (.pair .string .nat)) [])), (.arm .cons [2, 3] (.«match» (.list (.pair .string .nat)) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.var 0)), (.arm .eq [] (.var 3)), (.arm .gt [] (.build .cons (.list (.pair .string .nat)) [(.var 2), (.call 2 [(.var 3), (.var 1)])]))]))]) }, + { parameters := [0, 1], types := [(.list (.pair .string .nat)), .string], result := (.option .nat), + body := (.«match» (.option .nat) (.var 0) [(.arm .nil [] (.build .none (.option .nat) [])), (.arm .cons [2, 3] (.«match» (.option .nat) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option .nat) [])), (.arm .eq [] (.build .some (.option .nat) [(.second (.var 2))])), (.arm .gt [] (.call 3 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0, 1], types := [(.list (.pair .string .nat)), .string], result := .bool, + body := (.«match» .bool (.call 5 [(.var 0), (.var 1)]) [(.arm .none [] (.build .false .bool [])), (.arm .some [2] (.build .true .bool []))]) }, + { parameters := [0, 1], types := [(.list (.pair .string .nat)), .string], result := (.option .nat), + body := (.«match» (.option .nat) (.var 0) [(.arm .nil [] (.build .none (.option .nat) [])), (.arm .cons [2, 3] (.«match» (.option .nat) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option .nat) [])), (.arm .eq [] (.build .some (.option .nat) [(.second (.var 2))])), (.arm .gt [] (.call 5 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0], types := [(.list (.pair .string .nat))], result := (.list .string), + body := (.«match» (.list .string) (.var 0) [(.arm .nil [] (.build .nil (.list .string) [])), (.arm .cons [1, 2] (.build .cons (.list .string) [(.first (.var 1)), (.call 6 [(.var 2)])]))]) }, + { parameters := [0], types := [(.list (.pair .string .nat))], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .nil (.list .nat) [])), (.arm .cons [1, 2] (.build .cons (.list .nat) [(.second (.var 1)), (.call 7 [(.var 2)])]))]) }, + { parameters := [0], types := [(.list (.pair .string .nat))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 9 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 8 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, + { parameters := [0], types := [.nat], result := .bool, + body := (.build .true .bool []) }, + { parameters := [0, 1, 2], types := [(.list (.pair .string .nat)), .string, .nat], result := (.option (.pair (.list (.pair .string .nat)) (.pair (.list (.pair .string .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat)))))))))), + body := (.cond (.call 8 [(.var 0)]) (.build .some (.option (.pair (.list (.pair .string .nat)) (.pair (.list (.pair .string .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat)))))))))) [(.call 0 [(.var 0), (.var 1), (.var 2)])]) (.build .none (.option (.pair (.list (.pair .string .nat)) (.pair (.list (.pair .string .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat)))))))))) [])) }] } + +def __fits_0 (m : (List (Prod String Nat))) (k : String) (v : Nat) : Bool := + ((((Bool.true && (Bool.true && (Bool.true && Bool.true))) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && Bool.true) && Bool.true) && (((((Bool.true && Bool.true) && Bool.true) && (((((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanCollections.mapSize (m) : Nat) 18446744073709551616)) && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) + +theorem __rel_0 (m : (List (Prod String Nat))) (k : String) (v : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) m), (_root_.LexLeanTarget.TargetSyntax.Value.string k), (_root_.LexLeanTarget.TargetSyntax.Value.nat v)] (_root_.LexLeanPreservation.Rel (__fits_0 m k v) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat))))))))) (Coverage.Colls.mapOps m k v))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_mapInsert (_root_.LexLeanPreservation.keySpec_string _root_.LexLeanCollections.compareCodes rfl (fun _ _ => rfl) (fun _ _ => rfl) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (_root_.LexLeanCollections.Key.compare : String -> String -> Ordering) (fun _ _ => rfl)) _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) _root_.LexLeanCollections.insertEntry (fun _ _ => rfl) (fun _ _ _ _ _ __h => by simp only [_root_.LexLeanCollections.insertEntry, __h]) (fun _ _ _ _ _ __h => by simp only [_root_.LexLeanCollections.insertEntry, __h]) (fun _ _ _ _ _ __h => by simp only [_root_.LexLeanCollections.insertEntry, __h]) (p := __prog) (fi := 1) (tk := .string) (tw := .nat) rfl (m) (k) (v))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_mapRemove (_root_.LexLeanPreservation.keySpec_string _root_.LexLeanCollections.compareCodes rfl (fun _ _ => rfl) (fun _ _ => rfl) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (_root_.LexLeanCollections.Key.compare : String -> String -> Ordering) (fun _ _ => rfl)) _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) _root_.LexLeanCollections.removeEntry (fun _ => rfl) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.removeEntry, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.removeEntry, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.removeEntry, __h]) (p := __prog) (fi := 2) (tk := .string) (tw := .nat) rfl (m) (k))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_mapLookup (_root_.LexLeanPreservation.keySpec_string _root_.LexLeanCollections.compareCodes rfl (fun _ _ => rfl) (fun _ _ => rfl) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (_root_.LexLeanCollections.Key.compare : String -> String -> Ordering) (fun _ _ => rfl)) _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) (_root_.LexLeanPreservation.optEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) _root_.LexLeanCollections.lookupEntry (fun _ => rfl) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]) (p := __prog) (fi := 3) (tk := .string) (tw := .nat) rfl (m) (k))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_mapContains (_root_.LexLeanPreservation.keySpec_string _root_.LexLeanCollections.compareCodes rfl (fun _ _ => rfl) (fun _ _ => rfl) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (_root_.LexLeanCollections.Key.compare : String -> String -> Ordering) (fun _ _ => rfl)) _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) _root_.LexLeanCollections.lookupEntry (fun _ => rfl) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]) (p := __prog) (fi := 4) (tk := .string) (tw := .nat) rfl rfl (m) (k))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.tpl_mapKeys (ek := _root_.LexLeanTarget.TargetSyntax.Value.string) (ev := _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.string) (fun _ => rfl) (p := __prog) (fi := 6) (tk := .string) (tw := .nat) rfl (m))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.tpl_mapValues (ek := _root_.LexLeanTarget.TargetSyntax.Value.string) (ev := _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) (p := __prog) (fi := 7) (tk := .string) (tw := .nat) rfl (m))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) m)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) + +def denote (m : (List (Prod String Nat))) (k : String) (v : Nat) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 m k v) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat))))))))) (Coverage.Colls.mapOps m k v)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (m : (List (Prod String Nat))) (k : String) (v : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) m), (_root_.LexLeanTarget.TargetSyntax.Value.string k), (_root_.LexLeanTarget.TargetSyntax.Value.nat v)] (_root_.LexLeanPreservation.Rel (__fits_0 m k v) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat))))))))) (Coverage.Colls.mapOps m k v))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 m k v) + +def __valid_9 : Nat -> Bool := + fun _ => Bool.true + +def __inv_9 : Nat -> Prop := + fun _ => _root_.True + +theorem __viff_9 : ∀ (__v : Nat), __valid_9 __v = Bool.true ↔ __inv_9 __v := + fun __v => _root_.LexLeanPreservation.validTrue_inv __v + +theorem __vrel_9 : ∀ (__v : Nat), _root_.LexLeanPreservation.FunRel __prog 9 [(_root_.LexLeanTarget.TargetSyntax.Value.nat __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_9 __v))) := + _root_.LexLeanPreservation.tpl_validTrue _root_.LexLeanTarget.TargetSyntax.Value.nat rfl + +def __valid_8 : (List (Prod String Nat)) -> Bool := + _root_.LexLeanPreservation.ascMap (_root_.LexLeanCollections.Key.compare : String -> String -> Ordering) __valid_9 + +def __inv_8 : (List (Prod String Nat)) -> Prop := + _root_.LexLeanPreservation.InvMap (_root_.LexLeanCollections.Key.compare : String -> String -> Ordering) __inv_9 + +theorem __viff_8 : ∀ (__v : (List (Prod String Nat))), __valid_8 __v = Bool.true ↔ __inv_8 __v := + _root_.LexLeanPreservation.ascMap_inv (_root_.LexLeanCollections.Key.compare : String -> String -> Ordering) __valid_9 __inv_9 __viff_9 + +theorem __vrel_8 : ∀ (__v : (List (Prod String Nat))), _root_.LexLeanPreservation.FunRel __prog 8 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_8 __v))) := + _root_.LexLeanPreservation.tpl_validMap (_root_.LexLeanPreservation.keySpec_string _root_.LexLeanCollections.compareCodes rfl (fun _ _ => rfl) (fun _ _ => rfl) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (_root_.LexLeanCollections.Key.compare : String -> String -> Ordering) (fun _ _ => rfl)) __valid_9 (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) __vrel_9 rfl + +def entryFits (m : (List (Prod String Nat))) (k : String) (v : Nat) : Bool := + (if __valid_8 m then __fits_0 m k v else Bool.true) + +def entryValue (m : (List (Prod String Nat))) (k : String) (v : Nat) : _root_.LexLeanTarget.TargetSyntax.Value := + (if __valid_8 m then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat))))))))) (Coverage.Colls.mapOps m k v))) else _root_.LexLeanTarget.TargetSyntax.Value.none) + +/-- The entry's observation. -/ +def denoteEntry (m : (List (Prod String Nat))) (k : String) (v : Nat) : _root_.LexLeanPreservation.Obs := + _root_.cond (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.entryFits m k v) (_root_.LexLeanPreservation.Obs.value (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.entryValue m k v)) _root_.LexLeanPreservation.Obs.overflow + +/-- §17.12's invariants of the validated parameters. -/ +def accepts (m : (List (Prod String Nat))) (k : String) (v : Nat) : Prop := + (__inv_8 m ∧ _root_.True) + +theorem entry (m : (List (Prod String Nat))) (k : String) (v : Nat) : _root_.LexLeanPreservation.RunConv __prog 10 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) m), (_root_.LexLeanTarget.TargetSyntax.Value.string k), (_root_.LexLeanTarget.TargetSyntax.Value.nat v)] (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.denoteEntry m k v) := + _root_.LexLeanPreservation.run_of_funRel (_root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then __fits_0 m k v else Bool.true) (fun __c => if __c then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat))))))))) (Coverage.Colls.mapOps m k v))) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_8 m) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_8 m)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (__rel_0 m k v)) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (by simp [_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.entryFits])) + +theorem entry_accepts (m : (List (Prod String Nat))) (k : String) (v : Nat) (__h : _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.accepts m k v) : _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.denoteEntry m k v = _root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.denote m k v) := by + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.accepts at __h + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.denoteEntry _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.entryFits _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.entryValue _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.denote + simp only [_root_.if_true, (__viff_8 m).mpr __h.1] + cases __fits_0 m k v <;> rfl + +theorem entry_refuses (m : (List (Prod String Nat))) (k : String) (v : Nat) (__h : ¬ _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.accepts m k v) : _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.denoteEntry m k v = _root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none := by + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.accepts at __h + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.denoteEntry _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.entryFits _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.entryValue + cases __c0 : __valid_8 m + · simp + · exact _root_.absurd ⟨(__viff_8 m).mp __c0, _root_.trivial⟩ __h + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R1/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R1/Compose/RustStd.lean new file mode 100644 index 000000000..c8154be0d --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R1/Compose/RustStd.lean @@ -0,0 +1,20 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.Compose.RustStd + +/-- The rendering of the root's entry, invoked on the encoded arguments, +realizes the encoded source result when the arguments satisfy §17.12's +invariants, and refuses them with `none` otherwise. -/ +theorem root (m : (List (Prod String Nat))) (k : String) (v : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) m), (_root_.LexLeanTarget.TargetSyntax.Value.string k), (_root_.LexLeanTarget.TargetSyntax.Value.nat v)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 10) [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) m), (_root_.LexLeanTarget.TargetSyntax.Value.string k), (_root_.LexLeanTarget.TargetSyntax.Value.nat v)] __e_ro ∧ + (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.accepts m k v → _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.denote m k v)) __e_ro) ∧ + (¬ _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.accepts m k v → _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none) __e_ro) := + match _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.RustStd.root __e_n 10) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_string _root_.LexLeanPreservation.Rust.wt_nat)) m) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_string k) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat v) _root_.LexLeanPreservation.Rust.wtl_nil))) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.entry m k v) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) with + | ⟨__e_ro, __e_hr, __e_hc⟩ => ⟨__e_ro, __e_hc, fun __e_h => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.entry_accepts m k v __e_h ▸ __e_hr, fun __e_h => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.entry_refuses m k v __e_h ▸ __e_hr⟩ + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R1/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R1/RustStd.lean new file mode 100644 index 000000000..500d036db --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R1/RustStd.lean @@ -0,0 +1,113 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1, 2], types := [(.list (.pair .string .nat)), .string, .nat], result := (.pair (.list (.pair .string .nat)) (.pair (.list (.pair .string .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat))))))))), + body := (.build .pair (.pair (.list (.pair .string .nat)) (.pair (.list (.pair .string .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat))))))))) [(.call 1 [(.var 0), (.var 1), (.var 2)]), (.build .pair (.pair (.list (.pair .string .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat)))))))) [(.call 2 [(.var 0), (.var 1)]), (.build .pair (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat))))))) [(.call 3 [(.var 0), (.var 1)]), (.build .pair (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat)))))) [(.call 4 [(.var 0), (.var 1)]), (.build .pair (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat))))) [(.call 6 [(.var 0)]), (.build .pair (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat)))) [(.call 7 [(.var 0)]), (.build .pair (.pair .nat (.list (.pair .string .nat))) [(.prim .length [(.var 0)]), (.var 0)])])])])])])]) }, + { parameters := [0, 1, 2], types := [(.list (.pair .string .nat)), .string, .nat], result := (.list (.pair .string .nat)), + body := (.«match» (.list (.pair .string .nat)) (.var 0) [(.arm .nil [] (.build .cons (.list (.pair .string .nat)) [(.build .pair (.pair .string .nat) [(.var 1), (.var 2)]), (.build .nil (.list (.pair .string .nat)) [])])), (.arm .cons [3, 4] (.«match» (.list (.pair .string .nat)) (.prim .compare [(.var 1), (.first (.var 3))]) [(.arm .lt [] (.build .cons (.list (.pair .string .nat)) [(.build .pair (.pair .string .nat) [(.var 1), (.var 2)]), (.var 0)])), (.arm .eq [] (.build .cons (.list (.pair .string .nat)) [(.build .pair (.pair .string .nat) [(.var 1), (.var 2)]), (.var 4)])), (.arm .gt [] (.build .cons (.list (.pair .string .nat)) [(.var 3), (.call 1 [(.var 4), (.var 1), (.var 2)])]))]))]) }, + { parameters := [0, 1], types := [(.list (.pair .string .nat)), .string], result := (.list (.pair .string .nat)), + body := (.«match» (.list (.pair .string .nat)) (.var 0) [(.arm .nil [] (.build .nil (.list (.pair .string .nat)) [])), (.arm .cons [2, 3] (.«match» (.list (.pair .string .nat)) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.var 0)), (.arm .eq [] (.var 3)), (.arm .gt [] (.build .cons (.list (.pair .string .nat)) [(.var 2), (.call 2 [(.var 3), (.var 1)])]))]))]) }, + { parameters := [0, 1], types := [(.list (.pair .string .nat)), .string], result := (.option .nat), + body := (.«match» (.option .nat) (.var 0) [(.arm .nil [] (.build .none (.option .nat) [])), (.arm .cons [2, 3] (.«match» (.option .nat) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option .nat) [])), (.arm .eq [] (.build .some (.option .nat) [(.second (.var 2))])), (.arm .gt [] (.call 3 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0, 1], types := [(.list (.pair .string .nat)), .string], result := .bool, + body := (.«match» .bool (.call 5 [(.var 0), (.var 1)]) [(.arm .none [] (.build .false .bool [])), (.arm .some [2] (.build .true .bool []))]) }, + { parameters := [0, 1], types := [(.list (.pair .string .nat)), .string], result := (.option .nat), + body := (.«match» (.option .nat) (.var 0) [(.arm .nil [] (.build .none (.option .nat) [])), (.arm .cons [2, 3] (.«match» (.option .nat) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option .nat) [])), (.arm .eq [] (.build .some (.option .nat) [(.second (.var 2))])), (.arm .gt [] (.call 5 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0], types := [(.list (.pair .string .nat))], result := (.list .string), + body := (.«match» (.list .string) (.var 0) [(.arm .nil [] (.build .nil (.list .string) [])), (.arm .cons [1, 2] (.build .cons (.list .string) [(.first (.var 1)), (.call 6 [(.var 2)])]))]) }, + { parameters := [0], types := [(.list (.pair .string .nat))], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .nil (.list .nat) [])), (.arm .cons [1, 2] (.build .cons (.list .nat) [(.second (.var 1)), (.call 7 [(.var 2)])]))]) }, + { parameters := [0], types := [(.list (.pair .string .nat))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 9 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 8 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, + { parameters := [0], types := [.nat], result := .bool, + body := (.build .true .bool []) }, + { parameters := [0, 1, 2], types := [(.list (.pair .string .nat)), .string, .nat], result := (.option (.pair (.list (.pair .string .nat)) (.pair (.list (.pair .string .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat)))))))))), + body := (.cond (.call 8 [(.var 0)]) (.build .some (.option (.pair (.list (.pair .string .nat)) (.pair (.list (.pair .string .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat)))))))))) [(.call 0 [(.var 0), (.var 1), (.var 2)])]) (.build .none (.option (.pair (.list (.pair .string .nat)) (.pair (.list (.pair .string .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat)))))))))) [])) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str .nat)) }, { pattern := (.bind (.generated .binding 1)), type := .str }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.pair (.list (.pair .str .nat)) (.pair (.list (.pair .str .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .str) (.pair (.list .nat) (.pair .nat (.list (.pair .str .nat))))))))) (.mk [] (.pair (.call (.function 1) [(.clone (.generated .binding 0)), (.clone (.generated .binding 1)), (.copy (.generated .binding 2))] false) (.pair (.call (.function 2) [(.clone (.generated .binding 0)), (.clone (.generated .binding 1))] false) (.pair (.call (.function 3) [(.clone (.generated .binding 0)), (.clone (.generated .binding 1))] false) (.pair (.call (.function 4) [(.clone (.generated .binding 0)), (.move (.generated .binding 1))] false) (.pair (.call (.function 6) [(.clone (.generated .binding 0))] false) (.pair (.call (.function 7) [(.clone (.generated .binding 0))] false) (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 1))] false))) (.move (.generated .binding 0))))))))))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str .nat)) }, { pattern := (.bind (.generated .binding 1)), type := .str }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.list (.pair .str .nat)) (.mk [(.mk (.bind (.generated .holder 2)) none (.clone (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 2)) [(.mk .none (.mk [] (.construct .cons [(.pair (.move (.generated .binding 1)) (.copy (.generated .binding 2))), (.construct (.nil (.pair .str .nat)) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [(.mk (.bind (.generated .holder 6)) none (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.clone (.generated .binding 3)))] (.move (.generated .part 3)))))] (.call (.runtime .compare) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))))] (.matchOn (.move (.generated .holder 6)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.pair (.move (.generated .binding 1)) (.copy (.generated .binding 2))), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.construct .cons [(.pair (.move (.generated .binding 1)) (.copy (.generated .binding 2))), (.move (.generated .binding 4))]))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.move (.generated .binding 3)), (.call (.function 1) [(.move (.generated .binding 4)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)])))])))]))), + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str .nat)) }, { pattern := (.bind (.generated .binding 1)), type := .str }] (.list (.pair .str .nat)) (.mk [(.mk (.bind (.generated .holder 7)) none (.clone (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 7)) [(.mk .none (.mk [] (.construct (.nil (.pair .str .nat)) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 10)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.clone (.generated .binding 2)))] (.move (.generated .part 8)))))] (.call (.runtime .compare) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))] (.matchOn (.move (.generated .holder 11)) [(.mk (.ordering .less) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 3)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.move (.generated .binding 2)), (.call (.function 2) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])))])))]))), + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str .nat)) }, { pattern := (.bind (.generated .binding 1)), type := .str }] (.option .nat) (.mk [(.mk (.bind (.generated .holder 12)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 12)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 15)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 13)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 13)))))] (.call (.runtime .compare) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false))))] (.matchOn (.move (.generated .holder 16)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 17))]) none (.move (.generated .binding 2)))] (.move (.generated .part 17))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 3) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])))]))), + (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str .nat)) }, { pattern := (.bind (.generated .binding 1)), type := .str }] .bool (.mk [(.mk (.bind (.generated .holder 18)) none (.call (.function 5) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 18)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some .wild) (.mk [] (.lit (.bool true))))]))), + (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str .nat)) }, { pattern := (.bind (.generated .binding 1)), type := .str }] (.option .nat) (.mk [(.mk (.bind (.generated .holder 19)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 19)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 23)) none (.block (.mk [(.mk (.bind (.generated .operand 21)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 20)))))] (.call (.runtime .compare) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false))))] (.matchOn (.move (.generated .holder 23)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.move (.generated .binding 2)))] (.move (.generated .part 24))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 5) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])))]))), + (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str .nat)) }] (.list .str) (.mk [(.mk (.bind (.generated .holder 25)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 25)) [(.mk .none (.mk [] (.construct (.nil .str) []))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.construct .cons [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 26)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 26)))), (.call (.function 6) [(.move (.generated .binding 2))] false)])))]))), + (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str .nat)) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 27)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 27)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.construct .cons [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 28))]) none (.move (.generated .binding 1)))] (.move (.generated .part 28)))), (.call (.function 7) [(.move (.generated .binding 2))] false)])))]))), + (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str .nat)) }] .bool (.mk [(.mk (.bind (.generated .holder 29)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 29)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 30))]) none (.move (.generated .binding 1)))] (.move (.generated .part 30))))] false) (.mk [(.mk (.bind (.generated .holder 31)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 31)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 36)) none (.block (.mk [(.mk (.bind (.generated .operand 34)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 32)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 32))))), (.mk (.bind (.generated .operand 35)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 33)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 33)))))] (.call (.runtime .compare) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] false))))] (.cond (.matchOn (.move (.generated .holder 36)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 8) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]))), + (.function (.generated .function 9) [{ pattern := .wild, type := .nat }] .bool (.mk [] (.lit (.bool true)))), + (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str .nat)) }, { pattern := (.bind (.generated .binding 1)), type := .str }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.option (.pair (.list (.pair .str .nat)) (.pair (.list (.pair .str .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .str) (.pair (.list .nat) (.pair .nat (.list (.pair .str .nat)))))))))) (.mk [] (.cond (.call (.function 8) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)])) (.mk [] (.construct (.none (.pair (.list (.pair .str .nat)) (.pair (.list (.pair .str .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .str) (.pair (.list .nat) (.pair .nat (.list (.pair .str .nat)))))))))) [])))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.pair (.call (.function 1) [(.clone (.generated .binding 0)), (.clone (.generated .binding 1)), (.copy (.generated .binding 2))] false) (.pair (.call (.function 2) [(.clone (.generated .binding 0)), (.clone (.generated .binding 1))] false) (.pair (.call (.function 3) [(.clone (.generated .binding 0)), (.clone (.generated .binding 1))] false) (.pair (.call (.function 4) [(.clone (.generated .binding 0)), (.move (.generated .binding 1))] false) (.pair (.call (.function 6) [(.clone (.generated .binding 0))] false) (.pair (.call (.function 7) [(.clone (.generated .binding 0))] false) (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 1))] false))) (.move (.generated .binding 0))))))))), [(2, .nat, (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))], rfl, rfl, + (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string .nat)), .string, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string .nat)), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string .nat)), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string .nat)), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 1))] false)) (Corr.prim (ts := [(.list (.pair .string .nat))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))))⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 2)) none (.clone (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 2)) [(.mk .none (.mk [] (.construct .cons [(.pair (.move (.generated .binding 1)) (.copy (.generated .binding 2))), (.construct (.nil (.pair .str .nat)) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [(.mk (.bind (.generated .holder 6)) none (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.clone (.generated .binding 3)))] (.move (.generated .part 3)))))] (.call (.runtime .compare) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))))] (.matchOn (.move (.generated .holder 6)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.pair (.move (.generated .binding 1)) (.copy (.generated .binding 2))), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.construct .cons [(.pair (.move (.generated .binding 1)) (.copy (.generated .binding 2))), (.move (.generated .binding 4))]))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.move (.generated .binding 3)), (.call (.function 1) [(.move (.generated .binding 4)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)])))])))]), [(2, .nat, (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair .string .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.pair (.move (.generated .binding 1)) (.copy (.generated .binding 2))), (.construct (.nil (.pair .str .nat)) [])])) (Corr.mCons (Γ' := [(4, (.list (.pair .string .nat)), (some 4)), (3, (.pair .string .nat), (some 3)), (2, .nat, (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 6)) none (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.clone (.generated .binding 3)))] (.move (.generated .part 3)))))] (.call (.runtime .compare) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))))]) (tail := (.matchOn (.move (.generated .holder 6)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.pair (.move (.generated .binding 1)) (.copy (.generated .binding 2))), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.construct .cons [(.pair (.move (.generated .binding 1)) (.copy (.generated .binding 2))), (.move (.generated .binding 4))]))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.move (.generated .binding 3)), (.call (.function 1) [(.move (.generated .binding 4)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)])))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 4)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.clone (.generated .binding 3)))] (.move (.generated .part 3)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false)) (Corr.prim (ts := [.string, .string]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.clone (.generated .binding 3)))]) (tail := (.move (.generated .part 3))) (Corr.first (ta := .string) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.pair .string .nat)), (some 4)), (3, (.pair .string .nat), (some 3)), (2, .nat, (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.pair (.move (.generated .binding 1)) (.copy (.generated .binding 2))), (.move (.generated .binding 0))])) (Corr.mCons (Γ' := [(4, (.list (.pair .string .nat)), (some 4)), (3, (.pair .string .nat), (some 3)), (2, .nat, (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .cons [(.pair (.move (.generated .binding 1)) (.copy (.generated .binding 2))), (.move (.generated .binding 4))])) (Corr.mCons (Γ' := [(4, (.list (.pair .string .nat)), (some 4)), (3, (.pair .string .nat), (some 3)), (2, .nat, (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.move (.generated .binding 3)), (.call (.function 1) [(.move (.generated .binding 4)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.pair .string .nat), (.list (.pair .string .nat))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string .nat)), .string, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [(.pair .string .nat), (.list (.pair .string .nat))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := [(.pair .string .nat), (.list (.pair .string .nat))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [(.pair .string .nat), (.list (.pair .string .nat))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 7)) none (.clone (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 7)) [(.mk .none (.mk [] (.construct (.nil (.pair .str .nat)) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 10)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.clone (.generated .binding 2)))] (.move (.generated .part 8)))))] (.call (.runtime .compare) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))] (.matchOn (.move (.generated .holder 11)) [(.mk (.ordering .less) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 3)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.move (.generated .binding 2)), (.call (.function 2) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])))])))]), [(1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair .string .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil (.pair .str .nat)) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .string .nat)), (some 3)), (2, (.pair .string .nat), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 10)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.clone (.generated .binding 2)))] (.move (.generated .part 8)))))] (.call (.runtime .compare) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))]) (tail := (.matchOn (.move (.generated .holder 11)) [(.mk (.ordering .less) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 3)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.move (.generated .binding 2)), (.call (.function 2) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 9)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 10)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.clone (.generated .binding 2)))] (.move (.generated .part 8)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false)) (Corr.prim (ts := [.string, .string]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.clone (.generated .binding 2)))]) (tail := (.move (.generated .part 8))) (Corr.first (ta := .string) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list (.pair .string .nat)), (some 3)), (2, (.pair .string .nat), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list (.pair .string .nat)), (some 3)), (2, (.pair .string .nat), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 3))) (Corr.mCons (Γ' := [(3, (.list (.pair .string .nat)), (some 3)), (2, (.pair .string .nat), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.move (.generated .binding 2)), (.call (.function 2) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.pair .string .nat), (.list (.pair .string .nat))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string .nat)), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 12)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 12)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 15)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 13)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 13)))))] (.call (.runtime .compare) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false))))] (.matchOn (.move (.generated .holder 16)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 17))]) none (.move (.generated .binding 2)))] (.move (.generated .part 17))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 3) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])))]), [(1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair .string .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .string .nat)), (some 3)), (2, (.pair .string .nat), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 15)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 13)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 13)))))] (.call (.runtime .compare) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false))))]) (tail := (.matchOn (.move (.generated .holder 16)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 17))]) none (.move (.generated .binding 2)))] (.move (.generated .part 17))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 3) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 14)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 15)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 13)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 13)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false)) (Corr.prim (ts := [.string, .string]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 13)), .wild]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 13))) (Corr.first (ta := .string) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list (.pair .string .nat)), (some 3)), (2, (.pair .string .nat), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .string .nat)), (some 3)), (2, (.pair .string .nat), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 17))]) none (.move (.generated .binding 2)))] (.move (.generated .part 17))))])) (Corr.mCons (Γ' := [(3, (.list (.pair .string .nat)), (some 3)), (2, (.pair .string .nat), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 3) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .string .nat)), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 17))]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 17))) (Corr.second (ta := .string) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun4 : FunOK program krate flags 4 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 18)) none (.call (.function 5) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 18)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some .wild) (.mk [] (.lit (.bool true))))]), [(1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string .nat)), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(2, .nat, none), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun5 : FunOK program krate flags 5 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 19)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 19)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 23)) none (.block (.mk [(.mk (.bind (.generated .operand 21)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 20)))))] (.call (.runtime .compare) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false))))] (.matchOn (.move (.generated .holder 23)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.move (.generated .binding 2)))] (.move (.generated .part 24))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 5) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])))]), [(1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair .string .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .string .nat)), (some 3)), (2, (.pair .string .nat), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 23)) none (.block (.mk [(.mk (.bind (.generated .operand 21)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 20)))))] (.call (.runtime .compare) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false))))]) (tail := (.matchOn (.move (.generated .holder 23)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.move (.generated .binding 2)))] (.move (.generated .part 24))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 5) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 21)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 20)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false)) (Corr.prim (ts := [.string, .string]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 20))) (Corr.first (ta := .string) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list (.pair .string .nat)), (some 3)), (2, (.pair .string .nat), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .string .nat)), (some 3)), (2, (.pair .string .nat), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.move (.generated .binding 2)))] (.move (.generated .part 24))))])) (Corr.mCons (Γ' := [(3, (.list (.pair .string .nat)), (some 3)), (2, (.pair .string .nat), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 5) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .string .nat)), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 24))) (Corr.second (ta := .string) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun6 : FunOK program krate flags 6 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 25)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 25)) [(.mk .none (.mk [] (.construct (.nil .str) []))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.construct .cons [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 26)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 26)))), (.call (.function 6) [(.move (.generated .binding 2))] false)])))]), [(0, (.list (.pair .string .nat)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair .string .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair .string .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil .str) [])) (Corr.mCons (Γ' := [(2, (.list (.pair .string .nat)), (some 2)), (1, (.pair .string .nat), (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .cons [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 26)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 26)))), (.call (.function 6) [(.move (.generated .binding 2))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.string, (.list .string)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 26)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 26))) (Corr.first (ta := .string) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun7 : FunOK program krate flags 7 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 27)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 27)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.construct .cons [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 28))]) none (.move (.generated .binding 1)))] (.move (.generated .part 28)))), (.call (.function 7) [(.move (.generated .binding 2))] false)])))]), [(0, (.list (.pair .string .nat)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair .string .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair .string .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil .nat) [])) (Corr.mCons (Γ' := [(2, (.list (.pair .string .nat)), (some 2)), (1, (.pair .string .nat), (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .cons [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 28))]) none (.move (.generated .binding 1)))] (.move (.generated .part 28)))), (.call (.function 7) [(.move (.generated .binding 2))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 28))]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 28))) (Corr.second (ta := .string) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun8 : FunOK program krate flags 8 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 29)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 29)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 30))]) none (.move (.generated .binding 1)))] (.move (.generated .part 30))))] false) (.mk [(.mk (.bind (.generated .holder 31)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 31)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 36)) none (.block (.mk [(.mk (.bind (.generated .operand 34)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 32)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 32))))), (.mk (.bind (.generated .operand 35)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 33)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 33)))))] (.call (.runtime .compare) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] false))))] (.cond (.matchOn (.move (.generated .holder 36)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 8) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.pair .string .nat)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair .string .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair .string .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.pair .string .nat)), (some 2)), (1, (.pair .string .nat), (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 30))]) none (.move (.generated .binding 1)))] (.move (.generated .part 30))))] false) (.mk [(.mk (.bind (.generated .holder 31)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 31)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 36)) none (.block (.mk [(.mk (.bind (.generated .operand 34)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 32)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 32))))), (.mk (.bind (.generated .operand 35)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 33)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 33)))))] (.call (.runtime .compare) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] false))))] (.cond (.matchOn (.move (.generated .holder 36)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 8) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 30))]) none (.move (.generated .binding 1)))] (.move (.generated .part 30))))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 30))]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 30))) (Corr.second (ta := .string) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .holder 31)) none (.clone (.generated .binding 2)))]) (ta := (.matchOn (.uncons (.generated .holder 31)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 36)) none (.block (.mk [(.mk (.bind (.generated .operand 34)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 32)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 32))))), (.mk (.bind (.generated .operand 35)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 33)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 33)))))] (.call (.runtime .compare) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] false))))] (.cond (.matchOn (.move (.generated .holder 36)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 8) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (lb := []) (tb := (.lit (.bool false))) (Corr.matchArms (st := (.list (.pair .string .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.pair .string .nat)), (some 2)), (1, (.pair .string .nat), (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .string .nat)), none), (3, (.pair .string .nat), (some 3)), (2, (.list (.pair .string .nat)), (some 2)), (1, (.pair .string .nat), (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 36)) none (.block (.mk [(.mk (.bind (.generated .operand 34)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 32)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 32))))), (.mk (.bind (.generated .operand 35)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 33)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 33)))))] (.call (.runtime .compare) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 36)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 8) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 36)) none (.block (.mk [(.mk (.bind (.generated .operand 34)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 32)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 32))))), (.mk (.bind (.generated .operand 35)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 33)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 33)))))] (.call (.runtime .compare) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] false))))]) (ce := (.matchOn (.move (.generated .holder 36)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 34)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 32)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 32))))), (.mk (.bind (.generated .operand 35)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 33)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 33)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] false)) (Corr.prim (ts := [.string, .string]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 32)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 32))) (Corr.first (ta := .string) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 33)), .wild]) none (.move (.generated .binding 3)))]) (tail := (.move (.generated .part 33))) (Corr.first (ta := .string) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.pair .string .nat)), none), (3, (.pair .string .nat), (some 3)), (2, (.list (.pair .string .nat)), (some 2)), (1, (.pair .string .nat), (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .string .nat)), none), (3, (.pair .string .nat), (some 3)), (2, (.list (.pair .string .nat)), (some 2)), (1, (.pair .string .nat), (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list (.pair .string .nat)), none), (3, (.pair .string .nat), (some 3)), (2, (.list (.pair .string .nat)), (some 2)), (1, (.pair .string .nat), (some 1)), (0, (.list (.pair .string .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 8) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.pair .string .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun9 : FunOK program krate flags 9 := + ⟨_, rfl, .inl ⟨_, _, [], (.lit (.bool true)), [(0, .nat, none)], rfl, rfl, + (Corr.bOfE (Corr.buildConst rfl))⟩⟩ + +theorem fun10 : FunOK program krate flags 10 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 8) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)])) (.mk [] (.construct (.none (.pair (.list (.pair .str .nat)) (.pair (.list (.pair .str .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .str) (.pair (.list .nat) (.pair .nat (.list (.pair .str .nat)))))))))) []))), [(2, .nat, (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string .nat)), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 8) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair .string .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)])) (lb := []) (tb := (.construct (.none (.pair (.list (.pair .str .nat)) (.pair (.list (.pair .str .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .str) (.pair (.list .nat) (.pair .nat (.list (.pair .str .nat)))))))))) [])) (Corr.build (ts := [(.pair (.list (.pair .string .nat)) (.pair (.list (.pair .string .nat)) (.pair (.option .nat) (.pair .bool (.pair (.list .string) (.pair (.list .nat) (.pair .nat (.list (.pair .string .nat)))))))))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string .nat)), .string, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | 4 => exact fun4 + | 5 => exact fun5 + | 6 => exact fun6 + | 7 => exact fun7 + | 8 => exact fun8 + | 9 => exact fun9 + | 10 => exact fun10 + | _ + 11 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10.lean new file mode 100644 index 000000000..dcad1c0fc --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10.lean @@ -0,0 +1,40 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Coverage.Boundary +import Coverage.Colls +import Coverage.Main +import Coverage.Prims +import Coverage.RecRoots +import Coverage.Recur +import Coverage.Syntax +import Coverage.Types +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [.nat, .nat], result := .nat, + body := (.«let» 2 .nat (.prim .natQuot [(.var 0), (.var 1), (.value .nat (.nat 7))]) (.«let» 3 .nat (.prim .natRem [(.var 0), (.var 1), (.value .nat (.nat 0))]) (.cond (.cond (.prim .natEq [(.var 2), (.value .nat (.nat 0))]) (.cond (.prim .natLe [(.var 3), (.value .nat (.nat 3))]) (.build .true .bool []) (.prim .boolNot [(.prim .natLt [(.var 0), (.var 1)])])) (.build .false .bool [])) (.prim .natAdd [(.prim .natSub [(.var 0), (.var 1)]), (.var 3)]) (.prim .natMul [(.var 2), (.var 3)])))) }] } + +def __fits_0 (a : Nat) (b : Nat) : Bool := + (((Bool.true && (Bool.true && (Bool.true && Bool.true))) && Bool.true) && (let q : Nat := (_root_.LexLeanRuntime.quotient (a) (b) ((7 : Nat)) : Nat); (((Bool.true && (Bool.true && (Bool.true && Bool.true))) && Bool.true) && (let r : Nat := (_root_.LexLeanRuntime.remainder (a) (b) ((0 : Nat)) : Nat); ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq q (0 : Nat)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.ble r (3 : Nat)) then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (Bool.true && Bool.true))) && (if ((Nat.beq q (0 : Nat)) && ((Nat.ble r (3 : Nat)) || (!(Nat.blt a b)))) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && (Nat.blt ((_root_.LexLeanRuntime.subtract (a) (b) : Nat) + r) 18446744073709551616)) else ((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (_root_.LexLeanRuntime.multiply (q) (r) : Nat) 18446744073709551616)))))))) + +theorem __rel_0 (a : Nat) (b : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)] (_root_.LexLeanPreservation.Rel (__fits_0 a b) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Main.natOps a b))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (let q : Nat := (_root_.LexLeanRuntime.quotient (a) (b) ((7 : Nat)) : Nat); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.prim_natQuot a b (7 : Nat))) (let r : Nat := (_root_.LexLeanRuntime.remainder (a) (b) ((0 : Nat)) : Nat); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.prim_natRem a b (0 : Nat))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && (Nat.blt ((_root_.LexLeanRuntime.subtract (a) (b) : Nat) + r) 18446744073709551616)) else ((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (_root_.LexLeanRuntime.multiply (q) (r) : Nat) 18446744073709551616)))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.nat (if __b then ((_root_.LexLeanRuntime.subtract (a) (b) : Nat) + r) else (_root_.LexLeanRuntime.multiply (q) (r) : Nat))) ((Nat.beq q (0 : Nat)) && ((Nat.ble r (3 : Nat)) || (!(Nat.blt a b)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.ble r (3 : Nat)) then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.ble r (3 : Nat)) || (!(Nat.blt a b))))) (Nat.beq q (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq q (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b || (!(Nat.blt a b)))) (Nat.ble r (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe r (3 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt a b)) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_boolNot (Nat.blt a b)))))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub a b)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (_root_.LexLeanRuntime.subtract (a) (b) : Nat) r))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natMul q r)))))) + +def denote (a : Nat) (b : Nat) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 a b) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Main.natOps a b)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (a : Nat) (b : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)] (_root_.LexLeanPreservation.Rel (__fits_0 a b) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Main.natOps a b))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 a b) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10/Compose/RustCore.lean new file mode 100644 index 000000000..65e288659 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustCore +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustCore + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (a : Nat) (b : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10/Compose/RustStd.lean new file mode 100644 index 000000000..5c8e1630d --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustStd + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (a : Nat) (b : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10/RustCore.lean new file mode 100644 index 000000000..1cdbc7e20 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10/RustCore.lean @@ -0,0 +1,33 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustCore +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [.nat, .nat], result := .nat, + body := (.«let» 2 .nat (.prim .natQuot [(.var 0), (.var 1), (.value .nat (.nat 7))]) (.«let» 3 .nat (.prim .natRem [(.var 0), (.var 1), (.value .nat (.nat 0))]) (.cond (.cond (.prim .natEq [(.var 2), (.value .nat (.nat 0))]) (.cond (.prim .natLe [(.var 3), (.value .nat (.nat 3))]) (.build .true .bool []) (.prim .boolNot [(.prim .natLt [(.var 0), (.var 1)])])) (.build .false .bool [])) (.prim .natAdd [(.prim .natSub [(.var 0), (.var 1)]), (.var 3)]) (.prim .natMul [(.var 2), (.var 3)])))) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .core, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .binding 2)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 7)))] (.call (.runtime .natQuot) [(.move (.generated .operand 1)), (.move (.generated .operand 2)), (.move (.generated .operand 3))] false)))), (.mk (.bind (.generated .binding 3)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 0)))] (.call (.runtime .natRem) [(.move (.generated .operand 4)), (.move (.generated .operand 5)), (.move (.generated .operand 6))] false)))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 8)) none (.lit (.nat 0)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false) (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.call (.runtime .boolNot) [(.move (.generated .operand 13))] false)))) (.mk [] (.lit (.bool false)))) (.mk [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false)))), (.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 3)))] (.call (.runtime .natAdd) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false)) (.mk [(.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false)))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 7)))] (.call (.runtime .natQuot) [(.move (.generated .operand 1)), (.move (.generated .operand 2)), (.move (.generated .operand 3))] false)))), (.mk (.bind (.generated .binding 3)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 0)))] (.call (.runtime .natRem) [(.move (.generated .operand 4)), (.move (.generated .operand 5)), (.move (.generated .operand 6))] false)))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 8)) none (.lit (.nat 0)))], (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false) (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.call (.runtime .boolNot) [(.move (.generated .operand 13))] false)))) (.mk [] (.lit (.bool false)))) (.mk [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false)))), (.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 3)))] (.call (.runtime .natAdd) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false)) (.mk [(.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 7)))]) (tail := (.call (.runtime .natQuot) [(.move (.generated .operand 1)), (.move (.generated .operand 2)), (.move (.generated .operand 3))] false)) (Corr.prim (ts := [.nat, .nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 0)))]) (tail := (.call (.runtime .natRem) [(.move (.generated .operand 4)), (.move (.generated .operand 5)), (.move (.generated .operand 6))] false)) (Corr.prim (ts := [.nat, .nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl (Corr.cond (lc := [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 8)) none (.lit (.nat 0)))]) (ce := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false) (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.call (.runtime .boolNot) [(.move (.generated .operand 13))] false)))) (.mk [] (.lit (.bool false))))) (lk := []) (Corr.cond (lc := [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 8)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 3)))]) (ta := (.cond (.call (.runtime .natLe) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.call (.runtime .boolNot) [(.move (.generated .operand 13))] false)))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natLe) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))]) (tb := (.call (.runtime .boolNot) [(.move (.generated .operand 13))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.prim (ts := [.bool]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natLt) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl))) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.kIf (la := [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false)))), (.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 3)))]) (ta := (.call (.runtime .natAdd) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false)) (lb := [(.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 3)))]) (tb := (.call (.runtime .natMul) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false)) (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | _ + 1 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10/RustStd.lean new file mode 100644 index 000000000..ec1fb5a6c --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10/RustStd.lean @@ -0,0 +1,33 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [.nat, .nat], result := .nat, + body := (.«let» 2 .nat (.prim .natQuot [(.var 0), (.var 1), (.value .nat (.nat 7))]) (.«let» 3 .nat (.prim .natRem [(.var 0), (.var 1), (.value .nat (.nat 0))]) (.cond (.cond (.prim .natEq [(.var 2), (.value .nat (.nat 0))]) (.cond (.prim .natLe [(.var 3), (.value .nat (.nat 3))]) (.build .true .bool []) (.prim .boolNot [(.prim .natLt [(.var 0), (.var 1)])])) (.build .false .bool [])) (.prim .natAdd [(.prim .natSub [(.var 0), (.var 1)]), (.var 3)]) (.prim .natMul [(.var 2), (.var 3)])))) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .binding 2)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 7)))] (.call (.runtime .natQuot) [(.move (.generated .operand 1)), (.move (.generated .operand 2)), (.move (.generated .operand 3))] false)))), (.mk (.bind (.generated .binding 3)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 0)))] (.call (.runtime .natRem) [(.move (.generated .operand 4)), (.move (.generated .operand 5)), (.move (.generated .operand 6))] false)))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 8)) none (.lit (.nat 0)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false) (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.call (.runtime .boolNot) [(.move (.generated .operand 13))] false)))) (.mk [] (.lit (.bool false)))) (.mk [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false)))), (.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 3)))] (.call (.runtime .natAdd) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false)) (.mk [(.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false)))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 7)))] (.call (.runtime .natQuot) [(.move (.generated .operand 1)), (.move (.generated .operand 2)), (.move (.generated .operand 3))] false)))), (.mk (.bind (.generated .binding 3)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 0)))] (.call (.runtime .natRem) [(.move (.generated .operand 4)), (.move (.generated .operand 5)), (.move (.generated .operand 6))] false)))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 8)) none (.lit (.nat 0)))], (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false) (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.call (.runtime .boolNot) [(.move (.generated .operand 13))] false)))) (.mk [] (.lit (.bool false)))) (.mk [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false)))), (.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 3)))] (.call (.runtime .natAdd) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false)) (.mk [(.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 7)))]) (tail := (.call (.runtime .natQuot) [(.move (.generated .operand 1)), (.move (.generated .operand 2)), (.move (.generated .operand 3))] false)) (Corr.prim (ts := [.nat, .nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 0)))]) (tail := (.call (.runtime .natRem) [(.move (.generated .operand 4)), (.move (.generated .operand 5)), (.move (.generated .operand 6))] false)) (Corr.prim (ts := [.nat, .nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl (Corr.cond (lc := [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 8)) none (.lit (.nat 0)))]) (ce := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false) (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.call (.runtime .boolNot) [(.move (.generated .operand 13))] false)))) (.mk [] (.lit (.bool false))))) (lk := []) (Corr.cond (lc := [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 8)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 3)))]) (ta := (.cond (.call (.runtime .natLe) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.call (.runtime .boolNot) [(.move (.generated .operand 13))] false)))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natLe) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))]) (tb := (.call (.runtime .boolNot) [(.move (.generated .operand 13))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.prim (ts := [.bool]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natLt) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl))) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.kIf (la := [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false)))), (.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 3)))]) (ta := (.call (.runtime .natAdd) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false)) (lb := [(.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 3)))]) (tb := (.call (.runtime .natMul) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false)) (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | _ + 1 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11.lean new file mode 100644 index 000000000..46de2e2f3 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11.lean @@ -0,0 +1,40 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Coverage.Boundary +import Coverage.Colls +import Coverage.Main +import Coverage.Prims +import Coverage.RecRoots +import Coverage.Recur +import Coverage.Syntax +import Coverage.Types +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [.int, .int], result := .int, + body := (.prim .intSub [(.prim .intMul [(.var 0), (.value .int (.int (-3)))]), (.prim .intNeg [(.prim .intRem [(.prim .intQuot [(.var 0), (.var 1), (.value .int (.int 1))]), (.var 1), (.value .int (.int 0))])])]) }] } + +def __fits_0 (a : Int) (b : Int) : Bool := + ((((Bool.true && (Bool.true && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.multiply (a) ((-3 : Int)) : Int))) && (((((((Bool.true && (Bool.true && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.quotient (a) (b) ((1 : Int)) : Int))) && (Bool.true && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.remainder ((_root_.LexLeanRuntime.quotient (a) (b) ((1 : Int)) : Int)) (b) ((0 : Int)) : Int))) && Bool.true) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.remainder ((_root_.LexLeanRuntime.quotient (a) (b) ((1 : Int)) : Int)) (b) ((0 : Int)) : Int)) : Int))) && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.subtract ((_root_.LexLeanRuntime.multiply (a) ((-3 : Int)) : Int)) ((_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.remainder ((_root_.LexLeanRuntime.quotient (a) (b) ((1 : Int)) : Int)) (b) ((0 : Int)) : Int)) : Int)) : Int))) + +theorem __rel_0 (a : Int) (b : Int) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.int a), (_root_.LexLeanTarget.TargetSyntax.Value.int b)] (_root_.LexLeanPreservation.Rel (__fits_0 a b) (_root_.LexLeanTarget.TargetSyntax.Value.int (Coverage.Main.intOps a b))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intMul a (-3 : Int))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.prim_intQuot a b (1 : Int))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.prim_intRem (_root_.LexLeanRuntime.quotient (a) (b) ((1 : Int)) : Int) b (0 : Int))) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_intNeg (_root_.LexLeanRuntime.remainder ((_root_.LexLeanRuntime.quotient (a) (b) ((1 : Int)) : Int)) (b) ((0 : Int)) : Int))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intSub (_root_.LexLeanRuntime.multiply (a) ((-3 : Int)) : Int) (_root_.LexLeanRuntime.negate ((_root_.LexLeanRuntime.remainder ((_root_.LexLeanRuntime.quotient (a) (b) ((1 : Int)) : Int)) (b) ((0 : Int)) : Int)) : Int))) + +def denote (a : Int) (b : Int) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 a b) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.int (Coverage.Main.intOps a b)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (a : Int) (b : Int) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.int a), (_root_.LexLeanTarget.TargetSyntax.Value.int b)] (_root_.LexLeanPreservation.Rel (__fits_0 a b) (_root_.LexLeanTarget.TargetSyntax.Value.int (Coverage.Main.intOps a b))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 a b) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11/Compose/RustCore.lean new file mode 100644 index 000000000..d25fd5bd2 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustCore +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustCore + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (a : Int) (b : Int) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.int a), (_root_.LexLeanTarget.TargetSyntax.Value.int b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.int a), (_root_.LexLeanTarget.TargetSyntax.Value.int b)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_int a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_int b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11/Compose/RustStd.lean new file mode 100644 index 000000000..d09a1aa72 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustStd + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (a : Int) (b : Int) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.int a), (_root_.LexLeanTarget.TargetSyntax.Value.int b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.int a), (_root_.LexLeanTarget.TargetSyntax.Value.int b)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_int a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_int b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11/RustCore.lean new file mode 100644 index 000000000..f20518e06 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11/RustCore.lean @@ -0,0 +1,33 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustCore +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [.int, .int], result := .int, + body := (.prim .intSub [(.prim .intMul [(.var 0), (.value .int (.int (-3)))]), (.prim .intNeg [(.prim .intRem [(.prim .intQuot [(.var 0), (.var 1), (.value .int (.int 1))]), (.var 1), (.value .int (.int 0))])])]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .core, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .int }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.fallible .int) (.mk [(.mk (.bind (.generated .operand 10)) none (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.int (-3))))] (.call (.runtime .intMul) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true)))), (.mk (.bind (.generated .operand 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.lit (.int 1)))] (.call (.runtime .intQuot) [(.move (.generated .operand 3)), (.move (.generated .operand 4)), (.move (.generated .operand 5))] true)))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.lit (.int 0)))] (.call (.runtime .intRem) [(.move (.generated .operand 6)), (.move (.generated .operand 7)), (.move (.generated .operand 8))] false))))] (.call (.runtime .intNeg) [(.move (.generated .operand 9))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false)))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 10)) none (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.int (-3))))] (.call (.runtime .intMul) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true)))), (.mk (.bind (.generated .operand 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.lit (.int 1)))] (.call (.runtime .intQuot) [(.move (.generated .operand 3)), (.move (.generated .operand 4)), (.move (.generated .operand 5))] true)))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.lit (.int 0)))] (.call (.runtime .intRem) [(.move (.generated .operand 6)), (.move (.generated .operand 7)), (.move (.generated .operand 8))] false))))] (.call (.runtime .intNeg) [(.move (.generated .operand 9))] true))))], (.call (.runtime .intSub) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false), [(1, .int, (some 1)), (0, .int, (some 0))], rfl, rfl, + (Corr.primF (ts := [.int, .int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.int (-3))))]) (tail := (.call (.runtime .intMul) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.lit (.int 1)))] (.call (.runtime .intQuot) [(.move (.generated .operand 3)), (.move (.generated .operand 4)), (.move (.generated .operand 5))] true)))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.lit (.int 0)))] (.call (.runtime .intRem) [(.move (.generated .operand 6)), (.move (.generated .operand 7)), (.move (.generated .operand 8))] false))))]) (tail := (.call (.runtime .intNeg) [(.move (.generated .operand 9))] true)) (Corr.prim (ts := [.int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 6)) none (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.lit (.int 1)))] (.call (.runtime .intQuot) [(.move (.generated .operand 3)), (.move (.generated .operand 4)), (.move (.generated .operand 5))] true)))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.lit (.int 0)))]) (tail := (.call (.runtime .intRem) [(.move (.generated .operand 6)), (.move (.generated .operand 7)), (.move (.generated .operand 8))] false)) (Corr.prim (ts := [.int, .int, .int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.lit (.int 1)))]) (tail := (.call (.runtime .intQuot) [(.move (.generated .operand 3)), (.move (.generated .operand 4)), (.move (.generated .operand 5))] true)) (Corr.prim (ts := [.int, .int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | _ + 1 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11/RustStd.lean new file mode 100644 index 000000000..da94be4db --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11/RustStd.lean @@ -0,0 +1,33 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [.int, .int], result := .int, + body := (.prim .intSub [(.prim .intMul [(.var 0), (.value .int (.int (-3)))]), (.prim .intNeg [(.prim .intRem [(.prim .intQuot [(.var 0), (.var 1), (.value .int (.int 1))]), (.var 1), (.value .int (.int 0))])])]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .int }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.fallible .int) (.mk [(.mk (.bind (.generated .operand 10)) none (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.int (-3))))] (.call (.runtime .intMul) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true)))), (.mk (.bind (.generated .operand 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.lit (.int 1)))] (.call (.runtime .intQuot) [(.move (.generated .operand 3)), (.move (.generated .operand 4)), (.move (.generated .operand 5))] true)))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.lit (.int 0)))] (.call (.runtime .intRem) [(.move (.generated .operand 6)), (.move (.generated .operand 7)), (.move (.generated .operand 8))] false))))] (.call (.runtime .intNeg) [(.move (.generated .operand 9))] true))))] (.call (.runtime .intSub) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false)))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 10)) none (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.int (-3))))] (.call (.runtime .intMul) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true)))), (.mk (.bind (.generated .operand 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.lit (.int 1)))] (.call (.runtime .intQuot) [(.move (.generated .operand 3)), (.move (.generated .operand 4)), (.move (.generated .operand 5))] true)))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.lit (.int 0)))] (.call (.runtime .intRem) [(.move (.generated .operand 6)), (.move (.generated .operand 7)), (.move (.generated .operand 8))] false))))] (.call (.runtime .intNeg) [(.move (.generated .operand 9))] true))))], (.call (.runtime .intSub) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false), [(1, .int, (some 1)), (0, .int, (some 0))], rfl, rfl, + (Corr.primF (ts := [.int, .int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.int (-3))))]) (tail := (.call (.runtime .intMul) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.lit (.int 1)))] (.call (.runtime .intQuot) [(.move (.generated .operand 3)), (.move (.generated .operand 4)), (.move (.generated .operand 5))] true)))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.lit (.int 0)))] (.call (.runtime .intRem) [(.move (.generated .operand 6)), (.move (.generated .operand 7)), (.move (.generated .operand 8))] false))))]) (tail := (.call (.runtime .intNeg) [(.move (.generated .operand 9))] true)) (Corr.prim (ts := [.int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 6)) none (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.lit (.int 1)))] (.call (.runtime .intQuot) [(.move (.generated .operand 3)), (.move (.generated .operand 4)), (.move (.generated .operand 5))] true)))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.lit (.int 0)))]) (tail := (.call (.runtime .intRem) [(.move (.generated .operand 6)), (.move (.generated .operand 7)), (.move (.generated .operand 8))] false)) (Corr.prim (ts := [.int, .int, .int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.lit (.int 1)))]) (tail := (.call (.runtime .intQuot) [(.move (.generated .operand 3)), (.move (.generated .operand 4)), (.move (.generated .operand 5))] true)) (Corr.prim (ts := [.int, .int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | _ + 1 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R12.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12.lean similarity index 75% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R12.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12.lean index 7879816fe..e47eb252e 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R12.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12.lean @@ -18,7 +18,7 @@ set_option maxRecDepth 100000 set_option maxHeartbeats 0 set_option synthInstance.maxHeartbeats 0 set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12 def __prog : _root_.LexLeanTarget.TargetSyntax.Program := { adts := [{ constructors := [[.nat], [.nat, .nat], []] }], functions := [ @@ -33,10 +33,10 @@ def __enc_0 : (Coverage.Types.Shape) -> _root_.LexLeanTarget.TargetSyntax.Value | Coverage.Types.Shape.empty => _root_.LexLeanTarget.TargetSyntax.Value.adt 2 [] def __fits_1 (shape : (Coverage.Types.Shape)) : Bool := - (Bool.true && (match shape with | Coverage.Types.Shape.circle r => ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (Coverage.Types.LexLeanRuntime.multiply (r) (r) : Nat) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt (Coverage.Types.LexLeanRuntime.multiply ((Coverage.Types.LexLeanRuntime.multiply (r) (r) : Nat)) ((3 : Nat)) : Nat) 18446744073709551616)) | Coverage.Types.Shape.rect w h => ((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (Coverage.Types.LexLeanRuntime.multiply (w) (h) : Nat) 18446744073709551616)) | Coverage.Types.Shape.empty => Bool.true)) + (Bool.true && (match shape with | Coverage.Types.Shape.circle r => ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (_root_.LexLeanRuntime.multiply (r) (r) : Nat) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt (_root_.LexLeanRuntime.multiply ((_root_.LexLeanRuntime.multiply (r) (r) : Nat)) ((3 : Nat)) : Nat) 18446744073709551616)) | Coverage.Types.Shape.rect w h => ((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (_root_.LexLeanRuntime.multiply (w) (h) : Nat) 18446744073709551616)) | Coverage.Types.Shape.empty => Bool.true)) theorem __rel_1 (shape : (Coverage.Types.Shape)) : _root_.LexLeanPreservation.FunRel __prog 1 [(__enc_0 shape)] (_root_.LexLeanPreservation.Rel (__fits_1 shape) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Types.area shape))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_0 (fun (__a : (Coverage.Types.Shape)) => (match __a with | Coverage.Types.Shape.circle r => ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (Coverage.Types.LexLeanRuntime.multiply (r) (r) : Nat) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt (Coverage.Types.LexLeanRuntime.multiply ((Coverage.Types.LexLeanRuntime.multiply (r) (r) : Nat)) ((3 : Nat)) : Nat) 18446744073709551616)) | Coverage.Types.Shape.rect w h => ((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (Coverage.Types.LexLeanRuntime.multiply (w) (h) : Nat) 18446744073709551616)) | Coverage.Types.Shape.empty => Bool.true)) (fun (__a : (Coverage.Types.Shape)) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match __a with | Coverage.Types.Shape.circle r => (Coverage.Types.LexLeanRuntime.multiply ((Coverage.Types.LexLeanRuntime.multiply (r) (r) : Nat)) ((3 : Nat)) : Nat) | Coverage.Types.Shape.rect w h => (Coverage.Types.LexLeanRuntime.multiply (w) (h) : Nat) | Coverage.Types.Shape.empty => (0 : Nat))) shape (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Coverage.Types.Shape)) _ => match __a with | Coverage.Types.Shape.circle r => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natMul r r)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natMul (Coverage.Types.LexLeanRuntime.multiply (r) (r) : Nat) (3 : Nat)))) | Coverage.Types.Shape.rect w h => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natMul w h)))) | Coverage.Types.Shape.empty => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value))))) + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_0 (fun (__a : (Coverage.Types.Shape)) => (match __a with | Coverage.Types.Shape.circle r => ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (_root_.LexLeanRuntime.multiply (r) (r) : Nat) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt (_root_.LexLeanRuntime.multiply ((_root_.LexLeanRuntime.multiply (r) (r) : Nat)) ((3 : Nat)) : Nat) 18446744073709551616)) | Coverage.Types.Shape.rect w h => ((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (_root_.LexLeanRuntime.multiply (w) (h) : Nat) 18446744073709551616)) | Coverage.Types.Shape.empty => Bool.true)) (fun (__a : (Coverage.Types.Shape)) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match __a with | Coverage.Types.Shape.circle r => (_root_.LexLeanRuntime.multiply ((_root_.LexLeanRuntime.multiply (r) (r) : Nat)) ((3 : Nat)) : Nat) | Coverage.Types.Shape.rect w h => (_root_.LexLeanRuntime.multiply (w) (h) : Nat) | Coverage.Types.Shape.empty => (0 : Nat))) shape (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Coverage.Types.Shape)) _ => match __a with | Coverage.Types.Shape.circle r => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natMul r r)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natMul (_root_.LexLeanRuntime.multiply (r) (r) : Nat) (3 : Nat)))) | Coverage.Types.Shape.rect w h => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natMul w h)))) | Coverage.Types.Shape.empty => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value))))) def __fits_0 (w : Nat) (h : Nat) : Bool := ((((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && (__fits_1 ((Coverage.Types.Shape.rect (w) (h) : (Coverage.Types.Shape))))) && (((((((Bool.true && Bool.true) && Bool.true) && Bool.true) && (__fits_1 ((Coverage.Types.Shape.circle (w) : (Coverage.Types.Shape))))) && ((((Bool.true && Bool.true) && Bool.true) && (__fits_1 ((Coverage.Types.Shape.empty : (Coverage.Types.Shape))))) && Bool.true)) && (Nat.blt ((Coverage.Types.area ((Coverage.Types.Shape.circle (w) : (Coverage.Types.Shape)))) + (Coverage.Types.area ((Coverage.Types.Shape.empty : (Coverage.Types.Shape))))) 18446744073709551616)) && Bool.true)) && (Nat.blt ((Coverage.Types.area ((Coverage.Types.Shape.rect (w) (h) : (Coverage.Types.Shape)))) + ((Coverage.Types.area ((Coverage.Types.Shape.circle (w) : (Coverage.Types.Shape)))) + (Coverage.Types.area ((Coverage.Types.Shape.empty : (Coverage.Types.Shape)))))) 18446744073709551616)) @@ -51,4 +51,4 @@ def denote (w : Nat) (h : Nat) : _root_.LexLeanPreservation.Obs := theorem root (w : Nat) (h : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w), (_root_.LexLeanTarget.TargetSyntax.Value.nat h)] (_root_.LexLeanPreservation.Rel (__fits_0 w h) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Main.shapes w h))) := _root_.LexLeanPreservation.run_of_funRel (__rel_0 w h) -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12 +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12/Compose/RustCore.lean new file mode 100644 index 000000000..fe1c9f513 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12/Compose/RustCore.lean @@ -0,0 +1,21 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustCore +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustCore + +theorem __wt_0 : ∀ (__v : (Coverage.Types.Shape)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustCore.program _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustCore.krate _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustCore.flags (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.__enc_0 __v) (.adt 0) + | Coverage.Types.Shape.circle __x0 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x0) _root_.LexLeanPreservation.Rust.wtl_nil) + | Coverage.Types.Shape.rect __x0 __x1 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x0) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x1) _root_.LexLeanPreservation.Rust.wtl_nil)) + | Coverage.Types.Shape.empty => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (w : Nat) (h : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat w), (_root_.LexLeanTarget.TargetSyntax.Value.nat h)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.denote w h) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat w), (_root_.LexLeanTarget.TargetSyntax.Value.nat h)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat w) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat h) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.root w h) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12/Compose/RustStd.lean new file mode 100644 index 000000000..a68eef604 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12/Compose/RustStd.lean @@ -0,0 +1,21 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustStd + +theorem __wt_0 : ∀ (__v : (Coverage.Types.Shape)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustStd.program _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustStd.krate _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustStd.flags (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.__enc_0 __v) (.adt 0) + | Coverage.Types.Shape.circle __x0 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x0) _root_.LexLeanPreservation.Rust.wtl_nil) + | Coverage.Types.Shape.rect __x0 __x1 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x0) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x1) _root_.LexLeanPreservation.Rust.wtl_nil)) + | Coverage.Types.Shape.empty => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (w : Nat) (h : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat w), (_root_.LexLeanTarget.TargetSyntax.Value.nat h)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.denote w h) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat w), (_root_.LexLeanTarget.TargetSyntax.Value.nat h)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat w) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat h) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.root w h) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12/RustCore.lean new file mode 100644 index 000000000..e112b7902 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12/RustCore.lean @@ -0,0 +1,42 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustCore +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [{ constructors := [[.nat], [.nat, .nat], []] }], functions := [ + { parameters := [0, 1], types := [.nat, .nat], result := .nat, + body := (.prim .natAdd [(.call 1 [(.build (.adt 1) (.adt 0) [(.var 0), (.var 1)])]), (.prim .natAdd [(.call 1 [(.build (.adt 0) (.adt 0) [(.var 0)])]), (.call 1 [(.build (.adt 2) (.adt 0) [])])])]) }, + { parameters := [0], types := [(.adt 0)], result := .nat, + body := (.«match» .nat (.var 0) [(.arm (.adt 0) [1] (.prim .natMul [(.prim .natMul [(.var 1), (.var 1)]), (.value .nat (.nat 3))])), (.arm (.adt 1) [2, 3] (.prim .natMul [(.var 2), (.var 3)])), (.arm (.adt 2) [] (.value .nat (.nat 0)))]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .core, items := [ + (.enum (.adt 0) [{ number := 0, fields := [.nat] }, { number := 1, fields := [.nat, .nat] }, { number := 2, fields := [] }]), + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 3)) none (.call (.function 1) [(.construct (.adt 0 1) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))])] true)), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0))])] true)), (.mk (.bind (.generated .operand 2)) none (.call (.function 1) [(.construct (.adt 0 2) [])] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true))))] (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 5)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 5)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1))]) (.mk [(.mk (.bind (.generated .operand 8)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1)))] (.call (.runtime .natMul) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] true)))), (.mk (.bind (.generated .operand 9)) none (.lit (.nat 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false))), (.mk (.adt 0 1 [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))]) (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false))), (.mk (.adt 0 2 []) (.mk [] (.succeed (.lit (.nat 0)))))])))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 3)) none (.call (.function 1) [(.construct (.adt 0 1) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))])] true)), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0))])] true)), (.mk (.bind (.generated .operand 2)) none (.call (.function 1) [(.construct (.adt 0 2) [])] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true))))], (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0))])] true)), (.mk (.bind (.generated .operand 2)) none (.call (.function 1) [(.construct (.adt 0 2) [])] true))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 5)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 5)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1))]) (.mk [(.mk (.bind (.generated .operand 8)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1)))] (.call (.runtime .natMul) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] true)))), (.mk (.bind (.generated .operand 9)) none (.lit (.nat 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false))), (.mk (.adt 0 1 [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))]) (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false))), (.mk (.adt 0 2 []) (.mk [] (.succeed (.lit (.nat 0)))))]), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := [(.mk (.bind (.generated .operand 8)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1)))] (.call (.runtime .natMul) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] true)))), (.mk (.bind (.generated .operand 9)) none (.lit (.nat 3)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false)) (Corr.mCons (Γ' := [(3, .nat, (some 3)), (2, .nat, (some 2)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 3)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false)) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 0)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl)⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | _ + 2 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12/RustStd.lean new file mode 100644 index 000000000..7d5728ed7 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12/RustStd.lean @@ -0,0 +1,42 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [{ constructors := [[.nat], [.nat, .nat], []] }], functions := [ + { parameters := [0, 1], types := [.nat, .nat], result := .nat, + body := (.prim .natAdd [(.call 1 [(.build (.adt 1) (.adt 0) [(.var 0), (.var 1)])]), (.prim .natAdd [(.call 1 [(.build (.adt 0) (.adt 0) [(.var 0)])]), (.call 1 [(.build (.adt 2) (.adt 0) [])])])]) }, + { parameters := [0], types := [(.adt 0)], result := .nat, + body := (.«match» .nat (.var 0) [(.arm (.adt 0) [1] (.prim .natMul [(.prim .natMul [(.var 1), (.var 1)]), (.value .nat (.nat 3))])), (.arm (.adt 1) [2, 3] (.prim .natMul [(.var 2), (.var 3)])), (.arm (.adt 2) [] (.value .nat (.nat 0)))]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.enum (.adt 0) [{ number := 0, fields := [.nat] }, { number := 1, fields := [.nat, .nat] }, { number := 2, fields := [] }]), + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 3)) none (.call (.function 1) [(.construct (.adt 0 1) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))])] true)), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0))])] true)), (.mk (.bind (.generated .operand 2)) none (.call (.function 1) [(.construct (.adt 0 2) [])] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true))))] (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 5)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 5)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1))]) (.mk [(.mk (.bind (.generated .operand 8)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1)))] (.call (.runtime .natMul) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] true)))), (.mk (.bind (.generated .operand 9)) none (.lit (.nat 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false))), (.mk (.adt 0 1 [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))]) (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false))), (.mk (.adt 0 2 []) (.mk [] (.succeed (.lit (.nat 0)))))])))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 3)) none (.call (.function 1) [(.construct (.adt 0 1) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))])] true)), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0))])] true)), (.mk (.bind (.generated .operand 2)) none (.call (.function 1) [(.construct (.adt 0 2) [])] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true))))], (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0))])] true)), (.mk (.bind (.generated .operand 2)) none (.call (.function 1) [(.construct (.adt 0 2) [])] true))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 5)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 5)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1))]) (.mk [(.mk (.bind (.generated .operand 8)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1)))] (.call (.runtime .natMul) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] true)))), (.mk (.bind (.generated .operand 9)) none (.lit (.nat 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false))), (.mk (.adt 0 1 [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))]) (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false))), (.mk (.adt 0 2 []) (.mk [] (.succeed (.lit (.nat 0)))))]), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := [(.mk (.bind (.generated .operand 8)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1)))] (.call (.runtime .natMul) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] true)))), (.mk (.bind (.generated .operand 9)) none (.lit (.nat 3)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false)) (Corr.mCons (Γ' := [(3, .nat, (some 3)), (2, .nat, (some 2)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 3)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false)) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 0)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl)⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | _ + 2 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R13.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R13.lean similarity index 98% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R13.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R13.lean index 35ed8ca44..c0df7b590 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R13.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R13.lean @@ -18,7 +18,7 @@ set_option maxRecDepth 100000 set_option maxHeartbeats 0 set_option synthInstance.maxHeartbeats 0 set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13 def __prog : _root_.LexLeanTarget.TargetSyntax.Program := { adts := [{ constructors := [[], [(.adt 0), .nat, (.adt 0)]] }], functions := [ @@ -52,4 +52,4 @@ def denote (n : Nat) : _root_.LexLeanPreservation.Obs := theorem root (n : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)] (_root_.LexLeanPreservation.Rel (__fits_0 n) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Main.treeTotal n))) := _root_.LexLeanPreservation.run_of_funRel (__rel_0 n) -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13 +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R13/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R13/Compose/RustStd.lean new file mode 100644 index 000000000..8524898ed --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R13/Compose/RustStd.lean @@ -0,0 +1,20 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.Compose.RustStd + +theorem __wt_0 : ∀ (__v : (Coverage.Types.Tree)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.RustStd.program _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.RustStd.krate _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.RustStd.flags (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.__enc_0 __v) (.adt 0) + | Coverage.Types.Tree.leaf => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Coverage.Types.Tree.node __x0 __x1 __x2 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 __x0) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x1) (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 __x2) _root_.LexLeanPreservation.Rust.wtl_nil))) + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (n : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.denote n) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat n) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.root n) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R13/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R13/RustStd.lean new file mode 100644 index 000000000..3f9c54648 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R13/RustStd.lean @@ -0,0 +1,42 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [{ constructors := [[], [(.adt 0), .nat, (.adt 0)]] }], functions := [ + { parameters := [0], types := [.nat], result := .nat, + body := (.call 1 [(.build (.adt 1) (.adt 0) [(.build (.adt 0) (.adt 0) []), (.var 0), (.build (.adt 1) (.adt 0) [(.build (.adt 0) (.adt 0) []), (.value .nat (.nat 5)), (.build (.adt 0) (.adt 0) [])])])]) }, + { parameters := [0], types := [(.adt 0)], result := .nat, + body := (.«match» .nat (.var 0) [(.arm (.adt 0) [] (.value .nat (.nat 0))), (.arm (.adt 1) [1, 2, 3] (.prim .natAdd [(.prim .natAdd [(.call 1 [(.var 1)]), (.var 2)]), (.call 1 [(.var 3)])]))]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.enum (.adt 0) [{ number := 0, fields := [] }, { number := 1, fields := [(.rc (.adt 0)), .nat, (.rc (.adt 0))] }]), + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [] (.call (.function 1) [(.construct (.adt 0 1) [(.box (.construct (.adt 0 0) [])), (.copy (.generated .binding 0)), (.box (.construct (.adt 0 1) [(.box (.construct (.adt 0 0) [])), (.lit (.nat 5)), (.box (.construct (.adt 0 0) []))]))])] false))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 []) (.mk [] (.succeed (.lit (.nat 0))))), (.mk (.adt 0 1 [(.bind (.generated .boxed 6)), (.bind (.generated .binding 2)), (.bind (.generated .boxed 7))]) (.mk [(.mk (.bind (.generated .binding 1)) none (.unbox (.generated .boxed 6))), (.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 7))), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.call (.function 1) [(.move (.generated .binding 1))] true)), (.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 2)))] (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)))), (.mk (.bind (.generated .operand 5)) none (.call (.function 1) [(.move (.generated .binding 3))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false)))])))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.construct (.adt 0 1) [(.box (.construct (.adt 0 0) [])), (.copy (.generated .binding 0)), (.box (.construct (.adt 0 1) [(.box (.construct (.adt 0 0) [])), (.lit (.nat 5)), (.box (.construct (.adt 0 0) []))]))])] false), [(0, .nat, (some 0))], rfl, rfl, + (Corr.callF (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.adt 0), .nat, (.adt 0)]) (mask := [true, false, true]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.adt 0), .nat, (.adt 0)]) (mask := [true, false, true]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))))) rfl)) (Corr.lNil))))) rfl)) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 []) (.mk [] (.succeed (.lit (.nat 0))))), (.mk (.adt 0 1 [(.bind (.generated .boxed 6)), (.bind (.generated .binding 2)), (.bind (.generated .boxed 7))]) (.mk [(.mk (.bind (.generated .binding 1)) none (.unbox (.generated .boxed 6))), (.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 7))), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.call (.function 1) [(.move (.generated .binding 1))] true)), (.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 2)))] (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)))), (.mk (.bind (.generated .operand 5)) none (.call (.function 1) [(.move (.generated .binding 3))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false)))]), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 0)))) (Corr.mCons (Γ' := [(3, (.adt 0), (some 3)), (2, .nat, (some 2)), (1, (.adt 0), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := [(.mk (.bind (.generated .binding 1)) none (.unbox (.generated .boxed 6))), (.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 7)))]) (lets := [(.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.call (.function 1) [(.move (.generated .binding 1))] true)), (.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 2)))] (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)))), (.mk (.bind (.generated .operand 5)) none (.call (.function 1) [(.move (.generated .binding 3))] true))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false)) (Corr.mNil) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 2)) none (.call (.function 1) [(.move (.generated .binding 1))] true)), (.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | _ + 2 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R14.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14.lean similarity index 98% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R14.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14.lean index 9d0812d6b..7c8e5852b 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R14.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14.lean @@ -18,7 +18,7 @@ set_option maxRecDepth 100000 set_option maxHeartbeats 0 set_option synthInstance.maxHeartbeats 0 set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14 def __prog : _root_.LexLeanTarget.TargetSyntax.Program := { adts := [{ constructors := [[.nat, .nat]] }, @@ -65,4 +65,4 @@ def denote (a : Nat) (b : Nat) : _root_.LexLeanPreservation.Obs := theorem root (a : Nat) (b : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)] (_root_.LexLeanPreservation.Rel (__fits_0 a b) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Coverage.Main.records a b))) := _root_.LexLeanPreservation.run_of_funRel (__rel_0 a b) -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14 +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14/Compose/RustCore.lean new file mode 100644 index 000000000..41e095d4a --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14/Compose/RustCore.lean @@ -0,0 +1,25 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustCore + +theorem __wt_0 : ∀ (__s : (Coverage.Types.Point)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore.program _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore.krate _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore.flags (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.__enc_0 __s) (.adt 0) := + fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).x) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).y) _root_.LexLeanPreservation.Rust.wtl_nil)) + +theorem __wt_1 : ∀ (__s : (Coverage.Types.Box Nat)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore.program _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore.krate _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore.flags (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.__enc_1 __s) (.adt 1) := + fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).content) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).count) _root_.LexLeanPreservation.Rust.wtl_nil)) + +theorem __wt_2 : ∀ (__s : (Coverage.Types.Weights)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore.program _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore.krate _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore.flags (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.__enc_2 __s) (.adt 2) := + fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).base) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).scale) _root_.LexLeanPreservation.Rust.wtl_nil)) + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (a : Nat) (b : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14/Compose/RustStd.lean new file mode 100644 index 000000000..be0a23b6f --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14/Compose/RustStd.lean @@ -0,0 +1,25 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustStd + +theorem __wt_0 : ∀ (__s : (Coverage.Types.Point)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd.program _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd.krate _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd.flags (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.__enc_0 __s) (.adt 0) := + fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).x) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).y) _root_.LexLeanPreservation.Rust.wtl_nil)) + +theorem __wt_1 : ∀ (__s : (Coverage.Types.Box Nat)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd.program _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd.krate _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd.flags (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.__enc_1 __s) (.adt 1) := + fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).content) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).count) _root_.LexLeanPreservation.Rust.wtl_nil)) + +theorem __wt_2 : ∀ (__s : (Coverage.Types.Weights)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd.program _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd.krate _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd.flags (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.__enc_2 __s) (.adt 2) := + fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).base) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).scale) _root_.LexLeanPreservation.Rust.wtl_nil)) + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (a : Nat) (b : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14/RustCore.lean new file mode 100644 index 000000000..0b859c3bf --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14/RustCore.lean @@ -0,0 +1,54 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [{ constructors := [[.nat, .nat]] }, + { constructors := [[.nat, .nat]] }, + { constructors := [[.nat, .nat]] }], functions := [ + { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat .nat), + body := (.«let» 2 (.adt 0) (.build (.adt 0) (.adt 0) [(.var 0), (.var 1)]) (.build .pair (.pair .nat .nat) [(.prim .natAdd [(.field (.var 2) 0), (.field (.call 1 []) 1)]), (.call 2 [(.build (.adt 0) (.adt 1) [(.field (.var 2) 1), (.value .nat (.nat 1))])])])) }, + { parameters := [], types := [], result := (.adt 2), + body := (.build (.adt 0) (.adt 2) [(.value .nat (.nat 2)), (.value .nat (.nat 3))]) }, + { parameters := [0], types := [(.adt 1)], result := .nat, + body := (.field (.var 0) 0) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .core, items := [ + (.enum (.adt 0) [{ number := 0, fields := [.nat, .nat] }]), + (.enum (.adt 1) [{ number := 0, fields := [.nat, .nat] }]), + (.enum (.adt 2) [{ number := 0, fields := [.nat, .nat] }]), + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair .nat .nat)) (.mk [(.mk (.bind (.generated .binding 2)) (some (.adt 0)) (.construct (.adt 0 0) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))]))] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.matchOn (.clone (.generated .binding 2)) [(.mk (.adt 0 0 [(.bind (.generated .part 1)), .wild]) (.mk [] (.move (.generated .part 1))))])), (.mk (.bind (.generated .operand 5)) none (.block (.mk [(.mk (.bind (.generated .holder 3)) none (.call (.function 1) [] false))] (.matchOn (.move (.generated .holder 3)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 2))]) (.mk [] (.move (.generated .part 2))))]))))] (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] true))) (.call (.function 2) [(.construct (.adt 1 0) [(.matchOn (.move (.generated .binding 2)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 6))]) (.mk [] (.move (.generated .part 6))))]), (.lit (.nat 1))])] false))))), + (.function (.generated .function 1) [] (.adt 2) (.mk [] (.construct (.adt 2 0) [(.lit (.nat 2)), (.lit (.nat 3))]))), + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .nat (.mk [] (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 7)), .wild]) (.mk [] (.move (.generated .part 7))))])))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some (.adt 0)) (.construct (.adt 0 0) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))]))], (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.matchOn (.clone (.generated .binding 2)) [(.mk (.adt 0 0 [(.bind (.generated .part 1)), .wild]) (.mk [] (.move (.generated .part 1))))])), (.mk (.bind (.generated .operand 5)) none (.block (.mk [(.mk (.bind (.generated .holder 3)) none (.call (.function 1) [] false))] (.matchOn (.move (.generated .holder 3)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 2))]) (.mk [] (.move (.generated .part 2))))]))))] (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] true))) (.call (.function 2) [(.construct (.adt 1 0) [(.matchOn (.move (.generated .binding 2)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 6))]) (.mk [] (.move (.generated .part 6))))]), (.lit (.nat 1))])] false))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.letBind (Corr.eOfBNil (Corr.build (ts := [.nat, .nat]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 4)) none (.matchOn (.clone (.generated .binding 2)) [(.mk (.adt 0 0 [(.bind (.generated .part 1)), .wild]) (.mk [] (.move (.generated .part 1))))])), (.mk (.bind (.generated .operand 5)) none (.block (.mk [(.mk (.bind (.generated .holder 3)) none (.call (.function 1) [] false))] (.matchOn (.move (.generated .holder 3)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 2))]) (.mk [] (.move (.generated .part 2))))]))))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat]) (rd := (.move (.generated .part 1))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 3)) none (.call (.function 1) [] false))]) (tail := (.matchOn (.move (.generated .holder 3)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 2))]) (.mk [] (.move (.generated .part 2))))])) (Corr.fieldHeld (ts := [.nat, .nat]) (rd := (.move (.generated .part 2))) (Corr.eOfBNil (Corr.callOps (ts := []) (Corr.opsNil) rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat]) (rd := (.move (.generated .part 6))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil)))))))⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 2 0) [(.lit (.nat 2)), (.lit (.nat 3))]), [], rfl, rfl, + (Corr.build (ts := [.nat, .nat]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl)⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [], (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 7)), .wild]) (.mk [] (.move (.generated .part 7))))]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.fieldRead (ts := [.nat, .nat]) (rd := (.move (.generated .part 7))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | _ + 3 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14/RustStd.lean new file mode 100644 index 000000000..5b24fefba --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14/RustStd.lean @@ -0,0 +1,54 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [{ constructors := [[.nat, .nat]] }, + { constructors := [[.nat, .nat]] }, + { constructors := [[.nat, .nat]] }], functions := [ + { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat .nat), + body := (.«let» 2 (.adt 0) (.build (.adt 0) (.adt 0) [(.var 0), (.var 1)]) (.build .pair (.pair .nat .nat) [(.prim .natAdd [(.field (.var 2) 0), (.field (.call 1 []) 1)]), (.call 2 [(.build (.adt 0) (.adt 1) [(.field (.var 2) 1), (.value .nat (.nat 1))])])])) }, + { parameters := [], types := [], result := (.adt 2), + body := (.build (.adt 0) (.adt 2) [(.value .nat (.nat 2)), (.value .nat (.nat 3))]) }, + { parameters := [0], types := [(.adt 1)], result := .nat, + body := (.field (.var 0) 0) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.enum (.adt 0) [{ number := 0, fields := [.nat, .nat] }]), + (.enum (.adt 1) [{ number := 0, fields := [.nat, .nat] }]), + (.enum (.adt 2) [{ number := 0, fields := [.nat, .nat] }]), + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair .nat .nat)) (.mk [(.mk (.bind (.generated .binding 2)) (some (.adt 0)) (.construct (.adt 0 0) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))]))] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.matchOn (.clone (.generated .binding 2)) [(.mk (.adt 0 0 [(.bind (.generated .part 1)), .wild]) (.mk [] (.move (.generated .part 1))))])), (.mk (.bind (.generated .operand 5)) none (.block (.mk [(.mk (.bind (.generated .holder 3)) none (.call (.function 1) [] false))] (.matchOn (.move (.generated .holder 3)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 2))]) (.mk [] (.move (.generated .part 2))))]))))] (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] true))) (.call (.function 2) [(.construct (.adt 1 0) [(.matchOn (.move (.generated .binding 2)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 6))]) (.mk [] (.move (.generated .part 6))))]), (.lit (.nat 1))])] false))))), + (.function (.generated .function 1) [] (.adt 2) (.mk [] (.construct (.adt 2 0) [(.lit (.nat 2)), (.lit (.nat 3))]))), + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .nat (.mk [] (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 7)), .wild]) (.mk [] (.move (.generated .part 7))))])))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some (.adt 0)) (.construct (.adt 0 0) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))]))], (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.matchOn (.clone (.generated .binding 2)) [(.mk (.adt 0 0 [(.bind (.generated .part 1)), .wild]) (.mk [] (.move (.generated .part 1))))])), (.mk (.bind (.generated .operand 5)) none (.block (.mk [(.mk (.bind (.generated .holder 3)) none (.call (.function 1) [] false))] (.matchOn (.move (.generated .holder 3)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 2))]) (.mk [] (.move (.generated .part 2))))]))))] (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] true))) (.call (.function 2) [(.construct (.adt 1 0) [(.matchOn (.move (.generated .binding 2)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 6))]) (.mk [] (.move (.generated .part 6))))]), (.lit (.nat 1))])] false))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.letBind (Corr.eOfBNil (Corr.build (ts := [.nat, .nat]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 4)) none (.matchOn (.clone (.generated .binding 2)) [(.mk (.adt 0 0 [(.bind (.generated .part 1)), .wild]) (.mk [] (.move (.generated .part 1))))])), (.mk (.bind (.generated .operand 5)) none (.block (.mk [(.mk (.bind (.generated .holder 3)) none (.call (.function 1) [] false))] (.matchOn (.move (.generated .holder 3)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 2))]) (.mk [] (.move (.generated .part 2))))]))))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat]) (rd := (.move (.generated .part 1))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 3)) none (.call (.function 1) [] false))]) (tail := (.matchOn (.move (.generated .holder 3)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 2))]) (.mk [] (.move (.generated .part 2))))])) (Corr.fieldHeld (ts := [.nat, .nat]) (rd := (.move (.generated .part 2))) (Corr.eOfBNil (Corr.callOps (ts := []) (Corr.opsNil) rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat]) (rd := (.move (.generated .part 6))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil)))))))⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 2 0) [(.lit (.nat 2)), (.lit (.nat 3))]), [], rfl, rfl, + (Corr.build (ts := [.nat, .nat]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl)⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [], (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 7)), .wild]) (.mk [] (.move (.generated .part 7))))]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.fieldRead (ts := [.nat, .nat]) (rd := (.move (.generated .part 7))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | _ + 3 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R15.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15.lean similarity index 97% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R15.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15.lean index 120ca9ab5..b1831a71a 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R15.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15.lean @@ -18,7 +18,7 @@ set_option maxRecDepth 100000 set_option maxHeartbeats 0 set_option synthInstance.maxHeartbeats 0 set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15 def __prog : _root_.LexLeanTarget.TargetSyntax.Program := { adts := [], functions := [ @@ -37,4 +37,4 @@ def denote (v : (Option Nat)) (r : (Except Bool Nat)) : _root_.LexLeanPreservati theorem root (v : (Option Nat)) (r : (Except Bool Nat)) : _root_.LexLeanPreservation.RunConv __prog 0 [((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) v), ((_root_.LexLeanPreservation.encExcept _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat) r)] (_root_.LexLeanPreservation.Rel (__fits_0 v r) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Main.options v r))) := _root_.LexLeanPreservation.run_of_funRel (__rel_0 v r) -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15 +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15/Compose/RustCore.lean new file mode 100644 index 000000000..4e92b2a9d --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustCore +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustCore + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (v : (Option Nat)) (r : (Except Bool Nat)) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) v), ((_root_.LexLeanPreservation.encExcept _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat) r)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.denote v r) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) v), ((_root_.LexLeanPreservation.encExcept _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat) r)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encOption _root_.LexLeanPreservation.Rust.wt_nat) v) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encExcept _root_.LexLeanPreservation.Rust.wt_bool _root_.LexLeanPreservation.Rust.wt_nat) r) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.root v r) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15/Compose/RustStd.lean new file mode 100644 index 000000000..75027742a --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustStd + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (v : (Option Nat)) (r : (Except Bool Nat)) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) v), ((_root_.LexLeanPreservation.encExcept _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat) r)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.denote v r) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) v), ((_root_.LexLeanPreservation.encExcept _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat) r)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encOption _root_.LexLeanPreservation.Rust.wt_nat) v) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encExcept _root_.LexLeanPreservation.Rust.wt_bool _root_.LexLeanPreservation.Rust.wt_nat) r) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.root v r) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15/RustCore.lean new file mode 100644 index 000000000..d54904a81 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15/RustCore.lean @@ -0,0 +1,33 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustCore +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [(.option .nat), (.result .nat .bool)], result := .nat, + body := (.prim .natAdd [(.«match» .nat (.var 0) [(.arm .none [] (.value .nat (.nat 0))), (.arm .some [2] (.var 2))]), (.«match» .nat (.var 1) [(.arm .ok [3] (.var 3)), (.arm .error [4] (.cond (.var 4) (.value .nat (.nat 1)) (.value .nat (.nat 2))))])]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .core, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.option .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.result .nat .bool) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 3)) none (.block (.mk [(.mk (.bind (.generated .holder 1)) none (.copy (.generated .binding 0)))] (.matchOn (.move (.generated .holder 1)) [(.mk .none (.mk [] (.lit (.nat 0)))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.copy (.generated .binding 2))))])))), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .holder 2)) none (.copy (.generated .binding 1)))] (.matchOn (.move (.generated .holder 2)) [(.mk (.ok (.bind (.generated .binding 3))) (.mk [] (.copy (.generated .binding 3)))), (.mk (.err (.bind (.generated .binding 4))) (.mk [] (.cond (.copy (.generated .binding 4)) (.mk [] (.lit (.nat 1))) (.mk [] (.lit (.nat 2))))))]))))] (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 3)) none (.block (.mk [(.mk (.bind (.generated .holder 1)) none (.copy (.generated .binding 0)))] (.matchOn (.move (.generated .holder 1)) [(.mk .none (.mk [] (.lit (.nat 0)))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.copy (.generated .binding 2))))])))), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .holder 2)) none (.copy (.generated .binding 1)))] (.matchOn (.move (.generated .holder 2)) [(.mk (.ok (.bind (.generated .binding 3))) (.mk [] (.copy (.generated .binding 3)))), (.mk (.err (.bind (.generated .binding 4))) (.mk [] (.cond (.copy (.generated .binding 4)) (.mk [] (.lit (.nat 1))) (.mk [] (.lit (.nat 2))))))]))))], (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false), [(1, (.result .nat .bool), (some 1)), (0, (.option .nat), (some 0))], rfl, rfl, + (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 1)) none (.copy (.generated .binding 0)))]) (tail := (.matchOn (.move (.generated .holder 1)) [(.mk .none (.mk [] (.lit (.nat 0)))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.copy (.generated .binding 2))))])) (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.result .nat .bool), (some 1)), (0, (.option .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.nat 0))) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.result .nat .bool), (some 1)), (0, (.option .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.copy (.generated .binding 2))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.value rfl rfl))) rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 2)) none (.copy (.generated .binding 1)))]) (tail := (.matchOn (.move (.generated .holder 2)) [(.mk (.ok (.bind (.generated .binding 3))) (.mk [] (.copy (.generated .binding 3)))), (.mk (.err (.bind (.generated .binding 4))) (.mk [] (.cond (.copy (.generated .binding 4)) (.mk [] (.lit (.nat 1))) (.mk [] (.lit (.nat 2))))))])) (Corr.matchArms (st := (.result .nat .bool)) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(3, .nat, (some 3)), (1, (.result .nat .bool), (some 1)), (0, (.option .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.copy (.generated .binding 3))) (Corr.mCons (Γ' := [(4, .bool, (some 4)), (1, (.result .nat .bool), (some 1)), (0, (.option .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.copy (.generated .binding 4)) (.mk [] (.lit (.nat 1))) (.mk [] (.lit (.nat 2))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.copy (.generated .binding 4))) (lk := []) (Corr.bOfE (Corr.var rfl rfl)) (Corr.kIf (la := []) (ta := (.lit (.nat 1))) (lb := []) (tb := (.lit (.nat 2))) (Corr.bOfE (Corr.value rfl rfl)) (Corr.bOfE (Corr.value rfl rfl))))) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | _ + 1 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15/RustStd.lean new file mode 100644 index 000000000..76007772a --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15/RustStd.lean @@ -0,0 +1,33 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [(.option .nat), (.result .nat .bool)], result := .nat, + body := (.prim .natAdd [(.«match» .nat (.var 0) [(.arm .none [] (.value .nat (.nat 0))), (.arm .some [2] (.var 2))]), (.«match» .nat (.var 1) [(.arm .ok [3] (.var 3)), (.arm .error [4] (.cond (.var 4) (.value .nat (.nat 1)) (.value .nat (.nat 2))))])]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.option .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.result .nat .bool) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 3)) none (.block (.mk [(.mk (.bind (.generated .holder 1)) none (.copy (.generated .binding 0)))] (.matchOn (.move (.generated .holder 1)) [(.mk .none (.mk [] (.lit (.nat 0)))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.copy (.generated .binding 2))))])))), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .holder 2)) none (.copy (.generated .binding 1)))] (.matchOn (.move (.generated .holder 2)) [(.mk (.ok (.bind (.generated .binding 3))) (.mk [] (.copy (.generated .binding 3)))), (.mk (.err (.bind (.generated .binding 4))) (.mk [] (.cond (.copy (.generated .binding 4)) (.mk [] (.lit (.nat 1))) (.mk [] (.lit (.nat 2))))))]))))] (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 3)) none (.block (.mk [(.mk (.bind (.generated .holder 1)) none (.copy (.generated .binding 0)))] (.matchOn (.move (.generated .holder 1)) [(.mk .none (.mk [] (.lit (.nat 0)))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.copy (.generated .binding 2))))])))), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .holder 2)) none (.copy (.generated .binding 1)))] (.matchOn (.move (.generated .holder 2)) [(.mk (.ok (.bind (.generated .binding 3))) (.mk [] (.copy (.generated .binding 3)))), (.mk (.err (.bind (.generated .binding 4))) (.mk [] (.cond (.copy (.generated .binding 4)) (.mk [] (.lit (.nat 1))) (.mk [] (.lit (.nat 2))))))]))))], (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false), [(1, (.result .nat .bool), (some 1)), (0, (.option .nat), (some 0))], rfl, rfl, + (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 1)) none (.copy (.generated .binding 0)))]) (tail := (.matchOn (.move (.generated .holder 1)) [(.mk .none (.mk [] (.lit (.nat 0)))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.copy (.generated .binding 2))))])) (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.result .nat .bool), (some 1)), (0, (.option .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.nat 0))) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.result .nat .bool), (some 1)), (0, (.option .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.copy (.generated .binding 2))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.value rfl rfl))) rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 2)) none (.copy (.generated .binding 1)))]) (tail := (.matchOn (.move (.generated .holder 2)) [(.mk (.ok (.bind (.generated .binding 3))) (.mk [] (.copy (.generated .binding 3)))), (.mk (.err (.bind (.generated .binding 4))) (.mk [] (.cond (.copy (.generated .binding 4)) (.mk [] (.lit (.nat 1))) (.mk [] (.lit (.nat 2))))))])) (Corr.matchArms (st := (.result .nat .bool)) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(3, .nat, (some 3)), (1, (.result .nat .bool), (some 1)), (0, (.option .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.copy (.generated .binding 3))) (Corr.mCons (Γ' := [(4, .bool, (some 4)), (1, (.result .nat .bool), (some 1)), (0, (.option .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.copy (.generated .binding 4)) (.mk [] (.lit (.nat 1))) (.mk [] (.lit (.nat 2))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.copy (.generated .binding 4))) (lk := []) (Corr.bOfE (Corr.var rfl rfl)) (Corr.kIf (la := []) (ta := (.lit (.nat 1))) (lb := []) (tb := (.lit (.nat 2))) (Corr.bOfE (Corr.value rfl rfl)) (Corr.bOfE (Corr.value rfl rfl))))) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | _ + 1 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R16.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16.lean similarity index 97% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R16.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16.lean index be683bad0..bb5c767b1 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R16.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16.lean @@ -18,7 +18,7 @@ set_option maxRecDepth 100000 set_option maxHeartbeats 0 set_option synthInstance.maxHeartbeats 0 set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16 def __prog : _root_.LexLeanTarget.TargetSyntax.Program := { adts := [], functions := [ @@ -37,4 +37,4 @@ def denote (n : Nat) : _root_.LexLeanPreservation.Obs := theorem root (n : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)] (_root_.LexLeanPreservation.Rel (__fits_0 n) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encExcept _root_.LexLeanPreservation.encUnit _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Coverage.Main.builders n))) := _root_.LexLeanPreservation.run_of_funRel (__rel_0 n) -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16 +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16/Compose/RustCore.lean new file mode 100644 index 000000000..568261578 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustCore +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustCore + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (n : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.denote n) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat n) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.root n) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16/Compose/RustStd.lean new file mode 100644 index 000000000..ee5a0e7ea --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustStd + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (n : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.denote n) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat n) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.root n) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16/RustCore.lean new file mode 100644 index 000000000..ff97edc54 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16/RustCore.lean @@ -0,0 +1,33 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustCore +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0], types := [.nat], result := (.pair (.option .nat) (.result .nat .unit)), + body := (.build .pair (.pair (.option .nat) (.result .nat .unit)) [(.build .some (.option .nat) [(.build .succ .nat [(.var 0)])]), (.cond (.prim .natLt [(.var 0), (.value .nat (.nat 3))]) (.build .ok (.result .nat .unit) [(.build .zero .nat [])]) (.build .error (.result .nat .unit) [(.build .unit .unit [])]))]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .core, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible (.pair (.option .nat) (.result .nat .unit))) (.mk [] (.succeed (.pair (.construct .some [(.call (.runtime .natSucc) [(.copy (.generated .binding 0))] true)]) (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false) (.mk [] (.construct (.ok .nat .unit) [(.lit (.nat 0))])) (.mk [] (.construct (.err .nat .unit) [(.lit .unit)])))))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.pair (.construct .some [(.call (.runtime .natSucc) [(.copy (.generated .binding 0))] true)]) (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false) (.mk [] (.construct (.ok .nat .unit) [(.lit (.nat 0))])) (.mk [] (.construct (.err .nat .unit) [(.lit .unit)]))))))), [(0, .nat, (some 0))], rfl, rfl, + (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildSucc (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) (Corr.lNil))) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 3)))]) (tail := (.cond (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false) (.mk [] (.construct (.ok .nat .unit) [(.lit (.nat 0))])) (.mk [] (.construct (.err .nat .unit) [(.lit .unit)])))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct (.ok .nat .unit) [(.lit (.nat 0))])) (lb := []) (tb := (.construct (.err .nat .unit) [(.lit .unit)])) (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))) rfl) (Corr.build (ts := [.unit]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))) rfl)))) (Corr.lNil))))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | _ + 1 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16/RustStd.lean new file mode 100644 index 000000000..c9524ac12 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16/RustStd.lean @@ -0,0 +1,33 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0], types := [.nat], result := (.pair (.option .nat) (.result .nat .unit)), + body := (.build .pair (.pair (.option .nat) (.result .nat .unit)) [(.build .some (.option .nat) [(.build .succ .nat [(.var 0)])]), (.cond (.prim .natLt [(.var 0), (.value .nat (.nat 3))]) (.build .ok (.result .nat .unit) [(.build .zero .nat [])]) (.build .error (.result .nat .unit) [(.build .unit .unit [])]))]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible (.pair (.option .nat) (.result .nat .unit))) (.mk [] (.succeed (.pair (.construct .some [(.call (.runtime .natSucc) [(.copy (.generated .binding 0))] true)]) (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false) (.mk [] (.construct (.ok .nat .unit) [(.lit (.nat 0))])) (.mk [] (.construct (.err .nat .unit) [(.lit .unit)])))))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.pair (.construct .some [(.call (.runtime .natSucc) [(.copy (.generated .binding 0))] true)]) (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false) (.mk [] (.construct (.ok .nat .unit) [(.lit (.nat 0))])) (.mk [] (.construct (.err .nat .unit) [(.lit .unit)]))))))), [(0, .nat, (some 0))], rfl, rfl, + (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildSucc (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) (Corr.lNil))) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 3)))]) (tail := (.cond (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false) (.mk [] (.construct (.ok .nat .unit) [(.lit (.nat 0))])) (.mk [] (.construct (.err .nat .unit) [(.lit .unit)])))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct (.ok .nat .unit) [(.lit (.nat 0))])) (lb := []) (tb := (.construct (.err .nat .unit) [(.lit .unit)])) (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))) rfl) (Corr.build (ts := [.unit]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))) rfl)))) (Corr.lNil))))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | _ + 1 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R17.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17.lean similarity index 95% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R17.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17.lean index 39618845e..23ab03b8f 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R17.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17.lean @@ -18,7 +18,7 @@ set_option maxRecDepth 100000 set_option maxHeartbeats 0 set_option synthInstance.maxHeartbeats 0 set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17 def __prog : _root_.LexLeanTarget.TargetSyntax.Program := { adts := [], functions := [ @@ -37,4 +37,4 @@ def denote (p : (Prod Nat Bool)) : _root_.LexLeanPreservation.Obs := theorem root (p : (Prod Nat Bool)) : _root_.LexLeanPreservation.RunConv __prog 0 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool) p)] (_root_.LexLeanPreservation.Rel (__fits_0 p) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat) (Coverage.Main.pairs p))) := _root_.LexLeanPreservation.run_of_funRel (__rel_0 p) -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17 +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17/Compose/RustCore.lean new file mode 100644 index 000000000..333799252 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustCore +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustCore + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (p : (Prod Nat Bool)) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool) p)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.denote p) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool) p)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_nat _root_.LexLeanPreservation.Rust.wt_bool) p) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.root p) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17/Compose/RustStd.lean new file mode 100644 index 000000000..9946da70c --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustStd + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (p : (Prod Nat Bool)) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool) p)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.denote p) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool) p)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_nat _root_.LexLeanPreservation.Rust.wt_bool) p) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.root p) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17/RustCore.lean new file mode 100644 index 000000000..82b40b89d --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17/RustCore.lean @@ -0,0 +1,33 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustCore +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0], types := [(.pair .nat .bool)], result := (.pair .bool .nat), + body := (.build .pair (.pair .bool .nat) [(.second (.var 0)), (.first (.var 0))]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .core, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .bool) }] (.pair .bool .nat) (.mk [] (.pair (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 1))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 1)))) (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 2)))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 1))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 1)))) (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 2))))), [(0, (.pair .nat .bool), (some 0))], rfl, rfl, + (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 1))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 1))) (Corr.second (ta := .nat) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 2))) (Corr.first (ta := .nat) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.lNil)))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | _ + 1 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17/RustStd.lean new file mode 100644 index 000000000..493894c67 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17/RustStd.lean @@ -0,0 +1,33 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0], types := [(.pair .nat .bool)], result := (.pair .bool .nat), + body := (.build .pair (.pair .bool .nat) [(.second (.var 0)), (.first (.var 0))]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .bool) }] (.pair .bool .nat) (.mk [] (.pair (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 1))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 1)))) (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 2)))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 1))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 1)))) (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 2))))), [(0, (.pair .nat .bool), (some 0))], rfl, rfl, + (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 1))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 1))) (Corr.second (ta := .nat) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 2))) (Corr.first (ta := .nat) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.lNil)))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | _ + 1 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18.lean new file mode 100644 index 000000000..f4809e44f --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18.lean @@ -0,0 +1,73 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Coverage.Boundary +import Coverage.Colls +import Coverage.Main +import Coverage.Prims +import Coverage.RecRoots +import Coverage.Recur +import Coverage.Syntax +import Coverage.Types +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [.nat, .nat], result := .nat, + body := (.«let» 2 .nat (.prim .natAdd [(.var 0), (.value .nat (.nat 1))]) (.prim .natAdd [(.call 1 [(.closure 2 [(.var 2), (.var 1)]), (.var 0)]), (.prim .natAdd [(.apply (.closure 3 [(.var 2)]) [(.var 0)]), (.call 1 [(.closure 4 []), (.var 1)])])])) }, + { parameters := [0, 1], types := [(.fn [.nat] .nat), .nat], result := .nat, + body := (.apply (.var 0) [(.apply (.var 0) [(.var 1)])]) }, + { parameters := [0, 1, 2], types := [.nat, .nat, .nat], result := .nat, + body := (.prim .natAdd [(.prim .natMul [(.var 2), (.var 0)]), (.var 1)]) }, + { parameters := [0, 1], types := [.nat, .nat], result := .nat, + body := (.prim .natSub [(.var 1), (.var 0)]) }, + { parameters := [0], types := [.nat], result := .nat, + body := (.prim .natAdd [(.var 0), (.var 0)]) }] } + +def __fits_1 (step : (Nat -> Nat)) (__ff_0 : Nat -> Bool) (value : Nat) : Bool := + (Bool.true && (((Bool.true && ((Bool.true && Bool.true) && (__ff_0 (value)))) && Bool.true) && (__ff_0 ((step (value)))))) + +theorem __rel_1 (step : (Nat -> Nat)) (__ff_0 : Nat -> Bool) (__fi_0 : Nat) (__fc_0 : List _root_.LexLeanTarget.TargetSyntax.Value) (__fh_0 : ∀ (__p0 : Nat), _root_.LexLeanPreservation.FunRel __prog __fi_0 (_root_.LexLeanRuntime.append __fc_0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat __p0)]) (_root_.LexLeanPreservation.Rel (__ff_0 __p0) (_root_.LexLeanTarget.TargetSyntax.Value.nat (step __p0)))) (value : Nat) : _root_.LexLeanPreservation.FunRel __prog 1 [(_root_.LexLeanTarget.TargetSyntax.Value.closure __fi_0 __fc_0), (_root_.LexLeanTarget.TargetSyntax.Value.nat value)] (_root_.LexLeanPreservation.Rel (__fits_1 step __ff_0 value) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Types.twice step value))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_apply (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_apply (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__fh_0 (value))) _root_.LexLeanPreservation.convL_nil) (__fh_0 ((step (value))))) + +def __fits_2 (k : Nat) (offset : Nat) (x : Nat) : Bool := + ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (_root_.LexLeanRuntime.multiply (x) (k) : Nat) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt ((_root_.LexLeanRuntime.multiply (x) (k) : Nat) + offset) 18446744073709551616)) + +theorem __rel_2 (k : Nat) (offset : Nat) (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat k), (_root_.LexLeanTarget.TargetSyntax.Value.nat offset), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_2 k offset x) (_root_.LexLeanTarget.TargetSyntax.Value.nat (((_root_.LexLeanRuntime.multiply (x) (k) : Nat) + offset)))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natMul x k)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (_root_.LexLeanRuntime.multiply (x) (k) : Nat) offset)) + +def __fits_3 (k : Nat) (y : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_3 (k : Nat) (y : Nat) : _root_.LexLeanPreservation.FunRel __prog 3 [(_root_.LexLeanTarget.TargetSyntax.Value.nat k), (_root_.LexLeanTarget.TargetSyntax.Value.nat y)] (_root_.LexLeanPreservation.Rel (__fits_3 k y) (_root_.LexLeanTarget.TargetSyntax.Value.nat ((_root_.LexLeanRuntime.subtract (y) (k) : Nat)))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub y k)) + +def __fits_4 (n : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (n + n) 18446744073709551616)) + +theorem __rel_4 (n : Nat) : _root_.LexLeanPreservation.FunRel __prog 4 [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)] (_root_.LexLeanPreservation.Rel (__fits_4 n) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Main.double n))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd n n)) + +def __fits_0 (base : Nat) (offset : Nat) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (base + (1 : Nat)) 18446744073709551616)) && (let k : Nat := (base + (1 : Nat)); (((((Bool.true && (Bool.true && Bool.true)) && (Bool.true && Bool.true)) && (__fits_1 ((fun (x : Nat) => ((_root_.LexLeanRuntime.multiply (x) (k) : Nat) + offset))) (fun (__p0 : Nat) => __fits_2 (k) (offset) __p0) (base))) && (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && ((__fits_3 (k)) (base)))) && (((Bool.true && (Bool.true && Bool.true)) && (__fits_1 ((Coverage.Main.double)) (fun (__p0 : Nat) => __fits_4 __p0) (offset))) && Bool.true)) && (Nat.blt (((fun (y : Nat) => (_root_.LexLeanRuntime.subtract (y) (k) : Nat)) (base)) + (Coverage.Types.twice ((Coverage.Main.double)) (offset))) 18446744073709551616)) && Bool.true)) && (Nat.blt ((Coverage.Types.twice ((fun (x : Nat) => ((_root_.LexLeanRuntime.multiply (x) (k) : Nat) + offset))) (base)) + (((fun (y : Nat) => (_root_.LexLeanRuntime.subtract (y) (k) : Nat)) (base)) + (Coverage.Types.twice ((Coverage.Main.double)) (offset)))) 18446744073709551616)))) + +attribute [local irreducible] Coverage.Types.twice in +theorem __rel_0 (base : Nat) (offset : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat base), (_root_.LexLeanTarget.TargetSyntax.Value.nat offset)] (_root_.LexLeanPreservation.Rel (__fits_0 base offset) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Main.higher base offset))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (let k : Nat := (base + (1 : Nat)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd base (1 : Nat))) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_1 ((fun (x : Nat) => ((_root_.LexLeanRuntime.multiply (x) (k) : Nat) + offset))) (fun (__p0 : Nat) => __fits_2 (k) (offset) __p0) (2) ([(_root_.LexLeanTarget.TargetSyntax.Value.nat k), (_root_.LexLeanTarget.TargetSyntax.Value.nat offset)]) (fun (__p0 : Nat) => __rel_2 (k) (offset) __p0) (base))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_apply (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) ((__rel_3 (k)) (base))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_1 ((Coverage.Main.double)) (fun (__p0 : Nat) => __fits_4 __p0) (4) ([]) (fun (__p0 : Nat) => __rel_4 __p0) (offset))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((fun (y : Nat) => (_root_.LexLeanRuntime.subtract (y) (k) : Nat)) (base)) (Coverage.Types.twice ((Coverage.Main.double)) (offset)))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (Coverage.Types.twice ((fun (x : Nat) => ((_root_.LexLeanRuntime.multiply (x) (k) : Nat) + offset))) (base)) (((fun (y : Nat) => (_root_.LexLeanRuntime.subtract (y) (k) : Nat)) (base)) + (Coverage.Types.twice ((Coverage.Main.double)) (offset)))))) + +def denote (base : Nat) (offset : Nat) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 base offset) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Main.higher base offset)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (base : Nat) (offset : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat base), (_root_.LexLeanTarget.TargetSyntax.Value.nat offset)] (_root_.LexLeanPreservation.Rel (__fits_0 base offset) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Main.higher base offset))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 base offset) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18/Compose/RustCore.lean new file mode 100644 index 000000000..8254c31fa --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustCore +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustCore + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (base : Nat) (offset : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat base), (_root_.LexLeanTarget.TargetSyntax.Value.nat offset)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.denote base offset) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat base), (_root_.LexLeanTarget.TargetSyntax.Value.nat offset)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat base) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat offset) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.root base offset) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18/Compose/RustStd.lean new file mode 100644 index 000000000..1151f9d00 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustStd + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (base : Nat) (offset : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat base), (_root_.LexLeanTarget.TargetSyntax.Value.nat offset)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.denote base offset) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat base), (_root_.LexLeanTarget.TargetSyntax.Value.nat offset)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat base) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat offset) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.root base offset) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18/RustCore.lean new file mode 100644 index 000000000..296cb92b6 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18/RustCore.lean @@ -0,0 +1,67 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustCore +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [.nat, .nat], result := .nat, + body := (.«let» 2 .nat (.prim .natAdd [(.var 0), (.value .nat (.nat 1))]) (.prim .natAdd [(.call 1 [(.closure 2 [(.var 2), (.var 1)]), (.var 0)]), (.prim .natAdd [(.apply (.closure 3 [(.var 2)]) [(.var 0)]), (.call 1 [(.closure 4 []), (.var 1)])])])) }, + { parameters := [0, 1], types := [(.fn [.nat] .nat), .nat], result := .nat, + body := (.apply (.var 0) [(.apply (.var 0) [(.var 1)])]) }, + { parameters := [0, 1, 2], types := [.nat, .nat, .nat], result := .nat, + body := (.prim .natAdd [(.prim .natMul [(.var 2), (.var 0)]), (.var 1)]) }, + { parameters := [0, 1], types := [.nat, .nat], result := .nat, + body := (.prim .natSub [(.var 1), (.var 0)]) }, + { parameters := [0], types := [.nat], result := .nat, + body := (.prim .natAdd [(.var 0), (.var 0)]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .core, items := [ + (.enum (.fn 0) [{ number := 2, fields := [.nat, .nat] }, { number := 3, fields := [.nat] }, { number := 4, fields := [] }]), + (.apply 0 [.nat] .nat true [{ function := 2, captures := [.copy, .copy], functionFallible := true }, { function := 3, captures := [.copy], functionFallible := false }, { function := 4, captures := [], functionFallible := true }]), + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .binding 2)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true)))), (.mk (.bind (.generated .operand 6)) none (.call (.function 1) [(.construct (.closure 0 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 1))]), (.copy (.generated .binding 0))] true)), (.mk (.bind (.generated .operand 7)) none (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .callee 3)) (some (.fn 0)) (.construct (.closure 0 3) [(.copy (.generated .binding 2))]))] (.apply (.generated .callee 3) [(.copy (.generated .binding 0))] true)))), (.mk (.bind (.generated .operand 5)) none (.call (.function 1) [(.construct (.closure 0 4) []), (.copy (.generated .binding 1))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] true))))] (.call (.runtime .natAdd) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 8) [(.block (.mk [(.mk (.bind (.generated .callee 9)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 9) [(.copy (.generated .binding 1))] true)))] false))), + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 12)) none (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0)))] (.call (.runtime .natMul) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true)))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false))), + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .nat (.mk [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 0)))] (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false))), + (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false)))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [(([.nat], .nat), true)] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true)))), (.mk (.bind (.generated .operand 6)) none (.call (.function 1) [(.construct (.closure 0 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 1))]), (.copy (.generated .binding 0))] true)), (.mk (.bind (.generated .operand 7)) none (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .callee 3)) (some (.fn 0)) (.construct (.closure 0 3) [(.copy (.generated .binding 2))]))] (.apply (.generated .callee 3) [(.copy (.generated .binding 0))] true)))), (.mk (.bind (.generated .operand 5)) none (.call (.function 1) [(.construct (.closure 0 4) []), (.copy (.generated .binding 1))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] true))))], (.call (.runtime .natAdd) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.fn [.nat] .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [.nat, .nat]) (mask := [false, false]) (af := true) (ff := true) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .callee 3)) (some (.fn 0)) (.construct (.closure 0 3) [(.copy (.generated .binding 2))]))] (.apply (.generated .callee 3) [(.copy (.generated .binding 0))] true)))), (.mk (.bind (.generated .operand 5)) none (.call (.function 1) [(.construct (.closure 0 4) []), (.copy (.generated .binding 1))] true))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 3)) (some (.fn 0)) (.construct (.closure 0 3) [(.copy (.generated .binding 2))]))]) (tail := (.apply (.generated .callee 3) [(.copy (.generated .binding 0))] true)) (Corr.apply (ps := [.nat]) (af := true) (Corr.eOfBNil (Corr.closure (caps := [.nat]) (mask := [false]) (af := true) (ff := false) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.fn [.nat] .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl))⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))], (.apply (.generated .callee 8) [(.block (.mk [(.mk (.bind (.generated .callee 9)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 9) [(.copy (.generated .binding 1))] true)))] false), [(1, .nat, (some 1)), (0, (.fn [.nat] .nat), (some 0))], rfl, rfl, + (Corr.applyF (ps := [.nat]) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 9)) (some (.fn 0)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 9) [(.copy (.generated .binding 1))] true)) (Corr.apply (ps := [.nat]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl)⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 12)) none (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0)))] (.call (.runtime .natMul) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true)))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))], (.call (.runtime .natAdd) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false), [(2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 0)))], (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun4 : FunOK program krate flags 4 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0)))], (.call (.runtime .natAdd) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false), [(0, .nat, (some 0))], rfl, rfl, + (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | 4 => exact fun4 + | _ + 5 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18/RustStd.lean new file mode 100644 index 000000000..58311def6 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18/RustStd.lean @@ -0,0 +1,67 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [.nat, .nat], result := .nat, + body := (.«let» 2 .nat (.prim .natAdd [(.var 0), (.value .nat (.nat 1))]) (.prim .natAdd [(.call 1 [(.closure 2 [(.var 2), (.var 1)]), (.var 0)]), (.prim .natAdd [(.apply (.closure 3 [(.var 2)]) [(.var 0)]), (.call 1 [(.closure 4 []), (.var 1)])])])) }, + { parameters := [0, 1], types := [(.fn [.nat] .nat), .nat], result := .nat, + body := (.apply (.var 0) [(.apply (.var 0) [(.var 1)])]) }, + { parameters := [0, 1, 2], types := [.nat, .nat, .nat], result := .nat, + body := (.prim .natAdd [(.prim .natMul [(.var 2), (.var 0)]), (.var 1)]) }, + { parameters := [0, 1], types := [.nat, .nat], result := .nat, + body := (.prim .natSub [(.var 1), (.var 0)]) }, + { parameters := [0], types := [.nat], result := .nat, + body := (.prim .natAdd [(.var 0), (.var 0)]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.enum (.fn 0) [{ number := 2, fields := [.nat, .nat] }, { number := 3, fields := [.nat] }, { number := 4, fields := [] }]), + (.apply 0 [.nat] .nat true [{ function := 2, captures := [.copy, .copy], functionFallible := true }, { function := 3, captures := [.copy], functionFallible := false }, { function := 4, captures := [], functionFallible := true }]), + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .binding 2)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true)))), (.mk (.bind (.generated .operand 6)) none (.call (.function 1) [(.construct (.closure 0 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 1))]), (.copy (.generated .binding 0))] true)), (.mk (.bind (.generated .operand 7)) none (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .callee 3)) (some (.fn 0)) (.construct (.closure 0 3) [(.copy (.generated .binding 2))]))] (.apply (.generated .callee 3) [(.copy (.generated .binding 0))] true)))), (.mk (.bind (.generated .operand 5)) none (.call (.function 1) [(.construct (.closure 0 4) []), (.copy (.generated .binding 1))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] true))))] (.call (.runtime .natAdd) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 8) [(.block (.mk [(.mk (.bind (.generated .callee 9)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 9) [(.copy (.generated .binding 1))] true)))] false))), + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 12)) none (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0)))] (.call (.runtime .natMul) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true)))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false))), + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .nat (.mk [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 0)))] (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false))), + (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false)))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [(([.nat], .nat), true)] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some .nat) (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true)))), (.mk (.bind (.generated .operand 6)) none (.call (.function 1) [(.construct (.closure 0 2) [(.copy (.generated .binding 2)), (.copy (.generated .binding 1))]), (.copy (.generated .binding 0))] true)), (.mk (.bind (.generated .operand 7)) none (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .callee 3)) (some (.fn 0)) (.construct (.closure 0 3) [(.copy (.generated .binding 2))]))] (.apply (.generated .callee 3) [(.copy (.generated .binding 0))] true)))), (.mk (.bind (.generated .operand 5)) none (.call (.function 1) [(.construct (.closure 0 4) []), (.copy (.generated .binding 1))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] true))))], (.call (.runtime .natAdd) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.fn [.nat] .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [.nat, .nat]) (mask := [false, false]) (af := true) (ff := true) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .callee 3)) (some (.fn 0)) (.construct (.closure 0 3) [(.copy (.generated .binding 2))]))] (.apply (.generated .callee 3) [(.copy (.generated .binding 0))] true)))), (.mk (.bind (.generated .operand 5)) none (.call (.function 1) [(.construct (.closure 0 4) []), (.copy (.generated .binding 1))] true))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 3)) (some (.fn 0)) (.construct (.closure 0 3) [(.copy (.generated .binding 2))]))]) (tail := (.apply (.generated .callee 3) [(.copy (.generated .binding 0))] true)) (Corr.apply (ps := [.nat]) (af := true) (Corr.eOfBNil (Corr.closure (caps := [.nat]) (mask := [false]) (af := true) (ff := false) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.fn [.nat] .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl))⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))], (.apply (.generated .callee 8) [(.block (.mk [(.mk (.bind (.generated .callee 9)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 9) [(.copy (.generated .binding 1))] true)))] false), [(1, .nat, (some 1)), (0, (.fn [.nat] .nat), (some 0))], rfl, rfl, + (Corr.applyF (ps := [.nat]) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 9)) (some (.fn 0)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 9) [(.copy (.generated .binding 1))] true)) (Corr.apply (ps := [.nat]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl)⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 12)) none (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0)))] (.call (.runtime .natMul) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true)))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))], (.call (.runtime .natAdd) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false), [(2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 0)))], (.call (.runtime .natSub) [(.move (.generated .operand 14)), (.move (.generated .operand 15))] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun4 : FunOK program krate flags 4 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0)))], (.call (.runtime .natAdd) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false), [(0, .nat, (some 0))], rfl, rfl, + (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | 4 => exact fun4 + | _ + 5 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R19.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R19.lean similarity index 90% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R19.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R19.lean index f28c1431d..afe154cf1 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R19.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R19.lean @@ -18,7 +18,7 @@ set_option maxRecDepth 100000 set_option maxHeartbeats 0 set_option synthInstance.maxHeartbeats 0 set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19 def __prog : _root_.LexLeanTarget.TargetSyntax.Program := { adts := [], functions := [ @@ -35,7 +35,7 @@ def __fits_1 : ∀ (transform : (Nat -> Bool)) (__ff_0 : Nat -> Bool) (values : | transform, __ff_0, (List.nil) => (Bool.true && (Bool.true && Bool.true)) | transform, __ff_0, (List.cons head tail) => (Bool.true && (((Bool.true && ((Bool.true && Bool.true) && (__ff_0 (head)))) && (((Bool.true && (Bool.true && Bool.true)) && (__fits_1 (transform) (__ff_0) (tail))) && Bool.true)) && Bool.true)) -theorem __rel_1 : ∀ (transform : (Nat -> Bool)) (__ff_0 : Nat -> Bool) (__fi_0 : Nat) (__fc_0 : List _root_.LexLeanTarget.TargetSyntax.Value) (__fh_0 : ∀ (__p0 : Nat), _root_.LexLeanPreservation.FunRel __prog __fi_0 (_root_.LexLeanTarget.TargetSemantics.LexLeanRuntime.append __fc_0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat __p0)]) (_root_.LexLeanPreservation.Rel (__ff_0 __p0) (_root_.LexLeanTarget.TargetSyntax.Value.bool (transform __p0)))) (values : (List Nat)), _root_.LexLeanPreservation.FunRel __prog 1 [(_root_.LexLeanTarget.TargetSyntax.Value.closure __fi_0 __fc_0), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) values)] (_root_.LexLeanPreservation.Rel (__fits_1 transform __ff_0 values) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.bool) (Coverage.Types.mapList Nat Bool transform values))) +theorem __rel_1 : ∀ (transform : (Nat -> Bool)) (__ff_0 : Nat -> Bool) (__fi_0 : Nat) (__fc_0 : List _root_.LexLeanTarget.TargetSyntax.Value) (__fh_0 : ∀ (__p0 : Nat), _root_.LexLeanPreservation.FunRel __prog __fi_0 (_root_.LexLeanRuntime.append __fc_0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat __p0)]) (_root_.LexLeanPreservation.Rel (__ff_0 __p0) (_root_.LexLeanTarget.TargetSyntax.Value.bool (transform __p0)))) (values : (List Nat)), _root_.LexLeanPreservation.FunRel __prog 1 [(_root_.LexLeanTarget.TargetSyntax.Value.closure __fi_0 __fc_0), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) values)] (_root_.LexLeanPreservation.Rel (__fits_1 transform __ff_0 values) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.bool) (Coverage.Types.mapList Nat Bool transform values))) | transform, __ff_0, __fi_0, __fc_0, __fh_0, (List.nil) => by rw [__fits_1.eq_def]; exact _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil))) | transform, __ff_0, __fi_0, __fc_0, __fh_0, (List.cons head tail) => by rw [__fits_1.eq_def]; exact _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_apply (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__fh_0 (head))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_1 (transform) (__ff_0) (__fi_0) (__fc_0) (__fh_0) (tail))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons)))) @@ -78,4 +78,4 @@ def denote (values : (List Nat)) : _root_.LexLeanPreservation.Obs := theorem root (values : (List Nat)) : _root_.LexLeanPreservation.RunConv __prog 0 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) values)] (_root_.LexLeanPreservation.Rel (__fits_0 values) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.bool) (Coverage.Main.mapped values))) := _root_.LexLeanPreservation.run_of_funRel (__rel_0 values) -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19 +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R19/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R19/Compose/RustStd.lean new file mode 100644 index 000000000..30923d7bd --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R19/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.Compose.RustStd + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (values : (List Nat)) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) values)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.denote values) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) values)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList _root_.LexLeanPreservation.Rust.wt_nat) values) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.root values) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R19/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R19/RustStd.lean new file mode 100644 index 000000000..0d46d1a1e --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R19/RustStd.lean @@ -0,0 +1,59 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0], types := [(.list .nat)], result := (.list .bool), + body := (.call 1 [(.closure 2 []), (.var 0)]) }, + { parameters := [0, 1], types := [(.fn [.nat] .bool), (.list .nat)], result := (.list .bool), + body := (.«match» (.list .bool) (.var 1) [(.arm .nil [] (.build .nil (.list .bool) [])), (.arm .cons [2, 3] (.build .cons (.list .bool) [(.apply (.var 0) [(.var 2)]), (.call 1 [(.var 0), (.var 3)])]))]) }, + { parameters := [0], types := [.nat], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .zero [] (.build .true .bool [])), (.arm .succ [1] (.call 3 [(.var 1)]))]) }, + { parameters := [0], types := [.nat], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .zero [] (.build .false .bool [])), (.arm .succ [1] (.call 2 [(.var 1)]))]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.enum (.fn 0) [{ number := 2, fields := [] }]), + (.apply 0 [.nat] .bool false [{ function := 2, captures := [], functionFallible := false }]), + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }] (.list .bool) (.mk [] (.call (.function 1) [(.construct (.closure 0 2) []), (.move (.generated .binding 0))] false))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }] (.list .bool) (.mk [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 1)))] (.matchOn (.uncons (.generated .holder 1)) [(.mk .none (.mk [] (.construct (.nil .bool) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.construct .cons [(.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 2))] false))), (.call (.function 1) [(.move (.generated .binding 0)), (.move (.generated .binding 3))] false)])))]))), + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .holder 3)) none (.copy (.generated .binding 0)))] (.cond (.isZero (.generated .holder 3)) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .binding 1)) none (.predecessor (.generated .holder 3)))] (.call (.function 3) [(.copy (.generated .binding 1))] false))))), + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .holder 4)) none (.copy (.generated .binding 0)))] (.cond (.isZero (.generated .holder 4)) (.mk [] (.lit (.bool false))) (.mk [(.mk (.bind (.generated .binding 1)) none (.predecessor (.generated .holder 4)))] (.call (.function 2) [(.copy (.generated .binding 1))] false)))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [(([.nat], .bool), false)] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.construct (.closure 0 2) []), (.move (.generated .binding 0))] false), [(0, (.list .nat), (some 0))], rfl, rfl, + (Corr.callOps (ts := [(.fn [.nat] .bool), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := false) (ff := false) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 1)))], (.matchOn (.uncons (.generated .holder 1)) [(.mk .none (.mk [] (.construct (.nil .bool) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.construct .cons [(.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 2))] false))), (.call (.function 1) [(.move (.generated .binding 0)), (.move (.generated .binding 3))] false)])))]), [(1, (.list .nat), (some 1)), (0, (.fn [.nat] .bool), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.list .nat), (some 1)), (0, (.fn [.nat] .bool), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil .bool) [])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, (.list .nat), (some 1)), (0, (.fn [.nat] .bool), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .cons [(.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 2))] false))), (.call (.function 1) [(.move (.generated .binding 0)), (.move (.generated .binding 3))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.bool, (.list .bool)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.clone (.generated .binding 0)))]) (tail := (.apply (.generated .callee 2) [(.copy (.generated .binding 2))] false)) (Corr.apply (ps := [.nat]) (af := false) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.fn [.nat] .bool), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 3)) none (.copy (.generated .binding 0)))], (.cond (.isZero (.generated .holder 3)) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .binding 1)) none (.predecessor (.generated .holder 3)))] (.call (.function 3) [(.copy (.generated .binding 1))] false))), [(0, .nat, (some 0))], rfl, rfl, + (Corr.matchNat (sl := (some 1)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := []) (tb := (.call (.function 3) [(.copy (.generated .binding 1))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)))⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 4)) none (.copy (.generated .binding 0)))], (.cond (.isZero (.generated .holder 4)) (.mk [] (.lit (.bool false))) (.mk [(.mk (.bind (.generated .binding 1)) none (.predecessor (.generated .holder 4)))] (.call (.function 2) [(.copy (.generated .binding 1))] false))), [(0, .nat, (some 0))], rfl, rfl, + (Corr.matchNat (sl := (some 1)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.lit (.bool false))) (lb := []) (tb := (.call (.function 2) [(.copy (.generated .binding 1))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | _ + 4 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R2.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R2.lean new file mode 100644 index 000000000..452abf363 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R2.lean @@ -0,0 +1,110 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Coverage.Boundary +import Coverage.Colls +import Coverage.Main +import Coverage.Prims +import Coverage.RecRoots +import Coverage.Recur +import Coverage.Syntax +import Coverage.Types +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [(.list (.pair .nat .nat)), .nat], result := .nat, + body := (.call 1 [(.closure 2 [(.var 1)]), (.value .nat (.nat 0)), (.var 0)]) }, + { parameters := [0, 1, 2], types := [(.fn [.nat, .nat, .nat] .nat), .nat, (.list (.pair .nat .nat))], result := .nat, + body := (.«match» .nat (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 1 [(.var 0), (.apply (.var 0) [(.var 1), (.first (.var 3)), (.second (.var 3))]), (.var 4)]))]) }, + { parameters := [0, 1, 2, 3], types := [.nat, .nat, .nat, .nat], result := .nat, + body := (.prim .natAdd [(.prim .natAdd [(.var 1), (.var 2)]), (.prim .natAdd [(.var 3), (.var 0)])]) }, + { parameters := [0], types := [(.list (.pair .nat .nat))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 4 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 3 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, + { parameters := [0], types := [.nat], result := .bool, + body := (.build .true .bool []) }, + { parameters := [0, 1], types := [(.list (.pair .nat .nat)), .nat], result := (.option .nat), + body := (.cond (.call 3 [(.var 0)]) (.build .some (.option .nat) [(.call 0 [(.var 0), (.var 1)])]) (.build .none (.option .nat) [])) }] } + +def __fits_2 (bonus : Nat) (acc : Nat) (key : Nat) (value : Nat) : Bool := + ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (acc + key) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (value + bonus) 18446744073709551616)) && Bool.true)) && (Nat.blt ((acc + key) + (value + bonus)) 18446744073709551616)) + +theorem __rel_2 (bonus : Nat) (acc : Nat) (key : Nat) (value : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat bonus), (_root_.LexLeanTarget.TargetSyntax.Value.nat acc), (_root_.LexLeanTarget.TargetSyntax.Value.nat key), (_root_.LexLeanTarget.TargetSyntax.Value.nat value)] (_root_.LexLeanPreservation.Rel (__fits_2 bonus acc key value) (_root_.LexLeanTarget.TargetSyntax.Value.nat (((acc + key) + (value + bonus))))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd acc key)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd value bonus)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (acc + key) (value + bonus))) + +def __fits_0 (m : (List (Prod Nat Nat))) (bonus : Nat) : Bool := + (((Bool.true && Bool.true) && (Bool.true && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun __st __e => (fun (__p0 : Nat) (__p1 : Nat) (__p2 : Nat) => __fits_2 (bonus) __p0 __p1 __p2) __st __e.1 __e.2) (fun __st __e => ((fun (acc : Nat) (key : Nat) (value : Nat) => ((acc + key) + (value + bonus)))) __st __e.1 __e.2) ((0 : Nat)) (m))) + +theorem __rel_0 (m : (List (Prod Nat Nat))) (bonus : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) m), (_root_.LexLeanTarget.TargetSyntax.Value.nat bonus)] (_root_.LexLeanPreservation.Rel (__fits_0 m bonus) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Colls.mapFolding m bonus))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_mapFold (ek := _root_.LexLeanTarget.TargetSyntax.Value.nat) (ev := _root_.LexLeanTarget.TargetSyntax.Value.nat) (es := _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) ((fun (acc : Nat) (key : Nat) (value : Nat) => ((acc + key) + (value + bonus)))) (fun (__p0 : Nat) (__p1 : Nat) (__p2 : Nat) => __fits_2 (bonus) __p0 __p1 __p2) 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat bonus)] (fun (__p0 : Nat) (__p1 : Nat) (__p2 : Nat) => __rel_2 (bonus) __p0 __p1 __p2) (p := __prog) (fi := 1) (tk := .nat) (tw := .nat) (ts := .nat) rfl ((0 : Nat)) (m))) + +def denote (m : (List (Prod Nat Nat))) (bonus : Nat) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 m bonus) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Colls.mapFolding m bonus)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (m : (List (Prod Nat Nat))) (bonus : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) m), (_root_.LexLeanTarget.TargetSyntax.Value.nat bonus)] (_root_.LexLeanPreservation.Rel (__fits_0 m bonus) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Colls.mapFolding m bonus))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 m bonus) + +def __valid_4 : Nat -> Bool := + fun _ => Bool.true + +def __inv_4 : Nat -> Prop := + fun _ => _root_.True + +theorem __viff_4 : ∀ (__v : Nat), __valid_4 __v = Bool.true ↔ __inv_4 __v := + fun __v => _root_.LexLeanPreservation.validTrue_inv __v + +theorem __vrel_4 : ∀ (__v : Nat), _root_.LexLeanPreservation.FunRel __prog 4 [(_root_.LexLeanTarget.TargetSyntax.Value.nat __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_4 __v))) := + _root_.LexLeanPreservation.tpl_validTrue _root_.LexLeanTarget.TargetSyntax.Value.nat rfl + +def __valid_3 : (List (Prod Nat Nat)) -> Bool := + _root_.LexLeanPreservation.ascMap (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) __valid_4 + +def __inv_3 : (List (Prod Nat Nat)) -> Prop := + _root_.LexLeanPreservation.InvMap (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) __inv_4 + +theorem __viff_3 : ∀ (__v : (List (Prod Nat Nat))), __valid_3 __v = Bool.true ↔ __inv_3 __v := + _root_.LexLeanPreservation.ascMap_inv (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) __valid_4 __inv_4 __viff_4 + +theorem __vrel_3 : ∀ (__v : (List (Prod Nat Nat))), _root_.LexLeanPreservation.FunRel __prog 3 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_3 __v))) := + _root_.LexLeanPreservation.tpl_validMap (_root_.LexLeanPreservation.keySpec_nat (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) __valid_4 (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) __vrel_4 rfl + +def entryFits (m : (List (Prod Nat Nat))) (bonus : Nat) : Bool := + (if __valid_3 m then __fits_0 m bonus else Bool.true) + +def entryValue (m : (List (Prod Nat Nat))) (bonus : Nat) : _root_.LexLeanTarget.TargetSyntax.Value := + (if __valid_3 m then (_root_.LexLeanTarget.TargetSyntax.Value.some (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Colls.mapFolding m bonus))) else _root_.LexLeanTarget.TargetSyntax.Value.none) + +/-- The entry's observation. -/ +def denoteEntry (m : (List (Prod Nat Nat))) (bonus : Nat) : _root_.LexLeanPreservation.Obs := + _root_.cond (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.entryFits m bonus) (_root_.LexLeanPreservation.Obs.value (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.entryValue m bonus)) _root_.LexLeanPreservation.Obs.overflow + +/-- §17.12's invariants of the validated parameters. -/ +def accepts (m : (List (Prod Nat Nat))) (bonus : Nat) : Prop := + (__inv_3 m ∧ _root_.True) + +theorem entry (m : (List (Prod Nat Nat))) (bonus : Nat) : _root_.LexLeanPreservation.RunConv __prog 5 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) m), (_root_.LexLeanTarget.TargetSyntax.Value.nat bonus)] (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.denoteEntry m bonus) := + _root_.LexLeanPreservation.run_of_funRel (_root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then __fits_0 m bonus else Bool.true) (fun __c => if __c then (_root_.LexLeanTarget.TargetSyntax.Value.some (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Colls.mapFolding m bonus))) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_3 m) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_3 m)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_0 m bonus)) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (by simp [_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.entryFits])) + +theorem entry_accepts (m : (List (Prod Nat Nat))) (bonus : Nat) (__h : _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.accepts m bonus) : _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.denoteEntry m bonus = _root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.denote m bonus) := by + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.accepts at __h + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.denoteEntry _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.entryFits _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.entryValue _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.denote + simp only [_root_.if_true, (__viff_3 m).mpr __h.1] + cases __fits_0 m bonus <;> rfl + +theorem entry_refuses (m : (List (Prod Nat Nat))) (bonus : Nat) (__h : ¬ _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.accepts m bonus) : _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.denoteEntry m bonus = _root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none := by + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.accepts at __h + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.denoteEntry _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.entryFits _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.entryValue + cases __c0 : __valid_3 m + · simp + · exact _root_.absurd ⟨(__viff_3 m).mp __c0, _root_.trivial⟩ __h + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R2/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R2/Compose/RustStd.lean new file mode 100644 index 000000000..207f60a58 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R2/Compose/RustStd.lean @@ -0,0 +1,20 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.Compose.RustStd + +/-- The rendering of the root's entry, invoked on the encoded arguments, +realizes the encoded source result when the arguments satisfy §17.12's +invariants, and refuses them with `none` otherwise. -/ +theorem root (m : (List (Prod Nat Nat))) (bonus : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) m), (_root_.LexLeanTarget.TargetSyntax.Value.nat bonus)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 5) [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) m), (_root_.LexLeanTarget.TargetSyntax.Value.nat bonus)] __e_ro ∧ + (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.accepts m bonus → _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.denote m bonus)) __e_ro) ∧ + (¬ _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.accepts m bonus → _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none) __e_ro) := + match _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.RustStd.root __e_n 5) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_nat _root_.LexLeanPreservation.Rust.wt_nat)) m) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat bonus) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.entry m bonus) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) with + | ⟨__e_ro, __e_hr, __e_hc⟩ => ⟨__e_ro, __e_hc, fun __e_h => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.entry_accepts m bonus __e_h ▸ __e_hr, fun __e_h => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.entry_refuses m bonus __e_h ▸ __e_hr⟩ + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R2/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R2/RustStd.lean new file mode 100644 index 000000000..1c4772b27 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R2/RustStd.lean @@ -0,0 +1,75 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [(.list (.pair .nat .nat)), .nat], result := .nat, + body := (.call 1 [(.closure 2 [(.var 1)]), (.value .nat (.nat 0)), (.var 0)]) }, + { parameters := [0, 1, 2], types := [(.fn [.nat, .nat, .nat] .nat), .nat, (.list (.pair .nat .nat))], result := .nat, + body := (.«match» .nat (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 1 [(.var 0), (.apply (.var 0) [(.var 1), (.first (.var 3)), (.second (.var 3))]), (.var 4)]))]) }, + { parameters := [0, 1, 2, 3], types := [.nat, .nat, .nat, .nat], result := .nat, + body := (.prim .natAdd [(.prim .natAdd [(.var 1), (.var 2)]), (.prim .natAdd [(.var 3), (.var 0)])]) }, + { parameters := [0], types := [(.list (.pair .nat .nat))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 4 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 3 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, + { parameters := [0], types := [.nat], result := .bool, + body := (.build .true .bool []) }, + { parameters := [0, 1], types := [(.list (.pair .nat .nat)), .nat], result := (.option .nat), + body := (.cond (.call 3 [(.var 0)]) (.build .some (.option .nat) [(.call 0 [(.var 0), (.var 1)])]) (.build .none (.option .nat) [])) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.enum (.fn 0) [{ number := 2, fields := [.nat] }]), + (.apply 0 [.nat, .nat, .nat] .nat true [{ function := 2, captures := [.copy], functionFallible := true }]), + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat .nat)) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [] (.call (.function 1) [(.construct (.closure 0 2) [(.copy (.generated .binding 1))]), (.lit (.nat 0)), (.move (.generated .binding 0))] false))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := (.list (.pair .nat .nat)) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 1)) [(.mk .none (.mk [] (.succeed (.copy (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 1) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 1)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 3)))), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 4))]) none (.copy (.generated .binding 3)))] (.move (.generated .part 4))))] true))), (.move (.generated .binding 4))] false)))]))), + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := .nat }, { pattern := (.bind (.generated .binding 3)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 2)))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)))), (.mk (.bind (.generated .operand 10)) none (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] true))))] (.call (.runtime .natAdd) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))), + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat .nat)) }] .bool (.mk [(.mk (.bind (.generated .holder 11)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 11)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 4) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 12))))] false) (.mk [(.mk (.bind (.generated .holder 13)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 13)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 14))))), (.mk (.bind (.generated .operand 17)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 15)))))] (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))] (.cond (.matchOn (.move (.generated .holder 18)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 3) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]))), + (.function (.generated .function 4) [{ pattern := .wild, type := .nat }] .bool (.mk [] (.lit (.bool true)))), + (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat .nat)) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.option .nat)) (.mk [] (.cond (.call (.function 3) [(.clone (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] true)]))) (.mk [] (.succeed (.construct (.none .nat) []))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [(([.nat, .nat, .nat], .nat), true)] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.construct (.closure 0 2) [(.copy (.generated .binding 1))]), (.lit (.nat 0)), (.move (.generated .binding 0))] false), [(1, .nat, (some 1)), (0, (.list (.pair .nat .nat)), (some 0))], rfl, rfl, + (Corr.callF (ts := [(.fn [.nat, .nat, .nat] .nat), .nat, (.list (.pair .nat .nat))]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [.nat]) (mask := [false]) (af := true) (ff := true) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 1)) [(.mk .none (.mk [] (.succeed (.copy (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 1) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 1)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 3)))), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 4))]) none (.copy (.generated .binding 3)))] (.move (.generated .part 4))))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list (.pair .nat .nat)), (some 2)), (1, .nat, (some 1)), (0, (.fn [.nat, .nat, .nat] .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair .nat .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.pair .nat .nat)), (some 2)), (1, .nat, (some 1)), (0, (.fn [.nat, .nat, .nat] .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.copy (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list (.pair .nat .nat)), (some 4)), (3, (.pair .nat .nat), (some 3)), (2, (.list (.pair .nat .nat)), (some 2)), (1, .nat, (some 1)), (0, (.fn [.nat, .nat, .nat] .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 1) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 1)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 3)))), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 4))]) none (.copy (.generated .binding 3)))] (.move (.generated .part 4))))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [.nat, .nat, .nat] .nat), .nat, (.list (.pair .nat .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 2) [(.copy (.generated .binding 1)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 3)))), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 4))]) none (.copy (.generated .binding 3)))] (.move (.generated .part 4))))] true)) (Corr.apply (ps := [.nat, .nat, .nat]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.copy (.generated .binding 3)))]) (tail := (.move (.generated .part 3))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 4))]) none (.copy (.generated .binding 3)))]) (tail := (.move (.generated .part 4))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 2)))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)))), (.mk (.bind (.generated .operand 10)) none (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] true))))], (.call (.runtime .natAdd) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false), [(3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 3))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 11)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 11)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 4) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 12))))] false) (.mk [(.mk (.bind (.generated .holder 13)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 13)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 14))))), (.mk (.bind (.generated .operand 17)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 15)))))] (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))] (.cond (.matchOn (.move (.generated .holder 18)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 3) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.pair .nat .nat)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair .nat .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair .nat .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.pair .nat .nat)), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 4) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 12))))] false) (.mk [(.mk (.bind (.generated .holder 13)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 13)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 14))))), (.mk (.bind (.generated .operand 17)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 15)))))] (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))] (.cond (.matchOn (.move (.generated .holder 18)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 3) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 4) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 12))))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 12))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .holder 13)) none (.clone (.generated .binding 2)))]) (ta := (.matchOn (.uncons (.generated .holder 13)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 14))))), (.mk (.bind (.generated .operand 17)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 15)))))] (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))] (.cond (.matchOn (.move (.generated .holder 18)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 3) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (lb := []) (tb := (.lit (.bool false))) (Corr.matchArms (st := (.list (.pair .nat .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.pair .nat .nat)), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .nat .nat)), none), (3, (.pair .nat .nat), (some 3)), (2, (.list (.pair .nat .nat)), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 14))))), (.mk (.bind (.generated .operand 17)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 15)))))] (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 18)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 3) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 14))))), (.mk (.bind (.generated .operand 17)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 15)))))] (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))]) (ce := (.matchOn (.move (.generated .holder 18)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 14))))), (.mk (.bind (.generated .operand 17)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 15)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 14))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.copy (.generated .binding 3)))]) (tail := (.move (.generated .part 15))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.pair .nat .nat)), none), (3, (.pair .nat .nat), (some 3)), (2, (.list (.pair .nat .nat)), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .nat .nat)), none), (3, (.pair .nat .nat), (some 3)), (2, (.list (.pair .nat .nat)), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list (.pair .nat .nat)), none), (3, (.pair .nat .nat), (some 3)), (2, (.list (.pair .nat .nat)), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 3) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.pair .nat .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun4 : FunOK program krate flags 4 := + ⟨_, rfl, .inl ⟨_, _, [], (.lit (.bool true)), [(0, .nat, none)], rfl, rfl, + (Corr.bOfE (Corr.buildConst rfl))⟩⟩ + +theorem fun5 : FunOK program krate flags 5 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 3) [(.clone (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] true)]))) (.mk [] (.succeed (.construct (.none .nat) [])))), [(1, .nat, (some 1)), (0, (.list (.pair .nat .nat)), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 3) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair .nat .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] true)]))) (lb := []) (tb := (.succeed (.construct (.none .nat) []))) (Corr.fOfB (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat .nat)), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | 4 => exact fun4 + | 5 => exact fun5 + | _ + 6 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R20.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20.lean similarity index 97% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R20.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20.lean index c8f9d52c7..a6a710f6a 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R20.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20.lean @@ -18,7 +18,7 @@ set_option maxRecDepth 100000 set_option maxHeartbeats 0 set_option synthInstance.maxHeartbeats 0 set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20 def __prog : _root_.LexLeanTarget.TargetSyntax.Program := { adts := [], functions := [ @@ -68,4 +68,4 @@ def denote (n : Nat) : _root_.LexLeanPreservation.Obs := theorem root (n : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)] (_root_.LexLeanPreservation.Rel (__fits_0 n) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Coverage.Main.parity n))) := _root_.LexLeanPreservation.run_of_funRel (__rel_0 n) -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20 +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20/Compose/RustCore.lean new file mode 100644 index 000000000..da0e0496e --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustCore +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustCore + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (n : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.denote n) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat n) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.root n) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20/Compose/RustStd.lean new file mode 100644 index 000000000..9d23efe96 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustStd + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (n : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.denote n) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat n) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.root n) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20/RustCore.lean new file mode 100644 index 000000000..cd95407c3 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20/RustCore.lean @@ -0,0 +1,49 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustCore +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0], types := [.nat], result := .bool, + body := (.call 1 [(.var 0)]) }, + { parameters := [0], types := [.nat], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .zero [] (.build .false .bool [])), (.arm .succ [1] (.call 2 [(.var 1)]))]) }, + { parameters := [0], types := [.nat], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .zero [] (.build .true .bool [])), (.arm .succ [1] (.call 1 [(.var 1)]))]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .core, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .bool (.mk [] (.call (.function 1) [(.copy (.generated .binding 0))] false))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .holder 1)) none (.copy (.generated .binding 0)))] (.cond (.isZero (.generated .holder 1)) (.mk [] (.lit (.bool false))) (.mk [(.mk (.bind (.generated .binding 1)) none (.predecessor (.generated .holder 1)))] (.call (.function 2) [(.copy (.generated .binding 1))] false))))), + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .holder 2)) none (.copy (.generated .binding 0)))] (.cond (.isZero (.generated .holder 2)) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .binding 1)) none (.predecessor (.generated .holder 2)))] (.call (.function 1) [(.copy (.generated .binding 1))] false)))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.copy (.generated .binding 0))] false), [(0, .nat, (some 0))], rfl, rfl, + (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.copy (.generated .binding 0)))], (.cond (.isZero (.generated .holder 1)) (.mk [] (.lit (.bool false))) (.mk [(.mk (.bind (.generated .binding 1)) none (.predecessor (.generated .holder 1)))] (.call (.function 2) [(.copy (.generated .binding 1))] false))), [(0, .nat, (some 0))], rfl, rfl, + (Corr.matchNat (sl := (some 1)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.lit (.bool false))) (lb := []) (tb := (.call (.function 2) [(.copy (.generated .binding 1))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)))⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 2)) none (.copy (.generated .binding 0)))], (.cond (.isZero (.generated .holder 2)) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .binding 1)) none (.predecessor (.generated .holder 2)))] (.call (.function 1) [(.copy (.generated .binding 1))] false))), [(0, .nat, (some 0))], rfl, rfl, + (Corr.matchNat (sl := (some 1)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := []) (tb := (.call (.function 1) [(.copy (.generated .binding 1))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | _ + 3 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20/RustStd.lean new file mode 100644 index 000000000..d443f3c15 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20/RustStd.lean @@ -0,0 +1,49 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0], types := [.nat], result := .bool, + body := (.call 1 [(.var 0)]) }, + { parameters := [0], types := [.nat], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .zero [] (.build .false .bool [])), (.arm .succ [1] (.call 2 [(.var 1)]))]) }, + { parameters := [0], types := [.nat], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .zero [] (.build .true .bool [])), (.arm .succ [1] (.call 1 [(.var 1)]))]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .bool (.mk [] (.call (.function 1) [(.copy (.generated .binding 0))] false))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .holder 1)) none (.copy (.generated .binding 0)))] (.cond (.isZero (.generated .holder 1)) (.mk [] (.lit (.bool false))) (.mk [(.mk (.bind (.generated .binding 1)) none (.predecessor (.generated .holder 1)))] (.call (.function 2) [(.copy (.generated .binding 1))] false))))), + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .holder 2)) none (.copy (.generated .binding 0)))] (.cond (.isZero (.generated .holder 2)) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .binding 1)) none (.predecessor (.generated .holder 2)))] (.call (.function 1) [(.copy (.generated .binding 1))] false)))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.copy (.generated .binding 0))] false), [(0, .nat, (some 0))], rfl, rfl, + (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.copy (.generated .binding 0)))], (.cond (.isZero (.generated .holder 1)) (.mk [] (.lit (.bool false))) (.mk [(.mk (.bind (.generated .binding 1)) none (.predecessor (.generated .holder 1)))] (.call (.function 2) [(.copy (.generated .binding 1))] false))), [(0, .nat, (some 0))], rfl, rfl, + (Corr.matchNat (sl := (some 1)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.lit (.bool false))) (lb := []) (tb := (.call (.function 2) [(.copy (.generated .binding 1))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)))⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 2)) none (.copy (.generated .binding 0)))], (.cond (.isZero (.generated .holder 2)) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .binding 1)) none (.predecessor (.generated .holder 2)))] (.call (.function 1) [(.copy (.generated .binding 1))] false))), [(0, .nat, (some 0))], rfl, rfl, + (Corr.matchNat (sl := (some 1)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := []) (tb := (.call (.function 1) [(.copy (.generated .binding 1))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | _ + 3 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R21.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21.lean similarity index 98% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R21.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21.lean index 6e115456a..9c6a57cf9 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R21.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21.lean @@ -18,7 +18,7 @@ set_option maxRecDepth 100000 set_option maxHeartbeats 0 set_option synthInstance.maxHeartbeats 0 set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21 def __prog : _root_.LexLeanTarget.TargetSyntax.Program := { adts := [], functions := [ @@ -37,4 +37,4 @@ def denote (a : Int8) (b : Int8) : _root_.LexLeanPreservation.Obs := theorem root (a : Int8) (b : Int8) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.i8 a), (_root_.LexLeanTarget.TargetSyntax.Value.i8 b)] (_root_.LexLeanPreservation.Rel (__fits_0 a b) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.i8) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.i8) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.i8) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.i8) (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.i8))))) (Coverage.Prims.fixedSmall a b))) := _root_.LexLeanPreservation.run_of_funRel (__rel_0 a b) -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21 +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21/Compose/RustCore.lean new file mode 100644 index 000000000..2a2d93382 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustCore +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustCore + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (a : Int8) (b : Int8) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.i8 a), (_root_.LexLeanTarget.TargetSyntax.Value.i8 b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.i8 a), (_root_.LexLeanTarget.TargetSyntax.Value.i8 b)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i8 a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i8 b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21/Compose/RustStd.lean new file mode 100644 index 000000000..91ba9e3fe --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustStd + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (a : Int8) (b : Int8) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.i8 a), (_root_.LexLeanTarget.TargetSyntax.Value.i8 b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.i8 a), (_root_.LexLeanTarget.TargetSyntax.Value.i8 b)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i8 a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i8 b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21/RustCore.lean new file mode 100644 index 000000000..4e33346bd --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21/RustCore.lean @@ -0,0 +1,33 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustCore +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [(.fixed .i8), (.fixed .i8)], result := (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.option (.fixed .i8)))))), + body := (.build .pair (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.option (.fixed .i8)))))) [(.prim .checkedAdd [(.var 0), (.var 1)]), (.build .pair (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.option (.fixed .i8))))) [(.prim .checkedSub [(.var 0), (.var 1)]), (.build .pair (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.option (.fixed .i8)))) [(.prim .checkedMul [(.var 0), (.var 1)]), (.build .pair (.pair (.option (.fixed .i8)) (.option (.fixed .i8))) [(.prim .checkedQuot [(.var 0), (.var 1)]), (.prim .checkedNeg [(.var 0)])])])])]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .core, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.fixed .i8) }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .i8) }] (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.option (.fixed .i8)))))) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedAdd .i8)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedSub .i8)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedMul .i8)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedQuot .i8)) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false))) (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0)))] (.call (.runtime (.checkedNeg .i8)) [(.move (.generated .operand 9))] false)))))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedAdd .i8)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedSub .i8)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedMul .i8)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedQuot .i8)) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false))) (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0)))] (.call (.runtime (.checkedNeg .i8)) [(.move (.generated .operand 9))] false))))))), [(1, (.fixed .i8), (some 1)), (0, (.fixed .i8), (some 0))], rfl, rfl, + (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedAdd .i8)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (Corr.prim (ts := [(.fixed .i8), (.fixed .i8)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedSub .i8)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [(.fixed .i8), (.fixed .i8)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedMul .i8)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false)) (Corr.prim (ts := [(.fixed .i8), (.fixed .i8)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedQuot .i8)) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false)) (Corr.prim (ts := [(.fixed .i8), (.fixed .i8)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime (.checkedNeg .i8)) [(.move (.generated .operand 9))] false)) (Corr.prim (ts := [(.fixed .i8)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | _ + 1 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21/RustStd.lean new file mode 100644 index 000000000..e4c820d37 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21/RustStd.lean @@ -0,0 +1,33 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [(.fixed .i8), (.fixed .i8)], result := (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.option (.fixed .i8)))))), + body := (.build .pair (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.option (.fixed .i8)))))) [(.prim .checkedAdd [(.var 0), (.var 1)]), (.build .pair (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.option (.fixed .i8))))) [(.prim .checkedSub [(.var 0), (.var 1)]), (.build .pair (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.option (.fixed .i8)))) [(.prim .checkedMul [(.var 0), (.var 1)]), (.build .pair (.pair (.option (.fixed .i8)) (.option (.fixed .i8))) [(.prim .checkedQuot [(.var 0), (.var 1)]), (.prim .checkedNeg [(.var 0)])])])])]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.fixed .i8) }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .i8) }] (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.pair (.option (.fixed .i8)) (.option (.fixed .i8)))))) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedAdd .i8)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedSub .i8)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedMul .i8)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedQuot .i8)) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false))) (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0)))] (.call (.runtime (.checkedNeg .i8)) [(.move (.generated .operand 9))] false)))))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedAdd .i8)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedSub .i8)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedMul .i8)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedQuot .i8)) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false))) (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0)))] (.call (.runtime (.checkedNeg .i8)) [(.move (.generated .operand 9))] false))))))), [(1, (.fixed .i8), (some 1)), (0, (.fixed .i8), (some 0))], rfl, rfl, + (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedAdd .i8)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (Corr.prim (ts := [(.fixed .i8), (.fixed .i8)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedSub .i8)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [(.fixed .i8), (.fixed .i8)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedMul .i8)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false)) (Corr.prim (ts := [(.fixed .i8), (.fixed .i8)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedQuot .i8)) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false)) (Corr.prim (ts := [(.fixed .i8), (.fixed .i8)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime (.checkedNeg .i8)) [(.move (.generated .operand 9))] false)) (Corr.prim (ts := [(.fixed .i8)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | _ + 1 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R22.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22.lean similarity index 97% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R22.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22.lean index 65ac0291f..904ebd370 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R22.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22.lean @@ -18,7 +18,7 @@ set_option maxRecDepth 100000 set_option maxHeartbeats 0 set_option synthInstance.maxHeartbeats 0 set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22 def __prog : _root_.LexLeanTarget.TargetSyntax.Program := { adts := [], functions := [ @@ -37,4 +37,4 @@ def denote (a : Int16) (b : Int32) : _root_.LexLeanPreservation.Obs := theorem root (a : Int16) (b : Int32) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.i16 a), (_root_.LexLeanTarget.TargetSyntax.Value.i32 b)] (_root_.LexLeanPreservation.Rel (__fits_0 a b) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.i16) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.i32) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.i32) _root_.LexLeanTarget.TargetSyntax.Value.bool))) (Coverage.Prims.fixedMiddle a b))) := _root_.LexLeanPreservation.run_of_funRel (__rel_0 a b) -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22 +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22/Compose/RustCore.lean new file mode 100644 index 000000000..38c0ed775 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustCore +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustCore + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (a : Int16) (b : Int32) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.i16 a), (_root_.LexLeanTarget.TargetSyntax.Value.i32 b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.i16 a), (_root_.LexLeanTarget.TargetSyntax.Value.i32 b)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i16 a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i32 b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22/Compose/RustStd.lean new file mode 100644 index 000000000..58e2530dd --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustStd + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (a : Int16) (b : Int32) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.i16 a), (_root_.LexLeanTarget.TargetSyntax.Value.i32 b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.i16 a), (_root_.LexLeanTarget.TargetSyntax.Value.i32 b)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i16 a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i32 b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22/RustCore.lean new file mode 100644 index 000000000..0e0e326e4 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22/RustCore.lean @@ -0,0 +1,33 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustCore +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [(.fixed .i16), (.fixed .i32)], result := (.pair (.option (.fixed .i16)) (.pair (.option (.fixed .i32)) (.pair (.option (.fixed .i32)) .bool))), + body := (.build .pair (.pair (.option (.fixed .i16)) (.pair (.option (.fixed .i32)) (.pair (.option (.fixed .i32)) .bool))) [(.prim .checkedMul [(.var 0), (.var 0)]), (.build .pair (.pair (.option (.fixed .i32)) (.pair (.option (.fixed .i32)) .bool)) [(.prim .checkedAdd [(.var 1), (.value (.fixed .i32) (.i32 (-7)))]), (.build .pair (.pair (.option (.fixed .i32)) .bool) [(.prim (.convert .i32) [(.var 0)]), (.prim .equal [(.var 1), (.value (.fixed .i32) (.i32 3))])])])]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .core, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.fixed .i16) }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .i32) }] (.pair (.option (.fixed .i16)) (.pair (.option (.fixed .i32)) (.pair (.option (.fixed .i32)) .bool))) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 0)))] (.call (.runtime (.checkedMul .i16)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.lit (.fixed .i32 (-7))))] (.call (.runtime (.checkedAdd .i32)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0)))] (.call (.runtime (.convert .i32)) [(.widen (.move (.generated .operand 5)))] false))) (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.lit (.fixed .i32 3)))] (.call (.runtime .equal) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false))))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 0)))] (.call (.runtime (.checkedMul .i16)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.lit (.fixed .i32 (-7))))] (.call (.runtime (.checkedAdd .i32)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0)))] (.call (.runtime (.convert .i32)) [(.widen (.move (.generated .operand 5)))] false))) (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.lit (.fixed .i32 3)))] (.call (.runtime .equal) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false)))))), [(1, (.fixed .i32), (some 1)), (0, (.fixed .i16), (some 0))], rfl, rfl, + (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime (.checkedMul .i16)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (Corr.prim (ts := [(.fixed .i16), (.fixed .i16)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.lit (.fixed .i32 (-7))))]) (tail := (.call (.runtime (.checkedAdd .i32)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [(.fixed .i32), (.fixed .i32)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime (.convert .i32)) [(.widen (.move (.generated .operand 5)))] false)) (Corr.primWiden (t0 := (.fixed .i16)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.lit (.fixed .i32 3)))]) (tail := (.call (.runtime .equal) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false)) (Corr.prim (ts := [(.fixed .i32), (.fixed .i32)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | _ + 1 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22/RustStd.lean new file mode 100644 index 000000000..845cda0e8 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22/RustStd.lean @@ -0,0 +1,33 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [(.fixed .i16), (.fixed .i32)], result := (.pair (.option (.fixed .i16)) (.pair (.option (.fixed .i32)) (.pair (.option (.fixed .i32)) .bool))), + body := (.build .pair (.pair (.option (.fixed .i16)) (.pair (.option (.fixed .i32)) (.pair (.option (.fixed .i32)) .bool))) [(.prim .checkedMul [(.var 0), (.var 0)]), (.build .pair (.pair (.option (.fixed .i32)) (.pair (.option (.fixed .i32)) .bool)) [(.prim .checkedAdd [(.var 1), (.value (.fixed .i32) (.i32 (-7)))]), (.build .pair (.pair (.option (.fixed .i32)) .bool) [(.prim (.convert .i32) [(.var 0)]), (.prim .equal [(.var 1), (.value (.fixed .i32) (.i32 3))])])])]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.fixed .i16) }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .i32) }] (.pair (.option (.fixed .i16)) (.pair (.option (.fixed .i32)) (.pair (.option (.fixed .i32)) .bool))) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 0)))] (.call (.runtime (.checkedMul .i16)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.lit (.fixed .i32 (-7))))] (.call (.runtime (.checkedAdd .i32)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0)))] (.call (.runtime (.convert .i32)) [(.widen (.move (.generated .operand 5)))] false))) (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.lit (.fixed .i32 3)))] (.call (.runtime .equal) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false))))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 0)))] (.call (.runtime (.checkedMul .i16)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.lit (.fixed .i32 (-7))))] (.call (.runtime (.checkedAdd .i32)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0)))] (.call (.runtime (.convert .i32)) [(.widen (.move (.generated .operand 5)))] false))) (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.lit (.fixed .i32 3)))] (.call (.runtime .equal) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false)))))), [(1, (.fixed .i32), (some 1)), (0, (.fixed .i16), (some 0))], rfl, rfl, + (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime (.checkedMul .i16)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (Corr.prim (ts := [(.fixed .i16), (.fixed .i16)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.lit (.fixed .i32 (-7))))]) (tail := (.call (.runtime (.checkedAdd .i32)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [(.fixed .i32), (.fixed .i32)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime (.convert .i32)) [(.widen (.move (.generated .operand 5)))] false)) (Corr.primWiden (t0 := (.fixed .i16)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.lit (.fixed .i32 3)))]) (tail := (.call (.runtime .equal) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false)) (Corr.prim (ts := [(.fixed .i32), (.fixed .i32)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | _ + 1 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R23.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23.lean similarity index 78% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R23.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23.lean index 75f49c309..afcc5913f 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R23.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23.lean @@ -18,7 +18,7 @@ set_option maxRecDepth 100000 set_option maxHeartbeats 0 set_option synthInstance.maxHeartbeats 0 set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23 def __prog : _root_.LexLeanTarget.TargetSyntax.Program := { adts := [], functions := [ @@ -29,7 +29,7 @@ def __fits_0 (a : Int64) (b : Int64) (c : UInt64) : Bool := ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && Bool.true) && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) theorem __rel_0 (a : Int64) (b : Int64) (c : UInt64) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.i64 a), (_root_.LexLeanTarget.TargetSyntax.Value.i64 b), (_root_.LexLeanTarget.TargetSyntax.Value.u64 c)] (_root_.LexLeanPreservation.Rel (__fits_0 a b c) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.i64) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.i64) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.i64) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.i64) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.i64) (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.u64)))))) (Coverage.Prims.fixedWide a b c))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_checkedAdd_i64 a b)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_checkedSub_i64 a b)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_checkedMul_i64 Coverage.Prims.LexLeanRuntime.multiplyMagnitudeInt64 (fun _ _ _ _ => rfl) (fun _ _ _ _ _ => rfl) a b)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_checkedQuot_i64 Coverage.Prims.LexLeanRuntime.divideMagnitudeInt64 (fun _ _ _ _ => rfl) (fun _ _ _ _ _ => rfl) a b)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_checkedNeg_i64 a)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_checkedAdd_u64 c (1 : UInt64))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_checkedAdd_i64 a b)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_checkedSub_i64 a b)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_checkedMul_i64 _root_.LexLeanRuntime.multiplyMagnitudeInt64 (fun _ _ _ _ => rfl) (fun _ _ _ _ _ => rfl) a b)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_checkedQuot_i64 _root_.LexLeanRuntime.divideMagnitudeInt64 (fun _ _ _ _ => rfl) (fun _ _ _ _ _ => rfl) a b)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_checkedNeg_i64 a)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_checkedAdd_u64 c (1 : UInt64))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) def denote (a : Int64) (b : Int64) (c : UInt64) : _root_.LexLeanPreservation.Obs := _root_.cond (__fits_0 a b c) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.i64) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.i64) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.i64) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.i64) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.i64) (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.u64)))))) (Coverage.Prims.fixedWide a b c)))) _root_.LexLeanPreservation.Obs.overflow @@ -37,4 +37,4 @@ def denote (a : Int64) (b : Int64) (c : UInt64) : _root_.LexLeanPreservation.Obs theorem root (a : Int64) (b : Int64) (c : UInt64) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.i64 a), (_root_.LexLeanTarget.TargetSyntax.Value.i64 b), (_root_.LexLeanTarget.TargetSyntax.Value.u64 c)] (_root_.LexLeanPreservation.Rel (__fits_0 a b c) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.i64) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.i64) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.i64) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.i64) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.i64) (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.u64)))))) (Coverage.Prims.fixedWide a b c))) := _root_.LexLeanPreservation.run_of_funRel (__rel_0 a b c) -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23 +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23/Compose/RustCore.lean new file mode 100644 index 000000000..7e0f23a19 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustCore +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustCore + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (a : Int64) (b : Int64) (c : UInt64) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.i64 a), (_root_.LexLeanTarget.TargetSyntax.Value.i64 b), (_root_.LexLeanTarget.TargetSyntax.Value.u64 c)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.denote a b c) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.i64 a), (_root_.LexLeanTarget.TargetSyntax.Value.i64 b), (_root_.LexLeanTarget.TargetSyntax.Value.u64 c)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i64 a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i64 b) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_u64 c) _root_.LexLeanPreservation.Rust.wtl_nil))) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.root a b c) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23/Compose/RustStd.lean new file mode 100644 index 000000000..2300cf0c1 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustStd + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (a : Int64) (b : Int64) (c : UInt64) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.i64 a), (_root_.LexLeanTarget.TargetSyntax.Value.i64 b), (_root_.LexLeanTarget.TargetSyntax.Value.u64 c)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.denote a b c) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.i64 a), (_root_.LexLeanTarget.TargetSyntax.Value.i64 b), (_root_.LexLeanTarget.TargetSyntax.Value.u64 c)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i64 a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i64 b) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_u64 c) _root_.LexLeanPreservation.Rust.wtl_nil))) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.root a b c) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23/RustCore.lean new file mode 100644 index 000000000..da341730e --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23/RustCore.lean @@ -0,0 +1,33 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustCore +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1, 2], types := [(.fixed .i64), (.fixed .i64), (.fixed .u64)], result := (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.option (.fixed .u64))))))), + body := (.build .pair (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.option (.fixed .u64))))))) [(.prim .checkedAdd [(.var 0), (.var 1)]), (.build .pair (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.option (.fixed .u64)))))) [(.prim .checkedSub [(.var 0), (.var 1)]), (.build .pair (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.option (.fixed .u64))))) [(.prim .checkedMul [(.var 0), (.var 1)]), (.build .pair (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.option (.fixed .u64)))) [(.prim .checkedQuot [(.var 0), (.var 1)]), (.build .pair (.pair (.option (.fixed .i64)) (.option (.fixed .u64))) [(.prim .checkedNeg [(.var 0)]), (.prim .checkedAdd [(.var 2), (.value (.fixed .u64) (.u64 1))])])])])])]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .core, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.fixed .i64) }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .i64) }, { pattern := (.bind (.generated .binding 2)), type := (.fixed .u64) }] (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.option (.fixed .u64))))))) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedAdd .i64)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedSub .i64)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedMul .i64)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedQuot .i64)) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0)))] (.call (.runtime (.checkedNeg .i64)) [(.move (.generated .operand 9))] false))) (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.lit (.fixed .u64 1)))] (.call (.runtime (.checkedAdd .u64)) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false))))))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedAdd .i64)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedSub .i64)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedMul .i64)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedQuot .i64)) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0)))] (.call (.runtime (.checkedNeg .i64)) [(.move (.generated .operand 9))] false))) (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.lit (.fixed .u64 1)))] (.call (.runtime (.checkedAdd .u64)) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false)))))))), [(2, (.fixed .u64), (some 2)), (1, (.fixed .i64), (some 1)), (0, (.fixed .i64), (some 0))], rfl, rfl, + (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedAdd .i64)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (Corr.prim (ts := [(.fixed .i64), (.fixed .i64)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedSub .i64)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [(.fixed .i64), (.fixed .i64)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedMul .i64)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false)) (Corr.prim (ts := [(.fixed .i64), (.fixed .i64)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedQuot .i64)) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false)) (Corr.prim (ts := [(.fixed .i64), (.fixed .i64)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime (.checkedNeg .i64)) [(.move (.generated .operand 9))] false)) (Corr.prim (ts := [(.fixed .i64)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.lit (.fixed .u64 1)))]) (tail := (.call (.runtime (.checkedAdd .u64)) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false)) (Corr.prim (ts := [(.fixed .u64), (.fixed .u64)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | _ + 1 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23/RustStd.lean new file mode 100644 index 000000000..15d2a3828 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23/RustStd.lean @@ -0,0 +1,33 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1, 2], types := [(.fixed .i64), (.fixed .i64), (.fixed .u64)], result := (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.option (.fixed .u64))))))), + body := (.build .pair (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.option (.fixed .u64))))))) [(.prim .checkedAdd [(.var 0), (.var 1)]), (.build .pair (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.option (.fixed .u64)))))) [(.prim .checkedSub [(.var 0), (.var 1)]), (.build .pair (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.option (.fixed .u64))))) [(.prim .checkedMul [(.var 0), (.var 1)]), (.build .pair (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.option (.fixed .u64)))) [(.prim .checkedQuot [(.var 0), (.var 1)]), (.build .pair (.pair (.option (.fixed .i64)) (.option (.fixed .u64))) [(.prim .checkedNeg [(.var 0)]), (.prim .checkedAdd [(.var 2), (.value (.fixed .u64) (.u64 1))])])])])])]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.fixed .i64) }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .i64) }, { pattern := (.bind (.generated .binding 2)), type := (.fixed .u64) }] (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.pair (.option (.fixed .i64)) (.option (.fixed .u64))))))) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedAdd .i64)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedSub .i64)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedMul .i64)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedQuot .i64)) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0)))] (.call (.runtime (.checkedNeg .i64)) [(.move (.generated .operand 9))] false))) (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.lit (.fixed .u64 1)))] (.call (.runtime (.checkedAdd .u64)) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false))))))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedAdd .i64)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedSub .i64)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedMul .i64)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedQuot .i64)) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0)))] (.call (.runtime (.checkedNeg .i64)) [(.move (.generated .operand 9))] false))) (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.lit (.fixed .u64 1)))] (.call (.runtime (.checkedAdd .u64)) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false)))))))), [(2, (.fixed .u64), (some 2)), (1, (.fixed .i64), (some 1)), (0, (.fixed .i64), (some 0))], rfl, rfl, + (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedAdd .i64)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (Corr.prim (ts := [(.fixed .i64), (.fixed .i64)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedSub .i64)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [(.fixed .i64), (.fixed .i64)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedMul .i64)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false)) (Corr.prim (ts := [(.fixed .i64), (.fixed .i64)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.checkedQuot .i64)) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false)) (Corr.prim (ts := [(.fixed .i64), (.fixed .i64)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime (.checkedNeg .i64)) [(.move (.generated .operand 9))] false)) (Corr.prim (ts := [(.fixed .i64)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 11)) none (.lit (.fixed .u64 1)))]) (tail := (.call (.runtime (.checkedAdd .u64)) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false)) (Corr.prim (ts := [(.fixed .u64), (.fixed .u64)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | _ + 1 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R24.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24.lean similarity index 98% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R24.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24.lean index b147d36c4..c33ee9add 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R24.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24.lean @@ -18,7 +18,7 @@ set_option maxRecDepth 100000 set_option maxHeartbeats 0 set_option synthInstance.maxHeartbeats 0 set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24 def __prog : _root_.LexLeanTarget.TargetSyntax.Program := { adts := [], functions := [ @@ -37,4 +37,4 @@ def denote (a : UInt16) (b : UInt16) (s : UInt32) : _root_.LexLeanPreservation.O theorem root (a : UInt16) (b : UInt16) (s : UInt32) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.u16 a), (_root_.LexLeanTarget.TargetSyntax.Value.u16 b), (_root_.LexLeanTarget.TargetSyntax.Value.u32 s)] (_root_.LexLeanPreservation.Rel (__fits_0 a b s) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.u16 (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.u16 (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.u16 (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.u16 (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.u16) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.u16) _root_.LexLeanTarget.TargetSyntax.Value.bool)))))) (Coverage.Prims.bits a b s))) := _root_.LexLeanPreservation.run_of_funRel (__rel_0 a b s) -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24 +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24/Compose/RustCore.lean new file mode 100644 index 000000000..e9a9948e6 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustCore +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustCore + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (a : UInt16) (b : UInt16) (s : UInt32) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.u16 a), (_root_.LexLeanTarget.TargetSyntax.Value.u16 b), (_root_.LexLeanTarget.TargetSyntax.Value.u32 s)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.denote a b s) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.u16 a), (_root_.LexLeanTarget.TargetSyntax.Value.u16 b), (_root_.LexLeanTarget.TargetSyntax.Value.u32 s)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_u16 a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_u16 b) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_u32 s) _root_.LexLeanPreservation.Rust.wtl_nil))) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.root a b s) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24/Compose/RustStd.lean new file mode 100644 index 000000000..1e64d0013 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustStd + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (a : UInt16) (b : UInt16) (s : UInt32) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.u16 a), (_root_.LexLeanTarget.TargetSyntax.Value.u16 b), (_root_.LexLeanTarget.TargetSyntax.Value.u32 s)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.denote a b s) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.u16 a), (_root_.LexLeanTarget.TargetSyntax.Value.u16 b), (_root_.LexLeanTarget.TargetSyntax.Value.u32 s)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_u16 a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_u16 b) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_u32 s) _root_.LexLeanPreservation.Rust.wtl_nil))) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.root a b s) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24/RustCore.lean new file mode 100644 index 000000000..68a88b521 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24/RustCore.lean @@ -0,0 +1,33 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustCore +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1, 2], types := [(.fixed .u16), (.fixed .u16), (.fixed .u32)], result := (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.option (.fixed .u16)) (.pair (.option (.fixed .u16)) .bool)))))), + body := (.build .pair (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.option (.fixed .u16)) (.pair (.option (.fixed .u16)) .bool)))))) [(.prim .bitAnd [(.var 0), (.var 1)]), (.build .pair (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.option (.fixed .u16)) (.pair (.option (.fixed .u16)) .bool))))) [(.prim .bitOr [(.var 0), (.var 1)]), (.build .pair (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.option (.fixed .u16)) (.pair (.option (.fixed .u16)) .bool)))) [(.prim .bitXor [(.var 0), (.var 1)]), (.build .pair (.pair (.fixed .u16) (.pair (.option (.fixed .u16)) (.pair (.option (.fixed .u16)) .bool))) [(.prim .bitNot [(.var 0)]), (.build .pair (.pair (.option (.fixed .u16)) (.pair (.option (.fixed .u16)) .bool)) [(.prim .shiftLeft [(.var 0), (.var 2)]), (.build .pair (.pair (.option (.fixed .u16)) .bool) [(.prim .shiftRight [(.var 0), (.value (.fixed .u32) (.u32 3))]), (.prim .equal [(.var 0), (.var 1)])])])])])])]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .core, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.fixed .u16) }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .u16) }, { pattern := (.bind (.generated .binding 2)), type := (.fixed .u32) }] (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.option (.fixed .u16)) (.pair (.option (.fixed .u16)) .bool)))))) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.bitAnd .u16)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))] (.call (.runtime (.bitOr .u16)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))] (.call (.runtime (.bitXor .u16)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0)))] (.call (.runtime (.bitNot .u16)) [(.move (.generated .operand 7))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 2)))] (.call (.runtime (.shiftLeft .u16)) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.lit (.fixed .u32 3)))] (.call (.runtime (.shiftRight .u16)) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false))) (.block (.mk [(.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))] (.call (.runtime .equal) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false)))))))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.bitAnd .u16)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))] (.call (.runtime (.bitOr .u16)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))] (.call (.runtime (.bitXor .u16)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0)))] (.call (.runtime (.bitNot .u16)) [(.move (.generated .operand 7))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 2)))] (.call (.runtime (.shiftLeft .u16)) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.lit (.fixed .u32 3)))] (.call (.runtime (.shiftRight .u16)) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false))) (.block (.mk [(.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))] (.call (.runtime .equal) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false))))))))), [(2, (.fixed .u32), (some 2)), (1, (.fixed .u16), (some 1)), (0, (.fixed .u16), (some 0))], rfl, rfl, + (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.bitAnd .u16)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (Corr.prim (ts := [(.fixed .u16), (.fixed .u16)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.bitOr .u16)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [(.fixed .u16), (.fixed .u16)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.bitXor .u16)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false)) (Corr.prim (ts := [(.fixed .u16), (.fixed .u16)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime (.bitNot .u16)) [(.move (.generated .operand 7))] false)) (Corr.prim (ts := [(.fixed .u16)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime (.shiftLeft .u16)) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false)) (Corr.prim (ts := [(.fixed .u16), (.fixed .u32)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.lit (.fixed .u32 3)))]) (tail := (.call (.runtime (.shiftRight .u16)) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false)) (Corr.prim (ts := [(.fixed .u16), (.fixed .u32)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .equal) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false)) (Corr.prim (ts := [(.fixed .u16), (.fixed .u16)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | _ + 1 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24/RustStd.lean new file mode 100644 index 000000000..e30076124 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24/RustStd.lean @@ -0,0 +1,33 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1, 2], types := [(.fixed .u16), (.fixed .u16), (.fixed .u32)], result := (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.option (.fixed .u16)) (.pair (.option (.fixed .u16)) .bool)))))), + body := (.build .pair (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.option (.fixed .u16)) (.pair (.option (.fixed .u16)) .bool)))))) [(.prim .bitAnd [(.var 0), (.var 1)]), (.build .pair (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.option (.fixed .u16)) (.pair (.option (.fixed .u16)) .bool))))) [(.prim .bitOr [(.var 0), (.var 1)]), (.build .pair (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.option (.fixed .u16)) (.pair (.option (.fixed .u16)) .bool)))) [(.prim .bitXor [(.var 0), (.var 1)]), (.build .pair (.pair (.fixed .u16) (.pair (.option (.fixed .u16)) (.pair (.option (.fixed .u16)) .bool))) [(.prim .bitNot [(.var 0)]), (.build .pair (.pair (.option (.fixed .u16)) (.pair (.option (.fixed .u16)) .bool)) [(.prim .shiftLeft [(.var 0), (.var 2)]), (.build .pair (.pair (.option (.fixed .u16)) .bool) [(.prim .shiftRight [(.var 0), (.value (.fixed .u32) (.u32 3))]), (.prim .equal [(.var 0), (.var 1)])])])])])])]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.fixed .u16) }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .u16) }, { pattern := (.bind (.generated .binding 2)), type := (.fixed .u32) }] (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.fixed .u16) (.pair (.option (.fixed .u16)) (.pair (.option (.fixed .u16)) .bool)))))) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.bitAnd .u16)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))] (.call (.runtime (.bitOr .u16)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))] (.call (.runtime (.bitXor .u16)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0)))] (.call (.runtime (.bitNot .u16)) [(.move (.generated .operand 7))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 2)))] (.call (.runtime (.shiftLeft .u16)) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.lit (.fixed .u32 3)))] (.call (.runtime (.shiftRight .u16)) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false))) (.block (.mk [(.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))] (.call (.runtime .equal) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false)))))))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.bitAnd .u16)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))] (.call (.runtime (.bitOr .u16)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))] (.call (.runtime (.bitXor .u16)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0)))] (.call (.runtime (.bitNot .u16)) [(.move (.generated .operand 7))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 2)))] (.call (.runtime (.shiftLeft .u16)) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.lit (.fixed .u32 3)))] (.call (.runtime (.shiftRight .u16)) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false))) (.block (.mk [(.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))] (.call (.runtime .equal) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false))))))))), [(2, (.fixed .u32), (some 2)), (1, (.fixed .u16), (some 1)), (0, (.fixed .u16), (some 0))], rfl, rfl, + (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.bitAnd .u16)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (Corr.prim (ts := [(.fixed .u16), (.fixed .u16)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.bitOr .u16)) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [(.fixed .u16), (.fixed .u16)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.bitXor .u16)) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false)) (Corr.prim (ts := [(.fixed .u16), (.fixed .u16)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime (.bitNot .u16)) [(.move (.generated .operand 7))] false)) (Corr.prim (ts := [(.fixed .u16)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime (.shiftLeft .u16)) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false)) (Corr.prim (ts := [(.fixed .u16), (.fixed .u32)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.lit (.fixed .u32 3)))]) (tail := (.call (.runtime (.shiftRight .u16)) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] false)) (Corr.prim (ts := [(.fixed .u16), (.fixed .u32)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .equal) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false)) (Corr.prim (ts := [(.fixed .u16), (.fixed .u16)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | _ + 1 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R25.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25.lean similarity index 96% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R25.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25.lean index 354b02ed8..75be1696d 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R25.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25.lean @@ -18,7 +18,7 @@ set_option maxRecDepth 100000 set_option maxHeartbeats 0 set_option synthInstance.maxHeartbeats 0 set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25 def __prog : _root_.LexLeanTarget.TargetSyntax.Program := { adts := [], functions := [ @@ -37,4 +37,4 @@ def denote (a : Int) (b : Int8) : _root_.LexLeanPreservation.Obs := theorem root (a : Int) (b : Int8) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.int a), (_root_.LexLeanTarget.TargetSyntax.Value.i8 b)] (_root_.LexLeanPreservation.Rel (__fits_0 a b) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.u16) (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.i64)) (Coverage.Prims.conversions a b))) := _root_.LexLeanPreservation.run_of_funRel (__rel_0 a b) -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25 +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25/Compose/RustCore.lean new file mode 100644 index 000000000..818b0d62b --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustCore +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustCore + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (a : Int) (b : Int8) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.int a), (_root_.LexLeanTarget.TargetSyntax.Value.i8 b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.int a), (_root_.LexLeanTarget.TargetSyntax.Value.i8 b)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_int a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i8 b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25/Compose/RustStd.lean new file mode 100644 index 000000000..c25432792 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustStd + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (a : Int) (b : Int8) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.int a), (_root_.LexLeanTarget.TargetSyntax.Value.i8 b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.int a), (_root_.LexLeanTarget.TargetSyntax.Value.i8 b)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_int a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i8 b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25/RustCore.lean new file mode 100644 index 000000000..21ff06dbf --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25/RustCore.lean @@ -0,0 +1,33 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustCore +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [.int, (.fixed .i8)], result := (.pair (.option (.fixed .u16)) (.option (.fixed .i64))), + body := (.build .pair (.pair (.option (.fixed .u16)) (.option (.fixed .i64))) [(.prim (.convert .u16) [(.var 0)]), (.prim (.convert .i64) [(.var 1)])]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .core, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .int }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .i8) }] (.pair (.option (.fixed .u16)) (.option (.fixed .i64))) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0)))] (.call (.runtime (.convert .u16)) [(.widen (.move (.generated .operand 1)))] false))) (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.convert .i64)) [(.widen (.move (.generated .operand 2)))] false))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0)))] (.call (.runtime (.convert .u16)) [(.widen (.move (.generated .operand 1)))] false))) (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.convert .i64)) [(.widen (.move (.generated .operand 2)))] false)))), [(1, (.fixed .i8), (some 1)), (0, .int, (some 0))], rfl, rfl, + (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime (.convert .u16)) [(.widen (.move (.generated .operand 1)))] false)) (Corr.primWiden (t0 := .int) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.convert .i64)) [(.widen (.move (.generated .operand 2)))] false)) (Corr.primWiden (t0 := (.fixed .i8)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl)) (Corr.lNil)))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | _ + 1 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25/RustStd.lean new file mode 100644 index 000000000..29eb5e7e1 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25/RustStd.lean @@ -0,0 +1,33 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [.int, (.fixed .i8)], result := (.pair (.option (.fixed .u16)) (.option (.fixed .i64))), + body := (.build .pair (.pair (.option (.fixed .u16)) (.option (.fixed .i64))) [(.prim (.convert .u16) [(.var 0)]), (.prim (.convert .i64) [(.var 1)])]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .int }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .i8) }] (.pair (.option (.fixed .u16)) (.option (.fixed .i64))) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0)))] (.call (.runtime (.convert .u16)) [(.widen (.move (.generated .operand 1)))] false))) (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.convert .i64)) [(.widen (.move (.generated .operand 2)))] false))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0)))] (.call (.runtime (.convert .u16)) [(.widen (.move (.generated .operand 1)))] false))) (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.convert .i64)) [(.widen (.move (.generated .operand 2)))] false)))), [(1, (.fixed .i8), (some 1)), (0, .int, (some 0))], rfl, rfl, + (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime (.convert .u16)) [(.widen (.move (.generated .operand 1)))] false)) (Corr.primWiden (t0 := .int) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.convert .i64)) [(.widen (.move (.generated .operand 2)))] false)) (Corr.primWiden (t0 := (.fixed .i8)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl)) (Corr.lNil)))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | _ + 1 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R26.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R26.lean new file mode 100644 index 000000000..b2709aa80 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R26.lean @@ -0,0 +1,40 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Coverage.Boundary +import Coverage.Colls +import Coverage.Main +import Coverage.Prims +import Coverage.RecRoots +import Coverage.Recur +import Coverage.Syntax +import Coverage.Types +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1, 2], types := [(.list .nat), .bytes, .nat], result := (.pair (.list .nat) (.pair .bytes (.pair .nat (.pair (.option .nat) (.pair (.option (.fixed .u8)) (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool)))))))), + body := (.build .pair (.pair (.list .nat) (.pair .bytes (.pair .nat (.pair (.option .nat) (.pair (.option (.fixed .u8)) (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool)))))))) [(.prim .append [(.var 0), (.build .cons (.list .nat) [(.value .nat (.nat 1)), (.build .nil (.list .nat) [])])]), (.build .pair (.pair .bytes (.pair .nat (.pair (.option .nat) (.pair (.option (.fixed .u8)) (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool))))))) [(.prim .append [(.var 1), (.value .bytes (.bytes (ByteArray.mk #[10])))]), (.build .pair (.pair .nat (.pair (.option .nat) (.pair (.option (.fixed .u8)) (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool)))))) [(.prim .natAdd [(.prim .length [(.var 0)]), (.prim .length [(.var 1)])]), (.build .pair (.pair (.option .nat) (.pair (.option (.fixed .u8)) (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool))))) [(.prim .index [(.var 0), (.var 2)]), (.build .pair (.pair (.option (.fixed .u8)) (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool)))) [(.prim .index [(.var 1), (.var 2)]), (.build .pair (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool))) [(.prim .slice [(.var 0), (.var 2), (.value .nat (.nat 2))]), (.build .pair (.pair (.option .bytes) (.pair .bool .bool)) [(.prim .slice [(.var 1), (.value .nat (.nat 0)), (.var 2)]), (.build .pair (.pair .bool .bool) [(.prim .equal [(.var 1), (.value .bytes (.bytes (ByteArray.mk #[])))]), (.prim .equal [(.prim .equal [(.var 2), (.value .nat (.nat 3))]), (.build .true .bool [])])])])])])])])])]) }] } + +def __fits_0 (xs : (List Nat)) (b : ByteArray) (i : Nat) : Bool := + ((((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (xs) : Nat) 18446744073709551616)) && (((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (b) : Nat) 18446744073709551616)) && Bool.true)) && (Nat.blt ((_root_.LexLeanRuntime.length (xs) : Nat) + (_root_.LexLeanRuntime.length (b) : Nat)) 18446744073709551616)) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && (Bool.true && Bool.true))) && Bool.true) && (((((Bool.true && (Bool.true && (Bool.true && Bool.true))) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) + +theorem __rel_0 (xs : (List Nat)) (b : ByteArray) (i : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) xs), (_root_.LexLeanTarget.TargetSyntax.Value.bytes b), (_root_.LexLeanTarget.TargetSyntax.Value.nat i)] (_root_.LexLeanPreservation.Rel (__fits_0 xs b i) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bytes (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.u8) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.bytes) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool)))))))) (Coverage.Prims.sequences xs b i))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) xs ((1 : Nat) :: ([] : List Nat)))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_bytes b (ByteArray.mk #[10]))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) xs)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_bytes b)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (_root_.LexLeanRuntime.length (xs) : Nat) (_root_.LexLeanRuntime.length (b) : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_index_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.optEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) _root_.LexLeanRuntime.listIndex (fun _ => rfl) (fun _ _ => rfl) (fun _ _ _ => rfl) xs i)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_index_bytes b i)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.prim_slice_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.optEnc (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) xs i (2 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.prim_slice_bytes b (0 : Nat) i)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_equal_bytes b (ByteArray.mk #[]))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_equal_nat i (3 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_equal_bool (_root_.LexLeanRuntime.equal (i) ((3 : Nat)) : Bool) Bool.true)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) + +def denote (xs : (List Nat)) (b : ByteArray) (i : Nat) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 xs b i) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bytes (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.u8) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.bytes) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool)))))))) (Coverage.Prims.sequences xs b i)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (xs : (List Nat)) (b : ByteArray) (i : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) xs), (_root_.LexLeanTarget.TargetSyntax.Value.bytes b), (_root_.LexLeanTarget.TargetSyntax.Value.nat i)] (_root_.LexLeanPreservation.Rel (__fits_0 xs b i) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bytes (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.u8) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.bytes) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool)))))))) (Coverage.Prims.sequences xs b i))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 xs b i) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R26/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R26/Compose/RustStd.lean new file mode 100644 index 000000000..3eccead3a --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R26/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.Compose.RustStd + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (xs : (List Nat)) (b : ByteArray) (i : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) xs), (_root_.LexLeanTarget.TargetSyntax.Value.bytes b), (_root_.LexLeanTarget.TargetSyntax.Value.nat i)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.denote xs b i) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) xs), (_root_.LexLeanTarget.TargetSyntax.Value.bytes b), (_root_.LexLeanTarget.TargetSyntax.Value.nat i)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList _root_.LexLeanPreservation.Rust.wt_nat) xs) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_bytes b) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat i) _root_.LexLeanPreservation.Rust.wtl_nil))) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.root xs b i) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R26/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R26/RustStd.lean new file mode 100644 index 000000000..86e9adc78 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R26/RustStd.lean @@ -0,0 +1,33 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1, 2], types := [(.list .nat), .bytes, .nat], result := (.pair (.list .nat) (.pair .bytes (.pair .nat (.pair (.option .nat) (.pair (.option (.fixed .u8)) (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool)))))))), + body := (.build .pair (.pair (.list .nat) (.pair .bytes (.pair .nat (.pair (.option .nat) (.pair (.option (.fixed .u8)) (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool)))))))) [(.prim .append [(.var 0), (.build .cons (.list .nat) [(.value .nat (.nat 1)), (.build .nil (.list .nat) [])])]), (.build .pair (.pair .bytes (.pair .nat (.pair (.option .nat) (.pair (.option (.fixed .u8)) (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool))))))) [(.prim .append [(.var 1), (.value .bytes (.bytes (ByteArray.mk #[10])))]), (.build .pair (.pair .nat (.pair (.option .nat) (.pair (.option (.fixed .u8)) (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool)))))) [(.prim .natAdd [(.prim .length [(.var 0)]), (.prim .length [(.var 1)])]), (.build .pair (.pair (.option .nat) (.pair (.option (.fixed .u8)) (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool))))) [(.prim .index [(.var 0), (.var 2)]), (.build .pair (.pair (.option (.fixed .u8)) (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool)))) [(.prim .index [(.var 1), (.var 2)]), (.build .pair (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool))) [(.prim .slice [(.var 0), (.var 2), (.value .nat (.nat 2))]), (.build .pair (.pair (.option .bytes) (.pair .bool .bool)) [(.prim .slice [(.var 1), (.value .nat (.nat 0)), (.var 2)]), (.build .pair (.pair .bool .bool) [(.prim .equal [(.var 1), (.value .bytes (.bytes (ByteArray.mk #[])))]), (.prim .equal [(.prim .equal [(.var 2), (.value .nat (.nat 3))]), (.build .true .bool [])])])])])])])])])]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .bytes }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.fallible (.pair (.list .nat) (.pair .bytes (.pair .nat (.pair (.option .nat) (.pair (.option (.fixed .u8)) (.pair (.option (.list .nat)) (.pair (.option .bytes) (.pair .bool .bool))))))))) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.construct .cons [(.lit (.nat 1)), (.construct (.nil .nat) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.lit (.bytes (ByteArray.mk #[10]))))] (.call (.runtime .appendBytes) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 5))] false)))), (.mk (.bind (.generated .operand 8)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthBytes) [(.move (.generated .operand 6))] false))))] (.call (.runtime .natAdd) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] true))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.clone (.generated .binding 0))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2)))] (.call (.runtime .indexList) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 2)))] (.call (.runtime .indexBytes) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 13)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 15)) none (.lit (.nat 2)))] (.call (.runtime .sliceList) [(.move (.generated .operand 13)), (.move (.generated .operand 14)), (.move (.generated .operand 15))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 17)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 2)))] (.call (.runtime .sliceBytes) [(.move (.generated .operand 16)), (.move (.generated .operand 17)), (.move (.generated .operand 18))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 19)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 20)) none (.lit (.bytes (ByteArray.mk #[]))))] (.call (.runtime .equal) [(.move (.generated .operand 19)), (.move (.generated .operand 20))] false))) (.block (.mk [(.mk (.bind (.generated .operand 23)) none (.block (.mk [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 22)) none (.lit (.nat 3)))] (.call (.runtime .equal) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false)))), (.mk (.bind (.generated .operand 24)) none (.lit (.bool true)))] (.call (.runtime .equal) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false))))))))))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.construct .cons [(.lit (.nat 1)), (.construct (.nil .nat) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.lit (.bytes (ByteArray.mk #[10]))))] (.call (.runtime .appendBytes) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 5))] false)))), (.mk (.bind (.generated .operand 8)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthBytes) [(.move (.generated .operand 6))] false))))] (.call (.runtime .natAdd) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] true))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.clone (.generated .binding 0))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2)))] (.call (.runtime .indexList) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 2)))] (.call (.runtime .indexBytes) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 13)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 15)) none (.lit (.nat 2)))] (.call (.runtime .sliceList) [(.move (.generated .operand 13)), (.move (.generated .operand 14)), (.move (.generated .operand 15))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 17)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 2)))] (.call (.runtime .sliceBytes) [(.move (.generated .operand 16)), (.move (.generated .operand 17)), (.move (.generated .operand 18))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 19)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 20)) none (.lit (.bytes (ByteArray.mk #[]))))] (.call (.runtime .equal) [(.move (.generated .operand 19)), (.move (.generated .operand 20))] false))) (.block (.mk [(.mk (.bind (.generated .operand 23)) none (.block (.mk [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 22)) none (.lit (.nat 3)))] (.call (.runtime .equal) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false)))), (.mk (.bind (.generated .operand 24)) none (.lit (.bool true)))] (.call (.runtime .equal) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false)))))))))))), [(2, .nat, (some 2)), (1, .bytes, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, + (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.construct .cons [(.lit (.nat 1)), (.construct (.nil .nat) [])]))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (Corr.prim (ts := [(.list .nat), (.list .nat)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.lit (.bytes (ByteArray.mk #[10]))))]) (tail := (.call (.runtime .appendBytes) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [.bytes, .bytes]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 7)) none (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 5))] false)))), (.mk (.bind (.generated .operand 8)) none (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthBytes) [(.move (.generated .operand 6))] false))))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.clone (.generated .binding 0)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 5))] false)) (Corr.prim (ts := [(.list .nat)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 6)) none (.clone (.generated .binding 1)))]) (tail := (.call (.runtime .lengthBytes) [(.move (.generated .operand 6))] false)) (Corr.prim (ts := [.bytes]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 9)) none (.clone (.generated .binding 0))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .indexList) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false)) (Corr.prim (ts := [(.list .nat), .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 11)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .indexBytes) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false)) (Corr.prim (ts := [.bytes, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 13)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 15)) none (.lit (.nat 2)))]) (tail := (.call (.runtime .sliceList) [(.move (.generated .operand 13)), (.move (.generated .operand 14)), (.move (.generated .operand 15))] false)) (Corr.prim (ts := [(.list .nat), .nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 16)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 17)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .sliceBytes) [(.move (.generated .operand 16)), (.move (.generated .operand 17)), (.move (.generated .operand 18))] false)) (Corr.prim (ts := [.bytes, .nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 19)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 20)) none (.lit (.bytes (ByteArray.mk #[]))))]) (tail := (.call (.runtime .equal) [(.move (.generated .operand 19)), (.move (.generated .operand 20))] false)) (Corr.prim (ts := [.bytes, .bytes]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 23)) none (.block (.mk [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 22)) none (.lit (.nat 3)))] (.call (.runtime .equal) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false)))), (.mk (.bind (.generated .operand 24)) none (.lit (.bool true)))]) (tail := (.call (.runtime .equal) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false)) (Corr.prim (ts := [.bool, .bool]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 22)) none (.lit (.nat 3)))]) (tail := (.call (.runtime .equal) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.buildConst rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil))))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | _ + 1 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R27.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R27.lean similarity index 96% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R27.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R27.lean index 752c3448f..5fdf87704 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R27.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R27.lean @@ -18,7 +18,7 @@ set_option maxRecDepth 100000 set_option maxHeartbeats 0 set_option synthInstance.maxHeartbeats 0 set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27 def __prog : _root_.LexLeanTarget.TargetSyntax.Program := { adts := [], functions := [ @@ -37,4 +37,4 @@ def denote (s : String) : _root_.LexLeanPreservation.Obs := theorem root (s : String) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.string s)] (_root_.LexLeanPreservation.Rel (__fits_0 s) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.u32)) (Coverage.Prims.decimals s))) := _root_.LexLeanPreservation.run_of_funRel (__rel_0 s) -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27 +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R27/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R27/Compose/RustStd.lean new file mode 100644 index 000000000..c56b5b54a --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R27/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.Compose.RustStd + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (s : String) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.string s)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.denote s) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.string s)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_string s) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.root s) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R27/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R27/RustStd.lean new file mode 100644 index 000000000..16d143679 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R27/RustStd.lean @@ -0,0 +1,33 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0], types := [.string], result := (.pair (.option .int) (.option (.fixed .u32))), + body := (.build .pair (.pair (.option .int) (.option (.fixed .u32))) [(.prim (.parseDecimal .int) [(.var 0)]), (.prim (.parseDecimal (.fixed .u32)) [(.var 0)])]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .str }] (.fallible (.pair (.option .int) (.option (.fixed .u32)))) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0)))] (.call (.runtime .parseInt) [(.move (.generated .operand 1))] true))) (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.move (.generated .binding 0)))] (.call (.runtime (.parseFixed .u32)) [(.move (.generated .operand 2))] false)))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0)))] (.call (.runtime .parseInt) [(.move (.generated .operand 1))] true))) (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.move (.generated .binding 0)))] (.call (.runtime (.parseFixed .u32)) [(.move (.generated .operand 2))] false))))), [(0, .string, (some 0))], rfl, rfl, + (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0)))]) (tail := (.call (.runtime .parseInt) [(.move (.generated .operand 1))] true)) (Corr.prim (ts := [.string]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 2)) none (.move (.generated .binding 0)))]) (tail := (.call (.runtime (.parseFixed .u32)) [(.move (.generated .operand 2))] false)) (Corr.prim (ts := [.string]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | _ + 1 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R28.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R28.lean similarity index 95% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R28.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R28.lean index dec2e514a..411d042a3 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R28.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R28.lean @@ -18,7 +18,7 @@ set_option maxRecDepth 100000 set_option maxHeartbeats 0 set_option synthInstance.maxHeartbeats 0 set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28 def __prog : _root_.LexLeanTarget.TargetSyntax.Program := { adts := [], functions := [ @@ -37,4 +37,4 @@ def denote (a : Int) (b : Int8) : _root_.LexLeanPreservation.Obs := theorem root (a : Int) (b : Int8) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.int a), (_root_.LexLeanTarget.TargetSyntax.Value.i8 b)] (_root_.LexLeanPreservation.Rel (__fits_0 a b) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.string) (Coverage.Prims.formats a b))) := _root_.LexLeanPreservation.run_of_funRel (__rel_0 a b) -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28 +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R28/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R28/Compose/RustStd.lean new file mode 100644 index 000000000..7741c36c3 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R28/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.Compose.RustStd + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (a : Int) (b : Int8) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.int a), (_root_.LexLeanTarget.TargetSyntax.Value.i8 b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.int a), (_root_.LexLeanTarget.TargetSyntax.Value.i8 b)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_int a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i8 b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R28/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R28/RustStd.lean new file mode 100644 index 000000000..01c7ff5ef --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R28/RustStd.lean @@ -0,0 +1,33 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [.int, (.fixed .i8)], result := (.pair .string .string), + body := (.build .pair (.pair .string .string) [(.prim .formatDecimal [(.var 0)]), (.prim .formatDecimal [(.var 1)])]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .int }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .i8) }] (.pair .str .str) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0)))] (.call (.runtime .formatInt) [(.move (.generated .operand 1))] false))) (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.formatFixed .i8)) [(.move (.generated .operand 2))] false))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0)))] (.call (.runtime .formatInt) [(.move (.generated .operand 1))] false))) (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.formatFixed .i8)) [(.move (.generated .operand 2))] false)))), [(1, (.fixed .i8), (some 1)), (0, .int, (some 0))], rfl, rfl, + (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime .formatInt) [(.move (.generated .operand 1))] false)) (Corr.prim (ts := [.int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime (.formatFixed .i8)) [(.move (.generated .operand 2))] false)) (Corr.prim (ts := [(.fixed .i8)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | _ + 1 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R29.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R29.lean new file mode 100644 index 000000000..129d505f3 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R29.lean @@ -0,0 +1,40 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Coverage.Boundary +import Coverage.Colls +import Coverage.Main +import Coverage.Prims +import Coverage.RecRoots +import Coverage.Recur +import Coverage.Syntax +import Coverage.Types +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [.string, .string], result := (.pair .bytes (.pair (.option .string) (.pair .ordering (.pair (.option (.list .string)) (.pair .string (.pair .nat .bool)))))), + body := (.«let» 2 .bytes (.prim .utf8Encode [(.var 0)]) (.build .pair (.pair .bytes (.pair (.option .string) (.pair .ordering (.pair (.option (.list .string)) (.pair .string (.pair .nat .bool)))))) [(.var 2), (.build .pair (.pair (.option .string) (.pair .ordering (.pair (.option (.list .string)) (.pair .string (.pair .nat .bool))))) [(.prim .utf8Decode [(.var 2)]), (.build .pair (.pair .ordering (.pair (.option (.list .string)) (.pair .string (.pair .nat .bool)))) [(.prim .compareBytes [(.var 2), (.value .bytes (.bytes (ByteArray.mk #[0, 255])))]), (.build .pair (.pair (.option (.list .string)) (.pair .string (.pair .nat .bool))) [(.prim .splitExact [(.var 0), (.var 1), (.value (.fixed .u32) (.u32 4))]), (.build .pair (.pair .string (.pair .nat .bool)) [(.prim .join [(.build .cons (.list .string) [(.var 0), (.build .cons (.list .string) [(.value .string (.string "x\"y")), (.build .nil (.list .string) [])])]), (.var 1)]), (.build .pair (.pair .nat .bool) [(.prim .length [(.var 0)]), (.cond (.prim .equal [(.var 0), (.var 1)]) (.prim .equal [(.prim .compareBytes [(.var 2), (.var 2)]), (.prim .compareBytes [(.value .bytes (.bytes (ByteArray.mk #[]))), (.value .bytes (.bytes (ByteArray.mk #[1])))])]) (.build .false .bool []))])])])])])])) }] } + +def __fits_0 (s : String) (d : String) : Bool := + (((Bool.true && Bool.true) && Bool.true) && (let raw : ByteArray := (_root_.LexLeanRuntime.utf8Encode (s) : ByteArray); ((Bool.true && (((((Bool.true && Bool.true) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && (Bool.true && Bool.true))) && Bool.true) && (((((((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (s) : Nat) 18446744073709551616)) && ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (_root_.LexLeanRuntime.equal (s) (d) : Bool) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) + +theorem __rel_0 (s : String) (d : String) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.string s), (_root_.LexLeanTarget.TargetSyntax.Value.string d)] (_root_.LexLeanPreservation.Rel (__fits_0 s d) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bytes (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.string) (_root_.LexLeanPreservation.encPair _root_.LexLeanPreservation.encOrdering (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string)) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)))))) (Coverage.Prims.text s d))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (let raw : ByteArray := (_root_.LexLeanRuntime.utf8Encode (s) : ByteArray); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_utf8Encode s)) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_utf8Decode raw)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_compareBytes raw (ByteArray.mk #[0, 255]))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.prim_splitExact s d (4 : UInt32))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_join (s :: ("x\"y" :: ([] : List String))) d)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_string s)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (_root_.LexLeanRuntime.equal ((_root_.LexLeanRuntime.compareBytes (raw) (raw) : Ordering)) ((_root_.LexLeanRuntime.compareBytes ((ByteArray.mk #[])) ((ByteArray.mk #[1])) : Ordering)) : Bool))) (_root_.LexLeanRuntime.equal (s) (d) : Bool) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_equal_string s d)) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_compareBytes raw raw)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_compareBytes (ByteArray.mk #[]) (ByteArray.mk #[1]))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_equal_ordering (_root_.LexLeanRuntime.compareBytes (raw) (raw) : Ordering) (_root_.LexLeanRuntime.compareBytes ((ByteArray.mk #[])) ((ByteArray.mk #[1])) : Ordering)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair)) + +def denote (s : String) (d : String) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 s d) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bytes (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.string) (_root_.LexLeanPreservation.encPair _root_.LexLeanPreservation.encOrdering (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string)) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)))))) (Coverage.Prims.text s d)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (s : String) (d : String) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.string s), (_root_.LexLeanTarget.TargetSyntax.Value.string d)] (_root_.LexLeanPreservation.Rel (__fits_0 s d) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bytes (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.string) (_root_.LexLeanPreservation.encPair _root_.LexLeanPreservation.encOrdering (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string)) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)))))) (Coverage.Prims.text s d))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 s d) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R29/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R29/Compose/RustStd.lean new file mode 100644 index 000000000..5ebfe9aad --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R29/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.Compose.RustStd + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (s : String) (d : String) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.string s), (_root_.LexLeanTarget.TargetSyntax.Value.string d)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.denote s d) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.string s), (_root_.LexLeanTarget.TargetSyntax.Value.string d)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_string s) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_string d) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.root s d) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R29/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R29/RustStd.lean new file mode 100644 index 000000000..887f23f80 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R29/RustStd.lean @@ -0,0 +1,33 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [.string, .string], result := (.pair .bytes (.pair (.option .string) (.pair .ordering (.pair (.option (.list .string)) (.pair .string (.pair .nat .bool)))))), + body := (.«let» 2 .bytes (.prim .utf8Encode [(.var 0)]) (.build .pair (.pair .bytes (.pair (.option .string) (.pair .ordering (.pair (.option (.list .string)) (.pair .string (.pair .nat .bool)))))) [(.var 2), (.build .pair (.pair (.option .string) (.pair .ordering (.pair (.option (.list .string)) (.pair .string (.pair .nat .bool))))) [(.prim .utf8Decode [(.var 2)]), (.build .pair (.pair .ordering (.pair (.option (.list .string)) (.pair .string (.pair .nat .bool)))) [(.prim .compareBytes [(.var 2), (.value .bytes (.bytes (ByteArray.mk #[0, 255])))]), (.build .pair (.pair (.option (.list .string)) (.pair .string (.pair .nat .bool))) [(.prim .splitExact [(.var 0), (.var 1), (.value (.fixed .u32) (.u32 4))]), (.build .pair (.pair .string (.pair .nat .bool)) [(.prim .join [(.build .cons (.list .string) [(.var 0), (.build .cons (.list .string) [(.value .string (.string "x\"y")), (.build .nil (.list .string) [])])]), (.var 1)]), (.build .pair (.pair .nat .bool) [(.prim .length [(.var 0)]), (.cond (.prim .equal [(.var 0), (.var 1)]) (.prim .equal [(.prim .compareBytes [(.var 2), (.var 2)]), (.prim .compareBytes [(.value .bytes (.bytes (ByteArray.mk #[]))), (.value .bytes (.bytes (ByteArray.mk #[1])))])]) (.build .false .bool []))])])])])])])) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .str }, { pattern := (.bind (.generated .binding 1)), type := .str }] (.pair .bytes (.pair (.option .str) (.pair .ordering (.pair (.option (.list .str)) (.pair .str (.pair .nat .bool)))))) (.mk [(.mk (.bind (.generated .binding 2)) (some .bytes) (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0)))] (.call (.runtime .utf8Encode) [(.move (.generated .operand 1))] false))))] (.pair (.clone (.generated .binding 2)) (.pair (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.clone (.generated .binding 2)))] (.call (.runtime .utf8Decode) [(.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.clone (.generated .binding 2))), (.mk (.bind (.generated .operand 4)) none (.lit (.bytes (ByteArray.mk #[0, 255]))))] (.call (.runtime .compareBytes) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.clone (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.lit (.fixed .u32 4)))] (.call (.runtime .splitExact) [(.move (.generated .operand 5)), (.move (.generated .operand 6)), (.move (.generated .operand 7))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 8)) none (.construct .cons [(.clone (.generated .binding 0)), (.construct .cons [(.lit (.str "x\"y")), (.construct (.nil .str) [])])])), (.mk (.bind (.generated .operand 9)) none (.clone (.generated .binding 1)))] (.call (.runtime .join) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthString) [(.move (.generated .operand 10))] false))) (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.move (.generated .binding 1)))] (.cond (.call (.runtime .equal) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false) (.mk [(.mk (.bind (.generated .operand 17)) none (.block (.mk [(.mk (.bind (.generated .operand 13)) none (.clone (.generated .binding 2))), (.mk (.bind (.generated .operand 14)) none (.move (.generated .binding 2)))] (.call (.runtime .compareBytes) [(.move (.generated .operand 13)), (.move (.generated .operand 14))] false)))), (.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.lit (.bytes (ByteArray.mk #[])))), (.mk (.bind (.generated .operand 16)) none (.lit (.bytes (ByteArray.mk #[1]))))] (.call (.runtime .compareBytes) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false))))] (.call (.runtime .equal) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false)) (.mk [] (.lit (.bool false))))))))))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 2)) (some .bytes) (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0)))] (.call (.runtime .utf8Encode) [(.move (.generated .operand 1))] false))))], (.pair (.clone (.generated .binding 2)) (.pair (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.clone (.generated .binding 2)))] (.call (.runtime .utf8Decode) [(.move (.generated .operand 2))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.clone (.generated .binding 2))), (.mk (.bind (.generated .operand 4)) none (.lit (.bytes (ByteArray.mk #[0, 255]))))] (.call (.runtime .compareBytes) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.clone (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.lit (.fixed .u32 4)))] (.call (.runtime .splitExact) [(.move (.generated .operand 5)), (.move (.generated .operand 6)), (.move (.generated .operand 7))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 8)) none (.construct .cons [(.clone (.generated .binding 0)), (.construct .cons [(.lit (.str "x\"y")), (.construct (.nil .str) [])])])), (.mk (.bind (.generated .operand 9)) none (.clone (.generated .binding 1)))] (.call (.runtime .join) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false))) (.pair (.block (.mk [(.mk (.bind (.generated .operand 10)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthString) [(.move (.generated .operand 10))] false))) (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.move (.generated .binding 1)))] (.cond (.call (.runtime .equal) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false) (.mk [(.mk (.bind (.generated .operand 17)) none (.block (.mk [(.mk (.bind (.generated .operand 13)) none (.clone (.generated .binding 2))), (.mk (.bind (.generated .operand 14)) none (.move (.generated .binding 2)))] (.call (.runtime .compareBytes) [(.move (.generated .operand 13)), (.move (.generated .operand 14))] false)))), (.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.lit (.bytes (ByteArray.mk #[])))), (.mk (.bind (.generated .operand 16)) none (.lit (.bytes (ByteArray.mk #[1]))))] (.call (.runtime .compareBytes) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false))))] (.call (.runtime .equal) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false)) (.mk [] (.lit (.bool false)))))))))))), [(1, .string, (some 1)), (0, .string, (some 0))], rfl, rfl, + (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0)))]) (tail := (.call (.runtime .utf8Encode) [(.move (.generated .operand 1))] false)) (Corr.prim (ts := [.string]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 2)) none (.clone (.generated .binding 2)))]) (tail := (.call (.runtime .utf8Decode) [(.move (.generated .operand 2))] false)) (Corr.prim (ts := [.bytes]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.clone (.generated .binding 2))), (.mk (.bind (.generated .operand 4)) none (.lit (.bytes (ByteArray.mk #[0, 255]))))]) (tail := (.call (.runtime .compareBytes) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [.bytes, .bytes]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.clone (.generated .binding 0))), (.mk (.bind (.generated .operand 6)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 7)) none (.lit (.fixed .u32 4)))]) (tail := (.call (.runtime .splitExact) [(.move (.generated .operand 5)), (.move (.generated .operand 6)), (.move (.generated .operand 7))] false)) (Corr.prim (ts := [.string, .string, (.fixed .u32)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 8)) none (.construct .cons [(.clone (.generated .binding 0)), (.construct .cons [(.lit (.str "x\"y")), (.construct (.nil .str) [])])])), (.mk (.bind (.generated .operand 9)) none (.clone (.generated .binding 1)))]) (tail := (.call (.runtime .join) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false)) (Corr.prim (ts := [(.list .string), .string]) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [.string, (.list .string)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.string, (.list .string)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 10)) none (.clone (.generated .binding 0)))]) (tail := (.call (.runtime .lengthString) [(.move (.generated .operand 10))] false)) (Corr.prim (ts := [.string]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 11)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.move (.generated .binding 1)))]) (tail := (.cond (.call (.runtime .equal) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false) (.mk [(.mk (.bind (.generated .operand 17)) none (.block (.mk [(.mk (.bind (.generated .operand 13)) none (.clone (.generated .binding 2))), (.mk (.bind (.generated .operand 14)) none (.move (.generated .binding 2)))] (.call (.runtime .compareBytes) [(.move (.generated .operand 13)), (.move (.generated .operand 14))] false)))), (.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.lit (.bytes (ByteArray.mk #[])))), (.mk (.bind (.generated .operand 16)) none (.lit (.bytes (ByteArray.mk #[1]))))] (.call (.runtime .compareBytes) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false))))] (.call (.runtime .equal) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false)) (.mk [] (.lit (.bool false))))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 11)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.move (.generated .binding 1)))]) (ce := (.call (.runtime .equal) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false)) (lk := []) (Corr.prim (ts := [.string, .string]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 17)) none (.block (.mk [(.mk (.bind (.generated .operand 13)) none (.clone (.generated .binding 2))), (.mk (.bind (.generated .operand 14)) none (.move (.generated .binding 2)))] (.call (.runtime .compareBytes) [(.move (.generated .operand 13)), (.move (.generated .operand 14))] false)))), (.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.lit (.bytes (ByteArray.mk #[])))), (.mk (.bind (.generated .operand 16)) none (.lit (.bytes (ByteArray.mk #[1]))))] (.call (.runtime .compareBytes) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false))))]) (ta := (.call (.runtime .equal) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.ordering, .ordering]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 13)) none (.clone (.generated .binding 2))), (.mk (.bind (.generated .operand 14)) none (.move (.generated .binding 2)))]) (tail := (.call (.runtime .compareBytes) [(.move (.generated .operand 13)), (.move (.generated .operand 14))] false)) (Corr.prim (ts := [.bytes, .bytes]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 15)) none (.lit (.bytes (ByteArray.mk #[])))), (.mk (.bind (.generated .operand 16)) none (.lit (.bytes (ByteArray.mk #[1]))))]) (tail := (.call (.runtime .compareBytes) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false)) (Corr.prim (ts := [.bytes, .bytes]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil))))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | _ + 1 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R3.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R3.lean new file mode 100644 index 000000000..03f95cc57 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R3.lean @@ -0,0 +1,106 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Coverage.Boundary +import Coverage.Colls +import Coverage.Main +import Coverage.Prims +import Coverage.RecRoots +import Coverage.Recur +import Coverage.Syntax +import Coverage.Types +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1, 2], types := [(.list .nat), (.list .nat), .nat], result := (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat)))))))), + body := (.build .pair (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat)))))))) [(.call 1 [(.var 0), (.var 2)]), (.build .pair (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))) [(.call 2 [(.var 0), (.var 2)]), (.build .pair (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat)))))) [(.call 3 [(.var 0), (.var 2)]), (.build .pair (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))) [(.call 4 [(.var 0), (.var 1)]), (.build .pair (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat)))) [(.call 6 [(.var 0), (.var 1)]), (.build .pair (.pair (.list .nat) (.pair .nat (.list .nat))) [(.call 8 [(.var 0), (.var 1)]), (.build .pair (.pair .nat (.list .nat)) [(.prim .length [(.var 0)]), (.var 0)])])])])])])]) }, + { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list .nat) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 1 [(.var 3), (.var 1)])]))]))]) }, + { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .nil (.list .nat) [])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.var 0)), (.arm .eq [] (.var 3)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 2 [(.var 3), (.var 1)])]))]))]) }, + { parameters := [0, 1], types := [(.list .nat), .nat], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .false .bool [])), (.arm .cons [2, 3] (.«match» .bool (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .false .bool [])), (.arm .eq [] (.build .true .bool [])), (.arm .gt [] (.call 3 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0, 1], types := [(.list .nat), (.list .nat)], result := (.list .nat), + body := (.«match» (.list .nat) (.var 1) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.call 4 [(.call 5 [(.var 0), (.var 2)]), (.var 3)]))]) }, + { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list .nat) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 5 [(.var 3), (.var 1)])]))]))]) }, + { parameters := [0, 1], types := [(.list .nat), (.list .nat)], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .nil (.list .nat) [])), (.arm .cons [2, 3] (.cond (.call 7 [(.var 1), (.var 2)]) (.build .cons (.list .nat) [(.var 2), (.call 6 [(.var 3), (.var 1)])]) (.call 6 [(.var 3), (.var 1)])))]) }, + { parameters := [0, 1], types := [(.list .nat), .nat], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .false .bool [])), (.arm .cons [2, 3] (.«match» .bool (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .false .bool [])), (.arm .eq [] (.build .true .bool [])), (.arm .gt [] (.call 7 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0, 1], types := [(.list .nat), (.list .nat)], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .nil (.list .nat) [])), (.arm .cons [2, 3] (.cond (.call 9 [(.var 1), (.var 2)]) (.call 8 [(.var 3), (.var 1)]) (.build .cons (.list .nat) [(.var 2), (.call 8 [(.var 3), (.var 1)])])))]) }, + { parameters := [0, 1], types := [(.list .nat), .nat], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .false .bool [])), (.arm .cons [2, 3] (.«match» .bool (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .false .bool [])), (.arm .eq [] (.build .true .bool [])), (.arm .gt [] (.call 9 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0], types := [(.list .nat)], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.var 1), (.var 3)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 10 [(.var 2)]) (.build .false .bool [])))]))]) }, + { parameters := [0, 1, 2], types := [(.list .nat), (.list .nat), .nat], result := (.option (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))), + body := (.cond (.call 10 [(.var 0)]) (.cond (.call 10 [(.var 1)]) (.build .some (.option (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))) [(.call 0 [(.var 0), (.var 1), (.var 2)])]) (.build .none (.option (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))) [])) (.build .none (.option (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))) [])) }] } + +def __fits_0 (s : (List Nat)) (t : (List Nat)) (x : Nat) : Bool := + ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanCollections.setSize (s) : Nat) 18446744073709551616)) && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) + +theorem __rel_0 (s : (List Nat)) (t : (List Nat)) (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) s), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) t), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_0 s t x) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)))))))) (Coverage.Colls.setOps s t x))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_setInsert (_root_.LexLeanPreservation.keySpec_nat (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) _root_.LexLeanCollections.insertElement (fun _ => rfl) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.insertElement, __h]) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.insertElement, __h]) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.insertElement, __h]) (p := __prog) (fi := 1) (tk := .nat) rfl (s) (x))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_setRemove (_root_.LexLeanPreservation.keySpec_nat (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) _root_.LexLeanCollections.removeElement (fun _ => rfl) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.removeElement, __h]) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.removeElement, __h]) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.removeElement, __h]) (p := __prog) (fi := 2) (tk := .nat) rfl (s) (x))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_setContains (_root_.LexLeanPreservation.keySpec_nat (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) _root_.LexLeanCollections.containsElement (fun _ => rfl) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.containsElement, __h]) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.containsElement, __h]) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.containsElement, __h]) (p := __prog) (fi := 3) (tk := .nat) rfl (s) (x))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_setUnion (_root_.LexLeanPreservation.keySpec_nat (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) _root_.LexLeanCollections.insertElement (fun _ => rfl) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.insertElement, __h]) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.insertElement, __h]) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.insertElement, __h]) (p := __prog) (fi := 4) (tk := .nat) rfl rfl (t) (s))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_setIntersection (_root_.LexLeanPreservation.keySpec_nat (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) _root_.LexLeanCollections.containsElement (fun _ => rfl) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.containsElement, __h]) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.containsElement, __h]) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.containsElement, __h]) (p := __prog) (fi := 6) (tk := .nat) rfl rfl (s) (t))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_setDifference (_root_.LexLeanPreservation.keySpec_nat (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) _root_.LexLeanCollections.containsElement (fun _ => rfl) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.containsElement, __h]) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.containsElement, __h]) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.containsElement, __h]) (p := __prog) (fi := 8) (tk := .nat) rfl rfl (s) (t))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) s)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) + +def denote (s : (List Nat)) (t : (List Nat)) (x : Nat) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 s t x) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)))))))) (Coverage.Colls.setOps s t x)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (s : (List Nat)) (t : (List Nat)) (x : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) s), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) t), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_0 s t x) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)))))))) (Coverage.Colls.setOps s t x))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 s t x) + +def __valid_10 : (List Nat) -> Bool := + _root_.LexLeanPreservation.ascSet (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) + +def __inv_10 : (List Nat) -> Prop := + _root_.LexLeanPreservation.InvSet (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) + +theorem __viff_10 : ∀ (__v : (List Nat)), __valid_10 __v = Bool.true ↔ __inv_10 __v := + _root_.LexLeanPreservation.ascSet_inv (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) + +theorem __vrel_10 : ∀ (__v : (List Nat)), _root_.LexLeanPreservation.FunRel __prog 10 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_10 __v))) := + _root_.LexLeanPreservation.tpl_validSet (_root_.LexLeanPreservation.keySpec_nat (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) rfl + +def entryFits (s : (List Nat)) (t : (List Nat)) (x : Nat) : Bool := + (if __valid_10 s then (if __valid_10 t then __fits_0 s t x else Bool.true) else Bool.true) + +def entryValue (s : (List Nat)) (t : (List Nat)) (x : Nat) : _root_.LexLeanTarget.TargetSyntax.Value := + (if __valid_10 s then (if __valid_10 t then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)))))))) (Coverage.Colls.setOps s t x))) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) + +/-- The entry's observation. -/ +def denoteEntry (s : (List Nat)) (t : (List Nat)) (x : Nat) : _root_.LexLeanPreservation.Obs := + _root_.cond (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.entryFits s t x) (_root_.LexLeanPreservation.Obs.value (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.entryValue s t x)) _root_.LexLeanPreservation.Obs.overflow + +/-- §17.12's invariants of the validated parameters. -/ +def accepts (s : (List Nat)) (t : (List Nat)) (x : Nat) : Prop := + (__inv_10 s ∧ (__inv_10 t ∧ _root_.True)) + +theorem entry (s : (List Nat)) (t : (List Nat)) (x : Nat) : _root_.LexLeanPreservation.RunConv __prog 11 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) s), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) t), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.denoteEntry s t x) := + _root_.LexLeanPreservation.run_of_funRel (_root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then (if __valid_10 t then __fits_0 s t x else Bool.true) else Bool.true) (fun __c => if __c then (if __valid_10 t then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)))))))) (Coverage.Colls.setOps s t x))) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_10 s) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_10 s)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then __fits_0 s t x else Bool.true) (fun __c => if __c then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)))))))) (Coverage.Colls.setOps s t x))) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_10 t) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_10 t)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (__rel_0 s t x)) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (by simp [_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.entryFits])) + +theorem entry_accepts (s : (List Nat)) (t : (List Nat)) (x : Nat) (__h : _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.accepts s t x) : _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.denoteEntry s t x = _root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.denote s t x) := by + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.accepts at __h + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.denoteEntry _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.entryFits _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.entryValue _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.denote + simp only [_root_.if_true, (__viff_10 s).mpr __h.1, (__viff_10 t).mpr __h.2.1] + cases __fits_0 s t x <;> rfl + +theorem entry_refuses (s : (List Nat)) (t : (List Nat)) (x : Nat) (__h : ¬ _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.accepts s t x) : _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.denoteEntry s t x = _root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none := by + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.accepts at __h + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.denoteEntry _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.entryFits _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.entryValue + cases __c0 : __valid_10 s + · simp + · cases __c1 : __valid_10 t + · simp + · exact _root_.absurd ⟨(__viff_10 s).mp __c0, (__viff_10 t).mp __c1, _root_.trivial⟩ __h + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R3/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R3/Compose/RustStd.lean new file mode 100644 index 000000000..0dc7aaa91 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R3/Compose/RustStd.lean @@ -0,0 +1,20 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.Compose.RustStd + +/-- The rendering of the root's entry, invoked on the encoded arguments, +realizes the encoded source result when the arguments satisfy §17.12's +invariants, and refuses them with `none` otherwise. -/ +theorem root (s : (List Nat)) (t : (List Nat)) (x : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) s), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) t), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 11) [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) s), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) t), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] __e_ro ∧ + (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.accepts s t x → _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.denote s t x)) __e_ro) ∧ + (¬ _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.accepts s t x → _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none) __e_ro) := + match _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.RustStd.root __e_n 11) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList _root_.LexLeanPreservation.Rust.wt_nat) s) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList _root_.LexLeanPreservation.Rust.wt_nat) t) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat x) _root_.LexLeanPreservation.Rust.wtl_nil))) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.entry s t x) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) with + | ⟨__e_ro, __e_hr, __e_hc⟩ => ⟨__e_ro, __e_hc, fun __e_h => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.entry_accepts s t x __e_h ▸ __e_hr, fun __e_h => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.entry_refuses s t x __e_h ▸ __e_hr⟩ + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R3/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R3/RustStd.lean new file mode 100644 index 000000000..1d7124671 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R3/RustStd.lean @@ -0,0 +1,121 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1, 2], types := [(.list .nat), (.list .nat), .nat], result := (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat)))))))), + body := (.build .pair (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat)))))))) [(.call 1 [(.var 0), (.var 2)]), (.build .pair (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))) [(.call 2 [(.var 0), (.var 2)]), (.build .pair (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat)))))) [(.call 3 [(.var 0), (.var 2)]), (.build .pair (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))) [(.call 4 [(.var 0), (.var 1)]), (.build .pair (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat)))) [(.call 6 [(.var 0), (.var 1)]), (.build .pair (.pair (.list .nat) (.pair .nat (.list .nat))) [(.call 8 [(.var 0), (.var 1)]), (.build .pair (.pair .nat (.list .nat)) [(.prim .length [(.var 0)]), (.var 0)])])])])])])]) }, + { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list .nat) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 1 [(.var 3), (.var 1)])]))]))]) }, + { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .nil (.list .nat) [])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.var 0)), (.arm .eq [] (.var 3)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 2 [(.var 3), (.var 1)])]))]))]) }, + { parameters := [0, 1], types := [(.list .nat), .nat], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .false .bool [])), (.arm .cons [2, 3] (.«match» .bool (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .false .bool [])), (.arm .eq [] (.build .true .bool [])), (.arm .gt [] (.call 3 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0, 1], types := [(.list .nat), (.list .nat)], result := (.list .nat), + body := (.«match» (.list .nat) (.var 1) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.call 4 [(.call 5 [(.var 0), (.var 2)]), (.var 3)]))]) }, + { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list .nat) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 5 [(.var 3), (.var 1)])]))]))]) }, + { parameters := [0, 1], types := [(.list .nat), (.list .nat)], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .nil (.list .nat) [])), (.arm .cons [2, 3] (.cond (.call 7 [(.var 1), (.var 2)]) (.build .cons (.list .nat) [(.var 2), (.call 6 [(.var 3), (.var 1)])]) (.call 6 [(.var 3), (.var 1)])))]) }, + { parameters := [0, 1], types := [(.list .nat), .nat], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .false .bool [])), (.arm .cons [2, 3] (.«match» .bool (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .false .bool [])), (.arm .eq [] (.build .true .bool [])), (.arm .gt [] (.call 7 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0, 1], types := [(.list .nat), (.list .nat)], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .nil (.list .nat) [])), (.arm .cons [2, 3] (.cond (.call 9 [(.var 1), (.var 2)]) (.call 8 [(.var 3), (.var 1)]) (.build .cons (.list .nat) [(.var 2), (.call 8 [(.var 3), (.var 1)])])))]) }, + { parameters := [0, 1], types := [(.list .nat), .nat], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .false .bool [])), (.arm .cons [2, 3] (.«match» .bool (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .false .bool [])), (.arm .eq [] (.build .true .bool [])), (.arm .gt [] (.call 9 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0], types := [(.list .nat)], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.var 1), (.var 3)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 10 [(.var 2)]) (.build .false .bool [])))]))]) }, + { parameters := [0, 1, 2], types := [(.list .nat), (.list .nat), .nat], result := (.option (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))), + body := (.cond (.call 10 [(.var 0)]) (.cond (.call 10 [(.var 1)]) (.build .some (.option (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))) [(.call 0 [(.var 0), (.var 1), (.var 2)])]) (.build .none (.option (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))) [])) (.build .none (.option (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))) [])) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat)))))))) (.mk [] (.pair (.call (.function 1) [(.clone (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.pair (.call (.function 2) [(.clone (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.pair (.call (.function 3) [(.clone (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.pair (.call (.function 4) [(.clone (.generated .binding 0)), (.clone (.generated .binding 1))] false) (.pair (.call (.function 6) [(.clone (.generated .binding 0)), (.clone (.generated .binding 1))] false) (.pair (.call (.function 8) [(.clone (.generated .binding 0)), (.move (.generated .binding 1))] false) (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 1))] false))) (.move (.generated .binding 0))))))))))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 2)) none (.clone (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 2)) [(.mk .none (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 5)) none (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))))] (.matchOn (.move (.generated .holder 5)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 1) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]))), + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 6)) none (.clone (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 6)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false))))] (.matchOn (.move (.generated .holder 9)) [(.mk (.ordering .less) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 3)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 2) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]))), + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .holder 10)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 10)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.matchOn (.move (.generated .holder 13)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 3) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]))), + (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 14)) none (.move (.generated .binding 1)))] (.matchOn (.uncons (.generated .holder 14)) [(.mk .none (.mk [] (.move (.generated .binding 0)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 4) [(.call (.function 5) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false), (.move (.generated .binding 3))] false)))]))), + (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 15)) none (.clone (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 15)) [(.mk .none (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))] (.matchOn (.move (.generated .holder 18)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 5) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]))), + (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 19)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 19)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.cond (.call (.function 7) [(.clone (.generated .binding 1)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 6) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])) (.mk [] (.call (.function 6) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))))]))), + (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .holder 20)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 20)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 23)) none (.block (.mk [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false))))] (.matchOn (.move (.generated .holder 23)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 7) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]))), + (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 24)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 24)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.cond (.call (.function 9) [(.clone (.generated .binding 1)), (.copy (.generated .binding 2))] false) (.mk [] (.call (.function 8) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 8) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])))))]))), + (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .holder 25)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 25)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 28)) none (.block (.mk [(.mk (.bind (.generated .operand 26)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false))))] (.matchOn (.move (.generated .holder 28)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 9) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]))), + (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }] .bool (.mk [(.mk (.bind (.generated .holder 29)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 29)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .holder 30)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 30)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 33)) none (.block (.mk [(.mk (.bind (.generated .operand 31)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 31)), (.move (.generated .operand 32))] false))))] (.cond (.matchOn (.move (.generated .holder 33)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 10) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])))]))), + (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.option (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))) (.mk [] (.cond (.call (.function 10) [(.clone (.generated .binding 0))] false) (.mk [] (.cond (.call (.function 10) [(.clone (.generated .binding 1))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)])) (.mk [] (.construct (.none (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))) [])))) (.mk [] (.construct (.none (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))) [])))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.pair (.call (.function 1) [(.clone (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.pair (.call (.function 2) [(.clone (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.pair (.call (.function 3) [(.clone (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.pair (.call (.function 4) [(.clone (.generated .binding 0)), (.clone (.generated .binding 1))] false) (.pair (.call (.function 6) [(.clone (.generated .binding 0)), (.clone (.generated .binding 1))] false) (.pair (.call (.function 8) [(.clone (.generated .binding 0)), (.move (.generated .binding 1))] false) (.pair (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 1))] false))) (.move (.generated .binding 0))))))))), [(2, .nat, (some 2)), (1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, + (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 0)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 1))] false)) (Corr.prim (ts := [(.list .nat)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))))⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 2)) none (.clone (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 2)) [(.mk .none (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 5)) none (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))))] (.matchOn (.move (.generated .holder 5)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 1) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]), [(1, .nat, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 5)) none (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))))]) (tail := (.matchOn (.move (.generated .holder 5)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 1) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 1) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 6)) none (.clone (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 6)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false))))] (.matchOn (.move (.generated .holder 9)) [(.mk (.ordering .less) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 3)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 2) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]), [(1, .nat, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil .nat) [])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false))))]) (tail := (.matchOn (.move (.generated .holder 9)) [(.mk (.ordering .less) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 3)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 2) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 3))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 2) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 10)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 10)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.matchOn (.move (.generated .holder 13)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 3) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]), [(1, .nat, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))]) (tail := (.matchOn (.move (.generated .holder 13)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 3) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 3) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun4 : FunOK program krate flags 4 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 14)) none (.move (.generated .binding 1)))], (.matchOn (.uncons (.generated .holder 14)) [(.mk .none (.mk [] (.move (.generated .binding 0)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 4) [(.call (.function 5) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false), (.move (.generated .binding 3))] false)))]), [(1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 4) [(.call (.function 5) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false), (.move (.generated .binding 3))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun5 : FunOK program krate flags 5 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 15)) none (.clone (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 15)) [(.mk .none (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))] (.matchOn (.move (.generated .holder 18)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 5) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]), [(1, .nat, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))]) (tail := (.matchOn (.move (.generated .holder 18)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 5) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 5) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun6 : FunOK program krate flags 6 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 19)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 19)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.cond (.call (.function 7) [(.clone (.generated .binding 1)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 6) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])) (.mk [] (.call (.function 6) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))))]), [(1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil .nat) [])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 7) [(.clone (.generated .binding 1)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 6) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])) (.mk [] (.call (.function 6) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 7) [(.clone (.generated .binding 1)), (.copy (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 6) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])) (lb := []) (tb := (.call (.function 6) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)) (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl) (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)))) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun7 : FunOK program krate flags 7 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 20)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 20)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 23)) none (.block (.mk [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false))))] (.matchOn (.move (.generated .holder 23)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 7) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]), [(1, .nat, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 23)) none (.block (.mk [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false))))]) (tail := (.matchOn (.move (.generated .holder 23)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 7) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 7) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun8 : FunOK program krate flags 8 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 24)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 24)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.cond (.call (.function 9) [(.clone (.generated .binding 1)), (.copy (.generated .binding 2))] false) (.mk [] (.call (.function 8) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 8) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])))))]), [(1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil .nat) [])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 9) [(.clone (.generated .binding 1)), (.copy (.generated .binding 2))] false) (.mk [] (.call (.function 8) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 8) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 9) [(.clone (.generated .binding 1)), (.copy (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 8) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)) (lb := []) (tb := (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 8) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])) (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)))) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun9 : FunOK program krate flags 9 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 25)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 25)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 28)) none (.block (.mk [(.mk (.bind (.generated .operand 26)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false))))] (.matchOn (.move (.generated .holder 28)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 9) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]), [(1, .nat, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 28)) none (.block (.mk [(.mk (.bind (.generated .operand 26)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false))))]) (tail := (.matchOn (.move (.generated .holder 28)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 9) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 26)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 9) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun10 : FunOK program krate flags 10 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 29)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 29)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .holder 30)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 30)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 33)) none (.block (.mk [(.mk (.bind (.generated .operand 31)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 31)), (.move (.generated .operand 32))] false))))] (.cond (.matchOn (.move (.generated .holder 33)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 10) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])))]), [(0, (.list .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 30)) none (.clone (.generated .binding 2)))]) (tail := (.matchOn (.uncons (.generated .holder 30)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 33)) none (.block (.mk [(.mk (.bind (.generated .operand 31)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 31)), (.move (.generated .operand 32))] false))))] (.cond (.matchOn (.move (.generated .holder 33)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 10) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list .nat), none), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 33)) none (.block (.mk [(.mk (.bind (.generated .operand 31)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 31)), (.move (.generated .operand 32))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 33)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 10) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 33)) none (.block (.mk [(.mk (.bind (.generated .operand 31)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 31)), (.move (.generated .operand 32))] false))))]) (ce := (.matchOn (.move (.generated .holder 33)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 31)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 3)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 31)), (.move (.generated .operand 32))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list .nat), none), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list .nat), none), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list .nat), none), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 10) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun11 : FunOK program krate flags 11 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 10) [(.clone (.generated .binding 0))] false) (.mk [] (.cond (.call (.function 10) [(.clone (.generated .binding 1))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)])) (.mk [] (.construct (.none (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))) [])))) (.mk [] (.construct (.none (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))) []))), [(2, .nat, (some 2)), (1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 10) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 10) [(.clone (.generated .binding 1))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)])) (.mk [] (.construct (.none (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))) [])))) (lb := []) (tb := (.construct (.none (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))) [])) (Corr.cond (lc := []) (ce := (.call (.function 10) [(.clone (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)])) (lb := []) (tb := (.construct (.none (.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))) [])) (Corr.build (ts := [(.pair (.list .nat) (.pair (.list .nat) (.pair .bool (.pair (.list .nat) (.pair (.list .nat) (.pair (.list .nat) (.pair .nat (.list .nat))))))))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), (.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | 4 => exact fun4 + | 5 => exact fun5 + | 6 => exact fun6 + | 7 => exact fun7 + | 8 => exact fun8 + | 9 => exact fun9 + | 10 => exact fun10 + | 11 => exact fun11 + | _ + 12 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R30.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R30.lean similarity index 98% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R30.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R30.lean index cce8840a0..d4832b57a 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R30.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R30.lean @@ -18,7 +18,7 @@ set_option maxRecDepth 100000 set_option maxHeartbeats 0 set_option synthInstance.maxHeartbeats 0 set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30 def __prog : _root_.LexLeanTarget.TargetSyntax.Program := { adts := [{ constructors := [[.nat, (.list (.adt 0))]] }], functions := [ @@ -79,4 +79,4 @@ def denote (n : Nat) : _root_.LexLeanPreservation.Obs := theorem root (n : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)] (_root_.LexLeanPreservation.Rel (__fits_0 n) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.RecRoots.roseTotal n))) := _root_.LexLeanPreservation.run_of_funRel (__rel_0 n) -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30 +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R30/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R30/Compose/RustStd.lean new file mode 100644 index 000000000..6449145bc --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R30/Compose/RustStd.lean @@ -0,0 +1,26 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.Compose.RustStd + +mutual +theorem __wt_0 : ∀ (__v : (Coverage.Syntax.Rose Nat)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.RustStd.program _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.RustStd.krate _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.RustStd.flags (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.__enc_0 __v) (.adt 0) + | Coverage.Syntax.Rose.node __x0 __x1 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x0) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_list (__wtItems_0 __x1)) _root_.LexLeanPreservation.Rust.wtl_nil)) + +theorem __wtItems_0 : ∀ (__v : (List (Coverage.Syntax.Rose Nat))), _root_.LexLeanPreservation.Rust.WTAll _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.RustStd.program _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.RustStd.krate _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.RustStd.flags (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.__items_0 __v) (.adt 0) + | [] => _root_.LexLeanPreservation.Rust.wtAll_nil + | __x0 :: __x1 => _root_.LexLeanPreservation.Rust.wtAll_cons (__wt_0 __x0) (__wtItems_0 __x1) + +end + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (n : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.denote n) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat n)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat n) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.root n) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R30/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R30/RustStd.lean new file mode 100644 index 000000000..c24839681 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R30/RustStd.lean @@ -0,0 +1,50 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [{ constructors := [[.nat, (.list (.adt 0))]] }], functions := [ + { parameters := [0], types := [.nat], result := .nat, + body := (.call 1 [(.build (.adt 0) (.adt 0) [(.var 0), (.build .cons (.list (.adt 0)) [(.build (.adt 0) (.adt 0) [(.value .nat (.nat 1)), (.build .nil (.list (.adt 0)) [])]), (.build .nil (.list (.adt 0)) [])])])]) }, + { parameters := [0], types := [(.adt 0)], result := .nat, + body := (.«match» .nat (.var 0) [(.arm (.adt 0) [1, 2] (.prim .natAdd [(.value .nat (.nat 1)), (.call 2 [(.var 2)])]))]) }, + { parameters := [0], types := [(.list (.adt 0))], result := .nat, + body := (.«match» .nat (.var 0) [(.arm .nil [] (.value .nat (.nat 0))), (.arm .cons [1, 2] (.prim .natAdd [(.call 1 [(.var 1)]), (.call 2 [(.var 2)])]))]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.enum (.adt 0) [{ number := 0, fields := [.nat, (.list (.adt 0))] }]), + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [] (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0)), (.construct .cons [(.construct (.adt 0 0) [(.lit (.nat 1)), (.construct (.nil (.adt 0)) [])]), (.construct (.nil (.adt 0)) [])])])] false))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .binding 2))]) (.mk [(.mk (.bind (.generated .operand 2)) none (.lit (.nat 1))), (.mk (.bind (.generated .operand 3)) none (.call (.function 2) [(.move (.generated .binding 2))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] false)))]))), + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.adt 0)) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 4)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 4)) [(.mk .none (.mk [] (.succeed (.lit (.nat 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .operand 5)) none (.call (.function 1) [(.move (.generated .binding 1))] true)), (.mk (.bind (.generated .operand 6)) none (.call (.function 2) [(.move (.generated .binding 2))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false)))])))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0)), (.construct .cons [(.construct (.adt 0 0) [(.lit (.nat 1)), (.construct (.nil (.adt 0)) [])]), (.construct (.nil (.adt 0)) [])])])] false), [(0, .nat, (some 0))], rfl, rfl, + (Corr.callF (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list (.adt 0))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.adt 0), (.list (.adt 0))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list (.adt 0))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .binding 2))]) (.mk [(.mk (.bind (.generated .operand 2)) none (.lit (.nat 1))), (.mk (.bind (.generated .operand 3)) none (.call (.function 2) [(.move (.generated .binding 2))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] false)))]), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.adt 0)), (some 2)), (1, .nat, none), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := [(.mk (.bind (.generated .operand 2)) none (.lit (.nat 1))), (.mk (.bind (.generated .operand 3)) none (.call (.function 2) [(.move (.generated .binding 2))] true))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] false)) (Corr.mNil) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.adt 0))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl)⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 4)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 4)) [(.mk .none (.mk [] (.succeed (.lit (.nat 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .operand 5)) none (.call (.function 1) [(.move (.generated .binding 1))] true)), (.mk (.bind (.generated .operand 6)) none (.call (.function 2) [(.move (.generated .binding 2))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false)))]), [(0, (.list (.adt 0)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.adt 0))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.adt 0)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 0)))) (Corr.mCons (Γ' := [(2, (.list (.adt 0)), (some 2)), (1, (.adt 0), (some 1)), (0, (.list (.adt 0)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .operand 5)) none (.call (.function 1) [(.move (.generated .binding 1))] true)), (.mk (.bind (.generated .operand 6)) none (.call (.function 2) [(.move (.generated .binding 2))] true))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] false)) (Corr.mNil) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.adt 0))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | _ + 3 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R31.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R31.lean similarity index 99% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R31.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R31.lean index 6fa3fc91a..7d3894093 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R31.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R31.lean @@ -18,7 +18,7 @@ set_option maxRecDepth 100000 set_option maxHeartbeats 0 set_option synthInstance.maxHeartbeats 0 set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31 def __prog : _root_.LexLeanTarget.TargetSyntax.Program := { adts := [{ constructors := [[.nat], [(.adt 0), (.adt 0)], [(.list (.adt 1)), (.adt 0)]] }, @@ -102,4 +102,4 @@ def denote (e : (Coverage.Syntax.Expr)) : _root_.LexLeanPreservation.Obs := theorem root (e : (Coverage.Syntax.Expr)) : _root_.LexLeanPreservation.RunConv __prog 0 [(__enc_0 e)] (_root_.LexLeanPreservation.Rel (__fits_0 e) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.RecRoots.syntaxTotal e))) := _root_.LexLeanPreservation.run_of_funRel (__rel_0 e) -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31 +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R31/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R31/Compose/RustStd.lean new file mode 100644 index 000000000..3963490e1 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R31/Compose/RustStd.lean @@ -0,0 +1,32 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.Compose.RustStd + +mutual +theorem __wt_0 : ∀ (__v : (Coverage.Syntax.Expr)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd.program _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd.krate _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd.flags (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.__enc_0 __v) (.adt 0) + | Coverage.Syntax.Expr.literal __x0 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x0) _root_.LexLeanPreservation.Rust.wtl_nil) + | Coverage.Syntax.Expr.plus __x0 __x1 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 __x0) (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 __x1) _root_.LexLeanPreservation.Rust.wtl_nil)) + | Coverage.Syntax.Expr.block __x0 __x1 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_list (__wtItems_0 __x0)) (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 __x1) _root_.LexLeanPreservation.Rust.wtl_nil)) + +theorem __wt_1 : ∀ (__v : (Coverage.Syntax.Stmt)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd.program _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd.krate _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd.flags (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.__enc_1 __v) (.adt 1) + | Coverage.Syntax.Stmt.assign __x0 __x1 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_string __x0) (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 __x1) _root_.LexLeanPreservation.Rust.wtl_nil)) + | Coverage.Syntax.Stmt.sequence __x0 __x1 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_1 __x0) (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_1 __x1) _root_.LexLeanPreservation.Rust.wtl_nil)) + +theorem __wtItems_0 : ∀ (__v : (List (Coverage.Syntax.Stmt))), _root_.LexLeanPreservation.Rust.WTAll _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd.program _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd.krate _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd.flags (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.__items_0 __v) (.adt 1) + | [] => _root_.LexLeanPreservation.Rust.wtAll_nil + | __x0 :: __x1 => _root_.LexLeanPreservation.Rust.wtAll_cons (__wt_1 __x0) (__wtItems_0 __x1) + +end + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (e : (Coverage.Syntax.Expr)) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.__enc_0 e)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.denote e) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.__enc_0 e)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 e) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.root e) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R31/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R31/RustStd.lean new file mode 100644 index 000000000..4252a6e82 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R31/RustStd.lean @@ -0,0 +1,60 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [{ constructors := [[.nat], [(.adt 0), (.adt 0)], [(.list (.adt 1)), (.adt 0)]] }, + { constructors := [[.string, (.adt 0)], [(.adt 1), (.adt 1)]] }], functions := [ + { parameters := [0], types := [(.adt 0)], result := .nat, + body := (.call 1 [(.var 0)]) }, + { parameters := [0], types := [(.adt 0)], result := .nat, + body := (.«match» .nat (.var 0) [(.arm (.adt 0) [1] (.value .nat (.nat 1))), (.arm (.adt 1) [2, 3] (.prim .natAdd [(.prim .natAdd [(.call 1 [(.var 2)]), (.call 1 [(.var 3)])]), (.value .nat (.nat 1))])), (.arm (.adt 2) [4, 5] (.prim .natAdd [(.call 2 [(.var 4)]), (.call 1 [(.var 5)])]))]) }, + { parameters := [0], types := [(.list (.adt 1))], result := .nat, + body := (.«match» .nat (.var 0) [(.arm .nil [] (.value .nat (.nat 0))), (.arm .cons [1, 2] (.prim .natAdd [(.call 3 [(.var 1)]), (.call 2 [(.var 2)])]))]) }, + { parameters := [0], types := [(.adt 1)], result := .nat, + body := (.«match» .nat (.var 0) [(.arm (.adt 0) [1, 2] (.prim .natAdd [(.call 1 [(.var 2)]), (.value .nat (.nat 1))])), (.arm (.adt 1) [3, 4] (.prim .natAdd [(.call 3 [(.var 3)]), (.call 3 [(.var 4)])]))]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.enum (.adt 0) [{ number := 0, fields := [.nat] }, { number := 1, fields := [(.rc (.adt 0)), (.rc (.adt 0))] }, { number := 2, fields := [(.list (.adt 1)), (.rc (.adt 0))] }]), + (.enum (.adt 1) [{ number := 0, fields := [.str, (.adt 0)] }, { number := 1, fields := [(.rc (.adt 1)), (.rc (.adt 1))] }]), + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [] (.call (.function 1) [(.move (.generated .binding 0))] false))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 [.wild]) (.mk [] (.succeed (.lit (.nat 1))))), (.mk (.adt 0 1 [(.bind (.generated .boxed 8)), (.bind (.generated .boxed 9))]) (.mk [(.mk (.bind (.generated .binding 2)) none (.unbox (.generated .boxed 8))), (.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 9))), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.call (.function 1) [(.move (.generated .binding 2))] true)), (.mk (.bind (.generated .operand 3)) none (.call (.function 1) [(.move (.generated .binding 3))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))), (.mk (.adt 0 2 [(.bind (.generated .binding 4)), (.bind (.generated .boxed 10))]) (.mk [(.mk (.bind (.generated .binding 5)) none (.unbox (.generated .boxed 10))), (.mk (.bind (.generated .operand 6)) none (.call (.function 2) [(.move (.generated .binding 4))] true)), (.mk (.bind (.generated .operand 7)) none (.call (.function 1) [(.move (.generated .binding 5))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false)))]))), + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.adt 1)) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 11)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 11)) [(.mk .none (.mk [] (.succeed (.lit (.nat 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .operand 12)) none (.call (.function 3) [(.move (.generated .binding 1))] true)), (.mk (.bind (.generated .operand 13)) none (.call (.function 2) [(.move (.generated .binding 2))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false)))]))), + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 14)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 14)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .binding 2))]) (.mk [(.mk (.bind (.generated .operand 15)) none (.call (.function 1) [(.move (.generated .binding 2))] true)), (.mk (.bind (.generated .operand 16)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false))), (.mk (.adt 1 1 [(.bind (.generated .boxed 19)), (.bind (.generated .boxed 20))]) (.mk [(.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 19))), (.mk (.bind (.generated .binding 4)) none (.unbox (.generated .boxed 20))), (.mk (.bind (.generated .operand 17)) none (.call (.function 3) [(.move (.generated .binding 3))] true)), (.mk (.bind (.generated .operand 18)) none (.call (.function 3) [(.move (.generated .binding 4))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false)))])))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.move (.generated .binding 0))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.callF (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 [.wild]) (.mk [] (.succeed (.lit (.nat 1))))), (.mk (.adt 0 1 [(.bind (.generated .boxed 8)), (.bind (.generated .boxed 9))]) (.mk [(.mk (.bind (.generated .binding 2)) none (.unbox (.generated .boxed 8))), (.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 9))), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.call (.function 1) [(.move (.generated .binding 2))] true)), (.mk (.bind (.generated .operand 3)) none (.call (.function 1) [(.move (.generated .binding 3))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))), (.mk (.adt 0 2 [(.bind (.generated .binding 4)), (.bind (.generated .boxed 10))]) (.mk [(.mk (.bind (.generated .binding 5)) none (.unbox (.generated .boxed 10))), (.mk (.bind (.generated .operand 6)) none (.call (.function 2) [(.move (.generated .binding 4))] true)), (.mk (.bind (.generated .operand 7)) none (.call (.function 1) [(.move (.generated .binding 5))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false)))]), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, none), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 1)))) (Corr.mCons (Γ' := [(3, (.adt 0), (some 3)), (2, (.adt 0), (some 2)), (0, (.adt 0), (some 0))]) (j := 1) (loads := [(.mk (.bind (.generated .binding 2)) none (.unbox (.generated .boxed 8))), (.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 9)))]) (lets := [(.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.call (.function 1) [(.move (.generated .binding 2))] true)), (.mk (.bind (.generated .operand 3)) none (.call (.function 1) [(.move (.generated .binding 3))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false)) (Corr.mCons (Γ' := [(5, (.adt 0), (some 5)), (4, (.list (.adt 1)), (some 4)), (0, (.adt 0), (some 0))]) (j := 2) (loads := [(.mk (.bind (.generated .binding 5)) none (.unbox (.generated .boxed 10)))]) (lets := [(.mk (.bind (.generated .operand 6)) none (.call (.function 2) [(.move (.generated .binding 4))] true)), (.mk (.bind (.generated .operand 7)) none (.call (.function 1) [(.move (.generated .binding 5))] true))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false)) (Corr.mNil) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.adt 1))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 2)) none (.call (.function 1) [(.move (.generated .binding 2))] true)), (.mk (.bind (.generated .operand 3)) none (.call (.function 1) [(.move (.generated .binding 3))] true))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 11)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 11)) [(.mk .none (.mk [] (.succeed (.lit (.nat 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .operand 12)) none (.call (.function 3) [(.move (.generated .binding 1))] true)), (.mk (.bind (.generated .operand 13)) none (.call (.function 2) [(.move (.generated .binding 2))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false)))]), [(0, (.list (.adt 1)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.adt 1))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.adt 1)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 0)))) (Corr.mCons (Γ' := [(2, (.list (.adt 1)), (some 2)), (1, (.adt 1), (some 1)), (0, (.list (.adt 1)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .operand 12)) none (.call (.function 3) [(.move (.generated .binding 1))] true)), (.mk (.bind (.generated .operand 13)) none (.call (.function 2) [(.move (.generated .binding 2))] true))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 12)), (.move (.generated .operand 13))] false)) (Corr.mNil) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.adt 1))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 14)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 14)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .binding 2))]) (.mk [(.mk (.bind (.generated .operand 15)) none (.call (.function 1) [(.move (.generated .binding 2))] true)), (.mk (.bind (.generated .operand 16)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false))), (.mk (.adt 1 1 [(.bind (.generated .boxed 19)), (.bind (.generated .boxed 20))]) (.mk [(.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 19))), (.mk (.bind (.generated .binding 4)) none (.unbox (.generated .boxed 20))), (.mk (.bind (.generated .operand 17)) none (.call (.function 3) [(.move (.generated .binding 3))] true)), (.mk (.bind (.generated .operand 18)) none (.call (.function 3) [(.move (.generated .binding 4))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false)))]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.adt 1)) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.adt 0), (some 2)), (1, .string, none), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := [(.mk (.bind (.generated .operand 15)) none (.call (.function 1) [(.move (.generated .binding 2))] true)), (.mk (.bind (.generated .operand 16)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false)) (Corr.mCons (Γ' := [(4, (.adt 1), (some 4)), (3, (.adt 1), (some 3)), (0, (.adt 1), (some 0))]) (j := 1) (loads := [(.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 19))), (.mk (.bind (.generated .binding 4)) none (.unbox (.generated .boxed 20)))]) (lets := [(.mk (.bind (.generated .operand 17)) none (.call (.function 3) [(.move (.generated .binding 3))] true)), (.mk (.bind (.generated .operand 18)) none (.call (.function 3) [(.move (.generated .binding 4))] true))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false)) (Corr.mNil) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl)⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | _ + 4 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32.lean new file mode 100644 index 000000000..ef8371dbc --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32.lean @@ -0,0 +1,80 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Coverage.Boundary +import Coverage.Colls +import Coverage.Main +import Coverage.Prims +import Coverage.RecRoots +import Coverage.Recur +import Coverage.Syntax +import Coverage.Types +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat (.pair .nat .nat)), + body := (.build .pair (.pair .nat (.pair .nat .nat)) [(.call 1 [(.var 0), (.value .nat (.nat 0))]), (.build .pair (.pair .nat .nat) [(.call 2 [(.var 0), (.var 1)]), (.call 3 [(.var 0), (.value .nat (.nat 0)), (.var 1)])])]) }, + { parameters := [0, 1], types := [.nat, .nat], result := .nat, + body := (.cond (.prim .natLt [(.var 0), (.value .nat (.nat 2))]) (.var 1) (.call 1 [(.prim .natSub [(.var 0), (.value .nat (.nat 2))]), (.prim .natAdd [(.var 1), (.value .nat (.nat 1))])])) }, + { parameters := [0, 1], types := [.nat, .nat], result := .nat, + body := (.cond (.prim .natEq [(.var 1), (.value .nat (.nat 0))]) (.var 0) (.cond (.prim .natLt [(.var 0), (.var 1)]) (.var 0) (.call 2 [(.prim .natSub [(.var 0), (.var 1)]), (.var 1)]))) }, + { parameters := [0, 1, 2], types := [.nat, .nat, .nat], result := .nat, + body := (.cond (.prim .natLt [(.var 1), (.var 2)]) (.cond (.prim .natLe [(.var 0), (.prim .natAdd [(.var 1), (.var 1)])]) (.var 1) (.call 3 [(.var 0), (.prim .natAdd [(.var 1), (.value .nat (.nat 1))]), (.var 2)])) (.var 2)) }] } + +def __fits_1 (number : Nat) (steps : Nat) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (match (generalizing := false) __decrease0 : (Nat.blt number (2 : Nat)) with | true => Bool.true | false => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (steps + (1 : Nat)) 18446744073709551616)) && Bool.true)) && (__fits_1 ((_root_.LexLeanRuntime.subtract (number) ((2 : Nat)) : Nat)) ((steps + (1 : Nat))))))) +termination_by number +decreasing_by all_goals first | (have __evidence := Coverage.Recur.countdown_decreases (number) (steps) (__decrease0); subst_vars; exact __evidence) + +theorem __rel_1 (number : Nat) (steps : Nat) : _root_.LexLeanPreservation.FunRel __prog 1 [(_root_.LexLeanTarget.TargetSyntax.Value.nat number), (_root_.LexLeanTarget.TargetSyntax.Value.nat steps)] (_root_.LexLeanPreservation.Rel (__fits_1 number steps) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Recur.countdown number steps))) := by + rw [Coverage.Recur.countdown.eq_def, __fits_1.eq_def] + exact _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (match (generalizing := false) __decrease0 : __b with | true => Bool.true | false => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (steps + (1 : Nat)) 18446744073709551616)) && Bool.true)) && (__fits_1 ((_root_.LexLeanRuntime.subtract (number) ((2 : Nat)) : Nat)) ((steps + (1 : Nat))))))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match (generalizing := false) __decrease0 : __b with | true => steps | false => (Coverage.Recur.countdown ((_root_.LexLeanRuntime.subtract (number) ((2 : Nat)) : Nat)) ((steps + (1 : Nat)))))) (Nat.blt number (2 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt number (2 : Nat))) (fun __decrease0 => (_root_.LexLeanPreservation.conv_var rfl)) (fun __decrease0 => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub number (2 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd steps (1 : Nat))) _root_.LexLeanPreservation.convL_nil)) (__rel_1 ((_root_.LexLeanRuntime.subtract (number) ((2 : Nat)) : Nat)) ((steps + (1 : Nat))))))) +termination_by number +decreasing_by all_goals first | (have __evidence := Coverage.Recur.countdown_decreases (number) (steps) (__decrease0); subst_vars; exact __evidence) + +def __fits_2 (value : Nat) (bound : Nat) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (match (generalizing := false) __decrease0 : (Nat.beq bound (0 : Nat)) with | true => Bool.true | false => (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (match (generalizing := false) __decrease1 : (Nat.blt value bound) with | true => Bool.true | false => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && (__fits_2 ((_root_.LexLeanRuntime.subtract (value) (bound) : Nat)) (bound))))))) +termination_by value +decreasing_by all_goals first | (have __evidence := Coverage.Recur.reduce_decreases (value) (bound) (__decrease0) (__decrease1); subst_vars; exact __evidence) + +theorem __rel_2 (value : Nat) (bound : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat value), (_root_.LexLeanTarget.TargetSyntax.Value.nat bound)] (_root_.LexLeanPreservation.Rel (__fits_2 value bound) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Recur.reduce value bound))) := by + rw [Coverage.Recur.reduce.eq_def, __fits_2.eq_def] + exact _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (match (generalizing := false) __decrease0 : __b with | true => Bool.true | false => (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (match (generalizing := false) __decrease1 : (Nat.blt value bound) with | true => Bool.true | false => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && (__fits_2 ((_root_.LexLeanRuntime.subtract (value) (bound) : Nat)) (bound))))))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match (generalizing := false) __decrease0 : __b with | true => value | false => (match (generalizing := false) __decrease1 : (Nat.blt value bound) with | true => value | false => (Coverage.Recur.reduce ((_root_.LexLeanRuntime.subtract (value) (bound) : Nat)) (bound))))) (Nat.beq bound (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq bound (0 : Nat))) (fun __decrease0 => (_root_.LexLeanPreservation.conv_var rfl)) (fun __decrease0 => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (match (generalizing := false) __decrease1 : __b with | true => Bool.true | false => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true)) && (__fits_2 ((_root_.LexLeanRuntime.subtract (value) (bound) : Nat)) (bound))))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match (generalizing := false) __decrease1 : __b with | true => value | false => (Coverage.Recur.reduce ((_root_.LexLeanRuntime.subtract (value) (bound) : Nat)) (bound)))) (Nat.blt value bound) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt value bound)) (fun __decrease1 => (_root_.LexLeanPreservation.conv_var rfl)) (fun __decrease1 => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub value bound)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_2 ((_root_.LexLeanRuntime.subtract (value) (bound) : Nat)) (bound))))))) +termination_by value +decreasing_by all_goals first | (have __evidence := Coverage.Recur.reduce_decreases (value) (bound) (__decrease0) (__decrease1); subst_vars; exact __evidence) + +def __fits_3 (target : Nat) (low : Nat) (high : Nat) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (match (generalizing := false) __decrease0 : (Nat.blt low high) with | true => (((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (low + low) 18446744073709551616)) && Bool.true)) && Bool.true) && (match (generalizing := false) __decrease1 : (Nat.ble target (low + low)) with | true => Bool.true | false => ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (low + (1 : Nat)) 18446744073709551616)) && (Bool.true && Bool.true))) && (__fits_3 (target) ((low + (1 : Nat))) (high))))) | false => Bool.true)) +termination_by (_root_.LexLeanRuntime.subtract (high) (low) : Nat) +decreasing_by all_goals first | (have __evidence := Coverage.Recur.search_decreases (target) (low) (high) (__decrease0) (__decrease1); subst_vars; exact __evidence) + +theorem __rel_3 (target : Nat) (low : Nat) (high : Nat) : _root_.LexLeanPreservation.FunRel __prog 3 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target), (_root_.LexLeanTarget.TargetSyntax.Value.nat low), (_root_.LexLeanTarget.TargetSyntax.Value.nat high)] (_root_.LexLeanPreservation.Rel (__fits_3 target low high) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Coverage.Recur.search target low high))) := by + rw [Coverage.Recur.search.eq_def, __fits_3.eq_def] + exact _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (match (generalizing := false) __decrease0 : __b with | true => (((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (low + low) 18446744073709551616)) && Bool.true)) && Bool.true) && (match (generalizing := false) __decrease1 : (Nat.ble target (low + low)) with | true => Bool.true | false => ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (low + (1 : Nat)) 18446744073709551616)) && (Bool.true && Bool.true))) && (__fits_3 (target) ((low + (1 : Nat))) (high))))) | false => Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match (generalizing := false) __decrease0 : __b with | true => (match (generalizing := false) __decrease1 : (Nat.ble target (low + low)) with | true => low | false => (Coverage.Recur.search (target) ((low + (1 : Nat))) (high))) | false => high)) (Nat.blt low high) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt low high)) (fun __decrease0 => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (match (generalizing := false) __decrease1 : __b with | true => Bool.true | false => ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (low + (1 : Nat)) 18446744073709551616)) && (Bool.true && Bool.true))) && (__fits_3 (target) ((low + (1 : Nat))) (high))))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match (generalizing := false) __decrease1 : __b with | true => low | false => (Coverage.Recur.search (target) ((low + (1 : Nat))) (high)))) (Nat.ble target (low + low)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd low low)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe target (low + low))) (fun __decrease1 => (_root_.LexLeanPreservation.conv_var rfl)) (fun __decrease1 => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd low (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (__rel_3 (target) ((low + (1 : Nat))) (high)))))) (fun __decrease0 => (_root_.LexLeanPreservation.conv_var rfl))) +termination_by (_root_.LexLeanRuntime.subtract (high) (low) : Nat) +decreasing_by all_goals first | (have __evidence := Coverage.Recur.search_decreases (target) (low) (high) (__decrease0) (__decrease1); subst_vars; exact __evidence) + +def __fits_0 (a : Nat) (b : Nat) : Bool := + ((((Bool.true && (Bool.true && Bool.true)) && (__fits_1 (a) ((0 : Nat)))) && (((((Bool.true && (Bool.true && Bool.true)) && (__fits_2 (a) (b))) && (((Bool.true && (Bool.true && (Bool.true && Bool.true))) && (__fits_3 (a) ((0 : Nat)) (b))) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) + +attribute [local irreducible] Coverage.Recur.countdown Coverage.Recur.reduce Coverage.Recur.search in +theorem __rel_0 (a : Nat) (b : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)] (_root_.LexLeanPreservation.Rel (__fits_0 a b) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Coverage.RecRoots.wellFounded a b))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (__rel_1 (a) ((0 : Nat)))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_2 (a) (b))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (__rel_3 (a) ((0 : Nat)) (b))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) + +def denote (a : Nat) (b : Nat) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 a b) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Coverage.RecRoots.wellFounded a b)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (a : Nat) (b : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)] (_root_.LexLeanPreservation.Rel (__fits_0 a b) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Coverage.RecRoots.wellFounded a b))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 a b) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32/Compose/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32/Compose/RustCore.lean new file mode 100644 index 000000000..3dafaf226 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustCore +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustCore + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (a : Nat) (b : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32/Compose/RustStd.lean new file mode 100644 index 000000000..bba3b594f --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustStd + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (a : Nat) (b : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.denote a b) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat b)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat a) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat b) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.root a b) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32/RustCore.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32/RustCore.lean new file mode 100644 index 000000000..bddc117bf --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32/RustCore.lean @@ -0,0 +1,57 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustCore +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat (.pair .nat .nat)), + body := (.build .pair (.pair .nat (.pair .nat .nat)) [(.call 1 [(.var 0), (.value .nat (.nat 0))]), (.build .pair (.pair .nat .nat) [(.call 2 [(.var 0), (.var 1)]), (.call 3 [(.var 0), (.value .nat (.nat 0)), (.var 1)])])]) }, + { parameters := [0, 1], types := [.nat, .nat], result := .nat, + body := (.cond (.prim .natLt [(.var 0), (.value .nat (.nat 2))]) (.var 1) (.call 1 [(.prim .natSub [(.var 0), (.value .nat (.nat 2))]), (.prim .natAdd [(.var 1), (.value .nat (.nat 1))])])) }, + { parameters := [0, 1], types := [.nat, .nat], result := .nat, + body := (.cond (.prim .natEq [(.var 1), (.value .nat (.nat 0))]) (.var 0) (.cond (.prim .natLt [(.var 0), (.var 1)]) (.var 0) (.call 2 [(.prim .natSub [(.var 0), (.var 1)]), (.var 1)]))) }, + { parameters := [0, 1, 2], types := [.nat, .nat, .nat], result := .nat, + body := (.cond (.prim .natLt [(.var 1), (.var 2)]) (.cond (.prim .natLe [(.var 0), (.prim .natAdd [(.var 1), (.var 1)])]) (.var 1) (.call 3 [(.var 0), (.prim .natAdd [(.var 1), (.value .nat (.nat 1))]), (.var 2)])) (.var 2)) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .core, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair .nat (.pair .nat .nat))) (.mk [] (.succeed (.pair (.call (.function 1) [(.copy (.generated .binding 0)), (.lit (.nat 0))] true) (.pair (.call (.function 2) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false) (.call (.function 3) [(.copy (.generated .binding 0)), (.lit (.nat 0)), (.copy (.generated .binding 1))] true)))))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false) (.mk [] (.succeed (.copy (.generated .binding 1)))) (.mk [] (.call (.function 1) [(.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))] (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)))] false))))), + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .nat (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false) (.mk [] (.copy (.generated .binding 0))) (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 1)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false) (.mk [] (.copy (.generated .binding 0))) (.mk [] (.call (.function 2) [(.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))), (.copy (.generated .binding 1))] false))))))), + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 2)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 13)), (.move (.generated .operand 14))] false) (.mk [(.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] true))))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false) (.mk [] (.succeed (.copy (.generated .binding 1)))) (.mk [] (.call (.function 3) [(.copy (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 20)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 19)), (.move (.generated .operand 20))] true))), (.copy (.generated .binding 2))] false)))) (.mk [] (.succeed (.copy (.generated .binding 2)))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.pair (.call (.function 1) [(.copy (.generated .binding 0)), (.lit (.nat 0))] true) (.pair (.call (.function 2) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false) (.call (.function 3) [(.copy (.generated .binding 0)), (.lit (.nat 0)), (.copy (.generated .binding 1))] true)))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.nat, .nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil))))))⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 2)))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false) (.mk [] (.succeed (.copy (.generated .binding 1)))) (.mk [] (.call (.function 1) [(.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))] (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)))] false))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 2)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.copy (.generated .binding 1)))) (lb := []) (tb := (.call (.function 1) [(.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))] (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)))] false)) (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl))) (Corr.callF (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl)))⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false) (.mk [] (.copy (.generated .binding 0))) (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 1)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false) (.mk [] (.copy (.generated .binding 0))) (.mk [] (.call (.function 2) [(.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))), (.copy (.generated .binding 1))] false))))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.copy (.generated .binding 0))) (lb := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 1)))]) (tb := (.cond (.call (.runtime .natLt) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false) (.mk [] (.copy (.generated .binding 0))) (.mk [] (.call (.function 2) [(.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))), (.copy (.generated .binding 1))] false)))) (Corr.bOfE (Corr.var rfl rfl)) (Corr.cond (lc := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 1)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.copy (.generated .binding 0))) (lb := []) (tb := (.call (.function 2) [(.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))), (.copy (.generated .binding 1))] false)) (Corr.bOfE (Corr.var rfl rfl)) (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)))))⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 2)))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 13)), (.move (.generated .operand 14))] false) (.mk [(.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] true))))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false) (.mk [] (.succeed (.copy (.generated .binding 1)))) (.mk [] (.call (.function 3) [(.copy (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 20)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 19)), (.move (.generated .operand 20))] true))), (.copy (.generated .binding 2))] false)))) (.mk [] (.succeed (.copy (.generated .binding 2))))), [(2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 2)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 13)), (.move (.generated .operand 14))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] true))))]) (ta := (.cond (.call (.runtime .natLe) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false) (.mk [] (.succeed (.copy (.generated .binding 1)))) (.mk [] (.call (.function 3) [(.copy (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 20)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 19)), (.move (.generated .operand 20))] true))), (.copy (.generated .binding 2))] false)))) (lb := []) (tb := (.succeed (.copy (.generated .binding 2)))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] true))))]) (ce := (.call (.runtime .natLe) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.copy (.generated .binding 1)))) (lb := []) (tb := (.call (.function 3) [(.copy (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 20)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 19)), (.move (.generated .operand 20))] true))), (.copy (.generated .binding 2))] false)) (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl))) (Corr.callF (ts := [.nat, .nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 20)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 19)), (.move (.generated .operand 20))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl))) (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | _ + 4 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustCore diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32/RustStd.lean new file mode 100644 index 000000000..045f99476 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32/RustStd.lean @@ -0,0 +1,57 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat (.pair .nat .nat)), + body := (.build .pair (.pair .nat (.pair .nat .nat)) [(.call 1 [(.var 0), (.value .nat (.nat 0))]), (.build .pair (.pair .nat .nat) [(.call 2 [(.var 0), (.var 1)]), (.call 3 [(.var 0), (.value .nat (.nat 0)), (.var 1)])])]) }, + { parameters := [0, 1], types := [.nat, .nat], result := .nat, + body := (.cond (.prim .natLt [(.var 0), (.value .nat (.nat 2))]) (.var 1) (.call 1 [(.prim .natSub [(.var 0), (.value .nat (.nat 2))]), (.prim .natAdd [(.var 1), (.value .nat (.nat 1))])])) }, + { parameters := [0, 1], types := [.nat, .nat], result := .nat, + body := (.cond (.prim .natEq [(.var 1), (.value .nat (.nat 0))]) (.var 0) (.cond (.prim .natLt [(.var 0), (.var 1)]) (.var 0) (.call 2 [(.prim .natSub [(.var 0), (.var 1)]), (.var 1)]))) }, + { parameters := [0, 1, 2], types := [.nat, .nat, .nat], result := .nat, + body := (.cond (.prim .natLt [(.var 1), (.var 2)]) (.cond (.prim .natLe [(.var 0), (.prim .natAdd [(.var 1), (.var 1)])]) (.var 1) (.call 3 [(.var 0), (.prim .natAdd [(.var 1), (.value .nat (.nat 1))]), (.var 2)])) (.var 2)) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair .nat (.pair .nat .nat))) (.mk [] (.succeed (.pair (.call (.function 1) [(.copy (.generated .binding 0)), (.lit (.nat 0))] true) (.pair (.call (.function 2) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false) (.call (.function 3) [(.copy (.generated .binding 0)), (.lit (.nat 0)), (.copy (.generated .binding 1))] true)))))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false) (.mk [] (.succeed (.copy (.generated .binding 1)))) (.mk [] (.call (.function 1) [(.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))] (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)))] false))))), + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .nat (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false) (.mk [] (.copy (.generated .binding 0))) (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 1)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false) (.mk [] (.copy (.generated .binding 0))) (.mk [] (.call (.function 2) [(.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))), (.copy (.generated .binding 1))] false))))))), + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 2)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 13)), (.move (.generated .operand 14))] false) (.mk [(.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] true))))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false) (.mk [] (.succeed (.copy (.generated .binding 1)))) (.mk [] (.call (.function 3) [(.copy (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 20)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 19)), (.move (.generated .operand 20))] true))), (.copy (.generated .binding 2))] false)))) (.mk [] (.succeed (.copy (.generated .binding 2)))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.pair (.call (.function 1) [(.copy (.generated .binding 0)), (.lit (.nat 0))] true) (.pair (.call (.function 2) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false) (.call (.function 3) [(.copy (.generated .binding 0)), (.lit (.nat 0)), (.copy (.generated .binding 1))] true)))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.nat, .nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil))))))⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 2)))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false) (.mk [] (.succeed (.copy (.generated .binding 1)))) (.mk [] (.call (.function 1) [(.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))] (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)))] false))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 2)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.copy (.generated .binding 1)))) (lb := []) (tb := (.call (.function 1) [(.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))] (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)))] false)) (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl))) (Corr.callF (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl)))⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false) (.mk [] (.copy (.generated .binding 0))) (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 1)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false) (.mk [] (.copy (.generated .binding 0))) (.mk [] (.call (.function 2) [(.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))), (.copy (.generated .binding 1))] false))))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 8)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.copy (.generated .binding 0))) (lb := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 1)))]) (tb := (.cond (.call (.runtime .natLt) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false) (.mk [] (.copy (.generated .binding 0))) (.mk [] (.call (.function 2) [(.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))), (.copy (.generated .binding 1))] false)))) (Corr.bOfE (Corr.var rfl rfl)) (Corr.cond (lc := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 1)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.copy (.generated .binding 0))) (lb := []) (tb := (.call (.function 2) [(.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))), (.copy (.generated .binding 1))] false)) (Corr.bOfE (Corr.var rfl rfl)) (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)))))⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 2)))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 13)), (.move (.generated .operand 14))] false) (.mk [(.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] true))))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false) (.mk [] (.succeed (.copy (.generated .binding 1)))) (.mk [] (.call (.function 3) [(.copy (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 20)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 19)), (.move (.generated .operand 20))] true))), (.copy (.generated .binding 2))] false)))) (.mk [] (.succeed (.copy (.generated .binding 2))))), [(2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 13)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 14)) none (.copy (.generated .binding 2)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 13)), (.move (.generated .operand 14))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] true))))]) (ta := (.cond (.call (.runtime .natLe) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false) (.mk [] (.succeed (.copy (.generated .binding 1)))) (.mk [] (.call (.function 3) [(.copy (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 20)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 19)), (.move (.generated .operand 20))] true))), (.copy (.generated .binding 2))] false)))) (lb := []) (tb := (.succeed (.copy (.generated .binding 2)))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 18)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] true))))]) (ce := (.call (.runtime .natLe) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.copy (.generated .binding 1)))) (lb := []) (tb := (.call (.function 3) [(.copy (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 20)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 19)), (.move (.generated .operand 20))] true))), (.copy (.generated .binding 2))] false)) (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl))) (Corr.callF (ts := [.nat, .nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 20)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 19)), (.move (.generated .operand 20))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl))) (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | _ + 4 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R33.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R33.lean similarity index 99% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R33.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R33.lean index 0de8af6da..b90dcab8d 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R33.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R33.lean @@ -18,7 +18,7 @@ set_option maxRecDepth 100000 set_option maxHeartbeats 0 set_option synthInstance.maxHeartbeats 0 set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33 def __prog : _root_.LexLeanTarget.TargetSyntax.Program := { adts := [{ constructors := [[.nat], [(.adt 0), (.adt 0)]] }], functions := [ @@ -68,4 +68,4 @@ def denote (t : (Coverage.Syntax.Term)) : _root_.LexLeanPreservation.Obs := theorem root (t : (Coverage.Syntax.Term)) : _root_.LexLeanPreservation.RunConv __prog 0 [(__enc_0 t)] (_root_.LexLeanPreservation.Rel (__fits_0 t) ((_root_.LexLeanPreservation.encPair __enc_0 __enc_0) (Coverage.RecRoots.rewrite t))) := _root_.LexLeanPreservation.run_of_funRel (__rel_0 t) -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33 +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R33/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R33/Compose/RustStd.lean new file mode 100644 index 000000000..23a52ff50 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R33/Compose/RustStd.lean @@ -0,0 +1,20 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.Compose.RustStd + +theorem __wt_0 : ∀ (__v : (Coverage.Syntax.Term)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.RustStd.program _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.RustStd.krate _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.RustStd.flags (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.__enc_0 __v) (.adt 0) + | Coverage.Syntax.Term.literal __x0 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x0) _root_.LexLeanPreservation.Rust.wtl_nil) + | Coverage.Syntax.Term.plus __x0 __x1 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 __x0) (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 __x1) _root_.LexLeanPreservation.Rust.wtl_nil)) + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (t : (Coverage.Syntax.Term)) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.__enc_0 t)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.denote t) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.__enc_0 t)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 t) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.root t) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R33/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R33/RustStd.lean new file mode 100644 index 000000000..31b26fbd4 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R33/RustStd.lean @@ -0,0 +1,50 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [{ constructors := [[.nat], [(.adt 0), (.adt 0)]] }], functions := [ + { parameters := [0], types := [(.adt 0)], result := (.pair (.adt 0) (.adt 0)), + body := (.build .pair (.pair (.adt 0) (.adt 0)) [(.call 1 [(.var 0)]), (.call 2 [(.var 0)])]) }, + { parameters := [0], types := [(.adt 0)], result := (.adt 0), + body := (.«match» (.adt 0) (.var 0) [(.arm (.adt 0) [1] (.build (.adt 0) (.adt 0) [(.var 1)])), (.arm (.adt 1) [2, 3] (.«match» (.adt 0) (.var 2) [(.arm (.adt 0) [4] (.build (.adt 1) (.adt 0) [(.build (.adt 0) (.adt 0) [(.var 4)]), (.call 1 [(.var 3)])])), (.arm (.adt 1) [5, 6] (.call 1 [(.build (.adt 1) (.adt 0) [(.var 5), (.build (.adt 1) (.adt 0) [(.var 6), (.var 3)])])]))]))]) }, + { parameters := [0], types := [(.adt 0)], result := (.adt 0), + body := (.«match» (.adt 0) (.var 0) [(.arm (.adt 0) [1] (.build (.adt 0) (.adt 0) [(.var 1)])), (.arm (.adt 1) [2, 3] (.«match» (.adt 0) (.var 2) [(.arm (.adt 0) [4] (.call 2 [(.var 3)])), (.arm (.adt 1) [5, 6] (.call 2 [(.build (.adt 1) (.adt 0) [(.var 5), (.var 3)])]))]))]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.enum (.adt 0) [{ number := 0, fields := [.nat] }, { number := 1, fields := [(.rc (.adt 0)), (.rc (.adt 0))] }]), + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.pair (.adt 0) (.adt 0)) (.mk [] (.pair (.call (.function 1) [(.clone (.generated .binding 0))] false) (.call (.function 2) [(.move (.generated .binding 0))] false)))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.adt 0) (.mk [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1))]) (.mk [] (.construct (.adt 0 0) [(.copy (.generated .binding 1))]))), (.mk (.adt 0 1 [(.bind (.generated .boxed 5)), (.bind (.generated .boxed 6))]) (.mk [(.mk (.bind (.generated .binding 2)) none (.unbox (.generated .boxed 5))), (.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 6))), (.mk (.bind (.generated .holder 2)) none (.move (.generated .binding 2)))] (.matchOn (.move (.generated .holder 2)) [(.mk (.adt 0 0 [(.bind (.generated .binding 4))]) (.mk [] (.construct (.adt 0 1) [(.box (.construct (.adt 0 0) [(.copy (.generated .binding 4))])), (.box (.call (.function 1) [(.move (.generated .binding 3))] false))]))), (.mk (.adt 0 1 [(.bind (.generated .boxed 3)), (.bind (.generated .boxed 4))]) (.mk [(.mk (.bind (.generated .binding 5)) none (.unbox (.generated .boxed 3))), (.mk (.bind (.generated .binding 6)) none (.unbox (.generated .boxed 4)))] (.call (.function 1) [(.construct (.adt 0 1) [(.box (.move (.generated .binding 5))), (.box (.construct (.adt 0 1) [(.box (.move (.generated .binding 6))), (.box (.move (.generated .binding 3)))]))])] false)))])))]))), + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.adt 0) (.mk [(.mk (.bind (.generated .holder 7)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 7)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1))]) (.mk [] (.construct (.adt 0 0) [(.copy (.generated .binding 1))]))), (.mk (.adt 0 1 [(.bind (.generated .boxed 10)), (.bind (.generated .boxed 11))]) (.mk [(.mk (.bind (.generated .binding 2)) none (.unbox (.generated .boxed 10))), (.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 11))), (.mk (.bind (.generated .holder 8)) none (.move (.generated .binding 2)))] (.matchOn (.move (.generated .holder 8)) [(.mk (.adt 0 0 [.wild]) (.mk [] (.call (.function 2) [(.move (.generated .binding 3))] false))), (.mk (.adt 0 1 [(.bind (.generated .boxed 9)), .wild]) (.mk [(.mk (.bind (.generated .binding 5)) none (.unbox (.generated .boxed 9)))] (.call (.function 2) [(.construct (.adt 0 1) [(.box (.move (.generated .binding 5))), (.box (.move (.generated .binding 3)))])] false)))])))])))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.pair (.call (.function 1) [(.clone (.generated .binding 0))] false) (.call (.function 2) [(.move (.generated .binding 0))] false)), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil)))))⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1))]) (.mk [] (.construct (.adt 0 0) [(.copy (.generated .binding 1))]))), (.mk (.adt 0 1 [(.bind (.generated .boxed 5)), (.bind (.generated .boxed 6))]) (.mk [(.mk (.bind (.generated .binding 2)) none (.unbox (.generated .boxed 5))), (.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 6))), (.mk (.bind (.generated .holder 2)) none (.move (.generated .binding 2)))] (.matchOn (.move (.generated .holder 2)) [(.mk (.adt 0 0 [(.bind (.generated .binding 4))]) (.mk [] (.construct (.adt 0 1) [(.box (.construct (.adt 0 0) [(.copy (.generated .binding 4))])), (.box (.call (.function 1) [(.move (.generated .binding 3))] false))]))), (.mk (.adt 0 1 [(.bind (.generated .boxed 3)), (.bind (.generated .boxed 4))]) (.mk [(.mk (.bind (.generated .binding 5)) none (.unbox (.generated .boxed 3))), (.mk (.bind (.generated .binding 6)) none (.unbox (.generated .boxed 4)))] (.call (.function 1) [(.construct (.adt 0 1) [(.box (.move (.generated .binding 5))), (.box (.construct (.adt 0 1) [(.box (.move (.generated .binding 6))), (.box (.move (.generated .binding 3)))]))])] false)))])))]), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.adt 0 0) [(.copy (.generated .binding 1))])) (Corr.mCons (Γ' := [(3, (.adt 0), (some 3)), (2, (.adt 0), (some 2)), (0, (.adt 0), (some 0))]) (j := 1) (loads := [(.mk (.bind (.generated .binding 2)) none (.unbox (.generated .boxed 5))), (.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 6)))]) (lets := [(.mk (.bind (.generated .holder 2)) none (.move (.generated .binding 2)))]) (tail := (.matchOn (.move (.generated .holder 2)) [(.mk (.adt 0 0 [(.bind (.generated .binding 4))]) (.mk [] (.construct (.adt 0 1) [(.box (.construct (.adt 0 0) [(.copy (.generated .binding 4))])), (.box (.call (.function 1) [(.move (.generated .binding 3))] false))]))), (.mk (.adt 0 1 [(.bind (.generated .boxed 3)), (.bind (.generated .boxed 4))]) (.mk [(.mk (.bind (.generated .binding 5)) none (.unbox (.generated .boxed 3))), (.mk (.bind (.generated .binding 6)) none (.unbox (.generated .boxed 4)))] (.call (.function 1) [(.construct (.adt 0 1) [(.box (.move (.generated .binding 5))), (.box (.construct (.adt 0 1) [(.box (.move (.generated .binding 6))), (.box (.move (.generated .binding 3)))]))])] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(4, .nat, (some 4)), (3, (.adt 0), (some 3)), (2, (.adt 0), (some 2)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.adt 0 1) [(.box (.construct (.adt 0 0) [(.copy (.generated .binding 4))])), (.box (.call (.function 1) [(.move (.generated .binding 3))] false))])) (Corr.mCons (Γ' := [(6, (.adt 0), (some 6)), (5, (.adt 0), (some 5)), (3, (.adt 0), (some 3)), (2, (.adt 0), (some 2)), (0, (.adt 0), (some 0))]) (j := 1) (loads := [(.mk (.bind (.generated .binding 5)) none (.unbox (.generated .boxed 3))), (.mk (.bind (.generated .binding 6)) none (.unbox (.generated .boxed 4)))]) (lets := []) (tail := (.call (.function 1) [(.construct (.adt 0 1) [(.box (.move (.generated .binding 5))), (.box (.construct (.adt 0 1) [(.box (.move (.generated .binding 6))), (.box (.move (.generated .binding 3)))]))])] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.adt 0), (.adt 0)]) (mask := [true, true]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.adt 0), (.adt 0)]) (mask := [true, true]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [(.adt 0), (.adt 0)]) (mask := [true, true]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 7)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 7)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1))]) (.mk [] (.construct (.adt 0 0) [(.copy (.generated .binding 1))]))), (.mk (.adt 0 1 [(.bind (.generated .boxed 10)), (.bind (.generated .boxed 11))]) (.mk [(.mk (.bind (.generated .binding 2)) none (.unbox (.generated .boxed 10))), (.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 11))), (.mk (.bind (.generated .holder 8)) none (.move (.generated .binding 2)))] (.matchOn (.move (.generated .holder 8)) [(.mk (.adt 0 0 [.wild]) (.mk [] (.call (.function 2) [(.move (.generated .binding 3))] false))), (.mk (.adt 0 1 [(.bind (.generated .boxed 9)), .wild]) (.mk [(.mk (.bind (.generated .binding 5)) none (.unbox (.generated .boxed 9)))] (.call (.function 2) [(.construct (.adt 0 1) [(.box (.move (.generated .binding 5))), (.box (.move (.generated .binding 3)))])] false)))])))]), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.adt 0 0) [(.copy (.generated .binding 1))])) (Corr.mCons (Γ' := [(3, (.adt 0), (some 3)), (2, (.adt 0), (some 2)), (0, (.adt 0), (some 0))]) (j := 1) (loads := [(.mk (.bind (.generated .binding 2)) none (.unbox (.generated .boxed 10))), (.mk (.bind (.generated .binding 3)) none (.unbox (.generated .boxed 11)))]) (lets := [(.mk (.bind (.generated .holder 8)) none (.move (.generated .binding 2)))]) (tail := (.matchOn (.move (.generated .holder 8)) [(.mk (.adt 0 0 [.wild]) (.mk [] (.call (.function 2) [(.move (.generated .binding 3))] false))), (.mk (.adt 0 1 [(.bind (.generated .boxed 9)), .wild]) (.mk [(.mk (.bind (.generated .binding 5)) none (.unbox (.generated .boxed 9)))] (.call (.function 2) [(.construct (.adt 0 1) [(.box (.move (.generated .binding 5))), (.box (.move (.generated .binding 3)))])] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(4, .nat, none), (3, (.adt 0), (some 3)), (2, (.adt 0), (some 2)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.call (.function 2) [(.move (.generated .binding 3))] false)) (Corr.mCons (Γ' := [(6, (.adt 0), none), (5, (.adt 0), (some 5)), (3, (.adt 0), (some 3)), (2, (.adt 0), (some 2)), (0, (.adt 0), (some 0))]) (j := 1) (loads := [(.mk (.bind (.generated .binding 5)) none (.unbox (.generated .boxed 9)))]) (lets := []) (tail := (.call (.function 2) [(.construct (.adt 0 1) [(.box (.move (.generated .binding 5))), (.box (.move (.generated .binding 3)))])] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.adt 0), (.adt 0)]) (mask := [true, true]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl)⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | _ + 3 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R4.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R4.lean new file mode 100644 index 000000000..80c47ca54 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R4.lean @@ -0,0 +1,106 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Coverage.Boundary +import Coverage.Colls +import Coverage.Main +import Coverage.Prims +import Coverage.RecRoots +import Coverage.Recur +import Coverage.Syntax +import Coverage.Types +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [(.list .nat), (.list .int)], result := (.pair .nat .int), + body := (.build .pair (.pair .nat .int) [(.call 1 [(.closure 2 []), (.value .nat (.nat 0)), (.var 0)]), (.call 3 [(.closure 4 []), (.value .int (.int 5)), (.var 1)])]) }, + { parameters := [0, 1, 2], types := [(.fn [.nat, .nat] .nat), .nat, (.list .nat)], result := .nat, + body := (.«match» .nat (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 1 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1], types := [.nat, .nat], result := .nat, + body := (.prim .natAdd [(.var 0), (.var 1)]) }, + { parameters := [0, 1, 2], types := [(.fn [.int, .int] .int), .int, (.list .int)], result := .int, + body := (.«match» .int (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 3 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1], types := [.int, .int], result := .int, + body := (.prim .intSub [(.var 0), (.var 1)]) }, + { parameters := [0], types := [(.list .int)], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.var 1), (.var 3)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 5 [(.var 2)]) (.build .false .bool [])))]))]) }, + { parameters := [0, 1], types := [(.list .nat), (.list .int)], result := (.option (.pair .nat .int)), + body := (.cond (.call 5 [(.var 1)]) (.build .some (.option (.pair .nat .int)) [(.call 0 [(.var 0), (.var 1)])]) (.build .none (.option (.pair .nat .int)) [])) }] } + +def __fits_2 (a : Nat) (x : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (a + x) 18446744073709551616)) + +theorem __rel_2 (a : Nat) (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat a), (_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_2 a x) (_root_.LexLeanTarget.TargetSyntax.Value.nat ((a + x)))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd a x)) + +def __fits_4 (a : Int) (x : Int) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && (_root_.LexLeanPreservation.intFits (_root_.LexLeanRuntime.subtract (a) (x) : Int))) + +theorem __rel_4 (a : Int) (x : Int) : _root_.LexLeanPreservation.FunRel __prog 4 [(_root_.LexLeanTarget.TargetSyntax.Value.int a), (_root_.LexLeanTarget.TargetSyntax.Value.int x)] (_root_.LexLeanPreservation.Rel (__fits_4 a x) (_root_.LexLeanTarget.TargetSyntax.Value.int ((_root_.LexLeanRuntime.subtract (a) (x) : Int)))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_intSub a x)) + +def __fits_0 (xs : (List Nat)) (s : (List Int)) : Bool := + ((((Bool.true && (Bool.true && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : Nat) (__p1 : Nat) => __fits_2 __p0 __p1) ((fun (a : Nat) (x : Nat) => (a + x))) ((0 : Nat)) (xs))) && (((Bool.true && (Bool.true && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : Int) (__p1 : Int) => __fits_4 __p0 __p1) ((fun (a : Int) (x : Int) => (_root_.LexLeanRuntime.subtract (a) (x) : Int))) ((5 : Int)) (s))) && Bool.true)) && Bool.true) + +theorem __rel_0 (xs : (List Nat)) (s : (List Int)) : _root_.LexLeanPreservation.FunRel __prog 0 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) xs), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) s)] (_root_.LexLeanPreservation.Rel (__fits_0 xs s) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int) (Coverage.Colls.folds xs s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.nat) (es := _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) ((fun (a : Nat) (x : Nat) => (a + x))) (fun (__p0 : Nat) (__p1 : Nat) => __fits_2 __p0 __p1) 2 [] (fun (__p0 : Nat) (__p1 : Nat) => __rel_2 __p0 __p1) (p := __prog) (fi := 1) (ta := .nat) (ts := .nat) rfl ((0 : Nat)) (xs))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.int) (es := _root_.LexLeanTarget.TargetSyntax.Value.int) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (fun _ => rfl) ((fun (a : Int) (x : Int) => (_root_.LexLeanRuntime.subtract (a) (x) : Int))) (fun (__p0 : Int) (__p1 : Int) => __fits_4 __p0 __p1) 4 [] (fun (__p0 : Int) (__p1 : Int) => __rel_4 __p0 __p1) (p := __prog) (fi := 3) (ta := .int) (ts := .int) rfl ((5 : Int)) (s))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) + +def denote (xs : (List Nat)) (s : (List Int)) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 xs s) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int) (Coverage.Colls.folds xs s)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (xs : (List Nat)) (s : (List Int)) : _root_.LexLeanPreservation.RunConv __prog 0 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) xs), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) s)] (_root_.LexLeanPreservation.Rel (__fits_0 xs s) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int) (Coverage.Colls.folds xs s))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 xs s) + +def __valid_5 : (List Int) -> Bool := + _root_.LexLeanPreservation.ascSet (_root_.LexLeanCollections.Key.compare : Int -> Int -> Ordering) + +def __inv_5 : (List Int) -> Prop := + _root_.LexLeanPreservation.InvSet (_root_.LexLeanCollections.Key.compare : Int -> Int -> Ordering) + +theorem __viff_5 : ∀ (__v : (List Int)), __valid_5 __v = Bool.true ↔ __inv_5 __v := + _root_.LexLeanPreservation.ascSet_inv (_root_.LexLeanCollections.Key.compare : Int -> Int -> Ordering) + +theorem __vrel_5 : ∀ (__v : (List Int)), _root_.LexLeanPreservation.FunRel __prog 5 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_5 __v))) := + _root_.LexLeanPreservation.tpl_validSet (_root_.LexLeanPreservation.keySpec_int (_root_.LexLeanCollections.Key.compare : Int -> Int -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.int) (fun _ => rfl) rfl + +def entryFits (xs : (List Nat)) (s : (List Int)) : Bool := + (if __valid_5 s then __fits_0 xs s else Bool.true) + +def entryValue (xs : (List Nat)) (s : (List Int)) : _root_.LexLeanTarget.TargetSyntax.Value := + (if __valid_5 s then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int) (Coverage.Colls.folds xs s))) else _root_.LexLeanTarget.TargetSyntax.Value.none) + +/-- The entry's observation. -/ +def denoteEntry (xs : (List Nat)) (s : (List Int)) : _root_.LexLeanPreservation.Obs := + _root_.cond (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.entryFits xs s) (_root_.LexLeanPreservation.Obs.value (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.entryValue xs s)) _root_.LexLeanPreservation.Obs.overflow + +/-- §17.12's invariants of the validated parameters. -/ +def accepts (xs : (List Nat)) (s : (List Int)) : Prop := + (__inv_5 s ∧ _root_.True) + +theorem entry (xs : (List Nat)) (s : (List Int)) : _root_.LexLeanPreservation.RunConv __prog 6 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) xs), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) s)] (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.denoteEntry xs s) := + _root_.LexLeanPreservation.run_of_funRel (_root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then __fits_0 xs s else Bool.true) (fun __c => if __c then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.int) (Coverage.Colls.folds xs s))) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_5 s) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_5 s)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_0 xs s)) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (by simp [_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.entryFits])) + +theorem entry_accepts (xs : (List Nat)) (s : (List Int)) (__h : _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.accepts xs s) : _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.denoteEntry xs s = _root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.denote xs s) := by + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.accepts at __h + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.denoteEntry _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.entryFits _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.entryValue _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.denote + simp only [_root_.if_true, (__viff_5 s).mpr __h.1] + cases __fits_0 xs s <;> rfl + +theorem entry_refuses (xs : (List Nat)) (s : (List Int)) (__h : ¬ _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.accepts xs s) : _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.denoteEntry xs s = _root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none := by + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.accepts at __h + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.denoteEntry _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.entryFits _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.entryValue + cases __c0 : __valid_5 s + · simp + · exact _root_.absurd ⟨(__viff_5 s).mp __c0, _root_.trivial⟩ __h + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R4/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R4/Compose/RustStd.lean new file mode 100644 index 000000000..d8a8e0ae7 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R4/Compose/RustStd.lean @@ -0,0 +1,20 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.Compose.RustStd + +/-- The rendering of the root's entry, invoked on the encoded arguments, +realizes the encoded source result when the arguments satisfy §17.12's +invariants, and refuses them with `none` otherwise. -/ +theorem root (xs : (List Nat)) (s : (List Int)) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) xs), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) s)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 6) [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) xs), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.int) s)] __e_ro ∧ + (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.accepts xs s → _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.denote xs s)) __e_ro) ∧ + (¬ _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.accepts xs s → _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none) __e_ro) := + match _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.RustStd.root __e_n 6) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList _root_.LexLeanPreservation.Rust.wt_nat) xs) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList _root_.LexLeanPreservation.Rust.wt_int) s) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.entry xs s) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) with + | ⟨__e_ro, __e_hr, __e_hc⟩ => ⟨__e_ro, __e_hc, fun __e_h => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.entry_accepts xs s __e_h ▸ __e_hr, fun __e_h => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.entry_refuses xs s __e_h ▸ __e_hr⟩ + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R4/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R4/RustStd.lean new file mode 100644 index 000000000..9cc3dfbc0 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R4/RustStd.lean @@ -0,0 +1,85 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [(.list .nat), (.list .int)], result := (.pair .nat .int), + body := (.build .pair (.pair .nat .int) [(.call 1 [(.closure 2 []), (.value .nat (.nat 0)), (.var 0)]), (.call 3 [(.closure 4 []), (.value .int (.int 5)), (.var 1)])]) }, + { parameters := [0, 1, 2], types := [(.fn [.nat, .nat] .nat), .nat, (.list .nat)], result := .nat, + body := (.«match» .nat (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 1 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1], types := [.nat, .nat], result := .nat, + body := (.prim .natAdd [(.var 0), (.var 1)]) }, + { parameters := [0, 1, 2], types := [(.fn [.int, .int] .int), .int, (.list .int)], result := .int, + body := (.«match» .int (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 3 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1], types := [.int, .int], result := .int, + body := (.prim .intSub [(.var 0), (.var 1)]) }, + { parameters := [0], types := [(.list .int)], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.var 1), (.var 3)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 5 [(.var 2)]) (.build .false .bool [])))]))]) }, + { parameters := [0, 1], types := [(.list .nat), (.list .int)], result := (.option (.pair .nat .int)), + body := (.cond (.call 5 [(.var 1)]) (.build .some (.option (.pair .nat .int)) [(.call 0 [(.var 0), (.var 1)])]) (.build .none (.option (.pair .nat .int)) [])) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.enum (.fn 0) [{ number := 2, fields := [] }]), + (.apply 0 [.nat, .nat] .nat true [{ function := 2, captures := [], functionFallible := true }]), + (.enum (.fn 1) [{ number := 4, fields := [] }]), + (.apply 1 [.int, .int] .int true [{ function := 4, captures := [], functionFallible := true }]), + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.list .int) }] (.fallible (.pair .nat .int)) (.mk [] (.succeed (.pair (.call (.function 1) [(.construct (.closure 0 2) []), (.lit (.nat 0)), (.move (.generated .binding 0))] true) (.call (.function 3) [(.construct (.closure 1 4) []), (.lit (.int 5)), (.move (.generated .binding 1))] true))))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := (.list .nat) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 1)) [(.mk .none (.mk [] (.succeed (.copy (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 1) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]))), + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 1) }, { pattern := (.bind (.generated .binding 1)), type := .int }, { pattern := (.bind (.generated .binding 2)), type := (.list .int) }] (.fallible .int) (.mk [(.mk (.bind (.generated .holder 5)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 5)) [(.mk .none (.mk [] (.succeed (.copy (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 3) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 6)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 6) [(.copy (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]))), + (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := .int }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.fallible .int) (.mk [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))] (.call (.runtime .intSub) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false))), + (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.list .int) }] .bool (.mk [(.mk (.bind (.generated .holder 9)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 9)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .holder 10)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 10)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.cond (.matchOn (.move (.generated .holder 13)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 5) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])))]))), + (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.list .int) }] (.fallible (.option (.pair .nat .int))) (.mk [] (.cond (.call (.function 5) [(.clone (.generated .binding 1))] false) (.mk [] (.succeed (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] true)]))) (.mk [] (.succeed (.construct (.none (.pair .nat .int)) []))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [(([.nat, .nat], .nat), true), (([.int, .int], .int), true)] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.pair (.call (.function 1) [(.construct (.closure 0 2) []), (.lit (.nat 0)), (.move (.generated .binding 0))] true) (.call (.function 3) [(.construct (.closure 1 4) []), (.lit (.int 5)), (.move (.generated .binding 1))] true))), [(1, (.list .int), (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, + (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.fn [.nat, .nat] .nat), .nat, (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.fn [.int, .int] .int), .int, (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.lNil))))))⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 1)) [(.mk .none (.mk [] (.succeed (.copy (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 1) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.fn [.nat, .nat] .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.fn [.nat, .nat] .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.copy (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .nat), (some 4)), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.fn [.nat, .nat] .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 1) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [.nat, .nat] .nat), .nat, (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 2) [(.copy (.generated .binding 1)), (.copy (.generated .binding 3))] true)) (Corr.apply (ps := [.nat, .nat]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1)))], (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 5)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 5)) [(.mk .none (.mk [] (.succeed (.copy (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 3) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 6)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 6) [(.copy (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list .int), (some 2)), (1, .int, (some 1)), (0, (.fn [.int, .int] .int), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, .int, (some 1)), (0, (.fn [.int, .int] .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.copy (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .int), (some 4)), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, .int, (some 1)), (0, (.fn [.int, .int] .int), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 3) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 6)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 6) [(.copy (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [.int, .int] .int), .int, (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 6)) (some (.fn 1)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 6) [(.copy (.generated .binding 1)), (.copy (.generated .binding 3))] true)) (Corr.apply (ps := [.int, .int]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun4 : FunOK program krate flags 4 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 1)))], (.call (.runtime .intSub) [(.move (.generated .operand 7)), (.move (.generated .operand 8))] false), [(1, .int, (some 1)), (0, .int, (some 0))], rfl, rfl, + (Corr.primF (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun5 : FunOK program krate flags 5 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 9)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 9)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .holder 10)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 10)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.cond (.matchOn (.move (.generated .holder 13)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 5) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])))]), [(0, (.list .int), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 10)) none (.clone (.generated .binding 2)))]) (tail := (.matchOn (.uncons (.generated .holder 10)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))] (.cond (.matchOn (.move (.generated .holder 13)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 5) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := (.list .int)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .int), (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list .int), none), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 13)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 5) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false))))]) (ce := (.matchOn (.move (.generated .holder 13)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 11)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 12)) none (.copy (.generated .binding 3)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 11)), (.move (.generated .operand 12))] false)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list .int), none), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list .int), none), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list .int), none), (3, .int, (some 3)), (2, (.list .int), (some 2)), (1, .int, (some 1)), (0, (.list .int), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 5) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun6 : FunOK program krate flags 6 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 5) [(.clone (.generated .binding 1))] false) (.mk [] (.succeed (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] true)]))) (.mk [] (.succeed (.construct (.none (.pair .nat .int)) [])))), [(1, (.list .int), (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 5) [(.clone (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] true)]))) (lb := []) (tb := (.succeed (.construct (.none (.pair .nat .int)) []))) (Corr.fOfB (Corr.build (ts := [(.pair .nat .int)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), (.list .int)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | 4 => exact fun4 + | 5 => exact fun5 + | 6 => exact fun6 + | _ + 7 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R5.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R5.lean new file mode 100644 index 000000000..cc03c21c4 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R5.lean @@ -0,0 +1,60 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Coverage.Boundary +import Coverage.Colls +import Coverage.Main +import Coverage.Prims +import Coverage.RecRoots +import Coverage.Recur +import Coverage.Syntax +import Coverage.Types +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat (.pair .nat .bool)), + body := (.build .pair (.pair .nat (.pair .nat .bool)) [(.call 1 [(.closure 2 []), (.var 0), (.var 1)]), (.call 3 [(.closure 4 []), (.var 0), (.var 1)])]) }, + { parameters := [0, 1, 2], types := [(.fn [.nat] .nat), .nat, .nat], result := .nat, + body := (.«match» .nat (.var 1) [(.arm .zero [] (.var 2)), (.arm .succ [3] (.call 1 [(.var 0), (.var 3), (.apply (.var 0) [(.var 2)])]))]) }, + { parameters := [0], types := [.nat], result := .nat, + body := (.prim .natAdd [(.var 0), (.value .nat (.nat 1))]) }, + { parameters := [0, 1, 2], types := [(.fn [.nat] (.option .nat)), .nat, .nat], result := (.pair .nat .bool), + body := (.«match» (.pair .nat .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair .nat .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair .nat .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair .nat .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 3 [(.var 0), (.var 3), (.var 4)]))]))]) }, + { parameters := [0], types := [.nat], result := (.option .nat), + body := (.cond (.prim .natLt [(.var 0), (.value .nat (.nat 10))]) (.build .some (.option .nat) [(.prim .natAdd [(.var 0), (.value .nat (.nat 2))])]) (.build .none (.option .nat) [])) }] } + +def __fits_2 (x : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (x + (1 : Nat)) 18446744073709551616)) + +theorem __rel_2 (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_2 x) (_root_.LexLeanTarget.TargetSyntax.Value.nat ((x + (1 : Nat))))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd x (1 : Nat))) + +def __fits_4 (x : Nat) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.blt x (10 : Nat)) then ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (x + (2 : Nat)) 18446744073709551616)) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +theorem __rel_4 (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 4 [(_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_4 x) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) ((if (Nat.blt x (10 : Nat)) then (Option.some ((x + (2 : Nat))) : (Option Nat)) else (Option.none : (Option Nat)))))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (x + (2 : Nat)) 18446744073709551616)) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then (Option.some ((x + (2 : Nat))) : (Option Nat)) else (Option.none : (Option Nat)))) (Nat.blt x (10 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt x (10 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd x (2 : Nat))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_0 (n : Nat) (start : Nat) : Bool := + ((((Bool.true && (Bool.true && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.iterateFits (fun (__p0 : Nat) => __fits_2 __p0) ((fun (x : Nat) => (x + (1 : Nat)))) (n) (start))) && (((Bool.true && (Bool.true && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.untilFits (fun (__p0 : Nat) => __fits_4 __p0) ((fun (x : Nat) => (if (Nat.blt x (10 : Nat)) then (Option.some ((x + (2 : Nat))) : (Option Nat)) else (Option.none : (Option Nat))))) (n) (start))) && Bool.true)) && Bool.true) + +theorem __rel_0 (n : Nat) (start : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat n), (_root_.LexLeanTarget.TargetSyntax.Value.nat start)] (_root_.LexLeanPreservation.Rel (__fits_0 n start) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)) (Coverage.Colls.iterations n start))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_iterate (es := _root_.LexLeanTarget.TargetSyntax.Value.nat) ((fun (x : Nat) => (x + (1 : Nat)))) (fun (__p0 : Nat) => __fits_2 __p0) 2 [] (fun (__p0 : Nat) => __rel_2 __p0) (_root_.LexLeanCollections.iterate ((fun (x : Nat) => (x + (1 : Nat))))) (fun _ => rfl) (fun _ _ => rfl) (p := __prog) (fi := 1) (ts := .nat) rfl (n) (start))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_iterateUntil (es := _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.optEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool) (fun _ => rfl) ((fun (x : Nat) => (if (Nat.blt x (10 : Nat)) then (Option.some ((x + (2 : Nat))) : (Option Nat)) else (Option.none : (Option Nat))))) (fun (__p0 : Nat) => __fits_4 __p0) 4 [] (fun (__p0 : Nat) => __rel_4 __p0) (_root_.LexLeanCollections.iterateUntil ((fun (x : Nat) => (if (Nat.blt x (10 : Nat)) then (Option.some ((x + (2 : Nat))) : (Option Nat)) else (Option.none : (Option Nat)))))) (fun _ => rfl) (fun _ _ __h => by simp only [_root_.LexLeanCollections.iterateUntil, __h]) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.iterateUntil, __h]) (p := __prog) (fi := 3) (ts := .nat) rfl (n) (start))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) + +def denote (n : Nat) (start : Nat) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 n start) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)) (Coverage.Colls.iterations n start)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (n : Nat) (start : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat n), (_root_.LexLeanTarget.TargetSyntax.Value.nat start)] (_root_.LexLeanPreservation.Rel (__fits_0 n start) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.bool)) (Coverage.Colls.iterations n start))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 n start) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R5/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R5/Compose/RustStd.lean new file mode 100644 index 000000000..bd494b4ff --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R5/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.Compose.RustStd + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (n : Nat) (start : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat n), (_root_.LexLeanTarget.TargetSyntax.Value.nat start)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.denote n start) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat n), (_root_.LexLeanTarget.TargetSyntax.Value.nat start)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat n) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat start) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.root n start) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R5/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R5/RustStd.lean new file mode 100644 index 000000000..177bf418e --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R5/RustStd.lean @@ -0,0 +1,69 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [.nat, .nat], result := (.pair .nat (.pair .nat .bool)), + body := (.build .pair (.pair .nat (.pair .nat .bool)) [(.call 1 [(.closure 2 []), (.var 0), (.var 1)]), (.call 3 [(.closure 4 []), (.var 0), (.var 1)])]) }, + { parameters := [0, 1, 2], types := [(.fn [.nat] .nat), .nat, .nat], result := .nat, + body := (.«match» .nat (.var 1) [(.arm .zero [] (.var 2)), (.arm .succ [3] (.call 1 [(.var 0), (.var 3), (.apply (.var 0) [(.var 2)])]))]) }, + { parameters := [0], types := [.nat], result := .nat, + body := (.prim .natAdd [(.var 0), (.value .nat (.nat 1))]) }, + { parameters := [0, 1, 2], types := [(.fn [.nat] (.option .nat)), .nat, .nat], result := (.pair .nat .bool), + body := (.«match» (.pair .nat .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair .nat .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair .nat .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair .nat .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 3 [(.var 0), (.var 3), (.var 4)]))]))]) }, + { parameters := [0], types := [.nat], result := (.option .nat), + body := (.cond (.prim .natLt [(.var 0), (.value .nat (.nat 10))]) (.build .some (.option .nat) [(.prim .natAdd [(.var 0), (.value .nat (.nat 2))])]) (.build .none (.option .nat) [])) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.enum (.fn 0) [{ number := 2, fields := [] }]), + (.apply 0 [.nat] .nat true [{ function := 2, captures := [], functionFallible := true }]), + (.enum (.fn 1) [{ number := 4, fields := [] }]), + (.apply 1 [.nat] (.option .nat) true [{ function := 4, captures := [], functionFallible := true }]), + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair .nat (.pair .nat .bool))) (.mk [] (.succeed (.pair (.call (.function 1) [(.construct (.closure 0 2) []), (.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true) (.call (.function 3) [(.construct (.closure 1 4) []), (.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true))))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.copy (.generated .binding 1)))] (.cond (.isZero (.generated .holder 1)) (.mk [] (.succeed (.copy (.generated .binding 2)))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 1)))] (.call (.function 1) [(.clone (.generated .binding 0)), (.copy (.generated .binding 3)), (.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 2))] true)))] false))))), + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 1) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.fallible (.pair .nat .bool)) (.mk [(.mk (.bind (.generated .holder 5)) none (.copy (.generated .binding 1)))] (.cond (.isZero (.generated .holder 5)) (.mk [] (.succeed (.pair (.copy (.generated .binding 2)) (.lit (.bool false))))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 5))), (.mk (.bind (.generated .holder 7)) none (.block (.mk [(.mk (.bind (.generated .callee 6)) (some (.fn 1)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 6) [(.copy (.generated .binding 2))] true))))] (.matchOn (.move (.generated .holder 7)) [(.mk .none (.mk [] (.succeed (.pair (.copy (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 3) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4))] false)))]))))), + (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible (.option .nat)) (.mk [(.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 9)) none (.lit (.nat 10)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false) (.mk [] (.succeed (.construct .some [(.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.lit (.nat 2)))] (.call (.runtime .natAdd) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true)))]))) (.mk [] (.succeed (.construct (.none .nat) []))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [(([.nat], .nat), true), (([.nat], (.option .nat)), true)] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.pair (.call (.function 1) [(.construct (.closure 0 2) []), (.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true) (.call (.function 3) [(.construct (.closure 1 4) []), (.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.fn [.nat] .nat), .nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.fn [.nat] (.option .nat)), .nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.lNil))))))⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.copy (.generated .binding 1)))], (.cond (.isZero (.generated .holder 1)) (.mk [] (.succeed (.copy (.generated .binding 2)))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 1)))] (.call (.function 1) [(.clone (.generated .binding 0)), (.copy (.generated .binding 3)), (.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 2))] true)))] false))), [(2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.fn [.nat] .nat), (some 0))], rfl, rfl, + (Corr.matchNat (sl := (some 3)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.succeed (.copy (.generated .binding 2)))) (lb := []) (tb := (.call (.function 1) [(.clone (.generated .binding 0)), (.copy (.generated .binding 3)), (.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 2))] true)))] false)) (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl))) (Corr.callF (ts := [(.fn [.nat] .nat), .nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 2) [(.copy (.generated .binding 2))] true)) (Corr.apply (ps := [.nat]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl)))⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 1)))], (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false), [(0, .nat, (some 0))], rfl, rfl, + (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 5)) none (.copy (.generated .binding 1)))], (.cond (.isZero (.generated .holder 5)) (.mk [] (.succeed (.pair (.copy (.generated .binding 2)) (.lit (.bool false))))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 5))), (.mk (.bind (.generated .holder 7)) none (.block (.mk [(.mk (.bind (.generated .callee 6)) (some (.fn 1)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 6) [(.copy (.generated .binding 2))] true))))] (.matchOn (.move (.generated .holder 7)) [(.mk .none (.mk [] (.succeed (.pair (.copy (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 3) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4))] false)))]))), [(2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.fn [.nat] (.option .nat)), (some 0))], rfl, rfl, + (Corr.matchNat (sl := (some 3)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.succeed (.pair (.copy (.generated .binding 2)) (.lit (.bool false))))) (lb := [(.mk (.bind (.generated .holder 7)) none (.block (.mk [(.mk (.bind (.generated .callee 6)) (some (.fn 1)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 6) [(.copy (.generated .binding 2))] true))))]) (tb := (.matchOn (.move (.generated .holder 7)) [(.mk .none (.mk [] (.succeed (.pair (.copy (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 3) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4))] false)))])) (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))))) (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 6)) (some (.fn 1)) (.clone (.generated .binding 0)))]) (tail := (.apply (.generated .callee 6) [(.copy (.generated .binding 2))] true)) (Corr.apply (ps := [.nat]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.fn [.nat] (.option .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.pair (.copy (.generated .binding 2)) (.lit (.bool true))))) (Corr.mCons (Γ' := [(4, .nat, (some 4)), (3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.fn [.nat] (.option .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 3) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [.nat] (.option .nat)), .nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))))))) rfl rfl rfl)))⟩⟩ + +theorem fun4 : FunOK program krate flags 4 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 9)) none (.lit (.nat 10)))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false) (.mk [] (.succeed (.construct .some [(.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.lit (.nat 2)))] (.call (.runtime .natAdd) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true)))]))) (.mk [] (.succeed (.construct (.none .nat) [])))), [(0, .nat, (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 8)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 9)) none (.lit (.nat 10)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 8)), (.move (.generated .operand 9))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.block (.mk [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.lit (.nat 2)))] (.call (.runtime .natAdd) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true)))]))) (lb := []) (tb := (.succeed (.construct (.none .nat) []))) (Corr.fOfB (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 10)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 11)) none (.lit (.nat 2)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 10)), (.move (.generated .operand 11))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | 4 => exact fun4 + | _ + 5 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R6.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R6.lean new file mode 100644 index 000000000..5c53cf646 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R6.lean @@ -0,0 +1,154 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Coverage.Boundary +import Coverage.Colls +import Coverage.Main +import Coverage.Prims +import Coverage.RecRoots +import Coverage.Recur +import Coverage.Syntax +import Coverage.Types +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat)))), + body := (.build .pair (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat)))) [(.call 1 [(.var 0), (.var 1)]), (.build .pair (.pair (.list .nat) (.option (.list .nat))) [(.call 3 [(.var 0), (.var 1)]), (.call 16 [(.var 0)])])]) }, + { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.list .nat), + body := (.«match» (.list .nat) (.call 2 [(.var 0), (.var 1)]) [(.arm .none [] (.build .nil (.list .nat) [])), (.arm .some [2] (.var 2))]) }, + { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.option (.list .nat)), + body := (.«match» (.option (.list .nat)) (.var 0) [(.arm .nil [] (.build .none (.option (.list .nat)) [])), (.arm .cons [2, 3] (.«match» (.option (.list .nat)) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option (.list .nat)) [])), (.arm .eq [] (.build .some (.option (.list .nat)) [(.second (.var 2))])), (.arm .gt [] (.call 2 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.list .nat), + body := (.call 4 [(.var 0), (.prim .natAdd [(.prim .length [(.call 13 [(.var 0), (.build .nil (.list .nat) [])])]), (.value .nat (.nat 1))]), (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])]), (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])])]) }, + { parameters := [0, 1, 2, 3], types := [(.list (.pair .nat (.list .nat))), .nat, (.list .nat), (.list .nat)], result := (.list .nat), + body := (.«match» (.list .nat) (.var 1) [(.arm .zero [] (.var 3)), (.arm .succ [4] (.«let» 5 (.list .nat) (.call 5 [(.var 0), (.var 3), (.var 2), (.build .nil (.list .nat) [])]) (.«match» (.list .nat) (.var 5) [(.arm .nil [] (.var 3)), (.arm .cons [6, 7] (.call 4 [(.var 0), (.var 4), (.var 5), (.call 11 [(.var 3), (.var 5)])]))])))]) }, + { parameters := [0, 1, 2, 3], types := [(.list (.pair .nat (.list .nat))), (.list .nat), (.list .nat), (.list .nat)], result := (.list .nat), + body := (.«match» (.list .nat) (.var 2) [(.arm .nil [] (.var 3)), (.arm .cons [4, 5] (.call 5 [(.var 0), (.var 1), (.var 5), (.call 6 [(.var 1), (.call 7 [(.var 0), (.var 4)]), (.var 3)])]))]) }, + { parameters := [0, 1, 2], types := [(.list .nat), (.list .nat), (.list .nat)], result := (.list .nat), + body := (.«match» (.list .nat) (.var 1) [(.arm .nil [] (.var 2)), (.arm .cons [3, 4] (.call 6 [(.var 0), (.var 4), (.cond (.call 9 [(.var 0), (.var 3)]) (.var 2) (.cond (.call 9 [(.var 2), (.var 3)]) (.var 2) (.call 10 [(.var 2), (.var 3)])))]))]) }, + { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.list .nat), + body := (.«match» (.list .nat) (.call 8 [(.var 0), (.var 1)]) [(.arm .none [] (.build .nil (.list .nat) [])), (.arm .some [2] (.var 2))]) }, + { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.option (.list .nat)), + body := (.«match» (.option (.list .nat)) (.var 0) [(.arm .nil [] (.build .none (.option (.list .nat)) [])), (.arm .cons [2, 3] (.«match» (.option (.list .nat)) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option (.list .nat)) [])), (.arm .eq [] (.build .some (.option (.list .nat)) [(.second (.var 2))])), (.arm .gt [] (.call 8 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0, 1], types := [(.list .nat), .nat], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .false .bool [])), (.arm .cons [2, 3] (.«match» .bool (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .false .bool [])), (.arm .eq [] (.build .true .bool [])), (.arm .gt [] (.call 9 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list .nat) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 10 [(.var 3), (.var 1)])]))]))]) }, + { parameters := [0, 1], types := [(.list .nat), (.list .nat)], result := (.list .nat), + body := (.«match» (.list .nat) (.var 1) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.call 11 [(.call 12 [(.var 0), (.var 2)]), (.var 3)]))]) }, + { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list .nat) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 12 [(.var 3), (.var 1)])]))]))]) }, + { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), (.list .nat)], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 13 [(.var 3), (.call 14 [(.second (.var 2)), (.call 15 [(.var 1), (.first (.var 2))])])]))]) }, + { parameters := [0, 1], types := [(.list .nat), (.list .nat)], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 14 [(.var 3), (.call 15 [(.var 1), (.var 2)])]))]) }, + { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list .nat) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 15 [(.var 3), (.var 1)])]))]))]) }, + { parameters := [0], types := [(.list (.pair .nat (.list .nat)))], result := (.option (.list .nat)), + body := (.«let» 1 (.list .nat) (.call 21 [(.var 0), (.build .nil (.list .nat) [])]) (.call 17 [(.var 0), (.prim .natAdd [(.prim .length [(.var 1)]), (.value .nat (.nat 1))]), (.var 1), (.build .nil (.list .nat) [])])) }, + { parameters := [0, 1, 2, 3], types := [(.list (.pair .nat (.list .nat))), .nat, (.list .nat), (.list .nat)], result := (.option (.list .nat)), + body := (.«match» (.option (.list .nat)) (.var 1) [(.arm .zero [] (.«match» (.option (.list .nat)) (.var 2) [(.arm .nil [] (.build .some (.option (.list .nat)) [(.call 20 [(.var 3), (.build .nil (.list .nat) [])])])), (.arm .cons [4, 5] (.build .none (.option (.list .nat)) []))])), (.arm .succ [6] (.«match» (.option (.list .nat)) (.call 18 [(.var 0), (.var 2), (.var 2)]) [(.arm .nil [] (.«match» (.option (.list .nat)) (.var 2) [(.arm .nil [] (.build .some (.option (.list .nat)) [(.call 20 [(.var 3), (.build .nil (.list .nat) [])])])), (.arm .cons [7, 8] (.build .none (.option (.list .nat)) []))])), (.arm .cons [9, 10] (.call 17 [(.var 0), (.var 6), (.call 27 [(.var 2), (.var 9)]), (.build .cons (.list .nat) [(.var 9), (.var 3)])]))]))]) }, + { parameters := [0, 1, 2], types := [(.list (.pair .nat (.list .nat))), (.list .nat), (.list .nat)], result := (.list .nat), + body := (.«match» (.list .nat) (.var 2) [(.arm .nil [] (.build .nil (.list .nat) [])), (.arm .cons [3, 4] (.cond (.call 19 [(.var 0), (.var 3), (.var 1)]) (.build .cons (.list .nat) [(.var 3), (.call 18 [(.var 0), (.var 1), (.var 4)])]) (.call 18 [(.var 0), (.var 1), (.var 4)])))]) }, + { parameters := [0, 1, 2], types := [(.list (.pair .nat (.list .nat))), .nat, (.list .nat)], result := .bool, + body := (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.call 26 [(.call 24 [(.var 0), (.var 3)]), (.var 1)]) (.build .false .bool []) (.call 19 [(.var 0), (.var 1), (.var 4)])))]) }, + { parameters := [0, 1], types := [(.list .nat), (.list .nat)], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 20 [(.var 3), (.build .cons (.list .nat) [(.var 2), (.var 1)])]))]) }, + { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), (.list .nat)], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 21 [(.var 3), (.call 22 [(.second (.var 2)), (.call 23 [(.var 1), (.first (.var 2))])])]))]) }, + { parameters := [0, 1], types := [(.list .nat), (.list .nat)], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 22 [(.var 3), (.call 23 [(.var 1), (.var 2)])]))]) }, + { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list .nat) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 23 [(.var 3), (.var 1)])]))]))]) }, + { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.list .nat), + body := (.«match» (.list .nat) (.call 25 [(.var 0), (.var 1)]) [(.arm .none [] (.build .nil (.list .nat) [])), (.arm .some [2] (.var 2))]) }, + { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.option (.list .nat)), + body := (.«match» (.option (.list .nat)) (.var 0) [(.arm .nil [] (.build .none (.option (.list .nat)) [])), (.arm .cons [2, 3] (.«match» (.option (.list .nat)) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option (.list .nat)) [])), (.arm .eq [] (.build .some (.option (.list .nat)) [(.second (.var 2))])), (.arm .gt [] (.call 25 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0, 1], types := [(.list .nat), .nat], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .false .bool [])), (.arm .cons [2, 3] (.«match» .bool (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .false .bool [])), (.arm .eq [] (.build .true .bool [])), (.arm .gt [] (.call 26 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .nil (.list .nat) [])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.var 0)), (.arm .eq [] (.var 3)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 27 [(.var 3), (.var 1)])]))]))]) }, + { parameters := [0], types := [(.list (.pair .nat (.list .nat)))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 29 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 28 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, + { parameters := [0], types := [(.list .nat)], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.var 1), (.var 3)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 29 [(.var 2)]) (.build .false .bool [])))]))]) }, + { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.option (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat))))), + body := (.cond (.call 28 [(.var 0)]) (.build .some (.option (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat))))) [(.call 0 [(.var 0), (.var 1)])]) (.build .none (.option (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat))))) [])) }] } + +def __fits_0 (g : (List (Prod Nat (List Nat)))) (start : Nat) : Bool := + ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && (_root_.LexLeanPreservation.graphFits _root_.LexLeanCollections.insertElement (g))) && (((Bool.true && Bool.true) && (_root_.LexLeanPreservation.graphFits _root_.LexLeanCollections.insertElement (g))) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) + +theorem __rel_0 (g : (List (Prod Nat (List Nat)))) (start : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) g), (_root_.LexLeanTarget.TargetSyntax.Value.nat start)] (_root_.LexLeanPreservation.Rel (__fits_0 g start) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)))) (Coverage.Colls.graphs g start))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_graphSuccessors (_root_.LexLeanPreservation.keySpec_nat (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (fun _ => rfl) _root_.LexLeanCollections.lookupEntry (fun _ => rfl) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]) (p := __prog) (fi := 1) (tk := .nat) rfl rfl (g) (start))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_graphReachable (_root_.LexLeanPreservation.keySpec_nat (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (fun _ => rfl) (⟨(fun _ => rfl), (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.insertElement, __h]), (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.insertElement, __h]), (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.insertElement, __h]), (fun _ => rfl), (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.removeElement, __h]), (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.removeElement, __h]), (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.removeElement, __h]), (fun _ => rfl), (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.containsElement, __h]), (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.containsElement, __h]), (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.containsElement, __h])⟩ : _root_.LexLeanPreservation.SetOps (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) _root_.LexLeanCollections.insertElement _root_.LexLeanCollections.removeElement _root_.LexLeanCollections.containsElement) (⟨(fun _ => rfl), (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]), (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]), (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h])⟩ : _root_.LexLeanPreservation.LookOps (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (_root_.LexLeanCollections.lookupEntry : Nat -> List (Prod Nat (List Nat)) -> Option (List Nat))) (g) (_root_.LexLeanCollections.graphSuccessors (g)) (fun _ => rfl) (_root_.LexLeanCollections.reachableFrom (g)) (fun _ _ => rfl) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.reachableFrom, __h]) (fun _ _ _ _ _ __h => by simp only [_root_.LexLeanCollections.reachableFrom, __h]) (p := __prog) (fi := 3) (tk := .nat) rfl rfl rfl rfl rfl rfl rfl rfl rfl rfl rfl rfl rfl (start))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.tpl_graphTopological (_root_.LexLeanPreservation.keySpec_nat (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (fun _ => rfl) (_root_.LexLeanPreservation.optEnc (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) (⟨(fun _ => rfl), (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.insertElement, __h]), (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.insertElement, __h]), (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.insertElement, __h]), (fun _ => rfl), (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.removeElement, __h]), (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.removeElement, __h]), (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.removeElement, __h]), (fun _ => rfl), (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.containsElement, __h]), (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.containsElement, __h]), (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.containsElement, __h])⟩ : _root_.LexLeanPreservation.SetOps (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) _root_.LexLeanCollections.insertElement _root_.LexLeanCollections.removeElement _root_.LexLeanCollections.containsElement) (⟨(fun _ => rfl), (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]), (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]), (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h])⟩ : _root_.LexLeanPreservation.LookOps (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (_root_.LexLeanCollections.lookupEntry : Nat -> List (Prod Nat (List Nat)) -> Option (List Nat))) (g) (_root_.LexLeanCollections.graphSuccessors (g)) (fun _ => rfl) (⟨(fun _ => rfl), (fun _ _ _ => rfl), (fun _ _ => rfl), (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.topological, __h] <;> rfl), (fun _ _ _ _ _ __h => by simp only [_root_.LexLeanCollections.topological, __h])⟩ : _root_.LexLeanPreservation.TopoOps (_root_.LexLeanCollections.graphSuccessors (g)) _root_.LexLeanCollections.containsElement _root_.LexLeanCollections.removeElement (_root_.LexLeanCollections.topological (g))) (p := __prog) (fi := 16) (tk := .nat) rfl rfl rfl rfl rfl rfl rfl rfl rfl rfl rfl rfl)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) + +def denote (g : (List (Prod Nat (List Nat)))) (start : Nat) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 g start) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)))) (Coverage.Colls.graphs g start)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (g : (List (Prod Nat (List Nat)))) (start : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) g), (_root_.LexLeanTarget.TargetSyntax.Value.nat start)] (_root_.LexLeanPreservation.Rel (__fits_0 g start) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)))) (Coverage.Colls.graphs g start))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 g start) + +def __valid_29 : (List Nat) -> Bool := + _root_.LexLeanPreservation.ascSet (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) + +def __inv_29 : (List Nat) -> Prop := + _root_.LexLeanPreservation.InvSet (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) + +theorem __viff_29 : ∀ (__v : (List Nat)), __valid_29 __v = Bool.true ↔ __inv_29 __v := + _root_.LexLeanPreservation.ascSet_inv (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) + +theorem __vrel_29 : ∀ (__v : (List Nat)), _root_.LexLeanPreservation.FunRel __prog 29 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_29 __v))) := + _root_.LexLeanPreservation.tpl_validSet (_root_.LexLeanPreservation.keySpec_nat (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) rfl + +def __valid_28 : (List (Prod Nat (List Nat))) -> Bool := + _root_.LexLeanPreservation.ascMap (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) __valid_29 + +def __inv_28 : (List (Prod Nat (List Nat))) -> Prop := + _root_.LexLeanPreservation.InvMap (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) __inv_29 + +theorem __viff_28 : ∀ (__v : (List (Prod Nat (List Nat)))), __valid_28 __v = Bool.true ↔ __inv_28 __v := + _root_.LexLeanPreservation.ascMap_inv (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) __valid_29 __inv_29 __viff_29 + +theorem __vrel_28 : ∀ (__v : (List (Prod Nat (List Nat)))), _root_.LexLeanPreservation.FunRel __prog 28 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_28 __v))) := + _root_.LexLeanPreservation.tpl_validMap (_root_.LexLeanPreservation.keySpec_nat (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) __valid_29 (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) (fun _ => rfl) __vrel_29 rfl + +def entryFits (g : (List (Prod Nat (List Nat)))) (start : Nat) : Bool := + (if __valid_28 g then __fits_0 g start else Bool.true) + +def entryValue (g : (List (Prod Nat (List Nat)))) (start : Nat) : _root_.LexLeanTarget.TargetSyntax.Value := + (if __valid_28 g then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)))) (Coverage.Colls.graphs g start))) else _root_.LexLeanTarget.TargetSyntax.Value.none) + +/-- The entry's observation. -/ +def denoteEntry (g : (List (Prod Nat (List Nat)))) (start : Nat) : _root_.LexLeanPreservation.Obs := + _root_.cond (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.entryFits g start) (_root_.LexLeanPreservation.Obs.value (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.entryValue g start)) _root_.LexLeanPreservation.Obs.overflow + +/-- §17.12's invariants of the validated parameters. -/ +def accepts (g : (List (Prod Nat (List Nat)))) (start : Nat) : Prop := + (__inv_28 g ∧ _root_.True) + +theorem entry (g : (List (Prod Nat (List Nat)))) (start : Nat) : _root_.LexLeanPreservation.RunConv __prog 30 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) g), (_root_.LexLeanTarget.TargetSyntax.Value.nat start)] (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.denoteEntry g start) := + _root_.LexLeanPreservation.run_of_funRel (_root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then __fits_0 g start else Bool.true) (fun __c => if __c then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)))) (Coverage.Colls.graphs g start))) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_28 g) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_28 g)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_0 g start)) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (by simp [_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.entryFits])) + +theorem entry_accepts (g : (List (Prod Nat (List Nat)))) (start : Nat) (__h : _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.accepts g start) : _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.denoteEntry g start = _root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.denote g start) := by + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.accepts at __h + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.denoteEntry _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.entryFits _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.entryValue _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.denote + simp only [_root_.if_true, (__viff_28 g).mpr __h.1] + cases __fits_0 g start <;> rfl + +theorem entry_refuses (g : (List (Prod Nat (List Nat)))) (start : Nat) (__h : ¬ _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.accepts g start) : _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.denoteEntry g start = _root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none := by + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.accepts at __h + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.denoteEntry _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.entryFits _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.entryValue + cases __c0 : __valid_28 g + · simp + · exact _root_.absurd ⟨(__viff_28 g).mp __c0, _root_.trivial⟩ __h + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R6/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R6/Compose/RustStd.lean new file mode 100644 index 000000000..108c45031 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R6/Compose/RustStd.lean @@ -0,0 +1,20 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.Compose.RustStd + +/-- The rendering of the root's entry, invoked on the encoded arguments, +realizes the encoded source result when the arguments satisfy §17.12's +invariants, and refuses them with `none` otherwise. -/ +theorem root (g : (List (Prod Nat (List Nat)))) (start : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) g), (_root_.LexLeanTarget.TargetSyntax.Value.nat start)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 30) [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))) g), (_root_.LexLeanTarget.TargetSyntax.Value.nat start)] __e_ro ∧ + (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.accepts g start → _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.denote g start)) __e_ro) ∧ + (¬ _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.accepts g start → _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none) __e_ro) := + match _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.RustStd.root __e_n 30) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_nat (_root_.LexLeanPreservation.Rust.wt_encList _root_.LexLeanPreservation.Rust.wt_nat))) g) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat start) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.entry g start) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) with + | ⟨__e_ro, __e_hr, __e_hc⟩ => ⟨__e_ro, __e_hc, fun __e_h => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.entry_accepts g start __e_h ▸ __e_hr, fun __e_h => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.entry_refuses g start __e_h ▸ __e_hr⟩ + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R6/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R6/RustStd.lean new file mode 100644 index 000000000..9dfd2c8d2 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R6/RustStd.lean @@ -0,0 +1,273 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat)))), + body := (.build .pair (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat)))) [(.call 1 [(.var 0), (.var 1)]), (.build .pair (.pair (.list .nat) (.option (.list .nat))) [(.call 3 [(.var 0), (.var 1)]), (.call 16 [(.var 0)])])]) }, + { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.list .nat), + body := (.«match» (.list .nat) (.call 2 [(.var 0), (.var 1)]) [(.arm .none [] (.build .nil (.list .nat) [])), (.arm .some [2] (.var 2))]) }, + { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.option (.list .nat)), + body := (.«match» (.option (.list .nat)) (.var 0) [(.arm .nil [] (.build .none (.option (.list .nat)) [])), (.arm .cons [2, 3] (.«match» (.option (.list .nat)) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option (.list .nat)) [])), (.arm .eq [] (.build .some (.option (.list .nat)) [(.second (.var 2))])), (.arm .gt [] (.call 2 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.list .nat), + body := (.call 4 [(.var 0), (.prim .natAdd [(.prim .length [(.call 13 [(.var 0), (.build .nil (.list .nat) [])])]), (.value .nat (.nat 1))]), (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])]), (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])])]) }, + { parameters := [0, 1, 2, 3], types := [(.list (.pair .nat (.list .nat))), .nat, (.list .nat), (.list .nat)], result := (.list .nat), + body := (.«match» (.list .nat) (.var 1) [(.arm .zero [] (.var 3)), (.arm .succ [4] (.«let» 5 (.list .nat) (.call 5 [(.var 0), (.var 3), (.var 2), (.build .nil (.list .nat) [])]) (.«match» (.list .nat) (.var 5) [(.arm .nil [] (.var 3)), (.arm .cons [6, 7] (.call 4 [(.var 0), (.var 4), (.var 5), (.call 11 [(.var 3), (.var 5)])]))])))]) }, + { parameters := [0, 1, 2, 3], types := [(.list (.pair .nat (.list .nat))), (.list .nat), (.list .nat), (.list .nat)], result := (.list .nat), + body := (.«match» (.list .nat) (.var 2) [(.arm .nil [] (.var 3)), (.arm .cons [4, 5] (.call 5 [(.var 0), (.var 1), (.var 5), (.call 6 [(.var 1), (.call 7 [(.var 0), (.var 4)]), (.var 3)])]))]) }, + { parameters := [0, 1, 2], types := [(.list .nat), (.list .nat), (.list .nat)], result := (.list .nat), + body := (.«match» (.list .nat) (.var 1) [(.arm .nil [] (.var 2)), (.arm .cons [3, 4] (.call 6 [(.var 0), (.var 4), (.cond (.call 9 [(.var 0), (.var 3)]) (.var 2) (.cond (.call 9 [(.var 2), (.var 3)]) (.var 2) (.call 10 [(.var 2), (.var 3)])))]))]) }, + { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.list .nat), + body := (.«match» (.list .nat) (.call 8 [(.var 0), (.var 1)]) [(.arm .none [] (.build .nil (.list .nat) [])), (.arm .some [2] (.var 2))]) }, + { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.option (.list .nat)), + body := (.«match» (.option (.list .nat)) (.var 0) [(.arm .nil [] (.build .none (.option (.list .nat)) [])), (.arm .cons [2, 3] (.«match» (.option (.list .nat)) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option (.list .nat)) [])), (.arm .eq [] (.build .some (.option (.list .nat)) [(.second (.var 2))])), (.arm .gt [] (.call 8 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0, 1], types := [(.list .nat), .nat], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .false .bool [])), (.arm .cons [2, 3] (.«match» .bool (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .false .bool [])), (.arm .eq [] (.build .true .bool [])), (.arm .gt [] (.call 9 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list .nat) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 10 [(.var 3), (.var 1)])]))]))]) }, + { parameters := [0, 1], types := [(.list .nat), (.list .nat)], result := (.list .nat), + body := (.«match» (.list .nat) (.var 1) [(.arm .nil [] (.var 0)), (.arm .cons [2, 3] (.call 11 [(.call 12 [(.var 0), (.var 2)]), (.var 3)]))]) }, + { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list .nat) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 12 [(.var 3), (.var 1)])]))]))]) }, + { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), (.list .nat)], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 13 [(.var 3), (.call 14 [(.second (.var 2)), (.call 15 [(.var 1), (.first (.var 2))])])]))]) }, + { parameters := [0, 1], types := [(.list .nat), (.list .nat)], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 14 [(.var 3), (.call 15 [(.var 1), (.var 2)])]))]) }, + { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list .nat) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 15 [(.var 3), (.var 1)])]))]))]) }, + { parameters := [0], types := [(.list (.pair .nat (.list .nat)))], result := (.option (.list .nat)), + body := (.«let» 1 (.list .nat) (.call 21 [(.var 0), (.build .nil (.list .nat) [])]) (.call 17 [(.var 0), (.prim .natAdd [(.prim .length [(.var 1)]), (.value .nat (.nat 1))]), (.var 1), (.build .nil (.list .nat) [])])) }, + { parameters := [0, 1, 2, 3], types := [(.list (.pair .nat (.list .nat))), .nat, (.list .nat), (.list .nat)], result := (.option (.list .nat)), + body := (.«match» (.option (.list .nat)) (.var 1) [(.arm .zero [] (.«match» (.option (.list .nat)) (.var 2) [(.arm .nil [] (.build .some (.option (.list .nat)) [(.call 20 [(.var 3), (.build .nil (.list .nat) [])])])), (.arm .cons [4, 5] (.build .none (.option (.list .nat)) []))])), (.arm .succ [6] (.«match» (.option (.list .nat)) (.call 18 [(.var 0), (.var 2), (.var 2)]) [(.arm .nil [] (.«match» (.option (.list .nat)) (.var 2) [(.arm .nil [] (.build .some (.option (.list .nat)) [(.call 20 [(.var 3), (.build .nil (.list .nat) [])])])), (.arm .cons [7, 8] (.build .none (.option (.list .nat)) []))])), (.arm .cons [9, 10] (.call 17 [(.var 0), (.var 6), (.call 27 [(.var 2), (.var 9)]), (.build .cons (.list .nat) [(.var 9), (.var 3)])]))]))]) }, + { parameters := [0, 1, 2], types := [(.list (.pair .nat (.list .nat))), (.list .nat), (.list .nat)], result := (.list .nat), + body := (.«match» (.list .nat) (.var 2) [(.arm .nil [] (.build .nil (.list .nat) [])), (.arm .cons [3, 4] (.cond (.call 19 [(.var 0), (.var 3), (.var 1)]) (.build .cons (.list .nat) [(.var 3), (.call 18 [(.var 0), (.var 1), (.var 4)])]) (.call 18 [(.var 0), (.var 1), (.var 4)])))]) }, + { parameters := [0, 1, 2], types := [(.list (.pair .nat (.list .nat))), .nat, (.list .nat)], result := .bool, + body := (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.call 26 [(.call 24 [(.var 0), (.var 3)]), (.var 1)]) (.build .false .bool []) (.call 19 [(.var 0), (.var 1), (.var 4)])))]) }, + { parameters := [0, 1], types := [(.list .nat), (.list .nat)], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 20 [(.var 3), (.build .cons (.list .nat) [(.var 2), (.var 1)])]))]) }, + { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), (.list .nat)], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 21 [(.var 3), (.call 22 [(.second (.var 2)), (.call 23 [(.var 1), (.first (.var 2))])])]))]) }, + { parameters := [0, 1], types := [(.list .nat), (.list .nat)], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 22 [(.var 3), (.call 23 [(.var 1), (.var 2)])]))]) }, + { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .cons (.list .nat) [(.var 1), (.build .nil (.list .nat) [])])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list .nat) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 23 [(.var 3), (.var 1)])]))]))]) }, + { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.list .nat), + body := (.«match» (.list .nat) (.call 25 [(.var 0), (.var 1)]) [(.arm .none [] (.build .nil (.list .nat) [])), (.arm .some [2] (.var 2))]) }, + { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.option (.list .nat)), + body := (.«match» (.option (.list .nat)) (.var 0) [(.arm .nil [] (.build .none (.option (.list .nat)) [])), (.arm .cons [2, 3] (.«match» (.option (.list .nat)) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option (.list .nat)) [])), (.arm .eq [] (.build .some (.option (.list .nat)) [(.second (.var 2))])), (.arm .gt [] (.call 25 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0, 1], types := [(.list .nat), .nat], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .false .bool [])), (.arm .cons [2, 3] (.«match» .bool (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .false .bool [])), (.arm .eq [] (.build .true .bool [])), (.arm .gt [] (.call 26 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0, 1], types := [(.list .nat), .nat], result := (.list .nat), + body := (.«match» (.list .nat) (.var 0) [(.arm .nil [] (.build .nil (.list .nat) [])), (.arm .cons [2, 3] (.«match» (.list .nat) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.var 0)), (.arm .eq [] (.var 3)), (.arm .gt [] (.build .cons (.list .nat) [(.var 2), (.call 27 [(.var 3), (.var 1)])]))]))]) }, + { parameters := [0], types := [(.list (.pair .nat (.list .nat)))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 29 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 28 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, + { parameters := [0], types := [(.list .nat)], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.var 1), (.var 3)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 29 [(.var 2)]) (.build .false .bool [])))]))]) }, + { parameters := [0, 1], types := [(.list (.pair .nat (.list .nat))), .nat], result := (.option (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat))))), + body := (.cond (.call 28 [(.var 0)]) (.build .some (.option (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat))))) [(.call 0 [(.var 0), (.var 1)])]) (.build .none (.option (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat))))) [])) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat))))) (.mk [] (.succeed (.pair (.call (.function 1) [(.clone (.generated .binding 0)), (.copy (.generated .binding 1))] false) (.pair (.call (.function 3) [(.clone (.generated .binding 0)), (.copy (.generated .binding 1))] true) (.call (.function 16) [(.move (.generated .binding 0))] true)))))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.call (.function 2) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 1)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.move (.generated .binding 2))))]))), + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.option (.list .nat)) (.mk [(.mk (.bind (.generated .holder 2)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 2)) [(.mk .none (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 6)) none (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 3)))))] (.call (.runtime .compare) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))))] (.matchOn (.move (.generated .holder 6)) [(.mk (.ordering .less) (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 7))]) none (.move (.generated .binding 2)))] (.move (.generated .part 7))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 2) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]))), + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.list .nat)) (.mk [] (.succeed (.call (.function 4) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .operand 8)) none (.call (.function 13) [(.move (.generated .binding 0)), (.construct (.nil .nat) [])] false))] (.call (.runtime .lengthList) [(.move (.generated .operand 8))] false)))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] true))), (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])]), (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])])] false)))), + (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 3)), type := (.list .nat) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 11)) none (.copy (.generated .binding 1)))] (.cond (.isZero (.generated .holder 11)) (.mk [] (.move (.generated .binding 3))) (.mk [(.mk (.bind (.generated .binding 4)) none (.predecessor (.generated .holder 11))), (.mk (.bind (.generated .binding 5)) (some (.list .nat)) (.call (.function 5) [(.clone (.generated .binding 0)), (.clone (.generated .binding 3)), (.move (.generated .binding 2)), (.construct (.nil .nat) [])] false)), (.mk (.bind (.generated .holder 12)) none (.clone (.generated .binding 5)))] (.matchOn (.uncons (.generated .holder 12)) [(.mk .none (.mk [] (.move (.generated .binding 3)))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 4)), (.clone (.generated .binding 5)), (.call (.function 11) [(.move (.generated .binding 3)), (.move (.generated .binding 5))] false)] false)))]))))), + (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 2)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 3)), type := (.list .nat) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 13)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 13)) [(.mk .none (.mk [] (.move (.generated .binding 3)))), (.mk (.some (.tuple [(.bind (.generated .binding 4)), (.bind (.generated .binding 5))])) (.mk [] (.call (.function 5) [(.clone (.generated .binding 0)), (.clone (.generated .binding 1)), (.move (.generated .binding 5)), (.call (.function 6) [(.move (.generated .binding 1)), (.call (.function 7) [(.move (.generated .binding 0)), (.copy (.generated .binding 4))] false), (.move (.generated .binding 3))] false)] false)))]))), + (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 2)), type := (.list .nat) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 14)) none (.move (.generated .binding 1)))] (.matchOn (.uncons (.generated .holder 14)) [(.mk .none (.mk [] (.move (.generated .binding 2)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 6) [(.clone (.generated .binding 0)), (.move (.generated .binding 4)), (.cond (.call (.function 9) [(.move (.generated .binding 0)), (.copy (.generated .binding 3))] false) (.mk [] (.move (.generated .binding 2))) (.mk [] (.cond (.call (.function 9) [(.clone (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.mk [] (.move (.generated .binding 2))) (.mk [] (.call (.function 10) [(.move (.generated .binding 2)), (.copy (.generated .binding 3))] false)))))] false)))]))), + (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 15)) none (.call (.function 8) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 15)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.move (.generated .binding 2))))]))), + (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.option (.list .nat)) (.mk [(.mk (.bind (.generated .holder 16)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 16)) [(.mk .none (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 20)) none (.block (.mk [(.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 19)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 17)))))] (.call (.runtime .compare) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false))))] (.matchOn (.move (.generated .holder 20)) [(.mk (.ordering .less) (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 21))]) none (.move (.generated .binding 2)))] (.move (.generated .part 21))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 8) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]))), + (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .holder 22)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 22)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 25)) none (.block (.mk [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 24)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false))))] (.matchOn (.move (.generated .holder 25)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 9) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]))), + (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 26)) none (.clone (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 26)) [(.mk .none (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 29)) none (.block (.mk [(.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 28)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false))))] (.matchOn (.move (.generated .holder 29)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 10) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]))), + (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 30)) none (.move (.generated .binding 1)))] (.matchOn (.uncons (.generated .holder 30)) [(.mk .none (.mk [] (.move (.generated .binding 0)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 11) [(.call (.function 12) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false), (.move (.generated .binding 3))] false)))]))), + (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 31)) none (.clone (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 31)) [(.mk .none (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 34)) none (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 33)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] false))))] (.matchOn (.move (.generated .holder 34)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 12) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]))), + (.function (.generated .function 13) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 35)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 35)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 13) [(.move (.generated .binding 3)), (.call (.function 14) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 36))]) none (.move (.generated .binding 2)))] (.move (.generated .part 36)))), (.call (.function 15) [(.move (.generated .binding 1)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 37)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 37))))] false)] false)] false)))]))), + (.function (.generated .function 14) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 38)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 38)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 14) [(.move (.generated .binding 3)), (.call (.function 15) [(.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)] false)))]))), + (.function (.generated .function 15) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 39)) none (.clone (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 39)) [(.mk .none (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 42)) none (.block (.mk [(.mk (.bind (.generated .operand 40)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 41)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 40)), (.move (.generated .operand 41))] false))))] (.matchOn (.move (.generated .holder 42)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 15) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]))), + (.function (.generated .function 16) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }] (.fallible (.option (.list .nat))) (.mk [(.mk (.bind (.generated .binding 1)) (some (.list .nat)) (.call (.function 21) [(.clone (.generated .binding 0)), (.construct (.nil .nat) [])] false))] (.succeed (.call (.function 17) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.bind (.generated .operand 43)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 43))] false)))), (.mk (.bind (.generated .operand 45)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] true))), (.move (.generated .binding 1)), (.construct (.nil .nat) [])] false)))), + (.function (.generated .function 17) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 3)), type := (.list .nat) }] (.option (.list .nat)) (.mk [(.mk (.bind (.generated .holder 46)) none (.copy (.generated .binding 1)))] (.cond (.isZero (.generated .holder 46)) (.mk [(.mk (.bind (.generated .holder 47)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 47)) [(.mk .none (.mk [] (.construct .some [(.call (.function 20) [(.move (.generated .binding 3)), (.construct (.nil .nat) [])] false)]))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.construct (.none (.list .nat)) [])))])) (.mk [(.mk (.bind (.generated .binding 6)) none (.predecessor (.generated .holder 46))), (.mk (.bind (.generated .holder 48)) none (.call (.function 18) [(.clone (.generated .binding 0)), (.clone (.generated .binding 2)), (.clone (.generated .binding 2))] false))] (.matchOn (.uncons (.generated .holder 48)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 49)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 49)) [(.mk .none (.mk [] (.construct .some [(.call (.function 20) [(.move (.generated .binding 3)), (.construct (.nil .nat) [])] false)]))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.construct (.none (.list .nat)) [])))]))), (.mk (.some (.tuple [(.bind (.generated .binding 9)), .wild])) (.mk [] (.call (.function 17) [(.move (.generated .binding 0)), (.copy (.generated .binding 6)), (.call (.function 27) [(.move (.generated .binding 2)), (.copy (.generated .binding 9))] false), (.construct .cons [(.copy (.generated .binding 9)), (.move (.generated .binding 3))])] false)))]))))), + (.function (.generated .function 18) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 2)), type := (.list .nat) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 50)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 50)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.cond (.call (.function 19) [(.clone (.generated .binding 0)), (.copy (.generated .binding 3)), (.clone (.generated .binding 1))] false) (.mk [] (.construct .cons [(.copy (.generated .binding 3)), (.call (.function 18) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)])) (.mk [] (.call (.function 18) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)))))]))), + (.function (.generated .function 19) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := (.list .nat) }] .bool (.mk [(.mk (.bind (.generated .holder 51)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 51)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.cond (.call (.function 26) [(.call (.function 24) [(.clone (.generated .binding 0)), (.copy (.generated .binding 3))] false), (.copy (.generated .binding 1))] false) (.mk [] (.lit (.bool false))) (.mk [] (.call (.function 19) [(.move (.generated .binding 0)), (.copy (.generated .binding 1)), (.move (.generated .binding 4))] false)))))]))), + (.function (.generated .function 20) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 52)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 52)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 20) [(.move (.generated .binding 3)), (.construct .cons [(.copy (.generated .binding 2)), (.move (.generated .binding 1))])] false)))]))), + (.function (.generated .function 21) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 53)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 53)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 21) [(.move (.generated .binding 3)), (.call (.function 22) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 54))]) none (.move (.generated .binding 2)))] (.move (.generated .part 54)))), (.call (.function 23) [(.move (.generated .binding 1)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 55)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 55))))] false)] false)] false)))]))), + (.function (.generated .function 22) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 56)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 56)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 22) [(.move (.generated .binding 3)), (.call (.function 23) [(.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)] false)))]))), + (.function (.generated .function 23) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 57)) none (.clone (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 57)) [(.mk .none (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 60)) none (.block (.mk [(.mk (.bind (.generated .operand 58)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 59)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 58)), (.move (.generated .operand 59))] false))))] (.matchOn (.move (.generated .holder 60)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 23) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]))), + (.function (.generated .function 24) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 61)) none (.call (.function 25) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 61)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.move (.generated .binding 2))))]))), + (.function (.generated .function 25) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.option (.list .nat)) (.mk [(.mk (.bind (.generated .holder 62)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 62)) [(.mk .none (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 66)) none (.block (.mk [(.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 63)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 63)))))] (.call (.runtime .compare) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] false))))] (.matchOn (.move (.generated .holder 66)) [(.mk (.ordering .less) (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 67))]) none (.move (.generated .binding 2)))] (.move (.generated .part 67))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 25) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]))), + (.function (.generated .function 26) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .holder 68)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 68)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 71)) none (.block (.mk [(.mk (.bind (.generated .operand 69)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 70)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 69)), (.move (.generated .operand 70))] false))))] (.matchOn (.move (.generated .holder 71)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 26) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]))), + (.function (.generated .function 27) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 72)) none (.clone (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 72)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 75)) none (.block (.mk [(.mk (.bind (.generated .operand 73)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 74)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] false))))] (.matchOn (.move (.generated .holder 75)) [(.mk (.ordering .less) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 3)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 27) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]))), + (.function (.generated .function 28) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }] .bool (.mk [(.mk (.bind (.generated .holder 76)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 76)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 29) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 77))]) none (.move (.generated .binding 1)))] (.move (.generated .part 77))))] false) (.mk [(.mk (.bind (.generated .holder 78)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 78)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 83)) none (.block (.mk [(.mk (.bind (.generated .operand 81)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 79)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 79))))), (.mk (.bind (.generated .operand 82)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 80)))))] (.call (.runtime .compare) [(.move (.generated .operand 81)), (.move (.generated .operand 82))] false))))] (.cond (.matchOn (.move (.generated .holder 83)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 28) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]))), + (.function (.generated .function 29) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }] .bool (.mk [(.mk (.bind (.generated .holder 84)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 84)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .holder 85)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 85)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 88)) none (.block (.mk [(.mk (.bind (.generated .operand 86)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 87)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 86)), (.move (.generated .operand 87))] false))))] (.cond (.matchOn (.move (.generated .holder 88)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 29) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])))]))), + (.function (.generated .function 30) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat (.list .nat))) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.option (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat)))))) (.mk [] (.cond (.call (.function 28) [(.clone (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] true)]))) (.mk [] (.succeed (.construct (.none (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat))))) []))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.pair (.call (.function 1) [(.clone (.generated .binding 0)), (.copy (.generated .binding 1))] false) (.pair (.call (.function 3) [(.clone (.generated .binding 0)), (.copy (.generated .binding 1))] true) (.call (.function 16) [(.move (.generated .binding 0))] true)))), [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, + (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat (.list .nat)))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil))))))⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.call (.function 2) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 1)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.move (.generated .binding 2))))]), [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option (.list .nat))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil .nat) [])) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 2))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 2)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 2)) [(.mk .none (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 6)) none (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 3)))))] (.call (.runtime .compare) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))))] (.matchOn (.move (.generated .holder 6)) [(.mk (.ordering .less) (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 7))]) none (.move (.generated .binding 2)))] (.move (.generated .part 7))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 2) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]), [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair .nat (.list .nat)))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none (.list .nat)) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .nat (.list .nat))), (some 3)), (2, (.pair .nat (.list .nat)), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 6)) none (.block (.mk [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 3)))))] (.call (.runtime .compare) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))))]) (tail := (.matchOn (.move (.generated .holder 6)) [(.mk (.ordering .less) (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 7))]) none (.move (.generated .binding 2)))] (.move (.generated .part 7))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 2) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 5)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 3)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 3))) (Corr.first (ta := .nat) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list (.pair .nat (.list .nat))), (some 3)), (2, (.pair .nat (.list .nat)), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none (.list .nat)) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .nat (.list .nat))), (some 3)), (2, (.pair .nat (.list .nat)), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 7))]) none (.move (.generated .binding 2)))] (.move (.generated .part 7))))])) (Corr.mCons (Γ' := [(3, (.list (.pair .nat (.list .nat))), (some 3)), (2, (.pair .nat (.list .nat)), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 2) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [(.list .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 7))]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 7))) (Corr.second (ta := .nat) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.call (.function 4) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .operand 8)) none (.call (.function 13) [(.move (.generated .binding 0)), (.construct (.nil .nat) [])] false))] (.call (.runtime .lengthList) [(.move (.generated .operand 8))] false)))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] true))), (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])]), (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])])] false)), [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, + (Corr.fOfB (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat, (.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .operand 8)) none (.call (.function 13) [(.move (.generated .binding 0)), (.construct (.nil .nat) [])] false))] (.call (.runtime .lengthList) [(.move (.generated .operand 8))] false)))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 8)) none (.call (.function 13) [(.move (.generated .binding 0)), (.construct (.nil .nat) [])] false))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 8))] false)) (Corr.prim (ts := [(.list .nat)]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))))) rfl rfl rfl rfl rfl))⟩⟩ + +theorem fun4 : FunOK program krate flags 4 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 11)) none (.copy (.generated .binding 1)))], (.cond (.isZero (.generated .holder 11)) (.mk [] (.move (.generated .binding 3))) (.mk [(.mk (.bind (.generated .binding 4)) none (.predecessor (.generated .holder 11))), (.mk (.bind (.generated .binding 5)) (some (.list .nat)) (.call (.function 5) [(.clone (.generated .binding 0)), (.clone (.generated .binding 3)), (.move (.generated .binding 2)), (.construct (.nil .nat) [])] false)), (.mk (.bind (.generated .holder 12)) none (.clone (.generated .binding 5)))] (.matchOn (.uncons (.generated .holder 12)) [(.mk .none (.mk [] (.move (.generated .binding 3)))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 4)), (.clone (.generated .binding 5)), (.call (.function 11) [(.move (.generated .binding 3)), (.move (.generated .binding 5))] false)] false)))]))), [(3, (.list .nat), (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, + (Corr.matchNat (sl := (some 4)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.move (.generated .binding 3))) (lb := [(.mk (.bind (.generated .binding 5)) (some (.list .nat)) (.call (.function 5) [(.clone (.generated .binding 0)), (.clone (.generated .binding 3)), (.move (.generated .binding 2)), (.construct (.nil .nat) [])] false)), (.mk (.bind (.generated .holder 12)) none (.clone (.generated .binding 5)))]) (tb := (.matchOn (.uncons (.generated .holder 12)) [(.mk .none (.mk [] (.move (.generated .binding 3)))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 4)), (.clone (.generated .binding 5)), (.call (.function 11) [(.move (.generated .binding 3)), (.move (.generated .binding 5))] false)] false)))])) (Corr.bOfE (Corr.var rfl rfl)) (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), (.list .nat), (.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))))) rfl rfl rfl rfl rfl)) rfl (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(5, (.list .nat), (some 5)), (4, .nat, (some 4)), (3, (.list .nat), (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 3))) (Corr.mCons (Γ' := [(7, (.list .nat), none), (6, .nat, none), (5, (.list .nat), (some 5)), (4, .nat, (some 4)), (3, (.list .nat), (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 4)), (.clone (.generated .binding 5)), (.call (.function 11) [(.move (.generated .binding 3)), (.move (.generated .binding 5))] false)] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat, (.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl))))⟩⟩ + +theorem fun5 : FunOK program krate flags 5 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 13)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 13)) [(.mk .none (.mk [] (.move (.generated .binding 3)))), (.mk (.some (.tuple [(.bind (.generated .binding 4)), (.bind (.generated .binding 5))])) (.mk [] (.call (.function 5) [(.clone (.generated .binding 0)), (.clone (.generated .binding 1)), (.move (.generated .binding 5)), (.call (.function 6) [(.move (.generated .binding 1)), (.call (.function 7) [(.move (.generated .binding 0)), (.copy (.generated .binding 4))] false), (.move (.generated .binding 3))] false)] false)))]), [(3, (.list .nat), (some 3)), (2, (.list .nat), (some 2)), (1, (.list .nat), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, (.list .nat), (some 2)), (1, (.list .nat), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 3))) (Corr.mCons (Γ' := [(5, (.list .nat), (some 5)), (4, .nat, (some 4)), (3, (.list .nat), (some 3)), (2, (.list .nat), (some 2)), (1, (.list .nat), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 5) [(.clone (.generated .binding 0)), (.clone (.generated .binding 1)), (.move (.generated .binding 5)), (.call (.function 6) [(.move (.generated .binding 1)), (.call (.function 7) [(.move (.generated .binding 0)), (.copy (.generated .binding 4))] false), (.move (.generated .binding 3))] false)] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), (.list .nat), (.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), (.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.lNil)))))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun6 : FunOK program krate flags 6 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 14)) none (.move (.generated .binding 1)))], (.matchOn (.uncons (.generated .holder 14)) [(.mk .none (.mk [] (.move (.generated .binding 2)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 6) [(.clone (.generated .binding 0)), (.move (.generated .binding 4)), (.cond (.call (.function 9) [(.move (.generated .binding 0)), (.copy (.generated .binding 3))] false) (.mk [] (.move (.generated .binding 2))) (.mk [] (.cond (.call (.function 9) [(.clone (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.mk [] (.move (.generated .binding 2))) (.mk [] (.call (.function 10) [(.move (.generated .binding 2)), (.copy (.generated .binding 3))] false)))))] false)))]), [(2, (.list .nat), (some 2)), (1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 2))) (Corr.mCons (Γ' := [(4, (.list .nat), (some 4)), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 6) [(.clone (.generated .binding 0)), (.move (.generated .binding 4)), (.cond (.call (.function 9) [(.move (.generated .binding 0)), (.copy (.generated .binding 3))] false) (.mk [] (.move (.generated .binding 2))) (.mk [] (.cond (.call (.function 9) [(.clone (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.mk [] (.move (.generated .binding 2))) (.mk [] (.call (.function 10) [(.move (.generated .binding 2)), (.copy (.generated .binding 3))] false)))))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .nat), (.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 9) [(.move (.generated .binding 0)), (.copy (.generated .binding 3))] false)) (lk := []) (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.move (.generated .binding 2))) (lb := []) (tb := (.cond (.call (.function 9) [(.clone (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.mk [] (.move (.generated .binding 2))) (.mk [] (.call (.function 10) [(.move (.generated .binding 2)), (.copy (.generated .binding 3))] false)))) (Corr.bOfE (Corr.var rfl rfl)) (Corr.cond (lc := []) (ce := (.call (.function 9) [(.clone (.generated .binding 2)), (.copy (.generated .binding 3))] false)) (lk := []) (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.move (.generated .binding 2))) (lb := []) (tb := (.call (.function 10) [(.move (.generated .binding 2)), (.copy (.generated .binding 3))] false)) (Corr.bOfE (Corr.var rfl rfl)) (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)))))) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun7 : FunOK program krate flags 7 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 15)) none (.call (.function 8) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 15)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.move (.generated .binding 2))))]), [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option (.list .nat))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil .nat) [])) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 2))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun8 : FunOK program krate flags 8 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 16)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 16)) [(.mk .none (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 20)) none (.block (.mk [(.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 19)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 17)))))] (.call (.runtime .compare) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false))))] (.matchOn (.move (.generated .holder 20)) [(.mk (.ordering .less) (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 21))]) none (.move (.generated .binding 2)))] (.move (.generated .part 21))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 8) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]), [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair .nat (.list .nat)))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none (.list .nat)) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .nat (.list .nat))), (some 3)), (2, (.pair .nat (.list .nat)), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 20)) none (.block (.mk [(.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 19)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 17)))))] (.call (.runtime .compare) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false))))]) (tail := (.matchOn (.move (.generated .holder 20)) [(.mk (.ordering .less) (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 21))]) none (.move (.generated .binding 2)))] (.move (.generated .part 21))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 8) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 18)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 19)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 17)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 18)), (.move (.generated .operand 19))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 17)), .wild]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 17))) (Corr.first (ta := .nat) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list (.pair .nat (.list .nat))), (some 3)), (2, (.pair .nat (.list .nat)), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none (.list .nat)) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .nat (.list .nat))), (some 3)), (2, (.pair .nat (.list .nat)), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 21))]) none (.move (.generated .binding 2)))] (.move (.generated .part 21))))])) (Corr.mCons (Γ' := [(3, (.list (.pair .nat (.list .nat))), (some 3)), (2, (.pair .nat (.list .nat)), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 8) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [(.list .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 21))]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 21))) (Corr.second (ta := .nat) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun9 : FunOK program krate flags 9 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 22)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 22)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 25)) none (.block (.mk [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 24)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false))))] (.matchOn (.move (.generated .holder 25)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 9) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]), [(1, .nat, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 25)) none (.block (.mk [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 24)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false))))]) (tail := (.matchOn (.move (.generated .holder 25)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 9) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 24)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 9) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun10 : FunOK program krate flags 10 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 26)) none (.clone (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 26)) [(.mk .none (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 29)) none (.block (.mk [(.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 28)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false))))] (.matchOn (.move (.generated .holder 29)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 10) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]), [(1, .nat, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 29)) none (.block (.mk [(.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 28)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false))))]) (tail := (.matchOn (.move (.generated .holder 29)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 10) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 28)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 10) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun11 : FunOK program krate flags 11 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 30)) none (.move (.generated .binding 1)))], (.matchOn (.uncons (.generated .holder 30)) [(.mk .none (.mk [] (.move (.generated .binding 0)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 11) [(.call (.function 12) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false), (.move (.generated .binding 3))] false)))]), [(1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 11) [(.call (.function 12) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false), (.move (.generated .binding 3))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun12 : FunOK program krate flags 12 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 31)) none (.clone (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 31)) [(.mk .none (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 34)) none (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 33)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] false))))] (.matchOn (.move (.generated .holder 34)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 12) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]), [(1, .nat, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 34)) none (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 33)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] false))))]) (tail := (.matchOn (.move (.generated .holder 34)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 12) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 32)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 33)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 12) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun13 : FunOK program krate flags 13 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 35)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 35)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 13) [(.move (.generated .binding 3)), (.call (.function 14) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 36))]) none (.move (.generated .binding 2)))] (.move (.generated .part 36)))), (.call (.function 15) [(.move (.generated .binding 1)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 37)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 37))))] false)] false)] false)))]), [(1, (.list .nat), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair .nat (.list .nat)))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.list .nat), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(3, (.list (.pair .nat (.list .nat))), (some 3)), (2, (.pair .nat (.list .nat)), (some 2)), (1, (.list .nat), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 13) [(.move (.generated .binding 3)), (.call (.function 14) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 36))]) none (.move (.generated .binding 2)))] (.move (.generated .part 36)))), (.call (.function 15) [(.move (.generated .binding 1)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 37)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 37))))] false)] false)] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 36))]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 36))) (Corr.second (ta := .nat) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 37)), .wild]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 37))) (Corr.first (ta := .nat) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun14 : FunOK program krate flags 14 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 38)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 38)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 14) [(.move (.generated .binding 3)), (.call (.function 15) [(.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)] false)))]), [(1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 14) [(.move (.generated .binding 3)), (.call (.function 15) [(.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun15 : FunOK program krate flags 15 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 39)) none (.clone (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 39)) [(.mk .none (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 42)) none (.block (.mk [(.mk (.bind (.generated .operand 40)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 41)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 40)), (.move (.generated .operand 41))] false))))] (.matchOn (.move (.generated .holder 42)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 15) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]), [(1, .nat, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 42)) none (.block (.mk [(.mk (.bind (.generated .operand 40)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 41)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 40)), (.move (.generated .operand 41))] false))))]) (tail := (.matchOn (.move (.generated .holder 42)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 15) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 40)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 41)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 40)), (.move (.generated .operand 41))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 15) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun16 : FunOK program krate flags 16 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.list .nat)) (.call (.function 21) [(.clone (.generated .binding 0)), (.construct (.nil .nat) [])] false))], (.succeed (.call (.function 17) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.bind (.generated .operand 43)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 43))] false)))), (.mk (.bind (.generated .operand 45)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] true))), (.move (.generated .binding 1)), (.construct (.nil .nat) [])] false)), [(0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, + (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl (Corr.fOfB (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat, (.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.bind (.generated .operand 43)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 43))] false)))), (.mk (.bind (.generated .operand 45)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 43)) none (.clone (.generated .binding 1)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 43))] false)) (Corr.prim (ts := [(.list .nat)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))))) rfl rfl rfl rfl rfl)))⟩⟩ + +theorem fun17 : FunOK program krate flags 17 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 46)) none (.copy (.generated .binding 1)))], (.cond (.isZero (.generated .holder 46)) (.mk [(.mk (.bind (.generated .holder 47)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 47)) [(.mk .none (.mk [] (.construct .some [(.call (.function 20) [(.move (.generated .binding 3)), (.construct (.nil .nat) [])] false)]))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.construct (.none (.list .nat)) [])))])) (.mk [(.mk (.bind (.generated .binding 6)) none (.predecessor (.generated .holder 46))), (.mk (.bind (.generated .holder 48)) none (.call (.function 18) [(.clone (.generated .binding 0)), (.clone (.generated .binding 2)), (.clone (.generated .binding 2))] false))] (.matchOn (.uncons (.generated .holder 48)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 49)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 49)) [(.mk .none (.mk [] (.construct .some [(.call (.function 20) [(.move (.generated .binding 3)), (.construct (.nil .nat) [])] false)]))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.construct (.none (.list .nat)) [])))]))), (.mk (.some (.tuple [(.bind (.generated .binding 9)), .wild])) (.mk [] (.call (.function 17) [(.move (.generated .binding 0)), (.copy (.generated .binding 6)), (.call (.function 27) [(.move (.generated .binding 2)), (.copy (.generated .binding 9))] false), (.construct .cons [(.copy (.generated .binding 9)), (.move (.generated .binding 3))])] false)))]))), [(3, (.list .nat), (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, + (Corr.matchNat (sl := (some 6)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := [(.mk (.bind (.generated .holder 47)) none (.move (.generated .binding 2)))]) (ta := (.matchOn (.uncons (.generated .holder 47)) [(.mk .none (.mk [] (.construct .some [(.call (.function 20) [(.move (.generated .binding 3)), (.construct (.nil .nat) [])] false)]))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.construct (.none (.list .nat)) [])))])) (lb := [(.mk (.bind (.generated .holder 48)) none (.call (.function 18) [(.clone (.generated .binding 0)), (.clone (.generated .binding 2)), (.clone (.generated .binding 2))] false))]) (tb := (.matchOn (.uncons (.generated .holder 48)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 49)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 49)) [(.mk .none (.mk [] (.construct .some [(.call (.function 20) [(.move (.generated .binding 3)), (.construct (.nil .nat) [])] false)]))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.construct (.none (.list .nat)) [])))]))), (.mk (.some (.tuple [(.bind (.generated .binding 9)), .wild])) (.mk [] (.call (.function 17) [(.move (.generated .binding 0)), (.copy (.generated .binding 6)), (.call (.function 27) [(.move (.generated .binding 2)), (.copy (.generated .binding 9))] false), (.construct .cons [(.copy (.generated .binding 9)), (.move (.generated .binding 3))])] false)))])) (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.call (.function 20) [(.move (.generated .binding 3)), (.construct (.nil .nat) [])] false)])) (Corr.mCons (Γ' := [(5, (.list .nat), none), (4, .nat, none), (3, (.list .nat), (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct (.none (.list .nat)) [])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl (Corr.build (ts := [(.list .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) rfl rfl rfl) (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), (.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(6, .nat, (some 6)), (3, (.list .nat), (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := [(.mk (.bind (.generated .holder 49)) none (.move (.generated .binding 2)))]) (tail := (.matchOn (.uncons (.generated .holder 49)) [(.mk .none (.mk [] (.construct .some [(.call (.function 20) [(.move (.generated .binding 3)), (.construct (.nil .nat) [])] false)]))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.construct (.none (.list .nat)) [])))])) (Corr.mCons (Γ' := [(10, (.list .nat), none), (9, .nat, (some 9)), (6, .nat, (some 6)), (3, (.list .nat), (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 17) [(.move (.generated .binding 0)), (.copy (.generated .binding 6)), (.call (.function 27) [(.move (.generated .binding 2)), (.copy (.generated .binding 9))] false), (.construct .cons [(.copy (.generated .binding 9)), (.move (.generated .binding 3))])] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat, (.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) (Corr.lNil)))))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(6, .nat, (some 6)), (3, (.list .nat), (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.call (.function 20) [(.move (.generated .binding 3)), (.construct (.nil .nat) [])] false)])) (Corr.mCons (Γ' := [(8, (.list .nat), none), (7, .nat, none), (6, .nat, (some 6)), (3, (.list .nat), (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct (.none (.list .nat)) [])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl (Corr.build (ts := [(.list .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) rfl rfl rfl)) rfl rfl rfl)))⟩⟩ + +theorem fun18 : FunOK program krate flags 18 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 50)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 50)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.cond (.call (.function 19) [(.clone (.generated .binding 0)), (.copy (.generated .binding 3)), (.clone (.generated .binding 1))] false) (.mk [] (.construct .cons [(.copy (.generated .binding 3)), (.call (.function 18) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)])) (.mk [] (.call (.function 18) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)))))]), [(2, (.list .nat), (some 2)), (1, (.list .nat), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, (.list .nat), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil .nat) [])) (Corr.mCons (Γ' := [(4, (.list .nat), (some 4)), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, (.list .nat), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 19) [(.clone (.generated .binding 0)), (.copy (.generated .binding 3)), (.clone (.generated .binding 1))] false) (.mk [] (.construct .cons [(.copy (.generated .binding 3)), (.call (.function 18) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)])) (.mk [] (.call (.function 18) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 19) [(.clone (.generated .binding 0)), (.copy (.generated .binding 3)), (.clone (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat, (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .cons [(.copy (.generated .binding 3)), (.call (.function 18) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)])) (lb := []) (tb := (.call (.function 18) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)) (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), (.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl) (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), (.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)))) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun19 : FunOK program krate flags 19 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 51)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 51)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.cond (.call (.function 26) [(.call (.function 24) [(.clone (.generated .binding 0)), (.copy (.generated .binding 3))] false), (.copy (.generated .binding 1))] false) (.mk [] (.lit (.bool false))) (.mk [] (.call (.function 19) [(.move (.generated .binding 0)), (.copy (.generated .binding 1)), (.move (.generated .binding 4))] false)))))]), [(2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list .nat), (some 4)), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 26) [(.call (.function 24) [(.clone (.generated .binding 0)), (.copy (.generated .binding 3))] false), (.copy (.generated .binding 1))] false) (.mk [] (.lit (.bool false))) (.mk [] (.call (.function 19) [(.move (.generated .binding 0)), (.copy (.generated .binding 1)), (.move (.generated .binding 4))] false)))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 26) [(.call (.function 24) [(.clone (.generated .binding 0)), (.copy (.generated .binding 3))] false), (.copy (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.bool false))) (lb := []) (tb := (.call (.function 19) [(.move (.generated .binding 0)), (.copy (.generated .binding 1)), (.move (.generated .binding 4))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat, (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun20 : FunOK program krate flags 20 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 52)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 52)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 20) [(.move (.generated .binding 3)), (.construct .cons [(.copy (.generated .binding 2)), (.move (.generated .binding 1))])] false)))]), [(1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 20) [(.move (.generated .binding 3)), (.construct .cons [(.copy (.generated .binding 2)), (.move (.generated .binding 1))])] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun21 : FunOK program krate flags 21 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 53)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 53)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 21) [(.move (.generated .binding 3)), (.call (.function 22) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 54))]) none (.move (.generated .binding 2)))] (.move (.generated .part 54)))), (.call (.function 23) [(.move (.generated .binding 1)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 55)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 55))))] false)] false)] false)))]), [(1, (.list .nat), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair .nat (.list .nat)))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.list .nat), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(3, (.list (.pair .nat (.list .nat))), (some 3)), (2, (.pair .nat (.list .nat)), (some 2)), (1, (.list .nat), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 21) [(.move (.generated .binding 3)), (.call (.function 22) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 54))]) none (.move (.generated .binding 2)))] (.move (.generated .part 54)))), (.call (.function 23) [(.move (.generated .binding 1)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 55)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 55))))] false)] false)] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 54))]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 54))) (Corr.second (ta := .nat) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 55)), .wild]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 55))) (Corr.first (ta := .nat) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun22 : FunOK program krate flags 22 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 56)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 56)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 22) [(.move (.generated .binding 3)), (.call (.function 23) [(.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)] false)))]), [(1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, (.list .nat), (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 22) [(.move (.generated .binding 3)), (.call (.function 23) [(.move (.generated .binding 1)), (.copy (.generated .binding 2))] false)] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .nat), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun23 : FunOK program krate flags 23 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 57)) none (.clone (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 57)) [(.mk .none (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 60)) none (.block (.mk [(.mk (.bind (.generated .operand 58)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 59)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 58)), (.move (.generated .operand 59))] false))))] (.matchOn (.move (.generated .holder 60)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 23) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]), [(1, .nat, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil .nat) [])])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 60)) none (.block (.mk [(.mk (.bind (.generated .operand 58)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 59)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 58)), (.move (.generated .operand 59))] false))))]) (tail := (.matchOn (.move (.generated .holder 60)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 23) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 58)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 59)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 58)), (.move (.generated .operand 59))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 23) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun24 : FunOK program krate flags 24 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 61)) none (.call (.function 25) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 61)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.move (.generated .binding 2))))]), [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option (.list .nat))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil .nat) [])) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 2))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun25 : FunOK program krate flags 25 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 62)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 62)) [(.mk .none (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 66)) none (.block (.mk [(.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 63)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 63)))))] (.call (.runtime .compare) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] false))))] (.matchOn (.move (.generated .holder 66)) [(.mk (.ordering .less) (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 67))]) none (.move (.generated .binding 2)))] (.move (.generated .part 67))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 25) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]), [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair .nat (.list .nat)))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none (.list .nat)) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .nat (.list .nat))), (some 3)), (2, (.pair .nat (.list .nat)), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 66)) none (.block (.mk [(.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 63)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 63)))))] (.call (.runtime .compare) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] false))))]) (tail := (.matchOn (.move (.generated .holder 66)) [(.mk (.ordering .less) (.mk [] (.construct (.none (.list .nat)) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 67))]) none (.move (.generated .binding 2)))] (.move (.generated .part 67))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 25) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 63)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 63)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 63)), .wild]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 63))) (Corr.first (ta := .nat) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list (.pair .nat (.list .nat))), (some 3)), (2, (.pair .nat (.list .nat)), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none (.list .nat)) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .nat (.list .nat))), (some 3)), (2, (.pair .nat (.list .nat)), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 67))]) none (.move (.generated .binding 2)))] (.move (.generated .part 67))))])) (Corr.mCons (Γ' := [(3, (.list (.pair .nat (.list .nat))), (some 3)), (2, (.pair .nat (.list .nat)), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 25) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [(.list .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 67))]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 67))) (Corr.second (ta := .nat) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun26 : FunOK program krate flags 26 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 68)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 68)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 71)) none (.block (.mk [(.mk (.bind (.generated .operand 69)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 70)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 69)), (.move (.generated .operand 70))] false))))] (.matchOn (.move (.generated .holder 71)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 26) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]), [(1, .nat, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 71)) none (.block (.mk [(.mk (.bind (.generated .operand 69)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 70)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 69)), (.move (.generated .operand 70))] false))))]) (tail := (.matchOn (.move (.generated .holder 71)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 26) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 69)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 70)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 69)), (.move (.generated .operand 70))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 26) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun27 : FunOK program krate flags 27 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 72)) none (.clone (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 72)) [(.mk .none (.mk [] (.construct (.nil .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 75)) none (.block (.mk [(.mk (.bind (.generated .operand 73)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 74)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] false))))] (.matchOn (.move (.generated .holder 75)) [(.mk (.ordering .less) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 3)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 27) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]), [(1, .nat, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil .nat) [])) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 75)) none (.block (.mk [(.mk (.bind (.generated .operand 73)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 74)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] false))))]) (tail := (.matchOn (.move (.generated .holder 75)) [(.mk (.ordering .less) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 3)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 27) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 73)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 74)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 3))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 27) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun28 : FunOK program krate flags 28 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 76)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 76)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 29) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 77))]) none (.move (.generated .binding 1)))] (.move (.generated .part 77))))] false) (.mk [(.mk (.bind (.generated .holder 78)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 78)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 83)) none (.block (.mk [(.mk (.bind (.generated .operand 81)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 79)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 79))))), (.mk (.bind (.generated .operand 82)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 80)))))] (.call (.runtime .compare) [(.move (.generated .operand 81)), (.move (.generated .operand 82))] false))))] (.cond (.matchOn (.move (.generated .holder 83)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 28) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair .nat (.list .nat)))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.pair .nat (.list .nat))), (some 2)), (1, (.pair .nat (.list .nat)), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 29) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 77))]) none (.move (.generated .binding 1)))] (.move (.generated .part 77))))] false) (.mk [(.mk (.bind (.generated .holder 78)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 78)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 83)) none (.block (.mk [(.mk (.bind (.generated .operand 81)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 79)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 79))))), (.mk (.bind (.generated .operand 82)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 80)))))] (.call (.runtime .compare) [(.move (.generated .operand 81)), (.move (.generated .operand 82))] false))))] (.cond (.matchOn (.move (.generated .holder 83)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 28) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 29) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 77))]) none (.move (.generated .binding 1)))] (.move (.generated .part 77))))] false)) (lk := []) (Corr.callOps (ts := [(.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 77))]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 77))) (Corr.second (ta := .nat) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .holder 78)) none (.clone (.generated .binding 2)))]) (ta := (.matchOn (.uncons (.generated .holder 78)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 83)) none (.block (.mk [(.mk (.bind (.generated .operand 81)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 79)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 79))))), (.mk (.bind (.generated .operand 82)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 80)))))] (.call (.runtime .compare) [(.move (.generated .operand 81)), (.move (.generated .operand 82))] false))))] (.cond (.matchOn (.move (.generated .holder 83)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 28) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (lb := []) (tb := (.lit (.bool false))) (Corr.matchArms (st := (.list (.pair .nat (.list .nat)))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.pair .nat (.list .nat))), (some 2)), (1, (.pair .nat (.list .nat)), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .nat (.list .nat))), none), (3, (.pair .nat (.list .nat)), (some 3)), (2, (.list (.pair .nat (.list .nat))), (some 2)), (1, (.pair .nat (.list .nat)), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 83)) none (.block (.mk [(.mk (.bind (.generated .operand 81)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 79)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 79))))), (.mk (.bind (.generated .operand 82)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 80)))))] (.call (.runtime .compare) [(.move (.generated .operand 81)), (.move (.generated .operand 82))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 83)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 28) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 83)) none (.block (.mk [(.mk (.bind (.generated .operand 81)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 79)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 79))))), (.mk (.bind (.generated .operand 82)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 80)))))] (.call (.runtime .compare) [(.move (.generated .operand 81)), (.move (.generated .operand 82))] false))))]) (ce := (.matchOn (.move (.generated .holder 83)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 81)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 79)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 79))))), (.mk (.bind (.generated .operand 82)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 80)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 81)), (.move (.generated .operand 82))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 79)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 79))) (Corr.first (ta := .nat) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.move (.generated .binding 3)))]) (tail := (.move (.generated .part 80))) (Corr.first (ta := .nat) (tb := (.list .nat)) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.pair .nat (.list .nat))), none), (3, (.pair .nat (.list .nat)), (some 3)), (2, (.list (.pair .nat (.list .nat))), (some 2)), (1, (.pair .nat (.list .nat)), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .nat (.list .nat))), none), (3, (.pair .nat (.list .nat)), (some 3)), (2, (.list (.pair .nat (.list .nat))), (some 2)), (1, (.pair .nat (.list .nat)), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list (.pair .nat (.list .nat))), none), (3, (.pair .nat (.list .nat)), (some 3)), (2, (.list (.pair .nat (.list .nat))), (some 2)), (1, (.pair .nat (.list .nat)), (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 28) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.pair .nat (.list .nat)))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun29 : FunOK program krate flags 29 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 84)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 84)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .holder 85)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 85)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 88)) none (.block (.mk [(.mk (.bind (.generated .operand 86)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 87)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 86)), (.move (.generated .operand 87))] false))))] (.cond (.matchOn (.move (.generated .holder 88)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 29) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])))]), [(0, (.list .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 85)) none (.clone (.generated .binding 2)))]) (tail := (.matchOn (.uncons (.generated .holder 85)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 88)) none (.block (.mk [(.mk (.bind (.generated .operand 86)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 87)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 86)), (.move (.generated .operand 87))] false))))] (.cond (.matchOn (.move (.generated .holder 88)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 29) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list .nat), none), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 88)) none (.block (.mk [(.mk (.bind (.generated .operand 86)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 87)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 86)), (.move (.generated .operand 87))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 88)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 29) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 88)) none (.block (.mk [(.mk (.bind (.generated .operand 86)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 87)) none (.copy (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 86)), (.move (.generated .operand 87))] false))))]) (ce := (.matchOn (.move (.generated .holder 88)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 86)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 87)) none (.copy (.generated .binding 3)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 86)), (.move (.generated .operand 87))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list .nat), none), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list .nat), none), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list .nat), none), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 29) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun30 : FunOK program krate flags 30 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 28) [(.clone (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] true)]))) (.mk [] (.succeed (.construct (.none (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat))))) [])))), [(1, .nat, (some 1)), (0, (.list (.pair .nat (.list .nat))), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 28) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair .nat (.list .nat)))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.copy (.generated .binding 1))] true)]))) (lb := []) (tb := (.succeed (.construct (.none (.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat))))) []))) (Corr.fOfB (Corr.build (ts := [(.pair (.list .nat) (.pair (.list .nat) (.option (.list .nat))))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat (.list .nat))), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | 4 => exact fun4 + | 5 => exact fun5 + | 6 => exact fun6 + | 7 => exact fun7 + | 8 => exact fun8 + | 9 => exact fun9 + | 10 => exact fun10 + | 11 => exact fun11 + | 12 => exact fun12 + | 13 => exact fun13 + | 14 => exact fun14 + | 15 => exact fun15 + | 16 => exact fun16 + | 17 => exact fun17 + | 18 => exact fun18 + | 19 => exact fun19 + | 20 => exact fun20 + | 21 => exact fun21 + | 22 => exact fun22 + | 23 => exact fun23 + | 24 => exact fun24 + | 25 => exact fun25 + | 26 => exact fun26 + | 27 => exact fun27 + | 28 => exact fun28 + | 29 => exact fun29 + | 30 => exact fun30 + | _ + 31 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R7.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R7.lean new file mode 100644 index 000000000..c015a3905 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R7.lean @@ -0,0 +1,124 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Coverage.Boundary +import Coverage.Colls +import Coverage.Main +import Coverage.Prims +import Coverage.RecRoots +import Coverage.Recur +import Coverage.Syntax +import Coverage.Types +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0], types := [(.list (.pair .string (.list .string)))], result := (.option (.list .string)), + body := (.call 1 [(.var 0)]) }, + { parameters := [0], types := [(.list (.pair .string (.list .string)))], result := (.option (.list .string)), + body := (.«let» 1 (.list .string) (.call 6 [(.var 0), (.build .nil (.list .string) [])]) (.call 2 [(.var 0), (.prim .natAdd [(.prim .length [(.var 1)]), (.value .nat (.nat 1))]), (.var 1), (.build .nil (.list .string) [])])) }, + { parameters := [0, 1, 2, 3], types := [(.list (.pair .string (.list .string))), .nat, (.list .string), (.list .string)], result := (.option (.list .string)), + body := (.«match» (.option (.list .string)) (.var 1) [(.arm .zero [] (.«match» (.option (.list .string)) (.var 2) [(.arm .nil [] (.build .some (.option (.list .string)) [(.call 5 [(.var 3), (.build .nil (.list .string) [])])])), (.arm .cons [4, 5] (.build .none (.option (.list .string)) []))])), (.arm .succ [6] (.«match» (.option (.list .string)) (.call 3 [(.var 0), (.var 2), (.var 2)]) [(.arm .nil [] (.«match» (.option (.list .string)) (.var 2) [(.arm .nil [] (.build .some (.option (.list .string)) [(.call 5 [(.var 3), (.build .nil (.list .string) [])])])), (.arm .cons [7, 8] (.build .none (.option (.list .string)) []))])), (.arm .cons [9, 10] (.call 2 [(.var 0), (.var 6), (.call 12 [(.var 2), (.var 9)]), (.build .cons (.list .string) [(.var 9), (.var 3)])]))]))]) }, + { parameters := [0, 1, 2], types := [(.list (.pair .string (.list .string))), (.list .string), (.list .string)], result := (.list .string), + body := (.«match» (.list .string) (.var 2) [(.arm .nil [] (.build .nil (.list .string) [])), (.arm .cons [3, 4] (.cond (.call 4 [(.var 0), (.var 3), (.var 1)]) (.build .cons (.list .string) [(.var 3), (.call 3 [(.var 0), (.var 1), (.var 4)])]) (.call 3 [(.var 0), (.var 1), (.var 4)])))]) }, + { parameters := [0, 1, 2], types := [(.list (.pair .string (.list .string))), .string, (.list .string)], result := .bool, + body := (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.call 11 [(.call 9 [(.var 0), (.var 3)]), (.var 1)]) (.build .false .bool []) (.call 4 [(.var 0), (.var 1), (.var 4)])))]) }, + { parameters := [0, 1], types := [(.list .string), (.list .string)], result := (.list .string), + body := (.«match» (.list .string) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 5 [(.var 3), (.build .cons (.list .string) [(.var 2), (.var 1)])]))]) }, + { parameters := [0, 1], types := [(.list (.pair .string (.list .string))), (.list .string)], result := (.list .string), + body := (.«match» (.list .string) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 6 [(.var 3), (.call 7 [(.second (.var 2)), (.call 8 [(.var 1), (.first (.var 2))])])]))]) }, + { parameters := [0, 1], types := [(.list .string), (.list .string)], result := (.list .string), + body := (.«match» (.list .string) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 7 [(.var 3), (.call 8 [(.var 1), (.var 2)])]))]) }, + { parameters := [0, 1], types := [(.list .string), .string], result := (.list .string), + body := (.«match» (.list .string) (.var 0) [(.arm .nil [] (.build .cons (.list .string) [(.var 1), (.build .nil (.list .string) [])])), (.arm .cons [2, 3] (.«match» (.list .string) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list .string) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list .string) [(.var 2), (.call 8 [(.var 3), (.var 1)])]))]))]) }, + { parameters := [0, 1], types := [(.list (.pair .string (.list .string))), .string], result := (.list .string), + body := (.«match» (.list .string) (.call 10 [(.var 0), (.var 1)]) [(.arm .none [] (.build .nil (.list .string) [])), (.arm .some [2] (.var 2))]) }, + { parameters := [0, 1], types := [(.list (.pair .string (.list .string))), .string], result := (.option (.list .string)), + body := (.«match» (.option (.list .string)) (.var 0) [(.arm .nil [] (.build .none (.option (.list .string)) [])), (.arm .cons [2, 3] (.«match» (.option (.list .string)) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option (.list .string)) [])), (.arm .eq [] (.build .some (.option (.list .string)) [(.second (.var 2))])), (.arm .gt [] (.call 10 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0, 1], types := [(.list .string), .string], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .false .bool [])), (.arm .cons [2, 3] (.«match» .bool (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .false .bool [])), (.arm .eq [] (.build .true .bool [])), (.arm .gt [] (.call 11 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0, 1], types := [(.list .string), .string], result := (.list .string), + body := (.«match» (.list .string) (.var 0) [(.arm .nil [] (.build .nil (.list .string) [])), (.arm .cons [2, 3] (.«match» (.list .string) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.var 0)), (.arm .eq [] (.var 3)), (.arm .gt [] (.build .cons (.list .string) [(.var 2), (.call 12 [(.var 3), (.var 1)])]))]))]) }, + { parameters := [0], types := [(.list (.pair .string (.list .string)))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 14 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 13 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, + { parameters := [0], types := [(.list .string)], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.var 1), (.var 3)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 14 [(.var 2)]) (.build .false .bool [])))]))]) }, + { parameters := [0], types := [(.list (.pair .string (.list .string)))], result := (.option (.option (.list .string))), + body := (.cond (.call 13 [(.var 0)]) (.build .some (.option (.option (.list .string))) [(.call 0 [(.var 0)])]) (.build .none (.option (.option (.list .string))) [])) }] } + +def __fits_0 (g : (List (Prod String (List String)))) : Bool := + ((Bool.true && Bool.true) && (_root_.LexLeanPreservation.graphFits _root_.LexLeanCollections.insertElement (g))) + +theorem __rel_0 (g : (List (Prod String (List String)))) : _root_.LexLeanPreservation.FunRel __prog 0 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string))) g)] (_root_.LexLeanPreservation.Rel (__fits_0 g) ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string)) (Coverage.Colls.stringGraph g))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.tpl_graphTopological (_root_.LexLeanPreservation.keySpec_string _root_.LexLeanCollections.compareCodes rfl (fun _ _ => rfl) (fun _ _ => rfl) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (_root_.LexLeanCollections.Key.compare : String -> String -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.string) (fun _ => rfl) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string))) (fun _ => rfl) (_root_.LexLeanPreservation.optEnc (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string)) (fun _ => rfl) (⟨(fun _ => rfl), (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.insertElement, __h]), (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.insertElement, __h]), (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.insertElement, __h]), (fun _ => rfl), (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.removeElement, __h]), (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.removeElement, __h]), (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.removeElement, __h]), (fun _ => rfl), (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.containsElement, __h]), (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.containsElement, __h]), (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.containsElement, __h])⟩ : _root_.LexLeanPreservation.SetOps (_root_.LexLeanCollections.Key.compare : String -> String -> Ordering) _root_.LexLeanCollections.insertElement _root_.LexLeanCollections.removeElement _root_.LexLeanCollections.containsElement) (⟨(fun _ => rfl), (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]), (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]), (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h])⟩ : _root_.LexLeanPreservation.LookOps (_root_.LexLeanCollections.Key.compare : String -> String -> Ordering) (_root_.LexLeanCollections.lookupEntry : String -> List (Prod String (List String)) -> Option (List String))) (g) (_root_.LexLeanCollections.graphSuccessors (g)) (fun _ => rfl) (⟨(fun _ => rfl), (fun _ _ _ => rfl), (fun _ _ => rfl), (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.topological, __h] <;> rfl), (fun _ _ _ _ _ __h => by simp only [_root_.LexLeanCollections.topological, __h])⟩ : _root_.LexLeanPreservation.TopoOps (_root_.LexLeanCollections.graphSuccessors (g)) _root_.LexLeanCollections.containsElement _root_.LexLeanCollections.removeElement (_root_.LexLeanCollections.topological (g))) (p := __prog) (fi := 1) (tk := .string) rfl rfl rfl rfl rfl rfl rfl rfl rfl rfl rfl rfl)) + +def denote (g : (List (Prod String (List String)))) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 g) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string)) (Coverage.Colls.stringGraph g)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (g : (List (Prod String (List String)))) : _root_.LexLeanPreservation.RunConv __prog 0 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string))) g)] (_root_.LexLeanPreservation.Rel (__fits_0 g) ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string)) (Coverage.Colls.stringGraph g))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 g) + +def __valid_14 : (List String) -> Bool := + _root_.LexLeanPreservation.ascSet (_root_.LexLeanCollections.Key.compare : String -> String -> Ordering) + +def __inv_14 : (List String) -> Prop := + _root_.LexLeanPreservation.InvSet (_root_.LexLeanCollections.Key.compare : String -> String -> Ordering) + +theorem __viff_14 : ∀ (__v : (List String)), __valid_14 __v = Bool.true ↔ __inv_14 __v := + _root_.LexLeanPreservation.ascSet_inv (_root_.LexLeanCollections.Key.compare : String -> String -> Ordering) + +theorem __vrel_14 : ∀ (__v : (List String)), _root_.LexLeanPreservation.FunRel __prog 14 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_14 __v))) := + _root_.LexLeanPreservation.tpl_validSet (_root_.LexLeanPreservation.keySpec_string _root_.LexLeanCollections.compareCodes rfl (fun _ _ => rfl) (fun _ _ => rfl) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (_root_.LexLeanCollections.Key.compare : String -> String -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.string) (fun _ => rfl) rfl + +def __valid_13 : (List (Prod String (List String))) -> Bool := + _root_.LexLeanPreservation.ascMap (_root_.LexLeanCollections.Key.compare : String -> String -> Ordering) __valid_14 + +def __inv_13 : (List (Prod String (List String))) -> Prop := + _root_.LexLeanPreservation.InvMap (_root_.LexLeanCollections.Key.compare : String -> String -> Ordering) __inv_14 + +theorem __viff_13 : ∀ (__v : (List (Prod String (List String)))), __valid_13 __v = Bool.true ↔ __inv_13 __v := + _root_.LexLeanPreservation.ascMap_inv (_root_.LexLeanCollections.Key.compare : String -> String -> Ordering) __valid_14 __inv_14 __viff_14 + +theorem __vrel_13 : ∀ (__v : (List (Prod String (List String)))), _root_.LexLeanPreservation.FunRel __prog 13 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string))) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_13 __v))) := + _root_.LexLeanPreservation.tpl_validMap (_root_.LexLeanPreservation.keySpec_string _root_.LexLeanCollections.compareCodes rfl (fun _ _ => rfl) (fun _ _ => rfl) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (_root_.LexLeanCollections.Key.compare : String -> String -> Ordering) (fun _ _ => rfl)) __valid_14 (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string))) (fun _ => rfl) __vrel_14 rfl + +def entryFits (g : (List (Prod String (List String)))) : Bool := + (if __valid_13 g then __fits_0 g else Bool.true) + +def entryValue (g : (List (Prod String (List String)))) : _root_.LexLeanTarget.TargetSyntax.Value := + (if __valid_13 g then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string)) (Coverage.Colls.stringGraph g))) else _root_.LexLeanTarget.TargetSyntax.Value.none) + +/-- The entry's observation. -/ +def denoteEntry (g : (List (Prod String (List String)))) : _root_.LexLeanPreservation.Obs := + _root_.cond (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.entryFits g) (_root_.LexLeanPreservation.Obs.value (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.entryValue g)) _root_.LexLeanPreservation.Obs.overflow + +/-- §17.12's invariants of the validated parameters. -/ +def accepts (g : (List (Prod String (List String)))) : Prop := + (__inv_13 g ∧ _root_.True) + +theorem entry (g : (List (Prod String (List String)))) : _root_.LexLeanPreservation.RunConv __prog 15 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string))) g)] (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.denoteEntry g) := + _root_.LexLeanPreservation.run_of_funRel (_root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then __fits_0 g else Bool.true) (fun __c => if __c then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string)) (Coverage.Colls.stringGraph g))) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_13 g) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_13 g)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_0 g)) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (by simp [_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.entryFits])) + +theorem entry_accepts (g : (List (Prod String (List String)))) (__h : _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.accepts g) : _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.denoteEntry g = _root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.denote g) := by + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.accepts at __h + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.denoteEntry _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.entryFits _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.entryValue _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.denote + simp only [_root_.if_true, (__viff_13 g).mpr __h.1] + cases __fits_0 g <;> rfl + +theorem entry_refuses (g : (List (Prod String (List String)))) (__h : ¬ _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.accepts g) : _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.denoteEntry g = _root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none := by + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.accepts at __h + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.denoteEntry _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.entryFits _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.entryValue + cases __c0 : __valid_13 g + · simp + · exact _root_.absurd ⟨(__viff_13 g).mp __c0, _root_.trivial⟩ __h + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R7/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R7/Compose/RustStd.lean new file mode 100644 index 000000000..4d39c84c2 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R7/Compose/RustStd.lean @@ -0,0 +1,20 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.Compose.RustStd + +/-- The rendering of the root's entry, invoked on the encoded arguments, +realizes the encoded source result when the arguments satisfy §17.12's +invariants, and refuses them with `none` otherwise. -/ +theorem root (g : (List (Prod String (List String)))) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string))) g)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 15) [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.string))) g)] __e_ro ∧ + (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.accepts g → _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.denote g)) __e_ro) ∧ + (¬ _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.accepts g → _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none) __e_ro) := + match _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.RustStd.root __e_n 15) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_string (_root_.LexLeanPreservation.Rust.wt_encList _root_.LexLeanPreservation.Rust.wt_string))) g) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.entry g) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) with + | ⟨__e_ro, __e_hr, __e_hc⟩ => ⟨__e_ro, __e_hc, fun __e_h => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.entry_accepts g __e_h ▸ __e_hr, fun __e_h => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.entry_refuses g __e_h ▸ __e_hr⟩ + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R7/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R7/RustStd.lean new file mode 100644 index 000000000..8039c35c0 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R7/RustStd.lean @@ -0,0 +1,153 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0], types := [(.list (.pair .string (.list .string)))], result := (.option (.list .string)), + body := (.call 1 [(.var 0)]) }, + { parameters := [0], types := [(.list (.pair .string (.list .string)))], result := (.option (.list .string)), + body := (.«let» 1 (.list .string) (.call 6 [(.var 0), (.build .nil (.list .string) [])]) (.call 2 [(.var 0), (.prim .natAdd [(.prim .length [(.var 1)]), (.value .nat (.nat 1))]), (.var 1), (.build .nil (.list .string) [])])) }, + { parameters := [0, 1, 2, 3], types := [(.list (.pair .string (.list .string))), .nat, (.list .string), (.list .string)], result := (.option (.list .string)), + body := (.«match» (.option (.list .string)) (.var 1) [(.arm .zero [] (.«match» (.option (.list .string)) (.var 2) [(.arm .nil [] (.build .some (.option (.list .string)) [(.call 5 [(.var 3), (.build .nil (.list .string) [])])])), (.arm .cons [4, 5] (.build .none (.option (.list .string)) []))])), (.arm .succ [6] (.«match» (.option (.list .string)) (.call 3 [(.var 0), (.var 2), (.var 2)]) [(.arm .nil [] (.«match» (.option (.list .string)) (.var 2) [(.arm .nil [] (.build .some (.option (.list .string)) [(.call 5 [(.var 3), (.build .nil (.list .string) [])])])), (.arm .cons [7, 8] (.build .none (.option (.list .string)) []))])), (.arm .cons [9, 10] (.call 2 [(.var 0), (.var 6), (.call 12 [(.var 2), (.var 9)]), (.build .cons (.list .string) [(.var 9), (.var 3)])]))]))]) }, + { parameters := [0, 1, 2], types := [(.list (.pair .string (.list .string))), (.list .string), (.list .string)], result := (.list .string), + body := (.«match» (.list .string) (.var 2) [(.arm .nil [] (.build .nil (.list .string) [])), (.arm .cons [3, 4] (.cond (.call 4 [(.var 0), (.var 3), (.var 1)]) (.build .cons (.list .string) [(.var 3), (.call 3 [(.var 0), (.var 1), (.var 4)])]) (.call 3 [(.var 0), (.var 1), (.var 4)])))]) }, + { parameters := [0, 1, 2], types := [(.list (.pair .string (.list .string))), .string, (.list .string)], result := .bool, + body := (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.call 11 [(.call 9 [(.var 0), (.var 3)]), (.var 1)]) (.build .false .bool []) (.call 4 [(.var 0), (.var 1), (.var 4)])))]) }, + { parameters := [0, 1], types := [(.list .string), (.list .string)], result := (.list .string), + body := (.«match» (.list .string) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 5 [(.var 3), (.build .cons (.list .string) [(.var 2), (.var 1)])]))]) }, + { parameters := [0, 1], types := [(.list (.pair .string (.list .string))), (.list .string)], result := (.list .string), + body := (.«match» (.list .string) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 6 [(.var 3), (.call 7 [(.second (.var 2)), (.call 8 [(.var 1), (.first (.var 2))])])]))]) }, + { parameters := [0, 1], types := [(.list .string), (.list .string)], result := (.list .string), + body := (.«match» (.list .string) (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.call 7 [(.var 3), (.call 8 [(.var 1), (.var 2)])]))]) }, + { parameters := [0, 1], types := [(.list .string), .string], result := (.list .string), + body := (.«match» (.list .string) (.var 0) [(.arm .nil [] (.build .cons (.list .string) [(.var 1), (.build .nil (.list .string) [])])), (.arm .cons [2, 3] (.«match» (.list .string) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list .string) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list .string) [(.var 2), (.call 8 [(.var 3), (.var 1)])]))]))]) }, + { parameters := [0, 1], types := [(.list (.pair .string (.list .string))), .string], result := (.list .string), + body := (.«match» (.list .string) (.call 10 [(.var 0), (.var 1)]) [(.arm .none [] (.build .nil (.list .string) [])), (.arm .some [2] (.var 2))]) }, + { parameters := [0, 1], types := [(.list (.pair .string (.list .string))), .string], result := (.option (.list .string)), + body := (.«match» (.option (.list .string)) (.var 0) [(.arm .nil [] (.build .none (.option (.list .string)) [])), (.arm .cons [2, 3] (.«match» (.option (.list .string)) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option (.list .string)) [])), (.arm .eq [] (.build .some (.option (.list .string)) [(.second (.var 2))])), (.arm .gt [] (.call 10 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0, 1], types := [(.list .string), .string], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .false .bool [])), (.arm .cons [2, 3] (.«match» .bool (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .false .bool [])), (.arm .eq [] (.build .true .bool [])), (.arm .gt [] (.call 11 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0, 1], types := [(.list .string), .string], result := (.list .string), + body := (.«match» (.list .string) (.var 0) [(.arm .nil [] (.build .nil (.list .string) [])), (.arm .cons [2, 3] (.«match» (.list .string) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.var 0)), (.arm .eq [] (.var 3)), (.arm .gt [] (.build .cons (.list .string) [(.var 2), (.call 12 [(.var 3), (.var 1)])]))]))]) }, + { parameters := [0], types := [(.list (.pair .string (.list .string)))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 14 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 13 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, + { parameters := [0], types := [(.list .string)], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.var 1), (.var 3)]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 14 [(.var 2)]) (.build .false .bool [])))]))]) }, + { parameters := [0], types := [(.list (.pair .string (.list .string)))], result := (.option (.option (.list .string))), + body := (.cond (.call 13 [(.var 0)]) (.build .some (.option (.option (.list .string))) [(.call 0 [(.var 0)])]) (.build .none (.option (.option (.list .string))) [])) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str (.list .str))) }] (.fallible (.option (.list .str))) (.mk [] (.call (.function 1) [(.move (.generated .binding 0))] false))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str (.list .str))) }] (.fallible (.option (.list .str))) (.mk [(.mk (.bind (.generated .binding 1)) (some (.list .str)) (.call (.function 6) [(.clone (.generated .binding 0)), (.construct (.nil .str) [])] false))] (.succeed (.call (.function 2) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 1))] false)))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true))), (.move (.generated .binding 1)), (.construct (.nil .str) [])] false)))), + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str (.list .str))) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := (.list .str) }, { pattern := (.bind (.generated .binding 3)), type := (.list .str) }] (.option (.list .str)) (.mk [(.mk (.bind (.generated .holder 4)) none (.copy (.generated .binding 1)))] (.cond (.isZero (.generated .holder 4)) (.mk [(.mk (.bind (.generated .holder 5)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 5)) [(.mk .none (.mk [] (.construct .some [(.call (.function 5) [(.move (.generated .binding 3)), (.construct (.nil .str) [])] false)]))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.construct (.none (.list .str)) [])))])) (.mk [(.mk (.bind (.generated .binding 6)) none (.predecessor (.generated .holder 4))), (.mk (.bind (.generated .holder 6)) none (.call (.function 3) [(.clone (.generated .binding 0)), (.clone (.generated .binding 2)), (.clone (.generated .binding 2))] false))] (.matchOn (.uncons (.generated .holder 6)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 7)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 7)) [(.mk .none (.mk [] (.construct .some [(.call (.function 5) [(.move (.generated .binding 3)), (.construct (.nil .str) [])] false)]))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.construct (.none (.list .str)) [])))]))), (.mk (.some (.tuple [(.bind (.generated .binding 9)), .wild])) (.mk [] (.call (.function 2) [(.move (.generated .binding 0)), (.copy (.generated .binding 6)), (.call (.function 12) [(.move (.generated .binding 2)), (.clone (.generated .binding 9))] false), (.construct .cons [(.move (.generated .binding 9)), (.move (.generated .binding 3))])] false)))]))))), + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str (.list .str))) }, { pattern := (.bind (.generated .binding 1)), type := (.list .str) }, { pattern := (.bind (.generated .binding 2)), type := (.list .str) }] (.list .str) (.mk [(.mk (.bind (.generated .holder 8)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 8)) [(.mk .none (.mk [] (.construct (.nil .str) []))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.cond (.call (.function 4) [(.clone (.generated .binding 0)), (.clone (.generated .binding 3)), (.clone (.generated .binding 1))] false) (.mk [] (.construct .cons [(.move (.generated .binding 3)), (.call (.function 3) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)])) (.mk [] (.call (.function 3) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)))))]))), + (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str (.list .str))) }, { pattern := (.bind (.generated .binding 1)), type := .str }, { pattern := (.bind (.generated .binding 2)), type := (.list .str) }] .bool (.mk [(.mk (.bind (.generated .holder 9)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 9)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.cond (.call (.function 11) [(.call (.function 9) [(.clone (.generated .binding 0)), (.move (.generated .binding 3))] false), (.clone (.generated .binding 1))] false) (.mk [] (.lit (.bool false))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)))))]))), + (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.list .str) }, { pattern := (.bind (.generated .binding 1)), type := (.list .str) }] (.list .str) (.mk [(.mk (.bind (.generated .holder 10)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 10)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 5) [(.move (.generated .binding 3)), (.construct .cons [(.move (.generated .binding 2)), (.move (.generated .binding 1))])] false)))]))), + (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str (.list .str))) }, { pattern := (.bind (.generated .binding 1)), type := (.list .str) }] (.list .str) (.mk [(.mk (.bind (.generated .holder 11)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 11)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 6) [(.move (.generated .binding 3)), (.call (.function 7) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.move (.generated .binding 2)))] (.move (.generated .part 12)))), (.call (.function 8) [(.move (.generated .binding 1)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 13)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 13))))] false)] false)] false)))]))), + (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := (.list .str) }, { pattern := (.bind (.generated .binding 1)), type := (.list .str) }] (.list .str) (.mk [(.mk (.bind (.generated .holder 14)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 14)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 7) [(.move (.generated .binding 3)), (.call (.function 8) [(.move (.generated .binding 1)), (.move (.generated .binding 2))] false)] false)))]))), + (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := (.list .str) }, { pattern := (.bind (.generated .binding 1)), type := .str }] (.list .str) (.mk [(.mk (.bind (.generated .holder 15)) none (.clone (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 15)) [(.mk .none (.mk [] (.construct .cons [(.move (.generated .binding 1)), (.construct (.nil .str) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 17)) none (.clone (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))] (.matchOn (.move (.generated .holder 18)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.move (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.move (.generated .binding 2)), (.call (.function 8) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])))])))]))), + (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str (.list .str))) }, { pattern := (.bind (.generated .binding 1)), type := .str }] (.list .str) (.mk [(.mk (.bind (.generated .holder 19)) none (.call (.function 10) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.construct (.nil .str) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.move (.generated .binding 2))))]))), + (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str (.list .str))) }, { pattern := (.bind (.generated .binding 1)), type := .str }] (.option (.list .str)) (.mk [(.mk (.bind (.generated .holder 20)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 20)) [(.mk .none (.mk [] (.construct (.none (.list .str)) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 24)) none (.block (.mk [(.mk (.bind (.generated .operand 22)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 23)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 21)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 21)))))] (.call (.runtime .compare) [(.move (.generated .operand 22)), (.move (.generated .operand 23))] false))))] (.matchOn (.move (.generated .holder 24)) [(.mk (.ordering .less) (.mk [] (.construct (.none (.list .str)) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 25))]) none (.move (.generated .binding 2)))] (.move (.generated .part 25))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 10) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])))]))), + (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := (.list .str) }, { pattern := (.bind (.generated .binding 1)), type := .str }] .bool (.mk [(.mk (.bind (.generated .holder 26)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 26)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 29)) none (.block (.mk [(.mk (.bind (.generated .operand 27)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 28)) none (.move (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false))))] (.matchOn (.move (.generated .holder 29)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 11) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])))]))), + (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := (.list .str) }, { pattern := (.bind (.generated .binding 1)), type := .str }] (.list .str) (.mk [(.mk (.bind (.generated .holder 30)) none (.clone (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 30)) [(.mk .none (.mk [] (.construct (.nil .str) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 33)) none (.block (.mk [(.mk (.bind (.generated .operand 31)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 32)) none (.clone (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 31)), (.move (.generated .operand 32))] false))))] (.matchOn (.move (.generated .holder 33)) [(.mk (.ordering .less) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 3)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.move (.generated .binding 2)), (.call (.function 12) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])))])))]))), + (.function (.generated .function 13) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str (.list .str))) }] .bool (.mk [(.mk (.bind (.generated .holder 34)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 34)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 14) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 35))]) none (.move (.generated .binding 1)))] (.move (.generated .part 35))))] false) (.mk [(.mk (.bind (.generated .holder 36)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 36)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 41)) none (.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 37)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 37))))), (.mk (.bind (.generated .operand 40)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 38)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 38)))))] (.call (.runtime .compare) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] false))))] (.cond (.matchOn (.move (.generated .holder 41)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 13) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]))), + (.function (.generated .function 14) [{ pattern := (.bind (.generated .binding 0)), type := (.list .str) }] .bool (.mk [(.mk (.bind (.generated .holder 42)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 42)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .holder 43)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 43)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 46)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 45)) none (.move (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] false))))] (.cond (.matchOn (.move (.generated .holder 46)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 14) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])))]))), + (.function (.generated .function 15) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .str (.list .str))) }] (.fallible (.option (.option (.list .str)))) (.mk [] (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.call (.function 0) [(.move (.generated .binding 0))] true)]))) (.mk [] (.succeed (.construct (.none (.option (.list .str))) []))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.move (.generated .binding 0))] false), [(0, (.list (.pair .string (.list .string))), (some 0))], rfl, rfl, + (Corr.callF (ts := [(.list (.pair .string (.list .string)))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.list .str)) (.call (.function 6) [(.clone (.generated .binding 0)), (.construct (.nil .str) [])] false))], (.succeed (.call (.function 2) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 1))] false)))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true))), (.move (.generated .binding 1)), (.construct (.nil .str) [])] false)), [(0, (.list (.pair .string (.list .string))), (some 0))], rfl, rfl, + (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string (.list .string))), (.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl (Corr.fOfB (Corr.callOps (ts := [(.list (.pair .string (.list .string))), .nat, (.list .string), (.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 2)) none (.block (.mk [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 1))] false)))), (.mk (.bind (.generated .operand 3)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 1)) none (.clone (.generated .binding 1)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 1))] false)) (Corr.prim (ts := [(.list .string)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))))) rfl rfl rfl rfl rfl)))⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 4)) none (.copy (.generated .binding 1)))], (.cond (.isZero (.generated .holder 4)) (.mk [(.mk (.bind (.generated .holder 5)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 5)) [(.mk .none (.mk [] (.construct .some [(.call (.function 5) [(.move (.generated .binding 3)), (.construct (.nil .str) [])] false)]))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.construct (.none (.list .str)) [])))])) (.mk [(.mk (.bind (.generated .binding 6)) none (.predecessor (.generated .holder 4))), (.mk (.bind (.generated .holder 6)) none (.call (.function 3) [(.clone (.generated .binding 0)), (.clone (.generated .binding 2)), (.clone (.generated .binding 2))] false))] (.matchOn (.uncons (.generated .holder 6)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 7)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 7)) [(.mk .none (.mk [] (.construct .some [(.call (.function 5) [(.move (.generated .binding 3)), (.construct (.nil .str) [])] false)]))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.construct (.none (.list .str)) [])))]))), (.mk (.some (.tuple [(.bind (.generated .binding 9)), .wild])) (.mk [] (.call (.function 2) [(.move (.generated .binding 0)), (.copy (.generated .binding 6)), (.call (.function 12) [(.move (.generated .binding 2)), (.clone (.generated .binding 9))] false), (.construct .cons [(.move (.generated .binding 9)), (.move (.generated .binding 3))])] false)))]))), [(3, (.list .string), (some 3)), (2, (.list .string), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))], rfl, rfl, + (Corr.matchNat (sl := (some 6)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := [(.mk (.bind (.generated .holder 5)) none (.move (.generated .binding 2)))]) (ta := (.matchOn (.uncons (.generated .holder 5)) [(.mk .none (.mk [] (.construct .some [(.call (.function 5) [(.move (.generated .binding 3)), (.construct (.nil .str) [])] false)]))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.construct (.none (.list .str)) [])))])) (lb := [(.mk (.bind (.generated .holder 6)) none (.call (.function 3) [(.clone (.generated .binding 0)), (.clone (.generated .binding 2)), (.clone (.generated .binding 2))] false))]) (tb := (.matchOn (.uncons (.generated .holder 6)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 7)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 7)) [(.mk .none (.mk [] (.construct .some [(.call (.function 5) [(.move (.generated .binding 3)), (.construct (.nil .str) [])] false)]))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.construct (.none (.list .str)) [])))]))), (.mk (.some (.tuple [(.bind (.generated .binding 9)), .wild])) (.mk [] (.call (.function 2) [(.move (.generated .binding 0)), (.copy (.generated .binding 6)), (.call (.function 12) [(.move (.generated .binding 2)), (.clone (.generated .binding 9))] false), (.construct .cons [(.move (.generated .binding 9)), (.move (.generated .binding 3))])] false)))])) (Corr.matchArms (st := (.list .string)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, (.list .string), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.call (.function 5) [(.move (.generated .binding 3)), (.construct (.nil .str) [])] false)])) (Corr.mCons (Γ' := [(5, (.list .string), none), (4, .string, none), (3, (.list .string), (some 3)), (2, (.list .string), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct (.none (.list .str)) [])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl (Corr.build (ts := [(.list .string)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .string), (.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) rfl rfl rfl) (Corr.matchArms (st := (.list .string)) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string (.list .string))), (.list .string), (.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(6, .nat, (some 6)), (3, (.list .string), (some 3)), (2, (.list .string), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 0) (loads := []) (lets := [(.mk (.bind (.generated .holder 7)) none (.move (.generated .binding 2)))]) (tail := (.matchOn (.uncons (.generated .holder 7)) [(.mk .none (.mk [] (.construct .some [(.call (.function 5) [(.move (.generated .binding 3)), (.construct (.nil .str) [])] false)]))), (.mk (.some (.tuple [.wild, .wild])) (.mk [] (.construct (.none (.list .str)) [])))])) (Corr.mCons (Γ' := [(10, (.list .string), none), (9, .string, (some 9)), (6, .nat, (some 6)), (3, (.list .string), (some 3)), (2, (.list .string), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 2) [(.move (.generated .binding 0)), (.copy (.generated .binding 6)), (.call (.function 12) [(.move (.generated .binding 2)), (.clone (.generated .binding 9))] false), (.construct .cons [(.move (.generated .binding 9)), (.move (.generated .binding 3))])] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .string (.list .string))), .nat, (.list .string), (.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .string), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.string, (.list .string)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) (Corr.lNil)))))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.matchArms (st := (.list .string)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(6, .nat, (some 6)), (3, (.list .string), (some 3)), (2, (.list .string), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.call (.function 5) [(.move (.generated .binding 3)), (.construct (.nil .str) [])] false)])) (Corr.mCons (Γ' := [(8, (.list .string), none), (7, .string, none), (6, .nat, (some 6)), (3, (.list .string), (some 3)), (2, (.list .string), (some 2)), (1, .nat, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct (.none (.list .str)) [])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl (Corr.build (ts := [(.list .string)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .string), (.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) rfl rfl rfl)) rfl rfl rfl)))⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 8)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 8)) [(.mk .none (.mk [] (.construct (.nil .str) []))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.cond (.call (.function 4) [(.clone (.generated .binding 0)), (.clone (.generated .binding 3)), (.clone (.generated .binding 1))] false) (.mk [] (.construct .cons [(.move (.generated .binding 3)), (.call (.function 3) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)])) (.mk [] (.call (.function 3) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)))))]), [(2, (.list .string), (some 2)), (1, (.list .string), (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .string)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .string), (some 2)), (1, (.list .string), (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil .str) [])) (Corr.mCons (Γ' := [(4, (.list .string), (some 4)), (3, .string, (some 3)), (2, (.list .string), (some 2)), (1, (.list .string), (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 4) [(.clone (.generated .binding 0)), (.clone (.generated .binding 3)), (.clone (.generated .binding 1))] false) (.mk [] (.construct .cons [(.move (.generated .binding 3)), (.call (.function 3) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)])) (.mk [] (.call (.function 3) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 4) [(.clone (.generated .binding 0)), (.clone (.generated .binding 3)), (.clone (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair .string (.list .string))), .string, (.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .cons [(.move (.generated .binding 3)), (.call (.function 3) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)])) (lb := []) (tb := (.call (.function 3) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)) (Corr.build (ts := [.string, (.list .string)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string (.list .string))), (.list .string), (.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl) (Corr.callOps (ts := [(.list (.pair .string (.list .string))), (.list .string), (.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)))) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun4 : FunOK program krate flags 4 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 9)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 9)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.cond (.call (.function 11) [(.call (.function 9) [(.clone (.generated .binding 0)), (.move (.generated .binding 3))] false), (.clone (.generated .binding 1))] false) (.mk [] (.lit (.bool false))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)))))]), [(2, (.list .string), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .string)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .string), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list .string), (some 4)), (3, .string, (some 3)), (2, (.list .string), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 11) [(.call (.function 9) [(.clone (.generated .binding 0)), (.move (.generated .binding 3))] false), (.clone (.generated .binding 1))] false) (.mk [] (.lit (.bool false))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 11) [(.call (.function 9) [(.clone (.generated .binding 0)), (.move (.generated .binding 3))] false), (.clone (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.list .string), .string]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string (.list .string))), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.bool false))) (lb := []) (tb := (.call (.function 4) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 4))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.callOps (ts := [(.list (.pair .string (.list .string))), .string, (.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun5 : FunOK program krate flags 5 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 10)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 10)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 5) [(.move (.generated .binding 3)), (.construct .cons [(.move (.generated .binding 2)), (.move (.generated .binding 1))])] false)))]), [(1, (.list .string), (some 1)), (0, (.list .string), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .string)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.list .string), (some 1)), (0, (.list .string), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, .string, (some 2)), (1, (.list .string), (some 1)), (0, (.list .string), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 5) [(.move (.generated .binding 3)), (.construct .cons [(.move (.generated .binding 2)), (.move (.generated .binding 1))])] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .string), (.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.string, (.list .string)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun6 : FunOK program krate flags 6 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 11)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 11)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 6) [(.move (.generated .binding 3)), (.call (.function 7) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.move (.generated .binding 2)))] (.move (.generated .part 12)))), (.call (.function 8) [(.move (.generated .binding 1)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 13)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 13))))] false)] false)] false)))]), [(1, (.list .string), (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair .string (.list .string)))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.list .string), (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(3, (.list (.pair .string (.list .string))), (some 3)), (2, (.pair .string (.list .string)), (some 2)), (1, (.list .string), (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 6) [(.move (.generated .binding 3)), (.call (.function 7) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.move (.generated .binding 2)))] (.move (.generated .part 12)))), (.call (.function 8) [(.move (.generated .binding 1)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 13)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 13))))] false)] false)] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .string (.list .string))), (.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .string), (.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 12))) (Corr.second (ta := .string) (tb := (.list .string)) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .string), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 13)), .wild]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 13))) (Corr.first (ta := .string) (tb := (.list .string)) (Corr.var rfl rfl) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun7 : FunOK program krate flags 7 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 14)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 14)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [] (.call (.function 7) [(.move (.generated .binding 3)), (.call (.function 8) [(.move (.generated .binding 1)), (.move (.generated .binding 2))] false)] false)))]), [(1, (.list .string), (some 1)), (0, (.list .string), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .string)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.list .string), (some 1)), (0, (.list .string), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, .string, (some 2)), (1, (.list .string), (some 1)), (0, (.list .string), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 7) [(.move (.generated .binding 3)), (.call (.function 8) [(.move (.generated .binding 1)), (.move (.generated .binding 2))] false)] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .string), (.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .string), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun8 : FunOK program krate flags 8 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 15)) none (.clone (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 15)) [(.mk .none (.mk [] (.construct .cons [(.move (.generated .binding 1)), (.construct (.nil .str) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 17)) none (.clone (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))] (.matchOn (.move (.generated .holder 18)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.move (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.move (.generated .binding 2)), (.call (.function 8) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])))])))]), [(1, .string, (some 1)), (0, (.list .string), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .string)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.move (.generated .binding 1)), (.construct (.nil .str) [])])) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, .string, (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 17)) none (.clone (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false))))]) (tail := (.matchOn (.move (.generated .holder 18)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.move (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.move (.generated .binding 2)), (.call (.function 8) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 16)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 17)) none (.clone (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] false)) (Corr.prim (ts := [.string, .string]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, .string, (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.move (.generated .binding 1)), (.move (.generated .binding 0))])) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, .string, (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, .string, (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.move (.generated .binding 2)), (.call (.function 8) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.string, (.list .string)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .string), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.build (ts := [.string, (.list .string)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.string, (.list .string)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun9 : FunOK program krate flags 9 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 19)) none (.call (.function 10) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.construct (.nil .str) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.move (.generated .binding 2))))]), [(1, .string, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option (.list .string))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string (.list .string))), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, .string, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil .str) [])) (Corr.mCons (Γ' := [(2, (.list .string), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 2))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun10 : FunOK program krate flags 10 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 20)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 20)) [(.mk .none (.mk [] (.construct (.none (.list .str)) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 24)) none (.block (.mk [(.mk (.bind (.generated .operand 22)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 23)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 21)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 21)))))] (.call (.runtime .compare) [(.move (.generated .operand 22)), (.move (.generated .operand 23))] false))))] (.matchOn (.move (.generated .holder 24)) [(.mk (.ordering .less) (.mk [] (.construct (.none (.list .str)) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 25))]) none (.move (.generated .binding 2)))] (.move (.generated .part 25))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 10) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])))]), [(1, .string, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair .string (.list .string)))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .string, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none (.list .str)) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .string (.list .string))), (some 3)), (2, (.pair .string (.list .string)), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 24)) none (.block (.mk [(.mk (.bind (.generated .operand 22)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 23)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 21)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 21)))))] (.call (.runtime .compare) [(.move (.generated .operand 22)), (.move (.generated .operand 23))] false))))]) (tail := (.matchOn (.move (.generated .holder 24)) [(.mk (.ordering .less) (.mk [] (.construct (.none (.list .str)) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 25))]) none (.move (.generated .binding 2)))] (.move (.generated .part 25))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 10) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 22)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 23)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 21)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 21)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 22)), (.move (.generated .operand 23))] false)) (Corr.prim (ts := [.string, .string]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 21)), .wild]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 21))) (Corr.first (ta := .string) (tb := (.list .string)) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list (.pair .string (.list .string))), (some 3)), (2, (.pair .string (.list .string)), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none (.list .str)) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .string (.list .string))), (some 3)), (2, (.pair .string (.list .string)), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 25))]) none (.move (.generated .binding 2)))] (.move (.generated .part 25))))])) (Corr.mCons (Γ' := [(3, (.list (.pair .string (.list .string))), (some 3)), (2, (.pair .string (.list .string)), (some 2)), (1, .string, (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 10) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .string (.list .string))), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [(.list .string)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 25))]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 25))) (Corr.second (ta := .string) (tb := (.list .string)) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun11 : FunOK program krate flags 11 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 26)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 26)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 29)) none (.block (.mk [(.mk (.bind (.generated .operand 27)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 28)) none (.move (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false))))] (.matchOn (.move (.generated .holder 29)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 11) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])))]), [(1, .string, (some 1)), (0, (.list .string), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .string)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, .string, (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 29)) none (.block (.mk [(.mk (.bind (.generated .operand 27)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 28)) none (.move (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false))))]) (tail := (.matchOn (.move (.generated .holder 29)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 11) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 27)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 28)) none (.move (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false)) (Corr.prim (ts := [.string, .string]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, .string, (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, .string, (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, .string, (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 11) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list .string), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun12 : FunOK program krate flags 12 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 30)) none (.clone (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 30)) [(.mk .none (.mk [] (.construct (.nil .str) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 33)) none (.block (.mk [(.mk (.bind (.generated .operand 31)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 32)) none (.clone (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 31)), (.move (.generated .operand 32))] false))))] (.matchOn (.move (.generated .holder 33)) [(.mk (.ordering .less) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 3)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.move (.generated .binding 2)), (.call (.function 12) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])))])))]), [(1, .string, (some 1)), (0, (.list .string), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .string)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.nil .str) [])) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, .string, (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 33)) none (.block (.mk [(.mk (.bind (.generated .operand 31)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 32)) none (.clone (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 31)), (.move (.generated .operand 32))] false))))]) (tail := (.matchOn (.move (.generated .holder 33)) [(.mk (.ordering .less) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 3)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.move (.generated .binding 2)), (.call (.function 12) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 31)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 32)) none (.clone (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 31)), (.move (.generated .operand 32))] false)) (Corr.prim (ts := [.string, .string]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, .string, (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, .string, (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 3))) (Corr.mCons (Γ' := [(3, (.list .string), (some 3)), (2, .string, (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.move (.generated .binding 2)), (.call (.function 12) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.string, (.list .string)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .string), .string]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun13 : FunOK program krate flags 13 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 34)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 34)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 14) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 35))]) none (.move (.generated .binding 1)))] (.move (.generated .part 35))))] false) (.mk [(.mk (.bind (.generated .holder 36)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 36)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 41)) none (.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 37)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 37))))), (.mk (.bind (.generated .operand 40)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 38)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 38)))))] (.call (.runtime .compare) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] false))))] (.cond (.matchOn (.move (.generated .holder 41)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 13) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.pair .string (.list .string))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair .string (.list .string)))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair .string (.list .string))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.pair .string (.list .string))), (some 2)), (1, (.pair .string (.list .string)), (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 14) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 35))]) none (.move (.generated .binding 1)))] (.move (.generated .part 35))))] false) (.mk [(.mk (.bind (.generated .holder 36)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 36)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 41)) none (.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 37)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 37))))), (.mk (.bind (.generated .operand 40)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 38)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 38)))))] (.call (.runtime .compare) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] false))))] (.cond (.matchOn (.move (.generated .holder 41)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 13) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 14) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 35))]) none (.move (.generated .binding 1)))] (.move (.generated .part 35))))] false)) (lk := []) (Corr.callOps (ts := [(.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 35))]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 35))) (Corr.second (ta := .string) (tb := (.list .string)) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .holder 36)) none (.clone (.generated .binding 2)))]) (ta := (.matchOn (.uncons (.generated .holder 36)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 41)) none (.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 37)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 37))))), (.mk (.bind (.generated .operand 40)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 38)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 38)))))] (.call (.runtime .compare) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] false))))] (.cond (.matchOn (.move (.generated .holder 41)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 13) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (lb := []) (tb := (.lit (.bool false))) (Corr.matchArms (st := (.list (.pair .string (.list .string)))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.pair .string (.list .string))), (some 2)), (1, (.pair .string (.list .string)), (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .string (.list .string))), none), (3, (.pair .string (.list .string)), (some 3)), (2, (.list (.pair .string (.list .string))), (some 2)), (1, (.pair .string (.list .string)), (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 41)) none (.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 37)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 37))))), (.mk (.bind (.generated .operand 40)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 38)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 38)))))] (.call (.runtime .compare) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 41)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 13) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 41)) none (.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 37)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 37))))), (.mk (.bind (.generated .operand 40)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 38)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 38)))))] (.call (.runtime .compare) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] false))))]) (ce := (.matchOn (.move (.generated .holder 41)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 37)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 37))))), (.mk (.bind (.generated .operand 40)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 38)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 38)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] false)) (Corr.prim (ts := [.string, .string]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 37)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 37))) (Corr.first (ta := .string) (tb := (.list .string)) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 38)), .wild]) none (.move (.generated .binding 3)))]) (tail := (.move (.generated .part 38))) (Corr.first (ta := .string) (tb := (.list .string)) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.pair .string (.list .string))), none), (3, (.pair .string (.list .string)), (some 3)), (2, (.list (.pair .string (.list .string))), (some 2)), (1, (.pair .string (.list .string)), (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .string (.list .string))), none), (3, (.pair .string (.list .string)), (some 3)), (2, (.list (.pair .string (.list .string))), (some 2)), (1, (.pair .string (.list .string)), (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list (.pair .string (.list .string))), none), (3, (.pair .string (.list .string)), (some 3)), (2, (.list (.pair .string (.list .string))), (some 2)), (1, (.pair .string (.list .string)), (some 1)), (0, (.list (.pair .string (.list .string))), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 13) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.pair .string (.list .string)))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun14 : FunOK program krate flags 14 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 42)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 42)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .holder 43)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 43)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 46)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 45)) none (.move (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] false))))] (.cond (.matchOn (.move (.generated .holder 46)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 14) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])))]), [(0, (.list .string), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .string)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list .string), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list .string), (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 43)) none (.clone (.generated .binding 2)))]) (tail := (.matchOn (.uncons (.generated .holder 43)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 46)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 45)) none (.move (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] false))))] (.cond (.matchOn (.move (.generated .holder 46)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 14) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := (.list .string)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .string), (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list .string), none), (3, .string, (some 3)), (2, (.list .string), (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 46)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 45)) none (.move (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 46)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 14) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 46)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 45)) none (.move (.generated .binding 3)))] (.call (.runtime .compare) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] false))))]) (ce := (.matchOn (.move (.generated .holder 46)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 44)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 45)) none (.move (.generated .binding 3)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] false)) (Corr.prim (ts := [.string, .string]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list .string), none), (3, .string, (some 3)), (2, (.list .string), (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list .string), none), (3, .string, (some 3)), (2, (.list .string), (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list .string), none), (3, .string, (some 3)), (2, (.list .string), (some 2)), (1, .string, (some 1)), (0, (.list .string), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 14) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun15 : FunOK program krate flags 15 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.call (.function 0) [(.move (.generated .binding 0))] true)]))) (.mk [] (.succeed (.construct (.none (.option (.list .str))) [])))), [(0, (.list (.pair .string (.list .string))), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 13) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair .string (.list .string)))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.call (.function 0) [(.move (.generated .binding 0))] true)]))) (lb := []) (tb := (.succeed (.construct (.none (.option (.list .str))) []))) (Corr.fOfB (Corr.build (ts := [(.option (.list .string))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .string (.list .string)))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | 4 => exact fun4 + | 5 => exact fun5 + | 6 => exact fun6 + | 7 => exact fun7 + | 8 => exact fun8 + | 9 => exact fun9 + | 10 => exact fun10 + | 11 => exact fun11 + | 12 => exact fun12 + | 13 => exact fun13 + | 14 => exact fun14 + | 15 => exact fun15 + | _ + 16 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R8.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R8.lean new file mode 100644 index 000000000..f00e5bc37 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R8.lean @@ -0,0 +1,188 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Coverage.Boundary +import Coverage.Colls +import Coverage.Main +import Coverage.Prims +import Coverage.RecRoots +import Coverage.Recur +import Coverage.Syntax +import Coverage.Types +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], types := [(.list (.pair (.pair .nat .string) .bool)), (.pair .nat .string), (.list (.pair (.fixed .i8) .nat)), (.fixed .i8), (.list (.pair .bool .nat)), .bool, (.list (.pair .int .nat)), .int, (.list (.pair (.fixed .u64) .nat)), (.fixed .u64)], result := (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat))))), + body := (.build .pair (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat))))) [(.call 1 [(.var 0), (.var 1)]), (.build .pair (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))) [(.call 2 [(.var 2), (.var 3)]), (.build .pair (.pair (.option .nat) (.pair (.option .nat) (.option .nat))) [(.call 3 [(.var 4), (.var 5)]), (.build .pair (.pair (.option .nat) (.option .nat)) [(.call 4 [(.var 6), (.var 7)]), (.call 5 [(.var 8), (.var 9)])])])])]) }, + { parameters := [0, 1], types := [(.list (.pair (.pair .nat .string) .bool)), (.pair .nat .string)], result := (.option .bool), + body := (.«match» (.option .bool) (.var 0) [(.arm .nil [] (.build .none (.option .bool) [])), (.arm .cons [2, 3] (.«match» (.option .bool) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option .bool) [])), (.arm .eq [] (.build .some (.option .bool) [(.second (.var 2))])), (.arm .gt [] (.call 1 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0, 1], types := [(.list (.pair (.fixed .i8) .nat)), (.fixed .i8)], result := (.option .nat), + body := (.«match» (.option .nat) (.var 0) [(.arm .nil [] (.build .none (.option .nat) [])), (.arm .cons [2, 3] (.«match» (.option .nat) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option .nat) [])), (.arm .eq [] (.build .some (.option .nat) [(.second (.var 2))])), (.arm .gt [] (.call 2 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0, 1], types := [(.list (.pair .bool .nat)), .bool], result := (.option .nat), + body := (.«match» (.option .nat) (.var 0) [(.arm .nil [] (.build .none (.option .nat) [])), (.arm .cons [2, 3] (.«match» (.option .nat) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option .nat) [])), (.arm .eq [] (.build .some (.option .nat) [(.second (.var 2))])), (.arm .gt [] (.call 3 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0, 1], types := [(.list (.pair .int .nat)), .int], result := (.option .nat), + body := (.«match» (.option .nat) (.var 0) [(.arm .nil [] (.build .none (.option .nat) [])), (.arm .cons [2, 3] (.«match» (.option .nat) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option .nat) [])), (.arm .eq [] (.build .some (.option .nat) [(.second (.var 2))])), (.arm .gt [] (.call 4 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0, 1], types := [(.list (.pair (.fixed .u64) .nat)), (.fixed .u64)], result := (.option .nat), + body := (.«match» (.option .nat) (.var 0) [(.arm .nil [] (.build .none (.option .nat) [])), (.arm .cons [2, 3] (.«match» (.option .nat) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option .nat) [])), (.arm .eq [] (.build .some (.option .nat) [(.second (.var 2))])), (.arm .gt [] (.call 5 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0], types := [(.list (.pair (.pair .nat .string) .bool))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 7 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 6 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, + { parameters := [0], types := [.bool], result := .bool, + body := (.build .true .bool []) }, + { parameters := [0], types := [(.list (.pair (.fixed .i8) .nat))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 9 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 8 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, + { parameters := [0], types := [.nat], result := .bool, + body := (.build .true .bool []) }, + { parameters := [0], types := [(.list (.pair .bool .nat))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 9 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 10 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, + { parameters := [0], types := [(.list (.pair .int .nat))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 9 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 11 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, + { parameters := [0], types := [(.list (.pair (.fixed .u64) .nat))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 9 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 12 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, + { parameters := [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], types := [(.list (.pair (.pair .nat .string) .bool)), (.pair .nat .string), (.list (.pair (.fixed .i8) .nat)), (.fixed .i8), (.list (.pair .bool .nat)), .bool, (.list (.pair .int .nat)), .int, (.list (.pair (.fixed .u64) .nat)), (.fixed .u64)], result := (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))), + body := (.cond (.call 6 [(.var 0)]) (.cond (.call 8 [(.var 2)]) (.cond (.call 10 [(.var 4)]) (.cond (.call 11 [(.var 6)]) (.cond (.call 12 [(.var 8)]) (.build .some (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [(.call 0 [(.var 0), (.var 1), (.var 2), (.var 3), (.var 4), (.var 5), (.var 6), (.var 7), (.var 8), (.var 9)])]) (.build .none (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) (.build .none (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) (.build .none (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) (.build .none (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) (.build .none (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) }] } + +def __fits_0 (a : (List (Prod (Prod Nat String) Bool))) (k : (Prod Nat String)) (i : (List (Prod Int8 Nat))) (j : Int8) (b : (List (Prod Bool Nat))) (c : Bool) (d : (List (Prod Int Nat))) (e : Int) (u : (List (Prod UInt64 Nat))) (w : UInt64) : Bool := + ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) + +theorem __rel_0 (a : (List (Prod (Prod Nat String) Bool))) (k : (Prod Nat String)) (i : (List (Prod Int8 Nat))) (j : Int8) (b : (List (Prod Bool Nat))) (c : Bool) (d : (List (Prod Int Nat))) (e : Int) (u : (List (Prod UInt64 Nat))) (w : UInt64) : _root_.LexLeanPreservation.FunRel __prog 0 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.string) _root_.LexLeanTarget.TargetSyntax.Value.bool)) a), ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.string) k), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.i8 _root_.LexLeanTarget.TargetSyntax.Value.nat)) i), (_root_.LexLeanTarget.TargetSyntax.Value.i8 j), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat)) b), (_root_.LexLeanTarget.TargetSyntax.Value.bool c), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int _root_.LexLeanTarget.TargetSyntax.Value.nat)) d), (_root_.LexLeanTarget.TargetSyntax.Value.int e), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.u64 _root_.LexLeanTarget.TargetSyntax.Value.nat)) u), (_root_.LexLeanTarget.TargetSyntax.Value.u64 w)] (_root_.LexLeanPreservation.Rel (__fits_0 a k i j b c d e u w) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat))))) (Coverage.Colls.keyTypes a k i j b c d e u w))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_mapLookup (_root_.LexLeanPreservation.keySpec_pair (_root_.LexLeanPreservation.keySpec_nat (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.keySpec_string _root_.LexLeanCollections.compareCodes rfl (fun _ _ => rfl) (fun _ _ => rfl) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (_root_.LexLeanCollections.Key.compare : String -> String -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanCollections.Key.compare : (Prod Nat String) -> (Prod Nat String) -> Ordering) (fun _ _ __h => by simp only [_root_.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h]) (fun _ _ __h => by simp only [_root_.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h]) (fun _ _ __h => by simp only [_root_.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h])) _root_.LexLeanTarget.TargetSyntax.Value.bool (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.string) _root_.LexLeanTarget.TargetSyntax.Value.bool)) (fun _ => rfl) (_root_.LexLeanPreservation.optEnc _root_.LexLeanTarget.TargetSyntax.Value.bool) (fun _ => rfl) _root_.LexLeanCollections.lookupEntry (fun _ => rfl) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]) (p := __prog) (fi := 1) (tk := (.pair .nat .string)) (tw := .bool) rfl (a) (k))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_mapLookup (_root_.LexLeanPreservation.keySpec_i8 (_root_.LexLeanCollections.Key.compare : Int8 -> Int8 -> Ordering) (fun _ _ => rfl)) _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.i8 _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) (_root_.LexLeanPreservation.optEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) _root_.LexLeanCollections.lookupEntry (fun _ => rfl) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]) (p := __prog) (fi := 2) (tk := (.fixed .i8)) (tw := .nat) rfl (i) (j))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_mapLookup (_root_.LexLeanPreservation.keySpec_bool (_root_.LexLeanCollections.Key.compare : Bool -> Bool -> Ordering) (fun _ _ => rfl)) _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) (_root_.LexLeanPreservation.optEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) _root_.LexLeanCollections.lookupEntry (fun _ => rfl) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]) (p := __prog) (fi := 3) (tk := .bool) (tw := .nat) rfl (b) (c))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_mapLookup (_root_.LexLeanPreservation.keySpec_int (_root_.LexLeanCollections.Key.compare : Int -> Int -> Ordering) (fun _ _ => rfl)) _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) (_root_.LexLeanPreservation.optEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) _root_.LexLeanCollections.lookupEntry (fun _ => rfl) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]) (p := __prog) (fi := 4) (tk := .int) (tw := .nat) rfl (d) (e))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_mapLookup (_root_.LexLeanPreservation.keySpec_u64 (_root_.LexLeanCollections.Key.compare : UInt64 -> UInt64 -> Ordering) (fun _ _ => rfl)) _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.u64 _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) (_root_.LexLeanPreservation.optEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) _root_.LexLeanCollections.lookupEntry (fun _ => rfl) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.lookupEntry, __h]) (p := __prog) (fi := 5) (tk := (.fixed .u64)) (tw := .nat) rfl (u) (w))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) + +def denote (a : (List (Prod (Prod Nat String) Bool))) (k : (Prod Nat String)) (i : (List (Prod Int8 Nat))) (j : Int8) (b : (List (Prod Bool Nat))) (c : Bool) (d : (List (Prod Int Nat))) (e : Int) (u : (List (Prod UInt64 Nat))) (w : UInt64) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 a k i j b c d e u w) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat))))) (Coverage.Colls.keyTypes a k i j b c d e u w)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (a : (List (Prod (Prod Nat String) Bool))) (k : (Prod Nat String)) (i : (List (Prod Int8 Nat))) (j : Int8) (b : (List (Prod Bool Nat))) (c : Bool) (d : (List (Prod Int Nat))) (e : Int) (u : (List (Prod UInt64 Nat))) (w : UInt64) : _root_.LexLeanPreservation.RunConv __prog 0 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.string) _root_.LexLeanTarget.TargetSyntax.Value.bool)) a), ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.string) k), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.i8 _root_.LexLeanTarget.TargetSyntax.Value.nat)) i), (_root_.LexLeanTarget.TargetSyntax.Value.i8 j), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat)) b), (_root_.LexLeanTarget.TargetSyntax.Value.bool c), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int _root_.LexLeanTarget.TargetSyntax.Value.nat)) d), (_root_.LexLeanTarget.TargetSyntax.Value.int e), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.u64 _root_.LexLeanTarget.TargetSyntax.Value.nat)) u), (_root_.LexLeanTarget.TargetSyntax.Value.u64 w)] (_root_.LexLeanPreservation.Rel (__fits_0 a k i j b c d e u w) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat))))) (Coverage.Colls.keyTypes a k i j b c d e u w))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 a k i j b c d e u w) + +def __valid_7 : Bool -> Bool := + fun _ => Bool.true + +def __inv_7 : Bool -> Prop := + fun _ => _root_.True + +theorem __viff_7 : ∀ (__v : Bool), __valid_7 __v = Bool.true ↔ __inv_7 __v := + fun __v => _root_.LexLeanPreservation.validTrue_inv __v + +theorem __vrel_7 : ∀ (__v : Bool), _root_.LexLeanPreservation.FunRel __prog 7 [(_root_.LexLeanTarget.TargetSyntax.Value.bool __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_7 __v))) := + _root_.LexLeanPreservation.tpl_validTrue _root_.LexLeanTarget.TargetSyntax.Value.bool rfl + +def __valid_6 : (List (Prod (Prod Nat String) Bool)) -> Bool := + _root_.LexLeanPreservation.ascMap (_root_.LexLeanCollections.Key.compare : (Prod Nat String) -> (Prod Nat String) -> Ordering) __valid_7 + +def __inv_6 : (List (Prod (Prod Nat String) Bool)) -> Prop := + _root_.LexLeanPreservation.InvMap (_root_.LexLeanCollections.Key.compare : (Prod Nat String) -> (Prod Nat String) -> Ordering) __inv_7 + +theorem __viff_6 : ∀ (__v : (List (Prod (Prod Nat String) Bool))), __valid_6 __v = Bool.true ↔ __inv_6 __v := + _root_.LexLeanPreservation.ascMap_inv (_root_.LexLeanCollections.Key.compare : (Prod Nat String) -> (Prod Nat String) -> Ordering) __valid_7 __inv_7 __viff_7 + +theorem __vrel_6 : ∀ (__v : (List (Prod (Prod Nat String) Bool))), _root_.LexLeanPreservation.FunRel __prog 6 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.string) _root_.LexLeanTarget.TargetSyntax.Value.bool)) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_6 __v))) := + _root_.LexLeanPreservation.tpl_validMap (_root_.LexLeanPreservation.keySpec_pair (_root_.LexLeanPreservation.keySpec_nat (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.keySpec_string _root_.LexLeanCollections.compareCodes rfl (fun _ _ => rfl) (fun _ _ => rfl) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (fun _ _ _ _ __h => by simp only [_root_.LexLeanCollections.compareCodes, __h]) (_root_.LexLeanCollections.Key.compare : String -> String -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanCollections.Key.compare : (Prod Nat String) -> (Prod Nat String) -> Ordering) (fun _ _ __h => by simp only [_root_.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h]) (fun _ _ __h => by simp only [_root_.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h]) (fun _ _ __h => by simp only [_root_.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h])) __valid_7 (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.string) _root_.LexLeanTarget.TargetSyntax.Value.bool)) (fun _ => rfl) __vrel_7 rfl + +def __valid_9 : Nat -> Bool := + fun _ => Bool.true + +def __inv_9 : Nat -> Prop := + fun _ => _root_.True + +theorem __viff_9 : ∀ (__v : Nat), __valid_9 __v = Bool.true ↔ __inv_9 __v := + fun __v => _root_.LexLeanPreservation.validTrue_inv __v + +theorem __vrel_9 : ∀ (__v : Nat), _root_.LexLeanPreservation.FunRel __prog 9 [(_root_.LexLeanTarget.TargetSyntax.Value.nat __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_9 __v))) := + _root_.LexLeanPreservation.tpl_validTrue _root_.LexLeanTarget.TargetSyntax.Value.nat rfl + +def __valid_8 : (List (Prod Int8 Nat)) -> Bool := + _root_.LexLeanPreservation.ascMap (_root_.LexLeanCollections.Key.compare : Int8 -> Int8 -> Ordering) __valid_9 + +def __inv_8 : (List (Prod Int8 Nat)) -> Prop := + _root_.LexLeanPreservation.InvMap (_root_.LexLeanCollections.Key.compare : Int8 -> Int8 -> Ordering) __inv_9 + +theorem __viff_8 : ∀ (__v : (List (Prod Int8 Nat))), __valid_8 __v = Bool.true ↔ __inv_8 __v := + _root_.LexLeanPreservation.ascMap_inv (_root_.LexLeanCollections.Key.compare : Int8 -> Int8 -> Ordering) __valid_9 __inv_9 __viff_9 + +theorem __vrel_8 : ∀ (__v : (List (Prod Int8 Nat))), _root_.LexLeanPreservation.FunRel __prog 8 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.i8 _root_.LexLeanTarget.TargetSyntax.Value.nat)) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_8 __v))) := + _root_.LexLeanPreservation.tpl_validMap (_root_.LexLeanPreservation.keySpec_i8 (_root_.LexLeanCollections.Key.compare : Int8 -> Int8 -> Ordering) (fun _ _ => rfl)) __valid_9 (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.i8 _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) __vrel_9 rfl + +def __valid_10 : (List (Prod Bool Nat)) -> Bool := + _root_.LexLeanPreservation.ascMap (_root_.LexLeanCollections.Key.compare : Bool -> Bool -> Ordering) __valid_9 + +def __inv_10 : (List (Prod Bool Nat)) -> Prop := + _root_.LexLeanPreservation.InvMap (_root_.LexLeanCollections.Key.compare : Bool -> Bool -> Ordering) __inv_9 + +theorem __viff_10 : ∀ (__v : (List (Prod Bool Nat))), __valid_10 __v = Bool.true ↔ __inv_10 __v := + _root_.LexLeanPreservation.ascMap_inv (_root_.LexLeanCollections.Key.compare : Bool -> Bool -> Ordering) __valid_9 __inv_9 __viff_9 + +theorem __vrel_10 : ∀ (__v : (List (Prod Bool Nat))), _root_.LexLeanPreservation.FunRel __prog 10 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat)) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_10 __v))) := + _root_.LexLeanPreservation.tpl_validMap (_root_.LexLeanPreservation.keySpec_bool (_root_.LexLeanCollections.Key.compare : Bool -> Bool -> Ordering) (fun _ _ => rfl)) __valid_9 (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) __vrel_9 rfl + +def __valid_11 : (List (Prod Int Nat)) -> Bool := + _root_.LexLeanPreservation.ascMap (_root_.LexLeanCollections.Key.compare : Int -> Int -> Ordering) __valid_9 + +def __inv_11 : (List (Prod Int Nat)) -> Prop := + _root_.LexLeanPreservation.InvMap (_root_.LexLeanCollections.Key.compare : Int -> Int -> Ordering) __inv_9 + +theorem __viff_11 : ∀ (__v : (List (Prod Int Nat))), __valid_11 __v = Bool.true ↔ __inv_11 __v := + _root_.LexLeanPreservation.ascMap_inv (_root_.LexLeanCollections.Key.compare : Int -> Int -> Ordering) __valid_9 __inv_9 __viff_9 + +theorem __vrel_11 : ∀ (__v : (List (Prod Int Nat))), _root_.LexLeanPreservation.FunRel __prog 11 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int _root_.LexLeanTarget.TargetSyntax.Value.nat)) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_11 __v))) := + _root_.LexLeanPreservation.tpl_validMap (_root_.LexLeanPreservation.keySpec_int (_root_.LexLeanCollections.Key.compare : Int -> Int -> Ordering) (fun _ _ => rfl)) __valid_9 (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) __vrel_9 rfl + +def __valid_12 : (List (Prod UInt64 Nat)) -> Bool := + _root_.LexLeanPreservation.ascMap (_root_.LexLeanCollections.Key.compare : UInt64 -> UInt64 -> Ordering) __valid_9 + +def __inv_12 : (List (Prod UInt64 Nat)) -> Prop := + _root_.LexLeanPreservation.InvMap (_root_.LexLeanCollections.Key.compare : UInt64 -> UInt64 -> Ordering) __inv_9 + +theorem __viff_12 : ∀ (__v : (List (Prod UInt64 Nat))), __valid_12 __v = Bool.true ↔ __inv_12 __v := + _root_.LexLeanPreservation.ascMap_inv (_root_.LexLeanCollections.Key.compare : UInt64 -> UInt64 -> Ordering) __valid_9 __inv_9 __viff_9 + +theorem __vrel_12 : ∀ (__v : (List (Prod UInt64 Nat))), _root_.LexLeanPreservation.FunRel __prog 12 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.u64 _root_.LexLeanTarget.TargetSyntax.Value.nat)) __v)] (_root_.LexLeanPreservation.Rel Bool.true (_root_.LexLeanTarget.TargetSyntax.Value.bool (__valid_12 __v))) := + _root_.LexLeanPreservation.tpl_validMap (_root_.LexLeanPreservation.keySpec_u64 (_root_.LexLeanCollections.Key.compare : UInt64 -> UInt64 -> Ordering) (fun _ _ => rfl)) __valid_9 (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.u64 _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) __vrel_9 rfl + +def entryFits (a : (List (Prod (Prod Nat String) Bool))) (k : (Prod Nat String)) (i : (List (Prod Int8 Nat))) (j : Int8) (b : (List (Prod Bool Nat))) (c : Bool) (d : (List (Prod Int Nat))) (e : Int) (u : (List (Prod UInt64 Nat))) (w : UInt64) : Bool := + (if __valid_6 a then (if __valid_8 i then (if __valid_10 b then (if __valid_11 d then (if __valid_12 u then __fits_0 a k i j b c d e u w else Bool.true) else Bool.true) else Bool.true) else Bool.true) else Bool.true) + +def entryValue (a : (List (Prod (Prod Nat String) Bool))) (k : (Prod Nat String)) (i : (List (Prod Int8 Nat))) (j : Int8) (b : (List (Prod Bool Nat))) (c : Bool) (d : (List (Prod Int Nat))) (e : Int) (u : (List (Prod UInt64 Nat))) (w : UInt64) : _root_.LexLeanTarget.TargetSyntax.Value := + (if __valid_6 a then (if __valid_8 i then (if __valid_10 b then (if __valid_11 d then (if __valid_12 u then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat))))) (Coverage.Colls.keyTypes a k i j b c d e u w))) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) + +/-- The entry's observation. -/ +def denoteEntry (a : (List (Prod (Prod Nat String) Bool))) (k : (Prod Nat String)) (i : (List (Prod Int8 Nat))) (j : Int8) (b : (List (Prod Bool Nat))) (c : Bool) (d : (List (Prod Int Nat))) (e : Int) (u : (List (Prod UInt64 Nat))) (w : UInt64) : _root_.LexLeanPreservation.Obs := + _root_.cond (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.entryFits a k i j b c d e u w) (_root_.LexLeanPreservation.Obs.value (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.entryValue a k i j b c d e u w)) _root_.LexLeanPreservation.Obs.overflow + +/-- §17.12's invariants of the validated parameters. -/ +def accepts (a : (List (Prod (Prod Nat String) Bool))) (k : (Prod Nat String)) (i : (List (Prod Int8 Nat))) (j : Int8) (b : (List (Prod Bool Nat))) (c : Bool) (d : (List (Prod Int Nat))) (e : Int) (u : (List (Prod UInt64 Nat))) (w : UInt64) : Prop := + (__inv_6 a ∧ (__inv_8 i ∧ (__inv_10 b ∧ (__inv_11 d ∧ (__inv_12 u ∧ _root_.True))))) + +theorem entry (a : (List (Prod (Prod Nat String) Bool))) (k : (Prod Nat String)) (i : (List (Prod Int8 Nat))) (j : Int8) (b : (List (Prod Bool Nat))) (c : Bool) (d : (List (Prod Int Nat))) (e : Int) (u : (List (Prod UInt64 Nat))) (w : UInt64) : _root_.LexLeanPreservation.RunConv __prog 13 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.string) _root_.LexLeanTarget.TargetSyntax.Value.bool)) a), ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.string) k), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.i8 _root_.LexLeanTarget.TargetSyntax.Value.nat)) i), (_root_.LexLeanTarget.TargetSyntax.Value.i8 j), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat)) b), (_root_.LexLeanTarget.TargetSyntax.Value.bool c), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int _root_.LexLeanTarget.TargetSyntax.Value.nat)) d), (_root_.LexLeanTarget.TargetSyntax.Value.int e), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.u64 _root_.LexLeanTarget.TargetSyntax.Value.nat)) u), (_root_.LexLeanTarget.TargetSyntax.Value.u64 w)] (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.denoteEntry a k i j b c d e u w) := + _root_.LexLeanPreservation.run_of_funRel (_root_.LexLeanPreservation.FunRel.fits_eq (_root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then (if __valid_8 i then (if __valid_10 b then (if __valid_11 d then (if __valid_12 u then __fits_0 a k i j b c d e u w else Bool.true) else Bool.true) else Bool.true) else Bool.true) else Bool.true) (fun __c => if __c then (if __valid_8 i then (if __valid_10 b then (if __valid_11 d then (if __valid_12 u then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat))))) (Coverage.Colls.keyTypes a k i j b c d e u w))) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_6 a) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_6 a)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then (if __valid_10 b then (if __valid_11 d then (if __valid_12 u then __fits_0 a k i j b c d e u w else Bool.true) else Bool.true) else Bool.true) else Bool.true) (fun __c => if __c then (if __valid_10 b then (if __valid_11 d then (if __valid_12 u then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat))))) (Coverage.Colls.keyTypes a k i j b c d e u w))) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_8 i) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_8 i)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then (if __valid_11 d then (if __valid_12 u then __fits_0 a k i j b c d e u w else Bool.true) else Bool.true) else Bool.true) (fun __c => if __c then (if __valid_11 d then (if __valid_12 u then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat))))) (Coverage.Colls.keyTypes a k i j b c d e u w))) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_10 b) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_10 b)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then (if __valid_12 u then __fits_0 a k i j b c d e u w else Bool.true) else Bool.true) (fun __c => if __c then (if __valid_12 u then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat))))) (Coverage.Colls.keyTypes a k i j b c d e u w))) else _root_.LexLeanTarget.TargetSyntax.Value.none) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_11 d) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_11 d)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_cond (fun __c => if __c then __fits_0 a k i j b c d e u w else Bool.true) (fun __c => if __c then (_root_.LexLeanTarget.TargetSyntax.Value.some ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat))))) (Coverage.Colls.keyTypes a k i j b c d e u w))) else _root_.LexLeanTarget.TargetSyntax.Value.none) (__valid_12 u) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__vrel_12 u)) (fun _ => _root_.LexLeanPreservation.Conv.fits_eq (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)))))))))) (__rel_0 a k i j b c d e u w)) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) (by simp)) (fun _ => _root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (by simp [_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.entryFits])) + +theorem entry_accepts (a : (List (Prod (Prod Nat String) Bool))) (k : (Prod Nat String)) (i : (List (Prod Int8 Nat))) (j : Int8) (b : (List (Prod Bool Nat))) (c : Bool) (d : (List (Prod Int Nat))) (e : Int) (u : (List (Prod UInt64 Nat))) (w : UInt64) (__h : _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.accepts a k i j b c d e u w) : _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.denoteEntry a k i j b c d e u w = _root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.denote a k i j b c d e u w) := by + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.accepts at __h + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.denoteEntry _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.entryFits _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.entryValue _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.denote + simp only [_root_.if_true, (__viff_6 a).mpr __h.1, (__viff_8 i).mpr __h.2.1, (__viff_10 b).mpr __h.2.2.1, (__viff_11 d).mpr __h.2.2.2.1, (__viff_12 u).mpr __h.2.2.2.2.1] + cases __fits_0 a k i j b c d e u w <;> rfl + +theorem entry_refuses (a : (List (Prod (Prod Nat String) Bool))) (k : (Prod Nat String)) (i : (List (Prod Int8 Nat))) (j : Int8) (b : (List (Prod Bool Nat))) (c : Bool) (d : (List (Prod Int Nat))) (e : Int) (u : (List (Prod UInt64 Nat))) (w : UInt64) (__h : ¬ _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.accepts a k i j b c d e u w) : _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.denoteEntry a k i j b c d e u w = _root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none := by + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.accepts at __h + unfold _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.denoteEntry _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.entryFits _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.entryValue + cases __c0 : __valid_6 a + · simp + · cases __c1 : __valid_8 i + · simp + · cases __c2 : __valid_10 b + · simp + · cases __c3 : __valid_11 d + · simp + · cases __c4 : __valid_12 u + · simp + · exact _root_.absurd ⟨(__viff_6 a).mp __c0, (__viff_8 i).mp __c1, (__viff_10 b).mp __c2, (__viff_11 d).mp __c3, (__viff_12 u).mp __c4, _root_.trivial⟩ __h + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R8/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R8/Compose/RustStd.lean new file mode 100644 index 000000000..98bee53bb --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R8/Compose/RustStd.lean @@ -0,0 +1,20 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.Compose.RustStd + +/-- The rendering of the root's entry, invoked on the encoded arguments, +realizes the encoded source result when the arguments satisfy §17.12's +invariants, and refuses them with `none` otherwise. -/ +theorem root (a : (List (Prod (Prod Nat String) Bool))) (k : (Prod Nat String)) (i : (List (Prod Int8 Nat))) (j : Int8) (b : (List (Prod Bool Nat))) (c : Bool) (d : (List (Prod Int Nat))) (e : Int) (u : (List (Prod UInt64 Nat))) (w : UInt64) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.string) _root_.LexLeanTarget.TargetSyntax.Value.bool)) a), ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.string) k), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.i8 _root_.LexLeanTarget.TargetSyntax.Value.nat)) i), (_root_.LexLeanTarget.TargetSyntax.Value.i8 j), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat)) b), (_root_.LexLeanTarget.TargetSyntax.Value.bool c), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int _root_.LexLeanTarget.TargetSyntax.Value.nat)) d), (_root_.LexLeanTarget.TargetSyntax.Value.int e), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.u64 _root_.LexLeanTarget.TargetSyntax.Value.nat)) u), (_root_.LexLeanTarget.TargetSyntax.Value.u64 w)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 13) [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.string) _root_.LexLeanTarget.TargetSyntax.Value.bool)) a), ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.string) k), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.i8 _root_.LexLeanTarget.TargetSyntax.Value.nat)) i), (_root_.LexLeanTarget.TargetSyntax.Value.i8 j), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat)) b), (_root_.LexLeanTarget.TargetSyntax.Value.bool c), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.int _root_.LexLeanTarget.TargetSyntax.Value.nat)) d), (_root_.LexLeanTarget.TargetSyntax.Value.int e), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.u64 _root_.LexLeanTarget.TargetSyntax.Value.nat)) u), (_root_.LexLeanTarget.TargetSyntax.Value.u64 w)] __e_ro ∧ + (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.accepts a k i j b c d e u w → _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreservation.someObs (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.denote a k i j b c d e u w)) __e_ro) ∧ + (¬ _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.accepts a k i j b c d e u w → _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreservation.Obs.value _root_.LexLeanTarget.TargetSyntax.Value.none) __e_ro) := + match _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.RustStd.root __e_n 13) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encPair (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_nat _root_.LexLeanPreservation.Rust.wt_string) _root_.LexLeanPreservation.Rust.wt_bool)) a) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_nat _root_.LexLeanPreservation.Rust.wt_string) k) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_i8 _root_.LexLeanPreservation.Rust.wt_nat)) i) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_i8 j) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_bool _root_.LexLeanPreservation.Rust.wt_nat)) b) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_bool c) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_int _root_.LexLeanPreservation.Rust.wt_nat)) d) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_int e) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_u64 _root_.LexLeanPreservation.Rust.wt_nat)) u) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_u64 w) _root_.LexLeanPreservation.Rust.wtl_nil)))))))))) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.entry a k i j b c d e u w) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) with + | ⟨__e_ro, __e_hr, __e_hc⟩ => ⟨__e_ro, __e_hc, fun __e_h => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.entry_accepts a k i j b c d e u w __e_h ▸ __e_hr, fun __e_h => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.entry_refuses a k i j b c d e u w __e_h ▸ __e_hr⟩ + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R8/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R8/RustStd.lean new file mode 100644 index 000000000..9513b3500 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R8/RustStd.lean @@ -0,0 +1,137 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], types := [(.list (.pair (.pair .nat .string) .bool)), (.pair .nat .string), (.list (.pair (.fixed .i8) .nat)), (.fixed .i8), (.list (.pair .bool .nat)), .bool, (.list (.pair .int .nat)), .int, (.list (.pair (.fixed .u64) .nat)), (.fixed .u64)], result := (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat))))), + body := (.build .pair (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat))))) [(.call 1 [(.var 0), (.var 1)]), (.build .pair (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))) [(.call 2 [(.var 2), (.var 3)]), (.build .pair (.pair (.option .nat) (.pair (.option .nat) (.option .nat))) [(.call 3 [(.var 4), (.var 5)]), (.build .pair (.pair (.option .nat) (.option .nat)) [(.call 4 [(.var 6), (.var 7)]), (.call 5 [(.var 8), (.var 9)])])])])]) }, + { parameters := [0, 1], types := [(.list (.pair (.pair .nat .string) .bool)), (.pair .nat .string)], result := (.option .bool), + body := (.«match» (.option .bool) (.var 0) [(.arm .nil [] (.build .none (.option .bool) [])), (.arm .cons [2, 3] (.«match» (.option .bool) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option .bool) [])), (.arm .eq [] (.build .some (.option .bool) [(.second (.var 2))])), (.arm .gt [] (.call 1 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0, 1], types := [(.list (.pair (.fixed .i8) .nat)), (.fixed .i8)], result := (.option .nat), + body := (.«match» (.option .nat) (.var 0) [(.arm .nil [] (.build .none (.option .nat) [])), (.arm .cons [2, 3] (.«match» (.option .nat) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option .nat) [])), (.arm .eq [] (.build .some (.option .nat) [(.second (.var 2))])), (.arm .gt [] (.call 2 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0, 1], types := [(.list (.pair .bool .nat)), .bool], result := (.option .nat), + body := (.«match» (.option .nat) (.var 0) [(.arm .nil [] (.build .none (.option .nat) [])), (.arm .cons [2, 3] (.«match» (.option .nat) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option .nat) [])), (.arm .eq [] (.build .some (.option .nat) [(.second (.var 2))])), (.arm .gt [] (.call 3 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0, 1], types := [(.list (.pair .int .nat)), .int], result := (.option .nat), + body := (.«match» (.option .nat) (.var 0) [(.arm .nil [] (.build .none (.option .nat) [])), (.arm .cons [2, 3] (.«match» (.option .nat) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option .nat) [])), (.arm .eq [] (.build .some (.option .nat) [(.second (.var 2))])), (.arm .gt [] (.call 4 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0, 1], types := [(.list (.pair (.fixed .u64) .nat)), (.fixed .u64)], result := (.option .nat), + body := (.«match» (.option .nat) (.var 0) [(.arm .nil [] (.build .none (.option .nat) [])), (.arm .cons [2, 3] (.«match» (.option .nat) (.prim .compare [(.var 1), (.first (.var 2))]) [(.arm .lt [] (.build .none (.option .nat) [])), (.arm .eq [] (.build .some (.option .nat) [(.second (.var 2))])), (.arm .gt [] (.call 5 [(.var 3), (.var 1)]))]))]) }, + { parameters := [0], types := [(.list (.pair (.pair .nat .string) .bool))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 7 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 6 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, + { parameters := [0], types := [.bool], result := .bool, + body := (.build .true .bool []) }, + { parameters := [0], types := [(.list (.pair (.fixed .i8) .nat))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 9 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 8 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, + { parameters := [0], types := [.nat], result := .bool, + body := (.build .true .bool []) }, + { parameters := [0], types := [(.list (.pair .bool .nat))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 9 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 10 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, + { parameters := [0], types := [(.list (.pair .int .nat))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 9 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 11 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, + { parameters := [0], types := [(.list (.pair (.fixed .u64) .nat))], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [1, 2] (.cond (.call 9 [(.second (.var 1))]) (.«match» .bool (.var 2) [(.arm .nil [] (.build .true .bool [])), (.arm .cons [3, 4] (.cond (.«match» .bool (.prim .compare [(.first (.var 1)), (.first (.var 3))]) [(.arm .lt [] (.build .true .bool [])), (.arm .eq [] (.build .false .bool [])), (.arm .gt [] (.build .false .bool []))]) (.call 12 [(.var 2)]) (.build .false .bool [])))]) (.build .false .bool [])))]) }, + { parameters := [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], types := [(.list (.pair (.pair .nat .string) .bool)), (.pair .nat .string), (.list (.pair (.fixed .i8) .nat)), (.fixed .i8), (.list (.pair .bool .nat)), .bool, (.list (.pair .int .nat)), .int, (.list (.pair (.fixed .u64) .nat)), (.fixed .u64)], result := (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))), + body := (.cond (.call 6 [(.var 0)]) (.cond (.call 8 [(.var 2)]) (.cond (.call 10 [(.var 4)]) (.cond (.call 11 [(.var 6)]) (.cond (.call 12 [(.var 8)]) (.build .some (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [(.call 0 [(.var 0), (.var 1), (.var 2), (.var 3), (.var 4), (.var 5), (.var 6), (.var 7), (.var 8), (.var 9)])]) (.build .none (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) (.build .none (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) (.build .none (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) (.build .none (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) (.build .none (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair (.pair .nat .str) .bool)) }, { pattern := (.bind (.generated .binding 1)), type := (.pair .nat .str) }, { pattern := (.bind (.generated .binding 2)), type := (.list (.pair (.fixed .i8) .nat)) }, { pattern := (.bind (.generated .binding 3)), type := (.fixed .i8) }, { pattern := (.bind (.generated .binding 4)), type := (.list (.pair .bool .nat)) }, { pattern := (.bind (.generated .binding 5)), type := .bool }, { pattern := (.bind (.generated .binding 6)), type := (.list (.pair .int .nat)) }, { pattern := (.bind (.generated .binding 7)), type := .int }, { pattern := (.bind (.generated .binding 8)), type := (.list (.pair (.fixed .u64) .nat)) }, { pattern := (.bind (.generated .binding 9)), type := (.fixed .u64) }] (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat))))) (.mk [] (.pair (.call (.function 1) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false) (.pair (.call (.function 2) [(.move (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.pair (.call (.function 3) [(.move (.generated .binding 4)), (.copy (.generated .binding 5))] false) (.pair (.call (.function 4) [(.move (.generated .binding 6)), (.copy (.generated .binding 7))] false) (.call (.function 5) [(.move (.generated .binding 8)), (.copy (.generated .binding 9))] false))))))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair (.pair .nat .str) .bool)) }, { pattern := (.bind (.generated .binding 1)), type := (.pair .nat .str) }] (.option .bool) (.mk [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 1)) [(.mk .none (.mk [] (.construct (.none .bool) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 5)) none (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 2)))))] (.call (.runtime .compare) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))))] (.matchOn (.move (.generated .holder 5)) [(.mk (.ordering .less) (.mk [] (.construct (.none .bool) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 6))]) none (.move (.generated .binding 2)))] (.move (.generated .part 6))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 1) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])))]))), + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair (.fixed .i8) .nat)) }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .i8) }] (.option .nat) (.mk [(.mk (.bind (.generated .holder 7)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 7)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 10)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 8)))))] (.call (.runtime .compare) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))] (.matchOn (.move (.generated .holder 11)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 12))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 2) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]))), + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .bool .nat)) }, { pattern := (.bind (.generated .binding 1)), type := .bool }] (.option .nat) (.mk [(.mk (.bind (.generated .holder 13)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 13)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 17)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 14)))))] (.call (.runtime .compare) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false))))] (.matchOn (.move (.generated .holder 17)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 18))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 18))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 3) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]))), + (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .int .nat)) }, { pattern := (.bind (.generated .binding 1)), type := .int }] (.option .nat) (.mk [(.mk (.bind (.generated .holder 19)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 19)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 23)) none (.block (.mk [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 20)))))] (.call (.runtime .compare) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false))))] (.matchOn (.move (.generated .holder 23)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 24))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 4) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]))), + (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair (.fixed .u64) .nat)) }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .u64) }] (.option .nat) (.mk [(.mk (.bind (.generated .holder 25)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 25)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 29)) none (.block (.mk [(.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 26)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 26)))))] (.call (.runtime .compare) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false))))] (.matchOn (.move (.generated .holder 29)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 30))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 30))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 5) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]))), + (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair (.pair .nat .str) .bool)) }] .bool (.mk [(.mk (.bind (.generated .holder 31)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 31)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 7) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 32))]) none (.move (.generated .binding 1)))] (.move (.generated .part 32))))] false) (.mk [(.mk (.bind (.generated .holder 33)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 33)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 38)) none (.block (.mk [(.mk (.bind (.generated .operand 36)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 34)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 34))))), (.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 35)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 35)))))] (.call (.runtime .compare) [(.move (.generated .operand 36)), (.move (.generated .operand 37))] false))))] (.cond (.matchOn (.move (.generated .holder 38)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 6) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]))), + (.function (.generated .function 7) [{ pattern := .wild, type := .bool }] .bool (.mk [] (.lit (.bool true)))), + (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair (.fixed .i8) .nat)) }] .bool (.mk [(.mk (.bind (.generated .holder 39)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 39)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 40))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 40))))] false) (.mk [(.mk (.bind (.generated .holder 41)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 41)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 46)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 42)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 42))))), (.mk (.bind (.generated .operand 45)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 43)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 43)))))] (.call (.runtime .compare) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] false))))] (.cond (.matchOn (.move (.generated .holder 46)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 8) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]))), + (.function (.generated .function 9) [{ pattern := .wild, type := .nat }] .bool (.mk [] (.lit (.bool true)))), + (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .bool .nat)) }] .bool (.mk [(.mk (.bind (.generated .holder 47)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 47)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 48))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 48))))] false) (.mk [(.mk (.bind (.generated .holder 49)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 49)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 54)) none (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 50)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 50))))), (.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 51)))))] (.call (.runtime .compare) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false))))] (.cond (.matchOn (.move (.generated .holder 54)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 10) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]))), + (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .int .nat)) }] .bool (.mk [(.mk (.bind (.generated .holder 55)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 55)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 56))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 56))))] false) (.mk [(.mk (.bind (.generated .holder 57)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 57)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 62)) none (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 58)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 58))))), (.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 59)))))] (.call (.runtime .compare) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false))))] (.cond (.matchOn (.move (.generated .holder 62)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 11) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]))), + (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair (.fixed .u64) .nat)) }] .bool (.mk [(.mk (.bind (.generated .holder 63)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 63)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 64))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 64))))] false) (.mk [(.mk (.bind (.generated .holder 65)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 65)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 70)) none (.block (.mk [(.mk (.bind (.generated .operand 68)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 66)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 66))))), (.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 67)))))] (.call (.runtime .compare) [(.move (.generated .operand 68)), (.move (.generated .operand 69))] false))))] (.cond (.matchOn (.move (.generated .holder 70)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 12) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]))), + (.function (.generated .function 13) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair (.pair .nat .str) .bool)) }, { pattern := (.bind (.generated .binding 1)), type := (.pair .nat .str) }, { pattern := (.bind (.generated .binding 2)), type := (.list (.pair (.fixed .i8) .nat)) }, { pattern := (.bind (.generated .binding 3)), type := (.fixed .i8) }, { pattern := (.bind (.generated .binding 4)), type := (.list (.pair .bool .nat)) }, { pattern := (.bind (.generated .binding 5)), type := .bool }, { pattern := (.bind (.generated .binding 6)), type := (.list (.pair .int .nat)) }, { pattern := (.bind (.generated .binding 7)), type := .int }, { pattern := (.bind (.generated .binding 8)), type := (.list (.pair (.fixed .u64) .nat)) }, { pattern := (.bind (.generated .binding 9)), type := (.fixed .u64) }] (.option (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) (.mk [] (.cond (.call (.function 6) [(.clone (.generated .binding 0))] false) (.mk [] (.cond (.call (.function 8) [(.clone (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 10) [(.clone (.generated .binding 4))] false) (.mk [] (.cond (.call (.function 11) [(.clone (.generated .binding 6))] false) (.mk [] (.cond (.call (.function 12) [(.clone (.generated .binding 8))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 2)), (.copy (.generated .binding 3)), (.move (.generated .binding 4)), (.copy (.generated .binding 5)), (.move (.generated .binding 6)), (.copy (.generated .binding 7)), (.move (.generated .binding 8)), (.copy (.generated .binding 9))] false)])) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.pair (.call (.function 1) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false) (.pair (.call (.function 2) [(.move (.generated .binding 2)), (.copy (.generated .binding 3))] false) (.pair (.call (.function 3) [(.move (.generated .binding 4)), (.copy (.generated .binding 5))] false) (.pair (.call (.function 4) [(.move (.generated .binding 6)), (.copy (.generated .binding 7))] false) (.call (.function 5) [(.move (.generated .binding 8)), (.copy (.generated .binding 9))] false))))), [(9, (.fixed .u64), (some 9)), (8, (.list (.pair (.fixed .u64) .nat)), (some 8)), (7, .int, (some 7)), (6, (.list (.pair .int .nat)), (some 6)), (5, .bool, (some 5)), (4, (.list (.pair .bool .nat)), (some 4)), (3, (.fixed .i8), (some 3)), (2, (.list (.pair (.fixed .i8) .nat)), (some 2)), (1, (.pair .nat .string), (some 1)), (0, (.list (.pair (.pair .nat .string) .bool)), (some 0))], rfl, rfl, + (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair (.pair .nat .string) .bool)), (.pair .nat .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair (.fixed .i8) .nat)), (.fixed .i8)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .bool .nat)), .bool]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .int .nat)), .int]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair (.fixed .u64) .nat)), (.fixed .u64)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))) (Corr.lNil)))))⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 1)) [(.mk .none (.mk [] (.construct (.none .bool) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 5)) none (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 2)))))] (.call (.runtime .compare) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))))] (.matchOn (.move (.generated .holder 5)) [(.mk (.ordering .less) (.mk [] (.construct (.none .bool) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 6))]) none (.move (.generated .binding 2)))] (.move (.generated .part 6))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 1) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])))]), [(1, (.pair .nat .string), (some 1)), (0, (.list (.pair (.pair .nat .string) .bool)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair (.pair .nat .string) .bool))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.pair .nat .string), (some 1)), (0, (.list (.pair (.pair .nat .string) .bool)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .bool) [])) (Corr.mCons (Γ' := [(3, (.list (.pair (.pair .nat .string) .bool)), (some 3)), (2, (.pair (.pair .nat .string) .bool), (some 2)), (1, (.pair .nat .string), (some 1)), (0, (.list (.pair (.pair .nat .string) .bool)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 5)) none (.block (.mk [(.mk (.bind (.generated .operand 3)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 2)))))] (.call (.runtime .compare) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))))]) (tail := (.matchOn (.move (.generated .holder 5)) [(.mk (.ordering .less) (.mk [] (.construct (.none .bool) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 6))]) none (.move (.generated .binding 2)))] (.move (.generated .part 6))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 1) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.clone (.generated .binding 1))), (.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 2)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [(.pair .nat .string), (.pair .nat .string)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 2))) (Corr.first (ta := (.pair .nat .string)) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list (.pair (.pair .nat .string) .bool)), (some 3)), (2, (.pair (.pair .nat .string) .bool), (some 2)), (1, (.pair .nat .string), (some 1)), (0, (.list (.pair (.pair .nat .string) .bool)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .bool) [])) (Corr.mCons (Γ' := [(3, (.list (.pair (.pair .nat .string) .bool)), (some 3)), (2, (.pair (.pair .nat .string) .bool), (some 2)), (1, (.pair .nat .string), (some 1)), (0, (.list (.pair (.pair .nat .string) .bool)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 6))]) none (.move (.generated .binding 2)))] (.move (.generated .part 6))))])) (Corr.mCons (Γ' := [(3, (.list (.pair (.pair .nat .string) .bool)), (some 3)), (2, (.pair (.pair .nat .string) .bool), (some 2)), (1, (.pair .nat .string), (some 1)), (0, (.list (.pair (.pair .nat .string) .bool)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 1) [(.move (.generated .binding 3)), (.move (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair (.pair .nat .string) .bool)), (.pair .nat .string)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.bool]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 6))]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 6))) (Corr.second (ta := (.pair .nat .string)) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 7)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 7)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 10)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 8)))))] (.call (.runtime .compare) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))] (.matchOn (.move (.generated .holder 11)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 12))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 2) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]), [(1, (.fixed .i8), (some 1)), (0, (.list (.pair (.fixed .i8) .nat)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair (.fixed .i8) .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.fixed .i8), (some 1)), (0, (.list (.pair (.fixed .i8) .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(3, (.list (.pair (.fixed .i8) .nat)), (some 3)), (2, (.pair (.fixed .i8) .nat), (some 2)), (1, (.fixed .i8), (some 1)), (0, (.list (.pair (.fixed .i8) .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 10)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 8)))))] (.call (.runtime .compare) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))]) (tail := (.matchOn (.move (.generated .holder 11)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 12))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 2) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 9)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 10)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 8)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false)) (Corr.prim (ts := [(.fixed .i8), (.fixed .i8)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.copy (.generated .binding 2)))]) (tail := (.move (.generated .part 8))) (Corr.first (ta := (.fixed .i8)) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list (.pair (.fixed .i8) .nat)), (some 3)), (2, (.pair (.fixed .i8) .nat), (some 2)), (1, (.fixed .i8), (some 1)), (0, (.list (.pair (.fixed .i8) .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(3, (.list (.pair (.fixed .i8) .nat)), (some 3)), (2, (.pair (.fixed .i8) .nat), (some 2)), (1, (.fixed .i8), (some 1)), (0, (.list (.pair (.fixed .i8) .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 12))))])) (Corr.mCons (Γ' := [(3, (.list (.pair (.fixed .i8) .nat)), (some 3)), (2, (.pair (.fixed .i8) .nat), (some 2)), (1, (.fixed .i8), (some 1)), (0, (.list (.pair (.fixed .i8) .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 2) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair (.fixed .i8) .nat)), (.fixed .i8)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.copy (.generated .binding 2)))]) (tail := (.move (.generated .part 12))) (Corr.second (ta := (.fixed .i8)) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 13)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 13)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 17)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 14)))))] (.call (.runtime .compare) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false))))] (.matchOn (.move (.generated .holder 17)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 18))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 18))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 3) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]), [(1, .bool, (some 1)), (0, (.list (.pair .bool .nat)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair .bool .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .bool, (some 1)), (0, (.list (.pair .bool .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .bool .nat)), (some 3)), (2, (.pair .bool .nat), (some 2)), (1, .bool, (some 1)), (0, (.list (.pair .bool .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 17)) none (.block (.mk [(.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 14)))))] (.call (.runtime .compare) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false))))]) (tail := (.matchOn (.move (.generated .holder 17)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 18))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 18))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 3) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 15)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 14)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 15)), (.move (.generated .operand 16))] false)) (Corr.prim (ts := [.bool, .bool]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 2)))]) (tail := (.move (.generated .part 14))) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list (.pair .bool .nat)), (some 3)), (2, (.pair .bool .nat), (some 2)), (1, .bool, (some 1)), (0, (.list (.pair .bool .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .bool .nat)), (some 3)), (2, (.pair .bool .nat), (some 2)), (1, .bool, (some 1)), (0, (.list (.pair .bool .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 18))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 18))))])) (Corr.mCons (Γ' := [(3, (.list (.pair .bool .nat)), (some 3)), (2, (.pair .bool .nat), (some 2)), (1, .bool, (some 1)), (0, (.list (.pair .bool .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 3) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .bool .nat)), .bool]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 18))]) none (.copy (.generated .binding 2)))]) (tail := (.move (.generated .part 18))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun4 : FunOK program krate flags 4 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 19)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 19)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 23)) none (.block (.mk [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 20)))))] (.call (.runtime .compare) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false))))] (.matchOn (.move (.generated .holder 23)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 24))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 4) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]), [(1, .int, (some 1)), (0, (.list (.pair .int .nat)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair .int .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .int, (some 1)), (0, (.list (.pair .int .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .int .nat)), (some 3)), (2, (.pair .int .nat), (some 2)), (1, .int, (some 1)), (0, (.list (.pair .int .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 23)) none (.block (.mk [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 20)))))] (.call (.runtime .compare) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false))))]) (tail := (.matchOn (.move (.generated .holder 23)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 24))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 4) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 20)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 20)), .wild]) none (.copy (.generated .binding 2)))]) (tail := (.move (.generated .part 20))) (Corr.first (ta := .int) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list (.pair .int .nat)), (some 3)), (2, (.pair .int .nat), (some 2)), (1, .int, (some 1)), (0, (.list (.pair .int .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(3, (.list (.pair .int .nat)), (some 3)), (2, (.pair .int .nat), (some 2)), (1, .int, (some 1)), (0, (.list (.pair .int .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 24))))])) (Corr.mCons (Γ' := [(3, (.list (.pair .int .nat)), (some 3)), (2, (.pair .int .nat), (some 2)), (1, .int, (some 1)), (0, (.list (.pair .int .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 4) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .int .nat)), .int]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.copy (.generated .binding 2)))]) (tail := (.move (.generated .part 24))) (Corr.second (ta := .int) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun5 : FunOK program krate flags 5 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 25)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 25)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 29)) none (.block (.mk [(.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 26)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 26)))))] (.call (.runtime .compare) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false))))] (.matchOn (.move (.generated .holder 29)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 30))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 30))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 5) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]), [(1, (.fixed .u64), (some 1)), (0, (.list (.pair (.fixed .u64) .nat)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair (.fixed .u64) .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.fixed .u64), (some 1)), (0, (.list (.pair (.fixed .u64) .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(3, (.list (.pair (.fixed .u64) .nat)), (some 3)), (2, (.pair (.fixed .u64) .nat), (some 2)), (1, (.fixed .u64), (some 1)), (0, (.list (.pair (.fixed .u64) .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 29)) none (.block (.mk [(.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 26)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 26)))))] (.call (.runtime .compare) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false))))]) (tail := (.matchOn (.move (.generated .holder 29)) [(.mk (.ordering .less) (.mk [] (.construct (.none .nat) []))), (.mk (.ordering .same) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 30))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 30))))]))), (.mk (.ordering .more) (.mk [] (.call (.function 5) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 27)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 26)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 26)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] false)) (Corr.prim (ts := [(.fixed .u64), (.fixed .u64)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 26)), .wild]) none (.copy (.generated .binding 2)))]) (tail := (.move (.generated .part 26))) (Corr.first (ta := (.fixed .u64)) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list (.pair (.fixed .u64) .nat)), (some 3)), (2, (.pair (.fixed .u64) .nat), (some 2)), (1, (.fixed .u64), (some 1)), (0, (.list (.pair (.fixed .u64) .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(3, (.list (.pair (.fixed .u64) .nat)), (some 3)), (2, (.pair (.fixed .u64) .nat), (some 2)), (1, (.fixed .u64), (some 1)), (0, (.list (.pair (.fixed .u64) .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 30))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 30))))])) (Corr.mCons (Γ' := [(3, (.list (.pair (.fixed .u64) .nat)), (some 3)), (2, (.pair (.fixed .u64) .nat), (some 2)), (1, (.fixed .u64), (some 1)), (0, (.list (.pair (.fixed .u64) .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 5) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair (.fixed .u64) .nat)), (.fixed .u64)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 30))]) none (.copy (.generated .binding 2)))]) (tail := (.move (.generated .part 30))) (Corr.second (ta := (.fixed .u64)) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun6 : FunOK program krate flags 6 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 31)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 31)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 7) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 32))]) none (.move (.generated .binding 1)))] (.move (.generated .part 32))))] false) (.mk [(.mk (.bind (.generated .holder 33)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 33)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 38)) none (.block (.mk [(.mk (.bind (.generated .operand 36)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 34)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 34))))), (.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 35)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 35)))))] (.call (.runtime .compare) [(.move (.generated .operand 36)), (.move (.generated .operand 37))] false))))] (.cond (.matchOn (.move (.generated .holder 38)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 6) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.pair (.pair .nat .string) .bool)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair (.pair .nat .string) .bool))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair (.pair .nat .string) .bool)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.pair (.pair .nat .string) .bool)), (some 2)), (1, (.pair (.pair .nat .string) .bool), (some 1)), (0, (.list (.pair (.pair .nat .string) .bool)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 7) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 32))]) none (.move (.generated .binding 1)))] (.move (.generated .part 32))))] false) (.mk [(.mk (.bind (.generated .holder 33)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 33)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 38)) none (.block (.mk [(.mk (.bind (.generated .operand 36)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 34)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 34))))), (.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 35)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 35)))))] (.call (.runtime .compare) [(.move (.generated .operand 36)), (.move (.generated .operand 37))] false))))] (.cond (.matchOn (.move (.generated .holder 38)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 6) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 7) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 32))]) none (.move (.generated .binding 1)))] (.move (.generated .part 32))))] false)) (lk := []) (Corr.callOps (ts := [.bool]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 32))]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 32))) (Corr.second (ta := (.pair .nat .string)) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .holder 33)) none (.clone (.generated .binding 2)))]) (ta := (.matchOn (.uncons (.generated .holder 33)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 38)) none (.block (.mk [(.mk (.bind (.generated .operand 36)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 34)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 34))))), (.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 35)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 35)))))] (.call (.runtime .compare) [(.move (.generated .operand 36)), (.move (.generated .operand 37))] false))))] (.cond (.matchOn (.move (.generated .holder 38)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 6) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (lb := []) (tb := (.lit (.bool false))) (Corr.matchArms (st := (.list (.pair (.pair .nat .string) .bool))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.pair (.pair .nat .string) .bool)), (some 2)), (1, (.pair (.pair .nat .string) .bool), (some 1)), (0, (.list (.pair (.pair .nat .string) .bool)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair (.pair .nat .string) .bool)), none), (3, (.pair (.pair .nat .string) .bool), (some 3)), (2, (.list (.pair (.pair .nat .string) .bool)), (some 2)), (1, (.pair (.pair .nat .string) .bool), (some 1)), (0, (.list (.pair (.pair .nat .string) .bool)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 38)) none (.block (.mk [(.mk (.bind (.generated .operand 36)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 34)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 34))))), (.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 35)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 35)))))] (.call (.runtime .compare) [(.move (.generated .operand 36)), (.move (.generated .operand 37))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 38)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 6) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 38)) none (.block (.mk [(.mk (.bind (.generated .operand 36)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 34)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 34))))), (.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 35)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 35)))))] (.call (.runtime .compare) [(.move (.generated .operand 36)), (.move (.generated .operand 37))] false))))]) (ce := (.matchOn (.move (.generated .holder 38)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 36)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 34)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 34))))), (.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 35)), .wild]) none (.move (.generated .binding 3)))] (.move (.generated .part 35)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 36)), (.move (.generated .operand 37))] false)) (Corr.prim (ts := [(.pair .nat .string), (.pair .nat .string)]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 34)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 34))) (Corr.first (ta := (.pair .nat .string)) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 35)), .wild]) none (.move (.generated .binding 3)))]) (tail := (.move (.generated .part 35))) (Corr.first (ta := (.pair .nat .string)) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.pair (.pair .nat .string) .bool)), none), (3, (.pair (.pair .nat .string) .bool), (some 3)), (2, (.list (.pair (.pair .nat .string) .bool)), (some 2)), (1, (.pair (.pair .nat .string) .bool), (some 1)), (0, (.list (.pair (.pair .nat .string) .bool)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair (.pair .nat .string) .bool)), none), (3, (.pair (.pair .nat .string) .bool), (some 3)), (2, (.list (.pair (.pair .nat .string) .bool)), (some 2)), (1, (.pair (.pair .nat .string) .bool), (some 1)), (0, (.list (.pair (.pair .nat .string) .bool)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list (.pair (.pair .nat .string) .bool)), none), (3, (.pair (.pair .nat .string) .bool), (some 3)), (2, (.list (.pair (.pair .nat .string) .bool)), (some 2)), (1, (.pair (.pair .nat .string) .bool), (some 1)), (0, (.list (.pair (.pair .nat .string) .bool)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 6) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.pair (.pair .nat .string) .bool))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun7 : FunOK program krate flags 7 := + ⟨_, rfl, .inl ⟨_, _, [], (.lit (.bool true)), [(0, .bool, none)], rfl, rfl, + (Corr.bOfE (Corr.buildConst rfl))⟩⟩ + +theorem fun8 : FunOK program krate flags 8 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 39)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 39)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 40))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 40))))] false) (.mk [(.mk (.bind (.generated .holder 41)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 41)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 46)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 42)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 42))))), (.mk (.bind (.generated .operand 45)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 43)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 43)))))] (.call (.runtime .compare) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] false))))] (.cond (.matchOn (.move (.generated .holder 46)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 8) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.pair (.fixed .i8) .nat)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair (.fixed .i8) .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair (.fixed .i8) .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.pair (.fixed .i8) .nat)), (some 2)), (1, (.pair (.fixed .i8) .nat), (some 1)), (0, (.list (.pair (.fixed .i8) .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 40))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 40))))] false) (.mk [(.mk (.bind (.generated .holder 41)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 41)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 46)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 42)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 42))))), (.mk (.bind (.generated .operand 45)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 43)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 43)))))] (.call (.runtime .compare) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] false))))] (.cond (.matchOn (.move (.generated .holder 46)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 8) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 40))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 40))))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 40))]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 40))) (Corr.second (ta := (.fixed .i8)) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .holder 41)) none (.clone (.generated .binding 2)))]) (ta := (.matchOn (.uncons (.generated .holder 41)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 46)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 42)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 42))))), (.mk (.bind (.generated .operand 45)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 43)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 43)))))] (.call (.runtime .compare) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] false))))] (.cond (.matchOn (.move (.generated .holder 46)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 8) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (lb := []) (tb := (.lit (.bool false))) (Corr.matchArms (st := (.list (.pair (.fixed .i8) .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.pair (.fixed .i8) .nat)), (some 2)), (1, (.pair (.fixed .i8) .nat), (some 1)), (0, (.list (.pair (.fixed .i8) .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair (.fixed .i8) .nat)), none), (3, (.pair (.fixed .i8) .nat), (some 3)), (2, (.list (.pair (.fixed .i8) .nat)), (some 2)), (1, (.pair (.fixed .i8) .nat), (some 1)), (0, (.list (.pair (.fixed .i8) .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 46)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 42)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 42))))), (.mk (.bind (.generated .operand 45)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 43)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 43)))))] (.call (.runtime .compare) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 46)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 8) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 46)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 42)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 42))))), (.mk (.bind (.generated .operand 45)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 43)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 43)))))] (.call (.runtime .compare) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] false))))]) (ce := (.matchOn (.move (.generated .holder 46)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 42)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 42))))), (.mk (.bind (.generated .operand 45)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 43)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 43)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] false)) (Corr.prim (ts := [(.fixed .i8), (.fixed .i8)]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 42)), .wild]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 42))) (Corr.first (ta := (.fixed .i8)) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 43)), .wild]) none (.copy (.generated .binding 3)))]) (tail := (.move (.generated .part 43))) (Corr.first (ta := (.fixed .i8)) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.pair (.fixed .i8) .nat)), none), (3, (.pair (.fixed .i8) .nat), (some 3)), (2, (.list (.pair (.fixed .i8) .nat)), (some 2)), (1, (.pair (.fixed .i8) .nat), (some 1)), (0, (.list (.pair (.fixed .i8) .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair (.fixed .i8) .nat)), none), (3, (.pair (.fixed .i8) .nat), (some 3)), (2, (.list (.pair (.fixed .i8) .nat)), (some 2)), (1, (.pair (.fixed .i8) .nat), (some 1)), (0, (.list (.pair (.fixed .i8) .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list (.pair (.fixed .i8) .nat)), none), (3, (.pair (.fixed .i8) .nat), (some 3)), (2, (.list (.pair (.fixed .i8) .nat)), (some 2)), (1, (.pair (.fixed .i8) .nat), (some 1)), (0, (.list (.pair (.fixed .i8) .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 8) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.pair (.fixed .i8) .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun9 : FunOK program krate flags 9 := + ⟨_, rfl, .inl ⟨_, _, [], (.lit (.bool true)), [(0, .nat, none)], rfl, rfl, + (Corr.bOfE (Corr.buildConst rfl))⟩⟩ + +theorem fun10 : FunOK program krate flags 10 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 47)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 47)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 48))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 48))))] false) (.mk [(.mk (.bind (.generated .holder 49)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 49)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 54)) none (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 50)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 50))))), (.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 51)))))] (.call (.runtime .compare) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false))))] (.cond (.matchOn (.move (.generated .holder 54)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 10) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.pair .bool .nat)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair .bool .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair .bool .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.pair .bool .nat)), (some 2)), (1, (.pair .bool .nat), (some 1)), (0, (.list (.pair .bool .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 48))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 48))))] false) (.mk [(.mk (.bind (.generated .holder 49)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 49)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 54)) none (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 50)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 50))))), (.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 51)))))] (.call (.runtime .compare) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false))))] (.cond (.matchOn (.move (.generated .holder 54)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 10) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 48))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 48))))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 48))]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 48))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .holder 49)) none (.clone (.generated .binding 2)))]) (ta := (.matchOn (.uncons (.generated .holder 49)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 54)) none (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 50)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 50))))), (.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 51)))))] (.call (.runtime .compare) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false))))] (.cond (.matchOn (.move (.generated .holder 54)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 10) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (lb := []) (tb := (.lit (.bool false))) (Corr.matchArms (st := (.list (.pair .bool .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.pair .bool .nat)), (some 2)), (1, (.pair .bool .nat), (some 1)), (0, (.list (.pair .bool .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .bool .nat)), none), (3, (.pair .bool .nat), (some 3)), (2, (.list (.pair .bool .nat)), (some 2)), (1, (.pair .bool .nat), (some 1)), (0, (.list (.pair .bool .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 54)) none (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 50)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 50))))), (.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 51)))))] (.call (.runtime .compare) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 54)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 10) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 54)) none (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 50)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 50))))), (.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 51)))))] (.call (.runtime .compare) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false))))]) (ce := (.matchOn (.move (.generated .holder 54)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 52)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 50)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 50))))), (.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 51)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false)) (Corr.prim (ts := [.bool, .bool]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 50)), .wild]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 50))) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 51)), .wild]) none (.copy (.generated .binding 3)))]) (tail := (.move (.generated .part 51))) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.pair .bool .nat)), none), (3, (.pair .bool .nat), (some 3)), (2, (.list (.pair .bool .nat)), (some 2)), (1, (.pair .bool .nat), (some 1)), (0, (.list (.pair .bool .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .bool .nat)), none), (3, (.pair .bool .nat), (some 3)), (2, (.list (.pair .bool .nat)), (some 2)), (1, (.pair .bool .nat), (some 1)), (0, (.list (.pair .bool .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list (.pair .bool .nat)), none), (3, (.pair .bool .nat), (some 3)), (2, (.list (.pair .bool .nat)), (some 2)), (1, (.pair .bool .nat), (some 1)), (0, (.list (.pair .bool .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 10) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.pair .bool .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun11 : FunOK program krate flags 11 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 55)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 55)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 56))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 56))))] false) (.mk [(.mk (.bind (.generated .holder 57)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 57)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 62)) none (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 58)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 58))))), (.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 59)))))] (.call (.runtime .compare) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false))))] (.cond (.matchOn (.move (.generated .holder 62)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 11) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.pair .int .nat)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair .int .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair .int .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.pair .int .nat)), (some 2)), (1, (.pair .int .nat), (some 1)), (0, (.list (.pair .int .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 56))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 56))))] false) (.mk [(.mk (.bind (.generated .holder 57)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 57)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 62)) none (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 58)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 58))))), (.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 59)))))] (.call (.runtime .compare) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false))))] (.cond (.matchOn (.move (.generated .holder 62)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 11) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 56))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 56))))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 56))]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 56))) (Corr.second (ta := .int) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .holder 57)) none (.clone (.generated .binding 2)))]) (ta := (.matchOn (.uncons (.generated .holder 57)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 62)) none (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 58)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 58))))), (.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 59)))))] (.call (.runtime .compare) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false))))] (.cond (.matchOn (.move (.generated .holder 62)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 11) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (lb := []) (tb := (.lit (.bool false))) (Corr.matchArms (st := (.list (.pair .int .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.pair .int .nat)), (some 2)), (1, (.pair .int .nat), (some 1)), (0, (.list (.pair .int .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .int .nat)), none), (3, (.pair .int .nat), (some 3)), (2, (.list (.pair .int .nat)), (some 2)), (1, (.pair .int .nat), (some 1)), (0, (.list (.pair .int .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 62)) none (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 58)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 58))))), (.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 59)))))] (.call (.runtime .compare) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 62)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 11) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 62)) none (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 58)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 58))))), (.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 59)))))] (.call (.runtime .compare) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false))))]) (ce := (.matchOn (.move (.generated .holder 62)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 60)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 58)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 58))))), (.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 59)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false)) (Corr.prim (ts := [.int, .int]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 58)), .wild]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 58))) (Corr.first (ta := .int) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.copy (.generated .binding 3)))]) (tail := (.move (.generated .part 59))) (Corr.first (ta := .int) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.pair .int .nat)), none), (3, (.pair .int .nat), (some 3)), (2, (.list (.pair .int .nat)), (some 2)), (1, (.pair .int .nat), (some 1)), (0, (.list (.pair .int .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair .int .nat)), none), (3, (.pair .int .nat), (some 3)), (2, (.list (.pair .int .nat)), (some 2)), (1, (.pair .int .nat), (some 1)), (0, (.list (.pair .int .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list (.pair .int .nat)), none), (3, (.pair .int .nat), (some 3)), (2, (.list (.pair .int .nat)), (some 2)), (1, (.pair .int .nat), (some 1)), (0, (.list (.pair .int .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 11) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.pair .int .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun12 : FunOK program krate flags 12 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 63)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 63)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [] (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 64))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 64))))] false) (.mk [(.mk (.bind (.generated .holder 65)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 65)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 70)) none (.block (.mk [(.mk (.bind (.generated .operand 68)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 66)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 66))))), (.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 67)))))] (.call (.runtime .compare) [(.move (.generated .operand 68)), (.move (.generated .operand 69))] false))))] (.cond (.matchOn (.move (.generated .holder 70)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 12) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))))]), [(0, (.list (.pair (.fixed .u64) .nat)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair (.fixed .u64) .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list (.pair (.fixed .u64) .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(2, (.list (.pair (.fixed .u64) .nat)), (some 2)), (1, (.pair (.fixed .u64) .nat), (some 1)), (0, (.list (.pair (.fixed .u64) .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 64))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 64))))] false) (.mk [(.mk (.bind (.generated .holder 65)) none (.clone (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 65)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 70)) none (.block (.mk [(.mk (.bind (.generated .operand 68)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 66)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 66))))), (.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 67)))))] (.call (.runtime .compare) [(.move (.generated .operand 68)), (.move (.generated .operand 69))] false))))] (.cond (.matchOn (.move (.generated .holder 70)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 12) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 9) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 64))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 64))))] false)) (lk := []) (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 64))]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 64))) (Corr.second (ta := (.fixed .u64)) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .holder 65)) none (.clone (.generated .binding 2)))]) (ta := (.matchOn (.uncons (.generated .holder 65)) [(.mk .none (.mk [] (.lit (.bool true)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), .wild])) (.mk [(.mk (.bind (.generated .holder 70)) none (.block (.mk [(.mk (.bind (.generated .operand 68)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 66)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 66))))), (.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 67)))))] (.call (.runtime .compare) [(.move (.generated .operand 68)), (.move (.generated .operand 69))] false))))] (.cond (.matchOn (.move (.generated .holder 70)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 12) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))))])) (lb := []) (tb := (.lit (.bool false))) (Corr.matchArms (st := (.list (.pair (.fixed .u64) .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.pair (.fixed .u64) .nat)), (some 2)), (1, (.pair (.fixed .u64) .nat), (some 1)), (0, (.list (.pair (.fixed .u64) .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair (.fixed .u64) .nat)), none), (3, (.pair (.fixed .u64) .nat), (some 3)), (2, (.list (.pair (.fixed .u64) .nat)), (some 2)), (1, (.pair (.fixed .u64) .nat), (some 1)), (0, (.list (.pair (.fixed .u64) .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 70)) none (.block (.mk [(.mk (.bind (.generated .operand 68)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 66)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 66))))), (.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 67)))))] (.call (.runtime .compare) [(.move (.generated .operand 68)), (.move (.generated .operand 69))] false))))]) (tail := (.cond (.matchOn (.move (.generated .holder 70)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))]) (.mk [] (.call (.function 12) [(.move (.generated .binding 2))] false)) (.mk [] (.lit (.bool false))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := [(.mk (.bind (.generated .holder 70)) none (.block (.mk [(.mk (.bind (.generated .operand 68)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 66)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 66))))), (.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 67)))))] (.call (.runtime .compare) [(.move (.generated .operand 68)), (.move (.generated .operand 69))] false))))]) (ce := (.matchOn (.move (.generated .holder 70)) [(.mk (.ordering .less) (.mk [] (.lit (.bool true)))), (.mk (.ordering .same) (.mk [] (.lit (.bool false)))), (.mk (.ordering .more) (.mk [] (.lit (.bool false))))])) (lk := []) (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 68)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 66)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 66))))), (.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.copy (.generated .binding 3)))] (.move (.generated .part 67)))))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 68)), (.move (.generated .operand 69))] false)) (Corr.prim (ts := [(.fixed .u64), (.fixed .u64)]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 66)), .wild]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 66))) (Corr.first (ta := (.fixed .u64)) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.copy (.generated .binding 3)))]) (tail := (.move (.generated .part 67))) (Corr.first (ta := (.fixed .u64)) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.pair (.fixed .u64) .nat)), none), (3, (.pair (.fixed .u64) .nat), (some 3)), (2, (.list (.pair (.fixed .u64) .nat)), (some 2)), (1, (.pair (.fixed .u64) .nat), (some 1)), (0, (.list (.pair (.fixed .u64) .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(4, (.list (.pair (.fixed .u64) .nat)), none), (3, (.pair (.fixed .u64) .nat), (some 3)), (2, (.list (.pair (.fixed .u64) .nat)), (some 2)), (1, (.pair (.fixed .u64) .nat), (some 1)), (0, (.list (.pair (.fixed .u64) .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(4, (.list (.pair (.fixed .u64) .nat)), none), (3, (.pair (.fixed .u64) .nat), (some 3)), (2, (.list (.pair (.fixed .u64) .nat)), (some 2)), (1, (.pair (.fixed .u64) .nat), (some 1)), (0, (.list (.pair (.fixed .u64) .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 12) [(.move (.generated .binding 2))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.list (.pair (.fixed .u64) .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun13 : FunOK program krate flags 13 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 6) [(.clone (.generated .binding 0))] false) (.mk [] (.cond (.call (.function 8) [(.clone (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 10) [(.clone (.generated .binding 4))] false) (.mk [] (.cond (.call (.function 11) [(.clone (.generated .binding 6))] false) (.mk [] (.cond (.call (.function 12) [(.clone (.generated .binding 8))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 2)), (.copy (.generated .binding 3)), (.move (.generated .binding 4)), (.copy (.generated .binding 5)), (.move (.generated .binding 6)), (.copy (.generated .binding 7)), (.move (.generated .binding 8)), (.copy (.generated .binding 9))] false)])) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) []))), [(9, (.fixed .u64), (some 9)), (8, (.list (.pair (.fixed .u64) .nat)), (some 8)), (7, .int, (some 7)), (6, (.list (.pair .int .nat)), (some 6)), (5, .bool, (some 5)), (4, (.list (.pair .bool .nat)), (some 4)), (3, (.fixed .i8), (some 3)), (2, (.list (.pair (.fixed .i8) .nat)), (some 2)), (1, (.pair .nat .string), (some 1)), (0, (.list (.pair (.pair .nat .string) .bool)), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 6) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair (.pair .nat .string) .bool))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 8) [(.clone (.generated .binding 2))] false) (.mk [] (.cond (.call (.function 10) [(.clone (.generated .binding 4))] false) (.mk [] (.cond (.call (.function 11) [(.clone (.generated .binding 6))] false) (.mk [] (.cond (.call (.function 12) [(.clone (.generated .binding 8))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 2)), (.copy (.generated .binding 3)), (.move (.generated .binding 4)), (.copy (.generated .binding 5)), (.move (.generated .binding 6)), (.copy (.generated .binding 7)), (.move (.generated .binding 8)), (.copy (.generated .binding 9))] false)])) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (lb := []) (tb := (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) (Corr.cond (lc := []) (ce := (.call (.function 8) [(.clone (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair (.fixed .i8) .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 10) [(.clone (.generated .binding 4))] false) (.mk [] (.cond (.call (.function 11) [(.clone (.generated .binding 6))] false) (.mk [] (.cond (.call (.function 12) [(.clone (.generated .binding 8))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 2)), (.copy (.generated .binding 3)), (.move (.generated .binding 4)), (.copy (.generated .binding 5)), (.move (.generated .binding 6)), (.copy (.generated .binding 7)), (.move (.generated .binding 8)), (.copy (.generated .binding 9))] false)])) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (lb := []) (tb := (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) (Corr.cond (lc := []) (ce := (.call (.function 10) [(.clone (.generated .binding 4))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair .bool .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 11) [(.clone (.generated .binding 6))] false) (.mk [] (.cond (.call (.function 12) [(.clone (.generated .binding 8))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 2)), (.copy (.generated .binding 3)), (.move (.generated .binding 4)), (.copy (.generated .binding 5)), (.move (.generated .binding 6)), (.copy (.generated .binding 7)), (.move (.generated .binding 8)), (.copy (.generated .binding 9))] false)])) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (lb := []) (tb := (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) (Corr.cond (lc := []) (ce := (.call (.function 11) [(.clone (.generated .binding 6))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair .int .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 12) [(.clone (.generated .binding 8))] false) (.mk [] (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 2)), (.copy (.generated .binding 3)), (.move (.generated .binding 4)), (.copy (.generated .binding 5)), (.move (.generated .binding 6)), (.copy (.generated .binding 7)), (.move (.generated .binding 8)), (.copy (.generated .binding 9))] false)])) (.mk [] (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])))) (lb := []) (tb := (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) (Corr.cond (lc := []) (ce := (.call (.function 12) [(.clone (.generated .binding 8))] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair (.fixed .u64) .nat))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 0) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.move (.generated .binding 2)), (.copy (.generated .binding 3)), (.move (.generated .binding 4)), (.copy (.generated .binding 5)), (.move (.generated .binding 6)), (.copy (.generated .binding 7)), (.move (.generated .binding 8)), (.copy (.generated .binding 9))] false)])) (lb := []) (tb := (.construct (.none (.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))) [])) (Corr.build (ts := [(.pair (.option .bool) (.pair (.option .nat) (.pair (.option .nat) (.pair (.option .nat) (.option .nat)))))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair (.pair .nat .string) .bool)), (.pair .nat .string), (.list (.pair (.fixed .i8) .nat)), (.fixed .i8), (.list (.pair .bool .nat)), .bool, (.list (.pair .int .nat)), .int, (.list (.pair (.fixed .u64) .nat)), (.fixed .u64)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))))))))))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | 4 => exact fun4 + | 5 => exact fun5 + | 6 => exact fun6 + | 7 => exact fun7 + | 8 => exact fun8 + | 9 => exact fun9 + | 10 => exact fun10 + | 11 => exact fun11 + | 12 => exact fun12 + | 13 => exact fun13 + | _ + 14 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R9.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R9.lean similarity index 98% rename from examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R9.lean rename to examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R9.lean index 6228f6c6e..71d00fd80 100644 --- a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R9.lean +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R9.lean @@ -18,7 +18,7 @@ set_option maxRecDepth 100000 set_option maxHeartbeats 0 set_option synthInstance.maxHeartbeats 0 set_option linter.unusedVariables false -namespace LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9 def __prog : _root_.LexLeanTarget.TargetSyntax.Program := { adts := [], functions := [ @@ -37,4 +37,4 @@ def denote (x : Nat) (s : String) : _root_.LexLeanPreservation.Obs := theorem root (x : Nat) (s : String) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat x), (_root_.LexLeanTarget.TargetSyntax.Value.string s)] (_root_.LexLeanPreservation.Rel (__fits_0 x s) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.string _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat))))) (Coverage.Colls.literals x s))) := _root_.LexLeanPreservation.run_of_funRel (__rel_0 x s) -end LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9 +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9 diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R9/Compose/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R9/Compose/RustStd.lean new file mode 100644 index 000000000..491d889cb --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R9/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9 +import LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.Compose.RustStd + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (x : Nat) (s : String) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat x), (_root_.LexLeanTarget.TargetSyntax.Value.string s)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.denote x s) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat x), (_root_.LexLeanTarget.TargetSyntax.Value.string s)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat x) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_string s) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.root x s) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.Compose.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R9/RustStd.lean b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R9/RustStd.lean new file mode 100644 index 000000000..bb70ae666 --- /dev/null +++ b/examples/production-coverage/expected/verify/preserve/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R9/RustStd.lean @@ -0,0 +1,33 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [.nat, .string], result := (.pair (.list (.pair .string .nat)) (.pair (.list .nat) (.list (.pair .nat (.list .nat))))), + body := (.build .pair (.pair (.list (.pair .string .nat)) (.pair (.list .nat) (.list (.pair .nat (.list .nat))))) [(.build .cons (.list (.pair .string .nat)) [(.build .pair (.pair .string .nat) [(.value .string (.string "a")), (.var 0)]), (.build .cons (.list (.pair .string .nat)) [(.build .pair (.pair .string .nat) [(.value .string (.string "b")), (.value .nat (.nat 2))]), (.build .nil (.list (.pair .string .nat)) [])])]), (.build .pair (.pair (.list .nat) (.list (.pair .nat (.list .nat)))) [(.build .cons (.list .nat) [(.value .nat (.nat 1)), (.build .cons (.list .nat) [(.value .nat (.nat 3)), (.build .nil (.list .nat) [])])]), (.build .cons (.list (.pair .nat (.list .nat))) [(.build .pair (.pair .nat (.list .nat)) [(.value .nat (.nat 1)), (.build .cons (.list .nat) [(.value .nat (.nat 2)), (.build .nil (.list .nat) [])])]), (.build .cons (.list (.pair .nat (.list .nat))) [(.build .pair (.pair .nat (.list .nat)) [(.value .nat (.nat 2)), (.build .cons (.list .nat) [(.value .nat (.nat 1)), (.build .nil (.list .nat) [])])]), (.build .nil (.list (.pair .nat (.list .nat))) [])])])])]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := .wild, type := .str }] (.pair (.list (.pair .str .nat)) (.pair (.list .nat) (.list (.pair .nat (.list .nat))))) (.mk [] (.pair (.construct .cons [(.pair (.lit (.str "a")) (.copy (.generated .binding 0))), (.construct .cons [(.pair (.lit (.str "b")) (.lit (.nat 2))), (.construct (.nil (.pair .str .nat)) [])])]) (.pair (.construct .cons [(.lit (.nat 1)), (.construct .cons [(.lit (.nat 3)), (.construct (.nil .nat) [])])]) (.construct .cons [(.pair (.lit (.nat 1)) (.construct .cons [(.lit (.nat 2)), (.construct (.nil .nat) [])])), (.construct .cons [(.pair (.lit (.nat 2)) (.construct .cons [(.lit (.nat 1)), (.construct (.nil .nat) [])])), (.construct (.nil (.pair .nat (.list .nat))) [])])])))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.pair (.construct .cons [(.pair (.lit (.str "a")) (.copy (.generated .binding 0))), (.construct .cons [(.pair (.lit (.str "b")) (.lit (.nat 2))), (.construct (.nil (.pair .str .nat)) [])])]) (.pair (.construct .cons [(.lit (.nat 1)), (.construct .cons [(.lit (.nat 3)), (.construct (.nil .nat) [])])]) (.construct .cons [(.pair (.lit (.nat 1)) (.construct .cons [(.lit (.nat 2)), (.construct (.nil .nat) [])])), (.construct .cons [(.pair (.lit (.nat 2)) (.construct .cons [(.lit (.nat 1)), (.construct (.nil .nat) [])])), (.construct (.nil (.pair .nat (.list .nat))) [])])]))), [(1, .string, none), (0, .nat, (some 0))], rfl, rfl, + (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair .string .nat), (.list (.pair .string .nat))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair .string .nat), (.list (.pair .string .nat))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair .nat (.list .nat)), (.list (.pair .nat (.list .nat)))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair .nat (.list .nat)), (.list (.pair .nat (.list .nat)))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) (Corr.lNil)))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | _ + 1 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.RustStd diff --git a/examples/production-coverage/expected/verify/preserve/audit.txt b/examples/production-coverage/expected/verify/preserve/audit.txt index 8d2aaa7ce..05b584ae9 100644 --- a/examples/production-coverage/expected/verify/preserve/audit.txt +++ b/examples/production-coverage/expected/verify/preserve/audit.txt @@ -263,10 +263,10 @@ 'LexLeanPreservation.prim_utf8Decode.match_1_1' does not depend on any axioms 'LexLeanPreservation.prim_utf8Decode' depends on axioms: [propext, Classical.choice, Quot.sound] 'LexLeanPreservation.prim_utf8Encode' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanTarget.TargetSemantics.LexLeanRuntime.compareBytes.eq_1' depends on axioms: [propext] -'LexLeanTarget.TargetSemantics.LexLeanRuntime.equal.eq_1' does not depend on any axioms -'LexLeanTarget.TargetSemantics.LexLeanRuntime.length.eq_1' does not depend on any axioms -'LexLeanTarget.TargetSemantics.LexLeanRuntime.slice.eq_1' does not depend on any axioms +'LexLeanRuntime.compareBytes.eq_1' depends on axioms: [propext] +'LexLeanRuntime.equal.eq_1' does not depend on any axioms +'LexLeanRuntime.length.eq_1' does not depend on any axioms +'LexLeanRuntime.slice.eq_1' does not depend on any axioms 'LexLeanTarget.TargetSemantics.fromOrdering.eq_1' depends on axioms: [propext] 'LexLeanPreservation.checkedMultiplyWith.match_1' does not depend on any axioms 'LexLeanPreservation.checkedMultiplyWith' does not depend on any axioms @@ -639,15 +639,15 @@ 'LexLeanPreservation.keySpec_u64' depends on axioms: [propext, Classical.choice, Quot.sound] 'LexLeanTarget.TargetSemantics.orderU8.eq_1' does not depend on any axioms 'LexLeanPreservation.keySpec_u8' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes._sparseCasesOn_1.else_eq' depends on axioms: [propext] -'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_1' depends on axioms: [propext] -'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_2' depends on axioms: [propext] -'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_3' depends on axioms: [propext] -'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_4' depends on axioms: [propext] -'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_def' depends on axioms: [propext] -'LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_1' does not depend on any axioms -'LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_2' does not depend on any axioms -'LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_def' does not depend on any axioms +'LexLeanCollections.compareCodes._sparseCasesOn_1.else_eq' depends on axioms: [propext] +'LexLeanCollections.compareCodes.eq_1' depends on axioms: [propext] +'LexLeanCollections.compareCodes.eq_2' depends on axioms: [propext] +'LexLeanCollections.compareCodes.eq_3' depends on axioms: [propext] +'LexLeanCollections.compareCodes.eq_4' depends on axioms: [propext] +'LexLeanCollections.compareCodes.eq_def' depends on axioms: [propext] +'LexLeanCollections.insertEntry.eq_1' does not depend on any axioms +'LexLeanCollections.insertEntry.eq_2' does not depend on any axioms +'LexLeanCollections.insertEntry.eq_def' does not depend on any axioms 'LexLeanTarget.TargetSemantics.compareValue.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound] 'LexLeanTarget.TargetSemantics.compareValue.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound] 'LexLeanTarget.TargetSemantics.compareValue.eq_100' depends on axioms: [propext, Classical.choice, Quot.sound] @@ -1443,7 +1443,6 @@ 'LexLeanPreservation.Rust.tysBeq._unsafe_rec' depends on axioms: [propext] 'LexLeanPreservation.Rust.tyBeq._unsafe_rec' depends on axioms: [propext] 'LexLeanPreservation.Rust.tysBeq._sunfold' depends on axioms: [propext] -'LexLeanTarget.RustSemantics.LexLeanRuntime.equal.eq_1' does not depend on any axioms 'LexLeanTarget.RustSemantics.eval.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound] 'LexLeanTarget.RustSemantics.eval.eq_17' depends on axioms: [propext, Classical.choice, Quot.sound] 'LexLeanTarget.RustSemantics.eval.eq_18' depends on axioms: [propext, Classical.choice, Quot.sound] @@ -7738,332 +7737,332 @@ 'LexLeanPreservation.encOption.eq_2' does not depend on any axioms 'LexLeanPreservation.encPair.eq_1' does not depend on any axioms 'LexLeanPreservation.encUnit.eq_1' does not depend on any axioms -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -- statement vocabulary @@ -8082,7 +8081,7 @@ def LexLeanPreservation.FunRel : LexLeanTarget.TargetSyntax.Program → Nat → List LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs → Prop := fun p f args o => ∃ fn, - LexLeanTarget.TargetSemantics.LexLeanRuntime.index p.functions f = some fn ∧ + LexLeanRuntime.index p.functions f = some fn ∧ ∃ env, LexLeanTarget.TargetSemantics.bindAll fn.parameters args [] = some env ∧ LexLeanPreservation.Conv p env fn.body o @@ -8133,7 +8132,7 @@ def LexLeanPreservation.Rust.FunSem : LexLeanTarget.TargetSyntax.Program → fun p c A n f => ∀ (fn : LexLeanTarget.TargetSyntax.Function) (args : List LexLeanTarget.TargetSyntax.Value) (env : List (Nat × LexLeanTarget.TargetSyntax.Value)) (F : Bool), - LexLeanTarget.TargetSemantics.LexLeanRuntime.index p.functions f = some fn → + LexLeanRuntime.index p.functions f = some fn → LexLeanPreservation.Rust.WTL p c A args fn.types → LexLeanTarget.TargetSemantics.bindAll fn.parameters args [] = some env → LexLeanPreservation.Rust.fnFallible c f = some F → diff --git a/examples/production-coverage/expected/verify/preserve/preservation.json b/examples/production-coverage/expected/verify/preserve/preservation.json index 1b1917d52..6cfbea5b0 100644 --- a/examples/production-coverage/expected/verify/preserve/preservation.json +++ b/examples/production-coverage/expected/verify/preserve/preservation.json @@ -1 +1 @@ -{"library":{"axioms":["Classical.choice","Quot.sound","propext"],"registry_sha256":"9b759e47541781eb530e49000bac2c0f22fbcda44821350a66b1d27936daa54f"},"roots":[{"byte_length":58284,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0","program":{"byte_length":19449,"sha256":"1aadfc9ba4fd60d7060d145ef97656e0bca23924ec77e487808d5faae1ada33d"},"renderings":[{"byte_length":85650,"composed":{"byte_length":9211,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.Compose.RustStd","sha256":"338e9a535240577f98274cca0d202961293c4750760cb6ccf2e632e7c84c3b26","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.Compose.RustStd.root"},"crate":{"byte_length":22556,"sha256":"77ab666847a104f8f578a1f8e741421430e9fed92895817a111f50a95178b620"},"entry":{"function":18,"symbol":"f18"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd","sha256":"3521c8f65918bb9ccb7d86c371f3f98b5225cecd212a4a058a6c8e5d37abea07","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.root"}],"root":"Coverage.Boundary.groveRoot","sha256":"dc8acbc18fe0b7cf22206e035fbc293ba879532c8c9ef5a5b764f38e37cd5dd6","targets":["rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.root"},{"byte_length":29833,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1","program":{"byte_length":16945,"sha256":"befbd0f6a81345584eccc0e352073fcc65d585f2ff9b002aad0cfac26a5a426f"},"renderings":[{"byte_length":59928,"composed":{"byte_length":3031,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.Compose.RustStd","sha256":"0502f4c2c512bc39267a197858f1fd7124c1863552082a37c76610bf90588ab0","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.Compose.RustStd.root"},"crate":{"byte_length":19105,"sha256":"5d5216f8cd8580e08122755e5fd0aa617b9ba4b46fd2dcb000f6d7503c307f92"},"entry":{"function":10,"symbol":"f10"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.RustStd","sha256":"ff789e905681502042cc9fa17571cd46f927ebfe125fb0f57b6ccf5b975ee8fa","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.RustStd.root"}],"root":"Coverage.Colls.mapOps","sha256":"e94c290ab43c1858ddb9c9170dbe4af0f228d36177769447a436aa1af6cb5dc0","targets":["rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.root"},{"byte_length":13160,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2","program":{"byte_length":4015,"sha256":"db2b0f171e75cff8b9931bc693e039342501c8d43f2d2a653bd29728fe777dc1"},"renderings":[{"byte_length":25017,"composed":{"byte_length":2837,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.Compose.RustStd","sha256":"eae4feba4882af06a8fe4f64ad38b6a91848f78c78203881e7ec8019e60c4c02","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.Compose.RustStd.root"},"crate":{"byte_length":15540,"sha256":"014aa5f97db48ae59c8841bf98cd515f65a1be0c24b3fd1095cc48ebb6c83fc1"},"entry":{"function":5,"symbol":"f5"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.RustStd","sha256":"dc8172aa7fd206199880a4d1c909ade61887a907f653e862ef954d3275005a7b","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.RustStd.root"}],"root":"Coverage.Colls.mapFolding","sha256":"e9e804e872ac5d0b0b4d4a7650ec5d743927315ba595cdc4f096507fd34ad35a","targets":["rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.root"},{"byte_length":27034,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3","program":{"byte_length":16755,"sha256":"ff65cb9f421e37305a20ed392f155a0aabde61713d63520082effd9e2006231d"},"renderings":[{"byte_length":61996,"composed":{"byte_length":2876,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.Compose.RustStd","sha256":"2fc0de76d86d9b27f5ae37540231fa9c5693d3df30cee5a16b1111c8fe610a83","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.Compose.RustStd.root"},"crate":{"byte_length":19344,"sha256":"b735c8c86aaac3de962c4a35440898953b1162fd156ada72eb075744426d87e1"},"entry":{"function":11,"symbol":"f11"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.RustStd","sha256":"98e4146f33915d8c7f5338966b48f840aaeb65ba5a0f25d85ab54d00985f167c","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.RustStd.root"}],"root":"Coverage.Colls.setOps","sha256":"b787296ebe7b0066f148c1965de1d220cb2ecc17a66f93e9379cc18e14e6579c","targets":["rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.root"},{"byte_length":13375,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4","program":{"byte_length":4435,"sha256":"48b1d22aff3beb88a3f286056475ac74e9a357ff9dc339c89b802249153cebbd"},"renderings":[{"byte_length":21903,"composed":{"byte_length":2676,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.Compose.RustStd","sha256":"ffd05e1aa09cfa452c386ac3ba300a70acd5057d2a049a67271df09bc4b896ca","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.Compose.RustStd.root"},"crate":{"byte_length":15272,"sha256":"cf60ae7366ecb8b9565507fd1247024683dfd01ad6d22c2db0aeb6f250c1b307"},"entry":{"function":6,"symbol":"f6"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.RustStd","sha256":"c09ab56aa4ee2b1c767a992f468b44f50e448d16ade835d0e07b320d44c2f772","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.RustStd.root"}],"root":"Coverage.Colls.folds","sha256":"991ae51235f220be974028a86492aa3e4ec098badea3221fb2567591c7a217bb","targets":["rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.root"},{"byte_length":9233,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5","program":{"byte_length":3448,"sha256":"17fa1f466a5d992c3b54152d0a758cd23d38d1b2fda1ef5693cc06700cabe223"},"renderings":[{"byte_length":14771,"composed":{"byte_length":1703,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.Compose.RustStd","sha256":"522c4dea187ac65be75d3120d0a37832ad51976029376392ede03179e94aa902","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.Compose.RustStd.root"},"crate":{"byte_length":14251,"sha256":"b07e6313d5996c7f489f6ff31b6047d7bdd30fac8dc0ab06dd2de5c165773171"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.RustStd","sha256":"e9bd63011d0dae2b0b347bede085f1b8b6675aa5b095527c5a9d22568823f15a","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.RustStd.root"}],"root":"Coverage.Colls.iterations","sha256":"93399bf9ad94dae0dcbb710f59dbd2e0bef3fdb250797dcdf321229ae236713b","targets":["rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.root"},{"byte_length":30878,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6","program":{"byte_length":32854,"sha256":"54b3c6a08367cfc9abac0716d282f9bfd50bcfffd1c1c0a5693bf6e6407145e2"},"renderings":[{"byte_length":153083,"composed":{"byte_length":2965,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.Compose.RustStd","sha256":"5aaaad63bc4045af8c1a61308518bb99a5c85d0efaa0c2f5519ed9dfef61bae5","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.Compose.RustStd.root"},"crate":{"byte_length":28628,"sha256":"d53a1fc1f9cf1f4e7366e8dcf3dea4f3e858227e7739718651f7bd74ea86be6f"},"entry":{"function":30,"symbol":"f30"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.RustStd","sha256":"d12f273db303928b8e6912c6d94dc71bc053ba31887e610ac688ed06240af97f","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.RustStd.root"}],"root":"Coverage.Colls.graphs","sha256":"687d839ae4621a67d8cd831eab4826c429c21f61cbc29f119687b855ca5a7945","targets":["rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.root"},{"byte_length":20090,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7","program":{"byte_length":17014,"sha256":"bbf596ebb9eca8da32bc60cf81d5aed9f971a815f74ed865dc65f5b5acd7c475"},"renderings":[{"byte_length":82886,"composed":{"byte_length":2743,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.Compose.RustStd","sha256":"85fba63567beaa3a3a5a384412f1887486527e9b8b1e76897e8be204c2063e41","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.Compose.RustStd.root"},"crate":{"byte_length":21438,"sha256":"b7f9d495a96503043078bb00af86cac5d22f3a92bef084ff7b8d41e5a157014e"},"entry":{"function":15,"symbol":"f15"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.RustStd","sha256":"e192365debf8736fc160ebbab30e74f38f6f1c794b45b6854d9976db18a27621","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.RustStd.root"}],"root":"Coverage.Colls.stringGraph","sha256":"92676a2bcb12f98afabf9d59345539c93cecbcdddce58379800ac731f83e6303","targets":["rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.root"},{"byte_length":46985,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8","program":{"byte_length":22112,"sha256":"fc3e6614b68e0f0cf2e4fcd7831a0a8ac5a84ade2a42c08eabcd0d2ddc8abe3f"},"renderings":[{"byte_length":117400,"composed":{"byte_length":6533,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.Compose.RustStd","sha256":"6baf0c266b973fe6297d6b622423845221ea055d48fd9112d4d3db03cfc5f45d","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.Compose.RustStd.root"},"crate":{"byte_length":26043,"sha256":"bf8749dca9d3b9f015f7261c88b60dea927138244a7b63985e6966ad4147d00f"},"entry":{"function":13,"symbol":"f13"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.RustStd","sha256":"7f8a7718143e2e99dc6809b0ddbc2cf578cdc0b290d82e6adfac0fac527c459d","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.RustStd.root"}],"root":"Coverage.Colls.keyTypes","sha256":"5a5e46b8485d32417418092e096baac09262f3c2ffc9be26e7127d09f215bd21","targets":["rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.root"},{"byte_length":9008,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9","program":{"byte_length":3996,"sha256":"c7a7def9b6c20967b79d34ac878ad3bd945e7e8a5f7ba59728f515c9495f8d2c"},"renderings":[{"byte_length":5833,"composed":{"byte_length":1692,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.Compose.RustStd","sha256":"3a113189cde2b976eec7e9d8cc8809deb9191ca23956806b84d40a0be508548b","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.Compose.RustStd.root"},"crate":{"byte_length":13175,"sha256":"a33503946fd052ef363ed726a5ef3cab80d9029bf159effcb5ca3ee3f234125d"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.RustStd","sha256":"631b04a0cf784b5c517ff093cfb43605c1bd1bae316ce5381d24da9c0b8f160f","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.RustStd.root"}],"root":"Coverage.Colls.literals","sha256":"013883204ab049afadd5ec16da5cf4fe86ac2b67bea3392c8d1677ecb88d1277","targets":["rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.root"},{"byte_length":8048,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10","program":{"byte_length":1746,"sha256":"7327b0d3e0e2b92c9e324f0b8f38bf8b9a4866af1fab582ce3cb3471b3faac1f"},"renderings":[{"byte_length":13257,"composed":{"byte_length":1692,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustCore","sha256":"25ced223a4eb86ca316aa74ee37f066ecb235cd1daaf5ed98ac4527ec7d52a15","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustCore.root"},"crate":{"byte_length":4767,"sha256":"af030ef915059e74c7c2a7439cdd2f3e87f0ff1e956993fbdc5ad7c010e3c87a"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustCore","sha256":"190048fc2179cfb0fdd90d198ce5444bf132455a4a195371fd7493f4fdba13b5","target":"rust-core","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustCore.root"},{"byte_length":13254,"composed":{"byte_length":1687,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustStd","sha256":"3b6af843b207ce6457976f70643b578f8a6644a552b9b11aa74eddbce43d3bd0","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustStd.root"},"crate":{"byte_length":13685,"sha256":"ee0fea13fd0bcd6a8f38ac930442b23f7dcf051f188f1661a7305f3d1e9b69a5"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustStd","sha256":"30c649725c8ea4e053188af89539ff2c65518b8b2a9d4f4eb984cd7eb246d8b8","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustStd.root"}],"root":"Coverage.Main.natOps","sha256":"783fd533a19ca4455baecb94ee009380489b628cea7cda3fc0bdc50da704295a","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.root"},{"byte_length":5004,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11","program":{"byte_length":772,"sha256":"6f167a8d46f8923a927e311666264729d573c3b8593155abef2114631b1b0283"},"renderings":[{"byte_length":6973,"composed":{"byte_length":1692,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustCore","sha256":"fe27f30315c1e916153fd5d78eb204b4cef3719b2f981747bae81b6c3fbebd41","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustCore.root"},"crate":{"byte_length":4340,"sha256":"1fd22968eef8b396fb2c0032d03104ae83717176fc2919b9876d5a2d7a73e0e9"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustCore","sha256":"4d28ecc39853ccb2ed96104664f58de698549e3d4f90c596df21857888dfa5b6","target":"rust-core","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustCore.root"},{"byte_length":6970,"composed":{"byte_length":1687,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustStd","sha256":"954616d3f32cc74ff18b30ca7ba6d5d86284a011a0d4a85b7c43c5a38689f5a7","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustStd.root"},"crate":{"byte_length":13258,"sha256":"35a8c124f4644cb2f70ee53bb1a4766ebb427587204f1c193338913fdb89fd1c"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustStd","sha256":"19d8c8e395dc076f22a23f8fb3fc5206a5a9498475a389b598b41cc3ea6f6705","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustStd.root"}],"root":"Coverage.Main.intOps","sha256":"8b7c5e15fcb8f82dc6ff6157dc373cb05fb0650d11414208dc7f62bbc49197e3","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.root"},{"byte_length":9260,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12","program":{"byte_length":1624,"sha256":"05293367c4a6e86e29d41974b883426e97957fbbc411382de01e1da3e41879c8"},"renderings":[{"byte_length":8984,"composed":{"byte_length":2728,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustCore","sha256":"d44a0a77c98788d48fa34708e645d3cdfeb07d55633b2eb1769591958d1a575f","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustCore.root"},"crate":{"byte_length":4616,"sha256":"9a588c5405d0805e8b71a3c168ecca7d5a7941a10b3707e884a8200765963074"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustCore","sha256":"db4d9e18fd77295e7de60762b663dab44a0d0a74075ce8a97248e78037cfe5f1","target":"rust-core","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustCore.root"},{"byte_length":8981,"composed":{"byte_length":2720,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustStd","sha256":"548ea9d225e6ddbed0a9e334c48f5bcbc22087abd22c93ff9bd66617747f6ed7","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustStd.root"},"crate":{"byte_length":13534,"sha256":"57df19a47ce392a82bdfe801f4e334b35198361a066b7dd6063f679c07bebbe5"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustStd","sha256":"8ff819754acbe5234283be3f182867aaf6a34ad2aedc031ac0100aa3f54f2255","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustStd.root"}],"root":"Coverage.Main.shapes","sha256":"4daee1ae94c252dfc01b4df54f02d9843db159bd96e2df94042307f40868da42","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.root"},{"byte_length":6637,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13","program":{"byte_length":1517,"sha256":"43b6eedb7829b3598a29348c532e07d70295631eb2650df5de98d38c3daccb35"},"renderings":[{"byte_length":7237,"composed":{"byte_length":2336,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.Compose.RustStd","sha256":"a54c930939b8bb5ce70abee8c0f10c51526c14eb7f585e92423ae828a2936474","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.Compose.RustStd.root"},"crate":{"byte_length":13479,"sha256":"92cec27dd560e7ca0a9f5daa440567b51beb597b69ef56f0678a55f0729d1198"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.RustStd","sha256":"fceeb284f89fc223a8bbb7796787a015ce216433fa36a1e8f1adb2507458c8a3","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.RustStd.root"}],"root":"Coverage.Main.treeTotal","sha256":"2e7e5e83376690c139275f53f0d6a5acfa578df6764aa9963e07414986b718a3","targets":["rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.root"},{"byte_length":6646,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14","program":{"byte_length":1628,"sha256":"f6c459c7f8163810d05bc43460cd394578f415d182096e2ad51dae6252d4f656"},"renderings":[{"byte_length":7066,"composed":{"byte_length":3771,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustCore","sha256":"6ac262ebcd0ba0df193616e879e6061517442e43da1812244685c0f7ac486203","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustCore.root"},"crate":{"byte_length":4685,"sha256":"73a3e27a1326d458fa653a2a3b7057649a690cfc50441d306fc0456004f12045"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustCore","sha256":"cc42aad8373c6dd2957dcc60868d5b0ec948f833019d6fe004b5d29eca422ba2","target":"rust-core","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustCore.root"},{"byte_length":7063,"composed":{"byte_length":3757,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustStd","sha256":"3351977859b7f9122c6dd30d2da2b4fd21c47a7982c2542f2e595d293a12bef9","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustStd.root"},"crate":{"byte_length":13603,"sha256":"4b8bab9cd36b1b9026cb5992a83d73f087c3a70988458b0e1f559b5e0d15d812"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustStd","sha256":"6d041060b0e0b78a25ac90592b203e2f1f253fa72cd62ebf2a11b7c9efc3398b","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustStd.root"}],"root":"Coverage.Main.records","sha256":"325474c3add7fb0e32c1a70124f3886417cd860cc130cbc5d4de567e888c0b89","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.root"},{"byte_length":5198,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15","program":{"byte_length":989,"sha256":"1817e8488f6542ec7a9c65ee73a26b9b2ce35ef18dad904d897c9dded6e3cbf9"},"renderings":[{"byte_length":5464,"composed":{"byte_length":2095,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustCore","sha256":"db48a990e6578f9c8c77ee266e69691b16b76fc94e82aba807ad6a2fab79552c","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustCore.root"},"crate":{"byte_length":4417,"sha256":"31aa7ca5ef4e02642fd2c913c93293b098b0b55555ebd261df0377b68180139e"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustCore","sha256":"cebd8c7e5271298a568dcbdddf087f9f96349da685ace1ffa9564c449cdd63bb","target":"rust-core","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustCore.root"},{"byte_length":5461,"composed":{"byte_length":2090,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustStd","sha256":"2f3d7c1216a857dc636a9e51e0b2a9485e23cd95c7df525a0994b3abdac45366","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustStd.root"},"crate":{"byte_length":13335,"sha256":"44fa70d0448251f98e8fdef3403a5990d6a42239304a80f10cb6830960f7268d"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustStd","sha256":"9fafccd3a7a3e55d336dc4fe0888158d6242f02cc8fa27cf58daf73df23c4aed","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustStd.root"}],"root":"Coverage.Main.options","sha256":"0cfc3023e6a8f34a2a07683148df556b3200f2540592fd4d579b451dc7ee14f3","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.root"},{"byte_length":4914,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16","program":{"byte_length":1264,"sha256":"234deee526474348f12566f97e315f4a79becf0607138d82ae06f555a4d3f2db"},"renderings":[{"byte_length":3982,"composed":{"byte_length":1494,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustCore","sha256":"39667de045e9e08041a2abbce67b4ad34b2fd543810ddcaead7734e9b63a4db0","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustCore.root"},"crate":{"byte_length":4121,"sha256":"84aab30692ec8281062085a409bfc422cd779958bb5c57ef9e59799a768d2501"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustCore","sha256":"07bea78738a9811d70b727909ff01b9598d26dc40de55acffd6b4a074ce3e921","target":"rust-core","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustCore.root"},{"byte_length":3979,"composed":{"byte_length":1489,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustStd","sha256":"6126a77886dd874d6bf08b04bbb8751ed674fe5d48da9d23ad8adb65bb5cf35d","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustStd.root"},"crate":{"byte_length":13039,"sha256":"6d8bc511c7f98f686d36dbda86f3c9a344a7dcdf69021b28be933128dcaaae78"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustStd","sha256":"1090072ad99b2bcb2286660e6c7c93607914d6c1fd085dbedaa730905e0392c6","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustStd.root"}],"root":"Coverage.Main.builders","sha256":"349e54a62e6468f47a44b628e0eba5cde42f1168f53f025062099fe0614eb55f","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.root"},{"byte_length":2718,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17","program":{"byte_length":451,"sha256":"7d925a72d07005baaa5a9371f60e52199072e49139630af3348972394ef0539f"},"renderings":[{"byte_length":2405,"composed":{"byte_length":1756,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustCore","sha256":"ff34e0f60ecb25a8df0e9cdd6ea55a2d1eaa39d85be58afb217a6e84d0e74319","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustCore.root"},"crate":{"byte_length":4003,"sha256":"9ee584eed11f7b4efb99475c2a6b35939dc35dd3f263806aec3ae84479b96685"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustCore","sha256":"e731f4ea963943765dc1bcadd001272cc1ef9ed45a3d927115dd73ed07304fa3","target":"rust-core","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustCore.root"},{"byte_length":2402,"composed":{"byte_length":1751,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustStd","sha256":"d026a8c4626b1d008b3a3cf14e0d6bb0e37a2ac169a2805e0089e6f7ea62a587","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustStd.root"},"crate":{"byte_length":12921,"sha256":"5e115227d6075aa279430638e5ddb6995ac255db0bd608e107a843bd468dde51"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustStd","sha256":"3e24a50eb62d50bc931b3fe6230587afc2fa8599529affc8cb29fb3d6ac551e4","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustStd.root"}],"root":"Coverage.Main.pairs","sha256":"e8ebf71cbfee3620bfcded5121dee9dcb062e0fcf1fb06c4bb91b238ef55af85","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.root"},{"byte_length":10853,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18","program":{"byte_length":1873,"sha256":"b9a631ceb72fc1536c7c26c88ce17cb71084492929763dc601a2e579e3b15596"},"renderings":[{"byte_length":12456,"composed":{"byte_length":1740,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustCore","sha256":"e94a1e44f0e95112801004e5dcc530a3ae5050ee5066621f78370cd3d9c1e814","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustCore.root"},"crate":{"byte_length":5047,"sha256":"2c1e15094b24d3e5c9a0a06315afc8bf4c60341ba27fd1bf252230213141f5fe"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustCore","sha256":"bb67add88f55098060737c659901b10c033bc807d0dd225f558ed95916faefe6","target":"rust-core","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustCore.root"},{"byte_length":12453,"composed":{"byte_length":1735,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustStd","sha256":"d26bc2e0bd2ba2e63b873fc5f1be8d400613b11dc8f8c60eb8c242b691e7b465","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustStd.root"},"crate":{"byte_length":13965,"sha256":"d46d5bf325126545575bdf8963f16739be5cfb777b38c5233acf8ea8c474a576"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustStd","sha256":"21f16872c4806ec4677ddb564f2717225321951c78a1f6baee7d5a79a25b1ff9","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustStd.root"}],"root":"Coverage.Main.higher","sha256":"9667d42d5aeb047ddf894c675edbe23f750b5ad9ed61bf1470f34c2c498355ad","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.root"},{"byte_length":8651,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19","program":{"byte_length":1884,"sha256":"83625b33701e16e8f1014fd8a942ea0ac67a87cefb2ef0f93321f9dbc4bbe943"},"renderings":[{"byte_length":7953,"composed":{"byte_length":1646,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.Compose.RustStd","sha256":"f6e17b1f46610300d39a63e715ba5d11916f7aee688d60bf165988f507b6d2e3","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.Compose.RustStd.root"},"crate":{"byte_length":13607,"sha256":"ffd9d2b0d04acb6874cfa5f2983560a9c24a75e8bbd9f3b2580f84d5a76d7b70"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.RustStd","sha256":"de82b5f0d7bd5ae0a75b2f5f712bcced3eba57fd49737eb62a63b61b48e69686","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.RustStd.root"}],"root":"Coverage.Main.mapped","sha256":"fc407bc552d23c92e96ae366a304a2a46aa87b82b8ee9673ef1f9f1acecc1310","targets":["rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.root"},{"byte_length":4983,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20","program":{"byte_length":999,"sha256":"d80d8fa87a73970b99d0429236be199dba9bdbb4207a8c64505ec3f999bc2775"},"renderings":[{"byte_length":4204,"composed":{"byte_length":1495,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustCore","sha256":"7c87348d83ed3df26db2b0961fee4a9c85b92668e311ca55ef02c90544cd1686","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustCore.root"},"crate":{"byte_length":4179,"sha256":"fcb23d2bf0050b3ce8c890495631aa62147613e0a92836750e7c5fd2bb3b60dd"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustCore","sha256":"2824da984890e52615cb5a756133237cb6fa3fd47c98aaada6be46b9d88c59a3","target":"rust-core","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustCore.root"},{"byte_length":4201,"composed":{"byte_length":1490,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustStd","sha256":"15a979c5121764c9e6018e9279835652f5de3f36b8014b6357d2aa65954f6b0a","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustStd.root"},"crate":{"byte_length":13097,"sha256":"a9de1e3631675db5a707a20a389993cdccd26644956d0ad09e14a25f26b8123f"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustStd","sha256":"81d28073cf2f9561d8059afad16d35fe0bf005c7fed642ed0d4d7030f0345f08","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustStd.root"}],"root":"Coverage.Main.parity","sha256":"752d1a4eb74a04e9e6d3649d3c7d30ad4160a7bfbe8d1302c6356a54e318c38e","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.root"},{"byte_length":6865,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21","program":{"byte_length":2446,"sha256":"ef7c0ba20d049db4524a6ec6561a20d86bd33230f60e21dc733706135be42f2d"},"renderings":[{"byte_length":7321,"composed":{"byte_length":1689,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustCore","sha256":"b646b6bdb3e5a8da11c02d3db34c86b477c7c8e479a35fbcec5c7139af4a33f2","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustCore.root"},"crate":{"byte_length":4385,"sha256":"f4884b32be79ba4577ae148c340ffd389f3ab673bab9b3e0a6151d92a64dac98"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustCore","sha256":"b9ea296a4b026a6e693036f4801f254ee8bf91483fe02c0f06e17b8c6fcbad02","target":"rust-core","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustCore.root"},{"byte_length":7318,"composed":{"byte_length":1684,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustStd","sha256":"021a5f654d52955fd459dd4c931a6012e2164e39b7c43defcd166e6fd01afb7d","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustStd.root"},"crate":{"byte_length":13303,"sha256":"a09d0b574d6829f8ce94552a82e7770388c891bf3591aef3bdb2aa1c80734465"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustStd","sha256":"4034061e38cf183ad421795f371f324a79999c84a4461fbb366518bc050ee709","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustStd.root"}],"root":"Coverage.Prims.fixedSmall","sha256":"44107f458fe79fd79b7ee137d4480e6d5ad597431117fd2b4de29527e8a18bff","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.root"},{"byte_length":5605,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22","program":{"byte_length":1770,"sha256":"c5c4a8ee12a3a426500bb6c4e82af761e1af447511bd597e1bc5dce63970ddaf"},"renderings":[{"byte_length":5884,"composed":{"byte_length":1697,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustCore","sha256":"f7a1cd054dbbee2447699aa7610d060f2aac8115e2ef57941f5747653f88214e","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustCore.root"},"crate":{"byte_length":4285,"sha256":"9ad73a749e8c19c7038a85d6fd571a10e3024158934cfc17d738099d4257e7c7"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustCore","sha256":"833d76ba6af942a3ed740ba21b939bf50eb41ba802f6afec781ee8c5d760ac43","target":"rust-core","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustCore.root"},{"byte_length":5881,"composed":{"byte_length":1692,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustStd","sha256":"bc86d817a42ddc6512bec704218e3fb2b886d8a1d42bc3544823c845f3941b87","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustStd.root"},"crate":{"byte_length":13203,"sha256":"2e31d2ad0160635ba75b00c7c15bc08e71de244c902defb8fddb06175c8752e4"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustStd","sha256":"bded0ce289736e9469cb7c3b5df834e3d7b50da4a1226424843392e94ae6f1c6","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustStd.root"}],"root":"Coverage.Prims.fixedMiddle","sha256":"9033c681e9646581e0456bcd2d891cfc617967ab876ada6cfaa05092176e28d4","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.root"},{"byte_length":8536,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23","program":{"byte_length":3324,"sha256":"046e9276a504b885d2582f97b9c4fb34281d09496a6f649c6c147f6361e56c8d"},"renderings":[{"byte_length":8909,"composed":{"byte_length":1898,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustCore","sha256":"142e968ed269b79010e2d3f1e735153fbded92b5a28d5806021bcceaa1d0075d","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustCore.root"},"crate":{"byte_length":4519,"sha256":"e68ee92c192814f24ef49f678d7b0f10e590262eaac0e5a5edafd2716711b54f"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustCore","sha256":"005d23bc93b19c39579877ca1637b2483793a38378c7ef3752b0772e626dd6ea","target":"rust-core","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustCore.root"},{"byte_length":8906,"composed":{"byte_length":1893,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustStd","sha256":"335df03f45e487f8131a916b8f10b4e520fb61491debd09784c789b5a7684572","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustStd.root"},"crate":{"byte_length":13437,"sha256":"2f8e04183e437e3b85961d1277fa70eec93662dd97eb0e6e4f0d1d1adfc95798"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustStd","sha256":"41ea7efafe195e949c305759ffeeccc6073feea61f1a289b95598b6179b62fe6","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustStd.root"}],"root":"Coverage.Prims.fixedWide","sha256":"28d8ee40d3e53adcac9d9234714669e3e1b2dd202e8641fb8f3305c8e3502096","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.root"},{"byte_length":8690,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24","program":{"byte_length":3494,"sha256":"9ed3cf1ba1de6ddfd0c865acea0ee413b21ac44fb1d556e8eac704b552c3d018"},"renderings":[{"byte_length":9917,"composed":{"byte_length":1900,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustCore","sha256":"36e805272c9705ac0c2f67cd4a41789d73f21fce342a6c2a13903b3f9cdcfaf4","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustCore.root"},"crate":{"byte_length":4562,"sha256":"f594bce05710d6a44ba4db5022a8759b6ac698bed7b389b7e60d820c93373a21"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustCore","sha256":"8b318b839e6106e83479d8338d0d09c5acc03fdbe37f4883edef89c40abf3ee1","target":"rust-core","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustCore.root"},{"byte_length":9914,"composed":{"byte_length":1895,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustStd","sha256":"df8604dd1717336998e60de3ee0ab99a9675933fcdced9e2b6c09cb1f8fd4fe1","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustStd.root"},"crate":{"byte_length":13480,"sha256":"34ed06527b7da3dc36936034ff6c7a0145675fd668c22ed6feafa9a3b418e3bf"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustStd","sha256":"1517a3bfdef06176c5a77916a7176e2dea2d6b7aefb5a73a5db8484b89aa57a2","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustStd.root"}],"root":"Coverage.Prims.bits","sha256":"4dd9fc5f1be4a975f22cb7113c6f2a86e9d544a0a225825a6e798848832b8092","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.root"},{"byte_length":3336,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25","program":{"byte_length":701,"sha256":"6227207e0bebaa6609e8bfedfaffb83e7fcb5e8c11d9ed9caaa35fb65b35766f"},"renderings":[{"byte_length":2932,"composed":{"byte_length":1691,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustCore","sha256":"faf9bf9670345c34689eede7703d8817689855bcfcd18b962fb1168ae93c3e4c","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustCore.root"},"crate":{"byte_length":4072,"sha256":"177164e24d17c1a066fd7038902d01c1f8dfd73c69ed8377af3b1c2db5cc1412"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustCore","sha256":"a9cf2664bd6f0429ad6cf00c32d0ba21ad10d577684e595be0fc84b4b5002831","target":"rust-core","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustCore.root"},{"byte_length":2929,"composed":{"byte_length":1686,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustStd","sha256":"7c4500323690ec2d29b972769cf0664c6c285ed816fe43bcbcd4e2965d7e8ee2","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustStd.root"},"crate":{"byte_length":12990,"sha256":"2f5c6ff9563847b0e68f1b9b206d825a78c81a047a954fd54ab509b3bd79de61"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustStd","sha256":"5a356ee4d983930d3365f6c262f833d817a3df4239d0c119643f685b837297fe","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustStd.root"}],"root":"Coverage.Prims.conversions","sha256":"3358a74860980e13d5efcc751e2e9fad37e161790a5eec7c3bc4642d0e893451","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.root"},{"byte_length":14123,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26","program":{"byte_length":5637,"sha256":"c01fc096fdf4c89e91adb6928197ce32bcb7e42426af0487546f4edc98fd3702"},"renderings":[{"byte_length":16373,"composed":{"byte_length":2029,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.Compose.RustStd","sha256":"8dd64303d88a843106442a62e74cbbf8ae811f10e4ad8b84fae01bfd5ebce407","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.Compose.RustStd.root"},"crate":{"byte_length":14078,"sha256":"64aebfe2ed7b706cea90fb4e7ee5b7630cb43e480aa43f74e6fe9af4c4142601"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.RustStd","sha256":"27d92112a3682294ac0543524cbaed1691c4dd56d9657b92905f10318deefec1","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.RustStd.root"}],"root":"Coverage.Prims.sequences","sha256":"ecf7b27332c34ddde75979829af1f9b3324ebfbd669088974ea114c4e2da3c2a","targets":["rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.root"},{"byte_length":3214,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27","program":{"byte_length":686,"sha256":"6fc888e3f1e9cf5a37f9f68cc01d1a1ff94cc30a552b384155cb811a9d13a526"},"renderings":[{"byte_length":2818,"composed":{"byte_length":1501,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.Compose.RustStd","sha256":"2fd63eb1fa35703f1d6572e9da6667a9763234c9e4200bff279f6a1d98ec35f0","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.Compose.RustStd.root"},"crate":{"byte_length":12956,"sha256":"11b389208a11b50ffd36526d42d3b92b00669a700b8875d53bef97f92efd7c8a"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.RustStd","sha256":"081bf1a2b87899c32b4d09b8293c66be3a3c26cfcfd83d952d1f631fe88453a7","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.RustStd.root"}],"root":"Coverage.Prims.decimals","sha256":"f127b1e25952a8f6ef90fb3b98e741c65da1510e43f27a186b7c3f5bbe86fd17","targets":["rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.root"},{"byte_length":3046,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28","program":{"byte_length":529,"sha256":"a2d6d8d674af0354e10f236b2b6dcab2579a6ff9db94b3a696fb2c0679df7372"},"renderings":[{"byte_length":2791,"composed":{"byte_length":1686,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.Compose.RustStd","sha256":"313df789d85eb4073a4642f780bede0aee529a5a5818664e89d67c91a96daa11","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.Compose.RustStd.root"},"crate":{"byte_length":12933,"sha256":"d0b018bf12ebfd193d45370c9a299fe8448a30481f706e8bcf5a756c78b6359e"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.RustStd","sha256":"c6e3cbca86d9b9872d32bcfa556a3e02920236ae5e183255809cf3579c356dd8","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.RustStd.root"}],"root":"Coverage.Prims.formats","sha256":"d2ea17f53b5bd2d19cb0bc56de1e03286fa73281a589353c2170524050428350","targets":["rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.root"},{"byte_length":11774,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29","program":{"byte_length":4118,"sha256":"54080023d9f656975c8d23e285159c2f80184d9c38941ebdeb9b115207eaea0f"},"renderings":[{"byte_length":14927,"composed":{"byte_length":1712,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.Compose.RustStd","sha256":"d867efce445619789b22af66f895e6fd134986d0c60ce50102ab0a92805e0814","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.Compose.RustStd.root"},"crate":{"byte_length":13981,"sha256":"e4aba3ad1a43ca155a88aec769bcc47479e9e5091944214f2a469ca7b68e7d9c"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.RustStd","sha256":"987cb7e80e851ba83543f8e71b649eed4aa8cac307b9b8d14e569114f13803d4","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.RustStd.root"}],"root":"Coverage.Prims.text","sha256":"8d00056ba8e6243f8b40d0f6a8540b73bb57bad0b023181cac2566785f70d8c6","targets":["rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.root"},{"byte_length":8119,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30","program":{"byte_length":1887,"sha256":"023b87970dcc71c4e8be45aa676e75b9db5753e3da5f8ac416891d595dca8b41"},"renderings":[{"byte_length":7705,"composed":{"byte_length":2793,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.Compose.RustStd","sha256":"55f15d594b43927a1cdd776e107ae6a10a6032e626debfdc111dcbae51bd6592","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.Compose.RustStd.root"},"crate":{"byte_length":13423,"sha256":"7b6d66e610ef88eda88943c88c3322a2c1bf519e41049d16afe53d039cd7033a"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.RustStd","sha256":"454db78e305a6a801594a5f11d27b3021b951c1f6262f20075e9a35267b95199","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.RustStd.root"}],"root":"Coverage.RecRoots.roseTotal","sha256":"75787cad9de6fe71f00a572f775b7d3c357091dd717786916c29143de074f94a","targets":["rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.root"},{"byte_length":12655,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31","program":{"byte_length":2687,"sha256":"0b283960a85e885aef98cffde5a37a5840fe6905cb960332eb57755a9f588e7b"},"renderings":[{"byte_length":15589,"composed":{"byte_length":4165,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.Compose.RustStd","sha256":"f8c71d75f2d0e62c400e3d60fb9b7729de80868f1cbf8df8dbf4c7d003c2beba","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.Compose.RustStd.root"},"crate":{"byte_length":14339,"sha256":"3c3d755be5666a0def8f507f530fa6c1b75ce74ae299363b69cdd7f19b598674"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.RustStd","sha256":"0d41e6c5de61f58cec6c58515f83ef1326961c8c436f62c2a7df442a6a76d8f9","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.RustStd.root"}],"root":"Coverage.RecRoots.syntaxTotal","sha256":"1335a87e9ef007bec1a852a22c6bc6cd6f5f157e8620f3aa70fe35eb8792eddd","targets":["rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.root"},{"byte_length":17328,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32","program":{"byte_length":3120,"sha256":"a30548452b5811cfc83abdc547d7e93bbdfaf6ae193442225eed19b212b84e5d"},"renderings":[{"byte_length":19234,"composed":{"byte_length":1692,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustCore","sha256":"cf926e136dadacdd2b361db139fd917dee9788860e239056ae061b76f62dec36","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustCore.root"},"crate":{"byte_length":5179,"sha256":"595b9659cce79629fb199be239edeba9f908e19c5863ec7fc71ddbea1ca6b16d"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustCore","sha256":"47d0ca085b36ed7ba47079b83062f744469d3c7a3819fdb3dae6c45d25b49a72","target":"rust-core","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustCore.root"},{"byte_length":19231,"composed":{"byte_length":1687,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustStd","sha256":"2630c95d193ff3d31198a4330ac0f9d36fff777e2fd42313f7b472cff4fb1137","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustStd.root"},"crate":{"byte_length":14097,"sha256":"5bde24114f0f63beca1277bf6cd06ea203bd89352590534d5844f6639bbeb943"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustStd","sha256":"c7a25159d2484598814aee7f2efa55a5481c5938952e85eafd70fdccbfeeabc7","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustStd.root"}],"root":"Coverage.RecRoots.wellFounded","sha256":"8d268d6cce014391c5e6c0f5c3cb95d239fc279b8f111f8865df2227adff53d6","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.root"},{"byte_length":15632,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33","program":{"byte_length":2757,"sha256":"696084d3a568dde72c41261e20eb3e6dfc3055d9f56ddb2a9980a5b1eb061f89"},"renderings":[{"byte_length":13569,"composed":{"byte_length":2380,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.Compose.RustStd","sha256":"2b50e219eb9029e76e6c576e6115f6d0f36efe698653282b1f0c5f2e85aa832f","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.Compose.RustStd.root"},"crate":{"byte_length":14222,"sha256":"85ddef0fbc268b258386fd1d552610372cf646edbeda718288d5bc4554a58de0"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.RustStd","sha256":"0c79131f69305cbde053a748d8fafa28fa94d16cf5342fecf2b18b807df01f6f","target":"rust-std","theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.RustStd.root"}],"root":"Coverage.RecRoots.rewrite","sha256":"51c3380ae10932ac7128863db6fa993d3840fe2470ead4cce03ba3d2b7a06445","targets":["rust-std"],"theorem":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.root"}],"spec":"lexlean/preservation/1"} +{"library":{"axioms":["Classical.choice","Quot.sound","propext"],"registry_sha256":"02de6e4be5a6ae43997bacd3713ea587693b8ac66da4aef567463a535a076ff3"},"roots":[{"byte_length":57998,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0","program":{"byte_length":19449,"sha256":"1aadfc9ba4fd60d7060d145ef97656e0bca23924ec77e487808d5faae1ada33d"},"renderings":[{"byte_length":85650,"composed":{"byte_length":9211,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.Compose.RustStd","sha256":"419ae0edf9c6e46a04412ed3cdc38b346d366e6821c841709d5a21c9dabbf5fc","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.Compose.RustStd.root"},"crate":{"byte_length":22556,"sha256":"77ab666847a104f8f578a1f8e741421430e9fed92895817a111f50a95178b620"},"entry":{"function":18,"symbol":"f18"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd","sha256":"2f0f3124d20b6bee44d478c5bb3d811dd163884b6e0ce5b74bfdcc8e0203bba6","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.root"}],"root":"Coverage.Boundary.groveRoot","sha256":"2d4cd7896958ff64ae5a690e2376f15dc1afeb1690ec903d7dd680acac130ef5","targets":["rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.root"},{"byte_length":29473,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1","program":{"byte_length":16945,"sha256":"befbd0f6a81345584eccc0e352073fcc65d585f2ff9b002aad0cfac26a5a426f"},"renderings":[{"byte_length":59928,"composed":{"byte_length":3031,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.Compose.RustStd","sha256":"632937d70ef9c55faaab29c86a96b12aa8324897d39997c4493bcb4995008b56","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.Compose.RustStd.root"},"crate":{"byte_length":19105,"sha256":"5d5216f8cd8580e08122755e5fd0aa617b9ba4b46fd2dcb000f6d7503c307f92"},"entry":{"function":10,"symbol":"f10"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.RustStd","sha256":"5d6bd3c2bb79e50167b36e96c30009b130d7ac67e95d27d62090dea21d2c3508","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.RustStd.root"}],"root":"Coverage.Colls.mapOps","sha256":"0f162d882f04713921281d91ef10184e677b920c805eedd42c6941e4441f80f0","targets":["rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.root"},{"byte_length":13128,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2","program":{"byte_length":4015,"sha256":"db2b0f171e75cff8b9931bc693e039342501c8d43f2d2a653bd29728fe777dc1"},"renderings":[{"byte_length":25017,"composed":{"byte_length":2837,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.Compose.RustStd","sha256":"f12a7d72be14ed87f5e24f19dd0cc265265f91c22a99ed040f419c7e0bd515fe","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.Compose.RustStd.root"},"crate":{"byte_length":15540,"sha256":"014aa5f97db48ae59c8841bf98cd515f65a1be0c24b3fd1095cc48ebb6c83fc1"},"entry":{"function":5,"symbol":"f5"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.RustStd","sha256":"3ae7a08709605a48613c45160648495c106e738f63849b2ce35f2ec87a35223a","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.RustStd.root"}],"root":"Coverage.Colls.mapFolding","sha256":"6b01a7f8de77906af53c50f021e7a16b8ce5c7df289e7469a9b841725ca8cecd","targets":["rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.root"},{"byte_length":26754,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3","program":{"byte_length":16755,"sha256":"ff65cb9f421e37305a20ed392f155a0aabde61713d63520082effd9e2006231d"},"renderings":[{"byte_length":61996,"composed":{"byte_length":2876,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.Compose.RustStd","sha256":"71d3866203167083e419157f3dd187b0d201554f1a5e3d6fae623b24a65ff695","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.Compose.RustStd.root"},"crate":{"byte_length":19344,"sha256":"b735c8c86aaac3de962c4a35440898953b1162fd156ada72eb075744426d87e1"},"entry":{"function":11,"symbol":"f11"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.RustStd","sha256":"01ec780c1426f775a88fcbf1f3a77f10614abedfcb540062f0703d6ff6cb8fe8","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.RustStd.root"}],"root":"Coverage.Colls.setOps","sha256":"593de143e71751c5c589190cc913bd4f626571af7dba5e8a5cb99ae095f870b3","targets":["rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.root"},{"byte_length":13311,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4","program":{"byte_length":4435,"sha256":"48b1d22aff3beb88a3f286056475ac74e9a357ff9dc339c89b802249153cebbd"},"renderings":[{"byte_length":21903,"composed":{"byte_length":2676,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.Compose.RustStd","sha256":"04f3b65238e6a8c3629413217a5d29ebb69567e73a9580b43b923ec71e37ab2b","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.Compose.RustStd.root"},"crate":{"byte_length":15272,"sha256":"cf60ae7366ecb8b9565507fd1247024683dfd01ad6d22c2db0aeb6f250c1b307"},"entry":{"function":6,"symbol":"f6"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.RustStd","sha256":"da225e0b3b2006e0130697c09874ceddb11b5102ace0a54336ada3aef0080651","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.RustStd.root"}],"root":"Coverage.Colls.folds","sha256":"84de4ebe300ef670aa1da13eedeeae1355b92aa472e45142d3af4dc769534042","targets":["rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.root"},{"byte_length":9201,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5","program":{"byte_length":3448,"sha256":"17fa1f466a5d992c3b54152d0a758cd23d38d1b2fda1ef5693cc06700cabe223"},"renderings":[{"byte_length":14771,"composed":{"byte_length":1703,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.Compose.RustStd","sha256":"3d382f711efa9a6aa9475e752d40abdb7cc114c69bf5b0253deb358f5a6e2b12","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.Compose.RustStd.root"},"crate":{"byte_length":14251,"sha256":"b07e6313d5996c7f489f6ff31b6047d7bdd30fac8dc0ab06dd2de5c165773171"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.RustStd","sha256":"0196b5b7bf78469cb4c893a12241de4c60ed41437b58e35309527fbcbac495e6","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.RustStd.root"}],"root":"Coverage.Colls.iterations","sha256":"c067fa980823ad00b4c850d92c72a3f6c84661bc7381f37ad5832d7f88ff354d","targets":["rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.root"},{"byte_length":30366,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6","program":{"byte_length":32854,"sha256":"54b3c6a08367cfc9abac0716d282f9bfd50bcfffd1c1c0a5693bf6e6407145e2"},"renderings":[{"byte_length":153083,"composed":{"byte_length":2965,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.Compose.RustStd","sha256":"8e3c69113468391d3a48152e1b9dafe4c8cc73f8b1ba7bdbfe92f56aa9f0912e","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.Compose.RustStd.root"},"crate":{"byte_length":28628,"sha256":"d53a1fc1f9cf1f4e7366e8dcf3dea4f3e858227e7739718651f7bd74ea86be6f"},"entry":{"function":30,"symbol":"f30"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.RustStd","sha256":"25b12d7896832fcbdb41c5b47d46baf7aa3a4048cfedc93909943e2de6a5e7c9","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.RustStd.root"}],"root":"Coverage.Colls.graphs","sha256":"50dd7e653d7acdcd0e0ee23e1843c3d057d7e4f19eab0e55cefd708cb5a8be11","targets":["rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.root"},{"byte_length":19714,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7","program":{"byte_length":17014,"sha256":"bbf596ebb9eca8da32bc60cf81d5aed9f971a815f74ed865dc65f5b5acd7c475"},"renderings":[{"byte_length":82886,"composed":{"byte_length":2743,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.Compose.RustStd","sha256":"359be862d81889e90e16b98e26aa527967052998da2b11e5cebbe1dcb89493a1","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.Compose.RustStd.root"},"crate":{"byte_length":21438,"sha256":"b7f9d495a96503043078bb00af86cac5d22f3a92bef084ff7b8d41e5a157014e"},"entry":{"function":15,"symbol":"f15"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.RustStd","sha256":"375663338dc41ed354dfc3a42f503471728d9f885b5afabcc88f95d278b1d357","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.RustStd.root"}],"root":"Coverage.Colls.stringGraph","sha256":"edc8b971eb2dcfccb7f6185d4de8dde82830165c06c693e46ad8ec10595b71ef","targets":["rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.root"},{"byte_length":46481,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8","program":{"byte_length":22112,"sha256":"fc3e6614b68e0f0cf2e4fcd7831a0a8ac5a84ade2a42c08eabcd0d2ddc8abe3f"},"renderings":[{"byte_length":117400,"composed":{"byte_length":6533,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.Compose.RustStd","sha256":"1fd2fec2f4299ba1728d87c47baf8fcf140a077edee604eed6ee6801681bfa0d","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.Compose.RustStd.root"},"crate":{"byte_length":26043,"sha256":"bf8749dca9d3b9f015f7261c88b60dea927138244a7b63985e6966ad4147d00f"},"entry":{"function":13,"symbol":"f13"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.RustStd","sha256":"9d3285212b12ea2d0ac1244128d4e70fafe4b66a762550d5714d1dab03f2c515","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.RustStd.root"}],"root":"Coverage.Colls.keyTypes","sha256":"5de3fc3c9e00d1473d236938d07ecd489876f3e90575df7a9b0f1d3ccf80d746","targets":["rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.root"},{"byte_length":9008,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9","program":{"byte_length":3996,"sha256":"c7a7def9b6c20967b79d34ac878ad3bd945e7e8a5f7ba59728f515c9495f8d2c"},"renderings":[{"byte_length":5833,"composed":{"byte_length":1692,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.Compose.RustStd","sha256":"d9677887d10d3293841d6aa901720a5abb3ace05a29bee532c17c914fc85be81","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.Compose.RustStd.root"},"crate":{"byte_length":13175,"sha256":"a33503946fd052ef363ed726a5ef3cab80d9029bf159effcb5ca3ee3f234125d"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.RustStd","sha256":"3676a6cb813da0f9898d87c92b67b97df686ea148c8b1f378e50a789496e25c5","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.RustStd.root"}],"root":"Coverage.Colls.literals","sha256":"35af10eedf1b10db55ec810f6cef1e590869c6e87c5e5467af638db33ecf8252","targets":["rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.root"},{"byte_length":7971,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10","program":{"byte_length":1746,"sha256":"7327b0d3e0e2b92c9e324f0b8f38bf8b9a4866af1fab582ce3cb3471b3faac1f"},"renderings":[{"byte_length":13257,"composed":{"byte_length":1692,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustCore","sha256":"258932b8b48afcda77afa9a9a68f1b841d53d323db7415b15f80a777b0ca0630","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustCore.root"},"crate":{"byte_length":4767,"sha256":"af030ef915059e74c7c2a7439cdd2f3e87f0ff1e956993fbdc5ad7c010e3c87a"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustCore","sha256":"0f9944d05442cfe31efa6e2a10a70944500592393a43af8a41210b4992c0fafd","target":"rust-core","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustCore.root"},{"byte_length":13254,"composed":{"byte_length":1687,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustStd","sha256":"c5125c1a95ae60a232564ea9292758bbd86cf044984a53ab2d0a3ce58fcf6918","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustStd.root"},"crate":{"byte_length":13685,"sha256":"ee0fea13fd0bcd6a8f38ac930442b23f7dcf051f188f1661a7305f3d1e9b69a5"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustStd","sha256":"d67a44bf837ba625bfbe8e4fefaca8aa451010a15ce840633755c4fa2bccb3a7","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustStd.root"}],"root":"Coverage.Main.natOps","sha256":"fd9bb2d343a492f8f83dc910e38a1b6c95e6290728124daa079294e2b1f111f2","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.root"},{"byte_length":4871,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11","program":{"byte_length":772,"sha256":"6f167a8d46f8923a927e311666264729d573c3b8593155abef2114631b1b0283"},"renderings":[{"byte_length":6973,"composed":{"byte_length":1692,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustCore","sha256":"d9b575a9b17f8516e1bb8c0890a6a48afbf9eeb23f5e5c3fec016b313ad76b58","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustCore.root"},"crate":{"byte_length":4340,"sha256":"1fd22968eef8b396fb2c0032d03104ae83717176fc2919b9876d5a2d7a73e0e9"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustCore","sha256":"da893c8b939bb02aa7d2d4041c89010829706054c813ab2854e81b466cb9aa0d","target":"rust-core","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustCore.root"},{"byte_length":6970,"composed":{"byte_length":1687,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustStd","sha256":"9e9d83de829ee79d56f031ff2f60de7ef3a9978d74c3c6dc4983208935a666dd","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustStd.root"},"crate":{"byte_length":13258,"sha256":"35a8c124f4644cb2f70ee53bb1a4766ebb427587204f1c193338913fdb89fd1c"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustStd","sha256":"03004d4f04bc45f184acf56b9d7fe6e6ad1927ead4d5a4fcdecf4fee534f0bad","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustStd.root"}],"root":"Coverage.Main.intOps","sha256":"a14b99fd57ae3e6dcd23f3877c1d513230440e554d66daadeb0e4866c402f93b","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.root"},{"byte_length":9164,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12","program":{"byte_length":1624,"sha256":"05293367c4a6e86e29d41974b883426e97957fbbc411382de01e1da3e41879c8"},"renderings":[{"byte_length":8984,"composed":{"byte_length":2728,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustCore","sha256":"6781bb75eb888b39baf6e1841723792bb1101f5fde6e454918727ebee7c71d5c","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustCore.root"},"crate":{"byte_length":4616,"sha256":"9a588c5405d0805e8b71a3c168ecca7d5a7941a10b3707e884a8200765963074"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustCore","sha256":"abd0e623a375dff1d0841308a1cc450e9f8753963796c6c4d0763aceeb1e7445","target":"rust-core","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustCore.root"},{"byte_length":8981,"composed":{"byte_length":2720,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustStd","sha256":"1a0eb0cf473fd2f6b3d35826c62185575aca314ffa6644c28b28844d7de184a3","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustStd.root"},"crate":{"byte_length":13534,"sha256":"57df19a47ce392a82bdfe801f4e334b35198361a066b7dd6063f679c07bebbe5"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustStd","sha256":"2ba757dbb6396a2a4922b3d4ed28ec83b27dab486a68b246f48e4375b4c446af","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustStd.root"}],"root":"Coverage.Main.shapes","sha256":"e9aacbedb985c16fdf02ce6a2e86aac81867062b2c95f12ce8b504ca58037e1c","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.root"},{"byte_length":6637,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13","program":{"byte_length":1517,"sha256":"43b6eedb7829b3598a29348c532e07d70295631eb2650df5de98d38c3daccb35"},"renderings":[{"byte_length":7237,"composed":{"byte_length":2336,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.Compose.RustStd","sha256":"655e8b53c05a2ed2600d167ba79eeb26105bc83509a14f41b33b4226fd83c2af","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.Compose.RustStd.root"},"crate":{"byte_length":13479,"sha256":"92cec27dd560e7ca0a9f5daa440567b51beb597b69ef56f0678a55f0729d1198"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.RustStd","sha256":"db4d216f525ed6ee29ed1b2bf65bfe1c0460fa5f4ebae4e03f48d3af365c1d3e","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.RustStd.root"}],"root":"Coverage.Main.treeTotal","sha256":"6e3c7506c5d36731ca9f032dbc04c6ac24cd717fbcb841222a9f3831d27f6122","targets":["rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.root"},{"byte_length":6646,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14","program":{"byte_length":1628,"sha256":"f6c459c7f8163810d05bc43460cd394578f415d182096e2ad51dae6252d4f656"},"renderings":[{"byte_length":7066,"composed":{"byte_length":3771,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustCore","sha256":"7defeba83b9601076dfc97c70f1c76b82fe5bb048e600b1a73206c1142d8e37d","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustCore.root"},"crate":{"byte_length":4685,"sha256":"73a3e27a1326d458fa653a2a3b7057649a690cfc50441d306fc0456004f12045"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore","sha256":"8baca18b75472b8993355ebb9481046ca457ab97790932958c630253b5eb90e0","target":"rust-core","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore.root"},{"byte_length":7063,"composed":{"byte_length":3757,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustStd","sha256":"86accb70b2610c3bd548aa4d2db5e4a6391e1ea418094eb892d699d9f017a2b7","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustStd.root"},"crate":{"byte_length":13603,"sha256":"4b8bab9cd36b1b9026cb5992a83d73f087c3a70988458b0e1f559b5e0d15d812"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd","sha256":"3e2394ab1e0c96458c65b015b186a986b824c9f78ccd0eff833bb2d9bb968458","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd.root"}],"root":"Coverage.Main.records","sha256":"0b16313c7fec33bae382ff4ad346224c446e062357604164d1d40906d9251617","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.root"},{"byte_length":5198,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15","program":{"byte_length":989,"sha256":"1817e8488f6542ec7a9c65ee73a26b9b2ce35ef18dad904d897c9dded6e3cbf9"},"renderings":[{"byte_length":5464,"composed":{"byte_length":2095,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustCore","sha256":"b413880c23025d9a02ca5a05febab8f67223ff32be1635d74db6b36d67947df9","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustCore.root"},"crate":{"byte_length":4417,"sha256":"31aa7ca5ef4e02642fd2c913c93293b098b0b55555ebd261df0377b68180139e"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustCore","sha256":"5546f8954a090f8feb70869bd3a860488a9f666274fa549b2d8e275b6576ecae","target":"rust-core","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustCore.root"},{"byte_length":5461,"composed":{"byte_length":2090,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustStd","sha256":"48290e6bd0260ddf18024c3e96ffbc6a0028ef3a7ffca40baeffdeb6ea470804","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustStd.root"},"crate":{"byte_length":13335,"sha256":"44fa70d0448251f98e8fdef3403a5990d6a42239304a80f10cb6830960f7268d"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustStd","sha256":"1d2c79a0276555c786be2e3d7db35a006fe9cfd15f91646c768f630a49b7c922","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustStd.root"}],"root":"Coverage.Main.options","sha256":"a56c6af5e1ac1f0eb2477446baaa5a7cfe0819d8fa1691035ab287cdf1da12f7","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.root"},{"byte_length":4914,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16","program":{"byte_length":1264,"sha256":"234deee526474348f12566f97e315f4a79becf0607138d82ae06f555a4d3f2db"},"renderings":[{"byte_length":3982,"composed":{"byte_length":1494,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustCore","sha256":"f736ba1939a28efcef3854d9486a24aca410015448b68133d007d60afd419901","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustCore.root"},"crate":{"byte_length":4121,"sha256":"84aab30692ec8281062085a409bfc422cd779958bb5c57ef9e59799a768d2501"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustCore","sha256":"13bacf9687f4c2d955f2f2a0ccf0c3e5e7fe4670ed051a1d64c50d46e207399b","target":"rust-core","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustCore.root"},{"byte_length":3979,"composed":{"byte_length":1489,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustStd","sha256":"5227e18e9ba82c5630847efd5f74bdd3532cc315c7e779dd0e2753101a6c5228","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustStd.root"},"crate":{"byte_length":13039,"sha256":"6d8bc511c7f98f686d36dbda86f3c9a344a7dcdf69021b28be933128dcaaae78"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustStd","sha256":"d787f57ece61d856d4ca20e4beb66dc4c3cdb75dbe70aff24f12c88c8bb2e499","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustStd.root"}],"root":"Coverage.Main.builders","sha256":"a1cbab97afbb01feba0fe7d7e5772463515f8642e8f289adf97b505c231f4f19","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.root"},{"byte_length":2718,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17","program":{"byte_length":451,"sha256":"7d925a72d07005baaa5a9371f60e52199072e49139630af3348972394ef0539f"},"renderings":[{"byte_length":2405,"composed":{"byte_length":1756,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustCore","sha256":"eab151ba5536f5718d38f3a9a1fb901a588ee33b1076ee3297ecbe3a208822cb","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustCore.root"},"crate":{"byte_length":4003,"sha256":"9ee584eed11f7b4efb99475c2a6b35939dc35dd3f263806aec3ae84479b96685"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustCore","sha256":"606d9d1cbf94fe96526c5980956d23d01c386acc03a12fb92fb259a4d42274c5","target":"rust-core","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustCore.root"},{"byte_length":2402,"composed":{"byte_length":1751,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustStd","sha256":"cc257388f3ca60bdfdbbffc517286920889c40c3998844e78b7a0e9390f0a0cc","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustStd.root"},"crate":{"byte_length":12921,"sha256":"5e115227d6075aa279430638e5ddb6995ac255db0bd608e107a843bd468dde51"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustStd","sha256":"7bd129bbf60c59bb719fa14d2fd6e0c25f7d329628d95262ff3c820c03803b5d","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustStd.root"}],"root":"Coverage.Main.pairs","sha256":"b0a65d91ed1af5f9393a25e8605ebbdcf3a6a874e45d7a8a03af771b97bee66e","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.root"},{"byte_length":10732,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18","program":{"byte_length":1873,"sha256":"b9a631ceb72fc1536c7c26c88ce17cb71084492929763dc601a2e579e3b15596"},"renderings":[{"byte_length":12456,"composed":{"byte_length":1740,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustCore","sha256":"14bb37870bedc8667cd6f48ece720894247c45f4ef5a8e5825eb74823d5efade","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustCore.root"},"crate":{"byte_length":5047,"sha256":"2c1e15094b24d3e5c9a0a06315afc8bf4c60341ba27fd1bf252230213141f5fe"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustCore","sha256":"e770e7ffc94631f7e03a23bec660c000e48db3641dc4de830cc17b8976dcf40d","target":"rust-core","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustCore.root"},{"byte_length":12453,"composed":{"byte_length":1735,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustStd","sha256":"d9e6f217789c9de7a9dbf68daa6aa283a531b78ad2619d34fce9d535bfe4f22e","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustStd.root"},"crate":{"byte_length":13965,"sha256":"d46d5bf325126545575bdf8963f16739be5cfb777b38c5233acf8ea8c474a576"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustStd","sha256":"441f1b27b2b298a2f6b4c63f73782f68ad81db458a40c05edd118c2e7dbb3e9c","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustStd.root"}],"root":"Coverage.Main.higher","sha256":"dc62d80356a51bf4541e4ba86c945e01ecdc19da1fc1285bcc7c57afa1061341","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.root"},{"byte_length":8621,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19","program":{"byte_length":1884,"sha256":"83625b33701e16e8f1014fd8a942ea0ac67a87cefb2ef0f93321f9dbc4bbe943"},"renderings":[{"byte_length":7953,"composed":{"byte_length":1646,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.Compose.RustStd","sha256":"92694b7c8b2bdc8356097b29c684e5395d1b88017b9261af5898e421269aaf3a","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.Compose.RustStd.root"},"crate":{"byte_length":13607,"sha256":"ffd9d2b0d04acb6874cfa5f2983560a9c24a75e8bbd9f3b2580f84d5a76d7b70"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.RustStd","sha256":"dc0b83cb17cb5b2f374511a546ab1618c43933ce11474293eeb52fb58366bbff","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.RustStd.root"}],"root":"Coverage.Main.mapped","sha256":"75628107c85803c6d0b1a0280edee2f68813dc5ba60f6155a44913dd7b8975d5","targets":["rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.root"},{"byte_length":4983,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20","program":{"byte_length":999,"sha256":"d80d8fa87a73970b99d0429236be199dba9bdbb4207a8c64505ec3f999bc2775"},"renderings":[{"byte_length":4204,"composed":{"byte_length":1495,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustCore","sha256":"fe65a62e6cbde53cc01ddb0be566e054d44e6c6ee9c3094dcc2c8803284d2bb3","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustCore.root"},"crate":{"byte_length":4179,"sha256":"fcb23d2bf0050b3ce8c890495631aa62147613e0a92836750e7c5fd2bb3b60dd"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustCore","sha256":"aa4a65366ec24fea8e281896db08e459c5c93b893a5453cc60b55673d199837e","target":"rust-core","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustCore.root"},{"byte_length":4201,"composed":{"byte_length":1490,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustStd","sha256":"a7166e721bcaf9c168493944d4f9b7c55a2b1732023186d6bda08f7d1a888529","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustStd.root"},"crate":{"byte_length":13097,"sha256":"a9de1e3631675db5a707a20a389993cdccd26644956d0ad09e14a25f26b8123f"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustStd","sha256":"0b96eb9c0b29481bb15d51a41450f77eeeeac4436a5f3c9070af887bff599033","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustStd.root"}],"root":"Coverage.Main.parity","sha256":"704a53cb5f626f391fe15ab313d71ae3ce93d7ac5fe929fc88d90dc278a4206d","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.root"},{"byte_length":6865,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21","program":{"byte_length":2446,"sha256":"ef7c0ba20d049db4524a6ec6561a20d86bd33230f60e21dc733706135be42f2d"},"renderings":[{"byte_length":7321,"composed":{"byte_length":1689,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustCore","sha256":"d56fddd42bcd7d3eb98b06b18b937d65380e126de8c753d25c22c215b9883e72","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustCore.root"},"crate":{"byte_length":4385,"sha256":"f4884b32be79ba4577ae148c340ffd389f3ab673bab9b3e0a6151d92a64dac98"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustCore","sha256":"fe8982842c7ea52cf48a2207f5d1d7389b63cbc04115d36c9bf6d876b170be38","target":"rust-core","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustCore.root"},{"byte_length":7318,"composed":{"byte_length":1684,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustStd","sha256":"fd6c7e858ee9d013d78f307be49f76c803e010dc2defc96d9b85c1f7d6d692fa","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustStd.root"},"crate":{"byte_length":13303,"sha256":"a09d0b574d6829f8ce94552a82e7770388c891bf3591aef3bdb2aa1c80734465"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustStd","sha256":"a3194ee1543ff948efde9146cdba8cbab246854a6578cb86a483f46d224fea50","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustStd.root"}],"root":"Coverage.Prims.fixedSmall","sha256":"5a5aa39f400ebd4a7fb79bff24c76c9975760962f20e8db8e37b5cf61193f5ec","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.root"},{"byte_length":5605,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22","program":{"byte_length":1770,"sha256":"c5c4a8ee12a3a426500bb6c4e82af761e1af447511bd597e1bc5dce63970ddaf"},"renderings":[{"byte_length":5884,"composed":{"byte_length":1697,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustCore","sha256":"971914a3852fce7ca3a704fd93955779468add5147df5f365817fd252e810337","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustCore.root"},"crate":{"byte_length":4285,"sha256":"9ad73a749e8c19c7038a85d6fd571a10e3024158934cfc17d738099d4257e7c7"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustCore","sha256":"f1a23cf57af8e883a37549547fe243dba421286c843e82e2f6ee0dffc54c35de","target":"rust-core","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustCore.root"},{"byte_length":5881,"composed":{"byte_length":1692,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustStd","sha256":"94a4dfd41435db376d169f71db7db01867ac5112910d703f214f22d28a429ab8","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustStd.root"},"crate":{"byte_length":13203,"sha256":"2e31d2ad0160635ba75b00c7c15bc08e71de244c902defb8fddb06175c8752e4"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustStd","sha256":"f9e60c9fafeb710ac67957a7bfed7e91b92c82778a4f1c42150bfb1e0eb1c50f","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustStd.root"}],"root":"Coverage.Prims.fixedMiddle","sha256":"29ad43bf01f7992b9a8cbfc14e49f8b46d53c1945bf1627d49899de56d531535","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.root"},{"byte_length":8520,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23","program":{"byte_length":3324,"sha256":"046e9276a504b885d2582f97b9c4fb34281d09496a6f649c6c147f6361e56c8d"},"renderings":[{"byte_length":8909,"composed":{"byte_length":1898,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustCore","sha256":"e7e71bfdeaefdc64c1c0b3a0e1ef520128cfaed71792fedae5ef7a152980677c","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustCore.root"},"crate":{"byte_length":4519,"sha256":"e68ee92c192814f24ef49f678d7b0f10e590262eaac0e5a5edafd2716711b54f"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustCore","sha256":"7f495e5ac98a6d42a3628cb583f42f568a3a8b2bed185d565c8d8e5b9a5df756","target":"rust-core","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustCore.root"},{"byte_length":8906,"composed":{"byte_length":1893,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustStd","sha256":"5182707781e35c9f2d093403e5fb31edd37ff101555f869bf4d70807a230e658","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustStd.root"},"crate":{"byte_length":13437,"sha256":"2f8e04183e437e3b85961d1277fa70eec93662dd97eb0e6e4f0d1d1adfc95798"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustStd","sha256":"0fe458727148a95149c5b13c71bed8201ee8d813dbdf4ea23ae9d0f61dc390e9","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustStd.root"}],"root":"Coverage.Prims.fixedWide","sha256":"22bb8ffffbca879a73514774aa9981cd770d76016637683dbcd274d4d44622f7","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.root"},{"byte_length":8690,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24","program":{"byte_length":3494,"sha256":"9ed3cf1ba1de6ddfd0c865acea0ee413b21ac44fb1d556e8eac704b552c3d018"},"renderings":[{"byte_length":9917,"composed":{"byte_length":1900,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustCore","sha256":"3b6742788c97e22d477bb37c57d44f93c4ae86ba3419e7095a96dd0441f10360","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustCore.root"},"crate":{"byte_length":4562,"sha256":"f594bce05710d6a44ba4db5022a8759b6ac698bed7b389b7e60d820c93373a21"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustCore","sha256":"4576710c2ed9a3a6271a4e5aeca706278d7d0179854581f032239e1bac029d29","target":"rust-core","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustCore.root"},{"byte_length":9914,"composed":{"byte_length":1895,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustStd","sha256":"80827d5792f79686c3b41ba46b345a243c2a75cd42c3c52b7c257ed3df560b11","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustStd.root"},"crate":{"byte_length":13480,"sha256":"34ed06527b7da3dc36936034ff6c7a0145675fd668c22ed6feafa9a3b418e3bf"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustStd","sha256":"3ec0ed95fd8bf3ad60bb32e6445b89b11732988cd3232c369840d5297089d019","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustStd.root"}],"root":"Coverage.Prims.bits","sha256":"871aec5bc2ad33f1350c7461b416e38916a754216e03ae190ddc5aabc45bef6c","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.root"},{"byte_length":3336,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25","program":{"byte_length":701,"sha256":"6227207e0bebaa6609e8bfedfaffb83e7fcb5e8c11d9ed9caaa35fb65b35766f"},"renderings":[{"byte_length":2932,"composed":{"byte_length":1691,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustCore","sha256":"047d35f941f3317df87a84a881e605084e56dbbc9b5a1cd80d1153ca87d55550","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustCore.root"},"crate":{"byte_length":4072,"sha256":"177164e24d17c1a066fd7038902d01c1f8dfd73c69ed8377af3b1c2db5cc1412"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustCore","sha256":"6faf5cb1a92b8565eb5ae9ec01f619d0e27487db22db7a83b49c2b37caa0128e","target":"rust-core","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustCore.root"},{"byte_length":2929,"composed":{"byte_length":1686,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustStd","sha256":"8b32681b89ed5d23ba10549fe87957b84140f64e1cad1ccb538a0f95878eca80","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustStd.root"},"crate":{"byte_length":12990,"sha256":"2f5c6ff9563847b0e68f1b9b206d825a78c81a047a954fd54ab509b3bd79de61"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustStd","sha256":"7bff75730e3fe6bf0fc743f9ac9364f4659501a95d38ff5944b8f4a131cf60a9","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustStd.root"}],"root":"Coverage.Prims.conversions","sha256":"926186ef65a6a27d5eb56dbbdf45d3625c9941e35c203af22da9dbbdff184a06","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.root"},{"byte_length":14059,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26","program":{"byte_length":5637,"sha256":"c01fc096fdf4c89e91adb6928197ce32bcb7e42426af0487546f4edc98fd3702"},"renderings":[{"byte_length":16373,"composed":{"byte_length":2029,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.Compose.RustStd","sha256":"63a1ef3ebefa21a74c1263cce22f5648de62027dd9a0decac4c3884e94ddc3fa","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.Compose.RustStd.root"},"crate":{"byte_length":14078,"sha256":"64aebfe2ed7b706cea90fb4e7ee5b7630cb43e480aa43f74e6fe9af4c4142601"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.RustStd","sha256":"9380d2c345d005dcf1bbe687ac791ed4b017347379a159500cc9e5b77a7b8f17","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.RustStd.root"}],"root":"Coverage.Prims.sequences","sha256":"29214449be68a0ec8fdf34ffbe0ed780080cc921881c504140a13ecd2c146ee0","targets":["rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.root"},{"byte_length":3214,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27","program":{"byte_length":686,"sha256":"6fc888e3f1e9cf5a37f9f68cc01d1a1ff94cc30a552b384155cb811a9d13a526"},"renderings":[{"byte_length":2818,"composed":{"byte_length":1501,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.Compose.RustStd","sha256":"16b26e5fc5e718190e088cdd934178af72415e017e5eab9dbdd334fec97519fe","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.Compose.RustStd.root"},"crate":{"byte_length":12956,"sha256":"11b389208a11b50ffd36526d42d3b92b00669a700b8875d53bef97f92efd7c8a"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.RustStd","sha256":"36bf450c9c4cc89102df7d70f39b4340900f4d67c14139b78bf5eedaa1c4f83a","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.RustStd.root"}],"root":"Coverage.Prims.decimals","sha256":"dac60b1f4de636d41a386ab337e760892eeeeb96cdee6b8f3067095c3ff9961f","targets":["rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.root"},{"byte_length":3046,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28","program":{"byte_length":529,"sha256":"a2d6d8d674af0354e10f236b2b6dcab2579a6ff9db94b3a696fb2c0679df7372"},"renderings":[{"byte_length":2791,"composed":{"byte_length":1686,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.Compose.RustStd","sha256":"ddeb47fc93ae7e0afe58aec05bbb3d9ea71e5d318979ce264f2afe4c4e6e813a","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.Compose.RustStd.root"},"crate":{"byte_length":12933,"sha256":"d0b018bf12ebfd193d45370c9a299fe8448a30481f706e8bcf5a756c78b6359e"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.RustStd","sha256":"eb8d4fef86968ff661e842a7f25a786ef121db5b3a507d76facaf3aae3726814","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.RustStd.root"}],"root":"Coverage.Prims.formats","sha256":"b92082173c18e78378286c29bcc1460552def001cc971ecc7f854a14ca0920a9","targets":["rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.root"},{"byte_length":11694,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29","program":{"byte_length":4118,"sha256":"54080023d9f656975c8d23e285159c2f80184d9c38941ebdeb9b115207eaea0f"},"renderings":[{"byte_length":14927,"composed":{"byte_length":1712,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.Compose.RustStd","sha256":"a6be5d877a8f98e358b73e504bcb1e6ce793f0a6605c89da15bb262b8a727042","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.Compose.RustStd.root"},"crate":{"byte_length":13981,"sha256":"e4aba3ad1a43ca155a88aec769bcc47479e9e5091944214f2a469ca7b68e7d9c"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.RustStd","sha256":"31a07421d76a365f23bc7e830f64b6bb68ea0265d93eadfeb4ddc8c4747e0751","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.RustStd.root"}],"root":"Coverage.Prims.text","sha256":"f9d030dce3ca98ebeb4c8b64ebd89c371bb74954b4190640f6a27740aed9eec0","targets":["rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.root"},{"byte_length":8119,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30","program":{"byte_length":1887,"sha256":"023b87970dcc71c4e8be45aa676e75b9db5753e3da5f8ac416891d595dca8b41"},"renderings":[{"byte_length":7705,"composed":{"byte_length":2793,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.Compose.RustStd","sha256":"eea715681ae2051e0b5a951041fb2863a949da4d0c88443835fdb8064635e323","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.Compose.RustStd.root"},"crate":{"byte_length":13423,"sha256":"7b6d66e610ef88eda88943c88c3322a2c1bf519e41049d16afe53d039cd7033a"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.RustStd","sha256":"6215e0dcb2b26c700d468cb2015426101bd0d1ccafa483d5f8cebcc0f191359c","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.RustStd.root"}],"root":"Coverage.RecRoots.roseTotal","sha256":"c93bba025d2ffc40b0d0263db95c23f2a43ab7b1a0dffc54ed625b3f3729ff29","targets":["rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.root"},{"byte_length":12655,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31","program":{"byte_length":2687,"sha256":"0b283960a85e885aef98cffde5a37a5840fe6905cb960332eb57755a9f588e7b"},"renderings":[{"byte_length":15589,"composed":{"byte_length":4165,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.Compose.RustStd","sha256":"7ee6401c353d75668c04337d639f116923cf1ee1e70cd441ca845885dbeb578c","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.Compose.RustStd.root"},"crate":{"byte_length":14339,"sha256":"3c3d755be5666a0def8f507f530fa6c1b75ce74ae299363b69cdd7f19b598674"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd","sha256":"65c3ab7cc3777dfbd2a5dde4ecbfa315bd0159398a37f53ca6ac18580d2f63f6","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd.root"}],"root":"Coverage.RecRoots.syntaxTotal","sha256":"f2e2ff09ec0fb6a8bec1137c59a14fa61098b1fdc6c6ed71f0809f061c41cd5b","targets":["rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.root"},{"byte_length":17232,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32","program":{"byte_length":3120,"sha256":"a30548452b5811cfc83abdc547d7e93bbdfaf6ae193442225eed19b212b84e5d"},"renderings":[{"byte_length":19234,"composed":{"byte_length":1692,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustCore","sha256":"569609b6e6bad56eba1c47bb2a1e1c6e4c22df7ca0d28d57e8370d6aeafeeb85","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustCore.root"},"crate":{"byte_length":5179,"sha256":"595b9659cce79629fb199be239edeba9f908e19c5863ec7fc71ddbea1ca6b16d"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustCore","sha256":"0145fa1c1d0990b9753e2280db51a4015ac78903c1029722ceb62bdd4b744439","target":"rust-core","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustCore.root"},{"byte_length":19231,"composed":{"byte_length":1687,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustStd","sha256":"c366ffee68e4189e8bce3cfc0a9ead90efc86c270a9255366e01eb598ec55f58","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustStd.root"},"crate":{"byte_length":14097,"sha256":"5bde24114f0f63beca1277bf6cd06ea203bd89352590534d5844f6639bbeb943"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustStd","sha256":"efd68b89f970aad9fb91d8f5825be21689face538184a06b70fd867d1b1954eb","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustStd.root"}],"root":"Coverage.RecRoots.wellFounded","sha256":"2a6d5003e86d7016d318fd613c94bc0f3fa849867c548ff99f8c295e6bb118a4","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.root"},{"byte_length":15632,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33","program":{"byte_length":2757,"sha256":"696084d3a568dde72c41261e20eb3e6dfc3055d9f56ddb2a9980a5b1eb061f89"},"renderings":[{"byte_length":13569,"composed":{"byte_length":2380,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.Compose.RustStd","sha256":"1005e41716e075f461baf63e083e559adcfa581d480594302fee1468286196b1","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.Compose.RustStd.root"},"crate":{"byte_length":14222,"sha256":"85ddef0fbc268b258386fd1d552610372cf646edbeda718288d5bc4554a58de0"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.RustStd","sha256":"59da913eff6542cc10a2518b065c10711e2867ca219ce8bd529d358f7c242aa8","target":"rust-std","theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.RustStd.root"}],"root":"Coverage.RecRoots.rewrite","sha256":"17387fd1f9efa39a1ae920c30bec29657793d187f585985be41b1ce8bec6b9d4","targets":["rust-std"],"theorem":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.root"}],"spec":"lexlean/preservation/1"} diff --git a/examples/production-coverage/expected/verify/probe/LexLeanProbe.P6cddd56cf041af764eeefdf9e95c897e.lean b/examples/production-coverage/expected/verify/probe/LexLeanProbe.Pe371869b9b3ca32388daafe8348a6ca5.lean similarity index 100% rename from examples/production-coverage/expected/verify/probe/LexLeanProbe.P6cddd56cf041af764eeefdf9e95c897e.lean rename to examples/production-coverage/expected/verify/probe/LexLeanProbe.Pe371869b9b3ca32388daafe8348a6ca5.lean diff --git a/examples/production-coverage/expected/verify/probe/process.json b/examples/production-coverage/expected/verify/probe/process.json index 827555dec..453238160 100644 --- a/examples/production-coverage/expected/verify/probe/process.json +++ b/examples/production-coverage/expected/verify/probe/process.json @@ -1 +1 @@ -{"argv":["env","lean","$STAGING/probe/LexLeanProbe.P6cddd56cf041af764eeefdf9e95c897e.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.P6cddd56cf041af764eeefdf9e95c897e","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} +{"argv":["env","lean","$STAGING/probe/LexLeanProbe.Pe371869b9b3ca32388daafe8348a6ca5.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.Pe371869b9b3ca32388daafe8348a6ca5","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/lean/LexLeanRuntime.Collections.json b/examples/production-coverage/expected/verify/process/lean/LexLeanRuntime.Collections.json new file mode 100644 index 000000000..75248f178 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/lean/LexLeanRuntime.Collections.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/lean-src","-o","$STAGING/oleans/LexLeanRuntime/Collections.olean","$STAGING/lean-src/LexLeanRuntime/Collections.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Collections","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/lean/LexLeanRuntime.Portable.json b/examples/production-coverage/expected/verify/process/lean/LexLeanRuntime.Portable.json new file mode 100644 index 000000000..1ce5b3a39 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/lean/LexLeanRuntime.Portable.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/lean-src","-o","$STAGING/oleans/LexLeanRuntime/Portable.olean","$STAGING/lean-src/LexLeanRuntime/Portable.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Portable","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.Compose.RustStd.json deleted file mode 100644 index 87887439e..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.json deleted file mode 100644 index 6777a5a01..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.json deleted file mode 100644 index 97077f03c..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.Compose.RustStd.json deleted file mode 100644 index f5bde7cb1..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.RustStd.json deleted file mode 100644 index abd9ec5bd..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.json deleted file mode 100644 index df0a87380..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustCore.json deleted file mode 100644 index 1570d0b15..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustStd.json deleted file mode 100644 index f59059edd..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustCore.json deleted file mode 100644 index 70fe7b539..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustStd.json deleted file mode 100644 index 0fba45b71..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.json deleted file mode 100644 index a1dfa4e8b..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustCore.json deleted file mode 100644 index 5e2f85e69..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustStd.json deleted file mode 100644 index 8a8272343..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustCore.json deleted file mode 100644 index 394cd2b87..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustStd.json deleted file mode 100644 index 9d8d6f445..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.json deleted file mode 100644 index 6773f401b..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustCore.json deleted file mode 100644 index 45c312a33..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustStd.json deleted file mode 100644 index 19a94c8a6..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustCore.json deleted file mode 100644 index 436da51f0..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustStd.json deleted file mode 100644 index dcc3545b9..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.json deleted file mode 100644 index d83438676..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.Compose.RustStd.json deleted file mode 100644 index b9f235087..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.RustStd.json deleted file mode 100644 index 5c9e82bca..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.json deleted file mode 100644 index 11e17ea2b..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustCore.json deleted file mode 100644 index 396e7574c..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustStd.json deleted file mode 100644 index 4d06feedf..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustCore.json deleted file mode 100644 index 235999018..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustStd.json deleted file mode 100644 index 930efb1db..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.json deleted file mode 100644 index 129e65fa4..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustCore.json deleted file mode 100644 index 99ef11ad2..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustStd.json deleted file mode 100644 index 029c73915..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustCore.json deleted file mode 100644 index eb6479bf9..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustStd.json deleted file mode 100644 index 4f9d30498..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.json deleted file mode 100644 index 7f3c7ad58..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustCore.json deleted file mode 100644 index ea3de4443..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustStd.json deleted file mode 100644 index d4b72fcd5..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustCore.json deleted file mode 100644 index ce6ddbf40..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustStd.json deleted file mode 100644 index 4d49770ed..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.json deleted file mode 100644 index 6997609db..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustCore.json deleted file mode 100644 index de5521eda..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustStd.json deleted file mode 100644 index 198f4f6bc..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustCore.json deleted file mode 100644 index b9769db12..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustStd.json deleted file mode 100644 index 8ae353d57..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.json deleted file mode 100644 index d2c423747..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustCore.json deleted file mode 100644 index fd9088775..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustStd.json deleted file mode 100644 index 9a9b7a972..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustCore.json deleted file mode 100644 index 10d9754b2..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustStd.json deleted file mode 100644 index 3a13a9877..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.json deleted file mode 100644 index b4dd83340..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.Compose.RustStd.json deleted file mode 100644 index 01dcc4619..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.RustStd.json deleted file mode 100644 index 9dc1b16c1..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.json deleted file mode 100644 index 02272e3fc..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.Compose.RustStd.json deleted file mode 100644 index b9ff74e34..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.RustStd.json deleted file mode 100644 index 9db9cd5da..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.json deleted file mode 100644 index 9d6297359..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustCore.json deleted file mode 100644 index 2ad5fa353..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustStd.json deleted file mode 100644 index dc7b9bec3..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustCore.json deleted file mode 100644 index 8123a1854..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustStd.json deleted file mode 100644 index 1854635f4..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.json deleted file mode 100644 index 75b88e936..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustCore.json deleted file mode 100644 index 39c1590cb..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustStd.json deleted file mode 100644 index 0adab0e61..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustCore.json deleted file mode 100644 index 98e7fb305..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustStd.json deleted file mode 100644 index 1ad36d9a9..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.json deleted file mode 100644 index 2ce2483e9..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustCore.json deleted file mode 100644 index f5a3bc6aa..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustStd.json deleted file mode 100644 index c1506021b..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustCore.json deleted file mode 100644 index 66ac9ed37..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustStd.json deleted file mode 100644 index 35852e066..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.json deleted file mode 100644 index 1e9d2c3da..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustCore.json deleted file mode 100644 index c627a384e..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustStd.json deleted file mode 100644 index 2e4e64dce..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustCore.json deleted file mode 100644 index 95cbf71f4..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustStd.json deleted file mode 100644 index 7fa02cb1a..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.json deleted file mode 100644 index 1355d512f..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustCore.json deleted file mode 100644 index 0e4af8d6a..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustStd.json deleted file mode 100644 index 6d3f6f0c9..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustCore.json deleted file mode 100644 index 2853c8831..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustStd.json deleted file mode 100644 index 8d05df06f..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.json deleted file mode 100644 index 2c25662cb..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustCore.json deleted file mode 100644 index ea060c041..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustStd.json deleted file mode 100644 index 6b74e48af..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustCore.json deleted file mode 100644 index 50f92abea..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustStd.json deleted file mode 100644 index d2e8ed084..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.json deleted file mode 100644 index b182f61e3..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.Compose.RustStd.json deleted file mode 100644 index bb71d7a8a..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.RustStd.json deleted file mode 100644 index 50bf35674..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.json deleted file mode 100644 index cd1cc26a5..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.Compose.RustStd.json deleted file mode 100644 index 93d52095d..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.RustStd.json deleted file mode 100644 index 02ef3f2a7..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.json deleted file mode 100644 index ace266f28..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.Compose.RustStd.json deleted file mode 100644 index 867ef2429..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.RustStd.json deleted file mode 100644 index c9fe48d74..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.json deleted file mode 100644 index d83b0c827..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.Compose.RustStd.json deleted file mode 100644 index b800c0efd..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.RustStd.json deleted file mode 100644 index 1a1882584..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.json deleted file mode 100644 index cf35ebd7b..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.Compose.RustStd.json deleted file mode 100644 index 6202d73c5..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.RustStd.json deleted file mode 100644 index dc3d11cb4..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.json deleted file mode 100644 index 837317fbe..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.Compose.RustStd.json deleted file mode 100644 index adf66fce8..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.RustStd.json deleted file mode 100644 index 5cd757c72..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.json deleted file mode 100644 index c5fbabeb5..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.Compose.RustStd.json deleted file mode 100644 index 62e6ab22f..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.RustStd.json deleted file mode 100644 index c1bda403c..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.json deleted file mode 100644 index fa3d5a6c8..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustCore.json deleted file mode 100644 index 5b9f9aedc..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustStd.json deleted file mode 100644 index 5deb996bc..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustCore.json deleted file mode 100644 index 6ad9de661..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustStd.json deleted file mode 100644 index 8d54a30dc..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.json deleted file mode 100644 index 211f30255..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.Compose.RustStd.json deleted file mode 100644 index 5704ae2dc..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.RustStd.json deleted file mode 100644 index 6c1f321c1..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.json deleted file mode 100644 index 47c516cd3..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.Compose.RustStd.json deleted file mode 100644 index ce736117c..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.RustStd.json deleted file mode 100644 index be6896580..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.json deleted file mode 100644 index cb3d06e0d..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.Compose.RustStd.json deleted file mode 100644 index 0c591e5c3..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.RustStd.json deleted file mode 100644 index e3c5a38f3..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.json deleted file mode 100644 index 7ed5ff8e9..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.Compose.RustStd.json deleted file mode 100644 index dcf6487da..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.RustStd.json deleted file mode 100644 index bf303c88d..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.json deleted file mode 100644 index 6807ad036..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.Compose.RustStd.json deleted file mode 100644 index 65cc91083..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.RustStd.json deleted file mode 100644 index 5dd6f9e59..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.json deleted file mode 100644 index 3278ed997..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.Compose.RustStd.json deleted file mode 100644 index 29db3667e..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.RustStd.json deleted file mode 100644 index 62fe6984b..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.json deleted file mode 100644 index bf943033d..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.Compose.RustStd.json deleted file mode 100644 index fd6c5f75f..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.RustStd.json deleted file mode 100644 index 55323bb27..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.json deleted file mode 100644 index 5600ff425..000000000 --- a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.Compose.RustStd.json new file mode 100644 index 000000000..1f907930a --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.json new file mode 100644 index 000000000..827305ed5 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.json new file mode 100644 index 000000000..065ecba76 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.Compose.RustStd.json new file mode 100644 index 000000000..f39b0245c --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.RustStd.json new file mode 100644 index 000000000..c25833695 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.json new file mode 100644 index 000000000..8cca8231f --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustCore.json new file mode 100644 index 000000000..3edd42aa4 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustStd.json new file mode 100644 index 000000000..5a3e05b6a --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustCore.json new file mode 100644 index 000000000..e21553d94 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustStd.json new file mode 100644 index 000000000..1f3a25fb7 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.json new file mode 100644 index 000000000..11c31dd01 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustCore.json new file mode 100644 index 000000000..1f437f9e9 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustStd.json new file mode 100644 index 000000000..b3517a8ba --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustCore.json new file mode 100644 index 000000000..a48cda192 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustStd.json new file mode 100644 index 000000000..3733dadb9 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.json new file mode 100644 index 000000000..2713ce3be --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustCore.json new file mode 100644 index 000000000..baef0c188 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustStd.json new file mode 100644 index 000000000..20b184099 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustCore.json new file mode 100644 index 000000000..0ee8a7b9a --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustStd.json new file mode 100644 index 000000000..f5220037b --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.json new file mode 100644 index 000000000..bb6262db6 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.Compose.RustStd.json new file mode 100644 index 000000000..fb66a24b4 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.RustStd.json new file mode 100644 index 000000000..8d324f701 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.json new file mode 100644 index 000000000..906e39d89 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustCore.json new file mode 100644 index 000000000..15372c952 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustStd.json new file mode 100644 index 000000000..ef5d370f4 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore.json new file mode 100644 index 000000000..94cd330c3 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd.json new file mode 100644 index 000000000..b4fc16946 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.json new file mode 100644 index 000000000..959f0f7c2 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustCore.json new file mode 100644 index 000000000..467498235 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustStd.json new file mode 100644 index 000000000..343d873bd --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustCore.json new file mode 100644 index 000000000..b96e1487a --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustStd.json new file mode 100644 index 000000000..9f0ff9589 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.json new file mode 100644 index 000000000..54399eb1a --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustCore.json new file mode 100644 index 000000000..a1140eb3a --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustStd.json new file mode 100644 index 000000000..8ab39e096 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustCore.json new file mode 100644 index 000000000..37040abd8 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustStd.json new file mode 100644 index 000000000..0fdc79ac2 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.json new file mode 100644 index 000000000..4dacba5fa --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustCore.json new file mode 100644 index 000000000..b069b1075 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustStd.json new file mode 100644 index 000000000..0645a2508 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustCore.json new file mode 100644 index 000000000..6f055c418 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustStd.json new file mode 100644 index 000000000..d28d80d59 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.json new file mode 100644 index 000000000..456f3ed87 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustCore.json new file mode 100644 index 000000000..e19bd7fda --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustStd.json new file mode 100644 index 000000000..5bcda7edf --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustCore.json new file mode 100644 index 000000000..f2a920042 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustStd.json new file mode 100644 index 000000000..911fa47d3 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.json new file mode 100644 index 000000000..a9a41113b --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.Compose.RustStd.json new file mode 100644 index 000000000..2405b0bcf --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.RustStd.json new file mode 100644 index 000000000..651b5a52a --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.json new file mode 100644 index 000000000..b9ad31841 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.Compose.RustStd.json new file mode 100644 index 000000000..2b99ce184 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.RustStd.json new file mode 100644 index 000000000..852dcfcee --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.json new file mode 100644 index 000000000..9d9f7b353 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustCore.json new file mode 100644 index 000000000..2446ea638 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustStd.json new file mode 100644 index 000000000..d4bf0b2c5 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustCore.json new file mode 100644 index 000000000..1daba52aa --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustStd.json new file mode 100644 index 000000000..c1729e02d --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.json new file mode 100644 index 000000000..1837506c7 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustCore.json new file mode 100644 index 000000000..c62d0cbe7 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustStd.json new file mode 100644 index 000000000..f032d5052 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustCore.json new file mode 100644 index 000000000..d9c3e584d --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustStd.json new file mode 100644 index 000000000..e8c05cdb7 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.json new file mode 100644 index 000000000..9daf8e9ab --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustCore.json new file mode 100644 index 000000000..06ab43d44 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustStd.json new file mode 100644 index 000000000..2349379b1 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustCore.json new file mode 100644 index 000000000..2943588b4 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustStd.json new file mode 100644 index 000000000..5683385e3 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.json new file mode 100644 index 000000000..a373cc41f --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustCore.json new file mode 100644 index 000000000..bdda80501 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustStd.json new file mode 100644 index 000000000..d376ab6c6 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustCore.json new file mode 100644 index 000000000..2a8305481 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustStd.json new file mode 100644 index 000000000..9a4d66902 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.json new file mode 100644 index 000000000..860b40610 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustCore.json new file mode 100644 index 000000000..0b935f626 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustStd.json new file mode 100644 index 000000000..77bbca3cd --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustCore.json new file mode 100644 index 000000000..0222aea3f --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustStd.json new file mode 100644 index 000000000..880484990 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.json new file mode 100644 index 000000000..30d2b0680 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustCore.json new file mode 100644 index 000000000..57b66ca25 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustStd.json new file mode 100644 index 000000000..02a077238 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustCore.json new file mode 100644 index 000000000..69db0f408 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustStd.json new file mode 100644 index 000000000..87c9faa26 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.json new file mode 100644 index 000000000..cd6688664 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.Compose.RustStd.json new file mode 100644 index 000000000..c3e2b3bf1 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.RustStd.json new file mode 100644 index 000000000..2221d9702 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.json new file mode 100644 index 000000000..fc8f8b514 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.Compose.RustStd.json new file mode 100644 index 000000000..35925d25c --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.RustStd.json new file mode 100644 index 000000000..4a3866822 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.json new file mode 100644 index 000000000..9b44bc674 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.Compose.RustStd.json new file mode 100644 index 000000000..6f82ad093 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.RustStd.json new file mode 100644 index 000000000..9eec24c6d --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.json new file mode 100644 index 000000000..c8ab8b79a --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.Compose.RustStd.json new file mode 100644 index 000000000..74debcbcb --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.RustStd.json new file mode 100644 index 000000000..fe731191a --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.json new file mode 100644 index 000000000..e34af454d --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.Compose.RustStd.json new file mode 100644 index 000000000..154f66438 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.RustStd.json new file mode 100644 index 000000000..e3efaebc5 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.json new file mode 100644 index 000000000..236421e4c --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.Compose.RustStd.json new file mode 100644 index 000000000..052bf239f --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.RustStd.json new file mode 100644 index 000000000..8712176f8 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.json new file mode 100644 index 000000000..88fd9474a --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.Compose.RustStd.json new file mode 100644 index 000000000..0024eb992 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd.json new file mode 100644 index 000000000..25d1fb1d9 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.json new file mode 100644 index 000000000..a8ab3cdeb --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustCore.json new file mode 100644 index 000000000..20870aa1f --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustStd.json new file mode 100644 index 000000000..eae4a8010 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustCore.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustCore.json new file mode 100644 index 000000000..42ac0216f --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustStd.json new file mode 100644 index 000000000..8c4cabf56 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.json new file mode 100644 index 000000000..808dbbcd2 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.Compose.RustStd.json new file mode 100644 index 000000000..9510aa9f2 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.RustStd.json new file mode 100644 index 000000000..3ccb0ff93 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.json new file mode 100644 index 000000000..26d14d466 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.Compose.RustStd.json new file mode 100644 index 000000000..75cc6d00c --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.RustStd.json new file mode 100644 index 000000000..c36facad7 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.json new file mode 100644 index 000000000..202669d15 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.Compose.RustStd.json new file mode 100644 index 000000000..6d7ce193e --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.RustStd.json new file mode 100644 index 000000000..8b7e82518 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.json new file mode 100644 index 000000000..c21656d77 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.Compose.RustStd.json new file mode 100644 index 000000000..25377223f --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.RustStd.json new file mode 100644 index 000000000..c6543c430 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.json new file mode 100644 index 000000000..14725a72a --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.Compose.RustStd.json new file mode 100644 index 000000000..2904f9693 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.RustStd.json new file mode 100644 index 000000000..46742a0b2 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.json new file mode 100644 index 000000000..34f97d85f --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.Compose.RustStd.json new file mode 100644 index 000000000..7639d79d3 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.RustStd.json new file mode 100644 index 000000000..9f33f72a4 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.json new file mode 100644 index 000000000..3ae19f932 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.Compose.RustStd.json new file mode 100644 index 000000000..8dba86ba9 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.RustStd.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.RustStd.json new file mode 100644 index 000000000..01e621fa4 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.json new file mode 100644 index 000000000..9f6a12e00 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanRuntime.Collections.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanRuntime.Collections.json new file mode 100644 index 000000000..52662ef9b --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanRuntime.Collections.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanRuntime.Collections"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Collections","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/leanchecker/LexLeanRuntime.Portable.json b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanRuntime.Portable.json new file mode 100644 index 000000000..826a4b876 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/leanchecker/LexLeanRuntime.Portable.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanRuntime.Portable"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Portable","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Audit.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Audit.json index 9c8a65d87..99e2cb899 100644 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Audit.json +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Audit.json @@ -1 +1 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","$STAGING/preserve-src/LexLeanPreserve/Audit.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Audit","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanPreservation.Obs' does not depend on any axioms\n'LexLeanPreservation.obs.match_1' does not depend on any axioms\n'LexLeanPreservation.obs' does not depend on any axioms\n'LexLeanPreservation.Conv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ConvA' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ObsL' does not depend on any axioms\n'LexLeanPreservation.obsL.match_1' does not depend on any axioms\n'LexLeanPreservation.obsL' does not depend on any axioms\n'LexLeanPreservation.ConvL' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.FunRel' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Obs._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.Obs._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.Obs.casesOn' does not depend on any axioms\n'LexLeanPreservation.Obs.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.Obs.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Obs.ctorElim' does not depend on any axioms\n'LexLeanPreservation.Obs.overflow.elim' does not depend on any axioms\n'LexLeanPreservation.Obs.stuck.elim' does not depend on any axioms\n'LexLeanPreservation.Obs.value.elim' does not depend on any axioms\n'LexLeanPreservation.Obs.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.Obs.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Obs.overflow.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Obs.recOn' does not depend on any axioms\n'LexLeanPreservation.Obs.stuck.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Obs.value.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Obs.value.inj' does not depend on any axioms\n'LexLeanPreservation.Obs.value.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Obs.value.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ObsL._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.ObsL._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.ObsL.casesOn' does not depend on any axioms\n'LexLeanPreservation.ObsL.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.ObsL.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.ObsL.ctorElim' does not depend on any axioms\n'LexLeanPreservation.ObsL.overflow.elim' does not depend on any axioms\n'LexLeanPreservation.ObsL.stuck.elim' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.elim' does not depend on any axioms\n'LexLeanPreservation.ObsL.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.ObsL.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ObsL.overflow.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ObsL.recOn' does not depend on any axioms\n'LexLeanPreservation.ObsL.stuck.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.inj' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.injEq' depends on axioms: [propext]\n'LexLeanPreservation.ObsL.values.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rel' does not depend on any axioms\n'LexLeanPreservation.Rel.eq_1' does not depend on any axioms\n'LexLeanPreservation.RelL' does not depend on any axioms\n'LexLeanPreservation.RelL.eq_1' does not depend on any axioms\n'LexLeanPreservation.RunConv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.addSteps_ne' does not depend on any axioms\n'LexLeanPreservation.chargeResult_ne' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.stable.match_1_16' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_18' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_20' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_22' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_24' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_26' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.eval.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.stable' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.evalArms_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs_ne' does not depend on any axioms\n'LexLeanPreservation.convA_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.eval_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs_addSteps' does not depend on any axioms\n'LexLeanPreservation.convA_hit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.convA_miss' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.evalList_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obsL_ne' does not depend on any axioms\n'LexLeanPreservation.convL_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.convL_cons._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.convL_cons._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.convL_cons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.convL_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_apply._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_apply._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_apply._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_apply' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_build' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_call._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_call._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_call' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_closure' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_cond._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_cond._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_field' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_first' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_let._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_let._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_let' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_match._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_match._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_match' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_matchV' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs_chargeResult' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_prim' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_second' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_var' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.funRel_intro' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs.eq_1' does not depend on any axioms\n'LexLeanPreservation.obs.eq_2' does not depend on any axioms\n'LexLeanPreservation.obs.eq_3' does not depend on any axioms\n'LexLeanPreservation.obs.eq_4' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_1' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_2' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_3' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_4' does not depend on any axioms\n'LexLeanPreservation.run_of_funRel' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.run.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ListEnc' does not depend on any axioms\n'LexLeanPreservation.ListEnc._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.ListEnc._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.ListEnc.casesOn' does not depend on any axioms\n'LexLeanPreservation.ListEnc.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.ListEnc.elem' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items' does not depend on any axioms\n'LexLeanPreservation.ListEnc.enc' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_cons' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_eq.match_1_1' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_nil' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_eq._f' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_eq' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.ListEnc.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.ListEnc.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk.inj' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk.injEq' depends on axioms: [propext]\n'LexLeanPreservation.ListEnc.mk.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ListEnc.recOn' does not depend on any axioms\n'LexLeanPreservation.OptEnc' does not depend on any axioms\n'LexLeanPreservation.OptEnc._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.OptEnc._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.OptEnc.casesOn' does not depend on any axioms\n'LexLeanPreservation.OptEnc.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.OptEnc.elem' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc_none' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc_some' does not depend on any axioms\n'LexLeanPreservation.encOption.match_1' does not depend on any axioms\n'LexLeanPreservation.encOption' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc_map' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.OptEnc.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.OptEnc.noConfusion' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk.noConfusion' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk.inj' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk.injEq' depends on axioms: [propext]\n'LexLeanPreservation.OptEnc.mk.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.OptEnc.recOn' does not depend on any axioms\n'LexLeanPreservation.construct_adt' does not depend on any axioms\n'LexLeanPreservation.construct_cons' does not depend on any axioms\n'LexLeanPreservation.construct_error' does not depend on any axioms\n'LexLeanPreservation.construct_false' does not depend on any axioms\n'LexLeanPreservation.construct_nil' does not depend on any axioms\n'LexLeanPreservation.construct_none' does not depend on any axioms\n'LexLeanPreservation.construct_ok' does not depend on any axioms\n'LexLeanPreservation.construct_pair' does not depend on any axioms\n'LexLeanPreservation.construct_some' does not depend on any axioms\n'LexLeanPreservation.construct_succ' does not depend on any axioms\n'LexLeanPreservation.construct_true' does not depend on any axioms\n'LexLeanPreservation.construct_unit' does not depend on any axioms\n'LexLeanPreservation.construct_zero' does not depend on any axioms\n'LexLeanPreservation.encExcept.match_1' does not depend on any axioms\n'LexLeanPreservation.encExcept' does not depend on any axioms\n'LexLeanPreservation.encList' does not depend on any axioms\n'LexLeanPreservation.encOrdering.match_1' does not depend on any axioms\n'LexLeanPreservation.encOrdering' does not depend on any axioms\n'LexLeanPreservation.encPair' does not depend on any axioms\n'LexLeanPreservation.encUnit' does not depend on any axioms\n'LexLeanPreservation.listEnc._proof_1' does not depend on any axioms\n'LexLeanPreservation.listEnc._proof_2' does not depend on any axioms\n'LexLeanPreservation.listEnc' does not depend on any axioms\n'LexLeanPreservation.optEnc._proof_1' does not depend on any axioms\n'LexLeanPreservation.optEnc._proof_2' does not depend on any axioms\n'LexLeanPreservation.optEnc' does not depend on any axioms\n'LexLeanPreservation.bytes_empty' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.bytes_one' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.bytes_zero' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.encOrdering.eq_1' does not depend on any axioms\n'LexLeanPreservation.encOrdering.eq_2' does not depend on any axioms\n'LexLeanPreservation.encOrdering.eq_3' does not depend on any axioms\n'LexLeanPreservation.fromOrdering_encOrdering' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.fromStrings_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.fromStrings_map._f' does not depend on any axioms\n'LexLeanPreservation.fromStrings_map' does not depend on any axioms\n'LexLeanPreservation.intFits' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.listIndex_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.listIndex_map._f' does not depend on any axioms\n'LexLeanPreservation.listIndex_map' does not depend on any axioms\n'LexLeanPreservation.listIndex_unique.match_1_1' does not depend on any axioms\n'LexLeanPreservation.listIndex_unique._f' does not depend on any axioms\n'LexLeanPreservation.listIndex_unique' does not depend on any axioms\n'LexLeanPreservation.obs_intResult' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.obs_natResult' does not depend on any axioms\n'LexLeanPreservation.prim_append_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_append_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_boolNot' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_compareBytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_bool' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_nat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_ordering' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_string' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_index_bytes.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_index_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_index_list.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_index_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intMul' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intNeg' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intQuot' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intRem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intSub' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_join.match_1_1' does not depend on any axioms\n'LexLeanPreservation.toStrings_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.toStrings_map.match_1_3' does not depend on any axioms\n'LexLeanPreservation.toStrings_map._f' does not depend on any axioms\n'LexLeanPreservation.toStrings_map' does not depend on any axioms\n'LexLeanPreservation.prim_join' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_length_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_length_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_length_string' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natAdd' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natEq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natLe' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natLt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natMul' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natQuot' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natRem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natSub' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_slice_bytes.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_slice_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_slice_list.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_slice_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_splitExact.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_splitExact' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_utf8Decode.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_utf8Decode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_utf8Encode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.LexLeanRuntime.compareBytes.eq_1' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.LexLeanRuntime.equal.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.LexLeanRuntime.length.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.LexLeanRuntime.slice.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromOrdering.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.checkedMultiplyWith.match_1' does not depend on any axioms\n'LexLeanPreservation.checkedMultiplyWith' does not depend on any axioms\n'LexLeanPreservation.checkedQuotientWith' does not depend on any axioms\n'LexLeanPreservation.decimalFits.match_1' does not depend on any axioms\n'LexLeanPreservation.decimalFits' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.divideStep' does not depend on any axioms\n'LexLeanPreservation.divide_unique.match_1_1' does not depend on any axioms\n'LexLeanPreservation.divide_unique._f' does not depend on any axioms\n'LexLeanPreservation.divide_unique' does not depend on any axioms\n'LexLeanPreservation.multiplyStep' does not depend on any axioms\n'LexLeanPreservation.multiply_unique.match_1_1' does not depend on any axioms\n'LexLeanPreservation.multiply_unique._f' does not depend on any axioms\n'LexLeanPreservation.multiply_unique' does not depend on any axioms\n'LexLeanPreservation.prim_bitAnd_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i64.match_1_2' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_int' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_int.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_int' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ordOf.match_1' does not depend on any axioms\n'LexLeanPreservation.ordOf' does not depend on any axioms\n'LexLeanPreservation.KeySpec' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.mk._flat_ctor' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.recOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.spec' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.compareCodes_eq.match_1_1' does not depend on any axioms\n'LexLeanPreservation.compareCodes_eq._f' depends on axioms: [propext]\n'LexLeanPreservation.compareCodes_eq' depends on axioms: [propext]\n'LexLeanPreservation.compareCodes_swap.match_1_1' does not depend on any axioms\n'LexLeanPreservation.compareCodes_swap._f' depends on axioms: [propext]\n'LexLeanPreservation.compareCodes_swap' depends on axioms: [propext]\n'LexLeanPreservation.lessThanE' does not depend on any axioms\n'LexLeanPreservation.prim_compare_key.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_compare_key' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_lessThan' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.orderOf_insert' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderBool.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.keySpec_bool' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI16.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI32.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI64.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI8.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderInt.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_int' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderNat.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_nat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.keySpec_pair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderString.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.keySpec_string' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU16.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU32.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU64.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU8.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_1' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_2' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_3' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_4' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_def' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.compareValue.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_18' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_20' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_22' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_23' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_24' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_25' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_26' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_27' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_28' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_29' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_30' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_31' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_33' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_34' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_35' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_36' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_37' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_38' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_39' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_40' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_41' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_42' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_43' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_44' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_45' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_46' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_47' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_48' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_49' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_50' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_51' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_52' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_53' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_54' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_55' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_56' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_57' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_58' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_59' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_60' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_61' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_62' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_63' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_65' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_66' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_67' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_68' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_69' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_70' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_71' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_72' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_73' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_74' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_75' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_76' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_77' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_78' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_79' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_80' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_81' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_82' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_83' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_84' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_85' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_86' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_87' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_88' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_89' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_90' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_91' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_92' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_93' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_94' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_95' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_96' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_97' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_98' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_99' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Conv.bool_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Conv.fits_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.FunRel.fits_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ListEnc.enc.eq_1' does not depend on any axioms\n'LexLeanPreservation.ListEnc.enc_cons' does not depend on any axioms\n'LexLeanPreservation.ListEnc.enc_nil' does not depend on any axioms\n'LexLeanPreservation.LookOps' does not depend on any axioms\n'LexLeanPreservation.LookOps.casesOn' does not depend on any axioms\n'LexLeanPreservation.LookOps.l0' does not depend on any axioms\n'LexLeanPreservation.LookOps.leq' does not depend on any axioms\n'LexLeanPreservation.LookOps.lgt' does not depend on any axioms\n'LexLeanPreservation.LookOps.llt' does not depend on any axioms\n'LexLeanPreservation.LookOps.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.LookOps.recOn' does not depend on any axioms\n'LexLeanPreservation.SetOps' does not depend on any axioms\n'LexLeanPreservation.SetOps.c0' does not depend on any axioms\n'LexLeanPreservation.SetOps.casesOn' does not depend on any axioms\n'LexLeanPreservation.SetOps.ceq' does not depend on any axioms\n'LexLeanPreservation.SetOps.cgt' does not depend on any axioms\n'LexLeanPreservation.SetOps.clt' does not depend on any axioms\n'LexLeanPreservation.SetOps.i0' does not depend on any axioms\n'LexLeanPreservation.SetOps.ieq' does not depend on any axioms\n'LexLeanPreservation.SetOps.igt' does not depend on any axioms\n'LexLeanPreservation.SetOps.ilt' does not depend on any axioms\n'LexLeanPreservation.SetOps.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.SetOps.r0' does not depend on any axioms\n'LexLeanPreservation.SetOps.recOn' does not depend on any axioms\n'LexLeanPreservation.SetOps.req' does not depend on any axioms\n'LexLeanPreservation.SetOps.rgt' does not depend on any axioms\n'LexLeanPreservation.SetOps.rlt' does not depend on any axioms\n'LexLeanPreservation.TopoOps' does not depend on any axioms\n'LexLeanPreservation.TopoOps.casesOn' does not depend on any axioms\n'LexLeanPreservation.TopoOps.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.TopoOps.recOn' does not depend on any axioms\n'LexLeanPreservation.TopoOps.s_next' does not depend on any axioms\n'LexLeanPreservation.TopoOps.s_nil' does not depend on any axioms\n'LexLeanPreservation.TopoOps.s_stuck' does not depend on any axioms\n'LexLeanPreservation.TopoOps.z_cons' does not depend on any axioms\n'LexLeanPreservation.TopoOps.z_nil' does not depend on any axioms\n'LexLeanPreservation.Tpl.boolE' does not depend on any axioms\n'LexLeanPreservation.Tpl.byOrder' does not depend on any axioms\n'LexLeanPreservation.Tpl.cns' does not depend on any axioms\n'LexLeanPreservation.Tpl.fn' does not depend on any axioms\n'LexLeanPreservation.Tpl.lst' does not depend on any axioms\n'LexLeanPreservation.Tpl.v' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphInnerFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.pr' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphNodesFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.natOne' does not depend on any axioms\n'LexLeanPreservation.Tpl.nl' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphReachableFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphSuccessorsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphTopologicalFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.iterateFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.iterateUntilFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.listFoldFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapContainsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapFoldFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapInsertFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapLookupFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapProjectFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapRemoveFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reachFrontierFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reachIntoFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reachRoundsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reverseFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setContainsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setFilterFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setInsertFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setRemoveFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setUnionFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoFinished' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoReadyFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoRoundsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoUnreachedFn' does not depend on any axioms\n'LexLeanPreservation.blt_succ_fits._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.blt_succ_fits' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_cond_false' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_cond_true' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.enc_elem' does not depend on any axioms\n'LexLeanPreservation.enc_entry' does not depend on any axioms\n'LexLeanPreservation.foldFits.match_1' does not depend on any axioms\n'LexLeanPreservation.foldFits._f' does not depend on any axioms\n'LexLeanPreservation.foldFits' does not depend on any axioms\n'LexLeanPreservation.foldFits._sunfold' does not depend on any axioms\n'LexLeanPreservation.foldFits._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.foldFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.foldFits.eq_2' does not depend on any axioms\n'LexLeanPreservation.foldFits.eq_def' does not depend on any axioms\n'LexLeanPreservation.graphFits' does not depend on any axioms\n'LexLeanPreservation.graphFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.iterateFits.match_1' does not depend on any axioms\n'LexLeanPreservation.iterateFits._f' does not depend on any axioms\n'LexLeanPreservation.iterateFits' does not depend on any axioms\n'LexLeanPreservation.iterateFits._sunfold' does not depend on any axioms\n'LexLeanPreservation.iterateFits._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.iterateFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.iterateFits.eq_2' does not depend on any axioms\n'LexLeanPreservation.iterateFits.eq_def' does not depend on any axioms\n'LexLeanPreservation.length_eq' does not depend on any axioms\n'LexLeanPreservation.prim_compare_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.reachNext' does not depend on any axioms\n'LexLeanPreservation.tpl_graphInner.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setInsert.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setInsert._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setInsert' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphInner._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphInner' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphNodes.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_graphNodes._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphNodes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapLookup.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapLookup._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapLookup' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphSuccessors' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachFrontier.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_reachInto.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setContains.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setContains._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setContains' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachInto._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachInto' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachFrontier._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachFrontier' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachRounds.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setUnion.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setUnion._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setUnion' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachRounds._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachRounds' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphReachable' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reverse.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_reverse._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reverse' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setRemove.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setRemove._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setRemove' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoReady.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_topoUnreached.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_topoUnreached._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoUnreached' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoReady._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoReady' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoRounds.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_topoRounds._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoRounds' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphTopological' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterate.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_iterate._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterateUntil.match_1_1' does not depend on any axioms\n'LexLeanPreservation.untilFits.match_1' does not depend on any axioms\n'LexLeanPreservation.untilFits._f' does not depend on any axioms\n'LexLeanPreservation.untilFits' does not depend on any axioms\n'LexLeanPreservation.tpl_iterateUntil._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterateUntil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_listFold.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_listFold._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_listFold' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapContains' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapFold.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapFold._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapFold' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapInsert.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapInsert._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapInsert' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapKeys.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapKeys._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapKeys' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapRemove.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapRemove._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapRemove' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapValues.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapValues._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapValues' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setDifference.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setDifference._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setDifference' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setIntersection.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setIntersection._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setIntersection' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.untilFits._sunfold' does not depend on any axioms\n'LexLeanPreservation.untilFits._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.untilFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.untilFits.eq_2' does not depend on any axioms\n'LexLeanPreservation.untilFits.eq_def' does not depend on any axioms\n'LexLeanPreservation.validExcept.match_1' does not depend on any axioms\n'LexLeanPreservation.InvExcept' does not depend on any axioms\n'LexLeanPreservation.InvList' does not depend on any axioms\n'LexLeanPreservation.InvList.eq_1' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.match_1' does not depend on any axioms\n'LexLeanPreservation.StrictAsc._f' does not depend on any axioms\n'LexLeanPreservation.StrictAsc' does not depend on any axioms\n'LexLeanPreservation.InvMap' does not depend on any axioms\n'LexLeanPreservation.validOption.match_1' does not depend on any axioms\n'LexLeanPreservation.InvOption' does not depend on any axioms\n'LexLeanPreservation.InvOption.eq_1' does not depend on any axioms\n'LexLeanPreservation.InvOption.eq_2' does not depend on any axioms\n'LexLeanPreservation.InvPair' does not depend on any axioms\n'LexLeanPreservation.InvSet' does not depend on any axioms\n'LexLeanPreservation.StrictAsc._sunfold' does not depend on any axioms\n'LexLeanPreservation.StrictAsc._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_1' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_2' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_3' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_def' does not depend on any axioms\n'LexLeanPreservation.Tpl.validListFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validMapFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validOptionFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validPairFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validResultFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validSetFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validTrueFn' does not depend on any axioms\n'LexLeanPreservation.ascMap.match_1' does not depend on any axioms\n'LexLeanPreservation.lessB.match_1' does not depend on any axioms\n'LexLeanPreservation.lessB' does not depend on any axioms\n'LexLeanPreservation.ascMap._f' does not depend on any axioms\n'LexLeanPreservation.ascMap' does not depend on any axioms\n'LexLeanPreservation.ascMap._sunfold' does not depend on any axioms\n'LexLeanPreservation.ascMap._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_1' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_2' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_3' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_def' does not depend on any axioms\n'LexLeanPreservation.ascMap_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.lessB_iff' depends on axioms: [propext]\n'LexLeanPreservation.ascMap_iff._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.ascMap_iff' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.ascMap_inv' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.ascSet._f' does not depend on any axioms\n'LexLeanPreservation.ascSet' does not depend on any axioms\n'LexLeanPreservation.ascSet._sunfold' does not depend on any axioms\n'LexLeanPreservation.ascSet._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_1' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_2' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_3' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_def' does not depend on any axioms\n'LexLeanPreservation.ascSet_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.ascSet_iff._f' depends on axioms: [propext]\n'LexLeanPreservation.ascSet_iff' depends on axioms: [propext]\n'LexLeanPreservation.ascSet_inv' depends on axioms: [propext]\n'LexLeanPreservation.condAnd_iff' depends on axioms: [propext]\n'LexLeanPreservation.invList_eqs.match_1_1' does not depend on any axioms\n'LexLeanPreservation.invList_eqs._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.invList_eqs' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.lessB.eq_1' does not depend on any axioms\n'LexLeanPreservation.lessB_eq' depends on axioms: [propext]\n'LexLeanPreservation.lessB_gt' depends on axioms: [propext]\n'LexLeanPreservation.lessB_lt' depends on axioms: [propext]\n'LexLeanPreservation.someObs.match_1' does not depend on any axioms\n'LexLeanPreservation.someObs' does not depend on any axioms\n'LexLeanPreservation.tpl_validList.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validList.match_1' does not depend on any axioms\n'LexLeanPreservation.validList._f' does not depend on any axioms\n'LexLeanPreservation.validList' does not depend on any axioms\n'LexLeanPreservation.tpl_validList' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validMap.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_validMap._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validMap' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validOption.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validOption' does not depend on any axioms\n'LexLeanPreservation.tpl_validOption' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validPair.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validPair' does not depend on any axioms\n'LexLeanPreservation.tpl_validPair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validResult.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validExcept' does not depend on any axioms\n'LexLeanPreservation.tpl_validResult' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validSet.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_validSet._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validSet' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validTrue' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.trueIff' does not depend on any axioms\n'LexLeanPreservation.validExcept_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validExcept_inv' does not depend on any axioms\n'LexLeanPreservation.validList._sunfold' does not depend on any axioms\n'LexLeanPreservation.validList._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.validList.eq_1' does not depend on any axioms\n'LexLeanPreservation.validList.eq_2' does not depend on any axioms\n'LexLeanPreservation.validList.eq_def' does not depend on any axioms\n'LexLeanPreservation.validList_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validList_iff._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.validList_iff' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.validList_inv' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.validOption.eq_1' does not depend on any axioms\n'LexLeanPreservation.validOption.eq_2' does not depend on any axioms\n'LexLeanPreservation.validOption_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validOption_inv' depends on axioms: [propext]\n'LexLeanPreservation.validPair_inv' depends on axioms: [propext]\n'LexLeanPreservation.validTrue_inv' does not depend on any axioms\n'LexLeanPreservation.Rust.Ctx' does not depend on any axioms\n'LexLeanPreservation.Rust.Flags' does not depend on any axioms\n'LexLeanPreservation.Rust.RCrate' does not depend on any axioms\n'LexLeanPreservation.Rust.RIdent' does not depend on any axioms\n'LexLeanPreservation.Rust.WT._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.adtFields' depends on axioms: [propext]\n'LexLeanTarget.TargetSyntax.IntKind.ofNat' does not depend on any axioms\n'LexLeanTarget.TargetSyntax.IntKind.ofNat_ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Rust.instDecidableEqIntKind_lexLeanPreservation._proof_1' does not depend on any axioms\n'LexLeanPreservation.Rust.instDecidableEqIntKind_lexLeanPreservation._proof_2' does not depend on any axioms\n'LexLeanPreservation.Rust.instDecidableEqIntKind_lexLeanPreservation' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flagOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fnIdent' does not depend on any axioms\n'LexLeanPreservation.Rust.fnFallible' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.inert._f' does not depend on any axioms\n'LexLeanPreservation.Rust.inert' does not depend on any axioms\n'LexLeanPreservation.Rust.WT._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.WTAll._f' does not depend on any axioms\n'LexLeanPreservation.Rust.WTL.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctxLookup.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup._f' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup' does not depend on any axioms\n'LexLeanPreservation.Rust.local_' does not depend on any axioms\n'LexLeanPreservation.Rust.EnvRel' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ROut' does not depend on any axioms\n'LexLeanPreservation.Rust.Halt' does not depend on any axioms\n'LexLeanPreservation.Rust.REnv' does not depend on any axioms\n'LexLeanPreservation.Rust.RExpr' does not depend on any axioms\n'LexLeanPreservation.Rust.RC' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RLet' does not depend on any axioms\n'LexLeanPreservation.Rust.LetsOK' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.append' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.below' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.below.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.brecOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.recOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.append_left' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.append_right' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.below' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.below.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.brecOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.recOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RBlock' does not depend on any axioms\n'LexLeanPreservation.Rust.dispatched_ne' does not depend on any axioms\n'LexLeanPreservation.Rust.finished_ne' does not depend on any axioms\n'LexLeanPreservation.Rust.returned_ne' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_24' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_26' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_28' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_30' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_32' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_34' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_36' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.eval.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_22' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.invoke.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.stable' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.reval_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCB' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.block' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCA' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.revalBlock_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCB.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCI' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.invoke_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCI.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCL' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.revalList_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCL.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.WTAll' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.block_of_lets' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.block_of_raise' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.ctxLookup._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup_slot._simp_1_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotFree' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup_slot' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_cons_other' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sameIdent_self' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_cons_self' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sameIdent_local' depends on axioms: [propext]\n'LexLeanPreservation.Rust.envRel_bind' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.envRel_extra' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.envRel_ghost' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sameIdent_kind' depends on axioms: [propext]\n'LexLeanPreservation.Rust.envRel_temp' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.listIndex_eq.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.listIndex_eq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.listIndex_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.index_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.inert._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.inert._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_nil.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_raise_head.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcl_raise_head.match_1_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcl_raise_head' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_raise_tail' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.revalArms_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.slotFree.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sunfold' depends on axioms: [propext]\n'LexLeanTarget.RustSemantics.LexLeanRuntime.equal.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.eval.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_18' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_20' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.invoke.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.invoke.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.kindNumber.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.lookup.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.lookup.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.lookup.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.lookup.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.lookup.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.lookup.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd' does not depend on any axioms\n'LexLeanPreservation.Rust.isTemp._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isTemp.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isTemp' depends on axioms: [propext]\n'LexLeanPreservation.Rust.letsBind.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds._f' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds._f' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind._f' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind' does not depend on any axioms\n'LexLeanPreservation.Rust.tempFresh' does not depend on any axioms\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.foldN.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.flatB._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep.match_7' does not depend on any axioms\n'LexLeanPreservation.Rust.foldStep' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldB' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats._f' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats' does not depend on any axioms\n'LexLeanPreservation.Rust.okBlock' does not depend on any axioms\n'LexLeanPreservation.Rust.partRead._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Kind.casesOn' does not depend on any axioms\n'LexLeanPreservation.Rust.elseCtx.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.elseCtx' does not depend on any axioms\n'LexLeanPreservation.Rust.elseLets.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.elseLets' does not depend on any axioms\n'LexLeanPreservation.Rust.heldOK.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.heldOK' does not depend on any axioms\n'LexLeanPreservation.Rust.negateR._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.negateR._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.negateR.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.negateR' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_5' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_7' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_9' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identBoxed' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal' does not depend on any axioms\n'LexLeanPreservation.Rust.isWild._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.unboxOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotOK.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocal' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armShape.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.armShape' does not depend on any axioms\n'LexLeanPreservation.Rust.otherArms.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.otherArms' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.noClosure.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.noClosure._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh' depends on axioms: [propext]\n'LexLeanPreservation.Rust.covered' depends on axioms: [propext]\n'LexLeanPreservation.Rust.scrut' does not depend on any axioms\n'LexLeanPreservation.Rust.validU.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.validU' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotOK' does not depend on any axioms\n'LexLeanPreservation.Rust.ctorOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identsDistinct.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct._f' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct' does not depend on any axioms\n'LexLeanPreservation.Rust.litOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArg._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.match_6' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArg.match_8' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArg' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArgs._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildTail.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildsArm.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildsArm' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.itemOK.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemOK' does not depend on any axioms\n'LexLeanPreservation.Rust.itemTyped.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemTyped.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf' does not depend on any axioms\n'LexLeanPreservation.Rust.itemTyped' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_9' does not depend on any axioms\n'LexLeanPreservation.Rust.isFixed._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped' depends on axioms: [propext]\n'LexLeanPreservation.Rust.primTyped' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.litValues._f' does not depend on any axioms\n'LexLeanPreservation.Rust.litValue' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.typedLitAll._f' does not depend on any axioms\n'LexLeanPreservation.Rust.typedLits.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Corr' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.below' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.below.casesOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.brecOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.casesOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.recOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.FunOK' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.CrateOK' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Fresh' does not depend on any axioms\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn' depends on axioms: [propext]\n'LexLeanPreservation.Rust.FunSem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Kind._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.casesOn' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ctorElim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.b.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.e.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.k.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.l.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.m.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.ops.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.recOn' does not depend on any axioms\n'LexLeanPreservation.Rust.KPre.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.KPre' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Kind.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.ctorElim' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Kind.nat.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.plain.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.plain.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.recOn' does not depend on any axioms\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesM.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.RealizesM' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Sem.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.viewVal._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Sem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.foldN._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identsDistinct._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_10' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_11' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_12' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_13' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_14' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_6' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_7' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_8' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.litValues' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue._sunfold' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.litValue._unsafe_rec' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues._sunfold' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.paramCtx._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patsBinds' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.patLocals._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patsBinds._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArgs._sunfold' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs._unsafe_rec' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.typedLitAll' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.typedLits._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_of_inert.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_of_inert.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_of_inert._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_of_inert' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_of_inert._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_of_inert' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Halt.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.LetsRaise.halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.block_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.boxed' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesM.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesM.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_bytes_inv' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_list_inv' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_string_inv' depends on axioms: [propext]\n'LexLeanPreservation.Rust.takes_of_typed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.allWidth_of.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_eq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_eq._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.tysBeq_eq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq_eq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.wt_fixed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.allWidth_of._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.allWidth_of' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.width_of_typed.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.width_of_typed.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.width_of_typed.match_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.width_of_typed' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.accepts_of_typed' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_apply' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtl_append.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_append._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_append' depends on axioms: [propext]\n'LexLeanPreservation.Rust.apply_result' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.bindPattern_shape.match_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.bindPattern_shape._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.bindPatterns_shape._simp_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindPatterns_shape.match_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.bindPatterns_shape._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.bindPattern_shape' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.bindPatterns_shape' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms_spec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_4' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_6' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_7' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.boolArms_eval' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.boxWith.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_100' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_102' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_96' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_98' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_function' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.call_result' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.const_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.convert_args.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.convert_args' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_append_fresh' depends on axioms: [propext]\n'LexLeanPreservation.Rust.envRel_fresh' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_not._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_cond.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.itemResult.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.eval_match' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fixedTyped.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_18' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_19' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_20' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_21' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_22' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_23' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_24' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_25' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_26' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_27' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_28' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_29' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_30' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_31' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_32' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_33' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_34' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_35' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_36' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_37' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_38' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_39' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_40' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_41' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_42' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_43' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_44' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_45' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_46' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_47' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_48' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_49' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_50' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_51' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_52' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_53' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_54' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_55' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_56' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_57' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_58' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_59' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_60' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_61' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN_sound.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.split_last.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.split_last._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.split_last' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep_spec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcb_nil_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_nomatch.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcb_cons_nomatch' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_stop' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_prefix' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_flat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_read_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_cons_same' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcb_fold_last' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldStep_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldN_sound._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldN_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldB_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldN.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_append' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_bind._simp_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_bind' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotFree_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_weaken' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_elseCtx' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_temp._simp_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_temp' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fromStrings_wt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fromStrings_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fromStrings_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.hasWidth_i16' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_i32' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_i64' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_i8' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u16' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u32' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u64' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u8' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.heldOK.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.heldOK.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.isFixed._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.isSeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.isTemp._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.itemOK.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemOperands_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.itemResult' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.kpre_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_pred._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_pred.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_pred' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.kpre_else' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.kpre_then' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_of_lets' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_b_rcb' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.k_branch' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_cond_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_isZero_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_lit_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate_halt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_negate_halt.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_nonZero_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_23' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_25' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_27' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_29' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_31' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_33' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_35' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_37' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_39' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_41' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_43' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_45' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_47' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_49' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_51' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_not_inv.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_not_inv.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_not_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.k_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_read.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_read' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.kpre_held' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.letsBind.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.letsOK_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.letsOK_shape' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.litValue._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_4' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_def' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_5' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.eq_def' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.lit_branch' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.lookup_through._simp_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.lookup_through' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms_spec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms_eval' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.obsL_evalList_zero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.obs_eval_zero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.oneOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf_halt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.param_env.match_1_1' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.bindAll.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.param_env._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.param_env' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.patBinds.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_10' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_6' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_7' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_8' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.primTyped.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_apply_halt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_apply_halt.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_apply_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_call_halt.match_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_runtime' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_construct' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct_halt.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct_halt.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_isZero.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_isZero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_lit.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_lit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue._simp_10' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue._simp_9' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue.match_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_pair.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_pair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_litValues.match_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rcl_litValues._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_nonZero.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_nonZero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_pair_halt_left' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_pair_halt_right' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_widen.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_widen' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_widen_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_11' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_7' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_litValues' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_nil_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_single_halt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_single_halt.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_single_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_widen_one' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.readOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizesL_halt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizesL_haltL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizes_halt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizesM_overflow' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizes_oneOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.runItem_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.runItem_succ' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_applyGen.match_1_13' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen.match_1_15' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen.match_1_28' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_apply' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_applyF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_bOfE' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_build.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_build.match_1_99' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_build' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildConst' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildPair.match_1_101' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_97' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_99' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildSucc.match_1_129' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSucc.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSucc' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildSuccF.match_1_101' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSuccF.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSuccF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_callF.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callF.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_callOps.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callOps.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callOps' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_closure.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.wtl_length.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_length._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_length' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_closure' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_cond.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_cond.match_1_11' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_condId.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_condId' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_eOfB' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_eOfBFold' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_eOfBNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_fOfB' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_unit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_fUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kHeld' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kLit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kId' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kIf' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kNeg' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kSame' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_lCons.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons.match_1_17' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons.match_1_19' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_lNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_letBind.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letBind.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letBind' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_letWild.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letWild.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letWild' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBool._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchHolder.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchHolder.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchHolder' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBool' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBoolId._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBoolId.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchBoolId' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchNat._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchNat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchUnit._proof_1_386' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchUnit.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchUnit.match_1_387' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsCons._simp_1_13' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsCons.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons.match_1_14' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons.match_1_16' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsOfL' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_29' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_31' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_ops_box.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_ops_box.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_ops_box.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_ops_box' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_part._sparseCasesOn_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_part.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_part.match_1_14' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_part.match_1_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_part' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_part._sparseCasesOn_1_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_prim.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_prim.match_1_38' does not depend on any axioms\n'LexLeanPreservation.Rust.wtAll_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wtAll_iff._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.wtAll_iff' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_append' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_bitwise' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_checked' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_convert' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_decode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_encode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_fixedTyped.match_1_67' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_format' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_index' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_join' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_parse' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_shift' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.slice_eq' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_slice' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_split' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_unary' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtl_one.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_one' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_three.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_three' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_two.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_two' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_fixedTyped' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_prim' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_prim' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_primF.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF.match_1_7' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_primWiden.match_1_108' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_110' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_112' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_114' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_116' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.typedLitAll_wt.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit_wt.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits_wt.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_var' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_varUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_zero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.shapeOf.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_10' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_11' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_12' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_13' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_14' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_6' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_7' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_8' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.tempFresh.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_12.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_13.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_14.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.allWidth.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.allWidth.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.allWidth.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_100' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_101' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_102' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_103' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_104' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_105' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_106' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_107' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_108' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_109' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_110' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_111' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_112' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_113' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_114' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_115' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_116' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_117' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_118' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_119' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_120' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_121' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_122' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_123' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_124' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_125' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_126' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_127' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_128' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_129' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_130' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_131' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_132' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_133' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_134' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_135' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_136' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_137' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_138' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_139' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_140' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_141' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_142' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_143' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_144' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_145' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_146' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_147' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_148' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_149' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_150' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_151' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_152' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_153' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_154' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_155' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_156' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_157' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_158' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_159' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_160' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_161' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_162' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_163' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_164' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_165' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_166' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_167' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_168' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_169' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_170' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_171' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_172' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_173' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_174' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_175' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_176' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_177' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_178' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_179' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_180' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_181' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_182' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_183' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_184' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_185' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_186' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_51' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_52' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_53' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_54' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_55' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_56' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_57' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_58' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_59' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_60' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_61' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_62' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_63' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_64' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_65' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_66' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_67' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_68' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_69' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_70' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_71' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_72' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_73' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_74' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_75' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_76' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_77' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_78' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_79' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_80' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_81' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_82' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_83' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_84' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_85' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_86' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_87' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_88' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_89' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_90' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_91' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_92' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_93' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_94' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_95' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_96' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_97' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_98' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_99' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_100' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_101' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_102' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_103' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_104' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_105' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_106' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_107' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_108' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_109' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_110' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_111' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_112' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_113' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_114' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_115' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_116' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_117' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_118' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_119' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_120' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_121' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_122' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_123' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_124' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_125' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_126' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_127' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_128' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_129' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_130' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_131' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_132' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_133' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_134' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_135' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_136' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_137' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_138' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_139' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_140' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_141' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_142' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_143' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_144' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_145' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_146' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_147' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_148' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_149' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_150' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_151' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_152' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_153' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_154' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_155' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_156' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_157' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_158' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_159' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_160' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_161' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_162' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_163' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_164' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_165' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_166' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_167' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_168' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_169' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_170' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_171' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_172' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_173' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_174' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_175' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_176' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_177' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_178' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_179' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_180' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_181' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_182' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_183' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_184' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_51' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_52' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_53' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_54' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_55' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_56' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_57' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_58' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_59' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_60' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_61' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_62' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_63' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_64' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_65' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_66' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_67' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_68' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_69' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_70' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_71' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_72' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_73' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_74' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_75' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_76' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_77' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_78' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_79' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_80' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_81' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_82' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_83' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_84' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_85' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_86' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_87' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_88' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_89' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_90' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_91' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_92' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_93' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_94' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_95' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_96' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_97' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_98' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_99' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemAccepts.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemAccepts.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.literal.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_10' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_11' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_12' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_13' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_14' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_15' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_3' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_4' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_5' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_6' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_7' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_8' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_9' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.propagated.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.returned.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_10' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_11' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_12' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_13' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_14' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_15' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_16' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_17' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_18' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_19' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_20' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_21' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_22' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_23' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_24' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_25' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_26' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_27' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_28' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_29' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_30' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_31' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_32' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_33' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_34' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_35' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_36' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_37' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_38' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_39' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_40' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_41' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_42' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_43' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_44' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_45' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_46' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_47' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_48' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_49' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_5' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_50' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_51' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_52' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_53' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_54' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_55' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_56' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_57' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_58' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_59' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_6' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_60' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_61' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_62' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_63' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_64' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_65' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_66' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_67' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_68' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_69' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_7' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_70' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_71' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_72' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_73' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_74' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_75' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_76' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_77' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_78' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_79' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_8' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_80' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_81' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_82' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_83' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_9' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_10' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_100' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_101' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_102' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_103' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_104' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_105' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_106' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_107' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_108' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_109' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_11' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_110' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_111' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_112' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_113' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_114' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_115' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_116' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_117' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_118' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_119' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_12' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_120' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_121' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_122' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_123' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_124' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_125' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_126' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_127' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_128' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_129' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_13' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_130' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_131' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_132' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_133' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_134' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_135' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_136' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_137' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_138' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_139' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_14' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_140' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_141' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_142' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_143' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_144' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_145' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_146' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_147' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_148' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_149' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_15' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_150' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_151' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_152' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_153' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_154' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_155' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_156' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_157' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_158' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_159' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_16' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_160' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_161' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_162' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_163' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_164' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_165' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_166' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_167' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_168' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_169' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_17' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_170' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_171' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_172' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_173' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_174' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_175' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_176' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_177' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_178' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_179' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_18' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_180' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_181' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_182' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_183' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_184' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_185' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_186' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_187' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_188' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_189' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_19' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_190' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_191' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_192' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_193' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_194' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_195' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_196' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_197' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_198' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_199' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_20' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_200' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_201' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_202' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_203' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_204' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_205' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_206' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_207' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_208' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_209' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_21' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_210' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_211' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_212' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_213' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_214' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_215' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_216' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_217' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_218' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_219' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_22' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_220' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_221' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_222' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_223' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_224' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_225' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_226' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_227' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_228' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_229' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_23' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_230' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_231' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_232' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_233' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_234' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_235' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_236' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_237' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_238' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_239' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_24' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_240' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_241' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_242' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_243' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_244' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_245' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_246' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_247' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_248' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_249' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_25' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_250' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_251' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_252' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_253' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_254' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_255' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_256' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_257' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_258' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_259' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_26' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_260' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_261' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_262' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_263' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_264' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_265' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_266' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_267' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_268' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_269' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_27' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_270' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_271' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_272' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_273' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_274' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_275' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_276' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_277' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_278' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_279' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_28' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_280' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_281' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_282' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_283' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_284' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_285' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_286' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_287' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_288' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_289' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_29' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_290' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_291' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_292' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_293' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_294' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_295' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_296' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_297' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_298' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_299' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_30' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_300' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_301' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_302' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_303' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_304' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_305' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_306' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_307' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_308' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_309' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_31' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_310' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_311' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_312' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_313' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_314' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_315' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_316' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_317' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_318' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_319' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_32' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_320' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_321' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_322' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_323' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_324' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_325' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_326' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_327' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_328' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_329' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_33' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_330' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_331' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_332' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_333' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_334' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_335' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_336' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_337' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_338' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_339' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_34' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_340' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_341' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_342' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_343' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_344' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_345' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_346' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_347' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_348' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_349' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_35' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_350' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_351' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_352' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_353' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_354' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_355' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_356' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_357' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_358' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_359' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_36' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_360' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_361' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_362' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_363' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_364' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_365' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_366' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_367' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_368' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_369' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_37' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_370' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_38' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_39' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_40' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_41' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_42' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_43' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_44' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_45' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_46' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_47' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_48' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_49' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_5' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_50' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_51' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_52' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_53' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_54' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_55' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_56' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_57' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_58' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_59' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_6' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_60' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_61' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_62' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_63' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_64' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_65' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_66' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_67' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_68' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_69' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_7' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_70' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_71' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_72' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_73' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_74' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_75' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_76' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_77' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_78' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_79' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_8' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_80' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_81' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_82' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_83' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_84' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_85' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_86' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_87' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_88' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_89' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_9' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_90' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_91' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_92' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_93' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_94' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_95' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_96' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_97' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_98' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_99' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromStrings.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromStrings.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromStrings.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.primitive.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1000' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1001' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1002' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1003' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1004' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1005' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1006' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1007' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1008' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1009' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1010' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1011' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1012' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1013' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1014' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1015' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1016' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1017' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1018' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1019' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1020' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1021' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1022' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1023' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1024' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1025' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1026' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1027' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1028' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1029' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1030' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1031' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1032' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1033' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1034' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1035' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1036' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1037' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1038' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1039' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1040' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1041' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1042' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1043' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1044' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1045' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1046' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1047' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1048' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1049' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1050' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1051' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1052' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1053' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1054' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1055' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1056' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1057' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1058' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1059' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1060' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1061' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1062' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1063' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1064' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1065' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1066' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1067' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1068' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1069' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1070' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1071' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1072' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1073' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1074' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1075' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1076' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1077' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1078' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1079' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1080' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1081' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1082' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1083' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1084' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1085' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1086' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1087' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1088' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1089' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1090' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1091' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1092' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1093' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1094' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1095' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1096' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1097' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1098' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1099' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1426' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1427' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1428' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1429' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1430' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1431' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1432' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1433' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1434' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1435' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1436' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1437' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1438' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1439' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1440' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1441' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1442' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1443' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1444' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1445' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1446' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1447' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1448' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1449' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1450' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1451' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1452' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1453' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1454' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1455' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1456' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1457' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1458' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1459' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1460' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1461' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1462' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1463' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1464' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1465' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1466' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1467' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1468' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1469' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1470' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1471' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1472' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1473' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1474' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1475' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1476' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1477' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1478' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1479' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1480' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1481' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1482' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1483' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1484' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1485' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1486' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1487' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1488' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1489' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1490' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1491' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1492' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1493' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1494' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1495' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1496' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1497' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1498' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1499' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1500' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1501' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1502' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1503' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1504' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1505' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1506' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1507' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1508' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1509' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1510' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1511' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1512' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1513' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1514' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1515' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1516' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1517' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1518' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1519' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1520' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1521' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1522' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1523' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1524' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1525' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1526' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1527' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1528' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1529' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1530' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1531' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1532' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1533' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1534' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1535' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1536' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1537' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1538' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1539' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1540' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1541' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1542' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1543' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1544' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1545' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1546' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1547' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1548' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1549' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1550' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1551' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1552' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1553' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1554' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1555' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1556' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1557' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1558' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1559' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1560' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1561' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1562' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1563' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1564' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1565' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1566' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1567' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1568' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1569' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1570' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1571' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1572' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1573' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1574' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1575' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1576' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1577' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1578' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1579' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1580' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1581' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1582' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1583' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1584' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1585' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1586' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1587' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1588' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1589' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1590' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1591' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1592' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1593' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1594' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1595' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1596' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1597' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1598' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1599' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1600' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1601' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1602' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1603' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1604' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1605' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1606' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1607' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1608' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1609' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1610' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1611' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1612' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1613' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1614' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1615' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1616' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1617' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1618' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1619' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1620' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1621' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1622' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1623' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1624' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1625' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1626' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1627' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1628' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1629' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1630' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1631' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1632' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1633' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1634' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1635' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1636' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1637' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1638' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1639' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1640' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1641' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1642' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1643' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1644' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1645' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1646' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1647' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1648' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1649' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1650' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1651' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1652' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1653' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1654' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1655' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1656' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1657' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1658' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1659' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1660' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1661' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1662' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1663' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1664' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1665' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1666' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1667' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1668' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1669' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1670' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1671' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1672' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1673' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1674' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1675' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1676' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1677' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1678' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1679' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1680' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1681' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1682' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1683' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1684' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1685' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1686' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1687' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1688' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1689' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1690' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1691' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1692' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1693' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1694' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1695' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1696' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1697' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1698' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1699' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1700' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1701' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1702' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1703' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1704' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1705' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1706' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1707' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1708' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1709' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1710' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1711' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1712' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1713' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1714' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1715' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1716' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1717' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1718' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1719' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1720' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1721' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1722' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1723' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1724' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1725' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1726' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1727' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1728' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1729' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1730' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1731' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1732' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1733' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1734' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1735' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1736' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1737' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1738' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1739' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1740' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1741' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1742' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1743' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1744' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1745' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1746' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1747' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1748' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1749' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1750' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1751' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1752' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1753' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1754' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1755' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1756' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1757' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1758' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1759' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1760' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1761' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1762' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1763' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1764' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1765' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1766' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1767' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1768' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1769' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1770' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1771' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1772' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1773' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1774' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1775' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1776' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1777' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1778' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1779' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1780' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1781' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1782' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1783' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1784' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1785' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1786' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1787' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1788' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1789' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1790' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1791' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1792' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1793' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1794' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1795' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1796' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1797' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1798' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1799' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_18' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1800' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1801' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1802' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1803' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1804' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1805' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1806' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1807' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1808' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1809' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1810' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1811' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1812' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1813' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1814' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1815' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1816' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1817' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1818' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1819' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1820' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1821' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1822' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1823' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1824' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1825' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1826' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1827' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1828' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1829' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1830' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1831' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1832' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1833' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1834' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1835' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1836' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1837' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1838' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1839' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1840' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1841' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1842' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1843' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1844' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1845' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1846' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1847' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1848' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1849' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1850' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1851' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1852' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1853' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1854' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1855' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1856' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1857' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1858' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1859' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1860' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1861' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1862' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1863' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1864' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1865' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1866' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1867' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1868' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1869' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1870' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1871' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1872' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1873' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1874' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1875' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1876' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1877' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1878' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1879' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1880' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1881' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1882' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1883' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1884' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1885' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1886' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1887' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1888' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1889' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1890' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1891' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1892' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1893' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1894' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1895' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1896' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1897' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1898' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1899' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1900' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1901' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1902' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1903' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1904' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1905' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1906' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1907' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1908' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1909' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1910' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1911' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1912' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1913' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1914' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1915' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1916' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1917' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1918' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1919' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1920' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1921' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1922' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1923' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1924' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1925' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1926' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1927' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1928' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1929' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1930' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1931' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1932' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1933' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1934' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1935' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1936' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1937' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1938' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1939' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1940' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1941' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1942' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1943' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1944' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1945' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1946' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1947' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1948' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1949' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1950' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1951' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1952' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1953' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1954' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1955' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1956' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1957' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1958' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1959' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1960' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1961' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1962' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1963' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1964' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1965' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1966' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1967' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1968' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1969' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1970' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1971' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1972' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1973' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1974' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1975' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1976' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1977' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1978' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1979' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1980' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1981' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1982' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1983' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1984' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1985' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1986' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1987' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1988' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1989' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1990' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1991' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1992' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1993' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1994' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1995' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1996' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1997' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1998' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1999' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_20' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2000' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2001' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2002' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2003' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2004' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2005' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2006' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2007' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2008' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2009' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2010' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2011' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2012' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2013' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2014' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2015' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2016' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2017' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2018' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2019' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2020' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2021' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2022' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2023' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2024' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2025' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2026' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2027' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2028' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2029' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2030' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2031' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2032' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2033' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2034' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2035' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2036' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2037' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2038' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2039' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2040' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2041' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2042' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2043' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2044' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2045' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2046' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2047' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2048' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2049' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2050' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2051' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2052' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2053' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2054' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2055' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2056' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2057' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2058' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2059' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2060' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2061' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2062' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2063' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2064' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2065' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2066' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2067' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2068' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2069' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2070' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2071' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2072' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2073' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2074' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2075' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2076' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2077' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2078' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2079' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2080' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2081' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2082' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2083' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2084' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2085' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2086' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2087' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2088' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2089' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2090' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2091' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2092' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2093' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2094' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2095' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2096' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2097' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2098' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2099' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_22' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_23' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_24' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2426' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2427' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2428' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2429' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2430' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2431' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2432' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2433' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2434' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2435' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2436' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2437' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2438' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2439' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2440' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2441' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2442' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2443' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2444' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2445' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2446' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2447' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2448' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2449' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2450' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2451' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2452' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2453' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2454' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2455' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2456' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2457' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2458' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2459' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2460' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2461' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2462' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2463' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2464' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2465' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2466' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2467' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2468' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2469' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2470' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2471' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2472' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2473' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2474' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2475' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2476' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2477' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2478' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2479' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2480' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2481' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2482' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2483' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2484' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2485' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2486' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2487' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2488' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2489' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2490' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2491' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2492' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2493' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2494' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2495' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2496' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2497' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2498' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2499' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_25' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2500' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2501' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2502' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2503' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2504' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2505' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2506' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2507' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2508' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2509' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2510' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2511' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2512' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2513' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2514' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2515' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2516' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2517' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2518' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2519' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2520' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2521' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2522' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2523' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2524' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2525' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2526' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2527' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2528' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2529' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2530' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2531' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2532' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2533' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2534' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2535' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2536' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2537' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2538' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2539' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2540' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2541' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2542' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2543' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2544' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2545' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2546' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2547' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2548' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2549' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2550' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2551' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2552' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2553' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2554' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2555' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2556' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2557' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2558' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2559' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2560' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2561' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2562' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2563' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2564' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2565' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2566' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2567' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2568' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2569' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2570' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2571' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2572' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2573' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2574' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2575' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2576' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2577' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2578' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2579' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2580' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2581' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2582' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2583' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2584' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2585' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2586' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2587' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2588' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2589' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2590' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2591' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2592' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2593' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2594' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2595' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2596' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2597' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2598' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2599' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_26' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2600' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2601' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2602' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2603' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2604' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2605' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2606' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2607' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2608' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2609' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2610' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2611' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2612' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2613' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2614' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2615' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2616' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2617' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2618' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2619' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2620' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2621' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2622' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2623' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2624' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2625' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2626' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2627' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2628' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2629' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2630' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2631' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2632' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2633' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2634' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2635' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2636' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2637' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2638' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2639' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2640' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2641' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2642' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2643' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2644' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2645' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2646' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2647' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2648' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2649' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2650' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2651' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2652' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2653' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2654' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2655' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2656' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2657' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2658' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2659' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2660' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2661' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2662' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2663' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2664' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2665' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2666' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2667' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2668' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2669' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2670' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2671' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2672' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2673' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2674' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2675' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2676' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2677' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2678' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2679' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2680' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2681' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2682' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2683' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2684' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2685' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2686' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2687' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2688' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2689' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2690' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2691' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2692' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2693' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2694' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2695' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2696' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2697' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2698' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2699' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_27' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2700' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2701' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2702' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2703' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2704' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2705' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2706' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2707' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2708' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2709' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2710' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2711' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2712' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2713' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2714' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2715' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2716' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2717' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2718' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2719' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2720' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2721' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2722' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2723' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2724' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2725' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2726' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2727' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2728' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2729' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2730' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2731' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2732' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2733' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2734' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2735' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2736' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2737' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2738' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2739' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2740' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2741' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2742' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2743' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2744' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2745' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2746' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2747' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2748' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2749' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2750' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2751' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2752' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2753' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2754' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2755' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2756' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2757' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2758' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2759' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2760' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2761' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2762' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2763' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2764' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2765' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2766' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2767' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2768' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2769' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2770' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2771' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2772' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2773' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2774' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2775' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2776' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2777' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2778' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2779' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2780' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2781' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2782' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2783' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2784' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2785' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2786' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2787' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2788' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2789' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2790' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2791' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2792' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2793' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2794' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2795' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2796' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2797' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2798' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2799' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_28' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2800' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2801' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2802' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2803' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2804' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2805' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2806' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2807' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2808' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2809' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2810' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2811' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2812' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2813' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2814' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2815' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2816' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2817' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2818' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2819' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2820' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2821' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2822' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2823' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2824' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2825' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2826' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2827' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2828' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2829' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2830' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2831' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2832' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2833' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2834' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2835' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2836' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2837' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2838' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2839' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2840' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2841' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2842' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2843' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2844' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2845' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2846' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2847' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2848' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2849' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2850' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2851' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2852' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2853' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2854' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2855' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2856' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2857' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2858' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2859' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2860' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2861' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2862' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2863' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2864' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2865' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2866' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2867' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2868' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2869' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2870' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2871' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2872' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2873' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2874' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2875' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2876' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2877' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2878' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2879' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2880' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2881' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2882' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2883' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2884' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2885' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2886' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2887' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2888' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2889' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2890' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2891' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2892' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2893' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2894' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2895' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2896' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2897' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2898' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2899' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_29' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2900' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2901' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2902' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2903' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2904' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2905' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2906' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2907' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2908' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2909' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2910' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2911' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2912' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2913' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2914' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2915' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2916' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2917' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2918' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2919' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2920' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2921' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2922' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2923' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2924' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2925' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2926' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2927' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2928' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2929' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2930' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2931' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2932' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2933' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2934' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2935' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2936' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2937' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2938' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2939' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2940' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2941' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2942' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2943' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2944' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2945' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2946' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2947' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2948' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2949' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2950' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2951' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2952' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2953' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2954' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2955' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2956' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2957' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2958' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2959' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2960' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2961' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2962' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2963' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2964' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2965' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2966' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2967' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2968' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2969' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2970' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2971' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2972' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2973' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2974' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2975' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2976' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2977' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2978' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2979' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2980' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2981' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2982' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2983' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2984' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2985' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2986' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2987' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2988' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2989' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2990' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2991' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2992' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2993' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2994' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2995' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2996' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2997' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2998' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2999' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_30' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3000' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3001' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3002' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3003' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3004' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3005' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3006' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3007' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3008' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3009' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3010' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3011' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3012' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3013' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3014' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3015' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3016' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3017' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3018' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3019' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3020' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3021' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3022' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3023' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3024' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3025' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3026' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3027' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3028' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3029' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3030' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3031' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3032' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3033' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3034' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3035' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3036' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3037' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3038' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3039' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3040' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3041' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3042' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3043' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3044' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3045' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3046' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3047' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3048' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3049' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3050' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3051' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3052' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3053' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3054' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3055' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3056' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3057' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3058' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3059' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3060' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3061' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3062' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3063' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3064' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3065' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3066' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3067' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3068' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3069' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3070' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3071' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3072' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3073' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3074' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3075' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3076' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3077' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3078' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3079' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3080' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3081' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3082' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3083' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3084' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3085' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3086' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3087' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3088' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3089' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3090' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3091' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3092' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3093' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3094' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3095' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3096' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3097' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3098' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3099' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_31' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_33' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_34' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_35' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_36' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_37' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_38' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_39' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_40' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_41' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_42' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_426' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_427' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_428' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_429' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_43' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_430' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_431' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_432' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_433' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_434' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_435' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_436' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_437' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_438' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_439' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_44' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_440' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_441' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_442' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_443' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_444' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_445' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_446' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_447' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_448' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_449' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_45' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_450' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_451' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_452' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_453' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_454' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_455' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_456' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_457' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_458' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_459' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_46' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_460' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_461' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_462' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_463' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_464' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_465' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_466' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_467' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_468' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_469' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_47' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_470' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_471' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_472' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_473' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_474' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_475' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_476' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_477' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_478' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_479' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_48' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_480' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_481' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_482' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_483' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_484' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_485' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_486' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_487' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_488' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_489' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_49' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_490' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_491' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_492' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_493' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_494' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_495' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_496' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_497' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_498' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_499' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_50' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_500' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_501' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_502' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_503' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_504' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_505' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_506' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_507' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_508' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_509' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_51' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_510' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_511' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_512' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_513' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_514' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_515' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_516' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_517' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_518' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_519' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_52' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_520' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_521' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_522' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_523' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_524' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_525' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_526' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_527' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_528' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_529' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_53' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_530' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_531' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_532' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_533' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_534' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_535' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_536' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_537' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_538' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_539' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_54' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_540' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_541' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_542' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_543' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_544' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_545' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_546' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_547' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_548' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_549' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_55' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_550' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_551' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_552' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_553' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_554' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_555' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_556' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_557' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_558' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_559' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_56' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_560' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_561' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_562' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_563' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_564' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_565' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_566' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_567' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_568' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_569' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_57' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_570' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_571' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_572' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_573' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_574' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_575' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_576' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_577' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_578' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_579' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_58' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_580' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_581' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_582' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_583' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_584' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_585' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_586' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_587' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_588' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_589' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_59' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_590' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_591' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_592' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_593' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_594' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_595' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_596' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_597' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_598' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_599' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_60' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_600' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_601' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_602' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_603' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_604' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_605' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_606' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_607' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_608' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_609' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_61' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_610' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_611' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_612' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_613' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_614' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_615' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_616' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_617' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_618' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_619' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_62' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_620' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_621' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_622' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_623' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_624' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_625' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_626' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_627' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_628' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_629' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_63' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_630' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_631' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_632' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_633' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_634' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_635' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_636' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_637' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_638' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_639' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_640' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_641' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_642' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_643' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_644' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_645' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_646' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_647' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_648' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_649' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_65' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_650' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_651' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_652' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_653' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_654' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_655' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_656' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_657' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_658' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_659' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_66' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_660' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_661' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_662' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_663' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_664' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_665' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_666' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_667' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_668' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_669' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_67' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_670' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_671' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_672' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_673' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_674' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_675' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_676' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_677' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_678' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_679' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_68' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_680' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_681' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_682' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_683' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_684' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_685' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_686' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_687' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_688' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_689' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_69' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_690' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_691' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_692' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_693' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_694' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_695' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_696' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_697' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_698' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_699' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_70' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_700' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_701' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_702' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_703' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_704' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_705' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_706' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_707' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_708' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_709' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_71' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_710' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_711' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_712' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_713' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_714' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_715' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_716' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_717' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_718' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_719' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_72' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_720' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_721' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_722' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_723' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_724' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_725' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_726' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_727' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_728' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_729' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_73' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_730' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_731' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_732' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_733' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_734' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_735' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_736' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_737' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_738' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_739' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_74' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_740' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_741' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_742' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_743' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_744' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_745' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_746' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_747' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_748' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_749' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_75' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_750' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_751' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_752' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_753' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_754' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_755' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_756' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_757' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_758' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_759' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_76' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_760' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_761' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_762' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_763' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_764' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_765' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_766' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_767' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_768' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_769' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_77' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_770' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_771' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_772' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_773' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_774' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_775' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_776' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_777' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_778' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_779' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_78' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_780' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_781' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_782' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_783' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_784' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_785' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_786' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_787' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_788' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_789' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_79' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_790' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_791' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_792' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_793' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_794' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_795' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_796' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_797' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_798' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_799' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_80' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_800' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_801' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_802' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_803' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_804' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_805' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_806' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_807' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_808' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_809' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_81' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_810' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_811' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_812' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_813' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_814' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_815' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_816' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_817' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_818' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_819' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_82' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_820' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_821' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_822' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_823' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_824' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_825' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_826' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_827' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_828' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_829' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_83' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_830' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_831' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_832' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_833' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_834' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_835' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_836' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_837' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_838' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_839' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_84' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_840' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_841' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_842' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_843' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_844' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_845' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_846' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_847' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_848' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_849' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_85' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_850' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_851' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_852' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_853' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_854' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_855' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_856' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_857' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_858' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_859' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_86' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_860' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_861' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_862' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_863' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_864' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_865' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_866' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_867' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_868' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_869' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_87' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_870' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_871' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_872' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_873' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_874' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_875' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_876' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_877' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_878' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_879' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_88' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_880' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_881' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_882' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_883' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_884' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_885' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_886' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_887' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_888' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_889' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_89' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_890' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_891' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_892' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_893' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_894' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_895' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_896' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_897' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_898' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_899' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_90' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_900' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_901' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_902' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_903' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_904' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_905' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_906' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_907' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_908' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_909' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_91' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_910' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_911' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_912' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_913' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_914' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_915' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_916' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_917' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_918' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_919' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_92' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_920' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_921' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_922' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_923' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_924' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_925' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_926' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_927' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_928' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_929' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_93' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_930' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_931' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_932' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_933' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_934' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_935' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_936' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_937' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_938' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_939' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_94' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_940' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_941' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_942' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_943' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_944' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_945' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_946' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_947' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_948' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_949' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_95' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_950' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_951' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_952' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_953' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_954' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_955' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_956' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_957' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_958' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_959' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_96' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_960' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_961' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_962' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_963' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_964' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_965' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_966' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_967' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_968' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_969' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_97' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_970' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_971' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_972' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_973' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_974' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_975' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_976' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_977' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_978' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_979' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_98' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_980' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_981' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_982' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_983' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_984' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_985' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_986' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_987' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_988' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_989' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_99' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_990' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_991' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_992' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_993' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_994' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_995' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_996' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_997' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_998' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_999' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.adtFields.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_12.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_13.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_12.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat_outer' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.boxedOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.boxedOne.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.boxedOne' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bp_entries._simp_1_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.simplePat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bp_entries.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.entriesOf._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bp_entries._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.bp_entries' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.directPat_cons._simp_1_4' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.identBoxed_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identLocal_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf_spec' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_cons' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_len.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_len._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_len' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_loads._simp_1_27' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_loads._simp_1_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_loads.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none._simp_1_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none._simp_1_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rlookup_append' depends on axioms: [propext]\n'LexLeanPreservation.Rust.same_boxed_boxed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_boxed_none' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_local_none._simp_1_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_local_none._simp_1_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_local_none.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.same_local_local' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_local_none._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_local_none' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_boxed_local' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rlookup_local_boxed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rlookup_local_single' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_loads._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.directPat_loads' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_boxed_some._simp_1_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_some._simp_1_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_some.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_some._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.entries_boxed_some' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.envRel_locals' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fields_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindPatterns_single' depends on axioms: [propext]\n'LexLeanPreservation.Rust.outer_bind' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.paramCtx_length.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_length._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_length' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.bindOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOne.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.covered.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.covered_mem._simp_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.wt_uninh._simp_10' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.covered_mem' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.ctorOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.destruct_canon' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq_refl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.destruct_excl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.directPat.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_lookup.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_none_of._simp_1_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_none_of.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sameIdent_iff' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_none_of._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_none_of' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.identsDistinct.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.entries_lookup._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_lookup' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.eval_field.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.eval_field._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_field.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_field' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats_none._simp_1_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats_none.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats_none._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats_none' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats_some._simp_1_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats_some.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats_some._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats_some' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_partRead' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.tyBeq_unit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.field_out' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.findArm_some.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.findArm_some._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.findArm_some' depends on axioms: [propext]\n'LexLeanPreservation.Rust.findDispatch_some.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.findDispatch_some._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.findDispatch_some' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_ext' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identBoxed.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identBoxed.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.isWild._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.okBlock.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.otherArms.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.otherArms_mem._simp_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.otherArms_mem' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.outer_miss' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.outer_view' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_ext.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_ext._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_ext' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_fresh.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_fresh._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_fresh' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocal.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_matchOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_matchOn_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_uncons.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_uncons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_scrut' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rca_hit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rca_miss' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_det' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_rebuild.match_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_eq_of_same' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg_rc' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_rebuild._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_rebuild' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.readOf_rc' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.realizesM_value' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArg_simple' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_def' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs_simple.match_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs_simple._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs_simple' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_14.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuild_rca._simp_1_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuild_rca.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_value._simp_1_21' depends on axioms: [propext]\n'LexLeanPreservation.Rust.single_rebuild' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_rca._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_rca' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuildsArm.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_nil' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_fieldGen._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_fieldGen.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_fieldGen.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.wtl_get.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_get._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_get' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_fieldGen' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_fieldHeld' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_fieldRead' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_mCons._simp_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_mCons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_mNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchArms._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.tyBeq_refl.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq_refl._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.tysBeq_refl.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tysBeq_refl._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_refl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.tysBeq_refl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.uninh_of_inert.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.uninh_of_inert._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh_of_inert' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_uninh.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_uninh._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtl_uninh.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_uninh._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_uninh' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.taken_arm' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchArms' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchPair._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchPair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchRebuilt._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchRebuilt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchRebuilt.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchRebuilt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.simplePat.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.validU.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_uninh' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.findArm.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findArm.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findArm.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_5' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_6' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_7' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_8' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.fl_of' does not depend on any axioms\n'LexLeanPreservation.Rust.fnFallible.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of._simp_1_14' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.funSem_of.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_12' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.isTemp.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isTemp.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.item_ne' depends on axioms: [propext]\n'LexLeanPreservation.Rust.kind_ne' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sound._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sound._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.simulate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Representable._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Representable.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Representable._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.RepresentableL._f' does not depend on any axioms\n'LexLeanPreservation.Rust.Representable' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Representable._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.Representable._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.compose' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rel_ne_stuck' depends on axioms: [propext]\n'LexLeanPreservation.Rust.repL_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.repL_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.runItem_abort_infallible' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtAll_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wtAll_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_map._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_map' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_adt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_bool' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_bytes' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encExcept.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_encExcept' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_list' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encList' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encOption.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_encOption' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encOrdering' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encPair' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encUnit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_errorV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i32' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i64' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_int' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_listEnc' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_nat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_noneV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_okV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_optEnc.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_someV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_optEnc' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_ordering' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_pairV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_string' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u32' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u64' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_unitValue' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_nil' depends on axioms: [propext]\n'LexLeanPreservation.encExcept.eq_1' does not depend on any axioms\n'LexLeanPreservation.encExcept.eq_2' does not depend on any axioms\n'LexLeanPreservation.encOption.eq_1' does not depend on any axioms\n'LexLeanPreservation.encOption.eq_2' does not depend on any axioms\n'LexLeanPreservation.encPair.eq_1' does not depend on any axioms\n'LexLeanPreservation.encUnit.eq_1' does not depend on any axioms\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n-- statement vocabulary\ninductive LexLeanPreservation.Obs : Type\nnumber of parameters: 0\nconstructors:\nLexLeanPreservation.Obs.value : LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs\nLexLeanPreservation.Obs.overflow : LexLeanPreservation.Obs\nLexLeanPreservation.Obs.stuck : LexLeanPreservation.Obs\ndef LexLeanPreservation.Rel : Bool → LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs :=\nfun fits v => bif fits then LexLeanPreservation.Obs.value v else LexLeanPreservation.Obs.overflow\ndef LexLeanPreservation.Conv : LexLeanTarget.TargetSyntax.Program →\n List (Nat × LexLeanTarget.TargetSyntax.Value) → LexLeanTarget.TargetSyntax.Expr → LexLeanPreservation.Obs → Prop :=\nfun p env e o => ∃ n, LexLeanPreservation.obs (LexLeanTarget.TargetSemantics.eval n p env e) = some o\ndef LexLeanPreservation.FunRel : LexLeanTarget.TargetSyntax.Program →\n Nat → List LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs → Prop :=\nfun p f args o =>\n ∃ fn,\n LexLeanTarget.TargetSemantics.LexLeanRuntime.index p.functions f = some fn ∧\n ∃ env,\n LexLeanTarget.TargetSemantics.bindAll fn.parameters args [] = some env ∧\n LexLeanPreservation.Conv p env fn.body o\ndef LexLeanPreservation.RunConv : LexLeanTarget.TargetSyntax.Program →\n Nat → List LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs → Prop :=\nfun p entry args o => ∃ n, LexLeanPreservation.obs (LexLeanTarget.TargetSemantics.run n p entry args) = some o\ndef LexLeanPreservation.Rust.WT : LexLeanTarget.TargetSyntax.Program →\n LexLeanPreservation.Rust.RCrate →\n LexLeanPreservation.Rust.Flags → LexLeanTarget.TargetSyntax.Value → LexLeanTarget.TargetSyntax.Ty → Prop :=\nfun p c A x x_1 =>\n x.brecOn (LexLeanPreservation.Rust.WT._f p c A)\n (fun t f => ⟨LexLeanPreservation.Rust.WTL._f p c A t f, LexLeanPreservation.Rust.WTAll._f p c A t f⟩) x_1\ndef LexLeanPreservation.Rust.WTL : LexLeanTarget.TargetSyntax.Program →\n LexLeanPreservation.Rust.RCrate →\n LexLeanPreservation.Rust.Flags →\n List LexLeanTarget.TargetSyntax.Value → List LexLeanTarget.TargetSyntax.Ty → Prop :=\nfun p c A x x_1 =>\n (LexLeanTarget.TargetSyntax.Value.brecOn_1 x (LexLeanPreservation.Rust.WT._f p c A) fun t f =>\n ⟨LexLeanPreservation.Rust.WTL._f p c A t f, LexLeanPreservation.Rust.WTAll._f p c A t f⟩).1\n x_1\ndef LexLeanPreservation.Rust.fnIdent : Nat → LexLeanPreservation.Rust.RIdent :=\nfun f => LexLeanTarget.RustSyntax.Ident.generated LexLeanTarget.RustSyntax.IdentKind.function f\ndef LexLeanPreservation.Rust.fnFallible : LexLeanPreservation.Rust.RCrate → Nat → Option Bool :=\nfun c f =>\n Option.map (fun fn => LexLeanTarget.RustSemantics.fallibleType fn.snd.fst)\n (LexLeanTarget.RustSemantics.findFunction c.items (LexLeanPreservation.Rust.fnIdent f))\ndef LexLeanPreservation.Rust.RCI : LexLeanPreservation.Rust.RCrate →\n LexLeanPreservation.Rust.RIdent → List LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Rust.ROut → Prop :=\nfun c f args o =>\n o ≠ LexLeanTarget.RustSemantics.ROutcome.exhausted ∧ ∃ n, LexLeanTarget.RustSemantics.invoke n c f args = o\ndef LexLeanPreservation.Rust.Realizes : Bool → LexLeanPreservation.Obs → LexLeanPreservation.Rust.ROut → Prop :=\nfun fl x x_1 =>\n match x, x_1 with\n | LexLeanPreservation.Obs.value v, LexLeanTarget.RustSemantics.ROutcome.value w => w = v\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.raise => fl = true\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.abort => True\n | x, x_2 => False\ndef LexLeanPreservation.Rust.RealizesFn : Bool → LexLeanPreservation.Obs → LexLeanPreservation.Rust.ROut → Prop :=\nfun fallible x x_1 =>\n match x, x_1 with\n | LexLeanPreservation.Obs.value v, LexLeanTarget.RustSemantics.ROutcome.value w => w = bif fallible then v.ok else v\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.value w =>\n fallible = true ∧ w = LexLeanTarget.TargetSyntax.Value.unit.error\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.abort => True\n | x, x_2 => False\ndef LexLeanPreservation.Rust.FunSem : LexLeanTarget.TargetSyntax.Program →\n LexLeanPreservation.Rust.RCrate → LexLeanPreservation.Rust.Flags → Nat → Nat → Prop :=\nfun p c A n f =>\n ∀ (fn : LexLeanTarget.TargetSyntax.Function) (args : List LexLeanTarget.TargetSyntax.Value)\n (env : List (Nat × LexLeanTarget.TargetSyntax.Value)) (F : Bool),\n LexLeanTarget.TargetSemantics.LexLeanRuntime.index p.functions f = some fn →\n LexLeanPreservation.Rust.WTL p c A args fn.types →\n LexLeanTarget.TargetSemantics.bindAll fn.parameters args [] = some env →\n LexLeanPreservation.Rust.fnFallible c f = some F →\n ∀ (o : LexLeanPreservation.Obs),\n LexLeanPreservation.obs (LexLeanTarget.TargetSemantics.eval n p env fn.body) = some o →\n o ≠ LexLeanPreservation.Obs.stuck →\n (∀ (v : LexLeanTarget.TargetSyntax.Value),\n o = LexLeanPreservation.Obs.value v → LexLeanPreservation.Rust.WT p c A v fn.result) ∧\n ∃ ro,\n LexLeanPreservation.Rust.RealizesFn F o ro ∧\n LexLeanPreservation.Rust.RCI c (LexLeanPreservation.Rust.fnIdent f) args ro\ndef LexLeanPreservation.someObs : LexLeanPreservation.Obs → LexLeanPreservation.Obs :=\nfun x =>\n match x with\n | LexLeanPreservation.Obs.value v => LexLeanPreservation.Obs.value v.some\n | LexLeanPreservation.Obs.overflow => LexLeanPreservation.Obs.overflow\n | LexLeanPreservation.Obs.stuck => LexLeanPreservation.Obs.stuck\ndef LexLeanPreservation.Rust.Representable : LexLeanTarget.TargetSyntax.Value → Prop :=\nfun x => x.brecOn LexLeanPreservation.Rust.Representable._f LexLeanPreservation.Rust.RepresentableL._f\ndef LexLeanPreservation.Rust.RepresentableL : List LexLeanTarget.TargetSyntax.Value → Prop :=\nfun x =>\n LexLeanTarget.TargetSyntax.Value.brecOn_1 x LexLeanPreservation.Rust.Representable._f\n LexLeanPreservation.Rust.RepresentableL._f\nLexLeanPreservation.Rust.runItem_abort_infallible : ∀ (profile : LexLeanTarget.RustSyntax.Profile)\n (item : LexLeanTarget.RustSyntax.Item) (values : List LexLeanTarget.TargetSyntax.Value),\n LexLeanTarget.RustSemantics.runItem profile item values = LexLeanTarget.RustSemantics.ROutcome.abort →\n LexLeanTarget.RustSemantics.itemFallible item = false\n","stdout_sha256":"b4d3e18c909023e8ef2eb16172d0d6a378d0dc0a522c5be3c92784e03cf17a51","tool":"lean"} +{"argv":["env","lean","-R","$STAGING/preserve-src","$STAGING/preserve-src/LexLeanPreserve/Audit.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Audit","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanPreservation.Obs' does not depend on any axioms\n'LexLeanPreservation.obs.match_1' does not depend on any axioms\n'LexLeanPreservation.obs' does not depend on any axioms\n'LexLeanPreservation.Conv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ConvA' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ObsL' does not depend on any axioms\n'LexLeanPreservation.obsL.match_1' does not depend on any axioms\n'LexLeanPreservation.obsL' does not depend on any axioms\n'LexLeanPreservation.ConvL' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.FunRel' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Obs._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.Obs._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.Obs.casesOn' does not depend on any axioms\n'LexLeanPreservation.Obs.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.Obs.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Obs.ctorElim' does not depend on any axioms\n'LexLeanPreservation.Obs.overflow.elim' does not depend on any axioms\n'LexLeanPreservation.Obs.stuck.elim' does not depend on any axioms\n'LexLeanPreservation.Obs.value.elim' does not depend on any axioms\n'LexLeanPreservation.Obs.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.Obs.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Obs.overflow.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Obs.recOn' does not depend on any axioms\n'LexLeanPreservation.Obs.stuck.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Obs.value.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Obs.value.inj' does not depend on any axioms\n'LexLeanPreservation.Obs.value.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Obs.value.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ObsL._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.ObsL._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.ObsL.casesOn' does not depend on any axioms\n'LexLeanPreservation.ObsL.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.ObsL.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.ObsL.ctorElim' does not depend on any axioms\n'LexLeanPreservation.ObsL.overflow.elim' does not depend on any axioms\n'LexLeanPreservation.ObsL.stuck.elim' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.elim' does not depend on any axioms\n'LexLeanPreservation.ObsL.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.ObsL.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ObsL.overflow.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ObsL.recOn' does not depend on any axioms\n'LexLeanPreservation.ObsL.stuck.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.inj' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.injEq' depends on axioms: [propext]\n'LexLeanPreservation.ObsL.values.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rel' does not depend on any axioms\n'LexLeanPreservation.Rel.eq_1' does not depend on any axioms\n'LexLeanPreservation.RelL' does not depend on any axioms\n'LexLeanPreservation.RelL.eq_1' does not depend on any axioms\n'LexLeanPreservation.RunConv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.addSteps_ne' does not depend on any axioms\n'LexLeanPreservation.chargeResult_ne' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.stable.match_1_16' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_18' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_20' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_22' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_24' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_26' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.eval.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.stable' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.evalArms_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs_ne' does not depend on any axioms\n'LexLeanPreservation.convA_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.eval_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs_addSteps' does not depend on any axioms\n'LexLeanPreservation.convA_hit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.convA_miss' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.evalList_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obsL_ne' does not depend on any axioms\n'LexLeanPreservation.convL_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.convL_cons._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.convL_cons._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.convL_cons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.convL_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_apply._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_apply._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_apply._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_apply' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_build' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_call._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_call._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_call' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_closure' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_cond._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_cond._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_field' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_first' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_let._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_let._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_let' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_match._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_match._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_match' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_matchV' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs_chargeResult' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_prim' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_second' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_var' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.funRel_intro' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs.eq_1' does not depend on any axioms\n'LexLeanPreservation.obs.eq_2' does not depend on any axioms\n'LexLeanPreservation.obs.eq_3' does not depend on any axioms\n'LexLeanPreservation.obs.eq_4' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_1' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_2' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_3' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_4' does not depend on any axioms\n'LexLeanPreservation.run_of_funRel' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.run.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ListEnc' does not depend on any axioms\n'LexLeanPreservation.ListEnc._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.ListEnc._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.ListEnc.casesOn' does not depend on any axioms\n'LexLeanPreservation.ListEnc.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.ListEnc.elem' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items' does not depend on any axioms\n'LexLeanPreservation.ListEnc.enc' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_cons' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_eq.match_1_1' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_nil' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_eq._f' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_eq' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.ListEnc.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.ListEnc.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk.inj' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk.injEq' depends on axioms: [propext]\n'LexLeanPreservation.ListEnc.mk.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ListEnc.recOn' does not depend on any axioms\n'LexLeanPreservation.OptEnc' does not depend on any axioms\n'LexLeanPreservation.OptEnc._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.OptEnc._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.OptEnc.casesOn' does not depend on any axioms\n'LexLeanPreservation.OptEnc.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.OptEnc.elem' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc_none' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc_some' does not depend on any axioms\n'LexLeanPreservation.encOption.match_1' does not depend on any axioms\n'LexLeanPreservation.encOption' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc_map' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.OptEnc.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.OptEnc.noConfusion' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk.noConfusion' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk.inj' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk.injEq' depends on axioms: [propext]\n'LexLeanPreservation.OptEnc.mk.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.OptEnc.recOn' does not depend on any axioms\n'LexLeanPreservation.construct_adt' does not depend on any axioms\n'LexLeanPreservation.construct_cons' does not depend on any axioms\n'LexLeanPreservation.construct_error' does not depend on any axioms\n'LexLeanPreservation.construct_false' does not depend on any axioms\n'LexLeanPreservation.construct_nil' does not depend on any axioms\n'LexLeanPreservation.construct_none' does not depend on any axioms\n'LexLeanPreservation.construct_ok' does not depend on any axioms\n'LexLeanPreservation.construct_pair' does not depend on any axioms\n'LexLeanPreservation.construct_some' does not depend on any axioms\n'LexLeanPreservation.construct_succ' does not depend on any axioms\n'LexLeanPreservation.construct_true' does not depend on any axioms\n'LexLeanPreservation.construct_unit' does not depend on any axioms\n'LexLeanPreservation.construct_zero' does not depend on any axioms\n'LexLeanPreservation.encExcept.match_1' does not depend on any axioms\n'LexLeanPreservation.encExcept' does not depend on any axioms\n'LexLeanPreservation.encList' does not depend on any axioms\n'LexLeanPreservation.encOrdering.match_1' does not depend on any axioms\n'LexLeanPreservation.encOrdering' does not depend on any axioms\n'LexLeanPreservation.encPair' does not depend on any axioms\n'LexLeanPreservation.encUnit' does not depend on any axioms\n'LexLeanPreservation.listEnc._proof_1' does not depend on any axioms\n'LexLeanPreservation.listEnc._proof_2' does not depend on any axioms\n'LexLeanPreservation.listEnc' does not depend on any axioms\n'LexLeanPreservation.optEnc._proof_1' does not depend on any axioms\n'LexLeanPreservation.optEnc._proof_2' does not depend on any axioms\n'LexLeanPreservation.optEnc' does not depend on any axioms\n'LexLeanPreservation.bytes_empty' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.bytes_one' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.bytes_zero' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.encOrdering.eq_1' does not depend on any axioms\n'LexLeanPreservation.encOrdering.eq_2' does not depend on any axioms\n'LexLeanPreservation.encOrdering.eq_3' does not depend on any axioms\n'LexLeanPreservation.fromOrdering_encOrdering' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.fromStrings_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.fromStrings_map._f' does not depend on any axioms\n'LexLeanPreservation.fromStrings_map' does not depend on any axioms\n'LexLeanPreservation.intFits' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.listIndex_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.listIndex_map._f' does not depend on any axioms\n'LexLeanPreservation.listIndex_map' does not depend on any axioms\n'LexLeanPreservation.listIndex_unique.match_1_1' does not depend on any axioms\n'LexLeanPreservation.listIndex_unique._f' does not depend on any axioms\n'LexLeanPreservation.listIndex_unique' does not depend on any axioms\n'LexLeanPreservation.obs_intResult' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.obs_natResult' does not depend on any axioms\n'LexLeanPreservation.prim_append_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_append_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_boolNot' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_compareBytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_bool' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_nat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_ordering' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_string' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_index_bytes.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_index_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_index_list.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_index_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intMul' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intNeg' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intQuot' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intRem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intSub' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_join.match_1_1' does not depend on any axioms\n'LexLeanPreservation.toStrings_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.toStrings_map.match_1_3' does not depend on any axioms\n'LexLeanPreservation.toStrings_map._f' does not depend on any axioms\n'LexLeanPreservation.toStrings_map' does not depend on any axioms\n'LexLeanPreservation.prim_join' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_length_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_length_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_length_string' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natAdd' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natEq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natLe' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natLt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natMul' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natQuot' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natRem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natSub' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_slice_bytes.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_slice_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_slice_list.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_slice_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_splitExact.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_splitExact' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_utf8Decode.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_utf8Decode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_utf8Encode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.compareBytes.eq_1' depends on axioms: [propext]\n'LexLeanRuntime.equal.eq_1' does not depend on any axioms\n'LexLeanRuntime.length.eq_1' does not depend on any axioms\n'LexLeanRuntime.slice.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromOrdering.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.checkedMultiplyWith.match_1' does not depend on any axioms\n'LexLeanPreservation.checkedMultiplyWith' does not depend on any axioms\n'LexLeanPreservation.checkedQuotientWith' does not depend on any axioms\n'LexLeanPreservation.decimalFits.match_1' does not depend on any axioms\n'LexLeanPreservation.decimalFits' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.divideStep' does not depend on any axioms\n'LexLeanPreservation.divide_unique.match_1_1' does not depend on any axioms\n'LexLeanPreservation.divide_unique._f' does not depend on any axioms\n'LexLeanPreservation.divide_unique' does not depend on any axioms\n'LexLeanPreservation.multiplyStep' does not depend on any axioms\n'LexLeanPreservation.multiply_unique.match_1_1' does not depend on any axioms\n'LexLeanPreservation.multiply_unique._f' does not depend on any axioms\n'LexLeanPreservation.multiply_unique' does not depend on any axioms\n'LexLeanPreservation.prim_bitAnd_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i64.match_1_2' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_int' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_int.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_int' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ordOf.match_1' does not depend on any axioms\n'LexLeanPreservation.ordOf' does not depend on any axioms\n'LexLeanPreservation.KeySpec' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.mk._flat_ctor' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.recOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.spec' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.compareCodes_eq.match_1_1' does not depend on any axioms\n'LexLeanPreservation.compareCodes_eq._f' depends on axioms: [propext]\n'LexLeanPreservation.compareCodes_eq' depends on axioms: [propext]\n'LexLeanPreservation.compareCodes_swap.match_1_1' does not depend on any axioms\n'LexLeanPreservation.compareCodes_swap._f' depends on axioms: [propext]\n'LexLeanPreservation.compareCodes_swap' depends on axioms: [propext]\n'LexLeanPreservation.lessThanE' does not depend on any axioms\n'LexLeanPreservation.prim_compare_key.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_compare_key' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_lessThan' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.orderOf_insert' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderBool.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.keySpec_bool' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI16.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI32.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI64.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI8.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderInt.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_int' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderNat.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_nat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.keySpec_pair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderString.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.keySpec_string' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU16.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU32.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU64.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU8.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanCollections.compareCodes._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.eq_1' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.eq_2' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.eq_3' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.eq_4' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.eq_def' depends on axioms: [propext]\n'LexLeanCollections.insertEntry.eq_1' does not depend on any axioms\n'LexLeanCollections.insertEntry.eq_2' does not depend on any axioms\n'LexLeanCollections.insertEntry.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.compareValue.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_18' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_20' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_22' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_23' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_24' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_25' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_26' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_27' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_28' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_29' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_30' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_31' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_33' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_34' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_35' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_36' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_37' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_38' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_39' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_40' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_41' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_42' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_43' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_44' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_45' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_46' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_47' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_48' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_49' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_50' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_51' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_52' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_53' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_54' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_55' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_56' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_57' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_58' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_59' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_60' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_61' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_62' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_63' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_65' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_66' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_67' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_68' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_69' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_70' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_71' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_72' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_73' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_74' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_75' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_76' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_77' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_78' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_79' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_80' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_81' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_82' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_83' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_84' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_85' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_86' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_87' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_88' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_89' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_90' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_91' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_92' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_93' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_94' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_95' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_96' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_97' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_98' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_99' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Conv.bool_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Conv.fits_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.FunRel.fits_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ListEnc.enc.eq_1' does not depend on any axioms\n'LexLeanPreservation.ListEnc.enc_cons' does not depend on any axioms\n'LexLeanPreservation.ListEnc.enc_nil' does not depend on any axioms\n'LexLeanPreservation.LookOps' does not depend on any axioms\n'LexLeanPreservation.LookOps.casesOn' does not depend on any axioms\n'LexLeanPreservation.LookOps.l0' does not depend on any axioms\n'LexLeanPreservation.LookOps.leq' does not depend on any axioms\n'LexLeanPreservation.LookOps.lgt' does not depend on any axioms\n'LexLeanPreservation.LookOps.llt' does not depend on any axioms\n'LexLeanPreservation.LookOps.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.LookOps.recOn' does not depend on any axioms\n'LexLeanPreservation.SetOps' does not depend on any axioms\n'LexLeanPreservation.SetOps.c0' does not depend on any axioms\n'LexLeanPreservation.SetOps.casesOn' does not depend on any axioms\n'LexLeanPreservation.SetOps.ceq' does not depend on any axioms\n'LexLeanPreservation.SetOps.cgt' does not depend on any axioms\n'LexLeanPreservation.SetOps.clt' does not depend on any axioms\n'LexLeanPreservation.SetOps.i0' does not depend on any axioms\n'LexLeanPreservation.SetOps.ieq' does not depend on any axioms\n'LexLeanPreservation.SetOps.igt' does not depend on any axioms\n'LexLeanPreservation.SetOps.ilt' does not depend on any axioms\n'LexLeanPreservation.SetOps.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.SetOps.r0' does not depend on any axioms\n'LexLeanPreservation.SetOps.recOn' does not depend on any axioms\n'LexLeanPreservation.SetOps.req' does not depend on any axioms\n'LexLeanPreservation.SetOps.rgt' does not depend on any axioms\n'LexLeanPreservation.SetOps.rlt' does not depend on any axioms\n'LexLeanPreservation.TopoOps' does not depend on any axioms\n'LexLeanPreservation.TopoOps.casesOn' does not depend on any axioms\n'LexLeanPreservation.TopoOps.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.TopoOps.recOn' does not depend on any axioms\n'LexLeanPreservation.TopoOps.s_next' does not depend on any axioms\n'LexLeanPreservation.TopoOps.s_nil' does not depend on any axioms\n'LexLeanPreservation.TopoOps.s_stuck' does not depend on any axioms\n'LexLeanPreservation.TopoOps.z_cons' does not depend on any axioms\n'LexLeanPreservation.TopoOps.z_nil' does not depend on any axioms\n'LexLeanPreservation.Tpl.boolE' does not depend on any axioms\n'LexLeanPreservation.Tpl.byOrder' does not depend on any axioms\n'LexLeanPreservation.Tpl.cns' does not depend on any axioms\n'LexLeanPreservation.Tpl.fn' does not depend on any axioms\n'LexLeanPreservation.Tpl.lst' does not depend on any axioms\n'LexLeanPreservation.Tpl.v' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphInnerFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.pr' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphNodesFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.natOne' does not depend on any axioms\n'LexLeanPreservation.Tpl.nl' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphReachableFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphSuccessorsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphTopologicalFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.iterateFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.iterateUntilFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.listFoldFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapContainsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapFoldFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapInsertFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapLookupFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapProjectFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapRemoveFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reachFrontierFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reachIntoFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reachRoundsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reverseFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setContainsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setFilterFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setInsertFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setRemoveFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setUnionFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoFinished' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoReadyFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoRoundsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoUnreachedFn' does not depend on any axioms\n'LexLeanPreservation.blt_succ_fits._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.blt_succ_fits' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_cond_false' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_cond_true' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.enc_elem' does not depend on any axioms\n'LexLeanPreservation.enc_entry' does not depend on any axioms\n'LexLeanPreservation.foldFits.match_1' does not depend on any axioms\n'LexLeanPreservation.foldFits._f' does not depend on any axioms\n'LexLeanPreservation.foldFits' does not depend on any axioms\n'LexLeanPreservation.foldFits._sunfold' does not depend on any axioms\n'LexLeanPreservation.foldFits._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.foldFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.foldFits.eq_2' does not depend on any axioms\n'LexLeanPreservation.foldFits.eq_def' does not depend on any axioms\n'LexLeanPreservation.graphFits' does not depend on any axioms\n'LexLeanPreservation.graphFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.iterateFits.match_1' does not depend on any axioms\n'LexLeanPreservation.iterateFits._f' does not depend on any axioms\n'LexLeanPreservation.iterateFits' does not depend on any axioms\n'LexLeanPreservation.iterateFits._sunfold' does not depend on any axioms\n'LexLeanPreservation.iterateFits._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.iterateFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.iterateFits.eq_2' does not depend on any axioms\n'LexLeanPreservation.iterateFits.eq_def' does not depend on any axioms\n'LexLeanPreservation.length_eq' does not depend on any axioms\n'LexLeanPreservation.prim_compare_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.reachNext' does not depend on any axioms\n'LexLeanPreservation.tpl_graphInner.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setInsert.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setInsert._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setInsert' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphInner._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphInner' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphNodes.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_graphNodes._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphNodes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapLookup.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapLookup._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapLookup' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphSuccessors' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachFrontier.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_reachInto.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setContains.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setContains._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setContains' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachInto._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachInto' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachFrontier._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachFrontier' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachRounds.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setUnion.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setUnion._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setUnion' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachRounds._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachRounds' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphReachable' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reverse.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_reverse._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reverse' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setRemove.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setRemove._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setRemove' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoReady.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_topoUnreached.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_topoUnreached._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoUnreached' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoReady._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoReady' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoRounds.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_topoRounds._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoRounds' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphTopological' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterate.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_iterate._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterateUntil.match_1_1' does not depend on any axioms\n'LexLeanPreservation.untilFits.match_1' does not depend on any axioms\n'LexLeanPreservation.untilFits._f' does not depend on any axioms\n'LexLeanPreservation.untilFits' does not depend on any axioms\n'LexLeanPreservation.tpl_iterateUntil._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterateUntil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_listFold.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_listFold._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_listFold' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapContains' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapFold.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapFold._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapFold' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapInsert.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapInsert._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapInsert' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapKeys.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapKeys._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapKeys' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapRemove.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapRemove._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapRemove' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapValues.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapValues._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapValues' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setDifference.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setDifference._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setDifference' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setIntersection.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setIntersection._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setIntersection' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.untilFits._sunfold' does not depend on any axioms\n'LexLeanPreservation.untilFits._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.untilFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.untilFits.eq_2' does not depend on any axioms\n'LexLeanPreservation.untilFits.eq_def' does not depend on any axioms\n'LexLeanPreservation.validExcept.match_1' does not depend on any axioms\n'LexLeanPreservation.InvExcept' does not depend on any axioms\n'LexLeanPreservation.InvList' does not depend on any axioms\n'LexLeanPreservation.InvList.eq_1' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.match_1' does not depend on any axioms\n'LexLeanPreservation.StrictAsc._f' does not depend on any axioms\n'LexLeanPreservation.StrictAsc' does not depend on any axioms\n'LexLeanPreservation.InvMap' does not depend on any axioms\n'LexLeanPreservation.validOption.match_1' does not depend on any axioms\n'LexLeanPreservation.InvOption' does not depend on any axioms\n'LexLeanPreservation.InvOption.eq_1' does not depend on any axioms\n'LexLeanPreservation.InvOption.eq_2' does not depend on any axioms\n'LexLeanPreservation.InvPair' does not depend on any axioms\n'LexLeanPreservation.InvSet' does not depend on any axioms\n'LexLeanPreservation.StrictAsc._sunfold' does not depend on any axioms\n'LexLeanPreservation.StrictAsc._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_1' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_2' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_3' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_def' does not depend on any axioms\n'LexLeanPreservation.Tpl.validListFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validMapFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validOptionFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validPairFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validResultFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validSetFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validTrueFn' does not depend on any axioms\n'LexLeanPreservation.ascMap.match_1' does not depend on any axioms\n'LexLeanPreservation.lessB.match_1' does not depend on any axioms\n'LexLeanPreservation.lessB' does not depend on any axioms\n'LexLeanPreservation.ascMap._f' does not depend on any axioms\n'LexLeanPreservation.ascMap' does not depend on any axioms\n'LexLeanPreservation.ascMap._sunfold' does not depend on any axioms\n'LexLeanPreservation.ascMap._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_1' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_2' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_3' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_def' does not depend on any axioms\n'LexLeanPreservation.ascMap_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.lessB_iff' depends on axioms: [propext]\n'LexLeanPreservation.ascMap_iff._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.ascMap_iff' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.ascMap_inv' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.ascSet._f' does not depend on any axioms\n'LexLeanPreservation.ascSet' does not depend on any axioms\n'LexLeanPreservation.ascSet._sunfold' does not depend on any axioms\n'LexLeanPreservation.ascSet._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_1' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_2' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_3' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_def' does not depend on any axioms\n'LexLeanPreservation.ascSet_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.ascSet_iff._f' depends on axioms: [propext]\n'LexLeanPreservation.ascSet_iff' depends on axioms: [propext]\n'LexLeanPreservation.ascSet_inv' depends on axioms: [propext]\n'LexLeanPreservation.condAnd_iff' depends on axioms: [propext]\n'LexLeanPreservation.invList_eqs.match_1_1' does not depend on any axioms\n'LexLeanPreservation.invList_eqs._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.invList_eqs' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.lessB.eq_1' does not depend on any axioms\n'LexLeanPreservation.lessB_eq' depends on axioms: [propext]\n'LexLeanPreservation.lessB_gt' depends on axioms: [propext]\n'LexLeanPreservation.lessB_lt' depends on axioms: [propext]\n'LexLeanPreservation.someObs.match_1' does not depend on any axioms\n'LexLeanPreservation.someObs' does not depend on any axioms\n'LexLeanPreservation.tpl_validList.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validList.match_1' does not depend on any axioms\n'LexLeanPreservation.validList._f' does not depend on any axioms\n'LexLeanPreservation.validList' does not depend on any axioms\n'LexLeanPreservation.tpl_validList' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validMap.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_validMap._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validMap' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validOption.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validOption' does not depend on any axioms\n'LexLeanPreservation.tpl_validOption' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validPair.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validPair' does not depend on any axioms\n'LexLeanPreservation.tpl_validPair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validResult.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validExcept' does not depend on any axioms\n'LexLeanPreservation.tpl_validResult' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validSet.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_validSet._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validSet' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validTrue' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.trueIff' does not depend on any axioms\n'LexLeanPreservation.validExcept_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validExcept_inv' does not depend on any axioms\n'LexLeanPreservation.validList._sunfold' does not depend on any axioms\n'LexLeanPreservation.validList._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.validList.eq_1' does not depend on any axioms\n'LexLeanPreservation.validList.eq_2' does not depend on any axioms\n'LexLeanPreservation.validList.eq_def' does not depend on any axioms\n'LexLeanPreservation.validList_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validList_iff._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.validList_iff' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.validList_inv' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.validOption.eq_1' does not depend on any axioms\n'LexLeanPreservation.validOption.eq_2' does not depend on any axioms\n'LexLeanPreservation.validOption_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validOption_inv' depends on axioms: [propext]\n'LexLeanPreservation.validPair_inv' depends on axioms: [propext]\n'LexLeanPreservation.validTrue_inv' does not depend on any axioms\n'LexLeanPreservation.Rust.Ctx' does not depend on any axioms\n'LexLeanPreservation.Rust.Flags' does not depend on any axioms\n'LexLeanPreservation.Rust.RCrate' does not depend on any axioms\n'LexLeanPreservation.Rust.RIdent' does not depend on any axioms\n'LexLeanPreservation.Rust.WT._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.adtFields' depends on axioms: [propext]\n'LexLeanTarget.TargetSyntax.IntKind.ofNat' does not depend on any axioms\n'LexLeanTarget.TargetSyntax.IntKind.ofNat_ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Rust.instDecidableEqIntKind_lexLeanPreservation._proof_1' does not depend on any axioms\n'LexLeanPreservation.Rust.instDecidableEqIntKind_lexLeanPreservation._proof_2' does not depend on any axioms\n'LexLeanPreservation.Rust.instDecidableEqIntKind_lexLeanPreservation' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flagOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fnIdent' does not depend on any axioms\n'LexLeanPreservation.Rust.fnFallible' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.inert._f' does not depend on any axioms\n'LexLeanPreservation.Rust.inert' does not depend on any axioms\n'LexLeanPreservation.Rust.WT._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.WTAll._f' does not depend on any axioms\n'LexLeanPreservation.Rust.WTL.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctxLookup.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup._f' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup' does not depend on any axioms\n'LexLeanPreservation.Rust.local_' does not depend on any axioms\n'LexLeanPreservation.Rust.EnvRel' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ROut' does not depend on any axioms\n'LexLeanPreservation.Rust.Halt' does not depend on any axioms\n'LexLeanPreservation.Rust.REnv' does not depend on any axioms\n'LexLeanPreservation.Rust.RExpr' does not depend on any axioms\n'LexLeanPreservation.Rust.RC' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RLet' does not depend on any axioms\n'LexLeanPreservation.Rust.LetsOK' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.append' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.below' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.below.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.brecOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.recOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.append_left' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.append_right' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.below' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.below.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.brecOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.recOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RBlock' does not depend on any axioms\n'LexLeanPreservation.Rust.dispatched_ne' does not depend on any axioms\n'LexLeanPreservation.Rust.finished_ne' does not depend on any axioms\n'LexLeanPreservation.Rust.returned_ne' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_24' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_26' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_28' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_30' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_32' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_34' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_36' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.eval.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_22' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.invoke.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.stable' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.reval_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCB' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.block' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCA' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.revalBlock_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCB.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCI' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.invoke_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCI.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCL' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.revalList_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCL.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.WTAll' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.block_of_lets' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.block_of_raise' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.ctxLookup._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup_slot._simp_1_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotFree' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup_slot' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_cons_other' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sameIdent_self' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_cons_self' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sameIdent_local' depends on axioms: [propext]\n'LexLeanPreservation.Rust.envRel_bind' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.envRel_extra' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.envRel_ghost' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sameIdent_kind' depends on axioms: [propext]\n'LexLeanPreservation.Rust.envRel_temp' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.listIndex_eq.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.listIndex_eq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.listIndex_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.index_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.inert._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.inert._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_nil.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_raise_head.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcl_raise_head.match_1_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcl_raise_head' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_raise_tail' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.revalArms_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.slotFree.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sunfold' depends on axioms: [propext]\n'LexLeanTarget.RustSemantics.eval.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_18' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_20' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.invoke.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.invoke.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.kindNumber.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.lookup.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.lookup.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.lookup.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.lookup.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.lookup.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.lookup.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd' does not depend on any axioms\n'LexLeanPreservation.Rust.isTemp._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isTemp.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isTemp' depends on axioms: [propext]\n'LexLeanPreservation.Rust.letsBind.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds._f' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds._f' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind._f' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind' does not depend on any axioms\n'LexLeanPreservation.Rust.tempFresh' does not depend on any axioms\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.foldN.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.flatB._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep.match_7' does not depend on any axioms\n'LexLeanPreservation.Rust.foldStep' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldB' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats._f' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats' does not depend on any axioms\n'LexLeanPreservation.Rust.okBlock' does not depend on any axioms\n'LexLeanPreservation.Rust.partRead._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Kind.casesOn' does not depend on any axioms\n'LexLeanPreservation.Rust.elseCtx.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.elseCtx' does not depend on any axioms\n'LexLeanPreservation.Rust.elseLets.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.elseLets' does not depend on any axioms\n'LexLeanPreservation.Rust.heldOK.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.heldOK' does not depend on any axioms\n'LexLeanPreservation.Rust.negateR._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.negateR._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.negateR.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.negateR' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_5' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_7' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_9' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identBoxed' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal' does not depend on any axioms\n'LexLeanPreservation.Rust.isWild._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.unboxOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotOK.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocal' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armShape.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.armShape' does not depend on any axioms\n'LexLeanPreservation.Rust.otherArms.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.otherArms' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.noClosure.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.noClosure._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh' depends on axioms: [propext]\n'LexLeanPreservation.Rust.covered' depends on axioms: [propext]\n'LexLeanPreservation.Rust.scrut' does not depend on any axioms\n'LexLeanPreservation.Rust.validU.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.validU' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotOK' does not depend on any axioms\n'LexLeanPreservation.Rust.ctorOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identsDistinct.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct._f' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct' does not depend on any axioms\n'LexLeanPreservation.Rust.litOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArg._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.match_6' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArg.match_8' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArg' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArgs._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildTail.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildsArm.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildsArm' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.itemOK.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemOK' does not depend on any axioms\n'LexLeanPreservation.Rust.itemTyped.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemTyped.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf' does not depend on any axioms\n'LexLeanPreservation.Rust.itemTyped' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_9' does not depend on any axioms\n'LexLeanPreservation.Rust.isFixed._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped' depends on axioms: [propext]\n'LexLeanPreservation.Rust.primTyped' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.litValues._f' does not depend on any axioms\n'LexLeanPreservation.Rust.litValue' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.typedLitAll._f' does not depend on any axioms\n'LexLeanPreservation.Rust.typedLits.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Corr' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.below' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.below.casesOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.brecOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.casesOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.recOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.FunOK' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.CrateOK' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Fresh' does not depend on any axioms\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn' depends on axioms: [propext]\n'LexLeanPreservation.Rust.FunSem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Kind._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.casesOn' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ctorElim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.b.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.e.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.k.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.l.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.m.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.ops.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.recOn' does not depend on any axioms\n'LexLeanPreservation.Rust.KPre.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.KPre' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Kind.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.ctorElim' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Kind.nat.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.plain.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.plain.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.recOn' does not depend on any axioms\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesM.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.RealizesM' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Sem.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.viewVal._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Sem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.foldN._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identsDistinct._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_10' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_11' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_12' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_13' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_14' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_6' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_7' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_8' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.litValues' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue._sunfold' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.litValue._unsafe_rec' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues._sunfold' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.paramCtx._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patsBinds' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.patLocals._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patsBinds._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArgs._sunfold' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs._unsafe_rec' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.typedLitAll' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.typedLits._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_of_inert.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_of_inert.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_of_inert._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_of_inert' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_of_inert._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_of_inert' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Halt.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.LetsRaise.halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.block_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.boxed' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesM.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesM.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_bytes_inv' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_list_inv' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_string_inv' depends on axioms: [propext]\n'LexLeanPreservation.Rust.takes_of_typed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.allWidth_of.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_eq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_eq._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.tysBeq_eq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq_eq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.wt_fixed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.allWidth_of._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.allWidth_of' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.width_of_typed.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.width_of_typed.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.width_of_typed.match_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.width_of_typed' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.accepts_of_typed' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_apply' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtl_append.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_append._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_append' depends on axioms: [propext]\n'LexLeanPreservation.Rust.apply_result' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.bindPattern_shape.match_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.bindPattern_shape._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.bindPatterns_shape._simp_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindPatterns_shape.match_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.bindPatterns_shape._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.bindPattern_shape' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.bindPatterns_shape' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms_spec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_4' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_6' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_7' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.boolArms_eval' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.boxWith.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_100' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_102' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_96' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_98' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_function' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.call_result' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.const_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.convert_args.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.convert_args' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_append_fresh' depends on axioms: [propext]\n'LexLeanPreservation.Rust.envRel_fresh' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_not._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_cond.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.itemResult.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.eval_match' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fixedTyped.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_18' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_19' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_20' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_21' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_22' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_23' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_24' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_25' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_26' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_27' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_28' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_29' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_30' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_31' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_32' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_33' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_34' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_35' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_36' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_37' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_38' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_39' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_40' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_41' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_42' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_43' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_44' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_45' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_46' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_47' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_48' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_49' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_50' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_51' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_52' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_53' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_54' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_55' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_56' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_57' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_58' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_59' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_60' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_61' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN_sound.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.split_last.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.split_last._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.split_last' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep_spec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcb_nil_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_nomatch.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcb_cons_nomatch' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_stop' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_prefix' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_flat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_read_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_cons_same' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcb_fold_last' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldStep_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldN_sound._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldN_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldB_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldN.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_append' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_bind._simp_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_bind' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotFree_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_weaken' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_elseCtx' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_temp._simp_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_temp' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fromStrings_wt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fromStrings_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fromStrings_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.hasWidth_i16' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_i32' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_i64' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_i8' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u16' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u32' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u64' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u8' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.heldOK.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.heldOK.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.isFixed._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.isSeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.isTemp._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.itemOK.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemOperands_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.itemResult' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.kpre_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_pred._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_pred.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_pred' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.kpre_else' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.kpre_then' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_of_lets' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_b_rcb' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.k_branch' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_cond_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_isZero_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_lit_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate_halt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_negate_halt.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_nonZero_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_23' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_25' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_27' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_29' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_31' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_33' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_35' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_37' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_39' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_41' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_43' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_45' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_47' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_49' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_51' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_not_inv.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_not_inv.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_not_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.k_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_read.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_read' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.kpre_held' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.letsBind.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.letsOK_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.letsOK_shape' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.litValue._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_4' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_def' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_5' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.eq_def' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.lit_branch' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.lookup_through._simp_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.lookup_through' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms_spec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms_eval' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.obsL_evalList_zero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.obs_eval_zero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.oneOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf_halt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.param_env.match_1_1' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.bindAll.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.param_env._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.param_env' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.patBinds.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_10' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_6' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_7' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_8' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.primTyped.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_apply_halt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_apply_halt.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_apply_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_call_halt.match_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_runtime' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_construct' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct_halt.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct_halt.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_isZero.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_isZero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_lit.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_lit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue._simp_10' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue._simp_9' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue.match_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_pair.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_pair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_litValues.match_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rcl_litValues._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_nonZero.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_nonZero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_pair_halt_left' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_pair_halt_right' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_widen.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_widen' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_widen_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_11' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_7' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_litValues' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_nil_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_single_halt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_single_halt.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_single_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_widen_one' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.readOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizesL_halt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizesL_haltL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizes_halt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizesM_overflow' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizes_oneOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.runItem_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.runItem_succ' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_applyGen.match_1_13' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen.match_1_15' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen.match_1_28' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_apply' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_applyF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_bOfE' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_build.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_build.match_1_99' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_build' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildConst' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildPair.match_1_101' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_97' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_99' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildSucc.match_1_129' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSucc.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSucc' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildSuccF.match_1_101' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSuccF.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSuccF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_callF.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callF.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_callOps.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callOps.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callOps' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_closure.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.wtl_length.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_length._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_length' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_closure' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_cond.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_cond.match_1_11' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_condId.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_condId' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_eOfB' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_eOfBFold' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_eOfBNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_fOfB' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_unit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_fUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kHeld' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kLit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kId' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kIf' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kNeg' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kSame' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_lCons.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons.match_1_17' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons.match_1_19' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_lNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_letBind.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letBind.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letBind' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_letWild.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letWild.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letWild' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBool._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchHolder.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchHolder.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchHolder' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBool' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBoolId._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBoolId.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchBoolId' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchNat._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchNat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchUnit._proof_1_386' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchUnit.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchUnit.match_1_387' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsCons._simp_1_13' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsCons.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons.match_1_14' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons.match_1_16' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsOfL' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_29' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_31' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_ops_box.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_ops_box.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_ops_box.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_ops_box' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_part._sparseCasesOn_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_part.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_part.match_1_14' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_part.match_1_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_part' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_part._sparseCasesOn_1_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_prim.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_prim.match_1_38' does not depend on any axioms\n'LexLeanPreservation.Rust.wtAll_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wtAll_iff._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.wtAll_iff' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_append' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_bitwise' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_checked' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_convert' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_decode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_encode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_fixedTyped.match_1_67' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_format' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_index' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_join' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_parse' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_shift' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.slice_eq' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_slice' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_split' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_unary' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtl_one.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_one' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_three.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_three' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_two.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_two' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_fixedTyped' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_prim' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_prim' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_primF.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF.match_1_7' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_primWiden.match_1_108' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_110' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_112' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_114' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_116' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.typedLitAll_wt.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit_wt.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits_wt.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_var' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_varUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_zero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.shapeOf.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_10' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_11' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_12' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_13' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_14' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_6' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_7' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_8' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.tempFresh.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_12.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_13.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_14.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.allWidth.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.allWidth.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.allWidth.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_100' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_101' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_102' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_103' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_104' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_105' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_106' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_107' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_108' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_109' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_110' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_111' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_112' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_113' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_114' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_115' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_116' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_117' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_118' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_119' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_120' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_121' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_122' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_123' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_124' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_125' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_126' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_127' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_128' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_129' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_130' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_131' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_132' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_133' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_134' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_135' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_136' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_137' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_138' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_139' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_140' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_141' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_142' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_143' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_144' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_145' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_146' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_147' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_148' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_149' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_150' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_151' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_152' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_153' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_154' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_155' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_156' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_157' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_158' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_159' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_160' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_161' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_162' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_163' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_164' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_165' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_166' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_167' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_168' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_169' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_170' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_171' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_172' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_173' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_174' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_175' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_176' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_177' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_178' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_179' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_180' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_181' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_182' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_183' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_184' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_185' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_186' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_51' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_52' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_53' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_54' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_55' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_56' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_57' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_58' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_59' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_60' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_61' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_62' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_63' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_64' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_65' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_66' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_67' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_68' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_69' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_70' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_71' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_72' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_73' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_74' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_75' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_76' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_77' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_78' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_79' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_80' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_81' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_82' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_83' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_84' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_85' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_86' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_87' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_88' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_89' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_90' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_91' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_92' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_93' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_94' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_95' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_96' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_97' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_98' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_99' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_100' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_101' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_102' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_103' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_104' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_105' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_106' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_107' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_108' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_109' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_110' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_111' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_112' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_113' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_114' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_115' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_116' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_117' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_118' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_119' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_120' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_121' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_122' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_123' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_124' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_125' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_126' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_127' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_128' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_129' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_130' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_131' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_132' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_133' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_134' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_135' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_136' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_137' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_138' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_139' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_140' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_141' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_142' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_143' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_144' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_145' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_146' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_147' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_148' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_149' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_150' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_151' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_152' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_153' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_154' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_155' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_156' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_157' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_158' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_159' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_160' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_161' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_162' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_163' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_164' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_165' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_166' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_167' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_168' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_169' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_170' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_171' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_172' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_173' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_174' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_175' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_176' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_177' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_178' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_179' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_180' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_181' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_182' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_183' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_184' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_51' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_52' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_53' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_54' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_55' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_56' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_57' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_58' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_59' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_60' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_61' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_62' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_63' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_64' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_65' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_66' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_67' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_68' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_69' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_70' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_71' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_72' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_73' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_74' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_75' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_76' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_77' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_78' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_79' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_80' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_81' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_82' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_83' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_84' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_85' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_86' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_87' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_88' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_89' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_90' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_91' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_92' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_93' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_94' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_95' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_96' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_97' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_98' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_99' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemAccepts.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemAccepts.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.literal.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_10' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_11' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_12' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_13' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_14' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_15' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_3' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_4' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_5' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_6' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_7' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_8' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_9' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.propagated.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.returned.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_10' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_11' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_12' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_13' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_14' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_15' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_16' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_17' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_18' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_19' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_20' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_21' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_22' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_23' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_24' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_25' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_26' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_27' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_28' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_29' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_30' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_31' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_32' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_33' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_34' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_35' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_36' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_37' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_38' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_39' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_40' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_41' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_42' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_43' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_44' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_45' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_46' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_47' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_48' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_49' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_5' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_50' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_51' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_52' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_53' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_54' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_55' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_56' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_57' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_58' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_59' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_6' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_60' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_61' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_62' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_63' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_64' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_65' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_66' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_67' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_68' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_69' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_7' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_70' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_71' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_72' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_73' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_74' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_75' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_76' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_77' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_78' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_79' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_8' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_80' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_81' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_82' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_83' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_9' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_10' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_100' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_101' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_102' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_103' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_104' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_105' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_106' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_107' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_108' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_109' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_11' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_110' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_111' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_112' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_113' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_114' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_115' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_116' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_117' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_118' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_119' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_12' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_120' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_121' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_122' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_123' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_124' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_125' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_126' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_127' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_128' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_129' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_13' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_130' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_131' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_132' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_133' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_134' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_135' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_136' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_137' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_138' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_139' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_14' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_140' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_141' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_142' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_143' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_144' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_145' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_146' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_147' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_148' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_149' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_15' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_150' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_151' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_152' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_153' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_154' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_155' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_156' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_157' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_158' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_159' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_16' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_160' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_161' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_162' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_163' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_164' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_165' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_166' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_167' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_168' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_169' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_17' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_170' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_171' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_172' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_173' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_174' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_175' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_176' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_177' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_178' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_179' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_18' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_180' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_181' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_182' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_183' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_184' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_185' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_186' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_187' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_188' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_189' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_19' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_190' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_191' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_192' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_193' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_194' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_195' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_196' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_197' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_198' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_199' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_20' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_200' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_201' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_202' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_203' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_204' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_205' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_206' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_207' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_208' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_209' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_21' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_210' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_211' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_212' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_213' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_214' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_215' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_216' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_217' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_218' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_219' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_22' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_220' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_221' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_222' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_223' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_224' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_225' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_226' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_227' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_228' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_229' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_23' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_230' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_231' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_232' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_233' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_234' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_235' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_236' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_237' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_238' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_239' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_24' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_240' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_241' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_242' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_243' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_244' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_245' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_246' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_247' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_248' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_249' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_25' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_250' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_251' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_252' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_253' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_254' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_255' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_256' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_257' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_258' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_259' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_26' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_260' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_261' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_262' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_263' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_264' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_265' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_266' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_267' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_268' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_269' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_27' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_270' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_271' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_272' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_273' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_274' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_275' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_276' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_277' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_278' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_279' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_28' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_280' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_281' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_282' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_283' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_284' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_285' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_286' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_287' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_288' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_289' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_29' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_290' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_291' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_292' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_293' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_294' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_295' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_296' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_297' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_298' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_299' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_30' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_300' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_301' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_302' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_303' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_304' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_305' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_306' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_307' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_308' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_309' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_31' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_310' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_311' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_312' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_313' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_314' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_315' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_316' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_317' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_318' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_319' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_32' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_320' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_321' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_322' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_323' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_324' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_325' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_326' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_327' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_328' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_329' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_33' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_330' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_331' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_332' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_333' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_334' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_335' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_336' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_337' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_338' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_339' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_34' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_340' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_341' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_342' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_343' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_344' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_345' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_346' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_347' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_348' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_349' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_35' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_350' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_351' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_352' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_353' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_354' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_355' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_356' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_357' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_358' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_359' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_36' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_360' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_361' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_362' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_363' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_364' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_365' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_366' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_367' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_368' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_369' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_37' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_370' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_38' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_39' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_40' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_41' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_42' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_43' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_44' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_45' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_46' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_47' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_48' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_49' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_5' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_50' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_51' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_52' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_53' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_54' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_55' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_56' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_57' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_58' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_59' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_6' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_60' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_61' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_62' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_63' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_64' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_65' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_66' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_67' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_68' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_69' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_7' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_70' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_71' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_72' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_73' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_74' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_75' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_76' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_77' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_78' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_79' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_8' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_80' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_81' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_82' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_83' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_84' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_85' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_86' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_87' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_88' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_89' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_9' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_90' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_91' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_92' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_93' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_94' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_95' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_96' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_97' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_98' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_99' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromStrings.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromStrings.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromStrings.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.primitive.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1000' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1001' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1002' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1003' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1004' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1005' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1006' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1007' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1008' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1009' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1010' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1011' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1012' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1013' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1014' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1015' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1016' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1017' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1018' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1019' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1020' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1021' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1022' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1023' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1024' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1025' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1026' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1027' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1028' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1029' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1030' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1031' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1032' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1033' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1034' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1035' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1036' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1037' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1038' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1039' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1040' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1041' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1042' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1043' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1044' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1045' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1046' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1047' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1048' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1049' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1050' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1051' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1052' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1053' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1054' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1055' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1056' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1057' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1058' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1059' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1060' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1061' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1062' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1063' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1064' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1065' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1066' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1067' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1068' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1069' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1070' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1071' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1072' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1073' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1074' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1075' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1076' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1077' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1078' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1079' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1080' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1081' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1082' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1083' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1084' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1085' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1086' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1087' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1088' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1089' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1090' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1091' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1092' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1093' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1094' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1095' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1096' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1097' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1098' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1099' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1426' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1427' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1428' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1429' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1430' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1431' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1432' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1433' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1434' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1435' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1436' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1437' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1438' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1439' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1440' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1441' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1442' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1443' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1444' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1445' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1446' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1447' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1448' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1449' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1450' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1451' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1452' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1453' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1454' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1455' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1456' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1457' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1458' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1459' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1460' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1461' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1462' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1463' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1464' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1465' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1466' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1467' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1468' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1469' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1470' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1471' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1472' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1473' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1474' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1475' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1476' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1477' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1478' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1479' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1480' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1481' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1482' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1483' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1484' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1485' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1486' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1487' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1488' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1489' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1490' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1491' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1492' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1493' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1494' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1495' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1496' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1497' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1498' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1499' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1500' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1501' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1502' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1503' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1504' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1505' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1506' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1507' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1508' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1509' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1510' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1511' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1512' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1513' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1514' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1515' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1516' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1517' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1518' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1519' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1520' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1521' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1522' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1523' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1524' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1525' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1526' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1527' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1528' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1529' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1530' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1531' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1532' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1533' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1534' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1535' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1536' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1537' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1538' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1539' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1540' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1541' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1542' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1543' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1544' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1545' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1546' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1547' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1548' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1549' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1550' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1551' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1552' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1553' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1554' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1555' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1556' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1557' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1558' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1559' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1560' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1561' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1562' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1563' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1564' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1565' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1566' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1567' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1568' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1569' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1570' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1571' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1572' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1573' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1574' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1575' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1576' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1577' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1578' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1579' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1580' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1581' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1582' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1583' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1584' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1585' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1586' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1587' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1588' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1589' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1590' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1591' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1592' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1593' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1594' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1595' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1596' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1597' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1598' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1599' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1600' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1601' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1602' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1603' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1604' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1605' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1606' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1607' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1608' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1609' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1610' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1611' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1612' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1613' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1614' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1615' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1616' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1617' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1618' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1619' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1620' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1621' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1622' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1623' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1624' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1625' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1626' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1627' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1628' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1629' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1630' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1631' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1632' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1633' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1634' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1635' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1636' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1637' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1638' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1639' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1640' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1641' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1642' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1643' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1644' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1645' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1646' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1647' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1648' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1649' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1650' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1651' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1652' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1653' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1654' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1655' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1656' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1657' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1658' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1659' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1660' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1661' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1662' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1663' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1664' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1665' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1666' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1667' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1668' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1669' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1670' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1671' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1672' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1673' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1674' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1675' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1676' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1677' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1678' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1679' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1680' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1681' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1682' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1683' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1684' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1685' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1686' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1687' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1688' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1689' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1690' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1691' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1692' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1693' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1694' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1695' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1696' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1697' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1698' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1699' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1700' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1701' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1702' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1703' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1704' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1705' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1706' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1707' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1708' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1709' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1710' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1711' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1712' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1713' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1714' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1715' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1716' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1717' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1718' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1719' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1720' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1721' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1722' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1723' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1724' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1725' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1726' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1727' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1728' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1729' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1730' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1731' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1732' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1733' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1734' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1735' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1736' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1737' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1738' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1739' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1740' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1741' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1742' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1743' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1744' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1745' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1746' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1747' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1748' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1749' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1750' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1751' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1752' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1753' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1754' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1755' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1756' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1757' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1758' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1759' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1760' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1761' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1762' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1763' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1764' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1765' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1766' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1767' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1768' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1769' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1770' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1771' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1772' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1773' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1774' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1775' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1776' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1777' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1778' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1779' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1780' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1781' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1782' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1783' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1784' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1785' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1786' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1787' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1788' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1789' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1790' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1791' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1792' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1793' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1794' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1795' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1796' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1797' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1798' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1799' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_18' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1800' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1801' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1802' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1803' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1804' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1805' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1806' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1807' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1808' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1809' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1810' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1811' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1812' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1813' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1814' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1815' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1816' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1817' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1818' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1819' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1820' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1821' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1822' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1823' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1824' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1825' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1826' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1827' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1828' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1829' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1830' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1831' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1832' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1833' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1834' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1835' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1836' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1837' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1838' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1839' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1840' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1841' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1842' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1843' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1844' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1845' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1846' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1847' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1848' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1849' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1850' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1851' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1852' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1853' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1854' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1855' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1856' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1857' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1858' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1859' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1860' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1861' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1862' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1863' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1864' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1865' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1866' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1867' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1868' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1869' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1870' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1871' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1872' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1873' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1874' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1875' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1876' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1877' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1878' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1879' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1880' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1881' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1882' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1883' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1884' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1885' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1886' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1887' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1888' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1889' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1890' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1891' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1892' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1893' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1894' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1895' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1896' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1897' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1898' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1899' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1900' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1901' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1902' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1903' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1904' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1905' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1906' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1907' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1908' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1909' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1910' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1911' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1912' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1913' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1914' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1915' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1916' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1917' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1918' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1919' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1920' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1921' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1922' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1923' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1924' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1925' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1926' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1927' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1928' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1929' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1930' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1931' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1932' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1933' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1934' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1935' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1936' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1937' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1938' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1939' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1940' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1941' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1942' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1943' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1944' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1945' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1946' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1947' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1948' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1949' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1950' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1951' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1952' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1953' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1954' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1955' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1956' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1957' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1958' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1959' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1960' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1961' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1962' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1963' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1964' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1965' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1966' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1967' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1968' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1969' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1970' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1971' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1972' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1973' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1974' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1975' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1976' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1977' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1978' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1979' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1980' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1981' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1982' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1983' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1984' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1985' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1986' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1987' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1988' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1989' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1990' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1991' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1992' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1993' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1994' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1995' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1996' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1997' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1998' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1999' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_20' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2000' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2001' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2002' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2003' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2004' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2005' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2006' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2007' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2008' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2009' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2010' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2011' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2012' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2013' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2014' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2015' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2016' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2017' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2018' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2019' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2020' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2021' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2022' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2023' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2024' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2025' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2026' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2027' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2028' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2029' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2030' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2031' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2032' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2033' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2034' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2035' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2036' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2037' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2038' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2039' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2040' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2041' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2042' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2043' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2044' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2045' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2046' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2047' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2048' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2049' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2050' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2051' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2052' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2053' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2054' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2055' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2056' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2057' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2058' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2059' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2060' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2061' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2062' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2063' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2064' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2065' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2066' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2067' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2068' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2069' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2070' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2071' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2072' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2073' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2074' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2075' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2076' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2077' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2078' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2079' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2080' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2081' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2082' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2083' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2084' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2085' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2086' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2087' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2088' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2089' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2090' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2091' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2092' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2093' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2094' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2095' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2096' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2097' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2098' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2099' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_22' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_23' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_24' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2426' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2427' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2428' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2429' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2430' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2431' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2432' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2433' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2434' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2435' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2436' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2437' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2438' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2439' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2440' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2441' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2442' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2443' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2444' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2445' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2446' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2447' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2448' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2449' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2450' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2451' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2452' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2453' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2454' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2455' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2456' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2457' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2458' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2459' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2460' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2461' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2462' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2463' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2464' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2465' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2466' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2467' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2468' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2469' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2470' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2471' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2472' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2473' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2474' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2475' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2476' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2477' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2478' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2479' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2480' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2481' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2482' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2483' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2484' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2485' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2486' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2487' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2488' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2489' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2490' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2491' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2492' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2493' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2494' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2495' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2496' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2497' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2498' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2499' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_25' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2500' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2501' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2502' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2503' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2504' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2505' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2506' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2507' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2508' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2509' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2510' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2511' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2512' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2513' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2514' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2515' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2516' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2517' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2518' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2519' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2520' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2521' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2522' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2523' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2524' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2525' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2526' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2527' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2528' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2529' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2530' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2531' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2532' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2533' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2534' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2535' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2536' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2537' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2538' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2539' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2540' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2541' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2542' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2543' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2544' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2545' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2546' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2547' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2548' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2549' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2550' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2551' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2552' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2553' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2554' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2555' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2556' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2557' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2558' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2559' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2560' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2561' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2562' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2563' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2564' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2565' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2566' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2567' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2568' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2569' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2570' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2571' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2572' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2573' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2574' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2575' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2576' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2577' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2578' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2579' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2580' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2581' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2582' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2583' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2584' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2585' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2586' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2587' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2588' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2589' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2590' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2591' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2592' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2593' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2594' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2595' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2596' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2597' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2598' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2599' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_26' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2600' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2601' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2602' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2603' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2604' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2605' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2606' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2607' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2608' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2609' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2610' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2611' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2612' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2613' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2614' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2615' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2616' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2617' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2618' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2619' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2620' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2621' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2622' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2623' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2624' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2625' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2626' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2627' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2628' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2629' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2630' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2631' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2632' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2633' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2634' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2635' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2636' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2637' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2638' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2639' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2640' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2641' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2642' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2643' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2644' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2645' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2646' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2647' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2648' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2649' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2650' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2651' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2652' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2653' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2654' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2655' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2656' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2657' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2658' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2659' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2660' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2661' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2662' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2663' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2664' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2665' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2666' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2667' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2668' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2669' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2670' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2671' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2672' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2673' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2674' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2675' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2676' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2677' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2678' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2679' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2680' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2681' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2682' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2683' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2684' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2685' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2686' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2687' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2688' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2689' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2690' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2691' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2692' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2693' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2694' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2695' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2696' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2697' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2698' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2699' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_27' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2700' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2701' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2702' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2703' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2704' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2705' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2706' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2707' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2708' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2709' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2710' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2711' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2712' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2713' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2714' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2715' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2716' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2717' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2718' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2719' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2720' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2721' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2722' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2723' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2724' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2725' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2726' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2727' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2728' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2729' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2730' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2731' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2732' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2733' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2734' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2735' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2736' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2737' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2738' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2739' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2740' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2741' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2742' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2743' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2744' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2745' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2746' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2747' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2748' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2749' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2750' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2751' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2752' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2753' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2754' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2755' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2756' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2757' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2758' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2759' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2760' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2761' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2762' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2763' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2764' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2765' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2766' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2767' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2768' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2769' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2770' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2771' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2772' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2773' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2774' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2775' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2776' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2777' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2778' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2779' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2780' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2781' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2782' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2783' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2784' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2785' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2786' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2787' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2788' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2789' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2790' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2791' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2792' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2793' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2794' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2795' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2796' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2797' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2798' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2799' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_28' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2800' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2801' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2802' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2803' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2804' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2805' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2806' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2807' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2808' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2809' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2810' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2811' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2812' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2813' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2814' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2815' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2816' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2817' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2818' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2819' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2820' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2821' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2822' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2823' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2824' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2825' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2826' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2827' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2828' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2829' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2830' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2831' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2832' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2833' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2834' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2835' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2836' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2837' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2838' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2839' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2840' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2841' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2842' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2843' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2844' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2845' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2846' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2847' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2848' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2849' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2850' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2851' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2852' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2853' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2854' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2855' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2856' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2857' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2858' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2859' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2860' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2861' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2862' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2863' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2864' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2865' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2866' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2867' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2868' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2869' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2870' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2871' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2872' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2873' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2874' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2875' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2876' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2877' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2878' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2879' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2880' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2881' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2882' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2883' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2884' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2885' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2886' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2887' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2888' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2889' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2890' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2891' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2892' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2893' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2894' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2895' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2896' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2897' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2898' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2899' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_29' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2900' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2901' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2902' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2903' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2904' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2905' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2906' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2907' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2908' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2909' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2910' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2911' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2912' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2913' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2914' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2915' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2916' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2917' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2918' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2919' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2920' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2921' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2922' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2923' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2924' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2925' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2926' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2927' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2928' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2929' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2930' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2931' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2932' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2933' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2934' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2935' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2936' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2937' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2938' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2939' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2940' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2941' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2942' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2943' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2944' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2945' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2946' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2947' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2948' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2949' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2950' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2951' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2952' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2953' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2954' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2955' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2956' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2957' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2958' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2959' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2960' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2961' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2962' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2963' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2964' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2965' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2966' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2967' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2968' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2969' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2970' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2971' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2972' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2973' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2974' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2975' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2976' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2977' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2978' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2979' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2980' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2981' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2982' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2983' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2984' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2985' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2986' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2987' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2988' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2989' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2990' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2991' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2992' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2993' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2994' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2995' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2996' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2997' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2998' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2999' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_30' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3000' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3001' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3002' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3003' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3004' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3005' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3006' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3007' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3008' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3009' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3010' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3011' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3012' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3013' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3014' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3015' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3016' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3017' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3018' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3019' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3020' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3021' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3022' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3023' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3024' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3025' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3026' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3027' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3028' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3029' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3030' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3031' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3032' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3033' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3034' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3035' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3036' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3037' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3038' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3039' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3040' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3041' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3042' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3043' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3044' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3045' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3046' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3047' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3048' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3049' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3050' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3051' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3052' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3053' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3054' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3055' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3056' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3057' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3058' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3059' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3060' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3061' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3062' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3063' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3064' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3065' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3066' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3067' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3068' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3069' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3070' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3071' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3072' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3073' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3074' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3075' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3076' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3077' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3078' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3079' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3080' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3081' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3082' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3083' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3084' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3085' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3086' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3087' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3088' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3089' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3090' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3091' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3092' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3093' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3094' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3095' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3096' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3097' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3098' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3099' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_31' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_33' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_34' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_35' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_36' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_37' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_38' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_39' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_40' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_41' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_42' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_426' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_427' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_428' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_429' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_43' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_430' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_431' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_432' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_433' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_434' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_435' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_436' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_437' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_438' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_439' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_44' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_440' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_441' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_442' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_443' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_444' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_445' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_446' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_447' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_448' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_449' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_45' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_450' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_451' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_452' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_453' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_454' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_455' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_456' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_457' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_458' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_459' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_46' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_460' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_461' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_462' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_463' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_464' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_465' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_466' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_467' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_468' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_469' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_47' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_470' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_471' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_472' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_473' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_474' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_475' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_476' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_477' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_478' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_479' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_48' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_480' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_481' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_482' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_483' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_484' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_485' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_486' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_487' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_488' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_489' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_49' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_490' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_491' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_492' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_493' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_494' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_495' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_496' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_497' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_498' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_499' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_50' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_500' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_501' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_502' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_503' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_504' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_505' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_506' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_507' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_508' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_509' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_51' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_510' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_511' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_512' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_513' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_514' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_515' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_516' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_517' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_518' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_519' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_52' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_520' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_521' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_522' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_523' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_524' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_525' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_526' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_527' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_528' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_529' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_53' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_530' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_531' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_532' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_533' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_534' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_535' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_536' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_537' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_538' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_539' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_54' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_540' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_541' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_542' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_543' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_544' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_545' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_546' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_547' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_548' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_549' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_55' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_550' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_551' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_552' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_553' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_554' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_555' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_556' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_557' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_558' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_559' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_56' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_560' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_561' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_562' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_563' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_564' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_565' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_566' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_567' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_568' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_569' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_57' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_570' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_571' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_572' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_573' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_574' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_575' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_576' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_577' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_578' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_579' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_58' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_580' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_581' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_582' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_583' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_584' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_585' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_586' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_587' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_588' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_589' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_59' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_590' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_591' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_592' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_593' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_594' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_595' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_596' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_597' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_598' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_599' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_60' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_600' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_601' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_602' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_603' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_604' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_605' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_606' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_607' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_608' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_609' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_61' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_610' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_611' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_612' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_613' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_614' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_615' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_616' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_617' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_618' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_619' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_62' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_620' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_621' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_622' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_623' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_624' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_625' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_626' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_627' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_628' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_629' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_63' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_630' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_631' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_632' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_633' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_634' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_635' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_636' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_637' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_638' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_639' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_640' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_641' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_642' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_643' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_644' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_645' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_646' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_647' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_648' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_649' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_65' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_650' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_651' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_652' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_653' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_654' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_655' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_656' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_657' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_658' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_659' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_66' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_660' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_661' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_662' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_663' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_664' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_665' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_666' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_667' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_668' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_669' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_67' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_670' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_671' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_672' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_673' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_674' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_675' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_676' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_677' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_678' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_679' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_68' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_680' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_681' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_682' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_683' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_684' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_685' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_686' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_687' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_688' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_689' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_69' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_690' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_691' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_692' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_693' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_694' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_695' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_696' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_697' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_698' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_699' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_70' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_700' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_701' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_702' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_703' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_704' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_705' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_706' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_707' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_708' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_709' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_71' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_710' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_711' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_712' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_713' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_714' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_715' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_716' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_717' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_718' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_719' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_72' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_720' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_721' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_722' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_723' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_724' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_725' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_726' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_727' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_728' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_729' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_73' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_730' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_731' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_732' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_733' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_734' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_735' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_736' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_737' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_738' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_739' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_74' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_740' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_741' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_742' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_743' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_744' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_745' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_746' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_747' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_748' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_749' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_75' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_750' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_751' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_752' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_753' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_754' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_755' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_756' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_757' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_758' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_759' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_76' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_760' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_761' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_762' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_763' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_764' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_765' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_766' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_767' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_768' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_769' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_77' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_770' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_771' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_772' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_773' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_774' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_775' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_776' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_777' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_778' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_779' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_78' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_780' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_781' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_782' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_783' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_784' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_785' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_786' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_787' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_788' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_789' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_79' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_790' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_791' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_792' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_793' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_794' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_795' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_796' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_797' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_798' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_799' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_80' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_800' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_801' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_802' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_803' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_804' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_805' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_806' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_807' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_808' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_809' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_81' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_810' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_811' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_812' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_813' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_814' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_815' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_816' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_817' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_818' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_819' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_82' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_820' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_821' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_822' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_823' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_824' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_825' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_826' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_827' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_828' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_829' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_83' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_830' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_831' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_832' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_833' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_834' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_835' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_836' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_837' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_838' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_839' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_84' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_840' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_841' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_842' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_843' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_844' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_845' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_846' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_847' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_848' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_849' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_85' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_850' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_851' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_852' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_853' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_854' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_855' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_856' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_857' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_858' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_859' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_86' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_860' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_861' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_862' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_863' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_864' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_865' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_866' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_867' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_868' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_869' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_87' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_870' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_871' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_872' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_873' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_874' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_875' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_876' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_877' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_878' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_879' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_88' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_880' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_881' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_882' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_883' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_884' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_885' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_886' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_887' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_888' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_889' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_89' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_890' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_891' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_892' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_893' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_894' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_895' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_896' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_897' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_898' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_899' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_90' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_900' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_901' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_902' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_903' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_904' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_905' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_906' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_907' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_908' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_909' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_91' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_910' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_911' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_912' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_913' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_914' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_915' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_916' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_917' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_918' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_919' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_92' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_920' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_921' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_922' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_923' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_924' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_925' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_926' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_927' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_928' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_929' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_93' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_930' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_931' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_932' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_933' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_934' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_935' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_936' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_937' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_938' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_939' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_94' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_940' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_941' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_942' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_943' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_944' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_945' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_946' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_947' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_948' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_949' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_95' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_950' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_951' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_952' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_953' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_954' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_955' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_956' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_957' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_958' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_959' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_96' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_960' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_961' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_962' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_963' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_964' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_965' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_966' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_967' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_968' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_969' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_97' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_970' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_971' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_972' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_973' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_974' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_975' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_976' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_977' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_978' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_979' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_98' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_980' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_981' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_982' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_983' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_984' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_985' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_986' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_987' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_988' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_989' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_99' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_990' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_991' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_992' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_993' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_994' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_995' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_996' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_997' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_998' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_999' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.adtFields.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_12.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_13.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_12.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat_outer' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.boxedOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.boxedOne.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.boxedOne' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bp_entries._simp_1_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.simplePat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bp_entries.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.entriesOf._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bp_entries._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.bp_entries' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.directPat_cons._simp_1_4' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.identBoxed_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identLocal_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf_spec' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_cons' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_len.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_len._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_len' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_loads._simp_1_27' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_loads._simp_1_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_loads.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none._simp_1_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none._simp_1_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rlookup_append' depends on axioms: [propext]\n'LexLeanPreservation.Rust.same_boxed_boxed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_boxed_none' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_local_none._simp_1_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_local_none._simp_1_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_local_none.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.same_local_local' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_local_none._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_local_none' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_boxed_local' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rlookup_local_boxed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rlookup_local_single' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_loads._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.directPat_loads' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_boxed_some._simp_1_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_some._simp_1_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_some.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_some._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.entries_boxed_some' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.envRel_locals' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fields_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindPatterns_single' depends on axioms: [propext]\n'LexLeanPreservation.Rust.outer_bind' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.paramCtx_length.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_length._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_length' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.bindOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOne.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.covered.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.covered_mem._simp_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.wt_uninh._simp_10' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.covered_mem' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.ctorOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.destruct_canon' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq_refl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.destruct_excl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.directPat.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_lookup.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_none_of._simp_1_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_none_of.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sameIdent_iff' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_none_of._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_none_of' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.identsDistinct.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.entries_lookup._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_lookup' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.eval_field.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.eval_field._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_field.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_field' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats_none._simp_1_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats_none.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats_none._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats_none' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats_some._simp_1_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats_some.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats_some._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats_some' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_partRead' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.tyBeq_unit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.field_out' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.findArm_some.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.findArm_some._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.findArm_some' depends on axioms: [propext]\n'LexLeanPreservation.Rust.findDispatch_some.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.findDispatch_some._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.findDispatch_some' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_ext' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identBoxed.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identBoxed.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.isWild._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.okBlock.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.otherArms.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.otherArms_mem._simp_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.otherArms_mem' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.outer_miss' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.outer_view' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_ext.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_ext._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_ext' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_fresh.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_fresh._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_fresh' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocal.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_matchOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_matchOn_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_uncons.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_uncons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_scrut' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rca_hit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rca_miss' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_det' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_rebuild.match_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_eq_of_same' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg_rc' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_rebuild._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_rebuild' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.readOf_rc' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.realizesM_value' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArg_simple' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_def' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs_simple.match_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs_simple._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs_simple' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_14.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuild_rca._simp_1_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuild_rca.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_value._simp_1_21' depends on axioms: [propext]\n'LexLeanPreservation.Rust.single_rebuild' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_rca._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_rca' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuildsArm.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_nil' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_fieldGen._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_fieldGen.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_fieldGen.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.wtl_get.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_get._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_get' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_fieldGen' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_fieldHeld' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_fieldRead' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_mCons._simp_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_mCons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_mNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchArms._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.tyBeq_refl.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq_refl._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.tysBeq_refl.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tysBeq_refl._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_refl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.tysBeq_refl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.uninh_of_inert.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.uninh_of_inert._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh_of_inert' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_uninh.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_uninh._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtl_uninh.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_uninh._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_uninh' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.taken_arm' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchArms' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchPair._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchPair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchRebuilt._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchRebuilt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchRebuilt.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchRebuilt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.simplePat.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.validU.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_uninh' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.findArm.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findArm.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findArm.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_5' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_6' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_7' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_8' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.fl_of' does not depend on any axioms\n'LexLeanPreservation.Rust.fnFallible.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of._simp_1_14' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.funSem_of.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_12' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.isTemp.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isTemp.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.item_ne' depends on axioms: [propext]\n'LexLeanPreservation.Rust.kind_ne' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sound._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sound._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.simulate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Representable._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Representable.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Representable._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.RepresentableL._f' does not depend on any axioms\n'LexLeanPreservation.Rust.Representable' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Representable._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.Representable._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.compose' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rel_ne_stuck' depends on axioms: [propext]\n'LexLeanPreservation.Rust.repL_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.repL_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.runItem_abort_infallible' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtAll_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wtAll_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_map._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_map' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_adt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_bool' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_bytes' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encExcept.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_encExcept' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_list' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encList' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encOption.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_encOption' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encOrdering' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encPair' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encUnit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_errorV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i32' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i64' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_int' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_listEnc' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_nat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_noneV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_okV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_optEnc.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_someV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_optEnc' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_ordering' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_pairV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_string' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u32' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u64' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_unitValue' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_nil' depends on axioms: [propext]\n'LexLeanPreservation.encExcept.eq_1' does not depend on any axioms\n'LexLeanPreservation.encExcept.eq_2' does not depend on any axioms\n'LexLeanPreservation.encOption.eq_1' does not depend on any axioms\n'LexLeanPreservation.encOption.eq_2' does not depend on any axioms\n'LexLeanPreservation.encPair.eq_1' does not depend on any axioms\n'LexLeanPreservation.encUnit.eq_1' does not depend on any axioms\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n-- statement vocabulary\ninductive LexLeanPreservation.Obs : Type\nnumber of parameters: 0\nconstructors:\nLexLeanPreservation.Obs.value : LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs\nLexLeanPreservation.Obs.overflow : LexLeanPreservation.Obs\nLexLeanPreservation.Obs.stuck : LexLeanPreservation.Obs\ndef LexLeanPreservation.Rel : Bool → LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs :=\nfun fits v => bif fits then LexLeanPreservation.Obs.value v else LexLeanPreservation.Obs.overflow\ndef LexLeanPreservation.Conv : LexLeanTarget.TargetSyntax.Program →\n List (Nat × LexLeanTarget.TargetSyntax.Value) → LexLeanTarget.TargetSyntax.Expr → LexLeanPreservation.Obs → Prop :=\nfun p env e o => ∃ n, LexLeanPreservation.obs (LexLeanTarget.TargetSemantics.eval n p env e) = some o\ndef LexLeanPreservation.FunRel : LexLeanTarget.TargetSyntax.Program →\n Nat → List LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs → Prop :=\nfun p f args o =>\n ∃ fn,\n LexLeanRuntime.index p.functions f = some fn ∧\n ∃ env,\n LexLeanTarget.TargetSemantics.bindAll fn.parameters args [] = some env ∧\n LexLeanPreservation.Conv p env fn.body o\ndef LexLeanPreservation.RunConv : LexLeanTarget.TargetSyntax.Program →\n Nat → List LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs → Prop :=\nfun p entry args o => ∃ n, LexLeanPreservation.obs (LexLeanTarget.TargetSemantics.run n p entry args) = some o\ndef LexLeanPreservation.Rust.WT : LexLeanTarget.TargetSyntax.Program →\n LexLeanPreservation.Rust.RCrate →\n LexLeanPreservation.Rust.Flags → LexLeanTarget.TargetSyntax.Value → LexLeanTarget.TargetSyntax.Ty → Prop :=\nfun p c A x x_1 =>\n x.brecOn (LexLeanPreservation.Rust.WT._f p c A)\n (fun t f => ⟨LexLeanPreservation.Rust.WTL._f p c A t f, LexLeanPreservation.Rust.WTAll._f p c A t f⟩) x_1\ndef LexLeanPreservation.Rust.WTL : LexLeanTarget.TargetSyntax.Program →\n LexLeanPreservation.Rust.RCrate →\n LexLeanPreservation.Rust.Flags →\n List LexLeanTarget.TargetSyntax.Value → List LexLeanTarget.TargetSyntax.Ty → Prop :=\nfun p c A x x_1 =>\n (LexLeanTarget.TargetSyntax.Value.brecOn_1 x (LexLeanPreservation.Rust.WT._f p c A) fun t f =>\n ⟨LexLeanPreservation.Rust.WTL._f p c A t f, LexLeanPreservation.Rust.WTAll._f p c A t f⟩).1\n x_1\ndef LexLeanPreservation.Rust.fnIdent : Nat → LexLeanPreservation.Rust.RIdent :=\nfun f => LexLeanTarget.RustSyntax.Ident.generated LexLeanTarget.RustSyntax.IdentKind.function f\ndef LexLeanPreservation.Rust.fnFallible : LexLeanPreservation.Rust.RCrate → Nat → Option Bool :=\nfun c f =>\n Option.map (fun fn => LexLeanTarget.RustSemantics.fallibleType fn.snd.fst)\n (LexLeanTarget.RustSemantics.findFunction c.items (LexLeanPreservation.Rust.fnIdent f))\ndef LexLeanPreservation.Rust.RCI : LexLeanPreservation.Rust.RCrate →\n LexLeanPreservation.Rust.RIdent → List LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Rust.ROut → Prop :=\nfun c f args o =>\n o ≠ LexLeanTarget.RustSemantics.ROutcome.exhausted ∧ ∃ n, LexLeanTarget.RustSemantics.invoke n c f args = o\ndef LexLeanPreservation.Rust.Realizes : Bool → LexLeanPreservation.Obs → LexLeanPreservation.Rust.ROut → Prop :=\nfun fl x x_1 =>\n match x, x_1 with\n | LexLeanPreservation.Obs.value v, LexLeanTarget.RustSemantics.ROutcome.value w => w = v\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.raise => fl = true\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.abort => True\n | x, x_2 => False\ndef LexLeanPreservation.Rust.RealizesFn : Bool → LexLeanPreservation.Obs → LexLeanPreservation.Rust.ROut → Prop :=\nfun fallible x x_1 =>\n match x, x_1 with\n | LexLeanPreservation.Obs.value v, LexLeanTarget.RustSemantics.ROutcome.value w => w = bif fallible then v.ok else v\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.value w =>\n fallible = true ∧ w = LexLeanTarget.TargetSyntax.Value.unit.error\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.abort => True\n | x, x_2 => False\ndef LexLeanPreservation.Rust.FunSem : LexLeanTarget.TargetSyntax.Program →\n LexLeanPreservation.Rust.RCrate → LexLeanPreservation.Rust.Flags → Nat → Nat → Prop :=\nfun p c A n f =>\n ∀ (fn : LexLeanTarget.TargetSyntax.Function) (args : List LexLeanTarget.TargetSyntax.Value)\n (env : List (Nat × LexLeanTarget.TargetSyntax.Value)) (F : Bool),\n LexLeanRuntime.index p.functions f = some fn →\n LexLeanPreservation.Rust.WTL p c A args fn.types →\n LexLeanTarget.TargetSemantics.bindAll fn.parameters args [] = some env →\n LexLeanPreservation.Rust.fnFallible c f = some F →\n ∀ (o : LexLeanPreservation.Obs),\n LexLeanPreservation.obs (LexLeanTarget.TargetSemantics.eval n p env fn.body) = some o →\n o ≠ LexLeanPreservation.Obs.stuck →\n (∀ (v : LexLeanTarget.TargetSyntax.Value),\n o = LexLeanPreservation.Obs.value v → LexLeanPreservation.Rust.WT p c A v fn.result) ∧\n ∃ ro,\n LexLeanPreservation.Rust.RealizesFn F o ro ∧\n LexLeanPreservation.Rust.RCI c (LexLeanPreservation.Rust.fnIdent f) args ro\ndef LexLeanPreservation.someObs : LexLeanPreservation.Obs → LexLeanPreservation.Obs :=\nfun x =>\n match x with\n | LexLeanPreservation.Obs.value v => LexLeanPreservation.Obs.value v.some\n | LexLeanPreservation.Obs.overflow => LexLeanPreservation.Obs.overflow\n | LexLeanPreservation.Obs.stuck => LexLeanPreservation.Obs.stuck\ndef LexLeanPreservation.Rust.Representable : LexLeanTarget.TargetSyntax.Value → Prop :=\nfun x => x.brecOn LexLeanPreservation.Rust.Representable._f LexLeanPreservation.Rust.RepresentableL._f\ndef LexLeanPreservation.Rust.RepresentableL : List LexLeanTarget.TargetSyntax.Value → Prop :=\nfun x =>\n LexLeanTarget.TargetSyntax.Value.brecOn_1 x LexLeanPreservation.Rust.Representable._f\n LexLeanPreservation.Rust.RepresentableL._f\nLexLeanPreservation.Rust.runItem_abort_infallible : ∀ (profile : LexLeanTarget.RustSyntax.Profile)\n (item : LexLeanTarget.RustSyntax.Item) (values : List LexLeanTarget.TargetSyntax.Value),\n LexLeanTarget.RustSemantics.runItem profile item values = LexLeanTarget.RustSemantics.ROutcome.abort →\n LexLeanTarget.RustSemantics.itemFallible item = false\n","stdout_sha256":"1b92f865a5113eddee3f5415d6e6b18ff844939b29e03f93695214d256ccbf5b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.Compose.RustStd.json deleted file mode 100644 index a02b08e66..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R0/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R0/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.json deleted file mode 100644 index 62e274fd5..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R0/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R0/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.json deleted file mode 100644 index ea0780dbc..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R0.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R0.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R0","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.Compose.RustStd.json deleted file mode 100644 index 0d1f9079c..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R1/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R1/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.RustStd.json deleted file mode 100644 index 2c1c7329c..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R1/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R1/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.json deleted file mode 100644 index 5907fbb25..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R1.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R1.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R1","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustCore.json deleted file mode 100644 index 43b92a155..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R10/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R10/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustStd.json deleted file mode 100644 index 8c33d40e5..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R10/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R10/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustCore.json deleted file mode 100644 index 6b7d19dcf..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R10/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R10/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustStd.json deleted file mode 100644 index f4eaee5e0..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R10/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R10/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.json deleted file mode 100644 index deacbbf61..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R10.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R10.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R10","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustCore.json deleted file mode 100644 index b106d500b..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R11/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R11/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustStd.json deleted file mode 100644 index 9f1a60543..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R11/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R11/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustCore.json deleted file mode 100644 index 07bff44c5..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R11/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R11/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustStd.json deleted file mode 100644 index 938d61b25..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R11/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R11/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.json deleted file mode 100644 index f07462f24..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R11.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R11.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R11","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustCore.json deleted file mode 100644 index 8c7c8ec8e..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R12/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R12/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustStd.json deleted file mode 100644 index 8330b6870..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R12/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R12/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustCore.json deleted file mode 100644 index 88f7793a0..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R12/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R12/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustStd.json deleted file mode 100644 index 06bc054a8..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R12/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R12/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.json deleted file mode 100644 index 7bbcbf5da..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R12.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R12.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R12","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.Compose.RustStd.json deleted file mode 100644 index 26e57c27c..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R13/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R13/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.RustStd.json deleted file mode 100644 index 7d0cb975d..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R13/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R13/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.json deleted file mode 100644 index 41faa3817..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R13.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R13.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R13","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustCore.json deleted file mode 100644 index 8f569a9b5..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R14/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R14/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustStd.json deleted file mode 100644 index 5074d68c8..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R14/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R14/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustCore.json deleted file mode 100644 index ee4803a59..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R14/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R14/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustStd.json deleted file mode 100644 index a713653b4..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R14/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R14/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.json deleted file mode 100644 index 21049de90..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R14.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R14.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R14","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustCore.json deleted file mode 100644 index 264b0d725..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R15/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R15/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustStd.json deleted file mode 100644 index 6d59b7bb1..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R15/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R15/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustCore.json deleted file mode 100644 index f69d82846..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R15/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R15/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustStd.json deleted file mode 100644 index ae529a866..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R15/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R15/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.json deleted file mode 100644 index 728860e1a..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R15.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R15.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R15","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustCore.json deleted file mode 100644 index f9184044b..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R16/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R16/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustStd.json deleted file mode 100644 index f4915efca..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R16/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R16/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustCore.json deleted file mode 100644 index 22cb6a8e7..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R16/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R16/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustStd.json deleted file mode 100644 index 1da2badd4..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R16/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R16/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.json deleted file mode 100644 index e15f80338..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R16.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R16.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R16","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustCore.json deleted file mode 100644 index 691a45a5a..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R17/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R17/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustStd.json deleted file mode 100644 index c4e5bd520..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R17/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R17/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustCore.json deleted file mode 100644 index 9bd95e474..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R17/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R17/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustStd.json deleted file mode 100644 index ecfd6c748..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R17/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R17/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.json deleted file mode 100644 index 41c6f8c9a..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R17.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R17.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R17","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustCore.json deleted file mode 100644 index 3b4fd3633..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R18/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R18/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustStd.json deleted file mode 100644 index 536eff606..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R18/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R18/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustCore.json deleted file mode 100644 index 3c21b44f9..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R18/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R18/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustStd.json deleted file mode 100644 index f07384bfb..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R18/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R18/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.json deleted file mode 100644 index 99f89b97e..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R18.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R18.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R18","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.Compose.RustStd.json deleted file mode 100644 index d23f16af3..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R19/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R19/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.RustStd.json deleted file mode 100644 index e285db5e7..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R19/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R19/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.json deleted file mode 100644 index c971bb090..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R19.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R19.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R19","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.Compose.RustStd.json deleted file mode 100644 index 4bf21e49e..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R2/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R2/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.RustStd.json deleted file mode 100644 index 45eb561d3..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R2/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R2/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.json deleted file mode 100644 index 79dcb6cbc..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R2.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R2.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R2","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustCore.json deleted file mode 100644 index ebb5b7d9a..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R20/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R20/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustStd.json deleted file mode 100644 index 1024d2633..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R20/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R20/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustCore.json deleted file mode 100644 index c36ce3ed3..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R20/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R20/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustStd.json deleted file mode 100644 index 528927e16..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R20/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R20/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.json deleted file mode 100644 index c05b8f6f2..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R20.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R20.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R20","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustCore.json deleted file mode 100644 index 524ec72f5..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R21/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R21/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustStd.json deleted file mode 100644 index adb8dd97a..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R21/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R21/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustCore.json deleted file mode 100644 index 7de70b1c7..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R21/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R21/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustStd.json deleted file mode 100644 index e108e415c..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R21/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R21/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.json deleted file mode 100644 index ac02e252e..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R21.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R21.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R21","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustCore.json deleted file mode 100644 index 86f0cfc31..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R22/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R22/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustStd.json deleted file mode 100644 index 36cbba05e..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R22/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R22/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustCore.json deleted file mode 100644 index 07ae3cf1a..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R22/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R22/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustStd.json deleted file mode 100644 index 61611acae..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R22/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R22/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.json deleted file mode 100644 index 0add95309..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R22.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R22.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R22","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustCore.json deleted file mode 100644 index 233878d5b..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R23/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R23/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustStd.json deleted file mode 100644 index 7217c7e75..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R23/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R23/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustCore.json deleted file mode 100644 index ef4239db0..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R23/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R23/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustStd.json deleted file mode 100644 index 77eb5b0c6..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R23/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R23/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.json deleted file mode 100644 index 42d14c0a9..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R23.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R23.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R23","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustCore.json deleted file mode 100644 index 51489f80b..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R24/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R24/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustStd.json deleted file mode 100644 index 41b35d5f4..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R24/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R24/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustCore.json deleted file mode 100644 index 3c3a07414..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R24/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R24/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustStd.json deleted file mode 100644 index d54f292ea..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R24/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R24/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.json deleted file mode 100644 index badf767e3..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R24.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R24.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R24","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustCore.json deleted file mode 100644 index e24b8cb77..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R25/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R25/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustStd.json deleted file mode 100644 index 579f06fbb..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R25/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R25/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustCore.json deleted file mode 100644 index f6530aa8b..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R25/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R25/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustStd.json deleted file mode 100644 index 6b20ea447..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R25/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R25/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.json deleted file mode 100644 index 8bfc09931..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R25.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R25.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R25","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.Compose.RustStd.json deleted file mode 100644 index d0331e702..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R26/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R26/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.RustStd.json deleted file mode 100644 index e04175e4d..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R26/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R26/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.json deleted file mode 100644 index 24ef32147..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R26.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R26.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R26","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.Compose.RustStd.json deleted file mode 100644 index 5ddc872e9..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R27/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R27/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.RustStd.json deleted file mode 100644 index 9892454f9..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R27/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R27/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.json deleted file mode 100644 index 828c2595d..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R27.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R27.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R27","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.Compose.RustStd.json deleted file mode 100644 index cbcd3a47b..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R28/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R28/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.RustStd.json deleted file mode 100644 index 20fc00b91..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R28/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R28/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.json deleted file mode 100644 index 9dccc6b7d..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R28.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R28.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R28","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.Compose.RustStd.json deleted file mode 100644 index 5fad45e43..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R29/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R29/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.RustStd.json deleted file mode 100644 index 92b5848a6..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R29/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R29/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.json deleted file mode 100644 index 3f809230b..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R29.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R29.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R29","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.Compose.RustStd.json deleted file mode 100644 index f132f3d86..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R3/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R3/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.RustStd.json deleted file mode 100644 index e24602c32..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R3/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R3/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.json deleted file mode 100644 index e08b1dce0..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R3.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R3.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R3","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.Compose.RustStd.json deleted file mode 100644 index d2fe07b21..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R30/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R30/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.RustStd.json deleted file mode 100644 index f6f985264..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R30/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R30/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.json deleted file mode 100644 index 283888ac7..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R30.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R30.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R30","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.Compose.RustStd.json deleted file mode 100644 index b1d3ac1d3..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R31/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R31/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.RustStd.json deleted file mode 100644 index 20915d89d..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R31/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R31/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.json deleted file mode 100644 index e06226f30..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R31.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R31.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R31","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustCore.json deleted file mode 100644 index 36b6c1b99..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R32/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R32/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustStd.json deleted file mode 100644 index 37c83f75e..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R32/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R32/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustCore.json deleted file mode 100644 index 692ac13c5..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R32/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R32/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustStd.json deleted file mode 100644 index 088f0fe8b..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R32/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R32/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.json deleted file mode 100644 index 8c8a0e81a..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R32.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R32.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R32","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.Compose.RustStd.json deleted file mode 100644 index dcbd71fa9..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R33/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R33/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.RustStd.json deleted file mode 100644 index d120d7c64..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R33/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R33/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.json deleted file mode 100644 index b716ad38f..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R33.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R33.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R33","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.Compose.RustStd.json deleted file mode 100644 index 2fb0ef82c..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R4/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R4/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.RustStd.json deleted file mode 100644 index 7730673e8..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R4/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R4/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.json deleted file mode 100644 index 0ab2c8b48..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R4.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R4.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R4","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.Compose.RustStd.json deleted file mode 100644 index cb21b7d11..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R5/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R5/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.RustStd.json deleted file mode 100644 index a9bd19724..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R5/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R5/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.json deleted file mode 100644 index 26284f4f3..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R5.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R5.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R5","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.Compose.RustStd.json deleted file mode 100644 index 1d40e1ed6..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R6/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R6/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.RustStd.json deleted file mode 100644 index 226e9c901..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R6/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R6/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.json deleted file mode 100644 index ba03206fe..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R6.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R6.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R6","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.Compose.RustStd.json deleted file mode 100644 index 11a3ac2af..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R7/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R7/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.RustStd.json deleted file mode 100644 index dd566dd29..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R7/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R7/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.json deleted file mode 100644 index 15b00cae0..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R7.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R7.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R7","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.Compose.RustStd.json deleted file mode 100644 index 0b2b960c2..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R8/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R8/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.RustStd.json deleted file mode 100644 index e51e7e5b5..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R8/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R8/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.json deleted file mode 100644 index a14099987..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R8.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R8.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R8","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.Compose.RustStd.json deleted file mode 100644 index 401a6fd0c..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R9/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R9/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.RustStd.json deleted file mode 100644 index c323163a7..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R9/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R9/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.json deleted file mode 100644 index 6259e96b0..000000000 --- a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R9.olean","$STAGING/preserve-src/LexLeanPreserve/C6cddd56cf041af764eeefdf9e95c897e/R9.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6cddd56cf041af764eeefdf9e95c897e.R9","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.Compose.RustStd.json new file mode 100644 index 000000000..b6cc7052c --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R0/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R0/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.json new file mode 100644 index 000000000..8cf3837ea --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R0/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R0/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.json new file mode 100644 index 000000000..dbbb353c3 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R0.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R0.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R0","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.Compose.RustStd.json new file mode 100644 index 000000000..a89bd3a41 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R1/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R1/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.RustStd.json new file mode 100644 index 000000000..868346a04 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R1/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R1/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.json new file mode 100644 index 000000000..9eebed3b7 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R1.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R1.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R1","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustCore.json new file mode 100644 index 000000000..477b5407d --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustStd.json new file mode 100644 index 000000000..9d22e2abc --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustCore.json new file mode 100644 index 000000000..e21e09150 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustStd.json new file mode 100644 index 000000000..e39d50810 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.json new file mode 100644 index 000000000..f59d102a0 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R10.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R10","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustCore.json new file mode 100644 index 000000000..9dd58452f --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustStd.json new file mode 100644 index 000000000..c8c3811b7 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustCore.json new file mode 100644 index 000000000..5a457f80a --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustStd.json new file mode 100644 index 000000000..2ba9087a3 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.json new file mode 100644 index 000000000..8c41b1c8f --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R11.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R11","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustCore.json new file mode 100644 index 000000000..3fa4d8d51 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustStd.json new file mode 100644 index 000000000..49370a631 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustCore.json new file mode 100644 index 000000000..2e44f6bb3 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustStd.json new file mode 100644 index 000000000..a627c79b0 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.json new file mode 100644 index 000000000..5f9db9a5f --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R12.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R12","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.Compose.RustStd.json new file mode 100644 index 000000000..0632ce12b --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R13/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R13/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.RustStd.json new file mode 100644 index 000000000..00460db55 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R13/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R13/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.json new file mode 100644 index 000000000..d3b861854 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R13.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R13.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R13","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustCore.json new file mode 100644 index 000000000..4aa7f4bf5 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustStd.json new file mode 100644 index 000000000..6b22cc1dc --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore.json new file mode 100644 index 000000000..89393a4b5 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd.json new file mode 100644 index 000000000..27b9f8a68 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.json new file mode 100644 index 000000000..0c7440d81 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R14.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R14","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustCore.json new file mode 100644 index 000000000..104d9f904 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustStd.json new file mode 100644 index 000000000..3b8771d6d --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustCore.json new file mode 100644 index 000000000..df036abe5 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustStd.json new file mode 100644 index 000000000..0f49c9722 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.json new file mode 100644 index 000000000..c7dca51d4 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R15.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R15","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustCore.json new file mode 100644 index 000000000..9ee0f1968 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustStd.json new file mode 100644 index 000000000..aa20580d5 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustCore.json new file mode 100644 index 000000000..203ad6fa6 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustStd.json new file mode 100644 index 000000000..1ae4ff287 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.json new file mode 100644 index 000000000..a7a1603e8 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R16.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R16","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustCore.json new file mode 100644 index 000000000..7bd7ebb3c --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustStd.json new file mode 100644 index 000000000..c6164b5d7 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustCore.json new file mode 100644 index 000000000..6bf53cc20 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustStd.json new file mode 100644 index 000000000..3013bb5e0 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.json new file mode 100644 index 000000000..5fe1e27ce --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R17.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R17","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustCore.json new file mode 100644 index 000000000..b47b1bd37 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustStd.json new file mode 100644 index 000000000..075d7f70c --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustCore.json new file mode 100644 index 000000000..aa3a758a8 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustStd.json new file mode 100644 index 000000000..e157654b9 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.json new file mode 100644 index 000000000..333db71b5 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R18.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R18","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.Compose.RustStd.json new file mode 100644 index 000000000..3188aa749 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R19/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R19/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.RustStd.json new file mode 100644 index 000000000..11e33da79 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R19/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R19/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.json new file mode 100644 index 000000000..8ed0e15e5 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R19.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R19.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R19","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.Compose.RustStd.json new file mode 100644 index 000000000..df52f78ea --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R2/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R2/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.RustStd.json new file mode 100644 index 000000000..b49a4311f --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R2/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R2/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.json new file mode 100644 index 000000000..4d9c6106a --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R2.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R2.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R2","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustCore.json new file mode 100644 index 000000000..164181b44 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustStd.json new file mode 100644 index 000000000..2efee2c9f --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustCore.json new file mode 100644 index 000000000..0aaeaf537 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustStd.json new file mode 100644 index 000000000..a71958e27 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.json new file mode 100644 index 000000000..9978170e7 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R20.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R20","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustCore.json new file mode 100644 index 000000000..f27b543f9 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustStd.json new file mode 100644 index 000000000..d749e73dc --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustCore.json new file mode 100644 index 000000000..26c999f28 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustStd.json new file mode 100644 index 000000000..0b0779fcd --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.json new file mode 100644 index 000000000..9543ee42c --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R21.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R21","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustCore.json new file mode 100644 index 000000000..1d39a7eb2 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustStd.json new file mode 100644 index 000000000..ca695a680 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustCore.json new file mode 100644 index 000000000..bc539079f --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustStd.json new file mode 100644 index 000000000..2d2f743bc --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.json new file mode 100644 index 000000000..84cdbc981 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R22.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R22","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustCore.json new file mode 100644 index 000000000..47bfe8665 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustStd.json new file mode 100644 index 000000000..d2e2e6505 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustCore.json new file mode 100644 index 000000000..c77367642 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustStd.json new file mode 100644 index 000000000..808f7dcd0 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.json new file mode 100644 index 000000000..7b486979a --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R23.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R23","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustCore.json new file mode 100644 index 000000000..5643f8cc3 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustStd.json new file mode 100644 index 000000000..aabf5cb49 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustCore.json new file mode 100644 index 000000000..2d56d2a53 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustStd.json new file mode 100644 index 000000000..46eb86c60 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.json new file mode 100644 index 000000000..429604ab6 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R24.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R24","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustCore.json new file mode 100644 index 000000000..58c9a68d4 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustStd.json new file mode 100644 index 000000000..7c87b1f4b --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustCore.json new file mode 100644 index 000000000..eed1a3a41 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustStd.json new file mode 100644 index 000000000..db8f0fc9a --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.json new file mode 100644 index 000000000..9c54b53c8 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R25.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R25","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.Compose.RustStd.json new file mode 100644 index 000000000..72a8047ac --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R26/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R26/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.RustStd.json new file mode 100644 index 000000000..9bfccbe4c --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R26/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R26/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.json new file mode 100644 index 000000000..b28ab2199 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R26.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R26.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R26","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.Compose.RustStd.json new file mode 100644 index 000000000..2630b75db --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R27/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R27/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.RustStd.json new file mode 100644 index 000000000..0748cb20f --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R27/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R27/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.json new file mode 100644 index 000000000..e6459e23c --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R27.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R27.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R27","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.Compose.RustStd.json new file mode 100644 index 000000000..b81ca4074 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R28/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R28/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.RustStd.json new file mode 100644 index 000000000..03f9ea70a --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R28/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R28/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.json new file mode 100644 index 000000000..c5c4155ba --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R28.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R28.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R28","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.Compose.RustStd.json new file mode 100644 index 000000000..9b2ca0fe6 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R29/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R29/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.RustStd.json new file mode 100644 index 000000000..d70dcbe5e --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R29/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R29/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.json new file mode 100644 index 000000000..df449f73b --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R29.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R29.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R29","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.Compose.RustStd.json new file mode 100644 index 000000000..19b9d1ec2 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R3/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R3/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.RustStd.json new file mode 100644 index 000000000..a801ea18f --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R3/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R3/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.json new file mode 100644 index 000000000..61537d70e --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R3.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R3.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R3","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.Compose.RustStd.json new file mode 100644 index 000000000..d0f23aa84 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R30/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R30/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.RustStd.json new file mode 100644 index 000000000..59e3d4e35 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R30/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R30/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.json new file mode 100644 index 000000000..9b6d3e713 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R30.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R30.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R30","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.Compose.RustStd.json new file mode 100644 index 000000000..3cfbe91ed --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R31/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R31/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd.json new file mode 100644 index 000000000..309aadeff --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R31/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R31/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.json new file mode 100644 index 000000000..a5692785d --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R31.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R31.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R31","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustCore.json new file mode 100644 index 000000000..82599ad74 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustStd.json new file mode 100644 index 000000000..3a71f884c --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustCore.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustCore.json new file mode 100644 index 000000000..8be17802b --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustStd.json new file mode 100644 index 000000000..192b2a378 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.json new file mode 100644 index 000000000..696ea1bba --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R32.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R32","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.Compose.RustStd.json new file mode 100644 index 000000000..af4a984f6 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R33/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R33/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.RustStd.json new file mode 100644 index 000000000..3499a6eba --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R33/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R33/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.json new file mode 100644 index 000000000..6aa719e08 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R33.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R33.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R33","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.Compose.RustStd.json new file mode 100644 index 000000000..4ba3e00b0 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R4/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R4/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.RustStd.json new file mode 100644 index 000000000..a8f650604 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R4/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R4/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.json new file mode 100644 index 000000000..e4fd02894 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R4.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R4.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R4","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.Compose.RustStd.json new file mode 100644 index 000000000..7c8acdaed --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R5/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R5/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.RustStd.json new file mode 100644 index 000000000..92db90641 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R5/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R5/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.json new file mode 100644 index 000000000..18926f778 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R5.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R5.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R5","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.Compose.RustStd.json new file mode 100644 index 000000000..e58af0b1f --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R6/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R6/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.RustStd.json new file mode 100644 index 000000000..7c02857a6 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R6/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R6/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.json new file mode 100644 index 000000000..2f7db1374 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R6.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R6.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R6","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.Compose.RustStd.json new file mode 100644 index 000000000..d41e2b5cb --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R7/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R7/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.RustStd.json new file mode 100644 index 000000000..010f357bb --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R7/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R7/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.json new file mode 100644 index 000000000..83eefb9bb --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R7.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R7.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R7","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.Compose.RustStd.json new file mode 100644 index 000000000..9b66ba757 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R8/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R8/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.RustStd.json new file mode 100644 index 000000000..6a0a2ae17 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R8/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R8/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.json new file mode 100644 index 000000000..0bda081e7 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R8.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R8.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R8","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.Compose.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.Compose.RustStd.json new file mode 100644 index 000000000..f5ca63256 --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R9/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R9/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.RustStd.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.RustStd.json new file mode 100644 index 000000000..34811000d --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R9/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R9/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.json b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.json new file mode 100644 index 000000000..795982def --- /dev/null +++ b/examples/production-coverage/expected/verify/process/preserve/LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R9.olean","$STAGING/preserve-src/LexLeanPreserve/Ce371869b9b3ca32388daafe8348a6ca5/R9.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Ce371869b9b3ca32388daafe8348a6ca5.R9","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production-coverage/expected/verify/production/compiler-input.json b/examples/production-coverage/expected/verify/production/compiler-input.json index f34340a3c..a34877e22 100644 --- a/examples/production-coverage/expected/verify/production/compiler-input.json +++ b/examples/production-coverage/expected/verify/production/compiler-input.json @@ -1 +1 @@ -{"closures":[{"declarations":["Coverage.Boundary.groveRoot","Coverage.Boundary.groveTags"],"erased":[],"instances":[{"declaration":"Coverage.Boundary.groveRoot","instance":"Coverage.Boundary.groveRoot","type_arguments":[]},{"declaration":"Coverage.Boundary.groveTags","instance":"Coverage.Boundary.groveTags","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Boundary.groveRoot","runtime":["Coverage.Boundary.LexLeanCollections.mapSize","Coverage.Boundary.LexLeanCollections.setSize"]},{"declarations":["Coverage.Colls.folds"],"erased":[],"instances":[{"declaration":"Coverage.Colls.folds","instance":"Coverage.Colls.folds","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Colls.folds","runtime":["Coverage.Colls.LexLeanCollections.listFold","Coverage.Colls.LexLeanCollections.setFold","Coverage.Colls.LexLeanRuntime.subtract"]},{"declarations":["Coverage.Colls.graphs"],"erased":[],"instances":[{"declaration":"Coverage.Colls.graphs","instance":"Coverage.Colls.graphs","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Colls.graphs","runtime":["Coverage.Colls.LexLeanCollections.containsElement","Coverage.Colls.LexLeanCollections.graphNodes","Coverage.Colls.LexLeanCollections.graphReachable","Coverage.Colls.LexLeanCollections.graphSuccessors","Coverage.Colls.LexLeanCollections.graphTopological","Coverage.Colls.LexLeanCollections.insertElement","Coverage.Colls.LexLeanCollections.instKeyNat","Coverage.Colls.LexLeanCollections.lookupEntry","Coverage.Colls.LexLeanCollections.reachableFrom","Coverage.Colls.LexLeanCollections.removeElement","Coverage.Colls.LexLeanCollections.topological"]},{"declarations":["Coverage.Colls.iterations"],"erased":[],"instances":[{"declaration":"Coverage.Colls.iterations","instance":"Coverage.Colls.iterations","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Colls.iterations","runtime":["Coverage.Colls.LexLeanCollections.iterate","Coverage.Colls.LexLeanCollections.iterateUntil"]},{"declarations":["Coverage.Colls.keyTypes"],"erased":[],"instances":[{"declaration":"Coverage.Colls.keyTypes","instance":"Coverage.Colls.keyTypes","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Colls.keyTypes","runtime":["Coverage.Colls.LexLeanCollections.compareCodes","Coverage.Colls.LexLeanCollections.instKeyBool","Coverage.Colls.LexLeanCollections.instKeyInt","Coverage.Colls.LexLeanCollections.instKeyInt8","Coverage.Colls.LexLeanCollections.instKeyNat","Coverage.Colls.LexLeanCollections.instKeyProd","Coverage.Colls.LexLeanCollections.instKeyString","Coverage.Colls.LexLeanCollections.instKeyUInt64","Coverage.Colls.LexLeanCollections.lookupEntry","Coverage.Colls.LexLeanCollections.mapLookup"]},{"declarations":["Coverage.Colls.literals"],"erased":[],"instances":[{"declaration":"Coverage.Colls.literals","instance":"Coverage.Colls.literals","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Colls.literals","runtime":[]},{"declarations":["Coverage.Colls.mapFolding"],"erased":[],"instances":[{"declaration":"Coverage.Colls.mapFolding","instance":"Coverage.Colls.mapFolding","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Colls.mapFolding","runtime":["Coverage.Colls.LexLeanCollections.mapFold"]},{"declarations":["Coverage.Colls.mapOps"],"erased":[],"instances":[{"declaration":"Coverage.Colls.mapOps","instance":"Coverage.Colls.mapOps","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Colls.mapOps","runtime":["Coverage.Colls.LexLeanCollections.compareCodes","Coverage.Colls.LexLeanCollections.insertEntry","Coverage.Colls.LexLeanCollections.instKeyString","Coverage.Colls.LexLeanCollections.lookupEntry","Coverage.Colls.LexLeanCollections.mapContains","Coverage.Colls.LexLeanCollections.mapEntries","Coverage.Colls.LexLeanCollections.mapInsert","Coverage.Colls.LexLeanCollections.mapKeys","Coverage.Colls.LexLeanCollections.mapLookup","Coverage.Colls.LexLeanCollections.mapRemove","Coverage.Colls.LexLeanCollections.mapSize","Coverage.Colls.LexLeanCollections.mapValues","Coverage.Colls.LexLeanCollections.removeEntry"]},{"declarations":["Coverage.Colls.setOps"],"erased":[],"instances":[{"declaration":"Coverage.Colls.setOps","instance":"Coverage.Colls.setOps","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Colls.setOps","runtime":["Coverage.Colls.LexLeanCollections.containsElement","Coverage.Colls.LexLeanCollections.insertElement","Coverage.Colls.LexLeanCollections.instKeyNat","Coverage.Colls.LexLeanCollections.removeElement","Coverage.Colls.LexLeanCollections.setContains","Coverage.Colls.LexLeanCollections.setDifference","Coverage.Colls.LexLeanCollections.setElements","Coverage.Colls.LexLeanCollections.setInsert","Coverage.Colls.LexLeanCollections.setIntersection","Coverage.Colls.LexLeanCollections.setRemove","Coverage.Colls.LexLeanCollections.setSize","Coverage.Colls.LexLeanCollections.setUnion"]},{"declarations":["Coverage.Colls.stringGraph"],"erased":[],"instances":[{"declaration":"Coverage.Colls.stringGraph","instance":"Coverage.Colls.stringGraph","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Colls.stringGraph","runtime":["Coverage.Colls.LexLeanCollections.compareCodes","Coverage.Colls.LexLeanCollections.containsElement","Coverage.Colls.LexLeanCollections.graphNodes","Coverage.Colls.LexLeanCollections.graphSuccessors","Coverage.Colls.LexLeanCollections.graphTopological","Coverage.Colls.LexLeanCollections.insertElement","Coverage.Colls.LexLeanCollections.instKeyString","Coverage.Colls.LexLeanCollections.lookupEntry","Coverage.Colls.LexLeanCollections.removeElement","Coverage.Colls.LexLeanCollections.topological"]},{"declarations":["Coverage.Main.builders"],"erased":[],"instances":[{"declaration":"Coverage.Main.builders","instance":"Coverage.Main.builders","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Main.builders","runtime":[]},{"declarations":["Coverage.Main.double","Coverage.Main.higher","Coverage.Types.twice"],"erased":[],"instances":[{"declaration":"Coverage.Main.higher","instance":"Coverage.Main.higher","type_arguments":[]},{"declaration":"Coverage.Types.twice","instance":"Coverage.Types.twice","type_arguments":[]},{"declaration":"Coverage.Main.double","instance":"Coverage.Main.double","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Main.higher","runtime":["Coverage.Main.LexLeanRuntime.multiply","Coverage.Main.LexLeanRuntime.subtract"]},{"declarations":["Coverage.Main.intOps"],"erased":[],"instances":[{"declaration":"Coverage.Main.intOps","instance":"Coverage.Main.intOps","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Main.intOps","runtime":["Coverage.Main.LexLeanRuntime.instQuotientInt","Coverage.Main.LexLeanRuntime.multiply","Coverage.Main.LexLeanRuntime.negate","Coverage.Main.LexLeanRuntime.quotient","Coverage.Main.LexLeanRuntime.remainder","Coverage.Main.LexLeanRuntime.subtract"]},{"declarations":["Coverage.Main.mapped","Coverage.Types.isEven","Coverage.Types.isOdd","Coverage.Types.mapList"],"erased":[],"instances":[{"declaration":"Coverage.Main.mapped","instance":"Coverage.Main.mapped","type_arguments":[]},{"declaration":"Coverage.Types.mapList","instance":"Coverage.Types.mapList (Nat) (Bool)","type_arguments":["Nat","Bool"]},{"declaration":"Coverage.Types.isEven","instance":"Coverage.Types.isEven","type_arguments":[]},{"declaration":"Coverage.Types.isOdd","instance":"Coverage.Types.isOdd","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Main.mapped","runtime":[]},{"declarations":["Coverage.Main.natOps"],"erased":[],"instances":[{"declaration":"Coverage.Main.natOps","instance":"Coverage.Main.natOps","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Main.natOps","runtime":["Coverage.Main.LexLeanRuntime.instQuotientNat","Coverage.Main.LexLeanRuntime.multiply","Coverage.Main.LexLeanRuntime.quotient","Coverage.Main.LexLeanRuntime.remainder","Coverage.Main.LexLeanRuntime.subtract"]},{"declarations":["Coverage.Main.options"],"erased":[],"instances":[{"declaration":"Coverage.Main.options","instance":"Coverage.Main.options","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Main.options","runtime":[]},{"declarations":["Coverage.Main.pairs"],"erased":[],"instances":[{"declaration":"Coverage.Main.pairs","instance":"Coverage.Main.pairs","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Main.pairs","runtime":[]},{"declarations":["Coverage.Main.parity","Coverage.Types.isEven","Coverage.Types.isOdd"],"erased":[],"instances":[{"declaration":"Coverage.Main.parity","instance":"Coverage.Main.parity","type_arguments":[]},{"declaration":"Coverage.Types.isOdd","instance":"Coverage.Types.isOdd","type_arguments":[]},{"declaration":"Coverage.Types.isEven","instance":"Coverage.Types.isEven","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Main.parity","runtime":[]},{"declarations":["Coverage.Main.records","Coverage.Types.defaultWeights","Coverage.Types.unbox"],"erased":[],"instances":[{"declaration":"Coverage.Main.records","instance":"Coverage.Main.records","type_arguments":[]},{"declaration":"Coverage.Types.defaultWeights","instance":"Coverage.Types.defaultWeights","type_arguments":[]},{"declaration":"Coverage.Types.unbox","instance":"Coverage.Types.unbox (Nat)","type_arguments":["Nat"]}],"internal_erased":[],"root":"Coverage.Main.records","runtime":[]},{"declarations":["Coverage.Main.shapes","Coverage.Types.area"],"erased":[],"instances":[{"declaration":"Coverage.Main.shapes","instance":"Coverage.Main.shapes","type_arguments":[]},{"declaration":"Coverage.Types.area","instance":"Coverage.Types.area","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Main.shapes","runtime":["Coverage.Types.LexLeanRuntime.multiply"]},{"declarations":["Coverage.Main.treeTotal","Coverage.Types.treeSum"],"erased":[],"instances":[{"declaration":"Coverage.Main.treeTotal","instance":"Coverage.Main.treeTotal","type_arguments":[]},{"declaration":"Coverage.Types.treeSum","instance":"Coverage.Types.treeSum","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Main.treeTotal","runtime":[]},{"declarations":["Coverage.Prims.bits"],"erased":[],"instances":[{"declaration":"Coverage.Prims.bits","instance":"Coverage.Prims.bits","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Prims.bits","runtime":["Coverage.Prims.LexLeanRuntime.bitAnd","Coverage.Prims.LexLeanRuntime.bitNot","Coverage.Prims.LexLeanRuntime.bitOr","Coverage.Prims.LexLeanRuntime.bitXor","Coverage.Prims.LexLeanRuntime.equal","Coverage.Prims.LexLeanRuntime.instFixedUInt16","Coverage.Prims.LexLeanRuntime.shiftLeft","Coverage.Prims.LexLeanRuntime.shiftRight"]},{"declarations":["Coverage.Prims.conversions"],"erased":[],"instances":[{"declaration":"Coverage.Prims.conversions","instance":"Coverage.Prims.conversions","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Prims.conversions","runtime":["Coverage.Prims.LexLeanRuntime.checkedConvert","Coverage.Prims.LexLeanRuntime.checkedFromInt","Coverage.Prims.LexLeanRuntime.instFixedInt64","Coverage.Prims.LexLeanRuntime.instFixedInt8","Coverage.Prims.LexLeanRuntime.instFixedUInt16","Coverage.Prims.LexLeanRuntime.instToMathIntInt"]},{"declarations":["Coverage.Prims.decimals"],"erased":[],"instances":[{"declaration":"Coverage.Prims.decimals","instance":"Coverage.Prims.decimals","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Prims.decimals","runtime":["Coverage.Prims.LexLeanRuntime.checkedFromInt","Coverage.Prims.LexLeanRuntime.instDecimalInt","Coverage.Prims.LexLeanRuntime.instDecimalOfFixedOfToString","Coverage.Prims.LexLeanRuntime.instFixedUInt32","Coverage.Prims.LexLeanRuntime.parseDecimal"]},{"declarations":["Coverage.Prims.fixedMiddle"],"erased":[],"instances":[{"declaration":"Coverage.Prims.fixedMiddle","instance":"Coverage.Prims.fixedMiddle","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Prims.fixedMiddle","runtime":["Coverage.Prims.LexLeanRuntime.checkedAdd","Coverage.Prims.LexLeanRuntime.checkedConvert","Coverage.Prims.LexLeanRuntime.checkedFromInt","Coverage.Prims.LexLeanRuntime.checkedMultiply","Coverage.Prims.LexLeanRuntime.equal","Coverage.Prims.LexLeanRuntime.instFixedInt16","Coverage.Prims.LexLeanRuntime.instFixedInt32"]},{"declarations":["Coverage.Prims.fixedSmall"],"erased":[],"instances":[{"declaration":"Coverage.Prims.fixedSmall","instance":"Coverage.Prims.fixedSmall","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Prims.fixedSmall","runtime":["Coverage.Prims.LexLeanRuntime.checkedAdd","Coverage.Prims.LexLeanRuntime.checkedFromInt","Coverage.Prims.LexLeanRuntime.checkedMultiply","Coverage.Prims.LexLeanRuntime.checkedNegate","Coverage.Prims.LexLeanRuntime.checkedQuotient","Coverage.Prims.LexLeanRuntime.checkedSubtract","Coverage.Prims.LexLeanRuntime.instFixedInt8"]},{"declarations":["Coverage.Prims.fixedWide"],"erased":[],"instances":[{"declaration":"Coverage.Prims.fixedWide","instance":"Coverage.Prims.fixedWide","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Prims.fixedWide","runtime":["Coverage.Prims.LexLeanRuntime.checkedAdd","Coverage.Prims.LexLeanRuntime.checkedAddInt64","Coverage.Prims.LexLeanRuntime.checkedFromInt","Coverage.Prims.LexLeanRuntime.checkedMultiplyInt64","Coverage.Prims.LexLeanRuntime.checkedNegateInt64","Coverage.Prims.LexLeanRuntime.checkedQuotientInt64","Coverage.Prims.LexLeanRuntime.checkedSubtractInt64","Coverage.Prims.LexLeanRuntime.divideMagnitudeInt64","Coverage.Prims.LexLeanRuntime.instFixedUInt64","Coverage.Prims.LexLeanRuntime.magnitudeInt64","Coverage.Prims.LexLeanRuntime.multiplyMagnitudeInt64","Coverage.Prims.LexLeanRuntime.signedMagnitudeInt64"]},{"declarations":["Coverage.Prims.formats"],"erased":[],"instances":[{"declaration":"Coverage.Prims.formats","instance":"Coverage.Prims.formats","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Prims.formats","runtime":["Coverage.Prims.LexLeanRuntime.checkedFromInt","Coverage.Prims.LexLeanRuntime.formatDecimal","Coverage.Prims.LexLeanRuntime.instDecimalInt","Coverage.Prims.LexLeanRuntime.instDecimalOfFixedOfToString","Coverage.Prims.LexLeanRuntime.instFixedInt8"]},{"declarations":["Coverage.Prims.sequences"],"erased":[],"instances":[{"declaration":"Coverage.Prims.sequences","instance":"Coverage.Prims.sequences","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Prims.sequences","runtime":["Coverage.Prims.LexLeanRuntime.append","Coverage.Prims.LexLeanRuntime.equal","Coverage.Prims.LexLeanRuntime.index","Coverage.Prims.LexLeanRuntime.instAppendableByteArray","Coverage.Prims.LexLeanRuntime.instAppendableList","Coverage.Prims.LexLeanRuntime.instIndexableByteArrayUInt8","Coverage.Prims.LexLeanRuntime.instIndexableList","Coverage.Prims.LexLeanRuntime.instLengthableByteArray","Coverage.Prims.LexLeanRuntime.instLengthableList","Coverage.Prims.LexLeanRuntime.instSliceableByteArray","Coverage.Prims.LexLeanRuntime.instSliceableList","Coverage.Prims.LexLeanRuntime.length","Coverage.Prims.LexLeanRuntime.listIndex","Coverage.Prims.LexLeanRuntime.slice"]},{"declarations":["Coverage.Prims.text"],"erased":[],"instances":[{"declaration":"Coverage.Prims.text","instance":"Coverage.Prims.text","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Prims.text","runtime":["Coverage.Prims.LexLeanRuntime.compareBytes","Coverage.Prims.LexLeanRuntime.equal","Coverage.Prims.LexLeanRuntime.instLengthableString","Coverage.Prims.LexLeanRuntime.join","Coverage.Prims.LexLeanRuntime.length","Coverage.Prims.LexLeanRuntime.splitExact","Coverage.Prims.LexLeanRuntime.utf8Decode","Coverage.Prims.LexLeanRuntime.utf8Encode"]},{"declarations":["Coverage.RecRoots.rewrite","Coverage.Recur.prune","Coverage.Recur.reassociate"],"erased":["Coverage.Recur.prune_plus","Coverage.Recur.reassociate_literal","Coverage.Recur.reassociate_plus"],"instances":[{"declaration":"Coverage.RecRoots.rewrite","instance":"Coverage.RecRoots.rewrite","type_arguments":[]},{"declaration":"Coverage.Recur.reassociate","instance":"Coverage.Recur.reassociate","type_arguments":[]},{"declaration":"Coverage.Recur.prune","instance":"Coverage.Recur.prune","type_arguments":[]}],"internal_erased":["Coverage.Recur.prune._proof_1","Coverage.Recur.prune._proof_2","Coverage.Recur.reassociate._proof_1","Coverage.Recur.reassociate._proof_2"],"root":"Coverage.RecRoots.rewrite","runtime":[]},{"declarations":["Coverage.RecRoots.roseTotal","Coverage.Recur.forestSize","Coverage.Recur.roseSize"],"erased":[],"instances":[{"declaration":"Coverage.RecRoots.roseTotal","instance":"Coverage.RecRoots.roseTotal","type_arguments":[]},{"declaration":"Coverage.Recur.roseSize","instance":"Coverage.Recur.roseSize (Nat)","type_arguments":["Nat"]},{"declaration":"Coverage.Recur.forestSize","instance":"Coverage.Recur.forestSize (Nat)","type_arguments":["Nat"]}],"internal_erased":[],"root":"Coverage.RecRoots.roseTotal","runtime":[]},{"declarations":["Coverage.RecRoots.syntaxTotal","Coverage.Recur.exprSize","Coverage.Recur.statementSize","Coverage.Recur.statementsSize"],"erased":[],"instances":[{"declaration":"Coverage.RecRoots.syntaxTotal","instance":"Coverage.RecRoots.syntaxTotal","type_arguments":[]},{"declaration":"Coverage.Recur.exprSize","instance":"Coverage.Recur.exprSize","type_arguments":[]},{"declaration":"Coverage.Recur.statementsSize","instance":"Coverage.Recur.statementsSize","type_arguments":[]},{"declaration":"Coverage.Recur.statementSize","instance":"Coverage.Recur.statementSize","type_arguments":[]}],"internal_erased":[],"root":"Coverage.RecRoots.syntaxTotal","runtime":[]},{"declarations":["Coverage.RecRoots.wellFounded","Coverage.Recur.countdown","Coverage.Recur.reduce","Coverage.Recur.search"],"erased":["Coverage.Recur.countdown_decreases","Coverage.Recur.reduce_decreases","Coverage.Recur.search_decreases"],"instances":[{"declaration":"Coverage.RecRoots.wellFounded","instance":"Coverage.RecRoots.wellFounded","type_arguments":[]},{"declaration":"Coverage.Recur.countdown","instance":"Coverage.Recur.countdown","type_arguments":[]},{"declaration":"Coverage.Recur.reduce","instance":"Coverage.Recur.reduce","type_arguments":[]},{"declaration":"Coverage.Recur.search","instance":"Coverage.Recur.search","type_arguments":[]}],"internal_erased":["Coverage.Recur.countdown._unary._proof_1","Coverage.Recur.reduce._unary._proof_1","Coverage.Recur.search._unary._proof_1"],"root":"Coverage.RecRoots.wellFounded","runtime":["Coverage.Recur.LexLeanRuntime.subtract"]}],"declarations":[{"code":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.lengthTR"}},"level_parameters":[],"name":"Coverage.Boundary.LexLeanCollections.mapSize","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"},{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.lengthTR"}},"level_parameters":[],"name":"Coverage.Boundary.LexLeanCollections.setSize","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Boundary.Ledger"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Boundary.Ledger"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v4","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Boundary.Ledger"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Coverage.Boundary.Ledger"}},{"kind":"type","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v5","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Boundary.groveTags"}},"level_parameters":[],"name":"Coverage.Boundary.groveRoot","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Coverage.Boundary.Ledger"}},{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Boundary.Ledger"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Boundary.Ledger"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v20","kind":"fvar"},{"id":"v21","kind":"fvar"},{"id":"v22","kind":"fvar"},{"id":"v23","kind":"fvar"}],"function":"v8","kind":"apply"}},"constructor":"Coverage.Boundary.Grove.node","kind":"constructor","parameters":[{"borrow":false,"id":"v19","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v20","type":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v21","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v22","type":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"borrow":false,"id":"v23","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]},{"code":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v25","kind":"fvar"}],"function":"v12","kind":"apply"}},"constructor":"Coverage.Boundary.Grove.leaf","kind":"constructor","parameters":[{"borrow":false,"id":"v25","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]},{"code":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v27","kind":"fvar"}],"function":"v18","kind":"apply"}},"constructor":"Coverage.Boundary.Grove.settled","kind":"constructor","parameters":[{"borrow":false,"id":"v27","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}}]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Coverage.Boundary.Grove"},"id":"v18","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v13","kind":"apply"}},"declaration":{"id":"v13","parameters":[{"borrow":false,"id":"v14","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v16"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"id":"v12","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Boundary.LexLeanCollections.mapSize"}}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v4","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v5","type":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"borrow":false,"id":"v6","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Boundary.LexLeanCollections.setSize"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Boundary.groveTags","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"alternatives":[{"code":{"body":{"body":{"id":"v43","kind":"return"},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v42","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v42","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v46","kind":"return"},"id":"v46","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v44","kind":"fvar"},{"id":"v45","kind":"fvar"}],"function":"v10","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v44","type":{"kind":"const","levels":[],"name":"Char"}},{"borrow":false,"id":"v45","type":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v1","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Ordering"},"type_name":"List"},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"alternatives":[{"code":{"body":{"id":"v49","kind":"return"},"id":"v49","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v47","kind":"fvar"},{"id":"v48","kind":"fvar"}],"function":"v15","kind":"apply"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v52","kind":"return"},"id":"v52","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v47","kind":"fvar"},{"id":"v48","kind":"fvar"},{"id":"v50","kind":"fvar"},{"id":"v51","kind":"fvar"}],"function":"v41","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v50","type":{"kind":"const","levels":[],"name":"Char"}},{"borrow":false,"id":"v51","type":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v1","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Ordering"},"type_name":"List"},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v47","type":{"kind":"const","levels":[],"name":"Char"}},{"borrow":false,"id":"v48","type":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Ordering"},"type_name":"List"},"id":"v41","kind":"let","type":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Char"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Char"},"kind":"arrow"},"value":{"arguments":[],"function":"v16","kind":"apply"}},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":[],"name":"Char"}},{"borrow":false,"id":"v18","type":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v19","type":{"kind":"const","levels":[],"name":"Char"}},{"borrow":false,"id":"v20","type":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Char"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Char"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v36","kind":"return"},"id":"v36","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v35","kind":"fvar"}],"function":"v24","kind":"apply"}},"id":"v35","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.eq","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v40","kind":"return"},"id":"v40","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"kind":"type","type":{"kind":"any"}}],"function":"v37","kind":"apply"}},"declaration":{"id":"v37","parameters":[{"borrow":false,"id":"v38","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v34","kind":"fvar"}],"function":"v27","kind":"apply"}}},"kind":"fun"},"kind":"default"}],"discriminant":"v34","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Ordering"},"type_name":"Ordering"},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v31","kind":"fvar"},{"id":"v33","kind":"fvar"}],"function":"v29","kind":"apply"}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"UInt32"},"value":{"index":0,"kind":"projection","type_name":"Char","value":"v19"}},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v30","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"UInt32"},"value":{"index":0,"kind":"projection","type_name":"Char","value":"v17"}},"id":"v29","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Ord","value":"v28"}},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Ord"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instOrdNat"}},"id":"v27","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Ordering"},"kind":"arrow"},"value":{"arguments":[],"function":"v25","kind":"apply"}},"declaration":{"id":"v25","parameters":[{"borrow":false,"id":"v26","type":{"kind":"const","levels":[],"name":"Ordering"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Ordering"},"kind":"arrow"},"value":{"id":"v26","kind":"return"}},"kind":"fun"},"id":"v24","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v21","kind":"apply"}},"declaration":{"id":"v21","parameters":[{"borrow":false,"id":"v22","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v18","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.compareCodes"}}},"kind":"fun"}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Char"},"kind":"arrow"},"value":{"arguments":[],"function":"v11","kind":"apply"}},"declaration":{"id":"v11","parameters":[{"borrow":false,"id":"v12","type":{"kind":"const","levels":[],"name":"Char"}},{"borrow":false,"id":"v13","type":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Char"},"kind":"arrow"},"value":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Ordering.gt"}}},"kind":"fun"},"id":"v10","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Char"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":[],"name":"Char"}},{"borrow":false,"id":"v8","type":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Char"},"kind":"arrow"},"value":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Ordering.lt"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Ordering.eq"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.compareCodes","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v29","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v33","kind":"return"},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v31","kind":"fvar"},{"id":"v32","kind":"fvar"}],"function":"v28","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v31","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v32","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v3","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"List"},"id":"v28","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v10","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"function":"v11","kind":"apply"}},"id":"v22","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.lt","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"function":"v15","kind":"apply"}},"id":"v24","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.eq","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v26","kind":"fvar"}],"function":"v19","kind":"apply"}},"id":"v26","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.gt","kind":"constructor","parameters":[]}],"discriminant":"v21","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Ordering"},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v9","kind":"fvar"}],"function":"v20","kind":"apply"}},"id":"v20","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Colls.LexLeanCollections.Key","value":"v1"}},"id":"v19","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v16","kind":"apply"}},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.containsElement"}}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"id":"v11","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}}},"kind":"fun"},"id":"v7","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.containsElement","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v3","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.foldl"}},"id":"v14","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v5","type":{"arguments":[{"id":"v0","kind":"fvar"},{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"},{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v6","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.foldl"}},"id":"v12","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v5"}},"id":"v11","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.insertElement"}},"id":"v10","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v5"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v8","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.insertElement"}}},"kind":"fun"}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.graphNodes","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"},{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v12","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.reachableFrom"}},"id":"v14","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v3","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v13","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v8","kind":"fvar"},{"id":"v11","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.lengthTR"}},"id":"v7","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.graphNodes"}},"id":"v6","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.graphReachable","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"},{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"function":"v10","kind":"apply"}},"id":"v12","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"function":"v6","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v11","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Option"},"id":"v11","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.lookupEntry"}},"id":"v10","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.nil"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"id":"v5","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.graphSuccessors","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"},{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v12","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.topological"}},"id":"v13","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v8","kind":"fvar"},{"id":"v11","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.lengthTR"}},"id":"v7","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"id":"v3","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.graphNodes"}},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.graphTopological","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"},{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v36","kind":"return"},"id":"v36","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v35","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v35","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v37","kind":"fvar"},{"id":"v38","kind":"fvar"}],"function":"v34","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v37","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v38","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"List"},"id":"v34","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v11","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v28","kind":"fvar"}],"function":"v16","kind":"apply"}},"id":"v28","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.lt","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v31","kind":"return"},"id":"v31","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v30","kind":"fvar"}],"function":"v20","kind":"apply"}},"id":"v30","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.eq","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v33","kind":"return"},"id":"v33","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"function":"v25","kind":"apply"}},"id":"v32","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.gt","kind":"constructor","parameters":[]}],"discriminant":"v27","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Ordering"},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v10","kind":"fvar"}],"function":"v26","kind":"apply"}},"id":"v26","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Colls.LexLeanCollections.Key","value":"v1"}},"id":"v25","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v21","kind":"apply"}},"declaration":{"id":"v21","parameters":[{"borrow":false,"id":"v22","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v10","kind":"fvar"},{"id":"v23","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v23","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.insertElement"}}},"kind":"fun"},"id":"v20","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}}},"kind":"fun"},"id":"v16","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v14","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}}},"kind":"fun"}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v6","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.nil"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.insertElement","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v44","kind":"return"},"id":"v44","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v43","kind":"fvar"}],"function":"v11","kind":"apply"}},"id":"v43","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"alternatives":[{"code":{"body":{"id":"v49","kind":"return"},"id":"v49","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v47","kind":"fvar"},{"id":"v48","kind":"fvar"},{"id":"v46","kind":"fvar"}],"function":"v42","kind":"apply"}},"constructor":"Prod.mk","kind":"constructor","parameters":[{"borrow":false,"id":"v47","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v48","type":{"id":"v1","kind":"fvar"}}]}],"discriminant":"v45","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Prod"},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v45","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v46","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v5","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"List"},"id":"v42","kind":"let","type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v14","type":{"id":"v1","kind":"fvar"}},{"borrow":false,"id":"v15","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v37","kind":"return"},"id":"v37","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v36","kind":"fvar"}],"function":"v22","kind":"apply"}},"id":"v36","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.lt","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v38","kind":"fvar"}],"function":"v27","kind":"apply"}},"id":"v38","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.eq","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v41","kind":"return"},"id":"v41","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v40","kind":"fvar"}],"function":"v33","kind":"apply"}},"id":"v40","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.gt","kind":"constructor","parameters":[]}],"discriminant":"v35","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Ordering"},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v13","kind":"fvar"}],"function":"v34","kind":"apply"}},"id":"v34","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Colls.LexLeanCollections.Key","value":"v2"}},"id":"v33","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v28","kind":"apply"}},"declaration":{"id":"v28","parameters":[{"borrow":false,"id":"v29","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v30","kind":"fvar"},{"id":"v31","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v31","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.insertEntry"}},"id":"v30","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}}},"kind":"fun"},"id":"v27","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v23","kind":"apply"}},"declaration":{"id":"v23","parameters":[{"borrow":false,"id":"v24","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v25","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v25","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}}},"kind":"fun"},"id":"v22","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v16","kind":"apply"}},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v18","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v20","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v19","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v19","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v18","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}}},"kind":"fun"}},"kind":"fun"},"id":"v11","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v9","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v8","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.insertEntry","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v4","type":{"id":"v1","kind":"fvar"}},{"borrow":false,"id":"v5","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":5,"kind":"bvar"},{"index":4,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"index":4,"kind":"bvar"},{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key.mk"}},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Ord","value":"v0"}},"id":"v0","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0"],"name":"Ord"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instOrdBool"}},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.instKeyBool","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}},{"code":{"body":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key.mk"}},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Ord","value":"v0"}},"id":"v0","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Ord"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instOrdInt"}},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.instKeyInt","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}},{"code":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key.mk"}},"declaration":{"id":"v0","parameters":[{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Int8"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Int8"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Int8.toInt"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Int8.toInt"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Ord","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Ord"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instOrdInt"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.instKeyInt8","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}},{"code":{"body":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key.mk"}},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Ord","value":"v0"}},"id":"v0","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Ord"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instOrdNat"}},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.instKeyNat","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}},{"code":{"body":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key.mk"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v6","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v21","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v21","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.eq","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"kind":"type","type":{"kind":"any"}}],"function":"v23","kind":"apply"}},"declaration":{"id":"v23","parameters":[{"borrow":false,"id":"v24","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"function":"v16","kind":"apply"}}},"kind":"fun"},"kind":"default"}],"discriminant":"v20","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Ordering"},"type_name":"Ordering"},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v18","kind":"fvar"},{"id":"v19","kind":"fvar"}],"function":"v17","kind":"apply"}},"id":"v19","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v6"}},"id":"v18","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v5"}},"id":"v17","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Colls.LexLeanCollections.Key","value":"v2"}},"id":"v16","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Ordering"},"kind":"arrow"},"value":{"arguments":[],"function":"v14","kind":"apply"}},"declaration":{"id":"v14","parameters":[{"borrow":false,"id":"v15","type":{"kind":"const","levels":[],"name":"Ordering"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Ordering"},"kind":"arrow"},"value":{"id":"v15","kind":"return"}},"kind":"fun"},"id":"v13","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"function":"v9","kind":"apply"}},"id":"v11","kind":"let","type":{"id":"v1","kind":"fvar"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v6"}},"id":"v10","kind":"let","type":{"id":"v1","kind":"fvar"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v5"}},"id":"v9","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Colls.LexLeanCollections.Key","value":"v3"}}},"kind":"fun"}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.instKeyProd","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":3,"kind":"bvar"},{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key.mk"}},"declaration":{"id":"v0","parameters":[{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"String"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"String"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.compareCodes"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"String.toList"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"String.toList"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.instKeyString","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}},{"code":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key.mk"}},"declaration":{"id":"v0","parameters":[{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"UInt64"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.toNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.toNat"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Ord","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Ord"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instOrdNat"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.instKeyUInt64","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"function":"v6","kind":"apply"}},"constructor":"Nat.zero","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v14","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v12","kind":"apply"}},"constructor":"Nat.succ","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v2","kind":"cases","result_type":{"id":"v0","kind":"fvar"},"type_name":"Nat"},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v9","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.iterate"}},"id":"v10","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"function":"v1","kind":"apply"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"id":"v5","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.iterate","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"codomain":{"index":1,"kind":"bvar"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"function":"v8","kind":"apply"}},"constructor":"Nat.zero","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v28","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v26","kind":"apply"}},"constructor":"Nat.succ","kind":"constructor","parameters":[{"borrow":false,"id":"v28","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v2","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Nat"},"id":"v26","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v11","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"function":"v16","kind":"apply"}},"id":"v22","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"function":"v20","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"id":"v0","kind":"fvar"}}]}],"discriminant":"v21","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Option"},"id":"v21","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"function":"v1","kind":"apply"}},"id":"v20","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.iterateUntil"}}},"kind":"fun"},"id":"v16","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v11","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.iterateUntil","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v1","kind":"fvar"},"value":{"arguments":[{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.foldl"}},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.listFold","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"codomain":{"codomain":{"id":"v1","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"}},{"borrow":false,"id":"v3","type":{"id":"v1","kind":"fvar"}},{"borrow":false,"id":"v4","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v31","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v31","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"alternatives":[{"code":{"body":{"id":"v37","kind":"return"},"id":"v37","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v35","kind":"fvar"},{"id":"v36","kind":"fvar"},{"id":"v34","kind":"fvar"}],"function":"v30","kind":"apply"}},"constructor":"Prod.mk","kind":"constructor","parameters":[{"borrow":false,"id":"v35","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v36","type":{"id":"v1","kind":"fvar"}}]}],"discriminant":"v33","kind":"cases","result_type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Prod"},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v33","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v34","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v4","kind":"cases","result_type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"List"},"id":"v30","kind":"let","type":{"codomain":{"codomain":{"codomain":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v11","type":{"id":"v1","kind":"fvar"}},{"borrow":false,"id":"v12","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v24","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.lt","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v26","kind":"fvar"}],"function":"v17","kind":"apply"}},"id":"v26","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.eq","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v28","kind":"fvar"}],"function":"v21","kind":"apply"}},"id":"v28","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.gt","kind":"constructor","parameters":[]}],"discriminant":"v23","kind":"cases","result_type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Ordering"},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v10","kind":"fvar"}],"function":"v22","kind":"apply"}},"id":"v22","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Colls.LexLeanCollections.Key","value":"v2"}},"id":"v21","kind":"let","type":{"codomain":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v18","kind":"apply"}},"declaration":{"id":"v18","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.lookupEntry"}}},"kind":"fun"},"id":"v17","kind":"let","type":{"codomain":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v14","kind":"apply"}},"declaration":{"id":"v14","parameters":[{"borrow":false,"id":"v15","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}}},"kind":"fun"},"id":"v13","kind":"let","type":{"codomain":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v1","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.lookupEntry","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v4","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"index":3,"kind":"bvar"},{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.isSome"}},"id":"v5","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.lookupEntry"}},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.mapContains","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v4","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"index":3,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"index":2,"kind":"bvar"},{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"id":"v2","kind":"return"},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.mapEntries","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":2,"kind":"bvar"},{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"},{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"id":"v2","kind":"fvar"},"value":{"arguments":[{"kind":"type","type":{"id":"v2","kind":"fvar"}},{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v6","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.foldl"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"id":"v2","kind":"fvar"}},{"borrow":false,"id":"v8","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"codomain":{"id":"v2","kind":"fvar"},"domain":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v2","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"id":"v2","kind":"fvar"},"value":{"arguments":[{"id":"v7","kind":"fvar"},{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"function":"v3","kind":"apply"}},"id":"v10","kind":"let","type":{"id":"v1","kind":"fvar"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v8"}},"id":"v9","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v8"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.mapFold","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v3","type":{"codomain":{"codomain":{"codomain":{"id":"v2","kind":"fvar"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v2","kind":"fvar"},"kind":"arrow"}},{"borrow":false,"id":"v4","type":{"id":"v2","kind":"fvar"}},{"borrow":false,"id":"v5","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"arguments":[{"arguments":[{"index":4,"kind":"bvar"},{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":3,"kind":"bvar"},"kind":"arrow"},"domain":{"index":3,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.insertEntry"}},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.mapInsert","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v4","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v5","type":{"id":"v1","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":5,"kind":"bvar"},{"index":4,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"index":3,"kind":"bvar"},"kind":"arrow"},"domain":{"index":3,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"index":2,"kind":"bvar"},{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v3","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.mapTR"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v4"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.mapKeys","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"},{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.lookupEntry"}},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.mapLookup","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v4","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"index":3,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"index":2,"kind":"bvar"},{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.removeEntry"}},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.mapRemove","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v4","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":4,"kind":"bvar"},{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"index":3,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"index":2,"kind":"bvar"},{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.lengthTR"}},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.mapSize","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"},{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v3","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.mapTR"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"id":"v1","kind":"fvar"},"domain":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v1","kind":"fvar"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v4"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.mapValues","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"},{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v68","kind":"return"},"id":"v68","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"function":"v9","kind":"apply"}},"constructor":"Nat.zero","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v70","kind":"return"},"id":"v70","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v69","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"function":"v67","kind":"apply"}},"constructor":"Nat.succ","kind":"constructor","parameters":[{"borrow":false,"id":"v69","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Nat"},"id":"v67","kind":"let","type":{"codomain":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v10","kind":"apply"}},"declaration":{"id":"v10","parameters":[{"borrow":false,"id":"v11","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v12","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v13","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v62","kind":"return"},"id":"v62","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v61","kind":"fvar"}],"function":"v51","kind":"apply"}},"id":"v61","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v66","kind":"return"},"id":"v66","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"any"}}],"function":"v63","kind":"apply"}},"declaration":{"id":"v63","parameters":[{"borrow":false,"id":"v64","type":{"kind":"erased"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"body":{"id":"v65","kind":"return"},"id":"v65","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v48","kind":"fvar"}],"function":"v60","kind":"apply"}}},"kind":"fun"},"kind":"default"}],"discriminant":"v48","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"List"},"id":"v60","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v52","kind":"apply"}},"declaration":{"id":"v52","parameters":[{"borrow":false,"id":"v53","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v59","kind":"return"},"id":"v59","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v48","kind":"fvar"},{"id":"v58","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.reachableFrom"}},"id":"v58","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v54","kind":"fvar"},{"id":"v13","kind":"fvar"},{"id":"v48","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.foldl"}},"declaration":{"id":"v54","parameters":[{"borrow":false,"id":"v55","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v56","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v57","kind":"return"},"id":"v57","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v56","kind":"fvar"},{"id":"v55","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.insertElement"}}},"kind":"fun"}},"kind":"fun"},"id":"v51","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v49","kind":"apply"}},"declaration":{"id":"v49","parameters":[{"borrow":false,"id":"v50","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"id":"v13","kind":"return"}},"kind":"fun"},"id":"v48","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v47","kind":"apply"}},"id":"v47","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v14","kind":"fvar"},{"id":"v46","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.foldl"}},"id":"v46","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"declaration":{"id":"v14","parameters":[{"borrow":false,"id":"v15","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v16","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v45","kind":"return"},"id":"v45","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v17","kind":"fvar"},{"id":"v15","kind":"fvar"},{"id":"v44","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.foldl"}},"id":"v44","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.graphSuccessors"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v19","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v42","kind":"fvar"}],"kind":"jump","target":"v36"},"id":"v42","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v43","kind":"fvar"}],"kind":"jump","target":"v39"},"id":"v43","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v28","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Bool"},"declaration":{"id":"v39","parameters":[{"borrow":false,"id":"v40","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v41","kind":"fvar"}],"kind":"jump","target":"v29"},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v40","kind":"fvar"}],"function":"v23","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v36","parameters":[{"borrow":false,"id":"v37","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v38","kind":"fvar"}],"kind":"jump","target":"v29"},"id":"v38","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v37","kind":"fvar"}],"function":"v27","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v29","parameters":[{"borrow":false,"id":"v30","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v34","kind":"return"},"id":"v34","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v19","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.insertElement"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v33","type":{"kind":"erased"}}]},{"code":{"id":"v18","kind":"return"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v35","type":{"kind":"erased"}}]}],"discriminant":"v32","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Decidable"},"id":"v32","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v30","kind":"fvar"},{"id":"v31","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"join"},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v19","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.containsElement"}},"id":"v27","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v24","kind":"apply"}},"declaration":{"id":"v24","parameters":[{"borrow":false,"id":"v25","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v19","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.containsElement"}}},"kind":"fun"},"id":"v23","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v20","kind":"apply"}},"declaration":{"id":"v20","parameters":[{"borrow":false,"id":"v21","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"}},"kind":"fun"}},"kind":"fun"}},"kind":"fun"},"id":"v9","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v8","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"id":"v8","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.reachableFrom","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v4","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v5","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":5,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"index":4,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"},{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v33","kind":"return"},"id":"v33","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v32","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v36","kind":"return"},"id":"v36","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v34","kind":"fvar"},{"id":"v35","kind":"fvar"}],"function":"v31","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v34","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v35","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"List"},"id":"v31","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v10","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v25","kind":"fvar"}],"function":"v14","kind":"apply"}},"id":"v25","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.lt","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v27","kind":"fvar"}],"function":"v17","kind":"apply"}},"id":"v27","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.eq","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"function":"v22","kind":"apply"}},"id":"v29","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.gt","kind":"constructor","parameters":[]}],"discriminant":"v24","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Ordering"},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v9","kind":"fvar"}],"function":"v23","kind":"apply"}},"id":"v23","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Colls.LexLeanCollections.Key","value":"v1"}},"id":"v22","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v18","kind":"apply"}},"declaration":{"id":"v18","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v9","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v20","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.removeElement"}}},"kind":"fun"},"id":"v17","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v15","kind":"apply"}},"declaration":{"id":"v15","parameters":[{"borrow":false,"id":"v16","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"id":"v10","kind":"return"}},"kind":"fun"},"id":"v14","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v11","kind":"apply"}},"declaration":{"id":"v11","parameters":[{"borrow":false,"id":"v12","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}}},"kind":"fun"}},"kind":"fun"},"id":"v7","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.nil"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.removeElement","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v37","kind":"return"},"id":"v37","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v36","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v36","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"alternatives":[{"code":{"body":{"id":"v42","kind":"return"},"id":"v42","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v40","kind":"fvar"},{"id":"v41","kind":"fvar"},{"id":"v39","kind":"fvar"}],"function":"v35","kind":"apply"}},"constructor":"Prod.mk","kind":"constructor","parameters":[{"borrow":false,"id":"v40","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v41","type":{"id":"v1","kind":"fvar"}}]}],"discriminant":"v38","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Prod"},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v38","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v39","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v4","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"List"},"id":"v35","kind":"let","type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v11","type":{"id":"v1","kind":"fvar"}},{"borrow":false,"id":"v12","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"function":"v17","kind":"apply"}},"id":"v29","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.lt","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v31","kind":"fvar"}],"function":"v20","kind":"apply"}},"id":"v31","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.eq","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v34","kind":"return"},"id":"v34","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"function":"v26","kind":"apply"}},"id":"v33","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.gt","kind":"constructor","parameters":[]}],"discriminant":"v28","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Ordering"},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v10","kind":"fvar"}],"function":"v27","kind":"apply"}},"id":"v27","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Colls.LexLeanCollections.Key","value":"v2"}},"id":"v26","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v21","kind":"apply"}},"declaration":{"id":"v21","parameters":[{"borrow":false,"id":"v22","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v23","kind":"fvar"},{"id":"v24","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v24","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.removeEntry"}},"id":"v23","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}}},"kind":"fun"},"id":"v20","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v18","kind":"apply"}},"declaration":{"id":"v18","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"id":"v12","kind":"return"}},"kind":"fun"},"id":"v17","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v13","kind":"apply"}},"declaration":{"id":"v13","parameters":[{"borrow":false,"id":"v14","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v15","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v15","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}}},"kind":"fun"}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"List.nil"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.removeEntry","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v4","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":4,"kind":"bvar"},{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"index":3,"kind":"bvar"},{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.containsElement"}},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.setContains","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v4","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.filterTR"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Bool.not"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.containsElement"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.setDifference","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"id":"v1","kind":"return"},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.setElements","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v1","kind":"fvar"},"value":{"arguments":[{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.foldl"}},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.setFold","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"codomain":{"codomain":{"id":"v1","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"}},{"borrow":false,"id":"v3","type":{"id":"v1","kind":"fvar"}},{"borrow":false,"id":"v4","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.insertElement"}},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.setInsert","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v4","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.filterTR"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.containsElement"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.setIntersection","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.removeElement"}},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.setRemove","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.lengthTR"}},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.setSize","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v4","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.foldl"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v6","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v6","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.insertElement"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.setUnion","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v55","kind":"return"},"id":"v55","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"function":"v17","kind":"apply"}},"constructor":"Nat.zero","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v57","kind":"return"},"id":"v57","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v56","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"function":"v54","kind":"apply"}},"constructor":"Nat.succ","kind":"constructor","parameters":[{"borrow":false,"id":"v56","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Nat"},"id":"v54","kind":"let","type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v18","kind":"apply"}},"declaration":{"id":"v18","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v20","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v21","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v50","kind":"return"},"id":"v50","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v49","kind":"fvar"}],"function":"v32","kind":"apply"}},"id":"v49","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v53","kind":"return"},"id":"v53","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v51","kind":"fvar"},{"id":"v52","kind":"fvar"}],"function":"v39","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v51","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v52","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v48","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"List"},"id":"v48","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v40","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.filterTR"}},"declaration":{"id":"v40","parameters":[{"borrow":false,"id":"v41","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"id":"v47","kind":"return"},"id":"v47","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v20","kind":"fvar"},{"id":"v42","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.all"}},"declaration":{"id":"v42","parameters":[{"borrow":false,"id":"v43","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v46","kind":"return"},"id":"v46","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v45","kind":"fvar"}],"kind":"const","levels":[],"name":"Bool.not"}},"id":"v45","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v41","kind":"fvar"},{"id":"v44","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.containsElement"}},"id":"v44","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v43","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.graphSuccessors"}}},"kind":"fun"}},"kind":"fun"},"id":"v39","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v33","kind":"apply"}},"declaration":{"id":"v33","parameters":[{"borrow":false,"id":"v34","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v35","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v38","kind":"return"},"id":"v38","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v19","kind":"fvar"},{"id":"v36","kind":"fvar"},{"id":"v37","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.topological"}},"id":"v37","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v34","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v36","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v34","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.removeElement"}}},"kind":"fun"},"id":"v32","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v22","kind":"apply"}},"declaration":{"id":"v22","parameters":[{"borrow":false,"id":"v23","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v27","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v31","kind":"return"},"id":"v31","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v30","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v30","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.reverse"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v29","type":{"kind":"erased"}}]}],"discriminant":"v26","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v26","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v24","kind":"fvar"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.isEmpty"}}},"kind":"fun"}},"kind":"fun"},"id":"v17","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v8","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v15","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.reverse"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"kind":"erased"}}]}],"discriminant":"v11","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v11","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.isEmpty"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Colls.LexLeanCollections.topological","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v4","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v5","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":5,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"index":4,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"},{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HSub","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HSub"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHSub"}},"level_parameters":[],"name":"Coverage.Colls.LexLeanRuntime.subtract","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v12","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v13","kind":"fvar"},{"id":"v20","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.setFold"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v19"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"5"}}},"declaration":{"id":"v13","parameters":[{"borrow":false,"id":"v14","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v15","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v16","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanRuntime.subtract"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instSub"}}},"kind":"fun"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.listFold"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v7","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Colls.folds","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v3","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v6","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v5","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.graphTopological"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.graphReachable"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.graphSuccessors"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.instKeyNat"}},"level_parameters":[],"name":"Coverage.Colls.graphs","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v11","kind":"fvar"},{"id":"v31","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v31","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v12","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.iterateUntil"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v20","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v29","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v28","kind":"fvar"}],"function":"v25","kind":"apply"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v27"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v26","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"id":"v25","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v24"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v23","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v22","type":{"kind":"erased"}}]}],"discriminant":"v19","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v19","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v17","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v15"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"10"}}}},"kind":"fun"},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.iterate"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v9","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v8"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v6","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Colls.iterations","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v13","kind":"fvar"},{"id":"v24","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v24","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v15","kind":"fvar"},{"id":"v23","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v23","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v17","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v22","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"id":"v19","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v20","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.mapLookup"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.instKeyUInt64"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v18","kind":"fvar"},{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.mapLookup"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.instKeyInt"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v16","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.mapLookup"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.instKeyBool"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v14","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.mapLookup"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.instKeyInt8"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v12","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.mapLookup"}},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.instKeyProd"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.instKeyString"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.instKeyNat"}},"level_parameters":[],"name":"Coverage.Colls.keyTypes","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Int8"}},{"borrow":false,"id":"v4","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v5","type":{"kind":"const","levels":[],"name":"Bool"}},{"borrow":false,"id":"v6","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v7","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v8","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v9","type":{"kind":"const","levels":[],"name":"UInt64"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v11","kind":"fvar"},{"id":"v28","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v28","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v20","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v27","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v22","kind":"fvar"},{"id":"v26","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v26","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v24","kind":"fvar"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v25","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v7","kind":"fvar"},{"id":"v23","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v14","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v14","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v7","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v14","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v17","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v16"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v13"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v11","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v3","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v9","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v4","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"String"},"value":{"kind":"literal","literal":{"kind":"string","value":"b"}}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"String"},"value":{"kind":"literal","literal":{"kind":"string","value":"a"}}},"level_parameters":[],"name":"Coverage.Colls.literals","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"String"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.mapFold"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v13"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v5","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v5","kind":"fvar"},{"id":"v1","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v8","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Colls.mapFolding","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v4","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v17","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v5","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v16","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v6","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v7","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v14","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v8","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v13","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v9","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v11","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.mapEntries"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.mapSize"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.mapValues"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.mapKeys"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.mapContains"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.mapLookup"}},"id":"v5","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.mapRemove"}},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.mapInsert"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.instKeyString"}},"level_parameters":[],"name":"Coverage.Colls.mapOps","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"String"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v4","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v17","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v5","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v6","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v15","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v7","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v14","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v8","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v13","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v9","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.setElements"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.setSize"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.setDifference"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.setIntersection"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.setUnion"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.setContains"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.setRemove"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.setInsert"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.instKeyNat"}},"level_parameters":[],"name":"Coverage.Colls.setOps","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"id":"v1","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.graphTopological"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.instKeyString"}},"level_parameters":[],"name":"Coverage.Colls.stringGraph","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"Coverage.Main.LexLeanRuntime.Quotient"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Main.LexLeanRuntime.Quotient.mk"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v9","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v8"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v6","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"BEq","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instBEqOfDecidableEq"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instDecidableEq"}}},"kind":"fun"},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.tmod"}},"id":"v0","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.tdiv"}},"level_parameters":[],"name":"Coverage.Main.LexLeanRuntime.instQuotientInt","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"Coverage.Main.LexLeanRuntime.Quotient"},"kind":"app"}},{"code":{"body":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"Coverage.Main.LexLeanRuntime.Quotient"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Main.LexLeanRuntime.Quotient.mk"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v9","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v8"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v6","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"BEq","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instBEqOfDecidableEq"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instDecidableEqNat"}}},"kind":"fun"},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Nat.mod"}},"id":"v0","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Nat.div"}},"level_parameters":[],"name":"Coverage.Main.LexLeanRuntime.instQuotientNat","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"Coverage.Main.LexLeanRuntime.Quotient"},"kind":"app"}},{"code":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HMul","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HMul"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHMul"}},"level_parameters":[],"name":"Coverage.Main.LexLeanRuntime.multiply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v3","kind":"apply"}},"id":"v3","kind":"let","type":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v1"}},"level_parameters":[],"name":"Coverage.Main.LexLeanRuntime.negate","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v10","kind":"apply"}},"id":"v10","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Main.LexLeanRuntime.Quotient","value":"v1"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v9","type":{"kind":"erased"}}]},{"code":{"id":"v4","kind":"return"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"kind":"erased"}}]}],"discriminant":"v8","kind":"cases","result_type":{"id":"v0","kind":"fvar"},"type_name":"Decidable"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":2,"kind":"projection","type_name":"Coverage.Main.LexLeanRuntime.Quotient","value":"v1"}},"level_parameters":[],"name":"Coverage.Main.LexLeanRuntime.quotient","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Main.LexLeanRuntime.Quotient"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v4","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"index":4,"kind":"bvar"},"domain":{"index":3,"kind":"bvar"},"kind":"arrow"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Main.LexLeanRuntime.Quotient"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v10","kind":"apply"}},"id":"v10","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":1,"kind":"projection","type_name":"Coverage.Main.LexLeanRuntime.Quotient","value":"v1"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v9","type":{"kind":"erased"}}]},{"code":{"id":"v4","kind":"return"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"kind":"erased"}}]}],"discriminant":"v8","kind":"cases","result_type":{"id":"v0","kind":"fvar"},"type_name":"Decidable"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":2,"kind":"projection","type_name":"Coverage.Main.LexLeanRuntime.Quotient","value":"v1"}},"level_parameters":[],"name":"Coverage.Main.LexLeanRuntime.remainder","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Main.LexLeanRuntime.Quotient"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v4","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"index":4,"kind":"bvar"},"domain":{"index":3,"kind":"bvar"},"kind":"arrow"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Main.LexLeanRuntime.Quotient"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HSub","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HSub"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHSub"}},"level_parameters":[],"name":"Coverage.Main.LexLeanRuntime.subtract","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"arguments":[{"id":"v14","kind":"fvar"}],"kind":"jump","target":"v9"},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":["1"],"name":"PUnit"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":["1"],"name":"PUnit"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v13","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"arguments":[{"id":"v17","kind":"fvar"}],"kind":"jump","target":"v9"},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":["1"],"name":"PUnit"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":["1"],"name":"PUnit"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Nat.zero"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v15","type":{"kind":"erased"}}]}],"discriminant":"v8","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":["1"],"name":"PUnit"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"arguments":[{"kind":"const","levels":["1"],"name":"PUnit"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":["1"],"name":"PUnit"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":["1"],"name":"PUnit"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":["1"],"name":"PUnit"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":["1"],"name":"PUnit"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}},{"id":"v2","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}}},"kind":"join"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.succ"}},"level_parameters":[],"name":"Coverage.Main.builders","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":["1"],"name":"PUnit"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"function":"v3","kind":"apply"}},"id":"v3","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"level_parameters":[],"name":"Coverage.Main.double","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v15","kind":"fvar"},{"id":"v23","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v20","kind":"fvar"},{"id":"v22","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v21","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.twice"}},"id":"v21","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Main.double"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"function":"v16","kind":"apply"}},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v18","kind":"fvar"},{"id":"v17","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Main.LexLeanRuntime.subtract"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubNat"}}},"kind":"fun"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v10","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.twice"}},"declaration":{"id":"v10","parameters":[{"borrow":false,"id":"v11","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v1","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v12","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Main.LexLeanRuntime.multiply"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instMulNat"}}},"kind":"fun"},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v7","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"level_parameters":[],"name":"Coverage.Main.higher","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Main.LexLeanRuntime.subtract"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v4","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Main.LexLeanRuntime.negate"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v11","kind":"fvar"},{"id":"v15","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Main.LexLeanRuntime.remainder"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v17"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v11","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Main.LexLeanRuntime.quotient"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v13"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"Coverage.Main.LexLeanRuntime.Quotient"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Main.LexLeanRuntime.instQuotientInt"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Main.LexLeanRuntime.multiply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instNegInt"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instMul"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instSub"}},"level_parameters":[],"name":"Coverage.Main.intOps","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Int"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v1","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.mapList"}},"id":"v1","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Types.isEven"}},"level_parameters":[],"name":"Coverage.Main.mapped","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v58","kind":"fvar"}],"kind":"jump","target":"v52"},"id":"v58","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v59","kind":"fvar"}],"kind":"jump","target":"v55"},"id":"v59","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v37","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Bool"},"declaration":{"id":"v55","parameters":[{"borrow":false,"id":"v56","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v57","kind":"fvar"}],"kind":"jump","target":"v38"},"id":"v57","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v56","kind":"fvar"}],"function":"v36","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v52","parameters":[{"borrow":false,"id":"v53","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v54","kind":"fvar"}],"kind":"jump","target":"v38"},"id":"v54","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v53","kind":"fvar"}],"function":"v16","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v38","parameters":[{"borrow":false,"id":"v39","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v44","kind":"return"},"id":"v44","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v43","kind":"fvar"},{"id":"v7","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Main.LexLeanRuntime.multiply"}},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instMulNat"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v42","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v51","kind":"return"},"id":"v51","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v50","kind":"fvar"},{"id":"v12","kind":"fvar"}],"function":"v48","kind":"apply"}},"id":"v50","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v49","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Main.LexLeanRuntime.subtract"}},"id":"v49","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubNat"}},"id":"v48","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v47"}},"id":"v47","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v46","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v46","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v45","type":{"kind":"erased"}}]}],"discriminant":"v41","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Decidable"},"id":"v41","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v39","kind":"fvar"},{"id":"v40","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v40","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"join"},"id":"v37","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v7","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v36","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v33","kind":"return"},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"function":"v27","kind":"apply"}},"id":"v32","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v35","kind":"return"},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v34","kind":"fvar"}],"function":"v22","kind":"apply"}},"id":"v34","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v31","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v12","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v29"}},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v28","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v27","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v23","kind":"apply"}},"declaration":{"id":"v23","parameters":[{"borrow":false,"id":"v24","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v25","kind":"fvar"}],"kind":"const","levels":[],"name":"Bool.not"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}}},"kind":"fun"},"id":"v22","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v19","kind":"apply"}},"declaration":{"id":"v19","parameters":[{"borrow":false,"id":"v20","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"}},"kind":"fun"},"id":"v16","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v13","kind":"apply"}},"declaration":{"id":"v13","parameters":[{"borrow":false,"id":"v14","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v11","kind":"apply"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Main.LexLeanRuntime.remainder"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v9"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Main.LexLeanRuntime.quotient"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"7"}}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"Coverage.Main.LexLeanRuntime.Quotient"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Main.LexLeanRuntime.instQuotientNat"}},"level_parameters":[],"name":"Coverage.Main.natOps","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v47","kind":"fvar"}],"kind":"jump","target":"v41"},"id":"v47","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"arguments":[{"id":"v48","kind":"fvar"}],"kind":"jump","target":"v44"},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v48","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Option"},"declaration":{"id":"v44","parameters":[{"borrow":false,"id":"v45","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v46","kind":"fvar"}],"kind":"jump","target":"v14"},"id":"v46","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v45","kind":"fvar"}],"function":"v13","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v41","parameters":[{"borrow":false,"id":"v42","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v43","kind":"fvar"}],"kind":"jump","target":"v14"},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v42","kind":"fvar"}],"function":"v10","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v14","parameters":[{"borrow":false,"id":"v15","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"arguments":[{"id":"v39","kind":"fvar"}],"kind":"jump","target":"v36"},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v39","type":{"kind":"const","levels":[],"name":"Bool"}}]},{"code":{"arguments":[{"id":"v40","kind":"fvar"}],"kind":"jump","target":"v33"},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v40","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v1","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Except"},"declaration":{"id":"v36","parameters":[{"borrow":false,"id":"v37","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v38","kind":"fvar"}],"kind":"jump","target":"v30"},"id":"v38","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v37","kind":"fvar"}],"function":"v29","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v33","parameters":[{"borrow":false,"id":"v34","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v35","kind":"fvar"}],"kind":"jump","target":"v30"},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v34","kind":"fvar"}],"function":"v16","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v30","parameters":[{"borrow":false,"id":"v31","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v15","kind":"fvar"},{"id":"v31","kind":"fvar"}],"function":"v4","kind":"apply"}}},"kind":"join"},"id":"v29","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v23"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v21","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v27"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v26","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v25","type":{"kind":"erased"}}]}],"discriminant":"v20","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Decidable"},"id":"v20","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v18","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"id":"v16","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v11","kind":"apply"}}},"kind":"join"},"id":"v13","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v11","kind":"apply"}},"declaration":{"id":"v11","parameters":[{"borrow":false,"id":"v12","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"id":"v12","kind":"return"}},"kind":"fun"},"id":"v10","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v8"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"level_parameters":[],"name":"Coverage.Main.options","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v0"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v0"}},"level_parameters":[],"name":"Coverage.Main.pairs","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.isOdd"}},"level_parameters":[],"name":"Coverage.Main.parity","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v10","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.unbox"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"Coverage.Types.Box"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v11","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.Box.mk"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v13"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Coverage.Types.Point","value":"v3"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v7","kind":"fvar"},{"id":"v9","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Coverage.Types.Weights","value":"v8"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Types.Weights"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Types.defaultWeights"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Types.Point","value":"v3"}},"id":"v6","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Types.Point"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Types.Point"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.Point.mk"}},"level_parameters":[],"name":"Coverage.Main.records","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v11","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v8","kind":"fvar"},{"id":"v10","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.area"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Types.Shape"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Types.Shape.empty"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.area"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Types.Shape"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.Shape.circle"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.area"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Types.Shape"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.Shape.rect"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"level_parameters":[],"name":"Coverage.Main.shapes","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.treeSum"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.Tree.node"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.Tree.node"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"5"}}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Types.Tree.leaf"}},"level_parameters":[],"name":"Coverage.Main.treeTotal","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Prims.LexLeanRuntime.Appendable","value":"v1"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.append","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Appendable"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Appendable"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":4,"kind":"projection","type_name":"Coverage.Prims.LexLeanRuntime.Fixed","value":"v1"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.bitAnd","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v3","kind":"apply"}},"id":"v3","kind":"let","type":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":7,"kind":"projection","type_name":"Coverage.Prims.LexLeanRuntime.Fixed","value":"v1"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.bitNot","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":5,"kind":"projection","type_name":"Coverage.Prims.LexLeanRuntime.Fixed","value":"v1"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.bitOr","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":6,"kind":"projection","type_name":"Coverage.Prims.LexLeanRuntime.Fixed","value":"v1"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.bitXor","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.checkedFromInt"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Prims.LexLeanRuntime.ToMathInt","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Prims.LexLeanRuntime.Fixed","value":"v1"}},"id":"v6","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"const","levels":[],"name":"Int"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instAdd"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.checkedAdd","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v70","kind":"fvar"}],"kind":"jump","target":"v67"},"id":"v70","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v71","kind":"fvar"}],"kind":"jump","target":"v64"},"id":"v71","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v45","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Bool"},"declaration":{"id":"v67","parameters":[{"borrow":false,"id":"v68","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v69","kind":"fvar"}],"kind":"jump","target":"v46"},"id":"v69","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v68","kind":"fvar"}],"function":"v35","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v64","parameters":[{"borrow":false,"id":"v65","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v66","kind":"fvar"}],"kind":"jump","target":"v46"},"id":"v66","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v65","kind":"fvar"}],"function":"v40","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v46","parameters":[{"borrow":false,"id":"v47","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v62","kind":"fvar"}],"kind":"jump","target":"v56"},"id":"v62","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v63","kind":"fvar"}],"kind":"jump","target":"v59"},"id":"v63","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v47","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Bool"},"declaration":{"id":"v59","parameters":[{"borrow":false,"id":"v60","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v61","kind":"fvar"}],"kind":"jump","target":"v48"},"id":"v61","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v60","kind":"fvar"}],"function":"v10","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v56","parameters":[{"borrow":false,"id":"v57","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v58","kind":"fvar"}],"kind":"jump","target":"v48"},"id":"v58","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v57","kind":"fvar"}],"function":"v31","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v48","parameters":[{"borrow":false,"id":"v49","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v53","kind":"return"},"id":"v53","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v52","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v55","kind":"return"},"id":"v55","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v54","type":{"kind":"erased"}}]}],"discriminant":"v51","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v51","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v49","kind":"fvar"},{"id":"v50","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v50","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"join"}},"kind":"join"},"id":"v45","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v44","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v44","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v43","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.decLt"}},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v42"}},"id":"v42","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.instOfNat"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v40","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v36","kind":"apply"}},"declaration":{"id":"v36","parameters":[{"borrow":false,"id":"v37","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v38","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v38","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.decLt"}}},"kind":"fun"},"id":"v35","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v32","kind":"apply"}},"declaration":{"id":"v32","parameters":[{"borrow":false,"id":"v33","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v34","kind":"return"},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"id":"v31","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v11","kind":"apply"}},"declaration":{"id":"v11","parameters":[{"borrow":false,"id":"v12","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v27","kind":"fvar"}],"function":"v16","kind":"apply"}},"id":"v27","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"function":"v21","kind":"apply"}},"id":"v29","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v26","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v25","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v24","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.decLt"}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v23"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.instOfNat"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v21","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.decLt"}}},"kind":"fun"},"id":"v16","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v13","kind":"apply"}},"declaration":{"id":"v13","parameters":[{"borrow":false,"id":"v14","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"}},"kind":"fun"},"id":"v10","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int64"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"},{"kind":"const","levels":[],"name":"Int64"},{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddInt64"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.checkedAddInt64","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Int64"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Int64"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v3","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.checkedFromInt"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v4","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Prims.LexLeanRuntime.ToMathInt","value":"v2"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.checkedConvert","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.ToMathInt"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v4","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"index":3,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.ToMathInt"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v10","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v9","kind":"apply"}},"id":"v9","kind":"let","type":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":1,"kind":"projection","type_name":"Coverage.Prims.LexLeanRuntime.Fixed","value":"v1"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v8","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"kind":"erased"}}]}],"discriminant":"v7","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v7","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Int.decLt"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":3,"kind":"projection","type_name":"Coverage.Prims.LexLeanRuntime.Fixed","value":"v1"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v5","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"kind":"erased"}}]}],"discriminant":"v4","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Int.decLt"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":2,"kind":"projection","type_name":"Coverage.Prims.LexLeanRuntime.Fixed","value":"v1"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.checkedFromInt","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Int"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.checkedFromInt"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Prims.LexLeanRuntime.ToMathInt","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Prims.LexLeanRuntime.Fixed","value":"v1"}},"id":"v6","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HMul","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"const","levels":[],"name":"Int"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HMul"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHMul"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instMul"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.checkedMultiply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v31","kind":"return"},"id":"v31","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v30","kind":"fvar"}],"function":"v16","kind":"apply"}},"id":"v30","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v33","kind":"return"},"id":"v33","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"function":"v21","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v32","type":{"kind":"const","levels":[],"name":"UInt64"}}]}],"discriminant":"v29","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v24","kind":"fvar"},{"id":"v25","kind":"fvar"},{"id":"v26","kind":"fvar"},{"id":"v28","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.multiplyMagnitudeInt64"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v27"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.instOfNat"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.magnitudeInt64"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.magnitudeInt64"}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v23"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"64"}}},"id":"v21","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"UInt64"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"body":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[{"id":"v12","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.signedMagnitudeInt64"}}},"kind":"fun"},"id":"v16","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v13","kind":"apply"}},"declaration":{"id":"v13","parameters":[{"borrow":false,"id":"v14","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"function":"v11","kind":"apply"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v3","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"bne"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.decLt"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.decLt"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.instOfNat"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instBEqOfDecidableEq"}},"id":"v2","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.checkedMultiplyInt64","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Int64"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Int64"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.checkedFromInt"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v6","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Prims.LexLeanRuntime.ToMathInt","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Prims.LexLeanRuntime.Fixed","value":"v1"}},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instNegInt"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.checkedNegate","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"function":"v5","kind":"apply"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v16","type":{"kind":"erased"}}]}],"discriminant":"v12","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v12","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v9","kind":"fvar"}],"function":"v3","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.instOfNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9223372036854775808"}}},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int64"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int64.instNeg"}},"id":"v3","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"BEq","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instBEqOfDecidableEq"}},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instDecidableEqInt64"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.checkedNegateInt64","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Int64"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.checkedFromInt"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v12","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Int.tdiv"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v5","kind":"apply"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v15","type":{"kind":"erased"}}]}],"discriminant":"v10","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v10","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Int.instDecidableEq"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v8"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Prims.LexLeanRuntime.ToMathInt","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Prims.LexLeanRuntime.Fixed","value":"v1"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.checkedQuotient","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v63","kind":"fvar"}],"kind":"jump","target":"v57"},"id":"v63","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v64","kind":"fvar"}],"kind":"jump","target":"v60"},"id":"v64","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v32","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Bool"},"declaration":{"id":"v60","parameters":[{"borrow":false,"id":"v61","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v62","kind":"fvar"}],"kind":"jump","target":"v33"},"id":"v62","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v61","kind":"fvar"}],"function":"v25","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v57","parameters":[{"borrow":false,"id":"v58","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v59","kind":"fvar"}],"kind":"jump","target":"v33"},"id":"v59","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v58","kind":"fvar"}],"function":"v15","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v33","parameters":[{"borrow":false,"id":"v34","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v54","kind":"return"},"id":"v54","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}},{"id":"v53","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v53","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[{"id":"v44","kind":"fvar"},{"id":"v52","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.signedMagnitudeInt64"}},"id":"v52","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v47","kind":"fvar"},{"id":"v48","kind":"fvar"},{"id":"v49","kind":"fvar"},{"id":"v51","kind":"fvar"},{"id":"v51","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.divideMagnitudeInt64"}},"id":"v51","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v50"}},"id":"v50","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.instOfNat"}},"id":"v49","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.magnitudeInt64"}},"id":"v48","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.magnitudeInt64"}},"id":"v47","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v46"}},"id":"v46","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v45","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v45","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"64"}}},"id":"v44","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"function":"v43","kind":"apply"}},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v38","kind":"fvar"},{"id":"v40","kind":"fvar"},{"id":"v42","kind":"fvar"}],"kind":"const","levels":["0"],"name":"bne"}},"id":"v42","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v41","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.decLt"}},"id":"v40","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v39","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v39","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.decLt"}},"id":"v38","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v37","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instBEqOfDecidableEq"}},"id":"v37","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v36","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v56","kind":"return"},"id":"v56","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v55","type":{"kind":"erased"}}]}],"discriminant":"v35","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v35","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v34","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}}},"kind":"join"},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v31","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[{"id":"v30","kind":"fvar"}],"function":"v27","kind":"apply"}},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v29"}},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v28","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.instOfNat"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9223372036854775808"}}},"id":"v27","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int64"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v26"}},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int64.instNeg"}},"id":"v25","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v16","kind":"apply"}},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v23","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"function":"v19","kind":"apply"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v21"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.instOfNat"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v19","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int64"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v18"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int64.instNeg"}}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v66","kind":"return"},"id":"v66","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v65","type":{"kind":"erased"}}]}],"discriminant":"v10","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v10","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v7","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.instOfNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"BEq","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instBEqOfDecidableEq"}},"id":"v2","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instDecidableEqInt64"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.checkedQuotientInt64","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Int64"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Int64"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.checkedFromInt"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Prims.LexLeanRuntime.ToMathInt","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Prims.LexLeanRuntime.Fixed","value":"v1"}},"id":"v6","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HSub","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"const","levels":[],"name":"Int"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HSub"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHSub"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instSub"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.checkedSubtract","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v70","kind":"fvar"}],"kind":"jump","target":"v67"},"id":"v70","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v71","kind":"fvar"}],"kind":"jump","target":"v64"},"id":"v71","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v45","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Bool"},"declaration":{"id":"v67","parameters":[{"borrow":false,"id":"v68","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v69","kind":"fvar"}],"kind":"jump","target":"v46"},"id":"v69","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v68","kind":"fvar"}],"function":"v35","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v64","parameters":[{"borrow":false,"id":"v65","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v66","kind":"fvar"}],"kind":"jump","target":"v46"},"id":"v66","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v65","kind":"fvar"}],"function":"v40","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v46","parameters":[{"borrow":false,"id":"v47","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v62","kind":"fvar"}],"kind":"jump","target":"v56"},"id":"v62","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v63","kind":"fvar"}],"kind":"jump","target":"v59"},"id":"v63","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v47","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Bool"},"declaration":{"id":"v59","parameters":[{"borrow":false,"id":"v60","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v61","kind":"fvar"}],"kind":"jump","target":"v48"},"id":"v61","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v60","kind":"fvar"}],"function":"v10","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v56","parameters":[{"borrow":false,"id":"v57","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v58","kind":"fvar"}],"kind":"jump","target":"v48"},"id":"v58","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v57","kind":"fvar"}],"function":"v31","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v48","parameters":[{"borrow":false,"id":"v49","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v53","kind":"return"},"id":"v53","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v52","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v55","kind":"return"},"id":"v55","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v54","type":{"kind":"erased"}}]}],"discriminant":"v51","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v51","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v49","kind":"fvar"},{"id":"v50","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v50","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"join"}},"kind":"join"},"id":"v45","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v44","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v44","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v43","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.decLt"}},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v42"}},"id":"v42","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.instOfNat"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v40","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v36","kind":"apply"}},"declaration":{"id":"v36","parameters":[{"borrow":false,"id":"v37","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v38","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v38","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.decLt"}}},"kind":"fun"},"id":"v35","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v32","kind":"apply"}},"declaration":{"id":"v32","parameters":[{"borrow":false,"id":"v33","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v34","kind":"return"},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"id":"v31","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v11","kind":"apply"}},"declaration":{"id":"v11","parameters":[{"borrow":false,"id":"v12","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v27","kind":"fvar"}],"function":"v16","kind":"apply"}},"id":"v27","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"function":"v21","kind":"apply"}},"id":"v29","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v26","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v25","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v24","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.decLt"}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v23"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.instOfNat"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v21","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.decLt"}}},"kind":"fun"},"id":"v16","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v13","kind":"apply"}},"declaration":{"id":"v13","parameters":[{"borrow":false,"id":"v14","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"}},"kind":"fun"},"id":"v10","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int64"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HSub","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"},{"kind":"const","levels":[],"name":"Int64"},{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HSub"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHSub"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubInt64"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.checkedSubtractInt64","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Int64"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Int64"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"ByteArray.toList"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"ByteArray.toList"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Ord","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Ord"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.instOrd"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Ord"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt8.instOrd"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.compareBytes","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"ByteArray"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"ByteArray"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"ByteArray"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v55","kind":"return"},"id":"v55","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"function":"v10","kind":"apply"}},"constructor":"Nat.zero","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v57","kind":"return"},"id":"v57","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v56","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"function":"v54","kind":"apply"}},"constructor":"Nat.succ","kind":"constructor","parameters":[{"borrow":false,"id":"v56","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"UInt64"},"type_name":"Nat"},"id":"v54","kind":"let","type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v11","kind":"apply"}},"declaration":{"id":"v11","parameters":[{"borrow":false,"id":"v12","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v13","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v14","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v15","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v16","type":{"kind":"const","levels":[],"name":"UInt64"}}],"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"arguments":[{"id":"v49","kind":"fvar"}],"kind":"jump","target":"v27"},"id":"v49","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v48"}},"id":"v48","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v47","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.instOfNat"}},"id":"v47","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v46","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"arguments":[{"id":"v53","kind":"fvar"}],"kind":"jump","target":"v27"},"id":"v53","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v52"}},"id":"v52","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v51","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.instOfNat"}},"id":"v51","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v50","type":{"kind":"erased"}}]}],"discriminant":"v26","kind":"cases","result_type":{"kind":"const","levels":[],"name":"UInt64"},"type_name":"Decidable"},"declaration":{"id":"v27","parameters":[{"borrow":false,"id":"v28","type":{"kind":"const","levels":[],"name":"UInt64"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v35","kind":"return"},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v12","kind":"fvar"},{"id":"v21","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v30","kind":"fvar"},{"id":"v32","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.divideMagnitudeInt64"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v34","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v45","kind":"return"},"id":"v45","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v12","kind":"fvar"},{"id":"v21","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v40","kind":"fvar"},{"id":"v44","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.divideMagnitudeInt64"}},"id":"v44","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v32","kind":"fvar"},{"id":"v43","kind":"fvar"}],"function":"v19","kind":"apply"}},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v42"}},"id":"v42","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.instOfNat"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v40","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v30","kind":"fvar"},{"id":"v14","kind":"fvar"}],"function":"v39","kind":"apply"}},"id":"v39","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HSub","value":"v38"}},"id":"v38","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"const","levels":[],"name":"UInt64"},{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HSub"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}},{"id":"v37","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHSub"}},"id":"v37","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubUInt64"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v36","type":{"kind":"erased"}}]}],"discriminant":"v33","kind":"cases","result_type":{"kind":"const","levels":[],"name":"UInt64"},"type_name":"Decidable"},"id":"v33","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v14","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.decLe"}},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[],"function":"v31","kind":"apply"}},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v16","kind":"fvar"},{"id":"v16","kind":"fvar"}],"function":"v19","kind":"apply"}},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[],"function":"v29","kind":"apply"}},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v22","kind":"fvar"},{"id":"v28","kind":"fvar"}],"function":"v19","kind":"apply"}}},"kind":"join"},"id":"v26","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v25","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.decLe"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v24"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.instOfNat"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9223372036854775808"}}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v15","kind":"fvar"},{"id":"v15","kind":"fvar"}],"function":"v19","kind":"apply"}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[],"function":"v20","kind":"apply"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v13","kind":"fvar"}],"function":"v19","kind":"apply"}},"id":"v19","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v18"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"const","levels":[],"name":"UInt64"},{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}},{"id":"v17","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddUInt64"}}},"kind":"fun"},"id":"v10","kind":"let","type":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v7","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v8","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v9","type":{"kind":"const","levels":[],"name":"UInt64"}}],"type":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"id":"v9","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.divideMagnitudeInt64","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"UInt64"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"BEq","value":"v1"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.equal","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"String"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v3","kind":"apply"}},"id":"v3","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"String"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":1,"kind":"projection","type_name":"Coverage.Prims.LexLeanRuntime.Decimal","value":"v1"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.formatDecimal","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Decimal"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"String"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Decimal"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Prims.LexLeanRuntime.Indexable","value":"v2"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.index","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Indexable"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"},{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Indexable"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Appendable.mk"}},"id":"v0","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"ByteArray"},"domain":{"kind":"const","levels":[],"name":"ByteArray"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"ByteArray"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"ByteArray.fastAppend"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.instAppendableByteArray","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Appendable"},"kind":"app"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Appendable.mk"}},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.appendTR"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.instAppendableList","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Appendable"},"kind":"app"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Decimal"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v0","kind":"fvar"},{"id":"v23","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Decimal.mk"}},"id":"v23","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"String"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"ToString","value":"v22"}},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"ToString"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instToStringInt"}},"declaration":{"id":"v0","parameters":[{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"String"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"function":"v16","kind":"apply"}},"id":"v18","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"function":"v12","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v20","type":{"kind":"const","levels":[],"name":"Int"}}]}],"discriminant":"v17","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"String.toInt?"}},"id":"v16","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v13","kind":"apply"}},"declaration":{"id":"v13","parameters":[{"borrow":false,"id":"v14","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"id":"v12","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v8","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v10","type":{"kind":"erased"}}]}],"discriminant":"v7","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v7","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqString"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"String"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"String"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"ToString","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"ToString"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instToStringInt"}}},"kind":"fun"}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.instDecimalInt","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Decimal"},"kind":"app"}},{"code":{"body":{"body":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Decimal"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v3","kind":"fvar"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Decimal.mk"}},"id":"v25","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"String"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"ToString","value":"v2"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"String"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v21","kind":"fvar"}],"function":"v19","kind":"apply"}},"id":"v21","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"function":"v15","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v23","type":{"kind":"const","levels":[],"name":"Int"}}]}],"discriminant":"v20","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"String.toInt?"}},"id":"v19","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v16","kind":"apply"}},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.checkedFromInt"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"kind":"erased"}}]}],"discriminant":"v10","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v10","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqString"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"String"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"String"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"ToString","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"ToString"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instToStringInt"}}},"kind":"fun"}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.instDecimalOfFixedOfToString","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"ToString"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Decimal"},"kind":"app"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"ToString"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v44","kind":"return"},"id":"v44","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int16"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v15","kind":"fvar"},{"id":"v16","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed.mk"}},"declaration":{"id":"v30","parameters":[{"borrow":false,"id":"v31","type":{"kind":"const","levels":[],"name":"Int16"}},{"borrow":false,"id":"v32","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int16"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int16"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v38","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v43","kind":"return"},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int16"}},{"id":"v42","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v42","kind":"let","type":{"kind":"const","levels":[],"name":"Int16"},"value":{"arguments":[{"id":"v31","kind":"fvar"},{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"Int16.shiftRight"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Int16"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"kind":"const","levels":[],"name":"Int16.ofNat"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v40","type":{"kind":"erased"}}]}],"discriminant":"v37","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v37","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"},{"id":"v36","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v36","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v35"}},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v34","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"16"}}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":[],"name":"Int16"}},{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int16"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int16"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int16"}},{"id":"v28","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Int16"},"value":{"arguments":[{"id":"v17","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":[],"name":"Int16.shiftLeft"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Int16"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"kind":"const","levels":[],"name":"Int16.ofNat"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v26","type":{"kind":"erased"}}]}],"discriminant":"v23","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v23","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v21"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"16"}}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int16"},"domain":{"kind":"const","levels":[],"name":"Int16"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int16.complement"}},"id":"v14","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int16"},"domain":{"kind":"const","levels":[],"name":"Int16"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int16"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int16.xor"}},"id":"v13","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int16"},"domain":{"kind":"const","levels":[],"name":"Int16"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int16"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int16.lor"}},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int16"},"domain":{"kind":"const","levels":[],"name":"Int16"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int16"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int16.land"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"32767"}}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"32768"}}},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instNegInt"}},"id":"v2","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int16"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int16.ofInt"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int16"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.ToMathInt.mk"}},"id":"v0","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int16"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int16.toInt"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.instFixedInt16","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v44","kind":"return"},"id":"v44","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int32"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v15","kind":"fvar"},{"id":"v16","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed.mk"}},"declaration":{"id":"v30","parameters":[{"borrow":false,"id":"v31","type":{"kind":"const","levels":[],"name":"Int32"}},{"borrow":false,"id":"v32","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int32"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int32"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v38","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v43","kind":"return"},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int32"}},{"id":"v42","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v42","kind":"let","type":{"kind":"const","levels":[],"name":"Int32"},"value":{"arguments":[{"id":"v31","kind":"fvar"},{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"Int32.shiftRight"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Int32"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"kind":"const","levels":[],"name":"Int32.ofNat"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v40","type":{"kind":"erased"}}]}],"discriminant":"v37","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v37","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"},{"id":"v36","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v36","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v35"}},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v34","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"32"}}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":[],"name":"Int32"}},{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int32"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int32"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int32"}},{"id":"v28","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Int32"},"value":{"arguments":[{"id":"v17","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":[],"name":"Int32.shiftLeft"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Int32"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"kind":"const","levels":[],"name":"Int32.ofNat"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v26","type":{"kind":"erased"}}]}],"discriminant":"v23","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v23","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v21"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"32"}}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int32"},"domain":{"kind":"const","levels":[],"name":"Int32"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int32.complement"}},"id":"v14","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int32"},"domain":{"kind":"const","levels":[],"name":"Int32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int32"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int32.xor"}},"id":"v13","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int32"},"domain":{"kind":"const","levels":[],"name":"Int32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int32"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int32.lor"}},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int32"},"domain":{"kind":"const","levels":[],"name":"Int32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int32"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int32.land"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2147483647"}}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2147483648"}}},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instNegInt"}},"id":"v2","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int32"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int32.ofInt"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int32"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.ToMathInt.mk"}},"id":"v0","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int32"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int32.toInt"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.instFixedInt32","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v44","kind":"return"},"id":"v44","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v15","kind":"fvar"},{"id":"v16","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed.mk"}},"declaration":{"id":"v30","parameters":[{"borrow":false,"id":"v31","type":{"kind":"const","levels":[],"name":"Int64"}},{"borrow":false,"id":"v32","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v38","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v43","kind":"return"},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}},{"id":"v42","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v42","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[{"id":"v31","kind":"fvar"},{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.shiftRight"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.ofNat"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v40","type":{"kind":"erased"}}]}],"discriminant":"v37","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v37","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"},{"id":"v36","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v36","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v35"}},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v34","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"64"}}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":[],"name":"Int64"}},{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}},{"id":"v28","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[{"id":"v17","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.shiftLeft"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.ofNat"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v26","type":{"kind":"erased"}}]}],"discriminant":"v23","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v23","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v21"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"64"}}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int64"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int64.complement"}},"id":"v14","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int64"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int64.xor"}},"id":"v13","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int64"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int64.lor"}},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int64"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int64.land"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9223372036854775807"}}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9223372036854775808"}}},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instNegInt"}},"id":"v2","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int64"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int64.ofInt"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.ToMathInt.mk"}},"id":"v0","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int64.toInt"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.instFixedInt64","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v44","kind":"return"},"id":"v44","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v15","kind":"fvar"},{"id":"v16","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed.mk"}},"declaration":{"id":"v30","parameters":[{"borrow":false,"id":"v31","type":{"kind":"const","levels":[],"name":"Int8"}},{"borrow":false,"id":"v32","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v38","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v43","kind":"return"},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}},{"id":"v42","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v42","kind":"let","type":{"kind":"const","levels":[],"name":"Int8"},"value":{"arguments":[{"id":"v31","kind":"fvar"},{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"Int8.shiftRight"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Int8"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"kind":"const","levels":[],"name":"Int8.ofNat"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v40","type":{"kind":"erased"}}]}],"discriminant":"v37","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v37","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"},{"id":"v36","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v36","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v35"}},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v34","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"8"}}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":[],"name":"Int8"}},{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}},{"id":"v28","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Int8"},"value":{"arguments":[{"id":"v17","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":[],"name":"Int8.shiftLeft"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Int8"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"kind":"const","levels":[],"name":"Int8.ofNat"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v26","type":{"kind":"erased"}}]}],"discriminant":"v23","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v23","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v21"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"8"}}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int8"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int8.complement"}},"id":"v14","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int8"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int8.xor"}},"id":"v13","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int8"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int8.lor"}},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int8"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int8.land"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"127"}}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"128"}}},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instNegInt"}},"id":"v2","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int8"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int8.ofInt"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.ToMathInt.mk"}},"id":"v0","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int8.toInt"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.instFixedInt8","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v44","kind":"return"},"id":"v44","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v15","kind":"fvar"},{"id":"v16","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed.mk"}},"declaration":{"id":"v30","parameters":[{"borrow":false,"id":"v31","type":{"kind":"const","levels":[],"name":"UInt16"}},{"borrow":false,"id":"v32","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt16"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v38","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v43","kind":"return"},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"id":"v42","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v42","kind":"let","type":{"kind":"const","levels":[],"name":"UInt16"},"value":{"arguments":[{"id":"v31","kind":"fvar"},{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt16.shiftRight"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"UInt16"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt16.ofNat"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v40","type":{"kind":"erased"}}]}],"discriminant":"v37","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v37","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"},{"id":"v36","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v36","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v35"}},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v34","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"16"}}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":[],"name":"UInt16"}},{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt16"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"id":"v28","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"UInt16"},"value":{"arguments":[{"id":"v17","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt16.shiftLeft"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"UInt16"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt16.ofNat"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v26","type":{"kind":"erased"}}]}],"discriminant":"v23","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v23","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v21"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"16"}}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"UInt16"},"domain":{"kind":"const","levels":[],"name":"UInt16"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt16.complement"}},"id":"v14","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt16"},"domain":{"kind":"const","levels":[],"name":"UInt16"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt16"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt16.xor"}},"id":"v13","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt16"},"domain":{"kind":"const","levels":[],"name":"UInt16"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt16"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt16.lor"}},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt16"},"domain":{"kind":"const","levels":[],"name":"UInt16"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt16"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt16.land"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"65535"}}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"UInt16"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt16.ofInt"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.ToMathInt.mk"}},"declaration":{"id":"v0","parameters":[{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"UInt16"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"UInt16"},"kind":"arrow"},"value":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Int.ofNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt16.toNat"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.instFixedUInt16","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v42","kind":"return"},"id":"v42","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v15","kind":"fvar"},{"id":"v16","kind":"fvar"},{"id":"v29","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed.mk"}},"declaration":{"id":"v29","parameters":[{"borrow":false,"id":"v30","type":{"kind":"const","levels":[],"name":"UInt32"}},{"borrow":false,"id":"v31","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v38","kind":"return"},"id":"v38","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v37","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v41","kind":"return"},"id":"v41","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}},{"id":"v40","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v40","kind":"let","type":{"kind":"const","levels":[],"name":"UInt32"},"value":{"arguments":[{"id":"v30","kind":"fvar"},{"id":"v31","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.shiftRight"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v39","type":{"kind":"erased"}}]}],"discriminant":"v36","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v36","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v32","kind":"fvar"},{"id":"v35","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v34"}},"id":"v34","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"32"}}},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v31","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":[],"name":"UInt32"}},{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}},{"id":"v27","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"UInt32"},"value":{"arguments":[{"id":"v17","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.shiftLeft"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v26","type":{"kind":"erased"}}]}],"discriminant":"v23","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v23","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v21"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"32"}}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"UInt32"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt32.complement"}},"id":"v14","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt32"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt32.xor"}},"id":"v13","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt32"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt32.lor"}},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt32"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt32.land"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4294967295"}}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"UInt32"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt32.ofInt"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.ToMathInt.mk"}},"declaration":{"id":"v0","parameters":[{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"value":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Int.ofNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.instFixedUInt32","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v44","kind":"return"},"id":"v44","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v15","kind":"fvar"},{"id":"v16","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed.mk"}},"declaration":{"id":"v30","parameters":[{"borrow":false,"id":"v31","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v32","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v38","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v43","kind":"return"},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}},{"id":"v42","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v42","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v31","kind":"fvar"},{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.shiftRight"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.ofNat"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v40","type":{"kind":"erased"}}]}],"discriminant":"v37","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v37","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"},{"id":"v36","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v36","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v35"}},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v34","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"64"}}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}},{"id":"v28","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v17","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.shiftLeft"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.ofNat"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v26","type":{"kind":"erased"}}]}],"discriminant":"v23","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v23","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v21"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"64"}}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt64.complement"}},"id":"v14","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt64.xor"}},"id":"v13","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt64.lor"}},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt64.land"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"18446744073709551615"}}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt64.ofInt"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.ToMathInt.mk"}},"declaration":{"id":"v0","parameters":[{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"UInt64"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Int.ofNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.toNat"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.instFixedUInt64","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"}},{"code":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"},{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Indexable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Indexable.mk"}},"declaration":{"id":"v0","parameters":[{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"ByteArray"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"},{"id":"v2","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Array"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"ByteArray.data"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Array"},"kind":"app"},"kind":"arrow"},"value":{"index":1,"kind":"projection","type_name":"GetElem?","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Array"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"UInt8"},{"kind":"erased"}],"head":{"kind":"const","levels":["0","0","0"],"name":"GetElem?"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}}],"kind":"const","levels":["0"],"name":"Array.instGetElem?NatLtSize"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.instIndexableByteArrayUInt8","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"},{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Indexable"},"kind":"app"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Indexable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Indexable.mk"}},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.listIndex"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.instIndexableList","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Indexable"},"kind":"app"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Lengthable.mk"}},"id":"v0","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"ByteArray"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"ByteArray.size"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.instLengthableByteArray","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Lengthable"},"kind":"app"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Lengthable.mk"}},"id":"v1","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.lengthTR"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.instLengthableList","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Lengthable"},"kind":"app"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Lengthable.mk"}},"id":"v0","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"String.length"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.instLengthableString","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Lengthable"},"kind":"app"}},{"code":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Sliceable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Sliceable.mk"}},"declaration":{"id":"v0","parameters":[{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"ByteArray"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"ByteArray"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v10","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"ByteArray"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"ByteArray.extract"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"kind":"erased"}}]}],"discriminant":"v9","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v9","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLe"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"ByteArray.size"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v6","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.instSliceableByteArray","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Sliceable"},"kind":"app"}},{"code":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Sliceable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Sliceable.mk"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v15","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v4","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.takeTR"}},"id":"v14","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v3","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.drop"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"kind":"erased"}}]}],"discriminant":"v10","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v10","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLe"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.lengthTR"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v7","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.instSliceableList","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Sliceable"},"kind":"app"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.ToMathInt.mk"}},"declaration":{"id":"v0","parameters":[{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"id":"v1","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.instToMathIntInt","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.ToMathInt"},"kind":"app"}},{"code":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"String"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"String.intercalate"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.join","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"String"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"String"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v3","kind":"apply"}},"id":"v3","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Prims.LexLeanRuntime.Lengthable","value":"v1"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.length","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Lengthable"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Lengthable"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v6","kind":"apply"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"alternatives":[{"code":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v20","kind":"fvar"}],"function":"v11","kind":"apply"}},"constructor":"Nat.zero","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v20","kind":"fvar"},{"id":"v22","kind":"fvar"}],"function":"v17","kind":"apply"}},"constructor":"Nat.succ","kind":"constructor","parameters":[{"borrow":false,"id":"v22","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v2","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Nat"},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v19","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v20","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v1","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"List"},"id":"v17","kind":"let","type":{"codomain":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v14","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v15","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v14","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.listIndex"}}},"kind":"fun"},"id":"v11","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v9","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.listIndex","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"id":"v2","kind":"return"},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v7","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v2","kind":"fvar"}],"function":"v11","kind":"apply"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v12"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.instOfNat"}},"id":"v11","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HSub","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"const","levels":[],"name":"UInt64"},{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HSub"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHSub"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubUInt64"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v8","type":{"kind":"erased"}}]}],"discriminant":"v6","kind":"cases","result_type":{"kind":"const","levels":[],"name":"UInt64"},"type_name":"Decidable"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.decLt"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.instOfNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"Int64","value":"v0"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.magnitudeInt64","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Int64"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v92","kind":"return"},"id":"v92","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"function":"v11","kind":"apply"}},"constructor":"Nat.zero","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v94","kind":"return"},"id":"v94","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v93","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"function":"v91","kind":"apply"}},"constructor":"Nat.succ","kind":"constructor","parameters":[{"borrow":false,"id":"v93","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v0","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Nat"},"id":"v91","kind":"let","type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v14","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v15","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v16","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v17","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"arguments":[{"id":"v86","kind":"fvar"}],"kind":"jump","target":"v20"},"id":"v86","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v85"}},"id":"v85","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v84","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.instOfNat"}},"id":"v84","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9223372036854775807"}}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v83","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"arguments":[{"id":"v90","kind":"fvar"}],"kind":"jump","target":"v20"},"id":"v90","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v89"}},"id":"v89","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v88","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.instOfNat"}},"id":"v88","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9223372036854775808"}}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v87","type":{"kind":"erased"}}]}],"discriminant":"v19","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v20","parameters":[{"borrow":false,"id":"v21","type":{"kind":"const","levels":[],"name":"UInt64"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"arguments":[{"id":"v78","kind":"fvar"}],"kind":"jump","target":"v23"},"id":"v78","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v77"}},"id":"v77","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v76","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.instOfNat"}},"id":"v76","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4611686018427387903"}}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v75","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"arguments":[{"id":"v82","kind":"fvar"}],"kind":"jump","target":"v23"},"id":"v82","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v81"}},"id":"v81","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v80","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.instOfNat"}},"id":"v80","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4611686018427387904"}}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v79","type":{"kind":"erased"}}]}],"discriminant":"v19","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v23","parameters":[{"borrow":false,"id":"v24","type":{"kind":"const","levels":[],"name":"UInt64"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v38","kind":"fvar"},{"id":"v15","kind":"fvar"},{"id":"v32","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.multiplyMagnitudeInt64"}},"id":"v38","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v14","kind":"fvar"},{"id":"v14","kind":"fvar"}],"function":"v30","kind":"apply"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v37","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v71","kind":"fvar"}],"kind":"jump","target":"v65"},"id":"v71","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v72","kind":"fvar"}],"kind":"jump","target":"v68"},"id":"v72","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v55","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Bool"},"declaration":{"id":"v68","parameters":[{"borrow":false,"id":"v69","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v70","kind":"fvar"}],"kind":"jump","target":"v56"},"id":"v70","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v69","kind":"fvar"}],"function":"v44","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v65","parameters":[{"borrow":false,"id":"v66","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v67","kind":"fvar"}],"kind":"jump","target":"v56"},"id":"v67","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v66","kind":"fvar"}],"function":"v53","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v56","parameters":[{"borrow":false,"id":"v57","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v62","kind":"return"},"id":"v62","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v60","kind":"fvar"},{"id":"v15","kind":"fvar"},{"id":"v61","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.multiplyMagnitudeInt64"}},"id":"v61","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v32","kind":"fvar"},{"id":"v15","kind":"fvar"}],"function":"v30","kind":"apply"}},"id":"v60","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v14","kind":"fvar"},{"id":"v14","kind":"fvar"}],"function":"v30","kind":"apply"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v59","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v64","kind":"return"},"id":"v64","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v63","type":{"kind":"erased"}}]}],"discriminant":"v58","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v58","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v57","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}}},"kind":"join"},"id":"v55","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v54","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v54","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.decLt"}},"id":"v53","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v45","kind":"apply"}},"declaration":{"id":"v45","parameters":[{"borrow":false,"id":"v46","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v52","kind":"return"},"id":"v52","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v51","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v51","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v50","kind":"fvar"},{"id":"v32","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.decLt"}},"id":"v50","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v22","kind":"fvar"},{"id":"v15","kind":"fvar"}],"function":"v49","kind":"apply"}},"id":"v49","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HSub","value":"v48"}},"id":"v48","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"const","levels":[],"name":"UInt64"},{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HSub"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}},{"id":"v47","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHSub"}},"id":"v47","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubUInt64"}}},"kind":"fun"},"id":"v44","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v41","kind":"apply"}},"declaration":{"id":"v41","parameters":[{"borrow":false,"id":"v42","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v43","kind":"return"},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v40","type":{"kind":"erased"}}]}],"discriminant":"v36","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v36","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v35","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.decLe"}},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v34"}},"id":"v34","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.instOfNat"}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9223372036854775808"}}},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[],"function":"v31","kind":"apply"}},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v16","kind":"fvar"},{"id":"v16","kind":"fvar"}],"function":"v30","kind":"apply"}},"id":"v30","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v29"}},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"const","levels":[],"name":"UInt64"},{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}},{"id":"v28","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddUInt64"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v27","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v74","kind":"return"},"id":"v74","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v73","type":{"kind":"erased"}}]}],"discriminant":"v26","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v26","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v25","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.decLt"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[],"function":"v24","kind":"apply"}}},"kind":"join"},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[],"function":"v21","kind":"apply"}}},"kind":"join"},"id":"v19","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v17","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"id":"v11","kind":"let","type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v7","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v8","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v9","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.multiplyMagnitudeInt64","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Bool"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v3","kind":"apply"}},"id":"v3","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Prims.LexLeanRuntime.Decimal","value":"v1"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.parseDecimal","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Decimal"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"String"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Decimal"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":8,"kind":"projection","type_name":"Coverage.Prims.LexLeanRuntime.Fixed","value":"v1"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.shiftLeft","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"UInt32"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":9,"kind":"projection","type_name":"Coverage.Prims.LexLeanRuntime.Fixed","value":"v1"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.shiftRight","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"UInt32"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"jump","target":"v4"},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v7","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"arguments":[{"id":"v15","kind":"fvar"}],"kind":"jump","target":"v4"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v14","kind":"fvar"},{"id":"v1","kind":"fvar"}],"function":"v11","kind":"apply"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v13"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.instOfNat"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v11","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HSub","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"const","levels":[],"name":"UInt64"},{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HSub"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHSub"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubUInt64"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v8","type":{"kind":"erased"}}]}],"discriminant":"v3","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Int64"},"type_name":"Decidable"},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"kind":"const","levels":[],"name":"UInt64"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Int64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.toInt64"}}},"kind":"join"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.signedMagnitudeInt64","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Bool"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"UInt64"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Prims.LexLeanRuntime.Sliceable","value":"v1"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.slice","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Sliceable"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":4,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Sliceable"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v31","kind":"fvar"}],"kind":"jump","target":"v28"},"id":"v31","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v32","kind":"fvar"}],"kind":"jump","target":"v25"},"id":"v32","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v16","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Bool"},"declaration":{"id":"v28","parameters":[{"borrow":false,"id":"v29","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v30","kind":"fvar"}],"kind":"jump","target":"v17"},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"function":"v15","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v25","parameters":[{"borrow":false,"id":"v26","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v27","kind":"fvar"}],"kind":"jump","target":"v17"},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v26","kind":"fvar"}],"function":"v8","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v21","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v23","type":{"kind":"erased"}}]}],"discriminant":"v20","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v20","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v18","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"join"},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"String.isEmpty"}},"id":"v15","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.lengthTR"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"String.splitOn"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.splitExact","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"String"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"String"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"UInt32"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"String.fromUTF8?"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.utf8Decode","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"ByteArray"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"ByteArray"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"ByteArray"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"String.toUTF8"}},"level_parameters":[],"name":"Coverage.Prims.LexLeanRuntime.utf8Encode","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"String"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"ByteArray"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v4","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v5","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v6","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v7","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v17","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v8","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v16","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v12","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"id":"v14","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.equal"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instBEqOfDecidableEq"}},"id":"v13","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt16"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt16"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instDecidableEqUInt16"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.shiftRight"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"UInt32"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.instOfNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.shiftLeft"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"UInt16"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.bitNot"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"UInt16"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.bitXor"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"UInt16"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.bitOr"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"UInt16"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.bitAnd"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.instFixedUInt16"}},"level_parameters":[],"name":"Coverage.Prims.bits","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"UInt16"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"UInt16"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"UInt32"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt16"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt16"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"id":"v4","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}},{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.checkedConvert"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.instFixedInt64"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Prims.LexLeanRuntime.Fixed","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.instFixedInt8"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.checkedConvert"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.instFixedUInt16"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.instToMathIntInt"}},"level_parameters":[],"name":"Coverage.Prims.conversions","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Int8"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"id":"v2","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}},{"id":"v5","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.parseDecimal"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Decimal"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.instDecimalOfFixedOfToString"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"ToString"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instToStringUInt32"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.instFixedUInt32"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v1","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.parseDecimal"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Decimal"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.instDecimalInt"}},"level_parameters":[],"name":"Coverage.Prims.decimals","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"String"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v3","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v21","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v11","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v20","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v13","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int32"}},{"id":"v15","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.equal"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Int32"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v17"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"Int32.instOfNat"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int32"}},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instBEqOfDecidableEq"}},"id":"v14","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int32"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instDecidableEqInt32"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int16"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Int32"}},{"id":"v12","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.checkedConvert"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Prims.LexLeanRuntime.Fixed","value":"v2"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int32"}},{"id":"v4","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.checkedAdd"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Int32"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Int32"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v8"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Int32.instOfNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"7"}}},"id":"v6","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int32"},"domain":{"kind":"const","levels":[],"name":"Int32"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int32.instNeg"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.instFixedInt32"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int16"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.checkedMultiply"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.instFixedInt16"}},"level_parameters":[],"name":"Coverage.Prims.fixedMiddle","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Int16"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Int32"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int16"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v3","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v4","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v9","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v5","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v8","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.checkedNegate"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.checkedQuotient"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.checkedMultiply"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.checkedSubtract"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.checkedAdd"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.instFixedInt8"}},"level_parameters":[],"name":"Coverage.Prims.fixedSmall","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Int8"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Int8"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v3","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v16","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v4","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v15","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v5","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v14","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v6","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v13","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"id":"v7","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}},{"id":"v8","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.checkedAdd"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.instOfNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.instFixedUInt64"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.checkedNegateInt64"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.checkedQuotientInt64"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.checkedMultiplyInt64"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.checkedSubtractInt64"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.checkedAddInt64"}},"level_parameters":[],"name":"Coverage.Prims.fixedWide","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Int64"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Int64"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"UInt64"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"id":"v3","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"String"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}},{"id":"v6","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.formatDecimal"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Decimal"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.instDecimalOfFixedOfToString"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"ToString"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instToStringInt8"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.instFixedInt8"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"String"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.formatDecimal"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Decimal"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.instDecimalInt"}},"level_parameters":[],"name":"Coverage.Prims.formats","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Int8"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v62","kind":"return"},"id":"v62","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v9","kind":"fvar"},{"id":"v61","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v61","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v18","kind":"fvar"},{"id":"v60","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v60","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v26","kind":"fvar"},{"id":"v59","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v59","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v28","kind":"fvar"},{"id":"v58","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v58","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v30","kind":"fvar"},{"id":"v57","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v57","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v35","kind":"fvar"},{"id":"v56","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v56","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v40","kind":"fvar"},{"id":"v55","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v55","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v44","kind":"fvar"},{"id":"v54","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v54","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v46","kind":"fvar"},{"id":"v52","kind":"fvar"},{"id":"v53","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.equal"}},"id":"v53","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v52","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v48","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v51","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.equal"}},"id":"v51","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v50"}},"id":"v50","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v49","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v49","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v48","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v47","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instBEqOfDecidableEq"}},"id":"v47","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instDecidableEqNat"}},"id":"v46","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v45","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instBEqOfDecidableEq"}},"id":"v45","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v44","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"id":"v41","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v43","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.equal"}},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"ByteArray"},"value":{"arguments":[{"id":"v42","kind":"fvar"}],"kind":"const","levels":[],"name":"ByteArray.mk"}},"id":"v42","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Array"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.toArray"}},"id":"v41","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"ByteArray.instBEq"}},"id":"v40","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"id":"v36","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v39","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.slice"}},"id":"v39","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v38"}},"id":"v38","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v37","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v37","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v36","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Sliceable"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.instSliceableByteArray"}},"id":"v35","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v31","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v34","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.slice"}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v33"}},"id":"v33","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"id":"v31","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Sliceable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.instSliceableList"}},"id":"v30","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}},{"id":"v29","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.index"}},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"},{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Indexable"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.instIndexableByteArrayUInt8"}},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v27","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.index"}},"id":"v27","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Indexable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.instIndexableList"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v23","kind":"fvar"},{"id":"v25","kind":"fvar"}],"function":"v21","kind":"apply"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"id":"v24","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.length"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.instLengthableByteArray"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v22","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.length"}},"id":"v22","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.instLengthableList"}},"id":"v21","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v20"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"ByteArray"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"id":"v10","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.append"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"ByteArray"},"value":{"arguments":[{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"ByteArray.mk"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Array"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.toArray"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"UInt8"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v12"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt8.instOfNat"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"10"}}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.instAppendableByteArray"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.append"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v3","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.instAppendableList"}},"level_parameters":[],"name":"Coverage.Prims.sequences","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"ByteArray"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v65","kind":"fvar"}],"kind":"jump","target":"v62"},"id":"v65","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v66","kind":"fvar"}],"kind":"jump","target":"v59"},"id":"v66","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v50","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Ordering"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Bool"},"declaration":{"id":"v62","parameters":[{"borrow":false,"id":"v63","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Ordering"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v64","kind":"fvar"}],"kind":"jump","target":"v51"},"id":"v64","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v63","kind":"fvar"}],"function":"v31","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v59","parameters":[{"borrow":false,"id":"v60","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Ordering"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v61","kind":"fvar"}],"kind":"jump","target":"v51"},"id":"v61","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v60","kind":"fvar"}],"function":"v47","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v51","parameters":[{"borrow":false,"id":"v52","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Ordering"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v58","kind":"return"},"id":"v58","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Ordering"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Ordering"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v3","kind":"fvar"},{"id":"v57","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v57","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Ordering"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Ordering"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v4","kind":"fvar"},{"id":"v56","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v56","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Ordering"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Ordering"}},{"kind":"type","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v16","kind":"fvar"},{"id":"v55","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v55","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v20","kind":"fvar"},{"id":"v54","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v54","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v25","kind":"fvar"},{"id":"v53","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v53","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v27","kind":"fvar"},{"id":"v52","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}}},"kind":"join"},"id":"v50","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"id":"v49","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.equal"}},"id":"v49","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"id":"v48","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instBEqOfDecidableEq"}},"id":"v48","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instDecidableEqString"}},"id":"v47","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v32","kind":"apply"}},"declaration":{"id":"v32","parameters":[{"borrow":false,"id":"v33","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v46","kind":"return"},"id":"v46","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Ordering"}},{"id":"v35","kind":"fvar"},{"id":"v36","kind":"fvar"},{"id":"v45","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.equal"}},"id":"v45","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v38","kind":"fvar"},{"id":"v44","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.compareBytes"}},"id":"v44","kind":"let","type":{"kind":"const","levels":[],"name":"ByteArray"},"value":{"arguments":[{"id":"v43","kind":"fvar"}],"kind":"const","levels":[],"name":"ByteArray.mk"}},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Array"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}},{"id":"v42","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.toArray"}},"id":"v42","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}},{"id":"v41","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"UInt8"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v40"}},"id":"v40","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v39","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt8.instOfNat"}},"id":"v39","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v38","kind":"let","type":{"kind":"const","levels":[],"name":"ByteArray"},"value":{"arguments":[{"id":"v37","kind":"fvar"}],"kind":"const","levels":[],"name":"ByteArray.mk"}},"id":"v37","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Array"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.toArray"}},"id":"v36","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.compareBytes"}},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Ordering"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Ordering"}},{"id":"v34","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instBEqOfDecidableEq"}},"id":"v34","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Ordering"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Ordering"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instDecidableEqOrdering"}}},"kind":"fun"},"id":"v31","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v28","kind":"apply"}},"declaration":{"id":"v28","parameters":[{"borrow":false,"id":"v29","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"id":"v26","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.length"}},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.instLengthableString"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"String"},"value":{"arguments":[{"id":"v24","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.join"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"id":"v0","kind":"fvar"},{"id":"v23","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"id":"v21","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"String"},"value":{"kind":"literal","literal":{"kind":"string","value":"x\"y"}}},"id":"v20","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.splitExact"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"UInt32"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v18"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.instOfNat"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4"}}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.compareBytes"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"ByteArray"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"ByteArray.mk"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Array"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.toArray"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}},{"id":"v7","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"UInt8"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v9"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt8.instOfNat"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"255"}}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"UInt8"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt8.instOfNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.utf8Decode"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"ByteArray"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"ByteArray"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.utf8Encode"}},"level_parameters":[],"name":"Coverage.Prims.text","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"String"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"String"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Ordering"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.prune"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.reassociate"}},"level_parameters":[],"name":"Coverage.RecRoots.rewrite","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.roseSize"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v0","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Syntax.Rose.node"}},"id":"v6","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}},{"id":"v5","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Syntax.Rose.node"}},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"level_parameters":[],"name":"Coverage.RecRoots.roseTotal","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.exprSize"}},"level_parameters":[],"name":"Coverage.RecRoots.syntaxTotal","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v5","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.search"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.reduce"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.countdown"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"level_parameters":[],"name":"Coverage.RecRoots.wellFounded","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HSub","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HSub"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHSub"}},"level_parameters":[],"name":"Coverage.Recur.LexLeanRuntime.subtract","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v26","kind":"fvar"},{"kind":"erased"}],"function":"v21","kind":"apply"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v24"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"declaration":{"id":"v21","parameters":[{"borrow":false,"id":"v22","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"alternatives":[{"code":{"id":"v20","kind":"return"},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"id":"v4","kind":"return"},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v22","kind":"cases","result_type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"type_name":"Bool"}},"kind":"fun"},"id":"v20","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v11","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.countdown"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v17","kind":"fvar"}],"function":"v14","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v16"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v14","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v13"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v7","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.LexLeanRuntime.subtract"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v9"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubNat"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"id":"v1","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Recur.countdown","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":true,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v31","kind":"fvar"}],"function":"v6","kind":"apply"}},"constructor":"Coverage.Syntax.Expr.literal","kind":"constructor","parameters":[{"borrow":false,"id":"v31","type":{"kind":"const","levels":[],"name":"Nat"}}]},{"code":{"body":{"id":"v35","kind":"return"},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v33","kind":"fvar"},{"id":"v34","kind":"fvar"}],"function":"v20","kind":"apply"}},"constructor":"Coverage.Syntax.Expr.plus","kind":"constructor","parameters":[{"borrow":false,"id":"v33","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"}},{"borrow":false,"id":"v34","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"}}]},{"code":{"body":{"id":"v38","kind":"return"},"id":"v38","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v36","kind":"fvar"},{"id":"v37","kind":"fvar"}],"function":"v30","kind":"apply"}},"constructor":"Coverage.Syntax.Expr.block","kind":"constructor","parameters":[{"borrow":false,"id":"v36","type":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v37","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"}}]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Coverage.Syntax.Expr"},"id":"v30","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v21","kind":"apply"}},"declaration":{"id":"v21","parameters":[{"borrow":false,"id":"v22","type":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v23","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v27","kind":"fvar"},{"id":"v28","kind":"fvar"}],"function":"v26","kind":"apply"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.exprSize"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.statementsSize"}},"id":"v26","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v25"}},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v24","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"id":"v20","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"}},{"borrow":false,"id":"v9","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v15","kind":"fvar"},{"id":"v18","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v17"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.exprSize"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.exprSize"}},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v11"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Recur.exprSize","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"}}],"recursive":true,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v18","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v20","kind":"fvar"},{"id":"v21","kind":"fvar"}],"function":"v17","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v20","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}},{"borrow":false,"id":"v21","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v1","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"List"},"id":"v17","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}},{"borrow":false,"id":"v10","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v14","kind":"fvar"},{"id":"v15","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.forestSize"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.roseSize"}},"id":"v13","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v12"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"id":"v7","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Recur.forestSize","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v38","kind":"return"},"id":"v38","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"erased"}],"function":"v31","kind":"apply"}},"declaration":{"id":"v31","parameters":[{"borrow":false,"id":"v32","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"id":"v34","kind":"return"},"id":"v34","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"function":"v5","kind":"apply"}},"constructor":"Coverage.Syntax.Term.literal","kind":"constructor","parameters":[{"borrow":false,"id":"v33","type":{"kind":"const","levels":[],"name":"Nat"}}]},{"code":{"body":{"id":"v37","kind":"return"},"id":"v37","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[{"id":"v35","kind":"fvar"},{"id":"v36","kind":"fvar"}],"function":"v30","kind":"apply"}},"constructor":"Coverage.Syntax.Term.plus","kind":"constructor","parameters":[{"borrow":false,"id":"v35","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}},{"borrow":false,"id":"v36","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}}]}],"discriminant":"v32","kind":"cases","result_type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"type_name":"Coverage.Syntax.Term"}},"kind":"fun"},"id":"v30","kind":"let","type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}},{"borrow":false,"id":"v8","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}},{"borrow":false,"id":"v9","type":{"kind":"erased"}}],"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v7","kind":"fvar"},{"kind":"erased"}],"function":"v22","kind":"apply"}},"declaration":{"id":"v22","parameters":[{"borrow":false,"id":"v23","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"function":"v14","kind":"apply"}},"constructor":"Coverage.Syntax.Term.literal","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"kind":"const","levels":[],"name":"Nat"}}]},{"code":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[{"id":"v26","kind":"fvar"},{"id":"v27","kind":"fvar"}],"function":"v21","kind":"apply"}},"constructor":"Coverage.Syntax.Term.plus","kind":"constructor","parameters":[{"borrow":false,"id":"v26","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}},{"borrow":false,"id":"v27","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}}]}],"discriminant":"v23","kind":"cases","result_type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"type_name":"Coverage.Syntax.Term"}},"kind":"fun"},"id":"v21","kind":"let","type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"value":{"arguments":[],"function":"v15","kind":"apply"}},"declaration":{"id":"v15","parameters":[{"borrow":false,"id":"v16","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}},{"borrow":false,"id":"v17","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}},{"borrow":false,"id":"v18","type":{"kind":"erased"}}],"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"value":{"body":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.prune"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v16","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Syntax.Term.plus"}}},"kind":"fun"},"id":"v14","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v10","kind":"apply"}},"declaration":{"id":"v10","parameters":[{"borrow":false,"id":"v11","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v12","type":{"kind":"erased"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.prune"}}},"kind":"fun"}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v3","type":{"kind":"erased"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Syntax.Term.literal"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Recur.prune","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}}],"recursive":true,"type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v41","kind":"return"},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"erased"}],"function":"v34","kind":"apply"}},"declaration":{"id":"v34","parameters":[{"borrow":false,"id":"v35","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"id":"v37","kind":"return"},"id":"v37","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[{"id":"v36","kind":"fvar"}],"function":"v5","kind":"apply"}},"constructor":"Coverage.Syntax.Term.literal","kind":"constructor","parameters":[{"borrow":false,"id":"v36","type":{"kind":"const","levels":[],"name":"Nat"}}]},{"code":{"body":{"id":"v40","kind":"return"},"id":"v40","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[{"id":"v38","kind":"fvar"},{"id":"v39","kind":"fvar"}],"function":"v33","kind":"apply"}},"constructor":"Coverage.Syntax.Term.plus","kind":"constructor","parameters":[{"borrow":false,"id":"v38","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}},{"borrow":false,"id":"v39","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}}]}],"discriminant":"v35","kind":"cases","result_type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"type_name":"Coverage.Syntax.Term"}},"kind":"fun"},"id":"v33","kind":"let","type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}},{"borrow":false,"id":"v8","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}},{"borrow":false,"id":"v9","type":{"kind":"erased"}}],"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v7","kind":"fvar"},{"kind":"erased"}],"function":"v25","kind":"apply"}},"declaration":{"id":"v25","parameters":[{"borrow":false,"id":"v26","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[{"id":"v27","kind":"fvar"}],"function":"v16","kind":"apply"}},"constructor":"Coverage.Syntax.Term.literal","kind":"constructor","parameters":[{"borrow":false,"id":"v27","type":{"kind":"const","levels":[],"name":"Nat"}}]},{"code":{"body":{"id":"v31","kind":"return"},"id":"v31","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[{"id":"v29","kind":"fvar"},{"id":"v30","kind":"fvar"}],"function":"v24","kind":"apply"}},"constructor":"Coverage.Syntax.Term.plus","kind":"constructor","parameters":[{"borrow":false,"id":"v29","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}},{"borrow":false,"id":"v30","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}}]}],"discriminant":"v26","kind":"cases","result_type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"type_name":"Coverage.Syntax.Term"}},"kind":"fun"},"id":"v24","kind":"let","type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}},{"borrow":false,"id":"v19","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}},{"borrow":false,"id":"v20","type":{"kind":"erased"}}],"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.reassociate"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v18","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Syntax.Term.plus"}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Syntax.Term.plus"}}},"kind":"fun"},"id":"v16","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v10","kind":"apply"}},"declaration":{"id":"v10","parameters":[{"borrow":false,"id":"v11","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v12","type":{"kind":"erased"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Syntax.Term.plus"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.reassociate"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Syntax.Term.literal"}}},"kind":"fun"}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v3","type":{"kind":"erased"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Syntax.Term.literal"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Recur.reassociate","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}}],"recursive":true,"type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v26","kind":"fvar"},{"kind":"erased"}],"function":"v21","kind":"apply"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v24"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"declaration":{"id":"v21","parameters":[{"borrow":false,"id":"v22","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"alternatives":[{"code":{"id":"v20","kind":"return"},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"id":"v4","kind":"return"},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v22","kind":"cases","result_type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"type_name":"Bool"}},"kind":"fun"},"id":"v20","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v18","kind":"fvar"},{"kind":"erased"}],"function":"v16","kind":"apply"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"alternatives":[{"code":{"id":"v15","kind":"return"},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"id":"v9","kind":"return"},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v17","kind":"cases","result_type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"type_name":"Bool"}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[],"function":"v10","kind":"apply"}},"declaration":{"id":"v10","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.reduce"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v12","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.LexLeanRuntime.subtract"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubNat"}}},"kind":"fun"},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"id":"v0","kind":"return"}},"kind":"fun"}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"id":"v0","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Recur.reduce","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":true,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v14","kind":"fvar"},{"id":"v15","kind":"fvar"}],"function":"v13","kind":"apply"}},"constructor":"Coverage.Syntax.Rose.node","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v15","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v1","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Coverage.Syntax.Rose"},"id":"v13","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v4","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.forestSize"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v9"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v7","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Recur.roseSize","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v34","kind":"return"},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v33","kind":"fvar"},{"kind":"erased"}],"function":"v31","kind":"apply"}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"declaration":{"id":"v31","parameters":[{"borrow":false,"id":"v32","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"alternatives":[{"code":{"id":"v30","kind":"return"},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"id":"v27","kind":"return"},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v32","kind":"cases","result_type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"type_name":"Bool"}},"kind":"fun"},"id":"v30","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[],"function":"v28","kind":"apply"}},"declaration":{"id":"v28","parameters":[{"borrow":false,"id":"v29","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"id":"v2","kind":"return"}},"kind":"fun"},"id":"v27","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v25","kind":"fvar"},{"kind":"erased"}],"function":"v19","kind":"apply"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v24","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v1","kind":"fvar"}],"function":"v23","kind":"apply"}},"id":"v23","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v22"}},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"declaration":{"id":"v19","parameters":[{"borrow":false,"id":"v20","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"alternatives":[{"code":{"id":"v18","kind":"return"},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"id":"v7","kind":"return"},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v20","kind":"cases","result_type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"type_name":"Bool"}},"kind":"fun"},"id":"v18","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v16","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.search"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v15","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v14"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v11"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"id":"v7","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"id":"v1","kind":"return"}},"kind":"fun"}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Recur.search","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v23","kind":"fvar"},{"id":"v24","kind":"fvar"}],"function":"v12","kind":"apply"}},"constructor":"Coverage.Syntax.Stmt.assign","kind":"constructor","parameters":[{"borrow":false,"id":"v23","type":{"kind":"const","levels":[],"name":"String"}},{"borrow":false,"id":"v24","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"}}]},{"code":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v26","kind":"fvar"},{"id":"v27","kind":"fvar"}],"function":"v22","kind":"apply"}},"constructor":"Coverage.Syntax.Stmt.sequence","kind":"constructor","parameters":[{"borrow":false,"id":"v26","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}},{"borrow":false,"id":"v27","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}}]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Coverage.Syntax.Stmt"},"id":"v22","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"},"kind":"arrow"},"value":{"arguments":[],"function":"v13","kind":"apply"}},"declaration":{"id":"v13","parameters":[{"borrow":false,"id":"v14","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}},{"borrow":false,"id":"v15","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v20","kind":"fvar"}],"function":"v18","kind":"apply"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.statementSize"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.statementSize"}},"id":"v18","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v17"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"String"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v7","kind":"fvar"},{"id":"v10","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v9"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.exprSize"}},"id":"v6","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Recur.statementSize","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}}],"recursive":true,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v20","kind":"fvar"}],"function":"v16","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}},{"borrow":false,"id":"v20","type":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"List"},"id":"v16","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}},{"borrow":false,"id":"v9","type":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.statementsSize"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.statementSize"}},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v11"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Recur.statementsSize","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HMul","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HMul"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHMul"}},"level_parameters":[],"name":"Coverage.Types.LexLeanRuntime.multiply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"function":"v9","kind":"apply"}},"constructor":"Coverage.Types.Shape.circle","kind":"constructor","parameters":[{"borrow":false,"id":"v22","type":{"kind":"const","levels":[],"name":"Nat"}}]},{"code":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v24","kind":"fvar"},{"id":"v25","kind":"fvar"}],"function":"v15","kind":"apply"}},"constructor":"Coverage.Types.Shape.rect","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v25","type":{"kind":"const","levels":[],"name":"Nat"}}]},{"code":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v27","kind":"fvar"}],"function":"v21","kind":"apply"}},"id":"v27","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Coverage.Types.Shape.empty","kind":"constructor","parameters":[]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Coverage.Types.Shape"},"id":"v21","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v16","kind":"apply"}},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v19"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v10","kind":"apply"}},"declaration":{"id":"v10","parameters":[{"borrow":false,"id":"v11","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v12","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v13","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.LexLeanRuntime.multiply"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instMulNat"}}},"kind":"fun"},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.LexLeanRuntime.multiply"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.LexLeanRuntime.multiply"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instMulNat"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Types.area","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Coverage.Types.Shape"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Types.Shape"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Types.Weights"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.Weights.mk"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v1"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v0","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"level_parameters":[],"name":"Coverage.Types.defaultWeights","parameters":[],"recursive":false,"type":{"kind":"const","levels":[],"name":"Coverage.Types.Weights"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Nat.zero","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"function":"v8","kind":"apply"}},"constructor":"Nat.succ","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Nat"},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.isOdd"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Types.isEven","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":true,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Nat.zero","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"function":"v8","kind":"apply"}},"constructor":"Nat.succ","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Nat"},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.isEven"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Types.isOdd","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":true,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v7","kind":"apply"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v17","kind":"fvar"},{"id":"v18","kind":"fvar"}],"function":"v15","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v17","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v18","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"List"},"id":"v15","kind":"let","type":{"codomain":{"codomain":{"codomain":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"codomain":{"id":"v1","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"codomain":{"id":"v1","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"}},{"borrow":false,"id":"v10","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v11","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"codomain":{"id":"v1","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v12","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v13","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v9","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.mapList"}},"id":"v12","kind":"let","type":{"id":"v1","kind":"fvar"},"value":{"arguments":[{"id":"v10","kind":"fvar"}],"function":"v9","kind":"apply"}}},"kind":"fun"},"id":"v7","kind":"let","type":{"codomain":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"codomain":{"id":"v1","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"codomain":{"id":"v1","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"}}],"type":{"codomain":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"codomain":{"id":"v1","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"kind":"arrow"},"value":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v1","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.nil"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Types.mapList","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"codomain":{"id":"v1","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"}},{"borrow":false,"id":"v3","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"codomain":{"index":1,"kind":"bvar"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v19","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Coverage.Types.Tree.leaf","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v21","kind":"fvar"},{"id":"v22","kind":"fvar"},{"id":"v23","kind":"fvar"}],"function":"v18","kind":"apply"}},"constructor":"Coverage.Types.Tree.node","kind":"constructor","parameters":[{"borrow":false,"id":"v21","type":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"}},{"borrow":false,"id":"v22","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v23","type":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"}}]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Coverage.Types.Tree"},"id":"v18","kind":"let","type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"}},{"borrow":false,"id":"v9","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v10","type":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"}}],"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v15","kind":"fvar"},{"id":"v16","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.treeSum"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v14","kind":"fvar"},{"id":"v9","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.treeSum"}},"id":"v13","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v12"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Types.treeSum","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"}}],"recursive":true,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v0","kind":"apply"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"function":"v0","kind":"apply"}},"level_parameters":[],"name":"Coverage.Types.twice","parameters":[{"borrow":false,"id":"v0","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"kind":"arrow"}},{"code":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Types.Box","value":"v1"}},"level_parameters":[],"name":"Coverage.Types.unbox","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Types.Box"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"index":1,"kind":"bvar"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Types.Box"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"erased":["Coverage.Recur.countdown_decreases","Coverage.Recur.prune_plus","Coverage.Recur.reassociate_literal","Coverage.Recur.reassociate_plus","Coverage.Recur.reduce_decreases","Coverage.Recur.search_decreases"],"externals":[{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Add"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Array"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.GetElem","name":"Array.instGetElem?NatLtSize"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"BEq"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Bool"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Bool.false"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Bool.not"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Bool.true"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"ByteArray"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"ByteArray.data"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.ByteArray.Basic","name":"ByteArray.extract"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.ByteArray.Basic","name":"ByteArray.fastAppend"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.ByteArray.Basic","name":"ByteArray.instBEq"},{"computable":true,"generates_code":true,"kind":"constructor","module":"Init.Prelude","name":"ByteArray.mk"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"ByteArray.size"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.ByteArray.Basic","name":"ByteArray.toList"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Char"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Decidable"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Decidable.decide"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Decidable.isFalse"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Decidable.isTrue"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Except"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Except.error"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Except.ok"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.GetElem","name":"GetElem?"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"HAdd"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"HMul"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"HSub"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Data.Int.Basic","name":"Int"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"Int.decLt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"Int.instAdd"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"Int.instDecidableEq"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"Int.instMul"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"Int.instNegInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"Int.instSub"},{"computable":true,"generates_code":true,"kind":"constructor","module":"Init.Data.Int.Basic","name":"Int.ofNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.DivMod.Basic","name":"Int.tdiv"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.DivMod.Basic","name":"Int.tmod"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Data.SInt.Basic","name":"Int16"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int16.complement"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int16.land"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int16.lor"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int16.ofInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int16.ofNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int16.shiftLeft"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int16.shiftRight"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int16.toInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int16.xor"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Data.SInt.Basic","name":"Int32"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int32.complement"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int32.instNeg"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int32.instOfNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int32.land"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int32.lor"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int32.ofInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int32.ofNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int32.shiftLeft"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int32.shiftRight"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int32.toInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int32.xor"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Data.SInt.Basic","name":"Int64"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int64.complement"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int64.decLt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int64.instNeg"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int64.instOfNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int64.land"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int64.lor"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int64.ofInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int64.ofNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int64.shiftLeft"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int64.shiftRight"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int64.toInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int64.xor"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Data.SInt.Basic","name":"Int8"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int8.complement"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int8.land"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int8.lor"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int8.ofInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int8.ofNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int8.shiftLeft"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int8.shiftRight"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int8.toInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int8.xor"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"List"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.List.Basic","name":"List.all"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.List.Basic","name":"List.appendTR"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"List.cons"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.List.Basic","name":"List.drop"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.List.Basic","name":"List.filterTR"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"List.foldl"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Ord.Basic","name":"List.instOrd"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.List.Basic","name":"List.isEmpty"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"List.lengthTR"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.List.Basic","name":"List.mapTR"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"List.nil"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.List.Basic","name":"List.reverse"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.List.Impl","name":"List.takeTR"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"List.toArray"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Mul"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Nat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Nat.beq"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Nat.ble"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Nat.Basic","name":"Nat.blt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Nat.decLe"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Nat.decLt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Nat.div"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Nat.mod"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Nat.succ"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Nat.zero"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Neg"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"OfNat"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Option"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Option.Basic","name":"Option.isSome"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Option.none"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Option.some"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Data.Ord.Basic","name":"Ord"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Data.Ord.Basic","name":"Ordering"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Data.Ord.Basic","name":"Ordering.eq"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Data.Ord.Basic","name":"Ordering.gt"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Data.Ord.Basic","name":"Ordering.lt"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"PUnit"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Prod"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Prod.mk"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"String"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.String.Basic","name":"String.fromUTF8?"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.String.Defs","name":"String.intercalate"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.String.Defs","name":"String.isEmpty"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.String.Length","name":"String.length"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.String.Legacy","name":"String.splitOn"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.String.Search","name":"String.toInt?"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.String.Basic","name":"String.toList"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.String.Defs","name":"String.toUTF8"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Sub"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Data.ToString.Basic","name":"ToString"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"UInt16"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt16.complement"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt16.land"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt16.lor"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt16.ofInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.BasicAux","name":"UInt16.ofNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt16.shiftLeft"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt16.shiftRight"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.BasicAux","name":"UInt16.toNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt16.xor"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"UInt32"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt32.complement"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.BasicAux","name":"UInt32.instOfNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt32.land"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt32.lor"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt32.ofInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt32.shiftLeft"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt32.shiftRight"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"UInt32.toNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt32.xor"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"UInt64"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt64.complement"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt64.decLe"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt64.decLt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.BasicAux","name":"UInt64.instOfNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt64.land"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt64.lor"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt64.ofInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.BasicAux","name":"UInt64.ofNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt64.shiftLeft"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt64.shiftRight"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"UInt64.toInt64"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.BasicAux","name":"UInt64.toNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt64.xor"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"UInt8"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.BasicAux","name":"UInt8.instOfNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Ord.UInt","name":"UInt8.instOrd"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Unit.unit"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Core","name":"bne"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"instAddInt64"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instAddNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"instAddUInt64"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instBEqOfDecidableEq"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instDecidableEqBool"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"instDecidableEqInt32"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"instDecidableEqInt64"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instDecidableEqNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Ord.Basic","name":"instDecidableEqOrdering"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instDecidableEqString"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instDecidableEqUInt16"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instHAdd"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instHMul"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instHSub"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instMulNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"instOfNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instOfNatNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Ord.Basic","name":"instOrdBool"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Ord.Basic","name":"instOrdInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Ord.Basic","name":"instOrdNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"instSubInt64"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instSubNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"instSubUInt64"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.ToString.Extra","name":"instToStringInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"instToStringInt8"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.ToString.Basic","name":"instToStringUInt32"}],"inductives":[{"constructors":[{"fields":5,"index":0,"name":"Coverage.Boundary.Grove.node","parameters":0,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"fields":1,"index":1,"name":"Coverage.Boundary.Grove.leaf","parameters":0,"type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"fields":1,"index":2,"name":"Coverage.Boundary.Grove.settled","parameters":0,"type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"kind":"arrow"}}],"indices":0,"name":"Coverage.Boundary.Grove","parameters":0,"recursive":true},{"constructors":[{"fields":2,"index":0,"name":"Coverage.Boundary.Ledger.mk","parameters":0,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Boundary.Ledger"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}}],"indices":0,"name":"Coverage.Boundary.Ledger","parameters":0,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"Coverage.Colls.LexLeanCollections.Key.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Colls.LexLeanCollections.Key"},"kind":"app"},"domain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Coverage.Colls.LexLeanCollections.Key","parameters":1,"recursive":false},{"constructors":[{"fields":3,"index":0,"name":"Coverage.Main.LexLeanRuntime.Quotient.mk","parameters":1,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Main.LexLeanRuntime.Quotient"},"kind":"app"},"domain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Coverage.Main.LexLeanRuntime.Quotient","parameters":1,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"Coverage.Prims.LexLeanRuntime.Appendable.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Appendable"},"kind":"app"},"domain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Coverage.Prims.LexLeanRuntime.Appendable","parameters":1,"recursive":false},{"constructors":[{"fields":2,"index":0,"name":"Coverage.Prims.LexLeanRuntime.Decimal.mk","parameters":1,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Decimal"},"kind":"app"},"domain":{"codomain":{"kind":"const","levels":[],"name":"String"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Coverage.Prims.LexLeanRuntime.Decimal","parameters":1,"recursive":false},{"constructors":[{"fields":10,"index":0,"name":"Coverage.Prims.LexLeanRuntime.Fixed.mk","parameters":1,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":10,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Fixed"},"kind":"app"},"domain":{"codomain":{"codomain":{"arguments":[{"index":11,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"index":9,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"arguments":[{"index":10,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"index":8,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"index":8,"kind":"bvar"},"domain":{"index":7,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":8,"kind":"bvar"},"domain":{"index":7,"kind":"bvar"},"kind":"arrow"},"domain":{"index":6,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":7,"kind":"bvar"},"domain":{"index":6,"kind":"bvar"},"kind":"arrow"},"domain":{"index":5,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":6,"kind":"bvar"},"domain":{"index":5,"kind":"bvar"},"kind":"arrow"},"domain":{"index":4,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.ToMathInt"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Coverage.Prims.LexLeanRuntime.Fixed","parameters":1,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"Coverage.Prims.LexLeanRuntime.Indexable.mk","parameters":2,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"},{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Indexable"},"kind":"app"},"domain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Coverage.Prims.LexLeanRuntime.Indexable","parameters":2,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"Coverage.Prims.LexLeanRuntime.Lengthable.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Lengthable"},"kind":"app"},"domain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Coverage.Prims.LexLeanRuntime.Lengthable","parameters":1,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"Coverage.Prims.LexLeanRuntime.Sliceable.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.Sliceable"},"kind":"app"},"domain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Coverage.Prims.LexLeanRuntime.Sliceable","parameters":1,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"Coverage.Prims.LexLeanRuntime.ToMathInt.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Prims.LexLeanRuntime.ToMathInt"},"kind":"app"},"domain":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Coverage.Prims.LexLeanRuntime.ToMathInt","parameters":1,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"Coverage.Syntax.Expr.literal","parameters":0,"type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"fields":2,"index":1,"name":"Coverage.Syntax.Expr.plus","parameters":0,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"kind":"arrow"}},{"fields":2,"index":2,"name":"Coverage.Syntax.Expr.block","parameters":0,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}}],"indices":0,"name":"Coverage.Syntax.Expr","parameters":0,"recursive":true},{"constructors":[{"fields":2,"index":0,"name":"Coverage.Syntax.Rose.node","parameters":1,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Coverage.Syntax.Rose","parameters":1,"recursive":true},{"constructors":[{"fields":2,"index":0,"name":"Coverage.Syntax.Stmt.assign","parameters":0,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"}},{"fields":2,"index":1,"name":"Coverage.Syntax.Stmt.sequence","parameters":0,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"},"kind":"arrow"}}],"indices":0,"name":"Coverage.Syntax.Stmt","parameters":0,"recursive":true},{"constructors":[{"fields":1,"index":0,"name":"Coverage.Syntax.Term.literal","parameters":0,"type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"fields":2,"index":1,"name":"Coverage.Syntax.Term.plus","parameters":0,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"}}],"indices":0,"name":"Coverage.Syntax.Term","parameters":0,"recursive":true},{"constructors":[{"fields":2,"index":0,"name":"Coverage.Types.Box.mk","parameters":1,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Types.Box"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Coverage.Types.Box","parameters":1,"recursive":false},{"constructors":[{"fields":2,"index":0,"name":"Coverage.Types.Point.mk","parameters":0,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Types.Point"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}}],"indices":0,"name":"Coverage.Types.Point","parameters":0,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"Coverage.Types.Shape.circle","parameters":0,"type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Types.Shape"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"fields":2,"index":1,"name":"Coverage.Types.Shape.rect","parameters":0,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Types.Shape"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"fields":0,"index":2,"name":"Coverage.Types.Shape.empty","parameters":0,"type":{"kind":"const","levels":[],"name":"Coverage.Types.Shape"}}],"indices":0,"name":"Coverage.Types.Shape","parameters":0,"recursive":false},{"constructors":[{"fields":0,"index":0,"name":"Coverage.Types.Tree.leaf","parameters":0,"type":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"}},{"fields":3,"index":1,"name":"Coverage.Types.Tree.node","parameters":0,"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"},"domain":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"},"kind":"arrow"}}],"indices":0,"name":"Coverage.Types.Tree","parameters":0,"recursive":true},{"constructors":[{"fields":2,"index":0,"name":"Coverage.Types.Weights.mk","parameters":0,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Types.Weights"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}}],"indices":0,"name":"Coverage.Types.Weights","parameters":0,"recursive":false}],"lean":{"githash":"f054605aea4b840552cca2e725580bffd1e1b704","version":"4.32.1"},"roots":["Coverage.Boundary.groveRoot","Coverage.Colls.mapOps","Coverage.Colls.mapFolding","Coverage.Colls.setOps","Coverage.Colls.folds","Coverage.Colls.iterations","Coverage.Colls.graphs","Coverage.Colls.stringGraph","Coverage.Colls.keyTypes","Coverage.Colls.literals","Coverage.Main.natOps","Coverage.Main.intOps","Coverage.Main.shapes","Coverage.Main.treeTotal","Coverage.Main.records","Coverage.Main.options","Coverage.Main.builders","Coverage.Main.pairs","Coverage.Main.higher","Coverage.Main.mapped","Coverage.Main.parity","Coverage.Prims.fixedSmall","Coverage.Prims.fixedMiddle","Coverage.Prims.fixedWide","Coverage.Prims.bits","Coverage.Prims.conversions","Coverage.Prims.sequences","Coverage.Prims.decimals","Coverage.Prims.formats","Coverage.Prims.text","Coverage.RecRoots.roseTotal","Coverage.RecRoots.syntaxTotal","Coverage.RecRoots.wellFounded","Coverage.RecRoots.rewrite"],"spec":"lexlean/compiler-input/2"} +{"closures":[{"declarations":["Coverage.Boundary.groveRoot","Coverage.Boundary.groveTags"],"erased":[],"instances":[{"declaration":"Coverage.Boundary.groveRoot","instance":"Coverage.Boundary.groveRoot","type_arguments":[]},{"declaration":"Coverage.Boundary.groveTags","instance":"Coverage.Boundary.groveTags","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Boundary.groveRoot","runtime":["LexLeanCollections.mapSize","LexLeanCollections.setSize"]},{"declarations":["Coverage.Colls.folds"],"erased":[],"instances":[{"declaration":"Coverage.Colls.folds","instance":"Coverage.Colls.folds","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Colls.folds","runtime":["LexLeanCollections.listFold","LexLeanCollections.setFold","LexLeanRuntime.subtract"]},{"declarations":["Coverage.Colls.graphs"],"erased":[],"instances":[{"declaration":"Coverage.Colls.graphs","instance":"Coverage.Colls.graphs","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Colls.graphs","runtime":["LexLeanCollections.containsElement","LexLeanCollections.graphNodes","LexLeanCollections.graphReachable","LexLeanCollections.graphSuccessors","LexLeanCollections.graphTopological","LexLeanCollections.insertElement","LexLeanCollections.instKeyNat","LexLeanCollections.lookupEntry","LexLeanCollections.reachableFrom","LexLeanCollections.removeElement","LexLeanCollections.topological"]},{"declarations":["Coverage.Colls.iterations"],"erased":[],"instances":[{"declaration":"Coverage.Colls.iterations","instance":"Coverage.Colls.iterations","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Colls.iterations","runtime":["LexLeanCollections.iterate","LexLeanCollections.iterateUntil"]},{"declarations":["Coverage.Colls.keyTypes"],"erased":[],"instances":[{"declaration":"Coverage.Colls.keyTypes","instance":"Coverage.Colls.keyTypes","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Colls.keyTypes","runtime":["LexLeanCollections.compareCodes","LexLeanCollections.instKeyBool","LexLeanCollections.instKeyInt","LexLeanCollections.instKeyInt8","LexLeanCollections.instKeyNat","LexLeanCollections.instKeyProd","LexLeanCollections.instKeyString","LexLeanCollections.instKeyUInt64","LexLeanCollections.lookupEntry","LexLeanCollections.mapLookup"]},{"declarations":["Coverage.Colls.literals"],"erased":[],"instances":[{"declaration":"Coverage.Colls.literals","instance":"Coverage.Colls.literals","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Colls.literals","runtime":[]},{"declarations":["Coverage.Colls.mapFolding"],"erased":[],"instances":[{"declaration":"Coverage.Colls.mapFolding","instance":"Coverage.Colls.mapFolding","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Colls.mapFolding","runtime":["LexLeanCollections.mapFold"]},{"declarations":["Coverage.Colls.mapOps"],"erased":[],"instances":[{"declaration":"Coverage.Colls.mapOps","instance":"Coverage.Colls.mapOps","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Colls.mapOps","runtime":["LexLeanCollections.compareCodes","LexLeanCollections.insertEntry","LexLeanCollections.instKeyString","LexLeanCollections.lookupEntry","LexLeanCollections.mapContains","LexLeanCollections.mapEntries","LexLeanCollections.mapInsert","LexLeanCollections.mapKeys","LexLeanCollections.mapLookup","LexLeanCollections.mapRemove","LexLeanCollections.mapSize","LexLeanCollections.mapValues","LexLeanCollections.removeEntry"]},{"declarations":["Coverage.Colls.setOps"],"erased":[],"instances":[{"declaration":"Coverage.Colls.setOps","instance":"Coverage.Colls.setOps","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Colls.setOps","runtime":["LexLeanCollections.containsElement","LexLeanCollections.insertElement","LexLeanCollections.instKeyNat","LexLeanCollections.removeElement","LexLeanCollections.setContains","LexLeanCollections.setDifference","LexLeanCollections.setElements","LexLeanCollections.setInsert","LexLeanCollections.setIntersection","LexLeanCollections.setRemove","LexLeanCollections.setSize","LexLeanCollections.setUnion"]},{"declarations":["Coverage.Colls.stringGraph"],"erased":[],"instances":[{"declaration":"Coverage.Colls.stringGraph","instance":"Coverage.Colls.stringGraph","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Colls.stringGraph","runtime":["LexLeanCollections.compareCodes","LexLeanCollections.containsElement","LexLeanCollections.graphNodes","LexLeanCollections.graphSuccessors","LexLeanCollections.graphTopological","LexLeanCollections.insertElement","LexLeanCollections.instKeyString","LexLeanCollections.lookupEntry","LexLeanCollections.removeElement","LexLeanCollections.topological"]},{"declarations":["Coverage.Main.builders"],"erased":[],"instances":[{"declaration":"Coverage.Main.builders","instance":"Coverage.Main.builders","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Main.builders","runtime":[]},{"declarations":["Coverage.Main.double","Coverage.Main.higher","Coverage.Types.twice"],"erased":[],"instances":[{"declaration":"Coverage.Main.higher","instance":"Coverage.Main.higher","type_arguments":[]},{"declaration":"Coverage.Types.twice","instance":"Coverage.Types.twice","type_arguments":[]},{"declaration":"Coverage.Main.double","instance":"Coverage.Main.double","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Main.higher","runtime":["LexLeanRuntime.multiply","LexLeanRuntime.subtract"]},{"declarations":["Coverage.Main.intOps"],"erased":[],"instances":[{"declaration":"Coverage.Main.intOps","instance":"Coverage.Main.intOps","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Main.intOps","runtime":["LexLeanRuntime.instQuotientInt","LexLeanRuntime.multiply","LexLeanRuntime.negate","LexLeanRuntime.quotient","LexLeanRuntime.remainder","LexLeanRuntime.subtract"]},{"declarations":["Coverage.Main.mapped","Coverage.Types.isEven","Coverage.Types.isOdd","Coverage.Types.mapList"],"erased":[],"instances":[{"declaration":"Coverage.Main.mapped","instance":"Coverage.Main.mapped","type_arguments":[]},{"declaration":"Coverage.Types.mapList","instance":"Coverage.Types.mapList (Nat) (Bool)","type_arguments":["Nat","Bool"]},{"declaration":"Coverage.Types.isEven","instance":"Coverage.Types.isEven","type_arguments":[]},{"declaration":"Coverage.Types.isOdd","instance":"Coverage.Types.isOdd","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Main.mapped","runtime":[]},{"declarations":["Coverage.Main.natOps"],"erased":[],"instances":[{"declaration":"Coverage.Main.natOps","instance":"Coverage.Main.natOps","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Main.natOps","runtime":["LexLeanRuntime.instQuotientNat","LexLeanRuntime.multiply","LexLeanRuntime.quotient","LexLeanRuntime.remainder","LexLeanRuntime.subtract"]},{"declarations":["Coverage.Main.options"],"erased":[],"instances":[{"declaration":"Coverage.Main.options","instance":"Coverage.Main.options","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Main.options","runtime":[]},{"declarations":["Coverage.Main.pairs"],"erased":[],"instances":[{"declaration":"Coverage.Main.pairs","instance":"Coverage.Main.pairs","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Main.pairs","runtime":[]},{"declarations":["Coverage.Main.parity","Coverage.Types.isEven","Coverage.Types.isOdd"],"erased":[],"instances":[{"declaration":"Coverage.Main.parity","instance":"Coverage.Main.parity","type_arguments":[]},{"declaration":"Coverage.Types.isOdd","instance":"Coverage.Types.isOdd","type_arguments":[]},{"declaration":"Coverage.Types.isEven","instance":"Coverage.Types.isEven","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Main.parity","runtime":[]},{"declarations":["Coverage.Main.records","Coverage.Types.defaultWeights","Coverage.Types.unbox"],"erased":[],"instances":[{"declaration":"Coverage.Main.records","instance":"Coverage.Main.records","type_arguments":[]},{"declaration":"Coverage.Types.defaultWeights","instance":"Coverage.Types.defaultWeights","type_arguments":[]},{"declaration":"Coverage.Types.unbox","instance":"Coverage.Types.unbox (Nat)","type_arguments":["Nat"]}],"internal_erased":[],"root":"Coverage.Main.records","runtime":[]},{"declarations":["Coverage.Main.shapes","Coverage.Types.area"],"erased":[],"instances":[{"declaration":"Coverage.Main.shapes","instance":"Coverage.Main.shapes","type_arguments":[]},{"declaration":"Coverage.Types.area","instance":"Coverage.Types.area","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Main.shapes","runtime":["LexLeanRuntime.multiply"]},{"declarations":["Coverage.Main.treeTotal","Coverage.Types.treeSum"],"erased":[],"instances":[{"declaration":"Coverage.Main.treeTotal","instance":"Coverage.Main.treeTotal","type_arguments":[]},{"declaration":"Coverage.Types.treeSum","instance":"Coverage.Types.treeSum","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Main.treeTotal","runtime":[]},{"declarations":["Coverage.Prims.bits"],"erased":[],"instances":[{"declaration":"Coverage.Prims.bits","instance":"Coverage.Prims.bits","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Prims.bits","runtime":["LexLeanRuntime.bitAnd","LexLeanRuntime.bitNot","LexLeanRuntime.bitOr","LexLeanRuntime.bitXor","LexLeanRuntime.equal","LexLeanRuntime.instFixedUInt16","LexLeanRuntime.shiftLeft","LexLeanRuntime.shiftRight"]},{"declarations":["Coverage.Prims.conversions"],"erased":[],"instances":[{"declaration":"Coverage.Prims.conversions","instance":"Coverage.Prims.conversions","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Prims.conversions","runtime":["LexLeanRuntime.checkedConvert","LexLeanRuntime.checkedFromInt","LexLeanRuntime.instFixedInt64","LexLeanRuntime.instFixedInt8","LexLeanRuntime.instFixedUInt16","LexLeanRuntime.instToMathIntInt"]},{"declarations":["Coverage.Prims.decimals"],"erased":[],"instances":[{"declaration":"Coverage.Prims.decimals","instance":"Coverage.Prims.decimals","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Prims.decimals","runtime":["LexLeanRuntime.checkedFromInt","LexLeanRuntime.instDecimalInt","LexLeanRuntime.instDecimalOfFixedOfToString","LexLeanRuntime.instFixedUInt32","LexLeanRuntime.parseDecimal"]},{"declarations":["Coverage.Prims.fixedMiddle"],"erased":[],"instances":[{"declaration":"Coverage.Prims.fixedMiddle","instance":"Coverage.Prims.fixedMiddle","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Prims.fixedMiddle","runtime":["LexLeanRuntime.checkedAdd","LexLeanRuntime.checkedConvert","LexLeanRuntime.checkedFromInt","LexLeanRuntime.checkedMultiply","LexLeanRuntime.equal","LexLeanRuntime.instFixedInt16","LexLeanRuntime.instFixedInt32"]},{"declarations":["Coverage.Prims.fixedSmall"],"erased":[],"instances":[{"declaration":"Coverage.Prims.fixedSmall","instance":"Coverage.Prims.fixedSmall","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Prims.fixedSmall","runtime":["LexLeanRuntime.checkedAdd","LexLeanRuntime.checkedFromInt","LexLeanRuntime.checkedMultiply","LexLeanRuntime.checkedNegate","LexLeanRuntime.checkedQuotient","LexLeanRuntime.checkedSubtract","LexLeanRuntime.instFixedInt8"]},{"declarations":["Coverage.Prims.fixedWide"],"erased":[],"instances":[{"declaration":"Coverage.Prims.fixedWide","instance":"Coverage.Prims.fixedWide","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Prims.fixedWide","runtime":["LexLeanRuntime.checkedAdd","LexLeanRuntime.checkedAddInt64","LexLeanRuntime.checkedFromInt","LexLeanRuntime.checkedMultiplyInt64","LexLeanRuntime.checkedNegateInt64","LexLeanRuntime.checkedQuotientInt64","LexLeanRuntime.checkedSubtractInt64","LexLeanRuntime.divideMagnitudeInt64","LexLeanRuntime.instFixedUInt64","LexLeanRuntime.magnitudeInt64","LexLeanRuntime.multiplyMagnitudeInt64","LexLeanRuntime.signedMagnitudeInt64"]},{"declarations":["Coverage.Prims.formats"],"erased":[],"instances":[{"declaration":"Coverage.Prims.formats","instance":"Coverage.Prims.formats","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Prims.formats","runtime":["LexLeanRuntime.checkedFromInt","LexLeanRuntime.formatDecimal","LexLeanRuntime.instDecimalInt","LexLeanRuntime.instDecimalOfFixedOfToString","LexLeanRuntime.instFixedInt8"]},{"declarations":["Coverage.Prims.sequences"],"erased":[],"instances":[{"declaration":"Coverage.Prims.sequences","instance":"Coverage.Prims.sequences","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Prims.sequences","runtime":["LexLeanRuntime.append","LexLeanRuntime.equal","LexLeanRuntime.index","LexLeanRuntime.instAppendableByteArray","LexLeanRuntime.instAppendableList","LexLeanRuntime.instIndexableByteArrayUInt8","LexLeanRuntime.instIndexableList","LexLeanRuntime.instLengthableByteArray","LexLeanRuntime.instLengthableList","LexLeanRuntime.instSliceableByteArray","LexLeanRuntime.instSliceableList","LexLeanRuntime.length","LexLeanRuntime.listIndex","LexLeanRuntime.slice"]},{"declarations":["Coverage.Prims.text"],"erased":[],"instances":[{"declaration":"Coverage.Prims.text","instance":"Coverage.Prims.text","type_arguments":[]}],"internal_erased":[],"root":"Coverage.Prims.text","runtime":["LexLeanRuntime.compareBytes","LexLeanRuntime.equal","LexLeanRuntime.instLengthableString","LexLeanRuntime.join","LexLeanRuntime.length","LexLeanRuntime.splitExact","LexLeanRuntime.utf8Decode","LexLeanRuntime.utf8Encode"]},{"declarations":["Coverage.RecRoots.rewrite","Coverage.Recur.prune","Coverage.Recur.reassociate"],"erased":["Coverage.Recur.prune_plus","Coverage.Recur.reassociate_literal","Coverage.Recur.reassociate_plus"],"instances":[{"declaration":"Coverage.RecRoots.rewrite","instance":"Coverage.RecRoots.rewrite","type_arguments":[]},{"declaration":"Coverage.Recur.reassociate","instance":"Coverage.Recur.reassociate","type_arguments":[]},{"declaration":"Coverage.Recur.prune","instance":"Coverage.Recur.prune","type_arguments":[]}],"internal_erased":["Coverage.Recur.prune._proof_1","Coverage.Recur.prune._proof_2","Coverage.Recur.reassociate._proof_1","Coverage.Recur.reassociate._proof_2"],"root":"Coverage.RecRoots.rewrite","runtime":[]},{"declarations":["Coverage.RecRoots.roseTotal","Coverage.Recur.forestSize","Coverage.Recur.roseSize"],"erased":[],"instances":[{"declaration":"Coverage.RecRoots.roseTotal","instance":"Coverage.RecRoots.roseTotal","type_arguments":[]},{"declaration":"Coverage.Recur.roseSize","instance":"Coverage.Recur.roseSize (Nat)","type_arguments":["Nat"]},{"declaration":"Coverage.Recur.forestSize","instance":"Coverage.Recur.forestSize (Nat)","type_arguments":["Nat"]}],"internal_erased":[],"root":"Coverage.RecRoots.roseTotal","runtime":[]},{"declarations":["Coverage.RecRoots.syntaxTotal","Coverage.Recur.exprSize","Coverage.Recur.statementSize","Coverage.Recur.statementsSize"],"erased":[],"instances":[{"declaration":"Coverage.RecRoots.syntaxTotal","instance":"Coverage.RecRoots.syntaxTotal","type_arguments":[]},{"declaration":"Coverage.Recur.exprSize","instance":"Coverage.Recur.exprSize","type_arguments":[]},{"declaration":"Coverage.Recur.statementsSize","instance":"Coverage.Recur.statementsSize","type_arguments":[]},{"declaration":"Coverage.Recur.statementSize","instance":"Coverage.Recur.statementSize","type_arguments":[]}],"internal_erased":[],"root":"Coverage.RecRoots.syntaxTotal","runtime":[]},{"declarations":["Coverage.RecRoots.wellFounded","Coverage.Recur.countdown","Coverage.Recur.reduce","Coverage.Recur.search"],"erased":["Coverage.Recur.countdown_decreases","Coverage.Recur.reduce_decreases","Coverage.Recur.search_decreases"],"instances":[{"declaration":"Coverage.RecRoots.wellFounded","instance":"Coverage.RecRoots.wellFounded","type_arguments":[]},{"declaration":"Coverage.Recur.countdown","instance":"Coverage.Recur.countdown","type_arguments":[]},{"declaration":"Coverage.Recur.reduce","instance":"Coverage.Recur.reduce","type_arguments":[]},{"declaration":"Coverage.Recur.search","instance":"Coverage.Recur.search","type_arguments":[]}],"internal_erased":["Coverage.Recur.countdown._unary._proof_1","Coverage.Recur.reduce._unary._proof_1","Coverage.Recur.search._unary._proof_1"],"root":"Coverage.RecRoots.wellFounded","runtime":["LexLeanRuntime.subtract"]}],"declarations":[{"code":{"body":{"body":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Boundary.Ledger"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Boundary.Ledger"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v4","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Boundary.Ledger"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Coverage.Boundary.Ledger"}},{"kind":"type","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v5","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Boundary.groveTags"}},"level_parameters":[],"name":"Coverage.Boundary.groveRoot","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Coverage.Boundary.Ledger"}},{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Boundary.Ledger"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Boundary.Ledger"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v20","kind":"fvar"},{"id":"v21","kind":"fvar"},{"id":"v22","kind":"fvar"},{"id":"v23","kind":"fvar"}],"function":"v8","kind":"apply"}},"constructor":"Coverage.Boundary.Grove.node","kind":"constructor","parameters":[{"borrow":false,"id":"v19","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v20","type":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v21","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v22","type":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"borrow":false,"id":"v23","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]},{"code":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v25","kind":"fvar"}],"function":"v12","kind":"apply"}},"constructor":"Coverage.Boundary.Grove.leaf","kind":"constructor","parameters":[{"borrow":false,"id":"v25","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]},{"code":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v27","kind":"fvar"}],"function":"v18","kind":"apply"}},"constructor":"Coverage.Boundary.Grove.settled","kind":"constructor","parameters":[{"borrow":false,"id":"v27","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}}]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Coverage.Boundary.Grove"},"id":"v18","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v13","kind":"apply"}},"declaration":{"id":"v13","parameters":[{"borrow":false,"id":"v14","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v16"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"id":"v12","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.mapSize"}}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v4","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v5","type":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"borrow":false,"id":"v6","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.setSize"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Boundary.groveTags","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v12","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v13","kind":"fvar"},{"id":"v20","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.setFold"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v19"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"5"}}},"declaration":{"id":"v13","parameters":[{"borrow":false,"id":"v14","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v15","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v16","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.subtract"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instSub"}}},"kind":"fun"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.listFold"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v7","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Colls.folds","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v3","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v6","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v5","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.graphTopological"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.graphReachable"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.graphSuccessors"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanCollections.instKeyNat"}},"level_parameters":[],"name":"Coverage.Colls.graphs","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v11","kind":"fvar"},{"id":"v31","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v31","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v12","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.iterateUntil"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v20","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v29","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v28","kind":"fvar"}],"function":"v25","kind":"apply"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v27"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v26","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"id":"v25","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v24"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v23","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v22","type":{"kind":"erased"}}]}],"discriminant":"v19","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v19","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v17","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v15"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"10"}}}},"kind":"fun"},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.iterate"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v9","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v8"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v6","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Colls.iterations","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v13","kind":"fvar"},{"id":"v24","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v24","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v15","kind":"fvar"},{"id":"v23","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v23","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v17","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v22","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"id":"v19","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v20","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.mapLookup"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanCollections.instKeyUInt64"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v18","kind":"fvar"},{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.mapLookup"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanCollections.instKeyInt"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v16","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.mapLookup"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanCollections.instKeyBool"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v14","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.mapLookup"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanCollections.instKeyInt8"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v12","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.mapLookup"}},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.instKeyProd"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanCollections.instKeyString"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanCollections.instKeyNat"}},"level_parameters":[],"name":"Coverage.Colls.keyTypes","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Int8"}},{"borrow":false,"id":"v4","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v5","type":{"kind":"const","levels":[],"name":"Bool"}},{"borrow":false,"id":"v6","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v7","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v8","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v9","type":{"kind":"const","levels":[],"name":"UInt64"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v11","kind":"fvar"},{"id":"v28","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v28","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v20","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v27","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v22","kind":"fvar"},{"id":"v26","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v26","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v24","kind":"fvar"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v25","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v7","kind":"fvar"},{"id":"v23","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v14","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v14","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v7","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v14","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v17","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v16"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v13"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v11","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v3","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v9","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v4","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"String"},"value":{"kind":"literal","literal":{"kind":"string","value":"b"}}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"String"},"value":{"kind":"literal","literal":{"kind":"string","value":"a"}}},"level_parameters":[],"name":"Coverage.Colls.literals","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"String"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.mapFold"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v13"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v5","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v5","kind":"fvar"},{"id":"v1","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v8","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Colls.mapFolding","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v4","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v17","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v5","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v16","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v6","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v7","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v14","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v8","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v13","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v9","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v11","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.mapEntries"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.mapSize"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.mapValues"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.mapKeys"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.mapContains"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.mapLookup"}},"id":"v5","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.mapRemove"}},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.mapInsert"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanCollections.instKeyString"}},"level_parameters":[],"name":"Coverage.Colls.mapOps","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"String"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v4","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v17","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v5","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v6","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v15","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v7","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v14","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v8","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v13","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v9","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.setElements"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.setSize"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.setDifference"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.setIntersection"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.setUnion"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.setContains"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.setRemove"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.setInsert"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanCollections.instKeyNat"}},"level_parameters":[],"name":"Coverage.Colls.setOps","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"id":"v1","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.graphTopological"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanCollections.instKeyString"}},"level_parameters":[],"name":"Coverage.Colls.stringGraph","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"arguments":[{"id":"v14","kind":"fvar"}],"kind":"jump","target":"v9"},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":["1"],"name":"PUnit"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":["1"],"name":"PUnit"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v13","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"arguments":[{"id":"v17","kind":"fvar"}],"kind":"jump","target":"v9"},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":["1"],"name":"PUnit"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":["1"],"name":"PUnit"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Nat.zero"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v15","type":{"kind":"erased"}}]}],"discriminant":"v8","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":["1"],"name":"PUnit"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"arguments":[{"kind":"const","levels":["1"],"name":"PUnit"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":["1"],"name":"PUnit"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":["1"],"name":"PUnit"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":["1"],"name":"PUnit"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":["1"],"name":"PUnit"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}},{"id":"v2","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}}},"kind":"join"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.succ"}},"level_parameters":[],"name":"Coverage.Main.builders","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":["1"],"name":"PUnit"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"function":"v3","kind":"apply"}},"id":"v3","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"level_parameters":[],"name":"Coverage.Main.double","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v15","kind":"fvar"},{"id":"v23","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v20","kind":"fvar"},{"id":"v22","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v21","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.twice"}},"id":"v21","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Main.double"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"function":"v16","kind":"apply"}},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v18","kind":"fvar"},{"id":"v17","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.subtract"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubNat"}}},"kind":"fun"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v10","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.twice"}},"declaration":{"id":"v10","parameters":[{"borrow":false,"id":"v11","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v1","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v12","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.multiply"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instMulNat"}}},"kind":"fun"},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v7","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"level_parameters":[],"name":"Coverage.Main.higher","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.subtract"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v4","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.negate"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v11","kind":"fvar"},{"id":"v15","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.remainder"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v17"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v11","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.quotient"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v13"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Quotient"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanRuntime.instQuotientInt"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.multiply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instNegInt"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instMul"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instSub"}},"level_parameters":[],"name":"Coverage.Main.intOps","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Int"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v1","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.mapList"}},"id":"v1","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Types.isEven"}},"level_parameters":[],"name":"Coverage.Main.mapped","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v58","kind":"fvar"}],"kind":"jump","target":"v52"},"id":"v58","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v59","kind":"fvar"}],"kind":"jump","target":"v55"},"id":"v59","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v37","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Bool"},"declaration":{"id":"v55","parameters":[{"borrow":false,"id":"v56","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v57","kind":"fvar"}],"kind":"jump","target":"v38"},"id":"v57","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v56","kind":"fvar"}],"function":"v36","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v52","parameters":[{"borrow":false,"id":"v53","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v54","kind":"fvar"}],"kind":"jump","target":"v38"},"id":"v54","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v53","kind":"fvar"}],"function":"v16","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v38","parameters":[{"borrow":false,"id":"v39","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v44","kind":"return"},"id":"v44","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v43","kind":"fvar"},{"id":"v7","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.multiply"}},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instMulNat"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v42","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v51","kind":"return"},"id":"v51","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v50","kind":"fvar"},{"id":"v12","kind":"fvar"}],"function":"v48","kind":"apply"}},"id":"v50","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v49","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.subtract"}},"id":"v49","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubNat"}},"id":"v48","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v47"}},"id":"v47","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v46","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v46","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v45","type":{"kind":"erased"}}]}],"discriminant":"v41","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Decidable"},"id":"v41","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v39","kind":"fvar"},{"id":"v40","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v40","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"join"},"id":"v37","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v7","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v36","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v33","kind":"return"},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"function":"v27","kind":"apply"}},"id":"v32","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v35","kind":"return"},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v34","kind":"fvar"}],"function":"v22","kind":"apply"}},"id":"v34","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v31","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v12","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v29"}},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v28","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v27","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v23","kind":"apply"}},"declaration":{"id":"v23","parameters":[{"borrow":false,"id":"v24","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v25","kind":"fvar"}],"kind":"const","levels":[],"name":"Bool.not"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}}},"kind":"fun"},"id":"v22","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v19","kind":"apply"}},"declaration":{"id":"v19","parameters":[{"borrow":false,"id":"v20","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"}},"kind":"fun"},"id":"v16","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v13","kind":"apply"}},"declaration":{"id":"v13","parameters":[{"borrow":false,"id":"v14","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v11","kind":"apply"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.remainder"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v9"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.quotient"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"7"}}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Quotient"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanRuntime.instQuotientNat"}},"level_parameters":[],"name":"Coverage.Main.natOps","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v47","kind":"fvar"}],"kind":"jump","target":"v41"},"id":"v47","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"arguments":[{"id":"v48","kind":"fvar"}],"kind":"jump","target":"v44"},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v48","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Option"},"declaration":{"id":"v44","parameters":[{"borrow":false,"id":"v45","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v46","kind":"fvar"}],"kind":"jump","target":"v14"},"id":"v46","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v45","kind":"fvar"}],"function":"v13","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v41","parameters":[{"borrow":false,"id":"v42","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v43","kind":"fvar"}],"kind":"jump","target":"v14"},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v42","kind":"fvar"}],"function":"v10","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v14","parameters":[{"borrow":false,"id":"v15","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"arguments":[{"id":"v39","kind":"fvar"}],"kind":"jump","target":"v36"},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v39","type":{"kind":"const","levels":[],"name":"Bool"}}]},{"code":{"arguments":[{"id":"v40","kind":"fvar"}],"kind":"jump","target":"v33"},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v40","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v1","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Except"},"declaration":{"id":"v36","parameters":[{"borrow":false,"id":"v37","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v38","kind":"fvar"}],"kind":"jump","target":"v30"},"id":"v38","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v37","kind":"fvar"}],"function":"v29","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v33","parameters":[{"borrow":false,"id":"v34","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v35","kind":"fvar"}],"kind":"jump","target":"v30"},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v34","kind":"fvar"}],"function":"v16","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v30","parameters":[{"borrow":false,"id":"v31","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v15","kind":"fvar"},{"id":"v31","kind":"fvar"}],"function":"v4","kind":"apply"}}},"kind":"join"},"id":"v29","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v23"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v21","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v27"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v26","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v25","type":{"kind":"erased"}}]}],"discriminant":"v20","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Decidable"},"id":"v20","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v18","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"id":"v16","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v11","kind":"apply"}}},"kind":"join"},"id":"v13","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v11","kind":"apply"}},"declaration":{"id":"v11","parameters":[{"borrow":false,"id":"v12","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"id":"v12","kind":"return"}},"kind":"fun"},"id":"v10","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v8"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"level_parameters":[],"name":"Coverage.Main.options","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v0"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v0"}},"level_parameters":[],"name":"Coverage.Main.pairs","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.isOdd"}},"level_parameters":[],"name":"Coverage.Main.parity","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v10","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.unbox"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"Coverage.Types.Box"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v11","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.Box.mk"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v13"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Coverage.Types.Point","value":"v3"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v7","kind":"fvar"},{"id":"v9","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Coverage.Types.Weights","value":"v8"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Types.Weights"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Types.defaultWeights"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Types.Point","value":"v3"}},"id":"v6","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Types.Point"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Types.Point"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.Point.mk"}},"level_parameters":[],"name":"Coverage.Main.records","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v11","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v8","kind":"fvar"},{"id":"v10","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.area"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Types.Shape"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Types.Shape.empty"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.area"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Types.Shape"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.Shape.circle"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.area"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Types.Shape"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.Shape.rect"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"level_parameters":[],"name":"Coverage.Main.shapes","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.treeSum"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.Tree.node"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.Tree.node"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"5"}}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Coverage.Types.Tree.leaf"}},"level_parameters":[],"name":"Coverage.Main.treeTotal","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v4","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v5","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v6","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v7","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v17","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v8","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v16","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v12","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"id":"v14","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.equal"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instBEqOfDecidableEq"}},"id":"v13","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt16"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt16"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instDecidableEqUInt16"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.shiftRight"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"UInt32"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.instOfNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.shiftLeft"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"UInt16"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.bitNot"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"UInt16"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.bitXor"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"UInt16"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.bitOr"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"UInt16"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.bitAnd"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanRuntime.instFixedUInt16"}},"level_parameters":[],"name":"Coverage.Prims.bits","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"UInt16"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"UInt16"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"UInt32"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"kind":"const","levels":[],"name":"UInt16"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt16"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt16"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"id":"v4","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}},{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.checkedConvert"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanRuntime.instFixedInt64"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"LexLeanRuntime.Fixed","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanRuntime.instFixedInt8"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.checkedConvert"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanRuntime.instFixedUInt16"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanRuntime.instToMathIntInt"}},"level_parameters":[],"name":"Coverage.Prims.conversions","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Int8"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"id":"v2","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}},{"id":"v5","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.parseDecimal"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Decimal"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.instDecimalOfFixedOfToString"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"ToString"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instToStringUInt32"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanRuntime.instFixedUInt32"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v1","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.parseDecimal"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Decimal"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanRuntime.instDecimalInt"}},"level_parameters":[],"name":"Coverage.Prims.decimals","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"String"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v3","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v21","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v11","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v20","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v13","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int32"}},{"id":"v15","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.equal"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Int32"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v17"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"Int32.instOfNat"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int32"}},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instBEqOfDecidableEq"}},"id":"v14","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int32"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instDecidableEqInt32"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int16"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Int32"}},{"id":"v12","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.checkedConvert"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"LexLeanRuntime.Fixed","value":"v2"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int32"}},{"id":"v4","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.checkedAdd"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Int32"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Int32"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v8"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Int32.instOfNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"7"}}},"id":"v6","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int32"},"domain":{"kind":"const","levels":[],"name":"Int32"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int32.instNeg"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanRuntime.instFixedInt32"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int16"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.checkedMultiply"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanRuntime.instFixedInt16"}},"level_parameters":[],"name":"Coverage.Prims.fixedMiddle","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Int16"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Int32"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int16"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v3","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v4","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v9","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v5","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v8","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.checkedNegate"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.checkedQuotient"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.checkedMultiply"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.checkedSubtract"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.checkedAdd"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanRuntime.instFixedInt8"}},"level_parameters":[],"name":"Coverage.Prims.fixedSmall","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Int8"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Int8"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v3","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v16","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v4","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v15","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v5","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v14","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v6","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v13","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"id":"v7","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}},{"id":"v8","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.checkedAdd"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.instOfNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanRuntime.instFixedUInt64"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.checkedNegateInt64"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.checkedQuotientInt64"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.checkedMultiplyInt64"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.checkedSubtractInt64"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.checkedAddInt64"}},"level_parameters":[],"name":"Coverage.Prims.fixedWide","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Int64"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Int64"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"UInt64"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"id":"v3","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"String"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}},{"id":"v6","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.formatDecimal"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Decimal"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.instDecimalOfFixedOfToString"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"ToString"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instToStringInt8"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanRuntime.instFixedInt8"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"String"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.formatDecimal"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Decimal"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanRuntime.instDecimalInt"}},"level_parameters":[],"name":"Coverage.Prims.formats","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Int"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Int8"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v62","kind":"return"},"id":"v62","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v9","kind":"fvar"},{"id":"v61","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v61","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v18","kind":"fvar"},{"id":"v60","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v60","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v26","kind":"fvar"},{"id":"v59","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v59","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v28","kind":"fvar"},{"id":"v58","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v58","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v30","kind":"fvar"},{"id":"v57","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v57","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v35","kind":"fvar"},{"id":"v56","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v56","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v40","kind":"fvar"},{"id":"v55","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v55","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v44","kind":"fvar"},{"id":"v54","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v54","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v46","kind":"fvar"},{"id":"v52","kind":"fvar"},{"id":"v53","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.equal"}},"id":"v53","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v52","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v48","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v51","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.equal"}},"id":"v51","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v50"}},"id":"v50","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v49","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v49","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v48","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v47","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instBEqOfDecidableEq"}},"id":"v47","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instDecidableEqNat"}},"id":"v46","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v45","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instBEqOfDecidableEq"}},"id":"v45","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v44","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"id":"v41","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v43","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.equal"}},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"ByteArray"},"value":{"arguments":[{"id":"v42","kind":"fvar"}],"kind":"const","levels":[],"name":"ByteArray.mk"}},"id":"v42","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Array"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.toArray"}},"id":"v41","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"ByteArray.instBEq"}},"id":"v40","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"id":"v36","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v39","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.slice"}},"id":"v39","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v38"}},"id":"v38","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v37","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v37","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v36","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Sliceable"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanRuntime.instSliceableByteArray"}},"id":"v35","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v31","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v34","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.slice"}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v33"}},"id":"v33","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"id":"v31","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Sliceable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instSliceableList"}},"id":"v30","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}},{"id":"v29","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.index"}},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"},{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Indexable"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanRuntime.instIndexableByteArrayUInt8"}},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v27","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.index"}},"id":"v27","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Indexable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instIndexableList"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v23","kind":"fvar"},{"id":"v25","kind":"fvar"}],"function":"v21","kind":"apply"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"id":"v24","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.length"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanRuntime.instLengthableByteArray"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v22","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.length"}},"id":"v22","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instLengthableList"}},"id":"v21","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v20"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"ByteArray"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"id":"v10","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.append"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"ByteArray"},"value":{"arguments":[{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"ByteArray.mk"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Array"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.toArray"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"UInt8"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v12"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt8.instOfNat"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"10"}}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanRuntime.instAppendableByteArray"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v3","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.append"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v3","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instAppendableList"}},"level_parameters":[],"name":"Coverage.Prims.sequences","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"ByteArray"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v65","kind":"fvar"}],"kind":"jump","target":"v62"},"id":"v65","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v66","kind":"fvar"}],"kind":"jump","target":"v59"},"id":"v66","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v50","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Ordering"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Bool"},"declaration":{"id":"v62","parameters":[{"borrow":false,"id":"v63","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Ordering"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v64","kind":"fvar"}],"kind":"jump","target":"v51"},"id":"v64","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v63","kind":"fvar"}],"function":"v31","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v59","parameters":[{"borrow":false,"id":"v60","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Ordering"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v61","kind":"fvar"}],"kind":"jump","target":"v51"},"id":"v61","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v60","kind":"fvar"}],"function":"v47","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v51","parameters":[{"borrow":false,"id":"v52","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Ordering"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v58","kind":"return"},"id":"v58","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Ordering"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Ordering"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v3","kind":"fvar"},{"id":"v57","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v57","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Ordering"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Ordering"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v4","kind":"fvar"},{"id":"v56","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v56","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Ordering"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Ordering"}},{"kind":"type","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v16","kind":"fvar"},{"id":"v55","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v55","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v20","kind":"fvar"},{"id":"v54","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v54","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v25","kind":"fvar"},{"id":"v53","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v53","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v27","kind":"fvar"},{"id":"v52","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}}},"kind":"join"},"id":"v50","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"id":"v49","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.equal"}},"id":"v49","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"id":"v48","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instBEqOfDecidableEq"}},"id":"v48","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instDecidableEqString"}},"id":"v47","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v32","kind":"apply"}},"declaration":{"id":"v32","parameters":[{"borrow":false,"id":"v33","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v46","kind":"return"},"id":"v46","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Ordering"}},{"id":"v35","kind":"fvar"},{"id":"v36","kind":"fvar"},{"id":"v45","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.equal"}},"id":"v45","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v38","kind":"fvar"},{"id":"v44","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.compareBytes"}},"id":"v44","kind":"let","type":{"kind":"const","levels":[],"name":"ByteArray"},"value":{"arguments":[{"id":"v43","kind":"fvar"}],"kind":"const","levels":[],"name":"ByteArray.mk"}},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Array"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}},{"id":"v42","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.toArray"}},"id":"v42","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}},{"id":"v41","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"UInt8"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v40"}},"id":"v40","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v39","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt8.instOfNat"}},"id":"v39","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v38","kind":"let","type":{"kind":"const","levels":[],"name":"ByteArray"},"value":{"arguments":[{"id":"v37","kind":"fvar"}],"kind":"const","levels":[],"name":"ByteArray.mk"}},"id":"v37","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Array"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.toArray"}},"id":"v36","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.compareBytes"}},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Ordering"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Ordering"}},{"id":"v34","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instBEqOfDecidableEq"}},"id":"v34","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Ordering"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Ordering"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instDecidableEqOrdering"}}},"kind":"fun"},"id":"v31","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v28","kind":"apply"}},"declaration":{"id":"v28","parameters":[{"borrow":false,"id":"v29","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"id":"v26","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.length"}},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanRuntime.instLengthableString"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"String"},"value":{"arguments":[{"id":"v24","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.join"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"id":"v0","kind":"fvar"},{"id":"v23","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"id":"v21","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"String"},"value":{"kind":"literal","literal":{"kind":"string","value":"x\"y"}}},"id":"v20","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.splitExact"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"UInt32"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v18"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.instOfNat"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4"}}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.compareBytes"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"ByteArray"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"ByteArray.mk"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Array"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.toArray"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}},{"id":"v7","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"UInt8"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v9"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt8.instOfNat"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"255"}}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"UInt8"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt8.instOfNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.utf8Decode"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"ByteArray"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"ByteArray"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.utf8Encode"}},"level_parameters":[],"name":"Coverage.Prims.text","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"String"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"String"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Ordering"},{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"String"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.prune"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.reassociate"}},"level_parameters":[],"name":"Coverage.RecRoots.rewrite","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.roseSize"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v0","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Syntax.Rose.node"}},"id":"v6","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}},{"id":"v5","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Syntax.Rose.node"}},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"level_parameters":[],"name":"Coverage.RecRoots.roseTotal","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.exprSize"}},"level_parameters":[],"name":"Coverage.RecRoots.syntaxTotal","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v5","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.search"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.reduce"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.countdown"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"level_parameters":[],"name":"Coverage.RecRoots.wellFounded","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v26","kind":"fvar"},{"kind":"erased"}],"function":"v21","kind":"apply"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v24"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"declaration":{"id":"v21","parameters":[{"borrow":false,"id":"v22","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"alternatives":[{"code":{"id":"v20","kind":"return"},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"id":"v4","kind":"return"},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v22","kind":"cases","result_type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"type_name":"Bool"}},"kind":"fun"},"id":"v20","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v11","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.countdown"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v17","kind":"fvar"}],"function":"v14","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v16"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v14","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v13"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v7","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.subtract"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v9"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubNat"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"id":"v1","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Recur.countdown","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":true,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v31","kind":"fvar"}],"function":"v6","kind":"apply"}},"constructor":"Coverage.Syntax.Expr.literal","kind":"constructor","parameters":[{"borrow":false,"id":"v31","type":{"kind":"const","levels":[],"name":"Nat"}}]},{"code":{"body":{"id":"v35","kind":"return"},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v33","kind":"fvar"},{"id":"v34","kind":"fvar"}],"function":"v20","kind":"apply"}},"constructor":"Coverage.Syntax.Expr.plus","kind":"constructor","parameters":[{"borrow":false,"id":"v33","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"}},{"borrow":false,"id":"v34","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"}}]},{"code":{"body":{"id":"v38","kind":"return"},"id":"v38","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v36","kind":"fvar"},{"id":"v37","kind":"fvar"}],"function":"v30","kind":"apply"}},"constructor":"Coverage.Syntax.Expr.block","kind":"constructor","parameters":[{"borrow":false,"id":"v36","type":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v37","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"}}]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Coverage.Syntax.Expr"},"id":"v30","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v21","kind":"apply"}},"declaration":{"id":"v21","parameters":[{"borrow":false,"id":"v22","type":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v23","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v27","kind":"fvar"},{"id":"v28","kind":"fvar"}],"function":"v26","kind":"apply"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.exprSize"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.statementsSize"}},"id":"v26","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v25"}},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v24","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"id":"v20","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"}},{"borrow":false,"id":"v9","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v15","kind":"fvar"},{"id":"v18","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v17"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.exprSize"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.exprSize"}},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v11"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Recur.exprSize","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"}}],"recursive":true,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v18","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v20","kind":"fvar"},{"id":"v21","kind":"fvar"}],"function":"v17","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v20","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}},{"borrow":false,"id":"v21","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v1","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"List"},"id":"v17","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}},{"borrow":false,"id":"v10","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v14","kind":"fvar"},{"id":"v15","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.forestSize"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.roseSize"}},"id":"v13","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v12"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"id":"v7","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Recur.forestSize","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v38","kind":"return"},"id":"v38","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"erased"}],"function":"v31","kind":"apply"}},"declaration":{"id":"v31","parameters":[{"borrow":false,"id":"v32","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"id":"v34","kind":"return"},"id":"v34","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"function":"v5","kind":"apply"}},"constructor":"Coverage.Syntax.Term.literal","kind":"constructor","parameters":[{"borrow":false,"id":"v33","type":{"kind":"const","levels":[],"name":"Nat"}}]},{"code":{"body":{"id":"v37","kind":"return"},"id":"v37","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[{"id":"v35","kind":"fvar"},{"id":"v36","kind":"fvar"}],"function":"v30","kind":"apply"}},"constructor":"Coverage.Syntax.Term.plus","kind":"constructor","parameters":[{"borrow":false,"id":"v35","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}},{"borrow":false,"id":"v36","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}}]}],"discriminant":"v32","kind":"cases","result_type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"type_name":"Coverage.Syntax.Term"}},"kind":"fun"},"id":"v30","kind":"let","type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}},{"borrow":false,"id":"v8","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}},{"borrow":false,"id":"v9","type":{"kind":"erased"}}],"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v7","kind":"fvar"},{"kind":"erased"}],"function":"v22","kind":"apply"}},"declaration":{"id":"v22","parameters":[{"borrow":false,"id":"v23","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"function":"v14","kind":"apply"}},"constructor":"Coverage.Syntax.Term.literal","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"kind":"const","levels":[],"name":"Nat"}}]},{"code":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[{"id":"v26","kind":"fvar"},{"id":"v27","kind":"fvar"}],"function":"v21","kind":"apply"}},"constructor":"Coverage.Syntax.Term.plus","kind":"constructor","parameters":[{"borrow":false,"id":"v26","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}},{"borrow":false,"id":"v27","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}}]}],"discriminant":"v23","kind":"cases","result_type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"type_name":"Coverage.Syntax.Term"}},"kind":"fun"},"id":"v21","kind":"let","type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"value":{"arguments":[],"function":"v15","kind":"apply"}},"declaration":{"id":"v15","parameters":[{"borrow":false,"id":"v16","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}},{"borrow":false,"id":"v17","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}},{"borrow":false,"id":"v18","type":{"kind":"erased"}}],"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"value":{"body":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.prune"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v16","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Syntax.Term.plus"}}},"kind":"fun"},"id":"v14","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v10","kind":"apply"}},"declaration":{"id":"v10","parameters":[{"borrow":false,"id":"v11","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v12","type":{"kind":"erased"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.prune"}}},"kind":"fun"}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v3","type":{"kind":"erased"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Syntax.Term.literal"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Recur.prune","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}}],"recursive":true,"type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v41","kind":"return"},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"erased"}],"function":"v34","kind":"apply"}},"declaration":{"id":"v34","parameters":[{"borrow":false,"id":"v35","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"id":"v37","kind":"return"},"id":"v37","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[{"id":"v36","kind":"fvar"}],"function":"v5","kind":"apply"}},"constructor":"Coverage.Syntax.Term.literal","kind":"constructor","parameters":[{"borrow":false,"id":"v36","type":{"kind":"const","levels":[],"name":"Nat"}}]},{"code":{"body":{"id":"v40","kind":"return"},"id":"v40","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[{"id":"v38","kind":"fvar"},{"id":"v39","kind":"fvar"}],"function":"v33","kind":"apply"}},"constructor":"Coverage.Syntax.Term.plus","kind":"constructor","parameters":[{"borrow":false,"id":"v38","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}},{"borrow":false,"id":"v39","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}}]}],"discriminant":"v35","kind":"cases","result_type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"type_name":"Coverage.Syntax.Term"}},"kind":"fun"},"id":"v33","kind":"let","type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}},{"borrow":false,"id":"v8","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}},{"borrow":false,"id":"v9","type":{"kind":"erased"}}],"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v7","kind":"fvar"},{"kind":"erased"}],"function":"v25","kind":"apply"}},"declaration":{"id":"v25","parameters":[{"borrow":false,"id":"v26","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[{"id":"v27","kind":"fvar"}],"function":"v16","kind":"apply"}},"constructor":"Coverage.Syntax.Term.literal","kind":"constructor","parameters":[{"borrow":false,"id":"v27","type":{"kind":"const","levels":[],"name":"Nat"}}]},{"code":{"body":{"id":"v31","kind":"return"},"id":"v31","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[{"id":"v29","kind":"fvar"},{"id":"v30","kind":"fvar"}],"function":"v24","kind":"apply"}},"constructor":"Coverage.Syntax.Term.plus","kind":"constructor","parameters":[{"borrow":false,"id":"v29","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}},{"borrow":false,"id":"v30","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}}]}],"discriminant":"v26","kind":"cases","result_type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"type_name":"Coverage.Syntax.Term"}},"kind":"fun"},"id":"v24","kind":"let","type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}},{"borrow":false,"id":"v19","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}},{"borrow":false,"id":"v20","type":{"kind":"erased"}}],"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.reassociate"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v18","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Syntax.Term.plus"}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Syntax.Term.plus"}}},"kind":"fun"},"id":"v16","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v10","kind":"apply"}},"declaration":{"id":"v10","parameters":[{"borrow":false,"id":"v11","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v12","type":{"kind":"erased"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Syntax.Term.plus"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.reassociate"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Syntax.Term.literal"}}},"kind":"fun"}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v3","type":{"kind":"erased"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Syntax.Term.literal"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Recur.reassociate","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"}}],"recursive":true,"type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v26","kind":"fvar"},{"kind":"erased"}],"function":"v21","kind":"apply"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v24"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"declaration":{"id":"v21","parameters":[{"borrow":false,"id":"v22","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"alternatives":[{"code":{"id":"v20","kind":"return"},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"id":"v4","kind":"return"},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v22","kind":"cases","result_type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"type_name":"Bool"}},"kind":"fun"},"id":"v20","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v18","kind":"fvar"},{"kind":"erased"}],"function":"v16","kind":"apply"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"alternatives":[{"code":{"id":"v15","kind":"return"},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"id":"v9","kind":"return"},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v17","kind":"cases","result_type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"type_name":"Bool"}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[],"function":"v10","kind":"apply"}},"declaration":{"id":"v10","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.reduce"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v12","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.subtract"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubNat"}}},"kind":"fun"},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"id":"v0","kind":"return"}},"kind":"fun"}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"id":"v0","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Recur.reduce","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":true,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v14","kind":"fvar"},{"id":"v15","kind":"fvar"}],"function":"v13","kind":"apply"}},"constructor":"Coverage.Syntax.Rose.node","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v15","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v1","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Coverage.Syntax.Rose"},"id":"v13","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v4","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.forestSize"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v9"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v7","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Recur.roseSize","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v34","kind":"return"},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v33","kind":"fvar"},{"kind":"erased"}],"function":"v31","kind":"apply"}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"declaration":{"id":"v31","parameters":[{"borrow":false,"id":"v32","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"alternatives":[{"code":{"id":"v30","kind":"return"},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"id":"v27","kind":"return"},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v32","kind":"cases","result_type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"type_name":"Bool"}},"kind":"fun"},"id":"v30","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[],"function":"v28","kind":"apply"}},"declaration":{"id":"v28","parameters":[{"borrow":false,"id":"v29","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"id":"v2","kind":"return"}},"kind":"fun"},"id":"v27","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v25","kind":"fvar"},{"kind":"erased"}],"function":"v19","kind":"apply"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v24","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v1","kind":"fvar"}],"function":"v23","kind":"apply"}},"id":"v23","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v22"}},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"declaration":{"id":"v19","parameters":[{"borrow":false,"id":"v20","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"alternatives":[{"code":{"id":"v18","kind":"return"},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"id":"v7","kind":"return"},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v20","kind":"cases","result_type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"type_name":"Bool"}},"kind":"fun"},"id":"v18","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v16","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.search"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v15","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v14"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v11"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"id":"v7","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"id":"v1","kind":"return"}},"kind":"fun"}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Recur.search","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v23","kind":"fvar"},{"id":"v24","kind":"fvar"}],"function":"v12","kind":"apply"}},"constructor":"Coverage.Syntax.Stmt.assign","kind":"constructor","parameters":[{"borrow":false,"id":"v23","type":{"kind":"const","levels":[],"name":"String"}},{"borrow":false,"id":"v24","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"}}]},{"code":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v26","kind":"fvar"},{"id":"v27","kind":"fvar"}],"function":"v22","kind":"apply"}},"constructor":"Coverage.Syntax.Stmt.sequence","kind":"constructor","parameters":[{"borrow":false,"id":"v26","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}},{"borrow":false,"id":"v27","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}}]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Coverage.Syntax.Stmt"},"id":"v22","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"},"kind":"arrow"},"value":{"arguments":[],"function":"v13","kind":"apply"}},"declaration":{"id":"v13","parameters":[{"borrow":false,"id":"v14","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}},{"borrow":false,"id":"v15","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v20","kind":"fvar"}],"function":"v18","kind":"apply"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.statementSize"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.statementSize"}},"id":"v18","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v17"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"String"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v7","kind":"fvar"},{"id":"v10","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v9"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.exprSize"}},"id":"v6","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Recur.statementSize","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}}],"recursive":true,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v20","kind":"fvar"}],"function":"v16","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}},{"borrow":false,"id":"v20","type":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"List"},"id":"v16","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}},{"borrow":false,"id":"v9","type":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.statementsSize"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Recur.statementSize"}},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v11"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Recur.statementsSize","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"function":"v9","kind":"apply"}},"constructor":"Coverage.Types.Shape.circle","kind":"constructor","parameters":[{"borrow":false,"id":"v22","type":{"kind":"const","levels":[],"name":"Nat"}}]},{"code":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v24","kind":"fvar"},{"id":"v25","kind":"fvar"}],"function":"v15","kind":"apply"}},"constructor":"Coverage.Types.Shape.rect","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v25","type":{"kind":"const","levels":[],"name":"Nat"}}]},{"code":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v27","kind":"fvar"}],"function":"v21","kind":"apply"}},"id":"v27","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Coverage.Types.Shape.empty","kind":"constructor","parameters":[]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Coverage.Types.Shape"},"id":"v21","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v16","kind":"apply"}},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v19"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v10","kind":"apply"}},"declaration":{"id":"v10","parameters":[{"borrow":false,"id":"v11","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v12","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v13","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.multiply"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instMulNat"}}},"kind":"fun"},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.multiply"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.multiply"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instMulNat"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Types.area","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Coverage.Types.Shape"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Types.Shape"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Coverage.Types.Weights"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.Weights.mk"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v1"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v0","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"level_parameters":[],"name":"Coverage.Types.defaultWeights","parameters":[],"recursive":false,"type":{"kind":"const","levels":[],"name":"Coverage.Types.Weights"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Nat.zero","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"function":"v8","kind":"apply"}},"constructor":"Nat.succ","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Nat"},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.isOdd"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Types.isEven","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":true,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Nat.zero","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"function":"v8","kind":"apply"}},"constructor":"Nat.succ","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Nat"},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.isEven"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Types.isOdd","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":true,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v7","kind":"apply"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v17","kind":"fvar"},{"id":"v18","kind":"fvar"}],"function":"v15","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v17","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v18","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"List"},"id":"v15","kind":"let","type":{"codomain":{"codomain":{"codomain":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"codomain":{"id":"v1","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"codomain":{"id":"v1","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"}},{"borrow":false,"id":"v10","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v11","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"codomain":{"id":"v1","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v12","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v13","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v9","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.mapList"}},"id":"v12","kind":"let","type":{"id":"v1","kind":"fvar"},"value":{"arguments":[{"id":"v10","kind":"fvar"}],"function":"v9","kind":"apply"}}},"kind":"fun"},"id":"v7","kind":"let","type":{"codomain":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"codomain":{"id":"v1","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"codomain":{"id":"v1","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"}}],"type":{"codomain":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"codomain":{"id":"v1","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"kind":"arrow"},"value":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v1","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.nil"}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Types.mapList","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"codomain":{"id":"v1","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"}},{"borrow":false,"id":"v3","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"codomain":{"index":1,"kind":"bvar"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v19","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Coverage.Types.Tree.leaf","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v21","kind":"fvar"},{"id":"v22","kind":"fvar"},{"id":"v23","kind":"fvar"}],"function":"v18","kind":"apply"}},"constructor":"Coverage.Types.Tree.node","kind":"constructor","parameters":[{"borrow":false,"id":"v21","type":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"}},{"borrow":false,"id":"v22","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v23","type":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"}}]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Coverage.Types.Tree"},"id":"v18","kind":"let","type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"}},{"borrow":false,"id":"v9","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v10","type":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"}}],"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v15","kind":"fvar"},{"id":"v16","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.treeSum"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v14","kind":"fvar"},{"id":"v9","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Coverage.Types.treeSum"}},"id":"v13","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v12"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"level_parameters":[],"name":"Coverage.Types.treeSum","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"}}],"recursive":true,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v0","kind":"apply"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"function":"v0","kind":"apply"}},"level_parameters":[],"name":"Coverage.Types.twice","parameters":[{"borrow":false,"id":"v0","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"kind":"arrow"}},{"code":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"index":0,"kind":"projection","type_name":"Coverage.Types.Box","value":"v1"}},"level_parameters":[],"name":"Coverage.Types.unbox","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Types.Box"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"index":1,"kind":"bvar"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Types.Box"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"alternatives":[{"code":{"body":{"body":{"id":"v43","kind":"return"},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v42","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v42","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v46","kind":"return"},"id":"v46","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v44","kind":"fvar"},{"id":"v45","kind":"fvar"}],"function":"v10","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v44","type":{"kind":"const","levels":[],"name":"Char"}},{"borrow":false,"id":"v45","type":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v1","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Ordering"},"type_name":"List"},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"alternatives":[{"code":{"body":{"id":"v49","kind":"return"},"id":"v49","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v47","kind":"fvar"},{"id":"v48","kind":"fvar"}],"function":"v15","kind":"apply"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v52","kind":"return"},"id":"v52","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v47","kind":"fvar"},{"id":"v48","kind":"fvar"},{"id":"v50","kind":"fvar"},{"id":"v51","kind":"fvar"}],"function":"v41","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v50","type":{"kind":"const","levels":[],"name":"Char"}},{"borrow":false,"id":"v51","type":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v1","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Ordering"},"type_name":"List"},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v47","type":{"kind":"const","levels":[],"name":"Char"}},{"borrow":false,"id":"v48","type":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Ordering"},"type_name":"List"},"id":"v41","kind":"let","type":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Char"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Char"},"kind":"arrow"},"value":{"arguments":[],"function":"v16","kind":"apply"}},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":[],"name":"Char"}},{"borrow":false,"id":"v18","type":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v19","type":{"kind":"const","levels":[],"name":"Char"}},{"borrow":false,"id":"v20","type":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Char"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Char"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v36","kind":"return"},"id":"v36","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v35","kind":"fvar"}],"function":"v24","kind":"apply"}},"id":"v35","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.eq","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v40","kind":"return"},"id":"v40","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"kind":"type","type":{"kind":"any"}}],"function":"v37","kind":"apply"}},"declaration":{"id":"v37","parameters":[{"borrow":false,"id":"v38","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v34","kind":"fvar"}],"function":"v27","kind":"apply"}}},"kind":"fun"},"kind":"default"}],"discriminant":"v34","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Ordering"},"type_name":"Ordering"},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v31","kind":"fvar"},{"id":"v33","kind":"fvar"}],"function":"v29","kind":"apply"}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"UInt32"},"value":{"index":0,"kind":"projection","type_name":"Char","value":"v19"}},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v30","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"UInt32"},"value":{"index":0,"kind":"projection","type_name":"Char","value":"v17"}},"id":"v29","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Ord","value":"v28"}},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Ord"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instOrdNat"}},"id":"v27","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Ordering"},"kind":"arrow"},"value":{"arguments":[],"function":"v25","kind":"apply"}},"declaration":{"id":"v25","parameters":[{"borrow":false,"id":"v26","type":{"kind":"const","levels":[],"name":"Ordering"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Ordering"},"kind":"arrow"},"value":{"id":"v26","kind":"return"}},"kind":"fun"},"id":"v24","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v21","kind":"apply"}},"declaration":{"id":"v21","parameters":[{"borrow":false,"id":"v22","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v18","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.compareCodes"}}},"kind":"fun"}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Char"},"kind":"arrow"},"value":{"arguments":[],"function":"v11","kind":"apply"}},"declaration":{"id":"v11","parameters":[{"borrow":false,"id":"v12","type":{"kind":"const","levels":[],"name":"Char"}},{"borrow":false,"id":"v13","type":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Char"},"kind":"arrow"},"value":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Ordering.gt"}}},"kind":"fun"},"id":"v10","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Char"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":[],"name":"Char"}},{"borrow":false,"id":"v8","type":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Char"},"kind":"arrow"},"value":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Ordering.lt"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Ordering.eq"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanCollections.compareCodes","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v29","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v33","kind":"return"},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v31","kind":"fvar"},{"id":"v32","kind":"fvar"}],"function":"v28","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v31","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v32","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v3","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"List"},"id":"v28","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v10","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"function":"v11","kind":"apply"}},"id":"v22","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.lt","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"function":"v15","kind":"apply"}},"id":"v24","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.eq","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v26","kind":"fvar"}],"function":"v19","kind":"apply"}},"id":"v26","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.gt","kind":"constructor","parameters":[]}],"discriminant":"v21","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Ordering"},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v9","kind":"fvar"}],"function":"v20","kind":"apply"}},"id":"v20","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanCollections.Key","value":"v1"}},"id":"v19","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v16","kind":"apply"}},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.containsElement"}}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"id":"v11","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}}},"kind":"fun"},"id":"v7","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanCollections.containsElement","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v3","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.foldl"}},"id":"v14","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v5","type":{"arguments":[{"id":"v0","kind":"fvar"},{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"},{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v6","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.foldl"}},"id":"v12","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v5"}},"id":"v11","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.insertElement"}},"id":"v10","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v5"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v8","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.insertElement"}}},"kind":"fun"}},"kind":"fun"},"level_parameters":[],"name":"LexLeanCollections.graphNodes","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"},{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v12","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.reachableFrom"}},"id":"v14","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v3","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v13","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v8","kind":"fvar"},{"id":"v11","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.lengthTR"}},"id":"v7","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.graphNodes"}},"id":"v6","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"level_parameters":[],"name":"LexLeanCollections.graphReachable","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"},{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"function":"v10","kind":"apply"}},"id":"v12","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"function":"v6","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v11","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Option"},"id":"v11","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.lookupEntry"}},"id":"v10","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.nil"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"id":"v5","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"LexLeanCollections.graphSuccessors","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"},{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v12","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.topological"}},"id":"v13","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v8","kind":"fvar"},{"id":"v11","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.lengthTR"}},"id":"v7","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"id":"v3","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.graphNodes"}},"level_parameters":[],"name":"LexLeanCollections.graphTopological","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"},{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v36","kind":"return"},"id":"v36","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v35","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v35","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v37","kind":"fvar"},{"id":"v38","kind":"fvar"}],"function":"v34","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v37","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v38","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"List"},"id":"v34","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v11","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v28","kind":"fvar"}],"function":"v16","kind":"apply"}},"id":"v28","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.lt","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v31","kind":"return"},"id":"v31","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v30","kind":"fvar"}],"function":"v20","kind":"apply"}},"id":"v30","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.eq","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v33","kind":"return"},"id":"v33","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"function":"v25","kind":"apply"}},"id":"v32","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.gt","kind":"constructor","parameters":[]}],"discriminant":"v27","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Ordering"},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v10","kind":"fvar"}],"function":"v26","kind":"apply"}},"id":"v26","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanCollections.Key","value":"v1"}},"id":"v25","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v21","kind":"apply"}},"declaration":{"id":"v21","parameters":[{"borrow":false,"id":"v22","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v10","kind":"fvar"},{"id":"v23","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v23","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.insertElement"}}},"kind":"fun"},"id":"v20","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}}},"kind":"fun"},"id":"v16","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v14","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}}},"kind":"fun"}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v6","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.nil"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanCollections.insertElement","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v44","kind":"return"},"id":"v44","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v43","kind":"fvar"}],"function":"v11","kind":"apply"}},"id":"v43","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"alternatives":[{"code":{"body":{"id":"v49","kind":"return"},"id":"v49","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v47","kind":"fvar"},{"id":"v48","kind":"fvar"},{"id":"v46","kind":"fvar"}],"function":"v42","kind":"apply"}},"constructor":"Prod.mk","kind":"constructor","parameters":[{"borrow":false,"id":"v47","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v48","type":{"id":"v1","kind":"fvar"}}]}],"discriminant":"v45","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Prod"},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v45","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v46","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v5","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"List"},"id":"v42","kind":"let","type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v14","type":{"id":"v1","kind":"fvar"}},{"borrow":false,"id":"v15","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v37","kind":"return"},"id":"v37","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v36","kind":"fvar"}],"function":"v22","kind":"apply"}},"id":"v36","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.lt","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v38","kind":"fvar"}],"function":"v27","kind":"apply"}},"id":"v38","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.eq","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v41","kind":"return"},"id":"v41","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v40","kind":"fvar"}],"function":"v33","kind":"apply"}},"id":"v40","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.gt","kind":"constructor","parameters":[]}],"discriminant":"v35","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Ordering"},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v13","kind":"fvar"}],"function":"v34","kind":"apply"}},"id":"v34","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanCollections.Key","value":"v2"}},"id":"v33","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v28","kind":"apply"}},"declaration":{"id":"v28","parameters":[{"borrow":false,"id":"v29","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v30","kind":"fvar"},{"id":"v31","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v31","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.insertEntry"}},"id":"v30","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}}},"kind":"fun"},"id":"v27","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v23","kind":"apply"}},"declaration":{"id":"v23","parameters":[{"borrow":false,"id":"v24","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v25","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v25","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}}},"kind":"fun"},"id":"v22","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v16","kind":"apply"}},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v18","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v20","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v19","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v19","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v18","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}}},"kind":"fun"}},"kind":"fun"},"id":"v11","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v9","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v8","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanCollections.insertEntry","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v4","type":{"id":"v1","kind":"fvar"}},{"borrow":false,"id":"v5","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":5,"kind":"bvar"},{"index":4,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"index":4,"kind":"bvar"},{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.Key.mk"}},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Ord","value":"v0"}},"id":"v0","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0"],"name":"Ord"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instOrdBool"}},"level_parameters":[],"name":"LexLeanCollections.instKeyBool","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"code":{"body":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.Key.mk"}},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Ord","value":"v0"}},"id":"v0","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Ord"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instOrdInt"}},"level_parameters":[],"name":"LexLeanCollections.instKeyInt","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"code":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.Key.mk"}},"declaration":{"id":"v0","parameters":[{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Int8"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Int8"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Int8.toInt"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Int8.toInt"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Ord","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Ord"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instOrdInt"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanCollections.instKeyInt8","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"code":{"body":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.Key.mk"}},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Ord","value":"v0"}},"id":"v0","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Ord"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instOrdNat"}},"level_parameters":[],"name":"LexLeanCollections.instKeyNat","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"code":{"body":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.Key.mk"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v6","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v21","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v21","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.eq","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"kind":"type","type":{"kind":"any"}}],"function":"v23","kind":"apply"}},"declaration":{"id":"v23","parameters":[{"borrow":false,"id":"v24","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"function":"v16","kind":"apply"}}},"kind":"fun"},"kind":"default"}],"discriminant":"v20","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Ordering"},"type_name":"Ordering"},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v18","kind":"fvar"},{"id":"v19","kind":"fvar"}],"function":"v17","kind":"apply"}},"id":"v19","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v6"}},"id":"v18","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v5"}},"id":"v17","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanCollections.Key","value":"v2"}},"id":"v16","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Ordering"},"kind":"arrow"},"value":{"arguments":[],"function":"v14","kind":"apply"}},"declaration":{"id":"v14","parameters":[{"borrow":false,"id":"v15","type":{"kind":"const","levels":[],"name":"Ordering"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Ordering"},"kind":"arrow"},"value":{"id":"v15","kind":"return"}},"kind":"fun"},"id":"v13","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"function":"v9","kind":"apply"}},"id":"v11","kind":"let","type":{"id":"v1","kind":"fvar"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v6"}},"id":"v10","kind":"let","type":{"id":"v1","kind":"fvar"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v5"}},"id":"v9","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanCollections.Key","value":"v3"}}},"kind":"fun"}},"kind":"fun"},"level_parameters":[],"name":"LexLeanCollections.instKeyProd","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":3,"kind":"bvar"},{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.Key.mk"}},"declaration":{"id":"v0","parameters":[{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"String"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"String"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.compareCodes"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"String.toList"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Char"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"String.toList"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanCollections.instKeyString","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"code":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.Key.mk"}},"declaration":{"id":"v0","parameters":[{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"UInt64"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.toNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.toNat"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Ord","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Ord"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instOrdNat"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanCollections.instKeyUInt64","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"function":"v6","kind":"apply"}},"constructor":"Nat.zero","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v14","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v12","kind":"apply"}},"constructor":"Nat.succ","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v2","kind":"cases","result_type":{"id":"v0","kind":"fvar"},"type_name":"Nat"},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v9","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.iterate"}},"id":"v10","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"function":"v1","kind":"apply"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"id":"v5","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"LexLeanCollections.iterate","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"codomain":{"index":1,"kind":"bvar"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"function":"v8","kind":"apply"}},"constructor":"Nat.zero","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v28","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v26","kind":"apply"}},"constructor":"Nat.succ","kind":"constructor","parameters":[{"borrow":false,"id":"v28","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v2","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Nat"},"id":"v26","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v11","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"function":"v16","kind":"apply"}},"id":"v22","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"function":"v20","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"id":"v0","kind":"fvar"}}]}],"discriminant":"v21","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Option"},"id":"v21","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"function":"v1","kind":"apply"}},"id":"v20","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.iterateUntil"}}},"kind":"fun"},"id":"v16","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v11","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanCollections.iterateUntil","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v1","kind":"fvar"},"value":{"arguments":[{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.foldl"}},"level_parameters":[],"name":"LexLeanCollections.listFold","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"codomain":{"codomain":{"id":"v1","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"}},{"borrow":false,"id":"v3","type":{"id":"v1","kind":"fvar"}},{"borrow":false,"id":"v4","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v31","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v31","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"alternatives":[{"code":{"body":{"id":"v37","kind":"return"},"id":"v37","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v35","kind":"fvar"},{"id":"v36","kind":"fvar"},{"id":"v34","kind":"fvar"}],"function":"v30","kind":"apply"}},"constructor":"Prod.mk","kind":"constructor","parameters":[{"borrow":false,"id":"v35","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v36","type":{"id":"v1","kind":"fvar"}}]}],"discriminant":"v33","kind":"cases","result_type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Prod"},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v33","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v34","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v4","kind":"cases","result_type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"List"},"id":"v30","kind":"let","type":{"codomain":{"codomain":{"codomain":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v11","type":{"id":"v1","kind":"fvar"}},{"borrow":false,"id":"v12","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v24","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.lt","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v26","kind":"fvar"}],"function":"v17","kind":"apply"}},"id":"v26","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.eq","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v28","kind":"fvar"}],"function":"v21","kind":"apply"}},"id":"v28","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.gt","kind":"constructor","parameters":[]}],"discriminant":"v23","kind":"cases","result_type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Ordering"},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v10","kind":"fvar"}],"function":"v22","kind":"apply"}},"id":"v22","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanCollections.Key","value":"v2"}},"id":"v21","kind":"let","type":{"codomain":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v18","kind":"apply"}},"declaration":{"id":"v18","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.lookupEntry"}}},"kind":"fun"},"id":"v17","kind":"let","type":{"codomain":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v14","kind":"apply"}},"declaration":{"id":"v14","parameters":[{"borrow":false,"id":"v15","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}}},"kind":"fun"},"id":"v13","kind":"let","type":{"codomain":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v1","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanCollections.lookupEntry","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v4","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"index":3,"kind":"bvar"},{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.isSome"}},"id":"v5","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.lookupEntry"}},"level_parameters":[],"name":"LexLeanCollections.mapContains","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v4","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"index":3,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"index":2,"kind":"bvar"},{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"id":"v2","kind":"return"},"level_parameters":[],"name":"LexLeanCollections.mapEntries","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":2,"kind":"bvar"},{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"},{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"id":"v2","kind":"fvar"},"value":{"arguments":[{"kind":"type","type":{"id":"v2","kind":"fvar"}},{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v6","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.foldl"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"id":"v2","kind":"fvar"}},{"borrow":false,"id":"v8","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"codomain":{"id":"v2","kind":"fvar"},"domain":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v2","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"id":"v2","kind":"fvar"},"value":{"arguments":[{"id":"v7","kind":"fvar"},{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"function":"v3","kind":"apply"}},"id":"v10","kind":"let","type":{"id":"v1","kind":"fvar"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v8"}},"id":"v9","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v8"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanCollections.mapFold","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v3","type":{"codomain":{"codomain":{"codomain":{"id":"v2","kind":"fvar"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v2","kind":"fvar"},"kind":"arrow"}},{"borrow":false,"id":"v4","type":{"id":"v2","kind":"fvar"}},{"borrow":false,"id":"v5","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"arguments":[{"arguments":[{"index":4,"kind":"bvar"},{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":3,"kind":"bvar"},"kind":"arrow"},"domain":{"index":3,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.insertEntry"}},"level_parameters":[],"name":"LexLeanCollections.mapInsert","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v4","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v5","type":{"id":"v1","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":5,"kind":"bvar"},{"index":4,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"index":3,"kind":"bvar"},"kind":"arrow"},"domain":{"index":3,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"index":2,"kind":"bvar"},{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v3","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.mapTR"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v4"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanCollections.mapKeys","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"},{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.lookupEntry"}},"level_parameters":[],"name":"LexLeanCollections.mapLookup","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v4","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"index":3,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"index":2,"kind":"bvar"},{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.removeEntry"}},"level_parameters":[],"name":"LexLeanCollections.mapRemove","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v4","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":4,"kind":"bvar"},{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"index":3,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"index":2,"kind":"bvar"},{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.lengthTR"}},"level_parameters":[],"name":"LexLeanCollections.mapSize","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"},{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v3","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.mapTR"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"id":"v1","kind":"fvar"},"domain":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v1","kind":"fvar"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v4"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanCollections.mapValues","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"},{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v68","kind":"return"},"id":"v68","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"function":"v9","kind":"apply"}},"constructor":"Nat.zero","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v70","kind":"return"},"id":"v70","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v69","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"function":"v67","kind":"apply"}},"constructor":"Nat.succ","kind":"constructor","parameters":[{"borrow":false,"id":"v69","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Nat"},"id":"v67","kind":"let","type":{"codomain":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v10","kind":"apply"}},"declaration":{"id":"v10","parameters":[{"borrow":false,"id":"v11","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v12","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v13","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v62","kind":"return"},"id":"v62","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v61","kind":"fvar"}],"function":"v51","kind":"apply"}},"id":"v61","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v66","kind":"return"},"id":"v66","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"any"}}],"function":"v63","kind":"apply"}},"declaration":{"id":"v63","parameters":[{"borrow":false,"id":"v64","type":{"kind":"erased"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"body":{"id":"v65","kind":"return"},"id":"v65","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v48","kind":"fvar"}],"function":"v60","kind":"apply"}}},"kind":"fun"},"kind":"default"}],"discriminant":"v48","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"List"},"id":"v60","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v52","kind":"apply"}},"declaration":{"id":"v52","parameters":[{"borrow":false,"id":"v53","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v59","kind":"return"},"id":"v59","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v48","kind":"fvar"},{"id":"v58","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.reachableFrom"}},"id":"v58","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v54","kind":"fvar"},{"id":"v13","kind":"fvar"},{"id":"v48","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.foldl"}},"declaration":{"id":"v54","parameters":[{"borrow":false,"id":"v55","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v56","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v57","kind":"return"},"id":"v57","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v56","kind":"fvar"},{"id":"v55","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.insertElement"}}},"kind":"fun"}},"kind":"fun"},"id":"v51","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v49","kind":"apply"}},"declaration":{"id":"v49","parameters":[{"borrow":false,"id":"v50","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"id":"v13","kind":"return"}},"kind":"fun"},"id":"v48","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v47","kind":"apply"}},"id":"v47","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v14","kind":"fvar"},{"id":"v46","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.foldl"}},"id":"v46","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"declaration":{"id":"v14","parameters":[{"borrow":false,"id":"v15","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v16","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v45","kind":"return"},"id":"v45","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v17","kind":"fvar"},{"id":"v15","kind":"fvar"},{"id":"v44","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.foldl"}},"id":"v44","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.graphSuccessors"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v19","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v42","kind":"fvar"}],"kind":"jump","target":"v36"},"id":"v42","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v43","kind":"fvar"}],"kind":"jump","target":"v39"},"id":"v43","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v28","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Bool"},"declaration":{"id":"v39","parameters":[{"borrow":false,"id":"v40","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v41","kind":"fvar"}],"kind":"jump","target":"v29"},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v40","kind":"fvar"}],"function":"v23","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v36","parameters":[{"borrow":false,"id":"v37","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v38","kind":"fvar"}],"kind":"jump","target":"v29"},"id":"v38","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v37","kind":"fvar"}],"function":"v27","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v29","parameters":[{"borrow":false,"id":"v30","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v34","kind":"return"},"id":"v34","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v19","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.insertElement"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v33","type":{"kind":"erased"}}]},{"code":{"id":"v18","kind":"return"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v35","type":{"kind":"erased"}}]}],"discriminant":"v32","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Decidable"},"id":"v32","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v30","kind":"fvar"},{"id":"v31","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"join"},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v19","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.containsElement"}},"id":"v27","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v24","kind":"apply"}},"declaration":{"id":"v24","parameters":[{"borrow":false,"id":"v25","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v19","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.containsElement"}}},"kind":"fun"},"id":"v23","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v20","kind":"apply"}},"declaration":{"id":"v20","parameters":[{"borrow":false,"id":"v21","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"}},"kind":"fun"}},"kind":"fun"}},"kind":"fun"},"id":"v9","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v8","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"id":"v8","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"LexLeanCollections.reachableFrom","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v4","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v5","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":5,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"index":4,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"},{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v33","kind":"return"},"id":"v33","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v32","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v36","kind":"return"},"id":"v36","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v34","kind":"fvar"},{"id":"v35","kind":"fvar"}],"function":"v31","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v34","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v35","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"List"},"id":"v31","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v10","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v25","kind":"fvar"}],"function":"v14","kind":"apply"}},"id":"v25","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.lt","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v27","kind":"fvar"}],"function":"v17","kind":"apply"}},"id":"v27","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.eq","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"function":"v22","kind":"apply"}},"id":"v29","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.gt","kind":"constructor","parameters":[]}],"discriminant":"v24","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Ordering"},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v9","kind":"fvar"}],"function":"v23","kind":"apply"}},"id":"v23","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanCollections.Key","value":"v1"}},"id":"v22","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v18","kind":"apply"}},"declaration":{"id":"v18","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v9","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v20","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.removeElement"}}},"kind":"fun"},"id":"v17","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v15","kind":"apply"}},"declaration":{"id":"v15","parameters":[{"borrow":false,"id":"v16","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"id":"v10","kind":"return"}},"kind":"fun"},"id":"v14","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v11","kind":"apply"}},"declaration":{"id":"v11","parameters":[{"borrow":false,"id":"v12","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}}},"kind":"fun"}},"kind":"fun"},"id":"v7","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.nil"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanCollections.removeElement","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v37","kind":"return"},"id":"v37","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v36","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v36","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"alternatives":[{"code":{"body":{"id":"v42","kind":"return"},"id":"v42","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v40","kind":"fvar"},{"id":"v41","kind":"fvar"},{"id":"v39","kind":"fvar"}],"function":"v35","kind":"apply"}},"constructor":"Prod.mk","kind":"constructor","parameters":[{"borrow":false,"id":"v40","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v41","type":{"id":"v1","kind":"fvar"}}]}],"discriminant":"v38","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Prod"},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v38","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v39","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v4","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"List"},"id":"v35","kind":"let","type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v11","type":{"id":"v1","kind":"fvar"}},{"borrow":false,"id":"v12","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"function":"v17","kind":"apply"}},"id":"v29","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.lt","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v31","kind":"fvar"}],"function":"v20","kind":"apply"}},"id":"v31","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.eq","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v34","kind":"return"},"id":"v34","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"function":"v26","kind":"apply"}},"id":"v33","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.gt","kind":"constructor","parameters":[]}],"discriminant":"v28","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Ordering"},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v10","kind":"fvar"}],"function":"v27","kind":"apply"}},"id":"v27","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanCollections.Key","value":"v2"}},"id":"v26","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v21","kind":"apply"}},"declaration":{"id":"v21","parameters":[{"borrow":false,"id":"v22","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v23","kind":"fvar"},{"id":"v24","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v24","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.removeEntry"}},"id":"v23","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}}},"kind":"fun"},"id":"v20","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v18","kind":"apply"}},"declaration":{"id":"v18","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"id":"v12","kind":"return"}},"kind":"fun"},"id":"v17","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v13","kind":"apply"}},"declaration":{"id":"v13","parameters":[{"borrow":false,"id":"v14","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v15","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v15","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}}},"kind":"fun"}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"List.nil"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanCollections.removeEntry","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v4","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":4,"kind":"bvar"},{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"index":3,"kind":"bvar"},{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.containsElement"}},"level_parameters":[],"name":"LexLeanCollections.setContains","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v4","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.filterTR"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Bool.not"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.containsElement"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanCollections.setDifference","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"id":"v1","kind":"return"},"level_parameters":[],"name":"LexLeanCollections.setElements","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v1","kind":"fvar"},"value":{"arguments":[{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.foldl"}},"level_parameters":[],"name":"LexLeanCollections.setFold","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"codomain":{"codomain":{"id":"v1","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"}},{"borrow":false,"id":"v3","type":{"id":"v1","kind":"fvar"}},{"borrow":false,"id":"v4","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.insertElement"}},"level_parameters":[],"name":"LexLeanCollections.setInsert","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v4","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.filterTR"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.containsElement"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanCollections.setIntersection","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.removeElement"}},"level_parameters":[],"name":"LexLeanCollections.setRemove","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.lengthTR"}},"level_parameters":[],"name":"LexLeanCollections.setSize","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v4","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.foldl"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v6","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v6","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.insertElement"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanCollections.setUnion","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v55","kind":"return"},"id":"v55","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"function":"v17","kind":"apply"}},"constructor":"Nat.zero","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v57","kind":"return"},"id":"v57","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v56","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"function":"v54","kind":"apply"}},"constructor":"Nat.succ","kind":"constructor","parameters":[{"borrow":false,"id":"v56","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Nat"},"id":"v54","kind":"let","type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v18","kind":"apply"}},"declaration":{"id":"v18","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v20","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v21","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v50","kind":"return"},"id":"v50","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v49","kind":"fvar"}],"function":"v32","kind":"apply"}},"id":"v49","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v53","kind":"return"},"id":"v53","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v51","kind":"fvar"},{"id":"v52","kind":"fvar"}],"function":"v39","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v51","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v52","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v48","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"List"},"id":"v48","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v40","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.filterTR"}},"declaration":{"id":"v40","parameters":[{"borrow":false,"id":"v41","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"id":"v47","kind":"return"},"id":"v47","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v20","kind":"fvar"},{"id":"v42","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.all"}},"declaration":{"id":"v42","parameters":[{"borrow":false,"id":"v43","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v46","kind":"return"},"id":"v46","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v45","kind":"fvar"}],"kind":"const","levels":[],"name":"Bool.not"}},"id":"v45","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v41","kind":"fvar"},{"id":"v44","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.containsElement"}},"id":"v44","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v43","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.graphSuccessors"}}},"kind":"fun"}},"kind":"fun"},"id":"v39","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v33","kind":"apply"}},"declaration":{"id":"v33","parameters":[{"borrow":false,"id":"v34","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v35","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v38","kind":"return"},"id":"v38","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v19","kind":"fvar"},{"id":"v36","kind":"fvar"},{"id":"v37","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.topological"}},"id":"v37","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v34","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v36","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v34","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.removeElement"}}},"kind":"fun"},"id":"v32","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v22","kind":"apply"}},"declaration":{"id":"v22","parameters":[{"borrow":false,"id":"v23","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v27","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v31","kind":"return"},"id":"v31","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v30","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v30","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.reverse"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v29","type":{"kind":"erased"}}]}],"discriminant":"v26","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v26","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v24","kind":"fvar"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.isEmpty"}}},"kind":"fun"}},"kind":"fun"},"id":"v17","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v8","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v15","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.reverse"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"kind":"erased"}}]}],"discriminant":"v11","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v11","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.isEmpty"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanCollections.topological","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v4","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v5","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":5,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"index":4,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"},{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanRuntime.Appendable","value":"v1"}},"level_parameters":[],"name":"LexLeanRuntime.append","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":4,"kind":"projection","type_name":"LexLeanRuntime.Fixed","value":"v1"}},"level_parameters":[],"name":"LexLeanRuntime.bitAnd","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v3","kind":"apply"}},"id":"v3","kind":"let","type":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":7,"kind":"projection","type_name":"LexLeanRuntime.Fixed","value":"v1"}},"level_parameters":[],"name":"LexLeanRuntime.bitNot","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":5,"kind":"projection","type_name":"LexLeanRuntime.Fixed","value":"v1"}},"level_parameters":[],"name":"LexLeanRuntime.bitOr","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":6,"kind":"projection","type_name":"LexLeanRuntime.Fixed","value":"v1"}},"level_parameters":[],"name":"LexLeanRuntime.bitXor","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.checkedFromInt"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanRuntime.ToMathInt","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"LexLeanRuntime.Fixed","value":"v1"}},"id":"v6","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"const","levels":[],"name":"Int"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instAdd"}},"level_parameters":[],"name":"LexLeanRuntime.checkedAdd","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v70","kind":"fvar"}],"kind":"jump","target":"v67"},"id":"v70","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v71","kind":"fvar"}],"kind":"jump","target":"v64"},"id":"v71","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v45","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Bool"},"declaration":{"id":"v67","parameters":[{"borrow":false,"id":"v68","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v69","kind":"fvar"}],"kind":"jump","target":"v46"},"id":"v69","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v68","kind":"fvar"}],"function":"v35","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v64","parameters":[{"borrow":false,"id":"v65","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v66","kind":"fvar"}],"kind":"jump","target":"v46"},"id":"v66","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v65","kind":"fvar"}],"function":"v40","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v46","parameters":[{"borrow":false,"id":"v47","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v62","kind":"fvar"}],"kind":"jump","target":"v56"},"id":"v62","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v63","kind":"fvar"}],"kind":"jump","target":"v59"},"id":"v63","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v47","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Bool"},"declaration":{"id":"v59","parameters":[{"borrow":false,"id":"v60","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v61","kind":"fvar"}],"kind":"jump","target":"v48"},"id":"v61","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v60","kind":"fvar"}],"function":"v10","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v56","parameters":[{"borrow":false,"id":"v57","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v58","kind":"fvar"}],"kind":"jump","target":"v48"},"id":"v58","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v57","kind":"fvar"}],"function":"v31","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v48","parameters":[{"borrow":false,"id":"v49","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v53","kind":"return"},"id":"v53","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v52","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v55","kind":"return"},"id":"v55","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v54","type":{"kind":"erased"}}]}],"discriminant":"v51","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v51","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v49","kind":"fvar"},{"id":"v50","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v50","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"join"}},"kind":"join"},"id":"v45","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v44","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v44","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v43","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.decLt"}},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v42"}},"id":"v42","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.instOfNat"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v40","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v36","kind":"apply"}},"declaration":{"id":"v36","parameters":[{"borrow":false,"id":"v37","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v38","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v38","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.decLt"}}},"kind":"fun"},"id":"v35","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v32","kind":"apply"}},"declaration":{"id":"v32","parameters":[{"borrow":false,"id":"v33","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v34","kind":"return"},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"id":"v31","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v11","kind":"apply"}},"declaration":{"id":"v11","parameters":[{"borrow":false,"id":"v12","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v27","kind":"fvar"}],"function":"v16","kind":"apply"}},"id":"v27","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"function":"v21","kind":"apply"}},"id":"v29","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v26","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v25","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v24","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.decLt"}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v23"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.instOfNat"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v21","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.decLt"}}},"kind":"fun"},"id":"v16","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v13","kind":"apply"}},"declaration":{"id":"v13","parameters":[{"borrow":false,"id":"v14","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"}},"kind":"fun"},"id":"v10","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int64"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"},{"kind":"const","levels":[],"name":"Int64"},{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddInt64"}},"level_parameters":[],"name":"LexLeanRuntime.checkedAddInt64","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Int64"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Int64"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"id":"v3","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.checkedFromInt"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v4","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanRuntime.ToMathInt","value":"v2"}},"level_parameters":[],"name":"LexLeanRuntime.checkedConvert","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v4","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"index":3,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v10","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v9","kind":"apply"}},"id":"v9","kind":"let","type":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":1,"kind":"projection","type_name":"LexLeanRuntime.Fixed","value":"v1"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v8","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"kind":"erased"}}]}],"discriminant":"v7","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v7","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Int.decLt"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":3,"kind":"projection","type_name":"LexLeanRuntime.Fixed","value":"v1"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v5","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"kind":"erased"}}]}],"discriminant":"v4","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Int.decLt"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":2,"kind":"projection","type_name":"LexLeanRuntime.Fixed","value":"v1"}},"level_parameters":[],"name":"LexLeanRuntime.checkedFromInt","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Int"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.checkedFromInt"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanRuntime.ToMathInt","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"LexLeanRuntime.Fixed","value":"v1"}},"id":"v6","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HMul","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"const","levels":[],"name":"Int"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HMul"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHMul"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instMul"}},"level_parameters":[],"name":"LexLeanRuntime.checkedMultiply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v31","kind":"return"},"id":"v31","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v30","kind":"fvar"}],"function":"v16","kind":"apply"}},"id":"v30","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v33","kind":"return"},"id":"v33","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"function":"v21","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v32","type":{"kind":"const","levels":[],"name":"UInt64"}}]}],"discriminant":"v29","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v24","kind":"fvar"},{"id":"v25","kind":"fvar"},{"id":"v26","kind":"fvar"},{"id":"v28","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.multiplyMagnitudeInt64"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v27"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.instOfNat"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.magnitudeInt64"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.magnitudeInt64"}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v23"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"64"}}},"id":"v21","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"UInt64"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"body":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[{"id":"v12","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.signedMagnitudeInt64"}}},"kind":"fun"},"id":"v16","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v13","kind":"apply"}},"declaration":{"id":"v13","parameters":[{"borrow":false,"id":"v14","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"function":"v11","kind":"apply"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v3","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"bne"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.decLt"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.decLt"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.instOfNat"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instBEqOfDecidableEq"}},"id":"v2","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"level_parameters":[],"name":"LexLeanRuntime.checkedMultiplyInt64","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Int64"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Int64"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.checkedFromInt"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v6","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanRuntime.ToMathInt","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"LexLeanRuntime.Fixed","value":"v1"}},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instNegInt"}},"level_parameters":[],"name":"LexLeanRuntime.checkedNegate","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"function":"v5","kind":"apply"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v16","type":{"kind":"erased"}}]}],"discriminant":"v12","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v12","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v9","kind":"fvar"}],"function":"v3","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.instOfNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9223372036854775808"}}},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int64"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int64.instNeg"}},"id":"v3","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"BEq","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instBEqOfDecidableEq"}},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instDecidableEqInt64"}},"level_parameters":[],"name":"LexLeanRuntime.checkedNegateInt64","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Int64"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.checkedFromInt"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v12","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Int.tdiv"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v5","kind":"apply"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v15","type":{"kind":"erased"}}]}],"discriminant":"v10","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v10","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Int.instDecidableEq"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v8"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanRuntime.ToMathInt","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"LexLeanRuntime.Fixed","value":"v1"}},"level_parameters":[],"name":"LexLeanRuntime.checkedQuotient","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v63","kind":"fvar"}],"kind":"jump","target":"v57"},"id":"v63","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v64","kind":"fvar"}],"kind":"jump","target":"v60"},"id":"v64","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v32","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Bool"},"declaration":{"id":"v60","parameters":[{"borrow":false,"id":"v61","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v62","kind":"fvar"}],"kind":"jump","target":"v33"},"id":"v62","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v61","kind":"fvar"}],"function":"v25","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v57","parameters":[{"borrow":false,"id":"v58","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v59","kind":"fvar"}],"kind":"jump","target":"v33"},"id":"v59","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v58","kind":"fvar"}],"function":"v15","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v33","parameters":[{"borrow":false,"id":"v34","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v54","kind":"return"},"id":"v54","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}},{"id":"v53","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v53","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[{"id":"v44","kind":"fvar"},{"id":"v52","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.signedMagnitudeInt64"}},"id":"v52","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v47","kind":"fvar"},{"id":"v48","kind":"fvar"},{"id":"v49","kind":"fvar"},{"id":"v51","kind":"fvar"},{"id":"v51","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.divideMagnitudeInt64"}},"id":"v51","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v50"}},"id":"v50","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.instOfNat"}},"id":"v49","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.magnitudeInt64"}},"id":"v48","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.magnitudeInt64"}},"id":"v47","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v46"}},"id":"v46","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v45","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v45","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"64"}}},"id":"v44","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"function":"v43","kind":"apply"}},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v38","kind":"fvar"},{"id":"v40","kind":"fvar"},{"id":"v42","kind":"fvar"}],"kind":"const","levels":["0"],"name":"bne"}},"id":"v42","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v41","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.decLt"}},"id":"v40","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v39","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v39","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.decLt"}},"id":"v38","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v37","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instBEqOfDecidableEq"}},"id":"v37","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v36","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v56","kind":"return"},"id":"v56","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v55","type":{"kind":"erased"}}]}],"discriminant":"v35","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v35","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v34","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}}},"kind":"join"},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v31","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[{"id":"v30","kind":"fvar"}],"function":"v27","kind":"apply"}},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v29"}},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v28","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.instOfNat"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9223372036854775808"}}},"id":"v27","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int64"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v26"}},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int64.instNeg"}},"id":"v25","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v16","kind":"apply"}},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v23","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"function":"v19","kind":"apply"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v21"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.instOfNat"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v19","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int64"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v18"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int64.instNeg"}}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v66","kind":"return"},"id":"v66","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v65","type":{"kind":"erased"}}]}],"discriminant":"v10","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v10","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v7","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.instOfNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"BEq","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instBEqOfDecidableEq"}},"id":"v2","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instDecidableEqInt64"}},"level_parameters":[],"name":"LexLeanRuntime.checkedQuotientInt64","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Int64"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Int64"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.checkedFromInt"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanRuntime.ToMathInt","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"LexLeanRuntime.Fixed","value":"v1"}},"id":"v6","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HSub","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"const","levels":[],"name":"Int"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HSub"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHSub"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instSub"}},"level_parameters":[],"name":"LexLeanRuntime.checkedSubtract","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v70","kind":"fvar"}],"kind":"jump","target":"v67"},"id":"v70","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v71","kind":"fvar"}],"kind":"jump","target":"v64"},"id":"v71","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v45","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Bool"},"declaration":{"id":"v67","parameters":[{"borrow":false,"id":"v68","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v69","kind":"fvar"}],"kind":"jump","target":"v46"},"id":"v69","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v68","kind":"fvar"}],"function":"v35","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v64","parameters":[{"borrow":false,"id":"v65","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v66","kind":"fvar"}],"kind":"jump","target":"v46"},"id":"v66","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v65","kind":"fvar"}],"function":"v40","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v46","parameters":[{"borrow":false,"id":"v47","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v62","kind":"fvar"}],"kind":"jump","target":"v56"},"id":"v62","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v63","kind":"fvar"}],"kind":"jump","target":"v59"},"id":"v63","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v47","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Bool"},"declaration":{"id":"v59","parameters":[{"borrow":false,"id":"v60","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v61","kind":"fvar"}],"kind":"jump","target":"v48"},"id":"v61","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v60","kind":"fvar"}],"function":"v10","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v56","parameters":[{"borrow":false,"id":"v57","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v58","kind":"fvar"}],"kind":"jump","target":"v48"},"id":"v58","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v57","kind":"fvar"}],"function":"v31","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v48","parameters":[{"borrow":false,"id":"v49","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v53","kind":"return"},"id":"v53","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v52","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v55","kind":"return"},"id":"v55","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v54","type":{"kind":"erased"}}]}],"discriminant":"v51","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v51","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v49","kind":"fvar"},{"id":"v50","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v50","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"join"}},"kind":"join"},"id":"v45","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v44","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v44","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v43","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.decLt"}},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v42"}},"id":"v42","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.instOfNat"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v40","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v36","kind":"apply"}},"declaration":{"id":"v36","parameters":[{"borrow":false,"id":"v37","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v38","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v38","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.decLt"}}},"kind":"fun"},"id":"v35","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v32","kind":"apply"}},"declaration":{"id":"v32","parameters":[{"borrow":false,"id":"v33","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v34","kind":"return"},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"id":"v31","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v11","kind":"apply"}},"declaration":{"id":"v11","parameters":[{"borrow":false,"id":"v12","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v27","kind":"fvar"}],"function":"v16","kind":"apply"}},"id":"v27","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"function":"v21","kind":"apply"}},"id":"v29","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v26","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v25","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v24","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.decLt"}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v23"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.instOfNat"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v21","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.decLt"}}},"kind":"fun"},"id":"v16","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v13","kind":"apply"}},"declaration":{"id":"v13","parameters":[{"borrow":false,"id":"v14","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"}},"kind":"fun"},"id":"v10","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int64"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HSub","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"},{"kind":"const","levels":[],"name":"Int64"},{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HSub"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHSub"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubInt64"}},"level_parameters":[],"name":"LexLeanRuntime.checkedSubtractInt64","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Int64"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Int64"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"ByteArray.toList"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"ByteArray.toList"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Ord","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Ord"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.instOrd"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Ord"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt8.instOrd"}},"level_parameters":[],"name":"LexLeanRuntime.compareBytes","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"ByteArray"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"ByteArray"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"ByteArray"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v55","kind":"return"},"id":"v55","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"function":"v10","kind":"apply"}},"constructor":"Nat.zero","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v57","kind":"return"},"id":"v57","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v56","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"function":"v54","kind":"apply"}},"constructor":"Nat.succ","kind":"constructor","parameters":[{"borrow":false,"id":"v56","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"UInt64"},"type_name":"Nat"},"id":"v54","kind":"let","type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v11","kind":"apply"}},"declaration":{"id":"v11","parameters":[{"borrow":false,"id":"v12","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v13","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v14","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v15","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v16","type":{"kind":"const","levels":[],"name":"UInt64"}}],"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"arguments":[{"id":"v49","kind":"fvar"}],"kind":"jump","target":"v27"},"id":"v49","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v48"}},"id":"v48","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v47","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.instOfNat"}},"id":"v47","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v46","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"arguments":[{"id":"v53","kind":"fvar"}],"kind":"jump","target":"v27"},"id":"v53","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v52"}},"id":"v52","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v51","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.instOfNat"}},"id":"v51","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v50","type":{"kind":"erased"}}]}],"discriminant":"v26","kind":"cases","result_type":{"kind":"const","levels":[],"name":"UInt64"},"type_name":"Decidable"},"declaration":{"id":"v27","parameters":[{"borrow":false,"id":"v28","type":{"kind":"const","levels":[],"name":"UInt64"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v35","kind":"return"},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v12","kind":"fvar"},{"id":"v21","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v30","kind":"fvar"},{"id":"v32","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.divideMagnitudeInt64"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v34","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v45","kind":"return"},"id":"v45","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v12","kind":"fvar"},{"id":"v21","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v40","kind":"fvar"},{"id":"v44","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.divideMagnitudeInt64"}},"id":"v44","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v32","kind":"fvar"},{"id":"v43","kind":"fvar"}],"function":"v19","kind":"apply"}},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v42"}},"id":"v42","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.instOfNat"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v40","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v30","kind":"fvar"},{"id":"v14","kind":"fvar"}],"function":"v39","kind":"apply"}},"id":"v39","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HSub","value":"v38"}},"id":"v38","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"const","levels":[],"name":"UInt64"},{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HSub"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}},{"id":"v37","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHSub"}},"id":"v37","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubUInt64"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v36","type":{"kind":"erased"}}]}],"discriminant":"v33","kind":"cases","result_type":{"kind":"const","levels":[],"name":"UInt64"},"type_name":"Decidable"},"id":"v33","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v14","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.decLe"}},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[],"function":"v31","kind":"apply"}},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v16","kind":"fvar"},{"id":"v16","kind":"fvar"}],"function":"v19","kind":"apply"}},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[],"function":"v29","kind":"apply"}},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v22","kind":"fvar"},{"id":"v28","kind":"fvar"}],"function":"v19","kind":"apply"}}},"kind":"join"},"id":"v26","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v25","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.decLe"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v24"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.instOfNat"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9223372036854775808"}}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v15","kind":"fvar"},{"id":"v15","kind":"fvar"}],"function":"v19","kind":"apply"}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[],"function":"v20","kind":"apply"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v13","kind":"fvar"}],"function":"v19","kind":"apply"}},"id":"v19","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v18"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"const","levels":[],"name":"UInt64"},{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}},{"id":"v17","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddUInt64"}}},"kind":"fun"},"id":"v10","kind":"let","type":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v7","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v8","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v9","type":{"kind":"const","levels":[],"name":"UInt64"}}],"type":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"id":"v9","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"LexLeanRuntime.divideMagnitudeInt64","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"UInt64"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"BEq","value":"v1"}},"level_parameters":[],"name":"LexLeanRuntime.equal","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"String"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v3","kind":"apply"}},"id":"v3","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"String"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":1,"kind":"projection","type_name":"LexLeanRuntime.Decimal","value":"v1"}},"level_parameters":[],"name":"LexLeanRuntime.formatDecimal","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Decimal"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"String"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Decimal"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanRuntime.Indexable","value":"v2"}},"level_parameters":[],"name":"LexLeanRuntime.index","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Indexable"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"},{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Indexable"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable.mk"}},"id":"v0","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"ByteArray"},"domain":{"kind":"const","levels":[],"name":"ByteArray"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"ByteArray"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"ByteArray.fastAppend"}},"level_parameters":[],"name":"LexLeanRuntime.instAppendableByteArray","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable.mk"}},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.appendTR"}},"level_parameters":[],"name":"LexLeanRuntime.instAppendableList","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Decimal"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v0","kind":"fvar"},{"id":"v23","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.Decimal.mk"}},"id":"v23","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"String"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"ToString","value":"v22"}},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"ToString"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instToStringInt"}},"declaration":{"id":"v0","parameters":[{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"String"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"function":"v16","kind":"apply"}},"id":"v18","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"function":"v12","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v20","type":{"kind":"const","levels":[],"name":"Int"}}]}],"discriminant":"v17","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"String.toInt?"}},"id":"v16","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v13","kind":"apply"}},"declaration":{"id":"v13","parameters":[{"borrow":false,"id":"v14","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"id":"v12","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v8","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v10","type":{"kind":"erased"}}]}],"discriminant":"v7","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v7","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqString"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"String"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"String"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"ToString","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"ToString"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instToStringInt"}}},"kind":"fun"}},"kind":"fun"},"level_parameters":[],"name":"LexLeanRuntime.instDecimalInt","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Decimal"},"kind":"app"}},{"code":{"body":{"body":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Decimal"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v3","kind":"fvar"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.Decimal.mk"}},"id":"v25","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"String"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"ToString","value":"v2"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"String"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v21","kind":"fvar"}],"function":"v19","kind":"apply"}},"id":"v21","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"function":"v15","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v23","type":{"kind":"const","levels":[],"name":"Int"}}]}],"discriminant":"v20","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"String.toInt?"}},"id":"v19","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v16","kind":"apply"}},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.checkedFromInt"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"kind":"erased"}}]}],"discriminant":"v10","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v10","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqString"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"String"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"String"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"ToString","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"ToString"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instToStringInt"}}},"kind":"fun"}},"kind":"fun"},"level_parameters":[],"name":"LexLeanRuntime.instDecimalOfFixedOfToString","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"ToString"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Decimal"},"kind":"app"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"ToString"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v44","kind":"return"},"id":"v44","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int16"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v15","kind":"fvar"},{"id":"v16","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed.mk"}},"declaration":{"id":"v30","parameters":[{"borrow":false,"id":"v31","type":{"kind":"const","levels":[],"name":"Int16"}},{"borrow":false,"id":"v32","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int16"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int16"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v38","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v43","kind":"return"},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int16"}},{"id":"v42","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v42","kind":"let","type":{"kind":"const","levels":[],"name":"Int16"},"value":{"arguments":[{"id":"v31","kind":"fvar"},{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"Int16.shiftRight"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Int16"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"kind":"const","levels":[],"name":"Int16.ofNat"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v40","type":{"kind":"erased"}}]}],"discriminant":"v37","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v37","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"},{"id":"v36","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v36","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v35"}},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v34","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"16"}}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":[],"name":"Int16"}},{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int16"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int16"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int16"}},{"id":"v28","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Int16"},"value":{"arguments":[{"id":"v17","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":[],"name":"Int16.shiftLeft"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Int16"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"kind":"const","levels":[],"name":"Int16.ofNat"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v26","type":{"kind":"erased"}}]}],"discriminant":"v23","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v23","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v21"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"16"}}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int16"},"domain":{"kind":"const","levels":[],"name":"Int16"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int16.complement"}},"id":"v14","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int16"},"domain":{"kind":"const","levels":[],"name":"Int16"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int16"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int16.xor"}},"id":"v13","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int16"},"domain":{"kind":"const","levels":[],"name":"Int16"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int16"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int16.lor"}},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int16"},"domain":{"kind":"const","levels":[],"name":"Int16"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int16"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int16.land"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"32767"}}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"32768"}}},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instNegInt"}},"id":"v2","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int16"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int16.ofInt"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int16"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt.mk"}},"id":"v0","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int16"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int16.toInt"}},"level_parameters":[],"name":"LexLeanRuntime.instFixedInt16","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Int16"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v44","kind":"return"},"id":"v44","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int32"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v15","kind":"fvar"},{"id":"v16","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed.mk"}},"declaration":{"id":"v30","parameters":[{"borrow":false,"id":"v31","type":{"kind":"const","levels":[],"name":"Int32"}},{"borrow":false,"id":"v32","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int32"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int32"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v38","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v43","kind":"return"},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int32"}},{"id":"v42","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v42","kind":"let","type":{"kind":"const","levels":[],"name":"Int32"},"value":{"arguments":[{"id":"v31","kind":"fvar"},{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"Int32.shiftRight"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Int32"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"kind":"const","levels":[],"name":"Int32.ofNat"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v40","type":{"kind":"erased"}}]}],"discriminant":"v37","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v37","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"},{"id":"v36","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v36","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v35"}},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v34","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"32"}}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":[],"name":"Int32"}},{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int32"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int32"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int32"}},{"id":"v28","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Int32"},"value":{"arguments":[{"id":"v17","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":[],"name":"Int32.shiftLeft"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Int32"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"kind":"const","levels":[],"name":"Int32.ofNat"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v26","type":{"kind":"erased"}}]}],"discriminant":"v23","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v23","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v21"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"32"}}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int32"},"domain":{"kind":"const","levels":[],"name":"Int32"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int32.complement"}},"id":"v14","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int32"},"domain":{"kind":"const","levels":[],"name":"Int32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int32"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int32.xor"}},"id":"v13","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int32"},"domain":{"kind":"const","levels":[],"name":"Int32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int32"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int32.lor"}},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int32"},"domain":{"kind":"const","levels":[],"name":"Int32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int32"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int32.land"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2147483647"}}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2147483648"}}},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instNegInt"}},"id":"v2","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int32"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int32.ofInt"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int32"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt.mk"}},"id":"v0","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int32"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int32.toInt"}},"level_parameters":[],"name":"LexLeanRuntime.instFixedInt32","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Int32"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v44","kind":"return"},"id":"v44","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v15","kind":"fvar"},{"id":"v16","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed.mk"}},"declaration":{"id":"v30","parameters":[{"borrow":false,"id":"v31","type":{"kind":"const","levels":[],"name":"Int64"}},{"borrow":false,"id":"v32","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v38","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v43","kind":"return"},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}},{"id":"v42","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v42","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[{"id":"v31","kind":"fvar"},{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.shiftRight"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.ofNat"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v40","type":{"kind":"erased"}}]}],"discriminant":"v37","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v37","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"},{"id":"v36","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v36","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v35"}},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v34","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"64"}}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":[],"name":"Int64"}},{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}},{"id":"v28","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[{"id":"v17","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.shiftLeft"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.ofNat"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v26","type":{"kind":"erased"}}]}],"discriminant":"v23","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v23","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v21"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"64"}}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int64"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int64.complement"}},"id":"v14","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int64"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int64.xor"}},"id":"v13","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int64"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int64.lor"}},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int64"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int64.land"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9223372036854775807"}}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9223372036854775808"}}},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instNegInt"}},"id":"v2","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int64"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int64.ofInt"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int64"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt.mk"}},"id":"v0","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int64.toInt"}},"level_parameters":[],"name":"LexLeanRuntime.instFixedInt64","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v44","kind":"return"},"id":"v44","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v15","kind":"fvar"},{"id":"v16","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed.mk"}},"declaration":{"id":"v30","parameters":[{"borrow":false,"id":"v31","type":{"kind":"const","levels":[],"name":"Int8"}},{"borrow":false,"id":"v32","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v38","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v43","kind":"return"},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}},{"id":"v42","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v42","kind":"let","type":{"kind":"const","levels":[],"name":"Int8"},"value":{"arguments":[{"id":"v31","kind":"fvar"},{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"Int8.shiftRight"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Int8"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"kind":"const","levels":[],"name":"Int8.ofNat"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v40","type":{"kind":"erased"}}]}],"discriminant":"v37","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v37","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"},{"id":"v36","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v36","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v35"}},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v34","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"8"}}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":[],"name":"Int8"}},{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}},{"id":"v28","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Int8"},"value":{"arguments":[{"id":"v17","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":[],"name":"Int8.shiftLeft"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Int8"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"kind":"const","levels":[],"name":"Int8.ofNat"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v26","type":{"kind":"erased"}}]}],"discriminant":"v23","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v23","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v21"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"8"}}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int8"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int8.complement"}},"id":"v14","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int8"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int8.xor"}},"id":"v13","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int8"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int8.lor"}},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int8"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int8.land"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"127"}}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"128"}}},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instNegInt"}},"id":"v2","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int8"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int8.ofInt"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int8"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt.mk"}},"id":"v0","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int8"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int8.toInt"}},"level_parameters":[],"name":"LexLeanRuntime.instFixedInt8","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Int8"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v44","kind":"return"},"id":"v44","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v15","kind":"fvar"},{"id":"v16","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed.mk"}},"declaration":{"id":"v30","parameters":[{"borrow":false,"id":"v31","type":{"kind":"const","levels":[],"name":"UInt16"}},{"borrow":false,"id":"v32","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt16"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v38","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v43","kind":"return"},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"id":"v42","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v42","kind":"let","type":{"kind":"const","levels":[],"name":"UInt16"},"value":{"arguments":[{"id":"v31","kind":"fvar"},{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt16.shiftRight"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"UInt16"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt16.ofNat"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v40","type":{"kind":"erased"}}]}],"discriminant":"v37","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v37","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"},{"id":"v36","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v36","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v35"}},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v34","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"16"}}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":[],"name":"UInt16"}},{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt16"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"id":"v28","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"UInt16"},"value":{"arguments":[{"id":"v17","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt16.shiftLeft"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"UInt16"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt16.ofNat"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v26","type":{"kind":"erased"}}]}],"discriminant":"v23","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v23","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v21"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"16"}}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"UInt16"},"domain":{"kind":"const","levels":[],"name":"UInt16"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt16.complement"}},"id":"v14","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt16"},"domain":{"kind":"const","levels":[],"name":"UInt16"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt16"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt16.xor"}},"id":"v13","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt16"},"domain":{"kind":"const","levels":[],"name":"UInt16"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt16"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt16.lor"}},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt16"},"domain":{"kind":"const","levels":[],"name":"UInt16"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt16"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt16.land"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"65535"}}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"UInt16"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt16.ofInt"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt16"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt.mk"}},"declaration":{"id":"v0","parameters":[{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"UInt16"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"UInt16"},"kind":"arrow"},"value":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Int.ofNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt16.toNat"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanRuntime.instFixedUInt16","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"UInt16"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v42","kind":"return"},"id":"v42","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v15","kind":"fvar"},{"id":"v16","kind":"fvar"},{"id":"v29","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed.mk"}},"declaration":{"id":"v29","parameters":[{"borrow":false,"id":"v30","type":{"kind":"const","levels":[],"name":"UInt32"}},{"borrow":false,"id":"v31","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v38","kind":"return"},"id":"v38","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v37","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v41","kind":"return"},"id":"v41","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}},{"id":"v40","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v40","kind":"let","type":{"kind":"const","levels":[],"name":"UInt32"},"value":{"arguments":[{"id":"v30","kind":"fvar"},{"id":"v31","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.shiftRight"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v39","type":{"kind":"erased"}}]}],"discriminant":"v36","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v36","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v32","kind":"fvar"},{"id":"v35","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v34"}},"id":"v34","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"32"}}},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v31","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":[],"name":"UInt32"}},{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}},{"id":"v27","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"UInt32"},"value":{"arguments":[{"id":"v17","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.shiftLeft"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v26","type":{"kind":"erased"}}]}],"discriminant":"v23","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v23","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v21"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"32"}}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"UInt32"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt32.complement"}},"id":"v14","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt32"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt32.xor"}},"id":"v13","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt32"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt32.lor"}},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt32"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt32.land"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4294967295"}}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"UInt32"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt32.ofInt"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt.mk"}},"declaration":{"id":"v0","parameters":[{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"value":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Int.ofNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanRuntime.instFixedUInt32","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v44","kind":"return"},"id":"v44","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v15","kind":"fvar"},{"id":"v16","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed.mk"}},"declaration":{"id":"v30","parameters":[{"borrow":false,"id":"v31","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v32","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v38","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v43","kind":"return"},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}},{"id":"v42","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v42","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v31","kind":"fvar"},{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.shiftRight"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.ofNat"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v40","type":{"kind":"erased"}}]}],"discriminant":"v37","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v37","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"},{"id":"v36","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v36","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v35"}},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v34","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"64"}}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}},{"id":"v28","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v17","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.shiftLeft"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.ofNat"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v26","type":{"kind":"erased"}}]}],"discriminant":"v23","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v23","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v21"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"64"}}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt64.complement"}},"id":"v14","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt64.xor"}},"id":"v13","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt64.lor"}},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt64.land"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"18446744073709551615"}}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt64.ofInt"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt.mk"}},"declaration":{"id":"v0","parameters":[{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"UInt64"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Int.ofNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.toNat"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanRuntime.instFixedUInt64","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"}},{"code":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"},{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Indexable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.Indexable.mk"}},"declaration":{"id":"v0","parameters":[{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"ByteArray"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"},{"id":"v2","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Array"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"ByteArray.data"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Array"},"kind":"app"},"kind":"arrow"},"value":{"index":1,"kind":"projection","type_name":"GetElem?","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":["0"],"name":"Array"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"UInt8"},{"kind":"erased"}],"head":{"kind":"const","levels":["0","0","0"],"name":"GetElem?"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt8"}}],"kind":"const","levels":["0"],"name":"Array.instGetElem?NatLtSize"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanRuntime.instIndexableByteArrayUInt8","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"},{"kind":"const","levels":[],"name":"UInt8"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Indexable"},"kind":"app"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Indexable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.Indexable.mk"}},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.listIndex"}},"level_parameters":[],"name":"LexLeanRuntime.instIndexableList","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Indexable"},"kind":"app"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable.mk"}},"id":"v0","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"ByteArray"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"ByteArray.size"}},"level_parameters":[],"name":"LexLeanRuntime.instLengthableByteArray","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable.mk"}},"id":"v1","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.lengthTR"}},"level_parameters":[],"name":"LexLeanRuntime.instLengthableList","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable.mk"}},"id":"v0","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"String.length"}},"level_parameters":[],"name":"LexLeanRuntime.instLengthableString","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"}},{"code":{"body":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Quotient"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.Quotient.mk"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v9","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v8"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v6","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"BEq","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instBEqOfDecidableEq"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instDecidableEq"}}},"kind":"fun"},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.tmod"}},"id":"v0","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.tdiv"}},"level_parameters":[],"name":"LexLeanRuntime.instQuotientInt","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Quotient"},"kind":"app"}},{"code":{"body":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Quotient"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.Quotient.mk"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v9","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v8"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v6","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"BEq","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"BEq"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instBEqOfDecidableEq"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instDecidableEqNat"}}},"kind":"fun"},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Nat.mod"}},"id":"v0","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Nat.div"}},"level_parameters":[],"name":"LexLeanRuntime.instQuotientNat","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Quotient"},"kind":"app"}},{"code":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Sliceable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.Sliceable.mk"}},"declaration":{"id":"v0","parameters":[{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"ByteArray"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"ByteArray"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v10","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"ByteArray"}},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"ByteArray"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"ByteArray.extract"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"kind":"erased"}}]}],"discriminant":"v9","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v9","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLe"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"ByteArray.size"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v6","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanRuntime.instSliceableByteArray","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"ByteArray"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Sliceable"},"kind":"app"}},{"code":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Sliceable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.Sliceable.mk"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v15","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v4","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.takeTR"}},"id":"v14","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v3","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.drop"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"kind":"erased"}}]}],"discriminant":"v10","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v10","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLe"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.lengthTR"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v7","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanRuntime.instSliceableList","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Sliceable"},"kind":"app"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt.mk"}},"declaration":{"id":"v0","parameters":[{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Int"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"id":"v1","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"LexLeanRuntime.instToMathIntInt","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt"},"kind":"app"}},{"code":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"String"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"String.intercalate"}},"level_parameters":[],"name":"LexLeanRuntime.join","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"String"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"String"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v3","kind":"apply"}},"id":"v3","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanRuntime.Lengthable","value":"v1"}},"level_parameters":[],"name":"LexLeanRuntime.length","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v6","kind":"apply"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"alternatives":[{"code":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v20","kind":"fvar"}],"function":"v11","kind":"apply"}},"constructor":"Nat.zero","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v20","kind":"fvar"},{"id":"v22","kind":"fvar"}],"function":"v17","kind":"apply"}},"constructor":"Nat.succ","kind":"constructor","parameters":[{"borrow":false,"id":"v22","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v2","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Nat"},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v19","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v20","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v1","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"List"},"id":"v17","kind":"let","type":{"codomain":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v14","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v15","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v14","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.listIndex"}}},"kind":"fun"},"id":"v11","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v9","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanRuntime.listIndex","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"id":"v2","kind":"return"},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v7","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v2","kind":"fvar"}],"function":"v11","kind":"apply"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v12"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.instOfNat"}},"id":"v11","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HSub","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"const","levels":[],"name":"UInt64"},{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HSub"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHSub"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubUInt64"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v8","type":{"kind":"erased"}}]}],"discriminant":"v6","kind":"cases","result_type":{"kind":"const","levels":[],"name":"UInt64"},"type_name":"Decidable"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.decLt"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Int64.instOfNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"Int64","value":"v0"}},"level_parameters":[],"name":"LexLeanRuntime.magnitudeInt64","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Int64"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"Int64"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HMul","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HMul"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHMul"}},"level_parameters":[],"name":"LexLeanRuntime.multiply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v92","kind":"return"},"id":"v92","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"function":"v11","kind":"apply"}},"constructor":"Nat.zero","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v94","kind":"return"},"id":"v94","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v93","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"function":"v91","kind":"apply"}},"constructor":"Nat.succ","kind":"constructor","parameters":[{"borrow":false,"id":"v93","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v0","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Nat"},"id":"v91","kind":"let","type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v14","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v15","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v16","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v17","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"arguments":[{"id":"v86","kind":"fvar"}],"kind":"jump","target":"v20"},"id":"v86","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v85"}},"id":"v85","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v84","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.instOfNat"}},"id":"v84","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9223372036854775807"}}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v83","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"arguments":[{"id":"v90","kind":"fvar"}],"kind":"jump","target":"v20"},"id":"v90","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v89"}},"id":"v89","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v88","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.instOfNat"}},"id":"v88","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9223372036854775808"}}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v87","type":{"kind":"erased"}}]}],"discriminant":"v19","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v20","parameters":[{"borrow":false,"id":"v21","type":{"kind":"const","levels":[],"name":"UInt64"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"arguments":[{"id":"v78","kind":"fvar"}],"kind":"jump","target":"v23"},"id":"v78","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v77"}},"id":"v77","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v76","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.instOfNat"}},"id":"v76","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4611686018427387903"}}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v75","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"arguments":[{"id":"v82","kind":"fvar"}],"kind":"jump","target":"v23"},"id":"v82","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v81"}},"id":"v81","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v80","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.instOfNat"}},"id":"v80","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4611686018427387904"}}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v79","type":{"kind":"erased"}}]}],"discriminant":"v19","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v23","parameters":[{"borrow":false,"id":"v24","type":{"kind":"const","levels":[],"name":"UInt64"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v38","kind":"fvar"},{"id":"v15","kind":"fvar"},{"id":"v32","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.multiplyMagnitudeInt64"}},"id":"v38","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v14","kind":"fvar"},{"id":"v14","kind":"fvar"}],"function":"v30","kind":"apply"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v37","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v71","kind":"fvar"}],"kind":"jump","target":"v65"},"id":"v71","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v72","kind":"fvar"}],"kind":"jump","target":"v68"},"id":"v72","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v55","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Bool"},"declaration":{"id":"v68","parameters":[{"borrow":false,"id":"v69","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v70","kind":"fvar"}],"kind":"jump","target":"v56"},"id":"v70","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v69","kind":"fvar"}],"function":"v44","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v65","parameters":[{"borrow":false,"id":"v66","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v67","kind":"fvar"}],"kind":"jump","target":"v56"},"id":"v67","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v66","kind":"fvar"}],"function":"v53","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v56","parameters":[{"borrow":false,"id":"v57","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v62","kind":"return"},"id":"v62","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v60","kind":"fvar"},{"id":"v15","kind":"fvar"},{"id":"v61","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.multiplyMagnitudeInt64"}},"id":"v61","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v32","kind":"fvar"},{"id":"v15","kind":"fvar"}],"function":"v30","kind":"apply"}},"id":"v60","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v14","kind":"fvar"},{"id":"v14","kind":"fvar"}],"function":"v30","kind":"apply"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v59","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v64","kind":"return"},"id":"v64","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v63","type":{"kind":"erased"}}]}],"discriminant":"v58","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v58","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v57","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}}},"kind":"join"},"id":"v55","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v54","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v54","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.decLt"}},"id":"v53","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v45","kind":"apply"}},"declaration":{"id":"v45","parameters":[{"borrow":false,"id":"v46","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v52","kind":"return"},"id":"v52","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v51","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v51","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v50","kind":"fvar"},{"id":"v32","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.decLt"}},"id":"v50","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v22","kind":"fvar"},{"id":"v15","kind":"fvar"}],"function":"v49","kind":"apply"}},"id":"v49","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HSub","value":"v48"}},"id":"v48","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"const","levels":[],"name":"UInt64"},{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HSub"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}},{"id":"v47","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHSub"}},"id":"v47","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubUInt64"}}},"kind":"fun"},"id":"v44","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v41","kind":"apply"}},"declaration":{"id":"v41","parameters":[{"borrow":false,"id":"v42","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v43","kind":"return"},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v40","type":{"kind":"erased"}}]}],"discriminant":"v36","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v36","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v35","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.decLe"}},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v34"}},"id":"v34","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.instOfNat"}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9223372036854775808"}}},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[],"function":"v31","kind":"apply"}},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v16","kind":"fvar"},{"id":"v16","kind":"fvar"}],"function":"v30","kind":"apply"}},"id":"v30","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v29"}},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"const","levels":[],"name":"UInt64"},{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}},{"id":"v28","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddUInt64"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v27","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v74","kind":"return"},"id":"v74","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v73","type":{"kind":"erased"}}]}],"discriminant":"v26","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v26","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v25","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.decLt"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[],"function":"v24","kind":"apply"}}},"kind":"join"},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[],"function":"v21","kind":"apply"}}},"kind":"join"},"id":"v19","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v17","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"id":"v11","kind":"let","type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v7","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v8","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v9","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanRuntime.multiplyMagnitudeInt64","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"UInt64"}},{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Bool"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v3","kind":"apply"}},"id":"v3","kind":"let","type":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Neg","value":"v1"}},"level_parameters":[],"name":"LexLeanRuntime.negate","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Neg"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v3","kind":"apply"}},"id":"v3","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanRuntime.Decimal","value":"v1"}},"level_parameters":[],"name":"LexLeanRuntime.parseDecimal","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Decimal"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"String"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Decimal"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v10","kind":"apply"}},"id":"v10","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanRuntime.Quotient","value":"v1"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v9","type":{"kind":"erased"}}]},{"code":{"id":"v4","kind":"return"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"kind":"erased"}}]}],"discriminant":"v8","kind":"cases","result_type":{"id":"v0","kind":"fvar"},"type_name":"Decidable"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":2,"kind":"projection","type_name":"LexLeanRuntime.Quotient","value":"v1"}},"level_parameters":[],"name":"LexLeanRuntime.quotient","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Quotient"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v4","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"index":4,"kind":"bvar"},"domain":{"index":3,"kind":"bvar"},"kind":"arrow"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Quotient"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v10","kind":"apply"}},"id":"v10","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":1,"kind":"projection","type_name":"LexLeanRuntime.Quotient","value":"v1"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v9","type":{"kind":"erased"}}]},{"code":{"id":"v4","kind":"return"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"kind":"erased"}}]}],"discriminant":"v8","kind":"cases","result_type":{"id":"v0","kind":"fvar"},"type_name":"Decidable"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":2,"kind":"projection","type_name":"LexLeanRuntime.Quotient","value":"v1"}},"level_parameters":[],"name":"LexLeanRuntime.remainder","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Quotient"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v4","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"index":4,"kind":"bvar"},"domain":{"index":3,"kind":"bvar"},"kind":"arrow"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Quotient"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":8,"kind":"projection","type_name":"LexLeanRuntime.Fixed","value":"v1"}},"level_parameters":[],"name":"LexLeanRuntime.shiftLeft","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"UInt32"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":9,"kind":"projection","type_name":"LexLeanRuntime.Fixed","value":"v1"}},"level_parameters":[],"name":"LexLeanRuntime.shiftRight","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"UInt32"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"jump","target":"v4"},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v7","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"arguments":[{"id":"v15","kind":"fvar"}],"kind":"jump","target":"v4"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"arguments":[{"id":"v14","kind":"fvar"},{"id":"v1","kind":"fvar"}],"function":"v11","kind":"apply"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"UInt64"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v13"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.instOfNat"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v11","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HSub","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"},{"kind":"const","levels":[],"name":"UInt64"},{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HSub"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt64"}},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHSub"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt64"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubUInt64"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v8","type":{"kind":"erased"}}]}],"discriminant":"v3","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Int64"},"type_name":"Decidable"},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"kind":"const","levels":[],"name":"UInt64"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Int64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"value":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Int64"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt64.toInt64"}}},"kind":"join"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"level_parameters":[],"name":"LexLeanRuntime.signedMagnitudeInt64","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Bool"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"UInt64"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int64"},"domain":{"kind":"const","levels":[],"name":"UInt64"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanRuntime.Sliceable","value":"v1"}},"level_parameters":[],"name":"LexLeanRuntime.slice","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Sliceable"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":4,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Sliceable"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v31","kind":"fvar"}],"kind":"jump","target":"v28"},"id":"v31","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v32","kind":"fvar"}],"kind":"jump","target":"v25"},"id":"v32","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v16","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Bool"},"declaration":{"id":"v28","parameters":[{"borrow":false,"id":"v29","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v30","kind":"fvar"}],"kind":"jump","target":"v17"},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"function":"v15","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v25","parameters":[{"borrow":false,"id":"v26","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v27","kind":"fvar"}],"kind":"jump","target":"v17"},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v26","kind":"fvar"}],"function":"v8","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v21","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v23","type":{"kind":"erased"}}]}],"discriminant":"v20","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v20","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v18","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"join"},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"String.isEmpty"}},"id":"v15","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"erased"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"Decidable.decide"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"String"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.lengthTR"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"String.splitOn"}},"level_parameters":[],"name":"LexLeanRuntime.splitExact","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"String"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"String"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"UInt32"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HSub","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HSub"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHSub"}},"level_parameters":[],"name":"LexLeanRuntime.subtract","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"String.fromUTF8?"}},"level_parameters":[],"name":"LexLeanRuntime.utf8Decode","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"ByteArray"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"String"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"ByteArray"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"ByteArray"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"String.toUTF8"}},"level_parameters":[],"name":"LexLeanRuntime.utf8Encode","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"String"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"ByteArray"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"}}],"erased":["Coverage.Recur.countdown_decreases","Coverage.Recur.prune_plus","Coverage.Recur.reassociate_literal","Coverage.Recur.reassociate_plus","Coverage.Recur.reduce_decreases","Coverage.Recur.search_decreases"],"externals":[{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Add"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Array"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.GetElem","name":"Array.instGetElem?NatLtSize"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"BEq"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Bool"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Bool.false"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Bool.not"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Bool.true"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"ByteArray"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"ByteArray.data"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.ByteArray.Basic","name":"ByteArray.extract"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.ByteArray.Basic","name":"ByteArray.fastAppend"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.ByteArray.Basic","name":"ByteArray.instBEq"},{"computable":true,"generates_code":true,"kind":"constructor","module":"Init.Prelude","name":"ByteArray.mk"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"ByteArray.size"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.ByteArray.Basic","name":"ByteArray.toList"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Char"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Decidable"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Decidable.decide"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Decidable.isFalse"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Decidable.isTrue"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Except"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Except.error"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Except.ok"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.GetElem","name":"GetElem?"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"HAdd"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"HMul"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"HSub"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Data.Int.Basic","name":"Int"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"Int.decLt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"Int.instAdd"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"Int.instDecidableEq"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"Int.instMul"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"Int.instNegInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"Int.instSub"},{"computable":true,"generates_code":true,"kind":"constructor","module":"Init.Data.Int.Basic","name":"Int.ofNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.DivMod.Basic","name":"Int.tdiv"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.DivMod.Basic","name":"Int.tmod"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Data.SInt.Basic","name":"Int16"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int16.complement"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int16.land"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int16.lor"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int16.ofInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int16.ofNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int16.shiftLeft"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int16.shiftRight"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int16.toInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int16.xor"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Data.SInt.Basic","name":"Int32"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int32.complement"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int32.instNeg"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int32.instOfNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int32.land"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int32.lor"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int32.ofInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int32.ofNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int32.shiftLeft"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int32.shiftRight"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int32.toInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int32.xor"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Data.SInt.Basic","name":"Int64"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int64.complement"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int64.decLt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int64.instNeg"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int64.instOfNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int64.land"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int64.lor"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int64.ofInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int64.ofNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int64.shiftLeft"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int64.shiftRight"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int64.toInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int64.xor"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Data.SInt.Basic","name":"Int8"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int8.complement"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int8.land"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int8.lor"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int8.ofInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int8.ofNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int8.shiftLeft"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int8.shiftRight"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int8.toInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"Int8.xor"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"List"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.List.Basic","name":"List.all"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.List.Basic","name":"List.appendTR"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"List.cons"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.List.Basic","name":"List.drop"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.List.Basic","name":"List.filterTR"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"List.foldl"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Ord.Basic","name":"List.instOrd"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.List.Basic","name":"List.isEmpty"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"List.lengthTR"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.List.Basic","name":"List.mapTR"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"List.nil"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.List.Basic","name":"List.reverse"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.List.Impl","name":"List.takeTR"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"List.toArray"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Mul"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Nat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Nat.beq"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Nat.ble"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Nat.Basic","name":"Nat.blt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Nat.decLe"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Nat.decLt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Nat.div"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Nat.mod"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Nat.succ"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Nat.zero"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Neg"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"OfNat"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Option"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Option.Basic","name":"Option.isSome"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Option.none"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Option.some"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Data.Ord.Basic","name":"Ord"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Data.Ord.Basic","name":"Ordering"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Data.Ord.Basic","name":"Ordering.eq"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Data.Ord.Basic","name":"Ordering.gt"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Data.Ord.Basic","name":"Ordering.lt"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"PUnit"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Prod"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Prod.mk"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"String"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.String.Basic","name":"String.fromUTF8?"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.String.Defs","name":"String.intercalate"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.String.Defs","name":"String.isEmpty"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.String.Length","name":"String.length"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.String.Legacy","name":"String.splitOn"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.String.Search","name":"String.toInt?"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.String.Basic","name":"String.toList"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.String.Defs","name":"String.toUTF8"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Sub"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Data.ToString.Basic","name":"ToString"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"UInt16"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt16.complement"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt16.land"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt16.lor"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt16.ofInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.BasicAux","name":"UInt16.ofNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt16.shiftLeft"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt16.shiftRight"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.BasicAux","name":"UInt16.toNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt16.xor"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"UInt32"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt32.complement"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.BasicAux","name":"UInt32.instOfNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt32.land"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt32.lor"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt32.ofInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt32.shiftLeft"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt32.shiftRight"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"UInt32.toNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt32.xor"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"UInt64"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt64.complement"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt64.decLe"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt64.decLt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.BasicAux","name":"UInt64.instOfNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt64.land"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt64.lor"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt64.ofInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.BasicAux","name":"UInt64.ofNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt64.shiftLeft"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt64.shiftRight"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"UInt64.toInt64"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.BasicAux","name":"UInt64.toNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt64.xor"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"UInt8"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.BasicAux","name":"UInt8.instOfNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Ord.UInt","name":"UInt8.instOrd"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Unit.unit"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Core","name":"bne"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"instAddInt64"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instAddNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"instAddUInt64"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instBEqOfDecidableEq"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instDecidableEqBool"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"instDecidableEqInt32"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"instDecidableEqInt64"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instDecidableEqNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Ord.Basic","name":"instDecidableEqOrdering"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instDecidableEqString"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instDecidableEqUInt16"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instHAdd"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instHMul"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instHSub"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instMulNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"instOfNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instOfNatNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Ord.Basic","name":"instOrdBool"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Ord.Basic","name":"instOrdInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Ord.Basic","name":"instOrdNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"instSubInt64"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instSubNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"instSubUInt64"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.ToString.Extra","name":"instToStringInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.SInt.Basic","name":"instToStringInt8"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.ToString.Basic","name":"instToStringUInt32"}],"inductives":[{"constructors":[{"fields":5,"index":0,"name":"Coverage.Boundary.Grove.node","parameters":0,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"fields":1,"index":1,"name":"Coverage.Boundary.Grove.leaf","parameters":0,"type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"fields":1,"index":2,"name":"Coverage.Boundary.Grove.settled","parameters":0,"type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Coverage.Boundary.Grove"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"kind":"arrow"}}],"indices":0,"name":"Coverage.Boundary.Grove","parameters":0,"recursive":true},{"constructors":[{"fields":2,"index":0,"name":"Coverage.Boundary.Ledger.mk","parameters":0,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Boundary.Ledger"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"String"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}}],"indices":0,"name":"Coverage.Boundary.Ledger","parameters":0,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"Coverage.Syntax.Expr.literal","parameters":0,"type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"fields":2,"index":1,"name":"Coverage.Syntax.Expr.plus","parameters":0,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"kind":"arrow"}},{"fields":2,"index":2,"name":"Coverage.Syntax.Expr.block","parameters":0,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}}],"indices":0,"name":"Coverage.Syntax.Expr","parameters":0,"recursive":true},{"constructors":[{"fields":2,"index":0,"name":"Coverage.Syntax.Rose.node","parameters":1,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Syntax.Rose"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Coverage.Syntax.Rose","parameters":1,"recursive":true},{"constructors":[{"fields":2,"index":0,"name":"Coverage.Syntax.Stmt.assign","parameters":0,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Expr"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"}},{"fields":2,"index":1,"name":"Coverage.Syntax.Stmt.sequence","parameters":0,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Stmt"},"kind":"arrow"}}],"indices":0,"name":"Coverage.Syntax.Stmt","parameters":0,"recursive":true},{"constructors":[{"fields":1,"index":0,"name":"Coverage.Syntax.Term.literal","parameters":0,"type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"fields":2,"index":1,"name":"Coverage.Syntax.Term.plus","parameters":0,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Syntax.Term"},"kind":"arrow"}}],"indices":0,"name":"Coverage.Syntax.Term","parameters":0,"recursive":true},{"constructors":[{"fields":2,"index":0,"name":"Coverage.Types.Box.mk","parameters":1,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Coverage.Types.Box"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Coverage.Types.Box","parameters":1,"recursive":false},{"constructors":[{"fields":2,"index":0,"name":"Coverage.Types.Point.mk","parameters":0,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Types.Point"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}}],"indices":0,"name":"Coverage.Types.Point","parameters":0,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"Coverage.Types.Shape.circle","parameters":0,"type":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Types.Shape"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"fields":2,"index":1,"name":"Coverage.Types.Shape.rect","parameters":0,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Types.Shape"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"fields":0,"index":2,"name":"Coverage.Types.Shape.empty","parameters":0,"type":{"kind":"const","levels":[],"name":"Coverage.Types.Shape"}}],"indices":0,"name":"Coverage.Types.Shape","parameters":0,"recursive":false},{"constructors":[{"fields":0,"index":0,"name":"Coverage.Types.Tree.leaf","parameters":0,"type":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"}},{"fields":3,"index":1,"name":"Coverage.Types.Tree.node","parameters":0,"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"},"domain":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Coverage.Types.Tree"},"kind":"arrow"}}],"indices":0,"name":"Coverage.Types.Tree","parameters":0,"recursive":true},{"constructors":[{"fields":2,"index":0,"name":"Coverage.Types.Weights.mk","parameters":0,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Coverage.Types.Weights"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}}],"indices":0,"name":"Coverage.Types.Weights","parameters":0,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"LexLeanCollections.Key.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"domain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"LexLeanCollections.Key","parameters":1,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"LexLeanRuntime.Appendable.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"domain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"LexLeanRuntime.Appendable","parameters":1,"recursive":false},{"constructors":[{"fields":2,"index":0,"name":"LexLeanRuntime.Decimal.mk","parameters":1,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Decimal"},"kind":"app"},"domain":{"codomain":{"kind":"const","levels":[],"name":"String"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"String"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"LexLeanRuntime.Decimal","parameters":1,"recursive":false},{"constructors":[{"fields":10,"index":0,"name":"LexLeanRuntime.Fixed.mk","parameters":1,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":10,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"domain":{"codomain":{"codomain":{"arguments":[{"index":11,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"index":9,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"arguments":[{"index":10,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"index":8,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"index":8,"kind":"bvar"},"domain":{"index":7,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":8,"kind":"bvar"},"domain":{"index":7,"kind":"bvar"},"kind":"arrow"},"domain":{"index":6,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":7,"kind":"bvar"},"domain":{"index":6,"kind":"bvar"},"kind":"arrow"},"domain":{"index":5,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":6,"kind":"bvar"},"domain":{"index":5,"kind":"bvar"},"kind":"arrow"},"domain":{"index":4,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"LexLeanRuntime.Fixed","parameters":1,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"LexLeanRuntime.Indexable.mk","parameters":2,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"},{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Indexable"},"kind":"app"},"domain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"LexLeanRuntime.Indexable","parameters":2,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"LexLeanRuntime.Lengthable.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"domain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"LexLeanRuntime.Lengthable","parameters":1,"recursive":false},{"constructors":[{"fields":3,"index":0,"name":"LexLeanRuntime.Quotient.mk","parameters":1,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Quotient"},"kind":"app"},"domain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"LexLeanRuntime.Quotient","parameters":1,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"LexLeanRuntime.Sliceable.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Sliceable"},"kind":"app"},"domain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"LexLeanRuntime.Sliceable","parameters":1,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"LexLeanRuntime.ToMathInt.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt"},"kind":"app"},"domain":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"LexLeanRuntime.ToMathInt","parameters":1,"recursive":false}],"lean":{"githash":"f054605aea4b840552cca2e725580bffd1e1b704","version":"4.32.1"},"roots":["Coverage.Boundary.groveRoot","Coverage.Colls.mapOps","Coverage.Colls.mapFolding","Coverage.Colls.setOps","Coverage.Colls.folds","Coverage.Colls.iterations","Coverage.Colls.graphs","Coverage.Colls.stringGraph","Coverage.Colls.keyTypes","Coverage.Colls.literals","Coverage.Main.natOps","Coverage.Main.intOps","Coverage.Main.shapes","Coverage.Main.treeTotal","Coverage.Main.records","Coverage.Main.options","Coverage.Main.builders","Coverage.Main.pairs","Coverage.Main.higher","Coverage.Main.mapped","Coverage.Main.parity","Coverage.Prims.fixedSmall","Coverage.Prims.fixedMiddle","Coverage.Prims.fixedWide","Coverage.Prims.bits","Coverage.Prims.conversions","Coverage.Prims.sequences","Coverage.Prims.decimals","Coverage.Prims.formats","Coverage.Prims.text","Coverage.RecRoots.roseTotal","Coverage.RecRoots.syntaxTotal","Coverage.RecRoots.wellFounded","Coverage.RecRoots.rewrite"],"spec":"lexlean/compiler-input/2"} diff --git a/examples/production-coverage/lexlean.lock b/examples/production-coverage/lexlean.lock index 827f90f0b..8d745b01a 100644 --- a/examples/production-coverage/lexlean.lock +++ b/examples/production-coverage/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "1bcbdf2b89a335e2e8685fb89b09d3c4eba9f30371947781755576f588df7434" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/examples/production/expected/build/coverage/Production/Kernel.coverage.json b/examples/production/expected/build/coverage/Production/Kernel.coverage.json index 7ddb3d6af..a8a697b75 100644 --- a/examples/production/expected/build/coverage/Production/Kernel.coverage.json +++ b/examples/production/expected/build/coverage/Production/Kernel.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":329,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":843,"byte_start":329,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1196,"byte_start":843,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1585,"byte_start":1196,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2032,"byte_start":1585,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2374,"byte_start":2032,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2941,"byte_start":2374,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3190,"byte_start":2941,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3379,"byte_start":3190,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3394,"byte_start":3379,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":13691,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13776,"byte_start":13691,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14043,"byte_start":13776,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14149,"byte_start":14043,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14275,"byte_start":14149,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14440,"byte_start":14275,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14900,"byte_start":14440,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15313,"byte_start":14900,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15391,"byte_start":15313,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15473,"byte_start":15391,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15496,"byte_start":15473,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Kernel","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Kernel.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Kernel.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Kernel.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Kernel.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Kernel.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":22,"byte_start":16,"class":"word","path":"src/Kernel.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":23,"byte_start":22,"class":"delimiter","path":"src/Kernel.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":36,"byte_start":24,"class":"control","path":"src/Kernel.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":37,"byte_start":36,"class":"delimiter","path":"src/Kernel.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":44,"byte_start":37,"class":"word","path":"src/Kernel.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":45,"byte_start":44,"class":"ascii-symbol","path":"src/Kernel.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":45,"class":"word","path":"src/Kernel.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":49,"byte_start":48,"class":"ascii-symbol","path":"src/Kernel.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":49,"class":"word","path":"src/Kernel.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Kernel.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Kernel.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Kernel.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Kernel.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"ascii-symbol","path":"src/Kernel.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"numeral","path":"src/Kernel.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":59,"byte_start":58,"class":"delimiter","path":"src/Kernel.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":66,"byte_start":60,"class":"control","path":"src/Kernel.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":67,"byte_start":66,"class":"delimiter","path":"src/Kernel.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":81,"byte_start":67,"class":"word","path":"src/Kernel.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":90,"byte_start":82,"class":"word","path":"src/Kernel.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":91,"byte_start":90,"class":"delimiter","path":"src/Kernel.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":98,"byte_start":92,"class":"control","path":"src/Kernel.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":99,"byte_start":98,"class":"delimiter","path":"src/Kernel.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":113,"byte_start":99,"class":"word","path":"src/Kernel.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":114,"byte_start":113,"class":"delimiter","path":"src/Kernel.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":1911,"byte_start":115,"class":"word","path":"src/Kernel.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":1915,"byte_start":1911,"class":"control","path":"src/Kernel.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":1916,"byte_start":1915,"class":"delimiter","path":"src/Kernel.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":1930,"byte_start":1916,"class":"word","path":"src/Kernel.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":1931,"byte_start":1930,"class":"delimiter","path":"src/Kernel.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":1936,"byte_start":1932,"class":"control","path":"src/Kernel.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":1937,"byte_start":1936,"class":"delimiter","path":"src/Kernel.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":1944,"byte_start":1937,"class":"word","path":"src/Kernel.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":1945,"byte_start":1944,"class":"delimiter","path":"src/Kernel.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":329,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":843,"byte_start":329,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1196,"byte_start":843,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1585,"byte_start":1196,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2032,"byte_start":1585,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2374,"byte_start":2032,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2941,"byte_start":2374,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3190,"byte_start":2941,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3379,"byte_start":3190,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3394,"byte_start":3379,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":238,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":323,"byte_start":238,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":590,"byte_start":323,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":696,"byte_start":590,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":822,"byte_start":696,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":987,"byte_start":822,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1447,"byte_start":987,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1860,"byte_start":1447,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1938,"byte_start":1860,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2020,"byte_start":1938,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2043,"byte_start":2020,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Kernel","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Kernel.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Kernel.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Kernel.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Kernel.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Kernel.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":22,"byte_start":16,"class":"word","path":"src/Kernel.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":23,"byte_start":22,"class":"delimiter","path":"src/Kernel.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":36,"byte_start":24,"class":"control","path":"src/Kernel.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":37,"byte_start":36,"class":"delimiter","path":"src/Kernel.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":44,"byte_start":37,"class":"word","path":"src/Kernel.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":45,"byte_start":44,"class":"ascii-symbol","path":"src/Kernel.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":45,"class":"word","path":"src/Kernel.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":49,"byte_start":48,"class":"ascii-symbol","path":"src/Kernel.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":49,"class":"word","path":"src/Kernel.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Kernel.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Kernel.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Kernel.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Kernel.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"ascii-symbol","path":"src/Kernel.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"numeral","path":"src/Kernel.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":59,"byte_start":58,"class":"delimiter","path":"src/Kernel.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":66,"byte_start":60,"class":"control","path":"src/Kernel.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":67,"byte_start":66,"class":"delimiter","path":"src/Kernel.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":81,"byte_start":67,"class":"word","path":"src/Kernel.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":90,"byte_start":82,"class":"word","path":"src/Kernel.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":91,"byte_start":90,"class":"delimiter","path":"src/Kernel.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":98,"byte_start":92,"class":"control","path":"src/Kernel.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":99,"byte_start":98,"class":"delimiter","path":"src/Kernel.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":113,"byte_start":99,"class":"word","path":"src/Kernel.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":114,"byte_start":113,"class":"delimiter","path":"src/Kernel.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":1911,"byte_start":115,"class":"word","path":"src/Kernel.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":1915,"byte_start":1911,"class":"control","path":"src/Kernel.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":1916,"byte_start":1915,"class":"delimiter","path":"src/Kernel.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":1930,"byte_start":1916,"class":"word","path":"src/Kernel.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":1931,"byte_start":1930,"class":"delimiter","path":"src/Kernel.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":1936,"byte_start":1932,"class":"control","path":"src/Kernel.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":1937,"byte_start":1936,"class":"delimiter","path":"src/Kernel.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":1944,"byte_start":1937,"class":"word","path":"src/Kernel.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":1945,"byte_start":1944,"class":"delimiter","path":"src/Kernel.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/examples/production/expected/build/coverage/Production/Main.coverage.json b/examples/production/expected/build/coverage/Production/Main.coverage.json index 704916789..429bc30c1 100644 --- a/examples/production/expected/build/coverage/Production/Main.coverage.json +++ b/examples/production/expected/build/coverage/Production/Main.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":657,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1159,"byte_start":657,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1723,"byte_start":1159,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2209,"byte_start":1723,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2670,"byte_start":2209,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3122,"byte_start":2670,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3299,"byte_start":3122,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3503,"byte_start":3299,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3518,"byte_start":3503,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":13721,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13869,"byte_start":13721,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14015,"byte_start":13869,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14151,"byte_start":14015,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14247,"byte_start":14151,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14340,"byte_start":14247,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14445,"byte_start":14340,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14515,"byte_start":14445,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14612,"byte_start":14515,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14633,"byte_start":14612,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Main","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":20,"byte_start":16,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":21,"byte_start":20,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":34,"byte_start":22,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":35,"byte_start":34,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":42,"byte_start":35,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":43,"byte_start":42,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":46,"byte_start":43,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":46,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":50,"byte_start":47,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":50,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":57,"byte_start":56,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":71,"byte_start":58,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":72,"byte_start":71,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":78,"byte_start":72,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":79,"byte_start":78,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":86,"byte_start":80,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":87,"byte_start":86,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":101,"byte_start":87,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":110,"byte_start":102,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":111,"byte_start":110,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":118,"byte_start":112,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":119,"byte_start":118,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":133,"byte_start":119,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":134,"byte_start":133,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":1803,"byte_start":135,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":1807,"byte_start":1803,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":1808,"byte_start":1807,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":1822,"byte_start":1808,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":1823,"byte_start":1822,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":1828,"byte_start":1824,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":1829,"byte_start":1828,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":1836,"byte_start":1829,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":1837,"byte_start":1836,"class":"delimiter","path":"src/Main.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":657,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1159,"byte_start":657,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1723,"byte_start":1159,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2209,"byte_start":1723,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2670,"byte_start":2209,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3122,"byte_start":2670,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3299,"byte_start":3122,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3503,"byte_start":3299,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3518,"byte_start":3503,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":268,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":416,"byte_start":268,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":562,"byte_start":416,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":698,"byte_start":562,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":794,"byte_start":698,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":887,"byte_start":794,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":992,"byte_start":887,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1062,"byte_start":992,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1159,"byte_start":1062,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1180,"byte_start":1159,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Main","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":20,"byte_start":16,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":21,"byte_start":20,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":34,"byte_start":22,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":35,"byte_start":34,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":42,"byte_start":35,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":43,"byte_start":42,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":46,"byte_start":43,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":46,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":50,"byte_start":47,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":50,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":57,"byte_start":56,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":71,"byte_start":58,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":72,"byte_start":71,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":78,"byte_start":72,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":79,"byte_start":78,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":86,"byte_start":80,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":87,"byte_start":86,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":101,"byte_start":87,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":110,"byte_start":102,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":111,"byte_start":110,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":118,"byte_start":112,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":119,"byte_start":118,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":133,"byte_start":119,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":134,"byte_start":133,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":1803,"byte_start":135,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":1807,"byte_start":1803,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":1808,"byte_start":1807,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":1822,"byte_start":1808,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":1823,"byte_start":1822,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":1828,"byte_start":1824,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":1829,"byte_start":1828,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":1836,"byte_start":1829,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":1837,"byte_start":1836,"class":"delimiter","path":"src/Main.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/examples/production/expected/build/manifest.json b/examples/production/expected/build/manifest.json index 5b73fe00b..07f6ff200 100644 --- a/examples/production/expected/build/manifest.json +++ b/examples/production/expected/build/manifest.json @@ -1 +1 @@ -{"build_id":"740711ad3d498f131b0fb9a40285e60cb8cdd9880e29f56d074ab038b10e6f60","compiler":{"semantics_id":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","version":"0.3.0"},"inputs":[{"byte_length":2684,"kind":"lexicon","path":"embedded","sha256":"3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b"},{"byte_length":14885,"kind":"lexicon","path":"embedded","sha256":"e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac"},{"byte_length":36197,"kind":"lexicon","path":"embedded","sha256":"827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392"},{"byte_length":1597,"kind":"lock","path":"lexlean.lock","sha256":"d91ee7e6be0847cdefd2a2a6afc1983346d2332660d653ae1dba4547f6e4a98b"},{"byte_length":642,"kind":"project-config","path":"lexlean.toml","sha256":"6f85e3c598ebbd2209c3ad5533caeb0ac2558d009e9863ec732435267e89972e"},{"byte_length":1946,"kind":"source","path":"src/Kernel.lex.tex","sha256":"a437ec054ba361d174f27a15fdbec5579ed2c841212e7bc0ecc659cde626e1ec"},{"byte_length":1838,"kind":"source","path":"src/Main.lex.tex","sha256":"0aaa9bd2649c30feb852481dd9fe94d94c473ea275bef51eb9d92237ba111514"}],"language":"1.2","lean_toolchain":"leanprover/lean4:v4.32.1","modules":[{"lean_module":"Production.Kernel","module":"Kernel","source_path":"src/Kernel.lex.tex"},{"lean_module":"Production.Main","module":"Main","source_path":"src/Main.lex.tex"}],"outputs":[{"byte_length":9057,"kind":"coverage","path":"coverage/Production/Kernel.coverage.json","sha256":"cc6ed03257b211f82e6c94be33216bb37c7f54d71851ac34eb5cd18ef5e7dd0e"},{"byte_length":9327,"kind":"coverage","path":"coverage/Production/Main.coverage.json","sha256":"55855e4f5680aeb9f8861bcac8b5da0dfb3296e8f61c61dfd6a3d7b3bea81f8c"},{"byte_length":15496,"kind":"lean","path":"modules/Production/Kernel.lean","sha256":"6492dca295911c2c531acd275977ad92cac6ff6d96f7e85762c50acd1027deb7"},{"byte_length":14633,"kind":"lean","path":"modules/Production/Main.lean","sha256":"3d686d801a9bee28fc6112709bfc2b7923567b819ba09192679b588ada15e105"},{"byte_length":10604,"kind":"lexicon-closure","path":"lexicons/Kernel.closure.json","sha256":"e35a3fc5cf572b5924dcc9c94be8e299ee6d0504a814b35600a6bf96b2318c47"},{"byte_length":10602,"kind":"lexicon-closure","path":"lexicons/Main.closure.json","sha256":"727110f90daff26a2e5eb8069fcefecd5790c1264f5d6d4b2ef57db1c2bfb867"},{"byte_length":3931,"kind":"map","path":"maps/Production/Kernel.map.json","sha256":"5f30959f62f3b739b3927c957fbd19993237d401dd4609ad9980f894c1069e85"},{"byte_length":3604,"kind":"map","path":"maps/Production/Main.map.json","sha256":"13be532915c778f9a597eb24f3ae3be790f2c1644cf7d597542e9f6e04b91161"},{"byte_length":12235,"kind":"production-eligibility","path":"production/Production/Main.eligibility.json","sha256":"6c8ff35c840c08182f22729f284b07382ddce7f037e4aa40f3319c2fb61e5867"},{"byte_length":3394,"kind":"tex","path":"modules/Production/Kernel.tex","sha256":"d415f1c0a3f9813c3c3410e65976249a9095442bb37efb84d55a51a4af13e05a"},{"byte_length":3518,"kind":"tex","path":"modules/Production/Main.tex","sha256":"80c004efe4f1ad13364aa37b48f249fffe2f28cb879a380696c33c74ba29a176"}],"project":"production","selection":["Kernel","Main"],"semantic_id":"7b8829e2cc52192864282f3d66903769af8ace0441753fb8f48220a68d194d15","source_id":"2b3de0f4221d24433632df454fb396dd776fbc0d845baa834eece7fbe3bada47","spec":"lexlean/build-manifest/1"} +{"build_id":"037c6fb1e26b1ecc05dac07d23e7bc41a553f0b17a9af6facddff41482a39afe","compiler":{"semantics_id":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","version":"0.3.0"},"inputs":[{"byte_length":2684,"kind":"lexicon","path":"embedded","sha256":"3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b"},{"byte_length":14885,"kind":"lexicon","path":"embedded","sha256":"e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac"},{"byte_length":36197,"kind":"lexicon","path":"embedded","sha256":"827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392"},{"byte_length":1597,"kind":"lock","path":"lexlean.lock","sha256":"64e0aed6d514bbf4d954fd9387b28c9dbda3eb576ecc31da701c08524d8ed9f1"},{"byte_length":642,"kind":"project-config","path":"lexlean.toml","sha256":"6f85e3c598ebbd2209c3ad5533caeb0ac2558d009e9863ec732435267e89972e"},{"byte_length":1946,"kind":"source","path":"src/Kernel.lex.tex","sha256":"a437ec054ba361d174f27a15fdbec5579ed2c841212e7bc0ecc659cde626e1ec"},{"byte_length":1838,"kind":"source","path":"src/Main.lex.tex","sha256":"0aaa9bd2649c30feb852481dd9fe94d94c473ea275bef51eb9d92237ba111514"}],"language":"1.2","lean_toolchain":"leanprover/lean4:v4.32.1","modules":[{"lean_module":"Production.Kernel","module":"Kernel","source_path":"src/Kernel.lex.tex"},{"lean_module":"Production.Main","module":"Main","source_path":"src/Main.lex.tex"}],"outputs":[{"byte_length":9024,"kind":"coverage","path":"coverage/Production/Kernel.coverage.json","sha256":"bf3afa86272a5f148518094541f74320fc962fb73604c43a79f52cde1b2bbf6a"},{"byte_length":9294,"kind":"coverage","path":"coverage/Production/Main.coverage.json","sha256":"eeb4778546afa3d37c1910a3fa60ecac720f3c72cccd005161392751d7da275e"},{"byte_length":2043,"kind":"lean","path":"modules/Production/Kernel.lean","sha256":"1f5931607c57eb16e1d26f5d22614aaff5c099fa574f8434757c524a18ded13d"},{"byte_length":1180,"kind":"lean","path":"modules/Production/Main.lean","sha256":"0141c5543da183afef9d568f1b0f2715a232ded8c936b6ea03c42d3abd98156d"},{"byte_length":10604,"kind":"lexicon-closure","path":"lexicons/Kernel.closure.json","sha256":"e35a3fc5cf572b5924dcc9c94be8e299ee6d0504a814b35600a6bf96b2318c47"},{"byte_length":10602,"kind":"lexicon-closure","path":"lexicons/Main.closure.json","sha256":"727110f90daff26a2e5eb8069fcefecd5790c1264f5d6d4b2ef57db1c2bfb867"},{"byte_length":3898,"kind":"map","path":"maps/Production/Kernel.map.json","sha256":"5e7a3875d3cfc2235362286110083489f6e68378cbda015f78677714223470d8"},{"byte_length":3571,"kind":"map","path":"maps/Production/Main.map.json","sha256":"7860432c7f0b7a5b11d70846aa5b4bc3d251c26b06085987bda59b196f75eae5"},{"byte_length":12235,"kind":"production-eligibility","path":"production/Production/Main.eligibility.json","sha256":"6c8ff35c840c08182f22729f284b07382ddce7f037e4aa40f3319c2fb61e5867"},{"byte_length":3394,"kind":"tex","path":"modules/Production/Kernel.tex","sha256":"d415f1c0a3f9813c3c3410e65976249a9095442bb37efb84d55a51a4af13e05a"},{"byte_length":3518,"kind":"tex","path":"modules/Production/Main.tex","sha256":"80c004efe4f1ad13364aa37b48f249fffe2f28cb879a380696c33c74ba29a176"}],"project":"production","selection":["Kernel","Main"],"semantic_id":"0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6","source_id":"b39c3e06a36d17a336320c4b098ee8b4a6a9a8f7473499f1b15c74f198c7c195","spec":"lexlean/build-manifest/1"} diff --git a/examples/production/expected/build/maps/Production/Kernel.map.json b/examples/production/expected/build/maps/Production/Kernel.map.json index 66eac6221..b12ff7830 100644 --- a/examples/production/expected/build/maps/Production/Kernel.map.json +++ b/examples/production/expected/build/maps/Production/Kernel.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/Production/Kernel.lean"},{"id":1,"kind":"tex","path":"modules/Production/Kernel.tex"}],"mappings":[{"artifact":0,"gen_end":13691,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":1946,"src_start":0},{"artifact":0,"gen_end":13776,"gen_start":13691,"node":1,"role":"declaration","source":0,"src_end":270,"src_start":115},{"artifact":0,"gen_end":14043,"gen_start":13776,"node":2,"role":"declaration","source":0,"src_end":549,"src_start":272},{"artifact":0,"gen_end":14149,"gen_start":14043,"node":3,"role":"declaration","source":0,"src_end":711,"src_start":551},{"artifact":0,"gen_end":14275,"gen_start":14149,"node":4,"role":"declaration","source":0,"src_end":929,"src_start":713},{"artifact":0,"gen_end":14440,"gen_start":14275,"node":5,"role":"declaration","source":0,"src_end":1158,"src_start":931},{"artifact":0,"gen_end":14900,"gen_start":14440,"node":6,"role":"declaration","source":0,"src_end":1389,"src_start":1160},{"artifact":0,"gen_end":15313,"gen_start":14900,"node":7,"role":"declaration","source":0,"src_end":1699,"src_start":1391},{"artifact":0,"gen_end":15391,"gen_start":15313,"node":8,"role":"declaration","source":0,"src_end":1787,"src_start":1701},{"artifact":0,"gen_end":15473,"gen_start":15391,"node":9,"role":"declaration","source":0,"src_end":1910,"src_start":1789},{"artifact":0,"gen_end":15496,"gen_start":15473,"node":0,"role":"declaration","source":0,"src_end":1946,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":10,"role":"declaration","source":0,"src_end":1946,"src_start":0},{"artifact":1,"gen_end":329,"gen_start":134,"node":11,"role":"declaration","source":0,"src_end":270,"src_start":115},{"artifact":1,"gen_end":843,"gen_start":329,"node":12,"role":"declaration","source":0,"src_end":549,"src_start":272},{"artifact":1,"gen_end":1196,"gen_start":843,"node":13,"role":"declaration","source":0,"src_end":711,"src_start":551},{"artifact":1,"gen_end":1585,"gen_start":1196,"node":14,"role":"declaration","source":0,"src_end":929,"src_start":713},{"artifact":1,"gen_end":2032,"gen_start":1585,"node":15,"role":"declaration","source":0,"src_end":1158,"src_start":931},{"artifact":1,"gen_end":2374,"gen_start":2032,"node":16,"role":"declaration","source":0,"src_end":1389,"src_start":1160},{"artifact":1,"gen_end":2941,"gen_start":2374,"node":17,"role":"declaration","source":0,"src_end":1699,"src_start":1391},{"artifact":1,"gen_end":3190,"gen_start":2941,"node":18,"role":"declaration","source":0,"src_end":1787,"src_start":1701},{"artifact":1,"gen_end":3379,"gen_start":3190,"node":19,"role":"declaration","source":0,"src_end":1910,"src_start":1789},{"artifact":1,"gen_end":3394,"gen_start":3379,"node":10,"role":"declaration","source":0,"src_end":1946,"src_start":0}],"module":"Kernel","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-latex-module"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"}],"semantic_id":"7b8829e2cc52192864282f3d66903769af8ace0441753fb8f48220a68d194d15","source_id":"2b3de0f4221d24433632df454fb396dd776fbc0d845baa834eece7fbe3bada47","sources":[{"id":0,"kind":"file","path":"src/Kernel.lex.tex","sha256":"a437ec054ba361d174f27a15fdbec5579ed2c841212e7bc0ecc659cde626e1ec"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Production/Kernel.lean"},{"id":1,"kind":"tex","path":"modules/Production/Kernel.tex"}],"mappings":[{"artifact":0,"gen_end":238,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":1946,"src_start":0},{"artifact":0,"gen_end":323,"gen_start":238,"node":1,"role":"declaration","source":0,"src_end":270,"src_start":115},{"artifact":0,"gen_end":590,"gen_start":323,"node":2,"role":"declaration","source":0,"src_end":549,"src_start":272},{"artifact":0,"gen_end":696,"gen_start":590,"node":3,"role":"declaration","source":0,"src_end":711,"src_start":551},{"artifact":0,"gen_end":822,"gen_start":696,"node":4,"role":"declaration","source":0,"src_end":929,"src_start":713},{"artifact":0,"gen_end":987,"gen_start":822,"node":5,"role":"declaration","source":0,"src_end":1158,"src_start":931},{"artifact":0,"gen_end":1447,"gen_start":987,"node":6,"role":"declaration","source":0,"src_end":1389,"src_start":1160},{"artifact":0,"gen_end":1860,"gen_start":1447,"node":7,"role":"declaration","source":0,"src_end":1699,"src_start":1391},{"artifact":0,"gen_end":1938,"gen_start":1860,"node":8,"role":"declaration","source":0,"src_end":1787,"src_start":1701},{"artifact":0,"gen_end":2020,"gen_start":1938,"node":9,"role":"declaration","source":0,"src_end":1910,"src_start":1789},{"artifact":0,"gen_end":2043,"gen_start":2020,"node":0,"role":"declaration","source":0,"src_end":1946,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":10,"role":"declaration","source":0,"src_end":1946,"src_start":0},{"artifact":1,"gen_end":329,"gen_start":134,"node":11,"role":"declaration","source":0,"src_end":270,"src_start":115},{"artifact":1,"gen_end":843,"gen_start":329,"node":12,"role":"declaration","source":0,"src_end":549,"src_start":272},{"artifact":1,"gen_end":1196,"gen_start":843,"node":13,"role":"declaration","source":0,"src_end":711,"src_start":551},{"artifact":1,"gen_end":1585,"gen_start":1196,"node":14,"role":"declaration","source":0,"src_end":929,"src_start":713},{"artifact":1,"gen_end":2032,"gen_start":1585,"node":15,"role":"declaration","source":0,"src_end":1158,"src_start":931},{"artifact":1,"gen_end":2374,"gen_start":2032,"node":16,"role":"declaration","source":0,"src_end":1389,"src_start":1160},{"artifact":1,"gen_end":2941,"gen_start":2374,"node":17,"role":"declaration","source":0,"src_end":1699,"src_start":1391},{"artifact":1,"gen_end":3190,"gen_start":2941,"node":18,"role":"declaration","source":0,"src_end":1787,"src_start":1701},{"artifact":1,"gen_end":3379,"gen_start":3190,"node":19,"role":"declaration","source":0,"src_end":1910,"src_start":1789},{"artifact":1,"gen_end":3394,"gen_start":3379,"node":10,"role":"declaration","source":0,"src_end":1946,"src_start":0}],"module":"Kernel","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-latex-module"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"}],"semantic_id":"0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6","source_id":"b39c3e06a36d17a336320c4b098ee8b4a6a9a8f7473499f1b15c74f198c7c195","sources":[{"id":0,"kind":"file","path":"src/Kernel.lex.tex","sha256":"a437ec054ba361d174f27a15fdbec5579ed2c841212e7bc0ecc659cde626e1ec"}],"spec":"lexlean/source-map/1"} diff --git a/examples/production/expected/build/maps/Production/Main.map.json b/examples/production/expected/build/maps/Production/Main.map.json index 5d1655d26..afc56551f 100644 --- a/examples/production/expected/build/maps/Production/Main.map.json +++ b/examples/production/expected/build/maps/Production/Main.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/Production/Main.lean"},{"id":1,"kind":"tex","path":"modules/Production/Main.tex"}],"mappings":[{"artifact":0,"gen_end":13721,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":1838,"src_start":0},{"artifact":0,"gen_end":13869,"gen_start":13721,"node":1,"role":"declaration","source":0,"src_end":412,"src_start":135},{"artifact":0,"gen_end":14015,"gen_start":13869,"node":2,"role":"declaration","source":0,"src_end":660,"src_start":414},{"artifact":0,"gen_end":14151,"gen_start":14015,"node":3,"role":"declaration","source":0,"src_end":904,"src_start":662},{"artifact":0,"gen_end":14247,"gen_start":14151,"node":4,"role":"declaration","source":0,"src_end":1152,"src_start":906},{"artifact":0,"gen_end":14340,"gen_start":14247,"node":5,"role":"declaration","source":0,"src_end":1367,"src_start":1154},{"artifact":0,"gen_end":14445,"gen_start":14340,"node":6,"role":"declaration","source":0,"src_end":1571,"src_start":1369},{"artifact":0,"gen_end":14515,"gen_start":14445,"node":7,"role":"declaration","source":0,"src_end":1669,"src_start":1573},{"artifact":0,"gen_end":14612,"gen_start":14515,"node":8,"role":"declaration","source":0,"src_end":1802,"src_start":1671},{"artifact":0,"gen_end":14633,"gen_start":14612,"node":0,"role":"declaration","source":0,"src_end":1838,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":9,"role":"declaration","source":0,"src_end":1838,"src_start":0},{"artifact":1,"gen_end":657,"gen_start":134,"node":10,"role":"declaration","source":0,"src_end":412,"src_start":135},{"artifact":1,"gen_end":1159,"gen_start":657,"node":11,"role":"declaration","source":0,"src_end":660,"src_start":414},{"artifact":1,"gen_end":1723,"gen_start":1159,"node":12,"role":"declaration","source":0,"src_end":904,"src_start":662},{"artifact":1,"gen_end":2209,"gen_start":1723,"node":13,"role":"declaration","source":0,"src_end":1152,"src_start":906},{"artifact":1,"gen_end":2670,"gen_start":2209,"node":14,"role":"declaration","source":0,"src_end":1367,"src_start":1154},{"artifact":1,"gen_end":3122,"gen_start":2670,"node":15,"role":"declaration","source":0,"src_end":1571,"src_start":1369},{"artifact":1,"gen_end":3299,"gen_start":3122,"node":16,"role":"declaration","source":0,"src_end":1669,"src_start":1573},{"artifact":1,"gen_end":3503,"gen_start":3299,"node":17,"role":"declaration","source":0,"src_end":1802,"src_start":1671},{"artifact":1,"gen_end":3518,"gen_start":3503,"node":9,"role":"declaration","source":0,"src_end":1838,"src_start":0}],"module":"Main","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-latex-module"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"}],"semantic_id":"7b8829e2cc52192864282f3d66903769af8ace0441753fb8f48220a68d194d15","source_id":"2b3de0f4221d24433632df454fb396dd776fbc0d845baa834eece7fbe3bada47","sources":[{"id":0,"kind":"file","path":"src/Main.lex.tex","sha256":"0aaa9bd2649c30feb852481dd9fe94d94c473ea275bef51eb9d92237ba111514"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Production/Main.lean"},{"id":1,"kind":"tex","path":"modules/Production/Main.tex"}],"mappings":[{"artifact":0,"gen_end":268,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":1838,"src_start":0},{"artifact":0,"gen_end":416,"gen_start":268,"node":1,"role":"declaration","source":0,"src_end":412,"src_start":135},{"artifact":0,"gen_end":562,"gen_start":416,"node":2,"role":"declaration","source":0,"src_end":660,"src_start":414},{"artifact":0,"gen_end":698,"gen_start":562,"node":3,"role":"declaration","source":0,"src_end":904,"src_start":662},{"artifact":0,"gen_end":794,"gen_start":698,"node":4,"role":"declaration","source":0,"src_end":1152,"src_start":906},{"artifact":0,"gen_end":887,"gen_start":794,"node":5,"role":"declaration","source":0,"src_end":1367,"src_start":1154},{"artifact":0,"gen_end":992,"gen_start":887,"node":6,"role":"declaration","source":0,"src_end":1571,"src_start":1369},{"artifact":0,"gen_end":1062,"gen_start":992,"node":7,"role":"declaration","source":0,"src_end":1669,"src_start":1573},{"artifact":0,"gen_end":1159,"gen_start":1062,"node":8,"role":"declaration","source":0,"src_end":1802,"src_start":1671},{"artifact":0,"gen_end":1180,"gen_start":1159,"node":0,"role":"declaration","source":0,"src_end":1838,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":9,"role":"declaration","source":0,"src_end":1838,"src_start":0},{"artifact":1,"gen_end":657,"gen_start":134,"node":10,"role":"declaration","source":0,"src_end":412,"src_start":135},{"artifact":1,"gen_end":1159,"gen_start":657,"node":11,"role":"declaration","source":0,"src_end":660,"src_start":414},{"artifact":1,"gen_end":1723,"gen_start":1159,"node":12,"role":"declaration","source":0,"src_end":904,"src_start":662},{"artifact":1,"gen_end":2209,"gen_start":1723,"node":13,"role":"declaration","source":0,"src_end":1152,"src_start":906},{"artifact":1,"gen_end":2670,"gen_start":2209,"node":14,"role":"declaration","source":0,"src_end":1367,"src_start":1154},{"artifact":1,"gen_end":3122,"gen_start":2670,"node":15,"role":"declaration","source":0,"src_end":1571,"src_start":1369},{"artifact":1,"gen_end":3299,"gen_start":3122,"node":16,"role":"declaration","source":0,"src_end":1669,"src_start":1573},{"artifact":1,"gen_end":3503,"gen_start":3299,"node":17,"role":"declaration","source":0,"src_end":1802,"src_start":1671},{"artifact":1,"gen_end":3518,"gen_start":3503,"node":9,"role":"declaration","source":0,"src_end":1838,"src_start":0}],"module":"Main","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-latex-module"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"}],"semantic_id":"0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6","source_id":"b39c3e06a36d17a336320c4b098ee8b4a6a9a8f7473499f1b15c74f198c7c195","sources":[{"id":0,"kind":"file","path":"src/Main.lex.tex","sha256":"0aaa9bd2649c30feb852481dd9fe94d94c473ea275bef51eb9d92237ba111514"}],"spec":"lexlean/source-map/1"} diff --git a/examples/production/expected/build/modules/Production/Kernel.lean b/examples/production/expected/build/modules/Production/Kernel.lean index 648ed7af7..c0285a9d8 100644 --- a/examples/production/expected/build/modules/Production/Kernel.lean +++ b/examples/production/expected/build/modules/Production/Kernel.lean @@ -1,294 +1,12 @@ module public import Init +public import LexLeanRuntime.Portable set_option autoImplicit false set_option maxRecDepth 100000 set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace Production.Kernel -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - public inductive Shape where | circle (_ : Nat) | rectangle (_ : Nat) (_ : Nat) diff --git a/examples/production/expected/build/modules/Production/Main.lean b/examples/production/expected/build/modules/Production/Main.lean index d3af4a69f..e55a3d88d 100644 --- a/examples/production/expected/build/modules/Production/Main.lean +++ b/examples/production/expected/build/modules/Production/Main.lean @@ -1,5 +1,6 @@ module public import Init +public import LexLeanRuntime.Portable public import Production.Kernel set_option autoImplicit false set_option maxRecDepth 100000 @@ -7,289 +8,6 @@ set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace Production.Main -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - @[expose] public def checkedSum (left : UInt32) (right : UInt32) : Option (UInt32) := (LexLeanRuntime.checkedAdd (left) (right) : Option (UInt32)) @[expose] public def shapeArea (width : Nat) (height : Nat) : Nat := Production.Kernel.area (Production.Kernel.Shape.rectangle (width) (height)) diff --git a/examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.LexLeanRuntime.Collections.lean b/examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.LexLeanRuntime.Collections.lean new file mode 100644 index 000000000..ae0a21413 --- /dev/null +++ b/examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.LexLeanRuntime.Collections.lean @@ -0,0 +1,105 @@ +module +import LexLeanRuntime.Collections +#print axioms LexLeanCollections.Key +#print axioms LexLeanCollections.Key.casesOn +#print axioms LexLeanCollections.Key.compare +#print axioms LexLeanCollections.Key.ctorIdx +#print axioms LexLeanCollections.Key.mk._flat_ctor +#print axioms LexLeanCollections.Key.mk.noConfusion +#print axioms LexLeanCollections.Key.noConfusion +#print axioms LexLeanCollections.Key.noConfusionType +#print axioms LexLeanCollections.Key.recOn +#print axioms LexLeanCollections.compareCodes +#print axioms LexLeanCollections.compareCodes._f +#print axioms LexLeanCollections.compareCodes._sparseCasesOn_1 +#print axioms LexLeanCollections.compareCodes._sunfold +#print axioms LexLeanCollections.compareCodes._unsafe_rec +#print axioms LexLeanCollections.compareCodes.match_1 +#print axioms LexLeanCollections.compareCodes.match_4 +#print axioms LexLeanCollections.containsElement +#print axioms LexLeanCollections.containsElement._f +#print axioms LexLeanCollections.containsElement._sunfold +#print axioms LexLeanCollections.containsElement._unsafe_rec +#print axioms LexLeanCollections.graphNodes +#print axioms LexLeanCollections.graphReachable +#print axioms LexLeanCollections.graphSuccessors +#print axioms LexLeanCollections.graphTopological +#print axioms LexLeanCollections.insertElement +#print axioms LexLeanCollections.insertElement._f +#print axioms LexLeanCollections.insertElement._sunfold +#print axioms LexLeanCollections.insertElement._unsafe_rec +#print axioms LexLeanCollections.insertElement.match_1 +#print axioms LexLeanCollections.insertEntry +#print axioms LexLeanCollections.insertEntry._f +#print axioms LexLeanCollections.insertEntry._sunfold +#print axioms LexLeanCollections.insertEntry._unsafe_rec +#print axioms LexLeanCollections.insertEntry.match_1 +#print axioms LexLeanCollections.insertEntry.match_3 +#print axioms LexLeanCollections.instKeyBool +#print axioms LexLeanCollections.instKeyInt +#print axioms LexLeanCollections.instKeyInt16 +#print axioms LexLeanCollections.instKeyInt32 +#print axioms LexLeanCollections.instKeyInt64 +#print axioms LexLeanCollections.instKeyInt8 +#print axioms LexLeanCollections.instKeyNat +#print axioms LexLeanCollections.instKeyProd +#print axioms LexLeanCollections.instKeyString +#print axioms LexLeanCollections.instKeyUInt16 +#print axioms LexLeanCollections.instKeyUInt32 +#print axioms LexLeanCollections.instKeyUInt64 +#print axioms LexLeanCollections.instKeyUInt8 +#print axioms LexLeanCollections.iterate +#print axioms LexLeanCollections.iterate._f +#print axioms LexLeanCollections.iterate._sunfold +#print axioms LexLeanCollections.iterate._unsafe_rec +#print axioms LexLeanCollections.iterate.match_1 +#print axioms LexLeanCollections.iterateUntil +#print axioms LexLeanCollections.iterateUntil._f +#print axioms LexLeanCollections.iterateUntil._sunfold +#print axioms LexLeanCollections.iterateUntil._unsafe_rec +#print axioms LexLeanCollections.iterateUntil.match_1 +#print axioms LexLeanCollections.lessThan +#print axioms LexLeanCollections.lessThan._sparseCasesOn_1 +#print axioms LexLeanCollections.lessThan.match_1 +#print axioms LexLeanCollections.listFold +#print axioms LexLeanCollections.lookupEntry +#print axioms LexLeanCollections.lookupEntry._f +#print axioms LexLeanCollections.lookupEntry._sunfold +#print axioms LexLeanCollections.lookupEntry._unsafe_rec +#print axioms LexLeanCollections.mapContains +#print axioms LexLeanCollections.mapEntries +#print axioms LexLeanCollections.mapFold +#print axioms LexLeanCollections.mapInsert +#print axioms LexLeanCollections.mapKeys +#print axioms LexLeanCollections.mapLookup +#print axioms LexLeanCollections.mapRemove +#print axioms LexLeanCollections.mapSize +#print axioms LexLeanCollections.mapValues +#print axioms LexLeanCollections.reachableFrom +#print axioms LexLeanCollections.reachableFrom._f +#print axioms LexLeanCollections.reachableFrom._sparseCasesOn_1 +#print axioms LexLeanCollections.reachableFrom._sunfold +#print axioms LexLeanCollections.reachableFrom._unsafe_rec +#print axioms LexLeanCollections.reachableFrom.match_1 +#print axioms LexLeanCollections.reachableFrom.match_4 +#print axioms LexLeanCollections.removeElement +#print axioms LexLeanCollections.removeElement._f +#print axioms LexLeanCollections.removeElement._sunfold +#print axioms LexLeanCollections.removeElement._unsafe_rec +#print axioms LexLeanCollections.removeEntry +#print axioms LexLeanCollections.removeEntry._f +#print axioms LexLeanCollections.removeEntry._sunfold +#print axioms LexLeanCollections.removeEntry._unsafe_rec +#print axioms LexLeanCollections.setContains +#print axioms LexLeanCollections.setDifference +#print axioms LexLeanCollections.setElements +#print axioms LexLeanCollections.setFold +#print axioms LexLeanCollections.setInsert +#print axioms LexLeanCollections.setIntersection +#print axioms LexLeanCollections.setRemove +#print axioms LexLeanCollections.setSize +#print axioms LexLeanCollections.setUnion +#print axioms LexLeanCollections.topological +#print axioms LexLeanCollections.topological._f +#print axioms LexLeanCollections.topological._sunfold +#print axioms LexLeanCollections.topological._unsafe_rec diff --git a/examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.LexLeanRuntime.Collections.process.json b/examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.LexLeanRuntime.Collections.process.json new file mode 100644 index 000000000..36a6ebf69 --- /dev/null +++ b/examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.LexLeanRuntime.Collections.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.LexLeanRuntime.Collections.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.LexLeanRuntime.Collections","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanCollections.Key' does not depend on any axioms\n'LexLeanCollections.Key.casesOn' does not depend on any axioms\n'LexLeanCollections.Key.compare' does not depend on any axioms\n'LexLeanCollections.Key.ctorIdx' does not depend on any axioms\n'LexLeanCollections.Key.mk._flat_ctor' does not depend on any axioms\n'LexLeanCollections.Key.mk.noConfusion' does not depend on any axioms\n'LexLeanCollections.Key.noConfusion' does not depend on any axioms\n'LexLeanCollections.Key.noConfusionType' does not depend on any axioms\n'LexLeanCollections.Key.recOn' does not depend on any axioms\n'LexLeanCollections.compareCodes' depends on axioms: [propext]\n'LexLeanCollections.compareCodes._f' depends on axioms: [propext]\n'LexLeanCollections.compareCodes._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanCollections.compareCodes._sunfold' depends on axioms: [propext]\n'LexLeanCollections.compareCodes._unsafe_rec' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.match_1' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.match_4' does not depend on any axioms\n'LexLeanCollections.containsElement' does not depend on any axioms\n'LexLeanCollections.containsElement._f' does not depend on any axioms\n'LexLeanCollections.containsElement._sunfold' does not depend on any axioms\n'LexLeanCollections.containsElement._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.graphNodes' does not depend on any axioms\n'LexLeanCollections.graphReachable' depends on axioms: [propext]\n'LexLeanCollections.graphSuccessors' does not depend on any axioms\n'LexLeanCollections.graphTopological' does not depend on any axioms\n'LexLeanCollections.insertElement' does not depend on any axioms\n'LexLeanCollections.insertElement._f' does not depend on any axioms\n'LexLeanCollections.insertElement._sunfold' does not depend on any axioms\n'LexLeanCollections.insertElement._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.insertElement.match_1' does not depend on any axioms\n'LexLeanCollections.insertEntry' does not depend on any axioms\n'LexLeanCollections.insertEntry._f' does not depend on any axioms\n'LexLeanCollections.insertEntry._sunfold' does not depend on any axioms\n'LexLeanCollections.insertEntry._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.insertEntry.match_1' does not depend on any axioms\n'LexLeanCollections.insertEntry.match_3' does not depend on any axioms\n'LexLeanCollections.instKeyBool' depends on axioms: [propext]\n'LexLeanCollections.instKeyInt' does not depend on any axioms\n'LexLeanCollections.instKeyInt16' does not depend on any axioms\n'LexLeanCollections.instKeyInt32' does not depend on any axioms\n'LexLeanCollections.instKeyInt64' does not depend on any axioms\n'LexLeanCollections.instKeyInt8' does not depend on any axioms\n'LexLeanCollections.instKeyNat' does not depend on any axioms\n'LexLeanCollections.instKeyProd' depends on axioms: [propext]\n'LexLeanCollections.instKeyString' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanCollections.instKeyUInt16' does not depend on any axioms\n'LexLeanCollections.instKeyUInt32' does not depend on any axioms\n'LexLeanCollections.instKeyUInt64' does not depend on any axioms\n'LexLeanCollections.instKeyUInt8' does not depend on any axioms\n'LexLeanCollections.iterate' does not depend on any axioms\n'LexLeanCollections.iterate._f' does not depend on any axioms\n'LexLeanCollections.iterate._sunfold' does not depend on any axioms\n'LexLeanCollections.iterate._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.iterate.match_1' does not depend on any axioms\n'LexLeanCollections.iterateUntil' does not depend on any axioms\n'LexLeanCollections.iterateUntil._f' does not depend on any axioms\n'LexLeanCollections.iterateUntil._sunfold' does not depend on any axioms\n'LexLeanCollections.iterateUntil._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.iterateUntil.match_1' does not depend on any axioms\n'LexLeanCollections.lessThan' depends on axioms: [propext]\n'LexLeanCollections.lessThan._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanCollections.lessThan.match_1' depends on axioms: [propext]\n'LexLeanCollections.listFold' does not depend on any axioms\n'LexLeanCollections.lookupEntry' does not depend on any axioms\n'LexLeanCollections.lookupEntry._f' does not depend on any axioms\n'LexLeanCollections.lookupEntry._sunfold' does not depend on any axioms\n'LexLeanCollections.lookupEntry._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.mapContains' does not depend on any axioms\n'LexLeanCollections.mapEntries' does not depend on any axioms\n'LexLeanCollections.mapFold' does not depend on any axioms\n'LexLeanCollections.mapInsert' does not depend on any axioms\n'LexLeanCollections.mapKeys' does not depend on any axioms\n'LexLeanCollections.mapLookup' does not depend on any axioms\n'LexLeanCollections.mapRemove' does not depend on any axioms\n'LexLeanCollections.mapSize' does not depend on any axioms\n'LexLeanCollections.mapValues' does not depend on any axioms\n'LexLeanCollections.reachableFrom' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom._f' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom._sunfold' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom._unsafe_rec' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom.match_1' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom.match_4' does not depend on any axioms\n'LexLeanCollections.removeElement' does not depend on any axioms\n'LexLeanCollections.removeElement._f' does not depend on any axioms\n'LexLeanCollections.removeElement._sunfold' does not depend on any axioms\n'LexLeanCollections.removeElement._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.removeEntry' does not depend on any axioms\n'LexLeanCollections.removeEntry._f' does not depend on any axioms\n'LexLeanCollections.removeEntry._sunfold' does not depend on any axioms\n'LexLeanCollections.removeEntry._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.setContains' does not depend on any axioms\n'LexLeanCollections.setDifference' does not depend on any axioms\n'LexLeanCollections.setElements' does not depend on any axioms\n'LexLeanCollections.setFold' does not depend on any axioms\n'LexLeanCollections.setInsert' does not depend on any axioms\n'LexLeanCollections.setIntersection' does not depend on any axioms\n'LexLeanCollections.setRemove' does not depend on any axioms\n'LexLeanCollections.setSize' does not depend on any axioms\n'LexLeanCollections.setUnion' does not depend on any axioms\n'LexLeanCollections.topological' does not depend on any axioms\n'LexLeanCollections.topological._f' does not depend on any axioms\n'LexLeanCollections.topological._sunfold' does not depend on any axioms\n'LexLeanCollections.topological._unsafe_rec' does not depend on any axioms\n","stdout_sha256":"b75acc0e99e23684c3cc876eacbfc93f47161cfee8a7440df17fa45f321c8c6a","tool":"lean"} diff --git a/examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.LexLeanRuntime.Portable.lean b/examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.LexLeanRuntime.Portable.lean new file mode 100644 index 000000000..dd62fd557 --- /dev/null +++ b/examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.LexLeanRuntime.Portable.lean @@ -0,0 +1,162 @@ +module +import LexLeanRuntime.Portable +#print axioms LexLeanRuntime.Appendable +#print axioms LexLeanRuntime.Appendable.append +#print axioms LexLeanRuntime.Appendable.casesOn +#print axioms LexLeanRuntime.Appendable.ctorIdx +#print axioms LexLeanRuntime.Appendable.mk._flat_ctor +#print axioms LexLeanRuntime.Appendable.mk.noConfusion +#print axioms LexLeanRuntime.Appendable.noConfusion +#print axioms LexLeanRuntime.Appendable.noConfusionType +#print axioms LexLeanRuntime.Appendable.recOn +#print axioms LexLeanRuntime.Decimal +#print axioms LexLeanRuntime.Decimal.casesOn +#print axioms LexLeanRuntime.Decimal.ctorIdx +#print axioms LexLeanRuntime.Decimal.format +#print axioms LexLeanRuntime.Decimal.mk._flat_ctor +#print axioms LexLeanRuntime.Decimal.mk.noConfusion +#print axioms LexLeanRuntime.Decimal.noConfusion +#print axioms LexLeanRuntime.Decimal.noConfusionType +#print axioms LexLeanRuntime.Decimal.parse +#print axioms LexLeanRuntime.Decimal.recOn +#print axioms LexLeanRuntime.Fixed +#print axioms LexLeanRuntime.Fixed.bitAnd +#print axioms LexLeanRuntime.Fixed.bitNot +#print axioms LexLeanRuntime.Fixed.bitOr +#print axioms LexLeanRuntime.Fixed.bitXor +#print axioms LexLeanRuntime.Fixed.casesOn +#print axioms LexLeanRuntime.Fixed.ctorIdx +#print axioms LexLeanRuntime.Fixed.fromInt +#print axioms LexLeanRuntime.Fixed.maximum +#print axioms LexLeanRuntime.Fixed.minimum +#print axioms LexLeanRuntime.Fixed.mk._flat_ctor +#print axioms LexLeanRuntime.Fixed.mk.noConfusion +#print axioms LexLeanRuntime.Fixed.noConfusion +#print axioms LexLeanRuntime.Fixed.noConfusionType +#print axioms LexLeanRuntime.Fixed.recOn +#print axioms LexLeanRuntime.Fixed.shiftLeft +#print axioms LexLeanRuntime.Fixed.shiftRight +#print axioms LexLeanRuntime.Fixed.toToMathInt +#print axioms LexLeanRuntime.Indexable +#print axioms LexLeanRuntime.Indexable.casesOn +#print axioms LexLeanRuntime.Indexable.ctorIdx +#print axioms LexLeanRuntime.Indexable.index +#print axioms LexLeanRuntime.Indexable.mk._flat_ctor +#print axioms LexLeanRuntime.Indexable.mk.noConfusion +#print axioms LexLeanRuntime.Indexable.noConfusion +#print axioms LexLeanRuntime.Indexable.noConfusionType +#print axioms LexLeanRuntime.Indexable.recOn +#print axioms LexLeanRuntime.Lengthable +#print axioms LexLeanRuntime.Lengthable.casesOn +#print axioms LexLeanRuntime.Lengthable.ctorIdx +#print axioms LexLeanRuntime.Lengthable.length +#print axioms LexLeanRuntime.Lengthable.mk._flat_ctor +#print axioms LexLeanRuntime.Lengthable.mk.noConfusion +#print axioms LexLeanRuntime.Lengthable.noConfusion +#print axioms LexLeanRuntime.Lengthable.noConfusionType +#print axioms LexLeanRuntime.Lengthable.recOn +#print axioms LexLeanRuntime.Quotient +#print axioms LexLeanRuntime.Quotient.casesOn +#print axioms LexLeanRuntime.Quotient.ctorIdx +#print axioms LexLeanRuntime.Quotient.isZero +#print axioms LexLeanRuntime.Quotient.mk._flat_ctor +#print axioms LexLeanRuntime.Quotient.mk.noConfusion +#print axioms LexLeanRuntime.Quotient.noConfusion +#print axioms LexLeanRuntime.Quotient.noConfusionType +#print axioms LexLeanRuntime.Quotient.quotient +#print axioms LexLeanRuntime.Quotient.recOn +#print axioms LexLeanRuntime.Quotient.remainder +#print axioms LexLeanRuntime.Sliceable +#print axioms LexLeanRuntime.Sliceable.casesOn +#print axioms LexLeanRuntime.Sliceable.ctorIdx +#print axioms LexLeanRuntime.Sliceable.mk._flat_ctor +#print axioms LexLeanRuntime.Sliceable.mk.noConfusion +#print axioms LexLeanRuntime.Sliceable.noConfusion +#print axioms LexLeanRuntime.Sliceable.noConfusionType +#print axioms LexLeanRuntime.Sliceable.recOn +#print axioms LexLeanRuntime.Sliceable.slice +#print axioms LexLeanRuntime.ToMathInt +#print axioms LexLeanRuntime.ToMathInt.casesOn +#print axioms LexLeanRuntime.ToMathInt.ctorIdx +#print axioms LexLeanRuntime.ToMathInt.mk._flat_ctor +#print axioms LexLeanRuntime.ToMathInt.mk.noConfusion +#print axioms LexLeanRuntime.ToMathInt.noConfusion +#print axioms LexLeanRuntime.ToMathInt.noConfusionType +#print axioms LexLeanRuntime.ToMathInt.recOn +#print axioms LexLeanRuntime.ToMathInt.toInt +#print axioms LexLeanRuntime.append +#print axioms LexLeanRuntime.bitAnd +#print axioms LexLeanRuntime.bitNot +#print axioms LexLeanRuntime.bitOr +#print axioms LexLeanRuntime.bitXor +#print axioms LexLeanRuntime.checkedAdd +#print axioms LexLeanRuntime.checkedAddInt64 +#print axioms LexLeanRuntime.checkedConvert +#print axioms LexLeanRuntime.checkedFromInt +#print axioms LexLeanRuntime.checkedMultiply +#print axioms LexLeanRuntime.checkedMultiplyInt64 +#print axioms LexLeanRuntime.checkedMultiplyInt64.match_1 +#print axioms LexLeanRuntime.checkedNegate +#print axioms LexLeanRuntime.checkedNegateInt64 +#print axioms LexLeanRuntime.checkedQuotient +#print axioms LexLeanRuntime.checkedQuotientInt64 +#print axioms LexLeanRuntime.checkedSubtract +#print axioms LexLeanRuntime.checkedSubtractInt64 +#print axioms LexLeanRuntime.compareBytes +#print axioms LexLeanRuntime.divideMagnitudeInt64 +#print axioms LexLeanRuntime.divideMagnitudeInt64._f +#print axioms LexLeanRuntime.divideMagnitudeInt64._sunfold +#print axioms LexLeanRuntime.divideMagnitudeInt64._unsafe_rec +#print axioms LexLeanRuntime.divideMagnitudeInt64.match_1 +#print axioms LexLeanRuntime.equal +#print axioms LexLeanRuntime.formatDecimal +#print axioms LexLeanRuntime.index +#print axioms LexLeanRuntime.instAppendableByteArray +#print axioms LexLeanRuntime.instAppendableList +#print axioms LexLeanRuntime.instDecimalInt +#print axioms LexLeanRuntime.instDecimalInt.match_1 +#print axioms LexLeanRuntime.instDecimalOfFixedOfToString +#print axioms LexLeanRuntime.instFixedInt16 +#print axioms LexLeanRuntime.instFixedInt32 +#print axioms LexLeanRuntime.instFixedInt64 +#print axioms LexLeanRuntime.instFixedInt8 +#print axioms LexLeanRuntime.instFixedUInt16 +#print axioms LexLeanRuntime.instFixedUInt32 +#print axioms LexLeanRuntime.instFixedUInt64 +#print axioms LexLeanRuntime.instFixedUInt8 +#print axioms LexLeanRuntime.instIndexableByteArrayUInt8 +#print axioms LexLeanRuntime.instIndexableList +#print axioms LexLeanRuntime.instLengthableByteArray +#print axioms LexLeanRuntime.instLengthableList +#print axioms LexLeanRuntime.instLengthableString +#print axioms LexLeanRuntime.instQuotientInt +#print axioms LexLeanRuntime.instQuotientNat +#print axioms LexLeanRuntime.instSliceableByteArray +#print axioms LexLeanRuntime.instSliceableList +#print axioms LexLeanRuntime.instToMathIntInt +#print axioms LexLeanRuntime.join +#print axioms LexLeanRuntime.length +#print axioms LexLeanRuntime.listIndex +#print axioms LexLeanRuntime.listIndex._f +#print axioms LexLeanRuntime.listIndex._sunfold +#print axioms LexLeanRuntime.listIndex._unsafe_rec +#print axioms LexLeanRuntime.listIndex.match_1 +#print axioms LexLeanRuntime.magnitudeInt64 +#print axioms LexLeanRuntime.multiply +#print axioms LexLeanRuntime.multiplyMagnitudeInt64 +#print axioms LexLeanRuntime.multiplyMagnitudeInt64._f +#print axioms LexLeanRuntime.multiplyMagnitudeInt64._sunfold +#print axioms LexLeanRuntime.multiplyMagnitudeInt64._unsafe_rec +#print axioms LexLeanRuntime.multiplyMagnitudeInt64.match_1 +#print axioms LexLeanRuntime.negate +#print axioms LexLeanRuntime.parseDecimal +#print axioms LexLeanRuntime.quotient +#print axioms LexLeanRuntime.remainder +#print axioms LexLeanRuntime.shiftLeft +#print axioms LexLeanRuntime.shiftRight +#print axioms LexLeanRuntime.signedMagnitudeInt64 +#print axioms LexLeanRuntime.slice +#print axioms LexLeanRuntime.splitExact +#print axioms LexLeanRuntime.subtract +#print axioms LexLeanRuntime.utf8Decode +#print axioms LexLeanRuntime.utf8Encode diff --git a/examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.LexLeanRuntime.Portable.process.json b/examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.LexLeanRuntime.Portable.process.json new file mode 100644 index 000000000..22b0701c5 --- /dev/null +++ b/examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.LexLeanRuntime.Portable.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.LexLeanRuntime.Portable.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.LexLeanRuntime.Portable","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanRuntime.Appendable' does not depend on any axioms\n'LexLeanRuntime.Appendable.append' does not depend on any axioms\n'LexLeanRuntime.Appendable.casesOn' does not depend on any axioms\n'LexLeanRuntime.Appendable.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Appendable.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Appendable.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Appendable.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Appendable.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Appendable.recOn' does not depend on any axioms\n'LexLeanRuntime.Decimal' does not depend on any axioms\n'LexLeanRuntime.Decimal.casesOn' does not depend on any axioms\n'LexLeanRuntime.Decimal.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Decimal.format' does not depend on any axioms\n'LexLeanRuntime.Decimal.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Decimal.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Decimal.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Decimal.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Decimal.parse' does not depend on any axioms\n'LexLeanRuntime.Decimal.recOn' does not depend on any axioms\n'LexLeanRuntime.Fixed' does not depend on any axioms\n'LexLeanRuntime.Fixed.bitAnd' does not depend on any axioms\n'LexLeanRuntime.Fixed.bitNot' does not depend on any axioms\n'LexLeanRuntime.Fixed.bitOr' does not depend on any axioms\n'LexLeanRuntime.Fixed.bitXor' does not depend on any axioms\n'LexLeanRuntime.Fixed.casesOn' does not depend on any axioms\n'LexLeanRuntime.Fixed.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Fixed.fromInt' does not depend on any axioms\n'LexLeanRuntime.Fixed.maximum' does not depend on any axioms\n'LexLeanRuntime.Fixed.minimum' does not depend on any axioms\n'LexLeanRuntime.Fixed.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Fixed.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Fixed.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Fixed.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Fixed.recOn' does not depend on any axioms\n'LexLeanRuntime.Fixed.shiftLeft' does not depend on any axioms\n'LexLeanRuntime.Fixed.shiftRight' does not depend on any axioms\n'LexLeanRuntime.Fixed.toToMathInt' does not depend on any axioms\n'LexLeanRuntime.Indexable' does not depend on any axioms\n'LexLeanRuntime.Indexable.casesOn' does not depend on any axioms\n'LexLeanRuntime.Indexable.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Indexable.index' does not depend on any axioms\n'LexLeanRuntime.Indexable.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Indexable.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Indexable.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Indexable.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Indexable.recOn' does not depend on any axioms\n'LexLeanRuntime.Lengthable' does not depend on any axioms\n'LexLeanRuntime.Lengthable.casesOn' does not depend on any axioms\n'LexLeanRuntime.Lengthable.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Lengthable.length' does not depend on any axioms\n'LexLeanRuntime.Lengthable.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Lengthable.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Lengthable.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Lengthable.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Lengthable.recOn' does not depend on any axioms\n'LexLeanRuntime.Quotient' does not depend on any axioms\n'LexLeanRuntime.Quotient.casesOn' does not depend on any axioms\n'LexLeanRuntime.Quotient.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Quotient.isZero' does not depend on any axioms\n'LexLeanRuntime.Quotient.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Quotient.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Quotient.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Quotient.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Quotient.quotient' does not depend on any axioms\n'LexLeanRuntime.Quotient.recOn' does not depend on any axioms\n'LexLeanRuntime.Quotient.remainder' does not depend on any axioms\n'LexLeanRuntime.Sliceable' does not depend on any axioms\n'LexLeanRuntime.Sliceable.casesOn' does not depend on any axioms\n'LexLeanRuntime.Sliceable.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Sliceable.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Sliceable.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Sliceable.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Sliceable.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Sliceable.recOn' does not depend on any axioms\n'LexLeanRuntime.Sliceable.slice' does not depend on any axioms\n'LexLeanRuntime.ToMathInt' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.casesOn' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.noConfusion' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.recOn' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.toInt' does not depend on any axioms\n'LexLeanRuntime.append' does not depend on any axioms\n'LexLeanRuntime.bitAnd' does not depend on any axioms\n'LexLeanRuntime.bitNot' does not depend on any axioms\n'LexLeanRuntime.bitOr' does not depend on any axioms\n'LexLeanRuntime.bitXor' does not depend on any axioms\n'LexLeanRuntime.checkedAdd' does not depend on any axioms\n'LexLeanRuntime.checkedAddInt64' does not depend on any axioms\n'LexLeanRuntime.checkedConvert' does not depend on any axioms\n'LexLeanRuntime.checkedFromInt' does not depend on any axioms\n'LexLeanRuntime.checkedMultiply' does not depend on any axioms\n'LexLeanRuntime.checkedMultiplyInt64' does not depend on any axioms\n'LexLeanRuntime.checkedMultiplyInt64.match_1' does not depend on any axioms\n'LexLeanRuntime.checkedNegate' does not depend on any axioms\n'LexLeanRuntime.checkedNegateInt64' does not depend on any axioms\n'LexLeanRuntime.checkedQuotient' does not depend on any axioms\n'LexLeanRuntime.checkedQuotientInt64' does not depend on any axioms\n'LexLeanRuntime.checkedSubtract' does not depend on any axioms\n'LexLeanRuntime.checkedSubtractInt64' does not depend on any axioms\n'LexLeanRuntime.compareBytes' depends on axioms: [propext]\n'LexLeanRuntime.divideMagnitudeInt64' does not depend on any axioms\n'LexLeanRuntime.divideMagnitudeInt64._f' does not depend on any axioms\n'LexLeanRuntime.divideMagnitudeInt64._sunfold' does not depend on any axioms\n'LexLeanRuntime.divideMagnitudeInt64._unsafe_rec' does not depend on any axioms\n'LexLeanRuntime.divideMagnitudeInt64.match_1' does not depend on any axioms\n'LexLeanRuntime.equal' does not depend on any axioms\n'LexLeanRuntime.formatDecimal' does not depend on any axioms\n'LexLeanRuntime.index' does not depend on any axioms\n'LexLeanRuntime.instAppendableByteArray' does not depend on any axioms\n'LexLeanRuntime.instAppendableList' does not depend on any axioms\n'LexLeanRuntime.instDecimalInt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.instDecimalInt.match_1' does not depend on any axioms\n'LexLeanRuntime.instDecimalOfFixedOfToString' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.instFixedInt16' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedInt32' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedInt64' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedInt8' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedUInt16' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedUInt32' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedUInt64' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedUInt8' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instIndexableByteArrayUInt8' does not depend on any axioms\n'LexLeanRuntime.instIndexableList' does not depend on any axioms\n'LexLeanRuntime.instLengthableByteArray' does not depend on any axioms\n'LexLeanRuntime.instLengthableList' does not depend on any axioms\n'LexLeanRuntime.instLengthableString' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.instQuotientInt' does not depend on any axioms\n'LexLeanRuntime.instQuotientNat' does not depend on any axioms\n'LexLeanRuntime.instSliceableByteArray' does not depend on any axioms\n'LexLeanRuntime.instSliceableList' does not depend on any axioms\n'LexLeanRuntime.instToMathIntInt' does not depend on any axioms\n'LexLeanRuntime.join' depends on axioms: [propext]\n'LexLeanRuntime.length' does not depend on any axioms\n'LexLeanRuntime.listIndex' does not depend on any axioms\n'LexLeanRuntime.listIndex._f' does not depend on any axioms\n'LexLeanRuntime.listIndex._sunfold' does not depend on any axioms\n'LexLeanRuntime.listIndex._unsafe_rec' does not depend on any axioms\n'LexLeanRuntime.listIndex.match_1' does not depend on any axioms\n'LexLeanRuntime.magnitudeInt64' does not depend on any axioms\n'LexLeanRuntime.multiply' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64._f' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64._sunfold' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64._unsafe_rec' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64.match_1' does not depend on any axioms\n'LexLeanRuntime.negate' does not depend on any axioms\n'LexLeanRuntime.parseDecimal' does not depend on any axioms\n'LexLeanRuntime.quotient' does not depend on any axioms\n'LexLeanRuntime.remainder' does not depend on any axioms\n'LexLeanRuntime.shiftLeft' does not depend on any axioms\n'LexLeanRuntime.shiftRight' does not depend on any axioms\n'LexLeanRuntime.signedMagnitudeInt64' does not depend on any axioms\n'LexLeanRuntime.slice' does not depend on any axioms\n'LexLeanRuntime.splitExact' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.subtract' does not depend on any axioms\n'LexLeanRuntime.utf8Decode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.utf8Encode' does not depend on any axioms\n","stdout_sha256":"73fea1d9e9e9f0a2f1363b9f284eeeb9e434430e9fa910260b9526bad864641e","tool":"lean"} diff --git a/examples/production/expected/verify/audit/LexLeanAudit.A7b8829e2cc52192864282f3d66903769.Production.Kernel.lean b/examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.Production.Kernel.lean similarity index 100% rename from examples/production/expected/verify/audit/LexLeanAudit.A7b8829e2cc52192864282f3d66903769.Production.Kernel.lean rename to examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.Production.Kernel.lean diff --git a/examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.Production.Kernel.process.json b/examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.Production.Kernel.process.json new file mode 100644 index 000000000..e13f7a041 --- /dev/null +++ b/examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.Production.Kernel.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.Production.Kernel.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.Production.Kernel","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Production.Kernel.Shape' does not depend on any axioms\n'Production.Kernel.applyTwice' does not depend on any axioms\n'Production.Kernel.area' does not depend on any axioms\n'Production.Kernel.area_square' does not depend on any axioms\n'Production.Kernel.countdown' depends on axioms: [propext, Quot.sound]\n'Production.Kernel.countdown_decreases' depends on axioms: [propext, Quot.sound]\n'Production.Kernel.firstOr' does not depend on any axioms\n'Production.Kernel.positive' does not depend on any axioms\n'Production.Kernel.total' does not depend on any axioms\n","stdout_sha256":"e7872f440e4a20755a5548c3999faa8297516295868ef0be032f4dff66e551ca","tool":"lean"} diff --git a/examples/production/expected/verify/audit/LexLeanAudit.A7b8829e2cc52192864282f3d66903769.Production.Main.lean b/examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.Production.Main.lean similarity index 100% rename from examples/production/expected/verify/audit/LexLeanAudit.A7b8829e2cc52192864282f3d66903769.Production.Main.lean rename to examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.Production.Main.lean diff --git a/examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.Production.Main.process.json b/examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.Production.Main.process.json new file mode 100644 index 000000000..72d10e27b --- /dev/null +++ b/examples/production/expected/verify/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.Production.Main.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.Production.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A0873d7adc0406a004403264fdb2d9dea.Production.Main","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Production.Main.checkedSum' depends on axioms: [propext, Quot.sound]\n'Production.Main.halvings' depends on axioms: [propext, Quot.sound]\n'Production.Main.headOr' does not depend on any axioms\n'Production.Main.quadruple' does not depend on any axioms\n'Production.Main.quadruple_three' does not depend on any axioms\n'Production.Main.shapeArea' does not depend on any axioms\n'Production.Main.sumAll' does not depend on any axioms\n'Production.Main.sum_three' does not depend on any axioms\n","stdout_sha256":"ecef933d7d628ddb695b86ecad94d180c8c2ce3a0bd988fe1d6bedb4e601987f","tool":"lean"} diff --git a/examples/production/expected/verify/audit/LexLeanAudit.A7b8829e2cc52192864282f3d66903769.Production.Kernel.process.json b/examples/production/expected/verify/audit/LexLeanAudit.A7b8829e2cc52192864282f3d66903769.Production.Kernel.process.json deleted file mode 100644 index 09aec59af..000000000 --- a/examples/production/expected/verify/audit/LexLeanAudit.A7b8829e2cc52192864282f3d66903769.Production.Kernel.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A7b8829e2cc52192864282f3d66903769.Production.Kernel.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A7b8829e2cc52192864282f3d66903769.Production.Kernel","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Production.Kernel.Shape' does not depend on any axioms\n'Production.Kernel.applyTwice' does not depend on any axioms\n'Production.Kernel.area' does not depend on any axioms\n'Production.Kernel.area_square' does not depend on any axioms\n'Production.Kernel.countdown' depends on axioms: [propext, Quot.sound]\n'Production.Kernel.countdown_decreases' depends on axioms: [propext, Quot.sound]\n'Production.Kernel.firstOr' does not depend on any axioms\n'Production.Kernel.positive' does not depend on any axioms\n'Production.Kernel.total' does not depend on any axioms\n","stdout_sha256":"e7872f440e4a20755a5548c3999faa8297516295868ef0be032f4dff66e551ca","tool":"lean"} diff --git a/examples/production/expected/verify/audit/LexLeanAudit.A7b8829e2cc52192864282f3d66903769.Production.Main.process.json b/examples/production/expected/verify/audit/LexLeanAudit.A7b8829e2cc52192864282f3d66903769.Production.Main.process.json deleted file mode 100644 index dbb9a15d5..000000000 --- a/examples/production/expected/verify/audit/LexLeanAudit.A7b8829e2cc52192864282f3d66903769.Production.Main.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A7b8829e2cc52192864282f3d66903769.Production.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A7b8829e2cc52192864282f3d66903769.Production.Main","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Production.Main.checkedSum' depends on axioms: [propext, Quot.sound]\n'Production.Main.halvings' depends on axioms: [propext, Quot.sound]\n'Production.Main.headOr' does not depend on any axioms\n'Production.Main.quadruple' does not depend on any axioms\n'Production.Main.quadruple_three' does not depend on any axioms\n'Production.Main.shapeArea' does not depend on any axioms\n'Production.Main.sumAll' does not depend on any axioms\n'Production.Main.sum_three' does not depend on any axioms\n","stdout_sha256":"ecef933d7d628ddb695b86ecad94d180c8c2ce3a0bd988fe1d6bedb4e601987f","tool":"lean"} diff --git a/examples/production/expected/verify/audit/output.txt b/examples/production/expected/verify/audit/output.txt index d1b6fc6a0..deef6e665 100644 --- a/examples/production/expected/verify/audit/output.txt +++ b/examples/production/expected/verify/audit/output.txt @@ -1,3 +1,266 @@ +'LexLeanCollections.Key' does not depend on any axioms +'LexLeanCollections.Key.casesOn' does not depend on any axioms +'LexLeanCollections.Key.compare' does not depend on any axioms +'LexLeanCollections.Key.ctorIdx' does not depend on any axioms +'LexLeanCollections.Key.mk._flat_ctor' does not depend on any axioms +'LexLeanCollections.Key.mk.noConfusion' does not depend on any axioms +'LexLeanCollections.Key.noConfusion' does not depend on any axioms +'LexLeanCollections.Key.noConfusionType' does not depend on any axioms +'LexLeanCollections.Key.recOn' does not depend on any axioms +'LexLeanCollections.compareCodes' depends on axioms: [propext] +'LexLeanCollections.compareCodes._f' depends on axioms: [propext] +'LexLeanCollections.compareCodes._sparseCasesOn_1' depends on axioms: [propext] +'LexLeanCollections.compareCodes._sunfold' depends on axioms: [propext] +'LexLeanCollections.compareCodes._unsafe_rec' depends on axioms: [propext] +'LexLeanCollections.compareCodes.match_1' depends on axioms: [propext] +'LexLeanCollections.compareCodes.match_4' does not depend on any axioms +'LexLeanCollections.containsElement' does not depend on any axioms +'LexLeanCollections.containsElement._f' does not depend on any axioms +'LexLeanCollections.containsElement._sunfold' does not depend on any axioms +'LexLeanCollections.containsElement._unsafe_rec' does not depend on any axioms +'LexLeanCollections.graphNodes' does not depend on any axioms +'LexLeanCollections.graphReachable' depends on axioms: [propext] +'LexLeanCollections.graphSuccessors' does not depend on any axioms +'LexLeanCollections.graphTopological' does not depend on any axioms +'LexLeanCollections.insertElement' does not depend on any axioms +'LexLeanCollections.insertElement._f' does not depend on any axioms +'LexLeanCollections.insertElement._sunfold' does not depend on any axioms +'LexLeanCollections.insertElement._unsafe_rec' does not depend on any axioms +'LexLeanCollections.insertElement.match_1' does not depend on any axioms +'LexLeanCollections.insertEntry' does not depend on any axioms +'LexLeanCollections.insertEntry._f' does not depend on any axioms +'LexLeanCollections.insertEntry._sunfold' does not depend on any axioms +'LexLeanCollections.insertEntry._unsafe_rec' does not depend on any axioms +'LexLeanCollections.insertEntry.match_1' does not depend on any axioms +'LexLeanCollections.insertEntry.match_3' does not depend on any axioms +'LexLeanCollections.instKeyBool' depends on axioms: [propext] +'LexLeanCollections.instKeyInt' does not depend on any axioms +'LexLeanCollections.instKeyInt16' does not depend on any axioms +'LexLeanCollections.instKeyInt32' does not depend on any axioms +'LexLeanCollections.instKeyInt64' does not depend on any axioms +'LexLeanCollections.instKeyInt8' does not depend on any axioms +'LexLeanCollections.instKeyNat' does not depend on any axioms +'LexLeanCollections.instKeyProd' depends on axioms: [propext] +'LexLeanCollections.instKeyString' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanCollections.instKeyUInt16' does not depend on any axioms +'LexLeanCollections.instKeyUInt32' does not depend on any axioms +'LexLeanCollections.instKeyUInt64' does not depend on any axioms +'LexLeanCollections.instKeyUInt8' does not depend on any axioms +'LexLeanCollections.iterate' does not depend on any axioms +'LexLeanCollections.iterate._f' does not depend on any axioms +'LexLeanCollections.iterate._sunfold' does not depend on any axioms +'LexLeanCollections.iterate._unsafe_rec' does not depend on any axioms +'LexLeanCollections.iterate.match_1' does not depend on any axioms +'LexLeanCollections.iterateUntil' does not depend on any axioms +'LexLeanCollections.iterateUntil._f' does not depend on any axioms +'LexLeanCollections.iterateUntil._sunfold' does not depend on any axioms +'LexLeanCollections.iterateUntil._unsafe_rec' does not depend on any axioms +'LexLeanCollections.iterateUntil.match_1' does not depend on any axioms +'LexLeanCollections.lessThan' depends on axioms: [propext] +'LexLeanCollections.lessThan._sparseCasesOn_1' depends on axioms: [propext] +'LexLeanCollections.lessThan.match_1' depends on axioms: [propext] +'LexLeanCollections.listFold' does not depend on any axioms +'LexLeanCollections.lookupEntry' does not depend on any axioms +'LexLeanCollections.lookupEntry._f' does not depend on any axioms +'LexLeanCollections.lookupEntry._sunfold' does not depend on any axioms +'LexLeanCollections.lookupEntry._unsafe_rec' does not depend on any axioms +'LexLeanCollections.mapContains' does not depend on any axioms +'LexLeanCollections.mapEntries' does not depend on any axioms +'LexLeanCollections.mapFold' does not depend on any axioms +'LexLeanCollections.mapInsert' does not depend on any axioms +'LexLeanCollections.mapKeys' does not depend on any axioms +'LexLeanCollections.mapLookup' does not depend on any axioms +'LexLeanCollections.mapRemove' does not depend on any axioms +'LexLeanCollections.mapSize' does not depend on any axioms +'LexLeanCollections.mapValues' does not depend on any axioms +'LexLeanCollections.reachableFrom' depends on axioms: [propext] +'LexLeanCollections.reachableFrom._f' depends on axioms: [propext] +'LexLeanCollections.reachableFrom._sparseCasesOn_1' depends on axioms: [propext] +'LexLeanCollections.reachableFrom._sunfold' depends on axioms: [propext] +'LexLeanCollections.reachableFrom._unsafe_rec' depends on axioms: [propext] +'LexLeanCollections.reachableFrom.match_1' depends on axioms: [propext] +'LexLeanCollections.reachableFrom.match_4' does not depend on any axioms +'LexLeanCollections.removeElement' does not depend on any axioms +'LexLeanCollections.removeElement._f' does not depend on any axioms +'LexLeanCollections.removeElement._sunfold' does not depend on any axioms +'LexLeanCollections.removeElement._unsafe_rec' does not depend on any axioms +'LexLeanCollections.removeEntry' does not depend on any axioms +'LexLeanCollections.removeEntry._f' does not depend on any axioms +'LexLeanCollections.removeEntry._sunfold' does not depend on any axioms +'LexLeanCollections.removeEntry._unsafe_rec' does not depend on any axioms +'LexLeanCollections.setContains' does not depend on any axioms +'LexLeanCollections.setDifference' does not depend on any axioms +'LexLeanCollections.setElements' does not depend on any axioms +'LexLeanCollections.setFold' does not depend on any axioms +'LexLeanCollections.setInsert' does not depend on any axioms +'LexLeanCollections.setIntersection' does not depend on any axioms +'LexLeanCollections.setRemove' does not depend on any axioms +'LexLeanCollections.setSize' does not depend on any axioms +'LexLeanCollections.setUnion' does not depend on any axioms +'LexLeanCollections.topological' does not depend on any axioms +'LexLeanCollections.topological._f' does not depend on any axioms +'LexLeanCollections.topological._sunfold' does not depend on any axioms +'LexLeanCollections.topological._unsafe_rec' does not depend on any axioms +'LexLeanRuntime.Appendable' does not depend on any axioms +'LexLeanRuntime.Appendable.append' does not depend on any axioms +'LexLeanRuntime.Appendable.casesOn' does not depend on any axioms +'LexLeanRuntime.Appendable.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Appendable.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Appendable.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Appendable.noConfusion' does not depend on any axioms +'LexLeanRuntime.Appendable.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Appendable.recOn' does not depend on any axioms +'LexLeanRuntime.Decimal' does not depend on any axioms +'LexLeanRuntime.Decimal.casesOn' does not depend on any axioms +'LexLeanRuntime.Decimal.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Decimal.format' does not depend on any axioms +'LexLeanRuntime.Decimal.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Decimal.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Decimal.noConfusion' does not depend on any axioms +'LexLeanRuntime.Decimal.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Decimal.parse' does not depend on any axioms +'LexLeanRuntime.Decimal.recOn' does not depend on any axioms +'LexLeanRuntime.Fixed' does not depend on any axioms +'LexLeanRuntime.Fixed.bitAnd' does not depend on any axioms +'LexLeanRuntime.Fixed.bitNot' does not depend on any axioms +'LexLeanRuntime.Fixed.bitOr' does not depend on any axioms +'LexLeanRuntime.Fixed.bitXor' does not depend on any axioms +'LexLeanRuntime.Fixed.casesOn' does not depend on any axioms +'LexLeanRuntime.Fixed.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Fixed.fromInt' does not depend on any axioms +'LexLeanRuntime.Fixed.maximum' does not depend on any axioms +'LexLeanRuntime.Fixed.minimum' does not depend on any axioms +'LexLeanRuntime.Fixed.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Fixed.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Fixed.noConfusion' does not depend on any axioms +'LexLeanRuntime.Fixed.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Fixed.recOn' does not depend on any axioms +'LexLeanRuntime.Fixed.shiftLeft' does not depend on any axioms +'LexLeanRuntime.Fixed.shiftRight' does not depend on any axioms +'LexLeanRuntime.Fixed.toToMathInt' does not depend on any axioms +'LexLeanRuntime.Indexable' does not depend on any axioms +'LexLeanRuntime.Indexable.casesOn' does not depend on any axioms +'LexLeanRuntime.Indexable.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Indexable.index' does not depend on any axioms +'LexLeanRuntime.Indexable.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Indexable.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Indexable.noConfusion' does not depend on any axioms +'LexLeanRuntime.Indexable.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Indexable.recOn' does not depend on any axioms +'LexLeanRuntime.Lengthable' does not depend on any axioms +'LexLeanRuntime.Lengthable.casesOn' does not depend on any axioms +'LexLeanRuntime.Lengthable.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Lengthable.length' does not depend on any axioms +'LexLeanRuntime.Lengthable.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Lengthable.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Lengthable.noConfusion' does not depend on any axioms +'LexLeanRuntime.Lengthable.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Lengthable.recOn' does not depend on any axioms +'LexLeanRuntime.Quotient' does not depend on any axioms +'LexLeanRuntime.Quotient.casesOn' does not depend on any axioms +'LexLeanRuntime.Quotient.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Quotient.isZero' does not depend on any axioms +'LexLeanRuntime.Quotient.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Quotient.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Quotient.noConfusion' does not depend on any axioms +'LexLeanRuntime.Quotient.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Quotient.quotient' does not depend on any axioms +'LexLeanRuntime.Quotient.recOn' does not depend on any axioms +'LexLeanRuntime.Quotient.remainder' does not depend on any axioms +'LexLeanRuntime.Sliceable' does not depend on any axioms +'LexLeanRuntime.Sliceable.casesOn' does not depend on any axioms +'LexLeanRuntime.Sliceable.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Sliceable.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Sliceable.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Sliceable.noConfusion' does not depend on any axioms +'LexLeanRuntime.Sliceable.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Sliceable.recOn' does not depend on any axioms +'LexLeanRuntime.Sliceable.slice' does not depend on any axioms +'LexLeanRuntime.ToMathInt' does not depend on any axioms +'LexLeanRuntime.ToMathInt.casesOn' does not depend on any axioms +'LexLeanRuntime.ToMathInt.ctorIdx' does not depend on any axioms +'LexLeanRuntime.ToMathInt.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.ToMathInt.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.ToMathInt.noConfusion' does not depend on any axioms +'LexLeanRuntime.ToMathInt.noConfusionType' does not depend on any axioms +'LexLeanRuntime.ToMathInt.recOn' does not depend on any axioms +'LexLeanRuntime.ToMathInt.toInt' does not depend on any axioms +'LexLeanRuntime.append' does not depend on any axioms +'LexLeanRuntime.bitAnd' does not depend on any axioms +'LexLeanRuntime.bitNot' does not depend on any axioms +'LexLeanRuntime.bitOr' does not depend on any axioms +'LexLeanRuntime.bitXor' does not depend on any axioms +'LexLeanRuntime.checkedAdd' does not depend on any axioms +'LexLeanRuntime.checkedAddInt64' does not depend on any axioms +'LexLeanRuntime.checkedConvert' does not depend on any axioms +'LexLeanRuntime.checkedFromInt' does not depend on any axioms +'LexLeanRuntime.checkedMultiply' does not depend on any axioms +'LexLeanRuntime.checkedMultiplyInt64' does not depend on any axioms +'LexLeanRuntime.checkedMultiplyInt64.match_1' does not depend on any axioms +'LexLeanRuntime.checkedNegate' does not depend on any axioms +'LexLeanRuntime.checkedNegateInt64' does not depend on any axioms +'LexLeanRuntime.checkedQuotient' does not depend on any axioms +'LexLeanRuntime.checkedQuotientInt64' does not depend on any axioms +'LexLeanRuntime.checkedSubtract' does not depend on any axioms +'LexLeanRuntime.checkedSubtractInt64' does not depend on any axioms +'LexLeanRuntime.compareBytes' depends on axioms: [propext] +'LexLeanRuntime.divideMagnitudeInt64' does not depend on any axioms +'LexLeanRuntime.divideMagnitudeInt64._f' does not depend on any axioms +'LexLeanRuntime.divideMagnitudeInt64._sunfold' does not depend on any axioms +'LexLeanRuntime.divideMagnitudeInt64._unsafe_rec' does not depend on any axioms +'LexLeanRuntime.divideMagnitudeInt64.match_1' does not depend on any axioms +'LexLeanRuntime.equal' does not depend on any axioms +'LexLeanRuntime.formatDecimal' does not depend on any axioms +'LexLeanRuntime.index' does not depend on any axioms +'LexLeanRuntime.instAppendableByteArray' does not depend on any axioms +'LexLeanRuntime.instAppendableList' does not depend on any axioms +'LexLeanRuntime.instDecimalInt' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.instDecimalInt.match_1' does not depend on any axioms +'LexLeanRuntime.instDecimalOfFixedOfToString' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.instFixedInt16' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedInt32' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedInt64' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedInt8' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedUInt16' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedUInt32' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedUInt64' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedUInt8' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instIndexableByteArrayUInt8' does not depend on any axioms +'LexLeanRuntime.instIndexableList' does not depend on any axioms +'LexLeanRuntime.instLengthableByteArray' does not depend on any axioms +'LexLeanRuntime.instLengthableList' does not depend on any axioms +'LexLeanRuntime.instLengthableString' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.instQuotientInt' does not depend on any axioms +'LexLeanRuntime.instQuotientNat' does not depend on any axioms +'LexLeanRuntime.instSliceableByteArray' does not depend on any axioms +'LexLeanRuntime.instSliceableList' does not depend on any axioms +'LexLeanRuntime.instToMathIntInt' does not depend on any axioms +'LexLeanRuntime.join' depends on axioms: [propext] +'LexLeanRuntime.length' does not depend on any axioms +'LexLeanRuntime.listIndex' does not depend on any axioms +'LexLeanRuntime.listIndex._f' does not depend on any axioms +'LexLeanRuntime.listIndex._sunfold' does not depend on any axioms +'LexLeanRuntime.listIndex._unsafe_rec' does not depend on any axioms +'LexLeanRuntime.listIndex.match_1' does not depend on any axioms +'LexLeanRuntime.magnitudeInt64' does not depend on any axioms +'LexLeanRuntime.multiply' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64._f' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64._sunfold' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64._unsafe_rec' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64.match_1' does not depend on any axioms +'LexLeanRuntime.negate' does not depend on any axioms +'LexLeanRuntime.parseDecimal' does not depend on any axioms +'LexLeanRuntime.quotient' does not depend on any axioms +'LexLeanRuntime.remainder' does not depend on any axioms +'LexLeanRuntime.shiftLeft' does not depend on any axioms +'LexLeanRuntime.shiftRight' does not depend on any axioms +'LexLeanRuntime.signedMagnitudeInt64' does not depend on any axioms +'LexLeanRuntime.slice' does not depend on any axioms +'LexLeanRuntime.splitExact' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.subtract' does not depend on any axioms +'LexLeanRuntime.utf8Decode' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.utf8Encode' does not depend on any axioms 'Production.Kernel.Shape' does not depend on any axioms 'Production.Kernel.applyTwice' does not depend on any axioms 'Production.Kernel.area' does not depend on any axioms diff --git a/examples/production/expected/verify/extract/LexLeanExtract.X0873d7adc0406a004403264fdb2d9dea.lean b/examples/production/expected/verify/extract/LexLeanExtract.X0873d7adc0406a004403264fdb2d9dea.lean new file mode 100644 index 000000000..c68ef2adf --- /dev/null +++ b/examples/production/expected/verify/extract/LexLeanExtract.X0873d7adc0406a004403264fdb2d9dea.lean @@ -0,0 +1,434 @@ +module +public meta import Lean +import all LexLeanRuntime.Portable +import all LexLeanRuntime.Collections +import all Production.Kernel +import all Production.Main +set_option autoImplicit false +set_option linter.unusedVariables false +universe u u_1 u_2 v w + +meta def LexLeanExtract.escape (text : String) : String := + (String.foldl (α := String) (fun (out : String) (c : Char) => (if (BEq.beq (α := Char) c '"') then (String.append out "\\\"") else (if (BEq.beq (α := Char) c '\\') then (String.append out "\\\\") else (if (Nat.blt (Char.toNat c) 32) then (String.append out (String.append "\\u" (String.ofList (List.drop (α := Char) 1 (Nat.toDigits 16 (Nat.add (Char.toNat c) 65536)))))) else (String.push out c))))) "" text) + +meta def LexLeanExtract.str (text : String) : String := + (String.append "\"" (String.append (LexLeanExtract.escape text) "\"")) + +meta def LexLeanExtract.name (n : Lean.Name) : String := + (LexLeanExtract.str (Lean.Name.toString n)) + +meta def LexLeanExtract.arr (items : (List String)) : String := + (String.append "[" (String.append (String.intercalate "," items) "]")) + +meta def LexLeanExtract.obj (fields : (List (Prod String String))) : String := + (String.append "{" (String.append (String.intercalate "," (List.map (α := (Prod String String)) (β := String) (fun (kv : (Prod String String)) => (String.append (LexLeanExtract.str (kv).fst) (String.append ":" (kv).snd))) fields)) "}")) + +meta def LexLeanExtract.bool (value : Bool) : String := + (if value then "true" else "false") + +meta def LexLeanExtract.fvar (id : Lean.FVarId) : String := + (LexLeanExtract.name (id).name) + +meta partial def LexLeanExtract.mergeNames (a : (List Lean.Name)) (b : (List Lean.Name)) : (List Lean.Name) := + (match a with | .nil => b | .cons x xs => (match b with | .nil => a | .cons y ys => (if (Lean.Name.lt y x) then (List.cons (α := Lean.Name) y (LexLeanExtract.mergeNames a ys)) else (List.cons (α := Lean.Name) x (LexLeanExtract.mergeNames xs b))))) + +meta partial def LexLeanExtract.splitNames (l : (List Lean.Name)) : (Prod (List Lean.Name) (List Lean.Name)) := + (match l with | .nil => (Prod.mk (α := (List Lean.Name)) (β := (List Lean.Name)) (List.nil (α := Lean.Name)) (List.nil (α := Lean.Name))) | .cons x xs => (let rest : (Prod (List Lean.Name) (List Lean.Name)) := (LexLeanExtract.splitNames xs); (Prod.mk (α := (List Lean.Name)) (β := (List Lean.Name)) (List.cons (α := Lean.Name) x (rest).snd) (rest).fst))) + +meta partial def LexLeanExtract.sortNames (l : (List Lean.Name)) : (List Lean.Name) := + (match l with | .nil => (List.nil (α := Lean.Name)) | .cons x xs => (match xs with | .nil => l | .cons y ys => (let halves : (Prod (List Lean.Name) (List Lean.Name)) := (LexLeanExtract.splitNames l); (LexLeanExtract.mergeNames (LexLeanExtract.sortNames (halves).fst) (LexLeanExtract.sortNames (halves).snd))))) + +meta def LexLeanExtract.sorted (names : (Std.HashSet Lean.Name)) : (List Lean.Name) := + (LexLeanExtract.sortNames (Std.HashSet.toList (α := Lean.Name) names)) + +meta def LexLeanExtract.insert (names : (Std.HashSet Lean.Name)) (n : Lean.Name) : (Std.HashSet Lean.Name) := + (Std.HashSet.insert (α := Lean.Name) names n) + +meta partial def LexLeanExtract.type (e : Lean.Expr) : String := + (match e with | .const n us => (if (BEq.beq (α := Lean.Name) n ``lcErased) then (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "erased"))] : List (Prod String String)))) else (if (BEq.beq (α := Lean.Name) n ``lcAny) then (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "any"))] : List (Prod String String)))) else (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "const")), (Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name n)), (Prod.mk (α := String) (β := String) "levels" (LexLeanExtract.arr (List.map (α := Lean.Level) (β := String) (fun (u : Lean.Level) => (LexLeanExtract.str (ToString.toString (α := Lean.Level) u))) us)))] : List (Prod String String)))))) | .app fn arg => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "app")), (Prod.mk (α := String) (β := String) "head" (LexLeanExtract.type (Lean.Expr.getAppFn e))), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := Lean.Expr) (β := String) (fun (a : Lean.Expr) => (LexLeanExtract.type a)) (Array.toList (α := Lean.Expr) (Lean.Expr.getAppArgs e)))))] : List (Prod String String)))) | .forallE binderName domain body binderInfo => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "arrow")), (Prod.mk (α := String) (β := String) "domain" (LexLeanExtract.type domain)), (Prod.mk (α := String) (β := String) "codomain" (LexLeanExtract.type body))] : List (Prod String String)))) | .fvar id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "fvar")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar id))] : List (Prod String String)))) | .bvar position => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "bvar")), (Prod.mk (α := String) (β := String) "index" (ToString.toString (α := Nat) position))] : List (Prod String String)))) | .sort u => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "sort")), (Prod.mk (α := String) (β := String) "level" (LexLeanExtract.str (ToString.toString (α := Lean.Level) u)))] : List (Prod String String)))) | .mvar id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "metavariable"))] : List (Prod String String)))) | .lam binderName domain body binderInfo => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "lambda"))] : List (Prod String String)))) | .letE declName t value body nonDep => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "let"))] : List (Prod String String)))) | .lit literal => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "literal"))] : List (Prod String String)))) | .mdata data body => (match (Lean.annotation? (Lean.Name.mkSimple "borrowed") e) with | .some annotated => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "borrowed")), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type body))] : List (Prod String String)))) | .none => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "metadata"))] : List (Prod String String))))) | .proj typeName idx struct => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "projection"))] : List (Prod String String))))) + +meta def LexLeanExtract.arg (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) : String := + (match a with | .erased => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "erased"))] : List (Prod String String)))) | .fvar id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "fvar")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar id))] : List (Prod String String)))) | .type e => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "type")), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type e))] : List (Prod String String))))) + +meta def LexLeanExtract.literal (value : Lean.Compiler.LCNF.LitValue) : String := + (match value with | .nat v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "nat")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) v)))] : List (Prod String String)))) | .str v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "string")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str v))] : List (Prod String String)))) | .uint8 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint8")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt8.toNat v))))] : List (Prod String String)))) | .uint16 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint16")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt16.toNat v))))] : List (Prod String String)))) | .uint32 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint32")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt32.toNat v))))] : List (Prod String String)))) | .uint64 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint64")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt64.toNat v))))] : List (Prod String String)))) | .usize v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "usize")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt64.toNat v))))] : List (Prod String String))))) + +meta def LexLeanExtract.letValue (v : (Lean.Compiler.LCNF.LetValue Lean.Compiler.LCNF.Purity.pure)) : String := + (match v with | .lit value => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "literal")), (Prod.mk (α := String) (β := String) "literal" (LexLeanExtract.literal value))] : List (Prod String String)))) | .erased => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "erased"))] : List (Prod String String)))) | .proj typeName position struct => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "projection")), (Prod.mk (α := String) (β := String) "type_name" (LexLeanExtract.name typeName)), (Prod.mk (α := String) (β := String) "index" (ToString.toString (α := Nat) position)), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.fvar struct))] : List (Prod String String)))) | .const declName us args => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "const")), (Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name declName)), (Prod.mk (α := String) (β := String) "levels" (LexLeanExtract.arr (List.map (α := Lean.Level) (β := String) (fun (u : Lean.Level) => (LexLeanExtract.str (ToString.toString (α := Lean.Level) u))) us))), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.arg a)) (Array.toList (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) args))))] : List (Prod String String)))) | .fvar id args => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "apply")), (Prod.mk (α := String) (β := String) "function" (LexLeanExtract.fvar id)), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.arg a)) (Array.toList (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) args))))] : List (Prod String String))))) + +meta def LexLeanExtract.param (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) : String := + (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar (p).fvarId)), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type (p).type)), (Prod.mk (α := String) (β := String) "borrow" (LexLeanExtract.bool (p).borrow))] : List (Prod String String)))) + +mutual +meta partial def LexLeanExtract.code (c : (Lean.Compiler.LCNF.Code Lean.Compiler.LCNF.Purity.pure)) : String := + (match c with | .«let» decl k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "let")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar (decl).fvarId)), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type (decl).type)), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.letValue (decl).value)), (Prod.mk (α := String) (β := String) "body" (LexLeanExtract.code k))] : List (Prod String String)))) | .«fun» decl k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "fun")), (Prod.mk (α := String) (β := String) "declaration" (LexLeanExtract.funDecl decl)), (Prod.mk (α := String) (β := String) "body" (LexLeanExtract.code k))] : List (Prod String String)))) | .jp decl k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "join")), (Prod.mk (α := String) (β := String) "declaration" (LexLeanExtract.funDecl decl)), (Prod.mk (α := String) (β := String) "body" (LexLeanExtract.code k))] : List (Prod String String)))) | .jmp id args => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "jump")), (Prod.mk (α := String) (β := String) "target" (LexLeanExtract.fvar id)), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.arg a)) (Array.toList (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) args))))] : List (Prod String String)))) | .cases cs => (LexLeanExtract.cases cs) | .«return» id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "return")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar id))] : List (Prod String String)))) | .unreach t => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unreachable")), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type t))] : List (Prod String String))))) + +meta partial def LexLeanExtract.funDecl (d : (Lean.Compiler.LCNF.FunDecl Lean.Compiler.LCNF.Purity.pure)) : String := + (match d with | .mk fvarId binderName params type value => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar fvarId)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param p)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) params)))), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type type)), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.code value))] : List (Prod String String))))) + +meta partial def LexLeanExtract.cases (cs : (Lean.Compiler.LCNF.Cases Lean.Compiler.LCNF.Purity.pure)) : String := + (match cs with | .mk typeName resultType discr alts => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "cases")), (Prod.mk (α := String) (β := String) "type_name" (LexLeanExtract.name typeName)), (Prod.mk (α := String) (β := String) "result_type" (LexLeanExtract.type resultType)), (Prod.mk (α := String) (β := String) "discriminant" (LexLeanExtract.fvar discr)), (Prod.mk (α := String) (β := String) "alternatives" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.alt a)) (Array.toList (α := (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) alts))))] : List (Prod String String))))) + +meta partial def LexLeanExtract.alt (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) : String := + (match a with | .alt ctorName params k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "constructor")), (Prod.mk (α := String) (β := String) "constructor" (LexLeanExtract.name ctorName)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param p)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) params)))), (Prod.mk (α := String) (β := String) "code" (LexLeanExtract.code k))] : List (Prod String String)))) | .default k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "default")), (Prod.mk (α := String) (β := String) "code" (LexLeanExtract.code k))] : List (Prod String String))))) +end + +meta partial def LexLeanExtract.typeConstants (e : Lean.Expr) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (match e with | .const n us => (if (Bool.or (BEq.beq (α := Lean.Name) n ``lcErased) (BEq.beq (α := Lean.Name) n ``lcAny)) then out else (LexLeanExtract.insert out n)) | .app f a => (LexLeanExtract.typeConstants a (LexLeanExtract.typeConstants f out)) | .forallE binderName d b binderInfo => (LexLeanExtract.typeConstants b (LexLeanExtract.typeConstants d out)) | .bvar position => out | .fvar id => out | .mvar id => out | .sort u => out | .lit literal => out | .lam binderName d b binderInfo => (LexLeanExtract.typeConstants b (LexLeanExtract.typeConstants d out)) | .letE declName t v b nonDep => (LexLeanExtract.typeConstants b (LexLeanExtract.typeConstants v (LexLeanExtract.typeConstants t out))) | .mdata data b => (LexLeanExtract.typeConstants b out) | .proj typeName idx b => (LexLeanExtract.typeConstants b (LexLeanExtract.insert out typeName))) + +meta def LexLeanExtract.argConstants (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (match a with | .type e => (LexLeanExtract.typeConstants e out) | .erased => out | .fvar id => out) + +meta def LexLeanExtract.paramConstants (ps : (Array (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure))) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (Array.foldl (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.typeConstants (p).type acc)) out ps) + +meta def LexLeanExtract.letValueConstants (v : (Lean.Compiler.LCNF.LetValue Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (match v with | .const n us args => (Array.foldl (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.argConstants a acc)) (LexLeanExtract.insert out n) args) | .fvar id args => (Array.foldl (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.argConstants a acc)) out args) | .proj typeName position struct => (LexLeanExtract.insert out typeName) | .lit value => out | .erased => out) + +mutual +meta partial def LexLeanExtract.codeConstants (c : (Lean.Compiler.LCNF.Code Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (match c with | .«let» decl k => (LexLeanExtract.codeConstants k (LexLeanExtract.letValueConstants (decl).value (LexLeanExtract.typeConstants (decl).type out))) | .«fun» decl k => (LexLeanExtract.codeConstants k (LexLeanExtract.funConstants decl out)) | .jp decl k => (LexLeanExtract.codeConstants k (LexLeanExtract.funConstants decl out)) | .jmp id args => (Array.foldl (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.argConstants a acc)) out args) | .cases cs => (LexLeanExtract.casesConstants cs out) | .«return» id => out | .unreach t => (LexLeanExtract.typeConstants t out)) + +meta partial def LexLeanExtract.funConstants (d : (Lean.Compiler.LCNF.FunDecl Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (match d with | .mk fvarId binderName params type value => (LexLeanExtract.codeConstants value (LexLeanExtract.typeConstants type (LexLeanExtract.paramConstants params out)))) + +meta partial def LexLeanExtract.casesConstants (cs : (Lean.Compiler.LCNF.Cases Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (match cs with | .mk typeName resultType discr alts => (Array.foldl (α := (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.altConstants a acc)) (LexLeanExtract.typeConstants resultType (LexLeanExtract.insert out typeName)) alts)) + +meta partial def LexLeanExtract.altConstants (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (match a with | .alt ctorName ps k => (LexLeanExtract.codeConstants k (LexLeanExtract.paramConstants ps (LexLeanExtract.insert out ctorName))) | .default k => (LexLeanExtract.codeConstants k out)) +end + +meta def LexLeanExtract.kind (info : Lean.ConstantInfo) : String := + (match info with | .defnInfo value => (match (value).safety with | .safe => "definition" | .«unsafe» => "unsafe-definition" | .«partial» => "partial-definition") | .opaqueInfo opaqueValue => "opaque" | .thmInfo theoremValue => "theorem" | .axiomInfo axiomValue => "axiom" | .inductInfo inductiveValue => "inductive" | .ctorInfo constructorValue => "constructor" | .recInfo recursorValue => "recursor" | .quotInfo quotientValue => "quotient") + +meta def LexLeanExtract.originalKind (env : Lean.Environment) (n : Lean.Name) : String := + (match (Lean.getOriginalConstKind? env n) with | .some original => (match original with | .defn => "definition" | .thm => "theorem" | .«axiom» => "axiom" | .«opaque» => "opaque" | .quot => "quotient" | .induct => "inductive" | .ctor => "constructor" | .recursor => "recursor") | .none => "unknown") + +meta def LexLeanExtract.moduleOf (env : Lean.Environment) (n : Lean.Name) : Lean.Name := + (match (Lean.Environment.getModuleIdxFor? env n) with | .some index => (Array.getD (α := Lean.Name) (Lean.EnvironmentHeader.moduleNames (Lean.Environment.header env)) index (Lean.Name.anonymous)) | .none => (Lean.Name.anonymous)) + +meta def LexLeanExtract.inProject (env : Lean.Environment) (modules : (Array Lean.Name)) (n : Lean.Name) : Bool := + (Array.contains (α := Lean.Name) modules (LexLeanExtract.moduleOf env n)) + +meta def LexLeanExtract.facts (env : Lean.Environment) (n : Lean.Name) (info : Lean.ConstantInfo) : (Lean.Core.CoreM (List (Prod String String))) := + (Bind.bind (m := Lean.Core.CoreM) (α := Bool) (β := (List (Prod String String))) (Lean.Compiler.LCNF.shouldGenerateCode n) (fun (generates : Bool) => (Pure.pure (f := Lean.Core.CoreM) (α := (List (Prod String String))) (([(Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name n)), (Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str (LexLeanExtract.kind info))), (Prod.mk (α := String) (β := String) "module" (LexLeanExtract.name (LexLeanExtract.moduleOf env n))), (Prod.mk (α := String) (β := String) "computable" (LexLeanExtract.bool (Bool.not (Lean.isNoncomputable env n)))), (Prod.mk (α := String) (β := String) "generates_code" (LexLeanExtract.bool generates)), (Prod.mk (α := String) (β := String) "original_kind" (LexLeanExtract.str (LexLeanExtract.originalKind env n))), (Prod.mk (α := String) (β := String) "internal" (LexLeanExtract.bool (Lean.Name.isInternal n)))] : List (Prod String String)))))) + +mutual +meta partial def LexLeanExtract.sameSignature (a : Lean.Expr) (b : Lean.Expr) : Bool := + (match a with | .mdata data1 inner1 => (LexLeanExtract.sameSignature inner1 b) | _ => (match b with | .mdata data2 inner2 => (LexLeanExtract.sameSignature a inner2) | _ => (LexLeanExtract.sameStructure a b))) + +meta partial def LexLeanExtract.sameStructure (a : Lean.Expr) (b : Lean.Expr) : Bool := + (match a with | .forallE name1 domain1 body1 info1 => (match b with | .forallE name2 domain2 body2 info2 => (Bool.and (BEq.beq (α := Lean.BinderInfo) info1 info2) (Bool.and (LexLeanExtract.sameSignature domain1 domain2) (LexLeanExtract.sameSignature body1 body2))) | _ => (Bool.false)) | .lam name1 domain1 body1 info1 => (match b with | .lam name2 domain2 body2 info2 => (Bool.and (BEq.beq (α := Lean.BinderInfo) info1 info2) (Bool.and (LexLeanExtract.sameSignature domain1 domain2) (LexLeanExtract.sameSignature body1 body2))) | _ => (Bool.false)) | .app function1 argument1 => (match b with | .app function2 argument2 => (Bool.and (LexLeanExtract.sameSignature function1 function2) (LexLeanExtract.sameSignature argument1 argument2)) | _ => (Bool.false)) | .const constant1 levels1 => (match b with | .const constant2 levels2 => (Bool.and (BEq.beq (α := Lean.Name) constant1 constant2) (BEq.beq (α := (List Lean.Level)) levels1 levels2)) | _ => (Bool.false)) | .sort level1 => (match b with | .sort level2 => (BEq.beq (α := Lean.Level) level1 level2) | _ => (Bool.false)) | .bvar position1 => (match b with | .bvar position2 => (BEq.beq (α := Nat) position1 position2) | _ => (Bool.false)) | .lit literal1 => (match b with | .lit literal2 => (BEq.beq (α := Lean.Literal) literal1 literal2) | _ => (Bool.false)) | .fvar free1 => (match b with | .fvar free2 => (BEq.beq (α := Lean.FVarId) free1 free2) | _ => (Bool.false)) | .mvar meta1 => (match b with | .mvar meta2 => (BEq.beq (α := Lean.MVarId) meta1 meta2) | _ => (Bool.false)) | .letE local1 type1 value1 scope1 flag1 => (match b with | .letE local2 type2 value2 scope2 flag2 => (Bool.and (LexLeanExtract.sameSignature type1 type2) (Bool.and (LexLeanExtract.sameSignature value1 value2) (LexLeanExtract.sameSignature scope1 scope2))) | _ => (Bool.false)) | .proj structure1 field1 target1 => (match b with | .proj structure2 field2 target2 => (Bool.and (BEq.beq (α := Lean.Name) structure1 structure2) (Bool.and (BEq.beq (α := Nat) field1 field2) (LexLeanExtract.sameSignature target1 target2))) | _ => (Bool.false)) | _ => (Bool.false)) +end + +public meta def LexLeanExtract.elabSignature : Lean.Elab.Command.CommandElab := + (fun (stx : Lean.Syntax) => (Lean.Elab.Command.liftTermElabM (α := Unit) (let declName : Lean.Name := (Lean.Syntax.getId (Lean.Syntax.getArg stx 1)); (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.ConstantInfo) (β := Unit) (Lean.getConstInfo (m := Lean.Elab.Term.TermElabM) declName) (fun (info : Lean.ConstantInfo) => (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.Expr) (β := Unit) (Lean.Elab.Term.elabType (Lean.Syntax.getArg stx 3)) (fun (elaborated : Lean.Expr) => (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.Expr) (β := Unit) (Lean.instantiateMVars (m := Lean.Elab.Term.TermElabM) elaborated) (fun (registered : Lean.Expr) => (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.Expr) (β := Unit) (Lean.instantiateMVars (m := Lean.Elab.Term.TermElabM) (Lean.ConstantInfo.type info)) (fun (actual : Lean.Expr) => (if (LexLeanExtract.sameSignature actual registered) then (Pure.pure (f := Lean.Elab.Term.TermElabM) (α := Unit) (Unit.unit)) else (Lean.«throwError» (m := Lean.Elab.Term.TermElabM) (α := Unit) (Lean.MessageData.compose (Lean.stringToMessageData "lexlean-extract-drift: the signature of `") (Lean.MessageData.compose (Lean.MessageData.ofName declName) (Lean.MessageData.compose (Lean.stringToMessageData "` is ") (Lean.MessageData.ofExpr (Lean.ConstantInfo.type info)))))))))))))))))) + +meta def LexLeanExtract.classify (env : Lean.Environment) (c : Lean.Name) (info : Lean.ConstantInfo) : String := + (let structural : Bool := (Bool.or (Lean.Environment.isProjectionFn env c) (Bool.or (Lean.isCasesOnRecursor env c) (Bool.or (Lean.isAuxRecursor env c) (Bool.or (Lean.isNoConfusion env c) (Bool.or (Lean.Name.isInternal c) (Bool.or (Lean.Meta.isInstanceCore env c) (Bool.or (Lean.Meta.isMatcherCore env c) (BEq.beq (α := String) (Lean.Name.getString! c) "ctorIdx")))))))); (let former : Bool := (Lean.Expr.isSort (Lean.Expr.getForallBody (Lean.ConstantInfo.type info))); (match info with | .inductInfo inductiveValue => "type" | .defnInfo definitionValue => (if former then "type" else (if (Bool.and (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c) (Bool.not structural)) then "call" else "plumbing")) | .opaqueInfo opaqueValue => (if (Bool.and (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c) (Bool.not structural)) then "call" else "plumbing") | .axiomInfo axiomValue => (if (Bool.and (Bool.and (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c) (Bool.not structural)) (Bool.not former)) then "call" else "plumbing") | .thmInfo theoremValue => "plumbing" | .quotInfo quotientValue => "plumbing" | .ctorInfo constructorValue => "plumbing" | .recInfo recursorValue => "plumbing"))) + +meta def LexLeanExtract.ownNames (env : Lean.Environment) : (Std.HashSet Lean.Name) := + (Lean.SMap.foldStage2 (α := Lean.Name) (β := Lean.ConstantInfo) (σ := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (n : Lean.Name) (info : Lean.ConstantInfo) => (LexLeanExtract.insert acc n)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (Lean.Environment.constants env)) + +meta def LexLeanExtract.ownUses (env : Lean.Environment) : (Std.HashSet Lean.Name) := + (Lean.SMap.foldStage2 (α := Lean.Name) (β := Lean.ConstantInfo) (σ := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (n : Lean.Name) (info : Lean.ConstantInfo) => (if (List.elem (α := Lean.Name) (Lean.Name.mkSimple "LexLeanExtract") (Lean.Name.components (Lean.Name.eraseMacroScopes n))) then (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (seen : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert seen used)) (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (seen : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert seen used)) acc (Lean.Expr.getUsedConstants (Lean.ConstantInfo.type info))) (match (Lean.ConstantInfo.value? info (Bool.true)) with | .some value => (Lean.Expr.getUsedConstants value) | .none => ((#[] : Array Lean.Name)))) else acc)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (Lean.Environment.constants env)) + +meta partial def LexLeanExtract.classifyAll (env : Lean.Environment) (own : (Std.HashSet Lean.Name)) (names : (List Lean.Name)) : (Lean.Elab.Command.CommandElabM (List (Prod Lean.Name String))) := + (match names with | .nil => (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (List.nil (α := (Prod Lean.Name String)))) | .cons c rest => (if (Std.HashSet.contains (α := Lean.Name) own c) then (LexLeanExtract.classifyAll env own rest) else (match (Lean.Environment.find? env c) with | .some info => (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (β := (List (Prod Lean.Name String))) (LexLeanExtract.classifyAll env own rest) (fun (tail : (List (Prod Lean.Name String))) => (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (List.cons (α := (Prod Lean.Name String)) (Prod.mk (α := Lean.Name) (β := String) c (LexLeanExtract.classify env c info)) tail)))) | .none => (Lean.«throwError» (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (Lean.stringToMessageData (String.append "lexlean-extract-drift: the adapter uses the unknown constant `" (String.append (Lean.Name.toString c) "`"))))))) + +meta def LexLeanExtract.adapterConstants : (Lean.Elab.Command.CommandElabM (List (Prod Lean.Name String))) := + (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := Lean.Environment) (β := (List (Prod Lean.Name String))) (Lean.MonadEnv.getEnv (m := Lean.Elab.Command.CommandElabM)) (fun (env : Lean.Environment) => (LexLeanExtract.classifyAll env (LexLeanExtract.ownNames env) (LexLeanExtract.sorted (LexLeanExtract.ownUses env))))) + +meta partial def LexLeanExtract.listLines (used : (List (Prod Lean.Name String))) : (Lean.Elab.Command.CommandElabM Unit) := + (match used with | .nil => (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := Unit) (Unit.unit)) | .cons entry rest => (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := Unit) (β := Unit) (MonadLiftT.monadLift (m := IO) (n := Lean.Elab.Command.CommandElabM) (α := Unit) (IO.println (α := String) (String.append (entry).snd (String.append " " (Lean.Name.toString (entry).fst))))) (fun (printed : Unit) => (LexLeanExtract.listLines rest)))) + +meta def LexLeanExtract.listAdapterConstants : (Lean.Elab.Command.CommandElabM Unit) := + (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (β := Unit) (LexLeanExtract.adapterConstants) (fun (used : (List (Prod Lean.Name String))) => (LexLeanExtract.listLines used))) + +meta def LexLeanExtract.registeredClass (calls : (Array Lean.Name)) (types : (Array (Prod Lean.Name (Array String)))) (opaques : (Array Lean.Name)) (plumbing : (Array Lean.Name)) (c : Lean.Name) : String := + (let typeNames : (List Lean.Name) := (List.map (α := (Prod Lean.Name (Array String))) (β := Lean.Name) (fun (row : (Prod Lean.Name (Array String))) => (row).fst) (Array.toList (α := (Prod Lean.Name (Array String))) types)); (if (Array.contains (α := Lean.Name) calls c) then "call" else (if (Bool.or (List.contains (α := Lean.Name) typeNames c) (Array.contains (α := Lean.Name) opaques c)) then "type" else (if (Array.contains (α := Lean.Name) plumbing c) then "plumbing" else (if (List.any (α := (Prod Lean.Name (Array String))) (Array.toList (α := (Prod Lean.Name (Array String))) types) (fun (candidate : (Prod Lean.Name (Array String))) => (Bool.and (BEq.beq (α := Lean.Name) (Lean.Name.getPrefix c) (candidate).fst) (Array.contains (α := String) (candidate).snd (Lean.Name.getString! c))))) then "plumbing" else "unregistered"))))) + +meta partial def LexLeanExtract.usedProblems (calls : (Array Lean.Name)) (types : (Array (Prod Lean.Name (Array String)))) (opaques : (Array Lean.Name)) (plumbing : (Array Lean.Name)) (used : (List (Prod Lean.Name String))) : (List String) := + (match used with | .nil => (List.nil (α := String)) | .cons entry rest => (let c : Lean.Name := (entry).fst; (let foreignType : Bool := (Bool.and (BEq.beq (α := String) (entry).snd "type") (Bool.not (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c))); (let expected : String := (if foreignType then "a type or plumbing" else (entry).snd); (let registered : String := (LexLeanExtract.registeredClass calls types opaques plumbing c); (if (if (BEq.beq (α := String) (entry).snd "plumbing") then (Bool.not (BEq.beq (α := String) registered "unregistered")) else (if foreignType then (Bool.or (BEq.beq (α := String) registered "type") (BEq.beq (α := String) registered "plumbing")) else (BEq.beq (α := String) registered expected))) then (LexLeanExtract.usedProblems calls types opaques plumbing rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString c) (String.append "` is used as " (String.append expected (String.append " but registered as " registered))))) (LexLeanExtract.usedProblems calls types opaques plumbing rest)))))))) + +meta partial def LexLeanExtract.unusedProblems (used : (List (Prod Lean.Name String))) (names : (List Lean.Name)) : (List String) := + (match names with | .nil => (List.nil (α := String)) | .cons c rest => (if (List.any (α := (Prod Lean.Name String)) used (fun (entry : (Prod Lean.Name String)) => (BEq.beq (α := Lean.Name) (entry).fst c))) then (LexLeanExtract.unusedProblems used rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString c) "` is plumbing but unused")) (LexLeanExtract.unusedProblems used rest)))) + +meta partial def LexLeanExtract.typeProblems (env : Lean.Environment) (types : (List (Prod Lean.Name (Array String)))) : (List String) := + (match types with | .nil => (List.nil (α := String)) | .cons row rest => (let n : Lean.Name := (row).fst; (match (Lean.Environment.find? env n) with | .some info => (match info with | .inductInfo «inductive» => (if (BEq.beq (α := (List String)) (List.map (α := Lean.Name) (β := String) (fun (constructorName : Lean.Name) => (Lean.Name.getString! constructorName)) («inductive»).ctors) (Array.toList (α := String) (row).snd)) then (LexLeanExtract.typeProblems env rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString n) (String.append "` has constructors " (String.append (ToString.toString (α := (List String)) (List.map (α := Lean.Name) (β := String) (fun (listed : Lean.Name) => (Lean.Name.getString! listed)) («inductive»).ctors)) (String.append ", registered " (ToString.toString (α := (List String)) (Array.toList (α := String) (row).snd))))))) (LexLeanExtract.typeProblems env rest))) | _ => (if (Array.isEmpty (α := String) (row).snd) then (LexLeanExtract.typeProblems env rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString n) (String.append "` is not an inductive type, registered with constructors " (ToString.toString (α := (List String)) (Array.toList (α := String) (row).snd))))) (LexLeanExtract.typeProblems env rest)))) | .none => (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString n) "` is not a constant")) (LexLeanExtract.typeProblems env rest))))) + +meta def LexLeanExtract.checkNames (calls : (Array Lean.Name)) (types : (Array (Prod Lean.Name (Array String)))) (opaques : (Array Lean.Name)) (plumbing : (Array Lean.Name)) : (Lean.Elab.Command.CommandElabM Unit) := + (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := Lean.Environment) (β := Unit) (Lean.MonadEnv.getEnv (m := Lean.Elab.Command.CommandElabM)) (fun (env : Lean.Environment) => (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (β := Unit) (LexLeanExtract.adapterConstants) (fun (used : (List (Prod Lean.Name String))) => (let names : (List Lean.Name) := (Array.toList (α := Lean.Name) plumbing); (let differences : (List String) := (List.append (α := String) (LexLeanExtract.usedProblems calls types opaques plumbing used) (List.append (α := String) (LexLeanExtract.unusedProblems used names) (LexLeanExtract.typeProblems env (Array.toList (α := (Prod Lean.Name (Array String))) types)))); (if (List.isEmpty (α := String) differences) then (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := Unit) (Unit.unit)) else (Lean.«throwError» (m := Lean.Elab.Command.CommandElabM) (α := Unit) (Lean.stringToMessageData (String.append "lexlean-extract-drift: the adapter and its registry differ: " (String.intercalate "; " differences))))))))))) + +meta def LexLeanExtract.declUses (decl : (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) : (Std.HashSet Lean.Name) := + (match (decl).value with | .code body => (LexLeanExtract.codeConstants body (LexLeanExtract.typeConstants ((decl).toSignature).type (LexLeanExtract.paramConstants ((decl).toSignature).params (Std.HashSet.emptyWithCapacity (α := Lean.Name))))) | .extern attributes => (LexLeanExtract.typeConstants ((decl).toSignature).type (LexLeanExtract.paramConstants ((decl).toSignature).params (Std.HashSet.emptyWithCapacity (α := Lean.Name))))) + +meta def LexLeanExtract.declText (decl : (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) : String := + (let signatureUses : (Std.HashSet Lean.Name) := (LexLeanExtract.typeConstants ((decl).toSignature).type (LexLeanExtract.paramConstants ((decl).toSignature).params (Std.HashSet.emptyWithCapacity (α := Lean.Name)))); (match (decl).value with | .code body => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "safe" (LexLeanExtract.bool ((decl).toSignature).safe)), (Prod.mk (α := String) (β := String) "level_parameters" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (levelName : Lean.Name) => (LexLeanExtract.name levelName)) ((decl).toSignature).levelParams))), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type ((decl).toSignature).type)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (parameter : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param parameter)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) ((decl).toSignature).params)))), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "code")), (Prod.mk (α := String) (β := String) "code" (LexLeanExtract.code body))] : List (Prod String String))))), (Prod.mk (α := String) (β := String) "uses" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (usedName : Lean.Name) => (LexLeanExtract.name usedName)) (LexLeanExtract.sorted (LexLeanExtract.codeConstants body signatureUses)))))] : List (Prod String String)))) | .extern attributes => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "safe" (LexLeanExtract.bool ((decl).toSignature).safe)), (Prod.mk (α := String) (β := String) "level_parameters" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (levelName : Lean.Name) => (LexLeanExtract.name levelName)) ((decl).toSignature).levelParams))), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type ((decl).toSignature).type)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (parameter : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param parameter)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) ((decl).toSignature).params)))), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "extern"))] : List (Prod String String))))), (Prod.mk (α := String) (β := String) "uses" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (usedName : Lean.Name) => (LexLeanExtract.name usedName)) (LexLeanExtract.sorted signatureUses))))] : List (Prod String String)))))) + +meta partial def LexLeanExtract.codeLoop (env : Lean.Environment) (modules : (Array Lean.Name)) (queue : (List Lean.Name)) (visited : (Std.HashSet Lean.Name)) (decls : (Std.HashMap Lean.Name String)) (referenced : (Std.HashSet Lean.Name)) : (Lean.Core.CoreM (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) := + (match queue with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Prod.mk (α := (Std.HashSet Lean.Name)) (β := (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name))) visited (Prod.mk (α := (Std.HashMap Lean.Name String)) (β := (Std.HashSet Lean.Name)) decls referenced))) | .cons n rest => (if (Std.HashSet.contains (α := Lean.Name) visited n) then (LexLeanExtract.codeLoop env modules rest visited decls referenced) else (match (Lean.Environment.find? env n) with | .some info => (let visitedNow : (Std.HashSet Lean.Name) := (LexLeanExtract.insert visited n); (if (Bool.and (BEq.beq (α := String) (LexLeanExtract.kind info) "definition") (Bool.not (Lean.isNoncomputable env n))) then (Bind.bind (m := Lean.Core.CoreM) (α := Bool) (β := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.Compiler.LCNF.shouldGenerateCode n) (fun (generates : Bool) => (if generates then (Bind.bind (m := Lean.Core.CoreM) (α := Unit) (β := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.MonadNameGenerator.setNGen (m := Lean.Core.CoreM) (Lean.NameGenerator.mk (Lean.Name.mkSimple "_uniq") 1)) (fun (restarted : Unit) => (Bind.bind (m := Lean.Core.CoreM) (α := (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) (β := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.Compiler.LCNF.CompilerM.run (α := (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) (Lean.Compiler.LCNF.toDecl n)) (fun (decl : (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) => (let uses : (List Lean.Name) := (LexLeanExtract.sorted (LexLeanExtract.declUses decl)); (LexLeanExtract.codeLoop env modules (List.append (α := Lean.Name) rest (List.filter (α := Lean.Name) (fun (candidate : Lean.Name) => (LexLeanExtract.inProject env modules candidate)) uses)) visitedNow (Std.HashMap.insert (α := Lean.Name) (β := String) decls ((decl).toSignature).name (LexLeanExtract.declText decl)) (List.foldl (α := (Std.HashSet Lean.Name)) (β := Lean.Name) (fun (seen : (Std.HashSet Lean.Name)) (outside : Lean.Name) => (LexLeanExtract.insert seen outside)) referenced (List.filter (α := Lean.Name) (fun (outside : Lean.Name) => (Bool.not (LexLeanExtract.inProject env modules outside))) uses)))))))) else (LexLeanExtract.codeLoop env modules rest visitedNow decls referenced)))) else (LexLeanExtract.codeLoop env modules rest visitedNow decls referenced))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString n) "`"))))))) + +meta partial def LexLeanExtract.kernelLoop (env : Lean.Environment) (modules : (Array Lean.Name)) (queue : (List Lean.Name)) (seen : (Std.HashSet Lean.Name)) : (Lean.Core.CoreM (Std.HashSet Lean.Name)) := + (match queue with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (Std.HashSet Lean.Name)) seen) | .cons n rest => (if (Std.HashSet.contains (α := Lean.Name) seen n) then (LexLeanExtract.kernelLoop env modules rest seen) else (match (Lean.Environment.find? env n) with | .some info => (LexLeanExtract.kernelLoop env modules (List.append (α := Lean.Name) rest (List.filter (α := Lean.Name) (fun (candidate : Lean.Name) => (LexLeanExtract.inProject env modules candidate)) (LexLeanExtract.sorted (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert acc used)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (match (Lean.ConstantInfo.value? info (Bool.true)) with | .some value => (Lean.Expr.getUsedConstants value) | .none => ((#[] : Array Lean.Name))))))) (LexLeanExtract.insert seen n)) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (Std.HashSet Lean.Name)) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString n) "`"))))))) + +meta partial def LexLeanExtract.ctorRows (env : Lean.Environment) (names : (List Lean.Name)) : (Lean.Core.CoreM (List String)) := + (match names with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.nil (α := String))) | .cons c rest => (match (Lean.Environment.find? env c) with | .some info => (match info with | .ctorInfo constructor => (Bind.bind (m := Lean.Core.CoreM) (α := Lean.Expr) (β := (List String)) (Lean.Meta.MetaM.run' (α := Lean.Expr) (Lean.Compiler.LCNF.toLCNFType ((constructor).toConstantVal).type)) (fun (constructorType : Lean.Expr) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := (List String)) (LexLeanExtract.ctorRows env rest) (fun (tail : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.cons (α := String) (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name c)), (Prod.mk (α := String) (β := String) "parameters" (ToString.toString (α := Nat) (constructor).numParams)), (Prod.mk (α := String) (β := String) "fields" (ToString.toString (α := Nat) (constructor).numFields)), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type constructorType))] : List (Prod String String)))) tail)))))) | _ => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: `" (String.append (Lean.Name.toString c) "` is not a constructor"))))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: `" (String.append (Lean.Name.toString c) "` is not a constructor")))))) + +meta def LexLeanExtract.inductiveRow (env : Lean.Environment) (n : Lean.Name) : (Lean.Core.CoreM String) := + (match (Lean.Environment.find? env n) with | .some info => (match info with | .inductInfo «inductive» => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := String) (LexLeanExtract.ctorRows env («inductive»).ctors) (fun (constructors : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := String) (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "parameters" (ToString.toString (α := Nat) («inductive»).numParams)), (Prod.mk (α := String) (β := String) "indices" (ToString.toString (α := Nat) («inductive»).numIndices)), (Prod.mk (α := String) (β := String) "recursive" (LexLeanExtract.bool («inductive»).isRec)), (Prod.mk (α := String) (β := String) "constructors" (LexLeanExtract.arr constructors))] : List (Prod String String))))))) | _ => (Pure.pure (f := Lean.Core.CoreM) (α := String) "null")) | .none => (Pure.pure (f := Lean.Core.CoreM) (α := String) "null")) + +meta partial def LexLeanExtract.constantRows (env : Lean.Environment) (decls : (Std.HashMap Lean.Name String)) (names : (List Lean.Name)) : (Lean.Core.CoreM (List String)) := + (match names with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.nil (α := String))) | .cons n rest => (match (Lean.Environment.find? env n) with | .some info => (Bind.bind (m := Lean.Core.CoreM) (α := (List (Prod String String))) (β := (List String)) (LexLeanExtract.facts env n info) (fun (row : (List (Prod String String))) => (Bind.bind (m := Lean.Core.CoreM) (α := String) (β := (List String)) (LexLeanExtract.inductiveRow env n) (fun (inductiveText : String) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := (List String)) (LexLeanExtract.constantRows env decls rest) (fun (tail : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.cons (α := String) (LexLeanExtract.obj (List.append (α := (Prod String String)) row (([(Prod.mk (α := String) (β := String) "kernel_uses" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (usedName : Lean.Name) => (LexLeanExtract.name usedName)) (LexLeanExtract.sorted (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert acc used)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (match (Lean.ConstantInfo.value? info (Bool.true)) with | .some value => (Lean.Expr.getUsedConstants value) | .none => ((#[] : Array Lean.Name)))))))), (Prod.mk (α := String) (β := String) "declaration" (Option.getD (α := String) (Std.HashMap.get? (α := Lean.Name) (β := String) decls n) "null")), (Prod.mk (α := String) (β := String) "inductive" inductiveText)] : List (Prod String String))))) tail)))))))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString n) "`")))))) + +meta partial def LexLeanExtract.externalRows (env : Lean.Environment) (names : (List Lean.Name)) : (Lean.Core.CoreM (List String)) := + (match names with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.nil (α := String))) | .cons r rest => (match (Lean.Environment.find? env r) with | .some info => (Bind.bind (m := Lean.Core.CoreM) (α := (List (Prod String String))) (β := (List String)) (LexLeanExtract.facts env r info) (fun (row : (List (Prod String String))) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := (List String)) (LexLeanExtract.externalRows env rest) (fun (tail : (List String)) => (let compiled : (Prod String String) := (Prod.mk (α := String) (β := String) "compiled" (LexLeanExtract.bool (Option.isSome (α := Lean.IR.Decl) (Lean.IR.findEnvDecl env r)))); (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.cons (α := String) (LexLeanExtract.obj (List.append (α := (Prod String String)) row (match info with | .ctorInfo constructor => (([compiled, (Prod.mk (α := String) (β := String) "inductive_type" (LexLeanExtract.name (constructor).induct))] : List (Prod String String))) | _ => (([compiled] : List (Prod String String)))))) tail))))))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString r) "`")))))) + +meta partial def LexLeanExtract.checkRoots (env : Lean.Environment) (modules : (Array Lean.Name)) (roots : (List Lean.Name)) : (Lean.Core.CoreM Unit) := + (match roots with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := Unit) (Unit.unit)) | .cons root rest => (if (Bool.and (LexLeanExtract.inProject env modules root) (Option.isSome (α := Lean.ConstantInfo) (Lean.Environment.find? env root))) then (LexLeanExtract.checkRoots env modules rest) else (Lean.«throwError» (m := Lean.Core.CoreM) (α := Unit) (Lean.stringToMessageData (String.append "lexlean-extract: unknown root `" (String.append (Lean.Name.toString root) "`")))))) + +meta def LexLeanExtract.run (roots : (Array Lean.Name)) (modules : (Array Lean.Name)) : (Lean.Core.CoreM String) := + (Bind.bind (m := Lean.Core.CoreM) (α := Lean.Environment) (β := String) (Lean.MonadEnv.getEnv (m := Lean.Core.CoreM)) (fun (env : Lean.Environment) => (Bind.bind (m := Lean.Core.CoreM) (α := Unit) (β := String) (LexLeanExtract.checkRoots env modules (Array.toList (α := Lean.Name) roots)) (fun (checked : Unit) => (Bind.bind (m := Lean.Core.CoreM) (α := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (β := String) (LexLeanExtract.codeLoop env modules (Array.toList (α := Lean.Name) roots) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (Std.HashMap.emptyWithCapacity (α := Lean.Name) (β := String)) (Std.HashSet.emptyWithCapacity (α := Lean.Name))) (fun (visit : (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) => (Bind.bind (m := Lean.Core.CoreM) (α := (Std.HashSet Lean.Name)) (β := String) (LexLeanExtract.kernelLoop env modules (Std.HashSet.toList (α := Lean.Name) (visit).fst) (Std.HashSet.emptyWithCapacity (α := Lean.Name))) (fun (recorded : (Std.HashSet Lean.Name)) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := String) (LexLeanExtract.constantRows env ((visit).snd).fst (LexLeanExtract.sorted recorded)) (fun (constants : (List String)) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := String) (LexLeanExtract.externalRows env (LexLeanExtract.sorted ((visit).snd).snd)) (fun (externals : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := String) (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "spec" (LexLeanExtract.str "lexlean/lcnf-extraction/2")), (Prod.mk (α := String) (β := String) "lean" (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "version" (LexLeanExtract.str (Lean.versionString))), (Prod.mk (α := String) (β := String) "githash" (LexLeanExtract.str (Lean.githash)))] : List (Prod String String))))), (Prod.mk (α := String) (β := String) "roots" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (listedName : Lean.Name) => (LexLeanExtract.name listedName)) (Array.toList (α := Lean.Name) roots)))), (Prod.mk (α := String) (β := String) "constants" (LexLeanExtract.arr constants)), (Prod.mk (α := String) (β := String) "externals" (LexLeanExtract.arr externals))] : List (Prod String String))))))))))))))))) + +meta def LexLeanExtract.mainNames (roots : (Array Lean.Name)) (modules : (Array Lean.Name)) : (Lean.Elab.Command.CommandElabM Unit) := + (Lean.Elab.Command.liftCoreM (α := Unit) (Bind.bind (m := Lean.Core.CoreM) (α := String) (β := Unit) (LexLeanExtract.run roots modules) (fun (text : String) => (MonadLiftT.monadLift (m := IO) (n := Lean.Core.CoreM) (α := Unit) (IO.println (α := String) text))))) + +meta def LexLeanExtract.toNames (texts : (Array String)) : (Array Lean.Name) := + (Array.map (α := String) (β := Lean.Name) (fun (text : String) => (String.toName text)) texts) + +meta def LexLeanExtract.toTypeRows (rows : (Array (Prod String (Array String)))) : (Array (Prod Lean.Name (Array String))) := + (Array.map (α := (Prod String (Array String))) (β := (Prod Lean.Name (Array String))) (fun (row : (Prod String (Array String))) => (Prod.mk (α := Lean.Name) (β := (Array String)) (String.toName (row).fst) (row).snd)) rows) + +meta def LexLeanExtract.checkAuthority (calls : (Array String)) (types : (Array (Prod String (Array String)))) (opaques : (Array String)) (plumbing : (Array String)) : (Lean.Elab.Command.CommandElabM Unit) := + (LexLeanExtract.checkNames (LexLeanExtract.toNames calls) (LexLeanExtract.toTypeRows types) (LexLeanExtract.toNames opaques) (LexLeanExtract.toNames plumbing)) + +meta def LexLeanExtract.main (roots : (Array String)) (modules : (Array String)) : (Lean.Elab.Command.CommandElabM Unit) := + (LexLeanExtract.mainNames (LexLeanExtract.toNames roots) (LexLeanExtract.toNames modules)) + +syntax (name := LexLeanExtract.signatureCommand) "lexlean_signature " ident " : " term : command +attribute [command_elab LexLeanExtract.signatureCommand] LexLeanExtract.elabSignature + +lexlean_signature Array.contains : ({α : (Type u)} → ([h1 : (BEq α)] → ((Array α) → (α → Bool)))) + +lexlean_signature Array.foldl : ({α : (Type u)} → ({β : (Type v)} → ((β → (α → β)) → (β → ((as : (Array α)) → ((optParam Nat 0) → ((optParam Nat (@Array.size α as)) → β))))))) + +lexlean_signature Array.getD : ({α : (Type u_1)} → ((Array α) → (Nat → (α → α)))) + +lexlean_signature Array.isEmpty : ({α : (Type u)} → ((Array α) → Bool)) + +lexlean_signature Array.map : ({α : (Type u)} → ({β : (Type v)} → ((α → β) → ((Array α) → (Array β))))) + +lexlean_signature Array.size : ({α : (Type u)} → ((Array α) → Nat)) + +lexlean_signature Array.toList : ({α : (Type u)} → ((Array α) → (List α))) + +lexlean_signature BEq.beq : ({α : (Type u)} → ([self : (BEq α)] → (α → (α → Bool)))) + +lexlean_signature Bind.bind : ({m : ((Type u) → (Type v))} → ([self : (Bind m)] → ({α : (Type u)} → ({β : (Type u)} → ((m α) → ((α → (m β)) → (m β))))))) + +lexlean_signature Bool.and : (Bool → (Bool → Bool)) + +lexlean_signature Bool.not : (Bool → Bool) + +lexlean_signature Bool.or : (Bool → (Bool → Bool)) + +lexlean_signature Char.toNat : (Char → Nat) + +lexlean_signature IO.println : ({α : (Type u_1)} → ([h1 : (ToString α)] → (α → (IO Unit)))) + +lexlean_signature Lean.Compiler.LCNF.CompilerM.run : ({α : Type} → ((Lean.Compiler.LCNF.CompilerM α) → ((optParam Lean.Compiler.LCNF.CompilerM.State { }) → ((optParam Lean.Compiler.LCNF.Phase Lean.Compiler.LCNF.Phase.base) → (Lean.Core.CoreM α))))) + +lexlean_signature Lean.Compiler.LCNF.shouldGenerateCode : (Lean.Name → (Lean.Core.CoreM Bool)) + +lexlean_signature Lean.Compiler.LCNF.toDecl : (Lean.Name → (Lean.Compiler.LCNF.CompilerM (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure))) + +lexlean_signature Lean.Compiler.LCNF.toLCNFType : (Lean.Expr → (Lean.Meta.MetaM Lean.Expr)) + +lexlean_signature Lean.ConstantInfo.type : (Lean.ConstantInfo → Lean.Expr) + +lexlean_signature Lean.ConstantInfo.value? : (Lean.ConstantInfo → ((optParam Bool Bool.false) → (Option Lean.Expr))) + +lexlean_signature Lean.Elab.Command.liftCoreM : ({α : Type} → ((Lean.Core.CoreM α) → (Lean.Elab.Command.CommandElabM α))) + +lexlean_signature Lean.Elab.Command.liftTermElabM : ({α : Type} → ((Lean.Elab.Term.TermElabM α) → (Lean.Elab.Command.CommandElabM α))) + +lexlean_signature Lean.Elab.Term.elabType : (Lean.Syntax → (Lean.Elab.Term.TermElabM Lean.Expr)) + +lexlean_signature Lean.EnvExtension.asyncMode : ({σ : Type} → ((Lean.EnvExtension σ) → Lean.EnvExtension.AsyncMode)) + +lexlean_signature Lean.Environment.constants : (Lean.Environment → Lean.ConstMap) + +lexlean_signature Lean.Environment.find? : (Lean.Environment → (Lean.Name → ((optParam Bool Bool.false) → (Option Lean.ConstantInfo)))) + +lexlean_signature Lean.Environment.getModuleIdxFor? : (Lean.Environment → (Lean.Name → (Option Lean.ModuleIdx))) + +lexlean_signature Lean.Environment.header : (Lean.Environment → Lean.EnvironmentHeader) + +lexlean_signature Lean.Environment.isProjectionFn : (Lean.Environment → (Lean.Name → Bool)) + +lexlean_signature Lean.EnvironmentHeader.moduleNames : (Lean.EnvironmentHeader → (Array Lean.Name)) + +lexlean_signature Lean.Expr.getAppArgs : (Lean.Expr → (Array Lean.Expr)) + +lexlean_signature Lean.Expr.getAppFn : (Lean.Expr → Lean.Expr) + +lexlean_signature Lean.Expr.getForallBody : (Lean.Expr → Lean.Expr) + +lexlean_signature Lean.Expr.getUsedConstants : (Lean.Expr → (Array Lean.Name)) + +lexlean_signature Lean.Expr.isSort : (Lean.Expr → Bool) + +lexlean_signature Lean.IR.findEnvDecl : (Lean.Environment → (Lean.Name → (Option Lean.IR.Decl))) + +lexlean_signature Lean.MessageData.compose : (Lean.MessageData → (Lean.MessageData → Lean.MessageData)) + +lexlean_signature Lean.MessageData.ofExpr : (Lean.Expr → Lean.MessageData) + +lexlean_signature Lean.MessageData.ofName : (Lean.Name → Lean.MessageData) + +lexlean_signature Lean.Meta.MetaM.run' : ({α : Type} → ((Lean.Meta.MetaM α) → ((optParam Lean.Meta.Context { }) → ((optParam Lean.Meta.State { }) → (Lean.Core.CoreM α))))) + +lexlean_signature Lean.Meta.isInstanceCore : (Lean.Environment → (Lean.Name → Bool)) + +lexlean_signature Lean.Meta.isMatcherCore : (Lean.Environment → (Lean.Name → Bool)) + +lexlean_signature Lean.MonadEnv.getEnv : ({m : (Type → Type)} → ([self : (Lean.MonadEnv m)] → (m Lean.Environment))) + +lexlean_signature Lean.MonadNameGenerator.setNGen : ({m : (Type → Type)} → ([self : (Lean.MonadNameGenerator m)] → (Lean.NameGenerator → (m Unit)))) + +lexlean_signature Lean.Name.components : (Lean.Name → (List Lean.Name)) + +lexlean_signature Lean.Name.eraseMacroScopes : (Lean.Name → Lean.Name) + +lexlean_signature Lean.Name.getPrefix : (Lean.Name → Lean.Name) + +lexlean_signature Lean.Name.getString! : (Lean.Name → String) + +lexlean_signature Lean.Name.isInternal : (Lean.Name → Bool) + +lexlean_signature Lean.Name.isPrefixOf : (Lean.Name → (Lean.Name → Bool)) + +lexlean_signature Lean.Name.lt : (Lean.Name → (Lean.Name → Bool)) + +lexlean_signature Lean.Name.mkSimple : (String → Lean.Name) + +lexlean_signature Lean.Name.mkStr1 : (String → Lean.Name) + +lexlean_signature Lean.Name.mkStr2 : (String → (String → Lean.Name)) + +lexlean_signature Lean.Name.toString : (Lean.Name → ((optParam Bool Bool.true) → String)) + +lexlean_signature Lean.PersistentArray.branching : USize + +lexlean_signature Lean.PersistentArray.initShift : USize + +lexlean_signature Lean.PersistentEnvExtension.toEnvExtension : ({α : Type} → ({β : Type} → ({σ : Type} → ((Lean.PersistentEnvExtension α β σ) → (Lean.EnvExtension (Lean.PersistentEnvExtensionState α σ)))))) + +lexlean_signature Lean.PersistentHashMap.mkEmptyEntriesArray : ({α : (Type u_1)} → ({β : (Type u_2)} → (Array (Lean.PersistentHashMap.Entry α β (Lean.PersistentHashMap.Node α β))))) + +lexlean_signature Lean.SMap.foldStage2 : ({α : (Type u)} → ({β : (Type v)} → ([h2 : (BEq α)] → ([h3 : (Hashable α)] → ({σ : (Type w)} → ((σ → (α → (β → σ))) → (σ → ((@Lean.SMap α β h2 h3) → σ)))))))) + +lexlean_signature Lean.Syntax.getArg : (Lean.Syntax → (Nat → Lean.Syntax)) + +lexlean_signature Lean.Syntax.getId : (Lean.Syntax → Lean.Name) + +lexlean_signature Lean.annotation? : (Lean.Name → (Lean.Expr → (Option Lean.Expr))) + +lexlean_signature Lean.getConstInfo : ({m : (Type → Type)} → ([h1 : (Monad m)] → ([h2 : (Lean.MonadEnv m)] → ([h3 : (Lean.MonadError m)] → (Lean.Name → (m Lean.ConstantInfo)))))) + +lexlean_signature Lean.getOriginalConstKind? : (Lean.Environment → (Lean.Name → (Option Lean.ConstantKind))) + +lexlean_signature Lean.githash : String + +lexlean_signature Lean.instantiateMVars : ({m : (Type → Type)} → ([h1 : (Monad m)] → ([h2 : (Lean.MonadMCtx m)] → (Lean.Expr → (m Lean.Expr))))) + +lexlean_signature Lean.isAuxRecursor : (Lean.Environment → (Lean.Name → Bool)) + +lexlean_signature Lean.isCasesOnRecursor : (Lean.Environment → (Lean.Name → Bool)) + +lexlean_signature Lean.isNoConfusion : (Lean.Environment → (Lean.Name → Bool)) + +lexlean_signature Lean.isNoncomputable : (Lean.Environment → (Lean.Name → ((optParam Lean.EnvExtension.AsyncMode (@Lean.EnvExtension.asyncMode (Lean.PersistentEnvExtensionState Lean.Name (Prod (List Lean.Name) Lean.NameSet)) (@Lean.PersistentEnvExtension.toEnvExtension Lean.Name Lean.Name (Prod (List Lean.Name) Lean.NameSet) Lean.noncomputableExt))) → Bool))) + +lexlean_signature Lean.noncomputableExt : Lean.TagDeclarationExtension + +lexlean_signature Lean.stringToMessageData : (String → Lean.MessageData) + +lexlean_signature Lean.«throwError» : ({m : (Type → Type)} → ({α : Type} → ([h2 : (Monad m)] → ([h3 : (Lean.MonadError m)] → (Lean.MessageData → (m α)))))) + +lexlean_signature Lean.versionString : String + +lexlean_signature List.any : ({α : (Type u)} → ((List α) → ((α → Bool) → Bool))) + +lexlean_signature List.append : ({α : (Type u_1)} → ((List α) → ((List α) → (List α)))) + +lexlean_signature List.contains : ({α : (Type u)} → ([h1 : (BEq α)] → ((List α) → (α → Bool)))) + +lexlean_signature List.drop : ({α : (Type u)} → (Nat → ((List α) → (List α)))) + +lexlean_signature List.elem : ({α : (Type u)} → ([h1 : (BEq α)] → (α → ((List α) → Bool)))) + +lexlean_signature List.filter : ({α : (Type u)} → ((α → Bool) → ((List α) → (List α)))) + +lexlean_signature List.foldl : ({α : (Type u)} → ({β : (Type v)} → ((α → (β → α)) → (α → ((List β) → α))))) + +lexlean_signature List.isEmpty : ({α : (Type u)} → ((List α) → Bool)) + +lexlean_signature List.map : ({α : (Type u_1)} → ({β : (Type u_2)} → ((α → β) → ((List α) → (List β))))) + +lexlean_signature MonadLiftT.monadLift : ({m : ((Type u) → (Type v))} → ({n : ((Type u) → (Type w))} → ([self : (MonadLiftT m n)] → ({α : (Type u)} → ((m α) → (n α)))))) + +lexlean_signature Nat.add : (Nat → (Nat → Nat)) + +lexlean_signature Nat.blt : (Nat → (Nat → Bool)) + +lexlean_signature Nat.toDigits : (Nat → (Nat → (List Char))) + +lexlean_signature Option.getD : ({α : (Type u_1)} → ((Option α) → (α → α))) + +lexlean_signature Option.isSome : ({α : (Type u_1)} → ((Option α) → Bool)) + +lexlean_signature Pure.pure : ({f : ((Type u) → (Type v))} → ([self : (Pure f)] → ({α : (Type u)} → (α → (f α))))) + +lexlean_signature Std.HashMap.emptyWithCapacity : ({α : (Type u)} → ({β : (Type v)} → ([h2 : (BEq α)] → ([h3 : (Hashable α)] → ((optParam Nat 8) → (@Std.HashMap α β h2 h3)))))) + +lexlean_signature Std.HashMap.get? : ({α : (Type u)} → ({β : (Type v)} → ({h2 : (BEq α)} → ({h3 : (Hashable α)} → ((@Std.HashMap α β h2 h3) → (α → (Option β))))))) + +lexlean_signature Std.HashMap.insert : ({α : (Type u)} → ({β : (Type v)} → ({h2 : (BEq α)} → ({h3 : (Hashable α)} → ((@Std.HashMap α β h2 h3) → (α → (β → (@Std.HashMap α β h2 h3)))))))) + +lexlean_signature Std.HashSet.contains : ({α : (Type u)} → ({h1 : (BEq α)} → ({h2 : (Hashable α)} → ((@Std.HashSet α h1 h2) → (α → Bool))))) + +lexlean_signature Std.HashSet.emptyWithCapacity : ({α : (Type u)} → ([h1 : (BEq α)] → ([h2 : (Hashable α)] → ((optParam Nat 8) → (@Std.HashSet α h1 h2))))) + +lexlean_signature Std.HashSet.insert : ({α : (Type u)} → ({h1 : (BEq α)} → ({h2 : (Hashable α)} → ((@Std.HashSet α h1 h2) → (α → (@Std.HashSet α h1 h2)))))) + +lexlean_signature Std.HashSet.toList : ({α : (Type u)} → ({h1 : (BEq α)} → ({h2 : (Hashable α)} → ((@Std.HashSet α h1 h2) → (List α))))) + +lexlean_signature String.append : (String → (String → String)) + +lexlean_signature String.foldl : ({α : (Type u)} → ((α → (Char → α)) → (α → (String → α)))) + +lexlean_signature String.intercalate : (String → ((List String) → String)) + +lexlean_signature String.ofList : ((List Char) → String) + +lexlean_signature String.push : (String → (Char → String)) + +lexlean_signature String.toName : (String → Lean.Name) + +lexlean_signature ToString.toString : ({α : (Type u)} → ([self : (ToString α)] → (α → String))) + +lexlean_signature UInt16.toNat : (UInt16 → Nat) + +lexlean_signature UInt32.toNat : (UInt32 → Nat) + +lexlean_signature UInt64.toNat : (UInt64 → Nat) + +lexlean_signature UInt8.toNat : (UInt8 → Nat) + +lexlean_signature Unit.unit : Unit + +#eval LexLeanExtract.checkAuthority ((#["Array.contains", "Array.foldl", "Array.getD", "Array.isEmpty", "Array.map", "Array.size", "Array.toList", "BEq.beq", "Bind.bind", "Bool.and", "Bool.not", "Bool.or", "Char.toNat", "IO.println", "Lean.Compiler.LCNF.CompilerM.run", "Lean.Compiler.LCNF.shouldGenerateCode", "Lean.Compiler.LCNF.toDecl", "Lean.Compiler.LCNF.toLCNFType", "Lean.ConstantInfo.type", "Lean.ConstantInfo.value?", "Lean.Elab.Command.liftCoreM", "Lean.Elab.Command.liftTermElabM", "Lean.Elab.Term.elabType", "Lean.EnvExtension.asyncMode", "Lean.Environment.constants", "Lean.Environment.find?", "Lean.Environment.getModuleIdxFor?", "Lean.Environment.header", "Lean.Environment.isProjectionFn", "Lean.EnvironmentHeader.moduleNames", "Lean.Expr.getAppArgs", "Lean.Expr.getAppFn", "Lean.Expr.getForallBody", "Lean.Expr.getUsedConstants", "Lean.Expr.isSort", "Lean.IR.findEnvDecl", "Lean.MessageData.compose", "Lean.MessageData.ofExpr", "Lean.MessageData.ofName", "Lean.Meta.MetaM.run'", "Lean.Meta.isInstanceCore", "Lean.Meta.isMatcherCore", "Lean.MonadEnv.getEnv", "Lean.MonadNameGenerator.setNGen", "Lean.Name.components", "Lean.Name.eraseMacroScopes", "Lean.Name.getPrefix", "Lean.Name.getString!", "Lean.Name.isInternal", "Lean.Name.isPrefixOf", "Lean.Name.lt", "Lean.Name.mkSimple", "Lean.Name.mkStr1", "Lean.Name.mkStr2", "Lean.Name.toString", "Lean.PersistentArray.branching", "Lean.PersistentArray.initShift", "Lean.PersistentEnvExtension.toEnvExtension", "Lean.PersistentHashMap.mkEmptyEntriesArray", "Lean.SMap.foldStage2", "Lean.Syntax.getArg", "Lean.Syntax.getId", "Lean.annotation?", "Lean.getConstInfo", "Lean.getOriginalConstKind?", "Lean.githash", "Lean.instantiateMVars", "Lean.isAuxRecursor", "Lean.isCasesOnRecursor", "Lean.isNoConfusion", "Lean.isNoncomputable", "Lean.noncomputableExt", "Lean.stringToMessageData", "Lean.throwError", "Lean.versionString", "List.any", "List.append", "List.contains", "List.drop", "List.elem", "List.filter", "List.foldl", "List.isEmpty", "List.map", "MonadLiftT.monadLift", "Nat.add", "Nat.blt", "Nat.toDigits", "Option.getD", "Option.isSome", "Pure.pure", "Std.HashMap.emptyWithCapacity", "Std.HashMap.get?", "Std.HashMap.insert", "Std.HashSet.contains", "Std.HashSet.emptyWithCapacity", "Std.HashSet.insert", "Std.HashSet.toList", "String.append", "String.foldl", "String.intercalate", "String.ofList", "String.push", "String.toName", "ToString.toString", "UInt16.toNat", "UInt32.toNat", "UInt64.toNat", "UInt8.toNat", "Unit.unit"] : Array String)) ((#[(Prod.mk (α := String) (β := (Array String)) "Bool" ((#["false", "true"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Alt" ((#["alt", "ctorAlt", "default"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Arg" ((#["erased", "fvar", "type"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Cases" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Code" ((#["let", "fun", "jp", "jmp", "cases", "return", "unreach", "oset", "uset", "sset", "setTag", "inc", "dec", "del"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Decl" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.DeclValue" ((#["code", "extern"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.FunDecl" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.LetDecl" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.LetValue" ((#["lit", "erased", "proj", "const", "fvar", "ctor", "oproj", "uproj", "sproj", "fap", "pap", "reset", "reuse", "box", "unbox", "isShared"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.LitValue" ((#["nat", "str", "uint8", "uint16", "uint32", "uint64", "usize"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Param" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Phase" ((#["base", "mono", "impure"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Purity" ((#["pure", "impure"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Signature" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstantInfo" ((#["axiomInfo", "defnInfo", "thmInfo", "opaqueInfo", "quotInfo", "inductInfo", "ctorInfo", "recInfo"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstantKind" ((#["defn", "thm", "axiom", "opaque", "quot", "induct", "ctor", "recursor"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstantVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstructorVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.DefinitionSafety" ((#["unsafe", "safe", "partial"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.DefinitionVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Expr" ((#["bvar", "fvar", "mvar", "sort", "const", "app", "lam", "forallE", "letE", "lit", "mdata", "proj"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.FVarId" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.InductiveVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Name" ((#["anonymous", "str", "num"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.NameGenerator" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "List" ((#["nil", "cons"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Option" ((#["none", "some"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Prod" ((#["mk"] : Array String)))] : Array (Prod String (Array String)))) ((#["Array", "BEq", "Bind", "Char", "Hashable", "IO", "Lean.AxiomVal", "Lean.BinderInfo", "Lean.Compiler.InlineAttributeKind", "Lean.Compiler.LCNF.CompilerM", "Lean.Compiler.LCNF.CompilerM.State", "Lean.Compiler.LCNF.CtorInfo", "Lean.ConstMap", "Lean.Core.Context", "Lean.Core.CoreM", "Lean.Core.State", "Lean.DelayedMetavarAssignment", "Lean.Elab.Command.CommandElab", "Lean.Elab.Command.CommandElabM", "Lean.Elab.Command.Context", "Lean.Elab.Command.State", "Lean.Elab.Term.Context", "Lean.Elab.Term.State", "Lean.Elab.Term.TermElabM", "Lean.EnvExtension", "Lean.EnvExtension.AsyncMode", "Lean.Environment", "Lean.EnvironmentHeader", "Lean.Exception", "Lean.ExternAttrData", "Lean.FVarIdMap", "Lean.FVarIdSet", "Lean.IR.Decl", "Lean.LMVarId", "Lean.Level", "Lean.LevelMetavarDecl", "Lean.Literal", "Lean.LocalDecl", "Lean.LocalInstance", "Lean.MData", "Lean.MVarId", "Lean.MessageData", "Lean.Meta.AbstractMVarsResult", "Lean.Meta.Config", "Lean.Meta.ConfigWithKey", "Lean.Meta.Context", "Lean.Meta.DefEqCacheKey", "Lean.Meta.DefEqContext", "Lean.Meta.ExprConfigCacheKey", "Lean.Meta.FunInfo", "Lean.Meta.InfoCacheKey", "Lean.Meta.MetaM", "Lean.Meta.PostponedEntry", "Lean.Meta.State", "Lean.Meta.SynthInstanceCacheKey", "Lean.MetavarDecl", "Lean.ModuleIdx", "Lean.MonadEnv", "Lean.MonadError", "Lean.MonadMCtx", "Lean.MonadNameGenerator", "Lean.NameSet", "Lean.OpaqueVal", "Lean.ParserDescr", "Lean.PersistentArrayNode", "Lean.PersistentEnvExtension", "Lean.PersistentEnvExtensionState", "Lean.PersistentHashMap.Entry", "Lean.PersistentHashMap.Node", "Lean.QuotVal", "Lean.RecursorVal", "Lean.ReducibilityHints", "Lean.SMap", "Lean.Syntax", "Lean.TagDeclarationExtension", "Lean.TheoremVal", "Monad", "MonadLiftT", "Nat", "Pure", "Std.HashMap", "Std.HashSet", "String", "ToString", "UInt16", "UInt32", "UInt64", "UInt8", "USize", "Unit"] : Array String)) ((#["Applicative.toPure", "Array.casesOn", "Array.mkEmpty", "Bool.casesOn", "Char.ofNat", "EIO", "EmptyCollection.emptyCollection", "Eq", "Eq.casesOn", "Eq.ndrec", "Eq.refl", "Eq.symm", "False", "False.elim", "HEq", "HEq.refl", "IO.RealWorld", "Inhabited", "Inhabited.default", "Inhabited.mk", "Lean.Compiler.LCNF.Alt.casesOn", "Lean.Compiler.LCNF.Arg.casesOn", "Lean.Compiler.LCNF.Cases.casesOn", "Lean.Compiler.LCNF.Code.casesOn", "Lean.Compiler.LCNF.CompilerM.State.mk", "Lean.Compiler.LCNF.CtorInfo.casesOn", "Lean.Compiler.LCNF.Decl.toSignature", "Lean.Compiler.LCNF.Decl.value", "Lean.Compiler.LCNF.DeclValue.casesOn", "Lean.Compiler.LCNF.FunDecl.casesOn", "Lean.Compiler.LCNF.LCtx.mk", "Lean.Compiler.LCNF.LetDecl.fvarId", "Lean.Compiler.LCNF.LetDecl.type", "Lean.Compiler.LCNF.LetDecl.value", "Lean.Compiler.LCNF.LetValue.casesOn", "Lean.Compiler.LCNF.LitValue.casesOn", "Lean.Compiler.LCNF.Param.borrow", "Lean.Compiler.LCNF.Param.fvarId", "Lean.Compiler.LCNF.Param.type", "Lean.Compiler.LCNF.Purity.ctorIdx", "Lean.Compiler.LCNF.Signature.levelParams", "Lean.Compiler.LCNF.Signature.name", "Lean.Compiler.LCNF.Signature.params", "Lean.Compiler.LCNF.Signature.safe", "Lean.Compiler.LCNF.Signature.type", "Lean.ConstantInfo.casesOn", "Lean.ConstantInfo.ctorIdx", "Lean.ConstantInfo.rec", "Lean.ConstantKind.casesOn", "Lean.ConstantVal.type", "Lean.ConstructorVal.induct", "Lean.ConstructorVal.numFields", "Lean.ConstructorVal.numParams", "Lean.ConstructorVal.toConstantVal", "Lean.Core.instAddMessageContextCoreM", "Lean.Core.instInhabitedCoreM", "Lean.Core.instMonadCoreM", "Lean.Core.instMonadEnvCoreM", "Lean.Core.instMonadLiftIOCoreM", "Lean.Core.instMonadNameGeneratorCoreM", "Lean.Core.instMonadRefCoreM", "Lean.DefinitionSafety.casesOn", "Lean.DefinitionVal.safety", "Lean.Elab.Command.instAddErrorMessageContextCommandElabM", "Lean.Elab.Command.instInhabitedCommandElabM", "Lean.Elab.Command.instMonadCommandElabM", "Lean.Elab.Command.instMonadEnvCommandElabM", "Lean.Elab.Command.instMonadExceptOfExceptionCommandElabM", "Lean.Elab.Command.instMonadLiftTIOCommandElabM", "Lean.Elab.Command.instMonadRefCommandElabM", "Lean.Elab.MonadMacroAdapter.toMonadQuotation", "Lean.Elab.Term.instAddErrorMessageContextTermElabM", "Lean.Elab.Term.instMonadMacroAdapterTermElabM", "Lean.Elab.Term.instMonadTermElabM", "Lean.Expr.casesOn", "Lean.Expr.ctorIdx", "Lean.Expr.instBEq", "Lean.Expr.instHashable", "Lean.Expr.rec", "Lean.FVarId.casesOn", "Lean.FVarId.name", "Lean.InductiveVal.ctors", "Lean.InductiveVal.isRec", "Lean.InductiveVal.numIndices", "Lean.InductiveVal.numParams", "Lean.Level.instBEq", "Lean.Level.instToString", "Lean.LocalContext.mk", "Lean.Meta.Cache.mk", "Lean.Meta.Context.mk", "Lean.Meta.Diagnostics.mk", "Lean.Meta.State.mk", "Lean.Meta.instBEqDefEqCacheKey", "Lean.Meta.instBEqExprConfigCacheKey", "Lean.Meta.instBEqInfoCacheKey", "Lean.Meta.instBEqSynthInstanceCacheKey", "Lean.Meta.instHashableDefEqCacheKey", "Lean.Meta.instHashableExprConfigCacheKey", "Lean.Meta.instHashableInfoCacheKey", "Lean.Meta.instHashableSynthInstanceCacheKey", "Lean.Meta.instInhabitedConfigWithKey", "Lean.Meta.instMonadEnvMetaM", "Lean.Meta.instMonadMCtxMetaM", "Lean.Meta.instMonadMetaM", "Lean.MetavarContext.mk", "Lean.MonadError.mk", "Lean.MonadQuotation.toMonadRef", "Lean.Name.instBEq", "Lean.ParserDescr.binary", "Lean.ParserDescr.cat", "Lean.ParserDescr.const", "Lean.ParserDescr.node", "Lean.ParserDescr.symbol", "Lean.PersistentArray.mk", "Lean.PersistentArrayNode.node", "Lean.PersistentHashMap.Node.entries", "Lean.PersistentHashMap.mk", "Lean.instAddErrorMessageContextOfAddMessageContextOfMonad", "Lean.instBEqBinderInfo", "Lean.instBEqFVarId", "Lean.instBEqLevelMVarId", "Lean.instBEqLiteral", "Lean.instBEqMVarId", "Lean.instEmptyCollectionFVarIdMap", "Lean.instEmptyCollectionFVarIdSet", "Lean.instHashableFVarId", "Lean.instHashableLevelMVarId", "Lean.instHashableMVarId", "Lean.instHashableName", "Lean.instMonadEnvOfMonadLift", "Lean.instMonadExceptOfExceptionCoreM", "Lean.instMonadMCtxOfMonadLift", "List.casesOn", "List.instBEq", "List.toArray", "Monad.toBind", "Nat.hasNotBit", "Nat.land", "Nat.ne_of_beq_eq_false", "Nat.shiftRight", "OfNat.ofNat", "Option.casesOn", "Prod.fst", "Prod.snd", "ReaderT.instApplicativeOfMonad", "ReaderT.instMonadExceptOf", "ReaderT.instMonadLift", "StateRefT'", "StateRefT'.instMonad", "StateRefT'.instMonadExceptOf", "StateRefT'.instMonadLift", "Std.HashMap.instEmptyCollection", "String.instInhabited", "USize.toNat", "eq_of_heq", "instBEqOfDecidableEq", "instDecidableEqBool", "instDecidableEqChar", "instDecidableEqNat", "instDecidableEqString", "instInhabitedBool", "instInhabitedList", "instInhabitedProd", "instMonadEIO", "instMonadLiftT", "instMonadLiftTOfMonadLift", "instOfNatNat", "instToStringList", "instToStringNat", "instToStringString", "ite", "noConfusion_of_Nat"] : Array String)) + +#eval LexLeanExtract.main ((#["Production.Main.checkedSum", "Production.Main.shapeArea", "Production.Main.quadruple", "Production.Main.halvings", "Production.Main.sumAll", "Production.Main.headOr"] : Array String)) ((#["LexLeanRuntime.Portable", "LexLeanRuntime.Collections", "Production.Kernel", "Production.Main"] : Array String)) diff --git a/examples/production/expected/verify/extract/LexLeanExtract.X7b8829e2cc52192864282f3d66903769.lean b/examples/production/expected/verify/extract/LexLeanExtract.X7b8829e2cc52192864282f3d66903769.lean deleted file mode 100644 index f58d9f8b0..000000000 --- a/examples/production/expected/verify/extract/LexLeanExtract.X7b8829e2cc52192864282f3d66903769.lean +++ /dev/null @@ -1,432 +0,0 @@ -module -public meta import Lean -import all Production.Kernel -import all Production.Main -set_option autoImplicit false -set_option linter.unusedVariables false -universe u u_1 u_2 v w - -meta def LexLeanExtract.escape (text : String) : String := - (String.foldl (α := String) (fun (out : String) (c : Char) => (if (BEq.beq (α := Char) c '"') then (String.append out "\\\"") else (if (BEq.beq (α := Char) c '\\') then (String.append out "\\\\") else (if (Nat.blt (Char.toNat c) 32) then (String.append out (String.append "\\u" (String.ofList (List.drop (α := Char) 1 (Nat.toDigits 16 (Nat.add (Char.toNat c) 65536)))))) else (String.push out c))))) "" text) - -meta def LexLeanExtract.str (text : String) : String := - (String.append "\"" (String.append (LexLeanExtract.escape text) "\"")) - -meta def LexLeanExtract.name (n : Lean.Name) : String := - (LexLeanExtract.str (Lean.Name.toString n)) - -meta def LexLeanExtract.arr (items : (List String)) : String := - (String.append "[" (String.append (String.intercalate "," items) "]")) - -meta def LexLeanExtract.obj (fields : (List (Prod String String))) : String := - (String.append "{" (String.append (String.intercalate "," (List.map (α := (Prod String String)) (β := String) (fun (kv : (Prod String String)) => (String.append (LexLeanExtract.str (kv).fst) (String.append ":" (kv).snd))) fields)) "}")) - -meta def LexLeanExtract.bool (value : Bool) : String := - (if value then "true" else "false") - -meta def LexLeanExtract.fvar (id : Lean.FVarId) : String := - (LexLeanExtract.name (id).name) - -meta partial def LexLeanExtract.mergeNames (a : (List Lean.Name)) (b : (List Lean.Name)) : (List Lean.Name) := - (match a with | .nil => b | .cons x xs => (match b with | .nil => a | .cons y ys => (if (Lean.Name.lt y x) then (List.cons (α := Lean.Name) y (LexLeanExtract.mergeNames a ys)) else (List.cons (α := Lean.Name) x (LexLeanExtract.mergeNames xs b))))) - -meta partial def LexLeanExtract.splitNames (l : (List Lean.Name)) : (Prod (List Lean.Name) (List Lean.Name)) := - (match l with | .nil => (Prod.mk (α := (List Lean.Name)) (β := (List Lean.Name)) (List.nil (α := Lean.Name)) (List.nil (α := Lean.Name))) | .cons x xs => (let rest : (Prod (List Lean.Name) (List Lean.Name)) := (LexLeanExtract.splitNames xs); (Prod.mk (α := (List Lean.Name)) (β := (List Lean.Name)) (List.cons (α := Lean.Name) x (rest).snd) (rest).fst))) - -meta partial def LexLeanExtract.sortNames (l : (List Lean.Name)) : (List Lean.Name) := - (match l with | .nil => (List.nil (α := Lean.Name)) | .cons x xs => (match xs with | .nil => l | .cons y ys => (let halves : (Prod (List Lean.Name) (List Lean.Name)) := (LexLeanExtract.splitNames l); (LexLeanExtract.mergeNames (LexLeanExtract.sortNames (halves).fst) (LexLeanExtract.sortNames (halves).snd))))) - -meta def LexLeanExtract.sorted (names : (Std.HashSet Lean.Name)) : (List Lean.Name) := - (LexLeanExtract.sortNames (Std.HashSet.toList (α := Lean.Name) names)) - -meta def LexLeanExtract.insert (names : (Std.HashSet Lean.Name)) (n : Lean.Name) : (Std.HashSet Lean.Name) := - (Std.HashSet.insert (α := Lean.Name) names n) - -meta partial def LexLeanExtract.type (e : Lean.Expr) : String := - (match e with | .const n us => (if (BEq.beq (α := Lean.Name) n ``lcErased) then (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "erased"))] : List (Prod String String)))) else (if (BEq.beq (α := Lean.Name) n ``lcAny) then (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "any"))] : List (Prod String String)))) else (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "const")), (Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name n)), (Prod.mk (α := String) (β := String) "levels" (LexLeanExtract.arr (List.map (α := Lean.Level) (β := String) (fun (u : Lean.Level) => (LexLeanExtract.str (ToString.toString (α := Lean.Level) u))) us)))] : List (Prod String String)))))) | .app fn arg => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "app")), (Prod.mk (α := String) (β := String) "head" (LexLeanExtract.type (Lean.Expr.getAppFn e))), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := Lean.Expr) (β := String) (fun (a : Lean.Expr) => (LexLeanExtract.type a)) (Array.toList (α := Lean.Expr) (Lean.Expr.getAppArgs e)))))] : List (Prod String String)))) | .forallE binderName domain body binderInfo => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "arrow")), (Prod.mk (α := String) (β := String) "domain" (LexLeanExtract.type domain)), (Prod.mk (α := String) (β := String) "codomain" (LexLeanExtract.type body))] : List (Prod String String)))) | .fvar id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "fvar")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar id))] : List (Prod String String)))) | .bvar position => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "bvar")), (Prod.mk (α := String) (β := String) "index" (ToString.toString (α := Nat) position))] : List (Prod String String)))) | .sort u => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "sort")), (Prod.mk (α := String) (β := String) "level" (LexLeanExtract.str (ToString.toString (α := Lean.Level) u)))] : List (Prod String String)))) | .mvar id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "metavariable"))] : List (Prod String String)))) | .lam binderName domain body binderInfo => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "lambda"))] : List (Prod String String)))) | .letE declName t value body nonDep => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "let"))] : List (Prod String String)))) | .lit literal => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "literal"))] : List (Prod String String)))) | .mdata data body => (match (Lean.annotation? (Lean.Name.mkSimple "borrowed") e) with | .some annotated => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "borrowed")), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type body))] : List (Prod String String)))) | .none => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "metadata"))] : List (Prod String String))))) | .proj typeName idx struct => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "projection"))] : List (Prod String String))))) - -meta def LexLeanExtract.arg (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) : String := - (match a with | .erased => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "erased"))] : List (Prod String String)))) | .fvar id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "fvar")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar id))] : List (Prod String String)))) | .type e => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "type")), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type e))] : List (Prod String String))))) - -meta def LexLeanExtract.literal (value : Lean.Compiler.LCNF.LitValue) : String := - (match value with | .nat v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "nat")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) v)))] : List (Prod String String)))) | .str v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "string")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str v))] : List (Prod String String)))) | .uint8 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint8")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt8.toNat v))))] : List (Prod String String)))) | .uint16 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint16")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt16.toNat v))))] : List (Prod String String)))) | .uint32 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint32")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt32.toNat v))))] : List (Prod String String)))) | .uint64 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint64")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt64.toNat v))))] : List (Prod String String)))) | .usize v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "usize")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt64.toNat v))))] : List (Prod String String))))) - -meta def LexLeanExtract.letValue (v : (Lean.Compiler.LCNF.LetValue Lean.Compiler.LCNF.Purity.pure)) : String := - (match v with | .lit value => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "literal")), (Prod.mk (α := String) (β := String) "literal" (LexLeanExtract.literal value))] : List (Prod String String)))) | .erased => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "erased"))] : List (Prod String String)))) | .proj typeName position struct => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "projection")), (Prod.mk (α := String) (β := String) "type_name" (LexLeanExtract.name typeName)), (Prod.mk (α := String) (β := String) "index" (ToString.toString (α := Nat) position)), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.fvar struct))] : List (Prod String String)))) | .const declName us args => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "const")), (Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name declName)), (Prod.mk (α := String) (β := String) "levels" (LexLeanExtract.arr (List.map (α := Lean.Level) (β := String) (fun (u : Lean.Level) => (LexLeanExtract.str (ToString.toString (α := Lean.Level) u))) us))), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.arg a)) (Array.toList (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) args))))] : List (Prod String String)))) | .fvar id args => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "apply")), (Prod.mk (α := String) (β := String) "function" (LexLeanExtract.fvar id)), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.arg a)) (Array.toList (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) args))))] : List (Prod String String))))) - -meta def LexLeanExtract.param (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) : String := - (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar (p).fvarId)), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type (p).type)), (Prod.mk (α := String) (β := String) "borrow" (LexLeanExtract.bool (p).borrow))] : List (Prod String String)))) - -mutual -meta partial def LexLeanExtract.code (c : (Lean.Compiler.LCNF.Code Lean.Compiler.LCNF.Purity.pure)) : String := - (match c with | .«let» decl k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "let")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar (decl).fvarId)), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type (decl).type)), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.letValue (decl).value)), (Prod.mk (α := String) (β := String) "body" (LexLeanExtract.code k))] : List (Prod String String)))) | .«fun» decl k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "fun")), (Prod.mk (α := String) (β := String) "declaration" (LexLeanExtract.funDecl decl)), (Prod.mk (α := String) (β := String) "body" (LexLeanExtract.code k))] : List (Prod String String)))) | .jp decl k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "join")), (Prod.mk (α := String) (β := String) "declaration" (LexLeanExtract.funDecl decl)), (Prod.mk (α := String) (β := String) "body" (LexLeanExtract.code k))] : List (Prod String String)))) | .jmp id args => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "jump")), (Prod.mk (α := String) (β := String) "target" (LexLeanExtract.fvar id)), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.arg a)) (Array.toList (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) args))))] : List (Prod String String)))) | .cases cs => (LexLeanExtract.cases cs) | .«return» id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "return")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar id))] : List (Prod String String)))) | .unreach t => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unreachable")), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type t))] : List (Prod String String))))) - -meta partial def LexLeanExtract.funDecl (d : (Lean.Compiler.LCNF.FunDecl Lean.Compiler.LCNF.Purity.pure)) : String := - (match d with | .mk fvarId binderName params type value => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar fvarId)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param p)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) params)))), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type type)), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.code value))] : List (Prod String String))))) - -meta partial def LexLeanExtract.cases (cs : (Lean.Compiler.LCNF.Cases Lean.Compiler.LCNF.Purity.pure)) : String := - (match cs with | .mk typeName resultType discr alts => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "cases")), (Prod.mk (α := String) (β := String) "type_name" (LexLeanExtract.name typeName)), (Prod.mk (α := String) (β := String) "result_type" (LexLeanExtract.type resultType)), (Prod.mk (α := String) (β := String) "discriminant" (LexLeanExtract.fvar discr)), (Prod.mk (α := String) (β := String) "alternatives" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.alt a)) (Array.toList (α := (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) alts))))] : List (Prod String String))))) - -meta partial def LexLeanExtract.alt (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) : String := - (match a with | .alt ctorName params k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "constructor")), (Prod.mk (α := String) (β := String) "constructor" (LexLeanExtract.name ctorName)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param p)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) params)))), (Prod.mk (α := String) (β := String) "code" (LexLeanExtract.code k))] : List (Prod String String)))) | .default k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "default")), (Prod.mk (α := String) (β := String) "code" (LexLeanExtract.code k))] : List (Prod String String))))) -end - -meta partial def LexLeanExtract.typeConstants (e : Lean.Expr) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (match e with | .const n us => (if (Bool.or (BEq.beq (α := Lean.Name) n ``lcErased) (BEq.beq (α := Lean.Name) n ``lcAny)) then out else (LexLeanExtract.insert out n)) | .app f a => (LexLeanExtract.typeConstants a (LexLeanExtract.typeConstants f out)) | .forallE binderName d b binderInfo => (LexLeanExtract.typeConstants b (LexLeanExtract.typeConstants d out)) | .bvar position => out | .fvar id => out | .mvar id => out | .sort u => out | .lit literal => out | .lam binderName d b binderInfo => (LexLeanExtract.typeConstants b (LexLeanExtract.typeConstants d out)) | .letE declName t v b nonDep => (LexLeanExtract.typeConstants b (LexLeanExtract.typeConstants v (LexLeanExtract.typeConstants t out))) | .mdata data b => (LexLeanExtract.typeConstants b out) | .proj typeName idx b => (LexLeanExtract.typeConstants b (LexLeanExtract.insert out typeName))) - -meta def LexLeanExtract.argConstants (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (match a with | .type e => (LexLeanExtract.typeConstants e out) | .erased => out | .fvar id => out) - -meta def LexLeanExtract.paramConstants (ps : (Array (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure))) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (Array.foldl (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.typeConstants (p).type acc)) out ps) - -meta def LexLeanExtract.letValueConstants (v : (Lean.Compiler.LCNF.LetValue Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (match v with | .const n us args => (Array.foldl (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.argConstants a acc)) (LexLeanExtract.insert out n) args) | .fvar id args => (Array.foldl (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.argConstants a acc)) out args) | .proj typeName position struct => (LexLeanExtract.insert out typeName) | .lit value => out | .erased => out) - -mutual -meta partial def LexLeanExtract.codeConstants (c : (Lean.Compiler.LCNF.Code Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (match c with | .«let» decl k => (LexLeanExtract.codeConstants k (LexLeanExtract.letValueConstants (decl).value (LexLeanExtract.typeConstants (decl).type out))) | .«fun» decl k => (LexLeanExtract.codeConstants k (LexLeanExtract.funConstants decl out)) | .jp decl k => (LexLeanExtract.codeConstants k (LexLeanExtract.funConstants decl out)) | .jmp id args => (Array.foldl (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.argConstants a acc)) out args) | .cases cs => (LexLeanExtract.casesConstants cs out) | .«return» id => out | .unreach t => (LexLeanExtract.typeConstants t out)) - -meta partial def LexLeanExtract.funConstants (d : (Lean.Compiler.LCNF.FunDecl Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (match d with | .mk fvarId binderName params type value => (LexLeanExtract.codeConstants value (LexLeanExtract.typeConstants type (LexLeanExtract.paramConstants params out)))) - -meta partial def LexLeanExtract.casesConstants (cs : (Lean.Compiler.LCNF.Cases Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (match cs with | .mk typeName resultType discr alts => (Array.foldl (α := (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.altConstants a acc)) (LexLeanExtract.typeConstants resultType (LexLeanExtract.insert out typeName)) alts)) - -meta partial def LexLeanExtract.altConstants (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (match a with | .alt ctorName ps k => (LexLeanExtract.codeConstants k (LexLeanExtract.paramConstants ps (LexLeanExtract.insert out ctorName))) | .default k => (LexLeanExtract.codeConstants k out)) -end - -meta def LexLeanExtract.kind (info : Lean.ConstantInfo) : String := - (match info with | .defnInfo value => (match (value).safety with | .safe => "definition" | .«unsafe» => "unsafe-definition" | .«partial» => "partial-definition") | .opaqueInfo opaqueValue => "opaque" | .thmInfo theoremValue => "theorem" | .axiomInfo axiomValue => "axiom" | .inductInfo inductiveValue => "inductive" | .ctorInfo constructorValue => "constructor" | .recInfo recursorValue => "recursor" | .quotInfo quotientValue => "quotient") - -meta def LexLeanExtract.originalKind (env : Lean.Environment) (n : Lean.Name) : String := - (match (Lean.getOriginalConstKind? env n) with | .some original => (match original with | .defn => "definition" | .thm => "theorem" | .«axiom» => "axiom" | .«opaque» => "opaque" | .quot => "quotient" | .induct => "inductive" | .ctor => "constructor" | .recursor => "recursor") | .none => "unknown") - -meta def LexLeanExtract.moduleOf (env : Lean.Environment) (n : Lean.Name) : Lean.Name := - (match (Lean.Environment.getModuleIdxFor? env n) with | .some index => (Array.getD (α := Lean.Name) (Lean.EnvironmentHeader.moduleNames (Lean.Environment.header env)) index (Lean.Name.anonymous)) | .none => (Lean.Name.anonymous)) - -meta def LexLeanExtract.inProject (env : Lean.Environment) (modules : (Array Lean.Name)) (n : Lean.Name) : Bool := - (Array.contains (α := Lean.Name) modules (LexLeanExtract.moduleOf env n)) - -meta def LexLeanExtract.facts (env : Lean.Environment) (n : Lean.Name) (info : Lean.ConstantInfo) : (Lean.Core.CoreM (List (Prod String String))) := - (Bind.bind (m := Lean.Core.CoreM) (α := Bool) (β := (List (Prod String String))) (Lean.Compiler.LCNF.shouldGenerateCode n) (fun (generates : Bool) => (Pure.pure (f := Lean.Core.CoreM) (α := (List (Prod String String))) (([(Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name n)), (Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str (LexLeanExtract.kind info))), (Prod.mk (α := String) (β := String) "module" (LexLeanExtract.name (LexLeanExtract.moduleOf env n))), (Prod.mk (α := String) (β := String) "computable" (LexLeanExtract.bool (Bool.not (Lean.isNoncomputable env n)))), (Prod.mk (α := String) (β := String) "generates_code" (LexLeanExtract.bool generates)), (Prod.mk (α := String) (β := String) "original_kind" (LexLeanExtract.str (LexLeanExtract.originalKind env n))), (Prod.mk (α := String) (β := String) "internal" (LexLeanExtract.bool (Lean.Name.isInternal n)))] : List (Prod String String)))))) - -mutual -meta partial def LexLeanExtract.sameSignature (a : Lean.Expr) (b : Lean.Expr) : Bool := - (match a with | .mdata data1 inner1 => (LexLeanExtract.sameSignature inner1 b) | _ => (match b with | .mdata data2 inner2 => (LexLeanExtract.sameSignature a inner2) | _ => (LexLeanExtract.sameStructure a b))) - -meta partial def LexLeanExtract.sameStructure (a : Lean.Expr) (b : Lean.Expr) : Bool := - (match a with | .forallE name1 domain1 body1 info1 => (match b with | .forallE name2 domain2 body2 info2 => (Bool.and (BEq.beq (α := Lean.BinderInfo) info1 info2) (Bool.and (LexLeanExtract.sameSignature domain1 domain2) (LexLeanExtract.sameSignature body1 body2))) | _ => (Bool.false)) | .lam name1 domain1 body1 info1 => (match b with | .lam name2 domain2 body2 info2 => (Bool.and (BEq.beq (α := Lean.BinderInfo) info1 info2) (Bool.and (LexLeanExtract.sameSignature domain1 domain2) (LexLeanExtract.sameSignature body1 body2))) | _ => (Bool.false)) | .app function1 argument1 => (match b with | .app function2 argument2 => (Bool.and (LexLeanExtract.sameSignature function1 function2) (LexLeanExtract.sameSignature argument1 argument2)) | _ => (Bool.false)) | .const constant1 levels1 => (match b with | .const constant2 levels2 => (Bool.and (BEq.beq (α := Lean.Name) constant1 constant2) (BEq.beq (α := (List Lean.Level)) levels1 levels2)) | _ => (Bool.false)) | .sort level1 => (match b with | .sort level2 => (BEq.beq (α := Lean.Level) level1 level2) | _ => (Bool.false)) | .bvar position1 => (match b with | .bvar position2 => (BEq.beq (α := Nat) position1 position2) | _ => (Bool.false)) | .lit literal1 => (match b with | .lit literal2 => (BEq.beq (α := Lean.Literal) literal1 literal2) | _ => (Bool.false)) | .fvar free1 => (match b with | .fvar free2 => (BEq.beq (α := Lean.FVarId) free1 free2) | _ => (Bool.false)) | .mvar meta1 => (match b with | .mvar meta2 => (BEq.beq (α := Lean.MVarId) meta1 meta2) | _ => (Bool.false)) | .letE local1 type1 value1 scope1 flag1 => (match b with | .letE local2 type2 value2 scope2 flag2 => (Bool.and (LexLeanExtract.sameSignature type1 type2) (Bool.and (LexLeanExtract.sameSignature value1 value2) (LexLeanExtract.sameSignature scope1 scope2))) | _ => (Bool.false)) | .proj structure1 field1 target1 => (match b with | .proj structure2 field2 target2 => (Bool.and (BEq.beq (α := Lean.Name) structure1 structure2) (Bool.and (BEq.beq (α := Nat) field1 field2) (LexLeanExtract.sameSignature target1 target2))) | _ => (Bool.false)) | _ => (Bool.false)) -end - -public meta def LexLeanExtract.elabSignature : Lean.Elab.Command.CommandElab := - (fun (stx : Lean.Syntax) => (Lean.Elab.Command.liftTermElabM (α := Unit) (let declName : Lean.Name := (Lean.Syntax.getId (Lean.Syntax.getArg stx 1)); (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.ConstantInfo) (β := Unit) (Lean.getConstInfo (m := Lean.Elab.Term.TermElabM) declName) (fun (info : Lean.ConstantInfo) => (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.Expr) (β := Unit) (Lean.Elab.Term.elabType (Lean.Syntax.getArg stx 3)) (fun (elaborated : Lean.Expr) => (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.Expr) (β := Unit) (Lean.instantiateMVars (m := Lean.Elab.Term.TermElabM) elaborated) (fun (registered : Lean.Expr) => (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.Expr) (β := Unit) (Lean.instantiateMVars (m := Lean.Elab.Term.TermElabM) (Lean.ConstantInfo.type info)) (fun (actual : Lean.Expr) => (if (LexLeanExtract.sameSignature actual registered) then (Pure.pure (f := Lean.Elab.Term.TermElabM) (α := Unit) (Unit.unit)) else (Lean.«throwError» (m := Lean.Elab.Term.TermElabM) (α := Unit) (Lean.MessageData.compose (Lean.stringToMessageData "lexlean-extract-drift: the signature of `") (Lean.MessageData.compose (Lean.MessageData.ofName declName) (Lean.MessageData.compose (Lean.stringToMessageData "` is ") (Lean.MessageData.ofExpr (Lean.ConstantInfo.type info)))))))))))))))))) - -meta def LexLeanExtract.classify (env : Lean.Environment) (c : Lean.Name) (info : Lean.ConstantInfo) : String := - (let structural : Bool := (Bool.or (Lean.Environment.isProjectionFn env c) (Bool.or (Lean.isCasesOnRecursor env c) (Bool.or (Lean.isAuxRecursor env c) (Bool.or (Lean.isNoConfusion env c) (Bool.or (Lean.Name.isInternal c) (Bool.or (Lean.Meta.isInstanceCore env c) (Bool.or (Lean.Meta.isMatcherCore env c) (BEq.beq (α := String) (Lean.Name.getString! c) "ctorIdx")))))))); (let former : Bool := (Lean.Expr.isSort (Lean.Expr.getForallBody (Lean.ConstantInfo.type info))); (match info with | .inductInfo inductiveValue => "type" | .defnInfo definitionValue => (if former then "type" else (if (Bool.and (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c) (Bool.not structural)) then "call" else "plumbing")) | .opaqueInfo opaqueValue => (if (Bool.and (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c) (Bool.not structural)) then "call" else "plumbing") | .axiomInfo axiomValue => (if (Bool.and (Bool.and (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c) (Bool.not structural)) (Bool.not former)) then "call" else "plumbing") | .thmInfo theoremValue => "plumbing" | .quotInfo quotientValue => "plumbing" | .ctorInfo constructorValue => "plumbing" | .recInfo recursorValue => "plumbing"))) - -meta def LexLeanExtract.ownNames (env : Lean.Environment) : (Std.HashSet Lean.Name) := - (Lean.SMap.foldStage2 (α := Lean.Name) (β := Lean.ConstantInfo) (σ := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (n : Lean.Name) (info : Lean.ConstantInfo) => (LexLeanExtract.insert acc n)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (Lean.Environment.constants env)) - -meta def LexLeanExtract.ownUses (env : Lean.Environment) : (Std.HashSet Lean.Name) := - (Lean.SMap.foldStage2 (α := Lean.Name) (β := Lean.ConstantInfo) (σ := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (n : Lean.Name) (info : Lean.ConstantInfo) => (if (List.elem (α := Lean.Name) (Lean.Name.mkSimple "LexLeanExtract") (Lean.Name.components (Lean.Name.eraseMacroScopes n))) then (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (seen : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert seen used)) (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (seen : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert seen used)) acc (Lean.Expr.getUsedConstants (Lean.ConstantInfo.type info))) (match (Lean.ConstantInfo.value? info (Bool.true)) with | .some value => (Lean.Expr.getUsedConstants value) | .none => ((#[] : Array Lean.Name)))) else acc)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (Lean.Environment.constants env)) - -meta partial def LexLeanExtract.classifyAll (env : Lean.Environment) (own : (Std.HashSet Lean.Name)) (names : (List Lean.Name)) : (Lean.Elab.Command.CommandElabM (List (Prod Lean.Name String))) := - (match names with | .nil => (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (List.nil (α := (Prod Lean.Name String)))) | .cons c rest => (if (Std.HashSet.contains (α := Lean.Name) own c) then (LexLeanExtract.classifyAll env own rest) else (match (Lean.Environment.find? env c) with | .some info => (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (β := (List (Prod Lean.Name String))) (LexLeanExtract.classifyAll env own rest) (fun (tail : (List (Prod Lean.Name String))) => (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (List.cons (α := (Prod Lean.Name String)) (Prod.mk (α := Lean.Name) (β := String) c (LexLeanExtract.classify env c info)) tail)))) | .none => (Lean.«throwError» (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (Lean.stringToMessageData (String.append "lexlean-extract-drift: the adapter uses the unknown constant `" (String.append (Lean.Name.toString c) "`"))))))) - -meta def LexLeanExtract.adapterConstants : (Lean.Elab.Command.CommandElabM (List (Prod Lean.Name String))) := - (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := Lean.Environment) (β := (List (Prod Lean.Name String))) (Lean.MonadEnv.getEnv (m := Lean.Elab.Command.CommandElabM)) (fun (env : Lean.Environment) => (LexLeanExtract.classifyAll env (LexLeanExtract.ownNames env) (LexLeanExtract.sorted (LexLeanExtract.ownUses env))))) - -meta partial def LexLeanExtract.listLines (used : (List (Prod Lean.Name String))) : (Lean.Elab.Command.CommandElabM Unit) := - (match used with | .nil => (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := Unit) (Unit.unit)) | .cons entry rest => (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := Unit) (β := Unit) (MonadLiftT.monadLift (m := IO) (n := Lean.Elab.Command.CommandElabM) (α := Unit) (IO.println (α := String) (String.append (entry).snd (String.append " " (Lean.Name.toString (entry).fst))))) (fun (printed : Unit) => (LexLeanExtract.listLines rest)))) - -meta def LexLeanExtract.listAdapterConstants : (Lean.Elab.Command.CommandElabM Unit) := - (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (β := Unit) (LexLeanExtract.adapterConstants) (fun (used : (List (Prod Lean.Name String))) => (LexLeanExtract.listLines used))) - -meta def LexLeanExtract.registeredClass (calls : (Array Lean.Name)) (types : (Array (Prod Lean.Name (Array String)))) (opaques : (Array Lean.Name)) (plumbing : (Array Lean.Name)) (c : Lean.Name) : String := - (let typeNames : (List Lean.Name) := (List.map (α := (Prod Lean.Name (Array String))) (β := Lean.Name) (fun (row : (Prod Lean.Name (Array String))) => (row).fst) (Array.toList (α := (Prod Lean.Name (Array String))) types)); (if (Array.contains (α := Lean.Name) calls c) then "call" else (if (Bool.or (List.contains (α := Lean.Name) typeNames c) (Array.contains (α := Lean.Name) opaques c)) then "type" else (if (Array.contains (α := Lean.Name) plumbing c) then "plumbing" else (if (List.any (α := (Prod Lean.Name (Array String))) (Array.toList (α := (Prod Lean.Name (Array String))) types) (fun (candidate : (Prod Lean.Name (Array String))) => (Bool.and (BEq.beq (α := Lean.Name) (Lean.Name.getPrefix c) (candidate).fst) (Array.contains (α := String) (candidate).snd (Lean.Name.getString! c))))) then "plumbing" else "unregistered"))))) - -meta partial def LexLeanExtract.usedProblems (calls : (Array Lean.Name)) (types : (Array (Prod Lean.Name (Array String)))) (opaques : (Array Lean.Name)) (plumbing : (Array Lean.Name)) (used : (List (Prod Lean.Name String))) : (List String) := - (match used with | .nil => (List.nil (α := String)) | .cons entry rest => (let c : Lean.Name := (entry).fst; (let foreignType : Bool := (Bool.and (BEq.beq (α := String) (entry).snd "type") (Bool.not (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c))); (let expected : String := (if foreignType then "a type or plumbing" else (entry).snd); (let registered : String := (LexLeanExtract.registeredClass calls types opaques plumbing c); (if (if (BEq.beq (α := String) (entry).snd "plumbing") then (Bool.not (BEq.beq (α := String) registered "unregistered")) else (if foreignType then (Bool.or (BEq.beq (α := String) registered "type") (BEq.beq (α := String) registered "plumbing")) else (BEq.beq (α := String) registered expected))) then (LexLeanExtract.usedProblems calls types opaques plumbing rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString c) (String.append "` is used as " (String.append expected (String.append " but registered as " registered))))) (LexLeanExtract.usedProblems calls types opaques plumbing rest)))))))) - -meta partial def LexLeanExtract.unusedProblems (used : (List (Prod Lean.Name String))) (names : (List Lean.Name)) : (List String) := - (match names with | .nil => (List.nil (α := String)) | .cons c rest => (if (List.any (α := (Prod Lean.Name String)) used (fun (entry : (Prod Lean.Name String)) => (BEq.beq (α := Lean.Name) (entry).fst c))) then (LexLeanExtract.unusedProblems used rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString c) "` is plumbing but unused")) (LexLeanExtract.unusedProblems used rest)))) - -meta partial def LexLeanExtract.typeProblems (env : Lean.Environment) (types : (List (Prod Lean.Name (Array String)))) : (List String) := - (match types with | .nil => (List.nil (α := String)) | .cons row rest => (let n : Lean.Name := (row).fst; (match (Lean.Environment.find? env n) with | .some info => (match info with | .inductInfo «inductive» => (if (BEq.beq (α := (List String)) (List.map (α := Lean.Name) (β := String) (fun (constructorName : Lean.Name) => (Lean.Name.getString! constructorName)) («inductive»).ctors) (Array.toList (α := String) (row).snd)) then (LexLeanExtract.typeProblems env rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString n) (String.append "` has constructors " (String.append (ToString.toString (α := (List String)) (List.map (α := Lean.Name) (β := String) (fun (listed : Lean.Name) => (Lean.Name.getString! listed)) («inductive»).ctors)) (String.append ", registered " (ToString.toString (α := (List String)) (Array.toList (α := String) (row).snd))))))) (LexLeanExtract.typeProblems env rest))) | _ => (if (Array.isEmpty (α := String) (row).snd) then (LexLeanExtract.typeProblems env rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString n) (String.append "` is not an inductive type, registered with constructors " (ToString.toString (α := (List String)) (Array.toList (α := String) (row).snd))))) (LexLeanExtract.typeProblems env rest)))) | .none => (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString n) "` is not a constant")) (LexLeanExtract.typeProblems env rest))))) - -meta def LexLeanExtract.checkNames (calls : (Array Lean.Name)) (types : (Array (Prod Lean.Name (Array String)))) (opaques : (Array Lean.Name)) (plumbing : (Array Lean.Name)) : (Lean.Elab.Command.CommandElabM Unit) := - (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := Lean.Environment) (β := Unit) (Lean.MonadEnv.getEnv (m := Lean.Elab.Command.CommandElabM)) (fun (env : Lean.Environment) => (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (β := Unit) (LexLeanExtract.adapterConstants) (fun (used : (List (Prod Lean.Name String))) => (let names : (List Lean.Name) := (Array.toList (α := Lean.Name) plumbing); (let differences : (List String) := (List.append (α := String) (LexLeanExtract.usedProblems calls types opaques plumbing used) (List.append (α := String) (LexLeanExtract.unusedProblems used names) (LexLeanExtract.typeProblems env (Array.toList (α := (Prod Lean.Name (Array String))) types)))); (if (List.isEmpty (α := String) differences) then (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := Unit) (Unit.unit)) else (Lean.«throwError» (m := Lean.Elab.Command.CommandElabM) (α := Unit) (Lean.stringToMessageData (String.append "lexlean-extract-drift: the adapter and its registry differ: " (String.intercalate "; " differences))))))))))) - -meta def LexLeanExtract.declUses (decl : (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) : (Std.HashSet Lean.Name) := - (match (decl).value with | .code body => (LexLeanExtract.codeConstants body (LexLeanExtract.typeConstants ((decl).toSignature).type (LexLeanExtract.paramConstants ((decl).toSignature).params (Std.HashSet.emptyWithCapacity (α := Lean.Name))))) | .extern attributes => (LexLeanExtract.typeConstants ((decl).toSignature).type (LexLeanExtract.paramConstants ((decl).toSignature).params (Std.HashSet.emptyWithCapacity (α := Lean.Name))))) - -meta def LexLeanExtract.declText (decl : (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) : String := - (let signatureUses : (Std.HashSet Lean.Name) := (LexLeanExtract.typeConstants ((decl).toSignature).type (LexLeanExtract.paramConstants ((decl).toSignature).params (Std.HashSet.emptyWithCapacity (α := Lean.Name)))); (match (decl).value with | .code body => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "safe" (LexLeanExtract.bool ((decl).toSignature).safe)), (Prod.mk (α := String) (β := String) "level_parameters" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (levelName : Lean.Name) => (LexLeanExtract.name levelName)) ((decl).toSignature).levelParams))), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type ((decl).toSignature).type)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (parameter : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param parameter)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) ((decl).toSignature).params)))), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "code")), (Prod.mk (α := String) (β := String) "code" (LexLeanExtract.code body))] : List (Prod String String))))), (Prod.mk (α := String) (β := String) "uses" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (usedName : Lean.Name) => (LexLeanExtract.name usedName)) (LexLeanExtract.sorted (LexLeanExtract.codeConstants body signatureUses)))))] : List (Prod String String)))) | .extern attributes => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "safe" (LexLeanExtract.bool ((decl).toSignature).safe)), (Prod.mk (α := String) (β := String) "level_parameters" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (levelName : Lean.Name) => (LexLeanExtract.name levelName)) ((decl).toSignature).levelParams))), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type ((decl).toSignature).type)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (parameter : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param parameter)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) ((decl).toSignature).params)))), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "extern"))] : List (Prod String String))))), (Prod.mk (α := String) (β := String) "uses" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (usedName : Lean.Name) => (LexLeanExtract.name usedName)) (LexLeanExtract.sorted signatureUses))))] : List (Prod String String)))))) - -meta partial def LexLeanExtract.codeLoop (env : Lean.Environment) (modules : (Array Lean.Name)) (queue : (List Lean.Name)) (visited : (Std.HashSet Lean.Name)) (decls : (Std.HashMap Lean.Name String)) (referenced : (Std.HashSet Lean.Name)) : (Lean.Core.CoreM (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) := - (match queue with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Prod.mk (α := (Std.HashSet Lean.Name)) (β := (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name))) visited (Prod.mk (α := (Std.HashMap Lean.Name String)) (β := (Std.HashSet Lean.Name)) decls referenced))) | .cons n rest => (if (Std.HashSet.contains (α := Lean.Name) visited n) then (LexLeanExtract.codeLoop env modules rest visited decls referenced) else (match (Lean.Environment.find? env n) with | .some info => (let visitedNow : (Std.HashSet Lean.Name) := (LexLeanExtract.insert visited n); (if (Bool.and (BEq.beq (α := String) (LexLeanExtract.kind info) "definition") (Bool.not (Lean.isNoncomputable env n))) then (Bind.bind (m := Lean.Core.CoreM) (α := Bool) (β := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.Compiler.LCNF.shouldGenerateCode n) (fun (generates : Bool) => (if generates then (Bind.bind (m := Lean.Core.CoreM) (α := Unit) (β := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.MonadNameGenerator.setNGen (m := Lean.Core.CoreM) (Lean.NameGenerator.mk (Lean.Name.mkSimple "_uniq") 1)) (fun (restarted : Unit) => (Bind.bind (m := Lean.Core.CoreM) (α := (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) (β := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.Compiler.LCNF.CompilerM.run (α := (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) (Lean.Compiler.LCNF.toDecl n)) (fun (decl : (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) => (let uses : (List Lean.Name) := (LexLeanExtract.sorted (LexLeanExtract.declUses decl)); (LexLeanExtract.codeLoop env modules (List.append (α := Lean.Name) rest (List.filter (α := Lean.Name) (fun (candidate : Lean.Name) => (LexLeanExtract.inProject env modules candidate)) uses)) visitedNow (Std.HashMap.insert (α := Lean.Name) (β := String) decls ((decl).toSignature).name (LexLeanExtract.declText decl)) (List.foldl (α := (Std.HashSet Lean.Name)) (β := Lean.Name) (fun (seen : (Std.HashSet Lean.Name)) (outside : Lean.Name) => (LexLeanExtract.insert seen outside)) referenced (List.filter (α := Lean.Name) (fun (outside : Lean.Name) => (Bool.not (LexLeanExtract.inProject env modules outside))) uses)))))))) else (LexLeanExtract.codeLoop env modules rest visitedNow decls referenced)))) else (LexLeanExtract.codeLoop env modules rest visitedNow decls referenced))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString n) "`"))))))) - -meta partial def LexLeanExtract.kernelLoop (env : Lean.Environment) (modules : (Array Lean.Name)) (queue : (List Lean.Name)) (seen : (Std.HashSet Lean.Name)) : (Lean.Core.CoreM (Std.HashSet Lean.Name)) := - (match queue with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (Std.HashSet Lean.Name)) seen) | .cons n rest => (if (Std.HashSet.contains (α := Lean.Name) seen n) then (LexLeanExtract.kernelLoop env modules rest seen) else (match (Lean.Environment.find? env n) with | .some info => (LexLeanExtract.kernelLoop env modules (List.append (α := Lean.Name) rest (List.filter (α := Lean.Name) (fun (candidate : Lean.Name) => (LexLeanExtract.inProject env modules candidate)) (LexLeanExtract.sorted (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert acc used)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (match (Lean.ConstantInfo.value? info (Bool.true)) with | .some value => (Lean.Expr.getUsedConstants value) | .none => ((#[] : Array Lean.Name))))))) (LexLeanExtract.insert seen n)) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (Std.HashSet Lean.Name)) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString n) "`"))))))) - -meta partial def LexLeanExtract.ctorRows (env : Lean.Environment) (names : (List Lean.Name)) : (Lean.Core.CoreM (List String)) := - (match names with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.nil (α := String))) | .cons c rest => (match (Lean.Environment.find? env c) with | .some info => (match info with | .ctorInfo constructor => (Bind.bind (m := Lean.Core.CoreM) (α := Lean.Expr) (β := (List String)) (Lean.Meta.MetaM.run' (α := Lean.Expr) (Lean.Compiler.LCNF.toLCNFType ((constructor).toConstantVal).type)) (fun (constructorType : Lean.Expr) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := (List String)) (LexLeanExtract.ctorRows env rest) (fun (tail : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.cons (α := String) (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name c)), (Prod.mk (α := String) (β := String) "parameters" (ToString.toString (α := Nat) (constructor).numParams)), (Prod.mk (α := String) (β := String) "fields" (ToString.toString (α := Nat) (constructor).numFields)), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type constructorType))] : List (Prod String String)))) tail)))))) | _ => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: `" (String.append (Lean.Name.toString c) "` is not a constructor"))))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: `" (String.append (Lean.Name.toString c) "` is not a constructor")))))) - -meta def LexLeanExtract.inductiveRow (env : Lean.Environment) (n : Lean.Name) : (Lean.Core.CoreM String) := - (match (Lean.Environment.find? env n) with | .some info => (match info with | .inductInfo «inductive» => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := String) (LexLeanExtract.ctorRows env («inductive»).ctors) (fun (constructors : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := String) (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "parameters" (ToString.toString (α := Nat) («inductive»).numParams)), (Prod.mk (α := String) (β := String) "indices" (ToString.toString (α := Nat) («inductive»).numIndices)), (Prod.mk (α := String) (β := String) "recursive" (LexLeanExtract.bool («inductive»).isRec)), (Prod.mk (α := String) (β := String) "constructors" (LexLeanExtract.arr constructors))] : List (Prod String String))))))) | _ => (Pure.pure (f := Lean.Core.CoreM) (α := String) "null")) | .none => (Pure.pure (f := Lean.Core.CoreM) (α := String) "null")) - -meta partial def LexLeanExtract.constantRows (env : Lean.Environment) (decls : (Std.HashMap Lean.Name String)) (names : (List Lean.Name)) : (Lean.Core.CoreM (List String)) := - (match names with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.nil (α := String))) | .cons n rest => (match (Lean.Environment.find? env n) with | .some info => (Bind.bind (m := Lean.Core.CoreM) (α := (List (Prod String String))) (β := (List String)) (LexLeanExtract.facts env n info) (fun (row : (List (Prod String String))) => (Bind.bind (m := Lean.Core.CoreM) (α := String) (β := (List String)) (LexLeanExtract.inductiveRow env n) (fun (inductiveText : String) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := (List String)) (LexLeanExtract.constantRows env decls rest) (fun (tail : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.cons (α := String) (LexLeanExtract.obj (List.append (α := (Prod String String)) row (([(Prod.mk (α := String) (β := String) "kernel_uses" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (usedName : Lean.Name) => (LexLeanExtract.name usedName)) (LexLeanExtract.sorted (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert acc used)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (match (Lean.ConstantInfo.value? info (Bool.true)) with | .some value => (Lean.Expr.getUsedConstants value) | .none => ((#[] : Array Lean.Name)))))))), (Prod.mk (α := String) (β := String) "declaration" (Option.getD (α := String) (Std.HashMap.get? (α := Lean.Name) (β := String) decls n) "null")), (Prod.mk (α := String) (β := String) "inductive" inductiveText)] : List (Prod String String))))) tail)))))))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString n) "`")))))) - -meta partial def LexLeanExtract.externalRows (env : Lean.Environment) (names : (List Lean.Name)) : (Lean.Core.CoreM (List String)) := - (match names with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.nil (α := String))) | .cons r rest => (match (Lean.Environment.find? env r) with | .some info => (Bind.bind (m := Lean.Core.CoreM) (α := (List (Prod String String))) (β := (List String)) (LexLeanExtract.facts env r info) (fun (row : (List (Prod String String))) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := (List String)) (LexLeanExtract.externalRows env rest) (fun (tail : (List String)) => (let compiled : (Prod String String) := (Prod.mk (α := String) (β := String) "compiled" (LexLeanExtract.bool (Option.isSome (α := Lean.IR.Decl) (Lean.IR.findEnvDecl env r)))); (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.cons (α := String) (LexLeanExtract.obj (List.append (α := (Prod String String)) row (match info with | .ctorInfo constructor => (([compiled, (Prod.mk (α := String) (β := String) "inductive_type" (LexLeanExtract.name (constructor).induct))] : List (Prod String String))) | _ => (([compiled] : List (Prod String String)))))) tail))))))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString r) "`")))))) - -meta partial def LexLeanExtract.checkRoots (env : Lean.Environment) (modules : (Array Lean.Name)) (roots : (List Lean.Name)) : (Lean.Core.CoreM Unit) := - (match roots with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := Unit) (Unit.unit)) | .cons root rest => (if (Bool.and (LexLeanExtract.inProject env modules root) (Option.isSome (α := Lean.ConstantInfo) (Lean.Environment.find? env root))) then (LexLeanExtract.checkRoots env modules rest) else (Lean.«throwError» (m := Lean.Core.CoreM) (α := Unit) (Lean.stringToMessageData (String.append "lexlean-extract: unknown root `" (String.append (Lean.Name.toString root) "`")))))) - -meta def LexLeanExtract.run (roots : (Array Lean.Name)) (modules : (Array Lean.Name)) : (Lean.Core.CoreM String) := - (Bind.bind (m := Lean.Core.CoreM) (α := Lean.Environment) (β := String) (Lean.MonadEnv.getEnv (m := Lean.Core.CoreM)) (fun (env : Lean.Environment) => (Bind.bind (m := Lean.Core.CoreM) (α := Unit) (β := String) (LexLeanExtract.checkRoots env modules (Array.toList (α := Lean.Name) roots)) (fun (checked : Unit) => (Bind.bind (m := Lean.Core.CoreM) (α := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (β := String) (LexLeanExtract.codeLoop env modules (Array.toList (α := Lean.Name) roots) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (Std.HashMap.emptyWithCapacity (α := Lean.Name) (β := String)) (Std.HashSet.emptyWithCapacity (α := Lean.Name))) (fun (visit : (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) => (Bind.bind (m := Lean.Core.CoreM) (α := (Std.HashSet Lean.Name)) (β := String) (LexLeanExtract.kernelLoop env modules (Std.HashSet.toList (α := Lean.Name) (visit).fst) (Std.HashSet.emptyWithCapacity (α := Lean.Name))) (fun (recorded : (Std.HashSet Lean.Name)) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := String) (LexLeanExtract.constantRows env ((visit).snd).fst (LexLeanExtract.sorted recorded)) (fun (constants : (List String)) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := String) (LexLeanExtract.externalRows env (LexLeanExtract.sorted ((visit).snd).snd)) (fun (externals : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := String) (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "spec" (LexLeanExtract.str "lexlean/lcnf-extraction/2")), (Prod.mk (α := String) (β := String) "lean" (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "version" (LexLeanExtract.str (Lean.versionString))), (Prod.mk (α := String) (β := String) "githash" (LexLeanExtract.str (Lean.githash)))] : List (Prod String String))))), (Prod.mk (α := String) (β := String) "roots" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (listedName : Lean.Name) => (LexLeanExtract.name listedName)) (Array.toList (α := Lean.Name) roots)))), (Prod.mk (α := String) (β := String) "constants" (LexLeanExtract.arr constants)), (Prod.mk (α := String) (β := String) "externals" (LexLeanExtract.arr externals))] : List (Prod String String))))))))))))))))) - -meta def LexLeanExtract.mainNames (roots : (Array Lean.Name)) (modules : (Array Lean.Name)) : (Lean.Elab.Command.CommandElabM Unit) := - (Lean.Elab.Command.liftCoreM (α := Unit) (Bind.bind (m := Lean.Core.CoreM) (α := String) (β := Unit) (LexLeanExtract.run roots modules) (fun (text : String) => (MonadLiftT.monadLift (m := IO) (n := Lean.Core.CoreM) (α := Unit) (IO.println (α := String) text))))) - -meta def LexLeanExtract.toNames (texts : (Array String)) : (Array Lean.Name) := - (Array.map (α := String) (β := Lean.Name) (fun (text : String) => (String.toName text)) texts) - -meta def LexLeanExtract.toTypeRows (rows : (Array (Prod String (Array String)))) : (Array (Prod Lean.Name (Array String))) := - (Array.map (α := (Prod String (Array String))) (β := (Prod Lean.Name (Array String))) (fun (row : (Prod String (Array String))) => (Prod.mk (α := Lean.Name) (β := (Array String)) (String.toName (row).fst) (row).snd)) rows) - -meta def LexLeanExtract.checkAuthority (calls : (Array String)) (types : (Array (Prod String (Array String)))) (opaques : (Array String)) (plumbing : (Array String)) : (Lean.Elab.Command.CommandElabM Unit) := - (LexLeanExtract.checkNames (LexLeanExtract.toNames calls) (LexLeanExtract.toTypeRows types) (LexLeanExtract.toNames opaques) (LexLeanExtract.toNames plumbing)) - -meta def LexLeanExtract.main (roots : (Array String)) (modules : (Array String)) : (Lean.Elab.Command.CommandElabM Unit) := - (LexLeanExtract.mainNames (LexLeanExtract.toNames roots) (LexLeanExtract.toNames modules)) - -syntax (name := LexLeanExtract.signatureCommand) "lexlean_signature " ident " : " term : command -attribute [command_elab LexLeanExtract.signatureCommand] LexLeanExtract.elabSignature - -lexlean_signature Array.contains : ({α : (Type u)} → ([h1 : (BEq α)] → ((Array α) → (α → Bool)))) - -lexlean_signature Array.foldl : ({α : (Type u)} → ({β : (Type v)} → ((β → (α → β)) → (β → ((as : (Array α)) → ((optParam Nat 0) → ((optParam Nat (@Array.size α as)) → β))))))) - -lexlean_signature Array.getD : ({α : (Type u_1)} → ((Array α) → (Nat → (α → α)))) - -lexlean_signature Array.isEmpty : ({α : (Type u)} → ((Array α) → Bool)) - -lexlean_signature Array.map : ({α : (Type u)} → ({β : (Type v)} → ((α → β) → ((Array α) → (Array β))))) - -lexlean_signature Array.size : ({α : (Type u)} → ((Array α) → Nat)) - -lexlean_signature Array.toList : ({α : (Type u)} → ((Array α) → (List α))) - -lexlean_signature BEq.beq : ({α : (Type u)} → ([self : (BEq α)] → (α → (α → Bool)))) - -lexlean_signature Bind.bind : ({m : ((Type u) → (Type v))} → ([self : (Bind m)] → ({α : (Type u)} → ({β : (Type u)} → ((m α) → ((α → (m β)) → (m β))))))) - -lexlean_signature Bool.and : (Bool → (Bool → Bool)) - -lexlean_signature Bool.not : (Bool → Bool) - -lexlean_signature Bool.or : (Bool → (Bool → Bool)) - -lexlean_signature Char.toNat : (Char → Nat) - -lexlean_signature IO.println : ({α : (Type u_1)} → ([h1 : (ToString α)] → (α → (IO Unit)))) - -lexlean_signature Lean.Compiler.LCNF.CompilerM.run : ({α : Type} → ((Lean.Compiler.LCNF.CompilerM α) → ((optParam Lean.Compiler.LCNF.CompilerM.State { }) → ((optParam Lean.Compiler.LCNF.Phase Lean.Compiler.LCNF.Phase.base) → (Lean.Core.CoreM α))))) - -lexlean_signature Lean.Compiler.LCNF.shouldGenerateCode : (Lean.Name → (Lean.Core.CoreM Bool)) - -lexlean_signature Lean.Compiler.LCNF.toDecl : (Lean.Name → (Lean.Compiler.LCNF.CompilerM (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure))) - -lexlean_signature Lean.Compiler.LCNF.toLCNFType : (Lean.Expr → (Lean.Meta.MetaM Lean.Expr)) - -lexlean_signature Lean.ConstantInfo.type : (Lean.ConstantInfo → Lean.Expr) - -lexlean_signature Lean.ConstantInfo.value? : (Lean.ConstantInfo → ((optParam Bool Bool.false) → (Option Lean.Expr))) - -lexlean_signature Lean.Elab.Command.liftCoreM : ({α : Type} → ((Lean.Core.CoreM α) → (Lean.Elab.Command.CommandElabM α))) - -lexlean_signature Lean.Elab.Command.liftTermElabM : ({α : Type} → ((Lean.Elab.Term.TermElabM α) → (Lean.Elab.Command.CommandElabM α))) - -lexlean_signature Lean.Elab.Term.elabType : (Lean.Syntax → (Lean.Elab.Term.TermElabM Lean.Expr)) - -lexlean_signature Lean.EnvExtension.asyncMode : ({σ : Type} → ((Lean.EnvExtension σ) → Lean.EnvExtension.AsyncMode)) - -lexlean_signature Lean.Environment.constants : (Lean.Environment → Lean.ConstMap) - -lexlean_signature Lean.Environment.find? : (Lean.Environment → (Lean.Name → ((optParam Bool Bool.false) → (Option Lean.ConstantInfo)))) - -lexlean_signature Lean.Environment.getModuleIdxFor? : (Lean.Environment → (Lean.Name → (Option Lean.ModuleIdx))) - -lexlean_signature Lean.Environment.header : (Lean.Environment → Lean.EnvironmentHeader) - -lexlean_signature Lean.Environment.isProjectionFn : (Lean.Environment → (Lean.Name → Bool)) - -lexlean_signature Lean.EnvironmentHeader.moduleNames : (Lean.EnvironmentHeader → (Array Lean.Name)) - -lexlean_signature Lean.Expr.getAppArgs : (Lean.Expr → (Array Lean.Expr)) - -lexlean_signature Lean.Expr.getAppFn : (Lean.Expr → Lean.Expr) - -lexlean_signature Lean.Expr.getForallBody : (Lean.Expr → Lean.Expr) - -lexlean_signature Lean.Expr.getUsedConstants : (Lean.Expr → (Array Lean.Name)) - -lexlean_signature Lean.Expr.isSort : (Lean.Expr → Bool) - -lexlean_signature Lean.IR.findEnvDecl : (Lean.Environment → (Lean.Name → (Option Lean.IR.Decl))) - -lexlean_signature Lean.MessageData.compose : (Lean.MessageData → (Lean.MessageData → Lean.MessageData)) - -lexlean_signature Lean.MessageData.ofExpr : (Lean.Expr → Lean.MessageData) - -lexlean_signature Lean.MessageData.ofName : (Lean.Name → Lean.MessageData) - -lexlean_signature Lean.Meta.MetaM.run' : ({α : Type} → ((Lean.Meta.MetaM α) → ((optParam Lean.Meta.Context { }) → ((optParam Lean.Meta.State { }) → (Lean.Core.CoreM α))))) - -lexlean_signature Lean.Meta.isInstanceCore : (Lean.Environment → (Lean.Name → Bool)) - -lexlean_signature Lean.Meta.isMatcherCore : (Lean.Environment → (Lean.Name → Bool)) - -lexlean_signature Lean.MonadEnv.getEnv : ({m : (Type → Type)} → ([self : (Lean.MonadEnv m)] → (m Lean.Environment))) - -lexlean_signature Lean.MonadNameGenerator.setNGen : ({m : (Type → Type)} → ([self : (Lean.MonadNameGenerator m)] → (Lean.NameGenerator → (m Unit)))) - -lexlean_signature Lean.Name.components : (Lean.Name → (List Lean.Name)) - -lexlean_signature Lean.Name.eraseMacroScopes : (Lean.Name → Lean.Name) - -lexlean_signature Lean.Name.getPrefix : (Lean.Name → Lean.Name) - -lexlean_signature Lean.Name.getString! : (Lean.Name → String) - -lexlean_signature Lean.Name.isInternal : (Lean.Name → Bool) - -lexlean_signature Lean.Name.isPrefixOf : (Lean.Name → (Lean.Name → Bool)) - -lexlean_signature Lean.Name.lt : (Lean.Name → (Lean.Name → Bool)) - -lexlean_signature Lean.Name.mkSimple : (String → Lean.Name) - -lexlean_signature Lean.Name.mkStr1 : (String → Lean.Name) - -lexlean_signature Lean.Name.mkStr2 : (String → (String → Lean.Name)) - -lexlean_signature Lean.Name.toString : (Lean.Name → ((optParam Bool Bool.true) → String)) - -lexlean_signature Lean.PersistentArray.branching : USize - -lexlean_signature Lean.PersistentArray.initShift : USize - -lexlean_signature Lean.PersistentEnvExtension.toEnvExtension : ({α : Type} → ({β : Type} → ({σ : Type} → ((Lean.PersistentEnvExtension α β σ) → (Lean.EnvExtension (Lean.PersistentEnvExtensionState α σ)))))) - -lexlean_signature Lean.PersistentHashMap.mkEmptyEntriesArray : ({α : (Type u_1)} → ({β : (Type u_2)} → (Array (Lean.PersistentHashMap.Entry α β (Lean.PersistentHashMap.Node α β))))) - -lexlean_signature Lean.SMap.foldStage2 : ({α : (Type u)} → ({β : (Type v)} → ([h2 : (BEq α)] → ([h3 : (Hashable α)] → ({σ : (Type w)} → ((σ → (α → (β → σ))) → (σ → ((@Lean.SMap α β h2 h3) → σ)))))))) - -lexlean_signature Lean.Syntax.getArg : (Lean.Syntax → (Nat → Lean.Syntax)) - -lexlean_signature Lean.Syntax.getId : (Lean.Syntax → Lean.Name) - -lexlean_signature Lean.annotation? : (Lean.Name → (Lean.Expr → (Option Lean.Expr))) - -lexlean_signature Lean.getConstInfo : ({m : (Type → Type)} → ([h1 : (Monad m)] → ([h2 : (Lean.MonadEnv m)] → ([h3 : (Lean.MonadError m)] → (Lean.Name → (m Lean.ConstantInfo)))))) - -lexlean_signature Lean.getOriginalConstKind? : (Lean.Environment → (Lean.Name → (Option Lean.ConstantKind))) - -lexlean_signature Lean.githash : String - -lexlean_signature Lean.instantiateMVars : ({m : (Type → Type)} → ([h1 : (Monad m)] → ([h2 : (Lean.MonadMCtx m)] → (Lean.Expr → (m Lean.Expr))))) - -lexlean_signature Lean.isAuxRecursor : (Lean.Environment → (Lean.Name → Bool)) - -lexlean_signature Lean.isCasesOnRecursor : (Lean.Environment → (Lean.Name → Bool)) - -lexlean_signature Lean.isNoConfusion : (Lean.Environment → (Lean.Name → Bool)) - -lexlean_signature Lean.isNoncomputable : (Lean.Environment → (Lean.Name → ((optParam Lean.EnvExtension.AsyncMode (@Lean.EnvExtension.asyncMode (Lean.PersistentEnvExtensionState Lean.Name (Prod (List Lean.Name) Lean.NameSet)) (@Lean.PersistentEnvExtension.toEnvExtension Lean.Name Lean.Name (Prod (List Lean.Name) Lean.NameSet) Lean.noncomputableExt))) → Bool))) - -lexlean_signature Lean.noncomputableExt : Lean.TagDeclarationExtension - -lexlean_signature Lean.stringToMessageData : (String → Lean.MessageData) - -lexlean_signature Lean.«throwError» : ({m : (Type → Type)} → ({α : Type} → ([h2 : (Monad m)] → ([h3 : (Lean.MonadError m)] → (Lean.MessageData → (m α)))))) - -lexlean_signature Lean.versionString : String - -lexlean_signature List.any : ({α : (Type u)} → ((List α) → ((α → Bool) → Bool))) - -lexlean_signature List.append : ({α : (Type u_1)} → ((List α) → ((List α) → (List α)))) - -lexlean_signature List.contains : ({α : (Type u)} → ([h1 : (BEq α)] → ((List α) → (α → Bool)))) - -lexlean_signature List.drop : ({α : (Type u)} → (Nat → ((List α) → (List α)))) - -lexlean_signature List.elem : ({α : (Type u)} → ([h1 : (BEq α)] → (α → ((List α) → Bool)))) - -lexlean_signature List.filter : ({α : (Type u)} → ((α → Bool) → ((List α) → (List α)))) - -lexlean_signature List.foldl : ({α : (Type u)} → ({β : (Type v)} → ((α → (β → α)) → (α → ((List β) → α))))) - -lexlean_signature List.isEmpty : ({α : (Type u)} → ((List α) → Bool)) - -lexlean_signature List.map : ({α : (Type u_1)} → ({β : (Type u_2)} → ((α → β) → ((List α) → (List β))))) - -lexlean_signature MonadLiftT.monadLift : ({m : ((Type u) → (Type v))} → ({n : ((Type u) → (Type w))} → ([self : (MonadLiftT m n)] → ({α : (Type u)} → ((m α) → (n α)))))) - -lexlean_signature Nat.add : (Nat → (Nat → Nat)) - -lexlean_signature Nat.blt : (Nat → (Nat → Bool)) - -lexlean_signature Nat.toDigits : (Nat → (Nat → (List Char))) - -lexlean_signature Option.getD : ({α : (Type u_1)} → ((Option α) → (α → α))) - -lexlean_signature Option.isSome : ({α : (Type u_1)} → ((Option α) → Bool)) - -lexlean_signature Pure.pure : ({f : ((Type u) → (Type v))} → ([self : (Pure f)] → ({α : (Type u)} → (α → (f α))))) - -lexlean_signature Std.HashMap.emptyWithCapacity : ({α : (Type u)} → ({β : (Type v)} → ([h2 : (BEq α)] → ([h3 : (Hashable α)] → ((optParam Nat 8) → (@Std.HashMap α β h2 h3)))))) - -lexlean_signature Std.HashMap.get? : ({α : (Type u)} → ({β : (Type v)} → ({h2 : (BEq α)} → ({h3 : (Hashable α)} → ((@Std.HashMap α β h2 h3) → (α → (Option β))))))) - -lexlean_signature Std.HashMap.insert : ({α : (Type u)} → ({β : (Type v)} → ({h2 : (BEq α)} → ({h3 : (Hashable α)} → ((@Std.HashMap α β h2 h3) → (α → (β → (@Std.HashMap α β h2 h3)))))))) - -lexlean_signature Std.HashSet.contains : ({α : (Type u)} → ({h1 : (BEq α)} → ({h2 : (Hashable α)} → ((@Std.HashSet α h1 h2) → (α → Bool))))) - -lexlean_signature Std.HashSet.emptyWithCapacity : ({α : (Type u)} → ([h1 : (BEq α)] → ([h2 : (Hashable α)] → ((optParam Nat 8) → (@Std.HashSet α h1 h2))))) - -lexlean_signature Std.HashSet.insert : ({α : (Type u)} → ({h1 : (BEq α)} → ({h2 : (Hashable α)} → ((@Std.HashSet α h1 h2) → (α → (@Std.HashSet α h1 h2)))))) - -lexlean_signature Std.HashSet.toList : ({α : (Type u)} → ({h1 : (BEq α)} → ({h2 : (Hashable α)} → ((@Std.HashSet α h1 h2) → (List α))))) - -lexlean_signature String.append : (String → (String → String)) - -lexlean_signature String.foldl : ({α : (Type u)} → ((α → (Char → α)) → (α → (String → α)))) - -lexlean_signature String.intercalate : (String → ((List String) → String)) - -lexlean_signature String.ofList : ((List Char) → String) - -lexlean_signature String.push : (String → (Char → String)) - -lexlean_signature String.toName : (String → Lean.Name) - -lexlean_signature ToString.toString : ({α : (Type u)} → ([self : (ToString α)] → (α → String))) - -lexlean_signature UInt16.toNat : (UInt16 → Nat) - -lexlean_signature UInt32.toNat : (UInt32 → Nat) - -lexlean_signature UInt64.toNat : (UInt64 → Nat) - -lexlean_signature UInt8.toNat : (UInt8 → Nat) - -lexlean_signature Unit.unit : Unit - -#eval LexLeanExtract.checkAuthority ((#["Array.contains", "Array.foldl", "Array.getD", "Array.isEmpty", "Array.map", "Array.size", "Array.toList", "BEq.beq", "Bind.bind", "Bool.and", "Bool.not", "Bool.or", "Char.toNat", "IO.println", "Lean.Compiler.LCNF.CompilerM.run", "Lean.Compiler.LCNF.shouldGenerateCode", "Lean.Compiler.LCNF.toDecl", "Lean.Compiler.LCNF.toLCNFType", "Lean.ConstantInfo.type", "Lean.ConstantInfo.value?", "Lean.Elab.Command.liftCoreM", "Lean.Elab.Command.liftTermElabM", "Lean.Elab.Term.elabType", "Lean.EnvExtension.asyncMode", "Lean.Environment.constants", "Lean.Environment.find?", "Lean.Environment.getModuleIdxFor?", "Lean.Environment.header", "Lean.Environment.isProjectionFn", "Lean.EnvironmentHeader.moduleNames", "Lean.Expr.getAppArgs", "Lean.Expr.getAppFn", "Lean.Expr.getForallBody", "Lean.Expr.getUsedConstants", "Lean.Expr.isSort", "Lean.IR.findEnvDecl", "Lean.MessageData.compose", "Lean.MessageData.ofExpr", "Lean.MessageData.ofName", "Lean.Meta.MetaM.run'", "Lean.Meta.isInstanceCore", "Lean.Meta.isMatcherCore", "Lean.MonadEnv.getEnv", "Lean.MonadNameGenerator.setNGen", "Lean.Name.components", "Lean.Name.eraseMacroScopes", "Lean.Name.getPrefix", "Lean.Name.getString!", "Lean.Name.isInternal", "Lean.Name.isPrefixOf", "Lean.Name.lt", "Lean.Name.mkSimple", "Lean.Name.mkStr1", "Lean.Name.mkStr2", "Lean.Name.toString", "Lean.PersistentArray.branching", "Lean.PersistentArray.initShift", "Lean.PersistentEnvExtension.toEnvExtension", "Lean.PersistentHashMap.mkEmptyEntriesArray", "Lean.SMap.foldStage2", "Lean.Syntax.getArg", "Lean.Syntax.getId", "Lean.annotation?", "Lean.getConstInfo", "Lean.getOriginalConstKind?", "Lean.githash", "Lean.instantiateMVars", "Lean.isAuxRecursor", "Lean.isCasesOnRecursor", "Lean.isNoConfusion", "Lean.isNoncomputable", "Lean.noncomputableExt", "Lean.stringToMessageData", "Lean.throwError", "Lean.versionString", "List.any", "List.append", "List.contains", "List.drop", "List.elem", "List.filter", "List.foldl", "List.isEmpty", "List.map", "MonadLiftT.monadLift", "Nat.add", "Nat.blt", "Nat.toDigits", "Option.getD", "Option.isSome", "Pure.pure", "Std.HashMap.emptyWithCapacity", "Std.HashMap.get?", "Std.HashMap.insert", "Std.HashSet.contains", "Std.HashSet.emptyWithCapacity", "Std.HashSet.insert", "Std.HashSet.toList", "String.append", "String.foldl", "String.intercalate", "String.ofList", "String.push", "String.toName", "ToString.toString", "UInt16.toNat", "UInt32.toNat", "UInt64.toNat", "UInt8.toNat", "Unit.unit"] : Array String)) ((#[(Prod.mk (α := String) (β := (Array String)) "Bool" ((#["false", "true"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Alt" ((#["alt", "ctorAlt", "default"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Arg" ((#["erased", "fvar", "type"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Cases" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Code" ((#["let", "fun", "jp", "jmp", "cases", "return", "unreach", "oset", "uset", "sset", "setTag", "inc", "dec", "del"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Decl" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.DeclValue" ((#["code", "extern"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.FunDecl" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.LetDecl" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.LetValue" ((#["lit", "erased", "proj", "const", "fvar", "ctor", "oproj", "uproj", "sproj", "fap", "pap", "reset", "reuse", "box", "unbox", "isShared"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.LitValue" ((#["nat", "str", "uint8", "uint16", "uint32", "uint64", "usize"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Param" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Phase" ((#["base", "mono", "impure"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Purity" ((#["pure", "impure"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Signature" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstantInfo" ((#["axiomInfo", "defnInfo", "thmInfo", "opaqueInfo", "quotInfo", "inductInfo", "ctorInfo", "recInfo"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstantKind" ((#["defn", "thm", "axiom", "opaque", "quot", "induct", "ctor", "recursor"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstantVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstructorVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.DefinitionSafety" ((#["unsafe", "safe", "partial"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.DefinitionVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Expr" ((#["bvar", "fvar", "mvar", "sort", "const", "app", "lam", "forallE", "letE", "lit", "mdata", "proj"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.FVarId" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.InductiveVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Name" ((#["anonymous", "str", "num"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.NameGenerator" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "List" ((#["nil", "cons"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Option" ((#["none", "some"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Prod" ((#["mk"] : Array String)))] : Array (Prod String (Array String)))) ((#["Array", "BEq", "Bind", "Char", "Hashable", "IO", "Lean.AxiomVal", "Lean.BinderInfo", "Lean.Compiler.InlineAttributeKind", "Lean.Compiler.LCNF.CompilerM", "Lean.Compiler.LCNF.CompilerM.State", "Lean.Compiler.LCNF.CtorInfo", "Lean.ConstMap", "Lean.Core.Context", "Lean.Core.CoreM", "Lean.Core.State", "Lean.DelayedMetavarAssignment", "Lean.Elab.Command.CommandElab", "Lean.Elab.Command.CommandElabM", "Lean.Elab.Command.Context", "Lean.Elab.Command.State", "Lean.Elab.Term.Context", "Lean.Elab.Term.State", "Lean.Elab.Term.TermElabM", "Lean.EnvExtension", "Lean.EnvExtension.AsyncMode", "Lean.Environment", "Lean.EnvironmentHeader", "Lean.Exception", "Lean.ExternAttrData", "Lean.FVarIdMap", "Lean.FVarIdSet", "Lean.IR.Decl", "Lean.LMVarId", "Lean.Level", "Lean.LevelMetavarDecl", "Lean.Literal", "Lean.LocalDecl", "Lean.LocalInstance", "Lean.MData", "Lean.MVarId", "Lean.MessageData", "Lean.Meta.AbstractMVarsResult", "Lean.Meta.Config", "Lean.Meta.ConfigWithKey", "Lean.Meta.Context", "Lean.Meta.DefEqCacheKey", "Lean.Meta.DefEqContext", "Lean.Meta.ExprConfigCacheKey", "Lean.Meta.FunInfo", "Lean.Meta.InfoCacheKey", "Lean.Meta.MetaM", "Lean.Meta.PostponedEntry", "Lean.Meta.State", "Lean.Meta.SynthInstanceCacheKey", "Lean.MetavarDecl", "Lean.ModuleIdx", "Lean.MonadEnv", "Lean.MonadError", "Lean.MonadMCtx", "Lean.MonadNameGenerator", "Lean.NameSet", "Lean.OpaqueVal", "Lean.ParserDescr", "Lean.PersistentArrayNode", "Lean.PersistentEnvExtension", "Lean.PersistentEnvExtensionState", "Lean.PersistentHashMap.Entry", "Lean.PersistentHashMap.Node", "Lean.QuotVal", "Lean.RecursorVal", "Lean.ReducibilityHints", "Lean.SMap", "Lean.Syntax", "Lean.TagDeclarationExtension", "Lean.TheoremVal", "Monad", "MonadLiftT", "Nat", "Pure", "Std.HashMap", "Std.HashSet", "String", "ToString", "UInt16", "UInt32", "UInt64", "UInt8", "USize", "Unit"] : Array String)) ((#["Applicative.toPure", "Array.casesOn", "Array.mkEmpty", "Bool.casesOn", "Char.ofNat", "EIO", "EmptyCollection.emptyCollection", "Eq", "Eq.casesOn", "Eq.ndrec", "Eq.refl", "Eq.symm", "False", "False.elim", "HEq", "HEq.refl", "IO.RealWorld", "Inhabited", "Inhabited.default", "Inhabited.mk", "Lean.Compiler.LCNF.Alt.casesOn", "Lean.Compiler.LCNF.Arg.casesOn", "Lean.Compiler.LCNF.Cases.casesOn", "Lean.Compiler.LCNF.Code.casesOn", "Lean.Compiler.LCNF.CompilerM.State.mk", "Lean.Compiler.LCNF.CtorInfo.casesOn", "Lean.Compiler.LCNF.Decl.toSignature", "Lean.Compiler.LCNF.Decl.value", "Lean.Compiler.LCNF.DeclValue.casesOn", "Lean.Compiler.LCNF.FunDecl.casesOn", "Lean.Compiler.LCNF.LCtx.mk", "Lean.Compiler.LCNF.LetDecl.fvarId", "Lean.Compiler.LCNF.LetDecl.type", "Lean.Compiler.LCNF.LetDecl.value", "Lean.Compiler.LCNF.LetValue.casesOn", "Lean.Compiler.LCNF.LitValue.casesOn", "Lean.Compiler.LCNF.Param.borrow", "Lean.Compiler.LCNF.Param.fvarId", "Lean.Compiler.LCNF.Param.type", "Lean.Compiler.LCNF.Purity.ctorIdx", "Lean.Compiler.LCNF.Signature.levelParams", "Lean.Compiler.LCNF.Signature.name", "Lean.Compiler.LCNF.Signature.params", "Lean.Compiler.LCNF.Signature.safe", "Lean.Compiler.LCNF.Signature.type", "Lean.ConstantInfo.casesOn", "Lean.ConstantInfo.ctorIdx", "Lean.ConstantInfo.rec", "Lean.ConstantKind.casesOn", "Lean.ConstantVal.type", "Lean.ConstructorVal.induct", "Lean.ConstructorVal.numFields", "Lean.ConstructorVal.numParams", "Lean.ConstructorVal.toConstantVal", "Lean.Core.instAddMessageContextCoreM", "Lean.Core.instInhabitedCoreM", "Lean.Core.instMonadCoreM", "Lean.Core.instMonadEnvCoreM", "Lean.Core.instMonadLiftIOCoreM", "Lean.Core.instMonadNameGeneratorCoreM", "Lean.Core.instMonadRefCoreM", "Lean.DefinitionSafety.casesOn", "Lean.DefinitionVal.safety", "Lean.Elab.Command.instAddErrorMessageContextCommandElabM", "Lean.Elab.Command.instInhabitedCommandElabM", "Lean.Elab.Command.instMonadCommandElabM", "Lean.Elab.Command.instMonadEnvCommandElabM", "Lean.Elab.Command.instMonadExceptOfExceptionCommandElabM", "Lean.Elab.Command.instMonadLiftTIOCommandElabM", "Lean.Elab.Command.instMonadRefCommandElabM", "Lean.Elab.MonadMacroAdapter.toMonadQuotation", "Lean.Elab.Term.instAddErrorMessageContextTermElabM", "Lean.Elab.Term.instMonadMacroAdapterTermElabM", "Lean.Elab.Term.instMonadTermElabM", "Lean.Expr.casesOn", "Lean.Expr.ctorIdx", "Lean.Expr.instBEq", "Lean.Expr.instHashable", "Lean.Expr.rec", "Lean.FVarId.casesOn", "Lean.FVarId.name", "Lean.InductiveVal.ctors", "Lean.InductiveVal.isRec", "Lean.InductiveVal.numIndices", "Lean.InductiveVal.numParams", "Lean.Level.instBEq", "Lean.Level.instToString", "Lean.LocalContext.mk", "Lean.Meta.Cache.mk", "Lean.Meta.Context.mk", "Lean.Meta.Diagnostics.mk", "Lean.Meta.State.mk", "Lean.Meta.instBEqDefEqCacheKey", "Lean.Meta.instBEqExprConfigCacheKey", "Lean.Meta.instBEqInfoCacheKey", "Lean.Meta.instBEqSynthInstanceCacheKey", "Lean.Meta.instHashableDefEqCacheKey", "Lean.Meta.instHashableExprConfigCacheKey", "Lean.Meta.instHashableInfoCacheKey", "Lean.Meta.instHashableSynthInstanceCacheKey", "Lean.Meta.instInhabitedConfigWithKey", "Lean.Meta.instMonadEnvMetaM", "Lean.Meta.instMonadMCtxMetaM", "Lean.Meta.instMonadMetaM", "Lean.MetavarContext.mk", "Lean.MonadError.mk", "Lean.MonadQuotation.toMonadRef", "Lean.Name.instBEq", "Lean.ParserDescr.binary", "Lean.ParserDescr.cat", "Lean.ParserDescr.const", "Lean.ParserDescr.node", "Lean.ParserDescr.symbol", "Lean.PersistentArray.mk", "Lean.PersistentArrayNode.node", "Lean.PersistentHashMap.Node.entries", "Lean.PersistentHashMap.mk", "Lean.instAddErrorMessageContextOfAddMessageContextOfMonad", "Lean.instBEqBinderInfo", "Lean.instBEqFVarId", "Lean.instBEqLevelMVarId", "Lean.instBEqLiteral", "Lean.instBEqMVarId", "Lean.instEmptyCollectionFVarIdMap", "Lean.instEmptyCollectionFVarIdSet", "Lean.instHashableFVarId", "Lean.instHashableLevelMVarId", "Lean.instHashableMVarId", "Lean.instHashableName", "Lean.instMonadEnvOfMonadLift", "Lean.instMonadExceptOfExceptionCoreM", "Lean.instMonadMCtxOfMonadLift", "List.casesOn", "List.instBEq", "List.toArray", "Monad.toBind", "Nat.hasNotBit", "Nat.land", "Nat.ne_of_beq_eq_false", "Nat.shiftRight", "OfNat.ofNat", "Option.casesOn", "Prod.fst", "Prod.snd", "ReaderT.instApplicativeOfMonad", "ReaderT.instMonadExceptOf", "ReaderT.instMonadLift", "StateRefT'", "StateRefT'.instMonad", "StateRefT'.instMonadExceptOf", "StateRefT'.instMonadLift", "Std.HashMap.instEmptyCollection", "String.instInhabited", "USize.toNat", "eq_of_heq", "instBEqOfDecidableEq", "instDecidableEqBool", "instDecidableEqChar", "instDecidableEqNat", "instDecidableEqString", "instInhabitedBool", "instInhabitedList", "instInhabitedProd", "instMonadEIO", "instMonadLiftT", "instMonadLiftTOfMonadLift", "instOfNatNat", "instToStringList", "instToStringNat", "instToStringString", "ite", "noConfusion_of_Nat"] : Array String)) - -#eval LexLeanExtract.main ((#["Production.Main.checkedSum", "Production.Main.shapeArea", "Production.Main.quadruple", "Production.Main.halvings", "Production.Main.sumAll", "Production.Main.headOr"] : Array String)) ((#["Production.Kernel", "Production.Main"] : Array String)) diff --git a/examples/production/expected/verify/extract/process.json b/examples/production/expected/verify/extract/process.json index 0adedcf47..d9c4e5300 100644 --- a/examples/production/expected/verify/extract/process.json +++ b/examples/production/expected/verify/extract/process.json @@ -1 +1 @@ -{"argv":["env","lean","$STAGING/extract/LexLeanExtract.X7b8829e2cc52192864282f3d66903769.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanExtract.X7b8829e2cc52192864282f3d66903769","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"{\"spec\":\"lexlean/lcnf-extraction/2\",\"lean\":{\"version\":\"4.32.1\",\"githash\":\"f054605aea4b840552cca2e725580bffd1e1b704\"},\"roots\":[\"Production.Main.checkedSum\",\"Production.Main.shapeArea\",\"Production.Main.quadruple\",\"Production.Main.halvings\",\"Production.Main.sumAll\",\"Production.Main.headOr\"],\"constants\":[{\"name\":\"Production.Kernel.Shape\",\"kind\":\"inductive\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Production.Kernel.Shape.circle\",\"parameters\":0,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Production.Kernel.Shape\",\"levels\":[]}}},{\"name\":\"Production.Kernel.Shape.rectangle\",\"parameters\":0,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Production.Kernel.Shape\",\"levels\":[]}}}}]}},{\"name\":\"Production.Kernel.applyTwice\",\"kind\":\"definition\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.16\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.16\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.19\"}}}},\"uses\":[\"Nat\"]},\"inductive\":null},{\"name\":\"Production.Kernel.area\",\"kind\":\"definition\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instMulNat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Production.Kernel.Shape\",\"Production.Kernel.LexLeanRuntime.multiply\",\"Production.Kernel.area.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Production.Kernel.Shape\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Production.Kernel.Shape\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.43\",\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instMulNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Production.Kernel.LexLeanRuntime.multiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.40\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Production.Kernel.LexLeanRuntime.multiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.42\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.43\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.55\",\"parameters\":[{\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instMulNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Production.Kernel.LexLeanRuntime.multiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.54\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.55\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Production.Kernel.Shape\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.30\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Production.Kernel.Shape.circle\",\"parameters\":[{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.65\"}}},{\"kind\":\"constructor\",\"constructor\":\"Production.Kernel.Shape.rectangle\",\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.68\"}}}]}}}}}},\"uses\":[\"Mul\",\"Nat\",\"OfNat\",\"instMulNat\",\"instOfNatNat\",\"Production.Kernel.Shape\",\"Production.Kernel.LexLeanRuntime.multiply\",\"Production.Kernel.Shape.circle\",\"Production.Kernel.Shape.rectangle\"]},\"inductive\":null},{\"name\":\"Production.Kernel.countdown\",\"kind\":\"definition\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"PSigma.mk\",\"Production.Kernel.countdown._unary\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.41\",\"parameters\":[{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.33\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.41\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.60\",\"parameters\":[{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.49\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Production.Kernel.LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.53\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.56\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.54\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Production.Kernel.countdown\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.59\"}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.60\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.75\",\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"discriminant\":\"_uniq.66\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.61\"}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.42\"}}]}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.77\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.75\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.79\"},{\"kind\":\"erased\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.80\"}}}}}}}}}}}},\"uses\":[\"Add\",\"Bool\",\"HAdd\",\"Nat\",\"OfNat\",\"Sub\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"Bool.true\",\"Nat.blt\",\"Production.Kernel.countdown\",\"Production.Kernel.LexLeanRuntime.subtract\"]},\"inductive\":null},{\"name\":\"Production.Kernel.countdown_decreases\",\"kind\":\"theorem\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Not\",\"congrArg\",\"id\",\"instHSub\",\"instLTNat\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"Bool.true\",\"Decidable.byContradiction\",\"Eq.mp\",\"Eq.trans\",\"HSub.hSub\",\"LT.lt\",\"Nat.blt\",\"Nat.blt_eq\",\"Nat.decLt\",\"OfNat.ofNat\",\"Production.Kernel.LexLeanRuntime.subtract\",\"_private.Production.Kernel.0.Production.Kernel.countdown_decreases._proof_1_4\",\"_private.Production.Kernel.0.Production.Kernel.countdown_decreases._simp_1_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Kernel.firstOr\",\"kind\":\"definition\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Unit\",\"Production.Kernel.firstOr.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}}},\"parameters\":[{\"id\":\"_uniq.51\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"borrow\":false},{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.61\",\"parameters\":[{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.53\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.61\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.73\",\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},\"borrow\":false},{\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.71\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.73\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},\"discriminant\":\"_uniq.52\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.62\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.83\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.84\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.85\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},\"borrow\":false},{\"id\":\"_uniq.86\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.85\"},{\"kind\":\"fvar\",\"id\":\"_uniq.86\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.87\"}}}]}}}}}},\"uses\":[\"List\",\"PUnit\",\"List.cons\",\"List.nil\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"Production.Kernel.total\",\"kind\":\"definition\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"List.brecOn\",\"Production.Kernel.total._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.39\",\"parameters\":[{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.37\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.38\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.54\",\"parameters\":[{\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.50\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Production.Kernel.total\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.51\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.47\"},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.53\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.54\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.29\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.65\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.55\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.68\"}}}]}}}}}},\"uses\":[\"Add\",\"HAdd\",\"List\",\"Nat\",\"OfNat\",\"PUnit\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"List.cons\",\"List.nil\",\"Unit.unit\",\"Production.Kernel.total\"]},\"inductive\":null},{\"name\":\"Production.Main.checkedSum\",\"kind\":\"definition\",\"module\":\"Production.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"UInt32\",\"Production.Main.LexLeanRuntime.checkedAdd\",\"Production.Main.LexLeanRuntime.instFixedUInt32\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Production.Main.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Production.Main.LexLeanRuntime.instFixedUInt32\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Production.Main.LexLeanRuntime.checkedAdd\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.14\"}}}},\"uses\":[\"Option\",\"UInt32\",\"Production.Main.LexLeanRuntime.Fixed\",\"Production.Main.LexLeanRuntime.checkedAdd\",\"Production.Main.LexLeanRuntime.instFixedUInt32\"]},\"inductive\":null},{\"name\":\"Production.Main.halvings\",\"kind\":\"definition\",\"module\":\"Production.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Production.Kernel.countdown\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Production.Kernel.countdown\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.10\"}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"instOfNatNat\",\"Production.Kernel.countdown\"]},\"inductive\":null},{\"name\":\"Production.Main.headOr\",\"kind\":\"definition\",\"module\":\"Production.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Production.Kernel.firstOr\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Production.Kernel.firstOr\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.10\"}}}}}},\"uses\":[\"List\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"Production.Kernel.firstOr\"]},\"inductive\":null},{\"name\":\"Production.Main.quadruple\",\"kind\":\"definition\",\"module\":\"Production.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instAddNat\",\"instHAdd\",\"HAdd.hAdd\",\"Production.Kernel.applyTwice\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.30\",\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.11\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.28\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.29\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Production.Kernel.applyTwice\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}}},\"uses\":[\"Add\",\"HAdd\",\"Nat\",\"instAddNat\",\"instHAdd\",\"Production.Kernel.applyTwice\"]},\"inductive\":null},{\"name\":\"Production.Main.shapeArea\",\"kind\":\"definition\",\"module\":\"Production.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Production.Kernel.area\",\"Production.Kernel.Shape.rectangle\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Production.Kernel.Shape\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Production.Kernel.Shape.rectangle\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Production.Kernel.area\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.16\"}}}},\"uses\":[\"Nat\",\"Production.Kernel.Shape\",\"Production.Kernel.area\",\"Production.Kernel.Shape.rectangle\"]},\"inductive\":null},{\"name\":\"Production.Main.sumAll\",\"kind\":\"definition\",\"module\":\"Production.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Production.Kernel.total\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Production.Kernel.total\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"List\",\"Nat\",\"Production.Kernel.total\"]},\"inductive\":null},{\"name\":\"Production.Kernel.LexLeanRuntime.multiply\",\"kind\":\"definition\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Mul\",\"instHMul\",\"HMul.hMul\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HMul\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instHMul\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HMul\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}}},\"uses\":[\"HMul\",\"Mul\",\"instHMul\"]},\"inductive\":null},{\"name\":\"Production.Kernel.LexLeanRuntime.subtract\",\"kind\":\"definition\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Sub\",\"instHSub\",\"HSub.hSub\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HSub\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instHSub\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HSub\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}}},\"uses\":[\"HSub\",\"Sub\",\"instHSub\"]},\"inductive\":null},{\"name\":\"Production.Kernel.Shape.casesOn\",\"kind\":\"definition\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Production.Kernel.Shape\",\"Production.Kernel.Shape.circle\",\"Production.Kernel.Shape.rec\",\"Production.Kernel.Shape.rectangle\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Kernel.Shape.circle\",\"kind\":\"constructor\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Kernel.Shape.rec\",\"kind\":\"recursor\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Kernel.Shape.rectangle\",\"kind\":\"constructor\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Kernel.area.match_1\",\"kind\":\"definition\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Production.Kernel.Shape\",\"Production.Kernel.Shape.casesOn\",\"Production.Kernel.Shape.circle\",\"Production.Kernel.Shape.rectangle\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Kernel.countdown._unary\",\"kind\":\"definition\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"InvImage\",\"Nat\",\"PSigma\",\"instAddNat\",\"instHAdd\",\"instLTNat\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"Bool.true\",\"HAdd.hAdd\",\"LT.lt\",\"Nat.blt\",\"OfNat.ofNat\",\"PSigma.casesOn\",\"PSigma.mk\",\"WellFounded.Nat.fix\",\"Production.Kernel.LexLeanRuntime.subtract\",\"Production.Kernel.countdown.match_1\",\"Production.Kernel.countdown._unary._proof_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Kernel.countdown.match_1\",\"kind\":\"definition\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Bool.casesOn\",\"Bool.false\",\"Bool.true\",\"Eq.refl\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Kernel.firstOr.match_1\",\"kind\":\"definition\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Unit\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Kernel.total._f\",\"kind\":\"definition\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"List\",\"Nat\",\"Unit\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"List.below\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\",\"Production.Kernel.total.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Kernel.total.match_1\",\"kind\":\"definition\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Unit\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Main.LexLeanRuntime.Fixed\",\"kind\":\"inductive\",\"module\":\"Production.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Production.Main.LexLeanRuntime.Fixed.mk\",\"parameters\":1,\"fields\":10,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Production.Main.LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"bvar\",\"index\":2}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":4},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":5},\"codomain\":{\"kind\":\"bvar\",\"index\":6}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":5},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":6},\"codomain\":{\"kind\":\"bvar\",\"index\":7}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":6},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":7},\"codomain\":{\"kind\":\"bvar\",\"index\":8}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":7},\"codomain\":{\"kind\":\"bvar\",\"index\":8}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":8},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":10}]}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":9},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":11}]}}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Production.Main.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":10}]}}}}}}}}}}}}}]}},{\"name\":\"Production.Main.LexLeanRuntime.ToMathInt\",\"kind\":\"inductive\",\"module\":\"Production.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Production.Main.LexLeanRuntime.ToMathInt.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Production.Main.LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"Production.Main.LexLeanRuntime.checkedAdd\",\"kind\":\"definition\",\"module\":\"Production.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"instHAdd\",\"HAdd.hAdd\",\"Int.instAdd\",\"Production.Main.LexLeanRuntime.Fixed\",\"Production.Main.LexLeanRuntime.checkedFromInt\",\"Production.Main.LexLeanRuntime.Fixed.toToMathInt\",\"Production.Main.LexLeanRuntime.ToMathInt.toInt\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Production.Main.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Production.Main.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instAdd\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Production.Main.LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Production.Main.LexLeanRuntime.Fixed\",\"index\":0,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Production.Main.LexLeanRuntime.ToMathInt\",\"index\":0,\"value\":\"_uniq.49\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.53\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.53\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.25\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Production.Main.LexLeanRuntime.checkedFromInt\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Int\",\"Option\",\"instHAdd\",\"Int.instAdd\",\"Production.Main.LexLeanRuntime.Fixed\",\"Production.Main.LexLeanRuntime.ToMathInt\",\"Production.Main.LexLeanRuntime.checkedFromInt\"]},\"inductive\":null},{\"name\":\"Production.Main.LexLeanRuntime.checkedFromInt\",\"kind\":\"definition\",\"module\":\"Production.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Option\",\"ite\",\"Int.decLt\",\"Int.instLTInt\",\"LT.lt\",\"Option.none\",\"Option.some\",\"Production.Main.LexLeanRuntime.Fixed\",\"Production.Main.LexLeanRuntime.Fixed.fromInt\",\"Production.Main.LexLeanRuntime.Fixed.maximum\",\"Production.Main.LexLeanRuntime.Fixed.minimum\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Production.Main.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]}}}},\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Production.Main.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"borrow\":false},{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Production.Main.LexLeanRuntime.Fixed\",\"index\":2,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"discriminant\":\"_uniq.33\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Production.Main.LexLeanRuntime.Fixed\",\"index\":3,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.43\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"discriminant\":\"_uniq.44\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.45\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Production.Main.LexLeanRuntime.Fixed\",\"index\":1,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.47\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.49\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.50\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.51\"}}}]}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.54\"}}}]}}}},\"uses\":[\"Decidable\",\"Int\",\"Option\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int.decLt\",\"Option.none\",\"Option.some\",\"Production.Main.LexLeanRuntime.Fixed\"]},\"inductive\":null},{\"name\":\"Production.Main.LexLeanRuntime.instFixedUInt32\",\"kind\":\"definition\",\"module\":\"Production.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Nat\",\"Option\",\"UInt32\",\"instLTNat\",\"instOfNat\",\"instOfNatNat\",\"ite\",\"Int.ofNat\",\"LT.lt\",\"Nat.decLt\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"UInt32.complement\",\"UInt32.land\",\"UInt32.lor\",\"UInt32.ofInt\",\"UInt32.shiftLeft\",\"UInt32.shiftRight\",\"UInt32.toNat\",\"UInt32.xor\",\"Production.Main.LexLeanRuntime.Fixed.mk\",\"Production.Main.LexLeanRuntime.ToMathInt.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Production.Main.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.16\",\"parameters\":[{\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.15\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Production.Main.LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Production.Main.LexLeanRuntime.ToMathInt.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.ofInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4294967295\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.23\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.land\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.lor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.xor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.complement\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.52\",\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"32\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.43\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"discriminant\":\"_uniq.45\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.47\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.48\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.shiftLeft\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}}]}}}}}}},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.76\",\"parameters\":[{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"32\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.67\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"fvar\",\"id\":\"_uniq.68\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"discriminant\":\"_uniq.69\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.71\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.72\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.shiftRight\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Production.Main.LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Production.Main.LexLeanRuntime.Fixed.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.77\"}}}}}}}}}}}}}}}}}},\"uses\":[\"Decidable\",\"Int\",\"Nat\",\"OfNat\",\"Option\",\"UInt32\",\"instOfNat\",\"instOfNatNat\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int.ofNat\",\"Nat.decLt\",\"Option.none\",\"Option.some\",\"UInt32.complement\",\"UInt32.land\",\"UInt32.lor\",\"UInt32.ofInt\",\"UInt32.shiftLeft\",\"UInt32.shiftRight\",\"UInt32.toNat\",\"UInt32.xor\",\"Production.Main.LexLeanRuntime.Fixed\",\"Production.Main.LexLeanRuntime.ToMathInt\",\"Production.Main.LexLeanRuntime.Fixed.mk\",\"Production.Main.LexLeanRuntime.ToMathInt.mk\"]},\"inductive\":null},{\"name\":\"_private.Production.Kernel.0.Production.Kernel.countdown_decreases._proof_1_4\",\"kind\":\"theorem\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"And\",\"Bool\",\"Eq\",\"False\",\"Int\",\"Nat\",\"Not\",\"id\",\"instDecidableEqBool\",\"instHAdd\",\"instHSub\",\"instLENat\",\"instLTNat\",\"instNatCastInt\",\"instOfNat\",\"instOfNatNat\",\"instSubNat\",\"le_of_le_of_eq\",\"of_decide_eq_true\",\"And.left\",\"And.right\",\"Bool.true\",\"Decidable.decide\",\"Eq.refl\",\"Eq.symm\",\"Eq.trans\",\"HAdd.hAdd\",\"HSub.hSub\",\"Int.add_one_le_of_lt\",\"Int.instAdd\",\"Int.instLEInt\",\"Int.instNegInt\",\"Int.instSub\",\"Int.sub_eq_zero_of_eq\",\"Int.sub_nonneg_of_le\",\"LE.le\",\"LT.lt\",\"List.cons\",\"List.nil\",\"Nat.cast\",\"Nat.le_of_not_lt\",\"Neg.neg\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"Or.elim\",\"Lean.Omega.LinearCombo\",\"Lean.Omega.tidy_sat\",\"Lean.Omega.Coeffs.ofList\",\"Lean.Omega.Constraint.addEquality_sat\",\"Lean.Omega.Constraint.addInequality_sat\",\"Lean.Omega.Constraint.combine_sat'\",\"Lean.Omega.Constraint.isImpossible\",\"Lean.Omega.Constraint.mk\",\"Lean.Omega.Constraint.not_sat'_of_isImpossible\",\"Lean.Omega.Int.add_congr\",\"Lean.Omega.Int.ofNat_le_of_le\",\"Lean.Omega.Int.ofNat_lt_of_lt\",\"Lean.Omega.Int.ofNat_sub_dichotomy\",\"Lean.Omega.Int.sub_congr\",\"Lean.Omega.LinearCombo.add_eval\",\"Lean.Omega.LinearCombo.coordinate\",\"Lean.Omega.LinearCombo.coordinate_eval_0\",\"Lean.Omega.LinearCombo.coordinate_eval_1\",\"Lean.Omega.LinearCombo.eval\",\"Lean.Omega.LinearCombo.instAdd\",\"Lean.Omega.LinearCombo.instSub\",\"Lean.Omega.LinearCombo.mk\",\"Lean.Omega.LinearCombo.sub_eval\"],\"declaration\":null,\"inductive\":null},{\"name\":\"_private.Production.Kernel.0.Production.Kernel.countdown_decreases._simp_1_1\",\"kind\":\"theorem\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"Not\",\"Bool.false\",\"Bool.not_eq_true\",\"Bool.true\",\"Eq.symm\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Kernel.countdown._unary._proof_1\",\"kind\":\"theorem\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"InvImage\",\"Nat\",\"PSigma\",\"id\",\"instAddNat\",\"instHAdd\",\"instLTNat\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"HAdd.hAdd\",\"LT.lt\",\"Nat.blt\",\"OfNat.ofNat\",\"PSigma.casesOn\",\"PSigma.mk\",\"Production.Kernel.countdown_decreases\",\"Production.Kernel.LexLeanRuntime.subtract\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Main.LexLeanRuntime.Fixed.fromInt\",\"kind\":\"definition\",\"module\":\"Production.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Production.Main.LexLeanRuntime.Fixed\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Main.LexLeanRuntime.Fixed.maximum\",\"kind\":\"definition\",\"module\":\"Production.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Production.Main.LexLeanRuntime.Fixed\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Main.LexLeanRuntime.Fixed.minimum\",\"kind\":\"definition\",\"module\":\"Production.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Production.Main.LexLeanRuntime.Fixed\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Main.LexLeanRuntime.Fixed.mk\",\"kind\":\"constructor\",\"module\":\"Production.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Main.LexLeanRuntime.Fixed.toToMathInt\",\"kind\":\"definition\",\"module\":\"Production.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Production.Main.LexLeanRuntime.Fixed\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Main.LexLeanRuntime.ToMathInt.mk\",\"kind\":\"constructor\",\"module\":\"Production.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Main.LexLeanRuntime.ToMathInt.toInt\",\"kind\":\"definition\",\"module\":\"Production.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Production.Main.LexLeanRuntime.ToMathInt\"],\"declaration\":null,\"inductive\":null}],\"externals\":[{\"name\":\"Add\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Bool\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Decidable\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"HAdd\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"HMul\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"HSub\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Int\",\"kind\":\"inductive\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"List\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Mul\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Nat\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"OfNat\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Option\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"PUnit\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Sub\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"UInt32\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"instAddNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instHAdd\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instHMul\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instHSub\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instMulNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instOfNat\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instOfNatNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instSubNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Bool.false\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Bool\"},{\"name\":\"Bool.true\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Bool\"},{\"name\":\"Decidable.isFalse\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Decidable\"},{\"name\":\"Decidable.isTrue\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Decidable\"},{\"name\":\"Int.decLt\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int.instAdd\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int.ofNat\",\"kind\":\"constructor\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":true,\"inductive_type\":\"Int\"},{\"name\":\"List.cons\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"List\"},{\"name\":\"List.nil\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"List\"},{\"name\":\"Nat.blt\",\"kind\":\"definition\",\"module\":\"Init.Data.Nat.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Nat.decLt\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Option.none\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Option\"},{\"name\":\"Option.some\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Option\"},{\"name\":\"UInt32.complement\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.land\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.lor\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.ofInt\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.shiftLeft\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.shiftRight\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.toNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.xor\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Unit.unit\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true}]}\n","stdout_sha256":"3f4014932dc7ae067f6edf2d8498d94f47b9aff5f83b2728cdea129be7c6ff38","tool":"lean"} +{"argv":["env","lean","$STAGING/extract/LexLeanExtract.X0873d7adc0406a004403264fdb2d9dea.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanExtract.X0873d7adc0406a004403264fdb2d9dea","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"{\"spec\":\"lexlean/lcnf-extraction/2\",\"lean\":{\"version\":\"4.32.1\",\"githash\":\"f054605aea4b840552cca2e725580bffd1e1b704\"},\"roots\":[\"Production.Main.checkedSum\",\"Production.Main.shapeArea\",\"Production.Main.quadruple\",\"Production.Main.halvings\",\"Production.Main.sumAll\",\"Production.Main.headOr\"],\"constants\":[{\"name\":\"LexLeanRuntime.Fixed\",\"kind\":\"inductive\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"LexLeanRuntime.Fixed.mk\",\"parameters\":1,\"fields\":10,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"bvar\",\"index\":2}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":4},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":5},\"codomain\":{\"kind\":\"bvar\",\"index\":6}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":5},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":6},\"codomain\":{\"kind\":\"bvar\",\"index\":7}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":6},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":7},\"codomain\":{\"kind\":\"bvar\",\"index\":8}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":7},\"codomain\":{\"kind\":\"bvar\",\"index\":8}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":8},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":10}]}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":9},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":11}]}}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":10}]}}}}}}}}}}}}}]}},{\"name\":\"LexLeanRuntime.ToMathInt\",\"kind\":\"inductive\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"LexLeanRuntime.ToMathInt.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"LexLeanRuntime.checkedAdd\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"instHAdd\",\"HAdd.hAdd\",\"Int.instAdd\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.checkedFromInt\",\"LexLeanRuntime.Fixed.toToMathInt\",\"LexLeanRuntime.ToMathInt.toInt\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.instAdd\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Fixed\",\"index\":0,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.ToMathInt\",\"index\":0,\"value\":\"_uniq.49\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.53\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.53\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.25\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.checkedFromInt\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Int\",\"Option\",\"instHAdd\",\"Int.instAdd\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.ToMathInt\",\"LexLeanRuntime.checkedFromInt\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.checkedFromInt\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Option\",\"ite\",\"Int.decLt\",\"Int.instLTInt\",\"LT.lt\",\"LexLeanRuntime.Fixed\",\"Option.none\",\"Option.some\",\"LexLeanRuntime.Fixed.fromInt\",\"LexLeanRuntime.Fixed.maximum\",\"LexLeanRuntime.Fixed.minimum\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]}}}},\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"borrow\":false},{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Fixed\",\"index\":2,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"discriminant\":\"_uniq.33\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Fixed\",\"index\":3,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Int.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.43\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"discriminant\":\"_uniq.44\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.45\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Fixed\",\"index\":1,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.47\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.49\"}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.50\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.51\"}}}]}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.54\"}}}]}}}},\"uses\":[\"Decidable\",\"Int\",\"Option\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int.decLt\",\"LexLeanRuntime.Fixed\",\"Option.none\",\"Option.some\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.instFixedUInt32\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Int\",\"Nat\",\"Option\",\"UInt32\",\"instLTNat\",\"instOfNat\",\"instOfNatNat\",\"ite\",\"Int.ofNat\",\"LT.lt\",\"Nat.decLt\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"UInt32.complement\",\"UInt32.land\",\"UInt32.lor\",\"UInt32.ofInt\",\"UInt32.shiftLeft\",\"UInt32.shiftRight\",\"UInt32.toNat\",\"UInt32.xor\",\"LexLeanRuntime.Fixed.mk\",\"LexLeanRuntime.ToMathInt.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.16\",\"parameters\":[{\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Int.ofNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.15\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.ToMathInt.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.ofInt\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4294967295\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Int\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.23\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.land\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.lor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}}},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.xor\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.complement\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.52\",\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"32\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.43\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"discriminant\":\"_uniq.45\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.47\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.48\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.shiftLeft\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}}]}}}}}}},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.76\",\"parameters\":[{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.toNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"32\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.67\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.decLt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"fvar\",\"id\":\"_uniq.68\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"discriminant\":\"_uniq.69\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.71\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.72\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"UInt32.shiftRight\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.77\"}}}}}}}}}}}}}}}}}},\"uses\":[\"Decidable\",\"Int\",\"Nat\",\"OfNat\",\"Option\",\"UInt32\",\"instOfNat\",\"instOfNatNat\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Int.ofNat\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.ToMathInt\",\"Nat.decLt\",\"Option.none\",\"Option.some\",\"UInt32.complement\",\"UInt32.land\",\"UInt32.lor\",\"UInt32.ofInt\",\"UInt32.shiftLeft\",\"UInt32.shiftRight\",\"UInt32.toNat\",\"UInt32.xor\",\"LexLeanRuntime.Fixed.mk\",\"LexLeanRuntime.ToMathInt.mk\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.multiply\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Mul\",\"instHMul\",\"HMul.hMul\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HMul\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instHMul\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HMul\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}}},\"uses\":[\"HMul\",\"Mul\",\"instHMul\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.subtract\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Sub\",\"instHSub\",\"HSub.hSub\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HSub\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instHSub\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HSub\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}}},\"uses\":[\"HSub\",\"Sub\",\"instHSub\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.Fixed.fromInt\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Fixed\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Fixed.maximum\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Fixed\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Fixed.minimum\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Fixed\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Fixed.mk\",\"kind\":\"constructor\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Fixed.toToMathInt\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Fixed\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.ToMathInt.mk\",\"kind\":\"constructor\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.ToMathInt.toInt\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.ToMathInt\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Kernel.Shape\",\"kind\":\"inductive\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Production.Kernel.Shape.circle\",\"parameters\":0,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Production.Kernel.Shape\",\"levels\":[]}}},{\"name\":\"Production.Kernel.Shape.rectangle\",\"parameters\":0,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Production.Kernel.Shape\",\"levels\":[]}}}}]}},{\"name\":\"Production.Kernel.applyTwice\",\"kind\":\"definition\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.16\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.16\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.19\"}}}},\"uses\":[\"Nat\"]},\"inductive\":null},{\"name\":\"Production.Kernel.area\",\"kind\":\"definition\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instMulNat\",\"instOfNatNat\",\"LexLeanRuntime.multiply\",\"OfNat.ofNat\",\"Production.Kernel.Shape\",\"Production.Kernel.area.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Production.Kernel.Shape\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Production.Kernel.Shape\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.43\",\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instMulNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.multiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.40\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.multiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.42\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.43\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.55\",\"parameters\":[{\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instMulNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.multiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.54\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.55\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Production.Kernel.Shape\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.30\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Production.Kernel.Shape.circle\",\"parameters\":[{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.65\"}}},{\"kind\":\"constructor\",\"constructor\":\"Production.Kernel.Shape.rectangle\",\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.68\"}}}]}}}}}},\"uses\":[\"Mul\",\"Nat\",\"OfNat\",\"instMulNat\",\"instOfNatNat\",\"LexLeanRuntime.multiply\",\"Production.Kernel.Shape\",\"Production.Kernel.Shape.circle\",\"Production.Kernel.Shape.rectangle\"]},\"inductive\":null},{\"name\":\"Production.Kernel.countdown\",\"kind\":\"definition\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"PSigma.mk\",\"Production.Kernel.countdown._unary\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.41\",\"parameters\":[{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.33\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.41\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.60\",\"parameters\":[{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.49\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.53\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.56\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.54\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Production.Kernel.countdown\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.59\"}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.60\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.75\",\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"discriminant\":\"_uniq.66\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.61\"}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.42\"}}]}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.77\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.75\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.79\"},{\"kind\":\"erased\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.80\"}}}}}}}}}}}},\"uses\":[\"Add\",\"Bool\",\"HAdd\",\"Nat\",\"OfNat\",\"Sub\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"Bool.true\",\"LexLeanRuntime.subtract\",\"Nat.blt\",\"Production.Kernel.countdown\"]},\"inductive\":null},{\"name\":\"Production.Kernel.countdown_decreases\",\"kind\":\"theorem\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Not\",\"congrArg\",\"id\",\"instHSub\",\"instLTNat\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"Bool.true\",\"Decidable.byContradiction\",\"Eq.mp\",\"Eq.trans\",\"HSub.hSub\",\"LT.lt\",\"LexLeanRuntime.subtract\",\"Nat.blt\",\"Nat.blt_eq\",\"Nat.decLt\",\"OfNat.ofNat\",\"_private.Production.Kernel.0.Production.Kernel.countdown_decreases._proof_1_4\",\"_private.Production.Kernel.0.Production.Kernel.countdown_decreases._simp_1_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Kernel.firstOr\",\"kind\":\"definition\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Unit\",\"Production.Kernel.firstOr.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}}},\"parameters\":[{\"id\":\"_uniq.51\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"borrow\":false},{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.61\",\"parameters\":[{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.53\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.61\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.73\",\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},\"borrow\":false},{\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.71\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.73\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},\"discriminant\":\"_uniq.52\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.62\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.83\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.84\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.85\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},\"borrow\":false},{\"id\":\"_uniq.86\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.85\"},{\"kind\":\"fvar\",\"id\":\"_uniq.86\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.87\"}}}]}}}}}},\"uses\":[\"List\",\"PUnit\",\"List.cons\",\"List.nil\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"Production.Kernel.total\",\"kind\":\"definition\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"List.brecOn\",\"Production.Kernel.total._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.39\",\"parameters\":[{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.37\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.38\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.54\",\"parameters\":[{\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.50\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Production.Kernel.total\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.51\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.47\"},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.53\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.54\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.29\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.65\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.55\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.68\"}}}]}}}}}},\"uses\":[\"Add\",\"HAdd\",\"List\",\"Nat\",\"OfNat\",\"PUnit\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"List.cons\",\"List.nil\",\"Unit.unit\",\"Production.Kernel.total\"]},\"inductive\":null},{\"name\":\"Production.Main.checkedSum\",\"kind\":\"definition\",\"module\":\"Production.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"UInt32\",\"LexLeanRuntime.checkedAdd\",\"LexLeanRuntime.instFixedUInt32\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Fixed\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instFixedUInt32\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.checkedAdd\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"UInt32\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.14\"}}}},\"uses\":[\"Option\",\"UInt32\",\"LexLeanRuntime.Fixed\",\"LexLeanRuntime.checkedAdd\",\"LexLeanRuntime.instFixedUInt32\"]},\"inductive\":null},{\"name\":\"Production.Main.halvings\",\"kind\":\"definition\",\"module\":\"Production.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Production.Kernel.countdown\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Production.Kernel.countdown\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.10\"}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"instOfNatNat\",\"Production.Kernel.countdown\"]},\"inductive\":null},{\"name\":\"Production.Main.headOr\",\"kind\":\"definition\",\"module\":\"Production.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Production.Kernel.firstOr\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Production.Kernel.firstOr\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.10\"}}}}}},\"uses\":[\"List\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"Production.Kernel.firstOr\"]},\"inductive\":null},{\"name\":\"Production.Main.quadruple\",\"kind\":\"definition\",\"module\":\"Production.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instAddNat\",\"instHAdd\",\"HAdd.hAdd\",\"Production.Kernel.applyTwice\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.30\",\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.11\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.28\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.29\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Production.Kernel.applyTwice\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}}},\"uses\":[\"Add\",\"HAdd\",\"Nat\",\"instAddNat\",\"instHAdd\",\"Production.Kernel.applyTwice\"]},\"inductive\":null},{\"name\":\"Production.Main.shapeArea\",\"kind\":\"definition\",\"module\":\"Production.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Production.Kernel.area\",\"Production.Kernel.Shape.rectangle\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Production.Kernel.Shape\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Production.Kernel.Shape.rectangle\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Production.Kernel.area\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.16\"}}}},\"uses\":[\"Nat\",\"Production.Kernel.Shape\",\"Production.Kernel.area\",\"Production.Kernel.Shape.rectangle\"]},\"inductive\":null},{\"name\":\"Production.Main.sumAll\",\"kind\":\"definition\",\"module\":\"Production.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Production.Kernel.total\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Production.Kernel.total\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"List\",\"Nat\",\"Production.Kernel.total\"]},\"inductive\":null},{\"name\":\"Production.Kernel.Shape.casesOn\",\"kind\":\"definition\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Production.Kernel.Shape\",\"Production.Kernel.Shape.circle\",\"Production.Kernel.Shape.rec\",\"Production.Kernel.Shape.rectangle\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Kernel.Shape.circle\",\"kind\":\"constructor\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Kernel.Shape.rec\",\"kind\":\"recursor\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Kernel.Shape.rectangle\",\"kind\":\"constructor\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Kernel.area.match_1\",\"kind\":\"definition\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Production.Kernel.Shape\",\"Production.Kernel.Shape.casesOn\",\"Production.Kernel.Shape.circle\",\"Production.Kernel.Shape.rectangle\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Kernel.countdown._unary\",\"kind\":\"definition\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"InvImage\",\"Nat\",\"PSigma\",\"instAddNat\",\"instHAdd\",\"instLTNat\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"Bool.true\",\"HAdd.hAdd\",\"LT.lt\",\"LexLeanRuntime.subtract\",\"Nat.blt\",\"OfNat.ofNat\",\"PSigma.casesOn\",\"PSigma.mk\",\"WellFounded.Nat.fix\",\"Production.Kernel.countdown.match_1\",\"Production.Kernel.countdown._unary._proof_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Kernel.countdown.match_1\",\"kind\":\"definition\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Bool.casesOn\",\"Bool.false\",\"Bool.true\",\"Eq.refl\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Kernel.firstOr.match_1\",\"kind\":\"definition\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Unit\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Kernel.total._f\",\"kind\":\"definition\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"List\",\"Nat\",\"Unit\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"List.below\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\",\"Production.Kernel.total.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Kernel.total.match_1\",\"kind\":\"definition\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Unit\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"_private.Production.Kernel.0.Production.Kernel.countdown_decreases._proof_1_4\",\"kind\":\"theorem\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"And\",\"Bool\",\"Eq\",\"False\",\"Int\",\"Nat\",\"Not\",\"id\",\"instDecidableEqBool\",\"instHAdd\",\"instHSub\",\"instLENat\",\"instLTNat\",\"instNatCastInt\",\"instOfNat\",\"instOfNatNat\",\"instSubNat\",\"le_of_le_of_eq\",\"of_decide_eq_true\",\"And.left\",\"And.right\",\"Bool.true\",\"Decidable.decide\",\"Eq.refl\",\"Eq.symm\",\"Eq.trans\",\"HAdd.hAdd\",\"HSub.hSub\",\"Int.add_one_le_of_lt\",\"Int.instAdd\",\"Int.instLEInt\",\"Int.instNegInt\",\"Int.instSub\",\"Int.sub_eq_zero_of_eq\",\"Int.sub_nonneg_of_le\",\"LE.le\",\"LT.lt\",\"List.cons\",\"List.nil\",\"Nat.cast\",\"Nat.le_of_not_lt\",\"Neg.neg\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"Or.elim\",\"Lean.Omega.LinearCombo\",\"Lean.Omega.tidy_sat\",\"Lean.Omega.Coeffs.ofList\",\"Lean.Omega.Constraint.addEquality_sat\",\"Lean.Omega.Constraint.addInequality_sat\",\"Lean.Omega.Constraint.combine_sat'\",\"Lean.Omega.Constraint.isImpossible\",\"Lean.Omega.Constraint.mk\",\"Lean.Omega.Constraint.not_sat'_of_isImpossible\",\"Lean.Omega.Int.add_congr\",\"Lean.Omega.Int.ofNat_le_of_le\",\"Lean.Omega.Int.ofNat_lt_of_lt\",\"Lean.Omega.Int.ofNat_sub_dichotomy\",\"Lean.Omega.Int.sub_congr\",\"Lean.Omega.LinearCombo.add_eval\",\"Lean.Omega.LinearCombo.coordinate\",\"Lean.Omega.LinearCombo.coordinate_eval_0\",\"Lean.Omega.LinearCombo.coordinate_eval_1\",\"Lean.Omega.LinearCombo.eval\",\"Lean.Omega.LinearCombo.instAdd\",\"Lean.Omega.LinearCombo.instSub\",\"Lean.Omega.LinearCombo.mk\",\"Lean.Omega.LinearCombo.sub_eval\"],\"declaration\":null,\"inductive\":null},{\"name\":\"_private.Production.Kernel.0.Production.Kernel.countdown_decreases._simp_1_1\",\"kind\":\"theorem\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"Not\",\"Bool.false\",\"Bool.not_eq_true\",\"Bool.true\",\"Eq.symm\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Production.Kernel.countdown._unary._proof_1\",\"kind\":\"theorem\",\"module\":\"Production.Kernel\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"theorem\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Eq\",\"InvImage\",\"Nat\",\"PSigma\",\"id\",\"instAddNat\",\"instHAdd\",\"instLTNat\",\"instOfNatNat\",\"instSubNat\",\"Bool.false\",\"HAdd.hAdd\",\"LT.lt\",\"LexLeanRuntime.subtract\",\"Nat.blt\",\"OfNat.ofNat\",\"PSigma.casesOn\",\"PSigma.mk\",\"Production.Kernel.countdown_decreases\"],\"declaration\":null,\"inductive\":null}],\"externals\":[{\"name\":\"Add\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Bool\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Decidable\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"HAdd\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"HMul\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"HSub\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Int\",\"kind\":\"inductive\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"List\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Mul\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Nat\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"OfNat\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Option\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"PUnit\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Sub\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"UInt32\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"instAddNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instHAdd\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instHMul\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instHSub\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instMulNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instOfNat\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instOfNatNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instSubNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Bool.false\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Bool\"},{\"name\":\"Bool.true\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Bool\"},{\"name\":\"Decidable.isFalse\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Decidable\"},{\"name\":\"Decidable.isTrue\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Decidable\"},{\"name\":\"Int.decLt\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int.instAdd\",\"kind\":\"definition\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Int.ofNat\",\"kind\":\"constructor\",\"module\":\"Init.Data.Int.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":true,\"inductive_type\":\"Int\"},{\"name\":\"List.cons\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"List\"},{\"name\":\"List.nil\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"List\"},{\"name\":\"Nat.blt\",\"kind\":\"definition\",\"module\":\"Init.Data.Nat.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Nat.decLt\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Option.none\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Option\"},{\"name\":\"Option.some\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Option\"},{\"name\":\"UInt32.complement\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.land\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.lor\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.ofInt\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.shiftLeft\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.shiftRight\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.toNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"UInt32.xor\",\"kind\":\"definition\",\"module\":\"Init.Data.UInt.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Unit.unit\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true}]}\n","stdout_sha256":"6bc3c1e3cb092bb5aabccc9ee8f6cc7e0203344bca7659d2fa1d84564381812c","tool":"lean"} diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R0.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R0.lean new file mode 100644 index 000000000..51b984500 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R0.lean @@ -0,0 +1,34 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Production.Kernel +import Production.Main +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [(.fixed .u32), (.fixed .u32)], result := (.option (.fixed .u32)), + body := (.prim .checkedAdd [(.var 0), (.var 1)]) }] } + +def __fits_0 (left : UInt32) (right : UInt32) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_0 (left : UInt32) (right : UInt32) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.u32 left), (_root_.LexLeanTarget.TargetSyntax.Value.u32 right)] (_root_.LexLeanPreservation.Rel (__fits_0 left right) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.u32) (Production.Main.checkedSum left right))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_checkedAdd_u32 left right)) + +def denote (left : UInt32) (right : UInt32) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 left right) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.u32) (Production.Main.checkedSum left right)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (left : UInt32) (right : UInt32) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.u32 left), (_root_.LexLeanTarget.TargetSyntax.Value.u32 right)] (_root_.LexLeanPreservation.Rel (__fits_0 left right) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.u32) (Production.Main.checkedSum left right))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 left right) + +end LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0 diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R0/Compose/RustCore.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R0/Compose/RustCore.lean new file mode 100644 index 000000000..47ae2e43b --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R0/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0 +import LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustCore +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustCore + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (left : UInt32) (right : UInt32) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.u32 left), (_root_.LexLeanTarget.TargetSyntax.Value.u32 right)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.denote left right) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.u32 left), (_root_.LexLeanTarget.TargetSyntax.Value.u32 right)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_u32 left) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_u32 right) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.root left right) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustCore diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R0/Compose/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R0/Compose/RustStd.lean new file mode 100644 index 000000000..cff9d3d3a --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R0/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0 +import LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustStd + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (left : UInt32) (right : UInt32) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.u32 left), (_root_.LexLeanTarget.TargetSyntax.Value.u32 right)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.denote left right) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.u32 left), (_root_.LexLeanTarget.TargetSyntax.Value.u32 right)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_u32 left) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_u32 right) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.root left right) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R0/RustCore.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R0/RustCore.lean new file mode 100644 index 000000000..a359812dc --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R0/RustCore.lean @@ -0,0 +1,33 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustCore +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [(.fixed .u32), (.fixed .u32)], result := (.option (.fixed .u32)), + body := (.prim .checkedAdd [(.var 0), (.var 1)]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .core, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.fixed .u32) }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .u32) }] (.option (.fixed .u32)) (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedAdd .u32)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))], (.call (.runtime (.checkedAdd .u32)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false), [(1, (.fixed .u32), (some 1)), (0, (.fixed .u32), (some 0))], rfl, rfl, + (Corr.prim (ts := [(.fixed .u32), (.fixed .u32)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | _ + 1 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustCore diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R0/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R0/RustStd.lean new file mode 100644 index 000000000..49f413f7e --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R0/RustStd.lean @@ -0,0 +1,33 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0, 1], types := [(.fixed .u32), (.fixed .u32)], result := (.option (.fixed .u32)), + body := (.prim .checkedAdd [(.var 0), (.var 1)]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.fixed .u32) }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .u32) }] (.option (.fixed .u32)) (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedAdd .u32)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))], (.call (.runtime (.checkedAdd .u32)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false), [(1, (.fixed .u32), (some 1)), (0, (.fixed .u32), (some 0))], rfl, rfl, + (Corr.prim (ts := [(.fixed .u32), (.fixed .u32)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | _ + 1 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R1.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R1.lean new file mode 100644 index 000000000..32e7d8cb8 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R1.lean @@ -0,0 +1,47 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Production.Kernel +import Production.Main +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [{ constructors := [[.nat], [.nat, .nat]] }], functions := [ + { parameters := [0, 1], types := [.nat, .nat], result := .nat, + body := (.call 1 [(.build (.adt 1) (.adt 0) [(.var 0), (.var 1)])]) }, + { parameters := [0], types := [(.adt 0)], result := .nat, + body := (.«match» .nat (.var 0) [(.arm (.adt 0) [1] (.prim .natMul [(.prim .natMul [(.var 1), (.var 1)]), (.value .nat (.nat 3))])), (.arm (.adt 1) [2, 3] (.prim .natMul [(.var 2), (.var 3)]))]) }] } + +def __enc_0 : (Production.Kernel.Shape) -> _root_.LexLeanTarget.TargetSyntax.Value + | Production.Kernel.Shape.circle __x0 => _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat __x0)] + | Production.Kernel.Shape.rectangle __x0 __x1 => _root_.LexLeanTarget.TargetSyntax.Value.adt 1 [(_root_.LexLeanTarget.TargetSyntax.Value.nat __x0), (_root_.LexLeanTarget.TargetSyntax.Value.nat __x1)] + +def __fits_1 (shape : (Production.Kernel.Shape)) : Bool := + (Bool.true && (match shape with | Production.Kernel.Shape.circle radius => ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (_root_.LexLeanRuntime.multiply (radius) (radius) : Nat) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt (_root_.LexLeanRuntime.multiply ((_root_.LexLeanRuntime.multiply (radius) (radius) : Nat)) ((3 : Nat)) : Nat) 18446744073709551616)) | Production.Kernel.Shape.rectangle width height => ((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (_root_.LexLeanRuntime.multiply (width) (height) : Nat) 18446744073709551616)))) + +theorem __rel_1 (shape : (Production.Kernel.Shape)) : _root_.LexLeanPreservation.FunRel __prog 1 [(__enc_0 shape)] (_root_.LexLeanPreservation.Rel (__fits_1 shape) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Kernel.area shape))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_0 (fun (__a : (Production.Kernel.Shape)) => (match __a with | Production.Kernel.Shape.circle radius => ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (_root_.LexLeanRuntime.multiply (radius) (radius) : Nat) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt (_root_.LexLeanRuntime.multiply ((_root_.LexLeanRuntime.multiply (radius) (radius) : Nat)) ((3 : Nat)) : Nat) 18446744073709551616)) | Production.Kernel.Shape.rectangle width height => ((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (_root_.LexLeanRuntime.multiply (width) (height) : Nat) 18446744073709551616)))) (fun (__a : (Production.Kernel.Shape)) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match __a with | Production.Kernel.Shape.circle radius => (_root_.LexLeanRuntime.multiply ((_root_.LexLeanRuntime.multiply (radius) (radius) : Nat)) ((3 : Nat)) : Nat) | Production.Kernel.Shape.rectangle width height => (_root_.LexLeanRuntime.multiply (width) (height) : Nat))) shape (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Production.Kernel.Shape)) _ => match __a with | Production.Kernel.Shape.circle radius => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natMul radius radius)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natMul (_root_.LexLeanRuntime.multiply (radius) (radius) : Nat) (3 : Nat)))) | Production.Kernel.Shape.rectangle width height => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natMul width height)))))) + +def __fits_0 (width : Nat) (height : Nat) : Bool := + ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && (__fits_1 ((Production.Kernel.Shape.rectangle (width) (height) : (Production.Kernel.Shape))))) + +attribute [local irreducible] Production.Kernel.area in +theorem __rel_0 (width : Nat) (height : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat width), (_root_.LexLeanTarget.TargetSyntax.Value.nat height)] (_root_.LexLeanPreservation.Rel (__fits_0 width height) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.shapeArea width height))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) (__rel_1 ((Production.Kernel.Shape.rectangle (width) (height) : (Production.Kernel.Shape))))) + +def denote (width : Nat) (height : Nat) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 width height) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.shapeArea width height)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (width : Nat) (height : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat width), (_root_.LexLeanTarget.TargetSyntax.Value.nat height)] (_root_.LexLeanPreservation.Rel (__fits_0 width height) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.shapeArea width height))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 width height) + +end LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1 diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R1/Compose/RustCore.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R1/Compose/RustCore.lean new file mode 100644 index 000000000..405c6b375 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R1/Compose/RustCore.lean @@ -0,0 +1,20 @@ +import LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1 +import LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustCore +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustCore + +theorem __wt_0 : ∀ (__v : (Production.Kernel.Shape)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustCore.program _root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustCore.krate _root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustCore.flags (_root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.__enc_0 __v) (.adt 0) + | Production.Kernel.Shape.circle __x0 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x0) _root_.LexLeanPreservation.Rust.wtl_nil) + | Production.Kernel.Shape.rectangle __x0 __x1 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x0) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x1) _root_.LexLeanPreservation.Rust.wtl_nil)) + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (width : Nat) (height : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat width), (_root_.LexLeanTarget.TargetSyntax.Value.nat height)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.denote width height) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat width), (_root_.LexLeanTarget.TargetSyntax.Value.nat height)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat width) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat height) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.root width height) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustCore diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R1/Compose/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R1/Compose/RustStd.lean new file mode 100644 index 000000000..1d6393565 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R1/Compose/RustStd.lean @@ -0,0 +1,20 @@ +import LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1 +import LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustStd + +theorem __wt_0 : ∀ (__v : (Production.Kernel.Shape)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustStd.program _root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustStd.krate _root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustStd.flags (_root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.__enc_0 __v) (.adt 0) + | Production.Kernel.Shape.circle __x0 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x0) _root_.LexLeanPreservation.Rust.wtl_nil) + | Production.Kernel.Shape.rectangle __x0 __x1 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x0) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x1) _root_.LexLeanPreservation.Rust.wtl_nil)) + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (width : Nat) (height : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat width), (_root_.LexLeanTarget.TargetSyntax.Value.nat height)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.denote width height) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat width), (_root_.LexLeanTarget.TargetSyntax.Value.nat height)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat width) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat height) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.root width height) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R1/RustCore.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R1/RustCore.lean new file mode 100644 index 000000000..3a4405a6b --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R1/RustCore.lean @@ -0,0 +1,42 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustCore +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [{ constructors := [[.nat], [.nat, .nat]] }], functions := [ + { parameters := [0, 1], types := [.nat, .nat], result := .nat, + body := (.call 1 [(.build (.adt 1) (.adt 0) [(.var 0), (.var 1)])]) }, + { parameters := [0], types := [(.adt 0)], result := .nat, + body := (.«match» .nat (.var 0) [(.arm (.adt 0) [1] (.prim .natMul [(.prim .natMul [(.var 1), (.var 1)]), (.value .nat (.nat 3))])), (.arm (.adt 1) [2, 3] (.prim .natMul [(.var 2), (.var 3)]))]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .core, items := [ + (.enum (.adt 0) [{ number := 0, fields := [.nat] }, { number := 1, fields := [.nat, .nat] }]), + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [] (.call (.function 1) [(.construct (.adt 0 1) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))])] false))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1))]) (.mk [(.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1)))] (.call (.runtime .natMul) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))), (.mk (.adt 0 1 [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))]) (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false)))])))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.construct (.adt 0 1) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))])] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.callF (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1))]) (.mk [(.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1)))] (.call (.runtime .natMul) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))), (.mk (.adt 0 1 [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))]) (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false)))]), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := [(.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1)))] (.call (.runtime .natMul) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 3)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false)) (Corr.mCons (Γ' := [(3, .nat, (some 3)), (2, .nat, (some 2)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 3)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false)) (Corr.mNil) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl)⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | _ + 2 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustCore diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R1/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R1/RustStd.lean new file mode 100644 index 000000000..60dab1949 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R1/RustStd.lean @@ -0,0 +1,42 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [{ constructors := [[.nat], [.nat, .nat]] }], functions := [ + { parameters := [0, 1], types := [.nat, .nat], result := .nat, + body := (.call 1 [(.build (.adt 1) (.adt 0) [(.var 0), (.var 1)])]) }, + { parameters := [0], types := [(.adt 0)], result := .nat, + body := (.«match» .nat (.var 0) [(.arm (.adt 0) [1] (.prim .natMul [(.prim .natMul [(.var 1), (.var 1)]), (.value .nat (.nat 3))])), (.arm (.adt 1) [2, 3] (.prim .natMul [(.var 2), (.var 3)]))]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.enum (.adt 0) [{ number := 0, fields := [.nat] }, { number := 1, fields := [.nat, .nat] }]), + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [] (.call (.function 1) [(.construct (.adt 0 1) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))])] false))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1))]) (.mk [(.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1)))] (.call (.runtime .natMul) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))), (.mk (.adt 0 1 [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))]) (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false)))])))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.construct (.adt 0 1) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))])] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.callF (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1))]) (.mk [(.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1)))] (.call (.runtime .natMul) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))), (.mk (.adt 0 1 [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))]) (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false)))]), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := [(.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1)))] (.call (.runtime .natMul) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 3)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false)) (Corr.mCons (Γ' := [(3, .nat, (some 3)), (2, .nat, (some 2)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 3)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false)) (Corr.mNil) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl)⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | _ + 2 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R2.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R2.lean new file mode 100644 index 000000000..3c61ff328 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R2.lean @@ -0,0 +1,51 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Production.Kernel +import Production.Main +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0], types := [.nat], result := .nat, + body := (.call 1 [(.closure 2 []), (.var 0)]) }, + { parameters := [0, 1], types := [(.fn [.nat] .nat), .nat], result := .nat, + body := (.apply (.var 0) [(.apply (.var 0) [(.var 1)])]) }, + { parameters := [0], types := [.nat], result := .nat, + body := (.prim .natAdd [(.var 0), (.var 0)]) }] } + +def __fits_1 (step : (Nat -> Nat)) (__ff_0 : Nat -> Bool) (value : Nat) : Bool := + (Bool.true && (((Bool.true && ((Bool.true && Bool.true) && (__ff_0 (value)))) && Bool.true) && (__ff_0 ((step (value)))))) + +theorem __rel_1 (step : (Nat -> Nat)) (__ff_0 : Nat -> Bool) (__fi_0 : Nat) (__fc_0 : List _root_.LexLeanTarget.TargetSyntax.Value) (__fh_0 : ∀ (__p0 : Nat), _root_.LexLeanPreservation.FunRel __prog __fi_0 (_root_.LexLeanRuntime.append __fc_0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat __p0)]) (_root_.LexLeanPreservation.Rel (__ff_0 __p0) (_root_.LexLeanTarget.TargetSyntax.Value.nat (step __p0)))) (value : Nat) : _root_.LexLeanPreservation.FunRel __prog 1 [(_root_.LexLeanTarget.TargetSyntax.Value.closure __fi_0 __fc_0), (_root_.LexLeanTarget.TargetSyntax.Value.nat value)] (_root_.LexLeanPreservation.Rel (__fits_1 step __ff_0 value) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Kernel.applyTwice step value))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_apply (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_apply (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__fh_0 (value))) _root_.LexLeanPreservation.convL_nil) (__fh_0 ((step (value))))) + +def __fits_2 (number : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (number + number) 18446744073709551616)) + +theorem __rel_2 (number : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat number)] (_root_.LexLeanPreservation.Rel (__fits_2 number) (_root_.LexLeanTarget.TargetSyntax.Value.nat ((number + number)))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd number number)) + +def __fits_0 (value : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && (__fits_1 ((fun (number : Nat) => (number + number))) (fun (__p0 : Nat) => __fits_2 __p0) (value))) + +attribute [local irreducible] Production.Kernel.applyTwice in +theorem __rel_0 (value : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat value)] (_root_.LexLeanPreservation.Rel (__fits_0 value) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.quadruple value))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_1 ((fun (number : Nat) => (number + number))) (fun (__p0 : Nat) => __fits_2 __p0) (2) ([]) (fun (__p0 : Nat) => __rel_2 __p0) (value))) + +def denote (value : Nat) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 value) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.quadruple value)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (value : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat value)] (_root_.LexLeanPreservation.Rel (__fits_0 value) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.quadruple value))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 value) + +end LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2 diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R2/Compose/RustCore.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R2/Compose/RustCore.lean new file mode 100644 index 000000000..751dd0739 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R2/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2 +import LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustCore +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustCore + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (value : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat value)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.denote value) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat value)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat value) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.root value) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustCore diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R2/Compose/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R2/Compose/RustStd.lean new file mode 100644 index 000000000..f121d8374 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R2/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2 +import LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustStd + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (value : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat value)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.denote value) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat value)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat value) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.root value) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R2/RustCore.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R2/RustCore.lean new file mode 100644 index 000000000..884005dd7 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R2/RustCore.lean @@ -0,0 +1,51 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustCore +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0], types := [.nat], result := .nat, + body := (.call 1 [(.closure 2 []), (.var 0)]) }, + { parameters := [0, 1], types := [(.fn [.nat] .nat), .nat], result := .nat, + body := (.apply (.var 0) [(.apply (.var 0) [(.var 1)])]) }, + { parameters := [0], types := [.nat], result := .nat, + body := (.prim .natAdd [(.var 0), (.var 0)]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .core, items := [ + (.enum (.fn 0) [{ number := 2, fields := [] }]), + (.apply 0 [.nat] .nat true [{ function := 2, captures := [], functionFallible := true }]), + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [] (.call (.function 1) [(.construct (.closure 0 2) []), (.copy (.generated .binding 0))] false))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .callee 1)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 1) [(.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 1))] true)))] false))), + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [(([.nat], .nat), true)] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.construct (.closure 0 2) []), (.copy (.generated .binding 0))] false), [(0, .nat, (some 0))], rfl, rfl, + (Corr.callF (ts := [(.fn [.nat] .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .callee 1)) (some (.fn 0)) (.clone (.generated .binding 0)))], (.apply (.generated .callee 1) [(.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 1))] true)))] false), [(1, .nat, (some 1)), (0, (.fn [.nat] .nat), (some 0))], rfl, rfl, + (Corr.applyF (ps := [.nat]) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 2) [(.copy (.generated .binding 1))] true)) (Corr.apply (ps := [.nat]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl)⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 0)))], (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false), [(0, .nat, (some 0))], rfl, rfl, + (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | _ + 3 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustCore diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R2/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R2/RustStd.lean new file mode 100644 index 000000000..6bcd8a294 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R2/RustStd.lean @@ -0,0 +1,51 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0], types := [.nat], result := .nat, + body := (.call 1 [(.closure 2 []), (.var 0)]) }, + { parameters := [0, 1], types := [(.fn [.nat] .nat), .nat], result := .nat, + body := (.apply (.var 0) [(.apply (.var 0) [(.var 1)])]) }, + { parameters := [0], types := [.nat], result := .nat, + body := (.prim .natAdd [(.var 0), (.var 0)]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.enum (.fn 0) [{ number := 2, fields := [] }]), + (.apply 0 [.nat] .nat true [{ function := 2, captures := [], functionFallible := true }]), + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [] (.call (.function 1) [(.construct (.closure 0 2) []), (.copy (.generated .binding 0))] false))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .callee 1)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 1) [(.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 1))] true)))] false))), + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [(([.nat], .nat), true)] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.construct (.closure 0 2) []), (.copy (.generated .binding 0))] false), [(0, .nat, (some 0))], rfl, rfl, + (Corr.callF (ts := [(.fn [.nat] .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .callee 1)) (some (.fn 0)) (.clone (.generated .binding 0)))], (.apply (.generated .callee 1) [(.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 1))] true)))] false), [(1, .nat, (some 1)), (0, (.fn [.nat] .nat), (some 0))], rfl, rfl, + (Corr.applyF (ps := [.nat]) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 2) [(.copy (.generated .binding 1))] true)) (Corr.apply (ps := [.nat]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl)⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 0)))], (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false), [(0, .nat, (some 0))], rfl, rfl, + (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | _ + 3 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R3.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R3.lean new file mode 100644 index 000000000..8b3207a1c --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R3.lean @@ -0,0 +1,48 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Production.Kernel +import Production.Main +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0], types := [.nat], result := .nat, + body := (.call 1 [(.var 0), (.value .nat (.nat 0))]) }, + { parameters := [0, 1], types := [.nat, .nat], result := .nat, + body := (.cond (.prim .natLt [(.var 0), (.value .nat (.nat 2))]) (.var 1) (.call 1 [(.prim .natSub [(.var 0), (.value .nat (.nat 2))]), (.prim .natAdd [(.var 1), (.value .nat (.nat 1))])])) }] } + +def __fits_1 (number : Nat) (steps : Nat) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (match (generalizing := false) __decrease0 : (Nat.blt number (2 : Nat)) with | true => Bool.true | false => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (steps + (1 : Nat)) 18446744073709551616)) && Bool.true)) && (__fits_1 ((_root_.LexLeanRuntime.subtract (number) ((2 : Nat)) : Nat)) ((steps + (1 : Nat))))))) +termination_by number +decreasing_by all_goals first | (have __evidence := Production.Kernel.countdown_decreases (number) (steps) (__decrease0); subst_vars; exact __evidence) + +theorem __rel_1 (number : Nat) (steps : Nat) : _root_.LexLeanPreservation.FunRel __prog 1 [(_root_.LexLeanTarget.TargetSyntax.Value.nat number), (_root_.LexLeanTarget.TargetSyntax.Value.nat steps)] (_root_.LexLeanPreservation.Rel (__fits_1 number steps) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Kernel.countdown number steps))) := by + rw [Production.Kernel.countdown.eq_def, __fits_1.eq_def] + exact _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (match (generalizing := false) __decrease0 : __b with | true => Bool.true | false => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (steps + (1 : Nat)) 18446744073709551616)) && Bool.true)) && (__fits_1 ((_root_.LexLeanRuntime.subtract (number) ((2 : Nat)) : Nat)) ((steps + (1 : Nat))))))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match (generalizing := false) __decrease0 : __b with | true => steps | false => (Production.Kernel.countdown ((_root_.LexLeanRuntime.subtract (number) ((2 : Nat)) : Nat)) ((steps + (1 : Nat)))))) (Nat.blt number (2 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt number (2 : Nat))) (fun __decrease0 => (_root_.LexLeanPreservation.conv_var rfl)) (fun __decrease0 => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub number (2 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd steps (1 : Nat))) _root_.LexLeanPreservation.convL_nil)) (__rel_1 ((_root_.LexLeanRuntime.subtract (number) ((2 : Nat)) : Nat)) ((steps + (1 : Nat))))))) +termination_by number +decreasing_by all_goals first | (have __evidence := Production.Kernel.countdown_decreases (number) (steps) (__decrease0); subst_vars; exact __evidence) + +def __fits_0 (number : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && (__fits_1 (number) ((0 : Nat)))) + +attribute [local irreducible] Production.Kernel.countdown in +theorem __rel_0 (number : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat number)] (_root_.LexLeanPreservation.Rel (__fits_0 number) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.halvings number))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (__rel_1 (number) ((0 : Nat)))) + +def denote (number : Nat) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 number) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.halvings number)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (number : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat number)] (_root_.LexLeanPreservation.Rel (__fits_0 number) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.halvings number))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 number) + +end LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3 diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R3/Compose/RustCore.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R3/Compose/RustCore.lean new file mode 100644 index 000000000..cc7b2b896 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R3/Compose/RustCore.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3 +import LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustCore +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustCore + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (number : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat number)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.denote number) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat number)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat number) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.root number) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustCore diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R3/Compose/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R3/Compose/RustStd.lean new file mode 100644 index 000000000..69f871d55 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R3/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3 +import LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustStd + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (number : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat number)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.denote number) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat number)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat number) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.root number) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R3/RustCore.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R3/RustCore.lean new file mode 100644 index 000000000..50664e740 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R3/RustCore.lean @@ -0,0 +1,41 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustCore +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0], types := [.nat], result := .nat, + body := (.call 1 [(.var 0), (.value .nat (.nat 0))]) }, + { parameters := [0, 1], types := [.nat, .nat], result := .nat, + body := (.cond (.prim .natLt [(.var 0), (.value .nat (.nat 2))]) (.var 1) (.call 1 [(.prim .natSub [(.var 0), (.value .nat (.nat 2))]), (.prim .natAdd [(.var 1), (.value .nat (.nat 1))])])) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .core, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [] (.call (.function 1) [(.copy (.generated .binding 0)), (.lit (.nat 0))] false))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false) (.mk [] (.succeed (.copy (.generated .binding 1)))) (.mk [] (.call (.function 1) [(.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))] (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)))] false)))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.copy (.generated .binding 0)), (.lit (.nat 0))] false), [(0, .nat, (some 0))], rfl, rfl, + (Corr.callF (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 2)))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false) (.mk [] (.succeed (.copy (.generated .binding 1)))) (.mk [] (.call (.function 1) [(.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))] (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)))] false))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 2)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.copy (.generated .binding 1)))) (lb := []) (tb := (.call (.function 1) [(.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))] (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)))] false)) (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl))) (Corr.callF (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl)))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | _ + 2 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustCore diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R3/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R3/RustStd.lean new file mode 100644 index 000000000..c5c85d3dc --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R3/RustStd.lean @@ -0,0 +1,41 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0], types := [.nat], result := .nat, + body := (.call 1 [(.var 0), (.value .nat (.nat 0))]) }, + { parameters := [0, 1], types := [.nat, .nat], result := .nat, + body := (.cond (.prim .natLt [(.var 0), (.value .nat (.nat 2))]) (.var 1) (.call 1 [(.prim .natSub [(.var 0), (.value .nat (.nat 2))]), (.prim .natAdd [(.var 1), (.value .nat (.nat 1))])])) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [] (.call (.function 1) [(.copy (.generated .binding 0)), (.lit (.nat 0))] false))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false) (.mk [] (.succeed (.copy (.generated .binding 1)))) (.mk [] (.call (.function 1) [(.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))] (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)))] false)))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.copy (.generated .binding 0)), (.lit (.nat 0))] false), [(0, .nat, (some 0))], rfl, rfl, + (Corr.callF (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 2)))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false) (.mk [] (.succeed (.copy (.generated .binding 1)))) (.mk [] (.call (.function 1) [(.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))] (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)))] false))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 2)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.copy (.generated .binding 1)))) (lb := []) (tb := (.call (.function 1) [(.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))] (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)))] false)) (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl))) (Corr.callF (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl)))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | _ + 2 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R4.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R4.lean new file mode 100644 index 000000000..8637c23a1 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R4.lean @@ -0,0 +1,45 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Production.Kernel +import Production.Main +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0], types := [(.list .nat)], result := .nat, + body := (.call 1 [(.var 0)]) }, + { parameters := [0], types := [(.list .nat)], result := .nat, + body := (.«match» .nat (.var 0) [(.arm .nil [] (.value .nat (.nat 0))), (.arm .cons [1, 2] (.prim .natAdd [(.var 1), (.call 1 [(.var 2)])]))]) }] } + +def __fits_1 : ∀ (values : (List Nat)), Bool + | (List.nil) => (Bool.true && Bool.true) + | (List.cons head tail) => (Bool.true && ((Bool.true && (((Bool.true && Bool.true) && (__fits_1 (tail))) && Bool.true)) && (Nat.blt (head + (Production.Kernel.total (tail))) 18446744073709551616))) + +theorem __rel_1 : ∀ (values : (List Nat)), _root_.LexLeanPreservation.FunRel __prog 1 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) values)] (_root_.LexLeanPreservation.Rel (__fits_1 values) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Kernel.total values))) + | (List.nil) => by rw [__fits_1.eq_def]; exact _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value)) + | (List.cons head tail) => by rw [__fits_1.eq_def]; exact _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (tail))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd head (Production.Kernel.total (tail))))))) + +def __fits_0 (values : (List Nat)) : Bool := + ((Bool.true && Bool.true) && (__fits_1 (values))) + +attribute [local irreducible] Production.Kernel.total in +theorem __rel_0 (values : (List Nat)) : _root_.LexLeanPreservation.FunRel __prog 0 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) values)] (_root_.LexLeanPreservation.Rel (__fits_0 values) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.sumAll values))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (values))) + +def denote (values : (List Nat)) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 values) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.sumAll values)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (values : (List Nat)) : _root_.LexLeanPreservation.RunConv __prog 0 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) values)] (_root_.LexLeanPreservation.Rel (__fits_0 values) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.sumAll values))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 values) + +end LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4 diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R4/Compose/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R4/Compose/RustStd.lean new file mode 100644 index 000000000..22ee40b50 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R4/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4 +import LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.Compose.RustStd + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (values : (List Nat)) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) values)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.denote values) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) values)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList _root_.LexLeanPreservation.Rust.wt_nat) values) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.root values) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.Compose.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R4/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R4/RustStd.lean new file mode 100644 index 000000000..0e97edc9d --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R4/RustStd.lean @@ -0,0 +1,41 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0], types := [(.list .nat)], result := .nat, + body := (.call 1 [(.var 0)]) }, + { parameters := [0], types := [(.list .nat)], result := .nat, + body := (.«match» .nat (.var 0) [(.arm .nil [] (.value .nat (.nat 0))), (.arm .cons [1, 2] (.prim .natAdd [(.var 1), (.call 1 [(.var 2)])]))]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }] (.fallible .nat) (.mk [] (.call (.function 1) [(.move (.generated .binding 0))] false))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 1)) [(.mk .none (.mk [] (.succeed (.lit (.nat 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.call (.function 1) [(.move (.generated .binding 2))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] false)))])))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.move (.generated .binding 0))] false), [(0, (.list .nat), (some 0))], rfl, rfl, + (Corr.callF (ts := [(.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 1)) [(.mk .none (.mk [] (.succeed (.lit (.nat 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.call (.function 1) [(.move (.generated .binding 2))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] false)))]), [(0, (.list .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 0)))) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.call (.function 1) [(.move (.generated .binding 2))] true))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] false)) (Corr.mNil) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | _ + 2 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R5.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R5.lean new file mode 100644 index 000000000..3f4793178 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R5.lean @@ -0,0 +1,43 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Production.Kernel +import Production.Main +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0], types := [(.list .nat)], result := .nat, + body := (.call 1 [(.var 0), (.value .nat (.nat 0))]) }, + { parameters := [0, 1], types := [(.list .nat), .nat], result := .nat, + body := (.«match» .nat (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.var 2))]) }] } + +def __fits_1 (values : (List Nat)) (fallback : Nat) : Bool := + (Bool.true && ((fun (Item : Type) (__a : (List Item)) (__k0 : Bool) (__k1 : ∀ (head : Item) (tail : (List Item)), Bool) => (match __a with | List.nil => __k0 | List.cons head tail => __k1 head tail : Bool)) Nat values (Bool.true) (fun (head : Nat) (tail : (List Nat)) => Bool.true))) + +theorem __rel_1 (values : (List Nat)) (fallback : Nat) : _root_.LexLeanPreservation.FunRel __prog 1 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) values), (_root_.LexLeanTarget.TargetSyntax.Value.nat fallback)] (_root_.LexLeanPreservation.Rel (__fits_1 values fallback) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Kernel.firstOr Nat values fallback))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (List Nat)) => ((fun (Item : Type) (__a : (List Item)) (__k0 : Bool) (__k1 : ∀ (head : Item) (tail : (List Item)), Bool) => (match __a with | List.nil => __k0 | List.cons head tail => __k1 head tail : Bool)) Nat __a (Bool.true) (fun (head : Nat) (tail : (List Nat)) => Bool.true))) (fun (__a : (List Nat)) => _root_.LexLeanTarget.TargetSyntax.Value.nat ((fun (Item : Type) (__a : (List Item)) (__k0 : Nat) (__k1 : ∀ (head : Item) (tail : (List Item)), Nat) => (match __a with | List.nil => __k0 | List.cons head tail => __k1 head tail : Nat)) Nat __a (fallback) (fun (head : Nat) (tail : (List Nat)) => head))) values (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (List Nat)) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | List.cons head tail => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl))))) + +def __fits_0 (values : (List Nat)) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && (__fits_1 (values) ((0 : Nat)))) + +attribute [local irreducible] Production.Kernel.firstOr in +theorem __rel_0 (values : (List Nat)) : _root_.LexLeanPreservation.FunRel __prog 0 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) values)] (_root_.LexLeanPreservation.Rel (__fits_0 values) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.headOr values))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (__rel_1 (values) ((0 : Nat)))) + +def denote (values : (List Nat)) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 values) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.headOr values)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (values : (List Nat)) : _root_.LexLeanPreservation.RunConv __prog 0 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) values)] (_root_.LexLeanPreservation.Rel (__fits_0 values) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.headOr values))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 values) + +end LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5 diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R5/Compose/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R5/Compose/RustStd.lean new file mode 100644 index 000000000..675012c13 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R5/Compose/RustStd.lean @@ -0,0 +1,16 @@ +import LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5 +import LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.Compose.RustStd + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (values : (List Nat)) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) values)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.denote values) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) values)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList _root_.LexLeanPreservation.Rust.wt_nat) values) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.root values) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.Compose.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R5/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R5/RustStd.lean new file mode 100644 index 000000000..36899a513 --- /dev/null +++ b/examples/production/expected/verify/preserve/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R5/RustStd.lean @@ -0,0 +1,41 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [], functions := [ + { parameters := [0], types := [(.list .nat)], result := .nat, + body := (.call 1 [(.var 0), (.value .nat (.nat 0))]) }, + { parameters := [0, 1], types := [(.list .nat), .nat], result := .nat, + body := (.«match» .nat (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.var 2))]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }] .nat (.mk [] (.call (.function 1) [(.move (.generated .binding 0)), (.lit (.nat 0))] false))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .nat (.mk [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 1)) [(.mk .none (.mk [] (.copy (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), .wild])) (.mk [] (.copy (.generated .binding 2))))])))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.move (.generated .binding 0)), (.lit (.nat 0))] false), [(0, (.list .nat), (some 0))], rfl, rfl, + (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 1)) [(.mk .none (.mk [] (.copy (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), .wild])) (.mk [] (.copy (.generated .binding 2))))]), [(1, .nat, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.copy (.generated .binding 1))) (Corr.mCons (Γ' := [(3, (.list .nat), none), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.copy (.generated .binding 2))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | _ + 2 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R0.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R0.lean deleted file mode 100644 index a1dd565ec..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R0.lean +++ /dev/null @@ -1,34 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Production.Kernel -import Production.Main -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [(.fixed .u32), (.fixed .u32)], result := (.option (.fixed .u32)), - body := (.prim .checkedAdd [(.var 0), (.var 1)]) }] } - -def __fits_0 (left : UInt32) (right : UInt32) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_0 (left : UInt32) (right : UInt32) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.u32 left), (_root_.LexLeanTarget.TargetSyntax.Value.u32 right)] (_root_.LexLeanPreservation.Rel (__fits_0 left right) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.u32) (Production.Main.checkedSum left right))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_checkedAdd_u32 left right)) - -def denote (left : UInt32) (right : UInt32) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 left right) (_root_.LexLeanPreservation.Obs.value (((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.u32) (Production.Main.checkedSum left right)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (left : UInt32) (right : UInt32) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.u32 left), (_root_.LexLeanTarget.TargetSyntax.Value.u32 right)] (_root_.LexLeanPreservation.Rel (__fits_0 left right) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.u32) (Production.Main.checkedSum left right))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 left right) - -end LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0 diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R0/Compose/RustCore.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R0/Compose/RustCore.lean deleted file mode 100644 index 0a10f9f77..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R0/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0 -import LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustCore -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustCore - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (left : UInt32) (right : UInt32) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.u32 left), (_root_.LexLeanTarget.TargetSyntax.Value.u32 right)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.denote left right) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.u32 left), (_root_.LexLeanTarget.TargetSyntax.Value.u32 right)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_u32 left) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_u32 right) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.root left right) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustCore diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R0/Compose/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R0/Compose/RustStd.lean deleted file mode 100644 index d378d904c..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R0/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0 -import LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustStd - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (left : UInt32) (right : UInt32) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.u32 left), (_root_.LexLeanTarget.TargetSyntax.Value.u32 right)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.denote left right) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.u32 left), (_root_.LexLeanTarget.TargetSyntax.Value.u32 right)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_u32 left) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_u32 right) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.root left right) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R0/RustCore.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R0/RustCore.lean deleted file mode 100644 index f82de541c..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R0/RustCore.lean +++ /dev/null @@ -1,33 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustCore -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [(.fixed .u32), (.fixed .u32)], result := (.option (.fixed .u32)), - body := (.prim .checkedAdd [(.var 0), (.var 1)]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .core, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.fixed .u32) }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .u32) }] (.option (.fixed .u32)) (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedAdd .u32)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))], (.call (.runtime (.checkedAdd .u32)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false), [(1, (.fixed .u32), (some 1)), (0, (.fixed .u32), (some 0))], rfl, rfl, - (Corr.prim (ts := [(.fixed .u32), (.fixed .u32)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | _ + 1 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustCore diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R0/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R0/RustStd.lean deleted file mode 100644 index e2f2eac1b..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R0/RustStd.lean +++ /dev/null @@ -1,33 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0, 1], types := [(.fixed .u32), (.fixed .u32)], result := (.option (.fixed .u32)), - body := (.prim .checkedAdd [(.var 0), (.var 1)]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.fixed .u32) }, { pattern := (.bind (.generated .binding 1)), type := (.fixed .u32) }] (.option (.fixed .u32)) (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))] (.call (.runtime (.checkedAdd .u32)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1)))], (.call (.runtime (.checkedAdd .u32)) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false), [(1, (.fixed .u32), (some 1)), (0, (.fixed .u32), (some 0))], rfl, rfl, - (Corr.prim (ts := [(.fixed .u32), (.fixed .u32)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | _ + 1 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R1.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R1.lean deleted file mode 100644 index b3bb2309e..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R1.lean +++ /dev/null @@ -1,47 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Production.Kernel -import Production.Main -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [{ constructors := [[.nat], [.nat, .nat]] }], functions := [ - { parameters := [0, 1], types := [.nat, .nat], result := .nat, - body := (.call 1 [(.build (.adt 1) (.adt 0) [(.var 0), (.var 1)])]) }, - { parameters := [0], types := [(.adt 0)], result := .nat, - body := (.«match» .nat (.var 0) [(.arm (.adt 0) [1] (.prim .natMul [(.prim .natMul [(.var 1), (.var 1)]), (.value .nat (.nat 3))])), (.arm (.adt 1) [2, 3] (.prim .natMul [(.var 2), (.var 3)]))]) }] } - -def __enc_0 : (Production.Kernel.Shape) -> _root_.LexLeanTarget.TargetSyntax.Value - | Production.Kernel.Shape.circle __x0 => _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat __x0)] - | Production.Kernel.Shape.rectangle __x0 __x1 => _root_.LexLeanTarget.TargetSyntax.Value.adt 1 [(_root_.LexLeanTarget.TargetSyntax.Value.nat __x0), (_root_.LexLeanTarget.TargetSyntax.Value.nat __x1)] - -def __fits_1 (shape : (Production.Kernel.Shape)) : Bool := - (Bool.true && (match shape with | Production.Kernel.Shape.circle radius => ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (Production.Kernel.LexLeanRuntime.multiply (radius) (radius) : Nat) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt (Production.Kernel.LexLeanRuntime.multiply ((Production.Kernel.LexLeanRuntime.multiply (radius) (radius) : Nat)) ((3 : Nat)) : Nat) 18446744073709551616)) | Production.Kernel.Shape.rectangle width height => ((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (Production.Kernel.LexLeanRuntime.multiply (width) (height) : Nat) 18446744073709551616)))) - -theorem __rel_1 (shape : (Production.Kernel.Shape)) : _root_.LexLeanPreservation.FunRel __prog 1 [(__enc_0 shape)] (_root_.LexLeanPreservation.Rel (__fits_1 shape) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Kernel.area shape))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_0 (fun (__a : (Production.Kernel.Shape)) => (match __a with | Production.Kernel.Shape.circle radius => ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (Production.Kernel.LexLeanRuntime.multiply (radius) (radius) : Nat) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt (Production.Kernel.LexLeanRuntime.multiply ((Production.Kernel.LexLeanRuntime.multiply (radius) (radius) : Nat)) ((3 : Nat)) : Nat) 18446744073709551616)) | Production.Kernel.Shape.rectangle width height => ((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (Production.Kernel.LexLeanRuntime.multiply (width) (height) : Nat) 18446744073709551616)))) (fun (__a : (Production.Kernel.Shape)) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match __a with | Production.Kernel.Shape.circle radius => (Production.Kernel.LexLeanRuntime.multiply ((Production.Kernel.LexLeanRuntime.multiply (radius) (radius) : Nat)) ((3 : Nat)) : Nat) | Production.Kernel.Shape.rectangle width height => (Production.Kernel.LexLeanRuntime.multiply (width) (height) : Nat))) shape (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Production.Kernel.Shape)) _ => match __a with | Production.Kernel.Shape.circle radius => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natMul radius radius)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natMul (Production.Kernel.LexLeanRuntime.multiply (radius) (radius) : Nat) (3 : Nat)))) | Production.Kernel.Shape.rectangle width height => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natMul width height)))))) - -def __fits_0 (width : Nat) (height : Nat) : Bool := - ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && (__fits_1 ((Production.Kernel.Shape.rectangle (width) (height) : (Production.Kernel.Shape))))) - -attribute [local irreducible] Production.Kernel.area in -theorem __rel_0 (width : Nat) (height : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat width), (_root_.LexLeanTarget.TargetSyntax.Value.nat height)] (_root_.LexLeanPreservation.Rel (__fits_0 width height) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.shapeArea width height))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) (__rel_1 ((Production.Kernel.Shape.rectangle (width) (height) : (Production.Kernel.Shape))))) - -def denote (width : Nat) (height : Nat) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 width height) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.shapeArea width height)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (width : Nat) (height : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat width), (_root_.LexLeanTarget.TargetSyntax.Value.nat height)] (_root_.LexLeanPreservation.Rel (__fits_0 width height) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.shapeArea width height))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 width height) - -end LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1 diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R1/Compose/RustCore.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R1/Compose/RustCore.lean deleted file mode 100644 index 0d3293c44..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R1/Compose/RustCore.lean +++ /dev/null @@ -1,20 +0,0 @@ -import LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1 -import LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustCore -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustCore - -theorem __wt_0 : ∀ (__v : (Production.Kernel.Shape)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustCore.program _root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustCore.krate _root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustCore.flags (_root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.__enc_0 __v) (.adt 0) - | Production.Kernel.Shape.circle __x0 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x0) _root_.LexLeanPreservation.Rust.wtl_nil) - | Production.Kernel.Shape.rectangle __x0 __x1 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x0) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x1) _root_.LexLeanPreservation.Rust.wtl_nil)) - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (width : Nat) (height : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat width), (_root_.LexLeanTarget.TargetSyntax.Value.nat height)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.denote width height) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat width), (_root_.LexLeanTarget.TargetSyntax.Value.nat height)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat width) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat height) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.root width height) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustCore diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R1/Compose/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R1/Compose/RustStd.lean deleted file mode 100644 index 8d81930a5..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R1/Compose/RustStd.lean +++ /dev/null @@ -1,20 +0,0 @@ -import LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1 -import LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustStd - -theorem __wt_0 : ∀ (__v : (Production.Kernel.Shape)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustStd.program _root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustStd.krate _root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustStd.flags (_root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.__enc_0 __v) (.adt 0) - | Production.Kernel.Shape.circle __x0 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x0) _root_.LexLeanPreservation.Rust.wtl_nil) - | Production.Kernel.Shape.rectangle __x0 __x1 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x0) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x1) _root_.LexLeanPreservation.Rust.wtl_nil)) - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (width : Nat) (height : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat width), (_root_.LexLeanTarget.TargetSyntax.Value.nat height)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.denote width height) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat width), (_root_.LexLeanTarget.TargetSyntax.Value.nat height)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat width) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat height) _root_.LexLeanPreservation.Rust.wtl_nil)) rfl rfl (_root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.root width height) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R1/RustCore.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R1/RustCore.lean deleted file mode 100644 index a7539e38e..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R1/RustCore.lean +++ /dev/null @@ -1,42 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustCore -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [{ constructors := [[.nat], [.nat, .nat]] }], functions := [ - { parameters := [0, 1], types := [.nat, .nat], result := .nat, - body := (.call 1 [(.build (.adt 1) (.adt 0) [(.var 0), (.var 1)])]) }, - { parameters := [0], types := [(.adt 0)], result := .nat, - body := (.«match» .nat (.var 0) [(.arm (.adt 0) [1] (.prim .natMul [(.prim .natMul [(.var 1), (.var 1)]), (.value .nat (.nat 3))])), (.arm (.adt 1) [2, 3] (.prim .natMul [(.var 2), (.var 3)]))]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .core, items := [ - (.enum (.adt 0) [{ number := 0, fields := [.nat] }, { number := 1, fields := [.nat, .nat] }]), - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [] (.call (.function 1) [(.construct (.adt 0 1) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))])] false))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1))]) (.mk [(.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1)))] (.call (.runtime .natMul) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))), (.mk (.adt 0 1 [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))]) (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false)))])))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.construct (.adt 0 1) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))])] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.callF (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1))]) (.mk [(.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1)))] (.call (.runtime .natMul) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))), (.mk (.adt 0 1 [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))]) (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false)))]), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := [(.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1)))] (.call (.runtime .natMul) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 3)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false)) (Corr.mCons (Γ' := [(3, .nat, (some 3)), (2, .nat, (some 2)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 3)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false)) (Corr.mNil) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl)⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | _ + 2 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustCore diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R1/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R1/RustStd.lean deleted file mode 100644 index 8cb74853a..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R1/RustStd.lean +++ /dev/null @@ -1,42 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [{ constructors := [[.nat], [.nat, .nat]] }], functions := [ - { parameters := [0, 1], types := [.nat, .nat], result := .nat, - body := (.call 1 [(.build (.adt 1) (.adt 0) [(.var 0), (.var 1)])]) }, - { parameters := [0], types := [(.adt 0)], result := .nat, - body := (.«match» .nat (.var 0) [(.arm (.adt 0) [1] (.prim .natMul [(.prim .natMul [(.var 1), (.var 1)]), (.value .nat (.nat 3))])), (.arm (.adt 1) [2, 3] (.prim .natMul [(.var 2), (.var 3)]))]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.enum (.adt 0) [{ number := 0, fields := [.nat] }, { number := 1, fields := [.nat, .nat] }]), - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [] (.call (.function 1) [(.construct (.adt 0 1) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))])] false))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))] (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1))]) (.mk [(.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1)))] (.call (.runtime .natMul) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))), (.mk (.adt 0 1 [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))]) (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false)))])))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.construct (.adt 0 1) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))])] false), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.callF (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))], (.matchOn (.move (.generated .holder 1)) [(.mk (.adt 0 0 [(.bind (.generated .binding 1))]) (.mk [(.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1)))] (.call (.runtime .natMul) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false))), (.mk (.adt 0 1 [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))]) (.mk [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 3)))] (.call (.runtime .natMul) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false)))]), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := [(.mk (.bind (.generated .operand 4)) none (.block (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1)))] (.call (.runtime .natMul) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)))), (.mk (.bind (.generated .operand 5)) none (.lit (.nat 3)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 4)), (.move (.generated .operand 5))] false)) (Corr.mCons (Γ' := [(3, .nat, (some 3)), (2, .nat, (some 2)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .operand 6)) none (.copy (.generated .binding 2))), (.mk (.bind (.generated .operand 7)) none (.copy (.generated .binding 3)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] false)) (Corr.mNil) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl)⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | _ + 2 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R2.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R2.lean deleted file mode 100644 index 4e1b3870e..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R2.lean +++ /dev/null @@ -1,51 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Production.Kernel -import Production.Main -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0], types := [.nat], result := .nat, - body := (.call 1 [(.closure 2 []), (.var 0)]) }, - { parameters := [0, 1], types := [(.fn [.nat] .nat), .nat], result := .nat, - body := (.apply (.var 0) [(.apply (.var 0) [(.var 1)])]) }, - { parameters := [0], types := [.nat], result := .nat, - body := (.prim .natAdd [(.var 0), (.var 0)]) }] } - -def __fits_1 (step : (Nat -> Nat)) (__ff_0 : Nat -> Bool) (value : Nat) : Bool := - (Bool.true && (((Bool.true && ((Bool.true && Bool.true) && (__ff_0 (value)))) && Bool.true) && (__ff_0 ((step (value)))))) - -theorem __rel_1 (step : (Nat -> Nat)) (__ff_0 : Nat -> Bool) (__fi_0 : Nat) (__fc_0 : List _root_.LexLeanTarget.TargetSyntax.Value) (__fh_0 : ∀ (__p0 : Nat), _root_.LexLeanPreservation.FunRel __prog __fi_0 (_root_.LexLeanTarget.TargetSemantics.LexLeanRuntime.append __fc_0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat __p0)]) (_root_.LexLeanPreservation.Rel (__ff_0 __p0) (_root_.LexLeanTarget.TargetSyntax.Value.nat (step __p0)))) (value : Nat) : _root_.LexLeanPreservation.FunRel __prog 1 [(_root_.LexLeanTarget.TargetSyntax.Value.closure __fi_0 __fc_0), (_root_.LexLeanTarget.TargetSyntax.Value.nat value)] (_root_.LexLeanPreservation.Rel (__fits_1 step __ff_0 value) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Kernel.applyTwice step value))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_apply (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_apply (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__fh_0 (value))) _root_.LexLeanPreservation.convL_nil) (__fh_0 ((step (value))))) - -def __fits_2 (number : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (number + number) 18446744073709551616)) - -theorem __rel_2 (number : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat number)] (_root_.LexLeanPreservation.Rel (__fits_2 number) (_root_.LexLeanTarget.TargetSyntax.Value.nat ((number + number)))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd number number)) - -def __fits_0 (value : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && (__fits_1 ((fun (number : Nat) => (number + number))) (fun (__p0 : Nat) => __fits_2 __p0) (value))) - -attribute [local irreducible] Production.Kernel.applyTwice in -theorem __rel_0 (value : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat value)] (_root_.LexLeanPreservation.Rel (__fits_0 value) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.quadruple value))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_1 ((fun (number : Nat) => (number + number))) (fun (__p0 : Nat) => __fits_2 __p0) (2) ([]) (fun (__p0 : Nat) => __rel_2 __p0) (value))) - -def denote (value : Nat) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 value) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.quadruple value)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (value : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat value)] (_root_.LexLeanPreservation.Rel (__fits_0 value) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.quadruple value))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 value) - -end LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2 diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R2/Compose/RustCore.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R2/Compose/RustCore.lean deleted file mode 100644 index 7d017856f..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R2/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2 -import LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustCore -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustCore - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (value : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat value)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.denote value) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat value)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat value) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.root value) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustCore diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R2/Compose/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R2/Compose/RustStd.lean deleted file mode 100644 index 976321927..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R2/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2 -import LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustStd - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (value : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat value)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.denote value) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat value)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat value) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.root value) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R2/RustCore.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R2/RustCore.lean deleted file mode 100644 index 6479cc37f..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R2/RustCore.lean +++ /dev/null @@ -1,51 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustCore -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0], types := [.nat], result := .nat, - body := (.call 1 [(.closure 2 []), (.var 0)]) }, - { parameters := [0, 1], types := [(.fn [.nat] .nat), .nat], result := .nat, - body := (.apply (.var 0) [(.apply (.var 0) [(.var 1)])]) }, - { parameters := [0], types := [.nat], result := .nat, - body := (.prim .natAdd [(.var 0), (.var 0)]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .core, items := [ - (.enum (.fn 0) [{ number := 2, fields := [] }]), - (.apply 0 [.nat] .nat true [{ function := 2, captures := [], functionFallible := true }]), - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [] (.call (.function 1) [(.construct (.closure 0 2) []), (.copy (.generated .binding 0))] false))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .callee 1)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 1) [(.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 1))] true)))] false))), - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [(([.nat], .nat), true)] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.construct (.closure 0 2) []), (.copy (.generated .binding 0))] false), [(0, .nat, (some 0))], rfl, rfl, - (Corr.callF (ts := [(.fn [.nat] .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .callee 1)) (some (.fn 0)) (.clone (.generated .binding 0)))], (.apply (.generated .callee 1) [(.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 1))] true)))] false), [(1, .nat, (some 1)), (0, (.fn [.nat] .nat), (some 0))], rfl, rfl, - (Corr.applyF (ps := [.nat]) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 2) [(.copy (.generated .binding 1))] true)) (Corr.apply (ps := [.nat]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl)⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 0)))], (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false), [(0, .nat, (some 0))], rfl, rfl, - (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | _ + 3 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustCore diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R2/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R2/RustStd.lean deleted file mode 100644 index 3121ab7cc..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R2/RustStd.lean +++ /dev/null @@ -1,51 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0], types := [.nat], result := .nat, - body := (.call 1 [(.closure 2 []), (.var 0)]) }, - { parameters := [0, 1], types := [(.fn [.nat] .nat), .nat], result := .nat, - body := (.apply (.var 0) [(.apply (.var 0) [(.var 1)])]) }, - { parameters := [0], types := [.nat], result := .nat, - body := (.prim .natAdd [(.var 0), (.var 0)]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.enum (.fn 0) [{ number := 2, fields := [] }]), - (.apply 0 [.nat] .nat true [{ function := 2, captures := [], functionFallible := true }]), - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [] (.call (.function 1) [(.construct (.closure 0 2) []), (.copy (.generated .binding 0))] false))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .callee 1)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 1) [(.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 1))] true)))] false))), - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [(([.nat], .nat), true)] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.construct (.closure 0 2) []), (.copy (.generated .binding 0))] false), [(0, .nat, (some 0))], rfl, rfl, - (Corr.callF (ts := [(.fn [.nat] .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .callee 1)) (some (.fn 0)) (.clone (.generated .binding 0)))], (.apply (.generated .callee 1) [(.block (.mk [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 2) [(.copy (.generated .binding 1))] true)))] false), [(1, .nat, (some 1)), (0, (.fn [.nat] .nat), (some 0))], rfl, rfl, - (Corr.applyF (ps := [.nat]) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 2)) (some (.fn 0)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 2) [(.copy (.generated .binding 1))] true)) (Corr.apply (ps := [.nat]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl)⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.copy (.generated .binding 0)))], (.call (.runtime .natAdd) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false), [(0, .nat, (some 0))], rfl, rfl, - (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | _ + 3 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R3.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R3.lean deleted file mode 100644 index 86bb391ee..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R3.lean +++ /dev/null @@ -1,48 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Production.Kernel -import Production.Main -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0], types := [.nat], result := .nat, - body := (.call 1 [(.var 0), (.value .nat (.nat 0))]) }, - { parameters := [0, 1], types := [.nat, .nat], result := .nat, - body := (.cond (.prim .natLt [(.var 0), (.value .nat (.nat 2))]) (.var 1) (.call 1 [(.prim .natSub [(.var 0), (.value .nat (.nat 2))]), (.prim .natAdd [(.var 1), (.value .nat (.nat 1))])])) }] } - -def __fits_1 (number : Nat) (steps : Nat) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (match (generalizing := false) __decrease0 : (Nat.blt number (2 : Nat)) with | true => Bool.true | false => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (steps + (1 : Nat)) 18446744073709551616)) && Bool.true)) && (__fits_1 ((Production.Kernel.LexLeanRuntime.subtract (number) ((2 : Nat)) : Nat)) ((steps + (1 : Nat))))))) -termination_by number -decreasing_by all_goals first | (have __evidence := Production.Kernel.countdown_decreases (number) (steps) (__decrease0); subst_vars; exact __evidence) - -theorem __rel_1 (number : Nat) (steps : Nat) : _root_.LexLeanPreservation.FunRel __prog 1 [(_root_.LexLeanTarget.TargetSyntax.Value.nat number), (_root_.LexLeanTarget.TargetSyntax.Value.nat steps)] (_root_.LexLeanPreservation.Rel (__fits_1 number steps) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Kernel.countdown number steps))) := by - rw [Production.Kernel.countdown.eq_def, __fits_1.eq_def] - exact _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (match (generalizing := false) __decrease0 : __b with | true => Bool.true | false => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (steps + (1 : Nat)) 18446744073709551616)) && Bool.true)) && (__fits_1 ((Production.Kernel.LexLeanRuntime.subtract (number) ((2 : Nat)) : Nat)) ((steps + (1 : Nat))))))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match (generalizing := false) __decrease0 : __b with | true => steps | false => (Production.Kernel.countdown ((Production.Kernel.LexLeanRuntime.subtract (number) ((2 : Nat)) : Nat)) ((steps + (1 : Nat)))))) (Nat.blt number (2 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt number (2 : Nat))) (fun __decrease0 => (_root_.LexLeanPreservation.conv_var rfl)) (fun __decrease0 => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub number (2 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd steps (1 : Nat))) _root_.LexLeanPreservation.convL_nil)) (__rel_1 ((Production.Kernel.LexLeanRuntime.subtract (number) ((2 : Nat)) : Nat)) ((steps + (1 : Nat))))))) -termination_by number -decreasing_by all_goals first | (have __evidence := Production.Kernel.countdown_decreases (number) (steps) (__decrease0); subst_vars; exact __evidence) - -def __fits_0 (number : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && (__fits_1 (number) ((0 : Nat)))) - -attribute [local irreducible] Production.Kernel.countdown in -theorem __rel_0 (number : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat number)] (_root_.LexLeanPreservation.Rel (__fits_0 number) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.halvings number))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (__rel_1 (number) ((0 : Nat)))) - -def denote (number : Nat) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 number) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.halvings number)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (number : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat number)] (_root_.LexLeanPreservation.Rel (__fits_0 number) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.halvings number))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 number) - -end LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3 diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R3/Compose/RustCore.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R3/Compose/RustCore.lean deleted file mode 100644 index 4bbf0dc02..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R3/Compose/RustCore.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3 -import LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustCore -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustCore - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (number : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat number)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.denote number) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat number)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat number) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.root number) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustCore diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R3/Compose/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R3/Compose/RustStd.lean deleted file mode 100644 index c456a30f5..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R3/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3 -import LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustStd - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (number : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat number)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.denote number) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat number)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat number) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.root number) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R3/RustCore.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R3/RustCore.lean deleted file mode 100644 index 117e29032..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R3/RustCore.lean +++ /dev/null @@ -1,41 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustCore -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0], types := [.nat], result := .nat, - body := (.call 1 [(.var 0), (.value .nat (.nat 0))]) }, - { parameters := [0, 1], types := [.nat, .nat], result := .nat, - body := (.cond (.prim .natLt [(.var 0), (.value .nat (.nat 2))]) (.var 1) (.call 1 [(.prim .natSub [(.var 0), (.value .nat (.nat 2))]), (.prim .natAdd [(.var 1), (.value .nat (.nat 1))])])) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .core, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [] (.call (.function 1) [(.copy (.generated .binding 0)), (.lit (.nat 0))] false))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false) (.mk [] (.succeed (.copy (.generated .binding 1)))) (.mk [] (.call (.function 1) [(.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))] (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)))] false)))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.copy (.generated .binding 0)), (.lit (.nat 0))] false), [(0, .nat, (some 0))], rfl, rfl, - (Corr.callF (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 2)))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false) (.mk [] (.succeed (.copy (.generated .binding 1)))) (.mk [] (.call (.function 1) [(.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))] (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)))] false))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 2)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.copy (.generated .binding 1)))) (lb := []) (tb := (.call (.function 1) [(.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))] (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)))] false)) (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl))) (Corr.callF (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl)))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | _ + 2 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustCore diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R3/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R3/RustStd.lean deleted file mode 100644 index fdb2d72aa..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R3/RustStd.lean +++ /dev/null @@ -1,41 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0], types := [.nat], result := .nat, - body := (.call 1 [(.var 0), (.value .nat (.nat 0))]) }, - { parameters := [0, 1], types := [.nat, .nat], result := .nat, - body := (.cond (.prim .natLt [(.var 0), (.value .nat (.nat 2))]) (.var 1) (.call 1 [(.prim .natSub [(.var 0), (.value .nat (.nat 2))]), (.prim .natAdd [(.var 1), (.value .nat (.nat 1))])])) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [] (.call (.function 1) [(.copy (.generated .binding 0)), (.lit (.nat 0))] false))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false) (.mk [] (.succeed (.copy (.generated .binding 1)))) (.mk [] (.call (.function 1) [(.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))] (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)))] false)))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.copy (.generated .binding 0)), (.lit (.nat 0))] false), [(0, .nat, (some 0))], rfl, rfl, - (Corr.callF (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 2)))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false) (.mk [] (.succeed (.copy (.generated .binding 1)))) (.mk [] (.call (.function 1) [(.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))] (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)))] false))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 1)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 2)) none (.lit (.nat 2)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 1)), (.move (.generated .operand 2))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.copy (.generated .binding 1)))) (lb := []) (tb := (.call (.function 1) [(.block (.mk [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))] (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false))), (.block (.mk [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)))] false)) (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl))) (Corr.callF (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 3)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 4)) none (.lit (.nat 2)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 3)), (.move (.generated .operand 4))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 5)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 6)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 5)), (.move (.generated .operand 6))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl)))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | _ + 2 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R4.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R4.lean deleted file mode 100644 index b16e2e485..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R4.lean +++ /dev/null @@ -1,45 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Production.Kernel -import Production.Main -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0], types := [(.list .nat)], result := .nat, - body := (.call 1 [(.var 0)]) }, - { parameters := [0], types := [(.list .nat)], result := .nat, - body := (.«match» .nat (.var 0) [(.arm .nil [] (.value .nat (.nat 0))), (.arm .cons [1, 2] (.prim .natAdd [(.var 1), (.call 1 [(.var 2)])]))]) }] } - -def __fits_1 : ∀ (values : (List Nat)), Bool - | (List.nil) => (Bool.true && Bool.true) - | (List.cons head tail) => (Bool.true && ((Bool.true && (((Bool.true && Bool.true) && (__fits_1 (tail))) && Bool.true)) && (Nat.blt (head + (Production.Kernel.total (tail))) 18446744073709551616))) - -theorem __rel_1 : ∀ (values : (List Nat)), _root_.LexLeanPreservation.FunRel __prog 1 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) values)] (_root_.LexLeanPreservation.Rel (__fits_1 values) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Kernel.total values))) - | (List.nil) => by rw [__fits_1.eq_def]; exact _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value)) - | (List.cons head tail) => by rw [__fits_1.eq_def]; exact _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_match (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (tail))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd head (Production.Kernel.total (tail))))))) - -def __fits_0 (values : (List Nat)) : Bool := - ((Bool.true && Bool.true) && (__fits_1 (values))) - -attribute [local irreducible] Production.Kernel.total in -theorem __rel_0 (values : (List Nat)) : _root_.LexLeanPreservation.FunRel __prog 0 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) values)] (_root_.LexLeanPreservation.Rel (__fits_0 values) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.sumAll values))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (values))) - -def denote (values : (List Nat)) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 values) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.sumAll values)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (values : (List Nat)) : _root_.LexLeanPreservation.RunConv __prog 0 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) values)] (_root_.LexLeanPreservation.Rel (__fits_0 values) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.sumAll values))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 values) - -end LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4 diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R4/Compose/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R4/Compose/RustStd.lean deleted file mode 100644 index dd611fd73..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R4/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4 -import LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.Compose.RustStd - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (values : (List Nat)) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) values)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.denote values) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) values)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList _root_.LexLeanPreservation.Rust.wt_nat) values) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.root values) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.Compose.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R4/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R4/RustStd.lean deleted file mode 100644 index 9d32444ac..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R4/RustStd.lean +++ /dev/null @@ -1,41 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0], types := [(.list .nat)], result := .nat, - body := (.call 1 [(.var 0)]) }, - { parameters := [0], types := [(.list .nat)], result := .nat, - body := (.«match» .nat (.var 0) [(.arm .nil [] (.value .nat (.nat 0))), (.arm .cons [1, 2] (.prim .natAdd [(.var 1), (.call 1 [(.var 2)])]))]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }] (.fallible .nat) (.mk [] (.call (.function 1) [(.move (.generated .binding 0))] false))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 1)) [(.mk .none (.mk [] (.succeed (.lit (.nat 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.call (.function 1) [(.move (.generated .binding 2))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] false)))])))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.move (.generated .binding 0))] false), [(0, (.list .nat), (some 0))], rfl, rfl, - (Corr.callF (ts := [(.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 1)) [(.mk .none (.mk [] (.succeed (.lit (.nat 0))))), (.mk (.some (.tuple [(.bind (.generated .binding 1)), (.bind (.generated .binding 2))])) (.mk [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.call (.function 1) [(.move (.generated .binding 2))] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] false)))]), [(0, (.list .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 0)))) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .operand 2)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 3)) none (.call (.function 1) [(.move (.generated .binding 2))] true))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 2)), (.move (.generated .operand 3))] false)) (Corr.mNil) rfl rfl rfl (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | _ + 2 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R5.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R5.lean deleted file mode 100644 index 44c7b0391..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R5.lean +++ /dev/null @@ -1,43 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Production.Kernel -import Production.Main -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0], types := [(.list .nat)], result := .nat, - body := (.call 1 [(.var 0), (.value .nat (.nat 0))]) }, - { parameters := [0, 1], types := [(.list .nat), .nat], result := .nat, - body := (.«match» .nat (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.var 2))]) }] } - -def __fits_1 (values : (List Nat)) (fallback : Nat) : Bool := - (Bool.true && ((fun (Item : Type) (__a : (List Item)) (__k0 : Bool) (__k1 : ∀ (head : Item) (tail : (List Item)), Bool) => (match __a with | List.nil => __k0 | List.cons head tail => __k1 head tail : Bool)) Nat values (Bool.true) (fun (head : Nat) (tail : (List Nat)) => Bool.true))) - -theorem __rel_1 (values : (List Nat)) (fallback : Nat) : _root_.LexLeanPreservation.FunRel __prog 1 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) values), (_root_.LexLeanTarget.TargetSyntax.Value.nat fallback)] (_root_.LexLeanPreservation.Rel (__fits_1 values fallback) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Kernel.firstOr Nat values fallback))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (List Nat)) => ((fun (Item : Type) (__a : (List Item)) (__k0 : Bool) (__k1 : ∀ (head : Item) (tail : (List Item)), Bool) => (match __a with | List.nil => __k0 | List.cons head tail => __k1 head tail : Bool)) Nat __a (Bool.true) (fun (head : Nat) (tail : (List Nat)) => Bool.true))) (fun (__a : (List Nat)) => _root_.LexLeanTarget.TargetSyntax.Value.nat ((fun (Item : Type) (__a : (List Item)) (__k0 : Nat) (__k1 : ∀ (head : Item) (tail : (List Item)), Nat) => (match __a with | List.nil => __k0 | List.cons head tail => __k1 head tail : Nat)) Nat __a (fallback) (fun (head : Nat) (tail : (List Nat)) => head))) values (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (List Nat)) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | List.cons head tail => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl))))) - -def __fits_0 (values : (List Nat)) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && (__fits_1 (values) ((0 : Nat)))) - -attribute [local irreducible] Production.Kernel.firstOr in -theorem __rel_0 (values : (List Nat)) : _root_.LexLeanPreservation.FunRel __prog 0 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) values)] (_root_.LexLeanPreservation.Rel (__fits_0 values) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.headOr values))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (__rel_1 (values) ((0 : Nat)))) - -def denote (values : (List Nat)) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 values) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.headOr values)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (values : (List Nat)) : _root_.LexLeanPreservation.RunConv __prog 0 [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) values)] (_root_.LexLeanPreservation.Rel (__fits_0 values) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Production.Main.headOr values))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 values) - -end LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5 diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R5/Compose/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R5/Compose/RustStd.lean deleted file mode 100644 index 5bd237e5e..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R5/Compose/RustStd.lean +++ /dev/null @@ -1,16 +0,0 @@ -import LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5 -import LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.Compose.RustStd - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (values : (List Nat)) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) values)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.false (_root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.denote values) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) values)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList _root_.LexLeanPreservation.Rust.wt_nat) values) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.root values) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.Compose.RustStd diff --git a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R5/RustStd.lean b/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R5/RustStd.lean deleted file mode 100644 index e0bbba034..000000000 --- a/examples/production/expected/verify/preserve/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R5/RustStd.lean +++ /dev/null @@ -1,41 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [], functions := [ - { parameters := [0], types := [(.list .nat)], result := .nat, - body := (.call 1 [(.var 0), (.value .nat (.nat 0))]) }, - { parameters := [0, 1], types := [(.list .nat), .nat], result := .nat, - body := (.«match» .nat (.var 0) [(.arm .nil [] (.var 1)), (.arm .cons [2, 3] (.var 2))]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }] .nat (.mk [] (.call (.function 1) [(.move (.generated .binding 0)), (.lit (.nat 0))] false))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.list .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .nat (.mk [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 1)) [(.mk .none (.mk [] (.copy (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), .wild])) (.mk [] (.copy (.generated .binding 2))))])))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 1) [(.move (.generated .binding 0)), (.lit (.nat 0))] false), [(0, (.list .nat), (some 0))], rfl, rfl, - (Corr.callOps (ts := [(.list .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 1)) [(.mk .none (.mk [] (.copy (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), .wild])) (.mk [] (.copy (.generated .binding 2))))]), [(1, .nat, (some 1)), (0, (.list .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.copy (.generated .binding 1))) (Corr.mCons (Γ' := [(3, (.list .nat), none), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, (.list .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.copy (.generated .binding 2))) (Corr.mNil) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | _ + 2 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.RustStd diff --git a/examples/production/expected/verify/preserve/audit.txt b/examples/production/expected/verify/preserve/audit.txt index 4f1a7e591..c8a5eedcd 100644 --- a/examples/production/expected/verify/preserve/audit.txt +++ b/examples/production/expected/verify/preserve/audit.txt @@ -263,10 +263,10 @@ 'LexLeanPreservation.prim_utf8Decode.match_1_1' does not depend on any axioms 'LexLeanPreservation.prim_utf8Decode' depends on axioms: [propext, Classical.choice, Quot.sound] 'LexLeanPreservation.prim_utf8Encode' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanTarget.TargetSemantics.LexLeanRuntime.compareBytes.eq_1' depends on axioms: [propext] -'LexLeanTarget.TargetSemantics.LexLeanRuntime.equal.eq_1' does not depend on any axioms -'LexLeanTarget.TargetSemantics.LexLeanRuntime.length.eq_1' does not depend on any axioms -'LexLeanTarget.TargetSemantics.LexLeanRuntime.slice.eq_1' does not depend on any axioms +'LexLeanRuntime.compareBytes.eq_1' depends on axioms: [propext] +'LexLeanRuntime.equal.eq_1' does not depend on any axioms +'LexLeanRuntime.length.eq_1' does not depend on any axioms +'LexLeanRuntime.slice.eq_1' does not depend on any axioms 'LexLeanTarget.TargetSemantics.fromOrdering.eq_1' depends on axioms: [propext] 'LexLeanPreservation.checkedMultiplyWith.match_1' does not depend on any axioms 'LexLeanPreservation.checkedMultiplyWith' does not depend on any axioms @@ -639,15 +639,15 @@ 'LexLeanPreservation.keySpec_u64' depends on axioms: [propext, Classical.choice, Quot.sound] 'LexLeanTarget.TargetSemantics.orderU8.eq_1' does not depend on any axioms 'LexLeanPreservation.keySpec_u8' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes._sparseCasesOn_1.else_eq' depends on axioms: [propext] -'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_1' depends on axioms: [propext] -'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_2' depends on axioms: [propext] -'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_3' depends on axioms: [propext] -'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_4' depends on axioms: [propext] -'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_def' depends on axioms: [propext] -'LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_1' does not depend on any axioms -'LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_2' does not depend on any axioms -'LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_def' does not depend on any axioms +'LexLeanCollections.compareCodes._sparseCasesOn_1.else_eq' depends on axioms: [propext] +'LexLeanCollections.compareCodes.eq_1' depends on axioms: [propext] +'LexLeanCollections.compareCodes.eq_2' depends on axioms: [propext] +'LexLeanCollections.compareCodes.eq_3' depends on axioms: [propext] +'LexLeanCollections.compareCodes.eq_4' depends on axioms: [propext] +'LexLeanCollections.compareCodes.eq_def' depends on axioms: [propext] +'LexLeanCollections.insertEntry.eq_1' does not depend on any axioms +'LexLeanCollections.insertEntry.eq_2' does not depend on any axioms +'LexLeanCollections.insertEntry.eq_def' does not depend on any axioms 'LexLeanTarget.TargetSemantics.compareValue.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound] 'LexLeanTarget.TargetSemantics.compareValue.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound] 'LexLeanTarget.TargetSemantics.compareValue.eq_100' depends on axioms: [propext, Classical.choice, Quot.sound] @@ -1443,7 +1443,6 @@ 'LexLeanPreservation.Rust.tysBeq._unsafe_rec' depends on axioms: [propext] 'LexLeanPreservation.Rust.tyBeq._unsafe_rec' depends on axioms: [propext] 'LexLeanPreservation.Rust.tysBeq._sunfold' depends on axioms: [propext] -'LexLeanTarget.RustSemantics.LexLeanRuntime.equal.eq_1' does not depend on any axioms 'LexLeanTarget.RustSemantics.eval.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound] 'LexLeanTarget.RustSemantics.eval.eq_17' depends on axioms: [propext, Classical.choice, Quot.sound] 'LexLeanTarget.RustSemantics.eval.eq_18' depends on axioms: [propext, Classical.choice, Quot.sound] @@ -7738,70 +7737,70 @@ 'LexLeanPreservation.encOption.eq_2' does not depend on any axioms 'LexLeanPreservation.encPair.eq_1' does not depend on any axioms 'LexLeanPreservation.encUnit.eq_1' does not depend on any axioms -'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -- statement vocabulary @@ -7820,7 +7819,7 @@ def LexLeanPreservation.FunRel : LexLeanTarget.TargetSyntax.Program → Nat → List LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs → Prop := fun p f args o => ∃ fn, - LexLeanTarget.TargetSemantics.LexLeanRuntime.index p.functions f = some fn ∧ + LexLeanRuntime.index p.functions f = some fn ∧ ∃ env, LexLeanTarget.TargetSemantics.bindAll fn.parameters args [] = some env ∧ LexLeanPreservation.Conv p env fn.body o @@ -7871,7 +7870,7 @@ def LexLeanPreservation.Rust.FunSem : LexLeanTarget.TargetSyntax.Program → fun p c A n f => ∀ (fn : LexLeanTarget.TargetSyntax.Function) (args : List LexLeanTarget.TargetSyntax.Value) (env : List (Nat × LexLeanTarget.TargetSyntax.Value)) (F : Bool), - LexLeanTarget.TargetSemantics.LexLeanRuntime.index p.functions f = some fn → + LexLeanRuntime.index p.functions f = some fn → LexLeanPreservation.Rust.WTL p c A args fn.types → LexLeanTarget.TargetSemantics.bindAll fn.parameters args [] = some env → LexLeanPreservation.Rust.fnFallible c f = some F → diff --git a/examples/production/expected/verify/preserve/preservation.json b/examples/production/expected/verify/preserve/preservation.json index d196cf875..ec310d697 100644 --- a/examples/production/expected/verify/preserve/preservation.json +++ b/examples/production/expected/verify/preserve/preservation.json @@ -1 +1 @@ -{"library":{"axioms":["Classical.choice","Quot.sound","propext"],"registry_sha256":"9b759e47541781eb530e49000bac2c0f22fbcda44821350a66b1d27936daa54f"},"roots":[{"byte_length":2450,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0","program":{"byte_length":338,"sha256":"938b367cd5b23f8fb66adc8d4520333ff0e34954395668d2e3b072af86ad3216"},"renderings":[{"byte_length":2119,"composed":{"byte_length":1733,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustCore","sha256":"c78b87aacf8304b6979bb7864b3ded132a96c1b7b7154a6f405d7ba35f471180","theorem":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustCore.root"},"crate":{"byte_length":3976,"sha256":"a9ae0afab91c841fada5f7d20ccfe8a41dfc2ca90b5b46dab280d5cd17d1385f"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustCore","sha256":"a1b0ac755716271644de0d8556af04b08ceb8826a4c6b48fd6987f88823158d7","target":"rust-core","theorem":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustCore.root"},{"byte_length":2116,"composed":{"byte_length":1728,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustStd","sha256":"3fe31fbd8fbeb5a54bfc56ac692e98fb62d5b57fbca422f842b3c61831fe3927","theorem":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustStd.root"},"crate":{"byte_length":12894,"sha256":"9b5d12145ec61a1e7c8b36c9ae4a493ad5897ccaf7c764cbf360f4e9a6cea8e6"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustStd","sha256":"827ea9eed244a2d248cc1652b040d591c25eedeec39f097968886673896dd72a","target":"rust-std","theorem":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustStd.root"}],"root":"Production.Main.checkedSum","sha256":"12001e90fccb4f09b7c3efa74b0850608b31fb0a8cb22c89950230965a36dfe4","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.root"},{"byte_length":6715,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1","program":{"byte_length":1055,"sha256":"f21fc970908e57448e4db7c06bf2b57fee84f4b8734cbbf1ac327c6ee4ab6215"},"renderings":[{"byte_length":6377,"composed":{"byte_length":2667,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustCore","sha256":"1735f7af8bb1799f63e74b5f09c64bc44535be36585d309326615291d1668a0d","theorem":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustCore.root"},"crate":{"byte_length":4405,"sha256":"ca17d7510141e6e1b02dccc85a256a77785a5103f5a826747ea80ab9c1fb86bd"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustCore","sha256":"21184cbed9f78f0a21898a7f4daae48fa2e1b62083481a35ed65577c21cf7c0c","target":"rust-core","theorem":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustCore.root"},{"byte_length":6374,"composed":{"byte_length":2659,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustStd","sha256":"4265459186bf31e17b6850ced7199d96b3ee5dc0cff55c7a99bab9cc13248442","theorem":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustStd.root"},"crate":{"byte_length":13323,"sha256":"513d47124349518781071d810b7d6ee6eda7aad8ae16d6d0fb34990f19bb55f7"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustStd","sha256":"f40e5256090efd0cff4ea72c16c7e8a41e51fcb4931df5fa1047c64266a091f0","target":"rust-std","theorem":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustStd.root"}],"root":"Production.Main.shapeArea","sha256":"459fc520560e108378ea8f00ab8437fffa54b50f34892f9b6f9b289bfbd5ded8","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.root"},{"byte_length":4754,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2","program":{"byte_length":725,"sha256":"6853b4945864259f1da2a6fc5277607d3e4c3c725d8be3dfd7cd38000ab16928"},"renderings":[{"byte_length":4438,"composed":{"byte_length":1510,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustCore","sha256":"d6a47573be650b337c627103a32a915d270fcc4676cf99026d23065fc3c36278","theorem":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustCore.root"},"crate":{"byte_length":4314,"sha256":"8a91ac04eaa493de8edac523d3ac4a799351d7a2b214f2eb1badeb0ac9fbdfa8"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustCore","sha256":"24e01fb7cf4cf7b469545b3a1345287e4653c82290603e907b51441cbe3df11f","target":"rust-core","theorem":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustCore.root"},{"byte_length":4435,"composed":{"byte_length":1505,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustStd","sha256":"38c2910e2cf9340b27cfb65a446aaca6c58137194f7e74bd7b09ff2448dc05cc","theorem":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustStd.root"},"crate":{"byte_length":13232,"sha256":"60e3d73c22b61aae4921ed8290cc78aa71cefc726f1d940ccac0d9daa1da7b37"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustStd","sha256":"a3c9c09af80064a4f10f2c12a6761e45401427d5c1823c6dd60cda6fd4992d57","target":"rust-std","theorem":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustStd.root"}],"root":"Production.Main.quadruple","sha256":"8cccc301ac8a556265ae9f43b652fcd664f261b02eba8bec4f6db429fd4d250e","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.root"},{"byte_length":5673,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3","program":{"byte_length":962,"sha256":"4e73456e09ab92d80df1297c17a2a129e17822ff1c88cc30ec946ac7b5d21df3"},"renderings":[{"byte_length":5904,"composed":{"byte_length":1516,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustCore","sha256":"871b603ce90306d362fdf3de469278648b3fd6824d196f22ff26be3845d1c7cc","theorem":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustCore.root"},"crate":{"byte_length":4245,"sha256":"5d0c2369b0094a573935f6f3e8ec55ee8377e2716cdf91f69eafbdccfd576350"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustCore","sha256":"7b32b07b3ed93ad40cfaec8ca01e9b9431451abac883151bd58c3d2fb6a68c67","target":"rust-core","theorem":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustCore.root"},{"byte_length":5901,"composed":{"byte_length":1511,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustStd","sha256":"810b9d8ddffc7bd574b07cee1c0d688278a992a10a5275629efced7406b84d33","theorem":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustStd.root"},"crate":{"byte_length":13163,"sha256":"0e3de250af7f0d8ab8b78cf05b26a348482821e96656854d81acde5d0045176d"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustStd","sha256":"d92697eecb4aef7760da2e06f0301ce2bb9ff5bca10aae0f65b707d849ac9f7f","target":"rust-std","theorem":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustStd.root"}],"root":"Production.Main.halvings","sha256":"33c99486c9a0974d6211e6ce7406d2e908397223af88ef3b334adb7a6ee7b461","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.root"},{"byte_length":3911,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4","program":{"byte_length":730,"sha256":"8ff4684c89e1a22e97417561a676319cab5351c711d244d980c53acc6160e821"},"renderings":[{"byte_length":4099,"composed":{"byte_length":1637,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.Compose.RustStd","sha256":"c477ff7190ceecadc5da72c5f84f19a12b3e253ae14d97adffb47398967bf2a3","theorem":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.Compose.RustStd.root"},"crate":{"byte_length":13085,"sha256":"83b2d122dec85436570c0f5b42cf87a311265a21df42e733c2f90555a4797e2e"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.RustStd","sha256":"1299e80be57e086afb28b0a1340b846f016c62e962dacfc89225fc7087dc06b1","target":"rust-std","theorem":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.RustStd.root"}],"root":"Production.Main.sumAll","sha256":"40bf1b7cff48c5716911665b818cdf0b6e4246c0b72b53bab647329772c20991","targets":["rust-std"],"theorem":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.root"},{"byte_length":4321,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5","program":{"byte_length":645,"sha256":"fd195b2e7a605141c794aa55f45159309d1e64be3c91ea5076f013e04dd08ec8"},"renderings":[{"byte_length":3226,"composed":{"byte_length":1638,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.Compose.RustStd","sha256":"dfde90e75edb311daeaca45f98d625528c30c312a76fe3e7fc83b86a98c653ad","theorem":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.Compose.RustStd.root"},"crate":{"byte_length":13019,"sha256":"0d6a4f61233b7dba3058013d7ce78e556bdbb28e9cd31915fdf5c2be8bcca08a"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.RustStd","sha256":"d12e881b3bad91d55c833e6595d72961c5ff08fe36c984922336cdf7e2f9f64f","target":"rust-std","theorem":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.RustStd.root"}],"root":"Production.Main.headOr","sha256":"18aca5388a79dcd2ce1793c6488aa9ad17181c8cdbdd67a33cda6000c7dcb037","targets":["rust-std"],"theorem":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.root"}],"spec":"lexlean/preservation/1"} +{"library":{"axioms":["Classical.choice","Quot.sound","propext"],"registry_sha256":"02de6e4be5a6ae43997bacd3713ea587693b8ac66da4aef567463a535a076ff3"},"roots":[{"byte_length":2450,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0","program":{"byte_length":338,"sha256":"938b367cd5b23f8fb66adc8d4520333ff0e34954395668d2e3b072af86ad3216"},"renderings":[{"byte_length":2119,"composed":{"byte_length":1733,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustCore","sha256":"e373d556428207bb1891be23f5d7ea052f9497e92b699f969db11d7369688025","theorem":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustCore.root"},"crate":{"byte_length":3976,"sha256":"a9ae0afab91c841fada5f7d20ccfe8a41dfc2ca90b5b46dab280d5cd17d1385f"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustCore","sha256":"14a26438958082a96ded1d7dbee0a66037aa705667e5f9c99999b107e79a2e42","target":"rust-core","theorem":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustCore.root"},{"byte_length":2116,"composed":{"byte_length":1728,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustStd","sha256":"54cda803108f9d8c9c854c9307fe793b48e3654e50e2e10df6f6e2f2cd02ac4a","theorem":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustStd.root"},"crate":{"byte_length":12894,"sha256":"9b5d12145ec61a1e7c8b36c9ae4a493ad5897ccaf7c764cbf360f4e9a6cea8e6"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustStd","sha256":"7d749fc69518af9310e4e782b63fa2a93029a13b0648a570f92db2fc2b688d1d","target":"rust-std","theorem":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustStd.root"}],"root":"Production.Main.checkedSum","sha256":"6c55e2228d313464b20953af4851d8ae28da339ef309eb22938555cbf003316e","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.root"},{"byte_length":6583,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1","program":{"byte_length":1055,"sha256":"f21fc970908e57448e4db7c06bf2b57fee84f4b8734cbbf1ac327c6ee4ab6215"},"renderings":[{"byte_length":6377,"composed":{"byte_length":2667,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustCore","sha256":"27b6f5db9ebb35746d4f973caf2f181c27f08a3ca8a4bf595712546ba57a6a6e","theorem":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustCore.root"},"crate":{"byte_length":4405,"sha256":"ca17d7510141e6e1b02dccc85a256a77785a5103f5a826747ea80ab9c1fb86bd"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustCore","sha256":"8c0fa06a2268078bf2850b4671ad79ce98867f97771f702e05a2c1d4f4835e4a","target":"rust-core","theorem":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustCore.root"},{"byte_length":6374,"composed":{"byte_length":2659,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustStd","sha256":"4d230a69a2bc3a613391c53a20e85ba129e887b0ebde7e485959694cc1a2bcea","theorem":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustStd.root"},"crate":{"byte_length":13323,"sha256":"513d47124349518781071d810b7d6ee6eda7aad8ae16d6d0fb34990f19bb55f7"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustStd","sha256":"d68cbf566f5e1af6cfeae857ba1bf53860c628df09a61e4106fd50cf4416a414","target":"rust-std","theorem":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustStd.root"}],"root":"Production.Main.shapeArea","sha256":"e978b927f41bbf7db645876a9d7fcab75f305fba377583143f3025d8276530c9","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.root"},{"byte_length":4724,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2","program":{"byte_length":725,"sha256":"6853b4945864259f1da2a6fc5277607d3e4c3c725d8be3dfd7cd38000ab16928"},"renderings":[{"byte_length":4438,"composed":{"byte_length":1510,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustCore","sha256":"49a7a1815199672c059daa5e71c2c582c086f9378b816e862613272169d0f38f","theorem":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustCore.root"},"crate":{"byte_length":4314,"sha256":"8a91ac04eaa493de8edac523d3ac4a799351d7a2b214f2eb1badeb0ac9fbdfa8"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustCore","sha256":"ea8bbe89e15fde0123cf472007499b423f6ea6b17f121398c7b17d4532bd6265","target":"rust-core","theorem":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustCore.root"},{"byte_length":4435,"composed":{"byte_length":1505,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustStd","sha256":"ae50b55c155fa7ba209baa5c433d9d68be6e11fa5015b0e397a163ad8afcce4f","theorem":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustStd.root"},"crate":{"byte_length":13232,"sha256":"60e3d73c22b61aae4921ed8290cc78aa71cefc726f1d940ccac0d9daa1da7b37"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustStd","sha256":"be560520a8fa6d814afd3f05d73f71291174aa9327166b2fa761a844d6ea1afd","target":"rust-std","theorem":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustStd.root"}],"root":"Production.Main.quadruple","sha256":"4a7ce94a65e67e81fccb8e99fb11f8f323410cac5b1ab8bf65bd7b15d300456b","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.root"},{"byte_length":5629,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3","program":{"byte_length":962,"sha256":"4e73456e09ab92d80df1297c17a2a129e17822ff1c88cc30ec946ac7b5d21df3"},"renderings":[{"byte_length":5904,"composed":{"byte_length":1516,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustCore","sha256":"a1d400001f5479a506d9eed187be6cff1b497acafc6b07d0176460b1db6248fc","theorem":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustCore.root"},"crate":{"byte_length":4245,"sha256":"5d0c2369b0094a573935f6f3e8ec55ee8377e2716cdf91f69eafbdccfd576350"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustCore","sha256":"f0487a6fe5eaf6da8fa3edf372d35372d599c7366f5c00b60776b7d55ff5ce46","target":"rust-core","theorem":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustCore.root"},{"byte_length":5901,"composed":{"byte_length":1511,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustStd","sha256":"0d35aa3161fe734e0976e41be603e4a1f5e33b491a8ccecb037fed5ffca4ecaa","theorem":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustStd.root"},"crate":{"byte_length":13163,"sha256":"0e3de250af7f0d8ab8b78cf05b26a348482821e96656854d81acde5d0045176d"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustStd","sha256":"9f44d09661a3291483cacc7006ef5f6795c989e2a8e30eacd6e6b7993241ac17","target":"rust-std","theorem":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustStd.root"}],"root":"Production.Main.halvings","sha256":"e88c5818e6a994d16483cf1236fbedcc494bc361f229efeeae7b876948daf166","targets":["rust-core","rust-std"],"theorem":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.root"},{"byte_length":3911,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4","program":{"byte_length":730,"sha256":"8ff4684c89e1a22e97417561a676319cab5351c711d244d980c53acc6160e821"},"renderings":[{"byte_length":4099,"composed":{"byte_length":1637,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.Compose.RustStd","sha256":"f64864ec8f0b165392884a5daa7cf20d520a74e8a98befd68a52a1f8d380031c","theorem":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.Compose.RustStd.root"},"crate":{"byte_length":13085,"sha256":"83b2d122dec85436570c0f5b42cf87a311265a21df42e733c2f90555a4797e2e"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.RustStd","sha256":"3692515d6c7ec33cde6b90975f4f40330707d364ea4acb5b4e76becd488275ba","target":"rust-std","theorem":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.RustStd.root"}],"root":"Production.Main.sumAll","sha256":"b62f7eb003ed93035f81bae37e40cab37a134bc21b2557821349d7fa69134850","targets":["rust-std"],"theorem":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.root"},{"byte_length":4321,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5","program":{"byte_length":645,"sha256":"fd195b2e7a605141c794aa55f45159309d1e64be3c91ea5076f013e04dd08ec8"},"renderings":[{"byte_length":3226,"composed":{"byte_length":1638,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.Compose.RustStd","sha256":"28739d65a57551446d73dd1e8aea5b1cffd57780513d62715218cd5e7b00c592","theorem":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.Compose.RustStd.root"},"crate":{"byte_length":13019,"sha256":"0d6a4f61233b7dba3058013d7ce78e556bdbb28e9cd31915fdf5c2be8bcca08a"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.RustStd","sha256":"3e55dd39c2e86e16b11c48b8839c5afa28ea5cc22a2b5e9d4575f062ecfbee11","target":"rust-std","theorem":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.RustStd.root"}],"root":"Production.Main.headOr","sha256":"43faffef65a8808961a56a1fb1c69f35173c5f48e21e98c9177aadf454eff368","targets":["rust-std"],"theorem":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.root"}],"spec":"lexlean/preservation/1"} diff --git a/examples/production/expected/verify/probe/LexLeanProbe.P7b8829e2cc52192864282f3d66903769.lean b/examples/production/expected/verify/probe/LexLeanProbe.P0873d7adc0406a004403264fdb2d9dea.lean similarity index 100% rename from examples/production/expected/verify/probe/LexLeanProbe.P7b8829e2cc52192864282f3d66903769.lean rename to examples/production/expected/verify/probe/LexLeanProbe.P0873d7adc0406a004403264fdb2d9dea.lean diff --git a/examples/production/expected/verify/probe/process.json b/examples/production/expected/verify/probe/process.json index cbb900d61..33d3574b7 100644 --- a/examples/production/expected/verify/probe/process.json +++ b/examples/production/expected/verify/probe/process.json @@ -1 +1 @@ -{"argv":["env","lean","$STAGING/probe/LexLeanProbe.P7b8829e2cc52192864282f3d66903769.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.P7b8829e2cc52192864282f3d66903769","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} +{"argv":["env","lean","$STAGING/probe/LexLeanProbe.P0873d7adc0406a004403264fdb2d9dea.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.P0873d7adc0406a004403264fdb2d9dea","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/lean/LexLeanRuntime.Collections.json b/examples/production/expected/verify/process/lean/LexLeanRuntime.Collections.json new file mode 100644 index 000000000..75248f178 --- /dev/null +++ b/examples/production/expected/verify/process/lean/LexLeanRuntime.Collections.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/lean-src","-o","$STAGING/oleans/LexLeanRuntime/Collections.olean","$STAGING/lean-src/LexLeanRuntime/Collections.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Collections","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/lean/LexLeanRuntime.Portable.json b/examples/production/expected/verify/process/lean/LexLeanRuntime.Portable.json new file mode 100644 index 000000000..1ce5b3a39 --- /dev/null +++ b/examples/production/expected/verify/process/lean/LexLeanRuntime.Portable.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/lean-src","-o","$STAGING/oleans/LexLeanRuntime/Portable.olean","$STAGING/lean-src/LexLeanRuntime/Portable.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Portable","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustCore.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustCore.json new file mode 100644 index 000000000..53435a362 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustStd.json new file mode 100644 index 000000000..504d49189 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustCore.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustCore.json new file mode 100644 index 000000000..8d35acb12 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustStd.json new file mode 100644 index 000000000..ea5c5b813 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.json new file mode 100644 index 000000000..bacfe26b8 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustCore.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustCore.json new file mode 100644 index 000000000..8040bfc06 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustStd.json new file mode 100644 index 000000000..7ecb594ff --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustCore.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustCore.json new file mode 100644 index 000000000..6bfb41069 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustStd.json new file mode 100644 index 000000000..030652eb8 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.json new file mode 100644 index 000000000..ca426a556 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustCore.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustCore.json new file mode 100644 index 000000000..fe3d37b06 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustStd.json new file mode 100644 index 000000000..7d8f0666e --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustCore.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustCore.json new file mode 100644 index 000000000..2c3fbd77f --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustStd.json new file mode 100644 index 000000000..3360d5467 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.json new file mode 100644 index 000000000..102eb11c8 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustCore.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustCore.json new file mode 100644 index 000000000..04867849f --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustStd.json new file mode 100644 index 000000000..e2ec0120b --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustCore.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustCore.json new file mode 100644 index 000000000..f24df2f51 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustStd.json new file mode 100644 index 000000000..73d6a9b84 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.json new file mode 100644 index 000000000..1f86c12ef --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.Compose.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.Compose.RustStd.json new file mode 100644 index 000000000..48e8fb08f --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.RustStd.json new file mode 100644 index 000000000..aab094583 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.json new file mode 100644 index 000000000..20ac084b5 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.Compose.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.Compose.RustStd.json new file mode 100644 index 000000000..d1107285c --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.RustStd.json new file mode 100644 index 000000000..9fa954dd8 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.json new file mode 100644 index 000000000..ca2ce69bd --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustCore.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustCore.json deleted file mode 100644 index b2a794f26..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustStd.json deleted file mode 100644 index 0993cac3b..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustCore.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustCore.json deleted file mode 100644 index c1bd8cf84..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustStd.json deleted file mode 100644 index fa1d7e9f0..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.json deleted file mode 100644 index 62c9dec4a..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustCore.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustCore.json deleted file mode 100644 index 19bfa43d3..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustStd.json deleted file mode 100644 index 426269430..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustCore.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustCore.json deleted file mode 100644 index 46851986c..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustStd.json deleted file mode 100644 index d7528d35b..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.json deleted file mode 100644 index 87f6ea2d5..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustCore.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustCore.json deleted file mode 100644 index bfdf74362..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustStd.json deleted file mode 100644 index f3b539fec..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustCore.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustCore.json deleted file mode 100644 index 579d54478..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustStd.json deleted file mode 100644 index d2da08c2b..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.json deleted file mode 100644 index c7a1583f1..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustCore.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustCore.json deleted file mode 100644 index 59a5972a8..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustStd.json deleted file mode 100644 index eb6763256..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustCore.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustCore.json deleted file mode 100644 index 00ff36d08..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustStd.json deleted file mode 100644 index 37d4b2cd1..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.json deleted file mode 100644 index f3d570282..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.Compose.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.Compose.RustStd.json deleted file mode 100644 index aa5521846..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.RustStd.json deleted file mode 100644 index 0444d8a3f..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.json deleted file mode 100644 index 669d5c777..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.Compose.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.Compose.RustStd.json deleted file mode 100644 index 19f4c7fbb..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.RustStd.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.RustStd.json deleted file mode 100644 index 2c5f44c2a..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.json b/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.json deleted file mode 100644 index 676f7b47a..000000000 --- a/examples/production/expected/verify/process/leanchecker/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanRuntime.Collections.json b/examples/production/expected/verify/process/leanchecker/LexLeanRuntime.Collections.json new file mode 100644 index 000000000..52662ef9b --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanRuntime.Collections.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanRuntime.Collections"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Collections","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/leanchecker/LexLeanRuntime.Portable.json b/examples/production/expected/verify/process/leanchecker/LexLeanRuntime.Portable.json new file mode 100644 index 000000000..826a4b876 --- /dev/null +++ b/examples/production/expected/verify/process/leanchecker/LexLeanRuntime.Portable.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanRuntime.Portable"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Portable","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.Audit.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.Audit.json index 74eaa40bf..c88638284 100644 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.Audit.json +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.Audit.json @@ -1 +1 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","$STAGING/preserve-src/LexLeanPreserve/Audit.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Audit","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanPreservation.Obs' does not depend on any axioms\n'LexLeanPreservation.obs.match_1' does not depend on any axioms\n'LexLeanPreservation.obs' does not depend on any axioms\n'LexLeanPreservation.Conv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ConvA' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ObsL' does not depend on any axioms\n'LexLeanPreservation.obsL.match_1' does not depend on any axioms\n'LexLeanPreservation.obsL' does not depend on any axioms\n'LexLeanPreservation.ConvL' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.FunRel' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Obs._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.Obs._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.Obs.casesOn' does not depend on any axioms\n'LexLeanPreservation.Obs.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.Obs.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Obs.ctorElim' does not depend on any axioms\n'LexLeanPreservation.Obs.overflow.elim' does not depend on any axioms\n'LexLeanPreservation.Obs.stuck.elim' does not depend on any axioms\n'LexLeanPreservation.Obs.value.elim' does not depend on any axioms\n'LexLeanPreservation.Obs.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.Obs.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Obs.overflow.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Obs.recOn' does not depend on any axioms\n'LexLeanPreservation.Obs.stuck.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Obs.value.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Obs.value.inj' does not depend on any axioms\n'LexLeanPreservation.Obs.value.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Obs.value.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ObsL._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.ObsL._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.ObsL.casesOn' does not depend on any axioms\n'LexLeanPreservation.ObsL.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.ObsL.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.ObsL.ctorElim' does not depend on any axioms\n'LexLeanPreservation.ObsL.overflow.elim' does not depend on any axioms\n'LexLeanPreservation.ObsL.stuck.elim' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.elim' does not depend on any axioms\n'LexLeanPreservation.ObsL.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.ObsL.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ObsL.overflow.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ObsL.recOn' does not depend on any axioms\n'LexLeanPreservation.ObsL.stuck.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.inj' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.injEq' depends on axioms: [propext]\n'LexLeanPreservation.ObsL.values.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rel' does not depend on any axioms\n'LexLeanPreservation.Rel.eq_1' does not depend on any axioms\n'LexLeanPreservation.RelL' does not depend on any axioms\n'LexLeanPreservation.RelL.eq_1' does not depend on any axioms\n'LexLeanPreservation.RunConv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.addSteps_ne' does not depend on any axioms\n'LexLeanPreservation.chargeResult_ne' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.stable.match_1_16' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_18' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_20' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_22' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_24' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_26' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.eval.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.stable' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.evalArms_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs_ne' does not depend on any axioms\n'LexLeanPreservation.convA_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.eval_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs_addSteps' does not depend on any axioms\n'LexLeanPreservation.convA_hit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.convA_miss' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.evalList_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obsL_ne' does not depend on any axioms\n'LexLeanPreservation.convL_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.convL_cons._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.convL_cons._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.convL_cons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.convL_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_apply._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_apply._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_apply._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_apply' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_build' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_call._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_call._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_call' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_closure' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_cond._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_cond._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_field' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_first' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_let._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_let._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_let' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_match._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_match._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_match' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_matchV' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs_chargeResult' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_prim' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_second' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_var' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.funRel_intro' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs.eq_1' does not depend on any axioms\n'LexLeanPreservation.obs.eq_2' does not depend on any axioms\n'LexLeanPreservation.obs.eq_3' does not depend on any axioms\n'LexLeanPreservation.obs.eq_4' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_1' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_2' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_3' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_4' does not depend on any axioms\n'LexLeanPreservation.run_of_funRel' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.run.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ListEnc' does not depend on any axioms\n'LexLeanPreservation.ListEnc._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.ListEnc._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.ListEnc.casesOn' does not depend on any axioms\n'LexLeanPreservation.ListEnc.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.ListEnc.elem' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items' does not depend on any axioms\n'LexLeanPreservation.ListEnc.enc' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_cons' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_eq.match_1_1' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_nil' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_eq._f' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_eq' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.ListEnc.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.ListEnc.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk.inj' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk.injEq' depends on axioms: [propext]\n'LexLeanPreservation.ListEnc.mk.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ListEnc.recOn' does not depend on any axioms\n'LexLeanPreservation.OptEnc' does not depend on any axioms\n'LexLeanPreservation.OptEnc._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.OptEnc._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.OptEnc.casesOn' does not depend on any axioms\n'LexLeanPreservation.OptEnc.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.OptEnc.elem' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc_none' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc_some' does not depend on any axioms\n'LexLeanPreservation.encOption.match_1' does not depend on any axioms\n'LexLeanPreservation.encOption' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc_map' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.OptEnc.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.OptEnc.noConfusion' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk.noConfusion' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk.inj' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk.injEq' depends on axioms: [propext]\n'LexLeanPreservation.OptEnc.mk.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.OptEnc.recOn' does not depend on any axioms\n'LexLeanPreservation.construct_adt' does not depend on any axioms\n'LexLeanPreservation.construct_cons' does not depend on any axioms\n'LexLeanPreservation.construct_error' does not depend on any axioms\n'LexLeanPreservation.construct_false' does not depend on any axioms\n'LexLeanPreservation.construct_nil' does not depend on any axioms\n'LexLeanPreservation.construct_none' does not depend on any axioms\n'LexLeanPreservation.construct_ok' does not depend on any axioms\n'LexLeanPreservation.construct_pair' does not depend on any axioms\n'LexLeanPreservation.construct_some' does not depend on any axioms\n'LexLeanPreservation.construct_succ' does not depend on any axioms\n'LexLeanPreservation.construct_true' does not depend on any axioms\n'LexLeanPreservation.construct_unit' does not depend on any axioms\n'LexLeanPreservation.construct_zero' does not depend on any axioms\n'LexLeanPreservation.encExcept.match_1' does not depend on any axioms\n'LexLeanPreservation.encExcept' does not depend on any axioms\n'LexLeanPreservation.encList' does not depend on any axioms\n'LexLeanPreservation.encOrdering.match_1' does not depend on any axioms\n'LexLeanPreservation.encOrdering' does not depend on any axioms\n'LexLeanPreservation.encPair' does not depend on any axioms\n'LexLeanPreservation.encUnit' does not depend on any axioms\n'LexLeanPreservation.listEnc._proof_1' does not depend on any axioms\n'LexLeanPreservation.listEnc._proof_2' does not depend on any axioms\n'LexLeanPreservation.listEnc' does not depend on any axioms\n'LexLeanPreservation.optEnc._proof_1' does not depend on any axioms\n'LexLeanPreservation.optEnc._proof_2' does not depend on any axioms\n'LexLeanPreservation.optEnc' does not depend on any axioms\n'LexLeanPreservation.bytes_empty' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.bytes_one' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.bytes_zero' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.encOrdering.eq_1' does not depend on any axioms\n'LexLeanPreservation.encOrdering.eq_2' does not depend on any axioms\n'LexLeanPreservation.encOrdering.eq_3' does not depend on any axioms\n'LexLeanPreservation.fromOrdering_encOrdering' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.fromStrings_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.fromStrings_map._f' does not depend on any axioms\n'LexLeanPreservation.fromStrings_map' does not depend on any axioms\n'LexLeanPreservation.intFits' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.listIndex_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.listIndex_map._f' does not depend on any axioms\n'LexLeanPreservation.listIndex_map' does not depend on any axioms\n'LexLeanPreservation.listIndex_unique.match_1_1' does not depend on any axioms\n'LexLeanPreservation.listIndex_unique._f' does not depend on any axioms\n'LexLeanPreservation.listIndex_unique' does not depend on any axioms\n'LexLeanPreservation.obs_intResult' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.obs_natResult' does not depend on any axioms\n'LexLeanPreservation.prim_append_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_append_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_boolNot' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_compareBytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_bool' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_nat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_ordering' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_string' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_index_bytes.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_index_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_index_list.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_index_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intMul' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intNeg' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intQuot' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intRem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intSub' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_join.match_1_1' does not depend on any axioms\n'LexLeanPreservation.toStrings_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.toStrings_map.match_1_3' does not depend on any axioms\n'LexLeanPreservation.toStrings_map._f' does not depend on any axioms\n'LexLeanPreservation.toStrings_map' does not depend on any axioms\n'LexLeanPreservation.prim_join' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_length_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_length_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_length_string' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natAdd' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natEq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natLe' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natLt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natMul' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natQuot' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natRem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natSub' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_slice_bytes.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_slice_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_slice_list.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_slice_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_splitExact.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_splitExact' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_utf8Decode.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_utf8Decode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_utf8Encode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.LexLeanRuntime.compareBytes.eq_1' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.LexLeanRuntime.equal.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.LexLeanRuntime.length.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.LexLeanRuntime.slice.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromOrdering.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.checkedMultiplyWith.match_1' does not depend on any axioms\n'LexLeanPreservation.checkedMultiplyWith' does not depend on any axioms\n'LexLeanPreservation.checkedQuotientWith' does not depend on any axioms\n'LexLeanPreservation.decimalFits.match_1' does not depend on any axioms\n'LexLeanPreservation.decimalFits' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.divideStep' does not depend on any axioms\n'LexLeanPreservation.divide_unique.match_1_1' does not depend on any axioms\n'LexLeanPreservation.divide_unique._f' does not depend on any axioms\n'LexLeanPreservation.divide_unique' does not depend on any axioms\n'LexLeanPreservation.multiplyStep' does not depend on any axioms\n'LexLeanPreservation.multiply_unique.match_1_1' does not depend on any axioms\n'LexLeanPreservation.multiply_unique._f' does not depend on any axioms\n'LexLeanPreservation.multiply_unique' does not depend on any axioms\n'LexLeanPreservation.prim_bitAnd_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i64.match_1_2' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_int' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_int.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_int' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ordOf.match_1' does not depend on any axioms\n'LexLeanPreservation.ordOf' does not depend on any axioms\n'LexLeanPreservation.KeySpec' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.mk._flat_ctor' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.recOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.spec' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.compareCodes_eq.match_1_1' does not depend on any axioms\n'LexLeanPreservation.compareCodes_eq._f' depends on axioms: [propext]\n'LexLeanPreservation.compareCodes_eq' depends on axioms: [propext]\n'LexLeanPreservation.compareCodes_swap.match_1_1' does not depend on any axioms\n'LexLeanPreservation.compareCodes_swap._f' depends on axioms: [propext]\n'LexLeanPreservation.compareCodes_swap' depends on axioms: [propext]\n'LexLeanPreservation.lessThanE' does not depend on any axioms\n'LexLeanPreservation.prim_compare_key.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_compare_key' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_lessThan' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.orderOf_insert' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderBool.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.keySpec_bool' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI16.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI32.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI64.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI8.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderInt.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_int' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderNat.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_nat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.keySpec_pair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderString.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.keySpec_string' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU16.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU32.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU64.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU8.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_1' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_2' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_3' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_4' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_def' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.compareValue.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_18' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_20' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_22' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_23' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_24' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_25' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_26' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_27' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_28' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_29' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_30' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_31' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_33' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_34' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_35' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_36' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_37' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_38' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_39' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_40' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_41' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_42' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_43' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_44' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_45' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_46' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_47' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_48' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_49' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_50' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_51' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_52' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_53' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_54' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_55' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_56' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_57' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_58' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_59' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_60' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_61' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_62' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_63' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_65' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_66' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_67' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_68' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_69' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_70' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_71' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_72' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_73' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_74' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_75' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_76' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_77' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_78' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_79' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_80' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_81' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_82' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_83' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_84' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_85' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_86' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_87' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_88' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_89' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_90' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_91' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_92' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_93' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_94' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_95' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_96' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_97' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_98' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_99' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Conv.bool_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Conv.fits_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.FunRel.fits_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ListEnc.enc.eq_1' does not depend on any axioms\n'LexLeanPreservation.ListEnc.enc_cons' does not depend on any axioms\n'LexLeanPreservation.ListEnc.enc_nil' does not depend on any axioms\n'LexLeanPreservation.LookOps' does not depend on any axioms\n'LexLeanPreservation.LookOps.casesOn' does not depend on any axioms\n'LexLeanPreservation.LookOps.l0' does not depend on any axioms\n'LexLeanPreservation.LookOps.leq' does not depend on any axioms\n'LexLeanPreservation.LookOps.lgt' does not depend on any axioms\n'LexLeanPreservation.LookOps.llt' does not depend on any axioms\n'LexLeanPreservation.LookOps.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.LookOps.recOn' does not depend on any axioms\n'LexLeanPreservation.SetOps' does not depend on any axioms\n'LexLeanPreservation.SetOps.c0' does not depend on any axioms\n'LexLeanPreservation.SetOps.casesOn' does not depend on any axioms\n'LexLeanPreservation.SetOps.ceq' does not depend on any axioms\n'LexLeanPreservation.SetOps.cgt' does not depend on any axioms\n'LexLeanPreservation.SetOps.clt' does not depend on any axioms\n'LexLeanPreservation.SetOps.i0' does not depend on any axioms\n'LexLeanPreservation.SetOps.ieq' does not depend on any axioms\n'LexLeanPreservation.SetOps.igt' does not depend on any axioms\n'LexLeanPreservation.SetOps.ilt' does not depend on any axioms\n'LexLeanPreservation.SetOps.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.SetOps.r0' does not depend on any axioms\n'LexLeanPreservation.SetOps.recOn' does not depend on any axioms\n'LexLeanPreservation.SetOps.req' does not depend on any axioms\n'LexLeanPreservation.SetOps.rgt' does not depend on any axioms\n'LexLeanPreservation.SetOps.rlt' does not depend on any axioms\n'LexLeanPreservation.TopoOps' does not depend on any axioms\n'LexLeanPreservation.TopoOps.casesOn' does not depend on any axioms\n'LexLeanPreservation.TopoOps.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.TopoOps.recOn' does not depend on any axioms\n'LexLeanPreservation.TopoOps.s_next' does not depend on any axioms\n'LexLeanPreservation.TopoOps.s_nil' does not depend on any axioms\n'LexLeanPreservation.TopoOps.s_stuck' does not depend on any axioms\n'LexLeanPreservation.TopoOps.z_cons' does not depend on any axioms\n'LexLeanPreservation.TopoOps.z_nil' does not depend on any axioms\n'LexLeanPreservation.Tpl.boolE' does not depend on any axioms\n'LexLeanPreservation.Tpl.byOrder' does not depend on any axioms\n'LexLeanPreservation.Tpl.cns' does not depend on any axioms\n'LexLeanPreservation.Tpl.fn' does not depend on any axioms\n'LexLeanPreservation.Tpl.lst' does not depend on any axioms\n'LexLeanPreservation.Tpl.v' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphInnerFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.pr' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphNodesFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.natOne' does not depend on any axioms\n'LexLeanPreservation.Tpl.nl' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphReachableFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphSuccessorsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphTopologicalFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.iterateFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.iterateUntilFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.listFoldFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapContainsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapFoldFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapInsertFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapLookupFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapProjectFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapRemoveFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reachFrontierFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reachIntoFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reachRoundsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reverseFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setContainsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setFilterFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setInsertFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setRemoveFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setUnionFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoFinished' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoReadyFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoRoundsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoUnreachedFn' does not depend on any axioms\n'LexLeanPreservation.blt_succ_fits._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.blt_succ_fits' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_cond_false' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_cond_true' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.enc_elem' does not depend on any axioms\n'LexLeanPreservation.enc_entry' does not depend on any axioms\n'LexLeanPreservation.foldFits.match_1' does not depend on any axioms\n'LexLeanPreservation.foldFits._f' does not depend on any axioms\n'LexLeanPreservation.foldFits' does not depend on any axioms\n'LexLeanPreservation.foldFits._sunfold' does not depend on any axioms\n'LexLeanPreservation.foldFits._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.foldFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.foldFits.eq_2' does not depend on any axioms\n'LexLeanPreservation.foldFits.eq_def' does not depend on any axioms\n'LexLeanPreservation.graphFits' does not depend on any axioms\n'LexLeanPreservation.graphFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.iterateFits.match_1' does not depend on any axioms\n'LexLeanPreservation.iterateFits._f' does not depend on any axioms\n'LexLeanPreservation.iterateFits' does not depend on any axioms\n'LexLeanPreservation.iterateFits._sunfold' does not depend on any axioms\n'LexLeanPreservation.iterateFits._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.iterateFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.iterateFits.eq_2' does not depend on any axioms\n'LexLeanPreservation.iterateFits.eq_def' does not depend on any axioms\n'LexLeanPreservation.length_eq' does not depend on any axioms\n'LexLeanPreservation.prim_compare_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.reachNext' does not depend on any axioms\n'LexLeanPreservation.tpl_graphInner.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setInsert.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setInsert._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setInsert' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphInner._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphInner' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphNodes.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_graphNodes._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphNodes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapLookup.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapLookup._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapLookup' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphSuccessors' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachFrontier.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_reachInto.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setContains.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setContains._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setContains' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachInto._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachInto' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachFrontier._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachFrontier' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachRounds.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setUnion.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setUnion._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setUnion' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachRounds._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachRounds' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphReachable' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reverse.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_reverse._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reverse' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setRemove.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setRemove._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setRemove' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoReady.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_topoUnreached.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_topoUnreached._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoUnreached' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoReady._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoReady' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoRounds.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_topoRounds._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoRounds' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphTopological' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterate.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_iterate._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterateUntil.match_1_1' does not depend on any axioms\n'LexLeanPreservation.untilFits.match_1' does not depend on any axioms\n'LexLeanPreservation.untilFits._f' does not depend on any axioms\n'LexLeanPreservation.untilFits' does not depend on any axioms\n'LexLeanPreservation.tpl_iterateUntil._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterateUntil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_listFold.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_listFold._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_listFold' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapContains' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapFold.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapFold._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapFold' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapInsert.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapInsert._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapInsert' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapKeys.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapKeys._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapKeys' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapRemove.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapRemove._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapRemove' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapValues.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapValues._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapValues' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setDifference.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setDifference._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setDifference' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setIntersection.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setIntersection._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setIntersection' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.untilFits._sunfold' does not depend on any axioms\n'LexLeanPreservation.untilFits._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.untilFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.untilFits.eq_2' does not depend on any axioms\n'LexLeanPreservation.untilFits.eq_def' does not depend on any axioms\n'LexLeanPreservation.validExcept.match_1' does not depend on any axioms\n'LexLeanPreservation.InvExcept' does not depend on any axioms\n'LexLeanPreservation.InvList' does not depend on any axioms\n'LexLeanPreservation.InvList.eq_1' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.match_1' does not depend on any axioms\n'LexLeanPreservation.StrictAsc._f' does not depend on any axioms\n'LexLeanPreservation.StrictAsc' does not depend on any axioms\n'LexLeanPreservation.InvMap' does not depend on any axioms\n'LexLeanPreservation.validOption.match_1' does not depend on any axioms\n'LexLeanPreservation.InvOption' does not depend on any axioms\n'LexLeanPreservation.InvOption.eq_1' does not depend on any axioms\n'LexLeanPreservation.InvOption.eq_2' does not depend on any axioms\n'LexLeanPreservation.InvPair' does not depend on any axioms\n'LexLeanPreservation.InvSet' does not depend on any axioms\n'LexLeanPreservation.StrictAsc._sunfold' does not depend on any axioms\n'LexLeanPreservation.StrictAsc._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_1' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_2' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_3' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_def' does not depend on any axioms\n'LexLeanPreservation.Tpl.validListFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validMapFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validOptionFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validPairFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validResultFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validSetFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validTrueFn' does not depend on any axioms\n'LexLeanPreservation.ascMap.match_1' does not depend on any axioms\n'LexLeanPreservation.lessB.match_1' does not depend on any axioms\n'LexLeanPreservation.lessB' does not depend on any axioms\n'LexLeanPreservation.ascMap._f' does not depend on any axioms\n'LexLeanPreservation.ascMap' does not depend on any axioms\n'LexLeanPreservation.ascMap._sunfold' does not depend on any axioms\n'LexLeanPreservation.ascMap._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_1' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_2' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_3' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_def' does not depend on any axioms\n'LexLeanPreservation.ascMap_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.lessB_iff' depends on axioms: [propext]\n'LexLeanPreservation.ascMap_iff._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.ascMap_iff' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.ascMap_inv' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.ascSet._f' does not depend on any axioms\n'LexLeanPreservation.ascSet' does not depend on any axioms\n'LexLeanPreservation.ascSet._sunfold' does not depend on any axioms\n'LexLeanPreservation.ascSet._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_1' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_2' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_3' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_def' does not depend on any axioms\n'LexLeanPreservation.ascSet_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.ascSet_iff._f' depends on axioms: [propext]\n'LexLeanPreservation.ascSet_iff' depends on axioms: [propext]\n'LexLeanPreservation.ascSet_inv' depends on axioms: [propext]\n'LexLeanPreservation.condAnd_iff' depends on axioms: [propext]\n'LexLeanPreservation.invList_eqs.match_1_1' does not depend on any axioms\n'LexLeanPreservation.invList_eqs._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.invList_eqs' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.lessB.eq_1' does not depend on any axioms\n'LexLeanPreservation.lessB_eq' depends on axioms: [propext]\n'LexLeanPreservation.lessB_gt' depends on axioms: [propext]\n'LexLeanPreservation.lessB_lt' depends on axioms: [propext]\n'LexLeanPreservation.someObs.match_1' does not depend on any axioms\n'LexLeanPreservation.someObs' does not depend on any axioms\n'LexLeanPreservation.tpl_validList.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validList.match_1' does not depend on any axioms\n'LexLeanPreservation.validList._f' does not depend on any axioms\n'LexLeanPreservation.validList' does not depend on any axioms\n'LexLeanPreservation.tpl_validList' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validMap.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_validMap._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validMap' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validOption.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validOption' does not depend on any axioms\n'LexLeanPreservation.tpl_validOption' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validPair.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validPair' does not depend on any axioms\n'LexLeanPreservation.tpl_validPair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validResult.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validExcept' does not depend on any axioms\n'LexLeanPreservation.tpl_validResult' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validSet.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_validSet._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validSet' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validTrue' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.trueIff' does not depend on any axioms\n'LexLeanPreservation.validExcept_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validExcept_inv' does not depend on any axioms\n'LexLeanPreservation.validList._sunfold' does not depend on any axioms\n'LexLeanPreservation.validList._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.validList.eq_1' does not depend on any axioms\n'LexLeanPreservation.validList.eq_2' does not depend on any axioms\n'LexLeanPreservation.validList.eq_def' does not depend on any axioms\n'LexLeanPreservation.validList_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validList_iff._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.validList_iff' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.validList_inv' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.validOption.eq_1' does not depend on any axioms\n'LexLeanPreservation.validOption.eq_2' does not depend on any axioms\n'LexLeanPreservation.validOption_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validOption_inv' depends on axioms: [propext]\n'LexLeanPreservation.validPair_inv' depends on axioms: [propext]\n'LexLeanPreservation.validTrue_inv' does not depend on any axioms\n'LexLeanPreservation.Rust.Ctx' does not depend on any axioms\n'LexLeanPreservation.Rust.Flags' does not depend on any axioms\n'LexLeanPreservation.Rust.RCrate' does not depend on any axioms\n'LexLeanPreservation.Rust.RIdent' does not depend on any axioms\n'LexLeanPreservation.Rust.WT._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.adtFields' depends on axioms: [propext]\n'LexLeanTarget.TargetSyntax.IntKind.ofNat' does not depend on any axioms\n'LexLeanTarget.TargetSyntax.IntKind.ofNat_ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Rust.instDecidableEqIntKind_lexLeanPreservation._proof_1' does not depend on any axioms\n'LexLeanPreservation.Rust.instDecidableEqIntKind_lexLeanPreservation._proof_2' does not depend on any axioms\n'LexLeanPreservation.Rust.instDecidableEqIntKind_lexLeanPreservation' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flagOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fnIdent' does not depend on any axioms\n'LexLeanPreservation.Rust.fnFallible' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.inert._f' does not depend on any axioms\n'LexLeanPreservation.Rust.inert' does not depend on any axioms\n'LexLeanPreservation.Rust.WT._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.WTAll._f' does not depend on any axioms\n'LexLeanPreservation.Rust.WTL.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctxLookup.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup._f' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup' does not depend on any axioms\n'LexLeanPreservation.Rust.local_' does not depend on any axioms\n'LexLeanPreservation.Rust.EnvRel' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ROut' does not depend on any axioms\n'LexLeanPreservation.Rust.Halt' does not depend on any axioms\n'LexLeanPreservation.Rust.REnv' does not depend on any axioms\n'LexLeanPreservation.Rust.RExpr' does not depend on any axioms\n'LexLeanPreservation.Rust.RC' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RLet' does not depend on any axioms\n'LexLeanPreservation.Rust.LetsOK' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.append' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.below' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.below.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.brecOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.recOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.append_left' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.append_right' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.below' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.below.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.brecOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.recOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RBlock' does not depend on any axioms\n'LexLeanPreservation.Rust.dispatched_ne' does not depend on any axioms\n'LexLeanPreservation.Rust.finished_ne' does not depend on any axioms\n'LexLeanPreservation.Rust.returned_ne' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_24' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_26' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_28' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_30' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_32' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_34' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_36' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.eval.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_22' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.invoke.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.stable' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.reval_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCB' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.block' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCA' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.revalBlock_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCB.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCI' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.invoke_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCI.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCL' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.revalList_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCL.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.WTAll' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.block_of_lets' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.block_of_raise' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.ctxLookup._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup_slot._simp_1_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotFree' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup_slot' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_cons_other' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sameIdent_self' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_cons_self' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sameIdent_local' depends on axioms: [propext]\n'LexLeanPreservation.Rust.envRel_bind' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.envRel_extra' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.envRel_ghost' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sameIdent_kind' depends on axioms: [propext]\n'LexLeanPreservation.Rust.envRel_temp' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.listIndex_eq.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.listIndex_eq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.listIndex_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.index_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.inert._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.inert._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_nil.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_raise_head.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcl_raise_head.match_1_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcl_raise_head' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_raise_tail' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.revalArms_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.slotFree.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sunfold' depends on axioms: [propext]\n'LexLeanTarget.RustSemantics.LexLeanRuntime.equal.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.eval.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_18' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_20' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.invoke.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.invoke.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.kindNumber.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.lookup.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.lookup.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.lookup.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.lookup.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.lookup.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.lookup.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd' does not depend on any axioms\n'LexLeanPreservation.Rust.isTemp._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isTemp.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isTemp' depends on axioms: [propext]\n'LexLeanPreservation.Rust.letsBind.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds._f' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds._f' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind._f' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind' does not depend on any axioms\n'LexLeanPreservation.Rust.tempFresh' does not depend on any axioms\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.foldN.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.flatB._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep.match_7' does not depend on any axioms\n'LexLeanPreservation.Rust.foldStep' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldB' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats._f' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats' does not depend on any axioms\n'LexLeanPreservation.Rust.okBlock' does not depend on any axioms\n'LexLeanPreservation.Rust.partRead._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Kind.casesOn' does not depend on any axioms\n'LexLeanPreservation.Rust.elseCtx.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.elseCtx' does not depend on any axioms\n'LexLeanPreservation.Rust.elseLets.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.elseLets' does not depend on any axioms\n'LexLeanPreservation.Rust.heldOK.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.heldOK' does not depend on any axioms\n'LexLeanPreservation.Rust.negateR._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.negateR._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.negateR.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.negateR' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_5' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_7' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_9' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identBoxed' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal' does not depend on any axioms\n'LexLeanPreservation.Rust.isWild._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.unboxOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotOK.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocal' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armShape.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.armShape' does not depend on any axioms\n'LexLeanPreservation.Rust.otherArms.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.otherArms' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.noClosure.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.noClosure._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh' depends on axioms: [propext]\n'LexLeanPreservation.Rust.covered' depends on axioms: [propext]\n'LexLeanPreservation.Rust.scrut' does not depend on any axioms\n'LexLeanPreservation.Rust.validU.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.validU' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotOK' does not depend on any axioms\n'LexLeanPreservation.Rust.ctorOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identsDistinct.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct._f' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct' does not depend on any axioms\n'LexLeanPreservation.Rust.litOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArg._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.match_6' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArg.match_8' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArg' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArgs._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildTail.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildsArm.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildsArm' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.itemOK.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemOK' does not depend on any axioms\n'LexLeanPreservation.Rust.itemTyped.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemTyped.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf' does not depend on any axioms\n'LexLeanPreservation.Rust.itemTyped' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_9' does not depend on any axioms\n'LexLeanPreservation.Rust.isFixed._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped' depends on axioms: [propext]\n'LexLeanPreservation.Rust.primTyped' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.litValues._f' does not depend on any axioms\n'LexLeanPreservation.Rust.litValue' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.typedLitAll._f' does not depend on any axioms\n'LexLeanPreservation.Rust.typedLits.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Corr' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.below' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.below.casesOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.brecOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.casesOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.recOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.FunOK' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.CrateOK' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Fresh' does not depend on any axioms\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn' depends on axioms: [propext]\n'LexLeanPreservation.Rust.FunSem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Kind._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.casesOn' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ctorElim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.b.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.e.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.k.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.l.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.m.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.ops.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.recOn' does not depend on any axioms\n'LexLeanPreservation.Rust.KPre.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.KPre' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Kind.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.ctorElim' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Kind.nat.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.plain.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.plain.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.recOn' does not depend on any axioms\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesM.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.RealizesM' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Sem.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.viewVal._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Sem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.foldN._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identsDistinct._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_10' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_11' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_12' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_13' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_14' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_6' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_7' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_8' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.litValues' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue._sunfold' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.litValue._unsafe_rec' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues._sunfold' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.paramCtx._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patsBinds' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.patLocals._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patsBinds._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArgs._sunfold' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs._unsafe_rec' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.typedLitAll' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.typedLits._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_of_inert.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_of_inert.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_of_inert._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_of_inert' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_of_inert._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_of_inert' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Halt.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.LetsRaise.halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.block_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.boxed' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesM.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesM.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_bytes_inv' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_list_inv' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_string_inv' depends on axioms: [propext]\n'LexLeanPreservation.Rust.takes_of_typed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.allWidth_of.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_eq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_eq._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.tysBeq_eq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq_eq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.wt_fixed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.allWidth_of._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.allWidth_of' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.width_of_typed.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.width_of_typed.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.width_of_typed.match_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.width_of_typed' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.accepts_of_typed' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_apply' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtl_append.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_append._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_append' depends on axioms: [propext]\n'LexLeanPreservation.Rust.apply_result' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.bindPattern_shape.match_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.bindPattern_shape._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.bindPatterns_shape._simp_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindPatterns_shape.match_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.bindPatterns_shape._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.bindPattern_shape' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.bindPatterns_shape' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms_spec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_4' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_6' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_7' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.boolArms_eval' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.boxWith.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_100' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_102' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_96' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_98' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_function' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.call_result' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.const_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.convert_args.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.convert_args' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_append_fresh' depends on axioms: [propext]\n'LexLeanPreservation.Rust.envRel_fresh' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_not._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_cond.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.itemResult.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.eval_match' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fixedTyped.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_18' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_19' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_20' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_21' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_22' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_23' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_24' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_25' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_26' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_27' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_28' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_29' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_30' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_31' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_32' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_33' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_34' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_35' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_36' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_37' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_38' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_39' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_40' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_41' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_42' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_43' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_44' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_45' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_46' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_47' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_48' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_49' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_50' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_51' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_52' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_53' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_54' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_55' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_56' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_57' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_58' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_59' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_60' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_61' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN_sound.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.split_last.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.split_last._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.split_last' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep_spec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcb_nil_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_nomatch.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcb_cons_nomatch' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_stop' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_prefix' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_flat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_read_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_cons_same' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcb_fold_last' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldStep_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldN_sound._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldN_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldB_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldN.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_append' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_bind._simp_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_bind' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotFree_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_weaken' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_elseCtx' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_temp._simp_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_temp' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fromStrings_wt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fromStrings_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fromStrings_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.hasWidth_i16' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_i32' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_i64' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_i8' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u16' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u32' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u64' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u8' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.heldOK.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.heldOK.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.isFixed._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.isSeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.isTemp._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.itemOK.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemOperands_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.itemResult' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.kpre_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_pred._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_pred.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_pred' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.kpre_else' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.kpre_then' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_of_lets' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_b_rcb' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.k_branch' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_cond_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_isZero_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_lit_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate_halt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_negate_halt.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_nonZero_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_23' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_25' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_27' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_29' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_31' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_33' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_35' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_37' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_39' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_41' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_43' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_45' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_47' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_49' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_51' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_not_inv.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_not_inv.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_not_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.k_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_read.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_read' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.kpre_held' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.letsBind.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.letsOK_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.letsOK_shape' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.litValue._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_4' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_def' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_5' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.eq_def' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.lit_branch' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.lookup_through._simp_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.lookup_through' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms_spec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms_eval' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.obsL_evalList_zero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.obs_eval_zero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.oneOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf_halt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.param_env.match_1_1' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.bindAll.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.param_env._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.param_env' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.patBinds.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_10' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_6' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_7' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_8' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.primTyped.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_apply_halt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_apply_halt.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_apply_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_call_halt.match_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_runtime' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_construct' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct_halt.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct_halt.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_isZero.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_isZero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_lit.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_lit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue._simp_10' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue._simp_9' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue.match_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_pair.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_pair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_litValues.match_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rcl_litValues._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_nonZero.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_nonZero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_pair_halt_left' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_pair_halt_right' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_widen.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_widen' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_widen_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_11' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_7' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_litValues' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_nil_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_single_halt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_single_halt.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_single_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_widen_one' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.readOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizesL_halt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizesL_haltL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizes_halt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizesM_overflow' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizes_oneOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.runItem_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.runItem_succ' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_applyGen.match_1_13' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen.match_1_15' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen.match_1_28' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_apply' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_applyF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_bOfE' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_build.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_build.match_1_99' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_build' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildConst' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildPair.match_1_101' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_97' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_99' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildSucc.match_1_129' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSucc.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSucc' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildSuccF.match_1_101' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSuccF.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSuccF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_callF.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callF.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_callOps.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callOps.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callOps' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_closure.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.wtl_length.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_length._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_length' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_closure' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_cond.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_cond.match_1_11' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_condId.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_condId' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_eOfB' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_eOfBFold' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_eOfBNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_fOfB' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_unit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_fUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kHeld' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kLit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kId' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kIf' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kNeg' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kSame' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_lCons.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons.match_1_17' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons.match_1_19' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_lNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_letBind.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letBind.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letBind' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_letWild.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letWild.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letWild' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBool._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchHolder.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchHolder.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchHolder' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBool' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBoolId._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBoolId.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchBoolId' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchNat._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchNat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchUnit._proof_1_386' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchUnit.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchUnit.match_1_387' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsCons._simp_1_13' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsCons.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons.match_1_14' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons.match_1_16' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsOfL' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_29' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_31' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_ops_box.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_ops_box.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_ops_box.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_ops_box' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_part._sparseCasesOn_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_part.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_part.match_1_14' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_part.match_1_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_part' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_part._sparseCasesOn_1_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_prim.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_prim.match_1_38' does not depend on any axioms\n'LexLeanPreservation.Rust.wtAll_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wtAll_iff._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.wtAll_iff' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_append' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_bitwise' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_checked' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_convert' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_decode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_encode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_fixedTyped.match_1_67' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_format' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_index' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_join' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_parse' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_shift' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.slice_eq' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_slice' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_split' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_unary' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtl_one.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_one' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_three.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_three' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_two.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_two' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_fixedTyped' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_prim' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_prim' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_primF.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF.match_1_7' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_primWiden.match_1_108' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_110' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_112' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_114' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_116' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.typedLitAll_wt.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit_wt.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits_wt.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_var' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_varUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_zero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.shapeOf.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_10' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_11' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_12' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_13' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_14' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_6' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_7' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_8' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.tempFresh.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_12.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_13.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_14.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.allWidth.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.allWidth.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.allWidth.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_100' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_101' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_102' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_103' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_104' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_105' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_106' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_107' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_108' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_109' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_110' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_111' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_112' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_113' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_114' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_115' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_116' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_117' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_118' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_119' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_120' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_121' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_122' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_123' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_124' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_125' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_126' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_127' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_128' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_129' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_130' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_131' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_132' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_133' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_134' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_135' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_136' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_137' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_138' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_139' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_140' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_141' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_142' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_143' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_144' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_145' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_146' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_147' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_148' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_149' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_150' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_151' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_152' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_153' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_154' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_155' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_156' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_157' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_158' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_159' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_160' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_161' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_162' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_163' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_164' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_165' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_166' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_167' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_168' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_169' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_170' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_171' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_172' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_173' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_174' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_175' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_176' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_177' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_178' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_179' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_180' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_181' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_182' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_183' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_184' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_185' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_186' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_51' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_52' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_53' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_54' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_55' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_56' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_57' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_58' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_59' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_60' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_61' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_62' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_63' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_64' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_65' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_66' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_67' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_68' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_69' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_70' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_71' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_72' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_73' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_74' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_75' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_76' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_77' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_78' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_79' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_80' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_81' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_82' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_83' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_84' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_85' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_86' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_87' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_88' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_89' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_90' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_91' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_92' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_93' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_94' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_95' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_96' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_97' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_98' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_99' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_100' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_101' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_102' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_103' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_104' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_105' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_106' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_107' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_108' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_109' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_110' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_111' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_112' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_113' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_114' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_115' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_116' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_117' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_118' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_119' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_120' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_121' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_122' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_123' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_124' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_125' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_126' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_127' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_128' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_129' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_130' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_131' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_132' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_133' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_134' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_135' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_136' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_137' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_138' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_139' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_140' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_141' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_142' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_143' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_144' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_145' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_146' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_147' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_148' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_149' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_150' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_151' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_152' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_153' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_154' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_155' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_156' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_157' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_158' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_159' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_160' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_161' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_162' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_163' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_164' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_165' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_166' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_167' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_168' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_169' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_170' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_171' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_172' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_173' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_174' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_175' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_176' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_177' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_178' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_179' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_180' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_181' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_182' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_183' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_184' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_51' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_52' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_53' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_54' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_55' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_56' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_57' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_58' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_59' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_60' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_61' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_62' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_63' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_64' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_65' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_66' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_67' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_68' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_69' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_70' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_71' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_72' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_73' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_74' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_75' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_76' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_77' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_78' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_79' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_80' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_81' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_82' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_83' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_84' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_85' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_86' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_87' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_88' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_89' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_90' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_91' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_92' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_93' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_94' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_95' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_96' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_97' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_98' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_99' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemAccepts.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemAccepts.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.literal.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_10' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_11' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_12' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_13' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_14' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_15' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_3' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_4' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_5' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_6' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_7' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_8' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_9' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.propagated.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.returned.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_10' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_11' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_12' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_13' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_14' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_15' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_16' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_17' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_18' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_19' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_20' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_21' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_22' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_23' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_24' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_25' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_26' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_27' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_28' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_29' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_30' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_31' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_32' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_33' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_34' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_35' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_36' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_37' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_38' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_39' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_40' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_41' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_42' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_43' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_44' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_45' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_46' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_47' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_48' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_49' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_5' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_50' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_51' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_52' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_53' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_54' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_55' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_56' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_57' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_58' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_59' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_6' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_60' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_61' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_62' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_63' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_64' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_65' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_66' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_67' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_68' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_69' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_7' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_70' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_71' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_72' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_73' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_74' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_75' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_76' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_77' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_78' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_79' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_8' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_80' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_81' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_82' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_83' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_9' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_10' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_100' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_101' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_102' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_103' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_104' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_105' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_106' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_107' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_108' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_109' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_11' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_110' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_111' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_112' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_113' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_114' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_115' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_116' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_117' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_118' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_119' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_12' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_120' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_121' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_122' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_123' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_124' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_125' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_126' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_127' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_128' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_129' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_13' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_130' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_131' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_132' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_133' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_134' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_135' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_136' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_137' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_138' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_139' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_14' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_140' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_141' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_142' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_143' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_144' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_145' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_146' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_147' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_148' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_149' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_15' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_150' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_151' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_152' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_153' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_154' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_155' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_156' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_157' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_158' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_159' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_16' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_160' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_161' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_162' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_163' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_164' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_165' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_166' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_167' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_168' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_169' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_17' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_170' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_171' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_172' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_173' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_174' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_175' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_176' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_177' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_178' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_179' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_18' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_180' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_181' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_182' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_183' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_184' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_185' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_186' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_187' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_188' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_189' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_19' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_190' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_191' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_192' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_193' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_194' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_195' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_196' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_197' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_198' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_199' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_20' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_200' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_201' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_202' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_203' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_204' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_205' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_206' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_207' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_208' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_209' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_21' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_210' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_211' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_212' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_213' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_214' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_215' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_216' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_217' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_218' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_219' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_22' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_220' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_221' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_222' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_223' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_224' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_225' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_226' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_227' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_228' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_229' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_23' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_230' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_231' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_232' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_233' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_234' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_235' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_236' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_237' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_238' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_239' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_24' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_240' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_241' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_242' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_243' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_244' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_245' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_246' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_247' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_248' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_249' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_25' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_250' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_251' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_252' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_253' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_254' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_255' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_256' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_257' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_258' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_259' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_26' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_260' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_261' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_262' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_263' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_264' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_265' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_266' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_267' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_268' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_269' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_27' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_270' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_271' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_272' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_273' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_274' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_275' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_276' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_277' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_278' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_279' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_28' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_280' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_281' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_282' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_283' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_284' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_285' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_286' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_287' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_288' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_289' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_29' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_290' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_291' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_292' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_293' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_294' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_295' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_296' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_297' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_298' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_299' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_30' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_300' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_301' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_302' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_303' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_304' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_305' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_306' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_307' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_308' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_309' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_31' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_310' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_311' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_312' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_313' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_314' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_315' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_316' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_317' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_318' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_319' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_32' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_320' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_321' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_322' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_323' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_324' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_325' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_326' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_327' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_328' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_329' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_33' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_330' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_331' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_332' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_333' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_334' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_335' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_336' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_337' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_338' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_339' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_34' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_340' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_341' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_342' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_343' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_344' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_345' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_346' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_347' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_348' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_349' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_35' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_350' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_351' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_352' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_353' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_354' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_355' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_356' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_357' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_358' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_359' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_36' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_360' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_361' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_362' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_363' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_364' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_365' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_366' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_367' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_368' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_369' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_37' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_370' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_38' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_39' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_40' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_41' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_42' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_43' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_44' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_45' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_46' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_47' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_48' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_49' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_5' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_50' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_51' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_52' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_53' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_54' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_55' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_56' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_57' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_58' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_59' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_6' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_60' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_61' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_62' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_63' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_64' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_65' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_66' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_67' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_68' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_69' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_7' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_70' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_71' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_72' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_73' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_74' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_75' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_76' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_77' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_78' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_79' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_8' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_80' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_81' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_82' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_83' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_84' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_85' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_86' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_87' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_88' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_89' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_9' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_90' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_91' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_92' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_93' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_94' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_95' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_96' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_97' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_98' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_99' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromStrings.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromStrings.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromStrings.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.primitive.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1000' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1001' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1002' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1003' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1004' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1005' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1006' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1007' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1008' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1009' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1010' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1011' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1012' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1013' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1014' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1015' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1016' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1017' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1018' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1019' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1020' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1021' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1022' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1023' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1024' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1025' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1026' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1027' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1028' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1029' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1030' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1031' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1032' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1033' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1034' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1035' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1036' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1037' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1038' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1039' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1040' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1041' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1042' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1043' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1044' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1045' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1046' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1047' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1048' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1049' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1050' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1051' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1052' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1053' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1054' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1055' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1056' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1057' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1058' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1059' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1060' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1061' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1062' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1063' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1064' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1065' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1066' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1067' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1068' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1069' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1070' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1071' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1072' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1073' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1074' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1075' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1076' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1077' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1078' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1079' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1080' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1081' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1082' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1083' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1084' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1085' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1086' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1087' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1088' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1089' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1090' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1091' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1092' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1093' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1094' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1095' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1096' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1097' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1098' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1099' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1426' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1427' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1428' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1429' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1430' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1431' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1432' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1433' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1434' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1435' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1436' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1437' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1438' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1439' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1440' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1441' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1442' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1443' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1444' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1445' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1446' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1447' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1448' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1449' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1450' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1451' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1452' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1453' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1454' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1455' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1456' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1457' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1458' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1459' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1460' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1461' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1462' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1463' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1464' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1465' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1466' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1467' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1468' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1469' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1470' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1471' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1472' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1473' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1474' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1475' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1476' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1477' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1478' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1479' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1480' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1481' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1482' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1483' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1484' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1485' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1486' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1487' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1488' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1489' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1490' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1491' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1492' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1493' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1494' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1495' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1496' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1497' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1498' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1499' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1500' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1501' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1502' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1503' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1504' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1505' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1506' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1507' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1508' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1509' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1510' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1511' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1512' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1513' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1514' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1515' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1516' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1517' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1518' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1519' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1520' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1521' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1522' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1523' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1524' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1525' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1526' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1527' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1528' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1529' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1530' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1531' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1532' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1533' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1534' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1535' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1536' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1537' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1538' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1539' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1540' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1541' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1542' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1543' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1544' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1545' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1546' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1547' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1548' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1549' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1550' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1551' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1552' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1553' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1554' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1555' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1556' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1557' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1558' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1559' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1560' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1561' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1562' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1563' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1564' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1565' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1566' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1567' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1568' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1569' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1570' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1571' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1572' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1573' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1574' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1575' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1576' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1577' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1578' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1579' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1580' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1581' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1582' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1583' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1584' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1585' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1586' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1587' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1588' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1589' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1590' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1591' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1592' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1593' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1594' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1595' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1596' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1597' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1598' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1599' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1600' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1601' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1602' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1603' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1604' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1605' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1606' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1607' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1608' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1609' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1610' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1611' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1612' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1613' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1614' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1615' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1616' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1617' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1618' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1619' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1620' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1621' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1622' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1623' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1624' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1625' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1626' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1627' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1628' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1629' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1630' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1631' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1632' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1633' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1634' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1635' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1636' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1637' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1638' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1639' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1640' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1641' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1642' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1643' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1644' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1645' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1646' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1647' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1648' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1649' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1650' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1651' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1652' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1653' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1654' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1655' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1656' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1657' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1658' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1659' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1660' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1661' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1662' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1663' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1664' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1665' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1666' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1667' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1668' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1669' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1670' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1671' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1672' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1673' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1674' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1675' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1676' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1677' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1678' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1679' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1680' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1681' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1682' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1683' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1684' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1685' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1686' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1687' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1688' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1689' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1690' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1691' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1692' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1693' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1694' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1695' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1696' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1697' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1698' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1699' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1700' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1701' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1702' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1703' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1704' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1705' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1706' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1707' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1708' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1709' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1710' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1711' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1712' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1713' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1714' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1715' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1716' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1717' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1718' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1719' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1720' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1721' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1722' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1723' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1724' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1725' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1726' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1727' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1728' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1729' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1730' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1731' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1732' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1733' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1734' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1735' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1736' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1737' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1738' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1739' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1740' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1741' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1742' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1743' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1744' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1745' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1746' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1747' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1748' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1749' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1750' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1751' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1752' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1753' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1754' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1755' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1756' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1757' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1758' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1759' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1760' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1761' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1762' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1763' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1764' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1765' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1766' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1767' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1768' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1769' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1770' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1771' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1772' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1773' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1774' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1775' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1776' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1777' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1778' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1779' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1780' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1781' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1782' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1783' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1784' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1785' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1786' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1787' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1788' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1789' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1790' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1791' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1792' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1793' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1794' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1795' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1796' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1797' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1798' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1799' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_18' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1800' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1801' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1802' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1803' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1804' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1805' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1806' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1807' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1808' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1809' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1810' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1811' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1812' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1813' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1814' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1815' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1816' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1817' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1818' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1819' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1820' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1821' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1822' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1823' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1824' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1825' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1826' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1827' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1828' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1829' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1830' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1831' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1832' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1833' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1834' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1835' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1836' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1837' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1838' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1839' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1840' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1841' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1842' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1843' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1844' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1845' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1846' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1847' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1848' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1849' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1850' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1851' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1852' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1853' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1854' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1855' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1856' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1857' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1858' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1859' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1860' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1861' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1862' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1863' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1864' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1865' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1866' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1867' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1868' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1869' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1870' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1871' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1872' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1873' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1874' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1875' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1876' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1877' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1878' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1879' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1880' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1881' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1882' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1883' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1884' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1885' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1886' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1887' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1888' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1889' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1890' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1891' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1892' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1893' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1894' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1895' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1896' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1897' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1898' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1899' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1900' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1901' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1902' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1903' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1904' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1905' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1906' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1907' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1908' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1909' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1910' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1911' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1912' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1913' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1914' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1915' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1916' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1917' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1918' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1919' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1920' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1921' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1922' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1923' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1924' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1925' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1926' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1927' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1928' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1929' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1930' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1931' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1932' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1933' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1934' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1935' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1936' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1937' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1938' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1939' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1940' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1941' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1942' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1943' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1944' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1945' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1946' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1947' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1948' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1949' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1950' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1951' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1952' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1953' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1954' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1955' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1956' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1957' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1958' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1959' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1960' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1961' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1962' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1963' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1964' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1965' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1966' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1967' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1968' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1969' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1970' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1971' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1972' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1973' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1974' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1975' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1976' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1977' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1978' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1979' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1980' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1981' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1982' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1983' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1984' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1985' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1986' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1987' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1988' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1989' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1990' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1991' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1992' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1993' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1994' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1995' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1996' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1997' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1998' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1999' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_20' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2000' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2001' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2002' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2003' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2004' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2005' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2006' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2007' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2008' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2009' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2010' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2011' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2012' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2013' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2014' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2015' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2016' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2017' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2018' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2019' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2020' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2021' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2022' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2023' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2024' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2025' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2026' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2027' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2028' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2029' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2030' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2031' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2032' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2033' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2034' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2035' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2036' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2037' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2038' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2039' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2040' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2041' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2042' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2043' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2044' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2045' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2046' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2047' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2048' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2049' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2050' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2051' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2052' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2053' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2054' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2055' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2056' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2057' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2058' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2059' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2060' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2061' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2062' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2063' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2064' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2065' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2066' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2067' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2068' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2069' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2070' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2071' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2072' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2073' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2074' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2075' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2076' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2077' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2078' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2079' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2080' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2081' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2082' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2083' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2084' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2085' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2086' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2087' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2088' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2089' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2090' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2091' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2092' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2093' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2094' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2095' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2096' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2097' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2098' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2099' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_22' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_23' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_24' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2426' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2427' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2428' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2429' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2430' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2431' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2432' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2433' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2434' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2435' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2436' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2437' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2438' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2439' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2440' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2441' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2442' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2443' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2444' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2445' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2446' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2447' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2448' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2449' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2450' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2451' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2452' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2453' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2454' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2455' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2456' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2457' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2458' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2459' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2460' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2461' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2462' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2463' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2464' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2465' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2466' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2467' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2468' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2469' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2470' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2471' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2472' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2473' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2474' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2475' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2476' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2477' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2478' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2479' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2480' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2481' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2482' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2483' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2484' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2485' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2486' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2487' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2488' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2489' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2490' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2491' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2492' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2493' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2494' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2495' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2496' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2497' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2498' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2499' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_25' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2500' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2501' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2502' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2503' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2504' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2505' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2506' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2507' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2508' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2509' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2510' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2511' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2512' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2513' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2514' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2515' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2516' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2517' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2518' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2519' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2520' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2521' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2522' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2523' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2524' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2525' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2526' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2527' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2528' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2529' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2530' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2531' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2532' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2533' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2534' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2535' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2536' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2537' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2538' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2539' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2540' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2541' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2542' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2543' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2544' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2545' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2546' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2547' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2548' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2549' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2550' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2551' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2552' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2553' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2554' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2555' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2556' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2557' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2558' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2559' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2560' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2561' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2562' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2563' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2564' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2565' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2566' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2567' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2568' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2569' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2570' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2571' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2572' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2573' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2574' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2575' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2576' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2577' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2578' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2579' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2580' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2581' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2582' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2583' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2584' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2585' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2586' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2587' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2588' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2589' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2590' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2591' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2592' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2593' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2594' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2595' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2596' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2597' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2598' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2599' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_26' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2600' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2601' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2602' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2603' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2604' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2605' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2606' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2607' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2608' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2609' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2610' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2611' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2612' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2613' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2614' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2615' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2616' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2617' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2618' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2619' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2620' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2621' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2622' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2623' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2624' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2625' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2626' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2627' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2628' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2629' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2630' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2631' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2632' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2633' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2634' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2635' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2636' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2637' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2638' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2639' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2640' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2641' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2642' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2643' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2644' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2645' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2646' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2647' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2648' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2649' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2650' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2651' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2652' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2653' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2654' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2655' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2656' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2657' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2658' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2659' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2660' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2661' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2662' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2663' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2664' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2665' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2666' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2667' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2668' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2669' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2670' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2671' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2672' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2673' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2674' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2675' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2676' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2677' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2678' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2679' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2680' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2681' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2682' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2683' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2684' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2685' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2686' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2687' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2688' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2689' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2690' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2691' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2692' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2693' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2694' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2695' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2696' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2697' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2698' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2699' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_27' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2700' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2701' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2702' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2703' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2704' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2705' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2706' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2707' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2708' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2709' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2710' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2711' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2712' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2713' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2714' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2715' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2716' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2717' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2718' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2719' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2720' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2721' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2722' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2723' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2724' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2725' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2726' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2727' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2728' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2729' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2730' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2731' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2732' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2733' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2734' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2735' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2736' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2737' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2738' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2739' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2740' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2741' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2742' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2743' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2744' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2745' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2746' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2747' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2748' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2749' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2750' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2751' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2752' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2753' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2754' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2755' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2756' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2757' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2758' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2759' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2760' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2761' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2762' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2763' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2764' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2765' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2766' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2767' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2768' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2769' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2770' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2771' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2772' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2773' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2774' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2775' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2776' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2777' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2778' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2779' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2780' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2781' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2782' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2783' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2784' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2785' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2786' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2787' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2788' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2789' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2790' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2791' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2792' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2793' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2794' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2795' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2796' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2797' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2798' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2799' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_28' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2800' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2801' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2802' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2803' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2804' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2805' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2806' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2807' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2808' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2809' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2810' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2811' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2812' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2813' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2814' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2815' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2816' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2817' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2818' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2819' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2820' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2821' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2822' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2823' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2824' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2825' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2826' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2827' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2828' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2829' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2830' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2831' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2832' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2833' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2834' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2835' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2836' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2837' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2838' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2839' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2840' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2841' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2842' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2843' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2844' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2845' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2846' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2847' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2848' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2849' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2850' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2851' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2852' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2853' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2854' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2855' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2856' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2857' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2858' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2859' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2860' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2861' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2862' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2863' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2864' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2865' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2866' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2867' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2868' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2869' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2870' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2871' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2872' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2873' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2874' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2875' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2876' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2877' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2878' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2879' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2880' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2881' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2882' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2883' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2884' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2885' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2886' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2887' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2888' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2889' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2890' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2891' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2892' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2893' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2894' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2895' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2896' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2897' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2898' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2899' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_29' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2900' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2901' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2902' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2903' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2904' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2905' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2906' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2907' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2908' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2909' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2910' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2911' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2912' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2913' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2914' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2915' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2916' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2917' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2918' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2919' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2920' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2921' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2922' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2923' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2924' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2925' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2926' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2927' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2928' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2929' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2930' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2931' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2932' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2933' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2934' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2935' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2936' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2937' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2938' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2939' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2940' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2941' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2942' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2943' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2944' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2945' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2946' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2947' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2948' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2949' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2950' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2951' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2952' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2953' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2954' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2955' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2956' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2957' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2958' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2959' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2960' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2961' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2962' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2963' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2964' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2965' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2966' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2967' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2968' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2969' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2970' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2971' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2972' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2973' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2974' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2975' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2976' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2977' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2978' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2979' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2980' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2981' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2982' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2983' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2984' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2985' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2986' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2987' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2988' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2989' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2990' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2991' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2992' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2993' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2994' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2995' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2996' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2997' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2998' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2999' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_30' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3000' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3001' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3002' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3003' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3004' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3005' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3006' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3007' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3008' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3009' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3010' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3011' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3012' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3013' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3014' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3015' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3016' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3017' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3018' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3019' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3020' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3021' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3022' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3023' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3024' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3025' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3026' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3027' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3028' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3029' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3030' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3031' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3032' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3033' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3034' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3035' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3036' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3037' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3038' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3039' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3040' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3041' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3042' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3043' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3044' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3045' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3046' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3047' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3048' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3049' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3050' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3051' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3052' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3053' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3054' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3055' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3056' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3057' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3058' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3059' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3060' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3061' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3062' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3063' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3064' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3065' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3066' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3067' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3068' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3069' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3070' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3071' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3072' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3073' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3074' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3075' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3076' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3077' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3078' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3079' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3080' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3081' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3082' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3083' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3084' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3085' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3086' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3087' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3088' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3089' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3090' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3091' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3092' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3093' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3094' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3095' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3096' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3097' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3098' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3099' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_31' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_33' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_34' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_35' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_36' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_37' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_38' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_39' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_40' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_41' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_42' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_426' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_427' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_428' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_429' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_43' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_430' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_431' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_432' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_433' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_434' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_435' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_436' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_437' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_438' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_439' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_44' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_440' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_441' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_442' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_443' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_444' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_445' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_446' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_447' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_448' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_449' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_45' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_450' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_451' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_452' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_453' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_454' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_455' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_456' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_457' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_458' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_459' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_46' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_460' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_461' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_462' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_463' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_464' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_465' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_466' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_467' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_468' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_469' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_47' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_470' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_471' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_472' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_473' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_474' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_475' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_476' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_477' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_478' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_479' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_48' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_480' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_481' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_482' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_483' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_484' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_485' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_486' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_487' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_488' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_489' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_49' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_490' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_491' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_492' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_493' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_494' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_495' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_496' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_497' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_498' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_499' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_50' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_500' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_501' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_502' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_503' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_504' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_505' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_506' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_507' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_508' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_509' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_51' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_510' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_511' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_512' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_513' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_514' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_515' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_516' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_517' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_518' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_519' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_52' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_520' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_521' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_522' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_523' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_524' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_525' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_526' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_527' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_528' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_529' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_53' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_530' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_531' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_532' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_533' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_534' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_535' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_536' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_537' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_538' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_539' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_54' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_540' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_541' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_542' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_543' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_544' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_545' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_546' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_547' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_548' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_549' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_55' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_550' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_551' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_552' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_553' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_554' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_555' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_556' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_557' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_558' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_559' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_56' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_560' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_561' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_562' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_563' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_564' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_565' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_566' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_567' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_568' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_569' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_57' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_570' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_571' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_572' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_573' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_574' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_575' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_576' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_577' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_578' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_579' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_58' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_580' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_581' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_582' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_583' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_584' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_585' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_586' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_587' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_588' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_589' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_59' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_590' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_591' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_592' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_593' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_594' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_595' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_596' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_597' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_598' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_599' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_60' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_600' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_601' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_602' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_603' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_604' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_605' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_606' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_607' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_608' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_609' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_61' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_610' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_611' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_612' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_613' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_614' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_615' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_616' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_617' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_618' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_619' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_62' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_620' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_621' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_622' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_623' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_624' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_625' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_626' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_627' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_628' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_629' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_63' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_630' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_631' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_632' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_633' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_634' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_635' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_636' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_637' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_638' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_639' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_640' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_641' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_642' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_643' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_644' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_645' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_646' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_647' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_648' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_649' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_65' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_650' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_651' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_652' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_653' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_654' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_655' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_656' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_657' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_658' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_659' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_66' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_660' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_661' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_662' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_663' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_664' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_665' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_666' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_667' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_668' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_669' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_67' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_670' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_671' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_672' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_673' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_674' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_675' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_676' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_677' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_678' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_679' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_68' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_680' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_681' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_682' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_683' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_684' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_685' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_686' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_687' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_688' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_689' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_69' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_690' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_691' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_692' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_693' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_694' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_695' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_696' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_697' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_698' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_699' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_70' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_700' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_701' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_702' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_703' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_704' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_705' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_706' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_707' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_708' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_709' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_71' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_710' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_711' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_712' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_713' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_714' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_715' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_716' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_717' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_718' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_719' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_72' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_720' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_721' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_722' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_723' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_724' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_725' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_726' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_727' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_728' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_729' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_73' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_730' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_731' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_732' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_733' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_734' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_735' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_736' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_737' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_738' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_739' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_74' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_740' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_741' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_742' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_743' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_744' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_745' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_746' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_747' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_748' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_749' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_75' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_750' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_751' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_752' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_753' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_754' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_755' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_756' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_757' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_758' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_759' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_76' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_760' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_761' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_762' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_763' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_764' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_765' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_766' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_767' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_768' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_769' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_77' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_770' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_771' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_772' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_773' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_774' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_775' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_776' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_777' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_778' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_779' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_78' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_780' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_781' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_782' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_783' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_784' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_785' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_786' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_787' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_788' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_789' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_79' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_790' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_791' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_792' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_793' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_794' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_795' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_796' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_797' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_798' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_799' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_80' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_800' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_801' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_802' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_803' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_804' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_805' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_806' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_807' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_808' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_809' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_81' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_810' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_811' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_812' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_813' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_814' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_815' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_816' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_817' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_818' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_819' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_82' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_820' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_821' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_822' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_823' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_824' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_825' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_826' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_827' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_828' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_829' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_83' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_830' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_831' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_832' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_833' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_834' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_835' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_836' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_837' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_838' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_839' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_84' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_840' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_841' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_842' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_843' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_844' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_845' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_846' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_847' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_848' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_849' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_85' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_850' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_851' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_852' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_853' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_854' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_855' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_856' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_857' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_858' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_859' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_86' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_860' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_861' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_862' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_863' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_864' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_865' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_866' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_867' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_868' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_869' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_87' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_870' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_871' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_872' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_873' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_874' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_875' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_876' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_877' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_878' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_879' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_88' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_880' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_881' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_882' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_883' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_884' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_885' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_886' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_887' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_888' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_889' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_89' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_890' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_891' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_892' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_893' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_894' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_895' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_896' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_897' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_898' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_899' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_90' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_900' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_901' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_902' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_903' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_904' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_905' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_906' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_907' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_908' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_909' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_91' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_910' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_911' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_912' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_913' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_914' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_915' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_916' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_917' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_918' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_919' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_92' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_920' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_921' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_922' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_923' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_924' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_925' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_926' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_927' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_928' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_929' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_93' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_930' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_931' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_932' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_933' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_934' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_935' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_936' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_937' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_938' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_939' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_94' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_940' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_941' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_942' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_943' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_944' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_945' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_946' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_947' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_948' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_949' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_95' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_950' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_951' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_952' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_953' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_954' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_955' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_956' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_957' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_958' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_959' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_96' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_960' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_961' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_962' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_963' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_964' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_965' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_966' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_967' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_968' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_969' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_97' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_970' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_971' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_972' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_973' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_974' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_975' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_976' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_977' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_978' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_979' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_98' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_980' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_981' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_982' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_983' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_984' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_985' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_986' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_987' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_988' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_989' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_99' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_990' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_991' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_992' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_993' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_994' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_995' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_996' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_997' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_998' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_999' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.adtFields.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_12.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_13.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_12.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat_outer' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.boxedOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.boxedOne.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.boxedOne' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bp_entries._simp_1_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.simplePat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bp_entries.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.entriesOf._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bp_entries._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.bp_entries' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.directPat_cons._simp_1_4' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.identBoxed_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identLocal_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf_spec' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_cons' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_len.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_len._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_len' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_loads._simp_1_27' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_loads._simp_1_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_loads.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none._simp_1_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none._simp_1_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rlookup_append' depends on axioms: [propext]\n'LexLeanPreservation.Rust.same_boxed_boxed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_boxed_none' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_local_none._simp_1_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_local_none._simp_1_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_local_none.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.same_local_local' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_local_none._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_local_none' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_boxed_local' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rlookup_local_boxed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rlookup_local_single' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_loads._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.directPat_loads' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_boxed_some._simp_1_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_some._simp_1_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_some.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_some._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.entries_boxed_some' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.envRel_locals' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fields_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindPatterns_single' depends on axioms: [propext]\n'LexLeanPreservation.Rust.outer_bind' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.paramCtx_length.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_length._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_length' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.bindOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOne.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.covered.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.covered_mem._simp_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.wt_uninh._simp_10' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.covered_mem' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.ctorOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.destruct_canon' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq_refl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.destruct_excl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.directPat.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_lookup.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_none_of._simp_1_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_none_of.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sameIdent_iff' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_none_of._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_none_of' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.identsDistinct.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.entries_lookup._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_lookup' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.eval_field.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.eval_field._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_field.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_field' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats_none._simp_1_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats_none.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats_none._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats_none' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats_some._simp_1_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats_some.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats_some._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats_some' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_partRead' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.tyBeq_unit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.field_out' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.findArm_some.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.findArm_some._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.findArm_some' depends on axioms: [propext]\n'LexLeanPreservation.Rust.findDispatch_some.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.findDispatch_some._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.findDispatch_some' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_ext' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identBoxed.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identBoxed.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.isWild._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.okBlock.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.otherArms.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.otherArms_mem._simp_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.otherArms_mem' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.outer_miss' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.outer_view' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_ext.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_ext._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_ext' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_fresh.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_fresh._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_fresh' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocal.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_matchOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_matchOn_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_uncons.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_uncons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_scrut' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rca_hit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rca_miss' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_det' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_rebuild.match_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_eq_of_same' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg_rc' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_rebuild._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_rebuild' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.readOf_rc' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.realizesM_value' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArg_simple' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_def' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs_simple.match_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs_simple._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs_simple' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_14.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuild_rca._simp_1_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuild_rca.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_value._simp_1_21' depends on axioms: [propext]\n'LexLeanPreservation.Rust.single_rebuild' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_rca._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_rca' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuildsArm.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_nil' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_fieldGen._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_fieldGen.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_fieldGen.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.wtl_get.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_get._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_get' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_fieldGen' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_fieldHeld' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_fieldRead' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_mCons._simp_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_mCons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_mNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchArms._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.tyBeq_refl.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq_refl._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.tysBeq_refl.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tysBeq_refl._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_refl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.tysBeq_refl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.uninh_of_inert.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.uninh_of_inert._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh_of_inert' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_uninh.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_uninh._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtl_uninh.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_uninh._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_uninh' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.taken_arm' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchArms' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchPair._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchPair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchRebuilt._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchRebuilt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchRebuilt.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchRebuilt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.simplePat.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.validU.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_uninh' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.findArm.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findArm.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findArm.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_5' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_6' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_7' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_8' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.fl_of' does not depend on any axioms\n'LexLeanPreservation.Rust.fnFallible.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of._simp_1_14' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.funSem_of.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_12' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.isTemp.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isTemp.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.item_ne' depends on axioms: [propext]\n'LexLeanPreservation.Rust.kind_ne' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sound._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sound._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.simulate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Representable._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Representable.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Representable._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.RepresentableL._f' does not depend on any axioms\n'LexLeanPreservation.Rust.Representable' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Representable._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.Representable._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.compose' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rel_ne_stuck' depends on axioms: [propext]\n'LexLeanPreservation.Rust.repL_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.repL_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.runItem_abort_infallible' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtAll_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wtAll_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_map._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_map' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_adt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_bool' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_bytes' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encExcept.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_encExcept' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_list' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encList' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encOption.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_encOption' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encOrdering' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encPair' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encUnit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_errorV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i32' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i64' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_int' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_listEnc' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_nat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_noneV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_okV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_optEnc.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_someV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_optEnc' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_ordering' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_pairV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_string' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u32' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u64' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_unitValue' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_nil' depends on axioms: [propext]\n'LexLeanPreservation.encExcept.eq_1' does not depend on any axioms\n'LexLeanPreservation.encExcept.eq_2' does not depend on any axioms\n'LexLeanPreservation.encOption.eq_1' does not depend on any axioms\n'LexLeanPreservation.encOption.eq_2' does not depend on any axioms\n'LexLeanPreservation.encPair.eq_1' does not depend on any axioms\n'LexLeanPreservation.encUnit.eq_1' does not depend on any axioms\n'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n-- statement vocabulary\ninductive LexLeanPreservation.Obs : Type\nnumber of parameters: 0\nconstructors:\nLexLeanPreservation.Obs.value : LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs\nLexLeanPreservation.Obs.overflow : LexLeanPreservation.Obs\nLexLeanPreservation.Obs.stuck : LexLeanPreservation.Obs\ndef LexLeanPreservation.Rel : Bool → LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs :=\nfun fits v => bif fits then LexLeanPreservation.Obs.value v else LexLeanPreservation.Obs.overflow\ndef LexLeanPreservation.Conv : LexLeanTarget.TargetSyntax.Program →\n List (Nat × LexLeanTarget.TargetSyntax.Value) → LexLeanTarget.TargetSyntax.Expr → LexLeanPreservation.Obs → Prop :=\nfun p env e o => ∃ n, LexLeanPreservation.obs (LexLeanTarget.TargetSemantics.eval n p env e) = some o\ndef LexLeanPreservation.FunRel : LexLeanTarget.TargetSyntax.Program →\n Nat → List LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs → Prop :=\nfun p f args o =>\n ∃ fn,\n LexLeanTarget.TargetSemantics.LexLeanRuntime.index p.functions f = some fn ∧\n ∃ env,\n LexLeanTarget.TargetSemantics.bindAll fn.parameters args [] = some env ∧\n LexLeanPreservation.Conv p env fn.body o\ndef LexLeanPreservation.RunConv : LexLeanTarget.TargetSyntax.Program →\n Nat → List LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs → Prop :=\nfun p entry args o => ∃ n, LexLeanPreservation.obs (LexLeanTarget.TargetSemantics.run n p entry args) = some o\ndef LexLeanPreservation.Rust.WT : LexLeanTarget.TargetSyntax.Program →\n LexLeanPreservation.Rust.RCrate →\n LexLeanPreservation.Rust.Flags → LexLeanTarget.TargetSyntax.Value → LexLeanTarget.TargetSyntax.Ty → Prop :=\nfun p c A x x_1 =>\n x.brecOn (LexLeanPreservation.Rust.WT._f p c A)\n (fun t f => ⟨LexLeanPreservation.Rust.WTL._f p c A t f, LexLeanPreservation.Rust.WTAll._f p c A t f⟩) x_1\ndef LexLeanPreservation.Rust.WTL : LexLeanTarget.TargetSyntax.Program →\n LexLeanPreservation.Rust.RCrate →\n LexLeanPreservation.Rust.Flags →\n List LexLeanTarget.TargetSyntax.Value → List LexLeanTarget.TargetSyntax.Ty → Prop :=\nfun p c A x x_1 =>\n (LexLeanTarget.TargetSyntax.Value.brecOn_1 x (LexLeanPreservation.Rust.WT._f p c A) fun t f =>\n ⟨LexLeanPreservation.Rust.WTL._f p c A t f, LexLeanPreservation.Rust.WTAll._f p c A t f⟩).1\n x_1\ndef LexLeanPreservation.Rust.fnIdent : Nat → LexLeanPreservation.Rust.RIdent :=\nfun f => LexLeanTarget.RustSyntax.Ident.generated LexLeanTarget.RustSyntax.IdentKind.function f\ndef LexLeanPreservation.Rust.fnFallible : LexLeanPreservation.Rust.RCrate → Nat → Option Bool :=\nfun c f =>\n Option.map (fun fn => LexLeanTarget.RustSemantics.fallibleType fn.snd.fst)\n (LexLeanTarget.RustSemantics.findFunction c.items (LexLeanPreservation.Rust.fnIdent f))\ndef LexLeanPreservation.Rust.RCI : LexLeanPreservation.Rust.RCrate →\n LexLeanPreservation.Rust.RIdent → List LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Rust.ROut → Prop :=\nfun c f args o =>\n o ≠ LexLeanTarget.RustSemantics.ROutcome.exhausted ∧ ∃ n, LexLeanTarget.RustSemantics.invoke n c f args = o\ndef LexLeanPreservation.Rust.Realizes : Bool → LexLeanPreservation.Obs → LexLeanPreservation.Rust.ROut → Prop :=\nfun fl x x_1 =>\n match x, x_1 with\n | LexLeanPreservation.Obs.value v, LexLeanTarget.RustSemantics.ROutcome.value w => w = v\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.raise => fl = true\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.abort => True\n | x, x_2 => False\ndef LexLeanPreservation.Rust.RealizesFn : Bool → LexLeanPreservation.Obs → LexLeanPreservation.Rust.ROut → Prop :=\nfun fallible x x_1 =>\n match x, x_1 with\n | LexLeanPreservation.Obs.value v, LexLeanTarget.RustSemantics.ROutcome.value w => w = bif fallible then v.ok else v\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.value w =>\n fallible = true ∧ w = LexLeanTarget.TargetSyntax.Value.unit.error\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.abort => True\n | x, x_2 => False\ndef LexLeanPreservation.Rust.FunSem : LexLeanTarget.TargetSyntax.Program →\n LexLeanPreservation.Rust.RCrate → LexLeanPreservation.Rust.Flags → Nat → Nat → Prop :=\nfun p c A n f =>\n ∀ (fn : LexLeanTarget.TargetSyntax.Function) (args : List LexLeanTarget.TargetSyntax.Value)\n (env : List (Nat × LexLeanTarget.TargetSyntax.Value)) (F : Bool),\n LexLeanTarget.TargetSemantics.LexLeanRuntime.index p.functions f = some fn →\n LexLeanPreservation.Rust.WTL p c A args fn.types →\n LexLeanTarget.TargetSemantics.bindAll fn.parameters args [] = some env →\n LexLeanPreservation.Rust.fnFallible c f = some F →\n ∀ (o : LexLeanPreservation.Obs),\n LexLeanPreservation.obs (LexLeanTarget.TargetSemantics.eval n p env fn.body) = some o →\n o ≠ LexLeanPreservation.Obs.stuck →\n (∀ (v : LexLeanTarget.TargetSyntax.Value),\n o = LexLeanPreservation.Obs.value v → LexLeanPreservation.Rust.WT p c A v fn.result) ∧\n ∃ ro,\n LexLeanPreservation.Rust.RealizesFn F o ro ∧\n LexLeanPreservation.Rust.RCI c (LexLeanPreservation.Rust.fnIdent f) args ro\ndef LexLeanPreservation.someObs : LexLeanPreservation.Obs → LexLeanPreservation.Obs :=\nfun x =>\n match x with\n | LexLeanPreservation.Obs.value v => LexLeanPreservation.Obs.value v.some\n | LexLeanPreservation.Obs.overflow => LexLeanPreservation.Obs.overflow\n | LexLeanPreservation.Obs.stuck => LexLeanPreservation.Obs.stuck\ndef LexLeanPreservation.Rust.Representable : LexLeanTarget.TargetSyntax.Value → Prop :=\nfun x => x.brecOn LexLeanPreservation.Rust.Representable._f LexLeanPreservation.Rust.RepresentableL._f\ndef LexLeanPreservation.Rust.RepresentableL : List LexLeanTarget.TargetSyntax.Value → Prop :=\nfun x =>\n LexLeanTarget.TargetSyntax.Value.brecOn_1 x LexLeanPreservation.Rust.Representable._f\n LexLeanPreservation.Rust.RepresentableL._f\nLexLeanPreservation.Rust.runItem_abort_infallible : ∀ (profile : LexLeanTarget.RustSyntax.Profile)\n (item : LexLeanTarget.RustSyntax.Item) (values : List LexLeanTarget.TargetSyntax.Value),\n LexLeanTarget.RustSemantics.runItem profile item values = LexLeanTarget.RustSemantics.ROutcome.abort →\n LexLeanTarget.RustSemantics.itemFallible item = false\n","stdout_sha256":"9e0472f91d223c59a91278481b94d08828d6fee0418af0a2e358feb943474fbf","tool":"lean"} +{"argv":["env","lean","-R","$STAGING/preserve-src","$STAGING/preserve-src/LexLeanPreserve/Audit.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Audit","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanPreservation.Obs' does not depend on any axioms\n'LexLeanPreservation.obs.match_1' does not depend on any axioms\n'LexLeanPreservation.obs' does not depend on any axioms\n'LexLeanPreservation.Conv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ConvA' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ObsL' does not depend on any axioms\n'LexLeanPreservation.obsL.match_1' does not depend on any axioms\n'LexLeanPreservation.obsL' does not depend on any axioms\n'LexLeanPreservation.ConvL' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.FunRel' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Obs._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.Obs._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.Obs.casesOn' does not depend on any axioms\n'LexLeanPreservation.Obs.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.Obs.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Obs.ctorElim' does not depend on any axioms\n'LexLeanPreservation.Obs.overflow.elim' does not depend on any axioms\n'LexLeanPreservation.Obs.stuck.elim' does not depend on any axioms\n'LexLeanPreservation.Obs.value.elim' does not depend on any axioms\n'LexLeanPreservation.Obs.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.Obs.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Obs.overflow.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Obs.recOn' does not depend on any axioms\n'LexLeanPreservation.Obs.stuck.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Obs.value.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Obs.value.inj' does not depend on any axioms\n'LexLeanPreservation.Obs.value.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Obs.value.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ObsL._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.ObsL._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.ObsL.casesOn' does not depend on any axioms\n'LexLeanPreservation.ObsL.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.ObsL.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.ObsL.ctorElim' does not depend on any axioms\n'LexLeanPreservation.ObsL.overflow.elim' does not depend on any axioms\n'LexLeanPreservation.ObsL.stuck.elim' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.elim' does not depend on any axioms\n'LexLeanPreservation.ObsL.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.ObsL.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ObsL.overflow.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ObsL.recOn' does not depend on any axioms\n'LexLeanPreservation.ObsL.stuck.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.inj' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.injEq' depends on axioms: [propext]\n'LexLeanPreservation.ObsL.values.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rel' does not depend on any axioms\n'LexLeanPreservation.Rel.eq_1' does not depend on any axioms\n'LexLeanPreservation.RelL' does not depend on any axioms\n'LexLeanPreservation.RelL.eq_1' does not depend on any axioms\n'LexLeanPreservation.RunConv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.addSteps_ne' does not depend on any axioms\n'LexLeanPreservation.chargeResult_ne' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.stable.match_1_16' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_18' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_20' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_22' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_24' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_26' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.eval.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.stable' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.evalArms_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs_ne' does not depend on any axioms\n'LexLeanPreservation.convA_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.eval_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs_addSteps' does not depend on any axioms\n'LexLeanPreservation.convA_hit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.convA_miss' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.evalList_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obsL_ne' does not depend on any axioms\n'LexLeanPreservation.convL_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.convL_cons._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.convL_cons._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.convL_cons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.convL_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_apply._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_apply._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_apply._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_apply' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_build' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_call._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_call._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_call' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_closure' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_cond._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_cond._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_field' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_first' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_let._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_let._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_let' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_match._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_match._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_match' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_matchV' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs_chargeResult' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_prim' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_second' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_var' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.funRel_intro' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs.eq_1' does not depend on any axioms\n'LexLeanPreservation.obs.eq_2' does not depend on any axioms\n'LexLeanPreservation.obs.eq_3' does not depend on any axioms\n'LexLeanPreservation.obs.eq_4' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_1' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_2' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_3' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_4' does not depend on any axioms\n'LexLeanPreservation.run_of_funRel' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.run.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ListEnc' does not depend on any axioms\n'LexLeanPreservation.ListEnc._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.ListEnc._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.ListEnc.casesOn' does not depend on any axioms\n'LexLeanPreservation.ListEnc.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.ListEnc.elem' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items' does not depend on any axioms\n'LexLeanPreservation.ListEnc.enc' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_cons' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_eq.match_1_1' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_nil' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_eq._f' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_eq' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.ListEnc.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.ListEnc.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk.inj' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk.injEq' depends on axioms: [propext]\n'LexLeanPreservation.ListEnc.mk.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ListEnc.recOn' does not depend on any axioms\n'LexLeanPreservation.OptEnc' does not depend on any axioms\n'LexLeanPreservation.OptEnc._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.OptEnc._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.OptEnc.casesOn' does not depend on any axioms\n'LexLeanPreservation.OptEnc.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.OptEnc.elem' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc_none' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc_some' does not depend on any axioms\n'LexLeanPreservation.encOption.match_1' does not depend on any axioms\n'LexLeanPreservation.encOption' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc_map' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.OptEnc.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.OptEnc.noConfusion' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk.noConfusion' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk.inj' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk.injEq' depends on axioms: [propext]\n'LexLeanPreservation.OptEnc.mk.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.OptEnc.recOn' does not depend on any axioms\n'LexLeanPreservation.construct_adt' does not depend on any axioms\n'LexLeanPreservation.construct_cons' does not depend on any axioms\n'LexLeanPreservation.construct_error' does not depend on any axioms\n'LexLeanPreservation.construct_false' does not depend on any axioms\n'LexLeanPreservation.construct_nil' does not depend on any axioms\n'LexLeanPreservation.construct_none' does not depend on any axioms\n'LexLeanPreservation.construct_ok' does not depend on any axioms\n'LexLeanPreservation.construct_pair' does not depend on any axioms\n'LexLeanPreservation.construct_some' does not depend on any axioms\n'LexLeanPreservation.construct_succ' does not depend on any axioms\n'LexLeanPreservation.construct_true' does not depend on any axioms\n'LexLeanPreservation.construct_unit' does not depend on any axioms\n'LexLeanPreservation.construct_zero' does not depend on any axioms\n'LexLeanPreservation.encExcept.match_1' does not depend on any axioms\n'LexLeanPreservation.encExcept' does not depend on any axioms\n'LexLeanPreservation.encList' does not depend on any axioms\n'LexLeanPreservation.encOrdering.match_1' does not depend on any axioms\n'LexLeanPreservation.encOrdering' does not depend on any axioms\n'LexLeanPreservation.encPair' does not depend on any axioms\n'LexLeanPreservation.encUnit' does not depend on any axioms\n'LexLeanPreservation.listEnc._proof_1' does not depend on any axioms\n'LexLeanPreservation.listEnc._proof_2' does not depend on any axioms\n'LexLeanPreservation.listEnc' does not depend on any axioms\n'LexLeanPreservation.optEnc._proof_1' does not depend on any axioms\n'LexLeanPreservation.optEnc._proof_2' does not depend on any axioms\n'LexLeanPreservation.optEnc' does not depend on any axioms\n'LexLeanPreservation.bytes_empty' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.bytes_one' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.bytes_zero' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.encOrdering.eq_1' does not depend on any axioms\n'LexLeanPreservation.encOrdering.eq_2' does not depend on any axioms\n'LexLeanPreservation.encOrdering.eq_3' does not depend on any axioms\n'LexLeanPreservation.fromOrdering_encOrdering' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.fromStrings_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.fromStrings_map._f' does not depend on any axioms\n'LexLeanPreservation.fromStrings_map' does not depend on any axioms\n'LexLeanPreservation.intFits' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.listIndex_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.listIndex_map._f' does not depend on any axioms\n'LexLeanPreservation.listIndex_map' does not depend on any axioms\n'LexLeanPreservation.listIndex_unique.match_1_1' does not depend on any axioms\n'LexLeanPreservation.listIndex_unique._f' does not depend on any axioms\n'LexLeanPreservation.listIndex_unique' does not depend on any axioms\n'LexLeanPreservation.obs_intResult' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.obs_natResult' does not depend on any axioms\n'LexLeanPreservation.prim_append_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_append_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_boolNot' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_compareBytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_bool' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_nat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_ordering' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_string' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_index_bytes.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_index_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_index_list.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_index_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intMul' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intNeg' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intQuot' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intRem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intSub' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_join.match_1_1' does not depend on any axioms\n'LexLeanPreservation.toStrings_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.toStrings_map.match_1_3' does not depend on any axioms\n'LexLeanPreservation.toStrings_map._f' does not depend on any axioms\n'LexLeanPreservation.toStrings_map' does not depend on any axioms\n'LexLeanPreservation.prim_join' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_length_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_length_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_length_string' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natAdd' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natEq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natLe' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natLt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natMul' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natQuot' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natRem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natSub' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_slice_bytes.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_slice_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_slice_list.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_slice_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_splitExact.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_splitExact' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_utf8Decode.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_utf8Decode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_utf8Encode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.compareBytes.eq_1' depends on axioms: [propext]\n'LexLeanRuntime.equal.eq_1' does not depend on any axioms\n'LexLeanRuntime.length.eq_1' does not depend on any axioms\n'LexLeanRuntime.slice.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromOrdering.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.checkedMultiplyWith.match_1' does not depend on any axioms\n'LexLeanPreservation.checkedMultiplyWith' does not depend on any axioms\n'LexLeanPreservation.checkedQuotientWith' does not depend on any axioms\n'LexLeanPreservation.decimalFits.match_1' does not depend on any axioms\n'LexLeanPreservation.decimalFits' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.divideStep' does not depend on any axioms\n'LexLeanPreservation.divide_unique.match_1_1' does not depend on any axioms\n'LexLeanPreservation.divide_unique._f' does not depend on any axioms\n'LexLeanPreservation.divide_unique' does not depend on any axioms\n'LexLeanPreservation.multiplyStep' does not depend on any axioms\n'LexLeanPreservation.multiply_unique.match_1_1' does not depend on any axioms\n'LexLeanPreservation.multiply_unique._f' does not depend on any axioms\n'LexLeanPreservation.multiply_unique' does not depend on any axioms\n'LexLeanPreservation.prim_bitAnd_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i64.match_1_2' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_int' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_int.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_int' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ordOf.match_1' does not depend on any axioms\n'LexLeanPreservation.ordOf' does not depend on any axioms\n'LexLeanPreservation.KeySpec' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.mk._flat_ctor' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.recOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.spec' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.compareCodes_eq.match_1_1' does not depend on any axioms\n'LexLeanPreservation.compareCodes_eq._f' depends on axioms: [propext]\n'LexLeanPreservation.compareCodes_eq' depends on axioms: [propext]\n'LexLeanPreservation.compareCodes_swap.match_1_1' does not depend on any axioms\n'LexLeanPreservation.compareCodes_swap._f' depends on axioms: [propext]\n'LexLeanPreservation.compareCodes_swap' depends on axioms: [propext]\n'LexLeanPreservation.lessThanE' does not depend on any axioms\n'LexLeanPreservation.prim_compare_key.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_compare_key' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_lessThan' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.orderOf_insert' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderBool.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.keySpec_bool' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI16.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI32.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI64.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI8.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderInt.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_int' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderNat.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_nat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.keySpec_pair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderString.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.keySpec_string' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU16.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU32.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU64.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU8.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanCollections.compareCodes._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.eq_1' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.eq_2' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.eq_3' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.eq_4' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.eq_def' depends on axioms: [propext]\n'LexLeanCollections.insertEntry.eq_1' does not depend on any axioms\n'LexLeanCollections.insertEntry.eq_2' does not depend on any axioms\n'LexLeanCollections.insertEntry.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.compareValue.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_18' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_20' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_22' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_23' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_24' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_25' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_26' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_27' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_28' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_29' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_30' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_31' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_33' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_34' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_35' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_36' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_37' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_38' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_39' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_40' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_41' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_42' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_43' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_44' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_45' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_46' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_47' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_48' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_49' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_50' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_51' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_52' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_53' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_54' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_55' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_56' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_57' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_58' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_59' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_60' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_61' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_62' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_63' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_65' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_66' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_67' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_68' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_69' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_70' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_71' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_72' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_73' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_74' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_75' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_76' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_77' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_78' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_79' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_80' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_81' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_82' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_83' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_84' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_85' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_86' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_87' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_88' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_89' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_90' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_91' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_92' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_93' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_94' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_95' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_96' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_97' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_98' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_99' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Conv.bool_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Conv.fits_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.FunRel.fits_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ListEnc.enc.eq_1' does not depend on any axioms\n'LexLeanPreservation.ListEnc.enc_cons' does not depend on any axioms\n'LexLeanPreservation.ListEnc.enc_nil' does not depend on any axioms\n'LexLeanPreservation.LookOps' does not depend on any axioms\n'LexLeanPreservation.LookOps.casesOn' does not depend on any axioms\n'LexLeanPreservation.LookOps.l0' does not depend on any axioms\n'LexLeanPreservation.LookOps.leq' does not depend on any axioms\n'LexLeanPreservation.LookOps.lgt' does not depend on any axioms\n'LexLeanPreservation.LookOps.llt' does not depend on any axioms\n'LexLeanPreservation.LookOps.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.LookOps.recOn' does not depend on any axioms\n'LexLeanPreservation.SetOps' does not depend on any axioms\n'LexLeanPreservation.SetOps.c0' does not depend on any axioms\n'LexLeanPreservation.SetOps.casesOn' does not depend on any axioms\n'LexLeanPreservation.SetOps.ceq' does not depend on any axioms\n'LexLeanPreservation.SetOps.cgt' does not depend on any axioms\n'LexLeanPreservation.SetOps.clt' does not depend on any axioms\n'LexLeanPreservation.SetOps.i0' does not depend on any axioms\n'LexLeanPreservation.SetOps.ieq' does not depend on any axioms\n'LexLeanPreservation.SetOps.igt' does not depend on any axioms\n'LexLeanPreservation.SetOps.ilt' does not depend on any axioms\n'LexLeanPreservation.SetOps.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.SetOps.r0' does not depend on any axioms\n'LexLeanPreservation.SetOps.recOn' does not depend on any axioms\n'LexLeanPreservation.SetOps.req' does not depend on any axioms\n'LexLeanPreservation.SetOps.rgt' does not depend on any axioms\n'LexLeanPreservation.SetOps.rlt' does not depend on any axioms\n'LexLeanPreservation.TopoOps' does not depend on any axioms\n'LexLeanPreservation.TopoOps.casesOn' does not depend on any axioms\n'LexLeanPreservation.TopoOps.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.TopoOps.recOn' does not depend on any axioms\n'LexLeanPreservation.TopoOps.s_next' does not depend on any axioms\n'LexLeanPreservation.TopoOps.s_nil' does not depend on any axioms\n'LexLeanPreservation.TopoOps.s_stuck' does not depend on any axioms\n'LexLeanPreservation.TopoOps.z_cons' does not depend on any axioms\n'LexLeanPreservation.TopoOps.z_nil' does not depend on any axioms\n'LexLeanPreservation.Tpl.boolE' does not depend on any axioms\n'LexLeanPreservation.Tpl.byOrder' does not depend on any axioms\n'LexLeanPreservation.Tpl.cns' does not depend on any axioms\n'LexLeanPreservation.Tpl.fn' does not depend on any axioms\n'LexLeanPreservation.Tpl.lst' does not depend on any axioms\n'LexLeanPreservation.Tpl.v' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphInnerFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.pr' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphNodesFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.natOne' does not depend on any axioms\n'LexLeanPreservation.Tpl.nl' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphReachableFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphSuccessorsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphTopologicalFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.iterateFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.iterateUntilFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.listFoldFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapContainsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapFoldFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapInsertFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapLookupFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapProjectFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapRemoveFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reachFrontierFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reachIntoFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reachRoundsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reverseFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setContainsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setFilterFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setInsertFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setRemoveFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setUnionFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoFinished' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoReadyFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoRoundsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoUnreachedFn' does not depend on any axioms\n'LexLeanPreservation.blt_succ_fits._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.blt_succ_fits' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_cond_false' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_cond_true' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.enc_elem' does not depend on any axioms\n'LexLeanPreservation.enc_entry' does not depend on any axioms\n'LexLeanPreservation.foldFits.match_1' does not depend on any axioms\n'LexLeanPreservation.foldFits._f' does not depend on any axioms\n'LexLeanPreservation.foldFits' does not depend on any axioms\n'LexLeanPreservation.foldFits._sunfold' does not depend on any axioms\n'LexLeanPreservation.foldFits._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.foldFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.foldFits.eq_2' does not depend on any axioms\n'LexLeanPreservation.foldFits.eq_def' does not depend on any axioms\n'LexLeanPreservation.graphFits' does not depend on any axioms\n'LexLeanPreservation.graphFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.iterateFits.match_1' does not depend on any axioms\n'LexLeanPreservation.iterateFits._f' does not depend on any axioms\n'LexLeanPreservation.iterateFits' does not depend on any axioms\n'LexLeanPreservation.iterateFits._sunfold' does not depend on any axioms\n'LexLeanPreservation.iterateFits._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.iterateFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.iterateFits.eq_2' does not depend on any axioms\n'LexLeanPreservation.iterateFits.eq_def' does not depend on any axioms\n'LexLeanPreservation.length_eq' does not depend on any axioms\n'LexLeanPreservation.prim_compare_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.reachNext' does not depend on any axioms\n'LexLeanPreservation.tpl_graphInner.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setInsert.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setInsert._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setInsert' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphInner._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphInner' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphNodes.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_graphNodes._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphNodes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapLookup.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapLookup._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapLookup' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphSuccessors' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachFrontier.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_reachInto.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setContains.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setContains._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setContains' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachInto._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachInto' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachFrontier._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachFrontier' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachRounds.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setUnion.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setUnion._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setUnion' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachRounds._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachRounds' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphReachable' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reverse.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_reverse._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reverse' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setRemove.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setRemove._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setRemove' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoReady.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_topoUnreached.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_topoUnreached._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoUnreached' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoReady._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoReady' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoRounds.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_topoRounds._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoRounds' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphTopological' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterate.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_iterate._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterateUntil.match_1_1' does not depend on any axioms\n'LexLeanPreservation.untilFits.match_1' does not depend on any axioms\n'LexLeanPreservation.untilFits._f' does not depend on any axioms\n'LexLeanPreservation.untilFits' does not depend on any axioms\n'LexLeanPreservation.tpl_iterateUntil._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterateUntil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_listFold.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_listFold._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_listFold' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapContains' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapFold.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapFold._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapFold' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapInsert.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapInsert._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapInsert' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapKeys.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapKeys._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapKeys' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapRemove.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapRemove._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapRemove' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapValues.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapValues._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapValues' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setDifference.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setDifference._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setDifference' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setIntersection.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setIntersection._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setIntersection' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.untilFits._sunfold' does not depend on any axioms\n'LexLeanPreservation.untilFits._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.untilFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.untilFits.eq_2' does not depend on any axioms\n'LexLeanPreservation.untilFits.eq_def' does not depend on any axioms\n'LexLeanPreservation.validExcept.match_1' does not depend on any axioms\n'LexLeanPreservation.InvExcept' does not depend on any axioms\n'LexLeanPreservation.InvList' does not depend on any axioms\n'LexLeanPreservation.InvList.eq_1' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.match_1' does not depend on any axioms\n'LexLeanPreservation.StrictAsc._f' does not depend on any axioms\n'LexLeanPreservation.StrictAsc' does not depend on any axioms\n'LexLeanPreservation.InvMap' does not depend on any axioms\n'LexLeanPreservation.validOption.match_1' does not depend on any axioms\n'LexLeanPreservation.InvOption' does not depend on any axioms\n'LexLeanPreservation.InvOption.eq_1' does not depend on any axioms\n'LexLeanPreservation.InvOption.eq_2' does not depend on any axioms\n'LexLeanPreservation.InvPair' does not depend on any axioms\n'LexLeanPreservation.InvSet' does not depend on any axioms\n'LexLeanPreservation.StrictAsc._sunfold' does not depend on any axioms\n'LexLeanPreservation.StrictAsc._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_1' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_2' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_3' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_def' does not depend on any axioms\n'LexLeanPreservation.Tpl.validListFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validMapFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validOptionFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validPairFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validResultFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validSetFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validTrueFn' does not depend on any axioms\n'LexLeanPreservation.ascMap.match_1' does not depend on any axioms\n'LexLeanPreservation.lessB.match_1' does not depend on any axioms\n'LexLeanPreservation.lessB' does not depend on any axioms\n'LexLeanPreservation.ascMap._f' does not depend on any axioms\n'LexLeanPreservation.ascMap' does not depend on any axioms\n'LexLeanPreservation.ascMap._sunfold' does not depend on any axioms\n'LexLeanPreservation.ascMap._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_1' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_2' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_3' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_def' does not depend on any axioms\n'LexLeanPreservation.ascMap_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.lessB_iff' depends on axioms: [propext]\n'LexLeanPreservation.ascMap_iff._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.ascMap_iff' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.ascMap_inv' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.ascSet._f' does not depend on any axioms\n'LexLeanPreservation.ascSet' does not depend on any axioms\n'LexLeanPreservation.ascSet._sunfold' does not depend on any axioms\n'LexLeanPreservation.ascSet._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_1' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_2' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_3' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_def' does not depend on any axioms\n'LexLeanPreservation.ascSet_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.ascSet_iff._f' depends on axioms: [propext]\n'LexLeanPreservation.ascSet_iff' depends on axioms: [propext]\n'LexLeanPreservation.ascSet_inv' depends on axioms: [propext]\n'LexLeanPreservation.condAnd_iff' depends on axioms: [propext]\n'LexLeanPreservation.invList_eqs.match_1_1' does not depend on any axioms\n'LexLeanPreservation.invList_eqs._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.invList_eqs' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.lessB.eq_1' does not depend on any axioms\n'LexLeanPreservation.lessB_eq' depends on axioms: [propext]\n'LexLeanPreservation.lessB_gt' depends on axioms: [propext]\n'LexLeanPreservation.lessB_lt' depends on axioms: [propext]\n'LexLeanPreservation.someObs.match_1' does not depend on any axioms\n'LexLeanPreservation.someObs' does not depend on any axioms\n'LexLeanPreservation.tpl_validList.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validList.match_1' does not depend on any axioms\n'LexLeanPreservation.validList._f' does not depend on any axioms\n'LexLeanPreservation.validList' does not depend on any axioms\n'LexLeanPreservation.tpl_validList' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validMap.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_validMap._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validMap' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validOption.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validOption' does not depend on any axioms\n'LexLeanPreservation.tpl_validOption' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validPair.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validPair' does not depend on any axioms\n'LexLeanPreservation.tpl_validPair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validResult.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validExcept' does not depend on any axioms\n'LexLeanPreservation.tpl_validResult' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validSet.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_validSet._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validSet' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validTrue' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.trueIff' does not depend on any axioms\n'LexLeanPreservation.validExcept_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validExcept_inv' does not depend on any axioms\n'LexLeanPreservation.validList._sunfold' does not depend on any axioms\n'LexLeanPreservation.validList._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.validList.eq_1' does not depend on any axioms\n'LexLeanPreservation.validList.eq_2' does not depend on any axioms\n'LexLeanPreservation.validList.eq_def' does not depend on any axioms\n'LexLeanPreservation.validList_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validList_iff._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.validList_iff' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.validList_inv' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.validOption.eq_1' does not depend on any axioms\n'LexLeanPreservation.validOption.eq_2' does not depend on any axioms\n'LexLeanPreservation.validOption_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validOption_inv' depends on axioms: [propext]\n'LexLeanPreservation.validPair_inv' depends on axioms: [propext]\n'LexLeanPreservation.validTrue_inv' does not depend on any axioms\n'LexLeanPreservation.Rust.Ctx' does not depend on any axioms\n'LexLeanPreservation.Rust.Flags' does not depend on any axioms\n'LexLeanPreservation.Rust.RCrate' does not depend on any axioms\n'LexLeanPreservation.Rust.RIdent' does not depend on any axioms\n'LexLeanPreservation.Rust.WT._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.adtFields' depends on axioms: [propext]\n'LexLeanTarget.TargetSyntax.IntKind.ofNat' does not depend on any axioms\n'LexLeanTarget.TargetSyntax.IntKind.ofNat_ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Rust.instDecidableEqIntKind_lexLeanPreservation._proof_1' does not depend on any axioms\n'LexLeanPreservation.Rust.instDecidableEqIntKind_lexLeanPreservation._proof_2' does not depend on any axioms\n'LexLeanPreservation.Rust.instDecidableEqIntKind_lexLeanPreservation' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flagOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fnIdent' does not depend on any axioms\n'LexLeanPreservation.Rust.fnFallible' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.inert._f' does not depend on any axioms\n'LexLeanPreservation.Rust.inert' does not depend on any axioms\n'LexLeanPreservation.Rust.WT._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.WTAll._f' does not depend on any axioms\n'LexLeanPreservation.Rust.WTL.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctxLookup.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup._f' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup' does not depend on any axioms\n'LexLeanPreservation.Rust.local_' does not depend on any axioms\n'LexLeanPreservation.Rust.EnvRel' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ROut' does not depend on any axioms\n'LexLeanPreservation.Rust.Halt' does not depend on any axioms\n'LexLeanPreservation.Rust.REnv' does not depend on any axioms\n'LexLeanPreservation.Rust.RExpr' does not depend on any axioms\n'LexLeanPreservation.Rust.RC' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RLet' does not depend on any axioms\n'LexLeanPreservation.Rust.LetsOK' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.append' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.below' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.below.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.brecOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.recOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.append_left' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.append_right' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.below' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.below.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.brecOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.recOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RBlock' does not depend on any axioms\n'LexLeanPreservation.Rust.dispatched_ne' does not depend on any axioms\n'LexLeanPreservation.Rust.finished_ne' does not depend on any axioms\n'LexLeanPreservation.Rust.returned_ne' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_24' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_26' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_28' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_30' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_32' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_34' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_36' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.eval.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_22' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.invoke.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.stable' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.reval_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCB' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.block' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCA' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.revalBlock_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCB.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCI' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.invoke_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCI.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCL' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.revalList_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCL.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.WTAll' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.block_of_lets' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.block_of_raise' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.ctxLookup._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup_slot._simp_1_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotFree' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup_slot' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_cons_other' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sameIdent_self' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_cons_self' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sameIdent_local' depends on axioms: [propext]\n'LexLeanPreservation.Rust.envRel_bind' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.envRel_extra' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.envRel_ghost' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sameIdent_kind' depends on axioms: [propext]\n'LexLeanPreservation.Rust.envRel_temp' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.listIndex_eq.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.listIndex_eq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.listIndex_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.index_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.inert._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.inert._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_nil.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_raise_head.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcl_raise_head.match_1_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcl_raise_head' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_raise_tail' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.revalArms_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.slotFree.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sunfold' depends on axioms: [propext]\n'LexLeanTarget.RustSemantics.eval.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_18' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_20' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.invoke.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.invoke.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.kindNumber.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.lookup.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.lookup.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.lookup.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.lookup.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.lookup.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.lookup.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd' does not depend on any axioms\n'LexLeanPreservation.Rust.isTemp._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isTemp.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isTemp' depends on axioms: [propext]\n'LexLeanPreservation.Rust.letsBind.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds._f' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds._f' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind._f' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind' does not depend on any axioms\n'LexLeanPreservation.Rust.tempFresh' does not depend on any axioms\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.foldN.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.flatB._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep.match_7' does not depend on any axioms\n'LexLeanPreservation.Rust.foldStep' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldB' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats._f' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats' does not depend on any axioms\n'LexLeanPreservation.Rust.okBlock' does not depend on any axioms\n'LexLeanPreservation.Rust.partRead._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Kind.casesOn' does not depend on any axioms\n'LexLeanPreservation.Rust.elseCtx.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.elseCtx' does not depend on any axioms\n'LexLeanPreservation.Rust.elseLets.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.elseLets' does not depend on any axioms\n'LexLeanPreservation.Rust.heldOK.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.heldOK' does not depend on any axioms\n'LexLeanPreservation.Rust.negateR._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.negateR._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.negateR.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.negateR' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_5' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_7' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_9' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identBoxed' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal' does not depend on any axioms\n'LexLeanPreservation.Rust.isWild._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.unboxOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotOK.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocal' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armShape.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.armShape' does not depend on any axioms\n'LexLeanPreservation.Rust.otherArms.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.otherArms' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.noClosure.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.noClosure._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh' depends on axioms: [propext]\n'LexLeanPreservation.Rust.covered' depends on axioms: [propext]\n'LexLeanPreservation.Rust.scrut' does not depend on any axioms\n'LexLeanPreservation.Rust.validU.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.validU' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotOK' does not depend on any axioms\n'LexLeanPreservation.Rust.ctorOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identsDistinct.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct._f' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct' does not depend on any axioms\n'LexLeanPreservation.Rust.litOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArg._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.match_6' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArg.match_8' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArg' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArgs._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildTail.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildsArm.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildsArm' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.itemOK.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemOK' does not depend on any axioms\n'LexLeanPreservation.Rust.itemTyped.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemTyped.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf' does not depend on any axioms\n'LexLeanPreservation.Rust.itemTyped' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_9' does not depend on any axioms\n'LexLeanPreservation.Rust.isFixed._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped' depends on axioms: [propext]\n'LexLeanPreservation.Rust.primTyped' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.litValues._f' does not depend on any axioms\n'LexLeanPreservation.Rust.litValue' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.typedLitAll._f' does not depend on any axioms\n'LexLeanPreservation.Rust.typedLits.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Corr' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.below' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.below.casesOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.brecOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.casesOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.recOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.FunOK' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.CrateOK' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Fresh' does not depend on any axioms\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn' depends on axioms: [propext]\n'LexLeanPreservation.Rust.FunSem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Kind._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.casesOn' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ctorElim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.b.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.e.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.k.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.l.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.m.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.ops.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.recOn' does not depend on any axioms\n'LexLeanPreservation.Rust.KPre.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.KPre' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Kind.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.ctorElim' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Kind.nat.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.plain.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.plain.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.recOn' does not depend on any axioms\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesM.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.RealizesM' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Sem.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.viewVal._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Sem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.foldN._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identsDistinct._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_10' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_11' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_12' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_13' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_14' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_6' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_7' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_8' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.litValues' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue._sunfold' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.litValue._unsafe_rec' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues._sunfold' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.paramCtx._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patsBinds' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.patLocals._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patsBinds._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArgs._sunfold' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs._unsafe_rec' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.typedLitAll' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.typedLits._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_of_inert.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_of_inert.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_of_inert._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_of_inert' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_of_inert._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_of_inert' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Halt.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.LetsRaise.halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.block_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.boxed' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesM.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesM.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_bytes_inv' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_list_inv' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_string_inv' depends on axioms: [propext]\n'LexLeanPreservation.Rust.takes_of_typed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.allWidth_of.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_eq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_eq._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.tysBeq_eq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq_eq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.wt_fixed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.allWidth_of._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.allWidth_of' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.width_of_typed.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.width_of_typed.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.width_of_typed.match_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.width_of_typed' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.accepts_of_typed' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_apply' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtl_append.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_append._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_append' depends on axioms: [propext]\n'LexLeanPreservation.Rust.apply_result' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.bindPattern_shape.match_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.bindPattern_shape._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.bindPatterns_shape._simp_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindPatterns_shape.match_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.bindPatterns_shape._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.bindPattern_shape' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.bindPatterns_shape' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms_spec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_4' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_6' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_7' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.boolArms_eval' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.boxWith.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_100' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_102' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_96' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_98' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_function' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.call_result' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.const_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.convert_args.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.convert_args' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_append_fresh' depends on axioms: [propext]\n'LexLeanPreservation.Rust.envRel_fresh' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_not._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_cond.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.itemResult.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.eval_match' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fixedTyped.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_18' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_19' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_20' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_21' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_22' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_23' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_24' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_25' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_26' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_27' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_28' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_29' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_30' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_31' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_32' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_33' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_34' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_35' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_36' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_37' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_38' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_39' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_40' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_41' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_42' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_43' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_44' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_45' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_46' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_47' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_48' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_49' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_50' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_51' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_52' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_53' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_54' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_55' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_56' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_57' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_58' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_59' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_60' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_61' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN_sound.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.split_last.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.split_last._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.split_last' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep_spec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcb_nil_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_nomatch.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcb_cons_nomatch' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_stop' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_prefix' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_flat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_read_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_cons_same' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcb_fold_last' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldStep_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldN_sound._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldN_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldB_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldN.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_append' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_bind._simp_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_bind' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotFree_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_weaken' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_elseCtx' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_temp._simp_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_temp' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fromStrings_wt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fromStrings_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fromStrings_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.hasWidth_i16' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_i32' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_i64' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_i8' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u16' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u32' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u64' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u8' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.heldOK.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.heldOK.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.isFixed._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.isSeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.isTemp._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.itemOK.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemOperands_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.itemResult' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.kpre_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_pred._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_pred.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_pred' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.kpre_else' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.kpre_then' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_of_lets' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_b_rcb' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.k_branch' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_cond_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_isZero_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_lit_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate_halt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_negate_halt.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_nonZero_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_23' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_25' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_27' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_29' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_31' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_33' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_35' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_37' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_39' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_41' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_43' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_45' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_47' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_49' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_51' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_not_inv.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_not_inv.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_not_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.k_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_read.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_read' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.kpre_held' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.letsBind.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.letsOK_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.letsOK_shape' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.litValue._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_4' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_def' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_5' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.eq_def' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.lit_branch' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.lookup_through._simp_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.lookup_through' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms_spec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms_eval' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.obsL_evalList_zero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.obs_eval_zero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.oneOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf_halt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.param_env.match_1_1' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.bindAll.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.param_env._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.param_env' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.patBinds.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_10' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_6' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_7' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_8' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.primTyped.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_apply_halt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_apply_halt.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_apply_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_call_halt.match_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_runtime' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_construct' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct_halt.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct_halt.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_isZero.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_isZero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_lit.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_lit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue._simp_10' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue._simp_9' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue.match_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_pair.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_pair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_litValues.match_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rcl_litValues._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_nonZero.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_nonZero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_pair_halt_left' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_pair_halt_right' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_widen.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_widen' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_widen_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_11' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_7' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_litValues' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_nil_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_single_halt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_single_halt.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_single_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_widen_one' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.readOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizesL_halt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizesL_haltL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizes_halt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizesM_overflow' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizes_oneOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.runItem_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.runItem_succ' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_applyGen.match_1_13' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen.match_1_15' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen.match_1_28' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_apply' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_applyF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_bOfE' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_build.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_build.match_1_99' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_build' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildConst' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildPair.match_1_101' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_97' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_99' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildSucc.match_1_129' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSucc.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSucc' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildSuccF.match_1_101' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSuccF.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSuccF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_callF.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callF.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_callOps.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callOps.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callOps' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_closure.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.wtl_length.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_length._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_length' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_closure' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_cond.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_cond.match_1_11' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_condId.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_condId' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_eOfB' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_eOfBFold' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_eOfBNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_fOfB' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_unit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_fUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kHeld' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kLit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kId' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kIf' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kNeg' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kSame' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_lCons.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons.match_1_17' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons.match_1_19' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_lNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_letBind.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letBind.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letBind' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_letWild.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letWild.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letWild' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBool._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchHolder.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchHolder.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchHolder' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBool' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBoolId._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBoolId.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchBoolId' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchNat._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchNat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchUnit._proof_1_386' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchUnit.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchUnit.match_1_387' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsCons._simp_1_13' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsCons.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons.match_1_14' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons.match_1_16' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsOfL' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_29' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_31' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_ops_box.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_ops_box.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_ops_box.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_ops_box' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_part._sparseCasesOn_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_part.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_part.match_1_14' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_part.match_1_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_part' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_part._sparseCasesOn_1_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_prim.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_prim.match_1_38' does not depend on any axioms\n'LexLeanPreservation.Rust.wtAll_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wtAll_iff._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.wtAll_iff' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_append' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_bitwise' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_checked' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_convert' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_decode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_encode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_fixedTyped.match_1_67' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_format' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_index' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_join' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_parse' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_shift' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.slice_eq' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_slice' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_split' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_unary' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtl_one.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_one' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_three.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_three' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_two.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_two' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_fixedTyped' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_prim' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_prim' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_primF.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF.match_1_7' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_primWiden.match_1_108' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_110' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_112' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_114' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_116' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.typedLitAll_wt.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit_wt.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits_wt.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_var' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_varUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_zero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.shapeOf.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_10' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_11' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_12' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_13' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_14' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_6' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_7' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_8' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.tempFresh.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_12.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_13.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_14.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.allWidth.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.allWidth.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.allWidth.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_100' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_101' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_102' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_103' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_104' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_105' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_106' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_107' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_108' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_109' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_110' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_111' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_112' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_113' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_114' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_115' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_116' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_117' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_118' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_119' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_120' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_121' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_122' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_123' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_124' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_125' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_126' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_127' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_128' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_129' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_130' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_131' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_132' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_133' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_134' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_135' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_136' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_137' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_138' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_139' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_140' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_141' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_142' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_143' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_144' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_145' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_146' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_147' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_148' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_149' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_150' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_151' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_152' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_153' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_154' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_155' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_156' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_157' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_158' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_159' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_160' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_161' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_162' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_163' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_164' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_165' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_166' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_167' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_168' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_169' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_170' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_171' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_172' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_173' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_174' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_175' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_176' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_177' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_178' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_179' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_180' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_181' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_182' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_183' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_184' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_185' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_186' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_51' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_52' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_53' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_54' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_55' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_56' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_57' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_58' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_59' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_60' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_61' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_62' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_63' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_64' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_65' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_66' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_67' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_68' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_69' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_70' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_71' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_72' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_73' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_74' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_75' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_76' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_77' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_78' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_79' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_80' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_81' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_82' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_83' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_84' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_85' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_86' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_87' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_88' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_89' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_90' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_91' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_92' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_93' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_94' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_95' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_96' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_97' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_98' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_99' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_100' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_101' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_102' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_103' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_104' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_105' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_106' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_107' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_108' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_109' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_110' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_111' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_112' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_113' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_114' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_115' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_116' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_117' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_118' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_119' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_120' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_121' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_122' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_123' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_124' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_125' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_126' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_127' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_128' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_129' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_130' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_131' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_132' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_133' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_134' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_135' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_136' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_137' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_138' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_139' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_140' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_141' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_142' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_143' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_144' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_145' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_146' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_147' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_148' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_149' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_150' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_151' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_152' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_153' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_154' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_155' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_156' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_157' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_158' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_159' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_160' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_161' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_162' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_163' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_164' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_165' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_166' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_167' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_168' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_169' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_170' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_171' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_172' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_173' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_174' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_175' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_176' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_177' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_178' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_179' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_180' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_181' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_182' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_183' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_184' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_51' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_52' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_53' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_54' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_55' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_56' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_57' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_58' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_59' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_60' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_61' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_62' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_63' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_64' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_65' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_66' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_67' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_68' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_69' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_70' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_71' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_72' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_73' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_74' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_75' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_76' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_77' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_78' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_79' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_80' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_81' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_82' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_83' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_84' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_85' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_86' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_87' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_88' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_89' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_90' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_91' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_92' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_93' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_94' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_95' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_96' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_97' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_98' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_99' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemAccepts.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemAccepts.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.literal.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_10' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_11' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_12' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_13' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_14' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_15' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_3' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_4' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_5' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_6' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_7' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_8' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_9' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.propagated.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.returned.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_10' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_11' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_12' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_13' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_14' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_15' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_16' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_17' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_18' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_19' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_20' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_21' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_22' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_23' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_24' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_25' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_26' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_27' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_28' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_29' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_30' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_31' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_32' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_33' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_34' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_35' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_36' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_37' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_38' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_39' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_40' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_41' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_42' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_43' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_44' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_45' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_46' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_47' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_48' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_49' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_5' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_50' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_51' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_52' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_53' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_54' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_55' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_56' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_57' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_58' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_59' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_6' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_60' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_61' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_62' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_63' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_64' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_65' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_66' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_67' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_68' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_69' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_7' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_70' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_71' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_72' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_73' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_74' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_75' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_76' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_77' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_78' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_79' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_8' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_80' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_81' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_82' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_83' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_9' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_10' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_100' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_101' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_102' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_103' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_104' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_105' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_106' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_107' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_108' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_109' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_11' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_110' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_111' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_112' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_113' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_114' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_115' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_116' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_117' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_118' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_119' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_12' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_120' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_121' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_122' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_123' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_124' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_125' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_126' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_127' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_128' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_129' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_13' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_130' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_131' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_132' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_133' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_134' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_135' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_136' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_137' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_138' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_139' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_14' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_140' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_141' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_142' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_143' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_144' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_145' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_146' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_147' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_148' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_149' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_15' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_150' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_151' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_152' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_153' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_154' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_155' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_156' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_157' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_158' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_159' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_16' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_160' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_161' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_162' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_163' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_164' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_165' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_166' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_167' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_168' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_169' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_17' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_170' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_171' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_172' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_173' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_174' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_175' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_176' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_177' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_178' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_179' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_18' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_180' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_181' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_182' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_183' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_184' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_185' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_186' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_187' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_188' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_189' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_19' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_190' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_191' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_192' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_193' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_194' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_195' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_196' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_197' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_198' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_199' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_20' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_200' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_201' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_202' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_203' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_204' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_205' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_206' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_207' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_208' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_209' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_21' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_210' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_211' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_212' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_213' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_214' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_215' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_216' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_217' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_218' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_219' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_22' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_220' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_221' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_222' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_223' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_224' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_225' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_226' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_227' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_228' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_229' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_23' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_230' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_231' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_232' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_233' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_234' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_235' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_236' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_237' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_238' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_239' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_24' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_240' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_241' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_242' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_243' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_244' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_245' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_246' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_247' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_248' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_249' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_25' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_250' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_251' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_252' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_253' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_254' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_255' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_256' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_257' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_258' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_259' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_26' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_260' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_261' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_262' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_263' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_264' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_265' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_266' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_267' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_268' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_269' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_27' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_270' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_271' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_272' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_273' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_274' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_275' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_276' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_277' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_278' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_279' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_28' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_280' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_281' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_282' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_283' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_284' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_285' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_286' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_287' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_288' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_289' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_29' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_290' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_291' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_292' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_293' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_294' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_295' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_296' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_297' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_298' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_299' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_30' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_300' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_301' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_302' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_303' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_304' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_305' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_306' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_307' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_308' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_309' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_31' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_310' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_311' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_312' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_313' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_314' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_315' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_316' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_317' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_318' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_319' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_32' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_320' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_321' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_322' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_323' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_324' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_325' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_326' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_327' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_328' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_329' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_33' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_330' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_331' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_332' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_333' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_334' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_335' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_336' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_337' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_338' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_339' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_34' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_340' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_341' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_342' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_343' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_344' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_345' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_346' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_347' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_348' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_349' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_35' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_350' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_351' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_352' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_353' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_354' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_355' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_356' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_357' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_358' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_359' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_36' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_360' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_361' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_362' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_363' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_364' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_365' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_366' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_367' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_368' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_369' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_37' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_370' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_38' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_39' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_40' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_41' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_42' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_43' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_44' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_45' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_46' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_47' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_48' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_49' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_5' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_50' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_51' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_52' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_53' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_54' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_55' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_56' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_57' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_58' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_59' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_6' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_60' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_61' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_62' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_63' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_64' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_65' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_66' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_67' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_68' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_69' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_7' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_70' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_71' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_72' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_73' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_74' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_75' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_76' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_77' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_78' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_79' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_8' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_80' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_81' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_82' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_83' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_84' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_85' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_86' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_87' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_88' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_89' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_9' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_90' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_91' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_92' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_93' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_94' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_95' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_96' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_97' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_98' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_99' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromStrings.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromStrings.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromStrings.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.primitive.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1000' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1001' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1002' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1003' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1004' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1005' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1006' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1007' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1008' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1009' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1010' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1011' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1012' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1013' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1014' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1015' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1016' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1017' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1018' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1019' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1020' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1021' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1022' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1023' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1024' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1025' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1026' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1027' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1028' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1029' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1030' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1031' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1032' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1033' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1034' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1035' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1036' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1037' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1038' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1039' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1040' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1041' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1042' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1043' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1044' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1045' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1046' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1047' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1048' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1049' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1050' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1051' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1052' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1053' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1054' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1055' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1056' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1057' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1058' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1059' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1060' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1061' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1062' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1063' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1064' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1065' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1066' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1067' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1068' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1069' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1070' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1071' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1072' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1073' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1074' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1075' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1076' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1077' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1078' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1079' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1080' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1081' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1082' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1083' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1084' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1085' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1086' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1087' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1088' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1089' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1090' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1091' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1092' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1093' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1094' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1095' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1096' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1097' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1098' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1099' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1426' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1427' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1428' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1429' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1430' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1431' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1432' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1433' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1434' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1435' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1436' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1437' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1438' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1439' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1440' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1441' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1442' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1443' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1444' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1445' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1446' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1447' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1448' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1449' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1450' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1451' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1452' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1453' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1454' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1455' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1456' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1457' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1458' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1459' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1460' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1461' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1462' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1463' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1464' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1465' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1466' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1467' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1468' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1469' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1470' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1471' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1472' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1473' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1474' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1475' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1476' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1477' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1478' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1479' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1480' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1481' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1482' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1483' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1484' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1485' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1486' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1487' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1488' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1489' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1490' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1491' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1492' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1493' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1494' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1495' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1496' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1497' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1498' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1499' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1500' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1501' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1502' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1503' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1504' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1505' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1506' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1507' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1508' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1509' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1510' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1511' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1512' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1513' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1514' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1515' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1516' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1517' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1518' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1519' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1520' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1521' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1522' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1523' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1524' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1525' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1526' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1527' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1528' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1529' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1530' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1531' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1532' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1533' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1534' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1535' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1536' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1537' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1538' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1539' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1540' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1541' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1542' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1543' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1544' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1545' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1546' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1547' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1548' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1549' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1550' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1551' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1552' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1553' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1554' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1555' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1556' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1557' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1558' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1559' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1560' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1561' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1562' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1563' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1564' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1565' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1566' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1567' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1568' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1569' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1570' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1571' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1572' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1573' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1574' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1575' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1576' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1577' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1578' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1579' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1580' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1581' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1582' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1583' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1584' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1585' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1586' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1587' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1588' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1589' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1590' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1591' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1592' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1593' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1594' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1595' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1596' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1597' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1598' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1599' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1600' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1601' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1602' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1603' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1604' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1605' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1606' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1607' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1608' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1609' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1610' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1611' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1612' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1613' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1614' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1615' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1616' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1617' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1618' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1619' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1620' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1621' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1622' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1623' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1624' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1625' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1626' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1627' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1628' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1629' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1630' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1631' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1632' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1633' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1634' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1635' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1636' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1637' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1638' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1639' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1640' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1641' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1642' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1643' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1644' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1645' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1646' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1647' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1648' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1649' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1650' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1651' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1652' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1653' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1654' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1655' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1656' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1657' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1658' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1659' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1660' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1661' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1662' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1663' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1664' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1665' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1666' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1667' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1668' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1669' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1670' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1671' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1672' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1673' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1674' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1675' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1676' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1677' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1678' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1679' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1680' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1681' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1682' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1683' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1684' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1685' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1686' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1687' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1688' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1689' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1690' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1691' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1692' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1693' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1694' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1695' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1696' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1697' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1698' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1699' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1700' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1701' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1702' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1703' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1704' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1705' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1706' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1707' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1708' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1709' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1710' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1711' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1712' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1713' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1714' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1715' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1716' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1717' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1718' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1719' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1720' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1721' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1722' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1723' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1724' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1725' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1726' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1727' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1728' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1729' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1730' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1731' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1732' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1733' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1734' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1735' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1736' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1737' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1738' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1739' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1740' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1741' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1742' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1743' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1744' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1745' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1746' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1747' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1748' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1749' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1750' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1751' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1752' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1753' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1754' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1755' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1756' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1757' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1758' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1759' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1760' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1761' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1762' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1763' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1764' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1765' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1766' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1767' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1768' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1769' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1770' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1771' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1772' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1773' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1774' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1775' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1776' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1777' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1778' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1779' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1780' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1781' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1782' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1783' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1784' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1785' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1786' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1787' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1788' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1789' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1790' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1791' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1792' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1793' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1794' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1795' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1796' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1797' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1798' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1799' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_18' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1800' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1801' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1802' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1803' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1804' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1805' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1806' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1807' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1808' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1809' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1810' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1811' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1812' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1813' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1814' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1815' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1816' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1817' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1818' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1819' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1820' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1821' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1822' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1823' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1824' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1825' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1826' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1827' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1828' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1829' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1830' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1831' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1832' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1833' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1834' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1835' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1836' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1837' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1838' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1839' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1840' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1841' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1842' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1843' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1844' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1845' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1846' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1847' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1848' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1849' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1850' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1851' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1852' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1853' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1854' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1855' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1856' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1857' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1858' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1859' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1860' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1861' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1862' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1863' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1864' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1865' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1866' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1867' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1868' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1869' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1870' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1871' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1872' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1873' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1874' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1875' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1876' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1877' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1878' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1879' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1880' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1881' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1882' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1883' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1884' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1885' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1886' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1887' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1888' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1889' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1890' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1891' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1892' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1893' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1894' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1895' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1896' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1897' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1898' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1899' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1900' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1901' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1902' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1903' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1904' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1905' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1906' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1907' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1908' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1909' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1910' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1911' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1912' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1913' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1914' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1915' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1916' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1917' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1918' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1919' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1920' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1921' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1922' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1923' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1924' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1925' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1926' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1927' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1928' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1929' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1930' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1931' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1932' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1933' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1934' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1935' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1936' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1937' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1938' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1939' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1940' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1941' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1942' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1943' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1944' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1945' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1946' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1947' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1948' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1949' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1950' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1951' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1952' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1953' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1954' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1955' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1956' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1957' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1958' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1959' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1960' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1961' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1962' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1963' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1964' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1965' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1966' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1967' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1968' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1969' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1970' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1971' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1972' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1973' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1974' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1975' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1976' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1977' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1978' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1979' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1980' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1981' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1982' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1983' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1984' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1985' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1986' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1987' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1988' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1989' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1990' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1991' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1992' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1993' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1994' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1995' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1996' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1997' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1998' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1999' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_20' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2000' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2001' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2002' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2003' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2004' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2005' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2006' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2007' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2008' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2009' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2010' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2011' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2012' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2013' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2014' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2015' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2016' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2017' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2018' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2019' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2020' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2021' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2022' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2023' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2024' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2025' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2026' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2027' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2028' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2029' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2030' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2031' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2032' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2033' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2034' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2035' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2036' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2037' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2038' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2039' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2040' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2041' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2042' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2043' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2044' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2045' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2046' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2047' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2048' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2049' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2050' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2051' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2052' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2053' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2054' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2055' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2056' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2057' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2058' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2059' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2060' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2061' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2062' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2063' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2064' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2065' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2066' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2067' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2068' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2069' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2070' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2071' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2072' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2073' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2074' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2075' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2076' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2077' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2078' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2079' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2080' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2081' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2082' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2083' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2084' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2085' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2086' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2087' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2088' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2089' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2090' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2091' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2092' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2093' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2094' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2095' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2096' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2097' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2098' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2099' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_22' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_23' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_24' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2426' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2427' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2428' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2429' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2430' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2431' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2432' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2433' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2434' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2435' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2436' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2437' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2438' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2439' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2440' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2441' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2442' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2443' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2444' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2445' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2446' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2447' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2448' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2449' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2450' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2451' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2452' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2453' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2454' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2455' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2456' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2457' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2458' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2459' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2460' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2461' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2462' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2463' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2464' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2465' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2466' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2467' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2468' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2469' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2470' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2471' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2472' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2473' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2474' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2475' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2476' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2477' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2478' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2479' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2480' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2481' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2482' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2483' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2484' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2485' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2486' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2487' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2488' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2489' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2490' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2491' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2492' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2493' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2494' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2495' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2496' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2497' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2498' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2499' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_25' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2500' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2501' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2502' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2503' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2504' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2505' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2506' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2507' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2508' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2509' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2510' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2511' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2512' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2513' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2514' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2515' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2516' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2517' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2518' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2519' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2520' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2521' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2522' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2523' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2524' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2525' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2526' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2527' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2528' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2529' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2530' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2531' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2532' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2533' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2534' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2535' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2536' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2537' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2538' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2539' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2540' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2541' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2542' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2543' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2544' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2545' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2546' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2547' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2548' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2549' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2550' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2551' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2552' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2553' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2554' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2555' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2556' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2557' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2558' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2559' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2560' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2561' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2562' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2563' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2564' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2565' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2566' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2567' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2568' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2569' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2570' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2571' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2572' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2573' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2574' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2575' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2576' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2577' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2578' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2579' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2580' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2581' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2582' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2583' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2584' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2585' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2586' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2587' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2588' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2589' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2590' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2591' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2592' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2593' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2594' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2595' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2596' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2597' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2598' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2599' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_26' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2600' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2601' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2602' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2603' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2604' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2605' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2606' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2607' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2608' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2609' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2610' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2611' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2612' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2613' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2614' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2615' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2616' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2617' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2618' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2619' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2620' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2621' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2622' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2623' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2624' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2625' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2626' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2627' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2628' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2629' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2630' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2631' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2632' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2633' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2634' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2635' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2636' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2637' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2638' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2639' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2640' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2641' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2642' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2643' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2644' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2645' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2646' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2647' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2648' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2649' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2650' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2651' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2652' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2653' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2654' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2655' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2656' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2657' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2658' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2659' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2660' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2661' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2662' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2663' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2664' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2665' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2666' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2667' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2668' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2669' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2670' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2671' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2672' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2673' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2674' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2675' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2676' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2677' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2678' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2679' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2680' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2681' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2682' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2683' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2684' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2685' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2686' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2687' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2688' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2689' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2690' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2691' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2692' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2693' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2694' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2695' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2696' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2697' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2698' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2699' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_27' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2700' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2701' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2702' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2703' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2704' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2705' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2706' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2707' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2708' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2709' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2710' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2711' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2712' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2713' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2714' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2715' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2716' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2717' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2718' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2719' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2720' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2721' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2722' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2723' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2724' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2725' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2726' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2727' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2728' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2729' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2730' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2731' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2732' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2733' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2734' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2735' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2736' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2737' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2738' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2739' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2740' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2741' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2742' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2743' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2744' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2745' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2746' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2747' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2748' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2749' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2750' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2751' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2752' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2753' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2754' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2755' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2756' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2757' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2758' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2759' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2760' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2761' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2762' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2763' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2764' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2765' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2766' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2767' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2768' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2769' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2770' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2771' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2772' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2773' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2774' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2775' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2776' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2777' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2778' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2779' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2780' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2781' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2782' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2783' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2784' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2785' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2786' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2787' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2788' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2789' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2790' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2791' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2792' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2793' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2794' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2795' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2796' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2797' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2798' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2799' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_28' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2800' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2801' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2802' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2803' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2804' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2805' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2806' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2807' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2808' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2809' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2810' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2811' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2812' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2813' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2814' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2815' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2816' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2817' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2818' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2819' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2820' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2821' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2822' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2823' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2824' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2825' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2826' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2827' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2828' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2829' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2830' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2831' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2832' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2833' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2834' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2835' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2836' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2837' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2838' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2839' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2840' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2841' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2842' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2843' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2844' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2845' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2846' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2847' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2848' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2849' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2850' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2851' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2852' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2853' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2854' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2855' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2856' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2857' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2858' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2859' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2860' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2861' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2862' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2863' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2864' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2865' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2866' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2867' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2868' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2869' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2870' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2871' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2872' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2873' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2874' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2875' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2876' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2877' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2878' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2879' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2880' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2881' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2882' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2883' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2884' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2885' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2886' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2887' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2888' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2889' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2890' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2891' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2892' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2893' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2894' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2895' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2896' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2897' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2898' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2899' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_29' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2900' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2901' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2902' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2903' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2904' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2905' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2906' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2907' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2908' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2909' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2910' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2911' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2912' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2913' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2914' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2915' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2916' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2917' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2918' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2919' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2920' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2921' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2922' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2923' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2924' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2925' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2926' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2927' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2928' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2929' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2930' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2931' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2932' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2933' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2934' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2935' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2936' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2937' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2938' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2939' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2940' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2941' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2942' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2943' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2944' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2945' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2946' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2947' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2948' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2949' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2950' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2951' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2952' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2953' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2954' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2955' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2956' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2957' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2958' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2959' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2960' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2961' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2962' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2963' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2964' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2965' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2966' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2967' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2968' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2969' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2970' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2971' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2972' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2973' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2974' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2975' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2976' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2977' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2978' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2979' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2980' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2981' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2982' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2983' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2984' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2985' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2986' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2987' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2988' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2989' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2990' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2991' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2992' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2993' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2994' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2995' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2996' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2997' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2998' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2999' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_30' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3000' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3001' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3002' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3003' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3004' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3005' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3006' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3007' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3008' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3009' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3010' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3011' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3012' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3013' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3014' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3015' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3016' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3017' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3018' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3019' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3020' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3021' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3022' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3023' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3024' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3025' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3026' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3027' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3028' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3029' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3030' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3031' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3032' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3033' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3034' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3035' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3036' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3037' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3038' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3039' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3040' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3041' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3042' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3043' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3044' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3045' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3046' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3047' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3048' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3049' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3050' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3051' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3052' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3053' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3054' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3055' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3056' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3057' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3058' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3059' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3060' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3061' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3062' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3063' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3064' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3065' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3066' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3067' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3068' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3069' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3070' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3071' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3072' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3073' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3074' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3075' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3076' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3077' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3078' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3079' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3080' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3081' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3082' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3083' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3084' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3085' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3086' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3087' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3088' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3089' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3090' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3091' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3092' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3093' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3094' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3095' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3096' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3097' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3098' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3099' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_31' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_33' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_34' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_35' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_36' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_37' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_38' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_39' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_40' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_41' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_42' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_426' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_427' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_428' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_429' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_43' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_430' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_431' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_432' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_433' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_434' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_435' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_436' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_437' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_438' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_439' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_44' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_440' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_441' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_442' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_443' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_444' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_445' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_446' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_447' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_448' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_449' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_45' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_450' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_451' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_452' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_453' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_454' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_455' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_456' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_457' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_458' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_459' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_46' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_460' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_461' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_462' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_463' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_464' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_465' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_466' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_467' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_468' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_469' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_47' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_470' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_471' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_472' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_473' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_474' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_475' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_476' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_477' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_478' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_479' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_48' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_480' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_481' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_482' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_483' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_484' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_485' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_486' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_487' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_488' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_489' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_49' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_490' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_491' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_492' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_493' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_494' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_495' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_496' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_497' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_498' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_499' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_50' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_500' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_501' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_502' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_503' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_504' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_505' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_506' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_507' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_508' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_509' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_51' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_510' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_511' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_512' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_513' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_514' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_515' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_516' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_517' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_518' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_519' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_52' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_520' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_521' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_522' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_523' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_524' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_525' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_526' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_527' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_528' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_529' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_53' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_530' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_531' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_532' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_533' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_534' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_535' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_536' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_537' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_538' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_539' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_54' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_540' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_541' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_542' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_543' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_544' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_545' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_546' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_547' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_548' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_549' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_55' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_550' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_551' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_552' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_553' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_554' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_555' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_556' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_557' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_558' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_559' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_56' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_560' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_561' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_562' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_563' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_564' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_565' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_566' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_567' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_568' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_569' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_57' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_570' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_571' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_572' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_573' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_574' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_575' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_576' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_577' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_578' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_579' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_58' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_580' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_581' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_582' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_583' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_584' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_585' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_586' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_587' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_588' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_589' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_59' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_590' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_591' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_592' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_593' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_594' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_595' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_596' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_597' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_598' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_599' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_60' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_600' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_601' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_602' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_603' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_604' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_605' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_606' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_607' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_608' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_609' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_61' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_610' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_611' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_612' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_613' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_614' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_615' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_616' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_617' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_618' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_619' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_62' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_620' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_621' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_622' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_623' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_624' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_625' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_626' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_627' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_628' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_629' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_63' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_630' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_631' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_632' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_633' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_634' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_635' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_636' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_637' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_638' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_639' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_640' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_641' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_642' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_643' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_644' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_645' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_646' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_647' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_648' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_649' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_65' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_650' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_651' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_652' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_653' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_654' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_655' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_656' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_657' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_658' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_659' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_66' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_660' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_661' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_662' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_663' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_664' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_665' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_666' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_667' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_668' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_669' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_67' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_670' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_671' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_672' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_673' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_674' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_675' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_676' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_677' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_678' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_679' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_68' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_680' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_681' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_682' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_683' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_684' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_685' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_686' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_687' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_688' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_689' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_69' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_690' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_691' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_692' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_693' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_694' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_695' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_696' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_697' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_698' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_699' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_70' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_700' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_701' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_702' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_703' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_704' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_705' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_706' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_707' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_708' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_709' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_71' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_710' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_711' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_712' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_713' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_714' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_715' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_716' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_717' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_718' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_719' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_72' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_720' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_721' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_722' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_723' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_724' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_725' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_726' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_727' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_728' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_729' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_73' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_730' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_731' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_732' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_733' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_734' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_735' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_736' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_737' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_738' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_739' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_74' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_740' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_741' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_742' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_743' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_744' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_745' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_746' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_747' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_748' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_749' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_75' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_750' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_751' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_752' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_753' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_754' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_755' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_756' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_757' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_758' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_759' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_76' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_760' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_761' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_762' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_763' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_764' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_765' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_766' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_767' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_768' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_769' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_77' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_770' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_771' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_772' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_773' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_774' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_775' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_776' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_777' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_778' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_779' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_78' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_780' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_781' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_782' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_783' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_784' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_785' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_786' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_787' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_788' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_789' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_79' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_790' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_791' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_792' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_793' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_794' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_795' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_796' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_797' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_798' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_799' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_80' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_800' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_801' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_802' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_803' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_804' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_805' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_806' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_807' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_808' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_809' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_81' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_810' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_811' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_812' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_813' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_814' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_815' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_816' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_817' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_818' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_819' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_82' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_820' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_821' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_822' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_823' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_824' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_825' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_826' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_827' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_828' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_829' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_83' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_830' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_831' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_832' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_833' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_834' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_835' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_836' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_837' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_838' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_839' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_84' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_840' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_841' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_842' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_843' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_844' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_845' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_846' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_847' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_848' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_849' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_85' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_850' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_851' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_852' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_853' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_854' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_855' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_856' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_857' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_858' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_859' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_86' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_860' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_861' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_862' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_863' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_864' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_865' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_866' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_867' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_868' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_869' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_87' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_870' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_871' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_872' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_873' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_874' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_875' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_876' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_877' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_878' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_879' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_88' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_880' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_881' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_882' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_883' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_884' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_885' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_886' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_887' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_888' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_889' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_89' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_890' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_891' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_892' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_893' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_894' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_895' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_896' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_897' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_898' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_899' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_90' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_900' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_901' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_902' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_903' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_904' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_905' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_906' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_907' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_908' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_909' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_91' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_910' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_911' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_912' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_913' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_914' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_915' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_916' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_917' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_918' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_919' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_92' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_920' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_921' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_922' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_923' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_924' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_925' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_926' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_927' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_928' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_929' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_93' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_930' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_931' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_932' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_933' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_934' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_935' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_936' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_937' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_938' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_939' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_94' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_940' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_941' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_942' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_943' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_944' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_945' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_946' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_947' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_948' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_949' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_95' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_950' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_951' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_952' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_953' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_954' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_955' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_956' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_957' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_958' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_959' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_96' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_960' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_961' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_962' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_963' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_964' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_965' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_966' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_967' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_968' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_969' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_97' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_970' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_971' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_972' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_973' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_974' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_975' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_976' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_977' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_978' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_979' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_98' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_980' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_981' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_982' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_983' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_984' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_985' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_986' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_987' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_988' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_989' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_99' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_990' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_991' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_992' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_993' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_994' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_995' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_996' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_997' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_998' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_999' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.adtFields.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_12.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_13.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_12.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat_outer' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.boxedOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.boxedOne.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.boxedOne' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bp_entries._simp_1_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.simplePat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bp_entries.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.entriesOf._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bp_entries._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.bp_entries' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.directPat_cons._simp_1_4' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.identBoxed_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identLocal_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf_spec' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_cons' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_len.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_len._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_len' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_loads._simp_1_27' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_loads._simp_1_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_loads.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none._simp_1_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none._simp_1_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rlookup_append' depends on axioms: [propext]\n'LexLeanPreservation.Rust.same_boxed_boxed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_boxed_none' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_local_none._simp_1_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_local_none._simp_1_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_local_none.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.same_local_local' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_local_none._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_local_none' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_boxed_local' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rlookup_local_boxed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rlookup_local_single' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_loads._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.directPat_loads' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_boxed_some._simp_1_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_some._simp_1_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_some.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_some._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.entries_boxed_some' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.envRel_locals' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fields_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindPatterns_single' depends on axioms: [propext]\n'LexLeanPreservation.Rust.outer_bind' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.paramCtx_length.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_length._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_length' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.bindOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOne.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.covered.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.covered_mem._simp_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.wt_uninh._simp_10' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.covered_mem' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.ctorOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.destruct_canon' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq_refl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.destruct_excl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.directPat.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_lookup.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_none_of._simp_1_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_none_of.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sameIdent_iff' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_none_of._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_none_of' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.identsDistinct.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.entries_lookup._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_lookup' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.eval_field.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.eval_field._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_field.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_field' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats_none._simp_1_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats_none.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats_none._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats_none' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats_some._simp_1_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats_some.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats_some._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats_some' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_partRead' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.tyBeq_unit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.field_out' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.findArm_some.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.findArm_some._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.findArm_some' depends on axioms: [propext]\n'LexLeanPreservation.Rust.findDispatch_some.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.findDispatch_some._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.findDispatch_some' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_ext' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identBoxed.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identBoxed.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.isWild._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.okBlock.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.otherArms.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.otherArms_mem._simp_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.otherArms_mem' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.outer_miss' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.outer_view' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_ext.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_ext._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_ext' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_fresh.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_fresh._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_fresh' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocal.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_matchOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_matchOn_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_uncons.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_uncons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_scrut' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rca_hit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rca_miss' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_det' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_rebuild.match_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_eq_of_same' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg_rc' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_rebuild._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_rebuild' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.readOf_rc' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.realizesM_value' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArg_simple' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_def' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs_simple.match_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs_simple._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs_simple' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_14.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuild_rca._simp_1_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuild_rca.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_value._simp_1_21' depends on axioms: [propext]\n'LexLeanPreservation.Rust.single_rebuild' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_rca._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_rca' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuildsArm.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_nil' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_fieldGen._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_fieldGen.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_fieldGen.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.wtl_get.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_get._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_get' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_fieldGen' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_fieldHeld' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_fieldRead' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_mCons._simp_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_mCons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_mNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchArms._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.tyBeq_refl.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq_refl._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.tysBeq_refl.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tysBeq_refl._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_refl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.tysBeq_refl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.uninh_of_inert.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.uninh_of_inert._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh_of_inert' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_uninh.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_uninh._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtl_uninh.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_uninh._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_uninh' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.taken_arm' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchArms' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchPair._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchPair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchRebuilt._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchRebuilt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchRebuilt.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchRebuilt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.simplePat.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.validU.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_uninh' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.findArm.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findArm.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findArm.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_5' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_6' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_7' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_8' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.fl_of' does not depend on any axioms\n'LexLeanPreservation.Rust.fnFallible.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of._simp_1_14' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.funSem_of.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_12' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.isTemp.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isTemp.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.item_ne' depends on axioms: [propext]\n'LexLeanPreservation.Rust.kind_ne' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sound._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sound._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.simulate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Representable._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Representable.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Representable._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.RepresentableL._f' does not depend on any axioms\n'LexLeanPreservation.Rust.Representable' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Representable._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.Representable._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.compose' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rel_ne_stuck' depends on axioms: [propext]\n'LexLeanPreservation.Rust.repL_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.repL_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.runItem_abort_infallible' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtAll_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wtAll_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_map._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_map' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_adt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_bool' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_bytes' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encExcept.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_encExcept' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_list' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encList' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encOption.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_encOption' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encOrdering' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encPair' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encUnit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_errorV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i32' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i64' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_int' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_listEnc' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_nat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_noneV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_okV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_optEnc.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_someV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_optEnc' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_ordering' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_pairV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_string' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u32' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u64' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_unitValue' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_nil' depends on axioms: [propext]\n'LexLeanPreservation.encExcept.eq_1' does not depend on any axioms\n'LexLeanPreservation.encExcept.eq_2' does not depend on any axioms\n'LexLeanPreservation.encOption.eq_1' does not depend on any axioms\n'LexLeanPreservation.encOption.eq_2' does not depend on any axioms\n'LexLeanPreservation.encPair.eq_1' does not depend on any axioms\n'LexLeanPreservation.encUnit.eq_1' does not depend on any axioms\n'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n-- statement vocabulary\ninductive LexLeanPreservation.Obs : Type\nnumber of parameters: 0\nconstructors:\nLexLeanPreservation.Obs.value : LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs\nLexLeanPreservation.Obs.overflow : LexLeanPreservation.Obs\nLexLeanPreservation.Obs.stuck : LexLeanPreservation.Obs\ndef LexLeanPreservation.Rel : Bool → LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs :=\nfun fits v => bif fits then LexLeanPreservation.Obs.value v else LexLeanPreservation.Obs.overflow\ndef LexLeanPreservation.Conv : LexLeanTarget.TargetSyntax.Program →\n List (Nat × LexLeanTarget.TargetSyntax.Value) → LexLeanTarget.TargetSyntax.Expr → LexLeanPreservation.Obs → Prop :=\nfun p env e o => ∃ n, LexLeanPreservation.obs (LexLeanTarget.TargetSemantics.eval n p env e) = some o\ndef LexLeanPreservation.FunRel : LexLeanTarget.TargetSyntax.Program →\n Nat → List LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs → Prop :=\nfun p f args o =>\n ∃ fn,\n LexLeanRuntime.index p.functions f = some fn ∧\n ∃ env,\n LexLeanTarget.TargetSemantics.bindAll fn.parameters args [] = some env ∧\n LexLeanPreservation.Conv p env fn.body o\ndef LexLeanPreservation.RunConv : LexLeanTarget.TargetSyntax.Program →\n Nat → List LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs → Prop :=\nfun p entry args o => ∃ n, LexLeanPreservation.obs (LexLeanTarget.TargetSemantics.run n p entry args) = some o\ndef LexLeanPreservation.Rust.WT : LexLeanTarget.TargetSyntax.Program →\n LexLeanPreservation.Rust.RCrate →\n LexLeanPreservation.Rust.Flags → LexLeanTarget.TargetSyntax.Value → LexLeanTarget.TargetSyntax.Ty → Prop :=\nfun p c A x x_1 =>\n x.brecOn (LexLeanPreservation.Rust.WT._f p c A)\n (fun t f => ⟨LexLeanPreservation.Rust.WTL._f p c A t f, LexLeanPreservation.Rust.WTAll._f p c A t f⟩) x_1\ndef LexLeanPreservation.Rust.WTL : LexLeanTarget.TargetSyntax.Program →\n LexLeanPreservation.Rust.RCrate →\n LexLeanPreservation.Rust.Flags →\n List LexLeanTarget.TargetSyntax.Value → List LexLeanTarget.TargetSyntax.Ty → Prop :=\nfun p c A x x_1 =>\n (LexLeanTarget.TargetSyntax.Value.brecOn_1 x (LexLeanPreservation.Rust.WT._f p c A) fun t f =>\n ⟨LexLeanPreservation.Rust.WTL._f p c A t f, LexLeanPreservation.Rust.WTAll._f p c A t f⟩).1\n x_1\ndef LexLeanPreservation.Rust.fnIdent : Nat → LexLeanPreservation.Rust.RIdent :=\nfun f => LexLeanTarget.RustSyntax.Ident.generated LexLeanTarget.RustSyntax.IdentKind.function f\ndef LexLeanPreservation.Rust.fnFallible : LexLeanPreservation.Rust.RCrate → Nat → Option Bool :=\nfun c f =>\n Option.map (fun fn => LexLeanTarget.RustSemantics.fallibleType fn.snd.fst)\n (LexLeanTarget.RustSemantics.findFunction c.items (LexLeanPreservation.Rust.fnIdent f))\ndef LexLeanPreservation.Rust.RCI : LexLeanPreservation.Rust.RCrate →\n LexLeanPreservation.Rust.RIdent → List LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Rust.ROut → Prop :=\nfun c f args o =>\n o ≠ LexLeanTarget.RustSemantics.ROutcome.exhausted ∧ ∃ n, LexLeanTarget.RustSemantics.invoke n c f args = o\ndef LexLeanPreservation.Rust.Realizes : Bool → LexLeanPreservation.Obs → LexLeanPreservation.Rust.ROut → Prop :=\nfun fl x x_1 =>\n match x, x_1 with\n | LexLeanPreservation.Obs.value v, LexLeanTarget.RustSemantics.ROutcome.value w => w = v\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.raise => fl = true\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.abort => True\n | x, x_2 => False\ndef LexLeanPreservation.Rust.RealizesFn : Bool → LexLeanPreservation.Obs → LexLeanPreservation.Rust.ROut → Prop :=\nfun fallible x x_1 =>\n match x, x_1 with\n | LexLeanPreservation.Obs.value v, LexLeanTarget.RustSemantics.ROutcome.value w => w = bif fallible then v.ok else v\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.value w =>\n fallible = true ∧ w = LexLeanTarget.TargetSyntax.Value.unit.error\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.abort => True\n | x, x_2 => False\ndef LexLeanPreservation.Rust.FunSem : LexLeanTarget.TargetSyntax.Program →\n LexLeanPreservation.Rust.RCrate → LexLeanPreservation.Rust.Flags → Nat → Nat → Prop :=\nfun p c A n f =>\n ∀ (fn : LexLeanTarget.TargetSyntax.Function) (args : List LexLeanTarget.TargetSyntax.Value)\n (env : List (Nat × LexLeanTarget.TargetSyntax.Value)) (F : Bool),\n LexLeanRuntime.index p.functions f = some fn →\n LexLeanPreservation.Rust.WTL p c A args fn.types →\n LexLeanTarget.TargetSemantics.bindAll fn.parameters args [] = some env →\n LexLeanPreservation.Rust.fnFallible c f = some F →\n ∀ (o : LexLeanPreservation.Obs),\n LexLeanPreservation.obs (LexLeanTarget.TargetSemantics.eval n p env fn.body) = some o →\n o ≠ LexLeanPreservation.Obs.stuck →\n (∀ (v : LexLeanTarget.TargetSyntax.Value),\n o = LexLeanPreservation.Obs.value v → LexLeanPreservation.Rust.WT p c A v fn.result) ∧\n ∃ ro,\n LexLeanPreservation.Rust.RealizesFn F o ro ∧\n LexLeanPreservation.Rust.RCI c (LexLeanPreservation.Rust.fnIdent f) args ro\ndef LexLeanPreservation.someObs : LexLeanPreservation.Obs → LexLeanPreservation.Obs :=\nfun x =>\n match x with\n | LexLeanPreservation.Obs.value v => LexLeanPreservation.Obs.value v.some\n | LexLeanPreservation.Obs.overflow => LexLeanPreservation.Obs.overflow\n | LexLeanPreservation.Obs.stuck => LexLeanPreservation.Obs.stuck\ndef LexLeanPreservation.Rust.Representable : LexLeanTarget.TargetSyntax.Value → Prop :=\nfun x => x.brecOn LexLeanPreservation.Rust.Representable._f LexLeanPreservation.Rust.RepresentableL._f\ndef LexLeanPreservation.Rust.RepresentableL : List LexLeanTarget.TargetSyntax.Value → Prop :=\nfun x =>\n LexLeanTarget.TargetSyntax.Value.brecOn_1 x LexLeanPreservation.Rust.Representable._f\n LexLeanPreservation.Rust.RepresentableL._f\nLexLeanPreservation.Rust.runItem_abort_infallible : ∀ (profile : LexLeanTarget.RustSyntax.Profile)\n (item : LexLeanTarget.RustSyntax.Item) (values : List LexLeanTarget.TargetSyntax.Value),\n LexLeanTarget.RustSemantics.runItem profile item values = LexLeanTarget.RustSemantics.ROutcome.abort →\n LexLeanTarget.RustSemantics.itemFallible item = false\n","stdout_sha256":"00f289d4fc19e67ca9ceb8f8ca124e22091484ae3602e0daf5283d6848fafe14","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustCore.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustCore.json new file mode 100644 index 000000000..663e94dc3 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R0/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R0/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustStd.json new file mode 100644 index 000000000..7120dac2e --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R0/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R0/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustCore.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustCore.json new file mode 100644 index 000000000..b9a9e3807 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R0/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R0/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustStd.json new file mode 100644 index 000000000..1bcd59feb --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R0/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R0/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.json new file mode 100644 index 000000000..b2f1ee70b --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R0.olean","$STAGING/preserve-src/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R0.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustCore.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustCore.json new file mode 100644 index 000000000..ab5b0a835 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R1/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R1/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustStd.json new file mode 100644 index 000000000..fd1da0f34 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R1/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R1/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustCore.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustCore.json new file mode 100644 index 000000000..9183d5fce --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R1/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R1/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustStd.json new file mode 100644 index 000000000..478e29215 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R1/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R1/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.json new file mode 100644 index 000000000..cf06f14e9 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R1.olean","$STAGING/preserve-src/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R1.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R1","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustCore.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustCore.json new file mode 100644 index 000000000..2f3415de9 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R2/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R2/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustStd.json new file mode 100644 index 000000000..7d434b193 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R2/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R2/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustCore.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustCore.json new file mode 100644 index 000000000..61117e1af --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R2/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R2/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustStd.json new file mode 100644 index 000000000..b340742c6 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R2/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R2/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.json new file mode 100644 index 000000000..05132d906 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R2.olean","$STAGING/preserve-src/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R2.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustCore.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustCore.json new file mode 100644 index 000000000..4be0f68e7 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R3/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R3/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustStd.json new file mode 100644 index 000000000..c9b4fdaaa --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R3/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R3/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustCore.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustCore.json new file mode 100644 index 000000000..503db814b --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R3/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R3/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustStd.json new file mode 100644 index 000000000..6d9f93af7 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R3/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R3/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.json new file mode 100644 index 000000000..855145b94 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R3.olean","$STAGING/preserve-src/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R3.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R3","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.Compose.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.Compose.RustStd.json new file mode 100644 index 000000000..4fc90cd2f --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R4/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R4/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.RustStd.json new file mode 100644 index 000000000..ede96e29c --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R4/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R4/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.json new file mode 100644 index 000000000..ff695c541 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R4.olean","$STAGING/preserve-src/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R4.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R4","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.Compose.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.Compose.RustStd.json new file mode 100644 index 000000000..9b7c8c1a1 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R5/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R5/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.RustStd.json new file mode 100644 index 000000000..40e6e7cdf --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R5/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R5/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.json new file mode 100644 index 000000000..70c471784 --- /dev/null +++ b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R5.olean","$STAGING/preserve-src/LexLeanPreserve/C0873d7adc0406a004403264fdb2d9dea/R5.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R5","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustCore.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustCore.json deleted file mode 100644 index b1cbea678..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R0/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R0/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustStd.json deleted file mode 100644 index 41c062682..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R0/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R0/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustCore.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustCore.json deleted file mode 100644 index 6661ed9a1..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R0/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R0/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustStd.json deleted file mode 100644 index 53e6147ec..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R0/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R0/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.json deleted file mode 100644 index e5614dd1f..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R0.olean","$STAGING/preserve-src/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R0.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustCore.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustCore.json deleted file mode 100644 index 84234195d..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R1/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R1/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustStd.json deleted file mode 100644 index d30c4f0ea..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R1/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R1/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustCore.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustCore.json deleted file mode 100644 index dbc52e786..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R1/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R1/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustStd.json deleted file mode 100644 index 9bdfad97f..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R1/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R1/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.json deleted file mode 100644 index a47b89033..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R1.olean","$STAGING/preserve-src/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R1.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R1","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustCore.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustCore.json deleted file mode 100644 index 2f512af0e..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R2/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R2/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustStd.json deleted file mode 100644 index 01f9a8fe2..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R2/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R2/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustCore.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustCore.json deleted file mode 100644 index cd4a42516..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R2/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R2/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustStd.json deleted file mode 100644 index eee7c51c7..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R2/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R2/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.json deleted file mode 100644 index 3214100d3..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R2.olean","$STAGING/preserve-src/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R2.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustCore.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustCore.json deleted file mode 100644 index 48f6ef951..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R3/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R3/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustStd.json deleted file mode 100644 index c95fb2901..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R3/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R3/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustCore.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustCore.json deleted file mode 100644 index 0be2fb96d..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R3/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R3/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustStd.json deleted file mode 100644 index ead45c7dd..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R3/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R3/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.json deleted file mode 100644 index c83ec53cc..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R3.olean","$STAGING/preserve-src/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R3.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R3","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.Compose.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.Compose.RustStd.json deleted file mode 100644 index aa8da4331..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R4/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R4/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.RustStd.json deleted file mode 100644 index 9477bde0a..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R4/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R4/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.json deleted file mode 100644 index a14c36ecf..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R4.olean","$STAGING/preserve-src/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R4.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R4","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.Compose.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.Compose.RustStd.json deleted file mode 100644 index 34521c1e1..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R5/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R5/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.RustStd.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.RustStd.json deleted file mode 100644 index 32d35d17c..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R5/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R5/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.json b/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.json deleted file mode 100644 index c1b92e885..000000000 --- a/examples/production/expected/verify/process/preserve/LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R5.olean","$STAGING/preserve-src/LexLeanPreserve/C7b8829e2cc52192864282f3d66903769/R5.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R5","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/production/expected/verify/production/compiler-input.json b/examples/production/expected/verify/production/compiler-input.json index a955f8c48..0a8b4a86f 100644 --- a/examples/production/expected/verify/production/compiler-input.json +++ b/examples/production/expected/verify/production/compiler-input.json @@ -1 +1 @@ -{"closures":[{"declarations":["Production.Main.checkedSum"],"erased":[],"instances":[{"declaration":"Production.Main.checkedSum","instance":"Production.Main.checkedSum","type_arguments":[]}],"internal_erased":[],"root":"Production.Main.checkedSum","runtime":["Production.Main.LexLeanRuntime.checkedAdd","Production.Main.LexLeanRuntime.checkedFromInt","Production.Main.LexLeanRuntime.instFixedUInt32"]},{"declarations":["Production.Kernel.countdown","Production.Main.halvings"],"erased":["Production.Kernel.countdown_decreases"],"instances":[{"declaration":"Production.Main.halvings","instance":"Production.Main.halvings","type_arguments":[]},{"declaration":"Production.Kernel.countdown","instance":"Production.Kernel.countdown","type_arguments":[]}],"internal_erased":["Production.Kernel.countdown._unary._proof_1"],"root":"Production.Main.halvings","runtime":["Production.Kernel.LexLeanRuntime.subtract"]},{"declarations":["Production.Kernel.firstOr","Production.Main.headOr"],"erased":[],"instances":[{"declaration":"Production.Main.headOr","instance":"Production.Main.headOr","type_arguments":[]},{"declaration":"Production.Kernel.firstOr","instance":"Production.Kernel.firstOr (Nat)","type_arguments":["Nat"]}],"internal_erased":[],"root":"Production.Main.headOr","runtime":[]},{"declarations":["Production.Kernel.applyTwice","Production.Main.quadruple"],"erased":[],"instances":[{"declaration":"Production.Main.quadruple","instance":"Production.Main.quadruple","type_arguments":[]},{"declaration":"Production.Kernel.applyTwice","instance":"Production.Kernel.applyTwice","type_arguments":[]}],"internal_erased":[],"root":"Production.Main.quadruple","runtime":[]},{"declarations":["Production.Kernel.area","Production.Main.shapeArea"],"erased":[],"instances":[{"declaration":"Production.Main.shapeArea","instance":"Production.Main.shapeArea","type_arguments":[]},{"declaration":"Production.Kernel.area","instance":"Production.Kernel.area","type_arguments":[]}],"internal_erased":[],"root":"Production.Main.shapeArea","runtime":["Production.Kernel.LexLeanRuntime.multiply"]},{"declarations":["Production.Kernel.total","Production.Main.sumAll"],"erased":[],"instances":[{"declaration":"Production.Main.sumAll","instance":"Production.Main.sumAll","type_arguments":[]},{"declaration":"Production.Kernel.total","instance":"Production.Kernel.total","type_arguments":[]}],"internal_erased":[],"root":"Production.Main.sumAll","runtime":[]}],"declarations":[{"code":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HMul","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HMul"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHMul"}},"level_parameters":[],"name":"Production.Kernel.LexLeanRuntime.multiply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HSub","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HSub"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHSub"}},"level_parameters":[],"name":"Production.Kernel.LexLeanRuntime.subtract","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v0","kind":"apply"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"function":"v0","kind":"apply"}},"level_parameters":[],"name":"Production.Kernel.applyTwice","parameters":[{"borrow":false,"id":"v0","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v16","kind":"fvar"}],"function":"v9","kind":"apply"}},"constructor":"Production.Kernel.Shape.circle","kind":"constructor","parameters":[{"borrow":false,"id":"v16","type":{"kind":"const","levels":[],"name":"Nat"}}]},{"code":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v18","kind":"fvar"},{"id":"v19","kind":"fvar"}],"function":"v15","kind":"apply"}},"constructor":"Production.Kernel.Shape.rectangle","kind":"constructor","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v19","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Production.Kernel.Shape"},"id":"v15","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v10","kind":"apply"}},"declaration":{"id":"v10","parameters":[{"borrow":false,"id":"v11","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v12","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v13","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"Production.Kernel.LexLeanRuntime.multiply"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instMulNat"}}},"kind":"fun"},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Production.Kernel.LexLeanRuntime.multiply"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Production.Kernel.LexLeanRuntime.multiply"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instMulNat"}}},"kind":"fun"},"level_parameters":[],"name":"Production.Kernel.area","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Production.Kernel.Shape"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Production.Kernel.Shape"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v26","kind":"fvar"},{"kind":"erased"}],"function":"v21","kind":"apply"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v24"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"declaration":{"id":"v21","parameters":[{"borrow":false,"id":"v22","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"alternatives":[{"code":{"id":"v20","kind":"return"},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"id":"v4","kind":"return"},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v22","kind":"cases","result_type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"type_name":"Bool"}},"kind":"fun"},"id":"v20","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v11","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"Production.Kernel.countdown"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v17","kind":"fvar"}],"function":"v14","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v16"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v14","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v13"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v7","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Production.Kernel.LexLeanRuntime.subtract"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v9"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubNat"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"id":"v1","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Production.Kernel.countdown","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":true,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v10","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v12","kind":"fvar"},{"id":"v13","kind":"fvar"}],"function":"v9","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v13","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v1","kind":"cases","result_type":{"id":"v0","kind":"fvar"},"type_name":"List"},"id":"v9","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v8","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"id":"v7","kind":"return"}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"id":"v2","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Production.Kernel.firstOr","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v16","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v16","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v18","kind":"fvar"},{"id":"v19","kind":"fvar"}],"function":"v15","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v19","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"List"},"id":"v15","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v9","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v8","kind":"fvar"},{"id":"v13","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Production.Kernel.total"}},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v11"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"level_parameters":[],"name":"Production.Kernel.total","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Production.Main.LexLeanRuntime.checkedFromInt"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Production.Main.LexLeanRuntime.ToMathInt","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Production.Main.LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Production.Main.LexLeanRuntime.Fixed","value":"v1"}},"id":"v6","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"const","levels":[],"name":"Int"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instAdd"}},"level_parameters":[],"name":"Production.Main.LexLeanRuntime.checkedAdd","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Production.Main.LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Production.Main.LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v10","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v9","kind":"apply"}},"id":"v9","kind":"let","type":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":1,"kind":"projection","type_name":"Production.Main.LexLeanRuntime.Fixed","value":"v1"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v8","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"kind":"erased"}}]}],"discriminant":"v7","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v7","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Int.decLt"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":3,"kind":"projection","type_name":"Production.Main.LexLeanRuntime.Fixed","value":"v1"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v5","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"kind":"erased"}}]}],"discriminant":"v4","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Int.decLt"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":2,"kind":"projection","type_name":"Production.Main.LexLeanRuntime.Fixed","value":"v1"}},"level_parameters":[],"name":"Production.Main.LexLeanRuntime.checkedFromInt","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Production.Main.LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Int"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Production.Main.LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v42","kind":"return"},"id":"v42","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":[],"name":"Production.Main.LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v15","kind":"fvar"},{"id":"v16","kind":"fvar"},{"id":"v29","kind":"fvar"}],"kind":"const","levels":[],"name":"Production.Main.LexLeanRuntime.Fixed.mk"}},"declaration":{"id":"v29","parameters":[{"borrow":false,"id":"v30","type":{"kind":"const","levels":[],"name":"UInt32"}},{"borrow":false,"id":"v31","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v38","kind":"return"},"id":"v38","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v37","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v41","kind":"return"},"id":"v41","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}},{"id":"v40","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v40","kind":"let","type":{"kind":"const","levels":[],"name":"UInt32"},"value":{"arguments":[{"id":"v30","kind":"fvar"},{"id":"v31","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.shiftRight"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v39","type":{"kind":"erased"}}]}],"discriminant":"v36","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v36","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v32","kind":"fvar"},{"id":"v35","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v34"}},"id":"v34","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"32"}}},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v31","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":[],"name":"UInt32"}},{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}},{"id":"v27","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"UInt32"},"value":{"arguments":[{"id":"v17","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.shiftLeft"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v26","type":{"kind":"erased"}}]}],"discriminant":"v23","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v23","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v21"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"32"}}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"UInt32"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt32.complement"}},"id":"v14","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt32"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt32.xor"}},"id":"v13","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt32"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt32.lor"}},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt32"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt32.land"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4294967295"}}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"UInt32"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt32.ofInt"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":[],"name":"Production.Main.LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Production.Main.LexLeanRuntime.ToMathInt.mk"}},"declaration":{"id":"v0","parameters":[{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"value":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Int.ofNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"level_parameters":[],"name":"Production.Main.LexLeanRuntime.instFixedUInt32","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":[],"name":"Production.Main.LexLeanRuntime.Fixed"},"kind":"app"}},{"code":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Production.Main.LexLeanRuntime.checkedAdd"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":[],"name":"Production.Main.LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Production.Main.LexLeanRuntime.instFixedUInt32"}},"level_parameters":[],"name":"Production.Main.checkedSum","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"UInt32"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"UInt32"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Production.Kernel.countdown"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"level_parameters":[],"name":"Production.Main.halvings","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v0","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Production.Kernel.firstOr"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"level_parameters":[],"name":"Production.Main.headOr","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Production.Kernel.applyTwice"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v2","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"level_parameters":[],"name":"Production.Main.quadruple","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Production.Kernel.area"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Production.Kernel.Shape"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Production.Kernel.Shape.rectangle"}},"level_parameters":[],"name":"Production.Main.shapeArea","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Production.Kernel.total"}},"level_parameters":[],"name":"Production.Main.sumAll","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}}],"erased":["Production.Kernel.countdown_decreases"],"externals":[{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Add"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Bool"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Bool.false"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Bool.true"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Decidable"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Decidable.isFalse"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Decidable.isTrue"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"HAdd"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"HMul"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"HSub"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Data.Int.Basic","name":"Int"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"Int.decLt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"Int.instAdd"},{"computable":true,"generates_code":true,"kind":"constructor","module":"Init.Data.Int.Basic","name":"Int.ofNat"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"List"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"List.cons"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"List.nil"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Mul"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Nat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Nat.Basic","name":"Nat.blt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Nat.decLt"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"OfNat"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Option"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Option.none"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Option.some"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"PUnit"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Sub"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"UInt32"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt32.complement"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt32.land"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt32.lor"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt32.ofInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt32.shiftLeft"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt32.shiftRight"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"UInt32.toNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt32.xor"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Unit.unit"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instAddNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instHAdd"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instHMul"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instHSub"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instMulNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"instOfNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instOfNatNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instSubNat"}],"inductives":[{"constructors":[{"fields":1,"index":0,"name":"Production.Kernel.Shape.circle","parameters":0,"type":{"codomain":{"kind":"const","levels":[],"name":"Production.Kernel.Shape"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"fields":2,"index":1,"name":"Production.Kernel.Shape.rectangle","parameters":0,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Production.Kernel.Shape"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}}],"indices":0,"name":"Production.Kernel.Shape","parameters":0,"recursive":false},{"constructors":[{"fields":10,"index":0,"name":"Production.Main.LexLeanRuntime.Fixed.mk","parameters":1,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":10,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Production.Main.LexLeanRuntime.Fixed"},"kind":"app"},"domain":{"codomain":{"codomain":{"arguments":[{"index":11,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"index":9,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"arguments":[{"index":10,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"index":8,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"index":8,"kind":"bvar"},"domain":{"index":7,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":8,"kind":"bvar"},"domain":{"index":7,"kind":"bvar"},"kind":"arrow"},"domain":{"index":6,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":7,"kind":"bvar"},"domain":{"index":6,"kind":"bvar"},"kind":"arrow"},"domain":{"index":5,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":6,"kind":"bvar"},"domain":{"index":5,"kind":"bvar"},"kind":"arrow"},"domain":{"index":4,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Production.Main.LexLeanRuntime.ToMathInt"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Production.Main.LexLeanRuntime.Fixed","parameters":1,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"Production.Main.LexLeanRuntime.ToMathInt.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Production.Main.LexLeanRuntime.ToMathInt"},"kind":"app"},"domain":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Production.Main.LexLeanRuntime.ToMathInt","parameters":1,"recursive":false}],"lean":{"githash":"f054605aea4b840552cca2e725580bffd1e1b704","version":"4.32.1"},"roots":["Production.Main.checkedSum","Production.Main.shapeArea","Production.Main.quadruple","Production.Main.halvings","Production.Main.sumAll","Production.Main.headOr"],"spec":"lexlean/compiler-input/2"} +{"closures":[{"declarations":["Production.Main.checkedSum"],"erased":[],"instances":[{"declaration":"Production.Main.checkedSum","instance":"Production.Main.checkedSum","type_arguments":[]}],"internal_erased":[],"root":"Production.Main.checkedSum","runtime":["LexLeanRuntime.checkedAdd","LexLeanRuntime.checkedFromInt","LexLeanRuntime.instFixedUInt32"]},{"declarations":["Production.Kernel.countdown","Production.Main.halvings"],"erased":["Production.Kernel.countdown_decreases"],"instances":[{"declaration":"Production.Main.halvings","instance":"Production.Main.halvings","type_arguments":[]},{"declaration":"Production.Kernel.countdown","instance":"Production.Kernel.countdown","type_arguments":[]}],"internal_erased":["Production.Kernel.countdown._unary._proof_1"],"root":"Production.Main.halvings","runtime":["LexLeanRuntime.subtract"]},{"declarations":["Production.Kernel.firstOr","Production.Main.headOr"],"erased":[],"instances":[{"declaration":"Production.Main.headOr","instance":"Production.Main.headOr","type_arguments":[]},{"declaration":"Production.Kernel.firstOr","instance":"Production.Kernel.firstOr (Nat)","type_arguments":["Nat"]}],"internal_erased":[],"root":"Production.Main.headOr","runtime":[]},{"declarations":["Production.Kernel.applyTwice","Production.Main.quadruple"],"erased":[],"instances":[{"declaration":"Production.Main.quadruple","instance":"Production.Main.quadruple","type_arguments":[]},{"declaration":"Production.Kernel.applyTwice","instance":"Production.Kernel.applyTwice","type_arguments":[]}],"internal_erased":[],"root":"Production.Main.quadruple","runtime":[]},{"declarations":["Production.Kernel.area","Production.Main.shapeArea"],"erased":[],"instances":[{"declaration":"Production.Main.shapeArea","instance":"Production.Main.shapeArea","type_arguments":[]},{"declaration":"Production.Kernel.area","instance":"Production.Kernel.area","type_arguments":[]}],"internal_erased":[],"root":"Production.Main.shapeArea","runtime":["LexLeanRuntime.multiply"]},{"declarations":["Production.Kernel.total","Production.Main.sumAll"],"erased":[],"instances":[{"declaration":"Production.Main.sumAll","instance":"Production.Main.sumAll","type_arguments":[]},{"declaration":"Production.Kernel.total","instance":"Production.Kernel.total","type_arguments":[]}],"internal_erased":[],"root":"Production.Main.sumAll","runtime":[]}],"declarations":[{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.checkedFromInt"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanRuntime.ToMathInt","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"LexLeanRuntime.Fixed","value":"v1"}},"id":"v6","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"const","levels":[],"name":"Int"},{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Int"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Int.instAdd"}},"level_parameters":[],"name":"LexLeanRuntime.checkedAdd","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v10","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v9","kind":"apply"}},"id":"v9","kind":"let","type":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"index":1,"kind":"projection","type_name":"LexLeanRuntime.Fixed","value":"v1"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v8","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"kind":"erased"}}]}],"discriminant":"v7","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v7","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Int.decLt"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":3,"kind":"projection","type_name":"LexLeanRuntime.Fixed","value":"v1"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v5","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"kind":"erased"}}]}],"discriminant":"v4","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Int.decLt"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":2,"kind":"projection","type_name":"LexLeanRuntime.Fixed","value":"v1"}},"level_parameters":[],"name":"LexLeanRuntime.checkedFromInt","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Int"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v42","kind":"return"},"id":"v42","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v15","kind":"fvar"},{"id":"v16","kind":"fvar"},{"id":"v29","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed.mk"}},"declaration":{"id":"v29","parameters":[{"borrow":false,"id":"v30","type":{"kind":"const","levels":[],"name":"UInt32"}},{"borrow":false,"id":"v31","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v38","kind":"return"},"id":"v38","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v37","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v41","kind":"return"},"id":"v41","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}},{"id":"v40","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v40","kind":"let","type":{"kind":"const","levels":[],"name":"UInt32"},"value":{"arguments":[{"id":"v30","kind":"fvar"},{"id":"v31","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.shiftRight"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v39","type":{"kind":"erased"}}]}],"discriminant":"v36","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v36","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v32","kind":"fvar"},{"id":"v35","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v34"}},"id":"v34","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"32"}}},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v31","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":[],"name":"UInt32"}},{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}},{"id":"v27","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"UInt32"},"value":{"arguments":[{"id":"v17","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.shiftLeft"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v26","type":{"kind":"erased"}}]}],"discriminant":"v23","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v23","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.decLt"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v21"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"32"}}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"UInt32"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt32.complement"}},"id":"v14","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt32"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt32.xor"}},"id":"v13","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt32"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt32.lor"}},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"UInt32"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt32.land"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4294967295"}}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Int"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"UInt32"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"UInt32.ofInt"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt.mk"}},"declaration":{"id":"v0","parameters":[{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"UInt32"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"value":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Int"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Int.ofNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"UInt32.toNat"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanRuntime.instFixedUInt32","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"}},{"code":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HMul","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HMul"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHMul"}},"level_parameters":[],"name":"LexLeanRuntime.multiply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HSub","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HSub"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHSub"}},"level_parameters":[],"name":"LexLeanRuntime.subtract","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v0","kind":"apply"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"function":"v0","kind":"apply"}},"level_parameters":[],"name":"Production.Kernel.applyTwice","parameters":[{"borrow":false,"id":"v0","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v16","kind":"fvar"}],"function":"v9","kind":"apply"}},"constructor":"Production.Kernel.Shape.circle","kind":"constructor","parameters":[{"borrow":false,"id":"v16","type":{"kind":"const","levels":[],"name":"Nat"}}]},{"code":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v18","kind":"fvar"},{"id":"v19","kind":"fvar"}],"function":"v15","kind":"apply"}},"constructor":"Production.Kernel.Shape.rectangle","kind":"constructor","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v19","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Production.Kernel.Shape"},"id":"v15","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v10","kind":"apply"}},"declaration":{"id":"v10","parameters":[{"borrow":false,"id":"v11","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v12","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v13","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.multiply"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instMulNat"}}},"kind":"fun"},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.multiply"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.multiply"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instMulNat"}}},"kind":"fun"},"level_parameters":[],"name":"Production.Kernel.area","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Production.Kernel.Shape"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Production.Kernel.Shape"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v26","kind":"fvar"},{"kind":"erased"}],"function":"v21","kind":"apply"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v24"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"declaration":{"id":"v21","parameters":[{"borrow":false,"id":"v22","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"alternatives":[{"code":{"id":"v20","kind":"return"},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"id":"v4","kind":"return"},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v22","kind":"cases","result_type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"type_name":"Bool"}},"kind":"fun"},"id":"v20","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v11","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"Production.Kernel.countdown"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v17","kind":"fvar"}],"function":"v14","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v16"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v14","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v13"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v7","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.subtract"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v9"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubNat"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"id":"v1","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Production.Kernel.countdown","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":true,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v10","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v12","kind":"fvar"},{"id":"v13","kind":"fvar"}],"function":"v9","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v13","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v1","kind":"cases","result_type":{"id":"v0","kind":"fvar"},"type_name":"List"},"id":"v9","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v8","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"id":"v7","kind":"return"}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"id":"v2","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Production.Kernel.firstOr","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v16","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v16","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v18","kind":"fvar"},{"id":"v19","kind":"fvar"}],"function":"v15","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v19","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v0","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"List"},"id":"v15","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v9","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v8","kind":"fvar"},{"id":"v13","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Production.Kernel.total"}},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v11"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"level_parameters":[],"name":"Production.Kernel.total","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"UInt32"}},{"id":"v2","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.checkedAdd"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanRuntime.instFixedUInt32"}},"level_parameters":[],"name":"Production.Main.checkedSum","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"UInt32"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"UInt32"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"UInt32"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Production.Kernel.countdown"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"level_parameters":[],"name":"Production.Main.halvings","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v0","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Production.Kernel.firstOr"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"level_parameters":[],"name":"Production.Main.headOr","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Production.Kernel.applyTwice"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v2","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"level_parameters":[],"name":"Production.Main.quadruple","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Production.Kernel.area"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Production.Kernel.Shape"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Production.Kernel.Shape.rectangle"}},"level_parameters":[],"name":"Production.Main.shapeArea","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Production.Kernel.total"}},"level_parameters":[],"name":"Production.Main.sumAll","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}}],"erased":["Production.Kernel.countdown_decreases"],"externals":[{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Add"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Bool"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Bool.false"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Bool.true"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Decidable"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Decidable.isFalse"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Decidable.isTrue"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"HAdd"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"HMul"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"HSub"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Data.Int.Basic","name":"Int"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"Int.decLt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"Int.instAdd"},{"computable":true,"generates_code":true,"kind":"constructor","module":"Init.Data.Int.Basic","name":"Int.ofNat"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"List"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"List.cons"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"List.nil"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Mul"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Nat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Nat.Basic","name":"Nat.blt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Nat.decLt"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"OfNat"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Option"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Option.none"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Option.some"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"PUnit"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Sub"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"UInt32"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt32.complement"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt32.land"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt32.lor"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt32.ofInt"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt32.shiftLeft"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt32.shiftRight"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"UInt32.toNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.UInt.Basic","name":"UInt32.xor"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Unit.unit"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instAddNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instHAdd"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instHMul"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instHSub"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instMulNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Int.Basic","name":"instOfNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instOfNatNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instSubNat"}],"inductives":[{"constructors":[{"fields":10,"index":0,"name":"LexLeanRuntime.Fixed.mk","parameters":1,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":10,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Fixed"},"kind":"app"},"domain":{"codomain":{"codomain":{"arguments":[{"index":11,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"index":9,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"arguments":[{"index":10,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"UInt32"},"kind":"arrow"},"domain":{"index":8,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"index":8,"kind":"bvar"},"domain":{"index":7,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":8,"kind":"bvar"},"domain":{"index":7,"kind":"bvar"},"kind":"arrow"},"domain":{"index":6,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":7,"kind":"bvar"},"domain":{"index":6,"kind":"bvar"},"kind":"arrow"},"domain":{"index":5,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":6,"kind":"bvar"},"domain":{"index":5,"kind":"bvar"},"kind":"arrow"},"domain":{"index":4,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"domain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"kind":"const","levels":[],"name":"Int"},"kind":"arrow"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"LexLeanRuntime.Fixed","parameters":1,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"LexLeanRuntime.ToMathInt.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.ToMathInt"},"kind":"app"},"domain":{"codomain":{"kind":"const","levels":[],"name":"Int"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"LexLeanRuntime.ToMathInt","parameters":1,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"Production.Kernel.Shape.circle","parameters":0,"type":{"codomain":{"kind":"const","levels":[],"name":"Production.Kernel.Shape"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"fields":2,"index":1,"name":"Production.Kernel.Shape.rectangle","parameters":0,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Production.Kernel.Shape"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}}],"indices":0,"name":"Production.Kernel.Shape","parameters":0,"recursive":false}],"lean":{"githash":"f054605aea4b840552cca2e725580bffd1e1b704","version":"4.32.1"},"roots":["Production.Main.checkedSum","Production.Main.shapeArea","Production.Main.quadruple","Production.Main.halvings","Production.Main.sumAll","Production.Main.headOr"],"spec":"lexlean/compiler-input/2"} diff --git a/examples/production/lexlean.lock b/examples/production/lexlean.lock index 30fdd9572..ba4b0b6fc 100644 --- a/examples/production/lexlean.lock +++ b/examples/production/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6f85e3c598ebbd2209c3ad5533caeb0ac2558d009e9863ec732435267e89972e" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/examples/reasoning/expected/build/coverage/Reasoning/Budget.coverage.json b/examples/reasoning/expected/build/coverage/Reasoning/Budget.coverage.json index 49f1a41c5..5c066c8dc 100644 --- a/examples/reasoning/expected/build/coverage/Reasoning/Budget.coverage.json +++ b/examples/reasoning/expected/build/coverage/Reasoning/Budget.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":497,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":794,"byte_start":497,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1045,"byte_start":794,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1428,"byte_start":1045,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1836,"byte_start":1428,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3715,"byte_start":1836,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4133,"byte_start":3715,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4576,"byte_start":4133,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6863,"byte_start":4576,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7154,"byte_start":6863,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7525,"byte_start":7154,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7842,"byte_start":7525,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8490,"byte_start":7842,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8826,"byte_start":8490,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22640,"byte_start":8826,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34972,"byte_start":22640,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34987,"byte_start":34972,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":34238,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34381,"byte_start":34238,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34462,"byte_start":34381,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34463,"byte_start":34462,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34949,"byte_start":34463,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35464,"byte_start":34949,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36751,"byte_start":35464,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37270,"byte_start":36751,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37818,"byte_start":37270,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39338,"byte_start":37818,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39425,"byte_start":39338,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39516,"byte_start":39425,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39960,"byte_start":39516,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40135,"byte_start":39960,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40578,"byte_start":40135,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":60419,"byte_start":40578,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":77731,"byte_start":60419,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":77753,"byte_start":77731,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Budget","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":22,"byte_start":16,"class":"word","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":23,"byte_start":22,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":36,"byte_start":24,"class":"control","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":37,"byte_start":36,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":44,"byte_start":37,"class":"word","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":45,"byte_start":44,"class":"ascii-symbol","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":45,"class":"word","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":49,"byte_start":48,"class":"ascii-symbol","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":49,"class":"word","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"ascii-symbol","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"numeral","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":59,"byte_start":58,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":72,"byte_start":60,"class":"control","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":73,"byte_start":72,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":82,"byte_start":73,"class":"word","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":83,"byte_start":82,"class":"ascii-symbol","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":89,"byte_start":83,"class":"word","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":90,"byte_start":89,"class":"ascii-symbol","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":91,"byte_start":90,"class":"numeral","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":92,"byte_start":91,"class":"ascii-symbol","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":93,"byte_start":92,"class":"numeral","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":94,"byte_start":93,"class":"ascii-symbol","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":95,"byte_start":94,"class":"numeral","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":96,"byte_start":95,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":103,"byte_start":97,"class":"control","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":104,"byte_start":103,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"entry":"spending","form":"spending","kind":"form","package":"reasoning.titles"},"byte_end":112,"byte_start":104,"class":"word","path":"src/Budget.lex.tex"},{"binding":{"entry":"budgets","form":"budgets","kind":"form","package":"reasoning.titles"},"byte_end":120,"byte_start":113,"class":"word","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":121,"byte_start":120,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":128,"byte_start":122,"class":"control","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":129,"byte_start":128,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":143,"byte_start":129,"class":"word","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":144,"byte_start":143,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":4601,"byte_start":145,"class":"word","path":"src/Budget.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":4605,"byte_start":4601,"class":"control","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":4606,"byte_start":4605,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":4620,"byte_start":4606,"class":"word","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":4621,"byte_start":4620,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":4626,"byte_start":4622,"class":"control","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":4627,"byte_start":4626,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":4634,"byte_start":4627,"class":"word","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":4635,"byte_start":4634,"class":"delimiter","path":"src/Budget.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":497,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":794,"byte_start":497,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1045,"byte_start":794,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1428,"byte_start":1045,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1836,"byte_start":1428,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3715,"byte_start":1836,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4133,"byte_start":3715,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4576,"byte_start":4133,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6863,"byte_start":4576,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7154,"byte_start":6863,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7525,"byte_start":7154,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7842,"byte_start":7525,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8490,"byte_start":7842,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8826,"byte_start":8490,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22640,"byte_start":8826,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34972,"byte_start":22640,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34987,"byte_start":34972,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":317,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":460,"byte_start":317,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":541,"byte_start":460,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":542,"byte_start":541,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1028,"byte_start":542,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1543,"byte_start":1028,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2830,"byte_start":1543,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3349,"byte_start":2830,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3897,"byte_start":3349,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5417,"byte_start":3897,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5504,"byte_start":5417,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5595,"byte_start":5504,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6039,"byte_start":5595,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6214,"byte_start":6039,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6657,"byte_start":6214,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26498,"byte_start":6657,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43810,"byte_start":26498,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43832,"byte_start":43810,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Budget","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":22,"byte_start":16,"class":"word","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":23,"byte_start":22,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":36,"byte_start":24,"class":"control","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":37,"byte_start":36,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":44,"byte_start":37,"class":"word","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":45,"byte_start":44,"class":"ascii-symbol","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":45,"class":"word","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":49,"byte_start":48,"class":"ascii-symbol","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":49,"class":"word","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"ascii-symbol","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"numeral","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":59,"byte_start":58,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":72,"byte_start":60,"class":"control","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":73,"byte_start":72,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":82,"byte_start":73,"class":"word","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":83,"byte_start":82,"class":"ascii-symbol","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":89,"byte_start":83,"class":"word","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":90,"byte_start":89,"class":"ascii-symbol","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":91,"byte_start":90,"class":"numeral","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":92,"byte_start":91,"class":"ascii-symbol","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":93,"byte_start":92,"class":"numeral","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":94,"byte_start":93,"class":"ascii-symbol","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":95,"byte_start":94,"class":"numeral","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":96,"byte_start":95,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":103,"byte_start":97,"class":"control","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":104,"byte_start":103,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"entry":"spending","form":"spending","kind":"form","package":"reasoning.titles"},"byte_end":112,"byte_start":104,"class":"word","path":"src/Budget.lex.tex"},{"binding":{"entry":"budgets","form":"budgets","kind":"form","package":"reasoning.titles"},"byte_end":120,"byte_start":113,"class":"word","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":121,"byte_start":120,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":128,"byte_start":122,"class":"control","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":129,"byte_start":128,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":143,"byte_start":129,"class":"word","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":144,"byte_start":143,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":4601,"byte_start":145,"class":"word","path":"src/Budget.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":4605,"byte_start":4601,"class":"control","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":4606,"byte_start":4605,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":4620,"byte_start":4606,"class":"word","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":4621,"byte_start":4620,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":4626,"byte_start":4622,"class":"control","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":4627,"byte_start":4626,"class":"delimiter","path":"src/Budget.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":4634,"byte_start":4627,"class":"word","path":"src/Budget.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":4635,"byte_start":4634,"class":"delimiter","path":"src/Budget.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/examples/reasoning/expected/build/coverage/Reasoning/Clinic.coverage.json b/examples/reasoning/expected/build/coverage/Reasoning/Clinic.coverage.json index 566040c70..caf4dbdb9 100644 --- a/examples/reasoning/expected/build/coverage/Reasoning/Clinic.coverage.json +++ b/examples/reasoning/expected/build/coverage/Reasoning/Clinic.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":536,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1076,"byte_start":536,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1411,"byte_start":1076,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1746,"byte_start":1411,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2086,"byte_start":1746,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2421,"byte_start":2086,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2755,"byte_start":2421,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3014,"byte_start":2755,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3274,"byte_start":3014,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3539,"byte_start":3274,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3799,"byte_start":3539,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4058,"byte_start":3799,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4482,"byte_start":4058,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6595,"byte_start":4482,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7125,"byte_start":6595,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7787,"byte_start":7125,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8107,"byte_start":7787,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8840,"byte_start":8107,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9389,"byte_start":8840,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9953,"byte_start":9389,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12552,"byte_start":9953,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13110,"byte_start":12552,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13683,"byte_start":13110,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16390,"byte_start":13683,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16945,"byte_start":16390,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17515,"byte_start":16945,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20186,"byte_start":17515,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20744,"byte_start":20186,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21317,"byte_start":20744,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24036,"byte_start":21317,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24647,"byte_start":24036,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25273,"byte_start":24647,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28108,"byte_start":25273,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28707,"byte_start":28108,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29321,"byte_start":28707,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32132,"byte_start":29321,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32718,"byte_start":32132,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33319,"byte_start":32718,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36066,"byte_start":33319,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36797,"byte_start":36066,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37543,"byte_start":36797,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40906,"byte_start":37543,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41319,"byte_start":40906,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41788,"byte_start":41319,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42109,"byte_start":41788,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42433,"byte_start":42109,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43603,"byte_start":42433,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43859,"byte_start":43603,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":44194,"byte_start":43859,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":44476,"byte_start":44194,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":45162,"byte_start":44476,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":45578,"byte_start":45162,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":45977,"byte_start":45578,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":62729,"byte_start":45977,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":78144,"byte_start":62729,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":78159,"byte_start":78144,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":34238,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34385,"byte_start":34238,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34562,"byte_start":34385,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34650,"byte_start":34562,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34738,"byte_start":34650,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34831,"byte_start":34738,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34919,"byte_start":34831,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35006,"byte_start":34919,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35094,"byte_start":35006,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35183,"byte_start":35094,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35277,"byte_start":35183,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35366,"byte_start":35277,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35454,"byte_start":35366,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35662,"byte_start":35454,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37139,"byte_start":35662,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37393,"byte_start":37139,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37873,"byte_start":37393,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":38398,"byte_start":37873,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":38570,"byte_start":38398,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39368,"byte_start":38570,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40139,"byte_start":39368,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41665,"byte_start":40139,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42472,"byte_start":41665,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43252,"byte_start":42472,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":44871,"byte_start":43252,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":45675,"byte_start":44871,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":46452,"byte_start":45675,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":48040,"byte_start":46452,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":48847,"byte_start":48040,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":49627,"byte_start":48847,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":51260,"byte_start":49627,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":52120,"byte_start":51260,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":52953,"byte_start":52120,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":54510,"byte_start":52953,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":55356,"byte_start":54510,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":56175,"byte_start":55356,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":57746,"byte_start":56175,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":58579,"byte_start":57746,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":59385,"byte_start":58579,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":60946,"byte_start":59385,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":61920,"byte_start":60946,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":62867,"byte_start":61920,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":64594,"byte_start":62867,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":64776,"byte_start":64594,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":64990,"byte_start":64776,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":65574,"byte_start":64990,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66161,"byte_start":65574,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66527,"byte_start":66161,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66613,"byte_start":66527,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66702,"byte_start":66613,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":67154,"byte_start":66702,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":67320,"byte_start":67154,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":67858,"byte_start":67320,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68394,"byte_start":67858,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":93067,"byte_start":68394,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":115814,"byte_start":93067,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":115836,"byte_start":115814,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Clinic","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":22,"byte_start":16,"class":"word","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":23,"byte_start":22,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":36,"byte_start":24,"class":"control","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":37,"byte_start":36,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":44,"byte_start":37,"class":"word","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":45,"byte_start":44,"class":"ascii-symbol","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":45,"class":"word","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":49,"byte_start":48,"class":"ascii-symbol","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":49,"class":"word","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"ascii-symbol","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"numeral","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":59,"byte_start":58,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":72,"byte_start":60,"class":"control","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":73,"byte_start":72,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":82,"byte_start":73,"class":"word","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":83,"byte_start":82,"class":"ascii-symbol","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":89,"byte_start":83,"class":"word","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":90,"byte_start":89,"class":"ascii-symbol","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":91,"byte_start":90,"class":"numeral","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":92,"byte_start":91,"class":"ascii-symbol","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":93,"byte_start":92,"class":"numeral","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":94,"byte_start":93,"class":"ascii-symbol","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":95,"byte_start":94,"class":"numeral","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":96,"byte_start":95,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":103,"byte_start":97,"class":"control","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":104,"byte_start":103,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"entry":"clinical","form":"clinical","kind":"form","package":"reasoning.titles"},"byte_end":112,"byte_start":104,"class":"word","path":"src/Clinic.lex.tex"},{"binding":{"entry":"triage","form":"triage","kind":"form","package":"reasoning.titles"},"byte_end":119,"byte_start":113,"class":"word","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":120,"byte_start":119,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":127,"byte_start":121,"class":"control","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":128,"byte_start":127,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":142,"byte_start":128,"class":"word","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":143,"byte_start":142,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":27404,"byte_start":144,"class":"word","path":"src/Clinic.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":27408,"byte_start":27404,"class":"control","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":27409,"byte_start":27408,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":27423,"byte_start":27409,"class":"word","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":27424,"byte_start":27423,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":27429,"byte_start":27425,"class":"control","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":27430,"byte_start":27429,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":27437,"byte_start":27430,"class":"word","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":27438,"byte_start":27437,"class":"delimiter","path":"src/Clinic.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":536,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1076,"byte_start":536,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1411,"byte_start":1076,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1746,"byte_start":1411,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2086,"byte_start":1746,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2421,"byte_start":2086,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2755,"byte_start":2421,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3014,"byte_start":2755,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3274,"byte_start":3014,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3539,"byte_start":3274,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3799,"byte_start":3539,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4058,"byte_start":3799,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4482,"byte_start":4058,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6595,"byte_start":4482,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7125,"byte_start":6595,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7787,"byte_start":7125,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8107,"byte_start":7787,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8840,"byte_start":8107,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9389,"byte_start":8840,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9953,"byte_start":9389,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12552,"byte_start":9953,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13110,"byte_start":12552,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13683,"byte_start":13110,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16390,"byte_start":13683,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16945,"byte_start":16390,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17515,"byte_start":16945,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20186,"byte_start":17515,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20744,"byte_start":20186,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21317,"byte_start":20744,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24036,"byte_start":21317,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24647,"byte_start":24036,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25273,"byte_start":24647,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28108,"byte_start":25273,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28707,"byte_start":28108,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29321,"byte_start":28707,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32132,"byte_start":29321,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32718,"byte_start":32132,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33319,"byte_start":32718,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36066,"byte_start":33319,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36797,"byte_start":36066,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37543,"byte_start":36797,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40906,"byte_start":37543,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41319,"byte_start":40906,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41788,"byte_start":41319,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42109,"byte_start":41788,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42433,"byte_start":42109,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43603,"byte_start":42433,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43859,"byte_start":43603,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":44194,"byte_start":43859,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":44476,"byte_start":44194,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":45162,"byte_start":44476,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":45578,"byte_start":45162,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":45977,"byte_start":45578,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":62729,"byte_start":45977,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":78144,"byte_start":62729,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":78159,"byte_start":78144,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":317,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":464,"byte_start":317,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":641,"byte_start":464,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":729,"byte_start":641,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":817,"byte_start":729,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":910,"byte_start":817,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":998,"byte_start":910,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1085,"byte_start":998,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1173,"byte_start":1085,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1262,"byte_start":1173,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1356,"byte_start":1262,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1445,"byte_start":1356,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1533,"byte_start":1445,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1741,"byte_start":1533,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3218,"byte_start":1741,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3472,"byte_start":3218,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3952,"byte_start":3472,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4477,"byte_start":3952,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4649,"byte_start":4477,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5447,"byte_start":4649,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6218,"byte_start":5447,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7744,"byte_start":6218,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8551,"byte_start":7744,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9331,"byte_start":8551,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10950,"byte_start":9331,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11754,"byte_start":10950,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12531,"byte_start":11754,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14119,"byte_start":12531,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14926,"byte_start":14119,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15706,"byte_start":14926,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17339,"byte_start":15706,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18199,"byte_start":17339,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19032,"byte_start":18199,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20589,"byte_start":19032,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21435,"byte_start":20589,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22254,"byte_start":21435,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23825,"byte_start":22254,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24658,"byte_start":23825,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25464,"byte_start":24658,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27025,"byte_start":25464,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27999,"byte_start":27025,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28946,"byte_start":27999,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30673,"byte_start":28946,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30855,"byte_start":30673,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31069,"byte_start":30855,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31653,"byte_start":31069,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32240,"byte_start":31653,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32606,"byte_start":32240,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32692,"byte_start":32606,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32781,"byte_start":32692,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33233,"byte_start":32781,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33399,"byte_start":33233,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":33937,"byte_start":33399,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34473,"byte_start":33937,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":59146,"byte_start":34473,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":81893,"byte_start":59146,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":81915,"byte_start":81893,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Clinic","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":22,"byte_start":16,"class":"word","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":23,"byte_start":22,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":36,"byte_start":24,"class":"control","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":37,"byte_start":36,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":44,"byte_start":37,"class":"word","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":45,"byte_start":44,"class":"ascii-symbol","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":45,"class":"word","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":49,"byte_start":48,"class":"ascii-symbol","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":49,"class":"word","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"ascii-symbol","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"numeral","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":59,"byte_start":58,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":72,"byte_start":60,"class":"control","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":73,"byte_start":72,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":82,"byte_start":73,"class":"word","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":83,"byte_start":82,"class":"ascii-symbol","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":89,"byte_start":83,"class":"word","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":90,"byte_start":89,"class":"ascii-symbol","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":91,"byte_start":90,"class":"numeral","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":92,"byte_start":91,"class":"ascii-symbol","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":93,"byte_start":92,"class":"numeral","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":94,"byte_start":93,"class":"ascii-symbol","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":95,"byte_start":94,"class":"numeral","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":96,"byte_start":95,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":103,"byte_start":97,"class":"control","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":104,"byte_start":103,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"entry":"clinical","form":"clinical","kind":"form","package":"reasoning.titles"},"byte_end":112,"byte_start":104,"class":"word","path":"src/Clinic.lex.tex"},{"binding":{"entry":"triage","form":"triage","kind":"form","package":"reasoning.titles"},"byte_end":119,"byte_start":113,"class":"word","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":120,"byte_start":119,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":127,"byte_start":121,"class":"control","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":128,"byte_start":127,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":142,"byte_start":128,"class":"word","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":143,"byte_start":142,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":27404,"byte_start":144,"class":"word","path":"src/Clinic.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":27408,"byte_start":27404,"class":"control","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":27409,"byte_start":27408,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":27423,"byte_start":27409,"class":"word","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":27424,"byte_start":27423,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":27429,"byte_start":27425,"class":"control","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":27430,"byte_start":27429,"class":"delimiter","path":"src/Clinic.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":27437,"byte_start":27430,"class":"word","path":"src/Clinic.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":27438,"byte_start":27437,"class":"delimiter","path":"src/Clinic.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/examples/reasoning/expected/build/coverage/Reasoning/Main.coverage.json b/examples/reasoning/expected/build/coverage/Reasoning/Main.coverage.json index 2cb0083f3..89256a3d1 100644 --- a/examples/reasoning/expected/build/coverage/Reasoning/Main.coverage.json +++ b/examples/reasoning/expected/build/coverage/Reasoning/Main.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":507,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":791,"byte_start":507,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1329,"byte_start":791,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1624,"byte_start":1329,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2298,"byte_start":1624,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2765,"byte_start":2298,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3101,"byte_start":2765,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3516,"byte_start":3101,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3835,"byte_start":3516,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4543,"byte_start":3835,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4993,"byte_start":4543,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5428,"byte_start":4993,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5934,"byte_start":5428,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6370,"byte_start":5934,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6770,"byte_start":6370,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7167,"byte_start":6770,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27214,"byte_start":7167,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27484,"byte_start":27214,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27833,"byte_start":27484,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28122,"byte_start":27833,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28806,"byte_start":28122,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29234,"byte_start":28806,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":45911,"byte_start":29234,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":46717,"byte_start":45911,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":47505,"byte_start":46717,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":48358,"byte_start":47505,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":48897,"byte_start":48358,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":49414,"byte_start":48897,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":50201,"byte_start":49414,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":50721,"byte_start":50201,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":51247,"byte_start":50721,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":52060,"byte_start":51247,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":52262,"byte_start":52060,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":53085,"byte_start":52262,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":53450,"byte_start":53085,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":53835,"byte_start":53450,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":54301,"byte_start":53835,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":54722,"byte_start":54301,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":55103,"byte_start":54722,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":55482,"byte_start":55103,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":55686,"byte_start":55482,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":56103,"byte_start":55686,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":56312,"byte_start":56103,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":56549,"byte_start":56312,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":56887,"byte_start":56549,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":57132,"byte_start":56887,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":57358,"byte_start":57132,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":57661,"byte_start":57358,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":57861,"byte_start":57661,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":58158,"byte_start":57861,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":58398,"byte_start":58158,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":58642,"byte_start":58398,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":59987,"byte_start":58642,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":61329,"byte_start":59987,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":62672,"byte_start":61329,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":63908,"byte_start":62672,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":65141,"byte_start":63908,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66494,"byte_start":65141,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":67043,"byte_start":66494,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":67533,"byte_start":67043,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68034,"byte_start":67533,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68582,"byte_start":68034,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69146,"byte_start":68582,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69715,"byte_start":69146,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":70287,"byte_start":69715,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":70873,"byte_start":70287,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71403,"byte_start":70873,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71950,"byte_start":71403,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71965,"byte_start":71950,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":39465,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39667,"byte_start":39465,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39668,"byte_start":39667,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39807,"byte_start":39668,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39959,"byte_start":39807,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40129,"byte_start":39959,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40276,"byte_start":40129,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40426,"byte_start":40276,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40592,"byte_start":40426,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41104,"byte_start":40592,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41249,"byte_start":41104,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41553,"byte_start":41249,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41857,"byte_start":41553,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42147,"byte_start":41857,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42789,"byte_start":42147,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43539,"byte_start":42789,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":44152,"byte_start":43539,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69146,"byte_start":44152,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69246,"byte_start":69146,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69349,"byte_start":69246,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69801,"byte_start":69349,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69948,"byte_start":69801,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":70514,"byte_start":69948,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":91395,"byte_start":70514,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":91841,"byte_start":91395,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":92269,"byte_start":91841,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":92751,"byte_start":92269,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":92910,"byte_start":92751,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":93058,"byte_start":92910,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":93485,"byte_start":93058,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":93636,"byte_start":93485,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":93793,"byte_start":93636,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":94494,"byte_start":93793,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":94586,"byte_start":94494,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":95297,"byte_start":94586,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":95550,"byte_start":95297,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":95823,"byte_start":95550,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":96178,"byte_start":95823,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":96487,"byte_start":96178,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":96763,"byte_start":96487,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":97037,"byte_start":96763,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":97131,"byte_start":97037,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":97438,"byte_start":97131,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":97537,"byte_start":97438,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":97671,"byte_start":97537,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":97888,"byte_start":97671,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":98019,"byte_start":97888,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":98124,"byte_start":98019,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":98317,"byte_start":98124,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":98407,"byte_start":98317,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":98594,"byte_start":98407,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":98731,"byte_start":98594,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":98872,"byte_start":98731,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":100095,"byte_start":98872,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":101314,"byte_start":100095,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":102535,"byte_start":101314,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":103649,"byte_start":102535,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":104759,"byte_start":103649,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":105989,"byte_start":104759,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":106428,"byte_start":105989,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":106808,"byte_start":106428,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":107198,"byte_start":106808,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":107625,"byte_start":107198,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":108067,"byte_start":107625,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":108526,"byte_start":108067,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":108987,"byte_start":108526,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":109462,"byte_start":108987,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":109882,"byte_start":109462,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":110318,"byte_start":109882,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":110338,"byte_start":110318,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Main","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":20,"byte_start":16,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":21,"byte_start":20,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":34,"byte_start":22,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":35,"byte_start":34,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":42,"byte_start":35,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":43,"byte_start":42,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":46,"byte_start":43,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":46,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":50,"byte_start":47,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":50,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":57,"byte_start":56,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":70,"byte_start":58,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":71,"byte_start":70,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":80,"byte_start":71,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":81,"byte_start":80,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":87,"byte_start":81,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":88,"byte_start":87,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":89,"byte_start":88,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":90,"byte_start":89,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":91,"byte_start":90,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":92,"byte_start":91,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":93,"byte_start":92,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":94,"byte_start":93,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":108,"byte_start":95,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":109,"byte_start":108,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":115,"byte_start":109,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":116,"byte_start":115,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":130,"byte_start":117,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":131,"byte_start":130,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":137,"byte_start":131,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":138,"byte_start":137,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":152,"byte_start":139,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":153,"byte_start":152,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":160,"byte_start":153,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":161,"byte_start":160,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":175,"byte_start":162,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":176,"byte_start":175,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":185,"byte_start":176,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":186,"byte_start":185,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":193,"byte_start":187,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":194,"byte_start":193,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"reasoning","form":"reasoning","kind":"form","package":"reasoning.titles"},"byte_end":203,"byte_start":194,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"roots","form":"roots","kind":"form","package":"reasoning.titles"},"byte_end":209,"byte_start":204,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":210,"byte_start":209,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":217,"byte_start":211,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":218,"byte_start":217,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":232,"byte_start":218,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":233,"byte_start":232,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":30030,"byte_start":234,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":30034,"byte_start":30030,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":30035,"byte_start":30034,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":30049,"byte_start":30035,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":30050,"byte_start":30049,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":30055,"byte_start":30051,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":30056,"byte_start":30055,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":30063,"byte_start":30056,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":30064,"byte_start":30063,"class":"delimiter","path":"src/Main.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":507,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":791,"byte_start":507,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1329,"byte_start":791,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1624,"byte_start":1329,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2298,"byte_start":1624,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2765,"byte_start":2298,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3101,"byte_start":2765,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3516,"byte_start":3101,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3835,"byte_start":3516,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4543,"byte_start":3835,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4993,"byte_start":4543,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5428,"byte_start":4993,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5934,"byte_start":5428,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6370,"byte_start":5934,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6770,"byte_start":6370,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7167,"byte_start":6770,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27214,"byte_start":7167,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27484,"byte_start":27214,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27833,"byte_start":27484,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28122,"byte_start":27833,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28806,"byte_start":28122,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29234,"byte_start":28806,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":45911,"byte_start":29234,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":46717,"byte_start":45911,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":47505,"byte_start":46717,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":48358,"byte_start":47505,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":48897,"byte_start":48358,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":49414,"byte_start":48897,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":50201,"byte_start":49414,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":50721,"byte_start":50201,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":51247,"byte_start":50721,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":52060,"byte_start":51247,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":52262,"byte_start":52060,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":53085,"byte_start":52262,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":53450,"byte_start":53085,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":53835,"byte_start":53450,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":54301,"byte_start":53835,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":54722,"byte_start":54301,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":55103,"byte_start":54722,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":55482,"byte_start":55103,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":55686,"byte_start":55482,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":56103,"byte_start":55686,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":56312,"byte_start":56103,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":56549,"byte_start":56312,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":56887,"byte_start":56549,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":57132,"byte_start":56887,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":57358,"byte_start":57132,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":57661,"byte_start":57358,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":57861,"byte_start":57661,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":58158,"byte_start":57861,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":58398,"byte_start":58158,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":58642,"byte_start":58398,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":59987,"byte_start":58642,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":61329,"byte_start":59987,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":62672,"byte_start":61329,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":63908,"byte_start":62672,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":65141,"byte_start":63908,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66494,"byte_start":65141,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":67043,"byte_start":66494,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":67533,"byte_start":67043,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68034,"byte_start":67533,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68582,"byte_start":68034,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69146,"byte_start":68582,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69715,"byte_start":69146,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":70287,"byte_start":69715,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":70873,"byte_start":70287,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71403,"byte_start":70873,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71950,"byte_start":71403,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71965,"byte_start":71950,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":479,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":681,"byte_start":479,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":682,"byte_start":681,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":821,"byte_start":682,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":973,"byte_start":821,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1143,"byte_start":973,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1290,"byte_start":1143,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1440,"byte_start":1290,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1606,"byte_start":1440,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2118,"byte_start":1606,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2263,"byte_start":2118,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2567,"byte_start":2263,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2871,"byte_start":2567,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3161,"byte_start":2871,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3803,"byte_start":3161,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4553,"byte_start":3803,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5166,"byte_start":4553,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30160,"byte_start":5166,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30260,"byte_start":30160,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30363,"byte_start":30260,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30815,"byte_start":30363,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30962,"byte_start":30815,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31528,"byte_start":30962,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":52409,"byte_start":31528,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":52855,"byte_start":52409,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":53283,"byte_start":52855,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":53765,"byte_start":53283,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":53924,"byte_start":53765,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":54072,"byte_start":53924,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":54499,"byte_start":54072,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":54650,"byte_start":54499,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":54807,"byte_start":54650,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":55508,"byte_start":54807,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":55600,"byte_start":55508,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":56311,"byte_start":55600,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":56564,"byte_start":56311,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":56837,"byte_start":56564,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":57192,"byte_start":56837,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":57501,"byte_start":57192,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":57777,"byte_start":57501,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":58051,"byte_start":57777,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":58145,"byte_start":58051,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":58452,"byte_start":58145,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":58551,"byte_start":58452,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":58685,"byte_start":58551,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":58902,"byte_start":58685,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":59033,"byte_start":58902,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":59138,"byte_start":59033,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":59331,"byte_start":59138,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":59421,"byte_start":59331,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":59608,"byte_start":59421,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":59745,"byte_start":59608,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":59886,"byte_start":59745,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":61109,"byte_start":59886,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":62328,"byte_start":61109,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":63549,"byte_start":62328,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":64663,"byte_start":63549,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":65773,"byte_start":64663,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":67003,"byte_start":65773,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":67442,"byte_start":67003,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":67822,"byte_start":67442,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68212,"byte_start":67822,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68639,"byte_start":68212,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69081,"byte_start":68639,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69540,"byte_start":69081,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":70001,"byte_start":69540,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":70476,"byte_start":70001,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":70896,"byte_start":70476,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71332,"byte_start":70896,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71352,"byte_start":71332,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Main","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":20,"byte_start":16,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":21,"byte_start":20,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":34,"byte_start":22,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":35,"byte_start":34,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":42,"byte_start":35,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":43,"byte_start":42,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":46,"byte_start":43,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":46,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":50,"byte_start":47,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":50,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":57,"byte_start":56,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":70,"byte_start":58,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":71,"byte_start":70,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":80,"byte_start":71,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":81,"byte_start":80,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":87,"byte_start":81,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":88,"byte_start":87,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":89,"byte_start":88,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":90,"byte_start":89,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":91,"byte_start":90,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":92,"byte_start":91,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":93,"byte_start":92,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":94,"byte_start":93,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":108,"byte_start":95,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":109,"byte_start":108,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":115,"byte_start":109,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":116,"byte_start":115,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":130,"byte_start":117,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":131,"byte_start":130,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":137,"byte_start":131,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":138,"byte_start":137,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":152,"byte_start":139,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":153,"byte_start":152,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":160,"byte_start":153,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":161,"byte_start":160,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":175,"byte_start":162,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":176,"byte_start":175,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":185,"byte_start":176,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":186,"byte_start":185,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":193,"byte_start":187,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":194,"byte_start":193,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"reasoning","form":"reasoning","kind":"form","package":"reasoning.titles"},"byte_end":203,"byte_start":194,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"roots","form":"roots","kind":"form","package":"reasoning.titles"},"byte_end":209,"byte_start":204,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":210,"byte_start":209,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":217,"byte_start":211,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":218,"byte_start":217,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":232,"byte_start":218,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":233,"byte_start":232,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":30030,"byte_start":234,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":30034,"byte_start":30030,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":30035,"byte_start":30034,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":30049,"byte_start":30035,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":30050,"byte_start":30049,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":30055,"byte_start":30051,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":30056,"byte_start":30055,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":30063,"byte_start":30056,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":30064,"byte_start":30063,"class":"delimiter","path":"src/Main.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/examples/reasoning/expected/build/coverage/Reasoning/Planner.coverage.json b/examples/reasoning/expected/build/coverage/Reasoning/Planner.coverage.json index 4f864fb87..ed33c162d 100644 --- a/examples/reasoning/expected/build/coverage/Reasoning/Planner.coverage.json +++ b/examples/reasoning/expected/build/coverage/Reasoning/Planner.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":450,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":740,"byte_start":450,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1018,"byte_start":740,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1647,"byte_start":1018,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1989,"byte_start":1647,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3308,"byte_start":1989,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3651,"byte_start":3308,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4981,"byte_start":3651,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5415,"byte_start":4981,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7272,"byte_start":5415,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7585,"byte_start":7272,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7974,"byte_start":7585,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8279,"byte_start":7974,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8992,"byte_start":8279,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9254,"byte_start":8992,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27419,"byte_start":9254,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27674,"byte_start":27419,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28008,"byte_start":27674,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28292,"byte_start":28008,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28953,"byte_start":28292,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29207,"byte_start":28953,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29540,"byte_start":29207,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29821,"byte_start":29540,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30480,"byte_start":29821,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30826,"byte_start":30480,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31150,"byte_start":30826,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31418,"byte_start":31150,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31775,"byte_start":31418,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32131,"byte_start":31775,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32464,"byte_start":32131,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":51452,"byte_start":32464,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71336,"byte_start":51452,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":90352,"byte_start":71336,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":90367,"byte_start":90352,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":34239,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34370,"byte_start":34239,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34474,"byte_start":34370,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34918,"byte_start":34474,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35071,"byte_start":34918,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35530,"byte_start":35071,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36316,"byte_start":35530,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36776,"byte_start":36316,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37572,"byte_start":36776,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":38121,"byte_start":37572,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39160,"byte_start":38121,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39287,"byte_start":39160,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39427,"byte_start":39287,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39899,"byte_start":39427,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40062,"byte_start":39899,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40442,"byte_start":40062,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68130,"byte_start":40442,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68215,"byte_start":68130,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68303,"byte_start":68215,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68750,"byte_start":68303,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68905,"byte_start":68750,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":68989,"byte_start":68905,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69076,"byte_start":68989,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69518,"byte_start":69076,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":69672,"byte_start":69518,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":70161,"byte_start":69672,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":70299,"byte_start":70161,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":70691,"byte_start":70299,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71179,"byte_start":70691,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71684,"byte_start":71179,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":72153,"byte_start":71684,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":100518,"byte_start":72153,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":129878,"byte_start":100518,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":158502,"byte_start":129878,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":158525,"byte_start":158502,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Planner","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":23,"byte_start":16,"class":"word","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":24,"byte_start":23,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":37,"byte_start":25,"class":"control","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":38,"byte_start":37,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":45,"byte_start":38,"class":"word","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":46,"byte_start":45,"class":"ascii-symbol","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":49,"byte_start":46,"class":"word","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":50,"byte_start":49,"class":"ascii-symbol","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":50,"class":"word","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"ascii-symbol","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"numeral","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"ascii-symbol","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"numeral","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"ascii-symbol","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":59,"byte_start":58,"class":"numeral","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":60,"byte_start":59,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":73,"byte_start":61,"class":"control","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":74,"byte_start":73,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":83,"byte_start":74,"class":"word","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":84,"byte_start":83,"class":"ascii-symbol","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":90,"byte_start":84,"class":"word","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":91,"byte_start":90,"class":"ascii-symbol","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":92,"byte_start":91,"class":"numeral","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":93,"byte_start":92,"class":"ascii-symbol","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":94,"byte_start":93,"class":"numeral","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":95,"byte_start":94,"class":"ascii-symbol","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":96,"byte_start":95,"class":"numeral","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":97,"byte_start":96,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":104,"byte_start":98,"class":"control","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":105,"byte_start":104,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"entry":"jug","form":"jug","kind":"form","package":"reasoning.titles"},"byte_end":108,"byte_start":105,"class":"word","path":"src/Planner.lex.tex"},{"binding":{"entry":"planning","form":"planning","kind":"form","package":"reasoning.titles"},"byte_end":117,"byte_start":109,"class":"word","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":118,"byte_start":117,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":125,"byte_start":119,"class":"control","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":126,"byte_start":125,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":140,"byte_start":126,"class":"word","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":141,"byte_start":140,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":8670,"byte_start":142,"class":"word","path":"src/Planner.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":8674,"byte_start":8670,"class":"control","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":8675,"byte_start":8674,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":8689,"byte_start":8675,"class":"word","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":8690,"byte_start":8689,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":8695,"byte_start":8691,"class":"control","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":8696,"byte_start":8695,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":8703,"byte_start":8696,"class":"word","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":8704,"byte_start":8703,"class":"delimiter","path":"src/Planner.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":450,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":740,"byte_start":450,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1018,"byte_start":740,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1647,"byte_start":1018,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1989,"byte_start":1647,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3308,"byte_start":1989,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3651,"byte_start":3308,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4981,"byte_start":3651,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5415,"byte_start":4981,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7272,"byte_start":5415,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7585,"byte_start":7272,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7974,"byte_start":7585,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8279,"byte_start":7974,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8992,"byte_start":8279,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9254,"byte_start":8992,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27419,"byte_start":9254,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27674,"byte_start":27419,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28008,"byte_start":27674,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28292,"byte_start":28008,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":28953,"byte_start":28292,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29207,"byte_start":28953,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29540,"byte_start":29207,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":29821,"byte_start":29540,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30480,"byte_start":29821,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":30826,"byte_start":30480,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31150,"byte_start":30826,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31418,"byte_start":31150,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":31775,"byte_start":31418,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32131,"byte_start":31775,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":32464,"byte_start":32131,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":51452,"byte_start":32464,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":71336,"byte_start":51452,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":90352,"byte_start":71336,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":90367,"byte_start":90352,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":318,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":449,"byte_start":318,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":553,"byte_start":449,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":997,"byte_start":553,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1150,"byte_start":997,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1609,"byte_start":1150,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2395,"byte_start":1609,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2855,"byte_start":2395,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3651,"byte_start":2855,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4200,"byte_start":3651,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5239,"byte_start":4200,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5366,"byte_start":5239,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5506,"byte_start":5366,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5978,"byte_start":5506,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6141,"byte_start":5978,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6521,"byte_start":6141,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34209,"byte_start":6521,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34294,"byte_start":34209,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34382,"byte_start":34294,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34829,"byte_start":34382,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34984,"byte_start":34829,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35068,"byte_start":34984,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35155,"byte_start":35068,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35597,"byte_start":35155,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":35751,"byte_start":35597,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36240,"byte_start":35751,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36378,"byte_start":36240,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":36770,"byte_start":36378,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37258,"byte_start":36770,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":37763,"byte_start":37258,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":38232,"byte_start":37763,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":66597,"byte_start":38232,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":95957,"byte_start":66597,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":124581,"byte_start":95957,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":124604,"byte_start":124581,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Planner","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":23,"byte_start":16,"class":"word","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":24,"byte_start":23,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":37,"byte_start":25,"class":"control","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":38,"byte_start":37,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":45,"byte_start":38,"class":"word","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":46,"byte_start":45,"class":"ascii-symbol","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":49,"byte_start":46,"class":"word","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":50,"byte_start":49,"class":"ascii-symbol","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":50,"class":"word","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"ascii-symbol","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"numeral","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"ascii-symbol","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"numeral","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"ascii-symbol","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":59,"byte_start":58,"class":"numeral","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":60,"byte_start":59,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":73,"byte_start":61,"class":"control","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":74,"byte_start":73,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":83,"byte_start":74,"class":"word","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":84,"byte_start":83,"class":"ascii-symbol","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":90,"byte_start":84,"class":"word","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":91,"byte_start":90,"class":"ascii-symbol","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":92,"byte_start":91,"class":"numeral","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":93,"byte_start":92,"class":"ascii-symbol","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":94,"byte_start":93,"class":"numeral","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":95,"byte_start":94,"class":"ascii-symbol","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":96,"byte_start":95,"class":"numeral","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":97,"byte_start":96,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":104,"byte_start":98,"class":"control","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":105,"byte_start":104,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"entry":"jug","form":"jug","kind":"form","package":"reasoning.titles"},"byte_end":108,"byte_start":105,"class":"word","path":"src/Planner.lex.tex"},{"binding":{"entry":"planning","form":"planning","kind":"form","package":"reasoning.titles"},"byte_end":117,"byte_start":109,"class":"word","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":118,"byte_start":117,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":125,"byte_start":119,"class":"control","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":126,"byte_start":125,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":140,"byte_start":126,"class":"word","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":141,"byte_start":140,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":8670,"byte_start":142,"class":"word","path":"src/Planner.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":8674,"byte_start":8670,"class":"control","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":8675,"byte_start":8674,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":8689,"byte_start":8675,"class":"word","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":8690,"byte_start":8689,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":8695,"byte_start":8691,"class":"control","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":8696,"byte_start":8695,"class":"delimiter","path":"src/Planner.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":8703,"byte_start":8696,"class":"word","path":"src/Planner.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":8704,"byte_start":8703,"class":"delimiter","path":"src/Planner.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/examples/reasoning/expected/build/coverage/Reasoning/Screening.coverage.json b/examples/reasoning/expected/build/coverage/Reasoning/Screening.coverage.json index 1d5403085..2ba350de7 100644 --- a/examples/reasoning/expected/build/coverage/Reasoning/Screening.coverage.json +++ b/examples/reasoning/expected/build/coverage/Reasoning/Screening.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":430,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":805,"byte_start":430,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1090,"byte_start":805,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1752,"byte_start":1090,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2542,"byte_start":1752,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2959,"byte_start":2542,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3312,"byte_start":2959,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3527,"byte_start":3312,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3850,"byte_start":3527,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5867,"byte_start":3850,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6121,"byte_start":5867,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6454,"byte_start":6121,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6717,"byte_start":6454,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7348,"byte_start":6717,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13192,"byte_start":7348,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27179,"byte_start":13192,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27194,"byte_start":27179,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":39342,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39468,"byte_start":39342,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":39597,"byte_start":39468,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40043,"byte_start":39597,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40215,"byte_start":40043,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40480,"byte_start":40215,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40589,"byte_start":40480,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40741,"byte_start":40589,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":40742,"byte_start":40741,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":41215,"byte_start":40742,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42560,"byte_start":41215,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42643,"byte_start":42560,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":42729,"byte_start":42643,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43151,"byte_start":42729,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":43308,"byte_start":43151,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":51530,"byte_start":43308,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":73605,"byte_start":51530,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":73630,"byte_start":73605,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Screening","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":25,"byte_start":16,"class":"word","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":26,"byte_start":25,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":39,"byte_start":27,"class":"control","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":40,"byte_start":39,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":40,"class":"word","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":47,"class":"ascii-symbol","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":48,"class":"word","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"ascii-symbol","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":52,"class":"word","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"ascii-symbol","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"numeral","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"ascii-symbol","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":59,"byte_start":58,"class":"numeral","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":60,"byte_start":59,"class":"ascii-symbol","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":61,"byte_start":60,"class":"numeral","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":62,"byte_start":61,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":75,"byte_start":63,"class":"control","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":76,"byte_start":75,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":85,"byte_start":76,"class":"word","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":86,"byte_start":85,"class":"ascii-symbol","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":92,"byte_start":86,"class":"word","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":93,"byte_start":92,"class":"ascii-symbol","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":94,"byte_start":93,"class":"numeral","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":95,"byte_start":94,"class":"ascii-symbol","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":96,"byte_start":95,"class":"numeral","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":97,"byte_start":96,"class":"ascii-symbol","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":98,"byte_start":97,"class":"numeral","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":99,"byte_start":98,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":106,"byte_start":100,"class":"control","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":107,"byte_start":106,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"entry":"dose","form":"dose","kind":"form","package":"reasoning.titles"},"byte_end":111,"byte_start":107,"class":"word","path":"src/Screening.lex.tex"},{"binding":{"entry":"screening","form":"screening","kind":"form","package":"reasoning.titles"},"byte_end":121,"byte_start":112,"class":"word","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":122,"byte_start":121,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":129,"byte_start":123,"class":"control","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":130,"byte_start":129,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":144,"byte_start":130,"class":"word","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":145,"byte_start":144,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":3607,"byte_start":146,"class":"word","path":"src/Screening.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":3611,"byte_start":3607,"class":"control","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":3612,"byte_start":3611,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":3626,"byte_start":3612,"class":"word","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":3627,"byte_start":3626,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":3632,"byte_start":3628,"class":"control","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":3633,"byte_start":3632,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":3640,"byte_start":3633,"class":"word","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":3641,"byte_start":3640,"class":"delimiter","path":"src/Screening.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":430,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":805,"byte_start":430,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1090,"byte_start":805,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1752,"byte_start":1090,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2542,"byte_start":1752,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2959,"byte_start":2542,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3312,"byte_start":2959,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3527,"byte_start":3312,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3850,"byte_start":3527,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5867,"byte_start":3850,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6121,"byte_start":5867,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6454,"byte_start":6121,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6717,"byte_start":6454,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7348,"byte_start":6717,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13192,"byte_start":7348,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27179,"byte_start":13192,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27194,"byte_start":27179,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":356,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":482,"byte_start":356,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":611,"byte_start":482,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1057,"byte_start":611,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1229,"byte_start":1057,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1494,"byte_start":1229,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1603,"byte_start":1494,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1755,"byte_start":1603,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1756,"byte_start":1755,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2229,"byte_start":1756,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3574,"byte_start":2229,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3657,"byte_start":3574,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3743,"byte_start":3657,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4165,"byte_start":3743,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4322,"byte_start":4165,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12544,"byte_start":4322,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34619,"byte_start":12544,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":34644,"byte_start":34619,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Screening","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":25,"byte_start":16,"class":"word","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":26,"byte_start":25,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":39,"byte_start":27,"class":"control","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":40,"byte_start":39,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":40,"class":"word","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":48,"byte_start":47,"class":"ascii-symbol","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":48,"class":"word","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"ascii-symbol","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":52,"class":"word","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"ascii-symbol","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":57,"byte_start":56,"class":"numeral","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":58,"byte_start":57,"class":"ascii-symbol","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":59,"byte_start":58,"class":"numeral","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":60,"byte_start":59,"class":"ascii-symbol","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":61,"byte_start":60,"class":"numeral","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":62,"byte_start":61,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":75,"byte_start":63,"class":"control","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":76,"byte_start":75,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":85,"byte_start":76,"class":"word","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":86,"byte_start":85,"class":"ascii-symbol","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":92,"byte_start":86,"class":"word","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":93,"byte_start":92,"class":"ascii-symbol","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":94,"byte_start":93,"class":"numeral","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":95,"byte_start":94,"class":"ascii-symbol","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":96,"byte_start":95,"class":"numeral","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":97,"byte_start":96,"class":"ascii-symbol","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":98,"byte_start":97,"class":"numeral","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":99,"byte_start":98,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":106,"byte_start":100,"class":"control","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":107,"byte_start":106,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"entry":"dose","form":"dose","kind":"form","package":"reasoning.titles"},"byte_end":111,"byte_start":107,"class":"word","path":"src/Screening.lex.tex"},{"binding":{"entry":"screening","form":"screening","kind":"form","package":"reasoning.titles"},"byte_end":121,"byte_start":112,"class":"word","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":122,"byte_start":121,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":129,"byte_start":123,"class":"control","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":130,"byte_start":129,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":144,"byte_start":130,"class":"word","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":145,"byte_start":144,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":3607,"byte_start":146,"class":"word","path":"src/Screening.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":3611,"byte_start":3607,"class":"control","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":3612,"byte_start":3611,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":3626,"byte_start":3612,"class":"word","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":3627,"byte_start":3626,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":3632,"byte_start":3628,"class":"control","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":3633,"byte_start":3632,"class":"delimiter","path":"src/Screening.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":3640,"byte_start":3633,"class":"word","path":"src/Screening.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":3641,"byte_start":3640,"class":"delimiter","path":"src/Screening.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/examples/reasoning/expected/build/manifest.json b/examples/reasoning/expected/build/manifest.json index 1e636e89a..0d3e35bb4 100644 --- a/examples/reasoning/expected/build/manifest.json +++ b/examples/reasoning/expected/build/manifest.json @@ -1 +1 @@ -{"build_id":"8db4bd8b34f4ec6a178ce89d8702b4e9bad6e6452d1e440c52024f560c7bdc55","compiler":{"semantics_id":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","version":"0.3.0"},"inputs":[{"byte_length":2684,"kind":"lexicon","path":"embedded","sha256":"3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b"},{"byte_length":14885,"kind":"lexicon","path":"embedded","sha256":"e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac"},{"byte_length":36197,"kind":"lexicon","path":"embedded","sha256":"827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392"},{"byte_length":3061,"kind":"lexicon","path":"glossary/reasoning.titles","sha256":"e47cc403ae3b7c1ac2f3fc574239f31c15973f248243a2e0b70c8000caf68f98"},{"byte_length":1945,"kind":"lock","path":"lexlean.lock","sha256":"72d3fd1f51c847b6da139b29fd6178218ae18c17f48e2feb283419e087832851"},{"byte_length":738,"kind":"project-config","path":"lexlean.toml","sha256":"254deddb728df2532affa57ca92fefae0324c34d616c713273d63bd4cccbb2bf"},{"byte_length":4636,"kind":"source","path":"src/Budget.lex.tex","sha256":"107fc5d7f6acd256caf10ae6a53953c04a86dacfc953d16196805f2f71aa835f"},{"byte_length":27439,"kind":"source","path":"src/Clinic.lex.tex","sha256":"01d7ef34f88ff99c06d1bd95d1e580e88e2b75b2d2826bfce7462f6514d1d05a"},{"byte_length":30065,"kind":"source","path":"src/Main.lex.tex","sha256":"1c528893e116cb6b0cf1f39acb17a02c4e3e5302c5c8e2c802bb3cff19582468"},{"byte_length":8705,"kind":"source","path":"src/Planner.lex.tex","sha256":"8ebdbb36e0f5607e8ca0cdac698535bdd0fc793f9173ecc275817b706ec68f16"},{"byte_length":3642,"kind":"source","path":"src/Screening.lex.tex","sha256":"3dc86d2c1968e2eee6b3f55e1013f2ad4506f81a29a261e767d7dd2029b77efc"}],"language":"1.2","lean_toolchain":"leanprover/lean4:v4.32.1","modules":[{"lean_module":"Reasoning.Budget","module":"Budget","source_path":"src/Budget.lex.tex"},{"lean_module":"Reasoning.Clinic","module":"Clinic","source_path":"src/Clinic.lex.tex"},{"lean_module":"Reasoning.Main","module":"Main","source_path":"src/Main.lex.tex"},{"lean_module":"Reasoning.Planner","module":"Planner","source_path":"src/Planner.lex.tex"},{"lean_module":"Reasoning.Screening","module":"Screening","source_path":"src/Screening.lex.tex"}],"outputs":[{"byte_length":12753,"kind":"coverage","path":"coverage/Reasoning/Budget.coverage.json","sha256":"f3ba05697ae918b90f7df37711a658f448d826f6787cb3f4eaebde86d6a44688"},{"byte_length":23408,"kind":"coverage","path":"coverage/Reasoning/Clinic.coverage.json","sha256":"ed681306cdb2a3b7b8ed7f9fdb4ae82db81724527ff5ba4eb60791ab6cb9e0f2"},{"byte_length":29357,"kind":"coverage","path":"coverage/Reasoning/Main.coverage.json","sha256":"3c4beffc51df456afec3b263f7fb1130d0930b00d73bd696f9b305c6dbfa5579"},{"byte_length":17443,"kind":"coverage","path":"coverage/Reasoning/Planner.coverage.json","sha256":"a783c67e7921c42da9289d8e234e7bf6e2c88f700fabbec5298a5216587a590e"},{"byte_length":12906,"kind":"coverage","path":"coverage/Reasoning/Screening.coverage.json","sha256":"8d409b3c19fa4d4855bcc5040aaccb50922cc687ebf0b7e8176407d5ccbeb49e"},{"byte_length":77753,"kind":"lean","path":"modules/Reasoning/Budget.lean","sha256":"018ef96330e77e782beb9f31068de43aed95a00c3c1c3add7ef6cc58bef4c8ab"},{"byte_length":115836,"kind":"lean","path":"modules/Reasoning/Clinic.lean","sha256":"0d773ee68f1fb952bef022d1ef0d2c75176a994356564e87030bd875cc150812"},{"byte_length":110338,"kind":"lean","path":"modules/Reasoning/Main.lean","sha256":"f70b05ddc0bb7e71a61e45ca55a2670588157f8102d86d9aeb67fb95a1cab203"},{"byte_length":158525,"kind":"lean","path":"modules/Reasoning/Planner.lean","sha256":"7218cc640506fccf7c88dddf74af3aad339fe577e4cc0bb940d5970144087897"},{"byte_length":73630,"kind":"lean","path":"modules/Reasoning/Screening.lean","sha256":"ff26e663af8f06d1e2bc94f8695ce2f4bb9d5c21411f8baf5a9e88b3f0f6a147"},{"byte_length":11233,"kind":"lexicon-closure","path":"lexicons/Budget.closure.json","sha256":"cd5b9087dba571f9410cceb129c23f19613d232799a59279934f24f1c9c341e0"},{"byte_length":11233,"kind":"lexicon-closure","path":"lexicons/Clinic.closure.json","sha256":"e6bf53c5a76f0e7565a0e1a643a439d4e9e3e9e4571094fa75e4afb3dc11b6f7"},{"byte_length":11231,"kind":"lexicon-closure","path":"lexicons/Main.closure.json","sha256":"2a209ecbafc820ae30051979f00499bb931d3bbd13e27301326cf60baae0b982"},{"byte_length":11234,"kind":"lexicon-closure","path":"lexicons/Planner.closure.json","sha256":"5a53b13b649333892d981f1d8d11cb229147651c0087fa0d04d05a0300373732"},{"byte_length":11236,"kind":"lexicon-closure","path":"lexicons/Screening.closure.json","sha256":"538dbf529cb24abcec5c2f68b3abfaca608b7197a5f5125bd83c5eea370c73ae"},{"byte_length":6202,"kind":"map","path":"maps/Reasoning/Budget.map.json","sha256":"b2318c7516118a2e0c52893572d3c923117209c5de65777da5396dd024810ea5"},{"byte_length":19063,"kind":"map","path":"maps/Reasoning/Clinic.map.json","sha256":"05b2f05dc706e7712e0a2255cb5ee9aeed8353dd48b0fd6d0fd0eff570c32ced"},{"byte_length":23417,"kind":"map","path":"maps/Reasoning/Main.map.json","sha256":"cd1be34012d10205017b9fde9c2d5cd496254d12be0771480e61416d7144e11a"},{"byte_length":11753,"kind":"map","path":"maps/Reasoning/Planner.map.json","sha256":"dafc2179edb7bcd647cd492d71cad7f6f7e08d01ad51bccbba32ff27f8855e47"},{"byte_length":6214,"kind":"map","path":"maps/Reasoning/Screening.map.json","sha256":"f3a040f9fa51842ad4e08567872d479f7a69041aa6d8fc57aa8c73d1c906b623"},{"byte_length":216758,"kind":"production-eligibility","path":"production/Reasoning/Main.eligibility.json","sha256":"ac218965e553140b13bbaa660d46558f5a0040d9aa89c4d17f93bd02b4946413"},{"byte_length":34987,"kind":"tex","path":"modules/Reasoning/Budget.tex","sha256":"e119790e14fb08097a91884bd4d4576ecf25f73b8dfb77cb8a4a6974b9bd139c"},{"byte_length":78159,"kind":"tex","path":"modules/Reasoning/Clinic.tex","sha256":"9f22e4e59d2b2515287ca787c5bbef1669441372e69d090b8dbfbc4182088896"},{"byte_length":71965,"kind":"tex","path":"modules/Reasoning/Main.tex","sha256":"cf47f1f8008e33cf5a6a231b5dc3bc349446fd6ae48a9bc7570a8291a93f81fc"},{"byte_length":90367,"kind":"tex","path":"modules/Reasoning/Planner.tex","sha256":"1517be188348a5e8c29ecac93545fa4ac2338e802a7a030bfec7ccc6fb5317f1"},{"byte_length":27194,"kind":"tex","path":"modules/Reasoning/Screening.tex","sha256":"dd053d08d2811509a8659e75b228530b5bff859bb749a955297b965407bf13e4"}],"project":"reasoning","selection":["Budget","Clinic","Main","Planner","Screening"],"semantic_id":"6d3e375f76cbc573b09fef98086539e003daaa986597474797d95198349f7a5d","source_id":"f7f18445051be3c98cbd2c1b02fc50dd6755eab06716daebe5e98d2c995f8ab7","spec":"lexlean/build-manifest/1"} +{"build_id":"76de7d0a7f143133fc7ca406903b20fd6142df6415bac065d6287c12b93c8f2f","compiler":{"semantics_id":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","version":"0.3.0"},"inputs":[{"byte_length":2684,"kind":"lexicon","path":"embedded","sha256":"3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b"},{"byte_length":14885,"kind":"lexicon","path":"embedded","sha256":"e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac"},{"byte_length":36197,"kind":"lexicon","path":"embedded","sha256":"827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392"},{"byte_length":3061,"kind":"lexicon","path":"glossary/reasoning.titles","sha256":"e47cc403ae3b7c1ac2f3fc574239f31c15973f248243a2e0b70c8000caf68f98"},{"byte_length":1945,"kind":"lock","path":"lexlean.lock","sha256":"70a79d6f68190c5987f6387f01227e31d9659394dab0e4e956f3c9b51d38e07c"},{"byte_length":738,"kind":"project-config","path":"lexlean.toml","sha256":"254deddb728df2532affa57ca92fefae0324c34d616c713273d63bd4cccbb2bf"},{"byte_length":4636,"kind":"source","path":"src/Budget.lex.tex","sha256":"107fc5d7f6acd256caf10ae6a53953c04a86dacfc953d16196805f2f71aa835f"},{"byte_length":27439,"kind":"source","path":"src/Clinic.lex.tex","sha256":"01d7ef34f88ff99c06d1bd95d1e580e88e2b75b2d2826bfce7462f6514d1d05a"},{"byte_length":30065,"kind":"source","path":"src/Main.lex.tex","sha256":"1c528893e116cb6b0cf1f39acb17a02c4e3e5302c5c8e2c802bb3cff19582468"},{"byte_length":8705,"kind":"source","path":"src/Planner.lex.tex","sha256":"8ebdbb36e0f5607e8ca0cdac698535bdd0fc793f9173ecc275817b706ec68f16"},{"byte_length":3642,"kind":"source","path":"src/Screening.lex.tex","sha256":"3dc86d2c1968e2eee6b3f55e1013f2ad4506f81a29a261e767d7dd2029b77efc"}],"language":"1.2","lean_toolchain":"leanprover/lean4:v4.32.1","modules":[{"lean_module":"Reasoning.Budget","module":"Budget","source_path":"src/Budget.lex.tex"},{"lean_module":"Reasoning.Clinic","module":"Clinic","source_path":"src/Clinic.lex.tex"},{"lean_module":"Reasoning.Main","module":"Main","source_path":"src/Main.lex.tex"},{"lean_module":"Reasoning.Planner","module":"Planner","source_path":"src/Planner.lex.tex"},{"lean_module":"Reasoning.Screening","module":"Screening","source_path":"src/Screening.lex.tex"}],"outputs":[{"byte_length":12715,"kind":"coverage","path":"coverage/Reasoning/Budget.coverage.json","sha256":"433c7ccb17dfcd36d2e1b998cb2b575bfb2d1992ea752a7daa3f174014ad21a8"},{"byte_length":23343,"kind":"coverage","path":"coverage/Reasoning/Clinic.coverage.json","sha256":"1df739332eac89b559efcd7fb69fa78ad1863c8944905222e18b4c65a7f1a420"},{"byte_length":29280,"kind":"coverage","path":"coverage/Reasoning/Main.coverage.json","sha256":"ba36c67a7df47dd44f9d821723bb27dae5c2ea7a2e6cb3439434b949b32a0411"},{"byte_length":17399,"kind":"coverage","path":"coverage/Reasoning/Planner.coverage.json","sha256":"f02341a3593488d12aa70672c314ef5a41d54d86ac49544e83ab232302187bfc"},{"byte_length":12870,"kind":"coverage","path":"coverage/Reasoning/Screening.coverage.json","sha256":"9336359ad531d0201ed82ecaf4cfc762dc3dff12513a3da03c96892a21035d0a"},{"byte_length":43832,"kind":"lean","path":"modules/Reasoning/Budget.lean","sha256":"089bf305b6277b6bafb91df7119002f5262bc5717d65146bfbeda5948af6c5a4"},{"byte_length":81915,"kind":"lean","path":"modules/Reasoning/Clinic.lean","sha256":"2484e2549eba41a87c37bcccc5dfd09cb50550634716d3b7b8f5fff992bf6290"},{"byte_length":71352,"kind":"lean","path":"modules/Reasoning/Main.lean","sha256":"84433aa11c94fb2c10ec20cd9bc893c06ce9c04dafa9cfed8ab773e0137c1bac"},{"byte_length":124604,"kind":"lean","path":"modules/Reasoning/Planner.lean","sha256":"a468b48c8d13f132f4c046a03ae009f4f0d2be3e2ea93f4a1ca02fbcd16e373c"},{"byte_length":34644,"kind":"lean","path":"modules/Reasoning/Screening.lean","sha256":"42a9f229cd7d4424e760fc5bcfc201ded8012bc7b9eda9c74e7fe525ab16b83a"},{"byte_length":11233,"kind":"lexicon-closure","path":"lexicons/Budget.closure.json","sha256":"cd5b9087dba571f9410cceb129c23f19613d232799a59279934f24f1c9c341e0"},{"byte_length":11233,"kind":"lexicon-closure","path":"lexicons/Clinic.closure.json","sha256":"e6bf53c5a76f0e7565a0e1a643a439d4e9e3e9e4571094fa75e4afb3dc11b6f7"},{"byte_length":11231,"kind":"lexicon-closure","path":"lexicons/Main.closure.json","sha256":"2a209ecbafc820ae30051979f00499bb931d3bbd13e27301326cf60baae0b982"},{"byte_length":11234,"kind":"lexicon-closure","path":"lexicons/Planner.closure.json","sha256":"5a53b13b649333892d981f1d8d11cb229147651c0087fa0d04d05a0300373732"},{"byte_length":11236,"kind":"lexicon-closure","path":"lexicons/Screening.closure.json","sha256":"538dbf529cb24abcec5c2f68b3abfaca608b7197a5f5125bd83c5eea370c73ae"},{"byte_length":6164,"kind":"map","path":"maps/Reasoning/Budget.map.json","sha256":"90f6dfe19bf1a261149bebad0e5d95cec7bb2d9da4f966e6eecf15846f5d5006"},{"byte_length":18998,"kind":"map","path":"maps/Reasoning/Clinic.map.json","sha256":"61f2c0e6c95e21c3d45a24868a544f9a2be88a7326d7f24052bd3b8089a8e89a"},{"byte_length":23340,"kind":"map","path":"maps/Reasoning/Main.map.json","sha256":"c389c169f9006d2a0384a3c8a536f311276c202e814fecfecfe9e6a7ba9c08a9"},{"byte_length":11709,"kind":"map","path":"maps/Reasoning/Planner.map.json","sha256":"6908c9efe8ba7e6c8b4ab107310777033b512053c586ac649f9c4f83ccae9466"},{"byte_length":6178,"kind":"map","path":"maps/Reasoning/Screening.map.json","sha256":"43bbe42959d0180d599c56ddbcf5b2581e7406102842023d7c01fc8d76498468"},{"byte_length":216758,"kind":"production-eligibility","path":"production/Reasoning/Main.eligibility.json","sha256":"ac218965e553140b13bbaa660d46558f5a0040d9aa89c4d17f93bd02b4946413"},{"byte_length":34987,"kind":"tex","path":"modules/Reasoning/Budget.tex","sha256":"e119790e14fb08097a91884bd4d4576ecf25f73b8dfb77cb8a4a6974b9bd139c"},{"byte_length":78159,"kind":"tex","path":"modules/Reasoning/Clinic.tex","sha256":"9f22e4e59d2b2515287ca787c5bbef1669441372e69d090b8dbfbc4182088896"},{"byte_length":71965,"kind":"tex","path":"modules/Reasoning/Main.tex","sha256":"cf47f1f8008e33cf5a6a231b5dc3bc349446fd6ae48a9bc7570a8291a93f81fc"},{"byte_length":90367,"kind":"tex","path":"modules/Reasoning/Planner.tex","sha256":"1517be188348a5e8c29ecac93545fa4ac2338e802a7a030bfec7ccc6fb5317f1"},{"byte_length":27194,"kind":"tex","path":"modules/Reasoning/Screening.tex","sha256":"dd053d08d2811509a8659e75b228530b5bff859bb749a955297b965407bf13e4"}],"project":"reasoning","selection":["Budget","Clinic","Main","Planner","Screening"],"semantic_id":"f04b35f2e1794332ed2a5b996f01296f826acfa851619281330fade86a3161cb","source_id":"a45df07f19018882114601c06a1310e00cad28bb1cc1bbef396b915d1e7183a9","spec":"lexlean/build-manifest/1"} diff --git a/examples/reasoning/expected/build/maps/Reasoning/Budget.map.json b/examples/reasoning/expected/build/maps/Reasoning/Budget.map.json index 480a3ee19..912e82590 100644 --- a/examples/reasoning/expected/build/maps/Reasoning/Budget.map.json +++ b/examples/reasoning/expected/build/maps/Reasoning/Budget.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/Reasoning/Budget.lean"},{"id":1,"kind":"tex","path":"modules/Reasoning/Budget.tex"}],"mappings":[{"artifact":0,"gen_end":34238,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":4636,"src_start":0},{"artifact":0,"gen_end":34381,"gen_start":34238,"node":1,"role":"declaration","source":0,"src_end":324,"src_start":145},{"artifact":0,"gen_end":34462,"gen_start":34381,"node":2,"role":"declaration","source":0,"src_end":448,"src_start":326},{"artifact":0,"gen_end":34463,"gen_start":34462,"node":3,"role":"declaration","source":0,"src_end":588,"src_start":450},{"artifact":0,"gen_end":34949,"gen_start":34463,"node":4,"role":"declaration","source":0,"src_end":867,"src_start":590},{"artifact":0,"gen_end":35464,"gen_start":34949,"node":5,"role":"declaration","source":0,"src_end":1178,"src_start":869},{"artifact":0,"gen_end":36751,"gen_start":35464,"node":6,"role":"declaration","source":0,"src_end":1482,"src_start":1180},{"artifact":0,"gen_end":37270,"gen_start":36751,"node":7,"role":"declaration","source":0,"src_end":1785,"src_start":1484},{"artifact":0,"gen_end":37818,"gen_start":37270,"node":8,"role":"declaration","source":0,"src_end":2120,"src_start":1787},{"artifact":0,"gen_end":39338,"gen_start":37818,"node":9,"role":"declaration","source":0,"src_end":2513,"src_start":2122},{"artifact":0,"gen_end":39425,"gen_start":39338,"node":10,"role":"declaration","source":0,"src_end":2632,"src_start":2515},{"artifact":0,"gen_end":39516,"gen_start":39425,"node":11,"role":"declaration","source":0,"src_end":2777,"src_start":2634},{"artifact":0,"gen_end":39960,"gen_start":39516,"node":12,"role":"declaration","source":0,"src_end":3016,"src_start":2779},{"artifact":0,"gen_end":40135,"gen_start":39960,"node":13,"role":"declaration","source":0,"src_end":3224,"src_start":3018},{"artifact":0,"gen_end":40578,"gen_start":40135,"node":14,"role":"declaration","source":0,"src_end":3485,"src_start":3226},{"artifact":0,"gen_end":60419,"gen_start":40578,"node":15,"role":"declaration","source":0,"src_end":4058,"src_start":3487},{"artifact":0,"gen_end":77731,"gen_start":60419,"node":16,"role":"declaration","source":0,"src_end":4600,"src_start":4060},{"artifact":0,"gen_end":77753,"gen_start":77731,"node":0,"role":"declaration","source":0,"src_end":4636,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":17,"role":"declaration","source":0,"src_end":4636,"src_start":0},{"artifact":1,"gen_end":497,"gen_start":134,"node":18,"role":"declaration","source":0,"src_end":324,"src_start":145},{"artifact":1,"gen_end":794,"gen_start":497,"node":19,"role":"declaration","source":0,"src_end":448,"src_start":326},{"artifact":1,"gen_end":1045,"gen_start":794,"node":20,"role":"declaration","source":0,"src_end":588,"src_start":450},{"artifact":1,"gen_end":1428,"gen_start":1045,"node":21,"role":"declaration","source":0,"src_end":867,"src_start":590},{"artifact":1,"gen_end":1836,"gen_start":1428,"node":22,"role":"declaration","source":0,"src_end":1178,"src_start":869},{"artifact":1,"gen_end":3715,"gen_start":1836,"node":23,"role":"declaration","source":0,"src_end":1482,"src_start":1180},{"artifact":1,"gen_end":4133,"gen_start":3715,"node":24,"role":"declaration","source":0,"src_end":1785,"src_start":1484},{"artifact":1,"gen_end":4576,"gen_start":4133,"node":25,"role":"declaration","source":0,"src_end":2120,"src_start":1787},{"artifact":1,"gen_end":6863,"gen_start":4576,"node":26,"role":"declaration","source":0,"src_end":2513,"src_start":2122},{"artifact":1,"gen_end":7154,"gen_start":6863,"node":27,"role":"declaration","source":0,"src_end":2632,"src_start":2515},{"artifact":1,"gen_end":7525,"gen_start":7154,"node":28,"role":"declaration","source":0,"src_end":2777,"src_start":2634},{"artifact":1,"gen_end":7842,"gen_start":7525,"node":29,"role":"declaration","source":0,"src_end":3016,"src_start":2779},{"artifact":1,"gen_end":8490,"gen_start":7842,"node":30,"role":"declaration","source":0,"src_end":3224,"src_start":3018},{"artifact":1,"gen_end":8826,"gen_start":8490,"node":31,"role":"declaration","source":0,"src_end":3485,"src_start":3226},{"artifact":1,"gen_end":22640,"gen_start":8826,"node":32,"role":"declaration","source":0,"src_end":4058,"src_start":3487},{"artifact":1,"gen_end":34972,"gen_start":22640,"node":33,"role":"declaration","source":0,"src_end":4600,"src_start":4060},{"artifact":1,"gen_end":34987,"gen_start":34972,"node":17,"role":"declaration","source":0,"src_end":4636,"src_start":0}],"module":"Budget","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-latex-module"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"}],"semantic_id":"6d3e375f76cbc573b09fef98086539e003daaa986597474797d95198349f7a5d","source_id":"f7f18445051be3c98cbd2c1b02fc50dd6755eab06716daebe5e98d2c995f8ab7","sources":[{"id":0,"kind":"file","path":"src/Budget.lex.tex","sha256":"107fc5d7f6acd256caf10ae6a53953c04a86dacfc953d16196805f2f71aa835f"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Reasoning/Budget.lean"},{"id":1,"kind":"tex","path":"modules/Reasoning/Budget.tex"}],"mappings":[{"artifact":0,"gen_end":317,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":4636,"src_start":0},{"artifact":0,"gen_end":460,"gen_start":317,"node":1,"role":"declaration","source":0,"src_end":324,"src_start":145},{"artifact":0,"gen_end":541,"gen_start":460,"node":2,"role":"declaration","source":0,"src_end":448,"src_start":326},{"artifact":0,"gen_end":542,"gen_start":541,"node":3,"role":"declaration","source":0,"src_end":588,"src_start":450},{"artifact":0,"gen_end":1028,"gen_start":542,"node":4,"role":"declaration","source":0,"src_end":867,"src_start":590},{"artifact":0,"gen_end":1543,"gen_start":1028,"node":5,"role":"declaration","source":0,"src_end":1178,"src_start":869},{"artifact":0,"gen_end":2830,"gen_start":1543,"node":6,"role":"declaration","source":0,"src_end":1482,"src_start":1180},{"artifact":0,"gen_end":3349,"gen_start":2830,"node":7,"role":"declaration","source":0,"src_end":1785,"src_start":1484},{"artifact":0,"gen_end":3897,"gen_start":3349,"node":8,"role":"declaration","source":0,"src_end":2120,"src_start":1787},{"artifact":0,"gen_end":5417,"gen_start":3897,"node":9,"role":"declaration","source":0,"src_end":2513,"src_start":2122},{"artifact":0,"gen_end":5504,"gen_start":5417,"node":10,"role":"declaration","source":0,"src_end":2632,"src_start":2515},{"artifact":0,"gen_end":5595,"gen_start":5504,"node":11,"role":"declaration","source":0,"src_end":2777,"src_start":2634},{"artifact":0,"gen_end":6039,"gen_start":5595,"node":12,"role":"declaration","source":0,"src_end":3016,"src_start":2779},{"artifact":0,"gen_end":6214,"gen_start":6039,"node":13,"role":"declaration","source":0,"src_end":3224,"src_start":3018},{"artifact":0,"gen_end":6657,"gen_start":6214,"node":14,"role":"declaration","source":0,"src_end":3485,"src_start":3226},{"artifact":0,"gen_end":26498,"gen_start":6657,"node":15,"role":"declaration","source":0,"src_end":4058,"src_start":3487},{"artifact":0,"gen_end":43810,"gen_start":26498,"node":16,"role":"declaration","source":0,"src_end":4600,"src_start":4060},{"artifact":0,"gen_end":43832,"gen_start":43810,"node":0,"role":"declaration","source":0,"src_end":4636,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":17,"role":"declaration","source":0,"src_end":4636,"src_start":0},{"artifact":1,"gen_end":497,"gen_start":134,"node":18,"role":"declaration","source":0,"src_end":324,"src_start":145},{"artifact":1,"gen_end":794,"gen_start":497,"node":19,"role":"declaration","source":0,"src_end":448,"src_start":326},{"artifact":1,"gen_end":1045,"gen_start":794,"node":20,"role":"declaration","source":0,"src_end":588,"src_start":450},{"artifact":1,"gen_end":1428,"gen_start":1045,"node":21,"role":"declaration","source":0,"src_end":867,"src_start":590},{"artifact":1,"gen_end":1836,"gen_start":1428,"node":22,"role":"declaration","source":0,"src_end":1178,"src_start":869},{"artifact":1,"gen_end":3715,"gen_start":1836,"node":23,"role":"declaration","source":0,"src_end":1482,"src_start":1180},{"artifact":1,"gen_end":4133,"gen_start":3715,"node":24,"role":"declaration","source":0,"src_end":1785,"src_start":1484},{"artifact":1,"gen_end":4576,"gen_start":4133,"node":25,"role":"declaration","source":0,"src_end":2120,"src_start":1787},{"artifact":1,"gen_end":6863,"gen_start":4576,"node":26,"role":"declaration","source":0,"src_end":2513,"src_start":2122},{"artifact":1,"gen_end":7154,"gen_start":6863,"node":27,"role":"declaration","source":0,"src_end":2632,"src_start":2515},{"artifact":1,"gen_end":7525,"gen_start":7154,"node":28,"role":"declaration","source":0,"src_end":2777,"src_start":2634},{"artifact":1,"gen_end":7842,"gen_start":7525,"node":29,"role":"declaration","source":0,"src_end":3016,"src_start":2779},{"artifact":1,"gen_end":8490,"gen_start":7842,"node":30,"role":"declaration","source":0,"src_end":3224,"src_start":3018},{"artifact":1,"gen_end":8826,"gen_start":8490,"node":31,"role":"declaration","source":0,"src_end":3485,"src_start":3226},{"artifact":1,"gen_end":22640,"gen_start":8826,"node":32,"role":"declaration","source":0,"src_end":4058,"src_start":3487},{"artifact":1,"gen_end":34972,"gen_start":22640,"node":33,"role":"declaration","source":0,"src_end":4600,"src_start":4060},{"artifact":1,"gen_end":34987,"gen_start":34972,"node":17,"role":"declaration","source":0,"src_end":4636,"src_start":0}],"module":"Budget","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-latex-module"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"}],"semantic_id":"f04b35f2e1794332ed2a5b996f01296f826acfa851619281330fade86a3161cb","source_id":"a45df07f19018882114601c06a1310e00cad28bb1cc1bbef396b915d1e7183a9","sources":[{"id":0,"kind":"file","path":"src/Budget.lex.tex","sha256":"107fc5d7f6acd256caf10ae6a53953c04a86dacfc953d16196805f2f71aa835f"}],"spec":"lexlean/source-map/1"} diff --git a/examples/reasoning/expected/build/maps/Reasoning/Clinic.map.json b/examples/reasoning/expected/build/maps/Reasoning/Clinic.map.json index c7b2e8d31..46b800b6e 100644 --- a/examples/reasoning/expected/build/maps/Reasoning/Clinic.map.json +++ b/examples/reasoning/expected/build/maps/Reasoning/Clinic.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/Reasoning/Clinic.lean"},{"id":1,"kind":"tex","path":"modules/Reasoning/Clinic.tex"}],"mappings":[{"artifact":0,"gen_end":34238,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":27439,"src_start":0},{"artifact":0,"gen_end":34385,"gen_start":34238,"node":1,"role":"declaration","source":0,"src_end":440,"src_start":144},{"artifact":0,"gen_end":34562,"gen_start":34385,"node":2,"role":"declaration","source":0,"src_end":816,"src_start":442},{"artifact":0,"gen_end":34650,"gen_start":34562,"node":3,"role":"declaration","source":0,"src_end":954,"src_start":818},{"artifact":0,"gen_end":34738,"gen_start":34650,"node":4,"role":"declaration","source":0,"src_end":1092,"src_start":956},{"artifact":0,"gen_end":34831,"gen_start":34738,"node":5,"role":"declaration","source":0,"src_end":1235,"src_start":1094},{"artifact":0,"gen_end":34919,"gen_start":34831,"node":6,"role":"declaration","source":0,"src_end":1373,"src_start":1237},{"artifact":0,"gen_end":35006,"gen_start":34919,"node":7,"role":"declaration","source":0,"src_end":1510,"src_start":1375},{"artifact":0,"gen_end":35094,"gen_start":35006,"node":8,"role":"declaration","source":0,"src_end":1626,"src_start":1512},{"artifact":0,"gen_end":35183,"gen_start":35094,"node":9,"role":"declaration","source":0,"src_end":1743,"src_start":1628},{"artifact":0,"gen_end":35277,"gen_start":35183,"node":10,"role":"declaration","source":0,"src_end":1865,"src_start":1745},{"artifact":0,"gen_end":35366,"gen_start":35277,"node":11,"role":"declaration","source":0,"src_end":1982,"src_start":1867},{"artifact":0,"gen_end":35454,"gen_start":35366,"node":12,"role":"declaration","source":0,"src_end":2098,"src_start":1984},{"artifact":0,"gen_end":35662,"gen_start":35454,"node":13,"role":"declaration","source":0,"src_end":2382,"src_start":2100},{"artifact":0,"gen_end":37139,"gen_start":35662,"node":14,"role":"declaration","source":0,"src_end":4502,"src_start":2384},{"artifact":0,"gen_end":37393,"gen_start":37139,"node":15,"role":"declaration","source":0,"src_end":4840,"src_start":4504},{"artifact":0,"gen_end":37873,"gen_start":37393,"node":16,"role":"declaration","source":0,"src_end":5303,"src_start":4842},{"artifact":0,"gen_end":38398,"gen_start":37873,"node":17,"role":"declaration","source":0,"src_end":5701,"src_start":5305},{"artifact":0,"gen_end":38570,"gen_start":38398,"node":18,"role":"declaration","source":0,"src_end":5935,"src_start":5703},{"artifact":0,"gen_end":39368,"gen_start":38570,"node":19,"role":"declaration","source":0,"src_end":6705,"src_start":5937},{"artifact":0,"gen_end":40139,"gen_start":39368,"node":20,"role":"declaration","source":0,"src_end":7354,"src_start":6707},{"artifact":0,"gen_end":41665,"gen_start":40139,"node":21,"role":"declaration","source":0,"src_end":7914,"src_start":7356},{"artifact":0,"gen_end":42472,"gen_start":41665,"node":22,"role":"declaration","source":0,"src_end":8693,"src_start":7916},{"artifact":0,"gen_end":43252,"gen_start":42472,"node":23,"role":"declaration","source":0,"src_end":9351,"src_start":8695},{"artifact":0,"gen_end":44871,"gen_start":43252,"node":24,"role":"declaration","source":0,"src_end":9932,"src_start":9353},{"artifact":0,"gen_end":45675,"gen_start":44871,"node":25,"role":"declaration","source":0,"src_end":10708,"src_start":9934},{"artifact":0,"gen_end":46452,"gen_start":45675,"node":26,"role":"declaration","source":0,"src_end":11363,"src_start":10710},{"artifact":0,"gen_end":48040,"gen_start":46452,"node":27,"role":"declaration","source":0,"src_end":11937,"src_start":11365},{"artifact":0,"gen_end":48847,"gen_start":48040,"node":28,"role":"declaration","source":0,"src_end":12716,"src_start":11939},{"artifact":0,"gen_end":49627,"gen_start":48847,"node":29,"role":"declaration","source":0,"src_end":13374,"src_start":12718},{"artifact":0,"gen_end":51260,"gen_start":49627,"node":30,"role":"declaration","source":0,"src_end":13957,"src_start":13376},{"artifact":0,"gen_end":52120,"gen_start":51260,"node":31,"role":"declaration","source":0,"src_end":14805,"src_start":13959},{"artifact":0,"gen_end":52953,"gen_start":52120,"node":32,"role":"declaration","source":0,"src_end":15532,"src_start":14807},{"artifact":0,"gen_end":54510,"gen_start":52953,"node":33,"role":"declaration","source":0,"src_end":16168,"src_start":15534},{"artifact":0,"gen_end":55356,"gen_start":54510,"node":34,"role":"declaration","source":0,"src_end":16984,"src_start":16170},{"artifact":0,"gen_end":56175,"gen_start":55356,"node":35,"role":"declaration","source":0,"src_end":17679,"src_start":16986},{"artifact":0,"gen_end":57746,"gen_start":56175,"node":36,"role":"declaration","source":0,"src_end":18287,"src_start":17681},{"artifact":0,"gen_end":58579,"gen_start":57746,"node":37,"role":"declaration","source":0,"src_end":19091,"src_start":18289},{"artifact":0,"gen_end":59385,"gen_start":58579,"node":38,"role":"declaration","source":0,"src_end":19774,"src_start":19093},{"artifact":0,"gen_end":60946,"gen_start":59385,"node":39,"role":"declaration","source":0,"src_end":20368,"src_start":19776},{"artifact":0,"gen_end":61920,"gen_start":60946,"node":40,"role":"declaration","source":0,"src_end":21308,"src_start":20370},{"artifact":0,"gen_end":62867,"gen_start":61920,"node":41,"role":"declaration","source":0,"src_end":22127,"src_start":21310},{"artifact":0,"gen_end":64594,"gen_start":62867,"node":42,"role":"declaration","source":0,"src_end":22863,"src_start":22129},{"artifact":0,"gen_end":64776,"gen_start":64594,"node":43,"role":"declaration","source":0,"src_end":23072,"src_start":22865},{"artifact":0,"gen_end":64990,"gen_start":64776,"node":44,"role":"declaration","source":0,"src_end":23321,"src_start":23074},{"artifact":0,"gen_end":65574,"gen_start":64990,"node":45,"role":"declaration","source":0,"src_end":23800,"src_start":23323},{"artifact":0,"gen_end":66161,"gen_start":65574,"node":46,"role":"declaration","source":0,"src_end":24282,"src_start":23802},{"artifact":0,"gen_end":66527,"gen_start":66161,"node":47,"role":"declaration","source":0,"src_end":24566,"src_start":24284},{"artifact":0,"gen_end":66613,"gen_start":66527,"node":48,"role":"declaration","source":0,"src_end":24660,"src_start":24568},{"artifact":0,"gen_end":66702,"gen_start":66613,"node":49,"role":"declaration","source":0,"src_end":24789,"src_start":24662},{"artifact":0,"gen_end":67154,"gen_start":66702,"node":50,"role":"declaration","source":0,"src_end":25020,"src_start":24791},{"artifact":0,"gen_end":67320,"gen_start":67154,"node":51,"role":"declaration","source":0,"src_end":25224,"src_start":25022},{"artifact":0,"gen_end":67858,"gen_start":67320,"node":52,"role":"declaration","source":0,"src_end":25579,"src_start":25226},{"artifact":0,"gen_end":68394,"gen_start":67858,"node":53,"role":"declaration","source":0,"src_end":25914,"src_start":25581},{"artifact":0,"gen_end":93067,"gen_start":68394,"node":54,"role":"declaration","source":0,"src_end":26711,"src_start":25916},{"artifact":0,"gen_end":115814,"gen_start":93067,"node":55,"role":"declaration","source":0,"src_end":27403,"src_start":26713},{"artifact":0,"gen_end":115836,"gen_start":115814,"node":0,"role":"declaration","source":0,"src_end":27439,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":56,"role":"declaration","source":0,"src_end":27439,"src_start":0},{"artifact":1,"gen_end":536,"gen_start":134,"node":57,"role":"declaration","source":0,"src_end":440,"src_start":144},{"artifact":1,"gen_end":1076,"gen_start":536,"node":58,"role":"declaration","source":0,"src_end":816,"src_start":442},{"artifact":1,"gen_end":1411,"gen_start":1076,"node":59,"role":"declaration","source":0,"src_end":954,"src_start":818},{"artifact":1,"gen_end":1746,"gen_start":1411,"node":60,"role":"declaration","source":0,"src_end":1092,"src_start":956},{"artifact":1,"gen_end":2086,"gen_start":1746,"node":61,"role":"declaration","source":0,"src_end":1235,"src_start":1094},{"artifact":1,"gen_end":2421,"gen_start":2086,"node":62,"role":"declaration","source":0,"src_end":1373,"src_start":1237},{"artifact":1,"gen_end":2755,"gen_start":2421,"node":63,"role":"declaration","source":0,"src_end":1510,"src_start":1375},{"artifact":1,"gen_end":3014,"gen_start":2755,"node":64,"role":"declaration","source":0,"src_end":1626,"src_start":1512},{"artifact":1,"gen_end":3274,"gen_start":3014,"node":65,"role":"declaration","source":0,"src_end":1743,"src_start":1628},{"artifact":1,"gen_end":3539,"gen_start":3274,"node":66,"role":"declaration","source":0,"src_end":1865,"src_start":1745},{"artifact":1,"gen_end":3799,"gen_start":3539,"node":67,"role":"declaration","source":0,"src_end":1982,"src_start":1867},{"artifact":1,"gen_end":4058,"gen_start":3799,"node":68,"role":"declaration","source":0,"src_end":2098,"src_start":1984},{"artifact":1,"gen_end":4482,"gen_start":4058,"node":69,"role":"declaration","source":0,"src_end":2382,"src_start":2100},{"artifact":1,"gen_end":6595,"gen_start":4482,"node":70,"role":"declaration","source":0,"src_end":4502,"src_start":2384},{"artifact":1,"gen_end":7125,"gen_start":6595,"node":71,"role":"declaration","source":0,"src_end":4840,"src_start":4504},{"artifact":1,"gen_end":7787,"gen_start":7125,"node":72,"role":"declaration","source":0,"src_end":5303,"src_start":4842},{"artifact":1,"gen_end":8107,"gen_start":7787,"node":73,"role":"declaration","source":0,"src_end":5701,"src_start":5305},{"artifact":1,"gen_end":8840,"gen_start":8107,"node":74,"role":"declaration","source":0,"src_end":5935,"src_start":5703},{"artifact":1,"gen_end":9389,"gen_start":8840,"node":75,"role":"declaration","source":0,"src_end":6705,"src_start":5937},{"artifact":1,"gen_end":9953,"gen_start":9389,"node":76,"role":"declaration","source":0,"src_end":7354,"src_start":6707},{"artifact":1,"gen_end":12552,"gen_start":9953,"node":77,"role":"declaration","source":0,"src_end":7914,"src_start":7356},{"artifact":1,"gen_end":13110,"gen_start":12552,"node":78,"role":"declaration","source":0,"src_end":8693,"src_start":7916},{"artifact":1,"gen_end":13683,"gen_start":13110,"node":79,"role":"declaration","source":0,"src_end":9351,"src_start":8695},{"artifact":1,"gen_end":16390,"gen_start":13683,"node":80,"role":"declaration","source":0,"src_end":9932,"src_start":9353},{"artifact":1,"gen_end":16945,"gen_start":16390,"node":81,"role":"declaration","source":0,"src_end":10708,"src_start":9934},{"artifact":1,"gen_end":17515,"gen_start":16945,"node":82,"role":"declaration","source":0,"src_end":11363,"src_start":10710},{"artifact":1,"gen_end":20186,"gen_start":17515,"node":83,"role":"declaration","source":0,"src_end":11937,"src_start":11365},{"artifact":1,"gen_end":20744,"gen_start":20186,"node":84,"role":"declaration","source":0,"src_end":12716,"src_start":11939},{"artifact":1,"gen_end":21317,"gen_start":20744,"node":85,"role":"declaration","source":0,"src_end":13374,"src_start":12718},{"artifact":1,"gen_end":24036,"gen_start":21317,"node":86,"role":"declaration","source":0,"src_end":13957,"src_start":13376},{"artifact":1,"gen_end":24647,"gen_start":24036,"node":87,"role":"declaration","source":0,"src_end":14805,"src_start":13959},{"artifact":1,"gen_end":25273,"gen_start":24647,"node":88,"role":"declaration","source":0,"src_end":15532,"src_start":14807},{"artifact":1,"gen_end":28108,"gen_start":25273,"node":89,"role":"declaration","source":0,"src_end":16168,"src_start":15534},{"artifact":1,"gen_end":28707,"gen_start":28108,"node":90,"role":"declaration","source":0,"src_end":16984,"src_start":16170},{"artifact":1,"gen_end":29321,"gen_start":28707,"node":91,"role":"declaration","source":0,"src_end":17679,"src_start":16986},{"artifact":1,"gen_end":32132,"gen_start":29321,"node":92,"role":"declaration","source":0,"src_end":18287,"src_start":17681},{"artifact":1,"gen_end":32718,"gen_start":32132,"node":93,"role":"declaration","source":0,"src_end":19091,"src_start":18289},{"artifact":1,"gen_end":33319,"gen_start":32718,"node":94,"role":"declaration","source":0,"src_end":19774,"src_start":19093},{"artifact":1,"gen_end":36066,"gen_start":33319,"node":95,"role":"declaration","source":0,"src_end":20368,"src_start":19776},{"artifact":1,"gen_end":36797,"gen_start":36066,"node":96,"role":"declaration","source":0,"src_end":21308,"src_start":20370},{"artifact":1,"gen_end":37543,"gen_start":36797,"node":97,"role":"declaration","source":0,"src_end":22127,"src_start":21310},{"artifact":1,"gen_end":40906,"gen_start":37543,"node":98,"role":"declaration","source":0,"src_end":22863,"src_start":22129},{"artifact":1,"gen_end":41319,"gen_start":40906,"node":99,"role":"declaration","source":0,"src_end":23072,"src_start":22865},{"artifact":1,"gen_end":41788,"gen_start":41319,"node":100,"role":"declaration","source":0,"src_end":23321,"src_start":23074},{"artifact":1,"gen_end":42109,"gen_start":41788,"node":101,"role":"declaration","source":0,"src_end":23800,"src_start":23323},{"artifact":1,"gen_end":42433,"gen_start":42109,"node":102,"role":"declaration","source":0,"src_end":24282,"src_start":23802},{"artifact":1,"gen_end":43603,"gen_start":42433,"node":103,"role":"declaration","source":0,"src_end":24566,"src_start":24284},{"artifact":1,"gen_end":43859,"gen_start":43603,"node":104,"role":"declaration","source":0,"src_end":24660,"src_start":24568},{"artifact":1,"gen_end":44194,"gen_start":43859,"node":105,"role":"declaration","source":0,"src_end":24789,"src_start":24662},{"artifact":1,"gen_end":44476,"gen_start":44194,"node":106,"role":"declaration","source":0,"src_end":25020,"src_start":24791},{"artifact":1,"gen_end":45162,"gen_start":44476,"node":107,"role":"declaration","source":0,"src_end":25224,"src_start":25022},{"artifact":1,"gen_end":45578,"gen_start":45162,"node":108,"role":"declaration","source":0,"src_end":25579,"src_start":25226},{"artifact":1,"gen_end":45977,"gen_start":45578,"node":109,"role":"declaration","source":0,"src_end":25914,"src_start":25581},{"artifact":1,"gen_end":62729,"gen_start":45977,"node":110,"role":"declaration","source":0,"src_end":26711,"src_start":25916},{"artifact":1,"gen_end":78144,"gen_start":62729,"node":111,"role":"declaration","source":0,"src_end":27403,"src_start":26713},{"artifact":1,"gen_end":78159,"gen_start":78144,"node":56,"role":"declaration","source":0,"src_end":27439,"src_start":0}],"module":"Clinic","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-latex-module"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"},{"id":80,"kind":"semantic-declaration"},{"id":81,"kind":"semantic-declaration"},{"id":82,"kind":"semantic-declaration"},{"id":83,"kind":"semantic-declaration"},{"id":84,"kind":"semantic-declaration"},{"id":85,"kind":"semantic-declaration"},{"id":86,"kind":"semantic-declaration"},{"id":87,"kind":"semantic-declaration"},{"id":88,"kind":"semantic-declaration"},{"id":89,"kind":"semantic-declaration"},{"id":90,"kind":"semantic-declaration"},{"id":91,"kind":"semantic-declaration"},{"id":92,"kind":"semantic-declaration"},{"id":93,"kind":"semantic-declaration"},{"id":94,"kind":"semantic-declaration"},{"id":95,"kind":"semantic-declaration"},{"id":96,"kind":"semantic-declaration"},{"id":97,"kind":"semantic-declaration"},{"id":98,"kind":"semantic-declaration"},{"id":99,"kind":"semantic-declaration"},{"id":100,"kind":"semantic-declaration"},{"id":101,"kind":"semantic-declaration"},{"id":102,"kind":"semantic-declaration"},{"id":103,"kind":"semantic-declaration"},{"id":104,"kind":"semantic-declaration"},{"id":105,"kind":"semantic-declaration"},{"id":106,"kind":"semantic-declaration"},{"id":107,"kind":"semantic-declaration"},{"id":108,"kind":"semantic-declaration"},{"id":109,"kind":"semantic-declaration"},{"id":110,"kind":"semantic-declaration"},{"id":111,"kind":"semantic-declaration"}],"semantic_id":"6d3e375f76cbc573b09fef98086539e003daaa986597474797d95198349f7a5d","source_id":"f7f18445051be3c98cbd2c1b02fc50dd6755eab06716daebe5e98d2c995f8ab7","sources":[{"id":0,"kind":"file","path":"src/Clinic.lex.tex","sha256":"01d7ef34f88ff99c06d1bd95d1e580e88e2b75b2d2826bfce7462f6514d1d05a"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Reasoning/Clinic.lean"},{"id":1,"kind":"tex","path":"modules/Reasoning/Clinic.tex"}],"mappings":[{"artifact":0,"gen_end":317,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":27439,"src_start":0},{"artifact":0,"gen_end":464,"gen_start":317,"node":1,"role":"declaration","source":0,"src_end":440,"src_start":144},{"artifact":0,"gen_end":641,"gen_start":464,"node":2,"role":"declaration","source":0,"src_end":816,"src_start":442},{"artifact":0,"gen_end":729,"gen_start":641,"node":3,"role":"declaration","source":0,"src_end":954,"src_start":818},{"artifact":0,"gen_end":817,"gen_start":729,"node":4,"role":"declaration","source":0,"src_end":1092,"src_start":956},{"artifact":0,"gen_end":910,"gen_start":817,"node":5,"role":"declaration","source":0,"src_end":1235,"src_start":1094},{"artifact":0,"gen_end":998,"gen_start":910,"node":6,"role":"declaration","source":0,"src_end":1373,"src_start":1237},{"artifact":0,"gen_end":1085,"gen_start":998,"node":7,"role":"declaration","source":0,"src_end":1510,"src_start":1375},{"artifact":0,"gen_end":1173,"gen_start":1085,"node":8,"role":"declaration","source":0,"src_end":1626,"src_start":1512},{"artifact":0,"gen_end":1262,"gen_start":1173,"node":9,"role":"declaration","source":0,"src_end":1743,"src_start":1628},{"artifact":0,"gen_end":1356,"gen_start":1262,"node":10,"role":"declaration","source":0,"src_end":1865,"src_start":1745},{"artifact":0,"gen_end":1445,"gen_start":1356,"node":11,"role":"declaration","source":0,"src_end":1982,"src_start":1867},{"artifact":0,"gen_end":1533,"gen_start":1445,"node":12,"role":"declaration","source":0,"src_end":2098,"src_start":1984},{"artifact":0,"gen_end":1741,"gen_start":1533,"node":13,"role":"declaration","source":0,"src_end":2382,"src_start":2100},{"artifact":0,"gen_end":3218,"gen_start":1741,"node":14,"role":"declaration","source":0,"src_end":4502,"src_start":2384},{"artifact":0,"gen_end":3472,"gen_start":3218,"node":15,"role":"declaration","source":0,"src_end":4840,"src_start":4504},{"artifact":0,"gen_end":3952,"gen_start":3472,"node":16,"role":"declaration","source":0,"src_end":5303,"src_start":4842},{"artifact":0,"gen_end":4477,"gen_start":3952,"node":17,"role":"declaration","source":0,"src_end":5701,"src_start":5305},{"artifact":0,"gen_end":4649,"gen_start":4477,"node":18,"role":"declaration","source":0,"src_end":5935,"src_start":5703},{"artifact":0,"gen_end":5447,"gen_start":4649,"node":19,"role":"declaration","source":0,"src_end":6705,"src_start":5937},{"artifact":0,"gen_end":6218,"gen_start":5447,"node":20,"role":"declaration","source":0,"src_end":7354,"src_start":6707},{"artifact":0,"gen_end":7744,"gen_start":6218,"node":21,"role":"declaration","source":0,"src_end":7914,"src_start":7356},{"artifact":0,"gen_end":8551,"gen_start":7744,"node":22,"role":"declaration","source":0,"src_end":8693,"src_start":7916},{"artifact":0,"gen_end":9331,"gen_start":8551,"node":23,"role":"declaration","source":0,"src_end":9351,"src_start":8695},{"artifact":0,"gen_end":10950,"gen_start":9331,"node":24,"role":"declaration","source":0,"src_end":9932,"src_start":9353},{"artifact":0,"gen_end":11754,"gen_start":10950,"node":25,"role":"declaration","source":0,"src_end":10708,"src_start":9934},{"artifact":0,"gen_end":12531,"gen_start":11754,"node":26,"role":"declaration","source":0,"src_end":11363,"src_start":10710},{"artifact":0,"gen_end":14119,"gen_start":12531,"node":27,"role":"declaration","source":0,"src_end":11937,"src_start":11365},{"artifact":0,"gen_end":14926,"gen_start":14119,"node":28,"role":"declaration","source":0,"src_end":12716,"src_start":11939},{"artifact":0,"gen_end":15706,"gen_start":14926,"node":29,"role":"declaration","source":0,"src_end":13374,"src_start":12718},{"artifact":0,"gen_end":17339,"gen_start":15706,"node":30,"role":"declaration","source":0,"src_end":13957,"src_start":13376},{"artifact":0,"gen_end":18199,"gen_start":17339,"node":31,"role":"declaration","source":0,"src_end":14805,"src_start":13959},{"artifact":0,"gen_end":19032,"gen_start":18199,"node":32,"role":"declaration","source":0,"src_end":15532,"src_start":14807},{"artifact":0,"gen_end":20589,"gen_start":19032,"node":33,"role":"declaration","source":0,"src_end":16168,"src_start":15534},{"artifact":0,"gen_end":21435,"gen_start":20589,"node":34,"role":"declaration","source":0,"src_end":16984,"src_start":16170},{"artifact":0,"gen_end":22254,"gen_start":21435,"node":35,"role":"declaration","source":0,"src_end":17679,"src_start":16986},{"artifact":0,"gen_end":23825,"gen_start":22254,"node":36,"role":"declaration","source":0,"src_end":18287,"src_start":17681},{"artifact":0,"gen_end":24658,"gen_start":23825,"node":37,"role":"declaration","source":0,"src_end":19091,"src_start":18289},{"artifact":0,"gen_end":25464,"gen_start":24658,"node":38,"role":"declaration","source":0,"src_end":19774,"src_start":19093},{"artifact":0,"gen_end":27025,"gen_start":25464,"node":39,"role":"declaration","source":0,"src_end":20368,"src_start":19776},{"artifact":0,"gen_end":27999,"gen_start":27025,"node":40,"role":"declaration","source":0,"src_end":21308,"src_start":20370},{"artifact":0,"gen_end":28946,"gen_start":27999,"node":41,"role":"declaration","source":0,"src_end":22127,"src_start":21310},{"artifact":0,"gen_end":30673,"gen_start":28946,"node":42,"role":"declaration","source":0,"src_end":22863,"src_start":22129},{"artifact":0,"gen_end":30855,"gen_start":30673,"node":43,"role":"declaration","source":0,"src_end":23072,"src_start":22865},{"artifact":0,"gen_end":31069,"gen_start":30855,"node":44,"role":"declaration","source":0,"src_end":23321,"src_start":23074},{"artifact":0,"gen_end":31653,"gen_start":31069,"node":45,"role":"declaration","source":0,"src_end":23800,"src_start":23323},{"artifact":0,"gen_end":32240,"gen_start":31653,"node":46,"role":"declaration","source":0,"src_end":24282,"src_start":23802},{"artifact":0,"gen_end":32606,"gen_start":32240,"node":47,"role":"declaration","source":0,"src_end":24566,"src_start":24284},{"artifact":0,"gen_end":32692,"gen_start":32606,"node":48,"role":"declaration","source":0,"src_end":24660,"src_start":24568},{"artifact":0,"gen_end":32781,"gen_start":32692,"node":49,"role":"declaration","source":0,"src_end":24789,"src_start":24662},{"artifact":0,"gen_end":33233,"gen_start":32781,"node":50,"role":"declaration","source":0,"src_end":25020,"src_start":24791},{"artifact":0,"gen_end":33399,"gen_start":33233,"node":51,"role":"declaration","source":0,"src_end":25224,"src_start":25022},{"artifact":0,"gen_end":33937,"gen_start":33399,"node":52,"role":"declaration","source":0,"src_end":25579,"src_start":25226},{"artifact":0,"gen_end":34473,"gen_start":33937,"node":53,"role":"declaration","source":0,"src_end":25914,"src_start":25581},{"artifact":0,"gen_end":59146,"gen_start":34473,"node":54,"role":"declaration","source":0,"src_end":26711,"src_start":25916},{"artifact":0,"gen_end":81893,"gen_start":59146,"node":55,"role":"declaration","source":0,"src_end":27403,"src_start":26713},{"artifact":0,"gen_end":81915,"gen_start":81893,"node":0,"role":"declaration","source":0,"src_end":27439,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":56,"role":"declaration","source":0,"src_end":27439,"src_start":0},{"artifact":1,"gen_end":536,"gen_start":134,"node":57,"role":"declaration","source":0,"src_end":440,"src_start":144},{"artifact":1,"gen_end":1076,"gen_start":536,"node":58,"role":"declaration","source":0,"src_end":816,"src_start":442},{"artifact":1,"gen_end":1411,"gen_start":1076,"node":59,"role":"declaration","source":0,"src_end":954,"src_start":818},{"artifact":1,"gen_end":1746,"gen_start":1411,"node":60,"role":"declaration","source":0,"src_end":1092,"src_start":956},{"artifact":1,"gen_end":2086,"gen_start":1746,"node":61,"role":"declaration","source":0,"src_end":1235,"src_start":1094},{"artifact":1,"gen_end":2421,"gen_start":2086,"node":62,"role":"declaration","source":0,"src_end":1373,"src_start":1237},{"artifact":1,"gen_end":2755,"gen_start":2421,"node":63,"role":"declaration","source":0,"src_end":1510,"src_start":1375},{"artifact":1,"gen_end":3014,"gen_start":2755,"node":64,"role":"declaration","source":0,"src_end":1626,"src_start":1512},{"artifact":1,"gen_end":3274,"gen_start":3014,"node":65,"role":"declaration","source":0,"src_end":1743,"src_start":1628},{"artifact":1,"gen_end":3539,"gen_start":3274,"node":66,"role":"declaration","source":0,"src_end":1865,"src_start":1745},{"artifact":1,"gen_end":3799,"gen_start":3539,"node":67,"role":"declaration","source":0,"src_end":1982,"src_start":1867},{"artifact":1,"gen_end":4058,"gen_start":3799,"node":68,"role":"declaration","source":0,"src_end":2098,"src_start":1984},{"artifact":1,"gen_end":4482,"gen_start":4058,"node":69,"role":"declaration","source":0,"src_end":2382,"src_start":2100},{"artifact":1,"gen_end":6595,"gen_start":4482,"node":70,"role":"declaration","source":0,"src_end":4502,"src_start":2384},{"artifact":1,"gen_end":7125,"gen_start":6595,"node":71,"role":"declaration","source":0,"src_end":4840,"src_start":4504},{"artifact":1,"gen_end":7787,"gen_start":7125,"node":72,"role":"declaration","source":0,"src_end":5303,"src_start":4842},{"artifact":1,"gen_end":8107,"gen_start":7787,"node":73,"role":"declaration","source":0,"src_end":5701,"src_start":5305},{"artifact":1,"gen_end":8840,"gen_start":8107,"node":74,"role":"declaration","source":0,"src_end":5935,"src_start":5703},{"artifact":1,"gen_end":9389,"gen_start":8840,"node":75,"role":"declaration","source":0,"src_end":6705,"src_start":5937},{"artifact":1,"gen_end":9953,"gen_start":9389,"node":76,"role":"declaration","source":0,"src_end":7354,"src_start":6707},{"artifact":1,"gen_end":12552,"gen_start":9953,"node":77,"role":"declaration","source":0,"src_end":7914,"src_start":7356},{"artifact":1,"gen_end":13110,"gen_start":12552,"node":78,"role":"declaration","source":0,"src_end":8693,"src_start":7916},{"artifact":1,"gen_end":13683,"gen_start":13110,"node":79,"role":"declaration","source":0,"src_end":9351,"src_start":8695},{"artifact":1,"gen_end":16390,"gen_start":13683,"node":80,"role":"declaration","source":0,"src_end":9932,"src_start":9353},{"artifact":1,"gen_end":16945,"gen_start":16390,"node":81,"role":"declaration","source":0,"src_end":10708,"src_start":9934},{"artifact":1,"gen_end":17515,"gen_start":16945,"node":82,"role":"declaration","source":0,"src_end":11363,"src_start":10710},{"artifact":1,"gen_end":20186,"gen_start":17515,"node":83,"role":"declaration","source":0,"src_end":11937,"src_start":11365},{"artifact":1,"gen_end":20744,"gen_start":20186,"node":84,"role":"declaration","source":0,"src_end":12716,"src_start":11939},{"artifact":1,"gen_end":21317,"gen_start":20744,"node":85,"role":"declaration","source":0,"src_end":13374,"src_start":12718},{"artifact":1,"gen_end":24036,"gen_start":21317,"node":86,"role":"declaration","source":0,"src_end":13957,"src_start":13376},{"artifact":1,"gen_end":24647,"gen_start":24036,"node":87,"role":"declaration","source":0,"src_end":14805,"src_start":13959},{"artifact":1,"gen_end":25273,"gen_start":24647,"node":88,"role":"declaration","source":0,"src_end":15532,"src_start":14807},{"artifact":1,"gen_end":28108,"gen_start":25273,"node":89,"role":"declaration","source":0,"src_end":16168,"src_start":15534},{"artifact":1,"gen_end":28707,"gen_start":28108,"node":90,"role":"declaration","source":0,"src_end":16984,"src_start":16170},{"artifact":1,"gen_end":29321,"gen_start":28707,"node":91,"role":"declaration","source":0,"src_end":17679,"src_start":16986},{"artifact":1,"gen_end":32132,"gen_start":29321,"node":92,"role":"declaration","source":0,"src_end":18287,"src_start":17681},{"artifact":1,"gen_end":32718,"gen_start":32132,"node":93,"role":"declaration","source":0,"src_end":19091,"src_start":18289},{"artifact":1,"gen_end":33319,"gen_start":32718,"node":94,"role":"declaration","source":0,"src_end":19774,"src_start":19093},{"artifact":1,"gen_end":36066,"gen_start":33319,"node":95,"role":"declaration","source":0,"src_end":20368,"src_start":19776},{"artifact":1,"gen_end":36797,"gen_start":36066,"node":96,"role":"declaration","source":0,"src_end":21308,"src_start":20370},{"artifact":1,"gen_end":37543,"gen_start":36797,"node":97,"role":"declaration","source":0,"src_end":22127,"src_start":21310},{"artifact":1,"gen_end":40906,"gen_start":37543,"node":98,"role":"declaration","source":0,"src_end":22863,"src_start":22129},{"artifact":1,"gen_end":41319,"gen_start":40906,"node":99,"role":"declaration","source":0,"src_end":23072,"src_start":22865},{"artifact":1,"gen_end":41788,"gen_start":41319,"node":100,"role":"declaration","source":0,"src_end":23321,"src_start":23074},{"artifact":1,"gen_end":42109,"gen_start":41788,"node":101,"role":"declaration","source":0,"src_end":23800,"src_start":23323},{"artifact":1,"gen_end":42433,"gen_start":42109,"node":102,"role":"declaration","source":0,"src_end":24282,"src_start":23802},{"artifact":1,"gen_end":43603,"gen_start":42433,"node":103,"role":"declaration","source":0,"src_end":24566,"src_start":24284},{"artifact":1,"gen_end":43859,"gen_start":43603,"node":104,"role":"declaration","source":0,"src_end":24660,"src_start":24568},{"artifact":1,"gen_end":44194,"gen_start":43859,"node":105,"role":"declaration","source":0,"src_end":24789,"src_start":24662},{"artifact":1,"gen_end":44476,"gen_start":44194,"node":106,"role":"declaration","source":0,"src_end":25020,"src_start":24791},{"artifact":1,"gen_end":45162,"gen_start":44476,"node":107,"role":"declaration","source":0,"src_end":25224,"src_start":25022},{"artifact":1,"gen_end":45578,"gen_start":45162,"node":108,"role":"declaration","source":0,"src_end":25579,"src_start":25226},{"artifact":1,"gen_end":45977,"gen_start":45578,"node":109,"role":"declaration","source":0,"src_end":25914,"src_start":25581},{"artifact":1,"gen_end":62729,"gen_start":45977,"node":110,"role":"declaration","source":0,"src_end":26711,"src_start":25916},{"artifact":1,"gen_end":78144,"gen_start":62729,"node":111,"role":"declaration","source":0,"src_end":27403,"src_start":26713},{"artifact":1,"gen_end":78159,"gen_start":78144,"node":56,"role":"declaration","source":0,"src_end":27439,"src_start":0}],"module":"Clinic","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-latex-module"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"},{"id":80,"kind":"semantic-declaration"},{"id":81,"kind":"semantic-declaration"},{"id":82,"kind":"semantic-declaration"},{"id":83,"kind":"semantic-declaration"},{"id":84,"kind":"semantic-declaration"},{"id":85,"kind":"semantic-declaration"},{"id":86,"kind":"semantic-declaration"},{"id":87,"kind":"semantic-declaration"},{"id":88,"kind":"semantic-declaration"},{"id":89,"kind":"semantic-declaration"},{"id":90,"kind":"semantic-declaration"},{"id":91,"kind":"semantic-declaration"},{"id":92,"kind":"semantic-declaration"},{"id":93,"kind":"semantic-declaration"},{"id":94,"kind":"semantic-declaration"},{"id":95,"kind":"semantic-declaration"},{"id":96,"kind":"semantic-declaration"},{"id":97,"kind":"semantic-declaration"},{"id":98,"kind":"semantic-declaration"},{"id":99,"kind":"semantic-declaration"},{"id":100,"kind":"semantic-declaration"},{"id":101,"kind":"semantic-declaration"},{"id":102,"kind":"semantic-declaration"},{"id":103,"kind":"semantic-declaration"},{"id":104,"kind":"semantic-declaration"},{"id":105,"kind":"semantic-declaration"},{"id":106,"kind":"semantic-declaration"},{"id":107,"kind":"semantic-declaration"},{"id":108,"kind":"semantic-declaration"},{"id":109,"kind":"semantic-declaration"},{"id":110,"kind":"semantic-declaration"},{"id":111,"kind":"semantic-declaration"}],"semantic_id":"f04b35f2e1794332ed2a5b996f01296f826acfa851619281330fade86a3161cb","source_id":"a45df07f19018882114601c06a1310e00cad28bb1cc1bbef396b915d1e7183a9","sources":[{"id":0,"kind":"file","path":"src/Clinic.lex.tex","sha256":"01d7ef34f88ff99c06d1bd95d1e580e88e2b75b2d2826bfce7462f6514d1d05a"}],"spec":"lexlean/source-map/1"} diff --git a/examples/reasoning/expected/build/maps/Reasoning/Main.map.json b/examples/reasoning/expected/build/maps/Reasoning/Main.map.json index cc3a35aff..c9effdde4 100644 --- a/examples/reasoning/expected/build/maps/Reasoning/Main.map.json +++ b/examples/reasoning/expected/build/maps/Reasoning/Main.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/Reasoning/Main.lean"},{"id":1,"kind":"tex","path":"modules/Reasoning/Main.tex"}],"mappings":[{"artifact":0,"gen_end":39465,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":30065,"src_start":0},{"artifact":0,"gen_end":39667,"gen_start":39465,"node":1,"role":"declaration","source":0,"src_end":460,"src_start":234},{"artifact":0,"gen_end":39668,"gen_start":39667,"node":2,"role":"declaration","source":0,"src_end":626,"src_start":462},{"artifact":0,"gen_end":39807,"gen_start":39668,"node":3,"role":"declaration","source":0,"src_end":830,"src_start":628},{"artifact":0,"gen_end":39959,"gen_start":39807,"node":4,"role":"declaration","source":0,"src_end":1068,"src_start":832},{"artifact":0,"gen_end":40129,"gen_start":39959,"node":5,"role":"declaration","source":0,"src_end":1290,"src_start":1070},{"artifact":0,"gen_end":40276,"gen_start":40129,"node":6,"role":"declaration","source":0,"src_end":1441,"src_start":1292},{"artifact":0,"gen_end":40426,"gen_start":40276,"node":7,"role":"declaration","source":0,"src_end":1592,"src_start":1443},{"artifact":0,"gen_end":40592,"gen_start":40426,"node":8,"role":"declaration","source":0,"src_end":1776,"src_start":1594},{"artifact":0,"gen_end":41104,"gen_start":40592,"node":9,"role":"declaration","source":0,"src_end":2078,"src_start":1778},{"artifact":0,"gen_end":41249,"gen_start":41104,"node":10,"role":"declaration","source":0,"src_end":2305,"src_start":2080},{"artifact":0,"gen_end":41553,"gen_start":41249,"node":11,"role":"declaration","source":0,"src_end":2682,"src_start":2307},{"artifact":0,"gen_end":41857,"gen_start":41553,"node":12,"role":"declaration","source":0,"src_end":3041,"src_start":2684},{"artifact":0,"gen_end":42147,"gen_start":41857,"node":13,"role":"declaration","source":0,"src_end":3345,"src_start":3043},{"artifact":0,"gen_end":42789,"gen_start":42147,"node":14,"role":"declaration","source":0,"src_end":3765,"src_start":3347},{"artifact":0,"gen_end":43539,"gen_start":42789,"node":15,"role":"declaration","source":0,"src_end":4281,"src_start":3767},{"artifact":0,"gen_end":44152,"gen_start":43539,"node":16,"role":"declaration","source":0,"src_end":4695,"src_start":4283},{"artifact":0,"gen_end":69146,"gen_start":44152,"node":17,"role":"declaration","source":0,"src_end":5734,"src_start":4697},{"artifact":0,"gen_end":69246,"gen_start":69146,"node":18,"role":"declaration","source":0,"src_end":5833,"src_start":5736},{"artifact":0,"gen_end":69349,"gen_start":69246,"node":19,"role":"declaration","source":0,"src_end":5968,"src_start":5835},{"artifact":0,"gen_end":69801,"gen_start":69349,"node":20,"role":"declaration","source":0,"src_end":6190,"src_start":5970},{"artifact":0,"gen_end":69948,"gen_start":69801,"node":21,"role":"declaration","source":0,"src_end":6389,"src_start":6192},{"artifact":0,"gen_end":70514,"gen_start":69948,"node":22,"role":"declaration","source":0,"src_end":6731,"src_start":6391},{"artifact":0,"gen_end":91395,"gen_start":70514,"node":23,"role":"declaration","source":0,"src_end":7608,"src_start":6733},{"artifact":0,"gen_end":91841,"gen_start":91395,"node":24,"role":"declaration","source":0,"src_end":8192,"src_start":7610},{"artifact":0,"gen_end":92269,"gen_start":91841,"node":25,"role":"declaration","source":0,"src_end":8767,"src_start":8194},{"artifact":0,"gen_end":92751,"gen_start":92269,"node":26,"role":"declaration","source":0,"src_end":9391,"src_start":8769},{"artifact":0,"gen_end":92910,"gen_start":92751,"node":27,"role":"declaration","source":0,"src_end":9707,"src_start":9393},{"artifact":0,"gen_end":93058,"gen_start":92910,"node":28,"role":"declaration","source":0,"src_end":9979,"src_start":9709},{"artifact":0,"gen_end":93485,"gen_start":93058,"node":29,"role":"declaration","source":0,"src_end":10553,"src_start":9981},{"artifact":0,"gen_end":93636,"gen_start":93485,"node":30,"role":"declaration","source":0,"src_end":10828,"src_start":10555},{"artifact":0,"gen_end":93793,"gen_start":93636,"node":31,"role":"declaration","source":0,"src_end":11117,"src_start":10830},{"artifact":0,"gen_end":94494,"gen_start":93793,"node":32,"role":"declaration","source":0,"src_end":11892,"src_start":11119},{"artifact":0,"gen_end":94586,"gen_start":94494,"node":33,"role":"declaration","source":0,"src_end":12020,"src_start":11894},{"artifact":0,"gen_end":95297,"gen_start":94586,"node":34,"role":"declaration","source":0,"src_end":12754,"src_start":12022},{"artifact":0,"gen_end":95550,"gen_start":95297,"node":35,"role":"declaration","source":0,"src_end":13058,"src_start":12756},{"artifact":0,"gen_end":95823,"gen_start":95550,"node":36,"role":"declaration","source":0,"src_end":13405,"src_start":13060},{"artifact":0,"gen_end":96178,"gen_start":95823,"node":37,"role":"declaration","source":0,"src_end":13816,"src_start":13407},{"artifact":0,"gen_end":96487,"gen_start":96178,"node":38,"role":"declaration","source":0,"src_end":14166,"src_start":13818},{"artifact":0,"gen_end":96763,"gen_start":96487,"node":39,"role":"declaration","source":0,"src_end":14502,"src_start":14168},{"artifact":0,"gen_end":97037,"gen_start":96763,"node":40,"role":"declaration","source":0,"src_end":14836,"src_start":14504},{"artifact":0,"gen_end":97131,"gen_start":97037,"node":41,"role":"declaration","source":0,"src_end":14966,"src_start":14838},{"artifact":0,"gen_end":97438,"gen_start":97131,"node":42,"role":"declaration","source":0,"src_end":15380,"src_start":14968},{"artifact":0,"gen_end":97537,"gen_start":97438,"node":43,"role":"declaration","source":0,"src_end":15545,"src_start":15382},{"artifact":0,"gen_end":97671,"gen_start":97537,"node":44,"role":"declaration","source":0,"src_end":15745,"src_start":15547},{"artifact":0,"gen_end":97888,"gen_start":97671,"node":45,"role":"declaration","source":0,"src_end":16068,"src_start":15747},{"artifact":0,"gen_end":98019,"gen_start":97888,"node":46,"role":"declaration","source":0,"src_end":16294,"src_start":16070},{"artifact":0,"gen_end":98124,"gen_start":98019,"node":47,"role":"declaration","source":0,"src_end":16477,"src_start":16296},{"artifact":0,"gen_end":98317,"gen_start":98124,"node":48,"role":"declaration","source":0,"src_end":16751,"src_start":16479},{"artifact":0,"gen_end":98407,"gen_start":98317,"node":49,"role":"declaration","source":0,"src_end":16877,"src_start":16753},{"artifact":0,"gen_end":98594,"gen_start":98407,"node":50,"role":"declaration","source":0,"src_end":17143,"src_start":16879},{"artifact":0,"gen_end":98731,"gen_start":98594,"node":51,"role":"declaration","source":0,"src_end":17346,"src_start":17145},{"artifact":0,"gen_end":98872,"gen_start":98731,"node":52,"role":"declaration","source":0,"src_end":17553,"src_start":17348},{"artifact":0,"gen_end":100095,"gen_start":98872,"node":53,"role":"declaration","source":0,"src_end":18780,"src_start":17555},{"artifact":0,"gen_end":101314,"gen_start":100095,"node":54,"role":"declaration","source":0,"src_end":20003,"src_start":18782},{"artifact":0,"gen_end":102535,"gen_start":101314,"node":55,"role":"declaration","source":0,"src_end":21228,"src_start":20005},{"artifact":0,"gen_end":103649,"gen_start":102535,"node":56,"role":"declaration","source":0,"src_end":22400,"src_start":21230},{"artifact":0,"gen_end":104759,"gen_start":103649,"node":57,"role":"declaration","source":0,"src_end":23568,"src_start":22402},{"artifact":0,"gen_end":105989,"gen_start":104759,"node":58,"role":"declaration","source":0,"src_end":24802,"src_start":23570},{"artifact":0,"gen_end":106428,"gen_start":105989,"node":59,"role":"declaration","source":0,"src_end":25281,"src_start":24804},{"artifact":0,"gen_end":106808,"gen_start":106428,"node":60,"role":"declaration","source":0,"src_end":25701,"src_start":25283},{"artifact":0,"gen_end":107198,"gen_start":106808,"node":61,"role":"declaration","source":0,"src_end":26131,"src_start":25703},{"artifact":0,"gen_end":107625,"gen_start":107198,"node":62,"role":"declaration","source":0,"src_end":26691,"src_start":26133},{"artifact":0,"gen_end":108067,"gen_start":107625,"node":63,"role":"declaration","source":0,"src_end":27266,"src_start":26693},{"artifact":0,"gen_end":108526,"gen_start":108067,"node":64,"role":"declaration","source":0,"src_end":27837,"src_start":27268},{"artifact":0,"gen_end":108987,"gen_start":108526,"node":65,"role":"declaration","source":0,"src_end":28410,"src_start":27839},{"artifact":0,"gen_end":109462,"gen_start":108987,"node":66,"role":"declaration","source":0,"src_end":28997,"src_start":28412},{"artifact":0,"gen_end":109882,"gen_start":109462,"node":67,"role":"declaration","source":0,"src_end":29505,"src_start":28999},{"artifact":0,"gen_end":110318,"gen_start":109882,"node":68,"role":"declaration","source":0,"src_end":30029,"src_start":29507},{"artifact":0,"gen_end":110338,"gen_start":110318,"node":0,"role":"declaration","source":0,"src_end":30065,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":69,"role":"declaration","source":0,"src_end":30065,"src_start":0},{"artifact":1,"gen_end":507,"gen_start":134,"node":70,"role":"declaration","source":0,"src_end":460,"src_start":234},{"artifact":1,"gen_end":791,"gen_start":507,"node":71,"role":"declaration","source":0,"src_end":626,"src_start":462},{"artifact":1,"gen_end":1329,"gen_start":791,"node":72,"role":"declaration","source":0,"src_end":830,"src_start":628},{"artifact":1,"gen_end":1624,"gen_start":1329,"node":73,"role":"declaration","source":0,"src_end":1068,"src_start":832},{"artifact":1,"gen_end":2298,"gen_start":1624,"node":74,"role":"declaration","source":0,"src_end":1290,"src_start":1070},{"artifact":1,"gen_end":2765,"gen_start":2298,"node":75,"role":"declaration","source":0,"src_end":1441,"src_start":1292},{"artifact":1,"gen_end":3101,"gen_start":2765,"node":76,"role":"declaration","source":0,"src_end":1592,"src_start":1443},{"artifact":1,"gen_end":3516,"gen_start":3101,"node":77,"role":"declaration","source":0,"src_end":1776,"src_start":1594},{"artifact":1,"gen_end":3835,"gen_start":3516,"node":78,"role":"declaration","source":0,"src_end":2078,"src_start":1778},{"artifact":1,"gen_end":4543,"gen_start":3835,"node":79,"role":"declaration","source":0,"src_end":2305,"src_start":2080},{"artifact":1,"gen_end":4993,"gen_start":4543,"node":80,"role":"declaration","source":0,"src_end":2682,"src_start":2307},{"artifact":1,"gen_end":5428,"gen_start":4993,"node":81,"role":"declaration","source":0,"src_end":3041,"src_start":2684},{"artifact":1,"gen_end":5934,"gen_start":5428,"node":82,"role":"declaration","source":0,"src_end":3345,"src_start":3043},{"artifact":1,"gen_end":6370,"gen_start":5934,"node":83,"role":"declaration","source":0,"src_end":3765,"src_start":3347},{"artifact":1,"gen_end":6770,"gen_start":6370,"node":84,"role":"declaration","source":0,"src_end":4281,"src_start":3767},{"artifact":1,"gen_end":7167,"gen_start":6770,"node":85,"role":"declaration","source":0,"src_end":4695,"src_start":4283},{"artifact":1,"gen_end":27214,"gen_start":7167,"node":86,"role":"declaration","source":0,"src_end":5734,"src_start":4697},{"artifact":1,"gen_end":27484,"gen_start":27214,"node":87,"role":"declaration","source":0,"src_end":5833,"src_start":5736},{"artifact":1,"gen_end":27833,"gen_start":27484,"node":88,"role":"declaration","source":0,"src_end":5968,"src_start":5835},{"artifact":1,"gen_end":28122,"gen_start":27833,"node":89,"role":"declaration","source":0,"src_end":6190,"src_start":5970},{"artifact":1,"gen_end":28806,"gen_start":28122,"node":90,"role":"declaration","source":0,"src_end":6389,"src_start":6192},{"artifact":1,"gen_end":29234,"gen_start":28806,"node":91,"role":"declaration","source":0,"src_end":6731,"src_start":6391},{"artifact":1,"gen_end":45911,"gen_start":29234,"node":92,"role":"declaration","source":0,"src_end":7608,"src_start":6733},{"artifact":1,"gen_end":46717,"gen_start":45911,"node":93,"role":"declaration","source":0,"src_end":8192,"src_start":7610},{"artifact":1,"gen_end":47505,"gen_start":46717,"node":94,"role":"declaration","source":0,"src_end":8767,"src_start":8194},{"artifact":1,"gen_end":48358,"gen_start":47505,"node":95,"role":"declaration","source":0,"src_end":9391,"src_start":8769},{"artifact":1,"gen_end":48897,"gen_start":48358,"node":96,"role":"declaration","source":0,"src_end":9707,"src_start":9393},{"artifact":1,"gen_end":49414,"gen_start":48897,"node":97,"role":"declaration","source":0,"src_end":9979,"src_start":9709},{"artifact":1,"gen_end":50201,"gen_start":49414,"node":98,"role":"declaration","source":0,"src_end":10553,"src_start":9981},{"artifact":1,"gen_end":50721,"gen_start":50201,"node":99,"role":"declaration","source":0,"src_end":10828,"src_start":10555},{"artifact":1,"gen_end":51247,"gen_start":50721,"node":100,"role":"declaration","source":0,"src_end":11117,"src_start":10830},{"artifact":1,"gen_end":52060,"gen_start":51247,"node":101,"role":"declaration","source":0,"src_end":11892,"src_start":11119},{"artifact":1,"gen_end":52262,"gen_start":52060,"node":102,"role":"declaration","source":0,"src_end":12020,"src_start":11894},{"artifact":1,"gen_end":53085,"gen_start":52262,"node":103,"role":"declaration","source":0,"src_end":12754,"src_start":12022},{"artifact":1,"gen_end":53450,"gen_start":53085,"node":104,"role":"declaration","source":0,"src_end":13058,"src_start":12756},{"artifact":1,"gen_end":53835,"gen_start":53450,"node":105,"role":"declaration","source":0,"src_end":13405,"src_start":13060},{"artifact":1,"gen_end":54301,"gen_start":53835,"node":106,"role":"declaration","source":0,"src_end":13816,"src_start":13407},{"artifact":1,"gen_end":54722,"gen_start":54301,"node":107,"role":"declaration","source":0,"src_end":14166,"src_start":13818},{"artifact":1,"gen_end":55103,"gen_start":54722,"node":108,"role":"declaration","source":0,"src_end":14502,"src_start":14168},{"artifact":1,"gen_end":55482,"gen_start":55103,"node":109,"role":"declaration","source":0,"src_end":14836,"src_start":14504},{"artifact":1,"gen_end":55686,"gen_start":55482,"node":110,"role":"declaration","source":0,"src_end":14966,"src_start":14838},{"artifact":1,"gen_end":56103,"gen_start":55686,"node":111,"role":"declaration","source":0,"src_end":15380,"src_start":14968},{"artifact":1,"gen_end":56312,"gen_start":56103,"node":112,"role":"declaration","source":0,"src_end":15545,"src_start":15382},{"artifact":1,"gen_end":56549,"gen_start":56312,"node":113,"role":"declaration","source":0,"src_end":15745,"src_start":15547},{"artifact":1,"gen_end":56887,"gen_start":56549,"node":114,"role":"declaration","source":0,"src_end":16068,"src_start":15747},{"artifact":1,"gen_end":57132,"gen_start":56887,"node":115,"role":"declaration","source":0,"src_end":16294,"src_start":16070},{"artifact":1,"gen_end":57358,"gen_start":57132,"node":116,"role":"declaration","source":0,"src_end":16477,"src_start":16296},{"artifact":1,"gen_end":57661,"gen_start":57358,"node":117,"role":"declaration","source":0,"src_end":16751,"src_start":16479},{"artifact":1,"gen_end":57861,"gen_start":57661,"node":118,"role":"declaration","source":0,"src_end":16877,"src_start":16753},{"artifact":1,"gen_end":58158,"gen_start":57861,"node":119,"role":"declaration","source":0,"src_end":17143,"src_start":16879},{"artifact":1,"gen_end":58398,"gen_start":58158,"node":120,"role":"declaration","source":0,"src_end":17346,"src_start":17145},{"artifact":1,"gen_end":58642,"gen_start":58398,"node":121,"role":"declaration","source":0,"src_end":17553,"src_start":17348},{"artifact":1,"gen_end":59987,"gen_start":58642,"node":122,"role":"declaration","source":0,"src_end":18780,"src_start":17555},{"artifact":1,"gen_end":61329,"gen_start":59987,"node":123,"role":"declaration","source":0,"src_end":20003,"src_start":18782},{"artifact":1,"gen_end":62672,"gen_start":61329,"node":124,"role":"declaration","source":0,"src_end":21228,"src_start":20005},{"artifact":1,"gen_end":63908,"gen_start":62672,"node":125,"role":"declaration","source":0,"src_end":22400,"src_start":21230},{"artifact":1,"gen_end":65141,"gen_start":63908,"node":126,"role":"declaration","source":0,"src_end":23568,"src_start":22402},{"artifact":1,"gen_end":66494,"gen_start":65141,"node":127,"role":"declaration","source":0,"src_end":24802,"src_start":23570},{"artifact":1,"gen_end":67043,"gen_start":66494,"node":128,"role":"declaration","source":0,"src_end":25281,"src_start":24804},{"artifact":1,"gen_end":67533,"gen_start":67043,"node":129,"role":"declaration","source":0,"src_end":25701,"src_start":25283},{"artifact":1,"gen_end":68034,"gen_start":67533,"node":130,"role":"declaration","source":0,"src_end":26131,"src_start":25703},{"artifact":1,"gen_end":68582,"gen_start":68034,"node":131,"role":"declaration","source":0,"src_end":26691,"src_start":26133},{"artifact":1,"gen_end":69146,"gen_start":68582,"node":132,"role":"declaration","source":0,"src_end":27266,"src_start":26693},{"artifact":1,"gen_end":69715,"gen_start":69146,"node":133,"role":"declaration","source":0,"src_end":27837,"src_start":27268},{"artifact":1,"gen_end":70287,"gen_start":69715,"node":134,"role":"declaration","source":0,"src_end":28410,"src_start":27839},{"artifact":1,"gen_end":70873,"gen_start":70287,"node":135,"role":"declaration","source":0,"src_end":28997,"src_start":28412},{"artifact":1,"gen_end":71403,"gen_start":70873,"node":136,"role":"declaration","source":0,"src_end":29505,"src_start":28999},{"artifact":1,"gen_end":71950,"gen_start":71403,"node":137,"role":"declaration","source":0,"src_end":30029,"src_start":29507},{"artifact":1,"gen_end":71965,"gen_start":71950,"node":69,"role":"declaration","source":0,"src_end":30065,"src_start":0}],"module":"Main","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-latex-module"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"},{"id":80,"kind":"semantic-declaration"},{"id":81,"kind":"semantic-declaration"},{"id":82,"kind":"semantic-declaration"},{"id":83,"kind":"semantic-declaration"},{"id":84,"kind":"semantic-declaration"},{"id":85,"kind":"semantic-declaration"},{"id":86,"kind":"semantic-declaration"},{"id":87,"kind":"semantic-declaration"},{"id":88,"kind":"semantic-declaration"},{"id":89,"kind":"semantic-declaration"},{"id":90,"kind":"semantic-declaration"},{"id":91,"kind":"semantic-declaration"},{"id":92,"kind":"semantic-declaration"},{"id":93,"kind":"semantic-declaration"},{"id":94,"kind":"semantic-declaration"},{"id":95,"kind":"semantic-declaration"},{"id":96,"kind":"semantic-declaration"},{"id":97,"kind":"semantic-declaration"},{"id":98,"kind":"semantic-declaration"},{"id":99,"kind":"semantic-declaration"},{"id":100,"kind":"semantic-declaration"},{"id":101,"kind":"semantic-declaration"},{"id":102,"kind":"semantic-declaration"},{"id":103,"kind":"semantic-declaration"},{"id":104,"kind":"semantic-declaration"},{"id":105,"kind":"semantic-declaration"},{"id":106,"kind":"semantic-declaration"},{"id":107,"kind":"semantic-declaration"},{"id":108,"kind":"semantic-declaration"},{"id":109,"kind":"semantic-declaration"},{"id":110,"kind":"semantic-declaration"},{"id":111,"kind":"semantic-declaration"},{"id":112,"kind":"semantic-declaration"},{"id":113,"kind":"semantic-declaration"},{"id":114,"kind":"semantic-declaration"},{"id":115,"kind":"semantic-declaration"},{"id":116,"kind":"semantic-declaration"},{"id":117,"kind":"semantic-declaration"},{"id":118,"kind":"semantic-declaration"},{"id":119,"kind":"semantic-declaration"},{"id":120,"kind":"semantic-declaration"},{"id":121,"kind":"semantic-declaration"},{"id":122,"kind":"semantic-declaration"},{"id":123,"kind":"semantic-declaration"},{"id":124,"kind":"semantic-declaration"},{"id":125,"kind":"semantic-declaration"},{"id":126,"kind":"semantic-declaration"},{"id":127,"kind":"semantic-declaration"},{"id":128,"kind":"semantic-declaration"},{"id":129,"kind":"semantic-declaration"},{"id":130,"kind":"semantic-declaration"},{"id":131,"kind":"semantic-declaration"},{"id":132,"kind":"semantic-declaration"},{"id":133,"kind":"semantic-declaration"},{"id":134,"kind":"semantic-declaration"},{"id":135,"kind":"semantic-declaration"},{"id":136,"kind":"semantic-declaration"},{"id":137,"kind":"semantic-declaration"}],"semantic_id":"6d3e375f76cbc573b09fef98086539e003daaa986597474797d95198349f7a5d","source_id":"f7f18445051be3c98cbd2c1b02fc50dd6755eab06716daebe5e98d2c995f8ab7","sources":[{"id":0,"kind":"file","path":"src/Main.lex.tex","sha256":"1c528893e116cb6b0cf1f39acb17a02c4e3e5302c5c8e2c802bb3cff19582468"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Reasoning/Main.lean"},{"id":1,"kind":"tex","path":"modules/Reasoning/Main.tex"}],"mappings":[{"artifact":0,"gen_end":479,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":30065,"src_start":0},{"artifact":0,"gen_end":681,"gen_start":479,"node":1,"role":"declaration","source":0,"src_end":460,"src_start":234},{"artifact":0,"gen_end":682,"gen_start":681,"node":2,"role":"declaration","source":0,"src_end":626,"src_start":462},{"artifact":0,"gen_end":821,"gen_start":682,"node":3,"role":"declaration","source":0,"src_end":830,"src_start":628},{"artifact":0,"gen_end":973,"gen_start":821,"node":4,"role":"declaration","source":0,"src_end":1068,"src_start":832},{"artifact":0,"gen_end":1143,"gen_start":973,"node":5,"role":"declaration","source":0,"src_end":1290,"src_start":1070},{"artifact":0,"gen_end":1290,"gen_start":1143,"node":6,"role":"declaration","source":0,"src_end":1441,"src_start":1292},{"artifact":0,"gen_end":1440,"gen_start":1290,"node":7,"role":"declaration","source":0,"src_end":1592,"src_start":1443},{"artifact":0,"gen_end":1606,"gen_start":1440,"node":8,"role":"declaration","source":0,"src_end":1776,"src_start":1594},{"artifact":0,"gen_end":2118,"gen_start":1606,"node":9,"role":"declaration","source":0,"src_end":2078,"src_start":1778},{"artifact":0,"gen_end":2263,"gen_start":2118,"node":10,"role":"declaration","source":0,"src_end":2305,"src_start":2080},{"artifact":0,"gen_end":2567,"gen_start":2263,"node":11,"role":"declaration","source":0,"src_end":2682,"src_start":2307},{"artifact":0,"gen_end":2871,"gen_start":2567,"node":12,"role":"declaration","source":0,"src_end":3041,"src_start":2684},{"artifact":0,"gen_end":3161,"gen_start":2871,"node":13,"role":"declaration","source":0,"src_end":3345,"src_start":3043},{"artifact":0,"gen_end":3803,"gen_start":3161,"node":14,"role":"declaration","source":0,"src_end":3765,"src_start":3347},{"artifact":0,"gen_end":4553,"gen_start":3803,"node":15,"role":"declaration","source":0,"src_end":4281,"src_start":3767},{"artifact":0,"gen_end":5166,"gen_start":4553,"node":16,"role":"declaration","source":0,"src_end":4695,"src_start":4283},{"artifact":0,"gen_end":30160,"gen_start":5166,"node":17,"role":"declaration","source":0,"src_end":5734,"src_start":4697},{"artifact":0,"gen_end":30260,"gen_start":30160,"node":18,"role":"declaration","source":0,"src_end":5833,"src_start":5736},{"artifact":0,"gen_end":30363,"gen_start":30260,"node":19,"role":"declaration","source":0,"src_end":5968,"src_start":5835},{"artifact":0,"gen_end":30815,"gen_start":30363,"node":20,"role":"declaration","source":0,"src_end":6190,"src_start":5970},{"artifact":0,"gen_end":30962,"gen_start":30815,"node":21,"role":"declaration","source":0,"src_end":6389,"src_start":6192},{"artifact":0,"gen_end":31528,"gen_start":30962,"node":22,"role":"declaration","source":0,"src_end":6731,"src_start":6391},{"artifact":0,"gen_end":52409,"gen_start":31528,"node":23,"role":"declaration","source":0,"src_end":7608,"src_start":6733},{"artifact":0,"gen_end":52855,"gen_start":52409,"node":24,"role":"declaration","source":0,"src_end":8192,"src_start":7610},{"artifact":0,"gen_end":53283,"gen_start":52855,"node":25,"role":"declaration","source":0,"src_end":8767,"src_start":8194},{"artifact":0,"gen_end":53765,"gen_start":53283,"node":26,"role":"declaration","source":0,"src_end":9391,"src_start":8769},{"artifact":0,"gen_end":53924,"gen_start":53765,"node":27,"role":"declaration","source":0,"src_end":9707,"src_start":9393},{"artifact":0,"gen_end":54072,"gen_start":53924,"node":28,"role":"declaration","source":0,"src_end":9979,"src_start":9709},{"artifact":0,"gen_end":54499,"gen_start":54072,"node":29,"role":"declaration","source":0,"src_end":10553,"src_start":9981},{"artifact":0,"gen_end":54650,"gen_start":54499,"node":30,"role":"declaration","source":0,"src_end":10828,"src_start":10555},{"artifact":0,"gen_end":54807,"gen_start":54650,"node":31,"role":"declaration","source":0,"src_end":11117,"src_start":10830},{"artifact":0,"gen_end":55508,"gen_start":54807,"node":32,"role":"declaration","source":0,"src_end":11892,"src_start":11119},{"artifact":0,"gen_end":55600,"gen_start":55508,"node":33,"role":"declaration","source":0,"src_end":12020,"src_start":11894},{"artifact":0,"gen_end":56311,"gen_start":55600,"node":34,"role":"declaration","source":0,"src_end":12754,"src_start":12022},{"artifact":0,"gen_end":56564,"gen_start":56311,"node":35,"role":"declaration","source":0,"src_end":13058,"src_start":12756},{"artifact":0,"gen_end":56837,"gen_start":56564,"node":36,"role":"declaration","source":0,"src_end":13405,"src_start":13060},{"artifact":0,"gen_end":57192,"gen_start":56837,"node":37,"role":"declaration","source":0,"src_end":13816,"src_start":13407},{"artifact":0,"gen_end":57501,"gen_start":57192,"node":38,"role":"declaration","source":0,"src_end":14166,"src_start":13818},{"artifact":0,"gen_end":57777,"gen_start":57501,"node":39,"role":"declaration","source":0,"src_end":14502,"src_start":14168},{"artifact":0,"gen_end":58051,"gen_start":57777,"node":40,"role":"declaration","source":0,"src_end":14836,"src_start":14504},{"artifact":0,"gen_end":58145,"gen_start":58051,"node":41,"role":"declaration","source":0,"src_end":14966,"src_start":14838},{"artifact":0,"gen_end":58452,"gen_start":58145,"node":42,"role":"declaration","source":0,"src_end":15380,"src_start":14968},{"artifact":0,"gen_end":58551,"gen_start":58452,"node":43,"role":"declaration","source":0,"src_end":15545,"src_start":15382},{"artifact":0,"gen_end":58685,"gen_start":58551,"node":44,"role":"declaration","source":0,"src_end":15745,"src_start":15547},{"artifact":0,"gen_end":58902,"gen_start":58685,"node":45,"role":"declaration","source":0,"src_end":16068,"src_start":15747},{"artifact":0,"gen_end":59033,"gen_start":58902,"node":46,"role":"declaration","source":0,"src_end":16294,"src_start":16070},{"artifact":0,"gen_end":59138,"gen_start":59033,"node":47,"role":"declaration","source":0,"src_end":16477,"src_start":16296},{"artifact":0,"gen_end":59331,"gen_start":59138,"node":48,"role":"declaration","source":0,"src_end":16751,"src_start":16479},{"artifact":0,"gen_end":59421,"gen_start":59331,"node":49,"role":"declaration","source":0,"src_end":16877,"src_start":16753},{"artifact":0,"gen_end":59608,"gen_start":59421,"node":50,"role":"declaration","source":0,"src_end":17143,"src_start":16879},{"artifact":0,"gen_end":59745,"gen_start":59608,"node":51,"role":"declaration","source":0,"src_end":17346,"src_start":17145},{"artifact":0,"gen_end":59886,"gen_start":59745,"node":52,"role":"declaration","source":0,"src_end":17553,"src_start":17348},{"artifact":0,"gen_end":61109,"gen_start":59886,"node":53,"role":"declaration","source":0,"src_end":18780,"src_start":17555},{"artifact":0,"gen_end":62328,"gen_start":61109,"node":54,"role":"declaration","source":0,"src_end":20003,"src_start":18782},{"artifact":0,"gen_end":63549,"gen_start":62328,"node":55,"role":"declaration","source":0,"src_end":21228,"src_start":20005},{"artifact":0,"gen_end":64663,"gen_start":63549,"node":56,"role":"declaration","source":0,"src_end":22400,"src_start":21230},{"artifact":0,"gen_end":65773,"gen_start":64663,"node":57,"role":"declaration","source":0,"src_end":23568,"src_start":22402},{"artifact":0,"gen_end":67003,"gen_start":65773,"node":58,"role":"declaration","source":0,"src_end":24802,"src_start":23570},{"artifact":0,"gen_end":67442,"gen_start":67003,"node":59,"role":"declaration","source":0,"src_end":25281,"src_start":24804},{"artifact":0,"gen_end":67822,"gen_start":67442,"node":60,"role":"declaration","source":0,"src_end":25701,"src_start":25283},{"artifact":0,"gen_end":68212,"gen_start":67822,"node":61,"role":"declaration","source":0,"src_end":26131,"src_start":25703},{"artifact":0,"gen_end":68639,"gen_start":68212,"node":62,"role":"declaration","source":0,"src_end":26691,"src_start":26133},{"artifact":0,"gen_end":69081,"gen_start":68639,"node":63,"role":"declaration","source":0,"src_end":27266,"src_start":26693},{"artifact":0,"gen_end":69540,"gen_start":69081,"node":64,"role":"declaration","source":0,"src_end":27837,"src_start":27268},{"artifact":0,"gen_end":70001,"gen_start":69540,"node":65,"role":"declaration","source":0,"src_end":28410,"src_start":27839},{"artifact":0,"gen_end":70476,"gen_start":70001,"node":66,"role":"declaration","source":0,"src_end":28997,"src_start":28412},{"artifact":0,"gen_end":70896,"gen_start":70476,"node":67,"role":"declaration","source":0,"src_end":29505,"src_start":28999},{"artifact":0,"gen_end":71332,"gen_start":70896,"node":68,"role":"declaration","source":0,"src_end":30029,"src_start":29507},{"artifact":0,"gen_end":71352,"gen_start":71332,"node":0,"role":"declaration","source":0,"src_end":30065,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":69,"role":"declaration","source":0,"src_end":30065,"src_start":0},{"artifact":1,"gen_end":507,"gen_start":134,"node":70,"role":"declaration","source":0,"src_end":460,"src_start":234},{"artifact":1,"gen_end":791,"gen_start":507,"node":71,"role":"declaration","source":0,"src_end":626,"src_start":462},{"artifact":1,"gen_end":1329,"gen_start":791,"node":72,"role":"declaration","source":0,"src_end":830,"src_start":628},{"artifact":1,"gen_end":1624,"gen_start":1329,"node":73,"role":"declaration","source":0,"src_end":1068,"src_start":832},{"artifact":1,"gen_end":2298,"gen_start":1624,"node":74,"role":"declaration","source":0,"src_end":1290,"src_start":1070},{"artifact":1,"gen_end":2765,"gen_start":2298,"node":75,"role":"declaration","source":0,"src_end":1441,"src_start":1292},{"artifact":1,"gen_end":3101,"gen_start":2765,"node":76,"role":"declaration","source":0,"src_end":1592,"src_start":1443},{"artifact":1,"gen_end":3516,"gen_start":3101,"node":77,"role":"declaration","source":0,"src_end":1776,"src_start":1594},{"artifact":1,"gen_end":3835,"gen_start":3516,"node":78,"role":"declaration","source":0,"src_end":2078,"src_start":1778},{"artifact":1,"gen_end":4543,"gen_start":3835,"node":79,"role":"declaration","source":0,"src_end":2305,"src_start":2080},{"artifact":1,"gen_end":4993,"gen_start":4543,"node":80,"role":"declaration","source":0,"src_end":2682,"src_start":2307},{"artifact":1,"gen_end":5428,"gen_start":4993,"node":81,"role":"declaration","source":0,"src_end":3041,"src_start":2684},{"artifact":1,"gen_end":5934,"gen_start":5428,"node":82,"role":"declaration","source":0,"src_end":3345,"src_start":3043},{"artifact":1,"gen_end":6370,"gen_start":5934,"node":83,"role":"declaration","source":0,"src_end":3765,"src_start":3347},{"artifact":1,"gen_end":6770,"gen_start":6370,"node":84,"role":"declaration","source":0,"src_end":4281,"src_start":3767},{"artifact":1,"gen_end":7167,"gen_start":6770,"node":85,"role":"declaration","source":0,"src_end":4695,"src_start":4283},{"artifact":1,"gen_end":27214,"gen_start":7167,"node":86,"role":"declaration","source":0,"src_end":5734,"src_start":4697},{"artifact":1,"gen_end":27484,"gen_start":27214,"node":87,"role":"declaration","source":0,"src_end":5833,"src_start":5736},{"artifact":1,"gen_end":27833,"gen_start":27484,"node":88,"role":"declaration","source":0,"src_end":5968,"src_start":5835},{"artifact":1,"gen_end":28122,"gen_start":27833,"node":89,"role":"declaration","source":0,"src_end":6190,"src_start":5970},{"artifact":1,"gen_end":28806,"gen_start":28122,"node":90,"role":"declaration","source":0,"src_end":6389,"src_start":6192},{"artifact":1,"gen_end":29234,"gen_start":28806,"node":91,"role":"declaration","source":0,"src_end":6731,"src_start":6391},{"artifact":1,"gen_end":45911,"gen_start":29234,"node":92,"role":"declaration","source":0,"src_end":7608,"src_start":6733},{"artifact":1,"gen_end":46717,"gen_start":45911,"node":93,"role":"declaration","source":0,"src_end":8192,"src_start":7610},{"artifact":1,"gen_end":47505,"gen_start":46717,"node":94,"role":"declaration","source":0,"src_end":8767,"src_start":8194},{"artifact":1,"gen_end":48358,"gen_start":47505,"node":95,"role":"declaration","source":0,"src_end":9391,"src_start":8769},{"artifact":1,"gen_end":48897,"gen_start":48358,"node":96,"role":"declaration","source":0,"src_end":9707,"src_start":9393},{"artifact":1,"gen_end":49414,"gen_start":48897,"node":97,"role":"declaration","source":0,"src_end":9979,"src_start":9709},{"artifact":1,"gen_end":50201,"gen_start":49414,"node":98,"role":"declaration","source":0,"src_end":10553,"src_start":9981},{"artifact":1,"gen_end":50721,"gen_start":50201,"node":99,"role":"declaration","source":0,"src_end":10828,"src_start":10555},{"artifact":1,"gen_end":51247,"gen_start":50721,"node":100,"role":"declaration","source":0,"src_end":11117,"src_start":10830},{"artifact":1,"gen_end":52060,"gen_start":51247,"node":101,"role":"declaration","source":0,"src_end":11892,"src_start":11119},{"artifact":1,"gen_end":52262,"gen_start":52060,"node":102,"role":"declaration","source":0,"src_end":12020,"src_start":11894},{"artifact":1,"gen_end":53085,"gen_start":52262,"node":103,"role":"declaration","source":0,"src_end":12754,"src_start":12022},{"artifact":1,"gen_end":53450,"gen_start":53085,"node":104,"role":"declaration","source":0,"src_end":13058,"src_start":12756},{"artifact":1,"gen_end":53835,"gen_start":53450,"node":105,"role":"declaration","source":0,"src_end":13405,"src_start":13060},{"artifact":1,"gen_end":54301,"gen_start":53835,"node":106,"role":"declaration","source":0,"src_end":13816,"src_start":13407},{"artifact":1,"gen_end":54722,"gen_start":54301,"node":107,"role":"declaration","source":0,"src_end":14166,"src_start":13818},{"artifact":1,"gen_end":55103,"gen_start":54722,"node":108,"role":"declaration","source":0,"src_end":14502,"src_start":14168},{"artifact":1,"gen_end":55482,"gen_start":55103,"node":109,"role":"declaration","source":0,"src_end":14836,"src_start":14504},{"artifact":1,"gen_end":55686,"gen_start":55482,"node":110,"role":"declaration","source":0,"src_end":14966,"src_start":14838},{"artifact":1,"gen_end":56103,"gen_start":55686,"node":111,"role":"declaration","source":0,"src_end":15380,"src_start":14968},{"artifact":1,"gen_end":56312,"gen_start":56103,"node":112,"role":"declaration","source":0,"src_end":15545,"src_start":15382},{"artifact":1,"gen_end":56549,"gen_start":56312,"node":113,"role":"declaration","source":0,"src_end":15745,"src_start":15547},{"artifact":1,"gen_end":56887,"gen_start":56549,"node":114,"role":"declaration","source":0,"src_end":16068,"src_start":15747},{"artifact":1,"gen_end":57132,"gen_start":56887,"node":115,"role":"declaration","source":0,"src_end":16294,"src_start":16070},{"artifact":1,"gen_end":57358,"gen_start":57132,"node":116,"role":"declaration","source":0,"src_end":16477,"src_start":16296},{"artifact":1,"gen_end":57661,"gen_start":57358,"node":117,"role":"declaration","source":0,"src_end":16751,"src_start":16479},{"artifact":1,"gen_end":57861,"gen_start":57661,"node":118,"role":"declaration","source":0,"src_end":16877,"src_start":16753},{"artifact":1,"gen_end":58158,"gen_start":57861,"node":119,"role":"declaration","source":0,"src_end":17143,"src_start":16879},{"artifact":1,"gen_end":58398,"gen_start":58158,"node":120,"role":"declaration","source":0,"src_end":17346,"src_start":17145},{"artifact":1,"gen_end":58642,"gen_start":58398,"node":121,"role":"declaration","source":0,"src_end":17553,"src_start":17348},{"artifact":1,"gen_end":59987,"gen_start":58642,"node":122,"role":"declaration","source":0,"src_end":18780,"src_start":17555},{"artifact":1,"gen_end":61329,"gen_start":59987,"node":123,"role":"declaration","source":0,"src_end":20003,"src_start":18782},{"artifact":1,"gen_end":62672,"gen_start":61329,"node":124,"role":"declaration","source":0,"src_end":21228,"src_start":20005},{"artifact":1,"gen_end":63908,"gen_start":62672,"node":125,"role":"declaration","source":0,"src_end":22400,"src_start":21230},{"artifact":1,"gen_end":65141,"gen_start":63908,"node":126,"role":"declaration","source":0,"src_end":23568,"src_start":22402},{"artifact":1,"gen_end":66494,"gen_start":65141,"node":127,"role":"declaration","source":0,"src_end":24802,"src_start":23570},{"artifact":1,"gen_end":67043,"gen_start":66494,"node":128,"role":"declaration","source":0,"src_end":25281,"src_start":24804},{"artifact":1,"gen_end":67533,"gen_start":67043,"node":129,"role":"declaration","source":0,"src_end":25701,"src_start":25283},{"artifact":1,"gen_end":68034,"gen_start":67533,"node":130,"role":"declaration","source":0,"src_end":26131,"src_start":25703},{"artifact":1,"gen_end":68582,"gen_start":68034,"node":131,"role":"declaration","source":0,"src_end":26691,"src_start":26133},{"artifact":1,"gen_end":69146,"gen_start":68582,"node":132,"role":"declaration","source":0,"src_end":27266,"src_start":26693},{"artifact":1,"gen_end":69715,"gen_start":69146,"node":133,"role":"declaration","source":0,"src_end":27837,"src_start":27268},{"artifact":1,"gen_end":70287,"gen_start":69715,"node":134,"role":"declaration","source":0,"src_end":28410,"src_start":27839},{"artifact":1,"gen_end":70873,"gen_start":70287,"node":135,"role":"declaration","source":0,"src_end":28997,"src_start":28412},{"artifact":1,"gen_end":71403,"gen_start":70873,"node":136,"role":"declaration","source":0,"src_end":29505,"src_start":28999},{"artifact":1,"gen_end":71950,"gen_start":71403,"node":137,"role":"declaration","source":0,"src_end":30029,"src_start":29507},{"artifact":1,"gen_end":71965,"gen_start":71950,"node":69,"role":"declaration","source":0,"src_end":30065,"src_start":0}],"module":"Main","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-latex-module"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"},{"id":74,"kind":"semantic-declaration"},{"id":75,"kind":"semantic-declaration"},{"id":76,"kind":"semantic-declaration"},{"id":77,"kind":"semantic-declaration"},{"id":78,"kind":"semantic-declaration"},{"id":79,"kind":"semantic-declaration"},{"id":80,"kind":"semantic-declaration"},{"id":81,"kind":"semantic-declaration"},{"id":82,"kind":"semantic-declaration"},{"id":83,"kind":"semantic-declaration"},{"id":84,"kind":"semantic-declaration"},{"id":85,"kind":"semantic-declaration"},{"id":86,"kind":"semantic-declaration"},{"id":87,"kind":"semantic-declaration"},{"id":88,"kind":"semantic-declaration"},{"id":89,"kind":"semantic-declaration"},{"id":90,"kind":"semantic-declaration"},{"id":91,"kind":"semantic-declaration"},{"id":92,"kind":"semantic-declaration"},{"id":93,"kind":"semantic-declaration"},{"id":94,"kind":"semantic-declaration"},{"id":95,"kind":"semantic-declaration"},{"id":96,"kind":"semantic-declaration"},{"id":97,"kind":"semantic-declaration"},{"id":98,"kind":"semantic-declaration"},{"id":99,"kind":"semantic-declaration"},{"id":100,"kind":"semantic-declaration"},{"id":101,"kind":"semantic-declaration"},{"id":102,"kind":"semantic-declaration"},{"id":103,"kind":"semantic-declaration"},{"id":104,"kind":"semantic-declaration"},{"id":105,"kind":"semantic-declaration"},{"id":106,"kind":"semantic-declaration"},{"id":107,"kind":"semantic-declaration"},{"id":108,"kind":"semantic-declaration"},{"id":109,"kind":"semantic-declaration"},{"id":110,"kind":"semantic-declaration"},{"id":111,"kind":"semantic-declaration"},{"id":112,"kind":"semantic-declaration"},{"id":113,"kind":"semantic-declaration"},{"id":114,"kind":"semantic-declaration"},{"id":115,"kind":"semantic-declaration"},{"id":116,"kind":"semantic-declaration"},{"id":117,"kind":"semantic-declaration"},{"id":118,"kind":"semantic-declaration"},{"id":119,"kind":"semantic-declaration"},{"id":120,"kind":"semantic-declaration"},{"id":121,"kind":"semantic-declaration"},{"id":122,"kind":"semantic-declaration"},{"id":123,"kind":"semantic-declaration"},{"id":124,"kind":"semantic-declaration"},{"id":125,"kind":"semantic-declaration"},{"id":126,"kind":"semantic-declaration"},{"id":127,"kind":"semantic-declaration"},{"id":128,"kind":"semantic-declaration"},{"id":129,"kind":"semantic-declaration"},{"id":130,"kind":"semantic-declaration"},{"id":131,"kind":"semantic-declaration"},{"id":132,"kind":"semantic-declaration"},{"id":133,"kind":"semantic-declaration"},{"id":134,"kind":"semantic-declaration"},{"id":135,"kind":"semantic-declaration"},{"id":136,"kind":"semantic-declaration"},{"id":137,"kind":"semantic-declaration"}],"semantic_id":"f04b35f2e1794332ed2a5b996f01296f826acfa851619281330fade86a3161cb","source_id":"a45df07f19018882114601c06a1310e00cad28bb1cc1bbef396b915d1e7183a9","sources":[{"id":0,"kind":"file","path":"src/Main.lex.tex","sha256":"1c528893e116cb6b0cf1f39acb17a02c4e3e5302c5c8e2c802bb3cff19582468"}],"spec":"lexlean/source-map/1"} diff --git a/examples/reasoning/expected/build/maps/Reasoning/Planner.map.json b/examples/reasoning/expected/build/maps/Reasoning/Planner.map.json index ea2ac2c87..dd5335fc5 100644 --- a/examples/reasoning/expected/build/maps/Reasoning/Planner.map.json +++ b/examples/reasoning/expected/build/maps/Reasoning/Planner.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/Reasoning/Planner.lean"},{"id":1,"kind":"tex","path":"modules/Reasoning/Planner.tex"}],"mappings":[{"artifact":0,"gen_end":34239,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":8705,"src_start":0},{"artifact":0,"gen_end":34370,"gen_start":34239,"node":1,"role":"declaration","source":0,"src_end":284,"src_start":142},{"artifact":0,"gen_end":34474,"gen_start":34370,"node":2,"role":"declaration","source":0,"src_end":410,"src_start":286},{"artifact":0,"gen_end":34918,"gen_start":34474,"node":3,"role":"declaration","source":0,"src_end":600,"src_start":412},{"artifact":0,"gen_end":35071,"gen_start":34918,"node":4,"role":"declaration","source":0,"src_end":747,"src_start":602},{"artifact":0,"gen_end":35530,"gen_start":35071,"node":5,"role":"declaration","source":0,"src_end":1008,"src_start":749},{"artifact":0,"gen_end":36316,"gen_start":35530,"node":6,"role":"declaration","source":0,"src_end":1248,"src_start":1010},{"artifact":0,"gen_end":36776,"gen_start":36316,"node":7,"role":"declaration","source":0,"src_end":1509,"src_start":1250},{"artifact":0,"gen_end":37572,"gen_start":36776,"node":8,"role":"declaration","source":0,"src_end":1750,"src_start":1511},{"artifact":0,"gen_end":38121,"gen_start":37572,"node":9,"role":"declaration","source":0,"src_end":2087,"src_start":1752},{"artifact":0,"gen_end":39160,"gen_start":38121,"node":10,"role":"declaration","source":0,"src_end":2476,"src_start":2089},{"artifact":0,"gen_end":39287,"gen_start":39160,"node":11,"role":"declaration","source":0,"src_end":2624,"src_start":2478},{"artifact":0,"gen_end":39427,"gen_start":39287,"node":12,"role":"declaration","source":0,"src_end":2799,"src_start":2626},{"artifact":0,"gen_end":39899,"gen_start":39427,"node":13,"role":"declaration","source":0,"src_end":3043,"src_start":2801},{"artifact":0,"gen_end":40062,"gen_start":39899,"node":14,"role":"declaration","source":0,"src_end":3251,"src_start":3045},{"artifact":0,"gen_end":40442,"gen_start":40062,"node":15,"role":"declaration","source":0,"src_end":3444,"src_start":3253},{"artifact":0,"gen_end":68130,"gen_start":40442,"node":16,"role":"declaration","source":0,"src_end":4017,"src_start":3446},{"artifact":0,"gen_end":68215,"gen_start":68130,"node":17,"role":"declaration","source":0,"src_end":4110,"src_start":4019},{"artifact":0,"gen_end":68303,"gen_start":68215,"node":18,"role":"declaration","source":0,"src_end":4239,"src_start":4112},{"artifact":0,"gen_end":68750,"gen_start":68303,"node":19,"role":"declaration","source":0,"src_end":4465,"src_start":4241},{"artifact":0,"gen_end":68905,"gen_start":68750,"node":20,"role":"declaration","source":0,"src_end":4657,"src_start":4467},{"artifact":0,"gen_end":68989,"gen_start":68905,"node":21,"role":"declaration","source":0,"src_end":4749,"src_start":4659},{"artifact":0,"gen_end":69076,"gen_start":68989,"node":22,"role":"declaration","source":0,"src_end":4877,"src_start":4751},{"artifact":0,"gen_end":69518,"gen_start":69076,"node":23,"role":"declaration","source":0,"src_end":5098,"src_start":4879},{"artifact":0,"gen_end":69672,"gen_start":69518,"node":24,"role":"declaration","source":0,"src_end":5289,"src_start":5100},{"artifact":0,"gen_end":70161,"gen_start":69672,"node":25,"role":"declaration","source":0,"src_end":5589,"src_start":5291},{"artifact":0,"gen_end":70299,"gen_start":70161,"node":26,"role":"declaration","source":0,"src_end":5743,"src_start":5591},{"artifact":0,"gen_end":70691,"gen_start":70299,"node":27,"role":"declaration","source":0,"src_end":5947,"src_start":5745},{"artifact":0,"gen_end":71179,"gen_start":70691,"node":28,"role":"declaration","source":0,"src_end":6227,"src_start":5949},{"artifact":0,"gen_end":71684,"gen_start":71179,"node":29,"role":"declaration","source":0,"src_end":6541,"src_start":6229},{"artifact":0,"gen_end":72153,"gen_start":71684,"node":30,"role":"declaration","source":0,"src_end":6821,"src_start":6543},{"artifact":0,"gen_end":100518,"gen_start":72153,"node":31,"role":"declaration","source":0,"src_end":7430,"src_start":6823},{"artifact":0,"gen_end":129878,"gen_start":100518,"node":32,"role":"declaration","source":0,"src_end":8099,"src_start":7432},{"artifact":0,"gen_end":158502,"gen_start":129878,"node":33,"role":"declaration","source":0,"src_end":8669,"src_start":8101},{"artifact":0,"gen_end":158525,"gen_start":158502,"node":0,"role":"declaration","source":0,"src_end":8705,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":34,"role":"declaration","source":0,"src_end":8705,"src_start":0},{"artifact":1,"gen_end":450,"gen_start":134,"node":35,"role":"declaration","source":0,"src_end":284,"src_start":142},{"artifact":1,"gen_end":740,"gen_start":450,"node":36,"role":"declaration","source":0,"src_end":410,"src_start":286},{"artifact":1,"gen_end":1018,"gen_start":740,"node":37,"role":"declaration","source":0,"src_end":600,"src_start":412},{"artifact":1,"gen_end":1647,"gen_start":1018,"node":38,"role":"declaration","source":0,"src_end":747,"src_start":602},{"artifact":1,"gen_end":1989,"gen_start":1647,"node":39,"role":"declaration","source":0,"src_end":1008,"src_start":749},{"artifact":1,"gen_end":3308,"gen_start":1989,"node":40,"role":"declaration","source":0,"src_end":1248,"src_start":1010},{"artifact":1,"gen_end":3651,"gen_start":3308,"node":41,"role":"declaration","source":0,"src_end":1509,"src_start":1250},{"artifact":1,"gen_end":4981,"gen_start":3651,"node":42,"role":"declaration","source":0,"src_end":1750,"src_start":1511},{"artifact":1,"gen_end":5415,"gen_start":4981,"node":43,"role":"declaration","source":0,"src_end":2087,"src_start":1752},{"artifact":1,"gen_end":7272,"gen_start":5415,"node":44,"role":"declaration","source":0,"src_end":2476,"src_start":2089},{"artifact":1,"gen_end":7585,"gen_start":7272,"node":45,"role":"declaration","source":0,"src_end":2624,"src_start":2478},{"artifact":1,"gen_end":7974,"gen_start":7585,"node":46,"role":"declaration","source":0,"src_end":2799,"src_start":2626},{"artifact":1,"gen_end":8279,"gen_start":7974,"node":47,"role":"declaration","source":0,"src_end":3043,"src_start":2801},{"artifact":1,"gen_end":8992,"gen_start":8279,"node":48,"role":"declaration","source":0,"src_end":3251,"src_start":3045},{"artifact":1,"gen_end":9254,"gen_start":8992,"node":49,"role":"declaration","source":0,"src_end":3444,"src_start":3253},{"artifact":1,"gen_end":27419,"gen_start":9254,"node":50,"role":"declaration","source":0,"src_end":4017,"src_start":3446},{"artifact":1,"gen_end":27674,"gen_start":27419,"node":51,"role":"declaration","source":0,"src_end":4110,"src_start":4019},{"artifact":1,"gen_end":28008,"gen_start":27674,"node":52,"role":"declaration","source":0,"src_end":4239,"src_start":4112},{"artifact":1,"gen_end":28292,"gen_start":28008,"node":53,"role":"declaration","source":0,"src_end":4465,"src_start":4241},{"artifact":1,"gen_end":28953,"gen_start":28292,"node":54,"role":"declaration","source":0,"src_end":4657,"src_start":4467},{"artifact":1,"gen_end":29207,"gen_start":28953,"node":55,"role":"declaration","source":0,"src_end":4749,"src_start":4659},{"artifact":1,"gen_end":29540,"gen_start":29207,"node":56,"role":"declaration","source":0,"src_end":4877,"src_start":4751},{"artifact":1,"gen_end":29821,"gen_start":29540,"node":57,"role":"declaration","source":0,"src_end":5098,"src_start":4879},{"artifact":1,"gen_end":30480,"gen_start":29821,"node":58,"role":"declaration","source":0,"src_end":5289,"src_start":5100},{"artifact":1,"gen_end":30826,"gen_start":30480,"node":59,"role":"declaration","source":0,"src_end":5589,"src_start":5291},{"artifact":1,"gen_end":31150,"gen_start":30826,"node":60,"role":"declaration","source":0,"src_end":5743,"src_start":5591},{"artifact":1,"gen_end":31418,"gen_start":31150,"node":61,"role":"declaration","source":0,"src_end":5947,"src_start":5745},{"artifact":1,"gen_end":31775,"gen_start":31418,"node":62,"role":"declaration","source":0,"src_end":6227,"src_start":5949},{"artifact":1,"gen_end":32131,"gen_start":31775,"node":63,"role":"declaration","source":0,"src_end":6541,"src_start":6229},{"artifact":1,"gen_end":32464,"gen_start":32131,"node":64,"role":"declaration","source":0,"src_end":6821,"src_start":6543},{"artifact":1,"gen_end":51452,"gen_start":32464,"node":65,"role":"declaration","source":0,"src_end":7430,"src_start":6823},{"artifact":1,"gen_end":71336,"gen_start":51452,"node":66,"role":"declaration","source":0,"src_end":8099,"src_start":7432},{"artifact":1,"gen_end":90352,"gen_start":71336,"node":67,"role":"declaration","source":0,"src_end":8669,"src_start":8101},{"artifact":1,"gen_end":90367,"gen_start":90352,"node":34,"role":"declaration","source":0,"src_end":8705,"src_start":0}],"module":"Planner","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-latex-module"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"}],"semantic_id":"6d3e375f76cbc573b09fef98086539e003daaa986597474797d95198349f7a5d","source_id":"f7f18445051be3c98cbd2c1b02fc50dd6755eab06716daebe5e98d2c995f8ab7","sources":[{"id":0,"kind":"file","path":"src/Planner.lex.tex","sha256":"8ebdbb36e0f5607e8ca0cdac698535bdd0fc793f9173ecc275817b706ec68f16"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Reasoning/Planner.lean"},{"id":1,"kind":"tex","path":"modules/Reasoning/Planner.tex"}],"mappings":[{"artifact":0,"gen_end":318,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":8705,"src_start":0},{"artifact":0,"gen_end":449,"gen_start":318,"node":1,"role":"declaration","source":0,"src_end":284,"src_start":142},{"artifact":0,"gen_end":553,"gen_start":449,"node":2,"role":"declaration","source":0,"src_end":410,"src_start":286},{"artifact":0,"gen_end":997,"gen_start":553,"node":3,"role":"declaration","source":0,"src_end":600,"src_start":412},{"artifact":0,"gen_end":1150,"gen_start":997,"node":4,"role":"declaration","source":0,"src_end":747,"src_start":602},{"artifact":0,"gen_end":1609,"gen_start":1150,"node":5,"role":"declaration","source":0,"src_end":1008,"src_start":749},{"artifact":0,"gen_end":2395,"gen_start":1609,"node":6,"role":"declaration","source":0,"src_end":1248,"src_start":1010},{"artifact":0,"gen_end":2855,"gen_start":2395,"node":7,"role":"declaration","source":0,"src_end":1509,"src_start":1250},{"artifact":0,"gen_end":3651,"gen_start":2855,"node":8,"role":"declaration","source":0,"src_end":1750,"src_start":1511},{"artifact":0,"gen_end":4200,"gen_start":3651,"node":9,"role":"declaration","source":0,"src_end":2087,"src_start":1752},{"artifact":0,"gen_end":5239,"gen_start":4200,"node":10,"role":"declaration","source":0,"src_end":2476,"src_start":2089},{"artifact":0,"gen_end":5366,"gen_start":5239,"node":11,"role":"declaration","source":0,"src_end":2624,"src_start":2478},{"artifact":0,"gen_end":5506,"gen_start":5366,"node":12,"role":"declaration","source":0,"src_end":2799,"src_start":2626},{"artifact":0,"gen_end":5978,"gen_start":5506,"node":13,"role":"declaration","source":0,"src_end":3043,"src_start":2801},{"artifact":0,"gen_end":6141,"gen_start":5978,"node":14,"role":"declaration","source":0,"src_end":3251,"src_start":3045},{"artifact":0,"gen_end":6521,"gen_start":6141,"node":15,"role":"declaration","source":0,"src_end":3444,"src_start":3253},{"artifact":0,"gen_end":34209,"gen_start":6521,"node":16,"role":"declaration","source":0,"src_end":4017,"src_start":3446},{"artifact":0,"gen_end":34294,"gen_start":34209,"node":17,"role":"declaration","source":0,"src_end":4110,"src_start":4019},{"artifact":0,"gen_end":34382,"gen_start":34294,"node":18,"role":"declaration","source":0,"src_end":4239,"src_start":4112},{"artifact":0,"gen_end":34829,"gen_start":34382,"node":19,"role":"declaration","source":0,"src_end":4465,"src_start":4241},{"artifact":0,"gen_end":34984,"gen_start":34829,"node":20,"role":"declaration","source":0,"src_end":4657,"src_start":4467},{"artifact":0,"gen_end":35068,"gen_start":34984,"node":21,"role":"declaration","source":0,"src_end":4749,"src_start":4659},{"artifact":0,"gen_end":35155,"gen_start":35068,"node":22,"role":"declaration","source":0,"src_end":4877,"src_start":4751},{"artifact":0,"gen_end":35597,"gen_start":35155,"node":23,"role":"declaration","source":0,"src_end":5098,"src_start":4879},{"artifact":0,"gen_end":35751,"gen_start":35597,"node":24,"role":"declaration","source":0,"src_end":5289,"src_start":5100},{"artifact":0,"gen_end":36240,"gen_start":35751,"node":25,"role":"declaration","source":0,"src_end":5589,"src_start":5291},{"artifact":0,"gen_end":36378,"gen_start":36240,"node":26,"role":"declaration","source":0,"src_end":5743,"src_start":5591},{"artifact":0,"gen_end":36770,"gen_start":36378,"node":27,"role":"declaration","source":0,"src_end":5947,"src_start":5745},{"artifact":0,"gen_end":37258,"gen_start":36770,"node":28,"role":"declaration","source":0,"src_end":6227,"src_start":5949},{"artifact":0,"gen_end":37763,"gen_start":37258,"node":29,"role":"declaration","source":0,"src_end":6541,"src_start":6229},{"artifact":0,"gen_end":38232,"gen_start":37763,"node":30,"role":"declaration","source":0,"src_end":6821,"src_start":6543},{"artifact":0,"gen_end":66597,"gen_start":38232,"node":31,"role":"declaration","source":0,"src_end":7430,"src_start":6823},{"artifact":0,"gen_end":95957,"gen_start":66597,"node":32,"role":"declaration","source":0,"src_end":8099,"src_start":7432},{"artifact":0,"gen_end":124581,"gen_start":95957,"node":33,"role":"declaration","source":0,"src_end":8669,"src_start":8101},{"artifact":0,"gen_end":124604,"gen_start":124581,"node":0,"role":"declaration","source":0,"src_end":8705,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":34,"role":"declaration","source":0,"src_end":8705,"src_start":0},{"artifact":1,"gen_end":450,"gen_start":134,"node":35,"role":"declaration","source":0,"src_end":284,"src_start":142},{"artifact":1,"gen_end":740,"gen_start":450,"node":36,"role":"declaration","source":0,"src_end":410,"src_start":286},{"artifact":1,"gen_end":1018,"gen_start":740,"node":37,"role":"declaration","source":0,"src_end":600,"src_start":412},{"artifact":1,"gen_end":1647,"gen_start":1018,"node":38,"role":"declaration","source":0,"src_end":747,"src_start":602},{"artifact":1,"gen_end":1989,"gen_start":1647,"node":39,"role":"declaration","source":0,"src_end":1008,"src_start":749},{"artifact":1,"gen_end":3308,"gen_start":1989,"node":40,"role":"declaration","source":0,"src_end":1248,"src_start":1010},{"artifact":1,"gen_end":3651,"gen_start":3308,"node":41,"role":"declaration","source":0,"src_end":1509,"src_start":1250},{"artifact":1,"gen_end":4981,"gen_start":3651,"node":42,"role":"declaration","source":0,"src_end":1750,"src_start":1511},{"artifact":1,"gen_end":5415,"gen_start":4981,"node":43,"role":"declaration","source":0,"src_end":2087,"src_start":1752},{"artifact":1,"gen_end":7272,"gen_start":5415,"node":44,"role":"declaration","source":0,"src_end":2476,"src_start":2089},{"artifact":1,"gen_end":7585,"gen_start":7272,"node":45,"role":"declaration","source":0,"src_end":2624,"src_start":2478},{"artifact":1,"gen_end":7974,"gen_start":7585,"node":46,"role":"declaration","source":0,"src_end":2799,"src_start":2626},{"artifact":1,"gen_end":8279,"gen_start":7974,"node":47,"role":"declaration","source":0,"src_end":3043,"src_start":2801},{"artifact":1,"gen_end":8992,"gen_start":8279,"node":48,"role":"declaration","source":0,"src_end":3251,"src_start":3045},{"artifact":1,"gen_end":9254,"gen_start":8992,"node":49,"role":"declaration","source":0,"src_end":3444,"src_start":3253},{"artifact":1,"gen_end":27419,"gen_start":9254,"node":50,"role":"declaration","source":0,"src_end":4017,"src_start":3446},{"artifact":1,"gen_end":27674,"gen_start":27419,"node":51,"role":"declaration","source":0,"src_end":4110,"src_start":4019},{"artifact":1,"gen_end":28008,"gen_start":27674,"node":52,"role":"declaration","source":0,"src_end":4239,"src_start":4112},{"artifact":1,"gen_end":28292,"gen_start":28008,"node":53,"role":"declaration","source":0,"src_end":4465,"src_start":4241},{"artifact":1,"gen_end":28953,"gen_start":28292,"node":54,"role":"declaration","source":0,"src_end":4657,"src_start":4467},{"artifact":1,"gen_end":29207,"gen_start":28953,"node":55,"role":"declaration","source":0,"src_end":4749,"src_start":4659},{"artifact":1,"gen_end":29540,"gen_start":29207,"node":56,"role":"declaration","source":0,"src_end":4877,"src_start":4751},{"artifact":1,"gen_end":29821,"gen_start":29540,"node":57,"role":"declaration","source":0,"src_end":5098,"src_start":4879},{"artifact":1,"gen_end":30480,"gen_start":29821,"node":58,"role":"declaration","source":0,"src_end":5289,"src_start":5100},{"artifact":1,"gen_end":30826,"gen_start":30480,"node":59,"role":"declaration","source":0,"src_end":5589,"src_start":5291},{"artifact":1,"gen_end":31150,"gen_start":30826,"node":60,"role":"declaration","source":0,"src_end":5743,"src_start":5591},{"artifact":1,"gen_end":31418,"gen_start":31150,"node":61,"role":"declaration","source":0,"src_end":5947,"src_start":5745},{"artifact":1,"gen_end":31775,"gen_start":31418,"node":62,"role":"declaration","source":0,"src_end":6227,"src_start":5949},{"artifact":1,"gen_end":32131,"gen_start":31775,"node":63,"role":"declaration","source":0,"src_end":6541,"src_start":6229},{"artifact":1,"gen_end":32464,"gen_start":32131,"node":64,"role":"declaration","source":0,"src_end":6821,"src_start":6543},{"artifact":1,"gen_end":51452,"gen_start":32464,"node":65,"role":"declaration","source":0,"src_end":7430,"src_start":6823},{"artifact":1,"gen_end":71336,"gen_start":51452,"node":66,"role":"declaration","source":0,"src_end":8099,"src_start":7432},{"artifact":1,"gen_end":90352,"gen_start":71336,"node":67,"role":"declaration","source":0,"src_end":8669,"src_start":8101},{"artifact":1,"gen_end":90367,"gen_start":90352,"node":34,"role":"declaration","source":0,"src_end":8705,"src_start":0}],"module":"Planner","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-latex-module"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-declaration"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"}],"semantic_id":"f04b35f2e1794332ed2a5b996f01296f826acfa851619281330fade86a3161cb","source_id":"a45df07f19018882114601c06a1310e00cad28bb1cc1bbef396b915d1e7183a9","sources":[{"id":0,"kind":"file","path":"src/Planner.lex.tex","sha256":"8ebdbb36e0f5607e8ca0cdac698535bdd0fc793f9173ecc275817b706ec68f16"}],"spec":"lexlean/source-map/1"} diff --git a/examples/reasoning/expected/build/maps/Reasoning/Screening.map.json b/examples/reasoning/expected/build/maps/Reasoning/Screening.map.json index 70fc7f1da..a7996b4bd 100644 --- a/examples/reasoning/expected/build/maps/Reasoning/Screening.map.json +++ b/examples/reasoning/expected/build/maps/Reasoning/Screening.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/Reasoning/Screening.lean"},{"id":1,"kind":"tex","path":"modules/Reasoning/Screening.tex"}],"mappings":[{"artifact":0,"gen_end":39342,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":3642,"src_start":0},{"artifact":0,"gen_end":39468,"gen_start":39342,"node":1,"role":"declaration","source":0,"src_end":276,"src_start":146},{"artifact":0,"gen_end":39597,"gen_start":39468,"node":2,"role":"declaration","source":0,"src_end":434,"src_start":278},{"artifact":0,"gen_end":40043,"gen_start":39597,"node":3,"role":"declaration","source":0,"src_end":659,"src_start":436},{"artifact":0,"gen_end":40215,"gen_start":40043,"node":4,"role":"declaration","source":0,"src_end":899,"src_start":661},{"artifact":0,"gen_end":40480,"gen_start":40215,"node":5,"role":"declaration","source":0,"src_end":1201,"src_start":901},{"artifact":0,"gen_end":40589,"gen_start":40480,"node":6,"role":"declaration","source":0,"src_end":1298,"src_start":1203},{"artifact":0,"gen_end":40741,"gen_start":40589,"node":7,"role":"declaration","source":0,"src_end":1473,"src_start":1300},{"artifact":0,"gen_end":40742,"gen_start":40741,"node":8,"role":"declaration","source":0,"src_end":1565,"src_start":1475},{"artifact":0,"gen_end":41215,"gen_start":40742,"node":9,"role":"declaration","source":0,"src_end":1803,"src_start":1567},{"artifact":0,"gen_end":42560,"gen_start":41215,"node":10,"role":"declaration","source":0,"src_end":2213,"src_start":1805},{"artifact":0,"gen_end":42643,"gen_start":42560,"node":11,"role":"declaration","source":0,"src_end":2305,"src_start":2215},{"artifact":0,"gen_end":42729,"gen_start":42643,"node":12,"role":"declaration","source":0,"src_end":2433,"src_start":2307},{"artifact":0,"gen_end":43151,"gen_start":42729,"node":13,"role":"declaration","source":0,"src_end":2634,"src_start":2435},{"artifact":0,"gen_end":43308,"gen_start":43151,"node":14,"role":"declaration","source":0,"src_end":2817,"src_start":2636},{"artifact":0,"gen_end":51530,"gen_start":43308,"node":15,"role":"declaration","source":0,"src_end":3166,"src_start":2819},{"artifact":0,"gen_end":73605,"gen_start":51530,"node":16,"role":"declaration","source":0,"src_end":3606,"src_start":3168},{"artifact":0,"gen_end":73630,"gen_start":73605,"node":0,"role":"declaration","source":0,"src_end":3642,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":17,"role":"declaration","source":0,"src_end":3642,"src_start":0},{"artifact":1,"gen_end":430,"gen_start":134,"node":18,"role":"declaration","source":0,"src_end":276,"src_start":146},{"artifact":1,"gen_end":805,"gen_start":430,"node":19,"role":"declaration","source":0,"src_end":434,"src_start":278},{"artifact":1,"gen_end":1090,"gen_start":805,"node":20,"role":"declaration","source":0,"src_end":659,"src_start":436},{"artifact":1,"gen_end":1752,"gen_start":1090,"node":21,"role":"declaration","source":0,"src_end":899,"src_start":661},{"artifact":1,"gen_end":2542,"gen_start":1752,"node":22,"role":"declaration","source":0,"src_end":1201,"src_start":901},{"artifact":1,"gen_end":2959,"gen_start":2542,"node":23,"role":"declaration","source":0,"src_end":1298,"src_start":1203},{"artifact":1,"gen_end":3312,"gen_start":2959,"node":24,"role":"declaration","source":0,"src_end":1473,"src_start":1300},{"artifact":1,"gen_end":3527,"gen_start":3312,"node":25,"role":"declaration","source":0,"src_end":1565,"src_start":1475},{"artifact":1,"gen_end":3850,"gen_start":3527,"node":26,"role":"declaration","source":0,"src_end":1803,"src_start":1567},{"artifact":1,"gen_end":5867,"gen_start":3850,"node":27,"role":"declaration","source":0,"src_end":2213,"src_start":1805},{"artifact":1,"gen_end":6121,"gen_start":5867,"node":28,"role":"declaration","source":0,"src_end":2305,"src_start":2215},{"artifact":1,"gen_end":6454,"gen_start":6121,"node":29,"role":"declaration","source":0,"src_end":2433,"src_start":2307},{"artifact":1,"gen_end":6717,"gen_start":6454,"node":30,"role":"declaration","source":0,"src_end":2634,"src_start":2435},{"artifact":1,"gen_end":7348,"gen_start":6717,"node":31,"role":"declaration","source":0,"src_end":2817,"src_start":2636},{"artifact":1,"gen_end":13192,"gen_start":7348,"node":32,"role":"declaration","source":0,"src_end":3166,"src_start":2819},{"artifact":1,"gen_end":27179,"gen_start":13192,"node":33,"role":"declaration","source":0,"src_end":3606,"src_start":3168},{"artifact":1,"gen_end":27194,"gen_start":27179,"node":17,"role":"declaration","source":0,"src_end":3642,"src_start":0}],"module":"Screening","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-latex-module"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"}],"semantic_id":"6d3e375f76cbc573b09fef98086539e003daaa986597474797d95198349f7a5d","source_id":"f7f18445051be3c98cbd2c1b02fc50dd6755eab06716daebe5e98d2c995f8ab7","sources":[{"id":0,"kind":"file","path":"src/Screening.lex.tex","sha256":"3dc86d2c1968e2eee6b3f55e1013f2ad4506f81a29a261e767d7dd2029b77efc"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Reasoning/Screening.lean"},{"id":1,"kind":"tex","path":"modules/Reasoning/Screening.tex"}],"mappings":[{"artifact":0,"gen_end":356,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":3642,"src_start":0},{"artifact":0,"gen_end":482,"gen_start":356,"node":1,"role":"declaration","source":0,"src_end":276,"src_start":146},{"artifact":0,"gen_end":611,"gen_start":482,"node":2,"role":"declaration","source":0,"src_end":434,"src_start":278},{"artifact":0,"gen_end":1057,"gen_start":611,"node":3,"role":"declaration","source":0,"src_end":659,"src_start":436},{"artifact":0,"gen_end":1229,"gen_start":1057,"node":4,"role":"declaration","source":0,"src_end":899,"src_start":661},{"artifact":0,"gen_end":1494,"gen_start":1229,"node":5,"role":"declaration","source":0,"src_end":1201,"src_start":901},{"artifact":0,"gen_end":1603,"gen_start":1494,"node":6,"role":"declaration","source":0,"src_end":1298,"src_start":1203},{"artifact":0,"gen_end":1755,"gen_start":1603,"node":7,"role":"declaration","source":0,"src_end":1473,"src_start":1300},{"artifact":0,"gen_end":1756,"gen_start":1755,"node":8,"role":"declaration","source":0,"src_end":1565,"src_start":1475},{"artifact":0,"gen_end":2229,"gen_start":1756,"node":9,"role":"declaration","source":0,"src_end":1803,"src_start":1567},{"artifact":0,"gen_end":3574,"gen_start":2229,"node":10,"role":"declaration","source":0,"src_end":2213,"src_start":1805},{"artifact":0,"gen_end":3657,"gen_start":3574,"node":11,"role":"declaration","source":0,"src_end":2305,"src_start":2215},{"artifact":0,"gen_end":3743,"gen_start":3657,"node":12,"role":"declaration","source":0,"src_end":2433,"src_start":2307},{"artifact":0,"gen_end":4165,"gen_start":3743,"node":13,"role":"declaration","source":0,"src_end":2634,"src_start":2435},{"artifact":0,"gen_end":4322,"gen_start":4165,"node":14,"role":"declaration","source":0,"src_end":2817,"src_start":2636},{"artifact":0,"gen_end":12544,"gen_start":4322,"node":15,"role":"declaration","source":0,"src_end":3166,"src_start":2819},{"artifact":0,"gen_end":34619,"gen_start":12544,"node":16,"role":"declaration","source":0,"src_end":3606,"src_start":3168},{"artifact":0,"gen_end":34644,"gen_start":34619,"node":0,"role":"declaration","source":0,"src_end":3642,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":17,"role":"declaration","source":0,"src_end":3642,"src_start":0},{"artifact":1,"gen_end":430,"gen_start":134,"node":18,"role":"declaration","source":0,"src_end":276,"src_start":146},{"artifact":1,"gen_end":805,"gen_start":430,"node":19,"role":"declaration","source":0,"src_end":434,"src_start":278},{"artifact":1,"gen_end":1090,"gen_start":805,"node":20,"role":"declaration","source":0,"src_end":659,"src_start":436},{"artifact":1,"gen_end":1752,"gen_start":1090,"node":21,"role":"declaration","source":0,"src_end":899,"src_start":661},{"artifact":1,"gen_end":2542,"gen_start":1752,"node":22,"role":"declaration","source":0,"src_end":1201,"src_start":901},{"artifact":1,"gen_end":2959,"gen_start":2542,"node":23,"role":"declaration","source":0,"src_end":1298,"src_start":1203},{"artifact":1,"gen_end":3312,"gen_start":2959,"node":24,"role":"declaration","source":0,"src_end":1473,"src_start":1300},{"artifact":1,"gen_end":3527,"gen_start":3312,"node":25,"role":"declaration","source":0,"src_end":1565,"src_start":1475},{"artifact":1,"gen_end":3850,"gen_start":3527,"node":26,"role":"declaration","source":0,"src_end":1803,"src_start":1567},{"artifact":1,"gen_end":5867,"gen_start":3850,"node":27,"role":"declaration","source":0,"src_end":2213,"src_start":1805},{"artifact":1,"gen_end":6121,"gen_start":5867,"node":28,"role":"declaration","source":0,"src_end":2305,"src_start":2215},{"artifact":1,"gen_end":6454,"gen_start":6121,"node":29,"role":"declaration","source":0,"src_end":2433,"src_start":2307},{"artifact":1,"gen_end":6717,"gen_start":6454,"node":30,"role":"declaration","source":0,"src_end":2634,"src_start":2435},{"artifact":1,"gen_end":7348,"gen_start":6717,"node":31,"role":"declaration","source":0,"src_end":2817,"src_start":2636},{"artifact":1,"gen_end":13192,"gen_start":7348,"node":32,"role":"declaration","source":0,"src_end":3166,"src_start":2819},{"artifact":1,"gen_end":27179,"gen_start":13192,"node":33,"role":"declaration","source":0,"src_end":3606,"src_start":3168},{"artifact":1,"gen_end":27194,"gen_start":27179,"node":17,"role":"declaration","source":0,"src_end":3642,"src_start":0}],"module":"Screening","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-latex-module"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"}],"semantic_id":"f04b35f2e1794332ed2a5b996f01296f826acfa851619281330fade86a3161cb","source_id":"a45df07f19018882114601c06a1310e00cad28bb1cc1bbef396b915d1e7183a9","sources":[{"id":0,"kind":"file","path":"src/Screening.lex.tex","sha256":"3dc86d2c1968e2eee6b3f55e1013f2ad4506f81a29a261e767d7dd2029b77efc"}],"spec":"lexlean/source-map/1"} diff --git a/examples/reasoning/expected/build/modules/Reasoning/Budget.lean b/examples/reasoning/expected/build/modules/Reasoning/Budget.lean index d3eef442f..736f09255 100644 --- a/examples/reasoning/expected/build/modules/Reasoning/Budget.lean +++ b/examples/reasoning/expected/build/modules/Reasoning/Budget.lean @@ -1,674 +1,14 @@ module public import Init +public import LexLeanRuntime.Portable +public import LexLeanRuntime.Collections +public import LexLeanRuntime.Reasoning set_option autoImplicit false set_option maxRecDepth 100000 set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace Reasoning.Budget -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - -namespace LexLeanCollections - -public class Key (α : Type) where - compare : α -> α -> Ordering - -@[expose] public def compareCodes : List Char -> List Char -> Ordering - | [], [] => .eq - | [], _ :: _ => .lt - | _ :: _, [] => .gt - | left :: lefts, right :: rights => - match Ord.compare left.val.toNat right.val.toNat with - | .eq => compareCodes lefts rights - | other => other - -public instance : Key Nat where compare := Ord.compare -public instance : Key Int where compare := Ord.compare -public instance : Key Bool where compare := Ord.compare -public instance : Key Int8 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int16 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int32 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int64 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key UInt8 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt16 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt32 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt64 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key String where compare left right := compareCodes left.toList right.toList -public instance {α β : Type} [Key α] [Key β] : Key (Prod α β) where - compare left right := match Key.compare left.1 right.1 with - | .eq => Key.compare left.2 right.2 - | other => other - -@[expose] public def insertEntry {κ ν : Type} [Key κ] (key : κ) (value : ν) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [(key, value)] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (key, value) :: (other, stored) :: rest - | .eq => (key, value) :: rest - | .gt => (other, stored) :: insertEntry key value rest - -@[expose] public def removeEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (other, stored) :: rest - | .eq => rest - | .gt => (other, stored) :: removeEntry key rest - -@[expose] public def lookupEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> Option ν - | [] => none - | (other, stored) :: rest => match Key.compare key other with - | .lt => none - | .eq => some stored - | .gt => lookupEntry key rest - -@[expose] public def insertElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [key] - | other :: rest => match Key.compare key other with - | .lt => key :: other :: rest - | .eq => other :: rest - | .gt => other :: insertElement key rest - -@[expose] public def removeElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [] - | other :: rest => match Key.compare key other with - | .lt => other :: rest - | .eq => rest - | .gt => other :: removeElement key rest - -@[expose] public def containsElement {κ : Type} [Key κ] (key : κ) : List κ -> Bool - | [] => false - | other :: rest => match Key.compare key other with - | .lt => false - | .eq => true - | .gt => containsElement key rest - -@[expose] public def mapInsert {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) (value : ν) : List (Prod κ ν) := insertEntry key value map -@[expose] public def mapRemove {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : List (Prod κ ν) := removeEntry key map -@[expose] public def mapLookup {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Option ν := lookupEntry key map -@[expose] public def mapContains {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Bool := (lookupEntry key map).isSome -@[expose] public def mapSize {κ ν : Type} (map : List (Prod κ ν)) : Nat := map.length -@[expose] public def mapKeys {κ ν : Type} (map : List (Prod κ ν)) : List κ := map.map Prod.fst -@[expose] public def mapValues {κ ν : Type} (map : List (Prod κ ν)) : List ν := map.map Prod.snd -@[expose] public def mapEntries {κ ν : Type} (map : List (Prod κ ν)) : List (Prod κ ν) := map -@[expose] public def mapFold {κ ν β : Type} (step : β -> κ -> ν -> β) (initial : β) (map : List (Prod κ ν)) : β := - map.foldl (fun state entry => step state entry.1 entry.2) initial - -@[expose] public def setInsert {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := insertElement key set -@[expose] public def setRemove {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := removeElement key set -@[expose] public def setContains {κ : Type} [Key κ] (set : List κ) (key : κ) : Bool := containsElement key set -@[expose] public def setSize {κ : Type} (set : List κ) : Nat := set.length -@[expose] public def setElements {κ : Type} (set : List κ) : List κ := set -@[expose] public def setUnion {κ : Type} [Key κ] (left right : List κ) : List κ := right.foldl (fun acc key => insertElement key acc) left -@[expose] public def setIntersection {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => containsElement key right) -@[expose] public def setDifference {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => !containsElement key right) - -@[expose] public def graphSuccessors {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (node : κ) : List κ := - (lookupEntry node graph).getD [] - -@[expose] public def graphNodes {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : List κ := - graph.foldl (fun acc entry => entry.2.foldl (fun inner node => insertElement node inner) (insertElement entry.1 acc)) [] - -@[expose] public def reachableFrom {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> List κ - | 0, _, seen => seen - | Nat.succ fuel, frontier, seen => - let next := frontier.foldl (fun acc node => - (graphSuccessors graph node).foldl (fun acc2 succ => - if containsElement succ seen || containsElement succ acc2 then acc2 else insertElement succ acc2) acc) [] - match next with - | [] => seen - | _ => reachableFrom graph fuel next (next.foldl (fun acc key => insertElement key acc) seen) - -@[expose] public def graphReachable {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (start : κ) : List κ := - reachableFrom graph ((graphNodes graph).length + 1) [start] [start] - -@[expose] public def topological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> Option (List κ) - | 0, remaining, order => if remaining.isEmpty then some order.reverse else none - | Nat.succ fuel, remaining, order => - match remaining.filter (fun node => remaining.all (fun other => !containsElement node (graphSuccessors graph other))) with - | [] => if remaining.isEmpty then some order.reverse else none - | ready :: _ => topological graph fuel (removeElement ready remaining) (ready :: order) - -@[expose] public def graphTopological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Option (List κ) := - let nodes := graphNodes graph - topological graph (nodes.length + 1) nodes [] -@[expose] public def listFold {α σ : Type} (step : σ -> α -> σ) (initial : σ) (values : List α) : σ := - values.foldl step initial - -@[expose] public def setFold {κ σ : Type} (step : σ -> κ -> σ) (initial : σ) (set : List κ) : σ := - set.foldl step initial - -@[expose] public def iterate {σ : Type} (step : σ -> σ) : Nat -> σ -> σ - | 0, state => state - | Nat.succ count, state => iterate step count (step state) - -@[expose] public def iterateUntil {σ : Type} (step : σ -> Option σ) : Nat -> σ -> Prod σ Bool - | 0, state => (state, false) - | Nat.succ fuel, state => match step state with - | none => (state, true) - | some next => iterateUntil step fuel next - -@[expose] public def lessThan {κ : Type} [Key κ] (left right : κ) : Bool := - match Key.compare left right with - | .lt => true - | _ => false -end LexLeanCollections - -namespace LexLeanReasoning - -public inductive Star {σ : Type} (r : σ -> σ -> Prop) : σ -> σ -> Prop where - | refl (a : σ) : Star r a a - | tail (a b c : σ) : Star r a b -> r b c -> Star r a c - -public inductive All {α : Type} (p : α -> Prop) : List α -> Prop where - | nil : All p [] - | cons (a : α) (rest : List α) : p a -> All p rest -> All p (a :: rest) - -@[expose] public def Preserves {σ : Type} (r : σ -> σ -> Prop) (j : σ -> Prop) : Prop := - forall (s t : σ), j s -> r s t -> j t -@[expose] public def Sound {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), v a b = true -> p a b -@[expose] public def Complete {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), p a b -> v a b = true -@[expose] public def Reaches {σ ε : Type} (r : σ -> σ -> Prop) (a : σ) (acc : Except ε σ) : Prop := - forall (s : σ), acc = Except.ok s -> Star r a s -@[expose] public def Found {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) : Option (Prod ρ ν) -> Prop - | none => True - | some hit => ok hit.2 /\ accept hit.2 = some hit.1 -@[expose] public def SearchOk {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) (frontier : List ν) (found : Option (Prod ρ ν)) : Prop := - All ok frontier /\ Found ok accept found - -public theorem starPreserves {σ : Type} (r : σ -> σ -> Prop) (j : σ -> Prop) (h : Preserves r j) : - forall (a b : σ), Star r a b -> j a -> j b := by - intro a b hs - induction hs with - | refl => exact fun ha => ha - | tail y z _ hyz ih => exact fun ha => h y z (ih ha) hyz - -public theorem reachesStart {σ ε : Type} (r : σ -> σ -> Prop) (a : σ) : Reaches (ε := ε) r a (Except.ok a) := by - intro s e - cases e - exact Star.refl a - -public theorem guarded {σ : Type} (r : σ -> σ -> Prop) (s : σ) (g : Bool) (c : σ) (h : g = true -> r s c) (t : σ) : - (if g then some c else none) = some t -> r s t := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact h rfl - -public theorem guardedRank {σ : Type} (μ : σ -> Nat) (s : σ) (g : Bool) (c : σ) (h : g = true -> μ c < μ s) (t : σ) : - (if g then some c else none) = some t -> μ t < μ s := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact h rfl - -public theorem checked {ρ : Type} (g : Bool) (a b : ρ) : (if g then some a else none) = some b -> g = true /\ a = b := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact And.intro rfl rfl - -public theorem foldInvariant {σ α : Type} (f : σ -> α -> σ) (p : σ -> Prop) (h : forall (a : σ) (x : α), p a -> p (f a x)) : - forall (xs : List α) (a : σ), p a -> p (LexLeanCollections.listFold f a xs) := by - intro xs - induction xs with - | nil => exact fun _ ha => ha - | cons x rest ih => exact fun a ha => ih (f a x) (h a x ha) - -public theorem foldSnoc {σ α : Type} (f : σ -> α -> σ) (a : σ) (xs : List α) (y : α) : - LexLeanCollections.listFold f a (LexLeanRuntime.append xs (y :: [])) = f (LexLeanCollections.listFold f a xs) y := by - induction xs generalizing a with - | nil => rfl - | cons x rest ih => exact ih (f a x) - -public theorem allAppend {α : Type} (p : α -> Prop) : forall (xs ys : List α), All p xs -> All p ys -> All p (LexLeanRuntime.append xs ys) := by - intro xs - induction xs with - | nil => exact fun _ _ h => h - | cons x rest ih => - intro ys hx hy - cases hx with - | cons _ _ hp hr => exact All.cons x (LexLeanRuntime.append rest ys) hp (ih ys hr hy) - -public theorem allSingle {α : Type} (p : α -> Prop) (a : α) (h : p a) : All p (a :: []) := - All.cons a [] h All.nil - -public theorem allHead {α : Type} (p : α -> Prop) (a : α) (rest : List α) (h : All p (a :: rest)) : p a := by - cases h with - | cons _ _ hp _ => exact hp - -public theorem allTail {α : Type} (p : α -> Prop) (a : α) (rest : List α) (h : All p (a :: rest)) : All p rest := by - cases h with - | cons _ _ _ hr => exact hr - -public theorem allFold {σ α : Type} (f : σ -> α -> σ) (p : σ -> Prop) (q : α -> Prop) (h : forall (a : σ) (x : α), q x -> p a -> p (f a x)) : - forall (xs : List α) (a : σ), All q xs -> p a -> p (LexLeanCollections.listFold f a xs) := by - intro xs - induction xs with - | nil => exact fun _ _ ha => ha - | cons x rest ih => - intro a hx ha - cases hx with - | cons _ _ hq hr => exact ih (f a x) hr (h a x hq ha) - -public theorem capAll {α : Type} (p : α -> Prop) (k : Nat) (xs : List α) (h : All p xs) : - All p (LexLeanCollections.listFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) [] xs) := - allFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) (All p) p - (fun a x hq ha => by - show All p (if Nat.blt (LexLeanRuntime.length a) k then LexLeanRuntime.append a (x :: []) else a) - cases Nat.blt (LexLeanRuntime.length a) k with - | false => exact ha - | true => exact allAppend p a (x :: []) ha (allSingle p x hq)) xs [] h All.nil - -public theorem lengthSnoc {α : Type} (xs : List α) (y : α) : LexLeanRuntime.length (LexLeanRuntime.append xs (y :: [])) = LexLeanRuntime.length xs + 1 := by - induction xs with - | nil => rfl - | cons x rest ih => exact congrArg Nat.succ ih - -public theorem capBound {α : Type} (k : Nat) (xs : List α) : - LexLeanRuntime.length (LexLeanCollections.listFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) [] xs) <= k := - foldInvariant (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) (fun (acc : List α) => LexLeanRuntime.length acc <= k) - (fun a x ha => by - show LexLeanRuntime.length (if Nat.blt (LexLeanRuntime.length a) k then LexLeanRuntime.append a (x :: []) else a) <= k - cases e : Nat.blt (LexLeanRuntime.length a) k with - | false => exact ha - | true => - show LexLeanRuntime.length (LexLeanRuntime.append a (x :: [])) <= k - rw [lengthSnoc] - exact Nat.le_of_ble_eq_true e) xs [] (Nat.zero_le k) - -public theorem freshAll {ν κ : Type} [LexLeanCollections.Key κ] (key : ν -> κ) (p : ν -> Prop) (v : List κ) (ns : List ν) (h : All p ns) : - All p (LexLeanCollections.listFold (fun (acc : Prod (List ν) (List κ)) (n : ν) => if LexLeanCollections.setContains acc.2 (key n) then acc else (LexLeanRuntime.append acc.1 (n :: []), LexLeanCollections.setInsert acc.2 (key n))) (([] : List ν), v) ns).1 := - allFold (fun (acc : Prod (List ν) (List κ)) (n : ν) => if LexLeanCollections.setContains acc.2 (key n) then acc else (LexLeanRuntime.append acc.1 (n :: []), LexLeanCollections.setInsert acc.2 (key n))) (fun (acc : Prod (List ν) (List κ)) => All p acc.1) p - (fun a x hq ha => by - show All p (if LexLeanCollections.setContains a.2 (key x) then a else (LexLeanRuntime.append a.1 (x :: []), LexLeanCollections.setInsert a.2 (key x))).1 - cases LexLeanCollections.setContains a.2 (key x) with - | true => exact ha - | false => exact allAppend p a.1 (x :: []) ha (allSingle p x hq)) ns (([] : List ν), v) h All.nil - -public theorem searchStart {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) (frontier : List ν) (h : All ok frontier) : - SearchOk ok accept frontier none := - And.intro h True.intro - -public theorem peakBound (p len k : Nat) (hp : p <= k) (hl : len <= k) : (if Nat.blt p len then len else p) <= k := by - cases Nat.blt p len with - | false => exact hp - | true => exact hl - -public theorem iterateUntilInvariant {σ : Type} (step : σ -> Option σ) (p : σ -> Prop) (h : forall (a b : σ), step a = some b -> p a -> p b) : - forall (n : Nat) (a : σ), p a -> p (LexLeanCollections.iterateUntil step n a).1 := by - intro n - induction n with - | zero => exact fun _ ha => ha - | succ n ih => - intro a ha - show p (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 - cases e : step a with - | none => exact ha - | some b => exact ih b (h a b e ha) - -public theorem iterateUntilSimulate {σ τ : Type} (f : σ -> Option σ) (g : τ -> Option τ) (π : σ -> τ) - (hnone : forall (a : σ), f a = none -> g (π a) = none) - (hsome : forall (a b : σ), f a = some b -> g (π a) = some (π b)) : - forall (n : Nat) (a : σ), π (LexLeanCollections.iterateUntil f n a).1 = (LexLeanCollections.iterateUntil g n (π a)).1 /\ (LexLeanCollections.iterateUntil f n a).2 = (LexLeanCollections.iterateUntil g n (π a)).2 := by - intro n - induction n with - | zero => exact fun _ => And.intro rfl rfl - | succ n ih => - intro a - show π (match f a with | none => (a, true) | some next => LexLeanCollections.iterateUntil f n next).1 = (match g (π a) with | none => (π a, true) | some next => LexLeanCollections.iterateUntil g n next).1 /\ (match f a with | none => (a, true) | some next => LexLeanCollections.iterateUntil f n next).2 = (match g (π a) with | none => (π a, true) | some next => LexLeanCollections.iterateUntil g n next).2 - cases e : f a with - | none => rw [hnone a e]; exact And.intro rfl rfl - | some b => rw [hsome a b e]; exact ih b - -public theorem iterateUntilCount {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (h : forall (a b : σ), step a = some b -> c b = c a + 1) : - forall (n : Nat) (a : σ), c a = 0 -> c (LexLeanCollections.iterateUntil step n a).1 <= n := by - have general : forall (n : Nat) (a : σ), c (LexLeanCollections.iterateUntil step n a).1 <= c a + n := by - intro n - induction n with - | zero => exact fun a => Nat.le_refl (c a) - | succ n ih => - intro a - show c (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 <= c a + (n + 1) - cases e : step a with - | none => exact Nat.le_add_right (c a) (n + 1) - | some b => - have hb := ih b - rw [h a b e] at hb - rw [Nat.add_right_comm] at hb - exact (Nat.add_assoc (c a) n 1) ▸ (Nat.add_right_comm (c a) 1 n) ▸ hb - intro n a h0 - have hg := general n a - rw [h0, Nat.zero_add] at hg - exact hg - -public theorem iterateUntilGrowth {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (h : forall (a b : σ), step a = some b -> c b <= c a + 1) : - forall (n : Nat) (a : σ), c a = 0 -> c (LexLeanCollections.iterateUntil step n a).1 <= n := by - have general : forall (n : Nat) (a : σ), c (LexLeanCollections.iterateUntil step n a).1 <= c a + n := by - intro n - induction n with - | zero => exact fun a => Nat.le_refl (c a) - | succ n ih => - intro a - show c (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 <= c a + (n + 1) - cases e : step a with - | none => exact Nat.le_add_right (c a) (n + 1) - | some b => - have hb := Nat.le_trans (ih b) (Nat.add_le_add_right (h a b e) n) - rw [Nat.add_right_comm] at hb - exact hb - intro n a h0 - have hg := general n a - rw [h0, Nat.zero_add] at hg - exact hg - -public theorem iterateUntilStops {σ : Type} (step : σ -> Option σ) (p : σ -> Prop) (μ : σ -> Nat) - (h : forall (a b : σ), step a = some b -> p a -> p b /\ μ b < μ a) : - forall (n : Nat) (a : σ), p a -> μ a < n -> (LexLeanCollections.iterateUntil step n a).2 = true := by - intro n - induction n with - | zero => intro a _ hm; exact absurd hm (Nat.not_lt_zero (μ a)) - | succ n ih => - intro a ha hm - show (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).2 = true - cases e : step a with - | none => rfl - | some b => - have hb := h a b e ha - exact ih b hb.left (Nat.lt_of_lt_of_le hb.right (Nat.le_of_lt_succ hm)) - -public theorem iterateUntilBound {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (k : Nat) (h : forall (a b : σ), step a = some b -> c a <= k -> c b <= k) : - forall (n : Nat) (a : σ), c a <= k -> c (LexLeanCollections.iterateUntil step n a).1 <= k := - iterateUntilInvariant step (fun (a : σ) => c a <= k) h -public theorem noneSome {ρ : Type} {q : Prop} (v : ρ) (h : (none : Option ρ) = some v) : q := by - cases h - -public theorem zeroLe (n : Nat) : 0 <= n := - Nat.zero_le n - -public theorem bltSucc (a b : Nat) (h : Nat.blt a b = true) : a + 1 <= b := - Nat.le_of_ble_eq_true h - -end LexLeanReasoning - @[expose, reducible] public def Spent (T : Type) (s : (Prod (T) (Nat))) (t : (Prod (T) (Nat))) : Prop := (((t).1 = (s).1) /\ ((t).2 < (s).2)) @[expose] public def Remaining (T : Type) (s : (Prod (T) (Nat))) : Nat := (s).2 diff --git a/examples/reasoning/expected/build/modules/Reasoning/Clinic.lean b/examples/reasoning/expected/build/modules/Reasoning/Clinic.lean index 52bacdaec..df8336ba6 100644 --- a/examples/reasoning/expected/build/modules/Reasoning/Clinic.lean +++ b/examples/reasoning/expected/build/modules/Reasoning/Clinic.lean @@ -1,674 +1,14 @@ module public import Init +public import LexLeanRuntime.Portable +public import LexLeanRuntime.Collections +public import LexLeanRuntime.Reasoning set_option autoImplicit false set_option maxRecDepth 100000 set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace Reasoning.Clinic -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - -namespace LexLeanCollections - -public class Key (α : Type) where - compare : α -> α -> Ordering - -@[expose] public def compareCodes : List Char -> List Char -> Ordering - | [], [] => .eq - | [], _ :: _ => .lt - | _ :: _, [] => .gt - | left :: lefts, right :: rights => - match Ord.compare left.val.toNat right.val.toNat with - | .eq => compareCodes lefts rights - | other => other - -public instance : Key Nat where compare := Ord.compare -public instance : Key Int where compare := Ord.compare -public instance : Key Bool where compare := Ord.compare -public instance : Key Int8 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int16 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int32 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int64 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key UInt8 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt16 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt32 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt64 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key String where compare left right := compareCodes left.toList right.toList -public instance {α β : Type} [Key α] [Key β] : Key (Prod α β) where - compare left right := match Key.compare left.1 right.1 with - | .eq => Key.compare left.2 right.2 - | other => other - -@[expose] public def insertEntry {κ ν : Type} [Key κ] (key : κ) (value : ν) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [(key, value)] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (key, value) :: (other, stored) :: rest - | .eq => (key, value) :: rest - | .gt => (other, stored) :: insertEntry key value rest - -@[expose] public def removeEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (other, stored) :: rest - | .eq => rest - | .gt => (other, stored) :: removeEntry key rest - -@[expose] public def lookupEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> Option ν - | [] => none - | (other, stored) :: rest => match Key.compare key other with - | .lt => none - | .eq => some stored - | .gt => lookupEntry key rest - -@[expose] public def insertElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [key] - | other :: rest => match Key.compare key other with - | .lt => key :: other :: rest - | .eq => other :: rest - | .gt => other :: insertElement key rest - -@[expose] public def removeElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [] - | other :: rest => match Key.compare key other with - | .lt => other :: rest - | .eq => rest - | .gt => other :: removeElement key rest - -@[expose] public def containsElement {κ : Type} [Key κ] (key : κ) : List κ -> Bool - | [] => false - | other :: rest => match Key.compare key other with - | .lt => false - | .eq => true - | .gt => containsElement key rest - -@[expose] public def mapInsert {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) (value : ν) : List (Prod κ ν) := insertEntry key value map -@[expose] public def mapRemove {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : List (Prod κ ν) := removeEntry key map -@[expose] public def mapLookup {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Option ν := lookupEntry key map -@[expose] public def mapContains {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Bool := (lookupEntry key map).isSome -@[expose] public def mapSize {κ ν : Type} (map : List (Prod κ ν)) : Nat := map.length -@[expose] public def mapKeys {κ ν : Type} (map : List (Prod κ ν)) : List κ := map.map Prod.fst -@[expose] public def mapValues {κ ν : Type} (map : List (Prod κ ν)) : List ν := map.map Prod.snd -@[expose] public def mapEntries {κ ν : Type} (map : List (Prod κ ν)) : List (Prod κ ν) := map -@[expose] public def mapFold {κ ν β : Type} (step : β -> κ -> ν -> β) (initial : β) (map : List (Prod κ ν)) : β := - map.foldl (fun state entry => step state entry.1 entry.2) initial - -@[expose] public def setInsert {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := insertElement key set -@[expose] public def setRemove {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := removeElement key set -@[expose] public def setContains {κ : Type} [Key κ] (set : List κ) (key : κ) : Bool := containsElement key set -@[expose] public def setSize {κ : Type} (set : List κ) : Nat := set.length -@[expose] public def setElements {κ : Type} (set : List κ) : List κ := set -@[expose] public def setUnion {κ : Type} [Key κ] (left right : List κ) : List κ := right.foldl (fun acc key => insertElement key acc) left -@[expose] public def setIntersection {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => containsElement key right) -@[expose] public def setDifference {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => !containsElement key right) - -@[expose] public def graphSuccessors {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (node : κ) : List κ := - (lookupEntry node graph).getD [] - -@[expose] public def graphNodes {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : List κ := - graph.foldl (fun acc entry => entry.2.foldl (fun inner node => insertElement node inner) (insertElement entry.1 acc)) [] - -@[expose] public def reachableFrom {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> List κ - | 0, _, seen => seen - | Nat.succ fuel, frontier, seen => - let next := frontier.foldl (fun acc node => - (graphSuccessors graph node).foldl (fun acc2 succ => - if containsElement succ seen || containsElement succ acc2 then acc2 else insertElement succ acc2) acc) [] - match next with - | [] => seen - | _ => reachableFrom graph fuel next (next.foldl (fun acc key => insertElement key acc) seen) - -@[expose] public def graphReachable {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (start : κ) : List κ := - reachableFrom graph ((graphNodes graph).length + 1) [start] [start] - -@[expose] public def topological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> Option (List κ) - | 0, remaining, order => if remaining.isEmpty then some order.reverse else none - | Nat.succ fuel, remaining, order => - match remaining.filter (fun node => remaining.all (fun other => !containsElement node (graphSuccessors graph other))) with - | [] => if remaining.isEmpty then some order.reverse else none - | ready :: _ => topological graph fuel (removeElement ready remaining) (ready :: order) - -@[expose] public def graphTopological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Option (List κ) := - let nodes := graphNodes graph - topological graph (nodes.length + 1) nodes [] -@[expose] public def listFold {α σ : Type} (step : σ -> α -> σ) (initial : σ) (values : List α) : σ := - values.foldl step initial - -@[expose] public def setFold {κ σ : Type} (step : σ -> κ -> σ) (initial : σ) (set : List κ) : σ := - set.foldl step initial - -@[expose] public def iterate {σ : Type} (step : σ -> σ) : Nat -> σ -> σ - | 0, state => state - | Nat.succ count, state => iterate step count (step state) - -@[expose] public def iterateUntil {σ : Type} (step : σ -> Option σ) : Nat -> σ -> Prod σ Bool - | 0, state => (state, false) - | Nat.succ fuel, state => match step state with - | none => (state, true) - | some next => iterateUntil step fuel next - -@[expose] public def lessThan {κ : Type} [Key κ] (left right : κ) : Bool := - match Key.compare left right with - | .lt => true - | _ => false -end LexLeanCollections - -namespace LexLeanReasoning - -public inductive Star {σ : Type} (r : σ -> σ -> Prop) : σ -> σ -> Prop where - | refl (a : σ) : Star r a a - | tail (a b c : σ) : Star r a b -> r b c -> Star r a c - -public inductive All {α : Type} (p : α -> Prop) : List α -> Prop where - | nil : All p [] - | cons (a : α) (rest : List α) : p a -> All p rest -> All p (a :: rest) - -@[expose] public def Preserves {σ : Type} (r : σ -> σ -> Prop) (j : σ -> Prop) : Prop := - forall (s t : σ), j s -> r s t -> j t -@[expose] public def Sound {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), v a b = true -> p a b -@[expose] public def Complete {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), p a b -> v a b = true -@[expose] public def Reaches {σ ε : Type} (r : σ -> σ -> Prop) (a : σ) (acc : Except ε σ) : Prop := - forall (s : σ), acc = Except.ok s -> Star r a s -@[expose] public def Found {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) : Option (Prod ρ ν) -> Prop - | none => True - | some hit => ok hit.2 /\ accept hit.2 = some hit.1 -@[expose] public def SearchOk {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) (frontier : List ν) (found : Option (Prod ρ ν)) : Prop := - All ok frontier /\ Found ok accept found - -public theorem starPreserves {σ : Type} (r : σ -> σ -> Prop) (j : σ -> Prop) (h : Preserves r j) : - forall (a b : σ), Star r a b -> j a -> j b := by - intro a b hs - induction hs with - | refl => exact fun ha => ha - | tail y z _ hyz ih => exact fun ha => h y z (ih ha) hyz - -public theorem reachesStart {σ ε : Type} (r : σ -> σ -> Prop) (a : σ) : Reaches (ε := ε) r a (Except.ok a) := by - intro s e - cases e - exact Star.refl a - -public theorem guarded {σ : Type} (r : σ -> σ -> Prop) (s : σ) (g : Bool) (c : σ) (h : g = true -> r s c) (t : σ) : - (if g then some c else none) = some t -> r s t := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact h rfl - -public theorem guardedRank {σ : Type} (μ : σ -> Nat) (s : σ) (g : Bool) (c : σ) (h : g = true -> μ c < μ s) (t : σ) : - (if g then some c else none) = some t -> μ t < μ s := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact h rfl - -public theorem checked {ρ : Type} (g : Bool) (a b : ρ) : (if g then some a else none) = some b -> g = true /\ a = b := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact And.intro rfl rfl - -public theorem foldInvariant {σ α : Type} (f : σ -> α -> σ) (p : σ -> Prop) (h : forall (a : σ) (x : α), p a -> p (f a x)) : - forall (xs : List α) (a : σ), p a -> p (LexLeanCollections.listFold f a xs) := by - intro xs - induction xs with - | nil => exact fun _ ha => ha - | cons x rest ih => exact fun a ha => ih (f a x) (h a x ha) - -public theorem foldSnoc {σ α : Type} (f : σ -> α -> σ) (a : σ) (xs : List α) (y : α) : - LexLeanCollections.listFold f a (LexLeanRuntime.append xs (y :: [])) = f (LexLeanCollections.listFold f a xs) y := by - induction xs generalizing a with - | nil => rfl - | cons x rest ih => exact ih (f a x) - -public theorem allAppend {α : Type} (p : α -> Prop) : forall (xs ys : List α), All p xs -> All p ys -> All p (LexLeanRuntime.append xs ys) := by - intro xs - induction xs with - | nil => exact fun _ _ h => h - | cons x rest ih => - intro ys hx hy - cases hx with - | cons _ _ hp hr => exact All.cons x (LexLeanRuntime.append rest ys) hp (ih ys hr hy) - -public theorem allSingle {α : Type} (p : α -> Prop) (a : α) (h : p a) : All p (a :: []) := - All.cons a [] h All.nil - -public theorem allHead {α : Type} (p : α -> Prop) (a : α) (rest : List α) (h : All p (a :: rest)) : p a := by - cases h with - | cons _ _ hp _ => exact hp - -public theorem allTail {α : Type} (p : α -> Prop) (a : α) (rest : List α) (h : All p (a :: rest)) : All p rest := by - cases h with - | cons _ _ _ hr => exact hr - -public theorem allFold {σ α : Type} (f : σ -> α -> σ) (p : σ -> Prop) (q : α -> Prop) (h : forall (a : σ) (x : α), q x -> p a -> p (f a x)) : - forall (xs : List α) (a : σ), All q xs -> p a -> p (LexLeanCollections.listFold f a xs) := by - intro xs - induction xs with - | nil => exact fun _ _ ha => ha - | cons x rest ih => - intro a hx ha - cases hx with - | cons _ _ hq hr => exact ih (f a x) hr (h a x hq ha) - -public theorem capAll {α : Type} (p : α -> Prop) (k : Nat) (xs : List α) (h : All p xs) : - All p (LexLeanCollections.listFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) [] xs) := - allFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) (All p) p - (fun a x hq ha => by - show All p (if Nat.blt (LexLeanRuntime.length a) k then LexLeanRuntime.append a (x :: []) else a) - cases Nat.blt (LexLeanRuntime.length a) k with - | false => exact ha - | true => exact allAppend p a (x :: []) ha (allSingle p x hq)) xs [] h All.nil - -public theorem lengthSnoc {α : Type} (xs : List α) (y : α) : LexLeanRuntime.length (LexLeanRuntime.append xs (y :: [])) = LexLeanRuntime.length xs + 1 := by - induction xs with - | nil => rfl - | cons x rest ih => exact congrArg Nat.succ ih - -public theorem capBound {α : Type} (k : Nat) (xs : List α) : - LexLeanRuntime.length (LexLeanCollections.listFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) [] xs) <= k := - foldInvariant (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) (fun (acc : List α) => LexLeanRuntime.length acc <= k) - (fun a x ha => by - show LexLeanRuntime.length (if Nat.blt (LexLeanRuntime.length a) k then LexLeanRuntime.append a (x :: []) else a) <= k - cases e : Nat.blt (LexLeanRuntime.length a) k with - | false => exact ha - | true => - show LexLeanRuntime.length (LexLeanRuntime.append a (x :: [])) <= k - rw [lengthSnoc] - exact Nat.le_of_ble_eq_true e) xs [] (Nat.zero_le k) - -public theorem freshAll {ν κ : Type} [LexLeanCollections.Key κ] (key : ν -> κ) (p : ν -> Prop) (v : List κ) (ns : List ν) (h : All p ns) : - All p (LexLeanCollections.listFold (fun (acc : Prod (List ν) (List κ)) (n : ν) => if LexLeanCollections.setContains acc.2 (key n) then acc else (LexLeanRuntime.append acc.1 (n :: []), LexLeanCollections.setInsert acc.2 (key n))) (([] : List ν), v) ns).1 := - allFold (fun (acc : Prod (List ν) (List κ)) (n : ν) => if LexLeanCollections.setContains acc.2 (key n) then acc else (LexLeanRuntime.append acc.1 (n :: []), LexLeanCollections.setInsert acc.2 (key n))) (fun (acc : Prod (List ν) (List κ)) => All p acc.1) p - (fun a x hq ha => by - show All p (if LexLeanCollections.setContains a.2 (key x) then a else (LexLeanRuntime.append a.1 (x :: []), LexLeanCollections.setInsert a.2 (key x))).1 - cases LexLeanCollections.setContains a.2 (key x) with - | true => exact ha - | false => exact allAppend p a.1 (x :: []) ha (allSingle p x hq)) ns (([] : List ν), v) h All.nil - -public theorem searchStart {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) (frontier : List ν) (h : All ok frontier) : - SearchOk ok accept frontier none := - And.intro h True.intro - -public theorem peakBound (p len k : Nat) (hp : p <= k) (hl : len <= k) : (if Nat.blt p len then len else p) <= k := by - cases Nat.blt p len with - | false => exact hp - | true => exact hl - -public theorem iterateUntilInvariant {σ : Type} (step : σ -> Option σ) (p : σ -> Prop) (h : forall (a b : σ), step a = some b -> p a -> p b) : - forall (n : Nat) (a : σ), p a -> p (LexLeanCollections.iterateUntil step n a).1 := by - intro n - induction n with - | zero => exact fun _ ha => ha - | succ n ih => - intro a ha - show p (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 - cases e : step a with - | none => exact ha - | some b => exact ih b (h a b e ha) - -public theorem iterateUntilSimulate {σ τ : Type} (f : σ -> Option σ) (g : τ -> Option τ) (π : σ -> τ) - (hnone : forall (a : σ), f a = none -> g (π a) = none) - (hsome : forall (a b : σ), f a = some b -> g (π a) = some (π b)) : - forall (n : Nat) (a : σ), π (LexLeanCollections.iterateUntil f n a).1 = (LexLeanCollections.iterateUntil g n (π a)).1 /\ (LexLeanCollections.iterateUntil f n a).2 = (LexLeanCollections.iterateUntil g n (π a)).2 := by - intro n - induction n with - | zero => exact fun _ => And.intro rfl rfl - | succ n ih => - intro a - show π (match f a with | none => (a, true) | some next => LexLeanCollections.iterateUntil f n next).1 = (match g (π a) with | none => (π a, true) | some next => LexLeanCollections.iterateUntil g n next).1 /\ (match f a with | none => (a, true) | some next => LexLeanCollections.iterateUntil f n next).2 = (match g (π a) with | none => (π a, true) | some next => LexLeanCollections.iterateUntil g n next).2 - cases e : f a with - | none => rw [hnone a e]; exact And.intro rfl rfl - | some b => rw [hsome a b e]; exact ih b - -public theorem iterateUntilCount {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (h : forall (a b : σ), step a = some b -> c b = c a + 1) : - forall (n : Nat) (a : σ), c a = 0 -> c (LexLeanCollections.iterateUntil step n a).1 <= n := by - have general : forall (n : Nat) (a : σ), c (LexLeanCollections.iterateUntil step n a).1 <= c a + n := by - intro n - induction n with - | zero => exact fun a => Nat.le_refl (c a) - | succ n ih => - intro a - show c (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 <= c a + (n + 1) - cases e : step a with - | none => exact Nat.le_add_right (c a) (n + 1) - | some b => - have hb := ih b - rw [h a b e] at hb - rw [Nat.add_right_comm] at hb - exact (Nat.add_assoc (c a) n 1) ▸ (Nat.add_right_comm (c a) 1 n) ▸ hb - intro n a h0 - have hg := general n a - rw [h0, Nat.zero_add] at hg - exact hg - -public theorem iterateUntilGrowth {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (h : forall (a b : σ), step a = some b -> c b <= c a + 1) : - forall (n : Nat) (a : σ), c a = 0 -> c (LexLeanCollections.iterateUntil step n a).1 <= n := by - have general : forall (n : Nat) (a : σ), c (LexLeanCollections.iterateUntil step n a).1 <= c a + n := by - intro n - induction n with - | zero => exact fun a => Nat.le_refl (c a) - | succ n ih => - intro a - show c (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 <= c a + (n + 1) - cases e : step a with - | none => exact Nat.le_add_right (c a) (n + 1) - | some b => - have hb := Nat.le_trans (ih b) (Nat.add_le_add_right (h a b e) n) - rw [Nat.add_right_comm] at hb - exact hb - intro n a h0 - have hg := general n a - rw [h0, Nat.zero_add] at hg - exact hg - -public theorem iterateUntilStops {σ : Type} (step : σ -> Option σ) (p : σ -> Prop) (μ : σ -> Nat) - (h : forall (a b : σ), step a = some b -> p a -> p b /\ μ b < μ a) : - forall (n : Nat) (a : σ), p a -> μ a < n -> (LexLeanCollections.iterateUntil step n a).2 = true := by - intro n - induction n with - | zero => intro a _ hm; exact absurd hm (Nat.not_lt_zero (μ a)) - | succ n ih => - intro a ha hm - show (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).2 = true - cases e : step a with - | none => rfl - | some b => - have hb := h a b e ha - exact ih b hb.left (Nat.lt_of_lt_of_le hb.right (Nat.le_of_lt_succ hm)) - -public theorem iterateUntilBound {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (k : Nat) (h : forall (a b : σ), step a = some b -> c a <= k -> c b <= k) : - forall (n : Nat) (a : σ), c a <= k -> c (LexLeanCollections.iterateUntil step n a).1 <= k := - iterateUntilInvariant step (fun (a : σ) => c a <= k) h -public theorem noneSome {ρ : Type} {q : Prop} (v : ρ) (h : (none : Option ρ) = some v) : q := by - cases h - -public theorem zeroLe (n : Nat) : 0 <= n := - Nat.zero_le n - -public theorem bltSucc (a b : Nat) (h : Nat.blt a b = true) : a + 1 <= b := - Nat.le_of_ble_eq_true h - -end LexLeanReasoning - public structure Vitals where temperature : Nat heartRate : Nat diff --git a/examples/reasoning/expected/build/modules/Reasoning/Main.lean b/examples/reasoning/expected/build/modules/Reasoning/Main.lean index 9601c87c3..e0aa25b49 100644 --- a/examples/reasoning/expected/build/modules/Reasoning/Main.lean +++ b/examples/reasoning/expected/build/modules/Reasoning/Main.lean @@ -1,5 +1,9 @@ module public import Init +public import LexLeanRuntime.Portable +public import LexLeanRuntime.Collections +public import LexLeanRuntime.Models +public import LexLeanRuntime.Reasoning public import Reasoning.Budget public import Reasoning.Clinic public import Reasoning.Planner @@ -10,739 +14,6 @@ set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace Reasoning.Main -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - -namespace LexLeanCollections - -public class Key (α : Type) where - compare : α -> α -> Ordering - -@[expose] public def compareCodes : List Char -> List Char -> Ordering - | [], [] => .eq - | [], _ :: _ => .lt - | _ :: _, [] => .gt - | left :: lefts, right :: rights => - match Ord.compare left.val.toNat right.val.toNat with - | .eq => compareCodes lefts rights - | other => other - -public instance : Key Nat where compare := Ord.compare -public instance : Key Int where compare := Ord.compare -public instance : Key Bool where compare := Ord.compare -public instance : Key Int8 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int16 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int32 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int64 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key UInt8 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt16 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt32 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt64 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key String where compare left right := compareCodes left.toList right.toList -public instance {α β : Type} [Key α] [Key β] : Key (Prod α β) where - compare left right := match Key.compare left.1 right.1 with - | .eq => Key.compare left.2 right.2 - | other => other - -@[expose] public def insertEntry {κ ν : Type} [Key κ] (key : κ) (value : ν) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [(key, value)] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (key, value) :: (other, stored) :: rest - | .eq => (key, value) :: rest - | .gt => (other, stored) :: insertEntry key value rest - -@[expose] public def removeEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (other, stored) :: rest - | .eq => rest - | .gt => (other, stored) :: removeEntry key rest - -@[expose] public def lookupEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> Option ν - | [] => none - | (other, stored) :: rest => match Key.compare key other with - | .lt => none - | .eq => some stored - | .gt => lookupEntry key rest - -@[expose] public def insertElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [key] - | other :: rest => match Key.compare key other with - | .lt => key :: other :: rest - | .eq => other :: rest - | .gt => other :: insertElement key rest - -@[expose] public def removeElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [] - | other :: rest => match Key.compare key other with - | .lt => other :: rest - | .eq => rest - | .gt => other :: removeElement key rest - -@[expose] public def containsElement {κ : Type} [Key κ] (key : κ) : List κ -> Bool - | [] => false - | other :: rest => match Key.compare key other with - | .lt => false - | .eq => true - | .gt => containsElement key rest - -@[expose] public def mapInsert {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) (value : ν) : List (Prod κ ν) := insertEntry key value map -@[expose] public def mapRemove {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : List (Prod κ ν) := removeEntry key map -@[expose] public def mapLookup {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Option ν := lookupEntry key map -@[expose] public def mapContains {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Bool := (lookupEntry key map).isSome -@[expose] public def mapSize {κ ν : Type} (map : List (Prod κ ν)) : Nat := map.length -@[expose] public def mapKeys {κ ν : Type} (map : List (Prod κ ν)) : List κ := map.map Prod.fst -@[expose] public def mapValues {κ ν : Type} (map : List (Prod κ ν)) : List ν := map.map Prod.snd -@[expose] public def mapEntries {κ ν : Type} (map : List (Prod κ ν)) : List (Prod κ ν) := map -@[expose] public def mapFold {κ ν β : Type} (step : β -> κ -> ν -> β) (initial : β) (map : List (Prod κ ν)) : β := - map.foldl (fun state entry => step state entry.1 entry.2) initial - -@[expose] public def setInsert {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := insertElement key set -@[expose] public def setRemove {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := removeElement key set -@[expose] public def setContains {κ : Type} [Key κ] (set : List κ) (key : κ) : Bool := containsElement key set -@[expose] public def setSize {κ : Type} (set : List κ) : Nat := set.length -@[expose] public def setElements {κ : Type} (set : List κ) : List κ := set -@[expose] public def setUnion {κ : Type} [Key κ] (left right : List κ) : List κ := right.foldl (fun acc key => insertElement key acc) left -@[expose] public def setIntersection {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => containsElement key right) -@[expose] public def setDifference {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => !containsElement key right) - -@[expose] public def graphSuccessors {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (node : κ) : List κ := - (lookupEntry node graph).getD [] - -@[expose] public def graphNodes {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : List κ := - graph.foldl (fun acc entry => entry.2.foldl (fun inner node => insertElement node inner) (insertElement entry.1 acc)) [] - -@[expose] public def reachableFrom {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> List κ - | 0, _, seen => seen - | Nat.succ fuel, frontier, seen => - let next := frontier.foldl (fun acc node => - (graphSuccessors graph node).foldl (fun acc2 succ => - if containsElement succ seen || containsElement succ acc2 then acc2 else insertElement succ acc2) acc) [] - match next with - | [] => seen - | _ => reachableFrom graph fuel next (next.foldl (fun acc key => insertElement key acc) seen) - -@[expose] public def graphReachable {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (start : κ) : List κ := - reachableFrom graph ((graphNodes graph).length + 1) [start] [start] - -@[expose] public def topological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> Option (List κ) - | 0, remaining, order => if remaining.isEmpty then some order.reverse else none - | Nat.succ fuel, remaining, order => - match remaining.filter (fun node => remaining.all (fun other => !containsElement node (graphSuccessors graph other))) with - | [] => if remaining.isEmpty then some order.reverse else none - | ready :: _ => topological graph fuel (removeElement ready remaining) (ready :: order) - -@[expose] public def graphTopological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Option (List κ) := - let nodes := graphNodes graph - topological graph (nodes.length + 1) nodes [] -@[expose] public def listFold {α σ : Type} (step : σ -> α -> σ) (initial : σ) (values : List α) : σ := - values.foldl step initial - -@[expose] public def setFold {κ σ : Type} (step : σ -> κ -> σ) (initial : σ) (set : List κ) : σ := - set.foldl step initial - -@[expose] public def iterate {σ : Type} (step : σ -> σ) : Nat -> σ -> σ - | 0, state => state - | Nat.succ count, state => iterate step count (step state) - -@[expose] public def iterateUntil {σ : Type} (step : σ -> Option σ) : Nat -> σ -> Prod σ Bool - | 0, state => (state, false) - | Nat.succ fuel, state => match step state with - | none => (state, true) - | some next => iterateUntil step fuel next - -@[expose] public def lessThan {κ : Type} [Key κ] (left right : κ) : Bool := - match Key.compare left right with - | .lt => true - | _ => false -end LexLeanCollections - -namespace LexLeanModels - -@[expose] public def Sound1 {α : Type} (v : α -> Bool) (p : α -> Prop) : Prop := - forall (a : α), v a = true -> p a -@[expose] public def Sound2 {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), v a b = true -> p a b -@[expose] public def Sound4 {α β γ δ : Type} (v : α -> β -> γ -> δ -> Bool) (p : α -> β -> γ -> δ -> Prop) : Prop := - forall (a : α) (b : β) (c : γ) (d : δ), v a b c d = true -> p a b c d -@[expose] public def Complete1 {α : Type} (v : α -> Bool) (p : α -> Prop) : Prop := - forall (a : α), p a -> v a = true -@[expose] public def Complete2 {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), p a b -> v a b = true -@[expose] public def Complete4 {α β γ δ : Type} (v : α -> β -> γ -> δ -> Bool) (p : α -> β -> γ -> δ -> Prop) : Prop := - forall (a : α) (b : β) (c : γ) (d : δ), p a b c d -> v a b c d = true - -@[expose] public def Satisfies {α β : Type} (p : α -> Prop) (q : α -> β -> Prop) (r : α -> β) : Prop := - forall (a : α), p a -> q a (r a) -@[expose] public def SatisfiesTotal {α β : Type} (q : α -> β -> Prop) (r : α -> β) : Prop := - forall (a : α), q a (r a) -@[expose] public def SatisfiesStep {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepNoInvariant {σ α β : Type} (p : σ -> α -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), p s a -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepNoPrecondition {σ α β : Type} (j : σ -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepTotal {σ α β : Type} (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), q s a (r s a).1 (r s a).2 -@[expose] public def Preserves {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> j (r s a).1 -@[expose] public def PreservesTotal {σ α β : Type} (j : σ -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> j (r s a).1 -@[expose] public def Initial {σ : Type} (j : σ -> Prop) (i : σ) : Prop := - j i -@[expose] public def Equivalent {α β : Type} (p : α -> Prop) (r f : α -> β) : Prop := - forall (a : α), p a -> r a = f a -@[expose] public def EquivalentTotal {α β : Type} (r f : α -> β) : Prop := - forall (a : α), r a = f a -@[expose] public def EquivalentStep {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> r s a = f s a -@[expose] public def EquivalentStepNoInvariant {σ α β : Type} (p : σ -> α -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), p s a -> r s a = f s a -@[expose] public def EquivalentStepNoPrecondition {σ α β : Type} (j : σ -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> r s a = f s a -@[expose] public def EquivalentStepTotal {σ α β : Type} (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), r s a = f s a -@[expose, reducible] public def Agreement {α β : Type} (r : α -> β) (cmp : β -> β -> Bool) (d : List (Prod α β)) (examples agreements : Nat) : Prop := - d.length = examples /\ d.foldl (fun c e => if cmp (r e.1) e.2 then c + 1 else c) 0 = agreements - -@[expose] public def inRange (width : Nat) (signed : Bool) (value : Int) : Bool := - if signed then - decide (-((2 : Int) ^ (8 * width - 1)) <= value) && decide (value < (2 : Int) ^ (8 * width - 1)) - else - decide (0 <= value) && decide (value < (2 : Int) ^ (8 * width)) -@[expose] public def encodeInt (width : Nat) (value : Int) : List Nat := - let unsigned := if value < 0 then value + (2 : Int) ^ (8 * width) else value - (List.range width).map (fun i => (unsigned.toNat / 256 ^ i) % 256) -@[expose] public def tensorMatches (width : Nat) (signed : Bool) (values : List Int) (bytes : ByteArray) : Bool := - values.all (inRange width signed) && values.flatMap (encodeInt width) == bytes.data.toList.map UInt8.toNat -@[expose] public def utf8Char (c : Char) : List Nat := - let n := c.toNat - if n < 128 then [n] - else if n < 2048 then [192 + n / 64, 128 + n % 64] - else if n < 65536 then [224 + n / 4096, 128 + (n / 64) % 64, 128 + n % 64] - else [240 + n / 262144, 128 + (n / 4096) % 64, 128 + (n / 64) % 64, 128 + n % 64] -@[expose] public def linesMatch (lines : List String) (bytes : ByteArray) : Bool := - lines.all (fun line => line.toList.all (fun c => c.toNat != 10 && c.toNat != 13)) && - lines.foldr (fun line rest => line.toList.foldr (fun c tail => utf8Char c ++ tail) [10] ++ rest) [] == - bytes.data.toList.map UInt8.toNat -end LexLeanModels - -namespace LexLeanReasoning - -public inductive Star {σ : Type} (r : σ -> σ -> Prop) : σ -> σ -> Prop where - | refl (a : σ) : Star r a a - | tail (a b c : σ) : Star r a b -> r b c -> Star r a c - -public inductive All {α : Type} (p : α -> Prop) : List α -> Prop where - | nil : All p [] - | cons (a : α) (rest : List α) : p a -> All p rest -> All p (a :: rest) - -@[expose] public def Preserves {σ : Type} (r : σ -> σ -> Prop) (j : σ -> Prop) : Prop := - forall (s t : σ), j s -> r s t -> j t -@[expose] public def Sound {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), v a b = true -> p a b -@[expose] public def Complete {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), p a b -> v a b = true -@[expose] public def Reaches {σ ε : Type} (r : σ -> σ -> Prop) (a : σ) (acc : Except ε σ) : Prop := - forall (s : σ), acc = Except.ok s -> Star r a s -@[expose] public def Found {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) : Option (Prod ρ ν) -> Prop - | none => True - | some hit => ok hit.2 /\ accept hit.2 = some hit.1 -@[expose] public def SearchOk {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) (frontier : List ν) (found : Option (Prod ρ ν)) : Prop := - All ok frontier /\ Found ok accept found - -public theorem starPreserves {σ : Type} (r : σ -> σ -> Prop) (j : σ -> Prop) (h : Preserves r j) : - forall (a b : σ), Star r a b -> j a -> j b := by - intro a b hs - induction hs with - | refl => exact fun ha => ha - | tail y z _ hyz ih => exact fun ha => h y z (ih ha) hyz - -public theorem reachesStart {σ ε : Type} (r : σ -> σ -> Prop) (a : σ) : Reaches (ε := ε) r a (Except.ok a) := by - intro s e - cases e - exact Star.refl a - -public theorem guarded {σ : Type} (r : σ -> σ -> Prop) (s : σ) (g : Bool) (c : σ) (h : g = true -> r s c) (t : σ) : - (if g then some c else none) = some t -> r s t := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact h rfl - -public theorem guardedRank {σ : Type} (μ : σ -> Nat) (s : σ) (g : Bool) (c : σ) (h : g = true -> μ c < μ s) (t : σ) : - (if g then some c else none) = some t -> μ t < μ s := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact h rfl - -public theorem checked {ρ : Type} (g : Bool) (a b : ρ) : (if g then some a else none) = some b -> g = true /\ a = b := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact And.intro rfl rfl - -public theorem foldInvariant {σ α : Type} (f : σ -> α -> σ) (p : σ -> Prop) (h : forall (a : σ) (x : α), p a -> p (f a x)) : - forall (xs : List α) (a : σ), p a -> p (LexLeanCollections.listFold f a xs) := by - intro xs - induction xs with - | nil => exact fun _ ha => ha - | cons x rest ih => exact fun a ha => ih (f a x) (h a x ha) - -public theorem foldSnoc {σ α : Type} (f : σ -> α -> σ) (a : σ) (xs : List α) (y : α) : - LexLeanCollections.listFold f a (LexLeanRuntime.append xs (y :: [])) = f (LexLeanCollections.listFold f a xs) y := by - induction xs generalizing a with - | nil => rfl - | cons x rest ih => exact ih (f a x) - -public theorem allAppend {α : Type} (p : α -> Prop) : forall (xs ys : List α), All p xs -> All p ys -> All p (LexLeanRuntime.append xs ys) := by - intro xs - induction xs with - | nil => exact fun _ _ h => h - | cons x rest ih => - intro ys hx hy - cases hx with - | cons _ _ hp hr => exact All.cons x (LexLeanRuntime.append rest ys) hp (ih ys hr hy) - -public theorem allSingle {α : Type} (p : α -> Prop) (a : α) (h : p a) : All p (a :: []) := - All.cons a [] h All.nil - -public theorem allHead {α : Type} (p : α -> Prop) (a : α) (rest : List α) (h : All p (a :: rest)) : p a := by - cases h with - | cons _ _ hp _ => exact hp - -public theorem allTail {α : Type} (p : α -> Prop) (a : α) (rest : List α) (h : All p (a :: rest)) : All p rest := by - cases h with - | cons _ _ _ hr => exact hr - -public theorem allFold {σ α : Type} (f : σ -> α -> σ) (p : σ -> Prop) (q : α -> Prop) (h : forall (a : σ) (x : α), q x -> p a -> p (f a x)) : - forall (xs : List α) (a : σ), All q xs -> p a -> p (LexLeanCollections.listFold f a xs) := by - intro xs - induction xs with - | nil => exact fun _ _ ha => ha - | cons x rest ih => - intro a hx ha - cases hx with - | cons _ _ hq hr => exact ih (f a x) hr (h a x hq ha) - -public theorem capAll {α : Type} (p : α -> Prop) (k : Nat) (xs : List α) (h : All p xs) : - All p (LexLeanCollections.listFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) [] xs) := - allFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) (All p) p - (fun a x hq ha => by - show All p (if Nat.blt (LexLeanRuntime.length a) k then LexLeanRuntime.append a (x :: []) else a) - cases Nat.blt (LexLeanRuntime.length a) k with - | false => exact ha - | true => exact allAppend p a (x :: []) ha (allSingle p x hq)) xs [] h All.nil - -public theorem lengthSnoc {α : Type} (xs : List α) (y : α) : LexLeanRuntime.length (LexLeanRuntime.append xs (y :: [])) = LexLeanRuntime.length xs + 1 := by - induction xs with - | nil => rfl - | cons x rest ih => exact congrArg Nat.succ ih - -public theorem capBound {α : Type} (k : Nat) (xs : List α) : - LexLeanRuntime.length (LexLeanCollections.listFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) [] xs) <= k := - foldInvariant (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) (fun (acc : List α) => LexLeanRuntime.length acc <= k) - (fun a x ha => by - show LexLeanRuntime.length (if Nat.blt (LexLeanRuntime.length a) k then LexLeanRuntime.append a (x :: []) else a) <= k - cases e : Nat.blt (LexLeanRuntime.length a) k with - | false => exact ha - | true => - show LexLeanRuntime.length (LexLeanRuntime.append a (x :: [])) <= k - rw [lengthSnoc] - exact Nat.le_of_ble_eq_true e) xs [] (Nat.zero_le k) - -public theorem freshAll {ν κ : Type} [LexLeanCollections.Key κ] (key : ν -> κ) (p : ν -> Prop) (v : List κ) (ns : List ν) (h : All p ns) : - All p (LexLeanCollections.listFold (fun (acc : Prod (List ν) (List κ)) (n : ν) => if LexLeanCollections.setContains acc.2 (key n) then acc else (LexLeanRuntime.append acc.1 (n :: []), LexLeanCollections.setInsert acc.2 (key n))) (([] : List ν), v) ns).1 := - allFold (fun (acc : Prod (List ν) (List κ)) (n : ν) => if LexLeanCollections.setContains acc.2 (key n) then acc else (LexLeanRuntime.append acc.1 (n :: []), LexLeanCollections.setInsert acc.2 (key n))) (fun (acc : Prod (List ν) (List κ)) => All p acc.1) p - (fun a x hq ha => by - show All p (if LexLeanCollections.setContains a.2 (key x) then a else (LexLeanRuntime.append a.1 (x :: []), LexLeanCollections.setInsert a.2 (key x))).1 - cases LexLeanCollections.setContains a.2 (key x) with - | true => exact ha - | false => exact allAppend p a.1 (x :: []) ha (allSingle p x hq)) ns (([] : List ν), v) h All.nil - -public theorem searchStart {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) (frontier : List ν) (h : All ok frontier) : - SearchOk ok accept frontier none := - And.intro h True.intro - -public theorem peakBound (p len k : Nat) (hp : p <= k) (hl : len <= k) : (if Nat.blt p len then len else p) <= k := by - cases Nat.blt p len with - | false => exact hp - | true => exact hl - -public theorem iterateUntilInvariant {σ : Type} (step : σ -> Option σ) (p : σ -> Prop) (h : forall (a b : σ), step a = some b -> p a -> p b) : - forall (n : Nat) (a : σ), p a -> p (LexLeanCollections.iterateUntil step n a).1 := by - intro n - induction n with - | zero => exact fun _ ha => ha - | succ n ih => - intro a ha - show p (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 - cases e : step a with - | none => exact ha - | some b => exact ih b (h a b e ha) - -public theorem iterateUntilSimulate {σ τ : Type} (f : σ -> Option σ) (g : τ -> Option τ) (π : σ -> τ) - (hnone : forall (a : σ), f a = none -> g (π a) = none) - (hsome : forall (a b : σ), f a = some b -> g (π a) = some (π b)) : - forall (n : Nat) (a : σ), π (LexLeanCollections.iterateUntil f n a).1 = (LexLeanCollections.iterateUntil g n (π a)).1 /\ (LexLeanCollections.iterateUntil f n a).2 = (LexLeanCollections.iterateUntil g n (π a)).2 := by - intro n - induction n with - | zero => exact fun _ => And.intro rfl rfl - | succ n ih => - intro a - show π (match f a with | none => (a, true) | some next => LexLeanCollections.iterateUntil f n next).1 = (match g (π a) with | none => (π a, true) | some next => LexLeanCollections.iterateUntil g n next).1 /\ (match f a with | none => (a, true) | some next => LexLeanCollections.iterateUntil f n next).2 = (match g (π a) with | none => (π a, true) | some next => LexLeanCollections.iterateUntil g n next).2 - cases e : f a with - | none => rw [hnone a e]; exact And.intro rfl rfl - | some b => rw [hsome a b e]; exact ih b - -public theorem iterateUntilCount {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (h : forall (a b : σ), step a = some b -> c b = c a + 1) : - forall (n : Nat) (a : σ), c a = 0 -> c (LexLeanCollections.iterateUntil step n a).1 <= n := by - have general : forall (n : Nat) (a : σ), c (LexLeanCollections.iterateUntil step n a).1 <= c a + n := by - intro n - induction n with - | zero => exact fun a => Nat.le_refl (c a) - | succ n ih => - intro a - show c (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 <= c a + (n + 1) - cases e : step a with - | none => exact Nat.le_add_right (c a) (n + 1) - | some b => - have hb := ih b - rw [h a b e] at hb - rw [Nat.add_right_comm] at hb - exact (Nat.add_assoc (c a) n 1) ▸ (Nat.add_right_comm (c a) 1 n) ▸ hb - intro n a h0 - have hg := general n a - rw [h0, Nat.zero_add] at hg - exact hg - -public theorem iterateUntilGrowth {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (h : forall (a b : σ), step a = some b -> c b <= c a + 1) : - forall (n : Nat) (a : σ), c a = 0 -> c (LexLeanCollections.iterateUntil step n a).1 <= n := by - have general : forall (n : Nat) (a : σ), c (LexLeanCollections.iterateUntil step n a).1 <= c a + n := by - intro n - induction n with - | zero => exact fun a => Nat.le_refl (c a) - | succ n ih => - intro a - show c (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 <= c a + (n + 1) - cases e : step a with - | none => exact Nat.le_add_right (c a) (n + 1) - | some b => - have hb := Nat.le_trans (ih b) (Nat.add_le_add_right (h a b e) n) - rw [Nat.add_right_comm] at hb - exact hb - intro n a h0 - have hg := general n a - rw [h0, Nat.zero_add] at hg - exact hg - -public theorem iterateUntilStops {σ : Type} (step : σ -> Option σ) (p : σ -> Prop) (μ : σ -> Nat) - (h : forall (a b : σ), step a = some b -> p a -> p b /\ μ b < μ a) : - forall (n : Nat) (a : σ), p a -> μ a < n -> (LexLeanCollections.iterateUntil step n a).2 = true := by - intro n - induction n with - | zero => intro a _ hm; exact absurd hm (Nat.not_lt_zero (μ a)) - | succ n ih => - intro a ha hm - show (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).2 = true - cases e : step a with - | none => rfl - | some b => - have hb := h a b e ha - exact ih b hb.left (Nat.lt_of_lt_of_le hb.right (Nat.le_of_lt_succ hm)) - -public theorem iterateUntilBound {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (k : Nat) (h : forall (a b : σ), step a = some b -> c a <= k -> c b <= k) : - forall (n : Nat) (a : σ), c a <= k -> c (LexLeanCollections.iterateUntil step n a).1 <= k := - iterateUntilInvariant step (fun (a : σ) => c a <= k) h -public theorem noneSome {ρ : Type} {q : Prop} (v : ρ) (h : (none : Option ρ) = some v) : q := by - cases h - -public theorem zeroLe (n : Nat) : 0 <= n := - Nat.zero_le n - -public theorem bltSucc (a b : Nat) (h : Nat.blt a b = true) : a + 1 <= b := - Nat.le_of_ble_eq_true h - -end LexLeanReasoning - @[expose, reducible] public def Guaranteed (v : Reasoning.Clinic.Vitals) (o : Except ((Prod Bool Bool)) (Nat)) : Prop := (forall (r : Nat), ((o = Except.ok (r)) -> Reasoning.Clinic.Indicated (v) (r))) diff --git a/examples/reasoning/expected/build/modules/Reasoning/Planner.lean b/examples/reasoning/expected/build/modules/Reasoning/Planner.lean index 40dcd220b..c55a9197f 100644 --- a/examples/reasoning/expected/build/modules/Reasoning/Planner.lean +++ b/examples/reasoning/expected/build/modules/Reasoning/Planner.lean @@ -1,674 +1,14 @@ module public import Init +public import LexLeanRuntime.Portable +public import LexLeanRuntime.Collections +public import LexLeanRuntime.Reasoning set_option autoImplicit false set_option maxRecDepth 100000 set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace Reasoning.Planner -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - -namespace LexLeanCollections - -public class Key (α : Type) where - compare : α -> α -> Ordering - -@[expose] public def compareCodes : List Char -> List Char -> Ordering - | [], [] => .eq - | [], _ :: _ => .lt - | _ :: _, [] => .gt - | left :: lefts, right :: rights => - match Ord.compare left.val.toNat right.val.toNat with - | .eq => compareCodes lefts rights - | other => other - -public instance : Key Nat where compare := Ord.compare -public instance : Key Int where compare := Ord.compare -public instance : Key Bool where compare := Ord.compare -public instance : Key Int8 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int16 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int32 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int64 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key UInt8 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt16 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt32 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt64 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key String where compare left right := compareCodes left.toList right.toList -public instance {α β : Type} [Key α] [Key β] : Key (Prod α β) where - compare left right := match Key.compare left.1 right.1 with - | .eq => Key.compare left.2 right.2 - | other => other - -@[expose] public def insertEntry {κ ν : Type} [Key κ] (key : κ) (value : ν) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [(key, value)] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (key, value) :: (other, stored) :: rest - | .eq => (key, value) :: rest - | .gt => (other, stored) :: insertEntry key value rest - -@[expose] public def removeEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (other, stored) :: rest - | .eq => rest - | .gt => (other, stored) :: removeEntry key rest - -@[expose] public def lookupEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> Option ν - | [] => none - | (other, stored) :: rest => match Key.compare key other with - | .lt => none - | .eq => some stored - | .gt => lookupEntry key rest - -@[expose] public def insertElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [key] - | other :: rest => match Key.compare key other with - | .lt => key :: other :: rest - | .eq => other :: rest - | .gt => other :: insertElement key rest - -@[expose] public def removeElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [] - | other :: rest => match Key.compare key other with - | .lt => other :: rest - | .eq => rest - | .gt => other :: removeElement key rest - -@[expose] public def containsElement {κ : Type} [Key κ] (key : κ) : List κ -> Bool - | [] => false - | other :: rest => match Key.compare key other with - | .lt => false - | .eq => true - | .gt => containsElement key rest - -@[expose] public def mapInsert {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) (value : ν) : List (Prod κ ν) := insertEntry key value map -@[expose] public def mapRemove {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : List (Prod κ ν) := removeEntry key map -@[expose] public def mapLookup {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Option ν := lookupEntry key map -@[expose] public def mapContains {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Bool := (lookupEntry key map).isSome -@[expose] public def mapSize {κ ν : Type} (map : List (Prod κ ν)) : Nat := map.length -@[expose] public def mapKeys {κ ν : Type} (map : List (Prod κ ν)) : List κ := map.map Prod.fst -@[expose] public def mapValues {κ ν : Type} (map : List (Prod κ ν)) : List ν := map.map Prod.snd -@[expose] public def mapEntries {κ ν : Type} (map : List (Prod κ ν)) : List (Prod κ ν) := map -@[expose] public def mapFold {κ ν β : Type} (step : β -> κ -> ν -> β) (initial : β) (map : List (Prod κ ν)) : β := - map.foldl (fun state entry => step state entry.1 entry.2) initial - -@[expose] public def setInsert {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := insertElement key set -@[expose] public def setRemove {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := removeElement key set -@[expose] public def setContains {κ : Type} [Key κ] (set : List κ) (key : κ) : Bool := containsElement key set -@[expose] public def setSize {κ : Type} (set : List κ) : Nat := set.length -@[expose] public def setElements {κ : Type} (set : List κ) : List κ := set -@[expose] public def setUnion {κ : Type} [Key κ] (left right : List κ) : List κ := right.foldl (fun acc key => insertElement key acc) left -@[expose] public def setIntersection {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => containsElement key right) -@[expose] public def setDifference {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => !containsElement key right) - -@[expose] public def graphSuccessors {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (node : κ) : List κ := - (lookupEntry node graph).getD [] - -@[expose] public def graphNodes {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : List κ := - graph.foldl (fun acc entry => entry.2.foldl (fun inner node => insertElement node inner) (insertElement entry.1 acc)) [] - -@[expose] public def reachableFrom {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> List κ - | 0, _, seen => seen - | Nat.succ fuel, frontier, seen => - let next := frontier.foldl (fun acc node => - (graphSuccessors graph node).foldl (fun acc2 succ => - if containsElement succ seen || containsElement succ acc2 then acc2 else insertElement succ acc2) acc) [] - match next with - | [] => seen - | _ => reachableFrom graph fuel next (next.foldl (fun acc key => insertElement key acc) seen) - -@[expose] public def graphReachable {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (start : κ) : List κ := - reachableFrom graph ((graphNodes graph).length + 1) [start] [start] - -@[expose] public def topological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> Option (List κ) - | 0, remaining, order => if remaining.isEmpty then some order.reverse else none - | Nat.succ fuel, remaining, order => - match remaining.filter (fun node => remaining.all (fun other => !containsElement node (graphSuccessors graph other))) with - | [] => if remaining.isEmpty then some order.reverse else none - | ready :: _ => topological graph fuel (removeElement ready remaining) (ready :: order) - -@[expose] public def graphTopological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Option (List κ) := - let nodes := graphNodes graph - topological graph (nodes.length + 1) nodes [] -@[expose] public def listFold {α σ : Type} (step : σ -> α -> σ) (initial : σ) (values : List α) : σ := - values.foldl step initial - -@[expose] public def setFold {κ σ : Type} (step : σ -> κ -> σ) (initial : σ) (set : List κ) : σ := - set.foldl step initial - -@[expose] public def iterate {σ : Type} (step : σ -> σ) : Nat -> σ -> σ - | 0, state => state - | Nat.succ count, state => iterate step count (step state) - -@[expose] public def iterateUntil {σ : Type} (step : σ -> Option σ) : Nat -> σ -> Prod σ Bool - | 0, state => (state, false) - | Nat.succ fuel, state => match step state with - | none => (state, true) - | some next => iterateUntil step fuel next - -@[expose] public def lessThan {κ : Type} [Key κ] (left right : κ) : Bool := - match Key.compare left right with - | .lt => true - | _ => false -end LexLeanCollections - -namespace LexLeanReasoning - -public inductive Star {σ : Type} (r : σ -> σ -> Prop) : σ -> σ -> Prop where - | refl (a : σ) : Star r a a - | tail (a b c : σ) : Star r a b -> r b c -> Star r a c - -public inductive All {α : Type} (p : α -> Prop) : List α -> Prop where - | nil : All p [] - | cons (a : α) (rest : List α) : p a -> All p rest -> All p (a :: rest) - -@[expose] public def Preserves {σ : Type} (r : σ -> σ -> Prop) (j : σ -> Prop) : Prop := - forall (s t : σ), j s -> r s t -> j t -@[expose] public def Sound {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), v a b = true -> p a b -@[expose] public def Complete {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), p a b -> v a b = true -@[expose] public def Reaches {σ ε : Type} (r : σ -> σ -> Prop) (a : σ) (acc : Except ε σ) : Prop := - forall (s : σ), acc = Except.ok s -> Star r a s -@[expose] public def Found {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) : Option (Prod ρ ν) -> Prop - | none => True - | some hit => ok hit.2 /\ accept hit.2 = some hit.1 -@[expose] public def SearchOk {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) (frontier : List ν) (found : Option (Prod ρ ν)) : Prop := - All ok frontier /\ Found ok accept found - -public theorem starPreserves {σ : Type} (r : σ -> σ -> Prop) (j : σ -> Prop) (h : Preserves r j) : - forall (a b : σ), Star r a b -> j a -> j b := by - intro a b hs - induction hs with - | refl => exact fun ha => ha - | tail y z _ hyz ih => exact fun ha => h y z (ih ha) hyz - -public theorem reachesStart {σ ε : Type} (r : σ -> σ -> Prop) (a : σ) : Reaches (ε := ε) r a (Except.ok a) := by - intro s e - cases e - exact Star.refl a - -public theorem guarded {σ : Type} (r : σ -> σ -> Prop) (s : σ) (g : Bool) (c : σ) (h : g = true -> r s c) (t : σ) : - (if g then some c else none) = some t -> r s t := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact h rfl - -public theorem guardedRank {σ : Type} (μ : σ -> Nat) (s : σ) (g : Bool) (c : σ) (h : g = true -> μ c < μ s) (t : σ) : - (if g then some c else none) = some t -> μ t < μ s := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact h rfl - -public theorem checked {ρ : Type} (g : Bool) (a b : ρ) : (if g then some a else none) = some b -> g = true /\ a = b := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact And.intro rfl rfl - -public theorem foldInvariant {σ α : Type} (f : σ -> α -> σ) (p : σ -> Prop) (h : forall (a : σ) (x : α), p a -> p (f a x)) : - forall (xs : List α) (a : σ), p a -> p (LexLeanCollections.listFold f a xs) := by - intro xs - induction xs with - | nil => exact fun _ ha => ha - | cons x rest ih => exact fun a ha => ih (f a x) (h a x ha) - -public theorem foldSnoc {σ α : Type} (f : σ -> α -> σ) (a : σ) (xs : List α) (y : α) : - LexLeanCollections.listFold f a (LexLeanRuntime.append xs (y :: [])) = f (LexLeanCollections.listFold f a xs) y := by - induction xs generalizing a with - | nil => rfl - | cons x rest ih => exact ih (f a x) - -public theorem allAppend {α : Type} (p : α -> Prop) : forall (xs ys : List α), All p xs -> All p ys -> All p (LexLeanRuntime.append xs ys) := by - intro xs - induction xs with - | nil => exact fun _ _ h => h - | cons x rest ih => - intro ys hx hy - cases hx with - | cons _ _ hp hr => exact All.cons x (LexLeanRuntime.append rest ys) hp (ih ys hr hy) - -public theorem allSingle {α : Type} (p : α -> Prop) (a : α) (h : p a) : All p (a :: []) := - All.cons a [] h All.nil - -public theorem allHead {α : Type} (p : α -> Prop) (a : α) (rest : List α) (h : All p (a :: rest)) : p a := by - cases h with - | cons _ _ hp _ => exact hp - -public theorem allTail {α : Type} (p : α -> Prop) (a : α) (rest : List α) (h : All p (a :: rest)) : All p rest := by - cases h with - | cons _ _ _ hr => exact hr - -public theorem allFold {σ α : Type} (f : σ -> α -> σ) (p : σ -> Prop) (q : α -> Prop) (h : forall (a : σ) (x : α), q x -> p a -> p (f a x)) : - forall (xs : List α) (a : σ), All q xs -> p a -> p (LexLeanCollections.listFold f a xs) := by - intro xs - induction xs with - | nil => exact fun _ _ ha => ha - | cons x rest ih => - intro a hx ha - cases hx with - | cons _ _ hq hr => exact ih (f a x) hr (h a x hq ha) - -public theorem capAll {α : Type} (p : α -> Prop) (k : Nat) (xs : List α) (h : All p xs) : - All p (LexLeanCollections.listFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) [] xs) := - allFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) (All p) p - (fun a x hq ha => by - show All p (if Nat.blt (LexLeanRuntime.length a) k then LexLeanRuntime.append a (x :: []) else a) - cases Nat.blt (LexLeanRuntime.length a) k with - | false => exact ha - | true => exact allAppend p a (x :: []) ha (allSingle p x hq)) xs [] h All.nil - -public theorem lengthSnoc {α : Type} (xs : List α) (y : α) : LexLeanRuntime.length (LexLeanRuntime.append xs (y :: [])) = LexLeanRuntime.length xs + 1 := by - induction xs with - | nil => rfl - | cons x rest ih => exact congrArg Nat.succ ih - -public theorem capBound {α : Type} (k : Nat) (xs : List α) : - LexLeanRuntime.length (LexLeanCollections.listFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) [] xs) <= k := - foldInvariant (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) (fun (acc : List α) => LexLeanRuntime.length acc <= k) - (fun a x ha => by - show LexLeanRuntime.length (if Nat.blt (LexLeanRuntime.length a) k then LexLeanRuntime.append a (x :: []) else a) <= k - cases e : Nat.blt (LexLeanRuntime.length a) k with - | false => exact ha - | true => - show LexLeanRuntime.length (LexLeanRuntime.append a (x :: [])) <= k - rw [lengthSnoc] - exact Nat.le_of_ble_eq_true e) xs [] (Nat.zero_le k) - -public theorem freshAll {ν κ : Type} [LexLeanCollections.Key κ] (key : ν -> κ) (p : ν -> Prop) (v : List κ) (ns : List ν) (h : All p ns) : - All p (LexLeanCollections.listFold (fun (acc : Prod (List ν) (List κ)) (n : ν) => if LexLeanCollections.setContains acc.2 (key n) then acc else (LexLeanRuntime.append acc.1 (n :: []), LexLeanCollections.setInsert acc.2 (key n))) (([] : List ν), v) ns).1 := - allFold (fun (acc : Prod (List ν) (List κ)) (n : ν) => if LexLeanCollections.setContains acc.2 (key n) then acc else (LexLeanRuntime.append acc.1 (n :: []), LexLeanCollections.setInsert acc.2 (key n))) (fun (acc : Prod (List ν) (List κ)) => All p acc.1) p - (fun a x hq ha => by - show All p (if LexLeanCollections.setContains a.2 (key x) then a else (LexLeanRuntime.append a.1 (x :: []), LexLeanCollections.setInsert a.2 (key x))).1 - cases LexLeanCollections.setContains a.2 (key x) with - | true => exact ha - | false => exact allAppend p a.1 (x :: []) ha (allSingle p x hq)) ns (([] : List ν), v) h All.nil - -public theorem searchStart {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) (frontier : List ν) (h : All ok frontier) : - SearchOk ok accept frontier none := - And.intro h True.intro - -public theorem peakBound (p len k : Nat) (hp : p <= k) (hl : len <= k) : (if Nat.blt p len then len else p) <= k := by - cases Nat.blt p len with - | false => exact hp - | true => exact hl - -public theorem iterateUntilInvariant {σ : Type} (step : σ -> Option σ) (p : σ -> Prop) (h : forall (a b : σ), step a = some b -> p a -> p b) : - forall (n : Nat) (a : σ), p a -> p (LexLeanCollections.iterateUntil step n a).1 := by - intro n - induction n with - | zero => exact fun _ ha => ha - | succ n ih => - intro a ha - show p (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 - cases e : step a with - | none => exact ha - | some b => exact ih b (h a b e ha) - -public theorem iterateUntilSimulate {σ τ : Type} (f : σ -> Option σ) (g : τ -> Option τ) (π : σ -> τ) - (hnone : forall (a : σ), f a = none -> g (π a) = none) - (hsome : forall (a b : σ), f a = some b -> g (π a) = some (π b)) : - forall (n : Nat) (a : σ), π (LexLeanCollections.iterateUntil f n a).1 = (LexLeanCollections.iterateUntil g n (π a)).1 /\ (LexLeanCollections.iterateUntil f n a).2 = (LexLeanCollections.iterateUntil g n (π a)).2 := by - intro n - induction n with - | zero => exact fun _ => And.intro rfl rfl - | succ n ih => - intro a - show π (match f a with | none => (a, true) | some next => LexLeanCollections.iterateUntil f n next).1 = (match g (π a) with | none => (π a, true) | some next => LexLeanCollections.iterateUntil g n next).1 /\ (match f a with | none => (a, true) | some next => LexLeanCollections.iterateUntil f n next).2 = (match g (π a) with | none => (π a, true) | some next => LexLeanCollections.iterateUntil g n next).2 - cases e : f a with - | none => rw [hnone a e]; exact And.intro rfl rfl - | some b => rw [hsome a b e]; exact ih b - -public theorem iterateUntilCount {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (h : forall (a b : σ), step a = some b -> c b = c a + 1) : - forall (n : Nat) (a : σ), c a = 0 -> c (LexLeanCollections.iterateUntil step n a).1 <= n := by - have general : forall (n : Nat) (a : σ), c (LexLeanCollections.iterateUntil step n a).1 <= c a + n := by - intro n - induction n with - | zero => exact fun a => Nat.le_refl (c a) - | succ n ih => - intro a - show c (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 <= c a + (n + 1) - cases e : step a with - | none => exact Nat.le_add_right (c a) (n + 1) - | some b => - have hb := ih b - rw [h a b e] at hb - rw [Nat.add_right_comm] at hb - exact (Nat.add_assoc (c a) n 1) ▸ (Nat.add_right_comm (c a) 1 n) ▸ hb - intro n a h0 - have hg := general n a - rw [h0, Nat.zero_add] at hg - exact hg - -public theorem iterateUntilGrowth {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (h : forall (a b : σ), step a = some b -> c b <= c a + 1) : - forall (n : Nat) (a : σ), c a = 0 -> c (LexLeanCollections.iterateUntil step n a).1 <= n := by - have general : forall (n : Nat) (a : σ), c (LexLeanCollections.iterateUntil step n a).1 <= c a + n := by - intro n - induction n with - | zero => exact fun a => Nat.le_refl (c a) - | succ n ih => - intro a - show c (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 <= c a + (n + 1) - cases e : step a with - | none => exact Nat.le_add_right (c a) (n + 1) - | some b => - have hb := Nat.le_trans (ih b) (Nat.add_le_add_right (h a b e) n) - rw [Nat.add_right_comm] at hb - exact hb - intro n a h0 - have hg := general n a - rw [h0, Nat.zero_add] at hg - exact hg - -public theorem iterateUntilStops {σ : Type} (step : σ -> Option σ) (p : σ -> Prop) (μ : σ -> Nat) - (h : forall (a b : σ), step a = some b -> p a -> p b /\ μ b < μ a) : - forall (n : Nat) (a : σ), p a -> μ a < n -> (LexLeanCollections.iterateUntil step n a).2 = true := by - intro n - induction n with - | zero => intro a _ hm; exact absurd hm (Nat.not_lt_zero (μ a)) - | succ n ih => - intro a ha hm - show (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).2 = true - cases e : step a with - | none => rfl - | some b => - have hb := h a b e ha - exact ih b hb.left (Nat.lt_of_lt_of_le hb.right (Nat.le_of_lt_succ hm)) - -public theorem iterateUntilBound {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (k : Nat) (h : forall (a b : σ), step a = some b -> c a <= k -> c b <= k) : - forall (n : Nat) (a : σ), c a <= k -> c (LexLeanCollections.iterateUntil step n a).1 <= k := - iterateUntilInvariant step (fun (a : σ) => c a <= k) h -public theorem noneSome {ρ : Type} {q : Prop} (v : ρ) (h : (none : Option ρ) = some v) : q := by - cases h - -public theorem zeroLe (n : Nat) : 0 <= n := - Nat.zero_le n - -public theorem bltSucc (a b : Nat) (h : Nat.blt a b = true) : a + 1 <= b := - Nat.le_of_ble_eq_true h - -end LexLeanReasoning - @[expose, reducible] public def Moves (_s : (Prod (Nat) (Nat))) (t : (Prod (Nat) (Nat))) : Prop := (((t).1 <= 4) /\ ((t).2 <= 3)) @[expose, reducible] public def Fits (s : (Prod (Nat) (Nat))) : Prop := (((s).1 <= 4) /\ ((s).2 <= 3)) diff --git a/examples/reasoning/expected/build/modules/Reasoning/Screening.lean b/examples/reasoning/expected/build/modules/Reasoning/Screening.lean index e1da2c576..1fc5066b6 100644 --- a/examples/reasoning/expected/build/modules/Reasoning/Screening.lean +++ b/examples/reasoning/expected/build/modules/Reasoning/Screening.lean @@ -1,744 +1,15 @@ module public import Init +public import LexLeanRuntime.Portable +public import LexLeanRuntime.Collections +public import LexLeanRuntime.Models +public import LexLeanRuntime.Reasoning set_option autoImplicit false set_option maxRecDepth 100000 set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace Reasoning.Screening -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - -namespace LexLeanCollections - -public class Key (α : Type) where - compare : α -> α -> Ordering - -@[expose] public def compareCodes : List Char -> List Char -> Ordering - | [], [] => .eq - | [], _ :: _ => .lt - | _ :: _, [] => .gt - | left :: lefts, right :: rights => - match Ord.compare left.val.toNat right.val.toNat with - | .eq => compareCodes lefts rights - | other => other - -public instance : Key Nat where compare := Ord.compare -public instance : Key Int where compare := Ord.compare -public instance : Key Bool where compare := Ord.compare -public instance : Key Int8 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int16 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int32 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int64 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key UInt8 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt16 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt32 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt64 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key String where compare left right := compareCodes left.toList right.toList -public instance {α β : Type} [Key α] [Key β] : Key (Prod α β) where - compare left right := match Key.compare left.1 right.1 with - | .eq => Key.compare left.2 right.2 - | other => other - -@[expose] public def insertEntry {κ ν : Type} [Key κ] (key : κ) (value : ν) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [(key, value)] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (key, value) :: (other, stored) :: rest - | .eq => (key, value) :: rest - | .gt => (other, stored) :: insertEntry key value rest - -@[expose] public def removeEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (other, stored) :: rest - | .eq => rest - | .gt => (other, stored) :: removeEntry key rest - -@[expose] public def lookupEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> Option ν - | [] => none - | (other, stored) :: rest => match Key.compare key other with - | .lt => none - | .eq => some stored - | .gt => lookupEntry key rest - -@[expose] public def insertElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [key] - | other :: rest => match Key.compare key other with - | .lt => key :: other :: rest - | .eq => other :: rest - | .gt => other :: insertElement key rest - -@[expose] public def removeElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [] - | other :: rest => match Key.compare key other with - | .lt => other :: rest - | .eq => rest - | .gt => other :: removeElement key rest - -@[expose] public def containsElement {κ : Type} [Key κ] (key : κ) : List κ -> Bool - | [] => false - | other :: rest => match Key.compare key other with - | .lt => false - | .eq => true - | .gt => containsElement key rest - -@[expose] public def mapInsert {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) (value : ν) : List (Prod κ ν) := insertEntry key value map -@[expose] public def mapRemove {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : List (Prod κ ν) := removeEntry key map -@[expose] public def mapLookup {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Option ν := lookupEntry key map -@[expose] public def mapContains {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Bool := (lookupEntry key map).isSome -@[expose] public def mapSize {κ ν : Type} (map : List (Prod κ ν)) : Nat := map.length -@[expose] public def mapKeys {κ ν : Type} (map : List (Prod κ ν)) : List κ := map.map Prod.fst -@[expose] public def mapValues {κ ν : Type} (map : List (Prod κ ν)) : List ν := map.map Prod.snd -@[expose] public def mapEntries {κ ν : Type} (map : List (Prod κ ν)) : List (Prod κ ν) := map -@[expose] public def mapFold {κ ν β : Type} (step : β -> κ -> ν -> β) (initial : β) (map : List (Prod κ ν)) : β := - map.foldl (fun state entry => step state entry.1 entry.2) initial - -@[expose] public def setInsert {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := insertElement key set -@[expose] public def setRemove {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := removeElement key set -@[expose] public def setContains {κ : Type} [Key κ] (set : List κ) (key : κ) : Bool := containsElement key set -@[expose] public def setSize {κ : Type} (set : List κ) : Nat := set.length -@[expose] public def setElements {κ : Type} (set : List κ) : List κ := set -@[expose] public def setUnion {κ : Type} [Key κ] (left right : List κ) : List κ := right.foldl (fun acc key => insertElement key acc) left -@[expose] public def setIntersection {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => containsElement key right) -@[expose] public def setDifference {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => !containsElement key right) - -@[expose] public def graphSuccessors {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (node : κ) : List κ := - (lookupEntry node graph).getD [] - -@[expose] public def graphNodes {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : List κ := - graph.foldl (fun acc entry => entry.2.foldl (fun inner node => insertElement node inner) (insertElement entry.1 acc)) [] - -@[expose] public def reachableFrom {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> List κ - | 0, _, seen => seen - | Nat.succ fuel, frontier, seen => - let next := frontier.foldl (fun acc node => - (graphSuccessors graph node).foldl (fun acc2 succ => - if containsElement succ seen || containsElement succ acc2 then acc2 else insertElement succ acc2) acc) [] - match next with - | [] => seen - | _ => reachableFrom graph fuel next (next.foldl (fun acc key => insertElement key acc) seen) - -@[expose] public def graphReachable {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (start : κ) : List κ := - reachableFrom graph ((graphNodes graph).length + 1) [start] [start] - -@[expose] public def topological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> Option (List κ) - | 0, remaining, order => if remaining.isEmpty then some order.reverse else none - | Nat.succ fuel, remaining, order => - match remaining.filter (fun node => remaining.all (fun other => !containsElement node (graphSuccessors graph other))) with - | [] => if remaining.isEmpty then some order.reverse else none - | ready :: _ => topological graph fuel (removeElement ready remaining) (ready :: order) - -@[expose] public def graphTopological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Option (List κ) := - let nodes := graphNodes graph - topological graph (nodes.length + 1) nodes [] -@[expose] public def listFold {α σ : Type} (step : σ -> α -> σ) (initial : σ) (values : List α) : σ := - values.foldl step initial - -@[expose] public def setFold {κ σ : Type} (step : σ -> κ -> σ) (initial : σ) (set : List κ) : σ := - set.foldl step initial - -@[expose] public def iterate {σ : Type} (step : σ -> σ) : Nat -> σ -> σ - | 0, state => state - | Nat.succ count, state => iterate step count (step state) - -@[expose] public def iterateUntil {σ : Type} (step : σ -> Option σ) : Nat -> σ -> Prod σ Bool - | 0, state => (state, false) - | Nat.succ fuel, state => match step state with - | none => (state, true) - | some next => iterateUntil step fuel next - -@[expose] public def lessThan {κ : Type} [Key κ] (left right : κ) : Bool := - match Key.compare left right with - | .lt => true - | _ => false -end LexLeanCollections - -namespace LexLeanModels - -@[expose] public def Sound1 {α : Type} (v : α -> Bool) (p : α -> Prop) : Prop := - forall (a : α), v a = true -> p a -@[expose] public def Sound2 {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), v a b = true -> p a b -@[expose] public def Sound4 {α β γ δ : Type} (v : α -> β -> γ -> δ -> Bool) (p : α -> β -> γ -> δ -> Prop) : Prop := - forall (a : α) (b : β) (c : γ) (d : δ), v a b c d = true -> p a b c d -@[expose] public def Complete1 {α : Type} (v : α -> Bool) (p : α -> Prop) : Prop := - forall (a : α), p a -> v a = true -@[expose] public def Complete2 {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), p a b -> v a b = true -@[expose] public def Complete4 {α β γ δ : Type} (v : α -> β -> γ -> δ -> Bool) (p : α -> β -> γ -> δ -> Prop) : Prop := - forall (a : α) (b : β) (c : γ) (d : δ), p a b c d -> v a b c d = true - -@[expose] public def Satisfies {α β : Type} (p : α -> Prop) (q : α -> β -> Prop) (r : α -> β) : Prop := - forall (a : α), p a -> q a (r a) -@[expose] public def SatisfiesTotal {α β : Type} (q : α -> β -> Prop) (r : α -> β) : Prop := - forall (a : α), q a (r a) -@[expose] public def SatisfiesStep {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepNoInvariant {σ α β : Type} (p : σ -> α -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), p s a -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepNoPrecondition {σ α β : Type} (j : σ -> Prop) (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> q s a (r s a).1 (r s a).2 -@[expose] public def SatisfiesStepTotal {σ α β : Type} (q : σ -> α -> σ -> β -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), q s a (r s a).1 (r s a).2 -@[expose] public def Preserves {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> j (r s a).1 -@[expose] public def PreservesTotal {σ α β : Type} (j : σ -> Prop) (r : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> j (r s a).1 -@[expose] public def Initial {σ : Type} (j : σ -> Prop) (i : σ) : Prop := - j i -@[expose] public def Equivalent {α β : Type} (p : α -> Prop) (r f : α -> β) : Prop := - forall (a : α), p a -> r a = f a -@[expose] public def EquivalentTotal {α β : Type} (r f : α -> β) : Prop := - forall (a : α), r a = f a -@[expose] public def EquivalentStep {σ α β : Type} (j : σ -> Prop) (p : σ -> α -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> p s a -> r s a = f s a -@[expose] public def EquivalentStepNoInvariant {σ α β : Type} (p : σ -> α -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), p s a -> r s a = f s a -@[expose] public def EquivalentStepNoPrecondition {σ α β : Type} (j : σ -> Prop) (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), j s -> r s a = f s a -@[expose] public def EquivalentStepTotal {σ α β : Type} (r f : σ -> α -> Prod σ β) : Prop := - forall (s : σ) (a : α), r s a = f s a -@[expose, reducible] public def Agreement {α β : Type} (r : α -> β) (cmp : β -> β -> Bool) (d : List (Prod α β)) (examples agreements : Nat) : Prop := - d.length = examples /\ d.foldl (fun c e => if cmp (r e.1) e.2 then c + 1 else c) 0 = agreements - -@[expose] public def inRange (width : Nat) (signed : Bool) (value : Int) : Bool := - if signed then - decide (-((2 : Int) ^ (8 * width - 1)) <= value) && decide (value < (2 : Int) ^ (8 * width - 1)) - else - decide (0 <= value) && decide (value < (2 : Int) ^ (8 * width)) -@[expose] public def encodeInt (width : Nat) (value : Int) : List Nat := - let unsigned := if value < 0 then value + (2 : Int) ^ (8 * width) else value - (List.range width).map (fun i => (unsigned.toNat / 256 ^ i) % 256) -@[expose] public def tensorMatches (width : Nat) (signed : Bool) (values : List Int) (bytes : ByteArray) : Bool := - values.all (inRange width signed) && values.flatMap (encodeInt width) == bytes.data.toList.map UInt8.toNat -@[expose] public def utf8Char (c : Char) : List Nat := - let n := c.toNat - if n < 128 then [n] - else if n < 2048 then [192 + n / 64, 128 + n % 64] - else if n < 65536 then [224 + n / 4096, 128 + (n / 64) % 64, 128 + n % 64] - else [240 + n / 262144, 128 + (n / 4096) % 64, 128 + (n / 64) % 64, 128 + n % 64] -@[expose] public def linesMatch (lines : List String) (bytes : ByteArray) : Bool := - lines.all (fun line => line.toList.all (fun c => c.toNat != 10 && c.toNat != 13)) && - lines.foldr (fun line rest => line.toList.foldr (fun c tail => utf8Char c ++ tail) [10] ++ rest) [] == - bytes.data.toList.map UInt8.toNat -end LexLeanModels - -namespace LexLeanReasoning - -public inductive Star {σ : Type} (r : σ -> σ -> Prop) : σ -> σ -> Prop where - | refl (a : σ) : Star r a a - | tail (a b c : σ) : Star r a b -> r b c -> Star r a c - -public inductive All {α : Type} (p : α -> Prop) : List α -> Prop where - | nil : All p [] - | cons (a : α) (rest : List α) : p a -> All p rest -> All p (a :: rest) - -@[expose] public def Preserves {σ : Type} (r : σ -> σ -> Prop) (j : σ -> Prop) : Prop := - forall (s t : σ), j s -> r s t -> j t -@[expose] public def Sound {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), v a b = true -> p a b -@[expose] public def Complete {α β : Type} (v : α -> β -> Bool) (p : α -> β -> Prop) : Prop := - forall (a : α) (b : β), p a b -> v a b = true -@[expose] public def Reaches {σ ε : Type} (r : σ -> σ -> Prop) (a : σ) (acc : Except ε σ) : Prop := - forall (s : σ), acc = Except.ok s -> Star r a s -@[expose] public def Found {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) : Option (Prod ρ ν) -> Prop - | none => True - | some hit => ok hit.2 /\ accept hit.2 = some hit.1 -@[expose] public def SearchOk {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) (frontier : List ν) (found : Option (Prod ρ ν)) : Prop := - All ok frontier /\ Found ok accept found - -public theorem starPreserves {σ : Type} (r : σ -> σ -> Prop) (j : σ -> Prop) (h : Preserves r j) : - forall (a b : σ), Star r a b -> j a -> j b := by - intro a b hs - induction hs with - | refl => exact fun ha => ha - | tail y z _ hyz ih => exact fun ha => h y z (ih ha) hyz - -public theorem reachesStart {σ ε : Type} (r : σ -> σ -> Prop) (a : σ) : Reaches (ε := ε) r a (Except.ok a) := by - intro s e - cases e - exact Star.refl a - -public theorem guarded {σ : Type} (r : σ -> σ -> Prop) (s : σ) (g : Bool) (c : σ) (h : g = true -> r s c) (t : σ) : - (if g then some c else none) = some t -> r s t := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact h rfl - -public theorem guardedRank {σ : Type} (μ : σ -> Nat) (s : σ) (g : Bool) (c : σ) (h : g = true -> μ c < μ s) (t : σ) : - (if g then some c else none) = some t -> μ t < μ s := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact h rfl - -public theorem checked {ρ : Type} (g : Bool) (a b : ρ) : (if g then some a else none) = some b -> g = true /\ a = b := by - cases g with - | false => intro e; cases e - | true => intro e; cases e; exact And.intro rfl rfl - -public theorem foldInvariant {σ α : Type} (f : σ -> α -> σ) (p : σ -> Prop) (h : forall (a : σ) (x : α), p a -> p (f a x)) : - forall (xs : List α) (a : σ), p a -> p (LexLeanCollections.listFold f a xs) := by - intro xs - induction xs with - | nil => exact fun _ ha => ha - | cons x rest ih => exact fun a ha => ih (f a x) (h a x ha) - -public theorem foldSnoc {σ α : Type} (f : σ -> α -> σ) (a : σ) (xs : List α) (y : α) : - LexLeanCollections.listFold f a (LexLeanRuntime.append xs (y :: [])) = f (LexLeanCollections.listFold f a xs) y := by - induction xs generalizing a with - | nil => rfl - | cons x rest ih => exact ih (f a x) - -public theorem allAppend {α : Type} (p : α -> Prop) : forall (xs ys : List α), All p xs -> All p ys -> All p (LexLeanRuntime.append xs ys) := by - intro xs - induction xs with - | nil => exact fun _ _ h => h - | cons x rest ih => - intro ys hx hy - cases hx with - | cons _ _ hp hr => exact All.cons x (LexLeanRuntime.append rest ys) hp (ih ys hr hy) - -public theorem allSingle {α : Type} (p : α -> Prop) (a : α) (h : p a) : All p (a :: []) := - All.cons a [] h All.nil - -public theorem allHead {α : Type} (p : α -> Prop) (a : α) (rest : List α) (h : All p (a :: rest)) : p a := by - cases h with - | cons _ _ hp _ => exact hp - -public theorem allTail {α : Type} (p : α -> Prop) (a : α) (rest : List α) (h : All p (a :: rest)) : All p rest := by - cases h with - | cons _ _ _ hr => exact hr - -public theorem allFold {σ α : Type} (f : σ -> α -> σ) (p : σ -> Prop) (q : α -> Prop) (h : forall (a : σ) (x : α), q x -> p a -> p (f a x)) : - forall (xs : List α) (a : σ), All q xs -> p a -> p (LexLeanCollections.listFold f a xs) := by - intro xs - induction xs with - | nil => exact fun _ _ ha => ha - | cons x rest ih => - intro a hx ha - cases hx with - | cons _ _ hq hr => exact ih (f a x) hr (h a x hq ha) - -public theorem capAll {α : Type} (p : α -> Prop) (k : Nat) (xs : List α) (h : All p xs) : - All p (LexLeanCollections.listFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) [] xs) := - allFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) (All p) p - (fun a x hq ha => by - show All p (if Nat.blt (LexLeanRuntime.length a) k then LexLeanRuntime.append a (x :: []) else a) - cases Nat.blt (LexLeanRuntime.length a) k with - | false => exact ha - | true => exact allAppend p a (x :: []) ha (allSingle p x hq)) xs [] h All.nil - -public theorem lengthSnoc {α : Type} (xs : List α) (y : α) : LexLeanRuntime.length (LexLeanRuntime.append xs (y :: [])) = LexLeanRuntime.length xs + 1 := by - induction xs with - | nil => rfl - | cons x rest ih => exact congrArg Nat.succ ih - -public theorem capBound {α : Type} (k : Nat) (xs : List α) : - LexLeanRuntime.length (LexLeanCollections.listFold (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) [] xs) <= k := - foldInvariant (fun (acc : List α) (n : α) => if Nat.blt (LexLeanRuntime.length acc) k then LexLeanRuntime.append acc (n :: []) else acc) (fun (acc : List α) => LexLeanRuntime.length acc <= k) - (fun a x ha => by - show LexLeanRuntime.length (if Nat.blt (LexLeanRuntime.length a) k then LexLeanRuntime.append a (x :: []) else a) <= k - cases e : Nat.blt (LexLeanRuntime.length a) k with - | false => exact ha - | true => - show LexLeanRuntime.length (LexLeanRuntime.append a (x :: [])) <= k - rw [lengthSnoc] - exact Nat.le_of_ble_eq_true e) xs [] (Nat.zero_le k) - -public theorem freshAll {ν κ : Type} [LexLeanCollections.Key κ] (key : ν -> κ) (p : ν -> Prop) (v : List κ) (ns : List ν) (h : All p ns) : - All p (LexLeanCollections.listFold (fun (acc : Prod (List ν) (List κ)) (n : ν) => if LexLeanCollections.setContains acc.2 (key n) then acc else (LexLeanRuntime.append acc.1 (n :: []), LexLeanCollections.setInsert acc.2 (key n))) (([] : List ν), v) ns).1 := - allFold (fun (acc : Prod (List ν) (List κ)) (n : ν) => if LexLeanCollections.setContains acc.2 (key n) then acc else (LexLeanRuntime.append acc.1 (n :: []), LexLeanCollections.setInsert acc.2 (key n))) (fun (acc : Prod (List ν) (List κ)) => All p acc.1) p - (fun a x hq ha => by - show All p (if LexLeanCollections.setContains a.2 (key x) then a else (LexLeanRuntime.append a.1 (x :: []), LexLeanCollections.setInsert a.2 (key x))).1 - cases LexLeanCollections.setContains a.2 (key x) with - | true => exact ha - | false => exact allAppend p a.1 (x :: []) ha (allSingle p x hq)) ns (([] : List ν), v) h All.nil - -public theorem searchStart {ν ρ : Type} (ok : ν -> Prop) (accept : ν -> Option ρ) (frontier : List ν) (h : All ok frontier) : - SearchOk ok accept frontier none := - And.intro h True.intro - -public theorem peakBound (p len k : Nat) (hp : p <= k) (hl : len <= k) : (if Nat.blt p len then len else p) <= k := by - cases Nat.blt p len with - | false => exact hp - | true => exact hl - -public theorem iterateUntilInvariant {σ : Type} (step : σ -> Option σ) (p : σ -> Prop) (h : forall (a b : σ), step a = some b -> p a -> p b) : - forall (n : Nat) (a : σ), p a -> p (LexLeanCollections.iterateUntil step n a).1 := by - intro n - induction n with - | zero => exact fun _ ha => ha - | succ n ih => - intro a ha - show p (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 - cases e : step a with - | none => exact ha - | some b => exact ih b (h a b e ha) - -public theorem iterateUntilSimulate {σ τ : Type} (f : σ -> Option σ) (g : τ -> Option τ) (π : σ -> τ) - (hnone : forall (a : σ), f a = none -> g (π a) = none) - (hsome : forall (a b : σ), f a = some b -> g (π a) = some (π b)) : - forall (n : Nat) (a : σ), π (LexLeanCollections.iterateUntil f n a).1 = (LexLeanCollections.iterateUntil g n (π a)).1 /\ (LexLeanCollections.iterateUntil f n a).2 = (LexLeanCollections.iterateUntil g n (π a)).2 := by - intro n - induction n with - | zero => exact fun _ => And.intro rfl rfl - | succ n ih => - intro a - show π (match f a with | none => (a, true) | some next => LexLeanCollections.iterateUntil f n next).1 = (match g (π a) with | none => (π a, true) | some next => LexLeanCollections.iterateUntil g n next).1 /\ (match f a with | none => (a, true) | some next => LexLeanCollections.iterateUntil f n next).2 = (match g (π a) with | none => (π a, true) | some next => LexLeanCollections.iterateUntil g n next).2 - cases e : f a with - | none => rw [hnone a e]; exact And.intro rfl rfl - | some b => rw [hsome a b e]; exact ih b - -public theorem iterateUntilCount {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (h : forall (a b : σ), step a = some b -> c b = c a + 1) : - forall (n : Nat) (a : σ), c a = 0 -> c (LexLeanCollections.iterateUntil step n a).1 <= n := by - have general : forall (n : Nat) (a : σ), c (LexLeanCollections.iterateUntil step n a).1 <= c a + n := by - intro n - induction n with - | zero => exact fun a => Nat.le_refl (c a) - | succ n ih => - intro a - show c (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 <= c a + (n + 1) - cases e : step a with - | none => exact Nat.le_add_right (c a) (n + 1) - | some b => - have hb := ih b - rw [h a b e] at hb - rw [Nat.add_right_comm] at hb - exact (Nat.add_assoc (c a) n 1) ▸ (Nat.add_right_comm (c a) 1 n) ▸ hb - intro n a h0 - have hg := general n a - rw [h0, Nat.zero_add] at hg - exact hg - -public theorem iterateUntilGrowth {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (h : forall (a b : σ), step a = some b -> c b <= c a + 1) : - forall (n : Nat) (a : σ), c a = 0 -> c (LexLeanCollections.iterateUntil step n a).1 <= n := by - have general : forall (n : Nat) (a : σ), c (LexLeanCollections.iterateUntil step n a).1 <= c a + n := by - intro n - induction n with - | zero => exact fun a => Nat.le_refl (c a) - | succ n ih => - intro a - show c (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).1 <= c a + (n + 1) - cases e : step a with - | none => exact Nat.le_add_right (c a) (n + 1) - | some b => - have hb := Nat.le_trans (ih b) (Nat.add_le_add_right (h a b e) n) - rw [Nat.add_right_comm] at hb - exact hb - intro n a h0 - have hg := general n a - rw [h0, Nat.zero_add] at hg - exact hg - -public theorem iterateUntilStops {σ : Type} (step : σ -> Option σ) (p : σ -> Prop) (μ : σ -> Nat) - (h : forall (a b : σ), step a = some b -> p a -> p b /\ μ b < μ a) : - forall (n : Nat) (a : σ), p a -> μ a < n -> (LexLeanCollections.iterateUntil step n a).2 = true := by - intro n - induction n with - | zero => intro a _ hm; exact absurd hm (Nat.not_lt_zero (μ a)) - | succ n ih => - intro a ha hm - show (match step a with | none => (a, true) | some next => LexLeanCollections.iterateUntil step n next).2 = true - cases e : step a with - | none => rfl - | some b => - have hb := h a b e ha - exact ih b hb.left (Nat.lt_of_lt_of_le hb.right (Nat.le_of_lt_succ hm)) - -public theorem iterateUntilBound {σ : Type} (step : σ -> Option σ) (c : σ -> Nat) (k : Nat) (h : forall (a b : σ), step a = some b -> c a <= k -> c b <= k) : - forall (n : Nat) (a : σ), c a <= k -> c (LexLeanCollections.iterateUntil step n a).1 <= k := - iterateUntilInvariant step (fun (a : σ) => c a <= k) h -public theorem noneSome {ρ : Type} {q : Prop} (v : ρ) (h : (none : Option ρ) = some v) : q := by - cases h - -public theorem zeroLe (n : Nat) : 0 <= n := - Nat.zero_le n - -public theorem bltSucc (a b : Nat) (h : Nat.blt a b = true) : a + 1 <= b := - Nat.le_of_ble_eq_true h - -end LexLeanReasoning - @[expose, reducible] public def Short (_w : Nat) (doses : List (Nat)) : Prop := ((LexLeanRuntime.length (doses) : Nat) <= 4) @[expose] public def shortCheck (_w : Nat) (doses : List (Nat)) : Bool := (Nat.ble ((LexLeanRuntime.length (doses) : Nat)) (4)) diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Budget.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Budget.process.json deleted file mode 100644 index c6646f41a..000000000 --- a/examples/reasoning/expected/verify/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Budget.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Budget.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Budget","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Reasoning.Budget.Burn.apply' does not depend on any axioms\n'Reasoning.Budget.Burn.apply_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Burn.apply_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Burn.candidates' does not depend on any axioms\n'Reasoning.Budget.Burn.conclusion' does not depend on any axioms\n'Reasoning.Budget.Burn.guard' does not depend on any axioms\n'Reasoning.Budget.Drained.sound' depends on axioms: [propext]\n'Reasoning.Budget.Empty' does not depend on any axioms\n'Reasoning.Budget.Refund' does not depend on any axioms\n'Reasoning.Budget.Refund.Ledger' does not depend on any axioms\n'Reasoning.Budget.Refund.Run' does not depend on any axioms\n'Reasoning.Budget.Refund.Step' does not depend on any axioms\n'Reasoning.Budget.Refund.accept' does not depend on any axioms\n'Reasoning.Budget.Refund.accept_sound' depends on axioms: [propext]\n'Reasoning.Budget.Refund.account' does not depend on any axioms\n'Reasoning.Budget.Refund.answer' does not depend on any axioms\n'Reasoning.Budget.Refund.attempts' does not depend on any axioms\n'Reasoning.Budget.Refund.conclude' does not depend on any axioms\n'Reasoning.Budget.Refund.conclude_accept' does not depend on any axioms\n'Reasoning.Budget.Refund.conclude_sound' depends on axioms: [propext]\n'Reasoning.Budget.Refund.derivation' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Refund.explained' depends on axioms: [propext]\n'Reasoning.Budget.Refund.extract' does not depend on any axioms\n'Reasoning.Budget.Refund.fire' does not depend on any axioms\n'Reasoning.Budget.Refund.fire_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Refund.firings_bounded' does not depend on any axioms\n'Reasoning.Budget.Refund.follow' does not depend on any axioms\n'Reasoning.Budget.Refund.iterations_bounded' does not depend on any axioms\n'Reasoning.Budget.Refund.next' does not depend on any axioms\n'Reasoning.Budget.Refund.next_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Refund.observe' does not depend on any axioms\n'Reasoning.Budget.Refund.replay' does not depend on any axioms\n'Reasoning.Budget.Refund.replay_fire' does not depend on any axioms\n'Reasoning.Budget.Refund.replay_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Refund.run' does not depend on any axioms\n'Reasoning.Budget.Refund.run_state' does not depend on any axioms\n'Reasoning.Budget.Refund.run_trace' does not depend on any axioms\n'Reasoning.Budget.Refund.saturate' does not depend on any axioms\n'Reasoning.Budget.Refund.saturate_derivation' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Refund.select' does not depend on any axioms\n'Reasoning.Budget.Refund.start' does not depend on any axioms\n'Reasoning.Budget.Refund.step' does not depend on any axioms\n'Reasoning.Budget.Refund.step_count' does not depend on any axioms\n'Reasoning.Budget.Refund.step_fired' does not depend on any axioms\n'Reasoning.Budget.Refund.step_none' does not depend on any axioms\n'Reasoning.Budget.Refund.step_some' does not depend on any axioms\n'Reasoning.Budget.Refund.step_trace' does not depend on any axioms\n'Reasoning.Budget.Refund.verdict' does not depend on any axioms\n'Reasoning.Budget.Refund.verdict_sound' depends on axioms: [propext]\n'Reasoning.Budget.Remaining' does not depend on any axioms\n'Reasoning.Budget.Spend' does not depend on any axioms\n'Reasoning.Budget.Spend.Ledger' does not depend on any axioms\n'Reasoning.Budget.Spend.Run' does not depend on any axioms\n'Reasoning.Budget.Spend.Step' does not depend on any axioms\n'Reasoning.Budget.Spend.accept' does not depend on any axioms\n'Reasoning.Budget.Spend.accept_sound' depends on axioms: [propext]\n'Reasoning.Budget.Spend.account' does not depend on any axioms\n'Reasoning.Budget.Spend.answer' does not depend on any axioms\n'Reasoning.Budget.Spend.attempts' does not depend on any axioms\n'Reasoning.Budget.Spend.conclude' does not depend on any axioms\n'Reasoning.Budget.Spend.conclude_accept' does not depend on any axioms\n'Reasoning.Budget.Spend.conclude_sound' depends on axioms: [propext]\n'Reasoning.Budget.Spend.derivation' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Spend.explained' depends on axioms: [propext]\n'Reasoning.Budget.Spend.extract' does not depend on any axioms\n'Reasoning.Budget.Spend.fire' does not depend on any axioms\n'Reasoning.Budget.Spend.fire_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Spend.fire_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Spend.firings_bounded' does not depend on any axioms\n'Reasoning.Budget.Spend.follow' does not depend on any axioms\n'Reasoning.Budget.Spend.iterations_bounded' does not depend on any axioms\n'Reasoning.Budget.Spend.next' does not depend on any axioms\n'Reasoning.Budget.Spend.next_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Spend.next_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Spend.observe' does not depend on any axioms\n'Reasoning.Budget.Spend.replay' does not depend on any axioms\n'Reasoning.Budget.Spend.replay_fire' does not depend on any axioms\n'Reasoning.Budget.Spend.replay_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Spend.run' does not depend on any axioms\n'Reasoning.Budget.Spend.run_state' does not depend on any axioms\n'Reasoning.Budget.Spend.run_trace' does not depend on any axioms\n'Reasoning.Budget.Spend.saturate' does not depend on any axioms\n'Reasoning.Budget.Spend.saturate_derivation' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Spend.saturates' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Spend.select' does not depend on any axioms\n'Reasoning.Budget.Spend.start' does not depend on any axioms\n'Reasoning.Budget.Spend.step' does not depend on any axioms\n'Reasoning.Budget.Spend.step_count' does not depend on any axioms\n'Reasoning.Budget.Spend.step_fired' does not depend on any axioms\n'Reasoning.Budget.Spend.step_none' does not depend on any axioms\n'Reasoning.Budget.Spend.step_some' does not depend on any axioms\n'Reasoning.Budget.Spend.step_trace' does not depend on any axioms\n'Reasoning.Budget.Spend.verdict' does not depend on any axioms\n'Reasoning.Budget.Spend.verdict_sound' depends on axioms: [propext]\n'Reasoning.Budget.Spent' does not depend on any axioms\n'Reasoning.Budget.Tick.apply' does not depend on any axioms\n'Reasoning.Budget.Tick.apply_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Tick.apply_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Tick.conclusion' does not depend on any axioms\n'Reasoning.Budget.Tick.guard' does not depend on any axioms\n'Reasoning.Budget.allowance_bound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.burn_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.burn_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.emptyCheck' does not depend on any axioms\n'Reasoning.Budget.empty_sound' depends on axioms: [propext]\n'Reasoning.Budget.tick_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.tick_sound' depends on axioms: [propext, Quot.sound]\n","stdout_sha256":"61274b9278738a5387ec49d25adf40a85f958c84f3e7007db22fe5da1fa0f781","tool":"lean"} diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Clinic.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Clinic.process.json deleted file mode 100644 index e61b5a6d2..000000000 --- a/examples/reasoning/expected/verify/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Clinic.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Clinic.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Clinic","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Reasoning.Clinic.Chart' does not depend on any axioms\n'Reasoning.Clinic.Consistent' does not depend on any axioms\n'Reasoning.Clinic.Discharged' does not depend on any axioms\n'Reasoning.Clinic.Escalate.apply' does not depend on any axioms\n'Reasoning.Clinic.Escalate.apply_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.Escalate.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Escalate.conclusion' does not depend on any axioms\n'Reasoning.Clinic.Escalate.guard' does not depend on any axioms\n'Reasoning.Clinic.Febrile' does not depend on any axioms\n'Reasoning.Clinic.Fever.apply' does not depend on any axioms\n'Reasoning.Clinic.Fever.apply_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.Fever.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Fever.conclusion' does not depend on any axioms\n'Reasoning.Clinic.Fever.guard' does not depend on any axioms\n'Reasoning.Clinic.Findings.preserves' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Hypotensive' does not depend on any axioms\n'Reasoning.Clinic.Indicated' does not depend on any axioms\n'Reasoning.Clinic.Justified' does not depend on any axioms\n'Reasoning.Clinic.Leukocytic' does not depend on any axioms\n'Reasoning.Clinic.Leukocytosis.apply' does not depend on any axioms\n'Reasoning.Clinic.Leukocytosis.apply_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.Leukocytosis.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Leukocytosis.conclusion' does not depend on any axioms\n'Reasoning.Clinic.Leukocytosis.guard' does not depend on any axioms\n'Reasoning.Clinic.Outpatient.sound' depends on axioms: [propext]\n'Reasoning.Clinic.Pending' does not depend on any axioms\n'Reasoning.Clinic.Recommendation.complete' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Recommendation.sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Review' does not depend on any axioms\n'Reasoning.Clinic.Review.Ledger' does not depend on any axioms\n'Reasoning.Clinic.Review.Run' does not depend on any axioms\n'Reasoning.Clinic.Review.Step' does not depend on any axioms\n'Reasoning.Clinic.Review.accept' does not depend on any axioms\n'Reasoning.Clinic.Review.accept_sound' depends on axioms: [propext]\n'Reasoning.Clinic.Review.account' does not depend on any axioms\n'Reasoning.Clinic.Review.answer' does not depend on any axioms\n'Reasoning.Clinic.Review.attempts' does not depend on any axioms\n'Reasoning.Clinic.Review.conclude' does not depend on any axioms\n'Reasoning.Clinic.Review.conclude_accept' does not depend on any axioms\n'Reasoning.Clinic.Review.conclude_sound' depends on axioms: [propext]\n'Reasoning.Clinic.Review.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Review.explained' depends on axioms: [propext]\n'Reasoning.Clinic.Review.extract' does not depend on any axioms\n'Reasoning.Clinic.Review.fire' does not depend on any axioms\n'Reasoning.Clinic.Review.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Review.firings_bounded' does not depend on any axioms\n'Reasoning.Clinic.Review.follow' does not depend on any axioms\n'Reasoning.Clinic.Review.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Review.iterations_bounded' does not depend on any axioms\n'Reasoning.Clinic.Review.next' does not depend on any axioms\n'Reasoning.Clinic.Review.next_preserves' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Review.next_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Review.observe' does not depend on any axioms\n'Reasoning.Clinic.Review.replay' does not depend on any axioms\n'Reasoning.Clinic.Review.replay_fire' does not depend on any axioms\n'Reasoning.Clinic.Review.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Review.run' does not depend on any axioms\n'Reasoning.Clinic.Review.run_state' does not depend on any axioms\n'Reasoning.Clinic.Review.run_trace' does not depend on any axioms\n'Reasoning.Clinic.Review.saturate' does not depend on any axioms\n'Reasoning.Clinic.Review.saturate_derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Review.saturate_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Review.select' does not depend on any axioms\n'Reasoning.Clinic.Review.start' does not depend on any axioms\n'Reasoning.Clinic.Review.step' does not depend on any axioms\n'Reasoning.Clinic.Review.step_count' does not depend on any axioms\n'Reasoning.Clinic.Review.step_fired' does not depend on any axioms\n'Reasoning.Clinic.Review.step_none' does not depend on any axioms\n'Reasoning.Clinic.Review.step_some' does not depend on any axioms\n'Reasoning.Clinic.Review.step_trace' does not depend on any axioms\n'Reasoning.Clinic.Review.verdict' does not depend on any axioms\n'Reasoning.Clinic.Review.verdict_sound' depends on axioms: [propext]\n'Reasoning.Clinic.Sepsis.apply' does not depend on any axioms\n'Reasoning.Clinic.Sepsis.apply_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.Sepsis.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Sepsis.conclusion' does not depend on any axioms\n'Reasoning.Clinic.Sepsis.guard' does not depend on any axioms\n'Reasoning.Clinic.Shock.apply' does not depend on any axioms\n'Reasoning.Clinic.Shock.apply_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.Shock.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Shock.conclusion' does not depend on any axioms\n'Reasoning.Clinic.Shock.guard' does not depend on any axioms\n'Reasoning.Clinic.Sirs.apply' does not depend on any axioms\n'Reasoning.Clinic.Sirs.apply_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.Sirs.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Sirs.conclusion' does not depend on any axioms\n'Reasoning.Clinic.Sirs.guard' does not depend on any axioms\n'Reasoning.Clinic.Tachycardia.apply' does not depend on any axioms\n'Reasoning.Clinic.Tachycardia.apply_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.Tachycardia.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Tachycardia.conclusion' does not depend on any axioms\n'Reasoning.Clinic.Tachycardia.guard' does not depend on any axioms\n'Reasoning.Clinic.Tachycardic' does not depend on any axioms\n'Reasoning.Clinic.Tachypnea.apply' does not depend on any axioms\n'Reasoning.Clinic.Tachypnea.apply_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.Tachypnea.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Tachypnea.conclusion' does not depend on any axioms\n'Reasoning.Clinic.Tachypnea.guard' does not depend on any axioms\n'Reasoning.Clinic.Tachypneic' does not depend on any axioms\n'Reasoning.Clinic.Triage' does not depend on any axioms\n'Reasoning.Clinic.Triage.Ledger' does not depend on any axioms\n'Reasoning.Clinic.Triage.Run' does not depend on any axioms\n'Reasoning.Clinic.Triage.Step' does not depend on any axioms\n'Reasoning.Clinic.Triage.accept' does not depend on any axioms\n'Reasoning.Clinic.Triage.accept_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Triage.account' does not depend on any axioms\n'Reasoning.Clinic.Triage.answer' does not depend on any axioms\n'Reasoning.Clinic.Triage.attempts' does not depend on any axioms\n'Reasoning.Clinic.Triage.conclude' does not depend on any axioms\n'Reasoning.Clinic.Triage.conclude_accept' does not depend on any axioms\n'Reasoning.Clinic.Triage.conclude_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Triage.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Triage.explained' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Triage.extract' does not depend on any axioms\n'Reasoning.Clinic.Triage.fire' does not depend on any axioms\n'Reasoning.Clinic.Triage.fire_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.Triage.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Triage.firings_bounded' does not depend on any axioms\n'Reasoning.Clinic.Triage.follow' does not depend on any axioms\n'Reasoning.Clinic.Triage.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Triage.iterations_bounded' does not depend on any axioms\n'Reasoning.Clinic.Triage.next' does not depend on any axioms\n'Reasoning.Clinic.Triage.next_preserves' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Triage.next_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.Triage.next_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Triage.observe' does not depend on any axioms\n'Reasoning.Clinic.Triage.replay' does not depend on any axioms\n'Reasoning.Clinic.Triage.replay_fire' does not depend on any axioms\n'Reasoning.Clinic.Triage.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Triage.run' does not depend on any axioms\n'Reasoning.Clinic.Triage.run_state' does not depend on any axioms\n'Reasoning.Clinic.Triage.run_trace' does not depend on any axioms\n'Reasoning.Clinic.Triage.saturate' does not depend on any axioms\n'Reasoning.Clinic.Triage.saturate_derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Triage.saturate_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Triage.saturates' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Triage.select' does not depend on any axioms\n'Reasoning.Clinic.Triage.start' does not depend on any axioms\n'Reasoning.Clinic.Triage.step' does not depend on any axioms\n'Reasoning.Clinic.Triage.step_count' does not depend on any axioms\n'Reasoning.Clinic.Triage.step_fired' does not depend on any axioms\n'Reasoning.Clinic.Triage.step_none' does not depend on any axioms\n'Reasoning.Clinic.Triage.step_some' does not depend on any axioms\n'Reasoning.Clinic.Triage.step_trace' does not depend on any axioms\n'Reasoning.Clinic.Triage.verdict' does not depend on any axioms\n'Reasoning.Clinic.Triage.verdict_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Vitals' does not depend on any axioms\n'Reasoning.Clinic.Warranted' does not depend on any axioms\n'Reasoning.Clinic.admitted_consistent' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.admitted_pending' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.consistent_preserved' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.dischargeCheck' does not depend on any axioms\n'Reasoning.Clinic.discharge_sound' depends on axioms: [propext]\n'Reasoning.Clinic.escalate_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.escalate_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.fever_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.fever_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.feverish' does not depend on any axioms\n'Reasoning.Clinic.hypotensive' does not depend on any axioms\n'Reasoning.Clinic.leukocytic' does not depend on any axioms\n'Reasoning.Clinic.leukocytosis_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.leukocytosis_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.recommendationCheck' does not depend on any axioms\n'Reasoning.Clinic.recommendation_complete' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.recommendation_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.sepsis_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.sepsis_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.shock_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.shock_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.sirs_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.sirs_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.tachycardia_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.tachycardia_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.tachycardic' does not depend on any axioms\n'Reasoning.Clinic.tachypnea_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.tachypnea_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.tachypneic' does not depend on any axioms\n","stdout_sha256":"d385d180f0ca2a66d16d21a13c5c0cb09098259b2c56ec20e64bef35d7d23d18","tool":"lean"} diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Main.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Main.process.json deleted file mode 100644 index bd79b7efd..000000000 --- a/examples/reasoning/expected/verify/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Main.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Main","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Reasoning.Main.Cap' does not depend on any axioms\n'Reasoning.Main.Cap.Ledger' does not depend on any axioms\n'Reasoning.Main.Cap.Run' does not depend on any axioms\n'Reasoning.Main.Cap.Step' does not depend on any axioms\n'Reasoning.Main.Cap.accept' does not depend on any axioms\n'Reasoning.Main.Cap.accept_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Main.Cap.account' does not depend on any axioms\n'Reasoning.Main.Cap.answer' does not depend on any axioms\n'Reasoning.Main.Cap.attempts' does not depend on any axioms\n'Reasoning.Main.Cap.conclude' does not depend on any axioms\n'Reasoning.Main.Cap.conclude_accept' does not depend on any axioms\n'Reasoning.Main.Cap.conclude_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Main.Cap.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Cap.explained' depends on axioms: [propext, Quot.sound]\n'Reasoning.Main.Cap.extract' does not depend on any axioms\n'Reasoning.Main.Cap.fire' does not depend on any axioms\n'Reasoning.Main.Cap.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Cap.firings_bounded' does not depend on any axioms\n'Reasoning.Main.Cap.follow' does not depend on any axioms\n'Reasoning.Main.Cap.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Cap.iterations_bounded' does not depend on any axioms\n'Reasoning.Main.Cap.next' does not depend on any axioms\n'Reasoning.Main.Cap.next_preserves' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Cap.next_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Cap.observe' does not depend on any axioms\n'Reasoning.Main.Cap.replay' does not depend on any axioms\n'Reasoning.Main.Cap.replay_fire' does not depend on any axioms\n'Reasoning.Main.Cap.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Cap.run' does not depend on any axioms\n'Reasoning.Main.Cap.run_state' does not depend on any axioms\n'Reasoning.Main.Cap.run_trace' does not depend on any axioms\n'Reasoning.Main.Cap.saturate' does not depend on any axioms\n'Reasoning.Main.Cap.saturate_derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Cap.saturate_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Cap.select' does not depend on any axioms\n'Reasoning.Main.Cap.start' does not depend on any axioms\n'Reasoning.Main.Cap.step' does not depend on any axioms\n'Reasoning.Main.Cap.step_count' does not depend on any axioms\n'Reasoning.Main.Cap.step_fired' does not depend on any axioms\n'Reasoning.Main.Cap.step_none' does not depend on any axioms\n'Reasoning.Main.Cap.step_some' does not depend on any axioms\n'Reasoning.Main.Cap.step_trace' does not depend on any axioms\n'Reasoning.Main.Cap.verdict' does not depend on any axioms\n'Reasoning.Main.Cap.verdict_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Main.Capped' does not depend on any axioms\n'Reasoning.Main.Ceiling.sound' depends on axioms: [propext]\n'Reasoning.Main.GatewayEvidence.gateway_safe' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.GatewayModel' does not depend on any axioms\n'Reasoning.Main.GatewayTriage' does not depend on any axioms\n'Reasoning.Main.Grade' does not depend on any axioms\n'Reasoning.Main.Grade.Ledger' does not depend on any axioms\n'Reasoning.Main.Grade.Run' does not depend on any axioms\n'Reasoning.Main.Grade.Step' does not depend on any axioms\n'Reasoning.Main.Grade.accept' does not depend on any axioms\n'Reasoning.Main.Grade.accept_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.account' does not depend on any axioms\n'Reasoning.Main.Grade.answer' does not depend on any axioms\n'Reasoning.Main.Grade.attempts' does not depend on any axioms\n'Reasoning.Main.Grade.conclude' does not depend on any axioms\n'Reasoning.Main.Grade.conclude_accept' does not depend on any axioms\n'Reasoning.Main.Grade.conclude_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.explained' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.extract' does not depend on any axioms\n'Reasoning.Main.Grade.fire' does not depend on any axioms\n'Reasoning.Main.Grade.fire_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Main.Grade.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.firings_bounded' does not depend on any axioms\n'Reasoning.Main.Grade.follow' does not depend on any axioms\n'Reasoning.Main.Grade.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.follow_relation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.iterations_bounded' does not depend on any axioms\n'Reasoning.Main.Grade.next' does not depend on any axioms\n'Reasoning.Main.Grade.next_preserves' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.next_preserves_relation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.next_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Main.Grade.next_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.observe' does not depend on any axioms\n'Reasoning.Main.Grade.replay' does not depend on any axioms\n'Reasoning.Main.Grade.replay_fire' does not depend on any axioms\n'Reasoning.Main.Grade.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.run' does not depend on any axioms\n'Reasoning.Main.Grade.run_relation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.run_state' does not depend on any axioms\n'Reasoning.Main.Grade.run_trace' does not depend on any axioms\n'Reasoning.Main.Grade.saturate' does not depend on any axioms\n'Reasoning.Main.Grade.saturate_derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.saturate_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.saturate_relation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.saturates' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.select' does not depend on any axioms\n'Reasoning.Main.Grade.start' does not depend on any axioms\n'Reasoning.Main.Grade.step' does not depend on any axioms\n'Reasoning.Main.Grade.step_count' does not depend on any axioms\n'Reasoning.Main.Grade.step_fired' does not depend on any axioms\n'Reasoning.Main.Grade.step_none' does not depend on any axioms\n'Reasoning.Main.Grade.step_some' does not depend on any axioms\n'Reasoning.Main.Grade.step_trace' does not depend on any axioms\n'Reasoning.Main.Grade.verdict' does not depend on any axioms\n'Reasoning.Main.Grade.verdict_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Graded' does not depend on any axioms\n'Reasoning.Main.Guaranteed' does not depend on any axioms\n'Reasoning.Main.Related' does not depend on any axioms\n'Reasoning.Main.Scale.sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.cap_correct' depends on axioms: [propext, Quot.sound]\n'Reasoning.Main.cappedCheck' does not depend on any axioms\n'Reasoning.Main.capped_sound' depends on axioms: [propext]\n'Reasoning.Main.doseLevel' does not depend on any axioms\n'Reasoning.Main.dose_exhausted' does not depend on any axioms\n'Reasoning.Main.dose_exhausted_ledger' does not depend on any axioms\n'Reasoning.Main.dose_found' does not depend on any axioms\n'Reasoning.Main.dose_ledger' does not depend on any axioms\n'Reasoning.Main.gatewayLevel' does not depend on any axioms\n'Reasoning.Main.gateway_level' does not depend on any axioms\n'Reasoning.Main.gateway_safe' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.gradeLevel' does not depend on any axioms\n'Reasoning.Main.grade_admitted' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.grade_correct' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.grade_ledger' does not depend on any axioms\n'Reasoning.Main.grade_pending' depends on axioms: [propext, Quot.sound]\n'Reasoning.Main.grade_shock' does not depend on any axioms\n'Reasoning.Main.grade_well_ledger' does not depend on any axioms\n'Reasoning.Main.gradedCheck' does not depend on any axioms\n'Reasoning.Main.graded_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.planLeft' depends on axioms: [propext]\n'Reasoning.Main.plan_found' depends on axioms: [propext]\n'Reasoning.Main.plan_frontier' depends on axioms: [propext]\n'Reasoning.Main.plan_ledger' depends on axioms: [propext]\n'Reasoning.Main.plan_unsolved' depends on axioms: [propext]\n'Reasoning.Main.plan_unsolved_ledger' depends on axioms: [propext]\n'Reasoning.Main.refund_drained' does not depend on any axioms\n'Reasoning.Main.refund_ledger' does not depend on any axioms\n'Reasoning.Main.refund_unsolved' does not depend on any axioms\n'Reasoning.Main.refund_unsolved_ledger' does not depend on any axioms\n'Reasoning.Main.related_admitted' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.related_preserved' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.review_exhausted' does not depend on any axioms\n'Reasoning.Main.review_ledger' does not depend on any axioms\n'Reasoning.Main.review_rejected' does not depend on any axioms\n'Reasoning.Main.review_rejected_ledger' does not depend on any axioms\n'Reasoning.Main.screenDose' does not depend on any axioms\n'Reasoning.Main.screen_found' does not depend on any axioms\n'Reasoning.Main.screen_ledger' does not depend on any axioms\n'Reasoning.Main.screen_truncated' does not depend on any axioms\n'Reasoning.Main.screen_truncated_ledger' does not depend on any axioms\n'Reasoning.Main.screen_unsolved_ledger' does not depend on any axioms\n'Reasoning.Main.spendLeft' does not depend on any axioms\n'Reasoning.Main.spend_drained' does not depend on any axioms\n'Reasoning.Main.spend_ledger' does not depend on any axioms\n'Reasoning.Main.triageLevel' does not depend on any axioms\n'Reasoning.Main.triageSteps' does not depend on any axioms\n'Reasoning.Main.triage_forged' does not depend on any axioms\n'Reasoning.Main.triage_inapplicable' does not depend on any axioms\n'Reasoning.Main.triage_iterations' does not depend on any axioms\n'Reasoning.Main.triage_ledger' does not depend on any axioms\n'Reasoning.Main.triage_level' does not depend on any axioms\n'Reasoning.Main.triage_replays' does not depend on any axioms\n'Reasoning.Main.triage_shock' does not depend on any axioms\n'Reasoning.Main.triage_well' does not depend on any axioms\n'Reasoning.Main.triage_well_ledger' does not depend on any axioms\n","stdout_sha256":"13bfab88bf1e8f71fc26deed8cf04a2a08de1934d83603a6cc29cf959867360f","tool":"lean"} diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Planner.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Planner.process.json deleted file mode 100644 index 1a69366cf..000000000 --- a/examples/reasoning/expected/verify/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Planner.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Planner.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Planner","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Reasoning.Planner.Anywhere.sound' depends on axioms: [propext]\n'Reasoning.Planner.EmptyB.apply' does not depend on any axioms\n'Reasoning.Planner.EmptyB.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.EmptyB.conclusion' does not depend on any axioms\n'Reasoning.Planner.EmptyB.guard' does not depend on any axioms\n'Reasoning.Planner.FillA.apply' does not depend on any axioms\n'Reasoning.Planner.FillA.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.FillA.conclusion' does not depend on any axioms\n'Reasoning.Planner.FillA.guard' does not depend on any axioms\n'Reasoning.Planner.Fits' does not depend on any axioms\n'Reasoning.Planner.Held' does not depend on any axioms\n'Reasoning.Planner.Inside.sound' depends on axioms: [propext]\n'Reasoning.Planner.Measured.sound' depends on axioms: [propext]\n'Reasoning.Planner.Measures' does not depend on any axioms\n'Reasoning.Planner.Moves' does not depend on any axioms\n'Reasoning.Planner.Plan' depends on axioms: [propext]\n'Reasoning.Planner.Plan.EmptyB.successors' does not depend on any axioms\n'Reasoning.Planner.Plan.EmptyB.successors_ok' does not depend on any axioms\n'Reasoning.Planner.Plan.FillA.successors' does not depend on any axioms\n'Reasoning.Planner.Plan.FillA.successors_ok' does not depend on any axioms\n'Reasoning.Planner.Plan.Ledger' does not depend on any axioms\n'Reasoning.Planner.Plan.Node' does not depend on any axioms\n'Reasoning.Planner.Plan.Pour.collect' does not depend on any axioms\n'Reasoning.Planner.Plan.Pour.successors' does not depend on any axioms\n'Reasoning.Planner.Plan.Pour.successors_ok' does not depend on any axioms\n'Reasoning.Planner.Plan.Search' does not depend on any axioms\n'Reasoning.Planner.Plan.Step' does not depend on any axioms\n'Reasoning.Planner.Plan.accept' does not depend on any axioms\n'Reasoning.Planner.Plan.accept_sound' depends on axioms: [propext]\n'Reasoning.Planner.Plan.answer' does not depend on any axioms\n'Reasoning.Planner.Plan.attempts' does not depend on any axioms\n'Reasoning.Planner.Plan.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.Plan.expansions_bounded' depends on axioms: [propext]\n'Reasoning.Planner.Plan.explained' depends on axioms: [propext]\n'Reasoning.Planner.Plan.extend' does not depend on any axioms\n'Reasoning.Planner.Plan.extract' does not depend on any axioms\n'Reasoning.Planner.Plan.failure' does not depend on any axioms\n'Reasoning.Planner.Plan.fire' does not depend on any axioms\n'Reasoning.Planner.Plan.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.Plan.follow' does not depend on any axioms\n'Reasoning.Planner.Plan.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.Plan.fresh' depends on axioms: [propext]\n'Reasoning.Planner.Plan.fresh_ok' depends on axioms: [propext]\n'Reasoning.Planner.Plan.frontier_bounded' depends on axioms: [propext]\n'Reasoning.Planner.Plan.iterations_bounded' depends on axioms: [propext]\n'Reasoning.Planner.Plan.observe' does not depend on any axioms\n'Reasoning.Planner.Plan.replay' does not depend on any axioms\n'Reasoning.Planner.Plan.replay_fire' does not depend on any axioms\n'Reasoning.Planner.Plan.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.Plan.run' depends on axioms: [propext]\n'Reasoning.Planner.Plan.searchStep' depends on axioms: [propext]\n'Reasoning.Planner.Plan.search_count' depends on axioms: [propext]\n'Reasoning.Planner.Plan.search_expanded' depends on axioms: [propext]\n'Reasoning.Planner.Plan.search_ok' depends on axioms: [propext]\n'Reasoning.Planner.Plan.search_peak' depends on axioms: [propext]\n'Reasoning.Planner.Plan.search_step' depends on axioms: [propext]\n'Reasoning.Planner.Plan.search_verify_growth' depends on axioms: [propext]\n'Reasoning.Planner.Plan.start' depends on axioms: [propext]\n'Reasoning.Planner.Plan.successors' does not depend on any axioms\n'Reasoning.Planner.Plan.successors_ok' does not depend on any axioms\n'Reasoning.Planner.Plan.verdict' depends on axioms: [propext]\n'Reasoning.Planner.Plan.verdict_sound' depends on axioms: [propext]\n'Reasoning.Planner.Plan.verifications_bounded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.EmptyB.successors' does not depend on any axioms\n'Reasoning.Planner.PlanFit.EmptyB.successors_ok' does not depend on any axioms\n'Reasoning.Planner.PlanFit.FillA.successors' does not depend on any axioms\n'Reasoning.Planner.PlanFit.FillA.successors_ok' does not depend on any axioms\n'Reasoning.Planner.PlanFit.Ledger' does not depend on any axioms\n'Reasoning.Planner.PlanFit.Node' does not depend on any axioms\n'Reasoning.Planner.PlanFit.Pour.collect' does not depend on any axioms\n'Reasoning.Planner.PlanFit.Pour.successors' does not depend on any axioms\n'Reasoning.Planner.PlanFit.Pour.successors_ok' does not depend on any axioms\n'Reasoning.Planner.PlanFit.Search' does not depend on any axioms\n'Reasoning.Planner.PlanFit.Step' does not depend on any axioms\n'Reasoning.Planner.PlanFit.accept' does not depend on any axioms\n'Reasoning.Planner.PlanFit.accept_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Planner.PlanFit.answer' does not depend on any axioms\n'Reasoning.Planner.PlanFit.attempts' does not depend on any axioms\n'Reasoning.Planner.PlanFit.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFit.expansions_bounded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.explained' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFit.extend' does not depend on any axioms\n'Reasoning.Planner.PlanFit.extract' does not depend on any axioms\n'Reasoning.Planner.PlanFit.failure' does not depend on any axioms\n'Reasoning.Planner.PlanFit.fire' does not depend on any axioms\n'Reasoning.Planner.PlanFit.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFit.follow' does not depend on any axioms\n'Reasoning.Planner.PlanFit.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFit.fresh' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.fresh_ok' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.frontier_bounded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.iterations_bounded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.observe' does not depend on any axioms\n'Reasoning.Planner.PlanFit.replay' does not depend on any axioms\n'Reasoning.Planner.PlanFit.replay_fire' does not depend on any axioms\n'Reasoning.Planner.PlanFit.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFit.run' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.searchStep' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.search_count' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.search_expanded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.search_ok' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.search_peak' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.search_step' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.search_verify_growth' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.start' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.successors' does not depend on any axioms\n'Reasoning.Planner.PlanFit.successors_ok' does not depend on any axioms\n'Reasoning.Planner.PlanFit.verdict' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.verdict_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFit.verifications_bounded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.EmptyB.successors' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.EmptyB.successors_ok' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.FillA.successors' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.FillA.successors_ok' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.Ledger' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.Node' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.Pour.collect' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.Pour.successors' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.Pour.successors_ok' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.Search' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.Step' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.accept' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.accept_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Planner.PlanFitR.answer' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.attempts' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFitR.expansions_bounded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.explained' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFitR.extend' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.extract' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.failure' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.fire' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFitR.follow' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFitR.follow_relation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFitR.fresh' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.fresh_ok' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.frontier_bounded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.iterations_bounded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.observe' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.replay' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.replay_fire' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFitR.run' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.searchStep' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.search_count' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.search_expanded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.search_ok' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.search_peak' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.search_step' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.search_verify_growth' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.start' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.successors' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.successors_ok' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.verdict' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.verdict_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFitR.verifications_bounded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.EmptyB.successors' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.EmptyB.successors_ok' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.FillA.successors' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.FillA.successors_ok' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.Ledger' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.Node' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.Pour.collect' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.Pour.successors' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.Pour.successors_ok' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.Search' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.Step' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.accept' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.accept_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Planner.PlanFitU.answer' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.attempts' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFitU.expansions_bounded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.explained' depends on axioms: [propext, Quot.sound]\n'Reasoning.Planner.PlanFitU.extend' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.extract' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.failure' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.fire' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFitU.follow' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFitU.fresh' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.fresh_ok' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.frontier_bounded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.iterations_bounded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.observe' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.replay' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.replay_fire' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFitU.run' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.searchStep' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.search_count' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.search_expanded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.search_ok' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.search_peak' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.search_step' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.search_verify_growth' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.start' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.successors' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.successors_ok' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.verdict' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.verdict_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Planner.PlanFitU.verifications_bounded' depends on axioms: [propext]\n'Reasoning.Planner.Pour.apply' does not depend on any axioms\n'Reasoning.Planner.Pour.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.Pour.candidates' does not depend on any axioms\n'Reasoning.Planner.Pour.conclusion' does not depend on any axioms\n'Reasoning.Planner.Pour.guard' does not depend on any axioms\n'Reasoning.Planner.Pouring.preserves' does not depend on any axioms\n'Reasoning.Planner.Whole' does not depend on any axioms\n'Reasoning.Planner.Within' does not depend on any axioms\n'Reasoning.Planner.empty_jugs_fit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.emptyb_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.filla_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.fits_kept' does not depend on any axioms\n'Reasoning.Planner.held_initial' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.held_preserved' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.measuresCheck' does not depend on any axioms\n'Reasoning.Planner.measures_sound' depends on axioms: [propext]\n'Reasoning.Planner.plan_fit_correct' depends on axioms: [propext, Quot.sound]\n'Reasoning.Planner.plan_held_correct' depends on axioms: [propext, Quot.sound]\n'Reasoning.Planner.plan_whole_correct' depends on axioms: [propext, Quot.sound]\n'Reasoning.Planner.pour_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.wholeCheck' does not depend on any axioms\n'Reasoning.Planner.whole_sound' depends on axioms: [propext]\n'Reasoning.Planner.withinCheck' does not depend on any axioms\n'Reasoning.Planner.within_sound' depends on axioms: [propext]\n","stdout_sha256":"1bde3cc2a8f61dcfb844a885ccd0a1c0ee853cf3e237d0038b10dd7f015cf6f3","tool":"lean"} diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Screening.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Screening.process.json deleted file mode 100644 index 7a86ffa44..000000000 --- a/examples/reasoning/expected/verify/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Screening.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Screening.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Screening","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Reasoning.Screening.Dose' does not depend on any axioms\n'Reasoning.Screening.Dose.Ledger' does not depend on any axioms\n'Reasoning.Screening.Dose.Step' does not depend on any axioms\n'Reasoning.Screening.Dose.Trial' does not depend on any axioms\n'Reasoning.Screening.Dose.answer' does not depend on any axioms\n'Reasoning.Screening.Dose.candidates' does not depend on any axioms\n'Reasoning.Screening.Dose.explained' depends on axioms: [propext]\n'Reasoning.Screening.Dose.failure' does not depend on any axioms\n'Reasoning.Screening.Dose.run' does not depend on any axioms\n'Reasoning.Screening.Dose.run_sound' depends on axioms: [propext]\n'Reasoning.Screening.Dose.try' does not depend on any axioms\n'Reasoning.Screening.Dose.try_count' does not depend on any axioms\n'Reasoning.Screening.Dose.try_sound' depends on axioms: [propext]\n'Reasoning.Screening.Dose.verdict' does not depend on any axioms\n'Reasoning.Screening.Dose.verdict_sound' depends on axioms: [propext]\n'Reasoning.Screening.Dose.verifications_bounded' does not depend on any axioms\n'Reasoning.Screening.Dose.verify' does not depend on any axioms\n'Reasoning.Screening.Dose.verify_sound' depends on axioms: [propext]\n'Reasoning.Screening.DoseCandidates' does not depend on any axioms\n'Reasoning.Screening.DoseContract.postcondition_sound' depends on axioms: [propext]\n'Reasoning.Screening.DoseModel' does not depend on any axioms\n'Reasoning.Screening.Propose.apply' does not depend on any axioms\n'Reasoning.Screening.Propose.apply_sound' depends on axioms: [propext]\n'Reasoning.Screening.Propose.candidates' does not depend on any axioms\n'Reasoning.Screening.Propose.conclusion' does not depend on any axioms\n'Reasoning.Screening.Propose.guard' does not depend on any axioms\n'Reasoning.Screening.Proposed' does not depend on any axioms\n'Reasoning.Screening.Safe' does not depend on any axioms\n'Reasoning.Screening.SafeDose.sound' depends on axioms: [propext]\n'Reasoning.Screening.Screen' does not depend on any axioms\n'Reasoning.Screening.Screen.Ledger' does not depend on any axioms\n'Reasoning.Screening.Screen.Node' does not depend on any axioms\n'Reasoning.Screening.Screen.Propose.collect' does not depend on any axioms\n'Reasoning.Screening.Screen.Propose.successors' does not depend on any axioms\n'Reasoning.Screening.Screen.Propose.successors_ok' does not depend on any axioms\n'Reasoning.Screening.Screen.Search' does not depend on any axioms\n'Reasoning.Screening.Screen.Step' does not depend on any axioms\n'Reasoning.Screening.Screen.accept' does not depend on any axioms\n'Reasoning.Screening.Screen.accept_sound' depends on axioms: [propext]\n'Reasoning.Screening.Screen.answer' does not depend on any axioms\n'Reasoning.Screening.Screen.attempts' does not depend on any axioms\n'Reasoning.Screening.Screen.derivation' depends on axioms: [propext]\n'Reasoning.Screening.Screen.expansions_bounded' does not depend on any axioms\n'Reasoning.Screening.Screen.explained' depends on axioms: [propext]\n'Reasoning.Screening.Screen.extend' does not depend on any axioms\n'Reasoning.Screening.Screen.extract' does not depend on any axioms\n'Reasoning.Screening.Screen.failure' does not depend on any axioms\n'Reasoning.Screening.Screen.fire' does not depend on any axioms\n'Reasoning.Screening.Screen.fire_sound' depends on axioms: [propext]\n'Reasoning.Screening.Screen.follow' does not depend on any axioms\n'Reasoning.Screening.Screen.frontier_bounded' does not depend on any axioms\n'Reasoning.Screening.Screen.iterations_bounded' does not depend on any axioms\n'Reasoning.Screening.Screen.observe' does not depend on any axioms\n'Reasoning.Screening.Screen.replay' does not depend on any axioms\n'Reasoning.Screening.Screen.replay_fire' does not depend on any axioms\n'Reasoning.Screening.Screen.replay_sound' depends on axioms: [propext]\n'Reasoning.Screening.Screen.run' does not depend on any axioms\n'Reasoning.Screening.Screen.searchStep' does not depend on any axioms\n'Reasoning.Screening.Screen.search_count' does not depend on any axioms\n'Reasoning.Screening.Screen.search_expanded' does not depend on any axioms\n'Reasoning.Screening.Screen.search_ok' does not depend on any axioms\n'Reasoning.Screening.Screen.search_peak' does not depend on any axioms\n'Reasoning.Screening.Screen.search_step' does not depend on any axioms\n'Reasoning.Screening.Screen.search_verify_growth' does not depend on any axioms\n'Reasoning.Screening.Screen.start' does not depend on any axioms\n'Reasoning.Screening.Screen.successors' does not depend on any axioms\n'Reasoning.Screening.Screen.successors_ok' does not depend on any axioms\n'Reasoning.Screening.Screen.verdict' does not depend on any axioms\n'Reasoning.Screening.Screen.verdict_sound' depends on axioms: [propext]\n'Reasoning.Screening.Screen.verifications_bounded' does not depend on any axioms\n'Reasoning.Screening.Short' does not depend on any axioms\n'Reasoning.Screening.propose_sound' depends on axioms: [propext]\n'Reasoning.Screening.safeCheck' does not depend on any axioms\n'Reasoning.Screening.safe_sound' depends on axioms: [propext]\n'Reasoning.Screening.shortCheck' does not depend on any axioms\n'Reasoning.Screening.short_sound' depends on axioms: [propext]\n","stdout_sha256":"cf0950a5981076ee37dfdf563d46105dc9dbe4ef7ca4ebdbbbc5af2f23a3410b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Collections.lean b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Collections.lean new file mode 100644 index 000000000..ae0a21413 --- /dev/null +++ b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Collections.lean @@ -0,0 +1,105 @@ +module +import LexLeanRuntime.Collections +#print axioms LexLeanCollections.Key +#print axioms LexLeanCollections.Key.casesOn +#print axioms LexLeanCollections.Key.compare +#print axioms LexLeanCollections.Key.ctorIdx +#print axioms LexLeanCollections.Key.mk._flat_ctor +#print axioms LexLeanCollections.Key.mk.noConfusion +#print axioms LexLeanCollections.Key.noConfusion +#print axioms LexLeanCollections.Key.noConfusionType +#print axioms LexLeanCollections.Key.recOn +#print axioms LexLeanCollections.compareCodes +#print axioms LexLeanCollections.compareCodes._f +#print axioms LexLeanCollections.compareCodes._sparseCasesOn_1 +#print axioms LexLeanCollections.compareCodes._sunfold +#print axioms LexLeanCollections.compareCodes._unsafe_rec +#print axioms LexLeanCollections.compareCodes.match_1 +#print axioms LexLeanCollections.compareCodes.match_4 +#print axioms LexLeanCollections.containsElement +#print axioms LexLeanCollections.containsElement._f +#print axioms LexLeanCollections.containsElement._sunfold +#print axioms LexLeanCollections.containsElement._unsafe_rec +#print axioms LexLeanCollections.graphNodes +#print axioms LexLeanCollections.graphReachable +#print axioms LexLeanCollections.graphSuccessors +#print axioms LexLeanCollections.graphTopological +#print axioms LexLeanCollections.insertElement +#print axioms LexLeanCollections.insertElement._f +#print axioms LexLeanCollections.insertElement._sunfold +#print axioms LexLeanCollections.insertElement._unsafe_rec +#print axioms LexLeanCollections.insertElement.match_1 +#print axioms LexLeanCollections.insertEntry +#print axioms LexLeanCollections.insertEntry._f +#print axioms LexLeanCollections.insertEntry._sunfold +#print axioms LexLeanCollections.insertEntry._unsafe_rec +#print axioms LexLeanCollections.insertEntry.match_1 +#print axioms LexLeanCollections.insertEntry.match_3 +#print axioms LexLeanCollections.instKeyBool +#print axioms LexLeanCollections.instKeyInt +#print axioms LexLeanCollections.instKeyInt16 +#print axioms LexLeanCollections.instKeyInt32 +#print axioms LexLeanCollections.instKeyInt64 +#print axioms LexLeanCollections.instKeyInt8 +#print axioms LexLeanCollections.instKeyNat +#print axioms LexLeanCollections.instKeyProd +#print axioms LexLeanCollections.instKeyString +#print axioms LexLeanCollections.instKeyUInt16 +#print axioms LexLeanCollections.instKeyUInt32 +#print axioms LexLeanCollections.instKeyUInt64 +#print axioms LexLeanCollections.instKeyUInt8 +#print axioms LexLeanCollections.iterate +#print axioms LexLeanCollections.iterate._f +#print axioms LexLeanCollections.iterate._sunfold +#print axioms LexLeanCollections.iterate._unsafe_rec +#print axioms LexLeanCollections.iterate.match_1 +#print axioms LexLeanCollections.iterateUntil +#print axioms LexLeanCollections.iterateUntil._f +#print axioms LexLeanCollections.iterateUntil._sunfold +#print axioms LexLeanCollections.iterateUntil._unsafe_rec +#print axioms LexLeanCollections.iterateUntil.match_1 +#print axioms LexLeanCollections.lessThan +#print axioms LexLeanCollections.lessThan._sparseCasesOn_1 +#print axioms LexLeanCollections.lessThan.match_1 +#print axioms LexLeanCollections.listFold +#print axioms LexLeanCollections.lookupEntry +#print axioms LexLeanCollections.lookupEntry._f +#print axioms LexLeanCollections.lookupEntry._sunfold +#print axioms LexLeanCollections.lookupEntry._unsafe_rec +#print axioms LexLeanCollections.mapContains +#print axioms LexLeanCollections.mapEntries +#print axioms LexLeanCollections.mapFold +#print axioms LexLeanCollections.mapInsert +#print axioms LexLeanCollections.mapKeys +#print axioms LexLeanCollections.mapLookup +#print axioms LexLeanCollections.mapRemove +#print axioms LexLeanCollections.mapSize +#print axioms LexLeanCollections.mapValues +#print axioms LexLeanCollections.reachableFrom +#print axioms LexLeanCollections.reachableFrom._f +#print axioms LexLeanCollections.reachableFrom._sparseCasesOn_1 +#print axioms LexLeanCollections.reachableFrom._sunfold +#print axioms LexLeanCollections.reachableFrom._unsafe_rec +#print axioms LexLeanCollections.reachableFrom.match_1 +#print axioms LexLeanCollections.reachableFrom.match_4 +#print axioms LexLeanCollections.removeElement +#print axioms LexLeanCollections.removeElement._f +#print axioms LexLeanCollections.removeElement._sunfold +#print axioms LexLeanCollections.removeElement._unsafe_rec +#print axioms LexLeanCollections.removeEntry +#print axioms LexLeanCollections.removeEntry._f +#print axioms LexLeanCollections.removeEntry._sunfold +#print axioms LexLeanCollections.removeEntry._unsafe_rec +#print axioms LexLeanCollections.setContains +#print axioms LexLeanCollections.setDifference +#print axioms LexLeanCollections.setElements +#print axioms LexLeanCollections.setFold +#print axioms LexLeanCollections.setInsert +#print axioms LexLeanCollections.setIntersection +#print axioms LexLeanCollections.setRemove +#print axioms LexLeanCollections.setSize +#print axioms LexLeanCollections.setUnion +#print axioms LexLeanCollections.topological +#print axioms LexLeanCollections.topological._f +#print axioms LexLeanCollections.topological._sunfold +#print axioms LexLeanCollections.topological._unsafe_rec diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Collections.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Collections.process.json new file mode 100644 index 000000000..43ea46086 --- /dev/null +++ b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Collections.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Collections.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Collections","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanCollections.Key' does not depend on any axioms\n'LexLeanCollections.Key.casesOn' does not depend on any axioms\n'LexLeanCollections.Key.compare' does not depend on any axioms\n'LexLeanCollections.Key.ctorIdx' does not depend on any axioms\n'LexLeanCollections.Key.mk._flat_ctor' does not depend on any axioms\n'LexLeanCollections.Key.mk.noConfusion' does not depend on any axioms\n'LexLeanCollections.Key.noConfusion' does not depend on any axioms\n'LexLeanCollections.Key.noConfusionType' does not depend on any axioms\n'LexLeanCollections.Key.recOn' does not depend on any axioms\n'LexLeanCollections.compareCodes' depends on axioms: [propext]\n'LexLeanCollections.compareCodes._f' depends on axioms: [propext]\n'LexLeanCollections.compareCodes._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanCollections.compareCodes._sunfold' depends on axioms: [propext]\n'LexLeanCollections.compareCodes._unsafe_rec' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.match_1' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.match_4' does not depend on any axioms\n'LexLeanCollections.containsElement' does not depend on any axioms\n'LexLeanCollections.containsElement._f' does not depend on any axioms\n'LexLeanCollections.containsElement._sunfold' does not depend on any axioms\n'LexLeanCollections.containsElement._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.graphNodes' does not depend on any axioms\n'LexLeanCollections.graphReachable' depends on axioms: [propext]\n'LexLeanCollections.graphSuccessors' does not depend on any axioms\n'LexLeanCollections.graphTopological' does not depend on any axioms\n'LexLeanCollections.insertElement' does not depend on any axioms\n'LexLeanCollections.insertElement._f' does not depend on any axioms\n'LexLeanCollections.insertElement._sunfold' does not depend on any axioms\n'LexLeanCollections.insertElement._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.insertElement.match_1' does not depend on any axioms\n'LexLeanCollections.insertEntry' does not depend on any axioms\n'LexLeanCollections.insertEntry._f' does not depend on any axioms\n'LexLeanCollections.insertEntry._sunfold' does not depend on any axioms\n'LexLeanCollections.insertEntry._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.insertEntry.match_1' does not depend on any axioms\n'LexLeanCollections.insertEntry.match_3' does not depend on any axioms\n'LexLeanCollections.instKeyBool' depends on axioms: [propext]\n'LexLeanCollections.instKeyInt' does not depend on any axioms\n'LexLeanCollections.instKeyInt16' does not depend on any axioms\n'LexLeanCollections.instKeyInt32' does not depend on any axioms\n'LexLeanCollections.instKeyInt64' does not depend on any axioms\n'LexLeanCollections.instKeyInt8' does not depend on any axioms\n'LexLeanCollections.instKeyNat' does not depend on any axioms\n'LexLeanCollections.instKeyProd' depends on axioms: [propext]\n'LexLeanCollections.instKeyString' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanCollections.instKeyUInt16' does not depend on any axioms\n'LexLeanCollections.instKeyUInt32' does not depend on any axioms\n'LexLeanCollections.instKeyUInt64' does not depend on any axioms\n'LexLeanCollections.instKeyUInt8' does not depend on any axioms\n'LexLeanCollections.iterate' does not depend on any axioms\n'LexLeanCollections.iterate._f' does not depend on any axioms\n'LexLeanCollections.iterate._sunfold' does not depend on any axioms\n'LexLeanCollections.iterate._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.iterate.match_1' does not depend on any axioms\n'LexLeanCollections.iterateUntil' does not depend on any axioms\n'LexLeanCollections.iterateUntil._f' does not depend on any axioms\n'LexLeanCollections.iterateUntil._sunfold' does not depend on any axioms\n'LexLeanCollections.iterateUntil._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.iterateUntil.match_1' does not depend on any axioms\n'LexLeanCollections.lessThan' depends on axioms: [propext]\n'LexLeanCollections.lessThan._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanCollections.lessThan.match_1' depends on axioms: [propext]\n'LexLeanCollections.listFold' does not depend on any axioms\n'LexLeanCollections.lookupEntry' does not depend on any axioms\n'LexLeanCollections.lookupEntry._f' does not depend on any axioms\n'LexLeanCollections.lookupEntry._sunfold' does not depend on any axioms\n'LexLeanCollections.lookupEntry._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.mapContains' does not depend on any axioms\n'LexLeanCollections.mapEntries' does not depend on any axioms\n'LexLeanCollections.mapFold' does not depend on any axioms\n'LexLeanCollections.mapInsert' does not depend on any axioms\n'LexLeanCollections.mapKeys' does not depend on any axioms\n'LexLeanCollections.mapLookup' does not depend on any axioms\n'LexLeanCollections.mapRemove' does not depend on any axioms\n'LexLeanCollections.mapSize' does not depend on any axioms\n'LexLeanCollections.mapValues' does not depend on any axioms\n'LexLeanCollections.reachableFrom' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom._f' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom._sunfold' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom._unsafe_rec' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom.match_1' depends on axioms: [propext]\n'LexLeanCollections.reachableFrom.match_4' does not depend on any axioms\n'LexLeanCollections.removeElement' does not depend on any axioms\n'LexLeanCollections.removeElement._f' does not depend on any axioms\n'LexLeanCollections.removeElement._sunfold' does not depend on any axioms\n'LexLeanCollections.removeElement._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.removeEntry' does not depend on any axioms\n'LexLeanCollections.removeEntry._f' does not depend on any axioms\n'LexLeanCollections.removeEntry._sunfold' does not depend on any axioms\n'LexLeanCollections.removeEntry._unsafe_rec' does not depend on any axioms\n'LexLeanCollections.setContains' does not depend on any axioms\n'LexLeanCollections.setDifference' does not depend on any axioms\n'LexLeanCollections.setElements' does not depend on any axioms\n'LexLeanCollections.setFold' does not depend on any axioms\n'LexLeanCollections.setInsert' does not depend on any axioms\n'LexLeanCollections.setIntersection' does not depend on any axioms\n'LexLeanCollections.setRemove' does not depend on any axioms\n'LexLeanCollections.setSize' does not depend on any axioms\n'LexLeanCollections.setUnion' does not depend on any axioms\n'LexLeanCollections.topological' does not depend on any axioms\n'LexLeanCollections.topological._f' does not depend on any axioms\n'LexLeanCollections.topological._sunfold' does not depend on any axioms\n'LexLeanCollections.topological._unsafe_rec' does not depend on any axioms\n","stdout_sha256":"b75acc0e99e23684c3cc876eacbfc93f47161cfee8a7440df17fa45f321c8c6a","tool":"lean"} diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Models.lean b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Models.lean new file mode 100644 index 000000000..220cccfd6 --- /dev/null +++ b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Models.lean @@ -0,0 +1,29 @@ +module +import LexLeanRuntime.Models +#print axioms LexLeanModels.Agreement +#print axioms LexLeanModels.Complete1 +#print axioms LexLeanModels.Complete2 +#print axioms LexLeanModels.Complete4 +#print axioms LexLeanModels.Equivalent +#print axioms LexLeanModels.EquivalentStep +#print axioms LexLeanModels.EquivalentStepNoInvariant +#print axioms LexLeanModels.EquivalentStepNoPrecondition +#print axioms LexLeanModels.EquivalentStepTotal +#print axioms LexLeanModels.EquivalentTotal +#print axioms LexLeanModels.Initial +#print axioms LexLeanModels.Preserves +#print axioms LexLeanModels.PreservesTotal +#print axioms LexLeanModels.Satisfies +#print axioms LexLeanModels.SatisfiesStep +#print axioms LexLeanModels.SatisfiesStepNoInvariant +#print axioms LexLeanModels.SatisfiesStepNoPrecondition +#print axioms LexLeanModels.SatisfiesStepTotal +#print axioms LexLeanModels.SatisfiesTotal +#print axioms LexLeanModels.Sound1 +#print axioms LexLeanModels.Sound2 +#print axioms LexLeanModels.Sound4 +#print axioms LexLeanModels.encodeInt +#print axioms LexLeanModels.inRange +#print axioms LexLeanModels.linesMatch +#print axioms LexLeanModels.tensorMatches +#print axioms LexLeanModels.utf8Char diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Models.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Models.process.json new file mode 100644 index 000000000..7a0bc620c --- /dev/null +++ b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Models.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Models.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Models","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanModels.Agreement' does not depend on any axioms\n'LexLeanModels.Complete1' does not depend on any axioms\n'LexLeanModels.Complete2' does not depend on any axioms\n'LexLeanModels.Complete4' does not depend on any axioms\n'LexLeanModels.Equivalent' does not depend on any axioms\n'LexLeanModels.EquivalentStep' does not depend on any axioms\n'LexLeanModels.EquivalentStepNoInvariant' does not depend on any axioms\n'LexLeanModels.EquivalentStepNoPrecondition' does not depend on any axioms\n'LexLeanModels.EquivalentStepTotal' does not depend on any axioms\n'LexLeanModels.EquivalentTotal' does not depend on any axioms\n'LexLeanModels.Initial' does not depend on any axioms\n'LexLeanModels.Preserves' does not depend on any axioms\n'LexLeanModels.PreservesTotal' does not depend on any axioms\n'LexLeanModels.Satisfies' does not depend on any axioms\n'LexLeanModels.SatisfiesStep' does not depend on any axioms\n'LexLeanModels.SatisfiesStepNoInvariant' does not depend on any axioms\n'LexLeanModels.SatisfiesStepNoPrecondition' does not depend on any axioms\n'LexLeanModels.SatisfiesStepTotal' does not depend on any axioms\n'LexLeanModels.SatisfiesTotal' does not depend on any axioms\n'LexLeanModels.Sound1' does not depend on any axioms\n'LexLeanModels.Sound2' does not depend on any axioms\n'LexLeanModels.Sound4' does not depend on any axioms\n'LexLeanModels.encodeInt' does not depend on any axioms\n'LexLeanModels.inRange' does not depend on any axioms\n'LexLeanModels.linesMatch' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanModels.tensorMatches' does not depend on any axioms\n'LexLeanModels.utf8Char' does not depend on any axioms\n","stdout_sha256":"43ad1c715570458672aedc9abb1691012eef870f5b804f1e230abb890e49ffee","tool":"lean"} diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Portable.lean b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Portable.lean new file mode 100644 index 000000000..dd62fd557 --- /dev/null +++ b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Portable.lean @@ -0,0 +1,162 @@ +module +import LexLeanRuntime.Portable +#print axioms LexLeanRuntime.Appendable +#print axioms LexLeanRuntime.Appendable.append +#print axioms LexLeanRuntime.Appendable.casesOn +#print axioms LexLeanRuntime.Appendable.ctorIdx +#print axioms LexLeanRuntime.Appendable.mk._flat_ctor +#print axioms LexLeanRuntime.Appendable.mk.noConfusion +#print axioms LexLeanRuntime.Appendable.noConfusion +#print axioms LexLeanRuntime.Appendable.noConfusionType +#print axioms LexLeanRuntime.Appendable.recOn +#print axioms LexLeanRuntime.Decimal +#print axioms LexLeanRuntime.Decimal.casesOn +#print axioms LexLeanRuntime.Decimal.ctorIdx +#print axioms LexLeanRuntime.Decimal.format +#print axioms LexLeanRuntime.Decimal.mk._flat_ctor +#print axioms LexLeanRuntime.Decimal.mk.noConfusion +#print axioms LexLeanRuntime.Decimal.noConfusion +#print axioms LexLeanRuntime.Decimal.noConfusionType +#print axioms LexLeanRuntime.Decimal.parse +#print axioms LexLeanRuntime.Decimal.recOn +#print axioms LexLeanRuntime.Fixed +#print axioms LexLeanRuntime.Fixed.bitAnd +#print axioms LexLeanRuntime.Fixed.bitNot +#print axioms LexLeanRuntime.Fixed.bitOr +#print axioms LexLeanRuntime.Fixed.bitXor +#print axioms LexLeanRuntime.Fixed.casesOn +#print axioms LexLeanRuntime.Fixed.ctorIdx +#print axioms LexLeanRuntime.Fixed.fromInt +#print axioms LexLeanRuntime.Fixed.maximum +#print axioms LexLeanRuntime.Fixed.minimum +#print axioms LexLeanRuntime.Fixed.mk._flat_ctor +#print axioms LexLeanRuntime.Fixed.mk.noConfusion +#print axioms LexLeanRuntime.Fixed.noConfusion +#print axioms LexLeanRuntime.Fixed.noConfusionType +#print axioms LexLeanRuntime.Fixed.recOn +#print axioms LexLeanRuntime.Fixed.shiftLeft +#print axioms LexLeanRuntime.Fixed.shiftRight +#print axioms LexLeanRuntime.Fixed.toToMathInt +#print axioms LexLeanRuntime.Indexable +#print axioms LexLeanRuntime.Indexable.casesOn +#print axioms LexLeanRuntime.Indexable.ctorIdx +#print axioms LexLeanRuntime.Indexable.index +#print axioms LexLeanRuntime.Indexable.mk._flat_ctor +#print axioms LexLeanRuntime.Indexable.mk.noConfusion +#print axioms LexLeanRuntime.Indexable.noConfusion +#print axioms LexLeanRuntime.Indexable.noConfusionType +#print axioms LexLeanRuntime.Indexable.recOn +#print axioms LexLeanRuntime.Lengthable +#print axioms LexLeanRuntime.Lengthable.casesOn +#print axioms LexLeanRuntime.Lengthable.ctorIdx +#print axioms LexLeanRuntime.Lengthable.length +#print axioms LexLeanRuntime.Lengthable.mk._flat_ctor +#print axioms LexLeanRuntime.Lengthable.mk.noConfusion +#print axioms LexLeanRuntime.Lengthable.noConfusion +#print axioms LexLeanRuntime.Lengthable.noConfusionType +#print axioms LexLeanRuntime.Lengthable.recOn +#print axioms LexLeanRuntime.Quotient +#print axioms LexLeanRuntime.Quotient.casesOn +#print axioms LexLeanRuntime.Quotient.ctorIdx +#print axioms LexLeanRuntime.Quotient.isZero +#print axioms LexLeanRuntime.Quotient.mk._flat_ctor +#print axioms LexLeanRuntime.Quotient.mk.noConfusion +#print axioms LexLeanRuntime.Quotient.noConfusion +#print axioms LexLeanRuntime.Quotient.noConfusionType +#print axioms LexLeanRuntime.Quotient.quotient +#print axioms LexLeanRuntime.Quotient.recOn +#print axioms LexLeanRuntime.Quotient.remainder +#print axioms LexLeanRuntime.Sliceable +#print axioms LexLeanRuntime.Sliceable.casesOn +#print axioms LexLeanRuntime.Sliceable.ctorIdx +#print axioms LexLeanRuntime.Sliceable.mk._flat_ctor +#print axioms LexLeanRuntime.Sliceable.mk.noConfusion +#print axioms LexLeanRuntime.Sliceable.noConfusion +#print axioms LexLeanRuntime.Sliceable.noConfusionType +#print axioms LexLeanRuntime.Sliceable.recOn +#print axioms LexLeanRuntime.Sliceable.slice +#print axioms LexLeanRuntime.ToMathInt +#print axioms LexLeanRuntime.ToMathInt.casesOn +#print axioms LexLeanRuntime.ToMathInt.ctorIdx +#print axioms LexLeanRuntime.ToMathInt.mk._flat_ctor +#print axioms LexLeanRuntime.ToMathInt.mk.noConfusion +#print axioms LexLeanRuntime.ToMathInt.noConfusion +#print axioms LexLeanRuntime.ToMathInt.noConfusionType +#print axioms LexLeanRuntime.ToMathInt.recOn +#print axioms LexLeanRuntime.ToMathInt.toInt +#print axioms LexLeanRuntime.append +#print axioms LexLeanRuntime.bitAnd +#print axioms LexLeanRuntime.bitNot +#print axioms LexLeanRuntime.bitOr +#print axioms LexLeanRuntime.bitXor +#print axioms LexLeanRuntime.checkedAdd +#print axioms LexLeanRuntime.checkedAddInt64 +#print axioms LexLeanRuntime.checkedConvert +#print axioms LexLeanRuntime.checkedFromInt +#print axioms LexLeanRuntime.checkedMultiply +#print axioms LexLeanRuntime.checkedMultiplyInt64 +#print axioms LexLeanRuntime.checkedMultiplyInt64.match_1 +#print axioms LexLeanRuntime.checkedNegate +#print axioms LexLeanRuntime.checkedNegateInt64 +#print axioms LexLeanRuntime.checkedQuotient +#print axioms LexLeanRuntime.checkedQuotientInt64 +#print axioms LexLeanRuntime.checkedSubtract +#print axioms LexLeanRuntime.checkedSubtractInt64 +#print axioms LexLeanRuntime.compareBytes +#print axioms LexLeanRuntime.divideMagnitudeInt64 +#print axioms LexLeanRuntime.divideMagnitudeInt64._f +#print axioms LexLeanRuntime.divideMagnitudeInt64._sunfold +#print axioms LexLeanRuntime.divideMagnitudeInt64._unsafe_rec +#print axioms LexLeanRuntime.divideMagnitudeInt64.match_1 +#print axioms LexLeanRuntime.equal +#print axioms LexLeanRuntime.formatDecimal +#print axioms LexLeanRuntime.index +#print axioms LexLeanRuntime.instAppendableByteArray +#print axioms LexLeanRuntime.instAppendableList +#print axioms LexLeanRuntime.instDecimalInt +#print axioms LexLeanRuntime.instDecimalInt.match_1 +#print axioms LexLeanRuntime.instDecimalOfFixedOfToString +#print axioms LexLeanRuntime.instFixedInt16 +#print axioms LexLeanRuntime.instFixedInt32 +#print axioms LexLeanRuntime.instFixedInt64 +#print axioms LexLeanRuntime.instFixedInt8 +#print axioms LexLeanRuntime.instFixedUInt16 +#print axioms LexLeanRuntime.instFixedUInt32 +#print axioms LexLeanRuntime.instFixedUInt64 +#print axioms LexLeanRuntime.instFixedUInt8 +#print axioms LexLeanRuntime.instIndexableByteArrayUInt8 +#print axioms LexLeanRuntime.instIndexableList +#print axioms LexLeanRuntime.instLengthableByteArray +#print axioms LexLeanRuntime.instLengthableList +#print axioms LexLeanRuntime.instLengthableString +#print axioms LexLeanRuntime.instQuotientInt +#print axioms LexLeanRuntime.instQuotientNat +#print axioms LexLeanRuntime.instSliceableByteArray +#print axioms LexLeanRuntime.instSliceableList +#print axioms LexLeanRuntime.instToMathIntInt +#print axioms LexLeanRuntime.join +#print axioms LexLeanRuntime.length +#print axioms LexLeanRuntime.listIndex +#print axioms LexLeanRuntime.listIndex._f +#print axioms LexLeanRuntime.listIndex._sunfold +#print axioms LexLeanRuntime.listIndex._unsafe_rec +#print axioms LexLeanRuntime.listIndex.match_1 +#print axioms LexLeanRuntime.magnitudeInt64 +#print axioms LexLeanRuntime.multiply +#print axioms LexLeanRuntime.multiplyMagnitudeInt64 +#print axioms LexLeanRuntime.multiplyMagnitudeInt64._f +#print axioms LexLeanRuntime.multiplyMagnitudeInt64._sunfold +#print axioms LexLeanRuntime.multiplyMagnitudeInt64._unsafe_rec +#print axioms LexLeanRuntime.multiplyMagnitudeInt64.match_1 +#print axioms LexLeanRuntime.negate +#print axioms LexLeanRuntime.parseDecimal +#print axioms LexLeanRuntime.quotient +#print axioms LexLeanRuntime.remainder +#print axioms LexLeanRuntime.shiftLeft +#print axioms LexLeanRuntime.shiftRight +#print axioms LexLeanRuntime.signedMagnitudeInt64 +#print axioms LexLeanRuntime.slice +#print axioms LexLeanRuntime.splitExact +#print axioms LexLeanRuntime.subtract +#print axioms LexLeanRuntime.utf8Decode +#print axioms LexLeanRuntime.utf8Encode diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Portable.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Portable.process.json new file mode 100644 index 000000000..34484e932 --- /dev/null +++ b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Portable.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Portable.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Portable","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanRuntime.Appendable' does not depend on any axioms\n'LexLeanRuntime.Appendable.append' does not depend on any axioms\n'LexLeanRuntime.Appendable.casesOn' does not depend on any axioms\n'LexLeanRuntime.Appendable.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Appendable.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Appendable.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Appendable.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Appendable.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Appendable.recOn' does not depend on any axioms\n'LexLeanRuntime.Decimal' does not depend on any axioms\n'LexLeanRuntime.Decimal.casesOn' does not depend on any axioms\n'LexLeanRuntime.Decimal.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Decimal.format' does not depend on any axioms\n'LexLeanRuntime.Decimal.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Decimal.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Decimal.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Decimal.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Decimal.parse' does not depend on any axioms\n'LexLeanRuntime.Decimal.recOn' does not depend on any axioms\n'LexLeanRuntime.Fixed' does not depend on any axioms\n'LexLeanRuntime.Fixed.bitAnd' does not depend on any axioms\n'LexLeanRuntime.Fixed.bitNot' does not depend on any axioms\n'LexLeanRuntime.Fixed.bitOr' does not depend on any axioms\n'LexLeanRuntime.Fixed.bitXor' does not depend on any axioms\n'LexLeanRuntime.Fixed.casesOn' does not depend on any axioms\n'LexLeanRuntime.Fixed.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Fixed.fromInt' does not depend on any axioms\n'LexLeanRuntime.Fixed.maximum' does not depend on any axioms\n'LexLeanRuntime.Fixed.minimum' does not depend on any axioms\n'LexLeanRuntime.Fixed.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Fixed.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Fixed.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Fixed.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Fixed.recOn' does not depend on any axioms\n'LexLeanRuntime.Fixed.shiftLeft' does not depend on any axioms\n'LexLeanRuntime.Fixed.shiftRight' does not depend on any axioms\n'LexLeanRuntime.Fixed.toToMathInt' does not depend on any axioms\n'LexLeanRuntime.Indexable' does not depend on any axioms\n'LexLeanRuntime.Indexable.casesOn' does not depend on any axioms\n'LexLeanRuntime.Indexable.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Indexable.index' does not depend on any axioms\n'LexLeanRuntime.Indexable.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Indexable.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Indexable.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Indexable.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Indexable.recOn' does not depend on any axioms\n'LexLeanRuntime.Lengthable' does not depend on any axioms\n'LexLeanRuntime.Lengthable.casesOn' does not depend on any axioms\n'LexLeanRuntime.Lengthable.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Lengthable.length' does not depend on any axioms\n'LexLeanRuntime.Lengthable.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Lengthable.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Lengthable.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Lengthable.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Lengthable.recOn' does not depend on any axioms\n'LexLeanRuntime.Quotient' does not depend on any axioms\n'LexLeanRuntime.Quotient.casesOn' does not depend on any axioms\n'LexLeanRuntime.Quotient.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Quotient.isZero' does not depend on any axioms\n'LexLeanRuntime.Quotient.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Quotient.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Quotient.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Quotient.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Quotient.quotient' does not depend on any axioms\n'LexLeanRuntime.Quotient.recOn' does not depend on any axioms\n'LexLeanRuntime.Quotient.remainder' does not depend on any axioms\n'LexLeanRuntime.Sliceable' does not depend on any axioms\n'LexLeanRuntime.Sliceable.casesOn' does not depend on any axioms\n'LexLeanRuntime.Sliceable.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Sliceable.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Sliceable.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Sliceable.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Sliceable.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Sliceable.recOn' does not depend on any axioms\n'LexLeanRuntime.Sliceable.slice' does not depend on any axioms\n'LexLeanRuntime.ToMathInt' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.casesOn' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.noConfusion' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.recOn' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.toInt' does not depend on any axioms\n'LexLeanRuntime.append' does not depend on any axioms\n'LexLeanRuntime.bitAnd' does not depend on any axioms\n'LexLeanRuntime.bitNot' does not depend on any axioms\n'LexLeanRuntime.bitOr' does not depend on any axioms\n'LexLeanRuntime.bitXor' does not depend on any axioms\n'LexLeanRuntime.checkedAdd' does not depend on any axioms\n'LexLeanRuntime.checkedAddInt64' does not depend on any axioms\n'LexLeanRuntime.checkedConvert' does not depend on any axioms\n'LexLeanRuntime.checkedFromInt' does not depend on any axioms\n'LexLeanRuntime.checkedMultiply' does not depend on any axioms\n'LexLeanRuntime.checkedMultiplyInt64' does not depend on any axioms\n'LexLeanRuntime.checkedMultiplyInt64.match_1' does not depend on any axioms\n'LexLeanRuntime.checkedNegate' does not depend on any axioms\n'LexLeanRuntime.checkedNegateInt64' does not depend on any axioms\n'LexLeanRuntime.checkedQuotient' does not depend on any axioms\n'LexLeanRuntime.checkedQuotientInt64' does not depend on any axioms\n'LexLeanRuntime.checkedSubtract' does not depend on any axioms\n'LexLeanRuntime.checkedSubtractInt64' does not depend on any axioms\n'LexLeanRuntime.compareBytes' depends on axioms: [propext]\n'LexLeanRuntime.divideMagnitudeInt64' does not depend on any axioms\n'LexLeanRuntime.divideMagnitudeInt64._f' does not depend on any axioms\n'LexLeanRuntime.divideMagnitudeInt64._sunfold' does not depend on any axioms\n'LexLeanRuntime.divideMagnitudeInt64._unsafe_rec' does not depend on any axioms\n'LexLeanRuntime.divideMagnitudeInt64.match_1' does not depend on any axioms\n'LexLeanRuntime.equal' does not depend on any axioms\n'LexLeanRuntime.formatDecimal' does not depend on any axioms\n'LexLeanRuntime.index' does not depend on any axioms\n'LexLeanRuntime.instAppendableByteArray' does not depend on any axioms\n'LexLeanRuntime.instAppendableList' does not depend on any axioms\n'LexLeanRuntime.instDecimalInt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.instDecimalInt.match_1' does not depend on any axioms\n'LexLeanRuntime.instDecimalOfFixedOfToString' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.instFixedInt16' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedInt32' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedInt64' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedInt8' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedUInt16' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedUInt32' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedUInt64' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedUInt8' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instIndexableByteArrayUInt8' does not depend on any axioms\n'LexLeanRuntime.instIndexableList' does not depend on any axioms\n'LexLeanRuntime.instLengthableByteArray' does not depend on any axioms\n'LexLeanRuntime.instLengthableList' does not depend on any axioms\n'LexLeanRuntime.instLengthableString' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.instQuotientInt' does not depend on any axioms\n'LexLeanRuntime.instQuotientNat' does not depend on any axioms\n'LexLeanRuntime.instSliceableByteArray' does not depend on any axioms\n'LexLeanRuntime.instSliceableList' does not depend on any axioms\n'LexLeanRuntime.instToMathIntInt' does not depend on any axioms\n'LexLeanRuntime.join' depends on axioms: [propext]\n'LexLeanRuntime.length' does not depend on any axioms\n'LexLeanRuntime.listIndex' does not depend on any axioms\n'LexLeanRuntime.listIndex._f' does not depend on any axioms\n'LexLeanRuntime.listIndex._sunfold' does not depend on any axioms\n'LexLeanRuntime.listIndex._unsafe_rec' does not depend on any axioms\n'LexLeanRuntime.listIndex.match_1' does not depend on any axioms\n'LexLeanRuntime.magnitudeInt64' does not depend on any axioms\n'LexLeanRuntime.multiply' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64._f' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64._sunfold' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64._unsafe_rec' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64.match_1' does not depend on any axioms\n'LexLeanRuntime.negate' does not depend on any axioms\n'LexLeanRuntime.parseDecimal' does not depend on any axioms\n'LexLeanRuntime.quotient' does not depend on any axioms\n'LexLeanRuntime.remainder' does not depend on any axioms\n'LexLeanRuntime.shiftLeft' does not depend on any axioms\n'LexLeanRuntime.shiftRight' does not depend on any axioms\n'LexLeanRuntime.signedMagnitudeInt64' does not depend on any axioms\n'LexLeanRuntime.slice' does not depend on any axioms\n'LexLeanRuntime.splitExact' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.subtract' does not depend on any axioms\n'LexLeanRuntime.utf8Decode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.utf8Encode' does not depend on any axioms\n","stdout_sha256":"73fea1d9e9e9f0a2f1363b9f284eeeb9e434430e9fa910260b9526bad864641e","tool":"lean"} diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Reasoning.lean b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Reasoning.lean new file mode 100644 index 000000000..1bd7ac1c1 --- /dev/null +++ b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Reasoning.lean @@ -0,0 +1,48 @@ +module +import LexLeanRuntime.Reasoning +#print axioms LexLeanReasoning.All +#print axioms LexLeanReasoning.All.below +#print axioms LexLeanReasoning.All.below.casesOn +#print axioms LexLeanReasoning.All.brecOn +#print axioms LexLeanReasoning.All.casesOn +#print axioms LexLeanReasoning.All.recOn +#print axioms LexLeanReasoning.Complete +#print axioms LexLeanReasoning.Found +#print axioms LexLeanReasoning.Found.match_1 +#print axioms LexLeanReasoning.Preserves +#print axioms LexLeanReasoning.Reaches +#print axioms LexLeanReasoning.SearchOk +#print axioms LexLeanReasoning.Sound +#print axioms LexLeanReasoning.Star +#print axioms LexLeanReasoning.Star.below +#print axioms LexLeanReasoning.Star.below.casesOn +#print axioms LexLeanReasoning.Star.brecOn +#print axioms LexLeanReasoning.Star.casesOn +#print axioms LexLeanReasoning.Star.recOn +#print axioms LexLeanReasoning.allAppend +#print axioms LexLeanReasoning.allFold +#print axioms LexLeanReasoning.allHead +#print axioms LexLeanReasoning.allSingle +#print axioms LexLeanReasoning.allTail +#print axioms LexLeanReasoning.bltSucc +#print axioms LexLeanReasoning.capAll +#print axioms LexLeanReasoning.capBound +#print axioms LexLeanReasoning.checked +#print axioms LexLeanReasoning.foldInvariant +#print axioms LexLeanReasoning.foldSnoc +#print axioms LexLeanReasoning.freshAll +#print axioms LexLeanReasoning.guarded +#print axioms LexLeanReasoning.guardedRank +#print axioms LexLeanReasoning.iterateUntilBound +#print axioms LexLeanReasoning.iterateUntilCount +#print axioms LexLeanReasoning.iterateUntilGrowth +#print axioms LexLeanReasoning.iterateUntilInvariant +#print axioms LexLeanReasoning.iterateUntilSimulate +#print axioms LexLeanReasoning.iterateUntilStops +#print axioms LexLeanReasoning.lengthSnoc +#print axioms LexLeanReasoning.noneSome +#print axioms LexLeanReasoning.peakBound +#print axioms LexLeanReasoning.reachesStart +#print axioms LexLeanReasoning.searchStart +#print axioms LexLeanReasoning.starPreserves +#print axioms LexLeanReasoning.zeroLe diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Reasoning.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Reasoning.process.json new file mode 100644 index 000000000..9bbb5c9ac --- /dev/null +++ b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Reasoning.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Reasoning.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.LexLeanRuntime.Reasoning","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanReasoning.All' does not depend on any axioms\n'LexLeanReasoning.All.below' does not depend on any axioms\n'LexLeanReasoning.All.below.casesOn' does not depend on any axioms\n'LexLeanReasoning.All.brecOn' does not depend on any axioms\n'LexLeanReasoning.All.casesOn' does not depend on any axioms\n'LexLeanReasoning.All.recOn' does not depend on any axioms\n'LexLeanReasoning.Complete' does not depend on any axioms\n'LexLeanReasoning.Found' does not depend on any axioms\n'LexLeanReasoning.Found.match_1' does not depend on any axioms\n'LexLeanReasoning.Preserves' does not depend on any axioms\n'LexLeanReasoning.Reaches' does not depend on any axioms\n'LexLeanReasoning.SearchOk' does not depend on any axioms\n'LexLeanReasoning.Sound' does not depend on any axioms\n'LexLeanReasoning.Star' does not depend on any axioms\n'LexLeanReasoning.Star.below' does not depend on any axioms\n'LexLeanReasoning.Star.below.casesOn' does not depend on any axioms\n'LexLeanReasoning.Star.brecOn' does not depend on any axioms\n'LexLeanReasoning.Star.casesOn' does not depend on any axioms\n'LexLeanReasoning.Star.recOn' does not depend on any axioms\n'LexLeanReasoning.allAppend' does not depend on any axioms\n'LexLeanReasoning.allFold' does not depend on any axioms\n'LexLeanReasoning.allHead' does not depend on any axioms\n'LexLeanReasoning.allSingle' does not depend on any axioms\n'LexLeanReasoning.allTail' does not depend on any axioms\n'LexLeanReasoning.bltSucc' does not depend on any axioms\n'LexLeanReasoning.capAll' does not depend on any axioms\n'LexLeanReasoning.capBound' does not depend on any axioms\n'LexLeanReasoning.checked' does not depend on any axioms\n'LexLeanReasoning.foldInvariant' does not depend on any axioms\n'LexLeanReasoning.foldSnoc' does not depend on any axioms\n'LexLeanReasoning.freshAll' does not depend on any axioms\n'LexLeanReasoning.guarded' does not depend on any axioms\n'LexLeanReasoning.guardedRank' does not depend on any axioms\n'LexLeanReasoning.iterateUntilBound' does not depend on any axioms\n'LexLeanReasoning.iterateUntilCount' does not depend on any axioms\n'LexLeanReasoning.iterateUntilGrowth' does not depend on any axioms\n'LexLeanReasoning.iterateUntilInvariant' does not depend on any axioms\n'LexLeanReasoning.iterateUntilSimulate' does not depend on any axioms\n'LexLeanReasoning.iterateUntilStops' does not depend on any axioms\n'LexLeanReasoning.lengthSnoc' does not depend on any axioms\n'LexLeanReasoning.noneSome' does not depend on any axioms\n'LexLeanReasoning.peakBound' does not depend on any axioms\n'LexLeanReasoning.reachesStart' does not depend on any axioms\n'LexLeanReasoning.searchStart' does not depend on any axioms\n'LexLeanReasoning.starPreserves' does not depend on any axioms\n'LexLeanReasoning.zeroLe' does not depend on any axioms\n","stdout_sha256":"bcad061b4e8b3848b9d6815070631b4088a7b6b1512ab5c741c66c6dea825fee","tool":"lean"} diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Budget.lean b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Budget.lean similarity index 100% rename from examples/reasoning/expected/verify/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Budget.lean rename to examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Budget.lean diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Budget.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Budget.process.json new file mode 100644 index 000000000..d36438971 --- /dev/null +++ b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Budget.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Budget.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Budget","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Reasoning.Budget.Burn.apply' does not depend on any axioms\n'Reasoning.Budget.Burn.apply_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Burn.apply_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Burn.candidates' does not depend on any axioms\n'Reasoning.Budget.Burn.conclusion' does not depend on any axioms\n'Reasoning.Budget.Burn.guard' does not depend on any axioms\n'Reasoning.Budget.Drained.sound' depends on axioms: [propext]\n'Reasoning.Budget.Empty' does not depend on any axioms\n'Reasoning.Budget.Refund' does not depend on any axioms\n'Reasoning.Budget.Refund.Ledger' does not depend on any axioms\n'Reasoning.Budget.Refund.Run' does not depend on any axioms\n'Reasoning.Budget.Refund.Step' does not depend on any axioms\n'Reasoning.Budget.Refund.accept' does not depend on any axioms\n'Reasoning.Budget.Refund.accept_sound' depends on axioms: [propext]\n'Reasoning.Budget.Refund.account' does not depend on any axioms\n'Reasoning.Budget.Refund.answer' does not depend on any axioms\n'Reasoning.Budget.Refund.attempts' does not depend on any axioms\n'Reasoning.Budget.Refund.conclude' does not depend on any axioms\n'Reasoning.Budget.Refund.conclude_accept' does not depend on any axioms\n'Reasoning.Budget.Refund.conclude_sound' depends on axioms: [propext]\n'Reasoning.Budget.Refund.derivation' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Refund.explained' depends on axioms: [propext]\n'Reasoning.Budget.Refund.extract' does not depend on any axioms\n'Reasoning.Budget.Refund.fire' does not depend on any axioms\n'Reasoning.Budget.Refund.fire_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Refund.firings_bounded' does not depend on any axioms\n'Reasoning.Budget.Refund.follow' does not depend on any axioms\n'Reasoning.Budget.Refund.iterations_bounded' does not depend on any axioms\n'Reasoning.Budget.Refund.next' does not depend on any axioms\n'Reasoning.Budget.Refund.next_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Refund.observe' does not depend on any axioms\n'Reasoning.Budget.Refund.replay' does not depend on any axioms\n'Reasoning.Budget.Refund.replay_fire' does not depend on any axioms\n'Reasoning.Budget.Refund.replay_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Refund.run' does not depend on any axioms\n'Reasoning.Budget.Refund.run_state' does not depend on any axioms\n'Reasoning.Budget.Refund.run_trace' does not depend on any axioms\n'Reasoning.Budget.Refund.saturate' does not depend on any axioms\n'Reasoning.Budget.Refund.saturate_derivation' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Refund.select' does not depend on any axioms\n'Reasoning.Budget.Refund.start' does not depend on any axioms\n'Reasoning.Budget.Refund.step' does not depend on any axioms\n'Reasoning.Budget.Refund.step_count' does not depend on any axioms\n'Reasoning.Budget.Refund.step_fired' does not depend on any axioms\n'Reasoning.Budget.Refund.step_none' does not depend on any axioms\n'Reasoning.Budget.Refund.step_some' does not depend on any axioms\n'Reasoning.Budget.Refund.step_trace' does not depend on any axioms\n'Reasoning.Budget.Refund.verdict' does not depend on any axioms\n'Reasoning.Budget.Refund.verdict_sound' depends on axioms: [propext]\n'Reasoning.Budget.Remaining' does not depend on any axioms\n'Reasoning.Budget.Spend' does not depend on any axioms\n'Reasoning.Budget.Spend.Ledger' does not depend on any axioms\n'Reasoning.Budget.Spend.Run' does not depend on any axioms\n'Reasoning.Budget.Spend.Step' does not depend on any axioms\n'Reasoning.Budget.Spend.accept' does not depend on any axioms\n'Reasoning.Budget.Spend.accept_sound' depends on axioms: [propext]\n'Reasoning.Budget.Spend.account' does not depend on any axioms\n'Reasoning.Budget.Spend.answer' does not depend on any axioms\n'Reasoning.Budget.Spend.attempts' does not depend on any axioms\n'Reasoning.Budget.Spend.conclude' does not depend on any axioms\n'Reasoning.Budget.Spend.conclude_accept' does not depend on any axioms\n'Reasoning.Budget.Spend.conclude_sound' depends on axioms: [propext]\n'Reasoning.Budget.Spend.derivation' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Spend.explained' depends on axioms: [propext]\n'Reasoning.Budget.Spend.extract' does not depend on any axioms\n'Reasoning.Budget.Spend.fire' does not depend on any axioms\n'Reasoning.Budget.Spend.fire_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Spend.fire_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Spend.firings_bounded' does not depend on any axioms\n'Reasoning.Budget.Spend.follow' does not depend on any axioms\n'Reasoning.Budget.Spend.iterations_bounded' does not depend on any axioms\n'Reasoning.Budget.Spend.next' does not depend on any axioms\n'Reasoning.Budget.Spend.next_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Spend.next_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Spend.observe' does not depend on any axioms\n'Reasoning.Budget.Spend.replay' does not depend on any axioms\n'Reasoning.Budget.Spend.replay_fire' does not depend on any axioms\n'Reasoning.Budget.Spend.replay_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Spend.run' does not depend on any axioms\n'Reasoning.Budget.Spend.run_state' does not depend on any axioms\n'Reasoning.Budget.Spend.run_trace' does not depend on any axioms\n'Reasoning.Budget.Spend.saturate' does not depend on any axioms\n'Reasoning.Budget.Spend.saturate_derivation' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Spend.saturates' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Spend.select' does not depend on any axioms\n'Reasoning.Budget.Spend.start' does not depend on any axioms\n'Reasoning.Budget.Spend.step' does not depend on any axioms\n'Reasoning.Budget.Spend.step_count' does not depend on any axioms\n'Reasoning.Budget.Spend.step_fired' does not depend on any axioms\n'Reasoning.Budget.Spend.step_none' does not depend on any axioms\n'Reasoning.Budget.Spend.step_some' does not depend on any axioms\n'Reasoning.Budget.Spend.step_trace' does not depend on any axioms\n'Reasoning.Budget.Spend.verdict' does not depend on any axioms\n'Reasoning.Budget.Spend.verdict_sound' depends on axioms: [propext]\n'Reasoning.Budget.Spent' does not depend on any axioms\n'Reasoning.Budget.Tick.apply' does not depend on any axioms\n'Reasoning.Budget.Tick.apply_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Tick.apply_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.Tick.conclusion' does not depend on any axioms\n'Reasoning.Budget.Tick.guard' does not depend on any axioms\n'Reasoning.Budget.allowance_bound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.burn_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.burn_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.emptyCheck' does not depend on any axioms\n'Reasoning.Budget.empty_sound' depends on axioms: [propext]\n'Reasoning.Budget.tick_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Budget.tick_sound' depends on axioms: [propext, Quot.sound]\n","stdout_sha256":"61274b9278738a5387ec49d25adf40a85f958c84f3e7007db22fe5da1fa0f781","tool":"lean"} diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Clinic.lean b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Clinic.lean similarity index 100% rename from examples/reasoning/expected/verify/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Clinic.lean rename to examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Clinic.lean diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Clinic.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Clinic.process.json new file mode 100644 index 000000000..d30ff5358 --- /dev/null +++ b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Clinic.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Clinic.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Clinic","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Reasoning.Clinic.Chart' does not depend on any axioms\n'Reasoning.Clinic.Consistent' does not depend on any axioms\n'Reasoning.Clinic.Discharged' does not depend on any axioms\n'Reasoning.Clinic.Escalate.apply' does not depend on any axioms\n'Reasoning.Clinic.Escalate.apply_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.Escalate.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Escalate.conclusion' does not depend on any axioms\n'Reasoning.Clinic.Escalate.guard' does not depend on any axioms\n'Reasoning.Clinic.Febrile' does not depend on any axioms\n'Reasoning.Clinic.Fever.apply' does not depend on any axioms\n'Reasoning.Clinic.Fever.apply_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.Fever.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Fever.conclusion' does not depend on any axioms\n'Reasoning.Clinic.Fever.guard' does not depend on any axioms\n'Reasoning.Clinic.Findings.preserves' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Hypotensive' does not depend on any axioms\n'Reasoning.Clinic.Indicated' does not depend on any axioms\n'Reasoning.Clinic.Justified' does not depend on any axioms\n'Reasoning.Clinic.Leukocytic' does not depend on any axioms\n'Reasoning.Clinic.Leukocytosis.apply' does not depend on any axioms\n'Reasoning.Clinic.Leukocytosis.apply_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.Leukocytosis.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Leukocytosis.conclusion' does not depend on any axioms\n'Reasoning.Clinic.Leukocytosis.guard' does not depend on any axioms\n'Reasoning.Clinic.Outpatient.sound' depends on axioms: [propext]\n'Reasoning.Clinic.Pending' does not depend on any axioms\n'Reasoning.Clinic.Recommendation.complete' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Recommendation.sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Review' does not depend on any axioms\n'Reasoning.Clinic.Review.Ledger' does not depend on any axioms\n'Reasoning.Clinic.Review.Run' does not depend on any axioms\n'Reasoning.Clinic.Review.Step' does not depend on any axioms\n'Reasoning.Clinic.Review.accept' does not depend on any axioms\n'Reasoning.Clinic.Review.accept_sound' depends on axioms: [propext]\n'Reasoning.Clinic.Review.account' does not depend on any axioms\n'Reasoning.Clinic.Review.answer' does not depend on any axioms\n'Reasoning.Clinic.Review.attempts' does not depend on any axioms\n'Reasoning.Clinic.Review.conclude' does not depend on any axioms\n'Reasoning.Clinic.Review.conclude_accept' does not depend on any axioms\n'Reasoning.Clinic.Review.conclude_sound' depends on axioms: [propext]\n'Reasoning.Clinic.Review.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Review.explained' depends on axioms: [propext]\n'Reasoning.Clinic.Review.extract' does not depend on any axioms\n'Reasoning.Clinic.Review.fire' does not depend on any axioms\n'Reasoning.Clinic.Review.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Review.firings_bounded' does not depend on any axioms\n'Reasoning.Clinic.Review.follow' does not depend on any axioms\n'Reasoning.Clinic.Review.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Review.iterations_bounded' does not depend on any axioms\n'Reasoning.Clinic.Review.next' does not depend on any axioms\n'Reasoning.Clinic.Review.next_preserves' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Review.next_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Review.observe' does not depend on any axioms\n'Reasoning.Clinic.Review.replay' does not depend on any axioms\n'Reasoning.Clinic.Review.replay_fire' does not depend on any axioms\n'Reasoning.Clinic.Review.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Review.run' does not depend on any axioms\n'Reasoning.Clinic.Review.run_state' does not depend on any axioms\n'Reasoning.Clinic.Review.run_trace' does not depend on any axioms\n'Reasoning.Clinic.Review.saturate' does not depend on any axioms\n'Reasoning.Clinic.Review.saturate_derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Review.saturate_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Review.select' does not depend on any axioms\n'Reasoning.Clinic.Review.start' does not depend on any axioms\n'Reasoning.Clinic.Review.step' does not depend on any axioms\n'Reasoning.Clinic.Review.step_count' does not depend on any axioms\n'Reasoning.Clinic.Review.step_fired' does not depend on any axioms\n'Reasoning.Clinic.Review.step_none' does not depend on any axioms\n'Reasoning.Clinic.Review.step_some' does not depend on any axioms\n'Reasoning.Clinic.Review.step_trace' does not depend on any axioms\n'Reasoning.Clinic.Review.verdict' does not depend on any axioms\n'Reasoning.Clinic.Review.verdict_sound' depends on axioms: [propext]\n'Reasoning.Clinic.Sepsis.apply' does not depend on any axioms\n'Reasoning.Clinic.Sepsis.apply_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.Sepsis.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Sepsis.conclusion' does not depend on any axioms\n'Reasoning.Clinic.Sepsis.guard' does not depend on any axioms\n'Reasoning.Clinic.Shock.apply' does not depend on any axioms\n'Reasoning.Clinic.Shock.apply_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.Shock.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Shock.conclusion' does not depend on any axioms\n'Reasoning.Clinic.Shock.guard' does not depend on any axioms\n'Reasoning.Clinic.Sirs.apply' does not depend on any axioms\n'Reasoning.Clinic.Sirs.apply_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.Sirs.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Sirs.conclusion' does not depend on any axioms\n'Reasoning.Clinic.Sirs.guard' does not depend on any axioms\n'Reasoning.Clinic.Tachycardia.apply' does not depend on any axioms\n'Reasoning.Clinic.Tachycardia.apply_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.Tachycardia.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Tachycardia.conclusion' does not depend on any axioms\n'Reasoning.Clinic.Tachycardia.guard' does not depend on any axioms\n'Reasoning.Clinic.Tachycardic' does not depend on any axioms\n'Reasoning.Clinic.Tachypnea.apply' does not depend on any axioms\n'Reasoning.Clinic.Tachypnea.apply_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.Tachypnea.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Tachypnea.conclusion' does not depend on any axioms\n'Reasoning.Clinic.Tachypnea.guard' does not depend on any axioms\n'Reasoning.Clinic.Tachypneic' does not depend on any axioms\n'Reasoning.Clinic.Triage' does not depend on any axioms\n'Reasoning.Clinic.Triage.Ledger' does not depend on any axioms\n'Reasoning.Clinic.Triage.Run' does not depend on any axioms\n'Reasoning.Clinic.Triage.Step' does not depend on any axioms\n'Reasoning.Clinic.Triage.accept' does not depend on any axioms\n'Reasoning.Clinic.Triage.accept_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Triage.account' does not depend on any axioms\n'Reasoning.Clinic.Triage.answer' does not depend on any axioms\n'Reasoning.Clinic.Triage.attempts' does not depend on any axioms\n'Reasoning.Clinic.Triage.conclude' does not depend on any axioms\n'Reasoning.Clinic.Triage.conclude_accept' does not depend on any axioms\n'Reasoning.Clinic.Triage.conclude_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Triage.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Triage.explained' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Triage.extract' does not depend on any axioms\n'Reasoning.Clinic.Triage.fire' does not depend on any axioms\n'Reasoning.Clinic.Triage.fire_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.Triage.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Triage.firings_bounded' does not depend on any axioms\n'Reasoning.Clinic.Triage.follow' does not depend on any axioms\n'Reasoning.Clinic.Triage.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Triage.iterations_bounded' does not depend on any axioms\n'Reasoning.Clinic.Triage.next' does not depend on any axioms\n'Reasoning.Clinic.Triage.next_preserves' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Triage.next_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.Triage.next_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Triage.observe' does not depend on any axioms\n'Reasoning.Clinic.Triage.replay' does not depend on any axioms\n'Reasoning.Clinic.Triage.replay_fire' does not depend on any axioms\n'Reasoning.Clinic.Triage.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Triage.run' does not depend on any axioms\n'Reasoning.Clinic.Triage.run_state' does not depend on any axioms\n'Reasoning.Clinic.Triage.run_trace' does not depend on any axioms\n'Reasoning.Clinic.Triage.saturate' does not depend on any axioms\n'Reasoning.Clinic.Triage.saturate_derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Triage.saturate_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Triage.saturates' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Triage.select' does not depend on any axioms\n'Reasoning.Clinic.Triage.start' does not depend on any axioms\n'Reasoning.Clinic.Triage.step' does not depend on any axioms\n'Reasoning.Clinic.Triage.step_count' does not depend on any axioms\n'Reasoning.Clinic.Triage.step_fired' does not depend on any axioms\n'Reasoning.Clinic.Triage.step_none' does not depend on any axioms\n'Reasoning.Clinic.Triage.step_some' does not depend on any axioms\n'Reasoning.Clinic.Triage.step_trace' does not depend on any axioms\n'Reasoning.Clinic.Triage.verdict' does not depend on any axioms\n'Reasoning.Clinic.Triage.verdict_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.Vitals' does not depend on any axioms\n'Reasoning.Clinic.Warranted' does not depend on any axioms\n'Reasoning.Clinic.admitted_consistent' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.admitted_pending' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.consistent_preserved' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.dischargeCheck' does not depend on any axioms\n'Reasoning.Clinic.discharge_sound' depends on axioms: [propext]\n'Reasoning.Clinic.escalate_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.escalate_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.fever_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.fever_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.feverish' does not depend on any axioms\n'Reasoning.Clinic.hypotensive' does not depend on any axioms\n'Reasoning.Clinic.leukocytic' does not depend on any axioms\n'Reasoning.Clinic.leukocytosis_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.leukocytosis_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.recommendationCheck' does not depend on any axioms\n'Reasoning.Clinic.recommendation_complete' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.recommendation_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.sepsis_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.sepsis_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.shock_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.shock_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.sirs_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.sirs_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.tachycardia_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.tachycardia_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.tachycardic' does not depend on any axioms\n'Reasoning.Clinic.tachypnea_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Clinic.tachypnea_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Clinic.tachypneic' does not depend on any axioms\n","stdout_sha256":"d385d180f0ca2a66d16d21a13c5c0cb09098259b2c56ec20e64bef35d7d23d18","tool":"lean"} diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Main.lean b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Main.lean similarity index 100% rename from examples/reasoning/expected/verify/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Main.lean rename to examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Main.lean diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Main.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Main.process.json new file mode 100644 index 000000000..356d0a768 --- /dev/null +++ b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Main.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Main","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Reasoning.Main.Cap' does not depend on any axioms\n'Reasoning.Main.Cap.Ledger' does not depend on any axioms\n'Reasoning.Main.Cap.Run' does not depend on any axioms\n'Reasoning.Main.Cap.Step' does not depend on any axioms\n'Reasoning.Main.Cap.accept' does not depend on any axioms\n'Reasoning.Main.Cap.accept_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Main.Cap.account' does not depend on any axioms\n'Reasoning.Main.Cap.answer' does not depend on any axioms\n'Reasoning.Main.Cap.attempts' does not depend on any axioms\n'Reasoning.Main.Cap.conclude' does not depend on any axioms\n'Reasoning.Main.Cap.conclude_accept' does not depend on any axioms\n'Reasoning.Main.Cap.conclude_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Main.Cap.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Cap.explained' depends on axioms: [propext, Quot.sound]\n'Reasoning.Main.Cap.extract' does not depend on any axioms\n'Reasoning.Main.Cap.fire' does not depend on any axioms\n'Reasoning.Main.Cap.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Cap.firings_bounded' does not depend on any axioms\n'Reasoning.Main.Cap.follow' does not depend on any axioms\n'Reasoning.Main.Cap.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Cap.iterations_bounded' does not depend on any axioms\n'Reasoning.Main.Cap.next' does not depend on any axioms\n'Reasoning.Main.Cap.next_preserves' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Cap.next_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Cap.observe' does not depend on any axioms\n'Reasoning.Main.Cap.replay' does not depend on any axioms\n'Reasoning.Main.Cap.replay_fire' does not depend on any axioms\n'Reasoning.Main.Cap.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Cap.run' does not depend on any axioms\n'Reasoning.Main.Cap.run_state' does not depend on any axioms\n'Reasoning.Main.Cap.run_trace' does not depend on any axioms\n'Reasoning.Main.Cap.saturate' does not depend on any axioms\n'Reasoning.Main.Cap.saturate_derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Cap.saturate_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Cap.select' does not depend on any axioms\n'Reasoning.Main.Cap.start' does not depend on any axioms\n'Reasoning.Main.Cap.step' does not depend on any axioms\n'Reasoning.Main.Cap.step_count' does not depend on any axioms\n'Reasoning.Main.Cap.step_fired' does not depend on any axioms\n'Reasoning.Main.Cap.step_none' does not depend on any axioms\n'Reasoning.Main.Cap.step_some' does not depend on any axioms\n'Reasoning.Main.Cap.step_trace' does not depend on any axioms\n'Reasoning.Main.Cap.verdict' does not depend on any axioms\n'Reasoning.Main.Cap.verdict_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Main.Capped' does not depend on any axioms\n'Reasoning.Main.Ceiling.sound' depends on axioms: [propext]\n'Reasoning.Main.GatewayEvidence.gateway_safe' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.GatewayModel' does not depend on any axioms\n'Reasoning.Main.GatewayTriage' does not depend on any axioms\n'Reasoning.Main.Grade' does not depend on any axioms\n'Reasoning.Main.Grade.Ledger' does not depend on any axioms\n'Reasoning.Main.Grade.Run' does not depend on any axioms\n'Reasoning.Main.Grade.Step' does not depend on any axioms\n'Reasoning.Main.Grade.accept' does not depend on any axioms\n'Reasoning.Main.Grade.accept_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.account' does not depend on any axioms\n'Reasoning.Main.Grade.answer' does not depend on any axioms\n'Reasoning.Main.Grade.attempts' does not depend on any axioms\n'Reasoning.Main.Grade.conclude' does not depend on any axioms\n'Reasoning.Main.Grade.conclude_accept' does not depend on any axioms\n'Reasoning.Main.Grade.conclude_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.explained' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.extract' does not depend on any axioms\n'Reasoning.Main.Grade.fire' does not depend on any axioms\n'Reasoning.Main.Grade.fire_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Main.Grade.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.firings_bounded' does not depend on any axioms\n'Reasoning.Main.Grade.follow' does not depend on any axioms\n'Reasoning.Main.Grade.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.follow_relation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.iterations_bounded' does not depend on any axioms\n'Reasoning.Main.Grade.next' does not depend on any axioms\n'Reasoning.Main.Grade.next_preserves' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.next_preserves_relation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.next_progress' depends on axioms: [propext, Quot.sound]\n'Reasoning.Main.Grade.next_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.observe' does not depend on any axioms\n'Reasoning.Main.Grade.replay' does not depend on any axioms\n'Reasoning.Main.Grade.replay_fire' does not depend on any axioms\n'Reasoning.Main.Grade.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.run' does not depend on any axioms\n'Reasoning.Main.Grade.run_relation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.run_state' does not depend on any axioms\n'Reasoning.Main.Grade.run_trace' does not depend on any axioms\n'Reasoning.Main.Grade.saturate' does not depend on any axioms\n'Reasoning.Main.Grade.saturate_derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.saturate_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.saturate_relation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.saturates' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Grade.select' does not depend on any axioms\n'Reasoning.Main.Grade.start' does not depend on any axioms\n'Reasoning.Main.Grade.step' does not depend on any axioms\n'Reasoning.Main.Grade.step_count' does not depend on any axioms\n'Reasoning.Main.Grade.step_fired' does not depend on any axioms\n'Reasoning.Main.Grade.step_none' does not depend on any axioms\n'Reasoning.Main.Grade.step_some' does not depend on any axioms\n'Reasoning.Main.Grade.step_trace' does not depend on any axioms\n'Reasoning.Main.Grade.verdict' does not depend on any axioms\n'Reasoning.Main.Grade.verdict_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.Graded' does not depend on any axioms\n'Reasoning.Main.Guaranteed' does not depend on any axioms\n'Reasoning.Main.Related' does not depend on any axioms\n'Reasoning.Main.Scale.sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.cap_correct' depends on axioms: [propext, Quot.sound]\n'Reasoning.Main.cappedCheck' does not depend on any axioms\n'Reasoning.Main.capped_sound' depends on axioms: [propext]\n'Reasoning.Main.doseLevel' does not depend on any axioms\n'Reasoning.Main.dose_exhausted' does not depend on any axioms\n'Reasoning.Main.dose_exhausted_ledger' does not depend on any axioms\n'Reasoning.Main.dose_found' does not depend on any axioms\n'Reasoning.Main.dose_ledger' does not depend on any axioms\n'Reasoning.Main.gatewayLevel' does not depend on any axioms\n'Reasoning.Main.gateway_level' does not depend on any axioms\n'Reasoning.Main.gateway_safe' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.gradeLevel' does not depend on any axioms\n'Reasoning.Main.grade_admitted' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.grade_correct' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.grade_ledger' does not depend on any axioms\n'Reasoning.Main.grade_pending' depends on axioms: [propext, Quot.sound]\n'Reasoning.Main.grade_shock' does not depend on any axioms\n'Reasoning.Main.grade_well_ledger' does not depend on any axioms\n'Reasoning.Main.gradedCheck' does not depend on any axioms\n'Reasoning.Main.graded_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.planLeft' depends on axioms: [propext]\n'Reasoning.Main.plan_found' depends on axioms: [propext]\n'Reasoning.Main.plan_frontier' depends on axioms: [propext]\n'Reasoning.Main.plan_ledger' depends on axioms: [propext]\n'Reasoning.Main.plan_unsolved' depends on axioms: [propext]\n'Reasoning.Main.plan_unsolved_ledger' depends on axioms: [propext]\n'Reasoning.Main.refund_drained' does not depend on any axioms\n'Reasoning.Main.refund_ledger' does not depend on any axioms\n'Reasoning.Main.refund_unsolved' does not depend on any axioms\n'Reasoning.Main.refund_unsolved_ledger' does not depend on any axioms\n'Reasoning.Main.related_admitted' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.related_preserved' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Main.review_exhausted' does not depend on any axioms\n'Reasoning.Main.review_ledger' does not depend on any axioms\n'Reasoning.Main.review_rejected' does not depend on any axioms\n'Reasoning.Main.review_rejected_ledger' does not depend on any axioms\n'Reasoning.Main.screenDose' does not depend on any axioms\n'Reasoning.Main.screen_found' does not depend on any axioms\n'Reasoning.Main.screen_ledger' does not depend on any axioms\n'Reasoning.Main.screen_truncated' does not depend on any axioms\n'Reasoning.Main.screen_truncated_ledger' does not depend on any axioms\n'Reasoning.Main.screen_unsolved_ledger' does not depend on any axioms\n'Reasoning.Main.spendLeft' does not depend on any axioms\n'Reasoning.Main.spend_drained' does not depend on any axioms\n'Reasoning.Main.spend_ledger' does not depend on any axioms\n'Reasoning.Main.triageLevel' does not depend on any axioms\n'Reasoning.Main.triageSteps' does not depend on any axioms\n'Reasoning.Main.triage_forged' does not depend on any axioms\n'Reasoning.Main.triage_inapplicable' does not depend on any axioms\n'Reasoning.Main.triage_iterations' does not depend on any axioms\n'Reasoning.Main.triage_ledger' does not depend on any axioms\n'Reasoning.Main.triage_level' does not depend on any axioms\n'Reasoning.Main.triage_replays' does not depend on any axioms\n'Reasoning.Main.triage_shock' does not depend on any axioms\n'Reasoning.Main.triage_well' does not depend on any axioms\n'Reasoning.Main.triage_well_ledger' does not depend on any axioms\n","stdout_sha256":"13bfab88bf1e8f71fc26deed8cf04a2a08de1934d83603a6cc29cf959867360f","tool":"lean"} diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Planner.lean b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Planner.lean similarity index 100% rename from examples/reasoning/expected/verify/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Planner.lean rename to examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Planner.lean diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Planner.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Planner.process.json new file mode 100644 index 000000000..f8205284c --- /dev/null +++ b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Planner.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Planner.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Planner","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Reasoning.Planner.Anywhere.sound' depends on axioms: [propext]\n'Reasoning.Planner.EmptyB.apply' does not depend on any axioms\n'Reasoning.Planner.EmptyB.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.EmptyB.conclusion' does not depend on any axioms\n'Reasoning.Planner.EmptyB.guard' does not depend on any axioms\n'Reasoning.Planner.FillA.apply' does not depend on any axioms\n'Reasoning.Planner.FillA.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.FillA.conclusion' does not depend on any axioms\n'Reasoning.Planner.FillA.guard' does not depend on any axioms\n'Reasoning.Planner.Fits' does not depend on any axioms\n'Reasoning.Planner.Held' does not depend on any axioms\n'Reasoning.Planner.Inside.sound' depends on axioms: [propext]\n'Reasoning.Planner.Measured.sound' depends on axioms: [propext]\n'Reasoning.Planner.Measures' does not depend on any axioms\n'Reasoning.Planner.Moves' does not depend on any axioms\n'Reasoning.Planner.Plan' depends on axioms: [propext]\n'Reasoning.Planner.Plan.EmptyB.successors' does not depend on any axioms\n'Reasoning.Planner.Plan.EmptyB.successors_ok' does not depend on any axioms\n'Reasoning.Planner.Plan.FillA.successors' does not depend on any axioms\n'Reasoning.Planner.Plan.FillA.successors_ok' does not depend on any axioms\n'Reasoning.Planner.Plan.Ledger' does not depend on any axioms\n'Reasoning.Planner.Plan.Node' does not depend on any axioms\n'Reasoning.Planner.Plan.Pour.collect' does not depend on any axioms\n'Reasoning.Planner.Plan.Pour.successors' does not depend on any axioms\n'Reasoning.Planner.Plan.Pour.successors_ok' does not depend on any axioms\n'Reasoning.Planner.Plan.Search' does not depend on any axioms\n'Reasoning.Planner.Plan.Step' does not depend on any axioms\n'Reasoning.Planner.Plan.accept' does not depend on any axioms\n'Reasoning.Planner.Plan.accept_sound' depends on axioms: [propext]\n'Reasoning.Planner.Plan.answer' does not depend on any axioms\n'Reasoning.Planner.Plan.attempts' does not depend on any axioms\n'Reasoning.Planner.Plan.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.Plan.expansions_bounded' depends on axioms: [propext]\n'Reasoning.Planner.Plan.explained' depends on axioms: [propext]\n'Reasoning.Planner.Plan.extend' does not depend on any axioms\n'Reasoning.Planner.Plan.extract' does not depend on any axioms\n'Reasoning.Planner.Plan.failure' does not depend on any axioms\n'Reasoning.Planner.Plan.fire' does not depend on any axioms\n'Reasoning.Planner.Plan.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.Plan.follow' does not depend on any axioms\n'Reasoning.Planner.Plan.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.Plan.fresh' depends on axioms: [propext]\n'Reasoning.Planner.Plan.fresh_ok' depends on axioms: [propext]\n'Reasoning.Planner.Plan.frontier_bounded' depends on axioms: [propext]\n'Reasoning.Planner.Plan.iterations_bounded' depends on axioms: [propext]\n'Reasoning.Planner.Plan.observe' does not depend on any axioms\n'Reasoning.Planner.Plan.replay' does not depend on any axioms\n'Reasoning.Planner.Plan.replay_fire' does not depend on any axioms\n'Reasoning.Planner.Plan.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.Plan.run' depends on axioms: [propext]\n'Reasoning.Planner.Plan.searchStep' depends on axioms: [propext]\n'Reasoning.Planner.Plan.search_count' depends on axioms: [propext]\n'Reasoning.Planner.Plan.search_expanded' depends on axioms: [propext]\n'Reasoning.Planner.Plan.search_ok' depends on axioms: [propext]\n'Reasoning.Planner.Plan.search_peak' depends on axioms: [propext]\n'Reasoning.Planner.Plan.search_step' depends on axioms: [propext]\n'Reasoning.Planner.Plan.search_verify_growth' depends on axioms: [propext]\n'Reasoning.Planner.Plan.start' depends on axioms: [propext]\n'Reasoning.Planner.Plan.successors' does not depend on any axioms\n'Reasoning.Planner.Plan.successors_ok' does not depend on any axioms\n'Reasoning.Planner.Plan.verdict' depends on axioms: [propext]\n'Reasoning.Planner.Plan.verdict_sound' depends on axioms: [propext]\n'Reasoning.Planner.Plan.verifications_bounded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.EmptyB.successors' does not depend on any axioms\n'Reasoning.Planner.PlanFit.EmptyB.successors_ok' does not depend on any axioms\n'Reasoning.Planner.PlanFit.FillA.successors' does not depend on any axioms\n'Reasoning.Planner.PlanFit.FillA.successors_ok' does not depend on any axioms\n'Reasoning.Planner.PlanFit.Ledger' does not depend on any axioms\n'Reasoning.Planner.PlanFit.Node' does not depend on any axioms\n'Reasoning.Planner.PlanFit.Pour.collect' does not depend on any axioms\n'Reasoning.Planner.PlanFit.Pour.successors' does not depend on any axioms\n'Reasoning.Planner.PlanFit.Pour.successors_ok' does not depend on any axioms\n'Reasoning.Planner.PlanFit.Search' does not depend on any axioms\n'Reasoning.Planner.PlanFit.Step' does not depend on any axioms\n'Reasoning.Planner.PlanFit.accept' does not depend on any axioms\n'Reasoning.Planner.PlanFit.accept_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Planner.PlanFit.answer' does not depend on any axioms\n'Reasoning.Planner.PlanFit.attempts' does not depend on any axioms\n'Reasoning.Planner.PlanFit.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFit.expansions_bounded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.explained' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFit.extend' does not depend on any axioms\n'Reasoning.Planner.PlanFit.extract' does not depend on any axioms\n'Reasoning.Planner.PlanFit.failure' does not depend on any axioms\n'Reasoning.Planner.PlanFit.fire' does not depend on any axioms\n'Reasoning.Planner.PlanFit.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFit.follow' does not depend on any axioms\n'Reasoning.Planner.PlanFit.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFit.fresh' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.fresh_ok' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.frontier_bounded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.iterations_bounded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.observe' does not depend on any axioms\n'Reasoning.Planner.PlanFit.replay' does not depend on any axioms\n'Reasoning.Planner.PlanFit.replay_fire' does not depend on any axioms\n'Reasoning.Planner.PlanFit.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFit.run' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.searchStep' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.search_count' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.search_expanded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.search_ok' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.search_peak' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.search_step' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.search_verify_growth' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.start' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.successors' does not depend on any axioms\n'Reasoning.Planner.PlanFit.successors_ok' does not depend on any axioms\n'Reasoning.Planner.PlanFit.verdict' depends on axioms: [propext]\n'Reasoning.Planner.PlanFit.verdict_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFit.verifications_bounded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.EmptyB.successors' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.EmptyB.successors_ok' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.FillA.successors' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.FillA.successors_ok' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.Ledger' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.Node' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.Pour.collect' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.Pour.successors' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.Pour.successors_ok' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.Search' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.Step' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.accept' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.accept_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Planner.PlanFitR.answer' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.attempts' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFitR.expansions_bounded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.explained' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFitR.extend' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.extract' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.failure' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.fire' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFitR.follow' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFitR.follow_relation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFitR.fresh' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.fresh_ok' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.frontier_bounded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.iterations_bounded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.observe' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.replay' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.replay_fire' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFitR.run' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.searchStep' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.search_count' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.search_expanded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.search_ok' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.search_peak' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.search_step' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.search_verify_growth' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.start' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.successors' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.successors_ok' does not depend on any axioms\n'Reasoning.Planner.PlanFitR.verdict' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitR.verdict_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFitR.verifications_bounded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.EmptyB.successors' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.EmptyB.successors_ok' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.FillA.successors' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.FillA.successors_ok' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.Ledger' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.Node' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.Pour.collect' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.Pour.successors' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.Pour.successors_ok' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.Search' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.Step' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.accept' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.accept_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Planner.PlanFitU.answer' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.attempts' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.derivation' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFitU.expansions_bounded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.explained' depends on axioms: [propext, Quot.sound]\n'Reasoning.Planner.PlanFitU.extend' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.extract' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.failure' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.fire' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.fire_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFitU.follow' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.follow_invariant' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFitU.fresh' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.fresh_ok' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.frontier_bounded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.iterations_bounded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.observe' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.replay' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.replay_fire' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.replay_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.PlanFitU.run' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.searchStep' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.search_count' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.search_expanded' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.search_ok' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.search_peak' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.search_step' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.search_verify_growth' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.start' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.successors' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.successors_ok' does not depend on any axioms\n'Reasoning.Planner.PlanFitU.verdict' depends on axioms: [propext]\n'Reasoning.Planner.PlanFitU.verdict_sound' depends on axioms: [propext, Quot.sound]\n'Reasoning.Planner.PlanFitU.verifications_bounded' depends on axioms: [propext]\n'Reasoning.Planner.Pour.apply' does not depend on any axioms\n'Reasoning.Planner.Pour.apply_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.Pour.candidates' does not depend on any axioms\n'Reasoning.Planner.Pour.conclusion' does not depend on any axioms\n'Reasoning.Planner.Pour.guard' does not depend on any axioms\n'Reasoning.Planner.Pouring.preserves' does not depend on any axioms\n'Reasoning.Planner.Whole' does not depend on any axioms\n'Reasoning.Planner.Within' does not depend on any axioms\n'Reasoning.Planner.empty_jugs_fit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.emptyb_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.filla_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.fits_kept' does not depend on any axioms\n'Reasoning.Planner.held_initial' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.held_preserved' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.measuresCheck' does not depend on any axioms\n'Reasoning.Planner.measures_sound' depends on axioms: [propext]\n'Reasoning.Planner.plan_fit_correct' depends on axioms: [propext, Quot.sound]\n'Reasoning.Planner.plan_held_correct' depends on axioms: [propext, Quot.sound]\n'Reasoning.Planner.plan_whole_correct' depends on axioms: [propext, Quot.sound]\n'Reasoning.Planner.pour_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'Reasoning.Planner.wholeCheck' does not depend on any axioms\n'Reasoning.Planner.whole_sound' depends on axioms: [propext]\n'Reasoning.Planner.withinCheck' does not depend on any axioms\n'Reasoning.Planner.within_sound' depends on axioms: [propext]\n","stdout_sha256":"1bde3cc2a8f61dcfb844a885ccd0a1c0ee853cf3e237d0038b10dd7f015cf6f3","tool":"lean"} diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Screening.lean b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Screening.lean similarity index 100% rename from examples/reasoning/expected/verify/audit/LexLeanAudit.A6d3e375f76cbc573b09fef98086539e0.Reasoning.Screening.lean rename to examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Screening.lean diff --git a/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Screening.process.json b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Screening.process.json new file mode 100644 index 000000000..69da90e15 --- /dev/null +++ b/examples/reasoning/expected/verify/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Screening.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Screening.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Af04b35f2e1794332ed2a5b996f01296f.Reasoning.Screening","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Reasoning.Screening.Dose' does not depend on any axioms\n'Reasoning.Screening.Dose.Ledger' does not depend on any axioms\n'Reasoning.Screening.Dose.Step' does not depend on any axioms\n'Reasoning.Screening.Dose.Trial' does not depend on any axioms\n'Reasoning.Screening.Dose.answer' does not depend on any axioms\n'Reasoning.Screening.Dose.candidates' does not depend on any axioms\n'Reasoning.Screening.Dose.explained' depends on axioms: [propext]\n'Reasoning.Screening.Dose.failure' does not depend on any axioms\n'Reasoning.Screening.Dose.run' does not depend on any axioms\n'Reasoning.Screening.Dose.run_sound' depends on axioms: [propext]\n'Reasoning.Screening.Dose.try' does not depend on any axioms\n'Reasoning.Screening.Dose.try_count' does not depend on any axioms\n'Reasoning.Screening.Dose.try_sound' depends on axioms: [propext]\n'Reasoning.Screening.Dose.verdict' does not depend on any axioms\n'Reasoning.Screening.Dose.verdict_sound' depends on axioms: [propext]\n'Reasoning.Screening.Dose.verifications_bounded' does not depend on any axioms\n'Reasoning.Screening.Dose.verify' does not depend on any axioms\n'Reasoning.Screening.Dose.verify_sound' depends on axioms: [propext]\n'Reasoning.Screening.DoseCandidates' does not depend on any axioms\n'Reasoning.Screening.DoseContract.postcondition_sound' depends on axioms: [propext]\n'Reasoning.Screening.DoseModel' does not depend on any axioms\n'Reasoning.Screening.Propose.apply' does not depend on any axioms\n'Reasoning.Screening.Propose.apply_sound' depends on axioms: [propext]\n'Reasoning.Screening.Propose.candidates' does not depend on any axioms\n'Reasoning.Screening.Propose.conclusion' does not depend on any axioms\n'Reasoning.Screening.Propose.guard' does not depend on any axioms\n'Reasoning.Screening.Proposed' does not depend on any axioms\n'Reasoning.Screening.Safe' does not depend on any axioms\n'Reasoning.Screening.SafeDose.sound' depends on axioms: [propext]\n'Reasoning.Screening.Screen' does not depend on any axioms\n'Reasoning.Screening.Screen.Ledger' does not depend on any axioms\n'Reasoning.Screening.Screen.Node' does not depend on any axioms\n'Reasoning.Screening.Screen.Propose.collect' does not depend on any axioms\n'Reasoning.Screening.Screen.Propose.successors' does not depend on any axioms\n'Reasoning.Screening.Screen.Propose.successors_ok' does not depend on any axioms\n'Reasoning.Screening.Screen.Search' does not depend on any axioms\n'Reasoning.Screening.Screen.Step' does not depend on any axioms\n'Reasoning.Screening.Screen.accept' does not depend on any axioms\n'Reasoning.Screening.Screen.accept_sound' depends on axioms: [propext]\n'Reasoning.Screening.Screen.answer' does not depend on any axioms\n'Reasoning.Screening.Screen.attempts' does not depend on any axioms\n'Reasoning.Screening.Screen.derivation' depends on axioms: [propext]\n'Reasoning.Screening.Screen.expansions_bounded' does not depend on any axioms\n'Reasoning.Screening.Screen.explained' depends on axioms: [propext]\n'Reasoning.Screening.Screen.extend' does not depend on any axioms\n'Reasoning.Screening.Screen.extract' does not depend on any axioms\n'Reasoning.Screening.Screen.failure' does not depend on any axioms\n'Reasoning.Screening.Screen.fire' does not depend on any axioms\n'Reasoning.Screening.Screen.fire_sound' depends on axioms: [propext]\n'Reasoning.Screening.Screen.follow' does not depend on any axioms\n'Reasoning.Screening.Screen.frontier_bounded' does not depend on any axioms\n'Reasoning.Screening.Screen.iterations_bounded' does not depend on any axioms\n'Reasoning.Screening.Screen.observe' does not depend on any axioms\n'Reasoning.Screening.Screen.replay' does not depend on any axioms\n'Reasoning.Screening.Screen.replay_fire' does not depend on any axioms\n'Reasoning.Screening.Screen.replay_sound' depends on axioms: [propext]\n'Reasoning.Screening.Screen.run' does not depend on any axioms\n'Reasoning.Screening.Screen.searchStep' does not depend on any axioms\n'Reasoning.Screening.Screen.search_count' does not depend on any axioms\n'Reasoning.Screening.Screen.search_expanded' does not depend on any axioms\n'Reasoning.Screening.Screen.search_ok' does not depend on any axioms\n'Reasoning.Screening.Screen.search_peak' does not depend on any axioms\n'Reasoning.Screening.Screen.search_step' does not depend on any axioms\n'Reasoning.Screening.Screen.search_verify_growth' does not depend on any axioms\n'Reasoning.Screening.Screen.start' does not depend on any axioms\n'Reasoning.Screening.Screen.successors' does not depend on any axioms\n'Reasoning.Screening.Screen.successors_ok' does not depend on any axioms\n'Reasoning.Screening.Screen.verdict' does not depend on any axioms\n'Reasoning.Screening.Screen.verdict_sound' depends on axioms: [propext]\n'Reasoning.Screening.Screen.verifications_bounded' does not depend on any axioms\n'Reasoning.Screening.Short' does not depend on any axioms\n'Reasoning.Screening.propose_sound' depends on axioms: [propext]\n'Reasoning.Screening.safeCheck' does not depend on any axioms\n'Reasoning.Screening.safe_sound' depends on axioms: [propext]\n'Reasoning.Screening.shortCheck' does not depend on any axioms\n'Reasoning.Screening.short_sound' depends on axioms: [propext]\n","stdout_sha256":"cf0950a5981076ee37dfdf563d46105dc9dbe4ef7ca4ebdbbbc5af2f23a3410b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/audit/output.txt b/examples/reasoning/expected/verify/audit/output.txt index 74a5e4cce..435de81da 100644 --- a/examples/reasoning/expected/verify/audit/output.txt +++ b/examples/reasoning/expected/verify/audit/output.txt @@ -1,3 +1,339 @@ +'LexLeanCollections.Key' does not depend on any axioms +'LexLeanCollections.Key.casesOn' does not depend on any axioms +'LexLeanCollections.Key.compare' does not depend on any axioms +'LexLeanCollections.Key.ctorIdx' does not depend on any axioms +'LexLeanCollections.Key.mk._flat_ctor' does not depend on any axioms +'LexLeanCollections.Key.mk.noConfusion' does not depend on any axioms +'LexLeanCollections.Key.noConfusion' does not depend on any axioms +'LexLeanCollections.Key.noConfusionType' does not depend on any axioms +'LexLeanCollections.Key.recOn' does not depend on any axioms +'LexLeanCollections.compareCodes' depends on axioms: [propext] +'LexLeanCollections.compareCodes._f' depends on axioms: [propext] +'LexLeanCollections.compareCodes._sparseCasesOn_1' depends on axioms: [propext] +'LexLeanCollections.compareCodes._sunfold' depends on axioms: [propext] +'LexLeanCollections.compareCodes._unsafe_rec' depends on axioms: [propext] +'LexLeanCollections.compareCodes.match_1' depends on axioms: [propext] +'LexLeanCollections.compareCodes.match_4' does not depend on any axioms +'LexLeanCollections.containsElement' does not depend on any axioms +'LexLeanCollections.containsElement._f' does not depend on any axioms +'LexLeanCollections.containsElement._sunfold' does not depend on any axioms +'LexLeanCollections.containsElement._unsafe_rec' does not depend on any axioms +'LexLeanCollections.graphNodes' does not depend on any axioms +'LexLeanCollections.graphReachable' depends on axioms: [propext] +'LexLeanCollections.graphSuccessors' does not depend on any axioms +'LexLeanCollections.graphTopological' does not depend on any axioms +'LexLeanCollections.insertElement' does not depend on any axioms +'LexLeanCollections.insertElement._f' does not depend on any axioms +'LexLeanCollections.insertElement._sunfold' does not depend on any axioms +'LexLeanCollections.insertElement._unsafe_rec' does not depend on any axioms +'LexLeanCollections.insertElement.match_1' does not depend on any axioms +'LexLeanCollections.insertEntry' does not depend on any axioms +'LexLeanCollections.insertEntry._f' does not depend on any axioms +'LexLeanCollections.insertEntry._sunfold' does not depend on any axioms +'LexLeanCollections.insertEntry._unsafe_rec' does not depend on any axioms +'LexLeanCollections.insertEntry.match_1' does not depend on any axioms +'LexLeanCollections.insertEntry.match_3' does not depend on any axioms +'LexLeanCollections.instKeyBool' depends on axioms: [propext] +'LexLeanCollections.instKeyInt' does not depend on any axioms +'LexLeanCollections.instKeyInt16' does not depend on any axioms +'LexLeanCollections.instKeyInt32' does not depend on any axioms +'LexLeanCollections.instKeyInt64' does not depend on any axioms +'LexLeanCollections.instKeyInt8' does not depend on any axioms +'LexLeanCollections.instKeyNat' does not depend on any axioms +'LexLeanCollections.instKeyProd' depends on axioms: [propext] +'LexLeanCollections.instKeyString' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanCollections.instKeyUInt16' does not depend on any axioms +'LexLeanCollections.instKeyUInt32' does not depend on any axioms +'LexLeanCollections.instKeyUInt64' does not depend on any axioms +'LexLeanCollections.instKeyUInt8' does not depend on any axioms +'LexLeanCollections.iterate' does not depend on any axioms +'LexLeanCollections.iterate._f' does not depend on any axioms +'LexLeanCollections.iterate._sunfold' does not depend on any axioms +'LexLeanCollections.iterate._unsafe_rec' does not depend on any axioms +'LexLeanCollections.iterate.match_1' does not depend on any axioms +'LexLeanCollections.iterateUntil' does not depend on any axioms +'LexLeanCollections.iterateUntil._f' does not depend on any axioms +'LexLeanCollections.iterateUntil._sunfold' does not depend on any axioms +'LexLeanCollections.iterateUntil._unsafe_rec' does not depend on any axioms +'LexLeanCollections.iterateUntil.match_1' does not depend on any axioms +'LexLeanCollections.lessThan' depends on axioms: [propext] +'LexLeanCollections.lessThan._sparseCasesOn_1' depends on axioms: [propext] +'LexLeanCollections.lessThan.match_1' depends on axioms: [propext] +'LexLeanCollections.listFold' does not depend on any axioms +'LexLeanCollections.lookupEntry' does not depend on any axioms +'LexLeanCollections.lookupEntry._f' does not depend on any axioms +'LexLeanCollections.lookupEntry._sunfold' does not depend on any axioms +'LexLeanCollections.lookupEntry._unsafe_rec' does not depend on any axioms +'LexLeanCollections.mapContains' does not depend on any axioms +'LexLeanCollections.mapEntries' does not depend on any axioms +'LexLeanCollections.mapFold' does not depend on any axioms +'LexLeanCollections.mapInsert' does not depend on any axioms +'LexLeanCollections.mapKeys' does not depend on any axioms +'LexLeanCollections.mapLookup' does not depend on any axioms +'LexLeanCollections.mapRemove' does not depend on any axioms +'LexLeanCollections.mapSize' does not depend on any axioms +'LexLeanCollections.mapValues' does not depend on any axioms +'LexLeanCollections.reachableFrom' depends on axioms: [propext] +'LexLeanCollections.reachableFrom._f' depends on axioms: [propext] +'LexLeanCollections.reachableFrom._sparseCasesOn_1' depends on axioms: [propext] +'LexLeanCollections.reachableFrom._sunfold' depends on axioms: [propext] +'LexLeanCollections.reachableFrom._unsafe_rec' depends on axioms: [propext] +'LexLeanCollections.reachableFrom.match_1' depends on axioms: [propext] +'LexLeanCollections.reachableFrom.match_4' does not depend on any axioms +'LexLeanCollections.removeElement' does not depend on any axioms +'LexLeanCollections.removeElement._f' does not depend on any axioms +'LexLeanCollections.removeElement._sunfold' does not depend on any axioms +'LexLeanCollections.removeElement._unsafe_rec' does not depend on any axioms +'LexLeanCollections.removeEntry' does not depend on any axioms +'LexLeanCollections.removeEntry._f' does not depend on any axioms +'LexLeanCollections.removeEntry._sunfold' does not depend on any axioms +'LexLeanCollections.removeEntry._unsafe_rec' does not depend on any axioms +'LexLeanCollections.setContains' does not depend on any axioms +'LexLeanCollections.setDifference' does not depend on any axioms +'LexLeanCollections.setElements' does not depend on any axioms +'LexLeanCollections.setFold' does not depend on any axioms +'LexLeanCollections.setInsert' does not depend on any axioms +'LexLeanCollections.setIntersection' does not depend on any axioms +'LexLeanCollections.setRemove' does not depend on any axioms +'LexLeanCollections.setSize' does not depend on any axioms +'LexLeanCollections.setUnion' does not depend on any axioms +'LexLeanCollections.topological' does not depend on any axioms +'LexLeanCollections.topological._f' does not depend on any axioms +'LexLeanCollections.topological._sunfold' does not depend on any axioms +'LexLeanCollections.topological._unsafe_rec' does not depend on any axioms +'LexLeanModels.Agreement' does not depend on any axioms +'LexLeanModels.Complete1' does not depend on any axioms +'LexLeanModels.Complete2' does not depend on any axioms +'LexLeanModels.Complete4' does not depend on any axioms +'LexLeanModels.Equivalent' does not depend on any axioms +'LexLeanModels.EquivalentStep' does not depend on any axioms +'LexLeanModels.EquivalentStepNoInvariant' does not depend on any axioms +'LexLeanModels.EquivalentStepNoPrecondition' does not depend on any axioms +'LexLeanModels.EquivalentStepTotal' does not depend on any axioms +'LexLeanModels.EquivalentTotal' does not depend on any axioms +'LexLeanModels.Initial' does not depend on any axioms +'LexLeanModels.Preserves' does not depend on any axioms +'LexLeanModels.PreservesTotal' does not depend on any axioms +'LexLeanModels.Satisfies' does not depend on any axioms +'LexLeanModels.SatisfiesStep' does not depend on any axioms +'LexLeanModels.SatisfiesStepNoInvariant' does not depend on any axioms +'LexLeanModels.SatisfiesStepNoPrecondition' does not depend on any axioms +'LexLeanModels.SatisfiesStepTotal' does not depend on any axioms +'LexLeanModels.SatisfiesTotal' does not depend on any axioms +'LexLeanModels.Sound1' does not depend on any axioms +'LexLeanModels.Sound2' does not depend on any axioms +'LexLeanModels.Sound4' does not depend on any axioms +'LexLeanModels.encodeInt' does not depend on any axioms +'LexLeanModels.inRange' does not depend on any axioms +'LexLeanModels.linesMatch' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanModels.tensorMatches' does not depend on any axioms +'LexLeanModels.utf8Char' does not depend on any axioms +'LexLeanRuntime.Appendable' does not depend on any axioms +'LexLeanRuntime.Appendable.append' does not depend on any axioms +'LexLeanRuntime.Appendable.casesOn' does not depend on any axioms +'LexLeanRuntime.Appendable.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Appendable.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Appendable.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Appendable.noConfusion' does not depend on any axioms +'LexLeanRuntime.Appendable.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Appendable.recOn' does not depend on any axioms +'LexLeanRuntime.Decimal' does not depend on any axioms +'LexLeanRuntime.Decimal.casesOn' does not depend on any axioms +'LexLeanRuntime.Decimal.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Decimal.format' does not depend on any axioms +'LexLeanRuntime.Decimal.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Decimal.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Decimal.noConfusion' does not depend on any axioms +'LexLeanRuntime.Decimal.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Decimal.parse' does not depend on any axioms +'LexLeanRuntime.Decimal.recOn' does not depend on any axioms +'LexLeanRuntime.Fixed' does not depend on any axioms +'LexLeanRuntime.Fixed.bitAnd' does not depend on any axioms +'LexLeanRuntime.Fixed.bitNot' does not depend on any axioms +'LexLeanRuntime.Fixed.bitOr' does not depend on any axioms +'LexLeanRuntime.Fixed.bitXor' does not depend on any axioms +'LexLeanRuntime.Fixed.casesOn' does not depend on any axioms +'LexLeanRuntime.Fixed.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Fixed.fromInt' does not depend on any axioms +'LexLeanRuntime.Fixed.maximum' does not depend on any axioms +'LexLeanRuntime.Fixed.minimum' does not depend on any axioms +'LexLeanRuntime.Fixed.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Fixed.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Fixed.noConfusion' does not depend on any axioms +'LexLeanRuntime.Fixed.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Fixed.recOn' does not depend on any axioms +'LexLeanRuntime.Fixed.shiftLeft' does not depend on any axioms +'LexLeanRuntime.Fixed.shiftRight' does not depend on any axioms +'LexLeanRuntime.Fixed.toToMathInt' does not depend on any axioms +'LexLeanRuntime.Indexable' does not depend on any axioms +'LexLeanRuntime.Indexable.casesOn' does not depend on any axioms +'LexLeanRuntime.Indexable.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Indexable.index' does not depend on any axioms +'LexLeanRuntime.Indexable.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Indexable.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Indexable.noConfusion' does not depend on any axioms +'LexLeanRuntime.Indexable.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Indexable.recOn' does not depend on any axioms +'LexLeanRuntime.Lengthable' does not depend on any axioms +'LexLeanRuntime.Lengthable.casesOn' does not depend on any axioms +'LexLeanRuntime.Lengthable.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Lengthable.length' does not depend on any axioms +'LexLeanRuntime.Lengthable.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Lengthable.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Lengthable.noConfusion' does not depend on any axioms +'LexLeanRuntime.Lengthable.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Lengthable.recOn' does not depend on any axioms +'LexLeanRuntime.Quotient' does not depend on any axioms +'LexLeanRuntime.Quotient.casesOn' does not depend on any axioms +'LexLeanRuntime.Quotient.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Quotient.isZero' does not depend on any axioms +'LexLeanRuntime.Quotient.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Quotient.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Quotient.noConfusion' does not depend on any axioms +'LexLeanRuntime.Quotient.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Quotient.quotient' does not depend on any axioms +'LexLeanRuntime.Quotient.recOn' does not depend on any axioms +'LexLeanRuntime.Quotient.remainder' does not depend on any axioms +'LexLeanRuntime.Sliceable' does not depend on any axioms +'LexLeanRuntime.Sliceable.casesOn' does not depend on any axioms +'LexLeanRuntime.Sliceable.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Sliceable.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Sliceable.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Sliceable.noConfusion' does not depend on any axioms +'LexLeanRuntime.Sliceable.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Sliceable.recOn' does not depend on any axioms +'LexLeanRuntime.Sliceable.slice' does not depend on any axioms +'LexLeanRuntime.ToMathInt' does not depend on any axioms +'LexLeanRuntime.ToMathInt.casesOn' does not depend on any axioms +'LexLeanRuntime.ToMathInt.ctorIdx' does not depend on any axioms +'LexLeanRuntime.ToMathInt.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.ToMathInt.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.ToMathInt.noConfusion' does not depend on any axioms +'LexLeanRuntime.ToMathInt.noConfusionType' does not depend on any axioms +'LexLeanRuntime.ToMathInt.recOn' does not depend on any axioms +'LexLeanRuntime.ToMathInt.toInt' does not depend on any axioms +'LexLeanRuntime.append' does not depend on any axioms +'LexLeanRuntime.bitAnd' does not depend on any axioms +'LexLeanRuntime.bitNot' does not depend on any axioms +'LexLeanRuntime.bitOr' does not depend on any axioms +'LexLeanRuntime.bitXor' does not depend on any axioms +'LexLeanRuntime.checkedAdd' does not depend on any axioms +'LexLeanRuntime.checkedAddInt64' does not depend on any axioms +'LexLeanRuntime.checkedConvert' does not depend on any axioms +'LexLeanRuntime.checkedFromInt' does not depend on any axioms +'LexLeanRuntime.checkedMultiply' does not depend on any axioms +'LexLeanRuntime.checkedMultiplyInt64' does not depend on any axioms +'LexLeanRuntime.checkedMultiplyInt64.match_1' does not depend on any axioms +'LexLeanRuntime.checkedNegate' does not depend on any axioms +'LexLeanRuntime.checkedNegateInt64' does not depend on any axioms +'LexLeanRuntime.checkedQuotient' does not depend on any axioms +'LexLeanRuntime.checkedQuotientInt64' does not depend on any axioms +'LexLeanRuntime.checkedSubtract' does not depend on any axioms +'LexLeanRuntime.checkedSubtractInt64' does not depend on any axioms +'LexLeanRuntime.compareBytes' depends on axioms: [propext] +'LexLeanRuntime.divideMagnitudeInt64' does not depend on any axioms +'LexLeanRuntime.divideMagnitudeInt64._f' does not depend on any axioms +'LexLeanRuntime.divideMagnitudeInt64._sunfold' does not depend on any axioms +'LexLeanRuntime.divideMagnitudeInt64._unsafe_rec' does not depend on any axioms +'LexLeanRuntime.divideMagnitudeInt64.match_1' does not depend on any axioms +'LexLeanRuntime.equal' does not depend on any axioms +'LexLeanRuntime.formatDecimal' does not depend on any axioms +'LexLeanRuntime.index' does not depend on any axioms +'LexLeanRuntime.instAppendableByteArray' does not depend on any axioms +'LexLeanRuntime.instAppendableList' does not depend on any axioms +'LexLeanRuntime.instDecimalInt' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.instDecimalInt.match_1' does not depend on any axioms +'LexLeanRuntime.instDecimalOfFixedOfToString' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.instFixedInt16' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedInt32' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedInt64' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedInt8' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedUInt16' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedUInt32' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedUInt64' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedUInt8' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instIndexableByteArrayUInt8' does not depend on any axioms +'LexLeanRuntime.instIndexableList' does not depend on any axioms +'LexLeanRuntime.instLengthableByteArray' does not depend on any axioms +'LexLeanRuntime.instLengthableList' does not depend on any axioms +'LexLeanRuntime.instLengthableString' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.instQuotientInt' does not depend on any axioms +'LexLeanRuntime.instQuotientNat' does not depend on any axioms +'LexLeanRuntime.instSliceableByteArray' does not depend on any axioms +'LexLeanRuntime.instSliceableList' does not depend on any axioms +'LexLeanRuntime.instToMathIntInt' does not depend on any axioms +'LexLeanRuntime.join' depends on axioms: [propext] +'LexLeanRuntime.length' does not depend on any axioms +'LexLeanRuntime.listIndex' does not depend on any axioms +'LexLeanRuntime.listIndex._f' does not depend on any axioms +'LexLeanRuntime.listIndex._sunfold' does not depend on any axioms +'LexLeanRuntime.listIndex._unsafe_rec' does not depend on any axioms +'LexLeanRuntime.listIndex.match_1' does not depend on any axioms +'LexLeanRuntime.magnitudeInt64' does not depend on any axioms +'LexLeanRuntime.multiply' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64._f' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64._sunfold' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64._unsafe_rec' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64.match_1' does not depend on any axioms +'LexLeanRuntime.negate' does not depend on any axioms +'LexLeanRuntime.parseDecimal' does not depend on any axioms +'LexLeanRuntime.quotient' does not depend on any axioms +'LexLeanRuntime.remainder' does not depend on any axioms +'LexLeanRuntime.shiftLeft' does not depend on any axioms +'LexLeanRuntime.shiftRight' does not depend on any axioms +'LexLeanRuntime.signedMagnitudeInt64' does not depend on any axioms +'LexLeanRuntime.slice' does not depend on any axioms +'LexLeanRuntime.splitExact' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.subtract' does not depend on any axioms +'LexLeanRuntime.utf8Decode' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.utf8Encode' does not depend on any axioms +'LexLeanReasoning.All' does not depend on any axioms +'LexLeanReasoning.All.below' does not depend on any axioms +'LexLeanReasoning.All.below.casesOn' does not depend on any axioms +'LexLeanReasoning.All.brecOn' does not depend on any axioms +'LexLeanReasoning.All.casesOn' does not depend on any axioms +'LexLeanReasoning.All.recOn' does not depend on any axioms +'LexLeanReasoning.Complete' does not depend on any axioms +'LexLeanReasoning.Found' does not depend on any axioms +'LexLeanReasoning.Found.match_1' does not depend on any axioms +'LexLeanReasoning.Preserves' does not depend on any axioms +'LexLeanReasoning.Reaches' does not depend on any axioms +'LexLeanReasoning.SearchOk' does not depend on any axioms +'LexLeanReasoning.Sound' does not depend on any axioms +'LexLeanReasoning.Star' does not depend on any axioms +'LexLeanReasoning.Star.below' does not depend on any axioms +'LexLeanReasoning.Star.below.casesOn' does not depend on any axioms +'LexLeanReasoning.Star.brecOn' does not depend on any axioms +'LexLeanReasoning.Star.casesOn' does not depend on any axioms +'LexLeanReasoning.Star.recOn' does not depend on any axioms +'LexLeanReasoning.allAppend' does not depend on any axioms +'LexLeanReasoning.allFold' does not depend on any axioms +'LexLeanReasoning.allHead' does not depend on any axioms +'LexLeanReasoning.allSingle' does not depend on any axioms +'LexLeanReasoning.allTail' does not depend on any axioms +'LexLeanReasoning.bltSucc' does not depend on any axioms +'LexLeanReasoning.capAll' does not depend on any axioms +'LexLeanReasoning.capBound' does not depend on any axioms +'LexLeanReasoning.checked' does not depend on any axioms +'LexLeanReasoning.foldInvariant' does not depend on any axioms +'LexLeanReasoning.foldSnoc' does not depend on any axioms +'LexLeanReasoning.freshAll' does not depend on any axioms +'LexLeanReasoning.guarded' does not depend on any axioms +'LexLeanReasoning.guardedRank' does not depend on any axioms +'LexLeanReasoning.iterateUntilBound' does not depend on any axioms +'LexLeanReasoning.iterateUntilCount' does not depend on any axioms +'LexLeanReasoning.iterateUntilGrowth' does not depend on any axioms +'LexLeanReasoning.iterateUntilInvariant' does not depend on any axioms +'LexLeanReasoning.iterateUntilSimulate' does not depend on any axioms +'LexLeanReasoning.iterateUntilStops' does not depend on any axioms +'LexLeanReasoning.lengthSnoc' does not depend on any axioms +'LexLeanReasoning.noneSome' does not depend on any axioms +'LexLeanReasoning.peakBound' does not depend on any axioms +'LexLeanReasoning.reachesStart' does not depend on any axioms +'LexLeanReasoning.searchStart' does not depend on any axioms +'LexLeanReasoning.starPreserves' does not depend on any axioms +'LexLeanReasoning.zeroLe' does not depend on any axioms 'Reasoning.Budget.Burn.apply' does not depend on any axioms 'Reasoning.Budget.Burn.apply_progress' depends on axioms: [propext, Quot.sound] 'Reasoning.Budget.Burn.apply_sound' depends on axioms: [propext, Quot.sound] diff --git a/examples/reasoning/expected/verify/extract/LexLeanExtract.X6d3e375f76cbc573b09fef98086539e0.lean b/examples/reasoning/expected/verify/extract/LexLeanExtract.X6d3e375f76cbc573b09fef98086539e0.lean deleted file mode 100644 index 526ff3f7b..000000000 --- a/examples/reasoning/expected/verify/extract/LexLeanExtract.X6d3e375f76cbc573b09fef98086539e0.lean +++ /dev/null @@ -1,435 +0,0 @@ -module -public meta import Lean -import all Reasoning.Budget -import all Reasoning.Clinic -import all Reasoning.Main -import all Reasoning.Planner -import all Reasoning.Screening -set_option autoImplicit false -set_option linter.unusedVariables false -universe u u_1 u_2 v w - -meta def LexLeanExtract.escape (text : String) : String := - (String.foldl (α := String) (fun (out : String) (c : Char) => (if (BEq.beq (α := Char) c '"') then (String.append out "\\\"") else (if (BEq.beq (α := Char) c '\\') then (String.append out "\\\\") else (if (Nat.blt (Char.toNat c) 32) then (String.append out (String.append "\\u" (String.ofList (List.drop (α := Char) 1 (Nat.toDigits 16 (Nat.add (Char.toNat c) 65536)))))) else (String.push out c))))) "" text) - -meta def LexLeanExtract.str (text : String) : String := - (String.append "\"" (String.append (LexLeanExtract.escape text) "\"")) - -meta def LexLeanExtract.name (n : Lean.Name) : String := - (LexLeanExtract.str (Lean.Name.toString n)) - -meta def LexLeanExtract.arr (items : (List String)) : String := - (String.append "[" (String.append (String.intercalate "," items) "]")) - -meta def LexLeanExtract.obj (fields : (List (Prod String String))) : String := - (String.append "{" (String.append (String.intercalate "," (List.map (α := (Prod String String)) (β := String) (fun (kv : (Prod String String)) => (String.append (LexLeanExtract.str (kv).fst) (String.append ":" (kv).snd))) fields)) "}")) - -meta def LexLeanExtract.bool (value : Bool) : String := - (if value then "true" else "false") - -meta def LexLeanExtract.fvar (id : Lean.FVarId) : String := - (LexLeanExtract.name (id).name) - -meta partial def LexLeanExtract.mergeNames (a : (List Lean.Name)) (b : (List Lean.Name)) : (List Lean.Name) := - (match a with | .nil => b | .cons x xs => (match b with | .nil => a | .cons y ys => (if (Lean.Name.lt y x) then (List.cons (α := Lean.Name) y (LexLeanExtract.mergeNames a ys)) else (List.cons (α := Lean.Name) x (LexLeanExtract.mergeNames xs b))))) - -meta partial def LexLeanExtract.splitNames (l : (List Lean.Name)) : (Prod (List Lean.Name) (List Lean.Name)) := - (match l with | .nil => (Prod.mk (α := (List Lean.Name)) (β := (List Lean.Name)) (List.nil (α := Lean.Name)) (List.nil (α := Lean.Name))) | .cons x xs => (let rest : (Prod (List Lean.Name) (List Lean.Name)) := (LexLeanExtract.splitNames xs); (Prod.mk (α := (List Lean.Name)) (β := (List Lean.Name)) (List.cons (α := Lean.Name) x (rest).snd) (rest).fst))) - -meta partial def LexLeanExtract.sortNames (l : (List Lean.Name)) : (List Lean.Name) := - (match l with | .nil => (List.nil (α := Lean.Name)) | .cons x xs => (match xs with | .nil => l | .cons y ys => (let halves : (Prod (List Lean.Name) (List Lean.Name)) := (LexLeanExtract.splitNames l); (LexLeanExtract.mergeNames (LexLeanExtract.sortNames (halves).fst) (LexLeanExtract.sortNames (halves).snd))))) - -meta def LexLeanExtract.sorted (names : (Std.HashSet Lean.Name)) : (List Lean.Name) := - (LexLeanExtract.sortNames (Std.HashSet.toList (α := Lean.Name) names)) - -meta def LexLeanExtract.insert (names : (Std.HashSet Lean.Name)) (n : Lean.Name) : (Std.HashSet Lean.Name) := - (Std.HashSet.insert (α := Lean.Name) names n) - -meta partial def LexLeanExtract.type (e : Lean.Expr) : String := - (match e with | .const n us => (if (BEq.beq (α := Lean.Name) n ``lcErased) then (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "erased"))] : List (Prod String String)))) else (if (BEq.beq (α := Lean.Name) n ``lcAny) then (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "any"))] : List (Prod String String)))) else (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "const")), (Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name n)), (Prod.mk (α := String) (β := String) "levels" (LexLeanExtract.arr (List.map (α := Lean.Level) (β := String) (fun (u : Lean.Level) => (LexLeanExtract.str (ToString.toString (α := Lean.Level) u))) us)))] : List (Prod String String)))))) | .app fn arg => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "app")), (Prod.mk (α := String) (β := String) "head" (LexLeanExtract.type (Lean.Expr.getAppFn e))), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := Lean.Expr) (β := String) (fun (a : Lean.Expr) => (LexLeanExtract.type a)) (Array.toList (α := Lean.Expr) (Lean.Expr.getAppArgs e)))))] : List (Prod String String)))) | .forallE binderName domain body binderInfo => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "arrow")), (Prod.mk (α := String) (β := String) "domain" (LexLeanExtract.type domain)), (Prod.mk (α := String) (β := String) "codomain" (LexLeanExtract.type body))] : List (Prod String String)))) | .fvar id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "fvar")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar id))] : List (Prod String String)))) | .bvar position => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "bvar")), (Prod.mk (α := String) (β := String) "index" (ToString.toString (α := Nat) position))] : List (Prod String String)))) | .sort u => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "sort")), (Prod.mk (α := String) (β := String) "level" (LexLeanExtract.str (ToString.toString (α := Lean.Level) u)))] : List (Prod String String)))) | .mvar id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "metavariable"))] : List (Prod String String)))) | .lam binderName domain body binderInfo => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "lambda"))] : List (Prod String String)))) | .letE declName t value body nonDep => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "let"))] : List (Prod String String)))) | .lit literal => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "literal"))] : List (Prod String String)))) | .mdata data body => (match (Lean.annotation? (Lean.Name.mkSimple "borrowed") e) with | .some annotated => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "borrowed")), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type body))] : List (Prod String String)))) | .none => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "metadata"))] : List (Prod String String))))) | .proj typeName idx struct => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "projection"))] : List (Prod String String))))) - -meta def LexLeanExtract.arg (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) : String := - (match a with | .erased => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "erased"))] : List (Prod String String)))) | .fvar id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "fvar")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar id))] : List (Prod String String)))) | .type e => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "type")), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type e))] : List (Prod String String))))) - -meta def LexLeanExtract.literal (value : Lean.Compiler.LCNF.LitValue) : String := - (match value with | .nat v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "nat")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) v)))] : List (Prod String String)))) | .str v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "string")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str v))] : List (Prod String String)))) | .uint8 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint8")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt8.toNat v))))] : List (Prod String String)))) | .uint16 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint16")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt16.toNat v))))] : List (Prod String String)))) | .uint32 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint32")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt32.toNat v))))] : List (Prod String String)))) | .uint64 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint64")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt64.toNat v))))] : List (Prod String String)))) | .usize v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "usize")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt64.toNat v))))] : List (Prod String String))))) - -meta def LexLeanExtract.letValue (v : (Lean.Compiler.LCNF.LetValue Lean.Compiler.LCNF.Purity.pure)) : String := - (match v with | .lit value => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "literal")), (Prod.mk (α := String) (β := String) "literal" (LexLeanExtract.literal value))] : List (Prod String String)))) | .erased => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "erased"))] : List (Prod String String)))) | .proj typeName position struct => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "projection")), (Prod.mk (α := String) (β := String) "type_name" (LexLeanExtract.name typeName)), (Prod.mk (α := String) (β := String) "index" (ToString.toString (α := Nat) position)), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.fvar struct))] : List (Prod String String)))) | .const declName us args => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "const")), (Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name declName)), (Prod.mk (α := String) (β := String) "levels" (LexLeanExtract.arr (List.map (α := Lean.Level) (β := String) (fun (u : Lean.Level) => (LexLeanExtract.str (ToString.toString (α := Lean.Level) u))) us))), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.arg a)) (Array.toList (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) args))))] : List (Prod String String)))) | .fvar id args => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "apply")), (Prod.mk (α := String) (β := String) "function" (LexLeanExtract.fvar id)), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.arg a)) (Array.toList (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) args))))] : List (Prod String String))))) - -meta def LexLeanExtract.param (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) : String := - (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar (p).fvarId)), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type (p).type)), (Prod.mk (α := String) (β := String) "borrow" (LexLeanExtract.bool (p).borrow))] : List (Prod String String)))) - -mutual -meta partial def LexLeanExtract.code (c : (Lean.Compiler.LCNF.Code Lean.Compiler.LCNF.Purity.pure)) : String := - (match c with | .«let» decl k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "let")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar (decl).fvarId)), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type (decl).type)), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.letValue (decl).value)), (Prod.mk (α := String) (β := String) "body" (LexLeanExtract.code k))] : List (Prod String String)))) | .«fun» decl k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "fun")), (Prod.mk (α := String) (β := String) "declaration" (LexLeanExtract.funDecl decl)), (Prod.mk (α := String) (β := String) "body" (LexLeanExtract.code k))] : List (Prod String String)))) | .jp decl k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "join")), (Prod.mk (α := String) (β := String) "declaration" (LexLeanExtract.funDecl decl)), (Prod.mk (α := String) (β := String) "body" (LexLeanExtract.code k))] : List (Prod String String)))) | .jmp id args => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "jump")), (Prod.mk (α := String) (β := String) "target" (LexLeanExtract.fvar id)), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.arg a)) (Array.toList (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) args))))] : List (Prod String String)))) | .cases cs => (LexLeanExtract.cases cs) | .«return» id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "return")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar id))] : List (Prod String String)))) | .unreach t => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unreachable")), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type t))] : List (Prod String String))))) - -meta partial def LexLeanExtract.funDecl (d : (Lean.Compiler.LCNF.FunDecl Lean.Compiler.LCNF.Purity.pure)) : String := - (match d with | .mk fvarId binderName params type value => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar fvarId)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param p)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) params)))), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type type)), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.code value))] : List (Prod String String))))) - -meta partial def LexLeanExtract.cases (cs : (Lean.Compiler.LCNF.Cases Lean.Compiler.LCNF.Purity.pure)) : String := - (match cs with | .mk typeName resultType discr alts => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "cases")), (Prod.mk (α := String) (β := String) "type_name" (LexLeanExtract.name typeName)), (Prod.mk (α := String) (β := String) "result_type" (LexLeanExtract.type resultType)), (Prod.mk (α := String) (β := String) "discriminant" (LexLeanExtract.fvar discr)), (Prod.mk (α := String) (β := String) "alternatives" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.alt a)) (Array.toList (α := (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) alts))))] : List (Prod String String))))) - -meta partial def LexLeanExtract.alt (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) : String := - (match a with | .alt ctorName params k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "constructor")), (Prod.mk (α := String) (β := String) "constructor" (LexLeanExtract.name ctorName)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param p)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) params)))), (Prod.mk (α := String) (β := String) "code" (LexLeanExtract.code k))] : List (Prod String String)))) | .default k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "default")), (Prod.mk (α := String) (β := String) "code" (LexLeanExtract.code k))] : List (Prod String String))))) -end - -meta partial def LexLeanExtract.typeConstants (e : Lean.Expr) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (match e with | .const n us => (if (Bool.or (BEq.beq (α := Lean.Name) n ``lcErased) (BEq.beq (α := Lean.Name) n ``lcAny)) then out else (LexLeanExtract.insert out n)) | .app f a => (LexLeanExtract.typeConstants a (LexLeanExtract.typeConstants f out)) | .forallE binderName d b binderInfo => (LexLeanExtract.typeConstants b (LexLeanExtract.typeConstants d out)) | .bvar position => out | .fvar id => out | .mvar id => out | .sort u => out | .lit literal => out | .lam binderName d b binderInfo => (LexLeanExtract.typeConstants b (LexLeanExtract.typeConstants d out)) | .letE declName t v b nonDep => (LexLeanExtract.typeConstants b (LexLeanExtract.typeConstants v (LexLeanExtract.typeConstants t out))) | .mdata data b => (LexLeanExtract.typeConstants b out) | .proj typeName idx b => (LexLeanExtract.typeConstants b (LexLeanExtract.insert out typeName))) - -meta def LexLeanExtract.argConstants (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (match a with | .type e => (LexLeanExtract.typeConstants e out) | .erased => out | .fvar id => out) - -meta def LexLeanExtract.paramConstants (ps : (Array (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure))) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (Array.foldl (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.typeConstants (p).type acc)) out ps) - -meta def LexLeanExtract.letValueConstants (v : (Lean.Compiler.LCNF.LetValue Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (match v with | .const n us args => (Array.foldl (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.argConstants a acc)) (LexLeanExtract.insert out n) args) | .fvar id args => (Array.foldl (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.argConstants a acc)) out args) | .proj typeName position struct => (LexLeanExtract.insert out typeName) | .lit value => out | .erased => out) - -mutual -meta partial def LexLeanExtract.codeConstants (c : (Lean.Compiler.LCNF.Code Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (match c with | .«let» decl k => (LexLeanExtract.codeConstants k (LexLeanExtract.letValueConstants (decl).value (LexLeanExtract.typeConstants (decl).type out))) | .«fun» decl k => (LexLeanExtract.codeConstants k (LexLeanExtract.funConstants decl out)) | .jp decl k => (LexLeanExtract.codeConstants k (LexLeanExtract.funConstants decl out)) | .jmp id args => (Array.foldl (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.argConstants a acc)) out args) | .cases cs => (LexLeanExtract.casesConstants cs out) | .«return» id => out | .unreach t => (LexLeanExtract.typeConstants t out)) - -meta partial def LexLeanExtract.funConstants (d : (Lean.Compiler.LCNF.FunDecl Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (match d with | .mk fvarId binderName params type value => (LexLeanExtract.codeConstants value (LexLeanExtract.typeConstants type (LexLeanExtract.paramConstants params out)))) - -meta partial def LexLeanExtract.casesConstants (cs : (Lean.Compiler.LCNF.Cases Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (match cs with | .mk typeName resultType discr alts => (Array.foldl (α := (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.altConstants a acc)) (LexLeanExtract.typeConstants resultType (LexLeanExtract.insert out typeName)) alts)) - -meta partial def LexLeanExtract.altConstants (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := - (match a with | .alt ctorName ps k => (LexLeanExtract.codeConstants k (LexLeanExtract.paramConstants ps (LexLeanExtract.insert out ctorName))) | .default k => (LexLeanExtract.codeConstants k out)) -end - -meta def LexLeanExtract.kind (info : Lean.ConstantInfo) : String := - (match info with | .defnInfo value => (match (value).safety with | .safe => "definition" | .«unsafe» => "unsafe-definition" | .«partial» => "partial-definition") | .opaqueInfo opaqueValue => "opaque" | .thmInfo theoremValue => "theorem" | .axiomInfo axiomValue => "axiom" | .inductInfo inductiveValue => "inductive" | .ctorInfo constructorValue => "constructor" | .recInfo recursorValue => "recursor" | .quotInfo quotientValue => "quotient") - -meta def LexLeanExtract.originalKind (env : Lean.Environment) (n : Lean.Name) : String := - (match (Lean.getOriginalConstKind? env n) with | .some original => (match original with | .defn => "definition" | .thm => "theorem" | .«axiom» => "axiom" | .«opaque» => "opaque" | .quot => "quotient" | .induct => "inductive" | .ctor => "constructor" | .recursor => "recursor") | .none => "unknown") - -meta def LexLeanExtract.moduleOf (env : Lean.Environment) (n : Lean.Name) : Lean.Name := - (match (Lean.Environment.getModuleIdxFor? env n) with | .some index => (Array.getD (α := Lean.Name) (Lean.EnvironmentHeader.moduleNames (Lean.Environment.header env)) index (Lean.Name.anonymous)) | .none => (Lean.Name.anonymous)) - -meta def LexLeanExtract.inProject (env : Lean.Environment) (modules : (Array Lean.Name)) (n : Lean.Name) : Bool := - (Array.contains (α := Lean.Name) modules (LexLeanExtract.moduleOf env n)) - -meta def LexLeanExtract.facts (env : Lean.Environment) (n : Lean.Name) (info : Lean.ConstantInfo) : (Lean.Core.CoreM (List (Prod String String))) := - (Bind.bind (m := Lean.Core.CoreM) (α := Bool) (β := (List (Prod String String))) (Lean.Compiler.LCNF.shouldGenerateCode n) (fun (generates : Bool) => (Pure.pure (f := Lean.Core.CoreM) (α := (List (Prod String String))) (([(Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name n)), (Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str (LexLeanExtract.kind info))), (Prod.mk (α := String) (β := String) "module" (LexLeanExtract.name (LexLeanExtract.moduleOf env n))), (Prod.mk (α := String) (β := String) "computable" (LexLeanExtract.bool (Bool.not (Lean.isNoncomputable env n)))), (Prod.mk (α := String) (β := String) "generates_code" (LexLeanExtract.bool generates)), (Prod.mk (α := String) (β := String) "original_kind" (LexLeanExtract.str (LexLeanExtract.originalKind env n))), (Prod.mk (α := String) (β := String) "internal" (LexLeanExtract.bool (Lean.Name.isInternal n)))] : List (Prod String String)))))) - -mutual -meta partial def LexLeanExtract.sameSignature (a : Lean.Expr) (b : Lean.Expr) : Bool := - (match a with | .mdata data1 inner1 => (LexLeanExtract.sameSignature inner1 b) | _ => (match b with | .mdata data2 inner2 => (LexLeanExtract.sameSignature a inner2) | _ => (LexLeanExtract.sameStructure a b))) - -meta partial def LexLeanExtract.sameStructure (a : Lean.Expr) (b : Lean.Expr) : Bool := - (match a with | .forallE name1 domain1 body1 info1 => (match b with | .forallE name2 domain2 body2 info2 => (Bool.and (BEq.beq (α := Lean.BinderInfo) info1 info2) (Bool.and (LexLeanExtract.sameSignature domain1 domain2) (LexLeanExtract.sameSignature body1 body2))) | _ => (Bool.false)) | .lam name1 domain1 body1 info1 => (match b with | .lam name2 domain2 body2 info2 => (Bool.and (BEq.beq (α := Lean.BinderInfo) info1 info2) (Bool.and (LexLeanExtract.sameSignature domain1 domain2) (LexLeanExtract.sameSignature body1 body2))) | _ => (Bool.false)) | .app function1 argument1 => (match b with | .app function2 argument2 => (Bool.and (LexLeanExtract.sameSignature function1 function2) (LexLeanExtract.sameSignature argument1 argument2)) | _ => (Bool.false)) | .const constant1 levels1 => (match b with | .const constant2 levels2 => (Bool.and (BEq.beq (α := Lean.Name) constant1 constant2) (BEq.beq (α := (List Lean.Level)) levels1 levels2)) | _ => (Bool.false)) | .sort level1 => (match b with | .sort level2 => (BEq.beq (α := Lean.Level) level1 level2) | _ => (Bool.false)) | .bvar position1 => (match b with | .bvar position2 => (BEq.beq (α := Nat) position1 position2) | _ => (Bool.false)) | .lit literal1 => (match b with | .lit literal2 => (BEq.beq (α := Lean.Literal) literal1 literal2) | _ => (Bool.false)) | .fvar free1 => (match b with | .fvar free2 => (BEq.beq (α := Lean.FVarId) free1 free2) | _ => (Bool.false)) | .mvar meta1 => (match b with | .mvar meta2 => (BEq.beq (α := Lean.MVarId) meta1 meta2) | _ => (Bool.false)) | .letE local1 type1 value1 scope1 flag1 => (match b with | .letE local2 type2 value2 scope2 flag2 => (Bool.and (LexLeanExtract.sameSignature type1 type2) (Bool.and (LexLeanExtract.sameSignature value1 value2) (LexLeanExtract.sameSignature scope1 scope2))) | _ => (Bool.false)) | .proj structure1 field1 target1 => (match b with | .proj structure2 field2 target2 => (Bool.and (BEq.beq (α := Lean.Name) structure1 structure2) (Bool.and (BEq.beq (α := Nat) field1 field2) (LexLeanExtract.sameSignature target1 target2))) | _ => (Bool.false)) | _ => (Bool.false)) -end - -public meta def LexLeanExtract.elabSignature : Lean.Elab.Command.CommandElab := - (fun (stx : Lean.Syntax) => (Lean.Elab.Command.liftTermElabM (α := Unit) (let declName : Lean.Name := (Lean.Syntax.getId (Lean.Syntax.getArg stx 1)); (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.ConstantInfo) (β := Unit) (Lean.getConstInfo (m := Lean.Elab.Term.TermElabM) declName) (fun (info : Lean.ConstantInfo) => (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.Expr) (β := Unit) (Lean.Elab.Term.elabType (Lean.Syntax.getArg stx 3)) (fun (elaborated : Lean.Expr) => (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.Expr) (β := Unit) (Lean.instantiateMVars (m := Lean.Elab.Term.TermElabM) elaborated) (fun (registered : Lean.Expr) => (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.Expr) (β := Unit) (Lean.instantiateMVars (m := Lean.Elab.Term.TermElabM) (Lean.ConstantInfo.type info)) (fun (actual : Lean.Expr) => (if (LexLeanExtract.sameSignature actual registered) then (Pure.pure (f := Lean.Elab.Term.TermElabM) (α := Unit) (Unit.unit)) else (Lean.«throwError» (m := Lean.Elab.Term.TermElabM) (α := Unit) (Lean.MessageData.compose (Lean.stringToMessageData "lexlean-extract-drift: the signature of `") (Lean.MessageData.compose (Lean.MessageData.ofName declName) (Lean.MessageData.compose (Lean.stringToMessageData "` is ") (Lean.MessageData.ofExpr (Lean.ConstantInfo.type info)))))))))))))))))) - -meta def LexLeanExtract.classify (env : Lean.Environment) (c : Lean.Name) (info : Lean.ConstantInfo) : String := - (let structural : Bool := (Bool.or (Lean.Environment.isProjectionFn env c) (Bool.or (Lean.isCasesOnRecursor env c) (Bool.or (Lean.isAuxRecursor env c) (Bool.or (Lean.isNoConfusion env c) (Bool.or (Lean.Name.isInternal c) (Bool.or (Lean.Meta.isInstanceCore env c) (Bool.or (Lean.Meta.isMatcherCore env c) (BEq.beq (α := String) (Lean.Name.getString! c) "ctorIdx")))))))); (let former : Bool := (Lean.Expr.isSort (Lean.Expr.getForallBody (Lean.ConstantInfo.type info))); (match info with | .inductInfo inductiveValue => "type" | .defnInfo definitionValue => (if former then "type" else (if (Bool.and (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c) (Bool.not structural)) then "call" else "plumbing")) | .opaqueInfo opaqueValue => (if (Bool.and (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c) (Bool.not structural)) then "call" else "plumbing") | .axiomInfo axiomValue => (if (Bool.and (Bool.and (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c) (Bool.not structural)) (Bool.not former)) then "call" else "plumbing") | .thmInfo theoremValue => "plumbing" | .quotInfo quotientValue => "plumbing" | .ctorInfo constructorValue => "plumbing" | .recInfo recursorValue => "plumbing"))) - -meta def LexLeanExtract.ownNames (env : Lean.Environment) : (Std.HashSet Lean.Name) := - (Lean.SMap.foldStage2 (α := Lean.Name) (β := Lean.ConstantInfo) (σ := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (n : Lean.Name) (info : Lean.ConstantInfo) => (LexLeanExtract.insert acc n)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (Lean.Environment.constants env)) - -meta def LexLeanExtract.ownUses (env : Lean.Environment) : (Std.HashSet Lean.Name) := - (Lean.SMap.foldStage2 (α := Lean.Name) (β := Lean.ConstantInfo) (σ := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (n : Lean.Name) (info : Lean.ConstantInfo) => (if (List.elem (α := Lean.Name) (Lean.Name.mkSimple "LexLeanExtract") (Lean.Name.components (Lean.Name.eraseMacroScopes n))) then (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (seen : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert seen used)) (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (seen : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert seen used)) acc (Lean.Expr.getUsedConstants (Lean.ConstantInfo.type info))) (match (Lean.ConstantInfo.value? info (Bool.true)) with | .some value => (Lean.Expr.getUsedConstants value) | .none => ((#[] : Array Lean.Name)))) else acc)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (Lean.Environment.constants env)) - -meta partial def LexLeanExtract.classifyAll (env : Lean.Environment) (own : (Std.HashSet Lean.Name)) (names : (List Lean.Name)) : (Lean.Elab.Command.CommandElabM (List (Prod Lean.Name String))) := - (match names with | .nil => (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (List.nil (α := (Prod Lean.Name String)))) | .cons c rest => (if (Std.HashSet.contains (α := Lean.Name) own c) then (LexLeanExtract.classifyAll env own rest) else (match (Lean.Environment.find? env c) with | .some info => (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (β := (List (Prod Lean.Name String))) (LexLeanExtract.classifyAll env own rest) (fun (tail : (List (Prod Lean.Name String))) => (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (List.cons (α := (Prod Lean.Name String)) (Prod.mk (α := Lean.Name) (β := String) c (LexLeanExtract.classify env c info)) tail)))) | .none => (Lean.«throwError» (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (Lean.stringToMessageData (String.append "lexlean-extract-drift: the adapter uses the unknown constant `" (String.append (Lean.Name.toString c) "`"))))))) - -meta def LexLeanExtract.adapterConstants : (Lean.Elab.Command.CommandElabM (List (Prod Lean.Name String))) := - (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := Lean.Environment) (β := (List (Prod Lean.Name String))) (Lean.MonadEnv.getEnv (m := Lean.Elab.Command.CommandElabM)) (fun (env : Lean.Environment) => (LexLeanExtract.classifyAll env (LexLeanExtract.ownNames env) (LexLeanExtract.sorted (LexLeanExtract.ownUses env))))) - -meta partial def LexLeanExtract.listLines (used : (List (Prod Lean.Name String))) : (Lean.Elab.Command.CommandElabM Unit) := - (match used with | .nil => (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := Unit) (Unit.unit)) | .cons entry rest => (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := Unit) (β := Unit) (MonadLiftT.monadLift (m := IO) (n := Lean.Elab.Command.CommandElabM) (α := Unit) (IO.println (α := String) (String.append (entry).snd (String.append " " (Lean.Name.toString (entry).fst))))) (fun (printed : Unit) => (LexLeanExtract.listLines rest)))) - -meta def LexLeanExtract.listAdapterConstants : (Lean.Elab.Command.CommandElabM Unit) := - (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (β := Unit) (LexLeanExtract.adapterConstants) (fun (used : (List (Prod Lean.Name String))) => (LexLeanExtract.listLines used))) - -meta def LexLeanExtract.registeredClass (calls : (Array Lean.Name)) (types : (Array (Prod Lean.Name (Array String)))) (opaques : (Array Lean.Name)) (plumbing : (Array Lean.Name)) (c : Lean.Name) : String := - (let typeNames : (List Lean.Name) := (List.map (α := (Prod Lean.Name (Array String))) (β := Lean.Name) (fun (row : (Prod Lean.Name (Array String))) => (row).fst) (Array.toList (α := (Prod Lean.Name (Array String))) types)); (if (Array.contains (α := Lean.Name) calls c) then "call" else (if (Bool.or (List.contains (α := Lean.Name) typeNames c) (Array.contains (α := Lean.Name) opaques c)) then "type" else (if (Array.contains (α := Lean.Name) plumbing c) then "plumbing" else (if (List.any (α := (Prod Lean.Name (Array String))) (Array.toList (α := (Prod Lean.Name (Array String))) types) (fun (candidate : (Prod Lean.Name (Array String))) => (Bool.and (BEq.beq (α := Lean.Name) (Lean.Name.getPrefix c) (candidate).fst) (Array.contains (α := String) (candidate).snd (Lean.Name.getString! c))))) then "plumbing" else "unregistered"))))) - -meta partial def LexLeanExtract.usedProblems (calls : (Array Lean.Name)) (types : (Array (Prod Lean.Name (Array String)))) (opaques : (Array Lean.Name)) (plumbing : (Array Lean.Name)) (used : (List (Prod Lean.Name String))) : (List String) := - (match used with | .nil => (List.nil (α := String)) | .cons entry rest => (let c : Lean.Name := (entry).fst; (let foreignType : Bool := (Bool.and (BEq.beq (α := String) (entry).snd "type") (Bool.not (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c))); (let expected : String := (if foreignType then "a type or plumbing" else (entry).snd); (let registered : String := (LexLeanExtract.registeredClass calls types opaques plumbing c); (if (if (BEq.beq (α := String) (entry).snd "plumbing") then (Bool.not (BEq.beq (α := String) registered "unregistered")) else (if foreignType then (Bool.or (BEq.beq (α := String) registered "type") (BEq.beq (α := String) registered "plumbing")) else (BEq.beq (α := String) registered expected))) then (LexLeanExtract.usedProblems calls types opaques plumbing rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString c) (String.append "` is used as " (String.append expected (String.append " but registered as " registered))))) (LexLeanExtract.usedProblems calls types opaques plumbing rest)))))))) - -meta partial def LexLeanExtract.unusedProblems (used : (List (Prod Lean.Name String))) (names : (List Lean.Name)) : (List String) := - (match names with | .nil => (List.nil (α := String)) | .cons c rest => (if (List.any (α := (Prod Lean.Name String)) used (fun (entry : (Prod Lean.Name String)) => (BEq.beq (α := Lean.Name) (entry).fst c))) then (LexLeanExtract.unusedProblems used rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString c) "` is plumbing but unused")) (LexLeanExtract.unusedProblems used rest)))) - -meta partial def LexLeanExtract.typeProblems (env : Lean.Environment) (types : (List (Prod Lean.Name (Array String)))) : (List String) := - (match types with | .nil => (List.nil (α := String)) | .cons row rest => (let n : Lean.Name := (row).fst; (match (Lean.Environment.find? env n) with | .some info => (match info with | .inductInfo «inductive» => (if (BEq.beq (α := (List String)) (List.map (α := Lean.Name) (β := String) (fun (constructorName : Lean.Name) => (Lean.Name.getString! constructorName)) («inductive»).ctors) (Array.toList (α := String) (row).snd)) then (LexLeanExtract.typeProblems env rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString n) (String.append "` has constructors " (String.append (ToString.toString (α := (List String)) (List.map (α := Lean.Name) (β := String) (fun (listed : Lean.Name) => (Lean.Name.getString! listed)) («inductive»).ctors)) (String.append ", registered " (ToString.toString (α := (List String)) (Array.toList (α := String) (row).snd))))))) (LexLeanExtract.typeProblems env rest))) | _ => (if (Array.isEmpty (α := String) (row).snd) then (LexLeanExtract.typeProblems env rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString n) (String.append "` is not an inductive type, registered with constructors " (ToString.toString (α := (List String)) (Array.toList (α := String) (row).snd))))) (LexLeanExtract.typeProblems env rest)))) | .none => (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString n) "` is not a constant")) (LexLeanExtract.typeProblems env rest))))) - -meta def LexLeanExtract.checkNames (calls : (Array Lean.Name)) (types : (Array (Prod Lean.Name (Array String)))) (opaques : (Array Lean.Name)) (plumbing : (Array Lean.Name)) : (Lean.Elab.Command.CommandElabM Unit) := - (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := Lean.Environment) (β := Unit) (Lean.MonadEnv.getEnv (m := Lean.Elab.Command.CommandElabM)) (fun (env : Lean.Environment) => (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (β := Unit) (LexLeanExtract.adapterConstants) (fun (used : (List (Prod Lean.Name String))) => (let names : (List Lean.Name) := (Array.toList (α := Lean.Name) plumbing); (let differences : (List String) := (List.append (α := String) (LexLeanExtract.usedProblems calls types opaques plumbing used) (List.append (α := String) (LexLeanExtract.unusedProblems used names) (LexLeanExtract.typeProblems env (Array.toList (α := (Prod Lean.Name (Array String))) types)))); (if (List.isEmpty (α := String) differences) then (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := Unit) (Unit.unit)) else (Lean.«throwError» (m := Lean.Elab.Command.CommandElabM) (α := Unit) (Lean.stringToMessageData (String.append "lexlean-extract-drift: the adapter and its registry differ: " (String.intercalate "; " differences))))))))))) - -meta def LexLeanExtract.declUses (decl : (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) : (Std.HashSet Lean.Name) := - (match (decl).value with | .code body => (LexLeanExtract.codeConstants body (LexLeanExtract.typeConstants ((decl).toSignature).type (LexLeanExtract.paramConstants ((decl).toSignature).params (Std.HashSet.emptyWithCapacity (α := Lean.Name))))) | .extern attributes => (LexLeanExtract.typeConstants ((decl).toSignature).type (LexLeanExtract.paramConstants ((decl).toSignature).params (Std.HashSet.emptyWithCapacity (α := Lean.Name))))) - -meta def LexLeanExtract.declText (decl : (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) : String := - (let signatureUses : (Std.HashSet Lean.Name) := (LexLeanExtract.typeConstants ((decl).toSignature).type (LexLeanExtract.paramConstants ((decl).toSignature).params (Std.HashSet.emptyWithCapacity (α := Lean.Name)))); (match (decl).value with | .code body => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "safe" (LexLeanExtract.bool ((decl).toSignature).safe)), (Prod.mk (α := String) (β := String) "level_parameters" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (levelName : Lean.Name) => (LexLeanExtract.name levelName)) ((decl).toSignature).levelParams))), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type ((decl).toSignature).type)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (parameter : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param parameter)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) ((decl).toSignature).params)))), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "code")), (Prod.mk (α := String) (β := String) "code" (LexLeanExtract.code body))] : List (Prod String String))))), (Prod.mk (α := String) (β := String) "uses" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (usedName : Lean.Name) => (LexLeanExtract.name usedName)) (LexLeanExtract.sorted (LexLeanExtract.codeConstants body signatureUses)))))] : List (Prod String String)))) | .extern attributes => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "safe" (LexLeanExtract.bool ((decl).toSignature).safe)), (Prod.mk (α := String) (β := String) "level_parameters" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (levelName : Lean.Name) => (LexLeanExtract.name levelName)) ((decl).toSignature).levelParams))), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type ((decl).toSignature).type)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (parameter : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param parameter)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) ((decl).toSignature).params)))), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "extern"))] : List (Prod String String))))), (Prod.mk (α := String) (β := String) "uses" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (usedName : Lean.Name) => (LexLeanExtract.name usedName)) (LexLeanExtract.sorted signatureUses))))] : List (Prod String String)))))) - -meta partial def LexLeanExtract.codeLoop (env : Lean.Environment) (modules : (Array Lean.Name)) (queue : (List Lean.Name)) (visited : (Std.HashSet Lean.Name)) (decls : (Std.HashMap Lean.Name String)) (referenced : (Std.HashSet Lean.Name)) : (Lean.Core.CoreM (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) := - (match queue with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Prod.mk (α := (Std.HashSet Lean.Name)) (β := (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name))) visited (Prod.mk (α := (Std.HashMap Lean.Name String)) (β := (Std.HashSet Lean.Name)) decls referenced))) | .cons n rest => (if (Std.HashSet.contains (α := Lean.Name) visited n) then (LexLeanExtract.codeLoop env modules rest visited decls referenced) else (match (Lean.Environment.find? env n) with | .some info => (let visitedNow : (Std.HashSet Lean.Name) := (LexLeanExtract.insert visited n); (if (Bool.and (BEq.beq (α := String) (LexLeanExtract.kind info) "definition") (Bool.not (Lean.isNoncomputable env n))) then (Bind.bind (m := Lean.Core.CoreM) (α := Bool) (β := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.Compiler.LCNF.shouldGenerateCode n) (fun (generates : Bool) => (if generates then (Bind.bind (m := Lean.Core.CoreM) (α := Unit) (β := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.MonadNameGenerator.setNGen (m := Lean.Core.CoreM) (Lean.NameGenerator.mk (Lean.Name.mkSimple "_uniq") 1)) (fun (restarted : Unit) => (Bind.bind (m := Lean.Core.CoreM) (α := (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) (β := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.Compiler.LCNF.CompilerM.run (α := (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) (Lean.Compiler.LCNF.toDecl n)) (fun (decl : (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) => (let uses : (List Lean.Name) := (LexLeanExtract.sorted (LexLeanExtract.declUses decl)); (LexLeanExtract.codeLoop env modules (List.append (α := Lean.Name) rest (List.filter (α := Lean.Name) (fun (candidate : Lean.Name) => (LexLeanExtract.inProject env modules candidate)) uses)) visitedNow (Std.HashMap.insert (α := Lean.Name) (β := String) decls ((decl).toSignature).name (LexLeanExtract.declText decl)) (List.foldl (α := (Std.HashSet Lean.Name)) (β := Lean.Name) (fun (seen : (Std.HashSet Lean.Name)) (outside : Lean.Name) => (LexLeanExtract.insert seen outside)) referenced (List.filter (α := Lean.Name) (fun (outside : Lean.Name) => (Bool.not (LexLeanExtract.inProject env modules outside))) uses)))))))) else (LexLeanExtract.codeLoop env modules rest visitedNow decls referenced)))) else (LexLeanExtract.codeLoop env modules rest visitedNow decls referenced))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString n) "`"))))))) - -meta partial def LexLeanExtract.kernelLoop (env : Lean.Environment) (modules : (Array Lean.Name)) (queue : (List Lean.Name)) (seen : (Std.HashSet Lean.Name)) : (Lean.Core.CoreM (Std.HashSet Lean.Name)) := - (match queue with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (Std.HashSet Lean.Name)) seen) | .cons n rest => (if (Std.HashSet.contains (α := Lean.Name) seen n) then (LexLeanExtract.kernelLoop env modules rest seen) else (match (Lean.Environment.find? env n) with | .some info => (LexLeanExtract.kernelLoop env modules (List.append (α := Lean.Name) rest (List.filter (α := Lean.Name) (fun (candidate : Lean.Name) => (LexLeanExtract.inProject env modules candidate)) (LexLeanExtract.sorted (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert acc used)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (match (Lean.ConstantInfo.value? info (Bool.true)) with | .some value => (Lean.Expr.getUsedConstants value) | .none => ((#[] : Array Lean.Name))))))) (LexLeanExtract.insert seen n)) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (Std.HashSet Lean.Name)) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString n) "`"))))))) - -meta partial def LexLeanExtract.ctorRows (env : Lean.Environment) (names : (List Lean.Name)) : (Lean.Core.CoreM (List String)) := - (match names with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.nil (α := String))) | .cons c rest => (match (Lean.Environment.find? env c) with | .some info => (match info with | .ctorInfo constructor => (Bind.bind (m := Lean.Core.CoreM) (α := Lean.Expr) (β := (List String)) (Lean.Meta.MetaM.run' (α := Lean.Expr) (Lean.Compiler.LCNF.toLCNFType ((constructor).toConstantVal).type)) (fun (constructorType : Lean.Expr) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := (List String)) (LexLeanExtract.ctorRows env rest) (fun (tail : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.cons (α := String) (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name c)), (Prod.mk (α := String) (β := String) "parameters" (ToString.toString (α := Nat) (constructor).numParams)), (Prod.mk (α := String) (β := String) "fields" (ToString.toString (α := Nat) (constructor).numFields)), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type constructorType))] : List (Prod String String)))) tail)))))) | _ => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: `" (String.append (Lean.Name.toString c) "` is not a constructor"))))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: `" (String.append (Lean.Name.toString c) "` is not a constructor")))))) - -meta def LexLeanExtract.inductiveRow (env : Lean.Environment) (n : Lean.Name) : (Lean.Core.CoreM String) := - (match (Lean.Environment.find? env n) with | .some info => (match info with | .inductInfo «inductive» => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := String) (LexLeanExtract.ctorRows env («inductive»).ctors) (fun (constructors : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := String) (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "parameters" (ToString.toString (α := Nat) («inductive»).numParams)), (Prod.mk (α := String) (β := String) "indices" (ToString.toString (α := Nat) («inductive»).numIndices)), (Prod.mk (α := String) (β := String) "recursive" (LexLeanExtract.bool («inductive»).isRec)), (Prod.mk (α := String) (β := String) "constructors" (LexLeanExtract.arr constructors))] : List (Prod String String))))))) | _ => (Pure.pure (f := Lean.Core.CoreM) (α := String) "null")) | .none => (Pure.pure (f := Lean.Core.CoreM) (α := String) "null")) - -meta partial def LexLeanExtract.constantRows (env : Lean.Environment) (decls : (Std.HashMap Lean.Name String)) (names : (List Lean.Name)) : (Lean.Core.CoreM (List String)) := - (match names with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.nil (α := String))) | .cons n rest => (match (Lean.Environment.find? env n) with | .some info => (Bind.bind (m := Lean.Core.CoreM) (α := (List (Prod String String))) (β := (List String)) (LexLeanExtract.facts env n info) (fun (row : (List (Prod String String))) => (Bind.bind (m := Lean.Core.CoreM) (α := String) (β := (List String)) (LexLeanExtract.inductiveRow env n) (fun (inductiveText : String) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := (List String)) (LexLeanExtract.constantRows env decls rest) (fun (tail : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.cons (α := String) (LexLeanExtract.obj (List.append (α := (Prod String String)) row (([(Prod.mk (α := String) (β := String) "kernel_uses" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (usedName : Lean.Name) => (LexLeanExtract.name usedName)) (LexLeanExtract.sorted (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert acc used)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (match (Lean.ConstantInfo.value? info (Bool.true)) with | .some value => (Lean.Expr.getUsedConstants value) | .none => ((#[] : Array Lean.Name)))))))), (Prod.mk (α := String) (β := String) "declaration" (Option.getD (α := String) (Std.HashMap.get? (α := Lean.Name) (β := String) decls n) "null")), (Prod.mk (α := String) (β := String) "inductive" inductiveText)] : List (Prod String String))))) tail)))))))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString n) "`")))))) - -meta partial def LexLeanExtract.externalRows (env : Lean.Environment) (names : (List Lean.Name)) : (Lean.Core.CoreM (List String)) := - (match names with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.nil (α := String))) | .cons r rest => (match (Lean.Environment.find? env r) with | .some info => (Bind.bind (m := Lean.Core.CoreM) (α := (List (Prod String String))) (β := (List String)) (LexLeanExtract.facts env r info) (fun (row : (List (Prod String String))) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := (List String)) (LexLeanExtract.externalRows env rest) (fun (tail : (List String)) => (let compiled : (Prod String String) := (Prod.mk (α := String) (β := String) "compiled" (LexLeanExtract.bool (Option.isSome (α := Lean.IR.Decl) (Lean.IR.findEnvDecl env r)))); (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.cons (α := String) (LexLeanExtract.obj (List.append (α := (Prod String String)) row (match info with | .ctorInfo constructor => (([compiled, (Prod.mk (α := String) (β := String) "inductive_type" (LexLeanExtract.name (constructor).induct))] : List (Prod String String))) | _ => (([compiled] : List (Prod String String)))))) tail))))))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString r) "`")))))) - -meta partial def LexLeanExtract.checkRoots (env : Lean.Environment) (modules : (Array Lean.Name)) (roots : (List Lean.Name)) : (Lean.Core.CoreM Unit) := - (match roots with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := Unit) (Unit.unit)) | .cons root rest => (if (Bool.and (LexLeanExtract.inProject env modules root) (Option.isSome (α := Lean.ConstantInfo) (Lean.Environment.find? env root))) then (LexLeanExtract.checkRoots env modules rest) else (Lean.«throwError» (m := Lean.Core.CoreM) (α := Unit) (Lean.stringToMessageData (String.append "lexlean-extract: unknown root `" (String.append (Lean.Name.toString root) "`")))))) - -meta def LexLeanExtract.run (roots : (Array Lean.Name)) (modules : (Array Lean.Name)) : (Lean.Core.CoreM String) := - (Bind.bind (m := Lean.Core.CoreM) (α := Lean.Environment) (β := String) (Lean.MonadEnv.getEnv (m := Lean.Core.CoreM)) (fun (env : Lean.Environment) => (Bind.bind (m := Lean.Core.CoreM) (α := Unit) (β := String) (LexLeanExtract.checkRoots env modules (Array.toList (α := Lean.Name) roots)) (fun (checked : Unit) => (Bind.bind (m := Lean.Core.CoreM) (α := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (β := String) (LexLeanExtract.codeLoop env modules (Array.toList (α := Lean.Name) roots) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (Std.HashMap.emptyWithCapacity (α := Lean.Name) (β := String)) (Std.HashSet.emptyWithCapacity (α := Lean.Name))) (fun (visit : (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) => (Bind.bind (m := Lean.Core.CoreM) (α := (Std.HashSet Lean.Name)) (β := String) (LexLeanExtract.kernelLoop env modules (Std.HashSet.toList (α := Lean.Name) (visit).fst) (Std.HashSet.emptyWithCapacity (α := Lean.Name))) (fun (recorded : (Std.HashSet Lean.Name)) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := String) (LexLeanExtract.constantRows env ((visit).snd).fst (LexLeanExtract.sorted recorded)) (fun (constants : (List String)) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := String) (LexLeanExtract.externalRows env (LexLeanExtract.sorted ((visit).snd).snd)) (fun (externals : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := String) (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "spec" (LexLeanExtract.str "lexlean/lcnf-extraction/2")), (Prod.mk (α := String) (β := String) "lean" (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "version" (LexLeanExtract.str (Lean.versionString))), (Prod.mk (α := String) (β := String) "githash" (LexLeanExtract.str (Lean.githash)))] : List (Prod String String))))), (Prod.mk (α := String) (β := String) "roots" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (listedName : Lean.Name) => (LexLeanExtract.name listedName)) (Array.toList (α := Lean.Name) roots)))), (Prod.mk (α := String) (β := String) "constants" (LexLeanExtract.arr constants)), (Prod.mk (α := String) (β := String) "externals" (LexLeanExtract.arr externals))] : List (Prod String String))))))))))))))))) - -meta def LexLeanExtract.mainNames (roots : (Array Lean.Name)) (modules : (Array Lean.Name)) : (Lean.Elab.Command.CommandElabM Unit) := - (Lean.Elab.Command.liftCoreM (α := Unit) (Bind.bind (m := Lean.Core.CoreM) (α := String) (β := Unit) (LexLeanExtract.run roots modules) (fun (text : String) => (MonadLiftT.monadLift (m := IO) (n := Lean.Core.CoreM) (α := Unit) (IO.println (α := String) text))))) - -meta def LexLeanExtract.toNames (texts : (Array String)) : (Array Lean.Name) := - (Array.map (α := String) (β := Lean.Name) (fun (text : String) => (String.toName text)) texts) - -meta def LexLeanExtract.toTypeRows (rows : (Array (Prod String (Array String)))) : (Array (Prod Lean.Name (Array String))) := - (Array.map (α := (Prod String (Array String))) (β := (Prod Lean.Name (Array String))) (fun (row : (Prod String (Array String))) => (Prod.mk (α := Lean.Name) (β := (Array String)) (String.toName (row).fst) (row).snd)) rows) - -meta def LexLeanExtract.checkAuthority (calls : (Array String)) (types : (Array (Prod String (Array String)))) (opaques : (Array String)) (plumbing : (Array String)) : (Lean.Elab.Command.CommandElabM Unit) := - (LexLeanExtract.checkNames (LexLeanExtract.toNames calls) (LexLeanExtract.toTypeRows types) (LexLeanExtract.toNames opaques) (LexLeanExtract.toNames plumbing)) - -meta def LexLeanExtract.main (roots : (Array String)) (modules : (Array String)) : (Lean.Elab.Command.CommandElabM Unit) := - (LexLeanExtract.mainNames (LexLeanExtract.toNames roots) (LexLeanExtract.toNames modules)) - -syntax (name := LexLeanExtract.signatureCommand) "lexlean_signature " ident " : " term : command -attribute [command_elab LexLeanExtract.signatureCommand] LexLeanExtract.elabSignature - -lexlean_signature Array.contains : ({α : (Type u)} → ([h1 : (BEq α)] → ((Array α) → (α → Bool)))) - -lexlean_signature Array.foldl : ({α : (Type u)} → ({β : (Type v)} → ((β → (α → β)) → (β → ((as : (Array α)) → ((optParam Nat 0) → ((optParam Nat (@Array.size α as)) → β))))))) - -lexlean_signature Array.getD : ({α : (Type u_1)} → ((Array α) → (Nat → (α → α)))) - -lexlean_signature Array.isEmpty : ({α : (Type u)} → ((Array α) → Bool)) - -lexlean_signature Array.map : ({α : (Type u)} → ({β : (Type v)} → ((α → β) → ((Array α) → (Array β))))) - -lexlean_signature Array.size : ({α : (Type u)} → ((Array α) → Nat)) - -lexlean_signature Array.toList : ({α : (Type u)} → ((Array α) → (List α))) - -lexlean_signature BEq.beq : ({α : (Type u)} → ([self : (BEq α)] → (α → (α → Bool)))) - -lexlean_signature Bind.bind : ({m : ((Type u) → (Type v))} → ([self : (Bind m)] → ({α : (Type u)} → ({β : (Type u)} → ((m α) → ((α → (m β)) → (m β))))))) - -lexlean_signature Bool.and : (Bool → (Bool → Bool)) - -lexlean_signature Bool.not : (Bool → Bool) - -lexlean_signature Bool.or : (Bool → (Bool → Bool)) - -lexlean_signature Char.toNat : (Char → Nat) - -lexlean_signature IO.println : ({α : (Type u_1)} → ([h1 : (ToString α)] → (α → (IO Unit)))) - -lexlean_signature Lean.Compiler.LCNF.CompilerM.run : ({α : Type} → ((Lean.Compiler.LCNF.CompilerM α) → ((optParam Lean.Compiler.LCNF.CompilerM.State { }) → ((optParam Lean.Compiler.LCNF.Phase Lean.Compiler.LCNF.Phase.base) → (Lean.Core.CoreM α))))) - -lexlean_signature Lean.Compiler.LCNF.shouldGenerateCode : (Lean.Name → (Lean.Core.CoreM Bool)) - -lexlean_signature Lean.Compiler.LCNF.toDecl : (Lean.Name → (Lean.Compiler.LCNF.CompilerM (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure))) - -lexlean_signature Lean.Compiler.LCNF.toLCNFType : (Lean.Expr → (Lean.Meta.MetaM Lean.Expr)) - -lexlean_signature Lean.ConstantInfo.type : (Lean.ConstantInfo → Lean.Expr) - -lexlean_signature Lean.ConstantInfo.value? : (Lean.ConstantInfo → ((optParam Bool Bool.false) → (Option Lean.Expr))) - -lexlean_signature Lean.Elab.Command.liftCoreM : ({α : Type} → ((Lean.Core.CoreM α) → (Lean.Elab.Command.CommandElabM α))) - -lexlean_signature Lean.Elab.Command.liftTermElabM : ({α : Type} → ((Lean.Elab.Term.TermElabM α) → (Lean.Elab.Command.CommandElabM α))) - -lexlean_signature Lean.Elab.Term.elabType : (Lean.Syntax → (Lean.Elab.Term.TermElabM Lean.Expr)) - -lexlean_signature Lean.EnvExtension.asyncMode : ({σ : Type} → ((Lean.EnvExtension σ) → Lean.EnvExtension.AsyncMode)) - -lexlean_signature Lean.Environment.constants : (Lean.Environment → Lean.ConstMap) - -lexlean_signature Lean.Environment.find? : (Lean.Environment → (Lean.Name → ((optParam Bool Bool.false) → (Option Lean.ConstantInfo)))) - -lexlean_signature Lean.Environment.getModuleIdxFor? : (Lean.Environment → (Lean.Name → (Option Lean.ModuleIdx))) - -lexlean_signature Lean.Environment.header : (Lean.Environment → Lean.EnvironmentHeader) - -lexlean_signature Lean.Environment.isProjectionFn : (Lean.Environment → (Lean.Name → Bool)) - -lexlean_signature Lean.EnvironmentHeader.moduleNames : (Lean.EnvironmentHeader → (Array Lean.Name)) - -lexlean_signature Lean.Expr.getAppArgs : (Lean.Expr → (Array Lean.Expr)) - -lexlean_signature Lean.Expr.getAppFn : (Lean.Expr → Lean.Expr) - -lexlean_signature Lean.Expr.getForallBody : (Lean.Expr → Lean.Expr) - -lexlean_signature Lean.Expr.getUsedConstants : (Lean.Expr → (Array Lean.Name)) - -lexlean_signature Lean.Expr.isSort : (Lean.Expr → Bool) - -lexlean_signature Lean.IR.findEnvDecl : (Lean.Environment → (Lean.Name → (Option Lean.IR.Decl))) - -lexlean_signature Lean.MessageData.compose : (Lean.MessageData → (Lean.MessageData → Lean.MessageData)) - -lexlean_signature Lean.MessageData.ofExpr : (Lean.Expr → Lean.MessageData) - -lexlean_signature Lean.MessageData.ofName : (Lean.Name → Lean.MessageData) - -lexlean_signature Lean.Meta.MetaM.run' : ({α : Type} → ((Lean.Meta.MetaM α) → ((optParam Lean.Meta.Context { }) → ((optParam Lean.Meta.State { }) → (Lean.Core.CoreM α))))) - -lexlean_signature Lean.Meta.isInstanceCore : (Lean.Environment → (Lean.Name → Bool)) - -lexlean_signature Lean.Meta.isMatcherCore : (Lean.Environment → (Lean.Name → Bool)) - -lexlean_signature Lean.MonadEnv.getEnv : ({m : (Type → Type)} → ([self : (Lean.MonadEnv m)] → (m Lean.Environment))) - -lexlean_signature Lean.MonadNameGenerator.setNGen : ({m : (Type → Type)} → ([self : (Lean.MonadNameGenerator m)] → (Lean.NameGenerator → (m Unit)))) - -lexlean_signature Lean.Name.components : (Lean.Name → (List Lean.Name)) - -lexlean_signature Lean.Name.eraseMacroScopes : (Lean.Name → Lean.Name) - -lexlean_signature Lean.Name.getPrefix : (Lean.Name → Lean.Name) - -lexlean_signature Lean.Name.getString! : (Lean.Name → String) - -lexlean_signature Lean.Name.isInternal : (Lean.Name → Bool) - -lexlean_signature Lean.Name.isPrefixOf : (Lean.Name → (Lean.Name → Bool)) - -lexlean_signature Lean.Name.lt : (Lean.Name → (Lean.Name → Bool)) - -lexlean_signature Lean.Name.mkSimple : (String → Lean.Name) - -lexlean_signature Lean.Name.mkStr1 : (String → Lean.Name) - -lexlean_signature Lean.Name.mkStr2 : (String → (String → Lean.Name)) - -lexlean_signature Lean.Name.toString : (Lean.Name → ((optParam Bool Bool.true) → String)) - -lexlean_signature Lean.PersistentArray.branching : USize - -lexlean_signature Lean.PersistentArray.initShift : USize - -lexlean_signature Lean.PersistentEnvExtension.toEnvExtension : ({α : Type} → ({β : Type} → ({σ : Type} → ((Lean.PersistentEnvExtension α β σ) → (Lean.EnvExtension (Lean.PersistentEnvExtensionState α σ)))))) - -lexlean_signature Lean.PersistentHashMap.mkEmptyEntriesArray : ({α : (Type u_1)} → ({β : (Type u_2)} → (Array (Lean.PersistentHashMap.Entry α β (Lean.PersistentHashMap.Node α β))))) - -lexlean_signature Lean.SMap.foldStage2 : ({α : (Type u)} → ({β : (Type v)} → ([h2 : (BEq α)] → ([h3 : (Hashable α)] → ({σ : (Type w)} → ((σ → (α → (β → σ))) → (σ → ((@Lean.SMap α β h2 h3) → σ)))))))) - -lexlean_signature Lean.Syntax.getArg : (Lean.Syntax → (Nat → Lean.Syntax)) - -lexlean_signature Lean.Syntax.getId : (Lean.Syntax → Lean.Name) - -lexlean_signature Lean.annotation? : (Lean.Name → (Lean.Expr → (Option Lean.Expr))) - -lexlean_signature Lean.getConstInfo : ({m : (Type → Type)} → ([h1 : (Monad m)] → ([h2 : (Lean.MonadEnv m)] → ([h3 : (Lean.MonadError m)] → (Lean.Name → (m Lean.ConstantInfo)))))) - -lexlean_signature Lean.getOriginalConstKind? : (Lean.Environment → (Lean.Name → (Option Lean.ConstantKind))) - -lexlean_signature Lean.githash : String - -lexlean_signature Lean.instantiateMVars : ({m : (Type → Type)} → ([h1 : (Monad m)] → ([h2 : (Lean.MonadMCtx m)] → (Lean.Expr → (m Lean.Expr))))) - -lexlean_signature Lean.isAuxRecursor : (Lean.Environment → (Lean.Name → Bool)) - -lexlean_signature Lean.isCasesOnRecursor : (Lean.Environment → (Lean.Name → Bool)) - -lexlean_signature Lean.isNoConfusion : (Lean.Environment → (Lean.Name → Bool)) - -lexlean_signature Lean.isNoncomputable : (Lean.Environment → (Lean.Name → ((optParam Lean.EnvExtension.AsyncMode (@Lean.EnvExtension.asyncMode (Lean.PersistentEnvExtensionState Lean.Name (Prod (List Lean.Name) Lean.NameSet)) (@Lean.PersistentEnvExtension.toEnvExtension Lean.Name Lean.Name (Prod (List Lean.Name) Lean.NameSet) Lean.noncomputableExt))) → Bool))) - -lexlean_signature Lean.noncomputableExt : Lean.TagDeclarationExtension - -lexlean_signature Lean.stringToMessageData : (String → Lean.MessageData) - -lexlean_signature Lean.«throwError» : ({m : (Type → Type)} → ({α : Type} → ([h2 : (Monad m)] → ([h3 : (Lean.MonadError m)] → (Lean.MessageData → (m α)))))) - -lexlean_signature Lean.versionString : String - -lexlean_signature List.any : ({α : (Type u)} → ((List α) → ((α → Bool) → Bool))) - -lexlean_signature List.append : ({α : (Type u_1)} → ((List α) → ((List α) → (List α)))) - -lexlean_signature List.contains : ({α : (Type u)} → ([h1 : (BEq α)] → ((List α) → (α → Bool)))) - -lexlean_signature List.drop : ({α : (Type u)} → (Nat → ((List α) → (List α)))) - -lexlean_signature List.elem : ({α : (Type u)} → ([h1 : (BEq α)] → (α → ((List α) → Bool)))) - -lexlean_signature List.filter : ({α : (Type u)} → ((α → Bool) → ((List α) → (List α)))) - -lexlean_signature List.foldl : ({α : (Type u)} → ({β : (Type v)} → ((α → (β → α)) → (α → ((List β) → α))))) - -lexlean_signature List.isEmpty : ({α : (Type u)} → ((List α) → Bool)) - -lexlean_signature List.map : ({α : (Type u_1)} → ({β : (Type u_2)} → ((α → β) → ((List α) → (List β))))) - -lexlean_signature MonadLiftT.monadLift : ({m : ((Type u) → (Type v))} → ({n : ((Type u) → (Type w))} → ([self : (MonadLiftT m n)] → ({α : (Type u)} → ((m α) → (n α)))))) - -lexlean_signature Nat.add : (Nat → (Nat → Nat)) - -lexlean_signature Nat.blt : (Nat → (Nat → Bool)) - -lexlean_signature Nat.toDigits : (Nat → (Nat → (List Char))) - -lexlean_signature Option.getD : ({α : (Type u_1)} → ((Option α) → (α → α))) - -lexlean_signature Option.isSome : ({α : (Type u_1)} → ((Option α) → Bool)) - -lexlean_signature Pure.pure : ({f : ((Type u) → (Type v))} → ([self : (Pure f)] → ({α : (Type u)} → (α → (f α))))) - -lexlean_signature Std.HashMap.emptyWithCapacity : ({α : (Type u)} → ({β : (Type v)} → ([h2 : (BEq α)] → ([h3 : (Hashable α)] → ((optParam Nat 8) → (@Std.HashMap α β h2 h3)))))) - -lexlean_signature Std.HashMap.get? : ({α : (Type u)} → ({β : (Type v)} → ({h2 : (BEq α)} → ({h3 : (Hashable α)} → ((@Std.HashMap α β h2 h3) → (α → (Option β))))))) - -lexlean_signature Std.HashMap.insert : ({α : (Type u)} → ({β : (Type v)} → ({h2 : (BEq α)} → ({h3 : (Hashable α)} → ((@Std.HashMap α β h2 h3) → (α → (β → (@Std.HashMap α β h2 h3)))))))) - -lexlean_signature Std.HashSet.contains : ({α : (Type u)} → ({h1 : (BEq α)} → ({h2 : (Hashable α)} → ((@Std.HashSet α h1 h2) → (α → Bool))))) - -lexlean_signature Std.HashSet.emptyWithCapacity : ({α : (Type u)} → ([h1 : (BEq α)] → ([h2 : (Hashable α)] → ((optParam Nat 8) → (@Std.HashSet α h1 h2))))) - -lexlean_signature Std.HashSet.insert : ({α : (Type u)} → ({h1 : (BEq α)} → ({h2 : (Hashable α)} → ((@Std.HashSet α h1 h2) → (α → (@Std.HashSet α h1 h2)))))) - -lexlean_signature Std.HashSet.toList : ({α : (Type u)} → ({h1 : (BEq α)} → ({h2 : (Hashable α)} → ((@Std.HashSet α h1 h2) → (List α))))) - -lexlean_signature String.append : (String → (String → String)) - -lexlean_signature String.foldl : ({α : (Type u)} → ((α → (Char → α)) → (α → (String → α)))) - -lexlean_signature String.intercalate : (String → ((List String) → String)) - -lexlean_signature String.ofList : ((List Char) → String) - -lexlean_signature String.push : (String → (Char → String)) - -lexlean_signature String.toName : (String → Lean.Name) - -lexlean_signature ToString.toString : ({α : (Type u)} → ([self : (ToString α)] → (α → String))) - -lexlean_signature UInt16.toNat : (UInt16 → Nat) - -lexlean_signature UInt32.toNat : (UInt32 → Nat) - -lexlean_signature UInt64.toNat : (UInt64 → Nat) - -lexlean_signature UInt8.toNat : (UInt8 → Nat) - -lexlean_signature Unit.unit : Unit - -#eval LexLeanExtract.checkAuthority ((#["Array.contains", "Array.foldl", "Array.getD", "Array.isEmpty", "Array.map", "Array.size", "Array.toList", "BEq.beq", "Bind.bind", "Bool.and", "Bool.not", "Bool.or", "Char.toNat", "IO.println", "Lean.Compiler.LCNF.CompilerM.run", "Lean.Compiler.LCNF.shouldGenerateCode", "Lean.Compiler.LCNF.toDecl", "Lean.Compiler.LCNF.toLCNFType", "Lean.ConstantInfo.type", "Lean.ConstantInfo.value?", "Lean.Elab.Command.liftCoreM", "Lean.Elab.Command.liftTermElabM", "Lean.Elab.Term.elabType", "Lean.EnvExtension.asyncMode", "Lean.Environment.constants", "Lean.Environment.find?", "Lean.Environment.getModuleIdxFor?", "Lean.Environment.header", "Lean.Environment.isProjectionFn", "Lean.EnvironmentHeader.moduleNames", "Lean.Expr.getAppArgs", "Lean.Expr.getAppFn", "Lean.Expr.getForallBody", "Lean.Expr.getUsedConstants", "Lean.Expr.isSort", "Lean.IR.findEnvDecl", "Lean.MessageData.compose", "Lean.MessageData.ofExpr", "Lean.MessageData.ofName", "Lean.Meta.MetaM.run'", "Lean.Meta.isInstanceCore", "Lean.Meta.isMatcherCore", "Lean.MonadEnv.getEnv", "Lean.MonadNameGenerator.setNGen", "Lean.Name.components", "Lean.Name.eraseMacroScopes", "Lean.Name.getPrefix", "Lean.Name.getString!", "Lean.Name.isInternal", "Lean.Name.isPrefixOf", "Lean.Name.lt", "Lean.Name.mkSimple", "Lean.Name.mkStr1", "Lean.Name.mkStr2", "Lean.Name.toString", "Lean.PersistentArray.branching", "Lean.PersistentArray.initShift", "Lean.PersistentEnvExtension.toEnvExtension", "Lean.PersistentHashMap.mkEmptyEntriesArray", "Lean.SMap.foldStage2", "Lean.Syntax.getArg", "Lean.Syntax.getId", "Lean.annotation?", "Lean.getConstInfo", "Lean.getOriginalConstKind?", "Lean.githash", "Lean.instantiateMVars", "Lean.isAuxRecursor", "Lean.isCasesOnRecursor", "Lean.isNoConfusion", "Lean.isNoncomputable", "Lean.noncomputableExt", "Lean.stringToMessageData", "Lean.throwError", "Lean.versionString", "List.any", "List.append", "List.contains", "List.drop", "List.elem", "List.filter", "List.foldl", "List.isEmpty", "List.map", "MonadLiftT.monadLift", "Nat.add", "Nat.blt", "Nat.toDigits", "Option.getD", "Option.isSome", "Pure.pure", "Std.HashMap.emptyWithCapacity", "Std.HashMap.get?", "Std.HashMap.insert", "Std.HashSet.contains", "Std.HashSet.emptyWithCapacity", "Std.HashSet.insert", "Std.HashSet.toList", "String.append", "String.foldl", "String.intercalate", "String.ofList", "String.push", "String.toName", "ToString.toString", "UInt16.toNat", "UInt32.toNat", "UInt64.toNat", "UInt8.toNat", "Unit.unit"] : Array String)) ((#[(Prod.mk (α := String) (β := (Array String)) "Bool" ((#["false", "true"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Alt" ((#["alt", "ctorAlt", "default"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Arg" ((#["erased", "fvar", "type"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Cases" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Code" ((#["let", "fun", "jp", "jmp", "cases", "return", "unreach", "oset", "uset", "sset", "setTag", "inc", "dec", "del"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Decl" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.DeclValue" ((#["code", "extern"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.FunDecl" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.LetDecl" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.LetValue" ((#["lit", "erased", "proj", "const", "fvar", "ctor", "oproj", "uproj", "sproj", "fap", "pap", "reset", "reuse", "box", "unbox", "isShared"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.LitValue" ((#["nat", "str", "uint8", "uint16", "uint32", "uint64", "usize"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Param" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Phase" ((#["base", "mono", "impure"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Purity" ((#["pure", "impure"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Signature" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstantInfo" ((#["axiomInfo", "defnInfo", "thmInfo", "opaqueInfo", "quotInfo", "inductInfo", "ctorInfo", "recInfo"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstantKind" ((#["defn", "thm", "axiom", "opaque", "quot", "induct", "ctor", "recursor"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstantVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstructorVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.DefinitionSafety" ((#["unsafe", "safe", "partial"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.DefinitionVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Expr" ((#["bvar", "fvar", "mvar", "sort", "const", "app", "lam", "forallE", "letE", "lit", "mdata", "proj"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.FVarId" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.InductiveVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Name" ((#["anonymous", "str", "num"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.NameGenerator" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "List" ((#["nil", "cons"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Option" ((#["none", "some"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Prod" ((#["mk"] : Array String)))] : Array (Prod String (Array String)))) ((#["Array", "BEq", "Bind", "Char", "Hashable", "IO", "Lean.AxiomVal", "Lean.BinderInfo", "Lean.Compiler.InlineAttributeKind", "Lean.Compiler.LCNF.CompilerM", "Lean.Compiler.LCNF.CompilerM.State", "Lean.Compiler.LCNF.CtorInfo", "Lean.ConstMap", "Lean.Core.Context", "Lean.Core.CoreM", "Lean.Core.State", "Lean.DelayedMetavarAssignment", "Lean.Elab.Command.CommandElab", "Lean.Elab.Command.CommandElabM", "Lean.Elab.Command.Context", "Lean.Elab.Command.State", "Lean.Elab.Term.Context", "Lean.Elab.Term.State", "Lean.Elab.Term.TermElabM", "Lean.EnvExtension", "Lean.EnvExtension.AsyncMode", "Lean.Environment", "Lean.EnvironmentHeader", "Lean.Exception", "Lean.ExternAttrData", "Lean.FVarIdMap", "Lean.FVarIdSet", "Lean.IR.Decl", "Lean.LMVarId", "Lean.Level", "Lean.LevelMetavarDecl", "Lean.Literal", "Lean.LocalDecl", "Lean.LocalInstance", "Lean.MData", "Lean.MVarId", "Lean.MessageData", "Lean.Meta.AbstractMVarsResult", "Lean.Meta.Config", "Lean.Meta.ConfigWithKey", "Lean.Meta.Context", "Lean.Meta.DefEqCacheKey", "Lean.Meta.DefEqContext", "Lean.Meta.ExprConfigCacheKey", "Lean.Meta.FunInfo", "Lean.Meta.InfoCacheKey", "Lean.Meta.MetaM", "Lean.Meta.PostponedEntry", "Lean.Meta.State", "Lean.Meta.SynthInstanceCacheKey", "Lean.MetavarDecl", "Lean.ModuleIdx", "Lean.MonadEnv", "Lean.MonadError", "Lean.MonadMCtx", "Lean.MonadNameGenerator", "Lean.NameSet", "Lean.OpaqueVal", "Lean.ParserDescr", "Lean.PersistentArrayNode", "Lean.PersistentEnvExtension", "Lean.PersistentEnvExtensionState", "Lean.PersistentHashMap.Entry", "Lean.PersistentHashMap.Node", "Lean.QuotVal", "Lean.RecursorVal", "Lean.ReducibilityHints", "Lean.SMap", "Lean.Syntax", "Lean.TagDeclarationExtension", "Lean.TheoremVal", "Monad", "MonadLiftT", "Nat", "Pure", "Std.HashMap", "Std.HashSet", "String", "ToString", "UInt16", "UInt32", "UInt64", "UInt8", "USize", "Unit"] : Array String)) ((#["Applicative.toPure", "Array.casesOn", "Array.mkEmpty", "Bool.casesOn", "Char.ofNat", "EIO", "EmptyCollection.emptyCollection", "Eq", "Eq.casesOn", "Eq.ndrec", "Eq.refl", "Eq.symm", "False", "False.elim", "HEq", "HEq.refl", "IO.RealWorld", "Inhabited", "Inhabited.default", "Inhabited.mk", "Lean.Compiler.LCNF.Alt.casesOn", "Lean.Compiler.LCNF.Arg.casesOn", "Lean.Compiler.LCNF.Cases.casesOn", "Lean.Compiler.LCNF.Code.casesOn", "Lean.Compiler.LCNF.CompilerM.State.mk", "Lean.Compiler.LCNF.CtorInfo.casesOn", "Lean.Compiler.LCNF.Decl.toSignature", "Lean.Compiler.LCNF.Decl.value", "Lean.Compiler.LCNF.DeclValue.casesOn", "Lean.Compiler.LCNF.FunDecl.casesOn", "Lean.Compiler.LCNF.LCtx.mk", "Lean.Compiler.LCNF.LetDecl.fvarId", "Lean.Compiler.LCNF.LetDecl.type", "Lean.Compiler.LCNF.LetDecl.value", "Lean.Compiler.LCNF.LetValue.casesOn", "Lean.Compiler.LCNF.LitValue.casesOn", "Lean.Compiler.LCNF.Param.borrow", "Lean.Compiler.LCNF.Param.fvarId", "Lean.Compiler.LCNF.Param.type", "Lean.Compiler.LCNF.Purity.ctorIdx", "Lean.Compiler.LCNF.Signature.levelParams", "Lean.Compiler.LCNF.Signature.name", "Lean.Compiler.LCNF.Signature.params", "Lean.Compiler.LCNF.Signature.safe", "Lean.Compiler.LCNF.Signature.type", "Lean.ConstantInfo.casesOn", "Lean.ConstantInfo.ctorIdx", "Lean.ConstantInfo.rec", "Lean.ConstantKind.casesOn", "Lean.ConstantVal.type", "Lean.ConstructorVal.induct", "Lean.ConstructorVal.numFields", "Lean.ConstructorVal.numParams", "Lean.ConstructorVal.toConstantVal", "Lean.Core.instAddMessageContextCoreM", "Lean.Core.instInhabitedCoreM", "Lean.Core.instMonadCoreM", "Lean.Core.instMonadEnvCoreM", "Lean.Core.instMonadLiftIOCoreM", "Lean.Core.instMonadNameGeneratorCoreM", "Lean.Core.instMonadRefCoreM", "Lean.DefinitionSafety.casesOn", "Lean.DefinitionVal.safety", "Lean.Elab.Command.instAddErrorMessageContextCommandElabM", "Lean.Elab.Command.instInhabitedCommandElabM", "Lean.Elab.Command.instMonadCommandElabM", "Lean.Elab.Command.instMonadEnvCommandElabM", "Lean.Elab.Command.instMonadExceptOfExceptionCommandElabM", "Lean.Elab.Command.instMonadLiftTIOCommandElabM", "Lean.Elab.Command.instMonadRefCommandElabM", "Lean.Elab.MonadMacroAdapter.toMonadQuotation", "Lean.Elab.Term.instAddErrorMessageContextTermElabM", "Lean.Elab.Term.instMonadMacroAdapterTermElabM", "Lean.Elab.Term.instMonadTermElabM", "Lean.Expr.casesOn", "Lean.Expr.ctorIdx", "Lean.Expr.instBEq", "Lean.Expr.instHashable", "Lean.Expr.rec", "Lean.FVarId.casesOn", "Lean.FVarId.name", "Lean.InductiveVal.ctors", "Lean.InductiveVal.isRec", "Lean.InductiveVal.numIndices", "Lean.InductiveVal.numParams", "Lean.Level.instBEq", "Lean.Level.instToString", "Lean.LocalContext.mk", "Lean.Meta.Cache.mk", "Lean.Meta.Context.mk", "Lean.Meta.Diagnostics.mk", "Lean.Meta.State.mk", "Lean.Meta.instBEqDefEqCacheKey", "Lean.Meta.instBEqExprConfigCacheKey", "Lean.Meta.instBEqInfoCacheKey", "Lean.Meta.instBEqSynthInstanceCacheKey", "Lean.Meta.instHashableDefEqCacheKey", "Lean.Meta.instHashableExprConfigCacheKey", "Lean.Meta.instHashableInfoCacheKey", "Lean.Meta.instHashableSynthInstanceCacheKey", "Lean.Meta.instInhabitedConfigWithKey", "Lean.Meta.instMonadEnvMetaM", "Lean.Meta.instMonadMCtxMetaM", "Lean.Meta.instMonadMetaM", "Lean.MetavarContext.mk", "Lean.MonadError.mk", "Lean.MonadQuotation.toMonadRef", "Lean.Name.instBEq", "Lean.ParserDescr.binary", "Lean.ParserDescr.cat", "Lean.ParserDescr.const", "Lean.ParserDescr.node", "Lean.ParserDescr.symbol", "Lean.PersistentArray.mk", "Lean.PersistentArrayNode.node", "Lean.PersistentHashMap.Node.entries", "Lean.PersistentHashMap.mk", "Lean.instAddErrorMessageContextOfAddMessageContextOfMonad", "Lean.instBEqBinderInfo", "Lean.instBEqFVarId", "Lean.instBEqLevelMVarId", "Lean.instBEqLiteral", "Lean.instBEqMVarId", "Lean.instEmptyCollectionFVarIdMap", "Lean.instEmptyCollectionFVarIdSet", "Lean.instHashableFVarId", "Lean.instHashableLevelMVarId", "Lean.instHashableMVarId", "Lean.instHashableName", "Lean.instMonadEnvOfMonadLift", "Lean.instMonadExceptOfExceptionCoreM", "Lean.instMonadMCtxOfMonadLift", "List.casesOn", "List.instBEq", "List.toArray", "Monad.toBind", "Nat.hasNotBit", "Nat.land", "Nat.ne_of_beq_eq_false", "Nat.shiftRight", "OfNat.ofNat", "Option.casesOn", "Prod.fst", "Prod.snd", "ReaderT.instApplicativeOfMonad", "ReaderT.instMonadExceptOf", "ReaderT.instMonadLift", "StateRefT'", "StateRefT'.instMonad", "StateRefT'.instMonadExceptOf", "StateRefT'.instMonadLift", "Std.HashMap.instEmptyCollection", "String.instInhabited", "USize.toNat", "eq_of_heq", "instBEqOfDecidableEq", "instDecidableEqBool", "instDecidableEqChar", "instDecidableEqNat", "instDecidableEqString", "instInhabitedBool", "instInhabitedList", "instInhabitedProd", "instMonadEIO", "instMonadLiftT", "instMonadLiftTOfMonadLift", "instOfNatNat", "instToStringList", "instToStringNat", "instToStringString", "ite", "noConfusion_of_Nat"] : Array String)) - -#eval LexLeanExtract.main ((#["Reasoning.Main.triageLevel", "Reasoning.Main.gatewayLevel", "Reasoning.Main.triageSteps", "Reasoning.Main.planLeft", "Reasoning.Main.doseLevel", "Reasoning.Main.gradeLevel", "Reasoning.Main.screenDose", "Reasoning.Main.spendLeft"] : Array String)) ((#["Reasoning.Budget", "Reasoning.Clinic", "Reasoning.Main", "Reasoning.Planner", "Reasoning.Screening"] : Array String)) diff --git a/examples/reasoning/expected/verify/extract/LexLeanExtract.Xf04b35f2e1794332ed2a5b996f01296f.lean b/examples/reasoning/expected/verify/extract/LexLeanExtract.Xf04b35f2e1794332ed2a5b996f01296f.lean new file mode 100644 index 000000000..3faf9948c --- /dev/null +++ b/examples/reasoning/expected/verify/extract/LexLeanExtract.Xf04b35f2e1794332ed2a5b996f01296f.lean @@ -0,0 +1,439 @@ +module +public meta import Lean +import all LexLeanRuntime.Portable +import all LexLeanRuntime.Collections +import all LexLeanRuntime.Models +import all LexLeanRuntime.Reasoning +import all Reasoning.Budget +import all Reasoning.Clinic +import all Reasoning.Main +import all Reasoning.Planner +import all Reasoning.Screening +set_option autoImplicit false +set_option linter.unusedVariables false +universe u u_1 u_2 v w + +meta def LexLeanExtract.escape (text : String) : String := + (String.foldl (α := String) (fun (out : String) (c : Char) => (if (BEq.beq (α := Char) c '"') then (String.append out "\\\"") else (if (BEq.beq (α := Char) c '\\') then (String.append out "\\\\") else (if (Nat.blt (Char.toNat c) 32) then (String.append out (String.append "\\u" (String.ofList (List.drop (α := Char) 1 (Nat.toDigits 16 (Nat.add (Char.toNat c) 65536)))))) else (String.push out c))))) "" text) + +meta def LexLeanExtract.str (text : String) : String := + (String.append "\"" (String.append (LexLeanExtract.escape text) "\"")) + +meta def LexLeanExtract.name (n : Lean.Name) : String := + (LexLeanExtract.str (Lean.Name.toString n)) + +meta def LexLeanExtract.arr (items : (List String)) : String := + (String.append "[" (String.append (String.intercalate "," items) "]")) + +meta def LexLeanExtract.obj (fields : (List (Prod String String))) : String := + (String.append "{" (String.append (String.intercalate "," (List.map (α := (Prod String String)) (β := String) (fun (kv : (Prod String String)) => (String.append (LexLeanExtract.str (kv).fst) (String.append ":" (kv).snd))) fields)) "}")) + +meta def LexLeanExtract.bool (value : Bool) : String := + (if value then "true" else "false") + +meta def LexLeanExtract.fvar (id : Lean.FVarId) : String := + (LexLeanExtract.name (id).name) + +meta partial def LexLeanExtract.mergeNames (a : (List Lean.Name)) (b : (List Lean.Name)) : (List Lean.Name) := + (match a with | .nil => b | .cons x xs => (match b with | .nil => a | .cons y ys => (if (Lean.Name.lt y x) then (List.cons (α := Lean.Name) y (LexLeanExtract.mergeNames a ys)) else (List.cons (α := Lean.Name) x (LexLeanExtract.mergeNames xs b))))) + +meta partial def LexLeanExtract.splitNames (l : (List Lean.Name)) : (Prod (List Lean.Name) (List Lean.Name)) := + (match l with | .nil => (Prod.mk (α := (List Lean.Name)) (β := (List Lean.Name)) (List.nil (α := Lean.Name)) (List.nil (α := Lean.Name))) | .cons x xs => (let rest : (Prod (List Lean.Name) (List Lean.Name)) := (LexLeanExtract.splitNames xs); (Prod.mk (α := (List Lean.Name)) (β := (List Lean.Name)) (List.cons (α := Lean.Name) x (rest).snd) (rest).fst))) + +meta partial def LexLeanExtract.sortNames (l : (List Lean.Name)) : (List Lean.Name) := + (match l with | .nil => (List.nil (α := Lean.Name)) | .cons x xs => (match xs with | .nil => l | .cons y ys => (let halves : (Prod (List Lean.Name) (List Lean.Name)) := (LexLeanExtract.splitNames l); (LexLeanExtract.mergeNames (LexLeanExtract.sortNames (halves).fst) (LexLeanExtract.sortNames (halves).snd))))) + +meta def LexLeanExtract.sorted (names : (Std.HashSet Lean.Name)) : (List Lean.Name) := + (LexLeanExtract.sortNames (Std.HashSet.toList (α := Lean.Name) names)) + +meta def LexLeanExtract.insert (names : (Std.HashSet Lean.Name)) (n : Lean.Name) : (Std.HashSet Lean.Name) := + (Std.HashSet.insert (α := Lean.Name) names n) + +meta partial def LexLeanExtract.type (e : Lean.Expr) : String := + (match e with | .const n us => (if (BEq.beq (α := Lean.Name) n ``lcErased) then (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "erased"))] : List (Prod String String)))) else (if (BEq.beq (α := Lean.Name) n ``lcAny) then (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "any"))] : List (Prod String String)))) else (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "const")), (Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name n)), (Prod.mk (α := String) (β := String) "levels" (LexLeanExtract.arr (List.map (α := Lean.Level) (β := String) (fun (u : Lean.Level) => (LexLeanExtract.str (ToString.toString (α := Lean.Level) u))) us)))] : List (Prod String String)))))) | .app fn arg => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "app")), (Prod.mk (α := String) (β := String) "head" (LexLeanExtract.type (Lean.Expr.getAppFn e))), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := Lean.Expr) (β := String) (fun (a : Lean.Expr) => (LexLeanExtract.type a)) (Array.toList (α := Lean.Expr) (Lean.Expr.getAppArgs e)))))] : List (Prod String String)))) | .forallE binderName domain body binderInfo => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "arrow")), (Prod.mk (α := String) (β := String) "domain" (LexLeanExtract.type domain)), (Prod.mk (α := String) (β := String) "codomain" (LexLeanExtract.type body))] : List (Prod String String)))) | .fvar id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "fvar")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar id))] : List (Prod String String)))) | .bvar position => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "bvar")), (Prod.mk (α := String) (β := String) "index" (ToString.toString (α := Nat) position))] : List (Prod String String)))) | .sort u => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "sort")), (Prod.mk (α := String) (β := String) "level" (LexLeanExtract.str (ToString.toString (α := Lean.Level) u)))] : List (Prod String String)))) | .mvar id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "metavariable"))] : List (Prod String String)))) | .lam binderName domain body binderInfo => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "lambda"))] : List (Prod String String)))) | .letE declName t value body nonDep => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "let"))] : List (Prod String String)))) | .lit literal => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "literal"))] : List (Prod String String)))) | .mdata data body => (match (Lean.annotation? (Lean.Name.mkSimple "borrowed") e) with | .some annotated => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "borrowed")), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type body))] : List (Prod String String)))) | .none => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "metadata"))] : List (Prod String String))))) | .proj typeName idx struct => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unsupported")), (Prod.mk (α := String) (β := String) "expression" (LexLeanExtract.str "projection"))] : List (Prod String String))))) + +meta def LexLeanExtract.arg (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) : String := + (match a with | .erased => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "erased"))] : List (Prod String String)))) | .fvar id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "fvar")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar id))] : List (Prod String String)))) | .type e => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "type")), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type e))] : List (Prod String String))))) + +meta def LexLeanExtract.literal (value : Lean.Compiler.LCNF.LitValue) : String := + (match value with | .nat v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "nat")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) v)))] : List (Prod String String)))) | .str v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "string")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str v))] : List (Prod String String)))) | .uint8 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint8")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt8.toNat v))))] : List (Prod String String)))) | .uint16 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint16")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt16.toNat v))))] : List (Prod String String)))) | .uint32 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint32")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt32.toNat v))))] : List (Prod String String)))) | .uint64 v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "uint64")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt64.toNat v))))] : List (Prod String String)))) | .usize v => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "usize")), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.str (ToString.toString (α := Nat) (UInt64.toNat v))))] : List (Prod String String))))) + +meta def LexLeanExtract.letValue (v : (Lean.Compiler.LCNF.LetValue Lean.Compiler.LCNF.Purity.pure)) : String := + (match v with | .lit value => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "literal")), (Prod.mk (α := String) (β := String) "literal" (LexLeanExtract.literal value))] : List (Prod String String)))) | .erased => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "erased"))] : List (Prod String String)))) | .proj typeName position struct => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "projection")), (Prod.mk (α := String) (β := String) "type_name" (LexLeanExtract.name typeName)), (Prod.mk (α := String) (β := String) "index" (ToString.toString (α := Nat) position)), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.fvar struct))] : List (Prod String String)))) | .const declName us args => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "const")), (Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name declName)), (Prod.mk (α := String) (β := String) "levels" (LexLeanExtract.arr (List.map (α := Lean.Level) (β := String) (fun (u : Lean.Level) => (LexLeanExtract.str (ToString.toString (α := Lean.Level) u))) us))), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.arg a)) (Array.toList (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) args))))] : List (Prod String String)))) | .fvar id args => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "apply")), (Prod.mk (α := String) (β := String) "function" (LexLeanExtract.fvar id)), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.arg a)) (Array.toList (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) args))))] : List (Prod String String))))) + +meta def LexLeanExtract.param (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) : String := + (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar (p).fvarId)), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type (p).type)), (Prod.mk (α := String) (β := String) "borrow" (LexLeanExtract.bool (p).borrow))] : List (Prod String String)))) + +mutual +meta partial def LexLeanExtract.code (c : (Lean.Compiler.LCNF.Code Lean.Compiler.LCNF.Purity.pure)) : String := + (match c with | .«let» decl k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "let")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar (decl).fvarId)), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type (decl).type)), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.letValue (decl).value)), (Prod.mk (α := String) (β := String) "body" (LexLeanExtract.code k))] : List (Prod String String)))) | .«fun» decl k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "fun")), (Prod.mk (α := String) (β := String) "declaration" (LexLeanExtract.funDecl decl)), (Prod.mk (α := String) (β := String) "body" (LexLeanExtract.code k))] : List (Prod String String)))) | .jp decl k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "join")), (Prod.mk (α := String) (β := String) "declaration" (LexLeanExtract.funDecl decl)), (Prod.mk (α := String) (β := String) "body" (LexLeanExtract.code k))] : List (Prod String String)))) | .jmp id args => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "jump")), (Prod.mk (α := String) (β := String) "target" (LexLeanExtract.fvar id)), (Prod.mk (α := String) (β := String) "arguments" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.arg a)) (Array.toList (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) args))))] : List (Prod String String)))) | .cases cs => (LexLeanExtract.cases cs) | .«return» id => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "return")), (Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar id))] : List (Prod String String)))) | .unreach t => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "unreachable")), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type t))] : List (Prod String String))))) + +meta partial def LexLeanExtract.funDecl (d : (Lean.Compiler.LCNF.FunDecl Lean.Compiler.LCNF.Purity.pure)) : String := + (match d with | .mk fvarId binderName params type value => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "id" (LexLeanExtract.fvar fvarId)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param p)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) params)))), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type type)), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.code value))] : List (Prod String String))))) + +meta partial def LexLeanExtract.cases (cs : (Lean.Compiler.LCNF.Cases Lean.Compiler.LCNF.Purity.pure)) : String := + (match cs with | .mk typeName resultType discr alts => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "cases")), (Prod.mk (α := String) (β := String) "type_name" (LexLeanExtract.name typeName)), (Prod.mk (α := String) (β := String) "result_type" (LexLeanExtract.type resultType)), (Prod.mk (α := String) (β := String) "discriminant" (LexLeanExtract.fvar discr)), (Prod.mk (α := String) (β := String) "alternatives" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.alt a)) (Array.toList (α := (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) alts))))] : List (Prod String String))))) + +meta partial def LexLeanExtract.alt (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) : String := + (match a with | .alt ctorName params k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "constructor")), (Prod.mk (α := String) (β := String) "constructor" (LexLeanExtract.name ctorName)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param p)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) params)))), (Prod.mk (α := String) (β := String) "code" (LexLeanExtract.code k))] : List (Prod String String)))) | .default k => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "default")), (Prod.mk (α := String) (β := String) "code" (LexLeanExtract.code k))] : List (Prod String String))))) +end + +meta partial def LexLeanExtract.typeConstants (e : Lean.Expr) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (match e with | .const n us => (if (Bool.or (BEq.beq (α := Lean.Name) n ``lcErased) (BEq.beq (α := Lean.Name) n ``lcAny)) then out else (LexLeanExtract.insert out n)) | .app f a => (LexLeanExtract.typeConstants a (LexLeanExtract.typeConstants f out)) | .forallE binderName d b binderInfo => (LexLeanExtract.typeConstants b (LexLeanExtract.typeConstants d out)) | .bvar position => out | .fvar id => out | .mvar id => out | .sort u => out | .lit literal => out | .lam binderName d b binderInfo => (LexLeanExtract.typeConstants b (LexLeanExtract.typeConstants d out)) | .letE declName t v b nonDep => (LexLeanExtract.typeConstants b (LexLeanExtract.typeConstants v (LexLeanExtract.typeConstants t out))) | .mdata data b => (LexLeanExtract.typeConstants b out) | .proj typeName idx b => (LexLeanExtract.typeConstants b (LexLeanExtract.insert out typeName))) + +meta def LexLeanExtract.argConstants (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (match a with | .type e => (LexLeanExtract.typeConstants e out) | .erased => out | .fvar id => out) + +meta def LexLeanExtract.paramConstants (ps : (Array (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure))) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (Array.foldl (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (p : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.typeConstants (p).type acc)) out ps) + +meta def LexLeanExtract.letValueConstants (v : (Lean.Compiler.LCNF.LetValue Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (match v with | .const n us args => (Array.foldl (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.argConstants a acc)) (LexLeanExtract.insert out n) args) | .fvar id args => (Array.foldl (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.argConstants a acc)) out args) | .proj typeName position struct => (LexLeanExtract.insert out typeName) | .lit value => out | .erased => out) + +mutual +meta partial def LexLeanExtract.codeConstants (c : (Lean.Compiler.LCNF.Code Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (match c with | .«let» decl k => (LexLeanExtract.codeConstants k (LexLeanExtract.letValueConstants (decl).value (LexLeanExtract.typeConstants (decl).type out))) | .«fun» decl k => (LexLeanExtract.codeConstants k (LexLeanExtract.funConstants decl out)) | .jp decl k => (LexLeanExtract.codeConstants k (LexLeanExtract.funConstants decl out)) | .jmp id args => (Array.foldl (α := (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.argConstants a acc)) out args) | .cases cs => (LexLeanExtract.casesConstants cs out) | .«return» id => out | .unreach t => (LexLeanExtract.typeConstants t out)) + +meta partial def LexLeanExtract.funConstants (d : (Lean.Compiler.LCNF.FunDecl Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (match d with | .mk fvarId binderName params type value => (LexLeanExtract.codeConstants value (LexLeanExtract.typeConstants type (LexLeanExtract.paramConstants params out)))) + +meta partial def LexLeanExtract.casesConstants (cs : (Lean.Compiler.LCNF.Cases Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (match cs with | .mk typeName resultType discr alts => (Array.foldl (α := (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.altConstants a acc)) (LexLeanExtract.typeConstants resultType (LexLeanExtract.insert out typeName)) alts)) + +meta partial def LexLeanExtract.altConstants (a : (Lean.Compiler.LCNF.Alt Lean.Compiler.LCNF.Purity.pure)) (out : (Std.HashSet Lean.Name)) : (Std.HashSet Lean.Name) := + (match a with | .alt ctorName ps k => (LexLeanExtract.codeConstants k (LexLeanExtract.paramConstants ps (LexLeanExtract.insert out ctorName))) | .default k => (LexLeanExtract.codeConstants k out)) +end + +meta def LexLeanExtract.kind (info : Lean.ConstantInfo) : String := + (match info with | .defnInfo value => (match (value).safety with | .safe => "definition" | .«unsafe» => "unsafe-definition" | .«partial» => "partial-definition") | .opaqueInfo opaqueValue => "opaque" | .thmInfo theoremValue => "theorem" | .axiomInfo axiomValue => "axiom" | .inductInfo inductiveValue => "inductive" | .ctorInfo constructorValue => "constructor" | .recInfo recursorValue => "recursor" | .quotInfo quotientValue => "quotient") + +meta def LexLeanExtract.originalKind (env : Lean.Environment) (n : Lean.Name) : String := + (match (Lean.getOriginalConstKind? env n) with | .some original => (match original with | .defn => "definition" | .thm => "theorem" | .«axiom» => "axiom" | .«opaque» => "opaque" | .quot => "quotient" | .induct => "inductive" | .ctor => "constructor" | .recursor => "recursor") | .none => "unknown") + +meta def LexLeanExtract.moduleOf (env : Lean.Environment) (n : Lean.Name) : Lean.Name := + (match (Lean.Environment.getModuleIdxFor? env n) with | .some index => (Array.getD (α := Lean.Name) (Lean.EnvironmentHeader.moduleNames (Lean.Environment.header env)) index (Lean.Name.anonymous)) | .none => (Lean.Name.anonymous)) + +meta def LexLeanExtract.inProject (env : Lean.Environment) (modules : (Array Lean.Name)) (n : Lean.Name) : Bool := + (Array.contains (α := Lean.Name) modules (LexLeanExtract.moduleOf env n)) + +meta def LexLeanExtract.facts (env : Lean.Environment) (n : Lean.Name) (info : Lean.ConstantInfo) : (Lean.Core.CoreM (List (Prod String String))) := + (Bind.bind (m := Lean.Core.CoreM) (α := Bool) (β := (List (Prod String String))) (Lean.Compiler.LCNF.shouldGenerateCode n) (fun (generates : Bool) => (Pure.pure (f := Lean.Core.CoreM) (α := (List (Prod String String))) (([(Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name n)), (Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str (LexLeanExtract.kind info))), (Prod.mk (α := String) (β := String) "module" (LexLeanExtract.name (LexLeanExtract.moduleOf env n))), (Prod.mk (α := String) (β := String) "computable" (LexLeanExtract.bool (Bool.not (Lean.isNoncomputable env n)))), (Prod.mk (α := String) (β := String) "generates_code" (LexLeanExtract.bool generates)), (Prod.mk (α := String) (β := String) "original_kind" (LexLeanExtract.str (LexLeanExtract.originalKind env n))), (Prod.mk (α := String) (β := String) "internal" (LexLeanExtract.bool (Lean.Name.isInternal n)))] : List (Prod String String)))))) + +mutual +meta partial def LexLeanExtract.sameSignature (a : Lean.Expr) (b : Lean.Expr) : Bool := + (match a with | .mdata data1 inner1 => (LexLeanExtract.sameSignature inner1 b) | _ => (match b with | .mdata data2 inner2 => (LexLeanExtract.sameSignature a inner2) | _ => (LexLeanExtract.sameStructure a b))) + +meta partial def LexLeanExtract.sameStructure (a : Lean.Expr) (b : Lean.Expr) : Bool := + (match a with | .forallE name1 domain1 body1 info1 => (match b with | .forallE name2 domain2 body2 info2 => (Bool.and (BEq.beq (α := Lean.BinderInfo) info1 info2) (Bool.and (LexLeanExtract.sameSignature domain1 domain2) (LexLeanExtract.sameSignature body1 body2))) | _ => (Bool.false)) | .lam name1 domain1 body1 info1 => (match b with | .lam name2 domain2 body2 info2 => (Bool.and (BEq.beq (α := Lean.BinderInfo) info1 info2) (Bool.and (LexLeanExtract.sameSignature domain1 domain2) (LexLeanExtract.sameSignature body1 body2))) | _ => (Bool.false)) | .app function1 argument1 => (match b with | .app function2 argument2 => (Bool.and (LexLeanExtract.sameSignature function1 function2) (LexLeanExtract.sameSignature argument1 argument2)) | _ => (Bool.false)) | .const constant1 levels1 => (match b with | .const constant2 levels2 => (Bool.and (BEq.beq (α := Lean.Name) constant1 constant2) (BEq.beq (α := (List Lean.Level)) levels1 levels2)) | _ => (Bool.false)) | .sort level1 => (match b with | .sort level2 => (BEq.beq (α := Lean.Level) level1 level2) | _ => (Bool.false)) | .bvar position1 => (match b with | .bvar position2 => (BEq.beq (α := Nat) position1 position2) | _ => (Bool.false)) | .lit literal1 => (match b with | .lit literal2 => (BEq.beq (α := Lean.Literal) literal1 literal2) | _ => (Bool.false)) | .fvar free1 => (match b with | .fvar free2 => (BEq.beq (α := Lean.FVarId) free1 free2) | _ => (Bool.false)) | .mvar meta1 => (match b with | .mvar meta2 => (BEq.beq (α := Lean.MVarId) meta1 meta2) | _ => (Bool.false)) | .letE local1 type1 value1 scope1 flag1 => (match b with | .letE local2 type2 value2 scope2 flag2 => (Bool.and (LexLeanExtract.sameSignature type1 type2) (Bool.and (LexLeanExtract.sameSignature value1 value2) (LexLeanExtract.sameSignature scope1 scope2))) | _ => (Bool.false)) | .proj structure1 field1 target1 => (match b with | .proj structure2 field2 target2 => (Bool.and (BEq.beq (α := Lean.Name) structure1 structure2) (Bool.and (BEq.beq (α := Nat) field1 field2) (LexLeanExtract.sameSignature target1 target2))) | _ => (Bool.false)) | _ => (Bool.false)) +end + +public meta def LexLeanExtract.elabSignature : Lean.Elab.Command.CommandElab := + (fun (stx : Lean.Syntax) => (Lean.Elab.Command.liftTermElabM (α := Unit) (let declName : Lean.Name := (Lean.Syntax.getId (Lean.Syntax.getArg stx 1)); (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.ConstantInfo) (β := Unit) (Lean.getConstInfo (m := Lean.Elab.Term.TermElabM) declName) (fun (info : Lean.ConstantInfo) => (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.Expr) (β := Unit) (Lean.Elab.Term.elabType (Lean.Syntax.getArg stx 3)) (fun (elaborated : Lean.Expr) => (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.Expr) (β := Unit) (Lean.instantiateMVars (m := Lean.Elab.Term.TermElabM) elaborated) (fun (registered : Lean.Expr) => (Bind.bind (m := Lean.Elab.Term.TermElabM) (α := Lean.Expr) (β := Unit) (Lean.instantiateMVars (m := Lean.Elab.Term.TermElabM) (Lean.ConstantInfo.type info)) (fun (actual : Lean.Expr) => (if (LexLeanExtract.sameSignature actual registered) then (Pure.pure (f := Lean.Elab.Term.TermElabM) (α := Unit) (Unit.unit)) else (Lean.«throwError» (m := Lean.Elab.Term.TermElabM) (α := Unit) (Lean.MessageData.compose (Lean.stringToMessageData "lexlean-extract-drift: the signature of `") (Lean.MessageData.compose (Lean.MessageData.ofName declName) (Lean.MessageData.compose (Lean.stringToMessageData "` is ") (Lean.MessageData.ofExpr (Lean.ConstantInfo.type info)))))))))))))))))) + +meta def LexLeanExtract.classify (env : Lean.Environment) (c : Lean.Name) (info : Lean.ConstantInfo) : String := + (let structural : Bool := (Bool.or (Lean.Environment.isProjectionFn env c) (Bool.or (Lean.isCasesOnRecursor env c) (Bool.or (Lean.isAuxRecursor env c) (Bool.or (Lean.isNoConfusion env c) (Bool.or (Lean.Name.isInternal c) (Bool.or (Lean.Meta.isInstanceCore env c) (Bool.or (Lean.Meta.isMatcherCore env c) (BEq.beq (α := String) (Lean.Name.getString! c) "ctorIdx")))))))); (let former : Bool := (Lean.Expr.isSort (Lean.Expr.getForallBody (Lean.ConstantInfo.type info))); (match info with | .inductInfo inductiveValue => "type" | .defnInfo definitionValue => (if former then "type" else (if (Bool.and (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c) (Bool.not structural)) then "call" else "plumbing")) | .opaqueInfo opaqueValue => (if (Bool.and (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c) (Bool.not structural)) then "call" else "plumbing") | .axiomInfo axiomValue => (if (Bool.and (Bool.and (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c) (Bool.not structural)) (Bool.not former)) then "call" else "plumbing") | .thmInfo theoremValue => "plumbing" | .quotInfo quotientValue => "plumbing" | .ctorInfo constructorValue => "plumbing" | .recInfo recursorValue => "plumbing"))) + +meta def LexLeanExtract.ownNames (env : Lean.Environment) : (Std.HashSet Lean.Name) := + (Lean.SMap.foldStage2 (α := Lean.Name) (β := Lean.ConstantInfo) (σ := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (n : Lean.Name) (info : Lean.ConstantInfo) => (LexLeanExtract.insert acc n)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (Lean.Environment.constants env)) + +meta def LexLeanExtract.ownUses (env : Lean.Environment) : (Std.HashSet Lean.Name) := + (Lean.SMap.foldStage2 (α := Lean.Name) (β := Lean.ConstantInfo) (σ := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (n : Lean.Name) (info : Lean.ConstantInfo) => (if (List.elem (α := Lean.Name) (Lean.Name.mkSimple "LexLeanExtract") (Lean.Name.components (Lean.Name.eraseMacroScopes n))) then (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (seen : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert seen used)) (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (seen : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert seen used)) acc (Lean.Expr.getUsedConstants (Lean.ConstantInfo.type info))) (match (Lean.ConstantInfo.value? info (Bool.true)) with | .some value => (Lean.Expr.getUsedConstants value) | .none => ((#[] : Array Lean.Name)))) else acc)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (Lean.Environment.constants env)) + +meta partial def LexLeanExtract.classifyAll (env : Lean.Environment) (own : (Std.HashSet Lean.Name)) (names : (List Lean.Name)) : (Lean.Elab.Command.CommandElabM (List (Prod Lean.Name String))) := + (match names with | .nil => (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (List.nil (α := (Prod Lean.Name String)))) | .cons c rest => (if (Std.HashSet.contains (α := Lean.Name) own c) then (LexLeanExtract.classifyAll env own rest) else (match (Lean.Environment.find? env c) with | .some info => (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (β := (List (Prod Lean.Name String))) (LexLeanExtract.classifyAll env own rest) (fun (tail : (List (Prod Lean.Name String))) => (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (List.cons (α := (Prod Lean.Name String)) (Prod.mk (α := Lean.Name) (β := String) c (LexLeanExtract.classify env c info)) tail)))) | .none => (Lean.«throwError» (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (Lean.stringToMessageData (String.append "lexlean-extract-drift: the adapter uses the unknown constant `" (String.append (Lean.Name.toString c) "`"))))))) + +meta def LexLeanExtract.adapterConstants : (Lean.Elab.Command.CommandElabM (List (Prod Lean.Name String))) := + (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := Lean.Environment) (β := (List (Prod Lean.Name String))) (Lean.MonadEnv.getEnv (m := Lean.Elab.Command.CommandElabM)) (fun (env : Lean.Environment) => (LexLeanExtract.classifyAll env (LexLeanExtract.ownNames env) (LexLeanExtract.sorted (LexLeanExtract.ownUses env))))) + +meta partial def LexLeanExtract.listLines (used : (List (Prod Lean.Name String))) : (Lean.Elab.Command.CommandElabM Unit) := + (match used with | .nil => (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := Unit) (Unit.unit)) | .cons entry rest => (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := Unit) (β := Unit) (MonadLiftT.monadLift (m := IO) (n := Lean.Elab.Command.CommandElabM) (α := Unit) (IO.println (α := String) (String.append (entry).snd (String.append " " (Lean.Name.toString (entry).fst))))) (fun (printed : Unit) => (LexLeanExtract.listLines rest)))) + +meta def LexLeanExtract.listAdapterConstants : (Lean.Elab.Command.CommandElabM Unit) := + (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (β := Unit) (LexLeanExtract.adapterConstants) (fun (used : (List (Prod Lean.Name String))) => (LexLeanExtract.listLines used))) + +meta def LexLeanExtract.registeredClass (calls : (Array Lean.Name)) (types : (Array (Prod Lean.Name (Array String)))) (opaques : (Array Lean.Name)) (plumbing : (Array Lean.Name)) (c : Lean.Name) : String := + (let typeNames : (List Lean.Name) := (List.map (α := (Prod Lean.Name (Array String))) (β := Lean.Name) (fun (row : (Prod Lean.Name (Array String))) => (row).fst) (Array.toList (α := (Prod Lean.Name (Array String))) types)); (if (Array.contains (α := Lean.Name) calls c) then "call" else (if (Bool.or (List.contains (α := Lean.Name) typeNames c) (Array.contains (α := Lean.Name) opaques c)) then "type" else (if (Array.contains (α := Lean.Name) plumbing c) then "plumbing" else (if (List.any (α := (Prod Lean.Name (Array String))) (Array.toList (α := (Prod Lean.Name (Array String))) types) (fun (candidate : (Prod Lean.Name (Array String))) => (Bool.and (BEq.beq (α := Lean.Name) (Lean.Name.getPrefix c) (candidate).fst) (Array.contains (α := String) (candidate).snd (Lean.Name.getString! c))))) then "plumbing" else "unregistered"))))) + +meta partial def LexLeanExtract.usedProblems (calls : (Array Lean.Name)) (types : (Array (Prod Lean.Name (Array String)))) (opaques : (Array Lean.Name)) (plumbing : (Array Lean.Name)) (used : (List (Prod Lean.Name String))) : (List String) := + (match used with | .nil => (List.nil (α := String)) | .cons entry rest => (let c : Lean.Name := (entry).fst; (let foreignType : Bool := (Bool.and (BEq.beq (α := String) (entry).snd "type") (Bool.not (Lean.Name.isPrefixOf (Lean.Name.mkSimple "Lean") c))); (let expected : String := (if foreignType then "a type or plumbing" else (entry).snd); (let registered : String := (LexLeanExtract.registeredClass calls types opaques plumbing c); (if (if (BEq.beq (α := String) (entry).snd "plumbing") then (Bool.not (BEq.beq (α := String) registered "unregistered")) else (if foreignType then (Bool.or (BEq.beq (α := String) registered "type") (BEq.beq (α := String) registered "plumbing")) else (BEq.beq (α := String) registered expected))) then (LexLeanExtract.usedProblems calls types opaques plumbing rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString c) (String.append "` is used as " (String.append expected (String.append " but registered as " registered))))) (LexLeanExtract.usedProblems calls types opaques plumbing rest)))))))) + +meta partial def LexLeanExtract.unusedProblems (used : (List (Prod Lean.Name String))) (names : (List Lean.Name)) : (List String) := + (match names with | .nil => (List.nil (α := String)) | .cons c rest => (if (List.any (α := (Prod Lean.Name String)) used (fun (entry : (Prod Lean.Name String)) => (BEq.beq (α := Lean.Name) (entry).fst c))) then (LexLeanExtract.unusedProblems used rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString c) "` is plumbing but unused")) (LexLeanExtract.unusedProblems used rest)))) + +meta partial def LexLeanExtract.typeProblems (env : Lean.Environment) (types : (List (Prod Lean.Name (Array String)))) : (List String) := + (match types with | .nil => (List.nil (α := String)) | .cons row rest => (let n : Lean.Name := (row).fst; (match (Lean.Environment.find? env n) with | .some info => (match info with | .inductInfo «inductive» => (if (BEq.beq (α := (List String)) (List.map (α := Lean.Name) (β := String) (fun (constructorName : Lean.Name) => (Lean.Name.getString! constructorName)) («inductive»).ctors) (Array.toList (α := String) (row).snd)) then (LexLeanExtract.typeProblems env rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString n) (String.append "` has constructors " (String.append (ToString.toString (α := (List String)) (List.map (α := Lean.Name) (β := String) (fun (listed : Lean.Name) => (Lean.Name.getString! listed)) («inductive»).ctors)) (String.append ", registered " (ToString.toString (α := (List String)) (Array.toList (α := String) (row).snd))))))) (LexLeanExtract.typeProblems env rest))) | _ => (if (Array.isEmpty (α := String) (row).snd) then (LexLeanExtract.typeProblems env rest) else (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString n) (String.append "` is not an inductive type, registered with constructors " (ToString.toString (α := (List String)) (Array.toList (α := String) (row).snd))))) (LexLeanExtract.typeProblems env rest)))) | .none => (List.cons (α := String) (String.append "`" (String.append (Lean.Name.toString n) "` is not a constant")) (LexLeanExtract.typeProblems env rest))))) + +meta def LexLeanExtract.checkNames (calls : (Array Lean.Name)) (types : (Array (Prod Lean.Name (Array String)))) (opaques : (Array Lean.Name)) (plumbing : (Array Lean.Name)) : (Lean.Elab.Command.CommandElabM Unit) := + (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := Lean.Environment) (β := Unit) (Lean.MonadEnv.getEnv (m := Lean.Elab.Command.CommandElabM)) (fun (env : Lean.Environment) => (Bind.bind (m := Lean.Elab.Command.CommandElabM) (α := (List (Prod Lean.Name String))) (β := Unit) (LexLeanExtract.adapterConstants) (fun (used : (List (Prod Lean.Name String))) => (let names : (List Lean.Name) := (Array.toList (α := Lean.Name) plumbing); (let differences : (List String) := (List.append (α := String) (LexLeanExtract.usedProblems calls types opaques plumbing used) (List.append (α := String) (LexLeanExtract.unusedProblems used names) (LexLeanExtract.typeProblems env (Array.toList (α := (Prod Lean.Name (Array String))) types)))); (if (List.isEmpty (α := String) differences) then (Pure.pure (f := Lean.Elab.Command.CommandElabM) (α := Unit) (Unit.unit)) else (Lean.«throwError» (m := Lean.Elab.Command.CommandElabM) (α := Unit) (Lean.stringToMessageData (String.append "lexlean-extract-drift: the adapter and its registry differ: " (String.intercalate "; " differences))))))))))) + +meta def LexLeanExtract.declUses (decl : (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) : (Std.HashSet Lean.Name) := + (match (decl).value with | .code body => (LexLeanExtract.codeConstants body (LexLeanExtract.typeConstants ((decl).toSignature).type (LexLeanExtract.paramConstants ((decl).toSignature).params (Std.HashSet.emptyWithCapacity (α := Lean.Name))))) | .extern attributes => (LexLeanExtract.typeConstants ((decl).toSignature).type (LexLeanExtract.paramConstants ((decl).toSignature).params (Std.HashSet.emptyWithCapacity (α := Lean.Name))))) + +meta def LexLeanExtract.declText (decl : (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) : String := + (let signatureUses : (Std.HashSet Lean.Name) := (LexLeanExtract.typeConstants ((decl).toSignature).type (LexLeanExtract.paramConstants ((decl).toSignature).params (Std.HashSet.emptyWithCapacity (α := Lean.Name)))); (match (decl).value with | .code body => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "safe" (LexLeanExtract.bool ((decl).toSignature).safe)), (Prod.mk (α := String) (β := String) "level_parameters" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (levelName : Lean.Name) => (LexLeanExtract.name levelName)) ((decl).toSignature).levelParams))), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type ((decl).toSignature).type)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (parameter : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param parameter)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) ((decl).toSignature).params)))), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "code")), (Prod.mk (α := String) (β := String) "code" (LexLeanExtract.code body))] : List (Prod String String))))), (Prod.mk (α := String) (β := String) "uses" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (usedName : Lean.Name) => (LexLeanExtract.name usedName)) (LexLeanExtract.sorted (LexLeanExtract.codeConstants body signatureUses)))))] : List (Prod String String)))) | .extern attributes => (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "safe" (LexLeanExtract.bool ((decl).toSignature).safe)), (Prod.mk (α := String) (β := String) "level_parameters" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (levelName : Lean.Name) => (LexLeanExtract.name levelName)) ((decl).toSignature).levelParams))), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type ((decl).toSignature).type)), (Prod.mk (α := String) (β := String) "parameters" (LexLeanExtract.arr (List.map (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) (β := String) (fun (parameter : (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) => (LexLeanExtract.param parameter)) (Array.toList (α := (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.pure)) ((decl).toSignature).params)))), (Prod.mk (α := String) (β := String) "value" (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "kind" (LexLeanExtract.str "extern"))] : List (Prod String String))))), (Prod.mk (α := String) (β := String) "uses" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (usedName : Lean.Name) => (LexLeanExtract.name usedName)) (LexLeanExtract.sorted signatureUses))))] : List (Prod String String)))))) + +meta partial def LexLeanExtract.codeLoop (env : Lean.Environment) (modules : (Array Lean.Name)) (queue : (List Lean.Name)) (visited : (Std.HashSet Lean.Name)) (decls : (Std.HashMap Lean.Name String)) (referenced : (Std.HashSet Lean.Name)) : (Lean.Core.CoreM (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) := + (match queue with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Prod.mk (α := (Std.HashSet Lean.Name)) (β := (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name))) visited (Prod.mk (α := (Std.HashMap Lean.Name String)) (β := (Std.HashSet Lean.Name)) decls referenced))) | .cons n rest => (if (Std.HashSet.contains (α := Lean.Name) visited n) then (LexLeanExtract.codeLoop env modules rest visited decls referenced) else (match (Lean.Environment.find? env n) with | .some info => (let visitedNow : (Std.HashSet Lean.Name) := (LexLeanExtract.insert visited n); (if (Bool.and (BEq.beq (α := String) (LexLeanExtract.kind info) "definition") (Bool.not (Lean.isNoncomputable env n))) then (Bind.bind (m := Lean.Core.CoreM) (α := Bool) (β := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.Compiler.LCNF.shouldGenerateCode n) (fun (generates : Bool) => (if generates then (Bind.bind (m := Lean.Core.CoreM) (α := Unit) (β := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.MonadNameGenerator.setNGen (m := Lean.Core.CoreM) (Lean.NameGenerator.mk (Lean.Name.mkSimple "_uniq") 1)) (fun (restarted : Unit) => (Bind.bind (m := Lean.Core.CoreM) (α := (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) (β := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.Compiler.LCNF.CompilerM.run (α := (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) (Lean.Compiler.LCNF.toDecl n)) (fun (decl : (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure)) => (let uses : (List Lean.Name) := (LexLeanExtract.sorted (LexLeanExtract.declUses decl)); (LexLeanExtract.codeLoop env modules (List.append (α := Lean.Name) rest (List.filter (α := Lean.Name) (fun (candidate : Lean.Name) => (LexLeanExtract.inProject env modules candidate)) uses)) visitedNow (Std.HashMap.insert (α := Lean.Name) (β := String) decls ((decl).toSignature).name (LexLeanExtract.declText decl)) (List.foldl (α := (Std.HashSet Lean.Name)) (β := Lean.Name) (fun (seen : (Std.HashSet Lean.Name)) (outside : Lean.Name) => (LexLeanExtract.insert seen outside)) referenced (List.filter (α := Lean.Name) (fun (outside : Lean.Name) => (Bool.not (LexLeanExtract.inProject env modules outside))) uses)))))))) else (LexLeanExtract.codeLoop env modules rest visitedNow decls referenced)))) else (LexLeanExtract.codeLoop env modules rest visitedNow decls referenced))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString n) "`"))))))) + +meta partial def LexLeanExtract.kernelLoop (env : Lean.Environment) (modules : (Array Lean.Name)) (queue : (List Lean.Name)) (seen : (Std.HashSet Lean.Name)) : (Lean.Core.CoreM (Std.HashSet Lean.Name)) := + (match queue with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (Std.HashSet Lean.Name)) seen) | .cons n rest => (if (Std.HashSet.contains (α := Lean.Name) seen n) then (LexLeanExtract.kernelLoop env modules rest seen) else (match (Lean.Environment.find? env n) with | .some info => (LexLeanExtract.kernelLoop env modules (List.append (α := Lean.Name) rest (List.filter (α := Lean.Name) (fun (candidate : Lean.Name) => (LexLeanExtract.inProject env modules candidate)) (LexLeanExtract.sorted (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert acc used)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (match (Lean.ConstantInfo.value? info (Bool.true)) with | .some value => (Lean.Expr.getUsedConstants value) | .none => ((#[] : Array Lean.Name))))))) (LexLeanExtract.insert seen n)) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (Std.HashSet Lean.Name)) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString n) "`"))))))) + +meta partial def LexLeanExtract.ctorRows (env : Lean.Environment) (names : (List Lean.Name)) : (Lean.Core.CoreM (List String)) := + (match names with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.nil (α := String))) | .cons c rest => (match (Lean.Environment.find? env c) with | .some info => (match info with | .ctorInfo constructor => (Bind.bind (m := Lean.Core.CoreM) (α := Lean.Expr) (β := (List String)) (Lean.Meta.MetaM.run' (α := Lean.Expr) (Lean.Compiler.LCNF.toLCNFType ((constructor).toConstantVal).type)) (fun (constructorType : Lean.Expr) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := (List String)) (LexLeanExtract.ctorRows env rest) (fun (tail : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.cons (α := String) (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "name" (LexLeanExtract.name c)), (Prod.mk (α := String) (β := String) "parameters" (ToString.toString (α := Nat) (constructor).numParams)), (Prod.mk (α := String) (β := String) "fields" (ToString.toString (α := Nat) (constructor).numFields)), (Prod.mk (α := String) (β := String) "type" (LexLeanExtract.type constructorType))] : List (Prod String String)))) tail)))))) | _ => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: `" (String.append (Lean.Name.toString c) "` is not a constructor"))))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: `" (String.append (Lean.Name.toString c) "` is not a constructor")))))) + +meta def LexLeanExtract.inductiveRow (env : Lean.Environment) (n : Lean.Name) : (Lean.Core.CoreM String) := + (match (Lean.Environment.find? env n) with | .some info => (match info with | .inductInfo «inductive» => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := String) (LexLeanExtract.ctorRows env («inductive»).ctors) (fun (constructors : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := String) (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "parameters" (ToString.toString (α := Nat) («inductive»).numParams)), (Prod.mk (α := String) (β := String) "indices" (ToString.toString (α := Nat) («inductive»).numIndices)), (Prod.mk (α := String) (β := String) "recursive" (LexLeanExtract.bool («inductive»).isRec)), (Prod.mk (α := String) (β := String) "constructors" (LexLeanExtract.arr constructors))] : List (Prod String String))))))) | _ => (Pure.pure (f := Lean.Core.CoreM) (α := String) "null")) | .none => (Pure.pure (f := Lean.Core.CoreM) (α := String) "null")) + +meta partial def LexLeanExtract.constantRows (env : Lean.Environment) (decls : (Std.HashMap Lean.Name String)) (names : (List Lean.Name)) : (Lean.Core.CoreM (List String)) := + (match names with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.nil (α := String))) | .cons n rest => (match (Lean.Environment.find? env n) with | .some info => (Bind.bind (m := Lean.Core.CoreM) (α := (List (Prod String String))) (β := (List String)) (LexLeanExtract.facts env n info) (fun (row : (List (Prod String String))) => (Bind.bind (m := Lean.Core.CoreM) (α := String) (β := (List String)) (LexLeanExtract.inductiveRow env n) (fun (inductiveText : String) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := (List String)) (LexLeanExtract.constantRows env decls rest) (fun (tail : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.cons (α := String) (LexLeanExtract.obj (List.append (α := (Prod String String)) row (([(Prod.mk (α := String) (β := String) "kernel_uses" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (usedName : Lean.Name) => (LexLeanExtract.name usedName)) (LexLeanExtract.sorted (Array.foldl (α := Lean.Name) (β := (Std.HashSet Lean.Name)) (fun (acc : (Std.HashSet Lean.Name)) (used : Lean.Name) => (LexLeanExtract.insert acc used)) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (match (Lean.ConstantInfo.value? info (Bool.true)) with | .some value => (Lean.Expr.getUsedConstants value) | .none => ((#[] : Array Lean.Name)))))))), (Prod.mk (α := String) (β := String) "declaration" (Option.getD (α := String) (Std.HashMap.get? (α := Lean.Name) (β := String) decls n) "null")), (Prod.mk (α := String) (β := String) "inductive" inductiveText)] : List (Prod String String))))) tail)))))))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString n) "`")))))) + +meta partial def LexLeanExtract.externalRows (env : Lean.Environment) (names : (List Lean.Name)) : (Lean.Core.CoreM (List String)) := + (match names with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.nil (α := String))) | .cons r rest => (match (Lean.Environment.find? env r) with | .some info => (Bind.bind (m := Lean.Core.CoreM) (α := (List (Prod String String))) (β := (List String)) (LexLeanExtract.facts env r info) (fun (row : (List (Prod String String))) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := (List String)) (LexLeanExtract.externalRows env rest) (fun (tail : (List String)) => (let compiled : (Prod String String) := (Prod.mk (α := String) (β := String) "compiled" (LexLeanExtract.bool (Option.isSome (α := Lean.IR.Decl) (Lean.IR.findEnvDecl env r)))); (Pure.pure (f := Lean.Core.CoreM) (α := (List String)) (List.cons (α := String) (LexLeanExtract.obj (List.append (α := (Prod String String)) row (match info with | .ctorInfo constructor => (([compiled, (Prod.mk (α := String) (β := String) "inductive_type" (LexLeanExtract.name (constructor).induct))] : List (Prod String String))) | _ => (([compiled] : List (Prod String String)))))) tail))))))) | .none => (Lean.«throwError» (m := Lean.Core.CoreM) (α := (List String)) (Lean.stringToMessageData (String.append "lexlean-extract: unresolved constant `" (String.append (Lean.Name.toString r) "`")))))) + +meta partial def LexLeanExtract.checkRoots (env : Lean.Environment) (modules : (Array Lean.Name)) (roots : (List Lean.Name)) : (Lean.Core.CoreM Unit) := + (match roots with | .nil => (Pure.pure (f := Lean.Core.CoreM) (α := Unit) (Unit.unit)) | .cons root rest => (if (Bool.and (LexLeanExtract.inProject env modules root) (Option.isSome (α := Lean.ConstantInfo) (Lean.Environment.find? env root))) then (LexLeanExtract.checkRoots env modules rest) else (Lean.«throwError» (m := Lean.Core.CoreM) (α := Unit) (Lean.stringToMessageData (String.append "lexlean-extract: unknown root `" (String.append (Lean.Name.toString root) "`")))))) + +meta def LexLeanExtract.run (roots : (Array Lean.Name)) (modules : (Array Lean.Name)) : (Lean.Core.CoreM String) := + (Bind.bind (m := Lean.Core.CoreM) (α := Lean.Environment) (β := String) (Lean.MonadEnv.getEnv (m := Lean.Core.CoreM)) (fun (env : Lean.Environment) => (Bind.bind (m := Lean.Core.CoreM) (α := Unit) (β := String) (LexLeanExtract.checkRoots env modules (Array.toList (α := Lean.Name) roots)) (fun (checked : Unit) => (Bind.bind (m := Lean.Core.CoreM) (α := (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) (β := String) (LexLeanExtract.codeLoop env modules (Array.toList (α := Lean.Name) roots) (Std.HashSet.emptyWithCapacity (α := Lean.Name)) (Std.HashMap.emptyWithCapacity (α := Lean.Name) (β := String)) (Std.HashSet.emptyWithCapacity (α := Lean.Name))) (fun (visit : (Prod (Std.HashSet Lean.Name) (Prod (Std.HashMap Lean.Name String) (Std.HashSet Lean.Name)))) => (Bind.bind (m := Lean.Core.CoreM) (α := (Std.HashSet Lean.Name)) (β := String) (LexLeanExtract.kernelLoop env modules (Std.HashSet.toList (α := Lean.Name) (visit).fst) (Std.HashSet.emptyWithCapacity (α := Lean.Name))) (fun (recorded : (Std.HashSet Lean.Name)) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := String) (LexLeanExtract.constantRows env ((visit).snd).fst (LexLeanExtract.sorted recorded)) (fun (constants : (List String)) => (Bind.bind (m := Lean.Core.CoreM) (α := (List String)) (β := String) (LexLeanExtract.externalRows env (LexLeanExtract.sorted ((visit).snd).snd)) (fun (externals : (List String)) => (Pure.pure (f := Lean.Core.CoreM) (α := String) (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "spec" (LexLeanExtract.str "lexlean/lcnf-extraction/2")), (Prod.mk (α := String) (β := String) "lean" (LexLeanExtract.obj (([(Prod.mk (α := String) (β := String) "version" (LexLeanExtract.str (Lean.versionString))), (Prod.mk (α := String) (β := String) "githash" (LexLeanExtract.str (Lean.githash)))] : List (Prod String String))))), (Prod.mk (α := String) (β := String) "roots" (LexLeanExtract.arr (List.map (α := Lean.Name) (β := String) (fun (listedName : Lean.Name) => (LexLeanExtract.name listedName)) (Array.toList (α := Lean.Name) roots)))), (Prod.mk (α := String) (β := String) "constants" (LexLeanExtract.arr constants)), (Prod.mk (α := String) (β := String) "externals" (LexLeanExtract.arr externals))] : List (Prod String String))))))))))))))))) + +meta def LexLeanExtract.mainNames (roots : (Array Lean.Name)) (modules : (Array Lean.Name)) : (Lean.Elab.Command.CommandElabM Unit) := + (Lean.Elab.Command.liftCoreM (α := Unit) (Bind.bind (m := Lean.Core.CoreM) (α := String) (β := Unit) (LexLeanExtract.run roots modules) (fun (text : String) => (MonadLiftT.monadLift (m := IO) (n := Lean.Core.CoreM) (α := Unit) (IO.println (α := String) text))))) + +meta def LexLeanExtract.toNames (texts : (Array String)) : (Array Lean.Name) := + (Array.map (α := String) (β := Lean.Name) (fun (text : String) => (String.toName text)) texts) + +meta def LexLeanExtract.toTypeRows (rows : (Array (Prod String (Array String)))) : (Array (Prod Lean.Name (Array String))) := + (Array.map (α := (Prod String (Array String))) (β := (Prod Lean.Name (Array String))) (fun (row : (Prod String (Array String))) => (Prod.mk (α := Lean.Name) (β := (Array String)) (String.toName (row).fst) (row).snd)) rows) + +meta def LexLeanExtract.checkAuthority (calls : (Array String)) (types : (Array (Prod String (Array String)))) (opaques : (Array String)) (plumbing : (Array String)) : (Lean.Elab.Command.CommandElabM Unit) := + (LexLeanExtract.checkNames (LexLeanExtract.toNames calls) (LexLeanExtract.toTypeRows types) (LexLeanExtract.toNames opaques) (LexLeanExtract.toNames plumbing)) + +meta def LexLeanExtract.main (roots : (Array String)) (modules : (Array String)) : (Lean.Elab.Command.CommandElabM Unit) := + (LexLeanExtract.mainNames (LexLeanExtract.toNames roots) (LexLeanExtract.toNames modules)) + +syntax (name := LexLeanExtract.signatureCommand) "lexlean_signature " ident " : " term : command +attribute [command_elab LexLeanExtract.signatureCommand] LexLeanExtract.elabSignature + +lexlean_signature Array.contains : ({α : (Type u)} → ([h1 : (BEq α)] → ((Array α) → (α → Bool)))) + +lexlean_signature Array.foldl : ({α : (Type u)} → ({β : (Type v)} → ((β → (α → β)) → (β → ((as : (Array α)) → ((optParam Nat 0) → ((optParam Nat (@Array.size α as)) → β))))))) + +lexlean_signature Array.getD : ({α : (Type u_1)} → ((Array α) → (Nat → (α → α)))) + +lexlean_signature Array.isEmpty : ({α : (Type u)} → ((Array α) → Bool)) + +lexlean_signature Array.map : ({α : (Type u)} → ({β : (Type v)} → ((α → β) → ((Array α) → (Array β))))) + +lexlean_signature Array.size : ({α : (Type u)} → ((Array α) → Nat)) + +lexlean_signature Array.toList : ({α : (Type u)} → ((Array α) → (List α))) + +lexlean_signature BEq.beq : ({α : (Type u)} → ([self : (BEq α)] → (α → (α → Bool)))) + +lexlean_signature Bind.bind : ({m : ((Type u) → (Type v))} → ([self : (Bind m)] → ({α : (Type u)} → ({β : (Type u)} → ((m α) → ((α → (m β)) → (m β))))))) + +lexlean_signature Bool.and : (Bool → (Bool → Bool)) + +lexlean_signature Bool.not : (Bool → Bool) + +lexlean_signature Bool.or : (Bool → (Bool → Bool)) + +lexlean_signature Char.toNat : (Char → Nat) + +lexlean_signature IO.println : ({α : (Type u_1)} → ([h1 : (ToString α)] → (α → (IO Unit)))) + +lexlean_signature Lean.Compiler.LCNF.CompilerM.run : ({α : Type} → ((Lean.Compiler.LCNF.CompilerM α) → ((optParam Lean.Compiler.LCNF.CompilerM.State { }) → ((optParam Lean.Compiler.LCNF.Phase Lean.Compiler.LCNF.Phase.base) → (Lean.Core.CoreM α))))) + +lexlean_signature Lean.Compiler.LCNF.shouldGenerateCode : (Lean.Name → (Lean.Core.CoreM Bool)) + +lexlean_signature Lean.Compiler.LCNF.toDecl : (Lean.Name → (Lean.Compiler.LCNF.CompilerM (Lean.Compiler.LCNF.Decl Lean.Compiler.LCNF.Purity.pure))) + +lexlean_signature Lean.Compiler.LCNF.toLCNFType : (Lean.Expr → (Lean.Meta.MetaM Lean.Expr)) + +lexlean_signature Lean.ConstantInfo.type : (Lean.ConstantInfo → Lean.Expr) + +lexlean_signature Lean.ConstantInfo.value? : (Lean.ConstantInfo → ((optParam Bool Bool.false) → (Option Lean.Expr))) + +lexlean_signature Lean.Elab.Command.liftCoreM : ({α : Type} → ((Lean.Core.CoreM α) → (Lean.Elab.Command.CommandElabM α))) + +lexlean_signature Lean.Elab.Command.liftTermElabM : ({α : Type} → ((Lean.Elab.Term.TermElabM α) → (Lean.Elab.Command.CommandElabM α))) + +lexlean_signature Lean.Elab.Term.elabType : (Lean.Syntax → (Lean.Elab.Term.TermElabM Lean.Expr)) + +lexlean_signature Lean.EnvExtension.asyncMode : ({σ : Type} → ((Lean.EnvExtension σ) → Lean.EnvExtension.AsyncMode)) + +lexlean_signature Lean.Environment.constants : (Lean.Environment → Lean.ConstMap) + +lexlean_signature Lean.Environment.find? : (Lean.Environment → (Lean.Name → ((optParam Bool Bool.false) → (Option Lean.ConstantInfo)))) + +lexlean_signature Lean.Environment.getModuleIdxFor? : (Lean.Environment → (Lean.Name → (Option Lean.ModuleIdx))) + +lexlean_signature Lean.Environment.header : (Lean.Environment → Lean.EnvironmentHeader) + +lexlean_signature Lean.Environment.isProjectionFn : (Lean.Environment → (Lean.Name → Bool)) + +lexlean_signature Lean.EnvironmentHeader.moduleNames : (Lean.EnvironmentHeader → (Array Lean.Name)) + +lexlean_signature Lean.Expr.getAppArgs : (Lean.Expr → (Array Lean.Expr)) + +lexlean_signature Lean.Expr.getAppFn : (Lean.Expr → Lean.Expr) + +lexlean_signature Lean.Expr.getForallBody : (Lean.Expr → Lean.Expr) + +lexlean_signature Lean.Expr.getUsedConstants : (Lean.Expr → (Array Lean.Name)) + +lexlean_signature Lean.Expr.isSort : (Lean.Expr → Bool) + +lexlean_signature Lean.IR.findEnvDecl : (Lean.Environment → (Lean.Name → (Option Lean.IR.Decl))) + +lexlean_signature Lean.MessageData.compose : (Lean.MessageData → (Lean.MessageData → Lean.MessageData)) + +lexlean_signature Lean.MessageData.ofExpr : (Lean.Expr → Lean.MessageData) + +lexlean_signature Lean.MessageData.ofName : (Lean.Name → Lean.MessageData) + +lexlean_signature Lean.Meta.MetaM.run' : ({α : Type} → ((Lean.Meta.MetaM α) → ((optParam Lean.Meta.Context { }) → ((optParam Lean.Meta.State { }) → (Lean.Core.CoreM α))))) + +lexlean_signature Lean.Meta.isInstanceCore : (Lean.Environment → (Lean.Name → Bool)) + +lexlean_signature Lean.Meta.isMatcherCore : (Lean.Environment → (Lean.Name → Bool)) + +lexlean_signature Lean.MonadEnv.getEnv : ({m : (Type → Type)} → ([self : (Lean.MonadEnv m)] → (m Lean.Environment))) + +lexlean_signature Lean.MonadNameGenerator.setNGen : ({m : (Type → Type)} → ([self : (Lean.MonadNameGenerator m)] → (Lean.NameGenerator → (m Unit)))) + +lexlean_signature Lean.Name.components : (Lean.Name → (List Lean.Name)) + +lexlean_signature Lean.Name.eraseMacroScopes : (Lean.Name → Lean.Name) + +lexlean_signature Lean.Name.getPrefix : (Lean.Name → Lean.Name) + +lexlean_signature Lean.Name.getString! : (Lean.Name → String) + +lexlean_signature Lean.Name.isInternal : (Lean.Name → Bool) + +lexlean_signature Lean.Name.isPrefixOf : (Lean.Name → (Lean.Name → Bool)) + +lexlean_signature Lean.Name.lt : (Lean.Name → (Lean.Name → Bool)) + +lexlean_signature Lean.Name.mkSimple : (String → Lean.Name) + +lexlean_signature Lean.Name.mkStr1 : (String → Lean.Name) + +lexlean_signature Lean.Name.mkStr2 : (String → (String → Lean.Name)) + +lexlean_signature Lean.Name.toString : (Lean.Name → ((optParam Bool Bool.true) → String)) + +lexlean_signature Lean.PersistentArray.branching : USize + +lexlean_signature Lean.PersistentArray.initShift : USize + +lexlean_signature Lean.PersistentEnvExtension.toEnvExtension : ({α : Type} → ({β : Type} → ({σ : Type} → ((Lean.PersistentEnvExtension α β σ) → (Lean.EnvExtension (Lean.PersistentEnvExtensionState α σ)))))) + +lexlean_signature Lean.PersistentHashMap.mkEmptyEntriesArray : ({α : (Type u_1)} → ({β : (Type u_2)} → (Array (Lean.PersistentHashMap.Entry α β (Lean.PersistentHashMap.Node α β))))) + +lexlean_signature Lean.SMap.foldStage2 : ({α : (Type u)} → ({β : (Type v)} → ([h2 : (BEq α)] → ([h3 : (Hashable α)] → ({σ : (Type w)} → ((σ → (α → (β → σ))) → (σ → ((@Lean.SMap α β h2 h3) → σ)))))))) + +lexlean_signature Lean.Syntax.getArg : (Lean.Syntax → (Nat → Lean.Syntax)) + +lexlean_signature Lean.Syntax.getId : (Lean.Syntax → Lean.Name) + +lexlean_signature Lean.annotation? : (Lean.Name → (Lean.Expr → (Option Lean.Expr))) + +lexlean_signature Lean.getConstInfo : ({m : (Type → Type)} → ([h1 : (Monad m)] → ([h2 : (Lean.MonadEnv m)] → ([h3 : (Lean.MonadError m)] → (Lean.Name → (m Lean.ConstantInfo)))))) + +lexlean_signature Lean.getOriginalConstKind? : (Lean.Environment → (Lean.Name → (Option Lean.ConstantKind))) + +lexlean_signature Lean.githash : String + +lexlean_signature Lean.instantiateMVars : ({m : (Type → Type)} → ([h1 : (Monad m)] → ([h2 : (Lean.MonadMCtx m)] → (Lean.Expr → (m Lean.Expr))))) + +lexlean_signature Lean.isAuxRecursor : (Lean.Environment → (Lean.Name → Bool)) + +lexlean_signature Lean.isCasesOnRecursor : (Lean.Environment → (Lean.Name → Bool)) + +lexlean_signature Lean.isNoConfusion : (Lean.Environment → (Lean.Name → Bool)) + +lexlean_signature Lean.isNoncomputable : (Lean.Environment → (Lean.Name → ((optParam Lean.EnvExtension.AsyncMode (@Lean.EnvExtension.asyncMode (Lean.PersistentEnvExtensionState Lean.Name (Prod (List Lean.Name) Lean.NameSet)) (@Lean.PersistentEnvExtension.toEnvExtension Lean.Name Lean.Name (Prod (List Lean.Name) Lean.NameSet) Lean.noncomputableExt))) → Bool))) + +lexlean_signature Lean.noncomputableExt : Lean.TagDeclarationExtension + +lexlean_signature Lean.stringToMessageData : (String → Lean.MessageData) + +lexlean_signature Lean.«throwError» : ({m : (Type → Type)} → ({α : Type} → ([h2 : (Monad m)] → ([h3 : (Lean.MonadError m)] → (Lean.MessageData → (m α)))))) + +lexlean_signature Lean.versionString : String + +lexlean_signature List.any : ({α : (Type u)} → ((List α) → ((α → Bool) → Bool))) + +lexlean_signature List.append : ({α : (Type u_1)} → ((List α) → ((List α) → (List α)))) + +lexlean_signature List.contains : ({α : (Type u)} → ([h1 : (BEq α)] → ((List α) → (α → Bool)))) + +lexlean_signature List.drop : ({α : (Type u)} → (Nat → ((List α) → (List α)))) + +lexlean_signature List.elem : ({α : (Type u)} → ([h1 : (BEq α)] → (α → ((List α) → Bool)))) + +lexlean_signature List.filter : ({α : (Type u)} → ((α → Bool) → ((List α) → (List α)))) + +lexlean_signature List.foldl : ({α : (Type u)} → ({β : (Type v)} → ((α → (β → α)) → (α → ((List β) → α))))) + +lexlean_signature List.isEmpty : ({α : (Type u)} → ((List α) → Bool)) + +lexlean_signature List.map : ({α : (Type u_1)} → ({β : (Type u_2)} → ((α → β) → ((List α) → (List β))))) + +lexlean_signature MonadLiftT.monadLift : ({m : ((Type u) → (Type v))} → ({n : ((Type u) → (Type w))} → ([self : (MonadLiftT m n)] → ({α : (Type u)} → ((m α) → (n α)))))) + +lexlean_signature Nat.add : (Nat → (Nat → Nat)) + +lexlean_signature Nat.blt : (Nat → (Nat → Bool)) + +lexlean_signature Nat.toDigits : (Nat → (Nat → (List Char))) + +lexlean_signature Option.getD : ({α : (Type u_1)} → ((Option α) → (α → α))) + +lexlean_signature Option.isSome : ({α : (Type u_1)} → ((Option α) → Bool)) + +lexlean_signature Pure.pure : ({f : ((Type u) → (Type v))} → ([self : (Pure f)] → ({α : (Type u)} → (α → (f α))))) + +lexlean_signature Std.HashMap.emptyWithCapacity : ({α : (Type u)} → ({β : (Type v)} → ([h2 : (BEq α)] → ([h3 : (Hashable α)] → ((optParam Nat 8) → (@Std.HashMap α β h2 h3)))))) + +lexlean_signature Std.HashMap.get? : ({α : (Type u)} → ({β : (Type v)} → ({h2 : (BEq α)} → ({h3 : (Hashable α)} → ((@Std.HashMap α β h2 h3) → (α → (Option β))))))) + +lexlean_signature Std.HashMap.insert : ({α : (Type u)} → ({β : (Type v)} → ({h2 : (BEq α)} → ({h3 : (Hashable α)} → ((@Std.HashMap α β h2 h3) → (α → (β → (@Std.HashMap α β h2 h3)))))))) + +lexlean_signature Std.HashSet.contains : ({α : (Type u)} → ({h1 : (BEq α)} → ({h2 : (Hashable α)} → ((@Std.HashSet α h1 h2) → (α → Bool))))) + +lexlean_signature Std.HashSet.emptyWithCapacity : ({α : (Type u)} → ([h1 : (BEq α)] → ([h2 : (Hashable α)] → ((optParam Nat 8) → (@Std.HashSet α h1 h2))))) + +lexlean_signature Std.HashSet.insert : ({α : (Type u)} → ({h1 : (BEq α)} → ({h2 : (Hashable α)} → ((@Std.HashSet α h1 h2) → (α → (@Std.HashSet α h1 h2)))))) + +lexlean_signature Std.HashSet.toList : ({α : (Type u)} → ({h1 : (BEq α)} → ({h2 : (Hashable α)} → ((@Std.HashSet α h1 h2) → (List α))))) + +lexlean_signature String.append : (String → (String → String)) + +lexlean_signature String.foldl : ({α : (Type u)} → ((α → (Char → α)) → (α → (String → α)))) + +lexlean_signature String.intercalate : (String → ((List String) → String)) + +lexlean_signature String.ofList : ((List Char) → String) + +lexlean_signature String.push : (String → (Char → String)) + +lexlean_signature String.toName : (String → Lean.Name) + +lexlean_signature ToString.toString : ({α : (Type u)} → ([self : (ToString α)] → (α → String))) + +lexlean_signature UInt16.toNat : (UInt16 → Nat) + +lexlean_signature UInt32.toNat : (UInt32 → Nat) + +lexlean_signature UInt64.toNat : (UInt64 → Nat) + +lexlean_signature UInt8.toNat : (UInt8 → Nat) + +lexlean_signature Unit.unit : Unit + +#eval LexLeanExtract.checkAuthority ((#["Array.contains", "Array.foldl", "Array.getD", "Array.isEmpty", "Array.map", "Array.size", "Array.toList", "BEq.beq", "Bind.bind", "Bool.and", "Bool.not", "Bool.or", "Char.toNat", "IO.println", "Lean.Compiler.LCNF.CompilerM.run", "Lean.Compiler.LCNF.shouldGenerateCode", "Lean.Compiler.LCNF.toDecl", "Lean.Compiler.LCNF.toLCNFType", "Lean.ConstantInfo.type", "Lean.ConstantInfo.value?", "Lean.Elab.Command.liftCoreM", "Lean.Elab.Command.liftTermElabM", "Lean.Elab.Term.elabType", "Lean.EnvExtension.asyncMode", "Lean.Environment.constants", "Lean.Environment.find?", "Lean.Environment.getModuleIdxFor?", "Lean.Environment.header", "Lean.Environment.isProjectionFn", "Lean.EnvironmentHeader.moduleNames", "Lean.Expr.getAppArgs", "Lean.Expr.getAppFn", "Lean.Expr.getForallBody", "Lean.Expr.getUsedConstants", "Lean.Expr.isSort", "Lean.IR.findEnvDecl", "Lean.MessageData.compose", "Lean.MessageData.ofExpr", "Lean.MessageData.ofName", "Lean.Meta.MetaM.run'", "Lean.Meta.isInstanceCore", "Lean.Meta.isMatcherCore", "Lean.MonadEnv.getEnv", "Lean.MonadNameGenerator.setNGen", "Lean.Name.components", "Lean.Name.eraseMacroScopes", "Lean.Name.getPrefix", "Lean.Name.getString!", "Lean.Name.isInternal", "Lean.Name.isPrefixOf", "Lean.Name.lt", "Lean.Name.mkSimple", "Lean.Name.mkStr1", "Lean.Name.mkStr2", "Lean.Name.toString", "Lean.PersistentArray.branching", "Lean.PersistentArray.initShift", "Lean.PersistentEnvExtension.toEnvExtension", "Lean.PersistentHashMap.mkEmptyEntriesArray", "Lean.SMap.foldStage2", "Lean.Syntax.getArg", "Lean.Syntax.getId", "Lean.annotation?", "Lean.getConstInfo", "Lean.getOriginalConstKind?", "Lean.githash", "Lean.instantiateMVars", "Lean.isAuxRecursor", "Lean.isCasesOnRecursor", "Lean.isNoConfusion", "Lean.isNoncomputable", "Lean.noncomputableExt", "Lean.stringToMessageData", "Lean.throwError", "Lean.versionString", "List.any", "List.append", "List.contains", "List.drop", "List.elem", "List.filter", "List.foldl", "List.isEmpty", "List.map", "MonadLiftT.monadLift", "Nat.add", "Nat.blt", "Nat.toDigits", "Option.getD", "Option.isSome", "Pure.pure", "Std.HashMap.emptyWithCapacity", "Std.HashMap.get?", "Std.HashMap.insert", "Std.HashSet.contains", "Std.HashSet.emptyWithCapacity", "Std.HashSet.insert", "Std.HashSet.toList", "String.append", "String.foldl", "String.intercalate", "String.ofList", "String.push", "String.toName", "ToString.toString", "UInt16.toNat", "UInt32.toNat", "UInt64.toNat", "UInt8.toNat", "Unit.unit"] : Array String)) ((#[(Prod.mk (α := String) (β := (Array String)) "Bool" ((#["false", "true"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Alt" ((#["alt", "ctorAlt", "default"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Arg" ((#["erased", "fvar", "type"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Cases" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Code" ((#["let", "fun", "jp", "jmp", "cases", "return", "unreach", "oset", "uset", "sset", "setTag", "inc", "dec", "del"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Decl" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.DeclValue" ((#["code", "extern"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.FunDecl" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.LetDecl" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.LetValue" ((#["lit", "erased", "proj", "const", "fvar", "ctor", "oproj", "uproj", "sproj", "fap", "pap", "reset", "reuse", "box", "unbox", "isShared"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.LitValue" ((#["nat", "str", "uint8", "uint16", "uint32", "uint64", "usize"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Param" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Phase" ((#["base", "mono", "impure"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Purity" ((#["pure", "impure"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Compiler.LCNF.Signature" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstantInfo" ((#["axiomInfo", "defnInfo", "thmInfo", "opaqueInfo", "quotInfo", "inductInfo", "ctorInfo", "recInfo"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstantKind" ((#["defn", "thm", "axiom", "opaque", "quot", "induct", "ctor", "recursor"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstantVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.ConstructorVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.DefinitionSafety" ((#["unsafe", "safe", "partial"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.DefinitionVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Expr" ((#["bvar", "fvar", "mvar", "sort", "const", "app", "lam", "forallE", "letE", "lit", "mdata", "proj"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.FVarId" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.InductiveVal" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.Name" ((#["anonymous", "str", "num"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Lean.NameGenerator" ((#["mk"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "List" ((#["nil", "cons"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Option" ((#["none", "some"] : Array String))), (Prod.mk (α := String) (β := (Array String)) "Prod" ((#["mk"] : Array String)))] : Array (Prod String (Array String)))) ((#["Array", "BEq", "Bind", "Char", "Hashable", "IO", "Lean.AxiomVal", "Lean.BinderInfo", "Lean.Compiler.InlineAttributeKind", "Lean.Compiler.LCNF.CompilerM", "Lean.Compiler.LCNF.CompilerM.State", "Lean.Compiler.LCNF.CtorInfo", "Lean.ConstMap", "Lean.Core.Context", "Lean.Core.CoreM", "Lean.Core.State", "Lean.DelayedMetavarAssignment", "Lean.Elab.Command.CommandElab", "Lean.Elab.Command.CommandElabM", "Lean.Elab.Command.Context", "Lean.Elab.Command.State", "Lean.Elab.Term.Context", "Lean.Elab.Term.State", "Lean.Elab.Term.TermElabM", "Lean.EnvExtension", "Lean.EnvExtension.AsyncMode", "Lean.Environment", "Lean.EnvironmentHeader", "Lean.Exception", "Lean.ExternAttrData", "Lean.FVarIdMap", "Lean.FVarIdSet", "Lean.IR.Decl", "Lean.LMVarId", "Lean.Level", "Lean.LevelMetavarDecl", "Lean.Literal", "Lean.LocalDecl", "Lean.LocalInstance", "Lean.MData", "Lean.MVarId", "Lean.MessageData", "Lean.Meta.AbstractMVarsResult", "Lean.Meta.Config", "Lean.Meta.ConfigWithKey", "Lean.Meta.Context", "Lean.Meta.DefEqCacheKey", "Lean.Meta.DefEqContext", "Lean.Meta.ExprConfigCacheKey", "Lean.Meta.FunInfo", "Lean.Meta.InfoCacheKey", "Lean.Meta.MetaM", "Lean.Meta.PostponedEntry", "Lean.Meta.State", "Lean.Meta.SynthInstanceCacheKey", "Lean.MetavarDecl", "Lean.ModuleIdx", "Lean.MonadEnv", "Lean.MonadError", "Lean.MonadMCtx", "Lean.MonadNameGenerator", "Lean.NameSet", "Lean.OpaqueVal", "Lean.ParserDescr", "Lean.PersistentArrayNode", "Lean.PersistentEnvExtension", "Lean.PersistentEnvExtensionState", "Lean.PersistentHashMap.Entry", "Lean.PersistentHashMap.Node", "Lean.QuotVal", "Lean.RecursorVal", "Lean.ReducibilityHints", "Lean.SMap", "Lean.Syntax", "Lean.TagDeclarationExtension", "Lean.TheoremVal", "Monad", "MonadLiftT", "Nat", "Pure", "Std.HashMap", "Std.HashSet", "String", "ToString", "UInt16", "UInt32", "UInt64", "UInt8", "USize", "Unit"] : Array String)) ((#["Applicative.toPure", "Array.casesOn", "Array.mkEmpty", "Bool.casesOn", "Char.ofNat", "EIO", "EmptyCollection.emptyCollection", "Eq", "Eq.casesOn", "Eq.ndrec", "Eq.refl", "Eq.symm", "False", "False.elim", "HEq", "HEq.refl", "IO.RealWorld", "Inhabited", "Inhabited.default", "Inhabited.mk", "Lean.Compiler.LCNF.Alt.casesOn", "Lean.Compiler.LCNF.Arg.casesOn", "Lean.Compiler.LCNF.Cases.casesOn", "Lean.Compiler.LCNF.Code.casesOn", "Lean.Compiler.LCNF.CompilerM.State.mk", "Lean.Compiler.LCNF.CtorInfo.casesOn", "Lean.Compiler.LCNF.Decl.toSignature", "Lean.Compiler.LCNF.Decl.value", "Lean.Compiler.LCNF.DeclValue.casesOn", "Lean.Compiler.LCNF.FunDecl.casesOn", "Lean.Compiler.LCNF.LCtx.mk", "Lean.Compiler.LCNF.LetDecl.fvarId", "Lean.Compiler.LCNF.LetDecl.type", "Lean.Compiler.LCNF.LetDecl.value", "Lean.Compiler.LCNF.LetValue.casesOn", "Lean.Compiler.LCNF.LitValue.casesOn", "Lean.Compiler.LCNF.Param.borrow", "Lean.Compiler.LCNF.Param.fvarId", "Lean.Compiler.LCNF.Param.type", "Lean.Compiler.LCNF.Purity.ctorIdx", "Lean.Compiler.LCNF.Signature.levelParams", "Lean.Compiler.LCNF.Signature.name", "Lean.Compiler.LCNF.Signature.params", "Lean.Compiler.LCNF.Signature.safe", "Lean.Compiler.LCNF.Signature.type", "Lean.ConstantInfo.casesOn", "Lean.ConstantInfo.ctorIdx", "Lean.ConstantInfo.rec", "Lean.ConstantKind.casesOn", "Lean.ConstantVal.type", "Lean.ConstructorVal.induct", "Lean.ConstructorVal.numFields", "Lean.ConstructorVal.numParams", "Lean.ConstructorVal.toConstantVal", "Lean.Core.instAddMessageContextCoreM", "Lean.Core.instInhabitedCoreM", "Lean.Core.instMonadCoreM", "Lean.Core.instMonadEnvCoreM", "Lean.Core.instMonadLiftIOCoreM", "Lean.Core.instMonadNameGeneratorCoreM", "Lean.Core.instMonadRefCoreM", "Lean.DefinitionSafety.casesOn", "Lean.DefinitionVal.safety", "Lean.Elab.Command.instAddErrorMessageContextCommandElabM", "Lean.Elab.Command.instInhabitedCommandElabM", "Lean.Elab.Command.instMonadCommandElabM", "Lean.Elab.Command.instMonadEnvCommandElabM", "Lean.Elab.Command.instMonadExceptOfExceptionCommandElabM", "Lean.Elab.Command.instMonadLiftTIOCommandElabM", "Lean.Elab.Command.instMonadRefCommandElabM", "Lean.Elab.MonadMacroAdapter.toMonadQuotation", "Lean.Elab.Term.instAddErrorMessageContextTermElabM", "Lean.Elab.Term.instMonadMacroAdapterTermElabM", "Lean.Elab.Term.instMonadTermElabM", "Lean.Expr.casesOn", "Lean.Expr.ctorIdx", "Lean.Expr.instBEq", "Lean.Expr.instHashable", "Lean.Expr.rec", "Lean.FVarId.casesOn", "Lean.FVarId.name", "Lean.InductiveVal.ctors", "Lean.InductiveVal.isRec", "Lean.InductiveVal.numIndices", "Lean.InductiveVal.numParams", "Lean.Level.instBEq", "Lean.Level.instToString", "Lean.LocalContext.mk", "Lean.Meta.Cache.mk", "Lean.Meta.Context.mk", "Lean.Meta.Diagnostics.mk", "Lean.Meta.State.mk", "Lean.Meta.instBEqDefEqCacheKey", "Lean.Meta.instBEqExprConfigCacheKey", "Lean.Meta.instBEqInfoCacheKey", "Lean.Meta.instBEqSynthInstanceCacheKey", "Lean.Meta.instHashableDefEqCacheKey", "Lean.Meta.instHashableExprConfigCacheKey", "Lean.Meta.instHashableInfoCacheKey", "Lean.Meta.instHashableSynthInstanceCacheKey", "Lean.Meta.instInhabitedConfigWithKey", "Lean.Meta.instMonadEnvMetaM", "Lean.Meta.instMonadMCtxMetaM", "Lean.Meta.instMonadMetaM", "Lean.MetavarContext.mk", "Lean.MonadError.mk", "Lean.MonadQuotation.toMonadRef", "Lean.Name.instBEq", "Lean.ParserDescr.binary", "Lean.ParserDescr.cat", "Lean.ParserDescr.const", "Lean.ParserDescr.node", "Lean.ParserDescr.symbol", "Lean.PersistentArray.mk", "Lean.PersistentArrayNode.node", "Lean.PersistentHashMap.Node.entries", "Lean.PersistentHashMap.mk", "Lean.instAddErrorMessageContextOfAddMessageContextOfMonad", "Lean.instBEqBinderInfo", "Lean.instBEqFVarId", "Lean.instBEqLevelMVarId", "Lean.instBEqLiteral", "Lean.instBEqMVarId", "Lean.instEmptyCollectionFVarIdMap", "Lean.instEmptyCollectionFVarIdSet", "Lean.instHashableFVarId", "Lean.instHashableLevelMVarId", "Lean.instHashableMVarId", "Lean.instHashableName", "Lean.instMonadEnvOfMonadLift", "Lean.instMonadExceptOfExceptionCoreM", "Lean.instMonadMCtxOfMonadLift", "List.casesOn", "List.instBEq", "List.toArray", "Monad.toBind", "Nat.hasNotBit", "Nat.land", "Nat.ne_of_beq_eq_false", "Nat.shiftRight", "OfNat.ofNat", "Option.casesOn", "Prod.fst", "Prod.snd", "ReaderT.instApplicativeOfMonad", "ReaderT.instMonadExceptOf", "ReaderT.instMonadLift", "StateRefT'", "StateRefT'.instMonad", "StateRefT'.instMonadExceptOf", "StateRefT'.instMonadLift", "Std.HashMap.instEmptyCollection", "String.instInhabited", "USize.toNat", "eq_of_heq", "instBEqOfDecidableEq", "instDecidableEqBool", "instDecidableEqChar", "instDecidableEqNat", "instDecidableEqString", "instInhabitedBool", "instInhabitedList", "instInhabitedProd", "instMonadEIO", "instMonadLiftT", "instMonadLiftTOfMonadLift", "instOfNatNat", "instToStringList", "instToStringNat", "instToStringString", "ite", "noConfusion_of_Nat"] : Array String)) + +#eval LexLeanExtract.main ((#["Reasoning.Main.triageLevel", "Reasoning.Main.gatewayLevel", "Reasoning.Main.triageSteps", "Reasoning.Main.planLeft", "Reasoning.Main.doseLevel", "Reasoning.Main.gradeLevel", "Reasoning.Main.screenDose", "Reasoning.Main.spendLeft"] : Array String)) ((#["LexLeanRuntime.Portable", "LexLeanRuntime.Collections", "LexLeanRuntime.Models", "LexLeanRuntime.Reasoning", "Reasoning.Budget", "Reasoning.Clinic", "Reasoning.Main", "Reasoning.Planner", "Reasoning.Screening"] : Array String)) diff --git a/examples/reasoning/expected/verify/extract/process.json b/examples/reasoning/expected/verify/extract/process.json index a2f7d1b55..a37044582 100644 --- a/examples/reasoning/expected/verify/extract/process.json +++ b/examples/reasoning/expected/verify/extract/process.json @@ -1 +1 @@ -{"argv":["env","lean","$STAGING/extract/LexLeanExtract.X6d3e375f76cbc573b09fef98086539e0.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanExtract.X6d3e375f76cbc573b09fef98086539e0","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"{\"spec\":\"lexlean/lcnf-extraction/2\",\"lean\":{\"version\":\"4.32.1\",\"githash\":\"f054605aea4b840552cca2e725580bffd1e1b704\"},\"roots\":[\"Reasoning.Main.triageLevel\",\"Reasoning.Main.gatewayLevel\",\"Reasoning.Main.triageSteps\",\"Reasoning.Main.planLeft\",\"Reasoning.Main.doseLevel\",\"Reasoning.Main.gradeLevel\",\"Reasoning.Main.screenDose\",\"Reasoning.Main.spendLeft\"],\"constants\":[{\"name\":\"Reasoning.Budget.emptyCheck\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.beq\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},\"borrow\":false},{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"Nat.beq\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Chart\",\"kind\":\"inductive\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Clinic.Chart.mk\",\"parameters\":0,\"fields\":9,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}}}}}}}}}}}]}},{\"name\":\"Reasoning.Clinic.Triage\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Prod\",\"Unit\",\"Bool.false\",\"Except.error\",\"Except.ok\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Triage.Run\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Triage.conclude\",\"Reasoning.Clinic.Triage.match_1\",\"Reasoning.Clinic.Triage.run\",\"Reasoning.Clinic.Triage.Run.state\",\"Reasoning.Clinic.Triage.Run.trace\",\"Reasoning.Clinic.Triage.account.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]}},\"parameters\":[{\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.run\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.100\",\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.73\",\"parameters\":[{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.46\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Triage.Run\",\"index\":1,\"value\":\"_uniq.60\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.72\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.73\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.80\",\"parameters\":[{\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.79\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.80\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.46\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Triage.Run\",\"index\":0,\"value\":\"_uniq.92\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.conclude\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.93\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]},\"discriminant\":\"_uniq.94\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.95\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.96\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.81\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.95\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.96\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.98\"}}}]}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.100\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.107\",\"parameters\":[{\"id\":\"_uniq.103\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.106\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.107\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.46\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]},\"discriminant\":\"_uniq.113\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.108\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.115\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.101\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.116\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.117\"}}}}]}}}}}}}}},\"uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"PUnit\",\"Prod\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Triage.Run\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Triage.conclude\",\"Reasoning.Clinic.Triage.run\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Vitals\",\"kind\":\"inductive\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Clinic.Vitals.mk\",\"parameters\":0,\"fields\":6,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]}}}}}}}}]}},{\"name\":\"Reasoning.Clinic.feverish\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.blt\",\"OfNat.ofNat\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Vitals.temperature\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"380\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Vitals\",\"index\":0,\"value\":\"_uniq.6\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.11\"}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"Nat.blt\",\"Reasoning.Clinic.Vitals\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.hypotensive\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.blt\",\"OfNat.ofNat\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Vitals.systolic\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Vitals\",\"index\":4,\"value\":\"_uniq.6\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"90\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.11\"}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"Nat.blt\",\"Reasoning.Clinic.Vitals\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.leukocytic\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.blt\",\"OfNat.ofNat\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Vitals.whiteCells\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"12\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Vitals\",\"index\":3,\"value\":\"_uniq.6\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.11\"}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"Nat.blt\",\"Reasoning.Clinic.Vitals\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.recommendationCheck\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Bool.and\",\"Bool.not\",\"Bool.or\",\"Nat.beq\",\"Nat.ble\",\"OfNat.ofNat\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.feverish\",\"Reasoning.Clinic.hypotensive\",\"Reasoning.Clinic.tachycardic\",\"Reasoning.Clinic.Vitals.infection\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.72\",\"parameters\":[{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.71\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.72\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.176\",\"parameters\":[{\"id\":\"_uniq.78\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.84\",\"parameters\":[{\"id\":\"_uniq.82\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.83\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.85\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.84\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.161\",\"parameters\":[{\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.72\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.141\",\"parameters\":[{\"id\":\"_uniq.96\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.72\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.125\",\"parameters\":[{\"id\":\"_uniq.105\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.72\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.113\",\"parameters\":[{\"id\":\"_uniq.111\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.tachycardic\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.112\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.113\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.feverish\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.119\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.109\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.120\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.121\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.114\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.122\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.123\"}}}}]}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.125\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Vitals\",\"index\":5,\"value\":\"_uniq.63\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.132\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.132\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.133\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.131\"},{\"kind\":\"fvar\",\"id\":\"_uniq.134\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.135\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.100\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.136\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.137\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.139\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.126\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.138\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.139\"}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.141\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.147\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.hypotensive\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.154\",\"parameters\":[{\"id\":\"_uniq.152\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.153\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.not\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.152\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.153\"}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.160\",\"parameters\":[{\"id\":\"_uniq.158\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.159\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.142\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.158\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.154\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.159\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.157\",\"parameters\":[{\"id\":\"_uniq.155\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.156\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.91\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.155\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.154\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.156\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.147\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.148\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.157\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.148\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.150\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.160\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.150\"}]}}}]}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.162\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.161\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.167\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.168\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.167\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.169\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.168\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.170\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.169\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.170\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.171\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.172\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.162\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.171\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.172\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.173\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.174\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.85\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.173\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.174\"}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.177\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.176\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.182\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.183\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.182\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.184\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.183\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.185\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.184\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.185\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.186\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.187\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.73\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.186\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.187\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.188\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.189\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.177\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.188\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.189\"}}}}]}}}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"PUnit\",\"instOfNatNat\",\"Bool.false\",\"Bool.not\",\"Bool.true\",\"Nat.beq\",\"Nat.ble\",\"Unit.unit\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.feverish\",\"Reasoning.Clinic.hypotensive\",\"Reasoning.Clinic.tachycardic\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.tachycardic\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.blt\",\"OfNat.ofNat\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Vitals.heartRate\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"90\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Vitals\",\"index\":1,\"value\":\"_uniq.6\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.11\"}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"Nat.blt\",\"Reasoning.Clinic.Vitals\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.tachypneic\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.blt\",\"OfNat.ofNat\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Vitals.respiratoryRate\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"20\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Vitals\",\"index\":2,\"value\":\"_uniq.6\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.11\"}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"Nat.blt\",\"Reasoning.Clinic.Vitals\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.GatewayModel\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Vitals\",\"Reasoning.Main.GatewayTriage\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.GatewayTriage\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Main.GatewayTriage\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.GatewayTriage\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Triage.verdict\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.verdict\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Triage.verdict\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.doseLevel\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Main.Grade.match_1\",\"Reasoning.Screening.Dose.verdict\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.32\",\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.32\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.41\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.40\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.41\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.verdict\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.53\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.42\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.55\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.33\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}]}}}}}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"Except.error\",\"Except.ok\",\"Reasoning.Screening.Dose.verdict\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.gatewayLevel\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Main.GatewayModel\",\"Reasoning.Clinic.Vitals.mk\",\"Reasoning.Main.Grade.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}}}}},\"parameters\":[{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.67\",\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.66\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.67\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.76\",\"parameters\":[{\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.74\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.75\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.76\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.GatewayModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.88\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.89\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.90\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.77\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.90\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.91\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.68\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.93\"}}}]}}}}}}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"Except.error\",\"Except.ok\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Main.GatewayModel\",\"Reasoning.Clinic.Vitals.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.gradeLevel\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Clinic.Vitals.mk\",\"Reasoning.Main.Grade.match_1\",\"Reasoning.Main.Grade.verdict\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}}}}},\"parameters\":[{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.67\",\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.66\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.67\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.76\",\"parameters\":[{\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.74\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.75\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.76\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.verdict\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.88\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.89\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.90\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.77\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.90\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.91\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.68\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.93\"}}}]}}}}}}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"Except.error\",\"Except.ok\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Vitals.mk\",\"Reasoning.Main.Grade.verdict\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.planLeft\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"instOfNatNat\",\"OfNat.ofNat\",\"Prod.fst\",\"Reasoning.Main.planLeft.match_1\",\"Reasoning.Planner.Plan.verdict\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.33\",\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.31\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.32\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.33\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.42\",\"parameters\":[{\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.40\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.41\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.42\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.verdict\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.54\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.43\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.56\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.34\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.58\"}}}]}}}}}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"Except.error\",\"Except.ok\",\"Reasoning.Planner.Plan.verdict\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.screenDose\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Main.Grade.match_1\",\"Reasoning.Screening.Screen.verdict\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.32\",\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.32\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.41\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.40\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.41\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.verdict\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.53\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.42\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.55\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.33\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}]}}}}}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"Except.error\",\"Except.ok\",\"Reasoning.Screening.Screen.verdict\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.spendLeft\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"instOfNatNat\",\"OfNat.ofNat\",\"Prod.mk\",\"Reasoning.Budget.Spend.verdict\",\"Reasoning.Main.Grade.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.32\",\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.32\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.41\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.40\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.41\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.verdict\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.54\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.42\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.56\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.33\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.58\"}}}]}}}}}}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Reasoning.Budget.Spend.verdict\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.triageLevel\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Clinic.Triage.verdict\",\"Reasoning.Clinic.Vitals.mk\",\"Reasoning.Main.Grade.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}}}}},\"parameters\":[{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.67\",\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.66\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.67\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.76\",\"parameters\":[{\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.74\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.75\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.76\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.verdict\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.94\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.95\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.96\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.77\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.96\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.97\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.68\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.98\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.99\"}}}]}}}}}}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"Except.error\",\"Except.ok\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Triage.verdict\",\"Reasoning.Clinic.Vitals.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.triageSteps\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Prod\",\"instOfNatNat\",\"OfNat.ofNat\",\"Prod.snd\",\"Reasoning.Clinic.Triage\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Vitals.mk\",\"Reasoning.Main.LexLeanRuntime.instLengthableList\",\"Reasoning.Main.LexLeanRuntime.length\",\"Reasoning.Main.triageSteps.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}}}}},\"parameters\":[{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.70\",\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.66\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},{\"kind\":\"fvar\",\"id\":\"_uniq.68\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.69\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.70\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.79\",\"parameters\":[{\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.77\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.78\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.79\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.91\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.92\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.93\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.80\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.93\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.94\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.95\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.96\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.71\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.95\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.96\"}}}]}}}}}}}},\"uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"Except.error\",\"Except.ok\",\"Reasoning.Clinic.Triage\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Vitals.mk\",\"Reasoning.Main.LexLeanRuntime.Lengthable\",\"Reasoning.Main.LexLeanRuntime.instLengthableList\",\"Reasoning.Main.LexLeanRuntime.length\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Except.error\",\"Except.ok\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.Search\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Plan.failure\",\"Reasoning.Planner.Plan.run\",\"Reasoning.Planner.Plan.Node.trace\",\"Reasoning.Planner.Plan.Search.found\",\"Reasoning.Planner.Plan.Search.truncated\",\"Reasoning.Planner.Plan.searchStep.match_5\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]}]}},\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.run\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.31\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.44\",\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Node\",\"index\":1,\"value\":\"_uniq.38\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.60\",\"parameters\":[{\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.32\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.32\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Search\",\"index\":3,\"value\":\"_uniq.51\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.failure\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.59\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.60\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.32\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Search\",\"index\":2,\"value\":\"_uniq.69\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]}]},\"discriminant\":\"_uniq.70\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.61\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.72\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.73\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}}]}}}}}}}}}},\"uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"Except.error\",\"Except.ok\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Unit.unit\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.Search\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Plan.failure\",\"Reasoning.Planner.Plan.run\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.measuresCheck\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instOfNatNat\",\"Bool.and\",\"Nat.beq\",\"Nat.ble\",\"OfNat.ofNat\",\"Prod.fst\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.37\",\"parameters\":[{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.36\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.37\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.46\",\"parameters\":[{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.29\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.43\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.45\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.46\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.29\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.52\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.53\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.38\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.55\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.47\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}}]}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"PUnit\",\"Prod\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.beq\",\"Nat.ble\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.DoseCandidates\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"instSubNat\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\",\"Reasoning.Screening.LexLeanRuntime.subtract\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"10\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"20\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.13\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"30\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.17\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"50\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.21\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.28\"}}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"List\",\"Nat\",\"OfNat\",\"Sub\",\"instOfNatNat\",\"instSubNat\",\"List.cons\",\"List.nil\",\"Reasoning.Screening.LexLeanRuntime.subtract\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.DoseModel\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Reasoning.Screening.DoseCandidates\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.DoseCandidates\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"List\",\"Nat\",\"Reasoning.Screening.DoseCandidates\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Except.error\",\"Except.ok\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Reasoning.Screening.Screen.Node\",\"Reasoning.Screening.Screen.Search\",\"Reasoning.Screening.Screen.Step\",\"Reasoning.Screening.Screen.failure\",\"Reasoning.Screening.Screen.run\",\"Reasoning.Screening.Screen.Node.trace\",\"Reasoning.Screening.Screen.Search.found\",\"Reasoning.Screening.Screen.Search.truncated\",\"Reasoning.Screening.Screen.searchStep.match_3\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]}]}},\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.run\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.31\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.44\",\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Node\",\"index\":1,\"value\":\"_uniq.38\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.59\",\"parameters\":[{\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.32\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.32\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Search\",\"index\":2,\"value\":\"_uniq.51\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.failure\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.58\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.59\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.32\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Search\",\"index\":1,\"value\":\"_uniq.68\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]}]},\"discriminant\":\"_uniq.69\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.60\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.71\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.73\"}}}]}}}}}}}}}},\"uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"Except.error\",\"Except.ok\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Unit.unit\",\"Reasoning.Screening.Screen.Node\",\"Reasoning.Screening.Screen.Search\",\"Reasoning.Screening.Screen.Step\",\"Reasoning.Screening.Screen.failure\",\"Reasoning.Screening.Screen.run\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.safeCheck\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instAddNat\",\"instHAdd\",\"HAdd.hAdd\",\"Nat.ble\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.15\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}}}}}}},\"uses\":[\"Add\",\"Bool\",\"HAdd\",\"Nat\",\"instAddNat\",\"instHAdd\",\"Nat.ble\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.shortCheck\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"instOfNatNat\",\"Nat.ble\",\"OfNat.ofNat\",\"Reasoning.Screening.LexLeanRuntime.instLengthableList\",\"Reasoning.Screening.LexLeanRuntime.length\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.16\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.18\"}}}}}}}},\"uses\":[\"Bool\",\"List\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"Nat.ble\",\"Reasoning.Screening.LexLeanRuntime.Lengthable\",\"Reasoning.Screening.LexLeanRuntime.instLengthableList\",\"Reasoning.Screening.LexLeanRuntime.length\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Burn.apply\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Budget.Burn.conclusion\",\"Reasoning.Budget.Burn.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}}},\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Burn.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.32\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.34\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Burn.conclusion\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.37\"}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Nat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Budget.Burn.conclusion\",\"Reasoning.Budget.Burn.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Burn.candidates\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instOfNatNat\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.17\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.21\"}}}}}}}}}}},\"uses\":[\"List\",\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"List.cons\",\"List.nil\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Burn.conclusion\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instSubNat\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Reasoning.Budget.LexLeanRuntime.subtract\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.17\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.17\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.23\"}}}}}}},\"uses\":[\"Nat\",\"Prod\",\"Sub\",\"instSubNat\",\"Prod.mk\",\"Reasoning.Budget.LexLeanRuntime.subtract\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Burn.guard\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instOfNatNat\",\"Bool.and\",\"Nat.ble\",\"Nat.blt\",\"OfNat.ofNat\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}}},\"parameters\":[{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.44\",\"parameters\":[{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.52\",\"parameters\":[{\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.49\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.51\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.52\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.35\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.59\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.61\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.53\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.63\"}}}}]}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"PUnit\",\"Prod\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.ble\",\"Nat.blt\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.LexLeanCollections.iterateUntil\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Nat\",\"Option\",\"Prod\",\"Nat.brecOn\",\"Reasoning.Budget.LexLeanCollections.iterateUntil._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}}}},\"parameters\":[{\"id\":\"_uniq.65\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.68\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]}},\"borrow\":false},{\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.79\",\"parameters\":[{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.78\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.79\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.121\",\"parameters\":[{\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.101\",\"parameters\":[{\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},{\"kind\":\"fvar\",\"id\":\"_uniq.99\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.100\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.101\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.106\",\"parameters\":[{\"id\":\"_uniq.104\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.LexLeanCollections.iterateUntil\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.68\"},{\"kind\":\"fvar\",\"id\":\"_uniq.91\"},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.105\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.106\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.68\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"discriminant\":\"_uniq.115\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.102\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.116\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.117\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.118\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.107\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.118\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.119\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.121\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Nat\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"discriminant\":\"_uniq.69\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Nat.zero\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.80\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.128\"}}},{\"kind\":\"constructor\",\"constructor\":\"Nat.succ\",\"parameters\":[{\"id\":\"_uniq.129\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.122\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.129\"},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.130\"}}}]}}}}}},\"uses\":[\"Bool\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"Bool.false\",\"Bool.true\",\"Nat.succ\",\"Nat.zero\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Unit.unit\",\"Reasoning.Budget.LexLeanCollections.iterateUntil\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.LexLeanCollections.listFold\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.foldl\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}}},\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}}},\"borrow\":false},{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"borrow\":false},{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"value\":{\"kind\":\"const\",\"name\":\"List.foldl\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.64\"}}},\"uses\":[\"List\",\"List.foldl\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.LexLeanRuntime.subtract\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Sub\",\"instHSub\",\"HSub.hSub\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HSub\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instHSub\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HSub\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.41\"}}}}},\"uses\":[\"HSub\",\"Sub\",\"instHSub\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.Step\",\"kind\":\"inductive\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Budget.Spend.Step.Tick\",\"parameters\":1,\"fields\":0,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]}}},{\"name\":\"Reasoning.Budget.Spend.Step.Burn\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"Reasoning.Budget.Spend.accept\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Budget.emptyCheck\",\"Reasoning.Budget.Spend.extract\",\"Reasoning.Budget.Spend.accept.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}}},\"parameters\":[{\"id\":\"_uniq.39\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.49\",\"parameters\":[{\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.48\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.49\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.71\",\"parameters\":[{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.emptyCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.65\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.67\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.68\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.69\"}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.71\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.extract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.80\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.50\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.82\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.83\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.72\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.83\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.84\"}}}]}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Budget.emptyCheck\",\"Reasoning.Budget.Spend.extract\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.conclude\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Reasoning.Budget.Spend.accept\",\"Reasoning.Budget.Spend.extract\",\"Reasoning.Budget.Spend.conclude.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}}},\"parameters\":[{\"id\":\"_uniq.50\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.60\",\"parameters\":[{\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.59\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.60\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.100\",\"parameters\":[{\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.77\",\"parameters\":[{\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.76\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.77\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.85\",\"parameters\":[{\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"},{\"kind\":\"fvar\",\"id\":\"_uniq.82\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.83\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.84\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.85\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.extract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.94\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.96\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.86\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.95\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.96\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.78\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.98\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.100\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.accept\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.109\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.111\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.101\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.110\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.111\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.61\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.112\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.113\"}}}]}}}}}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Unit.unit\",\"Reasoning.Budget.Spend.accept\",\"Reasoning.Budget.Spend.extract\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.extract\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"Option.some\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.12\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.14\"}}}},\"uses\":[\"Nat\",\"Option\",\"Prod\",\"Option.some\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.fire\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Reasoning.Budget.Burn.apply\",\"Reasoning.Budget.Spend.Step\",\"Reasoning.Budget.Tick.apply\",\"Reasoning.Budget.Spend.fire.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}}},\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.46\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Tick.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.45\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.46\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.53\",\"parameters\":[{\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Burn.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.52\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.53\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Reasoning.Budget.Spend.Step\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.38\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Budget.Spend.Step.Tick\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.47\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.63\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Budget.Spend.Step.Burn\",\"parameters\":[{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.54\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.65\"}}}]}}}}}},\"uses\":[\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"Unit.unit\",\"Reasoning.Budget.Burn.apply\",\"Reasoning.Budget.Spend.Step\",\"Reasoning.Budget.Tick.apply\",\"Reasoning.Budget.Spend.Step.Burn\",\"Reasoning.Budget.Spend.Step.Tick\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.next\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Option.none\",\"Reasoning.Budget.Spend.Step\",\"Reasoning.Budget.Spend.fire\",\"Reasoning.Budget.Spend.select\",\"Reasoning.Budget.Spend.next.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.39\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.38\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.46\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.fire\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.45\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.46\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.select\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.55\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.47\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.59\"}}}]}}}}}}},\"uses\":[\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Budget.Spend.Step\",\"Reasoning.Budget.Spend.fire\",\"Reasoning.Budget.Spend.select\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.observe\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"OfNat.ofNat\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.12\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.15\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.12\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.19\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.16\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}}}}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Nat\",\"OfNat\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.saturate\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"OfNat.ofNat\",\"Prod.snd\",\"Reasoning.Budget.LexLeanCollections.iterateUntil\",\"Reasoning.Budget.Spend.next\",\"Reasoning.Budget.Spend.observe\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.next\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.15\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.12\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.35\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.32\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.observe\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.LexLeanCollections.iterateUntil\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.39\"}}}}}}}}}}}}},\"uses\":[\"Add\",\"Bool\",\"HAdd\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Reasoning.Budget.LexLeanCollections.iterateUntil\",\"Reasoning.Budget.Spend.next\",\"Reasoning.Budget.Spend.observe\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.select\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Budget.Burn.candidates\",\"Reasoning.Budget.Burn.guard\",\"Reasoning.Budget.LexLeanCollections.listFold\",\"Reasoning.Budget.Spend.Step\",\"Reasoning.Budget.Tick.guard\",\"Reasoning.Budget.Spend.Step.Burn\",\"Reasoning.Budget.Spend.Step.Tick\",\"Reasoning.Budget.Spend.select.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}]}}},\"parameters\":[{\"id\":\"_uniq.49\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.58\",\"parameters\":[{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.58\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.115\",\"parameters\":[{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.111\",\"parameters\":[{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"borrow\":false},{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.58\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.97\",\"parameters\":[{\"id\":\"_uniq.77\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Burn.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.86\"},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"discriminant\":\"_uniq.88\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.89\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.90\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.91\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step.Burn\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.94\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.95\"}}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.97\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"discriminant\":\"_uniq.70\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.98\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.106\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.107\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.108\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.75\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.108\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.109\"}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Burn.candidates\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.111\"},{\"kind\":\"fvar\",\"id\":\"_uniq.112\"},{\"kind\":\"fvar\",\"id\":\"_uniq.113\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.114\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.115\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.132\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Tick.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.132\"},{\"kind\":\"fvar\",\"id\":\"_uniq.133\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.147\",\"parameters\":[{\"id\":\"_uniq.141\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"discriminant\":\"_uniq.141\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.143\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.116\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.142\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.143\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.144\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.59\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.144\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.145\"}}}]}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"discriminant\":\"_uniq.134\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.135\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.147\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.136\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.137\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.139\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step.Tick\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.140\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.139\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.147\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.140\"}]}}}}]}}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"List\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Budget.Burn.candidates\",\"Reasoning.Budget.Burn.guard\",\"Reasoning.Budget.LexLeanCollections.listFold\",\"Reasoning.Budget.Spend.Step\",\"Reasoning.Budget.Tick.guard\",\"Reasoning.Budget.Spend.Step.Burn\",\"Reasoning.Budget.Spend.Step.Tick\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.verdict\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"Unit\",\"Bool.false\",\"Except.error\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Reasoning.Budget.Spend.conclude\",\"Reasoning.Budget.Spend.saturate\",\"Reasoning.Budget.Spend.account.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.saturate\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.36\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.44\",\"parameters\":[{\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.37\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.conclude\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.51\",\"parameters\":[{\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.51\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.37\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.57\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.52\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.59\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.61\"}}}}]}}}}}}}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"PUnit\",\"Prod\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Prod.mk\",\"Unit.unit\",\"Reasoning.Budget.Spend.conclude\",\"Reasoning.Budget.Spend.saturate\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Tick.apply\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Budget.Tick.conclusion\",\"Reasoning.Budget.Tick.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.14\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Tick.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.26\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.28\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Tick.conclusion\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Nat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Budget.Tick.conclusion\",\"Reasoning.Budget.Tick.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Tick.conclusion\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instOfNatNat\",\"instSubNat\",\"OfNat.ofNat\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Reasoning.Budget.LexLeanRuntime.subtract\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.12\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.12\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.17\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.20\"}}}}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"Prod\",\"Sub\",\"instOfNatNat\",\"instSubNat\",\"Prod.mk\",\"Reasoning.Budget.LexLeanRuntime.subtract\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Tick.guard\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instOfNatNat\",\"Nat.blt\",\"OfNat.ofNat\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.12\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"Nat.blt\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Chart.fever\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Chart\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Chart.leukocytosis\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Chart\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Chart.level\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Chart\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Chart.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Chart.sepsis\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Chart\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Chart.shock\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Chart\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Chart.sirs\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Chart\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Chart.tachycardia\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Chart\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Chart.tachypnea\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Chart\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Chart.vitals\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Chart\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Escalate.apply\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Option\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Escalate.conclusion\",\"Reasoning.Clinic.Escalate.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Escalate.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"discriminant\":\"_uniq.20\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Escalate.conclusion\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.25\"}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Option\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Escalate.conclusion\",\"Reasoning.Clinic.Escalate.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Escalate.conclusion\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Chart.fever\",\"Reasoning.Clinic.Chart.leukocytosis\",\"Reasoning.Clinic.Chart.level\",\"Reasoning.Clinic.Chart.mk\",\"Reasoning.Clinic.Chart.sepsis\",\"Reasoning.Clinic.Chart.shock\",\"Reasoning.Clinic.Chart.sirs\",\"Reasoning.Clinic.Chart.tachycardia\",\"Reasoning.Clinic.Chart.tachypnea\",\"Reasoning.Clinic.Chart.vitals\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":0,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":1,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":2,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":3,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":4,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":5,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":6,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":7,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.15\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":8,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.19\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.16\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}}}}}}}}}}}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Nat\",\"OfNat\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Chart.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Escalate.guard\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Bool.and\",\"Bool.or\",\"Nat.beq\",\"Nat.blt\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Chart.level\",\"Reasoning.Clinic.Chart.sepsis\",\"Reasoning.Clinic.Chart.shock\",\"Reasoning.Clinic.Chart.sirs\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.74\",\"parameters\":[{\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.73\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.219\",\"parameters\":[{\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.86\",\"parameters\":[{\"id\":\"_uniq.84\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.85\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.85\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.86\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.174\",\"parameters\":[{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.96\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.86\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.129\",\"parameters\":[{\"id\":\"_uniq.101\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.113\",\"parameters\":[{\"id\":\"_uniq.107\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":7,\"value\":\"_uniq.66\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.109\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.111\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.110\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.108\"},{\"kind\":\"fvar\",\"id\":\"_uniq.111\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.112\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.113\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":8,\"value\":\"_uniq.66\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.120\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.121\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.119\"},{\"kind\":\"fvar\",\"id\":\"_uniq.122\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.123\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.124\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.105\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.124\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.125\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.127\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.114\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.126\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.127\"}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.129\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.146\",\"parameters\":[{\"id\":\"_uniq.140\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.141\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":6,\"value\":\"_uniq.66\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.143\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.142\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.144\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.143\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.141\"},{\"kind\":\"fvar\",\"id\":\"_uniq.144\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.145\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.147\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.146\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.152\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":8,\"value\":\"_uniq.66\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.153\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.154\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.153\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.155\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.154\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.156\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.152\"},{\"kind\":\"fvar\",\"id\":\"_uniq.155\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.167\",\"parameters\":[{\"id\":\"_uniq.161\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.161\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.162\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.163\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.130\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.162\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.163\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.164\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.165\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.96\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.164\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.165\"}}}}]}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.173\",\"parameters\":[{\"id\":\"_uniq.171\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.172\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.147\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.171\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.167\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.172\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.170\",\"parameters\":[{\"id\":\"_uniq.168\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.169\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.138\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.168\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.167\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.169\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.156\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.157\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.170\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.157\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.159\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.173\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.159\"}]}}}]}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.175\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.174\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.183\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.191\",\"parameters\":[{\"id\":\"_uniq.185\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.186\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":5,\"value\":\"_uniq.66\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.187\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.188\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.187\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.189\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.188\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.190\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.186\"},{\"kind\":\"fvar\",\"id\":\"_uniq.189\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.190\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.192\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.191\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.197\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":8,\"value\":\"_uniq.66\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.198\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.199\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.198\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.200\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.199\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.201\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.197\"},{\"kind\":\"fvar\",\"id\":\"_uniq.200\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.212\",\"parameters\":[{\"id\":\"_uniq.206\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.206\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.207\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.208\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.175\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.207\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.208\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.209\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.210\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.87\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.209\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.210\"}}}}]}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.215\",\"parameters\":[{\"id\":\"_uniq.213\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.214\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.183\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.213\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.212\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.214\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.218\",\"parameters\":[{\"id\":\"_uniq.216\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.217\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.192\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.216\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.212\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.217\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.201\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.202\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.215\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.202\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.204\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.218\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.204\"}]}}}]}}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.220\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.219\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.225\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":8,\"value\":\"_uniq.66\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.226\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.227\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.226\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.228\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.227\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.229\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.225\"},{\"kind\":\"fvar\",\"id\":\"_uniq.228\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.229\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.230\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.231\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.75\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.230\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.231\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.232\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.233\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.220\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.232\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.233\"}}}}]}}}}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"PUnit\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.beq\",\"Nat.blt\",\"Unit.unit\",\"Reasoning.Clinic.Chart\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Fever.apply\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Option\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Fever.conclusion\",\"Reasoning.Clinic.Fever.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Fever.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"discriminant\":\"_uniq.20\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Fever.conclusion\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.25\"}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Option\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Fever.conclusion\",\"Reasoning.Clinic.Fever.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Fever.conclusion\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Chart.leukocytosis\",\"Reasoning.Clinic.Chart.level\",\"Reasoning.Clinic.Chart.mk\",\"Reasoning.Clinic.Chart.sepsis\",\"Reasoning.Clinic.Chart.shock\",\"Reasoning.Clinic.Chart.sirs\",\"Reasoning.Clinic.Chart.tachycardia\",\"Reasoning.Clinic.Chart.tachypnea\",\"Reasoning.Clinic.Chart.vitals\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":0,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":2,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":3,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":4,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":5,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":6,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":7,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":8,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}}}}}}}}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"instOfNatNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Chart.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Fever.guard\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Bool.and\",\"Nat.beq\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.feverish\",\"Reasoning.Clinic.Chart.fever\",\"Reasoning.Clinic.Chart.vitals\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.30\",\"parameters\":[{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.29\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.30\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.36\",\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":0,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.feverish\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.35\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.36\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":1,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.44\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.46\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.31\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.48\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.37\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}}]}}}}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"PUnit\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.beq\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.feverish\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Leukocytosis.apply\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Option\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Leukocytosis.conclusion\",\"Reasoning.Clinic.Leukocytosis.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Leukocytosis.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"discriminant\":\"_uniq.20\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Leukocytosis.conclusion\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.25\"}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Option\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Leukocytosis.conclusion\",\"Reasoning.Clinic.Leukocytosis.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Leukocytosis.conclusion\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Chart.fever\",\"Reasoning.Clinic.Chart.level\",\"Reasoning.Clinic.Chart.mk\",\"Reasoning.Clinic.Chart.sepsis\",\"Reasoning.Clinic.Chart.shock\",\"Reasoning.Clinic.Chart.sirs\",\"Reasoning.Clinic.Chart.tachycardia\",\"Reasoning.Clinic.Chart.tachypnea\",\"Reasoning.Clinic.Chart.vitals\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":0,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":1,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":2,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":3,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.11\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":5,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":6,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":7,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":8,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}}}}}}}}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"instOfNatNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Chart.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Leukocytosis.guard\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Bool.and\",\"Nat.beq\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.leukocytic\",\"Reasoning.Clinic.Chart.leukocytosis\",\"Reasoning.Clinic.Chart.vitals\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.30\",\"parameters\":[{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.29\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.30\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.36\",\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":0,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.leukocytic\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.35\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.36\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":4,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.44\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.46\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.31\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.48\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.37\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}}]}}}}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"PUnit\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.beq\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.leukocytic\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.LexLeanCollections.iterateUntil\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Nat\",\"Option\",\"Prod\",\"Nat.brecOn\",\"Reasoning.Clinic.LexLeanCollections.iterateUntil._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}}}},\"parameters\":[{\"id\":\"_uniq.65\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.68\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]}},\"borrow\":false},{\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.79\",\"parameters\":[{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.78\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.79\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.121\",\"parameters\":[{\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.101\",\"parameters\":[{\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},{\"kind\":\"fvar\",\"id\":\"_uniq.99\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.100\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.101\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.106\",\"parameters\":[{\"id\":\"_uniq.104\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.LexLeanCollections.iterateUntil\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.68\"},{\"kind\":\"fvar\",\"id\":\"_uniq.91\"},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.105\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.106\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.68\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"discriminant\":\"_uniq.115\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.102\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.116\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.117\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.118\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.107\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.118\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.119\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.121\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Nat\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"discriminant\":\"_uniq.69\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Nat.zero\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.80\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.128\"}}},{\"kind\":\"constructor\",\"constructor\":\"Nat.succ\",\"parameters\":[{\"id\":\"_uniq.129\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.122\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.129\"},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.130\"}}}]}}}}}},\"uses\":[\"Bool\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"Bool.false\",\"Bool.true\",\"Nat.succ\",\"Nat.zero\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Unit.unit\",\"Reasoning.Clinic.LexLeanCollections.iterateUntil\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.LexLeanRuntime.Appendable\",\"kind\":\"inductive\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Clinic.LexLeanRuntime.Appendable.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"Reasoning.Clinic.LexLeanRuntime.append\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.LexLeanRuntime.Appendable\",\"Reasoning.Clinic.LexLeanRuntime.Appendable.append\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"borrow\":false},{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.LexLeanRuntime.Appendable\",\"index\":0,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.40\"}}}},\"uses\":[\"Reasoning.Clinic.LexLeanRuntime.Appendable\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.LexLeanRuntime.instAppendableList\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.append\",\"Reasoning.Clinic.LexLeanRuntime.Appendable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]}]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"List.appendTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.LexLeanRuntime.Appendable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}}},\"uses\":[\"List\",\"List.appendTR\",\"Reasoning.Clinic.LexLeanRuntime.Appendable\",\"Reasoning.Clinic.LexLeanRuntime.Appendable.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Sepsis.apply\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Option\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Sepsis.conclusion\",\"Reasoning.Clinic.Sepsis.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Sepsis.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"discriminant\":\"_uniq.20\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Sepsis.conclusion\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.25\"}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Option\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Sepsis.conclusion\",\"Reasoning.Clinic.Sepsis.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Sepsis.conclusion\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Chart.fever\",\"Reasoning.Clinic.Chart.leukocytosis\",\"Reasoning.Clinic.Chart.level\",\"Reasoning.Clinic.Chart.mk\",\"Reasoning.Clinic.Chart.shock\",\"Reasoning.Clinic.Chart.sirs\",\"Reasoning.Clinic.Chart.tachycardia\",\"Reasoning.Clinic.Chart.tachypnea\",\"Reasoning.Clinic.Chart.vitals\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":0,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":1,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":2,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":3,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":4,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":5,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.13\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":7,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":8,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}}}}}}}}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"instOfNatNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Chart.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Sepsis.guard\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Bool.and\",\"Nat.beq\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Chart.sepsis\",\"Reasoning.Clinic.Chart.sirs\",\"Reasoning.Clinic.Chart.vitals\",\"Reasoning.Clinic.Vitals.infection\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.38\",\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.37\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.38\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.73\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.38\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.57\",\"parameters\":[{\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":0,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Vitals\",\"index\":5,\"value\":\"_uniq.51\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.54\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.52\"},{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.56\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.57\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":5,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.65\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.67\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.48\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.68\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.69\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.58\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.71\"}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.73\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":6,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.81\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.79\"},{\"kind\":\"fvar\",\"id\":\"_uniq.82\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.83\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.85\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.84\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.85\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.86\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.87\"}}}}]}}}}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"PUnit\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.beq\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Shock.apply\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Option\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Shock.conclusion\",\"Reasoning.Clinic.Shock.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Shock.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"discriminant\":\"_uniq.20\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Shock.conclusion\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.25\"}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Option\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Shock.conclusion\",\"Reasoning.Clinic.Shock.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Shock.conclusion\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Chart.fever\",\"Reasoning.Clinic.Chart.leukocytosis\",\"Reasoning.Clinic.Chart.level\",\"Reasoning.Clinic.Chart.mk\",\"Reasoning.Clinic.Chart.sepsis\",\"Reasoning.Clinic.Chart.sirs\",\"Reasoning.Clinic.Chart.tachycardia\",\"Reasoning.Clinic.Chart.tachypnea\",\"Reasoning.Clinic.Chart.vitals\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":0,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":1,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":2,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":3,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":4,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":5,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":6,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":8,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}}}}}}}}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"instOfNatNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Chart.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Shock.guard\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Bool.and\",\"Nat.beq\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.hypotensive\",\"Reasoning.Clinic.Chart.sepsis\",\"Reasoning.Clinic.Chart.shock\",\"Reasoning.Clinic.Chart.vitals\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.38\",\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.37\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.38\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.69\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.38\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.53\",\"parameters\":[{\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":0,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.hypotensive\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.52\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.53\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":6,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.61\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.63\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.48\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.65\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.54\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.67\"}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.69\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":7,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.77\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.79\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.81\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.70\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.82\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.83\"}}}}]}}}}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"PUnit\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.beq\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.hypotensive\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Sirs.apply\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Option\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Sirs.conclusion\",\"Reasoning.Clinic.Sirs.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Sirs.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"discriminant\":\"_uniq.20\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Sirs.conclusion\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.25\"}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Option\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Sirs.conclusion\",\"Reasoning.Clinic.Sirs.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Sirs.conclusion\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Chart.fever\",\"Reasoning.Clinic.Chart.leukocytosis\",\"Reasoning.Clinic.Chart.level\",\"Reasoning.Clinic.Chart.mk\",\"Reasoning.Clinic.Chart.sepsis\",\"Reasoning.Clinic.Chart.shock\",\"Reasoning.Clinic.Chart.tachycardia\",\"Reasoning.Clinic.Chart.tachypnea\",\"Reasoning.Clinic.Chart.vitals\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":0,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":1,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":2,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":3,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":4,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.12\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":6,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":7,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":8,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}}}}}}}}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"instOfNatNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Chart.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Sirs.guard\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Bool.and\",\"HAdd.hAdd\",\"Nat.beq\",\"Nat.ble\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Chart.fever\",\"Reasoning.Clinic.Chart.leukocytosis\",\"Reasoning.Clinic.Chart.sirs\",\"Reasoning.Clinic.Chart.tachycardia\",\"Reasoning.Clinic.Chart.tachypnea\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.30\",\"parameters\":[{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.29\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.30\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.48\",\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.35\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.38\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":1,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":2,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":3,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":4,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.44\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.47\"}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.48\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":5,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.56\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.58\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.31\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.60\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.49\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.62\"}}}}]}}}}}}}}}}},\"uses\":[\"Add\",\"Bool\",\"HAdd\",\"Nat\",\"OfNat\",\"PUnit\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.beq\",\"Nat.ble\",\"Unit.unit\",\"Reasoning.Clinic.Chart\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Tachycardia.apply\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Option\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Tachycardia.conclusion\",\"Reasoning.Clinic.Tachycardia.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Tachycardia.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"discriminant\":\"_uniq.20\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Tachycardia.conclusion\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.25\"}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Option\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Tachycardia.conclusion\",\"Reasoning.Clinic.Tachycardia.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Tachycardia.conclusion\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Chart.fever\",\"Reasoning.Clinic.Chart.leukocytosis\",\"Reasoning.Clinic.Chart.level\",\"Reasoning.Clinic.Chart.mk\",\"Reasoning.Clinic.Chart.sepsis\",\"Reasoning.Clinic.Chart.shock\",\"Reasoning.Clinic.Chart.sirs\",\"Reasoning.Clinic.Chart.tachypnea\",\"Reasoning.Clinic.Chart.vitals\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":0,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":1,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":3,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":4,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":5,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":6,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":7,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":8,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}}}}}}}}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"instOfNatNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Chart.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Tachycardia.guard\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Bool.and\",\"Nat.beq\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.tachycardic\",\"Reasoning.Clinic.Chart.tachycardia\",\"Reasoning.Clinic.Chart.vitals\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.30\",\"parameters\":[{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.29\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.30\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.36\",\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":0,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.tachycardic\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.35\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.36\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":2,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.44\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.46\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.31\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.48\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.37\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}}]}}}}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"PUnit\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.beq\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.tachycardic\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Tachypnea.apply\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Option\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Tachypnea.conclusion\",\"Reasoning.Clinic.Tachypnea.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Tachypnea.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"discriminant\":\"_uniq.20\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Tachypnea.conclusion\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.25\"}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Option\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Tachypnea.conclusion\",\"Reasoning.Clinic.Tachypnea.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Tachypnea.conclusion\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Chart.fever\",\"Reasoning.Clinic.Chart.leukocytosis\",\"Reasoning.Clinic.Chart.level\",\"Reasoning.Clinic.Chart.mk\",\"Reasoning.Clinic.Chart.sepsis\",\"Reasoning.Clinic.Chart.shock\",\"Reasoning.Clinic.Chart.sirs\",\"Reasoning.Clinic.Chart.tachycardia\",\"Reasoning.Clinic.Chart.vitals\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":0,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":1,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":2,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.10\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":4,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":5,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":6,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":7,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":8,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}}}}}}}}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"instOfNatNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Chart.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Tachypnea.guard\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Bool.and\",\"Nat.beq\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.tachypneic\",\"Reasoning.Clinic.Chart.tachypnea\",\"Reasoning.Clinic.Chart.vitals\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.30\",\"parameters\":[{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.29\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.30\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.36\",\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":0,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.tachypneic\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.35\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.36\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":3,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.44\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.46\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.31\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.48\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.37\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}}]}}}}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"PUnit\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.beq\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.tachypneic\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Ledger\",\"kind\":\"inductive\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Clinic.Triage.Ledger.mk\",\"parameters\":0,\"fields\":6,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Ledger\",\"levels\":[]}}}}}}}}]}},{\"name\":\"Reasoning.Clinic.Triage.Run\",\"kind\":\"inductive\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Clinic.Triage.Run.mk\",\"parameters\":0,\"fields\":3,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Ledger\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}}}}}]}},{\"name\":\"Reasoning.Clinic.Triage.Step\",\"kind\":\"inductive\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Clinic.Triage.Step.Fever\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Clinic.Triage.Step.Tachycardia\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Clinic.Triage.Step.Tachypnea\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Clinic.Triage.Step.Leukocytosis\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Clinic.Triage.Step.Sirs\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Clinic.Triage.Step.Sepsis\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Clinic.Triage.Step.Shock\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Clinic.Triage.Step.Escalate\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}}]}},{\"name\":\"Reasoning.Clinic.Triage.accept\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"Unit\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.recommendationCheck\",\"Reasoning.Clinic.Triage.extract\",\"Reasoning.Clinic.Triage.accept.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.41\",\"parameters\":[{\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.40\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.41\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.63\",\"parameters\":[{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.recommendationCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.57\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.58\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.59\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.61\"}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.63\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.extract\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.72\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.42\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.64\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.76\"}}}]}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Nat\",\"Option\",\"PUnit\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.recommendationCheck\",\"Reasoning.Clinic.Triage.extract\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.attempts\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Prod\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instOfNatNat\",\"ite\",\"Bool.true\",\"HAdd.hAdd\",\"OfNat.ofNat\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Escalate.guard\",\"Reasoning.Clinic.Fever.guard\",\"Reasoning.Clinic.Leukocytosis.guard\",\"Reasoning.Clinic.Sepsis.guard\",\"Reasoning.Clinic.Shock.guard\",\"Reasoning.Clinic.Sirs.guard\",\"Reasoning.Clinic.Tachycardia.guard\",\"Reasoning.Clinic.Tachypnea.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Fever.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.48\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.50\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.51\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.245\",\"parameters\":[{\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.77\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.78\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.244\",\"parameters\":[{\"id\":\"_uniq.131\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.132\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.131\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.141\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.132\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.141\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.243\",\"parameters\":[{\"id\":\"_uniq.241\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.242\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.241\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.242\"}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.142\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.143\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.147\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Sirs.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.148\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.147\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.149\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.148\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.158\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.149\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.159\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.158\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.239\",\"parameters\":[{\"id\":\"_uniq.174\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.175\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.174\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.184\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.175\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.185\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.184\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.238\",\"parameters\":[{\"id\":\"_uniq.228\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.229\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.228\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.230\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.229\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.231\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.232\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.231\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.233\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.232\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.234\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.132\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.235\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.229\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.236\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.233\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.234\"},{\"kind\":\"fvar\",\"id\":\"_uniq.235\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.237\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.230\"},{\"kind\":\"fvar\",\"id\":\"_uniq.236\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.243\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.237\"}]}}}}}}}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.185\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.186\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.189\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Shock.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.190\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.189\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.191\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.190\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.200\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.191\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.201\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.200\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.226\",\"parameters\":[{\"id\":\"_uniq.216\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.217\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.216\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.218\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.217\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.219\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.220\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.219\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.221\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.220\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.222\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.175\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.223\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.217\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.224\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.221\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.222\"},{\"kind\":\"fvar\",\"id\":\"_uniq.223\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.225\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.218\"},{\"kind\":\"fvar\",\"id\":\"_uniq.224\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.238\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.225\"}]}}}}}}}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.201\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.202\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.204\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Escalate.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.205\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.204\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.206\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.205\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.207\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.206\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.208\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.209\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.208\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.210\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.209\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.211\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.191\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.212\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.206\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.213\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.210\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.211\"},{\"kind\":\"fvar\",\"id\":\"_uniq.212\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.214\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.207\"},{\"kind\":\"fvar\",\"id\":\"_uniq.213\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.226\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.214\"}]}}}}}}}}}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.215\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.226\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.191\"}]}}]}}}}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.227\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.238\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.175\"}]}}]}}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.159\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.160\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.162\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Sepsis.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.163\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.162\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.164\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.163\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.165\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.164\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.166\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.167\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.166\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.168\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.167\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.169\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.149\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.170\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.164\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.171\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.168\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.169\"},{\"kind\":\"fvar\",\"id\":\"_uniq.170\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.172\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.165\"},{\"kind\":\"fvar\",\"id\":\"_uniq.171\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.239\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.172\"}]}}}}}}}}}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.173\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.239\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.149\"}]}}]}}}}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.240\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.243\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.132\"}]}}]}}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.88\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.89\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Tachypnea.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.93\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.94\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.129\",\"parameters\":[{\"id\":\"_uniq.119\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.119\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.120\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.122\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.124\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.123\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.78\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.120\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.127\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.125\"},{\"kind\":\"fvar\",\"id\":\"_uniq.126\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.121\"},{\"kind\":\"fvar\",\"id\":\"_uniq.127\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.244\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.128\"}]}}}}}}}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.104\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.105\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Leukocytosis.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.107\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.108\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.109\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.111\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.111\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.112\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.94\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.109\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.113\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"},{\"kind\":\"fvar\",\"id\":\"_uniq.115\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.110\"},{\"kind\":\"fvar\",\"id\":\"_uniq.116\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.129\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.117\"}]}}}}}}}}}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.118\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.129\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.94\"}]}}]}}}}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.130\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.244\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]}}]}}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.62\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Tachycardia.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.66\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.67\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.69\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.70\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.51\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.67\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.71\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.72\"},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.68\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.245\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]}}}}}}}}}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.245\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]}}]}}}}}}}}}}}},\"uses\":[\"Add\",\"Bool\",\"Decidable\",\"HAdd\",\"Nat\",\"OfNat\",\"Prod\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instOfNatNat\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Prod.mk\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Escalate.guard\",\"Reasoning.Clinic.Fever.guard\",\"Reasoning.Clinic.Leukocytosis.guard\",\"Reasoning.Clinic.Sepsis.guard\",\"Reasoning.Clinic.Shock.guard\",\"Reasoning.Clinic.Sirs.guard\",\"Reasoning.Clinic.Tachycardia.guard\",\"Reasoning.Clinic.Tachypnea.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.conclude\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Triage.accept\",\"Reasoning.Clinic.Triage.extract\",\"Reasoning.Clinic.Triage.conclude.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.52\",\"parameters\":[{\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.51\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.52\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.92\",\"parameters\":[{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.69\",\"parameters\":[{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.68\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.69\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.77\",\"parameters\":[{\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.76\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.77\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.extract\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.86\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.78\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.87\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.88\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.89\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.70\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.89\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.90\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.92\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.accept\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.43\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.101\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.93\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.102\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.103\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.104\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.53\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.104\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.105\"}}}]}}}}}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Triage.accept\",\"Reasoning.Clinic.Triage.extract\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.extract\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Chart.level\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":8,\"value\":\"_uniq.6\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}}}},\"uses\":[\"Nat\",\"Option\",\"Option.some\",\"Reasoning.Clinic.Chart\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.fire\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Escalate.apply\",\"Reasoning.Clinic.Fever.apply\",\"Reasoning.Clinic.Leukocytosis.apply\",\"Reasoning.Clinic.Sepsis.apply\",\"Reasoning.Clinic.Shock.apply\",\"Reasoning.Clinic.Sirs.apply\",\"Reasoning.Clinic.Tachycardia.apply\",\"Reasoning.Clinic.Tachypnea.apply\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Triage.fire.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.78\",\"parameters\":[{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Fever.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.77\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.78\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.83\",\"parameters\":[{\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Tachycardia.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.82\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.83\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.88\",\"parameters\":[{\"id\":\"_uniq.86\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Tachypnea.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.87\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.88\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.93\",\"parameters\":[{\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Leukocytosis.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.92\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.93\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.98\",\"parameters\":[{\"id\":\"_uniq.96\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Sirs.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.97\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.98\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.103\",\"parameters\":[{\"id\":\"_uniq.101\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Sepsis.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.102\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.103\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.108\",\"parameters\":[{\"id\":\"_uniq.106\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Shock.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.107\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.108\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.113\",\"parameters\":[{\"id\":\"_uniq.111\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Escalate.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.112\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.113\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Reasoning.Clinic.Triage.Step\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"discriminant\":\"_uniq.64\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Clinic.Triage.Step.Fever\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.79\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.125\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.126\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Clinic.Triage.Step.Tachycardia\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.127\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.84\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.127\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.128\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Clinic.Triage.Step.Tachypnea\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.129\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.89\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.129\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.130\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Clinic.Triage.Step.Leukocytosis\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.132\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.94\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.131\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.132\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Clinic.Triage.Step.Sirs\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.99\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.133\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.134\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Clinic.Triage.Step.Sepsis\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.104\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.135\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.136\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Clinic.Triage.Step.Shock\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.109\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.137\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.138\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Clinic.Triage.Step.Escalate\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.139\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.140\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.114\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.139\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.140\"}}}}]}}}}}}}}}}}}}}}}}},\"uses\":[\"Option\",\"PUnit\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Escalate.apply\",\"Reasoning.Clinic.Fever.apply\",\"Reasoning.Clinic.Leukocytosis.apply\",\"Reasoning.Clinic.Sepsis.apply\",\"Reasoning.Clinic.Shock.apply\",\"Reasoning.Clinic.Sirs.apply\",\"Reasoning.Clinic.Tachycardia.apply\",\"Reasoning.Clinic.Tachypnea.apply\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Triage.Step.Escalate\",\"Reasoning.Clinic.Triage.Step.Fever\",\"Reasoning.Clinic.Triage.Step.Leukocytosis\",\"Reasoning.Clinic.Triage.Step.Sepsis\",\"Reasoning.Clinic.Triage.Step.Shock\",\"Reasoning.Clinic.Triage.Step.Sirs\",\"Reasoning.Clinic.Triage.Step.Tachycardia\",\"Reasoning.Clinic.Triage.Step.Tachypnea\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"Except.casesOn\",\"Except.error\",\"Except.ok\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.next\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Option.none\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Triage.fire\",\"Reasoning.Clinic.Triage.select\",\"Reasoning.Clinic.Triage.next.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.32\",\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.32\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.39\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.fire\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.38\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.select\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"discriminant\":\"_uniq.48\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.33\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.52\"}}}]}}}}}}},\"uses\":[\"Option\",\"PUnit\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Triage.fire\",\"Reasoning.Clinic.Triage.select\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.observe\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Chart.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.7\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.9\"}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"instOfNatNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Chart.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.run\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.LexLeanCollections.iterateUntil\",\"Reasoning.Clinic.Triage.Run\",\"Reasoning.Clinic.Triage.start\",\"Reasoning.Clinic.Triage.step\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]}},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.step\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"11\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.start\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.LexLeanCollections.iterateUntil\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.12\"}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"instOfNatNat\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.LexLeanCollections.iterateUntil\",\"Reasoning.Clinic.Triage.Run\",\"Reasoning.Clinic.Triage.start\",\"Reasoning.Clinic.Triage.step\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.saturate\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.LexLeanCollections.iterateUntil\",\"Reasoning.Clinic.Triage.next\",\"Reasoning.Clinic.Triage.observe\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.next\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"11\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.observe\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.LexLeanCollections.iterateUntil\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.12\"}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"instOfNatNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.LexLeanCollections.iterateUntil\",\"Reasoning.Clinic.Triage.next\",\"Reasoning.Clinic.Triage.observe\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.select\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Option\",\"Unit\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Escalate.guard\",\"Reasoning.Clinic.Fever.guard\",\"Reasoning.Clinic.Leukocytosis.guard\",\"Reasoning.Clinic.Sepsis.guard\",\"Reasoning.Clinic.Shock.guard\",\"Reasoning.Clinic.Sirs.guard\",\"Reasoning.Clinic.Tachycardia.guard\",\"Reasoning.Clinic.Tachypnea.guard\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Triage.Step.Escalate\",\"Reasoning.Clinic.Triage.Step.Fever\",\"Reasoning.Clinic.Triage.Step.Leukocytosis\",\"Reasoning.Clinic.Triage.Step.Sepsis\",\"Reasoning.Clinic.Triage.Step.Shock\",\"Reasoning.Clinic.Triage.Step.Sirs\",\"Reasoning.Clinic.Triage.Step.Tachycardia\",\"Reasoning.Clinic.Triage.Step.Tachypnea\",\"Reasoning.Clinic.Triage.select.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.114\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.124\",\"parameters\":[{\"id\":\"_uniq.122\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.122\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.123\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.273\",\"parameters\":[{\"id\":\"_uniq.132\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.197\",\"parameters\":[{\"id\":\"_uniq.141\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.165\",\"parameters\":[{\"id\":\"_uniq.147\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.156\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Escalate.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.157\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.158\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.156\"},{\"kind\":\"fvar\",\"id\":\"_uniq.157\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.158\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.159\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.160\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.160\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.161\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.162\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step.Escalate\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.163\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.162\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.163\"}}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.166\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.165\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.182\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Shock.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.183\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.184\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.182\"},{\"kind\":\"fvar\",\"id\":\"_uniq.183\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.196\",\"parameters\":[{\"id\":\"_uniq.190\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.190\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.191\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.192\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.166\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.191\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.192\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.193\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.194\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.145\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.193\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.194\"}}}]}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.184\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.185\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.186\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.196\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.186\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.187\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.188\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step.Shock\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.189\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.188\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.196\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.189\"}]}}}}]}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.198\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.197\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.209\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.229\",\"parameters\":[{\"id\":\"_uniq.211\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.220\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Sepsis.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.221\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.222\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.220\"},{\"kind\":\"fvar\",\"id\":\"_uniq.221\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.222\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.223\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.224\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.224\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.225\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.226\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step.Sepsis\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.227\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.226\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.227\"}}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.230\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.229\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.246\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Sirs.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.247\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.248\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.246\"},{\"kind\":\"fvar\",\"id\":\"_uniq.247\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.272\",\"parameters\":[{\"id\":\"_uniq.254\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.265\",\"parameters\":[{\"id\":\"_uniq.259\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.259\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.260\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.261\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.198\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.260\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.261\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.262\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.263\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.136\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.262\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.263\"}}}]}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.271\",\"parameters\":[{\"id\":\"_uniq.269\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.270\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.209\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.269\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.265\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.270\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.268\",\"parameters\":[{\"id\":\"_uniq.266\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.267\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.230\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.266\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.265\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.267\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.254\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.255\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.268\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.255\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.257\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.271\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.257\"}]}}]}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.248\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.249\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.250\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.272\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.250\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.251\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.252\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step.Sirs\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.253\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.252\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.272\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.253\"}]}}}}]}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.274\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.273\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.287\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.348\",\"parameters\":[{\"id\":\"_uniq.292\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.296\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.316\",\"parameters\":[{\"id\":\"_uniq.298\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.307\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Leukocytosis.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.308\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.309\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.307\"},{\"kind\":\"fvar\",\"id\":\"_uniq.308\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.309\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.310\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.311\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.311\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.312\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.313\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step.Leukocytosis\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.314\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.313\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.314\"}}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.317\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.316\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.333\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Tachypnea.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.334\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.335\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.333\"},{\"kind\":\"fvar\",\"id\":\"_uniq.334\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.347\",\"parameters\":[{\"id\":\"_uniq.341\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.341\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.342\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.343\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.317\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.342\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.343\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.344\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.345\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.296\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.344\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.345\"}}}]}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.335\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.336\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.337\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.347\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.337\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.338\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.339\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step.Tachypnea\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.340\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.339\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.347\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.340\"}]}}}}]}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.349\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.348\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.362\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.382\",\"parameters\":[{\"id\":\"_uniq.364\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.373\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Tachycardia.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.374\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.375\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.373\"},{\"kind\":\"fvar\",\"id\":\"_uniq.374\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.375\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.376\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.377\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.377\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.378\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.379\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step.Tachycardia\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.380\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.379\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.380\"}}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.383\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.382\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.399\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Fever.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.400\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.401\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.399\"},{\"kind\":\"fvar\",\"id\":\"_uniq.400\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.437\",\"parameters\":[{\"id\":\"_uniq.407\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.430\",\"parameters\":[{\"id\":\"_uniq.412\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.423\",\"parameters\":[{\"id\":\"_uniq.417\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.417\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.418\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.419\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.274\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.418\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.419\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.420\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.421\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.125\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.420\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.421\"}}}]}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.426\",\"parameters\":[{\"id\":\"_uniq.424\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.425\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.349\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.424\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.423\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.425\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.429\",\"parameters\":[{\"id\":\"_uniq.427\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.428\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.287\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.427\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.423\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.428\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.412\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.413\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.426\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.413\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.415\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.429\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.415\"}]}}]}}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.436\",\"parameters\":[{\"id\":\"_uniq.434\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.435\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.362\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.434\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.430\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.435\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.433\",\"parameters\":[{\"id\":\"_uniq.431\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.432\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.383\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.431\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.430\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.432\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.407\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.408\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.433\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.408\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.410\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.436\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.410\"}]}}]}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.401\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.402\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.403\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.437\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.403\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.404\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.405\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step.Fever\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.406\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.405\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.437\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.406\"}]}}}}]}}}}}}}}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Option\",\"PUnit\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Escalate.guard\",\"Reasoning.Clinic.Fever.guard\",\"Reasoning.Clinic.Leukocytosis.guard\",\"Reasoning.Clinic.Sepsis.guard\",\"Reasoning.Clinic.Shock.guard\",\"Reasoning.Clinic.Sirs.guard\",\"Reasoning.Clinic.Tachycardia.guard\",\"Reasoning.Clinic.Tachypnea.guard\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Triage.Step.Escalate\",\"Reasoning.Clinic.Triage.Step.Fever\",\"Reasoning.Clinic.Triage.Step.Leukocytosis\",\"Reasoning.Clinic.Triage.Step.Sepsis\",\"Reasoning.Clinic.Triage.Step.Shock\",\"Reasoning.Clinic.Triage.Step.Sirs\",\"Reasoning.Clinic.Triage.Step.Tachycardia\",\"Reasoning.Clinic.Triage.Step.Tachypnea\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.start\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"List.nil\",\"OfNat.ofNat\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Triage.observe\",\"Reasoning.Clinic.Triage.Ledger.mk\",\"Reasoning.Clinic.Triage.Run.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.observe\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Ledger.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.18\"}}}}}}}}},\"uses\":[\"List\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"List.nil\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Triage.Ledger\",\"Reasoning.Clinic.Triage.Run\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Triage.observe\",\"Reasoning.Clinic.Triage.Ledger.mk\",\"Reasoning.Clinic.Triage.Run.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.step\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Option\",\"Unit\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.LexLeanRuntime.append\",\"Reasoning.Clinic.LexLeanRuntime.instAppendableList\",\"Reasoning.Clinic.Triage.Run\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Triage.attempts\",\"Reasoning.Clinic.Triage.fire\",\"Reasoning.Clinic.Triage.select\",\"Reasoning.Clinic.Triage.Ledger.attempts\",\"Reasoning.Clinic.Triage.Ledger.expansions\",\"Reasoning.Clinic.Triage.Ledger.firings\",\"Reasoning.Clinic.Triage.Ledger.frontier\",\"Reasoning.Clinic.Triage.Ledger.iterations\",\"Reasoning.Clinic.Triage.Ledger.mk\",\"Reasoning.Clinic.Triage.Ledger.verifications\",\"Reasoning.Clinic.Triage.Run.ledger\",\"Reasoning.Clinic.Triage.Run.mk\",\"Reasoning.Clinic.Triage.Run.state\",\"Reasoning.Clinic.Triage.Run.trace\",\"Reasoning.Clinic.Triage.next.match_1\",\"Reasoning.Clinic.Triage.replay.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.44\",\"parameters\":[{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.103\",\"parameters\":[{\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.87\",\"parameters\":[{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Triage.Run\",\"index\":1,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"},{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.67\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Triage.Run\",\"index\":2,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Triage.Ledger\",\"index\":0,\"value\":\"_uniq.69\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.72\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.68\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Triage.Ledger\",\"index\":1,\"value\":\"_uniq.69\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Triage.Run\",\"index\":0,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.attempts\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.68\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Triage.Ledger\",\"index\":2,\"value\":\"_uniq.69\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.68\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.79\"},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Triage.Ledger\",\"index\":3,\"value\":\"_uniq.69\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Triage.Ledger\",\"index\":4,\"value\":\"_uniq.69\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Triage.Ledger\",\"index\":5,\"value\":\"_uniq.69\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Ledger.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"},{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"},{\"kind\":\"fvar\",\"id\":\"_uniq.82\"},{\"kind\":\"fvar\",\"id\":\"_uniq.83\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.85\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"fvar\",\"id\":\"_uniq.84\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.85\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.86\"}}}}}}}}}}}}}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.87\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.96\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Triage.Run\",\"index\":0,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.fire\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.96\"},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]},\"discriminant\":\"_uniq.97\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.98\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.99\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.100\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.88\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.100\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.101\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.103\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Triage.Run\",\"index\":0,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.select\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.112\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]},\"discriminant\":\"_uniq.113\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.115\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.104\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.116\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.117\"}}}]}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"List\",\"Nat\",\"OfNat\",\"Option\",\"PUnit\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"List.cons\",\"List.nil\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.LexLeanRuntime.Appendable\",\"Reasoning.Clinic.LexLeanRuntime.append\",\"Reasoning.Clinic.LexLeanRuntime.instAppendableList\",\"Reasoning.Clinic.Triage.Ledger\",\"Reasoning.Clinic.Triage.Run\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Triage.attempts\",\"Reasoning.Clinic.Triage.fire\",\"Reasoning.Clinic.Triage.select\",\"Reasoning.Clinic.Triage.Ledger.mk\",\"Reasoning.Clinic.Triage.Run.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.verdict\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"Unit\",\"Bool.false\",\"Except.error\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Triage.conclude\",\"Reasoning.Clinic.Triage.saturate\",\"Reasoning.Clinic.Triage.account.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.saturate\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.29\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.37\",\"parameters\":[{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.conclude\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.36\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.37\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.50\",\"parameters\":[{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.49\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.50\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.56\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.51\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.58\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.38\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.60\"}}}}]}}}}}}}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"PUnit\",\"Prod\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Prod.mk\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Triage.conclude\",\"Reasoning.Clinic.Triage.saturate\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Vitals.heartRate\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Vitals\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Vitals.infection\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Vitals\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Vitals.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Vitals.respiratoryRate\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Vitals\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Vitals.systolic\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Vitals\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Vitals.temperature\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Vitals\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Vitals.whiteCells\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Vitals\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.Step\",\"kind\":\"inductive\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Main.Grade.Step.Fever\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Main.Grade.Step.Tachycardia\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Main.Grade.Step.Tachypnea\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Main.Grade.Step.Leukocytosis\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Main.Grade.Step.Sirs\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Main.Grade.Step.Sepsis\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Main.Grade.Step.Shock\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Main.Grade.Step.Escalate\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}}]}},{\"name\":\"Reasoning.Main.Grade.accept\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Main.Grade.extract\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.extract\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.12\"}}},\"uses\":[\"Nat\",\"Option\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Main.Grade.extract\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.conclude\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Main.Grade.accept\",\"Reasoning.Main.Grade.extract\",\"Reasoning.Main.Grade.conclude.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.52\",\"parameters\":[{\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.51\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.52\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.92\",\"parameters\":[{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.69\",\"parameters\":[{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.68\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.69\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.77\",\"parameters\":[{\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.76\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.77\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.extract\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.86\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.78\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.87\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.88\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.89\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.70\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.89\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.90\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.92\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.accept\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.43\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.101\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.93\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.102\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.103\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.104\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.53\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.104\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.105\"}}}]}}}}}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Main.Grade.accept\",\"Reasoning.Main.Grade.extract\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.extract\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Chart.level\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":8,\"value\":\"_uniq.6\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.8\"}}}},\"uses\":[\"Nat\",\"Option\",\"Option.some\",\"Reasoning.Clinic.Chart\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.fire\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Escalate.apply\",\"Reasoning.Clinic.Fever.apply\",\"Reasoning.Clinic.Leukocytosis.apply\",\"Reasoning.Clinic.Sepsis.apply\",\"Reasoning.Clinic.Shock.apply\",\"Reasoning.Clinic.Sirs.apply\",\"Reasoning.Clinic.Tachycardia.apply\",\"Reasoning.Clinic.Tachypnea.apply\",\"Reasoning.Main.Grade.Step\",\"Reasoning.Main.Grade.fire.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.78\",\"parameters\":[{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Fever.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.77\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.78\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.83\",\"parameters\":[{\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Tachycardia.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.82\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.83\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.88\",\"parameters\":[{\"id\":\"_uniq.86\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Tachypnea.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.87\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.88\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.93\",\"parameters\":[{\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Leukocytosis.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.92\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.93\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.98\",\"parameters\":[{\"id\":\"_uniq.96\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Sirs.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.97\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.98\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.103\",\"parameters\":[{\"id\":\"_uniq.101\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Sepsis.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.102\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.103\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.108\",\"parameters\":[{\"id\":\"_uniq.106\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Shock.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.107\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.108\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.113\",\"parameters\":[{\"id\":\"_uniq.111\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Escalate.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.112\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.113\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Reasoning.Main.Grade.Step\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"discriminant\":\"_uniq.64\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Main.Grade.Step.Fever\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.79\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.125\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.126\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Main.Grade.Step.Tachycardia\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.127\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.84\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.127\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.128\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Main.Grade.Step.Tachypnea\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.129\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.89\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.129\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.130\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Main.Grade.Step.Leukocytosis\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.132\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.94\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.131\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.132\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Main.Grade.Step.Sirs\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.99\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.133\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.134\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Main.Grade.Step.Sepsis\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.104\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.135\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.136\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Main.Grade.Step.Shock\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.109\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.137\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.138\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Main.Grade.Step.Escalate\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.139\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.140\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.114\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.139\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.140\"}}}}]}}}}}}}}}}}}}}}}}},\"uses\":[\"Option\",\"PUnit\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Escalate.apply\",\"Reasoning.Clinic.Fever.apply\",\"Reasoning.Clinic.Leukocytosis.apply\",\"Reasoning.Clinic.Sepsis.apply\",\"Reasoning.Clinic.Shock.apply\",\"Reasoning.Clinic.Sirs.apply\",\"Reasoning.Clinic.Tachycardia.apply\",\"Reasoning.Clinic.Tachypnea.apply\",\"Reasoning.Main.Grade.Step\",\"Reasoning.Main.Grade.Step.Escalate\",\"Reasoning.Main.Grade.Step.Fever\",\"Reasoning.Main.Grade.Step.Leukocytosis\",\"Reasoning.Main.Grade.Step.Sepsis\",\"Reasoning.Main.Grade.Step.Shock\",\"Reasoning.Main.Grade.Step.Sirs\",\"Reasoning.Main.Grade.Step.Tachycardia\",\"Reasoning.Main.Grade.Step.Tachypnea\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"Except.casesOn\",\"Except.error\",\"Except.ok\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.next\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Option.none\",\"Reasoning.Clinic.Chart\",\"Reasoning.Main.Grade.Step\",\"Reasoning.Main.Grade.fire\",\"Reasoning.Main.Grade.select\",\"Reasoning.Main.Grade.next.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.32\",\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.32\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.39\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.fire\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.38\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.select\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"discriminant\":\"_uniq.48\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.33\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.52\"}}}]}}}}}}},\"uses\":[\"Option\",\"PUnit\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Main.Grade.Step\",\"Reasoning.Main.Grade.fire\",\"Reasoning.Main.Grade.select\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.observe\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Chart.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.7\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.9\"}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"instOfNatNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Chart.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.saturate\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Main.Grade.next\",\"Reasoning.Main.Grade.observe\",\"Reasoning.Main.LexLeanCollections.iterateUntil\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.next\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"11\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.observe\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.LexLeanCollections.iterateUntil\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.12\"}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"instOfNatNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Main.Grade.next\",\"Reasoning.Main.Grade.observe\",\"Reasoning.Main.LexLeanCollections.iterateUntil\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.select\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Option\",\"Unit\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Escalate.guard\",\"Reasoning.Clinic.Fever.guard\",\"Reasoning.Clinic.Leukocytosis.guard\",\"Reasoning.Clinic.Sepsis.guard\",\"Reasoning.Clinic.Shock.guard\",\"Reasoning.Clinic.Sirs.guard\",\"Reasoning.Clinic.Tachycardia.guard\",\"Reasoning.Clinic.Tachypnea.guard\",\"Reasoning.Main.Grade.Step\",\"Reasoning.Main.Grade.Step.Escalate\",\"Reasoning.Main.Grade.Step.Fever\",\"Reasoning.Main.Grade.Step.Leukocytosis\",\"Reasoning.Main.Grade.Step.Sepsis\",\"Reasoning.Main.Grade.Step.Shock\",\"Reasoning.Main.Grade.Step.Sirs\",\"Reasoning.Main.Grade.Step.Tachycardia\",\"Reasoning.Main.Grade.Step.Tachypnea\",\"Reasoning.Main.Grade.select.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.114\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.124\",\"parameters\":[{\"id\":\"_uniq.122\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.122\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.123\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.273\",\"parameters\":[{\"id\":\"_uniq.132\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.197\",\"parameters\":[{\"id\":\"_uniq.141\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.165\",\"parameters\":[{\"id\":\"_uniq.147\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.156\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Escalate.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.157\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.158\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.156\"},{\"kind\":\"fvar\",\"id\":\"_uniq.157\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.158\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.159\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.160\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.160\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.161\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.162\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step.Escalate\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.163\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.162\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.163\"}}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.166\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.165\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.182\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Shock.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.183\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.184\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.182\"},{\"kind\":\"fvar\",\"id\":\"_uniq.183\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.196\",\"parameters\":[{\"id\":\"_uniq.190\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.190\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.191\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.192\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.166\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.191\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.192\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.193\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.194\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.145\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.193\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.194\"}}}]}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.184\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.185\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.186\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.196\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.186\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.187\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.188\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step.Shock\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.189\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.188\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.196\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.189\"}]}}}}]}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.198\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.197\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.209\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.229\",\"parameters\":[{\"id\":\"_uniq.211\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.220\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Sepsis.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.221\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.222\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.220\"},{\"kind\":\"fvar\",\"id\":\"_uniq.221\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.222\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.223\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.224\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.224\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.225\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.226\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step.Sepsis\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.227\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.226\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.227\"}}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.230\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.229\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.246\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Sirs.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.247\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.248\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.246\"},{\"kind\":\"fvar\",\"id\":\"_uniq.247\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.272\",\"parameters\":[{\"id\":\"_uniq.254\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.265\",\"parameters\":[{\"id\":\"_uniq.259\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.259\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.260\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.261\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.198\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.260\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.261\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.262\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.263\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.136\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.262\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.263\"}}}]}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.271\",\"parameters\":[{\"id\":\"_uniq.269\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.270\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.209\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.269\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.265\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.270\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.268\",\"parameters\":[{\"id\":\"_uniq.266\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.267\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.230\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.266\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.265\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.267\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.254\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.255\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.268\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.255\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.257\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.271\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.257\"}]}}]}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.248\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.249\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.250\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.272\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.250\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.251\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.252\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step.Sirs\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.253\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.252\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.272\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.253\"}]}}}}]}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.274\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.273\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.287\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.348\",\"parameters\":[{\"id\":\"_uniq.292\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.296\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.316\",\"parameters\":[{\"id\":\"_uniq.298\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.307\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Leukocytosis.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.308\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.309\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.307\"},{\"kind\":\"fvar\",\"id\":\"_uniq.308\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.309\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.310\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.311\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.311\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.312\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.313\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step.Leukocytosis\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.314\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.313\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.314\"}}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.317\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.316\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.333\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Tachypnea.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.334\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.335\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.333\"},{\"kind\":\"fvar\",\"id\":\"_uniq.334\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.347\",\"parameters\":[{\"id\":\"_uniq.341\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.341\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.342\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.343\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.317\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.342\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.343\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.344\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.345\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.296\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.344\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.345\"}}}]}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.335\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.336\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.337\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.347\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.337\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.338\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.339\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step.Tachypnea\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.340\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.339\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.347\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.340\"}]}}}}]}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.349\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.348\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.362\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.382\",\"parameters\":[{\"id\":\"_uniq.364\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.373\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Tachycardia.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.374\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.375\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.373\"},{\"kind\":\"fvar\",\"id\":\"_uniq.374\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.375\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.376\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.377\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.377\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.378\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.379\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step.Tachycardia\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.380\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.379\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.380\"}}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.383\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.382\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.399\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Fever.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.400\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.401\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.399\"},{\"kind\":\"fvar\",\"id\":\"_uniq.400\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.437\",\"parameters\":[{\"id\":\"_uniq.407\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.430\",\"parameters\":[{\"id\":\"_uniq.412\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.423\",\"parameters\":[{\"id\":\"_uniq.417\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.417\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.418\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.419\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.274\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.418\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.419\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.420\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.421\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.125\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.420\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.421\"}}}]}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.426\",\"parameters\":[{\"id\":\"_uniq.424\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.425\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.349\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.424\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.423\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.425\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.429\",\"parameters\":[{\"id\":\"_uniq.427\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.428\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.287\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.427\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.423\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.428\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.412\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.413\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.426\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.413\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.415\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.429\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.415\"}]}}]}}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.436\",\"parameters\":[{\"id\":\"_uniq.434\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.435\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.362\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.434\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.430\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.435\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.433\",\"parameters\":[{\"id\":\"_uniq.431\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.432\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.383\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.431\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.430\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.432\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.407\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.408\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.433\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.408\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.410\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.436\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.410\"}]}}]}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.401\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.402\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.403\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.437\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.403\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.404\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.405\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step.Fever\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.406\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.405\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.437\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.406\"}]}}}}]}}}}}}}}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Option\",\"PUnit\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Escalate.guard\",\"Reasoning.Clinic.Fever.guard\",\"Reasoning.Clinic.Leukocytosis.guard\",\"Reasoning.Clinic.Sepsis.guard\",\"Reasoning.Clinic.Shock.guard\",\"Reasoning.Clinic.Sirs.guard\",\"Reasoning.Clinic.Tachycardia.guard\",\"Reasoning.Clinic.Tachypnea.guard\",\"Reasoning.Main.Grade.Step\",\"Reasoning.Main.Grade.Step.Escalate\",\"Reasoning.Main.Grade.Step.Fever\",\"Reasoning.Main.Grade.Step.Leukocytosis\",\"Reasoning.Main.Grade.Step.Sepsis\",\"Reasoning.Main.Grade.Step.Shock\",\"Reasoning.Main.Grade.Step.Sirs\",\"Reasoning.Main.Grade.Step.Tachycardia\",\"Reasoning.Main.Grade.Step.Tachypnea\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.verdict\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"Unit\",\"Bool.false\",\"Except.error\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Main.Grade.conclude\",\"Reasoning.Main.Grade.saturate\",\"Reasoning.Main.Grade.account.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.saturate\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.29\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.37\",\"parameters\":[{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.conclude\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.36\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.37\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.44\",\"parameters\":[{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.50\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.52\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.38\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.54\"}}}}]}}}}}}}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"PUnit\",\"Prod\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Prod.mk\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Main.Grade.conclude\",\"Reasoning.Main.Grade.saturate\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.LexLeanCollections.iterateUntil\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Nat\",\"Option\",\"Prod\",\"Nat.brecOn\",\"Reasoning.Main.LexLeanCollections.iterateUntil._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}}}},\"parameters\":[{\"id\":\"_uniq.65\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.68\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]}},\"borrow\":false},{\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.79\",\"parameters\":[{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.78\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.79\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.121\",\"parameters\":[{\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.101\",\"parameters\":[{\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},{\"kind\":\"fvar\",\"id\":\"_uniq.99\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.100\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.101\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.106\",\"parameters\":[{\"id\":\"_uniq.104\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.LexLeanCollections.iterateUntil\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.68\"},{\"kind\":\"fvar\",\"id\":\"_uniq.91\"},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.105\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.106\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.68\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"discriminant\":\"_uniq.115\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.102\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.116\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.117\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.118\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.107\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.118\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.119\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.121\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Nat\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"discriminant\":\"_uniq.69\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Nat.zero\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.80\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.128\"}}},{\"kind\":\"constructor\",\"constructor\":\"Nat.succ\",\"parameters\":[{\"id\":\"_uniq.129\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.122\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.129\"},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.130\"}}}]}}}}}},\"uses\":[\"Bool\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"Bool.false\",\"Bool.true\",\"Nat.succ\",\"Nat.zero\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Unit.unit\",\"Reasoning.Main.LexLeanCollections.iterateUntil\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.LexLeanRuntime.Lengthable\",\"kind\":\"inductive\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Main.LexLeanRuntime.Lengthable.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"Reasoning.Main.LexLeanRuntime.instLengthableList\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.length\",\"Reasoning.Main.LexLeanRuntime.Lengthable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]}]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"List.lengthTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.LexLeanRuntime.Lengthable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.10\"}}}},\"uses\":[\"List\",\"Nat\",\"List.lengthTR\",\"Reasoning.Main.LexLeanRuntime.Lengthable\",\"Reasoning.Main.LexLeanRuntime.Lengthable.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.LexLeanRuntime.length\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Main.LexLeanRuntime.Lengthable\",\"Reasoning.Main.LexLeanRuntime.Lengthable.length\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}},\"parameters\":[{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Main.LexLeanRuntime.Lengthable\",\"index\":0,\"value\":\"_uniq.16\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.18\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.19\"}}}},\"uses\":[\"Nat\",\"Reasoning.Main.LexLeanRuntime.Lengthable\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.planLeft.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"Except.casesOn\",\"Except.error\",\"Except.ok\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.triageSteps.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Prod\",\"Except.casesOn\",\"Except.error\",\"Except.ok\",\"Reasoning.Clinic.Triage.Step\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.EmptyB.apply\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Planner.EmptyB.conclusion\",\"Reasoning.Planner.EmptyB.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.EmptyB.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.20\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.EmptyB.conclusion\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.25\"}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Nat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Planner.EmptyB.conclusion\",\"Reasoning.Planner.EmptyB.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.EmptyB.conclusion\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instOfNatNat\",\"OfNat.ofNat\",\"Prod.fst\",\"Prod.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.6\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.11\"}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.EmptyB.guard\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instOfNatNat\",\"Bool.and\",\"Nat.ble\",\"Nat.blt\",\"OfNat.ofNat\",\"Prod.fst\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.30\",\"parameters\":[{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.29\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.30\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.39\",\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.38\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.46\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.47\"},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.49\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.31\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.51\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.53\"}}}}]}}}}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"PUnit\",\"Prod\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.ble\",\"Nat.blt\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.FillA.apply\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Planner.FillA.conclusion\",\"Reasoning.Planner.FillA.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.FillA.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.20\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.FillA.conclusion\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.25\"}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Nat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Planner.FillA.conclusion\",\"Reasoning.Planner.FillA.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.FillA.conclusion\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instOfNatNat\",\"OfNat.ofNat\",\"Prod.mk\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.6\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.11\"}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.FillA.guard\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instOfNatNat\",\"Bool.and\",\"Nat.ble\",\"Nat.blt\",\"OfNat.ofNat\",\"Prod.fst\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.30\",\"parameters\":[{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.29\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.30\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.39\",\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.38\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.47\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.45\"},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.49\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.31\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.51\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.53\"}}}}]}}}}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"PUnit\",\"Prod\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.ble\",\"Nat.blt\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.LexLeanCollections.Key\",\"kind\":\"inductive\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Planner.LexLeanCollections.Key.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"Reasoning.Planner.LexLeanCollections.containsElement\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"List\",\"List.brecOn\",\"Reasoning.Planner.LexLeanCollections.Key\",\"Reasoning.Planner.LexLeanCollections.containsElement._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}}}},\"parameters\":[{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"borrow\":false},{\"id\":\"_uniq.62\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},\"borrow\":false},{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.71\",\"parameters\":[{\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.70\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.71\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.115\",\"parameters\":[{\"id\":\"_uniq.84\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},\"borrow\":false},{\"id\":\"_uniq.85\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.71\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.94\",\"parameters\":[{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.93\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.94\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.99\",\"parameters\":[{\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.containsElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"},{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},{\"kind\":\"fvar\",\"id\":\"_uniq.85\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.98\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.99\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.LexLeanCollections.Key\",\"index\":0,\"value\":\"_uniq.61\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.106\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},{\"kind\":\"fvar\",\"id\":\"_uniq.84\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Ordering\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.107\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Ordering.lt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.90\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.108\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.109\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.eq\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.111\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.95\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.110\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.111\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.gt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.100\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.112\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.113\"}}}}]}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.115\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.63\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.72\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.125\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.126\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.127\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},\"borrow\":false},{\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.129\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.116\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.127\"},{\"kind\":\"fvar\",\"id\":\"_uniq.128\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.129\"}}}]}}}}}},\"uses\":[\"Bool\",\"List\",\"Ordering\",\"PUnit\",\"Bool.false\",\"Bool.true\",\"List.cons\",\"List.nil\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"Unit.unit\",\"Reasoning.Planner.LexLeanCollections.Key\",\"Reasoning.Planner.LexLeanCollections.containsElement\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.LexLeanCollections.insertElement\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.brecOn\",\"Reasoning.Planner.LexLeanCollections.Key\",\"Reasoning.Planner.LexLeanCollections.insertElement._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.62\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"borrow\":false},{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"borrow\":false},{\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.74\",\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.73\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.123\",\"parameters\":[{\"id\":\"_uniq.87\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"borrow\":false},{\"id\":\"_uniq.88\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.96\",\"parameters\":[{\"id\":\"_uniq.93\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.88\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.94\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.95\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.96\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.101\",\"parameters\":[{\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.88\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.100\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.101\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.107\",\"parameters\":[{\"id\":\"_uniq.104\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.insertElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.88\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.106\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.107\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.LexLeanCollections.Key\",\"index\":0,\"value\":\"_uniq.63\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.114\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Ordering\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"discriminant\":\"_uniq.115\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Ordering.lt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.97\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.116\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.117\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.eq\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.118\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.102\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.118\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.119\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.gt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.108\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.120\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.121\"}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.124\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.123\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"discriminant\":\"_uniq.65\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.75\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.133\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.134\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.135\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"borrow\":false},{\"id\":\"_uniq.136\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.135\"},{\"kind\":\"fvar\",\"id\":\"_uniq.136\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.137\"}}}]}}}}}},\"uses\":[\"List\",\"Ordering\",\"PUnit\",\"List.cons\",\"List.nil\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"Unit.unit\",\"Reasoning.Planner.LexLeanCollections.Key\",\"Reasoning.Planner.LexLeanCollections.insertElement\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.LexLeanCollections.instKeyNat\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOrdNat\",\"Ord.compare\",\"Reasoning.Planner.LexLeanCollections.Key.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Ord\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instOrdNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Ord\",\"index\":0,\"value\":\"_uniq.1\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.Key.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.15\"}}}}},\"uses\":[\"Nat\",\"Ord\",\"Ordering\",\"instOrdNat\",\"Reasoning.Planner.LexLeanCollections.Key\",\"Reasoning.Planner.LexLeanCollections.Key.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.LexLeanCollections.instKeyProd\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Ordering\",\"Prod\",\"Unit\",\"Prod.fst\",\"Prod.snd\",\"Reasoning.Planner.LexLeanCollections.Key\",\"Reasoning.Planner.LexLeanCollections.Key.compare\",\"Reasoning.Planner.LexLeanCollections.Key.mk\",\"Reasoning.Planner.LexLeanCollections.compareCodes.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3},{\"kind\":\"bvar\",\"index\":2}]}]}}}}},\"parameters\":[{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"borrow\":false},{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.82\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"borrow\":false},{\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.56\",\"parameters\":[{\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.LexLeanCollections.Key\",\"index\":0,\"value\":\"_uniq.37\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.44\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.45\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.52\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.55\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.62\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.61\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.62\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.LexLeanCollections.Key\",\"index\":0,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.44\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.45\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.69\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"},{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Ordering\",\"result_type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"discriminant\":\"_uniq.72\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Ordering.eq\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.57\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}}},{\"kind\":\"default\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.79\",\"parameters\":[{\"id\":\"_uniq.77\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.63\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.78\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.79\",\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"any\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.80\"}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.Key.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.82\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.83\"}}}},\"uses\":[\"Ordering\",\"PUnit\",\"Prod\",\"Ordering.eq\",\"Unit.unit\",\"Reasoning.Planner.LexLeanCollections.Key\",\"Reasoning.Planner.LexLeanCollections.Key.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.LexLeanCollections.iterateUntil\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Nat\",\"Option\",\"Prod\",\"Nat.brecOn\",\"Reasoning.Planner.LexLeanCollections.iterateUntil._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}}}},\"parameters\":[{\"id\":\"_uniq.65\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.68\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]}},\"borrow\":false},{\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.79\",\"parameters\":[{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.78\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.79\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.121\",\"parameters\":[{\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.101\",\"parameters\":[{\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},{\"kind\":\"fvar\",\"id\":\"_uniq.99\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.100\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.101\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.106\",\"parameters\":[{\"id\":\"_uniq.104\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.iterateUntil\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.68\"},{\"kind\":\"fvar\",\"id\":\"_uniq.91\"},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.105\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.106\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.68\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"discriminant\":\"_uniq.115\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.102\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.116\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.117\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.118\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.107\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.118\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.119\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.121\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Nat\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"discriminant\":\"_uniq.69\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Nat.zero\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.80\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.128\"}}},{\"kind\":\"constructor\",\"constructor\":\"Nat.succ\",\"parameters\":[{\"id\":\"_uniq.129\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.122\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.129\"},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.130\"}}}]}}}}}},\"uses\":[\"Bool\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"Bool.false\",\"Bool.true\",\"Nat.succ\",\"Nat.zero\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Unit.unit\",\"Reasoning.Planner.LexLeanCollections.iterateUntil\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.LexLeanCollections.listFold\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.foldl\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}}},\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}}},\"borrow\":false},{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"borrow\":false},{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"value\":{\"kind\":\"const\",\"name\":\"List.foldl\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.64\"}}},\"uses\":[\"List\",\"List.foldl\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.LexLeanCollections.setContains\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Reasoning.Planner.LexLeanCollections.Key\",\"Reasoning.Planner.LexLeanCollections.containsElement\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}}}},\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.containsElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.23\"}}},\"uses\":[\"Bool\",\"List\",\"Reasoning.Planner.LexLeanCollections.Key\",\"Reasoning.Planner.LexLeanCollections.containsElement\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.LexLeanCollections.setInsert\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Reasoning.Planner.LexLeanCollections.Key\",\"Reasoning.Planner.LexLeanCollections.insertElement\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.insertElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.23\"}}},\"uses\":[\"List\",\"Reasoning.Planner.LexLeanCollections.Key\",\"Reasoning.Planner.LexLeanCollections.insertElement\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.LexLeanRuntime.Appendable\",\"kind\":\"inductive\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Planner.LexLeanRuntime.Appendable.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"Reasoning.Planner.LexLeanRuntime.Lengthable\",\"kind\":\"inductive\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Planner.LexLeanRuntime.Lengthable.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"Reasoning.Planner.LexLeanRuntime.append\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.LexLeanRuntime.Appendable\",\"Reasoning.Planner.LexLeanRuntime.Appendable.append\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"borrow\":false},{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.LexLeanRuntime.Appendable\",\"index\":0,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.40\"}}}},\"uses\":[\"Reasoning.Planner.LexLeanRuntime.Appendable\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.LexLeanRuntime.instAppendableList\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.append\",\"Reasoning.Planner.LexLeanRuntime.Appendable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]}]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"List.appendTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.Appendable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}}},\"uses\":[\"List\",\"List.appendTR\",\"Reasoning.Planner.LexLeanRuntime.Appendable\",\"Reasoning.Planner.LexLeanRuntime.Appendable.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.LexLeanRuntime.instLengthableList\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.length\",\"Reasoning.Planner.LexLeanRuntime.Lengthable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]}]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"List.lengthTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.Lengthable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.10\"}}}},\"uses\":[\"List\",\"Nat\",\"List.lengthTR\",\"Reasoning.Planner.LexLeanRuntime.Lengthable\",\"Reasoning.Planner.LexLeanRuntime.Lengthable.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.LexLeanRuntime.length\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.LexLeanRuntime.Lengthable\",\"Reasoning.Planner.LexLeanRuntime.Lengthable.length\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}},\"parameters\":[{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.LexLeanRuntime.Lengthable\",\"index\":0,\"value\":\"_uniq.16\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.18\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.19\"}}}},\"uses\":[\"Nat\",\"Reasoning.Planner.LexLeanRuntime.Lengthable\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.LexLeanRuntime.multiply\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Mul\",\"instHMul\",\"HMul.hMul\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HMul\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instHMul\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HMul\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}}},\"uses\":[\"HMul\",\"Mul\",\"instHMul\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.LexLeanRuntime.subtract\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Sub\",\"instHSub\",\"HSub.hSub\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HSub\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instHSub\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HSub\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.41\"}}}}},\"uses\":[\"HSub\",\"Sub\",\"instHSub\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Ledger\",\"kind\":\"inductive\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Planner.Plan.Ledger.mk\",\"parameters\":0,\"fields\":6,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Ledger\",\"levels\":[]}}}}}}}}]}},{\"name\":\"Reasoning.Planner.Plan.Node\",\"kind\":\"inductive\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Planner.Plan.Node.mk\",\"parameters\":0,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}}}]}},{\"name\":\"Reasoning.Planner.Plan.Search\",\"kind\":\"inductive\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Planner.Plan.Search.mk\",\"parameters\":0,\"fields\":5,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Ledger\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}}}}}}}]}},{\"name\":\"Reasoning.Planner.Plan.Step\",\"kind\":\"inductive\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Planner.Plan.Step.FillA\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Planner.Plan.Step.EmptyB\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Planner.Plan.Step.Pour\",\"parameters\":0,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}}}]}},{\"name\":\"Reasoning.Planner.Plan.accept\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Planner.measuresCheck\",\"Reasoning.Planner.Plan.extract\",\"Reasoning.Planner.Plan.replay.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.42\",\"parameters\":[{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.41\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.42\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.64\",\"parameters\":[{\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.measuresCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.58\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.60\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.62\"}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.64\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.extract\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.73\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.43\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.75\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.77\"}}}]}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Planner.measuresCheck\",\"Reasoning.Planner.Plan.extract\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.attempts\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"OfNat.ofNat\",\"Reasoning.Planner.LexLeanRuntime.instLengthableList\",\"Reasoning.Planner.LexLeanRuntime.length\",\"Reasoning.Planner.Pour.candidates\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.11\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Pour.candidates\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.9\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.9\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}}}}}}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"List\",\"Nat\",\"OfNat\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Reasoning.Planner.LexLeanRuntime.Lengthable\",\"Reasoning.Planner.LexLeanRuntime.instLengthableList\",\"Reasoning.Planner.LexLeanRuntime.length\",\"Reasoning.Planner.Pour.candidates\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.extract\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"Option.some\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Nat\",\"Option\",\"Prod\",\"Option.some\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.failure\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.and\",\"Bool.false\",\"Bool.not\",\"Bool.true\",\"Prod.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.44\",\"parameters\":[{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.49\",\"parameters\":[{\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.not\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.48\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.49\",\"arguments\":[]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.69\",\"parameters\":[{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"discriminant\":\"_uniq.61\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.62\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.64\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.65\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.67\"}}}}]}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.75\",\"parameters\":[{\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.50\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.69\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.72\",\"parameters\":[{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.69\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"discriminant\":\"_uniq.27\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.72\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.75\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]}}}]}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"PUnit\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.not\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Prod.mk\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.fire\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Reasoning.Planner.EmptyB.apply\",\"Reasoning.Planner.FillA.apply\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Pour.apply\",\"Reasoning.Planner.Plan.fire.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.46\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.FillA.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.45\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.46\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.51\",\"parameters\":[{\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.EmptyB.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.51\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.58\",\"parameters\":[{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Pour.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.58\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Reasoning.Planner.Plan.Step\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.37\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Planner.Plan.Step.FillA\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.47\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.67\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Planner.Plan.Step.EmptyB\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.52\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.68\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.69\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Planner.Plan.Step.Pour\",\"parameters\":[{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.59\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.71\"}}}]}}}}}}}},\"uses\":[\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"Unit.unit\",\"Reasoning.Planner.EmptyB.apply\",\"Reasoning.Planner.FillA.apply\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Pour.apply\",\"Reasoning.Planner.Plan.Step.EmptyB\",\"Reasoning.Planner.Plan.Step.FillA\",\"Reasoning.Planner.Plan.Step.Pour\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.fresh\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"List\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"List.cons\",\"List.nil\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Reasoning.Planner.LexLeanCollections.instKeyNat\",\"Reasoning.Planner.LexLeanCollections.instKeyProd\",\"Reasoning.Planner.LexLeanCollections.listFold\",\"Reasoning.Planner.LexLeanCollections.setContains\",\"Reasoning.Planner.LexLeanCollections.setInsert\",\"Reasoning.Planner.LexLeanRuntime.append\",\"Reasoning.Planner.LexLeanRuntime.instAppendableList\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.Node.state\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.47\",\"parameters\":[{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.instKeyNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.instKeyProd\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Node\",\"index\":0,\"value\":\"_uniq.21\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.setContains\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"discriminant\":\"_uniq.36\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.setInsert\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.44\"}}}}}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.45\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.20\"}}]}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"List\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"List.cons\",\"List.nil\",\"Prod.mk\",\"Reasoning.Planner.LexLeanCollections.Key\",\"Reasoning.Planner.LexLeanCollections.instKeyNat\",\"Reasoning.Planner.LexLeanCollections.instKeyProd\",\"Reasoning.Planner.LexLeanCollections.listFold\",\"Reasoning.Planner.LexLeanCollections.setContains\",\"Reasoning.Planner.LexLeanCollections.setInsert\",\"Reasoning.Planner.LexLeanRuntime.Appendable\",\"Reasoning.Planner.LexLeanRuntime.append\",\"Reasoning.Planner.LexLeanRuntime.instAppendableList\",\"Reasoning.Planner.Plan.Node\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.observe\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Prod.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.10\"}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.run\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instMulNat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Planner.LexLeanCollections.iterateUntil\",\"Reasoning.Planner.LexLeanRuntime.multiply\",\"Reasoning.Planner.Plan.Search\",\"Reasoning.Planner.Plan.searchStep\",\"Reasoning.Planner.Plan.start\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.11\",\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.searchStep\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.10\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instMulNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"8\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.multiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.start\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.iterateUntil\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.18\"}}}}}}}}}},\"uses\":[\"Bool\",\"Mul\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"instMulNat\",\"instOfNatNat\",\"Reasoning.Planner.LexLeanCollections.iterateUntil\",\"Reasoning.Planner.LexLeanRuntime.multiply\",\"Reasoning.Planner.Plan.Search\",\"Reasoning.Planner.Plan.searchStep\",\"Reasoning.Planner.Plan.start\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.searchStep\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"List\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instOfNatNat\",\"ite\",\"Bool.or\",\"Bool.true\",\"HAdd.hAdd\",\"List.cons\",\"List.nil\",\"Nat.blt\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Reasoning.Planner.LexLeanCollections.listFold\",\"Reasoning.Planner.LexLeanRuntime.append\",\"Reasoning.Planner.LexLeanRuntime.instAppendableList\",\"Reasoning.Planner.LexLeanRuntime.instLengthableList\",\"Reasoning.Planner.LexLeanRuntime.length\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.Search\",\"Reasoning.Planner.Plan.accept\",\"Reasoning.Planner.Plan.attempts\",\"Reasoning.Planner.Plan.fresh\",\"Reasoning.Planner.Plan.successors\",\"Reasoning.Planner.Plan.Ledger.attempts\",\"Reasoning.Planner.Plan.Ledger.expansions\",\"Reasoning.Planner.Plan.Ledger.firings\",\"Reasoning.Planner.Plan.Ledger.frontier\",\"Reasoning.Planner.Plan.Ledger.iterations\",\"Reasoning.Planner.Plan.Ledger.mk\",\"Reasoning.Planner.Plan.Ledger.verifications\",\"Reasoning.Planner.Plan.Node.state\",\"Reasoning.Planner.Plan.Search.found\",\"Reasoning.Planner.Plan.Search.frontier\",\"Reasoning.Planner.Plan.Search.ledger\",\"Reasoning.Planner.Plan.Search.mk\",\"Reasoning.Planner.Plan.Search.truncated\",\"Reasoning.Planner.Plan.Search.visited\",\"Reasoning.Planner.Plan.searchStep.match_1\",\"Reasoning.Planner.Plan.searchStep.match_3\",\"Reasoning.Planner.Plan.searchStep.match_5\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.93\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.101\",\"parameters\":[{\"id\":\"_uniq.99\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.100\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.101\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.327\",\"parameters\":[{\"id\":\"_uniq.109\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.115\",\"parameters\":[{\"id\":\"_uniq.113\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.114\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.115\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.310\",\"parameters\":[{\"id\":\"_uniq.126\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.127\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.162\",\"parameters\":[{\"id\":\"_uniq.133\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Search\",\"index\":1,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.133\"},{\"kind\":\"fvar\",\"id\":\"_uniq.126\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.135\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Search\",\"index\":3,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.139\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.138\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.140\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.139\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.141\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Search\",\"index\":4,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.148\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Ledger\",\"index\":0,\"value\":\"_uniq.141\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.149\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.150\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.149\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.151\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.150\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.152\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.140\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.148\"},{\"kind\":\"fvar\",\"id\":\"_uniq.151\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.153\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Ledger\",\"index\":1,\"value\":\"_uniq.141\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.154\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Ledger\",\"index\":2,\"value\":\"_uniq.141\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.155\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Ledger\",\"index\":3,\"value\":\"_uniq.141\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.156\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Ledger\",\"index\":4,\"value\":\"_uniq.141\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.157\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.140\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.156\"},{\"kind\":\"fvar\",\"id\":\"_uniq.151\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.158\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Ledger\",\"index\":5,\"value\":\"_uniq.141\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.159\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Ledger.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.152\"},{\"kind\":\"fvar\",\"id\":\"_uniq.153\"},{\"kind\":\"fvar\",\"id\":\"_uniq.154\"},{\"kind\":\"fvar\",\"id\":\"_uniq.155\"},{\"kind\":\"fvar\",\"id\":\"_uniq.157\"},{\"kind\":\"fvar\",\"id\":\"_uniq.158\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.160\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.127\"},{\"kind\":\"fvar\",\"id\":\"_uniq.134\"},{\"kind\":\"fvar\",\"id\":\"_uniq.136\"},{\"kind\":\"fvar\",\"id\":\"_uniq.137\"},{\"kind\":\"fvar\",\"id\":\"_uniq.159\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.161\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.160\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.161\"}}}}}}}}}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.163\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.162\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.294\",\"parameters\":[{\"id\":\"_uniq.169\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.174\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.successors\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.126\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.175\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.174\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.176\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Search\",\"index\":1,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.177\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.fresh\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.176\"},{\"kind\":\"fvar\",\"id\":\"_uniq.175\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.178\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.177\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.179\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.180\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.178\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.181\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.179\"},{\"kind\":\"fvar\",\"id\":\"_uniq.127\"},{\"kind\":\"fvar\",\"id\":\"_uniq.180\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.182\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.181\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.210\",\"parameters\":[{\"id\":\"_uniq.185\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.186\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.195\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.196\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.195\"},{\"kind\":\"fvar\",\"id\":\"_uniq.185\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.197\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.198\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.197\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.199\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.198\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.200\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.199\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.201\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.196\"},{\"kind\":\"fvar\",\"id\":\"_uniq.200\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.202\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.203\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.201\"},{\"kind\":\"fvar\",\"id\":\"_uniq.202\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"discriminant\":\"_uniq.203\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.204\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.185\"}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.205\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.206\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.207\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.186\"},{\"kind\":\"fvar\",\"id\":\"_uniq.206\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.208\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.179\"},{\"kind\":\"fvar\",\"id\":\"_uniq.185\"},{\"kind\":\"fvar\",\"id\":\"_uniq.207\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.208\"}}}}}]}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.211\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.212\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.210\"},{\"kind\":\"fvar\",\"id\":\"_uniq.211\"},{\"kind\":\"fvar\",\"id\":\"_uniq.182\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.213\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.212\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.214\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.178\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.215\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.223\",\"parameters\":[{\"id\":\"_uniq.221\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.222\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.222\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.224\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.223\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.234\",\"parameters\":[{\"id\":\"_uniq.226\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.227\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.228\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.227\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.229\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.228\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.230\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.229\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.231\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.232\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.231\"},{\"kind\":\"fvar\",\"id\":\"_uniq.182\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.233\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.230\"},{\"kind\":\"fvar\",\"id\":\"_uniq.232\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.233\"}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.235\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.234\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.240\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Search\",\"index\":3,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.287\",\"parameters\":[{\"id\":\"_uniq.245\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.246\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.247\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.246\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.248\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.247\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.249\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Search\",\"index\":4,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.250\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Ledger\",\"index\":0,\"value\":\"_uniq.249\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.251\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.252\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.251\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.253\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.252\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.254\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.248\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.250\"},{\"kind\":\"fvar\",\"id\":\"_uniq.253\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.255\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Ledger\",\"index\":1,\"value\":\"_uniq.249\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.256\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Node\",\"index\":0,\"value\":\"_uniq.126\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.257\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.attempts\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.256\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.258\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.248\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.255\"},{\"kind\":\"fvar\",\"id\":\"_uniq.257\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.259\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Ledger\",\"index\":2,\"value\":\"_uniq.249\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.260\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.261\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.260\"},{\"kind\":\"fvar\",\"id\":\"_uniq.175\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.262\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.248\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.259\"},{\"kind\":\"fvar\",\"id\":\"_uniq.261\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.263\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Ledger\",\"index\":3,\"value\":\"_uniq.249\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.264\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.248\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.263\"},{\"kind\":\"fvar\",\"id\":\"_uniq.253\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.265\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Ledger\",\"index\":4,\"value\":\"_uniq.249\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.266\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.248\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.265\"},{\"kind\":\"fvar\",\"id\":\"_uniq.253\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.275\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Ledger\",\"index\":5,\"value\":\"_uniq.249\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.276\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.260\"},{\"kind\":\"fvar\",\"id\":\"_uniq.213\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.277\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.275\"},{\"kind\":\"fvar\",\"id\":\"_uniq.276\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.278\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.279\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.277\"},{\"kind\":\"fvar\",\"id\":\"_uniq.278\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.286\",\"parameters\":[{\"id\":\"_uniq.282\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.283\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Ledger.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.254\"},{\"kind\":\"fvar\",\"id\":\"_uniq.258\"},{\"kind\":\"fvar\",\"id\":\"_uniq.262\"},{\"kind\":\"fvar\",\"id\":\"_uniq.264\"},{\"kind\":\"fvar\",\"id\":\"_uniq.266\"},{\"kind\":\"fvar\",\"id\":\"_uniq.282\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.284\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.213\"},{\"kind\":\"fvar\",\"id\":\"_uniq.214\"},{\"kind\":\"fvar\",\"id\":\"_uniq.215\"},{\"kind\":\"fvar\",\"id\":\"_uniq.245\"},{\"kind\":\"fvar\",\"id\":\"_uniq.283\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.285\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.284\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.285\"}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"discriminant\":\"_uniq.279\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.280\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.286\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.275\"}]}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.281\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.286\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.276\"}]}}]}}}}}}}}}}}}}}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.293\",\"parameters\":[{\"id\":\"_uniq.291\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.292\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.224\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.291\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.287\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.292\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.290\",\"parameters\":[{\"id\":\"_uniq.288\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.289\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.235\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.288\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.287\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.289\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"discriminant\":\"_uniq.240\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.241\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.290\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.241\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.243\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.293\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.243\"}]}}}]}}}}}}}}}}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.295\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.294\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.303\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Node\",\"index\":0,\"value\":\"_uniq.126\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.304\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.accept\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},{\"kind\":\"fvar\",\"id\":\"_uniq.303\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"discriminant\":\"_uniq.304\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.305\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.306\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.295\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.305\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.306\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.307\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.308\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.163\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.307\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.308\"}}}]}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.311\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.310\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.320\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Search\",\"index\":0,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"discriminant\":\"_uniq.320\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.321\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.322\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.116\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.321\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.322\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.323\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.324\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.325\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.311\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.323\"},{\"kind\":\"fvar\",\"id\":\"_uniq.324\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.325\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.328\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.327\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.336\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Search\",\"index\":2,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"discriminant\":\"_uniq.336\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.337\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.338\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.328\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.337\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.338\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.339\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.340\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.102\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.339\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.340\"}}}]}}}}}}},\"uses\":[\"Add\",\"Bool\",\"Decidable\",\"HAdd\",\"List\",\"Nat\",\"OfNat\",\"Option\",\"PUnit\",\"Prod\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"List.cons\",\"List.nil\",\"Nat.blt\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Unit.unit\",\"Reasoning.Planner.LexLeanCollections.listFold\",\"Reasoning.Planner.LexLeanRuntime.Appendable\",\"Reasoning.Planner.LexLeanRuntime.Lengthable\",\"Reasoning.Planner.LexLeanRuntime.append\",\"Reasoning.Planner.LexLeanRuntime.instAppendableList\",\"Reasoning.Planner.LexLeanRuntime.instLengthableList\",\"Reasoning.Planner.LexLeanRuntime.length\",\"Reasoning.Planner.Plan.Ledger\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.Search\",\"Reasoning.Planner.Plan.accept\",\"Reasoning.Planner.Plan.attempts\",\"Reasoning.Planner.Plan.fresh\",\"Reasoning.Planner.Plan.successors\",\"Reasoning.Planner.Plan.Ledger.mk\",\"Reasoning.Planner.Plan.Search.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.start\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"List\",\"Nat\",\"Prod\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instOfNatNat\",\"ite\",\"Bool.true\",\"HAdd.hAdd\",\"List.cons\",\"List.nil\",\"Nat.blt\",\"OfNat.ofNat\",\"Option.none\",\"Reasoning.Planner.LexLeanCollections.instKeyNat\",\"Reasoning.Planner.LexLeanCollections.instKeyProd\",\"Reasoning.Planner.LexLeanCollections.listFold\",\"Reasoning.Planner.LexLeanCollections.setInsert\",\"Reasoning.Planner.LexLeanRuntime.append\",\"Reasoning.Planner.LexLeanRuntime.instAppendableList\",\"Reasoning.Planner.LexLeanRuntime.instLengthableList\",\"Reasoning.Planner.LexLeanRuntime.length\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Plan.observe\",\"Reasoning.Planner.Plan.Ledger.mk\",\"Reasoning.Planner.Plan.Node.mk\",\"Reasoning.Planner.Plan.Search.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.43\",\"parameters\":[{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.31\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"discriminant\":\"_uniq.35\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.41\"}}}}}}]}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.observe\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.45\"},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.49\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.instKeyNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.instKeyProd\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.setInsert\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.57\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.58\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.61\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.65\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Ledger.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.68\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"},{\"kind\":\"fvar\",\"id\":\"_uniq.69\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.70\"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Add\",\"Bool\",\"Decidable\",\"HAdd\",\"List\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instOfNatNat\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"List.cons\",\"List.nil\",\"Nat.blt\",\"Option.none\",\"Reasoning.Planner.LexLeanCollections.Key\",\"Reasoning.Planner.LexLeanCollections.instKeyNat\",\"Reasoning.Planner.LexLeanCollections.instKeyProd\",\"Reasoning.Planner.LexLeanCollections.listFold\",\"Reasoning.Planner.LexLeanCollections.setInsert\",\"Reasoning.Planner.LexLeanRuntime.Appendable\",\"Reasoning.Planner.LexLeanRuntime.Lengthable\",\"Reasoning.Planner.LexLeanRuntime.append\",\"Reasoning.Planner.LexLeanRuntime.instAppendableList\",\"Reasoning.Planner.LexLeanRuntime.instLengthableList\",\"Reasoning.Planner.LexLeanRuntime.length\",\"Reasoning.Planner.Plan.Ledger\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.Search\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Plan.observe\",\"Reasoning.Planner.Plan.Ledger.mk\",\"Reasoning.Planner.Plan.Node.mk\",\"Reasoning.Planner.Plan.Search.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.successors\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Reasoning.Planner.LexLeanRuntime.append\",\"Reasoning.Planner.LexLeanRuntime.instAppendableList\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.EmptyB.successors\",\"Reasoning.Planner.Plan.FillA.successors\",\"Reasoning.Planner.Plan.Pour.successors\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.FillA.successors\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.EmptyB.successors\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Pour.successors\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.12\"}}}}}}}},\"uses\":[\"List\",\"Reasoning.Planner.LexLeanRuntime.Appendable\",\"Reasoning.Planner.LexLeanRuntime.append\",\"Reasoning.Planner.LexLeanRuntime.instAppendableList\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.EmptyB.successors\",\"Reasoning.Planner.Plan.FillA.successors\",\"Reasoning.Planner.Plan.Pour.successors\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.verdict\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Prod\",\"Except.error\",\"Except.ok\",\"Prod.fst\",\"Reasoning.Planner.Plan\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Plan.verdict.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"parameters\":[{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.34\",\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.31\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.33\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.34\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.41\",\"parameters\":[{\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.40\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.41\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.53\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.42\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.55\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.35\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}]}}}}}}},\"uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Prod\",\"Except.error\",\"Except.ok\",\"Reasoning.Planner.Plan\",\"Reasoning.Planner.Plan.Step\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Pour.apply\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Planner.Pour.conclusion\",\"Reasoning.Planner.Pour.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Pour.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.26\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.28\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Pour.conclusion\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Nat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Planner.Pour.conclusion\",\"Reasoning.Planner.Pour.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Pour.candidates\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instOfNatNat\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.11\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.19\"}}}}}}}}}}}}}}},\"uses\":[\"List\",\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"List.cons\",\"List.nil\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Pour.conclusion\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instSubNat\",\"HAdd.hAdd\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Reasoning.Planner.LexLeanRuntime.subtract\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.11\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.17\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.11\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.18\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.21\"}}}}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Nat\",\"Prod\",\"Sub\",\"instAddNat\",\"instHAdd\",\"instSubNat\",\"Prod.mk\",\"Reasoning.Planner.LexLeanRuntime.subtract\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Pour.guard\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Bool.and\",\"HAdd.hAdd\",\"Nat.ble\",\"OfNat.ofNat\",\"Prod.fst\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.45\",\"parameters\":[{\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.44\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.83\",\"parameters\":[{\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.63\",\"parameters\":[{\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.60\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.58\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.62\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.63\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.69\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.70\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.71\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.72\"},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.75\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.77\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.55\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.79\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.64\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.81\"}}}}]}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.83\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.89\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.90\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.46\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.91\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.92\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.84\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.93\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.94\"}}}}]}}}}}}}},\"uses\":[\"Add\",\"Bool\",\"HAdd\",\"Nat\",\"OfNat\",\"PUnit\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.ble\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.Ledger\",\"kind\":\"inductive\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Screening.Dose.Ledger.mk\",\"parameters\":0,\"fields\":6,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Ledger\",\"levels\":[]}}}}}}}}]}},{\"name\":\"Reasoning.Screening.Dose.Trial\",\"kind\":\"inductive\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Screening.Dose.Trial.mk\",\"parameters\":0,\"fields\":3,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Ledger\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]}}}}}]}},{\"name\":\"Reasoning.Screening.Dose.candidates\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Except\",\"List\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"List.nil\",\"Prod.mk\",\"Reasoning.Screening.DoseModel\",\"Reasoning.Screening.shortCheck\",\"Reasoning.Screening.Propose.candidates.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.37\",\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.36\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.37\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.44\",\"parameters\":[{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.30\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.DoseModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.59\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.shortCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.58\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.69\"},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.84\",\"parameters\":[{\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.78\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.79\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.79\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.80\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.81\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.38\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.82\"}}}]}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.71\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.72\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.84\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.84\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.77\"}]}}}]}}}}}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Except\",\"List\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Except.error\",\"Except.ok\",\"List.nil\",\"Prod.mk\",\"Reasoning.Screening.DoseModel\",\"Reasoning.Screening.shortCheck\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.failure\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Nat\",\"Prod\",\"Unit\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.beq\",\"OfNat.ofNat\",\"Prod.mk\",\"Reasoning.Screening.Dose.Trial\",\"Reasoning.Screening.Dose.Ledger.verifications\",\"Reasoning.Screening.Dose.Trial.ledger\",\"Reasoning.Screening.Dose.Trial.truncated\",\"Reasoning.Screening.Dose.try.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.43\",\"parameters\":[{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.42\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.43\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.87\",\"parameters\":[{\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.57\",\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.56\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.57\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.64\",\"parameters\":[{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"},{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.63\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.64\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Trial\",\"index\":2,\"value\":\"_uniq.34\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Ledger\",\"index\":4,\"value\":\"_uniq.70\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.79\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.77\"},{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"discriminant\":\"_uniq.81\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.82\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.83\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.85\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.58\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.84\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.85\"}}}}]}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.87\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Trial\",\"index\":1,\"value\":\"_uniq.34\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"discriminant\":\"_uniq.93\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.88\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.94\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.95\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.96\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.96\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.97\"}}}}]}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"PUnit\",\"Prod\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.beq\",\"Prod.mk\",\"Unit.unit\",\"Reasoning.Screening.Dose.Ledger\",\"Reasoning.Screening.Dose.Trial\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.run\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Bool.false\",\"OfNat.ofNat\",\"Option.none\",\"Reasoning.Screening.Dose.Trial\",\"Reasoning.Screening.Dose.candidates\",\"Reasoning.Screening.Dose.try\",\"Reasoning.Screening.LexLeanCollections.listFold\",\"Reasoning.Screening.Dose.Ledger.mk\",\"Reasoning.Screening.Dose.Trial.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.13\",\"parameters\":[{\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.try\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.12\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.17\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Ledger.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.candidates\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}}}}}}}}}}},\"uses\":[\"Bool\",\"List\",\"Nat\",\"OfNat\",\"Option\",\"instOfNatNat\",\"Bool.false\",\"Option.none\",\"Reasoning.Screening.Dose.Ledger\",\"Reasoning.Screening.Dose.Trial\",\"Reasoning.Screening.Dose.candidates\",\"Reasoning.Screening.Dose.try\",\"Reasoning.Screening.LexLeanCollections.listFold\",\"Reasoning.Screening.Dose.Ledger.mk\",\"Reasoning.Screening.Dose.Trial.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.try\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Nat\",\"Option\",\"Unit\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Bool.true\",\"HAdd.hAdd\",\"Nat.blt\",\"OfNat.ofNat\",\"Option.none\",\"Reasoning.Screening.Dose.Trial\",\"Reasoning.Screening.Dose.verify\",\"Reasoning.Screening.Dose.Ledger.attempts\",\"Reasoning.Screening.Dose.Ledger.expansions\",\"Reasoning.Screening.Dose.Ledger.firings\",\"Reasoning.Screening.Dose.Ledger.frontier\",\"Reasoning.Screening.Dose.Ledger.iterations\",\"Reasoning.Screening.Dose.Ledger.mk\",\"Reasoning.Screening.Dose.Ledger.verifications\",\"Reasoning.Screening.Dose.Trial.found\",\"Reasoning.Screening.Dose.Trial.ledger\",\"Reasoning.Screening.Dose.Trial.mk\",\"Reasoning.Screening.Dose.Trial.truncated\",\"Reasoning.Screening.Dose.try.match_1\",\"Reasoning.Screening.Dose.try.match_3\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]}}}},\"parameters\":[{\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.53\",\"parameters\":[{\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.46\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.53\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.110\",\"parameters\":[{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.85\",\"parameters\":[{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.verify\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.45\"},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Trial\",\"index\":1,\"value\":\"_uniq.46\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.68\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Trial\",\"index\":2,\"value\":\"_uniq.46\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Ledger\",\"index\":0,\"value\":\"_uniq.70\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.73\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.69\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.71\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Ledger\",\"index\":1,\"value\":\"_uniq.70\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.69\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Ledger\",\"index\":2,\"value\":\"_uniq.70\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Ledger\",\"index\":3,\"value\":\"_uniq.70\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Ledger\",\"index\":4,\"value\":\"_uniq.70\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.69\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Ledger\",\"index\":5,\"value\":\"_uniq.70\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Ledger.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"},{\"kind\":\"fvar\",\"id\":\"_uniq.79\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"},{\"kind\":\"fvar\",\"id\":\"_uniq.82\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.83\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.84\"}}}}}}}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.85\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.93\",\"parameters\":[{\"id\":\"_uniq.88\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Trial\",\"index\":2,\"value\":\"_uniq.46\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.89\"},{\"kind\":\"fvar\",\"id\":\"_uniq.90\"},{\"kind\":\"fvar\",\"id\":\"_uniq.91\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.92\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.93\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Trial\",\"index\":2,\"value\":\"_uniq.46\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Ledger\",\"index\":4,\"value\":\"_uniq.99\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.101\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.102\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.100\"},{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"discriminant\":\"_uniq.104\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.94\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.105\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.106\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.86\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.107\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.108\"}}}}]}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.111\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.110\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Trial\",\"index\":0,\"value\":\"_uniq.46\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"discriminant\":\"_uniq.119\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.111\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.120\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.121\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.122\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.54\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.122\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.123\"}}}]}}}}}}},\"uses\":[\"Add\",\"Bool\",\"HAdd\",\"Nat\",\"OfNat\",\"Option\",\"PUnit\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.blt\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Screening.Dose.Ledger\",\"Reasoning.Screening.Dose.Trial\",\"Reasoning.Screening.Dose.verify\",\"Reasoning.Screening.Dose.Ledger.mk\",\"Reasoning.Screening.Dose.Trial.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.verdict\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Except.error\",\"Except.ok\",\"Reasoning.Screening.Dose.Trial\",\"Reasoning.Screening.Dose.failure\",\"Reasoning.Screening.Dose.run\",\"Reasoning.Screening.Dose.Trial.found\",\"Reasoning.Screening.Dose.try.match_3\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.run\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.31\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.38\",\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.37\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.38\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.46\",\"parameters\":[{\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.failure\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.45\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.46\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Trial\",\"index\":0,\"value\":\"_uniq.32\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.58\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.47\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.60\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.62\"}}}]}}}}}}}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"Except.error\",\"Except.ok\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Screening.Dose.Trial\",\"Reasoning.Screening.Dose.failure\",\"Reasoning.Screening.Dose.run\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.verify\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Screening.safeCheck\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.safeCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.26\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.28\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.30\"}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Nat\",\"Option\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Screening.safeCheck\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.LexLeanCollections.iterateUntil\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Nat\",\"Option\",\"Prod\",\"Nat.brecOn\",\"Reasoning.Screening.LexLeanCollections.iterateUntil._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}}}},\"parameters\":[{\"id\":\"_uniq.65\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.68\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]}},\"borrow\":false},{\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.79\",\"parameters\":[{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.78\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.79\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.121\",\"parameters\":[{\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.101\",\"parameters\":[{\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},{\"kind\":\"fvar\",\"id\":\"_uniq.99\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.100\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.101\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.106\",\"parameters\":[{\"id\":\"_uniq.104\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanCollections.iterateUntil\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.68\"},{\"kind\":\"fvar\",\"id\":\"_uniq.91\"},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.105\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.106\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.68\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"discriminant\":\"_uniq.115\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.102\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.116\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.117\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.118\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.107\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.118\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.119\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.121\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Nat\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"discriminant\":\"_uniq.69\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Nat.zero\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.80\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.128\"}}},{\"kind\":\"constructor\",\"constructor\":\"Nat.succ\",\"parameters\":[{\"id\":\"_uniq.129\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.122\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.129\"},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.130\"}}}]}}}}}},\"uses\":[\"Bool\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"Bool.false\",\"Bool.true\",\"Nat.succ\",\"Nat.zero\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Unit.unit\",\"Reasoning.Screening.LexLeanCollections.iterateUntil\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.LexLeanCollections.listFold\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.foldl\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}}},\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}}},\"borrow\":false},{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"borrow\":false},{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"value\":{\"kind\":\"const\",\"name\":\"List.foldl\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.64\"}}},\"uses\":[\"List\",\"List.foldl\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.LexLeanRuntime.Appendable\",\"kind\":\"inductive\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Screening.LexLeanRuntime.Appendable.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"Reasoning.Screening.LexLeanRuntime.Lengthable\",\"kind\":\"inductive\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Screening.LexLeanRuntime.Lengthable.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"Reasoning.Screening.LexLeanRuntime.append\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.LexLeanRuntime.Appendable\",\"Reasoning.Screening.LexLeanRuntime.Appendable.append\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"borrow\":false},{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.LexLeanRuntime.Appendable\",\"index\":0,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.40\"}}}},\"uses\":[\"Reasoning.Screening.LexLeanRuntime.Appendable\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.LexLeanRuntime.instAppendableList\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.append\",\"Reasoning.Screening.LexLeanRuntime.Appendable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]}]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"List.appendTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.Appendable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}}},\"uses\":[\"List\",\"List.appendTR\",\"Reasoning.Screening.LexLeanRuntime.Appendable\",\"Reasoning.Screening.LexLeanRuntime.Appendable.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.LexLeanRuntime.instLengthableList\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.length\",\"Reasoning.Screening.LexLeanRuntime.Lengthable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]}]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"List.lengthTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.Lengthable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.10\"}}}},\"uses\":[\"List\",\"Nat\",\"List.lengthTR\",\"Reasoning.Screening.LexLeanRuntime.Lengthable\",\"Reasoning.Screening.LexLeanRuntime.Lengthable.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.LexLeanRuntime.length\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.LexLeanRuntime.Lengthable\",\"Reasoning.Screening.LexLeanRuntime.Lengthable.length\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}},\"parameters\":[{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.LexLeanRuntime.Lengthable\",\"index\":0,\"value\":\"_uniq.16\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.18\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.19\"}}}},\"uses\":[\"Nat\",\"Reasoning.Screening.LexLeanRuntime.Lengthable\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.LexLeanRuntime.subtract\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Sub\",\"instHSub\",\"HSub.hSub\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HSub\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instHSub\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HSub\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}}},\"uses\":[\"HSub\",\"Sub\",\"instHSub\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Propose.apply\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Screening.Propose.conclusion\",\"Reasoning.Screening.Propose.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Propose.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.26\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.28\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Propose.conclusion\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Nat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Screening.Propose.conclusion\",\"Reasoning.Screening.Propose.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Propose.candidates\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Except\",\"List\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"List.nil\",\"Prod.fst\",\"Prod.mk\",\"Reasoning.Screening.DoseModel\",\"Reasoning.Screening.shortCheck\",\"Reasoning.Screening.Propose.candidates.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.37\",\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.36\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.37\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.44\",\"parameters\":[{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.58\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.DoseModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.60\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.shortCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"},{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.85\",\"parameters\":[{\"id\":\"_uniq.79\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.79\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.80\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.81\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.82\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.38\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.82\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.83\"}}}]}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.72\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.73\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.71\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.85\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.77\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.85\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]}}}]}}}}}}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Except\",\"List\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Except.error\",\"Except.ok\",\"List.nil\",\"Prod.mk\",\"Reasoning.Screening.DoseModel\",\"Reasoning.Screening.shortCheck\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Propose.conclusion\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"Prod.fst\",\"Prod.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.11\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.14\"}}}},\"uses\":[\"Nat\",\"Prod\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Propose.guard\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instOfNatNat\",\"Bool.and\",\"Nat.beq\",\"Nat.blt\",\"OfNat.ofNat\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.37\",\"parameters\":[{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.36\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.37\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.45\",\"parameters\":[{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.42\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.43\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.44\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.28\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.53\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.55\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.38\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.46\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.59\"}}}}]}}}}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"PUnit\",\"Prod\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.beq\",\"Nat.blt\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Ledger\",\"kind\":\"inductive\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Screening.Screen.Ledger.mk\",\"parameters\":0,\"fields\":6,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Ledger\",\"levels\":[]}}}}}}}}]}},{\"name\":\"Reasoning.Screening.Screen.Node\",\"kind\":\"inductive\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Screening.Screen.Node.mk\",\"parameters\":0,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}}}]}},{\"name\":\"Reasoning.Screening.Screen.Search\",\"kind\":\"inductive\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Screening.Screen.Search.mk\",\"parameters\":0,\"fields\":4,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Ledger\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}}}}}}]}},{\"name\":\"Reasoning.Screening.Screen.Step\",\"kind\":\"inductive\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Screening.Screen.Step.Propose\",\"parameters\":0,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}}}]}},{\"name\":\"Reasoning.Screening.Screen.accept\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Screening.safeCheck\",\"Reasoning.Screening.Screen.extract\",\"Reasoning.Screening.Screen.accept.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.42\",\"parameters\":[{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.41\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.42\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.64\",\"parameters\":[{\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.safeCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.58\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.60\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.62\"}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.64\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.extract\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.73\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.43\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.75\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.77\"}}}]}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Screening.safeCheck\",\"Reasoning.Screening.Screen.extract\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.attempts\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Prod\",\"Reasoning.Screening.LexLeanRuntime.instLengthableList\",\"Reasoning.Screening.LexLeanRuntime.length\",\"Reasoning.Screening.Propose.candidates\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Propose.candidates\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.9\"}}}}},\"uses\":[\"List\",\"Nat\",\"Prod\",\"Reasoning.Screening.LexLeanRuntime.Lengthable\",\"Reasoning.Screening.LexLeanRuntime.instLengthableList\",\"Reasoning.Screening.LexLeanRuntime.length\",\"Reasoning.Screening.Propose.candidates\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.extract\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"instOfNatNat\",\"ite\",\"Bool.true\",\"Nat.blt\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.19\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.24\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.26\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.28\"}}}]}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"instOfNatNat\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Nat.blt\",\"Option.none\",\"Option.some\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.failure\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.and\",\"Bool.false\",\"Bool.not\",\"Bool.true\",\"Prod.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.44\",\"parameters\":[{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.49\",\"parameters\":[{\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.not\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.48\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.49\",\"arguments\":[]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.69\",\"parameters\":[{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"discriminant\":\"_uniq.61\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.62\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.64\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.65\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.67\"}}}}]}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.75\",\"parameters\":[{\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.50\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.69\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.72\",\"parameters\":[{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.69\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"discriminant\":\"_uniq.27\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.72\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.75\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]}}}]}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"PUnit\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.not\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Prod.mk\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.fire\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Prod\",\"Reasoning.Screening.Propose.apply\",\"Reasoning.Screening.Screen.Step\",\"Reasoning.Screening.Screen.fire.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.31\",\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Propose.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.30\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.31\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Reasoning.Screening.Screen.Step\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.24\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Screening.Screen.Step.Propose\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.32\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.38\"}}}]}}}},\"uses\":[\"Nat\",\"Option\",\"Prod\",\"Reasoning.Screening.Propose.apply\",\"Reasoning.Screening.Screen.Step\",\"Reasoning.Screening.Screen.Step.Propose\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.observe\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Prod.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.10\"}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.run\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Screening.LexLeanCollections.iterateUntil\",\"Reasoning.Screening.Screen.Search\",\"Reasoning.Screening.Screen.searchStep\",\"Reasoning.Screening.Screen.start\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.11\",\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.searchStep\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.10\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"8\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.13\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.start\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanCollections.iterateUntil\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.16\"}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"instOfNatNat\",\"Reasoning.Screening.LexLeanCollections.iterateUntil\",\"Reasoning.Screening.Screen.Search\",\"Reasoning.Screening.Screen.searchStep\",\"Reasoning.Screening.Screen.start\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.searchStep\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"List\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instOfNatNat\",\"ite\",\"Bool.or\",\"Bool.true\",\"HAdd.hAdd\",\"List.cons\",\"List.nil\",\"Nat.blt\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Reasoning.Screening.LexLeanCollections.listFold\",\"Reasoning.Screening.LexLeanRuntime.append\",\"Reasoning.Screening.LexLeanRuntime.instAppendableList\",\"Reasoning.Screening.LexLeanRuntime.instLengthableList\",\"Reasoning.Screening.LexLeanRuntime.length\",\"Reasoning.Screening.Screen.Node\",\"Reasoning.Screening.Screen.Search\",\"Reasoning.Screening.Screen.accept\",\"Reasoning.Screening.Screen.attempts\",\"Reasoning.Screening.Screen.successors\",\"Reasoning.Screening.Dose.try.match_3\",\"Reasoning.Screening.Screen.Ledger.attempts\",\"Reasoning.Screening.Screen.Ledger.expansions\",\"Reasoning.Screening.Screen.Ledger.firings\",\"Reasoning.Screening.Screen.Ledger.frontier\",\"Reasoning.Screening.Screen.Ledger.iterations\",\"Reasoning.Screening.Screen.Ledger.mk\",\"Reasoning.Screening.Screen.Ledger.verifications\",\"Reasoning.Screening.Screen.Node.state\",\"Reasoning.Screening.Screen.Search.found\",\"Reasoning.Screening.Screen.Search.frontier\",\"Reasoning.Screening.Screen.Search.ledger\",\"Reasoning.Screening.Screen.Search.mk\",\"Reasoning.Screening.Screen.Search.truncated\",\"Reasoning.Screening.Screen.searchStep.match_1\",\"Reasoning.Screening.Screen.searchStep.match_3\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.93\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.101\",\"parameters\":[{\"id\":\"_uniq.99\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.100\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.101\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.320\",\"parameters\":[{\"id\":\"_uniq.109\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.115\",\"parameters\":[{\"id\":\"_uniq.113\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.114\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.115\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.303\",\"parameters\":[{\"id\":\"_uniq.126\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.127\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.161\",\"parameters\":[{\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.133\"},{\"kind\":\"fvar\",\"id\":\"_uniq.126\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.134\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Search\",\"index\":2,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.137\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.139\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.138\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.140\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Search\",\"index\":3,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.147\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Ledger\",\"index\":0,\"value\":\"_uniq.140\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.148\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.149\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.148\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.150\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.149\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.151\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.139\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.147\"},{\"kind\":\"fvar\",\"id\":\"_uniq.150\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.152\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Ledger\",\"index\":1,\"value\":\"_uniq.140\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.153\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Ledger\",\"index\":2,\"value\":\"_uniq.140\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.154\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Ledger\",\"index\":3,\"value\":\"_uniq.140\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.155\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Ledger\",\"index\":4,\"value\":\"_uniq.140\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.156\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.139\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.155\"},{\"kind\":\"fvar\",\"id\":\"_uniq.150\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.157\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Ledger\",\"index\":5,\"value\":\"_uniq.140\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.158\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Ledger.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.151\"},{\"kind\":\"fvar\",\"id\":\"_uniq.152\"},{\"kind\":\"fvar\",\"id\":\"_uniq.153\"},{\"kind\":\"fvar\",\"id\":\"_uniq.154\"},{\"kind\":\"fvar\",\"id\":\"_uniq.156\"},{\"kind\":\"fvar\",\"id\":\"_uniq.157\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.159\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.127\"},{\"kind\":\"fvar\",\"id\":\"_uniq.135\"},{\"kind\":\"fvar\",\"id\":\"_uniq.136\"},{\"kind\":\"fvar\",\"id\":\"_uniq.158\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.160\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.159\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.160\"}}}}}}}}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.162\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.161\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.287\",\"parameters\":[{\"id\":\"_uniq.168\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.173\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.successors\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.126\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.174\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.173\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.175\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.174\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.176\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.177\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.176\"},{\"kind\":\"fvar\",\"id\":\"_uniq.175\"},{\"kind\":\"fvar\",\"id\":\"_uniq.127\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.178\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.177\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.205\",\"parameters\":[{\"id\":\"_uniq.181\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.182\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.191\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.192\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.191\"},{\"kind\":\"fvar\",\"id\":\"_uniq.181\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.193\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.194\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.193\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.195\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.194\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.196\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.192\"},{\"kind\":\"fvar\",\"id\":\"_uniq.195\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.197\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.198\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.196\"},{\"kind\":\"fvar\",\"id\":\"_uniq.197\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"discriminant\":\"_uniq.198\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.199\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.181\"}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.200\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.201\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.202\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.182\"},{\"kind\":\"fvar\",\"id\":\"_uniq.201\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.203\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.176\"},{\"kind\":\"fvar\",\"id\":\"_uniq.181\"},{\"kind\":\"fvar\",\"id\":\"_uniq.202\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.203\"}}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.206\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.207\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.205\"},{\"kind\":\"fvar\",\"id\":\"_uniq.206\"},{\"kind\":\"fvar\",\"id\":\"_uniq.178\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.208\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.207\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.209\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.217\",\"parameters\":[{\"id\":\"_uniq.215\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.216\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.216\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.218\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.217\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.227\",\"parameters\":[{\"id\":\"_uniq.220\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.221\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.222\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.221\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.223\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.222\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.224\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.225\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.224\"},{\"kind\":\"fvar\",\"id\":\"_uniq.178\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.226\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.223\"},{\"kind\":\"fvar\",\"id\":\"_uniq.225\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.226\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.228\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.227\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.233\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Search\",\"index\":2,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.280\",\"parameters\":[{\"id\":\"_uniq.238\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.239\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.240\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.239\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.241\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.240\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.242\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Search\",\"index\":3,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.243\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Ledger\",\"index\":0,\"value\":\"_uniq.242\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.244\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.245\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.244\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.246\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.245\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.247\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.241\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.243\"},{\"kind\":\"fvar\",\"id\":\"_uniq.246\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.248\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Ledger\",\"index\":1,\"value\":\"_uniq.242\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.249\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Node\",\"index\":0,\"value\":\"_uniq.126\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.250\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.attempts\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.249\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.251\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.241\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.248\"},{\"kind\":\"fvar\",\"id\":\"_uniq.250\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.252\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Ledger\",\"index\":2,\"value\":\"_uniq.242\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.253\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.254\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.253\"},{\"kind\":\"fvar\",\"id\":\"_uniq.174\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.255\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.241\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.252\"},{\"kind\":\"fvar\",\"id\":\"_uniq.254\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.256\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Ledger\",\"index\":3,\"value\":\"_uniq.242\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.257\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.241\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.256\"},{\"kind\":\"fvar\",\"id\":\"_uniq.246\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.258\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Ledger\",\"index\":4,\"value\":\"_uniq.242\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.259\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.241\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.258\"},{\"kind\":\"fvar\",\"id\":\"_uniq.246\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.268\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Ledger\",\"index\":5,\"value\":\"_uniq.242\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.269\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.253\"},{\"kind\":\"fvar\",\"id\":\"_uniq.208\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.270\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.268\"},{\"kind\":\"fvar\",\"id\":\"_uniq.269\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.271\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.272\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.270\"},{\"kind\":\"fvar\",\"id\":\"_uniq.271\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.279\",\"parameters\":[{\"id\":\"_uniq.275\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.276\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Ledger.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.247\"},{\"kind\":\"fvar\",\"id\":\"_uniq.251\"},{\"kind\":\"fvar\",\"id\":\"_uniq.255\"},{\"kind\":\"fvar\",\"id\":\"_uniq.257\"},{\"kind\":\"fvar\",\"id\":\"_uniq.259\"},{\"kind\":\"fvar\",\"id\":\"_uniq.275\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.277\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.208\"},{\"kind\":\"fvar\",\"id\":\"_uniq.209\"},{\"kind\":\"fvar\",\"id\":\"_uniq.238\"},{\"kind\":\"fvar\",\"id\":\"_uniq.276\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.278\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.277\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.278\"}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"discriminant\":\"_uniq.272\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.273\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.279\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.268\"}]}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.274\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.279\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.269\"}]}}]}}}}}}}}}}}}}}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.286\",\"parameters\":[{\"id\":\"_uniq.284\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.285\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.218\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.284\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.280\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.285\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.283\",\"parameters\":[{\"id\":\"_uniq.281\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.282\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.228\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.281\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.280\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.282\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"discriminant\":\"_uniq.233\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.234\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.283\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.234\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.236\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.286\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.236\"}]}}}]}}}}}}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.288\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.287\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.296\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Node\",\"index\":0,\"value\":\"_uniq.126\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.297\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.accept\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},{\"kind\":\"fvar\",\"id\":\"_uniq.296\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"discriminant\":\"_uniq.297\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.298\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.299\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.288\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.298\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.299\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.300\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.301\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.162\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.300\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.301\"}}}]}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.304\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.303\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.313\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Search\",\"index\":0,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"discriminant\":\"_uniq.313\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.314\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.315\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.116\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.314\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.315\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.316\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.317\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.318\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.304\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.316\"},{\"kind\":\"fvar\",\"id\":\"_uniq.317\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.318\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.321\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.320\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.329\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Search\",\"index\":1,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"discriminant\":\"_uniq.329\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.330\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.331\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.321\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.330\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.331\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.332\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.333\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.102\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.332\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.333\"}}}]}}}}}}},\"uses\":[\"Add\",\"Bool\",\"Decidable\",\"HAdd\",\"List\",\"Nat\",\"OfNat\",\"Option\",\"PUnit\",\"Prod\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"List.cons\",\"List.nil\",\"Nat.blt\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Unit.unit\",\"Reasoning.Screening.LexLeanCollections.listFold\",\"Reasoning.Screening.LexLeanRuntime.Appendable\",\"Reasoning.Screening.LexLeanRuntime.Lengthable\",\"Reasoning.Screening.LexLeanRuntime.append\",\"Reasoning.Screening.LexLeanRuntime.instAppendableList\",\"Reasoning.Screening.LexLeanRuntime.instLengthableList\",\"Reasoning.Screening.LexLeanRuntime.length\",\"Reasoning.Screening.Screen.Ledger\",\"Reasoning.Screening.Screen.Node\",\"Reasoning.Screening.Screen.Search\",\"Reasoning.Screening.Screen.accept\",\"Reasoning.Screening.Screen.attempts\",\"Reasoning.Screening.Screen.successors\",\"Reasoning.Screening.Screen.Ledger.mk\",\"Reasoning.Screening.Screen.Search.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.start\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"List\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"instOfNatNat\",\"ite\",\"Bool.true\",\"List.cons\",\"List.nil\",\"Nat.blt\",\"OfNat.ofNat\",\"Option.none\",\"Reasoning.Screening.LexLeanCollections.listFold\",\"Reasoning.Screening.LexLeanRuntime.append\",\"Reasoning.Screening.LexLeanRuntime.instAppendableList\",\"Reasoning.Screening.LexLeanRuntime.instLengthableList\",\"Reasoning.Screening.LexLeanRuntime.length\",\"Reasoning.Screening.Screen.Node\",\"Reasoning.Screening.Screen.Step\",\"Reasoning.Screening.Screen.observe\",\"Reasoning.Screening.Screen.Ledger.mk\",\"Reasoning.Screening.Screen.Node.mk\",\"Reasoning.Screening.Screen.Search.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.42\",\"parameters\":[{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"discriminant\":\"_uniq.34\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.40\"}}}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.observe\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.44\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.48\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.52\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.55\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.59\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Ledger.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.64\"}}}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"List\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"instOfNatNat\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"List.cons\",\"List.nil\",\"Nat.blt\",\"Option.none\",\"Reasoning.Screening.LexLeanCollections.listFold\",\"Reasoning.Screening.LexLeanRuntime.Appendable\",\"Reasoning.Screening.LexLeanRuntime.Lengthable\",\"Reasoning.Screening.LexLeanRuntime.append\",\"Reasoning.Screening.LexLeanRuntime.instAppendableList\",\"Reasoning.Screening.LexLeanRuntime.instLengthableList\",\"Reasoning.Screening.LexLeanRuntime.length\",\"Reasoning.Screening.Screen.Ledger\",\"Reasoning.Screening.Screen.Node\",\"Reasoning.Screening.Screen.Search\",\"Reasoning.Screening.Screen.Step\",\"Reasoning.Screening.Screen.observe\",\"Reasoning.Screening.Screen.Ledger.mk\",\"Reasoning.Screening.Screen.Node.mk\",\"Reasoning.Screening.Screen.Search.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.successors\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Screen.Node\",\"Reasoning.Screening.Screen.Propose.successors\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Propose.successors\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"List\",\"Reasoning.Screening.Screen.Node\",\"Reasoning.Screening.Screen.Propose.successors\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.verdict\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Prod\",\"Except.error\",\"Except.ok\",\"Prod.fst\",\"Reasoning.Screening.Screen\",\"Reasoning.Screening.Screen.Step\",\"Reasoning.Screening.Screen.verdict.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.34\",\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.31\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.33\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.34\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.41\",\"parameters\":[{\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.40\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.41\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.53\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.42\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.55\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.35\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}]}}}}}}},\"uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Prod\",\"Except.error\",\"Except.ok\",\"Reasoning.Screening.Screen\",\"Reasoning.Screening.Screen.Step\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.LexLeanCollections.iterate.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.casesOn\",\"Nat.succ\",\"OfNat.ofNat\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Budget.LexLeanCollections.iterateUntil._f\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.below\",\"Nat.succ\",\"OfNat.ofNat\",\"Prod.mk\",\"Reasoning.Budget.LexLeanCollections.iterate.match_1\",\"Reasoning.Budget.LexLeanCollections.iterateUntil.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Budget.LexLeanCollections.iterateUntil.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.Step.Burn\",\"kind\":\"constructor\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.Step.Tick\",\"kind\":\"constructor\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.Step.casesOn\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Reasoning.Budget.Spend.Step\",\"Reasoning.Budget.Spend.Step.Burn\",\"Reasoning.Budget.Spend.Step.Tick\",\"Reasoning.Budget.Spend.Step.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.Step.rec\",\"kind\":\"recursor\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.accept.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.account.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Unit\",\"Bool.casesOn\",\"Bool.false\",\"Bool.true\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.conclude.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.fire.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Unit\",\"Unit.unit\",\"Reasoning.Budget.Spend.Step\",\"Reasoning.Budget.Spend.Step.Burn\",\"Reasoning.Budget.Spend.Step.Tick\",\"Reasoning.Budget.Spend.Step.casesOn\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.next.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Budget.Spend.Step\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.select.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Budget.Spend.Step\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.LexLeanCollections.iterate.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.casesOn\",\"Nat.succ\",\"OfNat.ofNat\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.LexLeanCollections.iterateUntil._f\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.below\",\"Nat.succ\",\"OfNat.ofNat\",\"Prod.mk\",\"Reasoning.Clinic.LexLeanCollections.iterate.match_1\",\"Reasoning.Clinic.LexLeanCollections.iterateUntil.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.LexLeanCollections.iterateUntil.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.LexLeanRuntime.Appendable.append\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.LexLeanRuntime.Appendable\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.LexLeanRuntime.Appendable.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Ledger.attempts\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Triage.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Ledger.expansions\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Triage.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Ledger.firings\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Triage.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Ledger.frontier\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Triage.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Ledger.iterations\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Triage.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Ledger.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Ledger.verifications\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Triage.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Run.ledger\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Triage.Run\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Run.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Run.state\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Triage.Run\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Run.trace\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Triage.Run\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Step.Escalate\",\"kind\":\"constructor\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Step.Fever\",\"kind\":\"constructor\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Step.Leukocytosis\",\"kind\":\"constructor\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Step.Sepsis\",\"kind\":\"constructor\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Step.Shock\",\"kind\":\"constructor\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Step.Sirs\",\"kind\":\"constructor\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Step.Tachycardia\",\"kind\":\"constructor\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Step.Tachypnea\",\"kind\":\"constructor\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Step.casesOn\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Triage.Step.Escalate\",\"Reasoning.Clinic.Triage.Step.Fever\",\"Reasoning.Clinic.Triage.Step.Leukocytosis\",\"Reasoning.Clinic.Triage.Step.Sepsis\",\"Reasoning.Clinic.Triage.Step.Shock\",\"Reasoning.Clinic.Triage.Step.Sirs\",\"Reasoning.Clinic.Triage.Step.Tachycardia\",\"Reasoning.Clinic.Triage.Step.Tachypnea\",\"Reasoning.Clinic.Triage.Step.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Step.rec\",\"kind\":\"recursor\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.accept.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.account.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Unit\",\"Bool.casesOn\",\"Bool.false\",\"Bool.true\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.conclude.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.fire.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Unit\",\"Unit.unit\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Triage.Step.Escalate\",\"Reasoning.Clinic.Triage.Step.Fever\",\"Reasoning.Clinic.Triage.Step.Leukocytosis\",\"Reasoning.Clinic.Triage.Step.Sepsis\",\"Reasoning.Clinic.Triage.Step.Shock\",\"Reasoning.Clinic.Triage.Step.Sirs\",\"Reasoning.Clinic.Triage.Step.Tachycardia\",\"Reasoning.Clinic.Triage.Step.Tachypnea\",\"Reasoning.Clinic.Triage.Step.casesOn\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.next.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Clinic.Triage.Step\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.replay.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Clinic.Chart\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.select.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Clinic.Triage.Step\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.Step.Escalate\",\"kind\":\"constructor\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.Step.Fever\",\"kind\":\"constructor\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.Step.Leukocytosis\",\"kind\":\"constructor\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.Step.Sepsis\",\"kind\":\"constructor\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.Step.Shock\",\"kind\":\"constructor\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.Step.Sirs\",\"kind\":\"constructor\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.Step.Tachycardia\",\"kind\":\"constructor\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.Step.Tachypnea\",\"kind\":\"constructor\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.Step.casesOn\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Main.Grade.Step\",\"Reasoning.Main.Grade.Step.Escalate\",\"Reasoning.Main.Grade.Step.Fever\",\"Reasoning.Main.Grade.Step.Leukocytosis\",\"Reasoning.Main.Grade.Step.Sepsis\",\"Reasoning.Main.Grade.Step.Shock\",\"Reasoning.Main.Grade.Step.Sirs\",\"Reasoning.Main.Grade.Step.Tachycardia\",\"Reasoning.Main.Grade.Step.Tachypnea\",\"Reasoning.Main.Grade.Step.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.Step.rec\",\"kind\":\"recursor\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.account.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Unit\",\"Bool.casesOn\",\"Bool.false\",\"Bool.true\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.conclude.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.fire.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Unit\",\"Unit.unit\",\"Reasoning.Main.Grade.Step\",\"Reasoning.Main.Grade.Step.Escalate\",\"Reasoning.Main.Grade.Step.Fever\",\"Reasoning.Main.Grade.Step.Leukocytosis\",\"Reasoning.Main.Grade.Step.Sepsis\",\"Reasoning.Main.Grade.Step.Shock\",\"Reasoning.Main.Grade.Step.Sirs\",\"Reasoning.Main.Grade.Step.Tachycardia\",\"Reasoning.Main.Grade.Step.Tachypnea\",\"Reasoning.Main.Grade.Step.casesOn\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.next.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Main.Grade.Step\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.select.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Main.Grade.Step\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.LexLeanCollections.iterate.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.casesOn\",\"Nat.succ\",\"OfNat.ofNat\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.LexLeanCollections.iterateUntil._f\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.below\",\"Nat.succ\",\"OfNat.ofNat\",\"Prod.mk\",\"Reasoning.Main.LexLeanCollections.iterate.match_1\",\"Reasoning.Main.LexLeanCollections.iterateUntil.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.LexLeanCollections.iterateUntil.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.LexLeanRuntime.Lengthable.length\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Main.LexLeanRuntime.Lengthable\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.LexLeanRuntime.Lengthable.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.LexLeanCollections.Key.compare\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.LexLeanCollections.Key\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.LexLeanCollections.Key.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.LexLeanCollections.compareCodes._sparseCasesOn_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Nat\",\"Ordering\",\"instOfNatNat\",\"Bool.false\",\"Eq.refl\",\"Nat.hasNotBit\",\"Nat.land\",\"Nat.ne_of_beq_eq_false\",\"Nat.shiftRight\",\"OfNat.ofNat\",\"Ordering.ctorIdx\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"Ordering.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.LexLeanCollections.compareCodes.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Ordering\",\"Unit\",\"Nat.hasNotBit\",\"Ordering.ctorIdx\",\"Ordering.eq\",\"Unit.unit\",\"Reasoning.Planner.LexLeanCollections.compareCodes._sparseCasesOn_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.LexLeanCollections.containsElement._f\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"List\",\"Ordering\",\"Unit\",\"Bool.false\",\"Bool.true\",\"List.below\",\"List.cons\",\"List.nil\",\"Reasoning.Planner.LexLeanCollections.Key\",\"Reasoning.Planner.LexLeanCollections.Key.compare\",\"Reasoning.Planner.LexLeanCollections.insertElement.match_1\",\"Reasoning.Planner.LexLeanCollections.insertEntry.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.LexLeanCollections.insertElement._f\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"List\",\"Ordering\",\"Unit\",\"List.below\",\"List.cons\",\"List.nil\",\"Reasoning.Planner.LexLeanCollections.Key\",\"Reasoning.Planner.LexLeanCollections.Key.compare\",\"Reasoning.Planner.LexLeanCollections.insertElement.match_1\",\"Reasoning.Planner.LexLeanCollections.insertEntry.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.LexLeanCollections.insertElement.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Unit\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.LexLeanCollections.insertEntry.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Ordering\",\"Unit\",\"Ordering.casesOn\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.LexLeanCollections.iterate.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.casesOn\",\"Nat.succ\",\"OfNat.ofNat\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.LexLeanCollections.iterateUntil._f\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.below\",\"Nat.succ\",\"OfNat.ofNat\",\"Prod.mk\",\"Reasoning.Planner.LexLeanCollections.iterate.match_1\",\"Reasoning.Planner.LexLeanCollections.iterateUntil.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.LexLeanCollections.iterateUntil.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.LexLeanRuntime.Appendable.append\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.LexLeanRuntime.Appendable\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.LexLeanRuntime.Appendable.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.LexLeanRuntime.Lengthable.length\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.LexLeanRuntime.Lengthable\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.LexLeanRuntime.Lengthable.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.EmptyB.successors\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"List.cons\",\"List.nil\",\"Reasoning.Planner.LexLeanRuntime.append\",\"Reasoning.Planner.LexLeanRuntime.instAppendableList\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Plan.fire\",\"Reasoning.Planner.Plan.Node.mk\",\"Reasoning.Planner.Plan.Node.state\",\"Reasoning.Planner.Plan.Node.trace\",\"Reasoning.Planner.Plan.Step.EmptyB\",\"Reasoning.Planner.Plan.replay.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.32\",\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.32\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.47\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Node\",\"index\":1,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step.EmptyB\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.46\"}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.47\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Node\",\"index\":0,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step.EmptyB\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.fire\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"discriminant\":\"_uniq.58\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.33\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.60\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.48\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.62\"}}}]}}}}}}}}},\"uses\":[\"List\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"List.cons\",\"List.nil\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Planner.LexLeanRuntime.Appendable\",\"Reasoning.Planner.LexLeanRuntime.append\",\"Reasoning.Planner.LexLeanRuntime.instAppendableList\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Plan.fire\",\"Reasoning.Planner.Plan.Node.mk\",\"Reasoning.Planner.Plan.Step.EmptyB\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.FillA.successors\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"List.cons\",\"List.nil\",\"Reasoning.Planner.LexLeanRuntime.append\",\"Reasoning.Planner.LexLeanRuntime.instAppendableList\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Plan.fire\",\"Reasoning.Planner.Plan.Node.mk\",\"Reasoning.Planner.Plan.Node.state\",\"Reasoning.Planner.Plan.Node.trace\",\"Reasoning.Planner.Plan.Step.FillA\",\"Reasoning.Planner.Plan.replay.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.32\",\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.32\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.47\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Node\",\"index\":1,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step.FillA\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.46\"}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.47\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Node\",\"index\":0,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step.FillA\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.fire\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"discriminant\":\"_uniq.58\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.33\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.60\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.48\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.62\"}}}]}}}}}}}}},\"uses\":[\"List\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"List.cons\",\"List.nil\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Planner.LexLeanRuntime.Appendable\",\"Reasoning.Planner.LexLeanRuntime.append\",\"Reasoning.Planner.LexLeanRuntime.instAppendableList\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Plan.fire\",\"Reasoning.Planner.Plan.Node.mk\",\"Reasoning.Planner.Plan.Step.FillA\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Ledger.attempts\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.Plan.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Ledger.expansions\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.Plan.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Ledger.firings\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.Plan.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Ledger.frontier\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.Plan.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Ledger.iterations\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.Plan.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Ledger.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Ledger.verifications\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.Plan.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Node.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Node.state\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.Plan.Node\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Node.trace\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.Plan.Node\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Pour.collect\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"List.cons\",\"List.nil\",\"Reasoning.Planner.LexLeanRuntime.append\",\"Reasoning.Planner.LexLeanRuntime.instAppendableList\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Plan.fire\",\"Reasoning.Planner.Plan.Node.mk\",\"Reasoning.Planner.Plan.Node.state\",\"Reasoning.Planner.Plan.Node.trace\",\"Reasoning.Planner.Plan.Step.Pour\",\"Reasoning.Planner.Plan.replay.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}}}},\"parameters\":[{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.43\",\"parameters\":[{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.35\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.43\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.61\",\"parameters\":[{\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Node\",\"index\":1,\"value\":\"_uniq.34\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step.Pour\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.48\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.60\"}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.61\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Node\",\"index\":0,\"value\":\"_uniq.34\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step.Pour\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.fire\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"},{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"discriminant\":\"_uniq.72\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.62\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.76\"}}}]}}}}}}}}},\"uses\":[\"List\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"List.cons\",\"List.nil\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Planner.LexLeanRuntime.Appendable\",\"Reasoning.Planner.LexLeanRuntime.append\",\"Reasoning.Planner.LexLeanRuntime.instAppendableList\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Plan.fire\",\"Reasoning.Planner.Plan.Node.mk\",\"Reasoning.Planner.Plan.Step.Pour\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Pour.successors\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"List.nil\",\"Reasoning.Planner.LexLeanCollections.listFold\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Pour.candidates\",\"Reasoning.Planner.Plan.Node.state\",\"Reasoning.Planner.Plan.Pour.collect\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.14\",\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Pour.collect\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Node\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Pour.candidates\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.18\"}}}}}}},\"uses\":[\"List\",\"Nat\",\"Prod\",\"List.nil\",\"Reasoning.Planner.LexLeanCollections.listFold\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Pour.candidates\",\"Reasoning.Planner.Plan.Pour.collect\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Search.found\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.Plan.Search\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Search.frontier\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.Plan.Search\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Search.ledger\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.Plan.Search\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Search.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Search.truncated\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.Plan.Search\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Search.visited\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.Plan.Search\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Step.EmptyB\",\"kind\":\"constructor\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Step.FillA\",\"kind\":\"constructor\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Step.Pour\",\"kind\":\"constructor\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Step.casesOn\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Plan.Step.EmptyB\",\"Reasoning.Planner.Plan.Step.FillA\",\"Reasoning.Planner.Plan.Step.Pour\",\"Reasoning.Planner.Plan.Step.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Step.rec\",\"kind\":\"recursor\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.fire.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Unit\",\"Unit.unit\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Plan.Step.EmptyB\",\"Reasoning.Planner.Plan.Step.FillA\",\"Reasoning.Planner.Plan.Step.Pour\",\"Reasoning.Planner.Plan.Step.casesOn\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.replay.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.searchStep.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.searchStep.match_3\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Unit\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Unit.unit\",\"Reasoning.Planner.Plan.Node\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.searchStep.match_5\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Planner.Plan.Node\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.verdict.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Prod\",\"Except.casesOn\",\"Except.error\",\"Except.ok\",\"Reasoning.Planner.Plan.Step\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.Ledger.attempts\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Dose.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.Ledger.expansions\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Dose.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.Ledger.firings\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Dose.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.Ledger.frontier\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Dose.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.Ledger.iterations\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Dose.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.Ledger.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.Ledger.verifications\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Dose.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.Trial.found\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Dose.Trial\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.Trial.ledger\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Dose.Trial\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.Trial.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.Trial.truncated\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Dose.Trial\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.try.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Unit\",\"Bool.casesOn\",\"Bool.false\",\"Bool.true\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.try.match_3\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.LexLeanCollections.iterate.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.casesOn\",\"Nat.succ\",\"OfNat.ofNat\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.LexLeanCollections.iterateUntil._f\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.below\",\"Nat.succ\",\"OfNat.ofNat\",\"Prod.mk\",\"Reasoning.Screening.LexLeanCollections.iterate.match_1\",\"Reasoning.Screening.LexLeanCollections.iterateUntil.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.LexLeanCollections.iterateUntil.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.LexLeanRuntime.Appendable.append\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.LexLeanRuntime.Appendable\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.LexLeanRuntime.Appendable.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.LexLeanRuntime.Lengthable.length\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.LexLeanRuntime.Lengthable\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.LexLeanRuntime.Lengthable.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Propose.candidates.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Prod\",\"Except.casesOn\",\"Except.error\",\"Except.ok\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Ledger.attempts\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Screen.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Ledger.expansions\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Screen.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Ledger.firings\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Screen.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Ledger.frontier\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Screen.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Ledger.iterations\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Screen.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Ledger.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Ledger.verifications\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Screen.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Node.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Node.state\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Screen.Node\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Node.trace\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Screen.Node\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Propose.collect\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"List.cons\",\"List.nil\",\"Reasoning.Screening.LexLeanRuntime.append\",\"Reasoning.Screening.LexLeanRuntime.instAppendableList\",\"Reasoning.Screening.Screen.Node\",\"Reasoning.Screening.Screen.Step\",\"Reasoning.Screening.Screen.fire\",\"Reasoning.Screening.Screen.Node.mk\",\"Reasoning.Screening.Screen.Node.state\",\"Reasoning.Screening.Screen.Node.trace\",\"Reasoning.Screening.Screen.Step.Propose\",\"Reasoning.Screening.Screen.replay.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}}}},\"parameters\":[{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.43\",\"parameters\":[{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.35\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.43\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.61\",\"parameters\":[{\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Node\",\"index\":1,\"value\":\"_uniq.34\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step.Propose\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.48\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.60\"}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.61\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Node\",\"index\":0,\"value\":\"_uniq.34\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step.Propose\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.fire\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"},{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"discriminant\":\"_uniq.72\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.62\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.76\"}}}]}}}}}}}}},\"uses\":[\"List\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"List.cons\",\"List.nil\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Screening.LexLeanRuntime.Appendable\",\"Reasoning.Screening.LexLeanRuntime.append\",\"Reasoning.Screening.LexLeanRuntime.instAppendableList\",\"Reasoning.Screening.Screen.Node\",\"Reasoning.Screening.Screen.Step\",\"Reasoning.Screening.Screen.fire\",\"Reasoning.Screening.Screen.Node.mk\",\"Reasoning.Screening.Screen.Step.Propose\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Propose.successors\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"List.nil\",\"Reasoning.Screening.LexLeanCollections.listFold\",\"Reasoning.Screening.Propose.candidates\",\"Reasoning.Screening.Screen.Node\",\"Reasoning.Screening.Screen.Node.state\",\"Reasoning.Screening.Screen.Propose.collect\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.14\",\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Propose.collect\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Node\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Propose.candidates\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.18\"}}}}}}},\"uses\":[\"List\",\"Nat\",\"Prod\",\"List.nil\",\"Reasoning.Screening.LexLeanCollections.listFold\",\"Reasoning.Screening.Propose.candidates\",\"Reasoning.Screening.Screen.Node\",\"Reasoning.Screening.Screen.Propose.collect\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Search.found\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Screen.Search\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Search.frontier\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Screen.Search\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Search.ledger\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Screen.Search\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Search.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Search.truncated\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Screen.Search\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Step.Propose\",\"kind\":\"constructor\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Step.casesOn\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Reasoning.Screening.Screen.Step\",\"Reasoning.Screening.Screen.Step.Propose\",\"Reasoning.Screening.Screen.Step.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Step.rec\",\"kind\":\"recursor\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.accept.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.fire.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Reasoning.Screening.Screen.Step\",\"Reasoning.Screening.Screen.Step.Propose\",\"Reasoning.Screening.Screen.Step.casesOn\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.replay.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.searchStep.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Unit\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Unit.unit\",\"Reasoning.Screening.Screen.Node\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.searchStep.match_3\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Screening.Screen.Node\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.verdict.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Prod\",\"Except.casesOn\",\"Except.error\",\"Except.ok\",\"Reasoning.Screening.Screen.Step\"],\"declaration\":null,\"inductive\":null}],\"externals\":[{\"name\":\"Add\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Bool\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Decidable\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Except\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"HAdd\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"HMul\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"HSub\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"List\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Mul\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Nat\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"OfNat\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Option\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Ord\",\"kind\":\"inductive\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Ordering\",\"kind\":\"inductive\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"PUnit\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Prod\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Sub\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"instAddNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instDecidableEqBool\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instHAdd\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instHMul\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instHSub\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instMulNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instOfNatNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instOrdNat\",\"kind\":\"definition\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instSubNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Bool.false\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Bool\"},{\"name\":\"Bool.not\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Bool.true\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Bool\"},{\"name\":\"Decidable.isFalse\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Decidable\"},{\"name\":\"Decidable.isTrue\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Decidable\"},{\"name\":\"Except.error\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Except\"},{\"name\":\"Except.ok\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Except\"},{\"name\":\"List.appendTR\",\"kind\":\"definition\",\"module\":\"Init.Data.List.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.cons\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"List\"},{\"name\":\"List.foldl\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.lengthTR\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.nil\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"List\"},{\"name\":\"Nat.beq\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Nat.ble\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Nat.blt\",\"kind\":\"definition\",\"module\":\"Init.Data.Nat.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Nat.succ\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Nat\"},{\"name\":\"Nat.zero\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Nat\"},{\"name\":\"Option.none\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Option\"},{\"name\":\"Option.some\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Option\"},{\"name\":\"Ordering.eq\",\"kind\":\"constructor\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Ordering\"},{\"name\":\"Ordering.gt\",\"kind\":\"constructor\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Ordering\"},{\"name\":\"Ordering.lt\",\"kind\":\"constructor\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Ordering\"},{\"name\":\"Prod.mk\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Prod\"},{\"name\":\"Unit.unit\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true}]}\n","stdout_sha256":"014844b87f084984e5f4025b7fb7f6486898a2b34989c2e6e76b07b48a456afe","tool":"lean"} +{"argv":["env","lean","$STAGING/extract/LexLeanExtract.Xf04b35f2e1794332ed2a5b996f01296f.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanExtract.Xf04b35f2e1794332ed2a5b996f01296f","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"{\"spec\":\"lexlean/lcnf-extraction/2\",\"lean\":{\"version\":\"4.32.1\",\"githash\":\"f054605aea4b840552cca2e725580bffd1e1b704\"},\"roots\":[\"Reasoning.Main.triageLevel\",\"Reasoning.Main.gatewayLevel\",\"Reasoning.Main.triageSteps\",\"Reasoning.Main.planLeft\",\"Reasoning.Main.doseLevel\",\"Reasoning.Main.gradeLevel\",\"Reasoning.Main.screenDose\",\"Reasoning.Main.spendLeft\"],\"constants\":[{\"name\":\"LexLeanCollections.Key\",\"kind\":\"inductive\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"LexLeanCollections.Key.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"LexLeanCollections.containsElement\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"List\",\"LexLeanCollections.Key\",\"List.brecOn\",\"LexLeanCollections.containsElement._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}}}},\"parameters\":[{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"borrow\":false},{\"id\":\"_uniq.62\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},\"borrow\":false},{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.71\",\"parameters\":[{\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.70\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.71\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.115\",\"parameters\":[{\"id\":\"_uniq.84\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},\"borrow\":false},{\"id\":\"_uniq.85\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.71\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.94\",\"parameters\":[{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.93\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.94\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.99\",\"parameters\":[{\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.containsElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"},{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},{\"kind\":\"fvar\",\"id\":\"_uniq.85\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.98\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.99\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanCollections.Key\",\"index\":0,\"value\":\"_uniq.61\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.106\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},{\"kind\":\"fvar\",\"id\":\"_uniq.84\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Ordering\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.107\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Ordering.lt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.90\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.108\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.109\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.eq\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.111\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.95\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.110\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.111\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.gt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.100\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.112\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.113\"}}}}]}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.115\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.63\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.72\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.125\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.126\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.127\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},\"borrow\":false},{\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.129\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.116\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.127\"},{\"kind\":\"fvar\",\"id\":\"_uniq.128\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.129\"}}}]}}}}}},\"uses\":[\"Bool\",\"List\",\"Ordering\",\"PUnit\",\"Bool.false\",\"Bool.true\",\"LexLeanCollections.Key\",\"LexLeanCollections.containsElement\",\"List.cons\",\"List.nil\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.insertElement\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"LexLeanCollections.Key\",\"List.brecOn\",\"LexLeanCollections.insertElement._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.62\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"borrow\":false},{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"borrow\":false},{\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.74\",\"parameters\":[{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.73\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.123\",\"parameters\":[{\"id\":\"_uniq.87\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"borrow\":false},{\"id\":\"_uniq.88\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.96\",\"parameters\":[{\"id\":\"_uniq.93\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.88\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.94\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.95\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.96\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.101\",\"parameters\":[{\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.88\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.100\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.101\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.107\",\"parameters\":[{\"id\":\"_uniq.104\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.insertElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.88\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.106\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.107\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanCollections.Key\",\"index\":0,\"value\":\"_uniq.63\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.114\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Ordering\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"discriminant\":\"_uniq.115\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Ordering.lt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.97\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.116\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.117\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.eq\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.118\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.102\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.118\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.119\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Ordering.gt\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.108\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.120\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.121\"}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.124\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.123\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"discriminant\":\"_uniq.65\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.75\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.133\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.134\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.135\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},\"borrow\":false},{\"id\":\"_uniq.136\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.135\"},{\"kind\":\"fvar\",\"id\":\"_uniq.136\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.137\"}}}]}}}}}},\"uses\":[\"List\",\"Ordering\",\"PUnit\",\"LexLeanCollections.Key\",\"LexLeanCollections.insertElement\",\"List.cons\",\"List.nil\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.instKeyNat\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOrdNat\",\"Ord.compare\",\"LexLeanCollections.Key.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"parameters\":[],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.1\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Ord\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instOrdNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"Ord\",\"index\":0,\"value\":\"_uniq.1\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.15\"}}}}},\"uses\":[\"Nat\",\"Ord\",\"Ordering\",\"instOrdNat\",\"LexLeanCollections.Key\",\"LexLeanCollections.Key.mk\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.instKeyProd\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Ordering\",\"Prod\",\"Unit\",\"LexLeanCollections.Key\",\"Prod.fst\",\"Prod.snd\",\"LexLeanCollections.Key.compare\",\"LexLeanCollections.Key.mk\",\"LexLeanCollections.compareCodes.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3},{\"kind\":\"bvar\",\"index\":2}]}]}}}}},\"parameters\":[{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"borrow\":false},{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.82\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"borrow\":false},{\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.56\",\"parameters\":[{\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanCollections.Key\",\"index\":0,\"value\":\"_uniq.37\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.44\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.45\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.52\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.55\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.62\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.61\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.62\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanCollections.Key\",\"index\":0,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.44\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.45\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.69\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"},{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Ordering\",\"result_type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"discriminant\":\"_uniq.72\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Ordering.eq\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.57\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}}},{\"kind\":\"default\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.79\",\"parameters\":[{\"id\":\"_uniq.77\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"erased\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.63\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.78\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"Ordering\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.79\",\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"any\"}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.80\"}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.82\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.83\"}}}},\"uses\":[\"Ordering\",\"PUnit\",\"Prod\",\"LexLeanCollections.Key\",\"Ordering.eq\",\"Unit.unit\",\"LexLeanCollections.Key.mk\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.iterateUntil\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Nat\",\"Option\",\"Prod\",\"Nat.brecOn\",\"LexLeanCollections.iterateUntil._f\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}}}},\"parameters\":[{\"id\":\"_uniq.65\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.68\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]}},\"borrow\":false},{\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.79\",\"parameters\":[{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.78\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.79\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.121\",\"parameters\":[{\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.101\",\"parameters\":[{\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},{\"kind\":\"fvar\",\"id\":\"_uniq.99\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.100\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.101\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.106\",\"parameters\":[{\"id\":\"_uniq.104\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.iterateUntil\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.68\"},{\"kind\":\"fvar\",\"id\":\"_uniq.91\"},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.105\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.106\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.68\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"discriminant\":\"_uniq.115\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.102\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.116\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.117\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.118\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.107\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.118\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.119\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.121\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Nat\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"discriminant\":\"_uniq.69\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Nat.zero\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.80\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.128\"}}},{\"kind\":\"constructor\",\"constructor\":\"Nat.succ\",\"parameters\":[{\"id\":\"_uniq.129\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.122\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.129\"},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.130\"}}}]}}}}}},\"uses\":[\"Bool\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"Bool.false\",\"Bool.true\",\"LexLeanCollections.iterateUntil\",\"Nat.succ\",\"Nat.zero\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.listFold\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.foldl\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}}},\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}}},\"borrow\":false},{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"borrow\":false},{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},\"value\":{\"kind\":\"const\",\"name\":\"List.foldl\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.64\"}}},\"uses\":[\"List\",\"List.foldl\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.setContains\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"LexLeanCollections.Key\",\"LexLeanCollections.containsElement\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}}}},\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.containsElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.23\"}}},\"uses\":[\"Bool\",\"List\",\"LexLeanCollections.Key\",\"LexLeanCollections.containsElement\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.setInsert\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"LexLeanCollections.Key\",\"LexLeanCollections.insertElement\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":3}]}}}}},\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"borrow\":false},{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.insertElement\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.23\"}}},\"uses\":[\"List\",\"LexLeanCollections.Key\",\"LexLeanCollections.insertElement\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.Appendable\",\"kind\":\"inductive\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"LexLeanRuntime.Appendable.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"bvar\",\"index\":2}}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"LexLeanRuntime.Lengthable\",\"kind\":\"inductive\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"LexLeanRuntime.Lengthable.mk\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"LexLeanRuntime.append\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Appendable\",\"LexLeanRuntime.Appendable.append\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"borrow\":false},{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Appendable\",\"index\":0,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.29\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.40\"}}}},\"uses\":[\"LexLeanRuntime.Appendable\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.instAppendableList\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.append\",\"LexLeanRuntime.Appendable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]}]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}}},\"value\":{\"kind\":\"const\",\"name\":\"List.appendTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}}},\"uses\":[\"List\",\"LexLeanRuntime.Appendable\",\"List.appendTR\",\"LexLeanRuntime.Appendable.mk\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.instLengthableList\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"List.length\",\"LexLeanRuntime.Lengthable.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]}]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"const\",\"name\":\"List.lengthTR\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.10\"}}}},\"uses\":[\"List\",\"Nat\",\"LexLeanRuntime.Lengthable\",\"List.lengthTR\",\"LexLeanRuntime.Lengthable.mk\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.length\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Lengthable\",\"LexLeanRuntime.Lengthable.length\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}},\"parameters\":[{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"projection\",\"type_name\":\"LexLeanRuntime.Lengthable\",\"index\":0,\"value\":\"_uniq.16\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.18\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.19\"}}}},\"uses\":[\"Nat\",\"LexLeanRuntime.Lengthable\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.multiply\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Mul\",\"instHMul\",\"HMul.hMul\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HMul\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instHMul\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HMul\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}}},\"uses\":[\"HMul\",\"Mul\",\"instHMul\"]},\"inductive\":null},{\"name\":\"LexLeanRuntime.subtract\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Sub\",\"instHSub\",\"HSub.hSub\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":1},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":2},\"codomain\":{\"kind\":\"bvar\",\"index\":3}}}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HSub\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instHSub\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"codomain\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HSub\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}}},\"uses\":[\"HSub\",\"Sub\",\"instHSub\"]},\"inductive\":null},{\"name\":\"LexLeanCollections.Key.compare\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanCollections.Key\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.Key.mk\",\"kind\":\"constructor\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.compareCodes._sparseCasesOn_1\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Nat\",\"Ordering\",\"instOfNatNat\",\"Bool.false\",\"Eq.refl\",\"Nat.hasNotBit\",\"Nat.land\",\"Nat.ne_of_beq_eq_false\",\"Nat.shiftRight\",\"OfNat.ofNat\",\"Ordering.ctorIdx\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"Ordering.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.compareCodes.match_1\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Ordering\",\"Unit\",\"Nat.hasNotBit\",\"Ordering.ctorIdx\",\"Ordering.eq\",\"Unit.unit\",\"LexLeanCollections.compareCodes._sparseCasesOn_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.containsElement._f\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"List\",\"Ordering\",\"Unit\",\"Bool.false\",\"Bool.true\",\"LexLeanCollections.Key\",\"List.below\",\"List.cons\",\"List.nil\",\"LexLeanCollections.Key.compare\",\"LexLeanCollections.insertElement.match_1\",\"LexLeanCollections.insertEntry.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.insertElement._f\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"List\",\"Ordering\",\"Unit\",\"LexLeanCollections.Key\",\"List.below\",\"List.cons\",\"List.nil\",\"LexLeanCollections.Key.compare\",\"LexLeanCollections.insertElement.match_1\",\"LexLeanCollections.insertEntry.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.insertElement.match_1\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Unit\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.insertEntry.match_1\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Ordering\",\"Unit\",\"Ordering.casesOn\",\"Ordering.eq\",\"Ordering.gt\",\"Ordering.lt\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.iterate.match_1\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.casesOn\",\"Nat.succ\",\"OfNat.ofNat\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.iterateUntil._f\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":true,\"kernel_uses\":[\"Bool\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.below\",\"Nat.succ\",\"OfNat.ofNat\",\"Prod.mk\",\"LexLeanCollections.iterate.match_1\",\"LexLeanCollections.iterateUntil.match_1\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanCollections.iterateUntil.match_1\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Collections\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Appendable.append\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Appendable\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Appendable.mk\",\"kind\":\"constructor\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Lengthable.length\",\"kind\":\"definition\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"LexLeanRuntime.Lengthable\"],\"declaration\":null,\"inductive\":null},{\"name\":\"LexLeanRuntime.Lengthable.mk\",\"kind\":\"constructor\",\"module\":\"LexLeanRuntime.Portable\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Budget.emptyCheck\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.beq\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"bvar\",\"index\":0},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},\"borrow\":false},{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"Nat.beq\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Chart\",\"kind\":\"inductive\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Clinic.Chart.mk\",\"parameters\":0,\"fields\":9,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}}}}}}}}}}}]}},{\"name\":\"Reasoning.Clinic.Triage\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Prod\",\"Unit\",\"Bool.false\",\"Except.error\",\"Except.ok\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Triage.Run\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Triage.conclude\",\"Reasoning.Clinic.Triage.match_1\",\"Reasoning.Clinic.Triage.run\",\"Reasoning.Clinic.Triage.Run.state\",\"Reasoning.Clinic.Triage.Run.trace\",\"Reasoning.Clinic.Triage.account.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]}},\"parameters\":[{\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.run\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.100\",\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.73\",\"parameters\":[{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.46\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Triage.Run\",\"index\":1,\"value\":\"_uniq.60\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.65\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.72\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.73\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.80\",\"parameters\":[{\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.79\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.80\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.46\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Triage.Run\",\"index\":0,\"value\":\"_uniq.92\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.conclude\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.93\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]},\"discriminant\":\"_uniq.94\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.95\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.96\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.81\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.95\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.96\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.98\"}}}]}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.100\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.107\",\"parameters\":[{\"id\":\"_uniq.103\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"},{\"kind\":\"fvar\",\"id\":\"_uniq.104\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.105\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.106\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.107\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.46\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]},\"discriminant\":\"_uniq.113\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.108\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.115\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.101\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.116\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.117\"}}}}]}}}}}}}}},\"uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"PUnit\",\"Prod\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Triage.Run\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Triage.conclude\",\"Reasoning.Clinic.Triage.run\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Vitals\",\"kind\":\"inductive\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Clinic.Vitals.mk\",\"parameters\":0,\"fields\":6,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]}}}}}}}}]}},{\"name\":\"Reasoning.Clinic.feverish\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.blt\",\"OfNat.ofNat\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Vitals.temperature\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"380\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Vitals\",\"index\":0,\"value\":\"_uniq.6\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.11\"}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"Nat.blt\",\"Reasoning.Clinic.Vitals\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.hypotensive\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.blt\",\"OfNat.ofNat\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Vitals.systolic\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Vitals\",\"index\":4,\"value\":\"_uniq.6\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"90\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.11\"}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"Nat.blt\",\"Reasoning.Clinic.Vitals\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.leukocytic\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.blt\",\"OfNat.ofNat\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Vitals.whiteCells\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"12\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Vitals\",\"index\":3,\"value\":\"_uniq.6\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.11\"}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"Nat.blt\",\"Reasoning.Clinic.Vitals\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.recommendationCheck\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Bool.and\",\"Bool.not\",\"Bool.or\",\"Nat.beq\",\"Nat.ble\",\"OfNat.ofNat\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.feverish\",\"Reasoning.Clinic.hypotensive\",\"Reasoning.Clinic.tachycardic\",\"Reasoning.Clinic.Vitals.infection\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.72\",\"parameters\":[{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.71\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.72\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.176\",\"parameters\":[{\"id\":\"_uniq.78\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.84\",\"parameters\":[{\"id\":\"_uniq.82\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.83\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.85\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.84\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.161\",\"parameters\":[{\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.72\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.141\",\"parameters\":[{\"id\":\"_uniq.96\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.72\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.125\",\"parameters\":[{\"id\":\"_uniq.105\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.72\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.113\",\"parameters\":[{\"id\":\"_uniq.111\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.tachycardic\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.112\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.113\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.feverish\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.119\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.109\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.120\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.121\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.114\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.122\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.123\"}}}}]}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.125\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Vitals\",\"index\":5,\"value\":\"_uniq.63\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.132\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.132\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.133\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.131\"},{\"kind\":\"fvar\",\"id\":\"_uniq.134\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.135\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.100\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.136\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.137\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.139\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.126\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.138\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.139\"}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.141\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.147\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.hypotensive\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.154\",\"parameters\":[{\"id\":\"_uniq.152\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.153\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.not\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.152\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.153\"}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.160\",\"parameters\":[{\"id\":\"_uniq.158\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.159\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.142\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.158\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.154\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.159\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.157\",\"parameters\":[{\"id\":\"_uniq.155\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.156\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.91\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.155\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.154\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.156\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.147\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.148\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.157\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.148\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.150\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.160\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.150\"}]}}}]}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.162\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.161\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.167\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.168\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.167\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.169\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.168\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.170\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.169\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.170\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.171\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.172\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.162\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.171\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.172\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.173\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.174\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.85\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.173\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.174\"}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.177\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.176\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.182\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.183\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.182\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.184\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.183\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.185\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"},{\"kind\":\"fvar\",\"id\":\"_uniq.184\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.185\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.186\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.187\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.73\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.186\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.187\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.188\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.189\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.177\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.188\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.189\"}}}}]}}}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"PUnit\",\"instOfNatNat\",\"Bool.false\",\"Bool.not\",\"Bool.true\",\"Nat.beq\",\"Nat.ble\",\"Unit.unit\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.feverish\",\"Reasoning.Clinic.hypotensive\",\"Reasoning.Clinic.tachycardic\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.tachycardic\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.blt\",\"OfNat.ofNat\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Vitals.heartRate\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"90\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Vitals\",\"index\":1,\"value\":\"_uniq.6\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.11\"}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"Nat.blt\",\"Reasoning.Clinic.Vitals\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.tachypneic\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Nat.blt\",\"OfNat.ofNat\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Vitals.respiratoryRate\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"20\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Vitals\",\"index\":2,\"value\":\"_uniq.6\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.11\"}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"Nat.blt\",\"Reasoning.Clinic.Vitals\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.GatewayModel\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Vitals\",\"Reasoning.Main.GatewayTriage\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.GatewayTriage\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Main.GatewayTriage\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.GatewayTriage\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Triage.verdict\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.verdict\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Triage.verdict\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.doseLevel\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Main.Grade.match_1\",\"Reasoning.Screening.Dose.verdict\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.32\",\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.32\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.41\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.40\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.41\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.verdict\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.53\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.42\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.55\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.33\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}]}}}}}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"Except.error\",\"Except.ok\",\"Reasoning.Screening.Dose.verdict\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.gatewayLevel\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Main.GatewayModel\",\"Reasoning.Clinic.Vitals.mk\",\"Reasoning.Main.Grade.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}}}}},\"parameters\":[{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.67\",\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.66\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.67\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.76\",\"parameters\":[{\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.74\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.75\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.76\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.GatewayModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.88\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.89\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.90\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.77\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.90\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.91\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.68\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.93\"}}}]}}}}}}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"Except.error\",\"Except.ok\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Main.GatewayModel\",\"Reasoning.Clinic.Vitals.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.gradeLevel\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Clinic.Vitals.mk\",\"Reasoning.Main.Grade.match_1\",\"Reasoning.Main.Grade.verdict\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}}}}},\"parameters\":[{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.67\",\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.66\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.67\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.76\",\"parameters\":[{\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.74\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.75\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.76\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.verdict\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.88\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.89\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.90\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.77\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.90\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.91\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.68\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.93\"}}}]}}}}}}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"Except.error\",\"Except.ok\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Vitals.mk\",\"Reasoning.Main.Grade.verdict\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.planLeft\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"instOfNatNat\",\"OfNat.ofNat\",\"Prod.fst\",\"Reasoning.Main.planLeft.match_1\",\"Reasoning.Planner.Plan.verdict\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.33\",\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.31\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.32\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.33\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.42\",\"parameters\":[{\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.40\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.41\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.42\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.verdict\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.54\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.43\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.56\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.34\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.58\"}}}]}}}}}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"Except.error\",\"Except.ok\",\"Reasoning.Planner.Plan.verdict\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.screenDose\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Main.Grade.match_1\",\"Reasoning.Screening.Screen.verdict\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.32\",\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.32\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.41\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.40\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.41\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.verdict\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.53\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.42\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.55\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.33\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}]}}}}}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"Except.error\",\"Except.ok\",\"Reasoning.Screening.Screen.verdict\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.spendLeft\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"instOfNatNat\",\"OfNat.ofNat\",\"Prod.mk\",\"Reasoning.Budget.Spend.verdict\",\"Reasoning.Main.Grade.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.32\",\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.32\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.41\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.39\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.40\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.41\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.verdict\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.54\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.42\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.56\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.33\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.58\"}}}]}}}}}}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Reasoning.Budget.Spend.verdict\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.triageLevel\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Clinic.Triage.verdict\",\"Reasoning.Clinic.Vitals.mk\",\"Reasoning.Main.Grade.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}}}}},\"parameters\":[{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.67\",\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.66\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.67\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.76\",\"parameters\":[{\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"9\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.74\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.75\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.76\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.verdict\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.94\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.95\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.96\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.77\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.96\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.97\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.68\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.98\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.99\"}}}]}}}}}}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"Except.error\",\"Except.ok\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Triage.verdict\",\"Reasoning.Clinic.Vitals.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.triageSteps\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Prod\",\"instOfNatNat\",\"LexLeanRuntime.instLengthableList\",\"LexLeanRuntime.length\",\"OfNat.ofNat\",\"Prod.snd\",\"Reasoning.Clinic.Triage\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Vitals.mk\",\"Reasoning.Main.triageSteps.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}}}}}},\"parameters\":[{\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.70\",\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.66\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},{\"kind\":\"fvar\",\"id\":\"_uniq.68\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.69\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.70\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.79\",\"parameters\":[{\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.77\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.78\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.79\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.91\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.92\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.93\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.80\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.93\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.94\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.95\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.96\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.71\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.95\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.96\"}}}]}}}}}}}},\"uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"Except.error\",\"Except.ok\",\"LexLeanRuntime.Lengthable\",\"LexLeanRuntime.instLengthableList\",\"LexLeanRuntime.length\",\"Reasoning.Clinic.Triage\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Vitals.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Except.error\",\"Except.ok\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.Search\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Plan.failure\",\"Reasoning.Planner.Plan.run\",\"Reasoning.Planner.Plan.Node.trace\",\"Reasoning.Planner.Plan.Search.found\",\"Reasoning.Planner.Plan.Search.truncated\",\"Reasoning.Planner.Plan.searchStep.match_5\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]}]}},\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.run\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.31\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.44\",\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Node\",\"index\":1,\"value\":\"_uniq.38\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.60\",\"parameters\":[{\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.32\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.32\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Search\",\"index\":3,\"value\":\"_uniq.51\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.failure\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.59\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.60\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.32\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Search\",\"index\":2,\"value\":\"_uniq.69\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]}]},\"discriminant\":\"_uniq.70\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.61\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.72\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.73\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}}]}}}}}}}}}},\"uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"Except.error\",\"Except.ok\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Unit.unit\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.Search\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Plan.failure\",\"Reasoning.Planner.Plan.run\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.measuresCheck\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instOfNatNat\",\"Bool.and\",\"Nat.beq\",\"Nat.ble\",\"OfNat.ofNat\",\"Prod.fst\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.37\",\"parameters\":[{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.36\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.37\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.46\",\"parameters\":[{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.29\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.43\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.45\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.46\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.29\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.52\"},{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.53\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.38\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.55\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.47\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}}]}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"PUnit\",\"Prod\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.beq\",\"Nat.ble\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.DoseCandidates\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"instSubNat\",\"LexLeanRuntime.subtract\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"10\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"20\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.13\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"30\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.17\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"50\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.21\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.26\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.28\"}}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"List\",\"Nat\",\"OfNat\",\"Sub\",\"instOfNatNat\",\"instSubNat\",\"LexLeanRuntime.subtract\",\"List.cons\",\"List.nil\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.DoseModel\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Reasoning.Screening.DoseCandidates\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.DoseCandidates\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"List\",\"Nat\",\"Reasoning.Screening.DoseCandidates\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Except.error\",\"Except.ok\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Reasoning.Screening.Screen.Node\",\"Reasoning.Screening.Screen.Search\",\"Reasoning.Screening.Screen.Step\",\"Reasoning.Screening.Screen.failure\",\"Reasoning.Screening.Screen.run\",\"Reasoning.Screening.Screen.Node.trace\",\"Reasoning.Screening.Screen.Search.found\",\"Reasoning.Screening.Screen.Search.truncated\",\"Reasoning.Screening.Screen.searchStep.match_3\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]}]}},\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.run\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.31\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.44\",\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Node\",\"index\":1,\"value\":\"_uniq.38\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.59\",\"parameters\":[{\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.32\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.32\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Search\",\"index\":2,\"value\":\"_uniq.51\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.failure\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.58\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.59\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.32\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Search\",\"index\":1,\"value\":\"_uniq.68\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]}]},\"discriminant\":\"_uniq.69\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.60\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.71\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.73\"}}}]}}}}}}}}}},\"uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"Except.error\",\"Except.ok\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Unit.unit\",\"Reasoning.Screening.Screen.Node\",\"Reasoning.Screening.Screen.Search\",\"Reasoning.Screening.Screen.Step\",\"Reasoning.Screening.Screen.failure\",\"Reasoning.Screening.Screen.run\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.safeCheck\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instAddNat\",\"instHAdd\",\"HAdd.hAdd\",\"Nat.ble\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.15\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}}}}}}},\"uses\":[\"Add\",\"Bool\",\"HAdd\",\"Nat\",\"instAddNat\",\"instHAdd\",\"Nat.ble\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.shortCheck\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"instOfNatNat\",\"LexLeanRuntime.instLengthableList\",\"LexLeanRuntime.length\",\"Nat.ble\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.16\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.18\"}}}}}}}},\"uses\":[\"Bool\",\"List\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"LexLeanRuntime.Lengthable\",\"LexLeanRuntime.instLengthableList\",\"LexLeanRuntime.length\",\"Nat.ble\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Burn.apply\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Budget.Burn.conclusion\",\"Reasoning.Budget.Burn.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}}},\"parameters\":[{\"id\":\"_uniq.19\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Burn.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.32\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.34\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Burn.conclusion\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.37\"}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Nat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Budget.Burn.conclusion\",\"Reasoning.Budget.Burn.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Burn.candidates\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instOfNatNat\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.17\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.21\"}}}}}}}}}}},\"uses\":[\"List\",\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"List.cons\",\"List.nil\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Burn.conclusion\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instSubNat\",\"LexLeanRuntime.subtract\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.17\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.17\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.22\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.23\"}}}}}}},\"uses\":[\"Nat\",\"Prod\",\"Sub\",\"instSubNat\",\"LexLeanRuntime.subtract\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Burn.guard\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instOfNatNat\",\"Bool.and\",\"Nat.ble\",\"Nat.blt\",\"OfNat.ofNat\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}}},\"parameters\":[{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.44\",\"parameters\":[{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.52\",\"parameters\":[{\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.49\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.51\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.52\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.35\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.59\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.61\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.53\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.63\"}}}}]}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"PUnit\",\"Prod\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.ble\",\"Nat.blt\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.Step\",\"kind\":\"inductive\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":1,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Budget.Spend.Step.Tick\",\"parameters\":1,\"fields\":0,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0}]}}},{\"name\":\"Reasoning.Budget.Spend.Step.Burn\",\"parameters\":1,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}}}}]}},{\"name\":\"Reasoning.Budget.Spend.accept\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Budget.emptyCheck\",\"Reasoning.Budget.Spend.extract\",\"Reasoning.Budget.Spend.accept.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}}},\"parameters\":[{\"id\":\"_uniq.39\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.49\",\"parameters\":[{\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.48\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.49\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.71\",\"parameters\":[{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.emptyCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.65\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.67\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.68\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.69\"}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.71\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.extract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.80\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.50\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.82\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.83\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.72\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.83\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.84\"}}}]}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Budget.emptyCheck\",\"Reasoning.Budget.Spend.extract\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.conclude\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Reasoning.Budget.Spend.accept\",\"Reasoning.Budget.Spend.extract\",\"Reasoning.Budget.Spend.conclude.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}}},\"parameters\":[{\"id\":\"_uniq.50\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.60\",\"parameters\":[{\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.59\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.60\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.100\",\"parameters\":[{\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.77\",\"parameters\":[{\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.76\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.77\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.85\",\"parameters\":[{\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"},{\"kind\":\"fvar\",\"id\":\"_uniq.82\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.83\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.84\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.85\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.extract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.94\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.96\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.86\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.95\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.96\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.97\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.78\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.97\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.98\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.100\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.accept\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.109\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.111\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.101\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.110\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.111\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.61\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.112\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.113\"}}}]}}}}}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Unit.unit\",\"Reasoning.Budget.Spend.accept\",\"Reasoning.Budget.Spend.extract\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.extract\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"Option.some\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.12\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.14\"}}}},\"uses\":[\"Nat\",\"Option\",\"Prod\",\"Option.some\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.fire\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Reasoning.Budget.Burn.apply\",\"Reasoning.Budget.Spend.Step\",\"Reasoning.Budget.Tick.apply\",\"Reasoning.Budget.Spend.fire.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":2},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}}},\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.46\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Tick.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.45\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.46\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.53\",\"parameters\":[{\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Burn.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.52\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.53\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Reasoning.Budget.Spend.Step\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.38\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Budget.Spend.Step.Tick\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.47\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.63\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Budget.Spend.Step.Burn\",\"parameters\":[{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.54\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.65\"}}}]}}}}}},\"uses\":[\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"Unit.unit\",\"Reasoning.Budget.Burn.apply\",\"Reasoning.Budget.Spend.Step\",\"Reasoning.Budget.Tick.apply\",\"Reasoning.Budget.Spend.Step.Burn\",\"Reasoning.Budget.Spend.Step.Tick\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.next\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Option.none\",\"Reasoning.Budget.Spend.Step\",\"Reasoning.Budget.Spend.fire\",\"Reasoning.Budget.Spend.select\",\"Reasoning.Budget.Spend.next.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.39\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.38\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.46\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.fire\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.45\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.46\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.select\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.55\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.47\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.59\"}}}]}}}}}}},\"uses\":[\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Budget.Spend.Step\",\"Reasoning.Budget.Spend.fire\",\"Reasoning.Budget.Spend.select\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.observe\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"OfNat.ofNat\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.12\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.15\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.12\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.19\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.16\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}}}}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Nat\",\"OfNat\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.saturate\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"LexLeanCollections.iterateUntil\",\"OfNat.ofNat\",\"Prod.snd\",\"Reasoning.Budget.Spend.next\",\"Reasoning.Budget.Spend.observe\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.next\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.15\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.12\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.35\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.32\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.observe\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.iterateUntil\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.39\"}}}}}}}}}}}}},\"uses\":[\"Add\",\"Bool\",\"HAdd\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"LexLeanCollections.iterateUntil\",\"Reasoning.Budget.Spend.next\",\"Reasoning.Budget.Spend.observe\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.select\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"LexLeanCollections.listFold\",\"Option.none\",\"Option.some\",\"Reasoning.Budget.Burn.candidates\",\"Reasoning.Budget.Burn.guard\",\"Reasoning.Budget.Spend.Step\",\"Reasoning.Budget.Tick.guard\",\"Reasoning.Budget.Spend.Step.Burn\",\"Reasoning.Budget.Spend.Step.Tick\",\"Reasoning.Budget.Spend.select.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1}]}]}}},\"parameters\":[{\"id\":\"_uniq.49\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.58\",\"parameters\":[{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.58\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.115\",\"parameters\":[{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.111\",\"parameters\":[{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"borrow\":false},{\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.58\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.97\",\"parameters\":[{\"id\":\"_uniq.77\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Burn.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.86\"},{\"kind\":\"fvar\",\"id\":\"_uniq.87\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"discriminant\":\"_uniq.88\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.89\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.90\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.91\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step.Burn\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.94\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.95\"}}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.97\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"discriminant\":\"_uniq.70\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.98\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.106\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.107\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.108\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.75\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.108\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.109\"}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Burn.candidates\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.111\"},{\"kind\":\"fvar\",\"id\":\"_uniq.112\"},{\"kind\":\"fvar\",\"id\":\"_uniq.113\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.114\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.115\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.132\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Tick.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.132\"},{\"kind\":\"fvar\",\"id\":\"_uniq.133\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.147\",\"parameters\":[{\"id\":\"_uniq.141\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"discriminant\":\"_uniq.141\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.143\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.116\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.142\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.143\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.144\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.59\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.144\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.145\"}}}]}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"discriminant\":\"_uniq.134\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.135\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.147\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.136\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.137\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.139\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step.Tick\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.140\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.Step\",\"levels\":[]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.139\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.147\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.140\"}]}}}}]}}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"List\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"LexLeanCollections.listFold\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Budget.Burn.candidates\",\"Reasoning.Budget.Burn.guard\",\"Reasoning.Budget.Spend.Step\",\"Reasoning.Budget.Tick.guard\",\"Reasoning.Budget.Spend.Step.Burn\",\"Reasoning.Budget.Spend.Step.Tick\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.verdict\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"Unit\",\"Bool.false\",\"Except.error\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Reasoning.Budget.Spend.conclude\",\"Reasoning.Budget.Spend.saturate\",\"Reasoning.Budget.Spend.account.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.saturate\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.36\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.44\",\"parameters\":[{\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.37\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Spend.conclude\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.51\",\"parameters\":[{\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.51\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.37\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.57\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.52\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.59\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.61\"}}}}]}}}}}}}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"PUnit\",\"Prod\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Prod.mk\",\"Unit.unit\",\"Reasoning.Budget.Spend.conclude\",\"Reasoning.Budget.Spend.saturate\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Tick.apply\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Budget.Tick.conclusion\",\"Reasoning.Budget.Tick.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.14\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Tick.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.26\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.28\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Budget.Tick.conclusion\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Nat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Budget.Tick.conclusion\",\"Reasoning.Budget.Tick.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Tick.conclusion\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instOfNatNat\",\"instSubNat\",\"LexLeanRuntime.subtract\",\"OfNat.ofNat\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":1},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.12\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.12\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.17\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.20\"}}}}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"Prod\",\"Sub\",\"instOfNatNat\",\"instSubNat\",\"LexLeanRuntime.subtract\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Tick.guard\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instOfNatNat\",\"Nat.blt\",\"OfNat.ofNat\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"sort\",\"level\":\"1\"},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"bvar\",\"index\":0},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"sort\",\"level\":\"1\"},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.12\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"Nat.blt\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Chart.fever\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Chart\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Chart.leukocytosis\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Chart\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Chart.level\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Chart\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Chart.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Chart.sepsis\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Chart\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Chart.shock\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Chart\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Chart.sirs\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Chart\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Chart.tachycardia\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Chart\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Chart.tachypnea\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Chart\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Chart.vitals\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Chart\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Escalate.apply\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Option\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Escalate.conclusion\",\"Reasoning.Clinic.Escalate.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Escalate.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"discriminant\":\"_uniq.20\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Escalate.conclusion\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.25\"}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Option\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Escalate.conclusion\",\"Reasoning.Clinic.Escalate.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Escalate.conclusion\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Chart.fever\",\"Reasoning.Clinic.Chart.leukocytosis\",\"Reasoning.Clinic.Chart.level\",\"Reasoning.Clinic.Chart.mk\",\"Reasoning.Clinic.Chart.sepsis\",\"Reasoning.Clinic.Chart.shock\",\"Reasoning.Clinic.Chart.sirs\",\"Reasoning.Clinic.Chart.tachycardia\",\"Reasoning.Clinic.Chart.tachypnea\",\"Reasoning.Clinic.Chart.vitals\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":0,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":1,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":2,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":3,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":4,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":5,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":6,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":7,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.15\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":8,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.19\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.16\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}}}}}}}}}}}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Nat\",\"OfNat\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Chart.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Escalate.guard\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Bool.and\",\"Bool.or\",\"Nat.beq\",\"Nat.blt\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Chart.level\",\"Reasoning.Clinic.Chart.sepsis\",\"Reasoning.Clinic.Chart.shock\",\"Reasoning.Clinic.Chart.sirs\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.74\",\"parameters\":[{\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.73\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.219\",\"parameters\":[{\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.86\",\"parameters\":[{\"id\":\"_uniq.84\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.85\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.85\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.86\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.174\",\"parameters\":[{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.96\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.86\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.129\",\"parameters\":[{\"id\":\"_uniq.101\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.113\",\"parameters\":[{\"id\":\"_uniq.107\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":7,\"value\":\"_uniq.66\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.109\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.111\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.110\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.108\"},{\"kind\":\"fvar\",\"id\":\"_uniq.111\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.112\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.113\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":8,\"value\":\"_uniq.66\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.120\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.121\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.119\"},{\"kind\":\"fvar\",\"id\":\"_uniq.122\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.123\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.124\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.105\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.124\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.125\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.127\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.114\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.126\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.127\"}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.129\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.146\",\"parameters\":[{\"id\":\"_uniq.140\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.141\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":6,\"value\":\"_uniq.66\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.143\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.142\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.144\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.143\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.141\"},{\"kind\":\"fvar\",\"id\":\"_uniq.144\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.145\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.147\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.146\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.152\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":8,\"value\":\"_uniq.66\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.153\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.154\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.153\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.155\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.154\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.156\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.152\"},{\"kind\":\"fvar\",\"id\":\"_uniq.155\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.167\",\"parameters\":[{\"id\":\"_uniq.161\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.161\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.162\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.163\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.130\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.162\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.163\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.164\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.165\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.96\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.164\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.165\"}}}}]}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.173\",\"parameters\":[{\"id\":\"_uniq.171\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.172\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.147\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.171\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.167\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.172\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.170\",\"parameters\":[{\"id\":\"_uniq.168\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.169\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.138\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.168\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.167\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.169\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.156\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.157\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.170\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.157\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.159\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.173\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.159\"}]}}}]}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.175\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.174\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.183\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.191\",\"parameters\":[{\"id\":\"_uniq.185\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.186\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":5,\"value\":\"_uniq.66\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.187\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.188\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.187\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.189\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.188\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.190\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.186\"},{\"kind\":\"fvar\",\"id\":\"_uniq.189\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.190\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.192\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.191\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.197\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":8,\"value\":\"_uniq.66\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.198\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.199\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.198\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.200\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.199\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.201\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.197\"},{\"kind\":\"fvar\",\"id\":\"_uniq.200\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.212\",\"parameters\":[{\"id\":\"_uniq.206\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.206\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.207\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.208\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.175\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.207\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.208\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.209\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.210\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.87\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.209\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.210\"}}}}]}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.215\",\"parameters\":[{\"id\":\"_uniq.213\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.214\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.183\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.213\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.212\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.214\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.218\",\"parameters\":[{\"id\":\"_uniq.216\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.217\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.192\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.216\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.212\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.217\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.201\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.202\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.215\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.202\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.204\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.218\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.204\"}]}}}]}}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.220\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.219\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.225\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":8,\"value\":\"_uniq.66\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.226\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.227\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.226\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.228\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.227\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.229\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.225\"},{\"kind\":\"fvar\",\"id\":\"_uniq.228\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.229\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.230\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.231\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.75\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.230\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.231\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.232\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.233\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.220\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.232\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.233\"}}}}]}}}}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"PUnit\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.beq\",\"Nat.blt\",\"Unit.unit\",\"Reasoning.Clinic.Chart\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Fever.apply\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Option\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Fever.conclusion\",\"Reasoning.Clinic.Fever.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Fever.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"discriminant\":\"_uniq.20\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Fever.conclusion\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.25\"}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Option\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Fever.conclusion\",\"Reasoning.Clinic.Fever.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Fever.conclusion\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Chart.leukocytosis\",\"Reasoning.Clinic.Chart.level\",\"Reasoning.Clinic.Chart.mk\",\"Reasoning.Clinic.Chart.sepsis\",\"Reasoning.Clinic.Chart.shock\",\"Reasoning.Clinic.Chart.sirs\",\"Reasoning.Clinic.Chart.tachycardia\",\"Reasoning.Clinic.Chart.tachypnea\",\"Reasoning.Clinic.Chart.vitals\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":0,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":2,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":3,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":4,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":5,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":6,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":7,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":8,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}}}}}}}}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"instOfNatNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Chart.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Fever.guard\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Bool.and\",\"Nat.beq\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.feverish\",\"Reasoning.Clinic.Chart.fever\",\"Reasoning.Clinic.Chart.vitals\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.30\",\"parameters\":[{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.29\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.30\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.36\",\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":0,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.feverish\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.35\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.36\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":1,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.44\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.46\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.31\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.48\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.37\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}}]}}}}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"PUnit\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.beq\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.feverish\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Leukocytosis.apply\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Option\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Leukocytosis.conclusion\",\"Reasoning.Clinic.Leukocytosis.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Leukocytosis.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"discriminant\":\"_uniq.20\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Leukocytosis.conclusion\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.25\"}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Option\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Leukocytosis.conclusion\",\"Reasoning.Clinic.Leukocytosis.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Leukocytosis.conclusion\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Chart.fever\",\"Reasoning.Clinic.Chart.level\",\"Reasoning.Clinic.Chart.mk\",\"Reasoning.Clinic.Chart.sepsis\",\"Reasoning.Clinic.Chart.shock\",\"Reasoning.Clinic.Chart.sirs\",\"Reasoning.Clinic.Chart.tachycardia\",\"Reasoning.Clinic.Chart.tachypnea\",\"Reasoning.Clinic.Chart.vitals\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":0,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":1,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":2,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":3,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.11\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":5,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":6,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":7,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":8,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}}}}}}}}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"instOfNatNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Chart.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Leukocytosis.guard\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Bool.and\",\"Nat.beq\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.leukocytic\",\"Reasoning.Clinic.Chart.leukocytosis\",\"Reasoning.Clinic.Chart.vitals\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.30\",\"parameters\":[{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.29\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.30\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.36\",\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":0,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.leukocytic\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.35\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.36\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":4,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.44\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.46\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.31\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.48\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.37\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}}]}}}}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"PUnit\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.beq\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.leukocytic\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Sepsis.apply\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Option\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Sepsis.conclusion\",\"Reasoning.Clinic.Sepsis.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Sepsis.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"discriminant\":\"_uniq.20\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Sepsis.conclusion\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.25\"}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Option\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Sepsis.conclusion\",\"Reasoning.Clinic.Sepsis.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Sepsis.conclusion\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Chart.fever\",\"Reasoning.Clinic.Chart.leukocytosis\",\"Reasoning.Clinic.Chart.level\",\"Reasoning.Clinic.Chart.mk\",\"Reasoning.Clinic.Chart.shock\",\"Reasoning.Clinic.Chart.sirs\",\"Reasoning.Clinic.Chart.tachycardia\",\"Reasoning.Clinic.Chart.tachypnea\",\"Reasoning.Clinic.Chart.vitals\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":0,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":1,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":2,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":3,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":4,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":5,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.13\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":7,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":8,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}}}}}}}}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"instOfNatNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Chart.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Sepsis.guard\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Bool.and\",\"Nat.beq\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Chart.sepsis\",\"Reasoning.Clinic.Chart.sirs\",\"Reasoning.Clinic.Chart.vitals\",\"Reasoning.Clinic.Vitals.infection\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.38\",\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.37\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.38\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.73\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.38\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.57\",\"parameters\":[{\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":0,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Vitals\",\"index\":5,\"value\":\"_uniq.51\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.54\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.52\"},{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.56\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.57\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":5,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.65\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.67\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.48\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.68\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.69\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.58\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.71\"}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.73\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":6,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.81\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.79\"},{\"kind\":\"fvar\",\"id\":\"_uniq.82\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.83\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.85\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.84\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.85\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.74\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.86\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.87\"}}}}]}}}}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"PUnit\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.beq\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Shock.apply\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Option\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Shock.conclusion\",\"Reasoning.Clinic.Shock.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Shock.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"discriminant\":\"_uniq.20\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Shock.conclusion\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.25\"}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Option\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Shock.conclusion\",\"Reasoning.Clinic.Shock.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Shock.conclusion\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Chart.fever\",\"Reasoning.Clinic.Chart.leukocytosis\",\"Reasoning.Clinic.Chart.level\",\"Reasoning.Clinic.Chart.mk\",\"Reasoning.Clinic.Chart.sepsis\",\"Reasoning.Clinic.Chart.sirs\",\"Reasoning.Clinic.Chart.tachycardia\",\"Reasoning.Clinic.Chart.tachypnea\",\"Reasoning.Clinic.Chart.vitals\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":0,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":1,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":2,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":3,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":4,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":5,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":6,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":8,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}}}}}}}}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"instOfNatNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Chart.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Shock.guard\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Bool.and\",\"Nat.beq\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.hypotensive\",\"Reasoning.Clinic.Chart.sepsis\",\"Reasoning.Clinic.Chart.shock\",\"Reasoning.Clinic.Chart.vitals\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.38\",\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.37\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.38\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.69\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.38\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.53\",\"parameters\":[{\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":0,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.hypotensive\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.52\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.53\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":6,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.61\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.63\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.48\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.65\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.54\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.67\"}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.69\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":7,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.77\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.79\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.81\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.70\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.82\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.83\"}}}}]}}}}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"PUnit\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.beq\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.hypotensive\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Sirs.apply\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Option\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Sirs.conclusion\",\"Reasoning.Clinic.Sirs.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Sirs.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"discriminant\":\"_uniq.20\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Sirs.conclusion\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.25\"}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Option\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Sirs.conclusion\",\"Reasoning.Clinic.Sirs.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Sirs.conclusion\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Chart.fever\",\"Reasoning.Clinic.Chart.leukocytosis\",\"Reasoning.Clinic.Chart.level\",\"Reasoning.Clinic.Chart.mk\",\"Reasoning.Clinic.Chart.sepsis\",\"Reasoning.Clinic.Chart.shock\",\"Reasoning.Clinic.Chart.tachycardia\",\"Reasoning.Clinic.Chart.tachypnea\",\"Reasoning.Clinic.Chart.vitals\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":0,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":1,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":2,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":3,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":4,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.12\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":6,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":7,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":8,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}}}}}}}}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"instOfNatNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Chart.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Sirs.guard\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Bool.and\",\"HAdd.hAdd\",\"Nat.beq\",\"Nat.ble\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Chart.fever\",\"Reasoning.Clinic.Chart.leukocytosis\",\"Reasoning.Clinic.Chart.sirs\",\"Reasoning.Clinic.Chart.tachycardia\",\"Reasoning.Clinic.Chart.tachypnea\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.30\",\"parameters\":[{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.29\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.30\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.48\",\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.35\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.38\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":1,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":2,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":3,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":4,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.44\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.47\"}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.48\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":5,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.56\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.58\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.31\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.60\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.49\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.62\"}}}}]}}}}}}}}}}},\"uses\":[\"Add\",\"Bool\",\"HAdd\",\"Nat\",\"OfNat\",\"PUnit\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.beq\",\"Nat.ble\",\"Unit.unit\",\"Reasoning.Clinic.Chart\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Tachycardia.apply\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Option\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Tachycardia.conclusion\",\"Reasoning.Clinic.Tachycardia.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Tachycardia.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"discriminant\":\"_uniq.20\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Tachycardia.conclusion\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.25\"}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Option\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Tachycardia.conclusion\",\"Reasoning.Clinic.Tachycardia.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Tachycardia.conclusion\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Chart.fever\",\"Reasoning.Clinic.Chart.leukocytosis\",\"Reasoning.Clinic.Chart.level\",\"Reasoning.Clinic.Chart.mk\",\"Reasoning.Clinic.Chart.sepsis\",\"Reasoning.Clinic.Chart.shock\",\"Reasoning.Clinic.Chart.sirs\",\"Reasoning.Clinic.Chart.tachypnea\",\"Reasoning.Clinic.Chart.vitals\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":0,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":1,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":3,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":4,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":5,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":6,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":7,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":8,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}}}}}}}}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"instOfNatNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Chart.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Tachycardia.guard\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Bool.and\",\"Nat.beq\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.tachycardic\",\"Reasoning.Clinic.Chart.tachycardia\",\"Reasoning.Clinic.Chart.vitals\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.30\",\"parameters\":[{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.29\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.30\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.36\",\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":0,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.tachycardic\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.35\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.36\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":2,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.44\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.46\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.31\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.48\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.37\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}}]}}}}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"PUnit\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.beq\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.tachycardic\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Tachypnea.apply\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Option\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Tachypnea.conclusion\",\"Reasoning.Clinic.Tachypnea.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Tachypnea.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"discriminant\":\"_uniq.20\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Tachypnea.conclusion\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.25\"}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Option\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Tachypnea.conclusion\",\"Reasoning.Clinic.Tachypnea.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Tachypnea.conclusion\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Chart.fever\",\"Reasoning.Clinic.Chart.leukocytosis\",\"Reasoning.Clinic.Chart.level\",\"Reasoning.Clinic.Chart.mk\",\"Reasoning.Clinic.Chart.sepsis\",\"Reasoning.Clinic.Chart.shock\",\"Reasoning.Clinic.Chart.sirs\",\"Reasoning.Clinic.Chart.tachycardia\",\"Reasoning.Clinic.Chart.vitals\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":0,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":1,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":2,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.10\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":4,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":5,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":6,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":7,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":8,\"value\":\"_uniq.5\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}}}}}}}}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"instOfNatNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Chart.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Tachypnea.guard\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Bool.and\",\"Nat.beq\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.tachypneic\",\"Reasoning.Clinic.Chart.tachypnea\",\"Reasoning.Clinic.Chart.vitals\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.30\",\"parameters\":[{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.29\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.30\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.36\",\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":0,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.tachypneic\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.35\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.36\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":3,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.44\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.42\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.46\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.31\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.48\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.37\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}}]}}}}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"PUnit\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.beq\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.tachypneic\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Ledger\",\"kind\":\"inductive\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Clinic.Triage.Ledger.mk\",\"parameters\":0,\"fields\":6,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Ledger\",\"levels\":[]}}}}}}}}]}},{\"name\":\"Reasoning.Clinic.Triage.Run\",\"kind\":\"inductive\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Clinic.Triage.Run.mk\",\"parameters\":0,\"fields\":3,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Ledger\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}}}}}]}},{\"name\":\"Reasoning.Clinic.Triage.Step\",\"kind\":\"inductive\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Clinic.Triage.Step.Fever\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Clinic.Triage.Step.Tachycardia\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Clinic.Triage.Step.Tachypnea\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Clinic.Triage.Step.Leukocytosis\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Clinic.Triage.Step.Sirs\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Clinic.Triage.Step.Sepsis\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Clinic.Triage.Step.Shock\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Clinic.Triage.Step.Escalate\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}}]}},{\"name\":\"Reasoning.Clinic.Triage.accept\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"Unit\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.recommendationCheck\",\"Reasoning.Clinic.Triage.extract\",\"Reasoning.Clinic.Triage.accept.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.41\",\"parameters\":[{\"id\":\"_uniq.39\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.40\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.41\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.63\",\"parameters\":[{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.recommendationCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.57\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.58\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.59\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.61\"}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.63\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.extract\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.72\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.42\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.64\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.76\"}}}]}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Nat\",\"Option\",\"PUnit\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.recommendationCheck\",\"Reasoning.Clinic.Triage.extract\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.attempts\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Prod\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instOfNatNat\",\"ite\",\"Bool.true\",\"HAdd.hAdd\",\"OfNat.ofNat\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Escalate.guard\",\"Reasoning.Clinic.Fever.guard\",\"Reasoning.Clinic.Leukocytosis.guard\",\"Reasoning.Clinic.Sepsis.guard\",\"Reasoning.Clinic.Shock.guard\",\"Reasoning.Clinic.Sirs.guard\",\"Reasoning.Clinic.Tachycardia.guard\",\"Reasoning.Clinic.Tachypnea.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Fever.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.48\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.50\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.51\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.245\",\"parameters\":[{\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.77\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.78\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.87\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.244\",\"parameters\":[{\"id\":\"_uniq.131\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.132\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.131\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.141\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.132\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.142\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.141\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.243\",\"parameters\":[{\"id\":\"_uniq.241\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.242\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.241\"},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.242\"}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.142\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.143\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.147\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Sirs.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.148\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.147\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.149\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.148\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.158\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.149\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.159\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.158\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.239\",\"parameters\":[{\"id\":\"_uniq.174\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.175\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.174\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.184\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.175\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.185\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.184\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.238\",\"parameters\":[{\"id\":\"_uniq.228\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.229\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.228\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.230\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.229\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.231\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.232\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.231\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.233\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.232\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.234\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.132\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.235\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.229\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.236\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.233\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.234\"},{\"kind\":\"fvar\",\"id\":\"_uniq.235\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.237\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.230\"},{\"kind\":\"fvar\",\"id\":\"_uniq.236\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.243\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.237\"}]}}}}}}}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.185\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.186\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.189\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Shock.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.190\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.189\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.191\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.190\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.200\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.191\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.201\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.200\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.226\",\"parameters\":[{\"id\":\"_uniq.216\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.217\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.216\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.218\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.217\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.219\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.220\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.219\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.221\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.220\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.222\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.175\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.223\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.217\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.224\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.221\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.222\"},{\"kind\":\"fvar\",\"id\":\"_uniq.223\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.225\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.218\"},{\"kind\":\"fvar\",\"id\":\"_uniq.224\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.238\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.225\"}]}}}}}}}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.201\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.202\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.204\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Escalate.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.205\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.204\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.206\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.205\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.207\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.206\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.208\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.209\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.208\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.210\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.209\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.211\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.191\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.212\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.206\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.213\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.210\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.211\"},{\"kind\":\"fvar\",\"id\":\"_uniq.212\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.214\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.207\"},{\"kind\":\"fvar\",\"id\":\"_uniq.213\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.226\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.214\"}]}}}}}}}}}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.215\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.226\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.191\"}]}}]}}}}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.227\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.238\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.175\"}]}}]}}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.159\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.160\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.162\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Sepsis.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.163\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.162\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.164\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.163\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.165\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.164\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.166\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.167\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.166\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.168\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.167\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.169\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.149\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.170\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.164\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.171\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.168\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.169\"},{\"kind\":\"fvar\",\"id\":\"_uniq.170\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.172\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.165\"},{\"kind\":\"fvar\",\"id\":\"_uniq.171\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.239\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.172\"}]}}}}}}}}}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.173\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.239\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.149\"}]}}]}}}}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.240\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.243\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.132\"}]}}]}}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.88\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.89\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Tachypnea.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.93\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.94\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.103\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.129\",\"parameters\":[{\"id\":\"_uniq.119\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.119\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.120\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.122\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.122\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.124\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.123\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.78\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.120\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.127\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.125\"},{\"kind\":\"fvar\",\"id\":\"_uniq.126\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.121\"},{\"kind\":\"fvar\",\"id\":\"_uniq.127\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.244\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.128\"}]}}}}}}}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.104\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.105\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Leukocytosis.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.107\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.108\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.110\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.109\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.111\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.111\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.112\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.94\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.109\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.113\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"},{\"kind\":\"fvar\",\"id\":\"_uniq.115\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.110\"},{\"kind\":\"fvar\",\"id\":\"_uniq.116\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.129\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.117\"}]}}}}}}}}}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.118\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.129\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.94\"}]}}]}}}}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.130\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.244\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]}}]}}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"discriminant\":\"_uniq.62\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Tachycardia.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.66\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.67\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.69\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.70\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.51\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.67\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.71\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.72\"},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.68\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.245\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]}}}}}}}}}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.245\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]}}]}}}}}}}}}}}},\"uses\":[\"Add\",\"Bool\",\"Decidable\",\"HAdd\",\"Nat\",\"OfNat\",\"Prod\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instOfNatNat\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Prod.mk\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Escalate.guard\",\"Reasoning.Clinic.Fever.guard\",\"Reasoning.Clinic.Leukocytosis.guard\",\"Reasoning.Clinic.Sepsis.guard\",\"Reasoning.Clinic.Shock.guard\",\"Reasoning.Clinic.Sirs.guard\",\"Reasoning.Clinic.Tachycardia.guard\",\"Reasoning.Clinic.Tachypnea.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.conclude\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Triage.accept\",\"Reasoning.Clinic.Triage.extract\",\"Reasoning.Clinic.Triage.conclude.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.52\",\"parameters\":[{\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.51\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.52\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.92\",\"parameters\":[{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.69\",\"parameters\":[{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.68\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.69\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.77\",\"parameters\":[{\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.76\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.77\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.extract\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.86\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.78\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.87\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.88\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.89\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.70\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.89\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.90\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.92\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.accept\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.43\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.101\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.93\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.102\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.103\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.104\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.53\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.104\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.105\"}}}]}}}}}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Triage.accept\",\"Reasoning.Clinic.Triage.extract\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.extract\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Chart.level\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":8,\"value\":\"_uniq.6\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}}}},\"uses\":[\"Nat\",\"Option\",\"Option.some\",\"Reasoning.Clinic.Chart\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.fire\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Escalate.apply\",\"Reasoning.Clinic.Fever.apply\",\"Reasoning.Clinic.Leukocytosis.apply\",\"Reasoning.Clinic.Sepsis.apply\",\"Reasoning.Clinic.Shock.apply\",\"Reasoning.Clinic.Sirs.apply\",\"Reasoning.Clinic.Tachycardia.apply\",\"Reasoning.Clinic.Tachypnea.apply\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Triage.fire.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.78\",\"parameters\":[{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Fever.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.77\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.78\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.83\",\"parameters\":[{\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Tachycardia.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.82\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.83\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.88\",\"parameters\":[{\"id\":\"_uniq.86\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Tachypnea.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.87\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.88\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.93\",\"parameters\":[{\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Leukocytosis.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.92\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.93\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.98\",\"parameters\":[{\"id\":\"_uniq.96\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Sirs.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.97\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.98\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.103\",\"parameters\":[{\"id\":\"_uniq.101\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Sepsis.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.102\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.103\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.108\",\"parameters\":[{\"id\":\"_uniq.106\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Shock.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.107\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.108\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.113\",\"parameters\":[{\"id\":\"_uniq.111\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Escalate.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.112\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.113\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Reasoning.Clinic.Triage.Step\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"discriminant\":\"_uniq.64\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Clinic.Triage.Step.Fever\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.79\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.125\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.126\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Clinic.Triage.Step.Tachycardia\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.127\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.84\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.127\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.128\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Clinic.Triage.Step.Tachypnea\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.129\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.89\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.129\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.130\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Clinic.Triage.Step.Leukocytosis\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.132\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.94\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.131\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.132\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Clinic.Triage.Step.Sirs\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.99\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.133\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.134\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Clinic.Triage.Step.Sepsis\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.104\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.135\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.136\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Clinic.Triage.Step.Shock\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.109\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.137\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.138\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Clinic.Triage.Step.Escalate\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.139\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.140\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.114\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.139\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.140\"}}}}]}}}}}}}}}}}}}}}}}},\"uses\":[\"Option\",\"PUnit\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Escalate.apply\",\"Reasoning.Clinic.Fever.apply\",\"Reasoning.Clinic.Leukocytosis.apply\",\"Reasoning.Clinic.Sepsis.apply\",\"Reasoning.Clinic.Shock.apply\",\"Reasoning.Clinic.Sirs.apply\",\"Reasoning.Clinic.Tachycardia.apply\",\"Reasoning.Clinic.Tachypnea.apply\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Triage.Step.Escalate\",\"Reasoning.Clinic.Triage.Step.Fever\",\"Reasoning.Clinic.Triage.Step.Leukocytosis\",\"Reasoning.Clinic.Triage.Step.Sepsis\",\"Reasoning.Clinic.Triage.Step.Shock\",\"Reasoning.Clinic.Triage.Step.Sirs\",\"Reasoning.Clinic.Triage.Step.Tachycardia\",\"Reasoning.Clinic.Triage.Step.Tachypnea\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"Except.casesOn\",\"Except.error\",\"Except.ok\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.next\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Option.none\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Triage.fire\",\"Reasoning.Clinic.Triage.select\",\"Reasoning.Clinic.Triage.next.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.32\",\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.32\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.39\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.fire\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.38\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.select\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"discriminant\":\"_uniq.48\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.33\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.52\"}}}]}}}}}}},\"uses\":[\"Option\",\"PUnit\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Triage.fire\",\"Reasoning.Clinic.Triage.select\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.observe\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Chart.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.7\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.9\"}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"instOfNatNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Chart.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.run\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"LexLeanCollections.iterateUntil\",\"OfNat.ofNat\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Triage.Run\",\"Reasoning.Clinic.Triage.start\",\"Reasoning.Clinic.Triage.step\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]}},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.step\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"11\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.start\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.iterateUntil\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.12\"}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"instOfNatNat\",\"LexLeanCollections.iterateUntil\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Triage.Run\",\"Reasoning.Clinic.Triage.start\",\"Reasoning.Clinic.Triage.step\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.saturate\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"LexLeanCollections.iterateUntil\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Triage.next\",\"Reasoning.Clinic.Triage.observe\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.next\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"11\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.observe\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.iterateUntil\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.12\"}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"instOfNatNat\",\"LexLeanCollections.iterateUntil\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Triage.next\",\"Reasoning.Clinic.Triage.observe\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.select\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Option\",\"Unit\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Escalate.guard\",\"Reasoning.Clinic.Fever.guard\",\"Reasoning.Clinic.Leukocytosis.guard\",\"Reasoning.Clinic.Sepsis.guard\",\"Reasoning.Clinic.Shock.guard\",\"Reasoning.Clinic.Sirs.guard\",\"Reasoning.Clinic.Tachycardia.guard\",\"Reasoning.Clinic.Tachypnea.guard\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Triage.Step.Escalate\",\"Reasoning.Clinic.Triage.Step.Fever\",\"Reasoning.Clinic.Triage.Step.Leukocytosis\",\"Reasoning.Clinic.Triage.Step.Sepsis\",\"Reasoning.Clinic.Triage.Step.Shock\",\"Reasoning.Clinic.Triage.Step.Sirs\",\"Reasoning.Clinic.Triage.Step.Tachycardia\",\"Reasoning.Clinic.Triage.Step.Tachypnea\",\"Reasoning.Clinic.Triage.select.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.114\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.124\",\"parameters\":[{\"id\":\"_uniq.122\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.122\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.123\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.273\",\"parameters\":[{\"id\":\"_uniq.132\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.197\",\"parameters\":[{\"id\":\"_uniq.141\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.165\",\"parameters\":[{\"id\":\"_uniq.147\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.156\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Escalate.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.157\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.158\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.156\"},{\"kind\":\"fvar\",\"id\":\"_uniq.157\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.158\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.159\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.160\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.160\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.161\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.162\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step.Escalate\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.163\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.162\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.163\"}}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.166\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.165\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.182\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Shock.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.183\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.184\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.182\"},{\"kind\":\"fvar\",\"id\":\"_uniq.183\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.196\",\"parameters\":[{\"id\":\"_uniq.190\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.190\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.191\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.192\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.166\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.191\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.192\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.193\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.194\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.145\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.193\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.194\"}}}]}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.184\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.185\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.186\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.196\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.186\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.187\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.188\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step.Shock\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.189\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.188\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.196\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.189\"}]}}}}]}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.198\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.197\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.209\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.229\",\"parameters\":[{\"id\":\"_uniq.211\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.220\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Sepsis.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.221\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.222\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.220\"},{\"kind\":\"fvar\",\"id\":\"_uniq.221\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.222\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.223\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.224\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.224\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.225\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.226\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step.Sepsis\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.227\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.226\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.227\"}}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.230\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.229\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.246\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Sirs.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.247\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.248\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.246\"},{\"kind\":\"fvar\",\"id\":\"_uniq.247\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.272\",\"parameters\":[{\"id\":\"_uniq.254\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.265\",\"parameters\":[{\"id\":\"_uniq.259\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.259\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.260\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.261\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.198\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.260\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.261\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.262\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.263\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.136\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.262\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.263\"}}}]}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.271\",\"parameters\":[{\"id\":\"_uniq.269\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.270\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.209\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.269\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.265\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.270\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.268\",\"parameters\":[{\"id\":\"_uniq.266\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.267\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.230\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.266\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.265\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.267\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.254\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.255\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.268\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.255\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.257\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.271\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.257\"}]}}]}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.248\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.249\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.250\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.272\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.250\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.251\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.252\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step.Sirs\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.253\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.252\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.272\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.253\"}]}}}}]}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.274\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.273\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.287\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.348\",\"parameters\":[{\"id\":\"_uniq.292\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.296\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.316\",\"parameters\":[{\"id\":\"_uniq.298\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.307\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Leukocytosis.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.308\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.309\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.307\"},{\"kind\":\"fvar\",\"id\":\"_uniq.308\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.309\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.310\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.311\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.311\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.312\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.313\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step.Leukocytosis\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.314\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.313\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.314\"}}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.317\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.316\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.333\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Tachypnea.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.334\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.335\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.333\"},{\"kind\":\"fvar\",\"id\":\"_uniq.334\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.347\",\"parameters\":[{\"id\":\"_uniq.341\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.341\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.342\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.343\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.317\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.342\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.343\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.344\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.345\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.296\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.344\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.345\"}}}]}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.335\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.336\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.337\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.347\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.337\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.338\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.339\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step.Tachypnea\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.340\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.339\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.347\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.340\"}]}}}}]}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.349\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.348\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.362\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.382\",\"parameters\":[{\"id\":\"_uniq.364\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.373\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Tachycardia.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.374\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.375\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.373\"},{\"kind\":\"fvar\",\"id\":\"_uniq.374\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.375\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.376\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.377\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.377\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.378\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.379\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step.Tachycardia\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.380\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.379\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.380\"}}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.383\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.382\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.399\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Fever.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.400\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.401\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.399\"},{\"kind\":\"fvar\",\"id\":\"_uniq.400\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.437\",\"parameters\":[{\"id\":\"_uniq.407\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.430\",\"parameters\":[{\"id\":\"_uniq.412\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.423\",\"parameters\":[{\"id\":\"_uniq.417\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.417\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.418\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.419\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.274\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.418\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.419\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.420\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.421\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.125\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.420\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.421\"}}}]}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.426\",\"parameters\":[{\"id\":\"_uniq.424\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.425\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.349\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.424\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.423\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.425\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.429\",\"parameters\":[{\"id\":\"_uniq.427\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.428\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.287\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.427\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.423\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.428\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.412\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.413\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.426\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.413\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.415\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.429\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.415\"}]}}]}}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.436\",\"parameters\":[{\"id\":\"_uniq.434\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.435\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.362\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.434\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.430\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.435\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.433\",\"parameters\":[{\"id\":\"_uniq.431\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.432\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.383\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.431\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.430\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.432\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.407\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.408\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.433\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.408\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.410\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.436\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.410\"}]}}]}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.401\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.402\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.403\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.437\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.403\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.404\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.405\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step.Fever\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.406\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.405\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.437\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.406\"}]}}}}]}}}}}}}}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Option\",\"PUnit\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Escalate.guard\",\"Reasoning.Clinic.Fever.guard\",\"Reasoning.Clinic.Leukocytosis.guard\",\"Reasoning.Clinic.Sepsis.guard\",\"Reasoning.Clinic.Shock.guard\",\"Reasoning.Clinic.Sirs.guard\",\"Reasoning.Clinic.Tachycardia.guard\",\"Reasoning.Clinic.Tachypnea.guard\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Triage.Step.Escalate\",\"Reasoning.Clinic.Triage.Step.Fever\",\"Reasoning.Clinic.Triage.Step.Leukocytosis\",\"Reasoning.Clinic.Triage.Step.Sepsis\",\"Reasoning.Clinic.Triage.Step.Shock\",\"Reasoning.Clinic.Triage.Step.Sirs\",\"Reasoning.Clinic.Triage.Step.Tachycardia\",\"Reasoning.Clinic.Triage.Step.Tachypnea\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.start\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"List.nil\",\"OfNat.ofNat\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Triage.observe\",\"Reasoning.Clinic.Triage.Ledger.mk\",\"Reasoning.Clinic.Triage.Run.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.observe\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Ledger.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.18\"}}}}}}}}},\"uses\":[\"List\",\"Nat\",\"OfNat\",\"instOfNatNat\",\"List.nil\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Triage.Ledger\",\"Reasoning.Clinic.Triage.Run\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Triage.observe\",\"Reasoning.Clinic.Triage.Ledger.mk\",\"Reasoning.Clinic.Triage.Run.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.step\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Option\",\"Unit\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Triage.Run\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Triage.attempts\",\"Reasoning.Clinic.Triage.fire\",\"Reasoning.Clinic.Triage.select\",\"Reasoning.Clinic.Triage.Ledger.attempts\",\"Reasoning.Clinic.Triage.Ledger.expansions\",\"Reasoning.Clinic.Triage.Ledger.firings\",\"Reasoning.Clinic.Triage.Ledger.frontier\",\"Reasoning.Clinic.Triage.Ledger.iterations\",\"Reasoning.Clinic.Triage.Ledger.mk\",\"Reasoning.Clinic.Triage.Ledger.verifications\",\"Reasoning.Clinic.Triage.Run.ledger\",\"Reasoning.Clinic.Triage.Run.mk\",\"Reasoning.Clinic.Triage.Run.state\",\"Reasoning.Clinic.Triage.Run.trace\",\"Reasoning.Clinic.Triage.next.match_1\",\"Reasoning.Clinic.Triage.replay.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.44\",\"parameters\":[{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.103\",\"parameters\":[{\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.87\",\"parameters\":[{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Triage.Run\",\"index\":1,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"},{\"kind\":\"fvar\",\"id\":\"_uniq.62\"},{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.67\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Triage.Run\",\"index\":2,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Triage.Ledger\",\"index\":0,\"value\":\"_uniq.69\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.72\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.68\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Triage.Ledger\",\"index\":1,\"value\":\"_uniq.69\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Triage.Run\",\"index\":0,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.attempts\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.68\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Triage.Ledger\",\"index\":2,\"value\":\"_uniq.69\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.68\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.79\"},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Triage.Ledger\",\"index\":3,\"value\":\"_uniq.69\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Triage.Ledger\",\"index\":4,\"value\":\"_uniq.69\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Triage.Ledger\",\"index\":5,\"value\":\"_uniq.69\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Ledger.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"},{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"},{\"kind\":\"fvar\",\"id\":\"_uniq.82\"},{\"kind\":\"fvar\",\"id\":\"_uniq.83\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.85\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"fvar\",\"id\":\"_uniq.84\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.85\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.86\"}}}}}}}}}}}}}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.87\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.96\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Triage.Run\",\"index\":0,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.fire\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.96\"},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]},\"discriminant\":\"_uniq.97\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.98\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.56\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.98\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.99\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.100\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.88\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.100\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.101\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.103\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Triage.Run\",\"index\":0,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.113\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.select\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.112\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]},\"discriminant\":\"_uniq.113\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.115\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.115\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.116\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.117\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.Run\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.104\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.116\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.117\"}}}]}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"List\",\"Nat\",\"OfNat\",\"Option\",\"PUnit\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"LexLeanRuntime.Appendable\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"List.cons\",\"List.nil\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Triage.Ledger\",\"Reasoning.Clinic.Triage.Run\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Triage.attempts\",\"Reasoning.Clinic.Triage.fire\",\"Reasoning.Clinic.Triage.select\",\"Reasoning.Clinic.Triage.Ledger.mk\",\"Reasoning.Clinic.Triage.Run.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.verdict\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"Unit\",\"Bool.false\",\"Except.error\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Triage.conclude\",\"Reasoning.Clinic.Triage.saturate\",\"Reasoning.Clinic.Triage.account.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.saturate\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.29\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.37\",\"parameters\":[{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Triage.conclude\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.36\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.37\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.50\",\"parameters\":[{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.49\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.50\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.56\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.51\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.58\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.38\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.60\"}}}}]}}}}}}}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"PUnit\",\"Prod\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Prod.mk\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Triage.conclude\",\"Reasoning.Clinic.Triage.saturate\"]},\"inductive\":null},{\"name\":\"Reasoning.Clinic.Vitals.heartRate\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Vitals\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Vitals.infection\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Vitals\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Vitals.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Vitals.respiratoryRate\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Vitals\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Vitals.systolic\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Vitals\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Vitals.temperature\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Vitals\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Vitals.whiteCells\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Vitals\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.Step\",\"kind\":\"inductive\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Main.Grade.Step.Fever\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Main.Grade.Step.Tachycardia\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Main.Grade.Step.Tachypnea\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Main.Grade.Step.Leukocytosis\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Main.Grade.Step.Sirs\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Main.Grade.Step.Sepsis\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Main.Grade.Step.Shock\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Main.Grade.Step.Escalate\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}}]}},{\"name\":\"Reasoning.Main.Grade.accept\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Main.Grade.extract\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.extract\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.12\"}}},\"uses\":[\"Nat\",\"Option\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Main.Grade.extract\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.conclude\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Prod.mk\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Main.Grade.accept\",\"Reasoning.Main.Grade.extract\",\"Reasoning.Main.Grade.conclude.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.52\",\"parameters\":[{\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.51\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.52\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.92\",\"parameters\":[{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.69\",\"parameters\":[{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.68\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.69\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.77\",\"parameters\":[{\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.76\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.77\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.extract\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.86\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.78\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.87\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.88\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.89\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.70\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.89\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.90\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.92\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.accept\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.43\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.101\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.93\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.102\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.103\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.104\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.53\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.104\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.105\"}}}]}}}}}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Main.Grade.accept\",\"Reasoning.Main.Grade.extract\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.extract\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Chart.level\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Clinic.Chart\",\"index\":8,\"value\":\"_uniq.6\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.8\"}}}},\"uses\":[\"Nat\",\"Option\",\"Option.some\",\"Reasoning.Clinic.Chart\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.fire\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Escalate.apply\",\"Reasoning.Clinic.Fever.apply\",\"Reasoning.Clinic.Leukocytosis.apply\",\"Reasoning.Clinic.Sepsis.apply\",\"Reasoning.Clinic.Shock.apply\",\"Reasoning.Clinic.Sirs.apply\",\"Reasoning.Clinic.Tachycardia.apply\",\"Reasoning.Clinic.Tachypnea.apply\",\"Reasoning.Main.Grade.Step\",\"Reasoning.Main.Grade.fire.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.78\",\"parameters\":[{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Fever.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.77\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.78\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.83\",\"parameters\":[{\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Tachycardia.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.82\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.83\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.88\",\"parameters\":[{\"id\":\"_uniq.86\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.87\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Tachypnea.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.87\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.88\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.93\",\"parameters\":[{\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Leukocytosis.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.92\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.93\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.98\",\"parameters\":[{\"id\":\"_uniq.96\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Sirs.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.97\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.98\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.103\",\"parameters\":[{\"id\":\"_uniq.101\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Sepsis.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.102\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.103\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.108\",\"parameters\":[{\"id\":\"_uniq.106\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Shock.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.107\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.109\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.108\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.113\",\"parameters\":[{\"id\":\"_uniq.111\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.112\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Escalate.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.112\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.113\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Reasoning.Main.Grade.Step\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"discriminant\":\"_uniq.64\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Main.Grade.Step.Fever\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.126\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.79\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.125\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.126\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Main.Grade.Step.Tachycardia\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.127\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.128\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.84\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.127\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.128\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Main.Grade.Step.Tachypnea\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.129\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.130\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.89\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.129\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.130\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Main.Grade.Step.Leukocytosis\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.131\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.132\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.94\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.131\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.132\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Main.Grade.Step.Sirs\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.99\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.133\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.134\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Main.Grade.Step.Sepsis\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.104\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.135\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.136\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Main.Grade.Step.Shock\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.109\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.137\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.138\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Main.Grade.Step.Escalate\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.139\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.140\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.114\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.139\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.140\"}}}}]}}}}}}}}}}}}}}}}}},\"uses\":[\"Option\",\"PUnit\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Escalate.apply\",\"Reasoning.Clinic.Fever.apply\",\"Reasoning.Clinic.Leukocytosis.apply\",\"Reasoning.Clinic.Sepsis.apply\",\"Reasoning.Clinic.Shock.apply\",\"Reasoning.Clinic.Sirs.apply\",\"Reasoning.Clinic.Tachycardia.apply\",\"Reasoning.Clinic.Tachypnea.apply\",\"Reasoning.Main.Grade.Step\",\"Reasoning.Main.Grade.Step.Escalate\",\"Reasoning.Main.Grade.Step.Fever\",\"Reasoning.Main.Grade.Step.Leukocytosis\",\"Reasoning.Main.Grade.Step.Sepsis\",\"Reasoning.Main.Grade.Step.Shock\",\"Reasoning.Main.Grade.Step.Sirs\",\"Reasoning.Main.Grade.Step.Tachycardia\",\"Reasoning.Main.Grade.Step.Tachypnea\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"Except.casesOn\",\"Except.error\",\"Except.ok\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.next\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Option.none\",\"Reasoning.Clinic.Chart\",\"Reasoning.Main.Grade.Step\",\"Reasoning.Main.Grade.fire\",\"Reasoning.Main.Grade.select\",\"Reasoning.Main.Grade.next.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.32\",\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.32\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.39\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.fire\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.38\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.select\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"discriminant\":\"_uniq.48\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.33\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.52\"}}}]}}}}}}},\"uses\":[\"Option\",\"PUnit\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Main.Grade.Step\",\"Reasoning.Main.Grade.fire\",\"Reasoning.Main.Grade.select\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.observe\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Chart.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.5\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.7\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.5\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.9\"}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"instOfNatNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Clinic.Chart.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.saturate\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"LexLeanCollections.iterateUntil\",\"OfNat.ofNat\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Main.Grade.next\",\"Reasoning.Main.Grade.observe\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}]}},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.next\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"11\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.observe\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.iterateUntil\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.12\"}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"instOfNatNat\",\"LexLeanCollections.iterateUntil\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Main.Grade.next\",\"Reasoning.Main.Grade.observe\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.select\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Option\",\"Unit\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Escalate.guard\",\"Reasoning.Clinic.Fever.guard\",\"Reasoning.Clinic.Leukocytosis.guard\",\"Reasoning.Clinic.Sepsis.guard\",\"Reasoning.Clinic.Shock.guard\",\"Reasoning.Clinic.Sirs.guard\",\"Reasoning.Clinic.Tachycardia.guard\",\"Reasoning.Clinic.Tachypnea.guard\",\"Reasoning.Main.Grade.Step\",\"Reasoning.Main.Grade.Step.Escalate\",\"Reasoning.Main.Grade.Step.Fever\",\"Reasoning.Main.Grade.Step.Leukocytosis\",\"Reasoning.Main.Grade.Step.Sepsis\",\"Reasoning.Main.Grade.Step.Shock\",\"Reasoning.Main.Grade.Step.Sirs\",\"Reasoning.Main.Grade.Step.Tachycardia\",\"Reasoning.Main.Grade.Step.Tachypnea\",\"Reasoning.Main.Grade.select.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.114\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.124\",\"parameters\":[{\"id\":\"_uniq.122\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.122\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.123\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.125\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.273\",\"parameters\":[{\"id\":\"_uniq.132\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.197\",\"parameters\":[{\"id\":\"_uniq.141\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.145\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.165\",\"parameters\":[{\"id\":\"_uniq.147\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.156\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Escalate.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.157\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.158\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.156\"},{\"kind\":\"fvar\",\"id\":\"_uniq.157\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.158\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.159\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.160\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.160\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.161\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.162\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step.Escalate\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.163\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.162\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.163\"}}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.166\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.165\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.182\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Shock.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.183\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.184\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.182\"},{\"kind\":\"fvar\",\"id\":\"_uniq.183\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.196\",\"parameters\":[{\"id\":\"_uniq.190\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.190\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.191\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.192\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.166\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.191\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.192\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.193\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.194\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.145\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.193\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.194\"}}}]}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.184\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.185\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.186\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.196\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.186\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.187\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.188\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step.Shock\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.189\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.188\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.196\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.189\"}]}}}}]}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.198\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.197\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.209\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.229\",\"parameters\":[{\"id\":\"_uniq.211\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.220\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Sepsis.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.221\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.222\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.220\"},{\"kind\":\"fvar\",\"id\":\"_uniq.221\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.222\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.223\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.224\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.224\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.225\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.226\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step.Sepsis\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.227\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.226\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.227\"}}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.230\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.229\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.246\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Sirs.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.247\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.248\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.246\"},{\"kind\":\"fvar\",\"id\":\"_uniq.247\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.272\",\"parameters\":[{\"id\":\"_uniq.254\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.265\",\"parameters\":[{\"id\":\"_uniq.259\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.259\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.260\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.261\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.198\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.260\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.261\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.262\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.263\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.136\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.262\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.263\"}}}]}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.271\",\"parameters\":[{\"id\":\"_uniq.269\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.270\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.209\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.269\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.265\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.270\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.268\",\"parameters\":[{\"id\":\"_uniq.266\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.267\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.230\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.266\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.265\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.267\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.254\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.255\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.268\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.255\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.257\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.271\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.257\"}]}}]}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.248\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.249\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.250\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.272\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.250\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.251\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.252\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step.Sirs\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.253\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.252\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.272\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.253\"}]}}}}]}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.274\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.273\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.287\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.348\",\"parameters\":[{\"id\":\"_uniq.292\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.296\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.316\",\"parameters\":[{\"id\":\"_uniq.298\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.307\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Leukocytosis.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.308\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.309\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.307\"},{\"kind\":\"fvar\",\"id\":\"_uniq.308\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.309\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.310\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.311\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.311\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.312\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.313\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step.Leukocytosis\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.314\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.313\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.314\"}}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.317\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.316\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.333\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Tachypnea.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.334\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.335\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.333\"},{\"kind\":\"fvar\",\"id\":\"_uniq.334\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.347\",\"parameters\":[{\"id\":\"_uniq.341\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.341\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.342\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.343\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.317\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.342\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.343\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.344\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.345\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.296\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.344\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.345\"}}}]}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.335\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.336\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.337\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.347\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.337\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.338\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.339\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step.Tachypnea\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.340\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.339\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.347\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.340\"}]}}}}]}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.349\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.348\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.362\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.124\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.382\",\"parameters\":[{\"id\":\"_uniq.364\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.373\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Tachycardia.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.374\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.375\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.373\"},{\"kind\":\"fvar\",\"id\":\"_uniq.374\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.375\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.376\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.377\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.377\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.378\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.379\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step.Tachycardia\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.380\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.379\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.380\"}}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.383\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.382\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.399\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Fever.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.114\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.400\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.401\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.399\"},{\"kind\":\"fvar\",\"id\":\"_uniq.400\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.437\",\"parameters\":[{\"id\":\"_uniq.407\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.430\",\"parameters\":[{\"id\":\"_uniq.412\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.423\",\"parameters\":[{\"id\":\"_uniq.417\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.417\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.418\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.419\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.274\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.418\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.419\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.420\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.421\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.125\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.420\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.421\"}}}]}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.426\",\"parameters\":[{\"id\":\"_uniq.424\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.425\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.349\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.424\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.423\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.425\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.429\",\"parameters\":[{\"id\":\"_uniq.427\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.428\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.287\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.427\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.423\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.428\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.412\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.413\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.426\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.413\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.415\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.429\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.415\"}]}}]}}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.436\",\"parameters\":[{\"id\":\"_uniq.434\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.435\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.362\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.434\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.430\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.435\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.433\",\"parameters\":[{\"id\":\"_uniq.431\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.432\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.383\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.431\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.430\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.432\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.407\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.408\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.433\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.408\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.410\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.436\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.410\"}]}}]}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"discriminant\":\"_uniq.401\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.402\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.403\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.437\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.403\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.404\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.405\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step.Fever\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.406\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.405\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.437\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.406\"}]}}}}]}}}}}}}}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Option\",\"PUnit\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Escalate.guard\",\"Reasoning.Clinic.Fever.guard\",\"Reasoning.Clinic.Leukocytosis.guard\",\"Reasoning.Clinic.Sepsis.guard\",\"Reasoning.Clinic.Shock.guard\",\"Reasoning.Clinic.Sirs.guard\",\"Reasoning.Clinic.Tachycardia.guard\",\"Reasoning.Clinic.Tachypnea.guard\",\"Reasoning.Main.Grade.Step\",\"Reasoning.Main.Grade.Step.Escalate\",\"Reasoning.Main.Grade.Step.Fever\",\"Reasoning.Main.Grade.Step.Leukocytosis\",\"Reasoning.Main.Grade.Step.Sepsis\",\"Reasoning.Main.Grade.Step.Shock\",\"Reasoning.Main.Grade.Step.Sirs\",\"Reasoning.Main.Grade.Step.Tachycardia\",\"Reasoning.Main.Grade.Step.Tachypnea\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.verdict\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"Unit\",\"Bool.false\",\"Except.error\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Main.Grade.conclude\",\"Reasoning.Main.Grade.saturate\",\"Reasoning.Main.Grade.account.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Vitals\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.saturate\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.29\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.37\",\"parameters\":[{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Clinic.Chart\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Main.Grade.conclude\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.36\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.37\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.44\",\"parameters\":[{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.50\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.52\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.38\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.54\"}}}}]}}}}}}}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"PUnit\",\"Prod\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Prod.mk\",\"Unit.unit\",\"Reasoning.Clinic.Chart\",\"Reasoning.Clinic.Vitals\",\"Reasoning.Main.Grade.conclude\",\"Reasoning.Main.Grade.saturate\"]},\"inductive\":null},{\"name\":\"Reasoning.Main.planLeft.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Prod\",\"Except.casesOn\",\"Except.error\",\"Except.ok\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.triageSteps.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Prod\",\"Except.casesOn\",\"Except.error\",\"Except.ok\",\"Reasoning.Clinic.Triage.Step\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.EmptyB.apply\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Planner.EmptyB.conclusion\",\"Reasoning.Planner.EmptyB.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.EmptyB.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.20\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.EmptyB.conclusion\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.25\"}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Nat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Planner.EmptyB.conclusion\",\"Reasoning.Planner.EmptyB.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.EmptyB.conclusion\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instOfNatNat\",\"OfNat.ofNat\",\"Prod.fst\",\"Prod.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.6\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.11\"}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.EmptyB.guard\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instOfNatNat\",\"Bool.and\",\"Nat.ble\",\"Nat.blt\",\"OfNat.ofNat\",\"Prod.fst\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.30\",\"parameters\":[{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.29\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.30\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.39\",\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.38\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.46\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.47\"},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.49\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.31\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.51\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.53\"}}}}]}}}}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"PUnit\",\"Prod\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.ble\",\"Nat.blt\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.FillA.apply\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Planner.FillA.conclusion\",\"Reasoning.Planner.FillA.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.FillA.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.20\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.FillA.conclusion\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.24\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.25\"}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Nat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Planner.FillA.conclusion\",\"Reasoning.Planner.FillA.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.FillA.conclusion\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instOfNatNat\",\"OfNat.ofNat\",\"Prod.mk\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.6\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.11\"}}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.FillA.guard\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instOfNatNat\",\"Bool.and\",\"Nat.ble\",\"Nat.blt\",\"OfNat.ofNat\",\"Prod.fst\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.22\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.30\",\"parameters\":[{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.29\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.30\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.39\",\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.38\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.22\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.47\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.45\"},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.49\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.31\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.51\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.40\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.53\"}}}}]}}}}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"PUnit\",\"Prod\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.ble\",\"Nat.blt\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Ledger\",\"kind\":\"inductive\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Planner.Plan.Ledger.mk\",\"parameters\":0,\"fields\":6,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Ledger\",\"levels\":[]}}}}}}}}]}},{\"name\":\"Reasoning.Planner.Plan.Node\",\"kind\":\"inductive\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Planner.Plan.Node.mk\",\"parameters\":0,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}}}]}},{\"name\":\"Reasoning.Planner.Plan.Search\",\"kind\":\"inductive\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Planner.Plan.Search.mk\",\"parameters\":0,\"fields\":5,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Ledger\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}}}}}}}]}},{\"name\":\"Reasoning.Planner.Plan.Step\",\"kind\":\"inductive\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Planner.Plan.Step.FillA\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Planner.Plan.Step.EmptyB\",\"parameters\":0,\"fields\":0,\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}},{\"name\":\"Reasoning.Planner.Plan.Step.Pour\",\"parameters\":0,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}}}]}},{\"name\":\"Reasoning.Planner.Plan.accept\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Planner.measuresCheck\",\"Reasoning.Planner.Plan.extract\",\"Reasoning.Planner.Plan.replay.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.42\",\"parameters\":[{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.41\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.42\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.64\",\"parameters\":[{\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.measuresCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.58\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.60\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.62\"}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.64\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.extract\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.73\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.43\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.75\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.77\"}}}]}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Planner.measuresCheck\",\"Reasoning.Planner.Plan.extract\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.attempts\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"HAdd.hAdd\",\"LexLeanRuntime.instLengthableList\",\"LexLeanRuntime.length\",\"OfNat.ofNat\",\"Reasoning.Planner.Pour.candidates\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.11\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Pour.candidates\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.9\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.9\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}}}}}}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"List\",\"Nat\",\"OfNat\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"LexLeanRuntime.Lengthable\",\"LexLeanRuntime.instLengthableList\",\"LexLeanRuntime.length\",\"Reasoning.Planner.Pour.candidates\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.extract\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"Option.some\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"Nat\",\"Option\",\"Prod\",\"Option.some\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.failure\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.and\",\"Bool.false\",\"Bool.not\",\"Bool.true\",\"Prod.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.44\",\"parameters\":[{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.49\",\"parameters\":[{\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.not\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.48\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.49\",\"arguments\":[]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.69\",\"parameters\":[{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"discriminant\":\"_uniq.61\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.62\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.64\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.65\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.67\"}}}}]}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.75\",\"parameters\":[{\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.50\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.69\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.72\",\"parameters\":[{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.69\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"discriminant\":\"_uniq.27\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.72\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.75\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]}}}]}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"PUnit\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.not\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Prod.mk\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.fire\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Reasoning.Planner.EmptyB.apply\",\"Reasoning.Planner.FillA.apply\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Pour.apply\",\"Reasoning.Planner.Plan.fire.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.46\",\"parameters\":[{\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.FillA.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.45\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.46\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.51\",\"parameters\":[{\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.EmptyB.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.51\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.58\",\"parameters\":[{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Pour.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.58\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Reasoning.Planner.Plan.Step\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.37\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Planner.Plan.Step.FillA\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.47\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.67\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Planner.Plan.Step.EmptyB\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.52\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.68\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.69\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Planner.Plan.Step.Pour\",\"parameters\":[{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.59\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.71\"}}}]}}}}}}}},\"uses\":[\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"Unit.unit\",\"Reasoning.Planner.EmptyB.apply\",\"Reasoning.Planner.FillA.apply\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Pour.apply\",\"Reasoning.Planner.Plan.Step.EmptyB\",\"Reasoning.Planner.Plan.Step.FillA\",\"Reasoning.Planner.Plan.Step.Pour\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.fresh\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"List\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"LexLeanCollections.instKeyNat\",\"LexLeanCollections.instKeyProd\",\"LexLeanCollections.listFold\",\"LexLeanCollections.setContains\",\"LexLeanCollections.setInsert\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"List.cons\",\"List.nil\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.Node.state\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}}},\"parameters\":[{\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false},{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.47\",\"parameters\":[{\"id\":\"_uniq.20\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"borrow\":false},{\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.instKeyNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.instKeyProd\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Node\",\"index\":0,\"value\":\"_uniq.21\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.setContains\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"discriminant\":\"_uniq.36\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.20\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"},{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.setInsert\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.44\"}}}}}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.45\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.20\"}}]}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.50\"}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"List\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"LexLeanCollections.Key\",\"LexLeanCollections.instKeyNat\",\"LexLeanCollections.instKeyProd\",\"LexLeanCollections.listFold\",\"LexLeanCollections.setContains\",\"LexLeanCollections.setInsert\",\"LexLeanRuntime.Appendable\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"List.cons\",\"List.nil\",\"Prod.mk\",\"Reasoning.Planner.Plan.Node\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.observe\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Prod.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.10\"}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.run\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instMulNat\",\"instOfNatNat\",\"LexLeanCollections.iterateUntil\",\"LexLeanRuntime.multiply\",\"OfNat.ofNat\",\"Reasoning.Planner.Plan.Search\",\"Reasoning.Planner.Plan.searchStep\",\"Reasoning.Planner.Plan.start\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.11\",\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.searchStep\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.10\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Mul\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instMulNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"8\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.multiply\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.start\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.iterateUntil\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.18\"}}}}}}}}}},\"uses\":[\"Bool\",\"Mul\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"instMulNat\",\"instOfNatNat\",\"LexLeanCollections.iterateUntil\",\"LexLeanRuntime.multiply\",\"Reasoning.Planner.Plan.Search\",\"Reasoning.Planner.Plan.searchStep\",\"Reasoning.Planner.Plan.start\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.searchStep\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"List\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instOfNatNat\",\"ite\",\"Bool.or\",\"Bool.true\",\"HAdd.hAdd\",\"LexLeanCollections.listFold\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"LexLeanRuntime.instLengthableList\",\"LexLeanRuntime.length\",\"List.cons\",\"List.nil\",\"Nat.blt\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.Search\",\"Reasoning.Planner.Plan.accept\",\"Reasoning.Planner.Plan.attempts\",\"Reasoning.Planner.Plan.fresh\",\"Reasoning.Planner.Plan.successors\",\"Reasoning.Planner.Plan.Ledger.attempts\",\"Reasoning.Planner.Plan.Ledger.expansions\",\"Reasoning.Planner.Plan.Ledger.firings\",\"Reasoning.Planner.Plan.Ledger.frontier\",\"Reasoning.Planner.Plan.Ledger.iterations\",\"Reasoning.Planner.Plan.Ledger.mk\",\"Reasoning.Planner.Plan.Ledger.verifications\",\"Reasoning.Planner.Plan.Node.state\",\"Reasoning.Planner.Plan.Search.found\",\"Reasoning.Planner.Plan.Search.frontier\",\"Reasoning.Planner.Plan.Search.ledger\",\"Reasoning.Planner.Plan.Search.mk\",\"Reasoning.Planner.Plan.Search.truncated\",\"Reasoning.Planner.Plan.Search.visited\",\"Reasoning.Planner.Plan.searchStep.match_1\",\"Reasoning.Planner.Plan.searchStep.match_3\",\"Reasoning.Planner.Plan.searchStep.match_5\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.93\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.101\",\"parameters\":[{\"id\":\"_uniq.99\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.100\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.101\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.327\",\"parameters\":[{\"id\":\"_uniq.109\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.115\",\"parameters\":[{\"id\":\"_uniq.113\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.114\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.115\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.310\",\"parameters\":[{\"id\":\"_uniq.126\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.127\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.162\",\"parameters\":[{\"id\":\"_uniq.133\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Search\",\"index\":1,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.133\"},{\"kind\":\"fvar\",\"id\":\"_uniq.126\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.135\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Search\",\"index\":3,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.139\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.138\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.140\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.139\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.141\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Search\",\"index\":4,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.148\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Ledger\",\"index\":0,\"value\":\"_uniq.141\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.149\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.150\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.149\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.151\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.150\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.152\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.140\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.148\"},{\"kind\":\"fvar\",\"id\":\"_uniq.151\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.153\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Ledger\",\"index\":1,\"value\":\"_uniq.141\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.154\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Ledger\",\"index\":2,\"value\":\"_uniq.141\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.155\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Ledger\",\"index\":3,\"value\":\"_uniq.141\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.156\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Ledger\",\"index\":4,\"value\":\"_uniq.141\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.157\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.140\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.156\"},{\"kind\":\"fvar\",\"id\":\"_uniq.151\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.158\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Ledger\",\"index\":5,\"value\":\"_uniq.141\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.159\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Ledger.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.152\"},{\"kind\":\"fvar\",\"id\":\"_uniq.153\"},{\"kind\":\"fvar\",\"id\":\"_uniq.154\"},{\"kind\":\"fvar\",\"id\":\"_uniq.155\"},{\"kind\":\"fvar\",\"id\":\"_uniq.157\"},{\"kind\":\"fvar\",\"id\":\"_uniq.158\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.160\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.127\"},{\"kind\":\"fvar\",\"id\":\"_uniq.134\"},{\"kind\":\"fvar\",\"id\":\"_uniq.136\"},{\"kind\":\"fvar\",\"id\":\"_uniq.137\"},{\"kind\":\"fvar\",\"id\":\"_uniq.159\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.161\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.160\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.161\"}}}}}}}}}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.163\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.162\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.294\",\"parameters\":[{\"id\":\"_uniq.169\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.174\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.successors\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.126\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.175\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.174\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.176\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Search\",\"index\":1,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.177\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.fresh\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.176\"},{\"kind\":\"fvar\",\"id\":\"_uniq.175\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.178\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.177\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.179\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.180\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.178\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.181\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.179\"},{\"kind\":\"fvar\",\"id\":\"_uniq.127\"},{\"kind\":\"fvar\",\"id\":\"_uniq.180\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.182\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.181\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.210\",\"parameters\":[{\"id\":\"_uniq.185\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.186\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.195\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.196\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.195\"},{\"kind\":\"fvar\",\"id\":\"_uniq.185\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.197\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.198\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.197\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.199\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.198\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.200\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.199\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.201\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.196\"},{\"kind\":\"fvar\",\"id\":\"_uniq.200\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.202\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.203\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.201\"},{\"kind\":\"fvar\",\"id\":\"_uniq.202\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"discriminant\":\"_uniq.203\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.204\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.185\"}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.205\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.206\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.207\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.186\"},{\"kind\":\"fvar\",\"id\":\"_uniq.206\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.208\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.179\"},{\"kind\":\"fvar\",\"id\":\"_uniq.185\"},{\"kind\":\"fvar\",\"id\":\"_uniq.207\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.208\"}}}}}]}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.211\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.212\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.210\"},{\"kind\":\"fvar\",\"id\":\"_uniq.211\"},{\"kind\":\"fvar\",\"id\":\"_uniq.182\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.213\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.212\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.214\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.178\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.215\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.223\",\"parameters\":[{\"id\":\"_uniq.221\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.222\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.222\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.224\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.223\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.234\",\"parameters\":[{\"id\":\"_uniq.226\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.227\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.228\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.227\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.229\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.228\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.230\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.229\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},{\"kind\":\"fvar\",\"id\":\"_uniq.92\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.231\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.232\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.231\"},{\"kind\":\"fvar\",\"id\":\"_uniq.182\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.233\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.230\"},{\"kind\":\"fvar\",\"id\":\"_uniq.232\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.233\"}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.235\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.234\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.240\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Search\",\"index\":3,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.287\",\"parameters\":[{\"id\":\"_uniq.245\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.246\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.247\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.246\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.248\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.247\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.249\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Search\",\"index\":4,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.250\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Ledger\",\"index\":0,\"value\":\"_uniq.249\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.251\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.252\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.251\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.253\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.252\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.254\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.248\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.250\"},{\"kind\":\"fvar\",\"id\":\"_uniq.253\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.255\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Ledger\",\"index\":1,\"value\":\"_uniq.249\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.256\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Node\",\"index\":0,\"value\":\"_uniq.126\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.257\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.attempts\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.256\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.258\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.248\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.255\"},{\"kind\":\"fvar\",\"id\":\"_uniq.257\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.259\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Ledger\",\"index\":2,\"value\":\"_uniq.249\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.260\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.261\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.260\"},{\"kind\":\"fvar\",\"id\":\"_uniq.175\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.262\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.248\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.259\"},{\"kind\":\"fvar\",\"id\":\"_uniq.261\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.263\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Ledger\",\"index\":3,\"value\":\"_uniq.249\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.264\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.248\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.263\"},{\"kind\":\"fvar\",\"id\":\"_uniq.253\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.265\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Ledger\",\"index\":4,\"value\":\"_uniq.249\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.266\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.248\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.265\"},{\"kind\":\"fvar\",\"id\":\"_uniq.253\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.275\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Ledger\",\"index\":5,\"value\":\"_uniq.249\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.276\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.260\"},{\"kind\":\"fvar\",\"id\":\"_uniq.213\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.277\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.275\"},{\"kind\":\"fvar\",\"id\":\"_uniq.276\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.278\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.279\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.277\"},{\"kind\":\"fvar\",\"id\":\"_uniq.278\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.286\",\"parameters\":[{\"id\":\"_uniq.282\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.283\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Ledger.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.254\"},{\"kind\":\"fvar\",\"id\":\"_uniq.258\"},{\"kind\":\"fvar\",\"id\":\"_uniq.262\"},{\"kind\":\"fvar\",\"id\":\"_uniq.264\"},{\"kind\":\"fvar\",\"id\":\"_uniq.266\"},{\"kind\":\"fvar\",\"id\":\"_uniq.282\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.284\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.213\"},{\"kind\":\"fvar\",\"id\":\"_uniq.214\"},{\"kind\":\"fvar\",\"id\":\"_uniq.215\"},{\"kind\":\"fvar\",\"id\":\"_uniq.245\"},{\"kind\":\"fvar\",\"id\":\"_uniq.283\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.285\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.284\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.285\"}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"discriminant\":\"_uniq.279\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.280\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.286\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.275\"}]}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.281\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.286\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.276\"}]}}]}}}}}}}}}}}}}}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.293\",\"parameters\":[{\"id\":\"_uniq.291\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.292\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.224\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.291\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.287\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.292\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.290\",\"parameters\":[{\"id\":\"_uniq.288\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.289\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.235\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.288\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.287\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.289\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"discriminant\":\"_uniq.240\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.241\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.290\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.241\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.243\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.293\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.243\"}]}}}]}}}}}}}}}}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.295\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.294\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.303\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Node\",\"index\":0,\"value\":\"_uniq.126\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.304\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.accept\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},{\"kind\":\"fvar\",\"id\":\"_uniq.303\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"discriminant\":\"_uniq.304\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.305\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.306\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.295\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.305\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.306\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.307\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.308\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.163\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.307\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.308\"}}}]}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.311\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.310\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.320\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Search\",\"index\":0,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"discriminant\":\"_uniq.320\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.321\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.322\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.116\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.321\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.322\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.323\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.324\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.325\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.311\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.323\"},{\"kind\":\"fvar\",\"id\":\"_uniq.324\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.325\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.328\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.327\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.336\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Search\",\"index\":2,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"discriminant\":\"_uniq.336\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.337\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.338\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.328\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.337\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.338\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.339\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.340\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.102\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.339\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.340\"}}}]}}}}}}},\"uses\":[\"Add\",\"Bool\",\"Decidable\",\"HAdd\",\"List\",\"Nat\",\"OfNat\",\"Option\",\"PUnit\",\"Prod\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"LexLeanCollections.listFold\",\"LexLeanRuntime.Appendable\",\"LexLeanRuntime.Lengthable\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"LexLeanRuntime.instLengthableList\",\"LexLeanRuntime.length\",\"List.cons\",\"List.nil\",\"Nat.blt\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Unit.unit\",\"Reasoning.Planner.Plan.Ledger\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.Search\",\"Reasoning.Planner.Plan.accept\",\"Reasoning.Planner.Plan.attempts\",\"Reasoning.Planner.Plan.fresh\",\"Reasoning.Planner.Plan.successors\",\"Reasoning.Planner.Plan.Ledger.mk\",\"Reasoning.Planner.Plan.Search.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.start\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"List\",\"Nat\",\"Prod\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instOfNatNat\",\"ite\",\"Bool.true\",\"HAdd.hAdd\",\"LexLeanCollections.instKeyNat\",\"LexLeanCollections.instKeyProd\",\"LexLeanCollections.listFold\",\"LexLeanCollections.setInsert\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"LexLeanRuntime.instLengthableList\",\"LexLeanRuntime.length\",\"List.cons\",\"List.nil\",\"Nat.blt\",\"OfNat.ofNat\",\"Option.none\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Plan.observe\",\"Reasoning.Planner.Plan.Ledger.mk\",\"Reasoning.Planner.Plan.Node.mk\",\"Reasoning.Planner.Plan.Search.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.43\",\"parameters\":[{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.31\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"discriminant\":\"_uniq.35\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.40\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.41\"}}}}}}]}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.observe\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.45\"},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"},{\"kind\":\"fvar\",\"id\":\"_uniq.48\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.49\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.instKeyNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.Key\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.instKeyProd\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.setInsert\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.52\"},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.57\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.58\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.61\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.64\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.65\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Ledger.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.68\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Search.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.55\"},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"},{\"kind\":\"fvar\",\"id\":\"_uniq.69\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.70\"}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Add\",\"Bool\",\"Decidable\",\"HAdd\",\"List\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instOfNatNat\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"LexLeanCollections.Key\",\"LexLeanCollections.instKeyNat\",\"LexLeanCollections.instKeyProd\",\"LexLeanCollections.listFold\",\"LexLeanCollections.setInsert\",\"LexLeanRuntime.Appendable\",\"LexLeanRuntime.Lengthable\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"LexLeanRuntime.instLengthableList\",\"LexLeanRuntime.length\",\"List.cons\",\"List.nil\",\"Nat.blt\",\"Option.none\",\"Reasoning.Planner.Plan.Ledger\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.Search\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Plan.observe\",\"Reasoning.Planner.Plan.Ledger.mk\",\"Reasoning.Planner.Plan.Node.mk\",\"Reasoning.Planner.Plan.Search.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.successors\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.EmptyB.successors\",\"Reasoning.Planner.Plan.FillA.successors\",\"Reasoning.Planner.Plan.Pour.successors\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.FillA.successors\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.EmptyB.successors\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Pour.successors\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.12\"}}}}}}}},\"uses\":[\"List\",\"LexLeanRuntime.Appendable\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.EmptyB.successors\",\"Reasoning.Planner.Plan.FillA.successors\",\"Reasoning.Planner.Plan.Pour.successors\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.verdict\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Prod\",\"Except.error\",\"Except.ok\",\"Prod.fst\",\"Reasoning.Planner.Plan\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Plan.verdict.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"parameters\":[{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.34\",\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.31\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.33\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.34\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.41\",\"parameters\":[{\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.40\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.41\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.53\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.42\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.55\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.35\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}]}}}}}}},\"uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Prod\",\"Except.error\",\"Except.ok\",\"Reasoning.Planner.Plan\",\"Reasoning.Planner.Plan.Step\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Pour.apply\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Planner.Pour.conclusion\",\"Reasoning.Planner.Pour.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Pour.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.26\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.28\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Pour.conclusion\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Nat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Planner.Pour.conclusion\",\"Reasoning.Planner.Pour.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Pour.candidates\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instOfNatNat\",\"List.cons\",\"List.nil\",\"OfNat.ofNat\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"2\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.10\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.11\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.14\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.19\"}}}}}}}}}}}}}}},\"uses\":[\"List\",\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"List.cons\",\"List.nil\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Pour.conclusion\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instSubNat\",\"HAdd.hAdd\",\"LexLeanRuntime.subtract\",\"Prod.fst\",\"Prod.mk\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Sub\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instSubNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.11\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.subtract\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.17\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.11\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.18\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.19\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.21\"}}}}}}}}}}},\"uses\":[\"Add\",\"HAdd\",\"Nat\",\"Prod\",\"Sub\",\"instAddNat\",\"instHAdd\",\"instSubNat\",\"LexLeanRuntime.subtract\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Pour.guard\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Bool.and\",\"HAdd.hAdd\",\"Nat.ble\",\"OfNat.ofNat\",\"Prod.fst\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.45\",\"parameters\":[{\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.44\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.83\",\"parameters\":[{\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.63\",\"parameters\":[{\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"4\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.60\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.58\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.62\"}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.63\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.69\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.70\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.71\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.72\"},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.75\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"},{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.77\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.55\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.79\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.64\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.81\"}}}}]}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.83\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.36\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.ble\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.89\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.90\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.46\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.91\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.92\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.84\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.93\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.94\"}}}}]}}}}}}}},\"uses\":[\"Add\",\"Bool\",\"HAdd\",\"Nat\",\"OfNat\",\"PUnit\",\"Prod\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.ble\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.Ledger\",\"kind\":\"inductive\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Screening.Dose.Ledger.mk\",\"parameters\":0,\"fields\":6,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Ledger\",\"levels\":[]}}}}}}}}]}},{\"name\":\"Reasoning.Screening.Dose.Trial\",\"kind\":\"inductive\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Screening.Dose.Trial.mk\",\"parameters\":0,\"fields\":3,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Ledger\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]}}}}}]}},{\"name\":\"Reasoning.Screening.Dose.candidates\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Except\",\"List\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"List.nil\",\"Prod.mk\",\"Reasoning.Screening.DoseModel\",\"Reasoning.Screening.shortCheck\",\"Reasoning.Screening.Propose.candidates.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.37\",\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.36\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.37\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.44\",\"parameters\":[{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.30\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.DoseModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.59\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.shortCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.58\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.69\"},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.84\",\"parameters\":[{\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.78\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.79\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.79\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.80\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.81\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.38\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.81\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.82\"}}}]}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.71\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.72\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.70\"},{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.84\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.84\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.77\"}]}}}]}}}}}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Except\",\"List\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Except.error\",\"Except.ok\",\"List.nil\",\"Prod.mk\",\"Reasoning.Screening.DoseModel\",\"Reasoning.Screening.shortCheck\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.failure\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Nat\",\"Prod\",\"Unit\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.beq\",\"OfNat.ofNat\",\"Prod.mk\",\"Reasoning.Screening.Dose.Trial\",\"Reasoning.Screening.Dose.Ledger.verifications\",\"Reasoning.Screening.Dose.Trial.ledger\",\"Reasoning.Screening.Dose.Trial.truncated\",\"Reasoning.Screening.Dose.try.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.43\",\"parameters\":[{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.42\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.43\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.87\",\"parameters\":[{\"id\":\"_uniq.49\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.57\",\"parameters\":[{\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"},{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.56\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.57\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.64\",\"parameters\":[{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"},{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.63\"}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.64\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Trial\",\"index\":2,\"value\":\"_uniq.34\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Ledger\",\"index\":4,\"value\":\"_uniq.70\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.79\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.77\"},{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"discriminant\":\"_uniq.81\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.82\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.83\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.85\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.58\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.84\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.85\"}}}}]}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.88\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.87\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.93\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Trial\",\"index\":1,\"value\":\"_uniq.34\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"discriminant\":\"_uniq.93\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.95\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.88\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.94\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.95\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.96\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.97\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.96\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.97\"}}}}]}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"PUnit\",\"Prod\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.beq\",\"Prod.mk\",\"Unit.unit\",\"Reasoning.Screening.Dose.Ledger\",\"Reasoning.Screening.Dose.Trial\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.run\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"Bool.false\",\"LexLeanCollections.listFold\",\"OfNat.ofNat\",\"Option.none\",\"Reasoning.Screening.Dose.Trial\",\"Reasoning.Screening.Dose.candidates\",\"Reasoning.Screening.Dose.try\",\"Reasoning.Screening.Dose.Ledger.mk\",\"Reasoning.Screening.Dose.Trial.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.13\",\"parameters\":[{\"id\":\"_uniq.10\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.try\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.10\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.12\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.17\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Ledger.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.19\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.candidates\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.22\"}}}}}}}}}}}},\"uses\":[\"Bool\",\"List\",\"Nat\",\"OfNat\",\"Option\",\"instOfNatNat\",\"Bool.false\",\"LexLeanCollections.listFold\",\"Option.none\",\"Reasoning.Screening.Dose.Ledger\",\"Reasoning.Screening.Dose.Trial\",\"Reasoning.Screening.Dose.candidates\",\"Reasoning.Screening.Dose.try\",\"Reasoning.Screening.Dose.Ledger.mk\",\"Reasoning.Screening.Dose.Trial.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.try\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Nat\",\"Option\",\"Unit\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Bool.true\",\"HAdd.hAdd\",\"Nat.blt\",\"OfNat.ofNat\",\"Option.none\",\"Reasoning.Screening.Dose.Trial\",\"Reasoning.Screening.Dose.verify\",\"Reasoning.Screening.Dose.Ledger.attempts\",\"Reasoning.Screening.Dose.Ledger.expansions\",\"Reasoning.Screening.Dose.Ledger.firings\",\"Reasoning.Screening.Dose.Ledger.frontier\",\"Reasoning.Screening.Dose.Ledger.iterations\",\"Reasoning.Screening.Dose.Ledger.mk\",\"Reasoning.Screening.Dose.Ledger.verifications\",\"Reasoning.Screening.Dose.Trial.found\",\"Reasoning.Screening.Dose.Trial.ledger\",\"Reasoning.Screening.Dose.Trial.mk\",\"Reasoning.Screening.Dose.Trial.truncated\",\"Reasoning.Screening.Dose.try.match_1\",\"Reasoning.Screening.Dose.try.match_3\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]}}}},\"parameters\":[{\"id\":\"_uniq.45\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.53\",\"parameters\":[{\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.46\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.53\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.110\",\"parameters\":[{\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.85\",\"parameters\":[{\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.verify\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.45\"},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Trial\",\"index\":1,\"value\":\"_uniq.46\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.68\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.67\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.69\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.68\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Trial\",\"index\":2,\"value\":\"_uniq.46\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Ledger\",\"index\":0,\"value\":\"_uniq.70\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.72\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.73\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.69\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.71\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Ledger\",\"index\":1,\"value\":\"_uniq.70\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.69\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.76\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Ledger\",\"index\":2,\"value\":\"_uniq.70\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.79\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Ledger\",\"index\":3,\"value\":\"_uniq.70\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.80\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Ledger\",\"index\":4,\"value\":\"_uniq.70\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.69\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.82\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Ledger\",\"index\":5,\"value\":\"_uniq.70\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Ledger.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"},{\"kind\":\"fvar\",\"id\":\"_uniq.77\"},{\"kind\":\"fvar\",\"id\":\"_uniq.78\"},{\"kind\":\"fvar\",\"id\":\"_uniq.79\"},{\"kind\":\"fvar\",\"id\":\"_uniq.81\"},{\"kind\":\"fvar\",\"id\":\"_uniq.82\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.84\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.65\"},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.83\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.84\"}}}}}}}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.86\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.85\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.93\",\"parameters\":[{\"id\":\"_uniq.88\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.89\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.90\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.91\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Trial\",\"index\":2,\"value\":\"_uniq.46\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.89\"},{\"kind\":\"fvar\",\"id\":\"_uniq.90\"},{\"kind\":\"fvar\",\"id\":\"_uniq.91\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.92\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.94\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.93\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.99\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Trial\",\"index\":2,\"value\":\"_uniq.46\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Ledger\",\"index\":4,\"value\":\"_uniq.99\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.101\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.101\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.103\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.102\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.104\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.100\"},{\"kind\":\"fvar\",\"id\":\"_uniq.103\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"discriminant\":\"_uniq.104\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.105\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.106\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.94\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.105\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.106\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.107\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.108\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.86\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.107\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.108\"}}}}]}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.111\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.110\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.119\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Trial\",\"index\":0,\"value\":\"_uniq.46\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"discriminant\":\"_uniq.119\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.120\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.121\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.111\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.120\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.121\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.122\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.123\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.54\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.122\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.123\"}}}]}}}}}}},\"uses\":[\"Add\",\"Bool\",\"HAdd\",\"Nat\",\"OfNat\",\"Option\",\"PUnit\",\"instAddNat\",\"instHAdd\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.blt\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Screening.Dose.Ledger\",\"Reasoning.Screening.Dose.Trial\",\"Reasoning.Screening.Dose.verify\",\"Reasoning.Screening.Dose.Ledger.mk\",\"Reasoning.Screening.Dose.Trial.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.verdict\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Except.error\",\"Except.ok\",\"Reasoning.Screening.Dose.Trial\",\"Reasoning.Screening.Dose.failure\",\"Reasoning.Screening.Dose.run\",\"Reasoning.Screening.Dose.Trial.found\",\"Reasoning.Screening.Dose.try.match_3\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.run\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.27\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.Trial\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.31\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.38\",\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.37\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.38\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.46\",\"parameters\":[{\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Dose.failure\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.45\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.46\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Dose.Trial\",\"index\":0,\"value\":\"_uniq.32\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.58\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.47\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.60\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.39\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.62\"}}}]}}}}}}}}},\"uses\":[\"Bool\",\"Except\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"Except.error\",\"Except.ok\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Screening.Dose.Trial\",\"Reasoning.Screening.Dose.failure\",\"Reasoning.Screening.Dose.run\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.verify\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Screening.safeCheck\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.safeCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.26\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.28\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.30\"}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Nat\",\"Option\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Screening.safeCheck\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Propose.apply\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Screening.Propose.conclusion\",\"Reasoning.Screening.Propose.guard\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Propose.guard\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.24\"},{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.26\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.28\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Propose.conclusion\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.30\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}}}]}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Nat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Reasoning.Screening.Propose.conclusion\",\"Reasoning.Screening.Propose.guard\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Propose.candidates\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Except\",\"List\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.false\",\"Bool.true\",\"Except.error\",\"Except.ok\",\"List.nil\",\"Prod.fst\",\"Prod.mk\",\"Reasoning.Screening.DoseModel\",\"Reasoning.Screening.shortCheck\",\"Reasoning.Screening.Propose.candidates.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.37\",\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.36\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.37\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.44\",\"parameters\":[{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.58\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.DoseModel\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.60\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.shortCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"},{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.85\",\"parameters\":[{\"id\":\"_uniq.79\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.79\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.80\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.81\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.80\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.81\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.82\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.83\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.38\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.82\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.83\"}}}]}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.72\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.73\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.71\"},{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.85\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]}}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.77\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.78\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.85\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.78\"}]}}}]}}}}}}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Except\",\"List\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Except.error\",\"Except.ok\",\"List.nil\",\"Prod.mk\",\"Reasoning.Screening.DoseModel\",\"Reasoning.Screening.shortCheck\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Propose.conclusion\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"Prod.fst\",\"Prod.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.11\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.13\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.14\"}}}},\"uses\":[\"Nat\",\"Prod\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Propose.guard\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Prod\",\"instOfNatNat\",\"Bool.and\",\"Nat.beq\",\"Nat.blt\",\"OfNat.ofNat\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}}},\"parameters\":[{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.37\",\"parameters\":[{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.36\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.37\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.45\",\"parameters\":[{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.42\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.43\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.44\"}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.28\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.52\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.53\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.beq\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"discriminant\":\"_uniq.55\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.38\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.46\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.59\"}}}}]}}}}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"PUnit\",\"Prod\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Nat.beq\",\"Nat.blt\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Ledger\",\"kind\":\"inductive\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Screening.Screen.Ledger.mk\",\"parameters\":0,\"fields\":6,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Ledger\",\"levels\":[]}}}}}}}}]}},{\"name\":\"Reasoning.Screening.Screen.Node\",\"kind\":\"inductive\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Screening.Screen.Node.mk\",\"parameters\":0,\"fields\":2,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}}}]}},{\"name\":\"Reasoning.Screening.Screen.Search\",\"kind\":\"inductive\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Screening.Screen.Search.mk\",\"parameters\":0,\"fields\":4,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Ledger\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}}}}}}]}},{\"name\":\"Reasoning.Screening.Screen.Step\",\"kind\":\"inductive\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":{\"parameters\":0,\"indices\":0,\"recursive\":false,\"constructors\":[{\"name\":\"Reasoning.Screening.Screen.Step.Propose\",\"parameters\":0,\"fields\":1,\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}}}]}},{\"name\":\"Reasoning.Screening.Screen.accept\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"instDecidableEqBool\",\"ite\",\"Bool.true\",\"Option.none\",\"Option.some\",\"Reasoning.Screening.safeCheck\",\"Reasoning.Screening.Screen.extract\",\"Reasoning.Screening.Screen.accept.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.42\",\"parameters\":[{\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.41\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.42\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.64\",\"parameters\":[{\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.safeCheck\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.33\"},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.58\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.60\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.62\"}}}]}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.65\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.64\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.extract\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.34\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.73\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.43\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.75\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.76\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.77\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.65\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.76\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.77\"}}}]}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"instDecidableEqBool\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Screening.safeCheck\",\"Reasoning.Screening.Screen.extract\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.attempts\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Prod\",\"LexLeanRuntime.instLengthableList\",\"LexLeanRuntime.length\",\"Reasoning.Screening.Propose.candidates\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Propose.candidates\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.8\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.9\"}}}}},\"uses\":[\"List\",\"Nat\",\"Prod\",\"LexLeanRuntime.Lengthable\",\"LexLeanRuntime.instLengthableList\",\"LexLeanRuntime.length\",\"Reasoning.Screening.Propose.candidates\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.extract\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Nat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"instOfNatNat\",\"ite\",\"Bool.true\",\"Nat.blt\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"Prod.snd\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.19\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.18\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.20\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.19\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.21\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":1,\"value\":\"_uniq.9\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.22\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.20\"},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.23\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.24\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.22\"},{\"kind\":\"fvar\",\"id\":\"_uniq.23\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.24\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.26\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.26\"}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.21\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.28\"}}}]}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"instOfNatNat\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Nat.blt\",\"Option.none\",\"Option.some\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.failure\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"Prod\",\"instDecidableEqBool\",\"ite\",\"Bool.and\",\"Bool.false\",\"Bool.not\",\"Bool.true\",\"Prod.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.27\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.44\",\"parameters\":[{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.43\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.49\",\"parameters\":[{\"id\":\"_uniq.47\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.not\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.48\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.49\",\"arguments\":[]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.69\",\"parameters\":[{\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"discriminant\":\"_uniq.61\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.62\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.64\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.65\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.66\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.false\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.67\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.66\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.67\"}}}}]}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.75\",\"parameters\":[{\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.50\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.69\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.74\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.72\",\"parameters\":[{\"id\":\"_uniq.70\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.45\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.69\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"discriminant\":\"_uniq.27\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.72\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.75\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]}}}]}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"PUnit\",\"Prod\",\"instDecidableEqBool\",\"Bool.false\",\"Bool.not\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"Prod.mk\",\"Unit.unit\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.fire\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Prod\",\"Reasoning.Screening.Propose.apply\",\"Reasoning.Screening.Screen.Step\",\"Reasoning.Screening.Screen.fire.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}}},\"parameters\":[{\"id\":\"_uniq.23\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.31\",\"parameters\":[{\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Propose.apply\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.23\"},{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.30\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.31\",\"arguments\":[]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Reasoning.Screening.Screen.Step\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"discriminant\":\"_uniq.24\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Reasoning.Screening.Screen.Step.Propose\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.32\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.37\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.38\"}}}]}}}},\"uses\":[\"Nat\",\"Option\",\"Prod\",\"Reasoning.Screening.Propose.apply\",\"Reasoning.Screening.Screen.Step\",\"Reasoning.Screening.Screen.Step.Propose\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.observe\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"OfNat.ofNat\",\"Prod.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.8\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.6\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.10\"}}}}}},\"uses\":[\"Nat\",\"OfNat\",\"Prod\",\"instOfNatNat\",\"Prod.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.run\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"instOfNatNat\",\"LexLeanCollections.iterateUntil\",\"OfNat.ofNat\",\"Reasoning.Screening.Screen.Search\",\"Reasoning.Screening.Screen.searchStep\",\"Reasoning.Screening.Screen.start\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.7\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.11\",\"parameters\":[{\"id\":\"_uniq.9\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.10\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.searchStep\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"},{\"kind\":\"fvar\",\"id\":\"_uniq.9\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.10\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"8\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.14\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.13\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.start\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.7\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.iterateUntil\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.16\"}}}}}}}},\"uses\":[\"Bool\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"instOfNatNat\",\"LexLeanCollections.iterateUntil\",\"Reasoning.Screening.Screen.Search\",\"Reasoning.Screening.Screen.searchStep\",\"Reasoning.Screening.Screen.start\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.searchStep\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"List\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instOfNatNat\",\"ite\",\"Bool.or\",\"Bool.true\",\"HAdd.hAdd\",\"LexLeanCollections.listFold\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"LexLeanRuntime.instLengthableList\",\"LexLeanRuntime.length\",\"List.cons\",\"List.nil\",\"Nat.blt\",\"OfNat.ofNat\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Reasoning.Screening.Screen.Node\",\"Reasoning.Screening.Screen.Search\",\"Reasoning.Screening.Screen.accept\",\"Reasoning.Screening.Screen.attempts\",\"Reasoning.Screening.Screen.successors\",\"Reasoning.Screening.Dose.try.match_3\",\"Reasoning.Screening.Screen.Ledger.attempts\",\"Reasoning.Screening.Screen.Ledger.expansions\",\"Reasoning.Screening.Screen.Ledger.firings\",\"Reasoning.Screening.Screen.Ledger.frontier\",\"Reasoning.Screening.Screen.Ledger.iterations\",\"Reasoning.Screening.Screen.Ledger.mk\",\"Reasoning.Screening.Screen.Ledger.verifications\",\"Reasoning.Screening.Screen.Node.state\",\"Reasoning.Screening.Screen.Search.found\",\"Reasoning.Screening.Screen.Search.frontier\",\"Reasoning.Screening.Screen.Search.ledger\",\"Reasoning.Screening.Screen.Search.mk\",\"Reasoning.Screening.Screen.Search.truncated\",\"Reasoning.Screening.Screen.searchStep.match_1\",\"Reasoning.Screening.Screen.searchStep.match_3\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}}},\"parameters\":[{\"id\":\"_uniq.92\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.93\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.101\",\"parameters\":[{\"id\":\"_uniq.99\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.100\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.100\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.102\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.101\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.320\",\"parameters\":[{\"id\":\"_uniq.109\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.115\",\"parameters\":[{\"id\":\"_uniq.113\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.114\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.114\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.116\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.115\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.303\",\"parameters\":[{\"id\":\"_uniq.126\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.127\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}}},\"value\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.161\",\"parameters\":[{\"id\":\"_uniq.133\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.134\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Prod.mk\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.133\"},{\"kind\":\"fvar\",\"id\":\"_uniq.126\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.135\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.134\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.136\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Search\",\"index\":2,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.137\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.138\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.137\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.139\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.138\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.140\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Search\",\"index\":3,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.147\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Ledger\",\"index\":0,\"value\":\"_uniq.140\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.148\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.149\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.148\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.150\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.149\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.151\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.139\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.147\"},{\"kind\":\"fvar\",\"id\":\"_uniq.150\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.152\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Ledger\",\"index\":1,\"value\":\"_uniq.140\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.153\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Ledger\",\"index\":2,\"value\":\"_uniq.140\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.154\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Ledger\",\"index\":3,\"value\":\"_uniq.140\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.155\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Ledger\",\"index\":4,\"value\":\"_uniq.140\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.156\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.139\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.155\"},{\"kind\":\"fvar\",\"id\":\"_uniq.150\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.157\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Ledger\",\"index\":5,\"value\":\"_uniq.140\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.158\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Ledger.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.151\"},{\"kind\":\"fvar\",\"id\":\"_uniq.152\"},{\"kind\":\"fvar\",\"id\":\"_uniq.153\"},{\"kind\":\"fvar\",\"id\":\"_uniq.154\"},{\"kind\":\"fvar\",\"id\":\"_uniq.156\"},{\"kind\":\"fvar\",\"id\":\"_uniq.157\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.159\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.127\"},{\"kind\":\"fvar\",\"id\":\"_uniq.135\"},{\"kind\":\"fvar\",\"id\":\"_uniq.136\"},{\"kind\":\"fvar\",\"id\":\"_uniq.158\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.160\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.159\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.160\"}}}}}}}}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.162\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.161\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.287\",\"parameters\":[{\"id\":\"_uniq.168\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.173\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.successors\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.126\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.174\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.173\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.175\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.174\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.176\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.177\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.176\"},{\"kind\":\"fvar\",\"id\":\"_uniq.175\"},{\"kind\":\"fvar\",\"id\":\"_uniq.127\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.178\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.177\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.205\",\"parameters\":[{\"id\":\"_uniq.181\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.182\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.191\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.192\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.191\"},{\"kind\":\"fvar\",\"id\":\"_uniq.181\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.193\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.194\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.193\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.195\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.194\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.196\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.192\"},{\"kind\":\"fvar\",\"id\":\"_uniq.195\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.197\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.198\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.196\"},{\"kind\":\"fvar\",\"id\":\"_uniq.197\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"discriminant\":\"_uniq.198\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.199\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.181\"}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.200\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.201\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.202\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.182\"},{\"kind\":\"fvar\",\"id\":\"_uniq.201\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.203\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.176\"},{\"kind\":\"fvar\",\"id\":\"_uniq.181\"},{\"kind\":\"fvar\",\"id\":\"_uniq.202\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.203\"}}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.206\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.207\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.205\"},{\"kind\":\"fvar\",\"id\":\"_uniq.206\"},{\"kind\":\"fvar\",\"id\":\"_uniq.178\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.208\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.207\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.209\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.217\",\"parameters\":[{\"id\":\"_uniq.215\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.216\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.216\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.218\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.217\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.227\",\"parameters\":[{\"id\":\"_uniq.220\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.221\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.222\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.221\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.223\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.222\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.224\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.225\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.224\"},{\"kind\":\"fvar\",\"id\":\"_uniq.178\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.226\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.223\"},{\"kind\":\"fvar\",\"id\":\"_uniq.225\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.226\"}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.228\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.227\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.233\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Search\",\"index\":2,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.280\",\"parameters\":[{\"id\":\"_uniq.238\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.239\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Add\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instAddNat\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.240\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"HAdd\",\"levels\":[\"0\",\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"instHAdd\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.239\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.241\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}}},\"value\":{\"kind\":\"projection\",\"type_name\":\"HAdd\",\"index\":0,\"value\":\"_uniq.240\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.242\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Search\",\"index\":3,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.243\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Ledger\",\"index\":0,\"value\":\"_uniq.242\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.244\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.245\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.244\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.246\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.245\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.247\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.241\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.243\"},{\"kind\":\"fvar\",\"id\":\"_uniq.246\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.248\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Ledger\",\"index\":1,\"value\":\"_uniq.242\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.249\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Node\",\"index\":0,\"value\":\"_uniq.126\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.250\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.attempts\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.249\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.251\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.241\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.248\"},{\"kind\":\"fvar\",\"id\":\"_uniq.250\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.252\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Ledger\",\"index\":2,\"value\":\"_uniq.242\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.253\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.254\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.253\"},{\"kind\":\"fvar\",\"id\":\"_uniq.174\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.255\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.241\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.252\"},{\"kind\":\"fvar\",\"id\":\"_uniq.254\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.256\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Ledger\",\"index\":3,\"value\":\"_uniq.242\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.257\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.241\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.256\"},{\"kind\":\"fvar\",\"id\":\"_uniq.246\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.258\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Ledger\",\"index\":4,\"value\":\"_uniq.242\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.259\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.241\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.258\"},{\"kind\":\"fvar\",\"id\":\"_uniq.246\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.268\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Ledger\",\"index\":5,\"value\":\"_uniq.242\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.269\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.253\"},{\"kind\":\"fvar\",\"id\":\"_uniq.208\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.270\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.268\"},{\"kind\":\"fvar\",\"id\":\"_uniq.269\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.271\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.272\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.270\"},{\"kind\":\"fvar\",\"id\":\"_uniq.271\"}]},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.279\",\"parameters\":[{\"id\":\"_uniq.275\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.276\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Ledger.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.247\"},{\"kind\":\"fvar\",\"id\":\"_uniq.251\"},{\"kind\":\"fvar\",\"id\":\"_uniq.255\"},{\"kind\":\"fvar\",\"id\":\"_uniq.257\"},{\"kind\":\"fvar\",\"id\":\"_uniq.259\"},{\"kind\":\"fvar\",\"id\":\"_uniq.275\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.277\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.208\"},{\"kind\":\"fvar\",\"id\":\"_uniq.209\"},{\"kind\":\"fvar\",\"id\":\"_uniq.238\"},{\"kind\":\"fvar\",\"id\":\"_uniq.276\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.278\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.some\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.277\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.278\"}}}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"discriminant\":\"_uniq.272\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.273\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.279\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.268\"}]}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.274\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"jump\",\"target\":\"_uniq.279\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.269\"}]}}]}}}}}}}}}}}}}}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.286\",\"parameters\":[{\"id\":\"_uniq.284\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.285\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.218\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.284\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.280\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.285\"}]}}},\"body\":{\"kind\":\"join\",\"declaration\":{\"id\":\"_uniq.283\",\"parameters\":[{\"id\":\"_uniq.281\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.282\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.228\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.281\"}]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.280\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.282\"}]}}},\"body\":{\"kind\":\"cases\",\"type_name\":\"Bool\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"discriminant\":\"_uniq.233\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Bool.false\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.234\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.283\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.234\"}]}}},{\"kind\":\"constructor\",\"constructor\":\"Bool.true\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.236\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"jump\",\"target\":\"_uniq.286\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.236\"}]}}}]}}}}}}}}}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.288\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.287\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.296\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Node\",\"index\":0,\"value\":\"_uniq.126\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.297\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.accept\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.92\"},{\"kind\":\"fvar\",\"id\":\"_uniq.296\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"discriminant\":\"_uniq.297\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.298\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.299\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.288\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.298\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.299\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.300\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.301\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.162\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.300\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.301\"}}}]}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.304\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.303\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.313\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Search\",\"index\":0,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"List\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"discriminant\":\"_uniq.313\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"List.nil\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.314\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.315\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.116\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.314\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.315\"}}}},{\"kind\":\"constructor\",\"constructor\":\"List.cons\",\"parameters\":[{\"id\":\"_uniq.316\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.317\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.318\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.304\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.316\"},{\"kind\":\"fvar\",\"id\":\"_uniq.317\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.318\"}}}]}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.321\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.320\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.329\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Search\",\"index\":1,\"value\":\"_uniq.93\"},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"discriminant\":\"_uniq.329\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.330\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.331\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.321\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.330\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.331\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.332\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.333\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.102\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.332\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.333\"}}}]}}}}}}},\"uses\":[\"Add\",\"Bool\",\"Decidable\",\"HAdd\",\"List\",\"Nat\",\"OfNat\",\"Option\",\"PUnit\",\"Prod\",\"instAddNat\",\"instDecidableEqBool\",\"instHAdd\",\"instOfNatNat\",\"Bool.false\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"LexLeanCollections.listFold\",\"LexLeanRuntime.Appendable\",\"LexLeanRuntime.Lengthable\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"LexLeanRuntime.instLengthableList\",\"LexLeanRuntime.length\",\"List.cons\",\"List.nil\",\"Nat.blt\",\"Option.none\",\"Option.some\",\"Prod.mk\",\"Unit.unit\",\"Reasoning.Screening.Screen.Ledger\",\"Reasoning.Screening.Screen.Node\",\"Reasoning.Screening.Screen.Search\",\"Reasoning.Screening.Screen.accept\",\"Reasoning.Screening.Screen.attempts\",\"Reasoning.Screening.Screen.successors\",\"Reasoning.Screening.Screen.Ledger.mk\",\"Reasoning.Screening.Screen.Search.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.start\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Eq\",\"List\",\"Nat\",\"Prod\",\"instDecidableEqBool\",\"instOfNatNat\",\"ite\",\"Bool.true\",\"LexLeanCollections.listFold\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"LexLeanRuntime.instLengthableList\",\"LexLeanRuntime.length\",\"List.cons\",\"List.nil\",\"Nat.blt\",\"OfNat.ofNat\",\"Option.none\",\"Reasoning.Screening.Screen.Node\",\"Reasoning.Screening.Screen.Step\",\"Reasoning.Screening.Screen.observe\",\"Reasoning.Screening.Screen.Ledger.mk\",\"Reasoning.Screening.Screen.Node.mk\",\"Reasoning.Screening.Screen.Search.mk\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]}},\"parameters\":[{\"id\":\"_uniq.13\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.42\",\"parameters\":[{\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.18\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.27\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.28\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.27\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.29\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.30\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.29\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.30\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.28\"},{\"kind\":\"fvar\",\"id\":\"_uniq.31\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Bool.true\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.34\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Decidable\",\"levels\":[]},\"arguments\":[{\"kind\":\"erased\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instDecidableEqBool\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.32\"},{\"kind\":\"fvar\",\"id\":\"_uniq.33\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Decidable\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"discriminant\":\"_uniq.34\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Decidable.isFalse\",\"parameters\":[{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"return\",\"id\":\"_uniq.17\"}},{\"kind\":\"constructor\",\"constructor\":\"Decidable.isTrue\",\"parameters\":[{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"erased\"},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.18\"},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.40\"}}}}}}]}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.observe\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.13\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.44\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.47\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.46\"},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"},{\"kind\":\"fvar\",\"id\":\"_uniq.47\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.48\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Option.none\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"3\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.52\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.51\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.52\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"1\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.55\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Nat.blt\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"literal\",\"literal\":{\"kind\":\"nat\",\"value\":\"0\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"OfNat\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"any\"}]},\"value\":{\"kind\":\"const\",\"name\":\"instOfNatNat\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"OfNat\",\"index\":0,\"value\":\"_uniq.59\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Lengthable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instLengthableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.length\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.61\"},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.63\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Ledger\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Ledger.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.60\"},{\"kind\":\"fvar\",\"id\":\"_uniq.62\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.64\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Search.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.63\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.64\"}}}}}}}}}}}}}}}}}}}}}}}}},\"uses\":[\"Bool\",\"Decidable\",\"List\",\"Nat\",\"OfNat\",\"Option\",\"Prod\",\"instDecidableEqBool\",\"instOfNatNat\",\"Bool.true\",\"Decidable.isFalse\",\"Decidable.isTrue\",\"LexLeanCollections.listFold\",\"LexLeanRuntime.Appendable\",\"LexLeanRuntime.Lengthable\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"LexLeanRuntime.instLengthableList\",\"LexLeanRuntime.length\",\"List.cons\",\"List.nil\",\"Nat.blt\",\"Option.none\",\"Reasoning.Screening.Screen.Ledger\",\"Reasoning.Screening.Screen.Node\",\"Reasoning.Screening.Screen.Search\",\"Reasoning.Screening.Screen.Step\",\"Reasoning.Screening.Screen.observe\",\"Reasoning.Screening.Screen.Ledger.mk\",\"Reasoning.Screening.Screen.Node.mk\",\"Reasoning.Screening.Screen.Search.mk\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.successors\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Screen.Node\",\"Reasoning.Screening.Screen.Propose.successors\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.6\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"let\",\"id\":\"_uniq.7\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Propose.successors\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.6\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.7\"}}},\"uses\":[\"List\",\"Reasoning.Screening.Screen.Node\",\"Reasoning.Screening.Screen.Propose.successors\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.verdict\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Prod\",\"Except.error\",\"Except.ok\",\"Prod.fst\",\"Reasoning.Screening.Screen\",\"Reasoning.Screening.Screen.Step\",\"Reasoning.Screening.Screen.verdict.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.25\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.34\",\"parameters\":[{\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.32\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Prod\",\"index\":0,\"value\":\"_uniq.31\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.ok\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.32\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.33\"}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.35\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.34\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.41\",\"parameters\":[{\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Except.error\",\"levels\":[\"0\",\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]}},{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.40\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.41\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.25\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Except\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"discriminant\":\"_uniq.53\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Except.error\",\"parameters\":[{\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.42\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.55\"}}},{\"kind\":\"constructor\",\"constructor\":\"Except.ok\",\"parameters\":[{\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Except\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Bool\",\"levels\":[]}]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.35\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.57\"}}}]}}}}}}},\"uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Prod\",\"Except.error\",\"Except.ok\",\"Reasoning.Screening.Screen\",\"Reasoning.Screening.Screen.Step\"]},\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.Step.Burn\",\"kind\":\"constructor\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.Step.Tick\",\"kind\":\"constructor\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.Step.casesOn\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Reasoning.Budget.Spend.Step\",\"Reasoning.Budget.Spend.Step.Burn\",\"Reasoning.Budget.Spend.Step.Tick\",\"Reasoning.Budget.Spend.Step.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.Step.rec\",\"kind\":\"recursor\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.accept.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.account.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Unit\",\"Bool.casesOn\",\"Bool.false\",\"Bool.true\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.conclude.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.fire.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Unit\",\"Unit.unit\",\"Reasoning.Budget.Spend.Step\",\"Reasoning.Budget.Spend.Step.Burn\",\"Reasoning.Budget.Spend.Step.Tick\",\"Reasoning.Budget.Spend.Step.casesOn\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.next.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Budget.Spend.Step\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Budget.Spend.select.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Budget\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Budget.Spend.Step\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Ledger.attempts\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Triage.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Ledger.expansions\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Triage.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Ledger.firings\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Triage.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Ledger.frontier\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Triage.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Ledger.iterations\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Triage.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Ledger.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Ledger.verifications\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Triage.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Run.ledger\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Triage.Run\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Run.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Run.state\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Triage.Run\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Run.trace\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Triage.Run\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Step.Escalate\",\"kind\":\"constructor\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Step.Fever\",\"kind\":\"constructor\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Step.Leukocytosis\",\"kind\":\"constructor\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Step.Sepsis\",\"kind\":\"constructor\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Step.Shock\",\"kind\":\"constructor\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Step.Sirs\",\"kind\":\"constructor\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Step.Tachycardia\",\"kind\":\"constructor\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Step.Tachypnea\",\"kind\":\"constructor\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Step.casesOn\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Triage.Step.Escalate\",\"Reasoning.Clinic.Triage.Step.Fever\",\"Reasoning.Clinic.Triage.Step.Leukocytosis\",\"Reasoning.Clinic.Triage.Step.Sepsis\",\"Reasoning.Clinic.Triage.Step.Shock\",\"Reasoning.Clinic.Triage.Step.Sirs\",\"Reasoning.Clinic.Triage.Step.Tachycardia\",\"Reasoning.Clinic.Triage.Step.Tachypnea\",\"Reasoning.Clinic.Triage.Step.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.Step.rec\",\"kind\":\"recursor\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.accept.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.account.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Unit\",\"Bool.casesOn\",\"Bool.false\",\"Bool.true\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.conclude.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.fire.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Unit\",\"Unit.unit\",\"Reasoning.Clinic.Triage.Step\",\"Reasoning.Clinic.Triage.Step.Escalate\",\"Reasoning.Clinic.Triage.Step.Fever\",\"Reasoning.Clinic.Triage.Step.Leukocytosis\",\"Reasoning.Clinic.Triage.Step.Sepsis\",\"Reasoning.Clinic.Triage.Step.Shock\",\"Reasoning.Clinic.Triage.Step.Sirs\",\"Reasoning.Clinic.Triage.Step.Tachycardia\",\"Reasoning.Clinic.Triage.Step.Tachypnea\",\"Reasoning.Clinic.Triage.Step.casesOn\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.next.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Clinic.Triage.Step\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.replay.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Clinic.Chart\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Clinic.Triage.select.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Clinic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Clinic.Triage.Step\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.Step.Escalate\",\"kind\":\"constructor\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.Step.Fever\",\"kind\":\"constructor\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.Step.Leukocytosis\",\"kind\":\"constructor\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.Step.Sepsis\",\"kind\":\"constructor\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.Step.Shock\",\"kind\":\"constructor\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.Step.Sirs\",\"kind\":\"constructor\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.Step.Tachycardia\",\"kind\":\"constructor\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.Step.Tachypnea\",\"kind\":\"constructor\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.Step.casesOn\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Main.Grade.Step\",\"Reasoning.Main.Grade.Step.Escalate\",\"Reasoning.Main.Grade.Step.Fever\",\"Reasoning.Main.Grade.Step.Leukocytosis\",\"Reasoning.Main.Grade.Step.Sepsis\",\"Reasoning.Main.Grade.Step.Shock\",\"Reasoning.Main.Grade.Step.Sirs\",\"Reasoning.Main.Grade.Step.Tachycardia\",\"Reasoning.Main.Grade.Step.Tachypnea\",\"Reasoning.Main.Grade.Step.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.Step.rec\",\"kind\":\"recursor\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.account.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Unit\",\"Bool.casesOn\",\"Bool.false\",\"Bool.true\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.conclude.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.fire.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Unit\",\"Unit.unit\",\"Reasoning.Main.Grade.Step\",\"Reasoning.Main.Grade.Step.Escalate\",\"Reasoning.Main.Grade.Step.Fever\",\"Reasoning.Main.Grade.Step.Leukocytosis\",\"Reasoning.Main.Grade.Step.Sepsis\",\"Reasoning.Main.Grade.Step.Shock\",\"Reasoning.Main.Grade.Step.Sirs\",\"Reasoning.Main.Grade.Step.Tachycardia\",\"Reasoning.Main.Grade.Step.Tachypnea\",\"Reasoning.Main.Grade.Step.casesOn\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.next.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Main.Grade.Step\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Main.Grade.select.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Main\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Main.Grade.Step\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.EmptyB.successors\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"List.cons\",\"List.nil\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Plan.fire\",\"Reasoning.Planner.Plan.Node.mk\",\"Reasoning.Planner.Plan.Node.state\",\"Reasoning.Planner.Plan.Node.trace\",\"Reasoning.Planner.Plan.Step.EmptyB\",\"Reasoning.Planner.Plan.replay.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.32\",\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.32\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.47\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Node\",\"index\":1,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step.EmptyB\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.46\"}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.47\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Node\",\"index\":0,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step.EmptyB\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.fire\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"discriminant\":\"_uniq.58\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.33\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.60\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.48\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.62\"}}}]}}}}}}}}},\"uses\":[\"List\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"LexLeanRuntime.Appendable\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"List.cons\",\"List.nil\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Plan.fire\",\"Reasoning.Planner.Plan.Node.mk\",\"Reasoning.Planner.Plan.Step.EmptyB\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.FillA.successors\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"List.cons\",\"List.nil\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Plan.fire\",\"Reasoning.Planner.Plan.Node.mk\",\"Reasoning.Planner.Plan.Node.state\",\"Reasoning.Planner.Plan.Node.trace\",\"Reasoning.Planner.Plan.Step.FillA\",\"Reasoning.Planner.Plan.replay.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.24\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.32\",\"parameters\":[{\"id\":\"_uniq.30\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.31\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.31\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.33\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.32\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.47\",\"parameters\":[{\"id\":\"_uniq.37\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.38\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.39\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Node\",\"index\":1,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.40\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step.FillA\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.41\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.42\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.40\"},{\"kind\":\"fvar\",\"id\":\"_uniq.41\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.43\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.38\"},{\"kind\":\"fvar\",\"id\":\"_uniq.39\"},{\"kind\":\"fvar\",\"id\":\"_uniq.42\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.37\"},{\"kind\":\"fvar\",\"id\":\"_uniq.43\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.45\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.46\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.44\"},{\"kind\":\"fvar\",\"id\":\"_uniq.45\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.46\"}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.48\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.47\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Node\",\"index\":0,\"value\":\"_uniq.24\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step.FillA\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.fire\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.56\"},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"discriminant\":\"_uniq.58\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.33\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.60\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.61\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.48\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.61\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.62\"}}}]}}}}}}}}},\"uses\":[\"List\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"LexLeanRuntime.Appendable\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"List.cons\",\"List.nil\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Plan.fire\",\"Reasoning.Planner.Plan.Node.mk\",\"Reasoning.Planner.Plan.Step.FillA\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Ledger.attempts\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.Plan.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Ledger.expansions\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.Plan.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Ledger.firings\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.Plan.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Ledger.frontier\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.Plan.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Ledger.iterations\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.Plan.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Ledger.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Ledger.verifications\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.Plan.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Node.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Node.state\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.Plan.Node\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Node.trace\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.Plan.Node\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Pour.collect\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"List.cons\",\"List.nil\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Plan.fire\",\"Reasoning.Planner.Plan.Node.mk\",\"Reasoning.Planner.Plan.Node.state\",\"Reasoning.Planner.Plan.Node.trace\",\"Reasoning.Planner.Plan.Step.Pour\",\"Reasoning.Planner.Plan.replay.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}}}},\"parameters\":[{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.43\",\"parameters\":[{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.35\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.43\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.61\",\"parameters\":[{\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Node\",\"index\":1,\"value\":\"_uniq.34\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step.Pour\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.48\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.60\"}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.61\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Node\",\"index\":0,\"value\":\"_uniq.34\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Step.Pour\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.fire\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"},{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"discriminant\":\"_uniq.72\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.62\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.76\"}}}]}}}}}}}}},\"uses\":[\"List\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"LexLeanRuntime.Appendable\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"List.cons\",\"List.nil\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Plan.fire\",\"Reasoning.Planner.Plan.Node.mk\",\"Reasoning.Planner.Plan.Step.Pour\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Pour.successors\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"LexLeanCollections.listFold\",\"List.nil\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Pour.candidates\",\"Reasoning.Planner.Plan.Node.state\",\"Reasoning.Planner.Plan.Pour.collect\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.14\",\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Pour.collect\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Planner.Plan.Node\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Pour.candidates\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Planner.Plan.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.18\"}}}}}}},\"uses\":[\"List\",\"Nat\",\"Prod\",\"LexLeanCollections.listFold\",\"List.nil\",\"Reasoning.Planner.Plan.Node\",\"Reasoning.Planner.Pour.candidates\",\"Reasoning.Planner.Plan.Pour.collect\"]},\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Search.found\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.Plan.Search\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Search.frontier\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.Plan.Search\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Search.ledger\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.Plan.Search\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Search.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Search.truncated\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.Plan.Search\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Search.visited\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Planner.Plan.Search\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Step.EmptyB\",\"kind\":\"constructor\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Step.FillA\",\"kind\":\"constructor\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Step.Pour\",\"kind\":\"constructor\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Step.casesOn\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Plan.Step.EmptyB\",\"Reasoning.Planner.Plan.Step.FillA\",\"Reasoning.Planner.Plan.Step.Pour\",\"Reasoning.Planner.Plan.Step.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.Step.rec\",\"kind\":\"recursor\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.fire.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Unit\",\"Unit.unit\",\"Reasoning.Planner.Plan.Step\",\"Reasoning.Planner.Plan.Step.EmptyB\",\"Reasoning.Planner.Plan.Step.FillA\",\"Reasoning.Planner.Plan.Step.Pour\",\"Reasoning.Planner.Plan.Step.casesOn\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.replay.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.searchStep.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.searchStep.match_3\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Unit\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Unit.unit\",\"Reasoning.Planner.Plan.Node\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.searchStep.match_5\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Planner.Plan.Node\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Planner.Plan.verdict.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Planner\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Prod\",\"Except.casesOn\",\"Except.error\",\"Except.ok\",\"Reasoning.Planner.Plan.Step\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.Ledger.attempts\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Dose.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.Ledger.expansions\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Dose.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.Ledger.firings\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Dose.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.Ledger.frontier\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Dose.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.Ledger.iterations\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Dose.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.Ledger.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.Ledger.verifications\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Dose.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.Trial.found\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Dose.Trial\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.Trial.ledger\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Dose.Trial\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.Trial.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.Trial.truncated\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Dose.Trial\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.try.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Unit\",\"Bool.casesOn\",\"Bool.false\",\"Bool.true\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Dose.try.match_3\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Propose.candidates.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Prod\",\"Except.casesOn\",\"Except.error\",\"Except.ok\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Ledger.attempts\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Screen.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Ledger.expansions\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Screen.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Ledger.firings\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Screen.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Ledger.frontier\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Screen.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Ledger.iterations\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Screen.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Ledger.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Ledger.verifications\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Screen.Ledger\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Node.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Node.state\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Screen.Node\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Node.trace\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Screen.Node\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Propose.collect\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"Option\",\"Prod\",\"Unit\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"List.cons\",\"List.nil\",\"Reasoning.Screening.Screen.Node\",\"Reasoning.Screening.Screen.Step\",\"Reasoning.Screening.Screen.fire\",\"Reasoning.Screening.Screen.Node.mk\",\"Reasoning.Screening.Screen.Node.state\",\"Reasoning.Screening.Screen.Node.trace\",\"Reasoning.Screening.Screen.Step.Propose\",\"Reasoning.Screening.Screen.replay.match_1\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}}}},\"parameters\":[{\"id\":\"_uniq.34\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"borrow\":false},{\"id\":\"_uniq.35\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.36\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.43\",\"parameters\":[{\"id\":\"_uniq.42\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"return\",\"id\":\"_uniq.35\"}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.44\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.43\",\"arguments\":[]},\"body\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.61\",\"parameters\":[{\"id\":\"_uniq.48\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.49\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.50\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.Appendable\",\"levels\":[]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.instAppendableList\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.51\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Node\",\"index\":1,\"value\":\"_uniq.34\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.53\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step.Propose\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.54\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.55\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.53\"},{\"kind\":\"fvar\",\"id\":\"_uniq.54\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.56\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.50\"},{\"kind\":\"fvar\",\"id\":\"_uniq.51\"},{\"kind\":\"fvar\",\"id\":\"_uniq.55\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.57\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node.mk\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.48\"},{\"kind\":\"fvar\",\"id\":\"_uniq.56\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.58\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.59\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.cons\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}},{\"kind\":\"fvar\",\"id\":\"_uniq.57\"},{\"kind\":\"fvar\",\"id\":\"_uniq.58\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.60\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanRuntime.append\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.49\"},{\"kind\":\"fvar\",\"id\":\"_uniq.35\"},{\"kind\":\"fvar\",\"id\":\"_uniq.59\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.60\"}}}}}}}}}}}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.62\",\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.61\",\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.70\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Node\",\"index\":0,\"value\":\"_uniq.34\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.71\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step\",\"levels\":[]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Step.Propose\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.36\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.72\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Option\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.fire\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.70\"},{\"kind\":\"fvar\",\"id\":\"_uniq.71\"}]},\"body\":{\"kind\":\"cases\",\"type_name\":\"Option\",\"result_type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"discriminant\":\"_uniq.72\",\"alternatives\":[{\"kind\":\"constructor\",\"constructor\":\"Option.none\",\"parameters\":[],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.73\",\"type\":{\"kind\":\"const\",\"name\":\"PUnit\",\"levels\":[\"1\"]},\"value\":{\"kind\":\"const\",\"name\":\"Unit.unit\",\"levels\":[],\"arguments\":[]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.74\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.44\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.73\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.74\"}}}},{\"kind\":\"constructor\",\"constructor\":\"Option.some\",\"parameters\":[{\"id\":\"_uniq.75\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"borrow\":false}],\"code\":{\"kind\":\"let\",\"id\":\"_uniq.76\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"apply\",\"function\":\"_uniq.62\",\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.75\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.76\"}}}]}}}}}}}}},\"uses\":[\"List\",\"Nat\",\"Option\",\"PUnit\",\"Prod\",\"LexLeanRuntime.Appendable\",\"LexLeanRuntime.append\",\"LexLeanRuntime.instAppendableList\",\"List.cons\",\"List.nil\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Screening.Screen.Node\",\"Reasoning.Screening.Screen.Step\",\"Reasoning.Screening.Screen.fire\",\"Reasoning.Screening.Screen.Node.mk\",\"Reasoning.Screening.Screen.Step.Propose\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Propose.successors\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Nat\",\"LexLeanCollections.listFold\",\"List.nil\",\"Reasoning.Screening.Propose.candidates\",\"Reasoning.Screening.Screen.Node\",\"Reasoning.Screening.Screen.Node.state\",\"Reasoning.Screening.Screen.Propose.collect\"],\"declaration\":{\"safe\":true,\"level_parameters\":[],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},\"parameters\":[{\"id\":\"_uniq.8\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]},\"borrow\":false}],\"value\":{\"kind\":\"code\",\"code\":{\"kind\":\"fun\",\"declaration\":{\"id\":\"_uniq.14\",\"parameters\":[{\"id\":\"_uniq.11\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"borrow\":false},{\"id\":\"_uniq.12\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"borrow\":false}],\"type\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"codomain\":{\"kind\":\"arrow\",\"domain\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},\"codomain\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}}},\"value\":{\"kind\":\"let\",\"id\":\"_uniq.13\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Propose.collect\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.8\"},{\"kind\":\"fvar\",\"id\":\"_uniq.11\"},{\"kind\":\"fvar\",\"id\":\"_uniq.12\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.13\"}}},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.15\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"List.nil\",\"levels\":[\"0\"],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.16\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"Prod\",\"levels\":[\"0\",\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]},{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"projection\",\"type_name\":\"Reasoning.Screening.Screen.Node\",\"index\":0,\"value\":\"_uniq.8\"},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.17\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Propose.candidates\",\"levels\":[],\"arguments\":[{\"kind\":\"fvar\",\"id\":\"_uniq.16\"}]},\"body\":{\"kind\":\"let\",\"id\":\"_uniq.18\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]},\"value\":{\"kind\":\"const\",\"name\":\"LexLeanCollections.listFold\",\"levels\":[],\"arguments\":[{\"kind\":\"type\",\"type\":{\"kind\":\"const\",\"name\":\"Nat\",\"levels\":[]}},{\"kind\":\"type\",\"type\":{\"kind\":\"app\",\"head\":{\"kind\":\"const\",\"name\":\"List\",\"levels\":[\"0\"]},\"arguments\":[{\"kind\":\"const\",\"name\":\"Reasoning.Screening.Screen.Node\",\"levels\":[]}]}},{\"kind\":\"fvar\",\"id\":\"_uniq.14\"},{\"kind\":\"fvar\",\"id\":\"_uniq.15\"},{\"kind\":\"fvar\",\"id\":\"_uniq.17\"}]},\"body\":{\"kind\":\"return\",\"id\":\"_uniq.18\"}}}}}}},\"uses\":[\"List\",\"Nat\",\"Prod\",\"LexLeanCollections.listFold\",\"List.nil\",\"Reasoning.Screening.Propose.candidates\",\"Reasoning.Screening.Screen.Node\",\"Reasoning.Screening.Screen.Propose.collect\"]},\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Search.found\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Screen.Search\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Search.frontier\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Screen.Search\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Search.ledger\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Screen.Search\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Search.mk\",\"kind\":\"constructor\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Search.truncated\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Reasoning.Screening.Screen.Search\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Step.Propose\",\"kind\":\"constructor\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Step.casesOn\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Reasoning.Screening.Screen.Step\",\"Reasoning.Screening.Screen.Step.Propose\",\"Reasoning.Screening.Screen.Step.rec\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.Step.rec\",\"kind\":\"recursor\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"recursor\",\"internal\":false,\"kernel_uses\":[],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.accept.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.fire.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Reasoning.Screening.Screen.Step\",\"Reasoning.Screening.Screen.Step.Propose\",\"Reasoning.Screening.Screen.Step.casesOn\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.replay.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.searchStep.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"List\",\"Unit\",\"List.casesOn\",\"List.cons\",\"List.nil\",\"Unit.unit\",\"Reasoning.Screening.Screen.Node\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.searchStep.match_3\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Nat\",\"Option\",\"Prod\",\"Unit\",\"Option.casesOn\",\"Option.none\",\"Option.some\",\"Unit.unit\",\"Reasoning.Screening.Screen.Node\"],\"declaration\":null,\"inductive\":null},{\"name\":\"Reasoning.Screening.Screen.verdict.match_1\",\"kind\":\"definition\",\"module\":\"Reasoning.Screening\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"definition\",\"internal\":false,\"kernel_uses\":[\"Bool\",\"Except\",\"List\",\"Nat\",\"Prod\",\"Except.casesOn\",\"Except.error\",\"Except.ok\",\"Reasoning.Screening.Screen.Step\"],\"declaration\":null,\"inductive\":null}],\"externals\":[{\"name\":\"Add\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Bool\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Decidable\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Except\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"HAdd\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"HMul\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"HSub\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"List\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Mul\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Nat\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"OfNat\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Option\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Ord\",\"kind\":\"inductive\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Ordering\",\"kind\":\"inductive\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"PUnit\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Prod\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"Sub\",\"kind\":\"inductive\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"inductive\",\"internal\":false,\"compiled\":false},{\"name\":\"instAddNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instDecidableEqBool\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instHAdd\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instHMul\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instHSub\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instMulNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instOfNatNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instOrdNat\",\"kind\":\"definition\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"instSubNat\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Bool.false\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Bool\"},{\"name\":\"Bool.not\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Bool.true\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Bool\"},{\"name\":\"Decidable.isFalse\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Decidable\"},{\"name\":\"Decidable.isTrue\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Decidable\"},{\"name\":\"Except.error\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Except\"},{\"name\":\"Except.ok\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Except\"},{\"name\":\"List.appendTR\",\"kind\":\"definition\",\"module\":\"Init.Data.List.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.cons\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"List\"},{\"name\":\"List.foldl\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.lengthTR\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"List.nil\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"List\"},{\"name\":\"Nat.beq\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Nat.ble\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Nat.blt\",\"kind\":\"definition\",\"module\":\"Init.Data.Nat.Basic\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true},{\"name\":\"Nat.succ\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Nat\"},{\"name\":\"Nat.zero\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Nat\"},{\"name\":\"Option.none\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Option\"},{\"name\":\"Option.some\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Option\"},{\"name\":\"Ordering.eq\",\"kind\":\"constructor\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Ordering\"},{\"name\":\"Ordering.gt\",\"kind\":\"constructor\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Ordering\"},{\"name\":\"Ordering.lt\",\"kind\":\"constructor\",\"module\":\"Init.Data.Ord.Basic\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Ordering\"},{\"name\":\"Prod.mk\",\"kind\":\"constructor\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":false,\"original_kind\":\"constructor\",\"internal\":false,\"compiled\":false,\"inductive_type\":\"Prod\"},{\"name\":\"Unit.unit\",\"kind\":\"definition\",\"module\":\"Init.Prelude\",\"computable\":true,\"generates_code\":true,\"original_kind\":\"definition\",\"internal\":false,\"compiled\":true}]}\n","stdout_sha256":"d2c9b0ff12d25eb940a8ff94fdbfcd8794392d439e10d7eaa35eefbe43ed2b4b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R0.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R0.lean deleted file mode 100644 index 462f64bd9..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R0.lean +++ /dev/null @@ -1,391 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Reasoning.Budget -import Reasoning.Clinic -import Reasoning.Main -import Reasoning.Planner -import Reasoning.Screening -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [{ constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }, - { constructors := [[(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]] }, - { constructors := [[], [], [], [], [], [], [], []] }], functions := (( - { parameters := [0, 1, 2, 3, 4, 5], types := [.nat, .nat, .nat, .nat, .nat, .nat], result := .nat, - body := (.«match» .nat (.call 1 [(.build (.adt 0) (.adt 0) [(.var 0), (.var 1), (.var 2), (.var 3), (.var 4), (.var 5)])]) [(.arm .ok [6] (.var 6)), (.arm .error [7] (.value .nat (.nat 9)))]) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.result .nat (.pair .bool .bool)), - body := (.«let» 1 (.pair (.adt 1) .bool) (.call 2 [(.var 0)]) (.«match» (.result .nat (.pair .bool .bool)) (.second (.var 1)) [(.arm .true [] (.call 3 [(.var 0), (.first (.var 1))])), (.arm .false [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))])) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.pair (.adt 1) .bool), - body := (.call 4 [(.closure 5 []), (.value .nat (.nat 11)), (.call 6 [(.var 0)])]) }) ::( - { parameters := [0, 1], types := [(.adt 0), (.adt 1)], result := (.result .nat (.pair .bool .bool)), - body := (.«match» (.result .nat (.pair .bool .bool)) (.call 7 [(.var 0), (.var 1)]) [(.arm .some [2] (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)])), (.arm .none [] (.«match» (.result .nat (.pair .bool .bool)) (.call 8 [(.var 1)]) [(.arm .some [3] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])), (.arm .none [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])]))]))]) }) ::( - { parameters := [0, 1, 2], types := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)], result := (.pair (.adt 1) .bool), - body := (.«match» (.pair (.adt 1) .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair (.adt 1) .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 4 [(.var 0), (.var 3), (.var 4)]))]))]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.«match» (.option (.adt 1)) (.call 9 [(.var 0)]) [(.arm .none [] (.build .none (.option (.adt 1)) [])), (.arm .some [1] (.call 10 [(.var 0), (.var 1)]))]) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.var 0), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0))]) }) ::( - { parameters := [0, 1], types := [(.adt 0), (.adt 1)], result := (.option .nat), - body := (.«match» (.option .nat) (.call 8 [(.var 1)]) [(.arm .none [] (.build .none (.option .nat) [])), (.arm .some [2] (.cond (.call 11 [(.var 0), (.var 2)]) (.build .some (.option .nat) [(.var 2)]) (.build .none (.option .nat) [])))]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option .nat), - body := (.build .some (.option .nat) [(.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 2)), - body := (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.cond (.call 12 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 0) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [1] (.build .some (.option (.adt 2)) [(.var 1)])), (.arm .none [] (.cond (.call 13 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 1) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]) [(.arm .some [2] (.build .some (.option (.adt 2)) [(.var 2)])), (.arm .none [] (.«match» (.option (.adt 2)) (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 2) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [3] (.build .some (.option (.adt 2)) [(.var 3)])), (.arm .none [] (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 3) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]))]) [(.arm .some [4] (.build .some (.option (.adt 2)) [(.var 4)])), (.arm .none [] (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 4) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [5] (.build .some (.option (.adt 2)) [(.var 5)])), (.arm .none [] (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 5) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]) [(.arm .some [6] (.build .some (.option (.adt 2)) [(.var 6)])), (.arm .none [] (.«match» (.option (.adt 2)) (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 6) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [7] (.build .some (.option (.adt 2)) [(.var 7)])), (.arm .none [] (.cond (.call 19 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 7) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]))]))]) }) ::( - { parameters := [0, 1], types := [(.adt 1), (.adt 2)], result := (.option (.adt 1)), - body := (.«match» (.option (.adt 1)) (.var 1) [(.arm (.adt 0) [] (.call 20 [(.var 0)])), (.arm (.adt 1) [] (.call 21 [(.var 0)])), (.arm (.adt 2) [] (.call 22 [(.var 0)])), (.arm (.adt 3) [] (.call 23 [(.var 0)])), (.arm (.adt 4) [] (.call 24 [(.var 0)])), (.arm (.adt 5) [] (.call 25 [(.var 0)])), (.arm (.adt 6) [] (.call 26 [(.var 0)])), (.arm (.adt 7) [] (.call 27 [(.var 0)]))]) }) ::( - { parameters := [0, 1], types := [(.adt 0), .nat], result := .bool, - body := (.cond (.prim .natLe [(.var 1), (.value .nat (.nat 3))]) (.cond (.prim .natEq [(.var 1), (.value .nat (.nat 3))]) (.build .true .bool []) (.prim .boolNot [(.cond (.call 28 [(.var 0)]) (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.cond (.call 29 [(.var 0)]) (.call 30 [(.var 0)]) (.build .false .bool [])) (.build .false .bool [])) (.build .false .bool []))])) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 1), (.value .nat (.nat 0))]) (.call 29 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 2), (.value .nat (.nat 0))]) (.call 30 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 3), (.value .nat (.nat 0))]) (.call 31 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 4), (.value .nat (.nat 0))]) (.call 32 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 0))]) (.prim .natLe [(.value .nat (.nat 2)), (.prim .natAdd [(.prim .natAdd [(.prim .natAdd [(.field (.var 0) 1), (.field (.var 0) 2)]), (.field (.var 0) 3)]), (.field (.var 0) 4)])]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.field (.var 0) 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.call 28 [(.field (.var 0) 0)]) (.build .false .bool [])) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natLt [(.field (.var 0) 8), (.value .nat (.nat 3))]) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 0))]) (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 2))]) (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 1))]) (.build .false .bool [])))) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 12 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 33 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 13 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 34 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 35 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 36 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 37 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 38 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 39 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 19 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 40 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.field (.var 0) 4), (.value .nat (.nat 90))]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 380)), (.field (.var 0) 0)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 90)), (.field (.var 0) 1)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 20)), (.field (.var 0) 2)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 12)), (.field (.var 0) 3)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.value .nat (.nat 1)), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.value .nat (.nat 1)), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.value .nat (.nat 1)), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.value .nat (.nat 1)), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.value .nat (.nat 1)), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.value .nat (.nat 1)), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.value .nat (.nat 1)), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.prim .natAdd [(.field (.var 0) 8), (.value .nat (.nat 1))])]) }) ::[]) } - -def __enc_0 (__s : (Reasoning.Clinic.Vitals)) : _root_.LexLeanTarget.TargetSyntax.Value := - _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).infection)] - -def __enc_1 (__s : (Reasoning.Clinic.Chart)) : _root_.LexLeanTarget.TargetSyntax.Value := - _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(__enc_0 (__s).vitals), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).fever), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).tachycardia), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).tachypnea), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).leukocytosis), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).sirs), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).sepsis), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).shock), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).level)] - -def __enc_2 : (Reasoning.Clinic.Triage.Step) -> _root_.LexLeanTarget.TargetSyntax.Value - | Reasoning.Clinic.Triage.Step.Fever => _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [] - | Reasoning.Clinic.Triage.Step.Tachycardia => _root_.LexLeanTarget.TargetSyntax.Value.adt 1 [] - | Reasoning.Clinic.Triage.Step.Tachypnea => _root_.LexLeanTarget.TargetSyntax.Value.adt 2 [] - | Reasoning.Clinic.Triage.Step.Leukocytosis => _root_.LexLeanTarget.TargetSyntax.Value.adt 3 [] - | Reasoning.Clinic.Triage.Step.Sirs => _root_.LexLeanTarget.TargetSyntax.Value.adt 4 [] - | Reasoning.Clinic.Triage.Step.Sepsis => _root_.LexLeanTarget.TargetSyntax.Value.adt 5 [] - | Reasoning.Clinic.Triage.Step.Shock => _root_.LexLeanTarget.TargetSyntax.Value.adt 6 [] - | Reasoning.Clinic.Triage.Step.Escalate => _root_.LexLeanTarget.TargetSyntax.Value.adt 7 [] - -def __fits_29 (v : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_29 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 29 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_29 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.feverish v))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (380 : Nat) (v).temperature)) - -def __fits_12 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).fever (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_29 ((s).vitals))) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.feverish in -theorem __rel_12 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 12 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_12 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Fever.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_29 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.feverish ((s).vitals)))) (Nat.beq (s).fever (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).fever (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_29 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_30 (v : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_30 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 30 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_30 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.tachycardic v))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (90 : Nat) (v).heartRate)) - -def __fits_13 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).tachycardia (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_30 ((s).vitals))) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.tachycardic in -theorem __rel_13 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 13 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_13 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Tachycardia.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_30 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.tachycardic ((s).vitals)))) (Nat.beq (s).tachycardia (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).tachycardia (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_30 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_31 (v : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_31 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 31 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_31 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.tachypneic v))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (20 : Nat) (v).respiratoryRate)) - -def __fits_14 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).tachypnea (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_31 ((s).vitals))) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.tachypneic in -theorem __rel_14 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 14 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_14 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Tachypnea.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_31 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.tachypneic ((s).vitals)))) (Nat.beq (s).tachypnea (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).tachypnea (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_31 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_32 (v : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_32 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 32 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_32 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.leukocytic v))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (12 : Nat) (v).whiteCells)) - -def __fits_15 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).leukocytosis (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_32 ((s).vitals))) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.leukocytic in -theorem __rel_15 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 15 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_15 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Leukocytosis.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_32 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.leukocytic ((s).vitals)))) (Nat.beq (s).leukocytosis (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).leukocytosis (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_32 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_16 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sirs (0 : Nat)) then ((Bool.true && (((((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).fever + (s).tachycardia) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt (((s).fever + (s).tachycardia) + (s).tachypnea) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis) 18446744073709551616)) && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) - -theorem __rel_16 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 16 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_16 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Sirs.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (((((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).fever + (s).tachycardia) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt (((s).fever + (s).tachycardia) + (s).tachypnea) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis) 18446744073709551616)) && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.ble (2 : Nat) ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis)))) (Nat.beq (s).sirs (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sirs (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (s).fever (s).tachycardia)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((s).fever + (s).tachycardia) (s).tachypnea)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (((s).fever + (s).tachycardia) + (s).tachypnea) (s).leukocytosis)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe (2 : Nat) ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_17 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sepsis (0 : Nat)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sirs (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) - -theorem __rel_17 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 17 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_17 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Sepsis.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sirs (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.beq (s).sirs (1 : Nat)) && (Nat.beq ((s).vitals).infection (1 : Nat))))) (Nat.beq (s).sepsis (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sepsis (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq ((s).vitals).infection (1 : Nat)))) (Nat.beq (s).sirs (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sirs (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq ((s).vitals).infection (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_28 (v : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_28 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 28 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_28 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.hypotensive v))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (v).systolic (90 : Nat))) - -def __fits_18 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).shock (0 : Nat)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sepsis (1 : Nat)) then ((Bool.true && Bool.true) && (__fits_28 ((s).vitals))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.hypotensive in -theorem __rel_18 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 18 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_18 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Shock.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sepsis (1 : Nat)) then ((Bool.true && Bool.true) && (__fits_28 ((s).vitals))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.beq (s).sepsis (1 : Nat)) && (Reasoning.Clinic.hypotensive ((s).vitals))))) (Nat.beq (s).shock (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).shock (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_28 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.hypotensive ((s).vitals)))) (Nat.beq (s).sepsis (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sepsis (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_28 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_19 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.blt (s).level (3 : Nat)) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (0 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))))))) else (Bool.true && Bool.true))) - -theorem __rel_19 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 19 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_19 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Escalate.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (0 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))))))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) || (((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) || ((Nat.beq (s).level (2 : Nat)) && (Nat.beq (s).shock (1 : Nat))))))) (Nat.blt (s).level (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (s).level (3 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)))))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b || (((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) || ((Nat.beq (s).level (2 : Nat)) && (Nat.beq (s).shock (1 : Nat)))))) ((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq (s).sirs (1 : Nat)))) (Nat.beq (s).level (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).level (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sirs (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b || ((Nat.beq (s).level (2 : Nat)) && (Nat.beq (s).shock (1 : Nat))))) ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq (s).sepsis (1 : Nat)))) (Nat.beq (s).level (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).level (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sepsis (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq (s).shock (1 : Nat)))) (Nat.beq (s).level (2 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).level (2 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).shock (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))))))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_9 (_ys : (Reasoning.Clinic.Chart)) : Bool := - ((((((Bool.true && Bool.true) && (__fits_12 (_ys))) && (if (Reasoning.Clinic.Fever.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_13 (_ys))) && (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) && (match (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_14 (_ys))) && (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_15 (_ys))) && (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))) && (match (match (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && (__fits_16 (_ys))) && (if (Reasoning.Clinic.Sirs.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_17 (_ys))) && (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) && (match (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_18 (_ys))) && (if (Reasoning.Clinic.Shock.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_19 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))))) - -attribute [local irreducible] Reasoning.Clinic.Escalate.guard Reasoning.Clinic.Fever.guard Reasoning.Clinic.Leukocytosis.guard Reasoning.Clinic.Sepsis.guard Reasoning.Clinic.Shock.guard Reasoning.Clinic.Sirs.guard Reasoning.Clinic.Tachycardia.guard Reasoning.Clinic.Tachypnea.guard in -theorem __rel_9 (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 9 [(__enc_1 _ys)] (_root_.LexLeanPreservation.Rel (__fits_9 _ys) ((_root_.LexLeanPreservation.encOption __enc_2) (Reasoning.Clinic.Triage.select _ys))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && (__fits_16 (_ys))) && (if (Reasoning.Clinic.Sirs.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_17 (_ys))) && (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) && (match (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_18 (_ys))) && (if (Reasoning.Clinic.Shock.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_19 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Escalate.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Escalate : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))))) (match (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_14 (_ys))) && (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_15 (_ys))) && (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))))) (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_13 (_ys))) && (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Fever.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_12 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Tachycardia.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_13 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_15 (_ys))) && (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Tachypnea.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_14 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Leukocytosis.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_15 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_18 (_ys))) && (if (Reasoning.Clinic.Shock.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_19 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Escalate.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Escalate : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))))) (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_17 (_ys))) && (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Sirs.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_16 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Sepsis.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_17 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_19 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Escalate.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Escalate : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Shock.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_18 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Escalate : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Escalate.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_19 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))))))))))) - -def __fits_33 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_33 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 33 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_33 s) (__enc_1 (Reasoning.Clinic.Fever.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_20 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_12 (s))) && (if (Reasoning.Clinic.Fever.guard (s)) then ((((Bool.true && Bool.true) && (__fits_33 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Fever.conclusion Reasoning.Clinic.Fever.guard in -theorem __rel_20 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 20 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_20 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Fever.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_33 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Fever.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Fever.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_12 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_33 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_34 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_34 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 34 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_34 s) (__enc_1 (Reasoning.Clinic.Tachycardia.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_21 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_13 (s))) && (if (Reasoning.Clinic.Tachycardia.guard (s)) then ((((Bool.true && Bool.true) && (__fits_34 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Tachycardia.conclusion Reasoning.Clinic.Tachycardia.guard in -theorem __rel_21 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 21 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_21 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Tachycardia.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_34 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Tachycardia.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Tachycardia.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_13 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_34 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_35 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_35 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 35 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_35 s) (__enc_1 (Reasoning.Clinic.Tachypnea.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_22 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_14 (s))) && (if (Reasoning.Clinic.Tachypnea.guard (s)) then ((((Bool.true && Bool.true) && (__fits_35 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Tachypnea.conclusion Reasoning.Clinic.Tachypnea.guard in -theorem __rel_22 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 22 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_22 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Tachypnea.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_35 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Tachypnea.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Tachypnea.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_14 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_35 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_36 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_36 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 36 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_36 s) (__enc_1 (Reasoning.Clinic.Leukocytosis.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_23 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_15 (s))) && (if (Reasoning.Clinic.Leukocytosis.guard (s)) then ((((Bool.true && Bool.true) && (__fits_36 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Leukocytosis.conclusion Reasoning.Clinic.Leukocytosis.guard in -theorem __rel_23 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 23 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_23 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Leukocytosis.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_36 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Leukocytosis.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Leukocytosis.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_15 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_36 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_37 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_37 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 37 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_37 s) (__enc_1 (Reasoning.Clinic.Sirs.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_24 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_16 (s))) && (if (Reasoning.Clinic.Sirs.guard (s)) then ((((Bool.true && Bool.true) && (__fits_37 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Sirs.conclusion Reasoning.Clinic.Sirs.guard in -theorem __rel_24 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 24 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_24 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Sirs.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_37 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Sirs.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Sirs.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_16 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_37 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_38 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_38 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 38 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_38 s) (__enc_1 (Reasoning.Clinic.Sepsis.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_25 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_17 (s))) && (if (Reasoning.Clinic.Sepsis.guard (s)) then ((((Bool.true && Bool.true) && (__fits_38 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Sepsis.conclusion Reasoning.Clinic.Sepsis.guard in -theorem __rel_25 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 25 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_25 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Sepsis.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_38 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Sepsis.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Sepsis.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_17 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_38 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_39 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_39 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 39 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_39 s) (__enc_1 (Reasoning.Clinic.Shock.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_26 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_18 (s))) && (if (Reasoning.Clinic.Shock.guard (s)) then ((((Bool.true && Bool.true) && (__fits_39 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Shock.conclusion Reasoning.Clinic.Shock.guard in -theorem __rel_26 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 26 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_26 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Shock.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_39 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Shock.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Shock.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_18 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_39 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_40 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).level + (1 : Nat)) 18446744073709551616)) && Bool.true))))))))) && Bool.true) - -theorem __rel_40 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 40 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_40 s) (__enc_1 (Reasoning.Clinic.Escalate.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (s).level (1 : Nat))) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_27 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_19 (s))) && (if (Reasoning.Clinic.Escalate.guard (s)) then ((((Bool.true && Bool.true) && (__fits_40 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Escalate.conclusion Reasoning.Clinic.Escalate.guard in -theorem __rel_27 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 27 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_27 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Escalate.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_40 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Escalate.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Escalate.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_19 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_40 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_10 (_ys : (Reasoning.Clinic.Chart)) (_ystep : (Reasoning.Clinic.Triage.Step)) : Bool := - (Bool.true && (match _ystep with | Reasoning.Clinic.Triage.Step.Fever => ((Bool.true && Bool.true) && (__fits_20 (_ys))) | Reasoning.Clinic.Triage.Step.Tachycardia => ((Bool.true && Bool.true) && (__fits_21 (_ys))) | Reasoning.Clinic.Triage.Step.Tachypnea => ((Bool.true && Bool.true) && (__fits_22 (_ys))) | Reasoning.Clinic.Triage.Step.Leukocytosis => ((Bool.true && Bool.true) && (__fits_23 (_ys))) | Reasoning.Clinic.Triage.Step.Sirs => ((Bool.true && Bool.true) && (__fits_24 (_ys))) | Reasoning.Clinic.Triage.Step.Sepsis => ((Bool.true && Bool.true) && (__fits_25 (_ys))) | Reasoning.Clinic.Triage.Step.Shock => ((Bool.true && Bool.true) && (__fits_26 (_ys))) | Reasoning.Clinic.Triage.Step.Escalate => ((Bool.true && Bool.true) && (__fits_27 (_ys))))) - -attribute [local irreducible] Reasoning.Clinic.Escalate.apply Reasoning.Clinic.Fever.apply Reasoning.Clinic.Leukocytosis.apply Reasoning.Clinic.Sepsis.apply Reasoning.Clinic.Shock.apply Reasoning.Clinic.Sirs.apply Reasoning.Clinic.Tachycardia.apply Reasoning.Clinic.Tachypnea.apply in -theorem __rel_10 (_ys : (Reasoning.Clinic.Chart)) (_ystep : (Reasoning.Clinic.Triage.Step)) : _root_.LexLeanPreservation.FunRel __prog 10 [(__enc_1 _ys), (__enc_2 _ystep)] (_root_.LexLeanPreservation.Rel (__fits_10 _ys _ystep) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Triage.fire _ys _ystep))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_2 (fun (__a : (Reasoning.Clinic.Triage.Step)) => (match __a with | Reasoning.Clinic.Triage.Step.Fever => ((Bool.true && Bool.true) && (__fits_20 (_ys))) | Reasoning.Clinic.Triage.Step.Tachycardia => ((Bool.true && Bool.true) && (__fits_21 (_ys))) | Reasoning.Clinic.Triage.Step.Tachypnea => ((Bool.true && Bool.true) && (__fits_22 (_ys))) | Reasoning.Clinic.Triage.Step.Leukocytosis => ((Bool.true && Bool.true) && (__fits_23 (_ys))) | Reasoning.Clinic.Triage.Step.Sirs => ((Bool.true && Bool.true) && (__fits_24 (_ys))) | Reasoning.Clinic.Triage.Step.Sepsis => ((Bool.true && Bool.true) && (__fits_25 (_ys))) | Reasoning.Clinic.Triage.Step.Shock => ((Bool.true && Bool.true) && (__fits_26 (_ys))) | Reasoning.Clinic.Triage.Step.Escalate => ((Bool.true && Bool.true) && (__fits_27 (_ys))))) (fun (__a : (Reasoning.Clinic.Triage.Step)) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Reasoning.Clinic.Triage.Step.Fever => (Reasoning.Clinic.Fever.apply (_ys)) | Reasoning.Clinic.Triage.Step.Tachycardia => (Reasoning.Clinic.Tachycardia.apply (_ys)) | Reasoning.Clinic.Triage.Step.Tachypnea => (Reasoning.Clinic.Tachypnea.apply (_ys)) | Reasoning.Clinic.Triage.Step.Leukocytosis => (Reasoning.Clinic.Leukocytosis.apply (_ys)) | Reasoning.Clinic.Triage.Step.Sirs => (Reasoning.Clinic.Sirs.apply (_ys)) | Reasoning.Clinic.Triage.Step.Sepsis => (Reasoning.Clinic.Sepsis.apply (_ys)) | Reasoning.Clinic.Triage.Step.Shock => (Reasoning.Clinic.Shock.apply (_ys)) | Reasoning.Clinic.Triage.Step.Escalate => (Reasoning.Clinic.Escalate.apply (_ys)))) _ystep (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Reasoning.Clinic.Triage.Step)) _ => match __a with | Reasoning.Clinic.Triage.Step.Fever => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_20 (_ys)))) | Reasoning.Clinic.Triage.Step.Tachycardia => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_21 (_ys))))) | Reasoning.Clinic.Triage.Step.Tachypnea => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_22 (_ys)))))) | Reasoning.Clinic.Triage.Step.Leukocytosis => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_23 (_ys))))))) | Reasoning.Clinic.Triage.Step.Sirs => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_24 (_ys)))))))) | Reasoning.Clinic.Triage.Step.Sepsis => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_25 (_ys))))))))) | Reasoning.Clinic.Triage.Step.Shock => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_26 (_ys)))))))))) | Reasoning.Clinic.Triage.Step.Escalate => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_27 (_ys))))))))))))) - -def __fits_5 (_ys : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_9 (_ys))) && (match (Reasoning.Clinic.Triage.select (_ys)) with | Option.none => (Bool.true && Bool.true) | Option.some _ystep => ((Bool.true && (Bool.true && Bool.true)) && (__fits_10 (_ys) (_ystep))))) - -attribute [local irreducible] Reasoning.Clinic.Triage.fire Reasoning.Clinic.Triage.select in -theorem __rel_5 (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 5 [(__enc_1 _ys)] (_root_.LexLeanPreservation.Rel (__fits_5 _ys) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Triage.next _ys))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.none => (Bool.true && Bool.true) | Option.some _ystep => ((Bool.true && (Bool.true && Bool.true)) && (__fits_10 (_ys) (_ystep))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Option.none => (Option.none : (Option (Reasoning.Clinic.Chart))) | Option.some _ystep => (Reasoning.Clinic.Triage.fire (_ys) (_ystep)))) (Reasoning.Clinic.Triage.select (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_9 (_ys))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | Option.some _ystep => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_10 (_ys) (_ystep))))))) - -def __fits_6 (patient : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_6 (patient : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 6 [(__enc_0 patient)] (_root_.LexLeanPreservation.Rel (__fits_6 patient) (__enc_1 (Reasoning.Clinic.Triage.observe patient))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_2 (patient : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && (Bool.true && (((Bool.true && Bool.true) && (__fits_6 (patient))) && Bool.true))) && (_root_.LexLeanPreservation.untilFits (fun (__p0 : (Reasoning.Clinic.Chart)) => __fits_5 __p0) ((Reasoning.Clinic.Triage.next)) ((11 : Nat)) ((Reasoning.Clinic.Triage.observe (patient))))) - -attribute [local irreducible] Reasoning.Clinic.Triage.observe in -theorem __rel_2 (patient : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 2 [(__enc_0 patient)] (_root_.LexLeanPreservation.Rel (__fits_2 patient) ((_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.bool) (Reasoning.Clinic.Triage.saturate patient))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_6 (patient))) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_iterateUntil (es := __enc_1) (_root_.LexLeanPreservation.optEnc __enc_1) (fun _ => rfl) (_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.bool) (fun _ => rfl) ((Reasoning.Clinic.Triage.next)) (fun (__p0 : (Reasoning.Clinic.Chart)) => __fits_5 __p0) 5 [] (fun (__p0 : (Reasoning.Clinic.Chart)) => __rel_5 __p0) (Reasoning.Clinic.LexLeanCollections.iterateUntil ((Reasoning.Clinic.Triage.next))) (fun _ => rfl) (fun _ _ __h => by simp only [Reasoning.Clinic.LexLeanCollections.iterateUntil, __h]) (fun _ _ _ __h => by simp only [Reasoning.Clinic.LexLeanCollections.iterateUntil, __h]) (p := __prog) (fi := 4) (ts := (.adt 1)) rfl ((11 : Nat)) ((Reasoning.Clinic.Triage.observe (patient))))) - -def __fits_8 (chart : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && Bool.true) && Bool.true) - -theorem __rel_8 (chart : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 8 [(__enc_1 chart)] (_root_.LexLeanPreservation.Rel (__fits_8 chart) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Clinic.Triage.extract chart))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) - -def __fits_11 (v : (Reasoning.Clinic.Vitals)) (r : Nat) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.ble r (3 : Nat)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq r (3 : Nat)) then (Bool.true && Bool.true) else (((((Bool.true && Bool.true) && (__fits_28 (v))) && (if (Reasoning.Clinic.hypotensive (v)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (v).infection (1 : Nat)) then (((Bool.true && Bool.true) && (__fits_29 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_30 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) && Bool.true) && Bool.true))) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.feverish Reasoning.Clinic.hypotensive Reasoning.Clinic.tachycardic in -theorem __rel_11 (v : (Reasoning.Clinic.Vitals)) (r : Nat) : _root_.LexLeanPreservation.FunRel __prog 11 [(__enc_0 v), (_root_.LexLeanTarget.TargetSyntax.Value.nat r)] (_root_.LexLeanPreservation.Rel (__fits_11 v r) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.recommendationCheck v r))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq r (3 : Nat)) then (Bool.true && Bool.true) else (((((Bool.true && Bool.true) && (__fits_28 (v))) && (if (Reasoning.Clinic.hypotensive (v)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (v).infection (1 : Nat)) then (((Bool.true && Bool.true) && (__fits_29 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_30 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) && Bool.true) && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.beq r (3 : Nat)) || (!((Reasoning.Clinic.hypotensive (v)) && ((Nat.beq (v).infection (1 : Nat)) && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v))))))))) (Nat.ble r (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe r (3 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (Bool.true && Bool.true) else (((((Bool.true && Bool.true) && (__fits_28 (v))) && (if (Reasoning.Clinic.hypotensive (v)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (v).infection (1 : Nat)) then (((Bool.true && Bool.true) && (__fits_29 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_30 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) && Bool.true) && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b || (!((Reasoning.Clinic.hypotensive (v)) && ((Nat.beq (v).infection (1 : Nat)) && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v)))))))) (Nat.beq r (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq r (3 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (v).infection (1 : Nat)) then (((Bool.true && Bool.true) && (__fits_29 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_30 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.beq (v).infection (1 : Nat)) && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v)))))) (Reasoning.Clinic.hypotensive (v)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_28 (v))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && Bool.true) && (__fits_29 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_30 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v))))) (Nat.beq (v).infection (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (v).infection (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_30 (v))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.tachycardic (v)))) (Reasoning.Clinic.feverish (v)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_29 (v))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_30 (v)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_boolNot ((Reasoning.Clinic.hypotensive (v)) && ((Nat.beq (v).infection (1 : Nat)) && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v)))))))))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_7 (patient : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_8 (_ys))) && (match (Reasoning.Clinic.Triage.extract (_ys)) with | Option.none => (Bool.true && Bool.true) | Option.some _yv => (((Bool.true && (Bool.true && Bool.true)) && (__fits_11 (patient) (_yv))) && (if (Reasoning.Clinic.recommendationCheck (patient) (_yv)) then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) - -attribute [local irreducible] Reasoning.Clinic.Triage.extract Reasoning.Clinic.recommendationCheck in -theorem __rel_7 (patient : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 7 [(__enc_0 patient), (__enc_1 _ys)] (_root_.LexLeanPreservation.Rel (__fits_7 patient _ys) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Clinic.Triage.accept patient _ys))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.none => (Bool.true && Bool.true) | Option.some _yv => (((Bool.true && (Bool.true && Bool.true)) && (__fits_11 (patient) (_yv))) && (if (Reasoning.Clinic.recommendationCheck (patient) (_yv)) then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.none => (Option.none : (Option Nat)) | Option.some _yv => (if (Reasoning.Clinic.recommendationCheck (patient) (_yv)) then (Option.some (_yv) : (Option Nat)) else (Option.none : (Option Nat))))) (Reasoning.Clinic.Triage.extract (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_8 (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | Option.some _yv => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then (Option.some (_yv) : (Option Nat)) else (Option.none : (Option Nat)))) (Reasoning.Clinic.recommendationCheck (patient) (_yv)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_11 (patient) (_yv))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) - -def __fits_3 (patient : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && (__fits_7 (patient) (_ys))) && (match (Reasoning.Clinic.Triage.accept (patient) (_ys)) with | Option.some _yv => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_8 (_ys))) && (match (Reasoning.Clinic.Triage.extract (_ys)) with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) - -attribute [local irreducible] Reasoning.Clinic.Triage.accept Reasoning.Clinic.Triage.extract in -theorem __rel_3 (patient : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 3 [(__enc_0 patient), (__enc_1 _ys)] (_root_.LexLeanPreservation.Rel (__fits_3 patient _ys) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Clinic.Triage.conclude patient _ys))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.some _yv => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_8 (_ys))) && (match (Reasoning.Clinic.Triage.extract (_ys)) with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.some _yv => (Except.ok (_yv) : (Except (Prod Bool Bool) Nat)) | Option.none => (match (Reasoning.Clinic.Triage.extract (_ys)) with | Option.some _yv => (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)) | Option.none => (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat))))) (Reasoning.Clinic.Triage.accept (patient) (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_7 (patient) (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.some _yv => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.some _yv => (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)) | Option.none => (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)))) (Reasoning.Clinic.Triage.extract (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_8 (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.some _yv => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))))))) - -def __fits_1 (patient : (Reasoning.Clinic.Vitals)) : Bool := - (((Bool.true && Bool.true) && (__fits_2 (patient))) && (let _yfinal : (Prod (Reasoning.Clinic.Chart) Bool) := (Reasoning.Clinic.Triage.saturate (patient)); (Bool.true && (match (_yfinal).2 with | Bool.true => ((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (patient) ((_yfinal).1))) | Bool.false => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) - -attribute [local irreducible] Reasoning.Clinic.Triage.conclude Reasoning.Clinic.Triage.saturate in -theorem __rel_1 (patient : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 1 [(__enc_0 patient)] (_root_.LexLeanPreservation.Rel (__fits_1 patient) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Clinic.Triage.verdict patient))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (let _yfinal : (Prod (Reasoning.Clinic.Chart) Bool) := (Reasoning.Clinic.Triage.saturate (patient)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_2 (patient))) (_root_.LexLeanPreservation.conv_matchV _root_.LexLeanTarget.TargetSyntax.Value.bool (fun (__a : Bool) => (match __a with | Bool.true => ((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (patient) ((_yfinal).1))) | Bool.false => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__a : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Bool.true => (Reasoning.Clinic.Triage.conclude (patient) ((_yfinal).1)) | Bool.false => (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)))) (_yfinal).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : Bool) _ => match __a with | Bool.true => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (__rel_3 (patient) ((_yfinal).1)))) | Bool.false => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))))) - -def __fits_0 (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : Bool := - (((((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true) && (__fits_1 (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals))))) && (match (Reasoning.Clinic.Triage.verdict (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals)))) with | Except.ok level => Bool.true | Except.error failure => Bool.true)) - -attribute [local irreducible] Reasoning.Clinic.Triage.verdict in -theorem __rel_0 (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)] (_root_.LexLeanPreservation.Rel (__fits_0 temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.triageLevel temperature heartRate respiratoryRate whiteCells systolic infection))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Except (Prod Bool Bool) Nat)) => (match __a with | Except.ok level => Bool.true | Except.error failure => Bool.true)) (fun (__a : (Except (Prod Bool Bool) Nat)) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match __a with | Except.ok level => level | Except.error failure => (9 : Nat))) (Reasoning.Clinic.Triage.verdict (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals)))) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) (__rel_1 (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals))))) (fun (__a : (Except (Prod Bool Bool) Nat)) _ => match __a with | Except.ok level => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | Except.error failure => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value)))) - -def denote (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.triageLevel temperature heartRate respiratoryRate whiteCells systolic infection)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)] (_root_.LexLeanPreservation.Rel (__fits_0 temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.triageLevel temperature heartRate respiratoryRate whiteCells systolic infection))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 temperature heartRate respiratoryRate whiteCells systolic infection) - -end LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0 diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R0/Compose/RustCore.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R0/Compose/RustCore.lean deleted file mode 100644 index 7974a84c2..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R0/Compose/RustCore.lean +++ /dev/null @@ -1,32 +0,0 @@ -import LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0 -import LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.RustCore -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.Compose.RustCore - -theorem __wt_0 : ∀ (__s : (Reasoning.Clinic.Vitals)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.RustCore.program _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.RustCore.krate _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.RustCore.flags (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.__enc_0 __s) (.adt 0) := - fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).temperature) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).heartRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).respiratoryRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).whiteCells) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).systolic) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).infection) _root_.LexLeanPreservation.Rust.wtl_nil)))))) - -theorem __wt_1 : ∀ (__s : (Reasoning.Clinic.Chart)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.RustCore.program _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.RustCore.krate _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.RustCore.flags (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.__enc_1 __s) (.adt 1) := - fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 (__s).vitals) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).fever) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).tachycardia) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).tachypnea) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).leukocytosis) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).sirs) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).sepsis) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).shock) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).level) _root_.LexLeanPreservation.Rust.wtl_nil))))))))) - -theorem __wt_2 : ∀ (__v : (Reasoning.Clinic.Triage.Step)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.RustCore.program _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.RustCore.krate _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.RustCore.flags (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.__enc_2 __v) (.adt 2) - | Reasoning.Clinic.Triage.Step.Fever => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Clinic.Triage.Step.Tachycardia => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Clinic.Triage.Step.Tachypnea => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Clinic.Triage.Step.Leukocytosis => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Clinic.Triage.Step.Sirs => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Clinic.Triage.Step.Sepsis => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Clinic.Triage.Step.Shock => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Clinic.Triage.Step.Escalate => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.denote temperature heartRate respiratoryRate whiteCells systolic infection) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat temperature) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat heartRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat respiratoryRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat whiteCells) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat systolic) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat infection) _root_.LexLeanPreservation.Rust.wtl_nil)))))) rfl rfl (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.root temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.Compose.RustCore diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R0/RustCore.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R0/RustCore.lean deleted file mode 100644 index 847853fc6..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R0/RustCore.lean +++ /dev/null @@ -1,360 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.RustCore -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [{ constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }, - { constructors := [[(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]] }, - { constructors := [[], [], [], [], [], [], [], []] }], functions := (( - { parameters := [0, 1, 2, 3, 4, 5], types := [.nat, .nat, .nat, .nat, .nat, .nat], result := .nat, - body := (.«match» .nat (.call 1 [(.build (.adt 0) (.adt 0) [(.var 0), (.var 1), (.var 2), (.var 3), (.var 4), (.var 5)])]) [(.arm .ok [6] (.var 6)), (.arm .error [7] (.value .nat (.nat 9)))]) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.result .nat (.pair .bool .bool)), - body := (.«let» 1 (.pair (.adt 1) .bool) (.call 2 [(.var 0)]) (.«match» (.result .nat (.pair .bool .bool)) (.second (.var 1)) [(.arm .true [] (.call 3 [(.var 0), (.first (.var 1))])), (.arm .false [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))])) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.pair (.adt 1) .bool), - body := (.call 4 [(.closure 5 []), (.value .nat (.nat 11)), (.call 6 [(.var 0)])]) }) ::( - { parameters := [0, 1], types := [(.adt 0), (.adt 1)], result := (.result .nat (.pair .bool .bool)), - body := (.«match» (.result .nat (.pair .bool .bool)) (.call 7 [(.var 0), (.var 1)]) [(.arm .some [2] (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)])), (.arm .none [] (.«match» (.result .nat (.pair .bool .bool)) (.call 8 [(.var 1)]) [(.arm .some [3] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])), (.arm .none [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])]))]))]) }) ::( - { parameters := [0, 1, 2], types := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)], result := (.pair (.adt 1) .bool), - body := (.«match» (.pair (.adt 1) .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair (.adt 1) .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 4 [(.var 0), (.var 3), (.var 4)]))]))]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.«match» (.option (.adt 1)) (.call 9 [(.var 0)]) [(.arm .none [] (.build .none (.option (.adt 1)) [])), (.arm .some [1] (.call 10 [(.var 0), (.var 1)]))]) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.var 0), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0))]) }) ::( - { parameters := [0, 1], types := [(.adt 0), (.adt 1)], result := (.option .nat), - body := (.«match» (.option .nat) (.call 8 [(.var 1)]) [(.arm .none [] (.build .none (.option .nat) [])), (.arm .some [2] (.cond (.call 11 [(.var 0), (.var 2)]) (.build .some (.option .nat) [(.var 2)]) (.build .none (.option .nat) [])))]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option .nat), - body := (.build .some (.option .nat) [(.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 2)), - body := (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.cond (.call 12 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 0) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [1] (.build .some (.option (.adt 2)) [(.var 1)])), (.arm .none [] (.cond (.call 13 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 1) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]) [(.arm .some [2] (.build .some (.option (.adt 2)) [(.var 2)])), (.arm .none [] (.«match» (.option (.adt 2)) (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 2) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [3] (.build .some (.option (.adt 2)) [(.var 3)])), (.arm .none [] (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 3) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]))]) [(.arm .some [4] (.build .some (.option (.adt 2)) [(.var 4)])), (.arm .none [] (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 4) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [5] (.build .some (.option (.adt 2)) [(.var 5)])), (.arm .none [] (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 5) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]) [(.arm .some [6] (.build .some (.option (.adt 2)) [(.var 6)])), (.arm .none [] (.«match» (.option (.adt 2)) (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 6) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [7] (.build .some (.option (.adt 2)) [(.var 7)])), (.arm .none [] (.cond (.call 19 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 7) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]))]))]) }) ::( - { parameters := [0, 1], types := [(.adt 1), (.adt 2)], result := (.option (.adt 1)), - body := (.«match» (.option (.adt 1)) (.var 1) [(.arm (.adt 0) [] (.call 20 [(.var 0)])), (.arm (.adt 1) [] (.call 21 [(.var 0)])), (.arm (.adt 2) [] (.call 22 [(.var 0)])), (.arm (.adt 3) [] (.call 23 [(.var 0)])), (.arm (.adt 4) [] (.call 24 [(.var 0)])), (.arm (.adt 5) [] (.call 25 [(.var 0)])), (.arm (.adt 6) [] (.call 26 [(.var 0)])), (.arm (.adt 7) [] (.call 27 [(.var 0)]))]) }) ::( - { parameters := [0, 1], types := [(.adt 0), .nat], result := .bool, - body := (.cond (.prim .natLe [(.var 1), (.value .nat (.nat 3))]) (.cond (.prim .natEq [(.var 1), (.value .nat (.nat 3))]) (.build .true .bool []) (.prim .boolNot [(.cond (.call 28 [(.var 0)]) (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.cond (.call 29 [(.var 0)]) (.call 30 [(.var 0)]) (.build .false .bool [])) (.build .false .bool [])) (.build .false .bool []))])) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 1), (.value .nat (.nat 0))]) (.call 29 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 2), (.value .nat (.nat 0))]) (.call 30 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 3), (.value .nat (.nat 0))]) (.call 31 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 4), (.value .nat (.nat 0))]) (.call 32 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 0))]) (.prim .natLe [(.value .nat (.nat 2)), (.prim .natAdd [(.prim .natAdd [(.prim .natAdd [(.field (.var 0) 1), (.field (.var 0) 2)]), (.field (.var 0) 3)]), (.field (.var 0) 4)])]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.field (.var 0) 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.call 28 [(.field (.var 0) 0)]) (.build .false .bool [])) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natLt [(.field (.var 0) 8), (.value .nat (.nat 3))]) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 0))]) (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 2))]) (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 1))]) (.build .false .bool [])))) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 12 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 33 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 13 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 34 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 35 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 36 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 37 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 38 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 39 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 19 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 40 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.field (.var 0) 4), (.value .nat (.nat 90))]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 380)), (.field (.var 0) 0)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 90)), (.field (.var 0) 1)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 20)), (.field (.var 0) 2)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 12)), (.field (.var 0) 3)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.value .nat (.nat 1)), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.value .nat (.nat 1)), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.value .nat (.nat 1)), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.value .nat (.nat 1)), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.value .nat (.nat 1)), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.value .nat (.nat 1)), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.value .nat (.nat 1)), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.prim .natAdd [(.field (.var 0) 8), (.value .nat (.nat 1))])]) }) ::[]) } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .core, items := ((.enum (.adt 0) [{ number := 0, fields := [.nat, .nat, .nat, .nat, .nat, .nat] }]) :: - (.enum (.adt 1) [{ number := 0, fields := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat] }]) :: - (.enum (.adt 2) [{ number := 0, fields := [] }, { number := 1, fields := [] }, { number := 2, fields := [] }, { number := 3, fields := [] }, { number := 4, fields := [] }, { number := 5, fields := [] }, { number := 6, fields := [] }, { number := 7, fields := [] }]) :: - (.enum (.fn 0) [{ number := 5, fields := [] }]) :: - (.apply 0 [(.adt 1)] (.option (.adt 1)) true [{ function := 5, captures := [], functionFallible := true }]) :: - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := .nat }, { pattern := (.bind (.generated .binding 3)), type := .nat }, { pattern := (.bind (.generated .binding 4)), type := .nat }, { pattern := (.bind (.generated .binding 5)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1)), (.copy (.generated .binding 2)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4)), (.copy (.generated .binding 5))])] true))] (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 6))) (.mk [] (.succeed (.copy (.generated .binding 6))))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 9)))))]))) :: - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.result .nat (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 1)) (some (.pair (.adt 1) .bool)) (.call (.function 2) [(.clone (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 3)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.move (.generated .binding 1)))] (.move (.generated .part 2)))))] (.cond (.move (.generated .holder 3)) (.mk [] (.succeed (.call (.function 3) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 4))))] false))) (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))))) :: - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.pair (.adt 1) .bool)) (.mk [] (.call (.function 4) [(.construct (.closure 0 5) []), (.lit (.nat 11)), (.call (.function 6) [(.move (.generated .binding 0))] false)] false))) :: - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 1) }] (.result .nat (.pair .bool .bool)) (.mk [(.mk (.bind (.generated .holder 5)) none (.call (.function 7) [(.move (.generated .binding 0)), (.clone (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 5)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 6)) none (.call (.function 8) [(.move (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 6)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])))]))) :: - (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := (.adt 1) }] (.fallible (.pair (.adt 1) .bool)) (.mk [(.mk (.bind (.generated .holder 7)) none (.copy (.generated .binding 1)))] (.cond (.isZero (.generated .holder 7)) (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 7))), (.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 8) [(.clone (.generated .binding 2))] true))))] (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))]))))) :: - (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.option (.adt 1))) (.mk [(.mk (.bind (.generated .holder 10)) none (.call (.function 9) [(.clone (.generated .binding 0))] true))] (.matchOn (.move (.generated .holder 10)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.call (.function 10) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false)))]))) :: - (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.move (.generated .binding 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0))]))) :: - (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 1) }] (.option .nat) (.mk [(.mk (.bind (.generated .holder 11)) none (.call (.function 8) [(.move (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 11)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.cond (.call (.function 11) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none .nat) [])))))]))) :: - (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option .nat) (.mk [] (.construct .some [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 12))]) (.mk [] (.move (.generated .part 12))))])]))) :: - (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.option (.adt 2))) (.mk [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.bind (.generated .holder 14)) none (.block (.mk [(.mk (.bind (.generated .holder 13)) none (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 0) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [] (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))]))))] (.matchOn (.move (.generated .holder 14)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 15)) none (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 2) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 15)) [(.mk .none (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct .some [(.move (.generated .binding 2))])))]))))] (.matchOn (.move (.generated .holder 16)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .holder 17)) none (.cond (.call (.function 16) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 2 4) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 17)) [(.mk .none (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))]))))] (.matchOn (.move (.generated .holder 18)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 19)) none (.cond (.call (.function 18) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 6) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.cond (.call (.function 19) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))]))), (.mk (.some (.bind (.generated .binding 6))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 6))]))))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 4))]))))]))) :: - (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 2) }] (.fallible (.option (.adt 1))) (.mk [(.mk (.bind (.generated .holder 20)) none (.move (.generated .binding 1)))] (.matchOn (.move (.generated .holder 20)) [(.mk (.adt 2 0 []) (.mk [] (.succeed (.call (.function 20) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 1 []) (.mk [] (.succeed (.call (.function 21) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 2 []) (.mk [] (.succeed (.call (.function 22) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 3 []) (.mk [] (.succeed (.call (.function 23) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 4 []) (.mk [] (.call (.function 24) [(.move (.generated .binding 0))] false))), (.mk (.adt 2 5 []) (.mk [] (.succeed (.call (.function 25) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 6 []) (.mk [] (.succeed (.call (.function 26) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 7 []) (.mk [] (.call (.function 27) [(.move (.generated .binding 0))] false)))]))) :: - (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false) (.mk [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 24)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 28)) none (.cond (.call (.function 28) [(.clone (.generated .binding 0))] false) (.mk [(.mk (.bind (.generated .operand 26)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))])), (.mk (.bind (.generated .operand 27)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false) (.mk [] (.cond (.call (.function 29) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 30) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))] (.call (.runtime .boolNot) [(.move (.generated .operand 28))] false)))) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 30)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 29)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 29))))])), (.mk (.bind (.generated .operand 31)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] false) (.mk [] (.call (.function 29) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 32)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 32))))])] false)) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 13) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 34)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 33)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 33))))])), (.mk (.bind (.generated .operand 35)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] false) (.mk [] (.call (.function 30) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 36)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])] false)) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 14) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 38)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 37)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 37))))])), (.mk (.bind (.generated .operand 39)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] false) (.mk [] (.call (.function 31) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 40)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 40))))])] false)) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 15) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 42)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 41))))])), (.mk (.bind (.generated .operand 43)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 42)), (.move (.generated .operand 43))] false) (.mk [] (.call (.function 32) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 44)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 44))))])] false)) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 16) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible .bool) (.mk [(.mk (.bind (.generated .operand 46)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 45)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 45))))])), (.mk (.bind (.generated .operand 47)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 46)), (.move (.generated .operand 47))] false) (.mk [(.mk (.bind (.generated .operand 58)) none (.lit (.nat 2))), (.mk (.bind (.generated .operand 59)) none (.block (.mk [(.mk (.bind (.generated .operand 56)) none (.block (.mk [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .operand 50)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 48)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 48))))])), (.mk (.bind (.generated .operand 51)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 49)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 49))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true)))), (.mk (.bind (.generated .operand 54)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 52)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 52))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true)))), (.mk (.bind (.generated .operand 57)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 55)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 55))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] true))))] (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 58)), (.move (.generated .operand 59))] false))) (.mk [] (.succeed (.lit (.bool false))))))) :: - (.function (.generated .function 17) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 61)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 60)), .wild, .wild]) (.mk [] (.move (.generated .part 60))))])), (.mk (.bind (.generated .operand 62)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 61)), (.move (.generated .operand 62))] false) (.mk [(.mk (.bind (.generated .operand 64)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 63)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])), (.mk (.bind (.generated .operand 65)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] false) (.mk [(.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.bind (.generated .holder 68)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 67)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 67))))]))] (.matchOn (.move (.generated .holder 68)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 66))]) (.mk [] (.move (.generated .part 66))))])))), (.mk (.bind (.generated .operand 70)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 69)), (.move (.generated .operand 70))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 18) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 72)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 71)), .wild]) (.mk [] (.move (.generated .part 71))))])), (.mk (.bind (.generated .operand 73)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] false) (.mk [(.mk (.bind (.generated .operand 75)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 74)), .wild, .wild]) (.mk [] (.move (.generated .part 74))))])), (.mk (.bind (.generated .operand 76)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 75)), (.move (.generated .operand 76))] false) (.mk [] (.call (.function 28) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 77)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 77))))])] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 19) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 79)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 78))]) (.mk [] (.move (.generated .part 78))))])), (.mk (.bind (.generated .operand 80)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 79)), (.move (.generated .operand 80))] false) (.mk [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 0)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false) (.mk [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 88)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 90)), .wild, .wild]) (.mk [] (.move (.generated .part 90))))])), (.mk (.bind (.generated .operand 92)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 94)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))])), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] false) (.mk [(.mk (.bind (.generated .operand 97)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96)), .wild]) (.mk [] (.move (.generated .part 96))))])), (.mk (.bind (.generated .operand 98)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 97)), (.move (.generated .operand 98))] false)) (.mk [] (.lit (.bool false))))))))) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 20) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 33) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: - (.function (.generated .function 21) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 34) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: - (.function (.generated .function 22) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 35) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: - (.function (.generated .function 23) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 36) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: - (.function (.generated .function 24) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.option (.adt 1))) (.mk [] (.cond (.call (.function 16) [(.clone (.generated .binding 0))] true) (.mk [] (.succeed (.construct .some [(.call (.function 37) [(.move (.generated .binding 0))] false)]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))))) :: - (.function (.generated .function 25) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 38) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: - (.function (.generated .function 26) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 18) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 39) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: - (.function (.generated .function 27) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.option (.adt 1))) (.mk [] (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.call (.function 40) [(.move (.generated .binding 0))] true)]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))))) :: - (.function (.generated .function 28) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 100)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 99)), .wild]) (.mk [] (.move (.generated .part 99))))])), (.mk (.bind (.generated .operand 101)) none (.lit (.nat 90)))] (.call (.runtime .natLt) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false))) :: - (.function (.generated .function 29) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 103)) none (.lit (.nat 380))), (.mk (.bind (.generated .operand 104)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 102)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 102))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 103)), (.move (.generated .operand 104))] false))) :: - (.function (.generated .function 30) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 106)) none (.lit (.nat 90))), (.mk (.bind (.generated .operand 107)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 105)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 105))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 106)), (.move (.generated .operand 107))] false))) :: - (.function (.generated .function 31) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 109)) none (.lit (.nat 20))), (.mk (.bind (.generated .operand 110)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 108)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 108))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 109)), (.move (.generated .operand 110))] false))) :: - (.function (.generated .function 32) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 112)) none (.lit (.nat 12))), (.mk (.bind (.generated .operand 113)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, (.bind (.generated .part 111)), .wild, .wild]) (.mk [] (.move (.generated .part 111))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 112)), (.move (.generated .operand 113))] false))) :: - (.function (.generated .function 33) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 114)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 114))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 115)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 115))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 116)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 116))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 117)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 117))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 118)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 118))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 119)), .wild, .wild]) (.mk [] (.move (.generated .part 119))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 120)), .wild]) (.mk [] (.move (.generated .part 120))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 121))]) (.mk [] (.move (.generated .part 121))))])]))) :: - (.function (.generated .function 34) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 122)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 122))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 123)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 123))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 124)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 124))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 125)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 125))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 126)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 126))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 127)), .wild, .wild]) (.mk [] (.move (.generated .part 127))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 128)), .wild]) (.mk [] (.move (.generated .part 128))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 129))]) (.mk [] (.move (.generated .part 129))))])]))) :: - (.function (.generated .function 35) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 130)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 130))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 131)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 131))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 132)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 132))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 133)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 133))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 134)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 134))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 135)), .wild, .wild]) (.mk [] (.move (.generated .part 135))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 136)), .wild]) (.mk [] (.move (.generated .part 136))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 137))]) (.mk [] (.move (.generated .part 137))))])]))) :: - (.function (.generated .function 36) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 138)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 138))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 139)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 139))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 140)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 140))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 141)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 141))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 142)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 142))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 143)), .wild, .wild]) (.mk [] (.move (.generated .part 143))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 144)), .wild]) (.mk [] (.move (.generated .part 144))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 145))]) (.mk [] (.move (.generated .part 145))))])]))) :: - (.function (.generated .function 37) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 146)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 146))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 147)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 147))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 148)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 148))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 149)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 149))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 150)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 150))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 151)), .wild, .wild]) (.mk [] (.move (.generated .part 151))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 152)), .wild]) (.mk [] (.move (.generated .part 152))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 153))]) (.mk [] (.move (.generated .part 153))))])]))) :: - (.function (.generated .function 38) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 154)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 154))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 155)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 155))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 156)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 156))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 157)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 157))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 158)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 158))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 159)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 159))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 160)), .wild]) (.mk [] (.move (.generated .part 160))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 161))]) (.mk [] (.move (.generated .part 161))))])]))) :: - (.function (.generated .function 39) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 162)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 162))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 163)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 163))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 164)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 164))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 165)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 165))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 166)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 166))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 167)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 167))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 168)), .wild, .wild]) (.mk [] (.move (.generated .part 168))))]), (.lit (.nat 1)), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 169))]) (.mk [] (.move (.generated .part 169))))])]))) :: - (.function (.generated .function 40) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.adt 1)) (.mk [] (.succeed (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 170)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 170))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 171)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 171))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 172)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 172))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 173)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 173))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 174)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 174))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 175)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 175))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 176)), .wild, .wild]) (.mk [] (.move (.generated .part 176))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 177)), .wild]) (.mk [] (.move (.generated .part 177))))]), (.block (.mk [(.mk (.bind (.generated .operand 179)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 178))]) (.mk [] (.move (.generated .part 178))))])), (.mk (.bind (.generated .operand 180)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 179)), (.move (.generated .operand 180))] true)))])))) :: - []) } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [(([(.adt 1)], (.option (.adt 1))), true)] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1)), (.copy (.generated .binding 2)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4)), (.copy (.generated .binding 5))])] true))], (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 6))) (.mk [] (.succeed (.copy (.generated .binding 6))))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 9)))))]), [(5, .nat, (some 5)), (4, .nat, (some 4)), (3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.matchArms (st := (.result .nat (.pair .bool .bool))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))))))) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(6, .nat, (some 6)), (5, .nat, (some 5)), (4, .nat, (some 4)), (3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.copy (.generated .binding 6)))) (Corr.mCons (Γ' := [(7, (.pair .bool .bool), none), (5, .nat, (some 5)), (4, .nat, (some 4)), (3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 9)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.pair (.adt 1) .bool)) (.call (.function 2) [(.clone (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 3)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.move (.generated .binding 1)))] (.move (.generated .part 2)))))], (.cond (.move (.generated .holder 3)) (.mk [] (.succeed (.call (.function 3) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 4))))] false))) (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.matchBool (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 2))) (Corr.second (ta := (.adt 1)) (tb := .bool) (Corr.var rfl rfl) rfl)) rfl rfl (Corr.kIf (la := []) (ta := (.succeed (.call (.function 3) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 4))))] false))) (lb := []) (tb := (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))) (Corr.fOfB (Corr.callOps (ts := [(.adt 0), (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 4))) (Corr.first (ta := (.adt 1)) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))))⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 4) [(.construct (.closure 0 5) []), (.lit (.nat 11)), (.call (.function 6) [(.move (.generated .binding 0))] false)] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.callF (ts := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 5)) none (.call (.function 7) [(.move (.generated .binding 0)), (.clone (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 5)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 6)) none (.call (.function 8) [(.move (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 6)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])))]), [(1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0), (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 6)) none (.call (.function 8) [(.move (.generated .binding 1))] false))]) (tail := (.matchOn (.move (.generated .holder 6)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))])) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])) (Corr.mCons (Γ' := [(3, .nat, none), (1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) rfl rfl rfl)) rfl rfl rfl)⟩⟩ - -theorem fun4 : FunOK program krate flags 4 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 7)) none (.copy (.generated .binding 1)))], (.cond (.isZero (.generated .holder 7)) (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 7))), (.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 8) [(.clone (.generated .binding 2))] true))))] (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))]))), [(2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))], rfl, rfl, - (Corr.matchNat (sl := (some 3)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (lb := [(.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 8) [(.clone (.generated .binding 2))] true))))]) (tb := (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))])) (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))))) (Corr.matchArms (st := (.option (.adt 1))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))]) (tail := (.apply (.generated .callee 8) [(.clone (.generated .binding 2))] true)) (Corr.apply (ps := [(.adt 1)]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, .nat, (some 3)), (2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true))))) (Corr.mCons (Γ' := [(4, (.adt 1), (some 4)), (3, .nat, (some 3)), (2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))))))) rfl rfl rfl)))⟩⟩ - -theorem fun5 : FunOK program krate flags 5 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 10)) none (.call (.function 9) [(.clone (.generated .binding 0))] true))], (.matchOn (.move (.generated .holder 10)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.call (.function 10) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false)))]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.none (.adt 1)) []))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 10) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.adt 1), (.adt 2)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) rfl rfl rfl)⟩⟩ - -theorem fun6 : FunOK program krate flags 6 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.move (.generated .binding 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0))]), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun7 : FunOK program krate flags 7 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 11)) none (.call (.function 8) [(.move (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 11)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.cond (.call (.function 11) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none .nat) [])))))]), [(1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 11) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none .nat) [])))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 11) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.copy (.generated .binding 2))])) (lb := []) (tb := (.construct (.none .nat) [])) (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun8 : FunOK program krate flags 8 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct .some [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 12))]) (.mk [] (.move (.generated .part 12))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 12))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)⟩⟩ - -theorem fun9 : FunOK program krate flags 9 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.bind (.generated .holder 14)) none (.block (.mk [(.mk (.bind (.generated .holder 13)) none (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 0) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [] (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))]))))] (.matchOn (.move (.generated .holder 14)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 15)) none (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 2) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 15)) [(.mk .none (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct .some [(.move (.generated .binding 2))])))]))))], (.matchOn (.move (.generated .holder 16)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .holder 17)) none (.cond (.call (.function 16) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 2 4) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 17)) [(.mk .none (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))]))))] (.matchOn (.move (.generated .holder 18)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 19)) none (.cond (.call (.function 18) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 6) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.cond (.call (.function 19) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))]))), (.mk (.some (.bind (.generated .binding 6))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 6))]))))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 4))]))))]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 14)) none (.block (.mk [(.mk (.bind (.generated .holder 13)) none (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 0) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [] (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))]))))]) (tail := (.matchOn (.move (.generated .holder 14)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 15)) none (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 2) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 15)) [(.mk .none (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct .some [(.move (.generated .binding 2))])))])) (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 13)) none (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 0) [])])) (.mk [] (.construct (.none (.adt 2)) []))))]) (tail := (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [] (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))])) (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 12) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 0) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) [])))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 1))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 13) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 1) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 15)) none (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 2) [])])) (.mk [] (.construct (.none (.adt 2)) []))))]) (tail := (.matchOn (.move (.generated .holder 15)) [(.mk .none (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))])) (Corr.mCons (Γ' := [(2, (.adt 2), (some 2)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 2))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 14) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 2) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) [])))) (Corr.mCons (Γ' := [(3, (.adt 2), (some 3)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 3))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 15) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 3) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl)) rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .holder 17)) none (.cond (.call (.function 16) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 2 4) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 17)) [(.mk .none (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))]))))]) (tail := (.matchOn (.move (.generated .holder 18)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 19)) none (.cond (.call (.function 18) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 6) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.cond (.call (.function 19) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))]))), (.mk (.some (.bind (.generated .binding 6))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 6))]))))])) (Corr.mCons (Γ' := [(4, (.adt 2), (some 4)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.move (.generated .binding 4))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 17)) none (.cond (.call (.function 16) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 2 4) [])])) (.mk [] (.construct (.none (.adt 2)) []))))]) (tail := (.matchOn (.move (.generated .holder 17)) [(.mk .none (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))])) (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 16) [(.clone (.generated .binding 0))] true)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 4) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) [])))) (Corr.mCons (Γ' := [(5, (.adt 2), (some 5)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 5))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 17) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 5) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 19)) none (.cond (.call (.function 18) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 6) [])])) (.mk [] (.construct (.none (.adt 2)) []))))]) (tail := (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.cond (.call (.function 19) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))])) (Corr.mCons (Γ' := [(6, (.adt 2), (some 6)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.move (.generated .binding 6))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 18) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 6) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 19) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) []))))) (Corr.mCons (Γ' := [(7, (.adt 2), (some 7)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.move (.generated .binding 7))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 19) [(.move (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (lb := []) (tb := (.succeed (.construct (.none (.adt 2)) []))) (Corr.fOfB (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))) rfl rfl rfl)) rfl rfl rfl)) rfl rfl rfl)⟩⟩ - -theorem fun10 : FunOK program krate flags 10 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 20)) none (.move (.generated .binding 1)))], (.matchOn (.move (.generated .holder 20)) [(.mk (.adt 2 0 []) (.mk [] (.succeed (.call (.function 20) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 1 []) (.mk [] (.succeed (.call (.function 21) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 2 []) (.mk [] (.succeed (.call (.function 22) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 3 []) (.mk [] (.succeed (.call (.function 23) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 4 []) (.mk [] (.call (.function 24) [(.move (.generated .binding 0))] false))), (.mk (.adt 2 5 []) (.mk [] (.succeed (.call (.function 25) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 6 []) (.mk [] (.succeed (.call (.function 26) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 7 []) (.mk [] (.call (.function 27) [(.move (.generated .binding 0))] false)))]), [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.adt 2)) (U := []) (view := false) (idx := [0, 1, 2, 3, 4, 5, 6, 7]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.call (.function 20) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.call (.function 21) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.succeed (.call (.function 22) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 3) (loads := []) (lets := []) (tail := (.succeed (.call (.function 23) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 4) (loads := []) (lets := []) (tail := (.call (.function 24) [(.move (.generated .binding 0))] false)) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 5) (loads := []) (lets := []) (tail := (.succeed (.call (.function 25) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 6) (loads := []) (lets := []) (tail := (.succeed (.call (.function 26) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 7) (loads := []) (lets := []) (tail := (.call (.function 27) [(.move (.generated .binding 0))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.callF (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun11 : FunOK program krate flags 11 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.lit (.nat 3)))], (.cond (.call (.runtime .natLe) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false) (.mk [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 24)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 28)) none (.cond (.call (.function 28) [(.clone (.generated .binding 0))] false) (.mk [(.mk (.bind (.generated .operand 26)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))])), (.mk (.bind (.generated .operand 27)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false) (.mk [] (.cond (.call (.function 29) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 30) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))] (.call (.runtime .boolNot) [(.move (.generated .operand 28))] false)))) (.mk [] (.lit (.bool false)))), [(1, .nat, (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natLe) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 24)) none (.lit (.nat 3)))]) (ta := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 28)) none (.cond (.call (.function 28) [(.clone (.generated .binding 0))] false) (.mk [(.mk (.bind (.generated .operand 26)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))])), (.mk (.bind (.generated .operand 27)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false) (.mk [] (.cond (.call (.function 29) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 30) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))] (.call (.runtime .boolNot) [(.move (.generated .operand 28))] false)))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 24)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 28)) none (.cond (.call (.function 28) [(.clone (.generated .binding 0))] false) (.mk [(.mk (.bind (.generated .operand 26)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))])), (.mk (.bind (.generated .operand 27)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false) (.mk [] (.cond (.call (.function 29) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 30) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))]) (tb := (.call (.runtime .boolNot) [(.move (.generated .operand 28))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.prim (ts := [.bool]) (Corr.opsCons (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 28) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 26)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))])), (.mk (.bind (.generated .operand 27)) none (.lit (.nat 1)))]) (ta := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false) (.mk [] (.cond (.call (.function 29) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 30) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 26)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))])), (.mk (.bind (.generated .operand 27)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 25))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 29) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 30) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := []) (ce := (.call (.function 29) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 30) [(.move (.generated .binding 0))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl))))) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun12 : FunOK program krate flags 12 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 30)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 29)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 29))))])), (.mk (.bind (.generated .operand 31)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] false) (.mk [] (.call (.function 29) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 32)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 32))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 30)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 29)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 29))))])), (.mk (.bind (.generated .operand 31)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 29))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 29) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 32)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 32))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 32))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun13 : FunOK program krate flags 13 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 34)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 33)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 33))))])), (.mk (.bind (.generated .operand 35)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] false) (.mk [] (.call (.function 30) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 36)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 34)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 33)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 33))))])), (.mk (.bind (.generated .operand 35)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 33))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 30) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 36)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 36))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun14 : FunOK program krate flags 14 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 38)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 37)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 37))))])), (.mk (.bind (.generated .operand 39)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] false) (.mk [] (.call (.function 31) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 40)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 40))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 38)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 37)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 37))))])), (.mk (.bind (.generated .operand 39)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 37))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 31) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 40)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 40))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 40))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun15 : FunOK program krate flags 15 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 42)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 41))))])), (.mk (.bind (.generated .operand 43)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 42)), (.move (.generated .operand 43))] false) (.mk [] (.call (.function 32) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 44)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 44))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 42)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 41))))])), (.mk (.bind (.generated .operand 43)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 42)), (.move (.generated .operand 43))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 41))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 32) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 44)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 44))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 44))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun16 : FunOK program krate flags 16 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 46)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 45)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 45))))])), (.mk (.bind (.generated .operand 47)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 46)), (.move (.generated .operand 47))] false) (.mk [(.mk (.bind (.generated .operand 58)) none (.lit (.nat 2))), (.mk (.bind (.generated .operand 59)) none (.block (.mk [(.mk (.bind (.generated .operand 56)) none (.block (.mk [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .operand 50)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 48)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 48))))])), (.mk (.bind (.generated .operand 51)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 49)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 49))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true)))), (.mk (.bind (.generated .operand 54)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 52)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 52))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true)))), (.mk (.bind (.generated .operand 57)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 55)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 55))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] true))))] (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 58)), (.move (.generated .operand 59))] false))) (.mk [] (.succeed (.lit (.bool false))))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 46)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 45)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 45))))])), (.mk (.bind (.generated .operand 47)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 46)), (.move (.generated .operand 47))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 45))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 58)) none (.lit (.nat 2))), (.mk (.bind (.generated .operand 59)) none (.block (.mk [(.mk (.bind (.generated .operand 56)) none (.block (.mk [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .operand 50)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 48)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 48))))])), (.mk (.bind (.generated .operand 51)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 49)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 49))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true)))), (.mk (.bind (.generated .operand 54)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 52)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 52))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true)))), (.mk (.bind (.generated .operand 57)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 55)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 55))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] true))))]) (ta := (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 58)), (.move (.generated .operand 59))] false))) (lb := []) (tb := (.succeed (.lit (.bool false)))) (Corr.fOfB (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 56)) none (.block (.mk [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .operand 50)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 48)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 48))))])), (.mk (.bind (.generated .operand 51)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 49)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 49))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true)))), (.mk (.bind (.generated .operand 54)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 52)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 52))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true)))), (.mk (.bind (.generated .operand 57)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 55)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 55))))]))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .operand 50)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 48)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 48))))])), (.mk (.bind (.generated .operand 51)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 49)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 49))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true)))), (.mk (.bind (.generated .operand 54)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 52)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 52))))]))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 50)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 48)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 48))))])), (.mk (.bind (.generated .operand 51)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 49)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 49))))]))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 48))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 49))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 52))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 55))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.fOfB (Corr.bOfE (Corr.buildConst rfl)))))⟩⟩ - -theorem fun17 : FunOK program krate flags 17 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 61)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 60)), .wild, .wild]) (.mk [] (.move (.generated .part 60))))])), (.mk (.bind (.generated .operand 62)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 61)), (.move (.generated .operand 62))] false) (.mk [(.mk (.bind (.generated .operand 64)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 63)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])), (.mk (.bind (.generated .operand 65)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] false) (.mk [(.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.bind (.generated .holder 68)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 67)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 67))))]))] (.matchOn (.move (.generated .holder 68)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 66))]) (.mk [] (.move (.generated .part 66))))])))), (.mk (.bind (.generated .operand 70)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 69)), (.move (.generated .operand 70))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 61)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 60)), .wild, .wild]) (.mk [] (.move (.generated .part 60))))])), (.mk (.bind (.generated .operand 62)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 61)), (.move (.generated .operand 62))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 60))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 64)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 63)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])), (.mk (.bind (.generated .operand 65)) none (.lit (.nat 1)))]) (ta := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] false) (.mk [(.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.bind (.generated .holder 68)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 67)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 67))))]))] (.matchOn (.move (.generated .holder 68)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 66))]) (.mk [] (.move (.generated .part 66))))])))), (.mk (.bind (.generated .operand 70)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 69)), (.move (.generated .operand 70))] false)) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 64)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 63)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])), (.mk (.bind (.generated .operand 65)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 63))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.bind (.generated .holder 68)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 67)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 67))))]))] (.matchOn (.move (.generated .holder 68)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 66))]) (.mk [] (.move (.generated .part 66))))])))), (.mk (.bind (.generated .operand 70)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 69)), (.move (.generated .operand 70))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 68)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 67)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 67))))]))]) (tail := (.matchOn (.move (.generated .holder 68)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 66))]) (.mk [] (.move (.generated .part 66))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 66))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 67))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun18 : FunOK program krate flags 18 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 72)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 71)), .wild]) (.mk [] (.move (.generated .part 71))))])), (.mk (.bind (.generated .operand 73)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] false) (.mk [(.mk (.bind (.generated .operand 75)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 74)), .wild, .wild]) (.mk [] (.move (.generated .part 74))))])), (.mk (.bind (.generated .operand 76)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 75)), (.move (.generated .operand 76))] false) (.mk [] (.call (.function 28) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 77)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 77))))])] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 72)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 71)), .wild]) (.mk [] (.move (.generated .part 71))))])), (.mk (.bind (.generated .operand 73)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 71))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 75)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 74)), .wild, .wild]) (.mk [] (.move (.generated .part 74))))])), (.mk (.bind (.generated .operand 76)) none (.lit (.nat 1)))]) (ta := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 75)), (.move (.generated .operand 76))] false) (.mk [] (.call (.function 28) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 77)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 77))))])] false)) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 75)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 74)), .wild, .wild]) (.mk [] (.move (.generated .part 74))))])), (.mk (.bind (.generated .operand 76)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 75)), (.move (.generated .operand 76))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 74))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 28) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 77)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 77))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 77))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun19 : FunOK program krate flags 19 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 79)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 78))]) (.mk [] (.move (.generated .part 78))))])), (.mk (.bind (.generated .operand 80)) none (.lit (.nat 3)))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 79)), (.move (.generated .operand 80))] false) (.mk [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 0)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false) (.mk [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 88)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 90)), .wild, .wild]) (.mk [] (.move (.generated .part 90))))])), (.mk (.bind (.generated .operand 92)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 94)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))])), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] false) (.mk [(.mk (.bind (.generated .operand 97)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96)), .wild]) (.mk [] (.move (.generated .part 96))))])), (.mk (.bind (.generated .operand 98)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 97)), (.move (.generated .operand 98))] false)) (.mk [] (.lit (.bool false))))))))) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 79)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 78))]) (.mk [] (.move (.generated .part 78))))])), (.mk (.bind (.generated .operand 80)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 79)), (.move (.generated .operand 80))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 78))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 0)))]) (ta := (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false) (.mk [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 88)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 90)), .wild, .wild]) (.mk [] (.move (.generated .part 90))))])), (.mk (.bind (.generated .operand 92)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 94)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))])), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] false) (.mk [(.mk (.bind (.generated .operand 97)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96)), .wild]) (.mk [] (.move (.generated .part 96))))])), (.mk (.bind (.generated .operand 98)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 97)), (.move (.generated .operand 98))] false)) (.mk [] (.lit (.bool false))))))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 0)))]) (ce := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false) (.mk [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false)) (.mk [] (.lit (.bool false))))) (lk := []) (Corr.cond (lc := [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 81))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 84))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 88)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))]) (tb := (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 90)), .wild, .wild]) (.mk [] (.move (.generated .part 90))))])), (.mk (.bind (.generated .operand 92)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 94)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))])), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] false) (.mk [(.mk (.bind (.generated .operand 97)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96)), .wild]) (.mk [] (.move (.generated .part 96))))])), (.mk (.bind (.generated .operand 98)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 97)), (.move (.generated .operand 98))] false)) (.mk [] (.lit (.bool false))))))) (Corr.bOfE (Corr.buildConst rfl)) (Corr.cond (lc := [(.mk (.bind (.generated .operand 88)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))]) (ce := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 90)), .wild, .wild]) (.mk [] (.move (.generated .part 90))))])), (.mk (.bind (.generated .operand 92)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] false)) (.mk [] (.lit (.bool false))))) (lk := []) (Corr.cond (lc := [(.mk (.bind (.generated .operand 88)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 87))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 91)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 90)), .wild, .wild]) (.mk [] (.move (.generated .part 90))))])), (.mk (.bind (.generated .operand 92)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 90))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 94)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))])), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 2)))]) (tb := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] false) (.mk [(.mk (.bind (.generated .operand 97)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96)), .wild]) (.mk [] (.move (.generated .part 96))))])), (.mk (.bind (.generated .operand 98)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 97)), (.move (.generated .operand 98))] false)) (.mk [] (.lit (.bool false))))) (Corr.bOfE (Corr.buildConst rfl)) (Corr.cond (lc := [(.mk (.bind (.generated .operand 94)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))])), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 2)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 93))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 97)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96)), .wild]) (.mk [] (.move (.generated .part 96))))])), (.mk (.bind (.generated .operand 98)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 97)), (.move (.generated .operand 98))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 96))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))))))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun20 : FunOK program krate flags 20 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 33) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 12) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 33) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun21 : FunOK program krate flags 21 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 34) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 13) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 34) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun22 : FunOK program krate flags 22 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 35) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 14) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 35) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun23 : FunOK program krate flags 23 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 36) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 15) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 36) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun24 : FunOK program krate flags 24 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 16) [(.clone (.generated .binding 0))] true) (.mk [] (.succeed (.construct .some [(.call (.function 37) [(.move (.generated .binding 0))] false)]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 16) [(.clone (.generated .binding 0))] true)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.call (.function 37) [(.move (.generated .binding 0))] false)]))) (lb := []) (tb := (.succeed (.construct (.none (.adt 1)) []))) (Corr.fOfB (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ - -theorem fun25 : FunOK program krate flags 25 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 38) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 17) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 38) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun26 : FunOK program krate flags 26 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 18) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 39) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 18) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 39) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun27 : FunOK program krate flags 27 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.call (.function 40) [(.move (.generated .binding 0))] true)]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 19) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.call (.function 40) [(.move (.generated .binding 0))] true)]))) (lb := []) (tb := (.succeed (.construct (.none (.adt 1)) []))) (Corr.fOfB (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ - -theorem fun28 : FunOK program krate flags 28 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 100)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 99)), .wild]) (.mk [] (.move (.generated .part 99))))])), (.mk (.bind (.generated .operand 101)) none (.lit (.nat 90)))], (.call (.runtime .natLt) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 99))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun29 : FunOK program krate flags 29 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 103)) none (.lit (.nat 380))), (.mk (.bind (.generated .operand 104)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 102)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 102))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 103)), (.move (.generated .operand 104))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 102))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun30 : FunOK program krate flags 30 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 106)) none (.lit (.nat 90))), (.mk (.bind (.generated .operand 107)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 105)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 105))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 106)), (.move (.generated .operand 107))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 105))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun31 : FunOK program krate flags 31 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 109)) none (.lit (.nat 20))), (.mk (.bind (.generated .operand 110)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 108)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 108))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 109)), (.move (.generated .operand 110))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 108))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun32 : FunOK program krate flags 32 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 112)) none (.lit (.nat 12))), (.mk (.bind (.generated .operand 113)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, (.bind (.generated .part 111)), .wild, .wild]) (.mk [] (.move (.generated .part 111))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 112)), (.move (.generated .operand 113))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 111))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun33 : FunOK program krate flags 33 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 114)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 114))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 115)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 115))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 116)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 116))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 117)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 117))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 118)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 118))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 119)), .wild, .wild]) (.mk [] (.move (.generated .part 119))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 120)), .wild]) (.mk [] (.move (.generated .part 120))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 121))]) (.mk [] (.move (.generated .part 121))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 114))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 115))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 116))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 117))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 118))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 119))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 120))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 121))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun34 : FunOK program krate flags 34 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 122)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 122))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 123)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 123))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 124)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 124))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 125)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 125))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 126)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 126))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 127)), .wild, .wild]) (.mk [] (.move (.generated .part 127))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 128)), .wild]) (.mk [] (.move (.generated .part 128))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 129))]) (.mk [] (.move (.generated .part 129))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 122))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 123))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 124))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 125))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 126))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 127))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 128))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 129))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun35 : FunOK program krate flags 35 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 130)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 130))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 131)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 131))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 132)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 132))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 133)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 133))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 134)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 134))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 135)), .wild, .wild]) (.mk [] (.move (.generated .part 135))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 136)), .wild]) (.mk [] (.move (.generated .part 136))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 137))]) (.mk [] (.move (.generated .part 137))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 130))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 131))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 132))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 133))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 134))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 135))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 136))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 137))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun36 : FunOK program krate flags 36 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 138)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 138))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 139)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 139))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 140)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 140))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 141)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 141))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 142)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 142))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 143)), .wild, .wild]) (.mk [] (.move (.generated .part 143))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 144)), .wild]) (.mk [] (.move (.generated .part 144))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 145))]) (.mk [] (.move (.generated .part 145))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 138))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 139))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 140))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 141))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 142))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 143))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 144))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 145))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun37 : FunOK program krate flags 37 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 146)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 146))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 147)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 147))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 148)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 148))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 149)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 149))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 150)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 150))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 151)), .wild, .wild]) (.mk [] (.move (.generated .part 151))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 152)), .wild]) (.mk [] (.move (.generated .part 152))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 153))]) (.mk [] (.move (.generated .part 153))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 146))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 147))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 148))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 149))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 150))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 151))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 152))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 153))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun38 : FunOK program krate flags 38 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 154)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 154))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 155)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 155))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 156)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 156))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 157)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 157))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 158)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 158))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 159)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 159))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 160)), .wild]) (.mk [] (.move (.generated .part 160))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 161))]) (.mk [] (.move (.generated .part 161))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 154))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 155))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 156))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 157))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 158))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 159))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 160))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 161))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun39 : FunOK program krate flags 39 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 162)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 162))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 163)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 163))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 164)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 164))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 165)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 165))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 166)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 166))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 167)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 167))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 168)), .wild, .wild]) (.mk [] (.move (.generated .part 168))))]), (.lit (.nat 1)), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 169))]) (.mk [] (.move (.generated .part 169))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 162))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 163))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 164))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 165))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 166))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 167))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 168))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 169))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun40 : FunOK program krate flags 40 := - ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 170)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 170))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 171)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 171))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 172)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 172))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 173)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 173))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 174)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 174))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 175)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 175))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 176)), .wild, .wild]) (.mk [] (.move (.generated .part 176))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 177)), .wild]) (.mk [] (.move (.generated .part 177))))]), (.block (.mk [(.mk (.bind (.generated .operand 179)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 178))]) (.mk [] (.move (.generated .part 178))))])), (.mk (.bind (.generated .operand 180)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 179)), (.move (.generated .operand 180))] true)))])), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.fOfB (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 170))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 171))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 172))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 173))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 174))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 175))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 176))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 177))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 179)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 178))]) (.mk [] (.move (.generated .part 178))))])), (.mk (.bind (.generated .operand 180)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 179)), (.move (.generated .operand 180))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 178))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | 4 => exact fun4 - | 5 => exact fun5 - | 6 => exact fun6 - | 7 => exact fun7 - | 8 => exact fun8 - | 9 => exact fun9 - | 10 => exact fun10 - | 11 => exact fun11 - | 12 => exact fun12 - | 13 => exact fun13 - | 14 => exact fun14 - | 15 => exact fun15 - | 16 => exact fun16 - | 17 => exact fun17 - | 18 => exact fun18 - | 19 => exact fun19 - | 20 => exact fun20 - | 21 => exact fun21 - | 22 => exact fun22 - | 23 => exact fun23 - | 24 => exact fun24 - | 25 => exact fun25 - | 26 => exact fun26 - | 27 => exact fun27 - | 28 => exact fun28 - | 29 => exact fun29 - | 30 => exact fun30 - | 31 => exact fun31 - | 32 => exact fun32 - | 33 => exact fun33 - | 34 => exact fun34 - | 35 => exact fun35 - | 36 => exact fun36 - | 37 => exact fun37 - | 38 => exact fun38 - | 39 => exact fun39 - | 40 => exact fun40 - | _ + 41 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.RustCore diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R1.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R1.lean deleted file mode 100644 index 9f79b904e..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R1.lean +++ /dev/null @@ -1,409 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Reasoning.Budget -import Reasoning.Clinic -import Reasoning.Main -import Reasoning.Planner -import Reasoning.Screening -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [{ constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }, - { constructors := [[(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]] }, - { constructors := [[], [], [], [], [], [], [], []] }], functions := (( - { parameters := [0, 1, 2, 3, 4, 5], types := [.nat, .nat, .nat, .nat, .nat, .nat], result := .nat, - body := (.«match» .nat (.call 1 [(.build (.adt 0) (.adt 0) [(.var 0), (.var 1), (.var 2), (.var 3), (.var 4), (.var 5)])]) [(.arm .ok [6] (.var 6)), (.arm .error [7] (.value .nat (.nat 9)))]) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.result .nat (.pair .bool .bool)), - body := (.call 2 [(.var 0)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.result .nat (.pair .bool .bool)), - body := (.call 3 [(.var 0)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.result .nat (.pair .bool .bool)), - body := (.«let» 1 (.pair (.adt 1) .bool) (.call 4 [(.var 0)]) (.«match» (.result .nat (.pair .bool .bool)) (.second (.var 1)) [(.arm .true [] (.call 5 [(.var 0), (.first (.var 1))])), (.arm .false [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))])) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.pair (.adt 1) .bool), - body := (.call 6 [(.closure 7 []), (.value .nat (.nat 11)), (.call 8 [(.var 0)])]) }) ::( - { parameters := [0, 1], types := [(.adt 0), (.adt 1)], result := (.result .nat (.pair .bool .bool)), - body := (.«match» (.result .nat (.pair .bool .bool)) (.call 9 [(.var 0), (.var 1)]) [(.arm .some [2] (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)])), (.arm .none [] (.«match» (.result .nat (.pair .bool .bool)) (.call 10 [(.var 1)]) [(.arm .some [3] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])), (.arm .none [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])]))]))]) }) ::( - { parameters := [0, 1, 2], types := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)], result := (.pair (.adt 1) .bool), - body := (.«match» (.pair (.adt 1) .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair (.adt 1) .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 6 [(.var 0), (.var 3), (.var 4)]))]))]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.«match» (.option (.adt 1)) (.call 11 [(.var 0)]) [(.arm .none [] (.build .none (.option (.adt 1)) [])), (.arm .some [1] (.call 12 [(.var 0), (.var 1)]))]) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.var 0), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0))]) }) ::( - { parameters := [0, 1], types := [(.adt 0), (.adt 1)], result := (.option .nat), - body := (.«match» (.option .nat) (.call 10 [(.var 1)]) [(.arm .none [] (.build .none (.option .nat) [])), (.arm .some [2] (.cond (.call 13 [(.var 0), (.var 2)]) (.build .some (.option .nat) [(.var 2)]) (.build .none (.option .nat) [])))]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option .nat), - body := (.build .some (.option .nat) [(.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 2)), - body := (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 0) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [1] (.build .some (.option (.adt 2)) [(.var 1)])), (.arm .none [] (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 1) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]) [(.arm .some [2] (.build .some (.option (.adt 2)) [(.var 2)])), (.arm .none [] (.«match» (.option (.adt 2)) (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 2) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [3] (.build .some (.option (.adt 2)) [(.var 3)])), (.arm .none [] (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 3) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]))]) [(.arm .some [4] (.build .some (.option (.adt 2)) [(.var 4)])), (.arm .none [] (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 4) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [5] (.build .some (.option (.adt 2)) [(.var 5)])), (.arm .none [] (.cond (.call 19 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 5) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]) [(.arm .some [6] (.build .some (.option (.adt 2)) [(.var 6)])), (.arm .none [] (.«match» (.option (.adt 2)) (.cond (.call 20 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 6) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [7] (.build .some (.option (.adt 2)) [(.var 7)])), (.arm .none [] (.cond (.call 21 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 7) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]))]))]) }) ::( - { parameters := [0, 1], types := [(.adt 1), (.adt 2)], result := (.option (.adt 1)), - body := (.«match» (.option (.adt 1)) (.var 1) [(.arm (.adt 0) [] (.call 22 [(.var 0)])), (.arm (.adt 1) [] (.call 23 [(.var 0)])), (.arm (.adt 2) [] (.call 24 [(.var 0)])), (.arm (.adt 3) [] (.call 25 [(.var 0)])), (.arm (.adt 4) [] (.call 26 [(.var 0)])), (.arm (.adt 5) [] (.call 27 [(.var 0)])), (.arm (.adt 6) [] (.call 28 [(.var 0)])), (.arm (.adt 7) [] (.call 29 [(.var 0)]))]) }) ::( - { parameters := [0, 1], types := [(.adt 0), .nat], result := .bool, - body := (.cond (.prim .natLe [(.var 1), (.value .nat (.nat 3))]) (.cond (.prim .natEq [(.var 1), (.value .nat (.nat 3))]) (.build .true .bool []) (.prim .boolNot [(.cond (.call 30 [(.var 0)]) (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.cond (.call 31 [(.var 0)]) (.call 32 [(.var 0)]) (.build .false .bool [])) (.build .false .bool [])) (.build .false .bool []))])) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 1), (.value .nat (.nat 0))]) (.call 31 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 2), (.value .nat (.nat 0))]) (.call 32 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 3), (.value .nat (.nat 0))]) (.call 33 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 4), (.value .nat (.nat 0))]) (.call 34 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 0))]) (.prim .natLe [(.value .nat (.nat 2)), (.prim .natAdd [(.prim .natAdd [(.prim .natAdd [(.field (.var 0) 1), (.field (.var 0) 2)]), (.field (.var 0) 3)]), (.field (.var 0) 4)])]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.field (.var 0) 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.call 30 [(.field (.var 0) 0)]) (.build .false .bool [])) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natLt [(.field (.var 0) 8), (.value .nat (.nat 3))]) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 0))]) (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 2))]) (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 1))]) (.build .false .bool [])))) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 35 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 36 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 37 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 38 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 39 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 19 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 40 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 20 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 41 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 21 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 42 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.field (.var 0) 4), (.value .nat (.nat 90))]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 380)), (.field (.var 0) 0)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 90)), (.field (.var 0) 1)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 20)), (.field (.var 0) 2)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 12)), (.field (.var 0) 3)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.value .nat (.nat 1)), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.value .nat (.nat 1)), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.value .nat (.nat 1)), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.value .nat (.nat 1)), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.value .nat (.nat 1)), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.value .nat (.nat 1)), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.value .nat (.nat 1)), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.prim .natAdd [(.field (.var 0) 8), (.value .nat (.nat 1))])]) }) ::[]) } - -def __enc_0 (__s : (Reasoning.Clinic.Vitals)) : _root_.LexLeanTarget.TargetSyntax.Value := - _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).infection)] - -def __enc_1 (__s : (Reasoning.Clinic.Chart)) : _root_.LexLeanTarget.TargetSyntax.Value := - _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(__enc_0 (__s).vitals), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).fever), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).tachycardia), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).tachypnea), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).leukocytosis), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).sirs), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).sepsis), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).shock), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).level)] - -def __enc_2 : (Reasoning.Clinic.Triage.Step) -> _root_.LexLeanTarget.TargetSyntax.Value - | Reasoning.Clinic.Triage.Step.Fever => _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [] - | Reasoning.Clinic.Triage.Step.Tachycardia => _root_.LexLeanTarget.TargetSyntax.Value.adt 1 [] - | Reasoning.Clinic.Triage.Step.Tachypnea => _root_.LexLeanTarget.TargetSyntax.Value.adt 2 [] - | Reasoning.Clinic.Triage.Step.Leukocytosis => _root_.LexLeanTarget.TargetSyntax.Value.adt 3 [] - | Reasoning.Clinic.Triage.Step.Sirs => _root_.LexLeanTarget.TargetSyntax.Value.adt 4 [] - | Reasoning.Clinic.Triage.Step.Sepsis => _root_.LexLeanTarget.TargetSyntax.Value.adt 5 [] - | Reasoning.Clinic.Triage.Step.Shock => _root_.LexLeanTarget.TargetSyntax.Value.adt 6 [] - | Reasoning.Clinic.Triage.Step.Escalate => _root_.LexLeanTarget.TargetSyntax.Value.adt 7 [] - -def __fits_31 (v : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_31 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 31 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_31 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.feverish v))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (380 : Nat) (v).temperature)) - -def __fits_14 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).fever (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_31 ((s).vitals))) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.feverish in -theorem __rel_14 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 14 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_14 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Fever.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_31 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.feverish ((s).vitals)))) (Nat.beq (s).fever (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).fever (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_31 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_32 (v : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_32 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 32 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_32 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.tachycardic v))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (90 : Nat) (v).heartRate)) - -def __fits_15 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).tachycardia (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_32 ((s).vitals))) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.tachycardic in -theorem __rel_15 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 15 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_15 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Tachycardia.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_32 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.tachycardic ((s).vitals)))) (Nat.beq (s).tachycardia (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).tachycardia (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_32 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_33 (v : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_33 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 33 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_33 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.tachypneic v))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (20 : Nat) (v).respiratoryRate)) - -def __fits_16 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).tachypnea (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_33 ((s).vitals))) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.tachypneic in -theorem __rel_16 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 16 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_16 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Tachypnea.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_33 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.tachypneic ((s).vitals)))) (Nat.beq (s).tachypnea (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).tachypnea (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_33 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_34 (v : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_34 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 34 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_34 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.leukocytic v))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (12 : Nat) (v).whiteCells)) - -def __fits_17 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).leukocytosis (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_34 ((s).vitals))) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.leukocytic in -theorem __rel_17 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 17 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_17 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Leukocytosis.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_34 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.leukocytic ((s).vitals)))) (Nat.beq (s).leukocytosis (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).leukocytosis (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_34 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_18 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sirs (0 : Nat)) then ((Bool.true && (((((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).fever + (s).tachycardia) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt (((s).fever + (s).tachycardia) + (s).tachypnea) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis) 18446744073709551616)) && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) - -theorem __rel_18 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 18 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_18 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Sirs.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (((((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).fever + (s).tachycardia) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt (((s).fever + (s).tachycardia) + (s).tachypnea) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis) 18446744073709551616)) && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.ble (2 : Nat) ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis)))) (Nat.beq (s).sirs (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sirs (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (s).fever (s).tachycardia)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((s).fever + (s).tachycardia) (s).tachypnea)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (((s).fever + (s).tachycardia) + (s).tachypnea) (s).leukocytosis)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe (2 : Nat) ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_19 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sepsis (0 : Nat)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sirs (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) - -theorem __rel_19 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 19 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_19 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Sepsis.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sirs (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.beq (s).sirs (1 : Nat)) && (Nat.beq ((s).vitals).infection (1 : Nat))))) (Nat.beq (s).sepsis (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sepsis (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq ((s).vitals).infection (1 : Nat)))) (Nat.beq (s).sirs (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sirs (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq ((s).vitals).infection (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_30 (v : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_30 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 30 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_30 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.hypotensive v))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (v).systolic (90 : Nat))) - -def __fits_20 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).shock (0 : Nat)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sepsis (1 : Nat)) then ((Bool.true && Bool.true) && (__fits_30 ((s).vitals))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.hypotensive in -theorem __rel_20 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 20 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_20 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Shock.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sepsis (1 : Nat)) then ((Bool.true && Bool.true) && (__fits_30 ((s).vitals))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.beq (s).sepsis (1 : Nat)) && (Reasoning.Clinic.hypotensive ((s).vitals))))) (Nat.beq (s).shock (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).shock (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_30 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.hypotensive ((s).vitals)))) (Nat.beq (s).sepsis (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sepsis (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_30 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_21 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.blt (s).level (3 : Nat)) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (0 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))))))) else (Bool.true && Bool.true))) - -theorem __rel_21 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 21 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_21 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Escalate.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (0 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))))))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) || (((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) || ((Nat.beq (s).level (2 : Nat)) && (Nat.beq (s).shock (1 : Nat))))))) (Nat.blt (s).level (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (s).level (3 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)))))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b || (((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) || ((Nat.beq (s).level (2 : Nat)) && (Nat.beq (s).shock (1 : Nat)))))) ((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq (s).sirs (1 : Nat)))) (Nat.beq (s).level (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).level (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sirs (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b || ((Nat.beq (s).level (2 : Nat)) && (Nat.beq (s).shock (1 : Nat))))) ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq (s).sepsis (1 : Nat)))) (Nat.beq (s).level (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).level (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sepsis (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq (s).shock (1 : Nat)))) (Nat.beq (s).level (2 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).level (2 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).shock (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))))))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_11 (_ys : (Reasoning.Clinic.Chart)) : Bool := - ((((((Bool.true && Bool.true) && (__fits_14 (_ys))) && (if (Reasoning.Clinic.Fever.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_15 (_ys))) && (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) && (match (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_16 (_ys))) && (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_17 (_ys))) && (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))) && (match (match (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && (__fits_18 (_ys))) && (if (Reasoning.Clinic.Sirs.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_19 (_ys))) && (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) && (match (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_20 (_ys))) && (if (Reasoning.Clinic.Shock.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_21 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))))) - -attribute [local irreducible] Reasoning.Clinic.Escalate.guard Reasoning.Clinic.Fever.guard Reasoning.Clinic.Leukocytosis.guard Reasoning.Clinic.Sepsis.guard Reasoning.Clinic.Shock.guard Reasoning.Clinic.Sirs.guard Reasoning.Clinic.Tachycardia.guard Reasoning.Clinic.Tachypnea.guard in -theorem __rel_11 (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 11 [(__enc_1 _ys)] (_root_.LexLeanPreservation.Rel (__fits_11 _ys) ((_root_.LexLeanPreservation.encOption __enc_2) (Reasoning.Clinic.Triage.select _ys))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && (__fits_18 (_ys))) && (if (Reasoning.Clinic.Sirs.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_19 (_ys))) && (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) && (match (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_20 (_ys))) && (if (Reasoning.Clinic.Shock.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_21 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Escalate.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Escalate : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))))) (match (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_16 (_ys))) && (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_17 (_ys))) && (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))))) (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_15 (_ys))) && (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Fever.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_14 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Tachycardia.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_15 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_17 (_ys))) && (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Tachypnea.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_16 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Leukocytosis.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_17 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_20 (_ys))) && (if (Reasoning.Clinic.Shock.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_21 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Escalate.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Escalate : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))))) (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_19 (_ys))) && (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Sirs.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_18 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Sepsis.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_19 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_21 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Escalate.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Escalate : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Shock.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_20 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Escalate : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Escalate.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_21 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))))))))))) - -def __fits_35 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_35 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 35 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_35 s) (__enc_1 (Reasoning.Clinic.Fever.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_22 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_14 (s))) && (if (Reasoning.Clinic.Fever.guard (s)) then ((((Bool.true && Bool.true) && (__fits_35 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Fever.conclusion Reasoning.Clinic.Fever.guard in -theorem __rel_22 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 22 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_22 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Fever.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_35 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Fever.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Fever.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_14 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_35 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_36 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_36 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 36 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_36 s) (__enc_1 (Reasoning.Clinic.Tachycardia.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_23 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_15 (s))) && (if (Reasoning.Clinic.Tachycardia.guard (s)) then ((((Bool.true && Bool.true) && (__fits_36 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Tachycardia.conclusion Reasoning.Clinic.Tachycardia.guard in -theorem __rel_23 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 23 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_23 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Tachycardia.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_36 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Tachycardia.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Tachycardia.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_15 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_36 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_37 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_37 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 37 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_37 s) (__enc_1 (Reasoning.Clinic.Tachypnea.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_24 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_16 (s))) && (if (Reasoning.Clinic.Tachypnea.guard (s)) then ((((Bool.true && Bool.true) && (__fits_37 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Tachypnea.conclusion Reasoning.Clinic.Tachypnea.guard in -theorem __rel_24 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 24 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_24 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Tachypnea.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_37 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Tachypnea.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Tachypnea.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_16 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_37 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_38 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_38 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 38 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_38 s) (__enc_1 (Reasoning.Clinic.Leukocytosis.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_25 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_17 (s))) && (if (Reasoning.Clinic.Leukocytosis.guard (s)) then ((((Bool.true && Bool.true) && (__fits_38 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Leukocytosis.conclusion Reasoning.Clinic.Leukocytosis.guard in -theorem __rel_25 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 25 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_25 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Leukocytosis.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_38 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Leukocytosis.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Leukocytosis.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_17 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_38 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_39 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_39 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 39 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_39 s) (__enc_1 (Reasoning.Clinic.Sirs.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_26 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_18 (s))) && (if (Reasoning.Clinic.Sirs.guard (s)) then ((((Bool.true && Bool.true) && (__fits_39 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Sirs.conclusion Reasoning.Clinic.Sirs.guard in -theorem __rel_26 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 26 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_26 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Sirs.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_39 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Sirs.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Sirs.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_18 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_39 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_40 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_40 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 40 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_40 s) (__enc_1 (Reasoning.Clinic.Sepsis.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_27 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_19 (s))) && (if (Reasoning.Clinic.Sepsis.guard (s)) then ((((Bool.true && Bool.true) && (__fits_40 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Sepsis.conclusion Reasoning.Clinic.Sepsis.guard in -theorem __rel_27 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 27 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_27 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Sepsis.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_40 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Sepsis.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Sepsis.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_19 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_40 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_41 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_41 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 41 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_41 s) (__enc_1 (Reasoning.Clinic.Shock.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_28 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_20 (s))) && (if (Reasoning.Clinic.Shock.guard (s)) then ((((Bool.true && Bool.true) && (__fits_41 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Shock.conclusion Reasoning.Clinic.Shock.guard in -theorem __rel_28 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 28 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_28 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Shock.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_41 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Shock.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Shock.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_20 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_41 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_42 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).level + (1 : Nat)) 18446744073709551616)) && Bool.true))))))))) && Bool.true) - -theorem __rel_42 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 42 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_42 s) (__enc_1 (Reasoning.Clinic.Escalate.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (s).level (1 : Nat))) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_29 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_21 (s))) && (if (Reasoning.Clinic.Escalate.guard (s)) then ((((Bool.true && Bool.true) && (__fits_42 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Escalate.conclusion Reasoning.Clinic.Escalate.guard in -theorem __rel_29 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 29 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_29 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Escalate.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_42 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Escalate.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Escalate.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_21 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_42 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_12 (_ys : (Reasoning.Clinic.Chart)) (_ystep : (Reasoning.Clinic.Triage.Step)) : Bool := - (Bool.true && (match _ystep with | Reasoning.Clinic.Triage.Step.Fever => ((Bool.true && Bool.true) && (__fits_22 (_ys))) | Reasoning.Clinic.Triage.Step.Tachycardia => ((Bool.true && Bool.true) && (__fits_23 (_ys))) | Reasoning.Clinic.Triage.Step.Tachypnea => ((Bool.true && Bool.true) && (__fits_24 (_ys))) | Reasoning.Clinic.Triage.Step.Leukocytosis => ((Bool.true && Bool.true) && (__fits_25 (_ys))) | Reasoning.Clinic.Triage.Step.Sirs => ((Bool.true && Bool.true) && (__fits_26 (_ys))) | Reasoning.Clinic.Triage.Step.Sepsis => ((Bool.true && Bool.true) && (__fits_27 (_ys))) | Reasoning.Clinic.Triage.Step.Shock => ((Bool.true && Bool.true) && (__fits_28 (_ys))) | Reasoning.Clinic.Triage.Step.Escalate => ((Bool.true && Bool.true) && (__fits_29 (_ys))))) - -attribute [local irreducible] Reasoning.Clinic.Escalate.apply Reasoning.Clinic.Fever.apply Reasoning.Clinic.Leukocytosis.apply Reasoning.Clinic.Sepsis.apply Reasoning.Clinic.Shock.apply Reasoning.Clinic.Sirs.apply Reasoning.Clinic.Tachycardia.apply Reasoning.Clinic.Tachypnea.apply in -theorem __rel_12 (_ys : (Reasoning.Clinic.Chart)) (_ystep : (Reasoning.Clinic.Triage.Step)) : _root_.LexLeanPreservation.FunRel __prog 12 [(__enc_1 _ys), (__enc_2 _ystep)] (_root_.LexLeanPreservation.Rel (__fits_12 _ys _ystep) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Triage.fire _ys _ystep))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_2 (fun (__a : (Reasoning.Clinic.Triage.Step)) => (match __a with | Reasoning.Clinic.Triage.Step.Fever => ((Bool.true && Bool.true) && (__fits_22 (_ys))) | Reasoning.Clinic.Triage.Step.Tachycardia => ((Bool.true && Bool.true) && (__fits_23 (_ys))) | Reasoning.Clinic.Triage.Step.Tachypnea => ((Bool.true && Bool.true) && (__fits_24 (_ys))) | Reasoning.Clinic.Triage.Step.Leukocytosis => ((Bool.true && Bool.true) && (__fits_25 (_ys))) | Reasoning.Clinic.Triage.Step.Sirs => ((Bool.true && Bool.true) && (__fits_26 (_ys))) | Reasoning.Clinic.Triage.Step.Sepsis => ((Bool.true && Bool.true) && (__fits_27 (_ys))) | Reasoning.Clinic.Triage.Step.Shock => ((Bool.true && Bool.true) && (__fits_28 (_ys))) | Reasoning.Clinic.Triage.Step.Escalate => ((Bool.true && Bool.true) && (__fits_29 (_ys))))) (fun (__a : (Reasoning.Clinic.Triage.Step)) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Reasoning.Clinic.Triage.Step.Fever => (Reasoning.Clinic.Fever.apply (_ys)) | Reasoning.Clinic.Triage.Step.Tachycardia => (Reasoning.Clinic.Tachycardia.apply (_ys)) | Reasoning.Clinic.Triage.Step.Tachypnea => (Reasoning.Clinic.Tachypnea.apply (_ys)) | Reasoning.Clinic.Triage.Step.Leukocytosis => (Reasoning.Clinic.Leukocytosis.apply (_ys)) | Reasoning.Clinic.Triage.Step.Sirs => (Reasoning.Clinic.Sirs.apply (_ys)) | Reasoning.Clinic.Triage.Step.Sepsis => (Reasoning.Clinic.Sepsis.apply (_ys)) | Reasoning.Clinic.Triage.Step.Shock => (Reasoning.Clinic.Shock.apply (_ys)) | Reasoning.Clinic.Triage.Step.Escalate => (Reasoning.Clinic.Escalate.apply (_ys)))) _ystep (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Reasoning.Clinic.Triage.Step)) _ => match __a with | Reasoning.Clinic.Triage.Step.Fever => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_22 (_ys)))) | Reasoning.Clinic.Triage.Step.Tachycardia => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_23 (_ys))))) | Reasoning.Clinic.Triage.Step.Tachypnea => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_24 (_ys)))))) | Reasoning.Clinic.Triage.Step.Leukocytosis => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_25 (_ys))))))) | Reasoning.Clinic.Triage.Step.Sirs => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_26 (_ys)))))))) | Reasoning.Clinic.Triage.Step.Sepsis => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_27 (_ys))))))))) | Reasoning.Clinic.Triage.Step.Shock => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_28 (_ys)))))))))) | Reasoning.Clinic.Triage.Step.Escalate => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_29 (_ys))))))))))))) - -def __fits_7 (_ys : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_11 (_ys))) && (match (Reasoning.Clinic.Triage.select (_ys)) with | Option.none => (Bool.true && Bool.true) | Option.some _ystep => ((Bool.true && (Bool.true && Bool.true)) && (__fits_12 (_ys) (_ystep))))) - -attribute [local irreducible] Reasoning.Clinic.Triage.fire Reasoning.Clinic.Triage.select in -theorem __rel_7 (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 7 [(__enc_1 _ys)] (_root_.LexLeanPreservation.Rel (__fits_7 _ys) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Triage.next _ys))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.none => (Bool.true && Bool.true) | Option.some _ystep => ((Bool.true && (Bool.true && Bool.true)) && (__fits_12 (_ys) (_ystep))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Option.none => (Option.none : (Option (Reasoning.Clinic.Chart))) | Option.some _ystep => (Reasoning.Clinic.Triage.fire (_ys) (_ystep)))) (Reasoning.Clinic.Triage.select (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_11 (_ys))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | Option.some _ystep => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_12 (_ys) (_ystep))))))) - -def __fits_8 (patient : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_8 (patient : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 8 [(__enc_0 patient)] (_root_.LexLeanPreservation.Rel (__fits_8 patient) (__enc_1 (Reasoning.Clinic.Triage.observe patient))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_4 (patient : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && (Bool.true && (((Bool.true && Bool.true) && (__fits_8 (patient))) && Bool.true))) && (_root_.LexLeanPreservation.untilFits (fun (__p0 : (Reasoning.Clinic.Chart)) => __fits_7 __p0) ((Reasoning.Clinic.Triage.next)) ((11 : Nat)) ((Reasoning.Clinic.Triage.observe (patient))))) - -attribute [local irreducible] Reasoning.Clinic.Triage.observe in -theorem __rel_4 (patient : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 4 [(__enc_0 patient)] (_root_.LexLeanPreservation.Rel (__fits_4 patient) ((_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.bool) (Reasoning.Clinic.Triage.saturate patient))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_8 (patient))) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_iterateUntil (es := __enc_1) (_root_.LexLeanPreservation.optEnc __enc_1) (fun _ => rfl) (_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.bool) (fun _ => rfl) ((Reasoning.Clinic.Triage.next)) (fun (__p0 : (Reasoning.Clinic.Chart)) => __fits_7 __p0) 7 [] (fun (__p0 : (Reasoning.Clinic.Chart)) => __rel_7 __p0) (Reasoning.Clinic.LexLeanCollections.iterateUntil ((Reasoning.Clinic.Triage.next))) (fun _ => rfl) (fun _ _ __h => by simp only [Reasoning.Clinic.LexLeanCollections.iterateUntil, __h]) (fun _ _ _ __h => by simp only [Reasoning.Clinic.LexLeanCollections.iterateUntil, __h]) (p := __prog) (fi := 6) (ts := (.adt 1)) rfl ((11 : Nat)) ((Reasoning.Clinic.Triage.observe (patient))))) - -def __fits_10 (chart : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && Bool.true) && Bool.true) - -theorem __rel_10 (chart : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 10 [(__enc_1 chart)] (_root_.LexLeanPreservation.Rel (__fits_10 chart) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Clinic.Triage.extract chart))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) - -def __fits_13 (v : (Reasoning.Clinic.Vitals)) (r : Nat) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.ble r (3 : Nat)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq r (3 : Nat)) then (Bool.true && Bool.true) else (((((Bool.true && Bool.true) && (__fits_30 (v))) && (if (Reasoning.Clinic.hypotensive (v)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (v).infection (1 : Nat)) then (((Bool.true && Bool.true) && (__fits_31 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_32 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) && Bool.true) && Bool.true))) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.feverish Reasoning.Clinic.hypotensive Reasoning.Clinic.tachycardic in -theorem __rel_13 (v : (Reasoning.Clinic.Vitals)) (r : Nat) : _root_.LexLeanPreservation.FunRel __prog 13 [(__enc_0 v), (_root_.LexLeanTarget.TargetSyntax.Value.nat r)] (_root_.LexLeanPreservation.Rel (__fits_13 v r) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.recommendationCheck v r))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq r (3 : Nat)) then (Bool.true && Bool.true) else (((((Bool.true && Bool.true) && (__fits_30 (v))) && (if (Reasoning.Clinic.hypotensive (v)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (v).infection (1 : Nat)) then (((Bool.true && Bool.true) && (__fits_31 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_32 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) && Bool.true) && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.beq r (3 : Nat)) || (!((Reasoning.Clinic.hypotensive (v)) && ((Nat.beq (v).infection (1 : Nat)) && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v))))))))) (Nat.ble r (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe r (3 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (Bool.true && Bool.true) else (((((Bool.true && Bool.true) && (__fits_30 (v))) && (if (Reasoning.Clinic.hypotensive (v)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (v).infection (1 : Nat)) then (((Bool.true && Bool.true) && (__fits_31 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_32 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) && Bool.true) && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b || (!((Reasoning.Clinic.hypotensive (v)) && ((Nat.beq (v).infection (1 : Nat)) && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v)))))))) (Nat.beq r (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq r (3 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (v).infection (1 : Nat)) then (((Bool.true && Bool.true) && (__fits_31 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_32 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.beq (v).infection (1 : Nat)) && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v)))))) (Reasoning.Clinic.hypotensive (v)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_30 (v))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && Bool.true) && (__fits_31 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_32 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v))))) (Nat.beq (v).infection (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (v).infection (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_32 (v))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.tachycardic (v)))) (Reasoning.Clinic.feverish (v)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_31 (v))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_32 (v)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_boolNot ((Reasoning.Clinic.hypotensive (v)) && ((Nat.beq (v).infection (1 : Nat)) && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v)))))))))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_9 (patient : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_10 (_ys))) && (match (Reasoning.Clinic.Triage.extract (_ys)) with | Option.none => (Bool.true && Bool.true) | Option.some _yv => (((Bool.true && (Bool.true && Bool.true)) && (__fits_13 (patient) (_yv))) && (if (Reasoning.Clinic.recommendationCheck (patient) (_yv)) then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) - -attribute [local irreducible] Reasoning.Clinic.Triage.extract Reasoning.Clinic.recommendationCheck in -theorem __rel_9 (patient : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 9 [(__enc_0 patient), (__enc_1 _ys)] (_root_.LexLeanPreservation.Rel (__fits_9 patient _ys) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Clinic.Triage.accept patient _ys))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.none => (Bool.true && Bool.true) | Option.some _yv => (((Bool.true && (Bool.true && Bool.true)) && (__fits_13 (patient) (_yv))) && (if (Reasoning.Clinic.recommendationCheck (patient) (_yv)) then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.none => (Option.none : (Option Nat)) | Option.some _yv => (if (Reasoning.Clinic.recommendationCheck (patient) (_yv)) then (Option.some (_yv) : (Option Nat)) else (Option.none : (Option Nat))))) (Reasoning.Clinic.Triage.extract (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_10 (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | Option.some _yv => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then (Option.some (_yv) : (Option Nat)) else (Option.none : (Option Nat)))) (Reasoning.Clinic.recommendationCheck (patient) (_yv)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_13 (patient) (_yv))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) - -def __fits_5 (patient : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && (__fits_9 (patient) (_ys))) && (match (Reasoning.Clinic.Triage.accept (patient) (_ys)) with | Option.some _yv => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_10 (_ys))) && (match (Reasoning.Clinic.Triage.extract (_ys)) with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) - -attribute [local irreducible] Reasoning.Clinic.Triage.accept Reasoning.Clinic.Triage.extract in -theorem __rel_5 (patient : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 5 [(__enc_0 patient), (__enc_1 _ys)] (_root_.LexLeanPreservation.Rel (__fits_5 patient _ys) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Clinic.Triage.conclude patient _ys))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.some _yv => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_10 (_ys))) && (match (Reasoning.Clinic.Triage.extract (_ys)) with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.some _yv => (Except.ok (_yv) : (Except (Prod Bool Bool) Nat)) | Option.none => (match (Reasoning.Clinic.Triage.extract (_ys)) with | Option.some _yv => (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)) | Option.none => (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat))))) (Reasoning.Clinic.Triage.accept (patient) (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_9 (patient) (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.some _yv => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.some _yv => (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)) | Option.none => (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)))) (Reasoning.Clinic.Triage.extract (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_10 (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.some _yv => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))))))) - -def __fits_3 (patient : (Reasoning.Clinic.Vitals)) : Bool := - (((Bool.true && Bool.true) && (__fits_4 (patient))) && (let _yfinal : (Prod (Reasoning.Clinic.Chart) Bool) := (Reasoning.Clinic.Triage.saturate (patient)); (Bool.true && (match (_yfinal).2 with | Bool.true => ((Bool.true && (Bool.true && Bool.true)) && (__fits_5 (patient) ((_yfinal).1))) | Bool.false => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) - -attribute [local irreducible] Reasoning.Clinic.Triage.conclude Reasoning.Clinic.Triage.saturate in -theorem __rel_3 (patient : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 3 [(__enc_0 patient)] (_root_.LexLeanPreservation.Rel (__fits_3 patient) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Clinic.Triage.verdict patient))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (let _yfinal : (Prod (Reasoning.Clinic.Chart) Bool) := (Reasoning.Clinic.Triage.saturate (patient)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_4 (patient))) (_root_.LexLeanPreservation.conv_matchV _root_.LexLeanTarget.TargetSyntax.Value.bool (fun (__a : Bool) => (match __a with | Bool.true => ((Bool.true && (Bool.true && Bool.true)) && (__fits_5 (patient) ((_yfinal).1))) | Bool.false => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__a : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Bool.true => (Reasoning.Clinic.Triage.conclude (patient) ((_yfinal).1)) | Bool.false => (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)))) (_yfinal).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : Bool) _ => match __a with | Bool.true => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (__rel_5 (patient) ((_yfinal).1)))) | Bool.false => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))))) - -def __fits_2 (v : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && Bool.true) && (__fits_3 (v))) - -attribute [local irreducible] Reasoning.Clinic.Triage.verdict in -theorem __rel_2 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 2 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_2 v) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Main.GatewayTriage v))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_3 (v))) - -def __fits_1 (_yinput : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && Bool.true) && (__fits_2 (_yinput))) - -attribute [local irreducible] Reasoning.Main.GatewayTriage in -theorem __rel_1 (_yinput : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 1 [(__enc_0 _yinput)] (_root_.LexLeanPreservation.Rel (__fits_1 _yinput) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Main.GatewayModel _yinput))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_2 (_yinput))) - -def __fits_0 (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : Bool := - (((((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true) && (__fits_1 (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals))))) && (match (Reasoning.Main.GatewayModel (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals)))) with | Except.ok level => Bool.true | Except.error failure => Bool.true)) - -attribute [local irreducible] Reasoning.Main.GatewayModel in -theorem __rel_0 (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)] (_root_.LexLeanPreservation.Rel (__fits_0 temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.gatewayLevel temperature heartRate respiratoryRate whiteCells systolic infection))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Except (Prod Bool Bool) Nat)) => (match __a with | Except.ok level => Bool.true | Except.error failure => Bool.true)) (fun (__a : (Except (Prod Bool Bool) Nat)) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match __a with | Except.ok level => level | Except.error failure => (9 : Nat))) (Reasoning.Main.GatewayModel (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals)))) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) (__rel_1 (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals))))) (fun (__a : (Except (Prod Bool Bool) Nat)) _ => match __a with | Except.ok level => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | Except.error failure => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value)))) - -def denote (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.gatewayLevel temperature heartRate respiratoryRate whiteCells systolic infection)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)] (_root_.LexLeanPreservation.Rel (__fits_0 temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.gatewayLevel temperature heartRate respiratoryRate whiteCells systolic infection))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 temperature heartRate respiratoryRate whiteCells systolic infection) - -end LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1 diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R1/Compose/RustCore.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R1/Compose/RustCore.lean deleted file mode 100644 index f12d0a510..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R1/Compose/RustCore.lean +++ /dev/null @@ -1,32 +0,0 @@ -import LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1 -import LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.RustCore -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.Compose.RustCore - -theorem __wt_0 : ∀ (__s : (Reasoning.Clinic.Vitals)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.RustCore.program _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.RustCore.krate _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.RustCore.flags (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.__enc_0 __s) (.adt 0) := - fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).temperature) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).heartRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).respiratoryRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).whiteCells) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).systolic) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).infection) _root_.LexLeanPreservation.Rust.wtl_nil)))))) - -theorem __wt_1 : ∀ (__s : (Reasoning.Clinic.Chart)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.RustCore.program _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.RustCore.krate _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.RustCore.flags (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.__enc_1 __s) (.adt 1) := - fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 (__s).vitals) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).fever) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).tachycardia) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).tachypnea) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).leukocytosis) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).sirs) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).sepsis) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).shock) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).level) _root_.LexLeanPreservation.Rust.wtl_nil))))))))) - -theorem __wt_2 : ∀ (__v : (Reasoning.Clinic.Triage.Step)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.RustCore.program _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.RustCore.krate _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.RustCore.flags (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.__enc_2 __v) (.adt 2) - | Reasoning.Clinic.Triage.Step.Fever => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Clinic.Triage.Step.Tachycardia => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Clinic.Triage.Step.Tachypnea => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Clinic.Triage.Step.Leukocytosis => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Clinic.Triage.Step.Sirs => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Clinic.Triage.Step.Sepsis => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Clinic.Triage.Step.Shock => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Clinic.Triage.Step.Escalate => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.denote temperature heartRate respiratoryRate whiteCells systolic infection) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat temperature) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat heartRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat respiratoryRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat whiteCells) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat systolic) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat infection) _root_.LexLeanPreservation.Rust.wtl_nil)))))) rfl rfl (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.root temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.Compose.RustCore diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R1/RustCore.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R1/RustCore.lean deleted file mode 100644 index 738e1941b..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R1/RustCore.lean +++ /dev/null @@ -1,376 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.RustCore -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [{ constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }, - { constructors := [[(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]] }, - { constructors := [[], [], [], [], [], [], [], []] }], functions := (( - { parameters := [0, 1, 2, 3, 4, 5], types := [.nat, .nat, .nat, .nat, .nat, .nat], result := .nat, - body := (.«match» .nat (.call 1 [(.build (.adt 0) (.adt 0) [(.var 0), (.var 1), (.var 2), (.var 3), (.var 4), (.var 5)])]) [(.arm .ok [6] (.var 6)), (.arm .error [7] (.value .nat (.nat 9)))]) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.result .nat (.pair .bool .bool)), - body := (.call 2 [(.var 0)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.result .nat (.pair .bool .bool)), - body := (.call 3 [(.var 0)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.result .nat (.pair .bool .bool)), - body := (.«let» 1 (.pair (.adt 1) .bool) (.call 4 [(.var 0)]) (.«match» (.result .nat (.pair .bool .bool)) (.second (.var 1)) [(.arm .true [] (.call 5 [(.var 0), (.first (.var 1))])), (.arm .false [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))])) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.pair (.adt 1) .bool), - body := (.call 6 [(.closure 7 []), (.value .nat (.nat 11)), (.call 8 [(.var 0)])]) }) ::( - { parameters := [0, 1], types := [(.adt 0), (.adt 1)], result := (.result .nat (.pair .bool .bool)), - body := (.«match» (.result .nat (.pair .bool .bool)) (.call 9 [(.var 0), (.var 1)]) [(.arm .some [2] (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)])), (.arm .none [] (.«match» (.result .nat (.pair .bool .bool)) (.call 10 [(.var 1)]) [(.arm .some [3] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])), (.arm .none [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])]))]))]) }) ::( - { parameters := [0, 1, 2], types := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)], result := (.pair (.adt 1) .bool), - body := (.«match» (.pair (.adt 1) .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair (.adt 1) .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 6 [(.var 0), (.var 3), (.var 4)]))]))]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.«match» (.option (.adt 1)) (.call 11 [(.var 0)]) [(.arm .none [] (.build .none (.option (.adt 1)) [])), (.arm .some [1] (.call 12 [(.var 0), (.var 1)]))]) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.var 0), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0))]) }) ::( - { parameters := [0, 1], types := [(.adt 0), (.adt 1)], result := (.option .nat), - body := (.«match» (.option .nat) (.call 10 [(.var 1)]) [(.arm .none [] (.build .none (.option .nat) [])), (.arm .some [2] (.cond (.call 13 [(.var 0), (.var 2)]) (.build .some (.option .nat) [(.var 2)]) (.build .none (.option .nat) [])))]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option .nat), - body := (.build .some (.option .nat) [(.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 2)), - body := (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 0) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [1] (.build .some (.option (.adt 2)) [(.var 1)])), (.arm .none [] (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 1) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]) [(.arm .some [2] (.build .some (.option (.adt 2)) [(.var 2)])), (.arm .none [] (.«match» (.option (.adt 2)) (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 2) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [3] (.build .some (.option (.adt 2)) [(.var 3)])), (.arm .none [] (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 3) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]))]) [(.arm .some [4] (.build .some (.option (.adt 2)) [(.var 4)])), (.arm .none [] (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 4) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [5] (.build .some (.option (.adt 2)) [(.var 5)])), (.arm .none [] (.cond (.call 19 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 5) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]) [(.arm .some [6] (.build .some (.option (.adt 2)) [(.var 6)])), (.arm .none [] (.«match» (.option (.adt 2)) (.cond (.call 20 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 6) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [7] (.build .some (.option (.adt 2)) [(.var 7)])), (.arm .none [] (.cond (.call 21 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 7) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]))]))]) }) ::( - { parameters := [0, 1], types := [(.adt 1), (.adt 2)], result := (.option (.adt 1)), - body := (.«match» (.option (.adt 1)) (.var 1) [(.arm (.adt 0) [] (.call 22 [(.var 0)])), (.arm (.adt 1) [] (.call 23 [(.var 0)])), (.arm (.adt 2) [] (.call 24 [(.var 0)])), (.arm (.adt 3) [] (.call 25 [(.var 0)])), (.arm (.adt 4) [] (.call 26 [(.var 0)])), (.arm (.adt 5) [] (.call 27 [(.var 0)])), (.arm (.adt 6) [] (.call 28 [(.var 0)])), (.arm (.adt 7) [] (.call 29 [(.var 0)]))]) }) ::( - { parameters := [0, 1], types := [(.adt 0), .nat], result := .bool, - body := (.cond (.prim .natLe [(.var 1), (.value .nat (.nat 3))]) (.cond (.prim .natEq [(.var 1), (.value .nat (.nat 3))]) (.build .true .bool []) (.prim .boolNot [(.cond (.call 30 [(.var 0)]) (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.cond (.call 31 [(.var 0)]) (.call 32 [(.var 0)]) (.build .false .bool [])) (.build .false .bool [])) (.build .false .bool []))])) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 1), (.value .nat (.nat 0))]) (.call 31 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 2), (.value .nat (.nat 0))]) (.call 32 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 3), (.value .nat (.nat 0))]) (.call 33 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 4), (.value .nat (.nat 0))]) (.call 34 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 0))]) (.prim .natLe [(.value .nat (.nat 2)), (.prim .natAdd [(.prim .natAdd [(.prim .natAdd [(.field (.var 0) 1), (.field (.var 0) 2)]), (.field (.var 0) 3)]), (.field (.var 0) 4)])]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.field (.var 0) 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.call 30 [(.field (.var 0) 0)]) (.build .false .bool [])) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natLt [(.field (.var 0) 8), (.value .nat (.nat 3))]) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 0))]) (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 2))]) (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 1))]) (.build .false .bool [])))) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 35 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 36 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 37 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 38 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 39 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 19 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 40 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 20 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 41 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 21 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 42 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.field (.var 0) 4), (.value .nat (.nat 90))]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 380)), (.field (.var 0) 0)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 90)), (.field (.var 0) 1)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 20)), (.field (.var 0) 2)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 12)), (.field (.var 0) 3)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.value .nat (.nat 1)), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.value .nat (.nat 1)), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.value .nat (.nat 1)), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.value .nat (.nat 1)), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.value .nat (.nat 1)), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.value .nat (.nat 1)), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.value .nat (.nat 1)), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.prim .natAdd [(.field (.var 0) 8), (.value .nat (.nat 1))])]) }) ::[]) } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .core, items := ((.enum (.adt 0) [{ number := 0, fields := [.nat, .nat, .nat, .nat, .nat, .nat] }]) :: - (.enum (.adt 1) [{ number := 0, fields := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat] }]) :: - (.enum (.adt 2) [{ number := 0, fields := [] }, { number := 1, fields := [] }, { number := 2, fields := [] }, { number := 3, fields := [] }, { number := 4, fields := [] }, { number := 5, fields := [] }, { number := 6, fields := [] }, { number := 7, fields := [] }]) :: - (.enum (.fn 0) [{ number := 7, fields := [] }]) :: - (.apply 0 [(.adt 1)] (.option (.adt 1)) true [{ function := 7, captures := [], functionFallible := true }]) :: - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := .nat }, { pattern := (.bind (.generated .binding 3)), type := .nat }, { pattern := (.bind (.generated .binding 4)), type := .nat }, { pattern := (.bind (.generated .binding 5)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1)), (.copy (.generated .binding 2)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4)), (.copy (.generated .binding 5))])] true))] (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 6))) (.mk [] (.succeed (.copy (.generated .binding 6))))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 9)))))]))) :: - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.result .nat (.pair .bool .bool))) (.mk [] (.call (.function 2) [(.move (.generated .binding 0))] false))) :: - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.result .nat (.pair .bool .bool))) (.mk [] (.call (.function 3) [(.move (.generated .binding 0))] false))) :: - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.result .nat (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 1)) (some (.pair (.adt 1) .bool)) (.call (.function 4) [(.clone (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 3)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.move (.generated .binding 1)))] (.move (.generated .part 2)))))] (.cond (.move (.generated .holder 3)) (.mk [] (.succeed (.call (.function 5) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 4))))] false))) (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))))) :: - (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.pair (.adt 1) .bool)) (.mk [] (.call (.function 6) [(.construct (.closure 0 7) []), (.lit (.nat 11)), (.call (.function 8) [(.move (.generated .binding 0))] false)] false))) :: - (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 1) }] (.result .nat (.pair .bool .bool)) (.mk [(.mk (.bind (.generated .holder 5)) none (.call (.function 9) [(.move (.generated .binding 0)), (.clone (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 5)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 6)) none (.call (.function 10) [(.move (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 6)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])))]))) :: - (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := (.adt 1) }] (.fallible (.pair (.adt 1) .bool)) (.mk [(.mk (.bind (.generated .holder 7)) none (.copy (.generated .binding 1)))] (.cond (.isZero (.generated .holder 7)) (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 7))), (.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 8) [(.clone (.generated .binding 2))] true))))] (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 6) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))]))))) :: - (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.option (.adt 1))) (.mk [(.mk (.bind (.generated .holder 10)) none (.call (.function 11) [(.clone (.generated .binding 0))] true))] (.matchOn (.move (.generated .holder 10)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.call (.function 12) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false)))]))) :: - (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.move (.generated .binding 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0))]))) :: - (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 1) }] (.option .nat) (.mk [(.mk (.bind (.generated .holder 11)) none (.call (.function 10) [(.move (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 11)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.cond (.call (.function 13) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none .nat) [])))))]))) :: - (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option .nat) (.mk [] (.construct .some [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 12))]) (.mk [] (.move (.generated .part 12))))])]))) :: - (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.option (.adt 2))) (.mk [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.bind (.generated .holder 14)) none (.block (.mk [(.mk (.bind (.generated .holder 13)) none (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 0) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))]))))] (.matchOn (.move (.generated .holder 14)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 15)) none (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 2) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 15)) [(.mk .none (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct .some [(.move (.generated .binding 2))])))]))))] (.matchOn (.move (.generated .holder 16)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .holder 17)) none (.cond (.call (.function 18) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 2 4) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 17)) [(.mk .none (.mk [] (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))]))))] (.matchOn (.move (.generated .holder 18)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 19)) none (.cond (.call (.function 20) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 6) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.cond (.call (.function 21) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))]))), (.mk (.some (.bind (.generated .binding 6))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 6))]))))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 4))]))))]))) :: - (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 2) }] (.fallible (.option (.adt 1))) (.mk [(.mk (.bind (.generated .holder 20)) none (.move (.generated .binding 1)))] (.matchOn (.move (.generated .holder 20)) [(.mk (.adt 2 0 []) (.mk [] (.succeed (.call (.function 22) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 1 []) (.mk [] (.succeed (.call (.function 23) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 2 []) (.mk [] (.succeed (.call (.function 24) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 3 []) (.mk [] (.succeed (.call (.function 25) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 4 []) (.mk [] (.call (.function 26) [(.move (.generated .binding 0))] false))), (.mk (.adt 2 5 []) (.mk [] (.succeed (.call (.function 27) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 6 []) (.mk [] (.succeed (.call (.function 28) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 7 []) (.mk [] (.call (.function 29) [(.move (.generated .binding 0))] false)))]))) :: - (.function (.generated .function 13) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false) (.mk [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 24)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 28)) none (.cond (.call (.function 30) [(.clone (.generated .binding 0))] false) (.mk [(.mk (.bind (.generated .operand 26)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))])), (.mk (.bind (.generated .operand 27)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false) (.mk [] (.cond (.call (.function 31) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 32) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))] (.call (.runtime .boolNot) [(.move (.generated .operand 28))] false)))) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 14) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 30)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 29)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 29))))])), (.mk (.bind (.generated .operand 31)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] false) (.mk [] (.call (.function 31) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 32)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 32))))])] false)) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 15) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 34)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 33)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 33))))])), (.mk (.bind (.generated .operand 35)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] false) (.mk [] (.call (.function 32) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 36)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])] false)) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 16) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 38)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 37)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 37))))])), (.mk (.bind (.generated .operand 39)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] false) (.mk [] (.call (.function 33) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 40)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 40))))])] false)) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 17) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 42)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 41))))])), (.mk (.bind (.generated .operand 43)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 42)), (.move (.generated .operand 43))] false) (.mk [] (.call (.function 34) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 44)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 44))))])] false)) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 18) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible .bool) (.mk [(.mk (.bind (.generated .operand 46)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 45)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 45))))])), (.mk (.bind (.generated .operand 47)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 46)), (.move (.generated .operand 47))] false) (.mk [(.mk (.bind (.generated .operand 58)) none (.lit (.nat 2))), (.mk (.bind (.generated .operand 59)) none (.block (.mk [(.mk (.bind (.generated .operand 56)) none (.block (.mk [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .operand 50)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 48)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 48))))])), (.mk (.bind (.generated .operand 51)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 49)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 49))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true)))), (.mk (.bind (.generated .operand 54)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 52)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 52))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true)))), (.mk (.bind (.generated .operand 57)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 55)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 55))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] true))))] (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 58)), (.move (.generated .operand 59))] false))) (.mk [] (.succeed (.lit (.bool false))))))) :: - (.function (.generated .function 19) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 61)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 60)), .wild, .wild]) (.mk [] (.move (.generated .part 60))))])), (.mk (.bind (.generated .operand 62)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 61)), (.move (.generated .operand 62))] false) (.mk [(.mk (.bind (.generated .operand 64)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 63)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])), (.mk (.bind (.generated .operand 65)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] false) (.mk [(.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.bind (.generated .holder 68)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 67)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 67))))]))] (.matchOn (.move (.generated .holder 68)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 66))]) (.mk [] (.move (.generated .part 66))))])))), (.mk (.bind (.generated .operand 70)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 69)), (.move (.generated .operand 70))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 20) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 72)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 71)), .wild]) (.mk [] (.move (.generated .part 71))))])), (.mk (.bind (.generated .operand 73)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] false) (.mk [(.mk (.bind (.generated .operand 75)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 74)), .wild, .wild]) (.mk [] (.move (.generated .part 74))))])), (.mk (.bind (.generated .operand 76)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 75)), (.move (.generated .operand 76))] false) (.mk [] (.call (.function 30) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 77)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 77))))])] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 21) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 79)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 78))]) (.mk [] (.move (.generated .part 78))))])), (.mk (.bind (.generated .operand 80)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 79)), (.move (.generated .operand 80))] false) (.mk [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 0)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false) (.mk [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 88)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 90)), .wild, .wild]) (.mk [] (.move (.generated .part 90))))])), (.mk (.bind (.generated .operand 92)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 94)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))])), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] false) (.mk [(.mk (.bind (.generated .operand 97)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96)), .wild]) (.mk [] (.move (.generated .part 96))))])), (.mk (.bind (.generated .operand 98)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 97)), (.move (.generated .operand 98))] false)) (.mk [] (.lit (.bool false))))))))) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 22) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 35) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: - (.function (.generated .function 23) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 36) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: - (.function (.generated .function 24) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 37) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: - (.function (.generated .function 25) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 38) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: - (.function (.generated .function 26) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.option (.adt 1))) (.mk [] (.cond (.call (.function 18) [(.clone (.generated .binding 0))] true) (.mk [] (.succeed (.construct .some [(.call (.function 39) [(.move (.generated .binding 0))] false)]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))))) :: - (.function (.generated .function 27) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 40) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: - (.function (.generated .function 28) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 20) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 41) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: - (.function (.generated .function 29) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.option (.adt 1))) (.mk [] (.cond (.call (.function 21) [(.clone (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.call (.function 42) [(.move (.generated .binding 0))] true)]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))))) :: - (.function (.generated .function 30) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 100)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 99)), .wild]) (.mk [] (.move (.generated .part 99))))])), (.mk (.bind (.generated .operand 101)) none (.lit (.nat 90)))] (.call (.runtime .natLt) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false))) :: - (.function (.generated .function 31) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 103)) none (.lit (.nat 380))), (.mk (.bind (.generated .operand 104)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 102)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 102))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 103)), (.move (.generated .operand 104))] false))) :: - (.function (.generated .function 32) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 106)) none (.lit (.nat 90))), (.mk (.bind (.generated .operand 107)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 105)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 105))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 106)), (.move (.generated .operand 107))] false))) :: - (.function (.generated .function 33) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 109)) none (.lit (.nat 20))), (.mk (.bind (.generated .operand 110)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 108)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 108))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 109)), (.move (.generated .operand 110))] false))) :: - (.function (.generated .function 34) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 112)) none (.lit (.nat 12))), (.mk (.bind (.generated .operand 113)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, (.bind (.generated .part 111)), .wild, .wild]) (.mk [] (.move (.generated .part 111))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 112)), (.move (.generated .operand 113))] false))) :: - (.function (.generated .function 35) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 114)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 114))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 115)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 115))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 116)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 116))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 117)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 117))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 118)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 118))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 119)), .wild, .wild]) (.mk [] (.move (.generated .part 119))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 120)), .wild]) (.mk [] (.move (.generated .part 120))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 121))]) (.mk [] (.move (.generated .part 121))))])]))) :: - (.function (.generated .function 36) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 122)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 122))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 123)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 123))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 124)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 124))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 125)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 125))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 126)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 126))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 127)), .wild, .wild]) (.mk [] (.move (.generated .part 127))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 128)), .wild]) (.mk [] (.move (.generated .part 128))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 129))]) (.mk [] (.move (.generated .part 129))))])]))) :: - (.function (.generated .function 37) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 130)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 130))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 131)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 131))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 132)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 132))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 133)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 133))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 134)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 134))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 135)), .wild, .wild]) (.mk [] (.move (.generated .part 135))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 136)), .wild]) (.mk [] (.move (.generated .part 136))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 137))]) (.mk [] (.move (.generated .part 137))))])]))) :: - (.function (.generated .function 38) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 138)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 138))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 139)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 139))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 140)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 140))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 141)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 141))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 142)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 142))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 143)), .wild, .wild]) (.mk [] (.move (.generated .part 143))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 144)), .wild]) (.mk [] (.move (.generated .part 144))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 145))]) (.mk [] (.move (.generated .part 145))))])]))) :: - (.function (.generated .function 39) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 146)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 146))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 147)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 147))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 148)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 148))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 149)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 149))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 150)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 150))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 151)), .wild, .wild]) (.mk [] (.move (.generated .part 151))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 152)), .wild]) (.mk [] (.move (.generated .part 152))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 153))]) (.mk [] (.move (.generated .part 153))))])]))) :: - (.function (.generated .function 40) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 154)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 154))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 155)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 155))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 156)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 156))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 157)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 157))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 158)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 158))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 159)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 159))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 160)), .wild]) (.mk [] (.move (.generated .part 160))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 161))]) (.mk [] (.move (.generated .part 161))))])]))) :: - (.function (.generated .function 41) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 162)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 162))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 163)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 163))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 164)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 164))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 165)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 165))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 166)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 166))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 167)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 167))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 168)), .wild, .wild]) (.mk [] (.move (.generated .part 168))))]), (.lit (.nat 1)), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 169))]) (.mk [] (.move (.generated .part 169))))])]))) :: - (.function (.generated .function 42) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.adt 1)) (.mk [] (.succeed (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 170)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 170))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 171)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 171))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 172)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 172))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 173)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 173))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 174)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 174))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 175)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 175))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 176)), .wild, .wild]) (.mk [] (.move (.generated .part 176))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 177)), .wild]) (.mk [] (.move (.generated .part 177))))]), (.block (.mk [(.mk (.bind (.generated .operand 179)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 178))]) (.mk [] (.move (.generated .part 178))))])), (.mk (.bind (.generated .operand 180)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 179)), (.move (.generated .operand 180))] true)))])))) :: - []) } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [(([(.adt 1)], (.option (.adt 1))), true)] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1)), (.copy (.generated .binding 2)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4)), (.copy (.generated .binding 5))])] true))], (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 6))) (.mk [] (.succeed (.copy (.generated .binding 6))))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 9)))))]), [(5, .nat, (some 5)), (4, .nat, (some 4)), (3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.matchArms (st := (.result .nat (.pair .bool .bool))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))))))) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(6, .nat, (some 6)), (5, .nat, (some 5)), (4, .nat, (some 4)), (3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.copy (.generated .binding 6)))) (Corr.mCons (Γ' := [(7, (.pair .bool .bool), none), (5, .nat, (some 5)), (4, .nat, (some 4)), (3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 9)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 2) [(.move (.generated .binding 0))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.callF (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 3) [(.move (.generated .binding 0))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.callF (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.pair (.adt 1) .bool)) (.call (.function 4) [(.clone (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 3)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.move (.generated .binding 1)))] (.move (.generated .part 2)))))], (.cond (.move (.generated .holder 3)) (.mk [] (.succeed (.call (.function 5) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 4))))] false))) (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.matchBool (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 2))) (Corr.second (ta := (.adt 1)) (tb := .bool) (Corr.var rfl rfl) rfl)) rfl rfl (Corr.kIf (la := []) (ta := (.succeed (.call (.function 5) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 4))))] false))) (lb := []) (tb := (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))) (Corr.fOfB (Corr.callOps (ts := [(.adt 0), (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 4))) (Corr.first (ta := (.adt 1)) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))))⟩⟩ - -theorem fun4 : FunOK program krate flags 4 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 6) [(.construct (.closure 0 7) []), (.lit (.nat 11)), (.call (.function 8) [(.move (.generated .binding 0))] false)] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.callF (ts := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ - -theorem fun5 : FunOK program krate flags 5 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 5)) none (.call (.function 9) [(.move (.generated .binding 0)), (.clone (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 5)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 6)) none (.call (.function 10) [(.move (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 6)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])))]), [(1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0), (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 6)) none (.call (.function 10) [(.move (.generated .binding 1))] false))]) (tail := (.matchOn (.move (.generated .holder 6)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))])) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])) (Corr.mCons (Γ' := [(3, .nat, none), (1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) rfl rfl rfl)) rfl rfl rfl)⟩⟩ - -theorem fun6 : FunOK program krate flags 6 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 7)) none (.copy (.generated .binding 1)))], (.cond (.isZero (.generated .holder 7)) (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 7))), (.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 8) [(.clone (.generated .binding 2))] true))))] (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 6) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))]))), [(2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))], rfl, rfl, - (Corr.matchNat (sl := (some 3)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (lb := [(.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 8) [(.clone (.generated .binding 2))] true))))]) (tb := (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 6) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))])) (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))))) (Corr.matchArms (st := (.option (.adt 1))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))]) (tail := (.apply (.generated .callee 8) [(.clone (.generated .binding 2))] true)) (Corr.apply (ps := [(.adt 1)]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, .nat, (some 3)), (2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true))))) (Corr.mCons (Γ' := [(4, (.adt 1), (some 4)), (3, .nat, (some 3)), (2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 6) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))))))) rfl rfl rfl)))⟩⟩ - -theorem fun7 : FunOK program krate flags 7 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 10)) none (.call (.function 11) [(.clone (.generated .binding 0))] true))], (.matchOn (.move (.generated .holder 10)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.call (.function 12) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false)))]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.none (.adt 1)) []))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 12) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.adt 1), (.adt 2)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) rfl rfl rfl)⟩⟩ - -theorem fun8 : FunOK program krate flags 8 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.move (.generated .binding 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0))]), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun9 : FunOK program krate flags 9 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 11)) none (.call (.function 10) [(.move (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 11)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.cond (.call (.function 13) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none .nat) [])))))]), [(1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 13) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none .nat) [])))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 13) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.copy (.generated .binding 2))])) (lb := []) (tb := (.construct (.none .nat) [])) (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun10 : FunOK program krate flags 10 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct .some [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 12))]) (.mk [] (.move (.generated .part 12))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 12))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)⟩⟩ - -theorem fun11 : FunOK program krate flags 11 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.bind (.generated .holder 14)) none (.block (.mk [(.mk (.bind (.generated .holder 13)) none (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 0) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))]))))] (.matchOn (.move (.generated .holder 14)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 15)) none (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 2) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 15)) [(.mk .none (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct .some [(.move (.generated .binding 2))])))]))))], (.matchOn (.move (.generated .holder 16)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .holder 17)) none (.cond (.call (.function 18) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 2 4) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 17)) [(.mk .none (.mk [] (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))]))))] (.matchOn (.move (.generated .holder 18)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 19)) none (.cond (.call (.function 20) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 6) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.cond (.call (.function 21) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))]))), (.mk (.some (.bind (.generated .binding 6))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 6))]))))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 4))]))))]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 14)) none (.block (.mk [(.mk (.bind (.generated .holder 13)) none (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 0) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))]))))]) (tail := (.matchOn (.move (.generated .holder 14)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 15)) none (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 2) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 15)) [(.mk .none (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct .some [(.move (.generated .binding 2))])))])) (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 13)) none (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 0) [])])) (.mk [] (.construct (.none (.adt 2)) []))))]) (tail := (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))])) (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 14) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 0) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) [])))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 1))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 15) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 1) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 15)) none (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 2) [])])) (.mk [] (.construct (.none (.adt 2)) []))))]) (tail := (.matchOn (.move (.generated .holder 15)) [(.mk .none (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))])) (Corr.mCons (Γ' := [(2, (.adt 2), (some 2)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 2))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 16) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 2) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) [])))) (Corr.mCons (Γ' := [(3, (.adt 2), (some 3)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 3))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 17) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 3) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl)) rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .holder 17)) none (.cond (.call (.function 18) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 2 4) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 17)) [(.mk .none (.mk [] (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))]))))]) (tail := (.matchOn (.move (.generated .holder 18)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 19)) none (.cond (.call (.function 20) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 6) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.cond (.call (.function 21) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))]))), (.mk (.some (.bind (.generated .binding 6))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 6))]))))])) (Corr.mCons (Γ' := [(4, (.adt 2), (some 4)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.move (.generated .binding 4))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 17)) none (.cond (.call (.function 18) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 2 4) [])])) (.mk [] (.construct (.none (.adt 2)) []))))]) (tail := (.matchOn (.move (.generated .holder 17)) [(.mk .none (.mk [] (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))])) (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 18) [(.clone (.generated .binding 0))] true)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 4) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) [])))) (Corr.mCons (Γ' := [(5, (.adt 2), (some 5)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 5))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 19) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 5) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 19)) none (.cond (.call (.function 20) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 6) [])])) (.mk [] (.construct (.none (.adt 2)) []))))]) (tail := (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.cond (.call (.function 21) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))])) (Corr.mCons (Γ' := [(6, (.adt 2), (some 6)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.move (.generated .binding 6))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 20) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 6) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 21) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) []))))) (Corr.mCons (Γ' := [(7, (.adt 2), (some 7)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.move (.generated .binding 7))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 21) [(.move (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (lb := []) (tb := (.succeed (.construct (.none (.adt 2)) []))) (Corr.fOfB (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))) rfl rfl rfl)) rfl rfl rfl)) rfl rfl rfl)⟩⟩ - -theorem fun12 : FunOK program krate flags 12 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 20)) none (.move (.generated .binding 1)))], (.matchOn (.move (.generated .holder 20)) [(.mk (.adt 2 0 []) (.mk [] (.succeed (.call (.function 22) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 1 []) (.mk [] (.succeed (.call (.function 23) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 2 []) (.mk [] (.succeed (.call (.function 24) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 3 []) (.mk [] (.succeed (.call (.function 25) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 4 []) (.mk [] (.call (.function 26) [(.move (.generated .binding 0))] false))), (.mk (.adt 2 5 []) (.mk [] (.succeed (.call (.function 27) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 6 []) (.mk [] (.succeed (.call (.function 28) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 7 []) (.mk [] (.call (.function 29) [(.move (.generated .binding 0))] false)))]), [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.adt 2)) (U := []) (view := false) (idx := [0, 1, 2, 3, 4, 5, 6, 7]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.call (.function 22) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.call (.function 23) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.succeed (.call (.function 24) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 3) (loads := []) (lets := []) (tail := (.succeed (.call (.function 25) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 4) (loads := []) (lets := []) (tail := (.call (.function 26) [(.move (.generated .binding 0))] false)) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 5) (loads := []) (lets := []) (tail := (.succeed (.call (.function 27) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 6) (loads := []) (lets := []) (tail := (.succeed (.call (.function 28) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 7) (loads := []) (lets := []) (tail := (.call (.function 29) [(.move (.generated .binding 0))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.callF (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun13 : FunOK program krate flags 13 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.lit (.nat 3)))], (.cond (.call (.runtime .natLe) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false) (.mk [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 24)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 28)) none (.cond (.call (.function 30) [(.clone (.generated .binding 0))] false) (.mk [(.mk (.bind (.generated .operand 26)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))])), (.mk (.bind (.generated .operand 27)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false) (.mk [] (.cond (.call (.function 31) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 32) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))] (.call (.runtime .boolNot) [(.move (.generated .operand 28))] false)))) (.mk [] (.lit (.bool false)))), [(1, .nat, (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natLe) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 24)) none (.lit (.nat 3)))]) (ta := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 28)) none (.cond (.call (.function 30) [(.clone (.generated .binding 0))] false) (.mk [(.mk (.bind (.generated .operand 26)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))])), (.mk (.bind (.generated .operand 27)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false) (.mk [] (.cond (.call (.function 31) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 32) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))] (.call (.runtime .boolNot) [(.move (.generated .operand 28))] false)))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 24)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 28)) none (.cond (.call (.function 30) [(.clone (.generated .binding 0))] false) (.mk [(.mk (.bind (.generated .operand 26)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))])), (.mk (.bind (.generated .operand 27)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false) (.mk [] (.cond (.call (.function 31) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 32) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))]) (tb := (.call (.runtime .boolNot) [(.move (.generated .operand 28))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.prim (ts := [.bool]) (Corr.opsCons (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 30) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 26)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))])), (.mk (.bind (.generated .operand 27)) none (.lit (.nat 1)))]) (ta := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false) (.mk [] (.cond (.call (.function 31) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 32) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 26)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))])), (.mk (.bind (.generated .operand 27)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 25))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 31) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 32) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := []) (ce := (.call (.function 31) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 32) [(.move (.generated .binding 0))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl))))) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun14 : FunOK program krate flags 14 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 30)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 29)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 29))))])), (.mk (.bind (.generated .operand 31)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] false) (.mk [] (.call (.function 31) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 32)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 32))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 30)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 29)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 29))))])), (.mk (.bind (.generated .operand 31)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 29))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 31) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 32)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 32))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 32))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun15 : FunOK program krate flags 15 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 34)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 33)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 33))))])), (.mk (.bind (.generated .operand 35)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] false) (.mk [] (.call (.function 32) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 36)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 34)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 33)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 33))))])), (.mk (.bind (.generated .operand 35)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 33))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 32) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 36)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 36))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun16 : FunOK program krate flags 16 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 38)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 37)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 37))))])), (.mk (.bind (.generated .operand 39)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] false) (.mk [] (.call (.function 33) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 40)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 40))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 38)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 37)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 37))))])), (.mk (.bind (.generated .operand 39)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 37))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 33) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 40)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 40))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 40))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun17 : FunOK program krate flags 17 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 42)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 41))))])), (.mk (.bind (.generated .operand 43)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 42)), (.move (.generated .operand 43))] false) (.mk [] (.call (.function 34) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 44)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 44))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 42)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 41))))])), (.mk (.bind (.generated .operand 43)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 42)), (.move (.generated .operand 43))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 41))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 34) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 44)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 44))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 44))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun18 : FunOK program krate flags 18 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 46)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 45)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 45))))])), (.mk (.bind (.generated .operand 47)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 46)), (.move (.generated .operand 47))] false) (.mk [(.mk (.bind (.generated .operand 58)) none (.lit (.nat 2))), (.mk (.bind (.generated .operand 59)) none (.block (.mk [(.mk (.bind (.generated .operand 56)) none (.block (.mk [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .operand 50)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 48)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 48))))])), (.mk (.bind (.generated .operand 51)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 49)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 49))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true)))), (.mk (.bind (.generated .operand 54)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 52)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 52))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true)))), (.mk (.bind (.generated .operand 57)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 55)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 55))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] true))))] (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 58)), (.move (.generated .operand 59))] false))) (.mk [] (.succeed (.lit (.bool false))))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 46)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 45)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 45))))])), (.mk (.bind (.generated .operand 47)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 46)), (.move (.generated .operand 47))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 45))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 58)) none (.lit (.nat 2))), (.mk (.bind (.generated .operand 59)) none (.block (.mk [(.mk (.bind (.generated .operand 56)) none (.block (.mk [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .operand 50)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 48)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 48))))])), (.mk (.bind (.generated .operand 51)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 49)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 49))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true)))), (.mk (.bind (.generated .operand 54)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 52)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 52))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true)))), (.mk (.bind (.generated .operand 57)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 55)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 55))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] true))))]) (ta := (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 58)), (.move (.generated .operand 59))] false))) (lb := []) (tb := (.succeed (.lit (.bool false)))) (Corr.fOfB (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 56)) none (.block (.mk [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .operand 50)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 48)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 48))))])), (.mk (.bind (.generated .operand 51)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 49)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 49))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true)))), (.mk (.bind (.generated .operand 54)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 52)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 52))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true)))), (.mk (.bind (.generated .operand 57)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 55)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 55))))]))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .operand 50)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 48)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 48))))])), (.mk (.bind (.generated .operand 51)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 49)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 49))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true)))), (.mk (.bind (.generated .operand 54)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 52)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 52))))]))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 50)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 48)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 48))))])), (.mk (.bind (.generated .operand 51)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 49)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 49))))]))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 48))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 49))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 52))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 55))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.fOfB (Corr.bOfE (Corr.buildConst rfl)))))⟩⟩ - -theorem fun19 : FunOK program krate flags 19 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 61)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 60)), .wild, .wild]) (.mk [] (.move (.generated .part 60))))])), (.mk (.bind (.generated .operand 62)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 61)), (.move (.generated .operand 62))] false) (.mk [(.mk (.bind (.generated .operand 64)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 63)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])), (.mk (.bind (.generated .operand 65)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] false) (.mk [(.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.bind (.generated .holder 68)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 67)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 67))))]))] (.matchOn (.move (.generated .holder 68)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 66))]) (.mk [] (.move (.generated .part 66))))])))), (.mk (.bind (.generated .operand 70)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 69)), (.move (.generated .operand 70))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 61)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 60)), .wild, .wild]) (.mk [] (.move (.generated .part 60))))])), (.mk (.bind (.generated .operand 62)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 61)), (.move (.generated .operand 62))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 60))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 64)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 63)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])), (.mk (.bind (.generated .operand 65)) none (.lit (.nat 1)))]) (ta := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] false) (.mk [(.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.bind (.generated .holder 68)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 67)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 67))))]))] (.matchOn (.move (.generated .holder 68)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 66))]) (.mk [] (.move (.generated .part 66))))])))), (.mk (.bind (.generated .operand 70)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 69)), (.move (.generated .operand 70))] false)) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 64)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 63)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])), (.mk (.bind (.generated .operand 65)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 63))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.bind (.generated .holder 68)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 67)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 67))))]))] (.matchOn (.move (.generated .holder 68)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 66))]) (.mk [] (.move (.generated .part 66))))])))), (.mk (.bind (.generated .operand 70)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 69)), (.move (.generated .operand 70))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 68)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 67)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 67))))]))]) (tail := (.matchOn (.move (.generated .holder 68)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 66))]) (.mk [] (.move (.generated .part 66))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 66))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 67))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun20 : FunOK program krate flags 20 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 72)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 71)), .wild]) (.mk [] (.move (.generated .part 71))))])), (.mk (.bind (.generated .operand 73)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] false) (.mk [(.mk (.bind (.generated .operand 75)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 74)), .wild, .wild]) (.mk [] (.move (.generated .part 74))))])), (.mk (.bind (.generated .operand 76)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 75)), (.move (.generated .operand 76))] false) (.mk [] (.call (.function 30) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 77)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 77))))])] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 72)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 71)), .wild]) (.mk [] (.move (.generated .part 71))))])), (.mk (.bind (.generated .operand 73)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 71))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 75)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 74)), .wild, .wild]) (.mk [] (.move (.generated .part 74))))])), (.mk (.bind (.generated .operand 76)) none (.lit (.nat 1)))]) (ta := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 75)), (.move (.generated .operand 76))] false) (.mk [] (.call (.function 30) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 77)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 77))))])] false)) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 75)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 74)), .wild, .wild]) (.mk [] (.move (.generated .part 74))))])), (.mk (.bind (.generated .operand 76)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 75)), (.move (.generated .operand 76))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 74))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 30) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 77)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 77))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 77))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun21 : FunOK program krate flags 21 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 79)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 78))]) (.mk [] (.move (.generated .part 78))))])), (.mk (.bind (.generated .operand 80)) none (.lit (.nat 3)))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 79)), (.move (.generated .operand 80))] false) (.mk [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 0)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false) (.mk [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 88)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 90)), .wild, .wild]) (.mk [] (.move (.generated .part 90))))])), (.mk (.bind (.generated .operand 92)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 94)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))])), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] false) (.mk [(.mk (.bind (.generated .operand 97)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96)), .wild]) (.mk [] (.move (.generated .part 96))))])), (.mk (.bind (.generated .operand 98)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 97)), (.move (.generated .operand 98))] false)) (.mk [] (.lit (.bool false))))))))) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 79)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 78))]) (.mk [] (.move (.generated .part 78))))])), (.mk (.bind (.generated .operand 80)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 79)), (.move (.generated .operand 80))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 78))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 0)))]) (ta := (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false) (.mk [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 88)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 90)), .wild, .wild]) (.mk [] (.move (.generated .part 90))))])), (.mk (.bind (.generated .operand 92)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 94)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))])), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] false) (.mk [(.mk (.bind (.generated .operand 97)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96)), .wild]) (.mk [] (.move (.generated .part 96))))])), (.mk (.bind (.generated .operand 98)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 97)), (.move (.generated .operand 98))] false)) (.mk [] (.lit (.bool false))))))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 0)))]) (ce := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false) (.mk [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false)) (.mk [] (.lit (.bool false))))) (lk := []) (Corr.cond (lc := [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 81))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 84))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 88)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))]) (tb := (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 90)), .wild, .wild]) (.mk [] (.move (.generated .part 90))))])), (.mk (.bind (.generated .operand 92)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 94)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))])), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] false) (.mk [(.mk (.bind (.generated .operand 97)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96)), .wild]) (.mk [] (.move (.generated .part 96))))])), (.mk (.bind (.generated .operand 98)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 97)), (.move (.generated .operand 98))] false)) (.mk [] (.lit (.bool false))))))) (Corr.bOfE (Corr.buildConst rfl)) (Corr.cond (lc := [(.mk (.bind (.generated .operand 88)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))]) (ce := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 90)), .wild, .wild]) (.mk [] (.move (.generated .part 90))))])), (.mk (.bind (.generated .operand 92)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] false)) (.mk [] (.lit (.bool false))))) (lk := []) (Corr.cond (lc := [(.mk (.bind (.generated .operand 88)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 87))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 91)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 90)), .wild, .wild]) (.mk [] (.move (.generated .part 90))))])), (.mk (.bind (.generated .operand 92)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 90))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 94)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))])), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 2)))]) (tb := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] false) (.mk [(.mk (.bind (.generated .operand 97)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96)), .wild]) (.mk [] (.move (.generated .part 96))))])), (.mk (.bind (.generated .operand 98)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 97)), (.move (.generated .operand 98))] false)) (.mk [] (.lit (.bool false))))) (Corr.bOfE (Corr.buildConst rfl)) (Corr.cond (lc := [(.mk (.bind (.generated .operand 94)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))])), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 2)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 93))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 97)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96)), .wild]) (.mk [] (.move (.generated .part 96))))])), (.mk (.bind (.generated .operand 98)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 97)), (.move (.generated .operand 98))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 96))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))))))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun22 : FunOK program krate flags 22 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 35) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 14) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 35) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun23 : FunOK program krate flags 23 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 36) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 15) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 36) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun24 : FunOK program krate flags 24 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 37) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 16) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 37) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun25 : FunOK program krate flags 25 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 38) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 17) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 38) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun26 : FunOK program krate flags 26 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 18) [(.clone (.generated .binding 0))] true) (.mk [] (.succeed (.construct .some [(.call (.function 39) [(.move (.generated .binding 0))] false)]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 18) [(.clone (.generated .binding 0))] true)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.call (.function 39) [(.move (.generated .binding 0))] false)]))) (lb := []) (tb := (.succeed (.construct (.none (.adt 1)) []))) (Corr.fOfB (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ - -theorem fun27 : FunOK program krate flags 27 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 40) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 19) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 40) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun28 : FunOK program krate flags 28 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 20) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 41) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 20) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 41) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun29 : FunOK program krate flags 29 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 21) [(.clone (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.call (.function 42) [(.move (.generated .binding 0))] true)]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 21) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.call (.function 42) [(.move (.generated .binding 0))] true)]))) (lb := []) (tb := (.succeed (.construct (.none (.adt 1)) []))) (Corr.fOfB (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ - -theorem fun30 : FunOK program krate flags 30 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 100)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 99)), .wild]) (.mk [] (.move (.generated .part 99))))])), (.mk (.bind (.generated .operand 101)) none (.lit (.nat 90)))], (.call (.runtime .natLt) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 99))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun31 : FunOK program krate flags 31 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 103)) none (.lit (.nat 380))), (.mk (.bind (.generated .operand 104)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 102)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 102))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 103)), (.move (.generated .operand 104))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 102))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun32 : FunOK program krate flags 32 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 106)) none (.lit (.nat 90))), (.mk (.bind (.generated .operand 107)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 105)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 105))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 106)), (.move (.generated .operand 107))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 105))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun33 : FunOK program krate flags 33 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 109)) none (.lit (.nat 20))), (.mk (.bind (.generated .operand 110)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 108)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 108))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 109)), (.move (.generated .operand 110))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 108))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun34 : FunOK program krate flags 34 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 112)) none (.lit (.nat 12))), (.mk (.bind (.generated .operand 113)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, (.bind (.generated .part 111)), .wild, .wild]) (.mk [] (.move (.generated .part 111))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 112)), (.move (.generated .operand 113))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 111))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun35 : FunOK program krate flags 35 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 114)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 114))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 115)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 115))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 116)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 116))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 117)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 117))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 118)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 118))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 119)), .wild, .wild]) (.mk [] (.move (.generated .part 119))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 120)), .wild]) (.mk [] (.move (.generated .part 120))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 121))]) (.mk [] (.move (.generated .part 121))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 114))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 115))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 116))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 117))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 118))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 119))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 120))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 121))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun36 : FunOK program krate flags 36 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 122)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 122))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 123)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 123))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 124)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 124))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 125)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 125))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 126)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 126))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 127)), .wild, .wild]) (.mk [] (.move (.generated .part 127))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 128)), .wild]) (.mk [] (.move (.generated .part 128))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 129))]) (.mk [] (.move (.generated .part 129))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 122))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 123))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 124))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 125))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 126))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 127))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 128))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 129))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun37 : FunOK program krate flags 37 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 130)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 130))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 131)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 131))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 132)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 132))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 133)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 133))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 134)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 134))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 135)), .wild, .wild]) (.mk [] (.move (.generated .part 135))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 136)), .wild]) (.mk [] (.move (.generated .part 136))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 137))]) (.mk [] (.move (.generated .part 137))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 130))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 131))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 132))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 133))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 134))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 135))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 136))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 137))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun38 : FunOK program krate flags 38 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 138)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 138))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 139)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 139))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 140)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 140))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 141)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 141))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 142)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 142))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 143)), .wild, .wild]) (.mk [] (.move (.generated .part 143))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 144)), .wild]) (.mk [] (.move (.generated .part 144))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 145))]) (.mk [] (.move (.generated .part 145))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 138))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 139))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 140))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 141))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 142))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 143))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 144))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 145))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun39 : FunOK program krate flags 39 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 146)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 146))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 147)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 147))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 148)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 148))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 149)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 149))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 150)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 150))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 151)), .wild, .wild]) (.mk [] (.move (.generated .part 151))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 152)), .wild]) (.mk [] (.move (.generated .part 152))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 153))]) (.mk [] (.move (.generated .part 153))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 146))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 147))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 148))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 149))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 150))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 151))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 152))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 153))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun40 : FunOK program krate flags 40 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 154)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 154))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 155)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 155))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 156)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 156))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 157)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 157))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 158)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 158))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 159)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 159))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 160)), .wild]) (.mk [] (.move (.generated .part 160))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 161))]) (.mk [] (.move (.generated .part 161))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 154))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 155))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 156))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 157))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 158))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 159))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 160))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 161))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun41 : FunOK program krate flags 41 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 162)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 162))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 163)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 163))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 164)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 164))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 165)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 165))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 166)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 166))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 167)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 167))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 168)), .wild, .wild]) (.mk [] (.move (.generated .part 168))))]), (.lit (.nat 1)), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 169))]) (.mk [] (.move (.generated .part 169))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 162))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 163))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 164))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 165))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 166))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 167))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 168))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 169))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun42 : FunOK program krate flags 42 := - ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 170)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 170))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 171)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 171))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 172)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 172))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 173)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 173))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 174)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 174))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 175)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 175))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 176)), .wild, .wild]) (.mk [] (.move (.generated .part 176))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 177)), .wild]) (.mk [] (.move (.generated .part 177))))]), (.block (.mk [(.mk (.bind (.generated .operand 179)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 178))]) (.mk [] (.move (.generated .part 178))))])), (.mk (.bind (.generated .operand 180)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 179)), (.move (.generated .operand 180))] true)))])), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.fOfB (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 170))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 171))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 172))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 173))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 174))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 175))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 176))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 177))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 179)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 178))]) (.mk [] (.move (.generated .part 178))))])), (.mk (.bind (.generated .operand 180)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 179)), (.move (.generated .operand 180))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 178))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | 4 => exact fun4 - | 5 => exact fun5 - | 6 => exact fun6 - | 7 => exact fun7 - | 8 => exact fun8 - | 9 => exact fun9 - | 10 => exact fun10 - | 11 => exact fun11 - | 12 => exact fun12 - | 13 => exact fun13 - | 14 => exact fun14 - | 15 => exact fun15 - | 16 => exact fun16 - | 17 => exact fun17 - | 18 => exact fun18 - | 19 => exact fun19 - | 20 => exact fun20 - | 21 => exact fun21 - | 22 => exact fun22 - | 23 => exact fun23 - | 24 => exact fun24 - | 25 => exact fun25 - | 26 => exact fun26 - | 27 => exact fun27 - | 28 => exact fun28 - | 29 => exact fun29 - | 30 => exact fun30 - | 31 => exact fun31 - | 32 => exact fun32 - | 33 => exact fun33 - | 34 => exact fun34 - | 35 => exact fun35 - | 36 => exact fun36 - | 37 => exact fun37 - | 38 => exact fun38 - | 39 => exact fun39 - | 40 => exact fun40 - | 41 => exact fun41 - | 42 => exact fun42 - | _ + 43 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.RustCore diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R2.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R2.lean deleted file mode 100644 index aa60aaef3..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R2.lean +++ /dev/null @@ -1,417 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Reasoning.Budget -import Reasoning.Clinic -import Reasoning.Main -import Reasoning.Planner -import Reasoning.Screening -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [{ constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }, - { constructors := [[], [], [], [], [], [], [], []] }, - { constructors := [[(.adt 3), (.list (.adt 1)), (.adt 4)]] }, - { constructors := [[(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]] }, - { constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }], functions := (( - { parameters := [0, 1, 2, 3, 4, 5], types := [.nat, .nat, .nat, .nat, .nat, .nat], result := .nat, - body := (.«match» .nat (.call 1 [(.build (.adt 0) (.adt 0) [(.var 0), (.var 1), (.var 2), (.var 3), (.var 4), (.var 5)])]) [(.arm .ok [6] (.prim .length [(.second (.var 6))])), (.arm .error [7] (.value .nat (.nat 0)))]) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.result (.pair .nat (.list (.adt 1))) (.pair .bool .bool)), - body := (.«let» 1 (.pair (.adt 2) .bool) (.call 2 [(.var 0)]) (.«match» (.result (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) (.second (.var 1)) [(.arm .true [] (.«match» (.result (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) (.call 3 [(.var 0), (.field (.first (.var 1)) 0)]) [(.arm .ok [2] (.build .ok (.result (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.build .pair (.pair .nat (.list (.adt 1))) [(.var 2), (.field (.first (.var 1)) 1)])])), (.arm .error [3] (.build .error (.result (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.var 3)]))])), (.arm .false [] (.build .error (.result (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))])) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.pair (.adt 2) .bool), - body := (.call 4 [(.closure 5 []), (.value .nat (.nat 11)), (.call 6 [(.var 0)])]) }) ::( - { parameters := [0, 1], types := [(.adt 0), (.adt 3)], result := (.result .nat (.pair .bool .bool)), - body := (.«match» (.result .nat (.pair .bool .bool)) (.call 7 [(.var 0), (.var 1)]) [(.arm .some [2] (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)])), (.arm .none [] (.«match» (.result .nat (.pair .bool .bool)) (.call 8 [(.var 1)]) [(.arm .some [3] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])), (.arm .none [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])]))]))]) }) ::( - { parameters := [0, 1, 2], types := [(.fn [(.adt 2)] (.option (.adt 2))), .nat, (.adt 2)], result := (.pair (.adt 2) .bool), - body := (.«match» (.pair (.adt 2) .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair (.adt 2) .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair (.adt 2) .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair (.adt 2) .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 4 [(.var 0), (.var 3), (.var 4)]))]))]) }) ::( - { parameters := [0], types := [(.adt 2)], result := (.option (.adt 2)), - body := (.«match» (.option (.adt 2)) (.call 9 [(.field (.var 0) 0)]) [(.arm .none [] (.build .none (.option (.adt 2)) [])), (.arm .some [1] (.«match» (.option (.adt 2)) (.call 10 [(.field (.var 0) 0), (.var 1)]) [(.arm .none [] (.build .none (.option (.adt 2)) [])), (.arm .some [2] (.build .some (.option (.adt 2)) [(.build (.adt 0) (.adt 2) [(.var 2), (.prim .append [(.field (.var 0) 1), (.build .cons (.list (.adt 1)) [(.var 1), (.build .nil (.list (.adt 1)) [])])]), (.build (.adt 0) (.adt 4) [(.prim .natAdd [(.field (.field (.var 0) 2) 0), (.value .nat (.nat 1))]), (.prim .natAdd [(.field (.field (.var 0) 2) 1), (.call 11 [(.field (.var 0) 0)])]), (.prim .natAdd [(.field (.field (.var 0) 2) 2), (.value .nat (.nat 1))]), (.field (.field (.var 0) 2) 3), (.field (.field (.var 0) 2) 4), (.field (.field (.var 0) 2) 5)])])]))]))]) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.adt 2), - body := (.build (.adt 0) (.adt 2) [(.call 12 [(.var 0)]), (.build .nil (.list (.adt 1)) []), (.build (.adt 0) (.adt 4) [(.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0))])]) }) ::( - { parameters := [0, 1], types := [(.adt 0), (.adt 3)], result := (.option .nat), - body := (.«match» (.option .nat) (.call 8 [(.var 1)]) [(.arm .none [] (.build .none (.option .nat) [])), (.arm .some [2] (.cond (.call 13 [(.var 0), (.var 2)]) (.build .some (.option .nat) [(.var 2)]) (.build .none (.option .nat) [])))]) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.option .nat), - body := (.build .some (.option .nat) [(.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.option (.adt 1)), - body := (.«match» (.option (.adt 1)) (.«match» (.option (.adt 1)) (.«match» (.option (.adt 1)) (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 0) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])) [(.arm .some [1] (.build .some (.option (.adt 1)) [(.var 1)])), (.arm .none [] (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 1) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])))]) [(.arm .some [2] (.build .some (.option (.adt 1)) [(.var 2)])), (.arm .none [] (.«match» (.option (.adt 1)) (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 2) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])) [(.arm .some [3] (.build .some (.option (.adt 1)) [(.var 3)])), (.arm .none [] (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 3) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])))]))]) [(.arm .some [4] (.build .some (.option (.adt 1)) [(.var 4)])), (.arm .none [] (.«match» (.option (.adt 1)) (.«match» (.option (.adt 1)) (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 4) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])) [(.arm .some [5] (.build .some (.option (.adt 1)) [(.var 5)])), (.arm .none [] (.cond (.call 19 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 5) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])))]) [(.arm .some [6] (.build .some (.option (.adt 1)) [(.var 6)])), (.arm .none [] (.«match» (.option (.adt 1)) (.cond (.call 20 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 6) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])) [(.arm .some [7] (.build .some (.option (.adt 1)) [(.var 7)])), (.arm .none [] (.cond (.call 21 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 7) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])))]))]))]) }) ::( - { parameters := [0, 1], types := [(.adt 3), (.adt 1)], result := (.option (.adt 3)), - body := (.«match» (.option (.adt 3)) (.var 1) [(.arm (.adt 0) [] (.call 22 [(.var 0)])), (.arm (.adt 1) [] (.call 23 [(.var 0)])), (.arm (.adt 2) [] (.call 24 [(.var 0)])), (.arm (.adt 3) [] (.call 25 [(.var 0)])), (.arm (.adt 4) [] (.call 26 [(.var 0)])), (.arm (.adt 5) [] (.call 27 [(.var 0)])), (.arm (.adt 6) [] (.call 28 [(.var 0)])), (.arm (.adt 7) [] (.call 29 [(.var 0)]))]) }) ::( - { parameters := [0], types := [(.adt 3)], result := .nat, - body := (.second (.«let» 7 (.pair .bool .nat) (.«let» 3 (.pair .bool .nat) (.«let» 1 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 14 [(.var 0)]), (.value .nat (.nat 1))]) (.cond (.first (.var 1)) (.var 1) (.«let» 2 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 15 [(.var 0)]), (.value .nat (.nat 1))]) (.build .pair (.pair .bool .nat) [(.first (.var 2)), (.prim .natAdd [(.second (.var 1)), (.second (.var 2))])])))) (.cond (.first (.var 3)) (.var 3) (.«let» 6 (.pair .bool .nat) (.«let» 4 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 16 [(.var 0)]), (.value .nat (.nat 1))]) (.cond (.first (.var 4)) (.var 4) (.«let» 5 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 17 [(.var 0)]), (.value .nat (.nat 1))]) (.build .pair (.pair .bool .nat) [(.first (.var 5)), (.prim .natAdd [(.second (.var 4)), (.second (.var 5))])])))) (.build .pair (.pair .bool .nat) [(.first (.var 6)), (.prim .natAdd [(.second (.var 3)), (.second (.var 6))])])))) (.cond (.first (.var 7)) (.var 7) (.«let» 14 (.pair .bool .nat) (.«let» 10 (.pair .bool .nat) (.«let» 8 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 18 [(.var 0)]), (.value .nat (.nat 1))]) (.cond (.first (.var 8)) (.var 8) (.«let» 9 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 19 [(.var 0)]), (.value .nat (.nat 1))]) (.build .pair (.pair .bool .nat) [(.first (.var 9)), (.prim .natAdd [(.second (.var 8)), (.second (.var 9))])])))) (.cond (.first (.var 10)) (.var 10) (.«let» 13 (.pair .bool .nat) (.«let» 11 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 20 [(.var 0)]), (.value .nat (.nat 1))]) (.cond (.first (.var 11)) (.var 11) (.«let» 12 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 21 [(.var 0)]), (.value .nat (.nat 1))]) (.build .pair (.pair .bool .nat) [(.first (.var 12)), (.prim .natAdd [(.second (.var 11)), (.second (.var 12))])])))) (.build .pair (.pair .bool .nat) [(.first (.var 13)), (.prim .natAdd [(.second (.var 10)), (.second (.var 13))])])))) (.build .pair (.pair .bool .nat) [(.first (.var 14)), (.prim .natAdd [(.second (.var 7)), (.second (.var 14))])]))))) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.adt 3), - body := (.build (.adt 0) (.adt 3) [(.var 0), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0))]) }) ::( - { parameters := [0, 1], types := [(.adt 0), .nat], result := .bool, - body := (.cond (.prim .natLe [(.var 1), (.value .nat (.nat 3))]) (.cond (.prim .natEq [(.var 1), (.value .nat (.nat 3))]) (.build .true .bool []) (.prim .boolNot [(.cond (.call 30 [(.var 0)]) (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.cond (.call 31 [(.var 0)]) (.call 32 [(.var 0)]) (.build .false .bool [])) (.build .false .bool [])) (.build .false .bool []))])) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 1), (.value .nat (.nat 0))]) (.call 31 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 2), (.value .nat (.nat 0))]) (.call 32 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 3), (.value .nat (.nat 0))]) (.call 33 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 4), (.value .nat (.nat 0))]) (.call 34 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 0))]) (.prim .natLe [(.value .nat (.nat 2)), (.prim .natAdd [(.prim .natAdd [(.prim .natAdd [(.field (.var 0) 1), (.field (.var 0) 2)]), (.field (.var 0) 3)]), (.field (.var 0) 4)])]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.field (.var 0) 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.call 30 [(.field (.var 0) 0)]) (.build .false .bool [])) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := .bool, - body := (.cond (.prim .natLt [(.field (.var 0) 8), (.value .nat (.nat 3))]) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 0))]) (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 2))]) (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 1))]) (.build .false .bool [])))) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), - body := (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 35 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), - body := (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 36 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), - body := (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 37 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), - body := (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 38 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), - body := (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 39 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), - body := (.cond (.call 19 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 40 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), - body := (.cond (.call 20 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 41 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), - body := (.cond (.call 21 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 42 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.field (.var 0) 4), (.value .nat (.nat 90))]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 380)), (.field (.var 0) 0)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 90)), (.field (.var 0) 1)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 20)), (.field (.var 0) 2)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 12)), (.field (.var 0) 3)]) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.adt 3), - body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.value .nat (.nat 1)), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.adt 3), - body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.field (.var 0) 1), (.value .nat (.nat 1)), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.adt 3), - body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.value .nat (.nat 1)), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.adt 3), - body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.value .nat (.nat 1)), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.adt 3), - body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.value .nat (.nat 1)), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.adt 3), - body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.value .nat (.nat 1)), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.adt 3), - body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.value .nat (.nat 1)), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.adt 3), - body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.prim .natAdd [(.field (.var 0) 8), (.value .nat (.nat 1))])]) }) ::[]) } - -def __enc_0 (__s : (Reasoning.Clinic.Vitals)) : _root_.LexLeanTarget.TargetSyntax.Value := - _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).infection)] - -def __enc_1 : (Reasoning.Clinic.Triage.Step) -> _root_.LexLeanTarget.TargetSyntax.Value - | Reasoning.Clinic.Triage.Step.Fever => _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [] - | Reasoning.Clinic.Triage.Step.Tachycardia => _root_.LexLeanTarget.TargetSyntax.Value.adt 1 [] - | Reasoning.Clinic.Triage.Step.Tachypnea => _root_.LexLeanTarget.TargetSyntax.Value.adt 2 [] - | Reasoning.Clinic.Triage.Step.Leukocytosis => _root_.LexLeanTarget.TargetSyntax.Value.adt 3 [] - | Reasoning.Clinic.Triage.Step.Sirs => _root_.LexLeanTarget.TargetSyntax.Value.adt 4 [] - | Reasoning.Clinic.Triage.Step.Sepsis => _root_.LexLeanTarget.TargetSyntax.Value.adt 5 [] - | Reasoning.Clinic.Triage.Step.Shock => _root_.LexLeanTarget.TargetSyntax.Value.adt 6 [] - | Reasoning.Clinic.Triage.Step.Escalate => _root_.LexLeanTarget.TargetSyntax.Value.adt 7 [] - -def __enc_3 (__s : (Reasoning.Clinic.Chart)) : _root_.LexLeanTarget.TargetSyntax.Value := - _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(__enc_0 (__s).vitals), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).fever), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).tachycardia), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).tachypnea), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).leukocytosis), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).sirs), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).sepsis), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).shock), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).level)] - -def __enc_4 (__s : (Reasoning.Clinic.Triage.Ledger)) : _root_.LexLeanTarget.TargetSyntax.Value := - _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).iterations), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).attempts), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).firings), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).expansions), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).verifications), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).frontier)] - -def __enc_2 (__s : (Reasoning.Clinic.Triage.Run)) : _root_.LexLeanTarget.TargetSyntax.Value := - _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(__enc_3 (__s).state), ((_root_.LexLeanPreservation.encList __enc_1) (__s).trace), (__enc_4 (__s).ledger)] - -def __fits_31 (v : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_31 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 31 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_31 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.feverish v))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (380 : Nat) (v).temperature)) - -def __fits_14 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).fever (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_31 ((s).vitals))) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.feverish in -theorem __rel_14 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 14 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_14 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Fever.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_31 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.feverish ((s).vitals)))) (Nat.beq (s).fever (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).fever (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_31 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_32 (v : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_32 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 32 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_32 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.tachycardic v))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (90 : Nat) (v).heartRate)) - -def __fits_15 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).tachycardia (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_32 ((s).vitals))) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.tachycardic in -theorem __rel_15 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 15 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_15 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Tachycardia.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_32 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.tachycardic ((s).vitals)))) (Nat.beq (s).tachycardia (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).tachycardia (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_32 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_33 (v : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_33 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 33 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_33 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.tachypneic v))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (20 : Nat) (v).respiratoryRate)) - -def __fits_16 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).tachypnea (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_33 ((s).vitals))) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.tachypneic in -theorem __rel_16 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 16 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_16 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Tachypnea.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_33 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.tachypneic ((s).vitals)))) (Nat.beq (s).tachypnea (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).tachypnea (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_33 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_34 (v : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_34 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 34 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_34 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.leukocytic v))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (12 : Nat) (v).whiteCells)) - -def __fits_17 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).leukocytosis (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_34 ((s).vitals))) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.leukocytic in -theorem __rel_17 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 17 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_17 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Leukocytosis.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_34 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.leukocytic ((s).vitals)))) (Nat.beq (s).leukocytosis (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).leukocytosis (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_34 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_18 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sirs (0 : Nat)) then ((Bool.true && (((((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).fever + (s).tachycardia) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt (((s).fever + (s).tachycardia) + (s).tachypnea) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis) 18446744073709551616)) && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) - -theorem __rel_18 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 18 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_18 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Sirs.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (((((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).fever + (s).tachycardia) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt (((s).fever + (s).tachycardia) + (s).tachypnea) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis) 18446744073709551616)) && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.ble (2 : Nat) ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis)))) (Nat.beq (s).sirs (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sirs (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (s).fever (s).tachycardia)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((s).fever + (s).tachycardia) (s).tachypnea)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (((s).fever + (s).tachycardia) + (s).tachypnea) (s).leukocytosis)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe (2 : Nat) ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_19 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sepsis (0 : Nat)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sirs (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) - -theorem __rel_19 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 19 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_19 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Sepsis.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sirs (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.beq (s).sirs (1 : Nat)) && (Nat.beq ((s).vitals).infection (1 : Nat))))) (Nat.beq (s).sepsis (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sepsis (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq ((s).vitals).infection (1 : Nat)))) (Nat.beq (s).sirs (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sirs (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq ((s).vitals).infection (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_30 (v : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_30 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 30 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_30 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.hypotensive v))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (v).systolic (90 : Nat))) - -def __fits_20 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).shock (0 : Nat)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sepsis (1 : Nat)) then ((Bool.true && Bool.true) && (__fits_30 ((s).vitals))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.hypotensive in -theorem __rel_20 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 20 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_20 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Shock.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sepsis (1 : Nat)) then ((Bool.true && Bool.true) && (__fits_30 ((s).vitals))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.beq (s).sepsis (1 : Nat)) && (Reasoning.Clinic.hypotensive ((s).vitals))))) (Nat.beq (s).shock (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).shock (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_30 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.hypotensive ((s).vitals)))) (Nat.beq (s).sepsis (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sepsis (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_30 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_21 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.blt (s).level (3 : Nat)) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (0 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))))))) else (Bool.true && Bool.true))) - -theorem __rel_21 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 21 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_21 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Escalate.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (0 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))))))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) || (((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) || ((Nat.beq (s).level (2 : Nat)) && (Nat.beq (s).shock (1 : Nat))))))) (Nat.blt (s).level (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (s).level (3 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)))))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b || (((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) || ((Nat.beq (s).level (2 : Nat)) && (Nat.beq (s).shock (1 : Nat)))))) ((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq (s).sirs (1 : Nat)))) (Nat.beq (s).level (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).level (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sirs (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b || ((Nat.beq (s).level (2 : Nat)) && (Nat.beq (s).shock (1 : Nat))))) ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq (s).sepsis (1 : Nat)))) (Nat.beq (s).level (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).level (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sepsis (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq (s).shock (1 : Nat)))) (Nat.beq (s).level (2 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).level (2 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).shock (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))))))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_9 (_ys : (Reasoning.Clinic.Chart)) : Bool := - ((((((Bool.true && Bool.true) && (__fits_14 (_ys))) && (if (Reasoning.Clinic.Fever.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_15 (_ys))) && (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) && (match (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_16 (_ys))) && (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_17 (_ys))) && (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))) && (match (match (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && (__fits_18 (_ys))) && (if (Reasoning.Clinic.Sirs.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_19 (_ys))) && (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) && (match (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_20 (_ys))) && (if (Reasoning.Clinic.Shock.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_21 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))))) - -attribute [local irreducible] Reasoning.Clinic.Escalate.guard Reasoning.Clinic.Fever.guard Reasoning.Clinic.Leukocytosis.guard Reasoning.Clinic.Sepsis.guard Reasoning.Clinic.Shock.guard Reasoning.Clinic.Sirs.guard Reasoning.Clinic.Tachycardia.guard Reasoning.Clinic.Tachypnea.guard in -theorem __rel_9 (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 9 [(__enc_3 _ys)] (_root_.LexLeanPreservation.Rel (__fits_9 _ys) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Triage.select _ys))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_1) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && (__fits_18 (_ys))) && (if (Reasoning.Clinic.Sirs.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_19 (_ys))) && (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) && (match (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_20 (_ys))) && (if (Reasoning.Clinic.Shock.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_21 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Escalate.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Escalate : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))))) (match (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_1) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_16 (_ys))) && (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_17 (_ys))) && (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))))) (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_1) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_15 (_ys))) && (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Fever.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_14 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Tachycardia.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_15 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_1) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_17 (_ys))) && (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Tachypnea.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_16 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Leukocytosis.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_17 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_1) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_20 (_ys))) && (if (Reasoning.Clinic.Shock.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_21 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Escalate.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Escalate : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))))) (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_1) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_19 (_ys))) && (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Sirs.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_18 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Sepsis.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_19 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_1) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_21 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Escalate.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Escalate : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Shock.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_20 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Escalate : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Escalate.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_21 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))))))))))) - -def __fits_35 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_35 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 35 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_35 s) (__enc_3 (Reasoning.Clinic.Fever.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_22 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_14 (s))) && (if (Reasoning.Clinic.Fever.guard (s)) then ((((Bool.true && Bool.true) && (__fits_35 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Fever.conclusion Reasoning.Clinic.Fever.guard in -theorem __rel_22 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 22 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_22 s) ((_root_.LexLeanPreservation.encOption __enc_3) (Reasoning.Clinic.Fever.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_35 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_3) (if __b then (Option.some ((Reasoning.Clinic.Fever.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Fever.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_14 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_35 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_36 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_36 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 36 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_36 s) (__enc_3 (Reasoning.Clinic.Tachycardia.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_23 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_15 (s))) && (if (Reasoning.Clinic.Tachycardia.guard (s)) then ((((Bool.true && Bool.true) && (__fits_36 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Tachycardia.conclusion Reasoning.Clinic.Tachycardia.guard in -theorem __rel_23 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 23 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_23 s) ((_root_.LexLeanPreservation.encOption __enc_3) (Reasoning.Clinic.Tachycardia.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_36 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_3) (if __b then (Option.some ((Reasoning.Clinic.Tachycardia.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Tachycardia.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_15 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_36 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_37 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_37 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 37 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_37 s) (__enc_3 (Reasoning.Clinic.Tachypnea.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_24 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_16 (s))) && (if (Reasoning.Clinic.Tachypnea.guard (s)) then ((((Bool.true && Bool.true) && (__fits_37 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Tachypnea.conclusion Reasoning.Clinic.Tachypnea.guard in -theorem __rel_24 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 24 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_24 s) ((_root_.LexLeanPreservation.encOption __enc_3) (Reasoning.Clinic.Tachypnea.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_37 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_3) (if __b then (Option.some ((Reasoning.Clinic.Tachypnea.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Tachypnea.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_16 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_37 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_38 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_38 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 38 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_38 s) (__enc_3 (Reasoning.Clinic.Leukocytosis.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_25 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_17 (s))) && (if (Reasoning.Clinic.Leukocytosis.guard (s)) then ((((Bool.true && Bool.true) && (__fits_38 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Leukocytosis.conclusion Reasoning.Clinic.Leukocytosis.guard in -theorem __rel_25 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 25 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_25 s) ((_root_.LexLeanPreservation.encOption __enc_3) (Reasoning.Clinic.Leukocytosis.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_38 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_3) (if __b then (Option.some ((Reasoning.Clinic.Leukocytosis.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Leukocytosis.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_17 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_38 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_39 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_39 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 39 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_39 s) (__enc_3 (Reasoning.Clinic.Sirs.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_26 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_18 (s))) && (if (Reasoning.Clinic.Sirs.guard (s)) then ((((Bool.true && Bool.true) && (__fits_39 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Sirs.conclusion Reasoning.Clinic.Sirs.guard in -theorem __rel_26 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 26 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_26 s) ((_root_.LexLeanPreservation.encOption __enc_3) (Reasoning.Clinic.Sirs.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_39 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_3) (if __b then (Option.some ((Reasoning.Clinic.Sirs.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Sirs.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_18 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_39 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_40 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_40 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 40 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_40 s) (__enc_3 (Reasoning.Clinic.Sepsis.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_27 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_19 (s))) && (if (Reasoning.Clinic.Sepsis.guard (s)) then ((((Bool.true && Bool.true) && (__fits_40 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Sepsis.conclusion Reasoning.Clinic.Sepsis.guard in -theorem __rel_27 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 27 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_27 s) ((_root_.LexLeanPreservation.encOption __enc_3) (Reasoning.Clinic.Sepsis.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_40 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_3) (if __b then (Option.some ((Reasoning.Clinic.Sepsis.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Sepsis.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_19 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_40 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_41 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_41 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 41 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_41 s) (__enc_3 (Reasoning.Clinic.Shock.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_28 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_20 (s))) && (if (Reasoning.Clinic.Shock.guard (s)) then ((((Bool.true && Bool.true) && (__fits_41 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Shock.conclusion Reasoning.Clinic.Shock.guard in -theorem __rel_28 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 28 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_28 s) ((_root_.LexLeanPreservation.encOption __enc_3) (Reasoning.Clinic.Shock.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_41 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_3) (if __b then (Option.some ((Reasoning.Clinic.Shock.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Shock.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_20 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_41 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_42 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).level + (1 : Nat)) 18446744073709551616)) && Bool.true))))))))) && Bool.true) - -theorem __rel_42 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 42 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_42 s) (__enc_3 (Reasoning.Clinic.Escalate.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (s).level (1 : Nat))) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_29 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_21 (s))) && (if (Reasoning.Clinic.Escalate.guard (s)) then ((((Bool.true && Bool.true) && (__fits_42 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Escalate.conclusion Reasoning.Clinic.Escalate.guard in -theorem __rel_29 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 29 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_29 s) ((_root_.LexLeanPreservation.encOption __enc_3) (Reasoning.Clinic.Escalate.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_42 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_3) (if __b then (Option.some ((Reasoning.Clinic.Escalate.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Escalate.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_21 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_42 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_10 (_ys : (Reasoning.Clinic.Chart)) (_ystep : (Reasoning.Clinic.Triage.Step)) : Bool := - (Bool.true && (match _ystep with | Reasoning.Clinic.Triage.Step.Fever => ((Bool.true && Bool.true) && (__fits_22 (_ys))) | Reasoning.Clinic.Triage.Step.Tachycardia => ((Bool.true && Bool.true) && (__fits_23 (_ys))) | Reasoning.Clinic.Triage.Step.Tachypnea => ((Bool.true && Bool.true) && (__fits_24 (_ys))) | Reasoning.Clinic.Triage.Step.Leukocytosis => ((Bool.true && Bool.true) && (__fits_25 (_ys))) | Reasoning.Clinic.Triage.Step.Sirs => ((Bool.true && Bool.true) && (__fits_26 (_ys))) | Reasoning.Clinic.Triage.Step.Sepsis => ((Bool.true && Bool.true) && (__fits_27 (_ys))) | Reasoning.Clinic.Triage.Step.Shock => ((Bool.true && Bool.true) && (__fits_28 (_ys))) | Reasoning.Clinic.Triage.Step.Escalate => ((Bool.true && Bool.true) && (__fits_29 (_ys))))) - -attribute [local irreducible] Reasoning.Clinic.Escalate.apply Reasoning.Clinic.Fever.apply Reasoning.Clinic.Leukocytosis.apply Reasoning.Clinic.Sepsis.apply Reasoning.Clinic.Shock.apply Reasoning.Clinic.Sirs.apply Reasoning.Clinic.Tachycardia.apply Reasoning.Clinic.Tachypnea.apply in -theorem __rel_10 (_ys : (Reasoning.Clinic.Chart)) (_ystep : (Reasoning.Clinic.Triage.Step)) : _root_.LexLeanPreservation.FunRel __prog 10 [(__enc_3 _ys), (__enc_1 _ystep)] (_root_.LexLeanPreservation.Rel (__fits_10 _ys _ystep) ((_root_.LexLeanPreservation.encOption __enc_3) (Reasoning.Clinic.Triage.fire _ys _ystep))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_1 (fun (__a : (Reasoning.Clinic.Triage.Step)) => (match __a with | Reasoning.Clinic.Triage.Step.Fever => ((Bool.true && Bool.true) && (__fits_22 (_ys))) | Reasoning.Clinic.Triage.Step.Tachycardia => ((Bool.true && Bool.true) && (__fits_23 (_ys))) | Reasoning.Clinic.Triage.Step.Tachypnea => ((Bool.true && Bool.true) && (__fits_24 (_ys))) | Reasoning.Clinic.Triage.Step.Leukocytosis => ((Bool.true && Bool.true) && (__fits_25 (_ys))) | Reasoning.Clinic.Triage.Step.Sirs => ((Bool.true && Bool.true) && (__fits_26 (_ys))) | Reasoning.Clinic.Triage.Step.Sepsis => ((Bool.true && Bool.true) && (__fits_27 (_ys))) | Reasoning.Clinic.Triage.Step.Shock => ((Bool.true && Bool.true) && (__fits_28 (_ys))) | Reasoning.Clinic.Triage.Step.Escalate => ((Bool.true && Bool.true) && (__fits_29 (_ys))))) (fun (__a : (Reasoning.Clinic.Triage.Step)) => (_root_.LexLeanPreservation.encOption __enc_3) (match __a with | Reasoning.Clinic.Triage.Step.Fever => (Reasoning.Clinic.Fever.apply (_ys)) | Reasoning.Clinic.Triage.Step.Tachycardia => (Reasoning.Clinic.Tachycardia.apply (_ys)) | Reasoning.Clinic.Triage.Step.Tachypnea => (Reasoning.Clinic.Tachypnea.apply (_ys)) | Reasoning.Clinic.Triage.Step.Leukocytosis => (Reasoning.Clinic.Leukocytosis.apply (_ys)) | Reasoning.Clinic.Triage.Step.Sirs => (Reasoning.Clinic.Sirs.apply (_ys)) | Reasoning.Clinic.Triage.Step.Sepsis => (Reasoning.Clinic.Sepsis.apply (_ys)) | Reasoning.Clinic.Triage.Step.Shock => (Reasoning.Clinic.Shock.apply (_ys)) | Reasoning.Clinic.Triage.Step.Escalate => (Reasoning.Clinic.Escalate.apply (_ys)))) _ystep (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Reasoning.Clinic.Triage.Step)) _ => match __a with | Reasoning.Clinic.Triage.Step.Fever => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_22 (_ys)))) | Reasoning.Clinic.Triage.Step.Tachycardia => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_23 (_ys))))) | Reasoning.Clinic.Triage.Step.Tachypnea => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_24 (_ys)))))) | Reasoning.Clinic.Triage.Step.Leukocytosis => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_25 (_ys))))))) | Reasoning.Clinic.Triage.Step.Sirs => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_26 (_ys)))))))) | Reasoning.Clinic.Triage.Step.Sepsis => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_27 (_ys))))))))) | Reasoning.Clinic.Triage.Step.Shock => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_28 (_ys)))))))))) | Reasoning.Clinic.Triage.Step.Escalate => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_29 (_ys))))))))))))) - -def __fits_11 (_ys : (Reasoning.Clinic.Chart)) : Bool := - (((((((Bool.true && Bool.true) && (__fits_14 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan0l : (Prod Bool Nat) := ((Reasoning.Clinic.Fever.guard (_ys)), (1 : Nat)); (Bool.true && (if (_yscan0l).1 then Bool.true else (((((Bool.true && Bool.true) && (__fits_15 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan0r : (Prod Bool Nat) := ((Reasoning.Clinic.Tachycardia.guard (_ys)), (1 : Nat)); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan0l).2 + (_yscan0r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))))) && (let _yscan2l : (Prod Bool Nat) := (let _yscan0l : (Prod Bool Nat) := ((Reasoning.Clinic.Fever.guard (_ys)), (1 : Nat)); (if (_yscan0l).1 then _yscan0l else (let _yscan0r : (Prod Bool Nat) := ((Reasoning.Clinic.Tachycardia.guard (_ys)), (1 : Nat)); ((_yscan0r).1, ((_yscan0l).2 + (_yscan0r).2))))); (Bool.true && (if (_yscan2l).1 then Bool.true else ((((((Bool.true && Bool.true) && (__fits_16 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan1l : (Prod Bool Nat) := ((Reasoning.Clinic.Tachypnea.guard (_ys)), (1 : Nat)); (Bool.true && (if (_yscan1l).1 then Bool.true else (((((Bool.true && Bool.true) && (__fits_17 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan1r : (Prod Bool Nat) := ((Reasoning.Clinic.Leukocytosis.guard (_ys)), (1 : Nat)); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan1l).2 + (_yscan1r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))))) && (let _yscan2r : (Prod Bool Nat) := (let _yscan1l : (Prod Bool Nat) := ((Reasoning.Clinic.Tachypnea.guard (_ys)), (1 : Nat)); (if (_yscan1l).1 then _yscan1l else (let _yscan1r : (Prod Bool Nat) := ((Reasoning.Clinic.Leukocytosis.guard (_ys)), (1 : Nat)); ((_yscan1r).1, ((_yscan1l).2 + (_yscan1r).2))))); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan2l).2 + (_yscan2r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))))) && (let _yscan6l : (Prod Bool Nat) := (let _yscan2l : (Prod Bool Nat) := (let _yscan0l : (Prod Bool Nat) := ((Reasoning.Clinic.Fever.guard (_ys)), (1 : Nat)); (if (_yscan0l).1 then _yscan0l else (let _yscan0r : (Prod Bool Nat) := ((Reasoning.Clinic.Tachycardia.guard (_ys)), (1 : Nat)); ((_yscan0r).1, ((_yscan0l).2 + (_yscan0r).2))))); (if (_yscan2l).1 then _yscan2l else (let _yscan2r : (Prod Bool Nat) := (let _yscan1l : (Prod Bool Nat) := ((Reasoning.Clinic.Tachypnea.guard (_ys)), (1 : Nat)); (if (_yscan1l).1 then _yscan1l else (let _yscan1r : (Prod Bool Nat) := ((Reasoning.Clinic.Leukocytosis.guard (_ys)), (1 : Nat)); ((_yscan1r).1, ((_yscan1l).2 + (_yscan1r).2))))); ((_yscan2r).1, ((_yscan2l).2 + (_yscan2r).2))))); (Bool.true && (if (_yscan6l).1 then Bool.true else (((((((Bool.true && Bool.true) && (__fits_18 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan3l : (Prod Bool Nat) := ((Reasoning.Clinic.Sirs.guard (_ys)), (1 : Nat)); (Bool.true && (if (_yscan3l).1 then Bool.true else (((((Bool.true && Bool.true) && (__fits_19 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan3r : (Prod Bool Nat) := ((Reasoning.Clinic.Sepsis.guard (_ys)), (1 : Nat)); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan3l).2 + (_yscan3r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))))) && (let _yscan5l : (Prod Bool Nat) := (let _yscan3l : (Prod Bool Nat) := ((Reasoning.Clinic.Sirs.guard (_ys)), (1 : Nat)); (if (_yscan3l).1 then _yscan3l else (let _yscan3r : (Prod Bool Nat) := ((Reasoning.Clinic.Sepsis.guard (_ys)), (1 : Nat)); ((_yscan3r).1, ((_yscan3l).2 + (_yscan3r).2))))); (Bool.true && (if (_yscan5l).1 then Bool.true else ((((((Bool.true && Bool.true) && (__fits_20 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan4l : (Prod Bool Nat) := ((Reasoning.Clinic.Shock.guard (_ys)), (1 : Nat)); (Bool.true && (if (_yscan4l).1 then Bool.true else (((((Bool.true && Bool.true) && (__fits_21 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan4l).2 + (_yscan4r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))))) && (let _yscan5r : (Prod Bool Nat) := (let _yscan4l : (Prod Bool Nat) := ((Reasoning.Clinic.Shock.guard (_ys)), (1 : Nat)); (if (_yscan4l).1 then _yscan4l else (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); ((_yscan4r).1, ((_yscan4l).2 + (_yscan4r).2))))); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan5l).2 + (_yscan5r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))))) && (let _yscan6r : (Prod Bool Nat) := (let _yscan5l : (Prod Bool Nat) := (let _yscan3l : (Prod Bool Nat) := ((Reasoning.Clinic.Sirs.guard (_ys)), (1 : Nat)); (if (_yscan3l).1 then _yscan3l else (let _yscan3r : (Prod Bool Nat) := ((Reasoning.Clinic.Sepsis.guard (_ys)), (1 : Nat)); ((_yscan3r).1, ((_yscan3l).2 + (_yscan3r).2))))); (if (_yscan5l).1 then _yscan5l else (let _yscan5r : (Prod Bool Nat) := (let _yscan4l : (Prod Bool Nat) := ((Reasoning.Clinic.Shock.guard (_ys)), (1 : Nat)); (if (_yscan4l).1 then _yscan4l else (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); ((_yscan4r).1, ((_yscan4l).2 + (_yscan4r).2))))); ((_yscan5r).1, ((_yscan5l).2 + (_yscan5r).2))))); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan6l).2 + (_yscan6r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))))) - -attribute [local irreducible] Reasoning.Clinic.Escalate.guard Reasoning.Clinic.Fever.guard Reasoning.Clinic.Leukocytosis.guard Reasoning.Clinic.Sepsis.guard Reasoning.Clinic.Shock.guard Reasoning.Clinic.Sirs.guard Reasoning.Clinic.Tachycardia.guard Reasoning.Clinic.Tachypnea.guard in -theorem __rel_11 (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 11 [(__enc_3 _ys)] (_root_.LexLeanPreservation.Rel (__fits_11 _ys) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Clinic.Triage.attempts _ys))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_second (let _yscan6l : (Prod Bool Nat) := (let _yscan2l : (Prod Bool Nat) := (let _yscan0l : (Prod Bool Nat) := ((Reasoning.Clinic.Fever.guard (_ys)), (1 : Nat)); (if (_yscan0l).1 then _yscan0l else (let _yscan0r : (Prod Bool Nat) := ((Reasoning.Clinic.Tachycardia.guard (_ys)), (1 : Nat)); ((_yscan0r).1, ((_yscan0l).2 + (_yscan0r).2))))); (if (_yscan2l).1 then _yscan2l else (let _yscan2r : (Prod Bool Nat) := (let _yscan1l : (Prod Bool Nat) := ((Reasoning.Clinic.Tachypnea.guard (_ys)), (1 : Nat)); (if (_yscan1l).1 then _yscan1l else (let _yscan1r : (Prod Bool Nat) := ((Reasoning.Clinic.Leukocytosis.guard (_ys)), (1 : Nat)); ((_yscan1r).1, ((_yscan1l).2 + (_yscan1r).2))))); ((_yscan2r).1, ((_yscan2l).2 + (_yscan2r).2))))); _root_.LexLeanPreservation.conv_let (let _yscan2l : (Prod Bool Nat) := (let _yscan0l : (Prod Bool Nat) := ((Reasoning.Clinic.Fever.guard (_ys)), (1 : Nat)); (if (_yscan0l).1 then _yscan0l else (let _yscan0r : (Prod Bool Nat) := ((Reasoning.Clinic.Tachycardia.guard (_ys)), (1 : Nat)); ((_yscan0r).1, ((_yscan0l).2 + (_yscan0r).2))))); _root_.LexLeanPreservation.conv_let (let _yscan0l : (Prod Bool Nat) := ((Reasoning.Clinic.Fever.guard (_ys)), (1 : Nat)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_14 (_ys))) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else (((((Bool.true && Bool.true) && (__fits_15 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan0r : (Prod Bool Nat) := ((Reasoning.Clinic.Tachycardia.guard (_ys)), (1 : Nat)); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan0l).2 + (_yscan0r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then _yscan0l else (let _yscan0r : (Prod Bool Nat) := ((Reasoning.Clinic.Tachycardia.guard (_ys)), (1 : Nat)); ((_yscan0r).1, ((_yscan0l).2 + (_yscan0r).2))))) (_yscan0l).1 (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (let _yscan0r : (Prod Bool Nat) := ((Reasoning.Clinic.Tachycardia.guard (_ys)), (1 : Nat)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_15 (_ys))) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (_yscan0l).2 (_yscan0r).2)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else ((((((Bool.true && Bool.true) && (__fits_16 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan1l : (Prod Bool Nat) := ((Reasoning.Clinic.Tachypnea.guard (_ys)), (1 : Nat)); (Bool.true && (if (_yscan1l).1 then Bool.true else (((((Bool.true && Bool.true) && (__fits_17 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan1r : (Prod Bool Nat) := ((Reasoning.Clinic.Leukocytosis.guard (_ys)), (1 : Nat)); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan1l).2 + (_yscan1r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))))) && (let _yscan2r : (Prod Bool Nat) := (let _yscan1l : (Prod Bool Nat) := ((Reasoning.Clinic.Tachypnea.guard (_ys)), (1 : Nat)); (if (_yscan1l).1 then _yscan1l else (let _yscan1r : (Prod Bool Nat) := ((Reasoning.Clinic.Leukocytosis.guard (_ys)), (1 : Nat)); ((_yscan1r).1, ((_yscan1l).2 + (_yscan1r).2))))); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan2l).2 + (_yscan2r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then _yscan2l else (let _yscan2r : (Prod Bool Nat) := (let _yscan1l : (Prod Bool Nat) := ((Reasoning.Clinic.Tachypnea.guard (_ys)), (1 : Nat)); (if (_yscan1l).1 then _yscan1l else (let _yscan1r : (Prod Bool Nat) := ((Reasoning.Clinic.Leukocytosis.guard (_ys)), (1 : Nat)); ((_yscan1r).1, ((_yscan1l).2 + (_yscan1r).2))))); ((_yscan2r).1, ((_yscan2l).2 + (_yscan2r).2))))) (_yscan2l).1 (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (let _yscan2r : (Prod Bool Nat) := (let _yscan1l : (Prod Bool Nat) := ((Reasoning.Clinic.Tachypnea.guard (_ys)), (1 : Nat)); (if (_yscan1l).1 then _yscan1l else (let _yscan1r : (Prod Bool Nat) := ((Reasoning.Clinic.Leukocytosis.guard (_ys)), (1 : Nat)); ((_yscan1r).1, ((_yscan1l).2 + (_yscan1r).2))))); _root_.LexLeanPreservation.conv_let (let _yscan1l : (Prod Bool Nat) := ((Reasoning.Clinic.Tachypnea.guard (_ys)), (1 : Nat)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_16 (_ys))) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else (((((Bool.true && Bool.true) && (__fits_17 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan1r : (Prod Bool Nat) := ((Reasoning.Clinic.Leukocytosis.guard (_ys)), (1 : Nat)); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan1l).2 + (_yscan1r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then _yscan1l else (let _yscan1r : (Prod Bool Nat) := ((Reasoning.Clinic.Leukocytosis.guard (_ys)), (1 : Nat)); ((_yscan1r).1, ((_yscan1l).2 + (_yscan1r).2))))) (_yscan1l).1 (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (let _yscan1r : (Prod Bool Nat) := ((Reasoning.Clinic.Leukocytosis.guard (_ys)), (1 : Nat)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_17 (_ys))) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (_yscan1l).2 (_yscan1r).2)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (_yscan2l).2 (_yscan2r).2)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else (((((((Bool.true && Bool.true) && (__fits_18 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan3l : (Prod Bool Nat) := ((Reasoning.Clinic.Sirs.guard (_ys)), (1 : Nat)); (Bool.true && (if (_yscan3l).1 then Bool.true else (((((Bool.true && Bool.true) && (__fits_19 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan3r : (Prod Bool Nat) := ((Reasoning.Clinic.Sepsis.guard (_ys)), (1 : Nat)); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan3l).2 + (_yscan3r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))))) && (let _yscan5l : (Prod Bool Nat) := (let _yscan3l : (Prod Bool Nat) := ((Reasoning.Clinic.Sirs.guard (_ys)), (1 : Nat)); (if (_yscan3l).1 then _yscan3l else (let _yscan3r : (Prod Bool Nat) := ((Reasoning.Clinic.Sepsis.guard (_ys)), (1 : Nat)); ((_yscan3r).1, ((_yscan3l).2 + (_yscan3r).2))))); (Bool.true && (if (_yscan5l).1 then Bool.true else ((((((Bool.true && Bool.true) && (__fits_20 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan4l : (Prod Bool Nat) := ((Reasoning.Clinic.Shock.guard (_ys)), (1 : Nat)); (Bool.true && (if (_yscan4l).1 then Bool.true else (((((Bool.true && Bool.true) && (__fits_21 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan4l).2 + (_yscan4r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))))) && (let _yscan5r : (Prod Bool Nat) := (let _yscan4l : (Prod Bool Nat) := ((Reasoning.Clinic.Shock.guard (_ys)), (1 : Nat)); (if (_yscan4l).1 then _yscan4l else (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); ((_yscan4r).1, ((_yscan4l).2 + (_yscan4r).2))))); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan5l).2 + (_yscan5r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))))) && (let _yscan6r : (Prod Bool Nat) := (let _yscan5l : (Prod Bool Nat) := (let _yscan3l : (Prod Bool Nat) := ((Reasoning.Clinic.Sirs.guard (_ys)), (1 : Nat)); (if (_yscan3l).1 then _yscan3l else (let _yscan3r : (Prod Bool Nat) := ((Reasoning.Clinic.Sepsis.guard (_ys)), (1 : Nat)); ((_yscan3r).1, ((_yscan3l).2 + (_yscan3r).2))))); (if (_yscan5l).1 then _yscan5l else (let _yscan5r : (Prod Bool Nat) := (let _yscan4l : (Prod Bool Nat) := ((Reasoning.Clinic.Shock.guard (_ys)), (1 : Nat)); (if (_yscan4l).1 then _yscan4l else (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); ((_yscan4r).1, ((_yscan4l).2 + (_yscan4r).2))))); ((_yscan5r).1, ((_yscan5l).2 + (_yscan5r).2))))); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan6l).2 + (_yscan6r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then _yscan6l else (let _yscan6r : (Prod Bool Nat) := (let _yscan5l : (Prod Bool Nat) := (let _yscan3l : (Prod Bool Nat) := ((Reasoning.Clinic.Sirs.guard (_ys)), (1 : Nat)); (if (_yscan3l).1 then _yscan3l else (let _yscan3r : (Prod Bool Nat) := ((Reasoning.Clinic.Sepsis.guard (_ys)), (1 : Nat)); ((_yscan3r).1, ((_yscan3l).2 + (_yscan3r).2))))); (if (_yscan5l).1 then _yscan5l else (let _yscan5r : (Prod Bool Nat) := (let _yscan4l : (Prod Bool Nat) := ((Reasoning.Clinic.Shock.guard (_ys)), (1 : Nat)); (if (_yscan4l).1 then _yscan4l else (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); ((_yscan4r).1, ((_yscan4l).2 + (_yscan4r).2))))); ((_yscan5r).1, ((_yscan5l).2 + (_yscan5r).2))))); ((_yscan6r).1, ((_yscan6l).2 + (_yscan6r).2))))) (_yscan6l).1 (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (let _yscan6r : (Prod Bool Nat) := (let _yscan5l : (Prod Bool Nat) := (let _yscan3l : (Prod Bool Nat) := ((Reasoning.Clinic.Sirs.guard (_ys)), (1 : Nat)); (if (_yscan3l).1 then _yscan3l else (let _yscan3r : (Prod Bool Nat) := ((Reasoning.Clinic.Sepsis.guard (_ys)), (1 : Nat)); ((_yscan3r).1, ((_yscan3l).2 + (_yscan3r).2))))); (if (_yscan5l).1 then _yscan5l else (let _yscan5r : (Prod Bool Nat) := (let _yscan4l : (Prod Bool Nat) := ((Reasoning.Clinic.Shock.guard (_ys)), (1 : Nat)); (if (_yscan4l).1 then _yscan4l else (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); ((_yscan4r).1, ((_yscan4l).2 + (_yscan4r).2))))); ((_yscan5r).1, ((_yscan5l).2 + (_yscan5r).2))))); _root_.LexLeanPreservation.conv_let (let _yscan5l : (Prod Bool Nat) := (let _yscan3l : (Prod Bool Nat) := ((Reasoning.Clinic.Sirs.guard (_ys)), (1 : Nat)); (if (_yscan3l).1 then _yscan3l else (let _yscan3r : (Prod Bool Nat) := ((Reasoning.Clinic.Sepsis.guard (_ys)), (1 : Nat)); ((_yscan3r).1, ((_yscan3l).2 + (_yscan3r).2))))); _root_.LexLeanPreservation.conv_let (let _yscan3l : (Prod Bool Nat) := ((Reasoning.Clinic.Sirs.guard (_ys)), (1 : Nat)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_18 (_ys))) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else (((((Bool.true && Bool.true) && (__fits_19 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan3r : (Prod Bool Nat) := ((Reasoning.Clinic.Sepsis.guard (_ys)), (1 : Nat)); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan3l).2 + (_yscan3r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then _yscan3l else (let _yscan3r : (Prod Bool Nat) := ((Reasoning.Clinic.Sepsis.guard (_ys)), (1 : Nat)); ((_yscan3r).1, ((_yscan3l).2 + (_yscan3r).2))))) (_yscan3l).1 (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (let _yscan3r : (Prod Bool Nat) := ((Reasoning.Clinic.Sepsis.guard (_ys)), (1 : Nat)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_19 (_ys))) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (_yscan3l).2 (_yscan3r).2)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else ((((((Bool.true && Bool.true) && (__fits_20 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan4l : (Prod Bool Nat) := ((Reasoning.Clinic.Shock.guard (_ys)), (1 : Nat)); (Bool.true && (if (_yscan4l).1 then Bool.true else (((((Bool.true && Bool.true) && (__fits_21 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan4l).2 + (_yscan4r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))))) && (let _yscan5r : (Prod Bool Nat) := (let _yscan4l : (Prod Bool Nat) := ((Reasoning.Clinic.Shock.guard (_ys)), (1 : Nat)); (if (_yscan4l).1 then _yscan4l else (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); ((_yscan4r).1, ((_yscan4l).2 + (_yscan4r).2))))); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan5l).2 + (_yscan5r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then _yscan5l else (let _yscan5r : (Prod Bool Nat) := (let _yscan4l : (Prod Bool Nat) := ((Reasoning.Clinic.Shock.guard (_ys)), (1 : Nat)); (if (_yscan4l).1 then _yscan4l else (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); ((_yscan4r).1, ((_yscan4l).2 + (_yscan4r).2))))); ((_yscan5r).1, ((_yscan5l).2 + (_yscan5r).2))))) (_yscan5l).1 (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (let _yscan5r : (Prod Bool Nat) := (let _yscan4l : (Prod Bool Nat) := ((Reasoning.Clinic.Shock.guard (_ys)), (1 : Nat)); (if (_yscan4l).1 then _yscan4l else (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); ((_yscan4r).1, ((_yscan4l).2 + (_yscan4r).2))))); _root_.LexLeanPreservation.conv_let (let _yscan4l : (Prod Bool Nat) := ((Reasoning.Clinic.Shock.guard (_ys)), (1 : Nat)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_20 (_ys))) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else (((((Bool.true && Bool.true) && (__fits_21 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan4l).2 + (_yscan4r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then _yscan4l else (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); ((_yscan4r).1, ((_yscan4l).2 + (_yscan4r).2))))) (_yscan4l).1 (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_21 (_ys))) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (_yscan4l).2 (_yscan4r).2)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (_yscan5l).2 (_yscan5r).2)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (_yscan6l).2 (_yscan6r).2)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair)))))) - -def __fits_5 (_yr : (Reasoning.Clinic.Triage.Run)) : Bool := - (((Bool.true && Bool.true) && (__fits_9 ((_yr).state))) && (match (Reasoning.Clinic.Triage.select ((_yr).state)) with | Option.none => (Bool.true && Bool.true) | Option.some _ystep => (((Bool.true && (Bool.true && Bool.true)) && (__fits_10 ((_yr).state) (_ystep))) && (match (Reasoning.Clinic.Triage.fire ((_yr).state) (_ystep)) with | Option.none => (Bool.true && Bool.true) | Option.some _yt => ((((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (__fits_11 ((_yr).state))) && Bool.true)) && (Nat.blt (((_yr).ledger).attempts + (Reasoning.Clinic.Triage.attempts ((_yr).state))) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).firings + (1 : Nat)) 18446744073709551616)) && (Bool.true && (Bool.true && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true))) && Bool.true) && Bool.true) && Bool.true))))) - -attribute [local irreducible] Reasoning.Clinic.Triage.attempts Reasoning.Clinic.Triage.fire Reasoning.Clinic.Triage.select in -theorem __rel_5 (_yr : (Reasoning.Clinic.Triage.Run)) : _root_.LexLeanPreservation.FunRel __prog 5 [(__enc_2 _yr)] (_root_.LexLeanPreservation.Rel (__fits_5 _yr) ((_root_.LexLeanPreservation.encOption __enc_2) (Reasoning.Clinic.Triage.step _yr))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_1) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.none => (Bool.true && Bool.true) | Option.some _ystep => (((Bool.true && (Bool.true && Bool.true)) && (__fits_10 ((_yr).state) (_ystep))) && (match (Reasoning.Clinic.Triage.fire ((_yr).state) (_ystep)) with | Option.none => (Bool.true && Bool.true) | Option.some _yt => ((((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (__fits_11 ((_yr).state))) && Bool.true)) && (Nat.blt (((_yr).ledger).attempts + (Reasoning.Clinic.Triage.attempts ((_yr).state))) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).firings + (1 : Nat)) 18446744073709551616)) && (Bool.true && (Bool.true && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true))) && Bool.true) && Bool.true) && Bool.true))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.none => (Option.none : (Option (Reasoning.Clinic.Triage.Run))) | Option.some _ystep => (match (Reasoning.Clinic.Triage.fire ((_yr).state) (_ystep)) with | Option.none => (Option.none : (Option (Reasoning.Clinic.Triage.Run))) | Option.some _yt => (Option.some (({ state := _yt, trace := (Reasoning.Clinic.LexLeanRuntime.append ((_yr).trace) ((_ystep :: ([] : List (Reasoning.Clinic.Triage.Step)))) : (List (Reasoning.Clinic.Triage.Step))), ledger := ({ iterations := (((_yr).ledger).iterations + (1 : Nat)), attempts := (((_yr).ledger).attempts + (Reasoning.Clinic.Triage.attempts ((_yr).state))), firings := (((_yr).ledger).firings + (1 : Nat)), expansions := ((_yr).ledger).expansions, verifications := ((_yr).ledger).verifications, frontier := ((_yr).ledger).frontier } : (Reasoning.Clinic.Triage.Ledger)) } : (Reasoning.Clinic.Triage.Run))) : (Option (Reasoning.Clinic.Triage.Run)))))) (Reasoning.Clinic.Triage.select ((_yr).state)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_9 ((_yr).state))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | Option.some _ystep => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_3) (fun (__a : (Option (Reasoning.Clinic.Chart))) => (match __a with | Option.none => (Bool.true && Bool.true) | Option.some _yt => ((((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (__fits_11 ((_yr).state))) && Bool.true)) && (Nat.blt (((_yr).ledger).attempts + (Reasoning.Clinic.Triage.attempts ((_yr).state))) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).firings + (1 : Nat)) 18446744073709551616)) && (Bool.true && (Bool.true && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true))) && Bool.true) && Bool.true) && Bool.true))) (fun (__a : (Option (Reasoning.Clinic.Chart))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.none => (Option.none : (Option (Reasoning.Clinic.Triage.Run))) | Option.some _yt => (Option.some (({ state := _yt, trace := (Reasoning.Clinic.LexLeanRuntime.append ((_yr).trace) ((_ystep :: ([] : List (Reasoning.Clinic.Triage.Step)))) : (List (Reasoning.Clinic.Triage.Step))), ledger := ({ iterations := (((_yr).ledger).iterations + (1 : Nat)), attempts := (((_yr).ledger).attempts + (Reasoning.Clinic.Triage.attempts ((_yr).state))), firings := (((_yr).ledger).firings + (1 : Nat)), expansions := ((_yr).ledger).expansions, verifications := ((_yr).ledger).verifications, frontier := ((_yr).ledger).frontier } : (Reasoning.Clinic.Triage.Ledger)) } : (Reasoning.Clinic.Triage.Run))) : (Option (Reasoning.Clinic.Triage.Run))))) (Reasoning.Clinic.Triage.fire ((_yr).state) (_ystep)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_10 ((_yr).state) (_ystep))) (fun (__a : (Option (Reasoning.Clinic.Chart))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | Option.some _yt => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_1) (_yr).trace (_ystep :: ([] : List (Reasoning.Clinic.Triage.Step))))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).iterations (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_11 ((_yr).state))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).attempts (Reasoning.Clinic.Triage.attempts ((_yr).state)))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).firings (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) _root_.LexLeanPreservation.convL_nil)))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some))))))))) - -def __fits_12 (patient : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_12 (patient : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 12 [(__enc_0 patient)] (_root_.LexLeanPreservation.Rel (__fits_12 patient) (__enc_3 (Reasoning.Clinic.Triage.observe patient))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_6 (patient : (Reasoning.Clinic.Vitals)) : Bool := - ((((Bool.true && Bool.true) && (__fits_12 (patient))) && ((Bool.true && Bool.true) && (((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true))) && Bool.true) - -attribute [local irreducible] Reasoning.Clinic.Triage.observe in -theorem __rel_6 (patient : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 6 [(__enc_0 patient)] (_root_.LexLeanPreservation.Rel (__fits_6 patient) (__enc_2 (Reasoning.Clinic.Triage.start patient))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_12 (patient))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil))) _root_.LexLeanPreservation.construct_adt) - -def __fits_2 (patient : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && (Bool.true && (((Bool.true && Bool.true) && (__fits_6 (patient))) && Bool.true))) && (_root_.LexLeanPreservation.untilFits (fun (__p0 : (Reasoning.Clinic.Triage.Run)) => __fits_5 __p0) ((Reasoning.Clinic.Triage.step)) ((11 : Nat)) ((Reasoning.Clinic.Triage.start (patient))))) - -attribute [local irreducible] Reasoning.Clinic.Triage.start in -theorem __rel_2 (patient : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 2 [(__enc_0 patient)] (_root_.LexLeanPreservation.Rel (__fits_2 patient) ((_root_.LexLeanPreservation.encPair __enc_2 _root_.LexLeanTarget.TargetSyntax.Value.bool) (Reasoning.Clinic.Triage.run patient))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_6 (patient))) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_iterateUntil (es := __enc_2) (_root_.LexLeanPreservation.optEnc __enc_2) (fun _ => rfl) (_root_.LexLeanPreservation.encPair __enc_2 _root_.LexLeanTarget.TargetSyntax.Value.bool) (fun _ => rfl) ((Reasoning.Clinic.Triage.step)) (fun (__p0 : (Reasoning.Clinic.Triage.Run)) => __fits_5 __p0) 5 [] (fun (__p0 : (Reasoning.Clinic.Triage.Run)) => __rel_5 __p0) (Reasoning.Clinic.LexLeanCollections.iterateUntil ((Reasoning.Clinic.Triage.step))) (fun _ => rfl) (fun _ _ __h => by simp only [Reasoning.Clinic.LexLeanCollections.iterateUntil, __h]) (fun _ _ _ __h => by simp only [Reasoning.Clinic.LexLeanCollections.iterateUntil, __h]) (p := __prog) (fi := 4) (ts := (.adt 2)) rfl ((11 : Nat)) ((Reasoning.Clinic.Triage.start (patient))))) - -def __fits_8 (chart : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && Bool.true) && Bool.true) - -theorem __rel_8 (chart : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 8 [(__enc_3 chart)] (_root_.LexLeanPreservation.Rel (__fits_8 chart) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Clinic.Triage.extract chart))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) - -def __fits_13 (v : (Reasoning.Clinic.Vitals)) (r : Nat) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.ble r (3 : Nat)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq r (3 : Nat)) then (Bool.true && Bool.true) else (((((Bool.true && Bool.true) && (__fits_30 (v))) && (if (Reasoning.Clinic.hypotensive (v)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (v).infection (1 : Nat)) then (((Bool.true && Bool.true) && (__fits_31 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_32 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) && Bool.true) && Bool.true))) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.feverish Reasoning.Clinic.hypotensive Reasoning.Clinic.tachycardic in -theorem __rel_13 (v : (Reasoning.Clinic.Vitals)) (r : Nat) : _root_.LexLeanPreservation.FunRel __prog 13 [(__enc_0 v), (_root_.LexLeanTarget.TargetSyntax.Value.nat r)] (_root_.LexLeanPreservation.Rel (__fits_13 v r) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.recommendationCheck v r))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq r (3 : Nat)) then (Bool.true && Bool.true) else (((((Bool.true && Bool.true) && (__fits_30 (v))) && (if (Reasoning.Clinic.hypotensive (v)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (v).infection (1 : Nat)) then (((Bool.true && Bool.true) && (__fits_31 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_32 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) && Bool.true) && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.beq r (3 : Nat)) || (!((Reasoning.Clinic.hypotensive (v)) && ((Nat.beq (v).infection (1 : Nat)) && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v))))))))) (Nat.ble r (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe r (3 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (Bool.true && Bool.true) else (((((Bool.true && Bool.true) && (__fits_30 (v))) && (if (Reasoning.Clinic.hypotensive (v)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (v).infection (1 : Nat)) then (((Bool.true && Bool.true) && (__fits_31 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_32 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) && Bool.true) && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b || (!((Reasoning.Clinic.hypotensive (v)) && ((Nat.beq (v).infection (1 : Nat)) && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v)))))))) (Nat.beq r (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq r (3 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (v).infection (1 : Nat)) then (((Bool.true && Bool.true) && (__fits_31 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_32 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.beq (v).infection (1 : Nat)) && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v)))))) (Reasoning.Clinic.hypotensive (v)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_30 (v))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && Bool.true) && (__fits_31 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_32 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v))))) (Nat.beq (v).infection (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (v).infection (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_32 (v))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.tachycardic (v)))) (Reasoning.Clinic.feverish (v)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_31 (v))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_32 (v)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_boolNot ((Reasoning.Clinic.hypotensive (v)) && ((Nat.beq (v).infection (1 : Nat)) && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v)))))))))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_7 (patient : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_8 (_ys))) && (match (Reasoning.Clinic.Triage.extract (_ys)) with | Option.none => (Bool.true && Bool.true) | Option.some _yv => (((Bool.true && (Bool.true && Bool.true)) && (__fits_13 (patient) (_yv))) && (if (Reasoning.Clinic.recommendationCheck (patient) (_yv)) then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) - -attribute [local irreducible] Reasoning.Clinic.Triage.extract Reasoning.Clinic.recommendationCheck in -theorem __rel_7 (patient : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 7 [(__enc_0 patient), (__enc_3 _ys)] (_root_.LexLeanPreservation.Rel (__fits_7 patient _ys) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Clinic.Triage.accept patient _ys))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.none => (Bool.true && Bool.true) | Option.some _yv => (((Bool.true && (Bool.true && Bool.true)) && (__fits_13 (patient) (_yv))) && (if (Reasoning.Clinic.recommendationCheck (patient) (_yv)) then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.none => (Option.none : (Option Nat)) | Option.some _yv => (if (Reasoning.Clinic.recommendationCheck (patient) (_yv)) then (Option.some (_yv) : (Option Nat)) else (Option.none : (Option Nat))))) (Reasoning.Clinic.Triage.extract (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_8 (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | Option.some _yv => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then (Option.some (_yv) : (Option Nat)) else (Option.none : (Option Nat)))) (Reasoning.Clinic.recommendationCheck (patient) (_yv)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_13 (patient) (_yv))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) - -def __fits_3 (patient : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && (__fits_7 (patient) (_ys))) && (match (Reasoning.Clinic.Triage.accept (patient) (_ys)) with | Option.some _yv => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_8 (_ys))) && (match (Reasoning.Clinic.Triage.extract (_ys)) with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) - -attribute [local irreducible] Reasoning.Clinic.Triage.accept Reasoning.Clinic.Triage.extract in -theorem __rel_3 (patient : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 3 [(__enc_0 patient), (__enc_3 _ys)] (_root_.LexLeanPreservation.Rel (__fits_3 patient _ys) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Clinic.Triage.conclude patient _ys))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.some _yv => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_8 (_ys))) && (match (Reasoning.Clinic.Triage.extract (_ys)) with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.some _yv => (Except.ok (_yv) : (Except (Prod Bool Bool) Nat)) | Option.none => (match (Reasoning.Clinic.Triage.extract (_ys)) with | Option.some _yv => (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)) | Option.none => (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat))))) (Reasoning.Clinic.Triage.accept (patient) (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_7 (patient) (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.some _yv => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.some _yv => (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)) | Option.none => (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)))) (Reasoning.Clinic.Triage.extract (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_8 (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.some _yv => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))))))) - -def __fits_1 (patient : (Reasoning.Clinic.Vitals)) : Bool := - (((Bool.true && Bool.true) && (__fits_2 (patient))) && (let _yfinal : (Prod (Reasoning.Clinic.Triage.Run) Bool) := (Reasoning.Clinic.Triage.run (patient)); (Bool.true && (match (_yfinal).2 with | Bool.true => (((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (patient) (((_yfinal).1).state))) && (match (Reasoning.Clinic.Triage.conclude (patient) (((_yfinal).1).state)) with | Except.ok _yv => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Except.error _ye => ((Bool.true && Bool.true) && Bool.true))) | Bool.false => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) - -attribute [local irreducible] Reasoning.Clinic.Triage.conclude Reasoning.Clinic.Triage.run in -theorem __rel_1 (patient : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 1 [(__enc_0 patient)] (_root_.LexLeanPreservation.Rel (__fits_1 patient) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList __enc_1))) (Reasoning.Clinic.Triage patient))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (let _yfinal : (Prod (Reasoning.Clinic.Triage.Run) Bool) := (Reasoning.Clinic.Triage.run (patient)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_2 (patient))) (_root_.LexLeanPreservation.conv_matchV _root_.LexLeanTarget.TargetSyntax.Value.bool (fun (__a : Bool) => (match __a with | Bool.true => (((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (patient) (((_yfinal).1).state))) && (match (Reasoning.Clinic.Triage.conclude (patient) (((_yfinal).1).state)) with | Except.ok _yv => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Except.error _ye => ((Bool.true && Bool.true) && Bool.true))) | Bool.false => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__a : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList __enc_1))) (match __a with | Bool.true => (match (Reasoning.Clinic.Triage.conclude (patient) (((_yfinal).1).state)) with | Except.ok _yv => (Except.ok ((_yv, ((_yfinal).1).trace)) : (Except (Prod Bool Bool) (Prod Nat (List (Reasoning.Clinic.Triage.Step))))) | Except.error _ye => (Except.error (_ye) : (Except (Prod Bool Bool) (Prod Nat (List (Reasoning.Clinic.Triage.Step)))))) | Bool.false => (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat (List (Reasoning.Clinic.Triage.Step))))))) (_yfinal).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : Bool) _ => match __a with | Bool.true => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Except (Prod Bool Bool) Nat)) => (match __a with | Except.ok _yv => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Except.error _ye => ((Bool.true && Bool.true) && Bool.true))) (fun (__a : (Except (Prod Bool Bool) Nat)) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList __enc_1))) (match __a with | Except.ok _yv => (Except.ok ((_yv, ((_yfinal).1).trace)) : (Except (Prod Bool Bool) (Prod Nat (List (Reasoning.Clinic.Triage.Step))))) | Except.error _ye => (Except.error (_ye) : (Except (Prod Bool Bool) (Prod Nat (List (Reasoning.Clinic.Triage.Step))))))) (Reasoning.Clinic.Triage.conclude (patient) (((_yfinal).1).state)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_3 (patient) (((_yfinal).1).state))) (fun (__a : (Except (Prod Bool Bool) Nat)) _ => match __a with | Except.ok _yv => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) | Except.error _ye => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))))) | Bool.false => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))))) - -def __fits_0 (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : Bool := - (((((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true) && (__fits_1 (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals))))) && (match (Reasoning.Clinic.Triage (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals)))) with | Except.ok explained => ((Bool.true && Bool.true) && (Nat.blt (Reasoning.Main.LexLeanRuntime.length ((explained).2) : Nat) 18446744073709551616)) | Except.error failure => Bool.true)) - -attribute [local irreducible] Reasoning.Clinic.Triage in -theorem __rel_0 (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)] (_root_.LexLeanPreservation.Rel (__fits_0 temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.triageSteps temperature heartRate respiratoryRate whiteCells systolic infection))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList __enc_1))) (fun (__a : (Except (Prod Bool Bool) (Prod Nat (List (Reasoning.Clinic.Triage.Step))))) => (match __a with | Except.ok explained => ((Bool.true && Bool.true) && (Nat.blt (Reasoning.Main.LexLeanRuntime.length ((explained).2) : Nat) 18446744073709551616)) | Except.error failure => Bool.true)) (fun (__a : (Except (Prod Bool Bool) (Prod Nat (List (Reasoning.Clinic.Triage.Step))))) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match __a with | Except.ok explained => (Reasoning.Main.LexLeanRuntime.length ((explained).2) : Nat) | Except.error failure => (0 : Nat))) (Reasoning.Clinic.Triage (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals)))) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) (__rel_1 (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals))))) (fun (__a : (Except (Prod Bool Bool) (Prod Nat (List (Reasoning.Clinic.Triage.Step))))) _ => match __a with | Except.ok explained => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_1) (explained).2))) | Except.error failure => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value)))) - -def denote (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.triageSteps temperature heartRate respiratoryRate whiteCells systolic infection)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)] (_root_.LexLeanPreservation.Rel (__fits_0 temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.triageSteps temperature heartRate respiratoryRate whiteCells systolic infection))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 temperature heartRate respiratoryRate whiteCells systolic infection) - -end LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2 diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R2/Compose/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R2/Compose/RustStd.lean deleted file mode 100644 index 0750cf34d..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R2/Compose/RustStd.lean +++ /dev/null @@ -1,38 +0,0 @@ -import LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2 -import LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.Compose.RustStd - -theorem __wt_0 : ∀ (__s : (Reasoning.Clinic.Vitals)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd.program _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd.krate _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd.flags (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.__enc_0 __s) (.adt 0) := - fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).temperature) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).heartRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).respiratoryRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).whiteCells) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).systolic) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).infection) _root_.LexLeanPreservation.Rust.wtl_nil)))))) - -theorem __wt_1 : ∀ (__v : (Reasoning.Clinic.Triage.Step)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd.program _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd.krate _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd.flags (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.__enc_1 __v) (.adt 1) - | Reasoning.Clinic.Triage.Step.Fever => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Clinic.Triage.Step.Tachycardia => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Clinic.Triage.Step.Tachypnea => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Clinic.Triage.Step.Leukocytosis => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Clinic.Triage.Step.Sirs => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Clinic.Triage.Step.Sepsis => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Clinic.Triage.Step.Shock => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Clinic.Triage.Step.Escalate => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - -theorem __wt_3 : ∀ (__s : (Reasoning.Clinic.Chart)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd.program _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd.krate _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd.flags (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.__enc_3 __s) (.adt 3) := - fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 (__s).vitals) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).fever) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).tachycardia) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).tachypnea) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).leukocytosis) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).sirs) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).sepsis) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).shock) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).level) _root_.LexLeanPreservation.Rust.wtl_nil))))))))) - -theorem __wt_4 : ∀ (__s : (Reasoning.Clinic.Triage.Ledger)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd.program _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd.krate _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd.flags (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.__enc_4 __s) (.adt 4) := - fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).iterations) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).attempts) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).firings) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).expansions) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).verifications) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).frontier) _root_.LexLeanPreservation.Rust.wtl_nil)))))) - -theorem __wt_2 : ∀ (__s : (Reasoning.Clinic.Triage.Run)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd.program _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd.krate _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd.flags (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.__enc_2 __s) (.adt 2) := - fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_3 (__s).state) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList __wt_1) (__s).trace) (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_4 (__s).ledger) _root_.LexLeanPreservation.Rust.wtl_nil))) - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.denote temperature heartRate respiratoryRate whiteCells systolic infection) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat temperature) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat heartRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat respiratoryRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat whiteCells) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat systolic) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat infection) _root_.LexLeanPreservation.Rust.wtl_nil)))))) rfl rfl (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.root temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.Compose.RustStd diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R2/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R2/RustStd.lean deleted file mode 100644 index 318d9bc41..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R2/RustStd.lean +++ /dev/null @@ -1,380 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [{ constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }, - { constructors := [[], [], [], [], [], [], [], []] }, - { constructors := [[(.adt 3), (.list (.adt 1)), (.adt 4)]] }, - { constructors := [[(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]] }, - { constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }], functions := (( - { parameters := [0, 1, 2, 3, 4, 5], types := [.nat, .nat, .nat, .nat, .nat, .nat], result := .nat, - body := (.«match» .nat (.call 1 [(.build (.adt 0) (.adt 0) [(.var 0), (.var 1), (.var 2), (.var 3), (.var 4), (.var 5)])]) [(.arm .ok [6] (.prim .length [(.second (.var 6))])), (.arm .error [7] (.value .nat (.nat 0)))]) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.result (.pair .nat (.list (.adt 1))) (.pair .bool .bool)), - body := (.«let» 1 (.pair (.adt 2) .bool) (.call 2 [(.var 0)]) (.«match» (.result (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) (.second (.var 1)) [(.arm .true [] (.«match» (.result (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) (.call 3 [(.var 0), (.field (.first (.var 1)) 0)]) [(.arm .ok [2] (.build .ok (.result (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.build .pair (.pair .nat (.list (.adt 1))) [(.var 2), (.field (.first (.var 1)) 1)])])), (.arm .error [3] (.build .error (.result (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.var 3)]))])), (.arm .false [] (.build .error (.result (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))])) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.pair (.adt 2) .bool), - body := (.call 4 [(.closure 5 []), (.value .nat (.nat 11)), (.call 6 [(.var 0)])]) }) ::( - { parameters := [0, 1], types := [(.adt 0), (.adt 3)], result := (.result .nat (.pair .bool .bool)), - body := (.«match» (.result .nat (.pair .bool .bool)) (.call 7 [(.var 0), (.var 1)]) [(.arm .some [2] (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)])), (.arm .none [] (.«match» (.result .nat (.pair .bool .bool)) (.call 8 [(.var 1)]) [(.arm .some [3] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])), (.arm .none [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])]))]))]) }) ::( - { parameters := [0, 1, 2], types := [(.fn [(.adt 2)] (.option (.adt 2))), .nat, (.adt 2)], result := (.pair (.adt 2) .bool), - body := (.«match» (.pair (.adt 2) .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair (.adt 2) .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair (.adt 2) .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair (.adt 2) .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 4 [(.var 0), (.var 3), (.var 4)]))]))]) }) ::( - { parameters := [0], types := [(.adt 2)], result := (.option (.adt 2)), - body := (.«match» (.option (.adt 2)) (.call 9 [(.field (.var 0) 0)]) [(.arm .none [] (.build .none (.option (.adt 2)) [])), (.arm .some [1] (.«match» (.option (.adt 2)) (.call 10 [(.field (.var 0) 0), (.var 1)]) [(.arm .none [] (.build .none (.option (.adt 2)) [])), (.arm .some [2] (.build .some (.option (.adt 2)) [(.build (.adt 0) (.adt 2) [(.var 2), (.prim .append [(.field (.var 0) 1), (.build .cons (.list (.adt 1)) [(.var 1), (.build .nil (.list (.adt 1)) [])])]), (.build (.adt 0) (.adt 4) [(.prim .natAdd [(.field (.field (.var 0) 2) 0), (.value .nat (.nat 1))]), (.prim .natAdd [(.field (.field (.var 0) 2) 1), (.call 11 [(.field (.var 0) 0)])]), (.prim .natAdd [(.field (.field (.var 0) 2) 2), (.value .nat (.nat 1))]), (.field (.field (.var 0) 2) 3), (.field (.field (.var 0) 2) 4), (.field (.field (.var 0) 2) 5)])])]))]))]) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.adt 2), - body := (.build (.adt 0) (.adt 2) [(.call 12 [(.var 0)]), (.build .nil (.list (.adt 1)) []), (.build (.adt 0) (.adt 4) [(.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0))])]) }) ::( - { parameters := [0, 1], types := [(.adt 0), (.adt 3)], result := (.option .nat), - body := (.«match» (.option .nat) (.call 8 [(.var 1)]) [(.arm .none [] (.build .none (.option .nat) [])), (.arm .some [2] (.cond (.call 13 [(.var 0), (.var 2)]) (.build .some (.option .nat) [(.var 2)]) (.build .none (.option .nat) [])))]) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.option .nat), - body := (.build .some (.option .nat) [(.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.option (.adt 1)), - body := (.«match» (.option (.adt 1)) (.«match» (.option (.adt 1)) (.«match» (.option (.adt 1)) (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 0) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])) [(.arm .some [1] (.build .some (.option (.adt 1)) [(.var 1)])), (.arm .none [] (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 1) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])))]) [(.arm .some [2] (.build .some (.option (.adt 1)) [(.var 2)])), (.arm .none [] (.«match» (.option (.adt 1)) (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 2) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])) [(.arm .some [3] (.build .some (.option (.adt 1)) [(.var 3)])), (.arm .none [] (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 3) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])))]))]) [(.arm .some [4] (.build .some (.option (.adt 1)) [(.var 4)])), (.arm .none [] (.«match» (.option (.adt 1)) (.«match» (.option (.adt 1)) (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 4) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])) [(.arm .some [5] (.build .some (.option (.adt 1)) [(.var 5)])), (.arm .none [] (.cond (.call 19 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 5) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])))]) [(.arm .some [6] (.build .some (.option (.adt 1)) [(.var 6)])), (.arm .none [] (.«match» (.option (.adt 1)) (.cond (.call 20 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 6) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])) [(.arm .some [7] (.build .some (.option (.adt 1)) [(.var 7)])), (.arm .none [] (.cond (.call 21 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 7) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])))]))]))]) }) ::( - { parameters := [0, 1], types := [(.adt 3), (.adt 1)], result := (.option (.adt 3)), - body := (.«match» (.option (.adt 3)) (.var 1) [(.arm (.adt 0) [] (.call 22 [(.var 0)])), (.arm (.adt 1) [] (.call 23 [(.var 0)])), (.arm (.adt 2) [] (.call 24 [(.var 0)])), (.arm (.adt 3) [] (.call 25 [(.var 0)])), (.arm (.adt 4) [] (.call 26 [(.var 0)])), (.arm (.adt 5) [] (.call 27 [(.var 0)])), (.arm (.adt 6) [] (.call 28 [(.var 0)])), (.arm (.adt 7) [] (.call 29 [(.var 0)]))]) }) ::( - { parameters := [0], types := [(.adt 3)], result := .nat, - body := (.second (.«let» 7 (.pair .bool .nat) (.«let» 3 (.pair .bool .nat) (.«let» 1 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 14 [(.var 0)]), (.value .nat (.nat 1))]) (.cond (.first (.var 1)) (.var 1) (.«let» 2 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 15 [(.var 0)]), (.value .nat (.nat 1))]) (.build .pair (.pair .bool .nat) [(.first (.var 2)), (.prim .natAdd [(.second (.var 1)), (.second (.var 2))])])))) (.cond (.first (.var 3)) (.var 3) (.«let» 6 (.pair .bool .nat) (.«let» 4 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 16 [(.var 0)]), (.value .nat (.nat 1))]) (.cond (.first (.var 4)) (.var 4) (.«let» 5 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 17 [(.var 0)]), (.value .nat (.nat 1))]) (.build .pair (.pair .bool .nat) [(.first (.var 5)), (.prim .natAdd [(.second (.var 4)), (.second (.var 5))])])))) (.build .pair (.pair .bool .nat) [(.first (.var 6)), (.prim .natAdd [(.second (.var 3)), (.second (.var 6))])])))) (.cond (.first (.var 7)) (.var 7) (.«let» 14 (.pair .bool .nat) (.«let» 10 (.pair .bool .nat) (.«let» 8 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 18 [(.var 0)]), (.value .nat (.nat 1))]) (.cond (.first (.var 8)) (.var 8) (.«let» 9 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 19 [(.var 0)]), (.value .nat (.nat 1))]) (.build .pair (.pair .bool .nat) [(.first (.var 9)), (.prim .natAdd [(.second (.var 8)), (.second (.var 9))])])))) (.cond (.first (.var 10)) (.var 10) (.«let» 13 (.pair .bool .nat) (.«let» 11 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 20 [(.var 0)]), (.value .nat (.nat 1))]) (.cond (.first (.var 11)) (.var 11) (.«let» 12 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 21 [(.var 0)]), (.value .nat (.nat 1))]) (.build .pair (.pair .bool .nat) [(.first (.var 12)), (.prim .natAdd [(.second (.var 11)), (.second (.var 12))])])))) (.build .pair (.pair .bool .nat) [(.first (.var 13)), (.prim .natAdd [(.second (.var 10)), (.second (.var 13))])])))) (.build .pair (.pair .bool .nat) [(.first (.var 14)), (.prim .natAdd [(.second (.var 7)), (.second (.var 14))])]))))) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.adt 3), - body := (.build (.adt 0) (.adt 3) [(.var 0), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0))]) }) ::( - { parameters := [0, 1], types := [(.adt 0), .nat], result := .bool, - body := (.cond (.prim .natLe [(.var 1), (.value .nat (.nat 3))]) (.cond (.prim .natEq [(.var 1), (.value .nat (.nat 3))]) (.build .true .bool []) (.prim .boolNot [(.cond (.call 30 [(.var 0)]) (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.cond (.call 31 [(.var 0)]) (.call 32 [(.var 0)]) (.build .false .bool [])) (.build .false .bool [])) (.build .false .bool []))])) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 1), (.value .nat (.nat 0))]) (.call 31 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 2), (.value .nat (.nat 0))]) (.call 32 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 3), (.value .nat (.nat 0))]) (.call 33 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 4), (.value .nat (.nat 0))]) (.call 34 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 0))]) (.prim .natLe [(.value .nat (.nat 2)), (.prim .natAdd [(.prim .natAdd [(.prim .natAdd [(.field (.var 0) 1), (.field (.var 0) 2)]), (.field (.var 0) 3)]), (.field (.var 0) 4)])]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.field (.var 0) 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.call 30 [(.field (.var 0) 0)]) (.build .false .bool [])) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := .bool, - body := (.cond (.prim .natLt [(.field (.var 0) 8), (.value .nat (.nat 3))]) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 0))]) (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 2))]) (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 1))]) (.build .false .bool [])))) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), - body := (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 35 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), - body := (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 36 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), - body := (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 37 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), - body := (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 38 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), - body := (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 39 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), - body := (.cond (.call 19 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 40 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), - body := (.cond (.call 20 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 41 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), - body := (.cond (.call 21 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 42 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.field (.var 0) 4), (.value .nat (.nat 90))]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 380)), (.field (.var 0) 0)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 90)), (.field (.var 0) 1)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 20)), (.field (.var 0) 2)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 12)), (.field (.var 0) 3)]) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.adt 3), - body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.value .nat (.nat 1)), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.adt 3), - body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.field (.var 0) 1), (.value .nat (.nat 1)), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.adt 3), - body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.value .nat (.nat 1)), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.adt 3), - body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.value .nat (.nat 1)), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.adt 3), - body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.value .nat (.nat 1)), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.adt 3), - body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.value .nat (.nat 1)), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.adt 3), - body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.value .nat (.nat 1)), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 3)], result := (.adt 3), - body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.prim .natAdd [(.field (.var 0) 8), (.value .nat (.nat 1))])]) }) ::[]) } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := ((.enum (.adt 0) [{ number := 0, fields := [.nat, .nat, .nat, .nat, .nat, .nat] }]) :: - (.enum (.adt 1) [{ number := 0, fields := [] }, { number := 1, fields := [] }, { number := 2, fields := [] }, { number := 3, fields := [] }, { number := 4, fields := [] }, { number := 5, fields := [] }, { number := 6, fields := [] }, { number := 7, fields := [] }]) :: - (.enum (.adt 2) [{ number := 0, fields := [(.adt 3), (.list (.adt 1)), (.adt 4)] }]) :: - (.enum (.adt 3) [{ number := 0, fields := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat] }]) :: - (.enum (.adt 4) [{ number := 0, fields := [.nat, .nat, .nat, .nat, .nat, .nat] }]) :: - (.enum (.fn 0) [{ number := 5, fields := [] }]) :: - (.apply 0 [(.adt 2)] (.option (.adt 2)) true [{ function := 5, captures := [], functionFallible := true }]) :: - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := .nat }, { pattern := (.bind (.generated .binding 3)), type := .nat }, { pattern := (.bind (.generated .binding 4)), type := .nat }, { pattern := (.bind (.generated .binding 5)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1)), (.copy (.generated .binding 2)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4)), (.copy (.generated .binding 5))])] true))] (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 6))) (.mk [(.mk (.bind (.generated .operand 3)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.move (.generated .binding 6)))] (.move (.generated .part 2)))))] (.succeed (.call (.runtime .lengthList) [(.move (.generated .operand 3))] false)))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 0)))))]))) :: - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.result (.pair .nat (.list (.adt 1))) (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 1)) (some (.pair (.adt 2) .bool)) (.call (.function 2) [(.clone (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 5)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 4))]) none (.clone (.generated .binding 1)))] (.move (.generated .part 4)))))] (.cond (.move (.generated .holder 5)) (.mk [(.mk (.bind (.generated .holder 9)) none (.call (.function 3) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .holder 8)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 7)), .wild]) none (.clone (.generated .binding 1)))] (.move (.generated .part 7)))))] (.matchOn (.move (.generated .holder 8)) [(.mk (.adt 2 0 [(.bind (.generated .part 6)), .wild, .wild]) (.mk [] (.move (.generated .part 6))))])))] false))] (.matchOn (.move (.generated .holder 9)) [(.mk (.ok (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.ok (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.pair (.copy (.generated .binding 2)) (.block (.mk [(.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 11)))))] (.matchOn (.move (.generated .holder 12)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 10)), .wild]) (.mk [] (.move (.generated .part 10))))]))))])))), (.mk (.err (.bind (.generated .binding 3))) (.mk [] (.succeed (.construct (.err (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.copy (.generated .binding 3))]))))])) (.mk [] (.succeed (.construct (.err (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))))) :: - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.pair (.adt 2) .bool)) (.mk [] (.call (.function 4) [(.construct (.closure 0 5) []), (.lit (.nat 11)), (.call (.function 6) [(.move (.generated .binding 0))] false)] false))) :: - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 3) }] (.result .nat (.pair .bool .bool)) (.mk [(.mk (.bind (.generated .holder 13)) none (.call (.function 7) [(.move (.generated .binding 0)), (.clone (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 14)) none (.call (.function 8) [(.move (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 14)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])))]))) :: - (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := (.adt 2) }] (.fallible (.pair (.adt 2) .bool)) (.mk [(.mk (.bind (.generated .holder 15)) none (.copy (.generated .binding 1)))] (.cond (.isZero (.generated .holder 15)) (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 15))), (.mk (.bind (.generated .holder 17)) none (.block (.mk [(.mk (.bind (.generated .callee 16)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 16) [(.clone (.generated .binding 2))] true))))] (.matchOn (.move (.generated .holder 17)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))]))))) :: - (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 2) }] (.fallible (.option (.adt 2))) (.mk [(.mk (.bind (.generated .holder 19)) none (.call (.function 9) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 18)), .wild, .wild]) (.mk [] (.move (.generated .part 18))))])] true))] (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 2)) [])))), (.mk (.some (.bind (.generated .binding 1))) (.mk [(.mk (.bind (.generated .holder 21)) none (.call (.function 10) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 20)), .wild, .wild]) (.mk [] (.move (.generated .part 20))))]), (.clone (.generated .binding 1))] true))] (.matchOn (.move (.generated .holder 21)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 2)) [])))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 0) [(.move (.generated .binding 2)), (.block (.mk [(.mk (.bind (.generated .operand 23)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 22)), .wild]) (.mk [] (.move (.generated .part 22))))])), (.mk (.bind (.generated .operand 24)) none (.construct .cons [(.move (.generated .binding 1)), (.construct (.nil (.adt 1)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false))), (.construct (.adt 4 0) [(.block (.mk [(.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.bind (.generated .holder 27)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 26))]) (.mk [] (.move (.generated .part 26))))]))] (.matchOn (.move (.generated .holder 27)) [(.mk (.adt 4 0 [(.bind (.generated .part 25)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 25))))])))), (.mk (.bind (.generated .operand 29)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 28)), (.move (.generated .operand 29))] true))), (.block (.mk [(.mk (.bind (.generated .operand 34)) none (.block (.mk [(.mk (.bind (.generated .holder 32)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 31))]) (.mk [] (.move (.generated .part 31))))]))] (.matchOn (.move (.generated .holder 32)) [(.mk (.adt 4 0 [.wild, (.bind (.generated .part 30)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))])))), (.mk (.bind (.generated .operand 35)) none (.call (.function 11) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 33)), .wild, .wild]) (.mk [] (.move (.generated .part 33))))])] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] true))), (.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .holder 38)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 37))]) (.mk [] (.move (.generated .part 37))))]))] (.matchOn (.move (.generated .holder 38)) [(.mk (.adt 4 0 [.wild, .wild, (.bind (.generated .part 36)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])))), (.mk (.bind (.generated .operand 40)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] true))), (.block (.mk [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))] (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 4 0 [.wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild]) (.mk [] (.move (.generated .part 41))))]))), (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 4 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 44)), .wild]) (.mk [] (.move (.generated .part 44))))]))), (.block (.mk [(.mk (.bind (.generated .holder 49)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))]))] (.matchOn (.move (.generated .holder 49)) [(.mk (.adt 4 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 47))]) (.mk [] (.move (.generated .part 47))))])))])])]))))])))]))) :: - (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.adt 2) (.mk [] (.construct (.adt 2 0) [(.call (.function 12) [(.move (.generated .binding 0))] false), (.construct (.nil (.adt 1)) []), (.construct (.adt 4 0) [(.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0))])]))) :: - (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 3) }] (.option .nat) (.mk [(.mk (.bind (.generated .holder 50)) none (.call (.function 8) [(.move (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 50)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.cond (.call (.function 13) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none .nat) [])))))]))) :: - (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.option .nat) (.mk [] (.construct .some [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 51))]) (.mk [] (.move (.generated .part 51))))])]))) :: - (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.fallible (.option (.adt 1))) (.mk [(.mk (.bind (.generated .holder 55)) none (.block (.mk [(.mk (.bind (.generated .holder 53)) none (.block (.mk [(.mk (.bind (.generated .holder 52)) none (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 0) [])])) (.mk [] (.construct (.none (.adt 1)) []))))] (.matchOn (.move (.generated .holder 52)) [(.mk .none (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 1) [])])) (.mk [] (.construct (.none (.adt 1)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))]))))] (.matchOn (.move (.generated .holder 53)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 54)) none (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 2) [])])) (.mk [] (.construct (.none (.adt 1)) []))))] (.matchOn (.move (.generated .holder 54)) [(.mk .none (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 3) [])])) (.mk [] (.construct (.none (.adt 1)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct .some [(.move (.generated .binding 2))])))]))))] (.matchOn (.move (.generated .holder 55)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 57)) none (.block (.mk [(.mk (.bind (.generated .holder 56)) none (.cond (.call (.function 18) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 1 4) [])])) (.mk [] (.construct (.none (.adt 1)) []))))] (.matchOn (.move (.generated .holder 56)) [(.mk .none (.mk [] (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 5) [])])) (.mk [] (.construct (.none (.adt 1)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))]))))] (.matchOn (.move (.generated .holder 57)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 58)) none (.cond (.call (.function 20) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 6) [])])) (.mk [] (.construct (.none (.adt 1)) []))))] (.matchOn (.move (.generated .holder 58)) [(.mk .none (.mk [] (.cond (.call (.function 21) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 1 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))]))), (.mk (.some (.bind (.generated .binding 6))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 6))]))))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 4))]))))]))) :: - (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 1) }] (.fallible (.option (.adt 3))) (.mk [(.mk (.bind (.generated .holder 59)) none (.move (.generated .binding 1)))] (.matchOn (.move (.generated .holder 59)) [(.mk (.adt 1 0 []) (.mk [] (.succeed (.call (.function 22) [(.move (.generated .binding 0))] false)))), (.mk (.adt 1 1 []) (.mk [] (.succeed (.call (.function 23) [(.move (.generated .binding 0))] false)))), (.mk (.adt 1 2 []) (.mk [] (.succeed (.call (.function 24) [(.move (.generated .binding 0))] false)))), (.mk (.adt 1 3 []) (.mk [] (.succeed (.call (.function 25) [(.move (.generated .binding 0))] false)))), (.mk (.adt 1 4 []) (.mk [] (.call (.function 26) [(.move (.generated .binding 0))] false))), (.mk (.adt 1 5 []) (.mk [] (.succeed (.call (.function 27) [(.move (.generated .binding 0))] false)))), (.mk (.adt 1 6 []) (.mk [] (.succeed (.call (.function 28) [(.move (.generated .binding 0))] false)))), (.mk (.adt 1 7 []) (.mk [] (.call (.function 29) [(.move (.generated .binding 0))] false)))]))) :: - (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.fallible .nat) (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 60))]) none (.block (.mk [(.mk (.bind (.generated .binding 7)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 3)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 1)) (some (.pair .bool .nat)) (.pair (.call (.function 14) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 61)), .wild]) none (.copy (.generated .binding 1)))] (.cond (.move (.generated .part 61)) (.mk [] (.copy (.generated .binding 1))) (.mk [(.mk (.bind (.generated .binding 2)) (some (.pair .bool .nat)) (.pair (.call (.function 15) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 62)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 62)))) (.block (.mk [(.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 63))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 63))))), (.mk (.bind (.generated .operand 66)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 64))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 64)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 65)), (.move (.generated .operand 66))] true))))))))), (.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.copy (.generated .binding 3)))] (.cond (.move (.generated .part 67)) (.mk [] (.copy (.generated .binding 3))) (.mk [(.mk (.bind (.generated .binding 6)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair .bool .nat)) (.pair (.call (.function 16) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 68)), .wild]) none (.copy (.generated .binding 4)))] (.cond (.move (.generated .part 68)) (.mk [] (.copy (.generated .binding 4))) (.mk [(.mk (.bind (.generated .binding 5)) (some (.pair .bool .nat)) (.pair (.call (.function 17) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 69)), .wild]) none (.copy (.generated .binding 5)))] (.move (.generated .part 69)))) (.block (.mk [(.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 70))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 70))))), (.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 71))]) none (.copy (.generated .binding 5)))] (.move (.generated .part 71)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] true)))))))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 74)), .wild]) none (.copy (.generated .binding 6)))] (.move (.generated .part 74)))) (.block (.mk [(.mk (.bind (.generated .operand 77)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 75))]) none (.copy (.generated .binding 3)))] (.move (.generated .part 75))))), (.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 76))]) none (.copy (.generated .binding 6)))] (.move (.generated .part 76)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 77)), (.move (.generated .operand 78))] true))))))))), (.mk (.tuple [(.bind (.generated .part 79)), .wild]) none (.copy (.generated .binding 7)))] (.cond (.move (.generated .part 79)) (.mk [] (.copy (.generated .binding 7))) (.mk [(.mk (.bind (.generated .binding 14)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 10)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 8)) (some (.pair .bool .nat)) (.pair (.call (.function 18) [(.clone (.generated .binding 0))] true) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.copy (.generated .binding 8)))] (.cond (.move (.generated .part 80)) (.mk [] (.copy (.generated .binding 8))) (.mk [(.mk (.bind (.generated .binding 9)) (some (.pair .bool .nat)) (.pair (.call (.function 19) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 81)), .wild]) none (.copy (.generated .binding 9)))] (.move (.generated .part 81)))) (.block (.mk [(.mk (.bind (.generated .operand 84)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 82))]) none (.copy (.generated .binding 8)))] (.move (.generated .part 82))))), (.mk (.bind (.generated .operand 85)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 83))]) none (.copy (.generated .binding 9)))] (.move (.generated .part 83)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 84)), (.move (.generated .operand 85))] true))))))))), (.mk (.tuple [(.bind (.generated .part 86)), .wild]) none (.copy (.generated .binding 10)))] (.cond (.move (.generated .part 86)) (.mk [] (.copy (.generated .binding 10))) (.mk [(.mk (.bind (.generated .binding 13)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 11)) (some (.pair .bool .nat)) (.pair (.call (.function 20) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 87)), .wild]) none (.copy (.generated .binding 11)))] (.cond (.move (.generated .part 87)) (.mk [] (.copy (.generated .binding 11))) (.mk [(.mk (.bind (.generated .binding 12)) (some (.pair .bool .nat)) (.pair (.call (.function 21) [(.move (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 88)), .wild]) none (.copy (.generated .binding 12)))] (.move (.generated .part 88)))) (.block (.mk [(.mk (.bind (.generated .operand 91)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 89))]) none (.copy (.generated .binding 11)))] (.move (.generated .part 89))))), (.mk (.bind (.generated .operand 92)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 90))]) none (.copy (.generated .binding 12)))] (.move (.generated .part 90)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] true)))))))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 93)), .wild]) none (.copy (.generated .binding 13)))] (.move (.generated .part 93)))) (.block (.mk [(.mk (.bind (.generated .operand 96)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 94))]) none (.copy (.generated .binding 10)))] (.move (.generated .part 94))))), (.mk (.bind (.generated .operand 97)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 95))]) none (.copy (.generated .binding 13)))] (.move (.generated .part 95)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 96)), (.move (.generated .operand 97))] true)))))))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 98)), .wild]) none (.copy (.generated .binding 14)))] (.move (.generated .part 98)))) (.block (.mk [(.mk (.bind (.generated .operand 101)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 99))]) none (.copy (.generated .binding 7)))] (.move (.generated .part 99))))), (.mk (.bind (.generated .operand 102)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 100))]) none (.copy (.generated .binding 14)))] (.move (.generated .part 100)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 101)), (.move (.generated .operand 102))] true)))))))))] (.succeed (.move (.generated .part 60))))) :: - (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.adt 3) (.mk [] (.construct (.adt 3 0) [(.move (.generated .binding 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0))]))) :: - (.function (.generated .function 13) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 103)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 104)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 103)), (.move (.generated .operand 104))] false) (.mk [(.mk (.bind (.generated .operand 105)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 106)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 105)), (.move (.generated .operand 106))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 110)) none (.cond (.call (.function 30) [(.clone (.generated .binding 0))] false) (.mk [(.mk (.bind (.generated .operand 108)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 107))]) (.mk [] (.move (.generated .part 107))))])), (.mk (.bind (.generated .operand 109)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 108)), (.move (.generated .operand 109))] false) (.mk [] (.cond (.call (.function 31) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 32) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))] (.call (.runtime .boolNot) [(.move (.generated .operand 110))] false)))) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 14) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] .bool (.mk [(.mk (.bind (.generated .operand 112)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 111)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 111))))])), (.mk (.bind (.generated .operand 113)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 112)), (.move (.generated .operand 113))] false) (.mk [] (.call (.function 31) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 114)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 114))))])] false)) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 15) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] .bool (.mk [(.mk (.bind (.generated .operand 116)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 115)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 115))))])), (.mk (.bind (.generated .operand 117)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 116)), (.move (.generated .operand 117))] false) (.mk [] (.call (.function 32) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 118)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 118))))])] false)) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 16) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] .bool (.mk [(.mk (.bind (.generated .operand 120)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 119)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 119))))])), (.mk (.bind (.generated .operand 121)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 120)), (.move (.generated .operand 121))] false) (.mk [] (.call (.function 33) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 122)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 122))))])] false)) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 17) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] .bool (.mk [(.mk (.bind (.generated .operand 124)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 123)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 123))))])), (.mk (.bind (.generated .operand 125)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 124)), (.move (.generated .operand 125))] false) (.mk [] (.call (.function 34) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 126)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 126))))])] false)) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 18) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.fallible .bool) (.mk [(.mk (.bind (.generated .operand 128)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 127)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 127))))])), (.mk (.bind (.generated .operand 129)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 128)), (.move (.generated .operand 129))] false) (.mk [(.mk (.bind (.generated .operand 140)) none (.lit (.nat 2))), (.mk (.bind (.generated .operand 141)) none (.block (.mk [(.mk (.bind (.generated .operand 138)) none (.block (.mk [(.mk (.bind (.generated .operand 135)) none (.block (.mk [(.mk (.bind (.generated .operand 132)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 130)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 130))))])), (.mk (.bind (.generated .operand 133)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 131)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 131))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 132)), (.move (.generated .operand 133))] true)))), (.mk (.bind (.generated .operand 136)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 134)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 134))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 135)), (.move (.generated .operand 136))] true)))), (.mk (.bind (.generated .operand 139)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 137)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 137))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 138)), (.move (.generated .operand 139))] true))))] (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 140)), (.move (.generated .operand 141))] false))) (.mk [] (.succeed (.lit (.bool false))))))) :: - (.function (.generated .function 19) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] .bool (.mk [(.mk (.bind (.generated .operand 143)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 142)), .wild, .wild]) (.mk [] (.move (.generated .part 142))))])), (.mk (.bind (.generated .operand 144)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 143)), (.move (.generated .operand 144))] false) (.mk [(.mk (.bind (.generated .operand 146)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 145)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 145))))])), (.mk (.bind (.generated .operand 147)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 146)), (.move (.generated .operand 147))] false) (.mk [(.mk (.bind (.generated .operand 151)) none (.block (.mk [(.mk (.bind (.generated .holder 150)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 149)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 149))))]))] (.matchOn (.move (.generated .holder 150)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 148))]) (.mk [] (.move (.generated .part 148))))])))), (.mk (.bind (.generated .operand 152)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 151)), (.move (.generated .operand 152))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 20) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] .bool (.mk [(.mk (.bind (.generated .operand 154)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 153)), .wild]) (.mk [] (.move (.generated .part 153))))])), (.mk (.bind (.generated .operand 155)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 154)), (.move (.generated .operand 155))] false) (.mk [(.mk (.bind (.generated .operand 157)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 156)), .wild, .wild]) (.mk [] (.move (.generated .part 156))))])), (.mk (.bind (.generated .operand 158)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 157)), (.move (.generated .operand 158))] false) (.mk [] (.call (.function 30) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 159)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 159))))])] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 21) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] .bool (.mk [(.mk (.bind (.generated .operand 161)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 160))]) (.mk [] (.move (.generated .part 160))))])), (.mk (.bind (.generated .operand 162)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 161)), (.move (.generated .operand 162))] false) (.mk [(.mk (.bind (.generated .operand 164)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 163))]) (.mk [] (.move (.generated .part 163))))])), (.mk (.bind (.generated .operand 165)) none (.lit (.nat 0)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 164)), (.move (.generated .operand 165))] false) (.mk [(.mk (.bind (.generated .operand 167)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 166)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 166))))])), (.mk (.bind (.generated .operand 168)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 167)), (.move (.generated .operand 168))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 170)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 169))]) (.mk [] (.move (.generated .part 169))))])), (.mk (.bind (.generated .operand 171)) none (.lit (.nat 1)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 170)), (.move (.generated .operand 171))] false) (.mk [(.mk (.bind (.generated .operand 173)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 172)), .wild, .wild]) (.mk [] (.move (.generated .part 172))))])), (.mk (.bind (.generated .operand 174)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 173)), (.move (.generated .operand 174))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 176)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 175))]) (.mk [] (.move (.generated .part 175))))])), (.mk (.bind (.generated .operand 177)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 176)), (.move (.generated .operand 177))] false) (.mk [(.mk (.bind (.generated .operand 179)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 178)), .wild]) (.mk [] (.move (.generated .part 178))))])), (.mk (.bind (.generated .operand 180)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 179)), (.move (.generated .operand 180))] false)) (.mk [] (.lit (.bool false))))))))) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 22) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.option (.adt 3)) (.mk [] (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 35) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 3)) []))))) :: - (.function (.generated .function 23) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.option (.adt 3)) (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 36) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 3)) []))))) :: - (.function (.generated .function 24) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.option (.adt 3)) (.mk [] (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 37) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 3)) []))))) :: - (.function (.generated .function 25) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.option (.adt 3)) (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 38) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 3)) []))))) :: - (.function (.generated .function 26) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.fallible (.option (.adt 3))) (.mk [] (.cond (.call (.function 18) [(.clone (.generated .binding 0))] true) (.mk [] (.succeed (.construct .some [(.call (.function 39) [(.move (.generated .binding 0))] false)]))) (.mk [] (.succeed (.construct (.none (.adt 3)) [])))))) :: - (.function (.generated .function 27) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.option (.adt 3)) (.mk [] (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 40) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 3)) []))))) :: - (.function (.generated .function 28) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.option (.adt 3)) (.mk [] (.cond (.call (.function 20) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 41) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 3)) []))))) :: - (.function (.generated .function 29) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.fallible (.option (.adt 3))) (.mk [] (.cond (.call (.function 21) [(.clone (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.call (.function 42) [(.move (.generated .binding 0))] true)]))) (.mk [] (.succeed (.construct (.none (.adt 3)) [])))))) :: - (.function (.generated .function 30) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 182)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 181)), .wild]) (.mk [] (.move (.generated .part 181))))])), (.mk (.bind (.generated .operand 183)) none (.lit (.nat 90)))] (.call (.runtime .natLt) [(.move (.generated .operand 182)), (.move (.generated .operand 183))] false))) :: - (.function (.generated .function 31) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 185)) none (.lit (.nat 380))), (.mk (.bind (.generated .operand 186)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 184)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 184))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 185)), (.move (.generated .operand 186))] false))) :: - (.function (.generated .function 32) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 188)) none (.lit (.nat 90))), (.mk (.bind (.generated .operand 189)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 187)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 187))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 188)), (.move (.generated .operand 189))] false))) :: - (.function (.generated .function 33) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 191)) none (.lit (.nat 20))), (.mk (.bind (.generated .operand 192)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 190)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 190))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 191)), (.move (.generated .operand 192))] false))) :: - (.function (.generated .function 34) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 194)) none (.lit (.nat 12))), (.mk (.bind (.generated .operand 195)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, (.bind (.generated .part 193)), .wild, .wild]) (.mk [] (.move (.generated .part 193))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 194)), (.move (.generated .operand 195))] false))) :: - (.function (.generated .function 35) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.adt 3) (.mk [] (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 196)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 196))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 197)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 197))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 198)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 198))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 199)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 199))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 200)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 200))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 201)), .wild, .wild]) (.mk [] (.move (.generated .part 201))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 202)), .wild]) (.mk [] (.move (.generated .part 202))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 203))]) (.mk [] (.move (.generated .part 203))))])]))) :: - (.function (.generated .function 36) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.adt 3) (.mk [] (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 204)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 204))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 205)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 205))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 206)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 206))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 207)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 207))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 208)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 208))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 209)), .wild, .wild]) (.mk [] (.move (.generated .part 209))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 210)), .wild]) (.mk [] (.move (.generated .part 210))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 211))]) (.mk [] (.move (.generated .part 211))))])]))) :: - (.function (.generated .function 37) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.adt 3) (.mk [] (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 212)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 212))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 213)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 213))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 214)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 214))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 215)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 215))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 216)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 216))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 217)), .wild, .wild]) (.mk [] (.move (.generated .part 217))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 218)), .wild]) (.mk [] (.move (.generated .part 218))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 219))]) (.mk [] (.move (.generated .part 219))))])]))) :: - (.function (.generated .function 38) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.adt 3) (.mk [] (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 220)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 220))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 221)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 221))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 222)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 222))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 223)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 223))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 224)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 224))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 225)), .wild, .wild]) (.mk [] (.move (.generated .part 225))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 226)), .wild]) (.mk [] (.move (.generated .part 226))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 227))]) (.mk [] (.move (.generated .part 227))))])]))) :: - (.function (.generated .function 39) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.adt 3) (.mk [] (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 228)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 228))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 229)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 229))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 230)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 230))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 231)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 231))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 232)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 232))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 233)), .wild, .wild]) (.mk [] (.move (.generated .part 233))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 234)), .wild]) (.mk [] (.move (.generated .part 234))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 235))]) (.mk [] (.move (.generated .part 235))))])]))) :: - (.function (.generated .function 40) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.adt 3) (.mk [] (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 236)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 236))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 237)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 237))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 238)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 238))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 239)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 239))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 240)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 240))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 241)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 241))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 242)), .wild]) (.mk [] (.move (.generated .part 242))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 243))]) (.mk [] (.move (.generated .part 243))))])]))) :: - (.function (.generated .function 41) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.adt 3) (.mk [] (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 244)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 244))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 245)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 245))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 246)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 246))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 247)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 247))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 248)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 248))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 249)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 249))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 250)), .wild, .wild]) (.mk [] (.move (.generated .part 250))))]), (.lit (.nat 1)), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 251))]) (.mk [] (.move (.generated .part 251))))])]))) :: - (.function (.generated .function 42) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.fallible (.adt 3)) (.mk [] (.succeed (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 252)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 252))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 253)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 253))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 254)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 254))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 255)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 255))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 256)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 256))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 257)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 257))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 258)), .wild, .wild]) (.mk [] (.move (.generated .part 258))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 259)), .wild]) (.mk [] (.move (.generated .part 259))))]), (.block (.mk [(.mk (.bind (.generated .operand 261)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 260))]) (.mk [] (.move (.generated .part 260))))])), (.mk (.bind (.generated .operand 262)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 261)), (.move (.generated .operand 262))] true)))])))) :: - []) } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [(([(.adt 2)], (.option (.adt 2))), true)] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1)), (.copy (.generated .binding 2)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4)), (.copy (.generated .binding 5))])] true))], (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 6))) (.mk [(.mk (.bind (.generated .operand 3)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.move (.generated .binding 6)))] (.move (.generated .part 2)))))] (.succeed (.call (.runtime .lengthList) [(.move (.generated .operand 3))] false)))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 0)))))]), [(5, .nat, (some 5)), (4, .nat, (some 4)), (3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.matchArms (st := (.result (.pair .nat (.list (.adt 1))) (.pair .bool .bool))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))))))) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(6, (.pair .nat (.list (.adt 1))), (some 6)), (5, .nat, (some 5)), (4, .nat, (some 4)), (3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := [(.mk (.bind (.generated .operand 3)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.move (.generated .binding 6)))] (.move (.generated .part 2)))))]) (tail := (.succeed (.call (.runtime .lengthList) [(.move (.generated .operand 3))] false))) (Corr.mCons (Γ' := [(7, (.pair .bool .bool), none), (5, .nat, (some 5)), (4, .nat, (some 4)), (3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 0)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl (Corr.fOfB (Corr.prim (ts := [(.list (.adt 1))]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.move (.generated .binding 6)))]) (tail := (.move (.generated .part 2))) (Corr.second (ta := .nat) (tb := (.list (.adt 1))) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.pair (.adt 2) .bool)) (.call (.function 2) [(.clone (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 5)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 4))]) none (.clone (.generated .binding 1)))] (.move (.generated .part 4)))))], (.cond (.move (.generated .holder 5)) (.mk [(.mk (.bind (.generated .holder 9)) none (.call (.function 3) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .holder 8)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 7)), .wild]) none (.clone (.generated .binding 1)))] (.move (.generated .part 7)))))] (.matchOn (.move (.generated .holder 8)) [(.mk (.adt 2 0 [(.bind (.generated .part 6)), .wild, .wild]) (.mk [] (.move (.generated .part 6))))])))] false))] (.matchOn (.move (.generated .holder 9)) [(.mk (.ok (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.ok (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.pair (.copy (.generated .binding 2)) (.block (.mk [(.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 11)))))] (.matchOn (.move (.generated .holder 12)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 10)), .wild]) (.mk [] (.move (.generated .part 10))))]))))])))), (.mk (.err (.bind (.generated .binding 3))) (.mk [] (.succeed (.construct (.err (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.copy (.generated .binding 3))]))))])) (.mk [] (.succeed (.construct (.err (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.matchBool (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 4))]) none (.clone (.generated .binding 1)))]) (tail := (.move (.generated .part 4))) (Corr.second (ta := (.adt 2)) (tb := .bool) (Corr.var rfl rfl) rfl)) rfl rfl (Corr.kIf (la := [(.mk (.bind (.generated .holder 9)) none (.call (.function 3) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .holder 8)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 7)), .wild]) none (.clone (.generated .binding 1)))] (.move (.generated .part 7)))))] (.matchOn (.move (.generated .holder 8)) [(.mk (.adt 2 0 [(.bind (.generated .part 6)), .wild, .wild]) (.mk [] (.move (.generated .part 6))))])))] false))]) (ta := (.matchOn (.move (.generated .holder 9)) [(.mk (.ok (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.ok (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.pair (.copy (.generated .binding 2)) (.block (.mk [(.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 11)))))] (.matchOn (.move (.generated .holder 12)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 10)), .wild]) (.mk [] (.move (.generated .part 10))))]))))])))), (.mk (.err (.bind (.generated .binding 3))) (.mk [] (.succeed (.construct (.err (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.copy (.generated .binding 3))]))))])) (lb := []) (tb := (.succeed (.construct (.err (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))) (Corr.matchArms (st := (.result .nat (.pair .bool .bool))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0), (.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 8)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 7)), .wild]) none (.clone (.generated .binding 1)))] (.move (.generated .part 7)))))]) (tail := (.matchOn (.move (.generated .holder 8)) [(.mk (.adt 2 0 [(.bind (.generated .part 6)), .wild, .wild]) (.mk [] (.move (.generated .part 6))))])) (Corr.fieldHeld (ts := [(.adt 3), (.list (.adt 1)), (.adt 4)]) (rd := (.move (.generated .part 6))) (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 7)), .wild]) none (.clone (.generated .binding 1)))]) (tail := (.move (.generated .part 7))) (Corr.first (ta := (.adt 2)) (tb := .bool) (Corr.var rfl rfl) rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.pair (.adt 2) .bool), (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.ok (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.pair (.copy (.generated .binding 2)) (.block (.mk [(.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 11)))))] (.matchOn (.move (.generated .holder 12)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 10)), .wild]) (.mk [] (.move (.generated .part 10))))]))))]))) (Corr.mCons (Γ' := [(3, (.pair .bool .bool), (some 3)), (1, (.pair (.adt 2) .bool), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.construct (.err (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.copy (.generated .binding 3))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.pair .nat (.list (.adt 1)))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 11)))))]) (tail := (.matchOn (.move (.generated .holder 12)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 10)), .wild]) (.mk [] (.move (.generated .part 10))))])) (Corr.fieldHeld (ts := [(.adt 3), (.list (.adt 1)), (.adt 4)]) (rd := (.move (.generated .part 10))) (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 11))) (Corr.first (ta := (.adt 2)) (tb := .bool) (Corr.var rfl rfl) rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil))) rfl))) rfl rfl rfl) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))))⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 4) [(.construct (.closure 0 5) []), (.lit (.nat 11)), (.call (.function 6) [(.move (.generated .binding 0))] false)] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.callF (ts := [(.fn [(.adt 2)] (.option (.adt 2))), .nat, (.adt 2)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 13)) none (.call (.function 7) [(.move (.generated .binding 0)), (.clone (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 14)) none (.call (.function 8) [(.move (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 14)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])))]), [(1, (.adt 3), (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0), (.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 3), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 14)) none (.call (.function 8) [(.move (.generated .binding 1))] false))]) (tail := (.matchOn (.move (.generated .holder 14)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))])) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.adt 3), (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 3), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])) (Corr.mCons (Γ' := [(3, .nat, none), (1, (.adt 3), (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) rfl rfl rfl)) rfl rfl rfl)⟩⟩ - -theorem fun4 : FunOK program krate flags 4 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 15)) none (.copy (.generated .binding 1)))], (.cond (.isZero (.generated .holder 15)) (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 15))), (.mk (.bind (.generated .holder 17)) none (.block (.mk [(.mk (.bind (.generated .callee 16)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 16) [(.clone (.generated .binding 2))] true))))] (.matchOn (.move (.generated .holder 17)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))]))), [(2, (.adt 2), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 2)] (.option (.adt 2))), (some 0))], rfl, rfl, - (Corr.matchNat (sl := (some 3)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (lb := [(.mk (.bind (.generated .holder 17)) none (.block (.mk [(.mk (.bind (.generated .callee 16)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 16) [(.clone (.generated .binding 2))] true))))]) (tb := (.matchOn (.move (.generated .holder 17)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))])) (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))))) (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 16)) (some (.fn 0)) (.clone (.generated .binding 0)))]) (tail := (.apply (.generated .callee 16) [(.clone (.generated .binding 2))] true)) (Corr.apply (ps := [(.adt 2)]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, .nat, (some 3)), (2, (.adt 2), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 2)] (.option (.adt 2))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true))))) (Corr.mCons (Γ' := [(4, (.adt 2), (some 4)), (3, .nat, (some 3)), (2, (.adt 2), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 2)] (.option (.adt 2))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.adt 2)] (.option (.adt 2))), .nat, (.adt 2)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))))))) rfl rfl rfl)))⟩⟩ - -theorem fun5 : FunOK program krate flags 5 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 19)) none (.call (.function 9) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 18)), .wild, .wild]) (.mk [] (.move (.generated .part 18))))])] true))], (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 2)) [])))), (.mk (.some (.bind (.generated .binding 1))) (.mk [(.mk (.bind (.generated .holder 21)) none (.call (.function 10) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 20)), .wild, .wild]) (.mk [] (.move (.generated .part 20))))]), (.clone (.generated .binding 1))] true))] (.matchOn (.move (.generated .holder 21)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 2)) [])))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 0) [(.move (.generated .binding 2)), (.block (.mk [(.mk (.bind (.generated .operand 23)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 22)), .wild]) (.mk [] (.move (.generated .part 22))))])), (.mk (.bind (.generated .operand 24)) none (.construct .cons [(.move (.generated .binding 1)), (.construct (.nil (.adt 1)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false))), (.construct (.adt 4 0) [(.block (.mk [(.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.bind (.generated .holder 27)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 26))]) (.mk [] (.move (.generated .part 26))))]))] (.matchOn (.move (.generated .holder 27)) [(.mk (.adt 4 0 [(.bind (.generated .part 25)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 25))))])))), (.mk (.bind (.generated .operand 29)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 28)), (.move (.generated .operand 29))] true))), (.block (.mk [(.mk (.bind (.generated .operand 34)) none (.block (.mk [(.mk (.bind (.generated .holder 32)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 31))]) (.mk [] (.move (.generated .part 31))))]))] (.matchOn (.move (.generated .holder 32)) [(.mk (.adt 4 0 [.wild, (.bind (.generated .part 30)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))])))), (.mk (.bind (.generated .operand 35)) none (.call (.function 11) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 33)), .wild, .wild]) (.mk [] (.move (.generated .part 33))))])] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] true))), (.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .holder 38)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 37))]) (.mk [] (.move (.generated .part 37))))]))] (.matchOn (.move (.generated .holder 38)) [(.mk (.adt 4 0 [.wild, .wild, (.bind (.generated .part 36)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])))), (.mk (.bind (.generated .operand 40)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] true))), (.block (.mk [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))] (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 4 0 [.wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild]) (.mk [] (.move (.generated .part 41))))]))), (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 4 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 44)), .wild]) (.mk [] (.move (.generated .part 44))))]))), (.block (.mk [(.mk (.bind (.generated .holder 49)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))]))] (.matchOn (.move (.generated .holder 49)) [(.mk (.adt 4 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 47))]) (.mk [] (.move (.generated .part 47))))])))])])]))))])))]), [(0, (.adt 2), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option (.adt 1))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 3), (.list (.adt 1)), (.adt 4)]) (rd := (.move (.generated .part 18))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 2), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.none (.adt 2)) []))) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 2), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 21)) none (.call (.function 10) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 20)), .wild, .wild]) (.mk [] (.move (.generated .part 20))))]), (.clone (.generated .binding 1))] true))]) (tail := (.matchOn (.move (.generated .holder 21)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 2)) [])))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 0) [(.move (.generated .binding 2)), (.block (.mk [(.mk (.bind (.generated .operand 23)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 22)), .wild]) (.mk [] (.move (.generated .part 22))))])), (.mk (.bind (.generated .operand 24)) none (.construct .cons [(.move (.generated .binding 1)), (.construct (.nil (.adt 1)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false))), (.construct (.adt 4 0) [(.block (.mk [(.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.bind (.generated .holder 27)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 26))]) (.mk [] (.move (.generated .part 26))))]))] (.matchOn (.move (.generated .holder 27)) [(.mk (.adt 4 0 [(.bind (.generated .part 25)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 25))))])))), (.mk (.bind (.generated .operand 29)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 28)), (.move (.generated .operand 29))] true))), (.block (.mk [(.mk (.bind (.generated .operand 34)) none (.block (.mk [(.mk (.bind (.generated .holder 32)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 31))]) (.mk [] (.move (.generated .part 31))))]))] (.matchOn (.move (.generated .holder 32)) [(.mk (.adt 4 0 [.wild, (.bind (.generated .part 30)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))])))), (.mk (.bind (.generated .operand 35)) none (.call (.function 11) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 33)), .wild, .wild]) (.mk [] (.move (.generated .part 33))))])] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] true))), (.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .holder 38)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 37))]) (.mk [] (.move (.generated .part 37))))]))] (.matchOn (.move (.generated .holder 38)) [(.mk (.adt 4 0 [.wild, .wild, (.bind (.generated .part 36)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])))), (.mk (.bind (.generated .operand 40)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] true))), (.block (.mk [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))] (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 4 0 [.wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild]) (.mk [] (.move (.generated .part 41))))]))), (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 4 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 44)), .wild]) (.mk [] (.move (.generated .part 44))))]))), (.block (.mk [(.mk (.bind (.generated .holder 49)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))]))] (.matchOn (.move (.generated .holder 49)) [(.mk (.adt 4 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 47))]) (.mk [] (.move (.generated .part 47))))])))])])]))))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := (.option (.adt 3))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3), (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 3), (.list (.adt 1)), (.adt 4)]) (rd := (.move (.generated .part 20))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 2), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.none (.adt 2)) []))) (Corr.mCons (Γ' := [(2, (.adt 3), (some 2)), (1, (.adt 1), (some 1)), (0, (.adt 2), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.construct (.adt 2 0) [(.move (.generated .binding 2)), (.block (.mk [(.mk (.bind (.generated .operand 23)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 22)), .wild]) (.mk [] (.move (.generated .part 22))))])), (.mk (.bind (.generated .operand 24)) none (.construct .cons [(.move (.generated .binding 1)), (.construct (.nil (.adt 1)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false))), (.construct (.adt 4 0) [(.block (.mk [(.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.bind (.generated .holder 27)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 26))]) (.mk [] (.move (.generated .part 26))))]))] (.matchOn (.move (.generated .holder 27)) [(.mk (.adt 4 0 [(.bind (.generated .part 25)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 25))))])))), (.mk (.bind (.generated .operand 29)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 28)), (.move (.generated .operand 29))] true))), (.block (.mk [(.mk (.bind (.generated .operand 34)) none (.block (.mk [(.mk (.bind (.generated .holder 32)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 31))]) (.mk [] (.move (.generated .part 31))))]))] (.matchOn (.move (.generated .holder 32)) [(.mk (.adt 4 0 [.wild, (.bind (.generated .part 30)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))])))), (.mk (.bind (.generated .operand 35)) none (.call (.function 11) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 33)), .wild, .wild]) (.mk [] (.move (.generated .part 33))))])] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] true))), (.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .holder 38)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 37))]) (.mk [] (.move (.generated .part 37))))]))] (.matchOn (.move (.generated .holder 38)) [(.mk (.adt 4 0 [.wild, .wild, (.bind (.generated .part 36)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])))), (.mk (.bind (.generated .operand 40)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] true))), (.block (.mk [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))] (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 4 0 [.wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild]) (.mk [] (.move (.generated .part 41))))]))), (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 4 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 44)), .wild]) (.mk [] (.move (.generated .part 44))))]))), (.block (.mk [(.mk (.bind (.generated .holder 49)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))]))] (.matchOn (.move (.generated .holder 49)) [(.mk (.adt 4 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 47))]) (.mk [] (.move (.generated .part 47))))])))])])]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.adt 3), (.list (.adt 1)), (.adt 4)]) (mask := [false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 23)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 22)), .wild]) (.mk [] (.move (.generated .part 22))))])), (.mk (.bind (.generated .operand 24)) none (.construct .cons [(.move (.generated .binding 1)), (.construct (.nil (.adt 1)) [])]))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false)) (Corr.prim (ts := [(.list (.adt 1)), (.list (.adt 1))]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 3), (.list (.adt 1)), (.adt 4)]) (rd := (.move (.generated .part 22))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [(.adt 1), (.list (.adt 1))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.bind (.generated .holder 27)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 26))]) (.mk [] (.move (.generated .part 26))))]))] (.matchOn (.move (.generated .holder 27)) [(.mk (.adt 4 0 [(.bind (.generated .part 25)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 25))))])))), (.mk (.bind (.generated .operand 29)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 28)), (.move (.generated .operand 29))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 27)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 26))]) (.mk [] (.move (.generated .part 26))))]))]) (tail := (.matchOn (.move (.generated .holder 27)) [(.mk (.adt 4 0 [(.bind (.generated .part 25)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 25))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 25))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 3), (.list (.adt 1)), (.adt 4)]) (rd := (.move (.generated .part 26))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 34)) none (.block (.mk [(.mk (.bind (.generated .holder 32)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 31))]) (.mk [] (.move (.generated .part 31))))]))] (.matchOn (.move (.generated .holder 32)) [(.mk (.adt 4 0 [.wild, (.bind (.generated .part 30)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))])))), (.mk (.bind (.generated .operand 35)) none (.call (.function 11) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 33)), .wild, .wild]) (.mk [] (.move (.generated .part 33))))])] true))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 32)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 31))]) (.mk [] (.move (.generated .part 31))))]))]) (tail := (.matchOn (.move (.generated .holder 32)) [(.mk (.adt 4 0 [.wild, (.bind (.generated .part 30)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 30))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 3), (.list (.adt 1)), (.adt 4)]) (rd := (.move (.generated .part 31))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 3), (.list (.adt 1)), (.adt 4)]) (rd := (.move (.generated .part 33))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .holder 38)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 37))]) (.mk [] (.move (.generated .part 37))))]))] (.matchOn (.move (.generated .holder 38)) [(.mk (.adt 4 0 [.wild, .wild, (.bind (.generated .part 36)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])))), (.mk (.bind (.generated .operand 40)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 38)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 37))]) (.mk [] (.move (.generated .part 37))))]))]) (tail := (.matchOn (.move (.generated .holder 38)) [(.mk (.adt 4 0 [.wild, .wild, (.bind (.generated .part 36)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 36))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 3), (.list (.adt 1)), (.adt 4)]) (rd := (.move (.generated .part 37))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))]) (tail := (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 4 0 [.wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild]) (.mk [] (.move (.generated .part 41))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 41))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 3), (.list (.adt 1)), (.adt 4)]) (rd := (.move (.generated .part 42))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))]) (tail := (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 4 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 44)), .wild]) (.mk [] (.move (.generated .part 44))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 44))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 3), (.list (.adt 1)), (.adt 4)]) (rd := (.move (.generated .part 45))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 49)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))]))]) (tail := (.matchOn (.move (.generated .holder 49)) [(.mk (.adt 4 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 47))]) (.mk [] (.move (.generated .part 47))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 47))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 3), (.list (.adt 1)), (.adt 4)]) (rd := (.move (.generated .part 48))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))) rfl)) (Corr.lNil))))) rfl)) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) rfl rfl rfl)⟩⟩ - -theorem fun6 : FunOK program krate flags 6 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 2 0) [(.call (.function 12) [(.move (.generated .binding 0))] false), (.construct (.nil (.adt 1)) []), (.construct (.adt 4 0) [(.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0))])]), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 3), (.list (.adt 1)), (.adt 4)]) (mask := [false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))))))) rfl)) (Corr.lNil))))) rfl)⟩⟩ - -theorem fun7 : FunOK program krate flags 7 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 50)) none (.call (.function 8) [(.move (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 50)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.cond (.call (.function 13) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none .nat) [])))))]), [(1, (.adt 3), (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 3), (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.adt 3), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 13) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none .nat) [])))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 13) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.copy (.generated .binding 2))])) (lb := []) (tb := (.construct (.none .nat) [])) (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun8 : FunOK program krate flags 8 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct .some [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 51))]) (.mk [] (.move (.generated .part 51))))])]), [(0, (.adt 3), (some 0))], rfl, rfl, - (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 51))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)⟩⟩ - -theorem fun9 : FunOK program krate flags 9 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 55)) none (.block (.mk [(.mk (.bind (.generated .holder 53)) none (.block (.mk [(.mk (.bind (.generated .holder 52)) none (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 0) [])])) (.mk [] (.construct (.none (.adt 1)) []))))] (.matchOn (.move (.generated .holder 52)) [(.mk .none (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 1) [])])) (.mk [] (.construct (.none (.adt 1)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))]))))] (.matchOn (.move (.generated .holder 53)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 54)) none (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 2) [])])) (.mk [] (.construct (.none (.adt 1)) []))))] (.matchOn (.move (.generated .holder 54)) [(.mk .none (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 3) [])])) (.mk [] (.construct (.none (.adt 1)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct .some [(.move (.generated .binding 2))])))]))))], (.matchOn (.move (.generated .holder 55)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 57)) none (.block (.mk [(.mk (.bind (.generated .holder 56)) none (.cond (.call (.function 18) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 1 4) [])])) (.mk [] (.construct (.none (.adt 1)) []))))] (.matchOn (.move (.generated .holder 56)) [(.mk .none (.mk [] (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 5) [])])) (.mk [] (.construct (.none (.adt 1)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))]))))] (.matchOn (.move (.generated .holder 57)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 58)) none (.cond (.call (.function 20) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 6) [])])) (.mk [] (.construct (.none (.adt 1)) []))))] (.matchOn (.move (.generated .holder 58)) [(.mk .none (.mk [] (.cond (.call (.function 21) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 1 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))]))), (.mk (.some (.bind (.generated .binding 6))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 6))]))))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 4))]))))]), [(0, (.adt 3), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option (.adt 1))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 53)) none (.block (.mk [(.mk (.bind (.generated .holder 52)) none (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 0) [])])) (.mk [] (.construct (.none (.adt 1)) []))))] (.matchOn (.move (.generated .holder 52)) [(.mk .none (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 1) [])])) (.mk [] (.construct (.none (.adt 1)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))]))))]) (tail := (.matchOn (.move (.generated .holder 53)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 54)) none (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 2) [])])) (.mk [] (.construct (.none (.adt 1)) []))))] (.matchOn (.move (.generated .holder 54)) [(.mk .none (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 3) [])])) (.mk [] (.construct (.none (.adt 1)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct .some [(.move (.generated .binding 2))])))])) (Corr.matchArms (st := (.option (.adt 1))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 52)) none (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 0) [])])) (.mk [] (.construct (.none (.adt 1)) []))))]) (tail := (.matchOn (.move (.generated .holder 52)) [(.mk .none (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 1) [])])) (.mk [] (.construct (.none (.adt 1)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))])) (Corr.matchArms (st := (.option (.adt 1))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 14) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 1 0) [])])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 3), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 1) [])])) (.mk [] (.construct (.none (.adt 1)) [])))) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 3), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 1))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 15) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 1 1) [])])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 3), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 54)) none (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 2) [])])) (.mk [] (.construct (.none (.adt 1)) []))))]) (tail := (.matchOn (.move (.generated .holder 54)) [(.mk .none (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 3) [])])) (.mk [] (.construct (.none (.adt 1)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))])) (Corr.mCons (Γ' := [(2, (.adt 1), (some 2)), (0, (.adt 3), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 2))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.matchArms (st := (.option (.adt 1))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 16) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 1 2) [])])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 3), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 3) [])])) (.mk [] (.construct (.none (.adt 1)) [])))) (Corr.mCons (Γ' := [(3, (.adt 1), (some 3)), (0, (.adt 3), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 3))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 17) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 1 3) [])])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl)) rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 3), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 57)) none (.block (.mk [(.mk (.bind (.generated .holder 56)) none (.cond (.call (.function 18) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 1 4) [])])) (.mk [] (.construct (.none (.adt 1)) []))))] (.matchOn (.move (.generated .holder 56)) [(.mk .none (.mk [] (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 5) [])])) (.mk [] (.construct (.none (.adt 1)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))]))))]) (tail := (.matchOn (.move (.generated .holder 57)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 58)) none (.cond (.call (.function 20) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 6) [])])) (.mk [] (.construct (.none (.adt 1)) []))))] (.matchOn (.move (.generated .holder 58)) [(.mk .none (.mk [] (.cond (.call (.function 21) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 1 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))]))), (.mk (.some (.bind (.generated .binding 6))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 6))]))))])) (Corr.mCons (Γ' := [(4, (.adt 1), (some 4)), (0, (.adt 3), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.move (.generated .binding 4))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.matchArms (st := (.option (.adt 1))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 56)) none (.cond (.call (.function 18) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 1 4) [])])) (.mk [] (.construct (.none (.adt 1)) []))))]) (tail := (.matchOn (.move (.generated .holder 56)) [(.mk .none (.mk [] (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 5) [])])) (.mk [] (.construct (.none (.adt 1)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))])) (Corr.matchArms (st := (.option (.adt 1))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 18) [(.clone (.generated .binding 0))] true)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 1 4) [])])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 3), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 5) [])])) (.mk [] (.construct (.none (.adt 1)) [])))) (Corr.mCons (Γ' := [(5, (.adt 1), (some 5)), (0, (.adt 3), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 5))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 19) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 1 5) [])])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 3), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 58)) none (.cond (.call (.function 20) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 6) [])])) (.mk [] (.construct (.none (.adt 1)) []))))]) (tail := (.matchOn (.move (.generated .holder 58)) [(.mk .none (.mk [] (.cond (.call (.function 21) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 1 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))])) (Corr.mCons (Γ' := [(6, (.adt 1), (some 6)), (0, (.adt 3), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.move (.generated .binding 6))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.matchArms (st := (.option (.adt 1))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 20) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 1 6) [])])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 3), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 21) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 1 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 1)) []))))) (Corr.mCons (Γ' := [(7, (.adt 1), (some 7)), (0, (.adt 3), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.move (.generated .binding 7))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 21) [(.move (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.construct (.adt 1 7) [])]))) (lb := []) (tb := (.succeed (.construct (.none (.adt 1)) []))) (Corr.fOfB (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))) rfl rfl rfl)) rfl rfl rfl)) rfl rfl rfl)⟩⟩ - -theorem fun10 : FunOK program krate flags 10 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 59)) none (.move (.generated .binding 1)))], (.matchOn (.move (.generated .holder 59)) [(.mk (.adt 1 0 []) (.mk [] (.succeed (.call (.function 22) [(.move (.generated .binding 0))] false)))), (.mk (.adt 1 1 []) (.mk [] (.succeed (.call (.function 23) [(.move (.generated .binding 0))] false)))), (.mk (.adt 1 2 []) (.mk [] (.succeed (.call (.function 24) [(.move (.generated .binding 0))] false)))), (.mk (.adt 1 3 []) (.mk [] (.succeed (.call (.function 25) [(.move (.generated .binding 0))] false)))), (.mk (.adt 1 4 []) (.mk [] (.call (.function 26) [(.move (.generated .binding 0))] false))), (.mk (.adt 1 5 []) (.mk [] (.succeed (.call (.function 27) [(.move (.generated .binding 0))] false)))), (.mk (.adt 1 6 []) (.mk [] (.succeed (.call (.function 28) [(.move (.generated .binding 0))] false)))), (.mk (.adt 1 7 []) (.mk [] (.call (.function 29) [(.move (.generated .binding 0))] false)))]), [(1, (.adt 1), (some 1)), (0, (.adt 3), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.adt 1)) (U := []) (view := false) (idx := [0, 1, 2, 3, 4, 5, 6, 7]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 3), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.call (.function 22) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 3), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.call (.function 23) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 3), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.succeed (.call (.function 24) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 3), (some 0))]) (j := 3) (loads := []) (lets := []) (tail := (.succeed (.call (.function 25) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 3), (some 0))]) (j := 4) (loads := []) (lets := []) (tail := (.call (.function 26) [(.move (.generated .binding 0))] false)) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 3), (some 0))]) (j := 5) (loads := []) (lets := []) (tail := (.succeed (.call (.function 27) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 3), (some 0))]) (j := 6) (loads := []) (lets := []) (tail := (.succeed (.call (.function 28) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 3), (some 0))]) (j := 7) (loads := []) (lets := []) (tail := (.call (.function 29) [(.move (.generated .binding 0))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.callF (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun11 : FunOK program krate flags 11 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.tuple [.wild, (.bind (.generated .part 60))]) none (.block (.mk [(.mk (.bind (.generated .binding 7)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 3)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 1)) (some (.pair .bool .nat)) (.pair (.call (.function 14) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 61)), .wild]) none (.copy (.generated .binding 1)))] (.cond (.move (.generated .part 61)) (.mk [] (.copy (.generated .binding 1))) (.mk [(.mk (.bind (.generated .binding 2)) (some (.pair .bool .nat)) (.pair (.call (.function 15) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 62)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 62)))) (.block (.mk [(.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 63))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 63))))), (.mk (.bind (.generated .operand 66)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 64))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 64)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 65)), (.move (.generated .operand 66))] true))))))))), (.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.copy (.generated .binding 3)))] (.cond (.move (.generated .part 67)) (.mk [] (.copy (.generated .binding 3))) (.mk [(.mk (.bind (.generated .binding 6)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair .bool .nat)) (.pair (.call (.function 16) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 68)), .wild]) none (.copy (.generated .binding 4)))] (.cond (.move (.generated .part 68)) (.mk [] (.copy (.generated .binding 4))) (.mk [(.mk (.bind (.generated .binding 5)) (some (.pair .bool .nat)) (.pair (.call (.function 17) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 69)), .wild]) none (.copy (.generated .binding 5)))] (.move (.generated .part 69)))) (.block (.mk [(.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 70))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 70))))), (.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 71))]) none (.copy (.generated .binding 5)))] (.move (.generated .part 71)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] true)))))))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 74)), .wild]) none (.copy (.generated .binding 6)))] (.move (.generated .part 74)))) (.block (.mk [(.mk (.bind (.generated .operand 77)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 75))]) none (.copy (.generated .binding 3)))] (.move (.generated .part 75))))), (.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 76))]) none (.copy (.generated .binding 6)))] (.move (.generated .part 76)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 77)), (.move (.generated .operand 78))] true))))))))), (.mk (.tuple [(.bind (.generated .part 79)), .wild]) none (.copy (.generated .binding 7)))] (.cond (.move (.generated .part 79)) (.mk [] (.copy (.generated .binding 7))) (.mk [(.mk (.bind (.generated .binding 14)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 10)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 8)) (some (.pair .bool .nat)) (.pair (.call (.function 18) [(.clone (.generated .binding 0))] true) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.copy (.generated .binding 8)))] (.cond (.move (.generated .part 80)) (.mk [] (.copy (.generated .binding 8))) (.mk [(.mk (.bind (.generated .binding 9)) (some (.pair .bool .nat)) (.pair (.call (.function 19) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 81)), .wild]) none (.copy (.generated .binding 9)))] (.move (.generated .part 81)))) (.block (.mk [(.mk (.bind (.generated .operand 84)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 82))]) none (.copy (.generated .binding 8)))] (.move (.generated .part 82))))), (.mk (.bind (.generated .operand 85)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 83))]) none (.copy (.generated .binding 9)))] (.move (.generated .part 83)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 84)), (.move (.generated .operand 85))] true))))))))), (.mk (.tuple [(.bind (.generated .part 86)), .wild]) none (.copy (.generated .binding 10)))] (.cond (.move (.generated .part 86)) (.mk [] (.copy (.generated .binding 10))) (.mk [(.mk (.bind (.generated .binding 13)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 11)) (some (.pair .bool .nat)) (.pair (.call (.function 20) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 87)), .wild]) none (.copy (.generated .binding 11)))] (.cond (.move (.generated .part 87)) (.mk [] (.copy (.generated .binding 11))) (.mk [(.mk (.bind (.generated .binding 12)) (some (.pair .bool .nat)) (.pair (.call (.function 21) [(.move (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 88)), .wild]) none (.copy (.generated .binding 12)))] (.move (.generated .part 88)))) (.block (.mk [(.mk (.bind (.generated .operand 91)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 89))]) none (.copy (.generated .binding 11)))] (.move (.generated .part 89))))), (.mk (.bind (.generated .operand 92)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 90))]) none (.copy (.generated .binding 12)))] (.move (.generated .part 90)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] true)))))))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 93)), .wild]) none (.copy (.generated .binding 13)))] (.move (.generated .part 93)))) (.block (.mk [(.mk (.bind (.generated .operand 96)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 94))]) none (.copy (.generated .binding 10)))] (.move (.generated .part 94))))), (.mk (.bind (.generated .operand 97)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 95))]) none (.copy (.generated .binding 13)))] (.move (.generated .part 95)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 96)), (.move (.generated .operand 97))] true)))))))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 98)), .wild]) none (.copy (.generated .binding 14)))] (.move (.generated .part 98)))) (.block (.mk [(.mk (.bind (.generated .operand 101)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 99))]) none (.copy (.generated .binding 7)))] (.move (.generated .part 99))))), (.mk (.bind (.generated .operand 102)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 100))]) none (.copy (.generated .binding 14)))] (.move (.generated .part 100)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 101)), (.move (.generated .operand 102))] true)))))))))], (.succeed (.move (.generated .part 60))), [(0, (.adt 3), (some 0))], rfl, rfl, - (Corr.fOfB (Corr.second (ta := .bool) (tb := .nat) (Corr.eOfB (lets := [(.mk (.bind (.generated .binding 7)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 3)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 1)) (some (.pair .bool .nat)) (.pair (.call (.function 14) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 61)), .wild]) none (.copy (.generated .binding 1)))] (.cond (.move (.generated .part 61)) (.mk [] (.copy (.generated .binding 1))) (.mk [(.mk (.bind (.generated .binding 2)) (some (.pair .bool .nat)) (.pair (.call (.function 15) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 62)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 62)))) (.block (.mk [(.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 63))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 63))))), (.mk (.bind (.generated .operand 66)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 64))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 64)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 65)), (.move (.generated .operand 66))] true))))))))), (.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.copy (.generated .binding 3)))] (.cond (.move (.generated .part 67)) (.mk [] (.copy (.generated .binding 3))) (.mk [(.mk (.bind (.generated .binding 6)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair .bool .nat)) (.pair (.call (.function 16) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 68)), .wild]) none (.copy (.generated .binding 4)))] (.cond (.move (.generated .part 68)) (.mk [] (.copy (.generated .binding 4))) (.mk [(.mk (.bind (.generated .binding 5)) (some (.pair .bool .nat)) (.pair (.call (.function 17) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 69)), .wild]) none (.copy (.generated .binding 5)))] (.move (.generated .part 69)))) (.block (.mk [(.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 70))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 70))))), (.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 71))]) none (.copy (.generated .binding 5)))] (.move (.generated .part 71)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] true)))))))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 74)), .wild]) none (.copy (.generated .binding 6)))] (.move (.generated .part 74)))) (.block (.mk [(.mk (.bind (.generated .operand 77)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 75))]) none (.copy (.generated .binding 3)))] (.move (.generated .part 75))))), (.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 76))]) none (.copy (.generated .binding 6)))] (.move (.generated .part 76)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 77)), (.move (.generated .operand 78))] true))))))))), (.mk (.tuple [(.bind (.generated .part 79)), .wild]) none (.copy (.generated .binding 7)))]) (tail := (.cond (.move (.generated .part 79)) (.mk [] (.copy (.generated .binding 7))) (.mk [(.mk (.bind (.generated .binding 14)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 10)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 8)) (some (.pair .bool .nat)) (.pair (.call (.function 18) [(.clone (.generated .binding 0))] true) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.copy (.generated .binding 8)))] (.cond (.move (.generated .part 80)) (.mk [] (.copy (.generated .binding 8))) (.mk [(.mk (.bind (.generated .binding 9)) (some (.pair .bool .nat)) (.pair (.call (.function 19) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 81)), .wild]) none (.copy (.generated .binding 9)))] (.move (.generated .part 81)))) (.block (.mk [(.mk (.bind (.generated .operand 84)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 82))]) none (.copy (.generated .binding 8)))] (.move (.generated .part 82))))), (.mk (.bind (.generated .operand 85)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 83))]) none (.copy (.generated .binding 9)))] (.move (.generated .part 83)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 84)), (.move (.generated .operand 85))] true))))))))), (.mk (.tuple [(.bind (.generated .part 86)), .wild]) none (.copy (.generated .binding 10)))] (.cond (.move (.generated .part 86)) (.mk [] (.copy (.generated .binding 10))) (.mk [(.mk (.bind (.generated .binding 13)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 11)) (some (.pair .bool .nat)) (.pair (.call (.function 20) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 87)), .wild]) none (.copy (.generated .binding 11)))] (.cond (.move (.generated .part 87)) (.mk [] (.copy (.generated .binding 11))) (.mk [(.mk (.bind (.generated .binding 12)) (some (.pair .bool .nat)) (.pair (.call (.function 21) [(.move (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 88)), .wild]) none (.copy (.generated .binding 12)))] (.move (.generated .part 88)))) (.block (.mk [(.mk (.bind (.generated .operand 91)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 89))]) none (.copy (.generated .binding 11)))] (.move (.generated .part 89))))), (.mk (.bind (.generated .operand 92)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 90))]) none (.copy (.generated .binding 12)))] (.move (.generated .part 90)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] true)))))))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 93)), .wild]) none (.copy (.generated .binding 13)))] (.move (.generated .part 93)))) (.block (.mk [(.mk (.bind (.generated .operand 96)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 94))]) none (.copy (.generated .binding 10)))] (.move (.generated .part 94))))), (.mk (.bind (.generated .operand 97)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 95))]) none (.copy (.generated .binding 13)))] (.move (.generated .part 95)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 96)), (.move (.generated .operand 97))] true)))))))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 98)), .wild]) none (.copy (.generated .binding 14)))] (.move (.generated .part 98)))) (.block (.mk [(.mk (.bind (.generated .operand 101)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 99))]) none (.copy (.generated .binding 7)))] (.move (.generated .part 99))))), (.mk (.bind (.generated .operand 102)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 100))]) none (.copy (.generated .binding 14)))] (.move (.generated .part 100)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 101)), (.move (.generated .operand 102))] true))))))) (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .binding 3)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 1)) (some (.pair .bool .nat)) (.pair (.call (.function 14) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 61)), .wild]) none (.copy (.generated .binding 1)))] (.cond (.move (.generated .part 61)) (.mk [] (.copy (.generated .binding 1))) (.mk [(.mk (.bind (.generated .binding 2)) (some (.pair .bool .nat)) (.pair (.call (.function 15) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 62)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 62)))) (.block (.mk [(.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 63))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 63))))), (.mk (.bind (.generated .operand 66)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 64))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 64)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 65)), (.move (.generated .operand 66))] true))))))))), (.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.copy (.generated .binding 3)))]) (tail := (.cond (.move (.generated .part 67)) (.mk [] (.copy (.generated .binding 3))) (.mk [(.mk (.bind (.generated .binding 6)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair .bool .nat)) (.pair (.call (.function 16) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 68)), .wild]) none (.copy (.generated .binding 4)))] (.cond (.move (.generated .part 68)) (.mk [] (.copy (.generated .binding 4))) (.mk [(.mk (.bind (.generated .binding 5)) (some (.pair .bool .nat)) (.pair (.call (.function 17) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 69)), .wild]) none (.copy (.generated .binding 5)))] (.move (.generated .part 69)))) (.block (.mk [(.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 70))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 70))))), (.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 71))]) none (.copy (.generated .binding 5)))] (.move (.generated .part 71)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] true)))))))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 74)), .wild]) none (.copy (.generated .binding 6)))] (.move (.generated .part 74)))) (.block (.mk [(.mk (.bind (.generated .operand 77)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 75))]) none (.copy (.generated .binding 3)))] (.move (.generated .part 75))))), (.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 76))]) none (.copy (.generated .binding 6)))] (.move (.generated .part 76)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 77)), (.move (.generated .operand 78))] true))))))) (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .binding 1)) (some (.pair .bool .nat)) (.pair (.call (.function 14) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 61)), .wild]) none (.copy (.generated .binding 1)))]) (tail := (.cond (.move (.generated .part 61)) (.mk [] (.copy (.generated .binding 1))) (.mk [(.mk (.bind (.generated .binding 2)) (some (.pair .bool .nat)) (.pair (.call (.function 15) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 62)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 62)))) (.block (.mk [(.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 63))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 63))))), (.mk (.bind (.generated .operand 66)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 64))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 64)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 65)), (.move (.generated .operand 66))] true))))))) (Corr.letBind (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl (Corr.cond (lc := [(.mk (.tuple [(.bind (.generated .part 61)), .wild]) none (.copy (.generated .binding 1)))]) (ce := (.move (.generated .part 61))) (lk := []) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl) (Corr.kIf (la := []) (ta := (.copy (.generated .binding 1))) (lb := [(.mk (.bind (.generated .binding 2)) (some (.pair .bool .nat)) (.pair (.call (.function 15) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))]) (tb := (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 62)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 62)))) (.block (.mk [(.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 63))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 63))))), (.mk (.bind (.generated .operand 66)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 64))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 64)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 65)), (.move (.generated .operand 66))] true))))) (Corr.bOfE (Corr.var rfl rfl)) (Corr.letBind (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 62)), .wild]) none (.copy (.generated .binding 2)))]) (tail := (.move (.generated .part 62))) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 63))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 63))))), (.mk (.bind (.generated .operand 66)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 64))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 64)))))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 65)), (.move (.generated .operand 66))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 63))]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 63))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 64))]) none (.copy (.generated .binding 2)))]) (tail := (.move (.generated .part 64))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))))) rfl (Corr.cond (lc := [(.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.copy (.generated .binding 3)))]) (ce := (.move (.generated .part 67))) (lk := []) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl) (Corr.kIf (la := []) (ta := (.copy (.generated .binding 3))) (lb := [(.mk (.bind (.generated .binding 6)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair .bool .nat)) (.pair (.call (.function 16) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 68)), .wild]) none (.copy (.generated .binding 4)))] (.cond (.move (.generated .part 68)) (.mk [] (.copy (.generated .binding 4))) (.mk [(.mk (.bind (.generated .binding 5)) (some (.pair .bool .nat)) (.pair (.call (.function 17) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 69)), .wild]) none (.copy (.generated .binding 5)))] (.move (.generated .part 69)))) (.block (.mk [(.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 70))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 70))))), (.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 71))]) none (.copy (.generated .binding 5)))] (.move (.generated .part 71)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] true)))))))))]) (tb := (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 74)), .wild]) none (.copy (.generated .binding 6)))] (.move (.generated .part 74)))) (.block (.mk [(.mk (.bind (.generated .operand 77)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 75))]) none (.copy (.generated .binding 3)))] (.move (.generated .part 75))))), (.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 76))]) none (.copy (.generated .binding 6)))] (.move (.generated .part 76)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 77)), (.move (.generated .operand 78))] true))))) (Corr.bOfE (Corr.var rfl rfl)) (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .binding 4)) (some (.pair .bool .nat)) (.pair (.call (.function 16) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 68)), .wild]) none (.copy (.generated .binding 4)))]) (tail := (.cond (.move (.generated .part 68)) (.mk [] (.copy (.generated .binding 4))) (.mk [(.mk (.bind (.generated .binding 5)) (some (.pair .bool .nat)) (.pair (.call (.function 17) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 69)), .wild]) none (.copy (.generated .binding 5)))] (.move (.generated .part 69)))) (.block (.mk [(.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 70))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 70))))), (.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 71))]) none (.copy (.generated .binding 5)))] (.move (.generated .part 71)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] true))))))) (Corr.letBind (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl (Corr.cond (lc := [(.mk (.tuple [(.bind (.generated .part 68)), .wild]) none (.copy (.generated .binding 4)))]) (ce := (.move (.generated .part 68))) (lk := []) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl) (Corr.kIf (la := []) (ta := (.copy (.generated .binding 4))) (lb := [(.mk (.bind (.generated .binding 5)) (some (.pair .bool .nat)) (.pair (.call (.function 17) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))]) (tb := (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 69)), .wild]) none (.copy (.generated .binding 5)))] (.move (.generated .part 69)))) (.block (.mk [(.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 70))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 70))))), (.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 71))]) none (.copy (.generated .binding 5)))] (.move (.generated .part 71)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] true))))) (Corr.bOfE (Corr.var rfl rfl)) (Corr.letBind (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 69)), .wild]) none (.copy (.generated .binding 5)))]) (tail := (.move (.generated .part 69))) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 70))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 70))))), (.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 71))]) none (.copy (.generated .binding 5)))] (.move (.generated .part 71)))))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 70))]) none (.copy (.generated .binding 4)))]) (tail := (.move (.generated .part 70))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 71))]) none (.copy (.generated .binding 5)))]) (tail := (.move (.generated .part 71))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))))) rfl (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 74)), .wild]) none (.copy (.generated .binding 6)))]) (tail := (.move (.generated .part 74))) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 77)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 75))]) none (.copy (.generated .binding 3)))] (.move (.generated .part 75))))), (.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 76))]) none (.copy (.generated .binding 6)))] (.move (.generated .part 76)))))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 77)), (.move (.generated .operand 78))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 75))]) none (.copy (.generated .binding 3)))]) (tail := (.move (.generated .part 75))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 76))]) none (.copy (.generated .binding 6)))]) (tail := (.move (.generated .part 76))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))))) rfl (Corr.cond (lc := [(.mk (.tuple [(.bind (.generated .part 79)), .wild]) none (.copy (.generated .binding 7)))]) (ce := (.move (.generated .part 79))) (lk := []) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl) (Corr.kIf (la := []) (ta := (.copy (.generated .binding 7))) (lb := [(.mk (.bind (.generated .binding 14)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 10)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 8)) (some (.pair .bool .nat)) (.pair (.call (.function 18) [(.clone (.generated .binding 0))] true) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.copy (.generated .binding 8)))] (.cond (.move (.generated .part 80)) (.mk [] (.copy (.generated .binding 8))) (.mk [(.mk (.bind (.generated .binding 9)) (some (.pair .bool .nat)) (.pair (.call (.function 19) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 81)), .wild]) none (.copy (.generated .binding 9)))] (.move (.generated .part 81)))) (.block (.mk [(.mk (.bind (.generated .operand 84)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 82))]) none (.copy (.generated .binding 8)))] (.move (.generated .part 82))))), (.mk (.bind (.generated .operand 85)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 83))]) none (.copy (.generated .binding 9)))] (.move (.generated .part 83)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 84)), (.move (.generated .operand 85))] true))))))))), (.mk (.tuple [(.bind (.generated .part 86)), .wild]) none (.copy (.generated .binding 10)))] (.cond (.move (.generated .part 86)) (.mk [] (.copy (.generated .binding 10))) (.mk [(.mk (.bind (.generated .binding 13)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 11)) (some (.pair .bool .nat)) (.pair (.call (.function 20) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 87)), .wild]) none (.copy (.generated .binding 11)))] (.cond (.move (.generated .part 87)) (.mk [] (.copy (.generated .binding 11))) (.mk [(.mk (.bind (.generated .binding 12)) (some (.pair .bool .nat)) (.pair (.call (.function 21) [(.move (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 88)), .wild]) none (.copy (.generated .binding 12)))] (.move (.generated .part 88)))) (.block (.mk [(.mk (.bind (.generated .operand 91)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 89))]) none (.copy (.generated .binding 11)))] (.move (.generated .part 89))))), (.mk (.bind (.generated .operand 92)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 90))]) none (.copy (.generated .binding 12)))] (.move (.generated .part 90)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] true)))))))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 93)), .wild]) none (.copy (.generated .binding 13)))] (.move (.generated .part 93)))) (.block (.mk [(.mk (.bind (.generated .operand 96)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 94))]) none (.copy (.generated .binding 10)))] (.move (.generated .part 94))))), (.mk (.bind (.generated .operand 97)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 95))]) none (.copy (.generated .binding 13)))] (.move (.generated .part 95)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 96)), (.move (.generated .operand 97))] true)))))))))]) (tb := (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 98)), .wild]) none (.copy (.generated .binding 14)))] (.move (.generated .part 98)))) (.block (.mk [(.mk (.bind (.generated .operand 101)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 99))]) none (.copy (.generated .binding 7)))] (.move (.generated .part 99))))), (.mk (.bind (.generated .operand 102)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 100))]) none (.copy (.generated .binding 14)))] (.move (.generated .part 100)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 101)), (.move (.generated .operand 102))] true))))) (Corr.bOfE (Corr.var rfl rfl)) (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .binding 10)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 8)) (some (.pair .bool .nat)) (.pair (.call (.function 18) [(.clone (.generated .binding 0))] true) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.copy (.generated .binding 8)))] (.cond (.move (.generated .part 80)) (.mk [] (.copy (.generated .binding 8))) (.mk [(.mk (.bind (.generated .binding 9)) (some (.pair .bool .nat)) (.pair (.call (.function 19) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 81)), .wild]) none (.copy (.generated .binding 9)))] (.move (.generated .part 81)))) (.block (.mk [(.mk (.bind (.generated .operand 84)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 82))]) none (.copy (.generated .binding 8)))] (.move (.generated .part 82))))), (.mk (.bind (.generated .operand 85)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 83))]) none (.copy (.generated .binding 9)))] (.move (.generated .part 83)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 84)), (.move (.generated .operand 85))] true))))))))), (.mk (.tuple [(.bind (.generated .part 86)), .wild]) none (.copy (.generated .binding 10)))]) (tail := (.cond (.move (.generated .part 86)) (.mk [] (.copy (.generated .binding 10))) (.mk [(.mk (.bind (.generated .binding 13)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 11)) (some (.pair .bool .nat)) (.pair (.call (.function 20) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 87)), .wild]) none (.copy (.generated .binding 11)))] (.cond (.move (.generated .part 87)) (.mk [] (.copy (.generated .binding 11))) (.mk [(.mk (.bind (.generated .binding 12)) (some (.pair .bool .nat)) (.pair (.call (.function 21) [(.move (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 88)), .wild]) none (.copy (.generated .binding 12)))] (.move (.generated .part 88)))) (.block (.mk [(.mk (.bind (.generated .operand 91)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 89))]) none (.copy (.generated .binding 11)))] (.move (.generated .part 89))))), (.mk (.bind (.generated .operand 92)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 90))]) none (.copy (.generated .binding 12)))] (.move (.generated .part 90)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] true)))))))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 93)), .wild]) none (.copy (.generated .binding 13)))] (.move (.generated .part 93)))) (.block (.mk [(.mk (.bind (.generated .operand 96)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 94))]) none (.copy (.generated .binding 10)))] (.move (.generated .part 94))))), (.mk (.bind (.generated .operand 97)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 95))]) none (.copy (.generated .binding 13)))] (.move (.generated .part 95)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 96)), (.move (.generated .operand 97))] true))))))) (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .binding 8)) (some (.pair .bool .nat)) (.pair (.call (.function 18) [(.clone (.generated .binding 0))] true) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.copy (.generated .binding 8)))]) (tail := (.cond (.move (.generated .part 80)) (.mk [] (.copy (.generated .binding 8))) (.mk [(.mk (.bind (.generated .binding 9)) (some (.pair .bool .nat)) (.pair (.call (.function 19) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 81)), .wild]) none (.copy (.generated .binding 9)))] (.move (.generated .part 81)))) (.block (.mk [(.mk (.bind (.generated .operand 84)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 82))]) none (.copy (.generated .binding 8)))] (.move (.generated .part 82))))), (.mk (.bind (.generated .operand 85)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 83))]) none (.copy (.generated .binding 9)))] (.move (.generated .part 83)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 84)), (.move (.generated .operand 85))] true))))))) (Corr.letBind (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl (Corr.cond (lc := [(.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.copy (.generated .binding 8)))]) (ce := (.move (.generated .part 80))) (lk := []) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl) (Corr.kIf (la := []) (ta := (.copy (.generated .binding 8))) (lb := [(.mk (.bind (.generated .binding 9)) (some (.pair .bool .nat)) (.pair (.call (.function 19) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))]) (tb := (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 81)), .wild]) none (.copy (.generated .binding 9)))] (.move (.generated .part 81)))) (.block (.mk [(.mk (.bind (.generated .operand 84)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 82))]) none (.copy (.generated .binding 8)))] (.move (.generated .part 82))))), (.mk (.bind (.generated .operand 85)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 83))]) none (.copy (.generated .binding 9)))] (.move (.generated .part 83)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 84)), (.move (.generated .operand 85))] true))))) (Corr.bOfE (Corr.var rfl rfl)) (Corr.letBind (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 81)), .wild]) none (.copy (.generated .binding 9)))]) (tail := (.move (.generated .part 81))) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 84)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 82))]) none (.copy (.generated .binding 8)))] (.move (.generated .part 82))))), (.mk (.bind (.generated .operand 85)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 83))]) none (.copy (.generated .binding 9)))] (.move (.generated .part 83)))))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 84)), (.move (.generated .operand 85))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 82))]) none (.copy (.generated .binding 8)))]) (tail := (.move (.generated .part 82))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 83))]) none (.copy (.generated .binding 9)))]) (tail := (.move (.generated .part 83))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))))) rfl (Corr.cond (lc := [(.mk (.tuple [(.bind (.generated .part 86)), .wild]) none (.copy (.generated .binding 10)))]) (ce := (.move (.generated .part 86))) (lk := []) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl) (Corr.kIf (la := []) (ta := (.copy (.generated .binding 10))) (lb := [(.mk (.bind (.generated .binding 13)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 11)) (some (.pair .bool .nat)) (.pair (.call (.function 20) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 87)), .wild]) none (.copy (.generated .binding 11)))] (.cond (.move (.generated .part 87)) (.mk [] (.copy (.generated .binding 11))) (.mk [(.mk (.bind (.generated .binding 12)) (some (.pair .bool .nat)) (.pair (.call (.function 21) [(.move (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 88)), .wild]) none (.copy (.generated .binding 12)))] (.move (.generated .part 88)))) (.block (.mk [(.mk (.bind (.generated .operand 91)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 89))]) none (.copy (.generated .binding 11)))] (.move (.generated .part 89))))), (.mk (.bind (.generated .operand 92)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 90))]) none (.copy (.generated .binding 12)))] (.move (.generated .part 90)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] true)))))))))]) (tb := (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 93)), .wild]) none (.copy (.generated .binding 13)))] (.move (.generated .part 93)))) (.block (.mk [(.mk (.bind (.generated .operand 96)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 94))]) none (.copy (.generated .binding 10)))] (.move (.generated .part 94))))), (.mk (.bind (.generated .operand 97)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 95))]) none (.copy (.generated .binding 13)))] (.move (.generated .part 95)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 96)), (.move (.generated .operand 97))] true))))) (Corr.bOfE (Corr.var rfl rfl)) (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .binding 11)) (some (.pair .bool .nat)) (.pair (.call (.function 20) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 87)), .wild]) none (.copy (.generated .binding 11)))]) (tail := (.cond (.move (.generated .part 87)) (.mk [] (.copy (.generated .binding 11))) (.mk [(.mk (.bind (.generated .binding 12)) (some (.pair .bool .nat)) (.pair (.call (.function 21) [(.move (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 88)), .wild]) none (.copy (.generated .binding 12)))] (.move (.generated .part 88)))) (.block (.mk [(.mk (.bind (.generated .operand 91)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 89))]) none (.copy (.generated .binding 11)))] (.move (.generated .part 89))))), (.mk (.bind (.generated .operand 92)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 90))]) none (.copy (.generated .binding 12)))] (.move (.generated .part 90)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] true))))))) (Corr.letBind (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl (Corr.cond (lc := [(.mk (.tuple [(.bind (.generated .part 87)), .wild]) none (.copy (.generated .binding 11)))]) (ce := (.move (.generated .part 87))) (lk := []) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl) (Corr.kIf (la := []) (ta := (.copy (.generated .binding 11))) (lb := [(.mk (.bind (.generated .binding 12)) (some (.pair .bool .nat)) (.pair (.call (.function 21) [(.move (.generated .binding 0))] false) (.lit (.nat 1))))]) (tb := (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 88)), .wild]) none (.copy (.generated .binding 12)))] (.move (.generated .part 88)))) (.block (.mk [(.mk (.bind (.generated .operand 91)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 89))]) none (.copy (.generated .binding 11)))] (.move (.generated .part 89))))), (.mk (.bind (.generated .operand 92)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 90))]) none (.copy (.generated .binding 12)))] (.move (.generated .part 90)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] true))))) (Corr.bOfE (Corr.var rfl rfl)) (Corr.letBind (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 88)), .wild]) none (.copy (.generated .binding 12)))]) (tail := (.move (.generated .part 88))) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 91)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 89))]) none (.copy (.generated .binding 11)))] (.move (.generated .part 89))))), (.mk (.bind (.generated .operand 92)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 90))]) none (.copy (.generated .binding 12)))] (.move (.generated .part 90)))))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 89))]) none (.copy (.generated .binding 11)))]) (tail := (.move (.generated .part 89))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 90))]) none (.copy (.generated .binding 12)))]) (tail := (.move (.generated .part 90))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))))) rfl (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 93)), .wild]) none (.copy (.generated .binding 13)))]) (tail := (.move (.generated .part 93))) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 96)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 94))]) none (.copy (.generated .binding 10)))] (.move (.generated .part 94))))), (.mk (.bind (.generated .operand 97)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 95))]) none (.copy (.generated .binding 13)))] (.move (.generated .part 95)))))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 96)), (.move (.generated .operand 97))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 94))]) none (.copy (.generated .binding 10)))]) (tail := (.move (.generated .part 94))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 95))]) none (.copy (.generated .binding 13)))]) (tail := (.move (.generated .part 95))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))))) rfl (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 98)), .wild]) none (.copy (.generated .binding 14)))]) (tail := (.move (.generated .part 98))) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 101)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 99))]) none (.copy (.generated .binding 7)))] (.move (.generated .part 99))))), (.mk (.bind (.generated .operand 102)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 100))]) none (.copy (.generated .binding 14)))] (.move (.generated .part 100)))))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 101)), (.move (.generated .operand 102))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 99))]) none (.copy (.generated .binding 7)))]) (tail := (.move (.generated .part 99))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 100))]) none (.copy (.generated .binding 14)))]) (tail := (.move (.generated .part 100))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))))) rfl))⟩⟩ - -theorem fun12 : FunOK program krate flags 12 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 3 0) [(.move (.generated .binding 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0))]), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun13 : FunOK program krate flags 13 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 103)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 104)) none (.lit (.nat 3)))], (.cond (.call (.runtime .natLe) [(.move (.generated .operand 103)), (.move (.generated .operand 104))] false) (.mk [(.mk (.bind (.generated .operand 105)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 106)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 105)), (.move (.generated .operand 106))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 110)) none (.cond (.call (.function 30) [(.clone (.generated .binding 0))] false) (.mk [(.mk (.bind (.generated .operand 108)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 107))]) (.mk [] (.move (.generated .part 107))))])), (.mk (.bind (.generated .operand 109)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 108)), (.move (.generated .operand 109))] false) (.mk [] (.cond (.call (.function 31) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 32) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))] (.call (.runtime .boolNot) [(.move (.generated .operand 110))] false)))) (.mk [] (.lit (.bool false)))), [(1, .nat, (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 103)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 104)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natLe) [(.move (.generated .operand 103)), (.move (.generated .operand 104))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 105)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 106)) none (.lit (.nat 3)))]) (ta := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 105)), (.move (.generated .operand 106))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 110)) none (.cond (.call (.function 30) [(.clone (.generated .binding 0))] false) (.mk [(.mk (.bind (.generated .operand 108)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 107))]) (.mk [] (.move (.generated .part 107))))])), (.mk (.bind (.generated .operand 109)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 108)), (.move (.generated .operand 109))] false) (.mk [] (.cond (.call (.function 31) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 32) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))] (.call (.runtime .boolNot) [(.move (.generated .operand 110))] false)))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 105)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 106)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 105)), (.move (.generated .operand 106))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 110)) none (.cond (.call (.function 30) [(.clone (.generated .binding 0))] false) (.mk [(.mk (.bind (.generated .operand 108)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 107))]) (.mk [] (.move (.generated .part 107))))])), (.mk (.bind (.generated .operand 109)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 108)), (.move (.generated .operand 109))] false) (.mk [] (.cond (.call (.function 31) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 32) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))]) (tb := (.call (.runtime .boolNot) [(.move (.generated .operand 110))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.prim (ts := [.bool]) (Corr.opsCons (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 30) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 108)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 107))]) (.mk [] (.move (.generated .part 107))))])), (.mk (.bind (.generated .operand 109)) none (.lit (.nat 1)))]) (ta := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 108)), (.move (.generated .operand 109))] false) (.mk [] (.cond (.call (.function 31) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 32) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 108)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 107))]) (.mk [] (.move (.generated .part 107))))])), (.mk (.bind (.generated .operand 109)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 108)), (.move (.generated .operand 109))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 107))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 31) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 32) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := []) (ce := (.call (.function 31) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 32) [(.move (.generated .binding 0))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl))))) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun14 : FunOK program krate flags 14 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 112)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 111)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 111))))])), (.mk (.bind (.generated .operand 113)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 112)), (.move (.generated .operand 113))] false) (.mk [] (.call (.function 31) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 114)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 114))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 3), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 112)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 111)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 111))))])), (.mk (.bind (.generated .operand 113)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 112)), (.move (.generated .operand 113))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 111))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 31) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 114)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 114))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 114))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun15 : FunOK program krate flags 15 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 116)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 115)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 115))))])), (.mk (.bind (.generated .operand 117)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 116)), (.move (.generated .operand 117))] false) (.mk [] (.call (.function 32) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 118)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 118))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 3), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 116)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 115)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 115))))])), (.mk (.bind (.generated .operand 117)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 116)), (.move (.generated .operand 117))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 115))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 32) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 118)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 118))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 118))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun16 : FunOK program krate flags 16 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 120)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 119)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 119))))])), (.mk (.bind (.generated .operand 121)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 120)), (.move (.generated .operand 121))] false) (.mk [] (.call (.function 33) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 122)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 122))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 3), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 120)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 119)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 119))))])), (.mk (.bind (.generated .operand 121)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 120)), (.move (.generated .operand 121))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 119))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 33) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 122)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 122))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 122))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun17 : FunOK program krate flags 17 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 124)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 123)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 123))))])), (.mk (.bind (.generated .operand 125)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 124)), (.move (.generated .operand 125))] false) (.mk [] (.call (.function 34) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 126)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 126))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 3), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 124)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 123)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 123))))])), (.mk (.bind (.generated .operand 125)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 124)), (.move (.generated .operand 125))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 123))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 34) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 126)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 126))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 126))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun18 : FunOK program krate flags 18 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 128)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 127)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 127))))])), (.mk (.bind (.generated .operand 129)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 128)), (.move (.generated .operand 129))] false) (.mk [(.mk (.bind (.generated .operand 140)) none (.lit (.nat 2))), (.mk (.bind (.generated .operand 141)) none (.block (.mk [(.mk (.bind (.generated .operand 138)) none (.block (.mk [(.mk (.bind (.generated .operand 135)) none (.block (.mk [(.mk (.bind (.generated .operand 132)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 130)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 130))))])), (.mk (.bind (.generated .operand 133)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 131)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 131))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 132)), (.move (.generated .operand 133))] true)))), (.mk (.bind (.generated .operand 136)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 134)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 134))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 135)), (.move (.generated .operand 136))] true)))), (.mk (.bind (.generated .operand 139)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 137)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 137))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 138)), (.move (.generated .operand 139))] true))))] (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 140)), (.move (.generated .operand 141))] false))) (.mk [] (.succeed (.lit (.bool false))))), [(0, (.adt 3), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 128)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 127)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 127))))])), (.mk (.bind (.generated .operand 129)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 128)), (.move (.generated .operand 129))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 127))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 140)) none (.lit (.nat 2))), (.mk (.bind (.generated .operand 141)) none (.block (.mk [(.mk (.bind (.generated .operand 138)) none (.block (.mk [(.mk (.bind (.generated .operand 135)) none (.block (.mk [(.mk (.bind (.generated .operand 132)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 130)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 130))))])), (.mk (.bind (.generated .operand 133)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 131)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 131))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 132)), (.move (.generated .operand 133))] true)))), (.mk (.bind (.generated .operand 136)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 134)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 134))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 135)), (.move (.generated .operand 136))] true)))), (.mk (.bind (.generated .operand 139)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 137)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 137))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 138)), (.move (.generated .operand 139))] true))))]) (ta := (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 140)), (.move (.generated .operand 141))] false))) (lb := []) (tb := (.succeed (.lit (.bool false)))) (Corr.fOfB (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 138)) none (.block (.mk [(.mk (.bind (.generated .operand 135)) none (.block (.mk [(.mk (.bind (.generated .operand 132)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 130)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 130))))])), (.mk (.bind (.generated .operand 133)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 131)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 131))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 132)), (.move (.generated .operand 133))] true)))), (.mk (.bind (.generated .operand 136)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 134)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 134))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 135)), (.move (.generated .operand 136))] true)))), (.mk (.bind (.generated .operand 139)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 137)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 137))))]))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 138)), (.move (.generated .operand 139))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 135)) none (.block (.mk [(.mk (.bind (.generated .operand 132)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 130)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 130))))])), (.mk (.bind (.generated .operand 133)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 131)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 131))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 132)), (.move (.generated .operand 133))] true)))), (.mk (.bind (.generated .operand 136)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 134)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 134))))]))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 135)), (.move (.generated .operand 136))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 132)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 130)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 130))))])), (.mk (.bind (.generated .operand 133)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 131)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 131))))]))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 132)), (.move (.generated .operand 133))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 130))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 131))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 134))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 137))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.fOfB (Corr.bOfE (Corr.buildConst rfl)))))⟩⟩ - -theorem fun19 : FunOK program krate flags 19 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 143)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 142)), .wild, .wild]) (.mk [] (.move (.generated .part 142))))])), (.mk (.bind (.generated .operand 144)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 143)), (.move (.generated .operand 144))] false) (.mk [(.mk (.bind (.generated .operand 146)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 145)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 145))))])), (.mk (.bind (.generated .operand 147)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 146)), (.move (.generated .operand 147))] false) (.mk [(.mk (.bind (.generated .operand 151)) none (.block (.mk [(.mk (.bind (.generated .holder 150)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 149)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 149))))]))] (.matchOn (.move (.generated .holder 150)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 148))]) (.mk [] (.move (.generated .part 148))))])))), (.mk (.bind (.generated .operand 152)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 151)), (.move (.generated .operand 152))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))), [(0, (.adt 3), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 143)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 142)), .wild, .wild]) (.mk [] (.move (.generated .part 142))))])), (.mk (.bind (.generated .operand 144)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 143)), (.move (.generated .operand 144))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 142))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 146)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 145)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 145))))])), (.mk (.bind (.generated .operand 147)) none (.lit (.nat 1)))]) (ta := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 146)), (.move (.generated .operand 147))] false) (.mk [(.mk (.bind (.generated .operand 151)) none (.block (.mk [(.mk (.bind (.generated .holder 150)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 149)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 149))))]))] (.matchOn (.move (.generated .holder 150)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 148))]) (.mk [] (.move (.generated .part 148))))])))), (.mk (.bind (.generated .operand 152)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 151)), (.move (.generated .operand 152))] false)) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 146)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 145)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 145))))])), (.mk (.bind (.generated .operand 147)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 146)), (.move (.generated .operand 147))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 145))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 151)) none (.block (.mk [(.mk (.bind (.generated .holder 150)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 149)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 149))))]))] (.matchOn (.move (.generated .holder 150)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 148))]) (.mk [] (.move (.generated .part 148))))])))), (.mk (.bind (.generated .operand 152)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 151)), (.move (.generated .operand 152))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 150)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 149)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 149))))]))]) (tail := (.matchOn (.move (.generated .holder 150)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 148))]) (.mk [] (.move (.generated .part 148))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 148))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 149))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun20 : FunOK program krate flags 20 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 154)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 153)), .wild]) (.mk [] (.move (.generated .part 153))))])), (.mk (.bind (.generated .operand 155)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 154)), (.move (.generated .operand 155))] false) (.mk [(.mk (.bind (.generated .operand 157)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 156)), .wild, .wild]) (.mk [] (.move (.generated .part 156))))])), (.mk (.bind (.generated .operand 158)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 157)), (.move (.generated .operand 158))] false) (.mk [] (.call (.function 30) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 159)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 159))))])] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))), [(0, (.adt 3), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 154)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 153)), .wild]) (.mk [] (.move (.generated .part 153))))])), (.mk (.bind (.generated .operand 155)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 154)), (.move (.generated .operand 155))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 153))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 157)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 156)), .wild, .wild]) (.mk [] (.move (.generated .part 156))))])), (.mk (.bind (.generated .operand 158)) none (.lit (.nat 1)))]) (ta := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 157)), (.move (.generated .operand 158))] false) (.mk [] (.call (.function 30) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 159)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 159))))])] false)) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 157)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 156)), .wild, .wild]) (.mk [] (.move (.generated .part 156))))])), (.mk (.bind (.generated .operand 158)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 157)), (.move (.generated .operand 158))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 156))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 30) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 159)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 159))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 159))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun21 : FunOK program krate flags 21 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 161)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 160))]) (.mk [] (.move (.generated .part 160))))])), (.mk (.bind (.generated .operand 162)) none (.lit (.nat 3)))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 161)), (.move (.generated .operand 162))] false) (.mk [(.mk (.bind (.generated .operand 164)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 163))]) (.mk [] (.move (.generated .part 163))))])), (.mk (.bind (.generated .operand 165)) none (.lit (.nat 0)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 164)), (.move (.generated .operand 165))] false) (.mk [(.mk (.bind (.generated .operand 167)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 166)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 166))))])), (.mk (.bind (.generated .operand 168)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 167)), (.move (.generated .operand 168))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 170)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 169))]) (.mk [] (.move (.generated .part 169))))])), (.mk (.bind (.generated .operand 171)) none (.lit (.nat 1)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 170)), (.move (.generated .operand 171))] false) (.mk [(.mk (.bind (.generated .operand 173)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 172)), .wild, .wild]) (.mk [] (.move (.generated .part 172))))])), (.mk (.bind (.generated .operand 174)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 173)), (.move (.generated .operand 174))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 176)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 175))]) (.mk [] (.move (.generated .part 175))))])), (.mk (.bind (.generated .operand 177)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 176)), (.move (.generated .operand 177))] false) (.mk [(.mk (.bind (.generated .operand 179)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 178)), .wild]) (.mk [] (.move (.generated .part 178))))])), (.mk (.bind (.generated .operand 180)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 179)), (.move (.generated .operand 180))] false)) (.mk [] (.lit (.bool false))))))))) (.mk [] (.lit (.bool false)))), [(0, (.adt 3), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 161)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 160))]) (.mk [] (.move (.generated .part 160))))])), (.mk (.bind (.generated .operand 162)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 161)), (.move (.generated .operand 162))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 160))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 164)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 163))]) (.mk [] (.move (.generated .part 163))))])), (.mk (.bind (.generated .operand 165)) none (.lit (.nat 0)))]) (ta := (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 164)), (.move (.generated .operand 165))] false) (.mk [(.mk (.bind (.generated .operand 167)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 166)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 166))))])), (.mk (.bind (.generated .operand 168)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 167)), (.move (.generated .operand 168))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 170)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 169))]) (.mk [] (.move (.generated .part 169))))])), (.mk (.bind (.generated .operand 171)) none (.lit (.nat 1)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 170)), (.move (.generated .operand 171))] false) (.mk [(.mk (.bind (.generated .operand 173)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 172)), .wild, .wild]) (.mk [] (.move (.generated .part 172))))])), (.mk (.bind (.generated .operand 174)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 173)), (.move (.generated .operand 174))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 176)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 175))]) (.mk [] (.move (.generated .part 175))))])), (.mk (.bind (.generated .operand 177)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 176)), (.move (.generated .operand 177))] false) (.mk [(.mk (.bind (.generated .operand 179)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 178)), .wild]) (.mk [] (.move (.generated .part 178))))])), (.mk (.bind (.generated .operand 180)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 179)), (.move (.generated .operand 180))] false)) (.mk [] (.lit (.bool false))))))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 164)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 163))]) (.mk [] (.move (.generated .part 163))))])), (.mk (.bind (.generated .operand 165)) none (.lit (.nat 0)))]) (ce := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 164)), (.move (.generated .operand 165))] false) (.mk [(.mk (.bind (.generated .operand 167)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 166)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 166))))])), (.mk (.bind (.generated .operand 168)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 167)), (.move (.generated .operand 168))] false)) (.mk [] (.lit (.bool false))))) (lk := []) (Corr.cond (lc := [(.mk (.bind (.generated .operand 164)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 163))]) (.mk [] (.move (.generated .part 163))))])), (.mk (.bind (.generated .operand 165)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 164)), (.move (.generated .operand 165))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 163))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 167)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 166)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 166))))])), (.mk (.bind (.generated .operand 168)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 167)), (.move (.generated .operand 168))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 166))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 170)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 169))]) (.mk [] (.move (.generated .part 169))))])), (.mk (.bind (.generated .operand 171)) none (.lit (.nat 1)))]) (tb := (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 170)), (.move (.generated .operand 171))] false) (.mk [(.mk (.bind (.generated .operand 173)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 172)), .wild, .wild]) (.mk [] (.move (.generated .part 172))))])), (.mk (.bind (.generated .operand 174)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 173)), (.move (.generated .operand 174))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 176)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 175))]) (.mk [] (.move (.generated .part 175))))])), (.mk (.bind (.generated .operand 177)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 176)), (.move (.generated .operand 177))] false) (.mk [(.mk (.bind (.generated .operand 179)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 178)), .wild]) (.mk [] (.move (.generated .part 178))))])), (.mk (.bind (.generated .operand 180)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 179)), (.move (.generated .operand 180))] false)) (.mk [] (.lit (.bool false))))))) (Corr.bOfE (Corr.buildConst rfl)) (Corr.cond (lc := [(.mk (.bind (.generated .operand 170)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 169))]) (.mk [] (.move (.generated .part 169))))])), (.mk (.bind (.generated .operand 171)) none (.lit (.nat 1)))]) (ce := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 170)), (.move (.generated .operand 171))] false) (.mk [(.mk (.bind (.generated .operand 173)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 172)), .wild, .wild]) (.mk [] (.move (.generated .part 172))))])), (.mk (.bind (.generated .operand 174)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 173)), (.move (.generated .operand 174))] false)) (.mk [] (.lit (.bool false))))) (lk := []) (Corr.cond (lc := [(.mk (.bind (.generated .operand 170)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 169))]) (.mk [] (.move (.generated .part 169))))])), (.mk (.bind (.generated .operand 171)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 170)), (.move (.generated .operand 171))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 169))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 173)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 172)), .wild, .wild]) (.mk [] (.move (.generated .part 172))))])), (.mk (.bind (.generated .operand 174)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 173)), (.move (.generated .operand 174))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 172))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 176)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 175))]) (.mk [] (.move (.generated .part 175))))])), (.mk (.bind (.generated .operand 177)) none (.lit (.nat 2)))]) (tb := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 176)), (.move (.generated .operand 177))] false) (.mk [(.mk (.bind (.generated .operand 179)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 178)), .wild]) (.mk [] (.move (.generated .part 178))))])), (.mk (.bind (.generated .operand 180)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 179)), (.move (.generated .operand 180))] false)) (.mk [] (.lit (.bool false))))) (Corr.bOfE (Corr.buildConst rfl)) (Corr.cond (lc := [(.mk (.bind (.generated .operand 176)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 175))]) (.mk [] (.move (.generated .part 175))))])), (.mk (.bind (.generated .operand 177)) none (.lit (.nat 2)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 176)), (.move (.generated .operand 177))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 175))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 179)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 178)), .wild]) (.mk [] (.move (.generated .part 178))))])), (.mk (.bind (.generated .operand 180)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 179)), (.move (.generated .operand 180))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 178))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))))))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun22 : FunOK program krate flags 22 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 35) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 3)) []))), [(0, (.adt 3), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 14) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 35) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 3)) [])) (Corr.build (ts := [(.adt 3)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun23 : FunOK program krate flags 23 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 36) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 3)) []))), [(0, (.adt 3), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 15) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 36) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 3)) [])) (Corr.build (ts := [(.adt 3)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun24 : FunOK program krate flags 24 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 37) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 3)) []))), [(0, (.adt 3), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 16) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 37) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 3)) [])) (Corr.build (ts := [(.adt 3)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun25 : FunOK program krate flags 25 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 38) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 3)) []))), [(0, (.adt 3), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 17) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 38) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 3)) [])) (Corr.build (ts := [(.adt 3)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun26 : FunOK program krate flags 26 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 18) [(.clone (.generated .binding 0))] true) (.mk [] (.succeed (.construct .some [(.call (.function 39) [(.move (.generated .binding 0))] false)]))) (.mk [] (.succeed (.construct (.none (.adt 3)) [])))), [(0, (.adt 3), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 18) [(.clone (.generated .binding 0))] true)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.call (.function 39) [(.move (.generated .binding 0))] false)]))) (lb := []) (tb := (.succeed (.construct (.none (.adt 3)) []))) (Corr.fOfB (Corr.build (ts := [(.adt 3)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ - -theorem fun27 : FunOK program krate flags 27 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 40) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 3)) []))), [(0, (.adt 3), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 19) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 40) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 3)) [])) (Corr.build (ts := [(.adt 3)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun28 : FunOK program krate flags 28 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 20) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 41) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 3)) []))), [(0, (.adt 3), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 20) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 41) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 3)) [])) (Corr.build (ts := [(.adt 3)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun29 : FunOK program krate flags 29 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 21) [(.clone (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.call (.function 42) [(.move (.generated .binding 0))] true)]))) (.mk [] (.succeed (.construct (.none (.adt 3)) [])))), [(0, (.adt 3), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 21) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.call (.function 42) [(.move (.generated .binding 0))] true)]))) (lb := []) (tb := (.succeed (.construct (.none (.adt 3)) []))) (Corr.fOfB (Corr.build (ts := [(.adt 3)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ - -theorem fun30 : FunOK program krate flags 30 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 182)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 181)), .wild]) (.mk [] (.move (.generated .part 181))))])), (.mk (.bind (.generated .operand 183)) none (.lit (.nat 90)))], (.call (.runtime .natLt) [(.move (.generated .operand 182)), (.move (.generated .operand 183))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 181))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun31 : FunOK program krate flags 31 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 185)) none (.lit (.nat 380))), (.mk (.bind (.generated .operand 186)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 184)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 184))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 185)), (.move (.generated .operand 186))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 184))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun32 : FunOK program krate flags 32 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 188)) none (.lit (.nat 90))), (.mk (.bind (.generated .operand 189)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 187)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 187))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 188)), (.move (.generated .operand 189))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 187))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun33 : FunOK program krate flags 33 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 191)) none (.lit (.nat 20))), (.mk (.bind (.generated .operand 192)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 190)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 190))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 191)), (.move (.generated .operand 192))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 190))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun34 : FunOK program krate flags 34 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 194)) none (.lit (.nat 12))), (.mk (.bind (.generated .operand 195)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, (.bind (.generated .part 193)), .wild, .wild]) (.mk [] (.move (.generated .part 193))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 194)), (.move (.generated .operand 195))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 193))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun35 : FunOK program krate flags 35 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 196)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 196))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 197)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 197))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 198)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 198))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 199)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 199))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 200)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 200))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 201)), .wild, .wild]) (.mk [] (.move (.generated .part 201))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 202)), .wild]) (.mk [] (.move (.generated .part 202))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 203))]) (.mk [] (.move (.generated .part 203))))])]), [(0, (.adt 3), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 196))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 197))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 198))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 199))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 200))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 201))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 202))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 203))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun36 : FunOK program krate flags 36 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 204)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 204))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 205)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 205))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 206)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 206))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 207)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 207))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 208)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 208))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 209)), .wild, .wild]) (.mk [] (.move (.generated .part 209))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 210)), .wild]) (.mk [] (.move (.generated .part 210))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 211))]) (.mk [] (.move (.generated .part 211))))])]), [(0, (.adt 3), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 204))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 205))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 206))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 207))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 208))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 209))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 210))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 211))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun37 : FunOK program krate flags 37 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 212)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 212))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 213)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 213))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 214)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 214))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 215)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 215))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 216)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 216))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 217)), .wild, .wild]) (.mk [] (.move (.generated .part 217))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 218)), .wild]) (.mk [] (.move (.generated .part 218))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 219))]) (.mk [] (.move (.generated .part 219))))])]), [(0, (.adt 3), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 212))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 213))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 214))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 215))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 216))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 217))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 218))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 219))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun38 : FunOK program krate flags 38 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 220)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 220))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 221)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 221))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 222)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 222))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 223)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 223))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 224)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 224))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 225)), .wild, .wild]) (.mk [] (.move (.generated .part 225))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 226)), .wild]) (.mk [] (.move (.generated .part 226))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 227))]) (.mk [] (.move (.generated .part 227))))])]), [(0, (.adt 3), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 220))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 221))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 222))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 223))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 224))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 225))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 226))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 227))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun39 : FunOK program krate flags 39 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 228)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 228))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 229)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 229))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 230)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 230))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 231)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 231))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 232)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 232))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 233)), .wild, .wild]) (.mk [] (.move (.generated .part 233))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 234)), .wild]) (.mk [] (.move (.generated .part 234))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 235))]) (.mk [] (.move (.generated .part 235))))])]), [(0, (.adt 3), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 228))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 229))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 230))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 231))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 232))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 233))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 234))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 235))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun40 : FunOK program krate flags 40 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 236)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 236))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 237)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 237))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 238)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 238))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 239)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 239))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 240)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 240))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 241)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 241))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 242)), .wild]) (.mk [] (.move (.generated .part 242))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 243))]) (.mk [] (.move (.generated .part 243))))])]), [(0, (.adt 3), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 236))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 237))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 238))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 239))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 240))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 241))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 242))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 243))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun41 : FunOK program krate flags 41 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 244)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 244))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 245)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 245))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 246)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 246))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 247)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 247))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 248)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 248))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 249)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 249))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 250)), .wild, .wild]) (.mk [] (.move (.generated .part 250))))]), (.lit (.nat 1)), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 251))]) (.mk [] (.move (.generated .part 251))))])]), [(0, (.adt 3), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 244))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 245))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 246))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 247))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 248))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 249))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 250))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 251))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun42 : FunOK program krate flags 42 := - ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 252)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 252))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 253)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 253))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 254)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 254))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 255)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 255))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 256)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 256))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 257)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 257))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 258)), .wild, .wild]) (.mk [] (.move (.generated .part 258))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 259)), .wild]) (.mk [] (.move (.generated .part 259))))]), (.block (.mk [(.mk (.bind (.generated .operand 261)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 260))]) (.mk [] (.move (.generated .part 260))))])), (.mk (.bind (.generated .operand 262)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 261)), (.move (.generated .operand 262))] true)))])), [(0, (.adt 3), (some 0))], rfl, rfl, - (Corr.fOfB (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 252))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 253))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 254))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 255))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 256))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 257))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 258))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 259))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 261)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 260))]) (.mk [] (.move (.generated .part 260))))])), (.mk (.bind (.generated .operand 262)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 261)), (.move (.generated .operand 262))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 260))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | 4 => exact fun4 - | 5 => exact fun5 - | 6 => exact fun6 - | 7 => exact fun7 - | 8 => exact fun8 - | 9 => exact fun9 - | 10 => exact fun10 - | 11 => exact fun11 - | 12 => exact fun12 - | 13 => exact fun13 - | 14 => exact fun14 - | 15 => exact fun15 - | 16 => exact fun16 - | 17 => exact fun17 - | 18 => exact fun18 - | 19 => exact fun19 - | 20 => exact fun20 - | 21 => exact fun21 - | 22 => exact fun22 - | 23 => exact fun23 - | 24 => exact fun24 - | 25 => exact fun25 - | 26 => exact fun26 - | 27 => exact fun27 - | 28 => exact fun28 - | 29 => exact fun29 - | 30 => exact fun30 - | 31 => exact fun31 - | 32 => exact fun32 - | 33 => exact fun33 - | 34 => exact fun34 - | 35 => exact fun35 - | 36 => exact fun36 - | 37 => exact fun37 - | 38 => exact fun38 - | 39 => exact fun39 - | 40 => exact fun40 - | 41 => exact fun41 - | 42 => exact fun42 - | _ + 43 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R3.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R3.lean deleted file mode 100644 index ac30e10bb..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R3.lean +++ /dev/null @@ -1,349 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Reasoning.Budget -import Reasoning.Clinic -import Reasoning.Main -import Reasoning.Planner -import Reasoning.Screening -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [{ constructors := [[], [], [.nat]] }, - { constructors := [[(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]] }, - { constructors := [[(.pair .nat .nat), (.list (.adt 0))]] }, - { constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }], functions := (( - { parameters := [0], types := [.nat], result := .nat, - body := (.«match» .nat (.call 1 [(.var 0)]) [(.arm .ok [1] (.first (.var 1))), (.arm .error [2] (.value .nat (.nat 9)))]) }) ::( - { parameters := [0], types := [.nat], result := (.result (.pair .nat .nat) (.pair .bool .bool)), - body := (.«match» (.result (.pair .nat .nat) (.pair .bool .bool)) (.call 2 [(.var 0)]) [(.arm .ok [1] (.build .ok (.result (.pair .nat .nat) (.pair .bool .bool)) [(.first (.var 1))])), (.arm .error [2] (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.var 2)]))]) }) ::( - { parameters := [0], types := [.nat], result := (.result (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool)), - body := (.«let» 1 (.pair (.adt 1) .bool) (.call 3 [(.var 0)]) (.«match» (.result (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool)) (.field (.first (.var 1)) 2) [(.arm .some [2] (.build .ok (.result (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool)) [(.build .pair (.pair (.pair .nat .nat) (.list (.adt 0))) [(.first (.var 2)), (.field (.second (.var 2)) 1)])])), (.arm .none [] (.build .error (.result (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool)) [(.call 4 [(.second (.var 1)), (.field (.first (.var 1)) 3)])]))])) }) ::( - { parameters := [0], types := [.nat], result := (.pair (.adt 1) .bool), - body := (.call 5 [(.closure 6 [(.var 0)]), (.prim .natMul [(.var 0), (.value .nat (.nat 8))]), (.call 7 [(.var 0)])]) }) ::( - { parameters := [0, 1], types := [.bool, .bool], result := (.pair .bool .bool), - body := (.cond (.cond (.var 0) (.prim .boolNot [(.var 1)]) (.build .false .bool [])) (.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])]) (.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])) }) ::( - { parameters := [0, 1, 2], types := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)], result := (.pair (.adt 1) .bool), - body := (.«match» (.pair (.adt 1) .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair (.adt 1) .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 5 [(.var 0), (.var 3), (.var 4)]))]))]) }) ::( - { parameters := [0, 1], types := [.nat, (.adt 1)], result := (.option (.adt 1)), - body := (.call 8 [(.var 0), (.var 1)]) }) ::( - { parameters := [0], types := [.nat], result := (.adt 1), - body := (.«let» 1 (.list (.adt 2)) (.call 9 [(.closure 10 [(.var 0)]), (.build .nil (.list (.adt 2)) []), (.build .cons (.list (.adt 2)) [(.build (.adt 0) (.adt 2) [(.call 11 [(.var 0)]), (.build .nil (.list (.adt 0)) [])]), (.build .nil (.list (.adt 2)) [])])]) (.build (.adt 0) (.adt 1) [(.var 1), (.call 12 [(.build .nil (.list (.pair .nat .nat)) []), (.call 11 [(.var 0)])]), (.build .none (.option (.pair (.pair .nat .nat) (.adt 2))) []), (.prim .natLt [(.prim .natAdd [(.var 0), (.var 0)]), (.value .nat (.nat 1))]), (.build (.adt 0) (.adt 3) [(.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.prim .length [(.var 1)])])])) }) ::( - { parameters := [0, 1], types := [.nat, (.adt 1)], result := (.option (.adt 1)), - body := (.«match» (.option (.adt 1)) (.field (.var 1) 2) [(.arm .some [2] (.build .none (.option (.adt 1)) [])), (.arm .none [] (.«match» (.option (.adt 1)) (.field (.var 1) 0) [(.arm .nil [] (.build .none (.option (.adt 1)) [])), (.arm .cons [3, 4] (.«match» (.option (.adt 1)) (.call 13 [(.var 0), (.field (.var 3) 0)]) [(.arm .some [5] (.build .some (.option (.adt 1)) [(.build (.adt 0) (.adt 1) [(.var 4), (.field (.var 1) 1), (.build .some (.option (.pair (.pair .nat .nat) (.adt 2))) [(.build .pair (.pair (.pair .nat .nat) (.adt 2)) [(.var 5), (.var 3)])]), (.field (.var 1) 3), (.build (.adt 0) (.adt 3) [(.prim .natAdd [(.field (.field (.var 1) 4) 0), (.value .nat (.nat 1))]), (.field (.field (.var 1) 4) 1), (.field (.field (.var 1) 4) 2), (.field (.field (.var 1) 4) 3), (.prim .natAdd [(.field (.field (.var 1) 4) 4), (.value .nat (.nat 1))]), (.field (.field (.var 1) 4) 5)])])])), (.arm .none [] (.«let» 6 (.list (.adt 2)) (.call 14 [(.var 3)]) (.«let» 7 (.pair (.list (.adt 2)) (.list (.pair .nat .nat))) (.call 15 [(.field (.var 1) 1), (.var 6)]) (.«let» 8 (.list (.adt 2)) (.prim .append [(.var 4), (.first (.var 7))]) (.«let» 9 (.list (.adt 2)) (.call 9 [(.closure 16 [(.var 0)]), (.build .nil (.list (.adt 2)) []), (.var 8)]) (.build .some (.option (.adt 1)) [(.build (.adt 0) (.adt 1) [(.var 9), (.second (.var 7)), (.build .none (.option (.pair (.pair .nat .nat) (.adt 2))) []), (.cond (.field (.var 1) 3) (.build .true .bool []) (.prim .natLt [(.prim .natAdd [(.var 0), (.var 0)]), (.prim .length [(.var 8)])])), (.build (.adt 0) (.adt 3) [(.prim .natAdd [(.field (.field (.var 1) 4) 0), (.value .nat (.nat 1))]), (.prim .natAdd [(.field (.field (.var 1) 4) 1), (.call 17 [(.field (.var 3) 0)])]), (.prim .natAdd [(.field (.field (.var 1) 4) 2), (.prim .length [(.var 6)])]), (.prim .natAdd [(.field (.field (.var 1) 4) 3), (.value .nat (.nat 1))]), (.prim .natAdd [(.field (.field (.var 1) 4) 4), (.value .nat (.nat 1))]), (.cond (.prim .natLt [(.field (.field (.var 1) 4) 5), (.prim .length [(.var 9)])]) (.prim .length [(.var 9)]) (.field (.field (.var 1) 4) 5))])])]))))))]))]))]) }) ::( - { parameters := [0, 1, 2], types := [(.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (.list (.adt 2)), (.list (.adt 2))], result := (.list (.adt 2)), - body := (.«match» (.list (.adt 2)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 9 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }) ::( - { parameters := [0, 1, 2], types := [.nat, (.list (.adt 2)), (.adt 2)], result := (.list (.adt 2)), - body := (.cond (.prim .natLt [(.prim .length [(.var 1)]), (.prim .natAdd [(.var 0), (.var 0)])]) (.prim .append [(.var 1), (.build .cons (.list (.adt 2)) [(.var 2), (.build .nil (.list (.adt 2)) [])])]) (.var 1)) }) ::( - { parameters := [0], types := [.nat], result := (.pair .nat .nat), - body := (.build .pair (.pair .nat .nat) [(.value .nat (.nat 0)), (.value .nat (.nat 0))]) }) ::( - { parameters := [0, 1], types := [(.list (.pair .nat .nat)), (.pair .nat .nat)], result := (.list (.pair .nat .nat)), - body := (.«match» (.list (.pair .nat .nat)) (.var 0) [(.arm .nil [] (.build .cons (.list (.pair .nat .nat)) [(.var 1), (.build .nil (.list (.pair .nat .nat)) [])])), (.arm .cons [2, 3] (.«match» (.list (.pair .nat .nat)) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list (.pair .nat .nat)) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list (.pair .nat .nat)) [(.var 2), (.call 12 [(.var 3), (.var 1)])]))]))]) }) ::( - { parameters := [0, 1], types := [.nat, (.pair .nat .nat)], result := (.option (.pair .nat .nat)), - body := (.«match» (.option (.pair .nat .nat)) (.call 18 [(.var 1)]) [(.arm .none [] (.build .none (.option (.pair .nat .nat)) [])), (.arm .some [2] (.cond (.call 19 [(.var 0), (.var 2)]) (.build .some (.option (.pair .nat .nat)) [(.var 2)]) (.build .none (.option (.pair .nat .nat)) [])))]) }) ::( - { parameters := [0], types := [(.adt 2)], result := (.list (.adt 2)), - body := (.prim .append [(.call 20 [(.var 0)]), (.prim .append [(.call 21 [(.var 0)]), (.call 22 [(.var 0)])])]) }) ::( - { parameters := [0, 1], types := [(.list (.pair .nat .nat)), (.list (.adt 2))], result := (.pair (.list (.adt 2)) (.list (.pair .nat .nat))), - body := (.call 23 [(.closure 24 []), (.build .pair (.pair (.list (.adt 2)) (.list (.pair .nat .nat))) [(.build .nil (.list (.adt 2)) []), (.var 0)]), (.var 1)]) }) ::( - { parameters := [0, 1, 2], types := [.nat, (.list (.adt 2)), (.adt 2)], result := (.list (.adt 2)), - body := (.cond (.prim .natLt [(.prim .length [(.var 1)]), (.prim .natAdd [(.var 0), (.var 0)])]) (.prim .append [(.var 1), (.build .cons (.list (.adt 2)) [(.var 2), (.build .nil (.list (.adt 2)) [])])]) (.var 1)) }) ::( - { parameters := [0], types := [(.pair .nat .nat)], result := .nat, - body := (.prim .natAdd [(.value .nat (.nat 1)), (.prim .natAdd [(.value .nat (.nat 1)), (.prim .length [(.call 25 [(.var 0)])])])]) }) ::( - { parameters := [0], types := [(.pair .nat .nat)], result := (.option (.pair .nat .nat)), - body := (.build .some (.option (.pair .nat .nat)) [(.var 0)]) }) ::( - { parameters := [0, 1], types := [.nat, (.pair .nat .nat)], result := .bool, - body := (.cond (.prim .natEq [(.second (.var 1)), (.var 0)]) (.prim .natLe [(.first (.var 1)), (.value .nat (.nat 4))]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 2)], result := (.list (.adt 2)), - body := (.«match» (.list (.adt 2)) (.call 26 [(.field (.var 0) 0), (.build (.adt 0) (.adt 0) [])]) [(.arm .none [] (.build .nil (.list (.adt 2)) [])), (.arm .some [1] (.build .cons (.list (.adt 2)) [(.build (.adt 0) (.adt 2) [(.var 1), (.prim .append [(.field (.var 0) 1), (.build .cons (.list (.adt 0)) [(.build (.adt 0) (.adt 0) []), (.build .nil (.list (.adt 0)) [])])])]), (.build .nil (.list (.adt 2)) [])]))]) }) ::( - { parameters := [0], types := [(.adt 2)], result := (.list (.adt 2)), - body := (.«match» (.list (.adt 2)) (.call 26 [(.field (.var 0) 0), (.build (.adt 1) (.adt 0) [])]) [(.arm .none [] (.build .nil (.list (.adt 2)) [])), (.arm .some [1] (.build .cons (.list (.adt 2)) [(.build (.adt 0) (.adt 2) [(.var 1), (.prim .append [(.field (.var 0) 1), (.build .cons (.list (.adt 0)) [(.build (.adt 1) (.adt 0) []), (.build .nil (.list (.adt 0)) [])])])]), (.build .nil (.list (.adt 2)) [])]))]) }) ::( - { parameters := [0], types := [(.adt 2)], result := (.list (.adt 2)), - body := (.call 27 [(.closure 28 [(.var 0)]), (.build .nil (.list (.adt 2)) []), (.call 25 [(.field (.var 0) 0)])]) }) ::( - { parameters := [0, 1, 2], types := [(.fn [(.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.adt 2)] (.pair (.list (.adt 2)) (.list (.pair .nat .nat)))), (.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.list (.adt 2))], result := (.pair (.list (.adt 2)) (.list (.pair .nat .nat))), - body := (.«match» (.pair (.list (.adt 2)) (.list (.pair .nat .nat))) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 23 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }) ::( - { parameters := [0, 1], types := [(.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.adt 2)], result := (.pair (.list (.adt 2)) (.list (.pair .nat .nat))), - body := (.cond (.call 29 [(.second (.var 0)), (.field (.var 1) 0)]) (.var 0) (.build .pair (.pair (.list (.adt 2)) (.list (.pair .nat .nat))) [(.prim .append [(.first (.var 0)), (.build .cons (.list (.adt 2)) [(.var 1), (.build .nil (.list (.adt 2)) [])])]), (.call 12 [(.second (.var 0)), (.field (.var 1) 0)])])) }) ::( - { parameters := [0], types := [(.pair .nat .nat)], result := (.list .nat), - body := (.build .cons (.list .nat) [(.value .nat (.nat 1)), (.build .cons (.list .nat) [(.value .nat (.nat 2)), (.build .cons (.list .nat) [(.value .nat (.nat 3)), (.build .nil (.list .nat) [])])])]) }) ::( - { parameters := [0, 1], types := [(.pair .nat .nat), (.adt 0)], result := (.option (.pair .nat .nat)), - body := (.«match» (.option (.pair .nat .nat)) (.var 1) [(.arm (.adt 0) [] (.call 30 [(.var 0)])), (.arm (.adt 1) [] (.call 31 [(.var 0)])), (.arm (.adt 2) [2] (.call 32 [(.var 0), (.var 2)]))]) }) ::( - { parameters := [0, 1, 2], types := [(.fn [(.list (.adt 2)), .nat] (.list (.adt 2))), (.list (.adt 2)), (.list .nat)], result := (.list (.adt 2)), - body := (.«match» (.list (.adt 2)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 27 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }) ::( - { parameters := [0, 1, 2], types := [(.adt 2), (.list (.adt 2)), .nat], result := (.list (.adt 2)), - body := (.call 33 [(.var 0), (.var 1), (.var 2)]) }) ::( - { parameters := [0, 1], types := [(.list (.pair .nat .nat)), (.pair .nat .nat)], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .false .bool [])), (.arm .cons [2, 3] (.«match» .bool (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .false .bool [])), (.arm .eq [] (.build .true .bool [])), (.arm .gt [] (.call 29 [(.var 3), (.var 1)]))]))]) }) ::( - { parameters := [0], types := [(.pair .nat .nat)], result := (.option (.pair .nat .nat)), - body := (.cond (.call 34 [(.var 0)]) (.build .some (.option (.pair .nat .nat)) [(.call 35 [(.var 0)])]) (.build .none (.option (.pair .nat .nat)) [])) }) ::( - { parameters := [0], types := [(.pair .nat .nat)], result := (.option (.pair .nat .nat)), - body := (.cond (.call 36 [(.var 0)]) (.build .some (.option (.pair .nat .nat)) [(.call 37 [(.var 0)])]) (.build .none (.option (.pair .nat .nat)) [])) }) ::( - { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := (.option (.pair .nat .nat)), - body := (.cond (.call 38 [(.var 0), (.var 1)]) (.build .some (.option (.pair .nat .nat)) [(.call 39 [(.var 0), (.var 1)])]) (.build .none (.option (.pair .nat .nat)) [])) }) ::( - { parameters := [0, 1, 2], types := [(.adt 2), (.list (.adt 2)), .nat], result := (.list (.adt 2)), - body := (.«match» (.list (.adt 2)) (.call 26 [(.field (.var 0) 0), (.build (.adt 2) (.adt 0) [(.var 2)])]) [(.arm .none [] (.var 1)), (.arm .some [3] (.prim .append [(.var 1), (.build .cons (.list (.adt 2)) [(.build (.adt 0) (.adt 2) [(.var 3), (.prim .append [(.field (.var 0) 1), (.build .cons (.list (.adt 0)) [(.build (.adt 2) (.adt 0) [(.var 2)]), (.build .nil (.list (.adt 0)) [])])])]), (.build .nil (.list (.adt 2)) [])])]))]) }) ::( - { parameters := [0], types := [(.pair .nat .nat)], result := .bool, - body := (.cond (.prim .natLt [(.first (.var 0)), (.value .nat (.nat 4))]) (.prim .natLe [(.second (.var 0)), (.value .nat (.nat 3))]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.pair .nat .nat)], result := (.pair .nat .nat), - body := (.build .pair (.pair .nat .nat) [(.value .nat (.nat 4)), (.second (.var 0))]) }) ::( - { parameters := [0], types := [(.pair .nat .nat)], result := .bool, - body := (.cond (.prim .natLt [(.value .nat (.nat 0)), (.second (.var 0))]) (.prim .natLe [(.first (.var 0)), (.value .nat (.nat 4))]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.pair .nat .nat)], result := (.pair .nat .nat), - body := (.build .pair (.pair .nat .nat) [(.first (.var 0)), (.value .nat (.nat 0))]) }) ::( - { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := .bool, - body := (.cond (.prim .natLe [(.var 1), (.first (.var 0))]) (.cond (.prim .natLe [(.prim .natAdd [(.second (.var 0)), (.var 1)]), (.value .nat (.nat 3))]) (.prim .natLe [(.first (.var 0)), (.value .nat (.nat 4))]) (.build .false .bool [])) (.build .false .bool [])) }) ::( - { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := (.pair .nat .nat), - body := (.build .pair (.pair .nat .nat) [(.prim .natSub [(.first (.var 0)), (.var 1)]), (.prim .natAdd [(.second (.var 0)), (.var 1)])]) }) ::[]) } - -def __enc_0 : (Reasoning.Planner.Plan.Step) -> _root_.LexLeanTarget.TargetSyntax.Value - | Reasoning.Planner.Plan.Step.FillA => _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [] - | Reasoning.Planner.Plan.Step.EmptyB => _root_.LexLeanTarget.TargetSyntax.Value.adt 1 [] - | Reasoning.Planner.Plan.Step.Pour __x0 => _root_.LexLeanTarget.TargetSyntax.Value.adt 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat __x0)] - -def __enc_2 (__s : (Reasoning.Planner.Plan.Node)) : _root_.LexLeanTarget.TargetSyntax.Value := - _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (__s).state), ((_root_.LexLeanPreservation.encList __enc_0) (__s).trace)] - -def __enc_3 (__s : (Reasoning.Planner.Plan.Ledger)) : _root_.LexLeanTarget.TargetSyntax.Value := - _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).iterations), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).attempts), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).firings), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).expansions), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).verifications), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).frontier)] - -def __enc_1 (__s : (Reasoning.Planner.Plan.Search)) : _root_.LexLeanTarget.TargetSyntax.Value := - _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [((_root_.LexLeanPreservation.encList __enc_2) (__s).frontier), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (__s).visited), ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) __enc_2)) (__s).found), (_root_.LexLeanTarget.TargetSyntax.Value.bool (__s).truncated), (__enc_3 (__s).ledger)] - -def __fits_18 (jugs : (Prod Nat Nat)) : Bool := - ((Bool.true && Bool.true) && Bool.true) - -theorem __rel_18 (jugs : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 18 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) jugs)] (_root_.LexLeanPreservation.Rel (__fits_18 jugs) ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Reasoning.Planner.Plan.extract jugs))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) - -def __fits_19 (target : Nat) (r : (Prod Nat Nat)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (r).2 target) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) - -theorem __rel_19 (target : Nat) (r : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 19 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target), ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) r)] (_root_.LexLeanPreservation.Rel (__fits_19 target r) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Planner.measuresCheck target r))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.ble (r).1 (4 : Nat)))) (Nat.beq (r).2 target) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (r).2 target)) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe (r).1 (4 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_13 (target : Nat) (_ys : (Prod Nat Nat)) : Bool := - (((Bool.true && Bool.true) && (__fits_18 (_ys))) && (match (Reasoning.Planner.Plan.extract (_ys)) with | Option.none => (Bool.true && Bool.true) | Option.some _yv => (((Bool.true && (Bool.true && Bool.true)) && (__fits_19 (target) (_yv))) && (if (Reasoning.Planner.measuresCheck (target) (_yv)) then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) - -attribute [local irreducible] Reasoning.Planner.Plan.extract Reasoning.Planner.measuresCheck in -theorem __rel_13 (target : Nat) (_ys : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 13 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target), ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _ys)] (_root_.LexLeanPreservation.Rel (__fits_13 target _ys) ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Reasoning.Planner.Plan.accept target _ys))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun (__a : (Option (Prod Nat Nat))) => (match __a with | Option.none => (Bool.true && Bool.true) | Option.some _yv => (((Bool.true && (Bool.true && Bool.true)) && (__fits_19 (target) (_yv))) && (if (Reasoning.Planner.measuresCheck (target) (_yv)) then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Prod Nat Nat))) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (match __a with | Option.none => (Option.none : (Option (Prod Nat Nat))) | Option.some _yv => (if (Reasoning.Planner.measuresCheck (target) (_yv)) then (Option.some (_yv) : (Option (Prod Nat Nat))) else (Option.none : (Option (Prod Nat Nat)))))) (Reasoning.Planner.Plan.extract (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_18 (_ys))) (fun (__a : (Option (Prod Nat Nat))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | Option.some _yv => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (Option.some (_yv) : (Option (Prod Nat Nat))) else (Option.none : (Option (Prod Nat Nat))))) (Reasoning.Planner.measuresCheck (target) (_yv)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_19 (target) (_yv))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) - -def __fits_34 (s : (Prod Nat Nat)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.blt (s).1 (4 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) - -theorem __rel_34 (s : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 34 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s)] (_root_.LexLeanPreservation.Rel (__fits_34 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Planner.FillA.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.ble (s).2 (3 : Nat)))) (Nat.blt (s).1 (4 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (s).1 (4 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe (s).2 (3 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_35 (s : (Prod Nat Nat)) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_35 (s : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 35 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s)] (_root_.LexLeanPreservation.Rel (__fits_35 s) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Planner.FillA.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) - -def __fits_30 (s : (Prod Nat Nat)) : Bool := - (((Bool.true && Bool.true) && (__fits_34 (s))) && (if (Reasoning.Planner.FillA.guard (s)) then ((((Bool.true && Bool.true) && (__fits_35 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Planner.FillA.conclusion Reasoning.Planner.FillA.guard in -theorem __rel_30 (s : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 30 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s)] (_root_.LexLeanPreservation.Rel (__fits_30 s) ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Reasoning.Planner.FillA.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_35 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (Option.some ((Reasoning.Planner.FillA.conclusion (s))) : (Option (Prod Nat Nat))) else (Option.none : (Option (Prod Nat Nat))))) (Reasoning.Planner.FillA.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_34 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_35 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_36 (s : (Prod Nat Nat)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.blt (0 : Nat) (s).2) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) - -theorem __rel_36 (s : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 36 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s)] (_root_.LexLeanPreservation.Rel (__fits_36 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Planner.EmptyB.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.ble (s).1 (4 : Nat)))) (Nat.blt (0 : Nat) (s).2) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (0 : Nat) (s).2)) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe (s).1 (4 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_37 (s : (Prod Nat Nat)) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_37 (s : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 37 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s)] (_root_.LexLeanPreservation.Rel (__fits_37 s) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Planner.EmptyB.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) - -def __fits_31 (s : (Prod Nat Nat)) : Bool := - (((Bool.true && Bool.true) && (__fits_36 (s))) && (if (Reasoning.Planner.EmptyB.guard (s)) then ((((Bool.true && Bool.true) && (__fits_37 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Planner.EmptyB.conclusion Reasoning.Planner.EmptyB.guard in -theorem __rel_31 (s : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 31 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s)] (_root_.LexLeanPreservation.Rel (__fits_31 s) ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Reasoning.Planner.EmptyB.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_37 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (Option.some ((Reasoning.Planner.EmptyB.conclusion (s))) : (Option (Prod Nat Nat))) else (Option.none : (Option (Prod Nat Nat))))) (Reasoning.Planner.EmptyB.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_36 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_37 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_38 (s : (Prod Nat Nat)) (k : Nat) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.ble k (s).1) then (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).2 + k) 18446744073709551616)) && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.ble ((s).2 + k) (3 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) - -theorem __rel_38 (s : (Prod Nat Nat)) (k : Nat) : _root_.LexLeanPreservation.FunRel __prog 38 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s), (_root_.LexLeanTarget.TargetSyntax.Value.nat k)] (_root_.LexLeanPreservation.Rel (__fits_38 s k) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Planner.Pour.guard s k))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).2 + k) 18446744073709551616)) && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.ble ((s).2 + k) (3 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.ble ((s).2 + k) (3 : Nat)) && (Nat.ble (s).1 (4 : Nat))))) (Nat.ble k (s).1) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe k (s).1)) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.ble (s).1 (4 : Nat)))) (Nat.ble ((s).2 + k) (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (s).2 k)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe ((s).2 + k) (3 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe (s).1 (4 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_39 (s : (Prod Nat Nat)) (k : Nat) : Bool := - ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).2 + k) 18446744073709551616)) && Bool.true)) && Bool.true) - -theorem __rel_39 (s : (Prod Nat Nat)) (k : Nat) : _root_.LexLeanPreservation.FunRel __prog 39 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s), (_root_.LexLeanTarget.TargetSyntax.Value.nat k)] (_root_.LexLeanPreservation.Rel (__fits_39 s k) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Planner.Pour.conclusion s k))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub (s).1 k)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (s).2 k)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) - -def __fits_32 (s : (Prod Nat Nat)) (k : Nat) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && (__fits_38 (s) (k))) && (if (Reasoning.Planner.Pour.guard (s) (k)) then ((((Bool.true && (Bool.true && Bool.true)) && (__fits_39 (s) (k))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Planner.Pour.conclusion Reasoning.Planner.Pour.guard in -theorem __rel_32 (s : (Prod Nat Nat)) (k : Nat) : _root_.LexLeanPreservation.FunRel __prog 32 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s), (_root_.LexLeanTarget.TargetSyntax.Value.nat k)] (_root_.LexLeanPreservation.Rel (__fits_32 s k) ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Reasoning.Planner.Pour.apply s k))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && (Bool.true && Bool.true)) && (__fits_39 (s) (k))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (Option.some ((Reasoning.Planner.Pour.conclusion (s) (k))) : (Option (Prod Nat Nat))) else (Option.none : (Option (Prod Nat Nat))))) (Reasoning.Planner.Pour.guard (s) (k)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_38 (s) (k))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_39 (s) (k))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_26 (_ys : (Prod Nat Nat)) (_ystep : (Reasoning.Planner.Plan.Step)) : Bool := - (Bool.true && (match _ystep with | Reasoning.Planner.Plan.Step.FillA => ((Bool.true && Bool.true) && (__fits_30 (_ys))) | Reasoning.Planner.Plan.Step.EmptyB => ((Bool.true && Bool.true) && (__fits_31 (_ys))) | Reasoning.Planner.Plan.Step.Pour _yb => ((Bool.true && (Bool.true && Bool.true)) && (__fits_32 (_ys) (_yb))))) - -attribute [local irreducible] Reasoning.Planner.EmptyB.apply Reasoning.Planner.FillA.apply Reasoning.Planner.Pour.apply in -theorem __rel_26 (_ys : (Prod Nat Nat)) (_ystep : (Reasoning.Planner.Plan.Step)) : _root_.LexLeanPreservation.FunRel __prog 26 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _ys), (__enc_0 _ystep)] (_root_.LexLeanPreservation.Rel (__fits_26 _ys _ystep) ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Reasoning.Planner.Plan.fire _ys _ystep))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_0 (fun (__a : (Reasoning.Planner.Plan.Step)) => (match __a with | Reasoning.Planner.Plan.Step.FillA => ((Bool.true && Bool.true) && (__fits_30 (_ys))) | Reasoning.Planner.Plan.Step.EmptyB => ((Bool.true && Bool.true) && (__fits_31 (_ys))) | Reasoning.Planner.Plan.Step.Pour _yb => ((Bool.true && (Bool.true && Bool.true)) && (__fits_32 (_ys) (_yb))))) (fun (__a : (Reasoning.Planner.Plan.Step)) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (match __a with | Reasoning.Planner.Plan.Step.FillA => (Reasoning.Planner.FillA.apply (_ys)) | Reasoning.Planner.Plan.Step.EmptyB => (Reasoning.Planner.EmptyB.apply (_ys)) | Reasoning.Planner.Plan.Step.Pour _yb => (Reasoning.Planner.Pour.apply (_ys) (_yb)))) _ystep (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Reasoning.Planner.Plan.Step)) _ => match __a with | Reasoning.Planner.Plan.Step.FillA => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_30 (_ys)))) | Reasoning.Planner.Plan.Step.EmptyB => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_31 (_ys))))) | Reasoning.Planner.Plan.Step.Pour _yb => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_32 (_ys) (_yb)))))))) - -def __fits_20 (_ynode : (Reasoning.Planner.Plan.Node)) : Bool := - (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && (__fits_26 ((_ynode).state) ((Reasoning.Planner.Plan.Step.FillA : (Reasoning.Planner.Plan.Step))))) && (match (Reasoning.Planner.Plan.fire ((_ynode).state) ((Reasoning.Planner.Plan.Step.FillA : (Reasoning.Planner.Plan.Step)))) with | Option.none => (Bool.true && Bool.true) | Option.some _yt => ((((Bool.true && (((Bool.true && ((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true))) - -attribute [local irreducible] Reasoning.Planner.Plan.fire in -theorem __rel_20 (_ynode : (Reasoning.Planner.Plan.Node)) : _root_.LexLeanPreservation.FunRel __prog 20 [(__enc_2 _ynode)] (_root_.LexLeanPreservation.Rel (__fits_20 _ynode) ((_root_.LexLeanPreservation.encList __enc_2) (Reasoning.Planner.Plan.FillA.successors _ynode))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun (__a : (Option (Prod Nat Nat))) => (match __a with | Option.none => (Bool.true && Bool.true) | Option.some _yt => ((((Bool.true && (((Bool.true && ((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true))) (fun (__a : (Option (Prod Nat Nat))) => (_root_.LexLeanPreservation.encList __enc_2) (match __a with | Option.none => ([] : List (Reasoning.Planner.Plan.Node)) | Option.some _yt => (({ state := _yt, trace := (Reasoning.Planner.LexLeanRuntime.append ((_ynode).trace) (((Reasoning.Planner.Plan.Step.FillA : (Reasoning.Planner.Plan.Step)) :: ([] : List (Reasoning.Planner.Plan.Step)))) : (List (Reasoning.Planner.Plan.Step))) } : (Reasoning.Planner.Plan.Node)) :: ([] : List (Reasoning.Planner.Plan.Node))))) (Reasoning.Planner.Plan.fire ((_ynode).state) ((Reasoning.Planner.Plan.Step.FillA : (Reasoning.Planner.Plan.Step)))) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil)) (__rel_26 ((_ynode).state) ((Reasoning.Planner.Plan.Step.FillA : (Reasoning.Planner.Plan.Step))))) (fun (__a : (Option (Prod Nat Nat))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil)) | Option.some _yt => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_0) (_ynode).trace ((Reasoning.Planner.Plan.Step.FillA : (Reasoning.Planner.Plan.Step)) :: ([] : List (Reasoning.Planner.Plan.Step))))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))))) - -def __fits_21 (_ynode : (Reasoning.Planner.Plan.Node)) : Bool := - (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && (__fits_26 ((_ynode).state) ((Reasoning.Planner.Plan.Step.EmptyB : (Reasoning.Planner.Plan.Step))))) && (match (Reasoning.Planner.Plan.fire ((_ynode).state) ((Reasoning.Planner.Plan.Step.EmptyB : (Reasoning.Planner.Plan.Step)))) with | Option.none => (Bool.true && Bool.true) | Option.some _yt => ((((Bool.true && (((Bool.true && ((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true))) - -attribute [local irreducible] Reasoning.Planner.Plan.fire in -theorem __rel_21 (_ynode : (Reasoning.Planner.Plan.Node)) : _root_.LexLeanPreservation.FunRel __prog 21 [(__enc_2 _ynode)] (_root_.LexLeanPreservation.Rel (__fits_21 _ynode) ((_root_.LexLeanPreservation.encList __enc_2) (Reasoning.Planner.Plan.EmptyB.successors _ynode))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun (__a : (Option (Prod Nat Nat))) => (match __a with | Option.none => (Bool.true && Bool.true) | Option.some _yt => ((((Bool.true && (((Bool.true && ((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true))) (fun (__a : (Option (Prod Nat Nat))) => (_root_.LexLeanPreservation.encList __enc_2) (match __a with | Option.none => ([] : List (Reasoning.Planner.Plan.Node)) | Option.some _yt => (({ state := _yt, trace := (Reasoning.Planner.LexLeanRuntime.append ((_ynode).trace) (((Reasoning.Planner.Plan.Step.EmptyB : (Reasoning.Planner.Plan.Step)) :: ([] : List (Reasoning.Planner.Plan.Step)))) : (List (Reasoning.Planner.Plan.Step))) } : (Reasoning.Planner.Plan.Node)) :: ([] : List (Reasoning.Planner.Plan.Node))))) (Reasoning.Planner.Plan.fire ((_ynode).state) ((Reasoning.Planner.Plan.Step.EmptyB : (Reasoning.Planner.Plan.Step)))) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil)) (__rel_26 ((_ynode).state) ((Reasoning.Planner.Plan.Step.EmptyB : (Reasoning.Planner.Plan.Step))))) (fun (__a : (Option (Prod Nat Nat))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil)) | Option.some _yt => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_0) (_ynode).trace ((Reasoning.Planner.Plan.Step.EmptyB : (Reasoning.Planner.Plan.Step)) :: ([] : List (Reasoning.Planner.Plan.Step))))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))))) - -def __fits_25 (s : (Prod Nat Nat)) : Bool := - ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) - -theorem __rel_25 (s : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 25 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s)] (_root_.LexLeanPreservation.Rel (__fits_25 s) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Planner.Pour.candidates s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) - -def __fits_33 (_ynode : (Reasoning.Planner.Plan.Node)) (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yb : Nat) : Bool := - (((Bool.true && (((Bool.true && Bool.true) && Bool.true) && Bool.true)) && (__fits_26 ((_ynode).state) ((Reasoning.Planner.Plan.Step.Pour (_yb) : (Reasoning.Planner.Plan.Step))))) && (match (Reasoning.Planner.Plan.fire ((_ynode).state) ((Reasoning.Planner.Plan.Step.Pour (_yb) : (Reasoning.Planner.Plan.Step)))) with | Option.none => Bool.true | Option.some _yt => ((Bool.true && (((((Bool.true && (((Bool.true && (((((Bool.true && Bool.true) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) - -attribute [local irreducible] Reasoning.Planner.Plan.fire in -theorem __rel_33 (_ynode : (Reasoning.Planner.Plan.Node)) (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yb : Nat) : _root_.LexLeanPreservation.FunRel __prog 33 [(__enc_2 _ynode), ((_root_.LexLeanPreservation.encList __enc_2) _yacc), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yb)] (_root_.LexLeanPreservation.Rel (__fits_33 _ynode _yacc _yb) ((_root_.LexLeanPreservation.encList __enc_2) (Reasoning.Planner.Plan.Pour.collect _ynode _yacc _yb))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun (__a : (Option (Prod Nat Nat))) => (match __a with | Option.none => Bool.true | Option.some _yt => ((Bool.true && (((((Bool.true && (((Bool.true && (((((Bool.true && Bool.true) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) (fun (__a : (Option (Prod Nat Nat))) => (_root_.LexLeanPreservation.encList __enc_2) (match __a with | Option.none => _yacc | Option.some _yt => (Reasoning.Planner.LexLeanRuntime.append (_yacc) ((({ state := _yt, trace := (Reasoning.Planner.LexLeanRuntime.append ((_ynode).trace) (((Reasoning.Planner.Plan.Step.Pour (_yb) : (Reasoning.Planner.Plan.Step)) :: ([] : List (Reasoning.Planner.Plan.Step)))) : (List (Reasoning.Planner.Plan.Step))) } : (Reasoning.Planner.Plan.Node)) :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))))) (Reasoning.Planner.Plan.fire ((_ynode).state) ((Reasoning.Planner.Plan.Step.Pour (_yb) : (Reasoning.Planner.Plan.Step)))) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil)) (__rel_26 ((_ynode).state) ((Reasoning.Planner.Plan.Step.Pour (_yb) : (Reasoning.Planner.Plan.Step))))) (fun (__a : (Option (Prod Nat Nat))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | Option.some _yt => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_0) (_ynode).trace ((Reasoning.Planner.Plan.Step.Pour (_yb) : (Reasoning.Planner.Plan.Step)) :: ([] : List (Reasoning.Planner.Plan.Step))))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_2) _yacc (({ state := _yt, trace := (Reasoning.Planner.LexLeanRuntime.append ((_ynode).trace) (((Reasoning.Planner.Plan.Step.Pour (_yb) : (Reasoning.Planner.Plan.Step)) :: ([] : List (Reasoning.Planner.Plan.Step)))) : (List (Reasoning.Planner.Plan.Step))) } : (Reasoning.Planner.Plan.Node)) :: ([] : List (Reasoning.Planner.Plan.Node))))))))) - -def __fits_28 (_ynode : (Reasoning.Planner.Plan.Node)) (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yb : Nat) : Bool := - ((Bool.true && (Bool.true && (Bool.true && Bool.true))) && (__fits_33 (_ynode) (_yacc) (_yb))) - -attribute [local irreducible] Reasoning.Planner.Plan.Pour.collect in -theorem __rel_28 (_ynode : (Reasoning.Planner.Plan.Node)) (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yb : Nat) : _root_.LexLeanPreservation.FunRel __prog 28 [(__enc_2 _ynode), ((_root_.LexLeanPreservation.encList __enc_2) _yacc), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yb)] (_root_.LexLeanPreservation.Rel (__fits_28 _ynode _yacc _yb) ((_root_.LexLeanPreservation.encList __enc_2) ((Reasoning.Planner.Plan.Pour.collect (_ynode) (_yacc) (_yb))))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (__rel_33 (_ynode) (_yacc) (_yb))) - -def __fits_22 (_ynode : (Reasoning.Planner.Plan.Node)) : Bool := - (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && (((Bool.true && Bool.true) && (__fits_25 ((_ynode).state))) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List (Reasoning.Planner.Plan.Node))) (__p1 : Nat) => __fits_28 (_ynode) __p0 __p1) ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yb : Nat) => (Reasoning.Planner.Plan.Pour.collect (_ynode) (_yacc) (_yb)))) (([] : List (Reasoning.Planner.Plan.Node))) ((Reasoning.Planner.Pour.candidates ((_ynode).state))))) - -attribute [local irreducible] Reasoning.Planner.Plan.Pour.collect Reasoning.Planner.Pour.candidates in -theorem __rel_22 (_ynode : (Reasoning.Planner.Plan.Node)) : _root_.LexLeanPreservation.FunRel __prog 22 [(__enc_2 _ynode)] (_root_.LexLeanPreservation.Rel (__fits_22 _ynode) ((_root_.LexLeanPreservation.encList __enc_2) (Reasoning.Planner.Plan.Pour.successors _ynode))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_25 ((_ynode).state))) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.nat) (es := (_root_.LexLeanPreservation.encList __enc_2)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yb : Nat) => (Reasoning.Planner.Plan.Pour.collect (_ynode) (_yacc) (_yb)))) (fun (__p0 : (List (Reasoning.Planner.Plan.Node))) (__p1 : Nat) => __fits_28 (_ynode) __p0 __p1) 28 [(__enc_2 _ynode)] (fun (__p0 : (List (Reasoning.Planner.Plan.Node))) (__p1 : Nat) => __rel_28 (_ynode) __p0 __p1) (p := __prog) (fi := 27) (ta := .nat) (ts := (.list (.adt 2))) rfl (([] : List (Reasoning.Planner.Plan.Node))) ((Reasoning.Planner.Pour.candidates ((_ynode).state))))) - -def __fits_14 (_ynode : (Reasoning.Planner.Plan.Node)) : Bool := - ((((Bool.true && Bool.true) && (__fits_20 (_ynode))) && (((((Bool.true && Bool.true) && (__fits_21 (_ynode))) && (((Bool.true && Bool.true) && (__fits_22 (_ynode))) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) - -attribute [local irreducible] Reasoning.Planner.Plan.EmptyB.successors Reasoning.Planner.Plan.FillA.successors Reasoning.Planner.Plan.Pour.successors in -theorem __rel_14 (_ynode : (Reasoning.Planner.Plan.Node)) : _root_.LexLeanPreservation.FunRel __prog 14 [(__enc_2 _ynode)] (_root_.LexLeanPreservation.Rel (__fits_14 _ynode) ((_root_.LexLeanPreservation.encList __enc_2) (Reasoning.Planner.Plan.successors _ynode))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_20 (_ynode))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_21 (_ynode))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_22 (_ynode))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_2) (Reasoning.Planner.Plan.EmptyB.successors (_ynode)) (Reasoning.Planner.Plan.Pour.successors (_ynode)))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_2) (Reasoning.Planner.Plan.FillA.successors (_ynode)) (Reasoning.Planner.LexLeanRuntime.append ((Reasoning.Planner.Plan.EmptyB.successors (_ynode))) ((Reasoning.Planner.Plan.Pour.successors (_ynode))) : (List (Reasoning.Planner.Plan.Node))))) - -def __fits_24 (_yacc : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat)))) (_yn : (Reasoning.Planner.Plan.Node)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Reasoning.Planner.LexLeanCollections.setContains ((_yacc).2) ((_yn).state) : Bool) then Bool.true else ((((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) - -theorem __rel_24 (_yacc : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat)))) (_yn : (Reasoning.Planner.Plan.Node)) : _root_.LexLeanPreservation.FunRel __prog 24 [((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList __enc_2) (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat))) _yacc), (__enc_2 _yn)] (_root_.LexLeanPreservation.Rel (__fits_24 _yacc _yn) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList __enc_2) (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat))) ((if (Reasoning.Planner.LexLeanCollections.setContains ((_yacc).2) ((_yn).state) : Bool) then _yacc else ((Reasoning.Planner.LexLeanRuntime.append ((_yacc).1) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))), (Reasoning.Planner.LexLeanCollections.setInsert ((_yacc).2) ((_yn).state) : (List (Prod Nat Nat)))))))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else ((((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList __enc_2) (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat))) (if __b then _yacc else ((Reasoning.Planner.LexLeanRuntime.append ((_yacc).1) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))), (Reasoning.Planner.LexLeanCollections.setInsert ((_yacc).2) ((_yn).state) : (List (Prod Nat Nat)))))) (Reasoning.Planner.LexLeanCollections.setContains ((_yacc).2) ((_yn).state) : Bool) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_setContains (_root_.LexLeanPreservation.keySpec_pair (_root_.LexLeanPreservation.keySpec_nat (Reasoning.Planner.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.keySpec_nat (Reasoning.Planner.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (Reasoning.Planner.LexLeanCollections.Key.compare : (Prod Nat Nat) -> (Prod Nat Nat) -> Ordering) (fun _ _ __h => by simp only [Reasoning.Planner.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h]) (fun _ _ __h => by simp only [Reasoning.Planner.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h]) (fun _ _ __h => by simp only [Reasoning.Planner.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h])) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) Reasoning.Planner.LexLeanCollections.containsElement (fun _ => rfl) (fun _ _ _ __h => by simp only [Reasoning.Planner.LexLeanCollections.containsElement, __h]) (fun _ _ _ __h => by simp only [Reasoning.Planner.LexLeanCollections.containsElement, __h]) (fun _ _ _ __h => by simp only [Reasoning.Planner.LexLeanCollections.containsElement, __h]) (p := __prog) (fi := 29) (tk := (.pair .nat .nat)) rfl ((_yacc).2) ((_yn).state))) (fun _ => (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_2) (_yacc).1 (_yn :: ([] : List (Reasoning.Planner.Plan.Node))))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_setInsert (_root_.LexLeanPreservation.keySpec_pair (_root_.LexLeanPreservation.keySpec_nat (Reasoning.Planner.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.keySpec_nat (Reasoning.Planner.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (Reasoning.Planner.LexLeanCollections.Key.compare : (Prod Nat Nat) -> (Prod Nat Nat) -> Ordering) (fun _ _ __h => by simp only [Reasoning.Planner.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h]) (fun _ _ __h => by simp only [Reasoning.Planner.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h]) (fun _ _ __h => by simp only [Reasoning.Planner.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h])) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) Reasoning.Planner.LexLeanCollections.insertElement (fun _ => rfl) (fun _ _ _ __h => by simp only [Reasoning.Planner.LexLeanCollections.insertElement, __h]) (fun _ _ _ __h => by simp only [Reasoning.Planner.LexLeanCollections.insertElement, __h]) (fun _ _ _ __h => by simp only [Reasoning.Planner.LexLeanCollections.insertElement, __h]) (p := __prog) (fi := 12) (tk := (.pair .nat .nat)) rfl ((_yacc).2) ((_yn).state))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))) - -def __fits_15 (_yvisited : (List (Prod Nat Nat))) (_ynodes : (List (Reasoning.Planner.Plan.Node))) : Bool := - ((Bool.true && ((((Bool.true && Bool.true) && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat)))) (__p1 : (Reasoning.Planner.Plan.Node)) => __fits_24 __p0 __p1) ((fun (_yacc : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat)))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Reasoning.Planner.LexLeanCollections.setContains ((_yacc).2) ((_yn).state) : Bool) then _yacc else ((Reasoning.Planner.LexLeanRuntime.append ((_yacc).1) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))), (Reasoning.Planner.LexLeanCollections.setInsert ((_yacc).2) ((_yn).state) : (List (Prod Nat Nat))))))) ((([] : List (Reasoning.Planner.Plan.Node)), _yvisited)) (_ynodes))) - -theorem __rel_15 (_yvisited : (List (Prod Nat Nat))) (_ynodes : (List (Reasoning.Planner.Plan.Node))) : _root_.LexLeanPreservation.FunRel __prog 15 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) _yvisited), ((_root_.LexLeanPreservation.encList __enc_2) _ynodes)] (_root_.LexLeanPreservation.Rel (__fits_15 _yvisited _ynodes) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList __enc_2) (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat))) (Reasoning.Planner.Plan.fresh _yvisited _ynodes))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := __enc_2) (es := (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList __enc_2) (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)))) (_root_.LexLeanPreservation.listEnc __enc_2) (fun _ => rfl) ((fun (_yacc : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat)))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Reasoning.Planner.LexLeanCollections.setContains ((_yacc).2) ((_yn).state) : Bool) then _yacc else ((Reasoning.Planner.LexLeanRuntime.append ((_yacc).1) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))), (Reasoning.Planner.LexLeanCollections.setInsert ((_yacc).2) ((_yn).state) : (List (Prod Nat Nat))))))) (fun (__p0 : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat)))) (__p1 : (Reasoning.Planner.Plan.Node)) => __fits_24 __p0 __p1) 24 [] (fun (__p0 : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat)))) (__p1 : (Reasoning.Planner.Plan.Node)) => __rel_24 __p0 __p1) (p := __prog) (fi := 23) (ta := (.adt 2)) (ts := (.pair (.list (.adt 2)) (.list (.pair .nat .nat)))) rfl ((([] : List (Reasoning.Planner.Plan.Node)), _yvisited)) (_ynodes))) - -def __fits_16 (target : Nat) (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) : Bool := - (((((Bool.true && Bool.true) && (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yacc) : Nat) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (target + target) 18446744073709551616)) && Bool.true)) && Bool.true) && (if (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then ((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) else Bool.true)) - -theorem __rel_16 (target : Nat) (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) : _root_.LexLeanPreservation.FunRel __prog 16 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target), ((_root_.LexLeanPreservation.encList __enc_2) _yacc), (__enc_2 _yn)] (_root_.LexLeanPreservation.Rel (__fits_16 target _yacc _yn) ((_root_.LexLeanPreservation.encList __enc_2) ((if (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (Reasoning.Planner.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc)))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) else Bool.true)) (fun (__b : Bool) => (_root_.LexLeanPreservation.encList __enc_2) (if __b then (Reasoning.Planner.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc)) (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yacc) : Nat) (target + target)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_2) _yacc)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd target target)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (Reasoning.Planner.LexLeanRuntime.length (_yacc) : Nat) (target + target))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_2) _yacc (_yn :: ([] : List (Reasoning.Planner.Plan.Node)))))) (fun _ => (_root_.LexLeanPreservation.conv_var rfl))) - -def __fits_17 (_ys : (Prod Nat Nat)) : Bool := - ((Bool.true && (((Bool.true && (((((Bool.true && Bool.true) && (__fits_25 (_ys))) && Bool.true) && (Nat.blt (Reasoning.Planner.LexLeanRuntime.length ((Reasoning.Planner.Pour.candidates (_ys))) : Nat) 18446744073709551616)) && Bool.true)) && (Nat.blt ((1 : Nat) + (Reasoning.Planner.LexLeanRuntime.length ((Reasoning.Planner.Pour.candidates (_ys))) : Nat)) 18446744073709551616)) && Bool.true)) && (Nat.blt ((1 : Nat) + ((1 : Nat) + (Reasoning.Planner.LexLeanRuntime.length ((Reasoning.Planner.Pour.candidates (_ys))) : Nat))) 18446744073709551616)) - -attribute [local irreducible] Reasoning.Planner.Pour.candidates in -theorem __rel_17 (_ys : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 17 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _ys)] (_root_.LexLeanPreservation.Rel (__fits_17 _ys) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Planner.Plan.attempts _ys))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_25 (_ys))) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Planner.Pour.candidates (_ys)))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (1 : Nat) (Reasoning.Planner.LexLeanRuntime.length ((Reasoning.Planner.Pour.candidates (_ys))) : Nat))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (1 : Nat) ((1 : Nat) + (Reasoning.Planner.LexLeanRuntime.length ((Reasoning.Planner.Pour.candidates (_ys))) : Nat)))) - -def __fits_8 (target : Nat) (_yr : (Reasoning.Planner.Plan.Search)) : Bool := - (Bool.true && (match (_yr).found with | Option.some _yhit => (Bool.true && Bool.true) | Option.none => (Bool.true && (match (_yr).frontier with | List.nil => (Bool.true && Bool.true) | List.cons _ynode _yrest => (((Bool.true && (Bool.true && Bool.true)) && (__fits_13 (target) ((_ynode).state))) && (match (Reasoning.Planner.Plan.accept (target) ((_ynode).state)) with | Option.some _yv => ((((Bool.true && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (Bool.true && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true))))) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_14 (_ynode))) && (let _ysuccessors : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.Plan.successors (_ynode)); (((Bool.true && (Bool.true && Bool.true)) && (__fits_15 ((_yr).visited) (_ysuccessors))) && (let _yfresh : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat))) := (Reasoning.Planner.Plan.fresh ((_yr).visited) (_ysuccessors)); (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (let _yordered : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.LexLeanRuntime.append (_yrest) ((_yfresh).1) : (List (Reasoning.Planner.Plan.Node))); ((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List (Reasoning.Planner.Plan.Node))) (__p1 : (Reasoning.Planner.Plan.Node)) => __fits_16 (target) __p0 __p1) ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (Reasoning.Planner.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) (_yordered))) && (let _ynext : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (Reasoning.Planner.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) (_yordered) : (List (Reasoning.Planner.Plan.Node))); ((((Bool.true && (Bool.true && ((Bool.true && Bool.true) && ((Bool.true && (if (_yr).truncated then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (target + target) 18446744073709551616)) && (((Bool.true && Bool.true) && (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yordered) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true))) && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (__fits_17 ((_ynode).state))) && Bool.true)) && (Nat.blt (((_yr).ledger).attempts + (Reasoning.Planner.Plan.attempts ((_ynode).state))) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_ysuccessors) : Nat) 18446744073709551616)) && Bool.true)) && (Nat.blt (((_yr).ledger).firings + (Reasoning.Planner.LexLeanRuntime.length (_ysuccessors) : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).expansions + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && ((((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true) && (if (Nat.blt ((_yr).ledger).frontier (Reasoning.Planner.LexLeanRuntime.length (_ynext) : Nat)) then ((Bool.true && Bool.true) && (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) else Bool.true)) && Bool.true)))))) && Bool.true) && Bool.true))))) && Bool.true) && Bool.true) && Bool.true))))))))))))))) - -attribute [local irreducible] Reasoning.Planner.Plan.accept Reasoning.Planner.Plan.attempts Reasoning.Planner.Plan.fresh Reasoning.Planner.Plan.successors in -theorem __rel_8 (target : Nat) (_yr : (Reasoning.Planner.Plan.Search)) : _root_.LexLeanPreservation.FunRel __prog 8 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target), (__enc_1 _yr)] (_root_.LexLeanPreservation.Rel (__fits_8 target _yr) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Planner.Plan.searchStep target _yr))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) __enc_2)) (fun (__a : (Option (Prod (Prod Nat Nat) (Reasoning.Planner.Plan.Node)))) => (match __a with | Option.some _yhit => (Bool.true && Bool.true) | Option.none => (Bool.true && (match (_yr).frontier with | List.nil => (Bool.true && Bool.true) | List.cons _ynode _yrest => (((Bool.true && (Bool.true && Bool.true)) && (__fits_13 (target) ((_ynode).state))) && (match (Reasoning.Planner.Plan.accept (target) ((_ynode).state)) with | Option.some _yv => ((((Bool.true && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (Bool.true && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true))))) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_14 (_ynode))) && (let _ysuccessors : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.Plan.successors (_ynode)); (((Bool.true && (Bool.true && Bool.true)) && (__fits_15 ((_yr).visited) (_ysuccessors))) && (let _yfresh : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat))) := (Reasoning.Planner.Plan.fresh ((_yr).visited) (_ysuccessors)); (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (let _yordered : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.LexLeanRuntime.append (_yrest) ((_yfresh).1) : (List (Reasoning.Planner.Plan.Node))); ((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List (Reasoning.Planner.Plan.Node))) (__p1 : (Reasoning.Planner.Plan.Node)) => __fits_16 (target) __p0 __p1) ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (Reasoning.Planner.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) (_yordered))) && (let _ynext : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (Reasoning.Planner.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) (_yordered) : (List (Reasoning.Planner.Plan.Node))); ((((Bool.true && (Bool.true && ((Bool.true && Bool.true) && ((Bool.true && (if (_yr).truncated then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (target + target) 18446744073709551616)) && (((Bool.true && Bool.true) && (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yordered) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true))) && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (__fits_17 ((_ynode).state))) && Bool.true)) && (Nat.blt (((_yr).ledger).attempts + (Reasoning.Planner.Plan.attempts ((_ynode).state))) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_ysuccessors) : Nat) 18446744073709551616)) && Bool.true)) && (Nat.blt (((_yr).ledger).firings + (Reasoning.Planner.LexLeanRuntime.length (_ysuccessors) : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).expansions + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && ((((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true) && (if (Nat.blt ((_yr).ledger).frontier (Reasoning.Planner.LexLeanRuntime.length (_ynext) : Nat)) then ((Bool.true && Bool.true) && (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) else Bool.true)) && Bool.true)))))) && Bool.true) && Bool.true))))) && Bool.true) && Bool.true) && Bool.true))))))))))))))) (fun (__a : (Option (Prod (Prod Nat Nat) (Reasoning.Planner.Plan.Node)))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Option.some _yhit => (Option.none : (Option (Reasoning.Planner.Plan.Search))) | Option.none => (match (_yr).frontier with | List.nil => (Option.none : (Option (Reasoning.Planner.Plan.Search))) | List.cons _ynode _yrest => (match (Reasoning.Planner.Plan.accept (target) ((_ynode).state)) with | Option.some _yv => (Option.some (({ frontier := _yrest, visited := (_yr).visited, found := (Option.some ((_yv, _ynode)) : (Option (Prod (Prod Nat Nat) (Reasoning.Planner.Plan.Node)))), truncated := (_yr).truncated, ledger := ({ iterations := (((_yr).ledger).iterations + (1 : Nat)), attempts := ((_yr).ledger).attempts, firings := ((_yr).ledger).firings, expansions := ((_yr).ledger).expansions, verifications := (((_yr).ledger).verifications + (1 : Nat)), frontier := ((_yr).ledger).frontier } : (Reasoning.Planner.Plan.Ledger)) } : (Reasoning.Planner.Plan.Search))) : (Option (Reasoning.Planner.Plan.Search))) | Option.none => (let _ysuccessors : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.Plan.successors (_ynode)); (let _yfresh : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat))) := (Reasoning.Planner.Plan.fresh ((_yr).visited) (_ysuccessors)); (let _yordered : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.LexLeanRuntime.append (_yrest) ((_yfresh).1) : (List (Reasoning.Planner.Plan.Node))); (let _ynext : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (Reasoning.Planner.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) (_yordered) : (List (Reasoning.Planner.Plan.Node))); (Option.some (({ frontier := _ynext, visited := (_yfresh).2, found := (Option.none : (Option (Prod (Prod Nat Nat) (Reasoning.Planner.Plan.Node)))), truncated := ((_yr).truncated || (Nat.blt (target + target) (Reasoning.Planner.LexLeanRuntime.length (_yordered) : Nat))), ledger := ({ iterations := (((_yr).ledger).iterations + (1 : Nat)), attempts := (((_yr).ledger).attempts + (Reasoning.Planner.Plan.attempts ((_ynode).state))), firings := (((_yr).ledger).firings + (Reasoning.Planner.LexLeanRuntime.length (_ysuccessors) : Nat)), expansions := (((_yr).ledger).expansions + (1 : Nat)), verifications := (((_yr).ledger).verifications + (1 : Nat)), frontier := (if (Nat.blt ((_yr).ledger).frontier (Reasoning.Planner.LexLeanRuntime.length (_ynext) : Nat)) then (Reasoning.Planner.LexLeanRuntime.length (_ynext) : Nat) else ((_yr).ledger).frontier) } : (Reasoning.Planner.Plan.Ledger)) } : (Reasoning.Planner.Plan.Search))) : (Option (Reasoning.Planner.Plan.Search))))))))))) (_yr).found (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (fun (__a : (Option (Prod (Prod Nat Nat) (Reasoning.Planner.Plan.Node)))) _ => match __a with | Option.some _yhit => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList __enc_2) (fun (__a : (List (Reasoning.Planner.Plan.Node))) => (match __a with | List.nil => (Bool.true && Bool.true) | List.cons _ynode _yrest => (((Bool.true && (Bool.true && Bool.true)) && (__fits_13 (target) ((_ynode).state))) && (match (Reasoning.Planner.Plan.accept (target) ((_ynode).state)) with | Option.some _yv => ((((Bool.true && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (Bool.true && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true))))) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_14 (_ynode))) && (let _ysuccessors : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.Plan.successors (_ynode)); (((Bool.true && (Bool.true && Bool.true)) && (__fits_15 ((_yr).visited) (_ysuccessors))) && (let _yfresh : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat))) := (Reasoning.Planner.Plan.fresh ((_yr).visited) (_ysuccessors)); (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (let _yordered : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.LexLeanRuntime.append (_yrest) ((_yfresh).1) : (List (Reasoning.Planner.Plan.Node))); ((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List (Reasoning.Planner.Plan.Node))) (__p1 : (Reasoning.Planner.Plan.Node)) => __fits_16 (target) __p0 __p1) ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (Reasoning.Planner.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) (_yordered))) && (let _ynext : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (Reasoning.Planner.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) (_yordered) : (List (Reasoning.Planner.Plan.Node))); ((((Bool.true && (Bool.true && ((Bool.true && Bool.true) && ((Bool.true && (if (_yr).truncated then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (target + target) 18446744073709551616)) && (((Bool.true && Bool.true) && (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yordered) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true))) && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (__fits_17 ((_ynode).state))) && Bool.true)) && (Nat.blt (((_yr).ledger).attempts + (Reasoning.Planner.Plan.attempts ((_ynode).state))) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_ysuccessors) : Nat) 18446744073709551616)) && Bool.true)) && (Nat.blt (((_yr).ledger).firings + (Reasoning.Planner.LexLeanRuntime.length (_ysuccessors) : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).expansions + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && ((((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true) && (if (Nat.blt ((_yr).ledger).frontier (Reasoning.Planner.LexLeanRuntime.length (_ynext) : Nat)) then ((Bool.true && Bool.true) && (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) else Bool.true)) && Bool.true)))))) && Bool.true) && Bool.true))))) && Bool.true) && Bool.true) && Bool.true))))))))))))) (fun (__a : (List (Reasoning.Planner.Plan.Node))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | List.nil => (Option.none : (Option (Reasoning.Planner.Plan.Search))) | List.cons _ynode _yrest => (match (Reasoning.Planner.Plan.accept (target) ((_ynode).state)) with | Option.some _yv => (Option.some (({ frontier := _yrest, visited := (_yr).visited, found := (Option.some ((_yv, _ynode)) : (Option (Prod (Prod Nat Nat) (Reasoning.Planner.Plan.Node)))), truncated := (_yr).truncated, ledger := ({ iterations := (((_yr).ledger).iterations + (1 : Nat)), attempts := ((_yr).ledger).attempts, firings := ((_yr).ledger).firings, expansions := ((_yr).ledger).expansions, verifications := (((_yr).ledger).verifications + (1 : Nat)), frontier := ((_yr).ledger).frontier } : (Reasoning.Planner.Plan.Ledger)) } : (Reasoning.Planner.Plan.Search))) : (Option (Reasoning.Planner.Plan.Search))) | Option.none => (let _ysuccessors : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.Plan.successors (_ynode)); (let _yfresh : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat))) := (Reasoning.Planner.Plan.fresh ((_yr).visited) (_ysuccessors)); (let _yordered : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.LexLeanRuntime.append (_yrest) ((_yfresh).1) : (List (Reasoning.Planner.Plan.Node))); (let _ynext : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (Reasoning.Planner.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) (_yordered) : (List (Reasoning.Planner.Plan.Node))); (Option.some (({ frontier := _ynext, visited := (_yfresh).2, found := (Option.none : (Option (Prod (Prod Nat Nat) (Reasoning.Planner.Plan.Node)))), truncated := ((_yr).truncated || (Nat.blt (target + target) (Reasoning.Planner.LexLeanRuntime.length (_yordered) : Nat))), ledger := ({ iterations := (((_yr).ledger).iterations + (1 : Nat)), attempts := (((_yr).ledger).attempts + (Reasoning.Planner.Plan.attempts ((_ynode).state))), firings := (((_yr).ledger).firings + (Reasoning.Planner.LexLeanRuntime.length (_ysuccessors) : Nat)), expansions := (((_yr).ledger).expansions + (1 : Nat)), verifications := (((_yr).ledger).verifications + (1 : Nat)), frontier := (if (Nat.blt ((_yr).ledger).frontier (Reasoning.Planner.LexLeanRuntime.length (_ynext) : Nat)) then (Reasoning.Planner.LexLeanRuntime.length (_ynext) : Nat) else ((_yr).ledger).frontier) } : (Reasoning.Planner.Plan.Ledger)) } : (Reasoning.Planner.Plan.Search))) : (Option (Reasoning.Planner.Plan.Search)))))))))) (_yr).frontier (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (fun (__a : (List (Reasoning.Planner.Plan.Node))) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | List.cons _ynode _yrest => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun (__a : (Option (Prod Nat Nat))) => (match __a with | Option.some _yv => ((((Bool.true && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (Bool.true && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true))))) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_14 (_ynode))) && (let _ysuccessors : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.Plan.successors (_ynode)); (((Bool.true && (Bool.true && Bool.true)) && (__fits_15 ((_yr).visited) (_ysuccessors))) && (let _yfresh : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat))) := (Reasoning.Planner.Plan.fresh ((_yr).visited) (_ysuccessors)); (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (let _yordered : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.LexLeanRuntime.append (_yrest) ((_yfresh).1) : (List (Reasoning.Planner.Plan.Node))); ((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List (Reasoning.Planner.Plan.Node))) (__p1 : (Reasoning.Planner.Plan.Node)) => __fits_16 (target) __p0 __p1) ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (Reasoning.Planner.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) (_yordered))) && (let _ynext : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (Reasoning.Planner.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) (_yordered) : (List (Reasoning.Planner.Plan.Node))); ((((Bool.true && (Bool.true && ((Bool.true && Bool.true) && ((Bool.true && (if (_yr).truncated then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (target + target) 18446744073709551616)) && (((Bool.true && Bool.true) && (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yordered) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true))) && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (__fits_17 ((_ynode).state))) && Bool.true)) && (Nat.blt (((_yr).ledger).attempts + (Reasoning.Planner.Plan.attempts ((_ynode).state))) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_ysuccessors) : Nat) 18446744073709551616)) && Bool.true)) && (Nat.blt (((_yr).ledger).firings + (Reasoning.Planner.LexLeanRuntime.length (_ysuccessors) : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).expansions + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && ((((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true) && (if (Nat.blt ((_yr).ledger).frontier (Reasoning.Planner.LexLeanRuntime.length (_ynext) : Nat)) then ((Bool.true && Bool.true) && (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) else Bool.true)) && Bool.true)))))) && Bool.true) && Bool.true))))) && Bool.true) && Bool.true) && Bool.true))))))))))) (fun (__a : (Option (Prod Nat Nat))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Option.some _yv => (Option.some (({ frontier := _yrest, visited := (_yr).visited, found := (Option.some ((_yv, _ynode)) : (Option (Prod (Prod Nat Nat) (Reasoning.Planner.Plan.Node)))), truncated := (_yr).truncated, ledger := ({ iterations := (((_yr).ledger).iterations + (1 : Nat)), attempts := ((_yr).ledger).attempts, firings := ((_yr).ledger).firings, expansions := ((_yr).ledger).expansions, verifications := (((_yr).ledger).verifications + (1 : Nat)), frontier := ((_yr).ledger).frontier } : (Reasoning.Planner.Plan.Ledger)) } : (Reasoning.Planner.Plan.Search))) : (Option (Reasoning.Planner.Plan.Search))) | Option.none => (let _ysuccessors : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.Plan.successors (_ynode)); (let _yfresh : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat))) := (Reasoning.Planner.Plan.fresh ((_yr).visited) (_ysuccessors)); (let _yordered : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.LexLeanRuntime.append (_yrest) ((_yfresh).1) : (List (Reasoning.Planner.Plan.Node))); (let _ynext : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (Reasoning.Planner.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) (_yordered) : (List (Reasoning.Planner.Plan.Node))); (Option.some (({ frontier := _ynext, visited := (_yfresh).2, found := (Option.none : (Option (Prod (Prod Nat Nat) (Reasoning.Planner.Plan.Node)))), truncated := ((_yr).truncated || (Nat.blt (target + target) (Reasoning.Planner.LexLeanRuntime.length (_yordered) : Nat))), ledger := ({ iterations := (((_yr).ledger).iterations + (1 : Nat)), attempts := (((_yr).ledger).attempts + (Reasoning.Planner.Plan.attempts ((_ynode).state))), firings := (((_yr).ledger).firings + (Reasoning.Planner.LexLeanRuntime.length (_ysuccessors) : Nat)), expansions := (((_yr).ledger).expansions + (1 : Nat)), verifications := (((_yr).ledger).verifications + (1 : Nat)), frontier := (if (Nat.blt ((_yr).ledger).frontier (Reasoning.Planner.LexLeanRuntime.length (_ynext) : Nat)) then (Reasoning.Planner.LexLeanRuntime.length (_ynext) : Nat) else ((_yr).ledger).frontier) } : (Reasoning.Planner.Plan.Ledger)) } : (Reasoning.Planner.Plan.Search))) : (Option (Reasoning.Planner.Plan.Search))))))))) (Reasoning.Planner.Plan.accept (target) ((_ynode).state)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_13 (target) ((_ynode).state))) (fun (__a : (Option (Prod Nat Nat))) _ => match __a with | Option.some _yv => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).iterations (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).verifications (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) _root_.LexLeanPreservation.convL_nil)))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (let _ysuccessors : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.Plan.successors (_ynode)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_14 (_ynode))) (let _yfresh : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat))) := (Reasoning.Planner.Plan.fresh ((_yr).visited) (_ysuccessors)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_15 ((_yr).visited) (_ysuccessors))) (let _yordered : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.LexLeanRuntime.append (_yrest) ((_yfresh).1) : (List (Reasoning.Planner.Plan.Node))); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_2) _yrest (_yfresh).1)) (let _ynext : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (Reasoning.Planner.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) (_yordered) : (List (Reasoning.Planner.Plan.Node))); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := __enc_2) (es := (_root_.LexLeanPreservation.encList __enc_2)) (_root_.LexLeanPreservation.listEnc __enc_2) (fun _ => rfl) ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (Reasoning.Planner.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (fun (__p0 : (List (Reasoning.Planner.Plan.Node))) (__p1 : (Reasoning.Planner.Plan.Node)) => __fits_16 (target) __p0 __p1) 16 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target)] (fun (__p0 : (List (Reasoning.Planner.Plan.Node))) (__p1 : (Reasoning.Planner.Plan.Node)) => __rel_16 (target) __p0 __p1) (p := __prog) (fi := 9) (ta := (.adt 2)) (ts := (.list (.adt 2))) rfl (([] : List (Reasoning.Planner.Plan.Node))) (_yordered))) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (target + target) 18446744073709551616)) && (((Bool.true && Bool.true) && (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yordered) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b || (Nat.blt (target + target) (Reasoning.Planner.LexLeanRuntime.length (_yordered) : Nat)))) (_yr).truncated (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd target target)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_2) _yordered)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (target + target) (Reasoning.Planner.LexLeanRuntime.length (_yordered) : Nat))))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).iterations (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_17 ((_ynode).state))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).attempts (Reasoning.Planner.Plan.attempts ((_ynode).state)))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_2) _ysuccessors)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).firings (Reasoning.Planner.LexLeanRuntime.length (_ysuccessors) : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).expansions (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).verifications (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) else Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.nat (if __b then (Reasoning.Planner.LexLeanRuntime.length (_ynext) : Nat) else ((_yr).ledger).frontier)) (Nat.blt ((_yr).ledger).frontier (Reasoning.Planner.LexLeanRuntime.length (_ynext) : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_2) _ynext)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt ((_yr).ledger).frontier (Reasoning.Planner.LexLeanRuntime.length (_ynext) : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_2) _ynext))) (fun _ => (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl))) _root_.LexLeanPreservation.convL_nil)))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some))))))))))))))))) - -def __fits_6 (target : Nat) (_yr : (Reasoning.Planner.Plan.Search)) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && (__fits_8 (target) (_yr))) - -attribute [local irreducible] Reasoning.Planner.Plan.searchStep in -theorem __rel_6 (target : Nat) (_yr : (Reasoning.Planner.Plan.Search)) : _root_.LexLeanPreservation.FunRel __prog 6 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target), (__enc_1 _yr)] (_root_.LexLeanPreservation.Rel (__fits_6 target _yr) ((_root_.LexLeanPreservation.encOption __enc_1) ((Reasoning.Planner.Plan.searchStep (target) (_yr))))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_8 (target) (_yr))) - -def __fits_10 (target : Nat) (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) : Bool := - (((((Bool.true && Bool.true) && (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yacc) : Nat) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (target + target) 18446744073709551616)) && Bool.true)) && Bool.true) && (if (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then ((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) else Bool.true)) - -theorem __rel_10 (target : Nat) (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) : _root_.LexLeanPreservation.FunRel __prog 10 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target), ((_root_.LexLeanPreservation.encList __enc_2) _yacc), (__enc_2 _yn)] (_root_.LexLeanPreservation.Rel (__fits_10 target _yacc _yn) ((_root_.LexLeanPreservation.encList __enc_2) ((if (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (Reasoning.Planner.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc)))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) else Bool.true)) (fun (__b : Bool) => (_root_.LexLeanPreservation.encList __enc_2) (if __b then (Reasoning.Planner.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc)) (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yacc) : Nat) (target + target)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_2) _yacc)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd target target)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (Reasoning.Planner.LexLeanRuntime.length (_yacc) : Nat) (target + target))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_2) _yacc (_yn :: ([] : List (Reasoning.Planner.Plan.Node)))))) (fun _ => (_root_.LexLeanPreservation.conv_var rfl))) - -def __fits_11 (target : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_11 (target : Nat) : _root_.LexLeanPreservation.FunRel __prog 11 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target)] (_root_.LexLeanPreservation.Rel (__fits_11 target) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Planner.Plan.observe target))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) - -def __fits_7 (target : Nat) : Bool := - ((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && (((((((Bool.true && Bool.true) && (__fits_11 (target))) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List (Reasoning.Planner.Plan.Node))) (__p1 : (Reasoning.Planner.Plan.Node)) => __fits_10 (target) __p0 __p1) ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (Reasoning.Planner.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) ((({ state := (Reasoning.Planner.Plan.observe (target)), trace := ([] : List (Reasoning.Planner.Plan.Step)) } : (Reasoning.Planner.Plan.Node)) :: ([] : List (Reasoning.Planner.Plan.Node)))))) && (let _yfirst : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (Reasoning.Planner.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) ((({ state := (Reasoning.Planner.Plan.observe (target)), trace := ([] : List (Reasoning.Planner.Plan.Step)) } : (Reasoning.Planner.Plan.Node)) :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))); ((Bool.true && ((((Bool.true && Bool.true) && (((Bool.true && Bool.true) && (__fits_11 (target))) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (target + target) 18446744073709551616)) && (Bool.true && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (((Bool.true && Bool.true) && (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yfirst) : Nat) 18446744073709551616)) && Bool.true)))))) && Bool.true) && Bool.true))))) && Bool.true))) - -attribute [local irreducible] Reasoning.Planner.Plan.observe in -theorem __rel_7 (target : Nat) : _root_.LexLeanPreservation.FunRel __prog 7 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target)] (_root_.LexLeanPreservation.Rel (__fits_7 target) (__enc_1 (Reasoning.Planner.Plan.start target))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (let _yfirst : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (Reasoning.Planner.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) ((({ state := (Reasoning.Planner.Plan.observe (target)), trace := ([] : List (Reasoning.Planner.Plan.Step)) } : (Reasoning.Planner.Plan.Node)) :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_11 (target))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := __enc_2) (es := (_root_.LexLeanPreservation.encList __enc_2)) (_root_.LexLeanPreservation.listEnc __enc_2) (fun _ => rfl) ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (Reasoning.Planner.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (Reasoning.Planner.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (fun (__p0 : (List (Reasoning.Planner.Plan.Node))) (__p1 : (Reasoning.Planner.Plan.Node)) => __fits_10 (target) __p0 __p1) 10 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target)] (fun (__p0 : (List (Reasoning.Planner.Plan.Node))) (__p1 : (Reasoning.Planner.Plan.Node)) => __rel_10 (target) __p0 __p1) (p := __prog) (fi := 9) (ta := (.adt 2)) (ts := (.list (.adt 2))) rfl (([] : List (Reasoning.Planner.Plan.Node))) ((({ state := (Reasoning.Planner.Plan.observe (target)), trace := ([] : List (Reasoning.Planner.Plan.Step)) } : (Reasoning.Planner.Plan.Node)) :: ([] : List (Reasoning.Planner.Plan.Node)))))) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_11 (target))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_setInsert (_root_.LexLeanPreservation.keySpec_pair (_root_.LexLeanPreservation.keySpec_nat (Reasoning.Planner.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.keySpec_nat (Reasoning.Planner.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (Reasoning.Planner.LexLeanCollections.Key.compare : (Prod Nat Nat) -> (Prod Nat Nat) -> Ordering) (fun _ _ __h => by simp only [Reasoning.Planner.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h]) (fun _ _ __h => by simp only [Reasoning.Planner.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h]) (fun _ _ __h => by simp only [Reasoning.Planner.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h])) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) Reasoning.Planner.LexLeanCollections.insertElement (fun _ => rfl) (fun _ _ _ __h => by simp only [Reasoning.Planner.LexLeanCollections.insertElement, __h]) (fun _ _ _ __h => by simp only [Reasoning.Planner.LexLeanCollections.insertElement, __h]) (fun _ _ _ __h => by simp only [Reasoning.Planner.LexLeanCollections.insertElement, __h]) (p := __prog) (fi := 12) (tk := (.pair .nat .nat)) rfl (([] : List (Prod Nat Nat))) ((Reasoning.Planner.Plan.observe (target))))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd target target)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (target + target) (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_2) _yfirst)) _root_.LexLeanPreservation.convL_nil)))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil))))) _root_.LexLeanPreservation.construct_adt)) - -def __fits_3 (target : Nat) : Bool := - (((Bool.true && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (Reasoning.Planner.LexLeanRuntime.multiply (target) ((8 : Nat)) : Nat) 18446744073709551616)) && (((Bool.true && Bool.true) && (__fits_7 (target))) && Bool.true))) && (_root_.LexLeanPreservation.untilFits (fun (__p0 : (Reasoning.Planner.Plan.Search)) => __fits_6 (target) __p0) ((fun (_yr : (Reasoning.Planner.Plan.Search)) => (Reasoning.Planner.Plan.searchStep (target) (_yr)))) ((Reasoning.Planner.LexLeanRuntime.multiply (target) ((8 : Nat)) : Nat)) ((Reasoning.Planner.Plan.start (target))))) - -attribute [local irreducible] Reasoning.Planner.Plan.searchStep Reasoning.Planner.Plan.start in -theorem __rel_3 (target : Nat) : _root_.LexLeanPreservation.FunRel __prog 3 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target)] (_root_.LexLeanPreservation.Rel (__fits_3 target) ((_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.bool) (Reasoning.Planner.Plan.run target))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natMul target (8 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_7 (target))) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_iterateUntil (es := __enc_1) (_root_.LexLeanPreservation.optEnc __enc_1) (fun _ => rfl) (_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.bool) (fun _ => rfl) ((fun (_yr : (Reasoning.Planner.Plan.Search)) => (Reasoning.Planner.Plan.searchStep (target) (_yr)))) (fun (__p0 : (Reasoning.Planner.Plan.Search)) => __fits_6 (target) __p0) 6 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target)] (fun (__p0 : (Reasoning.Planner.Plan.Search)) => __rel_6 (target) __p0) (Reasoning.Planner.LexLeanCollections.iterateUntil ((fun (_yr : (Reasoning.Planner.Plan.Search)) => (Reasoning.Planner.Plan.searchStep (target) (_yr))))) (fun _ => rfl) (fun _ _ __h => by simp only [Reasoning.Planner.LexLeanCollections.iterateUntil, __h]) (fun _ _ _ __h => by simp only [Reasoning.Planner.LexLeanCollections.iterateUntil, __h]) (p := __prog) (fi := 5) (ts := (.adt 1)) rfl ((Reasoning.Planner.LexLeanRuntime.multiply (target) ((8 : Nat)) : Nat)) ((Reasoning.Planner.Plan.start (target))))) - -def __fits_4 (_ysaturated : Bool) (_ytruncated : Bool) : Bool := - ((Bool.true && (if _ysaturated then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (if (_ysaturated && (!_ytruncated)) then (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) else (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true))) - -theorem __rel_4 (_ysaturated : Bool) (_ytruncated : Bool) : _root_.LexLeanPreservation.FunRel __prog 4 [(_root_.LexLeanTarget.TargetSyntax.Value.bool _ysaturated), (_root_.LexLeanTarget.TargetSyntax.Value.bool _ytruncated)] (_root_.LexLeanPreservation.Rel (__fits_4 _ysaturated _ytruncated) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (Reasoning.Planner.Plan.failure _ysaturated _ytruncated))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) else (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (if __b then ((Bool.false, Bool.true) : (Prod Bool Bool)) else ((Bool.false, Bool.false) : (Prod Bool Bool)))) (_ysaturated && (!_ytruncated)) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (!_ytruncated))) _ysaturated (_root_.LexLeanPreservation.conv_var rfl) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_boolNot _ytruncated))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))) - -def __fits_2 (target : Nat) : Bool := - (((Bool.true && Bool.true) && (__fits_3 (target))) && (let _yfinal : (Prod (Reasoning.Planner.Plan.Search) Bool) := (Reasoning.Planner.Plan.run (target)); (Bool.true && (match ((_yfinal).1).found with | Option.some _yhit => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => ((((Bool.true && (Bool.true && Bool.true)) && (__fits_4 ((_yfinal).2) (((_yfinal).1).truncated))) && Bool.true) && Bool.true))))) - -attribute [local irreducible] Reasoning.Planner.Plan.failure Reasoning.Planner.Plan.run in -theorem __rel_2 (target : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target)] (_root_.LexLeanPreservation.Rel (__fits_2 target) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encList __enc_0))) (Reasoning.Planner.Plan target))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (let _yfinal : (Prod (Reasoning.Planner.Plan.Search) Bool) := (Reasoning.Planner.Plan.run (target)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_3 (target))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) __enc_2)) (fun (__a : (Option (Prod (Prod Nat Nat) (Reasoning.Planner.Plan.Node)))) => (match __a with | Option.some _yhit => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => ((((Bool.true && (Bool.true && Bool.true)) && (__fits_4 ((_yfinal).2) (((_yfinal).1).truncated))) && Bool.true) && Bool.true))) (fun (__a : (Option (Prod (Prod Nat Nat) (Reasoning.Planner.Plan.Node)))) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encList __enc_0))) (match __a with | Option.some _yhit => (Except.ok (((_yhit).1, ((_yhit).2).trace)) : (Except (Prod Bool Bool) (Prod (Prod Nat Nat) (List (Reasoning.Planner.Plan.Step))))) | Option.none => (Except.error ((Reasoning.Planner.Plan.failure ((_yfinal).2) (((_yfinal).1).truncated))) : (Except (Prod Bool Bool) (Prod (Prod Nat Nat) (List (Reasoning.Planner.Plan.Step))))))) ((_yfinal).1).found (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) rfl) (fun (__a : (Option (Prod (Prod Nat Nat) (Reasoning.Planner.Plan.Node)))) _ => match __a with | Option.some _yhit => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_4 ((_yfinal).2) (((_yfinal).1).truncated))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))))) - -def __fits_1 (target : Nat) : Bool := - (((Bool.true && Bool.true) && (__fits_2 (target))) && (match (Reasoning.Planner.Plan (target)) with | Except.ok _yp => ((Bool.true && Bool.true) && Bool.true) | Except.error _ye => ((Bool.true && Bool.true) && Bool.true))) - -attribute [local irreducible] Reasoning.Planner.Plan in -theorem __rel_1 (target : Nat) : _root_.LexLeanPreservation.FunRel __prog 1 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target)] (_root_.LexLeanPreservation.Rel (__fits_1 target) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Reasoning.Planner.Plan.verdict target))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encList __enc_0))) (fun (__a : (Except (Prod Bool Bool) (Prod (Prod Nat Nat) (List (Reasoning.Planner.Plan.Step))))) => (match __a with | Except.ok _yp => ((Bool.true && Bool.true) && Bool.true) | Except.error _ye => ((Bool.true && Bool.true) && Bool.true))) (fun (__a : (Except (Prod Bool Bool) (Prod (Prod Nat Nat) (List (Reasoning.Planner.Plan.Step))))) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (match __a with | Except.ok _yp => (Except.ok ((_yp).1) : (Except (Prod Bool Bool) (Prod Nat Nat))) | Except.error _ye => (Except.error (_ye) : (Except (Prod Bool Bool) (Prod Nat Nat))))) (Reasoning.Planner.Plan (target)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_2 (target))) (fun (__a : (Except (Prod Bool Bool) (Prod (Prod Nat Nat) (List (Reasoning.Planner.Plan.Step))))) _ => match __a with | Except.ok _yp => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) | Except.error _ye => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))) - -def __fits_0 (target : Nat) : Bool := - (((Bool.true && Bool.true) && (__fits_1 (target))) && (match (Reasoning.Planner.Plan.verdict (target)) with | Except.ok jugs => Bool.true | Except.error failure => Bool.true)) - -attribute [local irreducible] Reasoning.Planner.Plan.verdict in -theorem __rel_0 (target : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target)] (_root_.LexLeanPreservation.Rel (__fits_0 target) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.planLeft target))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun (__a : (Except (Prod Bool Bool) (Prod Nat Nat))) => (match __a with | Except.ok jugs => Bool.true | Except.error failure => Bool.true)) (fun (__a : (Except (Prod Bool Bool) (Prod Nat Nat))) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match __a with | Except.ok jugs => (jugs).1 | Except.error failure => (9 : Nat))) (Reasoning.Planner.Plan.verdict (target)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (target))) (fun (__a : (Except (Prod Bool Bool) (Prod Nat Nat))) _ => match __a with | Except.ok jugs => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl))) | Except.error failure => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value)))) - -def denote (target : Nat) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 target) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.planLeft target)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (target : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target)] (_root_.LexLeanPreservation.Rel (__fits_0 target) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.planLeft target))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 target) - -end LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3 diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R3/Compose/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R3/Compose/RustStd.lean deleted file mode 100644 index bc3aba426..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R3/Compose/RustStd.lean +++ /dev/null @@ -1,30 +0,0 @@ -import LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3 -import LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.Compose.RustStd - -theorem __wt_0 : ∀ (__v : (Reasoning.Planner.Plan.Step)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd.program _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd.krate _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd.flags (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.__enc_0 __v) (.adt 0) - | Reasoning.Planner.Plan.Step.FillA => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Planner.Plan.Step.EmptyB => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Planner.Plan.Step.Pour __x0 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x0) _root_.LexLeanPreservation.Rust.wtl_nil) - -theorem __wt_2 : ∀ (__s : (Reasoning.Planner.Plan.Node)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd.program _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd.krate _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd.flags (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.__enc_2 __s) (.adt 2) := - fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_nat _root_.LexLeanPreservation.Rust.wt_nat) (__s).state) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList __wt_0) (__s).trace) _root_.LexLeanPreservation.Rust.wtl_nil)) - -theorem __wt_3 : ∀ (__s : (Reasoning.Planner.Plan.Ledger)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd.program _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd.krate _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd.flags (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.__enc_3 __s) (.adt 3) := - fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).iterations) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).attempts) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).firings) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).expansions) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).verifications) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).frontier) _root_.LexLeanPreservation.Rust.wtl_nil)))))) - -theorem __wt_1 : ∀ (__s : (Reasoning.Planner.Plan.Search)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd.program _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd.krate _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd.flags (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.__enc_1 __s) (.adt 1) := - fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList __wt_2) (__s).frontier) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_nat _root_.LexLeanPreservation.Rust.wt_nat)) (__s).visited) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encOption (_root_.LexLeanPreservation.Rust.wt_encPair (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_nat _root_.LexLeanPreservation.Rust.wt_nat) __wt_2)) (__s).found) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_bool (__s).truncated) (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_3 (__s).ledger) _root_.LexLeanPreservation.Rust.wtl_nil))))) - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (target : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat target)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.denote target) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat target)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat target) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.root target) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.Compose.RustStd diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R3/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R3/RustStd.lean deleted file mode 100644 index ba10558cc..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R3/RustStd.lean +++ /dev/null @@ -1,360 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [{ constructors := [[], [], [.nat]] }, - { constructors := [[(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]] }, - { constructors := [[(.pair .nat .nat), (.list (.adt 0))]] }, - { constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }], functions := (( - { parameters := [0], types := [.nat], result := .nat, - body := (.«match» .nat (.call 1 [(.var 0)]) [(.arm .ok [1] (.first (.var 1))), (.arm .error [2] (.value .nat (.nat 9)))]) }) ::( - { parameters := [0], types := [.nat], result := (.result (.pair .nat .nat) (.pair .bool .bool)), - body := (.«match» (.result (.pair .nat .nat) (.pair .bool .bool)) (.call 2 [(.var 0)]) [(.arm .ok [1] (.build .ok (.result (.pair .nat .nat) (.pair .bool .bool)) [(.first (.var 1))])), (.arm .error [2] (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.var 2)]))]) }) ::( - { parameters := [0], types := [.nat], result := (.result (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool)), - body := (.«let» 1 (.pair (.adt 1) .bool) (.call 3 [(.var 0)]) (.«match» (.result (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool)) (.field (.first (.var 1)) 2) [(.arm .some [2] (.build .ok (.result (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool)) [(.build .pair (.pair (.pair .nat .nat) (.list (.adt 0))) [(.first (.var 2)), (.field (.second (.var 2)) 1)])])), (.arm .none [] (.build .error (.result (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool)) [(.call 4 [(.second (.var 1)), (.field (.first (.var 1)) 3)])]))])) }) ::( - { parameters := [0], types := [.nat], result := (.pair (.adt 1) .bool), - body := (.call 5 [(.closure 6 [(.var 0)]), (.prim .natMul [(.var 0), (.value .nat (.nat 8))]), (.call 7 [(.var 0)])]) }) ::( - { parameters := [0, 1], types := [.bool, .bool], result := (.pair .bool .bool), - body := (.cond (.cond (.var 0) (.prim .boolNot [(.var 1)]) (.build .false .bool [])) (.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])]) (.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])) }) ::( - { parameters := [0, 1, 2], types := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)], result := (.pair (.adt 1) .bool), - body := (.«match» (.pair (.adt 1) .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair (.adt 1) .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 5 [(.var 0), (.var 3), (.var 4)]))]))]) }) ::( - { parameters := [0, 1], types := [.nat, (.adt 1)], result := (.option (.adt 1)), - body := (.call 8 [(.var 0), (.var 1)]) }) ::( - { parameters := [0], types := [.nat], result := (.adt 1), - body := (.«let» 1 (.list (.adt 2)) (.call 9 [(.closure 10 [(.var 0)]), (.build .nil (.list (.adt 2)) []), (.build .cons (.list (.adt 2)) [(.build (.adt 0) (.adt 2) [(.call 11 [(.var 0)]), (.build .nil (.list (.adt 0)) [])]), (.build .nil (.list (.adt 2)) [])])]) (.build (.adt 0) (.adt 1) [(.var 1), (.call 12 [(.build .nil (.list (.pair .nat .nat)) []), (.call 11 [(.var 0)])]), (.build .none (.option (.pair (.pair .nat .nat) (.adt 2))) []), (.prim .natLt [(.prim .natAdd [(.var 0), (.var 0)]), (.value .nat (.nat 1))]), (.build (.adt 0) (.adt 3) [(.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.prim .length [(.var 1)])])])) }) ::( - { parameters := [0, 1], types := [.nat, (.adt 1)], result := (.option (.adt 1)), - body := (.«match» (.option (.adt 1)) (.field (.var 1) 2) [(.arm .some [2] (.build .none (.option (.adt 1)) [])), (.arm .none [] (.«match» (.option (.adt 1)) (.field (.var 1) 0) [(.arm .nil [] (.build .none (.option (.adt 1)) [])), (.arm .cons [3, 4] (.«match» (.option (.adt 1)) (.call 13 [(.var 0), (.field (.var 3) 0)]) [(.arm .some [5] (.build .some (.option (.adt 1)) [(.build (.adt 0) (.adt 1) [(.var 4), (.field (.var 1) 1), (.build .some (.option (.pair (.pair .nat .nat) (.adt 2))) [(.build .pair (.pair (.pair .nat .nat) (.adt 2)) [(.var 5), (.var 3)])]), (.field (.var 1) 3), (.build (.adt 0) (.adt 3) [(.prim .natAdd [(.field (.field (.var 1) 4) 0), (.value .nat (.nat 1))]), (.field (.field (.var 1) 4) 1), (.field (.field (.var 1) 4) 2), (.field (.field (.var 1) 4) 3), (.prim .natAdd [(.field (.field (.var 1) 4) 4), (.value .nat (.nat 1))]), (.field (.field (.var 1) 4) 5)])])])), (.arm .none [] (.«let» 6 (.list (.adt 2)) (.call 14 [(.var 3)]) (.«let» 7 (.pair (.list (.adt 2)) (.list (.pair .nat .nat))) (.call 15 [(.field (.var 1) 1), (.var 6)]) (.«let» 8 (.list (.adt 2)) (.prim .append [(.var 4), (.first (.var 7))]) (.«let» 9 (.list (.adt 2)) (.call 9 [(.closure 16 [(.var 0)]), (.build .nil (.list (.adt 2)) []), (.var 8)]) (.build .some (.option (.adt 1)) [(.build (.adt 0) (.adt 1) [(.var 9), (.second (.var 7)), (.build .none (.option (.pair (.pair .nat .nat) (.adt 2))) []), (.cond (.field (.var 1) 3) (.build .true .bool []) (.prim .natLt [(.prim .natAdd [(.var 0), (.var 0)]), (.prim .length [(.var 8)])])), (.build (.adt 0) (.adt 3) [(.prim .natAdd [(.field (.field (.var 1) 4) 0), (.value .nat (.nat 1))]), (.prim .natAdd [(.field (.field (.var 1) 4) 1), (.call 17 [(.field (.var 3) 0)])]), (.prim .natAdd [(.field (.field (.var 1) 4) 2), (.prim .length [(.var 6)])]), (.prim .natAdd [(.field (.field (.var 1) 4) 3), (.value .nat (.nat 1))]), (.prim .natAdd [(.field (.field (.var 1) 4) 4), (.value .nat (.nat 1))]), (.cond (.prim .natLt [(.field (.field (.var 1) 4) 5), (.prim .length [(.var 9)])]) (.prim .length [(.var 9)]) (.field (.field (.var 1) 4) 5))])])]))))))]))]))]) }) ::( - { parameters := [0, 1, 2], types := [(.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (.list (.adt 2)), (.list (.adt 2))], result := (.list (.adt 2)), - body := (.«match» (.list (.adt 2)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 9 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }) ::( - { parameters := [0, 1, 2], types := [.nat, (.list (.adt 2)), (.adt 2)], result := (.list (.adt 2)), - body := (.cond (.prim .natLt [(.prim .length [(.var 1)]), (.prim .natAdd [(.var 0), (.var 0)])]) (.prim .append [(.var 1), (.build .cons (.list (.adt 2)) [(.var 2), (.build .nil (.list (.adt 2)) [])])]) (.var 1)) }) ::( - { parameters := [0], types := [.nat], result := (.pair .nat .nat), - body := (.build .pair (.pair .nat .nat) [(.value .nat (.nat 0)), (.value .nat (.nat 0))]) }) ::( - { parameters := [0, 1], types := [(.list (.pair .nat .nat)), (.pair .nat .nat)], result := (.list (.pair .nat .nat)), - body := (.«match» (.list (.pair .nat .nat)) (.var 0) [(.arm .nil [] (.build .cons (.list (.pair .nat .nat)) [(.var 1), (.build .nil (.list (.pair .nat .nat)) [])])), (.arm .cons [2, 3] (.«match» (.list (.pair .nat .nat)) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list (.pair .nat .nat)) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list (.pair .nat .nat)) [(.var 2), (.call 12 [(.var 3), (.var 1)])]))]))]) }) ::( - { parameters := [0, 1], types := [.nat, (.pair .nat .nat)], result := (.option (.pair .nat .nat)), - body := (.«match» (.option (.pair .nat .nat)) (.call 18 [(.var 1)]) [(.arm .none [] (.build .none (.option (.pair .nat .nat)) [])), (.arm .some [2] (.cond (.call 19 [(.var 0), (.var 2)]) (.build .some (.option (.pair .nat .nat)) [(.var 2)]) (.build .none (.option (.pair .nat .nat)) [])))]) }) ::( - { parameters := [0], types := [(.adt 2)], result := (.list (.adt 2)), - body := (.prim .append [(.call 20 [(.var 0)]), (.prim .append [(.call 21 [(.var 0)]), (.call 22 [(.var 0)])])]) }) ::( - { parameters := [0, 1], types := [(.list (.pair .nat .nat)), (.list (.adt 2))], result := (.pair (.list (.adt 2)) (.list (.pair .nat .nat))), - body := (.call 23 [(.closure 24 []), (.build .pair (.pair (.list (.adt 2)) (.list (.pair .nat .nat))) [(.build .nil (.list (.adt 2)) []), (.var 0)]), (.var 1)]) }) ::( - { parameters := [0, 1, 2], types := [.nat, (.list (.adt 2)), (.adt 2)], result := (.list (.adt 2)), - body := (.cond (.prim .natLt [(.prim .length [(.var 1)]), (.prim .natAdd [(.var 0), (.var 0)])]) (.prim .append [(.var 1), (.build .cons (.list (.adt 2)) [(.var 2), (.build .nil (.list (.adt 2)) [])])]) (.var 1)) }) ::( - { parameters := [0], types := [(.pair .nat .nat)], result := .nat, - body := (.prim .natAdd [(.value .nat (.nat 1)), (.prim .natAdd [(.value .nat (.nat 1)), (.prim .length [(.call 25 [(.var 0)])])])]) }) ::( - { parameters := [0], types := [(.pair .nat .nat)], result := (.option (.pair .nat .nat)), - body := (.build .some (.option (.pair .nat .nat)) [(.var 0)]) }) ::( - { parameters := [0, 1], types := [.nat, (.pair .nat .nat)], result := .bool, - body := (.cond (.prim .natEq [(.second (.var 1)), (.var 0)]) (.prim .natLe [(.first (.var 1)), (.value .nat (.nat 4))]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 2)], result := (.list (.adt 2)), - body := (.«match» (.list (.adt 2)) (.call 26 [(.field (.var 0) 0), (.build (.adt 0) (.adt 0) [])]) [(.arm .none [] (.build .nil (.list (.adt 2)) [])), (.arm .some [1] (.build .cons (.list (.adt 2)) [(.build (.adt 0) (.adt 2) [(.var 1), (.prim .append [(.field (.var 0) 1), (.build .cons (.list (.adt 0)) [(.build (.adt 0) (.adt 0) []), (.build .nil (.list (.adt 0)) [])])])]), (.build .nil (.list (.adt 2)) [])]))]) }) ::( - { parameters := [0], types := [(.adt 2)], result := (.list (.adt 2)), - body := (.«match» (.list (.adt 2)) (.call 26 [(.field (.var 0) 0), (.build (.adt 1) (.adt 0) [])]) [(.arm .none [] (.build .nil (.list (.adt 2)) [])), (.arm .some [1] (.build .cons (.list (.adt 2)) [(.build (.adt 0) (.adt 2) [(.var 1), (.prim .append [(.field (.var 0) 1), (.build .cons (.list (.adt 0)) [(.build (.adt 1) (.adt 0) []), (.build .nil (.list (.adt 0)) [])])])]), (.build .nil (.list (.adt 2)) [])]))]) }) ::( - { parameters := [0], types := [(.adt 2)], result := (.list (.adt 2)), - body := (.call 27 [(.closure 28 [(.var 0)]), (.build .nil (.list (.adt 2)) []), (.call 25 [(.field (.var 0) 0)])]) }) ::( - { parameters := [0, 1, 2], types := [(.fn [(.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.adt 2)] (.pair (.list (.adt 2)) (.list (.pair .nat .nat)))), (.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.list (.adt 2))], result := (.pair (.list (.adt 2)) (.list (.pair .nat .nat))), - body := (.«match» (.pair (.list (.adt 2)) (.list (.pair .nat .nat))) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 23 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }) ::( - { parameters := [0, 1], types := [(.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.adt 2)], result := (.pair (.list (.adt 2)) (.list (.pair .nat .nat))), - body := (.cond (.call 29 [(.second (.var 0)), (.field (.var 1) 0)]) (.var 0) (.build .pair (.pair (.list (.adt 2)) (.list (.pair .nat .nat))) [(.prim .append [(.first (.var 0)), (.build .cons (.list (.adt 2)) [(.var 1), (.build .nil (.list (.adt 2)) [])])]), (.call 12 [(.second (.var 0)), (.field (.var 1) 0)])])) }) ::( - { parameters := [0], types := [(.pair .nat .nat)], result := (.list .nat), - body := (.build .cons (.list .nat) [(.value .nat (.nat 1)), (.build .cons (.list .nat) [(.value .nat (.nat 2)), (.build .cons (.list .nat) [(.value .nat (.nat 3)), (.build .nil (.list .nat) [])])])]) }) ::( - { parameters := [0, 1], types := [(.pair .nat .nat), (.adt 0)], result := (.option (.pair .nat .nat)), - body := (.«match» (.option (.pair .nat .nat)) (.var 1) [(.arm (.adt 0) [] (.call 30 [(.var 0)])), (.arm (.adt 1) [] (.call 31 [(.var 0)])), (.arm (.adt 2) [2] (.call 32 [(.var 0), (.var 2)]))]) }) ::( - { parameters := [0, 1, 2], types := [(.fn [(.list (.adt 2)), .nat] (.list (.adt 2))), (.list (.adt 2)), (.list .nat)], result := (.list (.adt 2)), - body := (.«match» (.list (.adt 2)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 27 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }) ::( - { parameters := [0, 1, 2], types := [(.adt 2), (.list (.adt 2)), .nat], result := (.list (.adt 2)), - body := (.call 33 [(.var 0), (.var 1), (.var 2)]) }) ::( - { parameters := [0, 1], types := [(.list (.pair .nat .nat)), (.pair .nat .nat)], result := .bool, - body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .false .bool [])), (.arm .cons [2, 3] (.«match» .bool (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .false .bool [])), (.arm .eq [] (.build .true .bool [])), (.arm .gt [] (.call 29 [(.var 3), (.var 1)]))]))]) }) ::( - { parameters := [0], types := [(.pair .nat .nat)], result := (.option (.pair .nat .nat)), - body := (.cond (.call 34 [(.var 0)]) (.build .some (.option (.pair .nat .nat)) [(.call 35 [(.var 0)])]) (.build .none (.option (.pair .nat .nat)) [])) }) ::( - { parameters := [0], types := [(.pair .nat .nat)], result := (.option (.pair .nat .nat)), - body := (.cond (.call 36 [(.var 0)]) (.build .some (.option (.pair .nat .nat)) [(.call 37 [(.var 0)])]) (.build .none (.option (.pair .nat .nat)) [])) }) ::( - { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := (.option (.pair .nat .nat)), - body := (.cond (.call 38 [(.var 0), (.var 1)]) (.build .some (.option (.pair .nat .nat)) [(.call 39 [(.var 0), (.var 1)])]) (.build .none (.option (.pair .nat .nat)) [])) }) ::( - { parameters := [0, 1, 2], types := [(.adt 2), (.list (.adt 2)), .nat], result := (.list (.adt 2)), - body := (.«match» (.list (.adt 2)) (.call 26 [(.field (.var 0) 0), (.build (.adt 2) (.adt 0) [(.var 2)])]) [(.arm .none [] (.var 1)), (.arm .some [3] (.prim .append [(.var 1), (.build .cons (.list (.adt 2)) [(.build (.adt 0) (.adt 2) [(.var 3), (.prim .append [(.field (.var 0) 1), (.build .cons (.list (.adt 0)) [(.build (.adt 2) (.adt 0) [(.var 2)]), (.build .nil (.list (.adt 0)) [])])])]), (.build .nil (.list (.adt 2)) [])])]))]) }) ::( - { parameters := [0], types := [(.pair .nat .nat)], result := .bool, - body := (.cond (.prim .natLt [(.first (.var 0)), (.value .nat (.nat 4))]) (.prim .natLe [(.second (.var 0)), (.value .nat (.nat 3))]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.pair .nat .nat)], result := (.pair .nat .nat), - body := (.build .pair (.pair .nat .nat) [(.value .nat (.nat 4)), (.second (.var 0))]) }) ::( - { parameters := [0], types := [(.pair .nat .nat)], result := .bool, - body := (.cond (.prim .natLt [(.value .nat (.nat 0)), (.second (.var 0))]) (.prim .natLe [(.first (.var 0)), (.value .nat (.nat 4))]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.pair .nat .nat)], result := (.pair .nat .nat), - body := (.build .pair (.pair .nat .nat) [(.first (.var 0)), (.value .nat (.nat 0))]) }) ::( - { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := .bool, - body := (.cond (.prim .natLe [(.var 1), (.first (.var 0))]) (.cond (.prim .natLe [(.prim .natAdd [(.second (.var 0)), (.var 1)]), (.value .nat (.nat 3))]) (.prim .natLe [(.first (.var 0)), (.value .nat (.nat 4))]) (.build .false .bool [])) (.build .false .bool [])) }) ::( - { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := (.pair .nat .nat), - body := (.build .pair (.pair .nat .nat) [(.prim .natSub [(.first (.var 0)), (.var 1)]), (.prim .natAdd [(.second (.var 0)), (.var 1)])]) }) ::[]) } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := ((.enum (.adt 0) [{ number := 0, fields := [] }, { number := 1, fields := [] }, { number := 2, fields := [.nat] }]) :: - (.enum (.adt 1) [{ number := 0, fields := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)] }]) :: - (.enum (.adt 2) [{ number := 0, fields := [(.pair .nat .nat), (.list (.adt 0))] }]) :: - (.enum (.adt 3) [{ number := 0, fields := [.nat, .nat, .nat, .nat, .nat, .nat] }]) :: - (.enum (.fn 0) [{ number := 6, fields := [.nat] }]) :: - (.apply 0 [(.adt 1)] (.option (.adt 1)) true [{ function := 6, captures := [.copy], functionFallible := true }]) :: - (.enum (.fn 1) [{ number := 10, fields := [.nat] }, { number := 16, fields := [.nat] }]) :: - (.apply 1 [(.list (.adt 2)), (.adt 2)] (.list (.adt 2)) true [{ function := 10, captures := [.copy], functionFallible := true }, { function := 16, captures := [.copy], functionFallible := true }]) :: - (.enum (.fn 2) [{ number := 24, fields := [] }]) :: - (.apply 2 [(.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.adt 2)] (.pair (.list (.adt 2)) (.list (.pair .nat .nat))) false [{ function := 24, captures := [], functionFallible := false }]) :: - (.enum (.fn 3) [{ number := 28, fields := [(.adt 2)] }]) :: - (.apply 3 [(.list (.adt 2)), .nat] (.list (.adt 2)) true [{ function := 28, captures := [.clone], functionFallible := true }]) :: - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.copy (.generated .binding 0))] true))] (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 1))) (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 1)))] (.succeed (.move (.generated .part 2))))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 9)))))]))) :: - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible (.result (.pair .nat .nat) (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .holder 3)) none (.call (.function 2) [(.copy (.generated .binding 0))] true))] (.matchOn (.move (.generated .holder 3)) [(.mk (.ok (.bind (.generated .binding 1))) (.mk [] (.succeed (.construct (.ok (.pair .nat .nat) (.pair .bool .bool)) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 4))))])))), (.mk (.err (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.copy (.generated .binding 2))]))))]))) :: - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible (.result (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 1)) (some (.pair (.adt 1) .bool)) (.call (.function 3) [(.copy (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 8)) none (.block (.mk [(.mk (.bind (.generated .holder 7)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 6)), .wild]) none (.clone (.generated .binding 1)))] (.move (.generated .part 6)))))] (.matchOn (.move (.generated .holder 7)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 5)), .wild, .wild]) (.mk [] (.move (.generated .part 5))))]))))] (.matchOn (.move (.generated .holder 8)) [(.mk .none (.mk [] (.succeed (.construct (.err (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool)) [(.call (.function 4) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.move (.generated .binding 1)))] (.move (.generated .part 13)))), (.block (.mk [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 15)))))] (.matchOn (.move (.generated .holder 16)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 14)), .wild]) (.mk [] (.move (.generated .part 14))))])))] false)])))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.ok (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool)) [(.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 9)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 9)))) (.block (.mk [(.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 11))]) none (.move (.generated .binding 2)))] (.move (.generated .part 11)))))] (.matchOn (.move (.generated .holder 12)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 10))]) (.mk [] (.move (.generated .part 10))))]))))]))))]))) :: - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible (.pair (.adt 1) .bool)) (.mk [] (.call (.function 5) [(.construct (.closure 0 6) [(.copy (.generated .binding 0))]), (.block (.mk [(.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 18)) none (.lit (.nat 8)))] (.call (.runtime .natMul) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] true))), (.call (.function 7) [(.copy (.generated .binding 0))] true)] false))) :: - (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := .bool }, { pattern := (.bind (.generated .binding 1)), type := .bool }] (.pair .bool .bool) (.mk [] (.cond (.cond (.copy (.generated .binding 0)) (.mk [(.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 1)))] (.call (.runtime .boolNot) [(.move (.generated .operand 19))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.pair (.lit (.bool false)) (.lit (.bool true)))) (.mk [] (.pair (.lit (.bool false)) (.lit (.bool false))))))) :: - (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := (.adt 1) }] (.fallible (.pair (.adt 1) .bool)) (.mk [(.mk (.bind (.generated .holder 20)) none (.copy (.generated .binding 1)))] (.cond (.isZero (.generated .holder 20)) (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 20))), (.mk (.bind (.generated .holder 22)) none (.block (.mk [(.mk (.bind (.generated .callee 21)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 21) [(.clone (.generated .binding 2))] true))))] (.matchOn (.move (.generated .holder 22)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 5) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))]))))) :: - (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := (.adt 1) }] (.fallible (.option (.adt 1))) (.mk [] (.call (.function 8) [(.copy (.generated .binding 0)), (.move (.generated .binding 1))] false))) :: - (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible (.adt 1)) (.mk [(.mk (.bind (.generated .binding 1)) (some (.list (.adt 2))) (.call (.function 9) [(.construct (.closure 1 10) [(.copy (.generated .binding 0))]), (.construct (.nil (.adt 2)) []), (.construct .cons [(.construct (.adt 2 0) [(.call (.function 11) [(.copy (.generated .binding 0))] false), (.construct (.nil (.adt 0)) [])]), (.construct (.nil (.adt 2)) [])])] true))] (.succeed (.construct (.adt 1 0) [(.clone (.generated .binding 1)), (.call (.function 12) [(.construct (.nil (.pair .nat .nat)) []), (.call (.function 11) [(.copy (.generated .binding 0))] false)] false), (.construct (.none (.pair (.pair .nat .nat) (.adt 2))) []), (.block (.mk [(.mk (.bind (.generated .operand 25)) none (.block (.mk [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 24)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] true)))), (.mk (.bind (.generated .operand 26)) none (.lit (.nat 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false))), (.construct (.adt 3 0) [(.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.block (.mk [(.mk (.bind (.generated .operand 27)) none (.move (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 27))] false)))])])))) :: - (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := (.adt 1) }] (.fallible (.option (.adt 1))) (.mk [(.mk (.bind (.generated .holder 29)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 28)), .wild, .wild]) (.mk [] (.move (.generated .part 28))))]))] (.matchOn (.move (.generated .holder 29)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 31)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [(.bind (.generated .part 30)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))]))] (.matchOn (.uncons (.generated .holder 31)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [(.mk (.bind (.generated .holder 33)) none (.call (.function 13) [(.copy (.generated .binding 0)), (.matchOn (.clone (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 32)), .wild]) (.mk [] (.move (.generated .part 32))))])] false))] (.matchOn (.move (.generated .holder 33)) [(.mk .none (.mk [(.mk (.bind (.generated .binding 6)) (some (.list (.adt 2))) (.call (.function 14) [(.clone (.generated .binding 3))] true)), (.mk (.bind (.generated .binding 7)) (some (.pair (.list (.adt 2)) (.list (.pair .nat .nat)))) (.call (.function 15) [(.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 58)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))]), (.clone (.generated .binding 6))] false)), (.mk (.bind (.generated .binding 8)) (some (.list (.adt 2))) (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.move (.generated .binding 4))), (.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.move (.generated .binding 7)))] (.move (.generated .part 59)))))] (.call (.runtime .appendList) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false)))), (.mk (.bind (.generated .binding 9)) (some (.list (.adt 2))) (.call (.function 9) [(.construct (.closure 1 16) [(.copy (.generated .binding 0))]), (.construct (.nil (.adt 2)) []), (.clone (.generated .binding 8))] true))] (.succeed (.construct .some [(.construct (.adt 1 0) [(.clone (.generated .binding 9)), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 62))]) none (.move (.generated .binding 7)))] (.move (.generated .part 62)))), (.construct (.none (.pair (.pair .nat .nat) (.adt 2))) []), (.cond (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 63)), .wild]) (.mk [] (.move (.generated .part 63))))]) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 65)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] true)))), (.mk (.bind (.generated .operand 68)) none (.block (.mk [(.mk (.bind (.generated .operand 66)) none (.move (.generated .binding 8)))] (.call (.runtime .lengthList) [(.move (.generated .operand 66))] false))))] (.call (.runtime .natLt) [(.move (.generated .operand 67)), (.move (.generated .operand 68))] false))), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.bind (.generated .holder 71)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 70))]) (.mk [] (.move (.generated .part 70))))]))] (.matchOn (.move (.generated .holder 71)) [(.mk (.adt 3 0 [(.bind (.generated .part 69)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 69))))])))), (.mk (.bind (.generated .operand 73)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] true))), (.block (.mk [(.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.bind (.generated .holder 76)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 75))]) (.mk [] (.move (.generated .part 75))))]))] (.matchOn (.move (.generated .holder 76)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 74)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 74))))])))), (.mk (.bind (.generated .operand 79)) none (.call (.function 17) [(.matchOn (.move (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 77)), .wild]) (.mk [] (.move (.generated .part 77))))])] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 78)), (.move (.generated .operand 79))] true))), (.block (.mk [(.mk (.bind (.generated .operand 84)) none (.block (.mk [(.mk (.bind (.generated .holder 82)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))]))] (.matchOn (.move (.generated .holder 82)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 80)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 80))))])))), (.mk (.bind (.generated .operand 85)) none (.block (.mk [(.mk (.bind (.generated .operand 83)) none (.move (.generated .binding 6)))] (.call (.runtime .lengthList) [(.move (.generated .operand 83))] false))))] (.call (.runtime .natAdd) [(.move (.generated .operand 84)), (.move (.generated .operand 85))] true))), (.block (.mk [(.mk (.bind (.generated .operand 89)) none (.block (.mk [(.mk (.bind (.generated .holder 88)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))]))] (.matchOn (.move (.generated .holder 88)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 86)), .wild, .wild]) (.mk [] (.move (.generated .part 86))))])))), (.mk (.bind (.generated .operand 90)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 89)), (.move (.generated .operand 90))] true))), (.block (.mk [(.mk (.bind (.generated .operand 94)) none (.block (.mk [(.mk (.bind (.generated .holder 93)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 92))]) (.mk [] (.move (.generated .part 92))))]))] (.matchOn (.move (.generated .holder 93)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 91)), .wild]) (.mk [] (.move (.generated .part 91))))])))), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] true))), (.block (.mk [(.mk (.bind (.generated .operand 100)) none (.block (.mk [(.mk (.bind (.generated .holder 98)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 97))]) (.mk [] (.move (.generated .part 97))))]))] (.matchOn (.move (.generated .holder 98)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96))]) (.mk [] (.move (.generated .part 96))))])))), (.mk (.bind (.generated .operand 101)) none (.block (.mk [(.mk (.bind (.generated .operand 99)) none (.clone (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 99))] false))))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false) (.mk [(.mk (.bind (.generated .operand 102)) none (.move (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 102))] false)) (.mk [(.mk (.bind (.generated .holder 105)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 104))]) (.mk [] (.move (.generated .part 104))))]))] (.matchOn (.move (.generated .holder 105)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 103))]) (.mk [] (.move (.generated .part 103))))])))))])])])))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.succeed (.construct .some [(.construct (.adt 1 0) [(.move (.generated .binding 4)), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 34)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 34))))]), (.construct .some [(.pair (.copy (.generated .binding 5)) (.move (.generated .binding 3)))]), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 35)), .wild]) (.mk [] (.move (.generated .part 35))))]), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .holder 38)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 37))]) (.mk [] (.move (.generated .part 37))))]))] (.matchOn (.move (.generated .holder 38)) [(.mk (.adt 3 0 [(.bind (.generated .part 36)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])))), (.mk (.bind (.generated .operand 40)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] true))), (.block (.mk [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))] (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 41)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 41))))]))), (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 44)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 44))))]))), (.block (.mk [(.mk (.bind (.generated .holder 49)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))]))] (.matchOn (.move (.generated .holder 49)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 47)), .wild, .wild]) (.mk [] (.move (.generated .part 47))))]))), (.block (.mk [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .holder 52)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 51))]) (.mk [] (.move (.generated .part 51))))]))] (.matchOn (.move (.generated .holder 52)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 50)), .wild]) (.mk [] (.move (.generated .part 50))))])))), (.mk (.bind (.generated .operand 54)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true))), (.block (.mk [(.mk (.bind (.generated .holder 57)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 56))]) (.mk [] (.move (.generated .part 56))))]))] (.matchOn (.move (.generated .holder 57)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 55))]) (.mk [] (.move (.generated .part 55))))])))])])]))))])))]))), (.mk (.some .wild) (.mk [] (.succeed (.construct (.none (.adt 1)) []))))]))) :: - (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 1) }, { pattern := (.bind (.generated .binding 1)), type := (.list (.adt 2)) }, { pattern := (.bind (.generated .binding 2)), type := (.list (.adt 2)) }] (.fallible (.list (.adt 2))) (.mk [(.mk (.bind (.generated .holder 106)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 106)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 9) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 107)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 107) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]))) :: - (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := (.list (.adt 2)) }, { pattern := (.bind (.generated .binding 2)), type := (.adt 2) }] (.fallible (.list (.adt 2))) (.mk [(.mk (.bind (.generated .operand 111)) none (.block (.mk [(.mk (.bind (.generated .operand 108)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 108))] false)))), (.mk (.bind (.generated .operand 112)) none (.block (.mk [(.mk (.bind (.generated .operand 109)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 110)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 109)), (.move (.generated .operand 110))] true))))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 111)), (.move (.generated .operand 112))] false) (.mk [(.mk (.bind (.generated .operand 113)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 114)) none (.construct .cons [(.move (.generated .binding 2)), (.construct (.nil (.adt 2)) [])]))] (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 113)), (.move (.generated .operand 114))] false))) (.mk [] (.succeed (.move (.generated .binding 1))))))) :: - (.function (.generated .function 11) [{ pattern := .wild, type := .nat }] (.pair .nat .nat) (.mk [] (.pair (.lit (.nat 0)) (.lit (.nat 0))))) :: - (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat .nat)) }, { pattern := (.bind (.generated .binding 1)), type := (.pair .nat .nat) }] (.list (.pair .nat .nat)) (.mk [(.mk (.bind (.generated .holder 115)) none (.clone (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 115)) [(.mk .none (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil (.pair .nat .nat)) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 118)) none (.block (.mk [(.mk (.bind (.generated .operand 116)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 117)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 116)), (.move (.generated .operand 117))] false))))] (.matchOn (.move (.generated .holder 118)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 12) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]))) :: - (.function (.generated .function 13) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := (.pair .nat .nat) }] (.option (.pair .nat .nat)) (.mk [(.mk (.bind (.generated .holder 119)) none (.call (.function 18) [(.copy (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 119)) [(.mk .none (.mk [] (.construct (.none (.pair .nat .nat)) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.cond (.call (.function 19) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none (.pair .nat .nat)) [])))))]))) :: - (.function (.generated .function 14) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 2) }] (.fallible (.list (.adt 2))) (.mk [(.mk (.bind (.generated .operand 122)) none (.call (.function 20) [(.clone (.generated .binding 0))] true)), (.mk (.bind (.generated .operand 123)) none (.block (.mk [(.mk (.bind (.generated .operand 120)) none (.call (.function 21) [(.clone (.generated .binding 0))] true)), (.mk (.bind (.generated .operand 121)) none (.call (.function 22) [(.move (.generated .binding 0))] true))] (.call (.runtime .appendList) [(.move (.generated .operand 120)), (.move (.generated .operand 121))] false))))] (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 122)), (.move (.generated .operand 123))] false)))) :: - (.function (.generated .function 15) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat .nat)) }, { pattern := (.bind (.generated .binding 1)), type := (.list (.adt 2)) }] (.pair (.list (.adt 2)) (.list (.pair .nat .nat))) (.mk [] (.call (.function 23) [(.construct (.closure 2 24) []), (.pair (.construct (.nil (.adt 2)) []) (.move (.generated .binding 0))), (.move (.generated .binding 1))] false))) :: - (.function (.generated .function 16) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := (.list (.adt 2)) }, { pattern := (.bind (.generated .binding 2)), type := (.adt 2) }] (.fallible (.list (.adt 2))) (.mk [(.mk (.bind (.generated .operand 127)) none (.block (.mk [(.mk (.bind (.generated .operand 124)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 124))] false)))), (.mk (.bind (.generated .operand 128)) none (.block (.mk [(.mk (.bind (.generated .operand 125)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 126)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 125)), (.move (.generated .operand 126))] true))))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 127)), (.move (.generated .operand 128))] false) (.mk [(.mk (.bind (.generated .operand 129)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 130)) none (.construct .cons [(.move (.generated .binding 2)), (.construct (.nil (.adt 2)) [])]))] (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 129)), (.move (.generated .operand 130))] false))) (.mk [] (.succeed (.move (.generated .binding 1))))))) :: - (.function (.generated .function 17) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 134)) none (.lit (.nat 1))), (.mk (.bind (.generated .operand 135)) none (.block (.mk [(.mk (.bind (.generated .operand 132)) none (.lit (.nat 1))), (.mk (.bind (.generated .operand 133)) none (.block (.mk [(.mk (.bind (.generated .operand 131)) none (.call (.function 25) [(.copy (.generated .binding 0))] false))] (.call (.runtime .lengthList) [(.move (.generated .operand 131))] false))))] (.call (.runtime .natAdd) [(.move (.generated .operand 132)), (.move (.generated .operand 133))] true))))] (.call (.runtime .natAdd) [(.move (.generated .operand 134)), (.move (.generated .operand 135))] false))) :: - (.function (.generated .function 18) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.option (.pair .nat .nat)) (.mk [] (.construct .some [(.copy (.generated .binding 0))]))) :: - (.function (.generated .function 19) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := (.pair .nat .nat) }] .bool (.mk [(.mk (.bind (.generated .operand 137)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 136))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 136))))), (.mk (.bind (.generated .operand 138)) none (.copy (.generated .binding 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 137)), (.move (.generated .operand 138))] false) (.mk [(.mk (.bind (.generated .operand 140)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 139)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 139))))), (.mk (.bind (.generated .operand 141)) none (.lit (.nat 4)))] (.call (.runtime .natLe) [(.move (.generated .operand 140)), (.move (.generated .operand 141))] false)) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 20) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 2) }] (.fallible (.list (.adt 2))) (.mk [(.mk (.bind (.generated .holder 143)) none (.call (.function 26) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 142)), .wild]) (.mk [] (.move (.generated .part 142))))]), (.construct (.adt 0 0) [])] true))] (.matchOn (.move (.generated .holder 143)) [(.mk .none (.mk [] (.succeed (.construct (.nil (.adt 2)) [])))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.succeed (.construct .cons [(.construct (.adt 2 0) [(.copy (.generated .binding 1)), (.block (.mk [(.mk (.bind (.generated .operand 145)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 144))]) (.mk [] (.move (.generated .part 144))))])), (.mk (.bind (.generated .operand 146)) none (.construct .cons [(.construct (.adt 0 0) []), (.construct (.nil (.adt 0)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 145)), (.move (.generated .operand 146))] false)))]), (.construct (.nil (.adt 2)) [])]))))]))) :: - (.function (.generated .function 21) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 2) }] (.fallible (.list (.adt 2))) (.mk [(.mk (.bind (.generated .holder 148)) none (.call (.function 26) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 147)), .wild]) (.mk [] (.move (.generated .part 147))))]), (.construct (.adt 0 1) [])] true))] (.matchOn (.move (.generated .holder 148)) [(.mk .none (.mk [] (.succeed (.construct (.nil (.adt 2)) [])))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.succeed (.construct .cons [(.construct (.adt 2 0) [(.copy (.generated .binding 1)), (.block (.mk [(.mk (.bind (.generated .operand 150)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 149))]) (.mk [] (.move (.generated .part 149))))])), (.mk (.bind (.generated .operand 151)) none (.construct .cons [(.construct (.adt 0 1) []), (.construct (.nil (.adt 0)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 150)), (.move (.generated .operand 151))] false)))]), (.construct (.nil (.adt 2)) [])]))))]))) :: - (.function (.generated .function 22) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 2) }] (.fallible (.list (.adt 2))) (.mk [] (.call (.function 27) [(.construct (.closure 3 28) [(.clone (.generated .binding 0))]), (.construct (.nil (.adt 2)) []), (.call (.function 25) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 152)), .wild]) (.mk [] (.move (.generated .part 152))))])] false)] false))) :: - (.function (.generated .function 23) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 2) }, { pattern := (.bind (.generated .binding 1)), type := (.pair (.list (.adt 2)) (.list (.pair .nat .nat))) }, { pattern := (.bind (.generated .binding 2)), type := (.list (.adt 2)) }] (.pair (.list (.adt 2)) (.list (.pair .nat .nat))) (.mk [(.mk (.bind (.generated .holder 153)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 153)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 23) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 154)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 154) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)))]))) :: - (.function (.generated .function 24) [{ pattern := (.bind (.generated .binding 0)), type := (.pair (.list (.adt 2)) (.list (.pair .nat .nat))) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 2) }] (.pair (.list (.adt 2)) (.list (.pair .nat .nat))) (.mk [] (.cond (.call (.function 29) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 155))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 155)))), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 2 0 [(.bind (.generated .part 156)), .wild]) (.mk [] (.move (.generated .part 156))))])] false) (.mk [] (.move (.generated .binding 0))) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .operand 158)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 157)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 157))))), (.mk (.bind (.generated .operand 159)) none (.construct .cons [(.clone (.generated .binding 1)), (.construct (.nil (.adt 2)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 158)), (.move (.generated .operand 159))] false))) (.call (.function 12) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 160))]) none (.move (.generated .binding 0)))] (.move (.generated .part 160)))), (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 2 0 [(.bind (.generated .part 161)), .wild]) (.mk [] (.move (.generated .part 161))))])] false)))))) :: - (.function (.generated .function 25) [{ pattern := .wild, type := (.pair .nat .nat) }] (.list .nat) (.mk [] (.construct .cons [(.lit (.nat 1)), (.construct .cons [(.lit (.nat 2)), (.construct .cons [(.lit (.nat 3)), (.construct (.nil .nat) [])])])]))) :: - (.function (.generated .function 26) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 0) }] (.fallible (.option (.pair .nat .nat))) (.mk [(.mk (.bind (.generated .holder 162)) none (.move (.generated .binding 1)))] (.matchOn (.move (.generated .holder 162)) [(.mk (.adt 0 0 []) (.mk [] (.succeed (.call (.function 30) [(.copy (.generated .binding 0))] false)))), (.mk (.adt 0 1 []) (.mk [] (.succeed (.call (.function 31) [(.copy (.generated .binding 0))] false)))), (.mk (.adt 0 2 [(.bind (.generated .binding 2))]) (.mk [] (.call (.function 32) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false)))]))) :: - (.function (.generated .function 27) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 3) }, { pattern := (.bind (.generated .binding 1)), type := (.list (.adt 2)) }, { pattern := (.bind (.generated .binding 2)), type := (.list .nat) }] (.fallible (.list (.adt 2))) (.mk [(.mk (.bind (.generated .holder 163)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 163)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 27) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 164)) (some (.fn 3)) (.move (.generated .binding 0)))] (.apply (.generated .callee 164) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]))) :: - (.function (.generated .function 28) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 2) }, { pattern := (.bind (.generated .binding 1)), type := (.list (.adt 2)) }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.fallible (.list (.adt 2))) (.mk [] (.call (.function 33) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false))) :: - (.function (.generated .function 29) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat .nat)) }, { pattern := (.bind (.generated .binding 1)), type := (.pair .nat .nat) }] .bool (.mk [(.mk (.bind (.generated .holder 165)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 165)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 168)) none (.block (.mk [(.mk (.bind (.generated .operand 166)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 167)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 166)), (.move (.generated .operand 167))] false))))] (.matchOn (.move (.generated .holder 168)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 29) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]))) :: - (.function (.generated .function 30) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.option (.pair .nat .nat)) (.mk [] (.cond (.call (.function 34) [(.copy (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 35) [(.copy (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.pair .nat .nat)) []))))) :: - (.function (.generated .function 31) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.option (.pair .nat .nat)) (.mk [] (.cond (.call (.function 36) [(.copy (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 37) [(.copy (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.pair .nat .nat)) []))))) :: - (.function (.generated .function 32) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.option (.pair .nat .nat))) (.mk [] (.cond (.call (.function 38) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true) (.mk [] (.succeed (.construct .some [(.call (.function 39) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true)]))) (.mk [] (.succeed (.construct (.none (.pair .nat .nat)) [])))))) :: - (.function (.generated .function 33) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 2) }, { pattern := (.bind (.generated .binding 1)), type := (.list (.adt 2)) }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.fallible (.list (.adt 2))) (.mk [(.mk (.bind (.generated .holder 170)) none (.call (.function 26) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 169)), .wild]) (.mk [] (.move (.generated .part 169))))]), (.construct (.adt 0 2) [(.copy (.generated .binding 2))])] true))] (.matchOn (.move (.generated .holder 170)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [(.mk (.bind (.generated .operand 174)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 175)) none (.construct .cons [(.construct (.adt 2 0) [(.copy (.generated .binding 3)), (.block (.mk [(.mk (.bind (.generated .operand 172)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 171))]) (.mk [] (.move (.generated .part 171))))])), (.mk (.bind (.generated .operand 173)) none (.construct .cons [(.construct (.adt 0 2) [(.copy (.generated .binding 2))]), (.construct (.nil (.adt 0)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 172)), (.move (.generated .operand 173))] false)))]), (.construct (.nil (.adt 2)) [])]))] (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 174)), (.move (.generated .operand 175))] false))))]))) :: - (.function (.generated .function 34) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] .bool (.mk [(.mk (.bind (.generated .operand 177)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 176)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 176))))), (.mk (.bind (.generated .operand 178)) none (.lit (.nat 4)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 177)), (.move (.generated .operand 178))] false) (.mk [(.mk (.bind (.generated .operand 180)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 179))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 179))))), (.mk (.bind (.generated .operand 181)) none (.lit (.nat 3)))] (.call (.runtime .natLe) [(.move (.generated .operand 180)), (.move (.generated .operand 181))] false)) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 35) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.pair .nat .nat) (.mk [] (.pair (.lit (.nat 4)) (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 182))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 182))))))) :: - (.function (.generated .function 36) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] .bool (.mk [(.mk (.bind (.generated .operand 184)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 185)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 183))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 183)))))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 184)), (.move (.generated .operand 185))] false) (.mk [(.mk (.bind (.generated .operand 187)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 186)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 186))))), (.mk (.bind (.generated .operand 188)) none (.lit (.nat 4)))] (.call (.runtime .natLe) [(.move (.generated .operand 187)), (.move (.generated .operand 188))] false)) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 37) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.pair .nat .nat) (.mk [] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 189)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 189)))) (.lit (.nat 0))))) :: - (.function (.generated .function 38) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .bool) (.mk [(.mk (.bind (.generated .operand 191)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 192)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 190)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 190)))))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 191)), (.move (.generated .operand 192))] false) (.mk [(.mk (.bind (.generated .operand 196)) none (.block (.mk [(.mk (.bind (.generated .operand 194)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 193))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 193))))), (.mk (.bind (.generated .operand 195)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 194)), (.move (.generated .operand 195))] true)))), (.mk (.bind (.generated .operand 197)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 196)), (.move (.generated .operand 197))] false) (.mk [(.mk (.bind (.generated .operand 199)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 198)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 198))))), (.mk (.bind (.generated .operand 200)) none (.lit (.nat 4)))] (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 199)), (.move (.generated .operand 200))] false))) (.mk [] (.succeed (.lit (.bool false)))))) (.mk [] (.succeed (.lit (.bool false))))))) :: - (.function (.generated .function 39) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair .nat .nat)) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 202)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 201)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 201))))), (.mk (.bind (.generated .operand 203)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 202)), (.move (.generated .operand 203))] false))) (.block (.mk [(.mk (.bind (.generated .operand 205)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 204))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 204))))), (.mk (.bind (.generated .operand 206)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 205)), (.move (.generated .operand 206))] true))))))) :: - []) } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [(([(.adt 1)], (.option (.adt 1))), true), (([(.list (.adt 2)), (.adt 2)], (.list (.adt 2))), true), (([(.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.adt 2)], (.pair (.list (.adt 2)) (.list (.pair .nat .nat)))), false), (([(.list (.adt 2)), .nat], (.list (.adt 2))), true)] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.copy (.generated .binding 0))] true))], (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 1))) (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 1)))] (.succeed (.move (.generated .part 2))))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 9)))))]), [(0, .nat, (some 0))], rfl, rfl, - (Corr.matchArms (st := (.result (.pair .nat .nat) (.pair .bool .bool))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.pair .nat .nat), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 1)))]) (tail := (.succeed (.move (.generated .part 2)))) (Corr.mCons (Γ' := [(2, (.pair .bool .bool), none), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 9)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl (Corr.fOfB (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl))) rfl rfl rfl)⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 3)) none (.call (.function 2) [(.copy (.generated .binding 0))] true))], (.matchOn (.move (.generated .holder 3)) [(.mk (.ok (.bind (.generated .binding 1))) (.mk [] (.succeed (.construct (.ok (.pair .nat .nat) (.pair .bool .bool)) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 4))))])))), (.mk (.err (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.copy (.generated .binding 2))]))))]), [(0, .nat, (some 0))], rfl, rfl, - (Corr.matchArms (st := (.result (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.pair (.pair .nat .nat) (.list (.adt 0))), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.ok (.pair .nat .nat) (.pair .bool .bool)) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 4))))]))) (Corr.mCons (Γ' := [(2, (.pair .bool .bool), (some 2)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.copy (.generated .binding 2))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.pair .nat .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 4))) (Corr.first (ta := (.pair .nat .nat)) (tb := (.list (.adt 0))) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl))) rfl rfl rfl)⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.pair (.adt 1) .bool)) (.call (.function 3) [(.copy (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 8)) none (.block (.mk [(.mk (.bind (.generated .holder 7)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 6)), .wild]) none (.clone (.generated .binding 1)))] (.move (.generated .part 6)))))] (.matchOn (.move (.generated .holder 7)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 5)), .wild, .wild]) (.mk [] (.move (.generated .part 5))))]))))], (.matchOn (.move (.generated .holder 8)) [(.mk .none (.mk [] (.succeed (.construct (.err (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool)) [(.call (.function 4) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.move (.generated .binding 1)))] (.move (.generated .part 13)))), (.block (.mk [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 15)))))] (.matchOn (.move (.generated .holder 16)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 14)), .wild]) (.mk [] (.move (.generated .part 14))))])))] false)])))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.ok (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool)) [(.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 9)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 9)))) (.block (.mk [(.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 11))]) none (.move (.generated .binding 2)))] (.move (.generated .part 11)))))] (.matchOn (.move (.generated .holder 12)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 10))]) (.mk [] (.move (.generated .part 10))))]))))]))))]), [(0, .nat, (some 0))], rfl, rfl, - (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.matchArms (st := (.option (.pair (.pair .nat .nat) (.adt 2)))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 7)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 6)), .wild]) none (.clone (.generated .binding 1)))] (.move (.generated .part 6)))))]) (tail := (.matchOn (.move (.generated .holder 7)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 5)), .wild, .wild]) (.mk [] (.move (.generated .part 5))))])) (Corr.fieldHeld (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 5))) (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 6)), .wild]) none (.clone (.generated .binding 1)))]) (tail := (.move (.generated .part 6))) (Corr.first (ta := (.adt 1)) (tb := .bool) (Corr.var rfl rfl) rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.pair (.adt 1) .bool), (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.construct (.err (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool)) [(.call (.function 4) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.move (.generated .binding 1)))] (.move (.generated .part 13)))), (.block (.mk [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 15)))))] (.matchOn (.move (.generated .holder 16)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 14)), .wild]) (.mk [] (.move (.generated .part 14))))])))] false)]))) (Corr.mCons (Γ' := [(2, (.pair (.pair .nat .nat) (.adt 2)), (some 2)), (1, (.pair (.adt 1) .bool), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.ok (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool)) [(.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 9)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 9)))) (.block (.mk [(.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 11))]) none (.move (.generated .binding 2)))] (.move (.generated .part 11)))))] (.matchOn (.move (.generated .holder 12)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 10))]) (.mk [] (.move (.generated .part 10))))]))))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.pair (.pair .nat .nat) (.list (.adt 0)))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 9)), .wild]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 9))) (Corr.first (ta := (.pair .nat .nat)) (tb := (.adt 2)) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 11))]) none (.move (.generated .binding 2)))] (.move (.generated .part 11)))))]) (tail := (.matchOn (.move (.generated .holder 12)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 10))]) (.mk [] (.move (.generated .part 10))))])) (Corr.fieldHeld (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 10))) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 11))]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 11))) (Corr.second (ta := (.pair .nat .nat)) (tb := (.adt 2)) (Corr.var rfl rfl) rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.bool, .bool]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 13))) (Corr.second (ta := (.adt 1)) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 15)))))]) (tail := (.matchOn (.move (.generated .holder 16)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 14)), .wild]) (.mk [] (.move (.generated .part 14))))])) (Corr.fieldHeld (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 14))) (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 15))) (Corr.first (ta := (.adt 1)) (tb := .bool) (Corr.var rfl rfl) rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl))) rfl rfl rfl))⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 5) [(.construct (.closure 0 6) [(.copy (.generated .binding 0))]), (.block (.mk [(.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 18)) none (.lit (.nat 8)))] (.call (.runtime .natMul) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] true))), (.call (.function 7) [(.copy (.generated .binding 0))] true)] false), [(0, .nat, (some 0))], rfl, rfl, - (Corr.callF (ts := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [.nat]) (mask := [false]) (af := true) (ff := true) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 18)) none (.lit (.nat 8)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ - -theorem fun4 : FunOK program krate flags 4 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.cond (.copy (.generated .binding 0)) (.mk [(.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 1)))] (.call (.runtime .boolNot) [(.move (.generated .operand 19))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.pair (.lit (.bool false)) (.lit (.bool true)))) (.mk [] (.pair (.lit (.bool false)) (.lit (.bool false))))), [(1, .bool, (some 1)), (0, .bool, (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.cond (.copy (.generated .binding 0)) (.mk [(.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 1)))] (.call (.runtime .boolNot) [(.move (.generated .operand 19))] false)) (.mk [] (.lit (.bool false))))) (lk := []) (Corr.cond (lc := []) (ce := (.copy (.generated .binding 0))) (lk := []) (Corr.bOfE (Corr.var rfl rfl)) (Corr.kIf (la := [(.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 1)))]) (ta := (.call (.runtime .boolNot) [(.move (.generated .operand 19))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.bool]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.kIf (la := []) (ta := (.pair (.lit (.bool false)) (.lit (.bool true)))) (lb := []) (tb := (.pair (.lit (.bool false)) (.lit (.bool false)))) (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))))) (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))))))⟩⟩ - -theorem fun5 : FunOK program krate flags 5 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 20)) none (.copy (.generated .binding 1)))], (.cond (.isZero (.generated .holder 20)) (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 20))), (.mk (.bind (.generated .holder 22)) none (.block (.mk [(.mk (.bind (.generated .callee 21)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 21) [(.clone (.generated .binding 2))] true))))] (.matchOn (.move (.generated .holder 22)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 5) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))]))), [(2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))], rfl, rfl, - (Corr.matchNat (sl := (some 3)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (lb := [(.mk (.bind (.generated .holder 22)) none (.block (.mk [(.mk (.bind (.generated .callee 21)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 21) [(.clone (.generated .binding 2))] true))))]) (tb := (.matchOn (.move (.generated .holder 22)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 5) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))])) (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))))) (Corr.matchArms (st := (.option (.adt 1))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 21)) (some (.fn 0)) (.clone (.generated .binding 0)))]) (tail := (.apply (.generated .callee 21) [(.clone (.generated .binding 2))] true)) (Corr.apply (ps := [(.adt 1)]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, .nat, (some 3)), (2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true))))) (Corr.mCons (Γ' := [(4, (.adt 1), (some 4)), (3, .nat, (some 3)), (2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 5) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))))))) rfl rfl rfl)))⟩⟩ - -theorem fun6 : FunOK program krate flags 6 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 8) [(.copy (.generated .binding 0)), (.move (.generated .binding 1))] false), [(1, (.adt 1), (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.callF (ts := [.nat, (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)⟩⟩ - -theorem fun7 : FunOK program krate flags 7 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.list (.adt 2))) (.call (.function 9) [(.construct (.closure 1 10) [(.copy (.generated .binding 0))]), (.construct (.nil (.adt 2)) []), (.construct .cons [(.construct (.adt 2 0) [(.call (.function 11) [(.copy (.generated .binding 0))] false), (.construct (.nil (.adt 0)) [])]), (.construct (.nil (.adt 2)) [])])] true))], (.succeed (.construct (.adt 1 0) [(.clone (.generated .binding 1)), (.call (.function 12) [(.construct (.nil (.pair .nat .nat)) []), (.call (.function 11) [(.copy (.generated .binding 0))] false)] false), (.construct (.none (.pair (.pair .nat .nat) (.adt 2))) []), (.block (.mk [(.mk (.bind (.generated .operand 25)) none (.block (.mk [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 24)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] true)))), (.mk (.bind (.generated .operand 26)) none (.lit (.nat 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false))), (.construct (.adt 3 0) [(.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.block (.mk [(.mk (.bind (.generated .operand 27)) none (.move (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 27))] false)))])])), [(0, .nat, (some 0))], rfl, rfl, - (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (.list (.adt 2)), (.list (.adt 2))]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [.nat]) (mask := [false]) (af := true) (ff := true) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.adt 2), (.list (.adt 2))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair .nat .nat), (.list (.adt 0))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl (Corr.fOfB (Corr.build (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (mask := [false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat .nat)), (.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 25)) none (.block (.mk [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 24)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] true)))), (.mk (.bind (.generated .operand 26)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natLt) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 24)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 27)) none (.move (.generated .binding 1)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 27))] false)) (Corr.prim (ts := [(.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))) rfl)) (Corr.lNil))))))) rfl)))⟩⟩ - -theorem fun8 : FunOK program krate flags 8 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 29)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 28)), .wild, .wild]) (.mk [] (.move (.generated .part 28))))]))], (.matchOn (.move (.generated .holder 29)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 31)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [(.bind (.generated .part 30)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))]))] (.matchOn (.uncons (.generated .holder 31)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [(.mk (.bind (.generated .holder 33)) none (.call (.function 13) [(.copy (.generated .binding 0)), (.matchOn (.clone (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 32)), .wild]) (.mk [] (.move (.generated .part 32))))])] false))] (.matchOn (.move (.generated .holder 33)) [(.mk .none (.mk [(.mk (.bind (.generated .binding 6)) (some (.list (.adt 2))) (.call (.function 14) [(.clone (.generated .binding 3))] true)), (.mk (.bind (.generated .binding 7)) (some (.pair (.list (.adt 2)) (.list (.pair .nat .nat)))) (.call (.function 15) [(.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 58)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))]), (.clone (.generated .binding 6))] false)), (.mk (.bind (.generated .binding 8)) (some (.list (.adt 2))) (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.move (.generated .binding 4))), (.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.move (.generated .binding 7)))] (.move (.generated .part 59)))))] (.call (.runtime .appendList) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false)))), (.mk (.bind (.generated .binding 9)) (some (.list (.adt 2))) (.call (.function 9) [(.construct (.closure 1 16) [(.copy (.generated .binding 0))]), (.construct (.nil (.adt 2)) []), (.clone (.generated .binding 8))] true))] (.succeed (.construct .some [(.construct (.adt 1 0) [(.clone (.generated .binding 9)), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 62))]) none (.move (.generated .binding 7)))] (.move (.generated .part 62)))), (.construct (.none (.pair (.pair .nat .nat) (.adt 2))) []), (.cond (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 63)), .wild]) (.mk [] (.move (.generated .part 63))))]) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 65)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] true)))), (.mk (.bind (.generated .operand 68)) none (.block (.mk [(.mk (.bind (.generated .operand 66)) none (.move (.generated .binding 8)))] (.call (.runtime .lengthList) [(.move (.generated .operand 66))] false))))] (.call (.runtime .natLt) [(.move (.generated .operand 67)), (.move (.generated .operand 68))] false))), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.bind (.generated .holder 71)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 70))]) (.mk [] (.move (.generated .part 70))))]))] (.matchOn (.move (.generated .holder 71)) [(.mk (.adt 3 0 [(.bind (.generated .part 69)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 69))))])))), (.mk (.bind (.generated .operand 73)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] true))), (.block (.mk [(.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.bind (.generated .holder 76)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 75))]) (.mk [] (.move (.generated .part 75))))]))] (.matchOn (.move (.generated .holder 76)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 74)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 74))))])))), (.mk (.bind (.generated .operand 79)) none (.call (.function 17) [(.matchOn (.move (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 77)), .wild]) (.mk [] (.move (.generated .part 77))))])] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 78)), (.move (.generated .operand 79))] true))), (.block (.mk [(.mk (.bind (.generated .operand 84)) none (.block (.mk [(.mk (.bind (.generated .holder 82)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))]))] (.matchOn (.move (.generated .holder 82)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 80)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 80))))])))), (.mk (.bind (.generated .operand 85)) none (.block (.mk [(.mk (.bind (.generated .operand 83)) none (.move (.generated .binding 6)))] (.call (.runtime .lengthList) [(.move (.generated .operand 83))] false))))] (.call (.runtime .natAdd) [(.move (.generated .operand 84)), (.move (.generated .operand 85))] true))), (.block (.mk [(.mk (.bind (.generated .operand 89)) none (.block (.mk [(.mk (.bind (.generated .holder 88)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))]))] (.matchOn (.move (.generated .holder 88)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 86)), .wild, .wild]) (.mk [] (.move (.generated .part 86))))])))), (.mk (.bind (.generated .operand 90)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 89)), (.move (.generated .operand 90))] true))), (.block (.mk [(.mk (.bind (.generated .operand 94)) none (.block (.mk [(.mk (.bind (.generated .holder 93)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 92))]) (.mk [] (.move (.generated .part 92))))]))] (.matchOn (.move (.generated .holder 93)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 91)), .wild]) (.mk [] (.move (.generated .part 91))))])))), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] true))), (.block (.mk [(.mk (.bind (.generated .operand 100)) none (.block (.mk [(.mk (.bind (.generated .holder 98)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 97))]) (.mk [] (.move (.generated .part 97))))]))] (.matchOn (.move (.generated .holder 98)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96))]) (.mk [] (.move (.generated .part 96))))])))), (.mk (.bind (.generated .operand 101)) none (.block (.mk [(.mk (.bind (.generated .operand 99)) none (.clone (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 99))] false))))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false) (.mk [(.mk (.bind (.generated .operand 102)) none (.move (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 102))] false)) (.mk [(.mk (.bind (.generated .holder 105)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 104))]) (.mk [] (.move (.generated .part 104))))]))] (.matchOn (.move (.generated .holder 105)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 103))]) (.mk [] (.move (.generated .part 103))))])))))])])])))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.succeed (.construct .some [(.construct (.adt 1 0) [(.move (.generated .binding 4)), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 34)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 34))))]), (.construct .some [(.pair (.copy (.generated .binding 5)) (.move (.generated .binding 3)))]), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 35)), .wild]) (.mk [] (.move (.generated .part 35))))]), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .holder 38)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 37))]) (.mk [] (.move (.generated .part 37))))]))] (.matchOn (.move (.generated .holder 38)) [(.mk (.adt 3 0 [(.bind (.generated .part 36)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])))), (.mk (.bind (.generated .operand 40)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] true))), (.block (.mk [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))] (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 41)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 41))))]))), (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 44)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 44))))]))), (.block (.mk [(.mk (.bind (.generated .holder 49)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))]))] (.matchOn (.move (.generated .holder 49)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 47)), .wild, .wild]) (.mk [] (.move (.generated .part 47))))]))), (.block (.mk [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .holder 52)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 51))]) (.mk [] (.move (.generated .part 51))))]))] (.matchOn (.move (.generated .holder 52)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 50)), .wild]) (.mk [] (.move (.generated .part 50))))])))), (.mk (.bind (.generated .operand 54)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true))), (.block (.mk [(.mk (.bind (.generated .holder 57)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 56))]) (.mk [] (.move (.generated .part 56))))]))] (.matchOn (.move (.generated .holder 57)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 55))]) (.mk [] (.move (.generated .part 55))))])))])])]))))])))]))), (.mk (.some .wild) (.mk [] (.succeed (.construct (.none (.adt 1)) []))))]), [(1, (.adt 1), (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option (.pair (.pair .nat .nat) (.adt 2)))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 28))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 31)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [(.bind (.generated .part 30)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))]))]) (tail := (.matchOn (.uncons (.generated .holder 31)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [(.mk (.bind (.generated .holder 33)) none (.call (.function 13) [(.copy (.generated .binding 0)), (.matchOn (.clone (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 32)), .wild]) (.mk [] (.move (.generated .part 32))))])] false))] (.matchOn (.move (.generated .holder 33)) [(.mk .none (.mk [(.mk (.bind (.generated .binding 6)) (some (.list (.adt 2))) (.call (.function 14) [(.clone (.generated .binding 3))] true)), (.mk (.bind (.generated .binding 7)) (some (.pair (.list (.adt 2)) (.list (.pair .nat .nat)))) (.call (.function 15) [(.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 58)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))]), (.clone (.generated .binding 6))] false)), (.mk (.bind (.generated .binding 8)) (some (.list (.adt 2))) (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.move (.generated .binding 4))), (.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.move (.generated .binding 7)))] (.move (.generated .part 59)))))] (.call (.runtime .appendList) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false)))), (.mk (.bind (.generated .binding 9)) (some (.list (.adt 2))) (.call (.function 9) [(.construct (.closure 1 16) [(.copy (.generated .binding 0))]), (.construct (.nil (.adt 2)) []), (.clone (.generated .binding 8))] true))] (.succeed (.construct .some [(.construct (.adt 1 0) [(.clone (.generated .binding 9)), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 62))]) none (.move (.generated .binding 7)))] (.move (.generated .part 62)))), (.construct (.none (.pair (.pair .nat .nat) (.adt 2))) []), (.cond (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 63)), .wild]) (.mk [] (.move (.generated .part 63))))]) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 65)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] true)))), (.mk (.bind (.generated .operand 68)) none (.block (.mk [(.mk (.bind (.generated .operand 66)) none (.move (.generated .binding 8)))] (.call (.runtime .lengthList) [(.move (.generated .operand 66))] false))))] (.call (.runtime .natLt) [(.move (.generated .operand 67)), (.move (.generated .operand 68))] false))), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.bind (.generated .holder 71)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 70))]) (.mk [] (.move (.generated .part 70))))]))] (.matchOn (.move (.generated .holder 71)) [(.mk (.adt 3 0 [(.bind (.generated .part 69)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 69))))])))), (.mk (.bind (.generated .operand 73)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] true))), (.block (.mk [(.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.bind (.generated .holder 76)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 75))]) (.mk [] (.move (.generated .part 75))))]))] (.matchOn (.move (.generated .holder 76)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 74)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 74))))])))), (.mk (.bind (.generated .operand 79)) none (.call (.function 17) [(.matchOn (.move (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 77)), .wild]) (.mk [] (.move (.generated .part 77))))])] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 78)), (.move (.generated .operand 79))] true))), (.block (.mk [(.mk (.bind (.generated .operand 84)) none (.block (.mk [(.mk (.bind (.generated .holder 82)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))]))] (.matchOn (.move (.generated .holder 82)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 80)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 80))))])))), (.mk (.bind (.generated .operand 85)) none (.block (.mk [(.mk (.bind (.generated .operand 83)) none (.move (.generated .binding 6)))] (.call (.runtime .lengthList) [(.move (.generated .operand 83))] false))))] (.call (.runtime .natAdd) [(.move (.generated .operand 84)), (.move (.generated .operand 85))] true))), (.block (.mk [(.mk (.bind (.generated .operand 89)) none (.block (.mk [(.mk (.bind (.generated .holder 88)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))]))] (.matchOn (.move (.generated .holder 88)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 86)), .wild, .wild]) (.mk [] (.move (.generated .part 86))))])))), (.mk (.bind (.generated .operand 90)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 89)), (.move (.generated .operand 90))] true))), (.block (.mk [(.mk (.bind (.generated .operand 94)) none (.block (.mk [(.mk (.bind (.generated .holder 93)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 92))]) (.mk [] (.move (.generated .part 92))))]))] (.matchOn (.move (.generated .holder 93)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 91)), .wild]) (.mk [] (.move (.generated .part 91))))])))), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] true))), (.block (.mk [(.mk (.bind (.generated .operand 100)) none (.block (.mk [(.mk (.bind (.generated .holder 98)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 97))]) (.mk [] (.move (.generated .part 97))))]))] (.matchOn (.move (.generated .holder 98)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96))]) (.mk [] (.move (.generated .part 96))))])))), (.mk (.bind (.generated .operand 101)) none (.block (.mk [(.mk (.bind (.generated .operand 99)) none (.clone (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 99))] false))))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false) (.mk [(.mk (.bind (.generated .operand 102)) none (.move (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 102))] false)) (.mk [(.mk (.bind (.generated .holder 105)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 104))]) (.mk [] (.move (.generated .part 104))))]))] (.matchOn (.move (.generated .holder 105)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 103))]) (.mk [] (.move (.generated .part 103))))])))))])])])))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.succeed (.construct .some [(.construct (.adt 1 0) [(.move (.generated .binding 4)), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 34)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 34))))]), (.construct .some [(.pair (.copy (.generated .binding 5)) (.move (.generated .binding 3)))]), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 35)), .wild]) (.mk [] (.move (.generated .part 35))))]), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .holder 38)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 37))]) (.mk [] (.move (.generated .part 37))))]))] (.matchOn (.move (.generated .holder 38)) [(.mk (.adt 3 0 [(.bind (.generated .part 36)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])))), (.mk (.bind (.generated .operand 40)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] true))), (.block (.mk [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))] (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 41)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 41))))]))), (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 44)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 44))))]))), (.block (.mk [(.mk (.bind (.generated .holder 49)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))]))] (.matchOn (.move (.generated .holder 49)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 47)), .wild, .wild]) (.mk [] (.move (.generated .part 47))))]))), (.block (.mk [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .holder 52)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 51))]) (.mk [] (.move (.generated .part 51))))]))] (.matchOn (.move (.generated .holder 52)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 50)), .wild]) (.mk [] (.move (.generated .part 50))))])))), (.mk (.bind (.generated .operand 54)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true))), (.block (.mk [(.mk (.bind (.generated .holder 57)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 56))]) (.mk [] (.move (.generated .part 56))))]))] (.matchOn (.move (.generated .holder 57)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 55))]) (.mk [] (.move (.generated .part 55))))])))])])]))))])))])) (Corr.mCons (Γ' := [(2, (.pair (.pair .nat .nat) (.adt 2)), none), (1, (.adt 1), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.none (.adt 1)) []))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) rfl rfl rfl (Corr.matchArms (st := (.list (.adt 2))) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 30))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.none (.adt 1)) []))) (Corr.mCons (Γ' := [(4, (.list (.adt 2)), (some 4)), (3, (.adt 2), (some 3)), (1, (.adt 1), (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 33)) none (.call (.function 13) [(.copy (.generated .binding 0)), (.matchOn (.clone (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 32)), .wild]) (.mk [] (.move (.generated .part 32))))])] false))]) (tail := (.matchOn (.move (.generated .holder 33)) [(.mk .none (.mk [(.mk (.bind (.generated .binding 6)) (some (.list (.adt 2))) (.call (.function 14) [(.clone (.generated .binding 3))] true)), (.mk (.bind (.generated .binding 7)) (some (.pair (.list (.adt 2)) (.list (.pair .nat .nat)))) (.call (.function 15) [(.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 58)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))]), (.clone (.generated .binding 6))] false)), (.mk (.bind (.generated .binding 8)) (some (.list (.adt 2))) (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.move (.generated .binding 4))), (.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.move (.generated .binding 7)))] (.move (.generated .part 59)))))] (.call (.runtime .appendList) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false)))), (.mk (.bind (.generated .binding 9)) (some (.list (.adt 2))) (.call (.function 9) [(.construct (.closure 1 16) [(.copy (.generated .binding 0))]), (.construct (.nil (.adt 2)) []), (.clone (.generated .binding 8))] true))] (.succeed (.construct .some [(.construct (.adt 1 0) [(.clone (.generated .binding 9)), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 62))]) none (.move (.generated .binding 7)))] (.move (.generated .part 62)))), (.construct (.none (.pair (.pair .nat .nat) (.adt 2))) []), (.cond (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 63)), .wild]) (.mk [] (.move (.generated .part 63))))]) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 65)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] true)))), (.mk (.bind (.generated .operand 68)) none (.block (.mk [(.mk (.bind (.generated .operand 66)) none (.move (.generated .binding 8)))] (.call (.runtime .lengthList) [(.move (.generated .operand 66))] false))))] (.call (.runtime .natLt) [(.move (.generated .operand 67)), (.move (.generated .operand 68))] false))), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.bind (.generated .holder 71)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 70))]) (.mk [] (.move (.generated .part 70))))]))] (.matchOn (.move (.generated .holder 71)) [(.mk (.adt 3 0 [(.bind (.generated .part 69)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 69))))])))), (.mk (.bind (.generated .operand 73)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] true))), (.block (.mk [(.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.bind (.generated .holder 76)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 75))]) (.mk [] (.move (.generated .part 75))))]))] (.matchOn (.move (.generated .holder 76)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 74)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 74))))])))), (.mk (.bind (.generated .operand 79)) none (.call (.function 17) [(.matchOn (.move (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 77)), .wild]) (.mk [] (.move (.generated .part 77))))])] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 78)), (.move (.generated .operand 79))] true))), (.block (.mk [(.mk (.bind (.generated .operand 84)) none (.block (.mk [(.mk (.bind (.generated .holder 82)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))]))] (.matchOn (.move (.generated .holder 82)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 80)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 80))))])))), (.mk (.bind (.generated .operand 85)) none (.block (.mk [(.mk (.bind (.generated .operand 83)) none (.move (.generated .binding 6)))] (.call (.runtime .lengthList) [(.move (.generated .operand 83))] false))))] (.call (.runtime .natAdd) [(.move (.generated .operand 84)), (.move (.generated .operand 85))] true))), (.block (.mk [(.mk (.bind (.generated .operand 89)) none (.block (.mk [(.mk (.bind (.generated .holder 88)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))]))] (.matchOn (.move (.generated .holder 88)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 86)), .wild, .wild]) (.mk [] (.move (.generated .part 86))))])))), (.mk (.bind (.generated .operand 90)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 89)), (.move (.generated .operand 90))] true))), (.block (.mk [(.mk (.bind (.generated .operand 94)) none (.block (.mk [(.mk (.bind (.generated .holder 93)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 92))]) (.mk [] (.move (.generated .part 92))))]))] (.matchOn (.move (.generated .holder 93)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 91)), .wild]) (.mk [] (.move (.generated .part 91))))])))), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] true))), (.block (.mk [(.mk (.bind (.generated .operand 100)) none (.block (.mk [(.mk (.bind (.generated .holder 98)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 97))]) (.mk [] (.move (.generated .part 97))))]))] (.matchOn (.move (.generated .holder 98)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96))]) (.mk [] (.move (.generated .part 96))))])))), (.mk (.bind (.generated .operand 101)) none (.block (.mk [(.mk (.bind (.generated .operand 99)) none (.clone (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 99))] false))))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false) (.mk [(.mk (.bind (.generated .operand 102)) none (.move (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 102))] false)) (.mk [(.mk (.bind (.generated .holder 105)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 104))]) (.mk [] (.move (.generated .part 104))))]))] (.matchOn (.move (.generated .holder 105)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 103))]) (.mk [] (.move (.generated .part 103))))])))))])])])))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.succeed (.construct .some [(.construct (.adt 1 0) [(.move (.generated .binding 4)), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 34)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 34))))]), (.construct .some [(.pair (.copy (.generated .binding 5)) (.move (.generated .binding 3)))]), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 35)), .wild]) (.mk [] (.move (.generated .part 35))))]), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .holder 38)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 37))]) (.mk [] (.move (.generated .part 37))))]))] (.matchOn (.move (.generated .holder 38)) [(.mk (.adt 3 0 [(.bind (.generated .part 36)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])))), (.mk (.bind (.generated .operand 40)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] true))), (.block (.mk [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))] (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 41)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 41))))]))), (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 44)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 44))))]))), (.block (.mk [(.mk (.bind (.generated .holder 49)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))]))] (.matchOn (.move (.generated .holder 49)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 47)), .wild, .wild]) (.mk [] (.move (.generated .part 47))))]))), (.block (.mk [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .holder 52)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 51))]) (.mk [] (.move (.generated .part 51))))]))] (.matchOn (.move (.generated .holder 52)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 50)), .wild]) (.mk [] (.move (.generated .part 50))))])))), (.mk (.bind (.generated .operand 54)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true))), (.block (.mk [(.mk (.bind (.generated .holder 57)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 56))]) (.mk [] (.move (.generated .part 56))))]))] (.matchOn (.move (.generated .holder 57)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 55))]) (.mk [] (.move (.generated .part 55))))])))])])]))))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := (.option (.pair .nat .nat))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.callOps (ts := [.nat, (.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 32))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.adt 2)), (some 4)), (3, (.adt 2), (some 3)), (1, (.adt 1), (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .binding 6)) (some (.list (.adt 2))) (.call (.function 14) [(.clone (.generated .binding 3))] true)), (.mk (.bind (.generated .binding 7)) (some (.pair (.list (.adt 2)) (.list (.pair .nat .nat)))) (.call (.function 15) [(.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 58)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))]), (.clone (.generated .binding 6))] false)), (.mk (.bind (.generated .binding 8)) (some (.list (.adt 2))) (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.move (.generated .binding 4))), (.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.move (.generated .binding 7)))] (.move (.generated .part 59)))))] (.call (.runtime .appendList) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false)))), (.mk (.bind (.generated .binding 9)) (some (.list (.adt 2))) (.call (.function 9) [(.construct (.closure 1 16) [(.copy (.generated .binding 0))]), (.construct (.nil (.adt 2)) []), (.clone (.generated .binding 8))] true))]) (tail := (.succeed (.construct .some [(.construct (.adt 1 0) [(.clone (.generated .binding 9)), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 62))]) none (.move (.generated .binding 7)))] (.move (.generated .part 62)))), (.construct (.none (.pair (.pair .nat .nat) (.adt 2))) []), (.cond (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 63)), .wild]) (.mk [] (.move (.generated .part 63))))]) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 65)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] true)))), (.mk (.bind (.generated .operand 68)) none (.block (.mk [(.mk (.bind (.generated .operand 66)) none (.move (.generated .binding 8)))] (.call (.runtime .lengthList) [(.move (.generated .operand 66))] false))))] (.call (.runtime .natLt) [(.move (.generated .operand 67)), (.move (.generated .operand 68))] false))), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.bind (.generated .holder 71)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 70))]) (.mk [] (.move (.generated .part 70))))]))] (.matchOn (.move (.generated .holder 71)) [(.mk (.adt 3 0 [(.bind (.generated .part 69)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 69))))])))), (.mk (.bind (.generated .operand 73)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] true))), (.block (.mk [(.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.bind (.generated .holder 76)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 75))]) (.mk [] (.move (.generated .part 75))))]))] (.matchOn (.move (.generated .holder 76)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 74)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 74))))])))), (.mk (.bind (.generated .operand 79)) none (.call (.function 17) [(.matchOn (.move (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 77)), .wild]) (.mk [] (.move (.generated .part 77))))])] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 78)), (.move (.generated .operand 79))] true))), (.block (.mk [(.mk (.bind (.generated .operand 84)) none (.block (.mk [(.mk (.bind (.generated .holder 82)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))]))] (.matchOn (.move (.generated .holder 82)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 80)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 80))))])))), (.mk (.bind (.generated .operand 85)) none (.block (.mk [(.mk (.bind (.generated .operand 83)) none (.move (.generated .binding 6)))] (.call (.runtime .lengthList) [(.move (.generated .operand 83))] false))))] (.call (.runtime .natAdd) [(.move (.generated .operand 84)), (.move (.generated .operand 85))] true))), (.block (.mk [(.mk (.bind (.generated .operand 89)) none (.block (.mk [(.mk (.bind (.generated .holder 88)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))]))] (.matchOn (.move (.generated .holder 88)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 86)), .wild, .wild]) (.mk [] (.move (.generated .part 86))))])))), (.mk (.bind (.generated .operand 90)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 89)), (.move (.generated .operand 90))] true))), (.block (.mk [(.mk (.bind (.generated .operand 94)) none (.block (.mk [(.mk (.bind (.generated .holder 93)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 92))]) (.mk [] (.move (.generated .part 92))))]))] (.matchOn (.move (.generated .holder 93)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 91)), .wild]) (.mk [] (.move (.generated .part 91))))])))), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] true))), (.block (.mk [(.mk (.bind (.generated .operand 100)) none (.block (.mk [(.mk (.bind (.generated .holder 98)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 97))]) (.mk [] (.move (.generated .part 97))))]))] (.matchOn (.move (.generated .holder 98)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96))]) (.mk [] (.move (.generated .part 96))))])))), (.mk (.bind (.generated .operand 101)) none (.block (.mk [(.mk (.bind (.generated .operand 99)) none (.clone (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 99))] false))))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false) (.mk [(.mk (.bind (.generated .operand 102)) none (.move (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 102))] false)) (.mk [(.mk (.bind (.generated .holder 105)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 104))]) (.mk [] (.move (.generated .part 104))))]))] (.matchOn (.move (.generated .holder 105)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 103))]) (.mk [] (.move (.generated .part 103))))])))))])])]))) (Corr.mCons (Γ' := [(5, (.pair .nat .nat), (some 5)), (4, (.list (.adt 2)), (some 4)), (3, (.adt 2), (some 3)), (1, (.adt 1), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.construct (.adt 1 0) [(.move (.generated .binding 4)), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 34)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 34))))]), (.construct .some [(.pair (.copy (.generated .binding 5)) (.move (.generated .binding 3)))]), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 35)), .wild]) (.mk [] (.move (.generated .part 35))))]), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .holder 38)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 37))]) (.mk [] (.move (.generated .part 37))))]))] (.matchOn (.move (.generated .holder 38)) [(.mk (.adt 3 0 [(.bind (.generated .part 36)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])))), (.mk (.bind (.generated .operand 40)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] true))), (.block (.mk [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))] (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 41)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 41))))]))), (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 44)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 44))))]))), (.block (.mk [(.mk (.bind (.generated .holder 49)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))]))] (.matchOn (.move (.generated .holder 49)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 47)), .wild, .wild]) (.mk [] (.move (.generated .part 47))))]))), (.block (.mk [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .holder 52)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 51))]) (.mk [] (.move (.generated .part 51))))]))] (.matchOn (.move (.generated .holder 52)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 50)), .wild]) (.mk [] (.move (.generated .part 50))))])))), (.mk (.bind (.generated .operand 54)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true))), (.block (.mk [(.mk (.bind (.generated .holder 57)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 56))]) (.mk [] (.move (.generated .part 56))))]))] (.matchOn (.move (.generated .holder 57)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 55))]) (.mk [] (.move (.generated .part 55))))])))])])]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (mask := [false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 34))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair (.pair .nat .nat) (.adt 2))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 35))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .holder 38)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 37))]) (.mk [] (.move (.generated .part 37))))]))] (.matchOn (.move (.generated .holder 38)) [(.mk (.adt 3 0 [(.bind (.generated .part 36)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])))), (.mk (.bind (.generated .operand 40)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 38)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 37))]) (.mk [] (.move (.generated .part 37))))]))]) (tail := (.matchOn (.move (.generated .holder 38)) [(.mk (.adt 3 0 [(.bind (.generated .part 36)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 36))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 37))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))]) (tail := (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 41)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 41))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 41))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 42))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))]) (tail := (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 44)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 44))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 44))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 45))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 49)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))]))]) (tail := (.matchOn (.move (.generated .holder 49)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 47)), .wild, .wild]) (.mk [] (.move (.generated .part 47))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 47))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 48))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .holder 52)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 51))]) (.mk [] (.move (.generated .part 51))))]))] (.matchOn (.move (.generated .holder 52)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 50)), .wild]) (.mk [] (.move (.generated .part 50))))])))), (.mk (.bind (.generated .operand 54)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 52)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 51))]) (.mk [] (.move (.generated .part 51))))]))]) (tail := (.matchOn (.move (.generated .holder 52)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 50)), .wild]) (.mk [] (.move (.generated .part 50))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 50))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 51))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 57)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 56))]) (.mk [] (.move (.generated .part 56))))]))]) (tail := (.matchOn (.move (.generated .holder 57)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 55))]) (.mk [] (.move (.generated .part 55))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 55))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 56))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))) rfl)) (Corr.lNil))))))) rfl)) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.adt 2)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat .nat)), (.list (.adt 2))]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 58))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 60)) none (.move (.generated .binding 4))), (.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.move (.generated .binding 7)))] (.move (.generated .part 59)))))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false)) (Corr.prim (ts := [(.list (.adt 2)), (.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.move (.generated .binding 7)))]) (tail := (.move (.generated .part 59))) (Corr.first (ta := (.list (.adt 2))) (tb := (.list (.pair .nat .nat))) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (.list (.adt 2)), (.list (.adt 2))]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [.nat]) (mask := [false]) (af := true) (ff := true) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl (Corr.fOfB (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (mask := [false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 62))]) none (.move (.generated .binding 7)))]) (tail := (.move (.generated .part 62))) (Corr.second (ta := (.list (.adt 2))) (tb := (.list (.pair .nat .nat))) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 63)), .wild]) (.mk [] (.move (.generated .part 63))))])) (lk := []) (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 63))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 65)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] true)))), (.mk (.bind (.generated .operand 68)) none (.block (.mk [(.mk (.bind (.generated .operand 66)) none (.move (.generated .binding 8)))] (.call (.runtime .lengthList) [(.move (.generated .operand 66))] false))))]) (tb := (.call (.runtime .natLt) [(.move (.generated .operand 67)), (.move (.generated .operand 68))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 65)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 66)) none (.move (.generated .binding 8)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 66))] false)) (Corr.prim (ts := [(.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)))) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.bind (.generated .holder 71)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 70))]) (.mk [] (.move (.generated .part 70))))]))] (.matchOn (.move (.generated .holder 71)) [(.mk (.adt 3 0 [(.bind (.generated .part 69)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 69))))])))), (.mk (.bind (.generated .operand 73)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 71)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 70))]) (.mk [] (.move (.generated .part 70))))]))]) (tail := (.matchOn (.move (.generated .holder 71)) [(.mk (.adt 3 0 [(.bind (.generated .part 69)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 69))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 69))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 70))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.bind (.generated .holder 76)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 75))]) (.mk [] (.move (.generated .part 75))))]))] (.matchOn (.move (.generated .holder 76)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 74)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 74))))])))), (.mk (.bind (.generated .operand 79)) none (.call (.function 17) [(.matchOn (.move (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 77)), .wild]) (.mk [] (.move (.generated .part 77))))])] true))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 78)), (.move (.generated .operand 79))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 76)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 75))]) (.mk [] (.move (.generated .part 75))))]))]) (tail := (.matchOn (.move (.generated .holder 76)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 74)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 74))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 74))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 75))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 77))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 84)) none (.block (.mk [(.mk (.bind (.generated .holder 82)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))]))] (.matchOn (.move (.generated .holder 82)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 80)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 80))))])))), (.mk (.bind (.generated .operand 85)) none (.block (.mk [(.mk (.bind (.generated .operand 83)) none (.move (.generated .binding 6)))] (.call (.runtime .lengthList) [(.move (.generated .operand 83))] false))))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 84)), (.move (.generated .operand 85))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 82)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))]))]) (tail := (.matchOn (.move (.generated .holder 82)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 80)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 80))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 80))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 81))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 83)) none (.move (.generated .binding 6)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 83))] false)) (Corr.prim (ts := [(.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 89)) none (.block (.mk [(.mk (.bind (.generated .holder 88)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))]))] (.matchOn (.move (.generated .holder 88)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 86)), .wild, .wild]) (.mk [] (.move (.generated .part 86))))])))), (.mk (.bind (.generated .operand 90)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 89)), (.move (.generated .operand 90))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 88)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))]))]) (tail := (.matchOn (.move (.generated .holder 88)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 86)), .wild, .wild]) (.mk [] (.move (.generated .part 86))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 86))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 87))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 94)) none (.block (.mk [(.mk (.bind (.generated .holder 93)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 92))]) (.mk [] (.move (.generated .part 92))))]))] (.matchOn (.move (.generated .holder 93)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 91)), .wild]) (.mk [] (.move (.generated .part 91))))])))), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 93)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 92))]) (.mk [] (.move (.generated .part 92))))]))]) (tail := (.matchOn (.move (.generated .holder 93)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 91)), .wild]) (.mk [] (.move (.generated .part 91))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 91))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 92))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 100)) none (.block (.mk [(.mk (.bind (.generated .holder 98)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 97))]) (.mk [] (.move (.generated .part 97))))]))] (.matchOn (.move (.generated .holder 98)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96))]) (.mk [] (.move (.generated .part 96))))])))), (.mk (.bind (.generated .operand 101)) none (.block (.mk [(.mk (.bind (.generated .operand 99)) none (.clone (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 99))] false))))]) (tail := (.cond (.call (.runtime .natLt) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false) (.mk [(.mk (.bind (.generated .operand 102)) none (.move (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 102))] false)) (.mk [(.mk (.bind (.generated .holder 105)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 104))]) (.mk [] (.move (.generated .part 104))))]))] (.matchOn (.move (.generated .holder 105)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 103))]) (.mk [] (.move (.generated .part 103))))])))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 100)) none (.block (.mk [(.mk (.bind (.generated .holder 98)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 97))]) (.mk [] (.move (.generated .part 97))))]))] (.matchOn (.move (.generated .holder 98)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96))]) (.mk [] (.move (.generated .part 96))))])))), (.mk (.bind (.generated .operand 101)) none (.block (.mk [(.mk (.bind (.generated .operand 99)) none (.clone (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 99))] false))))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 98)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 97))]) (.mk [] (.move (.generated .part 97))))]))]) (tail := (.matchOn (.move (.generated .holder 98)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96))]) (.mk [] (.move (.generated .part 96))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 96))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 97))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 99)) none (.clone (.generated .binding 9)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 99))] false)) (Corr.prim (ts := [(.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 102)) none (.move (.generated .binding 9)))]) (ta := (.call (.runtime .lengthList) [(.move (.generated .operand 102))] false)) (lb := [(.mk (.bind (.generated .holder 105)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 104))]) (.mk [] (.move (.generated .part 104))))]))]) (tb := (.matchOn (.move (.generated .holder 105)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 103))]) (.mk [] (.move (.generated .part 103))))])) (Corr.prim (ts := [(.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 103))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 104))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)))) (Corr.lNil)))))))) rfl)) (Corr.lNil))))))) rfl)) (Corr.lNil))) rfl))))))) rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) rfl rfl rfl)) rfl rfl rfl)⟩⟩ - -theorem fun9 : FunOK program krate flags 9 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 106)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 106)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 9) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 107)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 107) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list (.adt 2)), (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.adt 2))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.adt 2)), (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list (.adt 2)), (some 4)), (3, (.adt 2), (some 3)), (2, (.list (.adt 2)), (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 9) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 107)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 107) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (.list (.adt 2)), (.list (.adt 2))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 107)) (some (.fn 1)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 107) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true)) (Corr.apply (ps := [(.list (.adt 2)), (.adt 2)]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun10 : FunOK program krate flags 10 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 111)) none (.block (.mk [(.mk (.bind (.generated .operand 108)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 108))] false)))), (.mk (.bind (.generated .operand 112)) none (.block (.mk [(.mk (.bind (.generated .operand 109)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 110)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 109)), (.move (.generated .operand 110))] true))))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 111)), (.move (.generated .operand 112))] false) (.mk [(.mk (.bind (.generated .operand 113)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 114)) none (.construct .cons [(.move (.generated .binding 2)), (.construct (.nil (.adt 2)) [])]))] (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 113)), (.move (.generated .operand 114))] false))) (.mk [] (.succeed (.move (.generated .binding 1))))), [(2, (.adt 2), (some 2)), (1, (.list (.adt 2)), (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 111)) none (.block (.mk [(.mk (.bind (.generated .operand 108)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 108))] false)))), (.mk (.bind (.generated .operand 112)) none (.block (.mk [(.mk (.bind (.generated .operand 109)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 110)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 109)), (.move (.generated .operand 110))] true))))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 111)), (.move (.generated .operand 112))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 108)) none (.clone (.generated .binding 1)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 108))] false)) (Corr.prim (ts := [(.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 109)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 110)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 109)), (.move (.generated .operand 110))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 113)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 114)) none (.construct .cons [(.move (.generated .binding 2)), (.construct (.nil (.adt 2)) [])]))]) (ta := (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 113)), (.move (.generated .operand 114))] false))) (lb := []) (tb := (.succeed (.move (.generated .binding 1)))) (Corr.fOfB (Corr.prim (ts := [(.list (.adt 2)), (.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [(.adt 2), (.list (.adt 2))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))))⟩⟩ - -theorem fun11 : FunOK program krate flags 11 := - ⟨_, rfl, .inl ⟨_, _, [], (.pair (.lit (.nat 0)) (.lit (.nat 0))), [(0, .nat, none)], rfl, rfl, - (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))))⟩⟩ - -theorem fun12 : FunOK program krate flags 12 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 115)) none (.clone (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 115)) [(.mk .none (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil (.pair .nat .nat)) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 118)) none (.block (.mk [(.mk (.bind (.generated .operand 116)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 117)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 116)), (.move (.generated .operand 117))] false))))] (.matchOn (.move (.generated .holder 118)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 12) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]), [(1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair .nat .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil (.pair .nat .nat)) [])])) (Corr.mCons (Γ' := [(3, (.list (.pair .nat .nat)), (some 3)), (2, (.pair .nat .nat), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 118)) none (.block (.mk [(.mk (.bind (.generated .operand 116)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 117)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 116)), (.move (.generated .operand 117))] false))))]) (tail := (.matchOn (.move (.generated .holder 118)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 12) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 116)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 117)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 116)), (.move (.generated .operand 117))] false)) (Corr.prim (ts := [(.pair .nat .nat), (.pair .nat .nat)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list (.pair .nat .nat)), (some 3)), (2, (.pair .nat .nat), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))])) (Corr.mCons (Γ' := [(3, (.list (.pair .nat .nat)), (some 3)), (2, (.pair .nat .nat), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list (.pair .nat .nat)), (some 3)), (2, (.pair .nat .nat), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 12) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.pair .nat .nat), (.list (.pair .nat .nat))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat .nat)), (.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.build (ts := [(.pair .nat .nat), (.list (.pair .nat .nat))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [(.pair .nat .nat), (.list (.pair .nat .nat))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun13 : FunOK program krate flags 13 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 119)) none (.call (.function 18) [(.copy (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 119)) [(.mk .none (.mk [] (.construct (.none (.pair .nat .nat)) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.cond (.call (.function 19) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none (.pair .nat .nat)) [])))))]), [(1, (.pair .nat .nat), (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option (.pair .nat .nat))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.pair .nat .nat), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none (.pair .nat .nat)) [])) (Corr.mCons (Γ' := [(2, (.pair .nat .nat), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 19) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none (.pair .nat .nat)) [])))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 19) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [.nat, (.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.copy (.generated .binding 2))])) (lb := []) (tb := (.construct (.none (.pair .nat .nat)) [])) (Corr.build (ts := [(.pair .nat .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun14 : FunOK program krate flags 14 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 122)) none (.call (.function 20) [(.clone (.generated .binding 0))] true)), (.mk (.bind (.generated .operand 123)) none (.block (.mk [(.mk (.bind (.generated .operand 120)) none (.call (.function 21) [(.clone (.generated .binding 0))] true)), (.mk (.bind (.generated .operand 121)) none (.call (.function 22) [(.move (.generated .binding 0))] true))] (.call (.runtime .appendList) [(.move (.generated .operand 120)), (.move (.generated .operand 121))] false))))], (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 122)), (.move (.generated .operand 123))] false)), [(0, (.adt 2), (some 0))], rfl, rfl, - (Corr.fOfB (Corr.prim (ts := [(.list (.adt 2)), (.list (.adt 2))]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 2)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 120)) none (.call (.function 21) [(.clone (.generated .binding 0))] true)), (.mk (.bind (.generated .operand 121)) none (.call (.function 22) [(.move (.generated .binding 0))] true))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 120)), (.move (.generated .operand 121))] false)) (Corr.prim (ts := [(.list (.adt 2)), (.list (.adt 2))]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 2)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 2)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl))⟩⟩ - -theorem fun15 : FunOK program krate flags 15 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 23) [(.construct (.closure 2 24) []), (.pair (.construct (.nil (.adt 2)) []) (.move (.generated .binding 0))), (.move (.generated .binding 1))] false), [(1, (.list (.adt 2)), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))], rfl, rfl, - (Corr.callOps (ts := [(.fn [(.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.adt 2)] (.pair (.list (.adt 2)) (.list (.pair .nat .nat)))), (.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.list (.adt 2))]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := false) (ff := false) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun16 : FunOK program krate flags 16 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 127)) none (.block (.mk [(.mk (.bind (.generated .operand 124)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 124))] false)))), (.mk (.bind (.generated .operand 128)) none (.block (.mk [(.mk (.bind (.generated .operand 125)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 126)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 125)), (.move (.generated .operand 126))] true))))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 127)), (.move (.generated .operand 128))] false) (.mk [(.mk (.bind (.generated .operand 129)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 130)) none (.construct .cons [(.move (.generated .binding 2)), (.construct (.nil (.adt 2)) [])]))] (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 129)), (.move (.generated .operand 130))] false))) (.mk [] (.succeed (.move (.generated .binding 1))))), [(2, (.adt 2), (some 2)), (1, (.list (.adt 2)), (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 127)) none (.block (.mk [(.mk (.bind (.generated .operand 124)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 124))] false)))), (.mk (.bind (.generated .operand 128)) none (.block (.mk [(.mk (.bind (.generated .operand 125)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 126)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 125)), (.move (.generated .operand 126))] true))))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 127)), (.move (.generated .operand 128))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 124)) none (.clone (.generated .binding 1)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 124))] false)) (Corr.prim (ts := [(.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 125)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 126)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 125)), (.move (.generated .operand 126))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 129)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 130)) none (.construct .cons [(.move (.generated .binding 2)), (.construct (.nil (.adt 2)) [])]))]) (ta := (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 129)), (.move (.generated .operand 130))] false))) (lb := []) (tb := (.succeed (.move (.generated .binding 1)))) (Corr.fOfB (Corr.prim (ts := [(.list (.adt 2)), (.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [(.adt 2), (.list (.adt 2))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))))⟩⟩ - -theorem fun17 : FunOK program krate flags 17 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 134)) none (.lit (.nat 1))), (.mk (.bind (.generated .operand 135)) none (.block (.mk [(.mk (.bind (.generated .operand 132)) none (.lit (.nat 1))), (.mk (.bind (.generated .operand 133)) none (.block (.mk [(.mk (.bind (.generated .operand 131)) none (.call (.function 25) [(.copy (.generated .binding 0))] false))] (.call (.runtime .lengthList) [(.move (.generated .operand 131))] false))))] (.call (.runtime .natAdd) [(.move (.generated .operand 132)), (.move (.generated .operand 133))] true))))], (.call (.runtime .natAdd) [(.move (.generated .operand 134)), (.move (.generated .operand 135))] false), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 132)) none (.lit (.nat 1))), (.mk (.bind (.generated .operand 133)) none (.block (.mk [(.mk (.bind (.generated .operand 131)) none (.call (.function 25) [(.copy (.generated .binding 0))] false))] (.call (.runtime .lengthList) [(.move (.generated .operand 131))] false))))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 132)), (.move (.generated .operand 133))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 131)) none (.call (.function 25) [(.copy (.generated .binding 0))] false))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 131))] false)) (Corr.prim (ts := [(.list .nat)]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun18 : FunOK program krate flags 18 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct .some [(.copy (.generated .binding 0))]), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.build (ts := [(.pair .nat .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)⟩⟩ - -theorem fun19 : FunOK program krate flags 19 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 137)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 136))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 136))))), (.mk (.bind (.generated .operand 138)) none (.copy (.generated .binding 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 137)), (.move (.generated .operand 138))] false) (.mk [(.mk (.bind (.generated .operand 140)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 139)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 139))))), (.mk (.bind (.generated .operand 141)) none (.lit (.nat 4)))] (.call (.runtime .natLe) [(.move (.generated .operand 140)), (.move (.generated .operand 141))] false)) (.mk [] (.lit (.bool false)))), [(1, (.pair .nat .nat), (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 137)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 136))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 136))))), (.mk (.bind (.generated .operand 138)) none (.copy (.generated .binding 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 137)), (.move (.generated .operand 138))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 136))]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 136))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 140)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 139)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 139))))), (.mk (.bind (.generated .operand 141)) none (.lit (.nat 4)))]) (ta := (.call (.runtime .natLe) [(.move (.generated .operand 140)), (.move (.generated .operand 141))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 139)), .wild]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 139))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun20 : FunOK program krate flags 20 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 143)) none (.call (.function 26) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 142)), .wild]) (.mk [] (.move (.generated .part 142))))]), (.construct (.adt 0 0) [])] true))], (.matchOn (.move (.generated .holder 143)) [(.mk .none (.mk [] (.succeed (.construct (.nil (.adt 2)) [])))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.succeed (.construct .cons [(.construct (.adt 2 0) [(.copy (.generated .binding 1)), (.block (.mk [(.mk (.bind (.generated .operand 145)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 144))]) (.mk [] (.move (.generated .part 144))))])), (.mk (.bind (.generated .operand 146)) none (.construct .cons [(.construct (.adt 0 0) []), (.construct (.nil (.adt 0)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 145)), (.move (.generated .operand 146))] false)))]), (.construct (.nil (.adt 2)) [])]))))]), [(0, (.adt 2), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option (.pair .nat .nat))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat), (.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 142))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 2), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.nil (.adt 2)) []))) (Corr.mCons (Γ' := [(1, (.pair .nat .nat), (some 1)), (0, (.adt 2), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.construct .cons [(.construct (.adt 2 0) [(.copy (.generated .binding 1)), (.block (.mk [(.mk (.bind (.generated .operand 145)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 144))]) (.mk [] (.move (.generated .part 144))))])), (.mk (.bind (.generated .operand 146)) none (.construct .cons [(.construct (.adt 0 0) []), (.construct (.nil (.adt 0)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 145)), (.move (.generated .operand 146))] false)))]), (.construct (.nil (.adt 2)) [])]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 2), (.list (.adt 2))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair .nat .nat), (.list (.adt 0))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 145)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 144))]) (.mk [] (.move (.generated .part 144))))])), (.mk (.bind (.generated .operand 146)) none (.construct .cons [(.construct (.adt 0 0) []), (.construct (.nil (.adt 0)) [])]))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 145)), (.move (.generated .operand 146))] false)) (Corr.prim (ts := [(.list (.adt 0)), (.list (.adt 0))]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 144))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [(.adt 0), (.list (.adt 0))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl))) rfl rfl rfl (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) rfl rfl rfl)⟩⟩ - -theorem fun21 : FunOK program krate flags 21 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 148)) none (.call (.function 26) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 147)), .wild]) (.mk [] (.move (.generated .part 147))))]), (.construct (.adt 0 1) [])] true))], (.matchOn (.move (.generated .holder 148)) [(.mk .none (.mk [] (.succeed (.construct (.nil (.adt 2)) [])))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.succeed (.construct .cons [(.construct (.adt 2 0) [(.copy (.generated .binding 1)), (.block (.mk [(.mk (.bind (.generated .operand 150)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 149))]) (.mk [] (.move (.generated .part 149))))])), (.mk (.bind (.generated .operand 151)) none (.construct .cons [(.construct (.adt 0 1) []), (.construct (.nil (.adt 0)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 150)), (.move (.generated .operand 151))] false)))]), (.construct (.nil (.adt 2)) [])]))))]), [(0, (.adt 2), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option (.pair .nat .nat))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat), (.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 147))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 2), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.nil (.adt 2)) []))) (Corr.mCons (Γ' := [(1, (.pair .nat .nat), (some 1)), (0, (.adt 2), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.construct .cons [(.construct (.adt 2 0) [(.copy (.generated .binding 1)), (.block (.mk [(.mk (.bind (.generated .operand 150)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 149))]) (.mk [] (.move (.generated .part 149))))])), (.mk (.bind (.generated .operand 151)) none (.construct .cons [(.construct (.adt 0 1) []), (.construct (.nil (.adt 0)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 150)), (.move (.generated .operand 151))] false)))]), (.construct (.nil (.adt 2)) [])]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 2), (.list (.adt 2))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair .nat .nat), (.list (.adt 0))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 150)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 149))]) (.mk [] (.move (.generated .part 149))))])), (.mk (.bind (.generated .operand 151)) none (.construct .cons [(.construct (.adt 0 1) []), (.construct (.nil (.adt 0)) [])]))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 150)), (.move (.generated .operand 151))] false)) (Corr.prim (ts := [(.list (.adt 0)), (.list (.adt 0))]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 149))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [(.adt 0), (.list (.adt 0))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl))) rfl rfl rfl (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) rfl rfl rfl)⟩⟩ - -theorem fun22 : FunOK program krate flags 22 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 27) [(.construct (.closure 3 28) [(.clone (.generated .binding 0))]), (.construct (.nil (.adt 2)) []), (.call (.function 25) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 152)), .wild]) (.mk [] (.move (.generated .part 152))))])] false)] false), [(0, (.adt 2), (some 0))], rfl, rfl, - (Corr.callF (ts := [(.fn [(.list (.adt 2)), .nat] (.list (.adt 2))), (.list (.adt 2)), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [(.adt 2)]) (mask := [false]) (af := true) (ff := true) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 152))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ - -theorem fun23 : FunOK program krate flags 23 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 153)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 153)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 23) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 154)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 154) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)))]), [(2, (.list (.adt 2)), (some 2)), (1, (.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (some 1)), (0, (.fn [(.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.adt 2)] (.pair (.list (.adt 2)) (.list (.pair .nat .nat)))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.adt 2))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.adt 2)), (some 2)), (1, (.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (some 1)), (0, (.fn [(.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.adt 2)] (.pair (.list (.adt 2)) (.list (.pair .nat .nat)))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(4, (.list (.adt 2)), (some 4)), (3, (.adt 2), (some 3)), (2, (.list (.adt 2)), (some 2)), (1, (.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (some 1)), (0, (.fn [(.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.adt 2)] (.pair (.list (.adt 2)) (.list (.pair .nat .nat)))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 23) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 154)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 154) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.fn [(.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.adt 2)] (.pair (.list (.adt 2)) (.list (.pair .nat .nat)))), (.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.list (.adt 2))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 154)) (some (.fn 2)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 154) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] false)) (Corr.apply (ps := [(.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.adt 2)]) (af := false) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun24 : FunOK program krate flags 24 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 29) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 155))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 155)))), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 2 0 [(.bind (.generated .part 156)), .wild]) (.mk [] (.move (.generated .part 156))))])] false) (.mk [] (.move (.generated .binding 0))) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .operand 158)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 157)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 157))))), (.mk (.bind (.generated .operand 159)) none (.construct .cons [(.clone (.generated .binding 1)), (.construct (.nil (.adt 2)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 158)), (.move (.generated .operand 159))] false))) (.call (.function 12) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 160))]) none (.move (.generated .binding 0)))] (.move (.generated .part 160)))), (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 2 0 [(.bind (.generated .part 161)), .wild]) (.mk [] (.move (.generated .part 161))))])] false)))), [(1, (.adt 2), (some 1)), (0, (.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 29) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 155))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 155)))), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 2 0 [(.bind (.generated .part 156)), .wild]) (.mk [] (.move (.generated .part 156))))])] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair .nat .nat)), (.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 155))]) none (.clone (.generated .binding 0)))]) (tail := (.move (.generated .part 155))) (Corr.second (ta := (.list (.adt 2))) (tb := (.list (.pair .nat .nat))) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 156))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.move (.generated .binding 0))) (lb := []) (tb := (.pair (.block (.mk [(.mk (.bind (.generated .operand 158)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 157)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 157))))), (.mk (.bind (.generated .operand 159)) none (.construct .cons [(.clone (.generated .binding 1)), (.construct (.nil (.adt 2)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 158)), (.move (.generated .operand 159))] false))) (.call (.function 12) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 160))]) none (.move (.generated .binding 0)))] (.move (.generated .part 160)))), (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 2 0 [(.bind (.generated .part 161)), .wild]) (.mk [] (.move (.generated .part 161))))])] false))) (Corr.bOfE (Corr.var rfl rfl)) (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 158)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 157)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 157))))), (.mk (.bind (.generated .operand 159)) none (.construct .cons [(.clone (.generated .binding 1)), (.construct (.nil (.adt 2)) [])]))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 158)), (.move (.generated .operand 159))] false)) (Corr.prim (ts := [(.list (.adt 2)), (.list (.adt 2))]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 157)), .wild]) none (.move (.generated .binding 0)))]) (tail := (.move (.generated .part 157))) (Corr.first (ta := (.list (.adt 2))) (tb := (.list (.pair .nat .nat))) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [(.adt 2), (.list (.adt 2))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat .nat)), (.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 160))]) none (.move (.generated .binding 0)))]) (tail := (.move (.generated .part 160))) (Corr.second (ta := (.list (.adt 2))) (tb := (.list (.pair .nat .nat))) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 161))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))))))⟩⟩ - -theorem fun25 : FunOK program krate flags 25 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct .cons [(.lit (.nat 1)), (.construct .cons [(.lit (.nat 2)), (.construct .cons [(.lit (.nat 3)), (.construct (.nil .nat) [])])])]), [(0, (.pair .nat .nat), none)], rfl, rfl, - (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)⟩⟩ - -theorem fun26 : FunOK program krate flags 26 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 162)) none (.move (.generated .binding 1)))], (.matchOn (.move (.generated .holder 162)) [(.mk (.adt 0 0 []) (.mk [] (.succeed (.call (.function 30) [(.copy (.generated .binding 0))] false)))), (.mk (.adt 0 1 []) (.mk [] (.succeed (.call (.function 31) [(.copy (.generated .binding 0))] false)))), (.mk (.adt 0 2 [(.bind (.generated .binding 2))]) (.mk [] (.call (.function 32) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false)))]), [(1, (.adt 0), (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.adt 0), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.call (.function 30) [(.copy (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 0), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.call (.function 31) [(.copy (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.adt 0), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 32) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.pair .nat .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun27 : FunOK program krate flags 27 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 163)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 163)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 27) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 164)) (some (.fn 3)) (.move (.generated .binding 0)))] (.apply (.generated .callee 164) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list .nat), (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.fn [(.list (.adt 2)), .nat] (.list (.adt 2))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.fn [(.list (.adt 2)), .nat] (.list (.adt 2))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .nat), (some 4)), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.fn [(.list (.adt 2)), .nat] (.list (.adt 2))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 27) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 164)) (some (.fn 3)) (.move (.generated .binding 0)))] (.apply (.generated .callee 164) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.list (.adt 2)), .nat] (.list (.adt 2))), (.list (.adt 2)), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 164)) (some (.fn 3)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 164) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true)) (Corr.apply (ps := [(.list (.adt 2)), .nat]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun28 : FunOK program krate flags 28 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 33) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false), [(2, .nat, (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.adt 2), (some 0))], rfl, rfl, - (Corr.callF (ts := [(.adt 2), (.list (.adt 2)), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ - -theorem fun29 : FunOK program krate flags 29 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 165)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 165)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 168)) none (.block (.mk [(.mk (.bind (.generated .operand 166)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 167)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 166)), (.move (.generated .operand 167))] false))))] (.matchOn (.move (.generated .holder 168)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 29) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]), [(1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.pair .nat .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(3, (.list (.pair .nat .nat)), (some 3)), (2, (.pair .nat .nat), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 168)) none (.block (.mk [(.mk (.bind (.generated .operand 166)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 167)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 166)), (.move (.generated .operand 167))] false))))]) (tail := (.matchOn (.move (.generated .holder 168)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 29) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 166)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 167)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 166)), (.move (.generated .operand 167))] false)) (Corr.prim (ts := [(.pair .nat .nat), (.pair .nat .nat)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list (.pair .nat .nat)), (some 3)), (2, (.pair .nat .nat), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(3, (.list (.pair .nat .nat)), (some 3)), (2, (.pair .nat .nat), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(3, (.list (.pair .nat .nat)), (some 3)), (2, (.pair .nat .nat), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 29) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .nat .nat)), (.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ - -theorem fun30 : FunOK program krate flags 30 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 34) [(.copy (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 35) [(.copy (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.pair .nat .nat)) []))), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 34) [(.copy (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 35) [(.copy (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.pair .nat .nat)) [])) (Corr.build (ts := [(.pair .nat .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun31 : FunOK program krate flags 31 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 36) [(.copy (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 37) [(.copy (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.pair .nat .nat)) []))), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 36) [(.copy (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 37) [(.copy (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.pair .nat .nat)) [])) (Corr.build (ts := [(.pair .nat .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun32 : FunOK program krate flags 32 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 38) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true) (.mk [] (.succeed (.construct .some [(.call (.function 39) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true)]))) (.mk [] (.succeed (.construct (.none (.pair .nat .nat)) [])))), [(1, .nat, (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 38) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true)) (lk := []) (Corr.callOps (ts := [(.pair .nat .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.call (.function 39) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true)]))) (lb := []) (tb := (.succeed (.construct (.none (.pair .nat .nat)) []))) (Corr.fOfB (Corr.build (ts := [(.pair .nat .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ - -theorem fun33 : FunOK program krate flags 33 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 170)) none (.call (.function 26) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 169)), .wild]) (.mk [] (.move (.generated .part 169))))]), (.construct (.adt 0 2) [(.copy (.generated .binding 2))])] true))], (.matchOn (.move (.generated .holder 170)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [(.mk (.bind (.generated .operand 174)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 175)) none (.construct .cons [(.construct (.adt 2 0) [(.copy (.generated .binding 3)), (.block (.mk [(.mk (.bind (.generated .operand 172)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 171))]) (.mk [] (.move (.generated .part 171))))])), (.mk (.bind (.generated .operand 173)) none (.construct .cons [(.construct (.adt 0 2) [(.copy (.generated .binding 2))]), (.construct (.nil (.adt 0)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 172)), (.move (.generated .operand 173))] false)))]), (.construct (.nil (.adt 2)) [])]))] (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 174)), (.move (.generated .operand 175))] false))))]), [(2, .nat, (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.adt 2), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option (.pair .nat .nat))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat), (.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 169))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.adt 2), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(3, (.pair .nat .nat), (some 3)), (2, .nat, (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.adt 2), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .operand 174)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 175)) none (.construct .cons [(.construct (.adt 2 0) [(.copy (.generated .binding 3)), (.block (.mk [(.mk (.bind (.generated .operand 172)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 171))]) (.mk [] (.move (.generated .part 171))))])), (.mk (.bind (.generated .operand 173)) none (.construct .cons [(.construct (.adt 0 2) [(.copy (.generated .binding 2))]), (.construct (.nil (.adt 0)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 172)), (.move (.generated .operand 173))] false)))]), (.construct (.nil (.adt 2)) [])]))]) (tail := (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 174)), (.move (.generated .operand 175))] false))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.prim (ts := [(.list (.adt 2)), (.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [(.adt 2), (.list (.adt 2))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair .nat .nat), (.list (.adt 0))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 172)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 171))]) (.mk [] (.move (.generated .part 171))))])), (.mk (.bind (.generated .operand 173)) none (.construct .cons [(.construct (.adt 0 2) [(.copy (.generated .binding 2))]), (.construct (.nil (.adt 0)) [])]))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 172)), (.move (.generated .operand 173))] false)) (Corr.prim (ts := [(.list (.adt 0)), (.list (.adt 0))]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 171))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [(.adt 0), (.list (.adt 0))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun34 : FunOK program krate flags 34 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 177)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 176)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 176))))), (.mk (.bind (.generated .operand 178)) none (.lit (.nat 4)))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 177)), (.move (.generated .operand 178))] false) (.mk [(.mk (.bind (.generated .operand 180)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 179))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 179))))), (.mk (.bind (.generated .operand 181)) none (.lit (.nat 3)))] (.call (.runtime .natLe) [(.move (.generated .operand 180)), (.move (.generated .operand 181))] false)) (.mk [] (.lit (.bool false)))), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 177)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 176)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 176))))), (.mk (.bind (.generated .operand 178)) none (.lit (.nat 4)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 177)), (.move (.generated .operand 178))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 176)), .wild]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 176))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 180)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 179))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 179))))), (.mk (.bind (.generated .operand 181)) none (.lit (.nat 3)))]) (ta := (.call (.runtime .natLe) [(.move (.generated .operand 180)), (.move (.generated .operand 181))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 179))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 179))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun35 : FunOK program krate flags 35 := - ⟨_, rfl, .inl ⟨_, _, [], (.pair (.lit (.nat 4)) (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 182))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 182))))), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 182))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 182))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil)))))⟩⟩ - -theorem fun36 : FunOK program krate flags 36 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 184)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 185)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 183))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 183)))))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 184)), (.move (.generated .operand 185))] false) (.mk [(.mk (.bind (.generated .operand 187)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 186)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 186))))), (.mk (.bind (.generated .operand 188)) none (.lit (.nat 4)))] (.call (.runtime .natLe) [(.move (.generated .operand 187)), (.move (.generated .operand 188))] false)) (.mk [] (.lit (.bool false)))), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 184)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 185)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 183))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 183)))))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 184)), (.move (.generated .operand 185))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 183))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 183))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 187)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 186)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 186))))), (.mk (.bind (.generated .operand 188)) none (.lit (.nat 4)))]) (ta := (.call (.runtime .natLe) [(.move (.generated .operand 187)), (.move (.generated .operand 188))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 186)), .wild]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 186))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun37 : FunOK program krate flags 37 := - ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 189)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 189)))) (.lit (.nat 0))), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 189)), .wild]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 189))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))))⟩⟩ - -theorem fun38 : FunOK program krate flags 38 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 191)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 192)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 190)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 190)))))], (.cond (.call (.runtime .natLe) [(.move (.generated .operand 191)), (.move (.generated .operand 192))] false) (.mk [(.mk (.bind (.generated .operand 196)) none (.block (.mk [(.mk (.bind (.generated .operand 194)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 193))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 193))))), (.mk (.bind (.generated .operand 195)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 194)), (.move (.generated .operand 195))] true)))), (.mk (.bind (.generated .operand 197)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 196)), (.move (.generated .operand 197))] false) (.mk [(.mk (.bind (.generated .operand 199)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 198)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 198))))), (.mk (.bind (.generated .operand 200)) none (.lit (.nat 4)))] (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 199)), (.move (.generated .operand 200))] false))) (.mk [] (.succeed (.lit (.bool false)))))) (.mk [] (.succeed (.lit (.bool false))))), [(1, .nat, (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 191)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 192)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 190)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 190)))))]) (ce := (.call (.runtime .natLe) [(.move (.generated .operand 191)), (.move (.generated .operand 192))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 190)), .wild]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 190))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 196)) none (.block (.mk [(.mk (.bind (.generated .operand 194)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 193))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 193))))), (.mk (.bind (.generated .operand 195)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 194)), (.move (.generated .operand 195))] true)))), (.mk (.bind (.generated .operand 197)) none (.lit (.nat 3)))]) (ta := (.cond (.call (.runtime .natLe) [(.move (.generated .operand 196)), (.move (.generated .operand 197))] false) (.mk [(.mk (.bind (.generated .operand 199)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 198)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 198))))), (.mk (.bind (.generated .operand 200)) none (.lit (.nat 4)))] (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 199)), (.move (.generated .operand 200))] false))) (.mk [] (.succeed (.lit (.bool false)))))) (lb := []) (tb := (.succeed (.lit (.bool false)))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 196)) none (.block (.mk [(.mk (.bind (.generated .operand 194)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 193))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 193))))), (.mk (.bind (.generated .operand 195)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 194)), (.move (.generated .operand 195))] true)))), (.mk (.bind (.generated .operand 197)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natLe) [(.move (.generated .operand 196)), (.move (.generated .operand 197))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 194)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 193))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 193))))), (.mk (.bind (.generated .operand 195)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 194)), (.move (.generated .operand 195))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 193))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 193))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 199)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 198)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 198))))), (.mk (.bind (.generated .operand 200)) none (.lit (.nat 4)))]) (ta := (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 199)), (.move (.generated .operand 200))] false))) (lb := []) (tb := (.succeed (.lit (.bool false)))) (Corr.fOfB (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 198)), .wild]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 198))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.fOfB (Corr.bOfE (Corr.buildConst rfl))))) (Corr.fOfB (Corr.bOfE (Corr.buildConst rfl)))))⟩⟩ - -theorem fun39 : FunOK program krate flags 39 := - ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 202)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 201)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 201))))), (.mk (.bind (.generated .operand 203)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 202)), (.move (.generated .operand 203))] false))) (.block (.mk [(.mk (.bind (.generated .operand 205)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 204))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 204))))), (.mk (.bind (.generated .operand 206)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 205)), (.move (.generated .operand 206))] true))))), [(1, .nat, (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 202)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 201)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 201))))), (.mk (.bind (.generated .operand 203)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 202)), (.move (.generated .operand 203))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 201)), .wild]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 201))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 205)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 204))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 204))))), (.mk (.bind (.generated .operand 206)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 205)), (.move (.generated .operand 206))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 204))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 204))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | 4 => exact fun4 - | 5 => exact fun5 - | 6 => exact fun6 - | 7 => exact fun7 - | 8 => exact fun8 - | 9 => exact fun9 - | 10 => exact fun10 - | 11 => exact fun11 - | 12 => exact fun12 - | 13 => exact fun13 - | 14 => exact fun14 - | 15 => exact fun15 - | 16 => exact fun16 - | 17 => exact fun17 - | 18 => exact fun18 - | 19 => exact fun19 - | 20 => exact fun20 - | 21 => exact fun21 - | 22 => exact fun22 - | 23 => exact fun23 - | 24 => exact fun24 - | 25 => exact fun25 - | 26 => exact fun26 - | 27 => exact fun27 - | 28 => exact fun28 - | 29 => exact fun29 - | 30 => exact fun30 - | 31 => exact fun31 - | 32 => exact fun32 - | 33 => exact fun33 - | 34 => exact fun34 - | 35 => exact fun35 - | 36 => exact fun36 - | 37 => exact fun37 - | 38 => exact fun38 - | 39 => exact fun39 - | _ + 40 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R4.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R4.lean deleted file mode 100644 index 6b84b996c..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R4.lean +++ /dev/null @@ -1,142 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Reasoning.Budget -import Reasoning.Clinic -import Reasoning.Main -import Reasoning.Planner -import Reasoning.Screening -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [{ constructors := [[(.option .nat), .bool, (.adt 1)]] }, - { constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }], functions := [ - { parameters := [0], types := [.nat], result := .nat, - body := (.«match» .nat (.call 1 [(.var 0)]) [(.arm .ok [1] (.var 1)), (.arm .error [2] (.value .nat (.nat 9)))]) }, - { parameters := [0], types := [.nat], result := (.result .nat (.pair .bool .bool)), - body := (.«let» 1 (.adt 0) (.call 2 [(.var 0)]) (.«match» (.result .nat (.pair .bool .bool)) (.field (.var 1) 0) [(.arm .some [2] (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)])), (.arm .none [] (.build .error (.result .nat (.pair .bool .bool)) [(.call 3 [(.var 1)])]))])) }, - { parameters := [0], types := [.nat], result := (.adt 0), - body := (.call 4 [(.closure 5 [(.var 0)]), (.build (.adt 0) (.adt 0) [(.build .none (.option .nat) []), (.build .false .bool []), (.build (.adt 0) (.adt 1) [(.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0))])]), (.call 6 [(.var 0)])]) }, - { parameters := [0], types := [(.adt 0)], result := (.pair .bool .bool), - body := (.«match» (.pair .bool .bool) (.field (.var 0) 1) [(.arm .true [] (.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])), (.arm .false [] (.«match» (.pair .bool .bool) (.prim .natEq [(.field (.field (.var 0) 2) 4), (.value .nat (.nat 0))]) [(.arm .true [] (.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])), (.arm .false [] (.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])]))]))]) }, - { parameters := [0, 1, 2], types := [(.fn [(.adt 0), .nat] (.adt 0)), (.adt 0), (.list .nat)], result := (.adt 0), - body := (.«match» (.adt 0) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 4 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1, 2], types := [.nat, (.adt 0), .nat], result := (.adt 0), - body := (.call 7 [(.var 0), (.var 1), (.var 2)]) }, - { parameters := [0], types := [.nat], result := (.list .nat), - body := (.«match» (.list .nat) (.«let» 1 .nat (.var 0) (.«let» 2 (.list .nat) (.call 8 [(.var 1)]) (.cond (.call 9 [(.var 1), (.var 2)]) (.build .ok (.result (.list .nat) (.pair .bool .bool)) [(.var 2)]) (.build .error (.result (.list .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])))) [(.arm .ok [3] (.var 3)), (.arm .error [4] (.build .nil (.list .nat) []))]) }, - { parameters := [0, 1, 2], types := [.nat, (.adt 0), .nat], result := (.adt 0), - body := (.«match» (.adt 0) (.field (.var 1) 0) [(.arm .some [3] (.var 1)), (.arm .none [] (.«match» (.adt 0) (.prim .natLt [(.field (.field (.var 1) 2) 4), (.value .nat (.nat 3))]) [(.arm .true [] (.build (.adt 0) (.adt 0) [(.call 10 [(.var 0), (.var 2)]), (.field (.var 1) 1), (.build (.adt 0) (.adt 1) [(.prim .natAdd [(.field (.field (.var 1) 2) 0), (.value .nat (.nat 1))]), (.prim .natAdd [(.field (.field (.var 1) 2) 1), (.value .nat (.nat 1))]), (.field (.field (.var 1) 2) 2), (.field (.field (.var 1) 2) 3), (.prim .natAdd [(.field (.field (.var 1) 2) 4), (.value .nat (.nat 1))]), (.field (.field (.var 1) 2) 5)])])), (.arm .false [] (.build (.adt 0) (.adt 0) [(.build .none (.option .nat) []), (.build .true .bool []), (.field (.var 1) 2)]))]))]) }, - { parameters := [0], types := [.nat], result := (.list .nat), - body := (.call 11 [(.var 0)]) }, - { parameters := [0, 1], types := [.nat, (.list .nat)], result := .bool, - body := (.prim .natLe [(.prim .length [(.var 1)]), (.value .nat (.nat 4))]) }, - { parameters := [0, 1], types := [.nat, .nat], result := (.option .nat), - body := (.cond (.call 12 [(.var 0), (.var 1)]) (.build .some (.option .nat) [(.var 1)]) (.build .none (.option .nat) [])) }, - { parameters := [0], types := [.nat], result := (.list .nat), - body := (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 10))]), (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 20))]), (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 30))]), (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 50))]), (.build .nil (.list .nat) [])])])])]) }, - { parameters := [0, 1], types := [.nat, .nat], result := .bool, - body := (.prim .natLe [(.prim .natAdd [(.var 1), (.var 1)]), (.var 0)]) }] } - -def __enc_1 (__s : (Reasoning.Screening.Dose.Ledger)) : _root_.LexLeanTarget.TargetSyntax.Value := - _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).iterations), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).attempts), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).firings), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).expansions), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).verifications), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).frontier)] - -def __enc_0 (__s : (Reasoning.Screening.Dose.Trial)) : _root_.LexLeanTarget.TargetSyntax.Value := - _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (__s).found), (_root_.LexLeanTarget.TargetSyntax.Value.bool (__s).truncated), (__enc_1 (__s).ledger)] - -def __fits_12 (w : Nat) (r : Nat) : Bool := - ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (r + r) 18446744073709551616)) && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_12 (w : Nat) (r : Nat) : _root_.LexLeanPreservation.FunRel __prog 12 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w), (_root_.LexLeanTarget.TargetSyntax.Value.nat r)] (_root_.LexLeanPreservation.Rel (__fits_12 w r) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Screening.safeCheck w r))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd r r)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe (r + r) w)) - -def __fits_10 (w : Nat) (_yc : Nat) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && (__fits_12 (w) (_yc))) && (if (Reasoning.Screening.safeCheck (w) (_yc)) then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Screening.safeCheck in -theorem __rel_10 (w : Nat) (_yc : Nat) : _root_.LexLeanPreservation.FunRel __prog 10 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yc)] (_root_.LexLeanPreservation.Rel (__fits_10 w _yc) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Screening.Dose.verify w _yc))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then (Option.some (_yc) : (Option Nat)) else (Option.none : (Option Nat)))) (Reasoning.Screening.safeCheck (w) (_yc)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_12 (w) (_yc))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_7 (w : Nat) (_yt : (Reasoning.Screening.Dose.Trial)) (_yc : Nat) : Bool := - (Bool.true && (match (_yt).found with | Option.some _yhit => Bool.true | Option.none => (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (match (Nat.blt ((_yt).ledger).verifications (3 : Nat)) with | Bool.true => ((((Bool.true && (Bool.true && Bool.true)) && (__fits_10 (w) (_yc))) && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yt).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yt).ledger).attempts + (1 : Nat)) 18446744073709551616)) && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yt).ledger).verifications + (1 : Nat)) 18446744073709551616)) && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true))) && Bool.true) | Bool.false => (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && Bool.true))))) - -attribute [local irreducible] Reasoning.Screening.Dose.verify in -theorem __rel_7 (w : Nat) (_yt : (Reasoning.Screening.Dose.Trial)) (_yc : Nat) : _root_.LexLeanPreservation.FunRel __prog 7 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w), (__enc_0 _yt), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yc)] (_root_.LexLeanPreservation.Rel (__fits_7 w _yt _yc) (__enc_0 (Reasoning.Screening.Dose.«try» w _yt _yc))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.some _yhit => Bool.true | Option.none => (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (match (Nat.blt ((_yt).ledger).verifications (3 : Nat)) with | Bool.true => ((((Bool.true && (Bool.true && Bool.true)) && (__fits_10 (w) (_yc))) && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yt).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yt).ledger).attempts + (1 : Nat)) 18446744073709551616)) && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yt).ledger).verifications + (1 : Nat)) 18446744073709551616)) && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true))) && Bool.true) | Bool.false => (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && Bool.true))))) (fun (__a : (Option Nat)) => __enc_0 (match __a with | Option.some _yhit => _yt | Option.none => (match (Nat.blt ((_yt).ledger).verifications (3 : Nat)) with | Bool.true => ({ found := (Reasoning.Screening.Dose.verify (w) (_yc)), truncated := (_yt).truncated, ledger := ({ iterations := (((_yt).ledger).iterations + (1 : Nat)), attempts := (((_yt).ledger).attempts + (1 : Nat)), firings := ((_yt).ledger).firings, expansions := ((_yt).ledger).expansions, verifications := (((_yt).ledger).verifications + (1 : Nat)), frontier := ((_yt).ledger).frontier } : (Reasoning.Screening.Dose.Ledger)) } : (Reasoning.Screening.Dose.Trial)) | Bool.false => ({ found := (Option.none : (Option Nat)), truncated := Bool.true, ledger := (_yt).ledger } : (Reasoning.Screening.Dose.Trial))))) (_yt).found (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (fun (__a : (Option Nat)) _ => match __a with | Option.some _yhit => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV _root_.LexLeanTarget.TargetSyntax.Value.bool (fun (__a : Bool) => (match __a with | Bool.true => ((((Bool.true && (Bool.true && Bool.true)) && (__fits_10 (w) (_yc))) && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yt).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yt).ledger).attempts + (1 : Nat)) 18446744073709551616)) && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yt).ledger).verifications + (1 : Nat)) 18446744073709551616)) && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true))) && Bool.true) | Bool.false => (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && Bool.true))) (fun (__a : Bool) => __enc_0 (match __a with | Bool.true => ({ found := (Reasoning.Screening.Dose.verify (w) (_yc)), truncated := (_yt).truncated, ledger := ({ iterations := (((_yt).ledger).iterations + (1 : Nat)), attempts := (((_yt).ledger).attempts + (1 : Nat)), firings := ((_yt).ledger).firings, expansions := ((_yt).ledger).expansions, verifications := (((_yt).ledger).verifications + (1 : Nat)), frontier := ((_yt).ledger).frontier } : (Reasoning.Screening.Dose.Ledger)) } : (Reasoning.Screening.Dose.Trial)) | Bool.false => ({ found := (Option.none : (Option Nat)), truncated := Bool.true, ledger := (_yt).ledger } : (Reasoning.Screening.Dose.Trial)))) (Nat.blt ((_yt).ledger).verifications (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt ((_yt).ledger).verifications (3 : Nat))) (fun (__a : Bool) _ => match __a with | Bool.true => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_10 (w) (_yc))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yt).ledger).iterations (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yt).ledger).attempts (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yt).ledger).verifications (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) _root_.LexLeanPreservation.convL_nil)))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil))) _root_.LexLeanPreservation.construct_adt)) | Bool.false => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))) _root_.LexLeanPreservation.construct_adt))))))))) - -def __fits_5 (w : Nat) (_yt : (Reasoning.Screening.Dose.Trial)) (_yc : Nat) : Bool := - ((Bool.true && (Bool.true && (Bool.true && Bool.true))) && (__fits_7 (w) (_yt) (_yc))) - -attribute [local irreducible] Reasoning.Screening.Dose.«try» in -theorem __rel_5 (w : Nat) (_yt : (Reasoning.Screening.Dose.Trial)) (_yc : Nat) : _root_.LexLeanPreservation.FunRel __prog 5 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w), (__enc_0 _yt), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yc)] (_root_.LexLeanPreservation.Rel (__fits_5 w _yt _yc) (__enc_0 ((Reasoning.Screening.Dose.«try» (w) (_yt) (_yc))))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (__rel_7 (w) (_yt) (_yc))) - -def __fits_11 (w : Nat) : Bool := - ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) - -theorem __rel_11 (w : Nat) : _root_.LexLeanPreservation.FunRel __prog 11 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (_root_.LexLeanPreservation.Rel (__fits_11 w) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Screening.DoseCandidates w))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub w (10 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub w (20 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub w (30 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub w (50 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) - -def __fits_8 (_yinput : Nat) : Bool := - ((Bool.true && Bool.true) && (__fits_11 (_yinput))) - -attribute [local irreducible] Reasoning.Screening.DoseCandidates in -theorem __rel_8 (_yinput : Nat) : _root_.LexLeanPreservation.FunRel __prog 8 [(_root_.LexLeanTarget.TargetSyntax.Value.nat _yinput)] (_root_.LexLeanPreservation.Rel (__fits_8 _yinput) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Screening.DoseModel _yinput))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_11 (_yinput))) - -def __fits_9 (w : Nat) (doses : (List Nat)) : Bool := - ((((Bool.true && Bool.true) && (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (doses) : Nat) 18446744073709551616)) && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_9 (w : Nat) (doses : (List Nat)) : _root_.LexLeanPreservation.FunRel __prog 9 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) doses)] (_root_.LexLeanPreservation.Rel (__fits_9 w doses) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Screening.shortCheck w doses))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) doses)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe (Reasoning.Screening.LexLeanRuntime.length (doses) : Nat) (4 : Nat))) - -def __fits_6 (w : Nat) : Bool := - ((Bool.true && (let _ychecked1_input : Nat := w; (((Bool.true && Bool.true) && (__fits_8 (_ychecked1_input))) && (let _ychecked1_output : (List Nat) := (Reasoning.Screening.DoseModel (_ychecked1_input)); (((Bool.true && (Bool.true && Bool.true)) && (__fits_9 (_ychecked1_input) (_ychecked1_output))) && (if (Reasoning.Screening.shortCheck (_ychecked1_input) (_ychecked1_output)) then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))))) && (match (let _ychecked1_input : Nat := w; (let _ychecked1_output : (List Nat) := (Reasoning.Screening.DoseModel (_ychecked1_input)); (if (Reasoning.Screening.shortCheck (_ychecked1_input) (_ychecked1_output)) then (Except.ok (_ychecked1_output) : (Except (Prod Bool Bool) (List Nat))) else (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (List Nat)))))) with | Except.ok proposed => Bool.true | Except.error refusal => (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Screening.DoseModel Reasoning.Screening.shortCheck in -theorem __rel_6 (w : Nat) : _root_.LexLeanPreservation.FunRel __prog 6 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (_root_.LexLeanPreservation.Rel (__fits_6 w) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Screening.Dose.candidates w))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun (__a : (Except (Prod Bool Bool) (List Nat))) => (match __a with | Except.ok proposed => Bool.true | Except.error refusal => (Bool.true && Bool.true))) (fun (__a : (Except (Prod Bool Bool) (List Nat))) => (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Except.ok proposed => proposed | Except.error refusal => ([] : List Nat))) (let _ychecked1_input : Nat := w; (let _ychecked1_output : (List Nat) := (Reasoning.Screening.DoseModel (_ychecked1_input)); (if (Reasoning.Screening.shortCheck (_ychecked1_input) (_ychecked1_output)) then (Except.ok (_ychecked1_output) : (Except (Prod Bool Bool) (List Nat))) else (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (List Nat)))))) (let _ychecked1_input : Nat := w; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_var rfl) (let _ychecked1_output : (List Nat) := (Reasoning.Screening.DoseModel (_ychecked1_input)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_8 (_ychecked1_input))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (Except.ok (_ychecked1_output) : (Except (Prod Bool Bool) (List Nat))) else (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (List Nat))))) (Reasoning.Screening.shortCheck (_ychecked1_input) (_ychecked1_output)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_9 (_ychecked1_input) (_ychecked1_output))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))) (fun (__a : (Except (Prod Bool Bool) (List Nat))) _ => match __a with | Except.ok proposed => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | Except.error refusal => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil))))) - -def __fits_2 (w : Nat) : Bool := - (((Bool.true && Bool.true) && ((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && (((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true))) && Bool.true) && (((Bool.true && Bool.true) && (__fits_6 (w))) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Reasoning.Screening.Dose.Trial)) (__p1 : Nat) => __fits_5 (w) __p0 __p1) ((fun (_yt : (Reasoning.Screening.Dose.Trial)) (_yc : Nat) => (Reasoning.Screening.Dose.«try» (w) (_yt) (_yc)))) (({ found := (Option.none : (Option Nat)), truncated := Bool.false, ledger := ({ iterations := (0 : Nat), attempts := (0 : Nat), firings := (0 : Nat), expansions := (0 : Nat), verifications := (0 : Nat), frontier := (0 : Nat) } : (Reasoning.Screening.Dose.Ledger)) } : (Reasoning.Screening.Dose.Trial))) ((Reasoning.Screening.Dose.candidates (w))))) - -attribute [local irreducible] Reasoning.Screening.Dose.candidates Reasoning.Screening.Dose.«try» in -theorem __rel_2 (w : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (_root_.LexLeanPreservation.Rel (__fits_2 w) (__enc_0 (Reasoning.Screening.Dose.run w))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil))) _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_6 (w))) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.nat) (es := __enc_0) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) ((fun (_yt : (Reasoning.Screening.Dose.Trial)) (_yc : Nat) => (Reasoning.Screening.Dose.«try» (w) (_yt) (_yc)))) (fun (__p0 : (Reasoning.Screening.Dose.Trial)) (__p1 : Nat) => __fits_5 (w) __p0 __p1) 5 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (fun (__p0 : (Reasoning.Screening.Dose.Trial)) (__p1 : Nat) => __rel_5 (w) __p0 __p1) (p := __prog) (fi := 4) (ta := .nat) (ts := (.adt 0)) rfl (({ found := (Option.none : (Option Nat)), truncated := Bool.false, ledger := ({ iterations := (0 : Nat), attempts := (0 : Nat), firings := (0 : Nat), expansions := (0 : Nat), verifications := (0 : Nat), frontier := (0 : Nat) } : (Reasoning.Screening.Dose.Ledger)) } : (Reasoning.Screening.Dose.Trial))) ((Reasoning.Screening.Dose.candidates (w))))) - -def __fits_3 (_yt : (Reasoning.Screening.Dose.Trial)) : Bool := - (Bool.true && (match (_yt).truncated with | Bool.true => (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) | Bool.false => (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (match (Nat.beq ((_yt).ledger).verifications (0 : Nat)) with | Bool.true => (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) | Bool.false => (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true))))) - -theorem __rel_3 (_yt : (Reasoning.Screening.Dose.Trial)) : _root_.LexLeanPreservation.FunRel __prog 3 [(__enc_0 _yt)] (_root_.LexLeanPreservation.Rel (__fits_3 _yt) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (Reasoning.Screening.Dose.failure _yt))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV _root_.LexLeanTarget.TargetSyntax.Value.bool (fun (__a : Bool) => (match __a with | Bool.true => (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) | Bool.false => (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (match (Nat.beq ((_yt).ledger).verifications (0 : Nat)) with | Bool.true => (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) | Bool.false => (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true))))) (fun (__a : Bool) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (match __a with | Bool.true => ((Bool.false, Bool.false) : (Prod Bool Bool)) | Bool.false => (match (Nat.beq ((_yt).ledger).verifications (0 : Nat)) with | Bool.true => ((Bool.false, Bool.true) : (Prod Bool Bool)) | Bool.false => ((Bool.true, Bool.false) : (Prod Bool Bool))))) (_yt).truncated (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (fun (__a : Bool) _ => match __a with | Bool.true => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair)) | Bool.false => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV _root_.LexLeanTarget.TargetSyntax.Value.bool (fun (__a : Bool) => (match __a with | Bool.true => (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) | Bool.false => (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true))) (fun (__a : Bool) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (match __a with | Bool.true => ((Bool.false, Bool.true) : (Prod Bool Bool)) | Bool.false => ((Bool.true, Bool.false) : (Prod Bool Bool)))) (Nat.beq ((_yt).ledger).verifications (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq ((_yt).ledger).verifications (0 : Nat))) (fun (__a : Bool) _ => match __a with | Bool.true => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair)) | Bool.false => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))))))) - -def __fits_1 (w : Nat) : Bool := - (((Bool.true && Bool.true) && (__fits_2 (w))) && (let _yfinal : (Reasoning.Screening.Dose.Trial) := (Reasoning.Screening.Dose.run (w)); (Bool.true && (match (_yfinal).found with | Option.some _yv => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_3 (_yfinal))) && Bool.true) && Bool.true))))) - -attribute [local irreducible] Reasoning.Screening.Dose.failure Reasoning.Screening.Dose.run in -theorem __rel_1 (w : Nat) : _root_.LexLeanPreservation.FunRel __prog 1 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (_root_.LexLeanPreservation.Rel (__fits_1 w) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Screening.Dose.verdict w))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (let _yfinal : (Reasoning.Screening.Dose.Trial) := (Reasoning.Screening.Dose.run (w)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_2 (w))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.some _yv => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_3 (_yfinal))) && Bool.true) && Bool.true))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.some _yv => (Except.ok (_yv) : (Except (Prod Bool Bool) Nat)) | Option.none => (Except.error ((Reasoning.Screening.Dose.failure (_yfinal))) : (Except (Prod Bool Bool) Nat)))) (_yfinal).found (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (fun (__a : (Option Nat)) _ => match __a with | Option.some _yv => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_3 (_yfinal))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))))) - -def __fits_0 (w : Nat) : Bool := - (((Bool.true && Bool.true) && (__fits_1 (w))) && (match (Reasoning.Screening.Dose.verdict (w)) with | Except.ok dose => Bool.true | Except.error failure => Bool.true)) - -attribute [local irreducible] Reasoning.Screening.Dose.verdict in -theorem __rel_0 (w : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (_root_.LexLeanPreservation.Rel (__fits_0 w) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.doseLevel w))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Except (Prod Bool Bool) Nat)) => (match __a with | Except.ok dose => Bool.true | Except.error failure => Bool.true)) (fun (__a : (Except (Prod Bool Bool) Nat)) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match __a with | Except.ok dose => dose | Except.error failure => (9 : Nat))) (Reasoning.Screening.Dose.verdict (w)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (w))) (fun (__a : (Except (Prod Bool Bool) Nat)) _ => match __a with | Except.ok dose => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | Except.error failure => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value)))) - -def denote (w : Nat) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 w) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.doseLevel w)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (w : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (_root_.LexLeanPreservation.Rel (__fits_0 w) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.doseLevel w))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 w) - -end LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4 diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R4/Compose/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R4/Compose/RustStd.lean deleted file mode 100644 index a2cb998fa..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R4/Compose/RustStd.lean +++ /dev/null @@ -1,22 +0,0 @@ -import LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4 -import LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.Compose.RustStd - -theorem __wt_1 : ∀ (__s : (Reasoning.Screening.Dose.Ledger)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.RustStd.program _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.RustStd.krate _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.RustStd.flags (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.__enc_1 __s) (.adt 1) := - fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).iterations) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).attempts) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).firings) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).expansions) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).verifications) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).frontier) _root_.LexLeanPreservation.Rust.wtl_nil)))))) - -theorem __wt_0 : ∀ (__s : (Reasoning.Screening.Dose.Trial)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.RustStd.program _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.RustStd.krate _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.RustStd.flags (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.__enc_0 __s) (.adt 0) := - fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encOption _root_.LexLeanPreservation.Rust.wt_nat) (__s).found) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_bool (__s).truncated) (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_1 (__s).ledger) _root_.LexLeanPreservation.Rust.wtl_nil))) - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (w : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.denote w) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat w) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.root w) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.Compose.RustStd diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R4/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R4/RustStd.lean deleted file mode 100644 index dff54d0bf..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R4/RustStd.lean +++ /dev/null @@ -1,134 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [{ constructors := [[(.option .nat), .bool, (.adt 1)]] }, - { constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }], functions := [ - { parameters := [0], types := [.nat], result := .nat, - body := (.«match» .nat (.call 1 [(.var 0)]) [(.arm .ok [1] (.var 1)), (.arm .error [2] (.value .nat (.nat 9)))]) }, - { parameters := [0], types := [.nat], result := (.result .nat (.pair .bool .bool)), - body := (.«let» 1 (.adt 0) (.call 2 [(.var 0)]) (.«match» (.result .nat (.pair .bool .bool)) (.field (.var 1) 0) [(.arm .some [2] (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)])), (.arm .none [] (.build .error (.result .nat (.pair .bool .bool)) [(.call 3 [(.var 1)])]))])) }, - { parameters := [0], types := [.nat], result := (.adt 0), - body := (.call 4 [(.closure 5 [(.var 0)]), (.build (.adt 0) (.adt 0) [(.build .none (.option .nat) []), (.build .false .bool []), (.build (.adt 0) (.adt 1) [(.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0))])]), (.call 6 [(.var 0)])]) }, - { parameters := [0], types := [(.adt 0)], result := (.pair .bool .bool), - body := (.«match» (.pair .bool .bool) (.field (.var 0) 1) [(.arm .true [] (.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])), (.arm .false [] (.«match» (.pair .bool .bool) (.prim .natEq [(.field (.field (.var 0) 2) 4), (.value .nat (.nat 0))]) [(.arm .true [] (.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])), (.arm .false [] (.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])]))]))]) }, - { parameters := [0, 1, 2], types := [(.fn [(.adt 0), .nat] (.adt 0)), (.adt 0), (.list .nat)], result := (.adt 0), - body := (.«match» (.adt 0) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 4 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1, 2], types := [.nat, (.adt 0), .nat], result := (.adt 0), - body := (.call 7 [(.var 0), (.var 1), (.var 2)]) }, - { parameters := [0], types := [.nat], result := (.list .nat), - body := (.«match» (.list .nat) (.«let» 1 .nat (.var 0) (.«let» 2 (.list .nat) (.call 8 [(.var 1)]) (.cond (.call 9 [(.var 1), (.var 2)]) (.build .ok (.result (.list .nat) (.pair .bool .bool)) [(.var 2)]) (.build .error (.result (.list .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])))) [(.arm .ok [3] (.var 3)), (.arm .error [4] (.build .nil (.list .nat) []))]) }, - { parameters := [0, 1, 2], types := [.nat, (.adt 0), .nat], result := (.adt 0), - body := (.«match» (.adt 0) (.field (.var 1) 0) [(.arm .some [3] (.var 1)), (.arm .none [] (.«match» (.adt 0) (.prim .natLt [(.field (.field (.var 1) 2) 4), (.value .nat (.nat 3))]) [(.arm .true [] (.build (.adt 0) (.adt 0) [(.call 10 [(.var 0), (.var 2)]), (.field (.var 1) 1), (.build (.adt 0) (.adt 1) [(.prim .natAdd [(.field (.field (.var 1) 2) 0), (.value .nat (.nat 1))]), (.prim .natAdd [(.field (.field (.var 1) 2) 1), (.value .nat (.nat 1))]), (.field (.field (.var 1) 2) 2), (.field (.field (.var 1) 2) 3), (.prim .natAdd [(.field (.field (.var 1) 2) 4), (.value .nat (.nat 1))]), (.field (.field (.var 1) 2) 5)])])), (.arm .false [] (.build (.adt 0) (.adt 0) [(.build .none (.option .nat) []), (.build .true .bool []), (.field (.var 1) 2)]))]))]) }, - { parameters := [0], types := [.nat], result := (.list .nat), - body := (.call 11 [(.var 0)]) }, - { parameters := [0, 1], types := [.nat, (.list .nat)], result := .bool, - body := (.prim .natLe [(.prim .length [(.var 1)]), (.value .nat (.nat 4))]) }, - { parameters := [0, 1], types := [.nat, .nat], result := (.option .nat), - body := (.cond (.call 12 [(.var 0), (.var 1)]) (.build .some (.option .nat) [(.var 1)]) (.build .none (.option .nat) [])) }, - { parameters := [0], types := [.nat], result := (.list .nat), - body := (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 10))]), (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 20))]), (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 30))]), (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 50))]), (.build .nil (.list .nat) [])])])])]) }, - { parameters := [0, 1], types := [.nat, .nat], result := .bool, - body := (.prim .natLe [(.prim .natAdd [(.var 1), (.var 1)]), (.var 0)]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.enum (.adt 0) [{ number := 0, fields := [(.option .nat), .bool, (.adt 1)] }]), - (.enum (.adt 1) [{ number := 0, fields := [.nat, .nat, .nat, .nat, .nat, .nat] }]), - (.enum (.fn 0) [{ number := 5, fields := [.nat] }]), - (.apply 0 [(.adt 0), .nat] (.adt 0) true [{ function := 5, captures := [.copy], functionFallible := true }]), - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.copy (.generated .binding 0))] true))] (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 1))) (.mk [] (.succeed (.copy (.generated .binding 1))))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 9)))))]))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible (.result .nat (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 1)) (some (.adt 0)) (.call (.function 2) [(.copy (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 3)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [(.bind (.generated .part 2)), .wild, .wild]) (.mk [] (.move (.generated .part 2))))]))] (.matchOn (.move (.generated .holder 3)) [(.mk .none (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.call (.function 3) [(.move (.generated .binding 1))] false)])))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))]))))]))), - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible (.adt 0)) (.mk [] (.call (.function 4) [(.construct (.closure 0 5) [(.copy (.generated .binding 0))]), (.construct (.adt 0 0) [(.construct (.none .nat) []), (.lit (.bool false)), (.construct (.adt 1 0) [(.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0))])]), (.call (.function 6) [(.copy (.generated .binding 0))] false)] false))), - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.pair .bool .bool) (.mk [(.mk (.bind (.generated .holder 5)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 4)), .wild]) (.mk [] (.move (.generated .part 4))))]))] (.cond (.move (.generated .holder 5)) (.mk [] (.pair (.lit (.bool false)) (.lit (.bool false)))) (.mk [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .holder 8)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 7))]) (.mk [] (.move (.generated .part 7))))]))] (.matchOn (.move (.generated .holder 8)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 6)), .wild]) (.mk [] (.move (.generated .part 6))))])))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 0)))] (.call (.runtime .natEq) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))] (.cond (.move (.generated .holder 11)) (.mk [] (.pair (.lit (.bool false)) (.lit (.bool true)))) (.mk [] (.pair (.lit (.bool true)) (.lit (.bool false))))))))), - (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 2)), type := (.list .nat) }] (.fallible (.adt 0)) (.mk [(.mk (.bind (.generated .holder 12)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 12)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 4) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 13)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 13) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]))), - (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.fallible (.adt 0)) (.mk [] (.call (.function 7) [(.copy (.generated .binding 0)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false))), - (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 14)) none (.block (.mk [(.mk (.bind (.generated .binding 1)) (some .nat) (.copy (.generated .binding 0))), (.mk (.bind (.generated .binding 2)) (some (.list .nat)) (.call (.function 8) [(.copy (.generated .binding 1))] false))] (.cond (.call (.function 9) [(.copy (.generated .binding 1)), (.clone (.generated .binding 2))] false) (.mk [] (.construct (.ok (.list .nat) (.pair .bool .bool)) [(.move (.generated .binding 2))])) (.mk [] (.construct (.err (.list .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))]))))))] (.matchOn (.move (.generated .holder 14)) [(.mk (.ok (.bind (.generated .binding 3))) (.mk [] (.move (.generated .binding 3)))), (.mk (.err .wild) (.mk [] (.construct (.nil .nat) [])))]))), - (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.fallible (.adt 0)) (.mk [(.mk (.bind (.generated .holder 16)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [(.bind (.generated .part 15)), .wild, .wild]) (.mk [] (.move (.generated .part 15))))]))] (.matchOn (.move (.generated .holder 16)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 22)) none (.block (.mk [(.mk (.bind (.generated .operand 20)) none (.block (.mk [(.mk (.bind (.generated .holder 19)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 18))]) (.mk [] (.move (.generated .part 18))))]))] (.matchOn (.move (.generated .holder 19)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 17)), .wild]) (.mk [] (.move (.generated .part 17))))])))), (.mk (.bind (.generated .operand 21)) none (.lit (.nat 3)))] (.call (.runtime .natLt) [(.move (.generated .operand 20)), (.move (.generated .operand 21))] false))))] (.cond (.move (.generated .holder 22)) (.mk [] (.succeed (.construct (.adt 0 0) [(.call (.function 10) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] true), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 23)), .wild]) (.mk [] (.move (.generated .part 23))))]), (.construct (.adt 1 0) [(.block (.mk [(.mk (.bind (.generated .operand 27)) none (.block (.mk [(.mk (.bind (.generated .holder 26)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))]))] (.matchOn (.move (.generated .holder 26)) [(.mk (.adt 1 0 [(.bind (.generated .part 24)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 24))))])))), (.mk (.bind (.generated .operand 28)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] true))), (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.block (.mk [(.mk (.bind (.generated .holder 31)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 30))]) (.mk [] (.move (.generated .part 30))))]))] (.matchOn (.move (.generated .holder 31)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 29)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 29))))])))), (.mk (.bind (.generated .operand 33)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] true))), (.block (.mk [(.mk (.bind (.generated .holder 36)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 35))]) (.mk [] (.move (.generated .part 35))))]))] (.matchOn (.move (.generated .holder 36)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 34)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 34))))]))), (.block (.mk [(.mk (.bind (.generated .holder 39)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 38))]) (.mk [] (.move (.generated .part 38))))]))] (.matchOn (.move (.generated .holder 39)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 37)), .wild, .wild]) (.mk [] (.move (.generated .part 37))))]))), (.block (.mk [(.mk (.bind (.generated .operand 43)) none (.block (.mk [(.mk (.bind (.generated .holder 42)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 41))]) (.mk [] (.move (.generated .part 41))))]))] (.matchOn (.move (.generated .holder 42)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 40)), .wild]) (.mk [] (.move (.generated .part 40))))])))), (.mk (.bind (.generated .operand 44)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 43)), (.move (.generated .operand 44))] true))), (.block (.mk [(.mk (.bind (.generated .holder 47)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 46))]) (.mk [] (.move (.generated .part 46))))]))] (.matchOn (.move (.generated .holder 47)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))])))])]))) (.mk [] (.succeed (.construct (.adt 0 0) [(.construct (.none .nat) []), (.lit (.bool true)), (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))])])))))), (.mk (.some .wild) (.mk [] (.succeed (.move (.generated .binding 1)))))]))), - (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.list .nat) (.mk [] (.call (.function 11) [(.copy (.generated .binding 0))] false))), - (.function (.generated .function 9) [{ pattern := .wild, type := .nat }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }] .bool (.mk [(.mk (.bind (.generated .operand 50)) none (.block (.mk [(.mk (.bind (.generated .operand 49)) none (.move (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 49))] false)))), (.mk (.bind (.generated .operand 51)) none (.lit (.nat 4)))] (.call (.runtime .natLe) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] false))), - (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.option .nat)) (.mk [] (.cond (.call (.function 12) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true) (.mk [] (.succeed (.construct .some [(.copy (.generated .binding 1))]))) (.mk [] (.succeed (.construct (.none .nat) [])))))), - (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.list .nat) (.mk [] (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 52)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 53)) none (.lit (.nat 10)))] (.call (.runtime .natSub) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false))), (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 54)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 55)) none (.lit (.nat 20)))] (.call (.runtime .natSub) [(.move (.generated .operand 54)), (.move (.generated .operand 55))] false))), (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 56)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 57)) none (.lit (.nat 30)))] (.call (.runtime .natSub) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] false))), (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 58)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 59)) none (.lit (.nat 50)))] (.call (.runtime .natSub) [(.move (.generated .operand 58)), (.move (.generated .operand 59))] false))), (.construct (.nil .nat) [])])])])]))), - (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .bool) (.mk [(.mk (.bind (.generated .operand 62)) none (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 61)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] true)))), (.mk (.bind (.generated .operand 63)) none (.copy (.generated .binding 0)))] (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 62)), (.move (.generated .operand 63))] false))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [(([(.adt 0), .nat], (.adt 0)), true)] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.copy (.generated .binding 0))] true))], (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 1))) (.mk [] (.succeed (.copy (.generated .binding 1))))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 9)))))]), [(0, .nat, (some 0))], rfl, rfl, - (Corr.matchArms (st := (.result .nat (.pair .bool .bool))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.copy (.generated .binding 1)))) (Corr.mCons (Γ' := [(2, (.pair .bool .bool), none), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 9)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.adt 0)) (.call (.function 2) [(.copy (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 3)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [(.bind (.generated .part 2)), .wild, .wild]) (.mk [] (.move (.generated .part 2))))]))], (.matchOn (.move (.generated .holder 3)) [(.mk .none (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.call (.function 3) [(.move (.generated .binding 1))] false)])))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))]))))]), [(0, .nat, (some 0))], rfl, rfl, - (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.fieldRead (ts := [(.option .nat), .bool, (.adt 1)]) (rd := (.move (.generated .part 2))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 0), (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.call (.function 3) [(.move (.generated .binding 1))] false)]))) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.adt 0), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl))) rfl rfl rfl))⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 4) [(.construct (.closure 0 5) [(.copy (.generated .binding 0))]), (.construct (.adt 0 0) [(.construct (.none .nat) []), (.lit (.bool false)), (.construct (.adt 1 0) [(.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0))])]), (.call (.function 6) [(.copy (.generated .binding 0))] false)] false), [(0, .nat, (some 0))], rfl, rfl, - (Corr.callF (ts := [(.fn [(.adt 0), .nat] (.adt 0)), (.adt 0), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [.nat]) (mask := [false]) (af := true) (ff := true) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.option .nat), .bool, (.adt 1)]) (mask := [false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))))))) rfl)) (Corr.lNil))))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 5)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 4)), .wild]) (.mk [] (.move (.generated .part 4))))]))], (.cond (.move (.generated .holder 5)) (.mk [] (.pair (.lit (.bool false)) (.lit (.bool false)))) (.mk [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .holder 8)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 7))]) (.mk [] (.move (.generated .part 7))))]))] (.matchOn (.move (.generated .holder 8)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 6)), .wild]) (.mk [] (.move (.generated .part 6))))])))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 0)))] (.call (.runtime .natEq) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))] (.cond (.move (.generated .holder 11)) (.mk [] (.pair (.lit (.bool false)) (.lit (.bool true)))) (.mk [] (.pair (.lit (.bool true)) (.lit (.bool false))))))), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.matchBool (Corr.eOfBNil (Corr.fieldRead (ts := [(.option .nat), .bool, (.adt 1)]) (rd := (.move (.generated .part 4))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl (Corr.kIf (la := []) (ta := (.pair (.lit (.bool false)) (.lit (.bool false)))) (lb := [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .holder 8)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 7))]) (.mk [] (.move (.generated .part 7))))]))] (.matchOn (.move (.generated .holder 8)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 6)), .wild]) (.mk [] (.move (.generated .part 6))))])))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 0)))] (.call (.runtime .natEq) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))]) (tb := (.cond (.move (.generated .holder 11)) (.mk [] (.pair (.lit (.bool false)) (.lit (.bool true)))) (.mk [] (.pair (.lit (.bool true)) (.lit (.bool false)))))) (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))))) (Corr.matchBool (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .holder 8)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 7))]) (.mk [] (.move (.generated .part 7))))]))] (.matchOn (.move (.generated .holder 8)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 6)), .wild]) (.mk [] (.move (.generated .part 6))))])))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 0)))]) (tail := (.call (.runtime .natEq) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 8)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 7))]) (.mk [] (.move (.generated .part 7))))]))]) (tail := (.matchOn (.move (.generated .holder 8)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 6)), .wild]) (.mk [] (.move (.generated .part 6))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 6))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.option .nat), .bool, (.adt 1)]) (rd := (.move (.generated .part 7))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl (Corr.kIf (la := []) (ta := (.pair (.lit (.bool false)) (.lit (.bool true)))) (lb := []) (tb := (.pair (.lit (.bool true)) (.lit (.bool false)))) (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))))) (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))))))))⟩⟩ - -theorem fun4 : FunOK program krate flags 4 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 12)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 12)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 4) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 13)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 13) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list .nat), (some 2)), (1, (.adt 0), (some 1)), (0, (.fn [(.adt 0), .nat] (.adt 0)), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, (.adt 0), (some 1)), (0, (.fn [(.adt 0), .nat] (.adt 0)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .nat), (some 4)), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, (.adt 0), (some 1)), (0, (.fn [(.adt 0), .nat] (.adt 0)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 4) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 13)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 13) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.adt 0), .nat] (.adt 0)), (.adt 0), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 13)) (some (.fn 0)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 13) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true)) (Corr.apply (ps := [(.adt 0), .nat]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun5 : FunOK program krate flags 5 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 7) [(.copy (.generated .binding 0)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false), [(2, .nat, (some 2)), (1, (.adt 0), (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.callF (ts := [.nat, (.adt 0), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ - -theorem fun6 : FunOK program krate flags 6 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 14)) none (.block (.mk [(.mk (.bind (.generated .binding 1)) (some .nat) (.copy (.generated .binding 0))), (.mk (.bind (.generated .binding 2)) (some (.list .nat)) (.call (.function 8) [(.copy (.generated .binding 1))] false))] (.cond (.call (.function 9) [(.copy (.generated .binding 1)), (.clone (.generated .binding 2))] false) (.mk [] (.construct (.ok (.list .nat) (.pair .bool .bool)) [(.move (.generated .binding 2))])) (.mk [] (.construct (.err (.list .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))]))))))], (.matchOn (.move (.generated .holder 14)) [(.mk (.ok (.bind (.generated .binding 3))) (.mk [] (.move (.generated .binding 3)))), (.mk (.err .wild) (.mk [] (.construct (.nil .nat) [])))]), [(0, .nat, (some 0))], rfl, rfl, - (Corr.matchArms (st := (.result (.list .nat) (.pair .bool .bool))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.bind (.generated .binding 1)) (some .nat) (.copy (.generated .binding 0))), (.mk (.bind (.generated .binding 2)) (some (.list .nat)) (.call (.function 8) [(.copy (.generated .binding 1))] false))]) (tail := (.cond (.call (.function 9) [(.copy (.generated .binding 1)), (.clone (.generated .binding 2))] false) (.mk [] (.construct (.ok (.list .nat) (.pair .bool .bool)) [(.move (.generated .binding 2))])) (.mk [] (.construct (.err (.list .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))) (Corr.letBind (Corr.var rfl rfl) rfl (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.cond (lc := []) (ce := (.call (.function 9) [(.copy (.generated .binding 1)), (.clone (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [.nat, (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct (.ok (.list .nat) (.pair .bool .bool)) [(.move (.generated .binding 2))])) (lb := []) (tb := (.construct (.err (.list .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])) (Corr.build (ts := [(.list .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl) (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 3))) (Corr.mCons (Γ' := [(4, (.pair .bool .bool), none), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct (.nil .nat) [])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun7 : FunOK program krate flags 7 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 16)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [(.bind (.generated .part 15)), .wild, .wild]) (.mk [] (.move (.generated .part 15))))]))], (.matchOn (.move (.generated .holder 16)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 22)) none (.block (.mk [(.mk (.bind (.generated .operand 20)) none (.block (.mk [(.mk (.bind (.generated .holder 19)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 18))]) (.mk [] (.move (.generated .part 18))))]))] (.matchOn (.move (.generated .holder 19)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 17)), .wild]) (.mk [] (.move (.generated .part 17))))])))), (.mk (.bind (.generated .operand 21)) none (.lit (.nat 3)))] (.call (.runtime .natLt) [(.move (.generated .operand 20)), (.move (.generated .operand 21))] false))))] (.cond (.move (.generated .holder 22)) (.mk [] (.succeed (.construct (.adt 0 0) [(.call (.function 10) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] true), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 23)), .wild]) (.mk [] (.move (.generated .part 23))))]), (.construct (.adt 1 0) [(.block (.mk [(.mk (.bind (.generated .operand 27)) none (.block (.mk [(.mk (.bind (.generated .holder 26)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))]))] (.matchOn (.move (.generated .holder 26)) [(.mk (.adt 1 0 [(.bind (.generated .part 24)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 24))))])))), (.mk (.bind (.generated .operand 28)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] true))), (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.block (.mk [(.mk (.bind (.generated .holder 31)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 30))]) (.mk [] (.move (.generated .part 30))))]))] (.matchOn (.move (.generated .holder 31)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 29)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 29))))])))), (.mk (.bind (.generated .operand 33)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] true))), (.block (.mk [(.mk (.bind (.generated .holder 36)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 35))]) (.mk [] (.move (.generated .part 35))))]))] (.matchOn (.move (.generated .holder 36)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 34)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 34))))]))), (.block (.mk [(.mk (.bind (.generated .holder 39)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 38))]) (.mk [] (.move (.generated .part 38))))]))] (.matchOn (.move (.generated .holder 39)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 37)), .wild, .wild]) (.mk [] (.move (.generated .part 37))))]))), (.block (.mk [(.mk (.bind (.generated .operand 43)) none (.block (.mk [(.mk (.bind (.generated .holder 42)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 41))]) (.mk [] (.move (.generated .part 41))))]))] (.matchOn (.move (.generated .holder 42)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 40)), .wild]) (.mk [] (.move (.generated .part 40))))])))), (.mk (.bind (.generated .operand 44)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 43)), (.move (.generated .operand 44))] true))), (.block (.mk [(.mk (.bind (.generated .holder 47)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 46))]) (.mk [] (.move (.generated .part 46))))]))] (.matchOn (.move (.generated .holder 47)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))])))])]))) (.mk [] (.succeed (.construct (.adt 0 0) [(.construct (.none .nat) []), (.lit (.bool true)), (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))])])))))), (.mk (.some .wild) (.mk [] (.succeed (.move (.generated .binding 1)))))]), [(2, .nat, (some 2)), (1, (.adt 0), (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.fieldRead (ts := [(.option .nat), .bool, (.adt 1)]) (rd := (.move (.generated .part 15))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.adt 0), (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 22)) none (.block (.mk [(.mk (.bind (.generated .operand 20)) none (.block (.mk [(.mk (.bind (.generated .holder 19)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 18))]) (.mk [] (.move (.generated .part 18))))]))] (.matchOn (.move (.generated .holder 19)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 17)), .wild]) (.mk [] (.move (.generated .part 17))))])))), (.mk (.bind (.generated .operand 21)) none (.lit (.nat 3)))] (.call (.runtime .natLt) [(.move (.generated .operand 20)), (.move (.generated .operand 21))] false))))]) (tail := (.cond (.move (.generated .holder 22)) (.mk [] (.succeed (.construct (.adt 0 0) [(.call (.function 10) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] true), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 23)), .wild]) (.mk [] (.move (.generated .part 23))))]), (.construct (.adt 1 0) [(.block (.mk [(.mk (.bind (.generated .operand 27)) none (.block (.mk [(.mk (.bind (.generated .holder 26)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))]))] (.matchOn (.move (.generated .holder 26)) [(.mk (.adt 1 0 [(.bind (.generated .part 24)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 24))))])))), (.mk (.bind (.generated .operand 28)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] true))), (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.block (.mk [(.mk (.bind (.generated .holder 31)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 30))]) (.mk [] (.move (.generated .part 30))))]))] (.matchOn (.move (.generated .holder 31)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 29)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 29))))])))), (.mk (.bind (.generated .operand 33)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] true))), (.block (.mk [(.mk (.bind (.generated .holder 36)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 35))]) (.mk [] (.move (.generated .part 35))))]))] (.matchOn (.move (.generated .holder 36)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 34)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 34))))]))), (.block (.mk [(.mk (.bind (.generated .holder 39)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 38))]) (.mk [] (.move (.generated .part 38))))]))] (.matchOn (.move (.generated .holder 39)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 37)), .wild, .wild]) (.mk [] (.move (.generated .part 37))))]))), (.block (.mk [(.mk (.bind (.generated .operand 43)) none (.block (.mk [(.mk (.bind (.generated .holder 42)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 41))]) (.mk [] (.move (.generated .part 41))))]))] (.matchOn (.move (.generated .holder 42)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 40)), .wild]) (.mk [] (.move (.generated .part 40))))])))), (.mk (.bind (.generated .operand 44)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 43)), (.move (.generated .operand 44))] true))), (.block (.mk [(.mk (.bind (.generated .holder 47)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 46))]) (.mk [] (.move (.generated .part 46))))]))] (.matchOn (.move (.generated .holder 47)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))])))])]))) (.mk [] (.succeed (.construct (.adt 0 0) [(.construct (.none .nat) []), (.lit (.bool true)), (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))])]))))) (Corr.mCons (Γ' := [(3, .nat, none), (2, .nat, (some 2)), (1, (.adt 0), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl (Corr.matchBool (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 20)) none (.block (.mk [(.mk (.bind (.generated .holder 19)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 18))]) (.mk [] (.move (.generated .part 18))))]))] (.matchOn (.move (.generated .holder 19)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 17)), .wild]) (.mk [] (.move (.generated .part 17))))])))), (.mk (.bind (.generated .operand 21)) none (.lit (.nat 3)))]) (tail := (.call (.runtime .natLt) [(.move (.generated .operand 20)), (.move (.generated .operand 21))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 19)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 18))]) (.mk [] (.move (.generated .part 18))))]))]) (tail := (.matchOn (.move (.generated .holder 19)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 17)), .wild]) (.mk [] (.move (.generated .part 17))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 17))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.option .nat), .bool, (.adt 1)]) (rd := (.move (.generated .part 18))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl (Corr.kIf (la := []) (ta := (.succeed (.construct (.adt 0 0) [(.call (.function 10) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] true), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 23)), .wild]) (.mk [] (.move (.generated .part 23))))]), (.construct (.adt 1 0) [(.block (.mk [(.mk (.bind (.generated .operand 27)) none (.block (.mk [(.mk (.bind (.generated .holder 26)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))]))] (.matchOn (.move (.generated .holder 26)) [(.mk (.adt 1 0 [(.bind (.generated .part 24)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 24))))])))), (.mk (.bind (.generated .operand 28)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] true))), (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.block (.mk [(.mk (.bind (.generated .holder 31)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 30))]) (.mk [] (.move (.generated .part 30))))]))] (.matchOn (.move (.generated .holder 31)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 29)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 29))))])))), (.mk (.bind (.generated .operand 33)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] true))), (.block (.mk [(.mk (.bind (.generated .holder 36)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 35))]) (.mk [] (.move (.generated .part 35))))]))] (.matchOn (.move (.generated .holder 36)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 34)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 34))))]))), (.block (.mk [(.mk (.bind (.generated .holder 39)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 38))]) (.mk [] (.move (.generated .part 38))))]))] (.matchOn (.move (.generated .holder 39)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 37)), .wild, .wild]) (.mk [] (.move (.generated .part 37))))]))), (.block (.mk [(.mk (.bind (.generated .operand 43)) none (.block (.mk [(.mk (.bind (.generated .holder 42)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 41))]) (.mk [] (.move (.generated .part 41))))]))] (.matchOn (.move (.generated .holder 42)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 40)), .wild]) (.mk [] (.move (.generated .part 40))))])))), (.mk (.bind (.generated .operand 44)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 43)), (.move (.generated .operand 44))] true))), (.block (.mk [(.mk (.bind (.generated .holder 47)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 46))]) (.mk [] (.move (.generated .part 46))))]))] (.matchOn (.move (.generated .holder 47)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))])))])]))) (lb := []) (tb := (.succeed (.construct (.adt 0 0) [(.construct (.none .nat) []), (.lit (.bool true)), (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))])]))) (Corr.fOfB (Corr.build (ts := [(.option .nat), .bool, (.adt 1)]) (mask := [false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.option .nat), .bool, (.adt 1)]) (rd := (.move (.generated .part 23))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 27)) none (.block (.mk [(.mk (.bind (.generated .holder 26)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))]))] (.matchOn (.move (.generated .holder 26)) [(.mk (.adt 1 0 [(.bind (.generated .part 24)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 24))))])))), (.mk (.bind (.generated .operand 28)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 26)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))]))]) (tail := (.matchOn (.move (.generated .holder 26)) [(.mk (.adt 1 0 [(.bind (.generated .part 24)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 24))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 24))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.option .nat), .bool, (.adt 1)]) (rd := (.move (.generated .part 25))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 32)) none (.block (.mk [(.mk (.bind (.generated .holder 31)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 30))]) (.mk [] (.move (.generated .part 30))))]))] (.matchOn (.move (.generated .holder 31)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 29)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 29))))])))), (.mk (.bind (.generated .operand 33)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 31)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 30))]) (.mk [] (.move (.generated .part 30))))]))]) (tail := (.matchOn (.move (.generated .holder 31)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 29)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 29))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 29))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.option .nat), .bool, (.adt 1)]) (rd := (.move (.generated .part 30))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 36)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 35))]) (.mk [] (.move (.generated .part 35))))]))]) (tail := (.matchOn (.move (.generated .holder 36)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 34)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 34))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 34))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.option .nat), .bool, (.adt 1)]) (rd := (.move (.generated .part 35))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 39)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 38))]) (.mk [] (.move (.generated .part 38))))]))]) (tail := (.matchOn (.move (.generated .holder 39)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 37)), .wild, .wild]) (.mk [] (.move (.generated .part 37))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 37))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.option .nat), .bool, (.adt 1)]) (rd := (.move (.generated .part 38))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 43)) none (.block (.mk [(.mk (.bind (.generated .holder 42)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 41))]) (.mk [] (.move (.generated .part 41))))]))] (.matchOn (.move (.generated .holder 42)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 40)), .wild]) (.mk [] (.move (.generated .part 40))))])))), (.mk (.bind (.generated .operand 44)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 43)), (.move (.generated .operand 44))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 42)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 41))]) (.mk [] (.move (.generated .part 41))))]))]) (tail := (.matchOn (.move (.generated .holder 42)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 40)), .wild]) (.mk [] (.move (.generated .part 40))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 40))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.option .nat), .bool, (.adt 1)]) (rd := (.move (.generated .part 41))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 47)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 46))]) (.mk [] (.move (.generated .part 46))))]))]) (tail := (.matchOn (.move (.generated .holder 47)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 45))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.option .nat), .bool, (.adt 1)]) (rd := (.move (.generated .part 46))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))) rfl)) (Corr.lNil))))) rfl)) (Corr.fOfB (Corr.build (ts := [(.option .nat), .bool, (.adt 1)]) (mask := [false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.option .nat), .bool, (.adt 1)]) (rd := (.move (.generated .part 48))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl))))) rfl rfl rfl)⟩⟩ - -theorem fun8 : FunOK program krate flags 8 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 11) [(.copy (.generated .binding 0))] false), [(0, .nat, (some 0))], rfl, rfl, - (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun9 : FunOK program krate flags 9 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 50)) none (.block (.mk [(.mk (.bind (.generated .operand 49)) none (.move (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 49))] false)))), (.mk (.bind (.generated .operand 51)) none (.lit (.nat 4)))], (.call (.runtime .natLe) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] false), [(1, (.list .nat), (some 1)), (0, .nat, none)], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 49)) none (.move (.generated .binding 1)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 49))] false)) (Corr.prim (ts := [(.list .nat)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun10 : FunOK program krate flags 10 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 12) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true) (.mk [] (.succeed (.construct .some [(.copy (.generated .binding 1))]))) (.mk [] (.succeed (.construct (.none .nat) [])))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 12) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true)) (lk := []) (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.copy (.generated .binding 1))]))) (lb := []) (tb := (.succeed (.construct (.none .nat) []))) (Corr.fOfB (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ - -theorem fun11 : FunOK program krate flags 11 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 52)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 53)) none (.lit (.nat 10)))] (.call (.runtime .natSub) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false))), (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 54)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 55)) none (.lit (.nat 20)))] (.call (.runtime .natSub) [(.move (.generated .operand 54)), (.move (.generated .operand 55))] false))), (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 56)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 57)) none (.lit (.nat 30)))] (.call (.runtime .natSub) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] false))), (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 58)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 59)) none (.lit (.nat 50)))] (.call (.runtime .natSub) [(.move (.generated .operand 58)), (.move (.generated .operand 59))] false))), (.construct (.nil .nat) [])])])])]), [(0, .nat, (some 0))], rfl, rfl, - (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 52)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 53)) none (.lit (.nat 10)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 54)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 55)) none (.lit (.nat 20)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 54)), (.move (.generated .operand 55))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 56)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 57)) none (.lit (.nat 30)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 58)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 59)) none (.lit (.nat 50)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 58)), (.move (.generated .operand 59))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)⟩⟩ - -theorem fun12 : FunOK program krate flags 12 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 62)) none (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 61)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] true)))), (.mk (.bind (.generated .operand 63)) none (.copy (.generated .binding 0)))], (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 62)), (.move (.generated .operand 63))] false)), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.fOfB (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 60)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 61)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | 4 => exact fun4 - | 5 => exact fun5 - | 6 => exact fun6 - | 7 => exact fun7 - | 8 => exact fun8 - | 9 => exact fun9 - | 10 => exact fun10 - | 11 => exact fun11 - | 12 => exact fun12 - | _ + 13 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.RustStd diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R5.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R5.lean deleted file mode 100644 index 39e595b63..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R5.lean +++ /dev/null @@ -1,382 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Reasoning.Budget -import Reasoning.Clinic -import Reasoning.Main -import Reasoning.Planner -import Reasoning.Screening -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [{ constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }, - { constructors := [[(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]] }, - { constructors := [[], [], [], [], [], [], [], []] }], functions := (( - { parameters := [0, 1, 2, 3, 4, 5], types := [.nat, .nat, .nat, .nat, .nat, .nat], result := .nat, - body := (.«match» .nat (.call 1 [(.build (.adt 0) (.adt 0) [(.var 0), (.var 1), (.var 2), (.var 3), (.var 4), (.var 5)])]) [(.arm .ok [6] (.var 6)), (.arm .error [7] (.value .nat (.nat 9)))]) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.result .nat (.pair .bool .bool)), - body := (.«let» 1 (.pair (.adt 1) .bool) (.call 2 [(.var 0)]) (.«match» (.result .nat (.pair .bool .bool)) (.second (.var 1)) [(.arm .true [] (.call 3 [(.var 0), (.first (.var 1))])), (.arm .false [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))])) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.pair (.adt 1) .bool), - body := (.call 4 [(.closure 5 []), (.value .nat (.nat 11)), (.call 6 [(.var 0)])]) }) ::( - { parameters := [0, 1], types := [(.adt 0), (.adt 1)], result := (.result .nat (.pair .bool .bool)), - body := (.«match» (.result .nat (.pair .bool .bool)) (.call 7 [(.var 0), (.var 1)]) [(.arm .some [2] (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)])), (.arm .none [] (.«match» (.result .nat (.pair .bool .bool)) (.call 8 [(.var 1)]) [(.arm .some [3] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])), (.arm .none [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])]))]))]) }) ::( - { parameters := [0, 1, 2], types := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)], result := (.pair (.adt 1) .bool), - body := (.«match» (.pair (.adt 1) .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair (.adt 1) .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 4 [(.var 0), (.var 3), (.var 4)]))]))]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.«match» (.option (.adt 1)) (.call 9 [(.var 0)]) [(.arm .none [] (.build .none (.option (.adt 1)) [])), (.arm .some [1] (.call 10 [(.var 0), (.var 1)]))]) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.var 0), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0))]) }) ::( - { parameters := [0, 1], types := [(.adt 0), (.adt 1)], result := (.option .nat), - body := (.call 8 [(.var 1)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option .nat), - body := (.build .some (.option .nat) [(.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 2)), - body := (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.cond (.call 11 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 0) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [1] (.build .some (.option (.adt 2)) [(.var 1)])), (.arm .none [] (.cond (.call 12 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 1) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]) [(.arm .some [2] (.build .some (.option (.adt 2)) [(.var 2)])), (.arm .none [] (.«match» (.option (.adt 2)) (.cond (.call 13 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 2) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [3] (.build .some (.option (.adt 2)) [(.var 3)])), (.arm .none [] (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 3) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]))]) [(.arm .some [4] (.build .some (.option (.adt 2)) [(.var 4)])), (.arm .none [] (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 4) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [5] (.build .some (.option (.adt 2)) [(.var 5)])), (.arm .none [] (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 5) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]) [(.arm .some [6] (.build .some (.option (.adt 2)) [(.var 6)])), (.arm .none [] (.«match» (.option (.adt 2)) (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 6) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [7] (.build .some (.option (.adt 2)) [(.var 7)])), (.arm .none [] (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 7) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]))]))]) }) ::( - { parameters := [0, 1], types := [(.adt 1), (.adt 2)], result := (.option (.adt 1)), - body := (.«match» (.option (.adt 1)) (.var 1) [(.arm (.adt 0) [] (.call 19 [(.var 0)])), (.arm (.adt 1) [] (.call 20 [(.var 0)])), (.arm (.adt 2) [] (.call 21 [(.var 0)])), (.arm (.adt 3) [] (.call 22 [(.var 0)])), (.arm (.adt 4) [] (.call 23 [(.var 0)])), (.arm (.adt 5) [] (.call 24 [(.var 0)])), (.arm (.adt 6) [] (.call 25 [(.var 0)])), (.arm (.adt 7) [] (.call 26 [(.var 0)]))]) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 1), (.value .nat (.nat 0))]) (.call 27 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 2), (.value .nat (.nat 0))]) (.call 28 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 3), (.value .nat (.nat 0))]) (.call 29 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 4), (.value .nat (.nat 0))]) (.call 30 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 0))]) (.prim .natLe [(.value .nat (.nat 2)), (.prim .natAdd [(.prim .natAdd [(.prim .natAdd [(.field (.var 0) 1), (.field (.var 0) 2)]), (.field (.var 0) 3)]), (.field (.var 0) 4)])]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.field (.var 0) 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.call 31 [(.field (.var 0) 0)]) (.build .false .bool [])) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natLt [(.field (.var 0) 8), (.value .nat (.nat 3))]) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 0))]) (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 2))]) (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 1))]) (.build .false .bool [])))) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 11 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 32 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 12 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 33 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 13 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 34 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 35 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 36 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 37 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 38 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 39 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 380)), (.field (.var 0) 0)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 90)), (.field (.var 0) 1)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 20)), (.field (.var 0) 2)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 12)), (.field (.var 0) 3)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.field (.var 0) 4), (.value .nat (.nat 90))]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.value .nat (.nat 1)), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.value .nat (.nat 1)), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.value .nat (.nat 1)), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.value .nat (.nat 1)), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.value .nat (.nat 1)), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.value .nat (.nat 1)), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.value .nat (.nat 1)), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.prim .natAdd [(.field (.var 0) 8), (.value .nat (.nat 1))])]) }) ::[]) } - -def __enc_0 (__s : (Reasoning.Clinic.Vitals)) : _root_.LexLeanTarget.TargetSyntax.Value := - _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).infection)] - -def __enc_1 (__s : (Reasoning.Clinic.Chart)) : _root_.LexLeanTarget.TargetSyntax.Value := - _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(__enc_0 (__s).vitals), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).fever), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).tachycardia), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).tachypnea), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).leukocytosis), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).sirs), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).sepsis), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).shock), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).level)] - -def __enc_2 : (Reasoning.Main.Grade.Step) -> _root_.LexLeanTarget.TargetSyntax.Value - | Reasoning.Main.Grade.Step.Fever => _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [] - | Reasoning.Main.Grade.Step.Tachycardia => _root_.LexLeanTarget.TargetSyntax.Value.adt 1 [] - | Reasoning.Main.Grade.Step.Tachypnea => _root_.LexLeanTarget.TargetSyntax.Value.adt 2 [] - | Reasoning.Main.Grade.Step.Leukocytosis => _root_.LexLeanTarget.TargetSyntax.Value.adt 3 [] - | Reasoning.Main.Grade.Step.Sirs => _root_.LexLeanTarget.TargetSyntax.Value.adt 4 [] - | Reasoning.Main.Grade.Step.Sepsis => _root_.LexLeanTarget.TargetSyntax.Value.adt 5 [] - | Reasoning.Main.Grade.Step.Shock => _root_.LexLeanTarget.TargetSyntax.Value.adt 6 [] - | Reasoning.Main.Grade.Step.Escalate => _root_.LexLeanTarget.TargetSyntax.Value.adt 7 [] - -def __fits_27 (v : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_27 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 27 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_27 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.feverish v))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (380 : Nat) (v).temperature)) - -def __fits_11 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).fever (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_27 ((s).vitals))) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.feverish in -theorem __rel_11 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 11 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_11 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Fever.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_27 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.feverish ((s).vitals)))) (Nat.beq (s).fever (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).fever (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_27 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_28 (v : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_28 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 28 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_28 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.tachycardic v))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (90 : Nat) (v).heartRate)) - -def __fits_12 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).tachycardia (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_28 ((s).vitals))) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.tachycardic in -theorem __rel_12 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 12 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_12 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Tachycardia.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_28 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.tachycardic ((s).vitals)))) (Nat.beq (s).tachycardia (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).tachycardia (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_28 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_29 (v : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_29 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 29 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_29 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.tachypneic v))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (20 : Nat) (v).respiratoryRate)) - -def __fits_13 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).tachypnea (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_29 ((s).vitals))) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.tachypneic in -theorem __rel_13 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 13 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_13 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Tachypnea.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_29 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.tachypneic ((s).vitals)))) (Nat.beq (s).tachypnea (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).tachypnea (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_29 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_30 (v : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_30 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 30 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_30 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.leukocytic v))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (12 : Nat) (v).whiteCells)) - -def __fits_14 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).leukocytosis (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_30 ((s).vitals))) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.leukocytic in -theorem __rel_14 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 14 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_14 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Leukocytosis.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_30 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.leukocytic ((s).vitals)))) (Nat.beq (s).leukocytosis (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).leukocytosis (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_30 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_15 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sirs (0 : Nat)) then ((Bool.true && (((((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).fever + (s).tachycardia) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt (((s).fever + (s).tachycardia) + (s).tachypnea) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis) 18446744073709551616)) && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) - -theorem __rel_15 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 15 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_15 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Sirs.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (((((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).fever + (s).tachycardia) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt (((s).fever + (s).tachycardia) + (s).tachypnea) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis) 18446744073709551616)) && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.ble (2 : Nat) ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis)))) (Nat.beq (s).sirs (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sirs (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (s).fever (s).tachycardia)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((s).fever + (s).tachycardia) (s).tachypnea)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (((s).fever + (s).tachycardia) + (s).tachypnea) (s).leukocytosis)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe (2 : Nat) ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_16 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sepsis (0 : Nat)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sirs (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) - -theorem __rel_16 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 16 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_16 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Sepsis.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sirs (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.beq (s).sirs (1 : Nat)) && (Nat.beq ((s).vitals).infection (1 : Nat))))) (Nat.beq (s).sepsis (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sepsis (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq ((s).vitals).infection (1 : Nat)))) (Nat.beq (s).sirs (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sirs (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq ((s).vitals).infection (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_31 (v : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_31 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 31 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_31 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.hypotensive v))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (v).systolic (90 : Nat))) - -def __fits_17 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).shock (0 : Nat)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sepsis (1 : Nat)) then ((Bool.true && Bool.true) && (__fits_31 ((s).vitals))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.hypotensive in -theorem __rel_17 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 17 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_17 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Shock.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sepsis (1 : Nat)) then ((Bool.true && Bool.true) && (__fits_31 ((s).vitals))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.beq (s).sepsis (1 : Nat)) && (Reasoning.Clinic.hypotensive ((s).vitals))))) (Nat.beq (s).shock (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).shock (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_31 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.hypotensive ((s).vitals)))) (Nat.beq (s).sepsis (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sepsis (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_31 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_18 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.blt (s).level (3 : Nat)) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (0 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))))))) else (Bool.true && Bool.true))) - -theorem __rel_18 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 18 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_18 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Escalate.guard s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (0 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))))))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) || (((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) || ((Nat.beq (s).level (2 : Nat)) && (Nat.beq (s).shock (1 : Nat))))))) (Nat.blt (s).level (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (s).level (3 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)))))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b || (((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) || ((Nat.beq (s).level (2 : Nat)) && (Nat.beq (s).shock (1 : Nat)))))) ((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq (s).sirs (1 : Nat)))) (Nat.beq (s).level (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).level (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sirs (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b || ((Nat.beq (s).level (2 : Nat)) && (Nat.beq (s).shock (1 : Nat))))) ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq (s).sepsis (1 : Nat)))) (Nat.beq (s).level (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).level (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sepsis (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq (s).shock (1 : Nat)))) (Nat.beq (s).level (2 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).level (2 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).shock (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))))))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_9 (_ys : (Reasoning.Clinic.Chart)) : Bool := - ((((((Bool.true && Bool.true) && (__fits_11 (_ys))) && (if (Reasoning.Clinic.Fever.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Fever : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_12 (_ys))) && (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) && (match (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Fever : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Tachycardia : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_13 (_ys))) && (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Tachypnea : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_14 (_ys))) && (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))) && (match (match (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Fever : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Tachycardia : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Tachypnea : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Leukocytosis : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && (__fits_15 (_ys))) && (if (Reasoning.Clinic.Sirs.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Sirs : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_16 (_ys))) && (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) && (match (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Sirs : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Sepsis : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_17 (_ys))) && (if (Reasoning.Clinic.Shock.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Shock : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_18 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))))) - -attribute [local irreducible] Reasoning.Clinic.Escalate.guard Reasoning.Clinic.Fever.guard Reasoning.Clinic.Leukocytosis.guard Reasoning.Clinic.Sepsis.guard Reasoning.Clinic.Shock.guard Reasoning.Clinic.Sirs.guard Reasoning.Clinic.Tachycardia.guard Reasoning.Clinic.Tachypnea.guard in -theorem __rel_9 (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 9 [(__enc_1 _ys)] (_root_.LexLeanPreservation.Rel (__fits_9 _ys) ((_root_.LexLeanPreservation.encOption __enc_2) (Reasoning.Main.Grade.select _ys))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && (__fits_15 (_ys))) && (if (Reasoning.Clinic.Sirs.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Sirs : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_16 (_ys))) && (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) && (match (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Sirs : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Sepsis : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_17 (_ys))) && (if (Reasoning.Clinic.Shock.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Shock : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_18 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (match (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Sirs : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Sepsis : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Shock : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Escalate.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Escalate : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))))))) (match (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Fever : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Tachycardia : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Tachypnea : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Leukocytosis : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_13 (_ys))) && (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Tachypnea : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_14 (_ys))) && (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Tachypnea : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Leukocytosis : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))))) (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Fever : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Tachycardia : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_12 (_ys))) && (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Tachycardia : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))))) (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Fever : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Main.Grade.Step.Fever : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) (Reasoning.Clinic.Fever.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_11 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Main.Grade.Step.Tachycardia : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) (Reasoning.Clinic.Tachycardia.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_12 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_14 (_ys))) && (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Leukocytosis : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))))) (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Tachypnea : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Main.Grade.Step.Tachypnea : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) (Reasoning.Clinic.Tachypnea.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_13 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Main.Grade.Step.Leukocytosis : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) (Reasoning.Clinic.Leukocytosis.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_14 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))))))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_17 (_ys))) && (if (Reasoning.Clinic.Shock.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Shock : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_18 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Shock : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Escalate.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Escalate : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))))) (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Sirs : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Sepsis : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_16 (_ys))) && (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Sepsis : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))))) (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Sirs : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Main.Grade.Step.Sirs : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) (Reasoning.Clinic.Sirs.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_15 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Main.Grade.Step.Sepsis : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) (Reasoning.Clinic.Sepsis.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_16 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_18 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Escalate.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Escalate : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))))) (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Shock : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Main.Grade.Step.Shock : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) (Reasoning.Clinic.Shock.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_17 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Main.Grade.Step.Escalate : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) (Reasoning.Clinic.Escalate.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_18 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))))))))))) - -def __fits_32 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_32 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 32 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_32 s) (__enc_1 (Reasoning.Clinic.Fever.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_19 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_11 (s))) && (if (Reasoning.Clinic.Fever.guard (s)) then ((((Bool.true && Bool.true) && (__fits_32 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Fever.conclusion Reasoning.Clinic.Fever.guard in -theorem __rel_19 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 19 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_19 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Fever.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_32 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Fever.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Fever.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_11 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_32 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_33 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_33 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 33 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_33 s) (__enc_1 (Reasoning.Clinic.Tachycardia.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_20 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_12 (s))) && (if (Reasoning.Clinic.Tachycardia.guard (s)) then ((((Bool.true && Bool.true) && (__fits_33 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Tachycardia.conclusion Reasoning.Clinic.Tachycardia.guard in -theorem __rel_20 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 20 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_20 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Tachycardia.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_33 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Tachycardia.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Tachycardia.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_12 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_33 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_34 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_34 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 34 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_34 s) (__enc_1 (Reasoning.Clinic.Tachypnea.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_21 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_13 (s))) && (if (Reasoning.Clinic.Tachypnea.guard (s)) then ((((Bool.true && Bool.true) && (__fits_34 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Tachypnea.conclusion Reasoning.Clinic.Tachypnea.guard in -theorem __rel_21 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 21 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_21 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Tachypnea.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_34 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Tachypnea.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Tachypnea.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_13 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_34 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_35 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_35 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 35 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_35 s) (__enc_1 (Reasoning.Clinic.Leukocytosis.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_22 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_14 (s))) && (if (Reasoning.Clinic.Leukocytosis.guard (s)) then ((((Bool.true && Bool.true) && (__fits_35 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Leukocytosis.conclusion Reasoning.Clinic.Leukocytosis.guard in -theorem __rel_22 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 22 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_22 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Leukocytosis.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_35 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Leukocytosis.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Leukocytosis.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_14 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_35 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_36 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_36 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 36 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_36 s) (__enc_1 (Reasoning.Clinic.Sirs.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_23 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_15 (s))) && (if (Reasoning.Clinic.Sirs.guard (s)) then ((((Bool.true && Bool.true) && (__fits_36 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Sirs.conclusion Reasoning.Clinic.Sirs.guard in -theorem __rel_23 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 23 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_23 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Sirs.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_36 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Sirs.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Sirs.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_15 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_36 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_37 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_37 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 37 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_37 s) (__enc_1 (Reasoning.Clinic.Sepsis.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_24 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_16 (s))) && (if (Reasoning.Clinic.Sepsis.guard (s)) then ((((Bool.true && Bool.true) && (__fits_37 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Sepsis.conclusion Reasoning.Clinic.Sepsis.guard in -theorem __rel_24 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 24 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_24 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Sepsis.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_37 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Sepsis.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Sepsis.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_16 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_37 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_38 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_38 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 38 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_38 s) (__enc_1 (Reasoning.Clinic.Shock.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_25 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_17 (s))) && (if (Reasoning.Clinic.Shock.guard (s)) then ((((Bool.true && Bool.true) && (__fits_38 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Shock.conclusion Reasoning.Clinic.Shock.guard in -theorem __rel_25 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 25 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_25 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Shock.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_38 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Shock.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Shock.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_17 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_38 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_39 (s : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).level + (1 : Nat)) 18446744073709551616)) && Bool.true))))))))) && Bool.true) - -theorem __rel_39 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 39 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_39 s) (__enc_1 (Reasoning.Clinic.Escalate.conclusion s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (s).level (1 : Nat))) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_26 (s : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_18 (s))) && (if (Reasoning.Clinic.Escalate.guard (s)) then ((((Bool.true && Bool.true) && (__fits_39 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Clinic.Escalate.conclusion Reasoning.Clinic.Escalate.guard in -theorem __rel_26 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 26 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_26 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Escalate.apply s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_39 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Escalate.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Escalate.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_18 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_39 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_10 (_ys : (Reasoning.Clinic.Chart)) (_ystep : (Reasoning.Main.Grade.Step)) : Bool := - (Bool.true && (match _ystep with | Reasoning.Main.Grade.Step.Fever => ((Bool.true && Bool.true) && (__fits_19 (_ys))) | Reasoning.Main.Grade.Step.Tachycardia => ((Bool.true && Bool.true) && (__fits_20 (_ys))) | Reasoning.Main.Grade.Step.Tachypnea => ((Bool.true && Bool.true) && (__fits_21 (_ys))) | Reasoning.Main.Grade.Step.Leukocytosis => ((Bool.true && Bool.true) && (__fits_22 (_ys))) | Reasoning.Main.Grade.Step.Sirs => ((Bool.true && Bool.true) && (__fits_23 (_ys))) | Reasoning.Main.Grade.Step.Sepsis => ((Bool.true && Bool.true) && (__fits_24 (_ys))) | Reasoning.Main.Grade.Step.Shock => ((Bool.true && Bool.true) && (__fits_25 (_ys))) | Reasoning.Main.Grade.Step.Escalate => ((Bool.true && Bool.true) && (__fits_26 (_ys))))) - -attribute [local irreducible] Reasoning.Clinic.Escalate.apply Reasoning.Clinic.Fever.apply Reasoning.Clinic.Leukocytosis.apply Reasoning.Clinic.Sepsis.apply Reasoning.Clinic.Shock.apply Reasoning.Clinic.Sirs.apply Reasoning.Clinic.Tachycardia.apply Reasoning.Clinic.Tachypnea.apply in -theorem __rel_10 (_ys : (Reasoning.Clinic.Chart)) (_ystep : (Reasoning.Main.Grade.Step)) : _root_.LexLeanPreservation.FunRel __prog 10 [(__enc_1 _ys), (__enc_2 _ystep)] (_root_.LexLeanPreservation.Rel (__fits_10 _ys _ystep) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Main.Grade.fire _ys _ystep))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_2 (fun (__a : (Reasoning.Main.Grade.Step)) => (match __a with | Reasoning.Main.Grade.Step.Fever => ((Bool.true && Bool.true) && (__fits_19 (_ys))) | Reasoning.Main.Grade.Step.Tachycardia => ((Bool.true && Bool.true) && (__fits_20 (_ys))) | Reasoning.Main.Grade.Step.Tachypnea => ((Bool.true && Bool.true) && (__fits_21 (_ys))) | Reasoning.Main.Grade.Step.Leukocytosis => ((Bool.true && Bool.true) && (__fits_22 (_ys))) | Reasoning.Main.Grade.Step.Sirs => ((Bool.true && Bool.true) && (__fits_23 (_ys))) | Reasoning.Main.Grade.Step.Sepsis => ((Bool.true && Bool.true) && (__fits_24 (_ys))) | Reasoning.Main.Grade.Step.Shock => ((Bool.true && Bool.true) && (__fits_25 (_ys))) | Reasoning.Main.Grade.Step.Escalate => ((Bool.true && Bool.true) && (__fits_26 (_ys))))) (fun (__a : (Reasoning.Main.Grade.Step)) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Reasoning.Main.Grade.Step.Fever => (Reasoning.Clinic.Fever.apply (_ys)) | Reasoning.Main.Grade.Step.Tachycardia => (Reasoning.Clinic.Tachycardia.apply (_ys)) | Reasoning.Main.Grade.Step.Tachypnea => (Reasoning.Clinic.Tachypnea.apply (_ys)) | Reasoning.Main.Grade.Step.Leukocytosis => (Reasoning.Clinic.Leukocytosis.apply (_ys)) | Reasoning.Main.Grade.Step.Sirs => (Reasoning.Clinic.Sirs.apply (_ys)) | Reasoning.Main.Grade.Step.Sepsis => (Reasoning.Clinic.Sepsis.apply (_ys)) | Reasoning.Main.Grade.Step.Shock => (Reasoning.Clinic.Shock.apply (_ys)) | Reasoning.Main.Grade.Step.Escalate => (Reasoning.Clinic.Escalate.apply (_ys)))) _ystep (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Reasoning.Main.Grade.Step)) _ => match __a with | Reasoning.Main.Grade.Step.Fever => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_19 (_ys)))) | Reasoning.Main.Grade.Step.Tachycardia => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_20 (_ys))))) | Reasoning.Main.Grade.Step.Tachypnea => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_21 (_ys)))))) | Reasoning.Main.Grade.Step.Leukocytosis => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_22 (_ys))))))) | Reasoning.Main.Grade.Step.Sirs => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_23 (_ys)))))))) | Reasoning.Main.Grade.Step.Sepsis => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_24 (_ys))))))))) | Reasoning.Main.Grade.Step.Shock => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_25 (_ys)))))))))) | Reasoning.Main.Grade.Step.Escalate => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_26 (_ys))))))))))))) - -def __fits_5 (_ys : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && Bool.true) && (__fits_9 (_ys))) && (match (Reasoning.Main.Grade.select (_ys)) with | Option.none => (Bool.true && Bool.true) | Option.some _ystep => ((Bool.true && (Bool.true && Bool.true)) && (__fits_10 (_ys) (_ystep))))) - -attribute [local irreducible] Reasoning.Main.Grade.fire Reasoning.Main.Grade.select in -theorem __rel_5 (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 5 [(__enc_1 _ys)] (_root_.LexLeanPreservation.Rel (__fits_5 _ys) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Main.Grade.next _ys))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (match __a with | Option.none => (Bool.true && Bool.true) | Option.some _ystep => ((Bool.true && (Bool.true && Bool.true)) && (__fits_10 (_ys) (_ystep))))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Option.none => (Option.none : (Option (Reasoning.Clinic.Chart))) | Option.some _ystep => (Reasoning.Main.Grade.fire (_ys) (_ystep)))) (Reasoning.Main.Grade.select (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_9 (_ys))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | Option.some _ystep => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_10 (_ys) (_ystep))))))) - -def __fits_6 (v : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) - -theorem __rel_6 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 6 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_6 v) (__enc_1 (Reasoning.Main.Grade.observe v))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) - -def __fits_2 (v : (Reasoning.Clinic.Vitals)) : Bool := - ((Bool.true && (Bool.true && (((Bool.true && Bool.true) && (__fits_6 (v))) && Bool.true))) && (_root_.LexLeanPreservation.untilFits (fun (__p0 : (Reasoning.Clinic.Chart)) => __fits_5 __p0) ((Reasoning.Main.Grade.next)) ((11 : Nat)) ((Reasoning.Main.Grade.observe (v))))) - -attribute [local irreducible] Reasoning.Main.Grade.observe in -theorem __rel_2 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 2 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_2 v) ((_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.bool) (Reasoning.Main.Grade.saturate v))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_6 (v))) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_iterateUntil (es := __enc_1) (_root_.LexLeanPreservation.optEnc __enc_1) (fun _ => rfl) (_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.bool) (fun _ => rfl) ((Reasoning.Main.Grade.next)) (fun (__p0 : (Reasoning.Clinic.Chart)) => __fits_5 __p0) 5 [] (fun (__p0 : (Reasoning.Clinic.Chart)) => __rel_5 __p0) (Reasoning.Main.LexLeanCollections.iterateUntil ((Reasoning.Main.Grade.next))) (fun _ => rfl) (fun _ _ __h => by simp only [Reasoning.Main.LexLeanCollections.iterateUntil, __h]) (fun _ _ _ __h => by simp only [Reasoning.Main.LexLeanCollections.iterateUntil, __h]) (p := __prog) (fi := 4) (ts := (.adt 1)) rfl ((11 : Nat)) ((Reasoning.Main.Grade.observe (v))))) - -def __fits_8 (chart : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && Bool.true) && Bool.true) - -theorem __rel_8 (chart : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 8 [(__enc_1 chart)] (_root_.LexLeanPreservation.Rel (__fits_8 chart) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Main.Grade.extract chart))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) - -def __fits_7 (v : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : Bool := - ((Bool.true && Bool.true) && (__fits_8 (_ys))) - -attribute [local irreducible] Reasoning.Main.Grade.extract in -theorem __rel_7 (v : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 7 [(__enc_0 v), (__enc_1 _ys)] (_root_.LexLeanPreservation.Rel (__fits_7 v _ys) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Main.Grade.accept v _ys))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_8 (_ys))) - -def __fits_3 (v : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && (__fits_7 (v) (_ys))) && (match (Reasoning.Main.Grade.accept (v) (_ys)) with | Option.some _yv => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_8 (_ys))) && (match (Reasoning.Main.Grade.extract (_ys)) with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) - -attribute [local irreducible] Reasoning.Main.Grade.accept Reasoning.Main.Grade.extract in -theorem __rel_3 (v : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 3 [(__enc_0 v), (__enc_1 _ys)] (_root_.LexLeanPreservation.Rel (__fits_3 v _ys) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Main.Grade.conclude v _ys))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.some _yv => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_8 (_ys))) && (match (Reasoning.Main.Grade.extract (_ys)) with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.some _yv => (Except.ok (_yv) : (Except (Prod Bool Bool) Nat)) | Option.none => (match (Reasoning.Main.Grade.extract (_ys)) with | Option.some _yv => (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)) | Option.none => (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat))))) (Reasoning.Main.Grade.accept (v) (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_7 (v) (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.some _yv => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.some _yv => (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)) | Option.none => (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)))) (Reasoning.Main.Grade.extract (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_8 (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.some _yv => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))))))) - -def __fits_1 (v : (Reasoning.Clinic.Vitals)) : Bool := - (((Bool.true && Bool.true) && (__fits_2 (v))) && (let _yfinal : (Prod (Reasoning.Clinic.Chart) Bool) := (Reasoning.Main.Grade.saturate (v)); (Bool.true && (match (_yfinal).2 with | Bool.true => ((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (v) ((_yfinal).1))) | Bool.false => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) - -attribute [local irreducible] Reasoning.Main.Grade.conclude Reasoning.Main.Grade.saturate in -theorem __rel_1 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 1 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_1 v) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Main.Grade.verdict v))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (let _yfinal : (Prod (Reasoning.Clinic.Chart) Bool) := (Reasoning.Main.Grade.saturate (v)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_2 (v))) (_root_.LexLeanPreservation.conv_matchV _root_.LexLeanTarget.TargetSyntax.Value.bool (fun (__a : Bool) => (match __a with | Bool.true => ((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (v) ((_yfinal).1))) | Bool.false => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__a : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Bool.true => (Reasoning.Main.Grade.conclude (v) ((_yfinal).1)) | Bool.false => (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)))) (_yfinal).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : Bool) _ => match __a with | Bool.true => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (__rel_3 (v) ((_yfinal).1)))) | Bool.false => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))))) - -def __fits_0 (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : Bool := - (((((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true) && (__fits_1 (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals))))) && (match (Reasoning.Main.Grade.verdict (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals)))) with | Except.ok level => Bool.true | Except.error failure => Bool.true)) - -attribute [local irreducible] Reasoning.Main.Grade.verdict in -theorem __rel_0 (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)] (_root_.LexLeanPreservation.Rel (__fits_0 temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.gradeLevel temperature heartRate respiratoryRate whiteCells systolic infection))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Except (Prod Bool Bool) Nat)) => (match __a with | Except.ok level => Bool.true | Except.error failure => Bool.true)) (fun (__a : (Except (Prod Bool Bool) Nat)) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match __a with | Except.ok level => level | Except.error failure => (9 : Nat))) (Reasoning.Main.Grade.verdict (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals)))) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) (__rel_1 (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals))))) (fun (__a : (Except (Prod Bool Bool) Nat)) _ => match __a with | Except.ok level => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | Except.error failure => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value)))) - -def denote (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.gradeLevel temperature heartRate respiratoryRate whiteCells systolic infection)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)] (_root_.LexLeanPreservation.Rel (__fits_0 temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.gradeLevel temperature heartRate respiratoryRate whiteCells systolic infection))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 temperature heartRate respiratoryRate whiteCells systolic infection) - -end LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5 diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R5/Compose/RustCore.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R5/Compose/RustCore.lean deleted file mode 100644 index 7327f8888..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R5/Compose/RustCore.lean +++ /dev/null @@ -1,32 +0,0 @@ -import LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5 -import LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.RustCore -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.Compose.RustCore - -theorem __wt_0 : ∀ (__s : (Reasoning.Clinic.Vitals)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.RustCore.program _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.RustCore.krate _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.RustCore.flags (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.__enc_0 __s) (.adt 0) := - fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).temperature) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).heartRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).respiratoryRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).whiteCells) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).systolic) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).infection) _root_.LexLeanPreservation.Rust.wtl_nil)))))) - -theorem __wt_1 : ∀ (__s : (Reasoning.Clinic.Chart)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.RustCore.program _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.RustCore.krate _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.RustCore.flags (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.__enc_1 __s) (.adt 1) := - fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 (__s).vitals) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).fever) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).tachycardia) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).tachypnea) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).leukocytosis) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).sirs) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).sepsis) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).shock) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).level) _root_.LexLeanPreservation.Rust.wtl_nil))))))))) - -theorem __wt_2 : ∀ (__v : (Reasoning.Main.Grade.Step)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.RustCore.program _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.RustCore.krate _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.RustCore.flags (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.__enc_2 __v) (.adt 2) - | Reasoning.Main.Grade.Step.Fever => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Main.Grade.Step.Tachycardia => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Main.Grade.Step.Tachypnea => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Main.Grade.Step.Leukocytosis => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Main.Grade.Step.Sirs => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Main.Grade.Step.Sepsis => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Main.Grade.Step.Shock => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Main.Grade.Step.Escalate => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.denote temperature heartRate respiratoryRate whiteCells systolic infection) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat temperature) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat heartRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat respiratoryRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat whiteCells) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat systolic) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat infection) _root_.LexLeanPreservation.Rust.wtl_nil)))))) rfl rfl (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.root temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.Compose.RustCore diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R5/RustCore.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R5/RustCore.lean deleted file mode 100644 index 60e3755f3..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R5/RustCore.lean +++ /dev/null @@ -1,352 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.RustCore -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [{ constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }, - { constructors := [[(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]] }, - { constructors := [[], [], [], [], [], [], [], []] }], functions := (( - { parameters := [0, 1, 2, 3, 4, 5], types := [.nat, .nat, .nat, .nat, .nat, .nat], result := .nat, - body := (.«match» .nat (.call 1 [(.build (.adt 0) (.adt 0) [(.var 0), (.var 1), (.var 2), (.var 3), (.var 4), (.var 5)])]) [(.arm .ok [6] (.var 6)), (.arm .error [7] (.value .nat (.nat 9)))]) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.result .nat (.pair .bool .bool)), - body := (.«let» 1 (.pair (.adt 1) .bool) (.call 2 [(.var 0)]) (.«match» (.result .nat (.pair .bool .bool)) (.second (.var 1)) [(.arm .true [] (.call 3 [(.var 0), (.first (.var 1))])), (.arm .false [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))])) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.pair (.adt 1) .bool), - body := (.call 4 [(.closure 5 []), (.value .nat (.nat 11)), (.call 6 [(.var 0)])]) }) ::( - { parameters := [0, 1], types := [(.adt 0), (.adt 1)], result := (.result .nat (.pair .bool .bool)), - body := (.«match» (.result .nat (.pair .bool .bool)) (.call 7 [(.var 0), (.var 1)]) [(.arm .some [2] (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)])), (.arm .none [] (.«match» (.result .nat (.pair .bool .bool)) (.call 8 [(.var 1)]) [(.arm .some [3] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])), (.arm .none [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])]))]))]) }) ::( - { parameters := [0, 1, 2], types := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)], result := (.pair (.adt 1) .bool), - body := (.«match» (.pair (.adt 1) .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair (.adt 1) .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 4 [(.var 0), (.var 3), (.var 4)]))]))]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.«match» (.option (.adt 1)) (.call 9 [(.var 0)]) [(.arm .none [] (.build .none (.option (.adt 1)) [])), (.arm .some [1] (.call 10 [(.var 0), (.var 1)]))]) }) ::( - { parameters := [0], types := [(.adt 0)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.var 0), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0))]) }) ::( - { parameters := [0, 1], types := [(.adt 0), (.adt 1)], result := (.option .nat), - body := (.call 8 [(.var 1)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option .nat), - body := (.build .some (.option .nat) [(.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 2)), - body := (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.cond (.call 11 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 0) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [1] (.build .some (.option (.adt 2)) [(.var 1)])), (.arm .none [] (.cond (.call 12 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 1) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]) [(.arm .some [2] (.build .some (.option (.adt 2)) [(.var 2)])), (.arm .none [] (.«match» (.option (.adt 2)) (.cond (.call 13 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 2) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [3] (.build .some (.option (.adt 2)) [(.var 3)])), (.arm .none [] (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 3) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]))]) [(.arm .some [4] (.build .some (.option (.adt 2)) [(.var 4)])), (.arm .none [] (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 4) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [5] (.build .some (.option (.adt 2)) [(.var 5)])), (.arm .none [] (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 5) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]) [(.arm .some [6] (.build .some (.option (.adt 2)) [(.var 6)])), (.arm .none [] (.«match» (.option (.adt 2)) (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 6) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [7] (.build .some (.option (.adt 2)) [(.var 7)])), (.arm .none [] (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 7) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]))]))]) }) ::( - { parameters := [0, 1], types := [(.adt 1), (.adt 2)], result := (.option (.adt 1)), - body := (.«match» (.option (.adt 1)) (.var 1) [(.arm (.adt 0) [] (.call 19 [(.var 0)])), (.arm (.adt 1) [] (.call 20 [(.var 0)])), (.arm (.adt 2) [] (.call 21 [(.var 0)])), (.arm (.adt 3) [] (.call 22 [(.var 0)])), (.arm (.adt 4) [] (.call 23 [(.var 0)])), (.arm (.adt 5) [] (.call 24 [(.var 0)])), (.arm (.adt 6) [] (.call 25 [(.var 0)])), (.arm (.adt 7) [] (.call 26 [(.var 0)]))]) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 1), (.value .nat (.nat 0))]) (.call 27 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 2), (.value .nat (.nat 0))]) (.call 28 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 3), (.value .nat (.nat 0))]) (.call 29 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 4), (.value .nat (.nat 0))]) (.call 30 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 0))]) (.prim .natLe [(.value .nat (.nat 2)), (.prim .natAdd [(.prim .natAdd [(.prim .natAdd [(.field (.var 0) 1), (.field (.var 0) 2)]), (.field (.var 0) 3)]), (.field (.var 0) 4)])]) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.field (.var 0) 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.call 31 [(.field (.var 0) 0)]) (.build .false .bool [])) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := .bool, - body := (.cond (.prim .natLt [(.field (.var 0) 8), (.value .nat (.nat 3))]) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 0))]) (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 2))]) (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 1))]) (.build .false .bool [])))) (.build .false .bool [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 11 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 32 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 12 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 33 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 13 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 34 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 35 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 36 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 37 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 38 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), - body := (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 39 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 380)), (.field (.var 0) 0)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 90)), (.field (.var 0) 1)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 20)), (.field (.var 0) 2)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 12)), (.field (.var 0) 3)]) }) ::( - { parameters := [0], types := [(.adt 0)], result := .bool, - body := (.prim .natLt [(.field (.var 0) 4), (.value .nat (.nat 90))]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.value .nat (.nat 1)), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.value .nat (.nat 1)), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.value .nat (.nat 1)), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.value .nat (.nat 1)), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.value .nat (.nat 1)), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.value .nat (.nat 1)), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.value .nat (.nat 1)), (.field (.var 0) 8)]) }) ::( - { parameters := [0], types := [(.adt 1)], result := (.adt 1), - body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.prim .natAdd [(.field (.var 0) 8), (.value .nat (.nat 1))])]) }) ::[]) } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .core, items := ((.enum (.adt 0) [{ number := 0, fields := [.nat, .nat, .nat, .nat, .nat, .nat] }]) :: - (.enum (.adt 1) [{ number := 0, fields := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat] }]) :: - (.enum (.adt 2) [{ number := 0, fields := [] }, { number := 1, fields := [] }, { number := 2, fields := [] }, { number := 3, fields := [] }, { number := 4, fields := [] }, { number := 5, fields := [] }, { number := 6, fields := [] }, { number := 7, fields := [] }]) :: - (.enum (.fn 0) [{ number := 5, fields := [] }]) :: - (.apply 0 [(.adt 1)] (.option (.adt 1)) true [{ function := 5, captures := [], functionFallible := true }]) :: - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := .nat }, { pattern := (.bind (.generated .binding 3)), type := .nat }, { pattern := (.bind (.generated .binding 4)), type := .nat }, { pattern := (.bind (.generated .binding 5)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1)), (.copy (.generated .binding 2)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4)), (.copy (.generated .binding 5))])] true))] (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 6))) (.mk [] (.succeed (.copy (.generated .binding 6))))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 9)))))]))) :: - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.result .nat (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 1)) (some (.pair (.adt 1) .bool)) (.call (.function 2) [(.clone (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 3)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.move (.generated .binding 1)))] (.move (.generated .part 2)))))] (.cond (.move (.generated .holder 3)) (.mk [] (.succeed (.call (.function 3) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 4))))] false))) (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))))) :: - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.pair (.adt 1) .bool)) (.mk [] (.call (.function 4) [(.construct (.closure 0 5) []), (.lit (.nat 11)), (.call (.function 6) [(.move (.generated .binding 0))] false)] false))) :: - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 1) }] (.result .nat (.pair .bool .bool)) (.mk [(.mk (.bind (.generated .holder 5)) none (.call (.function 7) [(.move (.generated .binding 0)), (.clone (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 5)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 6)) none (.call (.function 8) [(.move (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 6)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])))]))) :: - (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := (.adt 1) }] (.fallible (.pair (.adt 1) .bool)) (.mk [(.mk (.bind (.generated .holder 7)) none (.copy (.generated .binding 1)))] (.cond (.isZero (.generated .holder 7)) (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 7))), (.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 8) [(.clone (.generated .binding 2))] true))))] (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))]))))) :: - (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.option (.adt 1))) (.mk [(.mk (.bind (.generated .holder 10)) none (.call (.function 9) [(.clone (.generated .binding 0))] true))] (.matchOn (.move (.generated .holder 10)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.call (.function 10) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false)))]))) :: - (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.move (.generated .binding 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0))]))) :: - (.function (.generated .function 7) [{ pattern := .wild, type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 1) }] (.option .nat) (.mk [] (.call (.function 8) [(.move (.generated .binding 1))] false))) :: - (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option .nat) (.mk [] (.construct .some [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 11))]) (.mk [] (.move (.generated .part 11))))])]))) :: - (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.option (.adt 2))) (.mk [(.mk (.bind (.generated .holder 15)) none (.block (.mk [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .holder 12)) none (.cond (.call (.function 11) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 0) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 12)) [(.mk .none (.mk [] (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))]))))] (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 14)) none (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 2) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 14)) [(.mk .none (.mk [] (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct .some [(.move (.generated .binding 2))])))]))))] (.matchOn (.move (.generated .holder 15)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 17)) none (.block (.mk [(.mk (.bind (.generated .holder 16)) none (.cond (.call (.function 15) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 2 4) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 16)) [(.mk .none (.mk [] (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))]))))] (.matchOn (.move (.generated .holder 17)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 18)) none (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 6) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 18)) [(.mk .none (.mk [] (.cond (.call (.function 18) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))]))), (.mk (.some (.bind (.generated .binding 6))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 6))]))))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 4))]))))]))) :: - (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 2) }] (.fallible (.option (.adt 1))) (.mk [(.mk (.bind (.generated .holder 19)) none (.move (.generated .binding 1)))] (.matchOn (.move (.generated .holder 19)) [(.mk (.adt 2 0 []) (.mk [] (.succeed (.call (.function 19) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 1 []) (.mk [] (.succeed (.call (.function 20) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 2 []) (.mk [] (.succeed (.call (.function 21) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 3 []) (.mk [] (.succeed (.call (.function 22) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 4 []) (.mk [] (.call (.function 23) [(.move (.generated .binding 0))] false))), (.mk (.adt 2 5 []) (.mk [] (.succeed (.call (.function 24) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 6 []) (.mk [] (.succeed (.call (.function 25) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 7 []) (.mk [] (.call (.function 26) [(.move (.generated .binding 0))] false)))]))) :: - (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 21)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 20)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 20))))])), (.mk (.bind (.generated .operand 22)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false) (.mk [] (.call (.function 27) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 23)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 23))))])] false)) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 25)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 24)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 24))))])), (.mk (.bind (.generated .operand 26)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false) (.mk [] (.call (.function 28) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 27)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 27))))])] false)) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 13) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 29)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 28)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 28))))])), (.mk (.bind (.generated .operand 30)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 29)), (.move (.generated .operand 30))] false) (.mk [] (.call (.function 29) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 31)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 31))))])] false)) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 14) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 33)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 32)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 32))))])), (.mk (.bind (.generated .operand 34)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 33)), (.move (.generated .operand 34))] false) (.mk [] (.call (.function 30) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 35)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 35))))])] false)) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 15) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible .bool) (.mk [(.mk (.bind (.generated .operand 37)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 36)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])), (.mk (.bind (.generated .operand 38)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 37)), (.move (.generated .operand 38))] false) (.mk [(.mk (.bind (.generated .operand 49)) none (.lit (.nat 2))), (.mk (.bind (.generated .operand 50)) none (.block (.mk [(.mk (.bind (.generated .operand 47)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.bind (.generated .operand 41)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 39)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 39))))])), (.mk (.bind (.generated .operand 42)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 40)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 40))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 41)), (.move (.generated .operand 42))] true)))), (.mk (.bind (.generated .operand 45)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 43)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 43))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] true)))), (.mk (.bind (.generated .operand 48)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 46)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 46))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 47)), (.move (.generated .operand 48))] true))))] (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 49)), (.move (.generated .operand 50))] false))) (.mk [] (.succeed (.lit (.bool false))))))) :: - (.function (.generated .function 16) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 52)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 51)), .wild, .wild]) (.mk [] (.move (.generated .part 51))))])), (.mk (.bind (.generated .operand 53)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false) (.mk [(.mk (.bind (.generated .operand 55)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 54)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 54))))])), (.mk (.bind (.generated .operand 56)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 55)), (.move (.generated .operand 56))] false) (.mk [(.mk (.bind (.generated .operand 60)) none (.block (.mk [(.mk (.bind (.generated .holder 59)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 58)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))]))] (.matchOn (.move (.generated .holder 59)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 57))]) (.mk [] (.move (.generated .part 57))))])))), (.mk (.bind (.generated .operand 61)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 17) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 63)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 62)), .wild]) (.mk [] (.move (.generated .part 62))))])), (.mk (.bind (.generated .operand 64)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 63)), (.move (.generated .operand 64))] false) (.mk [(.mk (.bind (.generated .operand 66)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 65)), .wild, .wild]) (.mk [] (.move (.generated .part 65))))])), (.mk (.bind (.generated .operand 67)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 66)), (.move (.generated .operand 67))] false) (.mk [] (.call (.function 31) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 68)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 68))))])] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 18) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 70)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 69))]) (.mk [] (.move (.generated .part 69))))])), (.mk (.bind (.generated .operand 71)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 70)), (.move (.generated .operand 71))] false) (.mk [(.mk (.bind (.generated .operand 73)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 72))]) (.mk [] (.move (.generated .part 72))))])), (.mk (.bind (.generated .operand 74)) none (.lit (.nat 0)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] false) (.mk [(.mk (.bind (.generated .operand 76)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 75)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 75))))])), (.mk (.bind (.generated .operand 77)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 76)), (.move (.generated .operand 77))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 79)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 78))]) (.mk [] (.move (.generated .part 78))))])), (.mk (.bind (.generated .operand 80)) none (.lit (.nat 1)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 79)), (.move (.generated .operand 80))] false) (.mk [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81)), .wild, .wild]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84))]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false) (.mk [(.mk (.bind (.generated .operand 88)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87)), .wild]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false)) (.mk [] (.lit (.bool false))))))))) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 19) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 11) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 32) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: - (.function (.generated .function 20) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 33) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: - (.function (.generated .function 21) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 34) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: - (.function (.generated .function 22) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 35) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: - (.function (.generated .function 23) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.option (.adt 1))) (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] true) (.mk [] (.succeed (.construct .some [(.call (.function 36) [(.move (.generated .binding 0))] false)]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))))) :: - (.function (.generated .function 24) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 37) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: - (.function (.generated .function 25) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 38) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: - (.function (.generated .function 26) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.option (.adt 1))) (.mk [] (.cond (.call (.function 18) [(.clone (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.call (.function 39) [(.move (.generated .binding 0))] true)]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))))) :: - (.function (.generated .function 27) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 91)) none (.lit (.nat 380))), (.mk (.bind (.generated .operand 92)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 90)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 90))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] false))) :: - (.function (.generated .function 28) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 94)) none (.lit (.nat 90))), (.mk (.bind (.generated .operand 95)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 93)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 93))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] false))) :: - (.function (.generated .function 29) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 97)) none (.lit (.nat 20))), (.mk (.bind (.generated .operand 98)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 96)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 96))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 97)), (.move (.generated .operand 98))] false))) :: - (.function (.generated .function 30) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 100)) none (.lit (.nat 12))), (.mk (.bind (.generated .operand 101)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, (.bind (.generated .part 99)), .wild, .wild]) (.mk [] (.move (.generated .part 99))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false))) :: - (.function (.generated .function 31) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 103)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 102)), .wild]) (.mk [] (.move (.generated .part 102))))])), (.mk (.bind (.generated .operand 104)) none (.lit (.nat 90)))] (.call (.runtime .natLt) [(.move (.generated .operand 103)), (.move (.generated .operand 104))] false))) :: - (.function (.generated .function 32) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 105)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 105))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 106)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 106))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 107)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 107))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 108)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 108))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 109)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 109))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 110)), .wild, .wild]) (.mk [] (.move (.generated .part 110))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 111)), .wild]) (.mk [] (.move (.generated .part 111))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 112))]) (.mk [] (.move (.generated .part 112))))])]))) :: - (.function (.generated .function 33) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 113)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 113))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 114)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 114))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 115)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 115))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 116)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 116))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 117)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 117))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 118)), .wild, .wild]) (.mk [] (.move (.generated .part 118))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 119)), .wild]) (.mk [] (.move (.generated .part 119))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 120))]) (.mk [] (.move (.generated .part 120))))])]))) :: - (.function (.generated .function 34) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 121)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 121))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 122)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 122))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 123)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 123))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 124)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 124))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 125)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 125))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 126)), .wild, .wild]) (.mk [] (.move (.generated .part 126))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 127)), .wild]) (.mk [] (.move (.generated .part 127))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 128))]) (.mk [] (.move (.generated .part 128))))])]))) :: - (.function (.generated .function 35) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 129)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 129))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 130)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 130))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 131)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 131))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 132)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 132))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 133)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 133))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 134)), .wild, .wild]) (.mk [] (.move (.generated .part 134))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 135)), .wild]) (.mk [] (.move (.generated .part 135))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 136))]) (.mk [] (.move (.generated .part 136))))])]))) :: - (.function (.generated .function 36) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 137)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 137))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 138)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 138))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 139)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 139))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 140)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 140))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 141)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 141))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 142)), .wild, .wild]) (.mk [] (.move (.generated .part 142))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 143)), .wild]) (.mk [] (.move (.generated .part 143))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 144))]) (.mk [] (.move (.generated .part 144))))])]))) :: - (.function (.generated .function 37) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 145)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 145))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 146)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 146))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 147)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 147))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 148)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 148))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 149)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 149))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 150)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 150))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 151)), .wild]) (.mk [] (.move (.generated .part 151))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 152))]) (.mk [] (.move (.generated .part 152))))])]))) :: - (.function (.generated .function 38) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 153)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 153))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 154)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 154))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 155)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 155))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 156)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 156))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 157)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 157))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 158)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 158))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 159)), .wild, .wild]) (.mk [] (.move (.generated .part 159))))]), (.lit (.nat 1)), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 160))]) (.mk [] (.move (.generated .part 160))))])]))) :: - (.function (.generated .function 39) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.adt 1)) (.mk [] (.succeed (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 161)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 161))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 162)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 162))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 163)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 163))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 164)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 164))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 165)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 165))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 166)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 166))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 167)), .wild, .wild]) (.mk [] (.move (.generated .part 167))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 168)), .wild]) (.mk [] (.move (.generated .part 168))))]), (.block (.mk [(.mk (.bind (.generated .operand 170)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 169))]) (.mk [] (.move (.generated .part 169))))])), (.mk (.bind (.generated .operand 171)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 170)), (.move (.generated .operand 171))] true)))])))) :: - []) } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [(([(.adt 1)], (.option (.adt 1))), true)] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1)), (.copy (.generated .binding 2)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4)), (.copy (.generated .binding 5))])] true))], (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 6))) (.mk [] (.succeed (.copy (.generated .binding 6))))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 9)))))]), [(5, .nat, (some 5)), (4, .nat, (some 4)), (3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.matchArms (st := (.result .nat (.pair .bool .bool))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))))))) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(6, .nat, (some 6)), (5, .nat, (some 5)), (4, .nat, (some 4)), (3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.copy (.generated .binding 6)))) (Corr.mCons (Γ' := [(7, (.pair .bool .bool), none), (5, .nat, (some 5)), (4, .nat, (some 4)), (3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 9)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.pair (.adt 1) .bool)) (.call (.function 2) [(.clone (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 3)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.move (.generated .binding 1)))] (.move (.generated .part 2)))))], (.cond (.move (.generated .holder 3)) (.mk [] (.succeed (.call (.function 3) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 4))))] false))) (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.matchBool (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 2))) (Corr.second (ta := (.adt 1)) (tb := .bool) (Corr.var rfl rfl) rfl)) rfl rfl (Corr.kIf (la := []) (ta := (.succeed (.call (.function 3) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 4))))] false))) (lb := []) (tb := (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))) (Corr.fOfB (Corr.callOps (ts := [(.adt 0), (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 4))) (Corr.first (ta := (.adt 1)) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))))⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 4) [(.construct (.closure 0 5) []), (.lit (.nat 11)), (.call (.function 6) [(.move (.generated .binding 0))] false)] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.callF (ts := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 5)) none (.call (.function 7) [(.move (.generated .binding 0)), (.clone (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 5)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 6)) none (.call (.function 8) [(.move (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 6)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])))]), [(1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0), (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 6)) none (.call (.function 8) [(.move (.generated .binding 1))] false))]) (tail := (.matchOn (.move (.generated .holder 6)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))])) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])) (Corr.mCons (Γ' := [(3, .nat, none), (1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) rfl rfl rfl)) rfl rfl rfl)⟩⟩ - -theorem fun4 : FunOK program krate flags 4 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 7)) none (.copy (.generated .binding 1)))], (.cond (.isZero (.generated .holder 7)) (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 7))), (.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 8) [(.clone (.generated .binding 2))] true))))] (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))]))), [(2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))], rfl, rfl, - (Corr.matchNat (sl := (some 3)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (lb := [(.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 8) [(.clone (.generated .binding 2))] true))))]) (tb := (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))])) (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))))) (Corr.matchArms (st := (.option (.adt 1))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))]) (tail := (.apply (.generated .callee 8) [(.clone (.generated .binding 2))] true)) (Corr.apply (ps := [(.adt 1)]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, .nat, (some 3)), (2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true))))) (Corr.mCons (Γ' := [(4, (.adt 1), (some 4)), (3, .nat, (some 3)), (2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))))))) rfl rfl rfl)))⟩⟩ - -theorem fun5 : FunOK program krate flags 5 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 10)) none (.call (.function 9) [(.clone (.generated .binding 0))] true))], (.matchOn (.move (.generated .holder 10)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.call (.function 10) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false)))]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.none (.adt 1)) []))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 10) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.adt 1), (.adt 2)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) rfl rfl rfl)⟩⟩ - -theorem fun6 : FunOK program krate flags 6 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.move (.generated .binding 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0))]), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun7 : FunOK program krate flags 7 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 8) [(.move (.generated .binding 1))] false), [(1, (.adt 1), (some 1)), (0, (.adt 0), none)], rfl, rfl, - (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun8 : FunOK program krate flags 8 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct .some [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 11))]) (.mk [] (.move (.generated .part 11))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 11))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)⟩⟩ - -theorem fun9 : FunOK program krate flags 9 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 15)) none (.block (.mk [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .holder 12)) none (.cond (.call (.function 11) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 0) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 12)) [(.mk .none (.mk [] (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))]))))] (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 14)) none (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 2) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 14)) [(.mk .none (.mk [] (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct .some [(.move (.generated .binding 2))])))]))))], (.matchOn (.move (.generated .holder 15)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 17)) none (.block (.mk [(.mk (.bind (.generated .holder 16)) none (.cond (.call (.function 15) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 2 4) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 16)) [(.mk .none (.mk [] (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))]))))] (.matchOn (.move (.generated .holder 17)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 18)) none (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 6) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 18)) [(.mk .none (.mk [] (.cond (.call (.function 18) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))]))), (.mk (.some (.bind (.generated .binding 6))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 6))]))))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 4))]))))]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .holder 12)) none (.cond (.call (.function 11) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 0) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 12)) [(.mk .none (.mk [] (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))]))))]) (tail := (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 14)) none (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 2) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 14)) [(.mk .none (.mk [] (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct .some [(.move (.generated .binding 2))])))])) (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 12)) none (.cond (.call (.function 11) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 0) [])])) (.mk [] (.construct (.none (.adt 2)) []))))]) (tail := (.matchOn (.move (.generated .holder 12)) [(.mk .none (.mk [] (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))])) (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 11) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 0) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) [])))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 1))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 12) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 1) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 14)) none (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 2) [])])) (.mk [] (.construct (.none (.adt 2)) []))))]) (tail := (.matchOn (.move (.generated .holder 14)) [(.mk .none (.mk [] (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))])) (Corr.mCons (Γ' := [(2, (.adt 2), (some 2)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 2))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 13) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 2) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) [])))) (Corr.mCons (Γ' := [(3, (.adt 2), (some 3)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 3))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 14) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 3) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl)) rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 17)) none (.block (.mk [(.mk (.bind (.generated .holder 16)) none (.cond (.call (.function 15) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 2 4) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 16)) [(.mk .none (.mk [] (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))]))))]) (tail := (.matchOn (.move (.generated .holder 17)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 18)) none (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 6) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 18)) [(.mk .none (.mk [] (.cond (.call (.function 18) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))]))), (.mk (.some (.bind (.generated .binding 6))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 6))]))))])) (Corr.mCons (Γ' := [(4, (.adt 2), (some 4)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.move (.generated .binding 4))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 16)) none (.cond (.call (.function 15) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 2 4) [])])) (.mk [] (.construct (.none (.adt 2)) []))))]) (tail := (.matchOn (.move (.generated .holder 16)) [(.mk .none (.mk [] (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))])) (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 15) [(.clone (.generated .binding 0))] true)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 4) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) [])))) (Corr.mCons (Γ' := [(5, (.adt 2), (some 5)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 5))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 16) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 5) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 18)) none (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 6) [])])) (.mk [] (.construct (.none (.adt 2)) []))))]) (tail := (.matchOn (.move (.generated .holder 18)) [(.mk .none (.mk [] (.cond (.call (.function 18) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))])) (Corr.mCons (Γ' := [(6, (.adt 2), (some 6)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.move (.generated .binding 6))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 17) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 6) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 18) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) []))))) (Corr.mCons (Γ' := [(7, (.adt 2), (some 7)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.move (.generated .binding 7))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 18) [(.move (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (lb := []) (tb := (.succeed (.construct (.none (.adt 2)) []))) (Corr.fOfB (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))) rfl rfl rfl)) rfl rfl rfl)) rfl rfl rfl)⟩⟩ - -theorem fun10 : FunOK program krate flags 10 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 19)) none (.move (.generated .binding 1)))], (.matchOn (.move (.generated .holder 19)) [(.mk (.adt 2 0 []) (.mk [] (.succeed (.call (.function 19) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 1 []) (.mk [] (.succeed (.call (.function 20) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 2 []) (.mk [] (.succeed (.call (.function 21) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 3 []) (.mk [] (.succeed (.call (.function 22) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 4 []) (.mk [] (.call (.function 23) [(.move (.generated .binding 0))] false))), (.mk (.adt 2 5 []) (.mk [] (.succeed (.call (.function 24) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 6 []) (.mk [] (.succeed (.call (.function 25) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 7 []) (.mk [] (.call (.function 26) [(.move (.generated .binding 0))] false)))]), [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.adt 2)) (U := []) (view := false) (idx := [0, 1, 2, 3, 4, 5, 6, 7]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.call (.function 19) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.call (.function 20) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.succeed (.call (.function 21) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 3) (loads := []) (lets := []) (tail := (.succeed (.call (.function 22) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 4) (loads := []) (lets := []) (tail := (.call (.function 23) [(.move (.generated .binding 0))] false)) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 5) (loads := []) (lets := []) (tail := (.succeed (.call (.function 24) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 6) (loads := []) (lets := []) (tail := (.succeed (.call (.function 25) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 7) (loads := []) (lets := []) (tail := (.call (.function 26) [(.move (.generated .binding 0))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.callF (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun11 : FunOK program krate flags 11 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 21)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 20)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 20))))])), (.mk (.bind (.generated .operand 22)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false) (.mk [] (.call (.function 27) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 23)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 23))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 21)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 20)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 20))))])), (.mk (.bind (.generated .operand 22)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 20))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 27) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 23)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 23))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 23))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun12 : FunOK program krate flags 12 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 25)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 24)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 24))))])), (.mk (.bind (.generated .operand 26)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false) (.mk [] (.call (.function 28) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 27)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 27))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 25)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 24)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 24))))])), (.mk (.bind (.generated .operand 26)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 24))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 28) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 27)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 27))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 27))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun13 : FunOK program krate flags 13 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 29)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 28)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 28))))])), (.mk (.bind (.generated .operand 30)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 29)), (.move (.generated .operand 30))] false) (.mk [] (.call (.function 29) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 31)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 31))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 29)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 28)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 28))))])), (.mk (.bind (.generated .operand 30)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 29)), (.move (.generated .operand 30))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 28))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 29) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 31)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 31))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 31))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun14 : FunOK program krate flags 14 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 33)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 32)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 32))))])), (.mk (.bind (.generated .operand 34)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 33)), (.move (.generated .operand 34))] false) (.mk [] (.call (.function 30) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 35)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 35))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 33)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 32)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 32))))])), (.mk (.bind (.generated .operand 34)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 33)), (.move (.generated .operand 34))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 32))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 30) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 35)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 35))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 35))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun15 : FunOK program krate flags 15 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 37)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 36)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])), (.mk (.bind (.generated .operand 38)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 37)), (.move (.generated .operand 38))] false) (.mk [(.mk (.bind (.generated .operand 49)) none (.lit (.nat 2))), (.mk (.bind (.generated .operand 50)) none (.block (.mk [(.mk (.bind (.generated .operand 47)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.bind (.generated .operand 41)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 39)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 39))))])), (.mk (.bind (.generated .operand 42)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 40)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 40))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 41)), (.move (.generated .operand 42))] true)))), (.mk (.bind (.generated .operand 45)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 43)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 43))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] true)))), (.mk (.bind (.generated .operand 48)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 46)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 46))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 47)), (.move (.generated .operand 48))] true))))] (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 49)), (.move (.generated .operand 50))] false))) (.mk [] (.succeed (.lit (.bool false))))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 37)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 36)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])), (.mk (.bind (.generated .operand 38)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 37)), (.move (.generated .operand 38))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 36))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 49)) none (.lit (.nat 2))), (.mk (.bind (.generated .operand 50)) none (.block (.mk [(.mk (.bind (.generated .operand 47)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.bind (.generated .operand 41)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 39)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 39))))])), (.mk (.bind (.generated .operand 42)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 40)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 40))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 41)), (.move (.generated .operand 42))] true)))), (.mk (.bind (.generated .operand 45)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 43)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 43))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] true)))), (.mk (.bind (.generated .operand 48)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 46)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 46))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 47)), (.move (.generated .operand 48))] true))))]) (ta := (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 49)), (.move (.generated .operand 50))] false))) (lb := []) (tb := (.succeed (.lit (.bool false)))) (Corr.fOfB (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 47)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.bind (.generated .operand 41)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 39)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 39))))])), (.mk (.bind (.generated .operand 42)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 40)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 40))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 41)), (.move (.generated .operand 42))] true)))), (.mk (.bind (.generated .operand 45)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 43)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 43))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] true)))), (.mk (.bind (.generated .operand 48)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 46)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 46))))]))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 47)), (.move (.generated .operand 48))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.bind (.generated .operand 41)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 39)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 39))))])), (.mk (.bind (.generated .operand 42)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 40)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 40))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 41)), (.move (.generated .operand 42))] true)))), (.mk (.bind (.generated .operand 45)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 43)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 43))))]))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 41)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 39)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 39))))])), (.mk (.bind (.generated .operand 42)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 40)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 40))))]))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 41)), (.move (.generated .operand 42))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 39))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 40))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 43))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 46))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.fOfB (Corr.bOfE (Corr.buildConst rfl)))))⟩⟩ - -theorem fun16 : FunOK program krate flags 16 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 52)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 51)), .wild, .wild]) (.mk [] (.move (.generated .part 51))))])), (.mk (.bind (.generated .operand 53)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false) (.mk [(.mk (.bind (.generated .operand 55)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 54)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 54))))])), (.mk (.bind (.generated .operand 56)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 55)), (.move (.generated .operand 56))] false) (.mk [(.mk (.bind (.generated .operand 60)) none (.block (.mk [(.mk (.bind (.generated .holder 59)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 58)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))]))] (.matchOn (.move (.generated .holder 59)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 57))]) (.mk [] (.move (.generated .part 57))))])))), (.mk (.bind (.generated .operand 61)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 52)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 51)), .wild, .wild]) (.mk [] (.move (.generated .part 51))))])), (.mk (.bind (.generated .operand 53)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 51))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 55)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 54)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 54))))])), (.mk (.bind (.generated .operand 56)) none (.lit (.nat 1)))]) (ta := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 55)), (.move (.generated .operand 56))] false) (.mk [(.mk (.bind (.generated .operand 60)) none (.block (.mk [(.mk (.bind (.generated .holder 59)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 58)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))]))] (.matchOn (.move (.generated .holder 59)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 57))]) (.mk [] (.move (.generated .part 57))))])))), (.mk (.bind (.generated .operand 61)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false)) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 55)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 54)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 54))))])), (.mk (.bind (.generated .operand 56)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 55)), (.move (.generated .operand 56))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 54))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 60)) none (.block (.mk [(.mk (.bind (.generated .holder 59)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 58)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))]))] (.matchOn (.move (.generated .holder 59)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 57))]) (.mk [] (.move (.generated .part 57))))])))), (.mk (.bind (.generated .operand 61)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 59)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 58)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))]))]) (tail := (.matchOn (.move (.generated .holder 59)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 57))]) (.mk [] (.move (.generated .part 57))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 57))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 58))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun17 : FunOK program krate flags 17 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 63)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 62)), .wild]) (.mk [] (.move (.generated .part 62))))])), (.mk (.bind (.generated .operand 64)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 63)), (.move (.generated .operand 64))] false) (.mk [(.mk (.bind (.generated .operand 66)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 65)), .wild, .wild]) (.mk [] (.move (.generated .part 65))))])), (.mk (.bind (.generated .operand 67)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 66)), (.move (.generated .operand 67))] false) (.mk [] (.call (.function 31) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 68)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 68))))])] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 63)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 62)), .wild]) (.mk [] (.move (.generated .part 62))))])), (.mk (.bind (.generated .operand 64)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 63)), (.move (.generated .operand 64))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 62))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 66)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 65)), .wild, .wild]) (.mk [] (.move (.generated .part 65))))])), (.mk (.bind (.generated .operand 67)) none (.lit (.nat 1)))]) (ta := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 66)), (.move (.generated .operand 67))] false) (.mk [] (.call (.function 31) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 68)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 68))))])] false)) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 66)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 65)), .wild, .wild]) (.mk [] (.move (.generated .part 65))))])), (.mk (.bind (.generated .operand 67)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 66)), (.move (.generated .operand 67))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 65))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 31) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 68)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 68))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 68))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun18 : FunOK program krate flags 18 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 70)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 69))]) (.mk [] (.move (.generated .part 69))))])), (.mk (.bind (.generated .operand 71)) none (.lit (.nat 3)))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 70)), (.move (.generated .operand 71))] false) (.mk [(.mk (.bind (.generated .operand 73)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 72))]) (.mk [] (.move (.generated .part 72))))])), (.mk (.bind (.generated .operand 74)) none (.lit (.nat 0)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] false) (.mk [(.mk (.bind (.generated .operand 76)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 75)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 75))))])), (.mk (.bind (.generated .operand 77)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 76)), (.move (.generated .operand 77))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 79)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 78))]) (.mk [] (.move (.generated .part 78))))])), (.mk (.bind (.generated .operand 80)) none (.lit (.nat 1)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 79)), (.move (.generated .operand 80))] false) (.mk [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81)), .wild, .wild]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84))]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false) (.mk [(.mk (.bind (.generated .operand 88)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87)), .wild]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false)) (.mk [] (.lit (.bool false))))))))) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 70)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 69))]) (.mk [] (.move (.generated .part 69))))])), (.mk (.bind (.generated .operand 71)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 70)), (.move (.generated .operand 71))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 69))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 73)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 72))]) (.mk [] (.move (.generated .part 72))))])), (.mk (.bind (.generated .operand 74)) none (.lit (.nat 0)))]) (ta := (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] false) (.mk [(.mk (.bind (.generated .operand 76)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 75)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 75))))])), (.mk (.bind (.generated .operand 77)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 76)), (.move (.generated .operand 77))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 79)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 78))]) (.mk [] (.move (.generated .part 78))))])), (.mk (.bind (.generated .operand 80)) none (.lit (.nat 1)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 79)), (.move (.generated .operand 80))] false) (.mk [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81)), .wild, .wild]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84))]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false) (.mk [(.mk (.bind (.generated .operand 88)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87)), .wild]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false)) (.mk [] (.lit (.bool false))))))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 73)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 72))]) (.mk [] (.move (.generated .part 72))))])), (.mk (.bind (.generated .operand 74)) none (.lit (.nat 0)))]) (ce := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] false) (.mk [(.mk (.bind (.generated .operand 76)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 75)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 75))))])), (.mk (.bind (.generated .operand 77)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 76)), (.move (.generated .operand 77))] false)) (.mk [] (.lit (.bool false))))) (lk := []) (Corr.cond (lc := [(.mk (.bind (.generated .operand 73)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 72))]) (.mk [] (.move (.generated .part 72))))])), (.mk (.bind (.generated .operand 74)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 72))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 76)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 75)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 75))))])), (.mk (.bind (.generated .operand 77)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 76)), (.move (.generated .operand 77))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 75))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 79)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 78))]) (.mk [] (.move (.generated .part 78))))])), (.mk (.bind (.generated .operand 80)) none (.lit (.nat 1)))]) (tb := (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 79)), (.move (.generated .operand 80))] false) (.mk [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81)), .wild, .wild]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84))]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false) (.mk [(.mk (.bind (.generated .operand 88)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87)), .wild]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false)) (.mk [] (.lit (.bool false))))))) (Corr.bOfE (Corr.buildConst rfl)) (Corr.cond (lc := [(.mk (.bind (.generated .operand 79)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 78))]) (.mk [] (.move (.generated .part 78))))])), (.mk (.bind (.generated .operand 80)) none (.lit (.nat 1)))]) (ce := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 79)), (.move (.generated .operand 80))] false) (.mk [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81)), .wild, .wild]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false)) (.mk [] (.lit (.bool false))))) (lk := []) (Corr.cond (lc := [(.mk (.bind (.generated .operand 79)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 78))]) (.mk [] (.move (.generated .part 78))))])), (.mk (.bind (.generated .operand 80)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 79)), (.move (.generated .operand 80))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 78))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81)), .wild, .wild]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 81))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84))]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 2)))]) (tb := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false) (.mk [(.mk (.bind (.generated .operand 88)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87)), .wild]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false)) (.mk [] (.lit (.bool false))))) (Corr.bOfE (Corr.buildConst rfl)) (Corr.cond (lc := [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84))]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 2)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 84))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 88)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87)), .wild]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 87))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))))))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun19 : FunOK program krate flags 19 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 11) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 32) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 11) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 32) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun20 : FunOK program krate flags 20 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 33) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 12) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 33) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun21 : FunOK program krate flags 21 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 34) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 13) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 34) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun22 : FunOK program krate flags 22 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 35) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 14) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 35) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun23 : FunOK program krate flags 23 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 15) [(.clone (.generated .binding 0))] true) (.mk [] (.succeed (.construct .some [(.call (.function 36) [(.move (.generated .binding 0))] false)]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 15) [(.clone (.generated .binding 0))] true)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.call (.function 36) [(.move (.generated .binding 0))] false)]))) (lb := []) (tb := (.succeed (.construct (.none (.adt 1)) []))) (Corr.fOfB (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ - -theorem fun24 : FunOK program krate flags 24 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 37) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 16) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 37) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun25 : FunOK program krate flags 25 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 38) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 17) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 38) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun26 : FunOK program krate flags 26 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 18) [(.clone (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.call (.function 39) [(.move (.generated .binding 0))] true)]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 18) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.call (.function 39) [(.move (.generated .binding 0))] true)]))) (lb := []) (tb := (.succeed (.construct (.none (.adt 1)) []))) (Corr.fOfB (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ - -theorem fun27 : FunOK program krate flags 27 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 91)) none (.lit (.nat 380))), (.mk (.bind (.generated .operand 92)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 90)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 90))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 90))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun28 : FunOK program krate flags 28 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 94)) none (.lit (.nat 90))), (.mk (.bind (.generated .operand 95)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 93)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 93))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 93))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun29 : FunOK program krate flags 29 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 97)) none (.lit (.nat 20))), (.mk (.bind (.generated .operand 98)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 96)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 96))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 97)), (.move (.generated .operand 98))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 96))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun30 : FunOK program krate flags 30 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 100)) none (.lit (.nat 12))), (.mk (.bind (.generated .operand 101)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, (.bind (.generated .part 99)), .wild, .wild]) (.mk [] (.move (.generated .part 99))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 99))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun31 : FunOK program krate flags 31 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 103)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 102)), .wild]) (.mk [] (.move (.generated .part 102))))])), (.mk (.bind (.generated .operand 104)) none (.lit (.nat 90)))], (.call (.runtime .natLt) [(.move (.generated .operand 103)), (.move (.generated .operand 104))] false), [(0, (.adt 0), (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 102))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun32 : FunOK program krate flags 32 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 105)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 105))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 106)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 106))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 107)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 107))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 108)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 108))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 109)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 109))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 110)), .wild, .wild]) (.mk [] (.move (.generated .part 110))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 111)), .wild]) (.mk [] (.move (.generated .part 111))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 112))]) (.mk [] (.move (.generated .part 112))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 105))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 106))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 107))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 108))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 109))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 110))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 111))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 112))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun33 : FunOK program krate flags 33 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 113)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 113))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 114)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 114))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 115)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 115))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 116)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 116))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 117)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 117))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 118)), .wild, .wild]) (.mk [] (.move (.generated .part 118))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 119)), .wild]) (.mk [] (.move (.generated .part 119))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 120))]) (.mk [] (.move (.generated .part 120))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 113))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 114))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 115))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 116))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 117))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 118))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 119))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 120))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun34 : FunOK program krate flags 34 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 121)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 121))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 122)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 122))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 123)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 123))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 124)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 124))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 125)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 125))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 126)), .wild, .wild]) (.mk [] (.move (.generated .part 126))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 127)), .wild]) (.mk [] (.move (.generated .part 127))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 128))]) (.mk [] (.move (.generated .part 128))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 121))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 122))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 123))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 124))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 125))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 126))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 127))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 128))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun35 : FunOK program krate flags 35 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 129)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 129))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 130)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 130))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 131)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 131))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 132)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 132))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 133)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 133))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 134)), .wild, .wild]) (.mk [] (.move (.generated .part 134))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 135)), .wild]) (.mk [] (.move (.generated .part 135))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 136))]) (.mk [] (.move (.generated .part 136))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 129))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 130))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 131))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 132))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 133))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 134))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 135))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 136))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun36 : FunOK program krate flags 36 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 137)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 137))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 138)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 138))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 139)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 139))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 140)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 140))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 141)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 141))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 142)), .wild, .wild]) (.mk [] (.move (.generated .part 142))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 143)), .wild]) (.mk [] (.move (.generated .part 143))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 144))]) (.mk [] (.move (.generated .part 144))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 137))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 138))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 139))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 140))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 141))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 142))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 143))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 144))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun37 : FunOK program krate flags 37 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 145)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 145))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 146)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 146))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 147)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 147))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 148)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 148))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 149)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 149))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 150)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 150))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 151)), .wild]) (.mk [] (.move (.generated .part 151))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 152))]) (.mk [] (.move (.generated .part 152))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 145))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 146))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 147))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 148))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 149))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 150))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 151))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 152))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun38 : FunOK program krate flags 38 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 153)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 153))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 154)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 154))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 155)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 155))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 156)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 156))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 157)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 157))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 158)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 158))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 159)), .wild, .wild]) (.mk [] (.move (.generated .part 159))))]), (.lit (.nat 1)), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 160))]) (.mk [] (.move (.generated .part 160))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 153))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 154))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 155))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 156))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 157))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 158))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 159))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 160))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ - -theorem fun39 : FunOK program krate flags 39 := - ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 161)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 161))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 162)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 162))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 163)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 163))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 164)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 164))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 165)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 165))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 166)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 166))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 167)), .wild, .wild]) (.mk [] (.move (.generated .part 167))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 168)), .wild]) (.mk [] (.move (.generated .part 168))))]), (.block (.mk [(.mk (.bind (.generated .operand 170)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 169))]) (.mk [] (.move (.generated .part 169))))])), (.mk (.bind (.generated .operand 171)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 170)), (.move (.generated .operand 171))] true)))])), [(0, (.adt 1), (some 0))], rfl, rfl, - (Corr.fOfB (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 161))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 162))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 163))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 164))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 165))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 166))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 167))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 168))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 170)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 169))]) (.mk [] (.move (.generated .part 169))))])), (.mk (.bind (.generated .operand 171)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 170)), (.move (.generated .operand 171))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 169))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | 4 => exact fun4 - | 5 => exact fun5 - | 6 => exact fun6 - | 7 => exact fun7 - | 8 => exact fun8 - | 9 => exact fun9 - | 10 => exact fun10 - | 11 => exact fun11 - | 12 => exact fun12 - | 13 => exact fun13 - | 14 => exact fun14 - | 15 => exact fun15 - | 16 => exact fun16 - | 17 => exact fun17 - | 18 => exact fun18 - | 19 => exact fun19 - | 20 => exact fun20 - | 21 => exact fun21 - | 22 => exact fun22 - | 23 => exact fun23 - | 24 => exact fun24 - | 25 => exact fun25 - | 26 => exact fun26 - | 27 => exact fun27 - | 28 => exact fun28 - | 29 => exact fun29 - | 30 => exact fun30 - | 31 => exact fun31 - | 32 => exact fun32 - | 33 => exact fun33 - | 34 => exact fun34 - | 35 => exact fun35 - | 36 => exact fun36 - | 37 => exact fun37 - | 38 => exact fun38 - | 39 => exact fun39 - | _ + 40 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.RustCore diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R6.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R6.lean deleted file mode 100644 index dc7fabb97..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R6.lean +++ /dev/null @@ -1,283 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Reasoning.Budget -import Reasoning.Clinic -import Reasoning.Main -import Reasoning.Planner -import Reasoning.Screening -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [{ constructors := [[.nat]] }, - { constructors := [[(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]] }, - { constructors := [[(.pair .nat .nat), (.list (.adt 0))]] }, - { constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }], functions := [ - { parameters := [0], types := [.nat], result := .nat, - body := (.«match» .nat (.call 1 [(.var 0)]) [(.arm .ok [1] (.var 1)), (.arm .error [2] (.value .nat (.nat 9)))]) }, - { parameters := [0], types := [.nat], result := (.result .nat (.pair .bool .bool)), - body := (.«match» (.result .nat (.pair .bool .bool)) (.call 2 [(.var 0)]) [(.arm .ok [1] (.build .ok (.result .nat (.pair .bool .bool)) [(.first (.var 1))])), (.arm .error [2] (.build .error (.result .nat (.pair .bool .bool)) [(.var 2)]))]) }, - { parameters := [0], types := [.nat], result := (.result (.pair .nat (.list (.adt 0))) (.pair .bool .bool)), - body := (.«let» 1 (.pair (.adt 1) .bool) (.call 3 [(.var 0)]) (.«match» (.result (.pair .nat (.list (.adt 0))) (.pair .bool .bool)) (.field (.first (.var 1)) 1) [(.arm .some [2] (.build .ok (.result (.pair .nat (.list (.adt 0))) (.pair .bool .bool)) [(.build .pair (.pair .nat (.list (.adt 0))) [(.first (.var 2)), (.field (.second (.var 2)) 1)])])), (.arm .none [] (.build .error (.result (.pair .nat (.list (.adt 0))) (.pair .bool .bool)) [(.call 4 [(.second (.var 1)), (.field (.first (.var 1)) 2)])]))])) }, - { parameters := [0], types := [.nat], result := (.pair (.adt 1) .bool), - body := (.call 5 [(.closure 6 [(.var 0)]), (.value .nat (.nat 8)), (.call 7 [(.var 0)])]) }, - { parameters := [0, 1], types := [.bool, .bool], result := (.pair .bool .bool), - body := (.cond (.cond (.var 0) (.prim .boolNot [(.var 1)]) (.build .false .bool [])) (.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])]) (.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])) }, - { parameters := [0, 1, 2], types := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)], result := (.pair (.adt 1) .bool), - body := (.«match» (.pair (.adt 1) .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair (.adt 1) .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 5 [(.var 0), (.var 3), (.var 4)]))]))]) }, - { parameters := [0, 1], types := [.nat, (.adt 1)], result := (.option (.adt 1)), - body := (.call 8 [(.var 0), (.var 1)]) }, - { parameters := [0], types := [.nat], result := (.adt 1), - body := (.«let» 1 (.list (.adt 2)) (.call 9 [(.closure 10 []), (.build .nil (.list (.adt 2)) []), (.build .cons (.list (.adt 2)) [(.build (.adt 0) (.adt 2) [(.call 11 [(.var 0)]), (.build .nil (.list (.adt 0)) [])]), (.build .nil (.list (.adt 2)) [])])]) (.build (.adt 0) (.adt 1) [(.var 1), (.build .none (.option (.pair .nat (.adt 2))) []), (.prim .natLt [(.value .nat (.nat 3)), (.value .nat (.nat 1))]), (.build (.adt 0) (.adt 3) [(.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.prim .length [(.var 1)])])])) }, - { parameters := [0, 1], types := [.nat, (.adt 1)], result := (.option (.adt 1)), - body := (.«match» (.option (.adt 1)) (.field (.var 1) 1) [(.arm .some [2] (.build .none (.option (.adt 1)) [])), (.arm .none [] (.«match» (.option (.adt 1)) (.field (.var 1) 0) [(.arm .nil [] (.build .none (.option (.adt 1)) [])), (.arm .cons [3, 4] (.«match» (.option (.adt 1)) (.call 12 [(.var 0), (.field (.var 3) 0)]) [(.arm .some [5] (.build .some (.option (.adt 1)) [(.build (.adt 0) (.adt 1) [(.var 4), (.build .some (.option (.pair .nat (.adt 2))) [(.build .pair (.pair .nat (.adt 2)) [(.var 5), (.var 3)])]), (.field (.var 1) 2), (.build (.adt 0) (.adt 3) [(.prim .natAdd [(.field (.field (.var 1) 3) 0), (.value .nat (.nat 1))]), (.field (.field (.var 1) 3) 1), (.field (.field (.var 1) 3) 2), (.field (.field (.var 1) 3) 3), (.prim .natAdd [(.field (.field (.var 1) 3) 4), (.value .nat (.nat 1))]), (.field (.field (.var 1) 3) 5)])])])), (.arm .none [] (.«let» 6 (.list (.adt 2)) (.call 13 [(.var 3)]) (.«let» 7 (.list (.adt 2)) (.var 6) (.«let» 8 (.list (.adt 2)) (.prim .append [(.var 7), (.var 4)]) (.«let» 9 (.list (.adt 2)) (.call 9 [(.closure 14 []), (.build .nil (.list (.adt 2)) []), (.var 8)]) (.build .some (.option (.adt 1)) [(.build (.adt 0) (.adt 1) [(.var 9), (.build .none (.option (.pair .nat (.adt 2))) []), (.cond (.field (.var 1) 2) (.build .true .bool []) (.prim .natLt [(.value .nat (.nat 3)), (.prim .length [(.var 8)])])), (.build (.adt 0) (.adt 3) [(.prim .natAdd [(.field (.field (.var 1) 3) 0), (.value .nat (.nat 1))]), (.prim .natAdd [(.field (.field (.var 1) 3) 1), (.call 15 [(.field (.var 3) 0)])]), (.prim .natAdd [(.field (.field (.var 1) 3) 2), (.prim .length [(.var 6)])]), (.prim .natAdd [(.field (.field (.var 1) 3) 3), (.value .nat (.nat 1))]), (.prim .natAdd [(.field (.field (.var 1) 3) 4), (.value .nat (.nat 1))]), (.cond (.prim .natLt [(.field (.field (.var 1) 3) 5), (.prim .length [(.var 9)])]) (.prim .length [(.var 9)]) (.field (.field (.var 1) 3) 5))])])]))))))]))]))]) }, - { parameters := [0, 1, 2], types := [(.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (.list (.adt 2)), (.list (.adt 2))], result := (.list (.adt 2)), - body := (.«match» (.list (.adt 2)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 9 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1], types := [(.list (.adt 2)), (.adt 2)], result := (.list (.adt 2)), - body := (.cond (.prim .natLt [(.prim .length [(.var 0)]), (.value .nat (.nat 3))]) (.prim .append [(.var 0), (.build .cons (.list (.adt 2)) [(.var 1), (.build .nil (.list (.adt 2)) [])])]) (.var 0)) }, - { parameters := [0], types := [.nat], result := (.pair .nat .nat), - body := (.build .pair (.pair .nat .nat) [(.var 0), (.value .nat (.nat 0))]) }, - { parameters := [0, 1], types := [.nat, (.pair .nat .nat)], result := (.option .nat), - body := (.«match» (.option .nat) (.call 16 [(.var 1)]) [(.arm .none [] (.build .none (.option .nat) [])), (.arm .some [2] (.cond (.call 17 [(.var 0), (.var 2)]) (.build .some (.option .nat) [(.var 2)]) (.build .none (.option .nat) [])))]) }, - { parameters := [0], types := [(.adt 2)], result := (.list (.adt 2)), - body := (.call 18 [(.var 0)]) }, - { parameters := [0, 1], types := [(.list (.adt 2)), (.adt 2)], result := (.list (.adt 2)), - body := (.cond (.prim .natLt [(.prim .length [(.var 0)]), (.value .nat (.nat 3))]) (.prim .append [(.var 0), (.build .cons (.list (.adt 2)) [(.var 1), (.build .nil (.list (.adt 2)) [])])]) (.var 0)) }, - { parameters := [0], types := [(.pair .nat .nat)], result := .nat, - body := (.prim .length [(.call 19 [(.var 0)])]) }, - { parameters := [0], types := [(.pair .nat .nat)], result := (.option .nat), - body := (.cond (.prim .natLt [(.value .nat (.nat 0)), (.second (.var 0))]) (.build .some (.option .nat) [(.second (.var 0))]) (.build .none (.option .nat) [])) }, - { parameters := [0, 1], types := [.nat, .nat], result := .bool, - body := (.prim .natLe [(.prim .natAdd [(.var 1), (.var 1)]), (.var 0)]) }, - { parameters := [0], types := [(.adt 2)], result := (.list (.adt 2)), - body := (.call 20 [(.closure 21 [(.var 0)]), (.build .nil (.list (.adt 2)) []), (.call 19 [(.field (.var 0) 0)])]) }, - { parameters := [0], types := [(.pair .nat .nat)], result := (.list .nat), - body := (.«match» (.list .nat) (.«let» 1 .nat (.first (.var 0)) (.«let» 2 (.list .nat) (.call 22 [(.var 1)]) (.cond (.call 23 [(.var 1), (.var 2)]) (.build .ok (.result (.list .nat) (.pair .bool .bool)) [(.var 2)]) (.build .error (.result (.list .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])))) [(.arm .ok [3] (.var 3)), (.arm .error [4] (.build .nil (.list .nat) []))]) }, - { parameters := [0, 1, 2], types := [(.fn [(.list (.adt 2)), .nat] (.list (.adt 2))), (.list (.adt 2)), (.list .nat)], result := (.list (.adt 2)), - body := (.«match» (.list (.adt 2)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 20 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1, 2], types := [(.adt 2), (.list (.adt 2)), .nat], result := (.list (.adt 2)), - body := (.call 24 [(.var 0), (.var 1), (.var 2)]) }, - { parameters := [0], types := [.nat], result := (.list .nat), - body := (.call 25 [(.var 0)]) }, - { parameters := [0, 1], types := [.nat, (.list .nat)], result := .bool, - body := (.prim .natLe [(.prim .length [(.var 1)]), (.value .nat (.nat 4))]) }, - { parameters := [0, 1, 2], types := [(.adt 2), (.list (.adt 2)), .nat], result := (.list (.adt 2)), - body := (.«match» (.list (.adt 2)) (.call 26 [(.field (.var 0) 0), (.build (.adt 0) (.adt 0) [(.var 2)])]) [(.arm .none [] (.var 1)), (.arm .some [3] (.prim .append [(.var 1), (.build .cons (.list (.adt 2)) [(.build (.adt 0) (.adt 2) [(.var 3), (.prim .append [(.field (.var 0) 1), (.build .cons (.list (.adt 0)) [(.build (.adt 0) (.adt 0) [(.var 2)]), (.build .nil (.list (.adt 0)) [])])])]), (.build .nil (.list (.adt 2)) [])])]))]) }, - { parameters := [0], types := [.nat], result := (.list .nat), - body := (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 10))]), (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 20))]), (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 30))]), (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 50))]), (.build .nil (.list .nat) [])])])])]) }, - { parameters := [0, 1], types := [(.pair .nat .nat), (.adt 0)], result := (.option (.pair .nat .nat)), - body := (.«match» (.option (.pair .nat .nat)) (.var 1) [(.arm (.adt 0) [2] (.call 27 [(.var 0), (.var 2)]))]) }, - { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := (.option (.pair .nat .nat)), - body := (.cond (.call 28 [(.var 0), (.var 1)]) (.build .some (.option (.pair .nat .nat)) [(.call 29 [(.var 0), (.var 1)])]) (.build .none (.option (.pair .nat .nat)) [])) }, - { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := .bool, - body := (.cond (.prim .natEq [(.second (.var 0)), (.value .nat (.nat 0))]) (.prim .natLt [(.value .nat (.nat 0)), (.var 1)]) (.build .false .bool [])) }, - { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := (.pair .nat .nat), - body := (.build .pair (.pair .nat .nat) [(.first (.var 0)), (.var 1)]) }] } - -def __enc_0 : (Reasoning.Screening.Screen.Step) -> _root_.LexLeanTarget.TargetSyntax.Value - | Reasoning.Screening.Screen.Step.Propose __x0 => _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat __x0)] - -def __enc_2 (__s : (Reasoning.Screening.Screen.Node)) : _root_.LexLeanTarget.TargetSyntax.Value := - _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (__s).state), ((_root_.LexLeanPreservation.encList __enc_0) (__s).trace)] - -def __enc_3 (__s : (Reasoning.Screening.Screen.Ledger)) : _root_.LexLeanTarget.TargetSyntax.Value := - _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).iterations), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).attempts), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).firings), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).expansions), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).verifications), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).frontier)] - -def __enc_1 (__s : (Reasoning.Screening.Screen.Search)) : _root_.LexLeanTarget.TargetSyntax.Value := - _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [((_root_.LexLeanPreservation.encList __enc_2) (__s).frontier), ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat __enc_2)) (__s).found), (_root_.LexLeanTarget.TargetSyntax.Value.bool (__s).truncated), (__enc_3 (__s).ledger)] - -def __fits_16 (pick : (Prod Nat Nat)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.blt (0 : Nat) (pick).2) then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -theorem __rel_16 (pick : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 16 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) pick)] (_root_.LexLeanPreservation.Rel (__fits_16 pick) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Screening.Screen.extract pick))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then (Option.some ((pick).2) : (Option Nat)) else (Option.none : (Option Nat)))) (Nat.blt (0 : Nat) (pick).2) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (0 : Nat) (pick).2)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_17 (w : Nat) (r : Nat) : Bool := - ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (r + r) 18446744073709551616)) && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_17 (w : Nat) (r : Nat) : _root_.LexLeanPreservation.FunRel __prog 17 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w), (_root_.LexLeanTarget.TargetSyntax.Value.nat r)] (_root_.LexLeanPreservation.Rel (__fits_17 w r) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Screening.safeCheck w r))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd r r)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe (r + r) w)) - -def __fits_12 (w : Nat) (_ys : (Prod Nat Nat)) : Bool := - (((Bool.true && Bool.true) && (__fits_16 (_ys))) && (match (Reasoning.Screening.Screen.extract (_ys)) with | Option.none => (Bool.true && Bool.true) | Option.some _yv => (((Bool.true && (Bool.true && Bool.true)) && (__fits_17 (w) (_yv))) && (if (Reasoning.Screening.safeCheck (w) (_yv)) then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) - -attribute [local irreducible] Reasoning.Screening.Screen.extract Reasoning.Screening.safeCheck in -theorem __rel_12 (w : Nat) (_ys : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 12 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w), ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _ys)] (_root_.LexLeanPreservation.Rel (__fits_12 w _ys) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Screening.Screen.accept w _ys))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.none => (Bool.true && Bool.true) | Option.some _yv => (((Bool.true && (Bool.true && Bool.true)) && (__fits_17 (w) (_yv))) && (if (Reasoning.Screening.safeCheck (w) (_yv)) then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.none => (Option.none : (Option Nat)) | Option.some _yv => (if (Reasoning.Screening.safeCheck (w) (_yv)) then (Option.some (_yv) : (Option Nat)) else (Option.none : (Option Nat))))) (Reasoning.Screening.Screen.extract (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_16 (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | Option.some _yv => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then (Option.some (_yv) : (Option Nat)) else (Option.none : (Option Nat)))) (Reasoning.Screening.safeCheck (w) (_yv)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_17 (w) (_yv))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) - -def __fits_25 (w : Nat) : Bool := - ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) - -theorem __rel_25 (w : Nat) : _root_.LexLeanPreservation.FunRel __prog 25 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (_root_.LexLeanPreservation.Rel (__fits_25 w) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Screening.DoseCandidates w))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub w (10 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub w (20 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub w (30 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub w (50 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) - -def __fits_22 (_yinput : Nat) : Bool := - ((Bool.true && Bool.true) && (__fits_25 (_yinput))) - -attribute [local irreducible] Reasoning.Screening.DoseCandidates in -theorem __rel_22 (_yinput : Nat) : _root_.LexLeanPreservation.FunRel __prog 22 [(_root_.LexLeanTarget.TargetSyntax.Value.nat _yinput)] (_root_.LexLeanPreservation.Rel (__fits_22 _yinput) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Screening.DoseModel _yinput))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_25 (_yinput))) - -def __fits_23 (w : Nat) (doses : (List Nat)) : Bool := - ((((Bool.true && Bool.true) && (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (doses) : Nat) 18446744073709551616)) && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_23 (w : Nat) (doses : (List Nat)) : _root_.LexLeanPreservation.FunRel __prog 23 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) doses)] (_root_.LexLeanPreservation.Rel (__fits_23 w doses) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Screening.shortCheck w doses))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) doses)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe (Reasoning.Screening.LexLeanRuntime.length (doses) : Nat) (4 : Nat))) - -def __fits_19 (s : (Prod Nat Nat)) : Bool := - ((Bool.true && (let _ychecked1_input : Nat := (s).1; (((Bool.true && Bool.true) && (__fits_22 (_ychecked1_input))) && (let _ychecked1_output : (List Nat) := (Reasoning.Screening.DoseModel (_ychecked1_input)); (((Bool.true && (Bool.true && Bool.true)) && (__fits_23 (_ychecked1_input) (_ychecked1_output))) && (if (Reasoning.Screening.shortCheck (_ychecked1_input) (_ychecked1_output)) then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))))) && (match (let _ychecked1_input : Nat := (s).1; (let _ychecked1_output : (List Nat) := (Reasoning.Screening.DoseModel (_ychecked1_input)); (if (Reasoning.Screening.shortCheck (_ychecked1_input) (_ychecked1_output)) then (Except.ok (_ychecked1_output) : (Except (Prod Bool Bool) (List Nat))) else (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (List Nat)))))) with | Except.ok proposed => Bool.true | Except.error refusal => (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Screening.DoseModel Reasoning.Screening.shortCheck in -theorem __rel_19 (s : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 19 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s)] (_root_.LexLeanPreservation.Rel (__fits_19 s) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Screening.Propose.candidates s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun (__a : (Except (Prod Bool Bool) (List Nat))) => (match __a with | Except.ok proposed => Bool.true | Except.error refusal => (Bool.true && Bool.true))) (fun (__a : (Except (Prod Bool Bool) (List Nat))) => (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Except.ok proposed => proposed | Except.error refusal => ([] : List Nat))) (let _ychecked1_input : Nat := (s).1; (let _ychecked1_output : (List Nat) := (Reasoning.Screening.DoseModel (_ychecked1_input)); (if (Reasoning.Screening.shortCheck (_ychecked1_input) (_ychecked1_output)) then (Except.ok (_ychecked1_output) : (Except (Prod Bool Bool) (List Nat))) else (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (List Nat)))))) (let _ychecked1_input : Nat := (s).1; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (let _ychecked1_output : (List Nat) := (Reasoning.Screening.DoseModel (_ychecked1_input)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_22 (_ychecked1_input))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (Except.ok (_ychecked1_output) : (Except (Prod Bool Bool) (List Nat))) else (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (List Nat))))) (Reasoning.Screening.shortCheck (_ychecked1_input) (_ychecked1_output)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_23 (_ychecked1_input) (_ychecked1_output))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))) (fun (__a : (Except (Prod Bool Bool) (List Nat))) _ => match __a with | Except.ok proposed => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | Except.error refusal => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil))))) - -def __fits_28 (s : (Prod Nat Nat)) (d : Nat) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).2 (0 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) - -theorem __rel_28 (s : (Prod Nat Nat)) (d : Nat) : _root_.LexLeanPreservation.FunRel __prog 28 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s), (_root_.LexLeanTarget.TargetSyntax.Value.nat d)] (_root_.LexLeanPreservation.Rel (__fits_28 s d) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Screening.Propose.guard s d))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.blt (0 : Nat) d))) (Nat.beq (s).2 (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).2 (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (0 : Nat) d))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_29 (s : (Prod Nat Nat)) (d : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_29 (s : (Prod Nat Nat)) (d : Nat) : _root_.LexLeanPreservation.FunRel __prog 29 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s), (_root_.LexLeanTarget.TargetSyntax.Value.nat d)] (_root_.LexLeanPreservation.Rel (__fits_29 s d) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Screening.Propose.conclusion s d))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) - -def __fits_27 (s : (Prod Nat Nat)) (d : Nat) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && (__fits_28 (s) (d))) && (if (Reasoning.Screening.Propose.guard (s) (d)) then ((((Bool.true && (Bool.true && Bool.true)) && (__fits_29 (s) (d))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Screening.Propose.conclusion Reasoning.Screening.Propose.guard in -theorem __rel_27 (s : (Prod Nat Nat)) (d : Nat) : _root_.LexLeanPreservation.FunRel __prog 27 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s), (_root_.LexLeanTarget.TargetSyntax.Value.nat d)] (_root_.LexLeanPreservation.Rel (__fits_27 s d) ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Reasoning.Screening.Propose.apply s d))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && (Bool.true && Bool.true)) && (__fits_29 (s) (d))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (Option.some ((Reasoning.Screening.Propose.conclusion (s) (d))) : (Option (Prod Nat Nat))) else (Option.none : (Option (Prod Nat Nat))))) (Reasoning.Screening.Propose.guard (s) (d)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_28 (s) (d))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_29 (s) (d))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_26 (_ys : (Prod Nat Nat)) (_ystep : (Reasoning.Screening.Screen.Step)) : Bool := - (Bool.true && (match _ystep with | Reasoning.Screening.Screen.Step.Propose _yb => ((Bool.true && (Bool.true && Bool.true)) && (__fits_27 (_ys) (_yb))))) - -attribute [local irreducible] Reasoning.Screening.Propose.apply in -theorem __rel_26 (_ys : (Prod Nat Nat)) (_ystep : (Reasoning.Screening.Screen.Step)) : _root_.LexLeanPreservation.FunRel __prog 26 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _ys), (__enc_0 _ystep)] (_root_.LexLeanPreservation.Rel (__fits_26 _ys _ystep) ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Reasoning.Screening.Screen.fire _ys _ystep))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_0 (fun (__a : (Reasoning.Screening.Screen.Step)) => (match __a with | Reasoning.Screening.Screen.Step.Propose _yb => ((Bool.true && (Bool.true && Bool.true)) && (__fits_27 (_ys) (_yb))))) (fun (__a : (Reasoning.Screening.Screen.Step)) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (match __a with | Reasoning.Screening.Screen.Step.Propose _yb => (Reasoning.Screening.Propose.apply (_ys) (_yb)))) _ystep (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Reasoning.Screening.Screen.Step)) _ => match __a with | Reasoning.Screening.Screen.Step.Propose _yb => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_27 (_ys) (_yb)))))) - -def __fits_24 (_ynode : (Reasoning.Screening.Screen.Node)) (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yb : Nat) : Bool := - (((Bool.true && (((Bool.true && Bool.true) && Bool.true) && Bool.true)) && (__fits_26 ((_ynode).state) ((Reasoning.Screening.Screen.Step.Propose (_yb) : (Reasoning.Screening.Screen.Step))))) && (match (Reasoning.Screening.Screen.fire ((_ynode).state) ((Reasoning.Screening.Screen.Step.Propose (_yb) : (Reasoning.Screening.Screen.Step)))) with | Option.none => Bool.true | Option.some _yt => ((Bool.true && (((((Bool.true && (((Bool.true && (((((Bool.true && Bool.true) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) - -attribute [local irreducible] Reasoning.Screening.Screen.fire in -theorem __rel_24 (_ynode : (Reasoning.Screening.Screen.Node)) (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yb : Nat) : _root_.LexLeanPreservation.FunRel __prog 24 [(__enc_2 _ynode), ((_root_.LexLeanPreservation.encList __enc_2) _yacc), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yb)] (_root_.LexLeanPreservation.Rel (__fits_24 _ynode _yacc _yb) ((_root_.LexLeanPreservation.encList __enc_2) (Reasoning.Screening.Screen.Propose.collect _ynode _yacc _yb))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun (__a : (Option (Prod Nat Nat))) => (match __a with | Option.none => Bool.true | Option.some _yt => ((Bool.true && (((((Bool.true && (((Bool.true && (((((Bool.true && Bool.true) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) (fun (__a : (Option (Prod Nat Nat))) => (_root_.LexLeanPreservation.encList __enc_2) (match __a with | Option.none => _yacc | Option.some _yt => (Reasoning.Screening.LexLeanRuntime.append (_yacc) ((({ state := _yt, trace := (Reasoning.Screening.LexLeanRuntime.append ((_ynode).trace) (((Reasoning.Screening.Screen.Step.Propose (_yb) : (Reasoning.Screening.Screen.Step)) :: ([] : List (Reasoning.Screening.Screen.Step)))) : (List (Reasoning.Screening.Screen.Step))) } : (Reasoning.Screening.Screen.Node)) :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))))) (Reasoning.Screening.Screen.fire ((_ynode).state) ((Reasoning.Screening.Screen.Step.Propose (_yb) : (Reasoning.Screening.Screen.Step)))) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil)) (__rel_26 ((_ynode).state) ((Reasoning.Screening.Screen.Step.Propose (_yb) : (Reasoning.Screening.Screen.Step))))) (fun (__a : (Option (Prod Nat Nat))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | Option.some _yt => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_0) (_ynode).trace ((Reasoning.Screening.Screen.Step.Propose (_yb) : (Reasoning.Screening.Screen.Step)) :: ([] : List (Reasoning.Screening.Screen.Step))))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_2) _yacc (({ state := _yt, trace := (Reasoning.Screening.LexLeanRuntime.append ((_ynode).trace) (((Reasoning.Screening.Screen.Step.Propose (_yb) : (Reasoning.Screening.Screen.Step)) :: ([] : List (Reasoning.Screening.Screen.Step)))) : (List (Reasoning.Screening.Screen.Step))) } : (Reasoning.Screening.Screen.Node)) :: ([] : List (Reasoning.Screening.Screen.Node))))))))) - -def __fits_21 (_ynode : (Reasoning.Screening.Screen.Node)) (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yb : Nat) : Bool := - ((Bool.true && (Bool.true && (Bool.true && Bool.true))) && (__fits_24 (_ynode) (_yacc) (_yb))) - -attribute [local irreducible] Reasoning.Screening.Screen.Propose.collect in -theorem __rel_21 (_ynode : (Reasoning.Screening.Screen.Node)) (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yb : Nat) : _root_.LexLeanPreservation.FunRel __prog 21 [(__enc_2 _ynode), ((_root_.LexLeanPreservation.encList __enc_2) _yacc), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yb)] (_root_.LexLeanPreservation.Rel (__fits_21 _ynode _yacc _yb) ((_root_.LexLeanPreservation.encList __enc_2) ((Reasoning.Screening.Screen.Propose.collect (_ynode) (_yacc) (_yb))))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (__rel_24 (_ynode) (_yacc) (_yb))) - -def __fits_18 (_ynode : (Reasoning.Screening.Screen.Node)) : Bool := - (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && (((Bool.true && Bool.true) && (__fits_19 ((_ynode).state))) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List (Reasoning.Screening.Screen.Node))) (__p1 : Nat) => __fits_21 (_ynode) __p0 __p1) ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yb : Nat) => (Reasoning.Screening.Screen.Propose.collect (_ynode) (_yacc) (_yb)))) (([] : List (Reasoning.Screening.Screen.Node))) ((Reasoning.Screening.Propose.candidates ((_ynode).state))))) - -attribute [local irreducible] Reasoning.Screening.Propose.candidates Reasoning.Screening.Screen.Propose.collect in -theorem __rel_18 (_ynode : (Reasoning.Screening.Screen.Node)) : _root_.LexLeanPreservation.FunRel __prog 18 [(__enc_2 _ynode)] (_root_.LexLeanPreservation.Rel (__fits_18 _ynode) ((_root_.LexLeanPreservation.encList __enc_2) (Reasoning.Screening.Screen.Propose.successors _ynode))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_19 ((_ynode).state))) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.nat) (es := (_root_.LexLeanPreservation.encList __enc_2)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yb : Nat) => (Reasoning.Screening.Screen.Propose.collect (_ynode) (_yacc) (_yb)))) (fun (__p0 : (List (Reasoning.Screening.Screen.Node))) (__p1 : Nat) => __fits_21 (_ynode) __p0 __p1) 21 [(__enc_2 _ynode)] (fun (__p0 : (List (Reasoning.Screening.Screen.Node))) (__p1 : Nat) => __rel_21 (_ynode) __p0 __p1) (p := __prog) (fi := 20) (ta := .nat) (ts := (.list (.adt 2))) rfl (([] : List (Reasoning.Screening.Screen.Node))) ((Reasoning.Screening.Propose.candidates ((_ynode).state))))) - -def __fits_13 (_ynode : (Reasoning.Screening.Screen.Node)) : Bool := - ((Bool.true && Bool.true) && (__fits_18 (_ynode))) - -attribute [local irreducible] Reasoning.Screening.Screen.Propose.successors in -theorem __rel_13 (_ynode : (Reasoning.Screening.Screen.Node)) : _root_.LexLeanPreservation.FunRel __prog 13 [(__enc_2 _ynode)] (_root_.LexLeanPreservation.Rel (__fits_13 _ynode) ((_root_.LexLeanPreservation.encList __enc_2) (Reasoning.Screening.Screen.successors _ynode))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_18 (_ynode))) - -def __fits_14 (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) : Bool := - (((((Bool.true && Bool.true) && (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yacc) : Nat) 18446744073709551616)) && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then ((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) else Bool.true)) - -theorem __rel_14 (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) : _root_.LexLeanPreservation.FunRel __prog 14 [((_root_.LexLeanPreservation.encList __enc_2) _yacc), (__enc_2 _yn)] (_root_.LexLeanPreservation.Rel (__fits_14 _yacc _yn) ((_root_.LexLeanPreservation.encList __enc_2) ((if (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (Reasoning.Screening.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc)))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) else Bool.true)) (fun (__b : Bool) => (_root_.LexLeanPreservation.encList __enc_2) (if __b then (Reasoning.Screening.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc)) (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_2) _yacc)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (Reasoning.Screening.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_2) _yacc (_yn :: ([] : List (Reasoning.Screening.Screen.Node)))))) (fun _ => (_root_.LexLeanPreservation.conv_var rfl))) - -def __fits_15 (_ys : (Prod Nat Nat)) : Bool := - ((((Bool.true && Bool.true) && (__fits_19 (_ys))) && Bool.true) && (Nat.blt (Reasoning.Screening.LexLeanRuntime.length ((Reasoning.Screening.Propose.candidates (_ys))) : Nat) 18446744073709551616)) - -attribute [local irreducible] Reasoning.Screening.Propose.candidates in -theorem __rel_15 (_ys : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 15 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _ys)] (_root_.LexLeanPreservation.Rel (__fits_15 _ys) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Screening.Screen.attempts _ys))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_19 (_ys))) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Screening.Propose.candidates (_ys)))) - -def __fits_8 (w : Nat) (_yr : (Reasoning.Screening.Screen.Search)) : Bool := - (Bool.true && (match (_yr).found with | Option.some _yhit => (Bool.true && Bool.true) | Option.none => (Bool.true && (match (_yr).frontier with | List.nil => (Bool.true && Bool.true) | List.cons _ynode _yrest => (((Bool.true && (Bool.true && Bool.true)) && (__fits_12 (w) ((_ynode).state))) && (match (Reasoning.Screening.Screen.accept (w) ((_ynode).state)) with | Option.some _yv => ((((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (Bool.true && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true)))) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_13 (_ynode))) && (let _ysuccessors : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.Screen.successors (_ynode)); (Bool.true && (let _yfresh : (List (Reasoning.Screening.Screen.Node)) := _ysuccessors; (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (let _yordered : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.LexLeanRuntime.append (_yfresh) (_yrest) : (List (Reasoning.Screening.Screen.Node))); (((Bool.true && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List (Reasoning.Screening.Screen.Node))) (__p1 : (Reasoning.Screening.Screen.Node)) => __fits_14 __p0 __p1) ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (Reasoning.Screening.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) (_yordered))) && (let _ynext : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (Reasoning.Screening.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) (_yordered) : (List (Reasoning.Screening.Screen.Node))); ((((Bool.true && ((Bool.true && Bool.true) && ((Bool.true && (if (_yr).truncated then (Bool.true && Bool.true) else ((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yordered) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true))) && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (__fits_15 ((_ynode).state))) && Bool.true)) && (Nat.blt (((_yr).ledger).attempts + (Reasoning.Screening.Screen.attempts ((_ynode).state))) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_ysuccessors) : Nat) 18446744073709551616)) && Bool.true)) && (Nat.blt (((_yr).ledger).firings + (Reasoning.Screening.LexLeanRuntime.length (_ysuccessors) : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).expansions + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && ((((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true) && (if (Nat.blt ((_yr).ledger).frontier (Reasoning.Screening.LexLeanRuntime.length (_ynext) : Nat)) then ((Bool.true && Bool.true) && (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) else Bool.true)) && Bool.true)))))) && Bool.true) && Bool.true)))) && Bool.true) && Bool.true) && Bool.true))))))))))))))) - -attribute [local irreducible] Reasoning.Screening.Screen.accept Reasoning.Screening.Screen.attempts Reasoning.Screening.Screen.successors in -theorem __rel_8 (w : Nat) (_yr : (Reasoning.Screening.Screen.Search)) : _root_.LexLeanPreservation.FunRel __prog 8 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w), (__enc_1 _yr)] (_root_.LexLeanPreservation.Rel (__fits_8 w _yr) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Screening.Screen.searchStep w _yr))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat __enc_2)) (fun (__a : (Option (Prod Nat (Reasoning.Screening.Screen.Node)))) => (match __a with | Option.some _yhit => (Bool.true && Bool.true) | Option.none => (Bool.true && (match (_yr).frontier with | List.nil => (Bool.true && Bool.true) | List.cons _ynode _yrest => (((Bool.true && (Bool.true && Bool.true)) && (__fits_12 (w) ((_ynode).state))) && (match (Reasoning.Screening.Screen.accept (w) ((_ynode).state)) with | Option.some _yv => ((((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (Bool.true && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true)))) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_13 (_ynode))) && (let _ysuccessors : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.Screen.successors (_ynode)); (Bool.true && (let _yfresh : (List (Reasoning.Screening.Screen.Node)) := _ysuccessors; (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (let _yordered : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.LexLeanRuntime.append (_yfresh) (_yrest) : (List (Reasoning.Screening.Screen.Node))); (((Bool.true && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List (Reasoning.Screening.Screen.Node))) (__p1 : (Reasoning.Screening.Screen.Node)) => __fits_14 __p0 __p1) ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (Reasoning.Screening.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) (_yordered))) && (let _ynext : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (Reasoning.Screening.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) (_yordered) : (List (Reasoning.Screening.Screen.Node))); ((((Bool.true && ((Bool.true && Bool.true) && ((Bool.true && (if (_yr).truncated then (Bool.true && Bool.true) else ((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yordered) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true))) && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (__fits_15 ((_ynode).state))) && Bool.true)) && (Nat.blt (((_yr).ledger).attempts + (Reasoning.Screening.Screen.attempts ((_ynode).state))) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_ysuccessors) : Nat) 18446744073709551616)) && Bool.true)) && (Nat.blt (((_yr).ledger).firings + (Reasoning.Screening.LexLeanRuntime.length (_ysuccessors) : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).expansions + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && ((((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true) && (if (Nat.blt ((_yr).ledger).frontier (Reasoning.Screening.LexLeanRuntime.length (_ynext) : Nat)) then ((Bool.true && Bool.true) && (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) else Bool.true)) && Bool.true)))))) && Bool.true) && Bool.true)))) && Bool.true) && Bool.true) && Bool.true))))))))))))))) (fun (__a : (Option (Prod Nat (Reasoning.Screening.Screen.Node)))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Option.some _yhit => (Option.none : (Option (Reasoning.Screening.Screen.Search))) | Option.none => (match (_yr).frontier with | List.nil => (Option.none : (Option (Reasoning.Screening.Screen.Search))) | List.cons _ynode _yrest => (match (Reasoning.Screening.Screen.accept (w) ((_ynode).state)) with | Option.some _yv => (Option.some (({ frontier := _yrest, found := (Option.some ((_yv, _ynode)) : (Option (Prod Nat (Reasoning.Screening.Screen.Node)))), truncated := (_yr).truncated, ledger := ({ iterations := (((_yr).ledger).iterations + (1 : Nat)), attempts := ((_yr).ledger).attempts, firings := ((_yr).ledger).firings, expansions := ((_yr).ledger).expansions, verifications := (((_yr).ledger).verifications + (1 : Nat)), frontier := ((_yr).ledger).frontier } : (Reasoning.Screening.Screen.Ledger)) } : (Reasoning.Screening.Screen.Search))) : (Option (Reasoning.Screening.Screen.Search))) | Option.none => (let _ysuccessors : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.Screen.successors (_ynode)); (let _yfresh : (List (Reasoning.Screening.Screen.Node)) := _ysuccessors; (let _yordered : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.LexLeanRuntime.append (_yfresh) (_yrest) : (List (Reasoning.Screening.Screen.Node))); (let _ynext : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (Reasoning.Screening.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) (_yordered) : (List (Reasoning.Screening.Screen.Node))); (Option.some (({ frontier := _ynext, found := (Option.none : (Option (Prod Nat (Reasoning.Screening.Screen.Node)))), truncated := ((_yr).truncated || (Nat.blt (3 : Nat) (Reasoning.Screening.LexLeanRuntime.length (_yordered) : Nat))), ledger := ({ iterations := (((_yr).ledger).iterations + (1 : Nat)), attempts := (((_yr).ledger).attempts + (Reasoning.Screening.Screen.attempts ((_ynode).state))), firings := (((_yr).ledger).firings + (Reasoning.Screening.LexLeanRuntime.length (_ysuccessors) : Nat)), expansions := (((_yr).ledger).expansions + (1 : Nat)), verifications := (((_yr).ledger).verifications + (1 : Nat)), frontier := (if (Nat.blt ((_yr).ledger).frontier (Reasoning.Screening.LexLeanRuntime.length (_ynext) : Nat)) then (Reasoning.Screening.LexLeanRuntime.length (_ynext) : Nat) else ((_yr).ledger).frontier) } : (Reasoning.Screening.Screen.Ledger)) } : (Reasoning.Screening.Screen.Search))) : (Option (Reasoning.Screening.Screen.Search))))))))))) (_yr).found (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (fun (__a : (Option (Prod Nat (Reasoning.Screening.Screen.Node)))) _ => match __a with | Option.some _yhit => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList __enc_2) (fun (__a : (List (Reasoning.Screening.Screen.Node))) => (match __a with | List.nil => (Bool.true && Bool.true) | List.cons _ynode _yrest => (((Bool.true && (Bool.true && Bool.true)) && (__fits_12 (w) ((_ynode).state))) && (match (Reasoning.Screening.Screen.accept (w) ((_ynode).state)) with | Option.some _yv => ((((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (Bool.true && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true)))) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_13 (_ynode))) && (let _ysuccessors : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.Screen.successors (_ynode)); (Bool.true && (let _yfresh : (List (Reasoning.Screening.Screen.Node)) := _ysuccessors; (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (let _yordered : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.LexLeanRuntime.append (_yfresh) (_yrest) : (List (Reasoning.Screening.Screen.Node))); (((Bool.true && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List (Reasoning.Screening.Screen.Node))) (__p1 : (Reasoning.Screening.Screen.Node)) => __fits_14 __p0 __p1) ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (Reasoning.Screening.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) (_yordered))) && (let _ynext : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (Reasoning.Screening.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) (_yordered) : (List (Reasoning.Screening.Screen.Node))); ((((Bool.true && ((Bool.true && Bool.true) && ((Bool.true && (if (_yr).truncated then (Bool.true && Bool.true) else ((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yordered) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true))) && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (__fits_15 ((_ynode).state))) && Bool.true)) && (Nat.blt (((_yr).ledger).attempts + (Reasoning.Screening.Screen.attempts ((_ynode).state))) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_ysuccessors) : Nat) 18446744073709551616)) && Bool.true)) && (Nat.blt (((_yr).ledger).firings + (Reasoning.Screening.LexLeanRuntime.length (_ysuccessors) : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).expansions + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && ((((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true) && (if (Nat.blt ((_yr).ledger).frontier (Reasoning.Screening.LexLeanRuntime.length (_ynext) : Nat)) then ((Bool.true && Bool.true) && (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) else Bool.true)) && Bool.true)))))) && Bool.true) && Bool.true)))) && Bool.true) && Bool.true) && Bool.true))))))))))))) (fun (__a : (List (Reasoning.Screening.Screen.Node))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | List.nil => (Option.none : (Option (Reasoning.Screening.Screen.Search))) | List.cons _ynode _yrest => (match (Reasoning.Screening.Screen.accept (w) ((_ynode).state)) with | Option.some _yv => (Option.some (({ frontier := _yrest, found := (Option.some ((_yv, _ynode)) : (Option (Prod Nat (Reasoning.Screening.Screen.Node)))), truncated := (_yr).truncated, ledger := ({ iterations := (((_yr).ledger).iterations + (1 : Nat)), attempts := ((_yr).ledger).attempts, firings := ((_yr).ledger).firings, expansions := ((_yr).ledger).expansions, verifications := (((_yr).ledger).verifications + (1 : Nat)), frontier := ((_yr).ledger).frontier } : (Reasoning.Screening.Screen.Ledger)) } : (Reasoning.Screening.Screen.Search))) : (Option (Reasoning.Screening.Screen.Search))) | Option.none => (let _ysuccessors : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.Screen.successors (_ynode)); (let _yfresh : (List (Reasoning.Screening.Screen.Node)) := _ysuccessors; (let _yordered : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.LexLeanRuntime.append (_yfresh) (_yrest) : (List (Reasoning.Screening.Screen.Node))); (let _ynext : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (Reasoning.Screening.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) (_yordered) : (List (Reasoning.Screening.Screen.Node))); (Option.some (({ frontier := _ynext, found := (Option.none : (Option (Prod Nat (Reasoning.Screening.Screen.Node)))), truncated := ((_yr).truncated || (Nat.blt (3 : Nat) (Reasoning.Screening.LexLeanRuntime.length (_yordered) : Nat))), ledger := ({ iterations := (((_yr).ledger).iterations + (1 : Nat)), attempts := (((_yr).ledger).attempts + (Reasoning.Screening.Screen.attempts ((_ynode).state))), firings := (((_yr).ledger).firings + (Reasoning.Screening.LexLeanRuntime.length (_ysuccessors) : Nat)), expansions := (((_yr).ledger).expansions + (1 : Nat)), verifications := (((_yr).ledger).verifications + (1 : Nat)), frontier := (if (Nat.blt ((_yr).ledger).frontier (Reasoning.Screening.LexLeanRuntime.length (_ynext) : Nat)) then (Reasoning.Screening.LexLeanRuntime.length (_ynext) : Nat) else ((_yr).ledger).frontier) } : (Reasoning.Screening.Screen.Ledger)) } : (Reasoning.Screening.Screen.Search))) : (Option (Reasoning.Screening.Screen.Search)))))))))) (_yr).frontier (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (fun (__a : (List (Reasoning.Screening.Screen.Node))) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | List.cons _ynode _yrest => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.some _yv => ((((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (Bool.true && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true)))) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_13 (_ynode))) && (let _ysuccessors : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.Screen.successors (_ynode)); (Bool.true && (let _yfresh : (List (Reasoning.Screening.Screen.Node)) := _ysuccessors; (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (let _yordered : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.LexLeanRuntime.append (_yfresh) (_yrest) : (List (Reasoning.Screening.Screen.Node))); (((Bool.true && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List (Reasoning.Screening.Screen.Node))) (__p1 : (Reasoning.Screening.Screen.Node)) => __fits_14 __p0 __p1) ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (Reasoning.Screening.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) (_yordered))) && (let _ynext : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (Reasoning.Screening.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) (_yordered) : (List (Reasoning.Screening.Screen.Node))); ((((Bool.true && ((Bool.true && Bool.true) && ((Bool.true && (if (_yr).truncated then (Bool.true && Bool.true) else ((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yordered) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true))) && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (__fits_15 ((_ynode).state))) && Bool.true)) && (Nat.blt (((_yr).ledger).attempts + (Reasoning.Screening.Screen.attempts ((_ynode).state))) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_ysuccessors) : Nat) 18446744073709551616)) && Bool.true)) && (Nat.blt (((_yr).ledger).firings + (Reasoning.Screening.LexLeanRuntime.length (_ysuccessors) : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).expansions + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && ((((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true) && (if (Nat.blt ((_yr).ledger).frontier (Reasoning.Screening.LexLeanRuntime.length (_ynext) : Nat)) then ((Bool.true && Bool.true) && (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) else Bool.true)) && Bool.true)))))) && Bool.true) && Bool.true)))) && Bool.true) && Bool.true) && Bool.true))))))))))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Option.some _yv => (Option.some (({ frontier := _yrest, found := (Option.some ((_yv, _ynode)) : (Option (Prod Nat (Reasoning.Screening.Screen.Node)))), truncated := (_yr).truncated, ledger := ({ iterations := (((_yr).ledger).iterations + (1 : Nat)), attempts := ((_yr).ledger).attempts, firings := ((_yr).ledger).firings, expansions := ((_yr).ledger).expansions, verifications := (((_yr).ledger).verifications + (1 : Nat)), frontier := ((_yr).ledger).frontier } : (Reasoning.Screening.Screen.Ledger)) } : (Reasoning.Screening.Screen.Search))) : (Option (Reasoning.Screening.Screen.Search))) | Option.none => (let _ysuccessors : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.Screen.successors (_ynode)); (let _yfresh : (List (Reasoning.Screening.Screen.Node)) := _ysuccessors; (let _yordered : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.LexLeanRuntime.append (_yfresh) (_yrest) : (List (Reasoning.Screening.Screen.Node))); (let _ynext : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (Reasoning.Screening.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) (_yordered) : (List (Reasoning.Screening.Screen.Node))); (Option.some (({ frontier := _ynext, found := (Option.none : (Option (Prod Nat (Reasoning.Screening.Screen.Node)))), truncated := ((_yr).truncated || (Nat.blt (3 : Nat) (Reasoning.Screening.LexLeanRuntime.length (_yordered) : Nat))), ledger := ({ iterations := (((_yr).ledger).iterations + (1 : Nat)), attempts := (((_yr).ledger).attempts + (Reasoning.Screening.Screen.attempts ((_ynode).state))), firings := (((_yr).ledger).firings + (Reasoning.Screening.LexLeanRuntime.length (_ysuccessors) : Nat)), expansions := (((_yr).ledger).expansions + (1 : Nat)), verifications := (((_yr).ledger).verifications + (1 : Nat)), frontier := (if (Nat.blt ((_yr).ledger).frontier (Reasoning.Screening.LexLeanRuntime.length (_ynext) : Nat)) then (Reasoning.Screening.LexLeanRuntime.length (_ynext) : Nat) else ((_yr).ledger).frontier) } : (Reasoning.Screening.Screen.Ledger)) } : (Reasoning.Screening.Screen.Search))) : (Option (Reasoning.Screening.Screen.Search))))))))) (Reasoning.Screening.Screen.accept (w) ((_ynode).state)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_12 (w) ((_ynode).state))) (fun (__a : (Option Nat)) _ => match __a with | Option.some _yv => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).iterations (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).verifications (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) _root_.LexLeanPreservation.convL_nil)))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil)))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (let _ysuccessors : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.Screen.successors (_ynode)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_13 (_ynode))) (let _yfresh : (List (Reasoning.Screening.Screen.Node)) := _ysuccessors; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_var rfl) (let _yordered : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.LexLeanRuntime.append (_yfresh) (_yrest) : (List (Reasoning.Screening.Screen.Node))); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_2) _yfresh _yrest)) (let _ynext : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (Reasoning.Screening.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) (_yordered) : (List (Reasoning.Screening.Screen.Node))); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := __enc_2) (es := (_root_.LexLeanPreservation.encList __enc_2)) (_root_.LexLeanPreservation.listEnc __enc_2) (fun _ => rfl) ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (Reasoning.Screening.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (fun (__p0 : (List (Reasoning.Screening.Screen.Node))) (__p1 : (Reasoning.Screening.Screen.Node)) => __fits_14 __p0 __p1) 14 [] (fun (__p0 : (List (Reasoning.Screening.Screen.Node))) (__p1 : (Reasoning.Screening.Screen.Node)) => __rel_14 __p0 __p1) (p := __prog) (fi := 9) (ta := (.adt 2)) (ts := (.list (.adt 2))) rfl (([] : List (Reasoning.Screening.Screen.Node))) (_yordered))) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (Bool.true && Bool.true) else ((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yordered) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b || (Nat.blt (3 : Nat) (Reasoning.Screening.LexLeanRuntime.length (_yordered) : Nat)))) (_yr).truncated (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_2) _yordered)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (3 : Nat) (Reasoning.Screening.LexLeanRuntime.length (_yordered) : Nat))))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).iterations (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_15 ((_ynode).state))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).attempts (Reasoning.Screening.Screen.attempts ((_ynode).state)))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_2) _ysuccessors)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).firings (Reasoning.Screening.LexLeanRuntime.length (_ysuccessors) : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).expansions (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).verifications (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) else Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.nat (if __b then (Reasoning.Screening.LexLeanRuntime.length (_ynext) : Nat) else ((_yr).ledger).frontier)) (Nat.blt ((_yr).ledger).frontier (Reasoning.Screening.LexLeanRuntime.length (_ynext) : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_2) _ynext)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt ((_yr).ledger).frontier (Reasoning.Screening.LexLeanRuntime.length (_ynext) : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_2) _ynext))) (fun _ => (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl))) _root_.LexLeanPreservation.convL_nil)))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil)))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some))))))))))))))))) - -def __fits_6 (w : Nat) (_yr : (Reasoning.Screening.Screen.Search)) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && (__fits_8 (w) (_yr))) - -attribute [local irreducible] Reasoning.Screening.Screen.searchStep in -theorem __rel_6 (w : Nat) (_yr : (Reasoning.Screening.Screen.Search)) : _root_.LexLeanPreservation.FunRel __prog 6 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w), (__enc_1 _yr)] (_root_.LexLeanPreservation.Rel (__fits_6 w _yr) ((_root_.LexLeanPreservation.encOption __enc_1) ((Reasoning.Screening.Screen.searchStep (w) (_yr))))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_8 (w) (_yr))) - -def __fits_10 (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) : Bool := - (((((Bool.true && Bool.true) && (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yacc) : Nat) 18446744073709551616)) && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then ((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) else Bool.true)) - -theorem __rel_10 (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) : _root_.LexLeanPreservation.FunRel __prog 10 [((_root_.LexLeanPreservation.encList __enc_2) _yacc), (__enc_2 _yn)] (_root_.LexLeanPreservation.Rel (__fits_10 _yacc _yn) ((_root_.LexLeanPreservation.encList __enc_2) ((if (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (Reasoning.Screening.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc)))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) else Bool.true)) (fun (__b : Bool) => (_root_.LexLeanPreservation.encList __enc_2) (if __b then (Reasoning.Screening.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc)) (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_2) _yacc)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (Reasoning.Screening.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_2) _yacc (_yn :: ([] : List (Reasoning.Screening.Screen.Node)))))) (fun _ => (_root_.LexLeanPreservation.conv_var rfl))) - -def __fits_11 (w : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_11 (w : Nat) : _root_.LexLeanPreservation.FunRel __prog 11 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (_root_.LexLeanPreservation.Rel (__fits_11 w) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Screening.Screen.observe w))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) - -def __fits_7 (w : Nat) : Bool := - (((Bool.true && ((Bool.true && Bool.true) && (((((((Bool.true && Bool.true) && (__fits_11 (w))) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List (Reasoning.Screening.Screen.Node))) (__p1 : (Reasoning.Screening.Screen.Node)) => __fits_10 __p0 __p1) ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (Reasoning.Screening.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) ((({ state := (Reasoning.Screening.Screen.observe (w)), trace := ([] : List (Reasoning.Screening.Screen.Step)) } : (Reasoning.Screening.Screen.Node)) :: ([] : List (Reasoning.Screening.Screen.Node)))))) && (let _yfirst : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (Reasoning.Screening.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) ((({ state := (Reasoning.Screening.Screen.observe (w)), trace := ([] : List (Reasoning.Screening.Screen.Step)) } : (Reasoning.Screening.Screen.Node)) :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))); ((Bool.true && ((Bool.true && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (((Bool.true && Bool.true) && (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yfirst) : Nat) 18446744073709551616)) && Bool.true)))))) && Bool.true) && Bool.true)))) && Bool.true))) - -attribute [local irreducible] Reasoning.Screening.Screen.observe in -theorem __rel_7 (w : Nat) : _root_.LexLeanPreservation.FunRel __prog 7 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (_root_.LexLeanPreservation.Rel (__fits_7 w) (__enc_1 (Reasoning.Screening.Screen.start w))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (let _yfirst : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (Reasoning.Screening.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) ((({ state := (Reasoning.Screening.Screen.observe (w)), trace := ([] : List (Reasoning.Screening.Screen.Step)) } : (Reasoning.Screening.Screen.Node)) :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_11 (w))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := __enc_2) (es := (_root_.LexLeanPreservation.encList __enc_2)) (_root_.LexLeanPreservation.listEnc __enc_2) (fun _ => rfl) ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (Reasoning.Screening.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (Reasoning.Screening.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (fun (__p0 : (List (Reasoning.Screening.Screen.Node))) (__p1 : (Reasoning.Screening.Screen.Node)) => __fits_10 __p0 __p1) 10 [] (fun (__p0 : (List (Reasoning.Screening.Screen.Node))) (__p1 : (Reasoning.Screening.Screen.Node)) => __rel_10 __p0 __p1) (p := __prog) (fi := 9) (ta := (.adt 2)) (ts := (.list (.adt 2))) rfl (([] : List (Reasoning.Screening.Screen.Node))) ((({ state := (Reasoning.Screening.Screen.observe (w)), trace := ([] : List (Reasoning.Screening.Screen.Step)) } : (Reasoning.Screening.Screen.Node)) :: ([] : List (Reasoning.Screening.Screen.Node)))))) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (3 : Nat) (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_2) _yfirst)) _root_.LexLeanPreservation.convL_nil)))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil)))) _root_.LexLeanPreservation.construct_adt)) - -def __fits_3 (w : Nat) : Bool := - (((Bool.true && Bool.true) && (Bool.true && (((Bool.true && Bool.true) && (__fits_7 (w))) && Bool.true))) && (_root_.LexLeanPreservation.untilFits (fun (__p0 : (Reasoning.Screening.Screen.Search)) => __fits_6 (w) __p0) ((fun (_yr : (Reasoning.Screening.Screen.Search)) => (Reasoning.Screening.Screen.searchStep (w) (_yr)))) ((8 : Nat)) ((Reasoning.Screening.Screen.start (w))))) - -attribute [local irreducible] Reasoning.Screening.Screen.searchStep Reasoning.Screening.Screen.start in -theorem __rel_3 (w : Nat) : _root_.LexLeanPreservation.FunRel __prog 3 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (_root_.LexLeanPreservation.Rel (__fits_3 w) ((_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.bool) (Reasoning.Screening.Screen.run w))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_7 (w))) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_iterateUntil (es := __enc_1) (_root_.LexLeanPreservation.optEnc __enc_1) (fun _ => rfl) (_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.bool) (fun _ => rfl) ((fun (_yr : (Reasoning.Screening.Screen.Search)) => (Reasoning.Screening.Screen.searchStep (w) (_yr)))) (fun (__p0 : (Reasoning.Screening.Screen.Search)) => __fits_6 (w) __p0) 6 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (fun (__p0 : (Reasoning.Screening.Screen.Search)) => __rel_6 (w) __p0) (Reasoning.Screening.LexLeanCollections.iterateUntil ((fun (_yr : (Reasoning.Screening.Screen.Search)) => (Reasoning.Screening.Screen.searchStep (w) (_yr))))) (fun _ => rfl) (fun _ _ __h => by simp only [Reasoning.Screening.LexLeanCollections.iterateUntil, __h]) (fun _ _ _ __h => by simp only [Reasoning.Screening.LexLeanCollections.iterateUntil, __h]) (p := __prog) (fi := 5) (ts := (.adt 1)) rfl ((8 : Nat)) ((Reasoning.Screening.Screen.start (w))))) - -def __fits_4 (_ysaturated : Bool) (_ytruncated : Bool) : Bool := - ((Bool.true && (if _ysaturated then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (if (_ysaturated && (!_ytruncated)) then (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) else (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true))) - -theorem __rel_4 (_ysaturated : Bool) (_ytruncated : Bool) : _root_.LexLeanPreservation.FunRel __prog 4 [(_root_.LexLeanTarget.TargetSyntax.Value.bool _ysaturated), (_root_.LexLeanTarget.TargetSyntax.Value.bool _ytruncated)] (_root_.LexLeanPreservation.Rel (__fits_4 _ysaturated _ytruncated) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (Reasoning.Screening.Screen.failure _ysaturated _ytruncated))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) else (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (if __b then ((Bool.false, Bool.true) : (Prod Bool Bool)) else ((Bool.false, Bool.false) : (Prod Bool Bool)))) (_ysaturated && (!_ytruncated)) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (!_ytruncated))) _ysaturated (_root_.LexLeanPreservation.conv_var rfl) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_boolNot _ytruncated))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))) - -def __fits_2 (w : Nat) : Bool := - (((Bool.true && Bool.true) && (__fits_3 (w))) && (let _yfinal : (Prod (Reasoning.Screening.Screen.Search) Bool) := (Reasoning.Screening.Screen.run (w)); (Bool.true && (match ((_yfinal).1).found with | Option.some _yhit => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => ((((Bool.true && (Bool.true && Bool.true)) && (__fits_4 ((_yfinal).2) (((_yfinal).1).truncated))) && Bool.true) && Bool.true))))) - -attribute [local irreducible] Reasoning.Screening.Screen.failure Reasoning.Screening.Screen.run in -theorem __rel_2 (w : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (_root_.LexLeanPreservation.Rel (__fits_2 w) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList __enc_0))) (Reasoning.Screening.Screen w))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (let _yfinal : (Prod (Reasoning.Screening.Screen.Search) Bool) := (Reasoning.Screening.Screen.run (w)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_3 (w))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat __enc_2)) (fun (__a : (Option (Prod Nat (Reasoning.Screening.Screen.Node)))) => (match __a with | Option.some _yhit => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => ((((Bool.true && (Bool.true && Bool.true)) && (__fits_4 ((_yfinal).2) (((_yfinal).1).truncated))) && Bool.true) && Bool.true))) (fun (__a : (Option (Prod Nat (Reasoning.Screening.Screen.Node)))) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList __enc_0))) (match __a with | Option.some _yhit => (Except.ok (((_yhit).1, ((_yhit).2).trace)) : (Except (Prod Bool Bool) (Prod Nat (List (Reasoning.Screening.Screen.Step))))) | Option.none => (Except.error ((Reasoning.Screening.Screen.failure ((_yfinal).2) (((_yfinal).1).truncated))) : (Except (Prod Bool Bool) (Prod Nat (List (Reasoning.Screening.Screen.Step))))))) ((_yfinal).1).found (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) rfl) (fun (__a : (Option (Prod Nat (Reasoning.Screening.Screen.Node)))) _ => match __a with | Option.some _yhit => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_4 ((_yfinal).2) (((_yfinal).1).truncated))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))))) - -def __fits_1 (w : Nat) : Bool := - (((Bool.true && Bool.true) && (__fits_2 (w))) && (match (Reasoning.Screening.Screen (w)) with | Except.ok _yp => ((Bool.true && Bool.true) && Bool.true) | Except.error _ye => ((Bool.true && Bool.true) && Bool.true))) - -attribute [local irreducible] Reasoning.Screening.Screen in -theorem __rel_1 (w : Nat) : _root_.LexLeanPreservation.FunRel __prog 1 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (_root_.LexLeanPreservation.Rel (__fits_1 w) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Screening.Screen.verdict w))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList __enc_0))) (fun (__a : (Except (Prod Bool Bool) (Prod Nat (List (Reasoning.Screening.Screen.Step))))) => (match __a with | Except.ok _yp => ((Bool.true && Bool.true) && Bool.true) | Except.error _ye => ((Bool.true && Bool.true) && Bool.true))) (fun (__a : (Except (Prod Bool Bool) (Prod Nat (List (Reasoning.Screening.Screen.Step))))) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Except.ok _yp => (Except.ok ((_yp).1) : (Except (Prod Bool Bool) Nat)) | Except.error _ye => (Except.error (_ye) : (Except (Prod Bool Bool) Nat)))) (Reasoning.Screening.Screen (w)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_2 (w))) (fun (__a : (Except (Prod Bool Bool) (Prod Nat (List (Reasoning.Screening.Screen.Step))))) _ => match __a with | Except.ok _yp => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) | Except.error _ye => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))) - -def __fits_0 (w : Nat) : Bool := - (((Bool.true && Bool.true) && (__fits_1 (w))) && (match (Reasoning.Screening.Screen.verdict (w)) with | Except.ok dose => Bool.true | Except.error failure => Bool.true)) - -attribute [local irreducible] Reasoning.Screening.Screen.verdict in -theorem __rel_0 (w : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (_root_.LexLeanPreservation.Rel (__fits_0 w) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.screenDose w))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Except (Prod Bool Bool) Nat)) => (match __a with | Except.ok dose => Bool.true | Except.error failure => Bool.true)) (fun (__a : (Except (Prod Bool Bool) Nat)) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match __a with | Except.ok dose => dose | Except.error failure => (9 : Nat))) (Reasoning.Screening.Screen.verdict (w)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (w))) (fun (__a : (Except (Prod Bool Bool) Nat)) _ => match __a with | Except.ok dose => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | Except.error failure => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value)))) - -def denote (w : Nat) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 w) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.screenDose w)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (w : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (_root_.LexLeanPreservation.Rel (__fits_0 w) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.screenDose w))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 w) - -end LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6 diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R6/Compose/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R6/Compose/RustStd.lean deleted file mode 100644 index 00023408e..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R6/Compose/RustStd.lean +++ /dev/null @@ -1,28 +0,0 @@ -import LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6 -import LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.Compose.RustStd - -theorem __wt_0 : ∀ (__v : (Reasoning.Screening.Screen.Step)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd.program _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd.krate _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd.flags (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.__enc_0 __v) (.adt 0) - | Reasoning.Screening.Screen.Step.Propose __x0 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x0) _root_.LexLeanPreservation.Rust.wtl_nil) - -theorem __wt_2 : ∀ (__s : (Reasoning.Screening.Screen.Node)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd.program _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd.krate _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd.flags (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.__enc_2 __s) (.adt 2) := - fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_nat _root_.LexLeanPreservation.Rust.wt_nat) (__s).state) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList __wt_0) (__s).trace) _root_.LexLeanPreservation.Rust.wtl_nil)) - -theorem __wt_3 : ∀ (__s : (Reasoning.Screening.Screen.Ledger)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd.program _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd.krate _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd.flags (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.__enc_3 __s) (.adt 3) := - fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).iterations) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).attempts) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).firings) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).expansions) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).verifications) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).frontier) _root_.LexLeanPreservation.Rust.wtl_nil)))))) - -theorem __wt_1 : ∀ (__s : (Reasoning.Screening.Screen.Search)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd.program _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd.krate _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd.flags (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.__enc_1 __s) (.adt 1) := - fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList __wt_2) (__s).frontier) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encOption (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_nat __wt_2)) (__s).found) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_bool (__s).truncated) (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_3 (__s).ledger) _root_.LexLeanPreservation.Rust.wtl_nil)))) - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (w : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.denote w) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat w) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.root w) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.Compose.RustStd diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R6/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R6/RustStd.lean deleted file mode 100644 index 973d3f17a..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R6/RustStd.lean +++ /dev/null @@ -1,278 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [{ constructors := [[.nat]] }, - { constructors := [[(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]] }, - { constructors := [[(.pair .nat .nat), (.list (.adt 0))]] }, - { constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }], functions := [ - { parameters := [0], types := [.nat], result := .nat, - body := (.«match» .nat (.call 1 [(.var 0)]) [(.arm .ok [1] (.var 1)), (.arm .error [2] (.value .nat (.nat 9)))]) }, - { parameters := [0], types := [.nat], result := (.result .nat (.pair .bool .bool)), - body := (.«match» (.result .nat (.pair .bool .bool)) (.call 2 [(.var 0)]) [(.arm .ok [1] (.build .ok (.result .nat (.pair .bool .bool)) [(.first (.var 1))])), (.arm .error [2] (.build .error (.result .nat (.pair .bool .bool)) [(.var 2)]))]) }, - { parameters := [0], types := [.nat], result := (.result (.pair .nat (.list (.adt 0))) (.pair .bool .bool)), - body := (.«let» 1 (.pair (.adt 1) .bool) (.call 3 [(.var 0)]) (.«match» (.result (.pair .nat (.list (.adt 0))) (.pair .bool .bool)) (.field (.first (.var 1)) 1) [(.arm .some [2] (.build .ok (.result (.pair .nat (.list (.adt 0))) (.pair .bool .bool)) [(.build .pair (.pair .nat (.list (.adt 0))) [(.first (.var 2)), (.field (.second (.var 2)) 1)])])), (.arm .none [] (.build .error (.result (.pair .nat (.list (.adt 0))) (.pair .bool .bool)) [(.call 4 [(.second (.var 1)), (.field (.first (.var 1)) 2)])]))])) }, - { parameters := [0], types := [.nat], result := (.pair (.adt 1) .bool), - body := (.call 5 [(.closure 6 [(.var 0)]), (.value .nat (.nat 8)), (.call 7 [(.var 0)])]) }, - { parameters := [0, 1], types := [.bool, .bool], result := (.pair .bool .bool), - body := (.cond (.cond (.var 0) (.prim .boolNot [(.var 1)]) (.build .false .bool [])) (.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])]) (.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])) }, - { parameters := [0, 1, 2], types := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)], result := (.pair (.adt 1) .bool), - body := (.«match» (.pair (.adt 1) .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair (.adt 1) .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 5 [(.var 0), (.var 3), (.var 4)]))]))]) }, - { parameters := [0, 1], types := [.nat, (.adt 1)], result := (.option (.adt 1)), - body := (.call 8 [(.var 0), (.var 1)]) }, - { parameters := [0], types := [.nat], result := (.adt 1), - body := (.«let» 1 (.list (.adt 2)) (.call 9 [(.closure 10 []), (.build .nil (.list (.adt 2)) []), (.build .cons (.list (.adt 2)) [(.build (.adt 0) (.adt 2) [(.call 11 [(.var 0)]), (.build .nil (.list (.adt 0)) [])]), (.build .nil (.list (.adt 2)) [])])]) (.build (.adt 0) (.adt 1) [(.var 1), (.build .none (.option (.pair .nat (.adt 2))) []), (.prim .natLt [(.value .nat (.nat 3)), (.value .nat (.nat 1))]), (.build (.adt 0) (.adt 3) [(.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.prim .length [(.var 1)])])])) }, - { parameters := [0, 1], types := [.nat, (.adt 1)], result := (.option (.adt 1)), - body := (.«match» (.option (.adt 1)) (.field (.var 1) 1) [(.arm .some [2] (.build .none (.option (.adt 1)) [])), (.arm .none [] (.«match» (.option (.adt 1)) (.field (.var 1) 0) [(.arm .nil [] (.build .none (.option (.adt 1)) [])), (.arm .cons [3, 4] (.«match» (.option (.adt 1)) (.call 12 [(.var 0), (.field (.var 3) 0)]) [(.arm .some [5] (.build .some (.option (.adt 1)) [(.build (.adt 0) (.adt 1) [(.var 4), (.build .some (.option (.pair .nat (.adt 2))) [(.build .pair (.pair .nat (.adt 2)) [(.var 5), (.var 3)])]), (.field (.var 1) 2), (.build (.adt 0) (.adt 3) [(.prim .natAdd [(.field (.field (.var 1) 3) 0), (.value .nat (.nat 1))]), (.field (.field (.var 1) 3) 1), (.field (.field (.var 1) 3) 2), (.field (.field (.var 1) 3) 3), (.prim .natAdd [(.field (.field (.var 1) 3) 4), (.value .nat (.nat 1))]), (.field (.field (.var 1) 3) 5)])])])), (.arm .none [] (.«let» 6 (.list (.adt 2)) (.call 13 [(.var 3)]) (.«let» 7 (.list (.adt 2)) (.var 6) (.«let» 8 (.list (.adt 2)) (.prim .append [(.var 7), (.var 4)]) (.«let» 9 (.list (.adt 2)) (.call 9 [(.closure 14 []), (.build .nil (.list (.adt 2)) []), (.var 8)]) (.build .some (.option (.adt 1)) [(.build (.adt 0) (.adt 1) [(.var 9), (.build .none (.option (.pair .nat (.adt 2))) []), (.cond (.field (.var 1) 2) (.build .true .bool []) (.prim .natLt [(.value .nat (.nat 3)), (.prim .length [(.var 8)])])), (.build (.adt 0) (.adt 3) [(.prim .natAdd [(.field (.field (.var 1) 3) 0), (.value .nat (.nat 1))]), (.prim .natAdd [(.field (.field (.var 1) 3) 1), (.call 15 [(.field (.var 3) 0)])]), (.prim .natAdd [(.field (.field (.var 1) 3) 2), (.prim .length [(.var 6)])]), (.prim .natAdd [(.field (.field (.var 1) 3) 3), (.value .nat (.nat 1))]), (.prim .natAdd [(.field (.field (.var 1) 3) 4), (.value .nat (.nat 1))]), (.cond (.prim .natLt [(.field (.field (.var 1) 3) 5), (.prim .length [(.var 9)])]) (.prim .length [(.var 9)]) (.field (.field (.var 1) 3) 5))])])]))))))]))]))]) }, - { parameters := [0, 1, 2], types := [(.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (.list (.adt 2)), (.list (.adt 2))], result := (.list (.adt 2)), - body := (.«match» (.list (.adt 2)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 9 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1], types := [(.list (.adt 2)), (.adt 2)], result := (.list (.adt 2)), - body := (.cond (.prim .natLt [(.prim .length [(.var 0)]), (.value .nat (.nat 3))]) (.prim .append [(.var 0), (.build .cons (.list (.adt 2)) [(.var 1), (.build .nil (.list (.adt 2)) [])])]) (.var 0)) }, - { parameters := [0], types := [.nat], result := (.pair .nat .nat), - body := (.build .pair (.pair .nat .nat) [(.var 0), (.value .nat (.nat 0))]) }, - { parameters := [0, 1], types := [.nat, (.pair .nat .nat)], result := (.option .nat), - body := (.«match» (.option .nat) (.call 16 [(.var 1)]) [(.arm .none [] (.build .none (.option .nat) [])), (.arm .some [2] (.cond (.call 17 [(.var 0), (.var 2)]) (.build .some (.option .nat) [(.var 2)]) (.build .none (.option .nat) [])))]) }, - { parameters := [0], types := [(.adt 2)], result := (.list (.adt 2)), - body := (.call 18 [(.var 0)]) }, - { parameters := [0, 1], types := [(.list (.adt 2)), (.adt 2)], result := (.list (.adt 2)), - body := (.cond (.prim .natLt [(.prim .length [(.var 0)]), (.value .nat (.nat 3))]) (.prim .append [(.var 0), (.build .cons (.list (.adt 2)) [(.var 1), (.build .nil (.list (.adt 2)) [])])]) (.var 0)) }, - { parameters := [0], types := [(.pair .nat .nat)], result := .nat, - body := (.prim .length [(.call 19 [(.var 0)])]) }, - { parameters := [0], types := [(.pair .nat .nat)], result := (.option .nat), - body := (.cond (.prim .natLt [(.value .nat (.nat 0)), (.second (.var 0))]) (.build .some (.option .nat) [(.second (.var 0))]) (.build .none (.option .nat) [])) }, - { parameters := [0, 1], types := [.nat, .nat], result := .bool, - body := (.prim .natLe [(.prim .natAdd [(.var 1), (.var 1)]), (.var 0)]) }, - { parameters := [0], types := [(.adt 2)], result := (.list (.adt 2)), - body := (.call 20 [(.closure 21 [(.var 0)]), (.build .nil (.list (.adt 2)) []), (.call 19 [(.field (.var 0) 0)])]) }, - { parameters := [0], types := [(.pair .nat .nat)], result := (.list .nat), - body := (.«match» (.list .nat) (.«let» 1 .nat (.first (.var 0)) (.«let» 2 (.list .nat) (.call 22 [(.var 1)]) (.cond (.call 23 [(.var 1), (.var 2)]) (.build .ok (.result (.list .nat) (.pair .bool .bool)) [(.var 2)]) (.build .error (.result (.list .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])))) [(.arm .ok [3] (.var 3)), (.arm .error [4] (.build .nil (.list .nat) []))]) }, - { parameters := [0, 1, 2], types := [(.fn [(.list (.adt 2)), .nat] (.list (.adt 2))), (.list (.adt 2)), (.list .nat)], result := (.list (.adt 2)), - body := (.«match» (.list (.adt 2)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 20 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1, 2], types := [(.adt 2), (.list (.adt 2)), .nat], result := (.list (.adt 2)), - body := (.call 24 [(.var 0), (.var 1), (.var 2)]) }, - { parameters := [0], types := [.nat], result := (.list .nat), - body := (.call 25 [(.var 0)]) }, - { parameters := [0, 1], types := [.nat, (.list .nat)], result := .bool, - body := (.prim .natLe [(.prim .length [(.var 1)]), (.value .nat (.nat 4))]) }, - { parameters := [0, 1, 2], types := [(.adt 2), (.list (.adt 2)), .nat], result := (.list (.adt 2)), - body := (.«match» (.list (.adt 2)) (.call 26 [(.field (.var 0) 0), (.build (.adt 0) (.adt 0) [(.var 2)])]) [(.arm .none [] (.var 1)), (.arm .some [3] (.prim .append [(.var 1), (.build .cons (.list (.adt 2)) [(.build (.adt 0) (.adt 2) [(.var 3), (.prim .append [(.field (.var 0) 1), (.build .cons (.list (.adt 0)) [(.build (.adt 0) (.adt 0) [(.var 2)]), (.build .nil (.list (.adt 0)) [])])])]), (.build .nil (.list (.adt 2)) [])])]))]) }, - { parameters := [0], types := [.nat], result := (.list .nat), - body := (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 10))]), (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 20))]), (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 30))]), (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 50))]), (.build .nil (.list .nat) [])])])])]) }, - { parameters := [0, 1], types := [(.pair .nat .nat), (.adt 0)], result := (.option (.pair .nat .nat)), - body := (.«match» (.option (.pair .nat .nat)) (.var 1) [(.arm (.adt 0) [2] (.call 27 [(.var 0), (.var 2)]))]) }, - { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := (.option (.pair .nat .nat)), - body := (.cond (.call 28 [(.var 0), (.var 1)]) (.build .some (.option (.pair .nat .nat)) [(.call 29 [(.var 0), (.var 1)])]) (.build .none (.option (.pair .nat .nat)) [])) }, - { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := .bool, - body := (.cond (.prim .natEq [(.second (.var 0)), (.value .nat (.nat 0))]) (.prim .natLt [(.value .nat (.nat 0)), (.var 1)]) (.build .false .bool [])) }, - { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := (.pair .nat .nat), - body := (.build .pair (.pair .nat .nat) [(.first (.var 0)), (.var 1)]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := ((.enum (.adt 0) [{ number := 0, fields := [.nat] }]) :: - (.enum (.adt 1) [{ number := 0, fields := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)] }]) :: - (.enum (.adt 2) [{ number := 0, fields := [(.pair .nat .nat), (.list (.adt 0))] }]) :: - (.enum (.adt 3) [{ number := 0, fields := [.nat, .nat, .nat, .nat, .nat, .nat] }]) :: - (.enum (.fn 0) [{ number := 6, fields := [.nat] }]) :: - (.apply 0 [(.adt 1)] (.option (.adt 1)) true [{ function := 6, captures := [.copy], functionFallible := true }]) :: - (.enum (.fn 1) [{ number := 10, fields := [] }, { number := 14, fields := [] }]) :: - (.apply 1 [(.list (.adt 2)), (.adt 2)] (.list (.adt 2)) false [{ function := 10, captures := [], functionFallible := false }, { function := 14, captures := [], functionFallible := false }]) :: - (.enum (.fn 2) [{ number := 21, fields := [(.adt 2)] }]) :: - (.apply 2 [(.list (.adt 2)), .nat] (.list (.adt 2)) false [{ function := 21, captures := [.clone], functionFallible := false }]) :: - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.copy (.generated .binding 0))] true))] (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 1))) (.mk [] (.succeed (.copy (.generated .binding 1))))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 9)))))]))) :: - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible (.result .nat (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .holder 2)) none (.call (.function 2) [(.copy (.generated .binding 0))] true))] (.matchOn (.move (.generated .holder 2)) [(.mk (.ok (.bind (.generated .binding 1))) (.mk [] (.succeed (.construct (.ok .nat (.pair .bool .bool)) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 3))))])))), (.mk (.err (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))]))))]))) :: - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible (.result (.pair .nat (.list (.adt 0))) (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 1)) (some (.pair (.adt 1) .bool)) (.call (.function 3) [(.copy (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 7)) none (.block (.mk [(.mk (.bind (.generated .holder 6)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 5)), .wild]) none (.clone (.generated .binding 1)))] (.move (.generated .part 5)))))] (.matchOn (.move (.generated .holder 6)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 4)), .wild, .wild]) (.mk [] (.move (.generated .part 4))))]))))] (.matchOn (.move (.generated .holder 7)) [(.mk .none (.mk [] (.succeed (.construct (.err (.pair .nat (.list (.adt 0))) (.pair .bool .bool)) [(.call (.function 4) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.move (.generated .binding 1)))] (.move (.generated .part 12)))), (.block (.mk [(.mk (.bind (.generated .holder 15)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 14)))))] (.matchOn (.move (.generated .holder 15)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 13)), .wild]) (.mk [] (.move (.generated .part 13))))])))] false)])))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.ok (.pair .nat (.list (.adt 0))) (.pair .bool .bool)) [(.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 8)))) (.block (.mk [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 10))]) none (.move (.generated .binding 2)))] (.move (.generated .part 10)))))] (.matchOn (.move (.generated .holder 11)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 9))]) (.mk [] (.move (.generated .part 9))))]))))]))))]))) :: - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible (.pair (.adt 1) .bool)) (.mk [] (.call (.function 5) [(.construct (.closure 0 6) [(.copy (.generated .binding 0))]), (.lit (.nat 8)), (.call (.function 7) [(.copy (.generated .binding 0))] false)] false))) :: - (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := .bool }, { pattern := (.bind (.generated .binding 1)), type := .bool }] (.pair .bool .bool) (.mk [] (.cond (.cond (.copy (.generated .binding 0)) (.mk [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1)))] (.call (.runtime .boolNot) [(.move (.generated .operand 16))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.pair (.lit (.bool false)) (.lit (.bool true)))) (.mk [] (.pair (.lit (.bool false)) (.lit (.bool false))))))) :: - (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := (.adt 1) }] (.fallible (.pair (.adt 1) .bool)) (.mk [(.mk (.bind (.generated .holder 17)) none (.copy (.generated .binding 1)))] (.cond (.isZero (.generated .holder 17)) (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 17))), (.mk (.bind (.generated .holder 19)) none (.block (.mk [(.mk (.bind (.generated .callee 18)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 18) [(.clone (.generated .binding 2))] true))))] (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 5) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))]))))) :: - (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := (.adt 1) }] (.fallible (.option (.adt 1))) (.mk [] (.call (.function 8) [(.copy (.generated .binding 0)), (.move (.generated .binding 1))] false))) :: - (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.adt 1) (.mk [(.mk (.bind (.generated .binding 1)) (some (.list (.adt 2))) (.call (.function 9) [(.construct (.closure 1 10) []), (.construct (.nil (.adt 2)) []), (.construct .cons [(.construct (.adt 2 0) [(.call (.function 11) [(.copy (.generated .binding 0))] false), (.construct (.nil (.adt 0)) [])]), (.construct (.nil (.adt 2)) [])])] false))] (.construct (.adt 1 0) [(.clone (.generated .binding 1)), (.construct (.none (.pair .nat (.adt 2))) []), (.block (.mk [(.mk (.bind (.generated .operand 20)) none (.lit (.nat 3))), (.mk (.bind (.generated .operand 21)) none (.lit (.nat 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 20)), (.move (.generated .operand 21))] false))), (.construct (.adt 3 0) [(.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.block (.mk [(.mk (.bind (.generated .operand 22)) none (.move (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 22))] false)))])]))) :: - (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := (.adt 1) }] (.fallible (.option (.adt 1))) (.mk [(.mk (.bind (.generated .holder 24)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 23)), .wild, .wild]) (.mk [] (.move (.generated .part 23))))]))] (.matchOn (.move (.generated .holder 24)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 26)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [(.bind (.generated .part 25)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 25))))]))] (.matchOn (.uncons (.generated .holder 26)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [(.mk (.bind (.generated .holder 28)) none (.call (.function 12) [(.copy (.generated .binding 0)), (.matchOn (.clone (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 27)), .wild]) (.mk [] (.move (.generated .part 27))))])] true))] (.matchOn (.move (.generated .holder 28)) [(.mk .none (.mk [(.mk (.bind (.generated .binding 6)) (some (.list (.adt 2))) (.call (.function 13) [(.clone (.generated .binding 3))] false)), (.mk (.bind (.generated .binding 7)) (some (.list (.adt 2))) (.clone (.generated .binding 6))), (.mk (.bind (.generated .binding 8)) (some (.list (.adt 2))) (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.move (.generated .binding 7))), (.mk (.bind (.generated .operand 53)) none (.move (.generated .binding 4)))] (.call (.runtime .appendList) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false)))), (.mk (.bind (.generated .binding 9)) (some (.list (.adt 2))) (.call (.function 9) [(.construct (.closure 1 14) []), (.construct (.nil (.adt 2)) []), (.clone (.generated .binding 8))] false))] (.succeed (.construct .some [(.construct (.adt 1 0) [(.clone (.generated .binding 9)), (.construct (.none (.pair .nat (.adt 2))) []), (.cond (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 54)), .wild]) (.mk [] (.move (.generated .part 54))))]) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 56)) none (.lit (.nat 3))), (.mk (.bind (.generated .operand 57)) none (.block (.mk [(.mk (.bind (.generated .operand 55)) none (.move (.generated .binding 8)))] (.call (.runtime .lengthList) [(.move (.generated .operand 55))] false))))] (.call (.runtime .natLt) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] false))), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.bind (.generated .holder 60)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 59))]) (.mk [] (.move (.generated .part 59))))]))] (.matchOn (.move (.generated .holder 60)) [(.mk (.adt 3 0 [(.bind (.generated .part 58)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))])))), (.mk (.bind (.generated .operand 62)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 61)), (.move (.generated .operand 62))] true))), (.block (.mk [(.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .holder 65)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 64))]) (.mk [] (.move (.generated .part 64))))]))] (.matchOn (.move (.generated .holder 65)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 63)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])))), (.mk (.bind (.generated .operand 68)) none (.call (.function 15) [(.matchOn (.move (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 66)), .wild]) (.mk [] (.move (.generated .part 66))))])] false))] (.call (.runtime .natAdd) [(.move (.generated .operand 67)), (.move (.generated .operand 68))] true))), (.block (.mk [(.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.bind (.generated .holder 71)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 70))]) (.mk [] (.move (.generated .part 70))))]))] (.matchOn (.move (.generated .holder 71)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 69)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 69))))])))), (.mk (.bind (.generated .operand 74)) none (.block (.mk [(.mk (.bind (.generated .operand 72)) none (.move (.generated .binding 6)))] (.call (.runtime .lengthList) [(.move (.generated .operand 72))] false))))] (.call (.runtime .natAdd) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] true))), (.block (.mk [(.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.bind (.generated .holder 77)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 76))]) (.mk [] (.move (.generated .part 76))))]))] (.matchOn (.move (.generated .holder 77)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 75)), .wild, .wild]) (.mk [] (.move (.generated .part 75))))])))), (.mk (.bind (.generated .operand 79)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 78)), (.move (.generated .operand 79))] true))), (.block (.mk [(.mk (.bind (.generated .operand 83)) none (.block (.mk [(.mk (.bind (.generated .holder 82)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))]))] (.matchOn (.move (.generated .holder 82)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 80)), .wild]) (.mk [] (.move (.generated .part 80))))])))), (.mk (.bind (.generated .operand 84)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 83)), (.move (.generated .operand 84))] true))), (.block (.mk [(.mk (.bind (.generated .operand 89)) none (.block (.mk [(.mk (.bind (.generated .holder 87)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 86))]) (.mk [] (.move (.generated .part 86))))]))] (.matchOn (.move (.generated .holder 87)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 85))]) (.mk [] (.move (.generated .part 85))))])))), (.mk (.bind (.generated .operand 90)) none (.block (.mk [(.mk (.bind (.generated .operand 88)) none (.clone (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 88))] false))))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 89)), (.move (.generated .operand 90))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.move (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 91))] false)) (.mk [(.mk (.bind (.generated .holder 94)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))]))] (.matchOn (.move (.generated .holder 94)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 92))]) (.mk [] (.move (.generated .part 92))))])))))])])])))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.succeed (.construct .some [(.construct (.adt 1 0) [(.move (.generated .binding 4)), (.construct .some [(.pair (.copy (.generated .binding 5)) (.move (.generated .binding 3)))]), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 29)), .wild]) (.mk [] (.move (.generated .part 29))))]), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 33)) none (.block (.mk [(.mk (.bind (.generated .holder 32)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 31))]) (.mk [] (.move (.generated .part 31))))]))] (.matchOn (.move (.generated .holder 32)) [(.mk (.adt 3 0 [(.bind (.generated .part 30)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))])))), (.mk (.bind (.generated .operand 34)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 33)), (.move (.generated .operand 34))] true))), (.block (.mk [(.mk (.bind (.generated .holder 37)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 36))]) (.mk [] (.move (.generated .part 36))))]))] (.matchOn (.move (.generated .holder 37)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 35)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 35))))]))), (.block (.mk [(.mk (.bind (.generated .holder 40)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 39))]) (.mk [] (.move (.generated .part 39))))]))] (.matchOn (.move (.generated .holder 40)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 38)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 38))))]))), (.block (.mk [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))] (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild]) (.mk [] (.move (.generated .part 41))))]))), (.block (.mk [(.mk (.bind (.generated .operand 47)) none (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 44)), .wild]) (.mk [] (.move (.generated .part 44))))])))), (.mk (.bind (.generated .operand 48)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 47)), (.move (.generated .operand 48))] true))), (.block (.mk [(.mk (.bind (.generated .holder 51)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 50))]) (.mk [] (.move (.generated .part 50))))]))] (.matchOn (.move (.generated .holder 51)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 49))]) (.mk [] (.move (.generated .part 49))))])))])])]))))])))]))), (.mk (.some .wild) (.mk [] (.succeed (.construct (.none (.adt 1)) []))))]))) :: - (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 1) }, { pattern := (.bind (.generated .binding 1)), type := (.list (.adt 2)) }, { pattern := (.bind (.generated .binding 2)), type := (.list (.adt 2)) }] (.list (.adt 2)) (.mk [(.mk (.bind (.generated .holder 95)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 95)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 9) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 96)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 96) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)))]))) :: - (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.adt 2)) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 2) }] (.list (.adt 2)) (.mk [(.mk (.bind (.generated .operand 98)) none (.block (.mk [(.mk (.bind (.generated .operand 97)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 97))] false)))), (.mk (.bind (.generated .operand 99)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 98)), (.move (.generated .operand 99))] false) (.mk [(.mk (.bind (.generated .operand 100)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 101)) none (.construct .cons [(.move (.generated .binding 1)), (.construct (.nil (.adt 2)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false)) (.mk [] (.move (.generated .binding 0)))))) :: - (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.pair .nat .nat) (.mk [] (.pair (.copy (.generated .binding 0)) (.lit (.nat 0))))) :: - (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := (.pair .nat .nat) }] (.fallible (.option .nat)) (.mk [(.mk (.bind (.generated .holder 102)) none (.call (.function 16) [(.copy (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 102)) [(.mk .none (.mk [] (.succeed (.construct (.none .nat) [])))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.cond (.call (.function 17) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] true) (.mk [] (.succeed (.construct .some [(.copy (.generated .binding 2))]))) (.mk [] (.succeed (.construct (.none .nat) []))))))]))) :: - (.function (.generated .function 13) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 2) }] (.list (.adt 2)) (.mk [] (.call (.function 18) [(.move (.generated .binding 0))] false))) :: - (.function (.generated .function 14) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.adt 2)) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 2) }] (.list (.adt 2)) (.mk [(.mk (.bind (.generated .operand 104)) none (.block (.mk [(.mk (.bind (.generated .operand 103)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 103))] false)))), (.mk (.bind (.generated .operand 105)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 104)), (.move (.generated .operand 105))] false) (.mk [(.mk (.bind (.generated .operand 106)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 107)) none (.construct .cons [(.move (.generated .binding 1)), (.construct (.nil (.adt 2)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 106)), (.move (.generated .operand 107))] false)) (.mk [] (.move (.generated .binding 0)))))) :: - (.function (.generated .function 15) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] .nat (.mk [(.mk (.bind (.generated .operand 108)) none (.call (.function 19) [(.copy (.generated .binding 0))] false))] (.call (.runtime .lengthList) [(.move (.generated .operand 108))] false))) :: - (.function (.generated .function 16) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.option .nat) (.mk [(.mk (.bind (.generated .operand 110)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 111)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 109))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 109)))))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 110)), (.move (.generated .operand 111))] false) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 112))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 112))))])) (.mk [] (.construct (.none .nat) []))))) :: - (.function (.generated .function 17) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .bool) (.mk [(.mk (.bind (.generated .operand 115)) none (.block (.mk [(.mk (.bind (.generated .operand 113)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 114)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 113)), (.move (.generated .operand 114))] true)))), (.mk (.bind (.generated .operand 116)) none (.copy (.generated .binding 0)))] (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 115)), (.move (.generated .operand 116))] false)))) :: - (.function (.generated .function 18) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 2) }] (.list (.adt 2)) (.mk [] (.call (.function 20) [(.construct (.closure 2 21) [(.clone (.generated .binding 0))]), (.construct (.nil (.adt 2)) []), (.call (.function 19) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 117)), .wild]) (.mk [] (.move (.generated .part 117))))])] false)] false))) :: - (.function (.generated .function 19) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 119)) none (.block (.mk [(.mk (.bind (.generated .binding 1)) (some .nat) (.block (.mk [(.mk (.tuple [(.bind (.generated .part 118)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 118))))), (.mk (.bind (.generated .binding 2)) (some (.list .nat)) (.call (.function 22) [(.copy (.generated .binding 1))] false))] (.cond (.call (.function 23) [(.copy (.generated .binding 1)), (.clone (.generated .binding 2))] false) (.mk [] (.construct (.ok (.list .nat) (.pair .bool .bool)) [(.move (.generated .binding 2))])) (.mk [] (.construct (.err (.list .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))]))))))] (.matchOn (.move (.generated .holder 119)) [(.mk (.ok (.bind (.generated .binding 3))) (.mk [] (.move (.generated .binding 3)))), (.mk (.err .wild) (.mk [] (.construct (.nil .nat) [])))]))) :: - (.function (.generated .function 20) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 2) }, { pattern := (.bind (.generated .binding 1)), type := (.list (.adt 2)) }, { pattern := (.bind (.generated .binding 2)), type := (.list .nat) }] (.list (.adt 2)) (.mk [(.mk (.bind (.generated .holder 120)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 120)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 20) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 121)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 121) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)))]))) :: - (.function (.generated .function 21) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 2) }, { pattern := (.bind (.generated .binding 1)), type := (.list (.adt 2)) }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.list (.adt 2)) (.mk [] (.call (.function 24) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false))) :: - (.function (.generated .function 22) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.list .nat) (.mk [] (.call (.function 25) [(.copy (.generated .binding 0))] false))) :: - (.function (.generated .function 23) [{ pattern := .wild, type := .nat }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }] .bool (.mk [(.mk (.bind (.generated .operand 123)) none (.block (.mk [(.mk (.bind (.generated .operand 122)) none (.move (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 122))] false)))), (.mk (.bind (.generated .operand 124)) none (.lit (.nat 4)))] (.call (.runtime .natLe) [(.move (.generated .operand 123)), (.move (.generated .operand 124))] false))) :: - (.function (.generated .function 24) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 2) }, { pattern := (.bind (.generated .binding 1)), type := (.list (.adt 2)) }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.list (.adt 2)) (.mk [(.mk (.bind (.generated .holder 126)) none (.call (.function 26) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 125)), .wild]) (.mk [] (.move (.generated .part 125))))]), (.construct (.adt 0 0) [(.copy (.generated .binding 2))])] false))] (.matchOn (.move (.generated .holder 126)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.bind (.generated .binding 3))) (.mk [(.mk (.bind (.generated .operand 130)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 131)) none (.construct .cons [(.construct (.adt 2 0) [(.copy (.generated .binding 3)), (.block (.mk [(.mk (.bind (.generated .operand 128)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 127))]) (.mk [] (.move (.generated .part 127))))])), (.mk (.bind (.generated .operand 129)) none (.construct .cons [(.construct (.adt 0 0) [(.copy (.generated .binding 2))]), (.construct (.nil (.adt 0)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 128)), (.move (.generated .operand 129))] false)))]), (.construct (.nil (.adt 2)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 130)), (.move (.generated .operand 131))] false)))]))) :: - (.function (.generated .function 25) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.list .nat) (.mk [] (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 132)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 133)) none (.lit (.nat 10)))] (.call (.runtime .natSub) [(.move (.generated .operand 132)), (.move (.generated .operand 133))] false))), (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 134)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 135)) none (.lit (.nat 20)))] (.call (.runtime .natSub) [(.move (.generated .operand 134)), (.move (.generated .operand 135))] false))), (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 136)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 137)) none (.lit (.nat 30)))] (.call (.runtime .natSub) [(.move (.generated .operand 136)), (.move (.generated .operand 137))] false))), (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 138)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 139)) none (.lit (.nat 50)))] (.call (.runtime .natSub) [(.move (.generated .operand 138)), (.move (.generated .operand 139))] false))), (.construct (.nil .nat) [])])])])]))) :: - (.function (.generated .function 26) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 0) }] (.option (.pair .nat .nat)) (.mk [(.mk (.bind (.generated .holder 140)) none (.move (.generated .binding 1)))] (.matchOn (.move (.generated .holder 140)) [(.mk (.adt 0 0 [(.bind (.generated .binding 2))]) (.mk [] (.call (.function 27) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false)))]))) :: - (.function (.generated .function 27) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.option (.pair .nat .nat)) (.mk [] (.cond (.call (.function 28) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false) (.mk [] (.construct .some [(.call (.function 29) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false)])) (.mk [] (.construct (.none (.pair .nat .nat)) []))))) :: - (.function (.generated .function 28) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 142)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 141))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 141))))), (.mk (.bind (.generated .operand 143)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 142)), (.move (.generated .operand 143))] false) (.mk [(.mk (.bind (.generated .operand 144)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 145)) none (.copy (.generated .binding 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 144)), (.move (.generated .operand 145))] false)) (.mk [] (.lit (.bool false)))))) :: - (.function (.generated .function 29) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.pair .nat .nat) (.mk [] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 146)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 146)))) (.copy (.generated .binding 1))))) :: - []) } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [(([(.adt 1)], (.option (.adt 1))), true), (([(.list (.adt 2)), (.adt 2)], (.list (.adt 2))), false), (([(.list (.adt 2)), .nat], (.list (.adt 2))), false)] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.copy (.generated .binding 0))] true))], (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 1))) (.mk [] (.succeed (.copy (.generated .binding 1))))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 9)))))]), [(0, .nat, (some 0))], rfl, rfl, - (Corr.matchArms (st := (.result .nat (.pair .bool .bool))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.copy (.generated .binding 1)))) (Corr.mCons (Γ' := [(2, (.pair .bool .bool), none), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 9)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 2)) none (.call (.function 2) [(.copy (.generated .binding 0))] true))], (.matchOn (.move (.generated .holder 2)) [(.mk (.ok (.bind (.generated .binding 1))) (.mk [] (.succeed (.construct (.ok .nat (.pair .bool .bool)) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 3))))])))), (.mk (.err (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))]))))]), [(0, .nat, (some 0))], rfl, rfl, - (Corr.matchArms (st := (.result (.pair .nat (.list (.adt 0))) (.pair .bool .bool))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.pair .nat (.list (.adt 0))), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.ok .nat (.pair .bool .bool)) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 3))))]))) (Corr.mCons (Γ' := [(2, (.pair .bool .bool), (some 2)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 3))) (Corr.first (ta := .nat) (tb := (.list (.adt 0))) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl))) rfl rfl rfl)⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.pair (.adt 1) .bool)) (.call (.function 3) [(.copy (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 7)) none (.block (.mk [(.mk (.bind (.generated .holder 6)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 5)), .wild]) none (.clone (.generated .binding 1)))] (.move (.generated .part 5)))))] (.matchOn (.move (.generated .holder 6)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 4)), .wild, .wild]) (.mk [] (.move (.generated .part 4))))]))))], (.matchOn (.move (.generated .holder 7)) [(.mk .none (.mk [] (.succeed (.construct (.err (.pair .nat (.list (.adt 0))) (.pair .bool .bool)) [(.call (.function 4) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.move (.generated .binding 1)))] (.move (.generated .part 12)))), (.block (.mk [(.mk (.bind (.generated .holder 15)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 14)))))] (.matchOn (.move (.generated .holder 15)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 13)), .wild]) (.mk [] (.move (.generated .part 13))))])))] false)])))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.ok (.pair .nat (.list (.adt 0))) (.pair .bool .bool)) [(.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 8)))) (.block (.mk [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 10))]) none (.move (.generated .binding 2)))] (.move (.generated .part 10)))))] (.matchOn (.move (.generated .holder 11)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 9))]) (.mk [] (.move (.generated .part 9))))]))))]))))]), [(0, .nat, (some 0))], rfl, rfl, - (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.matchArms (st := (.option (.pair .nat (.adt 2)))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 6)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 5)), .wild]) none (.clone (.generated .binding 1)))] (.move (.generated .part 5)))))]) (tail := (.matchOn (.move (.generated .holder 6)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 4)), .wild, .wild]) (.mk [] (.move (.generated .part 4))))])) (Corr.fieldHeld (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 4))) (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 5)), .wild]) none (.clone (.generated .binding 1)))]) (tail := (.move (.generated .part 5))) (Corr.first (ta := (.adt 1)) (tb := .bool) (Corr.var rfl rfl) rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.pair (.adt 1) .bool), (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.construct (.err (.pair .nat (.list (.adt 0))) (.pair .bool .bool)) [(.call (.function 4) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.move (.generated .binding 1)))] (.move (.generated .part 12)))), (.block (.mk [(.mk (.bind (.generated .holder 15)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 14)))))] (.matchOn (.move (.generated .holder 15)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 13)), .wild]) (.mk [] (.move (.generated .part 13))))])))] false)]))) (Corr.mCons (Γ' := [(2, (.pair .nat (.adt 2)), (some 2)), (1, (.pair (.adt 1) .bool), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.ok (.pair .nat (.list (.adt 0))) (.pair .bool .bool)) [(.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 8)))) (.block (.mk [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 10))]) none (.move (.generated .binding 2)))] (.move (.generated .part 10)))))] (.matchOn (.move (.generated .holder 11)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 9))]) (.mk [] (.move (.generated .part 9))))]))))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.pair .nat (.list (.adt 0)))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 8))) (Corr.first (ta := .nat) (tb := (.adt 2)) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 10))]) none (.move (.generated .binding 2)))] (.move (.generated .part 10)))))]) (tail := (.matchOn (.move (.generated .holder 11)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 9))]) (.mk [] (.move (.generated .part 9))))])) (Corr.fieldHeld (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 9))) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 10))]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 10))) (Corr.second (ta := .nat) (tb := (.adt 2)) (Corr.var rfl rfl) rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.bool, .bool]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 12))) (Corr.second (ta := (.adt 1)) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 15)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 14)))))]) (tail := (.matchOn (.move (.generated .holder 15)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 13)), .wild]) (.mk [] (.move (.generated .part 13))))])) (Corr.fieldHeld (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 13))) (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 14))) (Corr.first (ta := (.adt 1)) (tb := .bool) (Corr.var rfl rfl) rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl))) rfl rfl rfl))⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 5) [(.construct (.closure 0 6) [(.copy (.generated .binding 0))]), (.lit (.nat 8)), (.call (.function 7) [(.copy (.generated .binding 0))] false)] false), [(0, .nat, (some 0))], rfl, rfl, - (Corr.callF (ts := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [.nat]) (mask := [false]) (af := true) (ff := true) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ - -theorem fun4 : FunOK program krate flags 4 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.cond (.copy (.generated .binding 0)) (.mk [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1)))] (.call (.runtime .boolNot) [(.move (.generated .operand 16))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.pair (.lit (.bool false)) (.lit (.bool true)))) (.mk [] (.pair (.lit (.bool false)) (.lit (.bool false))))), [(1, .bool, (some 1)), (0, .bool, (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.cond (.copy (.generated .binding 0)) (.mk [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1)))] (.call (.runtime .boolNot) [(.move (.generated .operand 16))] false)) (.mk [] (.lit (.bool false))))) (lk := []) (Corr.cond (lc := []) (ce := (.copy (.generated .binding 0))) (lk := []) (Corr.bOfE (Corr.var rfl rfl)) (Corr.kIf (la := [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1)))]) (ta := (.call (.runtime .boolNot) [(.move (.generated .operand 16))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.bool]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.kIf (la := []) (ta := (.pair (.lit (.bool false)) (.lit (.bool true)))) (lb := []) (tb := (.pair (.lit (.bool false)) (.lit (.bool false)))) (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))))) (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))))))⟩⟩ - -theorem fun5 : FunOK program krate flags 5 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 17)) none (.copy (.generated .binding 1)))], (.cond (.isZero (.generated .holder 17)) (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 17))), (.mk (.bind (.generated .holder 19)) none (.block (.mk [(.mk (.bind (.generated .callee 18)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 18) [(.clone (.generated .binding 2))] true))))] (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 5) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))]))), [(2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))], rfl, rfl, - (Corr.matchNat (sl := (some 3)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (lb := [(.mk (.bind (.generated .holder 19)) none (.block (.mk [(.mk (.bind (.generated .callee 18)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 18) [(.clone (.generated .binding 2))] true))))]) (tb := (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 5) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))])) (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))))) (Corr.matchArms (st := (.option (.adt 1))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 18)) (some (.fn 0)) (.clone (.generated .binding 0)))]) (tail := (.apply (.generated .callee 18) [(.clone (.generated .binding 2))] true)) (Corr.apply (ps := [(.adt 1)]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, .nat, (some 3)), (2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true))))) (Corr.mCons (Γ' := [(4, (.adt 1), (some 4)), (3, .nat, (some 3)), (2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 5) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))))))) rfl rfl rfl)))⟩⟩ - -theorem fun6 : FunOK program krate flags 6 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 8) [(.copy (.generated .binding 0)), (.move (.generated .binding 1))] false), [(1, (.adt 1), (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.callF (ts := [.nat, (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)⟩⟩ - -theorem fun7 : FunOK program krate flags 7 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.list (.adt 2))) (.call (.function 9) [(.construct (.closure 1 10) []), (.construct (.nil (.adt 2)) []), (.construct .cons [(.construct (.adt 2 0) [(.call (.function 11) [(.copy (.generated .binding 0))] false), (.construct (.nil (.adt 0)) [])]), (.construct (.nil (.adt 2)) [])])] false))], (.construct (.adt 1 0) [(.clone (.generated .binding 1)), (.construct (.none (.pair .nat (.adt 2))) []), (.block (.mk [(.mk (.bind (.generated .operand 20)) none (.lit (.nat 3))), (.mk (.bind (.generated .operand 21)) none (.lit (.nat 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 20)), (.move (.generated .operand 21))] false))), (.construct (.adt 3 0) [(.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.block (.mk [(.mk (.bind (.generated .operand 22)) none (.move (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 22))] false)))])]), [(0, .nat, (some 0))], rfl, rfl, - (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (.list (.adt 2)), (.list (.adt 2))]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := false) (ff := false) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.adt 2), (.list (.adt 2))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair .nat .nat), (.list (.adt 0))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl (Corr.build (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (mask := [false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 20)) none (.lit (.nat 3))), (.mk (.bind (.generated .operand 21)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natLt) [(.move (.generated .operand 20)), (.move (.generated .operand 21))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 22)) none (.move (.generated .binding 1)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 22))] false)) (Corr.prim (ts := [(.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))) rfl)) (Corr.lNil)))))) rfl))⟩⟩ - -theorem fun8 : FunOK program krate flags 8 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 24)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 23)), .wild, .wild]) (.mk [] (.move (.generated .part 23))))]))], (.matchOn (.move (.generated .holder 24)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 26)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [(.bind (.generated .part 25)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 25))))]))] (.matchOn (.uncons (.generated .holder 26)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [(.mk (.bind (.generated .holder 28)) none (.call (.function 12) [(.copy (.generated .binding 0)), (.matchOn (.clone (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 27)), .wild]) (.mk [] (.move (.generated .part 27))))])] true))] (.matchOn (.move (.generated .holder 28)) [(.mk .none (.mk [(.mk (.bind (.generated .binding 6)) (some (.list (.adt 2))) (.call (.function 13) [(.clone (.generated .binding 3))] false)), (.mk (.bind (.generated .binding 7)) (some (.list (.adt 2))) (.clone (.generated .binding 6))), (.mk (.bind (.generated .binding 8)) (some (.list (.adt 2))) (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.move (.generated .binding 7))), (.mk (.bind (.generated .operand 53)) none (.move (.generated .binding 4)))] (.call (.runtime .appendList) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false)))), (.mk (.bind (.generated .binding 9)) (some (.list (.adt 2))) (.call (.function 9) [(.construct (.closure 1 14) []), (.construct (.nil (.adt 2)) []), (.clone (.generated .binding 8))] false))] (.succeed (.construct .some [(.construct (.adt 1 0) [(.clone (.generated .binding 9)), (.construct (.none (.pair .nat (.adt 2))) []), (.cond (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 54)), .wild]) (.mk [] (.move (.generated .part 54))))]) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 56)) none (.lit (.nat 3))), (.mk (.bind (.generated .operand 57)) none (.block (.mk [(.mk (.bind (.generated .operand 55)) none (.move (.generated .binding 8)))] (.call (.runtime .lengthList) [(.move (.generated .operand 55))] false))))] (.call (.runtime .natLt) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] false))), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.bind (.generated .holder 60)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 59))]) (.mk [] (.move (.generated .part 59))))]))] (.matchOn (.move (.generated .holder 60)) [(.mk (.adt 3 0 [(.bind (.generated .part 58)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))])))), (.mk (.bind (.generated .operand 62)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 61)), (.move (.generated .operand 62))] true))), (.block (.mk [(.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .holder 65)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 64))]) (.mk [] (.move (.generated .part 64))))]))] (.matchOn (.move (.generated .holder 65)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 63)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])))), (.mk (.bind (.generated .operand 68)) none (.call (.function 15) [(.matchOn (.move (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 66)), .wild]) (.mk [] (.move (.generated .part 66))))])] false))] (.call (.runtime .natAdd) [(.move (.generated .operand 67)), (.move (.generated .operand 68))] true))), (.block (.mk [(.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.bind (.generated .holder 71)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 70))]) (.mk [] (.move (.generated .part 70))))]))] (.matchOn (.move (.generated .holder 71)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 69)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 69))))])))), (.mk (.bind (.generated .operand 74)) none (.block (.mk [(.mk (.bind (.generated .operand 72)) none (.move (.generated .binding 6)))] (.call (.runtime .lengthList) [(.move (.generated .operand 72))] false))))] (.call (.runtime .natAdd) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] true))), (.block (.mk [(.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.bind (.generated .holder 77)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 76))]) (.mk [] (.move (.generated .part 76))))]))] (.matchOn (.move (.generated .holder 77)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 75)), .wild, .wild]) (.mk [] (.move (.generated .part 75))))])))), (.mk (.bind (.generated .operand 79)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 78)), (.move (.generated .operand 79))] true))), (.block (.mk [(.mk (.bind (.generated .operand 83)) none (.block (.mk [(.mk (.bind (.generated .holder 82)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))]))] (.matchOn (.move (.generated .holder 82)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 80)), .wild]) (.mk [] (.move (.generated .part 80))))])))), (.mk (.bind (.generated .operand 84)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 83)), (.move (.generated .operand 84))] true))), (.block (.mk [(.mk (.bind (.generated .operand 89)) none (.block (.mk [(.mk (.bind (.generated .holder 87)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 86))]) (.mk [] (.move (.generated .part 86))))]))] (.matchOn (.move (.generated .holder 87)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 85))]) (.mk [] (.move (.generated .part 85))))])))), (.mk (.bind (.generated .operand 90)) none (.block (.mk [(.mk (.bind (.generated .operand 88)) none (.clone (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 88))] false))))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 89)), (.move (.generated .operand 90))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.move (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 91))] false)) (.mk [(.mk (.bind (.generated .holder 94)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))]))] (.matchOn (.move (.generated .holder 94)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 92))]) (.mk [] (.move (.generated .part 92))))])))))])])])))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.succeed (.construct .some [(.construct (.adt 1 0) [(.move (.generated .binding 4)), (.construct .some [(.pair (.copy (.generated .binding 5)) (.move (.generated .binding 3)))]), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 29)), .wild]) (.mk [] (.move (.generated .part 29))))]), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 33)) none (.block (.mk [(.mk (.bind (.generated .holder 32)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 31))]) (.mk [] (.move (.generated .part 31))))]))] (.matchOn (.move (.generated .holder 32)) [(.mk (.adt 3 0 [(.bind (.generated .part 30)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))])))), (.mk (.bind (.generated .operand 34)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 33)), (.move (.generated .operand 34))] true))), (.block (.mk [(.mk (.bind (.generated .holder 37)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 36))]) (.mk [] (.move (.generated .part 36))))]))] (.matchOn (.move (.generated .holder 37)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 35)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 35))))]))), (.block (.mk [(.mk (.bind (.generated .holder 40)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 39))]) (.mk [] (.move (.generated .part 39))))]))] (.matchOn (.move (.generated .holder 40)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 38)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 38))))]))), (.block (.mk [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))] (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild]) (.mk [] (.move (.generated .part 41))))]))), (.block (.mk [(.mk (.bind (.generated .operand 47)) none (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 44)), .wild]) (.mk [] (.move (.generated .part 44))))])))), (.mk (.bind (.generated .operand 48)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 47)), (.move (.generated .operand 48))] true))), (.block (.mk [(.mk (.bind (.generated .holder 51)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 50))]) (.mk [] (.move (.generated .part 50))))]))] (.matchOn (.move (.generated .holder 51)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 49))]) (.mk [] (.move (.generated .part 49))))])))])])]))))])))]))), (.mk (.some .wild) (.mk [] (.succeed (.construct (.none (.adt 1)) []))))]), [(1, (.adt 1), (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option (.pair .nat (.adt 2)))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 23))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 26)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [(.bind (.generated .part 25)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 25))))]))]) (tail := (.matchOn (.uncons (.generated .holder 26)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [(.mk (.bind (.generated .holder 28)) none (.call (.function 12) [(.copy (.generated .binding 0)), (.matchOn (.clone (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 27)), .wild]) (.mk [] (.move (.generated .part 27))))])] true))] (.matchOn (.move (.generated .holder 28)) [(.mk .none (.mk [(.mk (.bind (.generated .binding 6)) (some (.list (.adt 2))) (.call (.function 13) [(.clone (.generated .binding 3))] false)), (.mk (.bind (.generated .binding 7)) (some (.list (.adt 2))) (.clone (.generated .binding 6))), (.mk (.bind (.generated .binding 8)) (some (.list (.adt 2))) (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.move (.generated .binding 7))), (.mk (.bind (.generated .operand 53)) none (.move (.generated .binding 4)))] (.call (.runtime .appendList) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false)))), (.mk (.bind (.generated .binding 9)) (some (.list (.adt 2))) (.call (.function 9) [(.construct (.closure 1 14) []), (.construct (.nil (.adt 2)) []), (.clone (.generated .binding 8))] false))] (.succeed (.construct .some [(.construct (.adt 1 0) [(.clone (.generated .binding 9)), (.construct (.none (.pair .nat (.adt 2))) []), (.cond (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 54)), .wild]) (.mk [] (.move (.generated .part 54))))]) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 56)) none (.lit (.nat 3))), (.mk (.bind (.generated .operand 57)) none (.block (.mk [(.mk (.bind (.generated .operand 55)) none (.move (.generated .binding 8)))] (.call (.runtime .lengthList) [(.move (.generated .operand 55))] false))))] (.call (.runtime .natLt) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] false))), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.bind (.generated .holder 60)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 59))]) (.mk [] (.move (.generated .part 59))))]))] (.matchOn (.move (.generated .holder 60)) [(.mk (.adt 3 0 [(.bind (.generated .part 58)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))])))), (.mk (.bind (.generated .operand 62)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 61)), (.move (.generated .operand 62))] true))), (.block (.mk [(.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .holder 65)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 64))]) (.mk [] (.move (.generated .part 64))))]))] (.matchOn (.move (.generated .holder 65)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 63)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])))), (.mk (.bind (.generated .operand 68)) none (.call (.function 15) [(.matchOn (.move (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 66)), .wild]) (.mk [] (.move (.generated .part 66))))])] false))] (.call (.runtime .natAdd) [(.move (.generated .operand 67)), (.move (.generated .operand 68))] true))), (.block (.mk [(.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.bind (.generated .holder 71)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 70))]) (.mk [] (.move (.generated .part 70))))]))] (.matchOn (.move (.generated .holder 71)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 69)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 69))))])))), (.mk (.bind (.generated .operand 74)) none (.block (.mk [(.mk (.bind (.generated .operand 72)) none (.move (.generated .binding 6)))] (.call (.runtime .lengthList) [(.move (.generated .operand 72))] false))))] (.call (.runtime .natAdd) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] true))), (.block (.mk [(.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.bind (.generated .holder 77)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 76))]) (.mk [] (.move (.generated .part 76))))]))] (.matchOn (.move (.generated .holder 77)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 75)), .wild, .wild]) (.mk [] (.move (.generated .part 75))))])))), (.mk (.bind (.generated .operand 79)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 78)), (.move (.generated .operand 79))] true))), (.block (.mk [(.mk (.bind (.generated .operand 83)) none (.block (.mk [(.mk (.bind (.generated .holder 82)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))]))] (.matchOn (.move (.generated .holder 82)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 80)), .wild]) (.mk [] (.move (.generated .part 80))))])))), (.mk (.bind (.generated .operand 84)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 83)), (.move (.generated .operand 84))] true))), (.block (.mk [(.mk (.bind (.generated .operand 89)) none (.block (.mk [(.mk (.bind (.generated .holder 87)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 86))]) (.mk [] (.move (.generated .part 86))))]))] (.matchOn (.move (.generated .holder 87)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 85))]) (.mk [] (.move (.generated .part 85))))])))), (.mk (.bind (.generated .operand 90)) none (.block (.mk [(.mk (.bind (.generated .operand 88)) none (.clone (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 88))] false))))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 89)), (.move (.generated .operand 90))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.move (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 91))] false)) (.mk [(.mk (.bind (.generated .holder 94)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))]))] (.matchOn (.move (.generated .holder 94)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 92))]) (.mk [] (.move (.generated .part 92))))])))))])])])))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.succeed (.construct .some [(.construct (.adt 1 0) [(.move (.generated .binding 4)), (.construct .some [(.pair (.copy (.generated .binding 5)) (.move (.generated .binding 3)))]), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 29)), .wild]) (.mk [] (.move (.generated .part 29))))]), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 33)) none (.block (.mk [(.mk (.bind (.generated .holder 32)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 31))]) (.mk [] (.move (.generated .part 31))))]))] (.matchOn (.move (.generated .holder 32)) [(.mk (.adt 3 0 [(.bind (.generated .part 30)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))])))), (.mk (.bind (.generated .operand 34)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 33)), (.move (.generated .operand 34))] true))), (.block (.mk [(.mk (.bind (.generated .holder 37)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 36))]) (.mk [] (.move (.generated .part 36))))]))] (.matchOn (.move (.generated .holder 37)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 35)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 35))))]))), (.block (.mk [(.mk (.bind (.generated .holder 40)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 39))]) (.mk [] (.move (.generated .part 39))))]))] (.matchOn (.move (.generated .holder 40)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 38)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 38))))]))), (.block (.mk [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))] (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild]) (.mk [] (.move (.generated .part 41))))]))), (.block (.mk [(.mk (.bind (.generated .operand 47)) none (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 44)), .wild]) (.mk [] (.move (.generated .part 44))))])))), (.mk (.bind (.generated .operand 48)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 47)), (.move (.generated .operand 48))] true))), (.block (.mk [(.mk (.bind (.generated .holder 51)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 50))]) (.mk [] (.move (.generated .part 50))))]))] (.matchOn (.move (.generated .holder 51)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 49))]) (.mk [] (.move (.generated .part 49))))])))])])]))))])))])) (Corr.mCons (Γ' := [(2, (.pair .nat (.adt 2)), none), (1, (.adt 1), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.none (.adt 1)) []))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) rfl rfl rfl (Corr.matchArms (st := (.list (.adt 2))) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 25))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.none (.adt 1)) []))) (Corr.mCons (Γ' := [(4, (.list (.adt 2)), (some 4)), (3, (.adt 2), (some 3)), (1, (.adt 1), (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 28)) none (.call (.function 12) [(.copy (.generated .binding 0)), (.matchOn (.clone (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 27)), .wild]) (.mk [] (.move (.generated .part 27))))])] true))]) (tail := (.matchOn (.move (.generated .holder 28)) [(.mk .none (.mk [(.mk (.bind (.generated .binding 6)) (some (.list (.adt 2))) (.call (.function 13) [(.clone (.generated .binding 3))] false)), (.mk (.bind (.generated .binding 7)) (some (.list (.adt 2))) (.clone (.generated .binding 6))), (.mk (.bind (.generated .binding 8)) (some (.list (.adt 2))) (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.move (.generated .binding 7))), (.mk (.bind (.generated .operand 53)) none (.move (.generated .binding 4)))] (.call (.runtime .appendList) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false)))), (.mk (.bind (.generated .binding 9)) (some (.list (.adt 2))) (.call (.function 9) [(.construct (.closure 1 14) []), (.construct (.nil (.adt 2)) []), (.clone (.generated .binding 8))] false))] (.succeed (.construct .some [(.construct (.adt 1 0) [(.clone (.generated .binding 9)), (.construct (.none (.pair .nat (.adt 2))) []), (.cond (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 54)), .wild]) (.mk [] (.move (.generated .part 54))))]) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 56)) none (.lit (.nat 3))), (.mk (.bind (.generated .operand 57)) none (.block (.mk [(.mk (.bind (.generated .operand 55)) none (.move (.generated .binding 8)))] (.call (.runtime .lengthList) [(.move (.generated .operand 55))] false))))] (.call (.runtime .natLt) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] false))), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.bind (.generated .holder 60)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 59))]) (.mk [] (.move (.generated .part 59))))]))] (.matchOn (.move (.generated .holder 60)) [(.mk (.adt 3 0 [(.bind (.generated .part 58)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))])))), (.mk (.bind (.generated .operand 62)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 61)), (.move (.generated .operand 62))] true))), (.block (.mk [(.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .holder 65)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 64))]) (.mk [] (.move (.generated .part 64))))]))] (.matchOn (.move (.generated .holder 65)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 63)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])))), (.mk (.bind (.generated .operand 68)) none (.call (.function 15) [(.matchOn (.move (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 66)), .wild]) (.mk [] (.move (.generated .part 66))))])] false))] (.call (.runtime .natAdd) [(.move (.generated .operand 67)), (.move (.generated .operand 68))] true))), (.block (.mk [(.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.bind (.generated .holder 71)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 70))]) (.mk [] (.move (.generated .part 70))))]))] (.matchOn (.move (.generated .holder 71)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 69)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 69))))])))), (.mk (.bind (.generated .operand 74)) none (.block (.mk [(.mk (.bind (.generated .operand 72)) none (.move (.generated .binding 6)))] (.call (.runtime .lengthList) [(.move (.generated .operand 72))] false))))] (.call (.runtime .natAdd) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] true))), (.block (.mk [(.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.bind (.generated .holder 77)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 76))]) (.mk [] (.move (.generated .part 76))))]))] (.matchOn (.move (.generated .holder 77)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 75)), .wild, .wild]) (.mk [] (.move (.generated .part 75))))])))), (.mk (.bind (.generated .operand 79)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 78)), (.move (.generated .operand 79))] true))), (.block (.mk [(.mk (.bind (.generated .operand 83)) none (.block (.mk [(.mk (.bind (.generated .holder 82)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))]))] (.matchOn (.move (.generated .holder 82)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 80)), .wild]) (.mk [] (.move (.generated .part 80))))])))), (.mk (.bind (.generated .operand 84)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 83)), (.move (.generated .operand 84))] true))), (.block (.mk [(.mk (.bind (.generated .operand 89)) none (.block (.mk [(.mk (.bind (.generated .holder 87)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 86))]) (.mk [] (.move (.generated .part 86))))]))] (.matchOn (.move (.generated .holder 87)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 85))]) (.mk [] (.move (.generated .part 85))))])))), (.mk (.bind (.generated .operand 90)) none (.block (.mk [(.mk (.bind (.generated .operand 88)) none (.clone (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 88))] false))))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 89)), (.move (.generated .operand 90))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.move (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 91))] false)) (.mk [(.mk (.bind (.generated .holder 94)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))]))] (.matchOn (.move (.generated .holder 94)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 92))]) (.mk [] (.move (.generated .part 92))))])))))])])])))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.succeed (.construct .some [(.construct (.adt 1 0) [(.move (.generated .binding 4)), (.construct .some [(.pair (.copy (.generated .binding 5)) (.move (.generated .binding 3)))]), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 29)), .wild]) (.mk [] (.move (.generated .part 29))))]), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 33)) none (.block (.mk [(.mk (.bind (.generated .holder 32)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 31))]) (.mk [] (.move (.generated .part 31))))]))] (.matchOn (.move (.generated .holder 32)) [(.mk (.adt 3 0 [(.bind (.generated .part 30)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))])))), (.mk (.bind (.generated .operand 34)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 33)), (.move (.generated .operand 34))] true))), (.block (.mk [(.mk (.bind (.generated .holder 37)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 36))]) (.mk [] (.move (.generated .part 36))))]))] (.matchOn (.move (.generated .holder 37)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 35)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 35))))]))), (.block (.mk [(.mk (.bind (.generated .holder 40)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 39))]) (.mk [] (.move (.generated .part 39))))]))] (.matchOn (.move (.generated .holder 40)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 38)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 38))))]))), (.block (.mk [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))] (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild]) (.mk [] (.move (.generated .part 41))))]))), (.block (.mk [(.mk (.bind (.generated .operand 47)) none (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 44)), .wild]) (.mk [] (.move (.generated .part 44))))])))), (.mk (.bind (.generated .operand 48)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 47)), (.move (.generated .operand 48))] true))), (.block (.mk [(.mk (.bind (.generated .holder 51)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 50))]) (.mk [] (.move (.generated .part 50))))]))] (.matchOn (.move (.generated .holder 51)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 49))]) (.mk [] (.move (.generated .part 49))))])))])])]))))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.callOps (ts := [.nat, (.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 27))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.adt 2)), (some 4)), (3, (.adt 2), (some 3)), (1, (.adt 1), (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .binding 6)) (some (.list (.adt 2))) (.call (.function 13) [(.clone (.generated .binding 3))] false)), (.mk (.bind (.generated .binding 7)) (some (.list (.adt 2))) (.clone (.generated .binding 6))), (.mk (.bind (.generated .binding 8)) (some (.list (.adt 2))) (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.move (.generated .binding 7))), (.mk (.bind (.generated .operand 53)) none (.move (.generated .binding 4)))] (.call (.runtime .appendList) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false)))), (.mk (.bind (.generated .binding 9)) (some (.list (.adt 2))) (.call (.function 9) [(.construct (.closure 1 14) []), (.construct (.nil (.adt 2)) []), (.clone (.generated .binding 8))] false))]) (tail := (.succeed (.construct .some [(.construct (.adt 1 0) [(.clone (.generated .binding 9)), (.construct (.none (.pair .nat (.adt 2))) []), (.cond (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 54)), .wild]) (.mk [] (.move (.generated .part 54))))]) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 56)) none (.lit (.nat 3))), (.mk (.bind (.generated .operand 57)) none (.block (.mk [(.mk (.bind (.generated .operand 55)) none (.move (.generated .binding 8)))] (.call (.runtime .lengthList) [(.move (.generated .operand 55))] false))))] (.call (.runtime .natLt) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] false))), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.bind (.generated .holder 60)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 59))]) (.mk [] (.move (.generated .part 59))))]))] (.matchOn (.move (.generated .holder 60)) [(.mk (.adt 3 0 [(.bind (.generated .part 58)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))])))), (.mk (.bind (.generated .operand 62)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 61)), (.move (.generated .operand 62))] true))), (.block (.mk [(.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .holder 65)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 64))]) (.mk [] (.move (.generated .part 64))))]))] (.matchOn (.move (.generated .holder 65)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 63)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])))), (.mk (.bind (.generated .operand 68)) none (.call (.function 15) [(.matchOn (.move (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 66)), .wild]) (.mk [] (.move (.generated .part 66))))])] false))] (.call (.runtime .natAdd) [(.move (.generated .operand 67)), (.move (.generated .operand 68))] true))), (.block (.mk [(.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.bind (.generated .holder 71)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 70))]) (.mk [] (.move (.generated .part 70))))]))] (.matchOn (.move (.generated .holder 71)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 69)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 69))))])))), (.mk (.bind (.generated .operand 74)) none (.block (.mk [(.mk (.bind (.generated .operand 72)) none (.move (.generated .binding 6)))] (.call (.runtime .lengthList) [(.move (.generated .operand 72))] false))))] (.call (.runtime .natAdd) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] true))), (.block (.mk [(.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.bind (.generated .holder 77)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 76))]) (.mk [] (.move (.generated .part 76))))]))] (.matchOn (.move (.generated .holder 77)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 75)), .wild, .wild]) (.mk [] (.move (.generated .part 75))))])))), (.mk (.bind (.generated .operand 79)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 78)), (.move (.generated .operand 79))] true))), (.block (.mk [(.mk (.bind (.generated .operand 83)) none (.block (.mk [(.mk (.bind (.generated .holder 82)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))]))] (.matchOn (.move (.generated .holder 82)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 80)), .wild]) (.mk [] (.move (.generated .part 80))))])))), (.mk (.bind (.generated .operand 84)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 83)), (.move (.generated .operand 84))] true))), (.block (.mk [(.mk (.bind (.generated .operand 89)) none (.block (.mk [(.mk (.bind (.generated .holder 87)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 86))]) (.mk [] (.move (.generated .part 86))))]))] (.matchOn (.move (.generated .holder 87)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 85))]) (.mk [] (.move (.generated .part 85))))])))), (.mk (.bind (.generated .operand 90)) none (.block (.mk [(.mk (.bind (.generated .operand 88)) none (.clone (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 88))] false))))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 89)), (.move (.generated .operand 90))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.move (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 91))] false)) (.mk [(.mk (.bind (.generated .holder 94)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))]))] (.matchOn (.move (.generated .holder 94)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 92))]) (.mk [] (.move (.generated .part 92))))])))))])])]))) (Corr.mCons (Γ' := [(5, .nat, (some 5)), (4, (.list (.adt 2)), (some 4)), (3, (.adt 2), (some 3)), (1, (.adt 1), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.construct (.adt 1 0) [(.move (.generated .binding 4)), (.construct .some [(.pair (.copy (.generated .binding 5)) (.move (.generated .binding 3)))]), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 29)), .wild]) (.mk [] (.move (.generated .part 29))))]), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 33)) none (.block (.mk [(.mk (.bind (.generated .holder 32)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 31))]) (.mk [] (.move (.generated .part 31))))]))] (.matchOn (.move (.generated .holder 32)) [(.mk (.adt 3 0 [(.bind (.generated .part 30)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))])))), (.mk (.bind (.generated .operand 34)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 33)), (.move (.generated .operand 34))] true))), (.block (.mk [(.mk (.bind (.generated .holder 37)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 36))]) (.mk [] (.move (.generated .part 36))))]))] (.matchOn (.move (.generated .holder 37)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 35)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 35))))]))), (.block (.mk [(.mk (.bind (.generated .holder 40)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 39))]) (.mk [] (.move (.generated .part 39))))]))] (.matchOn (.move (.generated .holder 40)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 38)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 38))))]))), (.block (.mk [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))] (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild]) (.mk [] (.move (.generated .part 41))))]))), (.block (.mk [(.mk (.bind (.generated .operand 47)) none (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 44)), .wild]) (.mk [] (.move (.generated .part 44))))])))), (.mk (.bind (.generated .operand 48)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 47)), (.move (.generated .operand 48))] true))), (.block (.mk [(.mk (.bind (.generated .holder 51)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 50))]) (.mk [] (.move (.generated .part 50))))]))] (.matchOn (.move (.generated .holder 51)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 49))]) (.mk [] (.move (.generated .part 49))))])))])])]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (mask := [false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair .nat (.adt 2))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 29))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 33)) none (.block (.mk [(.mk (.bind (.generated .holder 32)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 31))]) (.mk [] (.move (.generated .part 31))))]))] (.matchOn (.move (.generated .holder 32)) [(.mk (.adt 3 0 [(.bind (.generated .part 30)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))])))), (.mk (.bind (.generated .operand 34)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 33)), (.move (.generated .operand 34))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 32)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 31))]) (.mk [] (.move (.generated .part 31))))]))]) (tail := (.matchOn (.move (.generated .holder 32)) [(.mk (.adt 3 0 [(.bind (.generated .part 30)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 30))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 31))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 37)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 36))]) (.mk [] (.move (.generated .part 36))))]))]) (tail := (.matchOn (.move (.generated .holder 37)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 35)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 35))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 35))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 36))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 40)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 39))]) (.mk [] (.move (.generated .part 39))))]))]) (tail := (.matchOn (.move (.generated .holder 40)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 38)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 38))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 38))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 39))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))]) (tail := (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild]) (.mk [] (.move (.generated .part 41))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 41))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 42))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 47)) none (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 44)), .wild]) (.mk [] (.move (.generated .part 44))))])))), (.mk (.bind (.generated .operand 48)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 47)), (.move (.generated .operand 48))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))]) (tail := (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 44)), .wild]) (.mk [] (.move (.generated .part 44))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 44))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 45))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 51)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 50))]) (.mk [] (.move (.generated .part 50))))]))]) (tail := (.matchOn (.move (.generated .holder 51)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 49))]) (.mk [] (.move (.generated .part 49))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 49))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 50))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))) rfl)) (Corr.lNil)))))) rfl)) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.adt 2)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.letBind (Corr.var rfl rfl) rfl (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 52)) none (.move (.generated .binding 7))), (.mk (.bind (.generated .operand 53)) none (.move (.generated .binding 4)))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false)) (Corr.prim (ts := [(.list (.adt 2)), (.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (.list (.adt 2)), (.list (.adt 2))]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := false) (ff := false) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl (Corr.fOfB (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (mask := [false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 54)), .wild]) (.mk [] (.move (.generated .part 54))))])) (lk := []) (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 54))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 56)) none (.lit (.nat 3))), (.mk (.bind (.generated .operand 57)) none (.block (.mk [(.mk (.bind (.generated .operand 55)) none (.move (.generated .binding 8)))] (.call (.runtime .lengthList) [(.move (.generated .operand 55))] false))))]) (tb := (.call (.runtime .natLt) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 55)) none (.move (.generated .binding 8)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 55))] false)) (Corr.prim (ts := [(.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)))) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.bind (.generated .holder 60)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 59))]) (.mk [] (.move (.generated .part 59))))]))] (.matchOn (.move (.generated .holder 60)) [(.mk (.adt 3 0 [(.bind (.generated .part 58)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))])))), (.mk (.bind (.generated .operand 62)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 61)), (.move (.generated .operand 62))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 60)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 59))]) (.mk [] (.move (.generated .part 59))))]))]) (tail := (.matchOn (.move (.generated .holder 60)) [(.mk (.adt 3 0 [(.bind (.generated .part 58)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 58))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 59))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .holder 65)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 64))]) (.mk [] (.move (.generated .part 64))))]))] (.matchOn (.move (.generated .holder 65)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 63)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])))), (.mk (.bind (.generated .operand 68)) none (.call (.function 15) [(.matchOn (.move (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 66)), .wild]) (.mk [] (.move (.generated .part 66))))])] false))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 67)), (.move (.generated .operand 68))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 65)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 64))]) (.mk [] (.move (.generated .part 64))))]))]) (tail := (.matchOn (.move (.generated .holder 65)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 63)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 63))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 64))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 66))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.bind (.generated .holder 71)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 70))]) (.mk [] (.move (.generated .part 70))))]))] (.matchOn (.move (.generated .holder 71)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 69)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 69))))])))), (.mk (.bind (.generated .operand 74)) none (.block (.mk [(.mk (.bind (.generated .operand 72)) none (.move (.generated .binding 6)))] (.call (.runtime .lengthList) [(.move (.generated .operand 72))] false))))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 71)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 70))]) (.mk [] (.move (.generated .part 70))))]))]) (tail := (.matchOn (.move (.generated .holder 71)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 69)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 69))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 69))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 70))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 72)) none (.move (.generated .binding 6)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 72))] false)) (Corr.prim (ts := [(.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.bind (.generated .holder 77)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 76))]) (.mk [] (.move (.generated .part 76))))]))] (.matchOn (.move (.generated .holder 77)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 75)), .wild, .wild]) (.mk [] (.move (.generated .part 75))))])))), (.mk (.bind (.generated .operand 79)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 78)), (.move (.generated .operand 79))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 77)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 76))]) (.mk [] (.move (.generated .part 76))))]))]) (tail := (.matchOn (.move (.generated .holder 77)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 75)), .wild, .wild]) (.mk [] (.move (.generated .part 75))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 75))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 76))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 83)) none (.block (.mk [(.mk (.bind (.generated .holder 82)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))]))] (.matchOn (.move (.generated .holder 82)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 80)), .wild]) (.mk [] (.move (.generated .part 80))))])))), (.mk (.bind (.generated .operand 84)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 83)), (.move (.generated .operand 84))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 82)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))]))]) (tail := (.matchOn (.move (.generated .holder 82)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 80)), .wild]) (.mk [] (.move (.generated .part 80))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 80))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 81))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 89)) none (.block (.mk [(.mk (.bind (.generated .holder 87)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 86))]) (.mk [] (.move (.generated .part 86))))]))] (.matchOn (.move (.generated .holder 87)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 85))]) (.mk [] (.move (.generated .part 85))))])))), (.mk (.bind (.generated .operand 90)) none (.block (.mk [(.mk (.bind (.generated .operand 88)) none (.clone (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 88))] false))))]) (tail := (.cond (.call (.runtime .natLt) [(.move (.generated .operand 89)), (.move (.generated .operand 90))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.move (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 91))] false)) (.mk [(.mk (.bind (.generated .holder 94)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))]))] (.matchOn (.move (.generated .holder 94)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 92))]) (.mk [] (.move (.generated .part 92))))])))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 89)) none (.block (.mk [(.mk (.bind (.generated .holder 87)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 86))]) (.mk [] (.move (.generated .part 86))))]))] (.matchOn (.move (.generated .holder 87)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 85))]) (.mk [] (.move (.generated .part 85))))])))), (.mk (.bind (.generated .operand 90)) none (.block (.mk [(.mk (.bind (.generated .operand 88)) none (.clone (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 88))] false))))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 89)), (.move (.generated .operand 90))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 87)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 86))]) (.mk [] (.move (.generated .part 86))))]))]) (tail := (.matchOn (.move (.generated .holder 87)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 85))]) (.mk [] (.move (.generated .part 85))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 85))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 86))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 88)) none (.clone (.generated .binding 9)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 88))] false)) (Corr.prim (ts := [(.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 91)) none (.move (.generated .binding 9)))]) (ta := (.call (.runtime .lengthList) [(.move (.generated .operand 91))] false)) (lb := [(.mk (.bind (.generated .holder 94)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))]))]) (tb := (.matchOn (.move (.generated .holder 94)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 92))]) (.mk [] (.move (.generated .part 92))))])) (Corr.prim (ts := [(.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 92))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 93))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)))) (Corr.lNil)))))))) rfl)) (Corr.lNil)))))) rfl)) (Corr.lNil))) rfl))))))) rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) rfl rfl rfl)) rfl rfl rfl)⟩⟩ - -theorem fun9 : FunOK program krate flags 9 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 95)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 95)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 9) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 96)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 96) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)))]), [(2, (.list (.adt 2)), (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list (.adt 2))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.adt 2)), (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(4, (.list (.adt 2)), (some 4)), (3, (.adt 2), (some 3)), (2, (.list (.adt 2)), (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 9) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 96)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 96) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (.list (.adt 2)), (.list (.adt 2))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 96)) (some (.fn 1)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 96) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] false)) (Corr.apply (ps := [(.list (.adt 2)), (.adt 2)]) (af := false) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun10 : FunOK program krate flags 10 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 98)) none (.block (.mk [(.mk (.bind (.generated .operand 97)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 97))] false)))), (.mk (.bind (.generated .operand 99)) none (.lit (.nat 3)))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 98)), (.move (.generated .operand 99))] false) (.mk [(.mk (.bind (.generated .operand 100)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 101)) none (.construct .cons [(.move (.generated .binding 1)), (.construct (.nil (.adt 2)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false)) (.mk [] (.move (.generated .binding 0)))), [(1, (.adt 2), (some 1)), (0, (.list (.adt 2)), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 98)) none (.block (.mk [(.mk (.bind (.generated .operand 97)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 97))] false)))), (.mk (.bind (.generated .operand 99)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 98)), (.move (.generated .operand 99))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 97)) none (.clone (.generated .binding 0)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 97))] false)) (Corr.prim (ts := [(.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 100)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 101)) none (.construct .cons [(.move (.generated .binding 1)), (.construct (.nil (.adt 2)) [])]))]) (ta := (.call (.runtime .appendList) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false)) (lb := []) (tb := (.move (.generated .binding 0))) (Corr.prim (ts := [(.list (.adt 2)), (.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [(.adt 2), (.list (.adt 2))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.var rfl rfl))))⟩⟩ - -theorem fun11 : FunOK program krate flags 11 := - ⟨_, rfl, .inl ⟨_, _, [], (.pair (.copy (.generated .binding 0)) (.lit (.nat 0))), [(0, .nat, (some 0))], rfl, rfl, - (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))))⟩⟩ - -theorem fun12 : FunOK program krate flags 12 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 102)) none (.call (.function 16) [(.copy (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 102)) [(.mk .none (.mk [] (.succeed (.construct (.none .nat) [])))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.cond (.call (.function 17) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] true) (.mk [] (.succeed (.construct .some [(.copy (.generated .binding 2))]))) (.mk [] (.succeed (.construct (.none .nat) []))))))]), [(1, (.pair .nat .nat), (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.pair .nat .nat), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.none .nat) []))) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.pair .nat .nat), (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 17) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] true) (.mk [] (.succeed (.construct .some [(.copy (.generated .binding 2))]))) (.mk [] (.succeed (.construct (.none .nat) []))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 17) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] true)) (lk := []) (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.copy (.generated .binding 2))]))) (lb := []) (tb := (.succeed (.construct (.none .nat) []))) (Corr.fOfB (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))) rfl rfl rfl (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) rfl rfl rfl)⟩⟩ - -theorem fun13 : FunOK program krate flags 13 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 18) [(.move (.generated .binding 0))] false), [(0, (.adt 2), (some 0))], rfl, rfl, - (Corr.callOps (ts := [(.adt 2)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun14 : FunOK program krate flags 14 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 104)) none (.block (.mk [(.mk (.bind (.generated .operand 103)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 103))] false)))), (.mk (.bind (.generated .operand 105)) none (.lit (.nat 3)))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 104)), (.move (.generated .operand 105))] false) (.mk [(.mk (.bind (.generated .operand 106)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 107)) none (.construct .cons [(.move (.generated .binding 1)), (.construct (.nil (.adt 2)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 106)), (.move (.generated .operand 107))] false)) (.mk [] (.move (.generated .binding 0)))), [(1, (.adt 2), (some 1)), (0, (.list (.adt 2)), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 104)) none (.block (.mk [(.mk (.bind (.generated .operand 103)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 103))] false)))), (.mk (.bind (.generated .operand 105)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 104)), (.move (.generated .operand 105))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 103)) none (.clone (.generated .binding 0)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 103))] false)) (Corr.prim (ts := [(.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 106)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 107)) none (.construct .cons [(.move (.generated .binding 1)), (.construct (.nil (.adt 2)) [])]))]) (ta := (.call (.runtime .appendList) [(.move (.generated .operand 106)), (.move (.generated .operand 107))] false)) (lb := []) (tb := (.move (.generated .binding 0))) (Corr.prim (ts := [(.list (.adt 2)), (.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [(.adt 2), (.list (.adt 2))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.var rfl rfl))))⟩⟩ - -theorem fun15 : FunOK program krate flags 15 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 108)) none (.call (.function 19) [(.copy (.generated .binding 0))] false))], (.call (.runtime .lengthList) [(.move (.generated .operand 108))] false), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.prim (ts := [(.list .nat)]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun16 : FunOK program krate flags 16 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 110)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 111)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 109))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 109)))))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 110)), (.move (.generated .operand 111))] false) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 112))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 112))))])) (.mk [] (.construct (.none .nat) []))), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 110)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 111)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 109))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 109)))))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 110)), (.move (.generated .operand 111))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 109))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 109))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 112))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 112))))])) (lb := []) (tb := (.construct (.none .nat) [])) (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 112))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 112))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun17 : FunOK program krate flags 17 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 115)) none (.block (.mk [(.mk (.bind (.generated .operand 113)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 114)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 113)), (.move (.generated .operand 114))] true)))), (.mk (.bind (.generated .operand 116)) none (.copy (.generated .binding 0)))], (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 115)), (.move (.generated .operand 116))] false)), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, - (Corr.fOfB (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 113)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 114)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 113)), (.move (.generated .operand 114))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl))⟩⟩ - -theorem fun18 : FunOK program krate flags 18 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 20) [(.construct (.closure 2 21) [(.clone (.generated .binding 0))]), (.construct (.nil (.adt 2)) []), (.call (.function 19) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 117)), .wild]) (.mk [] (.move (.generated .part 117))))])] false)] false), [(0, (.adt 2), (some 0))], rfl, rfl, - (Corr.callOps (ts := [(.fn [(.list (.adt 2)), .nat] (.list (.adt 2))), (.list (.adt 2)), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [(.adt 2)]) (mask := [false]) (af := false) (ff := false) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 117))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun19 : FunOK program krate flags 19 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 119)) none (.block (.mk [(.mk (.bind (.generated .binding 1)) (some .nat) (.block (.mk [(.mk (.tuple [(.bind (.generated .part 118)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 118))))), (.mk (.bind (.generated .binding 2)) (some (.list .nat)) (.call (.function 22) [(.copy (.generated .binding 1))] false))] (.cond (.call (.function 23) [(.copy (.generated .binding 1)), (.clone (.generated .binding 2))] false) (.mk [] (.construct (.ok (.list .nat) (.pair .bool .bool)) [(.move (.generated .binding 2))])) (.mk [] (.construct (.err (.list .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))]))))))], (.matchOn (.move (.generated .holder 119)) [(.mk (.ok (.bind (.generated .binding 3))) (.mk [] (.move (.generated .binding 3)))), (.mk (.err .wild) (.mk [] (.construct (.nil .nat) [])))]), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.result (.list .nat) (.pair .bool .bool))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.bind (.generated .binding 1)) (some .nat) (.block (.mk [(.mk (.tuple [(.bind (.generated .part 118)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 118))))), (.mk (.bind (.generated .binding 2)) (some (.list .nat)) (.call (.function 22) [(.copy (.generated .binding 1))] false))]) (tail := (.cond (.call (.function 23) [(.copy (.generated .binding 1)), (.clone (.generated .binding 2))] false) (.mk [] (.construct (.ok (.list .nat) (.pair .bool .bool)) [(.move (.generated .binding 2))])) (.mk [] (.construct (.err (.list .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))) (Corr.letBind (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 118)), .wild]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 118))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) rfl (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.cond (lc := []) (ce := (.call (.function 23) [(.copy (.generated .binding 1)), (.clone (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [.nat, (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct (.ok (.list .nat) (.pair .bool .bool)) [(.move (.generated .binding 2))])) (lb := []) (tb := (.construct (.err (.list .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])) (Corr.build (ts := [(.list .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl) (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (0, (.pair .nat .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 3))) (Corr.mCons (Γ' := [(4, (.pair .bool .bool), none), (0, (.pair .nat .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct (.nil .nat) [])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun20 : FunOK program krate flags 20 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 120)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 120)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 20) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 121)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 121) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)))]), [(2, (.list .nat), (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.fn [(.list (.adt 2)), .nat] (.list (.adt 2))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.fn [(.list (.adt 2)), .nat] (.list (.adt 2))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(4, (.list .nat), (some 4)), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.fn [(.list (.adt 2)), .nat] (.list (.adt 2))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 20) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 121)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 121) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.fn [(.list (.adt 2)), .nat] (.list (.adt 2))), (.list (.adt 2)), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 121)) (some (.fn 2)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 121) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false)) (Corr.apply (ps := [(.list (.adt 2)), .nat]) (af := false) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun21 : FunOK program krate flags 21 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 24) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false), [(2, .nat, (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.adt 2), (some 0))], rfl, rfl, - (Corr.callOps (ts := [(.adt 2), (.list (.adt 2)), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun22 : FunOK program krate flags 22 := - ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 25) [(.copy (.generated .binding 0))] false), [(0, .nat, (some 0))], rfl, rfl, - (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun23 : FunOK program krate flags 23 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 123)) none (.block (.mk [(.mk (.bind (.generated .operand 122)) none (.move (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 122))] false)))), (.mk (.bind (.generated .operand 124)) none (.lit (.nat 4)))], (.call (.runtime .natLe) [(.move (.generated .operand 123)), (.move (.generated .operand 124))] false), [(1, (.list .nat), (some 1)), (0, .nat, none)], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 122)) none (.move (.generated .binding 1)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 122))] false)) (Corr.prim (ts := [(.list .nat)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun24 : FunOK program krate flags 24 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 126)) none (.call (.function 26) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 125)), .wild]) (.mk [] (.move (.generated .part 125))))]), (.construct (.adt 0 0) [(.copy (.generated .binding 2))])] false))], (.matchOn (.move (.generated .holder 126)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.bind (.generated .binding 3))) (.mk [(.mk (.bind (.generated .operand 130)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 131)) none (.construct .cons [(.construct (.adt 2 0) [(.copy (.generated .binding 3)), (.block (.mk [(.mk (.bind (.generated .operand 128)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 127))]) (.mk [] (.move (.generated .part 127))))])), (.mk (.bind (.generated .operand 129)) none (.construct .cons [(.construct (.adt 0 0) [(.copy (.generated .binding 2))]), (.construct (.nil (.adt 0)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 128)), (.move (.generated .operand 129))] false)))]), (.construct (.nil (.adt 2)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 130)), (.move (.generated .operand 131))] false)))]), [(2, .nat, (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.adt 2), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option (.pair .nat .nat))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat), (.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 125))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.adt 2), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(3, (.pair .nat .nat), (some 3)), (2, .nat, (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.adt 2), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .operand 130)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 131)) none (.construct .cons [(.construct (.adt 2 0) [(.copy (.generated .binding 3)), (.block (.mk [(.mk (.bind (.generated .operand 128)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 127))]) (.mk [] (.move (.generated .part 127))))])), (.mk (.bind (.generated .operand 129)) none (.construct .cons [(.construct (.adt 0 0) [(.copy (.generated .binding 2))]), (.construct (.nil (.adt 0)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 128)), (.move (.generated .operand 129))] false)))]), (.construct (.nil (.adt 2)) [])]))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 130)), (.move (.generated .operand 131))] false)) (Corr.mNil) rfl rfl rfl (Corr.prim (ts := [(.list (.adt 2)), (.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [(.adt 2), (.list (.adt 2))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair .nat .nat), (.list (.adt 0))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 128)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 127))]) (.mk [] (.move (.generated .part 127))))])), (.mk (.bind (.generated .operand 129)) none (.construct .cons [(.construct (.adt 0 0) [(.copy (.generated .binding 2))]), (.construct (.nil (.adt 0)) [])]))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 128)), (.move (.generated .operand 129))] false)) (Corr.prim (ts := [(.list (.adt 0)), (.list (.adt 0))]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 127))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [(.adt 0), (.list (.adt 0))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun25 : FunOK program krate flags 25 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 132)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 133)) none (.lit (.nat 10)))] (.call (.runtime .natSub) [(.move (.generated .operand 132)), (.move (.generated .operand 133))] false))), (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 134)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 135)) none (.lit (.nat 20)))] (.call (.runtime .natSub) [(.move (.generated .operand 134)), (.move (.generated .operand 135))] false))), (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 136)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 137)) none (.lit (.nat 30)))] (.call (.runtime .natSub) [(.move (.generated .operand 136)), (.move (.generated .operand 137))] false))), (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 138)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 139)) none (.lit (.nat 50)))] (.call (.runtime .natSub) [(.move (.generated .operand 138)), (.move (.generated .operand 139))] false))), (.construct (.nil .nat) [])])])])]), [(0, .nat, (some 0))], rfl, rfl, - (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 132)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 133)) none (.lit (.nat 10)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 132)), (.move (.generated .operand 133))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 134)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 135)) none (.lit (.nat 20)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 134)), (.move (.generated .operand 135))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 136)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 137)) none (.lit (.nat 30)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 136)), (.move (.generated .operand 137))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 138)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 139)) none (.lit (.nat 50)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 138)), (.move (.generated .operand 139))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)⟩⟩ - -theorem fun26 : FunOK program krate flags 26 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 140)) none (.move (.generated .binding 1)))], (.matchOn (.move (.generated .holder 140)) [(.mk (.adt 0 0 [(.bind (.generated .binding 2))]) (.mk [] (.call (.function 27) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false)))]), [(1, (.adt 0), (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.adt 0), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.call (.function 27) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.pair .nat .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl)⟩⟩ - -theorem fun27 : FunOK program krate flags 27 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 28) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false) (.mk [] (.construct .some [(.call (.function 29) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false)])) (.mk [] (.construct (.none (.pair .nat .nat)) []))), [(1, .nat, (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 28) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.pair .nat .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 29) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false)])) (lb := []) (tb := (.construct (.none (.pair .nat .nat)) [])) (Corr.build (ts := [(.pair .nat .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun28 : FunOK program krate flags 28 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 142)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 141))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 141))))), (.mk (.bind (.generated .operand 143)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 142)), (.move (.generated .operand 143))] false) (.mk [(.mk (.bind (.generated .operand 144)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 145)) none (.copy (.generated .binding 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 144)), (.move (.generated .operand 145))] false)) (.mk [] (.lit (.bool false)))), [(1, .nat, (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 142)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 141))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 141))))), (.mk (.bind (.generated .operand 143)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 142)), (.move (.generated .operand 143))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 141))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 141))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 144)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 145)) none (.copy (.generated .binding 1)))]) (ta := (.call (.runtime .natLt) [(.move (.generated .operand 144)), (.move (.generated .operand 145))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun29 : FunOK program krate flags 29 := - ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 146)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 146)))) (.copy (.generated .binding 1))), [(1, .nat, (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 146)), .wild]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 146))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | 4 => exact fun4 - | 5 => exact fun5 - | 6 => exact fun6 - | 7 => exact fun7 - | 8 => exact fun8 - | 9 => exact fun9 - | 10 => exact fun10 - | 11 => exact fun11 - | 12 => exact fun12 - | 13 => exact fun13 - | 14 => exact fun14 - | 15 => exact fun15 - | 16 => exact fun16 - | 17 => exact fun17 - | 18 => exact fun18 - | 19 => exact fun19 - | 20 => exact fun20 - | 21 => exact fun21 - | 22 => exact fun22 - | 23 => exact fun23 - | 24 => exact fun24 - | 25 => exact fun25 - | 26 => exact fun26 - | 27 => exact fun27 - | 28 => exact fun28 - | 29 => exact fun29 - | _ + 30 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R7.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R7.lean deleted file mode 100644 index 8c1f8b25e..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R7.lean +++ /dev/null @@ -1,200 +0,0 @@ -import LexLeanPreservation.Core -import LexLeanPreservation.Values -import LexLeanPreservation.Primitives -import LexLeanPreservation.Fixed -import LexLeanPreservation.Keys -import LexLeanPreservation.Templates -import LexLeanPreservation.Validate -import Reasoning.Budget -import Reasoning.Clinic -import Reasoning.Main -import Reasoning.Planner -import Reasoning.Screening -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7 - -def __prog : _root_.LexLeanTarget.TargetSyntax.Program := - { adts := [{ constructors := [[], [.nat]] }], functions := [ - { parameters := [0], types := [.nat], result := .nat, - body := (.«match» .nat (.call 1 [(.build .pair (.pair .nat .nat) [(.var 0), (.var 0)])]) [(.arm .ok [1] (.var 1)), (.arm .error [2] (.value .nat (.nat 9)))]) }, - { parameters := [0], types := [(.pair .nat .nat)], result := (.result .nat (.pair .bool .bool)), - body := (.«let» 1 (.pair (.pair .nat .nat) .bool) (.call 2 [(.var 0)]) (.«match» (.result .nat (.pair .bool .bool)) (.second (.var 1)) [(.arm .true [] (.call 3 [(.var 0), (.first (.var 1))])), (.arm .false [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))])) }, - { parameters := [0], types := [(.pair .nat .nat)], result := (.pair (.pair .nat .nat) .bool), - body := (.call 4 [(.closure 5 []), (.prim .natAdd [(.second (.var 0)), (.value .nat (.nat 4))]), (.call 6 [(.var 0)])]) }, - { parameters := [0, 1], types := [(.pair .nat .nat), (.pair .nat .nat)], result := (.result .nat (.pair .bool .bool)), - body := (.«match» (.result .nat (.pair .bool .bool)) (.call 7 [(.var 0), (.var 1)]) [(.arm .some [2] (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)])), (.arm .none [] (.«match» (.result .nat (.pair .bool .bool)) (.call 8 [(.var 1)]) [(.arm .some [3] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])), (.arm .none [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])]))]))]) }, - { parameters := [0, 1, 2], types := [(.fn [(.pair .nat .nat)] (.option (.pair .nat .nat))), .nat, (.pair .nat .nat)], result := (.pair (.pair .nat .nat) .bool), - body := (.«match» (.pair (.pair .nat .nat) .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair (.pair .nat .nat) .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair (.pair .nat .nat) .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair (.pair .nat .nat) .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 4 [(.var 0), (.var 3), (.var 4)]))]))]) }, - { parameters := [0], types := [(.pair .nat .nat)], result := (.option (.pair .nat .nat)), - body := (.«match» (.option (.pair .nat .nat)) (.call 9 [(.var 0)]) [(.arm .none [] (.build .none (.option (.pair .nat .nat)) [])), (.arm .some [1] (.call 10 [(.var 0), (.var 1)]))]) }, - { parameters := [0], types := [(.pair .nat .nat)], result := (.pair .nat .nat), - body := (.build .pair (.pair .nat .nat) [(.first (.var 0)), (.prim .natAdd [(.second (.var 0)), (.value .nat (.nat 3))])]) }, - { parameters := [0, 1], types := [(.pair .nat .nat), (.pair .nat .nat)], result := (.option .nat), - body := (.«match» (.option .nat) (.call 8 [(.var 1)]) [(.arm .none [] (.build .none (.option .nat) [])), (.arm .some [2] (.cond (.call 11 [(.var 0), (.var 2)]) (.build .some (.option .nat) [(.var 2)]) (.build .none (.option .nat) [])))]) }, - { parameters := [0], types := [(.pair .nat .nat)], result := (.option .nat), - body := (.build .some (.option .nat) [(.second (.var 0))]) }, - { parameters := [0], types := [(.pair .nat .nat)], result := (.option (.adt 0)), - body := (.«match» (.option (.adt 0)) (.cond (.call 12 [(.var 0)]) (.build .some (.option (.adt 0)) [(.build (.adt 0) (.adt 0) [])]) (.build .none (.option (.adt 0)) [])) [(.arm .some [1] (.build .some (.option (.adt 0)) [(.var 1)])), (.arm .none [] (.call 13 [(.closure 14 [(.var 0)]), (.build .none (.option (.adt 0)) []), (.call 15 [(.var 0)])]))]) }, - { parameters := [0, 1], types := [(.pair .nat .nat), (.adt 0)], result := (.option (.pair .nat .nat)), - body := (.«match» (.option (.pair .nat .nat)) (.var 1) [(.arm (.adt 0) [] (.call 16 [(.var 0)])), (.arm (.adt 1) [2] (.call 17 [(.var 0), (.var 2)]))]) }, - { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := .bool, - body := (.prim .natEq [(.var 1), (.value .nat (.nat 0))]) }, - { parameters := [0], types := [(.pair .nat .nat)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 2)), (.second (.var 0))]) }, - { parameters := [0, 1, 2], types := [(.fn [(.option (.adt 0)), .nat] (.option (.adt 0))), (.option (.adt 0)), (.list .nat)], result := (.option (.adt 0)), - body := (.«match» (.option (.adt 0)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 13 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1, 2], types := [(.pair .nat .nat), (.option (.adt 0)), .nat], result := (.option (.adt 0)), - body := (.«match» (.option (.adt 0)) (.var 1) [(.arm .some [3] (.build .some (.option (.adt 0)) [(.var 3)])), (.arm .none [] (.cond (.call 18 [(.var 0), (.var 2)]) (.build .some (.option (.adt 0)) [(.build (.adt 1) (.adt 0) [(.var 2)])]) (.build .none (.option (.adt 0)) [])))]) }, - { parameters := [0], types := [(.pair .nat .nat)], result := (.list .nat), - body := (.build .cons (.list .nat) [(.value .nat (.nat 2)), (.build .cons (.list .nat) [(.value .nat (.nat 1)), (.build .nil (.list .nat) [])])]) }, - { parameters := [0], types := [(.pair .nat .nat)], result := (.option (.pair .nat .nat)), - body := (.cond (.call 12 [(.var 0)]) (.build .some (.option (.pair .nat .nat)) [(.call 19 [(.var 0)])]) (.build .none (.option (.pair .nat .nat)) [])) }, - { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := (.option (.pair .nat .nat)), - body := (.cond (.call 18 [(.var 0), (.var 1)]) (.build .some (.option (.pair .nat .nat)) [(.call 20 [(.var 0), (.var 1)])]) (.build .none (.option (.pair .nat .nat)) [])) }, - { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := .bool, - body := (.cond (.prim .natLe [(.var 1), (.second (.var 0))]) (.prim .natLt [(.value .nat (.nat 0)), (.var 1)]) (.build .false .bool [])) }, - { parameters := [0], types := [(.pair .nat .nat)], result := (.pair .nat .nat), - body := (.build .pair (.pair .nat .nat) [(.first (.var 0)), (.prim .natSub [(.second (.var 0)), (.value .nat (.nat 1))])]) }, - { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := (.pair .nat .nat), - body := (.build .pair (.pair .nat .nat) [(.first (.var 0)), (.prim .natSub [(.second (.var 0)), (.var 1)])]) }] } - -def __enc_0 : (Reasoning.Budget.Spend.Step Nat) -> _root_.LexLeanTarget.TargetSyntax.Value - | Reasoning.Budget.Spend.Step.Tick => _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [] - | Reasoning.Budget.Spend.Step.Burn __x0 => _root_.LexLeanTarget.TargetSyntax.Value.adt 1 [(_root_.LexLeanTarget.TargetSyntax.Value.nat __x0)] - -def __fits_12 (s : (Prod Nat Nat)) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_12 (s : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 12 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s)] (_root_.LexLeanPreservation.Rel (__fits_12 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Budget.Tick.guard Nat s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (2 : Nat) (s).2)) - -def __fits_18 (s : (Prod Nat Nat)) (k : Nat) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.ble k (s).2) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) - -theorem __rel_18 (s : (Prod Nat Nat)) (k : Nat) : _root_.LexLeanPreservation.FunRel __prog 18 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s), (_root_.LexLeanTarget.TargetSyntax.Value.nat k)] (_root_.LexLeanPreservation.Rel (__fits_18 s k) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Budget.Burn.guard Nat s k))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.blt (0 : Nat) k))) (Nat.ble k (s).2) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe k (s).2)) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (0 : Nat) k))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) - -def __fits_14 (_ys : (Prod Nat Nat)) (_yacc : (Option (Reasoning.Budget.Spend.Step Nat))) (_yb : Nat) : Bool := - (Bool.true && ((fun (T : Type) (__a : (Option (Reasoning.Budget.Spend.Step T))) (__k0 : ∀ (_yfound : (Reasoning.Budget.Spend.Step T)), Bool) (__k1 : Bool) => (match __a with | Option.some _yfound => __k0 _yfound | Option.none => __k1 : Bool)) Nat _yacc (fun (_yfound : (Reasoning.Budget.Spend.Step Nat)) => ((Bool.true && Bool.true) && Bool.true)) ((((Bool.true && (Bool.true && Bool.true)) && (__fits_18 (_ys) (_yb))) && (if (Reasoning.Budget.Burn.guard Nat (_ys) (_yb)) then ((((Bool.true && Bool.true) && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true)))))) - -attribute [local irreducible] Reasoning.Budget.Burn.guard in -theorem __rel_14 (_ys : (Prod Nat Nat)) (_yacc : (Option (Reasoning.Budget.Spend.Step Nat))) (_yb : Nat) : _root_.LexLeanPreservation.FunRel __prog 14 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _ys), ((_root_.LexLeanPreservation.encOption __enc_0) _yacc), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yb)] (_root_.LexLeanPreservation.Rel (__fits_14 _ys _yacc _yb) ((_root_.LexLeanPreservation.encOption __enc_0) (((fun (T : Type) (__a : (Option (Reasoning.Budget.Spend.Step T))) (__k0 : ∀ (_yfound : (Reasoning.Budget.Spend.Step T)), (Option (Reasoning.Budget.Spend.Step Nat))) (__k1 : (Option (Reasoning.Budget.Spend.Step Nat))) => (match __a with | Option.some _yfound => __k0 _yfound | Option.none => __k1 : (Option (Reasoning.Budget.Spend.Step Nat)))) Nat _yacc (fun (_yfound : (Reasoning.Budget.Spend.Step Nat)) => (Option.some (_yfound) : (Option (Reasoning.Budget.Spend.Step Nat)))) ((if (Reasoning.Budget.Burn.guard Nat (_ys) (_yb)) then (Option.some ((Reasoning.Budget.Spend.Step.Burn (_yb) : (Reasoning.Budget.Spend.Step Nat))) : (Option (Reasoning.Budget.Spend.Step Nat))) else (Option.none : (Option (Reasoning.Budget.Spend.Step Nat))))))))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_0) (fun (__a : (Option (Reasoning.Budget.Spend.Step Nat))) => ((fun (T : Type) (__a : (Option (Reasoning.Budget.Spend.Step T))) (__k0 : ∀ (_yfound : (Reasoning.Budget.Spend.Step T)), Bool) (__k1 : Bool) => (match __a with | Option.some _yfound => __k0 _yfound | Option.none => __k1 : Bool)) Nat __a (fun (_yfound : (Reasoning.Budget.Spend.Step Nat)) => ((Bool.true && Bool.true) && Bool.true)) ((((Bool.true && (Bool.true && Bool.true)) && (__fits_18 (_ys) (_yb))) && (if (Reasoning.Budget.Burn.guard Nat (_ys) (_yb)) then ((((Bool.true && Bool.true) && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true)))))) (fun (__a : (Option (Reasoning.Budget.Spend.Step Nat))) => (_root_.LexLeanPreservation.encOption __enc_0) ((fun (T : Type) (__a : (Option (Reasoning.Budget.Spend.Step T))) (__k0 : ∀ (_yfound : (Reasoning.Budget.Spend.Step T)), (Option (Reasoning.Budget.Spend.Step Nat))) (__k1 : (Option (Reasoning.Budget.Spend.Step Nat))) => (match __a with | Option.some _yfound => __k0 _yfound | Option.none => __k1 : (Option (Reasoning.Budget.Spend.Step Nat)))) Nat __a (fun (_yfound : (Reasoning.Budget.Spend.Step Nat)) => (Option.some (_yfound) : (Option (Reasoning.Budget.Spend.Step Nat)))) ((if (Reasoning.Budget.Burn.guard Nat (_ys) (_yb)) then (Option.some ((Reasoning.Budget.Spend.Step.Burn (_yb) : (Reasoning.Budget.Spend.Step Nat))) : (Option (Reasoning.Budget.Spend.Step Nat))) else (Option.none : (Option (Reasoning.Budget.Spend.Step Nat))))))) _yacc (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Option (Reasoning.Budget.Spend.Step Nat))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_0) (if __b then (Option.some ((Reasoning.Budget.Spend.Step.Burn (_yb) : (Reasoning.Budget.Spend.Step Nat))) : (Option (Reasoning.Budget.Spend.Step Nat))) else (Option.none : (Option (Reasoning.Budget.Spend.Step Nat))))) (Reasoning.Budget.Burn.guard Nat (_ys) (_yb)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_18 (_ys) (_yb))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) - -def __fits_15 (s : (Prod Nat Nat)) : Bool := - ((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) - -theorem __rel_15 (s : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 15 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s)] (_root_.LexLeanPreservation.Rel (__fits_15 s) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Budget.Burn.candidates Nat s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) - -def __fits_9 (_ys : (Prod Nat Nat)) : Bool := - ((((Bool.true && Bool.true) && (__fits_12 (_ys))) && (if (Reasoning.Budget.Tick.guard Nat (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && ((fun (T : Type) (__a : (Option (Reasoning.Budget.Spend.Step T))) (__k0 : ∀ (_yfound : (Reasoning.Budget.Spend.Step T)), Bool) (__k1 : Bool) => (match __a with | Option.some _yfound => __k0 _yfound | Option.none => __k1 : Bool)) Nat (if (Reasoning.Budget.Tick.guard Nat (_ys)) then (Option.some ((Reasoning.Budget.Spend.Step.Tick : (Reasoning.Budget.Spend.Step Nat))) : (Option (Reasoning.Budget.Spend.Step Nat))) else (Option.none : (Option (Reasoning.Budget.Spend.Step Nat)))) (fun (_yfound : (Reasoning.Budget.Spend.Step Nat)) => ((Bool.true && Bool.true) && Bool.true)) ((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && (((Bool.true && Bool.true) && (__fits_15 (_ys))) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Option (Reasoning.Budget.Spend.Step Nat))) (__p1 : Nat) => __fits_14 (_ys) __p0 __p1) ((fun (_yacc : (Option (Reasoning.Budget.Spend.Step Nat))) (_yb : Nat) => ((fun (T : Type) (__a : (Option (Reasoning.Budget.Spend.Step T))) (__k0 : ∀ (_yfound : (Reasoning.Budget.Spend.Step T)), (Option (Reasoning.Budget.Spend.Step Nat))) (__k1 : (Option (Reasoning.Budget.Spend.Step Nat))) => (match __a with | Option.some _yfound => __k0 _yfound | Option.none => __k1 : (Option (Reasoning.Budget.Spend.Step Nat)))) Nat _yacc (fun (_yfound : (Reasoning.Budget.Spend.Step Nat)) => (Option.some (_yfound) : (Option (Reasoning.Budget.Spend.Step Nat)))) ((if (Reasoning.Budget.Burn.guard Nat (_ys) (_yb)) then (Option.some ((Reasoning.Budget.Spend.Step.Burn (_yb) : (Reasoning.Budget.Spend.Step Nat))) : (Option (Reasoning.Budget.Spend.Step Nat))) else (Option.none : (Option (Reasoning.Budget.Spend.Step Nat)))))))) ((Option.none : (Option (Reasoning.Budget.Spend.Step Nat)))) ((Reasoning.Budget.Burn.candidates Nat (_ys)))))))) - -attribute [local irreducible] Reasoning.Budget.Burn.candidates Reasoning.Budget.Burn.guard Reasoning.Budget.Tick.guard in -theorem __rel_9 (_ys : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 9 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _ys)] (_root_.LexLeanPreservation.Rel (__fits_9 _ys) ((_root_.LexLeanPreservation.encOption __enc_0) (Reasoning.Budget.Spend.select Nat _ys))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_0) (fun (__a : (Option (Reasoning.Budget.Spend.Step Nat))) => ((fun (T : Type) (__a : (Option (Reasoning.Budget.Spend.Step T))) (__k0 : ∀ (_yfound : (Reasoning.Budget.Spend.Step T)), Bool) (__k1 : Bool) => (match __a with | Option.some _yfound => __k0 _yfound | Option.none => __k1 : Bool)) Nat __a (fun (_yfound : (Reasoning.Budget.Spend.Step Nat)) => ((Bool.true && Bool.true) && Bool.true)) ((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && (((Bool.true && Bool.true) && (__fits_15 (_ys))) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Option (Reasoning.Budget.Spend.Step Nat))) (__p1 : Nat) => __fits_14 (_ys) __p0 __p1) ((fun (_yacc : (Option (Reasoning.Budget.Spend.Step Nat))) (_yb : Nat) => ((fun (T : Type) (__a : (Option (Reasoning.Budget.Spend.Step T))) (__k0 : ∀ (_yfound : (Reasoning.Budget.Spend.Step T)), (Option (Reasoning.Budget.Spend.Step Nat))) (__k1 : (Option (Reasoning.Budget.Spend.Step Nat))) => (match __a with | Option.some _yfound => __k0 _yfound | Option.none => __k1 : (Option (Reasoning.Budget.Spend.Step Nat)))) Nat _yacc (fun (_yfound : (Reasoning.Budget.Spend.Step Nat)) => (Option.some (_yfound) : (Option (Reasoning.Budget.Spend.Step Nat)))) ((if (Reasoning.Budget.Burn.guard Nat (_ys) (_yb)) then (Option.some ((Reasoning.Budget.Spend.Step.Burn (_yb) : (Reasoning.Budget.Spend.Step Nat))) : (Option (Reasoning.Budget.Spend.Step Nat))) else (Option.none : (Option (Reasoning.Budget.Spend.Step Nat)))))))) ((Option.none : (Option (Reasoning.Budget.Spend.Step Nat)))) ((Reasoning.Budget.Burn.candidates Nat (_ys)))))))) (fun (__a : (Option (Reasoning.Budget.Spend.Step Nat))) => (_root_.LexLeanPreservation.encOption __enc_0) ((fun (T : Type) (__a : (Option (Reasoning.Budget.Spend.Step T))) (__k0 : ∀ (_yfound : (Reasoning.Budget.Spend.Step T)), (Option (Reasoning.Budget.Spend.Step Nat))) (__k1 : (Option (Reasoning.Budget.Spend.Step Nat))) => (match __a with | Option.some _yfound => __k0 _yfound | Option.none => __k1 : (Option (Reasoning.Budget.Spend.Step Nat)))) Nat __a (fun (_yfound : (Reasoning.Budget.Spend.Step Nat)) => (Option.some (_yfound) : (Option (Reasoning.Budget.Spend.Step Nat)))) ((Reasoning.Budget.LexLeanCollections.listFold ((fun (_yacc : (Option (Reasoning.Budget.Spend.Step Nat))) (_yb : Nat) => ((fun (T : Type) (__a : (Option (Reasoning.Budget.Spend.Step T))) (__k0 : ∀ (_yfound : (Reasoning.Budget.Spend.Step T)), (Option (Reasoning.Budget.Spend.Step Nat))) (__k1 : (Option (Reasoning.Budget.Spend.Step Nat))) => (match __a with | Option.some _yfound => __k0 _yfound | Option.none => __k1 : (Option (Reasoning.Budget.Spend.Step Nat)))) Nat _yacc (fun (_yfound : (Reasoning.Budget.Spend.Step Nat)) => (Option.some (_yfound) : (Option (Reasoning.Budget.Spend.Step Nat)))) ((if (Reasoning.Budget.Burn.guard Nat (_ys) (_yb)) then (Option.some ((Reasoning.Budget.Spend.Step.Burn (_yb) : (Reasoning.Budget.Spend.Step Nat))) : (Option (Reasoning.Budget.Spend.Step Nat))) else (Option.none : (Option (Reasoning.Budget.Spend.Step Nat)))))))) ((Option.none : (Option (Reasoning.Budget.Spend.Step Nat)))) ((Reasoning.Budget.Burn.candidates Nat (_ys))) : (Option (Reasoning.Budget.Spend.Step Nat)))))) (if (Reasoning.Budget.Tick.guard Nat (_ys)) then (Option.some ((Reasoning.Budget.Spend.Step.Tick : (Reasoning.Budget.Spend.Step Nat))) : (Option (Reasoning.Budget.Spend.Step Nat))) else (Option.none : (Option (Reasoning.Budget.Spend.Step Nat)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_0) (if __b then (Option.some ((Reasoning.Budget.Spend.Step.Tick : (Reasoning.Budget.Spend.Step Nat))) : (Option (Reasoning.Budget.Spend.Step Nat))) else (Option.none : (Option (Reasoning.Budget.Spend.Step Nat))))) (Reasoning.Budget.Tick.guard Nat (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_12 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Budget.Spend.Step Nat))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_15 (_ys))) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.nat) (es := (_root_.LexLeanPreservation.encOption __enc_0)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) ((fun (_yacc : (Option (Reasoning.Budget.Spend.Step Nat))) (_yb : Nat) => ((fun (T : Type) (__a : (Option (Reasoning.Budget.Spend.Step T))) (__k0 : ∀ (_yfound : (Reasoning.Budget.Spend.Step T)), (Option (Reasoning.Budget.Spend.Step Nat))) (__k1 : (Option (Reasoning.Budget.Spend.Step Nat))) => (match __a with | Option.some _yfound => __k0 _yfound | Option.none => __k1 : (Option (Reasoning.Budget.Spend.Step Nat)))) Nat _yacc (fun (_yfound : (Reasoning.Budget.Spend.Step Nat)) => (Option.some (_yfound) : (Option (Reasoning.Budget.Spend.Step Nat)))) ((if (Reasoning.Budget.Burn.guard Nat (_ys) (_yb)) then (Option.some ((Reasoning.Budget.Spend.Step.Burn (_yb) : (Reasoning.Budget.Spend.Step Nat))) : (Option (Reasoning.Budget.Spend.Step Nat))) else (Option.none : (Option (Reasoning.Budget.Spend.Step Nat)))))))) (fun (__p0 : (Option (Reasoning.Budget.Spend.Step Nat))) (__p1 : Nat) => __fits_14 (_ys) __p0 __p1) 14 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _ys)] (fun (__p0 : (Option (Reasoning.Budget.Spend.Step Nat))) (__p1 : Nat) => __rel_14 (_ys) __p0 __p1) (p := __prog) (fi := 13) (ta := .nat) (ts := (.option (.adt 0))) rfl ((Option.none : (Option (Reasoning.Budget.Spend.Step Nat)))) ((Reasoning.Budget.Burn.candidates Nat (_ys))))))))) - -def __fits_19 (s : (Prod Nat Nat)) : Bool := - ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) - -theorem __rel_19 (s : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 19 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s)] (_root_.LexLeanPreservation.Rel (__fits_19 s) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Budget.Tick.conclusion Nat s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub (s).2 (1 : Nat))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) - -def __fits_16 (s : (Prod Nat Nat)) : Bool := - (((Bool.true && Bool.true) && (__fits_12 (s))) && (if (Reasoning.Budget.Tick.guard Nat (s)) then ((((Bool.true && Bool.true) && (__fits_19 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Budget.Tick.conclusion Reasoning.Budget.Tick.guard in -theorem __rel_16 (s : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 16 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s)] (_root_.LexLeanPreservation.Rel (__fits_16 s) ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Reasoning.Budget.Tick.apply Nat s))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_19 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (Option.some ((Reasoning.Budget.Tick.conclusion Nat (s))) : (Option (Prod Nat Nat))) else (Option.none : (Option (Prod Nat Nat))))) (Reasoning.Budget.Tick.guard Nat (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_12 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_19 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_20 (s : (Prod Nat Nat)) (k : Nat) : Bool := - ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) - -theorem __rel_20 (s : (Prod Nat Nat)) (k : Nat) : _root_.LexLeanPreservation.FunRel __prog 20 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s), (_root_.LexLeanTarget.TargetSyntax.Value.nat k)] (_root_.LexLeanPreservation.Rel (__fits_20 s k) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Budget.Burn.conclusion Nat s k))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub (s).2 k)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) - -def __fits_17 (s : (Prod Nat Nat)) (k : Nat) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && (__fits_18 (s) (k))) && (if (Reasoning.Budget.Burn.guard Nat (s) (k)) then ((((Bool.true && (Bool.true && Bool.true)) && (__fits_20 (s) (k))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) - -attribute [local irreducible] Reasoning.Budget.Burn.conclusion Reasoning.Budget.Burn.guard in -theorem __rel_17 (s : (Prod Nat Nat)) (k : Nat) : _root_.LexLeanPreservation.FunRel __prog 17 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s), (_root_.LexLeanTarget.TargetSyntax.Value.nat k)] (_root_.LexLeanPreservation.Rel (__fits_17 s k) ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Reasoning.Budget.Burn.apply Nat s k))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && (Bool.true && Bool.true)) && (__fits_20 (s) (k))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (Option.some ((Reasoning.Budget.Burn.conclusion Nat (s) (k))) : (Option (Prod Nat Nat))) else (Option.none : (Option (Prod Nat Nat))))) (Reasoning.Budget.Burn.guard Nat (s) (k)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_18 (s) (k))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_20 (s) (k))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) - -def __fits_10 (_ys : (Prod Nat Nat)) (_ystep : (Reasoning.Budget.Spend.Step Nat)) : Bool := - (Bool.true && ((fun (T : Type) (__a : (Reasoning.Budget.Spend.Step T)) (__k0 : Bool) (__k1 : ∀ (_yb : Nat), Bool) => (match __a with | Reasoning.Budget.Spend.Step.Tick => __k0 | Reasoning.Budget.Spend.Step.Burn _yb => __k1 _yb : Bool)) Nat _ystep (((Bool.true && Bool.true) && (__fits_16 (_ys)))) (fun (_yb : Nat) => ((Bool.true && (Bool.true && Bool.true)) && (__fits_17 (_ys) (_yb)))))) - -attribute [local irreducible] Reasoning.Budget.Burn.apply Reasoning.Budget.Tick.apply in -theorem __rel_10 (_ys : (Prod Nat Nat)) (_ystep : (Reasoning.Budget.Spend.Step Nat)) : _root_.LexLeanPreservation.FunRel __prog 10 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _ys), (__enc_0 _ystep)] (_root_.LexLeanPreservation.Rel (__fits_10 _ys _ystep) ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Reasoning.Budget.Spend.fire Nat _ys _ystep))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_0 (fun (__a : (Reasoning.Budget.Spend.Step Nat)) => ((fun (T : Type) (__a : (Reasoning.Budget.Spend.Step T)) (__k0 : Bool) (__k1 : ∀ (_yb : Nat), Bool) => (match __a with | Reasoning.Budget.Spend.Step.Tick => __k0 | Reasoning.Budget.Spend.Step.Burn _yb => __k1 _yb : Bool)) Nat __a (((Bool.true && Bool.true) && (__fits_16 (_ys)))) (fun (_yb : Nat) => ((Bool.true && (Bool.true && Bool.true)) && (__fits_17 (_ys) (_yb)))))) (fun (__a : (Reasoning.Budget.Spend.Step Nat)) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) ((fun (T : Type) (__a : (Reasoning.Budget.Spend.Step T)) (__k0 : (Option (Prod Nat Nat))) (__k1 : ∀ (_yb : Nat), (Option (Prod Nat Nat))) => (match __a with | Reasoning.Budget.Spend.Step.Tick => __k0 | Reasoning.Budget.Spend.Step.Burn _yb => __k1 _yb : (Option (Prod Nat Nat)))) Nat __a ((Reasoning.Budget.Tick.apply Nat (_ys))) (fun (_yb : Nat) => (Reasoning.Budget.Burn.apply Nat (_ys) (_yb))))) _ystep (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Reasoning.Budget.Spend.Step Nat)) _ => match __a with | Reasoning.Budget.Spend.Step.Tick => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_16 (_ys)))) | Reasoning.Budget.Spend.Step.Burn _yb => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_17 (_ys) (_yb))))))) - -def __fits_5 (_ys : (Prod Nat Nat)) : Bool := - (((Bool.true && Bool.true) && (__fits_9 (_ys))) && ((fun (T : Type) (__a : (Option (Reasoning.Budget.Spend.Step T))) (__k0 : Bool) (__k1 : ∀ (_ystep : (Reasoning.Budget.Spend.Step T)), Bool) => (match __a with | Option.none => __k0 | Option.some _ystep => __k1 _ystep : Bool)) Nat (Reasoning.Budget.Spend.select Nat (_ys)) ((Bool.true && Bool.true)) (fun (_ystep : (Reasoning.Budget.Spend.Step Nat)) => ((Bool.true && (Bool.true && Bool.true)) && (__fits_10 (_ys) (_ystep)))))) - -attribute [local irreducible] Reasoning.Budget.Spend.fire Reasoning.Budget.Spend.select in -theorem __rel_5 (_ys : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 5 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _ys)] (_root_.LexLeanPreservation.Rel (__fits_5 _ys) ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Reasoning.Budget.Spend.next Nat _ys))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_0) (fun (__a : (Option (Reasoning.Budget.Spend.Step Nat))) => ((fun (T : Type) (__a : (Option (Reasoning.Budget.Spend.Step T))) (__k0 : Bool) (__k1 : ∀ (_ystep : (Reasoning.Budget.Spend.Step T)), Bool) => (match __a with | Option.none => __k0 | Option.some _ystep => __k1 _ystep : Bool)) Nat __a ((Bool.true && Bool.true)) (fun (_ystep : (Reasoning.Budget.Spend.Step Nat)) => ((Bool.true && (Bool.true && Bool.true)) && (__fits_10 (_ys) (_ystep)))))) (fun (__a : (Option (Reasoning.Budget.Spend.Step Nat))) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) ((fun (T : Type) (__a : (Option (Reasoning.Budget.Spend.Step T))) (__k0 : (Option (Prod Nat Nat))) (__k1 : ∀ (_ystep : (Reasoning.Budget.Spend.Step T)), (Option (Prod Nat Nat))) => (match __a with | Option.none => __k0 | Option.some _ystep => __k1 _ystep : (Option (Prod Nat Nat)))) Nat __a ((Option.none : (Option (Prod Nat Nat)))) (fun (_ystep : (Reasoning.Budget.Spend.Step Nat)) => (Reasoning.Budget.Spend.fire Nat (_ys) (_ystep))))) (Reasoning.Budget.Spend.select Nat (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_9 (_ys))) (fun (__a : (Option (Reasoning.Budget.Spend.Step Nat))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | Option.some _ystep => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_10 (_ys) (_ystep))))))) - -def __fits_6 (x : (Prod Nat Nat)) : Bool := - ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((x).2 + (3 : Nat)) 18446744073709551616)) && Bool.true)) && Bool.true) - -theorem __rel_6 (x : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 6 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) x)] (_root_.LexLeanPreservation.Rel (__fits_6 x) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Budget.Spend.observe Nat x))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (x).2 (3 : Nat))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) - -def __fits_2 (x : (Prod Nat Nat)) : Bool := - ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((x).2 + (4 : Nat)) 18446744073709551616)) && (((Bool.true && Bool.true) && (__fits_6 (x))) && Bool.true))) && (_root_.LexLeanPreservation.untilFits (fun (__p0 : (Prod Nat Nat)) => __fits_5 __p0) ((Reasoning.Budget.Spend.next Nat)) (((x).2 + (4 : Nat))) ((Reasoning.Budget.Spend.observe Nat (x))))) - -attribute [local irreducible] Reasoning.Budget.Spend.observe in -theorem __rel_2 (x : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 2 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) x)] (_root_.LexLeanPreservation.Rel (__fits_2 x) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _root_.LexLeanTarget.TargetSyntax.Value.bool) (Reasoning.Budget.Spend.saturate Nat x))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (x).2 (4 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_6 (x))) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_iterateUntil (es := (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.optEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _root_.LexLeanTarget.TargetSyntax.Value.bool) (fun _ => rfl) ((Reasoning.Budget.Spend.next Nat)) (fun (__p0 : (Prod Nat Nat)) => __fits_5 __p0) 5 [] (fun (__p0 : (Prod Nat Nat)) => __rel_5 __p0) (Reasoning.Budget.LexLeanCollections.iterateUntil ((Reasoning.Budget.Spend.next Nat))) (fun _ => rfl) (fun _ _ __h => by simp only [Reasoning.Budget.LexLeanCollections.iterateUntil, __h]) (fun _ _ _ __h => by simp only [Reasoning.Budget.LexLeanCollections.iterateUntil, __h]) (p := __prog) (fi := 4) (ts := (.pair .nat .nat)) rfl (((x).2 + (4 : Nat))) ((Reasoning.Budget.Spend.observe Nat (x))))) - -def __fits_8 (account : (Prod Nat Nat)) : Bool := - ((Bool.true && Bool.true) && Bool.true) - -theorem __rel_8 (account : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 8 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) account)] (_root_.LexLeanPreservation.Rel (__fits_8 account) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Budget.Spend.extract Nat account))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) - -def __fits_11 (x : (Prod Nat Nat)) (r : Nat) : Bool := - ((Bool.true && (Bool.true && Bool.true)) && Bool.true) - -theorem __rel_11 (x : (Prod Nat Nat)) (r : Nat) : _root_.LexLeanPreservation.FunRel __prog 11 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) x), (_root_.LexLeanTarget.TargetSyntax.Value.nat r)] (_root_.LexLeanPreservation.Rel (__fits_11 x r) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Budget.emptyCheck (Prod Nat Nat) x r))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq r (0 : Nat))) - -def __fits_7 (x : (Prod Nat Nat)) (_ys : (Prod Nat Nat)) : Bool := - (((Bool.true && Bool.true) && (__fits_8 (_ys))) && (match (Reasoning.Budget.Spend.extract Nat (_ys)) with | Option.none => (Bool.true && Bool.true) | Option.some _yv => (((Bool.true && (Bool.true && Bool.true)) && (__fits_11 (x) (_yv))) && (if (Reasoning.Budget.emptyCheck (Prod Nat Nat) (x) (_yv)) then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) - -attribute [local irreducible] Reasoning.Budget.Spend.extract Reasoning.Budget.emptyCheck in -theorem __rel_7 (x : (Prod Nat Nat)) (_ys : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 7 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) x), ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _ys)] (_root_.LexLeanPreservation.Rel (__fits_7 x _ys) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Budget.Spend.accept Nat x _ys))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.none => (Bool.true && Bool.true) | Option.some _yv => (((Bool.true && (Bool.true && Bool.true)) && (__fits_11 (x) (_yv))) && (if (Reasoning.Budget.emptyCheck (Prod Nat Nat) (x) (_yv)) then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.none => (Option.none : (Option Nat)) | Option.some _yv => (if (Reasoning.Budget.emptyCheck (Prod Nat Nat) (x) (_yv)) then (Option.some (_yv) : (Option Nat)) else (Option.none : (Option Nat))))) (Reasoning.Budget.Spend.extract Nat (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_8 (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | Option.some _yv => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then (Option.some (_yv) : (Option Nat)) else (Option.none : (Option Nat)))) (Reasoning.Budget.emptyCheck (Prod Nat Nat) (x) (_yv)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_11 (x) (_yv))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) - -def __fits_3 (x : (Prod Nat Nat)) (_ys : (Prod Nat Nat)) : Bool := - (((Bool.true && (Bool.true && Bool.true)) && (__fits_7 (x) (_ys))) && (match (Reasoning.Budget.Spend.accept Nat (x) (_ys)) with | Option.some _yv => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_8 (_ys))) && (match (Reasoning.Budget.Spend.extract Nat (_ys)) with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) - -attribute [local irreducible] Reasoning.Budget.Spend.accept Reasoning.Budget.Spend.extract in -theorem __rel_3 (x : (Prod Nat Nat)) (_ys : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 3 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) x), ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _ys)] (_root_.LexLeanPreservation.Rel (__fits_3 x _ys) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Budget.Spend.conclude Nat x _ys))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.some _yv => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_8 (_ys))) && (match (Reasoning.Budget.Spend.extract Nat (_ys)) with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.some _yv => (Except.ok (_yv) : (Except (Prod Bool Bool) Nat)) | Option.none => (match (Reasoning.Budget.Spend.extract Nat (_ys)) with | Option.some _yv => (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)) | Option.none => (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat))))) (Reasoning.Budget.Spend.accept Nat (x) (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_7 (x) (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.some _yv => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.some _yv => (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)) | Option.none => (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)))) (Reasoning.Budget.Spend.extract Nat (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_8 (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.some _yv => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))))))) - -def __fits_1 (x : (Prod Nat Nat)) : Bool := - (((Bool.true && Bool.true) && (__fits_2 (x))) && (let _yfinal : (Prod (Prod Nat Nat) Bool) := (Reasoning.Budget.Spend.saturate Nat (x)); (Bool.true && (match (_yfinal).2 with | Bool.true => ((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (x) ((_yfinal).1))) | Bool.false => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) - -attribute [local irreducible] Reasoning.Budget.Spend.conclude Reasoning.Budget.Spend.saturate in -theorem __rel_1 (x : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 1 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) x)] (_root_.LexLeanPreservation.Rel (__fits_1 x) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Budget.Spend.verdict Nat x))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (let _yfinal : (Prod (Prod Nat Nat) Bool) := (Reasoning.Budget.Spend.saturate Nat (x)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_2 (x))) (_root_.LexLeanPreservation.conv_matchV _root_.LexLeanTarget.TargetSyntax.Value.bool (fun (__a : Bool) => (match __a with | Bool.true => ((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (x) ((_yfinal).1))) | Bool.false => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__a : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Bool.true => (Reasoning.Budget.Spend.conclude Nat (x) ((_yfinal).1)) | Bool.false => (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)))) (_yfinal).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : Bool) _ => match __a with | Bool.true => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (__rel_3 (x) ((_yfinal).1)))) | Bool.false => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))))) - -def __fits_0 (x : Nat) : Bool := - (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && (__fits_1 ((x, x)))) && (match (Reasoning.Budget.Spend.verdict Nat ((x, x))) with | Except.ok left => Bool.true | Except.error failure => Bool.true)) - -attribute [local irreducible] Reasoning.Budget.Spend.verdict in -theorem __rel_0 (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_0 x) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.spendLeft x))) := - _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Except (Prod Bool Bool) Nat)) => (match __a with | Except.ok left => Bool.true | Except.error failure => Bool.true)) (fun (__a : (Except (Prod Bool Bool) Nat)) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match __a with | Except.ok left => left | Except.error failure => (9 : Nat))) (Reasoning.Budget.Spend.verdict Nat ((x, x))) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) (__rel_1 ((x, x)))) (fun (__a : (Except (Prod Bool Bool) Nat)) _ => match __a with | Except.ok left => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | Except.error failure => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value)))) - -def denote (x : Nat) : _root_.LexLeanPreservation.Obs := - _root_.cond (__fits_0 x) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.spendLeft x)))) _root_.LexLeanPreservation.Obs.overflow - -theorem root (x : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_0 x) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.spendLeft x))) := - _root_.LexLeanPreservation.run_of_funRel (__rel_0 x) - -end LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7 diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R7/Compose/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R7/Compose/RustStd.lean deleted file mode 100644 index 5483e7528..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R7/Compose/RustStd.lean +++ /dev/null @@ -1,20 +0,0 @@ -import LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7 -import LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.RustStd -import LexLeanPreservation.Compose -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -set_option linter.unusedVariables false -namespace LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.Compose.RustStd - -theorem __wt_0 : ∀ (__v : (Reasoning.Budget.Spend.Step Nat)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.RustStd.program _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.RustStd.krate _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.RustStd.flags (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.__enc_0 __v) (.adt 0) - | Reasoning.Budget.Spend.Step.Tick => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil - | Reasoning.Budget.Spend.Step.Burn __x0 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x0) _root_.LexLeanPreservation.Rust.wtl_nil) - -/-- The rendering of the root, invoked on the encoded arguments, realizes -the encoded source result. -/ -theorem root (x : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat x)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.denote x) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat x)] __e_ro := - _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat x) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.root x) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) - -end LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.Compose.RustStd diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R7/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R7/RustStd.lean deleted file mode 100644 index a91aedc61..000000000 --- a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R7/RustStd.lean +++ /dev/null @@ -1,198 +0,0 @@ -import LexLeanPreservation.RustSound -set_option autoImplicit false -set_option maxRecDepth 100000 -set_option maxHeartbeats 0 -set_option synthInstance.maxHeartbeats 0 -namespace LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.RustStd -open LexLeanTarget LexLeanPreservation.Rust - -noncomputable def program : TargetSyntax.Program := - { adts := [{ constructors := [[], [.nat]] }], functions := [ - { parameters := [0], types := [.nat], result := .nat, - body := (.«match» .nat (.call 1 [(.build .pair (.pair .nat .nat) [(.var 0), (.var 0)])]) [(.arm .ok [1] (.var 1)), (.arm .error [2] (.value .nat (.nat 9)))]) }, - { parameters := [0], types := [(.pair .nat .nat)], result := (.result .nat (.pair .bool .bool)), - body := (.«let» 1 (.pair (.pair .nat .nat) .bool) (.call 2 [(.var 0)]) (.«match» (.result .nat (.pair .bool .bool)) (.second (.var 1)) [(.arm .true [] (.call 3 [(.var 0), (.first (.var 1))])), (.arm .false [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))])) }, - { parameters := [0], types := [(.pair .nat .nat)], result := (.pair (.pair .nat .nat) .bool), - body := (.call 4 [(.closure 5 []), (.prim .natAdd [(.second (.var 0)), (.value .nat (.nat 4))]), (.call 6 [(.var 0)])]) }, - { parameters := [0, 1], types := [(.pair .nat .nat), (.pair .nat .nat)], result := (.result .nat (.pair .bool .bool)), - body := (.«match» (.result .nat (.pair .bool .bool)) (.call 7 [(.var 0), (.var 1)]) [(.arm .some [2] (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)])), (.arm .none [] (.«match» (.result .nat (.pair .bool .bool)) (.call 8 [(.var 1)]) [(.arm .some [3] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])), (.arm .none [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])]))]))]) }, - { parameters := [0, 1, 2], types := [(.fn [(.pair .nat .nat)] (.option (.pair .nat .nat))), .nat, (.pair .nat .nat)], result := (.pair (.pair .nat .nat) .bool), - body := (.«match» (.pair (.pair .nat .nat) .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair (.pair .nat .nat) .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair (.pair .nat .nat) .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair (.pair .nat .nat) .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 4 [(.var 0), (.var 3), (.var 4)]))]))]) }, - { parameters := [0], types := [(.pair .nat .nat)], result := (.option (.pair .nat .nat)), - body := (.«match» (.option (.pair .nat .nat)) (.call 9 [(.var 0)]) [(.arm .none [] (.build .none (.option (.pair .nat .nat)) [])), (.arm .some [1] (.call 10 [(.var 0), (.var 1)]))]) }, - { parameters := [0], types := [(.pair .nat .nat)], result := (.pair .nat .nat), - body := (.build .pair (.pair .nat .nat) [(.first (.var 0)), (.prim .natAdd [(.second (.var 0)), (.value .nat (.nat 3))])]) }, - { parameters := [0, 1], types := [(.pair .nat .nat), (.pair .nat .nat)], result := (.option .nat), - body := (.«match» (.option .nat) (.call 8 [(.var 1)]) [(.arm .none [] (.build .none (.option .nat) [])), (.arm .some [2] (.cond (.call 11 [(.var 0), (.var 2)]) (.build .some (.option .nat) [(.var 2)]) (.build .none (.option .nat) [])))]) }, - { parameters := [0], types := [(.pair .nat .nat)], result := (.option .nat), - body := (.build .some (.option .nat) [(.second (.var 0))]) }, - { parameters := [0], types := [(.pair .nat .nat)], result := (.option (.adt 0)), - body := (.«match» (.option (.adt 0)) (.cond (.call 12 [(.var 0)]) (.build .some (.option (.adt 0)) [(.build (.adt 0) (.adt 0) [])]) (.build .none (.option (.adt 0)) [])) [(.arm .some [1] (.build .some (.option (.adt 0)) [(.var 1)])), (.arm .none [] (.call 13 [(.closure 14 [(.var 0)]), (.build .none (.option (.adt 0)) []), (.call 15 [(.var 0)])]))]) }, - { parameters := [0, 1], types := [(.pair .nat .nat), (.adt 0)], result := (.option (.pair .nat .nat)), - body := (.«match» (.option (.pair .nat .nat)) (.var 1) [(.arm (.adt 0) [] (.call 16 [(.var 0)])), (.arm (.adt 1) [2] (.call 17 [(.var 0), (.var 2)]))]) }, - { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := .bool, - body := (.prim .natEq [(.var 1), (.value .nat (.nat 0))]) }, - { parameters := [0], types := [(.pair .nat .nat)], result := .bool, - body := (.prim .natLt [(.value .nat (.nat 2)), (.second (.var 0))]) }, - { parameters := [0, 1, 2], types := [(.fn [(.option (.adt 0)), .nat] (.option (.adt 0))), (.option (.adt 0)), (.list .nat)], result := (.option (.adt 0)), - body := (.«match» (.option (.adt 0)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 13 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, - { parameters := [0, 1, 2], types := [(.pair .nat .nat), (.option (.adt 0)), .nat], result := (.option (.adt 0)), - body := (.«match» (.option (.adt 0)) (.var 1) [(.arm .some [3] (.build .some (.option (.adt 0)) [(.var 3)])), (.arm .none [] (.cond (.call 18 [(.var 0), (.var 2)]) (.build .some (.option (.adt 0)) [(.build (.adt 1) (.adt 0) [(.var 2)])]) (.build .none (.option (.adt 0)) [])))]) }, - { parameters := [0], types := [(.pair .nat .nat)], result := (.list .nat), - body := (.build .cons (.list .nat) [(.value .nat (.nat 2)), (.build .cons (.list .nat) [(.value .nat (.nat 1)), (.build .nil (.list .nat) [])])]) }, - { parameters := [0], types := [(.pair .nat .nat)], result := (.option (.pair .nat .nat)), - body := (.cond (.call 12 [(.var 0)]) (.build .some (.option (.pair .nat .nat)) [(.call 19 [(.var 0)])]) (.build .none (.option (.pair .nat .nat)) [])) }, - { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := (.option (.pair .nat .nat)), - body := (.cond (.call 18 [(.var 0), (.var 1)]) (.build .some (.option (.pair .nat .nat)) [(.call 20 [(.var 0), (.var 1)])]) (.build .none (.option (.pair .nat .nat)) [])) }, - { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := .bool, - body := (.cond (.prim .natLe [(.var 1), (.second (.var 0))]) (.prim .natLt [(.value .nat (.nat 0)), (.var 1)]) (.build .false .bool [])) }, - { parameters := [0], types := [(.pair .nat .nat)], result := (.pair .nat .nat), - body := (.build .pair (.pair .nat .nat) [(.first (.var 0)), (.prim .natSub [(.second (.var 0)), (.value .nat (.nat 1))])]) }, - { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := (.pair .nat .nat), - body := (.build .pair (.pair .nat .nat) [(.first (.var 0)), (.prim .natSub [(.second (.var 0)), (.var 1)])]) }] } - -noncomputable def krate : RustSyntax.Crate := - ({ profile := .std, items := [ - (.enum (.adt 0) [{ number := 0, fields := [] }, { number := 1, fields := [.nat] }]), - (.enum (.fn 0) [{ number := 5, fields := [] }]), - (.apply 0 [(.pair .nat .nat)] (.option (.pair .nat .nat)) false [{ function := 5, captures := [], functionFallible := false }]), - (.enum (.fn 1) [{ number := 14, fields := [(.pair .nat .nat)] }]), - (.apply 1 [(.option (.adt 0)), .nat] (.option (.adt 0)) false [{ function := 14, captures := [.copy], functionFallible := false }]), - (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.pair (.copy (.generated .binding 0)) (.copy (.generated .binding 0)))] true))] (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 1))) (.mk [] (.succeed (.copy (.generated .binding 1))))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 9)))))]))), - (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.fallible (.result .nat (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 1)) (some (.pair (.pair .nat .nat) .bool)) (.call (.function 2) [(.copy (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 3)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 2)))))] (.cond (.move (.generated .holder 3)) (.mk [] (.succeed (.call (.function 3) [(.copy (.generated .binding 0)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 4))))] false))) (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))))), - (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.fallible (.pair (.pair .nat .nat) .bool)) (.mk [] (.succeed (.call (.function 4) [(.construct (.closure 0 5) []), (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 5))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 5))))), (.mk (.bind (.generated .operand 7)) none (.lit (.nat 4)))] (.call (.runtime .natAdd) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] true))), (.call (.function 6) [(.copy (.generated .binding 0))] true)] false)))), - (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.pair .nat .nat) }] (.result .nat (.pair .bool .bool)) (.mk [(.mk (.bind (.generated .holder 8)) none (.call (.function 7) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 8)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 9)) none (.call (.function 8) [(.copy (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])))]))), - (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := (.pair .nat .nat) }] (.pair (.pair .nat .nat) .bool) (.mk [(.mk (.bind (.generated .holder 10)) none (.copy (.generated .binding 1)))] (.cond (.isZero (.generated .holder 10)) (.mk [] (.pair (.copy (.generated .binding 2)) (.lit (.bool false)))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 10))), (.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.bind (.generated .callee 11)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 11) [(.copy (.generated .binding 2))] false))))] (.matchOn (.move (.generated .holder 12)) [(.mk .none (.mk [] (.pair (.copy (.generated .binding 2)) (.lit (.bool true))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4))] false)))]))))), - (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.option (.pair .nat .nat)) (.mk [(.mk (.bind (.generated .holder 13)) none (.call (.function 9) [(.copy (.generated .binding 0))] false))] (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [] (.construct (.none (.pair .nat .nat)) []))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.call (.function 10) [(.copy (.generated .binding 0)), (.move (.generated .binding 1))] false)))]))), - (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.fallible (.pair .nat .nat)) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 14)))) (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 15))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 15))))), (.mk (.bind (.generated .operand 17)) none (.lit (.nat 3)))] (.call (.runtime .natAdd) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] true))))))), - (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.pair .nat .nat) }] (.option .nat) (.mk [(.mk (.bind (.generated .holder 18)) none (.call (.function 8) [(.copy (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 18)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.cond (.call (.function 11) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none .nat) [])))))]))), - (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.option .nat) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 19))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 19))))]))), - (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.option (.adt 0)) (.mk [(.mk (.bind (.generated .holder 20)) none (.cond (.call (.function 12) [(.copy (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 0 0) [])])) (.mk [] (.construct (.none (.adt 0)) []))))] (.matchOn (.move (.generated .holder 20)) [(.mk .none (.mk [] (.call (.function 13) [(.construct (.closure 1 14) [(.copy (.generated .binding 0))]), (.construct (.none (.adt 0)) []), (.call (.function 15) [(.copy (.generated .binding 0))] false)] false))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))]))), - (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 0) }] (.option (.pair .nat .nat)) (.mk [(.mk (.bind (.generated .holder 21)) none (.move (.generated .binding 1)))] (.matchOn (.move (.generated .holder 21)) [(.mk (.adt 0 0 []) (.mk [] (.call (.function 16) [(.copy (.generated .binding 0))] false))), (.mk (.adt 0 1 [(.bind (.generated .binding 2))]) (.mk [] (.call (.function 17) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false)))]))), - (.function (.generated .function 11) [{ pattern := .wild, type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 22)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 23)) none (.lit (.nat 0)))] (.call (.runtime .natEq) [(.move (.generated .operand 22)), (.move (.generated .operand 23))] false))), - (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] .bool (.mk [(.mk (.bind (.generated .operand 25)) none (.lit (.nat 2))), (.mk (.bind (.generated .operand 26)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 24)))))] (.call (.runtime .natLt) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false))), - (.function (.generated .function 13) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 1) }, { pattern := (.bind (.generated .binding 1)), type := (.option (.adt 0)) }, { pattern := (.bind (.generated .binding 2)), type := (.list .nat) }] (.option (.adt 0)) (.mk [(.mk (.bind (.generated .holder 27)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 27)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 13) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 28)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 28) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)))]))), - (.function (.generated .function 14) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.option (.adt 0)) }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.option (.adt 0)) (.mk [(.mk (.bind (.generated .holder 29)) none (.move (.generated .binding 1)))] (.matchOn (.move (.generated .holder 29)) [(.mk .none (.mk [] (.cond (.call (.function 18) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.construct (.adt 0 1) [(.copy (.generated .binding 2))])])) (.mk [] (.construct (.none (.adt 0)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))]))), - (.function (.generated .function 15) [{ pattern := .wild, type := (.pair .nat .nat) }] (.list .nat) (.mk [] (.construct .cons [(.lit (.nat 2)), (.construct .cons [(.lit (.nat 1)), (.construct (.nil .nat) [])])]))), - (.function (.generated .function 16) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.option (.pair .nat .nat)) (.mk [] (.cond (.call (.function 12) [(.copy (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 19) [(.copy (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.pair .nat .nat)) []))))), - (.function (.generated .function 17) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.option (.pair .nat .nat)) (.mk [] (.cond (.call (.function 18) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false) (.mk [] (.construct .some [(.call (.function 20) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false)])) (.mk [] (.construct (.none (.pair .nat .nat)) []))))), - (.function (.generated .function 18) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 31)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 32)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 30))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 30)))))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 31)), (.move (.generated .operand 32))] false) (.mk [(.mk (.bind (.generated .operand 33)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 34)) none (.copy (.generated .binding 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 33)), (.move (.generated .operand 34))] false)) (.mk [] (.lit (.bool false)))))), - (.function (.generated .function 19) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.pair .nat .nat) (.mk [] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 35)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 35)))) (.block (.mk [(.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 36))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 36))))), (.mk (.bind (.generated .operand 38)) none (.lit (.nat 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 37)), (.move (.generated .operand 38))] false)))))), - (.function (.generated .function 20) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.pair .nat .nat) (.mk [] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 39)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 39)))) (.block (.mk [(.mk (.bind (.generated .operand 41)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 40))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 40))))), (.mk (.bind (.generated .operand 42)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 41)), (.move (.generated .operand 42))] false))))))] } : LexLeanTarget.RustSyntax.Crate) - -def flags : Flags := [(([(.pair .nat .nat)], (.option (.pair .nat .nat))), false), (([(.option (.adt 0)), .nat], (.option (.adt 0))), false)] - -theorem fun0 : FunOK program krate flags 0 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.pair (.copy (.generated .binding 0)) (.copy (.generated .binding 0)))] true))], (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 1))) (.mk [] (.succeed (.copy (.generated .binding 1))))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 9)))))]), [(0, .nat, (some 0))], rfl, rfl, - (Corr.matchArms (st := (.result .nat (.pair .bool .bool))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.copy (.generated .binding 1)))) (Corr.mCons (Γ' := [(2, (.pair .bool .bool), none), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 9)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun1 : FunOK program krate flags 1 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.pair (.pair .nat .nat) .bool)) (.call (.function 2) [(.copy (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 3)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 2)))))], (.cond (.move (.generated .holder 3)) (.mk [] (.succeed (.call (.function 3) [(.copy (.generated .binding 0)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 4))))] false))) (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.matchBool (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 2))) (Corr.second (ta := (.pair .nat .nat)) (tb := .bool) (Corr.var rfl rfl) rfl)) rfl rfl (Corr.kIf (la := []) (ta := (.succeed (.call (.function 3) [(.copy (.generated .binding 0)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 4))))] false))) (lb := []) (tb := (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))) (Corr.fOfB (Corr.callOps (ts := [(.pair .nat .nat), (.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 4))) (Corr.first (ta := (.pair .nat .nat)) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))))⟩⟩ - -theorem fun2 : FunOK program krate flags 2 := - ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.call (.function 4) [(.construct (.closure 0 5) []), (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 5))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 5))))), (.mk (.bind (.generated .operand 7)) none (.lit (.nat 4)))] (.call (.runtime .natAdd) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] true))), (.call (.function 6) [(.copy (.generated .binding 0))] true)] false)), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.fOfB (Corr.callOps (ts := [(.fn [(.pair .nat .nat)] (.option (.pair .nat .nat))), .nat, (.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := false) (ff := false) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 6)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 5))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 5))))), (.mk (.bind (.generated .operand 7)) none (.lit (.nat 4)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 5))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 5))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl rfl))⟩⟩ - -theorem fun3 : FunOK program krate flags 3 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 8)) none (.call (.function 7) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 8)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 9)) none (.call (.function 8) [(.copy (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])))]), [(1, (.pair .nat .nat), (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat), (.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.pair .nat .nat), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 9)) none (.call (.function 8) [(.copy (.generated .binding 1))] false))]) (tail := (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))])) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.pair .nat .nat), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])) (Corr.mCons (Γ' := [(3, .nat, none), (1, (.pair .nat .nat), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) rfl rfl rfl)) rfl rfl rfl)⟩⟩ - -theorem fun4 : FunOK program krate flags 4 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 10)) none (.copy (.generated .binding 1)))], (.cond (.isZero (.generated .holder 10)) (.mk [] (.pair (.copy (.generated .binding 2)) (.lit (.bool false)))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 10))), (.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.bind (.generated .callee 11)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 11) [(.copy (.generated .binding 2))] false))))] (.matchOn (.move (.generated .holder 12)) [(.mk .none (.mk [] (.pair (.copy (.generated .binding 2)) (.lit (.bool true))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4))] false)))]))), [(2, (.pair .nat .nat), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.pair .nat .nat)] (.option (.pair .nat .nat))), (some 0))], rfl, rfl, - (Corr.matchNat (sl := (some 3)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.pair (.copy (.generated .binding 2)) (.lit (.bool false)))) (lb := [(.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.bind (.generated .callee 11)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 11) [(.copy (.generated .binding 2))] false))))]) (tb := (.matchOn (.move (.generated .holder 12)) [(.mk .none (.mk [] (.pair (.copy (.generated .binding 2)) (.lit (.bool true))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4))] false)))])) (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))))) (Corr.matchArms (st := (.option (.pair .nat .nat))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 11)) (some (.fn 0)) (.clone (.generated .binding 0)))]) (tail := (.apply (.generated .callee 11) [(.copy (.generated .binding 2))] false)) (Corr.apply (ps := [(.pair .nat .nat)]) (af := false) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, .nat, (some 3)), (2, (.pair .nat .nat), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.pair .nat .nat)] (.option (.pair .nat .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.pair (.copy (.generated .binding 2)) (.lit (.bool true)))) (Corr.mCons (Γ' := [(4, (.pair .nat .nat), (some 4)), (3, .nat, (some 3)), (2, (.pair .nat .nat), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.pair .nat .nat)] (.option (.pair .nat .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.fn [(.pair .nat .nat)] (.option (.pair .nat .nat))), .nat, (.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))))) rfl rfl rfl)))⟩⟩ - -theorem fun5 : FunOK program krate flags 5 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 13)) none (.call (.function 9) [(.copy (.generated .binding 0))] false))], (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [] (.construct (.none (.pair .nat .nat)) []))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.call (.function 10) [(.copy (.generated .binding 0)), (.move (.generated .binding 1))] false)))]), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option (.adt 0))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.pair .nat .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none (.pair .nat .nat)) [])) (Corr.mCons (Γ' := [(1, (.adt 0), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 10) [(.copy (.generated .binding 0)), (.move (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.pair .nat .nat), (.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun6 : FunOK program krate flags 6 := - ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 14)))) (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 15))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 15))))), (.mk (.bind (.generated .operand 17)) none (.lit (.nat 3)))] (.call (.runtime .natAdd) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] true))))), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 14))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 15))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 15))))), (.mk (.bind (.generated .operand 17)) none (.lit (.nat 3)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 15))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 15))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))⟩⟩ - -theorem fun7 : FunOK program krate flags 7 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 18)) none (.call (.function 8) [(.copy (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 18)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.cond (.call (.function 11) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none .nat) [])))))]), [(1, (.pair .nat .nat), (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.pair .nat .nat), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 11) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none .nat) [])))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 11) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [(.pair .nat .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.copy (.generated .binding 2))])) (lb := []) (tb := (.construct (.none .nat) [])) (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ - -theorem fun8 : FunOK program krate flags 8 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 19))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 19))))]), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 19))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 19))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl)⟩⟩ - -theorem fun9 : FunOK program krate flags 9 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 20)) none (.cond (.call (.function 12) [(.copy (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 0 0) [])])) (.mk [] (.construct (.none (.adt 0)) []))))], (.matchOn (.move (.generated .holder 20)) [(.mk .none (.mk [] (.call (.function 13) [(.construct (.closure 1 14) [(.copy (.generated .binding 0))]), (.construct (.none (.adt 0)) []), (.call (.function 15) [(.copy (.generated .binding 0))] false)] false))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))]), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option (.adt 0))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 12) [(.copy (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 0 0) [])])) (lb := []) (tb := (.construct (.none (.adt 0)) [])) (Corr.build (ts := [(.adt 0)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.pair .nat .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 13) [(.construct (.closure 1 14) [(.copy (.generated .binding 0))]), (.construct (.none (.adt 0)) []), (.call (.function 15) [(.copy (.generated .binding 0))] false)] false)) (Corr.mCons (Γ' := [(1, (.adt 0), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 1))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 0)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.callOps (ts := [(.fn [(.option (.adt 0)), .nat] (.option (.adt 0))), (.option (.adt 0)), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [(.pair .nat .nat)]) (mask := [false]) (af := false) (ff := false) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl rfl rfl)⟩⟩ - -theorem fun10 : FunOK program krate flags 10 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 21)) none (.move (.generated .binding 1)))], (.matchOn (.move (.generated .holder 21)) [(.mk (.adt 0 0 []) (.mk [] (.call (.function 16) [(.copy (.generated .binding 0))] false))), (.mk (.adt 0 1 [(.bind (.generated .binding 2))]) (.mk [] (.call (.function 17) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false)))]), [(1, (.adt 0), (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.adt 0), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.call (.function 16) [(.copy (.generated .binding 0))] false)) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.adt 0), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 17) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.pair .nat .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl rfl rfl)⟩⟩ - -theorem fun11 : FunOK program krate flags 11 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 22)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 23)) none (.lit (.nat 0)))], (.call (.runtime .natEq) [(.move (.generated .operand 22)), (.move (.generated .operand 23))] false), [(1, .nat, (some 1)), (0, (.pair .nat .nat), none)], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun12 : FunOK program krate flags 12 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 25)) none (.lit (.nat 2))), (.mk (.bind (.generated .operand 26)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 24)))))], (.call (.runtime .natLt) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 24))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ - -theorem fun13 : FunOK program krate flags 13 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 27)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 27)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 13) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 28)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 28) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)))]), [(2, (.list .nat), (some 2)), (1, (.option (.adt 0)), (some 1)), (0, (.fn [(.option (.adt 0)), .nat] (.option (.adt 0))), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, (.option (.adt 0)), (some 1)), (0, (.fn [(.option (.adt 0)), .nat] (.option (.adt 0))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(4, (.list .nat), (some 4)), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, (.option (.adt 0)), (some 1)), (0, (.fn [(.option (.adt 0)), .nat] (.option (.adt 0))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 13) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 28)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 28) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.fn [(.option (.adt 0)), .nat] (.option (.adt 0))), (.option (.adt 0)), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 28)) (some (.fn 1)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 28) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false)) (Corr.apply (ps := [(.option (.adt 0)), .nat]) (af := false) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ - -theorem fun14 : FunOK program krate flags 14 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 29)) none (.move (.generated .binding 1)))], (.matchOn (.move (.generated .holder 29)) [(.mk .none (.mk [] (.cond (.call (.function 18) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.construct (.adt 0 1) [(.copy (.generated .binding 2))])])) (.mk [] (.construct (.none (.adt 0)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))]), [(2, .nat, (some 2)), (1, (.option (.adt 0)), (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.matchArms (st := (.option (.adt 0))) (U := []) (view := false) (idx := [1, 0]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.option (.adt 0)), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 18) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.construct (.adt 0 1) [(.copy (.generated .binding 2))])])) (.mk [] (.construct (.none (.adt 0)) [])))) (Corr.mCons (Γ' := [(3, (.adt 0), (some 3)), (2, .nat, (some 2)), (1, (.option (.adt 0)), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 3))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 0)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 18) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [(.pair .nat .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 0 1) [(.copy (.generated .binding 2))])])) (lb := []) (tb := (.construct (.none (.adt 0)) [])) (Corr.build (ts := [(.adt 0)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl)⟩⟩ - -theorem fun15 : FunOK program krate flags 15 := - ⟨_, rfl, .inl ⟨_, _, [], (.construct .cons [(.lit (.nat 2)), (.construct .cons [(.lit (.nat 1)), (.construct (.nil .nat) [])])]), [(0, (.pair .nat .nat), none)], rfl, rfl, - (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)⟩⟩ - -theorem fun16 : FunOK program krate flags 16 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 12) [(.copy (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 19) [(.copy (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.pair .nat .nat)) []))), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 12) [(.copy (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 19) [(.copy (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.pair .nat .nat)) [])) (Corr.build (ts := [(.pair .nat .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun17 : FunOK program krate flags 17 := - ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 18) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false) (.mk [] (.construct .some [(.call (.function 20) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false)])) (.mk [] (.construct (.none (.pair .nat .nat)) []))), [(1, .nat, (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.cond (lc := []) (ce := (.call (.function 18) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.pair .nat .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 20) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false)])) (lb := []) (tb := (.construct (.none (.pair .nat .nat)) [])) (Corr.build (ts := [(.pair .nat .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ - -theorem fun18 : FunOK program krate flags 18 := - ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 31)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 32)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 30))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 30)))))], (.cond (.call (.runtime .natLe) [(.move (.generated .operand 31)), (.move (.generated .operand 32))] false) (.mk [(.mk (.bind (.generated .operand 33)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 34)) none (.copy (.generated .binding 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 33)), (.move (.generated .operand 34))] false)) (.mk [] (.lit (.bool false)))), [(1, .nat, (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.cond (lc := [(.mk (.bind (.generated .operand 31)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 32)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 30))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 30)))))]) (ce := (.call (.runtime .natLe) [(.move (.generated .operand 31)), (.move (.generated .operand 32))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 30))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 30))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 33)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 34)) none (.copy (.generated .binding 1)))]) (ta := (.call (.runtime .natLt) [(.move (.generated .operand 33)), (.move (.generated .operand 34))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ - -theorem fun19 : FunOK program krate flags 19 := - ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 35)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 35)))) (.block (.mk [(.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 36))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 36))))), (.mk (.bind (.generated .operand 38)) none (.lit (.nat 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 37)), (.move (.generated .operand 38))] false)))), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 35)), .wild]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 35))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 36))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 36))))), (.mk (.bind (.generated .operand 38)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 37)), (.move (.generated .operand 38))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 36))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 36))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))⟩⟩ - -theorem fun20 : FunOK program krate flags 20 := - ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 39)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 39)))) (.block (.mk [(.mk (.bind (.generated .operand 41)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 40))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 40))))), (.mk (.bind (.generated .operand 42)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 41)), (.move (.generated .operand 42))] false)))), [(1, .nat, (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, - (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 39)), .wild]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 39))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 41)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 40))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 40))))), (.mk (.bind (.generated .operand 42)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 41)), (.move (.generated .operand 42))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 40))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 40))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))⟩⟩ - -theorem crate_ok : CrateOK program krate flags := by - intro f fn h - match f with - | 0 => exact fun0 - | 1 => exact fun1 - | 2 => exact fun2 - | 3 => exact fun3 - | 4 => exact fun4 - | 5 => exact fun5 - | 6 => exact fun6 - | 7 => exact fun7 - | 8 => exact fun8 - | 9 => exact fun9 - | 10 => exact fun10 - | 11 => exact fun11 - | 12 => exact fun12 - | 13 => exact fun13 - | 14 => exact fun14 - | 15 => exact fun15 - | 16 => exact fun16 - | 17 => exact fun17 - | 18 => exact fun18 - | 19 => exact fun19 - | 20 => exact fun20 - | _ + 21 => simp [program, index_eq] at h - -/-- Every function of the program is simulated by its rendering. -/ -theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f - -end LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.RustStd diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R0.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R0.lean new file mode 100644 index 000000000..73c22bc72 --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R0.lean @@ -0,0 +1,391 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Reasoning.Budget +import Reasoning.Clinic +import Reasoning.Main +import Reasoning.Planner +import Reasoning.Screening +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [{ constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }, + { constructors := [[(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]] }, + { constructors := [[], [], [], [], [], [], [], []] }], functions := (( + { parameters := [0, 1, 2, 3, 4, 5], types := [.nat, .nat, .nat, .nat, .nat, .nat], result := .nat, + body := (.«match» .nat (.call 1 [(.build (.adt 0) (.adt 0) [(.var 0), (.var 1), (.var 2), (.var 3), (.var 4), (.var 5)])]) [(.arm .ok [6] (.var 6)), (.arm .error [7] (.value .nat (.nat 9)))]) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.result .nat (.pair .bool .bool)), + body := (.«let» 1 (.pair (.adt 1) .bool) (.call 2 [(.var 0)]) (.«match» (.result .nat (.pair .bool .bool)) (.second (.var 1)) [(.arm .true [] (.call 3 [(.var 0), (.first (.var 1))])), (.arm .false [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))])) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.pair (.adt 1) .bool), + body := (.call 4 [(.closure 5 []), (.value .nat (.nat 11)), (.call 6 [(.var 0)])]) }) ::( + { parameters := [0, 1], types := [(.adt 0), (.adt 1)], result := (.result .nat (.pair .bool .bool)), + body := (.«match» (.result .nat (.pair .bool .bool)) (.call 7 [(.var 0), (.var 1)]) [(.arm .some [2] (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)])), (.arm .none [] (.«match» (.result .nat (.pair .bool .bool)) (.call 8 [(.var 1)]) [(.arm .some [3] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])), (.arm .none [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])]))]))]) }) ::( + { parameters := [0, 1, 2], types := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)], result := (.pair (.adt 1) .bool), + body := (.«match» (.pair (.adt 1) .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair (.adt 1) .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 4 [(.var 0), (.var 3), (.var 4)]))]))]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.«match» (.option (.adt 1)) (.call 9 [(.var 0)]) [(.arm .none [] (.build .none (.option (.adt 1)) [])), (.arm .some [1] (.call 10 [(.var 0), (.var 1)]))]) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.var 0), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0))]) }) ::( + { parameters := [0, 1], types := [(.adt 0), (.adt 1)], result := (.option .nat), + body := (.«match» (.option .nat) (.call 8 [(.var 1)]) [(.arm .none [] (.build .none (.option .nat) [])), (.arm .some [2] (.cond (.call 11 [(.var 0), (.var 2)]) (.build .some (.option .nat) [(.var 2)]) (.build .none (.option .nat) [])))]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option .nat), + body := (.build .some (.option .nat) [(.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 2)), + body := (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.cond (.call 12 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 0) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [1] (.build .some (.option (.adt 2)) [(.var 1)])), (.arm .none [] (.cond (.call 13 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 1) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]) [(.arm .some [2] (.build .some (.option (.adt 2)) [(.var 2)])), (.arm .none [] (.«match» (.option (.adt 2)) (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 2) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [3] (.build .some (.option (.adt 2)) [(.var 3)])), (.arm .none [] (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 3) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]))]) [(.arm .some [4] (.build .some (.option (.adt 2)) [(.var 4)])), (.arm .none [] (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 4) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [5] (.build .some (.option (.adt 2)) [(.var 5)])), (.arm .none [] (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 5) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]) [(.arm .some [6] (.build .some (.option (.adt 2)) [(.var 6)])), (.arm .none [] (.«match» (.option (.adt 2)) (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 6) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [7] (.build .some (.option (.adt 2)) [(.var 7)])), (.arm .none [] (.cond (.call 19 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 7) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]))]))]) }) ::( + { parameters := [0, 1], types := [(.adt 1), (.adt 2)], result := (.option (.adt 1)), + body := (.«match» (.option (.adt 1)) (.var 1) [(.arm (.adt 0) [] (.call 20 [(.var 0)])), (.arm (.adt 1) [] (.call 21 [(.var 0)])), (.arm (.adt 2) [] (.call 22 [(.var 0)])), (.arm (.adt 3) [] (.call 23 [(.var 0)])), (.arm (.adt 4) [] (.call 24 [(.var 0)])), (.arm (.adt 5) [] (.call 25 [(.var 0)])), (.arm (.adt 6) [] (.call 26 [(.var 0)])), (.arm (.adt 7) [] (.call 27 [(.var 0)]))]) }) ::( + { parameters := [0, 1], types := [(.adt 0), .nat], result := .bool, + body := (.cond (.prim .natLe [(.var 1), (.value .nat (.nat 3))]) (.cond (.prim .natEq [(.var 1), (.value .nat (.nat 3))]) (.build .true .bool []) (.prim .boolNot [(.cond (.call 28 [(.var 0)]) (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.cond (.call 29 [(.var 0)]) (.call 30 [(.var 0)]) (.build .false .bool [])) (.build .false .bool [])) (.build .false .bool []))])) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 1), (.value .nat (.nat 0))]) (.call 29 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 2), (.value .nat (.nat 0))]) (.call 30 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 3), (.value .nat (.nat 0))]) (.call 31 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 4), (.value .nat (.nat 0))]) (.call 32 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 0))]) (.prim .natLe [(.value .nat (.nat 2)), (.prim .natAdd [(.prim .natAdd [(.prim .natAdd [(.field (.var 0) 1), (.field (.var 0) 2)]), (.field (.var 0) 3)]), (.field (.var 0) 4)])]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.field (.var 0) 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.call 28 [(.field (.var 0) 0)]) (.build .false .bool [])) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natLt [(.field (.var 0) 8), (.value .nat (.nat 3))]) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 0))]) (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 2))]) (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 1))]) (.build .false .bool [])))) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 12 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 33 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 13 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 34 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 35 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 36 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 37 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 38 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 39 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 19 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 40 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.field (.var 0) 4), (.value .nat (.nat 90))]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 380)), (.field (.var 0) 0)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 90)), (.field (.var 0) 1)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 20)), (.field (.var 0) 2)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 12)), (.field (.var 0) 3)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.value .nat (.nat 1)), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.value .nat (.nat 1)), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.value .nat (.nat 1)), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.value .nat (.nat 1)), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.value .nat (.nat 1)), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.value .nat (.nat 1)), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.value .nat (.nat 1)), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.prim .natAdd [(.field (.var 0) 8), (.value .nat (.nat 1))])]) }) ::[]) } + +def __enc_0 (__s : (Reasoning.Clinic.Vitals)) : _root_.LexLeanTarget.TargetSyntax.Value := + _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).infection)] + +def __enc_1 (__s : (Reasoning.Clinic.Chart)) : _root_.LexLeanTarget.TargetSyntax.Value := + _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(__enc_0 (__s).vitals), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).fever), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).tachycardia), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).tachypnea), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).leukocytosis), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).sirs), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).sepsis), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).shock), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).level)] + +def __enc_2 : (Reasoning.Clinic.Triage.Step) -> _root_.LexLeanTarget.TargetSyntax.Value + | Reasoning.Clinic.Triage.Step.Fever => _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [] + | Reasoning.Clinic.Triage.Step.Tachycardia => _root_.LexLeanTarget.TargetSyntax.Value.adt 1 [] + | Reasoning.Clinic.Triage.Step.Tachypnea => _root_.LexLeanTarget.TargetSyntax.Value.adt 2 [] + | Reasoning.Clinic.Triage.Step.Leukocytosis => _root_.LexLeanTarget.TargetSyntax.Value.adt 3 [] + | Reasoning.Clinic.Triage.Step.Sirs => _root_.LexLeanTarget.TargetSyntax.Value.adt 4 [] + | Reasoning.Clinic.Triage.Step.Sepsis => _root_.LexLeanTarget.TargetSyntax.Value.adt 5 [] + | Reasoning.Clinic.Triage.Step.Shock => _root_.LexLeanTarget.TargetSyntax.Value.adt 6 [] + | Reasoning.Clinic.Triage.Step.Escalate => _root_.LexLeanTarget.TargetSyntax.Value.adt 7 [] + +def __fits_29 (v : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_29 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 29 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_29 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.feverish v))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (380 : Nat) (v).temperature)) + +def __fits_12 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).fever (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_29 ((s).vitals))) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.feverish in +theorem __rel_12 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 12 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_12 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Fever.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_29 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.feverish ((s).vitals)))) (Nat.beq (s).fever (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).fever (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_29 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_30 (v : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_30 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 30 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_30 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.tachycardic v))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (90 : Nat) (v).heartRate)) + +def __fits_13 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).tachycardia (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_30 ((s).vitals))) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.tachycardic in +theorem __rel_13 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 13 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_13 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Tachycardia.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_30 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.tachycardic ((s).vitals)))) (Nat.beq (s).tachycardia (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).tachycardia (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_30 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_31 (v : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_31 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 31 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_31 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.tachypneic v))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (20 : Nat) (v).respiratoryRate)) + +def __fits_14 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).tachypnea (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_31 ((s).vitals))) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.tachypneic in +theorem __rel_14 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 14 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_14 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Tachypnea.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_31 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.tachypneic ((s).vitals)))) (Nat.beq (s).tachypnea (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).tachypnea (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_31 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_32 (v : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_32 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 32 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_32 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.leukocytic v))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (12 : Nat) (v).whiteCells)) + +def __fits_15 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).leukocytosis (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_32 ((s).vitals))) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.leukocytic in +theorem __rel_15 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 15 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_15 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Leukocytosis.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_32 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.leukocytic ((s).vitals)))) (Nat.beq (s).leukocytosis (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).leukocytosis (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_32 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_16 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sirs (0 : Nat)) then ((Bool.true && (((((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).fever + (s).tachycardia) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt (((s).fever + (s).tachycardia) + (s).tachypnea) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis) 18446744073709551616)) && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) + +theorem __rel_16 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 16 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_16 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Sirs.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (((((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).fever + (s).tachycardia) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt (((s).fever + (s).tachycardia) + (s).tachypnea) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis) 18446744073709551616)) && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.ble (2 : Nat) ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis)))) (Nat.beq (s).sirs (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sirs (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (s).fever (s).tachycardia)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((s).fever + (s).tachycardia) (s).tachypnea)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (((s).fever + (s).tachycardia) + (s).tachypnea) (s).leukocytosis)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe (2 : Nat) ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_17 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sepsis (0 : Nat)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sirs (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) + +theorem __rel_17 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 17 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_17 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Sepsis.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sirs (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.beq (s).sirs (1 : Nat)) && (Nat.beq ((s).vitals).infection (1 : Nat))))) (Nat.beq (s).sepsis (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sepsis (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq ((s).vitals).infection (1 : Nat)))) (Nat.beq (s).sirs (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sirs (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq ((s).vitals).infection (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_28 (v : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_28 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 28 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_28 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.hypotensive v))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (v).systolic (90 : Nat))) + +def __fits_18 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).shock (0 : Nat)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sepsis (1 : Nat)) then ((Bool.true && Bool.true) && (__fits_28 ((s).vitals))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.hypotensive in +theorem __rel_18 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 18 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_18 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Shock.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sepsis (1 : Nat)) then ((Bool.true && Bool.true) && (__fits_28 ((s).vitals))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.beq (s).sepsis (1 : Nat)) && (Reasoning.Clinic.hypotensive ((s).vitals))))) (Nat.beq (s).shock (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).shock (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_28 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.hypotensive ((s).vitals)))) (Nat.beq (s).sepsis (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sepsis (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_28 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_19 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.blt (s).level (3 : Nat)) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (0 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))))))) else (Bool.true && Bool.true))) + +theorem __rel_19 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 19 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_19 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Escalate.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (0 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))))))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) || (((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) || ((Nat.beq (s).level (2 : Nat)) && (Nat.beq (s).shock (1 : Nat))))))) (Nat.blt (s).level (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (s).level (3 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)))))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b || (((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) || ((Nat.beq (s).level (2 : Nat)) && (Nat.beq (s).shock (1 : Nat)))))) ((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq (s).sirs (1 : Nat)))) (Nat.beq (s).level (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).level (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sirs (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b || ((Nat.beq (s).level (2 : Nat)) && (Nat.beq (s).shock (1 : Nat))))) ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq (s).sepsis (1 : Nat)))) (Nat.beq (s).level (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).level (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sepsis (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq (s).shock (1 : Nat)))) (Nat.beq (s).level (2 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).level (2 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).shock (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))))))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_9 (_ys : (Reasoning.Clinic.Chart)) : Bool := + ((((((Bool.true && Bool.true) && (__fits_12 (_ys))) && (if (Reasoning.Clinic.Fever.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_13 (_ys))) && (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) && (match (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_14 (_ys))) && (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_15 (_ys))) && (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))) && (match (match (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && (__fits_16 (_ys))) && (if (Reasoning.Clinic.Sirs.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_17 (_ys))) && (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) && (match (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_18 (_ys))) && (if (Reasoning.Clinic.Shock.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_19 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))))) + +attribute [local irreducible] Reasoning.Clinic.Escalate.guard Reasoning.Clinic.Fever.guard Reasoning.Clinic.Leukocytosis.guard Reasoning.Clinic.Sepsis.guard Reasoning.Clinic.Shock.guard Reasoning.Clinic.Sirs.guard Reasoning.Clinic.Tachycardia.guard Reasoning.Clinic.Tachypnea.guard in +theorem __rel_9 (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 9 [(__enc_1 _ys)] (_root_.LexLeanPreservation.Rel (__fits_9 _ys) ((_root_.LexLeanPreservation.encOption __enc_2) (Reasoning.Clinic.Triage.select _ys))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && (__fits_16 (_ys))) && (if (Reasoning.Clinic.Sirs.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_17 (_ys))) && (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) && (match (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_18 (_ys))) && (if (Reasoning.Clinic.Shock.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_19 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Escalate.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Escalate : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))))) (match (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_14 (_ys))) && (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_15 (_ys))) && (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))))) (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_13 (_ys))) && (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Fever.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_12 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Tachycardia.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_13 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_15 (_ys))) && (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Tachypnea.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_14 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Leukocytosis.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_15 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_18 (_ys))) && (if (Reasoning.Clinic.Shock.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_19 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Escalate.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Escalate : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))))) (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_17 (_ys))) && (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Sirs.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_16 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Sepsis.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_17 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_19 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Escalate.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Escalate : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Shock.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_18 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Escalate : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Escalate.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_19 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))))))))))) + +def __fits_33 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_33 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 33 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_33 s) (__enc_1 (Reasoning.Clinic.Fever.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_20 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_12 (s))) && (if (Reasoning.Clinic.Fever.guard (s)) then ((((Bool.true && Bool.true) && (__fits_33 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Fever.conclusion Reasoning.Clinic.Fever.guard in +theorem __rel_20 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 20 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_20 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Fever.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_33 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Fever.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Fever.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_12 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_33 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_34 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_34 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 34 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_34 s) (__enc_1 (Reasoning.Clinic.Tachycardia.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_21 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_13 (s))) && (if (Reasoning.Clinic.Tachycardia.guard (s)) then ((((Bool.true && Bool.true) && (__fits_34 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Tachycardia.conclusion Reasoning.Clinic.Tachycardia.guard in +theorem __rel_21 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 21 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_21 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Tachycardia.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_34 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Tachycardia.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Tachycardia.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_13 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_34 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_35 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_35 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 35 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_35 s) (__enc_1 (Reasoning.Clinic.Tachypnea.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_22 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_14 (s))) && (if (Reasoning.Clinic.Tachypnea.guard (s)) then ((((Bool.true && Bool.true) && (__fits_35 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Tachypnea.conclusion Reasoning.Clinic.Tachypnea.guard in +theorem __rel_22 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 22 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_22 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Tachypnea.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_35 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Tachypnea.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Tachypnea.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_14 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_35 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_36 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_36 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 36 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_36 s) (__enc_1 (Reasoning.Clinic.Leukocytosis.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_23 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_15 (s))) && (if (Reasoning.Clinic.Leukocytosis.guard (s)) then ((((Bool.true && Bool.true) && (__fits_36 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Leukocytosis.conclusion Reasoning.Clinic.Leukocytosis.guard in +theorem __rel_23 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 23 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_23 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Leukocytosis.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_36 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Leukocytosis.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Leukocytosis.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_15 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_36 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_37 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_37 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 37 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_37 s) (__enc_1 (Reasoning.Clinic.Sirs.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_24 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_16 (s))) && (if (Reasoning.Clinic.Sirs.guard (s)) then ((((Bool.true && Bool.true) && (__fits_37 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Sirs.conclusion Reasoning.Clinic.Sirs.guard in +theorem __rel_24 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 24 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_24 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Sirs.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_37 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Sirs.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Sirs.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_16 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_37 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_38 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_38 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 38 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_38 s) (__enc_1 (Reasoning.Clinic.Sepsis.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_25 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_17 (s))) && (if (Reasoning.Clinic.Sepsis.guard (s)) then ((((Bool.true && Bool.true) && (__fits_38 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Sepsis.conclusion Reasoning.Clinic.Sepsis.guard in +theorem __rel_25 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 25 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_25 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Sepsis.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_38 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Sepsis.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Sepsis.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_17 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_38 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_39 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_39 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 39 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_39 s) (__enc_1 (Reasoning.Clinic.Shock.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_26 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_18 (s))) && (if (Reasoning.Clinic.Shock.guard (s)) then ((((Bool.true && Bool.true) && (__fits_39 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Shock.conclusion Reasoning.Clinic.Shock.guard in +theorem __rel_26 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 26 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_26 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Shock.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_39 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Shock.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Shock.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_18 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_39 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_40 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).level + (1 : Nat)) 18446744073709551616)) && Bool.true))))))))) && Bool.true) + +theorem __rel_40 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 40 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_40 s) (__enc_1 (Reasoning.Clinic.Escalate.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (s).level (1 : Nat))) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_27 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_19 (s))) && (if (Reasoning.Clinic.Escalate.guard (s)) then ((((Bool.true && Bool.true) && (__fits_40 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Escalate.conclusion Reasoning.Clinic.Escalate.guard in +theorem __rel_27 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 27 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_27 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Escalate.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_40 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Escalate.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Escalate.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_19 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_40 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_10 (_ys : (Reasoning.Clinic.Chart)) (_ystep : (Reasoning.Clinic.Triage.Step)) : Bool := + (Bool.true && (match _ystep with | Reasoning.Clinic.Triage.Step.Fever => ((Bool.true && Bool.true) && (__fits_20 (_ys))) | Reasoning.Clinic.Triage.Step.Tachycardia => ((Bool.true && Bool.true) && (__fits_21 (_ys))) | Reasoning.Clinic.Triage.Step.Tachypnea => ((Bool.true && Bool.true) && (__fits_22 (_ys))) | Reasoning.Clinic.Triage.Step.Leukocytosis => ((Bool.true && Bool.true) && (__fits_23 (_ys))) | Reasoning.Clinic.Triage.Step.Sirs => ((Bool.true && Bool.true) && (__fits_24 (_ys))) | Reasoning.Clinic.Triage.Step.Sepsis => ((Bool.true && Bool.true) && (__fits_25 (_ys))) | Reasoning.Clinic.Triage.Step.Shock => ((Bool.true && Bool.true) && (__fits_26 (_ys))) | Reasoning.Clinic.Triage.Step.Escalate => ((Bool.true && Bool.true) && (__fits_27 (_ys))))) + +attribute [local irreducible] Reasoning.Clinic.Escalate.apply Reasoning.Clinic.Fever.apply Reasoning.Clinic.Leukocytosis.apply Reasoning.Clinic.Sepsis.apply Reasoning.Clinic.Shock.apply Reasoning.Clinic.Sirs.apply Reasoning.Clinic.Tachycardia.apply Reasoning.Clinic.Tachypnea.apply in +theorem __rel_10 (_ys : (Reasoning.Clinic.Chart)) (_ystep : (Reasoning.Clinic.Triage.Step)) : _root_.LexLeanPreservation.FunRel __prog 10 [(__enc_1 _ys), (__enc_2 _ystep)] (_root_.LexLeanPreservation.Rel (__fits_10 _ys _ystep) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Triage.fire _ys _ystep))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_2 (fun (__a : (Reasoning.Clinic.Triage.Step)) => (match __a with | Reasoning.Clinic.Triage.Step.Fever => ((Bool.true && Bool.true) && (__fits_20 (_ys))) | Reasoning.Clinic.Triage.Step.Tachycardia => ((Bool.true && Bool.true) && (__fits_21 (_ys))) | Reasoning.Clinic.Triage.Step.Tachypnea => ((Bool.true && Bool.true) && (__fits_22 (_ys))) | Reasoning.Clinic.Triage.Step.Leukocytosis => ((Bool.true && Bool.true) && (__fits_23 (_ys))) | Reasoning.Clinic.Triage.Step.Sirs => ((Bool.true && Bool.true) && (__fits_24 (_ys))) | Reasoning.Clinic.Triage.Step.Sepsis => ((Bool.true && Bool.true) && (__fits_25 (_ys))) | Reasoning.Clinic.Triage.Step.Shock => ((Bool.true && Bool.true) && (__fits_26 (_ys))) | Reasoning.Clinic.Triage.Step.Escalate => ((Bool.true && Bool.true) && (__fits_27 (_ys))))) (fun (__a : (Reasoning.Clinic.Triage.Step)) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Reasoning.Clinic.Triage.Step.Fever => (Reasoning.Clinic.Fever.apply (_ys)) | Reasoning.Clinic.Triage.Step.Tachycardia => (Reasoning.Clinic.Tachycardia.apply (_ys)) | Reasoning.Clinic.Triage.Step.Tachypnea => (Reasoning.Clinic.Tachypnea.apply (_ys)) | Reasoning.Clinic.Triage.Step.Leukocytosis => (Reasoning.Clinic.Leukocytosis.apply (_ys)) | Reasoning.Clinic.Triage.Step.Sirs => (Reasoning.Clinic.Sirs.apply (_ys)) | Reasoning.Clinic.Triage.Step.Sepsis => (Reasoning.Clinic.Sepsis.apply (_ys)) | Reasoning.Clinic.Triage.Step.Shock => (Reasoning.Clinic.Shock.apply (_ys)) | Reasoning.Clinic.Triage.Step.Escalate => (Reasoning.Clinic.Escalate.apply (_ys)))) _ystep (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Reasoning.Clinic.Triage.Step)) _ => match __a with | Reasoning.Clinic.Triage.Step.Fever => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_20 (_ys)))) | Reasoning.Clinic.Triage.Step.Tachycardia => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_21 (_ys))))) | Reasoning.Clinic.Triage.Step.Tachypnea => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_22 (_ys)))))) | Reasoning.Clinic.Triage.Step.Leukocytosis => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_23 (_ys))))))) | Reasoning.Clinic.Triage.Step.Sirs => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_24 (_ys)))))))) | Reasoning.Clinic.Triage.Step.Sepsis => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_25 (_ys))))))))) | Reasoning.Clinic.Triage.Step.Shock => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_26 (_ys)))))))))) | Reasoning.Clinic.Triage.Step.Escalate => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_27 (_ys))))))))))))) + +def __fits_5 (_ys : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_9 (_ys))) && (match (Reasoning.Clinic.Triage.select (_ys)) with | Option.none => (Bool.true && Bool.true) | Option.some _ystep => ((Bool.true && (Bool.true && Bool.true)) && (__fits_10 (_ys) (_ystep))))) + +attribute [local irreducible] Reasoning.Clinic.Triage.fire Reasoning.Clinic.Triage.select in +theorem __rel_5 (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 5 [(__enc_1 _ys)] (_root_.LexLeanPreservation.Rel (__fits_5 _ys) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Triage.next _ys))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.none => (Bool.true && Bool.true) | Option.some _ystep => ((Bool.true && (Bool.true && Bool.true)) && (__fits_10 (_ys) (_ystep))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Option.none => (Option.none : (Option (Reasoning.Clinic.Chart))) | Option.some _ystep => (Reasoning.Clinic.Triage.fire (_ys) (_ystep)))) (Reasoning.Clinic.Triage.select (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_9 (_ys))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | Option.some _ystep => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_10 (_ys) (_ystep))))))) + +def __fits_6 (patient : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_6 (patient : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 6 [(__enc_0 patient)] (_root_.LexLeanPreservation.Rel (__fits_6 patient) (__enc_1 (Reasoning.Clinic.Triage.observe patient))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_2 (patient : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && (Bool.true && (((Bool.true && Bool.true) && (__fits_6 (patient))) && Bool.true))) && (_root_.LexLeanPreservation.untilFits (fun (__p0 : (Reasoning.Clinic.Chart)) => __fits_5 __p0) ((Reasoning.Clinic.Triage.next)) ((11 : Nat)) ((Reasoning.Clinic.Triage.observe (patient))))) + +attribute [local irreducible] Reasoning.Clinic.Triage.observe in +theorem __rel_2 (patient : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 2 [(__enc_0 patient)] (_root_.LexLeanPreservation.Rel (__fits_2 patient) ((_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.bool) (Reasoning.Clinic.Triage.saturate patient))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_6 (patient))) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_iterateUntil (es := __enc_1) (_root_.LexLeanPreservation.optEnc __enc_1) (fun _ => rfl) (_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.bool) (fun _ => rfl) ((Reasoning.Clinic.Triage.next)) (fun (__p0 : (Reasoning.Clinic.Chart)) => __fits_5 __p0) 5 [] (fun (__p0 : (Reasoning.Clinic.Chart)) => __rel_5 __p0) (_root_.LexLeanCollections.iterateUntil ((Reasoning.Clinic.Triage.next))) (fun _ => rfl) (fun _ _ __h => by simp only [_root_.LexLeanCollections.iterateUntil, __h]) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.iterateUntil, __h]) (p := __prog) (fi := 4) (ts := (.adt 1)) rfl ((11 : Nat)) ((Reasoning.Clinic.Triage.observe (patient))))) + +def __fits_8 (chart : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && Bool.true) && Bool.true) + +theorem __rel_8 (chart : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 8 [(__enc_1 chart)] (_root_.LexLeanPreservation.Rel (__fits_8 chart) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Clinic.Triage.extract chart))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) + +def __fits_11 (v : (Reasoning.Clinic.Vitals)) (r : Nat) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.ble r (3 : Nat)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq r (3 : Nat)) then (Bool.true && Bool.true) else (((((Bool.true && Bool.true) && (__fits_28 (v))) && (if (Reasoning.Clinic.hypotensive (v)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (v).infection (1 : Nat)) then (((Bool.true && Bool.true) && (__fits_29 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_30 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) && Bool.true) && Bool.true))) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.feverish Reasoning.Clinic.hypotensive Reasoning.Clinic.tachycardic in +theorem __rel_11 (v : (Reasoning.Clinic.Vitals)) (r : Nat) : _root_.LexLeanPreservation.FunRel __prog 11 [(__enc_0 v), (_root_.LexLeanTarget.TargetSyntax.Value.nat r)] (_root_.LexLeanPreservation.Rel (__fits_11 v r) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.recommendationCheck v r))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq r (3 : Nat)) then (Bool.true && Bool.true) else (((((Bool.true && Bool.true) && (__fits_28 (v))) && (if (Reasoning.Clinic.hypotensive (v)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (v).infection (1 : Nat)) then (((Bool.true && Bool.true) && (__fits_29 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_30 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) && Bool.true) && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.beq r (3 : Nat)) || (!((Reasoning.Clinic.hypotensive (v)) && ((Nat.beq (v).infection (1 : Nat)) && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v))))))))) (Nat.ble r (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe r (3 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (Bool.true && Bool.true) else (((((Bool.true && Bool.true) && (__fits_28 (v))) && (if (Reasoning.Clinic.hypotensive (v)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (v).infection (1 : Nat)) then (((Bool.true && Bool.true) && (__fits_29 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_30 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) && Bool.true) && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b || (!((Reasoning.Clinic.hypotensive (v)) && ((Nat.beq (v).infection (1 : Nat)) && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v)))))))) (Nat.beq r (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq r (3 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (v).infection (1 : Nat)) then (((Bool.true && Bool.true) && (__fits_29 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_30 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.beq (v).infection (1 : Nat)) && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v)))))) (Reasoning.Clinic.hypotensive (v)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_28 (v))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && Bool.true) && (__fits_29 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_30 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v))))) (Nat.beq (v).infection (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (v).infection (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_30 (v))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.tachycardic (v)))) (Reasoning.Clinic.feverish (v)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_29 (v))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_30 (v)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_boolNot ((Reasoning.Clinic.hypotensive (v)) && ((Nat.beq (v).infection (1 : Nat)) && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v)))))))))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_7 (patient : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_8 (_ys))) && (match (Reasoning.Clinic.Triage.extract (_ys)) with | Option.none => (Bool.true && Bool.true) | Option.some _yv => (((Bool.true && (Bool.true && Bool.true)) && (__fits_11 (patient) (_yv))) && (if (Reasoning.Clinic.recommendationCheck (patient) (_yv)) then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) + +attribute [local irreducible] Reasoning.Clinic.Triage.extract Reasoning.Clinic.recommendationCheck in +theorem __rel_7 (patient : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 7 [(__enc_0 patient), (__enc_1 _ys)] (_root_.LexLeanPreservation.Rel (__fits_7 patient _ys) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Clinic.Triage.accept patient _ys))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.none => (Bool.true && Bool.true) | Option.some _yv => (((Bool.true && (Bool.true && Bool.true)) && (__fits_11 (patient) (_yv))) && (if (Reasoning.Clinic.recommendationCheck (patient) (_yv)) then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.none => (Option.none : (Option Nat)) | Option.some _yv => (if (Reasoning.Clinic.recommendationCheck (patient) (_yv)) then (Option.some (_yv) : (Option Nat)) else (Option.none : (Option Nat))))) (Reasoning.Clinic.Triage.extract (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_8 (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | Option.some _yv => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then (Option.some (_yv) : (Option Nat)) else (Option.none : (Option Nat)))) (Reasoning.Clinic.recommendationCheck (patient) (_yv)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_11 (patient) (_yv))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) + +def __fits_3 (patient : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && (__fits_7 (patient) (_ys))) && (match (Reasoning.Clinic.Triage.accept (patient) (_ys)) with | Option.some _yv => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_8 (_ys))) && (match (Reasoning.Clinic.Triage.extract (_ys)) with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) + +attribute [local irreducible] Reasoning.Clinic.Triage.accept Reasoning.Clinic.Triage.extract in +theorem __rel_3 (patient : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 3 [(__enc_0 patient), (__enc_1 _ys)] (_root_.LexLeanPreservation.Rel (__fits_3 patient _ys) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Clinic.Triage.conclude patient _ys))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.some _yv => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_8 (_ys))) && (match (Reasoning.Clinic.Triage.extract (_ys)) with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.some _yv => (Except.ok (_yv) : (Except (Prod Bool Bool) Nat)) | Option.none => (match (Reasoning.Clinic.Triage.extract (_ys)) with | Option.some _yv => (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)) | Option.none => (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat))))) (Reasoning.Clinic.Triage.accept (patient) (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_7 (patient) (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.some _yv => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.some _yv => (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)) | Option.none => (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)))) (Reasoning.Clinic.Triage.extract (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_8 (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.some _yv => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))))))) + +def __fits_1 (patient : (Reasoning.Clinic.Vitals)) : Bool := + (((Bool.true && Bool.true) && (__fits_2 (patient))) && (let _yfinal : (Prod (Reasoning.Clinic.Chart) Bool) := (Reasoning.Clinic.Triage.saturate (patient)); (Bool.true && (match (_yfinal).2 with | Bool.true => ((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (patient) ((_yfinal).1))) | Bool.false => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) + +attribute [local irreducible] Reasoning.Clinic.Triage.conclude Reasoning.Clinic.Triage.saturate in +theorem __rel_1 (patient : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 1 [(__enc_0 patient)] (_root_.LexLeanPreservation.Rel (__fits_1 patient) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Clinic.Triage.verdict patient))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (let _yfinal : (Prod (Reasoning.Clinic.Chart) Bool) := (Reasoning.Clinic.Triage.saturate (patient)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_2 (patient))) (_root_.LexLeanPreservation.conv_matchV _root_.LexLeanTarget.TargetSyntax.Value.bool (fun (__a : Bool) => (match __a with | Bool.true => ((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (patient) ((_yfinal).1))) | Bool.false => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__a : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Bool.true => (Reasoning.Clinic.Triage.conclude (patient) ((_yfinal).1)) | Bool.false => (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)))) (_yfinal).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : Bool) _ => match __a with | Bool.true => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (__rel_3 (patient) ((_yfinal).1)))) | Bool.false => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))))) + +def __fits_0 (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : Bool := + (((((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true) && (__fits_1 (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals))))) && (match (Reasoning.Clinic.Triage.verdict (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals)))) with | Except.ok level => Bool.true | Except.error failure => Bool.true)) + +attribute [local irreducible] Reasoning.Clinic.Triage.verdict in +theorem __rel_0 (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)] (_root_.LexLeanPreservation.Rel (__fits_0 temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.triageLevel temperature heartRate respiratoryRate whiteCells systolic infection))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Except (Prod Bool Bool) Nat)) => (match __a with | Except.ok level => Bool.true | Except.error failure => Bool.true)) (fun (__a : (Except (Prod Bool Bool) Nat)) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match __a with | Except.ok level => level | Except.error failure => (9 : Nat))) (Reasoning.Clinic.Triage.verdict (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals)))) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) (__rel_1 (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals))))) (fun (__a : (Except (Prod Bool Bool) Nat)) _ => match __a with | Except.ok level => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | Except.error failure => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value)))) + +def denote (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.triageLevel temperature heartRate respiratoryRate whiteCells systolic infection)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)] (_root_.LexLeanPreservation.Rel (__fits_0 temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.triageLevel temperature heartRate respiratoryRate whiteCells systolic infection))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 temperature heartRate respiratoryRate whiteCells systolic infection) + +end LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0 diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R0/Compose/RustCore.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R0/Compose/RustCore.lean new file mode 100644 index 000000000..75ce0aa70 --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R0/Compose/RustCore.lean @@ -0,0 +1,32 @@ +import LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0 +import LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.RustCore +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.Compose.RustCore + +theorem __wt_0 : ∀ (__s : (Reasoning.Clinic.Vitals)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.RustCore.program _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.RustCore.krate _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.RustCore.flags (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.__enc_0 __s) (.adt 0) := + fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).temperature) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).heartRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).respiratoryRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).whiteCells) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).systolic) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).infection) _root_.LexLeanPreservation.Rust.wtl_nil)))))) + +theorem __wt_1 : ∀ (__s : (Reasoning.Clinic.Chart)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.RustCore.program _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.RustCore.krate _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.RustCore.flags (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.__enc_1 __s) (.adt 1) := + fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 (__s).vitals) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).fever) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).tachycardia) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).tachypnea) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).leukocytosis) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).sirs) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).sepsis) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).shock) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).level) _root_.LexLeanPreservation.Rust.wtl_nil))))))))) + +theorem __wt_2 : ∀ (__v : (Reasoning.Clinic.Triage.Step)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.RustCore.program _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.RustCore.krate _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.RustCore.flags (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.__enc_2 __v) (.adt 2) + | Reasoning.Clinic.Triage.Step.Fever => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Clinic.Triage.Step.Tachycardia => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Clinic.Triage.Step.Tachypnea => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Clinic.Triage.Step.Leukocytosis => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Clinic.Triage.Step.Sirs => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Clinic.Triage.Step.Sepsis => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Clinic.Triage.Step.Shock => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Clinic.Triage.Step.Escalate => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.denote temperature heartRate respiratoryRate whiteCells systolic infection) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat temperature) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat heartRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat respiratoryRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat whiteCells) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat systolic) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat infection) _root_.LexLeanPreservation.Rust.wtl_nil)))))) rfl rfl (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.root temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.Compose.RustCore diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R0/RustCore.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R0/RustCore.lean new file mode 100644 index 000000000..b37dfc8ad --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R0/RustCore.lean @@ -0,0 +1,360 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.RustCore +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [{ constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }, + { constructors := [[(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]] }, + { constructors := [[], [], [], [], [], [], [], []] }], functions := (( + { parameters := [0, 1, 2, 3, 4, 5], types := [.nat, .nat, .nat, .nat, .nat, .nat], result := .nat, + body := (.«match» .nat (.call 1 [(.build (.adt 0) (.adt 0) [(.var 0), (.var 1), (.var 2), (.var 3), (.var 4), (.var 5)])]) [(.arm .ok [6] (.var 6)), (.arm .error [7] (.value .nat (.nat 9)))]) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.result .nat (.pair .bool .bool)), + body := (.«let» 1 (.pair (.adt 1) .bool) (.call 2 [(.var 0)]) (.«match» (.result .nat (.pair .bool .bool)) (.second (.var 1)) [(.arm .true [] (.call 3 [(.var 0), (.first (.var 1))])), (.arm .false [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))])) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.pair (.adt 1) .bool), + body := (.call 4 [(.closure 5 []), (.value .nat (.nat 11)), (.call 6 [(.var 0)])]) }) ::( + { parameters := [0, 1], types := [(.adt 0), (.adt 1)], result := (.result .nat (.pair .bool .bool)), + body := (.«match» (.result .nat (.pair .bool .bool)) (.call 7 [(.var 0), (.var 1)]) [(.arm .some [2] (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)])), (.arm .none [] (.«match» (.result .nat (.pair .bool .bool)) (.call 8 [(.var 1)]) [(.arm .some [3] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])), (.arm .none [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])]))]))]) }) ::( + { parameters := [0, 1, 2], types := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)], result := (.pair (.adt 1) .bool), + body := (.«match» (.pair (.adt 1) .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair (.adt 1) .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 4 [(.var 0), (.var 3), (.var 4)]))]))]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.«match» (.option (.adt 1)) (.call 9 [(.var 0)]) [(.arm .none [] (.build .none (.option (.adt 1)) [])), (.arm .some [1] (.call 10 [(.var 0), (.var 1)]))]) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.var 0), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0))]) }) ::( + { parameters := [0, 1], types := [(.adt 0), (.adt 1)], result := (.option .nat), + body := (.«match» (.option .nat) (.call 8 [(.var 1)]) [(.arm .none [] (.build .none (.option .nat) [])), (.arm .some [2] (.cond (.call 11 [(.var 0), (.var 2)]) (.build .some (.option .nat) [(.var 2)]) (.build .none (.option .nat) [])))]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option .nat), + body := (.build .some (.option .nat) [(.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 2)), + body := (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.cond (.call 12 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 0) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [1] (.build .some (.option (.adt 2)) [(.var 1)])), (.arm .none [] (.cond (.call 13 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 1) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]) [(.arm .some [2] (.build .some (.option (.adt 2)) [(.var 2)])), (.arm .none [] (.«match» (.option (.adt 2)) (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 2) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [3] (.build .some (.option (.adt 2)) [(.var 3)])), (.arm .none [] (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 3) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]))]) [(.arm .some [4] (.build .some (.option (.adt 2)) [(.var 4)])), (.arm .none [] (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 4) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [5] (.build .some (.option (.adt 2)) [(.var 5)])), (.arm .none [] (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 5) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]) [(.arm .some [6] (.build .some (.option (.adt 2)) [(.var 6)])), (.arm .none [] (.«match» (.option (.adt 2)) (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 6) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [7] (.build .some (.option (.adt 2)) [(.var 7)])), (.arm .none [] (.cond (.call 19 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 7) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]))]))]) }) ::( + { parameters := [0, 1], types := [(.adt 1), (.adt 2)], result := (.option (.adt 1)), + body := (.«match» (.option (.adt 1)) (.var 1) [(.arm (.adt 0) [] (.call 20 [(.var 0)])), (.arm (.adt 1) [] (.call 21 [(.var 0)])), (.arm (.adt 2) [] (.call 22 [(.var 0)])), (.arm (.adt 3) [] (.call 23 [(.var 0)])), (.arm (.adt 4) [] (.call 24 [(.var 0)])), (.arm (.adt 5) [] (.call 25 [(.var 0)])), (.arm (.adt 6) [] (.call 26 [(.var 0)])), (.arm (.adt 7) [] (.call 27 [(.var 0)]))]) }) ::( + { parameters := [0, 1], types := [(.adt 0), .nat], result := .bool, + body := (.cond (.prim .natLe [(.var 1), (.value .nat (.nat 3))]) (.cond (.prim .natEq [(.var 1), (.value .nat (.nat 3))]) (.build .true .bool []) (.prim .boolNot [(.cond (.call 28 [(.var 0)]) (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.cond (.call 29 [(.var 0)]) (.call 30 [(.var 0)]) (.build .false .bool [])) (.build .false .bool [])) (.build .false .bool []))])) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 1), (.value .nat (.nat 0))]) (.call 29 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 2), (.value .nat (.nat 0))]) (.call 30 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 3), (.value .nat (.nat 0))]) (.call 31 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 4), (.value .nat (.nat 0))]) (.call 32 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 0))]) (.prim .natLe [(.value .nat (.nat 2)), (.prim .natAdd [(.prim .natAdd [(.prim .natAdd [(.field (.var 0) 1), (.field (.var 0) 2)]), (.field (.var 0) 3)]), (.field (.var 0) 4)])]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.field (.var 0) 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.call 28 [(.field (.var 0) 0)]) (.build .false .bool [])) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natLt [(.field (.var 0) 8), (.value .nat (.nat 3))]) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 0))]) (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 2))]) (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 1))]) (.build .false .bool [])))) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 12 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 33 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 13 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 34 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 35 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 36 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 37 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 38 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 39 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 19 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 40 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.field (.var 0) 4), (.value .nat (.nat 90))]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 380)), (.field (.var 0) 0)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 90)), (.field (.var 0) 1)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 20)), (.field (.var 0) 2)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 12)), (.field (.var 0) 3)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.value .nat (.nat 1)), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.value .nat (.nat 1)), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.value .nat (.nat 1)), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.value .nat (.nat 1)), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.value .nat (.nat 1)), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.value .nat (.nat 1)), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.value .nat (.nat 1)), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.prim .natAdd [(.field (.var 0) 8), (.value .nat (.nat 1))])]) }) ::[]) } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .core, items := ((.enum (.adt 0) [{ number := 0, fields := [.nat, .nat, .nat, .nat, .nat, .nat] }]) :: + (.enum (.adt 1) [{ number := 0, fields := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat] }]) :: + (.enum (.adt 2) [{ number := 0, fields := [] }, { number := 1, fields := [] }, { number := 2, fields := [] }, { number := 3, fields := [] }, { number := 4, fields := [] }, { number := 5, fields := [] }, { number := 6, fields := [] }, { number := 7, fields := [] }]) :: + (.enum (.fn 0) [{ number := 5, fields := [] }]) :: + (.apply 0 [(.adt 1)] (.option (.adt 1)) true [{ function := 5, captures := [], functionFallible := true }]) :: + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := .nat }, { pattern := (.bind (.generated .binding 3)), type := .nat }, { pattern := (.bind (.generated .binding 4)), type := .nat }, { pattern := (.bind (.generated .binding 5)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1)), (.copy (.generated .binding 2)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4)), (.copy (.generated .binding 5))])] true))] (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 6))) (.mk [] (.succeed (.copy (.generated .binding 6))))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 9)))))]))) :: + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.result .nat (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 1)) (some (.pair (.adt 1) .bool)) (.call (.function 2) [(.clone (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 3)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.move (.generated .binding 1)))] (.move (.generated .part 2)))))] (.cond (.move (.generated .holder 3)) (.mk [] (.succeed (.call (.function 3) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 4))))] false))) (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))))) :: + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.pair (.adt 1) .bool)) (.mk [] (.call (.function 4) [(.construct (.closure 0 5) []), (.lit (.nat 11)), (.call (.function 6) [(.move (.generated .binding 0))] false)] false))) :: + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 1) }] (.result .nat (.pair .bool .bool)) (.mk [(.mk (.bind (.generated .holder 5)) none (.call (.function 7) [(.move (.generated .binding 0)), (.clone (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 5)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 6)) none (.call (.function 8) [(.move (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 6)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])))]))) :: + (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := (.adt 1) }] (.fallible (.pair (.adt 1) .bool)) (.mk [(.mk (.bind (.generated .holder 7)) none (.copy (.generated .binding 1)))] (.cond (.isZero (.generated .holder 7)) (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 7))), (.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 8) [(.clone (.generated .binding 2))] true))))] (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))]))))) :: + (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.option (.adt 1))) (.mk [(.mk (.bind (.generated .holder 10)) none (.call (.function 9) [(.clone (.generated .binding 0))] true))] (.matchOn (.move (.generated .holder 10)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.call (.function 10) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false)))]))) :: + (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.move (.generated .binding 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0))]))) :: + (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 1) }] (.option .nat) (.mk [(.mk (.bind (.generated .holder 11)) none (.call (.function 8) [(.move (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 11)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.cond (.call (.function 11) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none .nat) [])))))]))) :: + (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option .nat) (.mk [] (.construct .some [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 12))]) (.mk [] (.move (.generated .part 12))))])]))) :: + (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.option (.adt 2))) (.mk [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.bind (.generated .holder 14)) none (.block (.mk [(.mk (.bind (.generated .holder 13)) none (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 0) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [] (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))]))))] (.matchOn (.move (.generated .holder 14)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 15)) none (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 2) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 15)) [(.mk .none (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct .some [(.move (.generated .binding 2))])))]))))] (.matchOn (.move (.generated .holder 16)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .holder 17)) none (.cond (.call (.function 16) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 2 4) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 17)) [(.mk .none (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))]))))] (.matchOn (.move (.generated .holder 18)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 19)) none (.cond (.call (.function 18) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 6) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.cond (.call (.function 19) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))]))), (.mk (.some (.bind (.generated .binding 6))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 6))]))))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 4))]))))]))) :: + (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 2) }] (.fallible (.option (.adt 1))) (.mk [(.mk (.bind (.generated .holder 20)) none (.move (.generated .binding 1)))] (.matchOn (.move (.generated .holder 20)) [(.mk (.adt 2 0 []) (.mk [] (.succeed (.call (.function 20) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 1 []) (.mk [] (.succeed (.call (.function 21) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 2 []) (.mk [] (.succeed (.call (.function 22) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 3 []) (.mk [] (.succeed (.call (.function 23) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 4 []) (.mk [] (.call (.function 24) [(.move (.generated .binding 0))] false))), (.mk (.adt 2 5 []) (.mk [] (.succeed (.call (.function 25) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 6 []) (.mk [] (.succeed (.call (.function 26) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 7 []) (.mk [] (.call (.function 27) [(.move (.generated .binding 0))] false)))]))) :: + (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false) (.mk [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 24)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 28)) none (.cond (.call (.function 28) [(.clone (.generated .binding 0))] false) (.mk [(.mk (.bind (.generated .operand 26)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))])), (.mk (.bind (.generated .operand 27)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false) (.mk [] (.cond (.call (.function 29) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 30) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))] (.call (.runtime .boolNot) [(.move (.generated .operand 28))] false)))) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 30)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 29)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 29))))])), (.mk (.bind (.generated .operand 31)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] false) (.mk [] (.call (.function 29) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 32)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 32))))])] false)) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 13) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 34)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 33)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 33))))])), (.mk (.bind (.generated .operand 35)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] false) (.mk [] (.call (.function 30) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 36)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])] false)) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 14) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 38)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 37)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 37))))])), (.mk (.bind (.generated .operand 39)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] false) (.mk [] (.call (.function 31) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 40)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 40))))])] false)) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 15) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 42)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 41))))])), (.mk (.bind (.generated .operand 43)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 42)), (.move (.generated .operand 43))] false) (.mk [] (.call (.function 32) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 44)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 44))))])] false)) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 16) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible .bool) (.mk [(.mk (.bind (.generated .operand 46)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 45)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 45))))])), (.mk (.bind (.generated .operand 47)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 46)), (.move (.generated .operand 47))] false) (.mk [(.mk (.bind (.generated .operand 58)) none (.lit (.nat 2))), (.mk (.bind (.generated .operand 59)) none (.block (.mk [(.mk (.bind (.generated .operand 56)) none (.block (.mk [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .operand 50)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 48)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 48))))])), (.mk (.bind (.generated .operand 51)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 49)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 49))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true)))), (.mk (.bind (.generated .operand 54)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 52)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 52))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true)))), (.mk (.bind (.generated .operand 57)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 55)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 55))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] true))))] (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 58)), (.move (.generated .operand 59))] false))) (.mk [] (.succeed (.lit (.bool false))))))) :: + (.function (.generated .function 17) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 61)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 60)), .wild, .wild]) (.mk [] (.move (.generated .part 60))))])), (.mk (.bind (.generated .operand 62)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 61)), (.move (.generated .operand 62))] false) (.mk [(.mk (.bind (.generated .operand 64)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 63)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])), (.mk (.bind (.generated .operand 65)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] false) (.mk [(.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.bind (.generated .holder 68)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 67)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 67))))]))] (.matchOn (.move (.generated .holder 68)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 66))]) (.mk [] (.move (.generated .part 66))))])))), (.mk (.bind (.generated .operand 70)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 69)), (.move (.generated .operand 70))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 18) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 72)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 71)), .wild]) (.mk [] (.move (.generated .part 71))))])), (.mk (.bind (.generated .operand 73)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] false) (.mk [(.mk (.bind (.generated .operand 75)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 74)), .wild, .wild]) (.mk [] (.move (.generated .part 74))))])), (.mk (.bind (.generated .operand 76)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 75)), (.move (.generated .operand 76))] false) (.mk [] (.call (.function 28) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 77)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 77))))])] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 19) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 79)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 78))]) (.mk [] (.move (.generated .part 78))))])), (.mk (.bind (.generated .operand 80)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 79)), (.move (.generated .operand 80))] false) (.mk [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 0)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false) (.mk [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 88)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 90)), .wild, .wild]) (.mk [] (.move (.generated .part 90))))])), (.mk (.bind (.generated .operand 92)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 94)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))])), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] false) (.mk [(.mk (.bind (.generated .operand 97)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96)), .wild]) (.mk [] (.move (.generated .part 96))))])), (.mk (.bind (.generated .operand 98)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 97)), (.move (.generated .operand 98))] false)) (.mk [] (.lit (.bool false))))))))) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 20) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 33) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: + (.function (.generated .function 21) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 34) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: + (.function (.generated .function 22) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 35) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: + (.function (.generated .function 23) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 36) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: + (.function (.generated .function 24) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.option (.adt 1))) (.mk [] (.cond (.call (.function 16) [(.clone (.generated .binding 0))] true) (.mk [] (.succeed (.construct .some [(.call (.function 37) [(.move (.generated .binding 0))] false)]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))))) :: + (.function (.generated .function 25) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 38) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: + (.function (.generated .function 26) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 18) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 39) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: + (.function (.generated .function 27) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.option (.adt 1))) (.mk [] (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.call (.function 40) [(.move (.generated .binding 0))] true)]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))))) :: + (.function (.generated .function 28) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 100)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 99)), .wild]) (.mk [] (.move (.generated .part 99))))])), (.mk (.bind (.generated .operand 101)) none (.lit (.nat 90)))] (.call (.runtime .natLt) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false))) :: + (.function (.generated .function 29) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 103)) none (.lit (.nat 380))), (.mk (.bind (.generated .operand 104)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 102)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 102))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 103)), (.move (.generated .operand 104))] false))) :: + (.function (.generated .function 30) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 106)) none (.lit (.nat 90))), (.mk (.bind (.generated .operand 107)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 105)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 105))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 106)), (.move (.generated .operand 107))] false))) :: + (.function (.generated .function 31) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 109)) none (.lit (.nat 20))), (.mk (.bind (.generated .operand 110)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 108)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 108))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 109)), (.move (.generated .operand 110))] false))) :: + (.function (.generated .function 32) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 112)) none (.lit (.nat 12))), (.mk (.bind (.generated .operand 113)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, (.bind (.generated .part 111)), .wild, .wild]) (.mk [] (.move (.generated .part 111))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 112)), (.move (.generated .operand 113))] false))) :: + (.function (.generated .function 33) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 114)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 114))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 115)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 115))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 116)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 116))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 117)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 117))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 118)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 118))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 119)), .wild, .wild]) (.mk [] (.move (.generated .part 119))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 120)), .wild]) (.mk [] (.move (.generated .part 120))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 121))]) (.mk [] (.move (.generated .part 121))))])]))) :: + (.function (.generated .function 34) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 122)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 122))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 123)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 123))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 124)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 124))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 125)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 125))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 126)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 126))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 127)), .wild, .wild]) (.mk [] (.move (.generated .part 127))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 128)), .wild]) (.mk [] (.move (.generated .part 128))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 129))]) (.mk [] (.move (.generated .part 129))))])]))) :: + (.function (.generated .function 35) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 130)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 130))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 131)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 131))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 132)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 132))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 133)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 133))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 134)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 134))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 135)), .wild, .wild]) (.mk [] (.move (.generated .part 135))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 136)), .wild]) (.mk [] (.move (.generated .part 136))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 137))]) (.mk [] (.move (.generated .part 137))))])]))) :: + (.function (.generated .function 36) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 138)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 138))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 139)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 139))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 140)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 140))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 141)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 141))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 142)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 142))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 143)), .wild, .wild]) (.mk [] (.move (.generated .part 143))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 144)), .wild]) (.mk [] (.move (.generated .part 144))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 145))]) (.mk [] (.move (.generated .part 145))))])]))) :: + (.function (.generated .function 37) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 146)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 146))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 147)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 147))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 148)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 148))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 149)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 149))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 150)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 150))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 151)), .wild, .wild]) (.mk [] (.move (.generated .part 151))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 152)), .wild]) (.mk [] (.move (.generated .part 152))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 153))]) (.mk [] (.move (.generated .part 153))))])]))) :: + (.function (.generated .function 38) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 154)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 154))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 155)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 155))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 156)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 156))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 157)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 157))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 158)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 158))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 159)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 159))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 160)), .wild]) (.mk [] (.move (.generated .part 160))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 161))]) (.mk [] (.move (.generated .part 161))))])]))) :: + (.function (.generated .function 39) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 162)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 162))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 163)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 163))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 164)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 164))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 165)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 165))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 166)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 166))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 167)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 167))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 168)), .wild, .wild]) (.mk [] (.move (.generated .part 168))))]), (.lit (.nat 1)), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 169))]) (.mk [] (.move (.generated .part 169))))])]))) :: + (.function (.generated .function 40) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.adt 1)) (.mk [] (.succeed (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 170)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 170))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 171)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 171))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 172)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 172))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 173)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 173))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 174)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 174))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 175)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 175))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 176)), .wild, .wild]) (.mk [] (.move (.generated .part 176))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 177)), .wild]) (.mk [] (.move (.generated .part 177))))]), (.block (.mk [(.mk (.bind (.generated .operand 179)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 178))]) (.mk [] (.move (.generated .part 178))))])), (.mk (.bind (.generated .operand 180)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 179)), (.move (.generated .operand 180))] true)))])))) :: + []) } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [(([(.adt 1)], (.option (.adt 1))), true)] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1)), (.copy (.generated .binding 2)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4)), (.copy (.generated .binding 5))])] true))], (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 6))) (.mk [] (.succeed (.copy (.generated .binding 6))))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 9)))))]), [(5, .nat, (some 5)), (4, .nat, (some 4)), (3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.matchArms (st := (.result .nat (.pair .bool .bool))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))))))) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(6, .nat, (some 6)), (5, .nat, (some 5)), (4, .nat, (some 4)), (3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.copy (.generated .binding 6)))) (Corr.mCons (Γ' := [(7, (.pair .bool .bool), none), (5, .nat, (some 5)), (4, .nat, (some 4)), (3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 9)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.pair (.adt 1) .bool)) (.call (.function 2) [(.clone (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 3)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.move (.generated .binding 1)))] (.move (.generated .part 2)))))], (.cond (.move (.generated .holder 3)) (.mk [] (.succeed (.call (.function 3) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 4))))] false))) (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.matchBool (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 2))) (Corr.second (ta := (.adt 1)) (tb := .bool) (Corr.var rfl rfl) rfl)) rfl rfl (Corr.kIf (la := []) (ta := (.succeed (.call (.function 3) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 4))))] false))) (lb := []) (tb := (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))) (Corr.fOfB (Corr.callOps (ts := [(.adt 0), (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 4))) (Corr.first (ta := (.adt 1)) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))))⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 4) [(.construct (.closure 0 5) []), (.lit (.nat 11)), (.call (.function 6) [(.move (.generated .binding 0))] false)] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.callF (ts := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 5)) none (.call (.function 7) [(.move (.generated .binding 0)), (.clone (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 5)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 6)) none (.call (.function 8) [(.move (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 6)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])))]), [(1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0), (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 6)) none (.call (.function 8) [(.move (.generated .binding 1))] false))]) (tail := (.matchOn (.move (.generated .holder 6)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))])) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])) (Corr.mCons (Γ' := [(3, .nat, none), (1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) rfl rfl rfl)) rfl rfl rfl)⟩⟩ + +theorem fun4 : FunOK program krate flags 4 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 7)) none (.copy (.generated .binding 1)))], (.cond (.isZero (.generated .holder 7)) (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 7))), (.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 8) [(.clone (.generated .binding 2))] true))))] (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))]))), [(2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))], rfl, rfl, + (Corr.matchNat (sl := (some 3)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (lb := [(.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 8) [(.clone (.generated .binding 2))] true))))]) (tb := (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))])) (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))))) (Corr.matchArms (st := (.option (.adt 1))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))]) (tail := (.apply (.generated .callee 8) [(.clone (.generated .binding 2))] true)) (Corr.apply (ps := [(.adt 1)]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, .nat, (some 3)), (2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true))))) (Corr.mCons (Γ' := [(4, (.adt 1), (some 4)), (3, .nat, (some 3)), (2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))))))) rfl rfl rfl)))⟩⟩ + +theorem fun5 : FunOK program krate flags 5 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 10)) none (.call (.function 9) [(.clone (.generated .binding 0))] true))], (.matchOn (.move (.generated .holder 10)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.call (.function 10) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false)))]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.none (.adt 1)) []))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 10) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.adt 1), (.adt 2)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) rfl rfl rfl)⟩⟩ + +theorem fun6 : FunOK program krate flags 6 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.move (.generated .binding 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0))]), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun7 : FunOK program krate flags 7 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 11)) none (.call (.function 8) [(.move (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 11)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.cond (.call (.function 11) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none .nat) [])))))]), [(1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 11) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none .nat) [])))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 11) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.copy (.generated .binding 2))])) (lb := []) (tb := (.construct (.none .nat) [])) (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun8 : FunOK program krate flags 8 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct .some [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 12))]) (.mk [] (.move (.generated .part 12))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 12))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)⟩⟩ + +theorem fun9 : FunOK program krate flags 9 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.bind (.generated .holder 14)) none (.block (.mk [(.mk (.bind (.generated .holder 13)) none (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 0) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [] (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))]))))] (.matchOn (.move (.generated .holder 14)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 15)) none (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 2) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 15)) [(.mk .none (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct .some [(.move (.generated .binding 2))])))]))))], (.matchOn (.move (.generated .holder 16)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .holder 17)) none (.cond (.call (.function 16) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 2 4) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 17)) [(.mk .none (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))]))))] (.matchOn (.move (.generated .holder 18)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 19)) none (.cond (.call (.function 18) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 6) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.cond (.call (.function 19) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))]))), (.mk (.some (.bind (.generated .binding 6))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 6))]))))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 4))]))))]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 14)) none (.block (.mk [(.mk (.bind (.generated .holder 13)) none (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 0) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [] (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))]))))]) (tail := (.matchOn (.move (.generated .holder 14)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 15)) none (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 2) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 15)) [(.mk .none (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct .some [(.move (.generated .binding 2))])))])) (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 13)) none (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 0) [])])) (.mk [] (.construct (.none (.adt 2)) []))))]) (tail := (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [] (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))])) (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 12) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 0) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) [])))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 1))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 13) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 1) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 15)) none (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 2) [])])) (.mk [] (.construct (.none (.adt 2)) []))))]) (tail := (.matchOn (.move (.generated .holder 15)) [(.mk .none (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))])) (Corr.mCons (Γ' := [(2, (.adt 2), (some 2)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 2))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 14) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 2) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) [])))) (Corr.mCons (Γ' := [(3, (.adt 2), (some 3)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 3))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 15) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 3) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl)) rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .holder 17)) none (.cond (.call (.function 16) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 2 4) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 17)) [(.mk .none (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))]))))]) (tail := (.matchOn (.move (.generated .holder 18)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 19)) none (.cond (.call (.function 18) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 6) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.cond (.call (.function 19) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))]))), (.mk (.some (.bind (.generated .binding 6))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 6))]))))])) (Corr.mCons (Γ' := [(4, (.adt 2), (some 4)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.move (.generated .binding 4))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 17)) none (.cond (.call (.function 16) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 2 4) [])])) (.mk [] (.construct (.none (.adt 2)) []))))]) (tail := (.matchOn (.move (.generated .holder 17)) [(.mk .none (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))])) (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 16) [(.clone (.generated .binding 0))] true)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 4) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) [])))) (Corr.mCons (Γ' := [(5, (.adt 2), (some 5)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 5))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 17) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 5) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 19)) none (.cond (.call (.function 18) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 6) [])])) (.mk [] (.construct (.none (.adt 2)) []))))]) (tail := (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.cond (.call (.function 19) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))])) (Corr.mCons (Γ' := [(6, (.adt 2), (some 6)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.move (.generated .binding 6))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 18) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 6) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 19) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) []))))) (Corr.mCons (Γ' := [(7, (.adt 2), (some 7)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.move (.generated .binding 7))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 19) [(.move (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (lb := []) (tb := (.succeed (.construct (.none (.adt 2)) []))) (Corr.fOfB (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))) rfl rfl rfl)) rfl rfl rfl)) rfl rfl rfl)⟩⟩ + +theorem fun10 : FunOK program krate flags 10 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 20)) none (.move (.generated .binding 1)))], (.matchOn (.move (.generated .holder 20)) [(.mk (.adt 2 0 []) (.mk [] (.succeed (.call (.function 20) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 1 []) (.mk [] (.succeed (.call (.function 21) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 2 []) (.mk [] (.succeed (.call (.function 22) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 3 []) (.mk [] (.succeed (.call (.function 23) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 4 []) (.mk [] (.call (.function 24) [(.move (.generated .binding 0))] false))), (.mk (.adt 2 5 []) (.mk [] (.succeed (.call (.function 25) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 6 []) (.mk [] (.succeed (.call (.function 26) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 7 []) (.mk [] (.call (.function 27) [(.move (.generated .binding 0))] false)))]), [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.adt 2)) (U := []) (view := false) (idx := [0, 1, 2, 3, 4, 5, 6, 7]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.call (.function 20) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.call (.function 21) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.succeed (.call (.function 22) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 3) (loads := []) (lets := []) (tail := (.succeed (.call (.function 23) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 4) (loads := []) (lets := []) (tail := (.call (.function 24) [(.move (.generated .binding 0))] false)) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 5) (loads := []) (lets := []) (tail := (.succeed (.call (.function 25) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 6) (loads := []) (lets := []) (tail := (.succeed (.call (.function 26) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 7) (loads := []) (lets := []) (tail := (.call (.function 27) [(.move (.generated .binding 0))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.callF (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun11 : FunOK program krate flags 11 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.lit (.nat 3)))], (.cond (.call (.runtime .natLe) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false) (.mk [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 24)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 28)) none (.cond (.call (.function 28) [(.clone (.generated .binding 0))] false) (.mk [(.mk (.bind (.generated .operand 26)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))])), (.mk (.bind (.generated .operand 27)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false) (.mk [] (.cond (.call (.function 29) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 30) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))] (.call (.runtime .boolNot) [(.move (.generated .operand 28))] false)))) (.mk [] (.lit (.bool false)))), [(1, .nat, (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natLe) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 24)) none (.lit (.nat 3)))]) (ta := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 28)) none (.cond (.call (.function 28) [(.clone (.generated .binding 0))] false) (.mk [(.mk (.bind (.generated .operand 26)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))])), (.mk (.bind (.generated .operand 27)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false) (.mk [] (.cond (.call (.function 29) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 30) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))] (.call (.runtime .boolNot) [(.move (.generated .operand 28))] false)))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 24)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 28)) none (.cond (.call (.function 28) [(.clone (.generated .binding 0))] false) (.mk [(.mk (.bind (.generated .operand 26)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))])), (.mk (.bind (.generated .operand 27)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false) (.mk [] (.cond (.call (.function 29) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 30) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))]) (tb := (.call (.runtime .boolNot) [(.move (.generated .operand 28))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.prim (ts := [.bool]) (Corr.opsCons (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 28) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 26)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))])), (.mk (.bind (.generated .operand 27)) none (.lit (.nat 1)))]) (ta := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false) (.mk [] (.cond (.call (.function 29) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 30) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 26)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))])), (.mk (.bind (.generated .operand 27)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 25))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 29) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 30) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := []) (ce := (.call (.function 29) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 30) [(.move (.generated .binding 0))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl))))) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun12 : FunOK program krate flags 12 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 30)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 29)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 29))))])), (.mk (.bind (.generated .operand 31)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] false) (.mk [] (.call (.function 29) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 32)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 32))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 30)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 29)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 29))))])), (.mk (.bind (.generated .operand 31)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 29))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 29) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 32)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 32))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 32))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun13 : FunOK program krate flags 13 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 34)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 33)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 33))))])), (.mk (.bind (.generated .operand 35)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] false) (.mk [] (.call (.function 30) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 36)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 34)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 33)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 33))))])), (.mk (.bind (.generated .operand 35)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 33))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 30) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 36)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 36))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun14 : FunOK program krate flags 14 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 38)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 37)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 37))))])), (.mk (.bind (.generated .operand 39)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] false) (.mk [] (.call (.function 31) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 40)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 40))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 38)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 37)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 37))))])), (.mk (.bind (.generated .operand 39)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 37))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 31) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 40)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 40))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 40))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun15 : FunOK program krate flags 15 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 42)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 41))))])), (.mk (.bind (.generated .operand 43)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 42)), (.move (.generated .operand 43))] false) (.mk [] (.call (.function 32) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 44)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 44))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 42)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 41))))])), (.mk (.bind (.generated .operand 43)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 42)), (.move (.generated .operand 43))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 41))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 32) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 44)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 44))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 44))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun16 : FunOK program krate flags 16 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 46)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 45)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 45))))])), (.mk (.bind (.generated .operand 47)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 46)), (.move (.generated .operand 47))] false) (.mk [(.mk (.bind (.generated .operand 58)) none (.lit (.nat 2))), (.mk (.bind (.generated .operand 59)) none (.block (.mk [(.mk (.bind (.generated .operand 56)) none (.block (.mk [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .operand 50)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 48)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 48))))])), (.mk (.bind (.generated .operand 51)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 49)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 49))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true)))), (.mk (.bind (.generated .operand 54)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 52)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 52))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true)))), (.mk (.bind (.generated .operand 57)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 55)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 55))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] true))))] (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 58)), (.move (.generated .operand 59))] false))) (.mk [] (.succeed (.lit (.bool false))))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 46)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 45)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 45))))])), (.mk (.bind (.generated .operand 47)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 46)), (.move (.generated .operand 47))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 45))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 58)) none (.lit (.nat 2))), (.mk (.bind (.generated .operand 59)) none (.block (.mk [(.mk (.bind (.generated .operand 56)) none (.block (.mk [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .operand 50)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 48)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 48))))])), (.mk (.bind (.generated .operand 51)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 49)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 49))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true)))), (.mk (.bind (.generated .operand 54)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 52)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 52))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true)))), (.mk (.bind (.generated .operand 57)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 55)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 55))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] true))))]) (ta := (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 58)), (.move (.generated .operand 59))] false))) (lb := []) (tb := (.succeed (.lit (.bool false)))) (Corr.fOfB (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 56)) none (.block (.mk [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .operand 50)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 48)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 48))))])), (.mk (.bind (.generated .operand 51)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 49)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 49))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true)))), (.mk (.bind (.generated .operand 54)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 52)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 52))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true)))), (.mk (.bind (.generated .operand 57)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 55)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 55))))]))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .operand 50)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 48)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 48))))])), (.mk (.bind (.generated .operand 51)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 49)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 49))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true)))), (.mk (.bind (.generated .operand 54)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 52)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 52))))]))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 50)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 48)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 48))))])), (.mk (.bind (.generated .operand 51)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 49)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 49))))]))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 48))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 49))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 52))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 55))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.fOfB (Corr.bOfE (Corr.buildConst rfl)))))⟩⟩ + +theorem fun17 : FunOK program krate flags 17 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 61)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 60)), .wild, .wild]) (.mk [] (.move (.generated .part 60))))])), (.mk (.bind (.generated .operand 62)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 61)), (.move (.generated .operand 62))] false) (.mk [(.mk (.bind (.generated .operand 64)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 63)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])), (.mk (.bind (.generated .operand 65)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] false) (.mk [(.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.bind (.generated .holder 68)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 67)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 67))))]))] (.matchOn (.move (.generated .holder 68)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 66))]) (.mk [] (.move (.generated .part 66))))])))), (.mk (.bind (.generated .operand 70)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 69)), (.move (.generated .operand 70))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 61)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 60)), .wild, .wild]) (.mk [] (.move (.generated .part 60))))])), (.mk (.bind (.generated .operand 62)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 61)), (.move (.generated .operand 62))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 60))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 64)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 63)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])), (.mk (.bind (.generated .operand 65)) none (.lit (.nat 1)))]) (ta := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] false) (.mk [(.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.bind (.generated .holder 68)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 67)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 67))))]))] (.matchOn (.move (.generated .holder 68)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 66))]) (.mk [] (.move (.generated .part 66))))])))), (.mk (.bind (.generated .operand 70)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 69)), (.move (.generated .operand 70))] false)) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 64)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 63)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])), (.mk (.bind (.generated .operand 65)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 63))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.bind (.generated .holder 68)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 67)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 67))))]))] (.matchOn (.move (.generated .holder 68)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 66))]) (.mk [] (.move (.generated .part 66))))])))), (.mk (.bind (.generated .operand 70)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 69)), (.move (.generated .operand 70))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 68)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 67)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 67))))]))]) (tail := (.matchOn (.move (.generated .holder 68)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 66))]) (.mk [] (.move (.generated .part 66))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 66))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 67))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun18 : FunOK program krate flags 18 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 72)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 71)), .wild]) (.mk [] (.move (.generated .part 71))))])), (.mk (.bind (.generated .operand 73)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] false) (.mk [(.mk (.bind (.generated .operand 75)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 74)), .wild, .wild]) (.mk [] (.move (.generated .part 74))))])), (.mk (.bind (.generated .operand 76)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 75)), (.move (.generated .operand 76))] false) (.mk [] (.call (.function 28) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 77)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 77))))])] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 72)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 71)), .wild]) (.mk [] (.move (.generated .part 71))))])), (.mk (.bind (.generated .operand 73)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 71))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 75)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 74)), .wild, .wild]) (.mk [] (.move (.generated .part 74))))])), (.mk (.bind (.generated .operand 76)) none (.lit (.nat 1)))]) (ta := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 75)), (.move (.generated .operand 76))] false) (.mk [] (.call (.function 28) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 77)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 77))))])] false)) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 75)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 74)), .wild, .wild]) (.mk [] (.move (.generated .part 74))))])), (.mk (.bind (.generated .operand 76)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 75)), (.move (.generated .operand 76))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 74))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 28) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 77)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 77))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 77))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun19 : FunOK program krate flags 19 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 79)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 78))]) (.mk [] (.move (.generated .part 78))))])), (.mk (.bind (.generated .operand 80)) none (.lit (.nat 3)))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 79)), (.move (.generated .operand 80))] false) (.mk [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 0)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false) (.mk [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 88)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 90)), .wild, .wild]) (.mk [] (.move (.generated .part 90))))])), (.mk (.bind (.generated .operand 92)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 94)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))])), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] false) (.mk [(.mk (.bind (.generated .operand 97)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96)), .wild]) (.mk [] (.move (.generated .part 96))))])), (.mk (.bind (.generated .operand 98)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 97)), (.move (.generated .operand 98))] false)) (.mk [] (.lit (.bool false))))))))) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 79)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 78))]) (.mk [] (.move (.generated .part 78))))])), (.mk (.bind (.generated .operand 80)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 79)), (.move (.generated .operand 80))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 78))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 0)))]) (ta := (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false) (.mk [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 88)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 90)), .wild, .wild]) (.mk [] (.move (.generated .part 90))))])), (.mk (.bind (.generated .operand 92)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 94)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))])), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] false) (.mk [(.mk (.bind (.generated .operand 97)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96)), .wild]) (.mk [] (.move (.generated .part 96))))])), (.mk (.bind (.generated .operand 98)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 97)), (.move (.generated .operand 98))] false)) (.mk [] (.lit (.bool false))))))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 0)))]) (ce := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false) (.mk [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false)) (.mk [] (.lit (.bool false))))) (lk := []) (Corr.cond (lc := [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 81))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 84))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 88)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))]) (tb := (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 90)), .wild, .wild]) (.mk [] (.move (.generated .part 90))))])), (.mk (.bind (.generated .operand 92)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 94)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))])), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] false) (.mk [(.mk (.bind (.generated .operand 97)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96)), .wild]) (.mk [] (.move (.generated .part 96))))])), (.mk (.bind (.generated .operand 98)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 97)), (.move (.generated .operand 98))] false)) (.mk [] (.lit (.bool false))))))) (Corr.bOfE (Corr.buildConst rfl)) (Corr.cond (lc := [(.mk (.bind (.generated .operand 88)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))]) (ce := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 90)), .wild, .wild]) (.mk [] (.move (.generated .part 90))))])), (.mk (.bind (.generated .operand 92)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] false)) (.mk [] (.lit (.bool false))))) (lk := []) (Corr.cond (lc := [(.mk (.bind (.generated .operand 88)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 87))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 91)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 90)), .wild, .wild]) (.mk [] (.move (.generated .part 90))))])), (.mk (.bind (.generated .operand 92)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 90))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 94)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))])), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 2)))]) (tb := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] false) (.mk [(.mk (.bind (.generated .operand 97)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96)), .wild]) (.mk [] (.move (.generated .part 96))))])), (.mk (.bind (.generated .operand 98)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 97)), (.move (.generated .operand 98))] false)) (.mk [] (.lit (.bool false))))) (Corr.bOfE (Corr.buildConst rfl)) (Corr.cond (lc := [(.mk (.bind (.generated .operand 94)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))])), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 2)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 93))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 97)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96)), .wild]) (.mk [] (.move (.generated .part 96))))])), (.mk (.bind (.generated .operand 98)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 97)), (.move (.generated .operand 98))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 96))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))))))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun20 : FunOK program krate flags 20 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 33) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 12) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 33) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun21 : FunOK program krate flags 21 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 34) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 13) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 34) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun22 : FunOK program krate flags 22 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 35) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 14) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 35) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun23 : FunOK program krate flags 23 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 36) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 15) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 36) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun24 : FunOK program krate flags 24 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 16) [(.clone (.generated .binding 0))] true) (.mk [] (.succeed (.construct .some [(.call (.function 37) [(.move (.generated .binding 0))] false)]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 16) [(.clone (.generated .binding 0))] true)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.call (.function 37) [(.move (.generated .binding 0))] false)]))) (lb := []) (tb := (.succeed (.construct (.none (.adt 1)) []))) (Corr.fOfB (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ + +theorem fun25 : FunOK program krate flags 25 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 38) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 17) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 38) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun26 : FunOK program krate flags 26 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 18) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 39) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 18) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 39) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun27 : FunOK program krate flags 27 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.call (.function 40) [(.move (.generated .binding 0))] true)]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 19) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.call (.function 40) [(.move (.generated .binding 0))] true)]))) (lb := []) (tb := (.succeed (.construct (.none (.adt 1)) []))) (Corr.fOfB (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ + +theorem fun28 : FunOK program krate flags 28 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 100)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 99)), .wild]) (.mk [] (.move (.generated .part 99))))])), (.mk (.bind (.generated .operand 101)) none (.lit (.nat 90)))], (.call (.runtime .natLt) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 99))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun29 : FunOK program krate flags 29 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 103)) none (.lit (.nat 380))), (.mk (.bind (.generated .operand 104)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 102)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 102))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 103)), (.move (.generated .operand 104))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 102))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun30 : FunOK program krate flags 30 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 106)) none (.lit (.nat 90))), (.mk (.bind (.generated .operand 107)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 105)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 105))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 106)), (.move (.generated .operand 107))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 105))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun31 : FunOK program krate flags 31 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 109)) none (.lit (.nat 20))), (.mk (.bind (.generated .operand 110)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 108)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 108))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 109)), (.move (.generated .operand 110))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 108))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun32 : FunOK program krate flags 32 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 112)) none (.lit (.nat 12))), (.mk (.bind (.generated .operand 113)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, (.bind (.generated .part 111)), .wild, .wild]) (.mk [] (.move (.generated .part 111))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 112)), (.move (.generated .operand 113))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 111))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun33 : FunOK program krate flags 33 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 114)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 114))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 115)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 115))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 116)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 116))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 117)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 117))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 118)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 118))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 119)), .wild, .wild]) (.mk [] (.move (.generated .part 119))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 120)), .wild]) (.mk [] (.move (.generated .part 120))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 121))]) (.mk [] (.move (.generated .part 121))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 114))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 115))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 116))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 117))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 118))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 119))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 120))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 121))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun34 : FunOK program krate flags 34 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 122)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 122))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 123)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 123))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 124)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 124))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 125)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 125))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 126)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 126))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 127)), .wild, .wild]) (.mk [] (.move (.generated .part 127))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 128)), .wild]) (.mk [] (.move (.generated .part 128))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 129))]) (.mk [] (.move (.generated .part 129))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 122))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 123))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 124))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 125))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 126))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 127))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 128))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 129))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun35 : FunOK program krate flags 35 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 130)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 130))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 131)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 131))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 132)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 132))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 133)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 133))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 134)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 134))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 135)), .wild, .wild]) (.mk [] (.move (.generated .part 135))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 136)), .wild]) (.mk [] (.move (.generated .part 136))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 137))]) (.mk [] (.move (.generated .part 137))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 130))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 131))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 132))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 133))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 134))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 135))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 136))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 137))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun36 : FunOK program krate flags 36 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 138)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 138))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 139)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 139))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 140)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 140))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 141)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 141))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 142)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 142))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 143)), .wild, .wild]) (.mk [] (.move (.generated .part 143))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 144)), .wild]) (.mk [] (.move (.generated .part 144))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 145))]) (.mk [] (.move (.generated .part 145))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 138))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 139))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 140))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 141))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 142))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 143))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 144))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 145))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun37 : FunOK program krate flags 37 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 146)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 146))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 147)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 147))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 148)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 148))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 149)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 149))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 150)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 150))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 151)), .wild, .wild]) (.mk [] (.move (.generated .part 151))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 152)), .wild]) (.mk [] (.move (.generated .part 152))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 153))]) (.mk [] (.move (.generated .part 153))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 146))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 147))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 148))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 149))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 150))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 151))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 152))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 153))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun38 : FunOK program krate flags 38 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 154)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 154))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 155)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 155))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 156)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 156))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 157)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 157))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 158)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 158))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 159)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 159))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 160)), .wild]) (.mk [] (.move (.generated .part 160))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 161))]) (.mk [] (.move (.generated .part 161))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 154))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 155))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 156))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 157))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 158))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 159))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 160))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 161))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun39 : FunOK program krate flags 39 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 162)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 162))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 163)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 163))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 164)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 164))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 165)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 165))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 166)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 166))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 167)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 167))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 168)), .wild, .wild]) (.mk [] (.move (.generated .part 168))))]), (.lit (.nat 1)), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 169))]) (.mk [] (.move (.generated .part 169))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 162))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 163))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 164))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 165))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 166))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 167))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 168))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 169))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun40 : FunOK program krate flags 40 := + ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 170)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 170))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 171)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 171))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 172)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 172))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 173)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 173))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 174)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 174))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 175)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 175))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 176)), .wild, .wild]) (.mk [] (.move (.generated .part 176))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 177)), .wild]) (.mk [] (.move (.generated .part 177))))]), (.block (.mk [(.mk (.bind (.generated .operand 179)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 178))]) (.mk [] (.move (.generated .part 178))))])), (.mk (.bind (.generated .operand 180)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 179)), (.move (.generated .operand 180))] true)))])), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.fOfB (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 170))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 171))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 172))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 173))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 174))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 175))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 176))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 177))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 179)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 178))]) (.mk [] (.move (.generated .part 178))))])), (.mk (.bind (.generated .operand 180)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 179)), (.move (.generated .operand 180))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 178))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | 4 => exact fun4 + | 5 => exact fun5 + | 6 => exact fun6 + | 7 => exact fun7 + | 8 => exact fun8 + | 9 => exact fun9 + | 10 => exact fun10 + | 11 => exact fun11 + | 12 => exact fun12 + | 13 => exact fun13 + | 14 => exact fun14 + | 15 => exact fun15 + | 16 => exact fun16 + | 17 => exact fun17 + | 18 => exact fun18 + | 19 => exact fun19 + | 20 => exact fun20 + | 21 => exact fun21 + | 22 => exact fun22 + | 23 => exact fun23 + | 24 => exact fun24 + | 25 => exact fun25 + | 26 => exact fun26 + | 27 => exact fun27 + | 28 => exact fun28 + | 29 => exact fun29 + | 30 => exact fun30 + | 31 => exact fun31 + | 32 => exact fun32 + | 33 => exact fun33 + | 34 => exact fun34 + | 35 => exact fun35 + | 36 => exact fun36 + | 37 => exact fun37 + | 38 => exact fun38 + | 39 => exact fun39 + | 40 => exact fun40 + | _ + 41 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.RustCore diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R1.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R1.lean new file mode 100644 index 000000000..b3f3832bb --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R1.lean @@ -0,0 +1,409 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Reasoning.Budget +import Reasoning.Clinic +import Reasoning.Main +import Reasoning.Planner +import Reasoning.Screening +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [{ constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }, + { constructors := [[(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]] }, + { constructors := [[], [], [], [], [], [], [], []] }], functions := (( + { parameters := [0, 1, 2, 3, 4, 5], types := [.nat, .nat, .nat, .nat, .nat, .nat], result := .nat, + body := (.«match» .nat (.call 1 [(.build (.adt 0) (.adt 0) [(.var 0), (.var 1), (.var 2), (.var 3), (.var 4), (.var 5)])]) [(.arm .ok [6] (.var 6)), (.arm .error [7] (.value .nat (.nat 9)))]) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.result .nat (.pair .bool .bool)), + body := (.call 2 [(.var 0)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.result .nat (.pair .bool .bool)), + body := (.call 3 [(.var 0)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.result .nat (.pair .bool .bool)), + body := (.«let» 1 (.pair (.adt 1) .bool) (.call 4 [(.var 0)]) (.«match» (.result .nat (.pair .bool .bool)) (.second (.var 1)) [(.arm .true [] (.call 5 [(.var 0), (.first (.var 1))])), (.arm .false [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))])) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.pair (.adt 1) .bool), + body := (.call 6 [(.closure 7 []), (.value .nat (.nat 11)), (.call 8 [(.var 0)])]) }) ::( + { parameters := [0, 1], types := [(.adt 0), (.adt 1)], result := (.result .nat (.pair .bool .bool)), + body := (.«match» (.result .nat (.pair .bool .bool)) (.call 9 [(.var 0), (.var 1)]) [(.arm .some [2] (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)])), (.arm .none [] (.«match» (.result .nat (.pair .bool .bool)) (.call 10 [(.var 1)]) [(.arm .some [3] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])), (.arm .none [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])]))]))]) }) ::( + { parameters := [0, 1, 2], types := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)], result := (.pair (.adt 1) .bool), + body := (.«match» (.pair (.adt 1) .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair (.adt 1) .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 6 [(.var 0), (.var 3), (.var 4)]))]))]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.«match» (.option (.adt 1)) (.call 11 [(.var 0)]) [(.arm .none [] (.build .none (.option (.adt 1)) [])), (.arm .some [1] (.call 12 [(.var 0), (.var 1)]))]) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.var 0), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0))]) }) ::( + { parameters := [0, 1], types := [(.adt 0), (.adt 1)], result := (.option .nat), + body := (.«match» (.option .nat) (.call 10 [(.var 1)]) [(.arm .none [] (.build .none (.option .nat) [])), (.arm .some [2] (.cond (.call 13 [(.var 0), (.var 2)]) (.build .some (.option .nat) [(.var 2)]) (.build .none (.option .nat) [])))]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option .nat), + body := (.build .some (.option .nat) [(.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 2)), + body := (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 0) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [1] (.build .some (.option (.adt 2)) [(.var 1)])), (.arm .none [] (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 1) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]) [(.arm .some [2] (.build .some (.option (.adt 2)) [(.var 2)])), (.arm .none [] (.«match» (.option (.adt 2)) (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 2) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [3] (.build .some (.option (.adt 2)) [(.var 3)])), (.arm .none [] (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 3) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]))]) [(.arm .some [4] (.build .some (.option (.adt 2)) [(.var 4)])), (.arm .none [] (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 4) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [5] (.build .some (.option (.adt 2)) [(.var 5)])), (.arm .none [] (.cond (.call 19 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 5) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]) [(.arm .some [6] (.build .some (.option (.adt 2)) [(.var 6)])), (.arm .none [] (.«match» (.option (.adt 2)) (.cond (.call 20 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 6) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [7] (.build .some (.option (.adt 2)) [(.var 7)])), (.arm .none [] (.cond (.call 21 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 7) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]))]))]) }) ::( + { parameters := [0, 1], types := [(.adt 1), (.adt 2)], result := (.option (.adt 1)), + body := (.«match» (.option (.adt 1)) (.var 1) [(.arm (.adt 0) [] (.call 22 [(.var 0)])), (.arm (.adt 1) [] (.call 23 [(.var 0)])), (.arm (.adt 2) [] (.call 24 [(.var 0)])), (.arm (.adt 3) [] (.call 25 [(.var 0)])), (.arm (.adt 4) [] (.call 26 [(.var 0)])), (.arm (.adt 5) [] (.call 27 [(.var 0)])), (.arm (.adt 6) [] (.call 28 [(.var 0)])), (.arm (.adt 7) [] (.call 29 [(.var 0)]))]) }) ::( + { parameters := [0, 1], types := [(.adt 0), .nat], result := .bool, + body := (.cond (.prim .natLe [(.var 1), (.value .nat (.nat 3))]) (.cond (.prim .natEq [(.var 1), (.value .nat (.nat 3))]) (.build .true .bool []) (.prim .boolNot [(.cond (.call 30 [(.var 0)]) (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.cond (.call 31 [(.var 0)]) (.call 32 [(.var 0)]) (.build .false .bool [])) (.build .false .bool [])) (.build .false .bool []))])) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 1), (.value .nat (.nat 0))]) (.call 31 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 2), (.value .nat (.nat 0))]) (.call 32 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 3), (.value .nat (.nat 0))]) (.call 33 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 4), (.value .nat (.nat 0))]) (.call 34 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 0))]) (.prim .natLe [(.value .nat (.nat 2)), (.prim .natAdd [(.prim .natAdd [(.prim .natAdd [(.field (.var 0) 1), (.field (.var 0) 2)]), (.field (.var 0) 3)]), (.field (.var 0) 4)])]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.field (.var 0) 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.call 30 [(.field (.var 0) 0)]) (.build .false .bool [])) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natLt [(.field (.var 0) 8), (.value .nat (.nat 3))]) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 0))]) (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 2))]) (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 1))]) (.build .false .bool [])))) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 35 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 36 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 37 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 38 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 39 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 19 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 40 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 20 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 41 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 21 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 42 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.field (.var 0) 4), (.value .nat (.nat 90))]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 380)), (.field (.var 0) 0)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 90)), (.field (.var 0) 1)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 20)), (.field (.var 0) 2)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 12)), (.field (.var 0) 3)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.value .nat (.nat 1)), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.value .nat (.nat 1)), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.value .nat (.nat 1)), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.value .nat (.nat 1)), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.value .nat (.nat 1)), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.value .nat (.nat 1)), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.value .nat (.nat 1)), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.prim .natAdd [(.field (.var 0) 8), (.value .nat (.nat 1))])]) }) ::[]) } + +def __enc_0 (__s : (Reasoning.Clinic.Vitals)) : _root_.LexLeanTarget.TargetSyntax.Value := + _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).infection)] + +def __enc_1 (__s : (Reasoning.Clinic.Chart)) : _root_.LexLeanTarget.TargetSyntax.Value := + _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(__enc_0 (__s).vitals), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).fever), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).tachycardia), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).tachypnea), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).leukocytosis), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).sirs), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).sepsis), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).shock), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).level)] + +def __enc_2 : (Reasoning.Clinic.Triage.Step) -> _root_.LexLeanTarget.TargetSyntax.Value + | Reasoning.Clinic.Triage.Step.Fever => _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [] + | Reasoning.Clinic.Triage.Step.Tachycardia => _root_.LexLeanTarget.TargetSyntax.Value.adt 1 [] + | Reasoning.Clinic.Triage.Step.Tachypnea => _root_.LexLeanTarget.TargetSyntax.Value.adt 2 [] + | Reasoning.Clinic.Triage.Step.Leukocytosis => _root_.LexLeanTarget.TargetSyntax.Value.adt 3 [] + | Reasoning.Clinic.Triage.Step.Sirs => _root_.LexLeanTarget.TargetSyntax.Value.adt 4 [] + | Reasoning.Clinic.Triage.Step.Sepsis => _root_.LexLeanTarget.TargetSyntax.Value.adt 5 [] + | Reasoning.Clinic.Triage.Step.Shock => _root_.LexLeanTarget.TargetSyntax.Value.adt 6 [] + | Reasoning.Clinic.Triage.Step.Escalate => _root_.LexLeanTarget.TargetSyntax.Value.adt 7 [] + +def __fits_31 (v : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_31 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 31 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_31 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.feverish v))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (380 : Nat) (v).temperature)) + +def __fits_14 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).fever (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_31 ((s).vitals))) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.feverish in +theorem __rel_14 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 14 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_14 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Fever.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_31 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.feverish ((s).vitals)))) (Nat.beq (s).fever (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).fever (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_31 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_32 (v : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_32 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 32 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_32 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.tachycardic v))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (90 : Nat) (v).heartRate)) + +def __fits_15 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).tachycardia (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_32 ((s).vitals))) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.tachycardic in +theorem __rel_15 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 15 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_15 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Tachycardia.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_32 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.tachycardic ((s).vitals)))) (Nat.beq (s).tachycardia (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).tachycardia (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_32 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_33 (v : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_33 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 33 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_33 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.tachypneic v))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (20 : Nat) (v).respiratoryRate)) + +def __fits_16 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).tachypnea (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_33 ((s).vitals))) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.tachypneic in +theorem __rel_16 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 16 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_16 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Tachypnea.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_33 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.tachypneic ((s).vitals)))) (Nat.beq (s).tachypnea (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).tachypnea (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_33 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_34 (v : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_34 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 34 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_34 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.leukocytic v))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (12 : Nat) (v).whiteCells)) + +def __fits_17 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).leukocytosis (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_34 ((s).vitals))) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.leukocytic in +theorem __rel_17 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 17 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_17 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Leukocytosis.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_34 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.leukocytic ((s).vitals)))) (Nat.beq (s).leukocytosis (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).leukocytosis (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_34 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_18 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sirs (0 : Nat)) then ((Bool.true && (((((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).fever + (s).tachycardia) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt (((s).fever + (s).tachycardia) + (s).tachypnea) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis) 18446744073709551616)) && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) + +theorem __rel_18 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 18 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_18 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Sirs.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (((((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).fever + (s).tachycardia) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt (((s).fever + (s).tachycardia) + (s).tachypnea) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis) 18446744073709551616)) && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.ble (2 : Nat) ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis)))) (Nat.beq (s).sirs (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sirs (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (s).fever (s).tachycardia)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((s).fever + (s).tachycardia) (s).tachypnea)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (((s).fever + (s).tachycardia) + (s).tachypnea) (s).leukocytosis)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe (2 : Nat) ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_19 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sepsis (0 : Nat)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sirs (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) + +theorem __rel_19 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 19 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_19 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Sepsis.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sirs (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.beq (s).sirs (1 : Nat)) && (Nat.beq ((s).vitals).infection (1 : Nat))))) (Nat.beq (s).sepsis (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sepsis (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq ((s).vitals).infection (1 : Nat)))) (Nat.beq (s).sirs (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sirs (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq ((s).vitals).infection (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_30 (v : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_30 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 30 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_30 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.hypotensive v))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (v).systolic (90 : Nat))) + +def __fits_20 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).shock (0 : Nat)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sepsis (1 : Nat)) then ((Bool.true && Bool.true) && (__fits_30 ((s).vitals))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.hypotensive in +theorem __rel_20 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 20 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_20 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Shock.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sepsis (1 : Nat)) then ((Bool.true && Bool.true) && (__fits_30 ((s).vitals))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.beq (s).sepsis (1 : Nat)) && (Reasoning.Clinic.hypotensive ((s).vitals))))) (Nat.beq (s).shock (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).shock (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_30 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.hypotensive ((s).vitals)))) (Nat.beq (s).sepsis (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sepsis (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_30 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_21 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.blt (s).level (3 : Nat)) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (0 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))))))) else (Bool.true && Bool.true))) + +theorem __rel_21 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 21 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_21 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Escalate.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (0 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))))))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) || (((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) || ((Nat.beq (s).level (2 : Nat)) && (Nat.beq (s).shock (1 : Nat))))))) (Nat.blt (s).level (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (s).level (3 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)))))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b || (((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) || ((Nat.beq (s).level (2 : Nat)) && (Nat.beq (s).shock (1 : Nat)))))) ((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq (s).sirs (1 : Nat)))) (Nat.beq (s).level (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).level (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sirs (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b || ((Nat.beq (s).level (2 : Nat)) && (Nat.beq (s).shock (1 : Nat))))) ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq (s).sepsis (1 : Nat)))) (Nat.beq (s).level (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).level (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sepsis (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq (s).shock (1 : Nat)))) (Nat.beq (s).level (2 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).level (2 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).shock (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))))))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_11 (_ys : (Reasoning.Clinic.Chart)) : Bool := + ((((((Bool.true && Bool.true) && (__fits_14 (_ys))) && (if (Reasoning.Clinic.Fever.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_15 (_ys))) && (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) && (match (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_16 (_ys))) && (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_17 (_ys))) && (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))) && (match (match (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && (__fits_18 (_ys))) && (if (Reasoning.Clinic.Sirs.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_19 (_ys))) && (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) && (match (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_20 (_ys))) && (if (Reasoning.Clinic.Shock.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_21 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))))) + +attribute [local irreducible] Reasoning.Clinic.Escalate.guard Reasoning.Clinic.Fever.guard Reasoning.Clinic.Leukocytosis.guard Reasoning.Clinic.Sepsis.guard Reasoning.Clinic.Shock.guard Reasoning.Clinic.Sirs.guard Reasoning.Clinic.Tachycardia.guard Reasoning.Clinic.Tachypnea.guard in +theorem __rel_11 (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 11 [(__enc_1 _ys)] (_root_.LexLeanPreservation.Rel (__fits_11 _ys) ((_root_.LexLeanPreservation.encOption __enc_2) (Reasoning.Clinic.Triage.select _ys))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && (__fits_18 (_ys))) && (if (Reasoning.Clinic.Sirs.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_19 (_ys))) && (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) && (match (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_20 (_ys))) && (if (Reasoning.Clinic.Shock.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_21 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Escalate.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Escalate : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))))) (match (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_16 (_ys))) && (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_17 (_ys))) && (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))))) (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_15 (_ys))) && (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Fever.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_14 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Tachycardia.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_15 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_17 (_ys))) && (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Tachypnea.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_16 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Leukocytosis.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_17 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_20 (_ys))) && (if (Reasoning.Clinic.Shock.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_21 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Escalate.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Escalate : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))))) (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_19 (_ys))) && (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Sirs.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_18 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Sepsis.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_19 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_21 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Escalate.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Escalate : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Shock.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_20 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Escalate : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Escalate.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_21 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))))))))))) + +def __fits_35 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_35 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 35 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_35 s) (__enc_1 (Reasoning.Clinic.Fever.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_22 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_14 (s))) && (if (Reasoning.Clinic.Fever.guard (s)) then ((((Bool.true && Bool.true) && (__fits_35 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Fever.conclusion Reasoning.Clinic.Fever.guard in +theorem __rel_22 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 22 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_22 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Fever.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_35 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Fever.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Fever.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_14 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_35 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_36 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_36 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 36 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_36 s) (__enc_1 (Reasoning.Clinic.Tachycardia.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_23 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_15 (s))) && (if (Reasoning.Clinic.Tachycardia.guard (s)) then ((((Bool.true && Bool.true) && (__fits_36 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Tachycardia.conclusion Reasoning.Clinic.Tachycardia.guard in +theorem __rel_23 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 23 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_23 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Tachycardia.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_36 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Tachycardia.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Tachycardia.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_15 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_36 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_37 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_37 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 37 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_37 s) (__enc_1 (Reasoning.Clinic.Tachypnea.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_24 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_16 (s))) && (if (Reasoning.Clinic.Tachypnea.guard (s)) then ((((Bool.true && Bool.true) && (__fits_37 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Tachypnea.conclusion Reasoning.Clinic.Tachypnea.guard in +theorem __rel_24 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 24 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_24 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Tachypnea.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_37 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Tachypnea.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Tachypnea.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_16 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_37 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_38 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_38 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 38 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_38 s) (__enc_1 (Reasoning.Clinic.Leukocytosis.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_25 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_17 (s))) && (if (Reasoning.Clinic.Leukocytosis.guard (s)) then ((((Bool.true && Bool.true) && (__fits_38 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Leukocytosis.conclusion Reasoning.Clinic.Leukocytosis.guard in +theorem __rel_25 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 25 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_25 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Leukocytosis.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_38 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Leukocytosis.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Leukocytosis.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_17 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_38 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_39 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_39 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 39 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_39 s) (__enc_1 (Reasoning.Clinic.Sirs.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_26 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_18 (s))) && (if (Reasoning.Clinic.Sirs.guard (s)) then ((((Bool.true && Bool.true) && (__fits_39 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Sirs.conclusion Reasoning.Clinic.Sirs.guard in +theorem __rel_26 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 26 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_26 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Sirs.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_39 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Sirs.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Sirs.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_18 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_39 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_40 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_40 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 40 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_40 s) (__enc_1 (Reasoning.Clinic.Sepsis.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_27 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_19 (s))) && (if (Reasoning.Clinic.Sepsis.guard (s)) then ((((Bool.true && Bool.true) && (__fits_40 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Sepsis.conclusion Reasoning.Clinic.Sepsis.guard in +theorem __rel_27 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 27 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_27 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Sepsis.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_40 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Sepsis.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Sepsis.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_19 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_40 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_41 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_41 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 41 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_41 s) (__enc_1 (Reasoning.Clinic.Shock.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_28 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_20 (s))) && (if (Reasoning.Clinic.Shock.guard (s)) then ((((Bool.true && Bool.true) && (__fits_41 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Shock.conclusion Reasoning.Clinic.Shock.guard in +theorem __rel_28 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 28 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_28 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Shock.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_41 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Shock.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Shock.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_20 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_41 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_42 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).level + (1 : Nat)) 18446744073709551616)) && Bool.true))))))))) && Bool.true) + +theorem __rel_42 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 42 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_42 s) (__enc_1 (Reasoning.Clinic.Escalate.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (s).level (1 : Nat))) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_29 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_21 (s))) && (if (Reasoning.Clinic.Escalate.guard (s)) then ((((Bool.true && Bool.true) && (__fits_42 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Escalate.conclusion Reasoning.Clinic.Escalate.guard in +theorem __rel_29 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 29 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_29 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Escalate.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_42 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Escalate.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Escalate.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_21 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_42 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_12 (_ys : (Reasoning.Clinic.Chart)) (_ystep : (Reasoning.Clinic.Triage.Step)) : Bool := + (Bool.true && (match _ystep with | Reasoning.Clinic.Triage.Step.Fever => ((Bool.true && Bool.true) && (__fits_22 (_ys))) | Reasoning.Clinic.Triage.Step.Tachycardia => ((Bool.true && Bool.true) && (__fits_23 (_ys))) | Reasoning.Clinic.Triage.Step.Tachypnea => ((Bool.true && Bool.true) && (__fits_24 (_ys))) | Reasoning.Clinic.Triage.Step.Leukocytosis => ((Bool.true && Bool.true) && (__fits_25 (_ys))) | Reasoning.Clinic.Triage.Step.Sirs => ((Bool.true && Bool.true) && (__fits_26 (_ys))) | Reasoning.Clinic.Triage.Step.Sepsis => ((Bool.true && Bool.true) && (__fits_27 (_ys))) | Reasoning.Clinic.Triage.Step.Shock => ((Bool.true && Bool.true) && (__fits_28 (_ys))) | Reasoning.Clinic.Triage.Step.Escalate => ((Bool.true && Bool.true) && (__fits_29 (_ys))))) + +attribute [local irreducible] Reasoning.Clinic.Escalate.apply Reasoning.Clinic.Fever.apply Reasoning.Clinic.Leukocytosis.apply Reasoning.Clinic.Sepsis.apply Reasoning.Clinic.Shock.apply Reasoning.Clinic.Sirs.apply Reasoning.Clinic.Tachycardia.apply Reasoning.Clinic.Tachypnea.apply in +theorem __rel_12 (_ys : (Reasoning.Clinic.Chart)) (_ystep : (Reasoning.Clinic.Triage.Step)) : _root_.LexLeanPreservation.FunRel __prog 12 [(__enc_1 _ys), (__enc_2 _ystep)] (_root_.LexLeanPreservation.Rel (__fits_12 _ys _ystep) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Triage.fire _ys _ystep))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_2 (fun (__a : (Reasoning.Clinic.Triage.Step)) => (match __a with | Reasoning.Clinic.Triage.Step.Fever => ((Bool.true && Bool.true) && (__fits_22 (_ys))) | Reasoning.Clinic.Triage.Step.Tachycardia => ((Bool.true && Bool.true) && (__fits_23 (_ys))) | Reasoning.Clinic.Triage.Step.Tachypnea => ((Bool.true && Bool.true) && (__fits_24 (_ys))) | Reasoning.Clinic.Triage.Step.Leukocytosis => ((Bool.true && Bool.true) && (__fits_25 (_ys))) | Reasoning.Clinic.Triage.Step.Sirs => ((Bool.true && Bool.true) && (__fits_26 (_ys))) | Reasoning.Clinic.Triage.Step.Sepsis => ((Bool.true && Bool.true) && (__fits_27 (_ys))) | Reasoning.Clinic.Triage.Step.Shock => ((Bool.true && Bool.true) && (__fits_28 (_ys))) | Reasoning.Clinic.Triage.Step.Escalate => ((Bool.true && Bool.true) && (__fits_29 (_ys))))) (fun (__a : (Reasoning.Clinic.Triage.Step)) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Reasoning.Clinic.Triage.Step.Fever => (Reasoning.Clinic.Fever.apply (_ys)) | Reasoning.Clinic.Triage.Step.Tachycardia => (Reasoning.Clinic.Tachycardia.apply (_ys)) | Reasoning.Clinic.Triage.Step.Tachypnea => (Reasoning.Clinic.Tachypnea.apply (_ys)) | Reasoning.Clinic.Triage.Step.Leukocytosis => (Reasoning.Clinic.Leukocytosis.apply (_ys)) | Reasoning.Clinic.Triage.Step.Sirs => (Reasoning.Clinic.Sirs.apply (_ys)) | Reasoning.Clinic.Triage.Step.Sepsis => (Reasoning.Clinic.Sepsis.apply (_ys)) | Reasoning.Clinic.Triage.Step.Shock => (Reasoning.Clinic.Shock.apply (_ys)) | Reasoning.Clinic.Triage.Step.Escalate => (Reasoning.Clinic.Escalate.apply (_ys)))) _ystep (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Reasoning.Clinic.Triage.Step)) _ => match __a with | Reasoning.Clinic.Triage.Step.Fever => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_22 (_ys)))) | Reasoning.Clinic.Triage.Step.Tachycardia => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_23 (_ys))))) | Reasoning.Clinic.Triage.Step.Tachypnea => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_24 (_ys)))))) | Reasoning.Clinic.Triage.Step.Leukocytosis => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_25 (_ys))))))) | Reasoning.Clinic.Triage.Step.Sirs => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_26 (_ys)))))))) | Reasoning.Clinic.Triage.Step.Sepsis => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_27 (_ys))))))))) | Reasoning.Clinic.Triage.Step.Shock => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_28 (_ys)))))))))) | Reasoning.Clinic.Triage.Step.Escalate => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_29 (_ys))))))))))))) + +def __fits_7 (_ys : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_11 (_ys))) && (match (Reasoning.Clinic.Triage.select (_ys)) with | Option.none => (Bool.true && Bool.true) | Option.some _ystep => ((Bool.true && (Bool.true && Bool.true)) && (__fits_12 (_ys) (_ystep))))) + +attribute [local irreducible] Reasoning.Clinic.Triage.fire Reasoning.Clinic.Triage.select in +theorem __rel_7 (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 7 [(__enc_1 _ys)] (_root_.LexLeanPreservation.Rel (__fits_7 _ys) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Triage.next _ys))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.none => (Bool.true && Bool.true) | Option.some _ystep => ((Bool.true && (Bool.true && Bool.true)) && (__fits_12 (_ys) (_ystep))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Option.none => (Option.none : (Option (Reasoning.Clinic.Chart))) | Option.some _ystep => (Reasoning.Clinic.Triage.fire (_ys) (_ystep)))) (Reasoning.Clinic.Triage.select (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_11 (_ys))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | Option.some _ystep => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_12 (_ys) (_ystep))))))) + +def __fits_8 (patient : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_8 (patient : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 8 [(__enc_0 patient)] (_root_.LexLeanPreservation.Rel (__fits_8 patient) (__enc_1 (Reasoning.Clinic.Triage.observe patient))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_4 (patient : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && (Bool.true && (((Bool.true && Bool.true) && (__fits_8 (patient))) && Bool.true))) && (_root_.LexLeanPreservation.untilFits (fun (__p0 : (Reasoning.Clinic.Chart)) => __fits_7 __p0) ((Reasoning.Clinic.Triage.next)) ((11 : Nat)) ((Reasoning.Clinic.Triage.observe (patient))))) + +attribute [local irreducible] Reasoning.Clinic.Triage.observe in +theorem __rel_4 (patient : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 4 [(__enc_0 patient)] (_root_.LexLeanPreservation.Rel (__fits_4 patient) ((_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.bool) (Reasoning.Clinic.Triage.saturate patient))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_8 (patient))) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_iterateUntil (es := __enc_1) (_root_.LexLeanPreservation.optEnc __enc_1) (fun _ => rfl) (_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.bool) (fun _ => rfl) ((Reasoning.Clinic.Triage.next)) (fun (__p0 : (Reasoning.Clinic.Chart)) => __fits_7 __p0) 7 [] (fun (__p0 : (Reasoning.Clinic.Chart)) => __rel_7 __p0) (_root_.LexLeanCollections.iterateUntil ((Reasoning.Clinic.Triage.next))) (fun _ => rfl) (fun _ _ __h => by simp only [_root_.LexLeanCollections.iterateUntil, __h]) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.iterateUntil, __h]) (p := __prog) (fi := 6) (ts := (.adt 1)) rfl ((11 : Nat)) ((Reasoning.Clinic.Triage.observe (patient))))) + +def __fits_10 (chart : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && Bool.true) && Bool.true) + +theorem __rel_10 (chart : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 10 [(__enc_1 chart)] (_root_.LexLeanPreservation.Rel (__fits_10 chart) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Clinic.Triage.extract chart))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) + +def __fits_13 (v : (Reasoning.Clinic.Vitals)) (r : Nat) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.ble r (3 : Nat)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq r (3 : Nat)) then (Bool.true && Bool.true) else (((((Bool.true && Bool.true) && (__fits_30 (v))) && (if (Reasoning.Clinic.hypotensive (v)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (v).infection (1 : Nat)) then (((Bool.true && Bool.true) && (__fits_31 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_32 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) && Bool.true) && Bool.true))) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.feverish Reasoning.Clinic.hypotensive Reasoning.Clinic.tachycardic in +theorem __rel_13 (v : (Reasoning.Clinic.Vitals)) (r : Nat) : _root_.LexLeanPreservation.FunRel __prog 13 [(__enc_0 v), (_root_.LexLeanTarget.TargetSyntax.Value.nat r)] (_root_.LexLeanPreservation.Rel (__fits_13 v r) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.recommendationCheck v r))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq r (3 : Nat)) then (Bool.true && Bool.true) else (((((Bool.true && Bool.true) && (__fits_30 (v))) && (if (Reasoning.Clinic.hypotensive (v)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (v).infection (1 : Nat)) then (((Bool.true && Bool.true) && (__fits_31 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_32 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) && Bool.true) && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.beq r (3 : Nat)) || (!((Reasoning.Clinic.hypotensive (v)) && ((Nat.beq (v).infection (1 : Nat)) && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v))))))))) (Nat.ble r (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe r (3 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (Bool.true && Bool.true) else (((((Bool.true && Bool.true) && (__fits_30 (v))) && (if (Reasoning.Clinic.hypotensive (v)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (v).infection (1 : Nat)) then (((Bool.true && Bool.true) && (__fits_31 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_32 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) && Bool.true) && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b || (!((Reasoning.Clinic.hypotensive (v)) && ((Nat.beq (v).infection (1 : Nat)) && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v)))))))) (Nat.beq r (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq r (3 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (v).infection (1 : Nat)) then (((Bool.true && Bool.true) && (__fits_31 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_32 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.beq (v).infection (1 : Nat)) && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v)))))) (Reasoning.Clinic.hypotensive (v)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_30 (v))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && Bool.true) && (__fits_31 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_32 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v))))) (Nat.beq (v).infection (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (v).infection (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_32 (v))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.tachycardic (v)))) (Reasoning.Clinic.feverish (v)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_31 (v))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_32 (v)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_boolNot ((Reasoning.Clinic.hypotensive (v)) && ((Nat.beq (v).infection (1 : Nat)) && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v)))))))))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_9 (patient : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_10 (_ys))) && (match (Reasoning.Clinic.Triage.extract (_ys)) with | Option.none => (Bool.true && Bool.true) | Option.some _yv => (((Bool.true && (Bool.true && Bool.true)) && (__fits_13 (patient) (_yv))) && (if (Reasoning.Clinic.recommendationCheck (patient) (_yv)) then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) + +attribute [local irreducible] Reasoning.Clinic.Triage.extract Reasoning.Clinic.recommendationCheck in +theorem __rel_9 (patient : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 9 [(__enc_0 patient), (__enc_1 _ys)] (_root_.LexLeanPreservation.Rel (__fits_9 patient _ys) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Clinic.Triage.accept patient _ys))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.none => (Bool.true && Bool.true) | Option.some _yv => (((Bool.true && (Bool.true && Bool.true)) && (__fits_13 (patient) (_yv))) && (if (Reasoning.Clinic.recommendationCheck (patient) (_yv)) then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.none => (Option.none : (Option Nat)) | Option.some _yv => (if (Reasoning.Clinic.recommendationCheck (patient) (_yv)) then (Option.some (_yv) : (Option Nat)) else (Option.none : (Option Nat))))) (Reasoning.Clinic.Triage.extract (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_10 (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | Option.some _yv => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then (Option.some (_yv) : (Option Nat)) else (Option.none : (Option Nat)))) (Reasoning.Clinic.recommendationCheck (patient) (_yv)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_13 (patient) (_yv))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) + +def __fits_5 (patient : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && (__fits_9 (patient) (_ys))) && (match (Reasoning.Clinic.Triage.accept (patient) (_ys)) with | Option.some _yv => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_10 (_ys))) && (match (Reasoning.Clinic.Triage.extract (_ys)) with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) + +attribute [local irreducible] Reasoning.Clinic.Triage.accept Reasoning.Clinic.Triage.extract in +theorem __rel_5 (patient : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 5 [(__enc_0 patient), (__enc_1 _ys)] (_root_.LexLeanPreservation.Rel (__fits_5 patient _ys) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Clinic.Triage.conclude patient _ys))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.some _yv => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_10 (_ys))) && (match (Reasoning.Clinic.Triage.extract (_ys)) with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.some _yv => (Except.ok (_yv) : (Except (Prod Bool Bool) Nat)) | Option.none => (match (Reasoning.Clinic.Triage.extract (_ys)) with | Option.some _yv => (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)) | Option.none => (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat))))) (Reasoning.Clinic.Triage.accept (patient) (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_9 (patient) (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.some _yv => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.some _yv => (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)) | Option.none => (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)))) (Reasoning.Clinic.Triage.extract (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_10 (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.some _yv => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))))))) + +def __fits_3 (patient : (Reasoning.Clinic.Vitals)) : Bool := + (((Bool.true && Bool.true) && (__fits_4 (patient))) && (let _yfinal : (Prod (Reasoning.Clinic.Chart) Bool) := (Reasoning.Clinic.Triage.saturate (patient)); (Bool.true && (match (_yfinal).2 with | Bool.true => ((Bool.true && (Bool.true && Bool.true)) && (__fits_5 (patient) ((_yfinal).1))) | Bool.false => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) + +attribute [local irreducible] Reasoning.Clinic.Triage.conclude Reasoning.Clinic.Triage.saturate in +theorem __rel_3 (patient : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 3 [(__enc_0 patient)] (_root_.LexLeanPreservation.Rel (__fits_3 patient) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Clinic.Triage.verdict patient))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (let _yfinal : (Prod (Reasoning.Clinic.Chart) Bool) := (Reasoning.Clinic.Triage.saturate (patient)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_4 (patient))) (_root_.LexLeanPreservation.conv_matchV _root_.LexLeanTarget.TargetSyntax.Value.bool (fun (__a : Bool) => (match __a with | Bool.true => ((Bool.true && (Bool.true && Bool.true)) && (__fits_5 (patient) ((_yfinal).1))) | Bool.false => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__a : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Bool.true => (Reasoning.Clinic.Triage.conclude (patient) ((_yfinal).1)) | Bool.false => (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)))) (_yfinal).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : Bool) _ => match __a with | Bool.true => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (__rel_5 (patient) ((_yfinal).1)))) | Bool.false => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))))) + +def __fits_2 (v : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && Bool.true) && (__fits_3 (v))) + +attribute [local irreducible] Reasoning.Clinic.Triage.verdict in +theorem __rel_2 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 2 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_2 v) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Main.GatewayTriage v))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_3 (v))) + +def __fits_1 (_yinput : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && Bool.true) && (__fits_2 (_yinput))) + +attribute [local irreducible] Reasoning.Main.GatewayTriage in +theorem __rel_1 (_yinput : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 1 [(__enc_0 _yinput)] (_root_.LexLeanPreservation.Rel (__fits_1 _yinput) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Main.GatewayModel _yinput))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_2 (_yinput))) + +def __fits_0 (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : Bool := + (((((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true) && (__fits_1 (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals))))) && (match (Reasoning.Main.GatewayModel (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals)))) with | Except.ok level => Bool.true | Except.error failure => Bool.true)) + +attribute [local irreducible] Reasoning.Main.GatewayModel in +theorem __rel_0 (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)] (_root_.LexLeanPreservation.Rel (__fits_0 temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.gatewayLevel temperature heartRate respiratoryRate whiteCells systolic infection))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Except (Prod Bool Bool) Nat)) => (match __a with | Except.ok level => Bool.true | Except.error failure => Bool.true)) (fun (__a : (Except (Prod Bool Bool) Nat)) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match __a with | Except.ok level => level | Except.error failure => (9 : Nat))) (Reasoning.Main.GatewayModel (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals)))) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) (__rel_1 (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals))))) (fun (__a : (Except (Prod Bool Bool) Nat)) _ => match __a with | Except.ok level => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | Except.error failure => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value)))) + +def denote (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.gatewayLevel temperature heartRate respiratoryRate whiteCells systolic infection)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)] (_root_.LexLeanPreservation.Rel (__fits_0 temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.gatewayLevel temperature heartRate respiratoryRate whiteCells systolic infection))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 temperature heartRate respiratoryRate whiteCells systolic infection) + +end LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1 diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R1/Compose/RustCore.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R1/Compose/RustCore.lean new file mode 100644 index 000000000..549f68c17 --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R1/Compose/RustCore.lean @@ -0,0 +1,32 @@ +import LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1 +import LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.Compose.RustCore + +theorem __wt_0 : ∀ (__s : (Reasoning.Clinic.Vitals)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore.program _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore.krate _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore.flags (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.__enc_0 __s) (.adt 0) := + fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).temperature) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).heartRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).respiratoryRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).whiteCells) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).systolic) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).infection) _root_.LexLeanPreservation.Rust.wtl_nil)))))) + +theorem __wt_1 : ∀ (__s : (Reasoning.Clinic.Chart)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore.program _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore.krate _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore.flags (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.__enc_1 __s) (.adt 1) := + fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 (__s).vitals) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).fever) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).tachycardia) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).tachypnea) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).leukocytosis) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).sirs) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).sepsis) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).shock) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).level) _root_.LexLeanPreservation.Rust.wtl_nil))))))))) + +theorem __wt_2 : ∀ (__v : (Reasoning.Clinic.Triage.Step)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore.program _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore.krate _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore.flags (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.__enc_2 __v) (.adt 2) + | Reasoning.Clinic.Triage.Step.Fever => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Clinic.Triage.Step.Tachycardia => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Clinic.Triage.Step.Tachypnea => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Clinic.Triage.Step.Leukocytosis => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Clinic.Triage.Step.Sirs => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Clinic.Triage.Step.Sepsis => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Clinic.Triage.Step.Shock => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Clinic.Triage.Step.Escalate => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.denote temperature heartRate respiratoryRate whiteCells systolic infection) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat temperature) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat heartRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat respiratoryRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat whiteCells) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat systolic) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat infection) _root_.LexLeanPreservation.Rust.wtl_nil)))))) rfl rfl (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.root temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.Compose.RustCore diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R1/RustCore.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R1/RustCore.lean new file mode 100644 index 000000000..7c3b3073e --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R1/RustCore.lean @@ -0,0 +1,376 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [{ constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }, + { constructors := [[(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]] }, + { constructors := [[], [], [], [], [], [], [], []] }], functions := (( + { parameters := [0, 1, 2, 3, 4, 5], types := [.nat, .nat, .nat, .nat, .nat, .nat], result := .nat, + body := (.«match» .nat (.call 1 [(.build (.adt 0) (.adt 0) [(.var 0), (.var 1), (.var 2), (.var 3), (.var 4), (.var 5)])]) [(.arm .ok [6] (.var 6)), (.arm .error [7] (.value .nat (.nat 9)))]) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.result .nat (.pair .bool .bool)), + body := (.call 2 [(.var 0)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.result .nat (.pair .bool .bool)), + body := (.call 3 [(.var 0)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.result .nat (.pair .bool .bool)), + body := (.«let» 1 (.pair (.adt 1) .bool) (.call 4 [(.var 0)]) (.«match» (.result .nat (.pair .bool .bool)) (.second (.var 1)) [(.arm .true [] (.call 5 [(.var 0), (.first (.var 1))])), (.arm .false [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))])) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.pair (.adt 1) .bool), + body := (.call 6 [(.closure 7 []), (.value .nat (.nat 11)), (.call 8 [(.var 0)])]) }) ::( + { parameters := [0, 1], types := [(.adt 0), (.adt 1)], result := (.result .nat (.pair .bool .bool)), + body := (.«match» (.result .nat (.pair .bool .bool)) (.call 9 [(.var 0), (.var 1)]) [(.arm .some [2] (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)])), (.arm .none [] (.«match» (.result .nat (.pair .bool .bool)) (.call 10 [(.var 1)]) [(.arm .some [3] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])), (.arm .none [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])]))]))]) }) ::( + { parameters := [0, 1, 2], types := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)], result := (.pair (.adt 1) .bool), + body := (.«match» (.pair (.adt 1) .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair (.adt 1) .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 6 [(.var 0), (.var 3), (.var 4)]))]))]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.«match» (.option (.adt 1)) (.call 11 [(.var 0)]) [(.arm .none [] (.build .none (.option (.adt 1)) [])), (.arm .some [1] (.call 12 [(.var 0), (.var 1)]))]) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.var 0), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0))]) }) ::( + { parameters := [0, 1], types := [(.adt 0), (.adt 1)], result := (.option .nat), + body := (.«match» (.option .nat) (.call 10 [(.var 1)]) [(.arm .none [] (.build .none (.option .nat) [])), (.arm .some [2] (.cond (.call 13 [(.var 0), (.var 2)]) (.build .some (.option .nat) [(.var 2)]) (.build .none (.option .nat) [])))]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option .nat), + body := (.build .some (.option .nat) [(.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 2)), + body := (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 0) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [1] (.build .some (.option (.adt 2)) [(.var 1)])), (.arm .none [] (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 1) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]) [(.arm .some [2] (.build .some (.option (.adt 2)) [(.var 2)])), (.arm .none [] (.«match» (.option (.adt 2)) (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 2) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [3] (.build .some (.option (.adt 2)) [(.var 3)])), (.arm .none [] (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 3) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]))]) [(.arm .some [4] (.build .some (.option (.adt 2)) [(.var 4)])), (.arm .none [] (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 4) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [5] (.build .some (.option (.adt 2)) [(.var 5)])), (.arm .none [] (.cond (.call 19 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 5) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]) [(.arm .some [6] (.build .some (.option (.adt 2)) [(.var 6)])), (.arm .none [] (.«match» (.option (.adt 2)) (.cond (.call 20 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 6) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [7] (.build .some (.option (.adt 2)) [(.var 7)])), (.arm .none [] (.cond (.call 21 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 7) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]))]))]) }) ::( + { parameters := [0, 1], types := [(.adt 1), (.adt 2)], result := (.option (.adt 1)), + body := (.«match» (.option (.adt 1)) (.var 1) [(.arm (.adt 0) [] (.call 22 [(.var 0)])), (.arm (.adt 1) [] (.call 23 [(.var 0)])), (.arm (.adt 2) [] (.call 24 [(.var 0)])), (.arm (.adt 3) [] (.call 25 [(.var 0)])), (.arm (.adt 4) [] (.call 26 [(.var 0)])), (.arm (.adt 5) [] (.call 27 [(.var 0)])), (.arm (.adt 6) [] (.call 28 [(.var 0)])), (.arm (.adt 7) [] (.call 29 [(.var 0)]))]) }) ::( + { parameters := [0, 1], types := [(.adt 0), .nat], result := .bool, + body := (.cond (.prim .natLe [(.var 1), (.value .nat (.nat 3))]) (.cond (.prim .natEq [(.var 1), (.value .nat (.nat 3))]) (.build .true .bool []) (.prim .boolNot [(.cond (.call 30 [(.var 0)]) (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.cond (.call 31 [(.var 0)]) (.call 32 [(.var 0)]) (.build .false .bool [])) (.build .false .bool [])) (.build .false .bool []))])) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 1), (.value .nat (.nat 0))]) (.call 31 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 2), (.value .nat (.nat 0))]) (.call 32 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 3), (.value .nat (.nat 0))]) (.call 33 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 4), (.value .nat (.nat 0))]) (.call 34 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 0))]) (.prim .natLe [(.value .nat (.nat 2)), (.prim .natAdd [(.prim .natAdd [(.prim .natAdd [(.field (.var 0) 1), (.field (.var 0) 2)]), (.field (.var 0) 3)]), (.field (.var 0) 4)])]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.field (.var 0) 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.call 30 [(.field (.var 0) 0)]) (.build .false .bool [])) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natLt [(.field (.var 0) 8), (.value .nat (.nat 3))]) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 0))]) (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 2))]) (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 1))]) (.build .false .bool [])))) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 35 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 36 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 37 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 38 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 39 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 19 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 40 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 20 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 41 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 21 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 42 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.field (.var 0) 4), (.value .nat (.nat 90))]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 380)), (.field (.var 0) 0)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 90)), (.field (.var 0) 1)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 20)), (.field (.var 0) 2)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 12)), (.field (.var 0) 3)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.value .nat (.nat 1)), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.value .nat (.nat 1)), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.value .nat (.nat 1)), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.value .nat (.nat 1)), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.value .nat (.nat 1)), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.value .nat (.nat 1)), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.value .nat (.nat 1)), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.prim .natAdd [(.field (.var 0) 8), (.value .nat (.nat 1))])]) }) ::[]) } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .core, items := ((.enum (.adt 0) [{ number := 0, fields := [.nat, .nat, .nat, .nat, .nat, .nat] }]) :: + (.enum (.adt 1) [{ number := 0, fields := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat] }]) :: + (.enum (.adt 2) [{ number := 0, fields := [] }, { number := 1, fields := [] }, { number := 2, fields := [] }, { number := 3, fields := [] }, { number := 4, fields := [] }, { number := 5, fields := [] }, { number := 6, fields := [] }, { number := 7, fields := [] }]) :: + (.enum (.fn 0) [{ number := 7, fields := [] }]) :: + (.apply 0 [(.adt 1)] (.option (.adt 1)) true [{ function := 7, captures := [], functionFallible := true }]) :: + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := .nat }, { pattern := (.bind (.generated .binding 3)), type := .nat }, { pattern := (.bind (.generated .binding 4)), type := .nat }, { pattern := (.bind (.generated .binding 5)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1)), (.copy (.generated .binding 2)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4)), (.copy (.generated .binding 5))])] true))] (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 6))) (.mk [] (.succeed (.copy (.generated .binding 6))))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 9)))))]))) :: + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.result .nat (.pair .bool .bool))) (.mk [] (.call (.function 2) [(.move (.generated .binding 0))] false))) :: + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.result .nat (.pair .bool .bool))) (.mk [] (.call (.function 3) [(.move (.generated .binding 0))] false))) :: + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.result .nat (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 1)) (some (.pair (.adt 1) .bool)) (.call (.function 4) [(.clone (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 3)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.move (.generated .binding 1)))] (.move (.generated .part 2)))))] (.cond (.move (.generated .holder 3)) (.mk [] (.succeed (.call (.function 5) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 4))))] false))) (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))))) :: + (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.pair (.adt 1) .bool)) (.mk [] (.call (.function 6) [(.construct (.closure 0 7) []), (.lit (.nat 11)), (.call (.function 8) [(.move (.generated .binding 0))] false)] false))) :: + (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 1) }] (.result .nat (.pair .bool .bool)) (.mk [(.mk (.bind (.generated .holder 5)) none (.call (.function 9) [(.move (.generated .binding 0)), (.clone (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 5)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 6)) none (.call (.function 10) [(.move (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 6)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])))]))) :: + (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := (.adt 1) }] (.fallible (.pair (.adt 1) .bool)) (.mk [(.mk (.bind (.generated .holder 7)) none (.copy (.generated .binding 1)))] (.cond (.isZero (.generated .holder 7)) (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 7))), (.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 8) [(.clone (.generated .binding 2))] true))))] (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 6) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))]))))) :: + (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.option (.adt 1))) (.mk [(.mk (.bind (.generated .holder 10)) none (.call (.function 11) [(.clone (.generated .binding 0))] true))] (.matchOn (.move (.generated .holder 10)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.call (.function 12) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false)))]))) :: + (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.move (.generated .binding 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0))]))) :: + (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 1) }] (.option .nat) (.mk [(.mk (.bind (.generated .holder 11)) none (.call (.function 10) [(.move (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 11)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.cond (.call (.function 13) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none .nat) [])))))]))) :: + (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option .nat) (.mk [] (.construct .some [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 12))]) (.mk [] (.move (.generated .part 12))))])]))) :: + (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.option (.adt 2))) (.mk [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.bind (.generated .holder 14)) none (.block (.mk [(.mk (.bind (.generated .holder 13)) none (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 0) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))]))))] (.matchOn (.move (.generated .holder 14)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 15)) none (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 2) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 15)) [(.mk .none (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct .some [(.move (.generated .binding 2))])))]))))] (.matchOn (.move (.generated .holder 16)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .holder 17)) none (.cond (.call (.function 18) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 2 4) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 17)) [(.mk .none (.mk [] (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))]))))] (.matchOn (.move (.generated .holder 18)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 19)) none (.cond (.call (.function 20) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 6) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.cond (.call (.function 21) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))]))), (.mk (.some (.bind (.generated .binding 6))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 6))]))))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 4))]))))]))) :: + (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 2) }] (.fallible (.option (.adt 1))) (.mk [(.mk (.bind (.generated .holder 20)) none (.move (.generated .binding 1)))] (.matchOn (.move (.generated .holder 20)) [(.mk (.adt 2 0 []) (.mk [] (.succeed (.call (.function 22) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 1 []) (.mk [] (.succeed (.call (.function 23) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 2 []) (.mk [] (.succeed (.call (.function 24) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 3 []) (.mk [] (.succeed (.call (.function 25) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 4 []) (.mk [] (.call (.function 26) [(.move (.generated .binding 0))] false))), (.mk (.adt 2 5 []) (.mk [] (.succeed (.call (.function 27) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 6 []) (.mk [] (.succeed (.call (.function 28) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 7 []) (.mk [] (.call (.function 29) [(.move (.generated .binding 0))] false)))]))) :: + (.function (.generated .function 13) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false) (.mk [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 24)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 28)) none (.cond (.call (.function 30) [(.clone (.generated .binding 0))] false) (.mk [(.mk (.bind (.generated .operand 26)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))])), (.mk (.bind (.generated .operand 27)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false) (.mk [] (.cond (.call (.function 31) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 32) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))] (.call (.runtime .boolNot) [(.move (.generated .operand 28))] false)))) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 14) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 30)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 29)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 29))))])), (.mk (.bind (.generated .operand 31)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] false) (.mk [] (.call (.function 31) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 32)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 32))))])] false)) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 15) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 34)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 33)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 33))))])), (.mk (.bind (.generated .operand 35)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] false) (.mk [] (.call (.function 32) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 36)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])] false)) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 16) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 38)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 37)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 37))))])), (.mk (.bind (.generated .operand 39)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] false) (.mk [] (.call (.function 33) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 40)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 40))))])] false)) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 17) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 42)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 41))))])), (.mk (.bind (.generated .operand 43)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 42)), (.move (.generated .operand 43))] false) (.mk [] (.call (.function 34) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 44)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 44))))])] false)) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 18) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible .bool) (.mk [(.mk (.bind (.generated .operand 46)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 45)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 45))))])), (.mk (.bind (.generated .operand 47)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 46)), (.move (.generated .operand 47))] false) (.mk [(.mk (.bind (.generated .operand 58)) none (.lit (.nat 2))), (.mk (.bind (.generated .operand 59)) none (.block (.mk [(.mk (.bind (.generated .operand 56)) none (.block (.mk [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .operand 50)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 48)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 48))))])), (.mk (.bind (.generated .operand 51)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 49)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 49))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true)))), (.mk (.bind (.generated .operand 54)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 52)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 52))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true)))), (.mk (.bind (.generated .operand 57)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 55)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 55))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] true))))] (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 58)), (.move (.generated .operand 59))] false))) (.mk [] (.succeed (.lit (.bool false))))))) :: + (.function (.generated .function 19) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 61)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 60)), .wild, .wild]) (.mk [] (.move (.generated .part 60))))])), (.mk (.bind (.generated .operand 62)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 61)), (.move (.generated .operand 62))] false) (.mk [(.mk (.bind (.generated .operand 64)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 63)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])), (.mk (.bind (.generated .operand 65)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] false) (.mk [(.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.bind (.generated .holder 68)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 67)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 67))))]))] (.matchOn (.move (.generated .holder 68)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 66))]) (.mk [] (.move (.generated .part 66))))])))), (.mk (.bind (.generated .operand 70)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 69)), (.move (.generated .operand 70))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 20) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 72)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 71)), .wild]) (.mk [] (.move (.generated .part 71))))])), (.mk (.bind (.generated .operand 73)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] false) (.mk [(.mk (.bind (.generated .operand 75)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 74)), .wild, .wild]) (.mk [] (.move (.generated .part 74))))])), (.mk (.bind (.generated .operand 76)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 75)), (.move (.generated .operand 76))] false) (.mk [] (.call (.function 30) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 77)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 77))))])] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 21) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 79)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 78))]) (.mk [] (.move (.generated .part 78))))])), (.mk (.bind (.generated .operand 80)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 79)), (.move (.generated .operand 80))] false) (.mk [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 0)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false) (.mk [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 88)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 90)), .wild, .wild]) (.mk [] (.move (.generated .part 90))))])), (.mk (.bind (.generated .operand 92)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 94)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))])), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] false) (.mk [(.mk (.bind (.generated .operand 97)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96)), .wild]) (.mk [] (.move (.generated .part 96))))])), (.mk (.bind (.generated .operand 98)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 97)), (.move (.generated .operand 98))] false)) (.mk [] (.lit (.bool false))))))))) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 22) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 35) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: + (.function (.generated .function 23) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 36) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: + (.function (.generated .function 24) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 37) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: + (.function (.generated .function 25) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 38) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: + (.function (.generated .function 26) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.option (.adt 1))) (.mk [] (.cond (.call (.function 18) [(.clone (.generated .binding 0))] true) (.mk [] (.succeed (.construct .some [(.call (.function 39) [(.move (.generated .binding 0))] false)]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))))) :: + (.function (.generated .function 27) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 40) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: + (.function (.generated .function 28) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 20) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 41) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: + (.function (.generated .function 29) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.option (.adt 1))) (.mk [] (.cond (.call (.function 21) [(.clone (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.call (.function 42) [(.move (.generated .binding 0))] true)]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))))) :: + (.function (.generated .function 30) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 100)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 99)), .wild]) (.mk [] (.move (.generated .part 99))))])), (.mk (.bind (.generated .operand 101)) none (.lit (.nat 90)))] (.call (.runtime .natLt) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false))) :: + (.function (.generated .function 31) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 103)) none (.lit (.nat 380))), (.mk (.bind (.generated .operand 104)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 102)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 102))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 103)), (.move (.generated .operand 104))] false))) :: + (.function (.generated .function 32) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 106)) none (.lit (.nat 90))), (.mk (.bind (.generated .operand 107)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 105)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 105))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 106)), (.move (.generated .operand 107))] false))) :: + (.function (.generated .function 33) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 109)) none (.lit (.nat 20))), (.mk (.bind (.generated .operand 110)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 108)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 108))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 109)), (.move (.generated .operand 110))] false))) :: + (.function (.generated .function 34) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 112)) none (.lit (.nat 12))), (.mk (.bind (.generated .operand 113)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, (.bind (.generated .part 111)), .wild, .wild]) (.mk [] (.move (.generated .part 111))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 112)), (.move (.generated .operand 113))] false))) :: + (.function (.generated .function 35) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 114)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 114))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 115)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 115))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 116)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 116))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 117)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 117))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 118)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 118))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 119)), .wild, .wild]) (.mk [] (.move (.generated .part 119))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 120)), .wild]) (.mk [] (.move (.generated .part 120))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 121))]) (.mk [] (.move (.generated .part 121))))])]))) :: + (.function (.generated .function 36) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 122)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 122))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 123)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 123))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 124)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 124))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 125)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 125))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 126)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 126))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 127)), .wild, .wild]) (.mk [] (.move (.generated .part 127))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 128)), .wild]) (.mk [] (.move (.generated .part 128))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 129))]) (.mk [] (.move (.generated .part 129))))])]))) :: + (.function (.generated .function 37) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 130)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 130))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 131)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 131))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 132)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 132))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 133)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 133))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 134)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 134))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 135)), .wild, .wild]) (.mk [] (.move (.generated .part 135))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 136)), .wild]) (.mk [] (.move (.generated .part 136))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 137))]) (.mk [] (.move (.generated .part 137))))])]))) :: + (.function (.generated .function 38) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 138)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 138))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 139)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 139))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 140)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 140))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 141)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 141))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 142)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 142))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 143)), .wild, .wild]) (.mk [] (.move (.generated .part 143))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 144)), .wild]) (.mk [] (.move (.generated .part 144))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 145))]) (.mk [] (.move (.generated .part 145))))])]))) :: + (.function (.generated .function 39) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 146)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 146))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 147)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 147))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 148)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 148))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 149)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 149))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 150)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 150))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 151)), .wild, .wild]) (.mk [] (.move (.generated .part 151))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 152)), .wild]) (.mk [] (.move (.generated .part 152))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 153))]) (.mk [] (.move (.generated .part 153))))])]))) :: + (.function (.generated .function 40) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 154)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 154))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 155)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 155))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 156)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 156))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 157)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 157))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 158)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 158))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 159)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 159))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 160)), .wild]) (.mk [] (.move (.generated .part 160))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 161))]) (.mk [] (.move (.generated .part 161))))])]))) :: + (.function (.generated .function 41) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 162)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 162))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 163)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 163))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 164)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 164))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 165)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 165))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 166)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 166))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 167)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 167))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 168)), .wild, .wild]) (.mk [] (.move (.generated .part 168))))]), (.lit (.nat 1)), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 169))]) (.mk [] (.move (.generated .part 169))))])]))) :: + (.function (.generated .function 42) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.adt 1)) (.mk [] (.succeed (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 170)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 170))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 171)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 171))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 172)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 172))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 173)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 173))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 174)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 174))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 175)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 175))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 176)), .wild, .wild]) (.mk [] (.move (.generated .part 176))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 177)), .wild]) (.mk [] (.move (.generated .part 177))))]), (.block (.mk [(.mk (.bind (.generated .operand 179)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 178))]) (.mk [] (.move (.generated .part 178))))])), (.mk (.bind (.generated .operand 180)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 179)), (.move (.generated .operand 180))] true)))])))) :: + []) } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [(([(.adt 1)], (.option (.adt 1))), true)] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1)), (.copy (.generated .binding 2)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4)), (.copy (.generated .binding 5))])] true))], (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 6))) (.mk [] (.succeed (.copy (.generated .binding 6))))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 9)))))]), [(5, .nat, (some 5)), (4, .nat, (some 4)), (3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.matchArms (st := (.result .nat (.pair .bool .bool))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))))))) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(6, .nat, (some 6)), (5, .nat, (some 5)), (4, .nat, (some 4)), (3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.copy (.generated .binding 6)))) (Corr.mCons (Γ' := [(7, (.pair .bool .bool), none), (5, .nat, (some 5)), (4, .nat, (some 4)), (3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 9)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 2) [(.move (.generated .binding 0))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.callF (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 3) [(.move (.generated .binding 0))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.callF (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.pair (.adt 1) .bool)) (.call (.function 4) [(.clone (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 3)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.move (.generated .binding 1)))] (.move (.generated .part 2)))))], (.cond (.move (.generated .holder 3)) (.mk [] (.succeed (.call (.function 5) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 4))))] false))) (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.matchBool (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 2))) (Corr.second (ta := (.adt 1)) (tb := .bool) (Corr.var rfl rfl) rfl)) rfl rfl (Corr.kIf (la := []) (ta := (.succeed (.call (.function 5) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 4))))] false))) (lb := []) (tb := (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))) (Corr.fOfB (Corr.callOps (ts := [(.adt 0), (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 4))) (Corr.first (ta := (.adt 1)) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))))⟩⟩ + +theorem fun4 : FunOK program krate flags 4 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 6) [(.construct (.closure 0 7) []), (.lit (.nat 11)), (.call (.function 8) [(.move (.generated .binding 0))] false)] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.callF (ts := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ + +theorem fun5 : FunOK program krate flags 5 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 5)) none (.call (.function 9) [(.move (.generated .binding 0)), (.clone (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 5)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 6)) none (.call (.function 10) [(.move (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 6)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])))]), [(1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0), (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 6)) none (.call (.function 10) [(.move (.generated .binding 1))] false))]) (tail := (.matchOn (.move (.generated .holder 6)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))])) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])) (Corr.mCons (Γ' := [(3, .nat, none), (1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) rfl rfl rfl)) rfl rfl rfl)⟩⟩ + +theorem fun6 : FunOK program krate flags 6 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 7)) none (.copy (.generated .binding 1)))], (.cond (.isZero (.generated .holder 7)) (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 7))), (.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 8) [(.clone (.generated .binding 2))] true))))] (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 6) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))]))), [(2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))], rfl, rfl, + (Corr.matchNat (sl := (some 3)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (lb := [(.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 8) [(.clone (.generated .binding 2))] true))))]) (tb := (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 6) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))])) (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))))) (Corr.matchArms (st := (.option (.adt 1))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))]) (tail := (.apply (.generated .callee 8) [(.clone (.generated .binding 2))] true)) (Corr.apply (ps := [(.adt 1)]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, .nat, (some 3)), (2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true))))) (Corr.mCons (Γ' := [(4, (.adt 1), (some 4)), (3, .nat, (some 3)), (2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 6) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))))))) rfl rfl rfl)))⟩⟩ + +theorem fun7 : FunOK program krate flags 7 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 10)) none (.call (.function 11) [(.clone (.generated .binding 0))] true))], (.matchOn (.move (.generated .holder 10)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.call (.function 12) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false)))]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.none (.adt 1)) []))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 12) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.adt 1), (.adt 2)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) rfl rfl rfl)⟩⟩ + +theorem fun8 : FunOK program krate flags 8 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.move (.generated .binding 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0))]), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun9 : FunOK program krate flags 9 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 11)) none (.call (.function 10) [(.move (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 11)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.cond (.call (.function 13) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none .nat) [])))))]), [(1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 13) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none .nat) [])))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 13) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.copy (.generated .binding 2))])) (lb := []) (tb := (.construct (.none .nat) [])) (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun10 : FunOK program krate flags 10 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct .some [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 12))]) (.mk [] (.move (.generated .part 12))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 12))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)⟩⟩ + +theorem fun11 : FunOK program krate flags 11 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.bind (.generated .holder 14)) none (.block (.mk [(.mk (.bind (.generated .holder 13)) none (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 0) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))]))))] (.matchOn (.move (.generated .holder 14)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 15)) none (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 2) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 15)) [(.mk .none (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct .some [(.move (.generated .binding 2))])))]))))], (.matchOn (.move (.generated .holder 16)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .holder 17)) none (.cond (.call (.function 18) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 2 4) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 17)) [(.mk .none (.mk [] (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))]))))] (.matchOn (.move (.generated .holder 18)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 19)) none (.cond (.call (.function 20) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 6) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.cond (.call (.function 21) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))]))), (.mk (.some (.bind (.generated .binding 6))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 6))]))))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 4))]))))]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 14)) none (.block (.mk [(.mk (.bind (.generated .holder 13)) none (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 0) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))]))))]) (tail := (.matchOn (.move (.generated .holder 14)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 15)) none (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 2) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 15)) [(.mk .none (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct .some [(.move (.generated .binding 2))])))])) (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 13)) none (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 0) [])])) (.mk [] (.construct (.none (.adt 2)) []))))]) (tail := (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))])) (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 14) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 0) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) [])))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 1))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 15) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 1) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 15)) none (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 2) [])])) (.mk [] (.construct (.none (.adt 2)) []))))]) (tail := (.matchOn (.move (.generated .holder 15)) [(.mk .none (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))])) (Corr.mCons (Γ' := [(2, (.adt 2), (some 2)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 2))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 16) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 2) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) [])))) (Corr.mCons (Γ' := [(3, (.adt 2), (some 3)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 3))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 17) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 3) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl)) rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 18)) none (.block (.mk [(.mk (.bind (.generated .holder 17)) none (.cond (.call (.function 18) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 2 4) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 17)) [(.mk .none (.mk [] (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))]))))]) (tail := (.matchOn (.move (.generated .holder 18)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 19)) none (.cond (.call (.function 20) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 6) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.cond (.call (.function 21) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))]))), (.mk (.some (.bind (.generated .binding 6))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 6))]))))])) (Corr.mCons (Γ' := [(4, (.adt 2), (some 4)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.move (.generated .binding 4))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 17)) none (.cond (.call (.function 18) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 2 4) [])])) (.mk [] (.construct (.none (.adt 2)) []))))]) (tail := (.matchOn (.move (.generated .holder 17)) [(.mk .none (.mk [] (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))])) (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 18) [(.clone (.generated .binding 0))] true)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 4) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) [])))) (Corr.mCons (Γ' := [(5, (.adt 2), (some 5)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 5))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 19) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 5) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 19)) none (.cond (.call (.function 20) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 6) [])])) (.mk [] (.construct (.none (.adt 2)) []))))]) (tail := (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.cond (.call (.function 21) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))])) (Corr.mCons (Γ' := [(6, (.adt 2), (some 6)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.move (.generated .binding 6))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 20) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 6) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 21) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) []))))) (Corr.mCons (Γ' := [(7, (.adt 2), (some 7)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.move (.generated .binding 7))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 21) [(.move (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (lb := []) (tb := (.succeed (.construct (.none (.adt 2)) []))) (Corr.fOfB (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))) rfl rfl rfl)) rfl rfl rfl)) rfl rfl rfl)⟩⟩ + +theorem fun12 : FunOK program krate flags 12 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 20)) none (.move (.generated .binding 1)))], (.matchOn (.move (.generated .holder 20)) [(.mk (.adt 2 0 []) (.mk [] (.succeed (.call (.function 22) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 1 []) (.mk [] (.succeed (.call (.function 23) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 2 []) (.mk [] (.succeed (.call (.function 24) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 3 []) (.mk [] (.succeed (.call (.function 25) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 4 []) (.mk [] (.call (.function 26) [(.move (.generated .binding 0))] false))), (.mk (.adt 2 5 []) (.mk [] (.succeed (.call (.function 27) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 6 []) (.mk [] (.succeed (.call (.function 28) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 7 []) (.mk [] (.call (.function 29) [(.move (.generated .binding 0))] false)))]), [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.adt 2)) (U := []) (view := false) (idx := [0, 1, 2, 3, 4, 5, 6, 7]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.call (.function 22) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.call (.function 23) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.succeed (.call (.function 24) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 3) (loads := []) (lets := []) (tail := (.succeed (.call (.function 25) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 4) (loads := []) (lets := []) (tail := (.call (.function 26) [(.move (.generated .binding 0))] false)) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 5) (loads := []) (lets := []) (tail := (.succeed (.call (.function 27) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 6) (loads := []) (lets := []) (tail := (.succeed (.call (.function 28) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 7) (loads := []) (lets := []) (tail := (.call (.function 29) [(.move (.generated .binding 0))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.callF (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun13 : FunOK program krate flags 13 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.lit (.nat 3)))], (.cond (.call (.runtime .natLe) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false) (.mk [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 24)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 28)) none (.cond (.call (.function 30) [(.clone (.generated .binding 0))] false) (.mk [(.mk (.bind (.generated .operand 26)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))])), (.mk (.bind (.generated .operand 27)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false) (.mk [] (.cond (.call (.function 31) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 32) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))] (.call (.runtime .boolNot) [(.move (.generated .operand 28))] false)))) (.mk [] (.lit (.bool false)))), [(1, .nat, (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 21)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 22)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natLe) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 24)) none (.lit (.nat 3)))]) (ta := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 28)) none (.cond (.call (.function 30) [(.clone (.generated .binding 0))] false) (.mk [(.mk (.bind (.generated .operand 26)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))])), (.mk (.bind (.generated .operand 27)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false) (.mk [] (.cond (.call (.function 31) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 32) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))] (.call (.runtime .boolNot) [(.move (.generated .operand 28))] false)))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 24)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 28)) none (.cond (.call (.function 30) [(.clone (.generated .binding 0))] false) (.mk [(.mk (.bind (.generated .operand 26)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))])), (.mk (.bind (.generated .operand 27)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false) (.mk [] (.cond (.call (.function 31) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 32) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))]) (tb := (.call (.runtime .boolNot) [(.move (.generated .operand 28))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.prim (ts := [.bool]) (Corr.opsCons (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 30) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 26)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))])), (.mk (.bind (.generated .operand 27)) none (.lit (.nat 1)))]) (ta := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false) (.mk [] (.cond (.call (.function 31) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 32) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 26)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))])), (.mk (.bind (.generated .operand 27)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 26)), (.move (.generated .operand 27))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 25))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 31) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 32) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := []) (ce := (.call (.function 31) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 32) [(.move (.generated .binding 0))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl))))) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun14 : FunOK program krate flags 14 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 30)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 29)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 29))))])), (.mk (.bind (.generated .operand 31)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] false) (.mk [] (.call (.function 31) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 32)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 32))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 30)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 29)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 29))))])), (.mk (.bind (.generated .operand 31)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 30)), (.move (.generated .operand 31))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 29))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 31) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 32)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 32))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 32))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun15 : FunOK program krate flags 15 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 34)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 33)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 33))))])), (.mk (.bind (.generated .operand 35)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] false) (.mk [] (.call (.function 32) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 36)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 34)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 33)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 33))))])), (.mk (.bind (.generated .operand 35)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 33))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 32) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 36)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 36))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun16 : FunOK program krate flags 16 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 38)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 37)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 37))))])), (.mk (.bind (.generated .operand 39)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] false) (.mk [] (.call (.function 33) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 40)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 40))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 38)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 37)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 37))))])), (.mk (.bind (.generated .operand 39)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 38)), (.move (.generated .operand 39))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 37))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 33) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 40)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 40))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 40))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun17 : FunOK program krate flags 17 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 42)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 41))))])), (.mk (.bind (.generated .operand 43)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 42)), (.move (.generated .operand 43))] false) (.mk [] (.call (.function 34) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 44)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 44))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 42)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 41))))])), (.mk (.bind (.generated .operand 43)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 42)), (.move (.generated .operand 43))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 41))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 34) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 44)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 44))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 44))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun18 : FunOK program krate flags 18 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 46)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 45)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 45))))])), (.mk (.bind (.generated .operand 47)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 46)), (.move (.generated .operand 47))] false) (.mk [(.mk (.bind (.generated .operand 58)) none (.lit (.nat 2))), (.mk (.bind (.generated .operand 59)) none (.block (.mk [(.mk (.bind (.generated .operand 56)) none (.block (.mk [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .operand 50)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 48)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 48))))])), (.mk (.bind (.generated .operand 51)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 49)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 49))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true)))), (.mk (.bind (.generated .operand 54)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 52)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 52))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true)))), (.mk (.bind (.generated .operand 57)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 55)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 55))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] true))))] (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 58)), (.move (.generated .operand 59))] false))) (.mk [] (.succeed (.lit (.bool false))))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 46)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 45)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 45))))])), (.mk (.bind (.generated .operand 47)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 46)), (.move (.generated .operand 47))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 45))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 58)) none (.lit (.nat 2))), (.mk (.bind (.generated .operand 59)) none (.block (.mk [(.mk (.bind (.generated .operand 56)) none (.block (.mk [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .operand 50)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 48)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 48))))])), (.mk (.bind (.generated .operand 51)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 49)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 49))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true)))), (.mk (.bind (.generated .operand 54)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 52)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 52))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true)))), (.mk (.bind (.generated .operand 57)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 55)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 55))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] true))))]) (ta := (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 58)), (.move (.generated .operand 59))] false))) (lb := []) (tb := (.succeed (.lit (.bool false)))) (Corr.fOfB (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 56)) none (.block (.mk [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .operand 50)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 48)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 48))))])), (.mk (.bind (.generated .operand 51)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 49)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 49))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true)))), (.mk (.bind (.generated .operand 54)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 52)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 52))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true)))), (.mk (.bind (.generated .operand 57)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 55)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 55))))]))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .operand 50)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 48)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 48))))])), (.mk (.bind (.generated .operand 51)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 49)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 49))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true)))), (.mk (.bind (.generated .operand 54)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 52)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 52))))]))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 50)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 48)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 48))))])), (.mk (.bind (.generated .operand 51)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 49)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 49))))]))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 48))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 49))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 52))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 55))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.fOfB (Corr.bOfE (Corr.buildConst rfl)))))⟩⟩ + +theorem fun19 : FunOK program krate flags 19 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 61)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 60)), .wild, .wild]) (.mk [] (.move (.generated .part 60))))])), (.mk (.bind (.generated .operand 62)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 61)), (.move (.generated .operand 62))] false) (.mk [(.mk (.bind (.generated .operand 64)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 63)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])), (.mk (.bind (.generated .operand 65)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] false) (.mk [(.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.bind (.generated .holder 68)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 67)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 67))))]))] (.matchOn (.move (.generated .holder 68)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 66))]) (.mk [] (.move (.generated .part 66))))])))), (.mk (.bind (.generated .operand 70)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 69)), (.move (.generated .operand 70))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 61)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 60)), .wild, .wild]) (.mk [] (.move (.generated .part 60))))])), (.mk (.bind (.generated .operand 62)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 61)), (.move (.generated .operand 62))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 60))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 64)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 63)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])), (.mk (.bind (.generated .operand 65)) none (.lit (.nat 1)))]) (ta := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] false) (.mk [(.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.bind (.generated .holder 68)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 67)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 67))))]))] (.matchOn (.move (.generated .holder 68)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 66))]) (.mk [] (.move (.generated .part 66))))])))), (.mk (.bind (.generated .operand 70)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 69)), (.move (.generated .operand 70))] false)) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 64)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 63)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])), (.mk (.bind (.generated .operand 65)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 63))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 69)) none (.block (.mk [(.mk (.bind (.generated .holder 68)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 67)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 67))))]))] (.matchOn (.move (.generated .holder 68)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 66))]) (.mk [] (.move (.generated .part 66))))])))), (.mk (.bind (.generated .operand 70)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 69)), (.move (.generated .operand 70))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 68)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 67)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 67))))]))]) (tail := (.matchOn (.move (.generated .holder 68)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 66))]) (.mk [] (.move (.generated .part 66))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 66))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 67))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun20 : FunOK program krate flags 20 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 72)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 71)), .wild]) (.mk [] (.move (.generated .part 71))))])), (.mk (.bind (.generated .operand 73)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] false) (.mk [(.mk (.bind (.generated .operand 75)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 74)), .wild, .wild]) (.mk [] (.move (.generated .part 74))))])), (.mk (.bind (.generated .operand 76)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 75)), (.move (.generated .operand 76))] false) (.mk [] (.call (.function 30) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 77)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 77))))])] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 72)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 71)), .wild]) (.mk [] (.move (.generated .part 71))))])), (.mk (.bind (.generated .operand 73)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 71))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 75)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 74)), .wild, .wild]) (.mk [] (.move (.generated .part 74))))])), (.mk (.bind (.generated .operand 76)) none (.lit (.nat 1)))]) (ta := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 75)), (.move (.generated .operand 76))] false) (.mk [] (.call (.function 30) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 77)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 77))))])] false)) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 75)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 74)), .wild, .wild]) (.mk [] (.move (.generated .part 74))))])), (.mk (.bind (.generated .operand 76)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 75)), (.move (.generated .operand 76))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 74))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 30) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 77)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 77))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 77))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun21 : FunOK program krate flags 21 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 79)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 78))]) (.mk [] (.move (.generated .part 78))))])), (.mk (.bind (.generated .operand 80)) none (.lit (.nat 3)))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 79)), (.move (.generated .operand 80))] false) (.mk [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 0)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false) (.mk [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 88)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 90)), .wild, .wild]) (.mk [] (.move (.generated .part 90))))])), (.mk (.bind (.generated .operand 92)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 94)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))])), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] false) (.mk [(.mk (.bind (.generated .operand 97)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96)), .wild]) (.mk [] (.move (.generated .part 96))))])), (.mk (.bind (.generated .operand 98)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 97)), (.move (.generated .operand 98))] false)) (.mk [] (.lit (.bool false))))))))) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 79)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 78))]) (.mk [] (.move (.generated .part 78))))])), (.mk (.bind (.generated .operand 80)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 79)), (.move (.generated .operand 80))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 78))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 0)))]) (ta := (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false) (.mk [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 88)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 90)), .wild, .wild]) (.mk [] (.move (.generated .part 90))))])), (.mk (.bind (.generated .operand 92)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 94)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))])), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] false) (.mk [(.mk (.bind (.generated .operand 97)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96)), .wild]) (.mk [] (.move (.generated .part 96))))])), (.mk (.bind (.generated .operand 98)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 97)), (.move (.generated .operand 98))] false)) (.mk [] (.lit (.bool false))))))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 0)))]) (ce := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false) (.mk [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false)) (.mk [] (.lit (.bool false))))) (lk := []) (Corr.cond (lc := [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 81))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 84))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 88)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))]) (tb := (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 90)), .wild, .wild]) (.mk [] (.move (.generated .part 90))))])), (.mk (.bind (.generated .operand 92)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 94)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))])), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] false) (.mk [(.mk (.bind (.generated .operand 97)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96)), .wild]) (.mk [] (.move (.generated .part 96))))])), (.mk (.bind (.generated .operand 98)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 97)), (.move (.generated .operand 98))] false)) (.mk [] (.lit (.bool false))))))) (Corr.bOfE (Corr.buildConst rfl)) (Corr.cond (lc := [(.mk (.bind (.generated .operand 88)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))]) (ce := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 90)), .wild, .wild]) (.mk [] (.move (.generated .part 90))))])), (.mk (.bind (.generated .operand 92)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] false)) (.mk [] (.lit (.bool false))))) (lk := []) (Corr.cond (lc := [(.mk (.bind (.generated .operand 88)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 87))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 91)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 90)), .wild, .wild]) (.mk [] (.move (.generated .part 90))))])), (.mk (.bind (.generated .operand 92)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 90))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 94)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))])), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 2)))]) (tb := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] false) (.mk [(.mk (.bind (.generated .operand 97)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96)), .wild]) (.mk [] (.move (.generated .part 96))))])), (.mk (.bind (.generated .operand 98)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 97)), (.move (.generated .operand 98))] false)) (.mk [] (.lit (.bool false))))) (Corr.bOfE (Corr.buildConst rfl)) (Corr.cond (lc := [(.mk (.bind (.generated .operand 94)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))])), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 2)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 93))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 97)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96)), .wild]) (.mk [] (.move (.generated .part 96))))])), (.mk (.bind (.generated .operand 98)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 97)), (.move (.generated .operand 98))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 96))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))))))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun22 : FunOK program krate flags 22 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 35) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 14) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 35) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun23 : FunOK program krate flags 23 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 36) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 15) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 36) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun24 : FunOK program krate flags 24 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 37) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 16) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 37) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun25 : FunOK program krate flags 25 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 38) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 17) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 38) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun26 : FunOK program krate flags 26 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 18) [(.clone (.generated .binding 0))] true) (.mk [] (.succeed (.construct .some [(.call (.function 39) [(.move (.generated .binding 0))] false)]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 18) [(.clone (.generated .binding 0))] true)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.call (.function 39) [(.move (.generated .binding 0))] false)]))) (lb := []) (tb := (.succeed (.construct (.none (.adt 1)) []))) (Corr.fOfB (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ + +theorem fun27 : FunOK program krate flags 27 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 40) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 19) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 40) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun28 : FunOK program krate flags 28 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 20) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 41) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 20) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 41) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun29 : FunOK program krate flags 29 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 21) [(.clone (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.call (.function 42) [(.move (.generated .binding 0))] true)]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 21) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.call (.function 42) [(.move (.generated .binding 0))] true)]))) (lb := []) (tb := (.succeed (.construct (.none (.adt 1)) []))) (Corr.fOfB (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ + +theorem fun30 : FunOK program krate flags 30 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 100)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 99)), .wild]) (.mk [] (.move (.generated .part 99))))])), (.mk (.bind (.generated .operand 101)) none (.lit (.nat 90)))], (.call (.runtime .natLt) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 99))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun31 : FunOK program krate flags 31 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 103)) none (.lit (.nat 380))), (.mk (.bind (.generated .operand 104)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 102)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 102))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 103)), (.move (.generated .operand 104))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 102))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun32 : FunOK program krate flags 32 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 106)) none (.lit (.nat 90))), (.mk (.bind (.generated .operand 107)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 105)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 105))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 106)), (.move (.generated .operand 107))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 105))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun33 : FunOK program krate flags 33 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 109)) none (.lit (.nat 20))), (.mk (.bind (.generated .operand 110)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 108)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 108))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 109)), (.move (.generated .operand 110))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 108))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun34 : FunOK program krate flags 34 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 112)) none (.lit (.nat 12))), (.mk (.bind (.generated .operand 113)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, (.bind (.generated .part 111)), .wild, .wild]) (.mk [] (.move (.generated .part 111))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 112)), (.move (.generated .operand 113))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 111))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun35 : FunOK program krate flags 35 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 114)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 114))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 115)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 115))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 116)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 116))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 117)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 117))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 118)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 118))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 119)), .wild, .wild]) (.mk [] (.move (.generated .part 119))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 120)), .wild]) (.mk [] (.move (.generated .part 120))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 121))]) (.mk [] (.move (.generated .part 121))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 114))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 115))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 116))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 117))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 118))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 119))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 120))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 121))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun36 : FunOK program krate flags 36 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 122)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 122))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 123)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 123))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 124)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 124))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 125)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 125))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 126)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 126))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 127)), .wild, .wild]) (.mk [] (.move (.generated .part 127))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 128)), .wild]) (.mk [] (.move (.generated .part 128))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 129))]) (.mk [] (.move (.generated .part 129))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 122))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 123))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 124))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 125))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 126))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 127))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 128))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 129))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun37 : FunOK program krate flags 37 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 130)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 130))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 131)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 131))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 132)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 132))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 133)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 133))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 134)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 134))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 135)), .wild, .wild]) (.mk [] (.move (.generated .part 135))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 136)), .wild]) (.mk [] (.move (.generated .part 136))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 137))]) (.mk [] (.move (.generated .part 137))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 130))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 131))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 132))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 133))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 134))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 135))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 136))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 137))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun38 : FunOK program krate flags 38 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 138)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 138))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 139)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 139))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 140)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 140))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 141)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 141))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 142)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 142))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 143)), .wild, .wild]) (.mk [] (.move (.generated .part 143))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 144)), .wild]) (.mk [] (.move (.generated .part 144))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 145))]) (.mk [] (.move (.generated .part 145))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 138))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 139))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 140))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 141))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 142))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 143))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 144))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 145))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun39 : FunOK program krate flags 39 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 146)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 146))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 147)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 147))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 148)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 148))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 149)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 149))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 150)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 150))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 151)), .wild, .wild]) (.mk [] (.move (.generated .part 151))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 152)), .wild]) (.mk [] (.move (.generated .part 152))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 153))]) (.mk [] (.move (.generated .part 153))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 146))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 147))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 148))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 149))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 150))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 151))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 152))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 153))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun40 : FunOK program krate flags 40 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 154)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 154))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 155)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 155))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 156)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 156))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 157)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 157))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 158)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 158))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 159)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 159))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 160)), .wild]) (.mk [] (.move (.generated .part 160))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 161))]) (.mk [] (.move (.generated .part 161))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 154))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 155))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 156))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 157))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 158))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 159))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 160))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 161))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun41 : FunOK program krate flags 41 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 162)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 162))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 163)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 163))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 164)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 164))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 165)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 165))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 166)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 166))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 167)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 167))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 168)), .wild, .wild]) (.mk [] (.move (.generated .part 168))))]), (.lit (.nat 1)), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 169))]) (.mk [] (.move (.generated .part 169))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 162))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 163))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 164))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 165))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 166))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 167))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 168))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 169))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun42 : FunOK program krate flags 42 := + ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 170)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 170))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 171)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 171))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 172)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 172))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 173)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 173))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 174)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 174))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 175)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 175))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 176)), .wild, .wild]) (.mk [] (.move (.generated .part 176))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 177)), .wild]) (.mk [] (.move (.generated .part 177))))]), (.block (.mk [(.mk (.bind (.generated .operand 179)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 178))]) (.mk [] (.move (.generated .part 178))))])), (.mk (.bind (.generated .operand 180)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 179)), (.move (.generated .operand 180))] true)))])), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.fOfB (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 170))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 171))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 172))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 173))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 174))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 175))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 176))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 177))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 179)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 178))]) (.mk [] (.move (.generated .part 178))))])), (.mk (.bind (.generated .operand 180)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 179)), (.move (.generated .operand 180))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 178))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | 4 => exact fun4 + | 5 => exact fun5 + | 6 => exact fun6 + | 7 => exact fun7 + | 8 => exact fun8 + | 9 => exact fun9 + | 10 => exact fun10 + | 11 => exact fun11 + | 12 => exact fun12 + | 13 => exact fun13 + | 14 => exact fun14 + | 15 => exact fun15 + | 16 => exact fun16 + | 17 => exact fun17 + | 18 => exact fun18 + | 19 => exact fun19 + | 20 => exact fun20 + | 21 => exact fun21 + | 22 => exact fun22 + | 23 => exact fun23 + | 24 => exact fun24 + | 25 => exact fun25 + | 26 => exact fun26 + | 27 => exact fun27 + | 28 => exact fun28 + | 29 => exact fun29 + | 30 => exact fun30 + | 31 => exact fun31 + | 32 => exact fun32 + | 33 => exact fun33 + | 34 => exact fun34 + | 35 => exact fun35 + | 36 => exact fun36 + | 37 => exact fun37 + | 38 => exact fun38 + | 39 => exact fun39 + | 40 => exact fun40 + | 41 => exact fun41 + | 42 => exact fun42 + | _ + 43 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R2.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R2.lean new file mode 100644 index 000000000..cf4eac4be --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R2.lean @@ -0,0 +1,417 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Reasoning.Budget +import Reasoning.Clinic +import Reasoning.Main +import Reasoning.Planner +import Reasoning.Screening +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [{ constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }, + { constructors := [[], [], [], [], [], [], [], []] }, + { constructors := [[(.adt 3), (.list (.adt 1)), (.adt 4)]] }, + { constructors := [[(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]] }, + { constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }], functions := (( + { parameters := [0, 1, 2, 3, 4, 5], types := [.nat, .nat, .nat, .nat, .nat, .nat], result := .nat, + body := (.«match» .nat (.call 1 [(.build (.adt 0) (.adt 0) [(.var 0), (.var 1), (.var 2), (.var 3), (.var 4), (.var 5)])]) [(.arm .ok [6] (.prim .length [(.second (.var 6))])), (.arm .error [7] (.value .nat (.nat 0)))]) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.result (.pair .nat (.list (.adt 1))) (.pair .bool .bool)), + body := (.«let» 1 (.pair (.adt 2) .bool) (.call 2 [(.var 0)]) (.«match» (.result (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) (.second (.var 1)) [(.arm .true [] (.«match» (.result (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) (.call 3 [(.var 0), (.field (.first (.var 1)) 0)]) [(.arm .ok [2] (.build .ok (.result (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.build .pair (.pair .nat (.list (.adt 1))) [(.var 2), (.field (.first (.var 1)) 1)])])), (.arm .error [3] (.build .error (.result (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.var 3)]))])), (.arm .false [] (.build .error (.result (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))])) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.pair (.adt 2) .bool), + body := (.call 4 [(.closure 5 []), (.value .nat (.nat 11)), (.call 6 [(.var 0)])]) }) ::( + { parameters := [0, 1], types := [(.adt 0), (.adt 3)], result := (.result .nat (.pair .bool .bool)), + body := (.«match» (.result .nat (.pair .bool .bool)) (.call 7 [(.var 0), (.var 1)]) [(.arm .some [2] (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)])), (.arm .none [] (.«match» (.result .nat (.pair .bool .bool)) (.call 8 [(.var 1)]) [(.arm .some [3] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])), (.arm .none [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])]))]))]) }) ::( + { parameters := [0, 1, 2], types := [(.fn [(.adt 2)] (.option (.adt 2))), .nat, (.adt 2)], result := (.pair (.adt 2) .bool), + body := (.«match» (.pair (.adt 2) .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair (.adt 2) .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair (.adt 2) .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair (.adt 2) .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 4 [(.var 0), (.var 3), (.var 4)]))]))]) }) ::( + { parameters := [0], types := [(.adt 2)], result := (.option (.adt 2)), + body := (.«match» (.option (.adt 2)) (.call 9 [(.field (.var 0) 0)]) [(.arm .none [] (.build .none (.option (.adt 2)) [])), (.arm .some [1] (.«match» (.option (.adt 2)) (.call 10 [(.field (.var 0) 0), (.var 1)]) [(.arm .none [] (.build .none (.option (.adt 2)) [])), (.arm .some [2] (.build .some (.option (.adt 2)) [(.build (.adt 0) (.adt 2) [(.var 2), (.prim .append [(.field (.var 0) 1), (.build .cons (.list (.adt 1)) [(.var 1), (.build .nil (.list (.adt 1)) [])])]), (.build (.adt 0) (.adt 4) [(.prim .natAdd [(.field (.field (.var 0) 2) 0), (.value .nat (.nat 1))]), (.prim .natAdd [(.field (.field (.var 0) 2) 1), (.call 11 [(.field (.var 0) 0)])]), (.prim .natAdd [(.field (.field (.var 0) 2) 2), (.value .nat (.nat 1))]), (.field (.field (.var 0) 2) 3), (.field (.field (.var 0) 2) 4), (.field (.field (.var 0) 2) 5)])])]))]))]) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.adt 2), + body := (.build (.adt 0) (.adt 2) [(.call 12 [(.var 0)]), (.build .nil (.list (.adt 1)) []), (.build (.adt 0) (.adt 4) [(.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0))])]) }) ::( + { parameters := [0, 1], types := [(.adt 0), (.adt 3)], result := (.option .nat), + body := (.«match» (.option .nat) (.call 8 [(.var 1)]) [(.arm .none [] (.build .none (.option .nat) [])), (.arm .some [2] (.cond (.call 13 [(.var 0), (.var 2)]) (.build .some (.option .nat) [(.var 2)]) (.build .none (.option .nat) [])))]) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.option .nat), + body := (.build .some (.option .nat) [(.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.option (.adt 1)), + body := (.«match» (.option (.adt 1)) (.«match» (.option (.adt 1)) (.«match» (.option (.adt 1)) (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 0) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])) [(.arm .some [1] (.build .some (.option (.adt 1)) [(.var 1)])), (.arm .none [] (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 1) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])))]) [(.arm .some [2] (.build .some (.option (.adt 1)) [(.var 2)])), (.arm .none [] (.«match» (.option (.adt 1)) (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 2) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])) [(.arm .some [3] (.build .some (.option (.adt 1)) [(.var 3)])), (.arm .none [] (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 3) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])))]))]) [(.arm .some [4] (.build .some (.option (.adt 1)) [(.var 4)])), (.arm .none [] (.«match» (.option (.adt 1)) (.«match» (.option (.adt 1)) (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 4) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])) [(.arm .some [5] (.build .some (.option (.adt 1)) [(.var 5)])), (.arm .none [] (.cond (.call 19 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 5) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])))]) [(.arm .some [6] (.build .some (.option (.adt 1)) [(.var 6)])), (.arm .none [] (.«match» (.option (.adt 1)) (.cond (.call 20 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 6) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])) [(.arm .some [7] (.build .some (.option (.adt 1)) [(.var 7)])), (.arm .none [] (.cond (.call 21 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 7) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])))]))]))]) }) ::( + { parameters := [0, 1], types := [(.adt 3), (.adt 1)], result := (.option (.adt 3)), + body := (.«match» (.option (.adt 3)) (.var 1) [(.arm (.adt 0) [] (.call 22 [(.var 0)])), (.arm (.adt 1) [] (.call 23 [(.var 0)])), (.arm (.adt 2) [] (.call 24 [(.var 0)])), (.arm (.adt 3) [] (.call 25 [(.var 0)])), (.arm (.adt 4) [] (.call 26 [(.var 0)])), (.arm (.adt 5) [] (.call 27 [(.var 0)])), (.arm (.adt 6) [] (.call 28 [(.var 0)])), (.arm (.adt 7) [] (.call 29 [(.var 0)]))]) }) ::( + { parameters := [0], types := [(.adt 3)], result := .nat, + body := (.second (.«let» 7 (.pair .bool .nat) (.«let» 3 (.pair .bool .nat) (.«let» 1 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 14 [(.var 0)]), (.value .nat (.nat 1))]) (.cond (.first (.var 1)) (.var 1) (.«let» 2 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 15 [(.var 0)]), (.value .nat (.nat 1))]) (.build .pair (.pair .bool .nat) [(.first (.var 2)), (.prim .natAdd [(.second (.var 1)), (.second (.var 2))])])))) (.cond (.first (.var 3)) (.var 3) (.«let» 6 (.pair .bool .nat) (.«let» 4 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 16 [(.var 0)]), (.value .nat (.nat 1))]) (.cond (.first (.var 4)) (.var 4) (.«let» 5 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 17 [(.var 0)]), (.value .nat (.nat 1))]) (.build .pair (.pair .bool .nat) [(.first (.var 5)), (.prim .natAdd [(.second (.var 4)), (.second (.var 5))])])))) (.build .pair (.pair .bool .nat) [(.first (.var 6)), (.prim .natAdd [(.second (.var 3)), (.second (.var 6))])])))) (.cond (.first (.var 7)) (.var 7) (.«let» 14 (.pair .bool .nat) (.«let» 10 (.pair .bool .nat) (.«let» 8 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 18 [(.var 0)]), (.value .nat (.nat 1))]) (.cond (.first (.var 8)) (.var 8) (.«let» 9 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 19 [(.var 0)]), (.value .nat (.nat 1))]) (.build .pair (.pair .bool .nat) [(.first (.var 9)), (.prim .natAdd [(.second (.var 8)), (.second (.var 9))])])))) (.cond (.first (.var 10)) (.var 10) (.«let» 13 (.pair .bool .nat) (.«let» 11 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 20 [(.var 0)]), (.value .nat (.nat 1))]) (.cond (.first (.var 11)) (.var 11) (.«let» 12 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 21 [(.var 0)]), (.value .nat (.nat 1))]) (.build .pair (.pair .bool .nat) [(.first (.var 12)), (.prim .natAdd [(.second (.var 11)), (.second (.var 12))])])))) (.build .pair (.pair .bool .nat) [(.first (.var 13)), (.prim .natAdd [(.second (.var 10)), (.second (.var 13))])])))) (.build .pair (.pair .bool .nat) [(.first (.var 14)), (.prim .natAdd [(.second (.var 7)), (.second (.var 14))])]))))) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.adt 3), + body := (.build (.adt 0) (.adt 3) [(.var 0), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0))]) }) ::( + { parameters := [0, 1], types := [(.adt 0), .nat], result := .bool, + body := (.cond (.prim .natLe [(.var 1), (.value .nat (.nat 3))]) (.cond (.prim .natEq [(.var 1), (.value .nat (.nat 3))]) (.build .true .bool []) (.prim .boolNot [(.cond (.call 30 [(.var 0)]) (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.cond (.call 31 [(.var 0)]) (.call 32 [(.var 0)]) (.build .false .bool [])) (.build .false .bool [])) (.build .false .bool []))])) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 1), (.value .nat (.nat 0))]) (.call 31 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 2), (.value .nat (.nat 0))]) (.call 32 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 3), (.value .nat (.nat 0))]) (.call 33 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 4), (.value .nat (.nat 0))]) (.call 34 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 0))]) (.prim .natLe [(.value .nat (.nat 2)), (.prim .natAdd [(.prim .natAdd [(.prim .natAdd [(.field (.var 0) 1), (.field (.var 0) 2)]), (.field (.var 0) 3)]), (.field (.var 0) 4)])]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.field (.var 0) 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.call 30 [(.field (.var 0) 0)]) (.build .false .bool [])) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := .bool, + body := (.cond (.prim .natLt [(.field (.var 0) 8), (.value .nat (.nat 3))]) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 0))]) (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 2))]) (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 1))]) (.build .false .bool [])))) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), + body := (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 35 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), + body := (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 36 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), + body := (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 37 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), + body := (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 38 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), + body := (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 39 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), + body := (.cond (.call 19 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 40 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), + body := (.cond (.call 20 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 41 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), + body := (.cond (.call 21 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 42 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.field (.var 0) 4), (.value .nat (.nat 90))]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 380)), (.field (.var 0) 0)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 90)), (.field (.var 0) 1)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 20)), (.field (.var 0) 2)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 12)), (.field (.var 0) 3)]) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.adt 3), + body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.value .nat (.nat 1)), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.adt 3), + body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.field (.var 0) 1), (.value .nat (.nat 1)), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.adt 3), + body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.value .nat (.nat 1)), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.adt 3), + body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.value .nat (.nat 1)), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.adt 3), + body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.value .nat (.nat 1)), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.adt 3), + body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.value .nat (.nat 1)), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.adt 3), + body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.value .nat (.nat 1)), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.adt 3), + body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.prim .natAdd [(.field (.var 0) 8), (.value .nat (.nat 1))])]) }) ::[]) } + +def __enc_0 (__s : (Reasoning.Clinic.Vitals)) : _root_.LexLeanTarget.TargetSyntax.Value := + _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).infection)] + +def __enc_1 : (Reasoning.Clinic.Triage.Step) -> _root_.LexLeanTarget.TargetSyntax.Value + | Reasoning.Clinic.Triage.Step.Fever => _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [] + | Reasoning.Clinic.Triage.Step.Tachycardia => _root_.LexLeanTarget.TargetSyntax.Value.adt 1 [] + | Reasoning.Clinic.Triage.Step.Tachypnea => _root_.LexLeanTarget.TargetSyntax.Value.adt 2 [] + | Reasoning.Clinic.Triage.Step.Leukocytosis => _root_.LexLeanTarget.TargetSyntax.Value.adt 3 [] + | Reasoning.Clinic.Triage.Step.Sirs => _root_.LexLeanTarget.TargetSyntax.Value.adt 4 [] + | Reasoning.Clinic.Triage.Step.Sepsis => _root_.LexLeanTarget.TargetSyntax.Value.adt 5 [] + | Reasoning.Clinic.Triage.Step.Shock => _root_.LexLeanTarget.TargetSyntax.Value.adt 6 [] + | Reasoning.Clinic.Triage.Step.Escalate => _root_.LexLeanTarget.TargetSyntax.Value.adt 7 [] + +def __enc_3 (__s : (Reasoning.Clinic.Chart)) : _root_.LexLeanTarget.TargetSyntax.Value := + _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(__enc_0 (__s).vitals), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).fever), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).tachycardia), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).tachypnea), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).leukocytosis), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).sirs), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).sepsis), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).shock), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).level)] + +def __enc_4 (__s : (Reasoning.Clinic.Triage.Ledger)) : _root_.LexLeanTarget.TargetSyntax.Value := + _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).iterations), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).attempts), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).firings), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).expansions), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).verifications), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).frontier)] + +def __enc_2 (__s : (Reasoning.Clinic.Triage.Run)) : _root_.LexLeanTarget.TargetSyntax.Value := + _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(__enc_3 (__s).state), ((_root_.LexLeanPreservation.encList __enc_1) (__s).trace), (__enc_4 (__s).ledger)] + +def __fits_31 (v : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_31 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 31 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_31 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.feverish v))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (380 : Nat) (v).temperature)) + +def __fits_14 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).fever (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_31 ((s).vitals))) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.feverish in +theorem __rel_14 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 14 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_14 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Fever.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_31 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.feverish ((s).vitals)))) (Nat.beq (s).fever (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).fever (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_31 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_32 (v : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_32 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 32 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_32 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.tachycardic v))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (90 : Nat) (v).heartRate)) + +def __fits_15 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).tachycardia (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_32 ((s).vitals))) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.tachycardic in +theorem __rel_15 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 15 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_15 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Tachycardia.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_32 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.tachycardic ((s).vitals)))) (Nat.beq (s).tachycardia (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).tachycardia (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_32 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_33 (v : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_33 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 33 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_33 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.tachypneic v))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (20 : Nat) (v).respiratoryRate)) + +def __fits_16 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).tachypnea (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_33 ((s).vitals))) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.tachypneic in +theorem __rel_16 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 16 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_16 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Tachypnea.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_33 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.tachypneic ((s).vitals)))) (Nat.beq (s).tachypnea (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).tachypnea (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_33 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_34 (v : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_34 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 34 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_34 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.leukocytic v))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (12 : Nat) (v).whiteCells)) + +def __fits_17 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).leukocytosis (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_34 ((s).vitals))) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.leukocytic in +theorem __rel_17 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 17 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_17 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Leukocytosis.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_34 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.leukocytic ((s).vitals)))) (Nat.beq (s).leukocytosis (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).leukocytosis (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_34 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_18 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sirs (0 : Nat)) then ((Bool.true && (((((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).fever + (s).tachycardia) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt (((s).fever + (s).tachycardia) + (s).tachypnea) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis) 18446744073709551616)) && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) + +theorem __rel_18 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 18 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_18 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Sirs.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (((((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).fever + (s).tachycardia) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt (((s).fever + (s).tachycardia) + (s).tachypnea) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis) 18446744073709551616)) && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.ble (2 : Nat) ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis)))) (Nat.beq (s).sirs (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sirs (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (s).fever (s).tachycardia)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((s).fever + (s).tachycardia) (s).tachypnea)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (((s).fever + (s).tachycardia) + (s).tachypnea) (s).leukocytosis)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe (2 : Nat) ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_19 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sepsis (0 : Nat)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sirs (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) + +theorem __rel_19 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 19 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_19 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Sepsis.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sirs (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.beq (s).sirs (1 : Nat)) && (Nat.beq ((s).vitals).infection (1 : Nat))))) (Nat.beq (s).sepsis (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sepsis (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq ((s).vitals).infection (1 : Nat)))) (Nat.beq (s).sirs (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sirs (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq ((s).vitals).infection (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_30 (v : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_30 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 30 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_30 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.hypotensive v))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (v).systolic (90 : Nat))) + +def __fits_20 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).shock (0 : Nat)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sepsis (1 : Nat)) then ((Bool.true && Bool.true) && (__fits_30 ((s).vitals))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.hypotensive in +theorem __rel_20 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 20 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_20 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Shock.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sepsis (1 : Nat)) then ((Bool.true && Bool.true) && (__fits_30 ((s).vitals))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.beq (s).sepsis (1 : Nat)) && (Reasoning.Clinic.hypotensive ((s).vitals))))) (Nat.beq (s).shock (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).shock (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_30 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.hypotensive ((s).vitals)))) (Nat.beq (s).sepsis (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sepsis (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_30 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_21 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.blt (s).level (3 : Nat)) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (0 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))))))) else (Bool.true && Bool.true))) + +theorem __rel_21 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 21 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_21 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Escalate.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (0 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))))))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) || (((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) || ((Nat.beq (s).level (2 : Nat)) && (Nat.beq (s).shock (1 : Nat))))))) (Nat.blt (s).level (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (s).level (3 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)))))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b || (((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) || ((Nat.beq (s).level (2 : Nat)) && (Nat.beq (s).shock (1 : Nat)))))) ((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq (s).sirs (1 : Nat)))) (Nat.beq (s).level (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).level (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sirs (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b || ((Nat.beq (s).level (2 : Nat)) && (Nat.beq (s).shock (1 : Nat))))) ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq (s).sepsis (1 : Nat)))) (Nat.beq (s).level (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).level (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sepsis (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq (s).shock (1 : Nat)))) (Nat.beq (s).level (2 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).level (2 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).shock (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))))))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_9 (_ys : (Reasoning.Clinic.Chart)) : Bool := + ((((((Bool.true && Bool.true) && (__fits_14 (_ys))) && (if (Reasoning.Clinic.Fever.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_15 (_ys))) && (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) && (match (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_16 (_ys))) && (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_17 (_ys))) && (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))) && (match (match (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && (__fits_18 (_ys))) && (if (Reasoning.Clinic.Sirs.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_19 (_ys))) && (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) && (match (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_20 (_ys))) && (if (Reasoning.Clinic.Shock.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_21 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))))) + +attribute [local irreducible] Reasoning.Clinic.Escalate.guard Reasoning.Clinic.Fever.guard Reasoning.Clinic.Leukocytosis.guard Reasoning.Clinic.Sepsis.guard Reasoning.Clinic.Shock.guard Reasoning.Clinic.Sirs.guard Reasoning.Clinic.Tachycardia.guard Reasoning.Clinic.Tachypnea.guard in +theorem __rel_9 (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 9 [(__enc_3 _ys)] (_root_.LexLeanPreservation.Rel (__fits_9 _ys) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Triage.select _ys))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_1) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && (__fits_18 (_ys))) && (if (Reasoning.Clinic.Sirs.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_19 (_ys))) && (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) && (match (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_20 (_ys))) && (if (Reasoning.Clinic.Shock.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_21 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Escalate.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Escalate : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))))) (match (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_1) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_16 (_ys))) && (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_17 (_ys))) && (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))))) (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_1) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_15 (_ys))) && (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Fever : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Fever.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_14 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Tachycardia : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Tachycardia.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_15 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_1) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_17 (_ys))) && (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Tachypnea : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Tachypnea.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_16 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Leukocytosis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Leukocytosis.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_17 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_1) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_20 (_ys))) && (if (Reasoning.Clinic.Shock.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_21 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Escalate.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Escalate : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))))) (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_1) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_19 (_ys))) && (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Sirs : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Sirs.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_18 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Sepsis : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Sepsis.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_19 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_1) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_21 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Clinic.Triage.Step))) | Option.none => (if (Reasoning.Clinic.Escalate.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Escalate : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))))) (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Shock : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Shock.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_20 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Triage.Step.Escalate : (Reasoning.Clinic.Triage.Step))) : (Option (Reasoning.Clinic.Triage.Step))) else (Option.none : (Option (Reasoning.Clinic.Triage.Step))))) (Reasoning.Clinic.Escalate.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_21 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))))))))))) + +def __fits_35 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_35 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 35 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_35 s) (__enc_3 (Reasoning.Clinic.Fever.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_22 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_14 (s))) && (if (Reasoning.Clinic.Fever.guard (s)) then ((((Bool.true && Bool.true) && (__fits_35 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Fever.conclusion Reasoning.Clinic.Fever.guard in +theorem __rel_22 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 22 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_22 s) ((_root_.LexLeanPreservation.encOption __enc_3) (Reasoning.Clinic.Fever.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_35 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_3) (if __b then (Option.some ((Reasoning.Clinic.Fever.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Fever.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_14 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_35 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_36 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_36 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 36 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_36 s) (__enc_3 (Reasoning.Clinic.Tachycardia.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_23 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_15 (s))) && (if (Reasoning.Clinic.Tachycardia.guard (s)) then ((((Bool.true && Bool.true) && (__fits_36 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Tachycardia.conclusion Reasoning.Clinic.Tachycardia.guard in +theorem __rel_23 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 23 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_23 s) ((_root_.LexLeanPreservation.encOption __enc_3) (Reasoning.Clinic.Tachycardia.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_36 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_3) (if __b then (Option.some ((Reasoning.Clinic.Tachycardia.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Tachycardia.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_15 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_36 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_37 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_37 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 37 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_37 s) (__enc_3 (Reasoning.Clinic.Tachypnea.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_24 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_16 (s))) && (if (Reasoning.Clinic.Tachypnea.guard (s)) then ((((Bool.true && Bool.true) && (__fits_37 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Tachypnea.conclusion Reasoning.Clinic.Tachypnea.guard in +theorem __rel_24 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 24 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_24 s) ((_root_.LexLeanPreservation.encOption __enc_3) (Reasoning.Clinic.Tachypnea.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_37 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_3) (if __b then (Option.some ((Reasoning.Clinic.Tachypnea.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Tachypnea.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_16 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_37 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_38 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_38 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 38 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_38 s) (__enc_3 (Reasoning.Clinic.Leukocytosis.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_25 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_17 (s))) && (if (Reasoning.Clinic.Leukocytosis.guard (s)) then ((((Bool.true && Bool.true) && (__fits_38 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Leukocytosis.conclusion Reasoning.Clinic.Leukocytosis.guard in +theorem __rel_25 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 25 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_25 s) ((_root_.LexLeanPreservation.encOption __enc_3) (Reasoning.Clinic.Leukocytosis.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_38 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_3) (if __b then (Option.some ((Reasoning.Clinic.Leukocytosis.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Leukocytosis.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_17 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_38 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_39 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_39 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 39 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_39 s) (__enc_3 (Reasoning.Clinic.Sirs.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_26 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_18 (s))) && (if (Reasoning.Clinic.Sirs.guard (s)) then ((((Bool.true && Bool.true) && (__fits_39 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Sirs.conclusion Reasoning.Clinic.Sirs.guard in +theorem __rel_26 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 26 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_26 s) ((_root_.LexLeanPreservation.encOption __enc_3) (Reasoning.Clinic.Sirs.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_39 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_3) (if __b then (Option.some ((Reasoning.Clinic.Sirs.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Sirs.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_18 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_39 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_40 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_40 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 40 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_40 s) (__enc_3 (Reasoning.Clinic.Sepsis.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_27 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_19 (s))) && (if (Reasoning.Clinic.Sepsis.guard (s)) then ((((Bool.true && Bool.true) && (__fits_40 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Sepsis.conclusion Reasoning.Clinic.Sepsis.guard in +theorem __rel_27 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 27 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_27 s) ((_root_.LexLeanPreservation.encOption __enc_3) (Reasoning.Clinic.Sepsis.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_40 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_3) (if __b then (Option.some ((Reasoning.Clinic.Sepsis.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Sepsis.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_19 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_40 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_41 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_41 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 41 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_41 s) (__enc_3 (Reasoning.Clinic.Shock.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_28 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_20 (s))) && (if (Reasoning.Clinic.Shock.guard (s)) then ((((Bool.true && Bool.true) && (__fits_41 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Shock.conclusion Reasoning.Clinic.Shock.guard in +theorem __rel_28 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 28 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_28 s) ((_root_.LexLeanPreservation.encOption __enc_3) (Reasoning.Clinic.Shock.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_41 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_3) (if __b then (Option.some ((Reasoning.Clinic.Shock.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Shock.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_20 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_41 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_42 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).level + (1 : Nat)) 18446744073709551616)) && Bool.true))))))))) && Bool.true) + +theorem __rel_42 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 42 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_42 s) (__enc_3 (Reasoning.Clinic.Escalate.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (s).level (1 : Nat))) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_29 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_21 (s))) && (if (Reasoning.Clinic.Escalate.guard (s)) then ((((Bool.true && Bool.true) && (__fits_42 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Escalate.conclusion Reasoning.Clinic.Escalate.guard in +theorem __rel_29 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 29 [(__enc_3 s)] (_root_.LexLeanPreservation.Rel (__fits_29 s) ((_root_.LexLeanPreservation.encOption __enc_3) (Reasoning.Clinic.Escalate.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_42 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_3) (if __b then (Option.some ((Reasoning.Clinic.Escalate.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Escalate.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_21 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_42 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_10 (_ys : (Reasoning.Clinic.Chart)) (_ystep : (Reasoning.Clinic.Triage.Step)) : Bool := + (Bool.true && (match _ystep with | Reasoning.Clinic.Triage.Step.Fever => ((Bool.true && Bool.true) && (__fits_22 (_ys))) | Reasoning.Clinic.Triage.Step.Tachycardia => ((Bool.true && Bool.true) && (__fits_23 (_ys))) | Reasoning.Clinic.Triage.Step.Tachypnea => ((Bool.true && Bool.true) && (__fits_24 (_ys))) | Reasoning.Clinic.Triage.Step.Leukocytosis => ((Bool.true && Bool.true) && (__fits_25 (_ys))) | Reasoning.Clinic.Triage.Step.Sirs => ((Bool.true && Bool.true) && (__fits_26 (_ys))) | Reasoning.Clinic.Triage.Step.Sepsis => ((Bool.true && Bool.true) && (__fits_27 (_ys))) | Reasoning.Clinic.Triage.Step.Shock => ((Bool.true && Bool.true) && (__fits_28 (_ys))) | Reasoning.Clinic.Triage.Step.Escalate => ((Bool.true && Bool.true) && (__fits_29 (_ys))))) + +attribute [local irreducible] Reasoning.Clinic.Escalate.apply Reasoning.Clinic.Fever.apply Reasoning.Clinic.Leukocytosis.apply Reasoning.Clinic.Sepsis.apply Reasoning.Clinic.Shock.apply Reasoning.Clinic.Sirs.apply Reasoning.Clinic.Tachycardia.apply Reasoning.Clinic.Tachypnea.apply in +theorem __rel_10 (_ys : (Reasoning.Clinic.Chart)) (_ystep : (Reasoning.Clinic.Triage.Step)) : _root_.LexLeanPreservation.FunRel __prog 10 [(__enc_3 _ys), (__enc_1 _ystep)] (_root_.LexLeanPreservation.Rel (__fits_10 _ys _ystep) ((_root_.LexLeanPreservation.encOption __enc_3) (Reasoning.Clinic.Triage.fire _ys _ystep))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_1 (fun (__a : (Reasoning.Clinic.Triage.Step)) => (match __a with | Reasoning.Clinic.Triage.Step.Fever => ((Bool.true && Bool.true) && (__fits_22 (_ys))) | Reasoning.Clinic.Triage.Step.Tachycardia => ((Bool.true && Bool.true) && (__fits_23 (_ys))) | Reasoning.Clinic.Triage.Step.Tachypnea => ((Bool.true && Bool.true) && (__fits_24 (_ys))) | Reasoning.Clinic.Triage.Step.Leukocytosis => ((Bool.true && Bool.true) && (__fits_25 (_ys))) | Reasoning.Clinic.Triage.Step.Sirs => ((Bool.true && Bool.true) && (__fits_26 (_ys))) | Reasoning.Clinic.Triage.Step.Sepsis => ((Bool.true && Bool.true) && (__fits_27 (_ys))) | Reasoning.Clinic.Triage.Step.Shock => ((Bool.true && Bool.true) && (__fits_28 (_ys))) | Reasoning.Clinic.Triage.Step.Escalate => ((Bool.true && Bool.true) && (__fits_29 (_ys))))) (fun (__a : (Reasoning.Clinic.Triage.Step)) => (_root_.LexLeanPreservation.encOption __enc_3) (match __a with | Reasoning.Clinic.Triage.Step.Fever => (Reasoning.Clinic.Fever.apply (_ys)) | Reasoning.Clinic.Triage.Step.Tachycardia => (Reasoning.Clinic.Tachycardia.apply (_ys)) | Reasoning.Clinic.Triage.Step.Tachypnea => (Reasoning.Clinic.Tachypnea.apply (_ys)) | Reasoning.Clinic.Triage.Step.Leukocytosis => (Reasoning.Clinic.Leukocytosis.apply (_ys)) | Reasoning.Clinic.Triage.Step.Sirs => (Reasoning.Clinic.Sirs.apply (_ys)) | Reasoning.Clinic.Triage.Step.Sepsis => (Reasoning.Clinic.Sepsis.apply (_ys)) | Reasoning.Clinic.Triage.Step.Shock => (Reasoning.Clinic.Shock.apply (_ys)) | Reasoning.Clinic.Triage.Step.Escalate => (Reasoning.Clinic.Escalate.apply (_ys)))) _ystep (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Reasoning.Clinic.Triage.Step)) _ => match __a with | Reasoning.Clinic.Triage.Step.Fever => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_22 (_ys)))) | Reasoning.Clinic.Triage.Step.Tachycardia => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_23 (_ys))))) | Reasoning.Clinic.Triage.Step.Tachypnea => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_24 (_ys)))))) | Reasoning.Clinic.Triage.Step.Leukocytosis => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_25 (_ys))))))) | Reasoning.Clinic.Triage.Step.Sirs => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_26 (_ys)))))))) | Reasoning.Clinic.Triage.Step.Sepsis => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_27 (_ys))))))))) | Reasoning.Clinic.Triage.Step.Shock => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_28 (_ys)))))))))) | Reasoning.Clinic.Triage.Step.Escalate => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_29 (_ys))))))))))))) + +def __fits_11 (_ys : (Reasoning.Clinic.Chart)) : Bool := + (((((((Bool.true && Bool.true) && (__fits_14 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan0l : (Prod Bool Nat) := ((Reasoning.Clinic.Fever.guard (_ys)), (1 : Nat)); (Bool.true && (if (_yscan0l).1 then Bool.true else (((((Bool.true && Bool.true) && (__fits_15 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan0r : (Prod Bool Nat) := ((Reasoning.Clinic.Tachycardia.guard (_ys)), (1 : Nat)); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan0l).2 + (_yscan0r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))))) && (let _yscan2l : (Prod Bool Nat) := (let _yscan0l : (Prod Bool Nat) := ((Reasoning.Clinic.Fever.guard (_ys)), (1 : Nat)); (if (_yscan0l).1 then _yscan0l else (let _yscan0r : (Prod Bool Nat) := ((Reasoning.Clinic.Tachycardia.guard (_ys)), (1 : Nat)); ((_yscan0r).1, ((_yscan0l).2 + (_yscan0r).2))))); (Bool.true && (if (_yscan2l).1 then Bool.true else ((((((Bool.true && Bool.true) && (__fits_16 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan1l : (Prod Bool Nat) := ((Reasoning.Clinic.Tachypnea.guard (_ys)), (1 : Nat)); (Bool.true && (if (_yscan1l).1 then Bool.true else (((((Bool.true && Bool.true) && (__fits_17 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan1r : (Prod Bool Nat) := ((Reasoning.Clinic.Leukocytosis.guard (_ys)), (1 : Nat)); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan1l).2 + (_yscan1r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))))) && (let _yscan2r : (Prod Bool Nat) := (let _yscan1l : (Prod Bool Nat) := ((Reasoning.Clinic.Tachypnea.guard (_ys)), (1 : Nat)); (if (_yscan1l).1 then _yscan1l else (let _yscan1r : (Prod Bool Nat) := ((Reasoning.Clinic.Leukocytosis.guard (_ys)), (1 : Nat)); ((_yscan1r).1, ((_yscan1l).2 + (_yscan1r).2))))); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan2l).2 + (_yscan2r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))))) && (let _yscan6l : (Prod Bool Nat) := (let _yscan2l : (Prod Bool Nat) := (let _yscan0l : (Prod Bool Nat) := ((Reasoning.Clinic.Fever.guard (_ys)), (1 : Nat)); (if (_yscan0l).1 then _yscan0l else (let _yscan0r : (Prod Bool Nat) := ((Reasoning.Clinic.Tachycardia.guard (_ys)), (1 : Nat)); ((_yscan0r).1, ((_yscan0l).2 + (_yscan0r).2))))); (if (_yscan2l).1 then _yscan2l else (let _yscan2r : (Prod Bool Nat) := (let _yscan1l : (Prod Bool Nat) := ((Reasoning.Clinic.Tachypnea.guard (_ys)), (1 : Nat)); (if (_yscan1l).1 then _yscan1l else (let _yscan1r : (Prod Bool Nat) := ((Reasoning.Clinic.Leukocytosis.guard (_ys)), (1 : Nat)); ((_yscan1r).1, ((_yscan1l).2 + (_yscan1r).2))))); ((_yscan2r).1, ((_yscan2l).2 + (_yscan2r).2))))); (Bool.true && (if (_yscan6l).1 then Bool.true else (((((((Bool.true && Bool.true) && (__fits_18 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan3l : (Prod Bool Nat) := ((Reasoning.Clinic.Sirs.guard (_ys)), (1 : Nat)); (Bool.true && (if (_yscan3l).1 then Bool.true else (((((Bool.true && Bool.true) && (__fits_19 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan3r : (Prod Bool Nat) := ((Reasoning.Clinic.Sepsis.guard (_ys)), (1 : Nat)); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan3l).2 + (_yscan3r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))))) && (let _yscan5l : (Prod Bool Nat) := (let _yscan3l : (Prod Bool Nat) := ((Reasoning.Clinic.Sirs.guard (_ys)), (1 : Nat)); (if (_yscan3l).1 then _yscan3l else (let _yscan3r : (Prod Bool Nat) := ((Reasoning.Clinic.Sepsis.guard (_ys)), (1 : Nat)); ((_yscan3r).1, ((_yscan3l).2 + (_yscan3r).2))))); (Bool.true && (if (_yscan5l).1 then Bool.true else ((((((Bool.true && Bool.true) && (__fits_20 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan4l : (Prod Bool Nat) := ((Reasoning.Clinic.Shock.guard (_ys)), (1 : Nat)); (Bool.true && (if (_yscan4l).1 then Bool.true else (((((Bool.true && Bool.true) && (__fits_21 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan4l).2 + (_yscan4r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))))) && (let _yscan5r : (Prod Bool Nat) := (let _yscan4l : (Prod Bool Nat) := ((Reasoning.Clinic.Shock.guard (_ys)), (1 : Nat)); (if (_yscan4l).1 then _yscan4l else (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); ((_yscan4r).1, ((_yscan4l).2 + (_yscan4r).2))))); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan5l).2 + (_yscan5r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))))) && (let _yscan6r : (Prod Bool Nat) := (let _yscan5l : (Prod Bool Nat) := (let _yscan3l : (Prod Bool Nat) := ((Reasoning.Clinic.Sirs.guard (_ys)), (1 : Nat)); (if (_yscan3l).1 then _yscan3l else (let _yscan3r : (Prod Bool Nat) := ((Reasoning.Clinic.Sepsis.guard (_ys)), (1 : Nat)); ((_yscan3r).1, ((_yscan3l).2 + (_yscan3r).2))))); (if (_yscan5l).1 then _yscan5l else (let _yscan5r : (Prod Bool Nat) := (let _yscan4l : (Prod Bool Nat) := ((Reasoning.Clinic.Shock.guard (_ys)), (1 : Nat)); (if (_yscan4l).1 then _yscan4l else (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); ((_yscan4r).1, ((_yscan4l).2 + (_yscan4r).2))))); ((_yscan5r).1, ((_yscan5l).2 + (_yscan5r).2))))); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan6l).2 + (_yscan6r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))))) + +attribute [local irreducible] Reasoning.Clinic.Escalate.guard Reasoning.Clinic.Fever.guard Reasoning.Clinic.Leukocytosis.guard Reasoning.Clinic.Sepsis.guard Reasoning.Clinic.Shock.guard Reasoning.Clinic.Sirs.guard Reasoning.Clinic.Tachycardia.guard Reasoning.Clinic.Tachypnea.guard in +theorem __rel_11 (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 11 [(__enc_3 _ys)] (_root_.LexLeanPreservation.Rel (__fits_11 _ys) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Clinic.Triage.attempts _ys))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_second (let _yscan6l : (Prod Bool Nat) := (let _yscan2l : (Prod Bool Nat) := (let _yscan0l : (Prod Bool Nat) := ((Reasoning.Clinic.Fever.guard (_ys)), (1 : Nat)); (if (_yscan0l).1 then _yscan0l else (let _yscan0r : (Prod Bool Nat) := ((Reasoning.Clinic.Tachycardia.guard (_ys)), (1 : Nat)); ((_yscan0r).1, ((_yscan0l).2 + (_yscan0r).2))))); (if (_yscan2l).1 then _yscan2l else (let _yscan2r : (Prod Bool Nat) := (let _yscan1l : (Prod Bool Nat) := ((Reasoning.Clinic.Tachypnea.guard (_ys)), (1 : Nat)); (if (_yscan1l).1 then _yscan1l else (let _yscan1r : (Prod Bool Nat) := ((Reasoning.Clinic.Leukocytosis.guard (_ys)), (1 : Nat)); ((_yscan1r).1, ((_yscan1l).2 + (_yscan1r).2))))); ((_yscan2r).1, ((_yscan2l).2 + (_yscan2r).2))))); _root_.LexLeanPreservation.conv_let (let _yscan2l : (Prod Bool Nat) := (let _yscan0l : (Prod Bool Nat) := ((Reasoning.Clinic.Fever.guard (_ys)), (1 : Nat)); (if (_yscan0l).1 then _yscan0l else (let _yscan0r : (Prod Bool Nat) := ((Reasoning.Clinic.Tachycardia.guard (_ys)), (1 : Nat)); ((_yscan0r).1, ((_yscan0l).2 + (_yscan0r).2))))); _root_.LexLeanPreservation.conv_let (let _yscan0l : (Prod Bool Nat) := ((Reasoning.Clinic.Fever.guard (_ys)), (1 : Nat)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_14 (_ys))) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else (((((Bool.true && Bool.true) && (__fits_15 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan0r : (Prod Bool Nat) := ((Reasoning.Clinic.Tachycardia.guard (_ys)), (1 : Nat)); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan0l).2 + (_yscan0r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then _yscan0l else (let _yscan0r : (Prod Bool Nat) := ((Reasoning.Clinic.Tachycardia.guard (_ys)), (1 : Nat)); ((_yscan0r).1, ((_yscan0l).2 + (_yscan0r).2))))) (_yscan0l).1 (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (let _yscan0r : (Prod Bool Nat) := ((Reasoning.Clinic.Tachycardia.guard (_ys)), (1 : Nat)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_15 (_ys))) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (_yscan0l).2 (_yscan0r).2)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else ((((((Bool.true && Bool.true) && (__fits_16 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan1l : (Prod Bool Nat) := ((Reasoning.Clinic.Tachypnea.guard (_ys)), (1 : Nat)); (Bool.true && (if (_yscan1l).1 then Bool.true else (((((Bool.true && Bool.true) && (__fits_17 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan1r : (Prod Bool Nat) := ((Reasoning.Clinic.Leukocytosis.guard (_ys)), (1 : Nat)); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan1l).2 + (_yscan1r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))))) && (let _yscan2r : (Prod Bool Nat) := (let _yscan1l : (Prod Bool Nat) := ((Reasoning.Clinic.Tachypnea.guard (_ys)), (1 : Nat)); (if (_yscan1l).1 then _yscan1l else (let _yscan1r : (Prod Bool Nat) := ((Reasoning.Clinic.Leukocytosis.guard (_ys)), (1 : Nat)); ((_yscan1r).1, ((_yscan1l).2 + (_yscan1r).2))))); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan2l).2 + (_yscan2r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then _yscan2l else (let _yscan2r : (Prod Bool Nat) := (let _yscan1l : (Prod Bool Nat) := ((Reasoning.Clinic.Tachypnea.guard (_ys)), (1 : Nat)); (if (_yscan1l).1 then _yscan1l else (let _yscan1r : (Prod Bool Nat) := ((Reasoning.Clinic.Leukocytosis.guard (_ys)), (1 : Nat)); ((_yscan1r).1, ((_yscan1l).2 + (_yscan1r).2))))); ((_yscan2r).1, ((_yscan2l).2 + (_yscan2r).2))))) (_yscan2l).1 (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (let _yscan2r : (Prod Bool Nat) := (let _yscan1l : (Prod Bool Nat) := ((Reasoning.Clinic.Tachypnea.guard (_ys)), (1 : Nat)); (if (_yscan1l).1 then _yscan1l else (let _yscan1r : (Prod Bool Nat) := ((Reasoning.Clinic.Leukocytosis.guard (_ys)), (1 : Nat)); ((_yscan1r).1, ((_yscan1l).2 + (_yscan1r).2))))); _root_.LexLeanPreservation.conv_let (let _yscan1l : (Prod Bool Nat) := ((Reasoning.Clinic.Tachypnea.guard (_ys)), (1 : Nat)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_16 (_ys))) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else (((((Bool.true && Bool.true) && (__fits_17 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan1r : (Prod Bool Nat) := ((Reasoning.Clinic.Leukocytosis.guard (_ys)), (1 : Nat)); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan1l).2 + (_yscan1r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then _yscan1l else (let _yscan1r : (Prod Bool Nat) := ((Reasoning.Clinic.Leukocytosis.guard (_ys)), (1 : Nat)); ((_yscan1r).1, ((_yscan1l).2 + (_yscan1r).2))))) (_yscan1l).1 (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (let _yscan1r : (Prod Bool Nat) := ((Reasoning.Clinic.Leukocytosis.guard (_ys)), (1 : Nat)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_17 (_ys))) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (_yscan1l).2 (_yscan1r).2)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (_yscan2l).2 (_yscan2r).2)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else (((((((Bool.true && Bool.true) && (__fits_18 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan3l : (Prod Bool Nat) := ((Reasoning.Clinic.Sirs.guard (_ys)), (1 : Nat)); (Bool.true && (if (_yscan3l).1 then Bool.true else (((((Bool.true && Bool.true) && (__fits_19 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan3r : (Prod Bool Nat) := ((Reasoning.Clinic.Sepsis.guard (_ys)), (1 : Nat)); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan3l).2 + (_yscan3r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))))) && (let _yscan5l : (Prod Bool Nat) := (let _yscan3l : (Prod Bool Nat) := ((Reasoning.Clinic.Sirs.guard (_ys)), (1 : Nat)); (if (_yscan3l).1 then _yscan3l else (let _yscan3r : (Prod Bool Nat) := ((Reasoning.Clinic.Sepsis.guard (_ys)), (1 : Nat)); ((_yscan3r).1, ((_yscan3l).2 + (_yscan3r).2))))); (Bool.true && (if (_yscan5l).1 then Bool.true else ((((((Bool.true && Bool.true) && (__fits_20 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan4l : (Prod Bool Nat) := ((Reasoning.Clinic.Shock.guard (_ys)), (1 : Nat)); (Bool.true && (if (_yscan4l).1 then Bool.true else (((((Bool.true && Bool.true) && (__fits_21 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan4l).2 + (_yscan4r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))))) && (let _yscan5r : (Prod Bool Nat) := (let _yscan4l : (Prod Bool Nat) := ((Reasoning.Clinic.Shock.guard (_ys)), (1 : Nat)); (if (_yscan4l).1 then _yscan4l else (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); ((_yscan4r).1, ((_yscan4l).2 + (_yscan4r).2))))); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan5l).2 + (_yscan5r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))))) && (let _yscan6r : (Prod Bool Nat) := (let _yscan5l : (Prod Bool Nat) := (let _yscan3l : (Prod Bool Nat) := ((Reasoning.Clinic.Sirs.guard (_ys)), (1 : Nat)); (if (_yscan3l).1 then _yscan3l else (let _yscan3r : (Prod Bool Nat) := ((Reasoning.Clinic.Sepsis.guard (_ys)), (1 : Nat)); ((_yscan3r).1, ((_yscan3l).2 + (_yscan3r).2))))); (if (_yscan5l).1 then _yscan5l else (let _yscan5r : (Prod Bool Nat) := (let _yscan4l : (Prod Bool Nat) := ((Reasoning.Clinic.Shock.guard (_ys)), (1 : Nat)); (if (_yscan4l).1 then _yscan4l else (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); ((_yscan4r).1, ((_yscan4l).2 + (_yscan4r).2))))); ((_yscan5r).1, ((_yscan5l).2 + (_yscan5r).2))))); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan6l).2 + (_yscan6r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then _yscan6l else (let _yscan6r : (Prod Bool Nat) := (let _yscan5l : (Prod Bool Nat) := (let _yscan3l : (Prod Bool Nat) := ((Reasoning.Clinic.Sirs.guard (_ys)), (1 : Nat)); (if (_yscan3l).1 then _yscan3l else (let _yscan3r : (Prod Bool Nat) := ((Reasoning.Clinic.Sepsis.guard (_ys)), (1 : Nat)); ((_yscan3r).1, ((_yscan3l).2 + (_yscan3r).2))))); (if (_yscan5l).1 then _yscan5l else (let _yscan5r : (Prod Bool Nat) := (let _yscan4l : (Prod Bool Nat) := ((Reasoning.Clinic.Shock.guard (_ys)), (1 : Nat)); (if (_yscan4l).1 then _yscan4l else (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); ((_yscan4r).1, ((_yscan4l).2 + (_yscan4r).2))))); ((_yscan5r).1, ((_yscan5l).2 + (_yscan5r).2))))); ((_yscan6r).1, ((_yscan6l).2 + (_yscan6r).2))))) (_yscan6l).1 (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (let _yscan6r : (Prod Bool Nat) := (let _yscan5l : (Prod Bool Nat) := (let _yscan3l : (Prod Bool Nat) := ((Reasoning.Clinic.Sirs.guard (_ys)), (1 : Nat)); (if (_yscan3l).1 then _yscan3l else (let _yscan3r : (Prod Bool Nat) := ((Reasoning.Clinic.Sepsis.guard (_ys)), (1 : Nat)); ((_yscan3r).1, ((_yscan3l).2 + (_yscan3r).2))))); (if (_yscan5l).1 then _yscan5l else (let _yscan5r : (Prod Bool Nat) := (let _yscan4l : (Prod Bool Nat) := ((Reasoning.Clinic.Shock.guard (_ys)), (1 : Nat)); (if (_yscan4l).1 then _yscan4l else (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); ((_yscan4r).1, ((_yscan4l).2 + (_yscan4r).2))))); ((_yscan5r).1, ((_yscan5l).2 + (_yscan5r).2))))); _root_.LexLeanPreservation.conv_let (let _yscan5l : (Prod Bool Nat) := (let _yscan3l : (Prod Bool Nat) := ((Reasoning.Clinic.Sirs.guard (_ys)), (1 : Nat)); (if (_yscan3l).1 then _yscan3l else (let _yscan3r : (Prod Bool Nat) := ((Reasoning.Clinic.Sepsis.guard (_ys)), (1 : Nat)); ((_yscan3r).1, ((_yscan3l).2 + (_yscan3r).2))))); _root_.LexLeanPreservation.conv_let (let _yscan3l : (Prod Bool Nat) := ((Reasoning.Clinic.Sirs.guard (_ys)), (1 : Nat)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_18 (_ys))) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else (((((Bool.true && Bool.true) && (__fits_19 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan3r : (Prod Bool Nat) := ((Reasoning.Clinic.Sepsis.guard (_ys)), (1 : Nat)); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan3l).2 + (_yscan3r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then _yscan3l else (let _yscan3r : (Prod Bool Nat) := ((Reasoning.Clinic.Sepsis.guard (_ys)), (1 : Nat)); ((_yscan3r).1, ((_yscan3l).2 + (_yscan3r).2))))) (_yscan3l).1 (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (let _yscan3r : (Prod Bool Nat) := ((Reasoning.Clinic.Sepsis.guard (_ys)), (1 : Nat)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_19 (_ys))) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (_yscan3l).2 (_yscan3r).2)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else ((((((Bool.true && Bool.true) && (__fits_20 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan4l : (Prod Bool Nat) := ((Reasoning.Clinic.Shock.guard (_ys)), (1 : Nat)); (Bool.true && (if (_yscan4l).1 then Bool.true else (((((Bool.true && Bool.true) && (__fits_21 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan4l).2 + (_yscan4r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))))) && (let _yscan5r : (Prod Bool Nat) := (let _yscan4l : (Prod Bool Nat) := ((Reasoning.Clinic.Shock.guard (_ys)), (1 : Nat)); (if (_yscan4l).1 then _yscan4l else (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); ((_yscan4r).1, ((_yscan4l).2 + (_yscan4r).2))))); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan5l).2 + (_yscan5r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then _yscan5l else (let _yscan5r : (Prod Bool Nat) := (let _yscan4l : (Prod Bool Nat) := ((Reasoning.Clinic.Shock.guard (_ys)), (1 : Nat)); (if (_yscan4l).1 then _yscan4l else (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); ((_yscan4r).1, ((_yscan4l).2 + (_yscan4r).2))))); ((_yscan5r).1, ((_yscan5l).2 + (_yscan5r).2))))) (_yscan5l).1 (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (let _yscan5r : (Prod Bool Nat) := (let _yscan4l : (Prod Bool Nat) := ((Reasoning.Clinic.Shock.guard (_ys)), (1 : Nat)); (if (_yscan4l).1 then _yscan4l else (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); ((_yscan4r).1, ((_yscan4l).2 + (_yscan4r).2))))); _root_.LexLeanPreservation.conv_let (let _yscan4l : (Prod Bool Nat) := ((Reasoning.Clinic.Shock.guard (_ys)), (1 : Nat)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_20 (_ys))) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else (((((Bool.true && Bool.true) && (__fits_21 (_ys))) && (Bool.true && Bool.true)) && Bool.true) && (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((_yscan4l).2 + (_yscan4r).2) 18446744073709551616)) && Bool.true)) && Bool.true))))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then _yscan4l else (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); ((_yscan4r).1, ((_yscan4l).2 + (_yscan4r).2))))) (_yscan4l).1 (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (let _yscan4r : (Prod Bool Nat) := ((Reasoning.Clinic.Escalate.guard (_ys)), (1 : Nat)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_21 (_ys))) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (_yscan4l).2 (_yscan4r).2)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (_yscan5l).2 (_yscan5r).2)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (_yscan6l).2 (_yscan6r).2)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair)))))) + +def __fits_5 (_yr : (Reasoning.Clinic.Triage.Run)) : Bool := + (((Bool.true && Bool.true) && (__fits_9 ((_yr).state))) && (match (Reasoning.Clinic.Triage.select ((_yr).state)) with | Option.none => (Bool.true && Bool.true) | Option.some _ystep => (((Bool.true && (Bool.true && Bool.true)) && (__fits_10 ((_yr).state) (_ystep))) && (match (Reasoning.Clinic.Triage.fire ((_yr).state) (_ystep)) with | Option.none => (Bool.true && Bool.true) | Option.some _yt => ((((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (__fits_11 ((_yr).state))) && Bool.true)) && (Nat.blt (((_yr).ledger).attempts + (Reasoning.Clinic.Triage.attempts ((_yr).state))) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).firings + (1 : Nat)) 18446744073709551616)) && (Bool.true && (Bool.true && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true))) && Bool.true) && Bool.true) && Bool.true))))) + +attribute [local irreducible] Reasoning.Clinic.Triage.attempts Reasoning.Clinic.Triage.fire Reasoning.Clinic.Triage.select in +theorem __rel_5 (_yr : (Reasoning.Clinic.Triage.Run)) : _root_.LexLeanPreservation.FunRel __prog 5 [(__enc_2 _yr)] (_root_.LexLeanPreservation.Rel (__fits_5 _yr) ((_root_.LexLeanPreservation.encOption __enc_2) (Reasoning.Clinic.Triage.step _yr))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_1) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (match __a with | Option.none => (Bool.true && Bool.true) | Option.some _ystep => (((Bool.true && (Bool.true && Bool.true)) && (__fits_10 ((_yr).state) (_ystep))) && (match (Reasoning.Clinic.Triage.fire ((_yr).state) (_ystep)) with | Option.none => (Bool.true && Bool.true) | Option.some _yt => ((((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (__fits_11 ((_yr).state))) && Bool.true)) && (Nat.blt (((_yr).ledger).attempts + (Reasoning.Clinic.Triage.attempts ((_yr).state))) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).firings + (1 : Nat)) 18446744073709551616)) && (Bool.true && (Bool.true && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true))) && Bool.true) && Bool.true) && Bool.true))))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.none => (Option.none : (Option (Reasoning.Clinic.Triage.Run))) | Option.some _ystep => (match (Reasoning.Clinic.Triage.fire ((_yr).state) (_ystep)) with | Option.none => (Option.none : (Option (Reasoning.Clinic.Triage.Run))) | Option.some _yt => (Option.some (({ state := _yt, trace := (_root_.LexLeanRuntime.append ((_yr).trace) ((_ystep :: ([] : List (Reasoning.Clinic.Triage.Step)))) : (List (Reasoning.Clinic.Triage.Step))), ledger := ({ iterations := (((_yr).ledger).iterations + (1 : Nat)), attempts := (((_yr).ledger).attempts + (Reasoning.Clinic.Triage.attempts ((_yr).state))), firings := (((_yr).ledger).firings + (1 : Nat)), expansions := ((_yr).ledger).expansions, verifications := ((_yr).ledger).verifications, frontier := ((_yr).ledger).frontier } : (Reasoning.Clinic.Triage.Ledger)) } : (Reasoning.Clinic.Triage.Run))) : (Option (Reasoning.Clinic.Triage.Run)))))) (Reasoning.Clinic.Triage.select ((_yr).state)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_9 ((_yr).state))) (fun (__a : (Option (Reasoning.Clinic.Triage.Step))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | Option.some _ystep => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_3) (fun (__a : (Option (Reasoning.Clinic.Chart))) => (match __a with | Option.none => (Bool.true && Bool.true) | Option.some _yt => ((((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (__fits_11 ((_yr).state))) && Bool.true)) && (Nat.blt (((_yr).ledger).attempts + (Reasoning.Clinic.Triage.attempts ((_yr).state))) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).firings + (1 : Nat)) 18446744073709551616)) && (Bool.true && (Bool.true && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true))) && Bool.true) && Bool.true) && Bool.true))) (fun (__a : (Option (Reasoning.Clinic.Chart))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.none => (Option.none : (Option (Reasoning.Clinic.Triage.Run))) | Option.some _yt => (Option.some (({ state := _yt, trace := (_root_.LexLeanRuntime.append ((_yr).trace) ((_ystep :: ([] : List (Reasoning.Clinic.Triage.Step)))) : (List (Reasoning.Clinic.Triage.Step))), ledger := ({ iterations := (((_yr).ledger).iterations + (1 : Nat)), attempts := (((_yr).ledger).attempts + (Reasoning.Clinic.Triage.attempts ((_yr).state))), firings := (((_yr).ledger).firings + (1 : Nat)), expansions := ((_yr).ledger).expansions, verifications := ((_yr).ledger).verifications, frontier := ((_yr).ledger).frontier } : (Reasoning.Clinic.Triage.Ledger)) } : (Reasoning.Clinic.Triage.Run))) : (Option (Reasoning.Clinic.Triage.Run))))) (Reasoning.Clinic.Triage.fire ((_yr).state) (_ystep)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_10 ((_yr).state) (_ystep))) (fun (__a : (Option (Reasoning.Clinic.Chart))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | Option.some _yt => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_1) (_yr).trace (_ystep :: ([] : List (Reasoning.Clinic.Triage.Step))))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).iterations (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_11 ((_yr).state))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).attempts (Reasoning.Clinic.Triage.attempts ((_yr).state)))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).firings (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) _root_.LexLeanPreservation.convL_nil)))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some))))))))) + +def __fits_12 (patient : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_12 (patient : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 12 [(__enc_0 patient)] (_root_.LexLeanPreservation.Rel (__fits_12 patient) (__enc_3 (Reasoning.Clinic.Triage.observe patient))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_6 (patient : (Reasoning.Clinic.Vitals)) : Bool := + ((((Bool.true && Bool.true) && (__fits_12 (patient))) && ((Bool.true && Bool.true) && (((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true))) && Bool.true) + +attribute [local irreducible] Reasoning.Clinic.Triage.observe in +theorem __rel_6 (patient : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 6 [(__enc_0 patient)] (_root_.LexLeanPreservation.Rel (__fits_6 patient) (__enc_2 (Reasoning.Clinic.Triage.start patient))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_12 (patient))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil))) _root_.LexLeanPreservation.construct_adt) + +def __fits_2 (patient : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && (Bool.true && (((Bool.true && Bool.true) && (__fits_6 (patient))) && Bool.true))) && (_root_.LexLeanPreservation.untilFits (fun (__p0 : (Reasoning.Clinic.Triage.Run)) => __fits_5 __p0) ((Reasoning.Clinic.Triage.step)) ((11 : Nat)) ((Reasoning.Clinic.Triage.start (patient))))) + +attribute [local irreducible] Reasoning.Clinic.Triage.start in +theorem __rel_2 (patient : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 2 [(__enc_0 patient)] (_root_.LexLeanPreservation.Rel (__fits_2 patient) ((_root_.LexLeanPreservation.encPair __enc_2 _root_.LexLeanTarget.TargetSyntax.Value.bool) (Reasoning.Clinic.Triage.run patient))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_6 (patient))) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_iterateUntil (es := __enc_2) (_root_.LexLeanPreservation.optEnc __enc_2) (fun _ => rfl) (_root_.LexLeanPreservation.encPair __enc_2 _root_.LexLeanTarget.TargetSyntax.Value.bool) (fun _ => rfl) ((Reasoning.Clinic.Triage.step)) (fun (__p0 : (Reasoning.Clinic.Triage.Run)) => __fits_5 __p0) 5 [] (fun (__p0 : (Reasoning.Clinic.Triage.Run)) => __rel_5 __p0) (_root_.LexLeanCollections.iterateUntil ((Reasoning.Clinic.Triage.step))) (fun _ => rfl) (fun _ _ __h => by simp only [_root_.LexLeanCollections.iterateUntil, __h]) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.iterateUntil, __h]) (p := __prog) (fi := 4) (ts := (.adt 2)) rfl ((11 : Nat)) ((Reasoning.Clinic.Triage.start (patient))))) + +def __fits_8 (chart : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && Bool.true) && Bool.true) + +theorem __rel_8 (chart : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 8 [(__enc_3 chart)] (_root_.LexLeanPreservation.Rel (__fits_8 chart) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Clinic.Triage.extract chart))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) + +def __fits_13 (v : (Reasoning.Clinic.Vitals)) (r : Nat) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.ble r (3 : Nat)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq r (3 : Nat)) then (Bool.true && Bool.true) else (((((Bool.true && Bool.true) && (__fits_30 (v))) && (if (Reasoning.Clinic.hypotensive (v)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (v).infection (1 : Nat)) then (((Bool.true && Bool.true) && (__fits_31 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_32 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) && Bool.true) && Bool.true))) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.feverish Reasoning.Clinic.hypotensive Reasoning.Clinic.tachycardic in +theorem __rel_13 (v : (Reasoning.Clinic.Vitals)) (r : Nat) : _root_.LexLeanPreservation.FunRel __prog 13 [(__enc_0 v), (_root_.LexLeanTarget.TargetSyntax.Value.nat r)] (_root_.LexLeanPreservation.Rel (__fits_13 v r) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.recommendationCheck v r))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq r (3 : Nat)) then (Bool.true && Bool.true) else (((((Bool.true && Bool.true) && (__fits_30 (v))) && (if (Reasoning.Clinic.hypotensive (v)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (v).infection (1 : Nat)) then (((Bool.true && Bool.true) && (__fits_31 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_32 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) && Bool.true) && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.beq r (3 : Nat)) || (!((Reasoning.Clinic.hypotensive (v)) && ((Nat.beq (v).infection (1 : Nat)) && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v))))))))) (Nat.ble r (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe r (3 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (Bool.true && Bool.true) else (((((Bool.true && Bool.true) && (__fits_30 (v))) && (if (Reasoning.Clinic.hypotensive (v)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (v).infection (1 : Nat)) then (((Bool.true && Bool.true) && (__fits_31 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_32 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) && Bool.true) && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b || (!((Reasoning.Clinic.hypotensive (v)) && ((Nat.beq (v).infection (1 : Nat)) && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v)))))))) (Nat.beq r (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq r (3 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (v).infection (1 : Nat)) then (((Bool.true && Bool.true) && (__fits_31 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_32 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.beq (v).infection (1 : Nat)) && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v)))))) (Reasoning.Clinic.hypotensive (v)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_30 (v))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && Bool.true) && (__fits_31 (v))) && (if (Reasoning.Clinic.feverish (v)) then ((Bool.true && Bool.true) && (__fits_32 (v))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v))))) (Nat.beq (v).infection (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (v).infection (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_32 (v))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.tachycardic (v)))) (Reasoning.Clinic.feverish (v)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_31 (v))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_32 (v)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_boolNot ((Reasoning.Clinic.hypotensive (v)) && ((Nat.beq (v).infection (1 : Nat)) && ((Reasoning.Clinic.feverish (v)) && (Reasoning.Clinic.tachycardic (v)))))))))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_7 (patient : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_8 (_ys))) && (match (Reasoning.Clinic.Triage.extract (_ys)) with | Option.none => (Bool.true && Bool.true) | Option.some _yv => (((Bool.true && (Bool.true && Bool.true)) && (__fits_13 (patient) (_yv))) && (if (Reasoning.Clinic.recommendationCheck (patient) (_yv)) then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) + +attribute [local irreducible] Reasoning.Clinic.Triage.extract Reasoning.Clinic.recommendationCheck in +theorem __rel_7 (patient : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 7 [(__enc_0 patient), (__enc_3 _ys)] (_root_.LexLeanPreservation.Rel (__fits_7 patient _ys) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Clinic.Triage.accept patient _ys))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.none => (Bool.true && Bool.true) | Option.some _yv => (((Bool.true && (Bool.true && Bool.true)) && (__fits_13 (patient) (_yv))) && (if (Reasoning.Clinic.recommendationCheck (patient) (_yv)) then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.none => (Option.none : (Option Nat)) | Option.some _yv => (if (Reasoning.Clinic.recommendationCheck (patient) (_yv)) then (Option.some (_yv) : (Option Nat)) else (Option.none : (Option Nat))))) (Reasoning.Clinic.Triage.extract (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_8 (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | Option.some _yv => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then (Option.some (_yv) : (Option Nat)) else (Option.none : (Option Nat)))) (Reasoning.Clinic.recommendationCheck (patient) (_yv)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_13 (patient) (_yv))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) + +def __fits_3 (patient : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && (__fits_7 (patient) (_ys))) && (match (Reasoning.Clinic.Triage.accept (patient) (_ys)) with | Option.some _yv => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_8 (_ys))) && (match (Reasoning.Clinic.Triage.extract (_ys)) with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) + +attribute [local irreducible] Reasoning.Clinic.Triage.accept Reasoning.Clinic.Triage.extract in +theorem __rel_3 (patient : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 3 [(__enc_0 patient), (__enc_3 _ys)] (_root_.LexLeanPreservation.Rel (__fits_3 patient _ys) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Clinic.Triage.conclude patient _ys))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.some _yv => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_8 (_ys))) && (match (Reasoning.Clinic.Triage.extract (_ys)) with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.some _yv => (Except.ok (_yv) : (Except (Prod Bool Bool) Nat)) | Option.none => (match (Reasoning.Clinic.Triage.extract (_ys)) with | Option.some _yv => (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)) | Option.none => (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat))))) (Reasoning.Clinic.Triage.accept (patient) (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_7 (patient) (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.some _yv => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.some _yv => (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)) | Option.none => (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)))) (Reasoning.Clinic.Triage.extract (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_8 (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.some _yv => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))))))) + +def __fits_1 (patient : (Reasoning.Clinic.Vitals)) : Bool := + (((Bool.true && Bool.true) && (__fits_2 (patient))) && (let _yfinal : (Prod (Reasoning.Clinic.Triage.Run) Bool) := (Reasoning.Clinic.Triage.run (patient)); (Bool.true && (match (_yfinal).2 with | Bool.true => (((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (patient) (((_yfinal).1).state))) && (match (Reasoning.Clinic.Triage.conclude (patient) (((_yfinal).1).state)) with | Except.ok _yv => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Except.error _ye => ((Bool.true && Bool.true) && Bool.true))) | Bool.false => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) + +attribute [local irreducible] Reasoning.Clinic.Triage.conclude Reasoning.Clinic.Triage.run in +theorem __rel_1 (patient : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 1 [(__enc_0 patient)] (_root_.LexLeanPreservation.Rel (__fits_1 patient) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList __enc_1))) (Reasoning.Clinic.Triage patient))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (let _yfinal : (Prod (Reasoning.Clinic.Triage.Run) Bool) := (Reasoning.Clinic.Triage.run (patient)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_2 (patient))) (_root_.LexLeanPreservation.conv_matchV _root_.LexLeanTarget.TargetSyntax.Value.bool (fun (__a : Bool) => (match __a with | Bool.true => (((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (patient) (((_yfinal).1).state))) && (match (Reasoning.Clinic.Triage.conclude (patient) (((_yfinal).1).state)) with | Except.ok _yv => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Except.error _ye => ((Bool.true && Bool.true) && Bool.true))) | Bool.false => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__a : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList __enc_1))) (match __a with | Bool.true => (match (Reasoning.Clinic.Triage.conclude (patient) (((_yfinal).1).state)) with | Except.ok _yv => (Except.ok ((_yv, ((_yfinal).1).trace)) : (Except (Prod Bool Bool) (Prod Nat (List (Reasoning.Clinic.Triage.Step))))) | Except.error _ye => (Except.error (_ye) : (Except (Prod Bool Bool) (Prod Nat (List (Reasoning.Clinic.Triage.Step)))))) | Bool.false => (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (Prod Nat (List (Reasoning.Clinic.Triage.Step))))))) (_yfinal).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : Bool) _ => match __a with | Bool.true => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Except (Prod Bool Bool) Nat)) => (match __a with | Except.ok _yv => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Except.error _ye => ((Bool.true && Bool.true) && Bool.true))) (fun (__a : (Except (Prod Bool Bool) Nat)) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList __enc_1))) (match __a with | Except.ok _yv => (Except.ok ((_yv, ((_yfinal).1).trace)) : (Except (Prod Bool Bool) (Prod Nat (List (Reasoning.Clinic.Triage.Step))))) | Except.error _ye => (Except.error (_ye) : (Except (Prod Bool Bool) (Prod Nat (List (Reasoning.Clinic.Triage.Step))))))) (Reasoning.Clinic.Triage.conclude (patient) (((_yfinal).1).state)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_3 (patient) (((_yfinal).1).state))) (fun (__a : (Except (Prod Bool Bool) Nat)) _ => match __a with | Except.ok _yv => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) | Except.error _ye => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))))) | Bool.false => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))))) + +def __fits_0 (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : Bool := + (((((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true) && (__fits_1 (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals))))) && (match (Reasoning.Clinic.Triage (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals)))) with | Except.ok explained => ((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length ((explained).2) : Nat) 18446744073709551616)) | Except.error failure => Bool.true)) + +attribute [local irreducible] Reasoning.Clinic.Triage in +theorem __rel_0 (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)] (_root_.LexLeanPreservation.Rel (__fits_0 temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.triageSteps temperature heartRate respiratoryRate whiteCells systolic infection))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList __enc_1))) (fun (__a : (Except (Prod Bool Bool) (Prod Nat (List (Reasoning.Clinic.Triage.Step))))) => (match __a with | Except.ok explained => ((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length ((explained).2) : Nat) 18446744073709551616)) | Except.error failure => Bool.true)) (fun (__a : (Except (Prod Bool Bool) (Prod Nat (List (Reasoning.Clinic.Triage.Step))))) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match __a with | Except.ok explained => (_root_.LexLeanRuntime.length ((explained).2) : Nat) | Except.error failure => (0 : Nat))) (Reasoning.Clinic.Triage (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals)))) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) (__rel_1 (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals))))) (fun (__a : (Except (Prod Bool Bool) (Prod Nat (List (Reasoning.Clinic.Triage.Step))))) _ => match __a with | Except.ok explained => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_1) (explained).2))) | Except.error failure => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value)))) + +def denote (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.triageSteps temperature heartRate respiratoryRate whiteCells systolic infection)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)] (_root_.LexLeanPreservation.Rel (__fits_0 temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.triageSteps temperature heartRate respiratoryRate whiteCells systolic infection))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 temperature heartRate respiratoryRate whiteCells systolic infection) + +end LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2 diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R2/Compose/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R2/Compose/RustStd.lean new file mode 100644 index 000000000..0261b1357 --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R2/Compose/RustStd.lean @@ -0,0 +1,38 @@ +import LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2 +import LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.Compose.RustStd + +theorem __wt_0 : ∀ (__s : (Reasoning.Clinic.Vitals)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd.program _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd.krate _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd.flags (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.__enc_0 __s) (.adt 0) := + fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).temperature) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).heartRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).respiratoryRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).whiteCells) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).systolic) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).infection) _root_.LexLeanPreservation.Rust.wtl_nil)))))) + +theorem __wt_1 : ∀ (__v : (Reasoning.Clinic.Triage.Step)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd.program _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd.krate _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd.flags (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.__enc_1 __v) (.adt 1) + | Reasoning.Clinic.Triage.Step.Fever => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Clinic.Triage.Step.Tachycardia => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Clinic.Triage.Step.Tachypnea => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Clinic.Triage.Step.Leukocytosis => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Clinic.Triage.Step.Sirs => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Clinic.Triage.Step.Sepsis => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Clinic.Triage.Step.Shock => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Clinic.Triage.Step.Escalate => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + +theorem __wt_3 : ∀ (__s : (Reasoning.Clinic.Chart)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd.program _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd.krate _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd.flags (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.__enc_3 __s) (.adt 3) := + fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 (__s).vitals) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).fever) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).tachycardia) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).tachypnea) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).leukocytosis) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).sirs) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).sepsis) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).shock) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).level) _root_.LexLeanPreservation.Rust.wtl_nil))))))))) + +theorem __wt_4 : ∀ (__s : (Reasoning.Clinic.Triage.Ledger)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd.program _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd.krate _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd.flags (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.__enc_4 __s) (.adt 4) := + fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).iterations) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).attempts) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).firings) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).expansions) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).verifications) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).frontier) _root_.LexLeanPreservation.Rust.wtl_nil)))))) + +theorem __wt_2 : ∀ (__s : (Reasoning.Clinic.Triage.Run)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd.program _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd.krate _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd.flags (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.__enc_2 __s) (.adt 2) := + fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_3 (__s).state) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList __wt_1) (__s).trace) (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_4 (__s).ledger) _root_.LexLeanPreservation.Rust.wtl_nil))) + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.denote temperature heartRate respiratoryRate whiteCells systolic infection) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat temperature) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat heartRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat respiratoryRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat whiteCells) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat systolic) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat infection) _root_.LexLeanPreservation.Rust.wtl_nil)))))) rfl rfl (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.root temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.Compose.RustStd diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R2/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R2/RustStd.lean new file mode 100644 index 000000000..645af640a --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R2/RustStd.lean @@ -0,0 +1,380 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [{ constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }, + { constructors := [[], [], [], [], [], [], [], []] }, + { constructors := [[(.adt 3), (.list (.adt 1)), (.adt 4)]] }, + { constructors := [[(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]] }, + { constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }], functions := (( + { parameters := [0, 1, 2, 3, 4, 5], types := [.nat, .nat, .nat, .nat, .nat, .nat], result := .nat, + body := (.«match» .nat (.call 1 [(.build (.adt 0) (.adt 0) [(.var 0), (.var 1), (.var 2), (.var 3), (.var 4), (.var 5)])]) [(.arm .ok [6] (.prim .length [(.second (.var 6))])), (.arm .error [7] (.value .nat (.nat 0)))]) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.result (.pair .nat (.list (.adt 1))) (.pair .bool .bool)), + body := (.«let» 1 (.pair (.adt 2) .bool) (.call 2 [(.var 0)]) (.«match» (.result (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) (.second (.var 1)) [(.arm .true [] (.«match» (.result (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) (.call 3 [(.var 0), (.field (.first (.var 1)) 0)]) [(.arm .ok [2] (.build .ok (.result (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.build .pair (.pair .nat (.list (.adt 1))) [(.var 2), (.field (.first (.var 1)) 1)])])), (.arm .error [3] (.build .error (.result (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.var 3)]))])), (.arm .false [] (.build .error (.result (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))])) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.pair (.adt 2) .bool), + body := (.call 4 [(.closure 5 []), (.value .nat (.nat 11)), (.call 6 [(.var 0)])]) }) ::( + { parameters := [0, 1], types := [(.adt 0), (.adt 3)], result := (.result .nat (.pair .bool .bool)), + body := (.«match» (.result .nat (.pair .bool .bool)) (.call 7 [(.var 0), (.var 1)]) [(.arm .some [2] (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)])), (.arm .none [] (.«match» (.result .nat (.pair .bool .bool)) (.call 8 [(.var 1)]) [(.arm .some [3] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])), (.arm .none [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])]))]))]) }) ::( + { parameters := [0, 1, 2], types := [(.fn [(.adt 2)] (.option (.adt 2))), .nat, (.adt 2)], result := (.pair (.adt 2) .bool), + body := (.«match» (.pair (.adt 2) .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair (.adt 2) .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair (.adt 2) .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair (.adt 2) .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 4 [(.var 0), (.var 3), (.var 4)]))]))]) }) ::( + { parameters := [0], types := [(.adt 2)], result := (.option (.adt 2)), + body := (.«match» (.option (.adt 2)) (.call 9 [(.field (.var 0) 0)]) [(.arm .none [] (.build .none (.option (.adt 2)) [])), (.arm .some [1] (.«match» (.option (.adt 2)) (.call 10 [(.field (.var 0) 0), (.var 1)]) [(.arm .none [] (.build .none (.option (.adt 2)) [])), (.arm .some [2] (.build .some (.option (.adt 2)) [(.build (.adt 0) (.adt 2) [(.var 2), (.prim .append [(.field (.var 0) 1), (.build .cons (.list (.adt 1)) [(.var 1), (.build .nil (.list (.adt 1)) [])])]), (.build (.adt 0) (.adt 4) [(.prim .natAdd [(.field (.field (.var 0) 2) 0), (.value .nat (.nat 1))]), (.prim .natAdd [(.field (.field (.var 0) 2) 1), (.call 11 [(.field (.var 0) 0)])]), (.prim .natAdd [(.field (.field (.var 0) 2) 2), (.value .nat (.nat 1))]), (.field (.field (.var 0) 2) 3), (.field (.field (.var 0) 2) 4), (.field (.field (.var 0) 2) 5)])])]))]))]) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.adt 2), + body := (.build (.adt 0) (.adt 2) [(.call 12 [(.var 0)]), (.build .nil (.list (.adt 1)) []), (.build (.adt 0) (.adt 4) [(.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0))])]) }) ::( + { parameters := [0, 1], types := [(.adt 0), (.adt 3)], result := (.option .nat), + body := (.«match» (.option .nat) (.call 8 [(.var 1)]) [(.arm .none [] (.build .none (.option .nat) [])), (.arm .some [2] (.cond (.call 13 [(.var 0), (.var 2)]) (.build .some (.option .nat) [(.var 2)]) (.build .none (.option .nat) [])))]) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.option .nat), + body := (.build .some (.option .nat) [(.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.option (.adt 1)), + body := (.«match» (.option (.adt 1)) (.«match» (.option (.adt 1)) (.«match» (.option (.adt 1)) (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 0) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])) [(.arm .some [1] (.build .some (.option (.adt 1)) [(.var 1)])), (.arm .none [] (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 1) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])))]) [(.arm .some [2] (.build .some (.option (.adt 1)) [(.var 2)])), (.arm .none [] (.«match» (.option (.adt 1)) (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 2) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])) [(.arm .some [3] (.build .some (.option (.adt 1)) [(.var 3)])), (.arm .none [] (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 3) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])))]))]) [(.arm .some [4] (.build .some (.option (.adt 1)) [(.var 4)])), (.arm .none [] (.«match» (.option (.adt 1)) (.«match» (.option (.adt 1)) (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 4) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])) [(.arm .some [5] (.build .some (.option (.adt 1)) [(.var 5)])), (.arm .none [] (.cond (.call 19 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 5) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])))]) [(.arm .some [6] (.build .some (.option (.adt 1)) [(.var 6)])), (.arm .none [] (.«match» (.option (.adt 1)) (.cond (.call 20 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 6) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])) [(.arm .some [7] (.build .some (.option (.adt 1)) [(.var 7)])), (.arm .none [] (.cond (.call 21 [(.var 0)]) (.build .some (.option (.adt 1)) [(.build (.adt 7) (.adt 1) [])]) (.build .none (.option (.adt 1)) [])))]))]))]) }) ::( + { parameters := [0, 1], types := [(.adt 3), (.adt 1)], result := (.option (.adt 3)), + body := (.«match» (.option (.adt 3)) (.var 1) [(.arm (.adt 0) [] (.call 22 [(.var 0)])), (.arm (.adt 1) [] (.call 23 [(.var 0)])), (.arm (.adt 2) [] (.call 24 [(.var 0)])), (.arm (.adt 3) [] (.call 25 [(.var 0)])), (.arm (.adt 4) [] (.call 26 [(.var 0)])), (.arm (.adt 5) [] (.call 27 [(.var 0)])), (.arm (.adt 6) [] (.call 28 [(.var 0)])), (.arm (.adt 7) [] (.call 29 [(.var 0)]))]) }) ::( + { parameters := [0], types := [(.adt 3)], result := .nat, + body := (.second (.«let» 7 (.pair .bool .nat) (.«let» 3 (.pair .bool .nat) (.«let» 1 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 14 [(.var 0)]), (.value .nat (.nat 1))]) (.cond (.first (.var 1)) (.var 1) (.«let» 2 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 15 [(.var 0)]), (.value .nat (.nat 1))]) (.build .pair (.pair .bool .nat) [(.first (.var 2)), (.prim .natAdd [(.second (.var 1)), (.second (.var 2))])])))) (.cond (.first (.var 3)) (.var 3) (.«let» 6 (.pair .bool .nat) (.«let» 4 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 16 [(.var 0)]), (.value .nat (.nat 1))]) (.cond (.first (.var 4)) (.var 4) (.«let» 5 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 17 [(.var 0)]), (.value .nat (.nat 1))]) (.build .pair (.pair .bool .nat) [(.first (.var 5)), (.prim .natAdd [(.second (.var 4)), (.second (.var 5))])])))) (.build .pair (.pair .bool .nat) [(.first (.var 6)), (.prim .natAdd [(.second (.var 3)), (.second (.var 6))])])))) (.cond (.first (.var 7)) (.var 7) (.«let» 14 (.pair .bool .nat) (.«let» 10 (.pair .bool .nat) (.«let» 8 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 18 [(.var 0)]), (.value .nat (.nat 1))]) (.cond (.first (.var 8)) (.var 8) (.«let» 9 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 19 [(.var 0)]), (.value .nat (.nat 1))]) (.build .pair (.pair .bool .nat) [(.first (.var 9)), (.prim .natAdd [(.second (.var 8)), (.second (.var 9))])])))) (.cond (.first (.var 10)) (.var 10) (.«let» 13 (.pair .bool .nat) (.«let» 11 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 20 [(.var 0)]), (.value .nat (.nat 1))]) (.cond (.first (.var 11)) (.var 11) (.«let» 12 (.pair .bool .nat) (.build .pair (.pair .bool .nat) [(.call 21 [(.var 0)]), (.value .nat (.nat 1))]) (.build .pair (.pair .bool .nat) [(.first (.var 12)), (.prim .natAdd [(.second (.var 11)), (.second (.var 12))])])))) (.build .pair (.pair .bool .nat) [(.first (.var 13)), (.prim .natAdd [(.second (.var 10)), (.second (.var 13))])])))) (.build .pair (.pair .bool .nat) [(.first (.var 14)), (.prim .natAdd [(.second (.var 7)), (.second (.var 14))])]))))) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.adt 3), + body := (.build (.adt 0) (.adt 3) [(.var 0), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0))]) }) ::( + { parameters := [0, 1], types := [(.adt 0), .nat], result := .bool, + body := (.cond (.prim .natLe [(.var 1), (.value .nat (.nat 3))]) (.cond (.prim .natEq [(.var 1), (.value .nat (.nat 3))]) (.build .true .bool []) (.prim .boolNot [(.cond (.call 30 [(.var 0)]) (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.cond (.call 31 [(.var 0)]) (.call 32 [(.var 0)]) (.build .false .bool [])) (.build .false .bool [])) (.build .false .bool []))])) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 1), (.value .nat (.nat 0))]) (.call 31 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 2), (.value .nat (.nat 0))]) (.call 32 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 3), (.value .nat (.nat 0))]) (.call 33 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 4), (.value .nat (.nat 0))]) (.call 34 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 0))]) (.prim .natLe [(.value .nat (.nat 2)), (.prim .natAdd [(.prim .natAdd [(.prim .natAdd [(.field (.var 0) 1), (.field (.var 0) 2)]), (.field (.var 0) 3)]), (.field (.var 0) 4)])]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.field (.var 0) 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.call 30 [(.field (.var 0) 0)]) (.build .false .bool [])) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := .bool, + body := (.cond (.prim .natLt [(.field (.var 0) 8), (.value .nat (.nat 3))]) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 0))]) (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 2))]) (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 1))]) (.build .false .bool [])))) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), + body := (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 35 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), + body := (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 36 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), + body := (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 37 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), + body := (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 38 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), + body := (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 39 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), + body := (.cond (.call 19 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 40 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), + body := (.cond (.call 20 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 41 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.option (.adt 3)), + body := (.cond (.call 21 [(.var 0)]) (.build .some (.option (.adt 3)) [(.call 42 [(.var 0)])]) (.build .none (.option (.adt 3)) [])) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.field (.var 0) 4), (.value .nat (.nat 90))]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 380)), (.field (.var 0) 0)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 90)), (.field (.var 0) 1)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 20)), (.field (.var 0) 2)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 12)), (.field (.var 0) 3)]) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.adt 3), + body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.value .nat (.nat 1)), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.adt 3), + body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.field (.var 0) 1), (.value .nat (.nat 1)), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.adt 3), + body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.value .nat (.nat 1)), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.adt 3), + body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.value .nat (.nat 1)), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.adt 3), + body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.value .nat (.nat 1)), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.adt 3), + body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.value .nat (.nat 1)), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.adt 3), + body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.value .nat (.nat 1)), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 3)], result := (.adt 3), + body := (.build (.adt 0) (.adt 3) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.prim .natAdd [(.field (.var 0) 8), (.value .nat (.nat 1))])]) }) ::[]) } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := ((.enum (.adt 0) [{ number := 0, fields := [.nat, .nat, .nat, .nat, .nat, .nat] }]) :: + (.enum (.adt 1) [{ number := 0, fields := [] }, { number := 1, fields := [] }, { number := 2, fields := [] }, { number := 3, fields := [] }, { number := 4, fields := [] }, { number := 5, fields := [] }, { number := 6, fields := [] }, { number := 7, fields := [] }]) :: + (.enum (.adt 2) [{ number := 0, fields := [(.adt 3), (.list (.adt 1)), (.adt 4)] }]) :: + (.enum (.adt 3) [{ number := 0, fields := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat] }]) :: + (.enum (.adt 4) [{ number := 0, fields := [.nat, .nat, .nat, .nat, .nat, .nat] }]) :: + (.enum (.fn 0) [{ number := 5, fields := [] }]) :: + (.apply 0 [(.adt 2)] (.option (.adt 2)) true [{ function := 5, captures := [], functionFallible := true }]) :: + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := .nat }, { pattern := (.bind (.generated .binding 3)), type := .nat }, { pattern := (.bind (.generated .binding 4)), type := .nat }, { pattern := (.bind (.generated .binding 5)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1)), (.copy (.generated .binding 2)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4)), (.copy (.generated .binding 5))])] true))] (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 6))) (.mk [(.mk (.bind (.generated .operand 3)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.move (.generated .binding 6)))] (.move (.generated .part 2)))))] (.succeed (.call (.runtime .lengthList) [(.move (.generated .operand 3))] false)))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 0)))))]))) :: + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.result (.pair .nat (.list (.adt 1))) (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 1)) (some (.pair (.adt 2) .bool)) (.call (.function 2) [(.clone (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 5)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 4))]) none (.clone (.generated .binding 1)))] (.move (.generated .part 4)))))] (.cond (.move (.generated .holder 5)) (.mk [(.mk (.bind (.generated .holder 9)) none (.call (.function 3) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .holder 8)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 7)), .wild]) none (.clone (.generated .binding 1)))] (.move (.generated .part 7)))))] (.matchOn (.move (.generated .holder 8)) [(.mk (.adt 2 0 [(.bind (.generated .part 6)), .wild, .wild]) (.mk [] (.move (.generated .part 6))))])))] false))] (.matchOn (.move (.generated .holder 9)) [(.mk (.ok (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.ok (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.pair (.copy (.generated .binding 2)) (.block (.mk [(.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 11)))))] (.matchOn (.move (.generated .holder 12)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 10)), .wild]) (.mk [] (.move (.generated .part 10))))]))))])))), (.mk (.err (.bind (.generated .binding 3))) (.mk [] (.succeed (.construct (.err (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.copy (.generated .binding 3))]))))])) (.mk [] (.succeed (.construct (.err (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))))) :: + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.pair (.adt 2) .bool)) (.mk [] (.call (.function 4) [(.construct (.closure 0 5) []), (.lit (.nat 11)), (.call (.function 6) [(.move (.generated .binding 0))] false)] false))) :: + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 3) }] (.result .nat (.pair .bool .bool)) (.mk [(.mk (.bind (.generated .holder 13)) none (.call (.function 7) [(.move (.generated .binding 0)), (.clone (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 14)) none (.call (.function 8) [(.move (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 14)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])))]))) :: + (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := (.adt 2) }] (.fallible (.pair (.adt 2) .bool)) (.mk [(.mk (.bind (.generated .holder 15)) none (.copy (.generated .binding 1)))] (.cond (.isZero (.generated .holder 15)) (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 15))), (.mk (.bind (.generated .holder 17)) none (.block (.mk [(.mk (.bind (.generated .callee 16)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 16) [(.clone (.generated .binding 2))] true))))] (.matchOn (.move (.generated .holder 17)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))]))))) :: + (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 2) }] (.fallible (.option (.adt 2))) (.mk [(.mk (.bind (.generated .holder 19)) none (.call (.function 9) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 18)), .wild, .wild]) (.mk [] (.move (.generated .part 18))))])] true))] (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 2)) [])))), (.mk (.some (.bind (.generated .binding 1))) (.mk [(.mk (.bind (.generated .holder 21)) none (.call (.function 10) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 20)), .wild, .wild]) (.mk [] (.move (.generated .part 20))))]), (.clone (.generated .binding 1))] true))] (.matchOn (.move (.generated .holder 21)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 2)) [])))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 0) [(.move (.generated .binding 2)), (.block (.mk [(.mk (.bind (.generated .operand 23)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 22)), .wild]) (.mk [] (.move (.generated .part 22))))])), (.mk (.bind (.generated .operand 24)) none (.construct .cons [(.move (.generated .binding 1)), (.construct (.nil (.adt 1)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false))), (.construct (.adt 4 0) [(.block (.mk [(.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.bind (.generated .holder 27)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 26))]) (.mk [] (.move (.generated .part 26))))]))] (.matchOn (.move (.generated .holder 27)) [(.mk (.adt 4 0 [(.bind (.generated .part 25)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 25))))])))), (.mk (.bind (.generated .operand 29)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 28)), (.move (.generated .operand 29))] true))), (.block (.mk [(.mk (.bind (.generated .operand 34)) none (.block (.mk [(.mk (.bind (.generated .holder 32)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 31))]) (.mk [] (.move (.generated .part 31))))]))] (.matchOn (.move (.generated .holder 32)) [(.mk (.adt 4 0 [.wild, (.bind (.generated .part 30)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))])))), (.mk (.bind (.generated .operand 35)) none (.call (.function 11) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 33)), .wild, .wild]) (.mk [] (.move (.generated .part 33))))])] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] true))), (.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .holder 38)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 37))]) (.mk [] (.move (.generated .part 37))))]))] (.matchOn (.move (.generated .holder 38)) [(.mk (.adt 4 0 [.wild, .wild, (.bind (.generated .part 36)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])))), (.mk (.bind (.generated .operand 40)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] true))), (.block (.mk [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))] (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 4 0 [.wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild]) (.mk [] (.move (.generated .part 41))))]))), (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 4 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 44)), .wild]) (.mk [] (.move (.generated .part 44))))]))), (.block (.mk [(.mk (.bind (.generated .holder 49)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))]))] (.matchOn (.move (.generated .holder 49)) [(.mk (.adt 4 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 47))]) (.mk [] (.move (.generated .part 47))))])))])])]))))])))]))) :: + (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.adt 2) (.mk [] (.construct (.adt 2 0) [(.call (.function 12) [(.move (.generated .binding 0))] false), (.construct (.nil (.adt 1)) []), (.construct (.adt 4 0) [(.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0))])]))) :: + (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 3) }] (.option .nat) (.mk [(.mk (.bind (.generated .holder 50)) none (.call (.function 8) [(.move (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 50)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.cond (.call (.function 13) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none .nat) [])))))]))) :: + (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.option .nat) (.mk [] (.construct .some [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 51))]) (.mk [] (.move (.generated .part 51))))])]))) :: + (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.fallible (.option (.adt 1))) (.mk [(.mk (.bind (.generated .holder 55)) none (.block (.mk [(.mk (.bind (.generated .holder 53)) none (.block (.mk [(.mk (.bind (.generated .holder 52)) none (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 0) [])])) (.mk [] (.construct (.none (.adt 1)) []))))] (.matchOn (.move (.generated .holder 52)) [(.mk .none (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 1) [])])) (.mk [] (.construct (.none (.adt 1)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))]))))] (.matchOn (.move (.generated .holder 53)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 54)) none (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 2) [])])) (.mk [] (.construct (.none (.adt 1)) []))))] (.matchOn (.move (.generated .holder 54)) [(.mk .none (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 3) [])])) (.mk [] (.construct (.none (.adt 1)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct .some [(.move (.generated .binding 2))])))]))))] (.matchOn (.move (.generated .holder 55)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 57)) none (.block (.mk [(.mk (.bind (.generated .holder 56)) none (.cond (.call (.function 18) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 1 4) [])])) (.mk [] (.construct (.none (.adt 1)) []))))] (.matchOn (.move (.generated .holder 56)) [(.mk .none (.mk [] (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 5) [])])) (.mk [] (.construct (.none (.adt 1)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))]))))] (.matchOn (.move (.generated .holder 57)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 58)) none (.cond (.call (.function 20) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 6) [])])) (.mk [] (.construct (.none (.adt 1)) []))))] (.matchOn (.move (.generated .holder 58)) [(.mk .none (.mk [] (.cond (.call (.function 21) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 1 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))]))), (.mk (.some (.bind (.generated .binding 6))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 6))]))))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 4))]))))]))) :: + (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 1) }] (.fallible (.option (.adt 3))) (.mk [(.mk (.bind (.generated .holder 59)) none (.move (.generated .binding 1)))] (.matchOn (.move (.generated .holder 59)) [(.mk (.adt 1 0 []) (.mk [] (.succeed (.call (.function 22) [(.move (.generated .binding 0))] false)))), (.mk (.adt 1 1 []) (.mk [] (.succeed (.call (.function 23) [(.move (.generated .binding 0))] false)))), (.mk (.adt 1 2 []) (.mk [] (.succeed (.call (.function 24) [(.move (.generated .binding 0))] false)))), (.mk (.adt 1 3 []) (.mk [] (.succeed (.call (.function 25) [(.move (.generated .binding 0))] false)))), (.mk (.adt 1 4 []) (.mk [] (.call (.function 26) [(.move (.generated .binding 0))] false))), (.mk (.adt 1 5 []) (.mk [] (.succeed (.call (.function 27) [(.move (.generated .binding 0))] false)))), (.mk (.adt 1 6 []) (.mk [] (.succeed (.call (.function 28) [(.move (.generated .binding 0))] false)))), (.mk (.adt 1 7 []) (.mk [] (.call (.function 29) [(.move (.generated .binding 0))] false)))]))) :: + (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.fallible .nat) (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 60))]) none (.block (.mk [(.mk (.bind (.generated .binding 7)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 3)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 1)) (some (.pair .bool .nat)) (.pair (.call (.function 14) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 61)), .wild]) none (.copy (.generated .binding 1)))] (.cond (.move (.generated .part 61)) (.mk [] (.copy (.generated .binding 1))) (.mk [(.mk (.bind (.generated .binding 2)) (some (.pair .bool .nat)) (.pair (.call (.function 15) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 62)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 62)))) (.block (.mk [(.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 63))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 63))))), (.mk (.bind (.generated .operand 66)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 64))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 64)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 65)), (.move (.generated .operand 66))] true))))))))), (.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.copy (.generated .binding 3)))] (.cond (.move (.generated .part 67)) (.mk [] (.copy (.generated .binding 3))) (.mk [(.mk (.bind (.generated .binding 6)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair .bool .nat)) (.pair (.call (.function 16) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 68)), .wild]) none (.copy (.generated .binding 4)))] (.cond (.move (.generated .part 68)) (.mk [] (.copy (.generated .binding 4))) (.mk [(.mk (.bind (.generated .binding 5)) (some (.pair .bool .nat)) (.pair (.call (.function 17) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 69)), .wild]) none (.copy (.generated .binding 5)))] (.move (.generated .part 69)))) (.block (.mk [(.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 70))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 70))))), (.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 71))]) none (.copy (.generated .binding 5)))] (.move (.generated .part 71)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] true)))))))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 74)), .wild]) none (.copy (.generated .binding 6)))] (.move (.generated .part 74)))) (.block (.mk [(.mk (.bind (.generated .operand 77)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 75))]) none (.copy (.generated .binding 3)))] (.move (.generated .part 75))))), (.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 76))]) none (.copy (.generated .binding 6)))] (.move (.generated .part 76)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 77)), (.move (.generated .operand 78))] true))))))))), (.mk (.tuple [(.bind (.generated .part 79)), .wild]) none (.copy (.generated .binding 7)))] (.cond (.move (.generated .part 79)) (.mk [] (.copy (.generated .binding 7))) (.mk [(.mk (.bind (.generated .binding 14)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 10)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 8)) (some (.pair .bool .nat)) (.pair (.call (.function 18) [(.clone (.generated .binding 0))] true) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.copy (.generated .binding 8)))] (.cond (.move (.generated .part 80)) (.mk [] (.copy (.generated .binding 8))) (.mk [(.mk (.bind (.generated .binding 9)) (some (.pair .bool .nat)) (.pair (.call (.function 19) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 81)), .wild]) none (.copy (.generated .binding 9)))] (.move (.generated .part 81)))) (.block (.mk [(.mk (.bind (.generated .operand 84)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 82))]) none (.copy (.generated .binding 8)))] (.move (.generated .part 82))))), (.mk (.bind (.generated .operand 85)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 83))]) none (.copy (.generated .binding 9)))] (.move (.generated .part 83)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 84)), (.move (.generated .operand 85))] true))))))))), (.mk (.tuple [(.bind (.generated .part 86)), .wild]) none (.copy (.generated .binding 10)))] (.cond (.move (.generated .part 86)) (.mk [] (.copy (.generated .binding 10))) (.mk [(.mk (.bind (.generated .binding 13)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 11)) (some (.pair .bool .nat)) (.pair (.call (.function 20) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 87)), .wild]) none (.copy (.generated .binding 11)))] (.cond (.move (.generated .part 87)) (.mk [] (.copy (.generated .binding 11))) (.mk [(.mk (.bind (.generated .binding 12)) (some (.pair .bool .nat)) (.pair (.call (.function 21) [(.move (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 88)), .wild]) none (.copy (.generated .binding 12)))] (.move (.generated .part 88)))) (.block (.mk [(.mk (.bind (.generated .operand 91)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 89))]) none (.copy (.generated .binding 11)))] (.move (.generated .part 89))))), (.mk (.bind (.generated .operand 92)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 90))]) none (.copy (.generated .binding 12)))] (.move (.generated .part 90)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] true)))))))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 93)), .wild]) none (.copy (.generated .binding 13)))] (.move (.generated .part 93)))) (.block (.mk [(.mk (.bind (.generated .operand 96)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 94))]) none (.copy (.generated .binding 10)))] (.move (.generated .part 94))))), (.mk (.bind (.generated .operand 97)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 95))]) none (.copy (.generated .binding 13)))] (.move (.generated .part 95)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 96)), (.move (.generated .operand 97))] true)))))))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 98)), .wild]) none (.copy (.generated .binding 14)))] (.move (.generated .part 98)))) (.block (.mk [(.mk (.bind (.generated .operand 101)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 99))]) none (.copy (.generated .binding 7)))] (.move (.generated .part 99))))), (.mk (.bind (.generated .operand 102)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 100))]) none (.copy (.generated .binding 14)))] (.move (.generated .part 100)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 101)), (.move (.generated .operand 102))] true)))))))))] (.succeed (.move (.generated .part 60))))) :: + (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.adt 3) (.mk [] (.construct (.adt 3 0) [(.move (.generated .binding 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0))]))) :: + (.function (.generated .function 13) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 103)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 104)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 103)), (.move (.generated .operand 104))] false) (.mk [(.mk (.bind (.generated .operand 105)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 106)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 105)), (.move (.generated .operand 106))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 110)) none (.cond (.call (.function 30) [(.clone (.generated .binding 0))] false) (.mk [(.mk (.bind (.generated .operand 108)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 107))]) (.mk [] (.move (.generated .part 107))))])), (.mk (.bind (.generated .operand 109)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 108)), (.move (.generated .operand 109))] false) (.mk [] (.cond (.call (.function 31) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 32) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))] (.call (.runtime .boolNot) [(.move (.generated .operand 110))] false)))) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 14) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] .bool (.mk [(.mk (.bind (.generated .operand 112)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 111)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 111))))])), (.mk (.bind (.generated .operand 113)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 112)), (.move (.generated .operand 113))] false) (.mk [] (.call (.function 31) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 114)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 114))))])] false)) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 15) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] .bool (.mk [(.mk (.bind (.generated .operand 116)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 115)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 115))))])), (.mk (.bind (.generated .operand 117)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 116)), (.move (.generated .operand 117))] false) (.mk [] (.call (.function 32) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 118)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 118))))])] false)) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 16) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] .bool (.mk [(.mk (.bind (.generated .operand 120)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 119)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 119))))])), (.mk (.bind (.generated .operand 121)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 120)), (.move (.generated .operand 121))] false) (.mk [] (.call (.function 33) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 122)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 122))))])] false)) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 17) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] .bool (.mk [(.mk (.bind (.generated .operand 124)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 123)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 123))))])), (.mk (.bind (.generated .operand 125)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 124)), (.move (.generated .operand 125))] false) (.mk [] (.call (.function 34) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 126)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 126))))])] false)) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 18) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.fallible .bool) (.mk [(.mk (.bind (.generated .operand 128)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 127)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 127))))])), (.mk (.bind (.generated .operand 129)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 128)), (.move (.generated .operand 129))] false) (.mk [(.mk (.bind (.generated .operand 140)) none (.lit (.nat 2))), (.mk (.bind (.generated .operand 141)) none (.block (.mk [(.mk (.bind (.generated .operand 138)) none (.block (.mk [(.mk (.bind (.generated .operand 135)) none (.block (.mk [(.mk (.bind (.generated .operand 132)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 130)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 130))))])), (.mk (.bind (.generated .operand 133)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 131)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 131))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 132)), (.move (.generated .operand 133))] true)))), (.mk (.bind (.generated .operand 136)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 134)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 134))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 135)), (.move (.generated .operand 136))] true)))), (.mk (.bind (.generated .operand 139)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 137)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 137))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 138)), (.move (.generated .operand 139))] true))))] (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 140)), (.move (.generated .operand 141))] false))) (.mk [] (.succeed (.lit (.bool false))))))) :: + (.function (.generated .function 19) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] .bool (.mk [(.mk (.bind (.generated .operand 143)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 142)), .wild, .wild]) (.mk [] (.move (.generated .part 142))))])), (.mk (.bind (.generated .operand 144)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 143)), (.move (.generated .operand 144))] false) (.mk [(.mk (.bind (.generated .operand 146)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 145)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 145))))])), (.mk (.bind (.generated .operand 147)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 146)), (.move (.generated .operand 147))] false) (.mk [(.mk (.bind (.generated .operand 151)) none (.block (.mk [(.mk (.bind (.generated .holder 150)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 149)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 149))))]))] (.matchOn (.move (.generated .holder 150)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 148))]) (.mk [] (.move (.generated .part 148))))])))), (.mk (.bind (.generated .operand 152)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 151)), (.move (.generated .operand 152))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 20) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] .bool (.mk [(.mk (.bind (.generated .operand 154)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 153)), .wild]) (.mk [] (.move (.generated .part 153))))])), (.mk (.bind (.generated .operand 155)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 154)), (.move (.generated .operand 155))] false) (.mk [(.mk (.bind (.generated .operand 157)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 156)), .wild, .wild]) (.mk [] (.move (.generated .part 156))))])), (.mk (.bind (.generated .operand 158)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 157)), (.move (.generated .operand 158))] false) (.mk [] (.call (.function 30) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 159)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 159))))])] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 21) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] .bool (.mk [(.mk (.bind (.generated .operand 161)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 160))]) (.mk [] (.move (.generated .part 160))))])), (.mk (.bind (.generated .operand 162)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 161)), (.move (.generated .operand 162))] false) (.mk [(.mk (.bind (.generated .operand 164)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 163))]) (.mk [] (.move (.generated .part 163))))])), (.mk (.bind (.generated .operand 165)) none (.lit (.nat 0)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 164)), (.move (.generated .operand 165))] false) (.mk [(.mk (.bind (.generated .operand 167)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 166)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 166))))])), (.mk (.bind (.generated .operand 168)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 167)), (.move (.generated .operand 168))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 170)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 169))]) (.mk [] (.move (.generated .part 169))))])), (.mk (.bind (.generated .operand 171)) none (.lit (.nat 1)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 170)), (.move (.generated .operand 171))] false) (.mk [(.mk (.bind (.generated .operand 173)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 172)), .wild, .wild]) (.mk [] (.move (.generated .part 172))))])), (.mk (.bind (.generated .operand 174)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 173)), (.move (.generated .operand 174))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 176)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 175))]) (.mk [] (.move (.generated .part 175))))])), (.mk (.bind (.generated .operand 177)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 176)), (.move (.generated .operand 177))] false) (.mk [(.mk (.bind (.generated .operand 179)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 178)), .wild]) (.mk [] (.move (.generated .part 178))))])), (.mk (.bind (.generated .operand 180)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 179)), (.move (.generated .operand 180))] false)) (.mk [] (.lit (.bool false))))))))) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 22) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.option (.adt 3)) (.mk [] (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 35) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 3)) []))))) :: + (.function (.generated .function 23) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.option (.adt 3)) (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 36) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 3)) []))))) :: + (.function (.generated .function 24) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.option (.adt 3)) (.mk [] (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 37) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 3)) []))))) :: + (.function (.generated .function 25) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.option (.adt 3)) (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 38) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 3)) []))))) :: + (.function (.generated .function 26) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.fallible (.option (.adt 3))) (.mk [] (.cond (.call (.function 18) [(.clone (.generated .binding 0))] true) (.mk [] (.succeed (.construct .some [(.call (.function 39) [(.move (.generated .binding 0))] false)]))) (.mk [] (.succeed (.construct (.none (.adt 3)) [])))))) :: + (.function (.generated .function 27) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.option (.adt 3)) (.mk [] (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 40) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 3)) []))))) :: + (.function (.generated .function 28) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.option (.adt 3)) (.mk [] (.cond (.call (.function 20) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 41) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 3)) []))))) :: + (.function (.generated .function 29) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.fallible (.option (.adt 3))) (.mk [] (.cond (.call (.function 21) [(.clone (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.call (.function 42) [(.move (.generated .binding 0))] true)]))) (.mk [] (.succeed (.construct (.none (.adt 3)) [])))))) :: + (.function (.generated .function 30) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 182)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 181)), .wild]) (.mk [] (.move (.generated .part 181))))])), (.mk (.bind (.generated .operand 183)) none (.lit (.nat 90)))] (.call (.runtime .natLt) [(.move (.generated .operand 182)), (.move (.generated .operand 183))] false))) :: + (.function (.generated .function 31) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 185)) none (.lit (.nat 380))), (.mk (.bind (.generated .operand 186)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 184)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 184))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 185)), (.move (.generated .operand 186))] false))) :: + (.function (.generated .function 32) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 188)) none (.lit (.nat 90))), (.mk (.bind (.generated .operand 189)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 187)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 187))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 188)), (.move (.generated .operand 189))] false))) :: + (.function (.generated .function 33) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 191)) none (.lit (.nat 20))), (.mk (.bind (.generated .operand 192)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 190)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 190))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 191)), (.move (.generated .operand 192))] false))) :: + (.function (.generated .function 34) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 194)) none (.lit (.nat 12))), (.mk (.bind (.generated .operand 195)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, (.bind (.generated .part 193)), .wild, .wild]) (.mk [] (.move (.generated .part 193))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 194)), (.move (.generated .operand 195))] false))) :: + (.function (.generated .function 35) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.adt 3) (.mk [] (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 196)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 196))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 197)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 197))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 198)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 198))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 199)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 199))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 200)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 200))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 201)), .wild, .wild]) (.mk [] (.move (.generated .part 201))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 202)), .wild]) (.mk [] (.move (.generated .part 202))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 203))]) (.mk [] (.move (.generated .part 203))))])]))) :: + (.function (.generated .function 36) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.adt 3) (.mk [] (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 204)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 204))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 205)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 205))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 206)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 206))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 207)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 207))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 208)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 208))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 209)), .wild, .wild]) (.mk [] (.move (.generated .part 209))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 210)), .wild]) (.mk [] (.move (.generated .part 210))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 211))]) (.mk [] (.move (.generated .part 211))))])]))) :: + (.function (.generated .function 37) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.adt 3) (.mk [] (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 212)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 212))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 213)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 213))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 214)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 214))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 215)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 215))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 216)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 216))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 217)), .wild, .wild]) (.mk [] (.move (.generated .part 217))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 218)), .wild]) (.mk [] (.move (.generated .part 218))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 219))]) (.mk [] (.move (.generated .part 219))))])]))) :: + (.function (.generated .function 38) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.adt 3) (.mk [] (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 220)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 220))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 221)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 221))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 222)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 222))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 223)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 223))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 224)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 224))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 225)), .wild, .wild]) (.mk [] (.move (.generated .part 225))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 226)), .wild]) (.mk [] (.move (.generated .part 226))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 227))]) (.mk [] (.move (.generated .part 227))))])]))) :: + (.function (.generated .function 39) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.adt 3) (.mk [] (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 228)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 228))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 229)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 229))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 230)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 230))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 231)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 231))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 232)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 232))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 233)), .wild, .wild]) (.mk [] (.move (.generated .part 233))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 234)), .wild]) (.mk [] (.move (.generated .part 234))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 235))]) (.mk [] (.move (.generated .part 235))))])]))) :: + (.function (.generated .function 40) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.adt 3) (.mk [] (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 236)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 236))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 237)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 237))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 238)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 238))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 239)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 239))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 240)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 240))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 241)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 241))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 242)), .wild]) (.mk [] (.move (.generated .part 242))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 243))]) (.mk [] (.move (.generated .part 243))))])]))) :: + (.function (.generated .function 41) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.adt 3) (.mk [] (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 244)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 244))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 245)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 245))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 246)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 246))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 247)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 247))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 248)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 248))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 249)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 249))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 250)), .wild, .wild]) (.mk [] (.move (.generated .part 250))))]), (.lit (.nat 1)), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 251))]) (.mk [] (.move (.generated .part 251))))])]))) :: + (.function (.generated .function 42) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 3) }] (.fallible (.adt 3)) (.mk [] (.succeed (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 252)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 252))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 253)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 253))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 254)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 254))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 255)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 255))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 256)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 256))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 257)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 257))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 258)), .wild, .wild]) (.mk [] (.move (.generated .part 258))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 259)), .wild]) (.mk [] (.move (.generated .part 259))))]), (.block (.mk [(.mk (.bind (.generated .operand 261)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 260))]) (.mk [] (.move (.generated .part 260))))])), (.mk (.bind (.generated .operand 262)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 261)), (.move (.generated .operand 262))] true)))])))) :: + []) } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [(([(.adt 2)], (.option (.adt 2))), true)] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1)), (.copy (.generated .binding 2)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4)), (.copy (.generated .binding 5))])] true))], (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 6))) (.mk [(.mk (.bind (.generated .operand 3)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.move (.generated .binding 6)))] (.move (.generated .part 2)))))] (.succeed (.call (.runtime .lengthList) [(.move (.generated .operand 3))] false)))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 0)))))]), [(5, .nat, (some 5)), (4, .nat, (some 4)), (3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.matchArms (st := (.result (.pair .nat (.list (.adt 1))) (.pair .bool .bool))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))))))) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(6, (.pair .nat (.list (.adt 1))), (some 6)), (5, .nat, (some 5)), (4, .nat, (some 4)), (3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := [(.mk (.bind (.generated .operand 3)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.move (.generated .binding 6)))] (.move (.generated .part 2)))))]) (tail := (.succeed (.call (.runtime .lengthList) [(.move (.generated .operand 3))] false))) (Corr.mCons (Γ' := [(7, (.pair .bool .bool), none), (5, .nat, (some 5)), (4, .nat, (some 4)), (3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 0)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl (Corr.fOfB (Corr.prim (ts := [(.list (.adt 1))]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.move (.generated .binding 6)))]) (tail := (.move (.generated .part 2))) (Corr.second (ta := .nat) (tb := (.list (.adt 1))) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.pair (.adt 2) .bool)) (.call (.function 2) [(.clone (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 5)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 4))]) none (.clone (.generated .binding 1)))] (.move (.generated .part 4)))))], (.cond (.move (.generated .holder 5)) (.mk [(.mk (.bind (.generated .holder 9)) none (.call (.function 3) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .holder 8)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 7)), .wild]) none (.clone (.generated .binding 1)))] (.move (.generated .part 7)))))] (.matchOn (.move (.generated .holder 8)) [(.mk (.adt 2 0 [(.bind (.generated .part 6)), .wild, .wild]) (.mk [] (.move (.generated .part 6))))])))] false))] (.matchOn (.move (.generated .holder 9)) [(.mk (.ok (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.ok (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.pair (.copy (.generated .binding 2)) (.block (.mk [(.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 11)))))] (.matchOn (.move (.generated .holder 12)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 10)), .wild]) (.mk [] (.move (.generated .part 10))))]))))])))), (.mk (.err (.bind (.generated .binding 3))) (.mk [] (.succeed (.construct (.err (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.copy (.generated .binding 3))]))))])) (.mk [] (.succeed (.construct (.err (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.matchBool (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 4))]) none (.clone (.generated .binding 1)))]) (tail := (.move (.generated .part 4))) (Corr.second (ta := (.adt 2)) (tb := .bool) (Corr.var rfl rfl) rfl)) rfl rfl (Corr.kIf (la := [(.mk (.bind (.generated .holder 9)) none (.call (.function 3) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .holder 8)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 7)), .wild]) none (.clone (.generated .binding 1)))] (.move (.generated .part 7)))))] (.matchOn (.move (.generated .holder 8)) [(.mk (.adt 2 0 [(.bind (.generated .part 6)), .wild, .wild]) (.mk [] (.move (.generated .part 6))))])))] false))]) (ta := (.matchOn (.move (.generated .holder 9)) [(.mk (.ok (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.ok (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.pair (.copy (.generated .binding 2)) (.block (.mk [(.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 11)))))] (.matchOn (.move (.generated .holder 12)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 10)), .wild]) (.mk [] (.move (.generated .part 10))))]))))])))), (.mk (.err (.bind (.generated .binding 3))) (.mk [] (.succeed (.construct (.err (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.copy (.generated .binding 3))]))))])) (lb := []) (tb := (.succeed (.construct (.err (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))) (Corr.matchArms (st := (.result .nat (.pair .bool .bool))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0), (.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 8)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 7)), .wild]) none (.clone (.generated .binding 1)))] (.move (.generated .part 7)))))]) (tail := (.matchOn (.move (.generated .holder 8)) [(.mk (.adt 2 0 [(.bind (.generated .part 6)), .wild, .wild]) (.mk [] (.move (.generated .part 6))))])) (Corr.fieldHeld (ts := [(.adt 3), (.list (.adt 1)), (.adt 4)]) (rd := (.move (.generated .part 6))) (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 7)), .wild]) none (.clone (.generated .binding 1)))]) (tail := (.move (.generated .part 7))) (Corr.first (ta := (.adt 2)) (tb := .bool) (Corr.var rfl rfl) rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.pair (.adt 2) .bool), (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.ok (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.pair (.copy (.generated .binding 2)) (.block (.mk [(.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 11)))))] (.matchOn (.move (.generated .holder 12)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 10)), .wild]) (.mk [] (.move (.generated .part 10))))]))))]))) (Corr.mCons (Γ' := [(3, (.pair .bool .bool), (some 3)), (1, (.pair (.adt 2) .bool), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.construct (.err (.pair .nat (.list (.adt 1))) (.pair .bool .bool)) [(.copy (.generated .binding 3))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.pair .nat (.list (.adt 1)))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 11)))))]) (tail := (.matchOn (.move (.generated .holder 12)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 10)), .wild]) (.mk [] (.move (.generated .part 10))))])) (Corr.fieldHeld (ts := [(.adt 3), (.list (.adt 1)), (.adt 4)]) (rd := (.move (.generated .part 10))) (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 11)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 11))) (Corr.first (ta := (.adt 2)) (tb := .bool) (Corr.var rfl rfl) rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil))) rfl))) rfl rfl rfl) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))))⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 4) [(.construct (.closure 0 5) []), (.lit (.nat 11)), (.call (.function 6) [(.move (.generated .binding 0))] false)] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.callF (ts := [(.fn [(.adt 2)] (.option (.adt 2))), .nat, (.adt 2)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 13)) none (.call (.function 7) [(.move (.generated .binding 0)), (.clone (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 14)) none (.call (.function 8) [(.move (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 14)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])))]), [(1, (.adt 3), (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0), (.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 3), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 14)) none (.call (.function 8) [(.move (.generated .binding 1))] false))]) (tail := (.matchOn (.move (.generated .holder 14)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))])) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.adt 3), (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 3), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])) (Corr.mCons (Γ' := [(3, .nat, none), (1, (.adt 3), (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) rfl rfl rfl)) rfl rfl rfl)⟩⟩ + +theorem fun4 : FunOK program krate flags 4 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 15)) none (.copy (.generated .binding 1)))], (.cond (.isZero (.generated .holder 15)) (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 15))), (.mk (.bind (.generated .holder 17)) none (.block (.mk [(.mk (.bind (.generated .callee 16)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 16) [(.clone (.generated .binding 2))] true))))] (.matchOn (.move (.generated .holder 17)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))]))), [(2, (.adt 2), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 2)] (.option (.adt 2))), (some 0))], rfl, rfl, + (Corr.matchNat (sl := (some 3)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (lb := [(.mk (.bind (.generated .holder 17)) none (.block (.mk [(.mk (.bind (.generated .callee 16)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 16) [(.clone (.generated .binding 2))] true))))]) (tb := (.matchOn (.move (.generated .holder 17)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))])) (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))))) (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 16)) (some (.fn 0)) (.clone (.generated .binding 0)))]) (tail := (.apply (.generated .callee 16) [(.clone (.generated .binding 2))] true)) (Corr.apply (ps := [(.adt 2)]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, .nat, (some 3)), (2, (.adt 2), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 2)] (.option (.adt 2))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true))))) (Corr.mCons (Γ' := [(4, (.adt 2), (some 4)), (3, .nat, (some 3)), (2, (.adt 2), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 2)] (.option (.adt 2))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.adt 2)] (.option (.adt 2))), .nat, (.adt 2)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))))))) rfl rfl rfl)))⟩⟩ + +theorem fun5 : FunOK program krate flags 5 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 19)) none (.call (.function 9) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 18)), .wild, .wild]) (.mk [] (.move (.generated .part 18))))])] true))], (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 2)) [])))), (.mk (.some (.bind (.generated .binding 1))) (.mk [(.mk (.bind (.generated .holder 21)) none (.call (.function 10) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 20)), .wild, .wild]) (.mk [] (.move (.generated .part 20))))]), (.clone (.generated .binding 1))] true))] (.matchOn (.move (.generated .holder 21)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 2)) [])))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 0) [(.move (.generated .binding 2)), (.block (.mk [(.mk (.bind (.generated .operand 23)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 22)), .wild]) (.mk [] (.move (.generated .part 22))))])), (.mk (.bind (.generated .operand 24)) none (.construct .cons [(.move (.generated .binding 1)), (.construct (.nil (.adt 1)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false))), (.construct (.adt 4 0) [(.block (.mk [(.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.bind (.generated .holder 27)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 26))]) (.mk [] (.move (.generated .part 26))))]))] (.matchOn (.move (.generated .holder 27)) [(.mk (.adt 4 0 [(.bind (.generated .part 25)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 25))))])))), (.mk (.bind (.generated .operand 29)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 28)), (.move (.generated .operand 29))] true))), (.block (.mk [(.mk (.bind (.generated .operand 34)) none (.block (.mk [(.mk (.bind (.generated .holder 32)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 31))]) (.mk [] (.move (.generated .part 31))))]))] (.matchOn (.move (.generated .holder 32)) [(.mk (.adt 4 0 [.wild, (.bind (.generated .part 30)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))])))), (.mk (.bind (.generated .operand 35)) none (.call (.function 11) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 33)), .wild, .wild]) (.mk [] (.move (.generated .part 33))))])] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] true))), (.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .holder 38)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 37))]) (.mk [] (.move (.generated .part 37))))]))] (.matchOn (.move (.generated .holder 38)) [(.mk (.adt 4 0 [.wild, .wild, (.bind (.generated .part 36)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])))), (.mk (.bind (.generated .operand 40)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] true))), (.block (.mk [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))] (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 4 0 [.wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild]) (.mk [] (.move (.generated .part 41))))]))), (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 4 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 44)), .wild]) (.mk [] (.move (.generated .part 44))))]))), (.block (.mk [(.mk (.bind (.generated .holder 49)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))]))] (.matchOn (.move (.generated .holder 49)) [(.mk (.adt 4 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 47))]) (.mk [] (.move (.generated .part 47))))])))])])]))))])))]), [(0, (.adt 2), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option (.adt 1))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 3), (.list (.adt 1)), (.adt 4)]) (rd := (.move (.generated .part 18))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 2), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.none (.adt 2)) []))) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 2), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 21)) none (.call (.function 10) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 20)), .wild, .wild]) (.mk [] (.move (.generated .part 20))))]), (.clone (.generated .binding 1))] true))]) (tail := (.matchOn (.move (.generated .holder 21)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 2)) [])))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 0) [(.move (.generated .binding 2)), (.block (.mk [(.mk (.bind (.generated .operand 23)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 22)), .wild]) (.mk [] (.move (.generated .part 22))))])), (.mk (.bind (.generated .operand 24)) none (.construct .cons [(.move (.generated .binding 1)), (.construct (.nil (.adt 1)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false))), (.construct (.adt 4 0) [(.block (.mk [(.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.bind (.generated .holder 27)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 26))]) (.mk [] (.move (.generated .part 26))))]))] (.matchOn (.move (.generated .holder 27)) [(.mk (.adt 4 0 [(.bind (.generated .part 25)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 25))))])))), (.mk (.bind (.generated .operand 29)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 28)), (.move (.generated .operand 29))] true))), (.block (.mk [(.mk (.bind (.generated .operand 34)) none (.block (.mk [(.mk (.bind (.generated .holder 32)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 31))]) (.mk [] (.move (.generated .part 31))))]))] (.matchOn (.move (.generated .holder 32)) [(.mk (.adt 4 0 [.wild, (.bind (.generated .part 30)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))])))), (.mk (.bind (.generated .operand 35)) none (.call (.function 11) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 33)), .wild, .wild]) (.mk [] (.move (.generated .part 33))))])] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] true))), (.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .holder 38)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 37))]) (.mk [] (.move (.generated .part 37))))]))] (.matchOn (.move (.generated .holder 38)) [(.mk (.adt 4 0 [.wild, .wild, (.bind (.generated .part 36)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])))), (.mk (.bind (.generated .operand 40)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] true))), (.block (.mk [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))] (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 4 0 [.wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild]) (.mk [] (.move (.generated .part 41))))]))), (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 4 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 44)), .wild]) (.mk [] (.move (.generated .part 44))))]))), (.block (.mk [(.mk (.bind (.generated .holder 49)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))]))] (.matchOn (.move (.generated .holder 49)) [(.mk (.adt 4 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 47))]) (.mk [] (.move (.generated .part 47))))])))])])]))))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := (.option (.adt 3))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3), (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 3), (.list (.adt 1)), (.adt 4)]) (rd := (.move (.generated .part 20))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 2), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.none (.adt 2)) []))) (Corr.mCons (Γ' := [(2, (.adt 3), (some 2)), (1, (.adt 1), (some 1)), (0, (.adt 2), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.construct (.adt 2 0) [(.move (.generated .binding 2)), (.block (.mk [(.mk (.bind (.generated .operand 23)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 22)), .wild]) (.mk [] (.move (.generated .part 22))))])), (.mk (.bind (.generated .operand 24)) none (.construct .cons [(.move (.generated .binding 1)), (.construct (.nil (.adt 1)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false))), (.construct (.adt 4 0) [(.block (.mk [(.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.bind (.generated .holder 27)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 26))]) (.mk [] (.move (.generated .part 26))))]))] (.matchOn (.move (.generated .holder 27)) [(.mk (.adt 4 0 [(.bind (.generated .part 25)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 25))))])))), (.mk (.bind (.generated .operand 29)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 28)), (.move (.generated .operand 29))] true))), (.block (.mk [(.mk (.bind (.generated .operand 34)) none (.block (.mk [(.mk (.bind (.generated .holder 32)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 31))]) (.mk [] (.move (.generated .part 31))))]))] (.matchOn (.move (.generated .holder 32)) [(.mk (.adt 4 0 [.wild, (.bind (.generated .part 30)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))])))), (.mk (.bind (.generated .operand 35)) none (.call (.function 11) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 33)), .wild, .wild]) (.mk [] (.move (.generated .part 33))))])] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] true))), (.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .holder 38)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 37))]) (.mk [] (.move (.generated .part 37))))]))] (.matchOn (.move (.generated .holder 38)) [(.mk (.adt 4 0 [.wild, .wild, (.bind (.generated .part 36)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])))), (.mk (.bind (.generated .operand 40)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] true))), (.block (.mk [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))] (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 4 0 [.wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild]) (.mk [] (.move (.generated .part 41))))]))), (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 4 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 44)), .wild]) (.mk [] (.move (.generated .part 44))))]))), (.block (.mk [(.mk (.bind (.generated .holder 49)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))]))] (.matchOn (.move (.generated .holder 49)) [(.mk (.adt 4 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 47))]) (.mk [] (.move (.generated .part 47))))])))])])]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.adt 3), (.list (.adt 1)), (.adt 4)]) (mask := [false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 23)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 22)), .wild]) (.mk [] (.move (.generated .part 22))))])), (.mk (.bind (.generated .operand 24)) none (.construct .cons [(.move (.generated .binding 1)), (.construct (.nil (.adt 1)) [])]))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] false)) (Corr.prim (ts := [(.list (.adt 1)), (.list (.adt 1))]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 3), (.list (.adt 1)), (.adt 4)]) (rd := (.move (.generated .part 22))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [(.adt 1), (.list (.adt 1))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 28)) none (.block (.mk [(.mk (.bind (.generated .holder 27)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 26))]) (.mk [] (.move (.generated .part 26))))]))] (.matchOn (.move (.generated .holder 27)) [(.mk (.adt 4 0 [(.bind (.generated .part 25)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 25))))])))), (.mk (.bind (.generated .operand 29)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 28)), (.move (.generated .operand 29))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 27)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 26))]) (.mk [] (.move (.generated .part 26))))]))]) (tail := (.matchOn (.move (.generated .holder 27)) [(.mk (.adt 4 0 [(.bind (.generated .part 25)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 25))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 25))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 3), (.list (.adt 1)), (.adt 4)]) (rd := (.move (.generated .part 26))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 34)) none (.block (.mk [(.mk (.bind (.generated .holder 32)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 31))]) (.mk [] (.move (.generated .part 31))))]))] (.matchOn (.move (.generated .holder 32)) [(.mk (.adt 4 0 [.wild, (.bind (.generated .part 30)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))])))), (.mk (.bind (.generated .operand 35)) none (.call (.function 11) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 33)), .wild, .wild]) (.mk [] (.move (.generated .part 33))))])] true))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 34)), (.move (.generated .operand 35))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 32)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 31))]) (.mk [] (.move (.generated .part 31))))]))]) (tail := (.matchOn (.move (.generated .holder 32)) [(.mk (.adt 4 0 [.wild, (.bind (.generated .part 30)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 30))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 3), (.list (.adt 1)), (.adt 4)]) (rd := (.move (.generated .part 31))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 3), (.list (.adt 1)), (.adt 4)]) (rd := (.move (.generated .part 33))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .holder 38)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 37))]) (.mk [] (.move (.generated .part 37))))]))] (.matchOn (.move (.generated .holder 38)) [(.mk (.adt 4 0 [.wild, .wild, (.bind (.generated .part 36)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])))), (.mk (.bind (.generated .operand 40)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 38)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 37))]) (.mk [] (.move (.generated .part 37))))]))]) (tail := (.matchOn (.move (.generated .holder 38)) [(.mk (.adt 4 0 [.wild, .wild, (.bind (.generated .part 36)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 36))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 3), (.list (.adt 1)), (.adt 4)]) (rd := (.move (.generated .part 37))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))]) (tail := (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 4 0 [.wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild]) (.mk [] (.move (.generated .part 41))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 41))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 3), (.list (.adt 1)), (.adt 4)]) (rd := (.move (.generated .part 42))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))]) (tail := (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 4 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 44)), .wild]) (.mk [] (.move (.generated .part 44))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 44))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 3), (.list (.adt 1)), (.adt 4)]) (rd := (.move (.generated .part 45))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 49)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))]))]) (tail := (.matchOn (.move (.generated .holder 49)) [(.mk (.adt 4 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 47))]) (.mk [] (.move (.generated .part 47))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 47))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 3), (.list (.adt 1)), (.adt 4)]) (rd := (.move (.generated .part 48))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))) rfl)) (Corr.lNil))))) rfl)) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) rfl rfl rfl)⟩⟩ + +theorem fun6 : FunOK program krate flags 6 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 2 0) [(.call (.function 12) [(.move (.generated .binding 0))] false), (.construct (.nil (.adt 1)) []), (.construct (.adt 4 0) [(.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0))])]), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 3), (.list (.adt 1)), (.adt 4)]) (mask := [false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))))))) rfl)) (Corr.lNil))))) rfl)⟩⟩ + +theorem fun7 : FunOK program krate flags 7 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 50)) none (.call (.function 8) [(.move (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 50)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.cond (.call (.function 13) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none .nat) [])))))]), [(1, (.adt 3), (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 3), (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.adt 3), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 13) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none .nat) [])))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 13) [(.move (.generated .binding 0)), (.copy (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.copy (.generated .binding 2))])) (lb := []) (tb := (.construct (.none .nat) [])) (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun8 : FunOK program krate flags 8 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct .some [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 51))]) (.mk [] (.move (.generated .part 51))))])]), [(0, (.adt 3), (some 0))], rfl, rfl, + (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 51))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)⟩⟩ + +theorem fun9 : FunOK program krate flags 9 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 55)) none (.block (.mk [(.mk (.bind (.generated .holder 53)) none (.block (.mk [(.mk (.bind (.generated .holder 52)) none (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 0) [])])) (.mk [] (.construct (.none (.adt 1)) []))))] (.matchOn (.move (.generated .holder 52)) [(.mk .none (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 1) [])])) (.mk [] (.construct (.none (.adt 1)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))]))))] (.matchOn (.move (.generated .holder 53)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 54)) none (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 2) [])])) (.mk [] (.construct (.none (.adt 1)) []))))] (.matchOn (.move (.generated .holder 54)) [(.mk .none (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 3) [])])) (.mk [] (.construct (.none (.adt 1)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct .some [(.move (.generated .binding 2))])))]))))], (.matchOn (.move (.generated .holder 55)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 57)) none (.block (.mk [(.mk (.bind (.generated .holder 56)) none (.cond (.call (.function 18) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 1 4) [])])) (.mk [] (.construct (.none (.adt 1)) []))))] (.matchOn (.move (.generated .holder 56)) [(.mk .none (.mk [] (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 5) [])])) (.mk [] (.construct (.none (.adt 1)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))]))))] (.matchOn (.move (.generated .holder 57)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 58)) none (.cond (.call (.function 20) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 6) [])])) (.mk [] (.construct (.none (.adt 1)) []))))] (.matchOn (.move (.generated .holder 58)) [(.mk .none (.mk [] (.cond (.call (.function 21) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 1 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))]))), (.mk (.some (.bind (.generated .binding 6))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 6))]))))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 4))]))))]), [(0, (.adt 3), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option (.adt 1))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 53)) none (.block (.mk [(.mk (.bind (.generated .holder 52)) none (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 0) [])])) (.mk [] (.construct (.none (.adt 1)) []))))] (.matchOn (.move (.generated .holder 52)) [(.mk .none (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 1) [])])) (.mk [] (.construct (.none (.adt 1)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))]))))]) (tail := (.matchOn (.move (.generated .holder 53)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 54)) none (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 2) [])])) (.mk [] (.construct (.none (.adt 1)) []))))] (.matchOn (.move (.generated .holder 54)) [(.mk .none (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 3) [])])) (.mk [] (.construct (.none (.adt 1)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct .some [(.move (.generated .binding 2))])))])) (Corr.matchArms (st := (.option (.adt 1))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 52)) none (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 0) [])])) (.mk [] (.construct (.none (.adt 1)) []))))]) (tail := (.matchOn (.move (.generated .holder 52)) [(.mk .none (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 1) [])])) (.mk [] (.construct (.none (.adt 1)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))])) (Corr.matchArms (st := (.option (.adt 1))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 14) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 1 0) [])])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 3), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 1) [])])) (.mk [] (.construct (.none (.adt 1)) [])))) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 3), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 1))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 15) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 1 1) [])])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 3), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 54)) none (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 2) [])])) (.mk [] (.construct (.none (.adt 1)) []))))]) (tail := (.matchOn (.move (.generated .holder 54)) [(.mk .none (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 3) [])])) (.mk [] (.construct (.none (.adt 1)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))])) (Corr.mCons (Γ' := [(2, (.adt 1), (some 2)), (0, (.adt 3), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 2))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.matchArms (st := (.option (.adt 1))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 16) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 1 2) [])])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 3), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 3) [])])) (.mk [] (.construct (.none (.adt 1)) [])))) (Corr.mCons (Γ' := [(3, (.adt 1), (some 3)), (0, (.adt 3), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 3))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 17) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 1 3) [])])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl)) rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 3), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 57)) none (.block (.mk [(.mk (.bind (.generated .holder 56)) none (.cond (.call (.function 18) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 1 4) [])])) (.mk [] (.construct (.none (.adt 1)) []))))] (.matchOn (.move (.generated .holder 56)) [(.mk .none (.mk [] (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 5) [])])) (.mk [] (.construct (.none (.adt 1)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))]))))]) (tail := (.matchOn (.move (.generated .holder 57)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 58)) none (.cond (.call (.function 20) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 6) [])])) (.mk [] (.construct (.none (.adt 1)) []))))] (.matchOn (.move (.generated .holder 58)) [(.mk .none (.mk [] (.cond (.call (.function 21) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 1 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))]))), (.mk (.some (.bind (.generated .binding 6))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 6))]))))])) (Corr.mCons (Γ' := [(4, (.adt 1), (some 4)), (0, (.adt 3), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.move (.generated .binding 4))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.matchArms (st := (.option (.adt 1))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 56)) none (.cond (.call (.function 18) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 1 4) [])])) (.mk [] (.construct (.none (.adt 1)) []))))]) (tail := (.matchOn (.move (.generated .holder 56)) [(.mk .none (.mk [] (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 5) [])])) (.mk [] (.construct (.none (.adt 1)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))])) (Corr.matchArms (st := (.option (.adt 1))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 18) [(.clone (.generated .binding 0))] true)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 1 4) [])])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 3), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 5) [])])) (.mk [] (.construct (.none (.adt 1)) [])))) (Corr.mCons (Γ' := [(5, (.adt 1), (some 5)), (0, (.adt 3), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 5))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 19) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 1 5) [])])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 3), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 58)) none (.cond (.call (.function 20) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 1 6) [])])) (.mk [] (.construct (.none (.adt 1)) []))))]) (tail := (.matchOn (.move (.generated .holder 58)) [(.mk .none (.mk [] (.cond (.call (.function 21) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 1 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))])) (Corr.mCons (Γ' := [(6, (.adt 1), (some 6)), (0, (.adt 3), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.move (.generated .binding 6))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.matchArms (st := (.option (.adt 1))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 20) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 1 6) [])])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 3), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 21) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 1 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 1)) []))))) (Corr.mCons (Γ' := [(7, (.adt 1), (some 7)), (0, (.adt 3), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.move (.generated .binding 7))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 21) [(.move (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.construct (.adt 1 7) [])]))) (lb := []) (tb := (.succeed (.construct (.none (.adt 1)) []))) (Corr.fOfB (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))) rfl rfl rfl)) rfl rfl rfl)) rfl rfl rfl)⟩⟩ + +theorem fun10 : FunOK program krate flags 10 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 59)) none (.move (.generated .binding 1)))], (.matchOn (.move (.generated .holder 59)) [(.mk (.adt 1 0 []) (.mk [] (.succeed (.call (.function 22) [(.move (.generated .binding 0))] false)))), (.mk (.adt 1 1 []) (.mk [] (.succeed (.call (.function 23) [(.move (.generated .binding 0))] false)))), (.mk (.adt 1 2 []) (.mk [] (.succeed (.call (.function 24) [(.move (.generated .binding 0))] false)))), (.mk (.adt 1 3 []) (.mk [] (.succeed (.call (.function 25) [(.move (.generated .binding 0))] false)))), (.mk (.adt 1 4 []) (.mk [] (.call (.function 26) [(.move (.generated .binding 0))] false))), (.mk (.adt 1 5 []) (.mk [] (.succeed (.call (.function 27) [(.move (.generated .binding 0))] false)))), (.mk (.adt 1 6 []) (.mk [] (.succeed (.call (.function 28) [(.move (.generated .binding 0))] false)))), (.mk (.adt 1 7 []) (.mk [] (.call (.function 29) [(.move (.generated .binding 0))] false)))]), [(1, (.adt 1), (some 1)), (0, (.adt 3), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.adt 1)) (U := []) (view := false) (idx := [0, 1, 2, 3, 4, 5, 6, 7]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 3), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.call (.function 22) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 3), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.call (.function 23) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 3), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.succeed (.call (.function 24) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 3), (some 0))]) (j := 3) (loads := []) (lets := []) (tail := (.succeed (.call (.function 25) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 3), (some 0))]) (j := 4) (loads := []) (lets := []) (tail := (.call (.function 26) [(.move (.generated .binding 0))] false)) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 3), (some 0))]) (j := 5) (loads := []) (lets := []) (tail := (.succeed (.call (.function 27) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 3), (some 0))]) (j := 6) (loads := []) (lets := []) (tail := (.succeed (.call (.function 28) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 3), (some 0))]) (j := 7) (loads := []) (lets := []) (tail := (.call (.function 29) [(.move (.generated .binding 0))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.callF (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun11 : FunOK program krate flags 11 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.tuple [.wild, (.bind (.generated .part 60))]) none (.block (.mk [(.mk (.bind (.generated .binding 7)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 3)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 1)) (some (.pair .bool .nat)) (.pair (.call (.function 14) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 61)), .wild]) none (.copy (.generated .binding 1)))] (.cond (.move (.generated .part 61)) (.mk [] (.copy (.generated .binding 1))) (.mk [(.mk (.bind (.generated .binding 2)) (some (.pair .bool .nat)) (.pair (.call (.function 15) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 62)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 62)))) (.block (.mk [(.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 63))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 63))))), (.mk (.bind (.generated .operand 66)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 64))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 64)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 65)), (.move (.generated .operand 66))] true))))))))), (.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.copy (.generated .binding 3)))] (.cond (.move (.generated .part 67)) (.mk [] (.copy (.generated .binding 3))) (.mk [(.mk (.bind (.generated .binding 6)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair .bool .nat)) (.pair (.call (.function 16) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 68)), .wild]) none (.copy (.generated .binding 4)))] (.cond (.move (.generated .part 68)) (.mk [] (.copy (.generated .binding 4))) (.mk [(.mk (.bind (.generated .binding 5)) (some (.pair .bool .nat)) (.pair (.call (.function 17) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 69)), .wild]) none (.copy (.generated .binding 5)))] (.move (.generated .part 69)))) (.block (.mk [(.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 70))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 70))))), (.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 71))]) none (.copy (.generated .binding 5)))] (.move (.generated .part 71)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] true)))))))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 74)), .wild]) none (.copy (.generated .binding 6)))] (.move (.generated .part 74)))) (.block (.mk [(.mk (.bind (.generated .operand 77)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 75))]) none (.copy (.generated .binding 3)))] (.move (.generated .part 75))))), (.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 76))]) none (.copy (.generated .binding 6)))] (.move (.generated .part 76)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 77)), (.move (.generated .operand 78))] true))))))))), (.mk (.tuple [(.bind (.generated .part 79)), .wild]) none (.copy (.generated .binding 7)))] (.cond (.move (.generated .part 79)) (.mk [] (.copy (.generated .binding 7))) (.mk [(.mk (.bind (.generated .binding 14)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 10)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 8)) (some (.pair .bool .nat)) (.pair (.call (.function 18) [(.clone (.generated .binding 0))] true) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.copy (.generated .binding 8)))] (.cond (.move (.generated .part 80)) (.mk [] (.copy (.generated .binding 8))) (.mk [(.mk (.bind (.generated .binding 9)) (some (.pair .bool .nat)) (.pair (.call (.function 19) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 81)), .wild]) none (.copy (.generated .binding 9)))] (.move (.generated .part 81)))) (.block (.mk [(.mk (.bind (.generated .operand 84)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 82))]) none (.copy (.generated .binding 8)))] (.move (.generated .part 82))))), (.mk (.bind (.generated .operand 85)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 83))]) none (.copy (.generated .binding 9)))] (.move (.generated .part 83)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 84)), (.move (.generated .operand 85))] true))))))))), (.mk (.tuple [(.bind (.generated .part 86)), .wild]) none (.copy (.generated .binding 10)))] (.cond (.move (.generated .part 86)) (.mk [] (.copy (.generated .binding 10))) (.mk [(.mk (.bind (.generated .binding 13)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 11)) (some (.pair .bool .nat)) (.pair (.call (.function 20) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 87)), .wild]) none (.copy (.generated .binding 11)))] (.cond (.move (.generated .part 87)) (.mk [] (.copy (.generated .binding 11))) (.mk [(.mk (.bind (.generated .binding 12)) (some (.pair .bool .nat)) (.pair (.call (.function 21) [(.move (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 88)), .wild]) none (.copy (.generated .binding 12)))] (.move (.generated .part 88)))) (.block (.mk [(.mk (.bind (.generated .operand 91)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 89))]) none (.copy (.generated .binding 11)))] (.move (.generated .part 89))))), (.mk (.bind (.generated .operand 92)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 90))]) none (.copy (.generated .binding 12)))] (.move (.generated .part 90)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] true)))))))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 93)), .wild]) none (.copy (.generated .binding 13)))] (.move (.generated .part 93)))) (.block (.mk [(.mk (.bind (.generated .operand 96)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 94))]) none (.copy (.generated .binding 10)))] (.move (.generated .part 94))))), (.mk (.bind (.generated .operand 97)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 95))]) none (.copy (.generated .binding 13)))] (.move (.generated .part 95)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 96)), (.move (.generated .operand 97))] true)))))))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 98)), .wild]) none (.copy (.generated .binding 14)))] (.move (.generated .part 98)))) (.block (.mk [(.mk (.bind (.generated .operand 101)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 99))]) none (.copy (.generated .binding 7)))] (.move (.generated .part 99))))), (.mk (.bind (.generated .operand 102)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 100))]) none (.copy (.generated .binding 14)))] (.move (.generated .part 100)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 101)), (.move (.generated .operand 102))] true)))))))))], (.succeed (.move (.generated .part 60))), [(0, (.adt 3), (some 0))], rfl, rfl, + (Corr.fOfB (Corr.second (ta := .bool) (tb := .nat) (Corr.eOfB (lets := [(.mk (.bind (.generated .binding 7)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 3)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 1)) (some (.pair .bool .nat)) (.pair (.call (.function 14) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 61)), .wild]) none (.copy (.generated .binding 1)))] (.cond (.move (.generated .part 61)) (.mk [] (.copy (.generated .binding 1))) (.mk [(.mk (.bind (.generated .binding 2)) (some (.pair .bool .nat)) (.pair (.call (.function 15) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 62)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 62)))) (.block (.mk [(.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 63))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 63))))), (.mk (.bind (.generated .operand 66)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 64))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 64)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 65)), (.move (.generated .operand 66))] true))))))))), (.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.copy (.generated .binding 3)))] (.cond (.move (.generated .part 67)) (.mk [] (.copy (.generated .binding 3))) (.mk [(.mk (.bind (.generated .binding 6)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair .bool .nat)) (.pair (.call (.function 16) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 68)), .wild]) none (.copy (.generated .binding 4)))] (.cond (.move (.generated .part 68)) (.mk [] (.copy (.generated .binding 4))) (.mk [(.mk (.bind (.generated .binding 5)) (some (.pair .bool .nat)) (.pair (.call (.function 17) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 69)), .wild]) none (.copy (.generated .binding 5)))] (.move (.generated .part 69)))) (.block (.mk [(.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 70))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 70))))), (.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 71))]) none (.copy (.generated .binding 5)))] (.move (.generated .part 71)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] true)))))))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 74)), .wild]) none (.copy (.generated .binding 6)))] (.move (.generated .part 74)))) (.block (.mk [(.mk (.bind (.generated .operand 77)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 75))]) none (.copy (.generated .binding 3)))] (.move (.generated .part 75))))), (.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 76))]) none (.copy (.generated .binding 6)))] (.move (.generated .part 76)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 77)), (.move (.generated .operand 78))] true))))))))), (.mk (.tuple [(.bind (.generated .part 79)), .wild]) none (.copy (.generated .binding 7)))]) (tail := (.cond (.move (.generated .part 79)) (.mk [] (.copy (.generated .binding 7))) (.mk [(.mk (.bind (.generated .binding 14)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 10)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 8)) (some (.pair .bool .nat)) (.pair (.call (.function 18) [(.clone (.generated .binding 0))] true) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.copy (.generated .binding 8)))] (.cond (.move (.generated .part 80)) (.mk [] (.copy (.generated .binding 8))) (.mk [(.mk (.bind (.generated .binding 9)) (some (.pair .bool .nat)) (.pair (.call (.function 19) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 81)), .wild]) none (.copy (.generated .binding 9)))] (.move (.generated .part 81)))) (.block (.mk [(.mk (.bind (.generated .operand 84)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 82))]) none (.copy (.generated .binding 8)))] (.move (.generated .part 82))))), (.mk (.bind (.generated .operand 85)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 83))]) none (.copy (.generated .binding 9)))] (.move (.generated .part 83)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 84)), (.move (.generated .operand 85))] true))))))))), (.mk (.tuple [(.bind (.generated .part 86)), .wild]) none (.copy (.generated .binding 10)))] (.cond (.move (.generated .part 86)) (.mk [] (.copy (.generated .binding 10))) (.mk [(.mk (.bind (.generated .binding 13)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 11)) (some (.pair .bool .nat)) (.pair (.call (.function 20) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 87)), .wild]) none (.copy (.generated .binding 11)))] (.cond (.move (.generated .part 87)) (.mk [] (.copy (.generated .binding 11))) (.mk [(.mk (.bind (.generated .binding 12)) (some (.pair .bool .nat)) (.pair (.call (.function 21) [(.move (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 88)), .wild]) none (.copy (.generated .binding 12)))] (.move (.generated .part 88)))) (.block (.mk [(.mk (.bind (.generated .operand 91)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 89))]) none (.copy (.generated .binding 11)))] (.move (.generated .part 89))))), (.mk (.bind (.generated .operand 92)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 90))]) none (.copy (.generated .binding 12)))] (.move (.generated .part 90)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] true)))))))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 93)), .wild]) none (.copy (.generated .binding 13)))] (.move (.generated .part 93)))) (.block (.mk [(.mk (.bind (.generated .operand 96)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 94))]) none (.copy (.generated .binding 10)))] (.move (.generated .part 94))))), (.mk (.bind (.generated .operand 97)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 95))]) none (.copy (.generated .binding 13)))] (.move (.generated .part 95)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 96)), (.move (.generated .operand 97))] true)))))))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 98)), .wild]) none (.copy (.generated .binding 14)))] (.move (.generated .part 98)))) (.block (.mk [(.mk (.bind (.generated .operand 101)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 99))]) none (.copy (.generated .binding 7)))] (.move (.generated .part 99))))), (.mk (.bind (.generated .operand 102)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 100))]) none (.copy (.generated .binding 14)))] (.move (.generated .part 100)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 101)), (.move (.generated .operand 102))] true))))))) (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .binding 3)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 1)) (some (.pair .bool .nat)) (.pair (.call (.function 14) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 61)), .wild]) none (.copy (.generated .binding 1)))] (.cond (.move (.generated .part 61)) (.mk [] (.copy (.generated .binding 1))) (.mk [(.mk (.bind (.generated .binding 2)) (some (.pair .bool .nat)) (.pair (.call (.function 15) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 62)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 62)))) (.block (.mk [(.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 63))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 63))))), (.mk (.bind (.generated .operand 66)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 64))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 64)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 65)), (.move (.generated .operand 66))] true))))))))), (.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.copy (.generated .binding 3)))]) (tail := (.cond (.move (.generated .part 67)) (.mk [] (.copy (.generated .binding 3))) (.mk [(.mk (.bind (.generated .binding 6)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair .bool .nat)) (.pair (.call (.function 16) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 68)), .wild]) none (.copy (.generated .binding 4)))] (.cond (.move (.generated .part 68)) (.mk [] (.copy (.generated .binding 4))) (.mk [(.mk (.bind (.generated .binding 5)) (some (.pair .bool .nat)) (.pair (.call (.function 17) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 69)), .wild]) none (.copy (.generated .binding 5)))] (.move (.generated .part 69)))) (.block (.mk [(.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 70))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 70))))), (.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 71))]) none (.copy (.generated .binding 5)))] (.move (.generated .part 71)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] true)))))))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 74)), .wild]) none (.copy (.generated .binding 6)))] (.move (.generated .part 74)))) (.block (.mk [(.mk (.bind (.generated .operand 77)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 75))]) none (.copy (.generated .binding 3)))] (.move (.generated .part 75))))), (.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 76))]) none (.copy (.generated .binding 6)))] (.move (.generated .part 76)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 77)), (.move (.generated .operand 78))] true))))))) (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .binding 1)) (some (.pair .bool .nat)) (.pair (.call (.function 14) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 61)), .wild]) none (.copy (.generated .binding 1)))]) (tail := (.cond (.move (.generated .part 61)) (.mk [] (.copy (.generated .binding 1))) (.mk [(.mk (.bind (.generated .binding 2)) (some (.pair .bool .nat)) (.pair (.call (.function 15) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 62)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 62)))) (.block (.mk [(.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 63))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 63))))), (.mk (.bind (.generated .operand 66)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 64))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 64)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 65)), (.move (.generated .operand 66))] true))))))) (Corr.letBind (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl (Corr.cond (lc := [(.mk (.tuple [(.bind (.generated .part 61)), .wild]) none (.copy (.generated .binding 1)))]) (ce := (.move (.generated .part 61))) (lk := []) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl) (Corr.kIf (la := []) (ta := (.copy (.generated .binding 1))) (lb := [(.mk (.bind (.generated .binding 2)) (some (.pair .bool .nat)) (.pair (.call (.function 15) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))]) (tb := (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 62)), .wild]) none (.copy (.generated .binding 2)))] (.move (.generated .part 62)))) (.block (.mk [(.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 63))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 63))))), (.mk (.bind (.generated .operand 66)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 64))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 64)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 65)), (.move (.generated .operand 66))] true))))) (Corr.bOfE (Corr.var rfl rfl)) (Corr.letBind (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 62)), .wild]) none (.copy (.generated .binding 2)))]) (tail := (.move (.generated .part 62))) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 65)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 63))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 63))))), (.mk (.bind (.generated .operand 66)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 64))]) none (.copy (.generated .binding 2)))] (.move (.generated .part 64)))))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 65)), (.move (.generated .operand 66))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 63))]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 63))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 64))]) none (.copy (.generated .binding 2)))]) (tail := (.move (.generated .part 64))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))))) rfl (Corr.cond (lc := [(.mk (.tuple [(.bind (.generated .part 67)), .wild]) none (.copy (.generated .binding 3)))]) (ce := (.move (.generated .part 67))) (lk := []) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl) (Corr.kIf (la := []) (ta := (.copy (.generated .binding 3))) (lb := [(.mk (.bind (.generated .binding 6)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 4)) (some (.pair .bool .nat)) (.pair (.call (.function 16) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 68)), .wild]) none (.copy (.generated .binding 4)))] (.cond (.move (.generated .part 68)) (.mk [] (.copy (.generated .binding 4))) (.mk [(.mk (.bind (.generated .binding 5)) (some (.pair .bool .nat)) (.pair (.call (.function 17) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 69)), .wild]) none (.copy (.generated .binding 5)))] (.move (.generated .part 69)))) (.block (.mk [(.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 70))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 70))))), (.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 71))]) none (.copy (.generated .binding 5)))] (.move (.generated .part 71)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] true)))))))))]) (tb := (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 74)), .wild]) none (.copy (.generated .binding 6)))] (.move (.generated .part 74)))) (.block (.mk [(.mk (.bind (.generated .operand 77)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 75))]) none (.copy (.generated .binding 3)))] (.move (.generated .part 75))))), (.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 76))]) none (.copy (.generated .binding 6)))] (.move (.generated .part 76)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 77)), (.move (.generated .operand 78))] true))))) (Corr.bOfE (Corr.var rfl rfl)) (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .binding 4)) (some (.pair .bool .nat)) (.pair (.call (.function 16) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 68)), .wild]) none (.copy (.generated .binding 4)))]) (tail := (.cond (.move (.generated .part 68)) (.mk [] (.copy (.generated .binding 4))) (.mk [(.mk (.bind (.generated .binding 5)) (some (.pair .bool .nat)) (.pair (.call (.function 17) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 69)), .wild]) none (.copy (.generated .binding 5)))] (.move (.generated .part 69)))) (.block (.mk [(.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 70))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 70))))), (.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 71))]) none (.copy (.generated .binding 5)))] (.move (.generated .part 71)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] true))))))) (Corr.letBind (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl (Corr.cond (lc := [(.mk (.tuple [(.bind (.generated .part 68)), .wild]) none (.copy (.generated .binding 4)))]) (ce := (.move (.generated .part 68))) (lk := []) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl) (Corr.kIf (la := []) (ta := (.copy (.generated .binding 4))) (lb := [(.mk (.bind (.generated .binding 5)) (some (.pair .bool .nat)) (.pair (.call (.function 17) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))]) (tb := (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 69)), .wild]) none (.copy (.generated .binding 5)))] (.move (.generated .part 69)))) (.block (.mk [(.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 70))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 70))))), (.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 71))]) none (.copy (.generated .binding 5)))] (.move (.generated .part 71)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] true))))) (Corr.bOfE (Corr.var rfl rfl)) (Corr.letBind (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 69)), .wild]) none (.copy (.generated .binding 5)))]) (tail := (.move (.generated .part 69))) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 70))]) none (.copy (.generated .binding 4)))] (.move (.generated .part 70))))), (.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 71))]) none (.copy (.generated .binding 5)))] (.move (.generated .part 71)))))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 70))]) none (.copy (.generated .binding 4)))]) (tail := (.move (.generated .part 70))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 71))]) none (.copy (.generated .binding 5)))]) (tail := (.move (.generated .part 71))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))))) rfl (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 74)), .wild]) none (.copy (.generated .binding 6)))]) (tail := (.move (.generated .part 74))) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 77)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 75))]) none (.copy (.generated .binding 3)))] (.move (.generated .part 75))))), (.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 76))]) none (.copy (.generated .binding 6)))] (.move (.generated .part 76)))))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 77)), (.move (.generated .operand 78))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 75))]) none (.copy (.generated .binding 3)))]) (tail := (.move (.generated .part 75))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 76))]) none (.copy (.generated .binding 6)))]) (tail := (.move (.generated .part 76))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))))) rfl (Corr.cond (lc := [(.mk (.tuple [(.bind (.generated .part 79)), .wild]) none (.copy (.generated .binding 7)))]) (ce := (.move (.generated .part 79))) (lk := []) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl) (Corr.kIf (la := []) (ta := (.copy (.generated .binding 7))) (lb := [(.mk (.bind (.generated .binding 14)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 10)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 8)) (some (.pair .bool .nat)) (.pair (.call (.function 18) [(.clone (.generated .binding 0))] true) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.copy (.generated .binding 8)))] (.cond (.move (.generated .part 80)) (.mk [] (.copy (.generated .binding 8))) (.mk [(.mk (.bind (.generated .binding 9)) (some (.pair .bool .nat)) (.pair (.call (.function 19) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 81)), .wild]) none (.copy (.generated .binding 9)))] (.move (.generated .part 81)))) (.block (.mk [(.mk (.bind (.generated .operand 84)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 82))]) none (.copy (.generated .binding 8)))] (.move (.generated .part 82))))), (.mk (.bind (.generated .operand 85)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 83))]) none (.copy (.generated .binding 9)))] (.move (.generated .part 83)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 84)), (.move (.generated .operand 85))] true))))))))), (.mk (.tuple [(.bind (.generated .part 86)), .wild]) none (.copy (.generated .binding 10)))] (.cond (.move (.generated .part 86)) (.mk [] (.copy (.generated .binding 10))) (.mk [(.mk (.bind (.generated .binding 13)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 11)) (some (.pair .bool .nat)) (.pair (.call (.function 20) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 87)), .wild]) none (.copy (.generated .binding 11)))] (.cond (.move (.generated .part 87)) (.mk [] (.copy (.generated .binding 11))) (.mk [(.mk (.bind (.generated .binding 12)) (some (.pair .bool .nat)) (.pair (.call (.function 21) [(.move (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 88)), .wild]) none (.copy (.generated .binding 12)))] (.move (.generated .part 88)))) (.block (.mk [(.mk (.bind (.generated .operand 91)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 89))]) none (.copy (.generated .binding 11)))] (.move (.generated .part 89))))), (.mk (.bind (.generated .operand 92)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 90))]) none (.copy (.generated .binding 12)))] (.move (.generated .part 90)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] true)))))))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 93)), .wild]) none (.copy (.generated .binding 13)))] (.move (.generated .part 93)))) (.block (.mk [(.mk (.bind (.generated .operand 96)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 94))]) none (.copy (.generated .binding 10)))] (.move (.generated .part 94))))), (.mk (.bind (.generated .operand 97)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 95))]) none (.copy (.generated .binding 13)))] (.move (.generated .part 95)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 96)), (.move (.generated .operand 97))] true)))))))))]) (tb := (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 98)), .wild]) none (.copy (.generated .binding 14)))] (.move (.generated .part 98)))) (.block (.mk [(.mk (.bind (.generated .operand 101)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 99))]) none (.copy (.generated .binding 7)))] (.move (.generated .part 99))))), (.mk (.bind (.generated .operand 102)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 100))]) none (.copy (.generated .binding 14)))] (.move (.generated .part 100)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 101)), (.move (.generated .operand 102))] true))))) (Corr.bOfE (Corr.var rfl rfl)) (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .binding 10)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 8)) (some (.pair .bool .nat)) (.pair (.call (.function 18) [(.clone (.generated .binding 0))] true) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.copy (.generated .binding 8)))] (.cond (.move (.generated .part 80)) (.mk [] (.copy (.generated .binding 8))) (.mk [(.mk (.bind (.generated .binding 9)) (some (.pair .bool .nat)) (.pair (.call (.function 19) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 81)), .wild]) none (.copy (.generated .binding 9)))] (.move (.generated .part 81)))) (.block (.mk [(.mk (.bind (.generated .operand 84)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 82))]) none (.copy (.generated .binding 8)))] (.move (.generated .part 82))))), (.mk (.bind (.generated .operand 85)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 83))]) none (.copy (.generated .binding 9)))] (.move (.generated .part 83)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 84)), (.move (.generated .operand 85))] true))))))))), (.mk (.tuple [(.bind (.generated .part 86)), .wild]) none (.copy (.generated .binding 10)))]) (tail := (.cond (.move (.generated .part 86)) (.mk [] (.copy (.generated .binding 10))) (.mk [(.mk (.bind (.generated .binding 13)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 11)) (some (.pair .bool .nat)) (.pair (.call (.function 20) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 87)), .wild]) none (.copy (.generated .binding 11)))] (.cond (.move (.generated .part 87)) (.mk [] (.copy (.generated .binding 11))) (.mk [(.mk (.bind (.generated .binding 12)) (some (.pair .bool .nat)) (.pair (.call (.function 21) [(.move (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 88)), .wild]) none (.copy (.generated .binding 12)))] (.move (.generated .part 88)))) (.block (.mk [(.mk (.bind (.generated .operand 91)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 89))]) none (.copy (.generated .binding 11)))] (.move (.generated .part 89))))), (.mk (.bind (.generated .operand 92)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 90))]) none (.copy (.generated .binding 12)))] (.move (.generated .part 90)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] true)))))))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 93)), .wild]) none (.copy (.generated .binding 13)))] (.move (.generated .part 93)))) (.block (.mk [(.mk (.bind (.generated .operand 96)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 94))]) none (.copy (.generated .binding 10)))] (.move (.generated .part 94))))), (.mk (.bind (.generated .operand 97)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 95))]) none (.copy (.generated .binding 13)))] (.move (.generated .part 95)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 96)), (.move (.generated .operand 97))] true))))))) (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .binding 8)) (some (.pair .bool .nat)) (.pair (.call (.function 18) [(.clone (.generated .binding 0))] true) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.copy (.generated .binding 8)))]) (tail := (.cond (.move (.generated .part 80)) (.mk [] (.copy (.generated .binding 8))) (.mk [(.mk (.bind (.generated .binding 9)) (some (.pair .bool .nat)) (.pair (.call (.function 19) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 81)), .wild]) none (.copy (.generated .binding 9)))] (.move (.generated .part 81)))) (.block (.mk [(.mk (.bind (.generated .operand 84)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 82))]) none (.copy (.generated .binding 8)))] (.move (.generated .part 82))))), (.mk (.bind (.generated .operand 85)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 83))]) none (.copy (.generated .binding 9)))] (.move (.generated .part 83)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 84)), (.move (.generated .operand 85))] true))))))) (Corr.letBind (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl (Corr.cond (lc := [(.mk (.tuple [(.bind (.generated .part 80)), .wild]) none (.copy (.generated .binding 8)))]) (ce := (.move (.generated .part 80))) (lk := []) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl) (Corr.kIf (la := []) (ta := (.copy (.generated .binding 8))) (lb := [(.mk (.bind (.generated .binding 9)) (some (.pair .bool .nat)) (.pair (.call (.function 19) [(.clone (.generated .binding 0))] false) (.lit (.nat 1))))]) (tb := (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 81)), .wild]) none (.copy (.generated .binding 9)))] (.move (.generated .part 81)))) (.block (.mk [(.mk (.bind (.generated .operand 84)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 82))]) none (.copy (.generated .binding 8)))] (.move (.generated .part 82))))), (.mk (.bind (.generated .operand 85)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 83))]) none (.copy (.generated .binding 9)))] (.move (.generated .part 83)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 84)), (.move (.generated .operand 85))] true))))) (Corr.bOfE (Corr.var rfl rfl)) (Corr.letBind (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 81)), .wild]) none (.copy (.generated .binding 9)))]) (tail := (.move (.generated .part 81))) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 84)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 82))]) none (.copy (.generated .binding 8)))] (.move (.generated .part 82))))), (.mk (.bind (.generated .operand 85)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 83))]) none (.copy (.generated .binding 9)))] (.move (.generated .part 83)))))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 84)), (.move (.generated .operand 85))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 82))]) none (.copy (.generated .binding 8)))]) (tail := (.move (.generated .part 82))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 83))]) none (.copy (.generated .binding 9)))]) (tail := (.move (.generated .part 83))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))))) rfl (Corr.cond (lc := [(.mk (.tuple [(.bind (.generated .part 86)), .wild]) none (.copy (.generated .binding 10)))]) (ce := (.move (.generated .part 86))) (lk := []) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl) (Corr.kIf (la := []) (ta := (.copy (.generated .binding 10))) (lb := [(.mk (.bind (.generated .binding 13)) (some (.pair .bool .nat)) (.block (.mk [(.mk (.bind (.generated .binding 11)) (some (.pair .bool .nat)) (.pair (.call (.function 20) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 87)), .wild]) none (.copy (.generated .binding 11)))] (.cond (.move (.generated .part 87)) (.mk [] (.copy (.generated .binding 11))) (.mk [(.mk (.bind (.generated .binding 12)) (some (.pair .bool .nat)) (.pair (.call (.function 21) [(.move (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 88)), .wild]) none (.copy (.generated .binding 12)))] (.move (.generated .part 88)))) (.block (.mk [(.mk (.bind (.generated .operand 91)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 89))]) none (.copy (.generated .binding 11)))] (.move (.generated .part 89))))), (.mk (.bind (.generated .operand 92)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 90))]) none (.copy (.generated .binding 12)))] (.move (.generated .part 90)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] true)))))))))]) (tb := (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 93)), .wild]) none (.copy (.generated .binding 13)))] (.move (.generated .part 93)))) (.block (.mk [(.mk (.bind (.generated .operand 96)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 94))]) none (.copy (.generated .binding 10)))] (.move (.generated .part 94))))), (.mk (.bind (.generated .operand 97)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 95))]) none (.copy (.generated .binding 13)))] (.move (.generated .part 95)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 96)), (.move (.generated .operand 97))] true))))) (Corr.bOfE (Corr.var rfl rfl)) (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .binding 11)) (some (.pair .bool .nat)) (.pair (.call (.function 20) [(.clone (.generated .binding 0))] false) (.lit (.nat 1)))), (.mk (.tuple [(.bind (.generated .part 87)), .wild]) none (.copy (.generated .binding 11)))]) (tail := (.cond (.move (.generated .part 87)) (.mk [] (.copy (.generated .binding 11))) (.mk [(.mk (.bind (.generated .binding 12)) (some (.pair .bool .nat)) (.pair (.call (.function 21) [(.move (.generated .binding 0))] false) (.lit (.nat 1))))] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 88)), .wild]) none (.copy (.generated .binding 12)))] (.move (.generated .part 88)))) (.block (.mk [(.mk (.bind (.generated .operand 91)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 89))]) none (.copy (.generated .binding 11)))] (.move (.generated .part 89))))), (.mk (.bind (.generated .operand 92)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 90))]) none (.copy (.generated .binding 12)))] (.move (.generated .part 90)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] true))))))) (Corr.letBind (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl (Corr.cond (lc := [(.mk (.tuple [(.bind (.generated .part 87)), .wild]) none (.copy (.generated .binding 11)))]) (ce := (.move (.generated .part 87))) (lk := []) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl) (Corr.kIf (la := []) (ta := (.copy (.generated .binding 11))) (lb := [(.mk (.bind (.generated .binding 12)) (some (.pair .bool .nat)) (.pair (.call (.function 21) [(.move (.generated .binding 0))] false) (.lit (.nat 1))))]) (tb := (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 88)), .wild]) none (.copy (.generated .binding 12)))] (.move (.generated .part 88)))) (.block (.mk [(.mk (.bind (.generated .operand 91)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 89))]) none (.copy (.generated .binding 11)))] (.move (.generated .part 89))))), (.mk (.bind (.generated .operand 92)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 90))]) none (.copy (.generated .binding 12)))] (.move (.generated .part 90)))))] (.call (.runtime .natAdd) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] true))))) (Corr.bOfE (Corr.var rfl rfl)) (Corr.letBind (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))) rfl (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 88)), .wild]) none (.copy (.generated .binding 12)))]) (tail := (.move (.generated .part 88))) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 91)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 89))]) none (.copy (.generated .binding 11)))] (.move (.generated .part 89))))), (.mk (.bind (.generated .operand 92)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 90))]) none (.copy (.generated .binding 12)))] (.move (.generated .part 90)))))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 89))]) none (.copy (.generated .binding 11)))]) (tail := (.move (.generated .part 89))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 90))]) none (.copy (.generated .binding 12)))]) (tail := (.move (.generated .part 90))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))))) rfl (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 93)), .wild]) none (.copy (.generated .binding 13)))]) (tail := (.move (.generated .part 93))) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 96)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 94))]) none (.copy (.generated .binding 10)))] (.move (.generated .part 94))))), (.mk (.bind (.generated .operand 97)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 95))]) none (.copy (.generated .binding 13)))] (.move (.generated .part 95)))))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 96)), (.move (.generated .operand 97))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 94))]) none (.copy (.generated .binding 10)))]) (tail := (.move (.generated .part 94))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 95))]) none (.copy (.generated .binding 13)))]) (tail := (.move (.generated .part 95))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))))) rfl (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 98)), .wild]) none (.copy (.generated .binding 14)))]) (tail := (.move (.generated .part 98))) (Corr.first (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 101)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 99))]) none (.copy (.generated .binding 7)))] (.move (.generated .part 99))))), (.mk (.bind (.generated .operand 102)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 100))]) none (.copy (.generated .binding 14)))] (.move (.generated .part 100)))))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 101)), (.move (.generated .operand 102))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 99))]) none (.copy (.generated .binding 7)))]) (tail := (.move (.generated .part 99))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 100))]) none (.copy (.generated .binding 14)))]) (tail := (.move (.generated .part 100))) (Corr.second (ta := .bool) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))))) rfl))⟩⟩ + +theorem fun12 : FunOK program krate flags 12 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 3 0) [(.move (.generated .binding 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0))]), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun13 : FunOK program krate flags 13 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 103)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 104)) none (.lit (.nat 3)))], (.cond (.call (.runtime .natLe) [(.move (.generated .operand 103)), (.move (.generated .operand 104))] false) (.mk [(.mk (.bind (.generated .operand 105)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 106)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 105)), (.move (.generated .operand 106))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 110)) none (.cond (.call (.function 30) [(.clone (.generated .binding 0))] false) (.mk [(.mk (.bind (.generated .operand 108)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 107))]) (.mk [] (.move (.generated .part 107))))])), (.mk (.bind (.generated .operand 109)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 108)), (.move (.generated .operand 109))] false) (.mk [] (.cond (.call (.function 31) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 32) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))] (.call (.runtime .boolNot) [(.move (.generated .operand 110))] false)))) (.mk [] (.lit (.bool false)))), [(1, .nat, (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 103)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 104)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natLe) [(.move (.generated .operand 103)), (.move (.generated .operand 104))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 105)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 106)) none (.lit (.nat 3)))]) (ta := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 105)), (.move (.generated .operand 106))] false) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 110)) none (.cond (.call (.function 30) [(.clone (.generated .binding 0))] false) (.mk [(.mk (.bind (.generated .operand 108)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 107))]) (.mk [] (.move (.generated .part 107))))])), (.mk (.bind (.generated .operand 109)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 108)), (.move (.generated .operand 109))] false) (.mk [] (.cond (.call (.function 31) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 32) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))] (.call (.runtime .boolNot) [(.move (.generated .operand 110))] false)))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 105)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 106)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 105)), (.move (.generated .operand 106))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 110)) none (.cond (.call (.function 30) [(.clone (.generated .binding 0))] false) (.mk [(.mk (.bind (.generated .operand 108)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 107))]) (.mk [] (.move (.generated .part 107))))])), (.mk (.bind (.generated .operand 109)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 108)), (.move (.generated .operand 109))] false) (.mk [] (.cond (.call (.function 31) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 32) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))]) (tb := (.call (.runtime .boolNot) [(.move (.generated .operand 110))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.prim (ts := [.bool]) (Corr.opsCons (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 30) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 108)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 107))]) (.mk [] (.move (.generated .part 107))))])), (.mk (.bind (.generated .operand 109)) none (.lit (.nat 1)))]) (ta := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 108)), (.move (.generated .operand 109))] false) (.mk [] (.cond (.call (.function 31) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 32) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 108)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 107))]) (.mk [] (.move (.generated .part 107))))])), (.mk (.bind (.generated .operand 109)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 108)), (.move (.generated .operand 109))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 107))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.cond (.call (.function 31) [(.clone (.generated .binding 0))] false) (.mk [] (.call (.function 32) [(.move (.generated .binding 0))] false)) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := []) (ce := (.call (.function 31) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 32) [(.move (.generated .binding 0))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl))))) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun14 : FunOK program krate flags 14 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 112)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 111)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 111))))])), (.mk (.bind (.generated .operand 113)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 112)), (.move (.generated .operand 113))] false) (.mk [] (.call (.function 31) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 114)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 114))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 3), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 112)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 111)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 111))))])), (.mk (.bind (.generated .operand 113)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 112)), (.move (.generated .operand 113))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 111))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 31) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 114)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 114))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 114))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun15 : FunOK program krate flags 15 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 116)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 115)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 115))))])), (.mk (.bind (.generated .operand 117)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 116)), (.move (.generated .operand 117))] false) (.mk [] (.call (.function 32) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 118)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 118))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 3), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 116)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 115)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 115))))])), (.mk (.bind (.generated .operand 117)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 116)), (.move (.generated .operand 117))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 115))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 32) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 118)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 118))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 118))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun16 : FunOK program krate flags 16 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 120)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 119)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 119))))])), (.mk (.bind (.generated .operand 121)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 120)), (.move (.generated .operand 121))] false) (.mk [] (.call (.function 33) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 122)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 122))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 3), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 120)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 119)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 119))))])), (.mk (.bind (.generated .operand 121)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 120)), (.move (.generated .operand 121))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 119))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 33) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 122)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 122))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 122))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun17 : FunOK program krate flags 17 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 124)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 123)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 123))))])), (.mk (.bind (.generated .operand 125)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 124)), (.move (.generated .operand 125))] false) (.mk [] (.call (.function 34) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 126)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 126))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 3), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 124)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 123)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 123))))])), (.mk (.bind (.generated .operand 125)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 124)), (.move (.generated .operand 125))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 123))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 34) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 126)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 126))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 126))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun18 : FunOK program krate flags 18 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 128)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 127)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 127))))])), (.mk (.bind (.generated .operand 129)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 128)), (.move (.generated .operand 129))] false) (.mk [(.mk (.bind (.generated .operand 140)) none (.lit (.nat 2))), (.mk (.bind (.generated .operand 141)) none (.block (.mk [(.mk (.bind (.generated .operand 138)) none (.block (.mk [(.mk (.bind (.generated .operand 135)) none (.block (.mk [(.mk (.bind (.generated .operand 132)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 130)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 130))))])), (.mk (.bind (.generated .operand 133)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 131)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 131))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 132)), (.move (.generated .operand 133))] true)))), (.mk (.bind (.generated .operand 136)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 134)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 134))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 135)), (.move (.generated .operand 136))] true)))), (.mk (.bind (.generated .operand 139)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 137)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 137))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 138)), (.move (.generated .operand 139))] true))))] (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 140)), (.move (.generated .operand 141))] false))) (.mk [] (.succeed (.lit (.bool false))))), [(0, (.adt 3), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 128)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 127)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 127))))])), (.mk (.bind (.generated .operand 129)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 128)), (.move (.generated .operand 129))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 127))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 140)) none (.lit (.nat 2))), (.mk (.bind (.generated .operand 141)) none (.block (.mk [(.mk (.bind (.generated .operand 138)) none (.block (.mk [(.mk (.bind (.generated .operand 135)) none (.block (.mk [(.mk (.bind (.generated .operand 132)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 130)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 130))))])), (.mk (.bind (.generated .operand 133)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 131)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 131))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 132)), (.move (.generated .operand 133))] true)))), (.mk (.bind (.generated .operand 136)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 134)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 134))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 135)), (.move (.generated .operand 136))] true)))), (.mk (.bind (.generated .operand 139)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 137)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 137))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 138)), (.move (.generated .operand 139))] true))))]) (ta := (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 140)), (.move (.generated .operand 141))] false))) (lb := []) (tb := (.succeed (.lit (.bool false)))) (Corr.fOfB (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 138)) none (.block (.mk [(.mk (.bind (.generated .operand 135)) none (.block (.mk [(.mk (.bind (.generated .operand 132)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 130)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 130))))])), (.mk (.bind (.generated .operand 133)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 131)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 131))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 132)), (.move (.generated .operand 133))] true)))), (.mk (.bind (.generated .operand 136)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 134)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 134))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 135)), (.move (.generated .operand 136))] true)))), (.mk (.bind (.generated .operand 139)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 137)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 137))))]))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 138)), (.move (.generated .operand 139))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 135)) none (.block (.mk [(.mk (.bind (.generated .operand 132)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 130)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 130))))])), (.mk (.bind (.generated .operand 133)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 131)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 131))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 132)), (.move (.generated .operand 133))] true)))), (.mk (.bind (.generated .operand 136)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 134)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 134))))]))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 135)), (.move (.generated .operand 136))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 132)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 130)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 130))))])), (.mk (.bind (.generated .operand 133)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 131)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 131))))]))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 132)), (.move (.generated .operand 133))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 130))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 131))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 134))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 137))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.fOfB (Corr.bOfE (Corr.buildConst rfl)))))⟩⟩ + +theorem fun19 : FunOK program krate flags 19 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 143)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 142)), .wild, .wild]) (.mk [] (.move (.generated .part 142))))])), (.mk (.bind (.generated .operand 144)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 143)), (.move (.generated .operand 144))] false) (.mk [(.mk (.bind (.generated .operand 146)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 145)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 145))))])), (.mk (.bind (.generated .operand 147)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 146)), (.move (.generated .operand 147))] false) (.mk [(.mk (.bind (.generated .operand 151)) none (.block (.mk [(.mk (.bind (.generated .holder 150)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 149)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 149))))]))] (.matchOn (.move (.generated .holder 150)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 148))]) (.mk [] (.move (.generated .part 148))))])))), (.mk (.bind (.generated .operand 152)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 151)), (.move (.generated .operand 152))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))), [(0, (.adt 3), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 143)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 142)), .wild, .wild]) (.mk [] (.move (.generated .part 142))))])), (.mk (.bind (.generated .operand 144)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 143)), (.move (.generated .operand 144))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 142))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 146)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 145)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 145))))])), (.mk (.bind (.generated .operand 147)) none (.lit (.nat 1)))]) (ta := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 146)), (.move (.generated .operand 147))] false) (.mk [(.mk (.bind (.generated .operand 151)) none (.block (.mk [(.mk (.bind (.generated .holder 150)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 149)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 149))))]))] (.matchOn (.move (.generated .holder 150)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 148))]) (.mk [] (.move (.generated .part 148))))])))), (.mk (.bind (.generated .operand 152)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 151)), (.move (.generated .operand 152))] false)) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 146)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 145)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 145))))])), (.mk (.bind (.generated .operand 147)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 146)), (.move (.generated .operand 147))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 145))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 151)) none (.block (.mk [(.mk (.bind (.generated .holder 150)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 149)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 149))))]))] (.matchOn (.move (.generated .holder 150)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 148))]) (.mk [] (.move (.generated .part 148))))])))), (.mk (.bind (.generated .operand 152)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 151)), (.move (.generated .operand 152))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 150)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 149)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 149))))]))]) (tail := (.matchOn (.move (.generated .holder 150)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 148))]) (.mk [] (.move (.generated .part 148))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 148))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 149))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun20 : FunOK program krate flags 20 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 154)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 153)), .wild]) (.mk [] (.move (.generated .part 153))))])), (.mk (.bind (.generated .operand 155)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 154)), (.move (.generated .operand 155))] false) (.mk [(.mk (.bind (.generated .operand 157)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 156)), .wild, .wild]) (.mk [] (.move (.generated .part 156))))])), (.mk (.bind (.generated .operand 158)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 157)), (.move (.generated .operand 158))] false) (.mk [] (.call (.function 30) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 159)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 159))))])] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))), [(0, (.adt 3), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 154)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 153)), .wild]) (.mk [] (.move (.generated .part 153))))])), (.mk (.bind (.generated .operand 155)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 154)), (.move (.generated .operand 155))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 153))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 157)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 156)), .wild, .wild]) (.mk [] (.move (.generated .part 156))))])), (.mk (.bind (.generated .operand 158)) none (.lit (.nat 1)))]) (ta := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 157)), (.move (.generated .operand 158))] false) (.mk [] (.call (.function 30) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 159)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 159))))])] false)) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 157)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 156)), .wild, .wild]) (.mk [] (.move (.generated .part 156))))])), (.mk (.bind (.generated .operand 158)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 157)), (.move (.generated .operand 158))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 156))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 30) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 159)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 159))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 159))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun21 : FunOK program krate flags 21 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 161)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 160))]) (.mk [] (.move (.generated .part 160))))])), (.mk (.bind (.generated .operand 162)) none (.lit (.nat 3)))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 161)), (.move (.generated .operand 162))] false) (.mk [(.mk (.bind (.generated .operand 164)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 163))]) (.mk [] (.move (.generated .part 163))))])), (.mk (.bind (.generated .operand 165)) none (.lit (.nat 0)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 164)), (.move (.generated .operand 165))] false) (.mk [(.mk (.bind (.generated .operand 167)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 166)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 166))))])), (.mk (.bind (.generated .operand 168)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 167)), (.move (.generated .operand 168))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 170)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 169))]) (.mk [] (.move (.generated .part 169))))])), (.mk (.bind (.generated .operand 171)) none (.lit (.nat 1)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 170)), (.move (.generated .operand 171))] false) (.mk [(.mk (.bind (.generated .operand 173)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 172)), .wild, .wild]) (.mk [] (.move (.generated .part 172))))])), (.mk (.bind (.generated .operand 174)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 173)), (.move (.generated .operand 174))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 176)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 175))]) (.mk [] (.move (.generated .part 175))))])), (.mk (.bind (.generated .operand 177)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 176)), (.move (.generated .operand 177))] false) (.mk [(.mk (.bind (.generated .operand 179)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 178)), .wild]) (.mk [] (.move (.generated .part 178))))])), (.mk (.bind (.generated .operand 180)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 179)), (.move (.generated .operand 180))] false)) (.mk [] (.lit (.bool false))))))))) (.mk [] (.lit (.bool false)))), [(0, (.adt 3), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 161)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 160))]) (.mk [] (.move (.generated .part 160))))])), (.mk (.bind (.generated .operand 162)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 161)), (.move (.generated .operand 162))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 160))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 164)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 163))]) (.mk [] (.move (.generated .part 163))))])), (.mk (.bind (.generated .operand 165)) none (.lit (.nat 0)))]) (ta := (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 164)), (.move (.generated .operand 165))] false) (.mk [(.mk (.bind (.generated .operand 167)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 166)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 166))))])), (.mk (.bind (.generated .operand 168)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 167)), (.move (.generated .operand 168))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 170)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 169))]) (.mk [] (.move (.generated .part 169))))])), (.mk (.bind (.generated .operand 171)) none (.lit (.nat 1)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 170)), (.move (.generated .operand 171))] false) (.mk [(.mk (.bind (.generated .operand 173)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 172)), .wild, .wild]) (.mk [] (.move (.generated .part 172))))])), (.mk (.bind (.generated .operand 174)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 173)), (.move (.generated .operand 174))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 176)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 175))]) (.mk [] (.move (.generated .part 175))))])), (.mk (.bind (.generated .operand 177)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 176)), (.move (.generated .operand 177))] false) (.mk [(.mk (.bind (.generated .operand 179)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 178)), .wild]) (.mk [] (.move (.generated .part 178))))])), (.mk (.bind (.generated .operand 180)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 179)), (.move (.generated .operand 180))] false)) (.mk [] (.lit (.bool false))))))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 164)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 163))]) (.mk [] (.move (.generated .part 163))))])), (.mk (.bind (.generated .operand 165)) none (.lit (.nat 0)))]) (ce := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 164)), (.move (.generated .operand 165))] false) (.mk [(.mk (.bind (.generated .operand 167)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 166)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 166))))])), (.mk (.bind (.generated .operand 168)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 167)), (.move (.generated .operand 168))] false)) (.mk [] (.lit (.bool false))))) (lk := []) (Corr.cond (lc := [(.mk (.bind (.generated .operand 164)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 163))]) (.mk [] (.move (.generated .part 163))))])), (.mk (.bind (.generated .operand 165)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 164)), (.move (.generated .operand 165))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 163))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 167)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 166)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 166))))])), (.mk (.bind (.generated .operand 168)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 167)), (.move (.generated .operand 168))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 166))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 170)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 169))]) (.mk [] (.move (.generated .part 169))))])), (.mk (.bind (.generated .operand 171)) none (.lit (.nat 1)))]) (tb := (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 170)), (.move (.generated .operand 171))] false) (.mk [(.mk (.bind (.generated .operand 173)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 172)), .wild, .wild]) (.mk [] (.move (.generated .part 172))))])), (.mk (.bind (.generated .operand 174)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 173)), (.move (.generated .operand 174))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 176)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 175))]) (.mk [] (.move (.generated .part 175))))])), (.mk (.bind (.generated .operand 177)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 176)), (.move (.generated .operand 177))] false) (.mk [(.mk (.bind (.generated .operand 179)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 178)), .wild]) (.mk [] (.move (.generated .part 178))))])), (.mk (.bind (.generated .operand 180)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 179)), (.move (.generated .operand 180))] false)) (.mk [] (.lit (.bool false))))))) (Corr.bOfE (Corr.buildConst rfl)) (Corr.cond (lc := [(.mk (.bind (.generated .operand 170)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 169))]) (.mk [] (.move (.generated .part 169))))])), (.mk (.bind (.generated .operand 171)) none (.lit (.nat 1)))]) (ce := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 170)), (.move (.generated .operand 171))] false) (.mk [(.mk (.bind (.generated .operand 173)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 172)), .wild, .wild]) (.mk [] (.move (.generated .part 172))))])), (.mk (.bind (.generated .operand 174)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 173)), (.move (.generated .operand 174))] false)) (.mk [] (.lit (.bool false))))) (lk := []) (Corr.cond (lc := [(.mk (.bind (.generated .operand 170)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 169))]) (.mk [] (.move (.generated .part 169))))])), (.mk (.bind (.generated .operand 171)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 170)), (.move (.generated .operand 171))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 169))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 173)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 172)), .wild, .wild]) (.mk [] (.move (.generated .part 172))))])), (.mk (.bind (.generated .operand 174)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 173)), (.move (.generated .operand 174))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 172))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 176)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 175))]) (.mk [] (.move (.generated .part 175))))])), (.mk (.bind (.generated .operand 177)) none (.lit (.nat 2)))]) (tb := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 176)), (.move (.generated .operand 177))] false) (.mk [(.mk (.bind (.generated .operand 179)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 178)), .wild]) (.mk [] (.move (.generated .part 178))))])), (.mk (.bind (.generated .operand 180)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 179)), (.move (.generated .operand 180))] false)) (.mk [] (.lit (.bool false))))) (Corr.bOfE (Corr.buildConst rfl)) (Corr.cond (lc := [(.mk (.bind (.generated .operand 176)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 175))]) (.mk [] (.move (.generated .part 175))))])), (.mk (.bind (.generated .operand 177)) none (.lit (.nat 2)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 176)), (.move (.generated .operand 177))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 175))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 179)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 178)), .wild]) (.mk [] (.move (.generated .part 178))))])), (.mk (.bind (.generated .operand 180)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 179)), (.move (.generated .operand 180))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 178))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))))))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun22 : FunOK program krate flags 22 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 35) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 3)) []))), [(0, (.adt 3), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 14) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 35) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 3)) [])) (Corr.build (ts := [(.adt 3)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun23 : FunOK program krate flags 23 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 15) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 36) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 3)) []))), [(0, (.adt 3), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 15) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 36) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 3)) [])) (Corr.build (ts := [(.adt 3)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun24 : FunOK program krate flags 24 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 37) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 3)) []))), [(0, (.adt 3), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 16) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 37) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 3)) [])) (Corr.build (ts := [(.adt 3)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun25 : FunOK program krate flags 25 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 38) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 3)) []))), [(0, (.adt 3), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 17) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 38) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 3)) [])) (Corr.build (ts := [(.adt 3)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun26 : FunOK program krate flags 26 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 18) [(.clone (.generated .binding 0))] true) (.mk [] (.succeed (.construct .some [(.call (.function 39) [(.move (.generated .binding 0))] false)]))) (.mk [] (.succeed (.construct (.none (.adt 3)) [])))), [(0, (.adt 3), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 18) [(.clone (.generated .binding 0))] true)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.call (.function 39) [(.move (.generated .binding 0))] false)]))) (lb := []) (tb := (.succeed (.construct (.none (.adt 3)) []))) (Corr.fOfB (Corr.build (ts := [(.adt 3)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ + +theorem fun27 : FunOK program krate flags 27 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 19) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 40) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 3)) []))), [(0, (.adt 3), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 19) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 40) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 3)) [])) (Corr.build (ts := [(.adt 3)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun28 : FunOK program krate flags 28 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 20) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 41) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 3)) []))), [(0, (.adt 3), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 20) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 41) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 3)) [])) (Corr.build (ts := [(.adt 3)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun29 : FunOK program krate flags 29 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 21) [(.clone (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.call (.function 42) [(.move (.generated .binding 0))] true)]))) (.mk [] (.succeed (.construct (.none (.adt 3)) [])))), [(0, (.adt 3), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 21) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.call (.function 42) [(.move (.generated .binding 0))] true)]))) (lb := []) (tb := (.succeed (.construct (.none (.adt 3)) []))) (Corr.fOfB (Corr.build (ts := [(.adt 3)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 3)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ + +theorem fun30 : FunOK program krate flags 30 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 182)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 181)), .wild]) (.mk [] (.move (.generated .part 181))))])), (.mk (.bind (.generated .operand 183)) none (.lit (.nat 90)))], (.call (.runtime .natLt) [(.move (.generated .operand 182)), (.move (.generated .operand 183))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 181))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun31 : FunOK program krate flags 31 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 185)) none (.lit (.nat 380))), (.mk (.bind (.generated .operand 186)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 184)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 184))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 185)), (.move (.generated .operand 186))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 184))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun32 : FunOK program krate flags 32 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 188)) none (.lit (.nat 90))), (.mk (.bind (.generated .operand 189)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 187)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 187))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 188)), (.move (.generated .operand 189))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 187))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun33 : FunOK program krate flags 33 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 191)) none (.lit (.nat 20))), (.mk (.bind (.generated .operand 192)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 190)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 190))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 191)), (.move (.generated .operand 192))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 190))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun34 : FunOK program krate flags 34 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 194)) none (.lit (.nat 12))), (.mk (.bind (.generated .operand 195)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, (.bind (.generated .part 193)), .wild, .wild]) (.mk [] (.move (.generated .part 193))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 194)), (.move (.generated .operand 195))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 193))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun35 : FunOK program krate flags 35 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 196)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 196))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 197)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 197))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 198)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 198))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 199)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 199))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 200)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 200))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 201)), .wild, .wild]) (.mk [] (.move (.generated .part 201))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 202)), .wild]) (.mk [] (.move (.generated .part 202))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 203))]) (.mk [] (.move (.generated .part 203))))])]), [(0, (.adt 3), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 196))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 197))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 198))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 199))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 200))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 201))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 202))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 203))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun36 : FunOK program krate flags 36 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 204)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 204))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 205)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 205))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 206)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 206))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 207)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 207))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 208)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 208))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 209)), .wild, .wild]) (.mk [] (.move (.generated .part 209))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 210)), .wild]) (.mk [] (.move (.generated .part 210))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 211))]) (.mk [] (.move (.generated .part 211))))])]), [(0, (.adt 3), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 204))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 205))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 206))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 207))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 208))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 209))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 210))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 211))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun37 : FunOK program krate flags 37 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 212)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 212))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 213)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 213))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 214)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 214))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 215)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 215))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 216)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 216))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 217)), .wild, .wild]) (.mk [] (.move (.generated .part 217))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 218)), .wild]) (.mk [] (.move (.generated .part 218))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 219))]) (.mk [] (.move (.generated .part 219))))])]), [(0, (.adt 3), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 212))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 213))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 214))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 215))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 216))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 217))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 218))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 219))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun38 : FunOK program krate flags 38 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 220)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 220))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 221)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 221))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 222)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 222))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 223)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 223))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 224)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 224))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 225)), .wild, .wild]) (.mk [] (.move (.generated .part 225))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 226)), .wild]) (.mk [] (.move (.generated .part 226))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 227))]) (.mk [] (.move (.generated .part 227))))])]), [(0, (.adt 3), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 220))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 221))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 222))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 223))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 224))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 225))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 226))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 227))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun39 : FunOK program krate flags 39 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 228)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 228))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 229)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 229))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 230)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 230))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 231)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 231))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 232)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 232))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 233)), .wild, .wild]) (.mk [] (.move (.generated .part 233))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 234)), .wild]) (.mk [] (.move (.generated .part 234))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 235))]) (.mk [] (.move (.generated .part 235))))])]), [(0, (.adt 3), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 228))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 229))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 230))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 231))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 232))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 233))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 234))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 235))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun40 : FunOK program krate flags 40 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 236)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 236))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 237)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 237))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 238)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 238))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 239)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 239))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 240)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 240))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 241)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 241))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 242)), .wild]) (.mk [] (.move (.generated .part 242))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 243))]) (.mk [] (.move (.generated .part 243))))])]), [(0, (.adt 3), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 236))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 237))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 238))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 239))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 240))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 241))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 242))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 243))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun41 : FunOK program krate flags 41 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 244)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 244))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 245)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 245))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 246)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 246))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 247)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 247))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 248)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 248))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 249)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 249))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 250)), .wild, .wild]) (.mk [] (.move (.generated .part 250))))]), (.lit (.nat 1)), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 251))]) (.mk [] (.move (.generated .part 251))))])]), [(0, (.adt 3), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 244))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 245))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 246))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 247))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 248))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 249))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 250))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 251))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun42 : FunOK program krate flags 42 := + ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.construct (.adt 3 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [(.bind (.generated .part 252)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 252))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 253)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 253))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 254)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 254))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 255)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 255))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 256)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 256))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 257)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 257))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 258)), .wild, .wild]) (.mk [] (.move (.generated .part 258))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 259)), .wild]) (.mk [] (.move (.generated .part 259))))]), (.block (.mk [(.mk (.bind (.generated .operand 261)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 260))]) (.mk [] (.move (.generated .part 260))))])), (.mk (.bind (.generated .operand 262)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 261)), (.move (.generated .operand 262))] true)))])), [(0, (.adt 3), (some 0))], rfl, rfl, + (Corr.fOfB (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 252))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 253))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 254))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 255))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 256))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 257))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 258))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 259))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 261)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 260))]) (.mk [] (.move (.generated .part 260))))])), (.mk (.bind (.generated .operand 262)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 261)), (.move (.generated .operand 262))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 260))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | 4 => exact fun4 + | 5 => exact fun5 + | 6 => exact fun6 + | 7 => exact fun7 + | 8 => exact fun8 + | 9 => exact fun9 + | 10 => exact fun10 + | 11 => exact fun11 + | 12 => exact fun12 + | 13 => exact fun13 + | 14 => exact fun14 + | 15 => exact fun15 + | 16 => exact fun16 + | 17 => exact fun17 + | 18 => exact fun18 + | 19 => exact fun19 + | 20 => exact fun20 + | 21 => exact fun21 + | 22 => exact fun22 + | 23 => exact fun23 + | 24 => exact fun24 + | 25 => exact fun25 + | 26 => exact fun26 + | 27 => exact fun27 + | 28 => exact fun28 + | 29 => exact fun29 + | 30 => exact fun30 + | 31 => exact fun31 + | 32 => exact fun32 + | 33 => exact fun33 + | 34 => exact fun34 + | 35 => exact fun35 + | 36 => exact fun36 + | 37 => exact fun37 + | 38 => exact fun38 + | 39 => exact fun39 + | 40 => exact fun40 + | 41 => exact fun41 + | 42 => exact fun42 + | _ + 43 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R3.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R3.lean new file mode 100644 index 000000000..2c802a2ad --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R3.lean @@ -0,0 +1,349 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Reasoning.Budget +import Reasoning.Clinic +import Reasoning.Main +import Reasoning.Planner +import Reasoning.Screening +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [{ constructors := [[], [], [.nat]] }, + { constructors := [[(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]] }, + { constructors := [[(.pair .nat .nat), (.list (.adt 0))]] }, + { constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }], functions := (( + { parameters := [0], types := [.nat], result := .nat, + body := (.«match» .nat (.call 1 [(.var 0)]) [(.arm .ok [1] (.first (.var 1))), (.arm .error [2] (.value .nat (.nat 9)))]) }) ::( + { parameters := [0], types := [.nat], result := (.result (.pair .nat .nat) (.pair .bool .bool)), + body := (.«match» (.result (.pair .nat .nat) (.pair .bool .bool)) (.call 2 [(.var 0)]) [(.arm .ok [1] (.build .ok (.result (.pair .nat .nat) (.pair .bool .bool)) [(.first (.var 1))])), (.arm .error [2] (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.var 2)]))]) }) ::( + { parameters := [0], types := [.nat], result := (.result (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool)), + body := (.«let» 1 (.pair (.adt 1) .bool) (.call 3 [(.var 0)]) (.«match» (.result (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool)) (.field (.first (.var 1)) 2) [(.arm .some [2] (.build .ok (.result (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool)) [(.build .pair (.pair (.pair .nat .nat) (.list (.adt 0))) [(.first (.var 2)), (.field (.second (.var 2)) 1)])])), (.arm .none [] (.build .error (.result (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool)) [(.call 4 [(.second (.var 1)), (.field (.first (.var 1)) 3)])]))])) }) ::( + { parameters := [0], types := [.nat], result := (.pair (.adt 1) .bool), + body := (.call 5 [(.closure 6 [(.var 0)]), (.prim .natMul [(.var 0), (.value .nat (.nat 8))]), (.call 7 [(.var 0)])]) }) ::( + { parameters := [0, 1], types := [.bool, .bool], result := (.pair .bool .bool), + body := (.cond (.cond (.var 0) (.prim .boolNot [(.var 1)]) (.build .false .bool [])) (.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])]) (.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])) }) ::( + { parameters := [0, 1, 2], types := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)], result := (.pair (.adt 1) .bool), + body := (.«match» (.pair (.adt 1) .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair (.adt 1) .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 5 [(.var 0), (.var 3), (.var 4)]))]))]) }) ::( + { parameters := [0, 1], types := [.nat, (.adt 1)], result := (.option (.adt 1)), + body := (.call 8 [(.var 0), (.var 1)]) }) ::( + { parameters := [0], types := [.nat], result := (.adt 1), + body := (.«let» 1 (.list (.adt 2)) (.call 9 [(.closure 10 [(.var 0)]), (.build .nil (.list (.adt 2)) []), (.build .cons (.list (.adt 2)) [(.build (.adt 0) (.adt 2) [(.call 11 [(.var 0)]), (.build .nil (.list (.adt 0)) [])]), (.build .nil (.list (.adt 2)) [])])]) (.build (.adt 0) (.adt 1) [(.var 1), (.call 12 [(.build .nil (.list (.pair .nat .nat)) []), (.call 11 [(.var 0)])]), (.build .none (.option (.pair (.pair .nat .nat) (.adt 2))) []), (.prim .natLt [(.prim .natAdd [(.var 0), (.var 0)]), (.value .nat (.nat 1))]), (.build (.adt 0) (.adt 3) [(.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.prim .length [(.var 1)])])])) }) ::( + { parameters := [0, 1], types := [.nat, (.adt 1)], result := (.option (.adt 1)), + body := (.«match» (.option (.adt 1)) (.field (.var 1) 2) [(.arm .some [2] (.build .none (.option (.adt 1)) [])), (.arm .none [] (.«match» (.option (.adt 1)) (.field (.var 1) 0) [(.arm .nil [] (.build .none (.option (.adt 1)) [])), (.arm .cons [3, 4] (.«match» (.option (.adt 1)) (.call 13 [(.var 0), (.field (.var 3) 0)]) [(.arm .some [5] (.build .some (.option (.adt 1)) [(.build (.adt 0) (.adt 1) [(.var 4), (.field (.var 1) 1), (.build .some (.option (.pair (.pair .nat .nat) (.adt 2))) [(.build .pair (.pair (.pair .nat .nat) (.adt 2)) [(.var 5), (.var 3)])]), (.field (.var 1) 3), (.build (.adt 0) (.adt 3) [(.prim .natAdd [(.field (.field (.var 1) 4) 0), (.value .nat (.nat 1))]), (.field (.field (.var 1) 4) 1), (.field (.field (.var 1) 4) 2), (.field (.field (.var 1) 4) 3), (.prim .natAdd [(.field (.field (.var 1) 4) 4), (.value .nat (.nat 1))]), (.field (.field (.var 1) 4) 5)])])])), (.arm .none [] (.«let» 6 (.list (.adt 2)) (.call 14 [(.var 3)]) (.«let» 7 (.pair (.list (.adt 2)) (.list (.pair .nat .nat))) (.call 15 [(.field (.var 1) 1), (.var 6)]) (.«let» 8 (.list (.adt 2)) (.prim .append [(.var 4), (.first (.var 7))]) (.«let» 9 (.list (.adt 2)) (.call 9 [(.closure 16 [(.var 0)]), (.build .nil (.list (.adt 2)) []), (.var 8)]) (.build .some (.option (.adt 1)) [(.build (.adt 0) (.adt 1) [(.var 9), (.second (.var 7)), (.build .none (.option (.pair (.pair .nat .nat) (.adt 2))) []), (.cond (.field (.var 1) 3) (.build .true .bool []) (.prim .natLt [(.prim .natAdd [(.var 0), (.var 0)]), (.prim .length [(.var 8)])])), (.build (.adt 0) (.adt 3) [(.prim .natAdd [(.field (.field (.var 1) 4) 0), (.value .nat (.nat 1))]), (.prim .natAdd [(.field (.field (.var 1) 4) 1), (.call 17 [(.field (.var 3) 0)])]), (.prim .natAdd [(.field (.field (.var 1) 4) 2), (.prim .length [(.var 6)])]), (.prim .natAdd [(.field (.field (.var 1) 4) 3), (.value .nat (.nat 1))]), (.prim .natAdd [(.field (.field (.var 1) 4) 4), (.value .nat (.nat 1))]), (.cond (.prim .natLt [(.field (.field (.var 1) 4) 5), (.prim .length [(.var 9)])]) (.prim .length [(.var 9)]) (.field (.field (.var 1) 4) 5))])])]))))))]))]))]) }) ::( + { parameters := [0, 1, 2], types := [(.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (.list (.adt 2)), (.list (.adt 2))], result := (.list (.adt 2)), + body := (.«match» (.list (.adt 2)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 9 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }) ::( + { parameters := [0, 1, 2], types := [.nat, (.list (.adt 2)), (.adt 2)], result := (.list (.adt 2)), + body := (.cond (.prim .natLt [(.prim .length [(.var 1)]), (.prim .natAdd [(.var 0), (.var 0)])]) (.prim .append [(.var 1), (.build .cons (.list (.adt 2)) [(.var 2), (.build .nil (.list (.adt 2)) [])])]) (.var 1)) }) ::( + { parameters := [0], types := [.nat], result := (.pair .nat .nat), + body := (.build .pair (.pair .nat .nat) [(.value .nat (.nat 0)), (.value .nat (.nat 0))]) }) ::( + { parameters := [0, 1], types := [(.list (.pair .nat .nat)), (.pair .nat .nat)], result := (.list (.pair .nat .nat)), + body := (.«match» (.list (.pair .nat .nat)) (.var 0) [(.arm .nil [] (.build .cons (.list (.pair .nat .nat)) [(.var 1), (.build .nil (.list (.pair .nat .nat)) [])])), (.arm .cons [2, 3] (.«match» (.list (.pair .nat .nat)) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list (.pair .nat .nat)) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list (.pair .nat .nat)) [(.var 2), (.call 12 [(.var 3), (.var 1)])]))]))]) }) ::( + { parameters := [0, 1], types := [.nat, (.pair .nat .nat)], result := (.option (.pair .nat .nat)), + body := (.«match» (.option (.pair .nat .nat)) (.call 18 [(.var 1)]) [(.arm .none [] (.build .none (.option (.pair .nat .nat)) [])), (.arm .some [2] (.cond (.call 19 [(.var 0), (.var 2)]) (.build .some (.option (.pair .nat .nat)) [(.var 2)]) (.build .none (.option (.pair .nat .nat)) [])))]) }) ::( + { parameters := [0], types := [(.adt 2)], result := (.list (.adt 2)), + body := (.prim .append [(.call 20 [(.var 0)]), (.prim .append [(.call 21 [(.var 0)]), (.call 22 [(.var 0)])])]) }) ::( + { parameters := [0, 1], types := [(.list (.pair .nat .nat)), (.list (.adt 2))], result := (.pair (.list (.adt 2)) (.list (.pair .nat .nat))), + body := (.call 23 [(.closure 24 []), (.build .pair (.pair (.list (.adt 2)) (.list (.pair .nat .nat))) [(.build .nil (.list (.adt 2)) []), (.var 0)]), (.var 1)]) }) ::( + { parameters := [0, 1, 2], types := [.nat, (.list (.adt 2)), (.adt 2)], result := (.list (.adt 2)), + body := (.cond (.prim .natLt [(.prim .length [(.var 1)]), (.prim .natAdd [(.var 0), (.var 0)])]) (.prim .append [(.var 1), (.build .cons (.list (.adt 2)) [(.var 2), (.build .nil (.list (.adt 2)) [])])]) (.var 1)) }) ::( + { parameters := [0], types := [(.pair .nat .nat)], result := .nat, + body := (.prim .natAdd [(.value .nat (.nat 1)), (.prim .natAdd [(.value .nat (.nat 1)), (.prim .length [(.call 25 [(.var 0)])])])]) }) ::( + { parameters := [0], types := [(.pair .nat .nat)], result := (.option (.pair .nat .nat)), + body := (.build .some (.option (.pair .nat .nat)) [(.var 0)]) }) ::( + { parameters := [0, 1], types := [.nat, (.pair .nat .nat)], result := .bool, + body := (.cond (.prim .natEq [(.second (.var 1)), (.var 0)]) (.prim .natLe [(.first (.var 1)), (.value .nat (.nat 4))]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 2)], result := (.list (.adt 2)), + body := (.«match» (.list (.adt 2)) (.call 26 [(.field (.var 0) 0), (.build (.adt 0) (.adt 0) [])]) [(.arm .none [] (.build .nil (.list (.adt 2)) [])), (.arm .some [1] (.build .cons (.list (.adt 2)) [(.build (.adt 0) (.adt 2) [(.var 1), (.prim .append [(.field (.var 0) 1), (.build .cons (.list (.adt 0)) [(.build (.adt 0) (.adt 0) []), (.build .nil (.list (.adt 0)) [])])])]), (.build .nil (.list (.adt 2)) [])]))]) }) ::( + { parameters := [0], types := [(.adt 2)], result := (.list (.adt 2)), + body := (.«match» (.list (.adt 2)) (.call 26 [(.field (.var 0) 0), (.build (.adt 1) (.adt 0) [])]) [(.arm .none [] (.build .nil (.list (.adt 2)) [])), (.arm .some [1] (.build .cons (.list (.adt 2)) [(.build (.adt 0) (.adt 2) [(.var 1), (.prim .append [(.field (.var 0) 1), (.build .cons (.list (.adt 0)) [(.build (.adt 1) (.adt 0) []), (.build .nil (.list (.adt 0)) [])])])]), (.build .nil (.list (.adt 2)) [])]))]) }) ::( + { parameters := [0], types := [(.adt 2)], result := (.list (.adt 2)), + body := (.call 27 [(.closure 28 [(.var 0)]), (.build .nil (.list (.adt 2)) []), (.call 25 [(.field (.var 0) 0)])]) }) ::( + { parameters := [0, 1, 2], types := [(.fn [(.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.adt 2)] (.pair (.list (.adt 2)) (.list (.pair .nat .nat)))), (.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.list (.adt 2))], result := (.pair (.list (.adt 2)) (.list (.pair .nat .nat))), + body := (.«match» (.pair (.list (.adt 2)) (.list (.pair .nat .nat))) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 23 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }) ::( + { parameters := [0, 1], types := [(.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.adt 2)], result := (.pair (.list (.adt 2)) (.list (.pair .nat .nat))), + body := (.cond (.call 29 [(.second (.var 0)), (.field (.var 1) 0)]) (.var 0) (.build .pair (.pair (.list (.adt 2)) (.list (.pair .nat .nat))) [(.prim .append [(.first (.var 0)), (.build .cons (.list (.adt 2)) [(.var 1), (.build .nil (.list (.adt 2)) [])])]), (.call 12 [(.second (.var 0)), (.field (.var 1) 0)])])) }) ::( + { parameters := [0], types := [(.pair .nat .nat)], result := (.list .nat), + body := (.build .cons (.list .nat) [(.value .nat (.nat 1)), (.build .cons (.list .nat) [(.value .nat (.nat 2)), (.build .cons (.list .nat) [(.value .nat (.nat 3)), (.build .nil (.list .nat) [])])])]) }) ::( + { parameters := [0, 1], types := [(.pair .nat .nat), (.adt 0)], result := (.option (.pair .nat .nat)), + body := (.«match» (.option (.pair .nat .nat)) (.var 1) [(.arm (.adt 0) [] (.call 30 [(.var 0)])), (.arm (.adt 1) [] (.call 31 [(.var 0)])), (.arm (.adt 2) [2] (.call 32 [(.var 0), (.var 2)]))]) }) ::( + { parameters := [0, 1, 2], types := [(.fn [(.list (.adt 2)), .nat] (.list (.adt 2))), (.list (.adt 2)), (.list .nat)], result := (.list (.adt 2)), + body := (.«match» (.list (.adt 2)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 27 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }) ::( + { parameters := [0, 1, 2], types := [(.adt 2), (.list (.adt 2)), .nat], result := (.list (.adt 2)), + body := (.call 33 [(.var 0), (.var 1), (.var 2)]) }) ::( + { parameters := [0, 1], types := [(.list (.pair .nat .nat)), (.pair .nat .nat)], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .false .bool [])), (.arm .cons [2, 3] (.«match» .bool (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .false .bool [])), (.arm .eq [] (.build .true .bool [])), (.arm .gt [] (.call 29 [(.var 3), (.var 1)]))]))]) }) ::( + { parameters := [0], types := [(.pair .nat .nat)], result := (.option (.pair .nat .nat)), + body := (.cond (.call 34 [(.var 0)]) (.build .some (.option (.pair .nat .nat)) [(.call 35 [(.var 0)])]) (.build .none (.option (.pair .nat .nat)) [])) }) ::( + { parameters := [0], types := [(.pair .nat .nat)], result := (.option (.pair .nat .nat)), + body := (.cond (.call 36 [(.var 0)]) (.build .some (.option (.pair .nat .nat)) [(.call 37 [(.var 0)])]) (.build .none (.option (.pair .nat .nat)) [])) }) ::( + { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := (.option (.pair .nat .nat)), + body := (.cond (.call 38 [(.var 0), (.var 1)]) (.build .some (.option (.pair .nat .nat)) [(.call 39 [(.var 0), (.var 1)])]) (.build .none (.option (.pair .nat .nat)) [])) }) ::( + { parameters := [0, 1, 2], types := [(.adt 2), (.list (.adt 2)), .nat], result := (.list (.adt 2)), + body := (.«match» (.list (.adt 2)) (.call 26 [(.field (.var 0) 0), (.build (.adt 2) (.adt 0) [(.var 2)])]) [(.arm .none [] (.var 1)), (.arm .some [3] (.prim .append [(.var 1), (.build .cons (.list (.adt 2)) [(.build (.adt 0) (.adt 2) [(.var 3), (.prim .append [(.field (.var 0) 1), (.build .cons (.list (.adt 0)) [(.build (.adt 2) (.adt 0) [(.var 2)]), (.build .nil (.list (.adt 0)) [])])])]), (.build .nil (.list (.adt 2)) [])])]))]) }) ::( + { parameters := [0], types := [(.pair .nat .nat)], result := .bool, + body := (.cond (.prim .natLt [(.first (.var 0)), (.value .nat (.nat 4))]) (.prim .natLe [(.second (.var 0)), (.value .nat (.nat 3))]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.pair .nat .nat)], result := (.pair .nat .nat), + body := (.build .pair (.pair .nat .nat) [(.value .nat (.nat 4)), (.second (.var 0))]) }) ::( + { parameters := [0], types := [(.pair .nat .nat)], result := .bool, + body := (.cond (.prim .natLt [(.value .nat (.nat 0)), (.second (.var 0))]) (.prim .natLe [(.first (.var 0)), (.value .nat (.nat 4))]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.pair .nat .nat)], result := (.pair .nat .nat), + body := (.build .pair (.pair .nat .nat) [(.first (.var 0)), (.value .nat (.nat 0))]) }) ::( + { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := .bool, + body := (.cond (.prim .natLe [(.var 1), (.first (.var 0))]) (.cond (.prim .natLe [(.prim .natAdd [(.second (.var 0)), (.var 1)]), (.value .nat (.nat 3))]) (.prim .natLe [(.first (.var 0)), (.value .nat (.nat 4))]) (.build .false .bool [])) (.build .false .bool [])) }) ::( + { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := (.pair .nat .nat), + body := (.build .pair (.pair .nat .nat) [(.prim .natSub [(.first (.var 0)), (.var 1)]), (.prim .natAdd [(.second (.var 0)), (.var 1)])]) }) ::[]) } + +def __enc_0 : (Reasoning.Planner.Plan.Step) -> _root_.LexLeanTarget.TargetSyntax.Value + | Reasoning.Planner.Plan.Step.FillA => _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [] + | Reasoning.Planner.Plan.Step.EmptyB => _root_.LexLeanTarget.TargetSyntax.Value.adt 1 [] + | Reasoning.Planner.Plan.Step.Pour __x0 => _root_.LexLeanTarget.TargetSyntax.Value.adt 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat __x0)] + +def __enc_2 (__s : (Reasoning.Planner.Plan.Node)) : _root_.LexLeanTarget.TargetSyntax.Value := + _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (__s).state), ((_root_.LexLeanPreservation.encList __enc_0) (__s).trace)] + +def __enc_3 (__s : (Reasoning.Planner.Plan.Ledger)) : _root_.LexLeanTarget.TargetSyntax.Value := + _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).iterations), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).attempts), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).firings), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).expansions), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).verifications), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).frontier)] + +def __enc_1 (__s : (Reasoning.Planner.Plan.Search)) : _root_.LexLeanTarget.TargetSyntax.Value := + _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [((_root_.LexLeanPreservation.encList __enc_2) (__s).frontier), ((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (__s).visited), ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) __enc_2)) (__s).found), (_root_.LexLeanTarget.TargetSyntax.Value.bool (__s).truncated), (__enc_3 (__s).ledger)] + +def __fits_18 (jugs : (Prod Nat Nat)) : Bool := + ((Bool.true && Bool.true) && Bool.true) + +theorem __rel_18 (jugs : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 18 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) jugs)] (_root_.LexLeanPreservation.Rel (__fits_18 jugs) ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Reasoning.Planner.Plan.extract jugs))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) + +def __fits_19 (target : Nat) (r : (Prod Nat Nat)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (r).2 target) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) + +theorem __rel_19 (target : Nat) (r : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 19 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target), ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) r)] (_root_.LexLeanPreservation.Rel (__fits_19 target r) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Planner.measuresCheck target r))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.ble (r).1 (4 : Nat)))) (Nat.beq (r).2 target) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (r).2 target)) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe (r).1 (4 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_13 (target : Nat) (_ys : (Prod Nat Nat)) : Bool := + (((Bool.true && Bool.true) && (__fits_18 (_ys))) && (match (Reasoning.Planner.Plan.extract (_ys)) with | Option.none => (Bool.true && Bool.true) | Option.some _yv => (((Bool.true && (Bool.true && Bool.true)) && (__fits_19 (target) (_yv))) && (if (Reasoning.Planner.measuresCheck (target) (_yv)) then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) + +attribute [local irreducible] Reasoning.Planner.Plan.extract Reasoning.Planner.measuresCheck in +theorem __rel_13 (target : Nat) (_ys : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 13 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target), ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _ys)] (_root_.LexLeanPreservation.Rel (__fits_13 target _ys) ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Reasoning.Planner.Plan.accept target _ys))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun (__a : (Option (Prod Nat Nat))) => (match __a with | Option.none => (Bool.true && Bool.true) | Option.some _yv => (((Bool.true && (Bool.true && Bool.true)) && (__fits_19 (target) (_yv))) && (if (Reasoning.Planner.measuresCheck (target) (_yv)) then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Prod Nat Nat))) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (match __a with | Option.none => (Option.none : (Option (Prod Nat Nat))) | Option.some _yv => (if (Reasoning.Planner.measuresCheck (target) (_yv)) then (Option.some (_yv) : (Option (Prod Nat Nat))) else (Option.none : (Option (Prod Nat Nat)))))) (Reasoning.Planner.Plan.extract (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_18 (_ys))) (fun (__a : (Option (Prod Nat Nat))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | Option.some _yv => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (Option.some (_yv) : (Option (Prod Nat Nat))) else (Option.none : (Option (Prod Nat Nat))))) (Reasoning.Planner.measuresCheck (target) (_yv)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_19 (target) (_yv))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) + +def __fits_34 (s : (Prod Nat Nat)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.blt (s).1 (4 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) + +theorem __rel_34 (s : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 34 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s)] (_root_.LexLeanPreservation.Rel (__fits_34 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Planner.FillA.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.ble (s).2 (3 : Nat)))) (Nat.blt (s).1 (4 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (s).1 (4 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe (s).2 (3 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_35 (s : (Prod Nat Nat)) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_35 (s : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 35 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s)] (_root_.LexLeanPreservation.Rel (__fits_35 s) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Planner.FillA.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) + +def __fits_30 (s : (Prod Nat Nat)) : Bool := + (((Bool.true && Bool.true) && (__fits_34 (s))) && (if (Reasoning.Planner.FillA.guard (s)) then ((((Bool.true && Bool.true) && (__fits_35 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Planner.FillA.conclusion Reasoning.Planner.FillA.guard in +theorem __rel_30 (s : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 30 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s)] (_root_.LexLeanPreservation.Rel (__fits_30 s) ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Reasoning.Planner.FillA.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_35 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (Option.some ((Reasoning.Planner.FillA.conclusion (s))) : (Option (Prod Nat Nat))) else (Option.none : (Option (Prod Nat Nat))))) (Reasoning.Planner.FillA.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_34 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_35 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_36 (s : (Prod Nat Nat)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.blt (0 : Nat) (s).2) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) + +theorem __rel_36 (s : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 36 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s)] (_root_.LexLeanPreservation.Rel (__fits_36 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Planner.EmptyB.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.ble (s).1 (4 : Nat)))) (Nat.blt (0 : Nat) (s).2) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (0 : Nat) (s).2)) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe (s).1 (4 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_37 (s : (Prod Nat Nat)) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_37 (s : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 37 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s)] (_root_.LexLeanPreservation.Rel (__fits_37 s) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Planner.EmptyB.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) + +def __fits_31 (s : (Prod Nat Nat)) : Bool := + (((Bool.true && Bool.true) && (__fits_36 (s))) && (if (Reasoning.Planner.EmptyB.guard (s)) then ((((Bool.true && Bool.true) && (__fits_37 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Planner.EmptyB.conclusion Reasoning.Planner.EmptyB.guard in +theorem __rel_31 (s : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 31 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s)] (_root_.LexLeanPreservation.Rel (__fits_31 s) ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Reasoning.Planner.EmptyB.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_37 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (Option.some ((Reasoning.Planner.EmptyB.conclusion (s))) : (Option (Prod Nat Nat))) else (Option.none : (Option (Prod Nat Nat))))) (Reasoning.Planner.EmptyB.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_36 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_37 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_38 (s : (Prod Nat Nat)) (k : Nat) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.ble k (s).1) then (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).2 + k) 18446744073709551616)) && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.ble ((s).2 + k) (3 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) + +theorem __rel_38 (s : (Prod Nat Nat)) (k : Nat) : _root_.LexLeanPreservation.FunRel __prog 38 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s), (_root_.LexLeanTarget.TargetSyntax.Value.nat k)] (_root_.LexLeanPreservation.Rel (__fits_38 s k) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Planner.Pour.guard s k))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).2 + k) 18446744073709551616)) && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.ble ((s).2 + k) (3 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.ble ((s).2 + k) (3 : Nat)) && (Nat.ble (s).1 (4 : Nat))))) (Nat.ble k (s).1) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe k (s).1)) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.ble (s).1 (4 : Nat)))) (Nat.ble ((s).2 + k) (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (s).2 k)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe ((s).2 + k) (3 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe (s).1 (4 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_39 (s : (Prod Nat Nat)) (k : Nat) : Bool := + ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).2 + k) 18446744073709551616)) && Bool.true)) && Bool.true) + +theorem __rel_39 (s : (Prod Nat Nat)) (k : Nat) : _root_.LexLeanPreservation.FunRel __prog 39 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s), (_root_.LexLeanTarget.TargetSyntax.Value.nat k)] (_root_.LexLeanPreservation.Rel (__fits_39 s k) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Planner.Pour.conclusion s k))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub (s).1 k)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (s).2 k)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) + +def __fits_32 (s : (Prod Nat Nat)) (k : Nat) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && (__fits_38 (s) (k))) && (if (Reasoning.Planner.Pour.guard (s) (k)) then ((((Bool.true && (Bool.true && Bool.true)) && (__fits_39 (s) (k))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Planner.Pour.conclusion Reasoning.Planner.Pour.guard in +theorem __rel_32 (s : (Prod Nat Nat)) (k : Nat) : _root_.LexLeanPreservation.FunRel __prog 32 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s), (_root_.LexLeanTarget.TargetSyntax.Value.nat k)] (_root_.LexLeanPreservation.Rel (__fits_32 s k) ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Reasoning.Planner.Pour.apply s k))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && (Bool.true && Bool.true)) && (__fits_39 (s) (k))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (Option.some ((Reasoning.Planner.Pour.conclusion (s) (k))) : (Option (Prod Nat Nat))) else (Option.none : (Option (Prod Nat Nat))))) (Reasoning.Planner.Pour.guard (s) (k)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_38 (s) (k))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_39 (s) (k))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_26 (_ys : (Prod Nat Nat)) (_ystep : (Reasoning.Planner.Plan.Step)) : Bool := + (Bool.true && (match _ystep with | Reasoning.Planner.Plan.Step.FillA => ((Bool.true && Bool.true) && (__fits_30 (_ys))) | Reasoning.Planner.Plan.Step.EmptyB => ((Bool.true && Bool.true) && (__fits_31 (_ys))) | Reasoning.Planner.Plan.Step.Pour _yb => ((Bool.true && (Bool.true && Bool.true)) && (__fits_32 (_ys) (_yb))))) + +attribute [local irreducible] Reasoning.Planner.EmptyB.apply Reasoning.Planner.FillA.apply Reasoning.Planner.Pour.apply in +theorem __rel_26 (_ys : (Prod Nat Nat)) (_ystep : (Reasoning.Planner.Plan.Step)) : _root_.LexLeanPreservation.FunRel __prog 26 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _ys), (__enc_0 _ystep)] (_root_.LexLeanPreservation.Rel (__fits_26 _ys _ystep) ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Reasoning.Planner.Plan.fire _ys _ystep))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_0 (fun (__a : (Reasoning.Planner.Plan.Step)) => (match __a with | Reasoning.Planner.Plan.Step.FillA => ((Bool.true && Bool.true) && (__fits_30 (_ys))) | Reasoning.Planner.Plan.Step.EmptyB => ((Bool.true && Bool.true) && (__fits_31 (_ys))) | Reasoning.Planner.Plan.Step.Pour _yb => ((Bool.true && (Bool.true && Bool.true)) && (__fits_32 (_ys) (_yb))))) (fun (__a : (Reasoning.Planner.Plan.Step)) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (match __a with | Reasoning.Planner.Plan.Step.FillA => (Reasoning.Planner.FillA.apply (_ys)) | Reasoning.Planner.Plan.Step.EmptyB => (Reasoning.Planner.EmptyB.apply (_ys)) | Reasoning.Planner.Plan.Step.Pour _yb => (Reasoning.Planner.Pour.apply (_ys) (_yb)))) _ystep (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Reasoning.Planner.Plan.Step)) _ => match __a with | Reasoning.Planner.Plan.Step.FillA => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_30 (_ys)))) | Reasoning.Planner.Plan.Step.EmptyB => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_31 (_ys))))) | Reasoning.Planner.Plan.Step.Pour _yb => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_32 (_ys) (_yb)))))))) + +def __fits_20 (_ynode : (Reasoning.Planner.Plan.Node)) : Bool := + (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && (__fits_26 ((_ynode).state) ((Reasoning.Planner.Plan.Step.FillA : (Reasoning.Planner.Plan.Step))))) && (match (Reasoning.Planner.Plan.fire ((_ynode).state) ((Reasoning.Planner.Plan.Step.FillA : (Reasoning.Planner.Plan.Step)))) with | Option.none => (Bool.true && Bool.true) | Option.some _yt => ((((Bool.true && (((Bool.true && ((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true))) + +attribute [local irreducible] Reasoning.Planner.Plan.fire in +theorem __rel_20 (_ynode : (Reasoning.Planner.Plan.Node)) : _root_.LexLeanPreservation.FunRel __prog 20 [(__enc_2 _ynode)] (_root_.LexLeanPreservation.Rel (__fits_20 _ynode) ((_root_.LexLeanPreservation.encList __enc_2) (Reasoning.Planner.Plan.FillA.successors _ynode))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun (__a : (Option (Prod Nat Nat))) => (match __a with | Option.none => (Bool.true && Bool.true) | Option.some _yt => ((((Bool.true && (((Bool.true && ((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true))) (fun (__a : (Option (Prod Nat Nat))) => (_root_.LexLeanPreservation.encList __enc_2) (match __a with | Option.none => ([] : List (Reasoning.Planner.Plan.Node)) | Option.some _yt => (({ state := _yt, trace := (_root_.LexLeanRuntime.append ((_ynode).trace) (((Reasoning.Planner.Plan.Step.FillA : (Reasoning.Planner.Plan.Step)) :: ([] : List (Reasoning.Planner.Plan.Step)))) : (List (Reasoning.Planner.Plan.Step))) } : (Reasoning.Planner.Plan.Node)) :: ([] : List (Reasoning.Planner.Plan.Node))))) (Reasoning.Planner.Plan.fire ((_ynode).state) ((Reasoning.Planner.Plan.Step.FillA : (Reasoning.Planner.Plan.Step)))) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil)) (__rel_26 ((_ynode).state) ((Reasoning.Planner.Plan.Step.FillA : (Reasoning.Planner.Plan.Step))))) (fun (__a : (Option (Prod Nat Nat))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil)) | Option.some _yt => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_0) (_ynode).trace ((Reasoning.Planner.Plan.Step.FillA : (Reasoning.Planner.Plan.Step)) :: ([] : List (Reasoning.Planner.Plan.Step))))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))))) + +def __fits_21 (_ynode : (Reasoning.Planner.Plan.Node)) : Bool := + (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && (__fits_26 ((_ynode).state) ((Reasoning.Planner.Plan.Step.EmptyB : (Reasoning.Planner.Plan.Step))))) && (match (Reasoning.Planner.Plan.fire ((_ynode).state) ((Reasoning.Planner.Plan.Step.EmptyB : (Reasoning.Planner.Plan.Step)))) with | Option.none => (Bool.true && Bool.true) | Option.some _yt => ((((Bool.true && (((Bool.true && ((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true))) + +attribute [local irreducible] Reasoning.Planner.Plan.fire in +theorem __rel_21 (_ynode : (Reasoning.Planner.Plan.Node)) : _root_.LexLeanPreservation.FunRel __prog 21 [(__enc_2 _ynode)] (_root_.LexLeanPreservation.Rel (__fits_21 _ynode) ((_root_.LexLeanPreservation.encList __enc_2) (Reasoning.Planner.Plan.EmptyB.successors _ynode))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun (__a : (Option (Prod Nat Nat))) => (match __a with | Option.none => (Bool.true && Bool.true) | Option.some _yt => ((((Bool.true && (((Bool.true && ((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true))) (fun (__a : (Option (Prod Nat Nat))) => (_root_.LexLeanPreservation.encList __enc_2) (match __a with | Option.none => ([] : List (Reasoning.Planner.Plan.Node)) | Option.some _yt => (({ state := _yt, trace := (_root_.LexLeanRuntime.append ((_ynode).trace) (((Reasoning.Planner.Plan.Step.EmptyB : (Reasoning.Planner.Plan.Step)) :: ([] : List (Reasoning.Planner.Plan.Step)))) : (List (Reasoning.Planner.Plan.Step))) } : (Reasoning.Planner.Plan.Node)) :: ([] : List (Reasoning.Planner.Plan.Node))))) (Reasoning.Planner.Plan.fire ((_ynode).state) ((Reasoning.Planner.Plan.Step.EmptyB : (Reasoning.Planner.Plan.Step)))) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil)) (__rel_26 ((_ynode).state) ((Reasoning.Planner.Plan.Step.EmptyB : (Reasoning.Planner.Plan.Step))))) (fun (__a : (Option (Prod Nat Nat))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil)) | Option.some _yt => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_0) (_ynode).trace ((Reasoning.Planner.Plan.Step.EmptyB : (Reasoning.Planner.Plan.Step)) :: ([] : List (Reasoning.Planner.Plan.Step))))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons))))) + +def __fits_25 (s : (Prod Nat Nat)) : Bool := + ((Bool.true && (((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) + +theorem __rel_25 (s : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 25 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s)] (_root_.LexLeanPreservation.Rel (__fits_25 s) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Planner.Pour.candidates s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) + +def __fits_33 (_ynode : (Reasoning.Planner.Plan.Node)) (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yb : Nat) : Bool := + (((Bool.true && (((Bool.true && Bool.true) && Bool.true) && Bool.true)) && (__fits_26 ((_ynode).state) ((Reasoning.Planner.Plan.Step.Pour (_yb) : (Reasoning.Planner.Plan.Step))))) && (match (Reasoning.Planner.Plan.fire ((_ynode).state) ((Reasoning.Planner.Plan.Step.Pour (_yb) : (Reasoning.Planner.Plan.Step)))) with | Option.none => Bool.true | Option.some _yt => ((Bool.true && (((((Bool.true && (((Bool.true && (((((Bool.true && Bool.true) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) + +attribute [local irreducible] Reasoning.Planner.Plan.fire in +theorem __rel_33 (_ynode : (Reasoning.Planner.Plan.Node)) (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yb : Nat) : _root_.LexLeanPreservation.FunRel __prog 33 [(__enc_2 _ynode), ((_root_.LexLeanPreservation.encList __enc_2) _yacc), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yb)] (_root_.LexLeanPreservation.Rel (__fits_33 _ynode _yacc _yb) ((_root_.LexLeanPreservation.encList __enc_2) (Reasoning.Planner.Plan.Pour.collect _ynode _yacc _yb))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun (__a : (Option (Prod Nat Nat))) => (match __a with | Option.none => Bool.true | Option.some _yt => ((Bool.true && (((((Bool.true && (((Bool.true && (((((Bool.true && Bool.true) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) (fun (__a : (Option (Prod Nat Nat))) => (_root_.LexLeanPreservation.encList __enc_2) (match __a with | Option.none => _yacc | Option.some _yt => (_root_.LexLeanRuntime.append (_yacc) ((({ state := _yt, trace := (_root_.LexLeanRuntime.append ((_ynode).trace) (((Reasoning.Planner.Plan.Step.Pour (_yb) : (Reasoning.Planner.Plan.Step)) :: ([] : List (Reasoning.Planner.Plan.Step)))) : (List (Reasoning.Planner.Plan.Step))) } : (Reasoning.Planner.Plan.Node)) :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))))) (Reasoning.Planner.Plan.fire ((_ynode).state) ((Reasoning.Planner.Plan.Step.Pour (_yb) : (Reasoning.Planner.Plan.Step)))) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil)) (__rel_26 ((_ynode).state) ((Reasoning.Planner.Plan.Step.Pour (_yb) : (Reasoning.Planner.Plan.Step))))) (fun (__a : (Option (Prod Nat Nat))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | Option.some _yt => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_0) (_ynode).trace ((Reasoning.Planner.Plan.Step.Pour (_yb) : (Reasoning.Planner.Plan.Step)) :: ([] : List (Reasoning.Planner.Plan.Step))))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_2) _yacc (({ state := _yt, trace := (_root_.LexLeanRuntime.append ((_ynode).trace) (((Reasoning.Planner.Plan.Step.Pour (_yb) : (Reasoning.Planner.Plan.Step)) :: ([] : List (Reasoning.Planner.Plan.Step)))) : (List (Reasoning.Planner.Plan.Step))) } : (Reasoning.Planner.Plan.Node)) :: ([] : List (Reasoning.Planner.Plan.Node))))))))) + +def __fits_28 (_ynode : (Reasoning.Planner.Plan.Node)) (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yb : Nat) : Bool := + ((Bool.true && (Bool.true && (Bool.true && Bool.true))) && (__fits_33 (_ynode) (_yacc) (_yb))) + +attribute [local irreducible] Reasoning.Planner.Plan.Pour.collect in +theorem __rel_28 (_ynode : (Reasoning.Planner.Plan.Node)) (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yb : Nat) : _root_.LexLeanPreservation.FunRel __prog 28 [(__enc_2 _ynode), ((_root_.LexLeanPreservation.encList __enc_2) _yacc), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yb)] (_root_.LexLeanPreservation.Rel (__fits_28 _ynode _yacc _yb) ((_root_.LexLeanPreservation.encList __enc_2) ((Reasoning.Planner.Plan.Pour.collect (_ynode) (_yacc) (_yb))))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (__rel_33 (_ynode) (_yacc) (_yb))) + +def __fits_22 (_ynode : (Reasoning.Planner.Plan.Node)) : Bool := + (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && (((Bool.true && Bool.true) && (__fits_25 ((_ynode).state))) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List (Reasoning.Planner.Plan.Node))) (__p1 : Nat) => __fits_28 (_ynode) __p0 __p1) ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yb : Nat) => (Reasoning.Planner.Plan.Pour.collect (_ynode) (_yacc) (_yb)))) (([] : List (Reasoning.Planner.Plan.Node))) ((Reasoning.Planner.Pour.candidates ((_ynode).state))))) + +attribute [local irreducible] Reasoning.Planner.Plan.Pour.collect Reasoning.Planner.Pour.candidates in +theorem __rel_22 (_ynode : (Reasoning.Planner.Plan.Node)) : _root_.LexLeanPreservation.FunRel __prog 22 [(__enc_2 _ynode)] (_root_.LexLeanPreservation.Rel (__fits_22 _ynode) ((_root_.LexLeanPreservation.encList __enc_2) (Reasoning.Planner.Plan.Pour.successors _ynode))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_25 ((_ynode).state))) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.nat) (es := (_root_.LexLeanPreservation.encList __enc_2)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yb : Nat) => (Reasoning.Planner.Plan.Pour.collect (_ynode) (_yacc) (_yb)))) (fun (__p0 : (List (Reasoning.Planner.Plan.Node))) (__p1 : Nat) => __fits_28 (_ynode) __p0 __p1) 28 [(__enc_2 _ynode)] (fun (__p0 : (List (Reasoning.Planner.Plan.Node))) (__p1 : Nat) => __rel_28 (_ynode) __p0 __p1) (p := __prog) (fi := 27) (ta := .nat) (ts := (.list (.adt 2))) rfl (([] : List (Reasoning.Planner.Plan.Node))) ((Reasoning.Planner.Pour.candidates ((_ynode).state))))) + +def __fits_14 (_ynode : (Reasoning.Planner.Plan.Node)) : Bool := + ((((Bool.true && Bool.true) && (__fits_20 (_ynode))) && (((((Bool.true && Bool.true) && (__fits_21 (_ynode))) && (((Bool.true && Bool.true) && (__fits_22 (_ynode))) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) + +attribute [local irreducible] Reasoning.Planner.Plan.EmptyB.successors Reasoning.Planner.Plan.FillA.successors Reasoning.Planner.Plan.Pour.successors in +theorem __rel_14 (_ynode : (Reasoning.Planner.Plan.Node)) : _root_.LexLeanPreservation.FunRel __prog 14 [(__enc_2 _ynode)] (_root_.LexLeanPreservation.Rel (__fits_14 _ynode) ((_root_.LexLeanPreservation.encList __enc_2) (Reasoning.Planner.Plan.successors _ynode))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_20 (_ynode))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_21 (_ynode))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_22 (_ynode))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_2) (Reasoning.Planner.Plan.EmptyB.successors (_ynode)) (Reasoning.Planner.Plan.Pour.successors (_ynode)))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_2) (Reasoning.Planner.Plan.FillA.successors (_ynode)) (_root_.LexLeanRuntime.append ((Reasoning.Planner.Plan.EmptyB.successors (_ynode))) ((Reasoning.Planner.Plan.Pour.successors (_ynode))) : (List (Reasoning.Planner.Plan.Node))))) + +def __fits_24 (_yacc : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat)))) (_yn : (Reasoning.Planner.Plan.Node)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (_root_.LexLeanCollections.setContains ((_yacc).2) ((_yn).state) : Bool) then Bool.true else ((((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) + +theorem __rel_24 (_yacc : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat)))) (_yn : (Reasoning.Planner.Plan.Node)) : _root_.LexLeanPreservation.FunRel __prog 24 [((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList __enc_2) (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat))) _yacc), (__enc_2 _yn)] (_root_.LexLeanPreservation.Rel (__fits_24 _yacc _yn) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList __enc_2) (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat))) ((if (_root_.LexLeanCollections.setContains ((_yacc).2) ((_yn).state) : Bool) then _yacc else ((_root_.LexLeanRuntime.append ((_yacc).1) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))), (_root_.LexLeanCollections.setInsert ((_yacc).2) ((_yn).state) : (List (Prod Nat Nat)))))))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then Bool.true else ((((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList __enc_2) (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat))) (if __b then _yacc else ((_root_.LexLeanRuntime.append ((_yacc).1) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))), (_root_.LexLeanCollections.setInsert ((_yacc).2) ((_yn).state) : (List (Prod Nat Nat)))))) (_root_.LexLeanCollections.setContains ((_yacc).2) ((_yn).state) : Bool) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_setContains (_root_.LexLeanPreservation.keySpec_pair (_root_.LexLeanPreservation.keySpec_nat (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.keySpec_nat (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanCollections.Key.compare : (Prod Nat Nat) -> (Prod Nat Nat) -> Ordering) (fun _ _ __h => by simp only [_root_.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h]) (fun _ _ __h => by simp only [_root_.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h]) (fun _ _ __h => by simp only [_root_.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h])) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) _root_.LexLeanCollections.containsElement (fun _ => rfl) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.containsElement, __h]) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.containsElement, __h]) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.containsElement, __h]) (p := __prog) (fi := 29) (tk := (.pair .nat .nat)) rfl ((_yacc).2) ((_yn).state))) (fun _ => (_root_.LexLeanPreservation.conv_var rfl)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_2) (_yacc).1 (_yn :: ([] : List (Reasoning.Planner.Plan.Node))))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_setInsert (_root_.LexLeanPreservation.keySpec_pair (_root_.LexLeanPreservation.keySpec_nat (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.keySpec_nat (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanCollections.Key.compare : (Prod Nat Nat) -> (Prod Nat Nat) -> Ordering) (fun _ _ __h => by simp only [_root_.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h]) (fun _ _ __h => by simp only [_root_.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h]) (fun _ _ __h => by simp only [_root_.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h])) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) _root_.LexLeanCollections.insertElement (fun _ => rfl) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.insertElement, __h]) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.insertElement, __h]) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.insertElement, __h]) (p := __prog) (fi := 12) (tk := (.pair .nat .nat)) rfl ((_yacc).2) ((_yn).state))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))) + +def __fits_15 (_yvisited : (List (Prod Nat Nat))) (_ynodes : (List (Reasoning.Planner.Plan.Node))) : Bool := + ((Bool.true && ((((Bool.true && Bool.true) && (Bool.true && Bool.true)) && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat)))) (__p1 : (Reasoning.Planner.Plan.Node)) => __fits_24 __p0 __p1) ((fun (_yacc : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat)))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (_root_.LexLeanCollections.setContains ((_yacc).2) ((_yn).state) : Bool) then _yacc else ((_root_.LexLeanRuntime.append ((_yacc).1) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))), (_root_.LexLeanCollections.setInsert ((_yacc).2) ((_yn).state) : (List (Prod Nat Nat))))))) ((([] : List (Reasoning.Planner.Plan.Node)), _yvisited)) (_ynodes))) + +theorem __rel_15 (_yvisited : (List (Prod Nat Nat))) (_ynodes : (List (Reasoning.Planner.Plan.Node))) : _root_.LexLeanPreservation.FunRel __prog 15 [((_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) _yvisited), ((_root_.LexLeanPreservation.encList __enc_2) _ynodes)] (_root_.LexLeanPreservation.Rel (__fits_15 _yvisited _ynodes) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList __enc_2) (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat))) (Reasoning.Planner.Plan.fresh _yvisited _ynodes))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := __enc_2) (es := (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encList __enc_2) (_root_.LexLeanPreservation.encList (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)))) (_root_.LexLeanPreservation.listEnc __enc_2) (fun _ => rfl) ((fun (_yacc : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat)))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (_root_.LexLeanCollections.setContains ((_yacc).2) ((_yn).state) : Bool) then _yacc else ((_root_.LexLeanRuntime.append ((_yacc).1) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))), (_root_.LexLeanCollections.setInsert ((_yacc).2) ((_yn).state) : (List (Prod Nat Nat))))))) (fun (__p0 : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat)))) (__p1 : (Reasoning.Planner.Plan.Node)) => __fits_24 __p0 __p1) 24 [] (fun (__p0 : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat)))) (__p1 : (Reasoning.Planner.Plan.Node)) => __rel_24 __p0 __p1) (p := __prog) (fi := 23) (ta := (.adt 2)) (ts := (.pair (.list (.adt 2)) (.list (.pair .nat .nat)))) rfl ((([] : List (Reasoning.Planner.Plan.Node)), _yvisited)) (_ynodes))) + +def __fits_16 (target : Nat) (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) : Bool := + (((((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (target + target) 18446744073709551616)) && Bool.true)) && Bool.true) && (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then ((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) else Bool.true)) + +theorem __rel_16 (target : Nat) (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) : _root_.LexLeanPreservation.FunRel __prog 16 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target), ((_root_.LexLeanPreservation.encList __enc_2) _yacc), (__enc_2 _yn)] (_root_.LexLeanPreservation.Rel (__fits_16 target _yacc _yn) ((_root_.LexLeanPreservation.encList __enc_2) ((if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc)))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) else Bool.true)) (fun (__b : Bool) => (_root_.LexLeanPreservation.encList __enc_2) (if __b then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc)) (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (target + target)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_2) _yacc)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd target target)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (_root_.LexLeanRuntime.length (_yacc) : Nat) (target + target))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_2) _yacc (_yn :: ([] : List (Reasoning.Planner.Plan.Node)))))) (fun _ => (_root_.LexLeanPreservation.conv_var rfl))) + +def __fits_17 (_ys : (Prod Nat Nat)) : Bool := + ((Bool.true && (((Bool.true && (((((Bool.true && Bool.true) && (__fits_25 (_ys))) && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length ((Reasoning.Planner.Pour.candidates (_ys))) : Nat) 18446744073709551616)) && Bool.true)) && (Nat.blt ((1 : Nat) + (_root_.LexLeanRuntime.length ((Reasoning.Planner.Pour.candidates (_ys))) : Nat)) 18446744073709551616)) && Bool.true)) && (Nat.blt ((1 : Nat) + ((1 : Nat) + (_root_.LexLeanRuntime.length ((Reasoning.Planner.Pour.candidates (_ys))) : Nat))) 18446744073709551616)) + +attribute [local irreducible] Reasoning.Planner.Pour.candidates in +theorem __rel_17 (_ys : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 17 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _ys)] (_root_.LexLeanPreservation.Rel (__fits_17 _ys) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Planner.Plan.attempts _ys))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_25 (_ys))) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Planner.Pour.candidates (_ys)))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (1 : Nat) (_root_.LexLeanRuntime.length ((Reasoning.Planner.Pour.candidates (_ys))) : Nat))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (1 : Nat) ((1 : Nat) + (_root_.LexLeanRuntime.length ((Reasoning.Planner.Pour.candidates (_ys))) : Nat)))) + +def __fits_8 (target : Nat) (_yr : (Reasoning.Planner.Plan.Search)) : Bool := + (Bool.true && (match (_yr).found with | Option.some _yhit => (Bool.true && Bool.true) | Option.none => (Bool.true && (match (_yr).frontier with | List.nil => (Bool.true && Bool.true) | List.cons _ynode _yrest => (((Bool.true && (Bool.true && Bool.true)) && (__fits_13 (target) ((_ynode).state))) && (match (Reasoning.Planner.Plan.accept (target) ((_ynode).state)) with | Option.some _yv => ((((Bool.true && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (Bool.true && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true))))) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_14 (_ynode))) && (let _ysuccessors : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.Plan.successors (_ynode)); (((Bool.true && (Bool.true && Bool.true)) && (__fits_15 ((_yr).visited) (_ysuccessors))) && (let _yfresh : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat))) := (Reasoning.Planner.Plan.fresh ((_yr).visited) (_ysuccessors)); (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (let _yordered : (List (Reasoning.Planner.Plan.Node)) := (_root_.LexLeanRuntime.append (_yrest) ((_yfresh).1) : (List (Reasoning.Planner.Plan.Node))); ((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List (Reasoning.Planner.Plan.Node))) (__p1 : (Reasoning.Planner.Plan.Node)) => __fits_16 (target) __p0 __p1) ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) (_yordered))) && (let _ynext : (List (Reasoning.Planner.Plan.Node)) := (_root_.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) (_yordered) : (List (Reasoning.Planner.Plan.Node))); ((((Bool.true && (Bool.true && ((Bool.true && Bool.true) && ((Bool.true && (if (_yr).truncated then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (target + target) 18446744073709551616)) && (((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_yordered) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true))) && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (__fits_17 ((_ynode).state))) && Bool.true)) && (Nat.blt (((_yr).ledger).attempts + (Reasoning.Planner.Plan.attempts ((_ynode).state))) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_ysuccessors) : Nat) 18446744073709551616)) && Bool.true)) && (Nat.blt (((_yr).ledger).firings + (_root_.LexLeanRuntime.length (_ysuccessors) : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).expansions + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && ((((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true) && (if (Nat.blt ((_yr).ledger).frontier (_root_.LexLeanRuntime.length (_ynext) : Nat)) then ((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) else Bool.true)) && Bool.true)))))) && Bool.true) && Bool.true))))) && Bool.true) && Bool.true) && Bool.true))))))))))))))) + +attribute [local irreducible] Reasoning.Planner.Plan.accept Reasoning.Planner.Plan.attempts Reasoning.Planner.Plan.fresh Reasoning.Planner.Plan.successors in +theorem __rel_8 (target : Nat) (_yr : (Reasoning.Planner.Plan.Search)) : _root_.LexLeanPreservation.FunRel __prog 8 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target), (__enc_1 _yr)] (_root_.LexLeanPreservation.Rel (__fits_8 target _yr) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Planner.Plan.searchStep target _yr))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) __enc_2)) (fun (__a : (Option (Prod (Prod Nat Nat) (Reasoning.Planner.Plan.Node)))) => (match __a with | Option.some _yhit => (Bool.true && Bool.true) | Option.none => (Bool.true && (match (_yr).frontier with | List.nil => (Bool.true && Bool.true) | List.cons _ynode _yrest => (((Bool.true && (Bool.true && Bool.true)) && (__fits_13 (target) ((_ynode).state))) && (match (Reasoning.Planner.Plan.accept (target) ((_ynode).state)) with | Option.some _yv => ((((Bool.true && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (Bool.true && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true))))) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_14 (_ynode))) && (let _ysuccessors : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.Plan.successors (_ynode)); (((Bool.true && (Bool.true && Bool.true)) && (__fits_15 ((_yr).visited) (_ysuccessors))) && (let _yfresh : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat))) := (Reasoning.Planner.Plan.fresh ((_yr).visited) (_ysuccessors)); (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (let _yordered : (List (Reasoning.Planner.Plan.Node)) := (_root_.LexLeanRuntime.append (_yrest) ((_yfresh).1) : (List (Reasoning.Planner.Plan.Node))); ((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List (Reasoning.Planner.Plan.Node))) (__p1 : (Reasoning.Planner.Plan.Node)) => __fits_16 (target) __p0 __p1) ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) (_yordered))) && (let _ynext : (List (Reasoning.Planner.Plan.Node)) := (_root_.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) (_yordered) : (List (Reasoning.Planner.Plan.Node))); ((((Bool.true && (Bool.true && ((Bool.true && Bool.true) && ((Bool.true && (if (_yr).truncated then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (target + target) 18446744073709551616)) && (((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_yordered) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true))) && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (__fits_17 ((_ynode).state))) && Bool.true)) && (Nat.blt (((_yr).ledger).attempts + (Reasoning.Planner.Plan.attempts ((_ynode).state))) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_ysuccessors) : Nat) 18446744073709551616)) && Bool.true)) && (Nat.blt (((_yr).ledger).firings + (_root_.LexLeanRuntime.length (_ysuccessors) : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).expansions + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && ((((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true) && (if (Nat.blt ((_yr).ledger).frontier (_root_.LexLeanRuntime.length (_ynext) : Nat)) then ((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) else Bool.true)) && Bool.true)))))) && Bool.true) && Bool.true))))) && Bool.true) && Bool.true) && Bool.true))))))))))))))) (fun (__a : (Option (Prod (Prod Nat Nat) (Reasoning.Planner.Plan.Node)))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Option.some _yhit => (Option.none : (Option (Reasoning.Planner.Plan.Search))) | Option.none => (match (_yr).frontier with | List.nil => (Option.none : (Option (Reasoning.Planner.Plan.Search))) | List.cons _ynode _yrest => (match (Reasoning.Planner.Plan.accept (target) ((_ynode).state)) with | Option.some _yv => (Option.some (({ frontier := _yrest, visited := (_yr).visited, found := (Option.some ((_yv, _ynode)) : (Option (Prod (Prod Nat Nat) (Reasoning.Planner.Plan.Node)))), truncated := (_yr).truncated, ledger := ({ iterations := (((_yr).ledger).iterations + (1 : Nat)), attempts := ((_yr).ledger).attempts, firings := ((_yr).ledger).firings, expansions := ((_yr).ledger).expansions, verifications := (((_yr).ledger).verifications + (1 : Nat)), frontier := ((_yr).ledger).frontier } : (Reasoning.Planner.Plan.Ledger)) } : (Reasoning.Planner.Plan.Search))) : (Option (Reasoning.Planner.Plan.Search))) | Option.none => (let _ysuccessors : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.Plan.successors (_ynode)); (let _yfresh : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat))) := (Reasoning.Planner.Plan.fresh ((_yr).visited) (_ysuccessors)); (let _yordered : (List (Reasoning.Planner.Plan.Node)) := (_root_.LexLeanRuntime.append (_yrest) ((_yfresh).1) : (List (Reasoning.Planner.Plan.Node))); (let _ynext : (List (Reasoning.Planner.Plan.Node)) := (_root_.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) (_yordered) : (List (Reasoning.Planner.Plan.Node))); (Option.some (({ frontier := _ynext, visited := (_yfresh).2, found := (Option.none : (Option (Prod (Prod Nat Nat) (Reasoning.Planner.Plan.Node)))), truncated := ((_yr).truncated || (Nat.blt (target + target) (_root_.LexLeanRuntime.length (_yordered) : Nat))), ledger := ({ iterations := (((_yr).ledger).iterations + (1 : Nat)), attempts := (((_yr).ledger).attempts + (Reasoning.Planner.Plan.attempts ((_ynode).state))), firings := (((_yr).ledger).firings + (_root_.LexLeanRuntime.length (_ysuccessors) : Nat)), expansions := (((_yr).ledger).expansions + (1 : Nat)), verifications := (((_yr).ledger).verifications + (1 : Nat)), frontier := (if (Nat.blt ((_yr).ledger).frontier (_root_.LexLeanRuntime.length (_ynext) : Nat)) then (_root_.LexLeanRuntime.length (_ynext) : Nat) else ((_yr).ledger).frontier) } : (Reasoning.Planner.Plan.Ledger)) } : (Reasoning.Planner.Plan.Search))) : (Option (Reasoning.Planner.Plan.Search))))))))))) (_yr).found (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (fun (__a : (Option (Prod (Prod Nat Nat) (Reasoning.Planner.Plan.Node)))) _ => match __a with | Option.some _yhit => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList __enc_2) (fun (__a : (List (Reasoning.Planner.Plan.Node))) => (match __a with | List.nil => (Bool.true && Bool.true) | List.cons _ynode _yrest => (((Bool.true && (Bool.true && Bool.true)) && (__fits_13 (target) ((_ynode).state))) && (match (Reasoning.Planner.Plan.accept (target) ((_ynode).state)) with | Option.some _yv => ((((Bool.true && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (Bool.true && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true))))) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_14 (_ynode))) && (let _ysuccessors : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.Plan.successors (_ynode)); (((Bool.true && (Bool.true && Bool.true)) && (__fits_15 ((_yr).visited) (_ysuccessors))) && (let _yfresh : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat))) := (Reasoning.Planner.Plan.fresh ((_yr).visited) (_ysuccessors)); (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (let _yordered : (List (Reasoning.Planner.Plan.Node)) := (_root_.LexLeanRuntime.append (_yrest) ((_yfresh).1) : (List (Reasoning.Planner.Plan.Node))); ((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List (Reasoning.Planner.Plan.Node))) (__p1 : (Reasoning.Planner.Plan.Node)) => __fits_16 (target) __p0 __p1) ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) (_yordered))) && (let _ynext : (List (Reasoning.Planner.Plan.Node)) := (_root_.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) (_yordered) : (List (Reasoning.Planner.Plan.Node))); ((((Bool.true && (Bool.true && ((Bool.true && Bool.true) && ((Bool.true && (if (_yr).truncated then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (target + target) 18446744073709551616)) && (((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_yordered) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true))) && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (__fits_17 ((_ynode).state))) && Bool.true)) && (Nat.blt (((_yr).ledger).attempts + (Reasoning.Planner.Plan.attempts ((_ynode).state))) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_ysuccessors) : Nat) 18446744073709551616)) && Bool.true)) && (Nat.blt (((_yr).ledger).firings + (_root_.LexLeanRuntime.length (_ysuccessors) : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).expansions + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && ((((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true) && (if (Nat.blt ((_yr).ledger).frontier (_root_.LexLeanRuntime.length (_ynext) : Nat)) then ((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) else Bool.true)) && Bool.true)))))) && Bool.true) && Bool.true))))) && Bool.true) && Bool.true) && Bool.true))))))))))))) (fun (__a : (List (Reasoning.Planner.Plan.Node))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | List.nil => (Option.none : (Option (Reasoning.Planner.Plan.Search))) | List.cons _ynode _yrest => (match (Reasoning.Planner.Plan.accept (target) ((_ynode).state)) with | Option.some _yv => (Option.some (({ frontier := _yrest, visited := (_yr).visited, found := (Option.some ((_yv, _ynode)) : (Option (Prod (Prod Nat Nat) (Reasoning.Planner.Plan.Node)))), truncated := (_yr).truncated, ledger := ({ iterations := (((_yr).ledger).iterations + (1 : Nat)), attempts := ((_yr).ledger).attempts, firings := ((_yr).ledger).firings, expansions := ((_yr).ledger).expansions, verifications := (((_yr).ledger).verifications + (1 : Nat)), frontier := ((_yr).ledger).frontier } : (Reasoning.Planner.Plan.Ledger)) } : (Reasoning.Planner.Plan.Search))) : (Option (Reasoning.Planner.Plan.Search))) | Option.none => (let _ysuccessors : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.Plan.successors (_ynode)); (let _yfresh : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat))) := (Reasoning.Planner.Plan.fresh ((_yr).visited) (_ysuccessors)); (let _yordered : (List (Reasoning.Planner.Plan.Node)) := (_root_.LexLeanRuntime.append (_yrest) ((_yfresh).1) : (List (Reasoning.Planner.Plan.Node))); (let _ynext : (List (Reasoning.Planner.Plan.Node)) := (_root_.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) (_yordered) : (List (Reasoning.Planner.Plan.Node))); (Option.some (({ frontier := _ynext, visited := (_yfresh).2, found := (Option.none : (Option (Prod (Prod Nat Nat) (Reasoning.Planner.Plan.Node)))), truncated := ((_yr).truncated || (Nat.blt (target + target) (_root_.LexLeanRuntime.length (_yordered) : Nat))), ledger := ({ iterations := (((_yr).ledger).iterations + (1 : Nat)), attempts := (((_yr).ledger).attempts + (Reasoning.Planner.Plan.attempts ((_ynode).state))), firings := (((_yr).ledger).firings + (_root_.LexLeanRuntime.length (_ysuccessors) : Nat)), expansions := (((_yr).ledger).expansions + (1 : Nat)), verifications := (((_yr).ledger).verifications + (1 : Nat)), frontier := (if (Nat.blt ((_yr).ledger).frontier (_root_.LexLeanRuntime.length (_ynext) : Nat)) then (_root_.LexLeanRuntime.length (_ynext) : Nat) else ((_yr).ledger).frontier) } : (Reasoning.Planner.Plan.Ledger)) } : (Reasoning.Planner.Plan.Search))) : (Option (Reasoning.Planner.Plan.Search)))))))))) (_yr).frontier (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (fun (__a : (List (Reasoning.Planner.Plan.Node))) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | List.cons _ynode _yrest => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun (__a : (Option (Prod Nat Nat))) => (match __a with | Option.some _yv => ((((Bool.true && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (Bool.true && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true))))) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_14 (_ynode))) && (let _ysuccessors : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.Plan.successors (_ynode)); (((Bool.true && (Bool.true && Bool.true)) && (__fits_15 ((_yr).visited) (_ysuccessors))) && (let _yfresh : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat))) := (Reasoning.Planner.Plan.fresh ((_yr).visited) (_ysuccessors)); (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (let _yordered : (List (Reasoning.Planner.Plan.Node)) := (_root_.LexLeanRuntime.append (_yrest) ((_yfresh).1) : (List (Reasoning.Planner.Plan.Node))); ((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List (Reasoning.Planner.Plan.Node))) (__p1 : (Reasoning.Planner.Plan.Node)) => __fits_16 (target) __p0 __p1) ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) (_yordered))) && (let _ynext : (List (Reasoning.Planner.Plan.Node)) := (_root_.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) (_yordered) : (List (Reasoning.Planner.Plan.Node))); ((((Bool.true && (Bool.true && ((Bool.true && Bool.true) && ((Bool.true && (if (_yr).truncated then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (target + target) 18446744073709551616)) && (((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_yordered) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true))) && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (__fits_17 ((_ynode).state))) && Bool.true)) && (Nat.blt (((_yr).ledger).attempts + (Reasoning.Planner.Plan.attempts ((_ynode).state))) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_ysuccessors) : Nat) 18446744073709551616)) && Bool.true)) && (Nat.blt (((_yr).ledger).firings + (_root_.LexLeanRuntime.length (_ysuccessors) : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).expansions + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && ((((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true) && (if (Nat.blt ((_yr).ledger).frontier (_root_.LexLeanRuntime.length (_ynext) : Nat)) then ((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) else Bool.true)) && Bool.true)))))) && Bool.true) && Bool.true))))) && Bool.true) && Bool.true) && Bool.true))))))))))) (fun (__a : (Option (Prod Nat Nat))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Option.some _yv => (Option.some (({ frontier := _yrest, visited := (_yr).visited, found := (Option.some ((_yv, _ynode)) : (Option (Prod (Prod Nat Nat) (Reasoning.Planner.Plan.Node)))), truncated := (_yr).truncated, ledger := ({ iterations := (((_yr).ledger).iterations + (1 : Nat)), attempts := ((_yr).ledger).attempts, firings := ((_yr).ledger).firings, expansions := ((_yr).ledger).expansions, verifications := (((_yr).ledger).verifications + (1 : Nat)), frontier := ((_yr).ledger).frontier } : (Reasoning.Planner.Plan.Ledger)) } : (Reasoning.Planner.Plan.Search))) : (Option (Reasoning.Planner.Plan.Search))) | Option.none => (let _ysuccessors : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.Plan.successors (_ynode)); (let _yfresh : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat))) := (Reasoning.Planner.Plan.fresh ((_yr).visited) (_ysuccessors)); (let _yordered : (List (Reasoning.Planner.Plan.Node)) := (_root_.LexLeanRuntime.append (_yrest) ((_yfresh).1) : (List (Reasoning.Planner.Plan.Node))); (let _ynext : (List (Reasoning.Planner.Plan.Node)) := (_root_.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) (_yordered) : (List (Reasoning.Planner.Plan.Node))); (Option.some (({ frontier := _ynext, visited := (_yfresh).2, found := (Option.none : (Option (Prod (Prod Nat Nat) (Reasoning.Planner.Plan.Node)))), truncated := ((_yr).truncated || (Nat.blt (target + target) (_root_.LexLeanRuntime.length (_yordered) : Nat))), ledger := ({ iterations := (((_yr).ledger).iterations + (1 : Nat)), attempts := (((_yr).ledger).attempts + (Reasoning.Planner.Plan.attempts ((_ynode).state))), firings := (((_yr).ledger).firings + (_root_.LexLeanRuntime.length (_ysuccessors) : Nat)), expansions := (((_yr).ledger).expansions + (1 : Nat)), verifications := (((_yr).ledger).verifications + (1 : Nat)), frontier := (if (Nat.blt ((_yr).ledger).frontier (_root_.LexLeanRuntime.length (_ynext) : Nat)) then (_root_.LexLeanRuntime.length (_ynext) : Nat) else ((_yr).ledger).frontier) } : (Reasoning.Planner.Plan.Ledger)) } : (Reasoning.Planner.Plan.Search))) : (Option (Reasoning.Planner.Plan.Search))))))))) (Reasoning.Planner.Plan.accept (target) ((_ynode).state)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_13 (target) ((_ynode).state))) (fun (__a : (Option (Prod Nat Nat))) _ => match __a with | Option.some _yv => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).iterations (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).verifications (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) _root_.LexLeanPreservation.convL_nil)))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (let _ysuccessors : (List (Reasoning.Planner.Plan.Node)) := (Reasoning.Planner.Plan.successors (_ynode)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_14 (_ynode))) (let _yfresh : (Prod (List (Reasoning.Planner.Plan.Node)) (List (Prod Nat Nat))) := (Reasoning.Planner.Plan.fresh ((_yr).visited) (_ysuccessors)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_15 ((_yr).visited) (_ysuccessors))) (let _yordered : (List (Reasoning.Planner.Plan.Node)) := (_root_.LexLeanRuntime.append (_yrest) ((_yfresh).1) : (List (Reasoning.Planner.Plan.Node))); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_2) _yrest (_yfresh).1)) (let _ynext : (List (Reasoning.Planner.Plan.Node)) := (_root_.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) (_yordered) : (List (Reasoning.Planner.Plan.Node))); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := __enc_2) (es := (_root_.LexLeanPreservation.encList __enc_2)) (_root_.LexLeanPreservation.listEnc __enc_2) (fun _ => rfl) ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (fun (__p0 : (List (Reasoning.Planner.Plan.Node))) (__p1 : (Reasoning.Planner.Plan.Node)) => __fits_16 (target) __p0 __p1) 16 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target)] (fun (__p0 : (List (Reasoning.Planner.Plan.Node))) (__p1 : (Reasoning.Planner.Plan.Node)) => __rel_16 (target) __p0 __p1) (p := __prog) (fi := 9) (ta := (.adt 2)) (ts := (.list (.adt 2))) rfl (([] : List (Reasoning.Planner.Plan.Node))) (_yordered))) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (target + target) 18446744073709551616)) && (((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_yordered) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b || (Nat.blt (target + target) (_root_.LexLeanRuntime.length (_yordered) : Nat)))) (_yr).truncated (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd target target)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_2) _yordered)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (target + target) (_root_.LexLeanRuntime.length (_yordered) : Nat))))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).iterations (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_17 ((_ynode).state))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).attempts (Reasoning.Planner.Plan.attempts ((_ynode).state)))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_2) _ysuccessors)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).firings (_root_.LexLeanRuntime.length (_ysuccessors) : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).expansions (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).verifications (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) else Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.nat (if __b then (_root_.LexLeanRuntime.length (_ynext) : Nat) else ((_yr).ledger).frontier)) (Nat.blt ((_yr).ledger).frontier (_root_.LexLeanRuntime.length (_ynext) : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_2) _ynext)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt ((_yr).ledger).frontier (_root_.LexLeanRuntime.length (_ynext) : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_2) _ynext))) (fun _ => (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl))) _root_.LexLeanPreservation.convL_nil)))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some))))))))))))))))) + +def __fits_6 (target : Nat) (_yr : (Reasoning.Planner.Plan.Search)) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && (__fits_8 (target) (_yr))) + +attribute [local irreducible] Reasoning.Planner.Plan.searchStep in +theorem __rel_6 (target : Nat) (_yr : (Reasoning.Planner.Plan.Search)) : _root_.LexLeanPreservation.FunRel __prog 6 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target), (__enc_1 _yr)] (_root_.LexLeanPreservation.Rel (__fits_6 target _yr) ((_root_.LexLeanPreservation.encOption __enc_1) ((Reasoning.Planner.Plan.searchStep (target) (_yr))))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_8 (target) (_yr))) + +def __fits_10 (target : Nat) (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) : Bool := + (((((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (target + target) 18446744073709551616)) && Bool.true)) && Bool.true) && (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then ((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) else Bool.true)) + +theorem __rel_10 (target : Nat) (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) : _root_.LexLeanPreservation.FunRel __prog 10 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target), ((_root_.LexLeanPreservation.encList __enc_2) _yacc), (__enc_2 _yn)] (_root_.LexLeanPreservation.Rel (__fits_10 target _yacc _yn) ((_root_.LexLeanPreservation.encList __enc_2) ((if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc)))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) else Bool.true)) (fun (__b : Bool) => (_root_.LexLeanPreservation.encList __enc_2) (if __b then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc)) (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (target + target)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_2) _yacc)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd target target)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (_root_.LexLeanRuntime.length (_yacc) : Nat) (target + target))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_2) _yacc (_yn :: ([] : List (Reasoning.Planner.Plan.Node)))))) (fun _ => (_root_.LexLeanPreservation.conv_var rfl))) + +def __fits_11 (target : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_11 (target : Nat) : _root_.LexLeanPreservation.FunRel __prog 11 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target)] (_root_.LexLeanPreservation.Rel (__fits_11 target) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Planner.Plan.observe target))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) + +def __fits_7 (target : Nat) : Bool := + ((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && (((((((Bool.true && Bool.true) && (__fits_11 (target))) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List (Reasoning.Planner.Plan.Node))) (__p1 : (Reasoning.Planner.Plan.Node)) => __fits_10 (target) __p0 __p1) ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) ((({ state := (Reasoning.Planner.Plan.observe (target)), trace := ([] : List (Reasoning.Planner.Plan.Step)) } : (Reasoning.Planner.Plan.Node)) :: ([] : List (Reasoning.Planner.Plan.Node)))))) && (let _yfirst : (List (Reasoning.Planner.Plan.Node)) := (_root_.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) ((({ state := (Reasoning.Planner.Plan.observe (target)), trace := ([] : List (Reasoning.Planner.Plan.Step)) } : (Reasoning.Planner.Plan.Node)) :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))); ((Bool.true && ((((Bool.true && Bool.true) && (((Bool.true && Bool.true) && (__fits_11 (target))) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (target + target) 18446744073709551616)) && (Bool.true && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_yfirst) : Nat) 18446744073709551616)) && Bool.true)))))) && Bool.true) && Bool.true))))) && Bool.true))) + +attribute [local irreducible] Reasoning.Planner.Plan.observe in +theorem __rel_7 (target : Nat) : _root_.LexLeanPreservation.FunRel __prog 7 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target)] (_root_.LexLeanPreservation.Rel (__fits_7 target) (__enc_1 (Reasoning.Planner.Plan.start target))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (let _yfirst : (List (Reasoning.Planner.Plan.Node)) := (_root_.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (([] : List (Reasoning.Planner.Plan.Node))) ((({ state := (Reasoning.Planner.Plan.observe (target)), trace := ([] : List (Reasoning.Planner.Plan.Step)) } : (Reasoning.Planner.Plan.Node)) :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_11 (target))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := __enc_2) (es := (_root_.LexLeanPreservation.encList __enc_2)) (_root_.LexLeanPreservation.listEnc __enc_2) (fun _ => rfl) ((fun (_yacc : (List (Reasoning.Planner.Plan.Node))) (_yn : (Reasoning.Planner.Plan.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (target + target)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Planner.Plan.Node)))) : (List (Reasoning.Planner.Plan.Node))) else _yacc))) (fun (__p0 : (List (Reasoning.Planner.Plan.Node))) (__p1 : (Reasoning.Planner.Plan.Node)) => __fits_10 (target) __p0 __p1) 10 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target)] (fun (__p0 : (List (Reasoning.Planner.Plan.Node))) (__p1 : (Reasoning.Planner.Plan.Node)) => __rel_10 (target) __p0 __p1) (p := __prog) (fi := 9) (ta := (.adt 2)) (ts := (.list (.adt 2))) rfl (([] : List (Reasoning.Planner.Plan.Node))) ((({ state := (Reasoning.Planner.Plan.observe (target)), trace := ([] : List (Reasoning.Planner.Plan.Step)) } : (Reasoning.Planner.Plan.Node)) :: ([] : List (Reasoning.Planner.Plan.Node)))))) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_11 (target))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.tpl_setInsert (_root_.LexLeanPreservation.keySpec_pair (_root_.LexLeanPreservation.keySpec_nat (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanPreservation.keySpec_nat (_root_.LexLeanCollections.Key.compare : Nat -> Nat -> Ordering) (fun _ _ => rfl)) (_root_.LexLeanCollections.Key.compare : (Prod Nat Nat) -> (Prod Nat Nat) -> Ordering) (fun _ _ __h => by simp only [_root_.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h]) (fun _ _ __h => by simp only [_root_.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h]) (fun _ _ __h => by simp only [_root_.LexLeanCollections.Key.compare] at __h ⊢; simp only [__h])) (_root_.LexLeanPreservation.listEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) _root_.LexLeanCollections.insertElement (fun _ => rfl) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.insertElement, __h]) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.insertElement, __h]) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.insertElement, __h]) (p := __prog) (fi := 12) (tk := (.pair .nat .nat)) rfl (([] : List (Prod Nat Nat))) ((Reasoning.Planner.Plan.observe (target))))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd target target)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (target + target) (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_2) _yfirst)) _root_.LexLeanPreservation.convL_nil)))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil))))) _root_.LexLeanPreservation.construct_adt)) + +def __fits_3 (target : Nat) : Bool := + (((Bool.true && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (_root_.LexLeanRuntime.multiply (target) ((8 : Nat)) : Nat) 18446744073709551616)) && (((Bool.true && Bool.true) && (__fits_7 (target))) && Bool.true))) && (_root_.LexLeanPreservation.untilFits (fun (__p0 : (Reasoning.Planner.Plan.Search)) => __fits_6 (target) __p0) ((fun (_yr : (Reasoning.Planner.Plan.Search)) => (Reasoning.Planner.Plan.searchStep (target) (_yr)))) ((_root_.LexLeanRuntime.multiply (target) ((8 : Nat)) : Nat)) ((Reasoning.Planner.Plan.start (target))))) + +attribute [local irreducible] Reasoning.Planner.Plan.searchStep Reasoning.Planner.Plan.start in +theorem __rel_3 (target : Nat) : _root_.LexLeanPreservation.FunRel __prog 3 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target)] (_root_.LexLeanPreservation.Rel (__fits_3 target) ((_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.bool) (Reasoning.Planner.Plan.run target))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natMul target (8 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_7 (target))) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_iterateUntil (es := __enc_1) (_root_.LexLeanPreservation.optEnc __enc_1) (fun _ => rfl) (_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.bool) (fun _ => rfl) ((fun (_yr : (Reasoning.Planner.Plan.Search)) => (Reasoning.Planner.Plan.searchStep (target) (_yr)))) (fun (__p0 : (Reasoning.Planner.Plan.Search)) => __fits_6 (target) __p0) 6 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target)] (fun (__p0 : (Reasoning.Planner.Plan.Search)) => __rel_6 (target) __p0) (_root_.LexLeanCollections.iterateUntil ((fun (_yr : (Reasoning.Planner.Plan.Search)) => (Reasoning.Planner.Plan.searchStep (target) (_yr))))) (fun _ => rfl) (fun _ _ __h => by simp only [_root_.LexLeanCollections.iterateUntil, __h]) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.iterateUntil, __h]) (p := __prog) (fi := 5) (ts := (.adt 1)) rfl ((_root_.LexLeanRuntime.multiply (target) ((8 : Nat)) : Nat)) ((Reasoning.Planner.Plan.start (target))))) + +def __fits_4 (_ysaturated : Bool) (_ytruncated : Bool) : Bool := + ((Bool.true && (if _ysaturated then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (if (_ysaturated && (!_ytruncated)) then (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) else (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true))) + +theorem __rel_4 (_ysaturated : Bool) (_ytruncated : Bool) : _root_.LexLeanPreservation.FunRel __prog 4 [(_root_.LexLeanTarget.TargetSyntax.Value.bool _ysaturated), (_root_.LexLeanTarget.TargetSyntax.Value.bool _ytruncated)] (_root_.LexLeanPreservation.Rel (__fits_4 _ysaturated _ytruncated) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (Reasoning.Planner.Plan.failure _ysaturated _ytruncated))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) else (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (if __b then ((Bool.false, Bool.true) : (Prod Bool Bool)) else ((Bool.false, Bool.false) : (Prod Bool Bool)))) (_ysaturated && (!_ytruncated)) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (!_ytruncated))) _ysaturated (_root_.LexLeanPreservation.conv_var rfl) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_boolNot _ytruncated))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))) + +def __fits_2 (target : Nat) : Bool := + (((Bool.true && Bool.true) && (__fits_3 (target))) && (let _yfinal : (Prod (Reasoning.Planner.Plan.Search) Bool) := (Reasoning.Planner.Plan.run (target)); (Bool.true && (match ((_yfinal).1).found with | Option.some _yhit => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => ((((Bool.true && (Bool.true && Bool.true)) && (__fits_4 ((_yfinal).2) (((_yfinal).1).truncated))) && Bool.true) && Bool.true))))) + +attribute [local irreducible] Reasoning.Planner.Plan.failure Reasoning.Planner.Plan.run in +theorem __rel_2 (target : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target)] (_root_.LexLeanPreservation.Rel (__fits_2 target) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encList __enc_0))) (Reasoning.Planner.Plan target))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (let _yfinal : (Prod (Reasoning.Planner.Plan.Search) Bool) := (Reasoning.Planner.Plan.run (target)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_3 (target))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) __enc_2)) (fun (__a : (Option (Prod (Prod Nat Nat) (Reasoning.Planner.Plan.Node)))) => (match __a with | Option.some _yhit => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => ((((Bool.true && (Bool.true && Bool.true)) && (__fits_4 ((_yfinal).2) (((_yfinal).1).truncated))) && Bool.true) && Bool.true))) (fun (__a : (Option (Prod (Prod Nat Nat) (Reasoning.Planner.Plan.Node)))) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encList __enc_0))) (match __a with | Option.some _yhit => (Except.ok (((_yhit).1, ((_yhit).2).trace)) : (Except (Prod Bool Bool) (Prod (Prod Nat Nat) (List (Reasoning.Planner.Plan.Step))))) | Option.none => (Except.error ((Reasoning.Planner.Plan.failure ((_yfinal).2) (((_yfinal).1).truncated))) : (Except (Prod Bool Bool) (Prod (Prod Nat Nat) (List (Reasoning.Planner.Plan.Step))))))) ((_yfinal).1).found (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) rfl) (fun (__a : (Option (Prod (Prod Nat Nat) (Reasoning.Planner.Plan.Node)))) _ => match __a with | Option.some _yhit => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_4 ((_yfinal).2) (((_yfinal).1).truncated))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))))) + +def __fits_1 (target : Nat) : Bool := + (((Bool.true && Bool.true) && (__fits_2 (target))) && (match (Reasoning.Planner.Plan (target)) with | Except.ok _yp => ((Bool.true && Bool.true) && Bool.true) | Except.error _ye => ((Bool.true && Bool.true) && Bool.true))) + +attribute [local irreducible] Reasoning.Planner.Plan in +theorem __rel_1 (target : Nat) : _root_.LexLeanPreservation.FunRel __prog 1 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target)] (_root_.LexLeanPreservation.Rel (__fits_1 target) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Reasoning.Planner.Plan.verdict target))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (_root_.LexLeanPreservation.encList __enc_0))) (fun (__a : (Except (Prod Bool Bool) (Prod (Prod Nat Nat) (List (Reasoning.Planner.Plan.Step))))) => (match __a with | Except.ok _yp => ((Bool.true && Bool.true) && Bool.true) | Except.error _ye => ((Bool.true && Bool.true) && Bool.true))) (fun (__a : (Except (Prod Bool Bool) (Prod (Prod Nat Nat) (List (Reasoning.Planner.Plan.Step))))) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (match __a with | Except.ok _yp => (Except.ok ((_yp).1) : (Except (Prod Bool Bool) (Prod Nat Nat))) | Except.error _ye => (Except.error (_ye) : (Except (Prod Bool Bool) (Prod Nat Nat))))) (Reasoning.Planner.Plan (target)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_2 (target))) (fun (__a : (Except (Prod Bool Bool) (Prod (Prod Nat Nat) (List (Reasoning.Planner.Plan.Step))))) _ => match __a with | Except.ok _yp => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) | Except.error _ye => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))) + +def __fits_0 (target : Nat) : Bool := + (((Bool.true && Bool.true) && (__fits_1 (target))) && (match (Reasoning.Planner.Plan.verdict (target)) with | Except.ok jugs => Bool.true | Except.error failure => Bool.true)) + +attribute [local irreducible] Reasoning.Planner.Plan.verdict in +theorem __rel_0 (target : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target)] (_root_.LexLeanPreservation.Rel (__fits_0 target) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.planLeft target))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun (__a : (Except (Prod Bool Bool) (Prod Nat Nat))) => (match __a with | Except.ok jugs => Bool.true | Except.error failure => Bool.true)) (fun (__a : (Except (Prod Bool Bool) (Prod Nat Nat))) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match __a with | Except.ok jugs => (jugs).1 | Except.error failure => (9 : Nat))) (Reasoning.Planner.Plan.verdict (target)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (target))) (fun (__a : (Except (Prod Bool Bool) (Prod Nat Nat))) _ => match __a with | Except.ok jugs => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl))) | Except.error failure => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value)))) + +def denote (target : Nat) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 target) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.planLeft target)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (target : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat target)] (_root_.LexLeanPreservation.Rel (__fits_0 target) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.planLeft target))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 target) + +end LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3 diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R3/Compose/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R3/Compose/RustStd.lean new file mode 100644 index 000000000..5b2febfc4 --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R3/Compose/RustStd.lean @@ -0,0 +1,30 @@ +import LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3 +import LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.Compose.RustStd + +theorem __wt_0 : ∀ (__v : (Reasoning.Planner.Plan.Step)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd.program _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd.krate _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd.flags (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.__enc_0 __v) (.adt 0) + | Reasoning.Planner.Plan.Step.FillA => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Planner.Plan.Step.EmptyB => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Planner.Plan.Step.Pour __x0 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x0) _root_.LexLeanPreservation.Rust.wtl_nil) + +theorem __wt_2 : ∀ (__s : (Reasoning.Planner.Plan.Node)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd.program _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd.krate _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd.flags (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.__enc_2 __s) (.adt 2) := + fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_nat _root_.LexLeanPreservation.Rust.wt_nat) (__s).state) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList __wt_0) (__s).trace) _root_.LexLeanPreservation.Rust.wtl_nil)) + +theorem __wt_3 : ∀ (__s : (Reasoning.Planner.Plan.Ledger)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd.program _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd.krate _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd.flags (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.__enc_3 __s) (.adt 3) := + fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).iterations) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).attempts) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).firings) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).expansions) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).verifications) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).frontier) _root_.LexLeanPreservation.Rust.wtl_nil)))))) + +theorem __wt_1 : ∀ (__s : (Reasoning.Planner.Plan.Search)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd.program _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd.krate _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd.flags (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.__enc_1 __s) (.adt 1) := + fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList __wt_2) (__s).frontier) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_nat _root_.LexLeanPreservation.Rust.wt_nat)) (__s).visited) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encOption (_root_.LexLeanPreservation.Rust.wt_encPair (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_nat _root_.LexLeanPreservation.Rust.wt_nat) __wt_2)) (__s).found) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_bool (__s).truncated) (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_3 (__s).ledger) _root_.LexLeanPreservation.Rust.wtl_nil))))) + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (target : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat target)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.denote target) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat target)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat target) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.root target) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.Compose.RustStd diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R3/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R3/RustStd.lean new file mode 100644 index 000000000..76bc7fb47 --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R3/RustStd.lean @@ -0,0 +1,360 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [{ constructors := [[], [], [.nat]] }, + { constructors := [[(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]] }, + { constructors := [[(.pair .nat .nat), (.list (.adt 0))]] }, + { constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }], functions := (( + { parameters := [0], types := [.nat], result := .nat, + body := (.«match» .nat (.call 1 [(.var 0)]) [(.arm .ok [1] (.first (.var 1))), (.arm .error [2] (.value .nat (.nat 9)))]) }) ::( + { parameters := [0], types := [.nat], result := (.result (.pair .nat .nat) (.pair .bool .bool)), + body := (.«match» (.result (.pair .nat .nat) (.pair .bool .bool)) (.call 2 [(.var 0)]) [(.arm .ok [1] (.build .ok (.result (.pair .nat .nat) (.pair .bool .bool)) [(.first (.var 1))])), (.arm .error [2] (.build .error (.result (.pair .nat .nat) (.pair .bool .bool)) [(.var 2)]))]) }) ::( + { parameters := [0], types := [.nat], result := (.result (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool)), + body := (.«let» 1 (.pair (.adt 1) .bool) (.call 3 [(.var 0)]) (.«match» (.result (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool)) (.field (.first (.var 1)) 2) [(.arm .some [2] (.build .ok (.result (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool)) [(.build .pair (.pair (.pair .nat .nat) (.list (.adt 0))) [(.first (.var 2)), (.field (.second (.var 2)) 1)])])), (.arm .none [] (.build .error (.result (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool)) [(.call 4 [(.second (.var 1)), (.field (.first (.var 1)) 3)])]))])) }) ::( + { parameters := [0], types := [.nat], result := (.pair (.adt 1) .bool), + body := (.call 5 [(.closure 6 [(.var 0)]), (.prim .natMul [(.var 0), (.value .nat (.nat 8))]), (.call 7 [(.var 0)])]) }) ::( + { parameters := [0, 1], types := [.bool, .bool], result := (.pair .bool .bool), + body := (.cond (.cond (.var 0) (.prim .boolNot [(.var 1)]) (.build .false .bool [])) (.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])]) (.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])) }) ::( + { parameters := [0, 1, 2], types := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)], result := (.pair (.adt 1) .bool), + body := (.«match» (.pair (.adt 1) .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair (.adt 1) .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 5 [(.var 0), (.var 3), (.var 4)]))]))]) }) ::( + { parameters := [0, 1], types := [.nat, (.adt 1)], result := (.option (.adt 1)), + body := (.call 8 [(.var 0), (.var 1)]) }) ::( + { parameters := [0], types := [.nat], result := (.adt 1), + body := (.«let» 1 (.list (.adt 2)) (.call 9 [(.closure 10 [(.var 0)]), (.build .nil (.list (.adt 2)) []), (.build .cons (.list (.adt 2)) [(.build (.adt 0) (.adt 2) [(.call 11 [(.var 0)]), (.build .nil (.list (.adt 0)) [])]), (.build .nil (.list (.adt 2)) [])])]) (.build (.adt 0) (.adt 1) [(.var 1), (.call 12 [(.build .nil (.list (.pair .nat .nat)) []), (.call 11 [(.var 0)])]), (.build .none (.option (.pair (.pair .nat .nat) (.adt 2))) []), (.prim .natLt [(.prim .natAdd [(.var 0), (.var 0)]), (.value .nat (.nat 1))]), (.build (.adt 0) (.adt 3) [(.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.prim .length [(.var 1)])])])) }) ::( + { parameters := [0, 1], types := [.nat, (.adt 1)], result := (.option (.adt 1)), + body := (.«match» (.option (.adt 1)) (.field (.var 1) 2) [(.arm .some [2] (.build .none (.option (.adt 1)) [])), (.arm .none [] (.«match» (.option (.adt 1)) (.field (.var 1) 0) [(.arm .nil [] (.build .none (.option (.adt 1)) [])), (.arm .cons [3, 4] (.«match» (.option (.adt 1)) (.call 13 [(.var 0), (.field (.var 3) 0)]) [(.arm .some [5] (.build .some (.option (.adt 1)) [(.build (.adt 0) (.adt 1) [(.var 4), (.field (.var 1) 1), (.build .some (.option (.pair (.pair .nat .nat) (.adt 2))) [(.build .pair (.pair (.pair .nat .nat) (.adt 2)) [(.var 5), (.var 3)])]), (.field (.var 1) 3), (.build (.adt 0) (.adt 3) [(.prim .natAdd [(.field (.field (.var 1) 4) 0), (.value .nat (.nat 1))]), (.field (.field (.var 1) 4) 1), (.field (.field (.var 1) 4) 2), (.field (.field (.var 1) 4) 3), (.prim .natAdd [(.field (.field (.var 1) 4) 4), (.value .nat (.nat 1))]), (.field (.field (.var 1) 4) 5)])])])), (.arm .none [] (.«let» 6 (.list (.adt 2)) (.call 14 [(.var 3)]) (.«let» 7 (.pair (.list (.adt 2)) (.list (.pair .nat .nat))) (.call 15 [(.field (.var 1) 1), (.var 6)]) (.«let» 8 (.list (.adt 2)) (.prim .append [(.var 4), (.first (.var 7))]) (.«let» 9 (.list (.adt 2)) (.call 9 [(.closure 16 [(.var 0)]), (.build .nil (.list (.adt 2)) []), (.var 8)]) (.build .some (.option (.adt 1)) [(.build (.adt 0) (.adt 1) [(.var 9), (.second (.var 7)), (.build .none (.option (.pair (.pair .nat .nat) (.adt 2))) []), (.cond (.field (.var 1) 3) (.build .true .bool []) (.prim .natLt [(.prim .natAdd [(.var 0), (.var 0)]), (.prim .length [(.var 8)])])), (.build (.adt 0) (.adt 3) [(.prim .natAdd [(.field (.field (.var 1) 4) 0), (.value .nat (.nat 1))]), (.prim .natAdd [(.field (.field (.var 1) 4) 1), (.call 17 [(.field (.var 3) 0)])]), (.prim .natAdd [(.field (.field (.var 1) 4) 2), (.prim .length [(.var 6)])]), (.prim .natAdd [(.field (.field (.var 1) 4) 3), (.value .nat (.nat 1))]), (.prim .natAdd [(.field (.field (.var 1) 4) 4), (.value .nat (.nat 1))]), (.cond (.prim .natLt [(.field (.field (.var 1) 4) 5), (.prim .length [(.var 9)])]) (.prim .length [(.var 9)]) (.field (.field (.var 1) 4) 5))])])]))))))]))]))]) }) ::( + { parameters := [0, 1, 2], types := [(.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (.list (.adt 2)), (.list (.adt 2))], result := (.list (.adt 2)), + body := (.«match» (.list (.adt 2)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 9 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }) ::( + { parameters := [0, 1, 2], types := [.nat, (.list (.adt 2)), (.adt 2)], result := (.list (.adt 2)), + body := (.cond (.prim .natLt [(.prim .length [(.var 1)]), (.prim .natAdd [(.var 0), (.var 0)])]) (.prim .append [(.var 1), (.build .cons (.list (.adt 2)) [(.var 2), (.build .nil (.list (.adt 2)) [])])]) (.var 1)) }) ::( + { parameters := [0], types := [.nat], result := (.pair .nat .nat), + body := (.build .pair (.pair .nat .nat) [(.value .nat (.nat 0)), (.value .nat (.nat 0))]) }) ::( + { parameters := [0, 1], types := [(.list (.pair .nat .nat)), (.pair .nat .nat)], result := (.list (.pair .nat .nat)), + body := (.«match» (.list (.pair .nat .nat)) (.var 0) [(.arm .nil [] (.build .cons (.list (.pair .nat .nat)) [(.var 1), (.build .nil (.list (.pair .nat .nat)) [])])), (.arm .cons [2, 3] (.«match» (.list (.pair .nat .nat)) (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .cons (.list (.pair .nat .nat)) [(.var 1), (.var 0)])), (.arm .eq [] (.var 0)), (.arm .gt [] (.build .cons (.list (.pair .nat .nat)) [(.var 2), (.call 12 [(.var 3), (.var 1)])]))]))]) }) ::( + { parameters := [0, 1], types := [.nat, (.pair .nat .nat)], result := (.option (.pair .nat .nat)), + body := (.«match» (.option (.pair .nat .nat)) (.call 18 [(.var 1)]) [(.arm .none [] (.build .none (.option (.pair .nat .nat)) [])), (.arm .some [2] (.cond (.call 19 [(.var 0), (.var 2)]) (.build .some (.option (.pair .nat .nat)) [(.var 2)]) (.build .none (.option (.pair .nat .nat)) [])))]) }) ::( + { parameters := [0], types := [(.adt 2)], result := (.list (.adt 2)), + body := (.prim .append [(.call 20 [(.var 0)]), (.prim .append [(.call 21 [(.var 0)]), (.call 22 [(.var 0)])])]) }) ::( + { parameters := [0, 1], types := [(.list (.pair .nat .nat)), (.list (.adt 2))], result := (.pair (.list (.adt 2)) (.list (.pair .nat .nat))), + body := (.call 23 [(.closure 24 []), (.build .pair (.pair (.list (.adt 2)) (.list (.pair .nat .nat))) [(.build .nil (.list (.adt 2)) []), (.var 0)]), (.var 1)]) }) ::( + { parameters := [0, 1, 2], types := [.nat, (.list (.adt 2)), (.adt 2)], result := (.list (.adt 2)), + body := (.cond (.prim .natLt [(.prim .length [(.var 1)]), (.prim .natAdd [(.var 0), (.var 0)])]) (.prim .append [(.var 1), (.build .cons (.list (.adt 2)) [(.var 2), (.build .nil (.list (.adt 2)) [])])]) (.var 1)) }) ::( + { parameters := [0], types := [(.pair .nat .nat)], result := .nat, + body := (.prim .natAdd [(.value .nat (.nat 1)), (.prim .natAdd [(.value .nat (.nat 1)), (.prim .length [(.call 25 [(.var 0)])])])]) }) ::( + { parameters := [0], types := [(.pair .nat .nat)], result := (.option (.pair .nat .nat)), + body := (.build .some (.option (.pair .nat .nat)) [(.var 0)]) }) ::( + { parameters := [0, 1], types := [.nat, (.pair .nat .nat)], result := .bool, + body := (.cond (.prim .natEq [(.second (.var 1)), (.var 0)]) (.prim .natLe [(.first (.var 1)), (.value .nat (.nat 4))]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 2)], result := (.list (.adt 2)), + body := (.«match» (.list (.adt 2)) (.call 26 [(.field (.var 0) 0), (.build (.adt 0) (.adt 0) [])]) [(.arm .none [] (.build .nil (.list (.adt 2)) [])), (.arm .some [1] (.build .cons (.list (.adt 2)) [(.build (.adt 0) (.adt 2) [(.var 1), (.prim .append [(.field (.var 0) 1), (.build .cons (.list (.adt 0)) [(.build (.adt 0) (.adt 0) []), (.build .nil (.list (.adt 0)) [])])])]), (.build .nil (.list (.adt 2)) [])]))]) }) ::( + { parameters := [0], types := [(.adt 2)], result := (.list (.adt 2)), + body := (.«match» (.list (.adt 2)) (.call 26 [(.field (.var 0) 0), (.build (.adt 1) (.adt 0) [])]) [(.arm .none [] (.build .nil (.list (.adt 2)) [])), (.arm .some [1] (.build .cons (.list (.adt 2)) [(.build (.adt 0) (.adt 2) [(.var 1), (.prim .append [(.field (.var 0) 1), (.build .cons (.list (.adt 0)) [(.build (.adt 1) (.adt 0) []), (.build .nil (.list (.adt 0)) [])])])]), (.build .nil (.list (.adt 2)) [])]))]) }) ::( + { parameters := [0], types := [(.adt 2)], result := (.list (.adt 2)), + body := (.call 27 [(.closure 28 [(.var 0)]), (.build .nil (.list (.adt 2)) []), (.call 25 [(.field (.var 0) 0)])]) }) ::( + { parameters := [0, 1, 2], types := [(.fn [(.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.adt 2)] (.pair (.list (.adt 2)) (.list (.pair .nat .nat)))), (.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.list (.adt 2))], result := (.pair (.list (.adt 2)) (.list (.pair .nat .nat))), + body := (.«match» (.pair (.list (.adt 2)) (.list (.pair .nat .nat))) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 23 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }) ::( + { parameters := [0, 1], types := [(.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.adt 2)], result := (.pair (.list (.adt 2)) (.list (.pair .nat .nat))), + body := (.cond (.call 29 [(.second (.var 0)), (.field (.var 1) 0)]) (.var 0) (.build .pair (.pair (.list (.adt 2)) (.list (.pair .nat .nat))) [(.prim .append [(.first (.var 0)), (.build .cons (.list (.adt 2)) [(.var 1), (.build .nil (.list (.adt 2)) [])])]), (.call 12 [(.second (.var 0)), (.field (.var 1) 0)])])) }) ::( + { parameters := [0], types := [(.pair .nat .nat)], result := (.list .nat), + body := (.build .cons (.list .nat) [(.value .nat (.nat 1)), (.build .cons (.list .nat) [(.value .nat (.nat 2)), (.build .cons (.list .nat) [(.value .nat (.nat 3)), (.build .nil (.list .nat) [])])])]) }) ::( + { parameters := [0, 1], types := [(.pair .nat .nat), (.adt 0)], result := (.option (.pair .nat .nat)), + body := (.«match» (.option (.pair .nat .nat)) (.var 1) [(.arm (.adt 0) [] (.call 30 [(.var 0)])), (.arm (.adt 1) [] (.call 31 [(.var 0)])), (.arm (.adt 2) [2] (.call 32 [(.var 0), (.var 2)]))]) }) ::( + { parameters := [0, 1, 2], types := [(.fn [(.list (.adt 2)), .nat] (.list (.adt 2))), (.list (.adt 2)), (.list .nat)], result := (.list (.adt 2)), + body := (.«match» (.list (.adt 2)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 27 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }) ::( + { parameters := [0, 1, 2], types := [(.adt 2), (.list (.adt 2)), .nat], result := (.list (.adt 2)), + body := (.call 33 [(.var 0), (.var 1), (.var 2)]) }) ::( + { parameters := [0, 1], types := [(.list (.pair .nat .nat)), (.pair .nat .nat)], result := .bool, + body := (.«match» .bool (.var 0) [(.arm .nil [] (.build .false .bool [])), (.arm .cons [2, 3] (.«match» .bool (.prim .compare [(.var 1), (.var 2)]) [(.arm .lt [] (.build .false .bool [])), (.arm .eq [] (.build .true .bool [])), (.arm .gt [] (.call 29 [(.var 3), (.var 1)]))]))]) }) ::( + { parameters := [0], types := [(.pair .nat .nat)], result := (.option (.pair .nat .nat)), + body := (.cond (.call 34 [(.var 0)]) (.build .some (.option (.pair .nat .nat)) [(.call 35 [(.var 0)])]) (.build .none (.option (.pair .nat .nat)) [])) }) ::( + { parameters := [0], types := [(.pair .nat .nat)], result := (.option (.pair .nat .nat)), + body := (.cond (.call 36 [(.var 0)]) (.build .some (.option (.pair .nat .nat)) [(.call 37 [(.var 0)])]) (.build .none (.option (.pair .nat .nat)) [])) }) ::( + { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := (.option (.pair .nat .nat)), + body := (.cond (.call 38 [(.var 0), (.var 1)]) (.build .some (.option (.pair .nat .nat)) [(.call 39 [(.var 0), (.var 1)])]) (.build .none (.option (.pair .nat .nat)) [])) }) ::( + { parameters := [0, 1, 2], types := [(.adt 2), (.list (.adt 2)), .nat], result := (.list (.adt 2)), + body := (.«match» (.list (.adt 2)) (.call 26 [(.field (.var 0) 0), (.build (.adt 2) (.adt 0) [(.var 2)])]) [(.arm .none [] (.var 1)), (.arm .some [3] (.prim .append [(.var 1), (.build .cons (.list (.adt 2)) [(.build (.adt 0) (.adt 2) [(.var 3), (.prim .append [(.field (.var 0) 1), (.build .cons (.list (.adt 0)) [(.build (.adt 2) (.adt 0) [(.var 2)]), (.build .nil (.list (.adt 0)) [])])])]), (.build .nil (.list (.adt 2)) [])])]))]) }) ::( + { parameters := [0], types := [(.pair .nat .nat)], result := .bool, + body := (.cond (.prim .natLt [(.first (.var 0)), (.value .nat (.nat 4))]) (.prim .natLe [(.second (.var 0)), (.value .nat (.nat 3))]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.pair .nat .nat)], result := (.pair .nat .nat), + body := (.build .pair (.pair .nat .nat) [(.value .nat (.nat 4)), (.second (.var 0))]) }) ::( + { parameters := [0], types := [(.pair .nat .nat)], result := .bool, + body := (.cond (.prim .natLt [(.value .nat (.nat 0)), (.second (.var 0))]) (.prim .natLe [(.first (.var 0)), (.value .nat (.nat 4))]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.pair .nat .nat)], result := (.pair .nat .nat), + body := (.build .pair (.pair .nat .nat) [(.first (.var 0)), (.value .nat (.nat 0))]) }) ::( + { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := .bool, + body := (.cond (.prim .natLe [(.var 1), (.first (.var 0))]) (.cond (.prim .natLe [(.prim .natAdd [(.second (.var 0)), (.var 1)]), (.value .nat (.nat 3))]) (.prim .natLe [(.first (.var 0)), (.value .nat (.nat 4))]) (.build .false .bool [])) (.build .false .bool [])) }) ::( + { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := (.pair .nat .nat), + body := (.build .pair (.pair .nat .nat) [(.prim .natSub [(.first (.var 0)), (.var 1)]), (.prim .natAdd [(.second (.var 0)), (.var 1)])]) }) ::[]) } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := ((.enum (.adt 0) [{ number := 0, fields := [] }, { number := 1, fields := [] }, { number := 2, fields := [.nat] }]) :: + (.enum (.adt 1) [{ number := 0, fields := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)] }]) :: + (.enum (.adt 2) [{ number := 0, fields := [(.pair .nat .nat), (.list (.adt 0))] }]) :: + (.enum (.adt 3) [{ number := 0, fields := [.nat, .nat, .nat, .nat, .nat, .nat] }]) :: + (.enum (.fn 0) [{ number := 6, fields := [.nat] }]) :: + (.apply 0 [(.adt 1)] (.option (.adt 1)) true [{ function := 6, captures := [.copy], functionFallible := true }]) :: + (.enum (.fn 1) [{ number := 10, fields := [.nat] }, { number := 16, fields := [.nat] }]) :: + (.apply 1 [(.list (.adt 2)), (.adt 2)] (.list (.adt 2)) true [{ function := 10, captures := [.copy], functionFallible := true }, { function := 16, captures := [.copy], functionFallible := true }]) :: + (.enum (.fn 2) [{ number := 24, fields := [] }]) :: + (.apply 2 [(.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.adt 2)] (.pair (.list (.adt 2)) (.list (.pair .nat .nat))) false [{ function := 24, captures := [], functionFallible := false }]) :: + (.enum (.fn 3) [{ number := 28, fields := [(.adt 2)] }]) :: + (.apply 3 [(.list (.adt 2)), .nat] (.list (.adt 2)) true [{ function := 28, captures := [.clone], functionFallible := true }]) :: + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.copy (.generated .binding 0))] true))] (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 1))) (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 1)))] (.succeed (.move (.generated .part 2))))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 9)))))]))) :: + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible (.result (.pair .nat .nat) (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .holder 3)) none (.call (.function 2) [(.copy (.generated .binding 0))] true))] (.matchOn (.move (.generated .holder 3)) [(.mk (.ok (.bind (.generated .binding 1))) (.mk [] (.succeed (.construct (.ok (.pair .nat .nat) (.pair .bool .bool)) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 4))))])))), (.mk (.err (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.copy (.generated .binding 2))]))))]))) :: + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible (.result (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 1)) (some (.pair (.adt 1) .bool)) (.call (.function 3) [(.copy (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 8)) none (.block (.mk [(.mk (.bind (.generated .holder 7)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 6)), .wild]) none (.clone (.generated .binding 1)))] (.move (.generated .part 6)))))] (.matchOn (.move (.generated .holder 7)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 5)), .wild, .wild]) (.mk [] (.move (.generated .part 5))))]))))] (.matchOn (.move (.generated .holder 8)) [(.mk .none (.mk [] (.succeed (.construct (.err (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool)) [(.call (.function 4) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.move (.generated .binding 1)))] (.move (.generated .part 13)))), (.block (.mk [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 15)))))] (.matchOn (.move (.generated .holder 16)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 14)), .wild]) (.mk [] (.move (.generated .part 14))))])))] false)])))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.ok (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool)) [(.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 9)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 9)))) (.block (.mk [(.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 11))]) none (.move (.generated .binding 2)))] (.move (.generated .part 11)))))] (.matchOn (.move (.generated .holder 12)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 10))]) (.mk [] (.move (.generated .part 10))))]))))]))))]))) :: + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible (.pair (.adt 1) .bool)) (.mk [] (.call (.function 5) [(.construct (.closure 0 6) [(.copy (.generated .binding 0))]), (.block (.mk [(.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 18)) none (.lit (.nat 8)))] (.call (.runtime .natMul) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] true))), (.call (.function 7) [(.copy (.generated .binding 0))] true)] false))) :: + (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := .bool }, { pattern := (.bind (.generated .binding 1)), type := .bool }] (.pair .bool .bool) (.mk [] (.cond (.cond (.copy (.generated .binding 0)) (.mk [(.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 1)))] (.call (.runtime .boolNot) [(.move (.generated .operand 19))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.pair (.lit (.bool false)) (.lit (.bool true)))) (.mk [] (.pair (.lit (.bool false)) (.lit (.bool false))))))) :: + (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := (.adt 1) }] (.fallible (.pair (.adt 1) .bool)) (.mk [(.mk (.bind (.generated .holder 20)) none (.copy (.generated .binding 1)))] (.cond (.isZero (.generated .holder 20)) (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 20))), (.mk (.bind (.generated .holder 22)) none (.block (.mk [(.mk (.bind (.generated .callee 21)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 21) [(.clone (.generated .binding 2))] true))))] (.matchOn (.move (.generated .holder 22)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 5) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))]))))) :: + (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := (.adt 1) }] (.fallible (.option (.adt 1))) (.mk [] (.call (.function 8) [(.copy (.generated .binding 0)), (.move (.generated .binding 1))] false))) :: + (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible (.adt 1)) (.mk [(.mk (.bind (.generated .binding 1)) (some (.list (.adt 2))) (.call (.function 9) [(.construct (.closure 1 10) [(.copy (.generated .binding 0))]), (.construct (.nil (.adt 2)) []), (.construct .cons [(.construct (.adt 2 0) [(.call (.function 11) [(.copy (.generated .binding 0))] false), (.construct (.nil (.adt 0)) [])]), (.construct (.nil (.adt 2)) [])])] true))] (.succeed (.construct (.adt 1 0) [(.clone (.generated .binding 1)), (.call (.function 12) [(.construct (.nil (.pair .nat .nat)) []), (.call (.function 11) [(.copy (.generated .binding 0))] false)] false), (.construct (.none (.pair (.pair .nat .nat) (.adt 2))) []), (.block (.mk [(.mk (.bind (.generated .operand 25)) none (.block (.mk [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 24)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] true)))), (.mk (.bind (.generated .operand 26)) none (.lit (.nat 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false))), (.construct (.adt 3 0) [(.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.block (.mk [(.mk (.bind (.generated .operand 27)) none (.move (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 27))] false)))])])))) :: + (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := (.adt 1) }] (.fallible (.option (.adt 1))) (.mk [(.mk (.bind (.generated .holder 29)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 28)), .wild, .wild]) (.mk [] (.move (.generated .part 28))))]))] (.matchOn (.move (.generated .holder 29)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 31)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [(.bind (.generated .part 30)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))]))] (.matchOn (.uncons (.generated .holder 31)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [(.mk (.bind (.generated .holder 33)) none (.call (.function 13) [(.copy (.generated .binding 0)), (.matchOn (.clone (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 32)), .wild]) (.mk [] (.move (.generated .part 32))))])] false))] (.matchOn (.move (.generated .holder 33)) [(.mk .none (.mk [(.mk (.bind (.generated .binding 6)) (some (.list (.adt 2))) (.call (.function 14) [(.clone (.generated .binding 3))] true)), (.mk (.bind (.generated .binding 7)) (some (.pair (.list (.adt 2)) (.list (.pair .nat .nat)))) (.call (.function 15) [(.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 58)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))]), (.clone (.generated .binding 6))] false)), (.mk (.bind (.generated .binding 8)) (some (.list (.adt 2))) (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.move (.generated .binding 4))), (.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.move (.generated .binding 7)))] (.move (.generated .part 59)))))] (.call (.runtime .appendList) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false)))), (.mk (.bind (.generated .binding 9)) (some (.list (.adt 2))) (.call (.function 9) [(.construct (.closure 1 16) [(.copy (.generated .binding 0))]), (.construct (.nil (.adt 2)) []), (.clone (.generated .binding 8))] true))] (.succeed (.construct .some [(.construct (.adt 1 0) [(.clone (.generated .binding 9)), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 62))]) none (.move (.generated .binding 7)))] (.move (.generated .part 62)))), (.construct (.none (.pair (.pair .nat .nat) (.adt 2))) []), (.cond (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 63)), .wild]) (.mk [] (.move (.generated .part 63))))]) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 65)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] true)))), (.mk (.bind (.generated .operand 68)) none (.block (.mk [(.mk (.bind (.generated .operand 66)) none (.move (.generated .binding 8)))] (.call (.runtime .lengthList) [(.move (.generated .operand 66))] false))))] (.call (.runtime .natLt) [(.move (.generated .operand 67)), (.move (.generated .operand 68))] false))), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.bind (.generated .holder 71)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 70))]) (.mk [] (.move (.generated .part 70))))]))] (.matchOn (.move (.generated .holder 71)) [(.mk (.adt 3 0 [(.bind (.generated .part 69)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 69))))])))), (.mk (.bind (.generated .operand 73)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] true))), (.block (.mk [(.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.bind (.generated .holder 76)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 75))]) (.mk [] (.move (.generated .part 75))))]))] (.matchOn (.move (.generated .holder 76)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 74)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 74))))])))), (.mk (.bind (.generated .operand 79)) none (.call (.function 17) [(.matchOn (.move (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 77)), .wild]) (.mk [] (.move (.generated .part 77))))])] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 78)), (.move (.generated .operand 79))] true))), (.block (.mk [(.mk (.bind (.generated .operand 84)) none (.block (.mk [(.mk (.bind (.generated .holder 82)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))]))] (.matchOn (.move (.generated .holder 82)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 80)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 80))))])))), (.mk (.bind (.generated .operand 85)) none (.block (.mk [(.mk (.bind (.generated .operand 83)) none (.move (.generated .binding 6)))] (.call (.runtime .lengthList) [(.move (.generated .operand 83))] false))))] (.call (.runtime .natAdd) [(.move (.generated .operand 84)), (.move (.generated .operand 85))] true))), (.block (.mk [(.mk (.bind (.generated .operand 89)) none (.block (.mk [(.mk (.bind (.generated .holder 88)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))]))] (.matchOn (.move (.generated .holder 88)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 86)), .wild, .wild]) (.mk [] (.move (.generated .part 86))))])))), (.mk (.bind (.generated .operand 90)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 89)), (.move (.generated .operand 90))] true))), (.block (.mk [(.mk (.bind (.generated .operand 94)) none (.block (.mk [(.mk (.bind (.generated .holder 93)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 92))]) (.mk [] (.move (.generated .part 92))))]))] (.matchOn (.move (.generated .holder 93)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 91)), .wild]) (.mk [] (.move (.generated .part 91))))])))), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] true))), (.block (.mk [(.mk (.bind (.generated .operand 100)) none (.block (.mk [(.mk (.bind (.generated .holder 98)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 97))]) (.mk [] (.move (.generated .part 97))))]))] (.matchOn (.move (.generated .holder 98)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96))]) (.mk [] (.move (.generated .part 96))))])))), (.mk (.bind (.generated .operand 101)) none (.block (.mk [(.mk (.bind (.generated .operand 99)) none (.clone (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 99))] false))))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false) (.mk [(.mk (.bind (.generated .operand 102)) none (.move (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 102))] false)) (.mk [(.mk (.bind (.generated .holder 105)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 104))]) (.mk [] (.move (.generated .part 104))))]))] (.matchOn (.move (.generated .holder 105)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 103))]) (.mk [] (.move (.generated .part 103))))])))))])])])))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.succeed (.construct .some [(.construct (.adt 1 0) [(.move (.generated .binding 4)), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 34)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 34))))]), (.construct .some [(.pair (.copy (.generated .binding 5)) (.move (.generated .binding 3)))]), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 35)), .wild]) (.mk [] (.move (.generated .part 35))))]), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .holder 38)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 37))]) (.mk [] (.move (.generated .part 37))))]))] (.matchOn (.move (.generated .holder 38)) [(.mk (.adt 3 0 [(.bind (.generated .part 36)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])))), (.mk (.bind (.generated .operand 40)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] true))), (.block (.mk [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))] (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 41)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 41))))]))), (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 44)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 44))))]))), (.block (.mk [(.mk (.bind (.generated .holder 49)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))]))] (.matchOn (.move (.generated .holder 49)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 47)), .wild, .wild]) (.mk [] (.move (.generated .part 47))))]))), (.block (.mk [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .holder 52)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 51))]) (.mk [] (.move (.generated .part 51))))]))] (.matchOn (.move (.generated .holder 52)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 50)), .wild]) (.mk [] (.move (.generated .part 50))))])))), (.mk (.bind (.generated .operand 54)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true))), (.block (.mk [(.mk (.bind (.generated .holder 57)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 56))]) (.mk [] (.move (.generated .part 56))))]))] (.matchOn (.move (.generated .holder 57)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 55))]) (.mk [] (.move (.generated .part 55))))])))])])]))))])))]))), (.mk (.some .wild) (.mk [] (.succeed (.construct (.none (.adt 1)) []))))]))) :: + (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 1) }, { pattern := (.bind (.generated .binding 1)), type := (.list (.adt 2)) }, { pattern := (.bind (.generated .binding 2)), type := (.list (.adt 2)) }] (.fallible (.list (.adt 2))) (.mk [(.mk (.bind (.generated .holder 106)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 106)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 9) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 107)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 107) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]))) :: + (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := (.list (.adt 2)) }, { pattern := (.bind (.generated .binding 2)), type := (.adt 2) }] (.fallible (.list (.adt 2))) (.mk [(.mk (.bind (.generated .operand 111)) none (.block (.mk [(.mk (.bind (.generated .operand 108)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 108))] false)))), (.mk (.bind (.generated .operand 112)) none (.block (.mk [(.mk (.bind (.generated .operand 109)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 110)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 109)), (.move (.generated .operand 110))] true))))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 111)), (.move (.generated .operand 112))] false) (.mk [(.mk (.bind (.generated .operand 113)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 114)) none (.construct .cons [(.move (.generated .binding 2)), (.construct (.nil (.adt 2)) [])]))] (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 113)), (.move (.generated .operand 114))] false))) (.mk [] (.succeed (.move (.generated .binding 1))))))) :: + (.function (.generated .function 11) [{ pattern := .wild, type := .nat }] (.pair .nat .nat) (.mk [] (.pair (.lit (.nat 0)) (.lit (.nat 0))))) :: + (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat .nat)) }, { pattern := (.bind (.generated .binding 1)), type := (.pair .nat .nat) }] (.list (.pair .nat .nat)) (.mk [(.mk (.bind (.generated .holder 115)) none (.clone (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 115)) [(.mk .none (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil (.pair .nat .nat)) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 118)) none (.block (.mk [(.mk (.bind (.generated .operand 116)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 117)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 116)), (.move (.generated .operand 117))] false))))] (.matchOn (.move (.generated .holder 118)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 12) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]))) :: + (.function (.generated .function 13) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := (.pair .nat .nat) }] (.option (.pair .nat .nat)) (.mk [(.mk (.bind (.generated .holder 119)) none (.call (.function 18) [(.copy (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 119)) [(.mk .none (.mk [] (.construct (.none (.pair .nat .nat)) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.cond (.call (.function 19) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none (.pair .nat .nat)) [])))))]))) :: + (.function (.generated .function 14) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 2) }] (.fallible (.list (.adt 2))) (.mk [(.mk (.bind (.generated .operand 122)) none (.call (.function 20) [(.clone (.generated .binding 0))] true)), (.mk (.bind (.generated .operand 123)) none (.block (.mk [(.mk (.bind (.generated .operand 120)) none (.call (.function 21) [(.clone (.generated .binding 0))] true)), (.mk (.bind (.generated .operand 121)) none (.call (.function 22) [(.move (.generated .binding 0))] true))] (.call (.runtime .appendList) [(.move (.generated .operand 120)), (.move (.generated .operand 121))] false))))] (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 122)), (.move (.generated .operand 123))] false)))) :: + (.function (.generated .function 15) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat .nat)) }, { pattern := (.bind (.generated .binding 1)), type := (.list (.adt 2)) }] (.pair (.list (.adt 2)) (.list (.pair .nat .nat))) (.mk [] (.call (.function 23) [(.construct (.closure 2 24) []), (.pair (.construct (.nil (.adt 2)) []) (.move (.generated .binding 0))), (.move (.generated .binding 1))] false))) :: + (.function (.generated .function 16) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := (.list (.adt 2)) }, { pattern := (.bind (.generated .binding 2)), type := (.adt 2) }] (.fallible (.list (.adt 2))) (.mk [(.mk (.bind (.generated .operand 127)) none (.block (.mk [(.mk (.bind (.generated .operand 124)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 124))] false)))), (.mk (.bind (.generated .operand 128)) none (.block (.mk [(.mk (.bind (.generated .operand 125)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 126)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 125)), (.move (.generated .operand 126))] true))))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 127)), (.move (.generated .operand 128))] false) (.mk [(.mk (.bind (.generated .operand 129)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 130)) none (.construct .cons [(.move (.generated .binding 2)), (.construct (.nil (.adt 2)) [])]))] (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 129)), (.move (.generated .operand 130))] false))) (.mk [] (.succeed (.move (.generated .binding 1))))))) :: + (.function (.generated .function 17) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.fallible .nat) (.mk [(.mk (.bind (.generated .operand 134)) none (.lit (.nat 1))), (.mk (.bind (.generated .operand 135)) none (.block (.mk [(.mk (.bind (.generated .operand 132)) none (.lit (.nat 1))), (.mk (.bind (.generated .operand 133)) none (.block (.mk [(.mk (.bind (.generated .operand 131)) none (.call (.function 25) [(.copy (.generated .binding 0))] false))] (.call (.runtime .lengthList) [(.move (.generated .operand 131))] false))))] (.call (.runtime .natAdd) [(.move (.generated .operand 132)), (.move (.generated .operand 133))] true))))] (.call (.runtime .natAdd) [(.move (.generated .operand 134)), (.move (.generated .operand 135))] false))) :: + (.function (.generated .function 18) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.option (.pair .nat .nat)) (.mk [] (.construct .some [(.copy (.generated .binding 0))]))) :: + (.function (.generated .function 19) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := (.pair .nat .nat) }] .bool (.mk [(.mk (.bind (.generated .operand 137)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 136))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 136))))), (.mk (.bind (.generated .operand 138)) none (.copy (.generated .binding 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 137)), (.move (.generated .operand 138))] false) (.mk [(.mk (.bind (.generated .operand 140)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 139)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 139))))), (.mk (.bind (.generated .operand 141)) none (.lit (.nat 4)))] (.call (.runtime .natLe) [(.move (.generated .operand 140)), (.move (.generated .operand 141))] false)) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 20) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 2) }] (.fallible (.list (.adt 2))) (.mk [(.mk (.bind (.generated .holder 143)) none (.call (.function 26) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 142)), .wild]) (.mk [] (.move (.generated .part 142))))]), (.construct (.adt 0 0) [])] true))] (.matchOn (.move (.generated .holder 143)) [(.mk .none (.mk [] (.succeed (.construct (.nil (.adt 2)) [])))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.succeed (.construct .cons [(.construct (.adt 2 0) [(.copy (.generated .binding 1)), (.block (.mk [(.mk (.bind (.generated .operand 145)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 144))]) (.mk [] (.move (.generated .part 144))))])), (.mk (.bind (.generated .operand 146)) none (.construct .cons [(.construct (.adt 0 0) []), (.construct (.nil (.adt 0)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 145)), (.move (.generated .operand 146))] false)))]), (.construct (.nil (.adt 2)) [])]))))]))) :: + (.function (.generated .function 21) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 2) }] (.fallible (.list (.adt 2))) (.mk [(.mk (.bind (.generated .holder 148)) none (.call (.function 26) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 147)), .wild]) (.mk [] (.move (.generated .part 147))))]), (.construct (.adt 0 1) [])] true))] (.matchOn (.move (.generated .holder 148)) [(.mk .none (.mk [] (.succeed (.construct (.nil (.adt 2)) [])))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.succeed (.construct .cons [(.construct (.adt 2 0) [(.copy (.generated .binding 1)), (.block (.mk [(.mk (.bind (.generated .operand 150)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 149))]) (.mk [] (.move (.generated .part 149))))])), (.mk (.bind (.generated .operand 151)) none (.construct .cons [(.construct (.adt 0 1) []), (.construct (.nil (.adt 0)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 150)), (.move (.generated .operand 151))] false)))]), (.construct (.nil (.adt 2)) [])]))))]))) :: + (.function (.generated .function 22) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 2) }] (.fallible (.list (.adt 2))) (.mk [] (.call (.function 27) [(.construct (.closure 3 28) [(.clone (.generated .binding 0))]), (.construct (.nil (.adt 2)) []), (.call (.function 25) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 152)), .wild]) (.mk [] (.move (.generated .part 152))))])] false)] false))) :: + (.function (.generated .function 23) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 2) }, { pattern := (.bind (.generated .binding 1)), type := (.pair (.list (.adt 2)) (.list (.pair .nat .nat))) }, { pattern := (.bind (.generated .binding 2)), type := (.list (.adt 2)) }] (.pair (.list (.adt 2)) (.list (.pair .nat .nat))) (.mk [(.mk (.bind (.generated .holder 153)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 153)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 23) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 154)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 154) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)))]))) :: + (.function (.generated .function 24) [{ pattern := (.bind (.generated .binding 0)), type := (.pair (.list (.adt 2)) (.list (.pair .nat .nat))) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 2) }] (.pair (.list (.adt 2)) (.list (.pair .nat .nat))) (.mk [] (.cond (.call (.function 29) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 155))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 155)))), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 2 0 [(.bind (.generated .part 156)), .wild]) (.mk [] (.move (.generated .part 156))))])] false) (.mk [] (.move (.generated .binding 0))) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .operand 158)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 157)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 157))))), (.mk (.bind (.generated .operand 159)) none (.construct .cons [(.clone (.generated .binding 1)), (.construct (.nil (.adt 2)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 158)), (.move (.generated .operand 159))] false))) (.call (.function 12) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 160))]) none (.move (.generated .binding 0)))] (.move (.generated .part 160)))), (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 2 0 [(.bind (.generated .part 161)), .wild]) (.mk [] (.move (.generated .part 161))))])] false)))))) :: + (.function (.generated .function 25) [{ pattern := .wild, type := (.pair .nat .nat) }] (.list .nat) (.mk [] (.construct .cons [(.lit (.nat 1)), (.construct .cons [(.lit (.nat 2)), (.construct .cons [(.lit (.nat 3)), (.construct (.nil .nat) [])])])]))) :: + (.function (.generated .function 26) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 0) }] (.fallible (.option (.pair .nat .nat))) (.mk [(.mk (.bind (.generated .holder 162)) none (.move (.generated .binding 1)))] (.matchOn (.move (.generated .holder 162)) [(.mk (.adt 0 0 []) (.mk [] (.succeed (.call (.function 30) [(.copy (.generated .binding 0))] false)))), (.mk (.adt 0 1 []) (.mk [] (.succeed (.call (.function 31) [(.copy (.generated .binding 0))] false)))), (.mk (.adt 0 2 [(.bind (.generated .binding 2))]) (.mk [] (.call (.function 32) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false)))]))) :: + (.function (.generated .function 27) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 3) }, { pattern := (.bind (.generated .binding 1)), type := (.list (.adt 2)) }, { pattern := (.bind (.generated .binding 2)), type := (.list .nat) }] (.fallible (.list (.adt 2))) (.mk [(.mk (.bind (.generated .holder 163)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 163)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 27) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 164)) (some (.fn 3)) (.move (.generated .binding 0)))] (.apply (.generated .callee 164) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]))) :: + (.function (.generated .function 28) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 2) }, { pattern := (.bind (.generated .binding 1)), type := (.list (.adt 2)) }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.fallible (.list (.adt 2))) (.mk [] (.call (.function 33) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false))) :: + (.function (.generated .function 29) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.pair .nat .nat)) }, { pattern := (.bind (.generated .binding 1)), type := (.pair .nat .nat) }] .bool (.mk [(.mk (.bind (.generated .holder 165)) none (.move (.generated .binding 0)))] (.matchOn (.uncons (.generated .holder 165)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 168)) none (.block (.mk [(.mk (.bind (.generated .operand 166)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 167)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 166)), (.move (.generated .operand 167))] false))))] (.matchOn (.move (.generated .holder 168)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 29) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]))) :: + (.function (.generated .function 30) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.option (.pair .nat .nat)) (.mk [] (.cond (.call (.function 34) [(.copy (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 35) [(.copy (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.pair .nat .nat)) []))))) :: + (.function (.generated .function 31) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.option (.pair .nat .nat)) (.mk [] (.cond (.call (.function 36) [(.copy (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 37) [(.copy (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.pair .nat .nat)) []))))) :: + (.function (.generated .function 32) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.option (.pair .nat .nat))) (.mk [] (.cond (.call (.function 38) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true) (.mk [] (.succeed (.construct .some [(.call (.function 39) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true)]))) (.mk [] (.succeed (.construct (.none (.pair .nat .nat)) [])))))) :: + (.function (.generated .function 33) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 2) }, { pattern := (.bind (.generated .binding 1)), type := (.list (.adt 2)) }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.fallible (.list (.adt 2))) (.mk [(.mk (.bind (.generated .holder 170)) none (.call (.function 26) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 169)), .wild]) (.mk [] (.move (.generated .part 169))))]), (.construct (.adt 0 2) [(.copy (.generated .binding 2))])] true))] (.matchOn (.move (.generated .holder 170)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [(.mk (.bind (.generated .operand 174)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 175)) none (.construct .cons [(.construct (.adt 2 0) [(.copy (.generated .binding 3)), (.block (.mk [(.mk (.bind (.generated .operand 172)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 171))]) (.mk [] (.move (.generated .part 171))))])), (.mk (.bind (.generated .operand 173)) none (.construct .cons [(.construct (.adt 0 2) [(.copy (.generated .binding 2))]), (.construct (.nil (.adt 0)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 172)), (.move (.generated .operand 173))] false)))]), (.construct (.nil (.adt 2)) [])]))] (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 174)), (.move (.generated .operand 175))] false))))]))) :: + (.function (.generated .function 34) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] .bool (.mk [(.mk (.bind (.generated .operand 177)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 176)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 176))))), (.mk (.bind (.generated .operand 178)) none (.lit (.nat 4)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 177)), (.move (.generated .operand 178))] false) (.mk [(.mk (.bind (.generated .operand 180)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 179))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 179))))), (.mk (.bind (.generated .operand 181)) none (.lit (.nat 3)))] (.call (.runtime .natLe) [(.move (.generated .operand 180)), (.move (.generated .operand 181))] false)) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 35) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.pair .nat .nat) (.mk [] (.pair (.lit (.nat 4)) (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 182))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 182))))))) :: + (.function (.generated .function 36) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] .bool (.mk [(.mk (.bind (.generated .operand 184)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 185)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 183))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 183)))))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 184)), (.move (.generated .operand 185))] false) (.mk [(.mk (.bind (.generated .operand 187)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 186)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 186))))), (.mk (.bind (.generated .operand 188)) none (.lit (.nat 4)))] (.call (.runtime .natLe) [(.move (.generated .operand 187)), (.move (.generated .operand 188))] false)) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 37) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.pair .nat .nat) (.mk [] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 189)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 189)))) (.lit (.nat 0))))) :: + (.function (.generated .function 38) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .bool) (.mk [(.mk (.bind (.generated .operand 191)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 192)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 190)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 190)))))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 191)), (.move (.generated .operand 192))] false) (.mk [(.mk (.bind (.generated .operand 196)) none (.block (.mk [(.mk (.bind (.generated .operand 194)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 193))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 193))))), (.mk (.bind (.generated .operand 195)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 194)), (.move (.generated .operand 195))] true)))), (.mk (.bind (.generated .operand 197)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 196)), (.move (.generated .operand 197))] false) (.mk [(.mk (.bind (.generated .operand 199)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 198)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 198))))), (.mk (.bind (.generated .operand 200)) none (.lit (.nat 4)))] (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 199)), (.move (.generated .operand 200))] false))) (.mk [] (.succeed (.lit (.bool false)))))) (.mk [] (.succeed (.lit (.bool false))))))) :: + (.function (.generated .function 39) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.pair .nat .nat)) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 202)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 201)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 201))))), (.mk (.bind (.generated .operand 203)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 202)), (.move (.generated .operand 203))] false))) (.block (.mk [(.mk (.bind (.generated .operand 205)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 204))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 204))))), (.mk (.bind (.generated .operand 206)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 205)), (.move (.generated .operand 206))] true))))))) :: + []) } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [(([(.adt 1)], (.option (.adt 1))), true), (([(.list (.adt 2)), (.adt 2)], (.list (.adt 2))), true), (([(.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.adt 2)], (.pair (.list (.adt 2)) (.list (.pair .nat .nat)))), false), (([(.list (.adt 2)), .nat], (.list (.adt 2))), true)] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.copy (.generated .binding 0))] true))], (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 1))) (.mk [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 1)))] (.succeed (.move (.generated .part 2))))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 9)))))]), [(0, .nat, (some 0))], rfl, rfl, + (Corr.matchArms (st := (.result (.pair .nat .nat) (.pair .bool .bool))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.pair .nat .nat), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := [(.mk (.tuple [(.bind (.generated .part 2)), .wild]) none (.copy (.generated .binding 1)))]) (tail := (.succeed (.move (.generated .part 2)))) (Corr.mCons (Γ' := [(2, (.pair .bool .bool), none), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 9)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl (Corr.fOfB (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl))) rfl rfl rfl)⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 3)) none (.call (.function 2) [(.copy (.generated .binding 0))] true))], (.matchOn (.move (.generated .holder 3)) [(.mk (.ok (.bind (.generated .binding 1))) (.mk [] (.succeed (.construct (.ok (.pair .nat .nat) (.pair .bool .bool)) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 4))))])))), (.mk (.err (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.copy (.generated .binding 2))]))))]), [(0, .nat, (some 0))], rfl, rfl, + (Corr.matchArms (st := (.result (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.pair (.pair .nat .nat) (.list (.adt 0))), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.ok (.pair .nat .nat) (.pair .bool .bool)) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 4))))]))) (Corr.mCons (Γ' := [(2, (.pair .bool .bool), (some 2)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.construct (.err (.pair .nat .nat) (.pair .bool .bool)) [(.copy (.generated .binding 2))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.pair .nat .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 4))) (Corr.first (ta := (.pair .nat .nat)) (tb := (.list (.adt 0))) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl))) rfl rfl rfl)⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.pair (.adt 1) .bool)) (.call (.function 3) [(.copy (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 8)) none (.block (.mk [(.mk (.bind (.generated .holder 7)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 6)), .wild]) none (.clone (.generated .binding 1)))] (.move (.generated .part 6)))))] (.matchOn (.move (.generated .holder 7)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 5)), .wild, .wild]) (.mk [] (.move (.generated .part 5))))]))))], (.matchOn (.move (.generated .holder 8)) [(.mk .none (.mk [] (.succeed (.construct (.err (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool)) [(.call (.function 4) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.move (.generated .binding 1)))] (.move (.generated .part 13)))), (.block (.mk [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 15)))))] (.matchOn (.move (.generated .holder 16)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 14)), .wild]) (.mk [] (.move (.generated .part 14))))])))] false)])))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.ok (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool)) [(.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 9)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 9)))) (.block (.mk [(.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 11))]) none (.move (.generated .binding 2)))] (.move (.generated .part 11)))))] (.matchOn (.move (.generated .holder 12)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 10))]) (.mk [] (.move (.generated .part 10))))]))))]))))]), [(0, .nat, (some 0))], rfl, rfl, + (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.matchArms (st := (.option (.pair (.pair .nat .nat) (.adt 2)))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 7)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 6)), .wild]) none (.clone (.generated .binding 1)))] (.move (.generated .part 6)))))]) (tail := (.matchOn (.move (.generated .holder 7)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 5)), .wild, .wild]) (.mk [] (.move (.generated .part 5))))])) (Corr.fieldHeld (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 5))) (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 6)), .wild]) none (.clone (.generated .binding 1)))]) (tail := (.move (.generated .part 6))) (Corr.first (ta := (.adt 1)) (tb := .bool) (Corr.var rfl rfl) rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.pair (.adt 1) .bool), (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.construct (.err (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool)) [(.call (.function 4) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.move (.generated .binding 1)))] (.move (.generated .part 13)))), (.block (.mk [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 15)))))] (.matchOn (.move (.generated .holder 16)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 14)), .wild]) (.mk [] (.move (.generated .part 14))))])))] false)]))) (Corr.mCons (Γ' := [(2, (.pair (.pair .nat .nat) (.adt 2)), (some 2)), (1, (.pair (.adt 1) .bool), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.ok (.pair (.pair .nat .nat) (.list (.adt 0))) (.pair .bool .bool)) [(.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 9)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 9)))) (.block (.mk [(.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 11))]) none (.move (.generated .binding 2)))] (.move (.generated .part 11)))))] (.matchOn (.move (.generated .holder 12)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 10))]) (.mk [] (.move (.generated .part 10))))]))))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.pair (.pair .nat .nat) (.list (.adt 0)))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 9)), .wild]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 9))) (Corr.first (ta := (.pair .nat .nat)) (tb := (.adt 2)) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 11))]) none (.move (.generated .binding 2)))] (.move (.generated .part 11)))))]) (tail := (.matchOn (.move (.generated .holder 12)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 10))]) (.mk [] (.move (.generated .part 10))))])) (Corr.fieldHeld (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 10))) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 11))]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 11))) (Corr.second (ta := (.pair .nat .nat)) (tb := (.adt 2)) (Corr.var rfl rfl) rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.bool, .bool]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 13))]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 13))) (Corr.second (ta := (.adt 1)) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 16)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 15)))))]) (tail := (.matchOn (.move (.generated .holder 16)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 14)), .wild]) (.mk [] (.move (.generated .part 14))))])) (Corr.fieldHeld (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 14))) (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 15)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 15))) (Corr.first (ta := (.adt 1)) (tb := .bool) (Corr.var rfl rfl) rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl))) rfl rfl rfl))⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 5) [(.construct (.closure 0 6) [(.copy (.generated .binding 0))]), (.block (.mk [(.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 18)) none (.lit (.nat 8)))] (.call (.runtime .natMul) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] true))), (.call (.function 7) [(.copy (.generated .binding 0))] true)] false), [(0, .nat, (some 0))], rfl, rfl, + (Corr.callF (ts := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [.nat]) (mask := [false]) (af := true) (ff := true) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 17)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 18)) none (.lit (.nat 8)))]) (tail := (.call (.runtime .natMul) [(.move (.generated .operand 17)), (.move (.generated .operand 18))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ + +theorem fun4 : FunOK program krate flags 4 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.cond (.copy (.generated .binding 0)) (.mk [(.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 1)))] (.call (.runtime .boolNot) [(.move (.generated .operand 19))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.pair (.lit (.bool false)) (.lit (.bool true)))) (.mk [] (.pair (.lit (.bool false)) (.lit (.bool false))))), [(1, .bool, (some 1)), (0, .bool, (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.cond (.copy (.generated .binding 0)) (.mk [(.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 1)))] (.call (.runtime .boolNot) [(.move (.generated .operand 19))] false)) (.mk [] (.lit (.bool false))))) (lk := []) (Corr.cond (lc := []) (ce := (.copy (.generated .binding 0))) (lk := []) (Corr.bOfE (Corr.var rfl rfl)) (Corr.kIf (la := [(.mk (.bind (.generated .operand 19)) none (.copy (.generated .binding 1)))]) (ta := (.call (.runtime .boolNot) [(.move (.generated .operand 19))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.bool]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.kIf (la := []) (ta := (.pair (.lit (.bool false)) (.lit (.bool true)))) (lb := []) (tb := (.pair (.lit (.bool false)) (.lit (.bool false)))) (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))))) (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))))))⟩⟩ + +theorem fun5 : FunOK program krate flags 5 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 20)) none (.copy (.generated .binding 1)))], (.cond (.isZero (.generated .holder 20)) (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 20))), (.mk (.bind (.generated .holder 22)) none (.block (.mk [(.mk (.bind (.generated .callee 21)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 21) [(.clone (.generated .binding 2))] true))))] (.matchOn (.move (.generated .holder 22)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 5) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))]))), [(2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))], rfl, rfl, + (Corr.matchNat (sl := (some 3)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (lb := [(.mk (.bind (.generated .holder 22)) none (.block (.mk [(.mk (.bind (.generated .callee 21)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 21) [(.clone (.generated .binding 2))] true))))]) (tb := (.matchOn (.move (.generated .holder 22)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 5) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))])) (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))))) (Corr.matchArms (st := (.option (.adt 1))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 21)) (some (.fn 0)) (.clone (.generated .binding 0)))]) (tail := (.apply (.generated .callee 21) [(.clone (.generated .binding 2))] true)) (Corr.apply (ps := [(.adt 1)]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, .nat, (some 3)), (2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true))))) (Corr.mCons (Γ' := [(4, (.adt 1), (some 4)), (3, .nat, (some 3)), (2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 5) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))))))) rfl rfl rfl)))⟩⟩ + +theorem fun6 : FunOK program krate flags 6 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 8) [(.copy (.generated .binding 0)), (.move (.generated .binding 1))] false), [(1, (.adt 1), (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.callF (ts := [.nat, (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)⟩⟩ + +theorem fun7 : FunOK program krate flags 7 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.list (.adt 2))) (.call (.function 9) [(.construct (.closure 1 10) [(.copy (.generated .binding 0))]), (.construct (.nil (.adt 2)) []), (.construct .cons [(.construct (.adt 2 0) [(.call (.function 11) [(.copy (.generated .binding 0))] false), (.construct (.nil (.adt 0)) [])]), (.construct (.nil (.adt 2)) [])])] true))], (.succeed (.construct (.adt 1 0) [(.clone (.generated .binding 1)), (.call (.function 12) [(.construct (.nil (.pair .nat .nat)) []), (.call (.function 11) [(.copy (.generated .binding 0))] false)] false), (.construct (.none (.pair (.pair .nat .nat) (.adt 2))) []), (.block (.mk [(.mk (.bind (.generated .operand 25)) none (.block (.mk [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 24)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] true)))), (.mk (.bind (.generated .operand 26)) none (.lit (.nat 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false))), (.construct (.adt 3 0) [(.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.block (.mk [(.mk (.bind (.generated .operand 27)) none (.move (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 27))] false)))])])), [(0, .nat, (some 0))], rfl, rfl, + (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (.list (.adt 2)), (.list (.adt 2))]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [.nat]) (mask := [false]) (af := true) (ff := true) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.adt 2), (.list (.adt 2))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair .nat .nat), (.list (.adt 0))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl (Corr.fOfB (Corr.build (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (mask := [false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat .nat)), (.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 25)) none (.block (.mk [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 24)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] true)))), (.mk (.bind (.generated .operand 26)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natLt) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 23)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 24)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 23)), (.move (.generated .operand 24))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 27)) none (.move (.generated .binding 1)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 27))] false)) (Corr.prim (ts := [(.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))) rfl)) (Corr.lNil))))))) rfl)))⟩⟩ + +theorem fun8 : FunOK program krate flags 8 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 29)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 28)), .wild, .wild]) (.mk [] (.move (.generated .part 28))))]))], (.matchOn (.move (.generated .holder 29)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 31)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [(.bind (.generated .part 30)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))]))] (.matchOn (.uncons (.generated .holder 31)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [(.mk (.bind (.generated .holder 33)) none (.call (.function 13) [(.copy (.generated .binding 0)), (.matchOn (.clone (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 32)), .wild]) (.mk [] (.move (.generated .part 32))))])] false))] (.matchOn (.move (.generated .holder 33)) [(.mk .none (.mk [(.mk (.bind (.generated .binding 6)) (some (.list (.adt 2))) (.call (.function 14) [(.clone (.generated .binding 3))] true)), (.mk (.bind (.generated .binding 7)) (some (.pair (.list (.adt 2)) (.list (.pair .nat .nat)))) (.call (.function 15) [(.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 58)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))]), (.clone (.generated .binding 6))] false)), (.mk (.bind (.generated .binding 8)) (some (.list (.adt 2))) (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.move (.generated .binding 4))), (.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.move (.generated .binding 7)))] (.move (.generated .part 59)))))] (.call (.runtime .appendList) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false)))), (.mk (.bind (.generated .binding 9)) (some (.list (.adt 2))) (.call (.function 9) [(.construct (.closure 1 16) [(.copy (.generated .binding 0))]), (.construct (.nil (.adt 2)) []), (.clone (.generated .binding 8))] true))] (.succeed (.construct .some [(.construct (.adt 1 0) [(.clone (.generated .binding 9)), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 62))]) none (.move (.generated .binding 7)))] (.move (.generated .part 62)))), (.construct (.none (.pair (.pair .nat .nat) (.adt 2))) []), (.cond (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 63)), .wild]) (.mk [] (.move (.generated .part 63))))]) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 65)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] true)))), (.mk (.bind (.generated .operand 68)) none (.block (.mk [(.mk (.bind (.generated .operand 66)) none (.move (.generated .binding 8)))] (.call (.runtime .lengthList) [(.move (.generated .operand 66))] false))))] (.call (.runtime .natLt) [(.move (.generated .operand 67)), (.move (.generated .operand 68))] false))), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.bind (.generated .holder 71)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 70))]) (.mk [] (.move (.generated .part 70))))]))] (.matchOn (.move (.generated .holder 71)) [(.mk (.adt 3 0 [(.bind (.generated .part 69)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 69))))])))), (.mk (.bind (.generated .operand 73)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] true))), (.block (.mk [(.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.bind (.generated .holder 76)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 75))]) (.mk [] (.move (.generated .part 75))))]))] (.matchOn (.move (.generated .holder 76)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 74)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 74))))])))), (.mk (.bind (.generated .operand 79)) none (.call (.function 17) [(.matchOn (.move (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 77)), .wild]) (.mk [] (.move (.generated .part 77))))])] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 78)), (.move (.generated .operand 79))] true))), (.block (.mk [(.mk (.bind (.generated .operand 84)) none (.block (.mk [(.mk (.bind (.generated .holder 82)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))]))] (.matchOn (.move (.generated .holder 82)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 80)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 80))))])))), (.mk (.bind (.generated .operand 85)) none (.block (.mk [(.mk (.bind (.generated .operand 83)) none (.move (.generated .binding 6)))] (.call (.runtime .lengthList) [(.move (.generated .operand 83))] false))))] (.call (.runtime .natAdd) [(.move (.generated .operand 84)), (.move (.generated .operand 85))] true))), (.block (.mk [(.mk (.bind (.generated .operand 89)) none (.block (.mk [(.mk (.bind (.generated .holder 88)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))]))] (.matchOn (.move (.generated .holder 88)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 86)), .wild, .wild]) (.mk [] (.move (.generated .part 86))))])))), (.mk (.bind (.generated .operand 90)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 89)), (.move (.generated .operand 90))] true))), (.block (.mk [(.mk (.bind (.generated .operand 94)) none (.block (.mk [(.mk (.bind (.generated .holder 93)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 92))]) (.mk [] (.move (.generated .part 92))))]))] (.matchOn (.move (.generated .holder 93)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 91)), .wild]) (.mk [] (.move (.generated .part 91))))])))), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] true))), (.block (.mk [(.mk (.bind (.generated .operand 100)) none (.block (.mk [(.mk (.bind (.generated .holder 98)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 97))]) (.mk [] (.move (.generated .part 97))))]))] (.matchOn (.move (.generated .holder 98)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96))]) (.mk [] (.move (.generated .part 96))))])))), (.mk (.bind (.generated .operand 101)) none (.block (.mk [(.mk (.bind (.generated .operand 99)) none (.clone (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 99))] false))))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false) (.mk [(.mk (.bind (.generated .operand 102)) none (.move (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 102))] false)) (.mk [(.mk (.bind (.generated .holder 105)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 104))]) (.mk [] (.move (.generated .part 104))))]))] (.matchOn (.move (.generated .holder 105)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 103))]) (.mk [] (.move (.generated .part 103))))])))))])])])))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.succeed (.construct .some [(.construct (.adt 1 0) [(.move (.generated .binding 4)), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 34)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 34))))]), (.construct .some [(.pair (.copy (.generated .binding 5)) (.move (.generated .binding 3)))]), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 35)), .wild]) (.mk [] (.move (.generated .part 35))))]), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .holder 38)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 37))]) (.mk [] (.move (.generated .part 37))))]))] (.matchOn (.move (.generated .holder 38)) [(.mk (.adt 3 0 [(.bind (.generated .part 36)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])))), (.mk (.bind (.generated .operand 40)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] true))), (.block (.mk [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))] (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 41)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 41))))]))), (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 44)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 44))))]))), (.block (.mk [(.mk (.bind (.generated .holder 49)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))]))] (.matchOn (.move (.generated .holder 49)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 47)), .wild, .wild]) (.mk [] (.move (.generated .part 47))))]))), (.block (.mk [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .holder 52)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 51))]) (.mk [] (.move (.generated .part 51))))]))] (.matchOn (.move (.generated .holder 52)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 50)), .wild]) (.mk [] (.move (.generated .part 50))))])))), (.mk (.bind (.generated .operand 54)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true))), (.block (.mk [(.mk (.bind (.generated .holder 57)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 56))]) (.mk [] (.move (.generated .part 56))))]))] (.matchOn (.move (.generated .holder 57)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 55))]) (.mk [] (.move (.generated .part 55))))])))])])]))))])))]))), (.mk (.some .wild) (.mk [] (.succeed (.construct (.none (.adt 1)) []))))]), [(1, (.adt 1), (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option (.pair (.pair .nat .nat) (.adt 2)))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 28))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 31)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [(.bind (.generated .part 30)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))]))]) (tail := (.matchOn (.uncons (.generated .holder 31)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [(.mk (.bind (.generated .holder 33)) none (.call (.function 13) [(.copy (.generated .binding 0)), (.matchOn (.clone (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 32)), .wild]) (.mk [] (.move (.generated .part 32))))])] false))] (.matchOn (.move (.generated .holder 33)) [(.mk .none (.mk [(.mk (.bind (.generated .binding 6)) (some (.list (.adt 2))) (.call (.function 14) [(.clone (.generated .binding 3))] true)), (.mk (.bind (.generated .binding 7)) (some (.pair (.list (.adt 2)) (.list (.pair .nat .nat)))) (.call (.function 15) [(.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 58)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))]), (.clone (.generated .binding 6))] false)), (.mk (.bind (.generated .binding 8)) (some (.list (.adt 2))) (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.move (.generated .binding 4))), (.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.move (.generated .binding 7)))] (.move (.generated .part 59)))))] (.call (.runtime .appendList) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false)))), (.mk (.bind (.generated .binding 9)) (some (.list (.adt 2))) (.call (.function 9) [(.construct (.closure 1 16) [(.copy (.generated .binding 0))]), (.construct (.nil (.adt 2)) []), (.clone (.generated .binding 8))] true))] (.succeed (.construct .some [(.construct (.adt 1 0) [(.clone (.generated .binding 9)), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 62))]) none (.move (.generated .binding 7)))] (.move (.generated .part 62)))), (.construct (.none (.pair (.pair .nat .nat) (.adt 2))) []), (.cond (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 63)), .wild]) (.mk [] (.move (.generated .part 63))))]) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 65)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] true)))), (.mk (.bind (.generated .operand 68)) none (.block (.mk [(.mk (.bind (.generated .operand 66)) none (.move (.generated .binding 8)))] (.call (.runtime .lengthList) [(.move (.generated .operand 66))] false))))] (.call (.runtime .natLt) [(.move (.generated .operand 67)), (.move (.generated .operand 68))] false))), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.bind (.generated .holder 71)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 70))]) (.mk [] (.move (.generated .part 70))))]))] (.matchOn (.move (.generated .holder 71)) [(.mk (.adt 3 0 [(.bind (.generated .part 69)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 69))))])))), (.mk (.bind (.generated .operand 73)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] true))), (.block (.mk [(.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.bind (.generated .holder 76)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 75))]) (.mk [] (.move (.generated .part 75))))]))] (.matchOn (.move (.generated .holder 76)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 74)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 74))))])))), (.mk (.bind (.generated .operand 79)) none (.call (.function 17) [(.matchOn (.move (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 77)), .wild]) (.mk [] (.move (.generated .part 77))))])] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 78)), (.move (.generated .operand 79))] true))), (.block (.mk [(.mk (.bind (.generated .operand 84)) none (.block (.mk [(.mk (.bind (.generated .holder 82)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))]))] (.matchOn (.move (.generated .holder 82)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 80)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 80))))])))), (.mk (.bind (.generated .operand 85)) none (.block (.mk [(.mk (.bind (.generated .operand 83)) none (.move (.generated .binding 6)))] (.call (.runtime .lengthList) [(.move (.generated .operand 83))] false))))] (.call (.runtime .natAdd) [(.move (.generated .operand 84)), (.move (.generated .operand 85))] true))), (.block (.mk [(.mk (.bind (.generated .operand 89)) none (.block (.mk [(.mk (.bind (.generated .holder 88)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))]))] (.matchOn (.move (.generated .holder 88)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 86)), .wild, .wild]) (.mk [] (.move (.generated .part 86))))])))), (.mk (.bind (.generated .operand 90)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 89)), (.move (.generated .operand 90))] true))), (.block (.mk [(.mk (.bind (.generated .operand 94)) none (.block (.mk [(.mk (.bind (.generated .holder 93)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 92))]) (.mk [] (.move (.generated .part 92))))]))] (.matchOn (.move (.generated .holder 93)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 91)), .wild]) (.mk [] (.move (.generated .part 91))))])))), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] true))), (.block (.mk [(.mk (.bind (.generated .operand 100)) none (.block (.mk [(.mk (.bind (.generated .holder 98)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 97))]) (.mk [] (.move (.generated .part 97))))]))] (.matchOn (.move (.generated .holder 98)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96))]) (.mk [] (.move (.generated .part 96))))])))), (.mk (.bind (.generated .operand 101)) none (.block (.mk [(.mk (.bind (.generated .operand 99)) none (.clone (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 99))] false))))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false) (.mk [(.mk (.bind (.generated .operand 102)) none (.move (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 102))] false)) (.mk [(.mk (.bind (.generated .holder 105)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 104))]) (.mk [] (.move (.generated .part 104))))]))] (.matchOn (.move (.generated .holder 105)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 103))]) (.mk [] (.move (.generated .part 103))))])))))])])])))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.succeed (.construct .some [(.construct (.adt 1 0) [(.move (.generated .binding 4)), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 34)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 34))))]), (.construct .some [(.pair (.copy (.generated .binding 5)) (.move (.generated .binding 3)))]), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 35)), .wild]) (.mk [] (.move (.generated .part 35))))]), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .holder 38)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 37))]) (.mk [] (.move (.generated .part 37))))]))] (.matchOn (.move (.generated .holder 38)) [(.mk (.adt 3 0 [(.bind (.generated .part 36)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])))), (.mk (.bind (.generated .operand 40)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] true))), (.block (.mk [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))] (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 41)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 41))))]))), (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 44)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 44))))]))), (.block (.mk [(.mk (.bind (.generated .holder 49)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))]))] (.matchOn (.move (.generated .holder 49)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 47)), .wild, .wild]) (.mk [] (.move (.generated .part 47))))]))), (.block (.mk [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .holder 52)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 51))]) (.mk [] (.move (.generated .part 51))))]))] (.matchOn (.move (.generated .holder 52)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 50)), .wild]) (.mk [] (.move (.generated .part 50))))])))), (.mk (.bind (.generated .operand 54)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true))), (.block (.mk [(.mk (.bind (.generated .holder 57)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 56))]) (.mk [] (.move (.generated .part 56))))]))] (.matchOn (.move (.generated .holder 57)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 55))]) (.mk [] (.move (.generated .part 55))))])))])])]))))])))])) (Corr.mCons (Γ' := [(2, (.pair (.pair .nat .nat) (.adt 2)), none), (1, (.adt 1), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.none (.adt 1)) []))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) rfl rfl rfl (Corr.matchArms (st := (.list (.adt 2))) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 30))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.none (.adt 1)) []))) (Corr.mCons (Γ' := [(4, (.list (.adt 2)), (some 4)), (3, (.adt 2), (some 3)), (1, (.adt 1), (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 33)) none (.call (.function 13) [(.copy (.generated .binding 0)), (.matchOn (.clone (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 32)), .wild]) (.mk [] (.move (.generated .part 32))))])] false))]) (tail := (.matchOn (.move (.generated .holder 33)) [(.mk .none (.mk [(.mk (.bind (.generated .binding 6)) (some (.list (.adt 2))) (.call (.function 14) [(.clone (.generated .binding 3))] true)), (.mk (.bind (.generated .binding 7)) (some (.pair (.list (.adt 2)) (.list (.pair .nat .nat)))) (.call (.function 15) [(.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 58)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))]), (.clone (.generated .binding 6))] false)), (.mk (.bind (.generated .binding 8)) (some (.list (.adt 2))) (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.move (.generated .binding 4))), (.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.move (.generated .binding 7)))] (.move (.generated .part 59)))))] (.call (.runtime .appendList) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false)))), (.mk (.bind (.generated .binding 9)) (some (.list (.adt 2))) (.call (.function 9) [(.construct (.closure 1 16) [(.copy (.generated .binding 0))]), (.construct (.nil (.adt 2)) []), (.clone (.generated .binding 8))] true))] (.succeed (.construct .some [(.construct (.adt 1 0) [(.clone (.generated .binding 9)), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 62))]) none (.move (.generated .binding 7)))] (.move (.generated .part 62)))), (.construct (.none (.pair (.pair .nat .nat) (.adt 2))) []), (.cond (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 63)), .wild]) (.mk [] (.move (.generated .part 63))))]) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 65)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] true)))), (.mk (.bind (.generated .operand 68)) none (.block (.mk [(.mk (.bind (.generated .operand 66)) none (.move (.generated .binding 8)))] (.call (.runtime .lengthList) [(.move (.generated .operand 66))] false))))] (.call (.runtime .natLt) [(.move (.generated .operand 67)), (.move (.generated .operand 68))] false))), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.bind (.generated .holder 71)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 70))]) (.mk [] (.move (.generated .part 70))))]))] (.matchOn (.move (.generated .holder 71)) [(.mk (.adt 3 0 [(.bind (.generated .part 69)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 69))))])))), (.mk (.bind (.generated .operand 73)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] true))), (.block (.mk [(.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.bind (.generated .holder 76)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 75))]) (.mk [] (.move (.generated .part 75))))]))] (.matchOn (.move (.generated .holder 76)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 74)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 74))))])))), (.mk (.bind (.generated .operand 79)) none (.call (.function 17) [(.matchOn (.move (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 77)), .wild]) (.mk [] (.move (.generated .part 77))))])] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 78)), (.move (.generated .operand 79))] true))), (.block (.mk [(.mk (.bind (.generated .operand 84)) none (.block (.mk [(.mk (.bind (.generated .holder 82)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))]))] (.matchOn (.move (.generated .holder 82)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 80)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 80))))])))), (.mk (.bind (.generated .operand 85)) none (.block (.mk [(.mk (.bind (.generated .operand 83)) none (.move (.generated .binding 6)))] (.call (.runtime .lengthList) [(.move (.generated .operand 83))] false))))] (.call (.runtime .natAdd) [(.move (.generated .operand 84)), (.move (.generated .operand 85))] true))), (.block (.mk [(.mk (.bind (.generated .operand 89)) none (.block (.mk [(.mk (.bind (.generated .holder 88)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))]))] (.matchOn (.move (.generated .holder 88)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 86)), .wild, .wild]) (.mk [] (.move (.generated .part 86))))])))), (.mk (.bind (.generated .operand 90)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 89)), (.move (.generated .operand 90))] true))), (.block (.mk [(.mk (.bind (.generated .operand 94)) none (.block (.mk [(.mk (.bind (.generated .holder 93)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 92))]) (.mk [] (.move (.generated .part 92))))]))] (.matchOn (.move (.generated .holder 93)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 91)), .wild]) (.mk [] (.move (.generated .part 91))))])))), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] true))), (.block (.mk [(.mk (.bind (.generated .operand 100)) none (.block (.mk [(.mk (.bind (.generated .holder 98)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 97))]) (.mk [] (.move (.generated .part 97))))]))] (.matchOn (.move (.generated .holder 98)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96))]) (.mk [] (.move (.generated .part 96))))])))), (.mk (.bind (.generated .operand 101)) none (.block (.mk [(.mk (.bind (.generated .operand 99)) none (.clone (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 99))] false))))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false) (.mk [(.mk (.bind (.generated .operand 102)) none (.move (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 102))] false)) (.mk [(.mk (.bind (.generated .holder 105)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 104))]) (.mk [] (.move (.generated .part 104))))]))] (.matchOn (.move (.generated .holder 105)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 103))]) (.mk [] (.move (.generated .part 103))))])))))])])])))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.succeed (.construct .some [(.construct (.adt 1 0) [(.move (.generated .binding 4)), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 34)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 34))))]), (.construct .some [(.pair (.copy (.generated .binding 5)) (.move (.generated .binding 3)))]), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 35)), .wild]) (.mk [] (.move (.generated .part 35))))]), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .holder 38)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 37))]) (.mk [] (.move (.generated .part 37))))]))] (.matchOn (.move (.generated .holder 38)) [(.mk (.adt 3 0 [(.bind (.generated .part 36)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])))), (.mk (.bind (.generated .operand 40)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] true))), (.block (.mk [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))] (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 41)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 41))))]))), (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 44)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 44))))]))), (.block (.mk [(.mk (.bind (.generated .holder 49)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))]))] (.matchOn (.move (.generated .holder 49)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 47)), .wild, .wild]) (.mk [] (.move (.generated .part 47))))]))), (.block (.mk [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .holder 52)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 51))]) (.mk [] (.move (.generated .part 51))))]))] (.matchOn (.move (.generated .holder 52)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 50)), .wild]) (.mk [] (.move (.generated .part 50))))])))), (.mk (.bind (.generated .operand 54)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true))), (.block (.mk [(.mk (.bind (.generated .holder 57)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 56))]) (.mk [] (.move (.generated .part 56))))]))] (.matchOn (.move (.generated .holder 57)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 55))]) (.mk [] (.move (.generated .part 55))))])))])])]))))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := (.option (.pair .nat .nat))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.callOps (ts := [.nat, (.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 32))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.adt 2)), (some 4)), (3, (.adt 2), (some 3)), (1, (.adt 1), (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .binding 6)) (some (.list (.adt 2))) (.call (.function 14) [(.clone (.generated .binding 3))] true)), (.mk (.bind (.generated .binding 7)) (some (.pair (.list (.adt 2)) (.list (.pair .nat .nat)))) (.call (.function 15) [(.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 58)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))]), (.clone (.generated .binding 6))] false)), (.mk (.bind (.generated .binding 8)) (some (.list (.adt 2))) (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.move (.generated .binding 4))), (.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.move (.generated .binding 7)))] (.move (.generated .part 59)))))] (.call (.runtime .appendList) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false)))), (.mk (.bind (.generated .binding 9)) (some (.list (.adt 2))) (.call (.function 9) [(.construct (.closure 1 16) [(.copy (.generated .binding 0))]), (.construct (.nil (.adt 2)) []), (.clone (.generated .binding 8))] true))]) (tail := (.succeed (.construct .some [(.construct (.adt 1 0) [(.clone (.generated .binding 9)), (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 62))]) none (.move (.generated .binding 7)))] (.move (.generated .part 62)))), (.construct (.none (.pair (.pair .nat .nat) (.adt 2))) []), (.cond (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 63)), .wild]) (.mk [] (.move (.generated .part 63))))]) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 65)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] true)))), (.mk (.bind (.generated .operand 68)) none (.block (.mk [(.mk (.bind (.generated .operand 66)) none (.move (.generated .binding 8)))] (.call (.runtime .lengthList) [(.move (.generated .operand 66))] false))))] (.call (.runtime .natLt) [(.move (.generated .operand 67)), (.move (.generated .operand 68))] false))), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.bind (.generated .holder 71)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 70))]) (.mk [] (.move (.generated .part 70))))]))] (.matchOn (.move (.generated .holder 71)) [(.mk (.adt 3 0 [(.bind (.generated .part 69)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 69))))])))), (.mk (.bind (.generated .operand 73)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] true))), (.block (.mk [(.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.bind (.generated .holder 76)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 75))]) (.mk [] (.move (.generated .part 75))))]))] (.matchOn (.move (.generated .holder 76)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 74)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 74))))])))), (.mk (.bind (.generated .operand 79)) none (.call (.function 17) [(.matchOn (.move (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 77)), .wild]) (.mk [] (.move (.generated .part 77))))])] true))] (.call (.runtime .natAdd) [(.move (.generated .operand 78)), (.move (.generated .operand 79))] true))), (.block (.mk [(.mk (.bind (.generated .operand 84)) none (.block (.mk [(.mk (.bind (.generated .holder 82)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))]))] (.matchOn (.move (.generated .holder 82)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 80)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 80))))])))), (.mk (.bind (.generated .operand 85)) none (.block (.mk [(.mk (.bind (.generated .operand 83)) none (.move (.generated .binding 6)))] (.call (.runtime .lengthList) [(.move (.generated .operand 83))] false))))] (.call (.runtime .natAdd) [(.move (.generated .operand 84)), (.move (.generated .operand 85))] true))), (.block (.mk [(.mk (.bind (.generated .operand 89)) none (.block (.mk [(.mk (.bind (.generated .holder 88)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))]))] (.matchOn (.move (.generated .holder 88)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 86)), .wild, .wild]) (.mk [] (.move (.generated .part 86))))])))), (.mk (.bind (.generated .operand 90)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 89)), (.move (.generated .operand 90))] true))), (.block (.mk [(.mk (.bind (.generated .operand 94)) none (.block (.mk [(.mk (.bind (.generated .holder 93)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 92))]) (.mk [] (.move (.generated .part 92))))]))] (.matchOn (.move (.generated .holder 93)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 91)), .wild]) (.mk [] (.move (.generated .part 91))))])))), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] true))), (.block (.mk [(.mk (.bind (.generated .operand 100)) none (.block (.mk [(.mk (.bind (.generated .holder 98)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 97))]) (.mk [] (.move (.generated .part 97))))]))] (.matchOn (.move (.generated .holder 98)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96))]) (.mk [] (.move (.generated .part 96))))])))), (.mk (.bind (.generated .operand 101)) none (.block (.mk [(.mk (.bind (.generated .operand 99)) none (.clone (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 99))] false))))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false) (.mk [(.mk (.bind (.generated .operand 102)) none (.move (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 102))] false)) (.mk [(.mk (.bind (.generated .holder 105)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 104))]) (.mk [] (.move (.generated .part 104))))]))] (.matchOn (.move (.generated .holder 105)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 103))]) (.mk [] (.move (.generated .part 103))))])))))])])]))) (Corr.mCons (Γ' := [(5, (.pair .nat .nat), (some 5)), (4, (.list (.adt 2)), (some 4)), (3, (.adt 2), (some 3)), (1, (.adt 1), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.construct (.adt 1 0) [(.move (.generated .binding 4)), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 34)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 34))))]), (.construct .some [(.pair (.copy (.generated .binding 5)) (.move (.generated .binding 3)))]), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 35)), .wild]) (.mk [] (.move (.generated .part 35))))]), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .holder 38)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 37))]) (.mk [] (.move (.generated .part 37))))]))] (.matchOn (.move (.generated .holder 38)) [(.mk (.adt 3 0 [(.bind (.generated .part 36)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])))), (.mk (.bind (.generated .operand 40)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] true))), (.block (.mk [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))] (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 41)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 41))))]))), (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 44)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 44))))]))), (.block (.mk [(.mk (.bind (.generated .holder 49)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))]))] (.matchOn (.move (.generated .holder 49)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 47)), .wild, .wild]) (.mk [] (.move (.generated .part 47))))]))), (.block (.mk [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .holder 52)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 51))]) (.mk [] (.move (.generated .part 51))))]))] (.matchOn (.move (.generated .holder 52)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 50)), .wild]) (.mk [] (.move (.generated .part 50))))])))), (.mk (.bind (.generated .operand 54)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true))), (.block (.mk [(.mk (.bind (.generated .holder 57)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 56))]) (.mk [] (.move (.generated .part 56))))]))] (.matchOn (.move (.generated .holder 57)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 55))]) (.mk [] (.move (.generated .part 55))))])))])])]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (mask := [false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 34))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair (.pair .nat .nat) (.adt 2))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 35))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 39)) none (.block (.mk [(.mk (.bind (.generated .holder 38)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 37))]) (.mk [] (.move (.generated .part 37))))]))] (.matchOn (.move (.generated .holder 38)) [(.mk (.adt 3 0 [(.bind (.generated .part 36)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])))), (.mk (.bind (.generated .operand 40)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 39)), (.move (.generated .operand 40))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 38)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 37))]) (.mk [] (.move (.generated .part 37))))]))]) (tail := (.matchOn (.move (.generated .holder 38)) [(.mk (.adt 3 0 [(.bind (.generated .part 36)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 36))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 37))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))]) (tail := (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 41)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 41))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 41))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 42))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))]) (tail := (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 44)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 44))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 44))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 45))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 49)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))]))]) (tail := (.matchOn (.move (.generated .holder 49)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 47)), .wild, .wild]) (.mk [] (.move (.generated .part 47))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 47))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 48))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 53)) none (.block (.mk [(.mk (.bind (.generated .holder 52)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 51))]) (.mk [] (.move (.generated .part 51))))]))] (.matchOn (.move (.generated .holder 52)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 50)), .wild]) (.mk [] (.move (.generated .part 50))))])))), (.mk (.bind (.generated .operand 54)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 53)), (.move (.generated .operand 54))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 52)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 51))]) (.mk [] (.move (.generated .part 51))))]))]) (tail := (.matchOn (.move (.generated .holder 52)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 50)), .wild]) (.mk [] (.move (.generated .part 50))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 50))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 51))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 57)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 56))]) (.mk [] (.move (.generated .part 56))))]))]) (tail := (.matchOn (.move (.generated .holder 57)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 55))]) (.mk [] (.move (.generated .part 55))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 55))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 56))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))) rfl)) (Corr.lNil))))))) rfl)) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.adt 2)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat .nat)), (.list (.adt 2))]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 58))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 60)) none (.move (.generated .binding 4))), (.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.move (.generated .binding 7)))] (.move (.generated .part 59)))))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false)) (Corr.prim (ts := [(.list (.adt 2)), (.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 59)), .wild]) none (.move (.generated .binding 7)))]) (tail := (.move (.generated .part 59))) (Corr.first (ta := (.list (.adt 2))) (tb := (.list (.pair .nat .nat))) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (.list (.adt 2)), (.list (.adt 2))]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [.nat]) (mask := [false]) (af := true) (ff := true) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl (Corr.fOfB (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (mask := [false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 62))]) none (.move (.generated .binding 7)))]) (tail := (.move (.generated .part 62))) (Corr.second (ta := (.list (.adt 2))) (tb := (.list (.pair .nat .nat))) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 63)), .wild]) (.mk [] (.move (.generated .part 63))))])) (lk := []) (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 63))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 65)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] true)))), (.mk (.bind (.generated .operand 68)) none (.block (.mk [(.mk (.bind (.generated .operand 66)) none (.move (.generated .binding 8)))] (.call (.runtime .lengthList) [(.move (.generated .operand 66))] false))))]) (tb := (.call (.runtime .natLt) [(.move (.generated .operand 67)), (.move (.generated .operand 68))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 64)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 65)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 64)), (.move (.generated .operand 65))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 66)) none (.move (.generated .binding 8)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 66))] false)) (Corr.prim (ts := [(.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)))) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 72)) none (.block (.mk [(.mk (.bind (.generated .holder 71)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 70))]) (.mk [] (.move (.generated .part 70))))]))] (.matchOn (.move (.generated .holder 71)) [(.mk (.adt 3 0 [(.bind (.generated .part 69)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 69))))])))), (.mk (.bind (.generated .operand 73)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 72)), (.move (.generated .operand 73))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 71)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 70))]) (.mk [] (.move (.generated .part 70))))]))]) (tail := (.matchOn (.move (.generated .holder 71)) [(.mk (.adt 3 0 [(.bind (.generated .part 69)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 69))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 69))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 70))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.bind (.generated .holder 76)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 75))]) (.mk [] (.move (.generated .part 75))))]))] (.matchOn (.move (.generated .holder 76)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 74)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 74))))])))), (.mk (.bind (.generated .operand 79)) none (.call (.function 17) [(.matchOn (.move (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 77)), .wild]) (.mk [] (.move (.generated .part 77))))])] true))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 78)), (.move (.generated .operand 79))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 76)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 75))]) (.mk [] (.move (.generated .part 75))))]))]) (tail := (.matchOn (.move (.generated .holder 76)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 74)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 74))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 74))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 75))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 77))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 84)) none (.block (.mk [(.mk (.bind (.generated .holder 82)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))]))] (.matchOn (.move (.generated .holder 82)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 80)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 80))))])))), (.mk (.bind (.generated .operand 85)) none (.block (.mk [(.mk (.bind (.generated .operand 83)) none (.move (.generated .binding 6)))] (.call (.runtime .lengthList) [(.move (.generated .operand 83))] false))))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 84)), (.move (.generated .operand 85))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 82)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))]))]) (tail := (.matchOn (.move (.generated .holder 82)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 80)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 80))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 80))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 81))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 83)) none (.move (.generated .binding 6)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 83))] false)) (Corr.prim (ts := [(.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 89)) none (.block (.mk [(.mk (.bind (.generated .holder 88)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))]))] (.matchOn (.move (.generated .holder 88)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 86)), .wild, .wild]) (.mk [] (.move (.generated .part 86))))])))), (.mk (.bind (.generated .operand 90)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 89)), (.move (.generated .operand 90))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 88)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 87))]) (.mk [] (.move (.generated .part 87))))]))]) (tail := (.matchOn (.move (.generated .holder 88)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 86)), .wild, .wild]) (.mk [] (.move (.generated .part 86))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 86))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 87))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 94)) none (.block (.mk [(.mk (.bind (.generated .holder 93)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 92))]) (.mk [] (.move (.generated .part 92))))]))] (.matchOn (.move (.generated .holder 93)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 91)), .wild]) (.mk [] (.move (.generated .part 91))))])))), (.mk (.bind (.generated .operand 95)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 93)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 92))]) (.mk [] (.move (.generated .part 92))))]))]) (tail := (.matchOn (.move (.generated .holder 93)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 91)), .wild]) (.mk [] (.move (.generated .part 91))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 91))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 92))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 100)) none (.block (.mk [(.mk (.bind (.generated .holder 98)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 97))]) (.mk [] (.move (.generated .part 97))))]))] (.matchOn (.move (.generated .holder 98)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96))]) (.mk [] (.move (.generated .part 96))))])))), (.mk (.bind (.generated .operand 101)) none (.block (.mk [(.mk (.bind (.generated .operand 99)) none (.clone (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 99))] false))))]) (tail := (.cond (.call (.runtime .natLt) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false) (.mk [(.mk (.bind (.generated .operand 102)) none (.move (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 102))] false)) (.mk [(.mk (.bind (.generated .holder 105)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 104))]) (.mk [] (.move (.generated .part 104))))]))] (.matchOn (.move (.generated .holder 105)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 103))]) (.mk [] (.move (.generated .part 103))))])))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 100)) none (.block (.mk [(.mk (.bind (.generated .holder 98)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 97))]) (.mk [] (.move (.generated .part 97))))]))] (.matchOn (.move (.generated .holder 98)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96))]) (.mk [] (.move (.generated .part 96))))])))), (.mk (.bind (.generated .operand 101)) none (.block (.mk [(.mk (.bind (.generated .operand 99)) none (.clone (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 99))] false))))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 98)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 97))]) (.mk [] (.move (.generated .part 97))))]))]) (tail := (.matchOn (.move (.generated .holder 98)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 96))]) (.mk [] (.move (.generated .part 96))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 96))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 97))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 99)) none (.clone (.generated .binding 9)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 99))] false)) (Corr.prim (ts := [(.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 102)) none (.move (.generated .binding 9)))]) (ta := (.call (.runtime .lengthList) [(.move (.generated .operand 102))] false)) (lb := [(.mk (.bind (.generated .holder 105)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 104))]) (.mk [] (.move (.generated .part 104))))]))]) (tb := (.matchOn (.move (.generated .holder 105)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 103))]) (.mk [] (.move (.generated .part 103))))])) (Corr.prim (ts := [(.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 103))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.list (.pair .nat .nat)), (.option (.pair (.pair .nat .nat) (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 104))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)))) (Corr.lNil)))))))) rfl)) (Corr.lNil))))))) rfl)) (Corr.lNil))) rfl))))))) rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) rfl rfl rfl)) rfl rfl rfl)⟩⟩ + +theorem fun9 : FunOK program krate flags 9 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 106)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 106)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 9) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 107)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 107) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list (.adt 2)), (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.adt 2))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.adt 2)), (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list (.adt 2)), (some 4)), (3, (.adt 2), (some 3)), (2, (.list (.adt 2)), (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 9) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 107)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 107) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (.list (.adt 2)), (.list (.adt 2))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 107)) (some (.fn 1)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 107) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] true)) (Corr.apply (ps := [(.list (.adt 2)), (.adt 2)]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun10 : FunOK program krate flags 10 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 111)) none (.block (.mk [(.mk (.bind (.generated .operand 108)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 108))] false)))), (.mk (.bind (.generated .operand 112)) none (.block (.mk [(.mk (.bind (.generated .operand 109)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 110)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 109)), (.move (.generated .operand 110))] true))))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 111)), (.move (.generated .operand 112))] false) (.mk [(.mk (.bind (.generated .operand 113)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 114)) none (.construct .cons [(.move (.generated .binding 2)), (.construct (.nil (.adt 2)) [])]))] (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 113)), (.move (.generated .operand 114))] false))) (.mk [] (.succeed (.move (.generated .binding 1))))), [(2, (.adt 2), (some 2)), (1, (.list (.adt 2)), (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 111)) none (.block (.mk [(.mk (.bind (.generated .operand 108)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 108))] false)))), (.mk (.bind (.generated .operand 112)) none (.block (.mk [(.mk (.bind (.generated .operand 109)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 110)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 109)), (.move (.generated .operand 110))] true))))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 111)), (.move (.generated .operand 112))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 108)) none (.clone (.generated .binding 1)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 108))] false)) (Corr.prim (ts := [(.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 109)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 110)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 109)), (.move (.generated .operand 110))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 113)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 114)) none (.construct .cons [(.move (.generated .binding 2)), (.construct (.nil (.adt 2)) [])]))]) (ta := (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 113)), (.move (.generated .operand 114))] false))) (lb := []) (tb := (.succeed (.move (.generated .binding 1)))) (Corr.fOfB (Corr.prim (ts := [(.list (.adt 2)), (.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [(.adt 2), (.list (.adt 2))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))))⟩⟩ + +theorem fun11 : FunOK program krate flags 11 := + ⟨_, rfl, .inl ⟨_, _, [], (.pair (.lit (.nat 0)) (.lit (.nat 0))), [(0, .nat, none)], rfl, rfl, + (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))))⟩⟩ + +theorem fun12 : FunOK program krate flags 12 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 115)) none (.clone (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 115)) [(.mk .none (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil (.pair .nat .nat)) [])]))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 118)) none (.block (.mk [(.mk (.bind (.generated .operand 116)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 117)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 116)), (.move (.generated .operand 117))] false))))] (.matchOn (.move (.generated .holder 118)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 12) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])))]), [(1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair .nat .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 1)), (.construct (.nil (.pair .nat .nat)) [])])) (Corr.mCons (Γ' := [(3, (.list (.pair .nat .nat)), (some 3)), (2, (.pair .nat .nat), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 118)) none (.block (.mk [(.mk (.bind (.generated .operand 116)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 117)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 116)), (.move (.generated .operand 117))] false))))]) (tail := (.matchOn (.move (.generated .holder 118)) [(.mk (.ordering .less) (.mk [] (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))]))), (.mk (.ordering .same) (.mk [] (.move (.generated .binding 0)))), (.mk (.ordering .more) (.mk [] (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 12) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 116)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 117)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 116)), (.move (.generated .operand 117))] false)) (Corr.prim (ts := [(.pair .nat .nat), (.pair .nat .nat)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list (.pair .nat .nat)), (some 3)), (2, (.pair .nat .nat), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 1)), (.move (.generated .binding 0))])) (Corr.mCons (Γ' := [(3, (.list (.pair .nat .nat)), (some 3)), (2, (.pair .nat .nat), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.move (.generated .binding 0))) (Corr.mCons (Γ' := [(3, (.list (.pair .nat .nat)), (some 3)), (2, (.pair .nat .nat), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.construct .cons [(.copy (.generated .binding 2)), (.call (.function 12) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.pair .nat .nat), (.list (.pair .nat .nat))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat .nat)), (.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl (Corr.build (ts := [(.pair .nat .nat), (.list (.pair .nat .nat))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl)) rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := [(.pair .nat .nat), (.list (.pair .nat .nat))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun13 : FunOK program krate flags 13 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 119)) none (.call (.function 18) [(.copy (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 119)) [(.mk .none (.mk [] (.construct (.none (.pair .nat .nat)) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.cond (.call (.function 19) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none (.pair .nat .nat)) [])))))]), [(1, (.pair .nat .nat), (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option (.pair .nat .nat))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.pair .nat .nat), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none (.pair .nat .nat)) [])) (Corr.mCons (Γ' := [(2, (.pair .nat .nat), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 19) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none (.pair .nat .nat)) [])))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 19) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [.nat, (.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.copy (.generated .binding 2))])) (lb := []) (tb := (.construct (.none (.pair .nat .nat)) [])) (Corr.build (ts := [(.pair .nat .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun14 : FunOK program krate flags 14 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 122)) none (.call (.function 20) [(.clone (.generated .binding 0))] true)), (.mk (.bind (.generated .operand 123)) none (.block (.mk [(.mk (.bind (.generated .operand 120)) none (.call (.function 21) [(.clone (.generated .binding 0))] true)), (.mk (.bind (.generated .operand 121)) none (.call (.function 22) [(.move (.generated .binding 0))] true))] (.call (.runtime .appendList) [(.move (.generated .operand 120)), (.move (.generated .operand 121))] false))))], (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 122)), (.move (.generated .operand 123))] false)), [(0, (.adt 2), (some 0))], rfl, rfl, + (Corr.fOfB (Corr.prim (ts := [(.list (.adt 2)), (.list (.adt 2))]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 2)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 120)) none (.call (.function 21) [(.clone (.generated .binding 0))] true)), (.mk (.bind (.generated .operand 121)) none (.call (.function 22) [(.move (.generated .binding 0))] true))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 120)), (.move (.generated .operand 121))] false)) (Corr.prim (ts := [(.list (.adt 2)), (.list (.adt 2))]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 2)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 2)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl))⟩⟩ + +theorem fun15 : FunOK program krate flags 15 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 23) [(.construct (.closure 2 24) []), (.pair (.construct (.nil (.adt 2)) []) (.move (.generated .binding 0))), (.move (.generated .binding 1))] false), [(1, (.list (.adt 2)), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))], rfl, rfl, + (Corr.callOps (ts := [(.fn [(.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.adt 2)] (.pair (.list (.adt 2)) (.list (.pair .nat .nat)))), (.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.list (.adt 2))]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := false) (ff := false) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun16 : FunOK program krate flags 16 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 127)) none (.block (.mk [(.mk (.bind (.generated .operand 124)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 124))] false)))), (.mk (.bind (.generated .operand 128)) none (.block (.mk [(.mk (.bind (.generated .operand 125)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 126)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 125)), (.move (.generated .operand 126))] true))))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 127)), (.move (.generated .operand 128))] false) (.mk [(.mk (.bind (.generated .operand 129)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 130)) none (.construct .cons [(.move (.generated .binding 2)), (.construct (.nil (.adt 2)) [])]))] (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 129)), (.move (.generated .operand 130))] false))) (.mk [] (.succeed (.move (.generated .binding 1))))), [(2, (.adt 2), (some 2)), (1, (.list (.adt 2)), (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 127)) none (.block (.mk [(.mk (.bind (.generated .operand 124)) none (.clone (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 124))] false)))), (.mk (.bind (.generated .operand 128)) none (.block (.mk [(.mk (.bind (.generated .operand 125)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 126)) none (.copy (.generated .binding 0)))] (.call (.runtime .natAdd) [(.move (.generated .operand 125)), (.move (.generated .operand 126))] true))))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 127)), (.move (.generated .operand 128))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 124)) none (.clone (.generated .binding 1)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 124))] false)) (Corr.prim (ts := [(.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 125)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 126)) none (.copy (.generated .binding 0)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 125)), (.move (.generated .operand 126))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 129)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 130)) none (.construct .cons [(.move (.generated .binding 2)), (.construct (.nil (.adt 2)) [])]))]) (ta := (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 129)), (.move (.generated .operand 130))] false))) (lb := []) (tb := (.succeed (.move (.generated .binding 1)))) (Corr.fOfB (Corr.prim (ts := [(.list (.adt 2)), (.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [(.adt 2), (.list (.adt 2))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))))⟩⟩ + +theorem fun17 : FunOK program krate flags 17 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 134)) none (.lit (.nat 1))), (.mk (.bind (.generated .operand 135)) none (.block (.mk [(.mk (.bind (.generated .operand 132)) none (.lit (.nat 1))), (.mk (.bind (.generated .operand 133)) none (.block (.mk [(.mk (.bind (.generated .operand 131)) none (.call (.function 25) [(.copy (.generated .binding 0))] false))] (.call (.runtime .lengthList) [(.move (.generated .operand 131))] false))))] (.call (.runtime .natAdd) [(.move (.generated .operand 132)), (.move (.generated .operand 133))] true))))], (.call (.runtime .natAdd) [(.move (.generated .operand 134)), (.move (.generated .operand 135))] false), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.primF (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 132)) none (.lit (.nat 1))), (.mk (.bind (.generated .operand 133)) none (.block (.mk [(.mk (.bind (.generated .operand 131)) none (.call (.function 25) [(.copy (.generated .binding 0))] false))] (.call (.runtime .lengthList) [(.move (.generated .operand 131))] false))))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 132)), (.move (.generated .operand 133))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 131)) none (.call (.function 25) [(.copy (.generated .binding 0))] false))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 131))] false)) (Corr.prim (ts := [(.list .nat)]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun18 : FunOK program krate flags 18 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct .some [(.copy (.generated .binding 0))]), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.build (ts := [(.pair .nat .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)⟩⟩ + +theorem fun19 : FunOK program krate flags 19 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 137)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 136))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 136))))), (.mk (.bind (.generated .operand 138)) none (.copy (.generated .binding 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 137)), (.move (.generated .operand 138))] false) (.mk [(.mk (.bind (.generated .operand 140)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 139)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 139))))), (.mk (.bind (.generated .operand 141)) none (.lit (.nat 4)))] (.call (.runtime .natLe) [(.move (.generated .operand 140)), (.move (.generated .operand 141))] false)) (.mk [] (.lit (.bool false)))), [(1, (.pair .nat .nat), (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 137)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 136))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 136))))), (.mk (.bind (.generated .operand 138)) none (.copy (.generated .binding 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 137)), (.move (.generated .operand 138))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 136))]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 136))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 140)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 139)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 139))))), (.mk (.bind (.generated .operand 141)) none (.lit (.nat 4)))]) (ta := (.call (.runtime .natLe) [(.move (.generated .operand 140)), (.move (.generated .operand 141))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 139)), .wild]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 139))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun20 : FunOK program krate flags 20 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 143)) none (.call (.function 26) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 142)), .wild]) (.mk [] (.move (.generated .part 142))))]), (.construct (.adt 0 0) [])] true))], (.matchOn (.move (.generated .holder 143)) [(.mk .none (.mk [] (.succeed (.construct (.nil (.adt 2)) [])))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.succeed (.construct .cons [(.construct (.adt 2 0) [(.copy (.generated .binding 1)), (.block (.mk [(.mk (.bind (.generated .operand 145)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 144))]) (.mk [] (.move (.generated .part 144))))])), (.mk (.bind (.generated .operand 146)) none (.construct .cons [(.construct (.adt 0 0) []), (.construct (.nil (.adt 0)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 145)), (.move (.generated .operand 146))] false)))]), (.construct (.nil (.adt 2)) [])]))))]), [(0, (.adt 2), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option (.pair .nat .nat))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat), (.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 142))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 2), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.nil (.adt 2)) []))) (Corr.mCons (Γ' := [(1, (.pair .nat .nat), (some 1)), (0, (.adt 2), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.construct .cons [(.construct (.adt 2 0) [(.copy (.generated .binding 1)), (.block (.mk [(.mk (.bind (.generated .operand 145)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 144))]) (.mk [] (.move (.generated .part 144))))])), (.mk (.bind (.generated .operand 146)) none (.construct .cons [(.construct (.adt 0 0) []), (.construct (.nil (.adt 0)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 145)), (.move (.generated .operand 146))] false)))]), (.construct (.nil (.adt 2)) [])]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 2), (.list (.adt 2))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair .nat .nat), (.list (.adt 0))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 145)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 144))]) (.mk [] (.move (.generated .part 144))))])), (.mk (.bind (.generated .operand 146)) none (.construct .cons [(.construct (.adt 0 0) []), (.construct (.nil (.adt 0)) [])]))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 145)), (.move (.generated .operand 146))] false)) (Corr.prim (ts := [(.list (.adt 0)), (.list (.adt 0))]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 144))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [(.adt 0), (.list (.adt 0))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl))) rfl rfl rfl (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) rfl rfl rfl)⟩⟩ + +theorem fun21 : FunOK program krate flags 21 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 148)) none (.call (.function 26) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 147)), .wild]) (.mk [] (.move (.generated .part 147))))]), (.construct (.adt 0 1) [])] true))], (.matchOn (.move (.generated .holder 148)) [(.mk .none (.mk [] (.succeed (.construct (.nil (.adt 2)) [])))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.succeed (.construct .cons [(.construct (.adt 2 0) [(.copy (.generated .binding 1)), (.block (.mk [(.mk (.bind (.generated .operand 150)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 149))]) (.mk [] (.move (.generated .part 149))))])), (.mk (.bind (.generated .operand 151)) none (.construct .cons [(.construct (.adt 0 1) []), (.construct (.nil (.adt 0)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 150)), (.move (.generated .operand 151))] false)))]), (.construct (.nil (.adt 2)) [])]))))]), [(0, (.adt 2), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option (.pair .nat .nat))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat), (.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 147))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 2), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.nil (.adt 2)) []))) (Corr.mCons (Γ' := [(1, (.pair .nat .nat), (some 1)), (0, (.adt 2), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.construct .cons [(.construct (.adt 2 0) [(.copy (.generated .binding 1)), (.block (.mk [(.mk (.bind (.generated .operand 150)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 149))]) (.mk [] (.move (.generated .part 149))))])), (.mk (.bind (.generated .operand 151)) none (.construct .cons [(.construct (.adt 0 1) []), (.construct (.nil (.adt 0)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 150)), (.move (.generated .operand 151))] false)))]), (.construct (.nil (.adt 2)) [])]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 2), (.list (.adt 2))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair .nat .nat), (.list (.adt 0))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 150)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 149))]) (.mk [] (.move (.generated .part 149))))])), (.mk (.bind (.generated .operand 151)) none (.construct .cons [(.construct (.adt 0 1) []), (.construct (.nil (.adt 0)) [])]))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 150)), (.move (.generated .operand 151))] false)) (Corr.prim (ts := [(.list (.adt 0)), (.list (.adt 0))]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 149))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [(.adt 0), (.list (.adt 0))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl))) rfl rfl rfl (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) rfl rfl rfl)⟩⟩ + +theorem fun22 : FunOK program krate flags 22 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 27) [(.construct (.closure 3 28) [(.clone (.generated .binding 0))]), (.construct (.nil (.adt 2)) []), (.call (.function 25) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 152)), .wild]) (.mk [] (.move (.generated .part 152))))])] false)] false), [(0, (.adt 2), (some 0))], rfl, rfl, + (Corr.callF (ts := [(.fn [(.list (.adt 2)), .nat] (.list (.adt 2))), (.list (.adt 2)), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [(.adt 2)]) (mask := [false]) (af := true) (ff := true) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 152))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ + +theorem fun23 : FunOK program krate flags 23 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 153)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 153)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 23) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 154)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 154) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)))]), [(2, (.list (.adt 2)), (some 2)), (1, (.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (some 1)), (0, (.fn [(.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.adt 2)] (.pair (.list (.adt 2)) (.list (.pair .nat .nat)))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.adt 2))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.adt 2)), (some 2)), (1, (.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (some 1)), (0, (.fn [(.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.adt 2)] (.pair (.list (.adt 2)) (.list (.pair .nat .nat)))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(4, (.list (.adt 2)), (some 4)), (3, (.adt 2), (some 3)), (2, (.list (.adt 2)), (some 2)), (1, (.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (some 1)), (0, (.fn [(.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.adt 2)] (.pair (.list (.adt 2)) (.list (.pair .nat .nat)))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 23) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 154)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 154) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.fn [(.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.adt 2)] (.pair (.list (.adt 2)) (.list (.pair .nat .nat)))), (.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.list (.adt 2))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 154)) (some (.fn 2)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 154) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] false)) (Corr.apply (ps := [(.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (.adt 2)]) (af := false) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun24 : FunOK program krate flags 24 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 29) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 155))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 155)))), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 2 0 [(.bind (.generated .part 156)), .wild]) (.mk [] (.move (.generated .part 156))))])] false) (.mk [] (.move (.generated .binding 0))) (.mk [] (.pair (.block (.mk [(.mk (.bind (.generated .operand 158)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 157)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 157))))), (.mk (.bind (.generated .operand 159)) none (.construct .cons [(.clone (.generated .binding 1)), (.construct (.nil (.adt 2)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 158)), (.move (.generated .operand 159))] false))) (.call (.function 12) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 160))]) none (.move (.generated .binding 0)))] (.move (.generated .part 160)))), (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 2 0 [(.bind (.generated .part 161)), .wild]) (.mk [] (.move (.generated .part 161))))])] false)))), [(1, (.adt 2), (some 1)), (0, (.pair (.list (.adt 2)) (.list (.pair .nat .nat))), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 29) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 155))]) none (.clone (.generated .binding 0)))] (.move (.generated .part 155)))), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 2 0 [(.bind (.generated .part 156)), .wild]) (.mk [] (.move (.generated .part 156))))])] false)) (lk := []) (Corr.callOps (ts := [(.list (.pair .nat .nat)), (.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 155))]) none (.clone (.generated .binding 0)))]) (tail := (.move (.generated .part 155))) (Corr.second (ta := (.list (.adt 2))) (tb := (.list (.pair .nat .nat))) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 156))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.move (.generated .binding 0))) (lb := []) (tb := (.pair (.block (.mk [(.mk (.bind (.generated .operand 158)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 157)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 157))))), (.mk (.bind (.generated .operand 159)) none (.construct .cons [(.clone (.generated .binding 1)), (.construct (.nil (.adt 2)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 158)), (.move (.generated .operand 159))] false))) (.call (.function 12) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 160))]) none (.move (.generated .binding 0)))] (.move (.generated .part 160)))), (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 2 0 [(.bind (.generated .part 161)), .wild]) (.mk [] (.move (.generated .part 161))))])] false))) (Corr.bOfE (Corr.var rfl rfl)) (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 158)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 157)), .wild]) none (.move (.generated .binding 0)))] (.move (.generated .part 157))))), (.mk (.bind (.generated .operand 159)) none (.construct .cons [(.clone (.generated .binding 1)), (.construct (.nil (.adt 2)) [])]))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 158)), (.move (.generated .operand 159))] false)) (Corr.prim (ts := [(.list (.adt 2)), (.list (.adt 2))]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 157)), .wild]) none (.move (.generated .binding 0)))]) (tail := (.move (.generated .part 157))) (Corr.first (ta := (.list (.adt 2))) (tb := (.list (.pair .nat .nat))) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [(.adt 2), (.list (.adt 2))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.list (.pair .nat .nat)), (.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 160))]) none (.move (.generated .binding 0)))]) (tail := (.move (.generated .part 160))) (Corr.second (ta := (.list (.adt 2))) (tb := (.list (.pair .nat .nat))) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 161))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil)))))))⟩⟩ + +theorem fun25 : FunOK program krate flags 25 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct .cons [(.lit (.nat 1)), (.construct .cons [(.lit (.nat 2)), (.construct .cons [(.lit (.nat 3)), (.construct (.nil .nat) [])])])]), [(0, (.pair .nat .nat), none)], rfl, rfl, + (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)⟩⟩ + +theorem fun26 : FunOK program krate flags 26 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 162)) none (.move (.generated .binding 1)))], (.matchOn (.move (.generated .holder 162)) [(.mk (.adt 0 0 []) (.mk [] (.succeed (.call (.function 30) [(.copy (.generated .binding 0))] false)))), (.mk (.adt 0 1 []) (.mk [] (.succeed (.call (.function 31) [(.copy (.generated .binding 0))] false)))), (.mk (.adt 0 2 [(.bind (.generated .binding 2))]) (.mk [] (.call (.function 32) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false)))]), [(1, (.adt 0), (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.adt 0), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.call (.function 30) [(.copy (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 0), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.call (.function 31) [(.copy (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.adt 0), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 32) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.pair .nat .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun27 : FunOK program krate flags 27 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 163)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 163)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 27) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 164)) (some (.fn 3)) (.move (.generated .binding 0)))] (.apply (.generated .callee 164) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list .nat), (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.fn [(.list (.adt 2)), .nat] (.list (.adt 2))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.fn [(.list (.adt 2)), .nat] (.list (.adt 2))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .nat), (some 4)), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.fn [(.list (.adt 2)), .nat] (.list (.adt 2))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 27) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 164)) (some (.fn 3)) (.move (.generated .binding 0)))] (.apply (.generated .callee 164) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.list (.adt 2)), .nat] (.list (.adt 2))), (.list (.adt 2)), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 164)) (some (.fn 3)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 164) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true)) (Corr.apply (ps := [(.list (.adt 2)), .nat]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun28 : FunOK program krate flags 28 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 33) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false), [(2, .nat, (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.adt 2), (some 0))], rfl, rfl, + (Corr.callF (ts := [(.adt 2), (.list (.adt 2)), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ + +theorem fun29 : FunOK program krate flags 29 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 165)) none (.move (.generated .binding 0)))], (.matchOn (.uncons (.generated .holder 165)) [(.mk .none (.mk [] (.lit (.bool false)))), (.mk (.some (.tuple [(.bind (.generated .binding 2)), (.bind (.generated .binding 3))])) (.mk [(.mk (.bind (.generated .holder 168)) none (.block (.mk [(.mk (.bind (.generated .operand 166)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 167)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 166)), (.move (.generated .operand 167))] false))))] (.matchOn (.move (.generated .holder 168)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 29) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])))]), [(1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.pair .nat .nat))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(3, (.list (.pair .nat .nat)), (some 3)), (2, (.pair .nat .nat), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 168)) none (.block (.mk [(.mk (.bind (.generated .operand 166)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 167)) none (.copy (.generated .binding 2)))] (.call (.runtime .compare) [(.move (.generated .operand 166)), (.move (.generated .operand 167))] false))))]) (tail := (.matchOn (.move (.generated .holder 168)) [(.mk (.ordering .less) (.mk [] (.lit (.bool false)))), (.mk (.ordering .same) (.mk [] (.lit (.bool true)))), (.mk (.ordering .more) (.mk [] (.call (.function 29) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := .ordering) (U := []) (view := false) (idx := [0, 1, 2]) (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 166)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 167)) none (.copy (.generated .binding 2)))]) (tail := (.call (.runtime .compare) [(.move (.generated .operand 166)), (.move (.generated .operand 167))] false)) (Corr.prim (ts := [(.pair .nat .nat), (.pair .nat .nat)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, (.list (.pair .nat .nat)), (some 3)), (2, (.pair .nat .nat), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.lit (.bool false))) (Corr.mCons (Γ' := [(3, (.list (.pair .nat .nat)), (some 3)), (2, (.pair .nat .nat), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.lit (.bool true))) (Corr.mCons (Γ' := [(3, (.list (.pair .nat .nat)), (some 3)), (2, (.pair .nat .nat), (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.list (.pair .nat .nat)), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.call (.function 29) [(.move (.generated .binding 3)), (.copy (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.list (.pair .nat .nat)), (.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildConst rfl))) rfl rfl rfl)⟩⟩ + +theorem fun30 : FunOK program krate flags 30 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 34) [(.copy (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 35) [(.copy (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.pair .nat .nat)) []))), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 34) [(.copy (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 35) [(.copy (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.pair .nat .nat)) [])) (Corr.build (ts := [(.pair .nat .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun31 : FunOK program krate flags 31 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 36) [(.copy (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 37) [(.copy (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.pair .nat .nat)) []))), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 36) [(.copy (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 37) [(.copy (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.pair .nat .nat)) [])) (Corr.build (ts := [(.pair .nat .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun32 : FunOK program krate flags 32 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 38) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true) (.mk [] (.succeed (.construct .some [(.call (.function 39) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true)]))) (.mk [] (.succeed (.construct (.none (.pair .nat .nat)) [])))), [(1, .nat, (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 38) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true)) (lk := []) (Corr.callOps (ts := [(.pair .nat .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.call (.function 39) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true)]))) (lb := []) (tb := (.succeed (.construct (.none (.pair .nat .nat)) []))) (Corr.fOfB (Corr.build (ts := [(.pair .nat .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ + +theorem fun33 : FunOK program krate flags 33 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 170)) none (.call (.function 26) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 169)), .wild]) (.mk [] (.move (.generated .part 169))))]), (.construct (.adt 0 2) [(.copy (.generated .binding 2))])] true))], (.matchOn (.move (.generated .holder 170)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [(.mk (.bind (.generated .operand 174)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 175)) none (.construct .cons [(.construct (.adt 2 0) [(.copy (.generated .binding 3)), (.block (.mk [(.mk (.bind (.generated .operand 172)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 171))]) (.mk [] (.move (.generated .part 171))))])), (.mk (.bind (.generated .operand 173)) none (.construct .cons [(.construct (.adt 0 2) [(.copy (.generated .binding 2))]), (.construct (.nil (.adt 0)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 172)), (.move (.generated .operand 173))] false)))]), (.construct (.nil (.adt 2)) [])]))] (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 174)), (.move (.generated .operand 175))] false))))]), [(2, .nat, (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.adt 2), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option (.pair .nat .nat))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat), (.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 169))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.adt 2), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(3, (.pair .nat .nat), (some 3)), (2, .nat, (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.adt 2), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .operand 174)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 175)) none (.construct .cons [(.construct (.adt 2 0) [(.copy (.generated .binding 3)), (.block (.mk [(.mk (.bind (.generated .operand 172)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 171))]) (.mk [] (.move (.generated .part 171))))])), (.mk (.bind (.generated .operand 173)) none (.construct .cons [(.construct (.adt 0 2) [(.copy (.generated .binding 2))]), (.construct (.nil (.adt 0)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 172)), (.move (.generated .operand 173))] false)))]), (.construct (.nil (.adt 2)) [])]))]) (tail := (.succeed (.call (.runtime .appendList) [(.move (.generated .operand 174)), (.move (.generated .operand 175))] false))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.prim (ts := [(.list (.adt 2)), (.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [(.adt 2), (.list (.adt 2))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair .nat .nat), (.list (.adt 0))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 172)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 171))]) (.mk [] (.move (.generated .part 171))))])), (.mk (.bind (.generated .operand 173)) none (.construct .cons [(.construct (.adt 0 2) [(.copy (.generated .binding 2))]), (.construct (.nil (.adt 0)) [])]))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 172)), (.move (.generated .operand 173))] false)) (Corr.prim (ts := [(.list (.adt 0)), (.list (.adt 0))]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 171))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [(.adt 0), (.list (.adt 0))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun34 : FunOK program krate flags 34 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 177)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 176)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 176))))), (.mk (.bind (.generated .operand 178)) none (.lit (.nat 4)))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 177)), (.move (.generated .operand 178))] false) (.mk [(.mk (.bind (.generated .operand 180)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 179))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 179))))), (.mk (.bind (.generated .operand 181)) none (.lit (.nat 3)))] (.call (.runtime .natLe) [(.move (.generated .operand 180)), (.move (.generated .operand 181))] false)) (.mk [] (.lit (.bool false)))), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 177)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 176)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 176))))), (.mk (.bind (.generated .operand 178)) none (.lit (.nat 4)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 177)), (.move (.generated .operand 178))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 176)), .wild]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 176))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 180)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 179))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 179))))), (.mk (.bind (.generated .operand 181)) none (.lit (.nat 3)))]) (ta := (.call (.runtime .natLe) [(.move (.generated .operand 180)), (.move (.generated .operand 181))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 179))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 179))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun35 : FunOK program krate flags 35 := + ⟨_, rfl, .inl ⟨_, _, [], (.pair (.lit (.nat 4)) (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 182))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 182))))), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 182))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 182))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil)))))⟩⟩ + +theorem fun36 : FunOK program krate flags 36 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 184)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 185)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 183))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 183)))))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 184)), (.move (.generated .operand 185))] false) (.mk [(.mk (.bind (.generated .operand 187)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 186)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 186))))), (.mk (.bind (.generated .operand 188)) none (.lit (.nat 4)))] (.call (.runtime .natLe) [(.move (.generated .operand 187)), (.move (.generated .operand 188))] false)) (.mk [] (.lit (.bool false)))), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 184)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 185)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 183))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 183)))))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 184)), (.move (.generated .operand 185))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 183))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 183))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 187)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 186)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 186))))), (.mk (.bind (.generated .operand 188)) none (.lit (.nat 4)))]) (ta := (.call (.runtime .natLe) [(.move (.generated .operand 187)), (.move (.generated .operand 188))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 186)), .wild]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 186))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun37 : FunOK program krate flags 37 := + ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 189)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 189)))) (.lit (.nat 0))), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 189)), .wild]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 189))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))))⟩⟩ + +theorem fun38 : FunOK program krate flags 38 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 191)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 192)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 190)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 190)))))], (.cond (.call (.runtime .natLe) [(.move (.generated .operand 191)), (.move (.generated .operand 192))] false) (.mk [(.mk (.bind (.generated .operand 196)) none (.block (.mk [(.mk (.bind (.generated .operand 194)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 193))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 193))))), (.mk (.bind (.generated .operand 195)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 194)), (.move (.generated .operand 195))] true)))), (.mk (.bind (.generated .operand 197)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 196)), (.move (.generated .operand 197))] false) (.mk [(.mk (.bind (.generated .operand 199)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 198)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 198))))), (.mk (.bind (.generated .operand 200)) none (.lit (.nat 4)))] (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 199)), (.move (.generated .operand 200))] false))) (.mk [] (.succeed (.lit (.bool false)))))) (.mk [] (.succeed (.lit (.bool false))))), [(1, .nat, (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 191)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 192)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 190)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 190)))))]) (ce := (.call (.runtime .natLe) [(.move (.generated .operand 191)), (.move (.generated .operand 192))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 190)), .wild]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 190))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 196)) none (.block (.mk [(.mk (.bind (.generated .operand 194)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 193))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 193))))), (.mk (.bind (.generated .operand 195)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 194)), (.move (.generated .operand 195))] true)))), (.mk (.bind (.generated .operand 197)) none (.lit (.nat 3)))]) (ta := (.cond (.call (.runtime .natLe) [(.move (.generated .operand 196)), (.move (.generated .operand 197))] false) (.mk [(.mk (.bind (.generated .operand 199)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 198)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 198))))), (.mk (.bind (.generated .operand 200)) none (.lit (.nat 4)))] (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 199)), (.move (.generated .operand 200))] false))) (.mk [] (.succeed (.lit (.bool false)))))) (lb := []) (tb := (.succeed (.lit (.bool false)))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 196)) none (.block (.mk [(.mk (.bind (.generated .operand 194)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 193))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 193))))), (.mk (.bind (.generated .operand 195)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 194)), (.move (.generated .operand 195))] true)))), (.mk (.bind (.generated .operand 197)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natLe) [(.move (.generated .operand 196)), (.move (.generated .operand 197))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 194)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 193))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 193))))), (.mk (.bind (.generated .operand 195)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 194)), (.move (.generated .operand 195))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 193))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 193))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 199)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 198)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 198))))), (.mk (.bind (.generated .operand 200)) none (.lit (.nat 4)))]) (ta := (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 199)), (.move (.generated .operand 200))] false))) (lb := []) (tb := (.succeed (.lit (.bool false)))) (Corr.fOfB (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 198)), .wild]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 198))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.fOfB (Corr.bOfE (Corr.buildConst rfl))))) (Corr.fOfB (Corr.bOfE (Corr.buildConst rfl)))))⟩⟩ + +theorem fun39 : FunOK program krate flags 39 := + ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.pair (.block (.mk [(.mk (.bind (.generated .operand 202)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 201)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 201))))), (.mk (.bind (.generated .operand 203)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 202)), (.move (.generated .operand 203))] false))) (.block (.mk [(.mk (.bind (.generated .operand 205)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 204))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 204))))), (.mk (.bind (.generated .operand 206)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 205)), (.move (.generated .operand 206))] true))))), [(1, .nat, (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 202)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 201)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 201))))), (.mk (.bind (.generated .operand 203)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 202)), (.move (.generated .operand 203))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 201)), .wild]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 201))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 205)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 204))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 204))))), (.mk (.bind (.generated .operand 206)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 205)), (.move (.generated .operand 206))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 204))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 204))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | 4 => exact fun4 + | 5 => exact fun5 + | 6 => exact fun6 + | 7 => exact fun7 + | 8 => exact fun8 + | 9 => exact fun9 + | 10 => exact fun10 + | 11 => exact fun11 + | 12 => exact fun12 + | 13 => exact fun13 + | 14 => exact fun14 + | 15 => exact fun15 + | 16 => exact fun16 + | 17 => exact fun17 + | 18 => exact fun18 + | 19 => exact fun19 + | 20 => exact fun20 + | 21 => exact fun21 + | 22 => exact fun22 + | 23 => exact fun23 + | 24 => exact fun24 + | 25 => exact fun25 + | 26 => exact fun26 + | 27 => exact fun27 + | 28 => exact fun28 + | 29 => exact fun29 + | 30 => exact fun30 + | 31 => exact fun31 + | 32 => exact fun32 + | 33 => exact fun33 + | 34 => exact fun34 + | 35 => exact fun35 + | 36 => exact fun36 + | 37 => exact fun37 + | 38 => exact fun38 + | 39 => exact fun39 + | _ + 40 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R4.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R4.lean new file mode 100644 index 000000000..916a879d0 --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R4.lean @@ -0,0 +1,142 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Reasoning.Budget +import Reasoning.Clinic +import Reasoning.Main +import Reasoning.Planner +import Reasoning.Screening +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [{ constructors := [[(.option .nat), .bool, (.adt 1)]] }, + { constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }], functions := [ + { parameters := [0], types := [.nat], result := .nat, + body := (.«match» .nat (.call 1 [(.var 0)]) [(.arm .ok [1] (.var 1)), (.arm .error [2] (.value .nat (.nat 9)))]) }, + { parameters := [0], types := [.nat], result := (.result .nat (.pair .bool .bool)), + body := (.«let» 1 (.adt 0) (.call 2 [(.var 0)]) (.«match» (.result .nat (.pair .bool .bool)) (.field (.var 1) 0) [(.arm .some [2] (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)])), (.arm .none [] (.build .error (.result .nat (.pair .bool .bool)) [(.call 3 [(.var 1)])]))])) }, + { parameters := [0], types := [.nat], result := (.adt 0), + body := (.call 4 [(.closure 5 [(.var 0)]), (.build (.adt 0) (.adt 0) [(.build .none (.option .nat) []), (.build .false .bool []), (.build (.adt 0) (.adt 1) [(.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0))])]), (.call 6 [(.var 0)])]) }, + { parameters := [0], types := [(.adt 0)], result := (.pair .bool .bool), + body := (.«match» (.pair .bool .bool) (.field (.var 0) 1) [(.arm .true [] (.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])), (.arm .false [] (.«match» (.pair .bool .bool) (.prim .natEq [(.field (.field (.var 0) 2) 4), (.value .nat (.nat 0))]) [(.arm .true [] (.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])), (.arm .false [] (.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])]))]))]) }, + { parameters := [0, 1, 2], types := [(.fn [(.adt 0), .nat] (.adt 0)), (.adt 0), (.list .nat)], result := (.adt 0), + body := (.«match» (.adt 0) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 4 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1, 2], types := [.nat, (.adt 0), .nat], result := (.adt 0), + body := (.call 7 [(.var 0), (.var 1), (.var 2)]) }, + { parameters := [0], types := [.nat], result := (.list .nat), + body := (.«match» (.list .nat) (.«let» 1 .nat (.var 0) (.«let» 2 (.list .nat) (.call 8 [(.var 1)]) (.cond (.call 9 [(.var 1), (.var 2)]) (.build .ok (.result (.list .nat) (.pair .bool .bool)) [(.var 2)]) (.build .error (.result (.list .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])))) [(.arm .ok [3] (.var 3)), (.arm .error [4] (.build .nil (.list .nat) []))]) }, + { parameters := [0, 1, 2], types := [.nat, (.adt 0), .nat], result := (.adt 0), + body := (.«match» (.adt 0) (.field (.var 1) 0) [(.arm .some [3] (.var 1)), (.arm .none [] (.«match» (.adt 0) (.prim .natLt [(.field (.field (.var 1) 2) 4), (.value .nat (.nat 3))]) [(.arm .true [] (.build (.adt 0) (.adt 0) [(.call 10 [(.var 0), (.var 2)]), (.field (.var 1) 1), (.build (.adt 0) (.adt 1) [(.prim .natAdd [(.field (.field (.var 1) 2) 0), (.value .nat (.nat 1))]), (.prim .natAdd [(.field (.field (.var 1) 2) 1), (.value .nat (.nat 1))]), (.field (.field (.var 1) 2) 2), (.field (.field (.var 1) 2) 3), (.prim .natAdd [(.field (.field (.var 1) 2) 4), (.value .nat (.nat 1))]), (.field (.field (.var 1) 2) 5)])])), (.arm .false [] (.build (.adt 0) (.adt 0) [(.build .none (.option .nat) []), (.build .true .bool []), (.field (.var 1) 2)]))]))]) }, + { parameters := [0], types := [.nat], result := (.list .nat), + body := (.call 11 [(.var 0)]) }, + { parameters := [0, 1], types := [.nat, (.list .nat)], result := .bool, + body := (.prim .natLe [(.prim .length [(.var 1)]), (.value .nat (.nat 4))]) }, + { parameters := [0, 1], types := [.nat, .nat], result := (.option .nat), + body := (.cond (.call 12 [(.var 0), (.var 1)]) (.build .some (.option .nat) [(.var 1)]) (.build .none (.option .nat) [])) }, + { parameters := [0], types := [.nat], result := (.list .nat), + body := (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 10))]), (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 20))]), (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 30))]), (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 50))]), (.build .nil (.list .nat) [])])])])]) }, + { parameters := [0, 1], types := [.nat, .nat], result := .bool, + body := (.prim .natLe [(.prim .natAdd [(.var 1), (.var 1)]), (.var 0)]) }] } + +def __enc_1 (__s : (Reasoning.Screening.Dose.Ledger)) : _root_.LexLeanTarget.TargetSyntax.Value := + _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).iterations), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).attempts), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).firings), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).expansions), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).verifications), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).frontier)] + +def __enc_0 (__s : (Reasoning.Screening.Dose.Trial)) : _root_.LexLeanTarget.TargetSyntax.Value := + _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (__s).found), (_root_.LexLeanTarget.TargetSyntax.Value.bool (__s).truncated), (__enc_1 (__s).ledger)] + +def __fits_12 (w : Nat) (r : Nat) : Bool := + ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (r + r) 18446744073709551616)) && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_12 (w : Nat) (r : Nat) : _root_.LexLeanPreservation.FunRel __prog 12 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w), (_root_.LexLeanTarget.TargetSyntax.Value.nat r)] (_root_.LexLeanPreservation.Rel (__fits_12 w r) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Screening.safeCheck w r))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd r r)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe (r + r) w)) + +def __fits_10 (w : Nat) (_yc : Nat) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && (__fits_12 (w) (_yc))) && (if (Reasoning.Screening.safeCheck (w) (_yc)) then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Screening.safeCheck in +theorem __rel_10 (w : Nat) (_yc : Nat) : _root_.LexLeanPreservation.FunRel __prog 10 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yc)] (_root_.LexLeanPreservation.Rel (__fits_10 w _yc) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Screening.Dose.verify w _yc))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then (Option.some (_yc) : (Option Nat)) else (Option.none : (Option Nat)))) (Reasoning.Screening.safeCheck (w) (_yc)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_12 (w) (_yc))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_7 (w : Nat) (_yt : (Reasoning.Screening.Dose.Trial)) (_yc : Nat) : Bool := + (Bool.true && (match (_yt).found with | Option.some _yhit => Bool.true | Option.none => (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (match (Nat.blt ((_yt).ledger).verifications (3 : Nat)) with | Bool.true => ((((Bool.true && (Bool.true && Bool.true)) && (__fits_10 (w) (_yc))) && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yt).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yt).ledger).attempts + (1 : Nat)) 18446744073709551616)) && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yt).ledger).verifications + (1 : Nat)) 18446744073709551616)) && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true))) && Bool.true) | Bool.false => (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && Bool.true))))) + +attribute [local irreducible] Reasoning.Screening.Dose.verify in +theorem __rel_7 (w : Nat) (_yt : (Reasoning.Screening.Dose.Trial)) (_yc : Nat) : _root_.LexLeanPreservation.FunRel __prog 7 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w), (__enc_0 _yt), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yc)] (_root_.LexLeanPreservation.Rel (__fits_7 w _yt _yc) (__enc_0 (Reasoning.Screening.Dose.«try» w _yt _yc))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.some _yhit => Bool.true | Option.none => (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (match (Nat.blt ((_yt).ledger).verifications (3 : Nat)) with | Bool.true => ((((Bool.true && (Bool.true && Bool.true)) && (__fits_10 (w) (_yc))) && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yt).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yt).ledger).attempts + (1 : Nat)) 18446744073709551616)) && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yt).ledger).verifications + (1 : Nat)) 18446744073709551616)) && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true))) && Bool.true) | Bool.false => (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && Bool.true))))) (fun (__a : (Option Nat)) => __enc_0 (match __a with | Option.some _yhit => _yt | Option.none => (match (Nat.blt ((_yt).ledger).verifications (3 : Nat)) with | Bool.true => ({ found := (Reasoning.Screening.Dose.verify (w) (_yc)), truncated := (_yt).truncated, ledger := ({ iterations := (((_yt).ledger).iterations + (1 : Nat)), attempts := (((_yt).ledger).attempts + (1 : Nat)), firings := ((_yt).ledger).firings, expansions := ((_yt).ledger).expansions, verifications := (((_yt).ledger).verifications + (1 : Nat)), frontier := ((_yt).ledger).frontier } : (Reasoning.Screening.Dose.Ledger)) } : (Reasoning.Screening.Dose.Trial)) | Bool.false => ({ found := (Option.none : (Option Nat)), truncated := Bool.true, ledger := (_yt).ledger } : (Reasoning.Screening.Dose.Trial))))) (_yt).found (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (fun (__a : (Option Nat)) _ => match __a with | Option.some _yhit => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV _root_.LexLeanTarget.TargetSyntax.Value.bool (fun (__a : Bool) => (match __a with | Bool.true => ((((Bool.true && (Bool.true && Bool.true)) && (__fits_10 (w) (_yc))) && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yt).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yt).ledger).attempts + (1 : Nat)) 18446744073709551616)) && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yt).ledger).verifications + (1 : Nat)) 18446744073709551616)) && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true))) && Bool.true) | Bool.false => (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && Bool.true))) (fun (__a : Bool) => __enc_0 (match __a with | Bool.true => ({ found := (Reasoning.Screening.Dose.verify (w) (_yc)), truncated := (_yt).truncated, ledger := ({ iterations := (((_yt).ledger).iterations + (1 : Nat)), attempts := (((_yt).ledger).attempts + (1 : Nat)), firings := ((_yt).ledger).firings, expansions := ((_yt).ledger).expansions, verifications := (((_yt).ledger).verifications + (1 : Nat)), frontier := ((_yt).ledger).frontier } : (Reasoning.Screening.Dose.Ledger)) } : (Reasoning.Screening.Dose.Trial)) | Bool.false => ({ found := (Option.none : (Option Nat)), truncated := Bool.true, ledger := (_yt).ledger } : (Reasoning.Screening.Dose.Trial)))) (Nat.blt ((_yt).ledger).verifications (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt ((_yt).ledger).verifications (3 : Nat))) (fun (__a : Bool) _ => match __a with | Bool.true => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_10 (w) (_yc))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yt).ledger).iterations (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yt).ledger).attempts (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yt).ledger).verifications (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) _root_.LexLeanPreservation.convL_nil)))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil))) _root_.LexLeanPreservation.construct_adt)) | Bool.false => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))) _root_.LexLeanPreservation.construct_adt))))))))) + +def __fits_5 (w : Nat) (_yt : (Reasoning.Screening.Dose.Trial)) (_yc : Nat) : Bool := + ((Bool.true && (Bool.true && (Bool.true && Bool.true))) && (__fits_7 (w) (_yt) (_yc))) + +attribute [local irreducible] Reasoning.Screening.Dose.«try» in +theorem __rel_5 (w : Nat) (_yt : (Reasoning.Screening.Dose.Trial)) (_yc : Nat) : _root_.LexLeanPreservation.FunRel __prog 5 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w), (__enc_0 _yt), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yc)] (_root_.LexLeanPreservation.Rel (__fits_5 w _yt _yc) (__enc_0 ((Reasoning.Screening.Dose.«try» (w) (_yt) (_yc))))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (__rel_7 (w) (_yt) (_yc))) + +def __fits_11 (w : Nat) : Bool := + ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) + +theorem __rel_11 (w : Nat) : _root_.LexLeanPreservation.FunRel __prog 11 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (_root_.LexLeanPreservation.Rel (__fits_11 w) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Screening.DoseCandidates w))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub w (10 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub w (20 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub w (30 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub w (50 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) + +def __fits_8 (_yinput : Nat) : Bool := + ((Bool.true && Bool.true) && (__fits_11 (_yinput))) + +attribute [local irreducible] Reasoning.Screening.DoseCandidates in +theorem __rel_8 (_yinput : Nat) : _root_.LexLeanPreservation.FunRel __prog 8 [(_root_.LexLeanTarget.TargetSyntax.Value.nat _yinput)] (_root_.LexLeanPreservation.Rel (__fits_8 _yinput) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Screening.DoseModel _yinput))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_11 (_yinput))) + +def __fits_9 (w : Nat) (doses : (List Nat)) : Bool := + ((((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (doses) : Nat) 18446744073709551616)) && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_9 (w : Nat) (doses : (List Nat)) : _root_.LexLeanPreservation.FunRel __prog 9 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) doses)] (_root_.LexLeanPreservation.Rel (__fits_9 w doses) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Screening.shortCheck w doses))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) doses)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe (_root_.LexLeanRuntime.length (doses) : Nat) (4 : Nat))) + +def __fits_6 (w : Nat) : Bool := + ((Bool.true && (let _ychecked1_input : Nat := w; (((Bool.true && Bool.true) && (__fits_8 (_ychecked1_input))) && (let _ychecked1_output : (List Nat) := (Reasoning.Screening.DoseModel (_ychecked1_input)); (((Bool.true && (Bool.true && Bool.true)) && (__fits_9 (_ychecked1_input) (_ychecked1_output))) && (if (Reasoning.Screening.shortCheck (_ychecked1_input) (_ychecked1_output)) then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))))) && (match (let _ychecked1_input : Nat := w; (let _ychecked1_output : (List Nat) := (Reasoning.Screening.DoseModel (_ychecked1_input)); (if (Reasoning.Screening.shortCheck (_ychecked1_input) (_ychecked1_output)) then (Except.ok (_ychecked1_output) : (Except (Prod Bool Bool) (List Nat))) else (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (List Nat)))))) with | Except.ok proposed => Bool.true | Except.error refusal => (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Screening.DoseModel Reasoning.Screening.shortCheck in +theorem __rel_6 (w : Nat) : _root_.LexLeanPreservation.FunRel __prog 6 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (_root_.LexLeanPreservation.Rel (__fits_6 w) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Screening.Dose.candidates w))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun (__a : (Except (Prod Bool Bool) (List Nat))) => (match __a with | Except.ok proposed => Bool.true | Except.error refusal => (Bool.true && Bool.true))) (fun (__a : (Except (Prod Bool Bool) (List Nat))) => (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Except.ok proposed => proposed | Except.error refusal => ([] : List Nat))) (let _ychecked1_input : Nat := w; (let _ychecked1_output : (List Nat) := (Reasoning.Screening.DoseModel (_ychecked1_input)); (if (Reasoning.Screening.shortCheck (_ychecked1_input) (_ychecked1_output)) then (Except.ok (_ychecked1_output) : (Except (Prod Bool Bool) (List Nat))) else (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (List Nat)))))) (let _ychecked1_input : Nat := w; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_var rfl) (let _ychecked1_output : (List Nat) := (Reasoning.Screening.DoseModel (_ychecked1_input)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_8 (_ychecked1_input))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (Except.ok (_ychecked1_output) : (Except (Prod Bool Bool) (List Nat))) else (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (List Nat))))) (Reasoning.Screening.shortCheck (_ychecked1_input) (_ychecked1_output)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_9 (_ychecked1_input) (_ychecked1_output))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))) (fun (__a : (Except (Prod Bool Bool) (List Nat))) _ => match __a with | Except.ok proposed => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | Except.error refusal => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil))))) + +def __fits_2 (w : Nat) : Bool := + (((Bool.true && Bool.true) && ((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && (((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true))) && Bool.true) && (((Bool.true && Bool.true) && (__fits_6 (w))) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Reasoning.Screening.Dose.Trial)) (__p1 : Nat) => __fits_5 (w) __p0 __p1) ((fun (_yt : (Reasoning.Screening.Dose.Trial)) (_yc : Nat) => (Reasoning.Screening.Dose.«try» (w) (_yt) (_yc)))) (({ found := (Option.none : (Option Nat)), truncated := Bool.false, ledger := ({ iterations := (0 : Nat), attempts := (0 : Nat), firings := (0 : Nat), expansions := (0 : Nat), verifications := (0 : Nat), frontier := (0 : Nat) } : (Reasoning.Screening.Dose.Ledger)) } : (Reasoning.Screening.Dose.Trial))) ((Reasoning.Screening.Dose.candidates (w))))) + +attribute [local irreducible] Reasoning.Screening.Dose.candidates Reasoning.Screening.Dose.«try» in +theorem __rel_2 (w : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (_root_.LexLeanPreservation.Rel (__fits_2 w) (__enc_0 (Reasoning.Screening.Dose.run w))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil))) _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_6 (w))) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.nat) (es := __enc_0) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) ((fun (_yt : (Reasoning.Screening.Dose.Trial)) (_yc : Nat) => (Reasoning.Screening.Dose.«try» (w) (_yt) (_yc)))) (fun (__p0 : (Reasoning.Screening.Dose.Trial)) (__p1 : Nat) => __fits_5 (w) __p0 __p1) 5 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (fun (__p0 : (Reasoning.Screening.Dose.Trial)) (__p1 : Nat) => __rel_5 (w) __p0 __p1) (p := __prog) (fi := 4) (ta := .nat) (ts := (.adt 0)) rfl (({ found := (Option.none : (Option Nat)), truncated := Bool.false, ledger := ({ iterations := (0 : Nat), attempts := (0 : Nat), firings := (0 : Nat), expansions := (0 : Nat), verifications := (0 : Nat), frontier := (0 : Nat) } : (Reasoning.Screening.Dose.Ledger)) } : (Reasoning.Screening.Dose.Trial))) ((Reasoning.Screening.Dose.candidates (w))))) + +def __fits_3 (_yt : (Reasoning.Screening.Dose.Trial)) : Bool := + (Bool.true && (match (_yt).truncated with | Bool.true => (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) | Bool.false => (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (match (Nat.beq ((_yt).ledger).verifications (0 : Nat)) with | Bool.true => (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) | Bool.false => (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true))))) + +theorem __rel_3 (_yt : (Reasoning.Screening.Dose.Trial)) : _root_.LexLeanPreservation.FunRel __prog 3 [(__enc_0 _yt)] (_root_.LexLeanPreservation.Rel (__fits_3 _yt) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (Reasoning.Screening.Dose.failure _yt))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV _root_.LexLeanTarget.TargetSyntax.Value.bool (fun (__a : Bool) => (match __a with | Bool.true => (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) | Bool.false => (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (match (Nat.beq ((_yt).ledger).verifications (0 : Nat)) with | Bool.true => (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) | Bool.false => (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true))))) (fun (__a : Bool) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (match __a with | Bool.true => ((Bool.false, Bool.false) : (Prod Bool Bool)) | Bool.false => (match (Nat.beq ((_yt).ledger).verifications (0 : Nat)) with | Bool.true => ((Bool.false, Bool.true) : (Prod Bool Bool)) | Bool.false => ((Bool.true, Bool.false) : (Prod Bool Bool))))) (_yt).truncated (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (fun (__a : Bool) _ => match __a with | Bool.true => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair)) | Bool.false => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV _root_.LexLeanTarget.TargetSyntax.Value.bool (fun (__a : Bool) => (match __a with | Bool.true => (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) | Bool.false => (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true))) (fun (__a : Bool) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (match __a with | Bool.true => ((Bool.false, Bool.true) : (Prod Bool Bool)) | Bool.false => ((Bool.true, Bool.false) : (Prod Bool Bool)))) (Nat.beq ((_yt).ledger).verifications (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq ((_yt).ledger).verifications (0 : Nat))) (fun (__a : Bool) _ => match __a with | Bool.true => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair)) | Bool.false => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))))))))) + +def __fits_1 (w : Nat) : Bool := + (((Bool.true && Bool.true) && (__fits_2 (w))) && (let _yfinal : (Reasoning.Screening.Dose.Trial) := (Reasoning.Screening.Dose.run (w)); (Bool.true && (match (_yfinal).found with | Option.some _yv => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_3 (_yfinal))) && Bool.true) && Bool.true))))) + +attribute [local irreducible] Reasoning.Screening.Dose.failure Reasoning.Screening.Dose.run in +theorem __rel_1 (w : Nat) : _root_.LexLeanPreservation.FunRel __prog 1 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (_root_.LexLeanPreservation.Rel (__fits_1 w) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Screening.Dose.verdict w))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (let _yfinal : (Reasoning.Screening.Dose.Trial) := (Reasoning.Screening.Dose.run (w)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_2 (w))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.some _yv => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_3 (_yfinal))) && Bool.true) && Bool.true))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.some _yv => (Except.ok (_yv) : (Except (Prod Bool Bool) Nat)) | Option.none => (Except.error ((Reasoning.Screening.Dose.failure (_yfinal))) : (Except (Prod Bool Bool) Nat)))) (_yfinal).found (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (fun (__a : (Option Nat)) _ => match __a with | Option.some _yv => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_3 (_yfinal))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))))) + +def __fits_0 (w : Nat) : Bool := + (((Bool.true && Bool.true) && (__fits_1 (w))) && (match (Reasoning.Screening.Dose.verdict (w)) with | Except.ok dose => Bool.true | Except.error failure => Bool.true)) + +attribute [local irreducible] Reasoning.Screening.Dose.verdict in +theorem __rel_0 (w : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (_root_.LexLeanPreservation.Rel (__fits_0 w) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.doseLevel w))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Except (Prod Bool Bool) Nat)) => (match __a with | Except.ok dose => Bool.true | Except.error failure => Bool.true)) (fun (__a : (Except (Prod Bool Bool) Nat)) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match __a with | Except.ok dose => dose | Except.error failure => (9 : Nat))) (Reasoning.Screening.Dose.verdict (w)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (w))) (fun (__a : (Except (Prod Bool Bool) Nat)) _ => match __a with | Except.ok dose => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | Except.error failure => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value)))) + +def denote (w : Nat) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 w) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.doseLevel w)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (w : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (_root_.LexLeanPreservation.Rel (__fits_0 w) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.doseLevel w))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 w) + +end LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4 diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R4/Compose/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R4/Compose/RustStd.lean new file mode 100644 index 000000000..c892d34c5 --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R4/Compose/RustStd.lean @@ -0,0 +1,22 @@ +import LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4 +import LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.Compose.RustStd + +theorem __wt_1 : ∀ (__s : (Reasoning.Screening.Dose.Ledger)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.RustStd.program _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.RustStd.krate _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.RustStd.flags (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.__enc_1 __s) (.adt 1) := + fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).iterations) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).attempts) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).firings) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).expansions) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).verifications) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).frontier) _root_.LexLeanPreservation.Rust.wtl_nil)))))) + +theorem __wt_0 : ∀ (__s : (Reasoning.Screening.Dose.Trial)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.RustStd.program _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.RustStd.krate _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.RustStd.flags (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.__enc_0 __s) (.adt 0) := + fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encOption _root_.LexLeanPreservation.Rust.wt_nat) (__s).found) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_bool (__s).truncated) (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_1 (__s).ledger) _root_.LexLeanPreservation.Rust.wtl_nil))) + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (w : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.denote w) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat w) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.root w) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.Compose.RustStd diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R4/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R4/RustStd.lean new file mode 100644 index 000000000..c5275c771 --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R4/RustStd.lean @@ -0,0 +1,134 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [{ constructors := [[(.option .nat), .bool, (.adt 1)]] }, + { constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }], functions := [ + { parameters := [0], types := [.nat], result := .nat, + body := (.«match» .nat (.call 1 [(.var 0)]) [(.arm .ok [1] (.var 1)), (.arm .error [2] (.value .nat (.nat 9)))]) }, + { parameters := [0], types := [.nat], result := (.result .nat (.pair .bool .bool)), + body := (.«let» 1 (.adt 0) (.call 2 [(.var 0)]) (.«match» (.result .nat (.pair .bool .bool)) (.field (.var 1) 0) [(.arm .some [2] (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)])), (.arm .none [] (.build .error (.result .nat (.pair .bool .bool)) [(.call 3 [(.var 1)])]))])) }, + { parameters := [0], types := [.nat], result := (.adt 0), + body := (.call 4 [(.closure 5 [(.var 0)]), (.build (.adt 0) (.adt 0) [(.build .none (.option .nat) []), (.build .false .bool []), (.build (.adt 0) (.adt 1) [(.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0))])]), (.call 6 [(.var 0)])]) }, + { parameters := [0], types := [(.adt 0)], result := (.pair .bool .bool), + body := (.«match» (.pair .bool .bool) (.field (.var 0) 1) [(.arm .true [] (.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])), (.arm .false [] (.«match» (.pair .bool .bool) (.prim .natEq [(.field (.field (.var 0) 2) 4), (.value .nat (.nat 0))]) [(.arm .true [] (.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])), (.arm .false [] (.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])]))]))]) }, + { parameters := [0, 1, 2], types := [(.fn [(.adt 0), .nat] (.adt 0)), (.adt 0), (.list .nat)], result := (.adt 0), + body := (.«match» (.adt 0) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 4 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1, 2], types := [.nat, (.adt 0), .nat], result := (.adt 0), + body := (.call 7 [(.var 0), (.var 1), (.var 2)]) }, + { parameters := [0], types := [.nat], result := (.list .nat), + body := (.«match» (.list .nat) (.«let» 1 .nat (.var 0) (.«let» 2 (.list .nat) (.call 8 [(.var 1)]) (.cond (.call 9 [(.var 1), (.var 2)]) (.build .ok (.result (.list .nat) (.pair .bool .bool)) [(.var 2)]) (.build .error (.result (.list .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])))) [(.arm .ok [3] (.var 3)), (.arm .error [4] (.build .nil (.list .nat) []))]) }, + { parameters := [0, 1, 2], types := [.nat, (.adt 0), .nat], result := (.adt 0), + body := (.«match» (.adt 0) (.field (.var 1) 0) [(.arm .some [3] (.var 1)), (.arm .none [] (.«match» (.adt 0) (.prim .natLt [(.field (.field (.var 1) 2) 4), (.value .nat (.nat 3))]) [(.arm .true [] (.build (.adt 0) (.adt 0) [(.call 10 [(.var 0), (.var 2)]), (.field (.var 1) 1), (.build (.adt 0) (.adt 1) [(.prim .natAdd [(.field (.field (.var 1) 2) 0), (.value .nat (.nat 1))]), (.prim .natAdd [(.field (.field (.var 1) 2) 1), (.value .nat (.nat 1))]), (.field (.field (.var 1) 2) 2), (.field (.field (.var 1) 2) 3), (.prim .natAdd [(.field (.field (.var 1) 2) 4), (.value .nat (.nat 1))]), (.field (.field (.var 1) 2) 5)])])), (.arm .false [] (.build (.adt 0) (.adt 0) [(.build .none (.option .nat) []), (.build .true .bool []), (.field (.var 1) 2)]))]))]) }, + { parameters := [0], types := [.nat], result := (.list .nat), + body := (.call 11 [(.var 0)]) }, + { parameters := [0, 1], types := [.nat, (.list .nat)], result := .bool, + body := (.prim .natLe [(.prim .length [(.var 1)]), (.value .nat (.nat 4))]) }, + { parameters := [0, 1], types := [.nat, .nat], result := (.option .nat), + body := (.cond (.call 12 [(.var 0), (.var 1)]) (.build .some (.option .nat) [(.var 1)]) (.build .none (.option .nat) [])) }, + { parameters := [0], types := [.nat], result := (.list .nat), + body := (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 10))]), (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 20))]), (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 30))]), (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 50))]), (.build .nil (.list .nat) [])])])])]) }, + { parameters := [0, 1], types := [.nat, .nat], result := .bool, + body := (.prim .natLe [(.prim .natAdd [(.var 1), (.var 1)]), (.var 0)]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.enum (.adt 0) [{ number := 0, fields := [(.option .nat), .bool, (.adt 1)] }]), + (.enum (.adt 1) [{ number := 0, fields := [.nat, .nat, .nat, .nat, .nat, .nat] }]), + (.enum (.fn 0) [{ number := 5, fields := [.nat] }]), + (.apply 0 [(.adt 0), .nat] (.adt 0) true [{ function := 5, captures := [.copy], functionFallible := true }]), + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.copy (.generated .binding 0))] true))] (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 1))) (.mk [] (.succeed (.copy (.generated .binding 1))))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 9)))))]))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible (.result .nat (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 1)) (some (.adt 0)) (.call (.function 2) [(.copy (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 3)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [(.bind (.generated .part 2)), .wild, .wild]) (.mk [] (.move (.generated .part 2))))]))] (.matchOn (.move (.generated .holder 3)) [(.mk .none (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.call (.function 3) [(.move (.generated .binding 1))] false)])))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))]))))]))), + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible (.adt 0)) (.mk [] (.call (.function 4) [(.construct (.closure 0 5) [(.copy (.generated .binding 0))]), (.construct (.adt 0 0) [(.construct (.none .nat) []), (.lit (.bool false)), (.construct (.adt 1 0) [(.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0))])]), (.call (.function 6) [(.copy (.generated .binding 0))] false)] false))), + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.pair .bool .bool) (.mk [(.mk (.bind (.generated .holder 5)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 4)), .wild]) (.mk [] (.move (.generated .part 4))))]))] (.cond (.move (.generated .holder 5)) (.mk [] (.pair (.lit (.bool false)) (.lit (.bool false)))) (.mk [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .holder 8)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 7))]) (.mk [] (.move (.generated .part 7))))]))] (.matchOn (.move (.generated .holder 8)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 6)), .wild]) (.mk [] (.move (.generated .part 6))))])))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 0)))] (.call (.runtime .natEq) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))] (.cond (.move (.generated .holder 11)) (.mk [] (.pair (.lit (.bool false)) (.lit (.bool true)))) (.mk [] (.pair (.lit (.bool true)) (.lit (.bool false))))))))), + (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 2)), type := (.list .nat) }] (.fallible (.adt 0)) (.mk [(.mk (.bind (.generated .holder 12)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 12)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 4) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 13)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 13) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]))), + (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.fallible (.adt 0)) (.mk [] (.call (.function 7) [(.copy (.generated .binding 0)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false))), + (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 14)) none (.block (.mk [(.mk (.bind (.generated .binding 1)) (some .nat) (.copy (.generated .binding 0))), (.mk (.bind (.generated .binding 2)) (some (.list .nat)) (.call (.function 8) [(.copy (.generated .binding 1))] false))] (.cond (.call (.function 9) [(.copy (.generated .binding 1)), (.clone (.generated .binding 2))] false) (.mk [] (.construct (.ok (.list .nat) (.pair .bool .bool)) [(.move (.generated .binding 2))])) (.mk [] (.construct (.err (.list .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))]))))))] (.matchOn (.move (.generated .holder 14)) [(.mk (.ok (.bind (.generated .binding 3))) (.mk [] (.move (.generated .binding 3)))), (.mk (.err .wild) (.mk [] (.construct (.nil .nat) [])))]))), + (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.fallible (.adt 0)) (.mk [(.mk (.bind (.generated .holder 16)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [(.bind (.generated .part 15)), .wild, .wild]) (.mk [] (.move (.generated .part 15))))]))] (.matchOn (.move (.generated .holder 16)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 22)) none (.block (.mk [(.mk (.bind (.generated .operand 20)) none (.block (.mk [(.mk (.bind (.generated .holder 19)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 18))]) (.mk [] (.move (.generated .part 18))))]))] (.matchOn (.move (.generated .holder 19)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 17)), .wild]) (.mk [] (.move (.generated .part 17))))])))), (.mk (.bind (.generated .operand 21)) none (.lit (.nat 3)))] (.call (.runtime .natLt) [(.move (.generated .operand 20)), (.move (.generated .operand 21))] false))))] (.cond (.move (.generated .holder 22)) (.mk [] (.succeed (.construct (.adt 0 0) [(.call (.function 10) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] true), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 23)), .wild]) (.mk [] (.move (.generated .part 23))))]), (.construct (.adt 1 0) [(.block (.mk [(.mk (.bind (.generated .operand 27)) none (.block (.mk [(.mk (.bind (.generated .holder 26)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))]))] (.matchOn (.move (.generated .holder 26)) [(.mk (.adt 1 0 [(.bind (.generated .part 24)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 24))))])))), (.mk (.bind (.generated .operand 28)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] true))), (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.block (.mk [(.mk (.bind (.generated .holder 31)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 30))]) (.mk [] (.move (.generated .part 30))))]))] (.matchOn (.move (.generated .holder 31)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 29)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 29))))])))), (.mk (.bind (.generated .operand 33)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] true))), (.block (.mk [(.mk (.bind (.generated .holder 36)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 35))]) (.mk [] (.move (.generated .part 35))))]))] (.matchOn (.move (.generated .holder 36)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 34)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 34))))]))), (.block (.mk [(.mk (.bind (.generated .holder 39)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 38))]) (.mk [] (.move (.generated .part 38))))]))] (.matchOn (.move (.generated .holder 39)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 37)), .wild, .wild]) (.mk [] (.move (.generated .part 37))))]))), (.block (.mk [(.mk (.bind (.generated .operand 43)) none (.block (.mk [(.mk (.bind (.generated .holder 42)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 41))]) (.mk [] (.move (.generated .part 41))))]))] (.matchOn (.move (.generated .holder 42)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 40)), .wild]) (.mk [] (.move (.generated .part 40))))])))), (.mk (.bind (.generated .operand 44)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 43)), (.move (.generated .operand 44))] true))), (.block (.mk [(.mk (.bind (.generated .holder 47)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 46))]) (.mk [] (.move (.generated .part 46))))]))] (.matchOn (.move (.generated .holder 47)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))])))])]))) (.mk [] (.succeed (.construct (.adt 0 0) [(.construct (.none .nat) []), (.lit (.bool true)), (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))])])))))), (.mk (.some .wild) (.mk [] (.succeed (.move (.generated .binding 1)))))]))), + (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.list .nat) (.mk [] (.call (.function 11) [(.copy (.generated .binding 0))] false))), + (.function (.generated .function 9) [{ pattern := .wild, type := .nat }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }] .bool (.mk [(.mk (.bind (.generated .operand 50)) none (.block (.mk [(.mk (.bind (.generated .operand 49)) none (.move (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 49))] false)))), (.mk (.bind (.generated .operand 51)) none (.lit (.nat 4)))] (.call (.runtime .natLe) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] false))), + (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible (.option .nat)) (.mk [] (.cond (.call (.function 12) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true) (.mk [] (.succeed (.construct .some [(.copy (.generated .binding 1))]))) (.mk [] (.succeed (.construct (.none .nat) [])))))), + (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.list .nat) (.mk [] (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 52)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 53)) none (.lit (.nat 10)))] (.call (.runtime .natSub) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false))), (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 54)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 55)) none (.lit (.nat 20)))] (.call (.runtime .natSub) [(.move (.generated .operand 54)), (.move (.generated .operand 55))] false))), (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 56)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 57)) none (.lit (.nat 30)))] (.call (.runtime .natSub) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] false))), (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 58)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 59)) none (.lit (.nat 50)))] (.call (.runtime .natSub) [(.move (.generated .operand 58)), (.move (.generated .operand 59))] false))), (.construct (.nil .nat) [])])])])]))), + (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .bool) (.mk [(.mk (.bind (.generated .operand 62)) none (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 61)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] true)))), (.mk (.bind (.generated .operand 63)) none (.copy (.generated .binding 0)))] (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 62)), (.move (.generated .operand 63))] false))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [(([(.adt 0), .nat], (.adt 0)), true)] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.copy (.generated .binding 0))] true))], (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 1))) (.mk [] (.succeed (.copy (.generated .binding 1))))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 9)))))]), [(0, .nat, (some 0))], rfl, rfl, + (Corr.matchArms (st := (.result .nat (.pair .bool .bool))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.copy (.generated .binding 1)))) (Corr.mCons (Γ' := [(2, (.pair .bool .bool), none), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 9)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.adt 0)) (.call (.function 2) [(.copy (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 3)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [(.bind (.generated .part 2)), .wild, .wild]) (.mk [] (.move (.generated .part 2))))]))], (.matchOn (.move (.generated .holder 3)) [(.mk .none (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.call (.function 3) [(.move (.generated .binding 1))] false)])))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))]))))]), [(0, .nat, (some 0))], rfl, rfl, + (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.fieldRead (ts := [(.option .nat), .bool, (.adt 1)]) (rd := (.move (.generated .part 2))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 0), (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.call (.function 3) [(.move (.generated .binding 1))] false)]))) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.adt 0), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl))) rfl rfl rfl))⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 4) [(.construct (.closure 0 5) [(.copy (.generated .binding 0))]), (.construct (.adt 0 0) [(.construct (.none .nat) []), (.lit (.bool false)), (.construct (.adt 1 0) [(.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0))])]), (.call (.function 6) [(.copy (.generated .binding 0))] false)] false), [(0, .nat, (some 0))], rfl, rfl, + (Corr.callF (ts := [(.fn [(.adt 0), .nat] (.adt 0)), (.adt 0), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [.nat]) (mask := [false]) (af := true) (ff := true) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.option .nat), .bool, (.adt 1)]) (mask := [false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))))))) rfl)) (Corr.lNil))))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 5)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 4)), .wild]) (.mk [] (.move (.generated .part 4))))]))], (.cond (.move (.generated .holder 5)) (.mk [] (.pair (.lit (.bool false)) (.lit (.bool false)))) (.mk [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .holder 8)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 7))]) (.mk [] (.move (.generated .part 7))))]))] (.matchOn (.move (.generated .holder 8)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 6)), .wild]) (.mk [] (.move (.generated .part 6))))])))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 0)))] (.call (.runtime .natEq) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))] (.cond (.move (.generated .holder 11)) (.mk [] (.pair (.lit (.bool false)) (.lit (.bool true)))) (.mk [] (.pair (.lit (.bool true)) (.lit (.bool false))))))), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.matchBool (Corr.eOfBNil (Corr.fieldRead (ts := [(.option .nat), .bool, (.adt 1)]) (rd := (.move (.generated .part 4))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl (Corr.kIf (la := []) (ta := (.pair (.lit (.bool false)) (.lit (.bool false)))) (lb := [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .holder 8)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 7))]) (.mk [] (.move (.generated .part 7))))]))] (.matchOn (.move (.generated .holder 8)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 6)), .wild]) (.mk [] (.move (.generated .part 6))))])))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 0)))] (.call (.runtime .natEq) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false))))]) (tb := (.cond (.move (.generated .holder 11)) (.mk [] (.pair (.lit (.bool false)) (.lit (.bool true)))) (.mk [] (.pair (.lit (.bool true)) (.lit (.bool false)))))) (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))))) (Corr.matchBool (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 9)) none (.block (.mk [(.mk (.bind (.generated .holder 8)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 7))]) (.mk [] (.move (.generated .part 7))))]))] (.matchOn (.move (.generated .holder 8)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 6)), .wild]) (.mk [] (.move (.generated .part 6))))])))), (.mk (.bind (.generated .operand 10)) none (.lit (.nat 0)))]) (tail := (.call (.runtime .natEq) [(.move (.generated .operand 9)), (.move (.generated .operand 10))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 8)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 7))]) (.mk [] (.move (.generated .part 7))))]))]) (tail := (.matchOn (.move (.generated .holder 8)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 6)), .wild]) (.mk [] (.move (.generated .part 6))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 6))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.option .nat), .bool, (.adt 1)]) (rd := (.move (.generated .part 7))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl (Corr.kIf (la := []) (ta := (.pair (.lit (.bool false)) (.lit (.bool true)))) (lb := []) (tb := (.pair (.lit (.bool true)) (.lit (.bool false)))) (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))))) (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))))))))⟩⟩ + +theorem fun4 : FunOK program krate flags 4 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 12)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 12)) [(.mk .none (.mk [] (.succeed (.move (.generated .binding 1))))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 4) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 13)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 13) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)))]), [(2, (.list .nat), (some 2)), (1, (.adt 0), (some 1)), (0, (.fn [(.adt 0), .nat] (.adt 0)), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, (.adt 0), (some 1)), (0, (.fn [(.adt 0), .nat] (.adt 0)), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mCons (Γ' := [(4, (.list .nat), (some 4)), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, (.adt 0), (some 1)), (0, (.fn [(.adt 0), .nat] (.adt 0)), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 4) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 13)) (some (.fn 0)) (.move (.generated .binding 0)))] (.apply (.generated .callee 13) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.adt 0), .nat] (.adt 0)), (.adt 0), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 13)) (some (.fn 0)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 13) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] true)) (Corr.apply (ps := [(.adt 0), .nat]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun5 : FunOK program krate flags 5 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 7) [(.copy (.generated .binding 0)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false), [(2, .nat, (some 2)), (1, (.adt 0), (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.callF (ts := [.nat, (.adt 0), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ + +theorem fun6 : FunOK program krate flags 6 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 14)) none (.block (.mk [(.mk (.bind (.generated .binding 1)) (some .nat) (.copy (.generated .binding 0))), (.mk (.bind (.generated .binding 2)) (some (.list .nat)) (.call (.function 8) [(.copy (.generated .binding 1))] false))] (.cond (.call (.function 9) [(.copy (.generated .binding 1)), (.clone (.generated .binding 2))] false) (.mk [] (.construct (.ok (.list .nat) (.pair .bool .bool)) [(.move (.generated .binding 2))])) (.mk [] (.construct (.err (.list .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))]))))))], (.matchOn (.move (.generated .holder 14)) [(.mk (.ok (.bind (.generated .binding 3))) (.mk [] (.move (.generated .binding 3)))), (.mk (.err .wild) (.mk [] (.construct (.nil .nat) [])))]), [(0, .nat, (some 0))], rfl, rfl, + (Corr.matchArms (st := (.result (.list .nat) (.pair .bool .bool))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.bind (.generated .binding 1)) (some .nat) (.copy (.generated .binding 0))), (.mk (.bind (.generated .binding 2)) (some (.list .nat)) (.call (.function 8) [(.copy (.generated .binding 1))] false))]) (tail := (.cond (.call (.function 9) [(.copy (.generated .binding 1)), (.clone (.generated .binding 2))] false) (.mk [] (.construct (.ok (.list .nat) (.pair .bool .bool)) [(.move (.generated .binding 2))])) (.mk [] (.construct (.err (.list .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))) (Corr.letBind (Corr.var rfl rfl) rfl (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.cond (lc := []) (ce := (.call (.function 9) [(.copy (.generated .binding 1)), (.clone (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [.nat, (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct (.ok (.list .nat) (.pair .bool .bool)) [(.move (.generated .binding 2))])) (lb := []) (tb := (.construct (.err (.list .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])) (Corr.build (ts := [(.list .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl) (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 3))) (Corr.mCons (Γ' := [(4, (.pair .bool .bool), none), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct (.nil .nat) [])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun7 : FunOK program krate flags 7 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 16)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [(.bind (.generated .part 15)), .wild, .wild]) (.mk [] (.move (.generated .part 15))))]))], (.matchOn (.move (.generated .holder 16)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 22)) none (.block (.mk [(.mk (.bind (.generated .operand 20)) none (.block (.mk [(.mk (.bind (.generated .holder 19)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 18))]) (.mk [] (.move (.generated .part 18))))]))] (.matchOn (.move (.generated .holder 19)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 17)), .wild]) (.mk [] (.move (.generated .part 17))))])))), (.mk (.bind (.generated .operand 21)) none (.lit (.nat 3)))] (.call (.runtime .natLt) [(.move (.generated .operand 20)), (.move (.generated .operand 21))] false))))] (.cond (.move (.generated .holder 22)) (.mk [] (.succeed (.construct (.adt 0 0) [(.call (.function 10) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] true), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 23)), .wild]) (.mk [] (.move (.generated .part 23))))]), (.construct (.adt 1 0) [(.block (.mk [(.mk (.bind (.generated .operand 27)) none (.block (.mk [(.mk (.bind (.generated .holder 26)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))]))] (.matchOn (.move (.generated .holder 26)) [(.mk (.adt 1 0 [(.bind (.generated .part 24)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 24))))])))), (.mk (.bind (.generated .operand 28)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] true))), (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.block (.mk [(.mk (.bind (.generated .holder 31)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 30))]) (.mk [] (.move (.generated .part 30))))]))] (.matchOn (.move (.generated .holder 31)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 29)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 29))))])))), (.mk (.bind (.generated .operand 33)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] true))), (.block (.mk [(.mk (.bind (.generated .holder 36)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 35))]) (.mk [] (.move (.generated .part 35))))]))] (.matchOn (.move (.generated .holder 36)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 34)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 34))))]))), (.block (.mk [(.mk (.bind (.generated .holder 39)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 38))]) (.mk [] (.move (.generated .part 38))))]))] (.matchOn (.move (.generated .holder 39)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 37)), .wild, .wild]) (.mk [] (.move (.generated .part 37))))]))), (.block (.mk [(.mk (.bind (.generated .operand 43)) none (.block (.mk [(.mk (.bind (.generated .holder 42)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 41))]) (.mk [] (.move (.generated .part 41))))]))] (.matchOn (.move (.generated .holder 42)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 40)), .wild]) (.mk [] (.move (.generated .part 40))))])))), (.mk (.bind (.generated .operand 44)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 43)), (.move (.generated .operand 44))] true))), (.block (.mk [(.mk (.bind (.generated .holder 47)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 46))]) (.mk [] (.move (.generated .part 46))))]))] (.matchOn (.move (.generated .holder 47)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))])))])]))) (.mk [] (.succeed (.construct (.adt 0 0) [(.construct (.none .nat) []), (.lit (.bool true)), (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))])])))))), (.mk (.some .wild) (.mk [] (.succeed (.move (.generated .binding 1)))))]), [(2, .nat, (some 2)), (1, (.adt 0), (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.fieldRead (ts := [(.option .nat), .bool, (.adt 1)]) (rd := (.move (.generated .part 15))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.adt 0), (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 22)) none (.block (.mk [(.mk (.bind (.generated .operand 20)) none (.block (.mk [(.mk (.bind (.generated .holder 19)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 18))]) (.mk [] (.move (.generated .part 18))))]))] (.matchOn (.move (.generated .holder 19)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 17)), .wild]) (.mk [] (.move (.generated .part 17))))])))), (.mk (.bind (.generated .operand 21)) none (.lit (.nat 3)))] (.call (.runtime .natLt) [(.move (.generated .operand 20)), (.move (.generated .operand 21))] false))))]) (tail := (.cond (.move (.generated .holder 22)) (.mk [] (.succeed (.construct (.adt 0 0) [(.call (.function 10) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] true), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 23)), .wild]) (.mk [] (.move (.generated .part 23))))]), (.construct (.adt 1 0) [(.block (.mk [(.mk (.bind (.generated .operand 27)) none (.block (.mk [(.mk (.bind (.generated .holder 26)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))]))] (.matchOn (.move (.generated .holder 26)) [(.mk (.adt 1 0 [(.bind (.generated .part 24)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 24))))])))), (.mk (.bind (.generated .operand 28)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] true))), (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.block (.mk [(.mk (.bind (.generated .holder 31)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 30))]) (.mk [] (.move (.generated .part 30))))]))] (.matchOn (.move (.generated .holder 31)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 29)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 29))))])))), (.mk (.bind (.generated .operand 33)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] true))), (.block (.mk [(.mk (.bind (.generated .holder 36)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 35))]) (.mk [] (.move (.generated .part 35))))]))] (.matchOn (.move (.generated .holder 36)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 34)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 34))))]))), (.block (.mk [(.mk (.bind (.generated .holder 39)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 38))]) (.mk [] (.move (.generated .part 38))))]))] (.matchOn (.move (.generated .holder 39)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 37)), .wild, .wild]) (.mk [] (.move (.generated .part 37))))]))), (.block (.mk [(.mk (.bind (.generated .operand 43)) none (.block (.mk [(.mk (.bind (.generated .holder 42)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 41))]) (.mk [] (.move (.generated .part 41))))]))] (.matchOn (.move (.generated .holder 42)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 40)), .wild]) (.mk [] (.move (.generated .part 40))))])))), (.mk (.bind (.generated .operand 44)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 43)), (.move (.generated .operand 44))] true))), (.block (.mk [(.mk (.bind (.generated .holder 47)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 46))]) (.mk [] (.move (.generated .part 46))))]))] (.matchOn (.move (.generated .holder 47)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))])))])]))) (.mk [] (.succeed (.construct (.adt 0 0) [(.construct (.none .nat) []), (.lit (.bool true)), (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))])]))))) (Corr.mCons (Γ' := [(3, .nat, none), (2, .nat, (some 2)), (1, (.adt 0), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.move (.generated .binding 1)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl (Corr.matchBool (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 20)) none (.block (.mk [(.mk (.bind (.generated .holder 19)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 18))]) (.mk [] (.move (.generated .part 18))))]))] (.matchOn (.move (.generated .holder 19)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 17)), .wild]) (.mk [] (.move (.generated .part 17))))])))), (.mk (.bind (.generated .operand 21)) none (.lit (.nat 3)))]) (tail := (.call (.runtime .natLt) [(.move (.generated .operand 20)), (.move (.generated .operand 21))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 19)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 18))]) (.mk [] (.move (.generated .part 18))))]))]) (tail := (.matchOn (.move (.generated .holder 19)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 17)), .wild]) (.mk [] (.move (.generated .part 17))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 17))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.option .nat), .bool, (.adt 1)]) (rd := (.move (.generated .part 18))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl (Corr.kIf (la := []) (ta := (.succeed (.construct (.adt 0 0) [(.call (.function 10) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] true), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 23)), .wild]) (.mk [] (.move (.generated .part 23))))]), (.construct (.adt 1 0) [(.block (.mk [(.mk (.bind (.generated .operand 27)) none (.block (.mk [(.mk (.bind (.generated .holder 26)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))]))] (.matchOn (.move (.generated .holder 26)) [(.mk (.adt 1 0 [(.bind (.generated .part 24)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 24))))])))), (.mk (.bind (.generated .operand 28)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] true))), (.block (.mk [(.mk (.bind (.generated .operand 32)) none (.block (.mk [(.mk (.bind (.generated .holder 31)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 30))]) (.mk [] (.move (.generated .part 30))))]))] (.matchOn (.move (.generated .holder 31)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 29)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 29))))])))), (.mk (.bind (.generated .operand 33)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] true))), (.block (.mk [(.mk (.bind (.generated .holder 36)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 35))]) (.mk [] (.move (.generated .part 35))))]))] (.matchOn (.move (.generated .holder 36)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 34)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 34))))]))), (.block (.mk [(.mk (.bind (.generated .holder 39)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 38))]) (.mk [] (.move (.generated .part 38))))]))] (.matchOn (.move (.generated .holder 39)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 37)), .wild, .wild]) (.mk [] (.move (.generated .part 37))))]))), (.block (.mk [(.mk (.bind (.generated .operand 43)) none (.block (.mk [(.mk (.bind (.generated .holder 42)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 41))]) (.mk [] (.move (.generated .part 41))))]))] (.matchOn (.move (.generated .holder 42)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 40)), .wild]) (.mk [] (.move (.generated .part 40))))])))), (.mk (.bind (.generated .operand 44)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 43)), (.move (.generated .operand 44))] true))), (.block (.mk [(.mk (.bind (.generated .holder 47)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 46))]) (.mk [] (.move (.generated .part 46))))]))] (.matchOn (.move (.generated .holder 47)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))])))])]))) (lb := []) (tb := (.succeed (.construct (.adt 0 0) [(.construct (.none .nat) []), (.lit (.bool true)), (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 48))]) (.mk [] (.move (.generated .part 48))))])]))) (Corr.fOfB (Corr.build (ts := [(.option .nat), .bool, (.adt 1)]) (mask := [false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.option .nat), .bool, (.adt 1)]) (rd := (.move (.generated .part 23))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 27)) none (.block (.mk [(.mk (.bind (.generated .holder 26)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))]))] (.matchOn (.move (.generated .holder 26)) [(.mk (.adt 1 0 [(.bind (.generated .part 24)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 24))))])))), (.mk (.bind (.generated .operand 28)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 27)), (.move (.generated .operand 28))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 26)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 25))]) (.mk [] (.move (.generated .part 25))))]))]) (tail := (.matchOn (.move (.generated .holder 26)) [(.mk (.adt 1 0 [(.bind (.generated .part 24)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 24))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 24))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.option .nat), .bool, (.adt 1)]) (rd := (.move (.generated .part 25))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 32)) none (.block (.mk [(.mk (.bind (.generated .holder 31)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 30))]) (.mk [] (.move (.generated .part 30))))]))] (.matchOn (.move (.generated .holder 31)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 29)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 29))))])))), (.mk (.bind (.generated .operand 33)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 32)), (.move (.generated .operand 33))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 31)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 30))]) (.mk [] (.move (.generated .part 30))))]))]) (tail := (.matchOn (.move (.generated .holder 31)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 29)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 29))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 29))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.option .nat), .bool, (.adt 1)]) (rd := (.move (.generated .part 30))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 36)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 35))]) (.mk [] (.move (.generated .part 35))))]))]) (tail := (.matchOn (.move (.generated .holder 36)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 34)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 34))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 34))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.option .nat), .bool, (.adt 1)]) (rd := (.move (.generated .part 35))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 39)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 38))]) (.mk [] (.move (.generated .part 38))))]))]) (tail := (.matchOn (.move (.generated .holder 39)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 37)), .wild, .wild]) (.mk [] (.move (.generated .part 37))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 37))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.option .nat), .bool, (.adt 1)]) (rd := (.move (.generated .part 38))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 43)) none (.block (.mk [(.mk (.bind (.generated .holder 42)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 41))]) (.mk [] (.move (.generated .part 41))))]))] (.matchOn (.move (.generated .holder 42)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 40)), .wild]) (.mk [] (.move (.generated .part 40))))])))), (.mk (.bind (.generated .operand 44)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 43)), (.move (.generated .operand 44))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 42)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 41))]) (.mk [] (.move (.generated .part 41))))]))]) (tail := (.matchOn (.move (.generated .holder 42)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 40)), .wild]) (.mk [] (.move (.generated .part 40))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 40))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.option .nat), .bool, (.adt 1)]) (rd := (.move (.generated .part 41))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 47)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 46))]) (.mk [] (.move (.generated .part 46))))]))]) (tail := (.matchOn (.move (.generated .holder 47)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 45))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.option .nat), .bool, (.adt 1)]) (rd := (.move (.generated .part 46))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))) rfl)) (Corr.lNil))))) rfl)) (Corr.fOfB (Corr.build (ts := [(.option .nat), .bool, (.adt 1)]) (mask := [false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.option .nat), .bool, (.adt 1)]) (rd := (.move (.generated .part 48))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl))))) rfl rfl rfl)⟩⟩ + +theorem fun8 : FunOK program krate flags 8 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 11) [(.copy (.generated .binding 0))] false), [(0, .nat, (some 0))], rfl, rfl, + (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun9 : FunOK program krate flags 9 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 50)) none (.block (.mk [(.mk (.bind (.generated .operand 49)) none (.move (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 49))] false)))), (.mk (.bind (.generated .operand 51)) none (.lit (.nat 4)))], (.call (.runtime .natLe) [(.move (.generated .operand 50)), (.move (.generated .operand 51))] false), [(1, (.list .nat), (some 1)), (0, .nat, none)], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 49)) none (.move (.generated .binding 1)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 49))] false)) (Corr.prim (ts := [(.list .nat)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun10 : FunOK program krate flags 10 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 12) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true) (.mk [] (.succeed (.construct .some [(.copy (.generated .binding 1))]))) (.mk [] (.succeed (.construct (.none .nat) [])))), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 12) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] true)) (lk := []) (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.copy (.generated .binding 1))]))) (lb := []) (tb := (.succeed (.construct (.none .nat) []))) (Corr.fOfB (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ + +theorem fun11 : FunOK program krate flags 11 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 52)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 53)) none (.lit (.nat 10)))] (.call (.runtime .natSub) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false))), (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 54)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 55)) none (.lit (.nat 20)))] (.call (.runtime .natSub) [(.move (.generated .operand 54)), (.move (.generated .operand 55))] false))), (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 56)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 57)) none (.lit (.nat 30)))] (.call (.runtime .natSub) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] false))), (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 58)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 59)) none (.lit (.nat 50)))] (.call (.runtime .natSub) [(.move (.generated .operand 58)), (.move (.generated .operand 59))] false))), (.construct (.nil .nat) [])])])])]), [(0, .nat, (some 0))], rfl, rfl, + (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 52)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 53)) none (.lit (.nat 10)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 54)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 55)) none (.lit (.nat 20)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 54)), (.move (.generated .operand 55))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 56)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 57)) none (.lit (.nat 30)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 58)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 59)) none (.lit (.nat 50)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 58)), (.move (.generated .operand 59))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)⟩⟩ + +theorem fun12 : FunOK program krate flags 12 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 62)) none (.block (.mk [(.mk (.bind (.generated .operand 60)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 61)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] true)))), (.mk (.bind (.generated .operand 63)) none (.copy (.generated .binding 0)))], (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 62)), (.move (.generated .operand 63))] false)), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.fOfB (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 60)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 61)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | 4 => exact fun4 + | 5 => exact fun5 + | 6 => exact fun6 + | 7 => exact fun7 + | 8 => exact fun8 + | 9 => exact fun9 + | 10 => exact fun10 + | 11 => exact fun11 + | 12 => exact fun12 + | _ + 13 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.RustStd diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R5.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R5.lean new file mode 100644 index 000000000..da4a6a021 --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R5.lean @@ -0,0 +1,382 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Reasoning.Budget +import Reasoning.Clinic +import Reasoning.Main +import Reasoning.Planner +import Reasoning.Screening +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [{ constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }, + { constructors := [[(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]] }, + { constructors := [[], [], [], [], [], [], [], []] }], functions := (( + { parameters := [0, 1, 2, 3, 4, 5], types := [.nat, .nat, .nat, .nat, .nat, .nat], result := .nat, + body := (.«match» .nat (.call 1 [(.build (.adt 0) (.adt 0) [(.var 0), (.var 1), (.var 2), (.var 3), (.var 4), (.var 5)])]) [(.arm .ok [6] (.var 6)), (.arm .error [7] (.value .nat (.nat 9)))]) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.result .nat (.pair .bool .bool)), + body := (.«let» 1 (.pair (.adt 1) .bool) (.call 2 [(.var 0)]) (.«match» (.result .nat (.pair .bool .bool)) (.second (.var 1)) [(.arm .true [] (.call 3 [(.var 0), (.first (.var 1))])), (.arm .false [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))])) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.pair (.adt 1) .bool), + body := (.call 4 [(.closure 5 []), (.value .nat (.nat 11)), (.call 6 [(.var 0)])]) }) ::( + { parameters := [0, 1], types := [(.adt 0), (.adt 1)], result := (.result .nat (.pair .bool .bool)), + body := (.«match» (.result .nat (.pair .bool .bool)) (.call 7 [(.var 0), (.var 1)]) [(.arm .some [2] (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)])), (.arm .none [] (.«match» (.result .nat (.pair .bool .bool)) (.call 8 [(.var 1)]) [(.arm .some [3] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])), (.arm .none [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])]))]))]) }) ::( + { parameters := [0, 1, 2], types := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)], result := (.pair (.adt 1) .bool), + body := (.«match» (.pair (.adt 1) .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair (.adt 1) .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 4 [(.var 0), (.var 3), (.var 4)]))]))]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.«match» (.option (.adt 1)) (.call 9 [(.var 0)]) [(.arm .none [] (.build .none (.option (.adt 1)) [])), (.arm .some [1] (.call 10 [(.var 0), (.var 1)]))]) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.var 0), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0))]) }) ::( + { parameters := [0, 1], types := [(.adt 0), (.adt 1)], result := (.option .nat), + body := (.call 8 [(.var 1)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option .nat), + body := (.build .some (.option .nat) [(.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 2)), + body := (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.cond (.call 11 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 0) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [1] (.build .some (.option (.adt 2)) [(.var 1)])), (.arm .none [] (.cond (.call 12 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 1) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]) [(.arm .some [2] (.build .some (.option (.adt 2)) [(.var 2)])), (.arm .none [] (.«match» (.option (.adt 2)) (.cond (.call 13 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 2) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [3] (.build .some (.option (.adt 2)) [(.var 3)])), (.arm .none [] (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 3) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]))]) [(.arm .some [4] (.build .some (.option (.adt 2)) [(.var 4)])), (.arm .none [] (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 4) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [5] (.build .some (.option (.adt 2)) [(.var 5)])), (.arm .none [] (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 5) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]) [(.arm .some [6] (.build .some (.option (.adt 2)) [(.var 6)])), (.arm .none [] (.«match» (.option (.adt 2)) (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 6) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [7] (.build .some (.option (.adt 2)) [(.var 7)])), (.arm .none [] (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 7) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]))]))]) }) ::( + { parameters := [0, 1], types := [(.adt 1), (.adt 2)], result := (.option (.adt 1)), + body := (.«match» (.option (.adt 1)) (.var 1) [(.arm (.adt 0) [] (.call 19 [(.var 0)])), (.arm (.adt 1) [] (.call 20 [(.var 0)])), (.arm (.adt 2) [] (.call 21 [(.var 0)])), (.arm (.adt 3) [] (.call 22 [(.var 0)])), (.arm (.adt 4) [] (.call 23 [(.var 0)])), (.arm (.adt 5) [] (.call 24 [(.var 0)])), (.arm (.adt 6) [] (.call 25 [(.var 0)])), (.arm (.adt 7) [] (.call 26 [(.var 0)]))]) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 1), (.value .nat (.nat 0))]) (.call 27 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 2), (.value .nat (.nat 0))]) (.call 28 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 3), (.value .nat (.nat 0))]) (.call 29 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 4), (.value .nat (.nat 0))]) (.call 30 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 0))]) (.prim .natLe [(.value .nat (.nat 2)), (.prim .natAdd [(.prim .natAdd [(.prim .natAdd [(.field (.var 0) 1), (.field (.var 0) 2)]), (.field (.var 0) 3)]), (.field (.var 0) 4)])]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.field (.var 0) 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.call 31 [(.field (.var 0) 0)]) (.build .false .bool [])) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natLt [(.field (.var 0) 8), (.value .nat (.nat 3))]) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 0))]) (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 2))]) (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 1))]) (.build .false .bool [])))) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 11 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 32 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 12 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 33 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 13 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 34 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 35 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 36 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 37 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 38 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 39 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 380)), (.field (.var 0) 0)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 90)), (.field (.var 0) 1)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 20)), (.field (.var 0) 2)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 12)), (.field (.var 0) 3)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.field (.var 0) 4), (.value .nat (.nat 90))]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.value .nat (.nat 1)), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.value .nat (.nat 1)), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.value .nat (.nat 1)), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.value .nat (.nat 1)), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.value .nat (.nat 1)), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.value .nat (.nat 1)), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.value .nat (.nat 1)), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.prim .natAdd [(.field (.var 0) 8), (.value .nat (.nat 1))])]) }) ::[]) } + +def __enc_0 (__s : (Reasoning.Clinic.Vitals)) : _root_.LexLeanTarget.TargetSyntax.Value := + _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).infection)] + +def __enc_1 (__s : (Reasoning.Clinic.Chart)) : _root_.LexLeanTarget.TargetSyntax.Value := + _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(__enc_0 (__s).vitals), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).fever), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).tachycardia), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).tachypnea), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).leukocytosis), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).sirs), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).sepsis), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).shock), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).level)] + +def __enc_2 : (Reasoning.Main.Grade.Step) -> _root_.LexLeanTarget.TargetSyntax.Value + | Reasoning.Main.Grade.Step.Fever => _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [] + | Reasoning.Main.Grade.Step.Tachycardia => _root_.LexLeanTarget.TargetSyntax.Value.adt 1 [] + | Reasoning.Main.Grade.Step.Tachypnea => _root_.LexLeanTarget.TargetSyntax.Value.adt 2 [] + | Reasoning.Main.Grade.Step.Leukocytosis => _root_.LexLeanTarget.TargetSyntax.Value.adt 3 [] + | Reasoning.Main.Grade.Step.Sirs => _root_.LexLeanTarget.TargetSyntax.Value.adt 4 [] + | Reasoning.Main.Grade.Step.Sepsis => _root_.LexLeanTarget.TargetSyntax.Value.adt 5 [] + | Reasoning.Main.Grade.Step.Shock => _root_.LexLeanTarget.TargetSyntax.Value.adt 6 [] + | Reasoning.Main.Grade.Step.Escalate => _root_.LexLeanTarget.TargetSyntax.Value.adt 7 [] + +def __fits_27 (v : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_27 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 27 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_27 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.feverish v))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (380 : Nat) (v).temperature)) + +def __fits_11 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).fever (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_27 ((s).vitals))) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.feverish in +theorem __rel_11 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 11 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_11 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Fever.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_27 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.feverish ((s).vitals)))) (Nat.beq (s).fever (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).fever (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_27 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_28 (v : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_28 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 28 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_28 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.tachycardic v))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (90 : Nat) (v).heartRate)) + +def __fits_12 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).tachycardia (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_28 ((s).vitals))) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.tachycardic in +theorem __rel_12 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 12 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_12 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Tachycardia.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_28 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.tachycardic ((s).vitals)))) (Nat.beq (s).tachycardia (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).tachycardia (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_28 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_29 (v : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_29 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 29 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_29 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.tachypneic v))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (20 : Nat) (v).respiratoryRate)) + +def __fits_13 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).tachypnea (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_29 ((s).vitals))) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.tachypneic in +theorem __rel_13 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 13 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_13 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Tachypnea.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_29 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.tachypneic ((s).vitals)))) (Nat.beq (s).tachypnea (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).tachypnea (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_29 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_30 (v : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_30 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 30 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_30 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.leukocytic v))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (12 : Nat) (v).whiteCells)) + +def __fits_14 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).leukocytosis (0 : Nat)) then ((Bool.true && Bool.true) && (__fits_30 ((s).vitals))) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.leukocytic in +theorem __rel_14 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 14 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_14 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Leukocytosis.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_30 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.leukocytic ((s).vitals)))) (Nat.beq (s).leukocytosis (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).leukocytosis (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_30 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_15 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sirs (0 : Nat)) then ((Bool.true && (((((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).fever + (s).tachycardia) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt (((s).fever + (s).tachycardia) + (s).tachypnea) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis) 18446744073709551616)) && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) + +theorem __rel_15 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 15 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_15 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Sirs.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (((((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).fever + (s).tachycardia) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt (((s).fever + (s).tachycardia) + (s).tachypnea) 18446744073709551616)) && (Bool.true && Bool.true)) && (Nat.blt ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis) 18446744073709551616)) && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.ble (2 : Nat) ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis)))) (Nat.beq (s).sirs (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sirs (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (s).fever (s).tachycardia)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((s).fever + (s).tachycardia) (s).tachypnea)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (((s).fever + (s).tachycardia) + (s).tachypnea) (s).leukocytosis)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe (2 : Nat) ((((s).fever + (s).tachycardia) + (s).tachypnea) + (s).leukocytosis)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_16 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sepsis (0 : Nat)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sirs (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) + +theorem __rel_16 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 16 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_16 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Sepsis.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sirs (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.beq (s).sirs (1 : Nat)) && (Nat.beq ((s).vitals).infection (1 : Nat))))) (Nat.beq (s).sepsis (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sepsis (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq ((s).vitals).infection (1 : Nat)))) (Nat.beq (s).sirs (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sirs (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq ((s).vitals).infection (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_31 (v : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_31 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 31 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_31 v) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.hypotensive v))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (v).systolic (90 : Nat))) + +def __fits_17 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).shock (0 : Nat)) then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sepsis (1 : Nat)) then ((Bool.true && Bool.true) && (__fits_31 ((s).vitals))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.hypotensive in +theorem __rel_17 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 17 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_17 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Shock.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).sepsis (1 : Nat)) then ((Bool.true && Bool.true) && (__fits_31 ((s).vitals))) else (Bool.true && Bool.true))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && ((Nat.beq (s).sepsis (1 : Nat)) && (Reasoning.Clinic.hypotensive ((s).vitals))))) (Nat.beq (s).shock (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).shock (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && (__fits_31 ((s).vitals))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Reasoning.Clinic.hypotensive ((s).vitals)))) (Nat.beq (s).sepsis (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sepsis (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_31 ((s).vitals)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_18 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.blt (s).level (3 : Nat)) then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (0 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))))))) else (Bool.true && Bool.true))) + +theorem __rel_18 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 18 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_18 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Clinic.Escalate.guard s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (0 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))))))) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) || (((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) || ((Nat.beq (s).level (2 : Nat)) && (Nat.beq (s).shock (1 : Nat))))))) (Nat.blt (s).level (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (s).level (3 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (Bool.true && Bool.true) else ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (1 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) && (if ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)))))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b || (((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) || ((Nat.beq (s).level (2 : Nat)) && (Nat.beq (s).shock (1 : Nat)))))) ((Nat.beq (s).level (0 : Nat)) && (Nat.beq (s).sirs (1 : Nat))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq (s).sirs (1 : Nat)))) (Nat.beq (s).level (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).level (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sirs (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (Bool.true && Bool.true) else (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).level (2 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)))) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b || ((Nat.beq (s).level (2 : Nat)) && (Nat.beq (s).shock (1 : Nat))))) ((Nat.beq (s).level (1 : Nat)) && (Nat.beq (s).sepsis (1 : Nat))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq (s).sepsis (1 : Nat)))) (Nat.beq (s).level (1 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).level (1 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).sepsis (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)) (fun _ => (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.beq (s).shock (1 : Nat)))) (Nat.beq (s).level (2 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).level (2 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).shock (1 : Nat)))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false)))))))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_9 (_ys : (Reasoning.Clinic.Chart)) : Bool := + ((((((Bool.true && Bool.true) && (__fits_11 (_ys))) && (if (Reasoning.Clinic.Fever.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Fever : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_12 (_ys))) && (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) && (match (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Fever : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Tachycardia : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_13 (_ys))) && (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Tachypnea : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_14 (_ys))) && (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))) && (match (match (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Fever : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Tachycardia : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Tachypnea : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Leukocytosis : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && (__fits_15 (_ys))) && (if (Reasoning.Clinic.Sirs.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Sirs : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_16 (_ys))) && (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) && (match (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Sirs : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Sepsis : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_17 (_ys))) && (if (Reasoning.Clinic.Shock.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Shock : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_18 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))))) + +attribute [local irreducible] Reasoning.Clinic.Escalate.guard Reasoning.Clinic.Fever.guard Reasoning.Clinic.Leukocytosis.guard Reasoning.Clinic.Sepsis.guard Reasoning.Clinic.Shock.guard Reasoning.Clinic.Sirs.guard Reasoning.Clinic.Tachycardia.guard Reasoning.Clinic.Tachypnea.guard in +theorem __rel_9 (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 9 [(__enc_1 _ys)] (_root_.LexLeanPreservation.Rel (__fits_9 _ys) ((_root_.LexLeanPreservation.encOption __enc_2) (Reasoning.Main.Grade.select _ys))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && (__fits_15 (_ys))) && (if (Reasoning.Clinic.Sirs.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Sirs : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_16 (_ys))) && (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) && (match (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Sirs : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Sepsis : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_17 (_ys))) && (if (Reasoning.Clinic.Shock.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Shock : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_18 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (match (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Sirs : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Sepsis : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Shock : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Escalate.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Escalate : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))))))) (match (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Fever : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Tachycardia : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Tachypnea : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Leukocytosis : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_13 (_ys))) && (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Tachypnea : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_14 (_ys))) && (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (match (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Tachypnea : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Leukocytosis : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))))) (match (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Fever : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Tachycardia : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_12 (_ys))) && (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Tachycardia.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Tachycardia : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))))) (if (Reasoning.Clinic.Fever.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Fever : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Main.Grade.Step.Fever : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) (Reasoning.Clinic.Fever.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_11 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Main.Grade.Step.Tachycardia : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) (Reasoning.Clinic.Tachycardia.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_12 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_14 (_ys))) && (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Leukocytosis.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Leukocytosis : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))))) (if (Reasoning.Clinic.Tachypnea.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Tachypnea : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Main.Grade.Step.Tachypnea : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) (Reasoning.Clinic.Tachypnea.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_13 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Main.Grade.Step.Leukocytosis : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) (Reasoning.Clinic.Leukocytosis.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_14 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))))))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => ((((Bool.true && Bool.true) && (__fits_17 (_ys))) && (if (Reasoning.Clinic.Shock.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Shock : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_18 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (match (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Shock : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Escalate.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Escalate : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))))) (match (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Sirs : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Sepsis : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_16 (_ys))) && (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Sepsis.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Sepsis : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))))) (if (Reasoning.Clinic.Sirs.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Sirs : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Main.Grade.Step.Sirs : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) (Reasoning.Clinic.Sirs.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_15 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Main.Grade.Step.Sepsis : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) (Reasoning.Clinic.Sepsis.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_16 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (match __a with | Option.some _yfound => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_18 (_ys))) && (if (Reasoning.Clinic.Escalate.guard (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (_root_.LexLeanPreservation.encOption __enc_2) (match __a with | Option.some _yfound => (Option.some (_yfound) : (Option (Reasoning.Main.Grade.Step))) | Option.none => (if (Reasoning.Clinic.Escalate.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Escalate : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))))) (if (Reasoning.Clinic.Shock.guard (_ys)) then (Option.some ((Reasoning.Main.Grade.Step.Shock : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Main.Grade.Step.Shock : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) (Reasoning.Clinic.Shock.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_17 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_2) (if __b then (Option.some ((Reasoning.Main.Grade.Step.Escalate : (Reasoning.Main.Grade.Step))) : (Option (Reasoning.Main.Grade.Step))) else (Option.none : (Option (Reasoning.Main.Grade.Step))))) (Reasoning.Clinic.Escalate.guard (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_18 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))))))))))) + +def __fits_32 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_32 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 32 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_32 s) (__enc_1 (Reasoning.Clinic.Fever.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_19 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_11 (s))) && (if (Reasoning.Clinic.Fever.guard (s)) then ((((Bool.true && Bool.true) && (__fits_32 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Fever.conclusion Reasoning.Clinic.Fever.guard in +theorem __rel_19 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 19 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_19 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Fever.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_32 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Fever.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Fever.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_11 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_32 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_33 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_33 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 33 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_33 s) (__enc_1 (Reasoning.Clinic.Tachycardia.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_20 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_12 (s))) && (if (Reasoning.Clinic.Tachycardia.guard (s)) then ((((Bool.true && Bool.true) && (__fits_33 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Tachycardia.conclusion Reasoning.Clinic.Tachycardia.guard in +theorem __rel_20 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 20 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_20 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Tachycardia.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_33 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Tachycardia.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Tachycardia.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_12 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_33 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_34 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_34 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 34 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_34 s) (__enc_1 (Reasoning.Clinic.Tachypnea.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_21 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_13 (s))) && (if (Reasoning.Clinic.Tachypnea.guard (s)) then ((((Bool.true && Bool.true) && (__fits_34 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Tachypnea.conclusion Reasoning.Clinic.Tachypnea.guard in +theorem __rel_21 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 21 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_21 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Tachypnea.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_34 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Tachypnea.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Tachypnea.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_13 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_34 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_35 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_35 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 35 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_35 s) (__enc_1 (Reasoning.Clinic.Leukocytosis.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_22 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_14 (s))) && (if (Reasoning.Clinic.Leukocytosis.guard (s)) then ((((Bool.true && Bool.true) && (__fits_35 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Leukocytosis.conclusion Reasoning.Clinic.Leukocytosis.guard in +theorem __rel_22 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 22 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_22 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Leukocytosis.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_35 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Leukocytosis.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Leukocytosis.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_14 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_35 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_36 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_36 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 36 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_36 s) (__enc_1 (Reasoning.Clinic.Sirs.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_23 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_15 (s))) && (if (Reasoning.Clinic.Sirs.guard (s)) then ((((Bool.true && Bool.true) && (__fits_36 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Sirs.conclusion Reasoning.Clinic.Sirs.guard in +theorem __rel_23 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 23 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_23 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Sirs.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_36 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Sirs.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Sirs.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_15 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_36 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_37 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_37 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 37 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_37 s) (__enc_1 (Reasoning.Clinic.Sepsis.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_24 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_16 (s))) && (if (Reasoning.Clinic.Sepsis.guard (s)) then ((((Bool.true && Bool.true) && (__fits_37 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Sepsis.conclusion Reasoning.Clinic.Sepsis.guard in +theorem __rel_24 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 24 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_24 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Sepsis.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_37 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Sepsis.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Sepsis.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_16 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_37 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_38 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_38 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 38 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_38 s) (__enc_1 (Reasoning.Clinic.Shock.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_25 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_17 (s))) && (if (Reasoning.Clinic.Shock.guard (s)) then ((((Bool.true && Bool.true) && (__fits_38 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Shock.conclusion Reasoning.Clinic.Shock.guard in +theorem __rel_25 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 25 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_25 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Shock.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_38 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Shock.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Shock.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_17 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_38 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_39 (s : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((s).level + (1 : Nat)) 18446744073709551616)) && Bool.true))))))))) && Bool.true) + +theorem __rel_39 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 39 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_39 s) (__enc_1 (Reasoning.Clinic.Escalate.conclusion s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (s).level (1 : Nat))) _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_26 (s : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_18 (s))) && (if (Reasoning.Clinic.Escalate.guard (s)) then ((((Bool.true && Bool.true) && (__fits_39 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Clinic.Escalate.conclusion Reasoning.Clinic.Escalate.guard in +theorem __rel_26 (s : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 26 [(__enc_1 s)] (_root_.LexLeanPreservation.Rel (__fits_26 s) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Clinic.Escalate.apply s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_39 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_1) (if __b then (Option.some ((Reasoning.Clinic.Escalate.conclusion (s))) : (Option (Reasoning.Clinic.Chart))) else (Option.none : (Option (Reasoning.Clinic.Chart))))) (Reasoning.Clinic.Escalate.guard (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_18 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_39 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_10 (_ys : (Reasoning.Clinic.Chart)) (_ystep : (Reasoning.Main.Grade.Step)) : Bool := + (Bool.true && (match _ystep with | Reasoning.Main.Grade.Step.Fever => ((Bool.true && Bool.true) && (__fits_19 (_ys))) | Reasoning.Main.Grade.Step.Tachycardia => ((Bool.true && Bool.true) && (__fits_20 (_ys))) | Reasoning.Main.Grade.Step.Tachypnea => ((Bool.true && Bool.true) && (__fits_21 (_ys))) | Reasoning.Main.Grade.Step.Leukocytosis => ((Bool.true && Bool.true) && (__fits_22 (_ys))) | Reasoning.Main.Grade.Step.Sirs => ((Bool.true && Bool.true) && (__fits_23 (_ys))) | Reasoning.Main.Grade.Step.Sepsis => ((Bool.true && Bool.true) && (__fits_24 (_ys))) | Reasoning.Main.Grade.Step.Shock => ((Bool.true && Bool.true) && (__fits_25 (_ys))) | Reasoning.Main.Grade.Step.Escalate => ((Bool.true && Bool.true) && (__fits_26 (_ys))))) + +attribute [local irreducible] Reasoning.Clinic.Escalate.apply Reasoning.Clinic.Fever.apply Reasoning.Clinic.Leukocytosis.apply Reasoning.Clinic.Sepsis.apply Reasoning.Clinic.Shock.apply Reasoning.Clinic.Sirs.apply Reasoning.Clinic.Tachycardia.apply Reasoning.Clinic.Tachypnea.apply in +theorem __rel_10 (_ys : (Reasoning.Clinic.Chart)) (_ystep : (Reasoning.Main.Grade.Step)) : _root_.LexLeanPreservation.FunRel __prog 10 [(__enc_1 _ys), (__enc_2 _ystep)] (_root_.LexLeanPreservation.Rel (__fits_10 _ys _ystep) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Main.Grade.fire _ys _ystep))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_2 (fun (__a : (Reasoning.Main.Grade.Step)) => (match __a with | Reasoning.Main.Grade.Step.Fever => ((Bool.true && Bool.true) && (__fits_19 (_ys))) | Reasoning.Main.Grade.Step.Tachycardia => ((Bool.true && Bool.true) && (__fits_20 (_ys))) | Reasoning.Main.Grade.Step.Tachypnea => ((Bool.true && Bool.true) && (__fits_21 (_ys))) | Reasoning.Main.Grade.Step.Leukocytosis => ((Bool.true && Bool.true) && (__fits_22 (_ys))) | Reasoning.Main.Grade.Step.Sirs => ((Bool.true && Bool.true) && (__fits_23 (_ys))) | Reasoning.Main.Grade.Step.Sepsis => ((Bool.true && Bool.true) && (__fits_24 (_ys))) | Reasoning.Main.Grade.Step.Shock => ((Bool.true && Bool.true) && (__fits_25 (_ys))) | Reasoning.Main.Grade.Step.Escalate => ((Bool.true && Bool.true) && (__fits_26 (_ys))))) (fun (__a : (Reasoning.Main.Grade.Step)) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Reasoning.Main.Grade.Step.Fever => (Reasoning.Clinic.Fever.apply (_ys)) | Reasoning.Main.Grade.Step.Tachycardia => (Reasoning.Clinic.Tachycardia.apply (_ys)) | Reasoning.Main.Grade.Step.Tachypnea => (Reasoning.Clinic.Tachypnea.apply (_ys)) | Reasoning.Main.Grade.Step.Leukocytosis => (Reasoning.Clinic.Leukocytosis.apply (_ys)) | Reasoning.Main.Grade.Step.Sirs => (Reasoning.Clinic.Sirs.apply (_ys)) | Reasoning.Main.Grade.Step.Sepsis => (Reasoning.Clinic.Sepsis.apply (_ys)) | Reasoning.Main.Grade.Step.Shock => (Reasoning.Clinic.Shock.apply (_ys)) | Reasoning.Main.Grade.Step.Escalate => (Reasoning.Clinic.Escalate.apply (_ys)))) _ystep (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Reasoning.Main.Grade.Step)) _ => match __a with | Reasoning.Main.Grade.Step.Fever => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_19 (_ys)))) | Reasoning.Main.Grade.Step.Tachycardia => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_20 (_ys))))) | Reasoning.Main.Grade.Step.Tachypnea => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_21 (_ys)))))) | Reasoning.Main.Grade.Step.Leukocytosis => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_22 (_ys))))))) | Reasoning.Main.Grade.Step.Sirs => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_23 (_ys)))))))) | Reasoning.Main.Grade.Step.Sepsis => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_24 (_ys))))))))) | Reasoning.Main.Grade.Step.Shock => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_25 (_ys)))))))))) | Reasoning.Main.Grade.Step.Escalate => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_26 (_ys))))))))))))) + +def __fits_5 (_ys : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && Bool.true) && (__fits_9 (_ys))) && (match (Reasoning.Main.Grade.select (_ys)) with | Option.none => (Bool.true && Bool.true) | Option.some _ystep => ((Bool.true && (Bool.true && Bool.true)) && (__fits_10 (_ys) (_ystep))))) + +attribute [local irreducible] Reasoning.Main.Grade.fire Reasoning.Main.Grade.select in +theorem __rel_5 (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 5 [(__enc_1 _ys)] (_root_.LexLeanPreservation.Rel (__fits_5 _ys) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Main.Grade.next _ys))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_2) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (match __a with | Option.none => (Bool.true && Bool.true) | Option.some _ystep => ((Bool.true && (Bool.true && Bool.true)) && (__fits_10 (_ys) (_ystep))))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Option.none => (Option.none : (Option (Reasoning.Clinic.Chart))) | Option.some _ystep => (Reasoning.Main.Grade.fire (_ys) (_ystep)))) (Reasoning.Main.Grade.select (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_9 (_ys))) (fun (__a : (Option (Reasoning.Main.Grade.Step))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | Option.some _ystep => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_10 (_ys) (_ystep))))))) + +def __fits_6 (v : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true))))))))) && Bool.true) + +theorem __rel_6 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 6 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_6 v) (__enc_1 (Reasoning.Main.Grade.observe v))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil))))))))) _root_.LexLeanPreservation.construct_adt) + +def __fits_2 (v : (Reasoning.Clinic.Vitals)) : Bool := + ((Bool.true && (Bool.true && (((Bool.true && Bool.true) && (__fits_6 (v))) && Bool.true))) && (_root_.LexLeanPreservation.untilFits (fun (__p0 : (Reasoning.Clinic.Chart)) => __fits_5 __p0) ((Reasoning.Main.Grade.next)) ((11 : Nat)) ((Reasoning.Main.Grade.observe (v))))) + +attribute [local irreducible] Reasoning.Main.Grade.observe in +theorem __rel_2 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 2 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_2 v) ((_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.bool) (Reasoning.Main.Grade.saturate v))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_6 (v))) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_iterateUntil (es := __enc_1) (_root_.LexLeanPreservation.optEnc __enc_1) (fun _ => rfl) (_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.bool) (fun _ => rfl) ((Reasoning.Main.Grade.next)) (fun (__p0 : (Reasoning.Clinic.Chart)) => __fits_5 __p0) 5 [] (fun (__p0 : (Reasoning.Clinic.Chart)) => __rel_5 __p0) (_root_.LexLeanCollections.iterateUntil ((Reasoning.Main.Grade.next))) (fun _ => rfl) (fun _ _ __h => by simp only [_root_.LexLeanCollections.iterateUntil, __h]) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.iterateUntil, __h]) (p := __prog) (fi := 4) (ts := (.adt 1)) rfl ((11 : Nat)) ((Reasoning.Main.Grade.observe (v))))) + +def __fits_8 (chart : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && Bool.true) && Bool.true) + +theorem __rel_8 (chart : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 8 [(__enc_1 chart)] (_root_.LexLeanPreservation.Rel (__fits_8 chart) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Main.Grade.extract chart))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) + +def __fits_7 (v : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : Bool := + ((Bool.true && Bool.true) && (__fits_8 (_ys))) + +attribute [local irreducible] Reasoning.Main.Grade.extract in +theorem __rel_7 (v : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 7 [(__enc_0 v), (__enc_1 _ys)] (_root_.LexLeanPreservation.Rel (__fits_7 v _ys) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Main.Grade.accept v _ys))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_8 (_ys))) + +def __fits_3 (v : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && (__fits_7 (v) (_ys))) && (match (Reasoning.Main.Grade.accept (v) (_ys)) with | Option.some _yv => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_8 (_ys))) && (match (Reasoning.Main.Grade.extract (_ys)) with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) + +attribute [local irreducible] Reasoning.Main.Grade.accept Reasoning.Main.Grade.extract in +theorem __rel_3 (v : (Reasoning.Clinic.Vitals)) (_ys : (Reasoning.Clinic.Chart)) : _root_.LexLeanPreservation.FunRel __prog 3 [(__enc_0 v), (__enc_1 _ys)] (_root_.LexLeanPreservation.Rel (__fits_3 v _ys) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Main.Grade.conclude v _ys))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.some _yv => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_8 (_ys))) && (match (Reasoning.Main.Grade.extract (_ys)) with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.some _yv => (Except.ok (_yv) : (Except (Prod Bool Bool) Nat)) | Option.none => (match (Reasoning.Main.Grade.extract (_ys)) with | Option.some _yv => (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)) | Option.none => (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat))))) (Reasoning.Main.Grade.accept (v) (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_7 (v) (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.some _yv => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.some _yv => (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)) | Option.none => (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)))) (Reasoning.Main.Grade.extract (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_8 (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.some _yv => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))))))) + +def __fits_1 (v : (Reasoning.Clinic.Vitals)) : Bool := + (((Bool.true && Bool.true) && (__fits_2 (v))) && (let _yfinal : (Prod (Reasoning.Clinic.Chart) Bool) := (Reasoning.Main.Grade.saturate (v)); (Bool.true && (match (_yfinal).2 with | Bool.true => ((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (v) ((_yfinal).1))) | Bool.false => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) + +attribute [local irreducible] Reasoning.Main.Grade.conclude Reasoning.Main.Grade.saturate in +theorem __rel_1 (v : (Reasoning.Clinic.Vitals)) : _root_.LexLeanPreservation.FunRel __prog 1 [(__enc_0 v)] (_root_.LexLeanPreservation.Rel (__fits_1 v) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Main.Grade.verdict v))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (let _yfinal : (Prod (Reasoning.Clinic.Chart) Bool) := (Reasoning.Main.Grade.saturate (v)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_2 (v))) (_root_.LexLeanPreservation.conv_matchV _root_.LexLeanTarget.TargetSyntax.Value.bool (fun (__a : Bool) => (match __a with | Bool.true => ((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (v) ((_yfinal).1))) | Bool.false => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__a : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Bool.true => (Reasoning.Main.Grade.conclude (v) ((_yfinal).1)) | Bool.false => (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)))) (_yfinal).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : Bool) _ => match __a with | Bool.true => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (__rel_3 (v) ((_yfinal).1)))) | Bool.false => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))))) + +def __fits_0 (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : Bool := + (((((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true) && (__fits_1 (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals))))) && (match (Reasoning.Main.Grade.verdict (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals)))) with | Except.ok level => Bool.true | Except.error failure => Bool.true)) + +attribute [local irreducible] Reasoning.Main.Grade.verdict in +theorem __rel_0 (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)] (_root_.LexLeanPreservation.Rel (__fits_0 temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.gradeLevel temperature heartRate respiratoryRate whiteCells systolic infection))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Except (Prod Bool Bool) Nat)) => (match __a with | Except.ok level => Bool.true | Except.error failure => Bool.true)) (fun (__a : (Except (Prod Bool Bool) Nat)) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match __a with | Except.ok level => level | Except.error failure => (9 : Nat))) (Reasoning.Main.Grade.verdict (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals)))) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) (__rel_1 (({ temperature := temperature, heartRate := heartRate, respiratoryRate := respiratoryRate, whiteCells := whiteCells, systolic := systolic, infection := infection } : (Reasoning.Clinic.Vitals))))) (fun (__a : (Except (Prod Bool Bool) Nat)) _ => match __a with | Except.ok level => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | Except.error failure => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value)))) + +def denote (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.gradeLevel temperature heartRate respiratoryRate whiteCells systolic infection)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)] (_root_.LexLeanPreservation.Rel (__fits_0 temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.gradeLevel temperature heartRate respiratoryRate whiteCells systolic infection))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 temperature heartRate respiratoryRate whiteCells systolic infection) + +end LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5 diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R5/Compose/RustCore.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R5/Compose/RustCore.lean new file mode 100644 index 000000000..fd9ddf35f --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R5/Compose/RustCore.lean @@ -0,0 +1,32 @@ +import LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5 +import LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.Compose.RustCore + +theorem __wt_0 : ∀ (__s : (Reasoning.Clinic.Vitals)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore.program _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore.krate _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore.flags (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.__enc_0 __s) (.adt 0) := + fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).temperature) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).heartRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).respiratoryRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).whiteCells) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).systolic) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).infection) _root_.LexLeanPreservation.Rust.wtl_nil)))))) + +theorem __wt_1 : ∀ (__s : (Reasoning.Clinic.Chart)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore.program _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore.krate _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore.flags (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.__enc_1 __s) (.adt 1) := + fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_0 (__s).vitals) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).fever) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).tachycardia) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).tachypnea) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).leukocytosis) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).sirs) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).sepsis) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).shock) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).level) _root_.LexLeanPreservation.Rust.wtl_nil))))))))) + +theorem __wt_2 : ∀ (__v : (Reasoning.Main.Grade.Step)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore.program _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore.krate _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore.flags (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.__enc_2 __v) (.adt 2) + | Reasoning.Main.Grade.Step.Fever => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Main.Grade.Step.Tachycardia => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Main.Grade.Step.Tachypnea => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Main.Grade.Step.Leukocytosis => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Main.Grade.Step.Sirs => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Main.Grade.Step.Sepsis => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Main.Grade.Step.Shock => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Main.Grade.Step.Escalate => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (temperature : Nat) (heartRate : Nat) (respiratoryRate : Nat) (whiteCells : Nat) (systolic : Nat) (infection : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.denote temperature heartRate respiratoryRate whiteCells systolic infection) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat temperature), (_root_.LexLeanTarget.TargetSyntax.Value.nat heartRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat respiratoryRate), (_root_.LexLeanTarget.TargetSyntax.Value.nat whiteCells), (_root_.LexLeanTarget.TargetSyntax.Value.nat systolic), (_root_.LexLeanTarget.TargetSyntax.Value.nat infection)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat temperature) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat heartRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat respiratoryRate) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat whiteCells) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat systolic) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat infection) _root_.LexLeanPreservation.Rust.wtl_nil)))))) rfl rfl (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.root temperature heartRate respiratoryRate whiteCells systolic infection) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.Compose.RustCore diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R5/RustCore.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R5/RustCore.lean new file mode 100644 index 000000000..1aebad5d9 --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R5/RustCore.lean @@ -0,0 +1,352 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [{ constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }, + { constructors := [[(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]] }, + { constructors := [[], [], [], [], [], [], [], []] }], functions := (( + { parameters := [0, 1, 2, 3, 4, 5], types := [.nat, .nat, .nat, .nat, .nat, .nat], result := .nat, + body := (.«match» .nat (.call 1 [(.build (.adt 0) (.adt 0) [(.var 0), (.var 1), (.var 2), (.var 3), (.var 4), (.var 5)])]) [(.arm .ok [6] (.var 6)), (.arm .error [7] (.value .nat (.nat 9)))]) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.result .nat (.pair .bool .bool)), + body := (.«let» 1 (.pair (.adt 1) .bool) (.call 2 [(.var 0)]) (.«match» (.result .nat (.pair .bool .bool)) (.second (.var 1)) [(.arm .true [] (.call 3 [(.var 0), (.first (.var 1))])), (.arm .false [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))])) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.pair (.adt 1) .bool), + body := (.call 4 [(.closure 5 []), (.value .nat (.nat 11)), (.call 6 [(.var 0)])]) }) ::( + { parameters := [0, 1], types := [(.adt 0), (.adt 1)], result := (.result .nat (.pair .bool .bool)), + body := (.«match» (.result .nat (.pair .bool .bool)) (.call 7 [(.var 0), (.var 1)]) [(.arm .some [2] (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)])), (.arm .none [] (.«match» (.result .nat (.pair .bool .bool)) (.call 8 [(.var 1)]) [(.arm .some [3] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])), (.arm .none [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])]))]))]) }) ::( + { parameters := [0, 1, 2], types := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)], result := (.pair (.adt 1) .bool), + body := (.«match» (.pair (.adt 1) .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair (.adt 1) .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 4 [(.var 0), (.var 3), (.var 4)]))]))]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.«match» (.option (.adt 1)) (.call 9 [(.var 0)]) [(.arm .none [] (.build .none (.option (.adt 1)) [])), (.arm .some [1] (.call 10 [(.var 0), (.var 1)]))]) }) ::( + { parameters := [0], types := [(.adt 0)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.var 0), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0))]) }) ::( + { parameters := [0, 1], types := [(.adt 0), (.adt 1)], result := (.option .nat), + body := (.call 8 [(.var 1)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option .nat), + body := (.build .some (.option .nat) [(.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 2)), + body := (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.cond (.call 11 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 0) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [1] (.build .some (.option (.adt 2)) [(.var 1)])), (.arm .none [] (.cond (.call 12 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 1) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]) [(.arm .some [2] (.build .some (.option (.adt 2)) [(.var 2)])), (.arm .none [] (.«match» (.option (.adt 2)) (.cond (.call 13 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 2) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [3] (.build .some (.option (.adt 2)) [(.var 3)])), (.arm .none [] (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 3) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]))]) [(.arm .some [4] (.build .some (.option (.adt 2)) [(.var 4)])), (.arm .none [] (.«match» (.option (.adt 2)) (.«match» (.option (.adt 2)) (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 4) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [5] (.build .some (.option (.adt 2)) [(.var 5)])), (.arm .none [] (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 5) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]) [(.arm .some [6] (.build .some (.option (.adt 2)) [(.var 6)])), (.arm .none [] (.«match» (.option (.adt 2)) (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 6) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])) [(.arm .some [7] (.build .some (.option (.adt 2)) [(.var 7)])), (.arm .none [] (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 2)) [(.build (.adt 7) (.adt 2) [])]) (.build .none (.option (.adt 2)) [])))]))]))]) }) ::( + { parameters := [0, 1], types := [(.adt 1), (.adt 2)], result := (.option (.adt 1)), + body := (.«match» (.option (.adt 1)) (.var 1) [(.arm (.adt 0) [] (.call 19 [(.var 0)])), (.arm (.adt 1) [] (.call 20 [(.var 0)])), (.arm (.adt 2) [] (.call 21 [(.var 0)])), (.arm (.adt 3) [] (.call 22 [(.var 0)])), (.arm (.adt 4) [] (.call 23 [(.var 0)])), (.arm (.adt 5) [] (.call 24 [(.var 0)])), (.arm (.adt 6) [] (.call 25 [(.var 0)])), (.arm (.adt 7) [] (.call 26 [(.var 0)]))]) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 1), (.value .nat (.nat 0))]) (.call 27 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 2), (.value .nat (.nat 0))]) (.call 28 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 3), (.value .nat (.nat 0))]) (.call 29 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 4), (.value .nat (.nat 0))]) (.call 30 [(.field (.var 0) 0)]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 0))]) (.prim .natLe [(.value .nat (.nat 2)), (.prim .natAdd [(.prim .natAdd [(.prim .natAdd [(.field (.var 0) 1), (.field (.var 0) 2)]), (.field (.var 0) 3)]), (.field (.var 0) 4)])]) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.field (.var 0) 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 0))]) (.cond (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.call 31 [(.field (.var 0) 0)]) (.build .false .bool [])) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := .bool, + body := (.cond (.prim .natLt [(.field (.var 0) 8), (.value .nat (.nat 3))]) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 0))]) (.prim .natEq [(.field (.var 0) 5), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 1))]) (.prim .natEq [(.field (.var 0) 6), (.value .nat (.nat 1))]) (.build .false .bool [])) (.build .true .bool []) (.cond (.prim .natEq [(.field (.var 0) 8), (.value .nat (.nat 2))]) (.prim .natEq [(.field (.var 0) 7), (.value .nat (.nat 1))]) (.build .false .bool [])))) (.build .false .bool [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 11 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 32 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 12 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 33 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 13 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 34 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 14 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 35 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 15 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 36 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 16 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 37 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 17 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 38 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.option (.adt 1)), + body := (.cond (.call 18 [(.var 0)]) (.build .some (.option (.adt 1)) [(.call 39 [(.var 0)])]) (.build .none (.option (.adt 1)) [])) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 380)), (.field (.var 0) 0)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 90)), (.field (.var 0) 1)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 20)), (.field (.var 0) 2)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 12)), (.field (.var 0) 3)]) }) ::( + { parameters := [0], types := [(.adt 0)], result := .bool, + body := (.prim .natLt [(.field (.var 0) 4), (.value .nat (.nat 90))]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.value .nat (.nat 1)), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.value .nat (.nat 1)), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.value .nat (.nat 1)), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.value .nat (.nat 1)), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.value .nat (.nat 1)), (.field (.var 0) 6), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.value .nat (.nat 1)), (.field (.var 0) 7), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.value .nat (.nat 1)), (.field (.var 0) 8)]) }) ::( + { parameters := [0], types := [(.adt 1)], result := (.adt 1), + body := (.build (.adt 0) (.adt 1) [(.field (.var 0) 0), (.field (.var 0) 1), (.field (.var 0) 2), (.field (.var 0) 3), (.field (.var 0) 4), (.field (.var 0) 5), (.field (.var 0) 6), (.field (.var 0) 7), (.prim .natAdd [(.field (.var 0) 8), (.value .nat (.nat 1))])]) }) ::[]) } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .core, items := ((.enum (.adt 0) [{ number := 0, fields := [.nat, .nat, .nat, .nat, .nat, .nat] }]) :: + (.enum (.adt 1) [{ number := 0, fields := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat] }]) :: + (.enum (.adt 2) [{ number := 0, fields := [] }, { number := 1, fields := [] }, { number := 2, fields := [] }, { number := 3, fields := [] }, { number := 4, fields := [] }, { number := 5, fields := [] }, { number := 6, fields := [] }, { number := 7, fields := [] }]) :: + (.enum (.fn 0) [{ number := 5, fields := [] }]) :: + (.apply 0 [(.adt 1)] (.option (.adt 1)) true [{ function := 5, captures := [], functionFallible := true }]) :: + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := .nat }, { pattern := (.bind (.generated .binding 3)), type := .nat }, { pattern := (.bind (.generated .binding 4)), type := .nat }, { pattern := (.bind (.generated .binding 5)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1)), (.copy (.generated .binding 2)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4)), (.copy (.generated .binding 5))])] true))] (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 6))) (.mk [] (.succeed (.copy (.generated .binding 6))))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 9)))))]))) :: + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.result .nat (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 1)) (some (.pair (.adt 1) .bool)) (.call (.function 2) [(.clone (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 3)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.move (.generated .binding 1)))] (.move (.generated .part 2)))))] (.cond (.move (.generated .holder 3)) (.mk [] (.succeed (.call (.function 3) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 4))))] false))) (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))))) :: + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.fallible (.pair (.adt 1) .bool)) (.mk [] (.call (.function 4) [(.construct (.closure 0 5) []), (.lit (.nat 11)), (.call (.function 6) [(.move (.generated .binding 0))] false)] false))) :: + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 1) }] (.result .nat (.pair .bool .bool)) (.mk [(.mk (.bind (.generated .holder 5)) none (.call (.function 7) [(.move (.generated .binding 0)), (.clone (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 5)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 6)) none (.call (.function 8) [(.move (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 6)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])))]))) :: + (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := (.adt 1) }] (.fallible (.pair (.adt 1) .bool)) (.mk [(.mk (.bind (.generated .holder 7)) none (.copy (.generated .binding 1)))] (.cond (.isZero (.generated .holder 7)) (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 7))), (.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 8) [(.clone (.generated .binding 2))] true))))] (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))]))))) :: + (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.option (.adt 1))) (.mk [(.mk (.bind (.generated .holder 10)) none (.call (.function 9) [(.clone (.generated .binding 0))] true))] (.matchOn (.move (.generated .holder 10)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.call (.function 10) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false)))]))) :: + (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.move (.generated .binding 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0))]))) :: + (.function (.generated .function 7) [{ pattern := .wild, type := (.adt 0) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 1) }] (.option .nat) (.mk [] (.call (.function 8) [(.move (.generated .binding 1))] false))) :: + (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option .nat) (.mk [] (.construct .some [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 11))]) (.mk [] (.move (.generated .part 11))))])]))) :: + (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.option (.adt 2))) (.mk [(.mk (.bind (.generated .holder 15)) none (.block (.mk [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .holder 12)) none (.cond (.call (.function 11) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 0) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 12)) [(.mk .none (.mk [] (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))]))))] (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 14)) none (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 2) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 14)) [(.mk .none (.mk [] (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct .some [(.move (.generated .binding 2))])))]))))] (.matchOn (.move (.generated .holder 15)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 17)) none (.block (.mk [(.mk (.bind (.generated .holder 16)) none (.cond (.call (.function 15) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 2 4) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 16)) [(.mk .none (.mk [] (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))]))))] (.matchOn (.move (.generated .holder 17)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 18)) none (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 6) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 18)) [(.mk .none (.mk [] (.cond (.call (.function 18) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))]))), (.mk (.some (.bind (.generated .binding 6))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 6))]))))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 4))]))))]))) :: + (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 2) }] (.fallible (.option (.adt 1))) (.mk [(.mk (.bind (.generated .holder 19)) none (.move (.generated .binding 1)))] (.matchOn (.move (.generated .holder 19)) [(.mk (.adt 2 0 []) (.mk [] (.succeed (.call (.function 19) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 1 []) (.mk [] (.succeed (.call (.function 20) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 2 []) (.mk [] (.succeed (.call (.function 21) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 3 []) (.mk [] (.succeed (.call (.function 22) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 4 []) (.mk [] (.call (.function 23) [(.move (.generated .binding 0))] false))), (.mk (.adt 2 5 []) (.mk [] (.succeed (.call (.function 24) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 6 []) (.mk [] (.succeed (.call (.function 25) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 7 []) (.mk [] (.call (.function 26) [(.move (.generated .binding 0))] false)))]))) :: + (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 21)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 20)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 20))))])), (.mk (.bind (.generated .operand 22)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false) (.mk [] (.call (.function 27) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 23)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 23))))])] false)) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 25)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 24)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 24))))])), (.mk (.bind (.generated .operand 26)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false) (.mk [] (.call (.function 28) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 27)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 27))))])] false)) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 13) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 29)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 28)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 28))))])), (.mk (.bind (.generated .operand 30)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 29)), (.move (.generated .operand 30))] false) (.mk [] (.call (.function 29) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 31)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 31))))])] false)) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 14) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 33)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 32)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 32))))])), (.mk (.bind (.generated .operand 34)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 33)), (.move (.generated .operand 34))] false) (.mk [] (.call (.function 30) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 35)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 35))))])] false)) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 15) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible .bool) (.mk [(.mk (.bind (.generated .operand 37)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 36)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])), (.mk (.bind (.generated .operand 38)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 37)), (.move (.generated .operand 38))] false) (.mk [(.mk (.bind (.generated .operand 49)) none (.lit (.nat 2))), (.mk (.bind (.generated .operand 50)) none (.block (.mk [(.mk (.bind (.generated .operand 47)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.bind (.generated .operand 41)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 39)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 39))))])), (.mk (.bind (.generated .operand 42)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 40)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 40))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 41)), (.move (.generated .operand 42))] true)))), (.mk (.bind (.generated .operand 45)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 43)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 43))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] true)))), (.mk (.bind (.generated .operand 48)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 46)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 46))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 47)), (.move (.generated .operand 48))] true))))] (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 49)), (.move (.generated .operand 50))] false))) (.mk [] (.succeed (.lit (.bool false))))))) :: + (.function (.generated .function 16) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 52)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 51)), .wild, .wild]) (.mk [] (.move (.generated .part 51))))])), (.mk (.bind (.generated .operand 53)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false) (.mk [(.mk (.bind (.generated .operand 55)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 54)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 54))))])), (.mk (.bind (.generated .operand 56)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 55)), (.move (.generated .operand 56))] false) (.mk [(.mk (.bind (.generated .operand 60)) none (.block (.mk [(.mk (.bind (.generated .holder 59)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 58)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))]))] (.matchOn (.move (.generated .holder 59)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 57))]) (.mk [] (.move (.generated .part 57))))])))), (.mk (.bind (.generated .operand 61)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 17) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 63)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 62)), .wild]) (.mk [] (.move (.generated .part 62))))])), (.mk (.bind (.generated .operand 64)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 63)), (.move (.generated .operand 64))] false) (.mk [(.mk (.bind (.generated .operand 66)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 65)), .wild, .wild]) (.mk [] (.move (.generated .part 65))))])), (.mk (.bind (.generated .operand 67)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 66)), (.move (.generated .operand 67))] false) (.mk [] (.call (.function 31) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 68)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 68))))])] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 18) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] .bool (.mk [(.mk (.bind (.generated .operand 70)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 69))]) (.mk [] (.move (.generated .part 69))))])), (.mk (.bind (.generated .operand 71)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 70)), (.move (.generated .operand 71))] false) (.mk [(.mk (.bind (.generated .operand 73)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 72))]) (.mk [] (.move (.generated .part 72))))])), (.mk (.bind (.generated .operand 74)) none (.lit (.nat 0)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] false) (.mk [(.mk (.bind (.generated .operand 76)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 75)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 75))))])), (.mk (.bind (.generated .operand 77)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 76)), (.move (.generated .operand 77))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 79)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 78))]) (.mk [] (.move (.generated .part 78))))])), (.mk (.bind (.generated .operand 80)) none (.lit (.nat 1)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 79)), (.move (.generated .operand 80))] false) (.mk [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81)), .wild, .wild]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84))]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false) (.mk [(.mk (.bind (.generated .operand 88)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87)), .wild]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false)) (.mk [] (.lit (.bool false))))))))) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 19) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 11) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 32) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: + (.function (.generated .function 20) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 33) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: + (.function (.generated .function 21) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 34) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: + (.function (.generated .function 22) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 35) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: + (.function (.generated .function 23) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.option (.adt 1))) (.mk [] (.cond (.call (.function 15) [(.clone (.generated .binding 0))] true) (.mk [] (.succeed (.construct .some [(.call (.function 36) [(.move (.generated .binding 0))] false)]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))))) :: + (.function (.generated .function 24) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 37) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: + (.function (.generated .function 25) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.option (.adt 1)) (.mk [] (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 38) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))))) :: + (.function (.generated .function 26) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.option (.adt 1))) (.mk [] (.cond (.call (.function 18) [(.clone (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.call (.function 39) [(.move (.generated .binding 0))] true)]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))))) :: + (.function (.generated .function 27) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 91)) none (.lit (.nat 380))), (.mk (.bind (.generated .operand 92)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 90)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 90))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] false))) :: + (.function (.generated .function 28) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 94)) none (.lit (.nat 90))), (.mk (.bind (.generated .operand 95)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 93)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 93))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] false))) :: + (.function (.generated .function 29) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 97)) none (.lit (.nat 20))), (.mk (.bind (.generated .operand 98)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 96)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 96))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 97)), (.move (.generated .operand 98))] false))) :: + (.function (.generated .function 30) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 100)) none (.lit (.nat 12))), (.mk (.bind (.generated .operand 101)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, (.bind (.generated .part 99)), .wild, .wild]) (.mk [] (.move (.generated .part 99))))]))] (.call (.runtime .natLt) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false))) :: + (.function (.generated .function 31) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 0) }] .bool (.mk [(.mk (.bind (.generated .operand 103)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 102)), .wild]) (.mk [] (.move (.generated .part 102))))])), (.mk (.bind (.generated .operand 104)) none (.lit (.nat 90)))] (.call (.runtime .natLt) [(.move (.generated .operand 103)), (.move (.generated .operand 104))] false))) :: + (.function (.generated .function 32) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 105)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 105))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 106)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 106))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 107)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 107))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 108)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 108))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 109)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 109))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 110)), .wild, .wild]) (.mk [] (.move (.generated .part 110))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 111)), .wild]) (.mk [] (.move (.generated .part 111))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 112))]) (.mk [] (.move (.generated .part 112))))])]))) :: + (.function (.generated .function 33) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 113)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 113))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 114)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 114))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 115)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 115))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 116)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 116))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 117)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 117))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 118)), .wild, .wild]) (.mk [] (.move (.generated .part 118))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 119)), .wild]) (.mk [] (.move (.generated .part 119))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 120))]) (.mk [] (.move (.generated .part 120))))])]))) :: + (.function (.generated .function 34) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 121)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 121))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 122)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 122))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 123)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 123))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 124)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 124))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 125)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 125))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 126)), .wild, .wild]) (.mk [] (.move (.generated .part 126))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 127)), .wild]) (.mk [] (.move (.generated .part 127))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 128))]) (.mk [] (.move (.generated .part 128))))])]))) :: + (.function (.generated .function 35) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 129)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 129))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 130)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 130))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 131)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 131))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 132)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 132))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 133)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 133))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 134)), .wild, .wild]) (.mk [] (.move (.generated .part 134))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 135)), .wild]) (.mk [] (.move (.generated .part 135))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 136))]) (.mk [] (.move (.generated .part 136))))])]))) :: + (.function (.generated .function 36) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 137)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 137))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 138)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 138))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 139)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 139))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 140)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 140))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 141)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 141))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 142)), .wild, .wild]) (.mk [] (.move (.generated .part 142))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 143)), .wild]) (.mk [] (.move (.generated .part 143))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 144))]) (.mk [] (.move (.generated .part 144))))])]))) :: + (.function (.generated .function 37) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 145)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 145))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 146)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 146))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 147)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 147))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 148)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 148))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 149)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 149))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 150)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 150))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 151)), .wild]) (.mk [] (.move (.generated .part 151))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 152))]) (.mk [] (.move (.generated .part 152))))])]))) :: + (.function (.generated .function 38) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.adt 1) (.mk [] (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 153)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 153))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 154)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 154))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 155)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 155))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 156)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 156))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 157)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 157))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 158)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 158))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 159)), .wild, .wild]) (.mk [] (.move (.generated .part 159))))]), (.lit (.nat 1)), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 160))]) (.mk [] (.move (.generated .part 160))))])]))) :: + (.function (.generated .function 39) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 1) }] (.fallible (.adt 1)) (.mk [] (.succeed (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 161)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 161))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 162)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 162))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 163)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 163))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 164)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 164))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 165)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 165))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 166)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 166))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 167)), .wild, .wild]) (.mk [] (.move (.generated .part 167))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 168)), .wild]) (.mk [] (.move (.generated .part 168))))]), (.block (.mk [(.mk (.bind (.generated .operand 170)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 169))]) (.mk [] (.move (.generated .part 169))))])), (.mk (.bind (.generated .operand 171)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 170)), (.move (.generated .operand 171))] true)))])))) :: + []) } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [(([(.adt 1)], (.option (.adt 1))), true)] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.construct (.adt 0 0) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1)), (.copy (.generated .binding 2)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4)), (.copy (.generated .binding 5))])] true))], (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 6))) (.mk [] (.succeed (.copy (.generated .binding 6))))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 9)))))]), [(5, .nat, (some 5)), (4, .nat, (some 4)), (3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.matchArms (st := (.result .nat (.pair .bool .bool))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))))))) rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(6, .nat, (some 6)), (5, .nat, (some 5)), (4, .nat, (some 4)), (3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.copy (.generated .binding 6)))) (Corr.mCons (Γ' := [(7, (.pair .bool .bool), none), (5, .nat, (some 5)), (4, .nat, (some 4)), (3, .nat, (some 3)), (2, .nat, (some 2)), (1, .nat, (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 9)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.pair (.adt 1) .bool)) (.call (.function 2) [(.clone (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 3)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.move (.generated .binding 1)))] (.move (.generated .part 2)))))], (.cond (.move (.generated .holder 3)) (.mk [] (.succeed (.call (.function 3) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 4))))] false))) (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.matchBool (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 2))) (Corr.second (ta := (.adt 1)) (tb := .bool) (Corr.var rfl rfl) rfl)) rfl rfl (Corr.kIf (la := []) (ta := (.succeed (.call (.function 3) [(.move (.generated .binding 0)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 4))))] false))) (lb := []) (tb := (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))) (Corr.fOfB (Corr.callOps (ts := [(.adt 0), (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 4))) (Corr.first (ta := (.adt 1)) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))))⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 4) [(.construct (.closure 0 5) []), (.lit (.nat 11)), (.call (.function 6) [(.move (.generated .binding 0))] false)] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.callF (ts := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := true) (ff := true) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 5)) none (.call (.function 7) [(.move (.generated .binding 0)), (.clone (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 5)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 6)) none (.call (.function 8) [(.move (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 6)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])))]), [(1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 0), (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 6)) none (.call (.function 8) [(.move (.generated .binding 1))] false))]) (tail := (.matchOn (.move (.generated .holder 6)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))])) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])) (Corr.mCons (Γ' := [(3, .nat, none), (1, (.adt 1), (some 1)), (0, (.adt 0), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) rfl rfl rfl)) rfl rfl rfl)⟩⟩ + +theorem fun4 : FunOK program krate flags 4 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 7)) none (.copy (.generated .binding 1)))], (.cond (.isZero (.generated .holder 7)) (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 7))), (.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 8) [(.clone (.generated .binding 2))] true))))] (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))]))), [(2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))], rfl, rfl, + (Corr.matchNat (sl := (some 3)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (lb := [(.mk (.bind (.generated .holder 9)) none (.block (.mk [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 8) [(.clone (.generated .binding 2))] true))))]) (tb := (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))])) (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))))) (Corr.matchArms (st := (.option (.adt 1))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 8)) (some (.fn 0)) (.clone (.generated .binding 0)))]) (tail := (.apply (.generated .callee 8) [(.clone (.generated .binding 2))] true)) (Corr.apply (ps := [(.adt 1)]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, .nat, (some 3)), (2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true))))) (Corr.mCons (Γ' := [(4, (.adt 1), (some 4)), (3, .nat, (some 3)), (2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))))))) rfl rfl rfl)))⟩⟩ + +theorem fun5 : FunOK program krate flags 5 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 10)) none (.call (.function 9) [(.clone (.generated .binding 0))] true))], (.matchOn (.move (.generated .holder 10)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.call (.function 10) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false)))]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.none (.adt 1)) []))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 10) [(.move (.generated .binding 0)), (.move (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.adt 1), (.adt 2)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) rfl rfl rfl)⟩⟩ + +theorem fun6 : FunOK program krate flags 6 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.move (.generated .binding 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0))]), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun7 : FunOK program krate flags 7 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 8) [(.move (.generated .binding 1))] false), [(1, (.adt 1), (some 1)), (0, (.adt 0), none)], rfl, rfl, + (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun8 : FunOK program krate flags 8 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct .some [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 11))]) (.mk [] (.move (.generated .part 11))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 11))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)⟩⟩ + +theorem fun9 : FunOK program krate flags 9 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 15)) none (.block (.mk [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .holder 12)) none (.cond (.call (.function 11) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 0) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 12)) [(.mk .none (.mk [] (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))]))))] (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 14)) none (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 2) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 14)) [(.mk .none (.mk [] (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct .some [(.move (.generated .binding 2))])))]))))], (.matchOn (.move (.generated .holder 15)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 17)) none (.block (.mk [(.mk (.bind (.generated .holder 16)) none (.cond (.call (.function 15) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 2 4) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 16)) [(.mk .none (.mk [] (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))]))))] (.matchOn (.move (.generated .holder 17)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 18)) none (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 6) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 18)) [(.mk .none (.mk [] (.cond (.call (.function 18) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))]))), (.mk (.some (.bind (.generated .binding 6))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 6))]))))]))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 4))]))))]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 13)) none (.block (.mk [(.mk (.bind (.generated .holder 12)) none (.cond (.call (.function 11) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 0) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 12)) [(.mk .none (.mk [] (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))]))))]) (tail := (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 14)) none (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 2) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 14)) [(.mk .none (.mk [] (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct .some [(.move (.generated .binding 2))])))])) (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 12)) none (.cond (.call (.function 11) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 0) [])])) (.mk [] (.construct (.none (.adt 2)) []))))]) (tail := (.matchOn (.move (.generated .holder 12)) [(.mk .none (.mk [] (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))])) (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 11) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 0) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 1) [])])) (.mk [] (.construct (.none (.adt 2)) [])))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 1))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 12) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 1) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 14)) none (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 2) [])])) (.mk [] (.construct (.none (.adt 2)) []))))]) (tail := (.matchOn (.move (.generated .holder 14)) [(.mk .none (.mk [] (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))])) (Corr.mCons (Γ' := [(2, (.adt 2), (some 2)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 2))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 13) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 2) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 3) [])])) (.mk [] (.construct (.none (.adt 2)) [])))) (Corr.mCons (Γ' := [(3, (.adt 2), (some 3)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 3))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 14) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 3) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl)) rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 17)) none (.block (.mk [(.mk (.bind (.generated .holder 16)) none (.cond (.call (.function 15) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 2 4) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 16)) [(.mk .none (.mk [] (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))]))))]) (tail := (.matchOn (.move (.generated .holder 17)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 18)) none (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 6) [])])) (.mk [] (.construct (.none (.adt 2)) []))))] (.matchOn (.move (.generated .holder 18)) [(.mk .none (.mk [] (.cond (.call (.function 18) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))]))), (.mk (.some (.bind (.generated .binding 6))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 6))]))))])) (Corr.mCons (Γ' := [(4, (.adt 2), (some 4)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.move (.generated .binding 4))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 16)) none (.cond (.call (.function 15) [(.clone (.generated .binding 0))] true) (.mk [] (.construct .some [(.construct (.adt 2 4) [])])) (.mk [] (.construct (.none (.adt 2)) []))))]) (tail := (.matchOn (.move (.generated .holder 16)) [(.mk .none (.mk [] (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) []))))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.construct .some [(.move (.generated .binding 5))])))])) (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 15) [(.clone (.generated .binding 0))] true)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 4) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 5) [])])) (.mk [] (.construct (.none (.adt 2)) [])))) (Corr.mCons (Γ' := [(5, (.adt 2), (some 5)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 5))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 16) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 5) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 18)) none (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 2 6) [])])) (.mk [] (.construct (.none (.adt 2)) []))))]) (tail := (.matchOn (.move (.generated .holder 18)) [(.mk .none (.mk [] (.cond (.call (.function 18) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) [])))))), (.mk (.some (.bind (.generated .binding 7))) (.mk [] (.succeed (.construct .some [(.move (.generated .binding 7))]))))])) (Corr.mCons (Γ' := [(6, (.adt 2), (some 6)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.move (.generated .binding 6))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.matchArms (st := (.option (.adt 2))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 17) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 2 6) [])])) (lb := []) (tb := (.construct (.none (.adt 2)) [])) (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 18) [(.move (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (.mk [] (.succeed (.construct (.none (.adt 2)) []))))) (Corr.mCons (Γ' := [(7, (.adt 2), (some 7)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.move (.generated .binding 7))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 18) [(.move (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.construct (.adt 2 7) [])]))) (lb := []) (tb := (.succeed (.construct (.none (.adt 2)) []))) (Corr.fOfB (Corr.build (ts := [(.adt 2)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))) rfl rfl rfl)) rfl rfl rfl)) rfl rfl rfl)⟩⟩ + +theorem fun10 : FunOK program krate flags 10 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 19)) none (.move (.generated .binding 1)))], (.matchOn (.move (.generated .holder 19)) [(.mk (.adt 2 0 []) (.mk [] (.succeed (.call (.function 19) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 1 []) (.mk [] (.succeed (.call (.function 20) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 2 []) (.mk [] (.succeed (.call (.function 21) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 3 []) (.mk [] (.succeed (.call (.function 22) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 4 []) (.mk [] (.call (.function 23) [(.move (.generated .binding 0))] false))), (.mk (.adt 2 5 []) (.mk [] (.succeed (.call (.function 24) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 6 []) (.mk [] (.succeed (.call (.function 25) [(.move (.generated .binding 0))] false)))), (.mk (.adt 2 7 []) (.mk [] (.call (.function 26) [(.move (.generated .binding 0))] false)))]), [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.adt 2)) (U := []) (view := false) (idx := [0, 1, 2, 3, 4, 5, 6, 7]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.call (.function 19) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.call (.function 20) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 2) (loads := []) (lets := []) (tail := (.succeed (.call (.function 21) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 3) (loads := []) (lets := []) (tail := (.succeed (.call (.function 22) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 4) (loads := []) (lets := []) (tail := (.call (.function 23) [(.move (.generated .binding 0))] false)) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 5) (loads := []) (lets := []) (tail := (.succeed (.call (.function 24) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 6) (loads := []) (lets := []) (tail := (.succeed (.call (.function 25) [(.move (.generated .binding 0))] false))) (Corr.mCons (Γ' := [(1, (.adt 2), (some 1)), (0, (.adt 1), (some 0))]) (j := 7) (loads := []) (lets := []) (tail := (.call (.function 26) [(.move (.generated .binding 0))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.callF (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl (Corr.fOfB (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun11 : FunOK program krate flags 11 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 21)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 20)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 20))))])), (.mk (.bind (.generated .operand 22)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false) (.mk [] (.call (.function 27) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 23)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 23))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 21)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 20)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 20))))])), (.mk (.bind (.generated .operand 22)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 21)), (.move (.generated .operand 22))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 20))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 27) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 23)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 23))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 23))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun12 : FunOK program krate flags 12 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 25)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 24)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 24))))])), (.mk (.bind (.generated .operand 26)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false) (.mk [] (.call (.function 28) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 27)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 27))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 25)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 24)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 24))))])), (.mk (.bind (.generated .operand 26)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 24))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 28) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 27)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 27))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 27))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun13 : FunOK program krate flags 13 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 29)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 28)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 28))))])), (.mk (.bind (.generated .operand 30)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 29)), (.move (.generated .operand 30))] false) (.mk [] (.call (.function 29) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 31)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 31))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 29)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 28)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 28))))])), (.mk (.bind (.generated .operand 30)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 29)), (.move (.generated .operand 30))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 28))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 29) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 31)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 31))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 31))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun14 : FunOK program krate flags 14 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 33)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 32)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 32))))])), (.mk (.bind (.generated .operand 34)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 33)), (.move (.generated .operand 34))] false) (.mk [] (.call (.function 30) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 35)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 35))))])] false)) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 33)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 32)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 32))))])), (.mk (.bind (.generated .operand 34)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 33)), (.move (.generated .operand 34))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 32))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 30) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 35)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 35))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 35))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun15 : FunOK program krate flags 15 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 37)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 36)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])), (.mk (.bind (.generated .operand 38)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 37)), (.move (.generated .operand 38))] false) (.mk [(.mk (.bind (.generated .operand 49)) none (.lit (.nat 2))), (.mk (.bind (.generated .operand 50)) none (.block (.mk [(.mk (.bind (.generated .operand 47)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.bind (.generated .operand 41)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 39)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 39))))])), (.mk (.bind (.generated .operand 42)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 40)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 40))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 41)), (.move (.generated .operand 42))] true)))), (.mk (.bind (.generated .operand 45)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 43)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 43))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] true)))), (.mk (.bind (.generated .operand 48)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 46)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 46))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 47)), (.move (.generated .operand 48))] true))))] (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 49)), (.move (.generated .operand 50))] false))) (.mk [] (.succeed (.lit (.bool false))))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 37)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 36)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 36))))])), (.mk (.bind (.generated .operand 38)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 37)), (.move (.generated .operand 38))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 36))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 49)) none (.lit (.nat 2))), (.mk (.bind (.generated .operand 50)) none (.block (.mk [(.mk (.bind (.generated .operand 47)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.bind (.generated .operand 41)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 39)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 39))))])), (.mk (.bind (.generated .operand 42)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 40)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 40))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 41)), (.move (.generated .operand 42))] true)))), (.mk (.bind (.generated .operand 45)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 43)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 43))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] true)))), (.mk (.bind (.generated .operand 48)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 46)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 46))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 47)), (.move (.generated .operand 48))] true))))]) (ta := (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 49)), (.move (.generated .operand 50))] false))) (lb := []) (tb := (.succeed (.lit (.bool false)))) (Corr.fOfB (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 47)) none (.block (.mk [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.bind (.generated .operand 41)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 39)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 39))))])), (.mk (.bind (.generated .operand 42)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 40)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 40))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 41)), (.move (.generated .operand 42))] true)))), (.mk (.bind (.generated .operand 45)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 43)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 43))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] true)))), (.mk (.bind (.generated .operand 48)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 46)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 46))))]))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 47)), (.move (.generated .operand 48))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 44)) none (.block (.mk [(.mk (.bind (.generated .operand 41)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 39)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 39))))])), (.mk (.bind (.generated .operand 42)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 40)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 40))))]))] (.call (.runtime .natAdd) [(.move (.generated .operand 41)), (.move (.generated .operand 42))] true)))), (.mk (.bind (.generated .operand 45)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 43)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 43))))]))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 44)), (.move (.generated .operand 45))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 41)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 39)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 39))))])), (.mk (.bind (.generated .operand 42)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 40)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 40))))]))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 41)), (.move (.generated .operand 42))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 39))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 40))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 43))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 46))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.fOfB (Corr.bOfE (Corr.buildConst rfl)))))⟩⟩ + +theorem fun16 : FunOK program krate flags 16 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 52)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 51)), .wild, .wild]) (.mk [] (.move (.generated .part 51))))])), (.mk (.bind (.generated .operand 53)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false) (.mk [(.mk (.bind (.generated .operand 55)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 54)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 54))))])), (.mk (.bind (.generated .operand 56)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 55)), (.move (.generated .operand 56))] false) (.mk [(.mk (.bind (.generated .operand 60)) none (.block (.mk [(.mk (.bind (.generated .holder 59)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 58)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))]))] (.matchOn (.move (.generated .holder 59)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 57))]) (.mk [] (.move (.generated .part 57))))])))), (.mk (.bind (.generated .operand 61)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 52)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 51)), .wild, .wild]) (.mk [] (.move (.generated .part 51))))])), (.mk (.bind (.generated .operand 53)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 51))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 55)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 54)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 54))))])), (.mk (.bind (.generated .operand 56)) none (.lit (.nat 1)))]) (ta := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 55)), (.move (.generated .operand 56))] false) (.mk [(.mk (.bind (.generated .operand 60)) none (.block (.mk [(.mk (.bind (.generated .holder 59)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 58)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))]))] (.matchOn (.move (.generated .holder 59)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 57))]) (.mk [] (.move (.generated .part 57))))])))), (.mk (.bind (.generated .operand 61)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false)) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 55)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 54)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 54))))])), (.mk (.bind (.generated .operand 56)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 55)), (.move (.generated .operand 56))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 54))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 60)) none (.block (.mk [(.mk (.bind (.generated .holder 59)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 58)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))]))] (.matchOn (.move (.generated .holder 59)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 57))]) (.mk [] (.move (.generated .part 57))))])))), (.mk (.bind (.generated .operand 61)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 60)), (.move (.generated .operand 61))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 59)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 58)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))]))]) (tail := (.matchOn (.move (.generated .holder 59)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 57))]) (.mk [] (.move (.generated .part 57))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 57))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 58))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun17 : FunOK program krate flags 17 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 63)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 62)), .wild]) (.mk [] (.move (.generated .part 62))))])), (.mk (.bind (.generated .operand 64)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 63)), (.move (.generated .operand 64))] false) (.mk [(.mk (.bind (.generated .operand 66)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 65)), .wild, .wild]) (.mk [] (.move (.generated .part 65))))])), (.mk (.bind (.generated .operand 67)) none (.lit (.nat 1)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 66)), (.move (.generated .operand 67))] false) (.mk [] (.call (.function 31) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 68)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 68))))])] false)) (.mk [] (.lit (.bool false))))) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 63)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 62)), .wild]) (.mk [] (.move (.generated .part 62))))])), (.mk (.bind (.generated .operand 64)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 63)), (.move (.generated .operand 64))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 62))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 66)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 65)), .wild, .wild]) (.mk [] (.move (.generated .part 65))))])), (.mk (.bind (.generated .operand 67)) none (.lit (.nat 1)))]) (ta := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 66)), (.move (.generated .operand 67))] false) (.mk [] (.call (.function 31) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 68)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 68))))])] false)) (.mk [] (.lit (.bool false))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 66)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 65)), .wild, .wild]) (.mk [] (.move (.generated .part 65))))])), (.mk (.bind (.generated .operand 67)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 66)), (.move (.generated .operand 67))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 65))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.call (.function 31) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 68)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 68))))])] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.callOps (ts := [(.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 68))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun18 : FunOK program krate flags 18 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 70)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 69))]) (.mk [] (.move (.generated .part 69))))])), (.mk (.bind (.generated .operand 71)) none (.lit (.nat 3)))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 70)), (.move (.generated .operand 71))] false) (.mk [(.mk (.bind (.generated .operand 73)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 72))]) (.mk [] (.move (.generated .part 72))))])), (.mk (.bind (.generated .operand 74)) none (.lit (.nat 0)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] false) (.mk [(.mk (.bind (.generated .operand 76)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 75)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 75))))])), (.mk (.bind (.generated .operand 77)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 76)), (.move (.generated .operand 77))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 79)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 78))]) (.mk [] (.move (.generated .part 78))))])), (.mk (.bind (.generated .operand 80)) none (.lit (.nat 1)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 79)), (.move (.generated .operand 80))] false) (.mk [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81)), .wild, .wild]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84))]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false) (.mk [(.mk (.bind (.generated .operand 88)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87)), .wild]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false)) (.mk [] (.lit (.bool false))))))))) (.mk [] (.lit (.bool false)))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 70)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 69))]) (.mk [] (.move (.generated .part 69))))])), (.mk (.bind (.generated .operand 71)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 70)), (.move (.generated .operand 71))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 69))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 73)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 72))]) (.mk [] (.move (.generated .part 72))))])), (.mk (.bind (.generated .operand 74)) none (.lit (.nat 0)))]) (ta := (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] false) (.mk [(.mk (.bind (.generated .operand 76)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 75)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 75))))])), (.mk (.bind (.generated .operand 77)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 76)), (.move (.generated .operand 77))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 79)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 78))]) (.mk [] (.move (.generated .part 78))))])), (.mk (.bind (.generated .operand 80)) none (.lit (.nat 1)))] (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 79)), (.move (.generated .operand 80))] false) (.mk [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81)), .wild, .wild]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84))]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false) (.mk [(.mk (.bind (.generated .operand 88)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87)), .wild]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false)) (.mk [] (.lit (.bool false))))))))) (lb := []) (tb := (.lit (.bool false))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 73)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 72))]) (.mk [] (.move (.generated .part 72))))])), (.mk (.bind (.generated .operand 74)) none (.lit (.nat 0)))]) (ce := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] false) (.mk [(.mk (.bind (.generated .operand 76)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 75)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 75))))])), (.mk (.bind (.generated .operand 77)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 76)), (.move (.generated .operand 77))] false)) (.mk [] (.lit (.bool false))))) (lk := []) (Corr.cond (lc := [(.mk (.bind (.generated .operand 73)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 72))]) (.mk [] (.move (.generated .part 72))))])), (.mk (.bind (.generated .operand 74)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 72))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 76)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 75)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 75))))])), (.mk (.bind (.generated .operand 77)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 76)), (.move (.generated .operand 77))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 75))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 79)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 78))]) (.mk [] (.move (.generated .part 78))))])), (.mk (.bind (.generated .operand 80)) none (.lit (.nat 1)))]) (tb := (.cond (.cond (.call (.runtime .natEq) [(.move (.generated .operand 79)), (.move (.generated .operand 80))] false) (.mk [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81)), .wild, .wild]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84))]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 2)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false) (.mk [(.mk (.bind (.generated .operand 88)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87)), .wild]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false)) (.mk [] (.lit (.bool false))))))) (Corr.bOfE (Corr.buildConst rfl)) (Corr.cond (lc := [(.mk (.bind (.generated .operand 79)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 78))]) (.mk [] (.move (.generated .part 78))))])), (.mk (.bind (.generated .operand 80)) none (.lit (.nat 1)))]) (ce := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 79)), (.move (.generated .operand 80))] false) (.mk [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81)), .wild, .wild]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false)) (.mk [] (.lit (.bool false))))) (lk := []) (Corr.cond (lc := [(.mk (.bind (.generated .operand 79)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 78))]) (.mk [] (.move (.generated .part 78))))])), (.mk (.bind (.generated .operand 80)) none (.lit (.nat 1)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 79)), (.move (.generated .operand 80))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 78))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 82)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 81)), .wild, .wild]) (.mk [] (.move (.generated .part 81))))])), (.mk (.bind (.generated .operand 83)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 82)), (.move (.generated .operand 83))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 81))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84))]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 2)))]) (tb := (.cond (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false) (.mk [(.mk (.bind (.generated .operand 88)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87)), .wild]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))] (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false)) (.mk [] (.lit (.bool false))))) (Corr.bOfE (Corr.buildConst rfl)) (Corr.cond (lc := [(.mk (.bind (.generated .operand 85)) none (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 84))]) (.mk [] (.move (.generated .part 84))))])), (.mk (.bind (.generated .operand 86)) none (.lit (.nat 2)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 85)), (.move (.generated .operand 86))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 84))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 88)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 87)), .wild]) (.mk [] (.move (.generated .part 87))))])), (.mk (.bind (.generated .operand 89)) none (.lit (.nat 1)))]) (ta := (.call (.runtime .natEq) [(.move (.generated .operand 88)), (.move (.generated .operand 89))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 87))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))))))) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun19 : FunOK program krate flags 19 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 11) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 32) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 11) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 32) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun20 : FunOK program krate flags 20 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 12) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 33) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 12) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 33) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun21 : FunOK program krate flags 21 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 13) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 34) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 13) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 34) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun22 : FunOK program krate flags 22 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 14) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 35) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 14) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 35) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun23 : FunOK program krate flags 23 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 15) [(.clone (.generated .binding 0))] true) (.mk [] (.succeed (.construct .some [(.call (.function 36) [(.move (.generated .binding 0))] false)]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 15) [(.clone (.generated .binding 0))] true)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.call (.function 36) [(.move (.generated .binding 0))] false)]))) (lb := []) (tb := (.succeed (.construct (.none (.adt 1)) []))) (Corr.fOfB (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ + +theorem fun24 : FunOK program krate flags 24 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 16) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 37) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 16) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 37) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun25 : FunOK program krate flags 25 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 17) [(.clone (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 38) [(.move (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.adt 1)) []))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 17) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 38) [(.move (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.adt 1)) [])) (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun26 : FunOK program krate flags 26 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 18) [(.clone (.generated .binding 0))] false) (.mk [] (.succeed (.construct .some [(.call (.function 39) [(.move (.generated .binding 0))] true)]))) (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 18) [(.clone (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.call (.function 39) [(.move (.generated .binding 0))] true)]))) (lb := []) (tb := (.succeed (.construct (.none (.adt 1)) []))) (Corr.fOfB (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))⟩⟩ + +theorem fun27 : FunOK program krate flags 27 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 91)) none (.lit (.nat 380))), (.mk (.bind (.generated .operand 92)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [(.bind (.generated .part 90)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 90))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 91)), (.move (.generated .operand 92))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 90))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun28 : FunOK program krate flags 28 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 94)) none (.lit (.nat 90))), (.mk (.bind (.generated .operand 95)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, (.bind (.generated .part 93)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 93))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 94)), (.move (.generated .operand 95))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 93))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun29 : FunOK program krate flags 29 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 97)) none (.lit (.nat 20))), (.mk (.bind (.generated .operand 98)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, (.bind (.generated .part 96)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 96))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 97)), (.move (.generated .operand 98))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 96))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun30 : FunOK program krate flags 30 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 100)) none (.lit (.nat 12))), (.mk (.bind (.generated .operand 101)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, (.bind (.generated .part 99)), .wild, .wild]) (.mk [] (.move (.generated .part 99))))]))], (.call (.runtime .natLt) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 99))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun31 : FunOK program krate flags 31 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 103)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 0 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 102)), .wild]) (.mk [] (.move (.generated .part 102))))])), (.mk (.bind (.generated .operand 104)) none (.lit (.nat 90)))], (.call (.runtime .natLt) [(.move (.generated .operand 103)), (.move (.generated .operand 104))] false), [(0, (.adt 0), (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 102))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun32 : FunOK program krate flags 32 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 105)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 105))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 106)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 106))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 107)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 107))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 108)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 108))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 109)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 109))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 110)), .wild, .wild]) (.mk [] (.move (.generated .part 110))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 111)), .wild]) (.mk [] (.move (.generated .part 111))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 112))]) (.mk [] (.move (.generated .part 112))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 105))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 106))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 107))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 108))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 109))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 110))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 111))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 112))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun33 : FunOK program krate flags 33 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 113)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 113))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 114)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 114))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 115)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 115))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 116)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 116))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 117)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 117))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 118)), .wild, .wild]) (.mk [] (.move (.generated .part 118))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 119)), .wild]) (.mk [] (.move (.generated .part 119))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 120))]) (.mk [] (.move (.generated .part 120))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 113))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 114))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 115))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 116))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 117))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 118))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 119))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 120))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun34 : FunOK program krate flags 34 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 121)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 121))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 122)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 122))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 123)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 123))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 124)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 124))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 125)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 125))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 126)), .wild, .wild]) (.mk [] (.move (.generated .part 126))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 127)), .wild]) (.mk [] (.move (.generated .part 127))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 128))]) (.mk [] (.move (.generated .part 128))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 121))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 122))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 123))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 124))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 125))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 126))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 127))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 128))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun35 : FunOK program krate flags 35 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 129)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 129))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 130)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 130))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 131)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 131))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 132)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 132))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 133)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 133))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 134)), .wild, .wild]) (.mk [] (.move (.generated .part 134))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 135)), .wild]) (.mk [] (.move (.generated .part 135))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 136))]) (.mk [] (.move (.generated .part 136))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 129))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 130))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 131))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 132))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 133))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 134))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 135))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 136))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun36 : FunOK program krate flags 36 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 137)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 137))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 138)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 138))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 139)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 139))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 140)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 140))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 141)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 141))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 142)), .wild, .wild]) (.mk [] (.move (.generated .part 142))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 143)), .wild]) (.mk [] (.move (.generated .part 143))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 144))]) (.mk [] (.move (.generated .part 144))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 137))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 138))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 139))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 140))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 141))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 142))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 143))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 144))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun37 : FunOK program krate flags 37 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 145)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 145))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 146)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 146))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 147)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 147))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 148)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 148))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 149)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 149))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 150)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 150))))]), (.lit (.nat 1)), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 151)), .wild]) (.mk [] (.move (.generated .part 151))))]), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 152))]) (.mk [] (.move (.generated .part 152))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 145))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 146))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 147))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 148))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 149))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 150))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 151))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 152))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun38 : FunOK program krate flags 38 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 153)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 153))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 154)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 154))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 155)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 155))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 156)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 156))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 157)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 157))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 158)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 158))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 159)), .wild, .wild]) (.mk [] (.move (.generated .part 159))))]), (.lit (.nat 1)), (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 160))]) (.mk [] (.move (.generated .part 160))))])]), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 153))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 154))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 155))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 156))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 157))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 158))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 159))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 160))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl)⟩⟩ + +theorem fun39 : FunOK program krate flags 39 := + ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.construct (.adt 1 0) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [(.bind (.generated .part 161)), .wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 161))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 162)), .wild, .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 162))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 163)), .wild, .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 163))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 164)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 164))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 165)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 165))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 166)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 166))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 167)), .wild, .wild]) (.mk [] (.move (.generated .part 167))))]), (.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 168)), .wild]) (.mk [] (.move (.generated .part 168))))]), (.block (.mk [(.mk (.bind (.generated .operand 170)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 169))]) (.mk [] (.move (.generated .part 169))))])), (.mk (.bind (.generated .operand 171)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 170)), (.move (.generated .operand 171))] true)))])), [(0, (.adt 1), (some 0))], rfl, rfl, + (Corr.fOfB (Corr.build (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 161))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 162))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 163))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 164))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 165))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 166))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 167))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 168))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 170)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 1 0 [.wild, .wild, .wild, .wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 169))]) (.mk [] (.move (.generated .part 169))))])), (.mk (.bind (.generated .operand 171)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 170)), (.move (.generated .operand 171))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.adt 0), .nat, .nat, .nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 169))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))))))) rfl))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | 4 => exact fun4 + | 5 => exact fun5 + | 6 => exact fun6 + | 7 => exact fun7 + | 8 => exact fun8 + | 9 => exact fun9 + | 10 => exact fun10 + | 11 => exact fun11 + | 12 => exact fun12 + | 13 => exact fun13 + | 14 => exact fun14 + | 15 => exact fun15 + | 16 => exact fun16 + | 17 => exact fun17 + | 18 => exact fun18 + | 19 => exact fun19 + | 20 => exact fun20 + | 21 => exact fun21 + | 22 => exact fun22 + | 23 => exact fun23 + | 24 => exact fun24 + | 25 => exact fun25 + | 26 => exact fun26 + | 27 => exact fun27 + | 28 => exact fun28 + | 29 => exact fun29 + | 30 => exact fun30 + | 31 => exact fun31 + | 32 => exact fun32 + | 33 => exact fun33 + | 34 => exact fun34 + | 35 => exact fun35 + | 36 => exact fun36 + | 37 => exact fun37 + | 38 => exact fun38 + | 39 => exact fun39 + | _ + 40 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R6.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R6.lean new file mode 100644 index 000000000..e165d6bbe --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R6.lean @@ -0,0 +1,283 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Reasoning.Budget +import Reasoning.Clinic +import Reasoning.Main +import Reasoning.Planner +import Reasoning.Screening +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [{ constructors := [[.nat]] }, + { constructors := [[(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]] }, + { constructors := [[(.pair .nat .nat), (.list (.adt 0))]] }, + { constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }], functions := [ + { parameters := [0], types := [.nat], result := .nat, + body := (.«match» .nat (.call 1 [(.var 0)]) [(.arm .ok [1] (.var 1)), (.arm .error [2] (.value .nat (.nat 9)))]) }, + { parameters := [0], types := [.nat], result := (.result .nat (.pair .bool .bool)), + body := (.«match» (.result .nat (.pair .bool .bool)) (.call 2 [(.var 0)]) [(.arm .ok [1] (.build .ok (.result .nat (.pair .bool .bool)) [(.first (.var 1))])), (.arm .error [2] (.build .error (.result .nat (.pair .bool .bool)) [(.var 2)]))]) }, + { parameters := [0], types := [.nat], result := (.result (.pair .nat (.list (.adt 0))) (.pair .bool .bool)), + body := (.«let» 1 (.pair (.adt 1) .bool) (.call 3 [(.var 0)]) (.«match» (.result (.pair .nat (.list (.adt 0))) (.pair .bool .bool)) (.field (.first (.var 1)) 1) [(.arm .some [2] (.build .ok (.result (.pair .nat (.list (.adt 0))) (.pair .bool .bool)) [(.build .pair (.pair .nat (.list (.adt 0))) [(.first (.var 2)), (.field (.second (.var 2)) 1)])])), (.arm .none [] (.build .error (.result (.pair .nat (.list (.adt 0))) (.pair .bool .bool)) [(.call 4 [(.second (.var 1)), (.field (.first (.var 1)) 2)])]))])) }, + { parameters := [0], types := [.nat], result := (.pair (.adt 1) .bool), + body := (.call 5 [(.closure 6 [(.var 0)]), (.value .nat (.nat 8)), (.call 7 [(.var 0)])]) }, + { parameters := [0, 1], types := [.bool, .bool], result := (.pair .bool .bool), + body := (.cond (.cond (.var 0) (.prim .boolNot [(.var 1)]) (.build .false .bool [])) (.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])]) (.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])) }, + { parameters := [0, 1, 2], types := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)], result := (.pair (.adt 1) .bool), + body := (.«match» (.pair (.adt 1) .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair (.adt 1) .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 5 [(.var 0), (.var 3), (.var 4)]))]))]) }, + { parameters := [0, 1], types := [.nat, (.adt 1)], result := (.option (.adt 1)), + body := (.call 8 [(.var 0), (.var 1)]) }, + { parameters := [0], types := [.nat], result := (.adt 1), + body := (.«let» 1 (.list (.adt 2)) (.call 9 [(.closure 10 []), (.build .nil (.list (.adt 2)) []), (.build .cons (.list (.adt 2)) [(.build (.adt 0) (.adt 2) [(.call 11 [(.var 0)]), (.build .nil (.list (.adt 0)) [])]), (.build .nil (.list (.adt 2)) [])])]) (.build (.adt 0) (.adt 1) [(.var 1), (.build .none (.option (.pair .nat (.adt 2))) []), (.prim .natLt [(.value .nat (.nat 3)), (.value .nat (.nat 1))]), (.build (.adt 0) (.adt 3) [(.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.prim .length [(.var 1)])])])) }, + { parameters := [0, 1], types := [.nat, (.adt 1)], result := (.option (.adt 1)), + body := (.«match» (.option (.adt 1)) (.field (.var 1) 1) [(.arm .some [2] (.build .none (.option (.adt 1)) [])), (.arm .none [] (.«match» (.option (.adt 1)) (.field (.var 1) 0) [(.arm .nil [] (.build .none (.option (.adt 1)) [])), (.arm .cons [3, 4] (.«match» (.option (.adt 1)) (.call 12 [(.var 0), (.field (.var 3) 0)]) [(.arm .some [5] (.build .some (.option (.adt 1)) [(.build (.adt 0) (.adt 1) [(.var 4), (.build .some (.option (.pair .nat (.adt 2))) [(.build .pair (.pair .nat (.adt 2)) [(.var 5), (.var 3)])]), (.field (.var 1) 2), (.build (.adt 0) (.adt 3) [(.prim .natAdd [(.field (.field (.var 1) 3) 0), (.value .nat (.nat 1))]), (.field (.field (.var 1) 3) 1), (.field (.field (.var 1) 3) 2), (.field (.field (.var 1) 3) 3), (.prim .natAdd [(.field (.field (.var 1) 3) 4), (.value .nat (.nat 1))]), (.field (.field (.var 1) 3) 5)])])])), (.arm .none [] (.«let» 6 (.list (.adt 2)) (.call 13 [(.var 3)]) (.«let» 7 (.list (.adt 2)) (.var 6) (.«let» 8 (.list (.adt 2)) (.prim .append [(.var 7), (.var 4)]) (.«let» 9 (.list (.adt 2)) (.call 9 [(.closure 14 []), (.build .nil (.list (.adt 2)) []), (.var 8)]) (.build .some (.option (.adt 1)) [(.build (.adt 0) (.adt 1) [(.var 9), (.build .none (.option (.pair .nat (.adt 2))) []), (.cond (.field (.var 1) 2) (.build .true .bool []) (.prim .natLt [(.value .nat (.nat 3)), (.prim .length [(.var 8)])])), (.build (.adt 0) (.adt 3) [(.prim .natAdd [(.field (.field (.var 1) 3) 0), (.value .nat (.nat 1))]), (.prim .natAdd [(.field (.field (.var 1) 3) 1), (.call 15 [(.field (.var 3) 0)])]), (.prim .natAdd [(.field (.field (.var 1) 3) 2), (.prim .length [(.var 6)])]), (.prim .natAdd [(.field (.field (.var 1) 3) 3), (.value .nat (.nat 1))]), (.prim .natAdd [(.field (.field (.var 1) 3) 4), (.value .nat (.nat 1))]), (.cond (.prim .natLt [(.field (.field (.var 1) 3) 5), (.prim .length [(.var 9)])]) (.prim .length [(.var 9)]) (.field (.field (.var 1) 3) 5))])])]))))))]))]))]) }, + { parameters := [0, 1, 2], types := [(.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (.list (.adt 2)), (.list (.adt 2))], result := (.list (.adt 2)), + body := (.«match» (.list (.adt 2)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 9 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1], types := [(.list (.adt 2)), (.adt 2)], result := (.list (.adt 2)), + body := (.cond (.prim .natLt [(.prim .length [(.var 0)]), (.value .nat (.nat 3))]) (.prim .append [(.var 0), (.build .cons (.list (.adt 2)) [(.var 1), (.build .nil (.list (.adt 2)) [])])]) (.var 0)) }, + { parameters := [0], types := [.nat], result := (.pair .nat .nat), + body := (.build .pair (.pair .nat .nat) [(.var 0), (.value .nat (.nat 0))]) }, + { parameters := [0, 1], types := [.nat, (.pair .nat .nat)], result := (.option .nat), + body := (.«match» (.option .nat) (.call 16 [(.var 1)]) [(.arm .none [] (.build .none (.option .nat) [])), (.arm .some [2] (.cond (.call 17 [(.var 0), (.var 2)]) (.build .some (.option .nat) [(.var 2)]) (.build .none (.option .nat) [])))]) }, + { parameters := [0], types := [(.adt 2)], result := (.list (.adt 2)), + body := (.call 18 [(.var 0)]) }, + { parameters := [0, 1], types := [(.list (.adt 2)), (.adt 2)], result := (.list (.adt 2)), + body := (.cond (.prim .natLt [(.prim .length [(.var 0)]), (.value .nat (.nat 3))]) (.prim .append [(.var 0), (.build .cons (.list (.adt 2)) [(.var 1), (.build .nil (.list (.adt 2)) [])])]) (.var 0)) }, + { parameters := [0], types := [(.pair .nat .nat)], result := .nat, + body := (.prim .length [(.call 19 [(.var 0)])]) }, + { parameters := [0], types := [(.pair .nat .nat)], result := (.option .nat), + body := (.cond (.prim .natLt [(.value .nat (.nat 0)), (.second (.var 0))]) (.build .some (.option .nat) [(.second (.var 0))]) (.build .none (.option .nat) [])) }, + { parameters := [0, 1], types := [.nat, .nat], result := .bool, + body := (.prim .natLe [(.prim .natAdd [(.var 1), (.var 1)]), (.var 0)]) }, + { parameters := [0], types := [(.adt 2)], result := (.list (.adt 2)), + body := (.call 20 [(.closure 21 [(.var 0)]), (.build .nil (.list (.adt 2)) []), (.call 19 [(.field (.var 0) 0)])]) }, + { parameters := [0], types := [(.pair .nat .nat)], result := (.list .nat), + body := (.«match» (.list .nat) (.«let» 1 .nat (.first (.var 0)) (.«let» 2 (.list .nat) (.call 22 [(.var 1)]) (.cond (.call 23 [(.var 1), (.var 2)]) (.build .ok (.result (.list .nat) (.pair .bool .bool)) [(.var 2)]) (.build .error (.result (.list .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])))) [(.arm .ok [3] (.var 3)), (.arm .error [4] (.build .nil (.list .nat) []))]) }, + { parameters := [0, 1, 2], types := [(.fn [(.list (.adt 2)), .nat] (.list (.adt 2))), (.list (.adt 2)), (.list .nat)], result := (.list (.adt 2)), + body := (.«match» (.list (.adt 2)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 20 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1, 2], types := [(.adt 2), (.list (.adt 2)), .nat], result := (.list (.adt 2)), + body := (.call 24 [(.var 0), (.var 1), (.var 2)]) }, + { parameters := [0], types := [.nat], result := (.list .nat), + body := (.call 25 [(.var 0)]) }, + { parameters := [0, 1], types := [.nat, (.list .nat)], result := .bool, + body := (.prim .natLe [(.prim .length [(.var 1)]), (.value .nat (.nat 4))]) }, + { parameters := [0, 1, 2], types := [(.adt 2), (.list (.adt 2)), .nat], result := (.list (.adt 2)), + body := (.«match» (.list (.adt 2)) (.call 26 [(.field (.var 0) 0), (.build (.adt 0) (.adt 0) [(.var 2)])]) [(.arm .none [] (.var 1)), (.arm .some [3] (.prim .append [(.var 1), (.build .cons (.list (.adt 2)) [(.build (.adt 0) (.adt 2) [(.var 3), (.prim .append [(.field (.var 0) 1), (.build .cons (.list (.adt 0)) [(.build (.adt 0) (.adt 0) [(.var 2)]), (.build .nil (.list (.adt 0)) [])])])]), (.build .nil (.list (.adt 2)) [])])]))]) }, + { parameters := [0], types := [.nat], result := (.list .nat), + body := (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 10))]), (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 20))]), (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 30))]), (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 50))]), (.build .nil (.list .nat) [])])])])]) }, + { parameters := [0, 1], types := [(.pair .nat .nat), (.adt 0)], result := (.option (.pair .nat .nat)), + body := (.«match» (.option (.pair .nat .nat)) (.var 1) [(.arm (.adt 0) [2] (.call 27 [(.var 0), (.var 2)]))]) }, + { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := (.option (.pair .nat .nat)), + body := (.cond (.call 28 [(.var 0), (.var 1)]) (.build .some (.option (.pair .nat .nat)) [(.call 29 [(.var 0), (.var 1)])]) (.build .none (.option (.pair .nat .nat)) [])) }, + { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := .bool, + body := (.cond (.prim .natEq [(.second (.var 0)), (.value .nat (.nat 0))]) (.prim .natLt [(.value .nat (.nat 0)), (.var 1)]) (.build .false .bool [])) }, + { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := (.pair .nat .nat), + body := (.build .pair (.pair .nat .nat) [(.first (.var 0)), (.var 1)]) }] } + +def __enc_0 : (Reasoning.Screening.Screen.Step) -> _root_.LexLeanTarget.TargetSyntax.Value + | Reasoning.Screening.Screen.Step.Propose __x0 => _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat __x0)] + +def __enc_2 (__s : (Reasoning.Screening.Screen.Node)) : _root_.LexLeanTarget.TargetSyntax.Value := + _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (__s).state), ((_root_.LexLeanPreservation.encList __enc_0) (__s).trace)] + +def __enc_3 (__s : (Reasoning.Screening.Screen.Ledger)) : _root_.LexLeanTarget.TargetSyntax.Value := + _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).iterations), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).attempts), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).firings), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).expansions), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).verifications), (_root_.LexLeanTarget.TargetSyntax.Value.nat (__s).frontier)] + +def __enc_1 (__s : (Reasoning.Screening.Screen.Search)) : _root_.LexLeanTarget.TargetSyntax.Value := + _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [((_root_.LexLeanPreservation.encList __enc_2) (__s).frontier), ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat __enc_2)) (__s).found), (_root_.LexLeanTarget.TargetSyntax.Value.bool (__s).truncated), (__enc_3 (__s).ledger)] + +def __fits_16 (pick : (Prod Nat Nat)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.blt (0 : Nat) (pick).2) then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +theorem __rel_16 (pick : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 16 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) pick)] (_root_.LexLeanPreservation.Rel (__fits_16 pick) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Screening.Screen.extract pick))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then (Option.some ((pick).2) : (Option Nat)) else (Option.none : (Option Nat)))) (Nat.blt (0 : Nat) (pick).2) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (0 : Nat) (pick).2)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_17 (w : Nat) (r : Nat) : Bool := + ((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (r + r) 18446744073709551616)) && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_17 (w : Nat) (r : Nat) : _root_.LexLeanPreservation.FunRel __prog 17 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w), (_root_.LexLeanTarget.TargetSyntax.Value.nat r)] (_root_.LexLeanPreservation.Rel (__fits_17 w r) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Screening.safeCheck w r))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd r r)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe (r + r) w)) + +def __fits_12 (w : Nat) (_ys : (Prod Nat Nat)) : Bool := + (((Bool.true && Bool.true) && (__fits_16 (_ys))) && (match (Reasoning.Screening.Screen.extract (_ys)) with | Option.none => (Bool.true && Bool.true) | Option.some _yv => (((Bool.true && (Bool.true && Bool.true)) && (__fits_17 (w) (_yv))) && (if (Reasoning.Screening.safeCheck (w) (_yv)) then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) + +attribute [local irreducible] Reasoning.Screening.Screen.extract Reasoning.Screening.safeCheck in +theorem __rel_12 (w : Nat) (_ys : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 12 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w), ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _ys)] (_root_.LexLeanPreservation.Rel (__fits_12 w _ys) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Screening.Screen.accept w _ys))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.none => (Bool.true && Bool.true) | Option.some _yv => (((Bool.true && (Bool.true && Bool.true)) && (__fits_17 (w) (_yv))) && (if (Reasoning.Screening.safeCheck (w) (_yv)) then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.none => (Option.none : (Option Nat)) | Option.some _yv => (if (Reasoning.Screening.safeCheck (w) (_yv)) then (Option.some (_yv) : (Option Nat)) else (Option.none : (Option Nat))))) (Reasoning.Screening.Screen.extract (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_16 (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | Option.some _yv => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then (Option.some (_yv) : (Option Nat)) else (Option.none : (Option Nat)))) (Reasoning.Screening.safeCheck (w) (_yv)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_17 (w) (_yv))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) + +def __fits_25 (w : Nat) : Bool := + ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) + +theorem __rel_25 (w : Nat) : _root_.LexLeanPreservation.FunRel __prog 25 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (_root_.LexLeanPreservation.Rel (__fits_25 w) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Screening.DoseCandidates w))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub w (10 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub w (20 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub w (30 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub w (50 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) + +def __fits_22 (_yinput : Nat) : Bool := + ((Bool.true && Bool.true) && (__fits_25 (_yinput))) + +attribute [local irreducible] Reasoning.Screening.DoseCandidates in +theorem __rel_22 (_yinput : Nat) : _root_.LexLeanPreservation.FunRel __prog 22 [(_root_.LexLeanTarget.TargetSyntax.Value.nat _yinput)] (_root_.LexLeanPreservation.Rel (__fits_22 _yinput) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Screening.DoseModel _yinput))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_25 (_yinput))) + +def __fits_23 (w : Nat) (doses : (List Nat)) : Bool := + ((((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (doses) : Nat) 18446744073709551616)) && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_23 (w : Nat) (doses : (List Nat)) : _root_.LexLeanPreservation.FunRel __prog 23 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w), ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) doses)] (_root_.LexLeanPreservation.Rel (__fits_23 w doses) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Screening.shortCheck w doses))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) doses)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe (_root_.LexLeanRuntime.length (doses) : Nat) (4 : Nat))) + +def __fits_19 (s : (Prod Nat Nat)) : Bool := + ((Bool.true && (let _ychecked1_input : Nat := (s).1; (((Bool.true && Bool.true) && (__fits_22 (_ychecked1_input))) && (let _ychecked1_output : (List Nat) := (Reasoning.Screening.DoseModel (_ychecked1_input)); (((Bool.true && (Bool.true && Bool.true)) && (__fits_23 (_ychecked1_input) (_ychecked1_output))) && (if (Reasoning.Screening.shortCheck (_ychecked1_input) (_ychecked1_output)) then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))))) && (match (let _ychecked1_input : Nat := (s).1; (let _ychecked1_output : (List Nat) := (Reasoning.Screening.DoseModel (_ychecked1_input)); (if (Reasoning.Screening.shortCheck (_ychecked1_input) (_ychecked1_output)) then (Except.ok (_ychecked1_output) : (Except (Prod Bool Bool) (List Nat))) else (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (List Nat)))))) with | Except.ok proposed => Bool.true | Except.error refusal => (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Screening.DoseModel Reasoning.Screening.shortCheck in +theorem __rel_19 (s : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 19 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s)] (_root_.LexLeanPreservation.Rel (__fits_19 s) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Screening.Propose.candidates s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun (__a : (Except (Prod Bool Bool) (List Nat))) => (match __a with | Except.ok proposed => Bool.true | Except.error refusal => (Bool.true && Bool.true))) (fun (__a : (Except (Prod Bool Bool) (List Nat))) => (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Except.ok proposed => proposed | Except.error refusal => ([] : List Nat))) (let _ychecked1_input : Nat := (s).1; (let _ychecked1_output : (List Nat) := (Reasoning.Screening.DoseModel (_ychecked1_input)); (if (Reasoning.Screening.shortCheck (_ychecked1_input) (_ychecked1_output)) then (Except.ok (_ychecked1_output) : (Except (Prod Bool Bool) (List Nat))) else (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (List Nat)))))) (let _ychecked1_input : Nat := (s).1; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (let _ychecked1_output : (List Nat) := (Reasoning.Screening.DoseModel (_ychecked1_input)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_22 (_ychecked1_input))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (Except.ok (_ychecked1_output) : (Except (Prod Bool Bool) (List Nat))) else (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) (List Nat))))) (Reasoning.Screening.shortCheck (_ychecked1_input) (_ychecked1_output)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_23 (_ychecked1_input) (_ychecked1_output))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))) (fun (__a : (Except (Prod Bool Bool) (List Nat))) _ => match __a with | Except.ok proposed => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | Except.error refusal => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil))))) + +def __fits_28 (s : (Prod Nat Nat)) (d : Nat) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.beq (s).2 (0 : Nat)) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) + +theorem __rel_28 (s : (Prod Nat Nat)) (d : Nat) : _root_.LexLeanPreservation.FunRel __prog 28 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s), (_root_.LexLeanTarget.TargetSyntax.Value.nat d)] (_root_.LexLeanPreservation.Rel (__fits_28 s d) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Screening.Propose.guard s d))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.blt (0 : Nat) d))) (Nat.beq (s).2 (0 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq (s).2 (0 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (0 : Nat) d))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_29 (s : (Prod Nat Nat)) (d : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_29 (s : (Prod Nat Nat)) (d : Nat) : _root_.LexLeanPreservation.FunRel __prog 29 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s), (_root_.LexLeanTarget.TargetSyntax.Value.nat d)] (_root_.LexLeanPreservation.Rel (__fits_29 s d) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Screening.Propose.conclusion s d))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) + +def __fits_27 (s : (Prod Nat Nat)) (d : Nat) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && (__fits_28 (s) (d))) && (if (Reasoning.Screening.Propose.guard (s) (d)) then ((((Bool.true && (Bool.true && Bool.true)) && (__fits_29 (s) (d))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Screening.Propose.conclusion Reasoning.Screening.Propose.guard in +theorem __rel_27 (s : (Prod Nat Nat)) (d : Nat) : _root_.LexLeanPreservation.FunRel __prog 27 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s), (_root_.LexLeanTarget.TargetSyntax.Value.nat d)] (_root_.LexLeanPreservation.Rel (__fits_27 s d) ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Reasoning.Screening.Propose.apply s d))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && (Bool.true && Bool.true)) && (__fits_29 (s) (d))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (Option.some ((Reasoning.Screening.Propose.conclusion (s) (d))) : (Option (Prod Nat Nat))) else (Option.none : (Option (Prod Nat Nat))))) (Reasoning.Screening.Propose.guard (s) (d)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_28 (s) (d))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_29 (s) (d))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_26 (_ys : (Prod Nat Nat)) (_ystep : (Reasoning.Screening.Screen.Step)) : Bool := + (Bool.true && (match _ystep with | Reasoning.Screening.Screen.Step.Propose _yb => ((Bool.true && (Bool.true && Bool.true)) && (__fits_27 (_ys) (_yb))))) + +attribute [local irreducible] Reasoning.Screening.Propose.apply in +theorem __rel_26 (_ys : (Prod Nat Nat)) (_ystep : (Reasoning.Screening.Screen.Step)) : _root_.LexLeanPreservation.FunRel __prog 26 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _ys), (__enc_0 _ystep)] (_root_.LexLeanPreservation.Rel (__fits_26 _ys _ystep) ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Reasoning.Screening.Screen.fire _ys _ystep))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_0 (fun (__a : (Reasoning.Screening.Screen.Step)) => (match __a with | Reasoning.Screening.Screen.Step.Propose _yb => ((Bool.true && (Bool.true && Bool.true)) && (__fits_27 (_ys) (_yb))))) (fun (__a : (Reasoning.Screening.Screen.Step)) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (match __a with | Reasoning.Screening.Screen.Step.Propose _yb => (Reasoning.Screening.Propose.apply (_ys) (_yb)))) _ystep (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Reasoning.Screening.Screen.Step)) _ => match __a with | Reasoning.Screening.Screen.Step.Propose _yb => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_27 (_ys) (_yb)))))) + +def __fits_24 (_ynode : (Reasoning.Screening.Screen.Node)) (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yb : Nat) : Bool := + (((Bool.true && (((Bool.true && Bool.true) && Bool.true) && Bool.true)) && (__fits_26 ((_ynode).state) ((Reasoning.Screening.Screen.Step.Propose (_yb) : (Reasoning.Screening.Screen.Step))))) && (match (Reasoning.Screening.Screen.fire ((_ynode).state) ((Reasoning.Screening.Screen.Step.Propose (_yb) : (Reasoning.Screening.Screen.Step)))) with | Option.none => Bool.true | Option.some _yt => ((Bool.true && (((((Bool.true && (((Bool.true && (((((Bool.true && Bool.true) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) + +attribute [local irreducible] Reasoning.Screening.Screen.fire in +theorem __rel_24 (_ynode : (Reasoning.Screening.Screen.Node)) (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yb : Nat) : _root_.LexLeanPreservation.FunRel __prog 24 [(__enc_2 _ynode), ((_root_.LexLeanPreservation.encList __enc_2) _yacc), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yb)] (_root_.LexLeanPreservation.Rel (__fits_24 _ynode _yacc _yb) ((_root_.LexLeanPreservation.encList __enc_2) (Reasoning.Screening.Screen.Propose.collect _ynode _yacc _yb))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun (__a : (Option (Prod Nat Nat))) => (match __a with | Option.none => Bool.true | Option.some _yt => ((Bool.true && (((((Bool.true && (((Bool.true && (((((Bool.true && Bool.true) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true))) (fun (__a : (Option (Prod Nat Nat))) => (_root_.LexLeanPreservation.encList __enc_2) (match __a with | Option.none => _yacc | Option.some _yt => (_root_.LexLeanRuntime.append (_yacc) ((({ state := _yt, trace := (_root_.LexLeanRuntime.append ((_ynode).trace) (((Reasoning.Screening.Screen.Step.Propose (_yb) : (Reasoning.Screening.Screen.Step)) :: ([] : List (Reasoning.Screening.Screen.Step)))) : (List (Reasoning.Screening.Screen.Step))) } : (Reasoning.Screening.Screen.Node)) :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))))) (Reasoning.Screening.Screen.fire ((_ynode).state) ((Reasoning.Screening.Screen.Step.Propose (_yb) : (Reasoning.Screening.Screen.Step)))) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil)) (__rel_26 ((_ynode).state) ((Reasoning.Screening.Screen.Step.Propose (_yb) : (Reasoning.Screening.Screen.Step))))) (fun (__a : (Option (Prod Nat Nat))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | Option.some _yt => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_0) (_ynode).trace ((Reasoning.Screening.Screen.Step.Propose (_yb) : (Reasoning.Screening.Screen.Step)) :: ([] : List (Reasoning.Screening.Screen.Step))))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_2) _yacc (({ state := _yt, trace := (_root_.LexLeanRuntime.append ((_ynode).trace) (((Reasoning.Screening.Screen.Step.Propose (_yb) : (Reasoning.Screening.Screen.Step)) :: ([] : List (Reasoning.Screening.Screen.Step)))) : (List (Reasoning.Screening.Screen.Step))) } : (Reasoning.Screening.Screen.Node)) :: ([] : List (Reasoning.Screening.Screen.Node))))))))) + +def __fits_21 (_ynode : (Reasoning.Screening.Screen.Node)) (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yb : Nat) : Bool := + ((Bool.true && (Bool.true && (Bool.true && Bool.true))) && (__fits_24 (_ynode) (_yacc) (_yb))) + +attribute [local irreducible] Reasoning.Screening.Screen.Propose.collect in +theorem __rel_21 (_ynode : (Reasoning.Screening.Screen.Node)) (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yb : Nat) : _root_.LexLeanPreservation.FunRel __prog 21 [(__enc_2 _ynode), ((_root_.LexLeanPreservation.encList __enc_2) _yacc), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yb)] (_root_.LexLeanPreservation.Rel (__fits_21 _ynode _yacc _yb) ((_root_.LexLeanPreservation.encList __enc_2) ((Reasoning.Screening.Screen.Propose.collect (_ynode) (_yacc) (_yb))))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (__rel_24 (_ynode) (_yacc) (_yb))) + +def __fits_18 (_ynode : (Reasoning.Screening.Screen.Node)) : Bool := + (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && (((Bool.true && Bool.true) && (__fits_19 ((_ynode).state))) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List (Reasoning.Screening.Screen.Node))) (__p1 : Nat) => __fits_21 (_ynode) __p0 __p1) ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yb : Nat) => (Reasoning.Screening.Screen.Propose.collect (_ynode) (_yacc) (_yb)))) (([] : List (Reasoning.Screening.Screen.Node))) ((Reasoning.Screening.Propose.candidates ((_ynode).state))))) + +attribute [local irreducible] Reasoning.Screening.Propose.candidates Reasoning.Screening.Screen.Propose.collect in +theorem __rel_18 (_ynode : (Reasoning.Screening.Screen.Node)) : _root_.LexLeanPreservation.FunRel __prog 18 [(__enc_2 _ynode)] (_root_.LexLeanPreservation.Rel (__fits_18 _ynode) ((_root_.LexLeanPreservation.encList __enc_2) (Reasoning.Screening.Screen.Propose.successors _ynode))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_19 ((_ynode).state))) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.nat) (es := (_root_.LexLeanPreservation.encList __enc_2)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yb : Nat) => (Reasoning.Screening.Screen.Propose.collect (_ynode) (_yacc) (_yb)))) (fun (__p0 : (List (Reasoning.Screening.Screen.Node))) (__p1 : Nat) => __fits_21 (_ynode) __p0 __p1) 21 [(__enc_2 _ynode)] (fun (__p0 : (List (Reasoning.Screening.Screen.Node))) (__p1 : Nat) => __rel_21 (_ynode) __p0 __p1) (p := __prog) (fi := 20) (ta := .nat) (ts := (.list (.adt 2))) rfl (([] : List (Reasoning.Screening.Screen.Node))) ((Reasoning.Screening.Propose.candidates ((_ynode).state))))) + +def __fits_13 (_ynode : (Reasoning.Screening.Screen.Node)) : Bool := + ((Bool.true && Bool.true) && (__fits_18 (_ynode))) + +attribute [local irreducible] Reasoning.Screening.Screen.Propose.successors in +theorem __rel_13 (_ynode : (Reasoning.Screening.Screen.Node)) : _root_.LexLeanPreservation.FunRel __prog 13 [(__enc_2 _ynode)] (_root_.LexLeanPreservation.Rel (__fits_13 _ynode) ((_root_.LexLeanPreservation.encList __enc_2) (Reasoning.Screening.Screen.successors _ynode))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_18 (_ynode))) + +def __fits_14 (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) : Bool := + (((((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) 18446744073709551616)) && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then ((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) else Bool.true)) + +theorem __rel_14 (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) : _root_.LexLeanPreservation.FunRel __prog 14 [((_root_.LexLeanPreservation.encList __enc_2) _yacc), (__enc_2 _yn)] (_root_.LexLeanPreservation.Rel (__fits_14 _yacc _yn) ((_root_.LexLeanPreservation.encList __enc_2) ((if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc)))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) else Bool.true)) (fun (__b : Bool) => (_root_.LexLeanPreservation.encList __enc_2) (if __b then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc)) (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_2) _yacc)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (_root_.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_2) _yacc (_yn :: ([] : List (Reasoning.Screening.Screen.Node)))))) (fun _ => (_root_.LexLeanPreservation.conv_var rfl))) + +def __fits_15 (_ys : (Prod Nat Nat)) : Bool := + ((((Bool.true && Bool.true) && (__fits_19 (_ys))) && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length ((Reasoning.Screening.Propose.candidates (_ys))) : Nat) 18446744073709551616)) + +attribute [local irreducible] Reasoning.Screening.Propose.candidates in +theorem __rel_15 (_ys : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 15 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _ys)] (_root_.LexLeanPreservation.Rel (__fits_15 _ys) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Screening.Screen.attempts _ys))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_19 (_ys))) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Screening.Propose.candidates (_ys)))) + +def __fits_8 (w : Nat) (_yr : (Reasoning.Screening.Screen.Search)) : Bool := + (Bool.true && (match (_yr).found with | Option.some _yhit => (Bool.true && Bool.true) | Option.none => (Bool.true && (match (_yr).frontier with | List.nil => (Bool.true && Bool.true) | List.cons _ynode _yrest => (((Bool.true && (Bool.true && Bool.true)) && (__fits_12 (w) ((_ynode).state))) && (match (Reasoning.Screening.Screen.accept (w) ((_ynode).state)) with | Option.some _yv => ((((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (Bool.true && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true)))) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_13 (_ynode))) && (let _ysuccessors : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.Screen.successors (_ynode)); (Bool.true && (let _yfresh : (List (Reasoning.Screening.Screen.Node)) := _ysuccessors; (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (let _yordered : (List (Reasoning.Screening.Screen.Node)) := (_root_.LexLeanRuntime.append (_yfresh) (_yrest) : (List (Reasoning.Screening.Screen.Node))); (((Bool.true && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List (Reasoning.Screening.Screen.Node))) (__p1 : (Reasoning.Screening.Screen.Node)) => __fits_14 __p0 __p1) ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) (_yordered))) && (let _ynext : (List (Reasoning.Screening.Screen.Node)) := (_root_.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) (_yordered) : (List (Reasoning.Screening.Screen.Node))); ((((Bool.true && ((Bool.true && Bool.true) && ((Bool.true && (if (_yr).truncated then (Bool.true && Bool.true) else ((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_yordered) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true))) && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (__fits_15 ((_ynode).state))) && Bool.true)) && (Nat.blt (((_yr).ledger).attempts + (Reasoning.Screening.Screen.attempts ((_ynode).state))) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_ysuccessors) : Nat) 18446744073709551616)) && Bool.true)) && (Nat.blt (((_yr).ledger).firings + (_root_.LexLeanRuntime.length (_ysuccessors) : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).expansions + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && ((((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true) && (if (Nat.blt ((_yr).ledger).frontier (_root_.LexLeanRuntime.length (_ynext) : Nat)) then ((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) else Bool.true)) && Bool.true)))))) && Bool.true) && Bool.true)))) && Bool.true) && Bool.true) && Bool.true))))))))))))))) + +attribute [local irreducible] Reasoning.Screening.Screen.accept Reasoning.Screening.Screen.attempts Reasoning.Screening.Screen.successors in +theorem __rel_8 (w : Nat) (_yr : (Reasoning.Screening.Screen.Search)) : _root_.LexLeanPreservation.FunRel __prog 8 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w), (__enc_1 _yr)] (_root_.LexLeanPreservation.Rel (__fits_8 w _yr) ((_root_.LexLeanPreservation.encOption __enc_1) (Reasoning.Screening.Screen.searchStep w _yr))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat __enc_2)) (fun (__a : (Option (Prod Nat (Reasoning.Screening.Screen.Node)))) => (match __a with | Option.some _yhit => (Bool.true && Bool.true) | Option.none => (Bool.true && (match (_yr).frontier with | List.nil => (Bool.true && Bool.true) | List.cons _ynode _yrest => (((Bool.true && (Bool.true && Bool.true)) && (__fits_12 (w) ((_ynode).state))) && (match (Reasoning.Screening.Screen.accept (w) ((_ynode).state)) with | Option.some _yv => ((((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (Bool.true && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true)))) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_13 (_ynode))) && (let _ysuccessors : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.Screen.successors (_ynode)); (Bool.true && (let _yfresh : (List (Reasoning.Screening.Screen.Node)) := _ysuccessors; (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (let _yordered : (List (Reasoning.Screening.Screen.Node)) := (_root_.LexLeanRuntime.append (_yfresh) (_yrest) : (List (Reasoning.Screening.Screen.Node))); (((Bool.true && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List (Reasoning.Screening.Screen.Node))) (__p1 : (Reasoning.Screening.Screen.Node)) => __fits_14 __p0 __p1) ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) (_yordered))) && (let _ynext : (List (Reasoning.Screening.Screen.Node)) := (_root_.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) (_yordered) : (List (Reasoning.Screening.Screen.Node))); ((((Bool.true && ((Bool.true && Bool.true) && ((Bool.true && (if (_yr).truncated then (Bool.true && Bool.true) else ((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_yordered) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true))) && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (__fits_15 ((_ynode).state))) && Bool.true)) && (Nat.blt (((_yr).ledger).attempts + (Reasoning.Screening.Screen.attempts ((_ynode).state))) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_ysuccessors) : Nat) 18446744073709551616)) && Bool.true)) && (Nat.blt (((_yr).ledger).firings + (_root_.LexLeanRuntime.length (_ysuccessors) : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).expansions + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && ((((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true) && (if (Nat.blt ((_yr).ledger).frontier (_root_.LexLeanRuntime.length (_ynext) : Nat)) then ((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) else Bool.true)) && Bool.true)))))) && Bool.true) && Bool.true)))) && Bool.true) && Bool.true) && Bool.true))))))))))))))) (fun (__a : (Option (Prod Nat (Reasoning.Screening.Screen.Node)))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Option.some _yhit => (Option.none : (Option (Reasoning.Screening.Screen.Search))) | Option.none => (match (_yr).frontier with | List.nil => (Option.none : (Option (Reasoning.Screening.Screen.Search))) | List.cons _ynode _yrest => (match (Reasoning.Screening.Screen.accept (w) ((_ynode).state)) with | Option.some _yv => (Option.some (({ frontier := _yrest, found := (Option.some ((_yv, _ynode)) : (Option (Prod Nat (Reasoning.Screening.Screen.Node)))), truncated := (_yr).truncated, ledger := ({ iterations := (((_yr).ledger).iterations + (1 : Nat)), attempts := ((_yr).ledger).attempts, firings := ((_yr).ledger).firings, expansions := ((_yr).ledger).expansions, verifications := (((_yr).ledger).verifications + (1 : Nat)), frontier := ((_yr).ledger).frontier } : (Reasoning.Screening.Screen.Ledger)) } : (Reasoning.Screening.Screen.Search))) : (Option (Reasoning.Screening.Screen.Search))) | Option.none => (let _ysuccessors : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.Screen.successors (_ynode)); (let _yfresh : (List (Reasoning.Screening.Screen.Node)) := _ysuccessors; (let _yordered : (List (Reasoning.Screening.Screen.Node)) := (_root_.LexLeanRuntime.append (_yfresh) (_yrest) : (List (Reasoning.Screening.Screen.Node))); (let _ynext : (List (Reasoning.Screening.Screen.Node)) := (_root_.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) (_yordered) : (List (Reasoning.Screening.Screen.Node))); (Option.some (({ frontier := _ynext, found := (Option.none : (Option (Prod Nat (Reasoning.Screening.Screen.Node)))), truncated := ((_yr).truncated || (Nat.blt (3 : Nat) (_root_.LexLeanRuntime.length (_yordered) : Nat))), ledger := ({ iterations := (((_yr).ledger).iterations + (1 : Nat)), attempts := (((_yr).ledger).attempts + (Reasoning.Screening.Screen.attempts ((_ynode).state))), firings := (((_yr).ledger).firings + (_root_.LexLeanRuntime.length (_ysuccessors) : Nat)), expansions := (((_yr).ledger).expansions + (1 : Nat)), verifications := (((_yr).ledger).verifications + (1 : Nat)), frontier := (if (Nat.blt ((_yr).ledger).frontier (_root_.LexLeanRuntime.length (_ynext) : Nat)) then (_root_.LexLeanRuntime.length (_ynext) : Nat) else ((_yr).ledger).frontier) } : (Reasoning.Screening.Screen.Ledger)) } : (Reasoning.Screening.Screen.Search))) : (Option (Reasoning.Screening.Screen.Search))))))))))) (_yr).found (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (fun (__a : (Option (Prod Nat (Reasoning.Screening.Screen.Node)))) _ => match __a with | Option.some _yhit => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encList __enc_2) (fun (__a : (List (Reasoning.Screening.Screen.Node))) => (match __a with | List.nil => (Bool.true && Bool.true) | List.cons _ynode _yrest => (((Bool.true && (Bool.true && Bool.true)) && (__fits_12 (w) ((_ynode).state))) && (match (Reasoning.Screening.Screen.accept (w) ((_ynode).state)) with | Option.some _yv => ((((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (Bool.true && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true)))) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_13 (_ynode))) && (let _ysuccessors : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.Screen.successors (_ynode)); (Bool.true && (let _yfresh : (List (Reasoning.Screening.Screen.Node)) := _ysuccessors; (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (let _yordered : (List (Reasoning.Screening.Screen.Node)) := (_root_.LexLeanRuntime.append (_yfresh) (_yrest) : (List (Reasoning.Screening.Screen.Node))); (((Bool.true && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List (Reasoning.Screening.Screen.Node))) (__p1 : (Reasoning.Screening.Screen.Node)) => __fits_14 __p0 __p1) ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) (_yordered))) && (let _ynext : (List (Reasoning.Screening.Screen.Node)) := (_root_.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) (_yordered) : (List (Reasoning.Screening.Screen.Node))); ((((Bool.true && ((Bool.true && Bool.true) && ((Bool.true && (if (_yr).truncated then (Bool.true && Bool.true) else ((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_yordered) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true))) && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (__fits_15 ((_ynode).state))) && Bool.true)) && (Nat.blt (((_yr).ledger).attempts + (Reasoning.Screening.Screen.attempts ((_ynode).state))) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_ysuccessors) : Nat) 18446744073709551616)) && Bool.true)) && (Nat.blt (((_yr).ledger).firings + (_root_.LexLeanRuntime.length (_ysuccessors) : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).expansions + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && ((((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true) && (if (Nat.blt ((_yr).ledger).frontier (_root_.LexLeanRuntime.length (_ynext) : Nat)) then ((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) else Bool.true)) && Bool.true)))))) && Bool.true) && Bool.true)))) && Bool.true) && Bool.true) && Bool.true))))))))))))) (fun (__a : (List (Reasoning.Screening.Screen.Node))) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | List.nil => (Option.none : (Option (Reasoning.Screening.Screen.Search))) | List.cons _ynode _yrest => (match (Reasoning.Screening.Screen.accept (w) ((_ynode).state)) with | Option.some _yv => (Option.some (({ frontier := _yrest, found := (Option.some ((_yv, _ynode)) : (Option (Prod Nat (Reasoning.Screening.Screen.Node)))), truncated := (_yr).truncated, ledger := ({ iterations := (((_yr).ledger).iterations + (1 : Nat)), attempts := ((_yr).ledger).attempts, firings := ((_yr).ledger).firings, expansions := ((_yr).ledger).expansions, verifications := (((_yr).ledger).verifications + (1 : Nat)), frontier := ((_yr).ledger).frontier } : (Reasoning.Screening.Screen.Ledger)) } : (Reasoning.Screening.Screen.Search))) : (Option (Reasoning.Screening.Screen.Search))) | Option.none => (let _ysuccessors : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.Screen.successors (_ynode)); (let _yfresh : (List (Reasoning.Screening.Screen.Node)) := _ysuccessors; (let _yordered : (List (Reasoning.Screening.Screen.Node)) := (_root_.LexLeanRuntime.append (_yfresh) (_yrest) : (List (Reasoning.Screening.Screen.Node))); (let _ynext : (List (Reasoning.Screening.Screen.Node)) := (_root_.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) (_yordered) : (List (Reasoning.Screening.Screen.Node))); (Option.some (({ frontier := _ynext, found := (Option.none : (Option (Prod Nat (Reasoning.Screening.Screen.Node)))), truncated := ((_yr).truncated || (Nat.blt (3 : Nat) (_root_.LexLeanRuntime.length (_yordered) : Nat))), ledger := ({ iterations := (((_yr).ledger).iterations + (1 : Nat)), attempts := (((_yr).ledger).attempts + (Reasoning.Screening.Screen.attempts ((_ynode).state))), firings := (((_yr).ledger).firings + (_root_.LexLeanRuntime.length (_ysuccessors) : Nat)), expansions := (((_yr).ledger).expansions + (1 : Nat)), verifications := (((_yr).ledger).verifications + (1 : Nat)), frontier := (if (Nat.blt ((_yr).ledger).frontier (_root_.LexLeanRuntime.length (_ynext) : Nat)) then (_root_.LexLeanRuntime.length (_ynext) : Nat) else ((_yr).ledger).frontier) } : (Reasoning.Screening.Screen.Ledger)) } : (Reasoning.Screening.Screen.Search))) : (Option (Reasoning.Screening.Screen.Search)))))))))) (_yr).frontier (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (fun (__a : (List (Reasoning.Screening.Screen.Node))) _ => match __a with | List.nil => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | List.cons _ynode _yrest => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.some _yv => ((((Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) && (Bool.true && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (Bool.true && (Bool.true && (Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && (Bool.true && Bool.true)))))) && Bool.true) && Bool.true)))) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_13 (_ynode))) && (let _ysuccessors : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.Screen.successors (_ynode)); (Bool.true && (let _yfresh : (List (Reasoning.Screening.Screen.Node)) := _ysuccessors; (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (let _yordered : (List (Reasoning.Screening.Screen.Node)) := (_root_.LexLeanRuntime.append (_yfresh) (_yrest) : (List (Reasoning.Screening.Screen.Node))); (((Bool.true && ((Bool.true && Bool.true) && (Bool.true && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List (Reasoning.Screening.Screen.Node))) (__p1 : (Reasoning.Screening.Screen.Node)) => __fits_14 __p0 __p1) ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) (_yordered))) && (let _ynext : (List (Reasoning.Screening.Screen.Node)) := (_root_.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) (_yordered) : (List (Reasoning.Screening.Screen.Node))); ((((Bool.true && ((Bool.true && Bool.true) && ((Bool.true && (if (_yr).truncated then (Bool.true && Bool.true) else ((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_yordered) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true))) && (((((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).iterations + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (__fits_15 ((_ynode).state))) && Bool.true)) && (Nat.blt (((_yr).ledger).attempts + (Reasoning.Screening.Screen.attempts ((_ynode).state))) 18446744073709551616)) && (((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_ysuccessors) : Nat) 18446744073709551616)) && Bool.true)) && (Nat.blt (((_yr).ledger).firings + (_root_.LexLeanRuntime.length (_ysuccessors) : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).expansions + (1 : Nat)) 18446744073709551616)) && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt (((_yr).ledger).verifications + (1 : Nat)) 18446744073709551616)) && ((((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true) && (if (Nat.blt ((_yr).ledger).frontier (_root_.LexLeanRuntime.length (_ynext) : Nat)) then ((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) else Bool.true)) && Bool.true)))))) && Bool.true) && Bool.true)))) && Bool.true) && Bool.true) && Bool.true))))))))))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encOption __enc_1) (match __a with | Option.some _yv => (Option.some (({ frontier := _yrest, found := (Option.some ((_yv, _ynode)) : (Option (Prod Nat (Reasoning.Screening.Screen.Node)))), truncated := (_yr).truncated, ledger := ({ iterations := (((_yr).ledger).iterations + (1 : Nat)), attempts := ((_yr).ledger).attempts, firings := ((_yr).ledger).firings, expansions := ((_yr).ledger).expansions, verifications := (((_yr).ledger).verifications + (1 : Nat)), frontier := ((_yr).ledger).frontier } : (Reasoning.Screening.Screen.Ledger)) } : (Reasoning.Screening.Screen.Search))) : (Option (Reasoning.Screening.Screen.Search))) | Option.none => (let _ysuccessors : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.Screen.successors (_ynode)); (let _yfresh : (List (Reasoning.Screening.Screen.Node)) := _ysuccessors; (let _yordered : (List (Reasoning.Screening.Screen.Node)) := (_root_.LexLeanRuntime.append (_yfresh) (_yrest) : (List (Reasoning.Screening.Screen.Node))); (let _ynext : (List (Reasoning.Screening.Screen.Node)) := (_root_.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) (_yordered) : (List (Reasoning.Screening.Screen.Node))); (Option.some (({ frontier := _ynext, found := (Option.none : (Option (Prod Nat (Reasoning.Screening.Screen.Node)))), truncated := ((_yr).truncated || (Nat.blt (3 : Nat) (_root_.LexLeanRuntime.length (_yordered) : Nat))), ledger := ({ iterations := (((_yr).ledger).iterations + (1 : Nat)), attempts := (((_yr).ledger).attempts + (Reasoning.Screening.Screen.attempts ((_ynode).state))), firings := (((_yr).ledger).firings + (_root_.LexLeanRuntime.length (_ysuccessors) : Nat)), expansions := (((_yr).ledger).expansions + (1 : Nat)), verifications := (((_yr).ledger).verifications + (1 : Nat)), frontier := (if (Nat.blt ((_yr).ledger).frontier (_root_.LexLeanRuntime.length (_ynext) : Nat)) then (_root_.LexLeanRuntime.length (_ynext) : Nat) else ((_yr).ledger).frontier) } : (Reasoning.Screening.Screen.Ledger)) } : (Reasoning.Screening.Screen.Search))) : (Option (Reasoning.Screening.Screen.Search))))))))) (Reasoning.Screening.Screen.accept (w) ((_ynode).state)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_12 (w) ((_ynode).state))) (fun (__a : (Option Nat)) _ => match __a with | Option.some _yv => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).iterations (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).verifications (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) _root_.LexLeanPreservation.convL_nil)))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil)))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (let _ysuccessors : (List (Reasoning.Screening.Screen.Node)) := (Reasoning.Screening.Screen.successors (_ynode)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_13 (_ynode))) (let _yfresh : (List (Reasoning.Screening.Screen.Node)) := _ysuccessors; _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_var rfl) (let _yordered : (List (Reasoning.Screening.Screen.Node)) := (_root_.LexLeanRuntime.append (_yfresh) (_yrest) : (List (Reasoning.Screening.Screen.Node))); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_2) _yfresh _yrest)) (let _ynext : (List (Reasoning.Screening.Screen.Node)) := (_root_.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) (_yordered) : (List (Reasoning.Screening.Screen.Node))); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := __enc_2) (es := (_root_.LexLeanPreservation.encList __enc_2)) (_root_.LexLeanPreservation.listEnc __enc_2) (fun _ => rfl) ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (fun (__p0 : (List (Reasoning.Screening.Screen.Node))) (__p1 : (Reasoning.Screening.Screen.Node)) => __fits_14 __p0 __p1) 14 [] (fun (__p0 : (List (Reasoning.Screening.Screen.Node))) (__p1 : (Reasoning.Screening.Screen.Node)) => __rel_14 __p0 __p1) (p := __prog) (fi := 9) (ta := (.adt 2)) (ts := (.list (.adt 2))) rfl (([] : List (Reasoning.Screening.Screen.Node))) (_yordered))) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then (Bool.true && Bool.true) else ((Bool.true && (((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_yordered) : Nat) 18446744073709551616)) && Bool.true)) && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b || (Nat.blt (3 : Nat) (_root_.LexLeanRuntime.length (_yordered) : Nat)))) (_yr).truncated (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true)) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_2) _yordered)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (3 : Nat) (_root_.LexLeanRuntime.length (_yordered) : Nat))))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).iterations (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) _root_.LexLeanPreservation.convL_nil) (__rel_15 ((_ynode).state))) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).attempts (Reasoning.Screening.Screen.attempts ((_ynode).state)))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_2) _ysuccessors)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).firings (_root_.LexLeanRuntime.length (_ysuccessors) : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).expansions (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd ((_yr).ledger).verifications (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_ynext) : Nat) 18446744073709551616)) else Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.nat (if __b then (_root_.LexLeanRuntime.length (_ynext) : Nat) else ((_yr).ledger).frontier)) (Nat.blt ((_yr).ledger).frontier (_root_.LexLeanRuntime.length (_ynext) : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_2) _ynext)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt ((_yr).ledger).frontier (_root_.LexLeanRuntime.length (_ynext) : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_2) _ynext))) (fun _ => (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_var rfl) rfl) rfl))) _root_.LexLeanPreservation.convL_nil)))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil)))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some))))))))))))))))) + +def __fits_6 (w : Nat) (_yr : (Reasoning.Screening.Screen.Search)) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && (__fits_8 (w) (_yr))) + +attribute [local irreducible] Reasoning.Screening.Screen.searchStep in +theorem __rel_6 (w : Nat) (_yr : (Reasoning.Screening.Screen.Search)) : _root_.LexLeanPreservation.FunRel __prog 6 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w), (__enc_1 _yr)] (_root_.LexLeanPreservation.Rel (__fits_6 w _yr) ((_root_.LexLeanPreservation.encOption __enc_1) ((Reasoning.Screening.Screen.searchStep (w) (_yr))))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_8 (w) (_yr))) + +def __fits_10 (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) : Bool := + (((((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) 18446744073709551616)) && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then ((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) else Bool.true)) + +theorem __rel_10 (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) : _root_.LexLeanPreservation.FunRel __prog 10 [((_root_.LexLeanPreservation.encList __enc_2) _yacc), (__enc_2 _yn)] (_root_.LexLeanPreservation.Rel (__fits_10 _yacc _yn) ((_root_.LexLeanPreservation.encList __enc_2) ((if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc)))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) else Bool.true)) (fun (__b : Bool) => (_root_.LexLeanPreservation.encList __enc_2) (if __b then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc)) (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_2) _yacc)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (_root_.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat))) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_append_list (_root_.LexLeanPreservation.listEnc __enc_2) _yacc (_yn :: ([] : List (Reasoning.Screening.Screen.Node)))))) (fun _ => (_root_.LexLeanPreservation.conv_var rfl))) + +def __fits_11 (w : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_11 (w : Nat) : _root_.LexLeanPreservation.FunRel __prog 11 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (_root_.LexLeanPreservation.Rel (__fits_11 w) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Screening.Screen.observe w))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) + +def __fits_7 (w : Nat) : Bool := + (((Bool.true && ((Bool.true && Bool.true) && (((((((Bool.true && Bool.true) && (__fits_11 (w))) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (List (Reasoning.Screening.Screen.Node))) (__p1 : (Reasoning.Screening.Screen.Node)) => __fits_10 __p0 __p1) ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) ((({ state := (Reasoning.Screening.Screen.observe (w)), trace := ([] : List (Reasoning.Screening.Screen.Step)) } : (Reasoning.Screening.Screen.Node)) :: ([] : List (Reasoning.Screening.Screen.Node)))))) && (let _yfirst : (List (Reasoning.Screening.Screen.Node)) := (_root_.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) ((({ state := (Reasoning.Screening.Screen.observe (w)), trace := ([] : List (Reasoning.Screening.Screen.Step)) } : (Reasoning.Screening.Screen.Node)) :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))); ((Bool.true && ((Bool.true && Bool.true) && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (((Bool.true && (Bool.true && (Bool.true && (Bool.true && (Bool.true && (((Bool.true && Bool.true) && (Nat.blt (_root_.LexLeanRuntime.length (_yfirst) : Nat) 18446744073709551616)) && Bool.true)))))) && Bool.true) && Bool.true)))) && Bool.true))) + +attribute [local irreducible] Reasoning.Screening.Screen.observe in +theorem __rel_7 (w : Nat) : _root_.LexLeanPreservation.FunRel __prog 7 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (_root_.LexLeanPreservation.Rel (__fits_7 w) (__enc_1 (Reasoning.Screening.Screen.start w))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (let _yfirst : (List (Reasoning.Screening.Screen.Node)) := (_root_.LexLeanCollections.listFold ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (([] : List (Reasoning.Screening.Screen.Node))) ((({ state := (Reasoning.Screening.Screen.observe (w)), trace := ([] : List (Reasoning.Screening.Screen.Step)) } : (Reasoning.Screening.Screen.Node)) :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_11 (w))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_adt) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := __enc_2) (es := (_root_.LexLeanPreservation.encList __enc_2)) (_root_.LexLeanPreservation.listEnc __enc_2) (fun _ => rfl) ((fun (_yacc : (List (Reasoning.Screening.Screen.Node))) (_yn : (Reasoning.Screening.Screen.Node)) => (if (Nat.blt (_root_.LexLeanRuntime.length (_yacc) : Nat) (3 : Nat)) then (_root_.LexLeanRuntime.append (_yacc) ((_yn :: ([] : List (Reasoning.Screening.Screen.Node)))) : (List (Reasoning.Screening.Screen.Node))) else _yacc))) (fun (__p0 : (List (Reasoning.Screening.Screen.Node))) (__p1 : (Reasoning.Screening.Screen.Node)) => __fits_10 __p0 __p1) 10 [] (fun (__p0 : (List (Reasoning.Screening.Screen.Node))) (__p1 : (Reasoning.Screening.Screen.Node)) => __rel_10 __p0 __p1) (p := __prog) (fi := 9) (ta := (.adt 2)) (ts := (.list (.adt 2))) rfl (([] : List (Reasoning.Screening.Screen.Node))) ((({ state := (Reasoning.Screening.Screen.observe (w)), trace := ([] : List (Reasoning.Screening.Screen.Step)) } : (Reasoning.Screening.Screen.Node)) :: ([] : List (Reasoning.Screening.Screen.Node)))))) (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (3 : Nat) (1 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_length_list (_root_.LexLeanPreservation.listEnc __enc_2) _yfirst)) _root_.LexLeanPreservation.convL_nil)))))) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil)))) _root_.LexLeanPreservation.construct_adt)) + +def __fits_3 (w : Nat) : Bool := + (((Bool.true && Bool.true) && (Bool.true && (((Bool.true && Bool.true) && (__fits_7 (w))) && Bool.true))) && (_root_.LexLeanPreservation.untilFits (fun (__p0 : (Reasoning.Screening.Screen.Search)) => __fits_6 (w) __p0) ((fun (_yr : (Reasoning.Screening.Screen.Search)) => (Reasoning.Screening.Screen.searchStep (w) (_yr)))) ((8 : Nat)) ((Reasoning.Screening.Screen.start (w))))) + +attribute [local irreducible] Reasoning.Screening.Screen.searchStep Reasoning.Screening.Screen.start in +theorem __rel_3 (w : Nat) : _root_.LexLeanPreservation.FunRel __prog 3 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (_root_.LexLeanPreservation.Rel (__fits_3 w) ((_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.bool) (Reasoning.Screening.Screen.run w))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_7 (w))) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_iterateUntil (es := __enc_1) (_root_.LexLeanPreservation.optEnc __enc_1) (fun _ => rfl) (_root_.LexLeanPreservation.encPair __enc_1 _root_.LexLeanTarget.TargetSyntax.Value.bool) (fun _ => rfl) ((fun (_yr : (Reasoning.Screening.Screen.Search)) => (Reasoning.Screening.Screen.searchStep (w) (_yr)))) (fun (__p0 : (Reasoning.Screening.Screen.Search)) => __fits_6 (w) __p0) 6 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (fun (__p0 : (Reasoning.Screening.Screen.Search)) => __rel_6 (w) __p0) (_root_.LexLeanCollections.iterateUntil ((fun (_yr : (Reasoning.Screening.Screen.Search)) => (Reasoning.Screening.Screen.searchStep (w) (_yr))))) (fun _ => rfl) (fun _ _ __h => by simp only [_root_.LexLeanCollections.iterateUntil, __h]) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.iterateUntil, __h]) (p := __prog) (fi := 5) (ts := (.adt 1)) rfl ((8 : Nat)) ((Reasoning.Screening.Screen.start (w))))) + +def __fits_4 (_ysaturated : Bool) (_ytruncated : Bool) : Bool := + ((Bool.true && (if _ysaturated then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && (if (_ysaturated && (!_ytruncated)) then (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) else (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true))) + +theorem __rel_4 (_ysaturated : Bool) (_ytruncated : Bool) : _root_.LexLeanPreservation.FunRel __prog 4 [(_root_.LexLeanTarget.TargetSyntax.Value.bool _ysaturated), (_root_.LexLeanTarget.TargetSyntax.Value.bool _ytruncated)] (_root_.LexLeanPreservation.Rel (__fits_4 _ysaturated _ytruncated) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (Reasoning.Screening.Screen.failure _ysaturated _ytruncated))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) else (((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (if __b then ((Bool.false, Bool.true) : (Prod Bool Bool)) else ((Bool.false, Bool.false) : (Prod Bool Bool)))) (_ysaturated && (!_ytruncated)) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (!_ytruncated))) _ysaturated (_root_.LexLeanPreservation.conv_var rfl) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.prim_boolNot _ytruncated))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair)) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair))) + +def __fits_2 (w : Nat) : Bool := + (((Bool.true && Bool.true) && (__fits_3 (w))) && (let _yfinal : (Prod (Reasoning.Screening.Screen.Search) Bool) := (Reasoning.Screening.Screen.run (w)); (Bool.true && (match ((_yfinal).1).found with | Option.some _yhit => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => ((((Bool.true && (Bool.true && Bool.true)) && (__fits_4 ((_yfinal).2) (((_yfinal).1).truncated))) && Bool.true) && Bool.true))))) + +attribute [local irreducible] Reasoning.Screening.Screen.failure Reasoning.Screening.Screen.run in +theorem __rel_2 (w : Nat) : _root_.LexLeanPreservation.FunRel __prog 2 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (_root_.LexLeanPreservation.Rel (__fits_2 w) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList __enc_0))) (Reasoning.Screening.Screen w))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (let _yfinal : (Prod (Reasoning.Screening.Screen.Search) Bool) := (Reasoning.Screening.Screen.run (w)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_3 (w))) (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat __enc_2)) (fun (__a : (Option (Prod Nat (Reasoning.Screening.Screen.Node)))) => (match __a with | Option.some _yhit => ((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => ((((Bool.true && (Bool.true && Bool.true)) && (__fits_4 ((_yfinal).2) (((_yfinal).1).truncated))) && Bool.true) && Bool.true))) (fun (__a : (Option (Prod Nat (Reasoning.Screening.Screen.Node)))) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList __enc_0))) (match __a with | Option.some _yhit => (Except.ok (((_yhit).1, ((_yhit).2).trace)) : (Except (Prod Bool Bool) (Prod Nat (List (Reasoning.Screening.Screen.Step))))) | Option.none => (Except.error ((Reasoning.Screening.Screen.failure ((_yfinal).2) (((_yfinal).1).truncated))) : (Except (Prod Bool Bool) (Prod Nat (List (Reasoning.Screening.Screen.Step))))))) ((_yfinal).1).found (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) rfl) (fun (__a : (Option (Prod Nat (Reasoning.Screening.Screen.Node)))) _ => match __a with | Option.some _yhit => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_field (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_4 ((_yfinal).2) (((_yfinal).1).truncated))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))))) + +def __fits_1 (w : Nat) : Bool := + (((Bool.true && Bool.true) && (__fits_2 (w))) && (match (Reasoning.Screening.Screen (w)) with | Except.ok _yp => ((Bool.true && Bool.true) && Bool.true) | Except.error _ye => ((Bool.true && Bool.true) && Bool.true))) + +attribute [local irreducible] Reasoning.Screening.Screen in +theorem __rel_1 (w : Nat) : _root_.LexLeanPreservation.FunRel __prog 1 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (_root_.LexLeanPreservation.Rel (__fits_1 w) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Screening.Screen.verdict w))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat (_root_.LexLeanPreservation.encList __enc_0))) (fun (__a : (Except (Prod Bool Bool) (Prod Nat (List (Reasoning.Screening.Screen.Step))))) => (match __a with | Except.ok _yp => ((Bool.true && Bool.true) && Bool.true) | Except.error _ye => ((Bool.true && Bool.true) && Bool.true))) (fun (__a : (Except (Prod Bool Bool) (Prod Nat (List (Reasoning.Screening.Screen.Step))))) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Except.ok _yp => (Except.ok ((_yp).1) : (Except (Prod Bool Bool) Nat)) | Except.error _ye => (Except.error (_ye) : (Except (Prod Bool Bool) Nat)))) (Reasoning.Screening.Screen (w)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_2 (w))) (fun (__a : (Except (Prod Bool Bool) (Prod Nat (List (Reasoning.Screening.Screen.Step))))) _ => match __a with | Except.ok _yp => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) | Except.error _ye => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))) + +def __fits_0 (w : Nat) : Bool := + (((Bool.true && Bool.true) && (__fits_1 (w))) && (match (Reasoning.Screening.Screen.verdict (w)) with | Except.ok dose => Bool.true | Except.error failure => Bool.true)) + +attribute [local irreducible] Reasoning.Screening.Screen.verdict in +theorem __rel_0 (w : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (_root_.LexLeanPreservation.Rel (__fits_0 w) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.screenDose w))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Except (Prod Bool Bool) Nat)) => (match __a with | Except.ok dose => Bool.true | Except.error failure => Bool.true)) (fun (__a : (Except (Prod Bool Bool) Nat)) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match __a with | Except.ok dose => dose | Except.error failure => (9 : Nat))) (Reasoning.Screening.Screen.verdict (w)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_1 (w))) (fun (__a : (Except (Prod Bool Bool) Nat)) _ => match __a with | Except.ok dose => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | Except.error failure => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value)))) + +def denote (w : Nat) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 w) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.screenDose w)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (w : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] (_root_.LexLeanPreservation.Rel (__fits_0 w) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.screenDose w))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 w) + +end LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6 diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R6/Compose/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R6/Compose/RustStd.lean new file mode 100644 index 000000000..0a7881b03 --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R6/Compose/RustStd.lean @@ -0,0 +1,28 @@ +import LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6 +import LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.Compose.RustStd + +theorem __wt_0 : ∀ (__v : (Reasoning.Screening.Screen.Step)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd.program _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd.krate _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd.flags (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.__enc_0 __v) (.adt 0) + | Reasoning.Screening.Screen.Step.Propose __x0 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x0) _root_.LexLeanPreservation.Rust.wtl_nil) + +theorem __wt_2 : ∀ (__s : (Reasoning.Screening.Screen.Node)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd.program _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd.krate _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd.flags (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.__enc_2 __s) (.adt 2) := + fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_nat _root_.LexLeanPreservation.Rust.wt_nat) (__s).state) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList __wt_0) (__s).trace) _root_.LexLeanPreservation.Rust.wtl_nil)) + +theorem __wt_3 : ∀ (__s : (Reasoning.Screening.Screen.Ledger)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd.program _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd.krate _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd.flags (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.__enc_3 __s) (.adt 3) := + fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).iterations) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).attempts) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).firings) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).expansions) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).verifications) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat (__s).frontier) _root_.LexLeanPreservation.Rust.wtl_nil)))))) + +theorem __wt_1 : ∀ (__s : (Reasoning.Screening.Screen.Search)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd.program _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd.krate _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd.flags (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.__enc_1 __s) (.adt 1) := + fun __s => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encList __wt_2) (__s).frontier) (_root_.LexLeanPreservation.Rust.wtl_cons ((_root_.LexLeanPreservation.Rust.wt_encOption (_root_.LexLeanPreservation.Rust.wt_encPair _root_.LexLeanPreservation.Rust.wt_nat __wt_2)) (__s).found) (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_bool (__s).truncated) (_root_.LexLeanPreservation.Rust.wtl_cons (__wt_3 (__s).ledger) _root_.LexLeanPreservation.Rust.wtl_nil)))) + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (w : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.denote w) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat w)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat w) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.root w) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.Compose.RustStd diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R6/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R6/RustStd.lean new file mode 100644 index 000000000..e46d3a6be --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R6/RustStd.lean @@ -0,0 +1,278 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [{ constructors := [[.nat]] }, + { constructors := [[(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]] }, + { constructors := [[(.pair .nat .nat), (.list (.adt 0))]] }, + { constructors := [[.nat, .nat, .nat, .nat, .nat, .nat]] }], functions := [ + { parameters := [0], types := [.nat], result := .nat, + body := (.«match» .nat (.call 1 [(.var 0)]) [(.arm .ok [1] (.var 1)), (.arm .error [2] (.value .nat (.nat 9)))]) }, + { parameters := [0], types := [.nat], result := (.result .nat (.pair .bool .bool)), + body := (.«match» (.result .nat (.pair .bool .bool)) (.call 2 [(.var 0)]) [(.arm .ok [1] (.build .ok (.result .nat (.pair .bool .bool)) [(.first (.var 1))])), (.arm .error [2] (.build .error (.result .nat (.pair .bool .bool)) [(.var 2)]))]) }, + { parameters := [0], types := [.nat], result := (.result (.pair .nat (.list (.adt 0))) (.pair .bool .bool)), + body := (.«let» 1 (.pair (.adt 1) .bool) (.call 3 [(.var 0)]) (.«match» (.result (.pair .nat (.list (.adt 0))) (.pair .bool .bool)) (.field (.first (.var 1)) 1) [(.arm .some [2] (.build .ok (.result (.pair .nat (.list (.adt 0))) (.pair .bool .bool)) [(.build .pair (.pair .nat (.list (.adt 0))) [(.first (.var 2)), (.field (.second (.var 2)) 1)])])), (.arm .none [] (.build .error (.result (.pair .nat (.list (.adt 0))) (.pair .bool .bool)) [(.call 4 [(.second (.var 1)), (.field (.first (.var 1)) 2)])]))])) }, + { parameters := [0], types := [.nat], result := (.pair (.adt 1) .bool), + body := (.call 5 [(.closure 6 [(.var 0)]), (.value .nat (.nat 8)), (.call 7 [(.var 0)])]) }, + { parameters := [0, 1], types := [.bool, .bool], result := (.pair .bool .bool), + body := (.cond (.cond (.var 0) (.prim .boolNot [(.var 1)]) (.build .false .bool [])) (.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])]) (.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])) }, + { parameters := [0, 1, 2], types := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)], result := (.pair (.adt 1) .bool), + body := (.«match» (.pair (.adt 1) .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair (.adt 1) .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair (.adt 1) .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 5 [(.var 0), (.var 3), (.var 4)]))]))]) }, + { parameters := [0, 1], types := [.nat, (.adt 1)], result := (.option (.adt 1)), + body := (.call 8 [(.var 0), (.var 1)]) }, + { parameters := [0], types := [.nat], result := (.adt 1), + body := (.«let» 1 (.list (.adt 2)) (.call 9 [(.closure 10 []), (.build .nil (.list (.adt 2)) []), (.build .cons (.list (.adt 2)) [(.build (.adt 0) (.adt 2) [(.call 11 [(.var 0)]), (.build .nil (.list (.adt 0)) [])]), (.build .nil (.list (.adt 2)) [])])]) (.build (.adt 0) (.adt 1) [(.var 1), (.build .none (.option (.pair .nat (.adt 2))) []), (.prim .natLt [(.value .nat (.nat 3)), (.value .nat (.nat 1))]), (.build (.adt 0) (.adt 3) [(.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.value .nat (.nat 0)), (.prim .length [(.var 1)])])])) }, + { parameters := [0, 1], types := [.nat, (.adt 1)], result := (.option (.adt 1)), + body := (.«match» (.option (.adt 1)) (.field (.var 1) 1) [(.arm .some [2] (.build .none (.option (.adt 1)) [])), (.arm .none [] (.«match» (.option (.adt 1)) (.field (.var 1) 0) [(.arm .nil [] (.build .none (.option (.adt 1)) [])), (.arm .cons [3, 4] (.«match» (.option (.adt 1)) (.call 12 [(.var 0), (.field (.var 3) 0)]) [(.arm .some [5] (.build .some (.option (.adt 1)) [(.build (.adt 0) (.adt 1) [(.var 4), (.build .some (.option (.pair .nat (.adt 2))) [(.build .pair (.pair .nat (.adt 2)) [(.var 5), (.var 3)])]), (.field (.var 1) 2), (.build (.adt 0) (.adt 3) [(.prim .natAdd [(.field (.field (.var 1) 3) 0), (.value .nat (.nat 1))]), (.field (.field (.var 1) 3) 1), (.field (.field (.var 1) 3) 2), (.field (.field (.var 1) 3) 3), (.prim .natAdd [(.field (.field (.var 1) 3) 4), (.value .nat (.nat 1))]), (.field (.field (.var 1) 3) 5)])])])), (.arm .none [] (.«let» 6 (.list (.adt 2)) (.call 13 [(.var 3)]) (.«let» 7 (.list (.adt 2)) (.var 6) (.«let» 8 (.list (.adt 2)) (.prim .append [(.var 7), (.var 4)]) (.«let» 9 (.list (.adt 2)) (.call 9 [(.closure 14 []), (.build .nil (.list (.adt 2)) []), (.var 8)]) (.build .some (.option (.adt 1)) [(.build (.adt 0) (.adt 1) [(.var 9), (.build .none (.option (.pair .nat (.adt 2))) []), (.cond (.field (.var 1) 2) (.build .true .bool []) (.prim .natLt [(.value .nat (.nat 3)), (.prim .length [(.var 8)])])), (.build (.adt 0) (.adt 3) [(.prim .natAdd [(.field (.field (.var 1) 3) 0), (.value .nat (.nat 1))]), (.prim .natAdd [(.field (.field (.var 1) 3) 1), (.call 15 [(.field (.var 3) 0)])]), (.prim .natAdd [(.field (.field (.var 1) 3) 2), (.prim .length [(.var 6)])]), (.prim .natAdd [(.field (.field (.var 1) 3) 3), (.value .nat (.nat 1))]), (.prim .natAdd [(.field (.field (.var 1) 3) 4), (.value .nat (.nat 1))]), (.cond (.prim .natLt [(.field (.field (.var 1) 3) 5), (.prim .length [(.var 9)])]) (.prim .length [(.var 9)]) (.field (.field (.var 1) 3) 5))])])]))))))]))]))]) }, + { parameters := [0, 1, 2], types := [(.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (.list (.adt 2)), (.list (.adt 2))], result := (.list (.adt 2)), + body := (.«match» (.list (.adt 2)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 9 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1], types := [(.list (.adt 2)), (.adt 2)], result := (.list (.adt 2)), + body := (.cond (.prim .natLt [(.prim .length [(.var 0)]), (.value .nat (.nat 3))]) (.prim .append [(.var 0), (.build .cons (.list (.adt 2)) [(.var 1), (.build .nil (.list (.adt 2)) [])])]) (.var 0)) }, + { parameters := [0], types := [.nat], result := (.pair .nat .nat), + body := (.build .pair (.pair .nat .nat) [(.var 0), (.value .nat (.nat 0))]) }, + { parameters := [0, 1], types := [.nat, (.pair .nat .nat)], result := (.option .nat), + body := (.«match» (.option .nat) (.call 16 [(.var 1)]) [(.arm .none [] (.build .none (.option .nat) [])), (.arm .some [2] (.cond (.call 17 [(.var 0), (.var 2)]) (.build .some (.option .nat) [(.var 2)]) (.build .none (.option .nat) [])))]) }, + { parameters := [0], types := [(.adt 2)], result := (.list (.adt 2)), + body := (.call 18 [(.var 0)]) }, + { parameters := [0, 1], types := [(.list (.adt 2)), (.adt 2)], result := (.list (.adt 2)), + body := (.cond (.prim .natLt [(.prim .length [(.var 0)]), (.value .nat (.nat 3))]) (.prim .append [(.var 0), (.build .cons (.list (.adt 2)) [(.var 1), (.build .nil (.list (.adt 2)) [])])]) (.var 0)) }, + { parameters := [0], types := [(.pair .nat .nat)], result := .nat, + body := (.prim .length [(.call 19 [(.var 0)])]) }, + { parameters := [0], types := [(.pair .nat .nat)], result := (.option .nat), + body := (.cond (.prim .natLt [(.value .nat (.nat 0)), (.second (.var 0))]) (.build .some (.option .nat) [(.second (.var 0))]) (.build .none (.option .nat) [])) }, + { parameters := [0, 1], types := [.nat, .nat], result := .bool, + body := (.prim .natLe [(.prim .natAdd [(.var 1), (.var 1)]), (.var 0)]) }, + { parameters := [0], types := [(.adt 2)], result := (.list (.adt 2)), + body := (.call 20 [(.closure 21 [(.var 0)]), (.build .nil (.list (.adt 2)) []), (.call 19 [(.field (.var 0) 0)])]) }, + { parameters := [0], types := [(.pair .nat .nat)], result := (.list .nat), + body := (.«match» (.list .nat) (.«let» 1 .nat (.first (.var 0)) (.«let» 2 (.list .nat) (.call 22 [(.var 1)]) (.cond (.call 23 [(.var 1), (.var 2)]) (.build .ok (.result (.list .nat) (.pair .bool .bool)) [(.var 2)]) (.build .error (.result (.list .nat) (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])))) [(.arm .ok [3] (.var 3)), (.arm .error [4] (.build .nil (.list .nat) []))]) }, + { parameters := [0, 1, 2], types := [(.fn [(.list (.adt 2)), .nat] (.list (.adt 2))), (.list (.adt 2)), (.list .nat)], result := (.list (.adt 2)), + body := (.«match» (.list (.adt 2)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 20 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1, 2], types := [(.adt 2), (.list (.adt 2)), .nat], result := (.list (.adt 2)), + body := (.call 24 [(.var 0), (.var 1), (.var 2)]) }, + { parameters := [0], types := [.nat], result := (.list .nat), + body := (.call 25 [(.var 0)]) }, + { parameters := [0, 1], types := [.nat, (.list .nat)], result := .bool, + body := (.prim .natLe [(.prim .length [(.var 1)]), (.value .nat (.nat 4))]) }, + { parameters := [0, 1, 2], types := [(.adt 2), (.list (.adt 2)), .nat], result := (.list (.adt 2)), + body := (.«match» (.list (.adt 2)) (.call 26 [(.field (.var 0) 0), (.build (.adt 0) (.adt 0) [(.var 2)])]) [(.arm .none [] (.var 1)), (.arm .some [3] (.prim .append [(.var 1), (.build .cons (.list (.adt 2)) [(.build (.adt 0) (.adt 2) [(.var 3), (.prim .append [(.field (.var 0) 1), (.build .cons (.list (.adt 0)) [(.build (.adt 0) (.adt 0) [(.var 2)]), (.build .nil (.list (.adt 0)) [])])])]), (.build .nil (.list (.adt 2)) [])])]))]) }, + { parameters := [0], types := [.nat], result := (.list .nat), + body := (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 10))]), (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 20))]), (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 30))]), (.build .cons (.list .nat) [(.prim .natSub [(.var 0), (.value .nat (.nat 50))]), (.build .nil (.list .nat) [])])])])]) }, + { parameters := [0, 1], types := [(.pair .nat .nat), (.adt 0)], result := (.option (.pair .nat .nat)), + body := (.«match» (.option (.pair .nat .nat)) (.var 1) [(.arm (.adt 0) [2] (.call 27 [(.var 0), (.var 2)]))]) }, + { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := (.option (.pair .nat .nat)), + body := (.cond (.call 28 [(.var 0), (.var 1)]) (.build .some (.option (.pair .nat .nat)) [(.call 29 [(.var 0), (.var 1)])]) (.build .none (.option (.pair .nat .nat)) [])) }, + { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := .bool, + body := (.cond (.prim .natEq [(.second (.var 0)), (.value .nat (.nat 0))]) (.prim .natLt [(.value .nat (.nat 0)), (.var 1)]) (.build .false .bool [])) }, + { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := (.pair .nat .nat), + body := (.build .pair (.pair .nat .nat) [(.first (.var 0)), (.var 1)]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := ((.enum (.adt 0) [{ number := 0, fields := [.nat] }]) :: + (.enum (.adt 1) [{ number := 0, fields := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)] }]) :: + (.enum (.adt 2) [{ number := 0, fields := [(.pair .nat .nat), (.list (.adt 0))] }]) :: + (.enum (.adt 3) [{ number := 0, fields := [.nat, .nat, .nat, .nat, .nat, .nat] }]) :: + (.enum (.fn 0) [{ number := 6, fields := [.nat] }]) :: + (.apply 0 [(.adt 1)] (.option (.adt 1)) true [{ function := 6, captures := [.copy], functionFallible := true }]) :: + (.enum (.fn 1) [{ number := 10, fields := [] }, { number := 14, fields := [] }]) :: + (.apply 1 [(.list (.adt 2)), (.adt 2)] (.list (.adt 2)) false [{ function := 10, captures := [], functionFallible := false }, { function := 14, captures := [], functionFallible := false }]) :: + (.enum (.fn 2) [{ number := 21, fields := [(.adt 2)] }]) :: + (.apply 2 [(.list (.adt 2)), .nat] (.list (.adt 2)) false [{ function := 21, captures := [.clone], functionFallible := false }]) :: + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.copy (.generated .binding 0))] true))] (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 1))) (.mk [] (.succeed (.copy (.generated .binding 1))))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 9)))))]))) :: + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible (.result .nat (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .holder 2)) none (.call (.function 2) [(.copy (.generated .binding 0))] true))] (.matchOn (.move (.generated .holder 2)) [(.mk (.ok (.bind (.generated .binding 1))) (.mk [] (.succeed (.construct (.ok .nat (.pair .bool .bool)) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 3))))])))), (.mk (.err (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))]))))]))) :: + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible (.result (.pair .nat (.list (.adt 0))) (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 1)) (some (.pair (.adt 1) .bool)) (.call (.function 3) [(.copy (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 7)) none (.block (.mk [(.mk (.bind (.generated .holder 6)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 5)), .wild]) none (.clone (.generated .binding 1)))] (.move (.generated .part 5)))))] (.matchOn (.move (.generated .holder 6)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 4)), .wild, .wild]) (.mk [] (.move (.generated .part 4))))]))))] (.matchOn (.move (.generated .holder 7)) [(.mk .none (.mk [] (.succeed (.construct (.err (.pair .nat (.list (.adt 0))) (.pair .bool .bool)) [(.call (.function 4) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.move (.generated .binding 1)))] (.move (.generated .part 12)))), (.block (.mk [(.mk (.bind (.generated .holder 15)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 14)))))] (.matchOn (.move (.generated .holder 15)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 13)), .wild]) (.mk [] (.move (.generated .part 13))))])))] false)])))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.ok (.pair .nat (.list (.adt 0))) (.pair .bool .bool)) [(.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 8)))) (.block (.mk [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 10))]) none (.move (.generated .binding 2)))] (.move (.generated .part 10)))))] (.matchOn (.move (.generated .holder 11)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 9))]) (.mk [] (.move (.generated .part 9))))]))))]))))]))) :: + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible (.pair (.adt 1) .bool)) (.mk [] (.call (.function 5) [(.construct (.closure 0 6) [(.copy (.generated .binding 0))]), (.lit (.nat 8)), (.call (.function 7) [(.copy (.generated .binding 0))] false)] false))) :: + (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := .bool }, { pattern := (.bind (.generated .binding 1)), type := .bool }] (.pair .bool .bool) (.mk [] (.cond (.cond (.copy (.generated .binding 0)) (.mk [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1)))] (.call (.runtime .boolNot) [(.move (.generated .operand 16))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.pair (.lit (.bool false)) (.lit (.bool true)))) (.mk [] (.pair (.lit (.bool false)) (.lit (.bool false))))))) :: + (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := (.adt 1) }] (.fallible (.pair (.adt 1) .bool)) (.mk [(.mk (.bind (.generated .holder 17)) none (.copy (.generated .binding 1)))] (.cond (.isZero (.generated .holder 17)) (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 17))), (.mk (.bind (.generated .holder 19)) none (.block (.mk [(.mk (.bind (.generated .callee 18)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 18) [(.clone (.generated .binding 2))] true))))] (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 5) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))]))))) :: + (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := (.adt 1) }] (.fallible (.option (.adt 1))) (.mk [] (.call (.function 8) [(.copy (.generated .binding 0)), (.move (.generated .binding 1))] false))) :: + (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.adt 1) (.mk [(.mk (.bind (.generated .binding 1)) (some (.list (.adt 2))) (.call (.function 9) [(.construct (.closure 1 10) []), (.construct (.nil (.adt 2)) []), (.construct .cons [(.construct (.adt 2 0) [(.call (.function 11) [(.copy (.generated .binding 0))] false), (.construct (.nil (.adt 0)) [])]), (.construct (.nil (.adt 2)) [])])] false))] (.construct (.adt 1 0) [(.clone (.generated .binding 1)), (.construct (.none (.pair .nat (.adt 2))) []), (.block (.mk [(.mk (.bind (.generated .operand 20)) none (.lit (.nat 3))), (.mk (.bind (.generated .operand 21)) none (.lit (.nat 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 20)), (.move (.generated .operand 21))] false))), (.construct (.adt 3 0) [(.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.block (.mk [(.mk (.bind (.generated .operand 22)) none (.move (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 22))] false)))])]))) :: + (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := (.adt 1) }] (.fallible (.option (.adt 1))) (.mk [(.mk (.bind (.generated .holder 24)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 23)), .wild, .wild]) (.mk [] (.move (.generated .part 23))))]))] (.matchOn (.move (.generated .holder 24)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 26)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [(.bind (.generated .part 25)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 25))))]))] (.matchOn (.uncons (.generated .holder 26)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [(.mk (.bind (.generated .holder 28)) none (.call (.function 12) [(.copy (.generated .binding 0)), (.matchOn (.clone (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 27)), .wild]) (.mk [] (.move (.generated .part 27))))])] true))] (.matchOn (.move (.generated .holder 28)) [(.mk .none (.mk [(.mk (.bind (.generated .binding 6)) (some (.list (.adt 2))) (.call (.function 13) [(.clone (.generated .binding 3))] false)), (.mk (.bind (.generated .binding 7)) (some (.list (.adt 2))) (.clone (.generated .binding 6))), (.mk (.bind (.generated .binding 8)) (some (.list (.adt 2))) (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.move (.generated .binding 7))), (.mk (.bind (.generated .operand 53)) none (.move (.generated .binding 4)))] (.call (.runtime .appendList) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false)))), (.mk (.bind (.generated .binding 9)) (some (.list (.adt 2))) (.call (.function 9) [(.construct (.closure 1 14) []), (.construct (.nil (.adt 2)) []), (.clone (.generated .binding 8))] false))] (.succeed (.construct .some [(.construct (.adt 1 0) [(.clone (.generated .binding 9)), (.construct (.none (.pair .nat (.adt 2))) []), (.cond (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 54)), .wild]) (.mk [] (.move (.generated .part 54))))]) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 56)) none (.lit (.nat 3))), (.mk (.bind (.generated .operand 57)) none (.block (.mk [(.mk (.bind (.generated .operand 55)) none (.move (.generated .binding 8)))] (.call (.runtime .lengthList) [(.move (.generated .operand 55))] false))))] (.call (.runtime .natLt) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] false))), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.bind (.generated .holder 60)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 59))]) (.mk [] (.move (.generated .part 59))))]))] (.matchOn (.move (.generated .holder 60)) [(.mk (.adt 3 0 [(.bind (.generated .part 58)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))])))), (.mk (.bind (.generated .operand 62)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 61)), (.move (.generated .operand 62))] true))), (.block (.mk [(.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .holder 65)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 64))]) (.mk [] (.move (.generated .part 64))))]))] (.matchOn (.move (.generated .holder 65)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 63)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])))), (.mk (.bind (.generated .operand 68)) none (.call (.function 15) [(.matchOn (.move (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 66)), .wild]) (.mk [] (.move (.generated .part 66))))])] false))] (.call (.runtime .natAdd) [(.move (.generated .operand 67)), (.move (.generated .operand 68))] true))), (.block (.mk [(.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.bind (.generated .holder 71)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 70))]) (.mk [] (.move (.generated .part 70))))]))] (.matchOn (.move (.generated .holder 71)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 69)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 69))))])))), (.mk (.bind (.generated .operand 74)) none (.block (.mk [(.mk (.bind (.generated .operand 72)) none (.move (.generated .binding 6)))] (.call (.runtime .lengthList) [(.move (.generated .operand 72))] false))))] (.call (.runtime .natAdd) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] true))), (.block (.mk [(.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.bind (.generated .holder 77)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 76))]) (.mk [] (.move (.generated .part 76))))]))] (.matchOn (.move (.generated .holder 77)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 75)), .wild, .wild]) (.mk [] (.move (.generated .part 75))))])))), (.mk (.bind (.generated .operand 79)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 78)), (.move (.generated .operand 79))] true))), (.block (.mk [(.mk (.bind (.generated .operand 83)) none (.block (.mk [(.mk (.bind (.generated .holder 82)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))]))] (.matchOn (.move (.generated .holder 82)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 80)), .wild]) (.mk [] (.move (.generated .part 80))))])))), (.mk (.bind (.generated .operand 84)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 83)), (.move (.generated .operand 84))] true))), (.block (.mk [(.mk (.bind (.generated .operand 89)) none (.block (.mk [(.mk (.bind (.generated .holder 87)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 86))]) (.mk [] (.move (.generated .part 86))))]))] (.matchOn (.move (.generated .holder 87)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 85))]) (.mk [] (.move (.generated .part 85))))])))), (.mk (.bind (.generated .operand 90)) none (.block (.mk [(.mk (.bind (.generated .operand 88)) none (.clone (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 88))] false))))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 89)), (.move (.generated .operand 90))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.move (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 91))] false)) (.mk [(.mk (.bind (.generated .holder 94)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))]))] (.matchOn (.move (.generated .holder 94)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 92))]) (.mk [] (.move (.generated .part 92))))])))))])])])))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.succeed (.construct .some [(.construct (.adt 1 0) [(.move (.generated .binding 4)), (.construct .some [(.pair (.copy (.generated .binding 5)) (.move (.generated .binding 3)))]), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 29)), .wild]) (.mk [] (.move (.generated .part 29))))]), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 33)) none (.block (.mk [(.mk (.bind (.generated .holder 32)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 31))]) (.mk [] (.move (.generated .part 31))))]))] (.matchOn (.move (.generated .holder 32)) [(.mk (.adt 3 0 [(.bind (.generated .part 30)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))])))), (.mk (.bind (.generated .operand 34)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 33)), (.move (.generated .operand 34))] true))), (.block (.mk [(.mk (.bind (.generated .holder 37)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 36))]) (.mk [] (.move (.generated .part 36))))]))] (.matchOn (.move (.generated .holder 37)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 35)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 35))))]))), (.block (.mk [(.mk (.bind (.generated .holder 40)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 39))]) (.mk [] (.move (.generated .part 39))))]))] (.matchOn (.move (.generated .holder 40)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 38)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 38))))]))), (.block (.mk [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))] (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild]) (.mk [] (.move (.generated .part 41))))]))), (.block (.mk [(.mk (.bind (.generated .operand 47)) none (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 44)), .wild]) (.mk [] (.move (.generated .part 44))))])))), (.mk (.bind (.generated .operand 48)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 47)), (.move (.generated .operand 48))] true))), (.block (.mk [(.mk (.bind (.generated .holder 51)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 50))]) (.mk [] (.move (.generated .part 50))))]))] (.matchOn (.move (.generated .holder 51)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 49))]) (.mk [] (.move (.generated .part 49))))])))])])]))))])))]))), (.mk (.some .wild) (.mk [] (.succeed (.construct (.none (.adt 1)) []))))]))) :: + (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 1) }, { pattern := (.bind (.generated .binding 1)), type := (.list (.adt 2)) }, { pattern := (.bind (.generated .binding 2)), type := (.list (.adt 2)) }] (.list (.adt 2)) (.mk [(.mk (.bind (.generated .holder 95)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 95)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 9) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 96)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 96) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)))]))) :: + (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.adt 2)) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 2) }] (.list (.adt 2)) (.mk [(.mk (.bind (.generated .operand 98)) none (.block (.mk [(.mk (.bind (.generated .operand 97)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 97))] false)))), (.mk (.bind (.generated .operand 99)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 98)), (.move (.generated .operand 99))] false) (.mk [(.mk (.bind (.generated .operand 100)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 101)) none (.construct .cons [(.move (.generated .binding 1)), (.construct (.nil (.adt 2)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false)) (.mk [] (.move (.generated .binding 0)))))) :: + (.function (.generated .function 11) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.pair .nat .nat) (.mk [] (.pair (.copy (.generated .binding 0)) (.lit (.nat 0))))) :: + (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := (.pair .nat .nat) }] (.fallible (.option .nat)) (.mk [(.mk (.bind (.generated .holder 102)) none (.call (.function 16) [(.copy (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 102)) [(.mk .none (.mk [] (.succeed (.construct (.none .nat) [])))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.cond (.call (.function 17) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] true) (.mk [] (.succeed (.construct .some [(.copy (.generated .binding 2))]))) (.mk [] (.succeed (.construct (.none .nat) []))))))]))) :: + (.function (.generated .function 13) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 2) }] (.list (.adt 2)) (.mk [] (.call (.function 18) [(.move (.generated .binding 0))] false))) :: + (.function (.generated .function 14) [{ pattern := (.bind (.generated .binding 0)), type := (.list (.adt 2)) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 2) }] (.list (.adt 2)) (.mk [(.mk (.bind (.generated .operand 104)) none (.block (.mk [(.mk (.bind (.generated .operand 103)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 103))] false)))), (.mk (.bind (.generated .operand 105)) none (.lit (.nat 3)))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 104)), (.move (.generated .operand 105))] false) (.mk [(.mk (.bind (.generated .operand 106)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 107)) none (.construct .cons [(.move (.generated .binding 1)), (.construct (.nil (.adt 2)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 106)), (.move (.generated .operand 107))] false)) (.mk [] (.move (.generated .binding 0)))))) :: + (.function (.generated .function 15) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] .nat (.mk [(.mk (.bind (.generated .operand 108)) none (.call (.function 19) [(.copy (.generated .binding 0))] false))] (.call (.runtime .lengthList) [(.move (.generated .operand 108))] false))) :: + (.function (.generated .function 16) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.option .nat) (.mk [(.mk (.bind (.generated .operand 110)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 111)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 109))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 109)))))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 110)), (.move (.generated .operand 111))] false) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 112))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 112))))])) (.mk [] (.construct (.none .nat) []))))) :: + (.function (.generated .function 17) [{ pattern := (.bind (.generated .binding 0)), type := .nat }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.fallible .bool) (.mk [(.mk (.bind (.generated .operand 115)) none (.block (.mk [(.mk (.bind (.generated .operand 113)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 114)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 113)), (.move (.generated .operand 114))] true)))), (.mk (.bind (.generated .operand 116)) none (.copy (.generated .binding 0)))] (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 115)), (.move (.generated .operand 116))] false)))) :: + (.function (.generated .function 18) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 2) }] (.list (.adt 2)) (.mk [] (.call (.function 20) [(.construct (.closure 2 21) [(.clone (.generated .binding 0))]), (.construct (.nil (.adt 2)) []), (.call (.function 19) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 117)), .wild]) (.mk [] (.move (.generated .part 117))))])] false)] false))) :: + (.function (.generated .function 19) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.list .nat) (.mk [(.mk (.bind (.generated .holder 119)) none (.block (.mk [(.mk (.bind (.generated .binding 1)) (some .nat) (.block (.mk [(.mk (.tuple [(.bind (.generated .part 118)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 118))))), (.mk (.bind (.generated .binding 2)) (some (.list .nat)) (.call (.function 22) [(.copy (.generated .binding 1))] false))] (.cond (.call (.function 23) [(.copy (.generated .binding 1)), (.clone (.generated .binding 2))] false) (.mk [] (.construct (.ok (.list .nat) (.pair .bool .bool)) [(.move (.generated .binding 2))])) (.mk [] (.construct (.err (.list .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))]))))))] (.matchOn (.move (.generated .holder 119)) [(.mk (.ok (.bind (.generated .binding 3))) (.mk [] (.move (.generated .binding 3)))), (.mk (.err .wild) (.mk [] (.construct (.nil .nat) [])))]))) :: + (.function (.generated .function 20) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 2) }, { pattern := (.bind (.generated .binding 1)), type := (.list (.adt 2)) }, { pattern := (.bind (.generated .binding 2)), type := (.list .nat) }] (.list (.adt 2)) (.mk [(.mk (.bind (.generated .holder 120)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 120)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 20) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 121)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 121) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)))]))) :: + (.function (.generated .function 21) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 2) }, { pattern := (.bind (.generated .binding 1)), type := (.list (.adt 2)) }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.list (.adt 2)) (.mk [] (.call (.function 24) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false))) :: + (.function (.generated .function 22) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.list .nat) (.mk [] (.call (.function 25) [(.copy (.generated .binding 0))] false))) :: + (.function (.generated .function 23) [{ pattern := .wild, type := .nat }, { pattern := (.bind (.generated .binding 1)), type := (.list .nat) }] .bool (.mk [(.mk (.bind (.generated .operand 123)) none (.block (.mk [(.mk (.bind (.generated .operand 122)) none (.move (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 122))] false)))), (.mk (.bind (.generated .operand 124)) none (.lit (.nat 4)))] (.call (.runtime .natLe) [(.move (.generated .operand 123)), (.move (.generated .operand 124))] false))) :: + (.function (.generated .function 24) [{ pattern := (.bind (.generated .binding 0)), type := (.adt 2) }, { pattern := (.bind (.generated .binding 1)), type := (.list (.adt 2)) }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.list (.adt 2)) (.mk [(.mk (.bind (.generated .holder 126)) none (.call (.function 26) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 125)), .wild]) (.mk [] (.move (.generated .part 125))))]), (.construct (.adt 0 0) [(.copy (.generated .binding 2))])] false))] (.matchOn (.move (.generated .holder 126)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.bind (.generated .binding 3))) (.mk [(.mk (.bind (.generated .operand 130)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 131)) none (.construct .cons [(.construct (.adt 2 0) [(.copy (.generated .binding 3)), (.block (.mk [(.mk (.bind (.generated .operand 128)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 127))]) (.mk [] (.move (.generated .part 127))))])), (.mk (.bind (.generated .operand 129)) none (.construct .cons [(.construct (.adt 0 0) [(.copy (.generated .binding 2))]), (.construct (.nil (.adt 0)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 128)), (.move (.generated .operand 129))] false)))]), (.construct (.nil (.adt 2)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 130)), (.move (.generated .operand 131))] false)))]))) :: + (.function (.generated .function 25) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.list .nat) (.mk [] (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 132)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 133)) none (.lit (.nat 10)))] (.call (.runtime .natSub) [(.move (.generated .operand 132)), (.move (.generated .operand 133))] false))), (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 134)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 135)) none (.lit (.nat 20)))] (.call (.runtime .natSub) [(.move (.generated .operand 134)), (.move (.generated .operand 135))] false))), (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 136)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 137)) none (.lit (.nat 30)))] (.call (.runtime .natSub) [(.move (.generated .operand 136)), (.move (.generated .operand 137))] false))), (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 138)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 139)) none (.lit (.nat 50)))] (.call (.runtime .natSub) [(.move (.generated .operand 138)), (.move (.generated .operand 139))] false))), (.construct (.nil .nat) [])])])])]))) :: + (.function (.generated .function 26) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 0) }] (.option (.pair .nat .nat)) (.mk [(.mk (.bind (.generated .holder 140)) none (.move (.generated .binding 1)))] (.matchOn (.move (.generated .holder 140)) [(.mk (.adt 0 0 [(.bind (.generated .binding 2))]) (.mk [] (.call (.function 27) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false)))]))) :: + (.function (.generated .function 27) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.option (.pair .nat .nat)) (.mk [] (.cond (.call (.function 28) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false) (.mk [] (.construct .some [(.call (.function 29) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false)])) (.mk [] (.construct (.none (.pair .nat .nat)) []))))) :: + (.function (.generated .function 28) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 142)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 141))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 141))))), (.mk (.bind (.generated .operand 143)) none (.lit (.nat 0)))] (.cond (.call (.runtime .natEq) [(.move (.generated .operand 142)), (.move (.generated .operand 143))] false) (.mk [(.mk (.bind (.generated .operand 144)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 145)) none (.copy (.generated .binding 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 144)), (.move (.generated .operand 145))] false)) (.mk [] (.lit (.bool false)))))) :: + (.function (.generated .function 29) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.pair .nat .nat) (.mk [] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 146)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 146)))) (.copy (.generated .binding 1))))) :: + []) } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [(([(.adt 1)], (.option (.adt 1))), true), (([(.list (.adt 2)), (.adt 2)], (.list (.adt 2))), false), (([(.list (.adt 2)), .nat], (.list (.adt 2))), false)] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.copy (.generated .binding 0))] true))], (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 1))) (.mk [] (.succeed (.copy (.generated .binding 1))))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 9)))))]), [(0, .nat, (some 0))], rfl, rfl, + (Corr.matchArms (st := (.result .nat (.pair .bool .bool))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.copy (.generated .binding 1)))) (Corr.mCons (Γ' := [(2, (.pair .bool .bool), none), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 9)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 2)) none (.call (.function 2) [(.copy (.generated .binding 0))] true))], (.matchOn (.move (.generated .holder 2)) [(.mk (.ok (.bind (.generated .binding 1))) (.mk [] (.succeed (.construct (.ok .nat (.pair .bool .bool)) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 3))))])))), (.mk (.err (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))]))))]), [(0, .nat, (some 0))], rfl, rfl, + (Corr.matchArms (st := (.result (.pair .nat (.list (.adt 0))) (.pair .bool .bool))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.pair .nat (.list (.adt 0))), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.ok .nat (.pair .bool .bool)) [(.block (.mk [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 3))))]))) (Corr.mCons (Γ' := [(2, (.pair .bool .bool), (some 2)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 3)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 3))) (Corr.first (ta := .nat) (tb := (.list (.adt 0))) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl))) rfl rfl rfl)⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.pair (.adt 1) .bool)) (.call (.function 3) [(.copy (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 7)) none (.block (.mk [(.mk (.bind (.generated .holder 6)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 5)), .wild]) none (.clone (.generated .binding 1)))] (.move (.generated .part 5)))))] (.matchOn (.move (.generated .holder 6)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 4)), .wild, .wild]) (.mk [] (.move (.generated .part 4))))]))))], (.matchOn (.move (.generated .holder 7)) [(.mk .none (.mk [] (.succeed (.construct (.err (.pair .nat (.list (.adt 0))) (.pair .bool .bool)) [(.call (.function 4) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.move (.generated .binding 1)))] (.move (.generated .part 12)))), (.block (.mk [(.mk (.bind (.generated .holder 15)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 14)))))] (.matchOn (.move (.generated .holder 15)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 13)), .wild]) (.mk [] (.move (.generated .part 13))))])))] false)])))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.succeed (.construct (.ok (.pair .nat (.list (.adt 0))) (.pair .bool .bool)) [(.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 8)))) (.block (.mk [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 10))]) none (.move (.generated .binding 2)))] (.move (.generated .part 10)))))] (.matchOn (.move (.generated .holder 11)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 9))]) (.mk [] (.move (.generated .part 9))))]))))]))))]), [(0, .nat, (some 0))], rfl, rfl, + (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.matchArms (st := (.option (.pair .nat (.adt 2)))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 6)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 5)), .wild]) none (.clone (.generated .binding 1)))] (.move (.generated .part 5)))))]) (tail := (.matchOn (.move (.generated .holder 6)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 4)), .wild, .wild]) (.mk [] (.move (.generated .part 4))))])) (Corr.fieldHeld (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 4))) (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 5)), .wild]) none (.clone (.generated .binding 1)))]) (tail := (.move (.generated .part 5))) (Corr.first (ta := (.adt 1)) (tb := .bool) (Corr.var rfl rfl) rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.pair (.adt 1) .bool), (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.construct (.err (.pair .nat (.list (.adt 0))) (.pair .bool .bool)) [(.call (.function 4) [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.move (.generated .binding 1)))] (.move (.generated .part 12)))), (.block (.mk [(.mk (.bind (.generated .holder 15)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 14)))))] (.matchOn (.move (.generated .holder 15)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 13)), .wild]) (.mk [] (.move (.generated .part 13))))])))] false)]))) (Corr.mCons (Γ' := [(2, (.pair .nat (.adt 2)), (some 2)), (1, (.pair (.adt 1) .bool), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.ok (.pair .nat (.list (.adt 0))) (.pair .bool .bool)) [(.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.move (.generated .binding 2)))] (.move (.generated .part 8)))) (.block (.mk [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 10))]) none (.move (.generated .binding 2)))] (.move (.generated .part 10)))))] (.matchOn (.move (.generated .holder 11)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 9))]) (.mk [] (.move (.generated .part 9))))]))))]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.pair .nat (.list (.adt 0)))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 8)), .wild]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 8))) (Corr.first (ta := .nat) (tb := (.adt 2)) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 11)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 10))]) none (.move (.generated .binding 2)))] (.move (.generated .part 10)))))]) (tail := (.matchOn (.move (.generated .holder 11)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 9))]) (.mk [] (.move (.generated .part 9))))])) (Corr.fieldHeld (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 9))) (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 10))]) none (.move (.generated .binding 2)))]) (tail := (.move (.generated .part 10))) (Corr.second (ta := .nat) (tb := (.adt 2)) (Corr.var rfl rfl) rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.bool, .bool]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 12))]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 12))) (Corr.second (ta := (.adt 1)) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 15)) none (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.move (.generated .binding 1)))] (.move (.generated .part 14)))))]) (tail := (.matchOn (.move (.generated .holder 15)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 13)), .wild]) (.mk [] (.move (.generated .part 13))))])) (Corr.fieldHeld (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 13))) (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.move (.generated .binding 1)))]) (tail := (.move (.generated .part 14))) (Corr.first (ta := (.adt 1)) (tb := .bool) (Corr.var rfl rfl) rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl))) rfl rfl rfl))⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 5) [(.construct (.closure 0 6) [(.copy (.generated .binding 0))]), (.lit (.nat 8)), (.call (.function 7) [(.copy (.generated .binding 0))] false)] false), [(0, .nat, (some 0))], rfl, rfl, + (Corr.callF (ts := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [.nat]) (mask := [false]) (af := true) (ff := true) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl)⟩⟩ + +theorem fun4 : FunOK program krate flags 4 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.cond (.copy (.generated .binding 0)) (.mk [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1)))] (.call (.runtime .boolNot) [(.move (.generated .operand 16))] false)) (.mk [] (.lit (.bool false)))) (.mk [] (.pair (.lit (.bool false)) (.lit (.bool true)))) (.mk [] (.pair (.lit (.bool false)) (.lit (.bool false))))), [(1, .bool, (some 1)), (0, .bool, (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.cond (.copy (.generated .binding 0)) (.mk [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1)))] (.call (.runtime .boolNot) [(.move (.generated .operand 16))] false)) (.mk [] (.lit (.bool false))))) (lk := []) (Corr.cond (lc := []) (ce := (.copy (.generated .binding 0))) (lk := []) (Corr.bOfE (Corr.var rfl rfl)) (Corr.kIf (la := [(.mk (.bind (.generated .operand 16)) none (.copy (.generated .binding 1)))]) (ta := (.call (.runtime .boolNot) [(.move (.generated .operand 16))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.bool]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl)))) (Corr.kIf (la := []) (ta := (.pair (.lit (.bool false)) (.lit (.bool true)))) (lb := []) (tb := (.pair (.lit (.bool false)) (.lit (.bool false)))) (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))))) (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))))))⟩⟩ + +theorem fun5 : FunOK program krate flags 5 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 17)) none (.copy (.generated .binding 1)))], (.cond (.isZero (.generated .holder 17)) (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 17))), (.mk (.bind (.generated .holder 19)) none (.block (.mk [(.mk (.bind (.generated .callee 18)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 18) [(.clone (.generated .binding 2))] true))))] (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 5) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))]))), [(2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))], rfl, rfl, + (Corr.matchNat (sl := (some 3)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool false))))) (lb := [(.mk (.bind (.generated .holder 19)) none (.block (.mk [(.mk (.bind (.generated .callee 18)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 18) [(.clone (.generated .binding 2))] true))))]) (tb := (.matchOn (.move (.generated .holder 19)) [(.mk .none (.mk [] (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true)))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 5) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)))])) (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))))) (Corr.matchArms (st := (.option (.adt 1))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 18)) (some (.fn 0)) (.clone (.generated .binding 0)))]) (tail := (.apply (.generated .callee 18) [(.clone (.generated .binding 2))] true)) (Corr.apply (ps := [(.adt 1)]) (af := true) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, .nat, (some 3)), (2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.pair (.move (.generated .binding 2)) (.lit (.bool true))))) (Corr.mCons (Γ' := [(4, (.adt 1), (some 4)), (3, .nat, (some 3)), (2, (.adt 1), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.adt 1)] (.option (.adt 1))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 5) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callF (ts := [(.fn [(.adt 1)] (.option (.adt 1))), .nat, (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))))))) rfl rfl rfl)))⟩⟩ + +theorem fun6 : FunOK program krate flags 6 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 8) [(.copy (.generated .binding 0)), (.move (.generated .binding 1))] false), [(1, (.adt 1), (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.callF (ts := [.nat, (.adt 1)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)⟩⟩ + +theorem fun7 : FunOK program krate flags 7 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.list (.adt 2))) (.call (.function 9) [(.construct (.closure 1 10) []), (.construct (.nil (.adt 2)) []), (.construct .cons [(.construct (.adt 2 0) [(.call (.function 11) [(.copy (.generated .binding 0))] false), (.construct (.nil (.adt 0)) [])]), (.construct (.nil (.adt 2)) [])])] false))], (.construct (.adt 1 0) [(.clone (.generated .binding 1)), (.construct (.none (.pair .nat (.adt 2))) []), (.block (.mk [(.mk (.bind (.generated .operand 20)) none (.lit (.nat 3))), (.mk (.bind (.generated .operand 21)) none (.lit (.nat 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 20)), (.move (.generated .operand 21))] false))), (.construct (.adt 3 0) [(.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.lit (.nat 0)), (.block (.mk [(.mk (.bind (.generated .operand 22)) none (.move (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 22))] false)))])]), [(0, .nat, (some 0))], rfl, rfl, + (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (.list (.adt 2)), (.list (.adt 2))]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := false) (ff := false) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.adt 2), (.list (.adt 2))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair .nat .nat), (.list (.adt 0))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl (Corr.build (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (mask := [false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 20)) none (.lit (.nat 3))), (.mk (.bind (.generated .operand 21)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natLt) [(.move (.generated .operand 20)), (.move (.generated .operand 21))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 22)) none (.move (.generated .binding 1)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 22))] false)) (Corr.prim (ts := [(.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))) rfl)) (Corr.lNil)))))) rfl))⟩⟩ + +theorem fun8 : FunOK program krate flags 8 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 24)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, (.bind (.generated .part 23)), .wild, .wild]) (.mk [] (.move (.generated .part 23))))]))], (.matchOn (.move (.generated .holder 24)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 26)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [(.bind (.generated .part 25)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 25))))]))] (.matchOn (.uncons (.generated .holder 26)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [(.mk (.bind (.generated .holder 28)) none (.call (.function 12) [(.copy (.generated .binding 0)), (.matchOn (.clone (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 27)), .wild]) (.mk [] (.move (.generated .part 27))))])] true))] (.matchOn (.move (.generated .holder 28)) [(.mk .none (.mk [(.mk (.bind (.generated .binding 6)) (some (.list (.adt 2))) (.call (.function 13) [(.clone (.generated .binding 3))] false)), (.mk (.bind (.generated .binding 7)) (some (.list (.adt 2))) (.clone (.generated .binding 6))), (.mk (.bind (.generated .binding 8)) (some (.list (.adt 2))) (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.move (.generated .binding 7))), (.mk (.bind (.generated .operand 53)) none (.move (.generated .binding 4)))] (.call (.runtime .appendList) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false)))), (.mk (.bind (.generated .binding 9)) (some (.list (.adt 2))) (.call (.function 9) [(.construct (.closure 1 14) []), (.construct (.nil (.adt 2)) []), (.clone (.generated .binding 8))] false))] (.succeed (.construct .some [(.construct (.adt 1 0) [(.clone (.generated .binding 9)), (.construct (.none (.pair .nat (.adt 2))) []), (.cond (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 54)), .wild]) (.mk [] (.move (.generated .part 54))))]) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 56)) none (.lit (.nat 3))), (.mk (.bind (.generated .operand 57)) none (.block (.mk [(.mk (.bind (.generated .operand 55)) none (.move (.generated .binding 8)))] (.call (.runtime .lengthList) [(.move (.generated .operand 55))] false))))] (.call (.runtime .natLt) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] false))), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.bind (.generated .holder 60)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 59))]) (.mk [] (.move (.generated .part 59))))]))] (.matchOn (.move (.generated .holder 60)) [(.mk (.adt 3 0 [(.bind (.generated .part 58)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))])))), (.mk (.bind (.generated .operand 62)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 61)), (.move (.generated .operand 62))] true))), (.block (.mk [(.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .holder 65)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 64))]) (.mk [] (.move (.generated .part 64))))]))] (.matchOn (.move (.generated .holder 65)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 63)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])))), (.mk (.bind (.generated .operand 68)) none (.call (.function 15) [(.matchOn (.move (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 66)), .wild]) (.mk [] (.move (.generated .part 66))))])] false))] (.call (.runtime .natAdd) [(.move (.generated .operand 67)), (.move (.generated .operand 68))] true))), (.block (.mk [(.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.bind (.generated .holder 71)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 70))]) (.mk [] (.move (.generated .part 70))))]))] (.matchOn (.move (.generated .holder 71)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 69)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 69))))])))), (.mk (.bind (.generated .operand 74)) none (.block (.mk [(.mk (.bind (.generated .operand 72)) none (.move (.generated .binding 6)))] (.call (.runtime .lengthList) [(.move (.generated .operand 72))] false))))] (.call (.runtime .natAdd) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] true))), (.block (.mk [(.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.bind (.generated .holder 77)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 76))]) (.mk [] (.move (.generated .part 76))))]))] (.matchOn (.move (.generated .holder 77)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 75)), .wild, .wild]) (.mk [] (.move (.generated .part 75))))])))), (.mk (.bind (.generated .operand 79)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 78)), (.move (.generated .operand 79))] true))), (.block (.mk [(.mk (.bind (.generated .operand 83)) none (.block (.mk [(.mk (.bind (.generated .holder 82)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))]))] (.matchOn (.move (.generated .holder 82)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 80)), .wild]) (.mk [] (.move (.generated .part 80))))])))), (.mk (.bind (.generated .operand 84)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 83)), (.move (.generated .operand 84))] true))), (.block (.mk [(.mk (.bind (.generated .operand 89)) none (.block (.mk [(.mk (.bind (.generated .holder 87)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 86))]) (.mk [] (.move (.generated .part 86))))]))] (.matchOn (.move (.generated .holder 87)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 85))]) (.mk [] (.move (.generated .part 85))))])))), (.mk (.bind (.generated .operand 90)) none (.block (.mk [(.mk (.bind (.generated .operand 88)) none (.clone (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 88))] false))))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 89)), (.move (.generated .operand 90))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.move (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 91))] false)) (.mk [(.mk (.bind (.generated .holder 94)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))]))] (.matchOn (.move (.generated .holder 94)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 92))]) (.mk [] (.move (.generated .part 92))))])))))])])])))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.succeed (.construct .some [(.construct (.adt 1 0) [(.move (.generated .binding 4)), (.construct .some [(.pair (.copy (.generated .binding 5)) (.move (.generated .binding 3)))]), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 29)), .wild]) (.mk [] (.move (.generated .part 29))))]), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 33)) none (.block (.mk [(.mk (.bind (.generated .holder 32)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 31))]) (.mk [] (.move (.generated .part 31))))]))] (.matchOn (.move (.generated .holder 32)) [(.mk (.adt 3 0 [(.bind (.generated .part 30)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))])))), (.mk (.bind (.generated .operand 34)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 33)), (.move (.generated .operand 34))] true))), (.block (.mk [(.mk (.bind (.generated .holder 37)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 36))]) (.mk [] (.move (.generated .part 36))))]))] (.matchOn (.move (.generated .holder 37)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 35)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 35))))]))), (.block (.mk [(.mk (.bind (.generated .holder 40)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 39))]) (.mk [] (.move (.generated .part 39))))]))] (.matchOn (.move (.generated .holder 40)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 38)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 38))))]))), (.block (.mk [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))] (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild]) (.mk [] (.move (.generated .part 41))))]))), (.block (.mk [(.mk (.bind (.generated .operand 47)) none (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 44)), .wild]) (.mk [] (.move (.generated .part 44))))])))), (.mk (.bind (.generated .operand 48)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 47)), (.move (.generated .operand 48))] true))), (.block (.mk [(.mk (.bind (.generated .holder 51)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 50))]) (.mk [] (.move (.generated .part 50))))]))] (.matchOn (.move (.generated .holder 51)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 49))]) (.mk [] (.move (.generated .part 49))))])))])])]))))])))]))), (.mk (.some .wild) (.mk [] (.succeed (.construct (.none (.adt 1)) []))))]), [(1, (.adt 1), (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option (.pair .nat (.adt 2)))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 23))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 26)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [(.bind (.generated .part 25)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 25))))]))]) (tail := (.matchOn (.uncons (.generated .holder 26)) [(.mk .none (.mk [] (.succeed (.construct (.none (.adt 1)) [])))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [(.mk (.bind (.generated .holder 28)) none (.call (.function 12) [(.copy (.generated .binding 0)), (.matchOn (.clone (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 27)), .wild]) (.mk [] (.move (.generated .part 27))))])] true))] (.matchOn (.move (.generated .holder 28)) [(.mk .none (.mk [(.mk (.bind (.generated .binding 6)) (some (.list (.adt 2))) (.call (.function 13) [(.clone (.generated .binding 3))] false)), (.mk (.bind (.generated .binding 7)) (some (.list (.adt 2))) (.clone (.generated .binding 6))), (.mk (.bind (.generated .binding 8)) (some (.list (.adt 2))) (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.move (.generated .binding 7))), (.mk (.bind (.generated .operand 53)) none (.move (.generated .binding 4)))] (.call (.runtime .appendList) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false)))), (.mk (.bind (.generated .binding 9)) (some (.list (.adt 2))) (.call (.function 9) [(.construct (.closure 1 14) []), (.construct (.nil (.adt 2)) []), (.clone (.generated .binding 8))] false))] (.succeed (.construct .some [(.construct (.adt 1 0) [(.clone (.generated .binding 9)), (.construct (.none (.pair .nat (.adt 2))) []), (.cond (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 54)), .wild]) (.mk [] (.move (.generated .part 54))))]) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 56)) none (.lit (.nat 3))), (.mk (.bind (.generated .operand 57)) none (.block (.mk [(.mk (.bind (.generated .operand 55)) none (.move (.generated .binding 8)))] (.call (.runtime .lengthList) [(.move (.generated .operand 55))] false))))] (.call (.runtime .natLt) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] false))), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.bind (.generated .holder 60)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 59))]) (.mk [] (.move (.generated .part 59))))]))] (.matchOn (.move (.generated .holder 60)) [(.mk (.adt 3 0 [(.bind (.generated .part 58)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))])))), (.mk (.bind (.generated .operand 62)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 61)), (.move (.generated .operand 62))] true))), (.block (.mk [(.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .holder 65)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 64))]) (.mk [] (.move (.generated .part 64))))]))] (.matchOn (.move (.generated .holder 65)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 63)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])))), (.mk (.bind (.generated .operand 68)) none (.call (.function 15) [(.matchOn (.move (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 66)), .wild]) (.mk [] (.move (.generated .part 66))))])] false))] (.call (.runtime .natAdd) [(.move (.generated .operand 67)), (.move (.generated .operand 68))] true))), (.block (.mk [(.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.bind (.generated .holder 71)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 70))]) (.mk [] (.move (.generated .part 70))))]))] (.matchOn (.move (.generated .holder 71)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 69)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 69))))])))), (.mk (.bind (.generated .operand 74)) none (.block (.mk [(.mk (.bind (.generated .operand 72)) none (.move (.generated .binding 6)))] (.call (.runtime .lengthList) [(.move (.generated .operand 72))] false))))] (.call (.runtime .natAdd) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] true))), (.block (.mk [(.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.bind (.generated .holder 77)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 76))]) (.mk [] (.move (.generated .part 76))))]))] (.matchOn (.move (.generated .holder 77)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 75)), .wild, .wild]) (.mk [] (.move (.generated .part 75))))])))), (.mk (.bind (.generated .operand 79)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 78)), (.move (.generated .operand 79))] true))), (.block (.mk [(.mk (.bind (.generated .operand 83)) none (.block (.mk [(.mk (.bind (.generated .holder 82)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))]))] (.matchOn (.move (.generated .holder 82)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 80)), .wild]) (.mk [] (.move (.generated .part 80))))])))), (.mk (.bind (.generated .operand 84)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 83)), (.move (.generated .operand 84))] true))), (.block (.mk [(.mk (.bind (.generated .operand 89)) none (.block (.mk [(.mk (.bind (.generated .holder 87)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 86))]) (.mk [] (.move (.generated .part 86))))]))] (.matchOn (.move (.generated .holder 87)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 85))]) (.mk [] (.move (.generated .part 85))))])))), (.mk (.bind (.generated .operand 90)) none (.block (.mk [(.mk (.bind (.generated .operand 88)) none (.clone (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 88))] false))))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 89)), (.move (.generated .operand 90))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.move (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 91))] false)) (.mk [(.mk (.bind (.generated .holder 94)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))]))] (.matchOn (.move (.generated .holder 94)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 92))]) (.mk [] (.move (.generated .part 92))))])))))])])])))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.succeed (.construct .some [(.construct (.adt 1 0) [(.move (.generated .binding 4)), (.construct .some [(.pair (.copy (.generated .binding 5)) (.move (.generated .binding 3)))]), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 29)), .wild]) (.mk [] (.move (.generated .part 29))))]), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 33)) none (.block (.mk [(.mk (.bind (.generated .holder 32)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 31))]) (.mk [] (.move (.generated .part 31))))]))] (.matchOn (.move (.generated .holder 32)) [(.mk (.adt 3 0 [(.bind (.generated .part 30)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))])))), (.mk (.bind (.generated .operand 34)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 33)), (.move (.generated .operand 34))] true))), (.block (.mk [(.mk (.bind (.generated .holder 37)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 36))]) (.mk [] (.move (.generated .part 36))))]))] (.matchOn (.move (.generated .holder 37)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 35)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 35))))]))), (.block (.mk [(.mk (.bind (.generated .holder 40)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 39))]) (.mk [] (.move (.generated .part 39))))]))] (.matchOn (.move (.generated .holder 40)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 38)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 38))))]))), (.block (.mk [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))] (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild]) (.mk [] (.move (.generated .part 41))))]))), (.block (.mk [(.mk (.bind (.generated .operand 47)) none (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 44)), .wild]) (.mk [] (.move (.generated .part 44))))])))), (.mk (.bind (.generated .operand 48)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 47)), (.move (.generated .operand 48))] true))), (.block (.mk [(.mk (.bind (.generated .holder 51)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 50))]) (.mk [] (.move (.generated .part 50))))]))] (.matchOn (.move (.generated .holder 51)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 49))]) (.mk [] (.move (.generated .part 49))))])))])])]))))])))])) (Corr.mCons (Γ' := [(2, (.pair .nat (.adt 2)), none), (1, (.adt 1), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.none (.adt 1)) []))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) rfl rfl rfl (Corr.matchArms (st := (.list (.adt 2))) (U := []) (view := true) (idx := [0, 1]) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 25))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.adt 1), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.none (.adt 1)) []))) (Corr.mCons (Γ' := [(4, (.list (.adt 2)), (some 4)), (3, (.adt 2), (some 3)), (1, (.adt 1), (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 28)) none (.call (.function 12) [(.copy (.generated .binding 0)), (.matchOn (.clone (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 27)), .wild]) (.mk [] (.move (.generated .part 27))))])] true))]) (tail := (.matchOn (.move (.generated .holder 28)) [(.mk .none (.mk [(.mk (.bind (.generated .binding 6)) (some (.list (.adt 2))) (.call (.function 13) [(.clone (.generated .binding 3))] false)), (.mk (.bind (.generated .binding 7)) (some (.list (.adt 2))) (.clone (.generated .binding 6))), (.mk (.bind (.generated .binding 8)) (some (.list (.adt 2))) (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.move (.generated .binding 7))), (.mk (.bind (.generated .operand 53)) none (.move (.generated .binding 4)))] (.call (.runtime .appendList) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false)))), (.mk (.bind (.generated .binding 9)) (some (.list (.adt 2))) (.call (.function 9) [(.construct (.closure 1 14) []), (.construct (.nil (.adt 2)) []), (.clone (.generated .binding 8))] false))] (.succeed (.construct .some [(.construct (.adt 1 0) [(.clone (.generated .binding 9)), (.construct (.none (.pair .nat (.adt 2))) []), (.cond (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 54)), .wild]) (.mk [] (.move (.generated .part 54))))]) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 56)) none (.lit (.nat 3))), (.mk (.bind (.generated .operand 57)) none (.block (.mk [(.mk (.bind (.generated .operand 55)) none (.move (.generated .binding 8)))] (.call (.runtime .lengthList) [(.move (.generated .operand 55))] false))))] (.call (.runtime .natLt) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] false))), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.bind (.generated .holder 60)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 59))]) (.mk [] (.move (.generated .part 59))))]))] (.matchOn (.move (.generated .holder 60)) [(.mk (.adt 3 0 [(.bind (.generated .part 58)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))])))), (.mk (.bind (.generated .operand 62)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 61)), (.move (.generated .operand 62))] true))), (.block (.mk [(.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .holder 65)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 64))]) (.mk [] (.move (.generated .part 64))))]))] (.matchOn (.move (.generated .holder 65)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 63)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])))), (.mk (.bind (.generated .operand 68)) none (.call (.function 15) [(.matchOn (.move (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 66)), .wild]) (.mk [] (.move (.generated .part 66))))])] false))] (.call (.runtime .natAdd) [(.move (.generated .operand 67)), (.move (.generated .operand 68))] true))), (.block (.mk [(.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.bind (.generated .holder 71)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 70))]) (.mk [] (.move (.generated .part 70))))]))] (.matchOn (.move (.generated .holder 71)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 69)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 69))))])))), (.mk (.bind (.generated .operand 74)) none (.block (.mk [(.mk (.bind (.generated .operand 72)) none (.move (.generated .binding 6)))] (.call (.runtime .lengthList) [(.move (.generated .operand 72))] false))))] (.call (.runtime .natAdd) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] true))), (.block (.mk [(.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.bind (.generated .holder 77)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 76))]) (.mk [] (.move (.generated .part 76))))]))] (.matchOn (.move (.generated .holder 77)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 75)), .wild, .wild]) (.mk [] (.move (.generated .part 75))))])))), (.mk (.bind (.generated .operand 79)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 78)), (.move (.generated .operand 79))] true))), (.block (.mk [(.mk (.bind (.generated .operand 83)) none (.block (.mk [(.mk (.bind (.generated .holder 82)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))]))] (.matchOn (.move (.generated .holder 82)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 80)), .wild]) (.mk [] (.move (.generated .part 80))))])))), (.mk (.bind (.generated .operand 84)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 83)), (.move (.generated .operand 84))] true))), (.block (.mk [(.mk (.bind (.generated .operand 89)) none (.block (.mk [(.mk (.bind (.generated .holder 87)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 86))]) (.mk [] (.move (.generated .part 86))))]))] (.matchOn (.move (.generated .holder 87)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 85))]) (.mk [] (.move (.generated .part 85))))])))), (.mk (.bind (.generated .operand 90)) none (.block (.mk [(.mk (.bind (.generated .operand 88)) none (.clone (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 88))] false))))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 89)), (.move (.generated .operand 90))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.move (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 91))] false)) (.mk [(.mk (.bind (.generated .holder 94)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))]))] (.matchOn (.move (.generated .holder 94)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 92))]) (.mk [] (.move (.generated .part 92))))])))))])])])))), (.mk (.some (.bind (.generated .binding 5))) (.mk [] (.succeed (.construct .some [(.construct (.adt 1 0) [(.move (.generated .binding 4)), (.construct .some [(.pair (.copy (.generated .binding 5)) (.move (.generated .binding 3)))]), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 29)), .wild]) (.mk [] (.move (.generated .part 29))))]), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 33)) none (.block (.mk [(.mk (.bind (.generated .holder 32)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 31))]) (.mk [] (.move (.generated .part 31))))]))] (.matchOn (.move (.generated .holder 32)) [(.mk (.adt 3 0 [(.bind (.generated .part 30)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))])))), (.mk (.bind (.generated .operand 34)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 33)), (.move (.generated .operand 34))] true))), (.block (.mk [(.mk (.bind (.generated .holder 37)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 36))]) (.mk [] (.move (.generated .part 36))))]))] (.matchOn (.move (.generated .holder 37)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 35)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 35))))]))), (.block (.mk [(.mk (.bind (.generated .holder 40)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 39))]) (.mk [] (.move (.generated .part 39))))]))] (.matchOn (.move (.generated .holder 40)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 38)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 38))))]))), (.block (.mk [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))] (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild]) (.mk [] (.move (.generated .part 41))))]))), (.block (.mk [(.mk (.bind (.generated .operand 47)) none (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 44)), .wild]) (.mk [] (.move (.generated .part 44))))])))), (.mk (.bind (.generated .operand 48)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 47)), (.move (.generated .operand 48))] true))), (.block (.mk [(.mk (.bind (.generated .holder 51)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 50))]) (.mk [] (.move (.generated .part 50))))]))] (.matchOn (.move (.generated .holder 51)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 49))]) (.mk [] (.move (.generated .part 49))))])))])])]))))])) (Corr.mNil) rfl rfl rfl (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.callOps (ts := [.nat, (.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 27))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(4, (.list (.adt 2)), (some 4)), (3, (.adt 2), (some 3)), (1, (.adt 1), (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .binding 6)) (some (.list (.adt 2))) (.call (.function 13) [(.clone (.generated .binding 3))] false)), (.mk (.bind (.generated .binding 7)) (some (.list (.adt 2))) (.clone (.generated .binding 6))), (.mk (.bind (.generated .binding 8)) (some (.list (.adt 2))) (.block (.mk [(.mk (.bind (.generated .operand 52)) none (.move (.generated .binding 7))), (.mk (.bind (.generated .operand 53)) none (.move (.generated .binding 4)))] (.call (.runtime .appendList) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false)))), (.mk (.bind (.generated .binding 9)) (some (.list (.adt 2))) (.call (.function 9) [(.construct (.closure 1 14) []), (.construct (.nil (.adt 2)) []), (.clone (.generated .binding 8))] false))]) (tail := (.succeed (.construct .some [(.construct (.adt 1 0) [(.clone (.generated .binding 9)), (.construct (.none (.pair .nat (.adt 2))) []), (.cond (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 54)), .wild]) (.mk [] (.move (.generated .part 54))))]) (.mk [] (.lit (.bool true))) (.mk [(.mk (.bind (.generated .operand 56)) none (.lit (.nat 3))), (.mk (.bind (.generated .operand 57)) none (.block (.mk [(.mk (.bind (.generated .operand 55)) none (.move (.generated .binding 8)))] (.call (.runtime .lengthList) [(.move (.generated .operand 55))] false))))] (.call (.runtime .natLt) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] false))), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.bind (.generated .holder 60)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 59))]) (.mk [] (.move (.generated .part 59))))]))] (.matchOn (.move (.generated .holder 60)) [(.mk (.adt 3 0 [(.bind (.generated .part 58)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))])))), (.mk (.bind (.generated .operand 62)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 61)), (.move (.generated .operand 62))] true))), (.block (.mk [(.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .holder 65)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 64))]) (.mk [] (.move (.generated .part 64))))]))] (.matchOn (.move (.generated .holder 65)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 63)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])))), (.mk (.bind (.generated .operand 68)) none (.call (.function 15) [(.matchOn (.move (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 66)), .wild]) (.mk [] (.move (.generated .part 66))))])] false))] (.call (.runtime .natAdd) [(.move (.generated .operand 67)), (.move (.generated .operand 68))] true))), (.block (.mk [(.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.bind (.generated .holder 71)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 70))]) (.mk [] (.move (.generated .part 70))))]))] (.matchOn (.move (.generated .holder 71)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 69)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 69))))])))), (.mk (.bind (.generated .operand 74)) none (.block (.mk [(.mk (.bind (.generated .operand 72)) none (.move (.generated .binding 6)))] (.call (.runtime .lengthList) [(.move (.generated .operand 72))] false))))] (.call (.runtime .natAdd) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] true))), (.block (.mk [(.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.bind (.generated .holder 77)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 76))]) (.mk [] (.move (.generated .part 76))))]))] (.matchOn (.move (.generated .holder 77)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 75)), .wild, .wild]) (.mk [] (.move (.generated .part 75))))])))), (.mk (.bind (.generated .operand 79)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 78)), (.move (.generated .operand 79))] true))), (.block (.mk [(.mk (.bind (.generated .operand 83)) none (.block (.mk [(.mk (.bind (.generated .holder 82)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))]))] (.matchOn (.move (.generated .holder 82)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 80)), .wild]) (.mk [] (.move (.generated .part 80))))])))), (.mk (.bind (.generated .operand 84)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 83)), (.move (.generated .operand 84))] true))), (.block (.mk [(.mk (.bind (.generated .operand 89)) none (.block (.mk [(.mk (.bind (.generated .holder 87)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 86))]) (.mk [] (.move (.generated .part 86))))]))] (.matchOn (.move (.generated .holder 87)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 85))]) (.mk [] (.move (.generated .part 85))))])))), (.mk (.bind (.generated .operand 90)) none (.block (.mk [(.mk (.bind (.generated .operand 88)) none (.clone (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 88))] false))))] (.cond (.call (.runtime .natLt) [(.move (.generated .operand 89)), (.move (.generated .operand 90))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.move (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 91))] false)) (.mk [(.mk (.bind (.generated .holder 94)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))]))] (.matchOn (.move (.generated .holder 94)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 92))]) (.mk [] (.move (.generated .part 92))))])))))])])]))) (Corr.mCons (Γ' := [(5, .nat, (some 5)), (4, (.list (.adt 2)), (some 4)), (3, (.adt 2), (some 3)), (1, (.adt 1), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct .some [(.construct (.adt 1 0) [(.move (.generated .binding 4)), (.construct .some [(.pair (.copy (.generated .binding 5)) (.move (.generated .binding 3)))]), (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 29)), .wild]) (.mk [] (.move (.generated .part 29))))]), (.construct (.adt 3 0) [(.block (.mk [(.mk (.bind (.generated .operand 33)) none (.block (.mk [(.mk (.bind (.generated .holder 32)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 31))]) (.mk [] (.move (.generated .part 31))))]))] (.matchOn (.move (.generated .holder 32)) [(.mk (.adt 3 0 [(.bind (.generated .part 30)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))])))), (.mk (.bind (.generated .operand 34)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 33)), (.move (.generated .operand 34))] true))), (.block (.mk [(.mk (.bind (.generated .holder 37)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 36))]) (.mk [] (.move (.generated .part 36))))]))] (.matchOn (.move (.generated .holder 37)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 35)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 35))))]))), (.block (.mk [(.mk (.bind (.generated .holder 40)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 39))]) (.mk [] (.move (.generated .part 39))))]))] (.matchOn (.move (.generated .holder 40)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 38)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 38))))]))), (.block (.mk [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))] (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild]) (.mk [] (.move (.generated .part 41))))]))), (.block (.mk [(.mk (.bind (.generated .operand 47)) none (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 44)), .wild]) (.mk [] (.move (.generated .part 44))))])))), (.mk (.bind (.generated .operand 48)) none (.lit (.nat 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 47)), (.move (.generated .operand 48))] true))), (.block (.mk [(.mk (.bind (.generated .holder 51)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 50))]) (.mk [] (.move (.generated .part 50))))]))] (.matchOn (.move (.generated .holder 51)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 49))]) (.mk [] (.move (.generated .part 49))))])))])])]))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (mask := [false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair .nat (.adt 2))]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 29))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 33)) none (.block (.mk [(.mk (.bind (.generated .holder 32)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 31))]) (.mk [] (.move (.generated .part 31))))]))] (.matchOn (.move (.generated .holder 32)) [(.mk (.adt 3 0 [(.bind (.generated .part 30)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))])))), (.mk (.bind (.generated .operand 34)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 33)), (.move (.generated .operand 34))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 32)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 31))]) (.mk [] (.move (.generated .part 31))))]))]) (tail := (.matchOn (.move (.generated .holder 32)) [(.mk (.adt 3 0 [(.bind (.generated .part 30)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 30))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 30))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 31))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 37)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 36))]) (.mk [] (.move (.generated .part 36))))]))]) (tail := (.matchOn (.move (.generated .holder 37)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 35)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 35))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 35))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 36))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 40)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 39))]) (.mk [] (.move (.generated .part 39))))]))]) (tail := (.matchOn (.move (.generated .holder 40)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 38)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 38))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 38))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 39))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 43)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 42))]) (.mk [] (.move (.generated .part 42))))]))]) (tail := (.matchOn (.move (.generated .holder 43)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 41)), .wild, .wild]) (.mk [] (.move (.generated .part 41))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 41))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 42))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 47)) none (.block (.mk [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))] (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 44)), .wild]) (.mk [] (.move (.generated .part 44))))])))), (.mk (.bind (.generated .operand 48)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 47)), (.move (.generated .operand 48))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 46)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 45))]) (.mk [] (.move (.generated .part 45))))]))]) (tail := (.matchOn (.move (.generated .holder 46)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 44)), .wild]) (.mk [] (.move (.generated .part 44))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 44))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 45))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 51)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 50))]) (.mk [] (.move (.generated .part 50))))]))]) (tail := (.matchOn (.move (.generated .holder 51)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 49))]) (.mk [] (.move (.generated .part 49))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 49))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 50))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))))) rfl)) (Corr.lNil)))))) rfl)) (Corr.lNil))) rfl))) rfl rfl rfl (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.adt 2)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.letBind (Corr.var rfl rfl) rfl (Corr.letBind (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 52)) none (.move (.generated .binding 7))), (.mk (.bind (.generated .operand 53)) none (.move (.generated .binding 4)))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 52)), (.move (.generated .operand 53))] false)) (Corr.prim (ts := [(.list (.adt 2)), (.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (.list (.adt 2)), (.list (.adt 2))]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := false) (ff := false) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl (Corr.fOfB (Corr.build (ts := [(.adt 1)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (mask := [false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, (.bind (.generated .part 54)), .wild]) (.mk [] (.move (.generated .part 54))))])) (lk := []) (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 54))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.lit (.bool true))) (lb := [(.mk (.bind (.generated .operand 56)) none (.lit (.nat 3))), (.mk (.bind (.generated .operand 57)) none (.block (.mk [(.mk (.bind (.generated .operand 55)) none (.move (.generated .binding 8)))] (.call (.runtime .lengthList) [(.move (.generated .operand 55))] false))))]) (tb := (.call (.runtime .natLt) [(.move (.generated .operand 56)), (.move (.generated .operand 57))] false)) (Corr.bOfE (Corr.buildConst rfl)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 55)) none (.move (.generated .binding 8)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 55))] false)) (Corr.prim (ts := [(.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)))) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (mask := [false, false, false, false, false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 61)) none (.block (.mk [(.mk (.bind (.generated .holder 60)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 59))]) (.mk [] (.move (.generated .part 59))))]))] (.matchOn (.move (.generated .holder 60)) [(.mk (.adt 3 0 [(.bind (.generated .part 58)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))])))), (.mk (.bind (.generated .operand 62)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 61)), (.move (.generated .operand 62))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 60)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 59))]) (.mk [] (.move (.generated .part 59))))]))]) (tail := (.matchOn (.move (.generated .holder 60)) [(.mk (.adt 3 0 [(.bind (.generated .part 58)), .wild, .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 58))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 58))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 59))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 67)) none (.block (.mk [(.mk (.bind (.generated .holder 65)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 64))]) (.mk [] (.move (.generated .part 64))))]))] (.matchOn (.move (.generated .holder 65)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 63)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])))), (.mk (.bind (.generated .operand 68)) none (.call (.function 15) [(.matchOn (.move (.generated .binding 3)) [(.mk (.adt 2 0 [(.bind (.generated .part 66)), .wild]) (.mk [] (.move (.generated .part 66))))])] false))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 67)), (.move (.generated .operand 68))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 65)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 64))]) (.mk [] (.move (.generated .part 64))))]))]) (tail := (.matchOn (.move (.generated .holder 65)) [(.mk (.adt 3 0 [.wild, (.bind (.generated .part 63)), .wild, .wild, .wild, .wild]) (.mk [] (.move (.generated .part 63))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 63))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 64))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 66))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 73)) none (.block (.mk [(.mk (.bind (.generated .holder 71)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 70))]) (.mk [] (.move (.generated .part 70))))]))] (.matchOn (.move (.generated .holder 71)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 69)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 69))))])))), (.mk (.bind (.generated .operand 74)) none (.block (.mk [(.mk (.bind (.generated .operand 72)) none (.move (.generated .binding 6)))] (.call (.runtime .lengthList) [(.move (.generated .operand 72))] false))))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 73)), (.move (.generated .operand 74))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 71)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 70))]) (.mk [] (.move (.generated .part 70))))]))]) (tail := (.matchOn (.move (.generated .holder 71)) [(.mk (.adt 3 0 [.wild, .wild, (.bind (.generated .part 69)), .wild, .wild, .wild]) (.mk [] (.move (.generated .part 69))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 69))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 70))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 72)) none (.move (.generated .binding 6)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 72))] false)) (Corr.prim (ts := [(.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 78)) none (.block (.mk [(.mk (.bind (.generated .holder 77)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 76))]) (.mk [] (.move (.generated .part 76))))]))] (.matchOn (.move (.generated .holder 77)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 75)), .wild, .wild]) (.mk [] (.move (.generated .part 75))))])))), (.mk (.bind (.generated .operand 79)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 78)), (.move (.generated .operand 79))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 77)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 76))]) (.mk [] (.move (.generated .part 76))))]))]) (tail := (.matchOn (.move (.generated .holder 77)) [(.mk (.adt 3 0 [.wild, .wild, .wild, (.bind (.generated .part 75)), .wild, .wild]) (.mk [] (.move (.generated .part 75))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 75))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 76))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 83)) none (.block (.mk [(.mk (.bind (.generated .holder 82)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))]))] (.matchOn (.move (.generated .holder 82)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 80)), .wild]) (.mk [] (.move (.generated .part 80))))])))), (.mk (.bind (.generated .operand 84)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 83)), (.move (.generated .operand 84))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 82)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 81))]) (.mk [] (.move (.generated .part 81))))]))]) (tail := (.matchOn (.move (.generated .holder 82)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, (.bind (.generated .part 80)), .wild]) (.mk [] (.move (.generated .part 80))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 80))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 81))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 89)) none (.block (.mk [(.mk (.bind (.generated .holder 87)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 86))]) (.mk [] (.move (.generated .part 86))))]))] (.matchOn (.move (.generated .holder 87)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 85))]) (.mk [] (.move (.generated .part 85))))])))), (.mk (.bind (.generated .operand 90)) none (.block (.mk [(.mk (.bind (.generated .operand 88)) none (.clone (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 88))] false))))]) (tail := (.cond (.call (.runtime .natLt) [(.move (.generated .operand 89)), (.move (.generated .operand 90))] false) (.mk [(.mk (.bind (.generated .operand 91)) none (.move (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 91))] false)) (.mk [(.mk (.bind (.generated .holder 94)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))]))] (.matchOn (.move (.generated .holder 94)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 92))]) (.mk [] (.move (.generated .part 92))))])))) (Corr.cond (lc := [(.mk (.bind (.generated .operand 89)) none (.block (.mk [(.mk (.bind (.generated .holder 87)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 86))]) (.mk [] (.move (.generated .part 86))))]))] (.matchOn (.move (.generated .holder 87)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 85))]) (.mk [] (.move (.generated .part 85))))])))), (.mk (.bind (.generated .operand 90)) none (.block (.mk [(.mk (.bind (.generated .operand 88)) none (.clone (.generated .binding 9)))] (.call (.runtime .lengthList) [(.move (.generated .operand 88))] false))))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 89)), (.move (.generated .operand 90))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .holder 87)) none (.matchOn (.clone (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 86))]) (.mk [] (.move (.generated .part 86))))]))]) (tail := (.matchOn (.move (.generated .holder 87)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 85))]) (.mk [] (.move (.generated .part 85))))])) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 85))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 86))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 88)) none (.clone (.generated .binding 9)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 88))] false)) (Corr.prim (ts := [(.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 91)) none (.move (.generated .binding 9)))]) (ta := (.call (.runtime .lengthList) [(.move (.generated .operand 91))] false)) (lb := [(.mk (.bind (.generated .holder 94)) none (.matchOn (.move (.generated .binding 1)) [(.mk (.adt 1 0 [.wild, .wild, .wild, (.bind (.generated .part 93))]) (.mk [] (.move (.generated .part 93))))]))]) (tb := (.matchOn (.move (.generated .holder 94)) [(.mk (.adt 3 0 [.wild, .wild, .wild, .wild, .wild, (.bind (.generated .part 92))]) (.mk [] (.move (.generated .part 92))))])) (Corr.prim (ts := [(.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.fieldHeld (ts := [.nat, .nat, .nat, .nat, .nat, .nat]) (rd := (.move (.generated .part 92))) (Corr.eOfBNil (Corr.fieldRead (ts := [(.list (.adt 2)), (.option (.pair .nat (.adt 2))), .bool, (.adt 3)]) (rd := (.move (.generated .part 93))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl rfl rfl rfl rfl)))) (Corr.lNil)))))))) rfl)) (Corr.lNil)))))) rfl)) (Corr.lNil))) rfl))))))) rfl rfl rfl)) rfl rfl rfl (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) rfl rfl rfl)) rfl rfl rfl)⟩⟩ + +theorem fun9 : FunOK program krate flags 9 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 95)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 95)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 9) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 96)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 96) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)))]), [(2, (.list (.adt 2)), (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list (.adt 2))) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list (.adt 2)), (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(4, (.list (.adt 2)), (some 4)), (3, (.adt 2), (some 3)), (2, (.list (.adt 2)), (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 9) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 96)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 96) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.fn [(.list (.adt 2)), (.adt 2)] (.list (.adt 2))), (.list (.adt 2)), (.list (.adt 2))]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 96)) (some (.fn 1)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 96) [(.move (.generated .binding 1)), (.move (.generated .binding 3))] false)) (Corr.apply (ps := [(.list (.adt 2)), (.adt 2)]) (af := false) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun10 : FunOK program krate flags 10 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 98)) none (.block (.mk [(.mk (.bind (.generated .operand 97)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 97))] false)))), (.mk (.bind (.generated .operand 99)) none (.lit (.nat 3)))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 98)), (.move (.generated .operand 99))] false) (.mk [(.mk (.bind (.generated .operand 100)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 101)) none (.construct .cons [(.move (.generated .binding 1)), (.construct (.nil (.adt 2)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false)) (.mk [] (.move (.generated .binding 0)))), [(1, (.adt 2), (some 1)), (0, (.list (.adt 2)), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 98)) none (.block (.mk [(.mk (.bind (.generated .operand 97)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 97))] false)))), (.mk (.bind (.generated .operand 99)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 98)), (.move (.generated .operand 99))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 97)) none (.clone (.generated .binding 0)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 97))] false)) (Corr.prim (ts := [(.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 100)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 101)) none (.construct .cons [(.move (.generated .binding 1)), (.construct (.nil (.adt 2)) [])]))]) (ta := (.call (.runtime .appendList) [(.move (.generated .operand 100)), (.move (.generated .operand 101))] false)) (lb := []) (tb := (.move (.generated .binding 0))) (Corr.prim (ts := [(.list (.adt 2)), (.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [(.adt 2), (.list (.adt 2))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.var rfl rfl))))⟩⟩ + +theorem fun11 : FunOK program krate flags 11 := + ⟨_, rfl, .inl ⟨_, _, [], (.pair (.copy (.generated .binding 0)) (.lit (.nat 0))), [(0, .nat, (some 0))], rfl, rfl, + (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.value rfl rfl) (Corr.lNil)))))⟩⟩ + +theorem fun12 : FunOK program krate flags 12 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 102)) none (.call (.function 16) [(.copy (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 102)) [(.mk .none (.mk [] (.succeed (.construct (.none .nat) [])))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.cond (.call (.function 17) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] true) (.mk [] (.succeed (.construct .some [(.copy (.generated .binding 2))]))) (.mk [] (.succeed (.construct (.none .nat) []))))))]), [(1, (.pair .nat .nat), (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.pair .nat .nat), (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.construct (.none .nat) []))) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.pair .nat .nat), (some 1)), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 17) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] true) (.mk [] (.succeed (.construct .some [(.copy (.generated .binding 2))]))) (.mk [] (.succeed (.construct (.none .nat) []))))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 17) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] true)) (lk := []) (Corr.callOps (ts := [.nat, .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.succeed (.construct .some [(.copy (.generated .binding 2))]))) (lb := []) (tb := (.succeed (.construct (.none .nat) []))) (Corr.fOfB (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))))) rfl rfl rfl (Corr.fOfB (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl))) rfl rfl rfl)⟩⟩ + +theorem fun13 : FunOK program krate flags 13 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 18) [(.move (.generated .binding 0))] false), [(0, (.adt 2), (some 0))], rfl, rfl, + (Corr.callOps (ts := [(.adt 2)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun14 : FunOK program krate flags 14 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 104)) none (.block (.mk [(.mk (.bind (.generated .operand 103)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 103))] false)))), (.mk (.bind (.generated .operand 105)) none (.lit (.nat 3)))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 104)), (.move (.generated .operand 105))] false) (.mk [(.mk (.bind (.generated .operand 106)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 107)) none (.construct .cons [(.move (.generated .binding 1)), (.construct (.nil (.adt 2)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 106)), (.move (.generated .operand 107))] false)) (.mk [] (.move (.generated .binding 0)))), [(1, (.adt 2), (some 1)), (0, (.list (.adt 2)), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 104)) none (.block (.mk [(.mk (.bind (.generated .operand 103)) none (.clone (.generated .binding 0)))] (.call (.runtime .lengthList) [(.move (.generated .operand 103))] false)))), (.mk (.bind (.generated .operand 105)) none (.lit (.nat 3)))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 104)), (.move (.generated .operand 105))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 103)) none (.clone (.generated .binding 0)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 103))] false)) (Corr.prim (ts := [(.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 106)) none (.move (.generated .binding 0))), (.mk (.bind (.generated .operand 107)) none (.construct .cons [(.move (.generated .binding 1)), (.construct (.nil (.adt 2)) [])]))]) (ta := (.call (.runtime .appendList) [(.move (.generated .operand 106)), (.move (.generated .operand 107))] false)) (lb := []) (tb := (.move (.generated .binding 0))) (Corr.prim (ts := [(.list (.adt 2)), (.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [(.adt 2), (.list (.adt 2))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.var rfl rfl))))⟩⟩ + +theorem fun15 : FunOK program krate flags 15 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 108)) none (.call (.function 19) [(.copy (.generated .binding 0))] false))], (.call (.runtime .lengthList) [(.move (.generated .operand 108))] false), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.prim (ts := [(.list .nat)]) (Corr.opsCons (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun16 : FunOK program krate flags 16 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 110)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 111)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 109))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 109)))))], (.cond (.call (.runtime .natLt) [(.move (.generated .operand 110)), (.move (.generated .operand 111))] false) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 112))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 112))))])) (.mk [] (.construct (.none .nat) []))), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 110)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 111)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 109))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 109)))))]) (ce := (.call (.runtime .natLt) [(.move (.generated .operand 110)), (.move (.generated .operand 111))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 109))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 109))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 112))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 112))))])) (lb := []) (tb := (.construct (.none .nat) [])) (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 112))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 112))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun17 : FunOK program krate flags 17 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 115)) none (.block (.mk [(.mk (.bind (.generated .operand 113)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 114)) none (.copy (.generated .binding 1)))] (.call (.runtime .natAdd) [(.move (.generated .operand 113)), (.move (.generated .operand 114))] true)))), (.mk (.bind (.generated .operand 116)) none (.copy (.generated .binding 0)))], (.succeed (.call (.runtime .natLe) [(.move (.generated .operand 115)), (.move (.generated .operand 116))] false)), [(1, .nat, (some 1)), (0, .nat, (some 0))], rfl, rfl, + (Corr.fOfB (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 113)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 114)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 113)), (.move (.generated .operand 114))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl))⟩⟩ + +theorem fun18 : FunOK program krate flags 18 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 20) [(.construct (.closure 2 21) [(.clone (.generated .binding 0))]), (.construct (.nil (.adt 2)) []), (.call (.function 19) [(.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 117)), .wild]) (.mk [] (.move (.generated .part 117))))])] false)] false), [(0, (.adt 2), (some 0))], rfl, rfl, + (Corr.callOps (ts := [(.fn [(.list (.adt 2)), .nat] (.list (.adt 2))), (.list (.adt 2)), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [(.adt 2)]) (mask := [false]) (af := false) (ff := false) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 117))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun19 : FunOK program krate flags 19 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 119)) none (.block (.mk [(.mk (.bind (.generated .binding 1)) (some .nat) (.block (.mk [(.mk (.tuple [(.bind (.generated .part 118)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 118))))), (.mk (.bind (.generated .binding 2)) (some (.list .nat)) (.call (.function 22) [(.copy (.generated .binding 1))] false))] (.cond (.call (.function 23) [(.copy (.generated .binding 1)), (.clone (.generated .binding 2))] false) (.mk [] (.construct (.ok (.list .nat) (.pair .bool .bool)) [(.move (.generated .binding 2))])) (.mk [] (.construct (.err (.list .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))]))))))], (.matchOn (.move (.generated .holder 119)) [(.mk (.ok (.bind (.generated .binding 3))) (.mk [] (.move (.generated .binding 3)))), (.mk (.err .wild) (.mk [] (.construct (.nil .nat) [])))]), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.result (.list .nat) (.pair .bool .bool))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.bind (.generated .binding 1)) (some .nat) (.block (.mk [(.mk (.tuple [(.bind (.generated .part 118)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 118))))), (.mk (.bind (.generated .binding 2)) (some (.list .nat)) (.call (.function 22) [(.copy (.generated .binding 1))] false))]) (tail := (.cond (.call (.function 23) [(.copy (.generated .binding 1)), (.clone (.generated .binding 2))] false) (.mk [] (.construct (.ok (.list .nat) (.pair .bool .bool)) [(.move (.generated .binding 2))])) (.mk [] (.construct (.err (.list .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))) (Corr.letBind (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 118)), .wild]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 118))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) rfl (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.cond (lc := []) (ce := (.call (.function 23) [(.copy (.generated .binding 1)), (.clone (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [.nat, (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct (.ok (.list .nat) (.pair .bool .bool)) [(.move (.generated .binding 2))])) (lb := []) (tb := (.construct (.err (.list .nat) (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])) (Corr.build (ts := [(.list .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl) (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))))) (Corr.mCons (Γ' := [(3, (.list .nat), (some 3)), (0, (.pair .nat .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 3))) (Corr.mCons (Γ' := [(4, (.pair .bool .bool), none), (0, (.pair .nat .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct (.nil .nat) [])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun20 : FunOK program krate flags 20 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 120)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 120)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 20) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 121)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 121) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)))]), [(2, (.list .nat), (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.fn [(.list (.adt 2)), .nat] (.list (.adt 2))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.fn [(.list (.adt 2)), .nat] (.list (.adt 2))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(4, (.list .nat), (some 4)), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.fn [(.list (.adt 2)), .nat] (.list (.adt 2))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 20) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 121)) (some (.fn 2)) (.move (.generated .binding 0)))] (.apply (.generated .callee 121) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.fn [(.list (.adt 2)), .nat] (.list (.adt 2))), (.list (.adt 2)), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 121)) (some (.fn 2)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 121) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false)) (Corr.apply (ps := [(.list (.adt 2)), .nat]) (af := false) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun21 : FunOK program krate flags 21 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 24) [(.move (.generated .binding 0)), (.move (.generated .binding 1)), (.copy (.generated .binding 2))] false), [(2, .nat, (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.adt 2), (some 0))], rfl, rfl, + (Corr.callOps (ts := [(.adt 2), (.list (.adt 2)), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun22 : FunOK program krate flags 22 := + ⟨_, rfl, .inl ⟨_, _, [], (.call (.function 25) [(.copy (.generated .binding 0))] false), [(0, .nat, (some 0))], rfl, rfl, + (Corr.callOps (ts := [.nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun23 : FunOK program krate flags 23 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 123)) none (.block (.mk [(.mk (.bind (.generated .operand 122)) none (.move (.generated .binding 1)))] (.call (.runtime .lengthList) [(.move (.generated .operand 122))] false)))), (.mk (.bind (.generated .operand 124)) none (.lit (.nat 4)))], (.call (.runtime .natLe) [(.move (.generated .operand 123)), (.move (.generated .operand 124))] false), [(1, (.list .nat), (some 1)), (0, .nat, none)], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 122)) none (.move (.generated .binding 1)))]) (tail := (.call (.runtime .lengthList) [(.move (.generated .operand 122))] false)) (Corr.prim (ts := [(.list .nat)]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun24 : FunOK program krate flags 24 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 126)) none (.call (.function 26) [(.matchOn (.clone (.generated .binding 0)) [(.mk (.adt 2 0 [(.bind (.generated .part 125)), .wild]) (.mk [] (.move (.generated .part 125))))]), (.construct (.adt 0 0) [(.copy (.generated .binding 2))])] false))], (.matchOn (.move (.generated .holder 126)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.bind (.generated .binding 3))) (.mk [(.mk (.bind (.generated .operand 130)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 131)) none (.construct .cons [(.construct (.adt 2 0) [(.copy (.generated .binding 3)), (.block (.mk [(.mk (.bind (.generated .operand 128)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 127))]) (.mk [] (.move (.generated .part 127))))])), (.mk (.bind (.generated .operand 129)) none (.construct .cons [(.construct (.adt 0 0) [(.copy (.generated .binding 2))]), (.construct (.nil (.adt 0)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 128)), (.move (.generated .operand 129))] false)))]), (.construct (.nil (.adt 2)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 130)), (.move (.generated .operand 131))] false)))]), [(2, .nat, (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.adt 2), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option (.pair .nat .nat))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat), (.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 125))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.adt 2), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(3, (.pair .nat .nat), (some 3)), (2, .nat, (some 2)), (1, (.list (.adt 2)), (some 1)), (0, (.adt 2), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .operand 130)) none (.move (.generated .binding 1))), (.mk (.bind (.generated .operand 131)) none (.construct .cons [(.construct (.adt 2 0) [(.copy (.generated .binding 3)), (.block (.mk [(.mk (.bind (.generated .operand 128)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 127))]) (.mk [] (.move (.generated .part 127))))])), (.mk (.bind (.generated .operand 129)) none (.construct .cons [(.construct (.adt 0 0) [(.copy (.generated .binding 2))]), (.construct (.nil (.adt 0)) [])]))] (.call (.runtime .appendList) [(.move (.generated .operand 128)), (.move (.generated .operand 129))] false)))]), (.construct (.nil (.adt 2)) [])]))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 130)), (.move (.generated .operand 131))] false)) (Corr.mNil) rfl rfl rfl (Corr.prim (ts := [(.list (.adt 2)), (.list (.adt 2))]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [(.adt 2), (.list (.adt 2))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [(.pair .nat .nat), (.list (.adt 0))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 128)) none (.matchOn (.move (.generated .binding 0)) [(.mk (.adt 2 0 [.wild, (.bind (.generated .part 127))]) (.mk [] (.move (.generated .part 127))))])), (.mk (.bind (.generated .operand 129)) none (.construct .cons [(.construct (.adt 0 0) [(.copy (.generated .binding 2))]), (.construct (.nil (.adt 0)) [])]))]) (tail := (.call (.runtime .appendList) [(.move (.generated .operand 128)), (.move (.generated .operand 129))] false)) (Corr.prim (ts := [(.list (.adt 0)), (.list (.adt 0))]) (Corr.opsCons (Corr.eOfBNil (Corr.fieldRead (ts := [(.pair .nat .nat), (.list (.adt 0))]) (rd := (.move (.generated .part 127))) (Corr.var rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.opsCons (Corr.eOfBNil (Corr.build (ts := [(.adt 0), (.list (.adt 0))]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun25 : FunOK program krate flags 25 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 132)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 133)) none (.lit (.nat 10)))] (.call (.runtime .natSub) [(.move (.generated .operand 132)), (.move (.generated .operand 133))] false))), (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 134)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 135)) none (.lit (.nat 20)))] (.call (.runtime .natSub) [(.move (.generated .operand 134)), (.move (.generated .operand 135))] false))), (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 136)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 137)) none (.lit (.nat 30)))] (.call (.runtime .natSub) [(.move (.generated .operand 136)), (.move (.generated .operand 137))] false))), (.construct .cons [(.block (.mk [(.mk (.bind (.generated .operand 138)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 139)) none (.lit (.nat 50)))] (.call (.runtime .natSub) [(.move (.generated .operand 138)), (.move (.generated .operand 139))] false))), (.construct (.nil .nat) [])])])])]), [(0, .nat, (some 0))], rfl, rfl, + (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 132)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 133)) none (.lit (.nat 10)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 132)), (.move (.generated .operand 133))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 134)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 135)) none (.lit (.nat 20)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 134)), (.move (.generated .operand 135))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 136)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 137)) none (.lit (.nat 30)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 136)), (.move (.generated .operand 137))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 138)) none (.copy (.generated .binding 0))), (.mk (.bind (.generated .operand 139)) none (.lit (.nat 50)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 138)), (.move (.generated .operand 139))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)⟩⟩ + +theorem fun26 : FunOK program krate flags 26 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 140)) none (.move (.generated .binding 1)))], (.matchOn (.move (.generated .holder 140)) [(.mk (.adt 0 0 [(.bind (.generated .binding 2))]) (.mk [] (.call (.function 27) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false)))]), [(1, (.adt 0), (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.adt 0), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.call (.function 27) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.pair .nat .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl)⟩⟩ + +theorem fun27 : FunOK program krate flags 27 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 28) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false) (.mk [] (.construct .some [(.call (.function 29) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false)])) (.mk [] (.construct (.none (.pair .nat .nat)) []))), [(1, .nat, (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 28) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.pair .nat .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 29) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false)])) (lb := []) (tb := (.construct (.none (.pair .nat .nat)) [])) (Corr.build (ts := [(.pair .nat .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun28 : FunOK program krate flags 28 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 142)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 141))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 141))))), (.mk (.bind (.generated .operand 143)) none (.lit (.nat 0)))], (.cond (.call (.runtime .natEq) [(.move (.generated .operand 142)), (.move (.generated .operand 143))] false) (.mk [(.mk (.bind (.generated .operand 144)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 145)) none (.copy (.generated .binding 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 144)), (.move (.generated .operand 145))] false)) (.mk [] (.lit (.bool false)))), [(1, .nat, (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 142)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 141))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 141))))), (.mk (.bind (.generated .operand 143)) none (.lit (.nat 0)))]) (ce := (.call (.runtime .natEq) [(.move (.generated .operand 142)), (.move (.generated .operand 143))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 141))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 141))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 144)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 145)) none (.copy (.generated .binding 1)))]) (ta := (.call (.runtime .natLt) [(.move (.generated .operand 144)), (.move (.generated .operand 145))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun29 : FunOK program krate flags 29 := + ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 146)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 146)))) (.copy (.generated .binding 1))), [(1, .nat, (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 146)), .wild]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 146))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | 4 => exact fun4 + | 5 => exact fun5 + | 6 => exact fun6 + | 7 => exact fun7 + | 8 => exact fun8 + | 9 => exact fun9 + | 10 => exact fun10 + | 11 => exact fun11 + | 12 => exact fun12 + | 13 => exact fun13 + | 14 => exact fun14 + | 15 => exact fun15 + | 16 => exact fun16 + | 17 => exact fun17 + | 18 => exact fun18 + | 19 => exact fun19 + | 20 => exact fun20 + | 21 => exact fun21 + | 22 => exact fun22 + | 23 => exact fun23 + | 24 => exact fun24 + | 25 => exact fun25 + | 26 => exact fun26 + | 27 => exact fun27 + | 28 => exact fun28 + | 29 => exact fun29 + | _ + 30 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R7.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R7.lean new file mode 100644 index 000000000..8f49572de --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R7.lean @@ -0,0 +1,200 @@ +import LexLeanPreservation.Core +import LexLeanPreservation.Values +import LexLeanPreservation.Primitives +import LexLeanPreservation.Fixed +import LexLeanPreservation.Keys +import LexLeanPreservation.Templates +import LexLeanPreservation.Validate +import Reasoning.Budget +import Reasoning.Clinic +import Reasoning.Main +import Reasoning.Planner +import Reasoning.Screening +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7 + +def __prog : _root_.LexLeanTarget.TargetSyntax.Program := + { adts := [{ constructors := [[], [.nat]] }], functions := [ + { parameters := [0], types := [.nat], result := .nat, + body := (.«match» .nat (.call 1 [(.build .pair (.pair .nat .nat) [(.var 0), (.var 0)])]) [(.arm .ok [1] (.var 1)), (.arm .error [2] (.value .nat (.nat 9)))]) }, + { parameters := [0], types := [(.pair .nat .nat)], result := (.result .nat (.pair .bool .bool)), + body := (.«let» 1 (.pair (.pair .nat .nat) .bool) (.call 2 [(.var 0)]) (.«match» (.result .nat (.pair .bool .bool)) (.second (.var 1)) [(.arm .true [] (.call 3 [(.var 0), (.first (.var 1))])), (.arm .false [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))])) }, + { parameters := [0], types := [(.pair .nat .nat)], result := (.pair (.pair .nat .nat) .bool), + body := (.call 4 [(.closure 5 []), (.prim .natAdd [(.second (.var 0)), (.value .nat (.nat 4))]), (.call 6 [(.var 0)])]) }, + { parameters := [0, 1], types := [(.pair .nat .nat), (.pair .nat .nat)], result := (.result .nat (.pair .bool .bool)), + body := (.«match» (.result .nat (.pair .bool .bool)) (.call 7 [(.var 0), (.var 1)]) [(.arm .some [2] (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)])), (.arm .none [] (.«match» (.result .nat (.pair .bool .bool)) (.call 8 [(.var 1)]) [(.arm .some [3] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])), (.arm .none [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])]))]))]) }, + { parameters := [0, 1, 2], types := [(.fn [(.pair .nat .nat)] (.option (.pair .nat .nat))), .nat, (.pair .nat .nat)], result := (.pair (.pair .nat .nat) .bool), + body := (.«match» (.pair (.pair .nat .nat) .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair (.pair .nat .nat) .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair (.pair .nat .nat) .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair (.pair .nat .nat) .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 4 [(.var 0), (.var 3), (.var 4)]))]))]) }, + { parameters := [0], types := [(.pair .nat .nat)], result := (.option (.pair .nat .nat)), + body := (.«match» (.option (.pair .nat .nat)) (.call 9 [(.var 0)]) [(.arm .none [] (.build .none (.option (.pair .nat .nat)) [])), (.arm .some [1] (.call 10 [(.var 0), (.var 1)]))]) }, + { parameters := [0], types := [(.pair .nat .nat)], result := (.pair .nat .nat), + body := (.build .pair (.pair .nat .nat) [(.first (.var 0)), (.prim .natAdd [(.second (.var 0)), (.value .nat (.nat 3))])]) }, + { parameters := [0, 1], types := [(.pair .nat .nat), (.pair .nat .nat)], result := (.option .nat), + body := (.«match» (.option .nat) (.call 8 [(.var 1)]) [(.arm .none [] (.build .none (.option .nat) [])), (.arm .some [2] (.cond (.call 11 [(.var 0), (.var 2)]) (.build .some (.option .nat) [(.var 2)]) (.build .none (.option .nat) [])))]) }, + { parameters := [0], types := [(.pair .nat .nat)], result := (.option .nat), + body := (.build .some (.option .nat) [(.second (.var 0))]) }, + { parameters := [0], types := [(.pair .nat .nat)], result := (.option (.adt 0)), + body := (.«match» (.option (.adt 0)) (.cond (.call 12 [(.var 0)]) (.build .some (.option (.adt 0)) [(.build (.adt 0) (.adt 0) [])]) (.build .none (.option (.adt 0)) [])) [(.arm .some [1] (.build .some (.option (.adt 0)) [(.var 1)])), (.arm .none [] (.call 13 [(.closure 14 [(.var 0)]), (.build .none (.option (.adt 0)) []), (.call 15 [(.var 0)])]))]) }, + { parameters := [0, 1], types := [(.pair .nat .nat), (.adt 0)], result := (.option (.pair .nat .nat)), + body := (.«match» (.option (.pair .nat .nat)) (.var 1) [(.arm (.adt 0) [] (.call 16 [(.var 0)])), (.arm (.adt 1) [2] (.call 17 [(.var 0), (.var 2)]))]) }, + { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := .bool, + body := (.prim .natEq [(.var 1), (.value .nat (.nat 0))]) }, + { parameters := [0], types := [(.pair .nat .nat)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 2)), (.second (.var 0))]) }, + { parameters := [0, 1, 2], types := [(.fn [(.option (.adt 0)), .nat] (.option (.adt 0))), (.option (.adt 0)), (.list .nat)], result := (.option (.adt 0)), + body := (.«match» (.option (.adt 0)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 13 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1, 2], types := [(.pair .nat .nat), (.option (.adt 0)), .nat], result := (.option (.adt 0)), + body := (.«match» (.option (.adt 0)) (.var 1) [(.arm .some [3] (.build .some (.option (.adt 0)) [(.var 3)])), (.arm .none [] (.cond (.call 18 [(.var 0), (.var 2)]) (.build .some (.option (.adt 0)) [(.build (.adt 1) (.adt 0) [(.var 2)])]) (.build .none (.option (.adt 0)) [])))]) }, + { parameters := [0], types := [(.pair .nat .nat)], result := (.list .nat), + body := (.build .cons (.list .nat) [(.value .nat (.nat 2)), (.build .cons (.list .nat) [(.value .nat (.nat 1)), (.build .nil (.list .nat) [])])]) }, + { parameters := [0], types := [(.pair .nat .nat)], result := (.option (.pair .nat .nat)), + body := (.cond (.call 12 [(.var 0)]) (.build .some (.option (.pair .nat .nat)) [(.call 19 [(.var 0)])]) (.build .none (.option (.pair .nat .nat)) [])) }, + { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := (.option (.pair .nat .nat)), + body := (.cond (.call 18 [(.var 0), (.var 1)]) (.build .some (.option (.pair .nat .nat)) [(.call 20 [(.var 0), (.var 1)])]) (.build .none (.option (.pair .nat .nat)) [])) }, + { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := .bool, + body := (.cond (.prim .natLe [(.var 1), (.second (.var 0))]) (.prim .natLt [(.value .nat (.nat 0)), (.var 1)]) (.build .false .bool [])) }, + { parameters := [0], types := [(.pair .nat .nat)], result := (.pair .nat .nat), + body := (.build .pair (.pair .nat .nat) [(.first (.var 0)), (.prim .natSub [(.second (.var 0)), (.value .nat (.nat 1))])]) }, + { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := (.pair .nat .nat), + body := (.build .pair (.pair .nat .nat) [(.first (.var 0)), (.prim .natSub [(.second (.var 0)), (.var 1)])]) }] } + +def __enc_0 : (Reasoning.Budget.Spend.Step Nat) -> _root_.LexLeanTarget.TargetSyntax.Value + | Reasoning.Budget.Spend.Step.Tick => _root_.LexLeanTarget.TargetSyntax.Value.adt 0 [] + | Reasoning.Budget.Spend.Step.Burn __x0 => _root_.LexLeanTarget.TargetSyntax.Value.adt 1 [(_root_.LexLeanTarget.TargetSyntax.Value.nat __x0)] + +def __fits_12 (s : (Prod Nat Nat)) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_12 (s : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 12 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s)] (_root_.LexLeanPreservation.Rel (__fits_12 s) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Budget.Tick.guard Nat s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (2 : Nat) (s).2)) + +def __fits_18 (s : (Prod Nat Nat)) (k : Nat) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && (if (Nat.ble k (s).2) then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true))) + +theorem __rel_18 (s : (Prod Nat Nat)) (k : Nat) : _root_.LexLeanPreservation.FunRel __prog 18 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s), (_root_.LexLeanTarget.TargetSyntax.Value.nat k)] (_root_.LexLeanPreservation.Rel (__fits_18 s k) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Budget.Burn.guard Nat s k))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => if __b then ((Bool.true && (Bool.true && Bool.true)) && Bool.true) else (Bool.true && Bool.true)) (fun (__b : Bool) => _root_.LexLeanTarget.TargetSyntax.Value.bool (__b && (Nat.blt (0 : Nat) k))) (Nat.ble k (s).2) (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLe k (s).2)) (fun _ => (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natLt (0 : Nat) k))) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false))) + +def __fits_14 (_ys : (Prod Nat Nat)) (_yacc : (Option (Reasoning.Budget.Spend.Step Nat))) (_yb : Nat) : Bool := + (Bool.true && ((fun (T : Type) (__a : (Option (Reasoning.Budget.Spend.Step T))) (__k0 : ∀ (_yfound : (Reasoning.Budget.Spend.Step T)), Bool) (__k1 : Bool) => (match __a with | Option.some _yfound => __k0 _yfound | Option.none => __k1 : Bool)) Nat _yacc (fun (_yfound : (Reasoning.Budget.Spend.Step Nat)) => ((Bool.true && Bool.true) && Bool.true)) ((((Bool.true && (Bool.true && Bool.true)) && (__fits_18 (_ys) (_yb))) && (if (Reasoning.Budget.Burn.guard Nat (_ys) (_yb)) then ((((Bool.true && Bool.true) && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true)))))) + +attribute [local irreducible] Reasoning.Budget.Burn.guard in +theorem __rel_14 (_ys : (Prod Nat Nat)) (_yacc : (Option (Reasoning.Budget.Spend.Step Nat))) (_yb : Nat) : _root_.LexLeanPreservation.FunRel __prog 14 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _ys), ((_root_.LexLeanPreservation.encOption __enc_0) _yacc), (_root_.LexLeanTarget.TargetSyntax.Value.nat _yb)] (_root_.LexLeanPreservation.Rel (__fits_14 _ys _yacc _yb) ((_root_.LexLeanPreservation.encOption __enc_0) (((fun (T : Type) (__a : (Option (Reasoning.Budget.Spend.Step T))) (__k0 : ∀ (_yfound : (Reasoning.Budget.Spend.Step T)), (Option (Reasoning.Budget.Spend.Step Nat))) (__k1 : (Option (Reasoning.Budget.Spend.Step Nat))) => (match __a with | Option.some _yfound => __k0 _yfound | Option.none => __k1 : (Option (Reasoning.Budget.Spend.Step Nat)))) Nat _yacc (fun (_yfound : (Reasoning.Budget.Spend.Step Nat)) => (Option.some (_yfound) : (Option (Reasoning.Budget.Spend.Step Nat)))) ((if (Reasoning.Budget.Burn.guard Nat (_ys) (_yb)) then (Option.some ((Reasoning.Budget.Spend.Step.Burn (_yb) : (Reasoning.Budget.Spend.Step Nat))) : (Option (Reasoning.Budget.Spend.Step Nat))) else (Option.none : (Option (Reasoning.Budget.Spend.Step Nat))))))))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_0) (fun (__a : (Option (Reasoning.Budget.Spend.Step Nat))) => ((fun (T : Type) (__a : (Option (Reasoning.Budget.Spend.Step T))) (__k0 : ∀ (_yfound : (Reasoning.Budget.Spend.Step T)), Bool) (__k1 : Bool) => (match __a with | Option.some _yfound => __k0 _yfound | Option.none => __k1 : Bool)) Nat __a (fun (_yfound : (Reasoning.Budget.Spend.Step Nat)) => ((Bool.true && Bool.true) && Bool.true)) ((((Bool.true && (Bool.true && Bool.true)) && (__fits_18 (_ys) (_yb))) && (if (Reasoning.Budget.Burn.guard Nat (_ys) (_yb)) then ((((Bool.true && Bool.true) && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true)))))) (fun (__a : (Option (Reasoning.Budget.Spend.Step Nat))) => (_root_.LexLeanPreservation.encOption __enc_0) ((fun (T : Type) (__a : (Option (Reasoning.Budget.Spend.Step T))) (__k0 : ∀ (_yfound : (Reasoning.Budget.Spend.Step T)), (Option (Reasoning.Budget.Spend.Step Nat))) (__k1 : (Option (Reasoning.Budget.Spend.Step Nat))) => (match __a with | Option.some _yfound => __k0 _yfound | Option.none => __k1 : (Option (Reasoning.Budget.Spend.Step Nat)))) Nat __a (fun (_yfound : (Reasoning.Budget.Spend.Step Nat)) => (Option.some (_yfound) : (Option (Reasoning.Budget.Spend.Step Nat)))) ((if (Reasoning.Budget.Burn.guard Nat (_ys) (_yb)) then (Option.some ((Reasoning.Budget.Spend.Step.Burn (_yb) : (Reasoning.Budget.Spend.Step Nat))) : (Option (Reasoning.Budget.Spend.Step Nat))) else (Option.none : (Option (Reasoning.Budget.Spend.Step Nat))))))) _yacc (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Option (Reasoning.Budget.Spend.Step Nat))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_0) (if __b then (Option.some ((Reasoning.Budget.Spend.Step.Burn (_yb) : (Reasoning.Budget.Spend.Step Nat))) : (Option (Reasoning.Budget.Spend.Step Nat))) else (Option.none : (Option (Reasoning.Budget.Spend.Step Nat))))) (Reasoning.Budget.Burn.guard Nat (_ys) (_yb)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_18 (_ys) (_yb))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) + +def __fits_15 (s : (Prod Nat Nat)) : Bool := + ((Bool.true && (((Bool.true && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) + +theorem __rel_15 (s : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 15 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s)] (_root_.LexLeanPreservation.Rel (__fits_15 s) ((_root_.LexLeanPreservation.encList _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Budget.Burn.candidates Nat s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_nil) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_cons) + +def __fits_9 (_ys : (Prod Nat Nat)) : Bool := + ((((Bool.true && Bool.true) && (__fits_12 (_ys))) && (if (Reasoning.Budget.Tick.guard Nat (_ys)) then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) && ((fun (T : Type) (__a : (Option (Reasoning.Budget.Spend.Step T))) (__k0 : ∀ (_yfound : (Reasoning.Budget.Spend.Step T)), Bool) (__k1 : Bool) => (match __a with | Option.some _yfound => __k0 _yfound | Option.none => __k1 : Bool)) Nat (if (Reasoning.Budget.Tick.guard Nat (_ys)) then (Option.some ((Reasoning.Budget.Spend.Step.Tick : (Reasoning.Budget.Spend.Step Nat))) : (Option (Reasoning.Budget.Spend.Step Nat))) else (Option.none : (Option (Reasoning.Budget.Spend.Step Nat)))) (fun (_yfound : (Reasoning.Budget.Spend.Step Nat)) => ((Bool.true && Bool.true) && Bool.true)) ((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && (((Bool.true && Bool.true) && (__fits_15 (_ys))) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Option (Reasoning.Budget.Spend.Step Nat))) (__p1 : Nat) => __fits_14 (_ys) __p0 __p1) ((fun (_yacc : (Option (Reasoning.Budget.Spend.Step Nat))) (_yb : Nat) => ((fun (T : Type) (__a : (Option (Reasoning.Budget.Spend.Step T))) (__k0 : ∀ (_yfound : (Reasoning.Budget.Spend.Step T)), (Option (Reasoning.Budget.Spend.Step Nat))) (__k1 : (Option (Reasoning.Budget.Spend.Step Nat))) => (match __a with | Option.some _yfound => __k0 _yfound | Option.none => __k1 : (Option (Reasoning.Budget.Spend.Step Nat)))) Nat _yacc (fun (_yfound : (Reasoning.Budget.Spend.Step Nat)) => (Option.some (_yfound) : (Option (Reasoning.Budget.Spend.Step Nat)))) ((if (Reasoning.Budget.Burn.guard Nat (_ys) (_yb)) then (Option.some ((Reasoning.Budget.Spend.Step.Burn (_yb) : (Reasoning.Budget.Spend.Step Nat))) : (Option (Reasoning.Budget.Spend.Step Nat))) else (Option.none : (Option (Reasoning.Budget.Spend.Step Nat)))))))) ((Option.none : (Option (Reasoning.Budget.Spend.Step Nat)))) ((Reasoning.Budget.Burn.candidates Nat (_ys)))))))) + +attribute [local irreducible] Reasoning.Budget.Burn.candidates Reasoning.Budget.Burn.guard Reasoning.Budget.Tick.guard in +theorem __rel_9 (_ys : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 9 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _ys)] (_root_.LexLeanPreservation.Rel (__fits_9 _ys) ((_root_.LexLeanPreservation.encOption __enc_0) (Reasoning.Budget.Spend.select Nat _ys))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_0) (fun (__a : (Option (Reasoning.Budget.Spend.Step Nat))) => ((fun (T : Type) (__a : (Option (Reasoning.Budget.Spend.Step T))) (__k0 : ∀ (_yfound : (Reasoning.Budget.Spend.Step T)), Bool) (__k1 : Bool) => (match __a with | Option.some _yfound => __k0 _yfound | Option.none => __k1 : Bool)) Nat __a (fun (_yfound : (Reasoning.Budget.Spend.Step Nat)) => ((Bool.true && Bool.true) && Bool.true)) ((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && (((Bool.true && Bool.true) && (__fits_15 (_ys))) && Bool.true))) && (_root_.LexLeanPreservation.foldFits (fun (__p0 : (Option (Reasoning.Budget.Spend.Step Nat))) (__p1 : Nat) => __fits_14 (_ys) __p0 __p1) ((fun (_yacc : (Option (Reasoning.Budget.Spend.Step Nat))) (_yb : Nat) => ((fun (T : Type) (__a : (Option (Reasoning.Budget.Spend.Step T))) (__k0 : ∀ (_yfound : (Reasoning.Budget.Spend.Step T)), (Option (Reasoning.Budget.Spend.Step Nat))) (__k1 : (Option (Reasoning.Budget.Spend.Step Nat))) => (match __a with | Option.some _yfound => __k0 _yfound | Option.none => __k1 : (Option (Reasoning.Budget.Spend.Step Nat)))) Nat _yacc (fun (_yfound : (Reasoning.Budget.Spend.Step Nat)) => (Option.some (_yfound) : (Option (Reasoning.Budget.Spend.Step Nat)))) ((if (Reasoning.Budget.Burn.guard Nat (_ys) (_yb)) then (Option.some ((Reasoning.Budget.Spend.Step.Burn (_yb) : (Reasoning.Budget.Spend.Step Nat))) : (Option (Reasoning.Budget.Spend.Step Nat))) else (Option.none : (Option (Reasoning.Budget.Spend.Step Nat)))))))) ((Option.none : (Option (Reasoning.Budget.Spend.Step Nat)))) ((Reasoning.Budget.Burn.candidates Nat (_ys)))))))) (fun (__a : (Option (Reasoning.Budget.Spend.Step Nat))) => (_root_.LexLeanPreservation.encOption __enc_0) ((fun (T : Type) (__a : (Option (Reasoning.Budget.Spend.Step T))) (__k0 : ∀ (_yfound : (Reasoning.Budget.Spend.Step T)), (Option (Reasoning.Budget.Spend.Step Nat))) (__k1 : (Option (Reasoning.Budget.Spend.Step Nat))) => (match __a with | Option.some _yfound => __k0 _yfound | Option.none => __k1 : (Option (Reasoning.Budget.Spend.Step Nat)))) Nat __a (fun (_yfound : (Reasoning.Budget.Spend.Step Nat)) => (Option.some (_yfound) : (Option (Reasoning.Budget.Spend.Step Nat)))) ((_root_.LexLeanCollections.listFold ((fun (_yacc : (Option (Reasoning.Budget.Spend.Step Nat))) (_yb : Nat) => ((fun (T : Type) (__a : (Option (Reasoning.Budget.Spend.Step T))) (__k0 : ∀ (_yfound : (Reasoning.Budget.Spend.Step T)), (Option (Reasoning.Budget.Spend.Step Nat))) (__k1 : (Option (Reasoning.Budget.Spend.Step Nat))) => (match __a with | Option.some _yfound => __k0 _yfound | Option.none => __k1 : (Option (Reasoning.Budget.Spend.Step Nat)))) Nat _yacc (fun (_yfound : (Reasoning.Budget.Spend.Step Nat)) => (Option.some (_yfound) : (Option (Reasoning.Budget.Spend.Step Nat)))) ((if (Reasoning.Budget.Burn.guard Nat (_ys) (_yb)) then (Option.some ((Reasoning.Budget.Spend.Step.Burn (_yb) : (Reasoning.Budget.Spend.Step Nat))) : (Option (Reasoning.Budget.Spend.Step Nat))) else (Option.none : (Option (Reasoning.Budget.Spend.Step Nat)))))))) ((Option.none : (Option (Reasoning.Budget.Spend.Step Nat)))) ((Reasoning.Budget.Burn.candidates Nat (_ys))) : (Option (Reasoning.Budget.Spend.Step Nat)))))) (if (Reasoning.Budget.Tick.guard Nat (_ys)) then (Option.some ((Reasoning.Budget.Spend.Step.Tick : (Reasoning.Budget.Spend.Step Nat))) : (Option (Reasoning.Budget.Spend.Step Nat))) else (Option.none : (Option (Reasoning.Budget.Spend.Step Nat)))) (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then (((Bool.true && Bool.true) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption __enc_0) (if __b then (Option.some ((Reasoning.Budget.Spend.Step.Tick : (Reasoning.Budget.Spend.Step Nat))) : (Option (Reasoning.Budget.Spend.Step Nat))) else (Option.none : (Option (Reasoning.Budget.Spend.Step Nat))))) (Reasoning.Budget.Tick.guard Nat (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_12 (_ys))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_adt) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) (fun (__a : (Option (Reasoning.Budget.Spend.Step Nat))) _ => match __a with | Option.some _yfound => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_15 (_ys))) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_listFold (ea := _root_.LexLeanTarget.TargetSyntax.Value.nat) (es := (_root_.LexLeanPreservation.encOption __enc_0)) (_root_.LexLeanPreservation.listEnc _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun _ => rfl) ((fun (_yacc : (Option (Reasoning.Budget.Spend.Step Nat))) (_yb : Nat) => ((fun (T : Type) (__a : (Option (Reasoning.Budget.Spend.Step T))) (__k0 : ∀ (_yfound : (Reasoning.Budget.Spend.Step T)), (Option (Reasoning.Budget.Spend.Step Nat))) (__k1 : (Option (Reasoning.Budget.Spend.Step Nat))) => (match __a with | Option.some _yfound => __k0 _yfound | Option.none => __k1 : (Option (Reasoning.Budget.Spend.Step Nat)))) Nat _yacc (fun (_yfound : (Reasoning.Budget.Spend.Step Nat)) => (Option.some (_yfound) : (Option (Reasoning.Budget.Spend.Step Nat)))) ((if (Reasoning.Budget.Burn.guard Nat (_ys) (_yb)) then (Option.some ((Reasoning.Budget.Spend.Step.Burn (_yb) : (Reasoning.Budget.Spend.Step Nat))) : (Option (Reasoning.Budget.Spend.Step Nat))) else (Option.none : (Option (Reasoning.Budget.Spend.Step Nat)))))))) (fun (__p0 : (Option (Reasoning.Budget.Spend.Step Nat))) (__p1 : Nat) => __fits_14 (_ys) __p0 __p1) 14 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _ys)] (fun (__p0 : (Option (Reasoning.Budget.Spend.Step Nat))) (__p1 : Nat) => __rel_14 (_ys) __p0 __p1) (p := __prog) (fi := 13) (ta := .nat) (ts := (.option (.adt 0))) rfl ((Option.none : (Option (Reasoning.Budget.Spend.Step Nat)))) ((Reasoning.Budget.Burn.candidates Nat (_ys))))))))) + +def __fits_19 (s : (Prod Nat Nat)) : Bool := + ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) + +theorem __rel_19 (s : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 19 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s)] (_root_.LexLeanPreservation.Rel (__fits_19 s) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Budget.Tick.conclusion Nat s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub (s).2 (1 : Nat))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) + +def __fits_16 (s : (Prod Nat Nat)) : Bool := + (((Bool.true && Bool.true) && (__fits_12 (s))) && (if (Reasoning.Budget.Tick.guard Nat (s)) then ((((Bool.true && Bool.true) && (__fits_19 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Budget.Tick.conclusion Reasoning.Budget.Tick.guard in +theorem __rel_16 (s : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 16 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s)] (_root_.LexLeanPreservation.Rel (__fits_16 s) ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Reasoning.Budget.Tick.apply Nat s))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && Bool.true) && (__fits_19 (s))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (Option.some ((Reasoning.Budget.Tick.conclusion Nat (s))) : (Option (Prod Nat Nat))) else (Option.none : (Option (Prod Nat Nat))))) (Reasoning.Budget.Tick.guard Nat (s)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_12 (s))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_19 (s))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_20 (s : (Prod Nat Nat)) (k : Nat) : Bool := + ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true)) && Bool.true) + +theorem __rel_20 (s : (Prod Nat Nat)) (k : Nat) : _root_.LexLeanPreservation.FunRel __prog 20 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s), (_root_.LexLeanTarget.TargetSyntax.Value.nat k)] (_root_.LexLeanPreservation.Rel (__fits_20 s k) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Budget.Burn.conclusion Nat s k))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natSub (s).2 k)) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) + +def __fits_17 (s : (Prod Nat Nat)) (k : Nat) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && (__fits_18 (s) (k))) && (if (Reasoning.Budget.Burn.guard Nat (s) (k)) then ((((Bool.true && (Bool.true && Bool.true)) && (__fits_20 (s) (k))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) + +attribute [local irreducible] Reasoning.Budget.Burn.conclusion Reasoning.Budget.Burn.guard in +theorem __rel_17 (s : (Prod Nat Nat)) (k : Nat) : _root_.LexLeanPreservation.FunRel __prog 17 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) s), (_root_.LexLeanTarget.TargetSyntax.Value.nat k)] (_root_.LexLeanPreservation.Rel (__fits_17 s k) ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Reasoning.Budget.Burn.apply Nat s k))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((((Bool.true && (Bool.true && Bool.true)) && (__fits_20 (s) (k))) && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (if __b then (Option.some ((Reasoning.Budget.Burn.conclusion Nat (s) (k))) : (Option (Prod Nat Nat))) else (Option.none : (Option (Prod Nat Nat))))) (Reasoning.Budget.Burn.guard Nat (s) (k)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_18 (s) (k))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_20 (s) (k))) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))) + +def __fits_10 (_ys : (Prod Nat Nat)) (_ystep : (Reasoning.Budget.Spend.Step Nat)) : Bool := + (Bool.true && ((fun (T : Type) (__a : (Reasoning.Budget.Spend.Step T)) (__k0 : Bool) (__k1 : ∀ (_yb : Nat), Bool) => (match __a with | Reasoning.Budget.Spend.Step.Tick => __k0 | Reasoning.Budget.Spend.Step.Burn _yb => __k1 _yb : Bool)) Nat _ystep (((Bool.true && Bool.true) && (__fits_16 (_ys)))) (fun (_yb : Nat) => ((Bool.true && (Bool.true && Bool.true)) && (__fits_17 (_ys) (_yb)))))) + +attribute [local irreducible] Reasoning.Budget.Burn.apply Reasoning.Budget.Tick.apply in +theorem __rel_10 (_ys : (Prod Nat Nat)) (_ystep : (Reasoning.Budget.Spend.Step Nat)) : _root_.LexLeanPreservation.FunRel __prog 10 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _ys), (__enc_0 _ystep)] (_root_.LexLeanPreservation.Rel (__fits_10 _ys _ystep) ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Reasoning.Budget.Spend.fire Nat _ys _ystep))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV __enc_0 (fun (__a : (Reasoning.Budget.Spend.Step Nat)) => ((fun (T : Type) (__a : (Reasoning.Budget.Spend.Step T)) (__k0 : Bool) (__k1 : ∀ (_yb : Nat), Bool) => (match __a with | Reasoning.Budget.Spend.Step.Tick => __k0 | Reasoning.Budget.Spend.Step.Burn _yb => __k1 _yb : Bool)) Nat __a (((Bool.true && Bool.true) && (__fits_16 (_ys)))) (fun (_yb : Nat) => ((Bool.true && (Bool.true && Bool.true)) && (__fits_17 (_ys) (_yb)))))) (fun (__a : (Reasoning.Budget.Spend.Step Nat)) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) ((fun (T : Type) (__a : (Reasoning.Budget.Spend.Step T)) (__k0 : (Option (Prod Nat Nat))) (__k1 : ∀ (_yb : Nat), (Option (Prod Nat Nat))) => (match __a with | Reasoning.Budget.Spend.Step.Tick => __k0 | Reasoning.Budget.Spend.Step.Burn _yb => __k1 _yb : (Option (Prod Nat Nat)))) Nat __a ((Reasoning.Budget.Tick.apply Nat (_ys))) (fun (_yb : Nat) => (Reasoning.Budget.Burn.apply Nat (_ys) (_yb))))) _ystep (_root_.LexLeanPreservation.conv_var rfl) (fun (__a : (Reasoning.Budget.Spend.Step Nat)) _ => match __a with | Reasoning.Budget.Spend.Step.Tick => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_16 (_ys)))) | Reasoning.Budget.Spend.Step.Burn _yb => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_17 (_ys) (_yb))))))) + +def __fits_5 (_ys : (Prod Nat Nat)) : Bool := + (((Bool.true && Bool.true) && (__fits_9 (_ys))) && ((fun (T : Type) (__a : (Option (Reasoning.Budget.Spend.Step T))) (__k0 : Bool) (__k1 : ∀ (_ystep : (Reasoning.Budget.Spend.Step T)), Bool) => (match __a with | Option.none => __k0 | Option.some _ystep => __k1 _ystep : Bool)) Nat (Reasoning.Budget.Spend.select Nat (_ys)) ((Bool.true && Bool.true)) (fun (_ystep : (Reasoning.Budget.Spend.Step Nat)) => ((Bool.true && (Bool.true && Bool.true)) && (__fits_10 (_ys) (_ystep)))))) + +attribute [local irreducible] Reasoning.Budget.Spend.fire Reasoning.Budget.Spend.select in +theorem __rel_5 (_ys : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 5 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _ys)] (_root_.LexLeanPreservation.Rel (__fits_5 _ys) ((_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (Reasoning.Budget.Spend.next Nat _ys))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption __enc_0) (fun (__a : (Option (Reasoning.Budget.Spend.Step Nat))) => ((fun (T : Type) (__a : (Option (Reasoning.Budget.Spend.Step T))) (__k0 : Bool) (__k1 : ∀ (_ystep : (Reasoning.Budget.Spend.Step T)), Bool) => (match __a with | Option.none => __k0 | Option.some _ystep => __k1 _ystep : Bool)) Nat __a ((Bool.true && Bool.true)) (fun (_ystep : (Reasoning.Budget.Spend.Step Nat)) => ((Bool.true && (Bool.true && Bool.true)) && (__fits_10 (_ys) (_ystep)))))) (fun (__a : (Option (Reasoning.Budget.Spend.Step Nat))) => (_root_.LexLeanPreservation.encOption (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) ((fun (T : Type) (__a : (Option (Reasoning.Budget.Spend.Step T))) (__k0 : (Option (Prod Nat Nat))) (__k1 : ∀ (_ystep : (Reasoning.Budget.Spend.Step T)), (Option (Prod Nat Nat))) => (match __a with | Option.none => __k0 | Option.some _ystep => __k1 _ystep : (Option (Prod Nat Nat)))) Nat __a ((Option.none : (Option (Prod Nat Nat)))) (fun (_ystep : (Reasoning.Budget.Spend.Step Nat)) => (Reasoning.Budget.Spend.fire Nat (_ys) (_ystep))))) (Reasoning.Budget.Spend.select Nat (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_9 (_ys))) (fun (__a : (Option (Reasoning.Budget.Spend.Step Nat))) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | Option.some _ystep => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_10 (_ys) (_ystep))))))) + +def __fits_6 (x : (Prod Nat Nat)) : Bool := + ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((x).2 + (3 : Nat)) 18446744073709551616)) && Bool.true)) && Bool.true) + +theorem __rel_6 (x : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 6 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) x)] (_root_.LexLeanPreservation.Rel (__fits_6 x) ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Budget.Spend.observe Nat x))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (x).2 (3 : Nat))) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) + +def __fits_2 (x : (Prod Nat Nat)) : Bool := + ((Bool.true && (((Bool.true && (Bool.true && Bool.true)) && (Nat.blt ((x).2 + (4 : Nat)) 18446744073709551616)) && (((Bool.true && Bool.true) && (__fits_6 (x))) && Bool.true))) && (_root_.LexLeanPreservation.untilFits (fun (__p0 : (Prod Nat Nat)) => __fits_5 __p0) ((Reasoning.Budget.Spend.next Nat)) (((x).2 + (4 : Nat))) ((Reasoning.Budget.Spend.observe Nat (x))))) + +attribute [local irreducible] Reasoning.Budget.Spend.observe in +theorem __rel_2 (x : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 2 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) x)] (_root_.LexLeanPreservation.Rel (__fits_2 x) ((_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _root_.LexLeanTarget.TargetSyntax.Value.bool) (Reasoning.Budget.Spend.saturate Nat x))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_closure _root_.LexLeanPreservation.convL_nil) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natAdd (x).2 (4 : Nat))) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_6 (x))) _root_.LexLeanPreservation.convL_nil))) (_root_.LexLeanPreservation.tpl_iterateUntil (es := (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (_root_.LexLeanPreservation.optEnc (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat)) (fun _ => rfl) (_root_.LexLeanPreservation.encPair (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _root_.LexLeanTarget.TargetSyntax.Value.bool) (fun _ => rfl) ((Reasoning.Budget.Spend.next Nat)) (fun (__p0 : (Prod Nat Nat)) => __fits_5 __p0) 5 [] (fun (__p0 : (Prod Nat Nat)) => __rel_5 __p0) (_root_.LexLeanCollections.iterateUntil ((Reasoning.Budget.Spend.next Nat))) (fun _ => rfl) (fun _ _ __h => by simp only [_root_.LexLeanCollections.iterateUntil, __h]) (fun _ _ _ __h => by simp only [_root_.LexLeanCollections.iterateUntil, __h]) (p := __prog) (fi := 4) (ts := (.pair .nat .nat)) rfl (((x).2 + (4 : Nat))) ((Reasoning.Budget.Spend.observe Nat (x))))) + +def __fits_8 (account : (Prod Nat Nat)) : Bool := + ((Bool.true && Bool.true) && Bool.true) + +theorem __rel_8 (account : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 8 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) account)] (_root_.LexLeanPreservation.Rel (__fits_8 account) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Budget.Spend.extract Nat account))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some) + +def __fits_11 (x : (Prod Nat Nat)) (r : Nat) : Bool := + ((Bool.true && (Bool.true && Bool.true)) && Bool.true) + +theorem __rel_11 (x : (Prod Nat Nat)) (r : Nat) : _root_.LexLeanPreservation.FunRel __prog 11 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) x), (_root_.LexLeanTarget.TargetSyntax.Value.nat r)] (_root_.LexLeanPreservation.Rel (__fits_11 x r) (_root_.LexLeanTarget.TargetSyntax.Value.bool (Reasoning.Budget.emptyCheck (Prod Nat Nat) x r))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_prim (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons _root_.LexLeanPreservation.conv_value _root_.LexLeanPreservation.convL_nil)) (_root_.LexLeanPreservation.prim_natEq r (0 : Nat))) + +def __fits_7 (x : (Prod Nat Nat)) (_ys : (Prod Nat Nat)) : Bool := + (((Bool.true && Bool.true) && (__fits_8 (_ys))) && (match (Reasoning.Budget.Spend.extract Nat (_ys)) with | Option.none => (Bool.true && Bool.true) | Option.some _yv => (((Bool.true && (Bool.true && Bool.true)) && (__fits_11 (x) (_yv))) && (if (Reasoning.Budget.emptyCheck (Prod Nat Nat) (x) (_yv)) then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) + +attribute [local irreducible] Reasoning.Budget.Spend.extract Reasoning.Budget.emptyCheck in +theorem __rel_7 (x : (Prod Nat Nat)) (_ys : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 7 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) x), ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _ys)] (_root_.LexLeanPreservation.Rel (__fits_7 x _ys) ((_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Budget.Spend.accept Nat x _ys))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.none => (Bool.true && Bool.true) | Option.some _yv => (((Bool.true && (Bool.true && Bool.true)) && (__fits_11 (x) (_yv))) && (if (Reasoning.Budget.emptyCheck (Prod Nat Nat) (x) (_yv)) then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.none => (Option.none : (Option Nat)) | Option.some _yv => (if (Reasoning.Budget.emptyCheck (Prod Nat Nat) (x) (_yv)) then (Option.some (_yv) : (Option Nat)) else (Option.none : (Option Nat))))) (Reasoning.Budget.Spend.extract Nat (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_8 (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.none => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none)) | Option.some _yv => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_cond (fun (__b : Bool) => (if __b then ((Bool.true && Bool.true) && Bool.true) else (Bool.true && Bool.true))) (fun (__b : Bool) => (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (if __b then (Option.some (_yv) : (Option Nat)) else (Option.none : (Option Nat)))) (Reasoning.Budget.emptyCheck (Prod Nat Nat) (x) (_yv)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_11 (x) (_yv))) (fun _ => (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_some)) (fun _ => (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_none))))))) + +def __fits_3 (x : (Prod Nat Nat)) (_ys : (Prod Nat Nat)) : Bool := + (((Bool.true && (Bool.true && Bool.true)) && (__fits_7 (x) (_ys))) && (match (Reasoning.Budget.Spend.accept Nat (x) (_ys)) with | Option.some _yv => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_8 (_ys))) && (match (Reasoning.Budget.Spend.extract Nat (_ys)) with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) + +attribute [local irreducible] Reasoning.Budget.Spend.accept Reasoning.Budget.Spend.extract in +theorem __rel_3 (x : (Prod Nat Nat)) (_ys : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 3 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) x), ((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) _ys)] (_root_.LexLeanPreservation.Rel (__fits_3 x _ys) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Budget.Spend.conclude Nat x _ys))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.some _yv => ((Bool.true && Bool.true) && Bool.true) | Option.none => (((Bool.true && Bool.true) && (__fits_8 (_ys))) && (match (Reasoning.Budget.Spend.extract Nat (_ys)) with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.some _yv => (Except.ok (_yv) : (Except (Prod Bool Bool) Nat)) | Option.none => (match (Reasoning.Budget.Spend.extract Nat (_ys)) with | Option.some _yv => (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)) | Option.none => (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat))))) (Reasoning.Budget.Spend.accept Nat (x) (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) (__rel_7 (x) (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.some _yv => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_ok)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encOption _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Option Nat)) => (match __a with | Option.some _yv => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true) | Option.none => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__a : (Option Nat)) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Option.some _yv => (Except.error (((Bool.true, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)) | Option.none => (Except.error (((Bool.false, Bool.true) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)))) (Reasoning.Budget.Spend.extract Nat (_ys)) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_8 (_ys))) (fun (__a : (Option Nat)) _ => match __a with | Option.some _yv => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)) | Option.none => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_true) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error))))))))) + +def __fits_1 (x : (Prod Nat Nat)) : Bool := + (((Bool.true && Bool.true) && (__fits_2 (x))) && (let _yfinal : (Prod (Prod Nat Nat) Bool) := (Reasoning.Budget.Spend.saturate Nat (x)); (Bool.true && (match (_yfinal).2 with | Bool.true => ((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (x) ((_yfinal).1))) | Bool.false => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))))) + +attribute [local irreducible] Reasoning.Budget.Spend.conclude Reasoning.Budget.Spend.saturate in +theorem __rel_1 (x : (Prod Nat Nat)) : _root_.LexLeanPreservation.FunRel __prog 1 [((_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.nat _root_.LexLeanTarget.TargetSyntax.Value.nat) x)] (_root_.LexLeanPreservation.Rel (__fits_1 x) ((_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (Reasoning.Budget.Spend.verdict Nat x))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (let _yfinal : (Prod (Prod Nat Nat) Bool) := (Reasoning.Budget.Spend.saturate Nat (x)); _root_.LexLeanPreservation.conv_let (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil) (__rel_2 (x))) (_root_.LexLeanPreservation.conv_matchV _root_.LexLeanTarget.TargetSyntax.Value.bool (fun (__a : Bool) => (match __a with | Bool.true => ((Bool.true && (Bool.true && Bool.true)) && (__fits_3 (x) ((_yfinal).1))) | Bool.false => (((((Bool.true && Bool.true) && ((Bool.true && Bool.true) && Bool.true)) && Bool.true) && Bool.true) && Bool.true))) (fun (__a : Bool) => (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (match __a with | Bool.true => (Reasoning.Budget.Spend.conclude Nat (x) ((_yfinal).1)) | Bool.false => (Except.error (((Bool.false, Bool.false) : (Prod Bool Bool))) : (Except (Prod Bool Bool) Nat)))) (_yfinal).2 (_root_.LexLeanPreservation.conv_second (_root_.LexLeanPreservation.conv_var rfl)) (fun (__a : Bool) _ => match __a with | Bool.true => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_first (_root_.LexLeanPreservation.conv_var rfl)) _root_.LexLeanPreservation.convL_nil)) (__rel_3 (x) ((_yfinal).1)))) | Bool.false => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build _root_.LexLeanPreservation.convL_nil _root_.LexLeanPreservation.construct_false) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) _root_.LexLeanPreservation.construct_error)))))) + +def __fits_0 (x : Nat) : Bool := + (((((Bool.true && (Bool.true && Bool.true)) && Bool.true) && Bool.true) && (__fits_1 ((x, x)))) && (match (Reasoning.Budget.Spend.verdict Nat ((x, x))) with | Except.ok left => Bool.true | Except.error failure => Bool.true)) + +attribute [local irreducible] Reasoning.Budget.Spend.verdict in +theorem __rel_0 (x : Nat) : _root_.LexLeanPreservation.FunRel __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_0 x) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.spendLeft x))) := + _root_.LexLeanPreservation.funRel_intro rfl rfl (_root_.LexLeanPreservation.conv_matchV (_root_.LexLeanPreservation.encExcept (_root_.LexLeanPreservation.encPair _root_.LexLeanTarget.TargetSyntax.Value.bool _root_.LexLeanTarget.TargetSyntax.Value.bool) _root_.LexLeanTarget.TargetSyntax.Value.nat) (fun (__a : (Except (Prod Bool Bool) Nat)) => (match __a with | Except.ok left => Bool.true | Except.error failure => Bool.true)) (fun (__a : (Except (Prod Bool Bool) Nat)) => _root_.LexLeanTarget.TargetSyntax.Value.nat (match __a with | Except.ok left => left | Except.error failure => (9 : Nat))) (Reasoning.Budget.Spend.verdict Nat ((x, x))) (_root_.LexLeanPreservation.conv_call (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_build (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) (_root_.LexLeanPreservation.convL_cons (_root_.LexLeanPreservation.conv_var rfl) _root_.LexLeanPreservation.convL_nil)) _root_.LexLeanPreservation.construct_pair) _root_.LexLeanPreservation.convL_nil) (__rel_1 ((x, x)))) (fun (__a : (Except (Prod Bool Bool) Nat)) _ => match __a with | Except.ok left => (_root_.LexLeanPreservation.convA_hit rfl rfl (_root_.LexLeanPreservation.conv_var rfl)) | Except.error failure => (_root_.LexLeanPreservation.convA_miss rfl (_root_.LexLeanPreservation.convA_hit rfl rfl _root_.LexLeanPreservation.conv_value)))) + +def denote (x : Nat) : _root_.LexLeanPreservation.Obs := + _root_.cond (__fits_0 x) (_root_.LexLeanPreservation.Obs.value ((_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.spendLeft x)))) _root_.LexLeanPreservation.Obs.overflow + +theorem root (x : Nat) : _root_.LexLeanPreservation.RunConv __prog 0 [(_root_.LexLeanTarget.TargetSyntax.Value.nat x)] (_root_.LexLeanPreservation.Rel (__fits_0 x) (_root_.LexLeanTarget.TargetSyntax.Value.nat (Reasoning.Main.spendLeft x))) := + _root_.LexLeanPreservation.run_of_funRel (__rel_0 x) + +end LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7 diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R7/Compose/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R7/Compose/RustStd.lean new file mode 100644 index 000000000..6e426ed3b --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R7/Compose/RustStd.lean @@ -0,0 +1,20 @@ +import LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7 +import LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.RustStd +import LexLeanPreservation.Compose +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +set_option linter.unusedVariables false +namespace LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.Compose.RustStd + +theorem __wt_0 : ∀ (__v : (Reasoning.Budget.Spend.Step Nat)), _root_.LexLeanPreservation.Rust.WT _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.RustStd.program _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.RustStd.krate _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.RustStd.flags (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.__enc_0 __v) (.adt 0) + | Reasoning.Budget.Spend.Step.Tick => _root_.LexLeanPreservation.Rust.wt_adt rfl _root_.LexLeanPreservation.Rust.wtl_nil + | Reasoning.Budget.Spend.Step.Burn __x0 => _root_.LexLeanPreservation.Rust.wt_adt rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat __x0) _root_.LexLeanPreservation.Rust.wtl_nil) + +/-- The rendering of the root, invoked on the encoded arguments, realizes +the encoded source result. -/ +theorem root (x : Nat) (__e_hrep : _root_.LexLeanPreservation.Rust.RepresentableL [(_root_.LexLeanTarget.TargetSyntax.Value.nat x)]) : ∃ __e_ro, _root_.LexLeanPreservation.Rust.RealizesFn Bool.true (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.denote x) __e_ro ∧ _root_.LexLeanPreservation.Rust.RCI _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.RustStd.krate (_root_.LexLeanPreservation.Rust.fnIdent 0) [(_root_.LexLeanTarget.TargetSyntax.Value.nat x)] __e_ro := + _root_.LexLeanPreservation.Rust.compose (fun __e_n => _root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.RustStd.root __e_n 0) rfl (_root_.LexLeanPreservation.Rust.wtl_cons (_root_.LexLeanPreservation.Rust.wt_nat x) _root_.LexLeanPreservation.Rust.wtl_nil) rfl rfl (_root_.LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.root x) (_root_.LexLeanPreservation.Rust.rel_ne_stuck _ _) + +end LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.Compose.RustStd diff --git a/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R7/RustStd.lean b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R7/RustStd.lean new file mode 100644 index 000000000..d36bfe445 --- /dev/null +++ b/examples/reasoning/expected/verify/preserve/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R7/RustStd.lean @@ -0,0 +1,198 @@ +import LexLeanPreservation.RustSound +set_option autoImplicit false +set_option maxRecDepth 100000 +set_option maxHeartbeats 0 +set_option synthInstance.maxHeartbeats 0 +namespace LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.RustStd +open LexLeanTarget LexLeanPreservation.Rust + +noncomputable def program : TargetSyntax.Program := + { adts := [{ constructors := [[], [.nat]] }], functions := [ + { parameters := [0], types := [.nat], result := .nat, + body := (.«match» .nat (.call 1 [(.build .pair (.pair .nat .nat) [(.var 0), (.var 0)])]) [(.arm .ok [1] (.var 1)), (.arm .error [2] (.value .nat (.nat 9)))]) }, + { parameters := [0], types := [(.pair .nat .nat)], result := (.result .nat (.pair .bool .bool)), + body := (.«let» 1 (.pair (.pair .nat .nat) .bool) (.call 2 [(.var 0)]) (.«match» (.result .nat (.pair .bool .bool)) (.second (.var 1)) [(.arm .true [] (.call 3 [(.var 0), (.first (.var 1))])), (.arm .false [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .false .bool [])])]))])) }, + { parameters := [0], types := [(.pair .nat .nat)], result := (.pair (.pair .nat .nat) .bool), + body := (.call 4 [(.closure 5 []), (.prim .natAdd [(.second (.var 0)), (.value .nat (.nat 4))]), (.call 6 [(.var 0)])]) }, + { parameters := [0, 1], types := [(.pair .nat .nat), (.pair .nat .nat)], result := (.result .nat (.pair .bool .bool)), + body := (.«match» (.result .nat (.pair .bool .bool)) (.call 7 [(.var 0), (.var 1)]) [(.arm .some [2] (.build .ok (.result .nat (.pair .bool .bool)) [(.var 2)])), (.arm .none [] (.«match» (.result .nat (.pair .bool .bool)) (.call 8 [(.var 1)]) [(.arm .some [3] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .true .bool []), (.build .false .bool [])])])), (.arm .none [] (.build .error (.result .nat (.pair .bool .bool)) [(.build .pair (.pair .bool .bool) [(.build .false .bool []), (.build .true .bool [])])]))]))]) }, + { parameters := [0, 1, 2], types := [(.fn [(.pair .nat .nat)] (.option (.pair .nat .nat))), .nat, (.pair .nat .nat)], result := (.pair (.pair .nat .nat) .bool), + body := (.«match» (.pair (.pair .nat .nat) .bool) (.var 1) [(.arm .zero [] (.build .pair (.pair (.pair .nat .nat) .bool) [(.var 2), (.build .false .bool [])])), (.arm .succ [3] (.«match» (.pair (.pair .nat .nat) .bool) (.apply (.var 0) [(.var 2)]) [(.arm .none [] (.build .pair (.pair (.pair .nat .nat) .bool) [(.var 2), (.build .true .bool [])])), (.arm .some [4] (.call 4 [(.var 0), (.var 3), (.var 4)]))]))]) }, + { parameters := [0], types := [(.pair .nat .nat)], result := (.option (.pair .nat .nat)), + body := (.«match» (.option (.pair .nat .nat)) (.call 9 [(.var 0)]) [(.arm .none [] (.build .none (.option (.pair .nat .nat)) [])), (.arm .some [1] (.call 10 [(.var 0), (.var 1)]))]) }, + { parameters := [0], types := [(.pair .nat .nat)], result := (.pair .nat .nat), + body := (.build .pair (.pair .nat .nat) [(.first (.var 0)), (.prim .natAdd [(.second (.var 0)), (.value .nat (.nat 3))])]) }, + { parameters := [0, 1], types := [(.pair .nat .nat), (.pair .nat .nat)], result := (.option .nat), + body := (.«match» (.option .nat) (.call 8 [(.var 1)]) [(.arm .none [] (.build .none (.option .nat) [])), (.arm .some [2] (.cond (.call 11 [(.var 0), (.var 2)]) (.build .some (.option .nat) [(.var 2)]) (.build .none (.option .nat) [])))]) }, + { parameters := [0], types := [(.pair .nat .nat)], result := (.option .nat), + body := (.build .some (.option .nat) [(.second (.var 0))]) }, + { parameters := [0], types := [(.pair .nat .nat)], result := (.option (.adt 0)), + body := (.«match» (.option (.adt 0)) (.cond (.call 12 [(.var 0)]) (.build .some (.option (.adt 0)) [(.build (.adt 0) (.adt 0) [])]) (.build .none (.option (.adt 0)) [])) [(.arm .some [1] (.build .some (.option (.adt 0)) [(.var 1)])), (.arm .none [] (.call 13 [(.closure 14 [(.var 0)]), (.build .none (.option (.adt 0)) []), (.call 15 [(.var 0)])]))]) }, + { parameters := [0, 1], types := [(.pair .nat .nat), (.adt 0)], result := (.option (.pair .nat .nat)), + body := (.«match» (.option (.pair .nat .nat)) (.var 1) [(.arm (.adt 0) [] (.call 16 [(.var 0)])), (.arm (.adt 1) [2] (.call 17 [(.var 0), (.var 2)]))]) }, + { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := .bool, + body := (.prim .natEq [(.var 1), (.value .nat (.nat 0))]) }, + { parameters := [0], types := [(.pair .nat .nat)], result := .bool, + body := (.prim .natLt [(.value .nat (.nat 2)), (.second (.var 0))]) }, + { parameters := [0, 1, 2], types := [(.fn [(.option (.adt 0)), .nat] (.option (.adt 0))), (.option (.adt 0)), (.list .nat)], result := (.option (.adt 0)), + body := (.«match» (.option (.adt 0)) (.var 2) [(.arm .nil [] (.var 1)), (.arm .cons [3, 4] (.call 13 [(.var 0), (.apply (.var 0) [(.var 1), (.var 3)]), (.var 4)]))]) }, + { parameters := [0, 1, 2], types := [(.pair .nat .nat), (.option (.adt 0)), .nat], result := (.option (.adt 0)), + body := (.«match» (.option (.adt 0)) (.var 1) [(.arm .some [3] (.build .some (.option (.adt 0)) [(.var 3)])), (.arm .none [] (.cond (.call 18 [(.var 0), (.var 2)]) (.build .some (.option (.adt 0)) [(.build (.adt 1) (.adt 0) [(.var 2)])]) (.build .none (.option (.adt 0)) [])))]) }, + { parameters := [0], types := [(.pair .nat .nat)], result := (.list .nat), + body := (.build .cons (.list .nat) [(.value .nat (.nat 2)), (.build .cons (.list .nat) [(.value .nat (.nat 1)), (.build .nil (.list .nat) [])])]) }, + { parameters := [0], types := [(.pair .nat .nat)], result := (.option (.pair .nat .nat)), + body := (.cond (.call 12 [(.var 0)]) (.build .some (.option (.pair .nat .nat)) [(.call 19 [(.var 0)])]) (.build .none (.option (.pair .nat .nat)) [])) }, + { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := (.option (.pair .nat .nat)), + body := (.cond (.call 18 [(.var 0), (.var 1)]) (.build .some (.option (.pair .nat .nat)) [(.call 20 [(.var 0), (.var 1)])]) (.build .none (.option (.pair .nat .nat)) [])) }, + { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := .bool, + body := (.cond (.prim .natLe [(.var 1), (.second (.var 0))]) (.prim .natLt [(.value .nat (.nat 0)), (.var 1)]) (.build .false .bool [])) }, + { parameters := [0], types := [(.pair .nat .nat)], result := (.pair .nat .nat), + body := (.build .pair (.pair .nat .nat) [(.first (.var 0)), (.prim .natSub [(.second (.var 0)), (.value .nat (.nat 1))])]) }, + { parameters := [0, 1], types := [(.pair .nat .nat), .nat], result := (.pair .nat .nat), + body := (.build .pair (.pair .nat .nat) [(.first (.var 0)), (.prim .natSub [(.second (.var 0)), (.var 1)])]) }] } + +noncomputable def krate : RustSyntax.Crate := + ({ profile := .std, items := [ + (.enum (.adt 0) [{ number := 0, fields := [] }, { number := 1, fields := [.nat] }]), + (.enum (.fn 0) [{ number := 5, fields := [] }]), + (.apply 0 [(.pair .nat .nat)] (.option (.pair .nat .nat)) false [{ function := 5, captures := [], functionFallible := false }]), + (.enum (.fn 1) [{ number := 14, fields := [(.pair .nat .nat)] }]), + (.apply 1 [(.option (.adt 0)), .nat] (.option (.adt 0)) false [{ function := 14, captures := [.copy], functionFallible := false }]), + (.function (.generated .function 0) [{ pattern := (.bind (.generated .binding 0)), type := .nat }] (.fallible .nat) (.mk [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.pair (.copy (.generated .binding 0)) (.copy (.generated .binding 0)))] true))] (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 1))) (.mk [] (.succeed (.copy (.generated .binding 1))))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 9)))))]))), + (.function (.generated .function 1) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.fallible (.result .nat (.pair .bool .bool))) (.mk [(.mk (.bind (.generated .binding 1)) (some (.pair (.pair .nat .nat) .bool)) (.call (.function 2) [(.copy (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 3)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 2)))))] (.cond (.move (.generated .holder 3)) (.mk [] (.succeed (.call (.function 3) [(.copy (.generated .binding 0)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 4))))] false))) (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))))), + (.function (.generated .function 2) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.fallible (.pair (.pair .nat .nat) .bool)) (.mk [] (.succeed (.call (.function 4) [(.construct (.closure 0 5) []), (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 5))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 5))))), (.mk (.bind (.generated .operand 7)) none (.lit (.nat 4)))] (.call (.runtime .natAdd) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] true))), (.call (.function 6) [(.copy (.generated .binding 0))] true)] false)))), + (.function (.generated .function 3) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.pair .nat .nat) }] (.result .nat (.pair .bool .bool)) (.mk [(.mk (.bind (.generated .holder 8)) none (.call (.function 7) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 8)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 9)) none (.call (.function 8) [(.copy (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])))]))), + (.function (.generated .function 4) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 0) }, { pattern := (.bind (.generated .binding 1)), type := .nat }, { pattern := (.bind (.generated .binding 2)), type := (.pair .nat .nat) }] (.pair (.pair .nat .nat) .bool) (.mk [(.mk (.bind (.generated .holder 10)) none (.copy (.generated .binding 1)))] (.cond (.isZero (.generated .holder 10)) (.mk [] (.pair (.copy (.generated .binding 2)) (.lit (.bool false)))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 10))), (.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.bind (.generated .callee 11)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 11) [(.copy (.generated .binding 2))] false))))] (.matchOn (.move (.generated .holder 12)) [(.mk .none (.mk [] (.pair (.copy (.generated .binding 2)) (.lit (.bool true))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4))] false)))]))))), + (.function (.generated .function 5) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.option (.pair .nat .nat)) (.mk [(.mk (.bind (.generated .holder 13)) none (.call (.function 9) [(.copy (.generated .binding 0))] false))] (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [] (.construct (.none (.pair .nat .nat)) []))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.call (.function 10) [(.copy (.generated .binding 0)), (.move (.generated .binding 1))] false)))]))), + (.function (.generated .function 6) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.fallible (.pair .nat .nat)) (.mk [] (.succeed (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 14)))) (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 15))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 15))))), (.mk (.bind (.generated .operand 17)) none (.lit (.nat 3)))] (.call (.runtime .natAdd) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] true))))))), + (.function (.generated .function 7) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.pair .nat .nat) }] (.option .nat) (.mk [(.mk (.bind (.generated .holder 18)) none (.call (.function 8) [(.copy (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 18)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.cond (.call (.function 11) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none .nat) [])))))]))), + (.function (.generated .function 8) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.option .nat) (.mk [] (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 19))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 19))))]))), + (.function (.generated .function 9) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.option (.adt 0)) (.mk [(.mk (.bind (.generated .holder 20)) none (.cond (.call (.function 12) [(.copy (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 0 0) [])])) (.mk [] (.construct (.none (.adt 0)) []))))] (.matchOn (.move (.generated .holder 20)) [(.mk .none (.mk [] (.call (.function 13) [(.construct (.closure 1 14) [(.copy (.generated .binding 0))]), (.construct (.none (.adt 0)) []), (.call (.function 15) [(.copy (.generated .binding 0))] false)] false))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))]))), + (.function (.generated .function 10) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.adt 0) }] (.option (.pair .nat .nat)) (.mk [(.mk (.bind (.generated .holder 21)) none (.move (.generated .binding 1)))] (.matchOn (.move (.generated .holder 21)) [(.mk (.adt 0 0 []) (.mk [] (.call (.function 16) [(.copy (.generated .binding 0))] false))), (.mk (.adt 0 1 [(.bind (.generated .binding 2))]) (.mk [] (.call (.function 17) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false)))]))), + (.function (.generated .function 11) [{ pattern := .wild, type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 22)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 23)) none (.lit (.nat 0)))] (.call (.runtime .natEq) [(.move (.generated .operand 22)), (.move (.generated .operand 23))] false))), + (.function (.generated .function 12) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] .bool (.mk [(.mk (.bind (.generated .operand 25)) none (.lit (.nat 2))), (.mk (.bind (.generated .operand 26)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 24)))))] (.call (.runtime .natLt) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false))), + (.function (.generated .function 13) [{ pattern := (.bind (.generated .binding 0)), type := (.fn 1) }, { pattern := (.bind (.generated .binding 1)), type := (.option (.adt 0)) }, { pattern := (.bind (.generated .binding 2)), type := (.list .nat) }] (.option (.adt 0)) (.mk [(.mk (.bind (.generated .holder 27)) none (.move (.generated .binding 2)))] (.matchOn (.uncons (.generated .holder 27)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 13) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 28)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 28) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)))]))), + (.function (.generated .function 14) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := (.option (.adt 0)) }, { pattern := (.bind (.generated .binding 2)), type := .nat }] (.option (.adt 0)) (.mk [(.mk (.bind (.generated .holder 29)) none (.move (.generated .binding 1)))] (.matchOn (.move (.generated .holder 29)) [(.mk .none (.mk [] (.cond (.call (.function 18) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.construct (.adt 0 1) [(.copy (.generated .binding 2))])])) (.mk [] (.construct (.none (.adt 0)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))]))), + (.function (.generated .function 15) [{ pattern := .wild, type := (.pair .nat .nat) }] (.list .nat) (.mk [] (.construct .cons [(.lit (.nat 2)), (.construct .cons [(.lit (.nat 1)), (.construct (.nil .nat) [])])]))), + (.function (.generated .function 16) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.option (.pair .nat .nat)) (.mk [] (.cond (.call (.function 12) [(.copy (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 19) [(.copy (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.pair .nat .nat)) []))))), + (.function (.generated .function 17) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.option (.pair .nat .nat)) (.mk [] (.cond (.call (.function 18) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false) (.mk [] (.construct .some [(.call (.function 20) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false)])) (.mk [] (.construct (.none (.pair .nat .nat)) []))))), + (.function (.generated .function 18) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] .bool (.mk [(.mk (.bind (.generated .operand 31)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 32)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 30))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 30)))))] (.cond (.call (.runtime .natLe) [(.move (.generated .operand 31)), (.move (.generated .operand 32))] false) (.mk [(.mk (.bind (.generated .operand 33)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 34)) none (.copy (.generated .binding 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 33)), (.move (.generated .operand 34))] false)) (.mk [] (.lit (.bool false)))))), + (.function (.generated .function 19) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }] (.pair .nat .nat) (.mk [] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 35)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 35)))) (.block (.mk [(.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 36))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 36))))), (.mk (.bind (.generated .operand 38)) none (.lit (.nat 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 37)), (.move (.generated .operand 38))] false)))))), + (.function (.generated .function 20) [{ pattern := (.bind (.generated .binding 0)), type := (.pair .nat .nat) }, { pattern := (.bind (.generated .binding 1)), type := .nat }] (.pair .nat .nat) (.mk [] (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 39)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 39)))) (.block (.mk [(.mk (.bind (.generated .operand 41)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 40))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 40))))), (.mk (.bind (.generated .operand 42)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 41)), (.move (.generated .operand 42))] false))))))] } : LexLeanTarget.RustSyntax.Crate) + +def flags : Flags := [(([(.pair .nat .nat)], (.option (.pair .nat .nat))), false), (([(.option (.adt 0)), .nat], (.option (.adt 0))), false)] + +theorem fun0 : FunOK program krate flags 0 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 1)) none (.call (.function 1) [(.pair (.copy (.generated .binding 0)) (.copy (.generated .binding 0)))] true))], (.matchOn (.move (.generated .holder 1)) [(.mk (.ok (.bind (.generated .binding 1))) (.mk [] (.succeed (.copy (.generated .binding 1))))), (.mk (.err .wild) (.mk [] (.succeed (.lit (.nat 9)))))]), [(0, .nat, (some 0))], rfl, rfl, + (Corr.matchArms (st := (.result .nat (.pair .bool .bool))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, .nat, (some 1)), (0, .nat, (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.succeed (.copy (.generated .binding 1)))) (Corr.mCons (Γ' := [(2, (.pair .bool .bool), none), (0, .nat, (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.succeed (.lit (.nat 9)))) (Corr.mNil) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.value rfl rfl)))) rfl rfl rfl (Corr.fOfB (Corr.bOfE (Corr.var rfl rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun1 : FunOK program krate flags 1 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .binding 1)) (some (.pair (.pair .nat .nat) .bool)) (.call (.function 2) [(.copy (.generated .binding 0))] true)), (.mk (.bind (.generated .holder 3)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.copy (.generated .binding 1)))] (.move (.generated .part 2)))))], (.cond (.move (.generated .holder 3)) (.mk [] (.succeed (.call (.function 3) [(.copy (.generated .binding 0)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 4))))] false))) (.mk [] (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))])))), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.letBind (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl (Corr.matchBool (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 2))]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 2))) (Corr.second (ta := (.pair .nat .nat)) (tb := .bool) (Corr.var rfl rfl) rfl)) rfl rfl (Corr.kIf (la := []) (ta := (.succeed (.call (.function 3) [(.copy (.generated .binding 0)), (.block (.mk [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.copy (.generated .binding 1)))] (.move (.generated .part 4))))] false))) (lb := []) (tb := (.succeed (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool false)))]))) (Corr.fOfB (Corr.callOps (ts := [(.pair .nat .nat), (.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 4)), .wild]) none (.copy (.generated .binding 1)))]) (tail := (.move (.generated .part 4))) (Corr.first (ta := (.pair .nat .nat)) (tb := .bool) (Corr.var rfl rfl) rfl)) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.fOfB (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)))))⟩⟩ + +theorem fun2 : FunOK program krate flags 2 := + ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.call (.function 4) [(.construct (.closure 0 5) []), (.block (.mk [(.mk (.bind (.generated .operand 6)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 5))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 5))))), (.mk (.bind (.generated .operand 7)) none (.lit (.nat 4)))] (.call (.runtime .natAdd) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] true))), (.call (.function 6) [(.copy (.generated .binding 0))] true)] false)), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.fOfB (Corr.callOps (ts := [(.fn [(.pair .nat .nat)] (.option (.pair .nat .nat))), .nat, (.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := []) (mask := []) (af := false) (ff := false) (Corr.opsNil) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 6)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 5))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 5))))), (.mk (.bind (.generated .operand 7)) none (.lit (.nat 4)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 6)), (.move (.generated .operand 7))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 5))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 5))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl rfl))⟩⟩ + +theorem fun3 : FunOK program krate flags 3 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 8)) none (.call (.function 7) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 8)) [(.mk .none (.mk [(.mk (.bind (.generated .holder 9)) none (.call (.function 8) [(.copy (.generated .binding 1))] false))] (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))]))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])))]), [(1, (.pair .nat .nat), (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat), (.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.pair .nat .nat), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 1) (loads := []) (lets := [(.mk (.bind (.generated .holder 9)) none (.call (.function 8) [(.copy (.generated .binding 1))] false))]) (tail := (.matchOn (.move (.generated .holder 9)) [(.mk .none (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))]))), (.mk (.some .wild) (.mk [] (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])))])) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.ok .nat (.pair .bool .bool)) [(.copy (.generated .binding 2))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.pair .nat .nat), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool false)) (.lit (.bool true)))])) (Corr.mCons (Γ' := [(3, .nat, none), (1, (.pair .nat .nat), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.err .nat (.pair .bool .bool)) [(.pair (.lit (.bool true)) (.lit (.bool false)))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.build (ts := [(.pair .bool .bool)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.buildPair (Corr.lCons (Corr.buildConst rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))) (Corr.lNil))) rfl)) rfl rfl rfl)) rfl rfl rfl)⟩⟩ + +theorem fun4 : FunOK program krate flags 4 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 10)) none (.copy (.generated .binding 1)))], (.cond (.isZero (.generated .holder 10)) (.mk [] (.pair (.copy (.generated .binding 2)) (.lit (.bool false)))) (.mk [(.mk (.bind (.generated .binding 3)) none (.predecessor (.generated .holder 10))), (.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.bind (.generated .callee 11)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 11) [(.copy (.generated .binding 2))] false))))] (.matchOn (.move (.generated .holder 12)) [(.mk .none (.mk [] (.pair (.copy (.generated .binding 2)) (.lit (.bool true))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4))] false)))]))), [(2, (.pair .nat .nat), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.pair .nat .nat)] (.option (.pair .nat .nat))), (some 0))], rfl, rfl, + (Corr.matchNat (sl := (some 3)) (Corr.var rfl rfl) rfl rfl rfl (Corr.kIf (la := []) (ta := (.pair (.copy (.generated .binding 2)) (.lit (.bool false)))) (lb := [(.mk (.bind (.generated .holder 12)) none (.block (.mk [(.mk (.bind (.generated .callee 11)) (some (.fn 0)) (.clone (.generated .binding 0)))] (.apply (.generated .callee 11) [(.copy (.generated .binding 2))] false))))]) (tb := (.matchOn (.move (.generated .holder 12)) [(.mk .none (.mk [] (.pair (.copy (.generated .binding 2)) (.lit (.bool true))))), (.mk (.some (.bind (.generated .binding 4))) (.mk [] (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4))] false)))])) (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil))))) (Corr.matchArms (st := (.option (.pair .nat .nat))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 11)) (some (.fn 0)) (.clone (.generated .binding 0)))]) (tail := (.apply (.generated .callee 11) [(.copy (.generated .binding 2))] false)) (Corr.apply (ps := [(.pair .nat .nat)]) (af := false) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(3, .nat, (some 3)), (2, (.pair .nat .nat), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.pair .nat .nat)] (.option (.pair .nat .nat))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.pair (.copy (.generated .binding 2)) (.lit (.bool true)))) (Corr.mCons (Γ' := [(4, (.pair .nat .nat), (some 4)), (3, .nat, (some 3)), (2, (.pair .nat .nat), (some 2)), (1, .nat, (some 1)), (0, (.fn [(.pair .nat .nat)] (.option (.pair .nat .nat))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 4) [(.move (.generated .binding 0)), (.copy (.generated .binding 3)), (.copy (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.fn [(.pair .nat .nat)] (.option (.pair .nat .nat))), .nat, (.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.buildConst rfl) (Corr.lNil)))))) rfl rfl rfl)))⟩⟩ + +theorem fun5 : FunOK program krate flags 5 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 13)) none (.call (.function 9) [(.copy (.generated .binding 0))] false))], (.matchOn (.move (.generated .holder 13)) [(.mk .none (.mk [] (.construct (.none (.pair .nat .nat)) []))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.call (.function 10) [(.copy (.generated .binding 0)), (.move (.generated .binding 1))] false)))]), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option (.adt 0))) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(0, (.pair .nat .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none (.pair .nat .nat)) [])) (Corr.mCons (Γ' := [(1, (.adt 0), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 10) [(.copy (.generated .binding 0)), (.move (.generated .binding 1))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.pair .nat .nat), (.adt 0)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun6 : FunOK program krate flags 6 := + ⟨_, rfl, .inl ⟨_, _, [], (.succeed (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 14)))) (.block (.mk [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 15))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 15))))), (.mk (.bind (.generated .operand 17)) none (.lit (.nat 3)))] (.call (.runtime .natAdd) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] true))))), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.fOfB (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 14)), .wild]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 14))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 16)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 15))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 15))))), (.mk (.bind (.generated .operand 17)) none (.lit (.nat 3)))]) (tail := (.call (.runtime .natAdd) [(.move (.generated .operand 16)), (.move (.generated .operand 17))] true)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 15))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 15))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil))))))⟩⟩ + +theorem fun7 : FunOK program krate flags 7 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 18)) none (.call (.function 8) [(.copy (.generated .binding 1))] false))], (.matchOn (.move (.generated .holder 18)) [(.mk .none (.mk [] (.construct (.none .nat) []))), (.mk (.some (.bind (.generated .binding 2))) (.mk [] (.cond (.call (.function 11) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none .nat) [])))))]), [(1, (.pair .nat .nat), (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option .nat)) (U := []) (view := false) (idx := [0, 1]) (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.mCons (Γ' := [(1, (.pair .nat .nat), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct (.none .nat) [])) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.pair .nat .nat), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 11) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.copy (.generated .binding 2))])) (.mk [] (.construct (.none .nat) [])))) (Corr.mNil) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 11) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [(.pair .nat .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.copy (.generated .binding 2))])) (lb := []) (tb := (.construct (.none .nat) [])) (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) rfl rfl rfl)⟩⟩ + +theorem fun8 : FunOK program krate flags 8 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct .some [(.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 19))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 19))))]), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 19))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 19))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lNil))) rfl)⟩⟩ + +theorem fun9 : FunOK program krate flags 9 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 20)) none (.cond (.call (.function 12) [(.copy (.generated .binding 0))] false) (.mk [] (.construct .some [(.construct (.adt 0 0) [])])) (.mk [] (.construct (.none (.adt 0)) []))))], (.matchOn (.move (.generated .holder 20)) [(.mk .none (.mk [] (.call (.function 13) [(.construct (.closure 1 14) [(.copy (.generated .binding 0))]), (.construct (.none (.adt 0)) []), (.call (.function 15) [(.copy (.generated .binding 0))] false)] false))), (.mk (.some (.bind (.generated .binding 1))) (.mk [] (.construct .some [(.move (.generated .binding 1))])))]), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option (.adt 0))) (U := []) (view := false) (idx := [1, 0]) (Corr.eOfBNil (Corr.cond (lc := []) (ce := (.call (.function 12) [(.copy (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 0 0) [])])) (lb := []) (tb := (.construct (.none (.adt 0)) [])) (Corr.build (ts := [(.adt 0)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) (Corr.mCons (Γ' := [(0, (.pair .nat .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 13) [(.construct (.closure 1 14) [(.copy (.generated .binding 0))]), (.construct (.none (.adt 0)) []), (.call (.function 15) [(.copy (.generated .binding 0))] false)] false)) (Corr.mCons (Γ' := [(1, (.adt 0), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 1))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 0)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.callOps (ts := [(.fn [(.option (.adt 0)), .nat] (.option (.adt 0))), (.option (.adt 0)), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.closure (caps := [(.pair .nat .nat)]) (mask := [false]) (af := false) (ff := false) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl rfl rfl)) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl rfl rfl)⟩⟩ + +theorem fun10 : FunOK program krate flags 10 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 21)) none (.move (.generated .binding 1)))], (.matchOn (.move (.generated .holder 21)) [(.mk (.adt 0 0 []) (.mk [] (.call (.function 16) [(.copy (.generated .binding 0))] false))), (.mk (.adt 0 1 [(.bind (.generated .binding 2))]) (.mk [] (.call (.function 17) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false)))]), [(1, (.adt 0), (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.adt 0)) (U := []) (view := false) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(1, (.adt 0), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.call (.function 16) [(.copy (.generated .binding 0))] false)) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.adt 0), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 17) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.pair .nat .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) rfl rfl rfl)⟩⟩ + +theorem fun11 : FunOK program krate flags 11 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 22)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 23)) none (.lit (.nat 0)))], (.call (.runtime .natEq) [(.move (.generated .operand 22)), (.move (.generated .operand 23))] false), [(1, .nat, (some 1)), (0, (.pair .nat .nat), none)], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun12 : FunOK program krate flags 12 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 25)) none (.lit (.nat 2))), (.mk (.bind (.generated .operand 26)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 24)))))], (.call (.runtime .natLt) [(.move (.generated .operand 25)), (.move (.generated .operand 26))] false), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 24))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 24))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)⟩⟩ + +theorem fun13 : FunOK program krate flags 13 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 27)) none (.move (.generated .binding 2)))], (.matchOn (.uncons (.generated .holder 27)) [(.mk .none (.mk [] (.move (.generated .binding 1)))), (.mk (.some (.tuple [(.bind (.generated .binding 3)), (.bind (.generated .binding 4))])) (.mk [] (.call (.function 13) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 28)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 28) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)))]), [(2, (.list .nat), (some 2)), (1, (.option (.adt 0)), (some 1)), (0, (.fn [(.option (.adt 0)), .nat] (.option (.adt 0))), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.list .nat)) (U := []) (view := true) (idx := [0, 1]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, (.list .nat), (some 2)), (1, (.option (.adt 0)), (some 1)), (0, (.fn [(.option (.adt 0)), .nat] (.option (.adt 0))), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.move (.generated .binding 1))) (Corr.mCons (Γ' := [(4, (.list .nat), (some 4)), (3, .nat, (some 3)), (2, (.list .nat), (some 2)), (1, (.option (.adt 0)), (some 1)), (0, (.fn [(.option (.adt 0)), .nat] (.option (.adt 0))), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.call (.function 13) [(.clone (.generated .binding 0)), (.block (.mk [(.mk (.bind (.generated .callee 28)) (some (.fn 1)) (.move (.generated .binding 0)))] (.apply (.generated .callee 28) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false))), (.move (.generated .binding 4))] false)) (Corr.mNil) rfl rfl rfl (Corr.callOps (ts := [(.fn [(.option (.adt 0)), .nat] (.option (.adt 0))), (.option (.adt 0)), (.list .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .callee 28)) (some (.fn 1)) (.move (.generated .binding 0)))]) (tail := (.apply (.generated .callee 28) [(.move (.generated .binding 1)), (.copy (.generated .binding 3))] false)) (Corr.apply (ps := [(.option (.adt 0)), .nat]) (af := false) (Corr.var rfl rfl) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl)) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))))) rfl rfl rfl rfl rfl)) rfl rfl rfl (Corr.bOfE (Corr.var rfl rfl))) rfl rfl rfl)⟩⟩ + +theorem fun14 : FunOK program krate flags 14 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .holder 29)) none (.move (.generated .binding 1)))], (.matchOn (.move (.generated .holder 29)) [(.mk .none (.mk [] (.cond (.call (.function 18) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.construct (.adt 0 1) [(.copy (.generated .binding 2))])])) (.mk [] (.construct (.none (.adt 0)) []))))), (.mk (.some (.bind (.generated .binding 3))) (.mk [] (.construct .some [(.move (.generated .binding 3))])))]), [(2, .nat, (some 2)), (1, (.option (.adt 0)), (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.matchArms (st := (.option (.adt 0))) (U := []) (view := false) (idx := [1, 0]) (Corr.var rfl rfl) (Corr.mCons (Γ' := [(2, .nat, (some 2)), (1, (.option (.adt 0)), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 1) (loads := []) (lets := []) (tail := (.cond (.call (.function 18) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false) (.mk [] (.construct .some [(.construct (.adt 0 1) [(.copy (.generated .binding 2))])])) (.mk [] (.construct (.none (.adt 0)) [])))) (Corr.mCons (Γ' := [(3, (.adt 0), (some 3)), (2, .nat, (some 2)), (1, (.option (.adt 0)), (some 1)), (0, (.pair .nat .nat), (some 0))]) (j := 0) (loads := []) (lets := []) (tail := (.construct .some [(.move (.generated .binding 3))])) (Corr.mNil) rfl rfl rfl (Corr.build (ts := [(.adt 0)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) rfl rfl rfl (Corr.cond (lc := []) (ce := (.call (.function 18) [(.copy (.generated .binding 0)), (.copy (.generated .binding 2))] false)) (lk := []) (Corr.callOps (ts := [(.pair .nat .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.construct (.adt 0 1) [(.copy (.generated .binding 2))])])) (lb := []) (tb := (.construct (.none (.adt 0)) [])) (Corr.build (ts := [(.adt 0)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))) rfl rfl rfl)⟩⟩ + +theorem fun15 : FunOK program krate flags 15 := + ⟨_, rfl, .inl ⟨_, _, [], (.construct .cons [(.lit (.nat 2)), (.construct .cons [(.lit (.nat 1)), (.construct (.nil .nat) [])])]), [(0, (.pair .nat .nat), none)], rfl, rfl, + (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := [.nat, (.list .nat)]) (mask := [false, false]) (Corr.opsOfL (Corr.lCons (Corr.value rfl rfl) (Corr.lCons (Corr.eOfBNil (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)) (Corr.lNil)))) rfl)) (Corr.lNil)))) rfl)⟩⟩ + +theorem fun16 : FunOK program krate flags 16 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 12) [(.copy (.generated .binding 0))] false) (.mk [] (.construct .some [(.call (.function 19) [(.copy (.generated .binding 0))] false)])) (.mk [] (.construct (.none (.pair .nat .nat)) []))), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 12) [(.copy (.generated .binding 0))] false)) (lk := []) (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 19) [(.copy (.generated .binding 0))] false)])) (lb := []) (tb := (.construct (.none (.pair .nat .nat)) [])) (Corr.build (ts := [(.pair .nat .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat)]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lNil))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun17 : FunOK program krate flags 17 := + ⟨_, rfl, .inl ⟨_, _, [], (.cond (.call (.function 18) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false) (.mk [] (.construct .some [(.call (.function 20) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false)])) (.mk [] (.construct (.none (.pair .nat .nat)) []))), [(1, .nat, (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.cond (lc := []) (ce := (.call (.function 18) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false)) (lk := []) (Corr.callOps (ts := [(.pair .nat .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl) (Corr.kIf (la := []) (ta := (.construct .some [(.call (.function 20) [(.copy (.generated .binding 0)), (.copy (.generated .binding 1))] false)])) (lb := []) (tb := (.construct (.none (.pair .nat .nat)) [])) (Corr.build (ts := [(.pair .nat .nat)]) (mask := [false]) (Corr.opsOfL (Corr.lCons (Corr.eOfBNil (Corr.callOps (ts := [(.pair .nat .nat), .nat]) (Corr.opsOfL (Corr.lCons (Corr.var rfl rfl) (Corr.lCons (Corr.var rfl rfl) (Corr.lNil)))) rfl rfl rfl rfl rfl)) (Corr.lNil))) rfl) (Corr.build (ts := []) (mask := []) (Corr.opsNil) rfl)))⟩⟩ + +theorem fun18 : FunOK program krate flags 18 := + ⟨_, rfl, .inl ⟨_, _, [(.mk (.bind (.generated .operand 31)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 32)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 30))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 30)))))], (.cond (.call (.runtime .natLe) [(.move (.generated .operand 31)), (.move (.generated .operand 32))] false) (.mk [(.mk (.bind (.generated .operand 33)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 34)) none (.copy (.generated .binding 1)))] (.call (.runtime .natLt) [(.move (.generated .operand 33)), (.move (.generated .operand 34))] false)) (.mk [] (.lit (.bool false)))), [(1, .nat, (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.cond (lc := [(.mk (.bind (.generated .operand 31)) none (.copy (.generated .binding 1))), (.mk (.bind (.generated .operand 32)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 30))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 30)))))]) (ce := (.call (.runtime .natLe) [(.move (.generated .operand 31)), (.move (.generated .operand 32))] false)) (lk := []) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 30))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 30))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.kIf (la := [(.mk (.bind (.generated .operand 33)) none (.lit (.nat 0))), (.mk (.bind (.generated .operand 34)) none (.copy (.generated .binding 1)))]) (ta := (.call (.runtime .natLt) [(.move (.generated .operand 33)), (.move (.generated .operand 34))] false)) (lb := []) (tb := (.lit (.bool false))) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl) (Corr.bOfE (Corr.buildConst rfl))))⟩⟩ + +theorem fun19 : FunOK program krate flags 19 := + ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 35)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 35)))) (.block (.mk [(.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 36))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 36))))), (.mk (.bind (.generated .operand 38)) none (.lit (.nat 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 37)), (.move (.generated .operand 38))] false)))), [(0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 35)), .wild]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 35))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 37)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 36))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 36))))), (.mk (.bind (.generated .operand 38)) none (.lit (.nat 1)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 37)), (.move (.generated .operand 38))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 36))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 36))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.value rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))⟩⟩ + +theorem fun20 : FunOK program krate flags 20 := + ⟨_, rfl, .inl ⟨_, _, [], (.pair (.block (.mk [(.mk (.tuple [(.bind (.generated .part 39)), .wild]) none (.copy (.generated .binding 0)))] (.move (.generated .part 39)))) (.block (.mk [(.mk (.bind (.generated .operand 41)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 40))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 40))))), (.mk (.bind (.generated .operand 42)) none (.copy (.generated .binding 1)))] (.call (.runtime .natSub) [(.move (.generated .operand 41)), (.move (.generated .operand 42))] false)))), [(1, .nat, (some 1)), (0, (.pair .nat .nat), (some 0))], rfl, rfl, + (Corr.bOfE (Corr.buildPair (Corr.lCons (Corr.eOfB (lets := [(.mk (.tuple [(.bind (.generated .part 39)), .wild]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 39))) (Corr.first (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.lCons (Corr.eOfB (lets := [(.mk (.bind (.generated .operand 41)) none (.block (.mk [(.mk (.tuple [.wild, (.bind (.generated .part 40))]) none (.copy (.generated .binding 0)))] (.move (.generated .part 40))))), (.mk (.bind (.generated .operand 42)) none (.copy (.generated .binding 1)))]) (tail := (.call (.runtime .natSub) [(.move (.generated .operand 41)), (.move (.generated .operand 42))] false)) (Corr.prim (ts := [.nat, .nat]) (Corr.opsCons (Corr.eOfB (lets := [(.mk (.tuple [.wild, (.bind (.generated .part 40))]) none (.copy (.generated .binding 0)))]) (tail := (.move (.generated .part 40))) (Corr.second (ta := .nat) (tb := .nat) (Corr.var rfl rfl) rfl)) (Corr.opsCons (Corr.var rfl rfl) (Corr.opsNil) rfl rfl) rfl rfl) rfl rfl rfl rfl rfl rfl)) (Corr.lNil)))))⟩⟩ + +theorem crate_ok : CrateOK program krate flags := by + intro f fn h + match f with + | 0 => exact fun0 + | 1 => exact fun1 + | 2 => exact fun2 + | 3 => exact fun3 + | 4 => exact fun4 + | 5 => exact fun5 + | 6 => exact fun6 + | 7 => exact fun7 + | 8 => exact fun8 + | 9 => exact fun9 + | 10 => exact fun10 + | 11 => exact fun11 + | 12 => exact fun12 + | 13 => exact fun13 + | 14 => exact fun14 + | 15 => exact fun15 + | 16 => exact fun16 + | 17 => exact fun17 + | 18 => exact fun18 + | 19 => exact fun19 + | 20 => exact fun20 + | _ + 21 => simp [program, index_eq] at h + +/-- Every function of the program is simulated by its rendering. -/ +theorem root : ∀ n f, FunSem program krate flags n f := fun n f => simulate crate_ok n f + +end LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.RustStd diff --git a/examples/reasoning/expected/verify/preserve/audit.txt b/examples/reasoning/expected/verify/preserve/audit.txt index 559acbfde..6db191566 100644 --- a/examples/reasoning/expected/verify/preserve/audit.txt +++ b/examples/reasoning/expected/verify/preserve/audit.txt @@ -263,10 +263,10 @@ 'LexLeanPreservation.prim_utf8Decode.match_1_1' does not depend on any axioms 'LexLeanPreservation.prim_utf8Decode' depends on axioms: [propext, Classical.choice, Quot.sound] 'LexLeanPreservation.prim_utf8Encode' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanTarget.TargetSemantics.LexLeanRuntime.compareBytes.eq_1' depends on axioms: [propext] -'LexLeanTarget.TargetSemantics.LexLeanRuntime.equal.eq_1' does not depend on any axioms -'LexLeanTarget.TargetSemantics.LexLeanRuntime.length.eq_1' does not depend on any axioms -'LexLeanTarget.TargetSemantics.LexLeanRuntime.slice.eq_1' does not depend on any axioms +'LexLeanRuntime.compareBytes.eq_1' depends on axioms: [propext] +'LexLeanRuntime.equal.eq_1' does not depend on any axioms +'LexLeanRuntime.length.eq_1' does not depend on any axioms +'LexLeanRuntime.slice.eq_1' does not depend on any axioms 'LexLeanTarget.TargetSemantics.fromOrdering.eq_1' depends on axioms: [propext] 'LexLeanPreservation.checkedMultiplyWith.match_1' does not depend on any axioms 'LexLeanPreservation.checkedMultiplyWith' does not depend on any axioms @@ -639,15 +639,15 @@ 'LexLeanPreservation.keySpec_u64' depends on axioms: [propext, Classical.choice, Quot.sound] 'LexLeanTarget.TargetSemantics.orderU8.eq_1' does not depend on any axioms 'LexLeanPreservation.keySpec_u8' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes._sparseCasesOn_1.else_eq' depends on axioms: [propext] -'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_1' depends on axioms: [propext] -'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_2' depends on axioms: [propext] -'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_3' depends on axioms: [propext] -'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_4' depends on axioms: [propext] -'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_def' depends on axioms: [propext] -'LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_1' does not depend on any axioms -'LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_2' does not depend on any axioms -'LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_def' does not depend on any axioms +'LexLeanCollections.compareCodes._sparseCasesOn_1.else_eq' depends on axioms: [propext] +'LexLeanCollections.compareCodes.eq_1' depends on axioms: [propext] +'LexLeanCollections.compareCodes.eq_2' depends on axioms: [propext] +'LexLeanCollections.compareCodes.eq_3' depends on axioms: [propext] +'LexLeanCollections.compareCodes.eq_4' depends on axioms: [propext] +'LexLeanCollections.compareCodes.eq_def' depends on axioms: [propext] +'LexLeanCollections.insertEntry.eq_1' does not depend on any axioms +'LexLeanCollections.insertEntry.eq_2' does not depend on any axioms +'LexLeanCollections.insertEntry.eq_def' does not depend on any axioms 'LexLeanTarget.TargetSemantics.compareValue.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound] 'LexLeanTarget.TargetSemantics.compareValue.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound] 'LexLeanTarget.TargetSemantics.compareValue.eq_100' depends on axioms: [propext, Classical.choice, Quot.sound] @@ -1443,7 +1443,6 @@ 'LexLeanPreservation.Rust.tysBeq._unsafe_rec' depends on axioms: [propext] 'LexLeanPreservation.Rust.tyBeq._unsafe_rec' depends on axioms: [propext] 'LexLeanPreservation.Rust.tysBeq._sunfold' depends on axioms: [propext] -'LexLeanTarget.RustSemantics.LexLeanRuntime.equal.eq_1' does not depend on any axioms 'LexLeanTarget.RustSemantics.eval.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound] 'LexLeanTarget.RustSemantics.eval.eq_17' depends on axioms: [propext, Classical.choice, Quot.sound] 'LexLeanTarget.RustSemantics.eval.eq_18' depends on axioms: [propext, Classical.choice, Quot.sound] @@ -7738,60 +7737,60 @@ 'LexLeanPreservation.encOption.eq_2' does not depend on any axioms 'LexLeanPreservation.encPair.eq_1' does not depend on any axioms 'LexLeanPreservation.encUnit.eq_1' does not depend on any axioms -'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.root' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.Compose.RustCore.root' depends on axioms: [propext, +'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.Compose.RustCore.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.Compose.RustStd.root' depends on axioms: [propext, +'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.Compose.RustStd.root' depends on axioms: [propext, Classical.choice, Quot.sound] -- statement vocabulary @@ -7810,7 +7809,7 @@ def LexLeanPreservation.FunRel : LexLeanTarget.TargetSyntax.Program → Nat → List LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs → Prop := fun p f args o => ∃ fn, - LexLeanTarget.TargetSemantics.LexLeanRuntime.index p.functions f = some fn ∧ + LexLeanRuntime.index p.functions f = some fn ∧ ∃ env, LexLeanTarget.TargetSemantics.bindAll fn.parameters args [] = some env ∧ LexLeanPreservation.Conv p env fn.body o @@ -7861,7 +7860,7 @@ def LexLeanPreservation.Rust.FunSem : LexLeanTarget.TargetSyntax.Program → fun p c A n f => ∀ (fn : LexLeanTarget.TargetSyntax.Function) (args : List LexLeanTarget.TargetSyntax.Value) (env : List (Nat × LexLeanTarget.TargetSyntax.Value)) (F : Bool), - LexLeanTarget.TargetSemantics.LexLeanRuntime.index p.functions f = some fn → + LexLeanRuntime.index p.functions f = some fn → LexLeanPreservation.Rust.WTL p c A args fn.types → LexLeanTarget.TargetSemantics.bindAll fn.parameters args [] = some env → LexLeanPreservation.Rust.fnFallible c f = some F → diff --git a/examples/reasoning/expected/verify/preserve/preservation.json b/examples/reasoning/expected/verify/preserve/preservation.json index 0787fe380..bf5d9ae1c 100644 --- a/examples/reasoning/expected/verify/preserve/preservation.json +++ b/examples/reasoning/expected/verify/preserve/preservation.json @@ -1 +1 @@ -{"library":{"axioms":["Classical.choice","Quot.sound","propext"],"registry_sha256":"9b759e47541781eb530e49000bac2c0f22fbcda44821350a66b1d27936daa54f"},"roots":[{"byte_length":141563,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0","program":{"byte_length":36186,"sha256":"3f39f0a6f1b7639eb1a021d09aa351a8a51cde520fe0d8fcb48317283f1e3d63"},"renderings":[{"byte_length":187486,"composed":{"byte_length":6698,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.Compose.RustCore","sha256":"0a2068ab249efda29a0a85d2fcac3a1b8edc3e13b018a1428d3352ff735683d3","theorem":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.Compose.RustCore.root"},"crate":{"byte_length":25957,"sha256":"373227b883bed3b90092ff7c99c97a8a2479213d7c773852355fff7648beaf0e"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.RustCore","sha256":"dbdf792b97c9bfd85ab6e538becf6e259591c55e44a125db8c0139cc90ef00d9","target":"rust-core","theorem":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.RustCore.root"}],"root":"Reasoning.Main.triageLevel","sha256":"381c4d707b7d7729ff7620cab159da75406c160decc111932f425d3ec9600e2e","targets":["rust-core"],"theorem":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.root"},{"byte_length":143462,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1","program":{"byte_length":36679,"sha256":"9e2f7386e9b0f0c3f8861e9e54bba15353cc8c7b465664f5e992b8210e83815f"},"renderings":[{"byte_length":188860,"composed":{"byte_length":6698,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.Compose.RustCore","sha256":"be1e48c87649c824c320bd3f8736dd8eb017843270189f61f7408ca928bc8dad","theorem":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.Compose.RustCore.root"},"crate":{"byte_length":26098,"sha256":"ac88de1419f5c1f6ed9e589a800cfc4afcf42b55c77f46b29c439164d44f68c7"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.RustCore","sha256":"a5b466d5743e565f0fa7d6a0c792ca3598c3c7a4fce740726e55b8d0bc7a757e","target":"rust-core","theorem":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.RustCore.root"}],"root":"Reasoning.Main.gatewayLevel","sha256":"b4293a5f385a647dc3d8c9e62436052e3841e88334367231deb072bbd6df4119","targets":["rust-core"],"theorem":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.root"},{"byte_length":189443,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2","program":{"byte_length":47876,"sha256":"2a46e167d6afdf96fd1c4ed4ddd462c30eb1ab849e08b0847f3c4aa87ab5fd0a"},"renderings":[{"byte_length":283431,"composed":{"byte_length":8531,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.Compose.RustStd","sha256":"c2de34ce6fe278317505d430c5c57c049159d74ac308088318313402548c4ca8","theorem":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.Compose.RustStd.root"},"crate":{"byte_length":45349,"sha256":"5cdcbdf73202f418deae91f5ed3daf71e8457190441c122784ee1fa157a61251"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd","sha256":"241319528d14f9272e57b6734b4e2deee8e5d11f31732c78b3c85c95e3658ad7","target":"rust-std","theorem":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd.root"}],"root":"Reasoning.Main.triageSteps","sha256":"cd712b0c22b0ae79316fe4e8b7cfc4ccc25cbbac5e96fd50c57ded29779b5a79","targets":["rust-std"],"theorem":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.root"},{"byte_length":155284,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3","program":{"byte_length":41744,"sha256":"9a5f37cae3bc362991271aa26ace2db53c7ca9c38618a34455fbc70882ae476d"},"renderings":[{"byte_length":230142,"composed":{"byte_length":5565,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.Compose.RustStd","sha256":"30769e1a23c5a73a64eb9de186e5bdba450d3a65f141b53376ee71e07dfb0d28","theorem":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.Compose.RustStd.root"},"crate":{"byte_length":39550,"sha256":"b66e8320820654694b9a745a745a90017dcfa9a7713e85d44d8257fd7d3d9c51"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd","sha256":"e8e3fa5bd11adab9e0bfe449883a107328a3f6b5074087ffbda839c7cb527f5c","target":"rust-std","theorem":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd.root"}],"root":"Reasoning.Main.planLeft","sha256":"743e77004a5f4afe5c809b23d810763d2bb74ed76dd296e9663dda4cc62413bb","targets":["rust-std"],"theorem":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.root"},{"byte_length":42567,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4","program":{"byte_length":11798,"sha256":"3a65f411f6eb41c898bd2f895719b295fbc8afaefc20212dfc8e111f582a3db5"},"renderings":[{"byte_length":62656,"composed":{"byte_length":3403,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.Compose.RustStd","sha256":"0e7ebec69703c7ef101de1bbb9daf2d98b95756354de9c823f765471de306a4b","theorem":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.Compose.RustStd.root"},"crate":{"byte_length":20147,"sha256":"7ffb7b92f94e45432a616d2778e61294d980f58e03d30392ae519e3002aaa41b"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.RustStd","sha256":"697cf6fcd67bd5414da7e11e1b5e050f71d51a422be03b80114a1e221a4c38ff","target":"rust-std","theorem":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.RustStd.root"}],"root":"Reasoning.Main.doseLevel","sha256":"842356d3e066cd5f18866b55f2e9f810e9d46e59a4bf23fa1aadeb146b244552","targets":["rust-std"],"theorem":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.root"},{"byte_length":130218,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5","program":{"byte_length":33983,"sha256":"96c393acd11d0f45f881f960db3eba8734d1115aa71b0b73b3e73d13f08a0488"},"renderings":[{"byte_length":175999,"composed":{"byte_length":6671,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.Compose.RustCore","sha256":"b9d51815a74e6fc9591408996a42309d15d2def784e1860ea17c8c8593c58794","theorem":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.Compose.RustCore.root"},"crate":{"byte_length":24856,"sha256":"e759aefcfa353eb5202d08cc08c7dcc378cd0994d8be42bca802c174d340d28d"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.RustCore","sha256":"731051f84c765f81bbcc0362e37ad56209a02d093a789c77740ea4eaa5d189ae","target":"rust-core","theorem":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.RustCore.root"}],"root":"Reasoning.Main.gradeLevel","sha256":"3e2106d5a82afdf691e67037277bce1a6fe51f7f6119387c13e618e0cb0d19e2","targets":["rust-core"],"theorem":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.root"},{"byte_length":116887,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6","program":{"byte_length":28344,"sha256":"8c9c2a16fb25398ae97777f69e934175246b5e37acece648c6661c6f3dfc7282"},"renderings":[{"byte_length":164251,"composed":{"byte_length":4998,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.Compose.RustStd","sha256":"7194dd8140b33ec121ae4471816803699f20f4829df8cad6500f8205789eea49","theorem":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.Compose.RustStd.root"},"crate":{"byte_length":32915,"sha256":"224dabc5daa77c8128eb9d49f2dcd528155354328a75b0129ec1818f247b918c"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd","sha256":"1b1bf1df38151d34bed65a608d05a7c4f4bebfbe777764d3f257032424c92359","target":"rust-std","theorem":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd.root"}],"root":"Reasoning.Main.screenDose","sha256":"4f05c09d3d376cce7bfd22fa2eb2099f6c460517d22a18a653606ca2c9dc8824","targets":["rust-std"],"theorem":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.root"},{"byte_length":60948,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7","program":{"byte_length":16614,"sha256":"bf95bba329a7f73d9a7036f8fd91df829a4b615b2c3a7249c9998238687ecfee"},"renderings":[{"byte_length":57695,"composed":{"byte_length":2228,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.Compose.RustStd","sha256":"9727b1e523905625cf8f563cb69c81a4609d9325b3420a57f3f4307d63ebb130","theorem":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.Compose.RustStd.root"},"crate":{"byte_length":18308,"sha256":"2d2db53b580aa55f9a76a185cbcde3ca8a0689b2607c2f3fc11e2b94fb89ac8d"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.RustStd","sha256":"62ef83f100a1e86cef2719a1611985cf993614d9434d9dd55eb6c78881ab7608","target":"rust-std","theorem":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.RustStd.root"}],"root":"Reasoning.Main.spendLeft","sha256":"837ce5ae2804ba4b2ae770e12a6b656c504104b62a38742eb39d1622b16d4acb","targets":["rust-std"],"theorem":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.root"}],"spec":"lexlean/preservation/1"} +{"library":{"axioms":["Classical.choice","Quot.sound","propext"],"registry_sha256":"02de6e4be5a6ae43997bacd3713ea587693b8ac66da4aef567463a535a076ff3"},"roots":[{"byte_length":141533,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0","program":{"byte_length":36186,"sha256":"3f39f0a6f1b7639eb1a021d09aa351a8a51cde520fe0d8fcb48317283f1e3d63"},"renderings":[{"byte_length":187486,"composed":{"byte_length":6698,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.Compose.RustCore","sha256":"264532088d3d985e9256c7285f6984599acff6de9e78ae189679a1d20c16ae1a","theorem":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.Compose.RustCore.root"},"crate":{"byte_length":25957,"sha256":"373227b883bed3b90092ff7c99c97a8a2479213d7c773852355fff7648beaf0e"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.RustCore","sha256":"7983c482cbf534caac7d53fdc016426aa4c9831425ee5a4fb3878ea2f6b639b1","target":"rust-core","theorem":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.RustCore.root"}],"root":"Reasoning.Main.triageLevel","sha256":"1af2dd08c6d462228c5a1bdea972681bca3d05a992975675df57b356ead76c73","targets":["rust-core"],"theorem":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.root"},{"byte_length":143432,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1","program":{"byte_length":36679,"sha256":"9e2f7386e9b0f0c3f8861e9e54bba15353cc8c7b465664f5e992b8210e83815f"},"renderings":[{"byte_length":188860,"composed":{"byte_length":6698,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.Compose.RustCore","sha256":"2b1da537b964f440df602cb1247b3a0513fcf43507c6843ebb7dcc0135f602c0","theorem":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.Compose.RustCore.root"},"crate":{"byte_length":26098,"sha256":"ac88de1419f5c1f6ed9e589a800cfc4afcf42b55c77f46b29c439164d44f68c7"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore","sha256":"257e7e9e15695f3533b94cb2233fd733ce9e15136253ed2db4ff57725058ed4c","target":"rust-core","theorem":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore.root"}],"root":"Reasoning.Main.gatewayLevel","sha256":"96803c4a7d55c6d08fb921dbed2e2e05c97b957f6465504d503ee89af1b3a6ab","targets":["rust-core"],"theorem":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.root"},{"byte_length":189369,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2","program":{"byte_length":47876,"sha256":"2a46e167d6afdf96fd1c4ed4ddd462c30eb1ab849e08b0847f3c4aa87ab5fd0a"},"renderings":[{"byte_length":283431,"composed":{"byte_length":8531,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.Compose.RustStd","sha256":"a397894949e8befeb3d10f181584eab1fb588febb81919140d233085af51358b","theorem":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.Compose.RustStd.root"},"crate":{"byte_length":45349,"sha256":"5cdcbdf73202f418deae91f5ed3daf71e8457190441c122784ee1fa157a61251"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd","sha256":"ca4c586d8973b7354c8d0e8cf5f47c37cae9ac02ee747fa45285a7ae2a673907","target":"rust-std","theorem":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd.root"}],"root":"Reasoning.Main.triageSteps","sha256":"5b2ab0140f0249220389a71df67524a22ef80f0f6333cd77495afd7e5368c80a","targets":["rust-std"],"theorem":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.root"},{"byte_length":153403,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3","program":{"byte_length":41744,"sha256":"9a5f37cae3bc362991271aa26ace2db53c7ca9c38618a34455fbc70882ae476d"},"renderings":[{"byte_length":230142,"composed":{"byte_length":5565,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.Compose.RustStd","sha256":"8e94e0220533e361406ff2f2d412873546e8485f66eaa00605acbc814675acb8","theorem":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.Compose.RustStd.root"},"crate":{"byte_length":39550,"sha256":"b66e8320820654694b9a745a745a90017dcfa9a7713e85d44d8257fd7d3d9c51"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd","sha256":"548c26f74d76aba49b8b8ebc1f9110ba90d6e0906433a66f6985ef9b524404e0","target":"rust-std","theorem":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd.root"}],"root":"Reasoning.Main.planLeft","sha256":"9f8fdaf2524c2efbbedc73eb69a8df79d4e3d413bd4d29c9c94c8098be30045a","targets":["rust-std"],"theorem":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.root"},{"byte_length":42541,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4","program":{"byte_length":11798,"sha256":"3a65f411f6eb41c898bd2f895719b295fbc8afaefc20212dfc8e111f582a3db5"},"renderings":[{"byte_length":62656,"composed":{"byte_length":3403,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.Compose.RustStd","sha256":"adf4c98ce918137fe232778eedd7c8e26254c7d2c8e284d47265ed1b67d57ebb","theorem":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.Compose.RustStd.root"},"crate":{"byte_length":20147,"sha256":"7ffb7b92f94e45432a616d2778e61294d980f58e03d30392ae519e3002aaa41b"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.RustStd","sha256":"75edb020a2c431e6220410733aa8848e4a8a875f2aaddf5306d79d305158cc3e","target":"rust-std","theorem":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.RustStd.root"}],"root":"Reasoning.Main.doseLevel","sha256":"6bed203cbbfb33920dba5dff9383e4147c5e1bda86dca27ad3b38a23469b9007","targets":["rust-std"],"theorem":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.root"},{"byte_length":130194,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5","program":{"byte_length":33983,"sha256":"96c393acd11d0f45f881f960db3eba8734d1115aa71b0b73b3e73d13f08a0488"},"renderings":[{"byte_length":175999,"composed":{"byte_length":6671,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.Compose.RustCore","sha256":"07d56f7ba8bfb28dea2d63db1b9aaa7fc335de75accfaafb4097db7b94ef1502","theorem":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.Compose.RustCore.root"},"crate":{"byte_length":24856,"sha256":"e759aefcfa353eb5202d08cc08c7dcc378cd0994d8be42bca802c174d340d28d"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore","sha256":"ffdaea0b724ebe51693031ea62f94f400229b76e98fc7d46c8dc802734378422","target":"rust-core","theorem":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore.root"}],"root":"Reasoning.Main.gradeLevel","sha256":"3af3322fc024be94087176cbfe8f7b12f4b29fa1ae6c9c1140adb12bb1a6df64","targets":["rust-core"],"theorem":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.root"},{"byte_length":115327,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6","program":{"byte_length":28344,"sha256":"8c9c2a16fb25398ae97777f69e934175246b5e37acece648c6661c6f3dfc7282"},"renderings":[{"byte_length":164251,"composed":{"byte_length":4998,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.Compose.RustStd","sha256":"f244593ac2fc3eff3a4cdc0f5d3baa32fd8e8684253aee78f3110e6f56f55f88","theorem":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.Compose.RustStd.root"},"crate":{"byte_length":32915,"sha256":"224dabc5daa77c8128eb9d49f2dcd528155354328a75b0129ec1818f247b918c"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd","sha256":"7ef4e00945f0e98c0a6875cd5ac0912e7be02935379683a73bcb7cdf71c57b49","target":"rust-std","theorem":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd.root"}],"root":"Reasoning.Main.screenDose","sha256":"ea46f885e7fe20f560ebd161a23a8121761aba3ce515456bacf2f992dd17627b","targets":["rust-std"],"theorem":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.root"},{"byte_length":60908,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7","program":{"byte_length":16614,"sha256":"bf95bba329a7f73d9a7036f8fd91df829a4b615b2c3a7249c9998238687ecfee"},"renderings":[{"byte_length":57695,"composed":{"byte_length":2228,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.Compose.RustStd","sha256":"4b121af1c2215516d374e3ca78a4f65a94754856ff6f429430674a01bae54f69","theorem":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.Compose.RustStd.root"},"crate":{"byte_length":18308,"sha256":"2d2db53b580aa55f9a76a185cbcde3ca8a0689b2607c2f3fc11e2b94fb89ac8d"},"entry":{"function":0,"symbol":"f0"},"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.RustStd","sha256":"b42110d41df98814ad6aa4102e97bc25491714c8d93fa2d7013ba7049f2702f3","target":"rust-std","theorem":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.RustStd.root"}],"root":"Reasoning.Main.spendLeft","sha256":"144277cd542a53dc17af19b663abe81c2540007b3cfe629abc909f14700ae6f3","targets":["rust-std"],"theorem":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.root"}],"spec":"lexlean/preservation/1"} diff --git a/examples/reasoning/expected/verify/probe/LexLeanProbe.P6d3e375f76cbc573b09fef98086539e0.lean b/examples/reasoning/expected/verify/probe/LexLeanProbe.Pf04b35f2e1794332ed2a5b996f01296f.lean similarity index 100% rename from examples/reasoning/expected/verify/probe/LexLeanProbe.P6d3e375f76cbc573b09fef98086539e0.lean rename to examples/reasoning/expected/verify/probe/LexLeanProbe.Pf04b35f2e1794332ed2a5b996f01296f.lean diff --git a/examples/reasoning/expected/verify/probe/process.json b/examples/reasoning/expected/verify/probe/process.json index 3c9b1b66b..bfafc1c12 100644 --- a/examples/reasoning/expected/verify/probe/process.json +++ b/examples/reasoning/expected/verify/probe/process.json @@ -1 +1 @@ -{"argv":["env","lean","$STAGING/probe/LexLeanProbe.P6d3e375f76cbc573b09fef98086539e0.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.P6d3e375f76cbc573b09fef98086539e0","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} +{"argv":["env","lean","$STAGING/probe/LexLeanProbe.Pf04b35f2e1794332ed2a5b996f01296f.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.Pf04b35f2e1794332ed2a5b996f01296f","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/lean/LexLeanRuntime.Collections.json b/examples/reasoning/expected/verify/process/lean/LexLeanRuntime.Collections.json new file mode 100644 index 000000000..75248f178 --- /dev/null +++ b/examples/reasoning/expected/verify/process/lean/LexLeanRuntime.Collections.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/lean-src","-o","$STAGING/oleans/LexLeanRuntime/Collections.olean","$STAGING/lean-src/LexLeanRuntime/Collections.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Collections","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/lean/LexLeanRuntime.Models.json b/examples/reasoning/expected/verify/process/lean/LexLeanRuntime.Models.json new file mode 100644 index 000000000..9f0f24f8a --- /dev/null +++ b/examples/reasoning/expected/verify/process/lean/LexLeanRuntime.Models.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/lean-src","-o","$STAGING/oleans/LexLeanRuntime/Models.olean","$STAGING/lean-src/LexLeanRuntime/Models.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Models","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/lean/LexLeanRuntime.Portable.json b/examples/reasoning/expected/verify/process/lean/LexLeanRuntime.Portable.json new file mode 100644 index 000000000..1ce5b3a39 --- /dev/null +++ b/examples/reasoning/expected/verify/process/lean/LexLeanRuntime.Portable.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/lean-src","-o","$STAGING/oleans/LexLeanRuntime/Portable.olean","$STAGING/lean-src/LexLeanRuntime/Portable.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Portable","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/lean/LexLeanRuntime.Reasoning.json b/examples/reasoning/expected/verify/process/lean/LexLeanRuntime.Reasoning.json new file mode 100644 index 000000000..9ed6188e7 --- /dev/null +++ b/examples/reasoning/expected/verify/process/lean/LexLeanRuntime.Reasoning.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/lean-src","-o","$STAGING/oleans/LexLeanRuntime/Reasoning.olean","$STAGING/lean-src/LexLeanRuntime/Reasoning.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Reasoning","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.Compose.RustCore.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.Compose.RustCore.json deleted file mode 100644 index 9c0d5de27..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.RustCore.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.RustCore.json deleted file mode 100644 index 04d04fc33..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.json deleted file mode 100644 index 2cfc74337..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.Compose.RustCore.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.Compose.RustCore.json deleted file mode 100644 index a7ad6c079..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.RustCore.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.RustCore.json deleted file mode 100644 index ce0dc1f34..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.json deleted file mode 100644 index 5433c339d..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.Compose.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.Compose.RustStd.json deleted file mode 100644 index 1822c0753..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd.json deleted file mode 100644 index 70122a170..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.json deleted file mode 100644 index e9bc12b55..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.Compose.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.Compose.RustStd.json deleted file mode 100644 index 411b26c78..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd.json deleted file mode 100644 index a55c897f8..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.json deleted file mode 100644 index 45ba64dfa..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.Compose.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.Compose.RustStd.json deleted file mode 100644 index 7896c6919..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.RustStd.json deleted file mode 100644 index 4506ca6ba..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.json deleted file mode 100644 index a6c480760..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.Compose.RustCore.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.Compose.RustCore.json deleted file mode 100644 index 60b578aae..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.RustCore.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.RustCore.json deleted file mode 100644 index 801b73db2..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.json deleted file mode 100644 index 543155a2c..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.Compose.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.Compose.RustStd.json deleted file mode 100644 index 078ce5967..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd.json deleted file mode 100644 index 5685459a7..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.json deleted file mode 100644 index 27362163e..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.Compose.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.Compose.RustStd.json deleted file mode 100644 index ecd65ce5e..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.RustStd.json deleted file mode 100644 index cbd90a0f0..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.json deleted file mode 100644 index 891d3e3e7..000000000 --- a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.Compose.RustCore.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.Compose.RustCore.json new file mode 100644 index 000000000..147b84db1 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.RustCore.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.RustCore.json new file mode 100644 index 000000000..f944b6fd4 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.json new file mode 100644 index 000000000..e72f10fca --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.Compose.RustCore.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.Compose.RustCore.json new file mode 100644 index 000000000..a29cfca98 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore.json new file mode 100644 index 000000000..3af57038c --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.json new file mode 100644 index 000000000..49bc89f6a --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.Compose.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.Compose.RustStd.json new file mode 100644 index 000000000..31aa19e41 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd.json new file mode 100644 index 000000000..90c975ac8 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.json new file mode 100644 index 000000000..6920bf2e0 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.Compose.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.Compose.RustStd.json new file mode 100644 index 000000000..ac9625aa9 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd.json new file mode 100644 index 000000000..84ee700c5 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.json new file mode 100644 index 000000000..8e97e0c43 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.Compose.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.Compose.RustStd.json new file mode 100644 index 000000000..59916dbb3 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.RustStd.json new file mode 100644 index 000000000..35eb183f5 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.json new file mode 100644 index 000000000..441983c22 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.Compose.RustCore.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.Compose.RustCore.json new file mode 100644 index 000000000..6f47d508a --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.Compose.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore.json new file mode 100644 index 000000000..67b72bbac --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.json new file mode 100644 index 000000000..1b2b65653 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.Compose.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.Compose.RustStd.json new file mode 100644 index 000000000..dc8727c39 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd.json new file mode 100644 index 000000000..449a1d36d --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.json new file mode 100644 index 000000000..a19c2f897 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.Compose.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.Compose.RustStd.json new file mode 100644 index 000000000..72a6040c3 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.Compose.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.RustStd.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.RustStd.json new file mode 100644 index 000000000..4ab9cb30f --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.RustStd"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.json new file mode 100644 index 000000000..5aaab8b19 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanRuntime.Collections.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanRuntime.Collections.json new file mode 100644 index 000000000..52662ef9b --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanRuntime.Collections.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanRuntime.Collections"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Collections","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanRuntime.Models.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanRuntime.Models.json new file mode 100644 index 000000000..2ead78937 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanRuntime.Models.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanRuntime.Models"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Models","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanRuntime.Portable.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanRuntime.Portable.json new file mode 100644 index 000000000..826a4b876 --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanRuntime.Portable.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanRuntime.Portable"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Portable","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/leanchecker/LexLeanRuntime.Reasoning.json b/examples/reasoning/expected/verify/process/leanchecker/LexLeanRuntime.Reasoning.json new file mode 100644 index 000000000..2b665ce9b --- /dev/null +++ b/examples/reasoning/expected/verify/process/leanchecker/LexLeanRuntime.Reasoning.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanRuntime.Reasoning"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Reasoning","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Audit.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Audit.json index faa10b6ed..de890dd52 100644 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Audit.json +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Audit.json @@ -1 +1 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","$STAGING/preserve-src/LexLeanPreserve/Audit.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Audit","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanPreservation.Obs' does not depend on any axioms\n'LexLeanPreservation.obs.match_1' does not depend on any axioms\n'LexLeanPreservation.obs' does not depend on any axioms\n'LexLeanPreservation.Conv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ConvA' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ObsL' does not depend on any axioms\n'LexLeanPreservation.obsL.match_1' does not depend on any axioms\n'LexLeanPreservation.obsL' does not depend on any axioms\n'LexLeanPreservation.ConvL' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.FunRel' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Obs._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.Obs._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.Obs.casesOn' does not depend on any axioms\n'LexLeanPreservation.Obs.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.Obs.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Obs.ctorElim' does not depend on any axioms\n'LexLeanPreservation.Obs.overflow.elim' does not depend on any axioms\n'LexLeanPreservation.Obs.stuck.elim' does not depend on any axioms\n'LexLeanPreservation.Obs.value.elim' does not depend on any axioms\n'LexLeanPreservation.Obs.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.Obs.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Obs.overflow.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Obs.recOn' does not depend on any axioms\n'LexLeanPreservation.Obs.stuck.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Obs.value.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Obs.value.inj' does not depend on any axioms\n'LexLeanPreservation.Obs.value.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Obs.value.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ObsL._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.ObsL._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.ObsL.casesOn' does not depend on any axioms\n'LexLeanPreservation.ObsL.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.ObsL.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.ObsL.ctorElim' does not depend on any axioms\n'LexLeanPreservation.ObsL.overflow.elim' does not depend on any axioms\n'LexLeanPreservation.ObsL.stuck.elim' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.elim' does not depend on any axioms\n'LexLeanPreservation.ObsL.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.ObsL.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ObsL.overflow.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ObsL.recOn' does not depend on any axioms\n'LexLeanPreservation.ObsL.stuck.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.inj' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.injEq' depends on axioms: [propext]\n'LexLeanPreservation.ObsL.values.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rel' does not depend on any axioms\n'LexLeanPreservation.Rel.eq_1' does not depend on any axioms\n'LexLeanPreservation.RelL' does not depend on any axioms\n'LexLeanPreservation.RelL.eq_1' does not depend on any axioms\n'LexLeanPreservation.RunConv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.addSteps_ne' does not depend on any axioms\n'LexLeanPreservation.chargeResult_ne' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.stable.match_1_16' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_18' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_20' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_22' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_24' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_26' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.eval.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.stable' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.evalArms_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs_ne' does not depend on any axioms\n'LexLeanPreservation.convA_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.eval_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs_addSteps' does not depend on any axioms\n'LexLeanPreservation.convA_hit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.convA_miss' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.evalList_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obsL_ne' does not depend on any axioms\n'LexLeanPreservation.convL_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.convL_cons._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.convL_cons._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.convL_cons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.convL_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_apply._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_apply._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_apply._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_apply' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_build' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_call._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_call._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_call' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_closure' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_cond._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_cond._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_field' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_first' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_let._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_let._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_let' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_match._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_match._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_match' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_matchV' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs_chargeResult' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_prim' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_second' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_var' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.funRel_intro' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs.eq_1' does not depend on any axioms\n'LexLeanPreservation.obs.eq_2' does not depend on any axioms\n'LexLeanPreservation.obs.eq_3' does not depend on any axioms\n'LexLeanPreservation.obs.eq_4' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_1' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_2' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_3' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_4' does not depend on any axioms\n'LexLeanPreservation.run_of_funRel' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.run.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ListEnc' does not depend on any axioms\n'LexLeanPreservation.ListEnc._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.ListEnc._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.ListEnc.casesOn' does not depend on any axioms\n'LexLeanPreservation.ListEnc.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.ListEnc.elem' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items' does not depend on any axioms\n'LexLeanPreservation.ListEnc.enc' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_cons' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_eq.match_1_1' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_nil' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_eq._f' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_eq' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.ListEnc.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.ListEnc.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk.inj' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk.injEq' depends on axioms: [propext]\n'LexLeanPreservation.ListEnc.mk.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ListEnc.recOn' does not depend on any axioms\n'LexLeanPreservation.OptEnc' does not depend on any axioms\n'LexLeanPreservation.OptEnc._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.OptEnc._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.OptEnc.casesOn' does not depend on any axioms\n'LexLeanPreservation.OptEnc.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.OptEnc.elem' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc_none' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc_some' does not depend on any axioms\n'LexLeanPreservation.encOption.match_1' does not depend on any axioms\n'LexLeanPreservation.encOption' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc_map' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.OptEnc.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.OptEnc.noConfusion' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk.noConfusion' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk.inj' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk.injEq' depends on axioms: [propext]\n'LexLeanPreservation.OptEnc.mk.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.OptEnc.recOn' does not depend on any axioms\n'LexLeanPreservation.construct_adt' does not depend on any axioms\n'LexLeanPreservation.construct_cons' does not depend on any axioms\n'LexLeanPreservation.construct_error' does not depend on any axioms\n'LexLeanPreservation.construct_false' does not depend on any axioms\n'LexLeanPreservation.construct_nil' does not depend on any axioms\n'LexLeanPreservation.construct_none' does not depend on any axioms\n'LexLeanPreservation.construct_ok' does not depend on any axioms\n'LexLeanPreservation.construct_pair' does not depend on any axioms\n'LexLeanPreservation.construct_some' does not depend on any axioms\n'LexLeanPreservation.construct_succ' does not depend on any axioms\n'LexLeanPreservation.construct_true' does not depend on any axioms\n'LexLeanPreservation.construct_unit' does not depend on any axioms\n'LexLeanPreservation.construct_zero' does not depend on any axioms\n'LexLeanPreservation.encExcept.match_1' does not depend on any axioms\n'LexLeanPreservation.encExcept' does not depend on any axioms\n'LexLeanPreservation.encList' does not depend on any axioms\n'LexLeanPreservation.encOrdering.match_1' does not depend on any axioms\n'LexLeanPreservation.encOrdering' does not depend on any axioms\n'LexLeanPreservation.encPair' does not depend on any axioms\n'LexLeanPreservation.encUnit' does not depend on any axioms\n'LexLeanPreservation.listEnc._proof_1' does not depend on any axioms\n'LexLeanPreservation.listEnc._proof_2' does not depend on any axioms\n'LexLeanPreservation.listEnc' does not depend on any axioms\n'LexLeanPreservation.optEnc._proof_1' does not depend on any axioms\n'LexLeanPreservation.optEnc._proof_2' does not depend on any axioms\n'LexLeanPreservation.optEnc' does not depend on any axioms\n'LexLeanPreservation.bytes_empty' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.bytes_one' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.bytes_zero' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.encOrdering.eq_1' does not depend on any axioms\n'LexLeanPreservation.encOrdering.eq_2' does not depend on any axioms\n'LexLeanPreservation.encOrdering.eq_3' does not depend on any axioms\n'LexLeanPreservation.fromOrdering_encOrdering' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.fromStrings_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.fromStrings_map._f' does not depend on any axioms\n'LexLeanPreservation.fromStrings_map' does not depend on any axioms\n'LexLeanPreservation.intFits' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.listIndex_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.listIndex_map._f' does not depend on any axioms\n'LexLeanPreservation.listIndex_map' does not depend on any axioms\n'LexLeanPreservation.listIndex_unique.match_1_1' does not depend on any axioms\n'LexLeanPreservation.listIndex_unique._f' does not depend on any axioms\n'LexLeanPreservation.listIndex_unique' does not depend on any axioms\n'LexLeanPreservation.obs_intResult' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.obs_natResult' does not depend on any axioms\n'LexLeanPreservation.prim_append_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_append_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_boolNot' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_compareBytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_bool' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_nat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_ordering' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_string' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_index_bytes.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_index_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_index_list.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_index_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intMul' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intNeg' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intQuot' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intRem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intSub' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_join.match_1_1' does not depend on any axioms\n'LexLeanPreservation.toStrings_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.toStrings_map.match_1_3' does not depend on any axioms\n'LexLeanPreservation.toStrings_map._f' does not depend on any axioms\n'LexLeanPreservation.toStrings_map' does not depend on any axioms\n'LexLeanPreservation.prim_join' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_length_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_length_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_length_string' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natAdd' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natEq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natLe' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natLt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natMul' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natQuot' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natRem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natSub' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_slice_bytes.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_slice_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_slice_list.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_slice_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_splitExact.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_splitExact' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_utf8Decode.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_utf8Decode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_utf8Encode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.LexLeanRuntime.compareBytes.eq_1' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.LexLeanRuntime.equal.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.LexLeanRuntime.length.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.LexLeanRuntime.slice.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromOrdering.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.checkedMultiplyWith.match_1' does not depend on any axioms\n'LexLeanPreservation.checkedMultiplyWith' does not depend on any axioms\n'LexLeanPreservation.checkedQuotientWith' does not depend on any axioms\n'LexLeanPreservation.decimalFits.match_1' does not depend on any axioms\n'LexLeanPreservation.decimalFits' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.divideStep' does not depend on any axioms\n'LexLeanPreservation.divide_unique.match_1_1' does not depend on any axioms\n'LexLeanPreservation.divide_unique._f' does not depend on any axioms\n'LexLeanPreservation.divide_unique' does not depend on any axioms\n'LexLeanPreservation.multiplyStep' does not depend on any axioms\n'LexLeanPreservation.multiply_unique.match_1_1' does not depend on any axioms\n'LexLeanPreservation.multiply_unique._f' does not depend on any axioms\n'LexLeanPreservation.multiply_unique' does not depend on any axioms\n'LexLeanPreservation.prim_bitAnd_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i64.match_1_2' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_int' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_int.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_int' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ordOf.match_1' does not depend on any axioms\n'LexLeanPreservation.ordOf' does not depend on any axioms\n'LexLeanPreservation.KeySpec' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.mk._flat_ctor' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.recOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.spec' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.compareCodes_eq.match_1_1' does not depend on any axioms\n'LexLeanPreservation.compareCodes_eq._f' depends on axioms: [propext]\n'LexLeanPreservation.compareCodes_eq' depends on axioms: [propext]\n'LexLeanPreservation.compareCodes_swap.match_1_1' does not depend on any axioms\n'LexLeanPreservation.compareCodes_swap._f' depends on axioms: [propext]\n'LexLeanPreservation.compareCodes_swap' depends on axioms: [propext]\n'LexLeanPreservation.lessThanE' does not depend on any axioms\n'LexLeanPreservation.prim_compare_key.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_compare_key' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_lessThan' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.orderOf_insert' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderBool.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.keySpec_bool' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI16.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI32.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI64.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI8.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderInt.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_int' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderNat.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_nat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.keySpec_pair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderString.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.keySpec_string' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU16.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU32.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU64.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU8.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_1' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_2' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_3' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_4' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_def' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.compareValue.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_18' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_20' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_22' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_23' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_24' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_25' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_26' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_27' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_28' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_29' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_30' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_31' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_33' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_34' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_35' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_36' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_37' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_38' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_39' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_40' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_41' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_42' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_43' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_44' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_45' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_46' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_47' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_48' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_49' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_50' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_51' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_52' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_53' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_54' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_55' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_56' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_57' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_58' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_59' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_60' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_61' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_62' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_63' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_65' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_66' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_67' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_68' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_69' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_70' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_71' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_72' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_73' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_74' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_75' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_76' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_77' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_78' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_79' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_80' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_81' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_82' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_83' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_84' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_85' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_86' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_87' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_88' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_89' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_90' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_91' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_92' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_93' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_94' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_95' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_96' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_97' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_98' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_99' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Conv.bool_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Conv.fits_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.FunRel.fits_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ListEnc.enc.eq_1' does not depend on any axioms\n'LexLeanPreservation.ListEnc.enc_cons' does not depend on any axioms\n'LexLeanPreservation.ListEnc.enc_nil' does not depend on any axioms\n'LexLeanPreservation.LookOps' does not depend on any axioms\n'LexLeanPreservation.LookOps.casesOn' does not depend on any axioms\n'LexLeanPreservation.LookOps.l0' does not depend on any axioms\n'LexLeanPreservation.LookOps.leq' does not depend on any axioms\n'LexLeanPreservation.LookOps.lgt' does not depend on any axioms\n'LexLeanPreservation.LookOps.llt' does not depend on any axioms\n'LexLeanPreservation.LookOps.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.LookOps.recOn' does not depend on any axioms\n'LexLeanPreservation.SetOps' does not depend on any axioms\n'LexLeanPreservation.SetOps.c0' does not depend on any axioms\n'LexLeanPreservation.SetOps.casesOn' does not depend on any axioms\n'LexLeanPreservation.SetOps.ceq' does not depend on any axioms\n'LexLeanPreservation.SetOps.cgt' does not depend on any axioms\n'LexLeanPreservation.SetOps.clt' does not depend on any axioms\n'LexLeanPreservation.SetOps.i0' does not depend on any axioms\n'LexLeanPreservation.SetOps.ieq' does not depend on any axioms\n'LexLeanPreservation.SetOps.igt' does not depend on any axioms\n'LexLeanPreservation.SetOps.ilt' does not depend on any axioms\n'LexLeanPreservation.SetOps.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.SetOps.r0' does not depend on any axioms\n'LexLeanPreservation.SetOps.recOn' does not depend on any axioms\n'LexLeanPreservation.SetOps.req' does not depend on any axioms\n'LexLeanPreservation.SetOps.rgt' does not depend on any axioms\n'LexLeanPreservation.SetOps.rlt' does not depend on any axioms\n'LexLeanPreservation.TopoOps' does not depend on any axioms\n'LexLeanPreservation.TopoOps.casesOn' does not depend on any axioms\n'LexLeanPreservation.TopoOps.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.TopoOps.recOn' does not depend on any axioms\n'LexLeanPreservation.TopoOps.s_next' does not depend on any axioms\n'LexLeanPreservation.TopoOps.s_nil' does not depend on any axioms\n'LexLeanPreservation.TopoOps.s_stuck' does not depend on any axioms\n'LexLeanPreservation.TopoOps.z_cons' does not depend on any axioms\n'LexLeanPreservation.TopoOps.z_nil' does not depend on any axioms\n'LexLeanPreservation.Tpl.boolE' does not depend on any axioms\n'LexLeanPreservation.Tpl.byOrder' does not depend on any axioms\n'LexLeanPreservation.Tpl.cns' does not depend on any axioms\n'LexLeanPreservation.Tpl.fn' does not depend on any axioms\n'LexLeanPreservation.Tpl.lst' does not depend on any axioms\n'LexLeanPreservation.Tpl.v' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphInnerFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.pr' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphNodesFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.natOne' does not depend on any axioms\n'LexLeanPreservation.Tpl.nl' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphReachableFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphSuccessorsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphTopologicalFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.iterateFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.iterateUntilFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.listFoldFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapContainsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapFoldFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapInsertFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapLookupFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapProjectFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapRemoveFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reachFrontierFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reachIntoFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reachRoundsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reverseFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setContainsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setFilterFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setInsertFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setRemoveFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setUnionFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoFinished' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoReadyFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoRoundsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoUnreachedFn' does not depend on any axioms\n'LexLeanPreservation.blt_succ_fits._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.blt_succ_fits' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_cond_false' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_cond_true' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.enc_elem' does not depend on any axioms\n'LexLeanPreservation.enc_entry' does not depend on any axioms\n'LexLeanPreservation.foldFits.match_1' does not depend on any axioms\n'LexLeanPreservation.foldFits._f' does not depend on any axioms\n'LexLeanPreservation.foldFits' does not depend on any axioms\n'LexLeanPreservation.foldFits._sunfold' does not depend on any axioms\n'LexLeanPreservation.foldFits._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.foldFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.foldFits.eq_2' does not depend on any axioms\n'LexLeanPreservation.foldFits.eq_def' does not depend on any axioms\n'LexLeanPreservation.graphFits' does not depend on any axioms\n'LexLeanPreservation.graphFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.iterateFits.match_1' does not depend on any axioms\n'LexLeanPreservation.iterateFits._f' does not depend on any axioms\n'LexLeanPreservation.iterateFits' does not depend on any axioms\n'LexLeanPreservation.iterateFits._sunfold' does not depend on any axioms\n'LexLeanPreservation.iterateFits._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.iterateFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.iterateFits.eq_2' does not depend on any axioms\n'LexLeanPreservation.iterateFits.eq_def' does not depend on any axioms\n'LexLeanPreservation.length_eq' does not depend on any axioms\n'LexLeanPreservation.prim_compare_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.reachNext' does not depend on any axioms\n'LexLeanPreservation.tpl_graphInner.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setInsert.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setInsert._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setInsert' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphInner._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphInner' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphNodes.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_graphNodes._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphNodes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapLookup.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapLookup._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapLookup' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphSuccessors' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachFrontier.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_reachInto.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setContains.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setContains._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setContains' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachInto._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachInto' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachFrontier._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachFrontier' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachRounds.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setUnion.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setUnion._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setUnion' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachRounds._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachRounds' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphReachable' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reverse.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_reverse._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reverse' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setRemove.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setRemove._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setRemove' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoReady.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_topoUnreached.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_topoUnreached._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoUnreached' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoReady._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoReady' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoRounds.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_topoRounds._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoRounds' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphTopological' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterate.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_iterate._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterateUntil.match_1_1' does not depend on any axioms\n'LexLeanPreservation.untilFits.match_1' does not depend on any axioms\n'LexLeanPreservation.untilFits._f' does not depend on any axioms\n'LexLeanPreservation.untilFits' does not depend on any axioms\n'LexLeanPreservation.tpl_iterateUntil._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterateUntil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_listFold.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_listFold._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_listFold' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapContains' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapFold.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapFold._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapFold' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapInsert.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapInsert._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapInsert' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapKeys.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapKeys._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapKeys' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapRemove.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapRemove._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapRemove' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapValues.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapValues._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapValues' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setDifference.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setDifference._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setDifference' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setIntersection.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setIntersection._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setIntersection' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.untilFits._sunfold' does not depend on any axioms\n'LexLeanPreservation.untilFits._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.untilFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.untilFits.eq_2' does not depend on any axioms\n'LexLeanPreservation.untilFits.eq_def' does not depend on any axioms\n'LexLeanPreservation.validExcept.match_1' does not depend on any axioms\n'LexLeanPreservation.InvExcept' does not depend on any axioms\n'LexLeanPreservation.InvList' does not depend on any axioms\n'LexLeanPreservation.InvList.eq_1' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.match_1' does not depend on any axioms\n'LexLeanPreservation.StrictAsc._f' does not depend on any axioms\n'LexLeanPreservation.StrictAsc' does not depend on any axioms\n'LexLeanPreservation.InvMap' does not depend on any axioms\n'LexLeanPreservation.validOption.match_1' does not depend on any axioms\n'LexLeanPreservation.InvOption' does not depend on any axioms\n'LexLeanPreservation.InvOption.eq_1' does not depend on any axioms\n'LexLeanPreservation.InvOption.eq_2' does not depend on any axioms\n'LexLeanPreservation.InvPair' does not depend on any axioms\n'LexLeanPreservation.InvSet' does not depend on any axioms\n'LexLeanPreservation.StrictAsc._sunfold' does not depend on any axioms\n'LexLeanPreservation.StrictAsc._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_1' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_2' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_3' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_def' does not depend on any axioms\n'LexLeanPreservation.Tpl.validListFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validMapFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validOptionFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validPairFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validResultFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validSetFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validTrueFn' does not depend on any axioms\n'LexLeanPreservation.ascMap.match_1' does not depend on any axioms\n'LexLeanPreservation.lessB.match_1' does not depend on any axioms\n'LexLeanPreservation.lessB' does not depend on any axioms\n'LexLeanPreservation.ascMap._f' does not depend on any axioms\n'LexLeanPreservation.ascMap' does not depend on any axioms\n'LexLeanPreservation.ascMap._sunfold' does not depend on any axioms\n'LexLeanPreservation.ascMap._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_1' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_2' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_3' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_def' does not depend on any axioms\n'LexLeanPreservation.ascMap_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.lessB_iff' depends on axioms: [propext]\n'LexLeanPreservation.ascMap_iff._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.ascMap_iff' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.ascMap_inv' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.ascSet._f' does not depend on any axioms\n'LexLeanPreservation.ascSet' does not depend on any axioms\n'LexLeanPreservation.ascSet._sunfold' does not depend on any axioms\n'LexLeanPreservation.ascSet._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_1' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_2' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_3' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_def' does not depend on any axioms\n'LexLeanPreservation.ascSet_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.ascSet_iff._f' depends on axioms: [propext]\n'LexLeanPreservation.ascSet_iff' depends on axioms: [propext]\n'LexLeanPreservation.ascSet_inv' depends on axioms: [propext]\n'LexLeanPreservation.condAnd_iff' depends on axioms: [propext]\n'LexLeanPreservation.invList_eqs.match_1_1' does not depend on any axioms\n'LexLeanPreservation.invList_eqs._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.invList_eqs' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.lessB.eq_1' does not depend on any axioms\n'LexLeanPreservation.lessB_eq' depends on axioms: [propext]\n'LexLeanPreservation.lessB_gt' depends on axioms: [propext]\n'LexLeanPreservation.lessB_lt' depends on axioms: [propext]\n'LexLeanPreservation.someObs.match_1' does not depend on any axioms\n'LexLeanPreservation.someObs' does not depend on any axioms\n'LexLeanPreservation.tpl_validList.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validList.match_1' does not depend on any axioms\n'LexLeanPreservation.validList._f' does not depend on any axioms\n'LexLeanPreservation.validList' does not depend on any axioms\n'LexLeanPreservation.tpl_validList' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validMap.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_validMap._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validMap' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validOption.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validOption' does not depend on any axioms\n'LexLeanPreservation.tpl_validOption' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validPair.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validPair' does not depend on any axioms\n'LexLeanPreservation.tpl_validPair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validResult.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validExcept' does not depend on any axioms\n'LexLeanPreservation.tpl_validResult' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validSet.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_validSet._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validSet' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validTrue' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.trueIff' does not depend on any axioms\n'LexLeanPreservation.validExcept_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validExcept_inv' does not depend on any axioms\n'LexLeanPreservation.validList._sunfold' does not depend on any axioms\n'LexLeanPreservation.validList._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.validList.eq_1' does not depend on any axioms\n'LexLeanPreservation.validList.eq_2' does not depend on any axioms\n'LexLeanPreservation.validList.eq_def' does not depend on any axioms\n'LexLeanPreservation.validList_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validList_iff._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.validList_iff' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.validList_inv' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.validOption.eq_1' does not depend on any axioms\n'LexLeanPreservation.validOption.eq_2' does not depend on any axioms\n'LexLeanPreservation.validOption_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validOption_inv' depends on axioms: [propext]\n'LexLeanPreservation.validPair_inv' depends on axioms: [propext]\n'LexLeanPreservation.validTrue_inv' does not depend on any axioms\n'LexLeanPreservation.Rust.Ctx' does not depend on any axioms\n'LexLeanPreservation.Rust.Flags' does not depend on any axioms\n'LexLeanPreservation.Rust.RCrate' does not depend on any axioms\n'LexLeanPreservation.Rust.RIdent' does not depend on any axioms\n'LexLeanPreservation.Rust.WT._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.adtFields' depends on axioms: [propext]\n'LexLeanTarget.TargetSyntax.IntKind.ofNat' does not depend on any axioms\n'LexLeanTarget.TargetSyntax.IntKind.ofNat_ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Rust.instDecidableEqIntKind_lexLeanPreservation._proof_1' does not depend on any axioms\n'LexLeanPreservation.Rust.instDecidableEqIntKind_lexLeanPreservation._proof_2' does not depend on any axioms\n'LexLeanPreservation.Rust.instDecidableEqIntKind_lexLeanPreservation' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flagOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fnIdent' does not depend on any axioms\n'LexLeanPreservation.Rust.fnFallible' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.inert._f' does not depend on any axioms\n'LexLeanPreservation.Rust.inert' does not depend on any axioms\n'LexLeanPreservation.Rust.WT._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.WTAll._f' does not depend on any axioms\n'LexLeanPreservation.Rust.WTL.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctxLookup.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup._f' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup' does not depend on any axioms\n'LexLeanPreservation.Rust.local_' does not depend on any axioms\n'LexLeanPreservation.Rust.EnvRel' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ROut' does not depend on any axioms\n'LexLeanPreservation.Rust.Halt' does not depend on any axioms\n'LexLeanPreservation.Rust.REnv' does not depend on any axioms\n'LexLeanPreservation.Rust.RExpr' does not depend on any axioms\n'LexLeanPreservation.Rust.RC' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RLet' does not depend on any axioms\n'LexLeanPreservation.Rust.LetsOK' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.append' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.below' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.below.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.brecOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.recOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.append_left' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.append_right' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.below' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.below.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.brecOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.recOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RBlock' does not depend on any axioms\n'LexLeanPreservation.Rust.dispatched_ne' does not depend on any axioms\n'LexLeanPreservation.Rust.finished_ne' does not depend on any axioms\n'LexLeanPreservation.Rust.returned_ne' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_24' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_26' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_28' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_30' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_32' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_34' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_36' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.eval.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_22' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.invoke.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.stable' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.reval_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCB' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.block' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCA' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.revalBlock_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCB.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCI' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.invoke_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCI.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCL' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.revalList_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCL.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.WTAll' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.block_of_lets' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.block_of_raise' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.ctxLookup._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup_slot._simp_1_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotFree' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup_slot' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_cons_other' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sameIdent_self' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_cons_self' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sameIdent_local' depends on axioms: [propext]\n'LexLeanPreservation.Rust.envRel_bind' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.envRel_extra' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.envRel_ghost' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sameIdent_kind' depends on axioms: [propext]\n'LexLeanPreservation.Rust.envRel_temp' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.listIndex_eq.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.listIndex_eq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.listIndex_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.index_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.inert._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.inert._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_nil.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_raise_head.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcl_raise_head.match_1_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcl_raise_head' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_raise_tail' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.revalArms_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.slotFree.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sunfold' depends on axioms: [propext]\n'LexLeanTarget.RustSemantics.LexLeanRuntime.equal.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.eval.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_18' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_20' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.invoke.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.invoke.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.kindNumber.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.lookup.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.lookup.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.lookup.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.lookup.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.lookup.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.lookup.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd' does not depend on any axioms\n'LexLeanPreservation.Rust.isTemp._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isTemp.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isTemp' depends on axioms: [propext]\n'LexLeanPreservation.Rust.letsBind.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds._f' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds._f' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind._f' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind' does not depend on any axioms\n'LexLeanPreservation.Rust.tempFresh' does not depend on any axioms\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.foldN.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.flatB._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep.match_7' does not depend on any axioms\n'LexLeanPreservation.Rust.foldStep' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldB' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats._f' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats' does not depend on any axioms\n'LexLeanPreservation.Rust.okBlock' does not depend on any axioms\n'LexLeanPreservation.Rust.partRead._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Kind.casesOn' does not depend on any axioms\n'LexLeanPreservation.Rust.elseCtx.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.elseCtx' does not depend on any axioms\n'LexLeanPreservation.Rust.elseLets.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.elseLets' does not depend on any axioms\n'LexLeanPreservation.Rust.heldOK.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.heldOK' does not depend on any axioms\n'LexLeanPreservation.Rust.negateR._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.negateR._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.negateR.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.negateR' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_5' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_7' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_9' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identBoxed' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal' does not depend on any axioms\n'LexLeanPreservation.Rust.isWild._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.unboxOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotOK.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocal' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armShape.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.armShape' does not depend on any axioms\n'LexLeanPreservation.Rust.otherArms.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.otherArms' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.noClosure.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.noClosure._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh' depends on axioms: [propext]\n'LexLeanPreservation.Rust.covered' depends on axioms: [propext]\n'LexLeanPreservation.Rust.scrut' does not depend on any axioms\n'LexLeanPreservation.Rust.validU.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.validU' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotOK' does not depend on any axioms\n'LexLeanPreservation.Rust.ctorOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identsDistinct.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct._f' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct' does not depend on any axioms\n'LexLeanPreservation.Rust.litOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArg._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.match_6' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArg.match_8' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArg' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArgs._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildTail.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildsArm.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildsArm' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.itemOK.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemOK' does not depend on any axioms\n'LexLeanPreservation.Rust.itemTyped.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemTyped.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf' does not depend on any axioms\n'LexLeanPreservation.Rust.itemTyped' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_9' does not depend on any axioms\n'LexLeanPreservation.Rust.isFixed._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped' depends on axioms: [propext]\n'LexLeanPreservation.Rust.primTyped' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.litValues._f' does not depend on any axioms\n'LexLeanPreservation.Rust.litValue' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.typedLitAll._f' does not depend on any axioms\n'LexLeanPreservation.Rust.typedLits.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Corr' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.below' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.below.casesOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.brecOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.casesOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.recOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.FunOK' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.CrateOK' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Fresh' does not depend on any axioms\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn' depends on axioms: [propext]\n'LexLeanPreservation.Rust.FunSem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Kind._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.casesOn' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ctorElim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.b.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.e.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.k.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.l.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.m.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.ops.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.recOn' does not depend on any axioms\n'LexLeanPreservation.Rust.KPre.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.KPre' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Kind.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.ctorElim' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Kind.nat.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.plain.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.plain.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.recOn' does not depend on any axioms\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesM.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.RealizesM' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Sem.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.viewVal._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Sem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.foldN._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identsDistinct._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_10' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_11' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_12' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_13' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_14' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_6' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_7' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_8' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.litValues' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue._sunfold' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.litValue._unsafe_rec' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues._sunfold' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.paramCtx._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patsBinds' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.patLocals._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patsBinds._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArgs._sunfold' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs._unsafe_rec' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.typedLitAll' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.typedLits._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_of_inert.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_of_inert.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_of_inert._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_of_inert' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_of_inert._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_of_inert' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Halt.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.LetsRaise.halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.block_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.boxed' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesM.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesM.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_bytes_inv' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_list_inv' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_string_inv' depends on axioms: [propext]\n'LexLeanPreservation.Rust.takes_of_typed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.allWidth_of.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_eq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_eq._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.tysBeq_eq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq_eq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.wt_fixed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.allWidth_of._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.allWidth_of' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.width_of_typed.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.width_of_typed.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.width_of_typed.match_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.width_of_typed' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.accepts_of_typed' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_apply' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtl_append.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_append._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_append' depends on axioms: [propext]\n'LexLeanPreservation.Rust.apply_result' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.bindPattern_shape.match_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.bindPattern_shape._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.bindPatterns_shape._simp_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindPatterns_shape.match_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.bindPatterns_shape._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.bindPattern_shape' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.bindPatterns_shape' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms_spec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_4' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_6' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_7' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.boolArms_eval' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.boxWith.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_100' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_102' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_96' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_98' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_function' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.call_result' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.const_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.convert_args.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.convert_args' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_append_fresh' depends on axioms: [propext]\n'LexLeanPreservation.Rust.envRel_fresh' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_not._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_cond.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.itemResult.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.eval_match' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fixedTyped.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_18' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_19' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_20' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_21' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_22' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_23' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_24' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_25' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_26' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_27' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_28' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_29' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_30' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_31' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_32' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_33' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_34' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_35' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_36' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_37' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_38' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_39' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_40' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_41' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_42' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_43' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_44' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_45' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_46' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_47' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_48' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_49' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_50' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_51' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_52' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_53' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_54' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_55' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_56' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_57' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_58' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_59' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_60' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_61' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN_sound.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.split_last.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.split_last._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.split_last' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep_spec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcb_nil_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_nomatch.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcb_cons_nomatch' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_stop' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_prefix' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_flat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_read_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_cons_same' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcb_fold_last' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldStep_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldN_sound._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldN_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldB_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldN.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_append' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_bind._simp_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_bind' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotFree_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_weaken' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_elseCtx' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_temp._simp_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_temp' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fromStrings_wt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fromStrings_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fromStrings_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.hasWidth_i16' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_i32' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_i64' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_i8' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u16' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u32' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u64' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u8' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.heldOK.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.heldOK.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.isFixed._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.isSeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.isTemp._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.itemOK.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemOperands_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.itemResult' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.kpre_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_pred._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_pred.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_pred' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.kpre_else' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.kpre_then' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_of_lets' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_b_rcb' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.k_branch' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_cond_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_isZero_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_lit_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate_halt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_negate_halt.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_nonZero_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_23' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_25' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_27' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_29' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_31' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_33' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_35' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_37' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_39' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_41' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_43' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_45' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_47' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_49' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_51' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_not_inv.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_not_inv.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_not_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.k_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_read.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_read' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.kpre_held' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.letsBind.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.letsOK_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.letsOK_shape' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.litValue._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_4' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_def' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_5' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.eq_def' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.lit_branch' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.lookup_through._simp_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.lookup_through' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms_spec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms_eval' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.obsL_evalList_zero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.obs_eval_zero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.oneOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf_halt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.param_env.match_1_1' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.bindAll.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.param_env._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.param_env' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.patBinds.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_10' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_6' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_7' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_8' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.primTyped.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_apply_halt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_apply_halt.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_apply_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_call_halt.match_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_runtime' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_construct' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct_halt.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct_halt.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_isZero.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_isZero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_lit.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_lit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue._simp_10' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue._simp_9' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue.match_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_pair.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_pair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_litValues.match_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rcl_litValues._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_nonZero.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_nonZero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_pair_halt_left' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_pair_halt_right' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_widen.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_widen' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_widen_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_11' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_7' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_litValues' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_nil_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_single_halt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_single_halt.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_single_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_widen_one' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.readOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizesL_halt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizesL_haltL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizes_halt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizesM_overflow' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizes_oneOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.runItem_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.runItem_succ' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_applyGen.match_1_13' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen.match_1_15' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen.match_1_28' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_apply' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_applyF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_bOfE' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_build.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_build.match_1_99' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_build' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildConst' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildPair.match_1_101' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_97' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_99' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildSucc.match_1_129' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSucc.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSucc' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildSuccF.match_1_101' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSuccF.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSuccF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_callF.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callF.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_callOps.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callOps.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callOps' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_closure.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.wtl_length.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_length._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_length' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_closure' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_cond.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_cond.match_1_11' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_condId.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_condId' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_eOfB' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_eOfBFold' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_eOfBNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_fOfB' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_unit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_fUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kHeld' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kLit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kId' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kIf' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kNeg' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kSame' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_lCons.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons.match_1_17' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons.match_1_19' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_lNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_letBind.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letBind.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letBind' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_letWild.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letWild.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letWild' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBool._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchHolder.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchHolder.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchHolder' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBool' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBoolId._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBoolId.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchBoolId' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchNat._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchNat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchUnit._proof_1_386' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchUnit.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchUnit.match_1_387' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsCons._simp_1_13' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsCons.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons.match_1_14' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons.match_1_16' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsOfL' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_29' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_31' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_ops_box.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_ops_box.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_ops_box.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_ops_box' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_part._sparseCasesOn_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_part.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_part.match_1_14' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_part.match_1_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_part' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_part._sparseCasesOn_1_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_prim.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_prim.match_1_38' does not depend on any axioms\n'LexLeanPreservation.Rust.wtAll_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wtAll_iff._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.wtAll_iff' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_append' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_bitwise' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_checked' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_convert' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_decode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_encode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_fixedTyped.match_1_67' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_format' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_index' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_join' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_parse' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_shift' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.slice_eq' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_slice' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_split' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_unary' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtl_one.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_one' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_three.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_three' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_two.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_two' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_fixedTyped' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_prim' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_prim' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_primF.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF.match_1_7' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_primWiden.match_1_108' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_110' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_112' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_114' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_116' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.typedLitAll_wt.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit_wt.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits_wt.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_var' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_varUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_zero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.shapeOf.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_10' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_11' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_12' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_13' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_14' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_6' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_7' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_8' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.tempFresh.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_12.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_13.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_14.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.allWidth.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.allWidth.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.allWidth.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_100' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_101' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_102' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_103' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_104' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_105' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_106' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_107' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_108' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_109' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_110' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_111' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_112' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_113' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_114' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_115' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_116' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_117' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_118' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_119' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_120' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_121' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_122' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_123' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_124' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_125' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_126' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_127' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_128' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_129' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_130' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_131' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_132' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_133' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_134' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_135' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_136' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_137' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_138' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_139' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_140' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_141' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_142' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_143' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_144' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_145' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_146' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_147' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_148' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_149' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_150' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_151' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_152' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_153' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_154' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_155' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_156' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_157' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_158' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_159' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_160' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_161' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_162' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_163' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_164' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_165' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_166' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_167' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_168' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_169' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_170' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_171' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_172' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_173' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_174' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_175' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_176' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_177' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_178' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_179' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_180' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_181' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_182' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_183' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_184' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_185' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_186' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_51' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_52' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_53' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_54' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_55' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_56' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_57' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_58' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_59' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_60' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_61' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_62' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_63' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_64' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_65' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_66' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_67' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_68' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_69' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_70' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_71' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_72' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_73' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_74' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_75' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_76' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_77' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_78' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_79' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_80' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_81' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_82' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_83' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_84' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_85' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_86' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_87' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_88' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_89' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_90' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_91' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_92' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_93' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_94' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_95' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_96' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_97' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_98' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_99' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_100' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_101' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_102' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_103' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_104' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_105' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_106' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_107' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_108' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_109' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_110' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_111' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_112' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_113' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_114' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_115' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_116' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_117' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_118' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_119' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_120' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_121' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_122' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_123' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_124' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_125' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_126' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_127' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_128' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_129' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_130' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_131' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_132' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_133' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_134' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_135' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_136' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_137' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_138' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_139' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_140' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_141' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_142' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_143' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_144' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_145' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_146' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_147' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_148' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_149' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_150' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_151' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_152' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_153' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_154' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_155' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_156' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_157' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_158' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_159' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_160' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_161' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_162' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_163' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_164' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_165' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_166' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_167' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_168' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_169' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_170' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_171' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_172' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_173' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_174' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_175' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_176' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_177' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_178' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_179' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_180' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_181' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_182' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_183' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_184' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_51' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_52' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_53' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_54' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_55' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_56' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_57' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_58' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_59' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_60' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_61' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_62' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_63' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_64' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_65' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_66' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_67' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_68' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_69' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_70' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_71' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_72' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_73' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_74' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_75' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_76' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_77' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_78' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_79' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_80' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_81' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_82' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_83' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_84' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_85' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_86' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_87' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_88' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_89' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_90' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_91' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_92' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_93' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_94' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_95' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_96' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_97' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_98' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_99' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemAccepts.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemAccepts.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.literal.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_10' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_11' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_12' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_13' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_14' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_15' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_3' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_4' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_5' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_6' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_7' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_8' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_9' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.propagated.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.returned.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_10' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_11' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_12' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_13' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_14' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_15' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_16' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_17' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_18' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_19' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_20' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_21' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_22' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_23' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_24' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_25' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_26' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_27' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_28' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_29' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_30' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_31' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_32' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_33' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_34' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_35' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_36' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_37' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_38' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_39' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_40' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_41' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_42' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_43' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_44' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_45' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_46' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_47' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_48' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_49' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_5' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_50' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_51' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_52' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_53' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_54' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_55' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_56' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_57' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_58' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_59' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_6' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_60' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_61' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_62' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_63' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_64' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_65' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_66' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_67' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_68' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_69' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_7' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_70' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_71' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_72' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_73' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_74' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_75' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_76' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_77' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_78' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_79' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_8' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_80' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_81' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_82' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_83' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_9' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_10' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_100' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_101' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_102' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_103' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_104' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_105' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_106' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_107' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_108' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_109' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_11' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_110' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_111' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_112' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_113' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_114' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_115' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_116' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_117' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_118' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_119' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_12' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_120' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_121' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_122' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_123' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_124' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_125' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_126' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_127' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_128' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_129' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_13' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_130' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_131' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_132' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_133' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_134' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_135' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_136' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_137' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_138' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_139' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_14' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_140' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_141' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_142' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_143' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_144' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_145' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_146' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_147' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_148' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_149' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_15' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_150' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_151' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_152' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_153' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_154' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_155' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_156' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_157' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_158' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_159' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_16' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_160' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_161' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_162' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_163' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_164' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_165' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_166' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_167' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_168' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_169' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_17' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_170' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_171' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_172' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_173' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_174' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_175' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_176' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_177' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_178' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_179' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_18' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_180' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_181' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_182' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_183' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_184' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_185' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_186' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_187' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_188' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_189' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_19' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_190' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_191' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_192' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_193' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_194' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_195' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_196' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_197' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_198' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_199' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_20' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_200' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_201' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_202' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_203' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_204' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_205' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_206' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_207' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_208' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_209' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_21' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_210' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_211' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_212' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_213' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_214' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_215' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_216' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_217' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_218' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_219' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_22' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_220' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_221' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_222' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_223' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_224' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_225' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_226' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_227' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_228' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_229' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_23' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_230' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_231' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_232' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_233' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_234' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_235' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_236' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_237' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_238' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_239' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_24' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_240' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_241' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_242' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_243' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_244' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_245' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_246' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_247' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_248' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_249' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_25' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_250' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_251' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_252' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_253' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_254' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_255' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_256' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_257' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_258' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_259' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_26' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_260' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_261' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_262' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_263' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_264' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_265' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_266' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_267' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_268' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_269' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_27' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_270' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_271' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_272' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_273' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_274' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_275' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_276' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_277' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_278' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_279' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_28' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_280' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_281' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_282' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_283' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_284' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_285' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_286' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_287' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_288' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_289' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_29' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_290' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_291' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_292' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_293' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_294' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_295' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_296' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_297' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_298' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_299' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_30' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_300' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_301' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_302' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_303' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_304' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_305' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_306' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_307' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_308' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_309' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_31' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_310' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_311' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_312' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_313' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_314' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_315' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_316' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_317' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_318' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_319' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_32' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_320' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_321' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_322' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_323' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_324' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_325' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_326' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_327' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_328' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_329' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_33' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_330' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_331' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_332' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_333' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_334' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_335' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_336' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_337' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_338' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_339' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_34' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_340' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_341' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_342' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_343' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_344' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_345' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_346' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_347' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_348' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_349' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_35' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_350' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_351' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_352' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_353' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_354' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_355' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_356' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_357' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_358' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_359' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_36' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_360' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_361' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_362' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_363' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_364' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_365' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_366' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_367' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_368' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_369' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_37' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_370' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_38' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_39' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_40' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_41' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_42' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_43' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_44' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_45' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_46' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_47' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_48' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_49' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_5' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_50' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_51' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_52' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_53' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_54' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_55' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_56' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_57' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_58' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_59' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_6' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_60' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_61' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_62' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_63' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_64' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_65' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_66' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_67' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_68' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_69' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_7' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_70' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_71' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_72' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_73' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_74' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_75' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_76' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_77' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_78' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_79' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_8' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_80' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_81' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_82' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_83' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_84' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_85' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_86' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_87' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_88' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_89' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_9' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_90' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_91' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_92' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_93' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_94' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_95' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_96' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_97' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_98' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_99' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromStrings.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromStrings.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromStrings.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.primitive.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1000' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1001' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1002' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1003' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1004' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1005' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1006' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1007' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1008' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1009' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1010' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1011' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1012' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1013' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1014' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1015' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1016' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1017' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1018' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1019' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1020' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1021' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1022' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1023' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1024' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1025' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1026' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1027' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1028' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1029' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1030' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1031' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1032' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1033' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1034' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1035' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1036' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1037' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1038' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1039' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1040' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1041' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1042' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1043' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1044' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1045' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1046' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1047' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1048' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1049' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1050' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1051' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1052' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1053' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1054' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1055' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1056' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1057' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1058' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1059' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1060' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1061' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1062' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1063' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1064' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1065' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1066' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1067' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1068' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1069' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1070' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1071' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1072' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1073' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1074' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1075' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1076' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1077' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1078' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1079' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1080' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1081' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1082' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1083' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1084' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1085' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1086' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1087' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1088' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1089' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1090' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1091' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1092' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1093' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1094' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1095' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1096' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1097' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1098' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1099' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1426' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1427' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1428' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1429' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1430' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1431' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1432' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1433' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1434' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1435' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1436' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1437' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1438' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1439' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1440' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1441' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1442' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1443' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1444' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1445' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1446' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1447' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1448' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1449' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1450' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1451' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1452' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1453' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1454' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1455' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1456' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1457' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1458' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1459' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1460' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1461' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1462' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1463' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1464' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1465' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1466' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1467' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1468' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1469' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1470' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1471' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1472' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1473' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1474' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1475' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1476' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1477' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1478' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1479' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1480' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1481' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1482' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1483' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1484' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1485' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1486' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1487' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1488' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1489' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1490' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1491' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1492' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1493' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1494' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1495' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1496' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1497' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1498' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1499' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1500' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1501' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1502' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1503' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1504' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1505' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1506' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1507' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1508' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1509' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1510' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1511' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1512' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1513' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1514' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1515' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1516' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1517' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1518' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1519' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1520' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1521' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1522' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1523' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1524' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1525' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1526' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1527' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1528' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1529' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1530' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1531' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1532' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1533' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1534' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1535' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1536' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1537' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1538' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1539' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1540' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1541' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1542' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1543' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1544' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1545' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1546' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1547' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1548' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1549' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1550' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1551' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1552' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1553' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1554' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1555' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1556' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1557' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1558' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1559' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1560' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1561' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1562' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1563' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1564' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1565' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1566' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1567' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1568' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1569' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1570' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1571' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1572' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1573' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1574' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1575' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1576' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1577' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1578' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1579' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1580' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1581' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1582' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1583' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1584' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1585' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1586' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1587' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1588' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1589' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1590' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1591' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1592' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1593' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1594' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1595' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1596' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1597' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1598' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1599' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1600' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1601' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1602' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1603' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1604' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1605' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1606' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1607' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1608' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1609' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1610' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1611' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1612' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1613' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1614' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1615' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1616' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1617' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1618' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1619' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1620' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1621' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1622' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1623' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1624' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1625' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1626' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1627' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1628' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1629' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1630' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1631' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1632' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1633' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1634' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1635' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1636' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1637' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1638' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1639' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1640' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1641' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1642' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1643' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1644' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1645' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1646' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1647' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1648' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1649' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1650' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1651' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1652' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1653' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1654' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1655' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1656' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1657' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1658' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1659' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1660' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1661' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1662' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1663' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1664' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1665' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1666' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1667' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1668' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1669' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1670' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1671' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1672' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1673' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1674' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1675' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1676' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1677' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1678' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1679' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1680' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1681' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1682' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1683' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1684' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1685' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1686' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1687' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1688' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1689' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1690' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1691' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1692' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1693' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1694' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1695' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1696' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1697' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1698' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1699' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1700' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1701' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1702' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1703' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1704' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1705' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1706' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1707' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1708' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1709' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1710' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1711' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1712' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1713' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1714' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1715' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1716' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1717' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1718' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1719' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1720' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1721' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1722' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1723' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1724' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1725' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1726' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1727' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1728' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1729' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1730' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1731' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1732' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1733' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1734' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1735' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1736' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1737' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1738' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1739' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1740' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1741' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1742' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1743' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1744' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1745' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1746' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1747' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1748' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1749' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1750' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1751' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1752' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1753' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1754' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1755' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1756' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1757' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1758' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1759' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1760' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1761' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1762' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1763' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1764' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1765' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1766' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1767' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1768' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1769' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1770' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1771' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1772' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1773' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1774' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1775' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1776' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1777' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1778' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1779' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1780' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1781' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1782' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1783' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1784' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1785' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1786' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1787' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1788' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1789' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1790' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1791' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1792' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1793' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1794' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1795' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1796' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1797' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1798' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1799' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_18' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1800' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1801' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1802' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1803' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1804' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1805' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1806' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1807' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1808' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1809' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1810' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1811' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1812' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1813' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1814' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1815' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1816' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1817' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1818' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1819' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1820' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1821' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1822' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1823' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1824' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1825' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1826' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1827' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1828' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1829' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1830' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1831' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1832' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1833' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1834' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1835' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1836' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1837' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1838' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1839' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1840' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1841' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1842' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1843' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1844' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1845' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1846' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1847' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1848' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1849' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1850' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1851' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1852' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1853' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1854' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1855' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1856' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1857' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1858' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1859' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1860' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1861' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1862' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1863' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1864' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1865' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1866' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1867' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1868' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1869' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1870' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1871' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1872' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1873' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1874' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1875' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1876' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1877' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1878' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1879' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1880' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1881' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1882' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1883' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1884' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1885' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1886' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1887' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1888' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1889' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1890' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1891' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1892' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1893' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1894' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1895' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1896' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1897' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1898' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1899' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1900' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1901' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1902' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1903' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1904' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1905' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1906' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1907' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1908' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1909' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1910' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1911' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1912' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1913' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1914' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1915' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1916' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1917' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1918' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1919' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1920' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1921' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1922' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1923' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1924' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1925' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1926' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1927' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1928' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1929' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1930' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1931' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1932' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1933' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1934' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1935' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1936' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1937' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1938' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1939' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1940' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1941' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1942' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1943' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1944' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1945' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1946' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1947' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1948' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1949' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1950' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1951' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1952' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1953' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1954' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1955' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1956' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1957' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1958' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1959' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1960' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1961' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1962' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1963' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1964' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1965' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1966' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1967' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1968' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1969' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1970' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1971' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1972' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1973' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1974' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1975' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1976' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1977' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1978' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1979' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1980' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1981' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1982' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1983' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1984' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1985' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1986' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1987' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1988' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1989' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1990' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1991' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1992' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1993' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1994' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1995' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1996' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1997' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1998' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1999' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_20' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2000' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2001' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2002' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2003' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2004' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2005' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2006' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2007' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2008' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2009' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2010' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2011' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2012' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2013' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2014' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2015' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2016' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2017' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2018' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2019' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2020' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2021' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2022' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2023' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2024' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2025' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2026' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2027' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2028' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2029' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2030' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2031' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2032' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2033' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2034' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2035' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2036' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2037' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2038' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2039' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2040' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2041' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2042' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2043' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2044' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2045' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2046' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2047' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2048' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2049' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2050' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2051' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2052' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2053' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2054' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2055' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2056' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2057' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2058' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2059' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2060' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2061' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2062' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2063' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2064' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2065' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2066' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2067' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2068' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2069' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2070' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2071' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2072' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2073' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2074' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2075' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2076' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2077' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2078' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2079' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2080' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2081' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2082' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2083' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2084' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2085' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2086' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2087' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2088' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2089' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2090' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2091' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2092' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2093' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2094' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2095' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2096' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2097' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2098' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2099' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_22' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_23' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_24' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2426' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2427' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2428' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2429' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2430' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2431' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2432' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2433' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2434' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2435' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2436' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2437' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2438' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2439' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2440' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2441' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2442' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2443' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2444' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2445' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2446' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2447' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2448' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2449' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2450' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2451' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2452' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2453' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2454' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2455' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2456' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2457' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2458' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2459' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2460' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2461' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2462' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2463' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2464' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2465' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2466' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2467' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2468' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2469' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2470' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2471' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2472' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2473' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2474' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2475' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2476' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2477' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2478' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2479' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2480' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2481' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2482' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2483' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2484' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2485' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2486' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2487' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2488' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2489' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2490' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2491' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2492' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2493' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2494' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2495' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2496' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2497' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2498' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2499' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_25' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2500' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2501' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2502' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2503' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2504' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2505' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2506' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2507' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2508' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2509' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2510' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2511' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2512' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2513' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2514' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2515' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2516' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2517' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2518' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2519' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2520' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2521' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2522' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2523' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2524' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2525' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2526' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2527' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2528' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2529' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2530' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2531' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2532' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2533' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2534' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2535' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2536' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2537' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2538' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2539' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2540' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2541' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2542' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2543' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2544' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2545' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2546' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2547' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2548' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2549' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2550' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2551' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2552' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2553' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2554' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2555' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2556' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2557' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2558' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2559' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2560' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2561' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2562' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2563' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2564' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2565' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2566' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2567' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2568' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2569' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2570' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2571' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2572' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2573' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2574' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2575' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2576' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2577' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2578' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2579' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2580' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2581' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2582' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2583' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2584' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2585' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2586' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2587' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2588' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2589' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2590' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2591' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2592' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2593' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2594' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2595' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2596' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2597' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2598' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2599' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_26' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2600' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2601' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2602' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2603' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2604' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2605' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2606' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2607' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2608' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2609' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2610' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2611' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2612' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2613' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2614' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2615' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2616' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2617' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2618' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2619' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2620' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2621' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2622' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2623' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2624' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2625' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2626' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2627' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2628' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2629' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2630' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2631' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2632' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2633' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2634' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2635' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2636' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2637' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2638' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2639' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2640' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2641' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2642' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2643' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2644' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2645' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2646' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2647' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2648' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2649' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2650' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2651' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2652' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2653' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2654' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2655' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2656' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2657' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2658' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2659' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2660' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2661' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2662' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2663' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2664' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2665' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2666' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2667' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2668' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2669' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2670' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2671' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2672' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2673' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2674' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2675' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2676' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2677' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2678' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2679' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2680' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2681' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2682' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2683' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2684' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2685' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2686' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2687' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2688' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2689' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2690' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2691' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2692' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2693' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2694' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2695' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2696' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2697' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2698' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2699' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_27' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2700' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2701' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2702' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2703' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2704' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2705' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2706' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2707' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2708' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2709' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2710' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2711' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2712' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2713' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2714' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2715' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2716' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2717' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2718' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2719' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2720' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2721' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2722' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2723' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2724' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2725' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2726' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2727' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2728' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2729' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2730' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2731' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2732' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2733' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2734' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2735' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2736' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2737' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2738' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2739' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2740' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2741' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2742' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2743' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2744' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2745' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2746' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2747' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2748' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2749' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2750' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2751' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2752' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2753' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2754' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2755' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2756' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2757' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2758' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2759' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2760' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2761' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2762' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2763' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2764' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2765' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2766' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2767' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2768' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2769' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2770' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2771' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2772' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2773' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2774' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2775' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2776' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2777' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2778' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2779' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2780' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2781' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2782' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2783' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2784' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2785' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2786' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2787' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2788' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2789' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2790' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2791' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2792' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2793' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2794' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2795' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2796' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2797' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2798' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2799' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_28' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2800' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2801' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2802' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2803' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2804' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2805' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2806' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2807' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2808' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2809' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2810' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2811' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2812' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2813' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2814' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2815' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2816' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2817' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2818' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2819' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2820' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2821' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2822' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2823' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2824' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2825' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2826' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2827' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2828' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2829' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2830' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2831' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2832' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2833' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2834' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2835' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2836' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2837' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2838' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2839' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2840' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2841' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2842' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2843' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2844' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2845' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2846' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2847' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2848' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2849' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2850' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2851' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2852' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2853' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2854' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2855' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2856' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2857' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2858' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2859' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2860' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2861' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2862' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2863' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2864' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2865' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2866' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2867' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2868' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2869' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2870' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2871' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2872' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2873' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2874' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2875' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2876' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2877' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2878' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2879' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2880' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2881' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2882' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2883' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2884' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2885' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2886' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2887' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2888' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2889' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2890' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2891' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2892' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2893' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2894' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2895' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2896' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2897' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2898' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2899' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_29' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2900' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2901' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2902' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2903' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2904' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2905' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2906' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2907' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2908' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2909' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2910' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2911' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2912' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2913' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2914' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2915' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2916' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2917' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2918' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2919' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2920' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2921' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2922' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2923' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2924' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2925' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2926' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2927' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2928' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2929' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2930' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2931' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2932' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2933' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2934' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2935' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2936' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2937' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2938' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2939' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2940' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2941' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2942' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2943' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2944' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2945' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2946' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2947' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2948' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2949' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2950' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2951' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2952' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2953' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2954' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2955' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2956' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2957' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2958' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2959' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2960' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2961' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2962' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2963' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2964' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2965' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2966' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2967' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2968' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2969' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2970' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2971' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2972' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2973' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2974' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2975' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2976' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2977' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2978' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2979' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2980' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2981' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2982' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2983' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2984' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2985' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2986' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2987' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2988' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2989' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2990' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2991' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2992' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2993' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2994' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2995' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2996' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2997' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2998' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2999' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_30' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3000' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3001' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3002' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3003' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3004' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3005' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3006' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3007' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3008' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3009' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3010' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3011' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3012' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3013' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3014' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3015' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3016' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3017' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3018' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3019' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3020' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3021' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3022' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3023' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3024' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3025' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3026' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3027' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3028' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3029' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3030' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3031' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3032' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3033' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3034' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3035' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3036' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3037' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3038' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3039' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3040' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3041' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3042' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3043' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3044' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3045' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3046' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3047' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3048' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3049' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3050' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3051' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3052' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3053' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3054' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3055' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3056' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3057' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3058' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3059' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3060' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3061' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3062' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3063' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3064' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3065' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3066' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3067' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3068' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3069' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3070' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3071' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3072' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3073' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3074' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3075' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3076' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3077' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3078' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3079' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3080' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3081' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3082' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3083' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3084' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3085' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3086' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3087' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3088' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3089' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3090' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3091' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3092' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3093' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3094' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3095' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3096' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3097' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3098' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3099' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_31' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_33' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_34' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_35' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_36' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_37' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_38' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_39' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_40' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_41' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_42' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_426' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_427' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_428' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_429' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_43' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_430' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_431' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_432' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_433' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_434' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_435' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_436' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_437' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_438' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_439' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_44' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_440' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_441' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_442' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_443' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_444' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_445' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_446' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_447' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_448' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_449' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_45' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_450' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_451' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_452' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_453' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_454' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_455' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_456' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_457' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_458' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_459' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_46' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_460' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_461' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_462' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_463' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_464' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_465' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_466' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_467' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_468' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_469' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_47' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_470' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_471' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_472' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_473' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_474' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_475' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_476' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_477' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_478' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_479' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_48' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_480' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_481' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_482' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_483' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_484' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_485' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_486' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_487' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_488' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_489' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_49' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_490' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_491' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_492' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_493' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_494' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_495' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_496' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_497' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_498' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_499' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_50' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_500' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_501' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_502' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_503' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_504' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_505' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_506' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_507' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_508' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_509' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_51' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_510' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_511' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_512' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_513' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_514' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_515' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_516' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_517' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_518' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_519' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_52' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_520' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_521' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_522' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_523' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_524' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_525' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_526' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_527' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_528' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_529' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_53' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_530' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_531' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_532' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_533' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_534' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_535' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_536' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_537' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_538' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_539' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_54' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_540' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_541' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_542' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_543' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_544' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_545' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_546' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_547' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_548' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_549' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_55' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_550' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_551' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_552' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_553' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_554' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_555' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_556' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_557' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_558' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_559' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_56' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_560' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_561' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_562' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_563' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_564' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_565' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_566' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_567' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_568' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_569' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_57' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_570' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_571' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_572' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_573' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_574' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_575' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_576' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_577' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_578' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_579' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_58' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_580' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_581' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_582' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_583' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_584' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_585' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_586' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_587' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_588' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_589' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_59' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_590' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_591' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_592' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_593' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_594' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_595' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_596' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_597' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_598' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_599' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_60' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_600' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_601' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_602' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_603' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_604' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_605' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_606' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_607' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_608' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_609' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_61' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_610' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_611' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_612' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_613' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_614' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_615' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_616' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_617' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_618' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_619' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_62' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_620' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_621' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_622' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_623' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_624' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_625' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_626' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_627' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_628' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_629' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_63' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_630' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_631' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_632' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_633' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_634' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_635' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_636' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_637' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_638' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_639' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_640' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_641' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_642' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_643' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_644' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_645' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_646' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_647' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_648' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_649' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_65' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_650' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_651' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_652' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_653' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_654' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_655' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_656' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_657' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_658' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_659' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_66' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_660' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_661' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_662' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_663' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_664' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_665' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_666' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_667' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_668' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_669' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_67' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_670' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_671' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_672' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_673' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_674' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_675' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_676' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_677' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_678' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_679' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_68' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_680' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_681' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_682' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_683' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_684' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_685' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_686' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_687' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_688' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_689' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_69' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_690' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_691' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_692' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_693' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_694' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_695' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_696' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_697' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_698' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_699' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_70' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_700' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_701' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_702' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_703' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_704' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_705' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_706' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_707' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_708' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_709' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_71' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_710' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_711' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_712' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_713' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_714' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_715' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_716' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_717' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_718' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_719' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_72' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_720' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_721' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_722' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_723' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_724' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_725' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_726' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_727' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_728' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_729' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_73' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_730' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_731' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_732' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_733' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_734' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_735' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_736' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_737' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_738' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_739' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_74' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_740' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_741' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_742' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_743' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_744' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_745' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_746' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_747' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_748' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_749' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_75' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_750' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_751' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_752' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_753' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_754' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_755' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_756' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_757' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_758' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_759' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_76' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_760' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_761' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_762' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_763' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_764' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_765' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_766' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_767' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_768' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_769' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_77' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_770' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_771' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_772' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_773' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_774' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_775' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_776' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_777' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_778' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_779' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_78' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_780' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_781' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_782' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_783' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_784' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_785' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_786' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_787' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_788' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_789' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_79' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_790' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_791' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_792' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_793' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_794' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_795' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_796' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_797' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_798' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_799' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_80' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_800' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_801' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_802' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_803' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_804' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_805' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_806' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_807' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_808' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_809' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_81' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_810' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_811' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_812' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_813' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_814' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_815' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_816' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_817' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_818' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_819' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_82' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_820' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_821' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_822' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_823' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_824' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_825' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_826' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_827' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_828' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_829' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_83' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_830' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_831' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_832' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_833' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_834' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_835' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_836' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_837' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_838' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_839' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_84' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_840' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_841' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_842' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_843' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_844' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_845' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_846' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_847' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_848' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_849' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_85' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_850' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_851' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_852' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_853' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_854' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_855' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_856' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_857' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_858' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_859' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_86' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_860' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_861' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_862' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_863' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_864' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_865' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_866' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_867' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_868' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_869' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_87' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_870' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_871' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_872' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_873' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_874' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_875' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_876' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_877' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_878' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_879' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_88' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_880' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_881' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_882' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_883' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_884' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_885' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_886' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_887' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_888' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_889' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_89' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_890' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_891' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_892' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_893' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_894' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_895' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_896' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_897' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_898' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_899' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_90' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_900' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_901' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_902' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_903' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_904' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_905' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_906' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_907' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_908' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_909' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_91' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_910' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_911' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_912' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_913' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_914' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_915' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_916' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_917' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_918' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_919' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_92' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_920' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_921' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_922' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_923' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_924' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_925' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_926' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_927' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_928' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_929' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_93' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_930' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_931' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_932' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_933' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_934' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_935' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_936' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_937' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_938' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_939' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_94' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_940' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_941' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_942' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_943' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_944' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_945' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_946' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_947' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_948' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_949' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_95' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_950' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_951' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_952' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_953' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_954' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_955' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_956' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_957' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_958' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_959' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_96' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_960' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_961' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_962' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_963' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_964' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_965' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_966' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_967' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_968' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_969' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_97' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_970' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_971' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_972' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_973' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_974' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_975' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_976' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_977' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_978' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_979' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_98' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_980' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_981' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_982' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_983' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_984' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_985' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_986' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_987' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_988' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_989' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_99' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_990' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_991' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_992' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_993' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_994' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_995' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_996' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_997' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_998' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_999' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.adtFields.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_12.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_13.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_12.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat_outer' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.boxedOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.boxedOne.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.boxedOne' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bp_entries._simp_1_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.simplePat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bp_entries.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.entriesOf._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bp_entries._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.bp_entries' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.directPat_cons._simp_1_4' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.identBoxed_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identLocal_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf_spec' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_cons' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_len.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_len._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_len' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_loads._simp_1_27' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_loads._simp_1_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_loads.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none._simp_1_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none._simp_1_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rlookup_append' depends on axioms: [propext]\n'LexLeanPreservation.Rust.same_boxed_boxed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_boxed_none' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_local_none._simp_1_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_local_none._simp_1_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_local_none.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.same_local_local' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_local_none._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_local_none' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_boxed_local' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rlookup_local_boxed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rlookup_local_single' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_loads._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.directPat_loads' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_boxed_some._simp_1_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_some._simp_1_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_some.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_some._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.entries_boxed_some' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.envRel_locals' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fields_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindPatterns_single' depends on axioms: [propext]\n'LexLeanPreservation.Rust.outer_bind' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.paramCtx_length.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_length._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_length' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.bindOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOne.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.covered.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.covered_mem._simp_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.wt_uninh._simp_10' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.covered_mem' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.ctorOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.destruct_canon' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq_refl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.destruct_excl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.directPat.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_lookup.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_none_of._simp_1_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_none_of.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sameIdent_iff' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_none_of._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_none_of' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.identsDistinct.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.entries_lookup._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_lookup' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.eval_field.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.eval_field._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_field.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_field' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats_none._simp_1_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats_none.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats_none._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats_none' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats_some._simp_1_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats_some.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats_some._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats_some' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_partRead' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.tyBeq_unit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.field_out' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.findArm_some.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.findArm_some._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.findArm_some' depends on axioms: [propext]\n'LexLeanPreservation.Rust.findDispatch_some.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.findDispatch_some._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.findDispatch_some' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_ext' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identBoxed.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identBoxed.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.isWild._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.okBlock.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.otherArms.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.otherArms_mem._simp_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.otherArms_mem' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.outer_miss' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.outer_view' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_ext.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_ext._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_ext' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_fresh.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_fresh._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_fresh' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocal.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_matchOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_matchOn_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_uncons.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_uncons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_scrut' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rca_hit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rca_miss' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_det' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_rebuild.match_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_eq_of_same' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg_rc' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_rebuild._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_rebuild' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.readOf_rc' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.realizesM_value' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArg_simple' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_def' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs_simple.match_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs_simple._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs_simple' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_14.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuild_rca._simp_1_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuild_rca.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_value._simp_1_21' depends on axioms: [propext]\n'LexLeanPreservation.Rust.single_rebuild' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_rca._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_rca' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuildsArm.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_nil' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_fieldGen._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_fieldGen.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_fieldGen.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.wtl_get.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_get._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_get' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_fieldGen' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_fieldHeld' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_fieldRead' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_mCons._simp_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_mCons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_mNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchArms._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.tyBeq_refl.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq_refl._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.tysBeq_refl.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tysBeq_refl._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_refl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.tysBeq_refl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.uninh_of_inert.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.uninh_of_inert._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh_of_inert' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_uninh.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_uninh._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtl_uninh.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_uninh._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_uninh' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.taken_arm' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchArms' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchPair._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchPair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchRebuilt._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchRebuilt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchRebuilt.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchRebuilt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.simplePat.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.validU.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_uninh' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.findArm.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findArm.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findArm.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_5' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_6' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_7' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_8' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.fl_of' does not depend on any axioms\n'LexLeanPreservation.Rust.fnFallible.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of._simp_1_14' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.funSem_of.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_12' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.isTemp.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isTemp.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.item_ne' depends on axioms: [propext]\n'LexLeanPreservation.Rust.kind_ne' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sound._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sound._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.simulate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Representable._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Representable.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Representable._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.RepresentableL._f' does not depend on any axioms\n'LexLeanPreservation.Rust.Representable' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Representable._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.Representable._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.compose' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rel_ne_stuck' depends on axioms: [propext]\n'LexLeanPreservation.Rust.repL_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.repL_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.runItem_abort_infallible' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtAll_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wtAll_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_map._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_map' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_adt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_bool' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_bytes' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encExcept.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_encExcept' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_list' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encList' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encOption.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_encOption' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encOrdering' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encPair' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encUnit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_errorV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i32' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i64' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_int' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_listEnc' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_nat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_noneV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_okV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_optEnc.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_someV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_optEnc' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_ordering' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_pairV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_string' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u32' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u64' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_unitValue' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_nil' depends on axioms: [propext]\n'LexLeanPreservation.encExcept.eq_1' does not depend on any axioms\n'LexLeanPreservation.encExcept.eq_2' does not depend on any axioms\n'LexLeanPreservation.encOption.eq_1' does not depend on any axioms\n'LexLeanPreservation.encOption.eq_2' does not depend on any axioms\n'LexLeanPreservation.encPair.eq_1' does not depend on any axioms\n'LexLeanPreservation.encUnit.eq_1' does not depend on any axioms\n'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n-- statement vocabulary\ninductive LexLeanPreservation.Obs : Type\nnumber of parameters: 0\nconstructors:\nLexLeanPreservation.Obs.value : LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs\nLexLeanPreservation.Obs.overflow : LexLeanPreservation.Obs\nLexLeanPreservation.Obs.stuck : LexLeanPreservation.Obs\ndef LexLeanPreservation.Rel : Bool → LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs :=\nfun fits v => bif fits then LexLeanPreservation.Obs.value v else LexLeanPreservation.Obs.overflow\ndef LexLeanPreservation.Conv : LexLeanTarget.TargetSyntax.Program →\n List (Nat × LexLeanTarget.TargetSyntax.Value) → LexLeanTarget.TargetSyntax.Expr → LexLeanPreservation.Obs → Prop :=\nfun p env e o => ∃ n, LexLeanPreservation.obs (LexLeanTarget.TargetSemantics.eval n p env e) = some o\ndef LexLeanPreservation.FunRel : LexLeanTarget.TargetSyntax.Program →\n Nat → List LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs → Prop :=\nfun p f args o =>\n ∃ fn,\n LexLeanTarget.TargetSemantics.LexLeanRuntime.index p.functions f = some fn ∧\n ∃ env,\n LexLeanTarget.TargetSemantics.bindAll fn.parameters args [] = some env ∧\n LexLeanPreservation.Conv p env fn.body o\ndef LexLeanPreservation.RunConv : LexLeanTarget.TargetSyntax.Program →\n Nat → List LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs → Prop :=\nfun p entry args o => ∃ n, LexLeanPreservation.obs (LexLeanTarget.TargetSemantics.run n p entry args) = some o\ndef LexLeanPreservation.Rust.WT : LexLeanTarget.TargetSyntax.Program →\n LexLeanPreservation.Rust.RCrate →\n LexLeanPreservation.Rust.Flags → LexLeanTarget.TargetSyntax.Value → LexLeanTarget.TargetSyntax.Ty → Prop :=\nfun p c A x x_1 =>\n x.brecOn (LexLeanPreservation.Rust.WT._f p c A)\n (fun t f => ⟨LexLeanPreservation.Rust.WTL._f p c A t f, LexLeanPreservation.Rust.WTAll._f p c A t f⟩) x_1\ndef LexLeanPreservation.Rust.WTL : LexLeanTarget.TargetSyntax.Program →\n LexLeanPreservation.Rust.RCrate →\n LexLeanPreservation.Rust.Flags →\n List LexLeanTarget.TargetSyntax.Value → List LexLeanTarget.TargetSyntax.Ty → Prop :=\nfun p c A x x_1 =>\n (LexLeanTarget.TargetSyntax.Value.brecOn_1 x (LexLeanPreservation.Rust.WT._f p c A) fun t f =>\n ⟨LexLeanPreservation.Rust.WTL._f p c A t f, LexLeanPreservation.Rust.WTAll._f p c A t f⟩).1\n x_1\ndef LexLeanPreservation.Rust.fnIdent : Nat → LexLeanPreservation.Rust.RIdent :=\nfun f => LexLeanTarget.RustSyntax.Ident.generated LexLeanTarget.RustSyntax.IdentKind.function f\ndef LexLeanPreservation.Rust.fnFallible : LexLeanPreservation.Rust.RCrate → Nat → Option Bool :=\nfun c f =>\n Option.map (fun fn => LexLeanTarget.RustSemantics.fallibleType fn.snd.fst)\n (LexLeanTarget.RustSemantics.findFunction c.items (LexLeanPreservation.Rust.fnIdent f))\ndef LexLeanPreservation.Rust.RCI : LexLeanPreservation.Rust.RCrate →\n LexLeanPreservation.Rust.RIdent → List LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Rust.ROut → Prop :=\nfun c f args o =>\n o ≠ LexLeanTarget.RustSemantics.ROutcome.exhausted ∧ ∃ n, LexLeanTarget.RustSemantics.invoke n c f args = o\ndef LexLeanPreservation.Rust.Realizes : Bool → LexLeanPreservation.Obs → LexLeanPreservation.Rust.ROut → Prop :=\nfun fl x x_1 =>\n match x, x_1 with\n | LexLeanPreservation.Obs.value v, LexLeanTarget.RustSemantics.ROutcome.value w => w = v\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.raise => fl = true\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.abort => True\n | x, x_2 => False\ndef LexLeanPreservation.Rust.RealizesFn : Bool → LexLeanPreservation.Obs → LexLeanPreservation.Rust.ROut → Prop :=\nfun fallible x x_1 =>\n match x, x_1 with\n | LexLeanPreservation.Obs.value v, LexLeanTarget.RustSemantics.ROutcome.value w => w = bif fallible then v.ok else v\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.value w =>\n fallible = true ∧ w = LexLeanTarget.TargetSyntax.Value.unit.error\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.abort => True\n | x, x_2 => False\ndef LexLeanPreservation.Rust.FunSem : LexLeanTarget.TargetSyntax.Program →\n LexLeanPreservation.Rust.RCrate → LexLeanPreservation.Rust.Flags → Nat → Nat → Prop :=\nfun p c A n f =>\n ∀ (fn : LexLeanTarget.TargetSyntax.Function) (args : List LexLeanTarget.TargetSyntax.Value)\n (env : List (Nat × LexLeanTarget.TargetSyntax.Value)) (F : Bool),\n LexLeanTarget.TargetSemantics.LexLeanRuntime.index p.functions f = some fn →\n LexLeanPreservation.Rust.WTL p c A args fn.types →\n LexLeanTarget.TargetSemantics.bindAll fn.parameters args [] = some env →\n LexLeanPreservation.Rust.fnFallible c f = some F →\n ∀ (o : LexLeanPreservation.Obs),\n LexLeanPreservation.obs (LexLeanTarget.TargetSemantics.eval n p env fn.body) = some o →\n o ≠ LexLeanPreservation.Obs.stuck →\n (∀ (v : LexLeanTarget.TargetSyntax.Value),\n o = LexLeanPreservation.Obs.value v → LexLeanPreservation.Rust.WT p c A v fn.result) ∧\n ∃ ro,\n LexLeanPreservation.Rust.RealizesFn F o ro ∧\n LexLeanPreservation.Rust.RCI c (LexLeanPreservation.Rust.fnIdent f) args ro\ndef LexLeanPreservation.someObs : LexLeanPreservation.Obs → LexLeanPreservation.Obs :=\nfun x =>\n match x with\n | LexLeanPreservation.Obs.value v => LexLeanPreservation.Obs.value v.some\n | LexLeanPreservation.Obs.overflow => LexLeanPreservation.Obs.overflow\n | LexLeanPreservation.Obs.stuck => LexLeanPreservation.Obs.stuck\ndef LexLeanPreservation.Rust.Representable : LexLeanTarget.TargetSyntax.Value → Prop :=\nfun x => x.brecOn LexLeanPreservation.Rust.Representable._f LexLeanPreservation.Rust.RepresentableL._f\ndef LexLeanPreservation.Rust.RepresentableL : List LexLeanTarget.TargetSyntax.Value → Prop :=\nfun x =>\n LexLeanTarget.TargetSyntax.Value.brecOn_1 x LexLeanPreservation.Rust.Representable._f\n LexLeanPreservation.Rust.RepresentableL._f\nLexLeanPreservation.Rust.runItem_abort_infallible : ∀ (profile : LexLeanTarget.RustSyntax.Profile)\n (item : LexLeanTarget.RustSyntax.Item) (values : List LexLeanTarget.TargetSyntax.Value),\n LexLeanTarget.RustSemantics.runItem profile item values = LexLeanTarget.RustSemantics.ROutcome.abort →\n LexLeanTarget.RustSemantics.itemFallible item = false\n","stdout_sha256":"9a8bfd457dd13bc4cdf8e118e178e39893052ac443c98406a9d8dce0a860e913","tool":"lean"} +{"argv":["env","lean","-R","$STAGING/preserve-src","$STAGING/preserve-src/LexLeanPreserve/Audit.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Audit","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanPreservation.Obs' does not depend on any axioms\n'LexLeanPreservation.obs.match_1' does not depend on any axioms\n'LexLeanPreservation.obs' does not depend on any axioms\n'LexLeanPreservation.Conv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ConvA' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ObsL' does not depend on any axioms\n'LexLeanPreservation.obsL.match_1' does not depend on any axioms\n'LexLeanPreservation.obsL' does not depend on any axioms\n'LexLeanPreservation.ConvL' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.FunRel' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Obs._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.Obs._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.Obs.casesOn' does not depend on any axioms\n'LexLeanPreservation.Obs.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.Obs.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Obs.ctorElim' does not depend on any axioms\n'LexLeanPreservation.Obs.overflow.elim' does not depend on any axioms\n'LexLeanPreservation.Obs.stuck.elim' does not depend on any axioms\n'LexLeanPreservation.Obs.value.elim' does not depend on any axioms\n'LexLeanPreservation.Obs.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.Obs.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Obs.overflow.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Obs.recOn' does not depend on any axioms\n'LexLeanPreservation.Obs.stuck.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Obs.value.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Obs.value.inj' does not depend on any axioms\n'LexLeanPreservation.Obs.value.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Obs.value.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ObsL._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.ObsL._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.ObsL.casesOn' does not depend on any axioms\n'LexLeanPreservation.ObsL.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.ObsL.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.ObsL.ctorElim' does not depend on any axioms\n'LexLeanPreservation.ObsL.overflow.elim' does not depend on any axioms\n'LexLeanPreservation.ObsL.stuck.elim' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.elim' does not depend on any axioms\n'LexLeanPreservation.ObsL.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.ObsL.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ObsL.overflow.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ObsL.recOn' does not depend on any axioms\n'LexLeanPreservation.ObsL.stuck.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.inj' does not depend on any axioms\n'LexLeanPreservation.ObsL.values.injEq' depends on axioms: [propext]\n'LexLeanPreservation.ObsL.values.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rel' does not depend on any axioms\n'LexLeanPreservation.Rel.eq_1' does not depend on any axioms\n'LexLeanPreservation.RelL' does not depend on any axioms\n'LexLeanPreservation.RelL.eq_1' does not depend on any axioms\n'LexLeanPreservation.RunConv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.addSteps_ne' does not depend on any axioms\n'LexLeanPreservation.chargeResult_ne' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.stable.match_1_16' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_18' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_20' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_22' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_24' does not depend on any axioms\n'LexLeanPreservation.stable.match_1_26' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.eval.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.stable' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.evalArms_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs_ne' does not depend on any axioms\n'LexLeanPreservation.convA_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.eval_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs_addSteps' does not depend on any axioms\n'LexLeanPreservation.convA_hit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.convA_miss' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.evalList_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obsL_ne' does not depend on any axioms\n'LexLeanPreservation.convL_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.convL_cons._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.convL_cons._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.convL_cons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.convL_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_apply._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_apply._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_apply._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_apply' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_build' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_call._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_call._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_call' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_closure' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_cond._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_cond._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_field' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_first' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_let._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_let._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_let' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_match._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_match._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_match' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_matchV' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs_chargeResult' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_prim' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_second' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_var' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.funRel_intro' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.obs.eq_1' does not depend on any axioms\n'LexLeanPreservation.obs.eq_2' does not depend on any axioms\n'LexLeanPreservation.obs.eq_3' does not depend on any axioms\n'LexLeanPreservation.obs.eq_4' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_1' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_2' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_3' does not depend on any axioms\n'LexLeanPreservation.obsL.eq_4' does not depend on any axioms\n'LexLeanPreservation.run_of_funRel' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.eval.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalArms.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.evalList.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.run.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ListEnc' does not depend on any axioms\n'LexLeanPreservation.ListEnc._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.ListEnc._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.ListEnc.casesOn' does not depend on any axioms\n'LexLeanPreservation.ListEnc.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.ListEnc.elem' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items' does not depend on any axioms\n'LexLeanPreservation.ListEnc.enc' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_cons' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_eq.match_1_1' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_nil' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_eq._f' does not depend on any axioms\n'LexLeanPreservation.ListEnc.items_eq' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.ListEnc.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.ListEnc.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk.noConfusion' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk.inj' does not depend on any axioms\n'LexLeanPreservation.ListEnc.mk.injEq' depends on axioms: [propext]\n'LexLeanPreservation.ListEnc.mk.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.ListEnc.recOn' does not depend on any axioms\n'LexLeanPreservation.OptEnc' does not depend on any axioms\n'LexLeanPreservation.OptEnc._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.OptEnc._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.OptEnc.casesOn' does not depend on any axioms\n'LexLeanPreservation.OptEnc.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.OptEnc.elem' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc_none' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc_some' does not depend on any axioms\n'LexLeanPreservation.encOption.match_1' does not depend on any axioms\n'LexLeanPreservation.encOption' does not depend on any axioms\n'LexLeanPreservation.OptEnc.enc_map' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.OptEnc.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.OptEnc.noConfusion' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk.noConfusion' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk.inj' does not depend on any axioms\n'LexLeanPreservation.OptEnc.mk.injEq' depends on axioms: [propext]\n'LexLeanPreservation.OptEnc.mk.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.OptEnc.recOn' does not depend on any axioms\n'LexLeanPreservation.construct_adt' does not depend on any axioms\n'LexLeanPreservation.construct_cons' does not depend on any axioms\n'LexLeanPreservation.construct_error' does not depend on any axioms\n'LexLeanPreservation.construct_false' does not depend on any axioms\n'LexLeanPreservation.construct_nil' does not depend on any axioms\n'LexLeanPreservation.construct_none' does not depend on any axioms\n'LexLeanPreservation.construct_ok' does not depend on any axioms\n'LexLeanPreservation.construct_pair' does not depend on any axioms\n'LexLeanPreservation.construct_some' does not depend on any axioms\n'LexLeanPreservation.construct_succ' does not depend on any axioms\n'LexLeanPreservation.construct_true' does not depend on any axioms\n'LexLeanPreservation.construct_unit' does not depend on any axioms\n'LexLeanPreservation.construct_zero' does not depend on any axioms\n'LexLeanPreservation.encExcept.match_1' does not depend on any axioms\n'LexLeanPreservation.encExcept' does not depend on any axioms\n'LexLeanPreservation.encList' does not depend on any axioms\n'LexLeanPreservation.encOrdering.match_1' does not depend on any axioms\n'LexLeanPreservation.encOrdering' does not depend on any axioms\n'LexLeanPreservation.encPair' does not depend on any axioms\n'LexLeanPreservation.encUnit' does not depend on any axioms\n'LexLeanPreservation.listEnc._proof_1' does not depend on any axioms\n'LexLeanPreservation.listEnc._proof_2' does not depend on any axioms\n'LexLeanPreservation.listEnc' does not depend on any axioms\n'LexLeanPreservation.optEnc._proof_1' does not depend on any axioms\n'LexLeanPreservation.optEnc._proof_2' does not depend on any axioms\n'LexLeanPreservation.optEnc' does not depend on any axioms\n'LexLeanPreservation.bytes_empty' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.bytes_one' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.bytes_zero' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.encOrdering.eq_1' does not depend on any axioms\n'LexLeanPreservation.encOrdering.eq_2' does not depend on any axioms\n'LexLeanPreservation.encOrdering.eq_3' does not depend on any axioms\n'LexLeanPreservation.fromOrdering_encOrdering' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.fromStrings_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.fromStrings_map._f' does not depend on any axioms\n'LexLeanPreservation.fromStrings_map' does not depend on any axioms\n'LexLeanPreservation.intFits' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.listIndex_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.listIndex_map._f' does not depend on any axioms\n'LexLeanPreservation.listIndex_map' does not depend on any axioms\n'LexLeanPreservation.listIndex_unique.match_1_1' does not depend on any axioms\n'LexLeanPreservation.listIndex_unique._f' does not depend on any axioms\n'LexLeanPreservation.listIndex_unique' does not depend on any axioms\n'LexLeanPreservation.obs_intResult' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.obs_natResult' does not depend on any axioms\n'LexLeanPreservation.prim_append_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_append_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_boolNot' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_compareBytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_bool' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_nat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_ordering' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_string' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_index_bytes.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_index_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_index_list.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_index_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intMul' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intNeg' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intQuot' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intRem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_intSub' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_join.match_1_1' does not depend on any axioms\n'LexLeanPreservation.toStrings_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.toStrings_map.match_1_3' does not depend on any axioms\n'LexLeanPreservation.toStrings_map._f' does not depend on any axioms\n'LexLeanPreservation.toStrings_map' does not depend on any axioms\n'LexLeanPreservation.prim_join' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_length_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_length_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_length_string' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natAdd' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natEq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natLe' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natLt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natMul' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natQuot' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natRem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_natSub' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_slice_bytes.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_slice_bytes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_slice_list.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_slice_list' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_splitExact.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_splitExact' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_utf8Decode.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_utf8Decode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_utf8Encode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.compareBytes.eq_1' depends on axioms: [propext]\n'LexLeanRuntime.equal.eq_1' does not depend on any axioms\n'LexLeanRuntime.length.eq_1' does not depend on any axioms\n'LexLeanRuntime.slice.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromOrdering.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.checkedMultiplyWith.match_1' does not depend on any axioms\n'LexLeanPreservation.checkedMultiplyWith' does not depend on any axioms\n'LexLeanPreservation.checkedQuotientWith' does not depend on any axioms\n'LexLeanPreservation.decimalFits.match_1' does not depend on any axioms\n'LexLeanPreservation.decimalFits' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.divideStep' does not depend on any axioms\n'LexLeanPreservation.divide_unique.match_1_1' does not depend on any axioms\n'LexLeanPreservation.divide_unique._f' does not depend on any axioms\n'LexLeanPreservation.divide_unique' does not depend on any axioms\n'LexLeanPreservation.multiplyStep' does not depend on any axioms\n'LexLeanPreservation.multiply_unique.match_1_1' does not depend on any axioms\n'LexLeanPreservation.multiply_unique._f' does not depend on any axioms\n'LexLeanPreservation.multiply_unique' does not depend on any axioms\n'LexLeanPreservation.prim_bitAnd_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitAnd_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitNot_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitOr_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_bitXor_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedAdd_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedAdd_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i64.match_1_2' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedMul_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedMul_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedNeg_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedNeg_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedQuot_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedQuot_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_checkedSub_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_checkedSub_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i16_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i16_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i32_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i32_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i64_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i64_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_i8_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_i8_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_int_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_int_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u16_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u16_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u32_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u32_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u64_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u64_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_convert_u8_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_convert_u8_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_equal_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_int' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_formatDecimal_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_int.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_int' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_parseDecimal_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_parseDecimal_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftLeft_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftLeft_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_i8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u16.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u32.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u64.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.prim_shiftRight_u8.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_shiftRight_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ordOf.match_1' does not depend on any axioms\n'LexLeanPreservation.ordOf' does not depend on any axioms\n'LexLeanPreservation.KeySpec' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.mk._flat_ctor' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.recOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.KeySpec.spec' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.compareCodes_eq.match_1_1' does not depend on any axioms\n'LexLeanPreservation.compareCodes_eq._f' depends on axioms: [propext]\n'LexLeanPreservation.compareCodes_eq' depends on axioms: [propext]\n'LexLeanPreservation.compareCodes_swap.match_1_1' does not depend on any axioms\n'LexLeanPreservation.compareCodes_swap._f' depends on axioms: [propext]\n'LexLeanPreservation.compareCodes_swap' depends on axioms: [propext]\n'LexLeanPreservation.lessThanE' does not depend on any axioms\n'LexLeanPreservation.prim_compare_key.match_1_1' does not depend on any axioms\n'LexLeanPreservation.prim_compare_key' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_lessThan' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.orderOf_insert' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.orderBool.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.keySpec_bool' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI16.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI32.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI64.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderI8.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_i8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderInt.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_int' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderNat.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_nat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.keySpec_pair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderString.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.keySpec_string' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU16.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU32.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU64.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.orderU8.eq_1' does not depend on any axioms\n'LexLeanPreservation.keySpec_u8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanCollections.compareCodes._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.eq_1' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.eq_2' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.eq_3' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.eq_4' depends on axioms: [propext]\n'LexLeanCollections.compareCodes.eq_def' depends on axioms: [propext]\n'LexLeanCollections.insertEntry.eq_1' does not depend on any axioms\n'LexLeanCollections.insertEntry.eq_2' does not depend on any axioms\n'LexLeanCollections.insertEntry.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.compareValue.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_18' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_20' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_22' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_23' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_24' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_25' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_26' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_27' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_28' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_29' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_30' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_31' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_33' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_34' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_35' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_36' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_37' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_38' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_39' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_40' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_41' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_42' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_43' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_44' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_45' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_46' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_47' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_48' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_49' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_50' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_51' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_52' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_53' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_54' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_55' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_56' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_57' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_58' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_59' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_60' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_61' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_62' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_63' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_65' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_66' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_67' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_68' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_69' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_70' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_71' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_72' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_73' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_74' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_75' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_76' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_77' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_78' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_79' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_80' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_81' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_82' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_83' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_84' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_85' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_86' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_87' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_88' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_89' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_90' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_91' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_92' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_93' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_94' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_95' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_96' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_97' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_98' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_99' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.compareValue.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Conv.bool_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Conv.fits_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.FunRel.fits_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.ListEnc.enc.eq_1' does not depend on any axioms\n'LexLeanPreservation.ListEnc.enc_cons' does not depend on any axioms\n'LexLeanPreservation.ListEnc.enc_nil' does not depend on any axioms\n'LexLeanPreservation.LookOps' does not depend on any axioms\n'LexLeanPreservation.LookOps.casesOn' does not depend on any axioms\n'LexLeanPreservation.LookOps.l0' does not depend on any axioms\n'LexLeanPreservation.LookOps.leq' does not depend on any axioms\n'LexLeanPreservation.LookOps.lgt' does not depend on any axioms\n'LexLeanPreservation.LookOps.llt' does not depend on any axioms\n'LexLeanPreservation.LookOps.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.LookOps.recOn' does not depend on any axioms\n'LexLeanPreservation.SetOps' does not depend on any axioms\n'LexLeanPreservation.SetOps.c0' does not depend on any axioms\n'LexLeanPreservation.SetOps.casesOn' does not depend on any axioms\n'LexLeanPreservation.SetOps.ceq' does not depend on any axioms\n'LexLeanPreservation.SetOps.cgt' does not depend on any axioms\n'LexLeanPreservation.SetOps.clt' does not depend on any axioms\n'LexLeanPreservation.SetOps.i0' does not depend on any axioms\n'LexLeanPreservation.SetOps.ieq' does not depend on any axioms\n'LexLeanPreservation.SetOps.igt' does not depend on any axioms\n'LexLeanPreservation.SetOps.ilt' does not depend on any axioms\n'LexLeanPreservation.SetOps.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.SetOps.r0' does not depend on any axioms\n'LexLeanPreservation.SetOps.recOn' does not depend on any axioms\n'LexLeanPreservation.SetOps.req' does not depend on any axioms\n'LexLeanPreservation.SetOps.rgt' does not depend on any axioms\n'LexLeanPreservation.SetOps.rlt' does not depend on any axioms\n'LexLeanPreservation.TopoOps' does not depend on any axioms\n'LexLeanPreservation.TopoOps.casesOn' does not depend on any axioms\n'LexLeanPreservation.TopoOps.mk._flat_ctor' does not depend on any axioms\n'LexLeanPreservation.TopoOps.recOn' does not depend on any axioms\n'LexLeanPreservation.TopoOps.s_next' does not depend on any axioms\n'LexLeanPreservation.TopoOps.s_nil' does not depend on any axioms\n'LexLeanPreservation.TopoOps.s_stuck' does not depend on any axioms\n'LexLeanPreservation.TopoOps.z_cons' does not depend on any axioms\n'LexLeanPreservation.TopoOps.z_nil' does not depend on any axioms\n'LexLeanPreservation.Tpl.boolE' does not depend on any axioms\n'LexLeanPreservation.Tpl.byOrder' does not depend on any axioms\n'LexLeanPreservation.Tpl.cns' does not depend on any axioms\n'LexLeanPreservation.Tpl.fn' does not depend on any axioms\n'LexLeanPreservation.Tpl.lst' does not depend on any axioms\n'LexLeanPreservation.Tpl.v' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphInnerFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.pr' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphNodesFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.natOne' does not depend on any axioms\n'LexLeanPreservation.Tpl.nl' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphReachableFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphSuccessorsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.graphTopologicalFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.iterateFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.iterateUntilFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.listFoldFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapContainsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapFoldFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapInsertFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapLookupFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapProjectFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.mapRemoveFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reachFrontierFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reachIntoFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reachRoundsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.reverseFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setContainsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setFilterFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setInsertFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setRemoveFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.setUnionFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoFinished' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoReadyFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoRoundsFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.topoUnreachedFn' does not depend on any axioms\n'LexLeanPreservation.blt_succ_fits._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.blt_succ_fits' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.conv_cond_false' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.conv_cond_true' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.enc_elem' does not depend on any axioms\n'LexLeanPreservation.enc_entry' does not depend on any axioms\n'LexLeanPreservation.foldFits.match_1' does not depend on any axioms\n'LexLeanPreservation.foldFits._f' does not depend on any axioms\n'LexLeanPreservation.foldFits' does not depend on any axioms\n'LexLeanPreservation.foldFits._sunfold' does not depend on any axioms\n'LexLeanPreservation.foldFits._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.foldFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.foldFits.eq_2' does not depend on any axioms\n'LexLeanPreservation.foldFits.eq_def' does not depend on any axioms\n'LexLeanPreservation.graphFits' does not depend on any axioms\n'LexLeanPreservation.graphFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.iterateFits.match_1' does not depend on any axioms\n'LexLeanPreservation.iterateFits._f' does not depend on any axioms\n'LexLeanPreservation.iterateFits' does not depend on any axioms\n'LexLeanPreservation.iterateFits._sunfold' does not depend on any axioms\n'LexLeanPreservation.iterateFits._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.iterateFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.iterateFits.eq_2' does not depend on any axioms\n'LexLeanPreservation.iterateFits.eq_def' does not depend on any axioms\n'LexLeanPreservation.length_eq' does not depend on any axioms\n'LexLeanPreservation.prim_compare_at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.reachNext' does not depend on any axioms\n'LexLeanPreservation.tpl_graphInner.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setInsert.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setInsert._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setInsert' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphInner._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphInner' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphNodes.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_graphNodes._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphNodes' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapLookup.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapLookup._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapLookup' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphSuccessors' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachFrontier.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_reachInto.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setContains.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setContains._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setContains' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachInto._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachInto' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachFrontier._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachFrontier' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachRounds.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setUnion.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setUnion._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setUnion' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachRounds._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reachRounds' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphReachable' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reverse.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_reverse._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_reverse' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setRemove.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setRemove._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setRemove' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoReady.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_topoUnreached.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_topoUnreached._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoUnreached' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoReady._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoReady' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoRounds.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_topoRounds._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_topoRounds' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_graphTopological' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterate.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_iterate._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterateUntil.match_1_1' does not depend on any axioms\n'LexLeanPreservation.untilFits.match_1' does not depend on any axioms\n'LexLeanPreservation.untilFits._f' does not depend on any axioms\n'LexLeanPreservation.untilFits' does not depend on any axioms\n'LexLeanPreservation.tpl_iterateUntil._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_iterateUntil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_listFold.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_listFold._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_listFold' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapContains' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapFold.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapFold._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapFold' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapInsert.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapInsert._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapInsert' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapKeys.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapKeys._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapKeys' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapRemove.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapRemove._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapRemove' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapValues.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_mapValues._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_mapValues' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setDifference.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setDifference._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setDifference' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setIntersection.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_setIntersection._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_setIntersection' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.untilFits._sunfold' does not depend on any axioms\n'LexLeanPreservation.untilFits._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.untilFits.eq_1' does not depend on any axioms\n'LexLeanPreservation.untilFits.eq_2' does not depend on any axioms\n'LexLeanPreservation.untilFits.eq_def' does not depend on any axioms\n'LexLeanPreservation.validExcept.match_1' does not depend on any axioms\n'LexLeanPreservation.InvExcept' does not depend on any axioms\n'LexLeanPreservation.InvList' does not depend on any axioms\n'LexLeanPreservation.InvList.eq_1' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.match_1' does not depend on any axioms\n'LexLeanPreservation.StrictAsc._f' does not depend on any axioms\n'LexLeanPreservation.StrictAsc' does not depend on any axioms\n'LexLeanPreservation.InvMap' does not depend on any axioms\n'LexLeanPreservation.validOption.match_1' does not depend on any axioms\n'LexLeanPreservation.InvOption' does not depend on any axioms\n'LexLeanPreservation.InvOption.eq_1' does not depend on any axioms\n'LexLeanPreservation.InvOption.eq_2' does not depend on any axioms\n'LexLeanPreservation.InvPair' does not depend on any axioms\n'LexLeanPreservation.InvSet' does not depend on any axioms\n'LexLeanPreservation.StrictAsc._sunfold' does not depend on any axioms\n'LexLeanPreservation.StrictAsc._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_1' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_2' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_3' does not depend on any axioms\n'LexLeanPreservation.StrictAsc.eq_def' does not depend on any axioms\n'LexLeanPreservation.Tpl.validListFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validMapFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validOptionFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validPairFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validResultFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validSetFn' does not depend on any axioms\n'LexLeanPreservation.Tpl.validTrueFn' does not depend on any axioms\n'LexLeanPreservation.ascMap.match_1' does not depend on any axioms\n'LexLeanPreservation.lessB.match_1' does not depend on any axioms\n'LexLeanPreservation.lessB' does not depend on any axioms\n'LexLeanPreservation.ascMap._f' does not depend on any axioms\n'LexLeanPreservation.ascMap' does not depend on any axioms\n'LexLeanPreservation.ascMap._sunfold' does not depend on any axioms\n'LexLeanPreservation.ascMap._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_1' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_2' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_3' does not depend on any axioms\n'LexLeanPreservation.ascMap.eq_def' does not depend on any axioms\n'LexLeanPreservation.ascMap_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.lessB_iff' depends on axioms: [propext]\n'LexLeanPreservation.ascMap_iff._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.ascMap_iff' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.ascMap_inv' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.ascSet._f' does not depend on any axioms\n'LexLeanPreservation.ascSet' does not depend on any axioms\n'LexLeanPreservation.ascSet._sunfold' does not depend on any axioms\n'LexLeanPreservation.ascSet._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_1' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_2' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_3' does not depend on any axioms\n'LexLeanPreservation.ascSet.eq_def' does not depend on any axioms\n'LexLeanPreservation.ascSet_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.ascSet_iff._f' depends on axioms: [propext]\n'LexLeanPreservation.ascSet_iff' depends on axioms: [propext]\n'LexLeanPreservation.ascSet_inv' depends on axioms: [propext]\n'LexLeanPreservation.condAnd_iff' depends on axioms: [propext]\n'LexLeanPreservation.invList_eqs.match_1_1' does not depend on any axioms\n'LexLeanPreservation.invList_eqs._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.invList_eqs' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.lessB.eq_1' does not depend on any axioms\n'LexLeanPreservation.lessB_eq' depends on axioms: [propext]\n'LexLeanPreservation.lessB_gt' depends on axioms: [propext]\n'LexLeanPreservation.lessB_lt' depends on axioms: [propext]\n'LexLeanPreservation.someObs.match_1' does not depend on any axioms\n'LexLeanPreservation.someObs' does not depend on any axioms\n'LexLeanPreservation.tpl_validList.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validList.match_1' does not depend on any axioms\n'LexLeanPreservation.validList._f' does not depend on any axioms\n'LexLeanPreservation.validList' does not depend on any axioms\n'LexLeanPreservation.tpl_validList' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validMap.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_validMap._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validMap' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validOption.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validOption' does not depend on any axioms\n'LexLeanPreservation.tpl_validOption' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validPair.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validPair' does not depend on any axioms\n'LexLeanPreservation.tpl_validPair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validResult.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validExcept' does not depend on any axioms\n'LexLeanPreservation.tpl_validResult' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validSet.match_1_1' does not depend on any axioms\n'LexLeanPreservation.tpl_validSet._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validSet' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.tpl_validTrue' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.trueIff' does not depend on any axioms\n'LexLeanPreservation.validExcept_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validExcept_inv' does not depend on any axioms\n'LexLeanPreservation.validList._sunfold' does not depend on any axioms\n'LexLeanPreservation.validList._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.validList.eq_1' does not depend on any axioms\n'LexLeanPreservation.validList.eq_2' does not depend on any axioms\n'LexLeanPreservation.validList.eq_def' does not depend on any axioms\n'LexLeanPreservation.validList_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validList_iff._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.validList_iff' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.validList_inv' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.validOption.eq_1' does not depend on any axioms\n'LexLeanPreservation.validOption.eq_2' does not depend on any axioms\n'LexLeanPreservation.validOption_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.validOption_inv' depends on axioms: [propext]\n'LexLeanPreservation.validPair_inv' depends on axioms: [propext]\n'LexLeanPreservation.validTrue_inv' does not depend on any axioms\n'LexLeanPreservation.Rust.Ctx' does not depend on any axioms\n'LexLeanPreservation.Rust.Flags' does not depend on any axioms\n'LexLeanPreservation.Rust.RCrate' does not depend on any axioms\n'LexLeanPreservation.Rust.RIdent' does not depend on any axioms\n'LexLeanPreservation.Rust.WT._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.adtFields' depends on axioms: [propext]\n'LexLeanTarget.TargetSyntax.IntKind.ofNat' does not depend on any axioms\n'LexLeanTarget.TargetSyntax.IntKind.ofNat_ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Rust.instDecidableEqIntKind_lexLeanPreservation._proof_1' does not depend on any axioms\n'LexLeanPreservation.Rust.instDecidableEqIntKind_lexLeanPreservation._proof_2' does not depend on any axioms\n'LexLeanPreservation.Rust.instDecidableEqIntKind_lexLeanPreservation' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flagOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fnIdent' does not depend on any axioms\n'LexLeanPreservation.Rust.fnFallible' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.inert._f' does not depend on any axioms\n'LexLeanPreservation.Rust.inert' does not depend on any axioms\n'LexLeanPreservation.Rust.WT._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.WTAll._f' does not depend on any axioms\n'LexLeanPreservation.Rust.WTL.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctxLookup.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup._f' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup' does not depend on any axioms\n'LexLeanPreservation.Rust.local_' does not depend on any axioms\n'LexLeanPreservation.Rust.EnvRel' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ROut' does not depend on any axioms\n'LexLeanPreservation.Rust.Halt' does not depend on any axioms\n'LexLeanPreservation.Rust.REnv' does not depend on any axioms\n'LexLeanPreservation.Rust.RExpr' does not depend on any axioms\n'LexLeanPreservation.Rust.RC' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RLet' does not depend on any axioms\n'LexLeanPreservation.Rust.LetsOK' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.append' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.below' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.below.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.brecOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsOK.recOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.append_left' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.append_right' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.below' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.below.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.brecOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.casesOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.LetsRaise.recOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RBlock' does not depend on any axioms\n'LexLeanPreservation.Rust.dispatched_ne' does not depend on any axioms\n'LexLeanPreservation.Rust.finished_ne' does not depend on any axioms\n'LexLeanPreservation.Rust.returned_ne' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_24' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_26' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_28' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_30' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_32' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_34' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_36' does not depend on any axioms\n'LexLeanPreservation.Rust.stable.match_1_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.eval.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_22' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.invoke.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.stable' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.reval_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCB' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.block' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCA' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.revalBlock_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCB.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCI' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.invoke_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCI.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCL' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.revalList_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RCL.at' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.WTAll' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.block_of_lets' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.block_of_raise' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.ctxLookup._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup_slot._simp_1_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotFree' does not depend on any axioms\n'LexLeanPreservation.Rust.ctxLookup_slot' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_cons_other' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sameIdent_self' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_cons_self' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sameIdent_local' depends on axioms: [propext]\n'LexLeanPreservation.Rust.envRel_bind' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.envRel_extra' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.envRel_ghost' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sameIdent_kind' depends on axioms: [propext]\n'LexLeanPreservation.Rust.envRel_temp' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.listIndex_eq.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.listIndex_eq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.listIndex_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.index_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.inert._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.inert._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_nil.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_raise_head.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcl_raise_head.match_1_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcl_raise_head' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_raise_tail' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.revalArms_le' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.slotFree.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sunfold' depends on axioms: [propext]\n'LexLeanTarget.RustSemantics.eval.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_18' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_20' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.eval.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalArms.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalBlock.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.evalList.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.invoke.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.invoke.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.kindNumber.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.kindNumber.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.lookup.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.lookup.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.lookup.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.sameIdent.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.lookup.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.lookup.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.lookup.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd' does not depend on any axioms\n'LexLeanPreservation.Rust.isTemp._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isTemp.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isTemp' depends on axioms: [propext]\n'LexLeanPreservation.Rust.letsBind.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds._f' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds._f' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind._f' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind' does not depend on any axioms\n'LexLeanPreservation.Rust.tempFresh' does not depend on any axioms\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.foldN.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.flatB._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep.match_7' does not depend on any axioms\n'LexLeanPreservation.Rust.foldStep' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldB' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats._f' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats' does not depend on any axioms\n'LexLeanPreservation.Rust.okBlock' does not depend on any axioms\n'LexLeanPreservation.Rust.partRead._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Kind.casesOn' does not depend on any axioms\n'LexLeanPreservation.Rust.elseCtx.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.elseCtx' does not depend on any axioms\n'LexLeanPreservation.Rust.elseLets.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.elseLets' does not depend on any axioms\n'LexLeanPreservation.Rust.heldOK.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.heldOK' does not depend on any axioms\n'LexLeanPreservation.Rust.negateR._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.negateR._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.negateR.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.negateR' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_5' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_7' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat.match_9' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identBoxed' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal' does not depend on any axioms\n'LexLeanPreservation.Rust.isWild._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.unboxOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotOK.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.directPat._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocal' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armShape.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.armShape' does not depend on any axioms\n'LexLeanPreservation.Rust.otherArms.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.otherArms' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.noClosure.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.noClosure._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh' depends on axioms: [propext]\n'LexLeanPreservation.Rust.covered' depends on axioms: [propext]\n'LexLeanPreservation.Rust.scrut' does not depend on any axioms\n'LexLeanPreservation.Rust.validU.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.validU' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotOK' does not depend on any axioms\n'LexLeanPreservation.Rust.ctorOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identsDistinct.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct._f' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct' does not depend on any axioms\n'LexLeanPreservation.Rust.litOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArg._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.match_6' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArg.match_8' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArg' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArgs._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildTail.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail.match_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildsArm.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildsArm' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.itemOK.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemOK' does not depend on any axioms\n'LexLeanPreservation.Rust.itemTyped.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemTyped.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf' does not depend on any axioms\n'LexLeanPreservation.Rust.itemTyped' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.match_9' does not depend on any axioms\n'LexLeanPreservation.Rust.isFixed._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped' depends on axioms: [propext]\n'LexLeanPreservation.Rust.primTyped' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.litValues._f' does not depend on any axioms\n'LexLeanPreservation.Rust.litValue' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.typedLitAll._f' does not depend on any axioms\n'LexLeanPreservation.Rust.typedLits.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Corr' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.below' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.below.casesOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.brecOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.casesOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Corr.recOn' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.FunOK' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.CrateOK' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.Fresh' does not depend on any axioms\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn' depends on axioms: [propext]\n'LexLeanPreservation.Rust.FunSem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Kind._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd._sizeOf_1' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd._sizeOf_inst' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.casesOn' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ctorElim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.b.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.b.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.e.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.e.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.k.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.k.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.l.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.l.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.m.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.m.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.ops.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Jd.ops.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Jd.recOn' does not depend on any axioms\n'LexLeanPreservation.Rust.KPre.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.KPre' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Kind.ctorElimType' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.ctorIdx' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.ctorElim' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.noConfusionType' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.noConfusion' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.inj' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.nat.injEq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Kind.nat.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.plain.elim' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.plain.sizeOf_spec' does not depend on any axioms\n'LexLeanPreservation.Rust.Kind.recOn' does not depend on any axioms\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesM.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.RealizesM' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Sem.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.viewVal._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Sem' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WT.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTAll.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.foldN._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identsDistinct._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_10' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_11' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_12' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_13' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_14' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_6' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_7' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_8' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.inert.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.litValues' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue._sunfold' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.litValue._unsafe_rec' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues._sunfold' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.paramCtx._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patsBinds' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.patLocals._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patsBinds._sunfold' does not depend on any axioms\n'LexLeanPreservation.Rust.rebuildArgs._sunfold' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs._unsafe_rec' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.typedLitAll' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.typedLits._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_of_inert.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_of_inert.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_of_inert._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_of_inert' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_of_inert._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_of_inert' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Halt.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.LetsRaise.halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.block_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.RC.boxed' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Realizes.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesF.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesFn.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesL.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesM.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RealizesM.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.WTL.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_bytes_inv' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_list_inv' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_string_inv' depends on axioms: [propext]\n'LexLeanPreservation.Rust.takes_of_typed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.allWidth_of.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_eq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_eq._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.tysBeq_eq.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq_eq._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.wt_fixed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.allWidth_of._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.allWidth_of' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.width_of_typed.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.width_of_typed.match_3' does not depend on any axioms\n'LexLeanPreservation.Rust.width_of_typed.match_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.width_of_typed' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.accepts_of_typed' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_apply' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtl_append.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_append._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_append' depends on axioms: [propext]\n'LexLeanPreservation.Rust.apply_result' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.bindPattern_shape.match_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.bindPattern_shape._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.bindPatterns_shape._simp_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindPatterns_shape.match_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.bindPatterns_shape._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.bindPattern_shape' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.bindPatterns_shape' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boolArms_spec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_4' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_6' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._proof_1_7' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.evalArms_find' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.boolArms_eval' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.boxWith.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxWith.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.elemOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.buildShape.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_100' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_102' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_96' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound.match_1_98' depends on axioms: [propext]\n'LexLeanPreservation.Rust.build_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_function' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.call_result' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.constShape.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.const_sound' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.convert_args.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.convert_args' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_append_fresh' depends on axioms: [propext]\n'LexLeanPreservation.Rust.envRel_fresh' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_not._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_cond.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.itemResult.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.eval_match' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fixedTyped.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_18' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_19' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_20' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_21' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_22' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_23' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_24' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_25' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_26' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_27' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_28' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_29' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_30' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_31' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_32' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_33' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_34' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_35' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_36' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_37' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_38' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_39' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_40' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_41' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_42' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_43' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_44' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_45' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_46' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_47' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_48' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_49' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_50' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_51' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_52' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_53' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_54' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_55' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_56' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_57' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_58' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_59' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_60' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_61' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fixedTyped.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.flatB.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN_sound.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.split_last.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.split_last._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.split_last' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep_spec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcb_nil_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv.match_1_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_nomatch.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcb_cons_nomatch' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_stop' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_cons_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_prefix' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_flat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_read_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_cons_same' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rcb_fold_last' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldStep_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldN_sound._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldN_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldB_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.foldN.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldN.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_append' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_bind._simp_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_bind' depends on axioms: [propext]\n'LexLeanPreservation.Rust.slotFree_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_weaken' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_elseCtx' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_temp._simp_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_temp' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fromStrings_wt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fromStrings_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fromStrings_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.haltL.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.hasWidth_i16' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_i32' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_i64' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_i8' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u16' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u32' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u64' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.hasWidth_u8' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.heldOK.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.heldOK.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.isFixed._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isFixed_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.isSeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isSeq_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.isTemp._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.itemOK.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemOperands_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.itemResult' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.itemResult.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.kpre_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_pred._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_pred.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_pred' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.kpre_else' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.kpre_then' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_of_lets' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_b_rcb' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.k_branch' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_cond_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_isZero_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_lit_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate_halt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_negate_halt.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_nonZero_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_23' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_25' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_27' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_29' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_31' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_33' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_35' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_37' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_39' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_41' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_43' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_45' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_47' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_49' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_51' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not.match_1_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_not_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_not_inv.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_not_inv.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_not_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.k_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_read.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_read' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.kpre_held' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.letsBind.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.letsBind.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.letsOK_nil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.letsOK_shape' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.litValue._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litValue.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_4' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_def' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValue.eq_5' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.litValues.eq_def' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.lit_branch' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.lookup_through._simp_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.lookup_through' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms_spec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.natArms_eval' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.obsL_evalList_zero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.obs_eval_zero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.oneOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.oneOf_halt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.param_env.match_1_1' depends on axioms: [propext]\n'LexLeanTarget.TargetSemantics.bindAll.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.param_env._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.param_env' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.patBinds.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_10' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_6' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_7' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_8' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.patBinds.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.patsBinds.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.primTyped.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_apply_halt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_apply_halt.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_apply_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_call_halt.match_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_call_runtime' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_construct' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct_halt.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct_halt.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_construct_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_isZero.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_isZero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_lit.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_lit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue._simp_10' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue._simp_9' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue.match_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rc_pair.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_pair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_litValues.match_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rcl_litValues._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_litValue' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_nonZero.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_nonZero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_negate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_pair_halt_left' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_pair_halt_right' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed.match_1_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_succeed' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_widen.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rc_widen' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_widen_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_boxWith.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_11' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_7' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_cons_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_boxWith' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_litValues' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_nil_inv' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_single_halt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_single_halt.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.rcl_single_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_widen_one' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.readOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.readOf.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizesL_halt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizesL_haltL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizes_halt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizesM_overflow' depends on axioms: [propext]\n'LexLeanPreservation.Rust.realizes_oneOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.runItem_eq' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.runItem_succ' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_applyGen.match_1_13' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen.match_1_15' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen.match_1_28' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_applyGen' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_apply' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_applyF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_bOfE' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_build.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_build.match_1_99' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_build' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildConst' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildPair.match_1_101' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_97' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair.match_1_99' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildPair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildSucc.match_1_129' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSucc.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSucc' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_buildSuccF.match_1_101' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSuccF.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_buildSuccF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_callF.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callF.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_callOps.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callOps.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_callOps' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_closure.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_closure.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.wtl_length.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_length._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_length' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_closure' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_cond.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_cond.match_1_11' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_cond' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_condId.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_condId' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_eOfB' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_eOfBFold' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_eOfBNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_fOfB' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_unit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_fUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kHeld' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kLit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kId' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kIf' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kNeg' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_kSame' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_lCons.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons.match_1_17' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons.match_1_19' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_lCons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_lNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_letBind.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letBind.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letBind' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_letWild.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letWild.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_letWild' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBool._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchHolder.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchHolder.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchHolder' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBool' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBoolId._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchBoolId.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchBoolId' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchNat._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchNat' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchUnit._proof_1_386' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchUnit.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchUnit.match_1_387' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsCons._simp_1_13' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsCons.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons.match_1_14' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons.match_1_16' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsCons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsOfL' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_29' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit.match_1_31' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_opsUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_ops_box.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_ops_box.match_1_3' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_ops_box.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_ops_box' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_part._sparseCasesOn_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_part.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_part.match_1_14' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_part.match_1_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_part' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_part._sparseCasesOn_1_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_prim.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_prim.match_1_38' does not depend on any axioms\n'LexLeanPreservation.Rust.wtAll_iff.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wtAll_iff._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.wtAll_iff' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_def' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_append' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_bitwise' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_checked' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_convert' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_decode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_encode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_fixedTyped.match_1_67' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_format' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_index' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_join' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_parse' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_shift' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.slice_eq' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_slice' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_split' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_unary' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtl_one.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_one' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_three.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_three' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_two.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_two' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_fixedTyped' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wt_prim' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_prim' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_primF.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF.match_1_5' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF.match_1_7' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF.match_1_9' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primF' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_primWiden.match_1_108' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_110' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_112' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_114' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_116' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_primWiden' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.typedLitAll_wt.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit_wt.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits_wt.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits_wt._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_var' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_varUnit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_zero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.shapeOf.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_10' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_11' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_12' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_13' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_14' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_5' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_6' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_7' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_8' does not depend on any axioms\n'LexLeanPreservation.Rust.shapeOf.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.tempFresh.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_12.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_13.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_14.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLit.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLitAll_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.typedLits_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tysBeq_eq' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.allWidth.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.allWidth.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.allWidth.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_100' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_101' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_102' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_103' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_104' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_105' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_106' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_107' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_108' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_109' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_110' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_111' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_112' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_113' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_114' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_115' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_116' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_117' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_118' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_119' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_120' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_121' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_122' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_123' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_124' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_125' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_126' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_127' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_128' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_129' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_130' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_131' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_132' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_133' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_134' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_135' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_136' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_137' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_138' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_139' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_140' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_141' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_142' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_143' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_144' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_145' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_146' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_147' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_148' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_149' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_150' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_151' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_152' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_153' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_154' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_155' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_156' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_157' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_158' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_159' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_160' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_161' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_162' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_163' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_164' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_165' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_166' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_167' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_168' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_169' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_170' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_171' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_172' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_173' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_174' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_175' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_176' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_177' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_178' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_179' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_180' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_181' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_182' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_183' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_184' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_185' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_186' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_51' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_52' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_53' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_54' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_55' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_56' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_57' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_58' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_59' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_60' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_61' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_62' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_63' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_64' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_65' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_66' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_67' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_68' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_69' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_70' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_71' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_72' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_73' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_74' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_75' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_76' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_77' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_78' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_79' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_80' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_81' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_82' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_83' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_84' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_85' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_86' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_87' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_88' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_89' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_90' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_91' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_92' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_93' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_94' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_95' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_96' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_97' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_98' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_99' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPattern.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.bindPatterns.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.dispatched.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_100' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_101' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_102' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_103' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_104' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_105' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_106' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_107' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_108' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_109' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_110' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_111' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_112' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_113' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_114' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_115' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_116' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_117' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_118' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_119' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_120' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_121' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_122' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_123' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_124' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_125' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_126' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_127' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_128' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_129' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_130' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_131' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_132' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_133' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_134' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_135' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_136' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_137' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_138' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_139' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_140' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_141' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_142' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_143' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_144' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_145' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_146' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_147' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_148' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_149' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_150' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_151' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_152' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_153' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_154' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_155' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_156' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_157' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_158' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_159' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_160' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_161' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_162' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_163' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_164' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_165' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_166' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_167' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_168' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_169' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_170' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_171' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_172' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_173' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_174' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_175' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_176' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_177' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_178' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_179' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_180' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_181' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_182' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_183' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_184' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_51' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_52' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_53' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_54' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_55' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_56' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_57' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_58' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_59' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_60' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_61' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_62' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_63' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_64' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_65' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_66' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_67' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_68' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_69' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_70' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_71' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_72' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_73' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_74' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_75' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_76' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_77' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_78' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_79' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_80' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_81' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_82' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_83' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_84' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_85' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_86' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_87' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_88' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_89' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_90' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_91' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_92' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_93' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_94' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_95' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_96' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_97' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_98' does not depend on any axioms\n'LexLeanTarget.RustSemantics.hasWidth.eq_99' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isBytes.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isList.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.isString.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemAccepts.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemAccepts.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemFallible.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemHeap.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemOperands.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemPrimitive.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemTakes.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_28' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_29' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_30' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_31' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_32' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_33' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_34' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_35' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_36' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_37' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_38' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_39' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_40' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_41' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_42' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_43' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_44' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_45' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_46' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_47' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_48' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_49' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_50' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.itemWidth.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.literal.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_10' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_11' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_12' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_13' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_14' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_15' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_3' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_4' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_5' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_6' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_7' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_8' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.literal.eq_9' depends on axioms: [propext, Quot.sound]\n'LexLeanTarget.RustSemantics.propagated.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_10' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_11' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_12' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_13' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_14' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_15' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_16' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_17' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_18' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_19' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_20' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_21' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_22' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_23' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_24' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_25' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_26' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_27' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_5' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_6' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_7' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_8' does not depend on any axioms\n'LexLeanTarget.RustSemantics.propagated.eq_9' does not depend on any axioms\n'LexLeanTarget.RustSemantics.returned.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.bindAll.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_10' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_11' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_12' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_13' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_14' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_15' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_16' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_17' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_18' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_19' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_20' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_21' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_22' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_23' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_24' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_25' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_26' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_27' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_28' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_29' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_30' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_31' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_32' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_33' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_34' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_35' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_36' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_37' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_38' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_39' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_40' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_41' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_42' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_43' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_44' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_45' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_46' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_47' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_48' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_49' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_5' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_50' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_51' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_52' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_53' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_54' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_55' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_56' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_57' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_58' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_59' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_6' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_60' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_61' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_62' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_63' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_64' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_65' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_66' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_67' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_68' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_69' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_7' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_70' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_71' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_72' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_73' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_74' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_75' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_76' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_77' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_78' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_79' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_8' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_80' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_81' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_82' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_83' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.construct.eq_9' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_10' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_100' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_101' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_102' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_103' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_104' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_105' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_106' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_107' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_108' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_109' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_11' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_110' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_111' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_112' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_113' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_114' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_115' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_116' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_117' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_118' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_119' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_12' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_120' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_121' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_122' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_123' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_124' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_125' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_126' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_127' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_128' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_129' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_13' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_130' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_131' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_132' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_133' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_134' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_135' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_136' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_137' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_138' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_139' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_14' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_140' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_141' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_142' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_143' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_144' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_145' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_146' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_147' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_148' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_149' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_15' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_150' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_151' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_152' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_153' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_154' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_155' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_156' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_157' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_158' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_159' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_16' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_160' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_161' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_162' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_163' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_164' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_165' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_166' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_167' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_168' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_169' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_17' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_170' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_171' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_172' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_173' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_174' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_175' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_176' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_177' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_178' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_179' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_18' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_180' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_181' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_182' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_183' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_184' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_185' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_186' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_187' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_188' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_189' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_19' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_190' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_191' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_192' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_193' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_194' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_195' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_196' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_197' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_198' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_199' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_20' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_200' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_201' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_202' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_203' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_204' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_205' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_206' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_207' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_208' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_209' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_21' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_210' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_211' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_212' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_213' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_214' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_215' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_216' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_217' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_218' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_219' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_22' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_220' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_221' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_222' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_223' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_224' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_225' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_226' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_227' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_228' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_229' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_23' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_230' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_231' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_232' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_233' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_234' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_235' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_236' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_237' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_238' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_239' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_24' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_240' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_241' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_242' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_243' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_244' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_245' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_246' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_247' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_248' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_249' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_25' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_250' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_251' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_252' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_253' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_254' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_255' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_256' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_257' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_258' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_259' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_26' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_260' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_261' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_262' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_263' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_264' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_265' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_266' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_267' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_268' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_269' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_27' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_270' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_271' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_272' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_273' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_274' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_275' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_276' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_277' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_278' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_279' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_28' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_280' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_281' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_282' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_283' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_284' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_285' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_286' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_287' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_288' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_289' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_29' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_290' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_291' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_292' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_293' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_294' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_295' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_296' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_297' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_298' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_299' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_30' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_300' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_301' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_302' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_303' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_304' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_305' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_306' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_307' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_308' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_309' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_31' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_310' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_311' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_312' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_313' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_314' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_315' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_316' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_317' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_318' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_319' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_32' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_320' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_321' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_322' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_323' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_324' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_325' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_326' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_327' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_328' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_329' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_33' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_330' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_331' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_332' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_333' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_334' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_335' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_336' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_337' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_338' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_339' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_34' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_340' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_341' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_342' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_343' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_344' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_345' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_346' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_347' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_348' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_349' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_35' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_350' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_351' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_352' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_353' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_354' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_355' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_356' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_357' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_358' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_359' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_36' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_360' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_361' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_362' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_363' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_364' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_365' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_366' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_367' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_368' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_369' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_37' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_370' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_38' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_39' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_40' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_41' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_42' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_43' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_44' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_45' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_46' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_47' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_48' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_49' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_5' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_50' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_51' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_52' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_53' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_54' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_55' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_56' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_57' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_58' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_59' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_6' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_60' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_61' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_62' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_63' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_64' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_65' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_66' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_67' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_68' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_69' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_7' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_70' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_71' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_72' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_73' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_74' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_75' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_76' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_77' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_78' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_79' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_8' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_80' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_81' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_82' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_83' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_84' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_85' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_86' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_87' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_88' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_89' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_9' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_90' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_91' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_92' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_93' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_94' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_95' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_96' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_97' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_98' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.destruct.eq_99' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromStrings.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromStrings.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.fromStrings.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.primitive.eq_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_10' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1000' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1001' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1002' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1003' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1004' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1005' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1006' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1007' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1008' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1009' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1010' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1011' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1012' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1013' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1014' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1015' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1016' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1017' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1018' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1019' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1020' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1021' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1022' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1023' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1024' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1025' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1026' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1027' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1028' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1029' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1030' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1031' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1032' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1033' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1034' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1035' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1036' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1037' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1038' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1039' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1040' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1041' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1042' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1043' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1044' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1045' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1046' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1047' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1048' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1049' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1050' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1051' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1052' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1053' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1054' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1055' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1056' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1057' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1058' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1059' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1060' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1061' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1062' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1063' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1064' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1065' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1066' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1067' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1068' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1069' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1070' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1071' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1072' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1073' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1074' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1075' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1076' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1077' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1078' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1079' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1080' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1081' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1082' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1083' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1084' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1085' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1086' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1087' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1088' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1089' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1090' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1091' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1092' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1093' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1094' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1095' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1096' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1097' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1098' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1099' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_11' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_12' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_13' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_14' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1426' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1427' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1428' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1429' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1430' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1431' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1432' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1433' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1434' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1435' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1436' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1437' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1438' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1439' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1440' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1441' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1442' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1443' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1444' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1445' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1446' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1447' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1448' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1449' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1450' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1451' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1452' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1453' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1454' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1455' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1456' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1457' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1458' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1459' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1460' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1461' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1462' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1463' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1464' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1465' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1466' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1467' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1468' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1469' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1470' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1471' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1472' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1473' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1474' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1475' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1476' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1477' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1478' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1479' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1480' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1481' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1482' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1483' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1484' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1485' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1486' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1487' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1488' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1489' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1490' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1491' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1492' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1493' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1494' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1495' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1496' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1497' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1498' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1499' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_15' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1500' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1501' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1502' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1503' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1504' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1505' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1506' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1507' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1508' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1509' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1510' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1511' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1512' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1513' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1514' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1515' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1516' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1517' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1518' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1519' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1520' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1521' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1522' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1523' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1524' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1525' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1526' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1527' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1528' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1529' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1530' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1531' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1532' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1533' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1534' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1535' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1536' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1537' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1538' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1539' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1540' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1541' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1542' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1543' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1544' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1545' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1546' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1547' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1548' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1549' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1550' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1551' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1552' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1553' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1554' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1555' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1556' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1557' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1558' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1559' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1560' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1561' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1562' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1563' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1564' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1565' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1566' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1567' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1568' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1569' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1570' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1571' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1572' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1573' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1574' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1575' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1576' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1577' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1578' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1579' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1580' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1581' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1582' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1583' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1584' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1585' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1586' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1587' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1588' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1589' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1590' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1591' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1592' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1593' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1594' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1595' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1596' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1597' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1598' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1599' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_16' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1600' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1601' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1602' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1603' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1604' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1605' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1606' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1607' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1608' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1609' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1610' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1611' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1612' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1613' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1614' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1615' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1616' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1617' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1618' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1619' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1620' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1621' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1622' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1623' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1624' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1625' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1626' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1627' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1628' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1629' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1630' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1631' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1632' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1633' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1634' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1635' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1636' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1637' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1638' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1639' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1640' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1641' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1642' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1643' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1644' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1645' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1646' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1647' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1648' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1649' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1650' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1651' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1652' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1653' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1654' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1655' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1656' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1657' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1658' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1659' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1660' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1661' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1662' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1663' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1664' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1665' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1666' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1667' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1668' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1669' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1670' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1671' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1672' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1673' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1674' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1675' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1676' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1677' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1678' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1679' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1680' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1681' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1682' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1683' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1684' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1685' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1686' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1687' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1688' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1689' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1690' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1691' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1692' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1693' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1694' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1695' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1696' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1697' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1698' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1699' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_17' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1700' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1701' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1702' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1703' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1704' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1705' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1706' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1707' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1708' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1709' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1710' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1711' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1712' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1713' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1714' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1715' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1716' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1717' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1718' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1719' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1720' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1721' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1722' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1723' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1724' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1725' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1726' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1727' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1728' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1729' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1730' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1731' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1732' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1733' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1734' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1735' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1736' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1737' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1738' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1739' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1740' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1741' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1742' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1743' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1744' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1745' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1746' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1747' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1748' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1749' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1750' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1751' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1752' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1753' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1754' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1755' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1756' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1757' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1758' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1759' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1760' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1761' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1762' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1763' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1764' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1765' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1766' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1767' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1768' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1769' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1770' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1771' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1772' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1773' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1774' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1775' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1776' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1777' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1778' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1779' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1780' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1781' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1782' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1783' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1784' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1785' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1786' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1787' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1788' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1789' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1790' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1791' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1792' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1793' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1794' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1795' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1796' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1797' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1798' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1799' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_18' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1800' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1801' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1802' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1803' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1804' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1805' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1806' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1807' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1808' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1809' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1810' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1811' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1812' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1813' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1814' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1815' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1816' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1817' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1818' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1819' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1820' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1821' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1822' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1823' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1824' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1825' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1826' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1827' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1828' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1829' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1830' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1831' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1832' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1833' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1834' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1835' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1836' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1837' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1838' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1839' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1840' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1841' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1842' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1843' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1844' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1845' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1846' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1847' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1848' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1849' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1850' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1851' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1852' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1853' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1854' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1855' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1856' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1857' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1858' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1859' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1860' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1861' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1862' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1863' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1864' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1865' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1866' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1867' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1868' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1869' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1870' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1871' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1872' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1873' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1874' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1875' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1876' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1877' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1878' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1879' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1880' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1881' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1882' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1883' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1884' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1885' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1886' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1887' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1888' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1889' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1890' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1891' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1892' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1893' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1894' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1895' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1896' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1897' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1898' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1899' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_19' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1900' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1901' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1902' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1903' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1904' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1905' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1906' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1907' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1908' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1909' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1910' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1911' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1912' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1913' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1914' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1915' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1916' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1917' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1918' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1919' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1920' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1921' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1922' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1923' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1924' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1925' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1926' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1927' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1928' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1929' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1930' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1931' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1932' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1933' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1934' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1935' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1936' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1937' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1938' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1939' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1940' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1941' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1942' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1943' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1944' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1945' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1946' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1947' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1948' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1949' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1950' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1951' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1952' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1953' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1954' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1955' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1956' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1957' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1958' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1959' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1960' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1961' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1962' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1963' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1964' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1965' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1966' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1967' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1968' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1969' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1970' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1971' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1972' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1973' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1974' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1975' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1976' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1977' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1978' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1979' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1980' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1981' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1982' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1983' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1984' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1985' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1986' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1987' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1988' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1989' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1990' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1991' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1992' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1993' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1994' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1995' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1996' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1997' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1998' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_1999' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_20' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2000' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2001' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2002' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2003' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2004' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2005' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2006' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2007' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2008' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2009' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2010' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2011' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2012' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2013' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2014' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2015' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2016' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2017' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2018' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2019' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2020' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2021' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2022' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2023' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2024' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2025' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2026' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2027' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2028' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2029' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2030' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2031' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2032' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2033' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2034' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2035' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2036' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2037' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2038' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2039' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2040' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2041' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2042' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2043' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2044' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2045' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2046' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2047' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2048' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2049' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2050' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2051' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2052' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2053' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2054' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2055' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2056' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2057' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2058' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2059' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2060' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2061' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2062' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2063' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2064' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2065' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2066' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2067' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2068' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2069' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2070' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2071' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2072' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2073' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2074' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2075' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2076' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2077' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2078' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2079' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2080' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2081' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2082' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2083' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2084' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2085' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2086' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2087' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2088' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2089' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2090' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2091' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2092' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2093' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2094' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2095' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2096' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2097' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2098' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2099' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_21' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_22' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_23' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_24' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2426' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2427' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2428' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2429' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2430' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2431' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2432' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2433' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2434' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2435' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2436' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2437' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2438' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2439' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2440' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2441' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2442' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2443' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2444' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2445' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2446' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2447' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2448' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2449' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2450' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2451' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2452' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2453' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2454' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2455' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2456' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2457' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2458' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2459' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2460' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2461' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2462' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2463' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2464' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2465' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2466' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2467' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2468' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2469' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2470' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2471' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2472' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2473' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2474' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2475' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2476' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2477' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2478' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2479' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2480' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2481' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2482' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2483' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2484' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2485' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2486' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2487' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2488' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2489' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2490' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2491' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2492' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2493' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2494' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2495' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2496' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2497' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2498' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2499' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_25' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2500' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2501' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2502' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2503' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2504' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2505' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2506' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2507' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2508' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2509' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2510' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2511' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2512' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2513' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2514' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2515' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2516' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2517' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2518' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2519' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2520' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2521' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2522' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2523' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2524' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2525' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2526' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2527' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2528' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2529' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2530' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2531' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2532' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2533' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2534' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2535' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2536' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2537' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2538' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2539' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2540' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2541' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2542' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2543' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2544' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2545' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2546' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2547' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2548' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2549' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2550' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2551' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2552' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2553' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2554' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2555' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2556' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2557' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2558' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2559' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2560' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2561' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2562' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2563' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2564' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2565' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2566' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2567' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2568' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2569' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2570' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2571' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2572' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2573' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2574' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2575' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2576' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2577' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2578' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2579' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2580' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2581' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2582' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2583' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2584' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2585' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2586' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2587' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2588' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2589' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2590' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2591' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2592' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2593' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2594' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2595' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2596' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2597' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2598' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2599' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_26' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2600' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2601' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2602' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2603' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2604' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2605' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2606' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2607' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2608' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2609' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2610' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2611' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2612' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2613' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2614' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2615' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2616' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2617' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2618' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2619' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2620' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2621' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2622' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2623' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2624' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2625' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2626' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2627' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2628' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2629' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2630' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2631' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2632' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2633' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2634' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2635' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2636' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2637' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2638' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2639' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2640' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2641' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2642' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2643' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2644' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2645' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2646' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2647' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2648' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2649' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2650' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2651' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2652' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2653' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2654' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2655' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2656' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2657' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2658' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2659' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2660' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2661' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2662' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2663' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2664' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2665' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2666' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2667' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2668' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2669' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2670' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2671' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2672' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2673' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2674' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2675' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2676' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2677' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2678' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2679' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2680' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2681' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2682' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2683' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2684' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2685' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2686' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2687' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2688' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2689' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2690' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2691' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2692' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2693' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2694' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2695' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2696' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2697' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2698' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2699' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_27' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2700' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2701' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2702' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2703' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2704' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2705' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2706' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2707' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2708' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2709' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2710' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2711' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2712' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2713' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2714' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2715' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2716' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2717' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2718' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2719' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2720' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2721' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2722' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2723' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2724' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2725' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2726' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2727' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2728' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2729' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2730' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2731' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2732' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2733' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2734' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2735' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2736' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2737' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2738' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2739' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2740' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2741' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2742' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2743' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2744' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2745' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2746' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2747' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2748' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2749' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2750' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2751' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2752' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2753' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2754' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2755' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2756' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2757' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2758' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2759' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2760' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2761' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2762' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2763' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2764' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2765' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2766' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2767' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2768' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2769' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2770' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2771' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2772' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2773' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2774' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2775' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2776' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2777' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2778' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2779' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2780' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2781' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2782' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2783' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2784' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2785' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2786' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2787' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2788' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2789' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2790' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2791' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2792' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2793' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2794' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2795' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2796' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2797' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2798' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2799' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_28' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2800' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2801' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2802' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2803' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2804' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2805' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2806' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2807' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2808' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2809' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2810' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2811' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2812' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2813' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2814' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2815' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2816' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2817' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2818' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2819' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2820' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2821' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2822' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2823' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2824' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2825' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2826' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2827' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2828' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2829' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2830' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2831' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2832' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2833' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2834' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2835' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2836' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2837' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2838' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2839' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2840' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2841' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2842' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2843' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2844' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2845' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2846' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2847' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2848' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2849' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2850' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2851' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2852' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2853' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2854' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2855' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2856' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2857' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2858' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2859' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2860' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2861' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2862' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2863' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2864' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2865' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2866' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2867' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2868' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2869' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2870' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2871' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2872' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2873' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2874' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2875' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2876' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2877' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2878' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2879' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2880' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2881' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2882' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2883' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2884' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2885' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2886' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2887' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2888' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2889' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2890' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2891' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2892' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2893' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2894' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2895' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2896' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2897' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2898' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2899' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_29' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2900' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2901' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2902' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2903' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2904' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2905' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2906' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2907' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2908' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2909' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2910' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2911' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2912' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2913' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2914' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2915' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2916' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2917' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2918' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2919' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2920' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2921' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2922' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2923' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2924' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2925' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2926' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2927' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2928' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2929' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2930' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2931' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2932' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2933' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2934' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2935' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2936' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2937' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2938' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2939' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2940' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2941' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2942' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2943' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2944' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2945' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2946' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2947' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2948' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2949' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2950' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2951' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2952' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2953' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2954' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2955' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2956' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2957' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2958' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2959' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2960' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2961' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2962' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2963' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2964' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2965' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2966' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2967' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2968' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2969' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2970' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2971' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2972' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2973' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2974' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2975' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2976' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2977' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2978' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2979' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2980' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2981' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2982' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2983' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2984' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2985' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2986' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2987' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2988' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2989' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2990' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2991' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2992' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2993' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2994' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2995' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2996' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2997' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2998' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_2999' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_30' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3000' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3001' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3002' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3003' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3004' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3005' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3006' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3007' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3008' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3009' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3010' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3011' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3012' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3013' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3014' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3015' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3016' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3017' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3018' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3019' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3020' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3021' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3022' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3023' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3024' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3025' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3026' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3027' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3028' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3029' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3030' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3031' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3032' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3033' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3034' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3035' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3036' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3037' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3038' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3039' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3040' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3041' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3042' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3043' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3044' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3045' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3046' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3047' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3048' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3049' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3050' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3051' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3052' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3053' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3054' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3055' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3056' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3057' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3058' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3059' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3060' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3061' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3062' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3063' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3064' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3065' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3066' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3067' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3068' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3069' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3070' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3071' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3072' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3073' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3074' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3075' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3076' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3077' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3078' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3079' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3080' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3081' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3082' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3083' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3084' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3085' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3086' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3087' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3088' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3089' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3090' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3091' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3092' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3093' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3094' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3095' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3096' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3097' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3098' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3099' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_31' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3100' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3101' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3102' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3103' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3104' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3105' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3106' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3107' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3108' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3109' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3110' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3111' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3112' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3113' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3114' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3115' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3116' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3117' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3118' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3119' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3120' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3121' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3122' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3123' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3124' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3125' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3126' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3127' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3128' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3129' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3130' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3131' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3132' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3133' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3134' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3135' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3136' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3137' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3138' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3139' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3140' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3141' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3142' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3143' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3144' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3145' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3146' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3147' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3148' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3149' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3150' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3151' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3152' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3153' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3154' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3155' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3156' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3157' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3158' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3159' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3160' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3161' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3162' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3163' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3164' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3165' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3166' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3167' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3168' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3169' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3170' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3171' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3172' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3173' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3174' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3175' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3176' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3177' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3178' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3179' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3180' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3181' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3182' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3183' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3184' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3185' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3186' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3187' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3188' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3189' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3190' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3191' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3192' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3193' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3194' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3195' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3196' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3197' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3198' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3199' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_32' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3200' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3201' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3202' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3203' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3204' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3205' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3206' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3207' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3208' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3209' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3210' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3211' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3212' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3213' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3214' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3215' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3216' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3217' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3218' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3219' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3220' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3221' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3222' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3223' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3224' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3225' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3226' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3227' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3228' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3229' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3230' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3231' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3232' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3233' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3234' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3235' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3236' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3237' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3238' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3239' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3240' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3241' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3242' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3243' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3244' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3245' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3246' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3247' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3248' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3249' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3250' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3251' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3252' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3253' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3254' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3255' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3256' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3257' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3258' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3259' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3260' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3261' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3262' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3263' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3264' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3265' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3266' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3267' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3268' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3269' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3270' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3271' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3272' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3273' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3274' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3275' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3276' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3277' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3278' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3279' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3280' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3281' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3282' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3283' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3284' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3285' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3286' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3287' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3288' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3289' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3290' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3291' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3292' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3293' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3294' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3295' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3296' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3297' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3298' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3299' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_33' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3300' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3301' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3302' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3303' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3304' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3305' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3306' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3307' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3308' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3309' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3310' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3311' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3312' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3313' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3314' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3315' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3316' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3317' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3318' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3319' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3320' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3321' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3322' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3323' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3324' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3325' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3326' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3327' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3328' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3329' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3330' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3331' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3332' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3333' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_334' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_335' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_336' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_337' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_338' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_339' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_34' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_340' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_341' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_342' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_3425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_343' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_344' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_345' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_346' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_347' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_348' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_349' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_35' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_350' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_351' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_352' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_353' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_354' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_355' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_356' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_357' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_358' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_359' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_36' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_360' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_361' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_362' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_363' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_364' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_365' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_366' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_367' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_368' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_369' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_37' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_370' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_371' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_372' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_373' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_374' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_375' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_376' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_377' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_378' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_379' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_38' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_380' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_381' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_382' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_383' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_384' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_385' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_386' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_387' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_388' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_389' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_39' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_390' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_391' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_392' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_393' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_394' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_395' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_396' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_397' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_398' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_399' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_4' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_40' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_400' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_401' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_402' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_403' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_404' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_405' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_406' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_407' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_408' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_409' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_41' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_410' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_411' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_412' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_413' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_414' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_415' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_416' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_417' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_418' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_419' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_42' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_420' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_421' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_422' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_423' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_424' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_425' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_426' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_427' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_428' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_429' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_43' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_430' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_431' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_432' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_433' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_434' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_435' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_436' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_437' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_438' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_439' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_44' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_440' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_441' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_442' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_443' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_444' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_445' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_446' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_447' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_448' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_449' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_45' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_450' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_451' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_452' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_453' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_454' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_455' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_456' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_457' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_458' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_459' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_46' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_460' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_461' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_462' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_463' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_464' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_465' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_466' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_467' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_468' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_469' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_47' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_470' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_471' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_472' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_473' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_474' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_475' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_476' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_477' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_478' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_479' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_48' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_480' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_481' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_482' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_483' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_484' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_485' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_486' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_487' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_488' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_489' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_49' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_490' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_491' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_492' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_493' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_494' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_495' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_496' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_497' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_498' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_499' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_5' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_50' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_500' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_501' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_502' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_503' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_504' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_505' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_506' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_507' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_508' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_509' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_51' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_510' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_511' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_512' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_513' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_514' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_515' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_516' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_517' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_518' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_519' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_52' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_520' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_521' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_522' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_523' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_524' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_525' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_526' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_527' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_528' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_529' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_53' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_530' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_531' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_532' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_533' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_534' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_535' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_536' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_537' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_538' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_539' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_54' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_540' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_541' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_542' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_543' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_544' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_545' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_546' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_547' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_548' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_549' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_55' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_550' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_551' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_552' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_553' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_554' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_555' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_556' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_557' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_558' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_559' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_56' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_560' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_561' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_562' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_563' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_564' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_565' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_566' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_567' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_568' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_569' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_57' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_570' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_571' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_572' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_573' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_574' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_575' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_576' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_577' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_578' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_579' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_58' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_580' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_581' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_582' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_583' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_584' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_585' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_586' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_587' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_588' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_589' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_59' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_590' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_591' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_592' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_593' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_594' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_595' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_596' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_597' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_598' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_599' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_6' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_60' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_600' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_601' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_602' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_603' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_604' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_605' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_606' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_607' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_608' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_609' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_61' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_610' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_611' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_612' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_613' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_614' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_615' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_616' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_617' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_618' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_619' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_62' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_620' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_621' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_622' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_623' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_624' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_625' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_626' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_627' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_628' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_629' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_63' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_630' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_631' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_632' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_633' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_634' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_635' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_636' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_637' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_638' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_639' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_64' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_640' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_641' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_642' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_643' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_644' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_645' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_646' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_647' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_648' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_649' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_65' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_650' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_651' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_652' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_653' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_654' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_655' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_656' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_657' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_658' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_659' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_66' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_660' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_661' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_662' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_663' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_664' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_665' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_666' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_667' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_668' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_669' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_67' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_670' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_671' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_672' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_673' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_674' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_675' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_676' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_677' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_678' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_679' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_68' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_680' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_681' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_682' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_683' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_684' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_685' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_686' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_687' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_688' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_689' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_69' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_690' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_691' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_692' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_693' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_694' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_695' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_696' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_697' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_698' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_699' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_7' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_70' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_700' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_701' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_702' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_703' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_704' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_705' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_706' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_707' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_708' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_709' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_71' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_710' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_711' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_712' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_713' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_714' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_715' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_716' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_717' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_718' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_719' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_72' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_720' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_721' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_722' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_723' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_724' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_725' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_726' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_727' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_728' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_729' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_73' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_730' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_731' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_732' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_733' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_734' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_735' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_736' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_737' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_738' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_739' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_74' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_740' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_741' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_742' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_743' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_744' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_745' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_746' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_747' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_748' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_749' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_75' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_750' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_751' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_752' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_753' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_754' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_755' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_756' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_757' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_758' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_759' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_76' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_760' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_761' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_762' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_763' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_764' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_765' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_766' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_767' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_768' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_769' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_77' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_770' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_771' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_772' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_773' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_774' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_775' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_776' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_777' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_778' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_779' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_78' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_780' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_781' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_782' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_783' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_784' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_785' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_786' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_787' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_788' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_789' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_79' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_790' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_791' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_792' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_793' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_794' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_795' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_796' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_797' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_798' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_799' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_8' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_80' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_800' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_801' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_802' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_803' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_804' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_805' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_806' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_807' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_808' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_809' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_81' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_810' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_811' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_812' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_813' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_814' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_815' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_816' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_817' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_818' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_819' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_82' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_820' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_821' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_822' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_823' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_824' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_825' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_826' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_827' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_828' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_829' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_83' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_830' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_831' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_832' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_833' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_834' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_835' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_836' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_837' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_838' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_839' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_84' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_840' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_841' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_842' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_843' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_844' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_845' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_846' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_847' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_848' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_849' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_85' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_850' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_851' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_852' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_853' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_854' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_855' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_856' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_857' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_858' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_859' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_86' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_860' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_861' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_862' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_863' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_864' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_865' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_866' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_867' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_868' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_869' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_87' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_870' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_871' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_872' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_873' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_874' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_875' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_876' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_877' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_878' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_879' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_88' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_880' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_881' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_882' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_883' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_884' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_885' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_886' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_887' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_888' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_889' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_89' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_890' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_891' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_892' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_893' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_894' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_895' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_896' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_897' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_898' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_899' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_9' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_90' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_900' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_901' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_902' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_903' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_904' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_905' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_906' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_907' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_908' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_909' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_91' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_910' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_911' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_912' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_913' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_914' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_915' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_916' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_917' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_918' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_919' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_92' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_920' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_921' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_922' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_923' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_924' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_925' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_926' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_927' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_928' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_929' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_93' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_930' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_931' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_932' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_933' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_934' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_935' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_936' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_937' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_938' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_939' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_94' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_940' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_941' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_942' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_943' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_944' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_945' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_946' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_947' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_948' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_949' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_95' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_950' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_951' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_952' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_953' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_954' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_955' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_956' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_957' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_958' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_959' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_96' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_960' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_961' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_962' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_963' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_964' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_965' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_966' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_967' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_968' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_969' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_97' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_970' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_971' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_972' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_973' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_974' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_975' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_976' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_977' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_978' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_979' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_98' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_980' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_981' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_982' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_983' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_984' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_985' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_986' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_987' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_988' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_989' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_99' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_990' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_991' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_992' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_993' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_994' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_995' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_996' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_997' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_998' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.TargetSemantics.primitive.eq_999' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.adtFields.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_12.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_13.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_12.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armOuter.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat_outer' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.boxedOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.boxedOne.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.boxedOne' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bp_entries._simp_1_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.simplePat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bp_entries.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.entriesOf._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bp_entries._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.bp_entries' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.directPat_cons._simp_1_4' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.identBoxed_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identLocal_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf_spec' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_cons' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_len.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_len._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_len' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.directPat_loads._simp_1_27' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_loads._simp_1_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_loads.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none._simp_1_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none._simp_1_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rlookup_append' depends on axioms: [propext]\n'LexLeanPreservation.Rust.same_boxed_boxed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_none._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_boxed_none' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_local_none._simp_1_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_local_none._simp_1_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_local_none.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.same_local_local' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_local_none._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_local_none' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_boxed_local' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rlookup_local_boxed' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rlookup_local_single' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat_loads._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.directPat_loads' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_boxed_some._simp_1_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_some._simp_1_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_some.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_boxed_some._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.entries_boxed_some' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.envRel_locals' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fields_wt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindPatterns_single' depends on axioms: [propext]\n'LexLeanPreservation.Rust.outer_bind' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.paramCtx_length.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_length._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_length' depends on axioms: [propext]\n'LexLeanPreservation.Rust.armPat_sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.bindOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.bindOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOf.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.boxedOne.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.canon.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.covered.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.covered_mem._simp_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.wt_uninh._simp_10' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.covered_mem' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.ctorOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.ctorOf_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.destruct_canon' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq_refl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.destruct_excl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.directPat.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.directPat.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entriesOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_lookup.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_none_of._simp_1_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_none_of.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sameIdent_iff' depends on axioms: [propext]\n'LexLeanPreservation.Rust.entries_none_of._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_none_of' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.identsDistinct.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.entries_lookup._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.entries_lookup' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.eval_field.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.eval_field._sparseCasesOn_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_field.match_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.eval_field' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_3' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_4' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats_none._simp_1_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats_none.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.fieldPats_none._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats_none' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats_some._simp_1_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats_some.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fieldPats_some._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.fieldPats_some' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_partRead' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.tyBeq_unit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.field_out' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.findArm_some.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.findArm_some._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.findArm_some' depends on axioms: [propext]\n'LexLeanPreservation.Rust.findDispatch_some.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.findDispatch_some._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.findDispatch_some' depends on axioms: [propext]\n'LexLeanPreservation.Rust.foldStep._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.fresh_ext' depends on axioms: [propext]\n'LexLeanPreservation.Rust.identBoxed.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identBoxed.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identLocal.eq_2' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.identsDistinct.eq_def' does not depend on any axioms\n'LexLeanPreservation.Rust.isWild._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isWild.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.litOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.loadOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.noClosure.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.okBlock.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.otherArms.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.otherArms_mem._simp_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.otherArms_mem' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.outer_miss' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.outer_view' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_ext.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_ext._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_ext' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_fresh.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_fresh._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.paramCtx_fresh' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.partRead.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocal.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.patLocals.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_matchOn' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_matchOn_halt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_uncons.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rc_uncons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rc_scrut' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rca_hit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rca_miss' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcb_det' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_rebuild.match_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_eq_of_same' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg_rc' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_rebuild._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rcl_rebuild' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.readOf_rc' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.realizesM_value' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildArg.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArg_simple' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_def' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs.eq_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs_simple.match_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs_simple._f' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildArgs_simple' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_14.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuildTail._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuild_rca._simp_1_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.rebuild_rca.match_1_1' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_value._simp_1_21' depends on axioms: [propext]\n'LexLeanPreservation.Rust.single_rebuild' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_value' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_rca._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuild_rca' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rebuildsArm.eq_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.rlookup_nil' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_fieldGen._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_fieldGen.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_fieldGen.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.wtl_get.match_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_get._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_get' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_fieldGen' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_fieldHeld' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_fieldRead' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_mCons._simp_1_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sem_mCons' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_mNil' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchArms._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.tyBeq_refl.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tyBeq_refl._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.tysBeq_refl.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.tysBeq_refl._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.tyBeq_refl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.tysBeq_refl' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.uninh_of_inert.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.uninh_of_inert._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh_of_inert' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_uninh.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_uninh._f' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtl_uninh.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_uninh._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_uninh' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.taken_arm' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchArms' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchPair._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchPair' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchRebuilt._proof_1_3' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sem_matchRebuilt.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchRebuilt.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.sem_matchRebuilt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_10.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_11.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_2.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_3.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_4.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_5.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_6.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_7.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_8.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq._sparseCasesOn_9.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeBeq.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_10' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_11' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_12' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_13' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_14' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_15' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_17' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_6' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_7' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.shapeFields.eq_9' depends on axioms: [propext]\n'LexLeanPreservation.Rust.simplePat.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.unboxOf.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_def' depends on axioms: [propext]\n'LexLeanPreservation.Rust.uninh.eq_5' depends on axioms: [propext]\n'LexLeanPreservation.Rust.validU.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_3' depends on axioms: [propext]\n'LexLeanPreservation.Rust.viewVal.eq_4' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_uninh' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanTarget.RustSemantics.findArm.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findArm.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findArm.eq_def' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_1' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_2' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_3' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_4' does not depend on any axioms\n'LexLeanTarget.RustSemantics.findDispatch.eq_def' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_1' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_2' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_3' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_4' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_5' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_6' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_7' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_8' does not depend on any axioms\n'LexLeanTarget.TargetSemantics.sameOrder.eq_9' does not depend on any axioms\n'LexLeanPreservation.Rust.fl_of' does not depend on any axioms\n'LexLeanPreservation.Rust.fnFallible.eq_1' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of._simp_1_14' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.funSem_of.match_1_10' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_12' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_2' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_4' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_6' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of.match_1_8' does not depend on any axioms\n'LexLeanPreservation.Rust.funSem_of' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.isTemp.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.isTemp.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.item_ne' depends on axioms: [propext]\n'LexLeanPreservation.Rust.kind_ne' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem._sparseCasesOn_1.else_eq' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem.eq_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.plainItem.eq_2' depends on axioms: [propext]\n'LexLeanPreservation.Rust.sound._proof_1_1' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sound._proof_1_2' depends on axioms: [propext, Quot.sound]\n'LexLeanPreservation.Rust.sound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.simulate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.Representable._sparseCasesOn_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Representable.match_1' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Representable._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL.match_1' does not depend on any axioms\n'LexLeanPreservation.Rust.RepresentableL._f' does not depend on any axioms\n'LexLeanPreservation.Rust.Representable' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL' depends on axioms: [propext]\n'LexLeanPreservation.Rust.Representable._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL._unsafe_rec' does not depend on any axioms\n'LexLeanPreservation.Rust.Representable._unsafe_rec' depends on axioms: [propext]\n'LexLeanPreservation.Rust.RepresentableL._sunfold' depends on axioms: [propext]\n'LexLeanPreservation.Rust.compose' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.rel_ne_stuck' depends on axioms: [propext]\n'LexLeanPreservation.Rust.repL_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.repL_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.runItem_abort_infallible' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreservation.Rust.wtAll_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_map.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wtAll_nil' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_map._f' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtAll_map' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_adt' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_bool' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_bytes' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encExcept.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_encExcept' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_list' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encList' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encOption.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_encOption' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encOrdering' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encPair' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_encUnit' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_errorV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i32' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i64' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_i8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_int' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_listEnc' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_nat' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_noneV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_okV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_optEnc.match_1_1' does not depend on any axioms\n'LexLeanPreservation.Rust.wt_someV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_optEnc' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_ordering' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_pairV' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_string' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u16' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u32' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u64' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_u8' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wt_unitValue' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_cons' depends on axioms: [propext]\n'LexLeanPreservation.Rust.wtl_nil' depends on axioms: [propext]\n'LexLeanPreservation.encExcept.eq_1' does not depend on any axioms\n'LexLeanPreservation.encExcept.eq_2' does not depend on any axioms\n'LexLeanPreservation.encOption.eq_1' does not depend on any axioms\n'LexLeanPreservation.encOption.eq_2' does not depend on any axioms\n'LexLeanPreservation.encPair.eq_1' does not depend on any axioms\n'LexLeanPreservation.encUnit.eq_1' does not depend on any axioms\n'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.root' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.Compose.RustCore.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n'LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.Compose.RustStd.root' depends on axioms: [propext,\n Classical.choice,\n Quot.sound]\n-- statement vocabulary\ninductive LexLeanPreservation.Obs : Type\nnumber of parameters: 0\nconstructors:\nLexLeanPreservation.Obs.value : LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs\nLexLeanPreservation.Obs.overflow : LexLeanPreservation.Obs\nLexLeanPreservation.Obs.stuck : LexLeanPreservation.Obs\ndef LexLeanPreservation.Rel : Bool → LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs :=\nfun fits v => bif fits then LexLeanPreservation.Obs.value v else LexLeanPreservation.Obs.overflow\ndef LexLeanPreservation.Conv : LexLeanTarget.TargetSyntax.Program →\n List (Nat × LexLeanTarget.TargetSyntax.Value) → LexLeanTarget.TargetSyntax.Expr → LexLeanPreservation.Obs → Prop :=\nfun p env e o => ∃ n, LexLeanPreservation.obs (LexLeanTarget.TargetSemantics.eval n p env e) = some o\ndef LexLeanPreservation.FunRel : LexLeanTarget.TargetSyntax.Program →\n Nat → List LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs → Prop :=\nfun p f args o =>\n ∃ fn,\n LexLeanRuntime.index p.functions f = some fn ∧\n ∃ env,\n LexLeanTarget.TargetSemantics.bindAll fn.parameters args [] = some env ∧\n LexLeanPreservation.Conv p env fn.body o\ndef LexLeanPreservation.RunConv : LexLeanTarget.TargetSyntax.Program →\n Nat → List LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Obs → Prop :=\nfun p entry args o => ∃ n, LexLeanPreservation.obs (LexLeanTarget.TargetSemantics.run n p entry args) = some o\ndef LexLeanPreservation.Rust.WT : LexLeanTarget.TargetSyntax.Program →\n LexLeanPreservation.Rust.RCrate →\n LexLeanPreservation.Rust.Flags → LexLeanTarget.TargetSyntax.Value → LexLeanTarget.TargetSyntax.Ty → Prop :=\nfun p c A x x_1 =>\n x.brecOn (LexLeanPreservation.Rust.WT._f p c A)\n (fun t f => ⟨LexLeanPreservation.Rust.WTL._f p c A t f, LexLeanPreservation.Rust.WTAll._f p c A t f⟩) x_1\ndef LexLeanPreservation.Rust.WTL : LexLeanTarget.TargetSyntax.Program →\n LexLeanPreservation.Rust.RCrate →\n LexLeanPreservation.Rust.Flags →\n List LexLeanTarget.TargetSyntax.Value → List LexLeanTarget.TargetSyntax.Ty → Prop :=\nfun p c A x x_1 =>\n (LexLeanTarget.TargetSyntax.Value.brecOn_1 x (LexLeanPreservation.Rust.WT._f p c A) fun t f =>\n ⟨LexLeanPreservation.Rust.WTL._f p c A t f, LexLeanPreservation.Rust.WTAll._f p c A t f⟩).1\n x_1\ndef LexLeanPreservation.Rust.fnIdent : Nat → LexLeanPreservation.Rust.RIdent :=\nfun f => LexLeanTarget.RustSyntax.Ident.generated LexLeanTarget.RustSyntax.IdentKind.function f\ndef LexLeanPreservation.Rust.fnFallible : LexLeanPreservation.Rust.RCrate → Nat → Option Bool :=\nfun c f =>\n Option.map (fun fn => LexLeanTarget.RustSemantics.fallibleType fn.snd.fst)\n (LexLeanTarget.RustSemantics.findFunction c.items (LexLeanPreservation.Rust.fnIdent f))\ndef LexLeanPreservation.Rust.RCI : LexLeanPreservation.Rust.RCrate →\n LexLeanPreservation.Rust.RIdent → List LexLeanTarget.TargetSyntax.Value → LexLeanPreservation.Rust.ROut → Prop :=\nfun c f args o =>\n o ≠ LexLeanTarget.RustSemantics.ROutcome.exhausted ∧ ∃ n, LexLeanTarget.RustSemantics.invoke n c f args = o\ndef LexLeanPreservation.Rust.Realizes : Bool → LexLeanPreservation.Obs → LexLeanPreservation.Rust.ROut → Prop :=\nfun fl x x_1 =>\n match x, x_1 with\n | LexLeanPreservation.Obs.value v, LexLeanTarget.RustSemantics.ROutcome.value w => w = v\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.raise => fl = true\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.abort => True\n | x, x_2 => False\ndef LexLeanPreservation.Rust.RealizesFn : Bool → LexLeanPreservation.Obs → LexLeanPreservation.Rust.ROut → Prop :=\nfun fallible x x_1 =>\n match x, x_1 with\n | LexLeanPreservation.Obs.value v, LexLeanTarget.RustSemantics.ROutcome.value w => w = bif fallible then v.ok else v\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.value w =>\n fallible = true ∧ w = LexLeanTarget.TargetSyntax.Value.unit.error\n | LexLeanPreservation.Obs.overflow, LexLeanTarget.RustSemantics.ROutcome.abort => True\n | x, x_2 => False\ndef LexLeanPreservation.Rust.FunSem : LexLeanTarget.TargetSyntax.Program →\n LexLeanPreservation.Rust.RCrate → LexLeanPreservation.Rust.Flags → Nat → Nat → Prop :=\nfun p c A n f =>\n ∀ (fn : LexLeanTarget.TargetSyntax.Function) (args : List LexLeanTarget.TargetSyntax.Value)\n (env : List (Nat × LexLeanTarget.TargetSyntax.Value)) (F : Bool),\n LexLeanRuntime.index p.functions f = some fn →\n LexLeanPreservation.Rust.WTL p c A args fn.types →\n LexLeanTarget.TargetSemantics.bindAll fn.parameters args [] = some env →\n LexLeanPreservation.Rust.fnFallible c f = some F →\n ∀ (o : LexLeanPreservation.Obs),\n LexLeanPreservation.obs (LexLeanTarget.TargetSemantics.eval n p env fn.body) = some o →\n o ≠ LexLeanPreservation.Obs.stuck →\n (∀ (v : LexLeanTarget.TargetSyntax.Value),\n o = LexLeanPreservation.Obs.value v → LexLeanPreservation.Rust.WT p c A v fn.result) ∧\n ∃ ro,\n LexLeanPreservation.Rust.RealizesFn F o ro ∧\n LexLeanPreservation.Rust.RCI c (LexLeanPreservation.Rust.fnIdent f) args ro\ndef LexLeanPreservation.someObs : LexLeanPreservation.Obs → LexLeanPreservation.Obs :=\nfun x =>\n match x with\n | LexLeanPreservation.Obs.value v => LexLeanPreservation.Obs.value v.some\n | LexLeanPreservation.Obs.overflow => LexLeanPreservation.Obs.overflow\n | LexLeanPreservation.Obs.stuck => LexLeanPreservation.Obs.stuck\ndef LexLeanPreservation.Rust.Representable : LexLeanTarget.TargetSyntax.Value → Prop :=\nfun x => x.brecOn LexLeanPreservation.Rust.Representable._f LexLeanPreservation.Rust.RepresentableL._f\ndef LexLeanPreservation.Rust.RepresentableL : List LexLeanTarget.TargetSyntax.Value → Prop :=\nfun x =>\n LexLeanTarget.TargetSyntax.Value.brecOn_1 x LexLeanPreservation.Rust.Representable._f\n LexLeanPreservation.Rust.RepresentableL._f\nLexLeanPreservation.Rust.runItem_abort_infallible : ∀ (profile : LexLeanTarget.RustSyntax.Profile)\n (item : LexLeanTarget.RustSyntax.Item) (values : List LexLeanTarget.TargetSyntax.Value),\n LexLeanTarget.RustSemantics.runItem profile item values = LexLeanTarget.RustSemantics.ROutcome.abort →\n LexLeanTarget.RustSemantics.itemFallible item = false\n","stdout_sha256":"8bf18735a8cc6f266e3d7ed256a0528c9e644e9647174b4b7f960185ae9fd838","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.Compose.RustCore.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.Compose.RustCore.json deleted file mode 100644 index 5538fa21f..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R0/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R0/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.RustCore.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.RustCore.json deleted file mode 100644 index b6fd44824..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R0/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R0/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.json deleted file mode 100644 index 475a988f9..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R0.olean","$STAGING/preserve-src/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R0.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R0","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.Compose.RustCore.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.Compose.RustCore.json deleted file mode 100644 index ee21efa71..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R1/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R1/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.RustCore.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.RustCore.json deleted file mode 100644 index f2c81f745..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R1/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R1/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.json deleted file mode 100644 index a9a8980cc..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R1.olean","$STAGING/preserve-src/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R1.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R1","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.Compose.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.Compose.RustStd.json deleted file mode 100644 index b062de3db..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R2/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R2/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd.json deleted file mode 100644 index 911d98111..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R2/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R2/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.json deleted file mode 100644 index 19e7979ed..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R2.olean","$STAGING/preserve-src/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R2.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R2","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.Compose.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.Compose.RustStd.json deleted file mode 100644 index 9d4861a50..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R3/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R3/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd.json deleted file mode 100644 index 8d7ee6cef..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R3/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R3/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.json deleted file mode 100644 index 56929a1db..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R3.olean","$STAGING/preserve-src/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R3.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R3","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.Compose.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.Compose.RustStd.json deleted file mode 100644 index b8c631709..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R4/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R4/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.RustStd.json deleted file mode 100644 index a613e1da3..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R4/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R4/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.json deleted file mode 100644 index 0e20fff92..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R4.olean","$STAGING/preserve-src/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R4.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R4","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.Compose.RustCore.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.Compose.RustCore.json deleted file mode 100644 index be8ffce28..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.Compose.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R5/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R5/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.RustCore.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.RustCore.json deleted file mode 100644 index 0a6e5bbbb..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.RustCore.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R5/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R5/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.json deleted file mode 100644 index 4564b3911..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R5.olean","$STAGING/preserve-src/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R5.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R5","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.Compose.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.Compose.RustStd.json deleted file mode 100644 index 842ec3d58..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R6/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R6/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd.json deleted file mode 100644 index 1effd9c0d..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R6/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R6/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.json deleted file mode 100644 index 5ca8d31f6..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R6.olean","$STAGING/preserve-src/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R6.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R6","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.Compose.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.Compose.RustStd.json deleted file mode 100644 index f6de1e1cc..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.Compose.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R7/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R7/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.RustStd.json deleted file mode 100644 index 8c04447ef..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.RustStd.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R7/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R7/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.json deleted file mode 100644 index fbc249b95..000000000 --- a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R7.olean","$STAGING/preserve-src/LexLeanPreserve/C6d3e375f76cbc573b09fef98086539e0/R7.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.C6d3e375f76cbc573b09fef98086539e0.R7","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.Compose.RustCore.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.Compose.RustCore.json new file mode 100644 index 000000000..ed788f95a --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R0/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R0/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.RustCore.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.RustCore.json new file mode 100644 index 000000000..28f4dbd78 --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R0/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R0/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.json new file mode 100644 index 000000000..fdecfd4c9 --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R0.olean","$STAGING/preserve-src/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R0.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R0","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.Compose.RustCore.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.Compose.RustCore.json new file mode 100644 index 000000000..801b7e1c0 --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R1/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R1/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore.json new file mode 100644 index 000000000..f34ac0a5e --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R1/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R1/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.json new file mode 100644 index 000000000..04db72590 --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R1.olean","$STAGING/preserve-src/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R1.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R1","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.Compose.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.Compose.RustStd.json new file mode 100644 index 000000000..1c1ddf85a --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R2/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R2/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd.json new file mode 100644 index 000000000..b0b61bd1b --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R2/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R2/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.json new file mode 100644 index 000000000..7613cecd1 --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R2.olean","$STAGING/preserve-src/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R2.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R2","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.Compose.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.Compose.RustStd.json new file mode 100644 index 000000000..3015323d9 --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R3/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R3/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd.json new file mode 100644 index 000000000..82e15b8eb --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R3/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R3/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.json new file mode 100644 index 000000000..10fdd3de5 --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R3.olean","$STAGING/preserve-src/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R3.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R3","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.Compose.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.Compose.RustStd.json new file mode 100644 index 000000000..48915e811 --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R4/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R4/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.RustStd.json new file mode 100644 index 000000000..c00682e0c --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R4/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R4/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.json new file mode 100644 index 000000000..a1126170f --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R4.olean","$STAGING/preserve-src/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R4.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R4","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.Compose.RustCore.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.Compose.RustCore.json new file mode 100644 index 000000000..dc0b71922 --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.Compose.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R5/Compose/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R5/Compose/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.Compose.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore.json new file mode 100644 index 000000000..0ae787dd2 --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R5/RustCore.olean","$STAGING/preserve-src/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R5/RustCore.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.RustCore","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.json new file mode 100644 index 000000000..624c108b9 --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R5.olean","$STAGING/preserve-src/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R5.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R5","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.Compose.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.Compose.RustStd.json new file mode 100644 index 000000000..a08c16ee2 --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R6/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R6/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd.json new file mode 100644 index 000000000..24f6ea4a3 --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R6/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R6/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.json new file mode 100644 index 000000000..e335d54f1 --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R6.olean","$STAGING/preserve-src/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R6.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R6","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.Compose.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.Compose.RustStd.json new file mode 100644 index 000000000..639438155 --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.Compose.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R7/Compose/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R7/Compose/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.Compose.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.RustStd.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.RustStd.json new file mode 100644 index 000000000..665eb79c5 --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.RustStd.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R7/RustStd.olean","$STAGING/preserve-src/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R7/RustStd.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.RustStd","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.json b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.json new file mode 100644 index 000000000..36cd10d43 --- /dev/null +++ b/examples/reasoning/expected/verify/process/preserve/LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/preserve-src","-o","$STAGING/preserve-oleans/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R7.olean","$STAGING/preserve-src/LexLeanPreserve/Cf04b35f2e1794332ed2a5b996f01296f/R7.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanPreserve.Cf04b35f2e1794332ed2a5b996f01296f.R7","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/reasoning/expected/verify/production/compiler-input.json b/examples/reasoning/expected/verify/production/compiler-input.json index 09c7e48f3..d3cf6eb78 100644 --- a/examples/reasoning/expected/verify/production/compiler-input.json +++ b/examples/reasoning/expected/verify/production/compiler-input.json @@ -1 +1 @@ -{"closures":[{"declarations":["Reasoning.Main.doseLevel","Reasoning.Screening.Dose.candidates","Reasoning.Screening.Dose.failure","Reasoning.Screening.Dose.run","Reasoning.Screening.Dose.try","Reasoning.Screening.Dose.verdict","Reasoning.Screening.Dose.verify","Reasoning.Screening.DoseCandidates","Reasoning.Screening.DoseModel","Reasoning.Screening.safeCheck","Reasoning.Screening.shortCheck"],"erased":[],"instances":[{"declaration":"Reasoning.Main.doseLevel","instance":"Reasoning.Main.doseLevel","type_arguments":[]},{"declaration":"Reasoning.Screening.Dose.verdict","instance":"Reasoning.Screening.Dose.verdict","type_arguments":[]},{"declaration":"Reasoning.Screening.Dose.run","instance":"Reasoning.Screening.Dose.run","type_arguments":[]},{"declaration":"Reasoning.Screening.Dose.failure","instance":"Reasoning.Screening.Dose.failure","type_arguments":[]},{"declaration":"Reasoning.Screening.Dose.try","instance":"Reasoning.Screening.Dose.try","type_arguments":[]},{"declaration":"Reasoning.Screening.Dose.candidates","instance":"Reasoning.Screening.Dose.candidates","type_arguments":[]},{"declaration":"Reasoning.Screening.Dose.verify","instance":"Reasoning.Screening.Dose.verify","type_arguments":[]},{"declaration":"Reasoning.Screening.DoseModel","instance":"Reasoning.Screening.DoseModel","type_arguments":[]},{"declaration":"Reasoning.Screening.shortCheck","instance":"Reasoning.Screening.shortCheck","type_arguments":[]},{"declaration":"Reasoning.Screening.safeCheck","instance":"Reasoning.Screening.safeCheck","type_arguments":[]},{"declaration":"Reasoning.Screening.DoseCandidates","instance":"Reasoning.Screening.DoseCandidates","type_arguments":[]}],"internal_erased":[],"root":"Reasoning.Main.doseLevel","runtime":["Reasoning.Screening.LexLeanCollections.listFold","Reasoning.Screening.LexLeanRuntime.instLengthableList","Reasoning.Screening.LexLeanRuntime.length","Reasoning.Screening.LexLeanRuntime.subtract"]},{"declarations":["Reasoning.Clinic.Escalate.apply","Reasoning.Clinic.Escalate.conclusion","Reasoning.Clinic.Escalate.guard","Reasoning.Clinic.Fever.apply","Reasoning.Clinic.Fever.conclusion","Reasoning.Clinic.Fever.guard","Reasoning.Clinic.Leukocytosis.apply","Reasoning.Clinic.Leukocytosis.conclusion","Reasoning.Clinic.Leukocytosis.guard","Reasoning.Clinic.Sepsis.apply","Reasoning.Clinic.Sepsis.conclusion","Reasoning.Clinic.Sepsis.guard","Reasoning.Clinic.Shock.apply","Reasoning.Clinic.Shock.conclusion","Reasoning.Clinic.Shock.guard","Reasoning.Clinic.Sirs.apply","Reasoning.Clinic.Sirs.conclusion","Reasoning.Clinic.Sirs.guard","Reasoning.Clinic.Tachycardia.apply","Reasoning.Clinic.Tachycardia.conclusion","Reasoning.Clinic.Tachycardia.guard","Reasoning.Clinic.Tachypnea.apply","Reasoning.Clinic.Tachypnea.conclusion","Reasoning.Clinic.Tachypnea.guard","Reasoning.Clinic.Triage.accept","Reasoning.Clinic.Triage.conclude","Reasoning.Clinic.Triage.extract","Reasoning.Clinic.Triage.fire","Reasoning.Clinic.Triage.next","Reasoning.Clinic.Triage.observe","Reasoning.Clinic.Triage.saturate","Reasoning.Clinic.Triage.select","Reasoning.Clinic.Triage.verdict","Reasoning.Clinic.feverish","Reasoning.Clinic.hypotensive","Reasoning.Clinic.leukocytic","Reasoning.Clinic.recommendationCheck","Reasoning.Clinic.tachycardic","Reasoning.Clinic.tachypneic","Reasoning.Main.GatewayModel","Reasoning.Main.GatewayTriage","Reasoning.Main.gatewayLevel"],"erased":[],"instances":[{"declaration":"Reasoning.Main.gatewayLevel","instance":"Reasoning.Main.gatewayLevel","type_arguments":[]},{"declaration":"Reasoning.Main.GatewayModel","instance":"Reasoning.Main.GatewayModel","type_arguments":[]},{"declaration":"Reasoning.Main.GatewayTriage","instance":"Reasoning.Main.GatewayTriage","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.verdict","instance":"Reasoning.Clinic.Triage.verdict","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.saturate","instance":"Reasoning.Clinic.Triage.saturate","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.conclude","instance":"Reasoning.Clinic.Triage.conclude","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.next","instance":"Reasoning.Clinic.Triage.next","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.observe","instance":"Reasoning.Clinic.Triage.observe","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.accept","instance":"Reasoning.Clinic.Triage.accept","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.extract","instance":"Reasoning.Clinic.Triage.extract","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.select","instance":"Reasoning.Clinic.Triage.select","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.fire","instance":"Reasoning.Clinic.Triage.fire","type_arguments":[]},{"declaration":"Reasoning.Clinic.recommendationCheck","instance":"Reasoning.Clinic.recommendationCheck","type_arguments":[]},{"declaration":"Reasoning.Clinic.Fever.guard","instance":"Reasoning.Clinic.Fever.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachycardia.guard","instance":"Reasoning.Clinic.Tachycardia.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachypnea.guard","instance":"Reasoning.Clinic.Tachypnea.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Leukocytosis.guard","instance":"Reasoning.Clinic.Leukocytosis.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sirs.guard","instance":"Reasoning.Clinic.Sirs.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sepsis.guard","instance":"Reasoning.Clinic.Sepsis.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Shock.guard","instance":"Reasoning.Clinic.Shock.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Escalate.guard","instance":"Reasoning.Clinic.Escalate.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Fever.apply","instance":"Reasoning.Clinic.Fever.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachycardia.apply","instance":"Reasoning.Clinic.Tachycardia.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachypnea.apply","instance":"Reasoning.Clinic.Tachypnea.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Leukocytosis.apply","instance":"Reasoning.Clinic.Leukocytosis.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sirs.apply","instance":"Reasoning.Clinic.Sirs.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sepsis.apply","instance":"Reasoning.Clinic.Sepsis.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Shock.apply","instance":"Reasoning.Clinic.Shock.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Escalate.apply","instance":"Reasoning.Clinic.Escalate.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.hypotensive","instance":"Reasoning.Clinic.hypotensive","type_arguments":[]},{"declaration":"Reasoning.Clinic.feverish","instance":"Reasoning.Clinic.feverish","type_arguments":[]},{"declaration":"Reasoning.Clinic.tachycardic","instance":"Reasoning.Clinic.tachycardic","type_arguments":[]},{"declaration":"Reasoning.Clinic.tachypneic","instance":"Reasoning.Clinic.tachypneic","type_arguments":[]},{"declaration":"Reasoning.Clinic.leukocytic","instance":"Reasoning.Clinic.leukocytic","type_arguments":[]},{"declaration":"Reasoning.Clinic.Fever.conclusion","instance":"Reasoning.Clinic.Fever.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachycardia.conclusion","instance":"Reasoning.Clinic.Tachycardia.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachypnea.conclusion","instance":"Reasoning.Clinic.Tachypnea.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Leukocytosis.conclusion","instance":"Reasoning.Clinic.Leukocytosis.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sirs.conclusion","instance":"Reasoning.Clinic.Sirs.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sepsis.conclusion","instance":"Reasoning.Clinic.Sepsis.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Shock.conclusion","instance":"Reasoning.Clinic.Shock.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Escalate.conclusion","instance":"Reasoning.Clinic.Escalate.conclusion","type_arguments":[]}],"internal_erased":[],"root":"Reasoning.Main.gatewayLevel","runtime":["Reasoning.Clinic.LexLeanCollections.iterateUntil"]},{"declarations":["Reasoning.Clinic.Escalate.apply","Reasoning.Clinic.Escalate.conclusion","Reasoning.Clinic.Escalate.guard","Reasoning.Clinic.Fever.apply","Reasoning.Clinic.Fever.conclusion","Reasoning.Clinic.Fever.guard","Reasoning.Clinic.Leukocytosis.apply","Reasoning.Clinic.Leukocytosis.conclusion","Reasoning.Clinic.Leukocytosis.guard","Reasoning.Clinic.Sepsis.apply","Reasoning.Clinic.Sepsis.conclusion","Reasoning.Clinic.Sepsis.guard","Reasoning.Clinic.Shock.apply","Reasoning.Clinic.Shock.conclusion","Reasoning.Clinic.Shock.guard","Reasoning.Clinic.Sirs.apply","Reasoning.Clinic.Sirs.conclusion","Reasoning.Clinic.Sirs.guard","Reasoning.Clinic.Tachycardia.apply","Reasoning.Clinic.Tachycardia.conclusion","Reasoning.Clinic.Tachycardia.guard","Reasoning.Clinic.Tachypnea.apply","Reasoning.Clinic.Tachypnea.conclusion","Reasoning.Clinic.Tachypnea.guard","Reasoning.Clinic.feverish","Reasoning.Clinic.hypotensive","Reasoning.Clinic.leukocytic","Reasoning.Clinic.tachycardic","Reasoning.Clinic.tachypneic","Reasoning.Main.Grade.accept","Reasoning.Main.Grade.conclude","Reasoning.Main.Grade.extract","Reasoning.Main.Grade.fire","Reasoning.Main.Grade.next","Reasoning.Main.Grade.observe","Reasoning.Main.Grade.saturate","Reasoning.Main.Grade.select","Reasoning.Main.Grade.verdict","Reasoning.Main.gradeLevel"],"erased":[],"instances":[{"declaration":"Reasoning.Main.gradeLevel","instance":"Reasoning.Main.gradeLevel","type_arguments":[]},{"declaration":"Reasoning.Main.Grade.verdict","instance":"Reasoning.Main.Grade.verdict","type_arguments":[]},{"declaration":"Reasoning.Main.Grade.saturate","instance":"Reasoning.Main.Grade.saturate","type_arguments":[]},{"declaration":"Reasoning.Main.Grade.conclude","instance":"Reasoning.Main.Grade.conclude","type_arguments":[]},{"declaration":"Reasoning.Main.Grade.next","instance":"Reasoning.Main.Grade.next","type_arguments":[]},{"declaration":"Reasoning.Main.Grade.observe","instance":"Reasoning.Main.Grade.observe","type_arguments":[]},{"declaration":"Reasoning.Main.Grade.accept","instance":"Reasoning.Main.Grade.accept","type_arguments":[]},{"declaration":"Reasoning.Main.Grade.extract","instance":"Reasoning.Main.Grade.extract","type_arguments":[]},{"declaration":"Reasoning.Main.Grade.select","instance":"Reasoning.Main.Grade.select","type_arguments":[]},{"declaration":"Reasoning.Main.Grade.fire","instance":"Reasoning.Main.Grade.fire","type_arguments":[]},{"declaration":"Reasoning.Clinic.Fever.guard","instance":"Reasoning.Clinic.Fever.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachycardia.guard","instance":"Reasoning.Clinic.Tachycardia.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachypnea.guard","instance":"Reasoning.Clinic.Tachypnea.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Leukocytosis.guard","instance":"Reasoning.Clinic.Leukocytosis.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sirs.guard","instance":"Reasoning.Clinic.Sirs.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sepsis.guard","instance":"Reasoning.Clinic.Sepsis.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Shock.guard","instance":"Reasoning.Clinic.Shock.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Escalate.guard","instance":"Reasoning.Clinic.Escalate.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Fever.apply","instance":"Reasoning.Clinic.Fever.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachycardia.apply","instance":"Reasoning.Clinic.Tachycardia.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachypnea.apply","instance":"Reasoning.Clinic.Tachypnea.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Leukocytosis.apply","instance":"Reasoning.Clinic.Leukocytosis.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sirs.apply","instance":"Reasoning.Clinic.Sirs.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sepsis.apply","instance":"Reasoning.Clinic.Sepsis.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Shock.apply","instance":"Reasoning.Clinic.Shock.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Escalate.apply","instance":"Reasoning.Clinic.Escalate.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.feverish","instance":"Reasoning.Clinic.feverish","type_arguments":[]},{"declaration":"Reasoning.Clinic.tachycardic","instance":"Reasoning.Clinic.tachycardic","type_arguments":[]},{"declaration":"Reasoning.Clinic.tachypneic","instance":"Reasoning.Clinic.tachypneic","type_arguments":[]},{"declaration":"Reasoning.Clinic.leukocytic","instance":"Reasoning.Clinic.leukocytic","type_arguments":[]},{"declaration":"Reasoning.Clinic.hypotensive","instance":"Reasoning.Clinic.hypotensive","type_arguments":[]},{"declaration":"Reasoning.Clinic.Fever.conclusion","instance":"Reasoning.Clinic.Fever.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachycardia.conclusion","instance":"Reasoning.Clinic.Tachycardia.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachypnea.conclusion","instance":"Reasoning.Clinic.Tachypnea.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Leukocytosis.conclusion","instance":"Reasoning.Clinic.Leukocytosis.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sirs.conclusion","instance":"Reasoning.Clinic.Sirs.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sepsis.conclusion","instance":"Reasoning.Clinic.Sepsis.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Shock.conclusion","instance":"Reasoning.Clinic.Shock.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Escalate.conclusion","instance":"Reasoning.Clinic.Escalate.conclusion","type_arguments":[]}],"internal_erased":[],"root":"Reasoning.Main.gradeLevel","runtime":["Reasoning.Main.LexLeanCollections.iterateUntil"]},{"declarations":["Reasoning.Main.planLeft","Reasoning.Planner.EmptyB.apply","Reasoning.Planner.EmptyB.conclusion","Reasoning.Planner.EmptyB.guard","Reasoning.Planner.FillA.apply","Reasoning.Planner.FillA.conclusion","Reasoning.Planner.FillA.guard","Reasoning.Planner.Plan","Reasoning.Planner.Plan.EmptyB.successors","Reasoning.Planner.Plan.FillA.successors","Reasoning.Planner.Plan.Pour.collect","Reasoning.Planner.Plan.Pour.successors","Reasoning.Planner.Plan.accept","Reasoning.Planner.Plan.attempts","Reasoning.Planner.Plan.extract","Reasoning.Planner.Plan.failure","Reasoning.Planner.Plan.fire","Reasoning.Planner.Plan.fresh","Reasoning.Planner.Plan.observe","Reasoning.Planner.Plan.run","Reasoning.Planner.Plan.searchStep","Reasoning.Planner.Plan.start","Reasoning.Planner.Plan.successors","Reasoning.Planner.Plan.verdict","Reasoning.Planner.Pour.apply","Reasoning.Planner.Pour.candidates","Reasoning.Planner.Pour.conclusion","Reasoning.Planner.Pour.guard","Reasoning.Planner.measuresCheck"],"erased":[],"instances":[{"declaration":"Reasoning.Main.planLeft","instance":"Reasoning.Main.planLeft","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.verdict","instance":"Reasoning.Planner.Plan.verdict","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan","instance":"Reasoning.Planner.Plan","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.run","instance":"Reasoning.Planner.Plan.run","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.failure","instance":"Reasoning.Planner.Plan.failure","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.searchStep","instance":"Reasoning.Planner.Plan.searchStep","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.start","instance":"Reasoning.Planner.Plan.start","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.accept","instance":"Reasoning.Planner.Plan.accept","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.successors","instance":"Reasoning.Planner.Plan.successors","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.fresh","instance":"Reasoning.Planner.Plan.fresh","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.attempts","instance":"Reasoning.Planner.Plan.attempts","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.observe","instance":"Reasoning.Planner.Plan.observe","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.extract","instance":"Reasoning.Planner.Plan.extract","type_arguments":[]},{"declaration":"Reasoning.Planner.measuresCheck","instance":"Reasoning.Planner.measuresCheck","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.FillA.successors","instance":"Reasoning.Planner.Plan.FillA.successors","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.EmptyB.successors","instance":"Reasoning.Planner.Plan.EmptyB.successors","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.Pour.successors","instance":"Reasoning.Planner.Plan.Pour.successors","type_arguments":[]},{"declaration":"Reasoning.Planner.Pour.candidates","instance":"Reasoning.Planner.Pour.candidates","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.fire","instance":"Reasoning.Planner.Plan.fire","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.Pour.collect","instance":"Reasoning.Planner.Plan.Pour.collect","type_arguments":[]},{"declaration":"Reasoning.Planner.FillA.apply","instance":"Reasoning.Planner.FillA.apply","type_arguments":[]},{"declaration":"Reasoning.Planner.EmptyB.apply","instance":"Reasoning.Planner.EmptyB.apply","type_arguments":[]},{"declaration":"Reasoning.Planner.Pour.apply","instance":"Reasoning.Planner.Pour.apply","type_arguments":[]},{"declaration":"Reasoning.Planner.FillA.guard","instance":"Reasoning.Planner.FillA.guard","type_arguments":[]},{"declaration":"Reasoning.Planner.FillA.conclusion","instance":"Reasoning.Planner.FillA.conclusion","type_arguments":[]},{"declaration":"Reasoning.Planner.EmptyB.guard","instance":"Reasoning.Planner.EmptyB.guard","type_arguments":[]},{"declaration":"Reasoning.Planner.EmptyB.conclusion","instance":"Reasoning.Planner.EmptyB.conclusion","type_arguments":[]},{"declaration":"Reasoning.Planner.Pour.guard","instance":"Reasoning.Planner.Pour.guard","type_arguments":[]},{"declaration":"Reasoning.Planner.Pour.conclusion","instance":"Reasoning.Planner.Pour.conclusion","type_arguments":[]}],"internal_erased":[],"root":"Reasoning.Main.planLeft","runtime":["Reasoning.Planner.LexLeanCollections.containsElement","Reasoning.Planner.LexLeanCollections.insertElement","Reasoning.Planner.LexLeanCollections.instKeyNat","Reasoning.Planner.LexLeanCollections.instKeyProd","Reasoning.Planner.LexLeanCollections.iterateUntil","Reasoning.Planner.LexLeanCollections.listFold","Reasoning.Planner.LexLeanCollections.setContains","Reasoning.Planner.LexLeanCollections.setInsert","Reasoning.Planner.LexLeanRuntime.append","Reasoning.Planner.LexLeanRuntime.instAppendableList","Reasoning.Planner.LexLeanRuntime.instLengthableList","Reasoning.Planner.LexLeanRuntime.length","Reasoning.Planner.LexLeanRuntime.multiply","Reasoning.Planner.LexLeanRuntime.subtract"]},{"declarations":["Reasoning.Main.screenDose","Reasoning.Screening.DoseCandidates","Reasoning.Screening.DoseModel","Reasoning.Screening.Propose.apply","Reasoning.Screening.Propose.candidates","Reasoning.Screening.Propose.conclusion","Reasoning.Screening.Propose.guard","Reasoning.Screening.Screen","Reasoning.Screening.Screen.Propose.collect","Reasoning.Screening.Screen.Propose.successors","Reasoning.Screening.Screen.accept","Reasoning.Screening.Screen.attempts","Reasoning.Screening.Screen.extract","Reasoning.Screening.Screen.failure","Reasoning.Screening.Screen.fire","Reasoning.Screening.Screen.observe","Reasoning.Screening.Screen.run","Reasoning.Screening.Screen.searchStep","Reasoning.Screening.Screen.start","Reasoning.Screening.Screen.successors","Reasoning.Screening.Screen.verdict","Reasoning.Screening.safeCheck","Reasoning.Screening.shortCheck"],"erased":[],"instances":[{"declaration":"Reasoning.Main.screenDose","instance":"Reasoning.Main.screenDose","type_arguments":[]},{"declaration":"Reasoning.Screening.Screen.verdict","instance":"Reasoning.Screening.Screen.verdict","type_arguments":[]},{"declaration":"Reasoning.Screening.Screen","instance":"Reasoning.Screening.Screen","type_arguments":[]},{"declaration":"Reasoning.Screening.Screen.run","instance":"Reasoning.Screening.Screen.run","type_arguments":[]},{"declaration":"Reasoning.Screening.Screen.failure","instance":"Reasoning.Screening.Screen.failure","type_arguments":[]},{"declaration":"Reasoning.Screening.Screen.searchStep","instance":"Reasoning.Screening.Screen.searchStep","type_arguments":[]},{"declaration":"Reasoning.Screening.Screen.start","instance":"Reasoning.Screening.Screen.start","type_arguments":[]},{"declaration":"Reasoning.Screening.Screen.accept","instance":"Reasoning.Screening.Screen.accept","type_arguments":[]},{"declaration":"Reasoning.Screening.Screen.successors","instance":"Reasoning.Screening.Screen.successors","type_arguments":[]},{"declaration":"Reasoning.Screening.Screen.attempts","instance":"Reasoning.Screening.Screen.attempts","type_arguments":[]},{"declaration":"Reasoning.Screening.Screen.observe","instance":"Reasoning.Screening.Screen.observe","type_arguments":[]},{"declaration":"Reasoning.Screening.Screen.extract","instance":"Reasoning.Screening.Screen.extract","type_arguments":[]},{"declaration":"Reasoning.Screening.safeCheck","instance":"Reasoning.Screening.safeCheck","type_arguments":[]},{"declaration":"Reasoning.Screening.Screen.Propose.successors","instance":"Reasoning.Screening.Screen.Propose.successors","type_arguments":[]},{"declaration":"Reasoning.Screening.Propose.candidates","instance":"Reasoning.Screening.Propose.candidates","type_arguments":[]},{"declaration":"Reasoning.Screening.Screen.Propose.collect","instance":"Reasoning.Screening.Screen.Propose.collect","type_arguments":[]},{"declaration":"Reasoning.Screening.DoseModel","instance":"Reasoning.Screening.DoseModel","type_arguments":[]},{"declaration":"Reasoning.Screening.shortCheck","instance":"Reasoning.Screening.shortCheck","type_arguments":[]},{"declaration":"Reasoning.Screening.Screen.fire","instance":"Reasoning.Screening.Screen.fire","type_arguments":[]},{"declaration":"Reasoning.Screening.DoseCandidates","instance":"Reasoning.Screening.DoseCandidates","type_arguments":[]},{"declaration":"Reasoning.Screening.Propose.apply","instance":"Reasoning.Screening.Propose.apply","type_arguments":[]},{"declaration":"Reasoning.Screening.Propose.guard","instance":"Reasoning.Screening.Propose.guard","type_arguments":[]},{"declaration":"Reasoning.Screening.Propose.conclusion","instance":"Reasoning.Screening.Propose.conclusion","type_arguments":[]}],"internal_erased":[],"root":"Reasoning.Main.screenDose","runtime":["Reasoning.Screening.LexLeanCollections.iterateUntil","Reasoning.Screening.LexLeanCollections.listFold","Reasoning.Screening.LexLeanRuntime.append","Reasoning.Screening.LexLeanRuntime.instAppendableList","Reasoning.Screening.LexLeanRuntime.instLengthableList","Reasoning.Screening.LexLeanRuntime.length","Reasoning.Screening.LexLeanRuntime.subtract"]},{"declarations":["Reasoning.Budget.Burn.apply","Reasoning.Budget.Burn.candidates","Reasoning.Budget.Burn.conclusion","Reasoning.Budget.Burn.guard","Reasoning.Budget.Spend.accept","Reasoning.Budget.Spend.conclude","Reasoning.Budget.Spend.extract","Reasoning.Budget.Spend.fire","Reasoning.Budget.Spend.next","Reasoning.Budget.Spend.observe","Reasoning.Budget.Spend.saturate","Reasoning.Budget.Spend.select","Reasoning.Budget.Spend.verdict","Reasoning.Budget.Tick.apply","Reasoning.Budget.Tick.conclusion","Reasoning.Budget.Tick.guard","Reasoning.Budget.emptyCheck","Reasoning.Main.spendLeft"],"erased":[],"instances":[{"declaration":"Reasoning.Main.spendLeft","instance":"Reasoning.Main.spendLeft","type_arguments":[]},{"declaration":"Reasoning.Budget.Spend.verdict","instance":"Reasoning.Budget.Spend.verdict (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.Spend.saturate","instance":"Reasoning.Budget.Spend.saturate (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.Spend.conclude","instance":"Reasoning.Budget.Spend.conclude (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.Spend.next","instance":"Reasoning.Budget.Spend.next (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.Spend.observe","instance":"Reasoning.Budget.Spend.observe (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.Spend.accept","instance":"Reasoning.Budget.Spend.accept (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.Spend.extract","instance":"Reasoning.Budget.Spend.extract (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.Spend.select","instance":"Reasoning.Budget.Spend.select (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.Spend.fire","instance":"Reasoning.Budget.Spend.fire (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.emptyCheck","instance":"Reasoning.Budget.emptyCheck (Prod (Nat) (Nat))","type_arguments":["Prod (Nat) (Nat)"]},{"declaration":"Reasoning.Budget.Tick.guard","instance":"Reasoning.Budget.Tick.guard (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.Burn.guard","instance":"Reasoning.Budget.Burn.guard (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.Burn.candidates","instance":"Reasoning.Budget.Burn.candidates (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.Tick.apply","instance":"Reasoning.Budget.Tick.apply (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.Burn.apply","instance":"Reasoning.Budget.Burn.apply (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.Tick.conclusion","instance":"Reasoning.Budget.Tick.conclusion (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.Burn.conclusion","instance":"Reasoning.Budget.Burn.conclusion (Nat)","type_arguments":["Nat"]}],"internal_erased":[],"root":"Reasoning.Main.spendLeft","runtime":["Reasoning.Budget.LexLeanCollections.iterateUntil","Reasoning.Budget.LexLeanCollections.listFold","Reasoning.Budget.LexLeanRuntime.subtract"]},{"declarations":["Reasoning.Clinic.Escalate.apply","Reasoning.Clinic.Escalate.conclusion","Reasoning.Clinic.Escalate.guard","Reasoning.Clinic.Fever.apply","Reasoning.Clinic.Fever.conclusion","Reasoning.Clinic.Fever.guard","Reasoning.Clinic.Leukocytosis.apply","Reasoning.Clinic.Leukocytosis.conclusion","Reasoning.Clinic.Leukocytosis.guard","Reasoning.Clinic.Sepsis.apply","Reasoning.Clinic.Sepsis.conclusion","Reasoning.Clinic.Sepsis.guard","Reasoning.Clinic.Shock.apply","Reasoning.Clinic.Shock.conclusion","Reasoning.Clinic.Shock.guard","Reasoning.Clinic.Sirs.apply","Reasoning.Clinic.Sirs.conclusion","Reasoning.Clinic.Sirs.guard","Reasoning.Clinic.Tachycardia.apply","Reasoning.Clinic.Tachycardia.conclusion","Reasoning.Clinic.Tachycardia.guard","Reasoning.Clinic.Tachypnea.apply","Reasoning.Clinic.Tachypnea.conclusion","Reasoning.Clinic.Tachypnea.guard","Reasoning.Clinic.Triage.accept","Reasoning.Clinic.Triage.conclude","Reasoning.Clinic.Triage.extract","Reasoning.Clinic.Triage.fire","Reasoning.Clinic.Triage.next","Reasoning.Clinic.Triage.observe","Reasoning.Clinic.Triage.saturate","Reasoning.Clinic.Triage.select","Reasoning.Clinic.Triage.verdict","Reasoning.Clinic.feverish","Reasoning.Clinic.hypotensive","Reasoning.Clinic.leukocytic","Reasoning.Clinic.recommendationCheck","Reasoning.Clinic.tachycardic","Reasoning.Clinic.tachypneic","Reasoning.Main.triageLevel"],"erased":[],"instances":[{"declaration":"Reasoning.Main.triageLevel","instance":"Reasoning.Main.triageLevel","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.verdict","instance":"Reasoning.Clinic.Triage.verdict","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.saturate","instance":"Reasoning.Clinic.Triage.saturate","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.conclude","instance":"Reasoning.Clinic.Triage.conclude","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.next","instance":"Reasoning.Clinic.Triage.next","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.observe","instance":"Reasoning.Clinic.Triage.observe","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.accept","instance":"Reasoning.Clinic.Triage.accept","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.extract","instance":"Reasoning.Clinic.Triage.extract","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.select","instance":"Reasoning.Clinic.Triage.select","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.fire","instance":"Reasoning.Clinic.Triage.fire","type_arguments":[]},{"declaration":"Reasoning.Clinic.recommendationCheck","instance":"Reasoning.Clinic.recommendationCheck","type_arguments":[]},{"declaration":"Reasoning.Clinic.Fever.guard","instance":"Reasoning.Clinic.Fever.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachycardia.guard","instance":"Reasoning.Clinic.Tachycardia.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachypnea.guard","instance":"Reasoning.Clinic.Tachypnea.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Leukocytosis.guard","instance":"Reasoning.Clinic.Leukocytosis.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sirs.guard","instance":"Reasoning.Clinic.Sirs.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sepsis.guard","instance":"Reasoning.Clinic.Sepsis.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Shock.guard","instance":"Reasoning.Clinic.Shock.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Escalate.guard","instance":"Reasoning.Clinic.Escalate.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Fever.apply","instance":"Reasoning.Clinic.Fever.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachycardia.apply","instance":"Reasoning.Clinic.Tachycardia.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachypnea.apply","instance":"Reasoning.Clinic.Tachypnea.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Leukocytosis.apply","instance":"Reasoning.Clinic.Leukocytosis.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sirs.apply","instance":"Reasoning.Clinic.Sirs.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sepsis.apply","instance":"Reasoning.Clinic.Sepsis.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Shock.apply","instance":"Reasoning.Clinic.Shock.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Escalate.apply","instance":"Reasoning.Clinic.Escalate.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.hypotensive","instance":"Reasoning.Clinic.hypotensive","type_arguments":[]},{"declaration":"Reasoning.Clinic.feverish","instance":"Reasoning.Clinic.feverish","type_arguments":[]},{"declaration":"Reasoning.Clinic.tachycardic","instance":"Reasoning.Clinic.tachycardic","type_arguments":[]},{"declaration":"Reasoning.Clinic.tachypneic","instance":"Reasoning.Clinic.tachypneic","type_arguments":[]},{"declaration":"Reasoning.Clinic.leukocytic","instance":"Reasoning.Clinic.leukocytic","type_arguments":[]},{"declaration":"Reasoning.Clinic.Fever.conclusion","instance":"Reasoning.Clinic.Fever.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachycardia.conclusion","instance":"Reasoning.Clinic.Tachycardia.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachypnea.conclusion","instance":"Reasoning.Clinic.Tachypnea.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Leukocytosis.conclusion","instance":"Reasoning.Clinic.Leukocytosis.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sirs.conclusion","instance":"Reasoning.Clinic.Sirs.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sepsis.conclusion","instance":"Reasoning.Clinic.Sepsis.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Shock.conclusion","instance":"Reasoning.Clinic.Shock.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Escalate.conclusion","instance":"Reasoning.Clinic.Escalate.conclusion","type_arguments":[]}],"internal_erased":[],"root":"Reasoning.Main.triageLevel","runtime":["Reasoning.Clinic.LexLeanCollections.iterateUntil"]},{"declarations":["Reasoning.Clinic.Escalate.apply","Reasoning.Clinic.Escalate.conclusion","Reasoning.Clinic.Escalate.guard","Reasoning.Clinic.Fever.apply","Reasoning.Clinic.Fever.conclusion","Reasoning.Clinic.Fever.guard","Reasoning.Clinic.Leukocytosis.apply","Reasoning.Clinic.Leukocytosis.conclusion","Reasoning.Clinic.Leukocytosis.guard","Reasoning.Clinic.Sepsis.apply","Reasoning.Clinic.Sepsis.conclusion","Reasoning.Clinic.Sepsis.guard","Reasoning.Clinic.Shock.apply","Reasoning.Clinic.Shock.conclusion","Reasoning.Clinic.Shock.guard","Reasoning.Clinic.Sirs.apply","Reasoning.Clinic.Sirs.conclusion","Reasoning.Clinic.Sirs.guard","Reasoning.Clinic.Tachycardia.apply","Reasoning.Clinic.Tachycardia.conclusion","Reasoning.Clinic.Tachycardia.guard","Reasoning.Clinic.Tachypnea.apply","Reasoning.Clinic.Tachypnea.conclusion","Reasoning.Clinic.Tachypnea.guard","Reasoning.Clinic.Triage","Reasoning.Clinic.Triage.accept","Reasoning.Clinic.Triage.attempts","Reasoning.Clinic.Triage.conclude","Reasoning.Clinic.Triage.extract","Reasoning.Clinic.Triage.fire","Reasoning.Clinic.Triage.observe","Reasoning.Clinic.Triage.run","Reasoning.Clinic.Triage.select","Reasoning.Clinic.Triage.start","Reasoning.Clinic.Triage.step","Reasoning.Clinic.feverish","Reasoning.Clinic.hypotensive","Reasoning.Clinic.leukocytic","Reasoning.Clinic.recommendationCheck","Reasoning.Clinic.tachycardic","Reasoning.Clinic.tachypneic","Reasoning.Main.triageSteps"],"erased":[],"instances":[{"declaration":"Reasoning.Main.triageSteps","instance":"Reasoning.Main.triageSteps","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage","instance":"Reasoning.Clinic.Triage","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.run","instance":"Reasoning.Clinic.Triage.run","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.conclude","instance":"Reasoning.Clinic.Triage.conclude","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.step","instance":"Reasoning.Clinic.Triage.step","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.start","instance":"Reasoning.Clinic.Triage.start","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.accept","instance":"Reasoning.Clinic.Triage.accept","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.extract","instance":"Reasoning.Clinic.Triage.extract","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.select","instance":"Reasoning.Clinic.Triage.select","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.fire","instance":"Reasoning.Clinic.Triage.fire","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.attempts","instance":"Reasoning.Clinic.Triage.attempts","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.observe","instance":"Reasoning.Clinic.Triage.observe","type_arguments":[]},{"declaration":"Reasoning.Clinic.recommendationCheck","instance":"Reasoning.Clinic.recommendationCheck","type_arguments":[]},{"declaration":"Reasoning.Clinic.Fever.guard","instance":"Reasoning.Clinic.Fever.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachycardia.guard","instance":"Reasoning.Clinic.Tachycardia.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachypnea.guard","instance":"Reasoning.Clinic.Tachypnea.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Leukocytosis.guard","instance":"Reasoning.Clinic.Leukocytosis.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sirs.guard","instance":"Reasoning.Clinic.Sirs.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sepsis.guard","instance":"Reasoning.Clinic.Sepsis.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Shock.guard","instance":"Reasoning.Clinic.Shock.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Escalate.guard","instance":"Reasoning.Clinic.Escalate.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Fever.apply","instance":"Reasoning.Clinic.Fever.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachycardia.apply","instance":"Reasoning.Clinic.Tachycardia.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachypnea.apply","instance":"Reasoning.Clinic.Tachypnea.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Leukocytosis.apply","instance":"Reasoning.Clinic.Leukocytosis.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sirs.apply","instance":"Reasoning.Clinic.Sirs.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sepsis.apply","instance":"Reasoning.Clinic.Sepsis.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Shock.apply","instance":"Reasoning.Clinic.Shock.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Escalate.apply","instance":"Reasoning.Clinic.Escalate.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.hypotensive","instance":"Reasoning.Clinic.hypotensive","type_arguments":[]},{"declaration":"Reasoning.Clinic.feverish","instance":"Reasoning.Clinic.feverish","type_arguments":[]},{"declaration":"Reasoning.Clinic.tachycardic","instance":"Reasoning.Clinic.tachycardic","type_arguments":[]},{"declaration":"Reasoning.Clinic.tachypneic","instance":"Reasoning.Clinic.tachypneic","type_arguments":[]},{"declaration":"Reasoning.Clinic.leukocytic","instance":"Reasoning.Clinic.leukocytic","type_arguments":[]},{"declaration":"Reasoning.Clinic.Fever.conclusion","instance":"Reasoning.Clinic.Fever.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachycardia.conclusion","instance":"Reasoning.Clinic.Tachycardia.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachypnea.conclusion","instance":"Reasoning.Clinic.Tachypnea.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Leukocytosis.conclusion","instance":"Reasoning.Clinic.Leukocytosis.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sirs.conclusion","instance":"Reasoning.Clinic.Sirs.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sepsis.conclusion","instance":"Reasoning.Clinic.Sepsis.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Shock.conclusion","instance":"Reasoning.Clinic.Shock.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Escalate.conclusion","instance":"Reasoning.Clinic.Escalate.conclusion","type_arguments":[]}],"internal_erased":[],"root":"Reasoning.Main.triageSteps","runtime":["Reasoning.Clinic.LexLeanCollections.iterateUntil","Reasoning.Clinic.LexLeanRuntime.append","Reasoning.Clinic.LexLeanRuntime.instAppendableList","Reasoning.Main.LexLeanRuntime.instLengthableList","Reasoning.Main.LexLeanRuntime.length"]}],"declarations":[{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v9","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Burn.conclusion"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v8","type":{"kind":"erased"}}]}],"discriminant":"v5","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v5","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Burn.guard"}},"level_parameters":[],"name":"Reasoning.Budget.Burn.apply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":2,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v4","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v7","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"level_parameters":[],"name":"Reasoning.Budget.Burn.candidates","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.LexLeanRuntime.subtract"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v1"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubNat"}},"id":"v3","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v1"}},"level_parameters":[],"name":"Reasoning.Budget.Burn.conclusion","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v16","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v16","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v18","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v15","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v1"}},"id":"v13","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v11","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Budget.Burn.guard","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"function":"v8","kind":"apply"}},"constructor":"Nat.zero","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v28","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v26","kind":"apply"}},"constructor":"Nat.succ","kind":"constructor","parameters":[{"borrow":false,"id":"v28","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v2","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Nat"},"id":"v26","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v11","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"function":"v16","kind":"apply"}},"id":"v22","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"function":"v20","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"id":"v0","kind":"fvar"}}]}],"discriminant":"v21","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Option"},"id":"v21","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"function":"v1","kind":"apply"}},"id":"v20","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.LexLeanCollections.iterateUntil"}}},"kind":"fun"},"id":"v16","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v11","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Budget.LexLeanCollections.iterateUntil","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v1","kind":"fvar"},"value":{"arguments":[{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.foldl"}},"level_parameters":[],"name":"Reasoning.Budget.LexLeanCollections.listFold","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"codomain":{"codomain":{"id":"v1","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"}},{"borrow":false,"id":"v3","type":{"id":"v1","kind":"fvar"}},{"borrow":false,"id":"v4","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HSub","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HSub"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHSub"}},"level_parameters":[],"name":"Reasoning.Budget.LexLeanRuntime.subtract","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v18","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"function":"v16","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v20","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v17","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.extract"}},"id":"v16","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"kind":"erased"}}]}],"discriminant":"v11","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v11","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.emptyCheck"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Budget.Spend.accept","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"index":1,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v31","kind":"return"},"id":"v31","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v30","kind":"fvar"}],"function":"v28","kind":"apply"}},"id":"v30","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v33","kind":"return"},"id":"v33","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"function":"v6","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v32","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v29","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Option"},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.accept"}},"id":"v28","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"function":"v22","kind":"apply"}},"id":"v24","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v26","kind":"fvar"}],"function":"v15","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v26","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v23","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Option"},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.extract"}},"id":"v22","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v16","kind":"apply"}},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v18","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Budget.Spend.conclude","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"index":1,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v1"}},"level_parameters":[],"name":"Reasoning.Budget.Spend.extract","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v11","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Budget.Spend.Step.Tick","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"}],"function":"v10","kind":"apply"}},"constructor":"Reasoning.Budget.Spend.Step.Burn","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v2","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Reasoning.Budget.Spend.Step"},"id":"v10","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Burn.apply"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Tick.apply"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Budget.Spend.fire","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":2,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v11","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"}],"function":"v9","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}}]}],"discriminant":"v10","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.select"}},"id":"v9","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.fire"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Budget.Spend.next","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v9","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v8"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v1"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v2","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v1"}},"level_parameters":[],"name":"Reasoning.Budget.Spend.observe","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v2","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.LexLeanCollections.iterateUntil"}},"id":"v11","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.observe"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v9","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v8"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4"}}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v1"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v2","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.next"}},"level_parameters":[],"name":"Reasoning.Budget.Spend.saturate","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v41","kind":"fvar"}],"kind":"jump","target":"v34"},"id":"v41","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v40","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"arguments":[{"id":"v44","kind":"fvar"}],"kind":"jump","target":"v34"},"id":"v44","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}},{"id":"v43","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v43","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step.Tick"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v42","type":{"kind":"erased"}}]}],"discriminant":"v33","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v34","parameters":[{"borrow":false,"id":"v35","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"body":{"id":"v37","kind":"return"},"id":"v37","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v36","kind":"fvar"}],"function":"v30","kind":"apply"}},"id":"v36","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v38","kind":"fvar"}],"function":"v5","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v38","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}}]}],"discriminant":"v35","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"}},"kind":"join"},"id":"v33","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v31","kind":"fvar"},{"id":"v32","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Tick.guard"}},"id":"v30","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"id":"v8","kind":"fvar"},{"id":"v27","kind":"fvar"},{"id":"v28","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.LexLeanCollections.listFold"}},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Burn.candidates"}},"id":"v27","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"borrow":false,"id":"v10","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"function":"v22","kind":"apply"}},"id":"v23","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v25","kind":"fvar"}],"function":"v11","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v25","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}}]}],"discriminant":"v9","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v22","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v17","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v20","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step.Burn"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v19","type":{"kind":"erased"}}]}],"discriminant":"v16","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v16","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v14","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Burn.guard"}}},"kind":"fun"},"id":"v11","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}}},"kind":"fun"}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Budget.Spend.select","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v16","kind":"fvar"}],"function":"v14","kind":"apply"}},"id":"v16","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v18","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v15","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Bool"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v3"}},"id":"v14","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v11","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.conclude"}},"id":"v6","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v3"}}},"kind":"fun"},"id":"v3","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"id":"v2","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.saturate"}},"level_parameters":[],"name":"Reasoning.Budget.Spend.verdict","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v5","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v8","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Tick.conclusion"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v7","type":{"kind":"erased"}}]}],"discriminant":"v4","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Tick.guard"}},"level_parameters":[],"name":"Reasoning.Budget.Tick.apply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.LexLeanRuntime.subtract"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v1"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubNat"}},"id":"v2","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v1"}},"level_parameters":[],"name":"Reasoning.Budget.Tick.conclusion","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v1"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"level_parameters":[],"name":"Reasoning.Budget.Tick.guard","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"level_parameters":[],"name":"Reasoning.Budget.emptyCheck","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v4","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Escalate.conclusion"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Escalate.guard"}},"level_parameters":[],"name":"Reasoning.Clinic.Escalate.apply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart.mk"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v12","kind":"fvar"},{"id":"v15","kind":"fvar"}],"function":"v11","kind":"apply"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v14"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":8,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v11","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":7,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":6,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"level_parameters":[],"name":"Reasoning.Clinic.Escalate.conclusion","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v99","kind":"return"},"id":"v99","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v98","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v98","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v101","kind":"return"},"id":"v101","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v100","kind":"fvar"}],"function":"v92","kind":"apply"}},"id":"v100","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v97","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v97","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v93","kind":"fvar"},{"id":"v96","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v96","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v95"}},"id":"v95","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v94","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v94","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v93","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":8,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v92","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v90","kind":"fvar"}],"kind":"jump","target":"v84"},"id":"v90","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v91","kind":"fvar"}],"kind":"jump","target":"v87"},"id":"v91","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v77","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"declaration":{"id":"v87","parameters":[{"borrow":false,"id":"v88","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v89","kind":"fvar"}],"kind":"jump","target":"v78"},"id":"v89","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v88","kind":"fvar"}],"function":"v72","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v84","parameters":[{"borrow":false,"id":"v85","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v86","kind":"fvar"}],"kind":"jump","target":"v78"},"id":"v86","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v85","kind":"fvar"}],"function":"v64","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v78","parameters":[{"borrow":false,"id":"v79","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"body":{"id":"v81","kind":"return"},"id":"v81","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v80","kind":"fvar"}],"function":"v63","kind":"apply"}},"id":"v80","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v83","kind":"return"},"id":"v83","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v82","kind":"fvar"}],"function":"v10","kind":"apply"}},"id":"v82","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v79","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"}},"kind":"join"},"id":"v77","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v73","kind":"fvar"},{"id":"v76","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v76","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v75"}},"id":"v75","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v74","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v74","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v73","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":8,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v72","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v65","kind":"apply"}},"declaration":{"id":"v65","parameters":[{"borrow":false,"id":"v66","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v71","kind":"return"},"id":"v71","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v67","kind":"fvar"},{"id":"v70","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v70","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v69"}},"id":"v69","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v68","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v68","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v67","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}}},"kind":"fun"},"id":"v64","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v63","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v11","kind":"apply"}},"declaration":{"id":"v11","parameters":[{"borrow":false,"id":"v12","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v61","kind":"fvar"}],"kind":"jump","target":"v58"},"id":"v61","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v62","kind":"fvar"}],"kind":"jump","target":"v55"},"id":"v62","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v48","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"declaration":{"id":"v58","parameters":[{"borrow":false,"id":"v59","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v60","kind":"fvar"}],"kind":"jump","target":"v49"},"id":"v60","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v59","kind":"fvar"}],"function":"v35","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v55","parameters":[{"borrow":false,"id":"v56","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v57","kind":"fvar"}],"kind":"jump","target":"v49"},"id":"v57","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v56","kind":"fvar"}],"function":"v43","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v49","parameters":[{"borrow":false,"id":"v50","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"body":{"id":"v52","kind":"return"},"id":"v52","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v51","kind":"fvar"}],"function":"v34","kind":"apply"}},"id":"v51","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v54","kind":"return"},"id":"v54","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v53","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v53","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v50","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"}},"kind":"join"},"id":"v48","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v44","kind":"fvar"},{"id":"v47","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v47","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v46"}},"id":"v46","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v45","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v45","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v44","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":8,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v43","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v36","kind":"apply"}},"declaration":{"id":"v36","parameters":[{"borrow":false,"id":"v37","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v42","kind":"return"},"id":"v42","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v38","kind":"fvar"},{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v40"}},"id":"v40","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v39","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v39","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v38","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":6,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}}},"kind":"fun"},"id":"v35","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v34","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v14","kind":"apply"}},"declaration":{"id":"v14","parameters":[{"borrow":false,"id":"v15","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v31","kind":"return"},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v30","kind":"fvar"}],"function":"v16","kind":"apply"}},"id":"v30","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v33","kind":"return"},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"function":"v24","kind":"apply"}},"id":"v32","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v29","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v25","kind":"fvar"},{"id":"v28","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v27"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v26","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":8,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v24","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v21"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":7,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}}},"kind":"fun"},"id":"v16","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}}},"kind":"fun"},"id":"v13","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}}},"kind":"fun"},"id":"v10","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.Escalate.guard","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v4","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Fever.conclusion"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Fever.guard"}},"level_parameters":[],"name":"Reasoning.Clinic.Fever.apply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart.mk"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":8,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":7,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":6,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"level_parameters":[],"name":"Reasoning.Clinic.Fever.conclusion","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v15","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v9","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v14","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v10","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v12"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.feverish"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.Fever.guard","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v4","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Leukocytosis.conclusion"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Leukocytosis.guard"}},"level_parameters":[],"name":"Reasoning.Clinic.Leukocytosis.apply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v7","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart.mk"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":8,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":7,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":6,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"level_parameters":[],"name":"Reasoning.Clinic.Leukocytosis.conclusion","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v15","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v9","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v14","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v10","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v12"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.leukocytic"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.Leukocytosis.guard","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"function":"v8","kind":"apply"}},"constructor":"Nat.zero","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v28","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v26","kind":"apply"}},"constructor":"Nat.succ","kind":"constructor","parameters":[{"borrow":false,"id":"v28","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v2","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Nat"},"id":"v26","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v11","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"function":"v16","kind":"apply"}},"id":"v22","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"function":"v20","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"id":"v0","kind":"fvar"}}]}],"discriminant":"v21","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Option"},"id":"v21","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"function":"v1","kind":"apply"}},"id":"v20","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.LexLeanCollections.iterateUntil"}}},"kind":"fun"},"id":"v16","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v11","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.LexLeanCollections.iterateUntil","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.LexLeanRuntime.Appendable","value":"v1"}},"level_parameters":[],"name":"Reasoning.Clinic.LexLeanRuntime.append","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Clinic.LexLeanRuntime.Appendable"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Clinic.LexLeanRuntime.Appendable"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Clinic.LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.LexLeanRuntime.Appendable.mk"}},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.appendTR"}},"level_parameters":[],"name":"Reasoning.Clinic.LexLeanRuntime.instAppendableList","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Clinic.LexLeanRuntime.Appendable"},"kind":"app"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v4","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Sepsis.conclusion"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Sepsis.guard"}},"level_parameters":[],"name":"Reasoning.Clinic.Sepsis.apply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"},{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart.mk"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":8,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":7,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v8"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"level_parameters":[],"name":"Reasoning.Clinic.Sepsis.conclusion","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v33","kind":"return"},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v32","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v35","kind":"return"},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v34","kind":"fvar"}],"function":"v26","kind":"apply"}},"id":"v34","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v31","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v27","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v29"}},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v28","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":6,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v26","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v22","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"function":"v16","kind":"apply"}},"id":"v24","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v21","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v17","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v19"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v16","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v11","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v13"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Clinic.Vitals","value":"v10"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}}},"kind":"fun"},"id":"v7","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.Sepsis.guard","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v4","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Shock.conclusion"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Shock.guard"}},"level_parameters":[],"name":"Reasoning.Clinic.Shock.apply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart.mk"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":8,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v9"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":6,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"level_parameters":[],"name":"Reasoning.Clinic.Shock.conclusion","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v28","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v28","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v31","kind":"return"},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v30","kind":"fvar"}],"function":"v22","kind":"apply"}},"id":"v30","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v27","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v23","kind":"fvar"},{"id":"v26","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v25"}},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":7,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v22","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v18","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v20","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v17","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v15"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":6,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v12","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.hypotensive"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}}},"kind":"fun"},"id":"v7","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.Shock.guard","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v4","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Sirs.conclusion"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Sirs.guard"}},"level_parameters":[],"name":"Reasoning.Clinic.Sirs.apply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart.mk"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":8,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":7,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":6,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"level_parameters":[],"name":"Reasoning.Clinic.Sirs.conclusion","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v27","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v27","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"function":"v21","kind":"apply"}},"id":"v29","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v26","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v22","kind":"fvar"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v24"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v21","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v17","kind":"fvar"},{"id":"v18","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v15","kind":"fvar"},{"id":"v16","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v11"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v8"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.Sirs.guard","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v4","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Tachycardia.conclusion"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Tachycardia.guard"}},"level_parameters":[],"name":"Reasoning.Clinic.Tachycardia.apply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart.mk"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":8,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":7,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":6,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"level_parameters":[],"name":"Reasoning.Clinic.Tachycardia.conclusion","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v15","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v9","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v14","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v10","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v12"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.tachycardic"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.Tachycardia.guard","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v4","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Tachypnea.conclusion"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Tachypnea.guard"}},"level_parameters":[],"name":"Reasoning.Clinic.Tachypnea.apply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart.mk"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":8,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":7,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":6,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"level_parameters":[],"name":"Reasoning.Clinic.Tachypnea.conclusion","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v15","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v9","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v14","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v10","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v12"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.tachypneic"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.Tachypnea.guard","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v31","kind":"fvar"}],"function":"v29","kind":"apply"}},"id":"v31","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v34","kind":"return"},"id":"v34","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"function":"v23","kind":"apply"}},"id":"v33","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v30","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Bool"},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v2"}},"id":"v29","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v24","kind":"apply"}},"declaration":{"id":"v24","parameters":[{"borrow":false,"id":"v25","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v27","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v26","kind":"fvar"},{"id":"v26","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"id":"v23","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"function":"v15","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v19","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v21","kind":"fvar"}],"function":"v11","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v21","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v18","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Except"},"id":"v18","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.conclude"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Triage.Run","value":"v16"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v2"}},"id":"v15","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}}},"kind":"fun"},"id":"v11","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v6","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Clinic.Triage.Run","value":"v7"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v2"}}},"kind":"fun"}},"kind":"fun"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.run"}},"level_parameters":[],"name":"Reasoning.Clinic.Triage","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"function":"v15","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v16","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.extract"}},"id":"v15","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"kind":"erased"}}]}],"discriminant":"v10","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v10","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.recommendationCheck"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.Triage.accept","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"arguments":[{"id":"v132","kind":"fvar"}],"kind":"jump","target":"v10"},"id":"v132","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v125","kind":"fvar"},{"id":"v131","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v131","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v129","kind":"fvar"},{"id":"v130","kind":"fvar"}],"function":"v128","kind":"apply"}},"id":"v130","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v124"}},"id":"v129","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v6"}},"id":"v128","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v127"}},"id":"v127","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v126","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v126","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v125","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v124"}},"id":"v124","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v123","kind":"apply"}},"id":"v123","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v122","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v122","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Tachycardia.guard"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v121","type":{"kind":"erased"}}]},{"code":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"jump","target":"v10"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v133","type":{"kind":"erased"}}]}],"discriminant":"v9","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Decidable"},"declaration":{"id":"v10","parameters":[{"borrow":false,"id":"v11","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"arguments":[{"id":"v118","kind":"fvar"}],"kind":"jump","target":"v96"},"id":"v118","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v111","kind":"fvar"},{"id":"v117","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v117","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v115","kind":"fvar"},{"id":"v116","kind":"fvar"}],"function":"v114","kind":"apply"}},"id":"v116","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v110"}},"id":"v115","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v93"}},"id":"v114","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v113"}},"id":"v113","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v112","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v112","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v111","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v110"}},"id":"v110","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v109","kind":"apply"}},"id":"v109","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v108","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v108","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Leukocytosis.guard"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v107","type":{"kind":"erased"}}]},{"code":{"arguments":[{"id":"v93","kind":"fvar"}],"kind":"jump","target":"v96"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v119","type":{"kind":"erased"}}]}],"discriminant":"v95","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Decidable"},"declaration":{"id":"v96","parameters":[{"borrow":false,"id":"v97","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"arguments":[{"id":"v106","kind":"fvar"}],"kind":"jump","target":"v15"},"id":"v106","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v99","kind":"fvar"},{"id":"v105","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v105","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v103","kind":"fvar"},{"id":"v104","kind":"fvar"}],"function":"v102","kind":"apply"}},"id":"v104","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v98"}},"id":"v103","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v12"}},"id":"v102","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v101"}},"id":"v101","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v100","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v100","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v99","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v98"}},"id":"v98","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v97","kind":"apply"}}},"kind":"join"},"id":"v95","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v94","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v94","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v93"}},"id":"v93","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v92","kind":"apply"}},"id":"v92","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v91","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v91","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Tachypnea.guard"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v90","type":{"kind":"erased"}}]},{"code":{"arguments":[{"id":"v12","kind":"fvar"}],"kind":"jump","target":"v15"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v120","type":{"kind":"erased"}}]}],"discriminant":"v14","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Decidable"},"declaration":{"id":"v15","parameters":[{"borrow":false,"id":"v16","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"arguments":[{"id":"v87","kind":"fvar"}],"kind":"jump","target":"v29"},"id":"v87","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v80","kind":"fvar"},{"id":"v86","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v86","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v84","kind":"fvar"},{"id":"v85","kind":"fvar"}],"function":"v83","kind":"apply"}},"id":"v85","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v79"}},"id":"v84","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v26"}},"id":"v83","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v82"}},"id":"v82","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v81","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v81","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v80","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v79"}},"id":"v79","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v78","kind":"apply"}},"id":"v78","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v77","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v77","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Sepsis.guard"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v76","type":{"kind":"erased"}}]},{"code":{"arguments":[{"id":"v26","kind":"fvar"}],"kind":"jump","target":"v29"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v88","type":{"kind":"erased"}}]}],"discriminant":"v28","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Decidable"},"declaration":{"id":"v29","parameters":[{"borrow":false,"id":"v30","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"arguments":[{"id":"v73","kind":"fvar"}],"kind":"jump","target":"v51"},"id":"v73","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v66","kind":"fvar"},{"id":"v72","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v72","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v70","kind":"fvar"},{"id":"v71","kind":"fvar"}],"function":"v69","kind":"apply"}},"id":"v71","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v65"}},"id":"v70","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v48"}},"id":"v69","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v68"}},"id":"v68","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v67","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v67","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v66","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v65"}},"id":"v65","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v64","kind":"apply"}},"id":"v64","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v63","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v63","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Escalate.guard"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v62","type":{"kind":"erased"}}]},{"code":{"arguments":[{"id":"v48","kind":"fvar"}],"kind":"jump","target":"v51"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v74","type":{"kind":"erased"}}]}],"discriminant":"v50","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Decidable"},"declaration":{"id":"v51","parameters":[{"borrow":false,"id":"v52","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"arguments":[{"id":"v61","kind":"fvar"}],"kind":"jump","target":"v34"},"id":"v61","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v54","kind":"fvar"},{"id":"v60","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v60","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v58","kind":"fvar"},{"id":"v59","kind":"fvar"}],"function":"v57","kind":"apply"}},"id":"v59","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v53"}},"id":"v58","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v31"}},"id":"v57","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v56"}},"id":"v56","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v55","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v55","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v54","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v53"}},"id":"v53","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v52","kind":"apply"}}},"kind":"join"},"id":"v50","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v49","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v49","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v48"}},"id":"v48","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v47","kind":"apply"}},"id":"v47","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v46","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v46","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Shock.guard"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v45","type":{"kind":"erased"}}]},{"code":{"arguments":[{"id":"v31","kind":"fvar"}],"kind":"jump","target":"v34"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v75","type":{"kind":"erased"}}]}],"discriminant":"v33","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Decidable"},"declaration":{"id":"v34","parameters":[{"borrow":false,"id":"v35","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"arguments":[{"id":"v44","kind":"fvar"}],"kind":"jump","target":"v20"},"id":"v44","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v37","kind":"fvar"},{"id":"v43","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v41","kind":"fvar"},{"id":"v42","kind":"fvar"}],"function":"v40","kind":"apply"}},"id":"v42","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v36"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v17"}},"id":"v40","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v39"}},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v38","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v38","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v37","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v36"}},"id":"v36","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v35","kind":"apply"}}},"kind":"join"},"id":"v33","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v32","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v31"}},"id":"v31","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v30","kind":"apply"}}},"kind":"join"},"id":"v28","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v27","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v26"}},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v25","kind":"apply"}},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v24","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Sirs.guard"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v23","type":{"kind":"erased"}}]},{"code":{"arguments":[{"id":"v17","kind":"fvar"}],"kind":"jump","target":"v20"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v89","type":{"kind":"erased"}}]}],"discriminant":"v19","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Decidable"},"declaration":{"id":"v20","parameters":[{"borrow":false,"id":"v21","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v21"}}},"kind":"join"},"id":"v19","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v18","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v17"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v16","kind":"apply"}}},"kind":"join"},"id":"v14","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v12"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v11","kind":"apply"}}},"kind":"join"},"id":"v9","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Fever.guard"}},"level_parameters":[],"name":"Reasoning.Clinic.Triage.attempts","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"function":"v27","kind":"apply"}},"id":"v29","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v31","kind":"fvar"}],"function":"v5","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v31","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v28","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Option"},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.accept"}},"id":"v27","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"function":"v21","kind":"apply"}},"id":"v23","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v25","kind":"fvar"}],"function":"v14","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v25","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v22","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Option"},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.extract"}},"id":"v21","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v15","kind":"apply"}},"declaration":{"id":"v15","parameters":[{"borrow":false,"id":"v16","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v17","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"id":"v14","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.Triage.conclude","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":8,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"level_parameters":[],"name":"Reasoning.Clinic.Triage.extract","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v35","kind":"return"},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v34","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v34","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Clinic.Triage.Step.Fever","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v37","kind":"return"},"id":"v37","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v36","kind":"fvar"}],"function":"v9","kind":"apply"}},"id":"v36","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Clinic.Triage.Step.Tachycardia","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v38","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v38","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Clinic.Triage.Step.Tachypnea","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v41","kind":"return"},"id":"v41","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v40","kind":"fvar"}],"function":"v17","kind":"apply"}},"id":"v40","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Clinic.Triage.Step.Leukocytosis","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v43","kind":"return"},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v42","kind":"fvar"}],"function":"v21","kind":"apply"}},"id":"v42","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Clinic.Triage.Step.Sirs","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v45","kind":"return"},"id":"v45","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v44","kind":"fvar"}],"function":"v25","kind":"apply"}},"id":"v44","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Clinic.Triage.Step.Sepsis","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v47","kind":"return"},"id":"v47","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v46","kind":"fvar"}],"function":"v29","kind":"apply"}},"id":"v46","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Clinic.Triage.Step.Shock","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v49","kind":"return"},"id":"v49","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v48","kind":"fvar"}],"function":"v33","kind":"apply"}},"id":"v48","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Clinic.Triage.Step.Escalate","kind":"constructor","parameters":[]}],"discriminant":"v1","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Reasoning.Clinic.Triage.Step"},"id":"v33","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v30","kind":"apply"}},"declaration":{"id":"v30","parameters":[{"borrow":false,"id":"v31","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Escalate.apply"}}},"kind":"fun"},"id":"v29","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v26","kind":"apply"}},"declaration":{"id":"v26","parameters":[{"borrow":false,"id":"v27","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Shock.apply"}}},"kind":"fun"},"id":"v25","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v22","kind":"apply"}},"declaration":{"id":"v22","parameters":[{"borrow":false,"id":"v23","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Sepsis.apply"}}},"kind":"fun"},"id":"v21","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v18","kind":"apply"}},"declaration":{"id":"v18","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Sirs.apply"}}},"kind":"fun"},"id":"v17","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v14","kind":"apply"}},"declaration":{"id":"v14","parameters":[{"borrow":false,"id":"v15","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Leukocytosis.apply"}}},"kind":"fun"},"id":"v13","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v10","kind":"apply"}},"declaration":{"id":"v10","parameters":[{"borrow":false,"id":"v11","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Tachypnea.apply"}}},"kind":"fun"},"id":"v9","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Tachycardia.apply"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Fever.apply"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.Triage.fire","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v10","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"function":"v8","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}]}],"discriminant":"v9","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.select"}},"id":"v8","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.fire"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.Triage.next","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart.mk"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"level_parameters":[],"name":"Reasoning.Clinic.Triage.observe","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}},{"id":"v1","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.LexLeanCollections.iterateUntil"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.start"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"11"}}},"id":"v1","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.step"}},"level_parameters":[],"name":"Reasoning.Clinic.Triage.run","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}},{"id":"v1","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.LexLeanCollections.iterateUntil"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.observe"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"11"}}},"id":"v1","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.next"}},"level_parameters":[],"name":"Reasoning.Clinic.Triage.saturate","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v146","kind":"fvar"}],"kind":"jump","target":"v119"},"id":"v146","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v145","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"arguments":[{"id":"v149","kind":"fvar"}],"kind":"jump","target":"v119"},"id":"v149","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"id":"v148","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v148","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step.Fever"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v147","type":{"kind":"erased"}}]}],"discriminant":"v118","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v119","parameters":[{"borrow":false,"id":"v120","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v143","kind":"fvar"}],"kind":"jump","target":"v140"},"id":"v143","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"arguments":[{"id":"v144","kind":"fvar"}],"kind":"jump","target":"v137"},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v144","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}]}],"discriminant":"v120","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"declaration":{"id":"v140","parameters":[{"borrow":false,"id":"v141","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v142","kind":"fvar"}],"kind":"jump","target":"v121"},"id":"v142","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v141","kind":"fvar"}],"function":"v115","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v137","parameters":[{"borrow":false,"id":"v138","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v139","kind":"fvar"}],"kind":"jump","target":"v121"},"id":"v139","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v138","kind":"fvar"}],"function":"v104","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v121","parameters":[{"borrow":false,"id":"v122","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v135","kind":"fvar"}],"kind":"jump","target":"v129"},"id":"v135","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"arguments":[{"id":"v136","kind":"fvar"}],"kind":"jump","target":"v132"},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v136","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}]}],"discriminant":"v122","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"declaration":{"id":"v132","parameters":[{"borrow":false,"id":"v133","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v134","kind":"fvar"}],"kind":"jump","target":"v123"},"id":"v134","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v133","kind":"fvar"}],"function":"v74","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v129","parameters":[{"borrow":false,"id":"v130","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v131","kind":"fvar"}],"kind":"jump","target":"v123"},"id":"v131","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v130","kind":"fvar"}],"function":"v103","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v123","parameters":[{"borrow":false,"id":"v124","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"body":{"id":"v126","kind":"return"},"id":"v126","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v125","kind":"fvar"}],"function":"v73","kind":"apply"}},"id":"v125","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v128","kind":"return"},"id":"v128","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v127","kind":"fvar"}],"function":"v4","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v127","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}]}],"discriminant":"v124","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"}},"kind":"join"}},"kind":"join"}},"kind":"join"},"id":"v118","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v116","kind":"fvar"},{"id":"v117","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v117","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v116","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Fever.guard"}},"id":"v115","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v105","kind":"apply"}},"declaration":{"id":"v105","parameters":[{"borrow":false,"id":"v106","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v111","kind":"return"},"id":"v111","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v110","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v114","kind":"return"},"id":"v114","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"id":"v113","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v113","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step.Tachycardia"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v112","type":{"kind":"erased"}}]}],"discriminant":"v109","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v109","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v107","kind":"fvar"},{"id":"v108","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v108","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v107","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Tachycardia.guard"}}},"kind":"fun"},"id":"v104","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v103","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v75","kind":"apply"}},"declaration":{"id":"v75","parameters":[{"borrow":false,"id":"v76","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v99","kind":"fvar"}],"kind":"jump","target":"v92"},"id":"v99","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v98","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"arguments":[{"id":"v102","kind":"fvar"}],"kind":"jump","target":"v92"},"id":"v102","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"id":"v101","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v101","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step.Tachypnea"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v100","type":{"kind":"erased"}}]}],"discriminant":"v91","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v92","parameters":[{"borrow":false,"id":"v93","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"body":{"id":"v95","kind":"return"},"id":"v95","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v94","kind":"fvar"}],"function":"v88","kind":"apply"}},"id":"v94","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v97","kind":"return"},"id":"v97","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v96","kind":"fvar"}],"function":"v77","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v96","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}]}],"discriminant":"v93","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"}},"kind":"join"},"id":"v91","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v89","kind":"fvar"},{"id":"v90","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v90","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v89","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Tachypnea.guard"}},"id":"v88","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v78","kind":"apply"}},"declaration":{"id":"v78","parameters":[{"borrow":false,"id":"v79","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v84","kind":"return"},"id":"v84","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v83","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v87","kind":"return"},"id":"v87","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"id":"v86","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v86","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step.Leukocytosis"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v85","type":{"kind":"erased"}}]}],"discriminant":"v82","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v82","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v80","kind":"fvar"},{"id":"v81","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v81","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v80","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Leukocytosis.guard"}}},"kind":"fun"},"id":"v77","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}}},"kind":"fun"},"id":"v74","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v73","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v69","kind":"fvar"}],"kind":"jump","target":"v52"},"id":"v69","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v68","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"arguments":[{"id":"v72","kind":"fvar"}],"kind":"jump","target":"v52"},"id":"v72","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"id":"v71","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v71","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step.Sirs"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v70","type":{"kind":"erased"}}]}],"discriminant":"v51","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v52","parameters":[{"borrow":false,"id":"v53","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v66","kind":"fvar"}],"kind":"jump","target":"v63"},"id":"v66","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"arguments":[{"id":"v67","kind":"fvar"}],"kind":"jump","target":"v60"},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v67","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}]}],"discriminant":"v53","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"declaration":{"id":"v63","parameters":[{"borrow":false,"id":"v64","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v65","kind":"fvar"}],"kind":"jump","target":"v54"},"id":"v65","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v64","kind":"fvar"}],"function":"v48","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v60","parameters":[{"borrow":false,"id":"v61","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v62","kind":"fvar"}],"kind":"jump","target":"v54"},"id":"v62","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v61","kind":"fvar"}],"function":"v37","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v54","parameters":[{"borrow":false,"id":"v55","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"body":{"id":"v57","kind":"return"},"id":"v57","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v56","kind":"fvar"}],"function":"v36","kind":"apply"}},"id":"v56","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v59","kind":"return"},"id":"v59","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v58","kind":"fvar"}],"function":"v7","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v58","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}]}],"discriminant":"v55","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"}},"kind":"join"}},"kind":"join"},"id":"v51","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v49","kind":"fvar"},{"id":"v50","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v50","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v49","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Sirs.guard"}},"id":"v48","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v38","kind":"apply"}},"declaration":{"id":"v38","parameters":[{"borrow":false,"id":"v39","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v44","kind":"return"},"id":"v44","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v43","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v47","kind":"return"},"id":"v47","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"id":"v46","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v46","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step.Sepsis"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v45","type":{"kind":"erased"}}]}],"discriminant":"v42","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v42","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v40","kind":"fvar"},{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v40","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Sepsis.guard"}}},"kind":"fun"},"id":"v37","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v36","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v32","kind":"fvar"}],"kind":"jump","target":"v25"},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v31","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"arguments":[{"id":"v35","kind":"fvar"}],"kind":"jump","target":"v25"},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"id":"v34","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step.Shock"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v33","type":{"kind":"erased"}}]}],"discriminant":"v24","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v25","parameters":[{"borrow":false,"id":"v26","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v27","kind":"fvar"}],"function":"v21","kind":"apply"}},"id":"v27","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"function":"v10","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v29","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}]}],"discriminant":"v26","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"}},"kind":"join"},"id":"v24","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"},{"id":"v23","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Shock.guard"}},"id":"v21","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v11","kind":"apply"}},"declaration":{"id":"v11","parameters":[{"borrow":false,"id":"v12","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v16","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step.Escalate"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v18","type":{"kind":"erased"}}]}],"discriminant":"v15","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v15","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Escalate.guard"}}},"kind":"fun"},"id":"v10","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}}},"kind":"fun"},"id":"v7","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.Triage.select","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run.mk"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Ledger"},"value":{"arguments":[{"id":"v5","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Ledger.mk"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.observe"}},"level_parameters":[],"name":"Reasoning.Clinic.Triage.start","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v47","kind":"return"},"id":"v47","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v46","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v46","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v49","kind":"return"},"id":"v49","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v48","kind":"fvar"}],"function":"v43","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v48","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}]}],"discriminant":"v45","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v45","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v44","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.select"}},"id":"v44","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Triage.Run","value":"v0"}},"id":"v43","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v40","kind":"return"},"id":"v40","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v39","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v39","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v42","kind":"return"},"id":"v42","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v41","kind":"fvar"}],"function":"v36","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v41","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}]}],"discriminant":"v38","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v38","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v37","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.fire"}},"id":"v37","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Triage.Run","value":"v0"}},"id":"v36","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v35","kind":"return"},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}},{"id":"v34","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v33","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run.mk"}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Ledger"},"value":{"arguments":[{"id":"v23","kind":"fvar"},{"id":"v27","kind":"fvar"},{"id":"v29","kind":"fvar"},{"id":"v30","kind":"fvar"},{"id":"v31","kind":"fvar"},{"id":"v32","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Ledger.mk"}},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Clinic.Triage.Ledger","value":"v18"}},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Clinic.Triage.Ledger","value":"v18"}},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Clinic.Triage.Ledger","value":"v18"}},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v28","kind":"fvar"},{"id":"v22","kind":"fvar"}],"function":"v17","kind":"apply"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Clinic.Triage.Ledger","value":"v18"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v24","kind":"fvar"},{"id":"v26","kind":"fvar"}],"function":"v17","kind":"apply"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v25","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.attempts"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Triage.Run","value":"v0"}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Clinic.Triage.Ledger","value":"v18"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v22","kind":"fvar"}],"function":"v17","kind":"apply"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v21"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Triage.Ledger","value":"v18"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Ledger"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Clinic.Triage.Run","value":"v0"}},"id":"v17","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v16"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.LexLeanRuntime.append"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"id":"v6","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Clinic.Triage.Run","value":"v0"}},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Clinic.LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"kind":"const","levels":[],"name":"Reasoning.Clinic.LexLeanRuntime.instAppendableList"}}},"kind":"fun"},"id":"v7","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.Triage.step","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v15","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v14","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Bool"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v2"}},"id":"v13","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v10","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"id":"v7","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.conclude"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v2"}}},"kind":"fun"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.saturate"}},"level_parameters":[],"name":"Reasoning.Clinic.Triage.verdict","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Vitals","value":"v0"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"380"}}},"level_parameters":[],"name":"Reasoning.Clinic.feverish","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"90"}}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Clinic.Vitals","value":"v0"}},"level_parameters":[],"name":"Reasoning.Clinic.hypotensive","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Clinic.Vitals","value":"v0"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"12"}}},"level_parameters":[],"name":"Reasoning.Clinic.leukocytic","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v68","kind":"return"},"id":"v68","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v67","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v67","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v70","kind":"return"},"id":"v70","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v69","kind":"fvar"}],"function":"v62","kind":"apply"}},"id":"v69","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v66","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v66","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v65","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v65","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v64"}},"id":"v64","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v63","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v63","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v62","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v59","kind":"return"},"id":"v59","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v58","kind":"fvar"}],"function":"v53","kind":"apply"}},"id":"v58","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v61","kind":"return"},"id":"v61","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v60","kind":"fvar"}],"function":"v11","kind":"apply"}},"id":"v60","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v57","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v57","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v56","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v56","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v55"}},"id":"v55","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v54","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v54","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v53","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v51","kind":"fvar"}],"kind":"jump","target":"v48"},"id":"v51","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v52","kind":"fvar"}],"kind":"jump","target":"v45"},"id":"v52","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v41","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"declaration":{"id":"v48","parameters":[{"borrow":false,"id":"v49","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v50","kind":"fvar"}],"kind":"jump","target":"v42"},"id":"v50","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v49","kind":"fvar"}],"function":"v14","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v45","parameters":[{"borrow":false,"id":"v46","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v47","kind":"fvar"}],"kind":"jump","target":"v42"},"id":"v47","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v46","kind":"fvar"}],"function":"v40","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v42","parameters":[{"borrow":false,"id":"v43","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"id":"v44","kind":"return"},"id":"v44","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v43","kind":"fvar"}],"kind":"const","levels":[],"name":"Bool.not"}}},"kind":"join"},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.hypotensive"}},"id":"v40","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v15","kind":"apply"}},"declaration":{"id":"v15","parameters":[{"borrow":false,"id":"v16","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v37","kind":"return"},"id":"v37","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v36","kind":"fvar"}],"function":"v17","kind":"apply"}},"id":"v36","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v38","kind":"fvar"}],"function":"v30","kind":"apply"}},"id":"v38","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v35","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v31","kind":"fvar"},{"id":"v34","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v33"}},"id":"v33","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Clinic.Vitals","value":"v0"}},"id":"v30","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v18","kind":"apply"}},"declaration":{"id":"v18","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v26","kind":"fvar"}],"function":"v20","kind":"apply"}},"id":"v26","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v28","kind":"fvar"}],"function":"v24","kind":"apply"}},"id":"v28","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v25","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.feverish"}},"id":"v24","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v21","kind":"apply"}},"declaration":{"id":"v21","parameters":[{"borrow":false,"id":"v22","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.tachycardic"}}},"kind":"fun"},"id":"v20","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}}},"kind":"fun"},"id":"v17","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}}},"kind":"fun"},"id":"v14","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}}},"kind":"fun"},"id":"v11","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.recommendationCheck","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Clinic.Vitals","value":"v0"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"90"}}},"level_parameters":[],"name":"Reasoning.Clinic.tachycardic","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Clinic.Vitals","value":"v0"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"20"}}},"level_parameters":[],"name":"Reasoning.Clinic.tachypneic","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Main.GatewayTriage"}},"level_parameters":[],"name":"Reasoning.Main.GatewayModel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.verdict"}},"level_parameters":[],"name":"Reasoning.Main.GatewayTriage","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.extract"}},"level_parameters":[],"name":"Reasoning.Main.Grade.accept","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"function":"v27","kind":"apply"}},"id":"v29","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v31","kind":"fvar"}],"function":"v5","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v31","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v28","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Option"},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.accept"}},"id":"v27","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"function":"v21","kind":"apply"}},"id":"v23","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v25","kind":"fvar"}],"function":"v14","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v25","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v22","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Option"},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.extract"}},"id":"v21","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v15","kind":"apply"}},"declaration":{"id":"v15","parameters":[{"borrow":false,"id":"v16","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v17","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"id":"v14","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Main.Grade.conclude","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":8,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"level_parameters":[],"name":"Reasoning.Main.Grade.extract","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v35","kind":"return"},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v34","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v34","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Main.Grade.Step.Fever","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v37","kind":"return"},"id":"v37","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v36","kind":"fvar"}],"function":"v9","kind":"apply"}},"id":"v36","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Main.Grade.Step.Tachycardia","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v38","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v38","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Main.Grade.Step.Tachypnea","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v41","kind":"return"},"id":"v41","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v40","kind":"fvar"}],"function":"v17","kind":"apply"}},"id":"v40","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Main.Grade.Step.Leukocytosis","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v43","kind":"return"},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v42","kind":"fvar"}],"function":"v21","kind":"apply"}},"id":"v42","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Main.Grade.Step.Sirs","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v45","kind":"return"},"id":"v45","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v44","kind":"fvar"}],"function":"v25","kind":"apply"}},"id":"v44","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Main.Grade.Step.Sepsis","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v47","kind":"return"},"id":"v47","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v46","kind":"fvar"}],"function":"v29","kind":"apply"}},"id":"v46","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Main.Grade.Step.Shock","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v49","kind":"return"},"id":"v49","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v48","kind":"fvar"}],"function":"v33","kind":"apply"}},"id":"v48","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Main.Grade.Step.Escalate","kind":"constructor","parameters":[]}],"discriminant":"v1","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Reasoning.Main.Grade.Step"},"id":"v33","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v30","kind":"apply"}},"declaration":{"id":"v30","parameters":[{"borrow":false,"id":"v31","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Escalate.apply"}}},"kind":"fun"},"id":"v29","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v26","kind":"apply"}},"declaration":{"id":"v26","parameters":[{"borrow":false,"id":"v27","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Shock.apply"}}},"kind":"fun"},"id":"v25","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v22","kind":"apply"}},"declaration":{"id":"v22","parameters":[{"borrow":false,"id":"v23","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Sepsis.apply"}}},"kind":"fun"},"id":"v21","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v18","kind":"apply"}},"declaration":{"id":"v18","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Sirs.apply"}}},"kind":"fun"},"id":"v17","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v14","kind":"apply"}},"declaration":{"id":"v14","parameters":[{"borrow":false,"id":"v15","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Leukocytosis.apply"}}},"kind":"fun"},"id":"v13","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v10","kind":"apply"}},"declaration":{"id":"v10","parameters":[{"borrow":false,"id":"v11","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Tachypnea.apply"}}},"kind":"fun"},"id":"v9","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Tachycardia.apply"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Fever.apply"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Main.Grade.fire","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v10","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"function":"v8","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}]}],"discriminant":"v9","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.select"}},"id":"v8","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"kind":"arrow"},"value":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.fire"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Main.Grade.next","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart.mk"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"level_parameters":[],"name":"Reasoning.Main.Grade.observe","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}},{"id":"v1","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Main.LexLeanCollections.iterateUntil"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.observe"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"11"}}},"id":"v1","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.next"}},"level_parameters":[],"name":"Reasoning.Main.Grade.saturate","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v146","kind":"fvar"}],"kind":"jump","target":"v119"},"id":"v146","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v145","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"arguments":[{"id":"v149","kind":"fvar"}],"kind":"jump","target":"v119"},"id":"v149","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"id":"v148","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v148","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step.Fever"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v147","type":{"kind":"erased"}}]}],"discriminant":"v118","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v119","parameters":[{"borrow":false,"id":"v120","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v143","kind":"fvar"}],"kind":"jump","target":"v140"},"id":"v143","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"arguments":[{"id":"v144","kind":"fvar"}],"kind":"jump","target":"v137"},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v144","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}]}],"discriminant":"v120","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"declaration":{"id":"v140","parameters":[{"borrow":false,"id":"v141","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v142","kind":"fvar"}],"kind":"jump","target":"v121"},"id":"v142","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v141","kind":"fvar"}],"function":"v115","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v137","parameters":[{"borrow":false,"id":"v138","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v139","kind":"fvar"}],"kind":"jump","target":"v121"},"id":"v139","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v138","kind":"fvar"}],"function":"v104","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v121","parameters":[{"borrow":false,"id":"v122","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v135","kind":"fvar"}],"kind":"jump","target":"v129"},"id":"v135","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"arguments":[{"id":"v136","kind":"fvar"}],"kind":"jump","target":"v132"},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v136","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}]}],"discriminant":"v122","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"declaration":{"id":"v132","parameters":[{"borrow":false,"id":"v133","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v134","kind":"fvar"}],"kind":"jump","target":"v123"},"id":"v134","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v133","kind":"fvar"}],"function":"v74","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v129","parameters":[{"borrow":false,"id":"v130","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v131","kind":"fvar"}],"kind":"jump","target":"v123"},"id":"v131","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v130","kind":"fvar"}],"function":"v103","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v123","parameters":[{"borrow":false,"id":"v124","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"body":{"id":"v126","kind":"return"},"id":"v126","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v125","kind":"fvar"}],"function":"v73","kind":"apply"}},"id":"v125","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v128","kind":"return"},"id":"v128","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v127","kind":"fvar"}],"function":"v4","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v127","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}]}],"discriminant":"v124","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"}},"kind":"join"}},"kind":"join"}},"kind":"join"},"id":"v118","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v116","kind":"fvar"},{"id":"v117","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v117","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v116","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Fever.guard"}},"id":"v115","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v105","kind":"apply"}},"declaration":{"id":"v105","parameters":[{"borrow":false,"id":"v106","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v111","kind":"return"},"id":"v111","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v110","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v114","kind":"return"},"id":"v114","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"id":"v113","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v113","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step.Tachycardia"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v112","type":{"kind":"erased"}}]}],"discriminant":"v109","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v109","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v107","kind":"fvar"},{"id":"v108","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v108","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v107","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Tachycardia.guard"}}},"kind":"fun"},"id":"v104","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v103","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v75","kind":"apply"}},"declaration":{"id":"v75","parameters":[{"borrow":false,"id":"v76","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v99","kind":"fvar"}],"kind":"jump","target":"v92"},"id":"v99","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v98","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"arguments":[{"id":"v102","kind":"fvar"}],"kind":"jump","target":"v92"},"id":"v102","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"id":"v101","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v101","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step.Tachypnea"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v100","type":{"kind":"erased"}}]}],"discriminant":"v91","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v92","parameters":[{"borrow":false,"id":"v93","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"body":{"id":"v95","kind":"return"},"id":"v95","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v94","kind":"fvar"}],"function":"v88","kind":"apply"}},"id":"v94","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v97","kind":"return"},"id":"v97","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v96","kind":"fvar"}],"function":"v77","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v96","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}]}],"discriminant":"v93","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"}},"kind":"join"},"id":"v91","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v89","kind":"fvar"},{"id":"v90","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v90","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v89","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Tachypnea.guard"}},"id":"v88","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v78","kind":"apply"}},"declaration":{"id":"v78","parameters":[{"borrow":false,"id":"v79","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v84","kind":"return"},"id":"v84","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v83","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v87","kind":"return"},"id":"v87","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"id":"v86","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v86","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step.Leukocytosis"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v85","type":{"kind":"erased"}}]}],"discriminant":"v82","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v82","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v80","kind":"fvar"},{"id":"v81","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v81","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v80","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Leukocytosis.guard"}}},"kind":"fun"},"id":"v77","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}}},"kind":"fun"},"id":"v74","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v73","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v69","kind":"fvar"}],"kind":"jump","target":"v52"},"id":"v69","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v68","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"arguments":[{"id":"v72","kind":"fvar"}],"kind":"jump","target":"v52"},"id":"v72","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"id":"v71","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v71","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step.Sirs"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v70","type":{"kind":"erased"}}]}],"discriminant":"v51","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v52","parameters":[{"borrow":false,"id":"v53","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v66","kind":"fvar"}],"kind":"jump","target":"v63"},"id":"v66","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"arguments":[{"id":"v67","kind":"fvar"}],"kind":"jump","target":"v60"},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v67","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}]}],"discriminant":"v53","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"declaration":{"id":"v63","parameters":[{"borrow":false,"id":"v64","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v65","kind":"fvar"}],"kind":"jump","target":"v54"},"id":"v65","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v64","kind":"fvar"}],"function":"v48","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v60","parameters":[{"borrow":false,"id":"v61","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v62","kind":"fvar"}],"kind":"jump","target":"v54"},"id":"v62","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v61","kind":"fvar"}],"function":"v37","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v54","parameters":[{"borrow":false,"id":"v55","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"body":{"id":"v57","kind":"return"},"id":"v57","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v56","kind":"fvar"}],"function":"v36","kind":"apply"}},"id":"v56","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v59","kind":"return"},"id":"v59","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v58","kind":"fvar"}],"function":"v7","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v58","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}]}],"discriminant":"v55","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"}},"kind":"join"}},"kind":"join"},"id":"v51","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v49","kind":"fvar"},{"id":"v50","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v50","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v49","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Sirs.guard"}},"id":"v48","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v38","kind":"apply"}},"declaration":{"id":"v38","parameters":[{"borrow":false,"id":"v39","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v44","kind":"return"},"id":"v44","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v43","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v47","kind":"return"},"id":"v47","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"id":"v46","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v46","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step.Sepsis"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v45","type":{"kind":"erased"}}]}],"discriminant":"v42","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v42","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v40","kind":"fvar"},{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v40","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Sepsis.guard"}}},"kind":"fun"},"id":"v37","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v36","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v32","kind":"fvar"}],"kind":"jump","target":"v25"},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v31","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"arguments":[{"id":"v35","kind":"fvar"}],"kind":"jump","target":"v25"},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"id":"v34","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step.Shock"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v33","type":{"kind":"erased"}}]}],"discriminant":"v24","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v25","parameters":[{"borrow":false,"id":"v26","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v27","kind":"fvar"}],"function":"v21","kind":"apply"}},"id":"v27","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"function":"v10","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v29","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}]}],"discriminant":"v26","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"}},"kind":"join"},"id":"v24","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"},{"id":"v23","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Shock.guard"}},"id":"v21","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v11","kind":"apply"}},"declaration":{"id":"v11","parameters":[{"borrow":false,"id":"v12","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v16","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step.Escalate"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v18","type":{"kind":"erased"}}]}],"discriminant":"v15","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v15","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Escalate.guard"}}},"kind":"fun"},"id":"v10","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}}},"kind":"fun"},"id":"v7","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Main.Grade.select","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v15","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v14","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Bool"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v2"}},"id":"v13","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v10","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"id":"v7","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.conclude"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v2"}}},"kind":"fun"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.saturate"}},"level_parameters":[],"name":"Reasoning.Main.Grade.verdict","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"function":"v8","kind":"apply"}},"constructor":"Nat.zero","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v28","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v26","kind":"apply"}},"constructor":"Nat.succ","kind":"constructor","parameters":[{"borrow":false,"id":"v28","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v2","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Nat"},"id":"v26","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v11","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"function":"v16","kind":"apply"}},"id":"v22","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"function":"v20","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"id":"v0","kind":"fvar"}}]}],"discriminant":"v21","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Option"},"id":"v21","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"function":"v1","kind":"apply"}},"id":"v20","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Main.LexLeanCollections.iterateUntil"}}},"kind":"fun"},"id":"v16","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v11","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Main.LexLeanCollections.iterateUntil","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Main.LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Main.LexLeanRuntime.Lengthable.mk"}},"id":"v1","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.lengthTR"}},"level_parameters":[],"name":"Reasoning.Main.LexLeanRuntime.instLengthableList","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Main.LexLeanRuntime.Lengthable"},"kind":"app"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v3","kind":"apply"}},"id":"v3","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Main.LexLeanRuntime.Lengthable","value":"v1"}},"level_parameters":[],"name":"Reasoning.Main.LexLeanRuntime.length","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Main.LexLeanRuntime.Lengthable"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Main.LexLeanRuntime.Lengthable"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"function":"v9","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v13","kind":"fvar"}],"function":"v3","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v10","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Except"},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.verdict"}},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9"}}}},"kind":"fun"},"id":"v3","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"id":"v2","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Main.doseLevel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v14","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v17","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"function":"v8","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v16","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Except"},"id":"v16","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Main.GatewayModel"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals.mk"}},"id":"v14","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v12"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9"}}}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"id":"v7","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Main.gatewayLevel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v5","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v14","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v17","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"function":"v8","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v16","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Except"},"id":"v16","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.verdict"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals.mk"}},"id":"v14","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v12"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9"}}}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"id":"v7","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Main.gradeLevel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v5","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"function":"v10","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"function":"v4","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v11","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Except"},"id":"v11","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.verdict"}},"id":"v10","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v8"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9"}}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v2"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Main.planLeft","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"function":"v9","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v13","kind":"fvar"}],"function":"v3","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v10","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Except"},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.verdict"}},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9"}}}},"kind":"fun"},"id":"v3","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"id":"v2","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Main.screenDose","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"function":"v9","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"function":"v3","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v11","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Except"},"id":"v11","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.verdict"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9"}}}},"kind":"fun"},"id":"v3","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"id":"v2","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Main.spendLeft","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v14","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v17","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"function":"v8","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v16","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Except"},"id":"v16","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.verdict"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals.mk"}},"id":"v14","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v12"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9"}}}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"id":"v7","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Main.triageLevel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v5","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"function":"v17","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v20","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"function":"v11","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v22","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v19","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Except"},"id":"v19","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals.mk"}},"id":"v17","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v15"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"id":"v11","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Main.LexLeanRuntime.length"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v7"}},"id":"v8","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Main.LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"kind":"const","levels":[],"name":"Reasoning.Main.LexLeanRuntime.instLengthableList"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Main.triageSteps","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v5","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v4","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.EmptyB.conclusion"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.EmptyB.guard"}},"level_parameters":[],"name":"Reasoning.Planner.EmptyB.apply","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v0"}},"level_parameters":[],"name":"Reasoning.Planner.EmptyB.conclusion","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v18","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v20","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v17","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v15","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v0"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v14"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v12","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v7","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v9"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4"}}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v0"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.EmptyB.guard","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v4","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.FillA.conclusion"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.FillA.guard"}},"level_parameters":[],"name":"Reasoning.Planner.FillA.apply","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v0"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4"}}},"level_parameters":[],"name":"Reasoning.Planner.FillA.conclusion","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v18","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v20","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v17","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v15"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4"}}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v0"}},"id":"v12","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v7","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v9"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v0"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.FillA.guard","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v29","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v33","kind":"return"},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v31","kind":"fvar"},{"id":"v32","kind":"fvar"}],"function":"v28","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v31","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v32","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v3","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"List"},"id":"v28","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v10","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"function":"v11","kind":"apply"}},"id":"v22","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.lt","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"function":"v15","kind":"apply"}},"id":"v24","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.eq","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v26","kind":"fvar"}],"function":"v19","kind":"apply"}},"id":"v26","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.gt","kind":"constructor","parameters":[]}],"discriminant":"v21","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Ordering"},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v9","kind":"fvar"}],"function":"v20","kind":"apply"}},"id":"v20","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Planner.LexLeanCollections.Key","value":"v1"}},"id":"v19","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v16","kind":"apply"}},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.containsElement"}}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"id":"v11","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}}},"kind":"fun"},"id":"v7","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.LexLeanCollections.containsElement","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v36","kind":"return"},"id":"v36","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v35","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v35","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v37","kind":"fvar"},{"id":"v38","kind":"fvar"}],"function":"v34","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v37","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v38","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"List"},"id":"v34","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v11","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v28","kind":"fvar"}],"function":"v16","kind":"apply"}},"id":"v28","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.lt","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v31","kind":"return"},"id":"v31","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v30","kind":"fvar"}],"function":"v20","kind":"apply"}},"id":"v30","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.eq","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v33","kind":"return"},"id":"v33","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"function":"v25","kind":"apply"}},"id":"v32","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.gt","kind":"constructor","parameters":[]}],"discriminant":"v27","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Ordering"},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v10","kind":"fvar"}],"function":"v26","kind":"apply"}},"id":"v26","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Planner.LexLeanCollections.Key","value":"v1"}},"id":"v25","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v21","kind":"apply"}},"declaration":{"id":"v21","parameters":[{"borrow":false,"id":"v22","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v10","kind":"fvar"},{"id":"v23","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v23","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.insertElement"}}},"kind":"fun"},"id":"v20","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}}},"kind":"fun"},"id":"v16","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v14","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}}},"kind":"fun"}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v6","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.nil"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.LexLeanCollections.insertElement","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.Key.mk"}},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Ord","value":"v0"}},"id":"v0","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Ord"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instOrdNat"}},"level_parameters":[],"name":"Reasoning.Planner.LexLeanCollections.instKeyNat","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.Key"},"kind":"app"}},{"code":{"body":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.Key.mk"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v6","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v21","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v21","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.eq","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"kind":"type","type":{"kind":"any"}}],"function":"v23","kind":"apply"}},"declaration":{"id":"v23","parameters":[{"borrow":false,"id":"v24","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"function":"v16","kind":"apply"}}},"kind":"fun"},"kind":"default"}],"discriminant":"v20","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Ordering"},"type_name":"Ordering"},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v18","kind":"fvar"},{"id":"v19","kind":"fvar"}],"function":"v17","kind":"apply"}},"id":"v19","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v6"}},"id":"v18","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v5"}},"id":"v17","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Planner.LexLeanCollections.Key","value":"v2"}},"id":"v16","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Ordering"},"kind":"arrow"},"value":{"arguments":[],"function":"v14","kind":"apply"}},"declaration":{"id":"v14","parameters":[{"borrow":false,"id":"v15","type":{"kind":"const","levels":[],"name":"Ordering"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Ordering"},"kind":"arrow"},"value":{"id":"v15","kind":"return"}},"kind":"fun"},"id":"v13","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"function":"v9","kind":"apply"}},"id":"v11","kind":"let","type":{"id":"v1","kind":"fvar"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v6"}},"id":"v10","kind":"let","type":{"id":"v1","kind":"fvar"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v5"}},"id":"v9","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Planner.LexLeanCollections.Key","value":"v3"}}},"kind":"fun"}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.LexLeanCollections.instKeyProd","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.Key"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":3,"kind":"bvar"},{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.Key"},"kind":"app"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"function":"v8","kind":"apply"}},"constructor":"Nat.zero","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v28","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v26","kind":"apply"}},"constructor":"Nat.succ","kind":"constructor","parameters":[{"borrow":false,"id":"v28","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v2","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Nat"},"id":"v26","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v11","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"function":"v16","kind":"apply"}},"id":"v22","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"function":"v20","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"id":"v0","kind":"fvar"}}]}],"discriminant":"v21","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Option"},"id":"v21","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"function":"v1","kind":"apply"}},"id":"v20","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.iterateUntil"}}},"kind":"fun"},"id":"v16","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v11","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.LexLeanCollections.iterateUntil","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v1","kind":"fvar"},"value":{"arguments":[{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.foldl"}},"level_parameters":[],"name":"Reasoning.Planner.LexLeanCollections.listFold","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"codomain":{"codomain":{"id":"v1","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"}},{"borrow":false,"id":"v3","type":{"id":"v1","kind":"fvar"}},{"borrow":false,"id":"v4","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.containsElement"}},"level_parameters":[],"name":"Reasoning.Planner.LexLeanCollections.setContains","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.insertElement"}},"level_parameters":[],"name":"Reasoning.Planner.LexLeanCollections.setInsert","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Planner.LexLeanRuntime.Appendable","value":"v1"}},"level_parameters":[],"name":"Reasoning.Planner.LexLeanRuntime.append","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.Appendable"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.Appendable"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.Appendable.mk"}},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.appendTR"}},"level_parameters":[],"name":"Reasoning.Planner.LexLeanRuntime.instAppendableList","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.Appendable"},"kind":"app"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.Lengthable.mk"}},"id":"v1","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.lengthTR"}},"level_parameters":[],"name":"Reasoning.Planner.LexLeanRuntime.instLengthableList","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.Lengthable"},"kind":"app"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v3","kind":"apply"}},"id":"v3","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Planner.LexLeanRuntime.Lengthable","value":"v1"}},"level_parameters":[],"name":"Reasoning.Planner.LexLeanRuntime.length","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.Lengthable"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.Lengthable"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HMul","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HMul"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHMul"}},"level_parameters":[],"name":"Reasoning.Planner.LexLeanRuntime.multiply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HSub","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HSub"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHSub"}},"level_parameters":[],"name":"Reasoning.Planner.LexLeanRuntime.subtract","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v21","kind":"fvar"}],"function":"v18","kind":"apply"}},"id":"v21","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"function":"v10","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v23","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v20","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Option"},"id":"v20","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Planner.Plan.Search","value":"v19"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v2"}},"id":"v18","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v11","kind":"apply"}},"declaration":{"id":"v11","parameters":[{"borrow":false,"id":"v12","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.failure"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Planner.Plan.Search","value":"v14"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v2"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v2"}}},"kind":"fun"},"id":"v10","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"id":"v8","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v5","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Planner.Plan.Node","value":"v6"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v4"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v4"}}},"kind":"fun"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.run"}},"level_parameters":[],"name":"Reasoning.Planner.Plan","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v20","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"function":"v16","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v22","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v19","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Option"},"id":"v19","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v17","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.fire"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step.EmptyB"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Planner.Plan.Node","value":"v0"}},"id":"v16","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node.mk"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v7","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.append"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}},{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step.EmptyB"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Planner.Plan.Node","value":"v0"}},"id":"v7","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.instAppendableList"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.Plan.EmptyB.successors","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v20","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"function":"v16","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v22","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v19","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Option"},"id":"v19","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v17","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.fire"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step.FillA"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Planner.Plan.Node","value":"v0"}},"id":"v16","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node.mk"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v7","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.append"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}},{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step.FillA"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Planner.Plan.Node","value":"v0"}},"id":"v7","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.instAppendableList"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.Plan.FillA.successors","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v23","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v25","kind":"fvar"}],"function":"v19","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v25","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v22","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Option"},"id":"v22","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.fire"}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step.Pour"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Planner.Plan.Node","value":"v0"}},"id":"v19","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v8","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.append"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}},{"id":"v15","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"value":{"arguments":[{"id":"v7","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node.mk"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.append"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step.Pour"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Planner.Plan.Node","value":"v0"}},"id":"v9","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.instAppendableList"}},"id":"v8","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.instAppendableList"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"id":"v1","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.Plan.Pour.collect","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}},{"borrow":false,"id":"v1","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.listFold"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Pour.candidates"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Planner.Plan.Node","value":"v0"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Pour.collect"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.Plan.Pour.successors","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"function":"v15","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v19","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v16","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v16","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.extract"}},"id":"v15","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"kind":"erased"}}]}],"discriminant":"v10","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v10","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.measuresCheck"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.Plan.accept","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v10","kind":"fvar"}],"function":"v3","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v9","kind":"fvar"}],"function":"v3","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v7","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.length"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Pour.candidates"}},"id":"v7","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.instLengthableList"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v3","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"level_parameters":[],"name":"Reasoning.Planner.Plan.attempts","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"level_parameters":[],"name":"Reasoning.Planner.Plan.extract","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v26","kind":"fvar"}],"kind":"jump","target":"v23"},"id":"v26","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v27","kind":"fvar"}],"kind":"jump","target":"v20"},"id":"v27","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v0","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Bool"},"declaration":{"id":"v23","parameters":[{"borrow":false,"id":"v24","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v25","kind":"fvar"}],"kind":"jump","target":"v10"},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"function":"v5","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v20","parameters":[{"borrow":false,"id":"v21","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v22","kind":"fvar"}],"kind":"jump","target":"v10"},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v21","kind":"fvar"}],"function":"v9","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v10","parameters":[{"borrow":false,"id":"v11","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v15","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v18","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v17","type":{"kind":"erased"}}]}],"discriminant":"v13","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Decidable"},"id":"v13","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"join"},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Bool.not"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.Plan.failure","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Bool"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Bool"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v14","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Planner.Plan.Step.FillA","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v16","kind":"fvar"}],"function":"v9","kind":"apply"}},"id":"v16","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Planner.Plan.Step.EmptyB","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"function":"v13","kind":"apply"}},"constructor":"Reasoning.Planner.Plan.Step.Pour","kind":"constructor","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v1","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Reasoning.Planner.Plan.Step"},"id":"v13","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v10","kind":"apply"}},"declaration":{"id":"v10","parameters":[{"borrow":false,"id":"v11","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Pour.apply"}}},"kind":"fun"},"id":"v9","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.EmptyB.apply"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.FillA.apply"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.Plan.fire","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v2","kind":"fvar"},{"id":"v22","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.listFold"}},"id":"v22","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v21","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v17","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v18","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.setInsert"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.append"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}},{"id":"v4","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v3"}},"id":"v13","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.instAppendableList"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"kind":"erased"}}]},{"code":{"id":"v3","kind":"return"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v20","type":{"kind":"erased"}}]}],"discriminant":"v11","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Decidable"},"id":"v11","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.setContains"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Planner.Plan.Node","value":"v4"}},"id":"v7","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v3"}},"id":"v6","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v5","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.instKeyProd"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.instKeyNat"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.Plan.fresh","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"level_parameters":[],"name":"Reasoning.Planner.Plan.observe","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}},{"id":"v1","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.iterateUntil"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.start"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v4","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.multiply"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"8"}}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instMulNat"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.searchStep"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.Plan.run","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v148","kind":"return"},"id":"v148","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v147","kind":"fvar"}],"function":"v145","kind":"apply"}},"id":"v147","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v150","kind":"return"},"id":"v150","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v149","kind":"fvar"}],"function":"v5","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v149","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v146","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v146","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Planner.Plan.Search","value":"v1"}},"id":"v145","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v141","kind":"return"},"id":"v141","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v140","kind":"fvar"}],"function":"v11","kind":"apply"}},"id":"v140","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v144","kind":"return"},"id":"v144","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v142","kind":"fvar"},{"id":"v143","kind":"fvar"}],"function":"v138","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v142","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}},{"borrow":false,"id":"v143","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v139","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"List"},"id":"v139","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Planner.Plan.Search","value":"v1"}},"id":"v138","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}},{"borrow":false,"id":"v14","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v135","kind":"return"},"id":"v135","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v134","kind":"fvar"}],"function":"v131","kind":"apply"}},"id":"v134","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v137","kind":"return"},"id":"v137","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v136","kind":"fvar"}],"function":"v39","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v136","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v133","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v133","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v132","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.accept"}},"id":"v132","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Planner.Plan.Node","value":"v13"}},"id":"v131","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v40","kind":"apply"}},"declaration":{"id":"v40","parameters":[{"borrow":false,"id":"v41","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v129","kind":"fvar"}],"kind":"jump","target":"v126"},"id":"v129","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v130","kind":"fvar"}],"kind":"jump","target":"v123"},"id":"v130","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v87","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Bool"},"declaration":{"id":"v126","parameters":[{"borrow":false,"id":"v127","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v128","kind":"fvar"}],"kind":"jump","target":"v88"},"id":"v128","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v127","kind":"fvar"}],"function":"v86","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v123","parameters":[{"borrow":false,"id":"v124","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v125","kind":"fvar"}],"kind":"jump","target":"v88"},"id":"v125","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v124","kind":"fvar"}],"function":"v76","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v88","parameters":[{"borrow":false,"id":"v89","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"arguments":[{"id":"v111","kind":"fvar"}],"kind":"jump","target":"v116"},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v121","type":{"kind":"erased"}}]},{"code":{"arguments":[{"id":"v112","kind":"fvar"}],"kind":"jump","target":"v116"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v122","type":{"kind":"erased"}}]}],"discriminant":"v115","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v116","parameters":[{"borrow":false,"id":"v117","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v120","kind":"return"},"id":"v120","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}},{"id":"v119","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v119","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"},"value":{"arguments":[{"id":"v70","kind":"fvar"},{"id":"v71","kind":"fvar"},{"id":"v72","kind":"fvar"},{"id":"v89","kind":"fvar"},{"id":"v118","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search.mk"}},"id":"v118","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Ledger"},"value":{"arguments":[{"id":"v98","kind":"fvar"},{"id":"v102","kind":"fvar"},{"id":"v106","kind":"fvar"},{"id":"v108","kind":"fvar"},{"id":"v110","kind":"fvar"},{"id":"v117","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Ledger.mk"}}},"kind":"join"},"id":"v115","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v113","kind":"fvar"},{"id":"v114","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v114","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v113","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v111","kind":"fvar"},{"id":"v112","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v112","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v104","kind":"fvar"},{"id":"v70","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.length"}},"id":"v111","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Planner.Plan.Ledger","value":"v93"}},"id":"v110","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v109","kind":"fvar"},{"id":"v97","kind":"fvar"}],"function":"v92","kind":"apply"}},"id":"v109","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Planner.Plan.Ledger","value":"v93"}},"id":"v108","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v107","kind":"fvar"},{"id":"v97","kind":"fvar"}],"function":"v92","kind":"apply"}},"id":"v107","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Planner.Plan.Ledger","value":"v93"}},"id":"v106","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v103","kind":"fvar"},{"id":"v105","kind":"fvar"}],"function":"v92","kind":"apply"}},"id":"v105","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v104","kind":"fvar"},{"id":"v43","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.length"}},"id":"v104","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.instLengthableList"}},"id":"v103","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Planner.Plan.Ledger","value":"v93"}},"id":"v102","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v99","kind":"fvar"},{"id":"v101","kind":"fvar"}],"function":"v92","kind":"apply"}},"id":"v101","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v100","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.attempts"}},"id":"v100","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Planner.Plan.Node","value":"v13"}},"id":"v99","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Planner.Plan.Ledger","value":"v93"}},"id":"v98","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v94","kind":"fvar"},{"id":"v97","kind":"fvar"}],"function":"v92","kind":"apply"}},"id":"v97","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v96"}},"id":"v96","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v95","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v95","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v94","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Planner.Plan.Ledger","value":"v93"}},"id":"v93","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Ledger"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Planner.Plan.Search","value":"v1"}},"id":"v92","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v91"}},"id":"v91","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v90","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v90","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"join"},"id":"v87","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Planner.Plan.Search","value":"v1"}},"id":"v86","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v77","kind":"apply"}},"declaration":{"id":"v77","parameters":[{"borrow":false,"id":"v78","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v85","kind":"return"},"id":"v85","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v82","kind":"fvar"},{"id":"v84","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v84","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v83","kind":"fvar"},{"id":"v50","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.length"}},"id":"v83","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.instLengthableList"}},"id":"v82","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"function":"v81","kind":"apply"}},"id":"v81","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v80"}},"id":"v80","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v79","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v79","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"id":"v76","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v73","kind":"apply"}},"declaration":{"id":"v73","parameters":[{"borrow":false,"id":"v74","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v75","kind":"return"},"id":"v75","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"id":"v72","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"id":"v71","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v46"}},"id":"v70","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v69","kind":"apply"}},"id":"v69","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v51","kind":"fvar"},{"id":"v68","kind":"fvar"},{"id":"v50","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.listFold"}},"id":"v68","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"declaration":{"id":"v51","parameters":[{"borrow":false,"id":"v52","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v53","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"id":"v52","kind":"return"},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v63","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v67","kind":"return"},"id":"v67","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v47","kind":"fvar"},{"id":"v52","kind":"fvar"},{"id":"v66","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.append"}},"id":"v66","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}},{"id":"v53","kind":"fvar"},{"id":"v65","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v65","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v64","type":{"kind":"erased"}}]}],"discriminant":"v62","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Decidable"},"id":"v62","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v60","kind":"fvar"},{"id":"v61","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v61","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v60","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v55","kind":"fvar"},{"id":"v59","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v59","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"function":"v58","kind":"apply"}},"id":"v58","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v57"}},"id":"v57","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v56","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v56","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v55","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v54","kind":"fvar"},{"id":"v52","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.length"}},"id":"v54","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.instLengthableList"}}},"kind":"fun"},"id":"v50","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v49","kind":"apply"}},"id":"v49","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v47","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v48","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.append"}},"id":"v48","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v46"}},"id":"v47","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.instAppendableList"}},"id":"v46","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v45","kind":"apply"}},"id":"v45","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v44","kind":"fvar"},{"id":"v43","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.fresh"}},"id":"v44","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Planner.Plan.Search","value":"v1"}},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v42","kind":"apply"}},"id":"v42","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.successors"}}},"kind":"fun"},"id":"v39","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v15","kind":"apply"}},"declaration":{"id":"v15","parameters":[{"borrow":false,"id":"v16","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v38","kind":"return"},"id":"v38","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}},{"id":"v37","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v37","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"},"value":{"arguments":[{"id":"v14","kind":"fvar"},{"id":"v17","kind":"fvar"},{"id":"v19","kind":"fvar"},{"id":"v20","kind":"fvar"},{"id":"v36","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search.mk"}},"id":"v36","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Ledger"},"value":{"arguments":[{"id":"v29","kind":"fvar"},{"id":"v30","kind":"fvar"},{"id":"v31","kind":"fvar"},{"id":"v32","kind":"fvar"},{"id":"v34","kind":"fvar"},{"id":"v35","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Ledger.mk"}},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Planner.Plan.Ledger","value":"v24"}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v33","kind":"fvar"},{"id":"v28","kind":"fvar"}],"function":"v23","kind":"apply"}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Planner.Plan.Ledger","value":"v24"}},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Planner.Plan.Ledger","value":"v24"}},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Planner.Plan.Ledger","value":"v24"}},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Planner.Plan.Ledger","value":"v24"}},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v25","kind":"fvar"},{"id":"v28","kind":"fvar"}],"function":"v23","kind":"apply"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v27"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v26","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Planner.Plan.Ledger","value":"v24"}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Ledger"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Planner.Plan.Search","value":"v1"}},"id":"v23","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v22"}},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Planner.Plan.Search","value":"v1"}},"id":"v19","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v18","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v18","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}},{"id":"v16","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v17","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Planner.Plan.Search","value":"v1"}}},"kind":"fun"}},"kind":"fun"},"id":"v11","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.Plan.searchStep","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v45","kind":"return"},"id":"v45","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"},"value":{"arguments":[{"id":"v25","kind":"fvar"},{"id":"v29","kind":"fvar"},{"id":"v30","kind":"fvar"},{"id":"v38","kind":"fvar"},{"id":"v44","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search.mk"}},"id":"v44","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Ledger"},"value":{"arguments":[{"id":"v41","kind":"fvar"},{"id":"v41","kind":"fvar"},{"id":"v41","kind":"fvar"},{"id":"v41","kind":"fvar"},{"id":"v41","kind":"fvar"},{"id":"v43","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Ledger.mk"}},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v42","kind":"fvar"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.length"}},"id":"v42","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.instLengthableList"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v40"}},"id":"v40","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v39","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v39","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v38","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v34","kind":"fvar"},{"id":"v37","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v37","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v36"}},"id":"v36","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v35","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"function":"v33","kind":"apply"}},"id":"v33","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v32"}},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v31","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v31","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v30","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"id":"v29","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v27","kind":"fvar"},{"id":"v28","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.setInsert"}},"id":"v28","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v27","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v26","kind":"fvar"},{"id":"v26","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.instKeyProd"}},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.instKeyNat"}},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v24","kind":"apply"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v19","kind":"fvar"},{"id":"v23","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.listFold"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}},{"id":"v22","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"value":{"arguments":[{"id":"v20","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node.mk"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.observe"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"id":"v2","kind":"return"},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v15","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.append"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}},{"id":"v3","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v15","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.instAppendableList"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"kind":"erased"}}]}],"discriminant":"v12","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Decidable"},"id":"v12","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v5","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v8","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v4","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.length"}},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.instLengthableList"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.Plan.start","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.append"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.append"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Pour.successors"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.EmptyB.successors"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.FillA.successors"}},"id":"v1","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.instAppendableList"}},"level_parameters":[],"name":"Reasoning.Planner.Plan.successors","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"function":"v9","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"}],"function":"v5","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v10","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Except"},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan"}},"id":"v9","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v2"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.Plan.verdict","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v5","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Pour.conclusion"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v7","type":{"kind":"erased"}}]}],"discriminant":"v4","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Pour.guard"}},"level_parameters":[],"name":"Reasoning.Planner.Pour.apply","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v6","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v8"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"level_parameters":[],"name":"Reasoning.Planner.Pour.candidates","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v4","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v8","kind":"fvar"},{"id":"v1","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v0"}},"id":"v7","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.subtract"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v0"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubNat"}},"level_parameters":[],"name":"Reasoning.Planner.Pour.conclusion","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v34","kind":"return"},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v33","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v36","kind":"return"},"id":"v36","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v35","kind":"fvar"}],"function":"v30","kind":"apply"}},"id":"v35","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v32","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v31","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v0"}},"id":"v30","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v26","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v26","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v28","kind":"fvar"}],"function":"v16","kind":"apply"}},"id":"v28","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v25","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v21","kind":"fvar"},{"id":"v24","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v23"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v20","kind":"fvar"},{"id":"v1","kind":"fvar"}],"function":"v19","kind":"apply"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v0"}},"id":"v19","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v18"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v17","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v16","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v11","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v13"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4"}}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v0"}}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.Pour.guard","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v16","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v16","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v18","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v15","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v14","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v1"}},"id":"v13","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v8","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4"}}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v1"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.measuresCheck","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"arguments":[{"id":"v23","kind":"fvar"}],"kind":"jump","target":"v14"},"id":"v23","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v22","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v12","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v20","type":{"kind":"erased"}}]},{"code":{"body":{"arguments":[{"id":"v25","kind":"fvar"}],"kind":"jump","target":"v14"},"id":"v25","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"kind":"erased"}}]}],"discriminant":"v13","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v14","parameters":[{"borrow":false,"id":"v15","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v16","kind":"fvar"}],"function":"v7","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v16","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"function":"v3","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v18","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v15","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Except"}},"kind":"join"},"id":"v13","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v8","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.shortCheck"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.DoseModel"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v0","kind":"apply"}},"id":"v7","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"List.nil"}}},"kind":"fun"},"id":"v3","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"id":"v2","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Dose.candidates","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v33","kind":"return"},"id":"v33","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"function":"v30","kind":"apply"}},"id":"v32","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v35","kind":"return"},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v34","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v34","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v31","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Bool"},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Screening.Dose.Trial","value":"v0"}},"id":"v30","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v26","kind":"fvar"}],"function":"v19","kind":"apply"}},"id":"v26","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v28","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v28","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v25","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Bool"},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v21","kind":"fvar"},{"id":"v24","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v23"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Screening.Dose.Ledger","value":"v20"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Ledger"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Screening.Dose.Trial","value":"v0"}},"id":"v19","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v14","kind":"apply"}},"declaration":{"id":"v14","parameters":[{"borrow":false,"id":"v15","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v16","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"id":"v13","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Dose.failure","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"}},{"id":"v1","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanCollections.listFold"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.candidates"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"value":{"arguments":[{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial.mk"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Ledger"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v9","kind":"fvar"},{"id":"v9","kind":"fvar"},{"id":"v9","kind":"fvar"},{"id":"v9","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Ledger.mk"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v8"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.try"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Dose.run","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v51","kind":"return"},"id":"v51","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"value":{"arguments":[{"id":"v50","kind":"fvar"}],"function":"v48","kind":"apply"}},"id":"v50","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v53","kind":"return"},"id":"v53","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"value":{"arguments":[{"id":"v52","kind":"fvar"}],"function":"v5","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v52","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v49","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"type_name":"Option"},"id":"v49","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Screening.Dose.Trial","value":"v1"}},"id":"v48","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v45","kind":"return"},"id":"v45","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"value":{"arguments":[{"id":"v44","kind":"fvar"}],"function":"v37","kind":"apply"}},"id":"v44","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v47","kind":"return"},"id":"v47","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"value":{"arguments":[{"id":"v46","kind":"fvar"}],"function":"v30","kind":"apply"}},"id":"v46","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v43","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"type_name":"Bool"},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v39","kind":"fvar"},{"id":"v42","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v42","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v41"}},"id":"v41","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v40","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v40","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v39","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Screening.Dose.Ledger","value":"v38"}},"id":"v38","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Ledger"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Screening.Dose.Trial","value":"v1"}},"id":"v37","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v31","kind":"apply"}},"declaration":{"id":"v31","parameters":[{"borrow":false,"id":"v32","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v36","kind":"return"},"id":"v36","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"value":{"arguments":[{"id":"v33","kind":"fvar"},{"id":"v34","kind":"fvar"},{"id":"v35","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial.mk"}},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Ledger"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Screening.Dose.Trial","value":"v1"}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v33","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"id":"v30","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"value":{"arguments":[{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v28","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial.mk"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Ledger"},"value":{"arguments":[{"id":"v20","kind":"fvar"},{"id":"v22","kind":"fvar"},{"id":"v23","kind":"fvar"},{"id":"v24","kind":"fvar"},{"id":"v26","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Ledger.mk"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Screening.Dose.Ledger","value":"v15"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v25","kind":"fvar"},{"id":"v19","kind":"fvar"}],"function":"v14","kind":"apply"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Screening.Dose.Ledger","value":"v15"}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Screening.Dose.Ledger","value":"v15"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Screening.Dose.Ledger","value":"v15"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v21","kind":"fvar"},{"id":"v19","kind":"fvar"}],"function":"v14","kind":"apply"}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Screening.Dose.Ledger","value":"v15"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v16","kind":"fvar"},{"id":"v19","kind":"fvar"}],"function":"v14","kind":"apply"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v18"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Screening.Dose.Ledger","value":"v15"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Ledger"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Screening.Dose.Trial","value":"v1"}},"id":"v14","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v13"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Screening.Dose.Trial","value":"v1"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.verify"}}},"kind":"fun"}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"id":"v1","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Dose.try","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"}],"function":"v11","kind":"apply"}},"id":"v13","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"function":"v6","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v15","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v12","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Option"},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Screening.Dose.Trial","value":"v2"}},"id":"v11","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.failure"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}}},"kind":"fun"},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.run"}},"level_parameters":[],"name":"Reasoning.Screening.Dose.verdict","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v5","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v7","type":{"kind":"erased"}}]}],"discriminant":"v4","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.safeCheck"}},"level_parameters":[],"name":"Reasoning.Screening.Dose.verify","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v5","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v9","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v13","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v17","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.subtract"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v15"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"50"}}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.subtract"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v11"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"30"}}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.subtract"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"20"}}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.subtract"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"10"}}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubNat"}},"level_parameters":[],"name":"Reasoning.Screening.DoseCandidates","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.DoseCandidates"}},"level_parameters":[],"name":"Reasoning.Screening.DoseModel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"function":"v8","kind":"apply"}},"constructor":"Nat.zero","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v28","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v26","kind":"apply"}},"constructor":"Nat.succ","kind":"constructor","parameters":[{"borrow":false,"id":"v28","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v2","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Nat"},"id":"v26","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v11","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"function":"v16","kind":"apply"}},"id":"v22","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"function":"v20","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"id":"v0","kind":"fvar"}}]}],"discriminant":"v21","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Option"},"id":"v21","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"function":"v1","kind":"apply"}},"id":"v20","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanCollections.iterateUntil"}}},"kind":"fun"},"id":"v16","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v11","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.LexLeanCollections.iterateUntil","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v1","kind":"fvar"},"value":{"arguments":[{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.foldl"}},"level_parameters":[],"name":"Reasoning.Screening.LexLeanCollections.listFold","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"codomain":{"codomain":{"id":"v1","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"}},{"borrow":false,"id":"v3","type":{"id":"v1","kind":"fvar"}},{"borrow":false,"id":"v4","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Screening.LexLeanRuntime.Appendable","value":"v1"}},"level_parameters":[],"name":"Reasoning.Screening.LexLeanRuntime.append","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.Appendable"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.Appendable"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.Appendable.mk"}},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.appendTR"}},"level_parameters":[],"name":"Reasoning.Screening.LexLeanRuntime.instAppendableList","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.Appendable"},"kind":"app"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.Lengthable.mk"}},"id":"v1","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.lengthTR"}},"level_parameters":[],"name":"Reasoning.Screening.LexLeanRuntime.instLengthableList","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.Lengthable"},"kind":"app"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v3","kind":"apply"}},"id":"v3","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Screening.LexLeanRuntime.Lengthable","value":"v1"}},"level_parameters":[],"name":"Reasoning.Screening.LexLeanRuntime.length","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.Lengthable"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.Lengthable"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HSub","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HSub"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHSub"}},"level_parameters":[],"name":"Reasoning.Screening.LexLeanRuntime.subtract","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v5","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Propose.conclusion"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v7","type":{"kind":"erased"}}]}],"discriminant":"v4","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Propose.guard"}},"level_parameters":[],"name":"Reasoning.Screening.Propose.apply","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"arguments":[{"id":"v24","kind":"fvar"}],"kind":"jump","target":"v15"},"id":"v24","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v23","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v13","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v21","type":{"kind":"erased"}}]},{"code":{"body":{"arguments":[{"id":"v26","kind":"fvar"}],"kind":"jump","target":"v15"},"id":"v26","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v25","type":{"kind":"erased"}}]}],"discriminant":"v14","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v15","parameters":[{"borrow":false,"id":"v16","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v7","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v17","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"function":"v3","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v19","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v16","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Except"}},"kind":"join"},"id":"v14","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.shortCheck"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v10","kind":"apply"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.DoseModel"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v0"}},"id":"v7","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"List.nil"}}},"kind":"fun"},"id":"v3","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"id":"v2","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Propose.candidates","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v0"}},"level_parameters":[],"name":"Reasoning.Screening.Propose.conclusion","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v18","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v20","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v17","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v15"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v0"}},"id":"v12","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v10","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v9"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Propose.guard","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v21","kind":"fvar"}],"function":"v18","kind":"apply"}},"id":"v21","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"function":"v10","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v23","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v20","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Option"},"id":"v20","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Screening.Screen.Search","value":"v19"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v2"}},"id":"v18","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v11","kind":"apply"}},"declaration":{"id":"v11","parameters":[{"borrow":false,"id":"v12","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.failure"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Screening.Screen.Search","value":"v14"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v2"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v2"}}},"kind":"fun"},"id":"v10","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v5","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Screening.Screen.Node","value":"v6"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v4"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v4"}}},"kind":"fun"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.run"}},"level_parameters":[],"name":"Reasoning.Screening.Screen","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v23","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v25","kind":"fvar"}],"function":"v19","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v25","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v22","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Option"},"id":"v22","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.fire"}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step.Propose"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Screening.Screen.Node","value":"v0"}},"id":"v19","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v8","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.append"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}},{"id":"v15","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"},"value":{"arguments":[{"id":"v7","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node.mk"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.append"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step.Propose"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Screening.Screen.Node","value":"v0"}},"id":"v9","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.instAppendableList"}},"id":"v8","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.instAppendableList"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"id":"v1","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Screen.Propose.collect","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}},{"borrow":false,"id":"v1","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanCollections.listFold"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Propose.candidates"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Screening.Screen.Node","value":"v0"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Propose.collect"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Screen.Propose.successors","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"function":"v15","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v16","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.extract"}},"id":"v15","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"kind":"erased"}}]}],"discriminant":"v10","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v10","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.safeCheck"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Screen.accept","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.length"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Propose.candidates"}},"id":"v1","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.instLengthableList"}},"level_parameters":[],"name":"Reasoning.Screening.Screen.attempts","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v8","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v10","type":{"kind":"erased"}}]}],"discriminant":"v7","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v7","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v0"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"level_parameters":[],"name":"Reasoning.Screening.Screen.extract","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v26","kind":"fvar"}],"kind":"jump","target":"v23"},"id":"v26","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v27","kind":"fvar"}],"kind":"jump","target":"v20"},"id":"v27","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v0","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Bool"},"declaration":{"id":"v23","parameters":[{"borrow":false,"id":"v24","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v25","kind":"fvar"}],"kind":"jump","target":"v10"},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"function":"v5","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v20","parameters":[{"borrow":false,"id":"v21","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v22","kind":"fvar"}],"kind":"jump","target":"v10"},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v21","kind":"fvar"}],"function":"v9","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v10","parameters":[{"borrow":false,"id":"v11","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v15","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v18","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v17","type":{"kind":"erased"}}]}],"discriminant":"v13","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Decidable"},"id":"v13","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"join"},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Bool.not"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Screen.failure","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Bool"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Bool"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"}},{"code":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"function":"v5","kind":"apply"}},"constructor":"Reasoning.Screening.Screen.Step.Propose","kind":"constructor","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v1","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Reasoning.Screening.Screen.Step"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Propose.apply"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Screen.fire","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v0","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"level_parameters":[],"name":"Reasoning.Screening.Screen.observe","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}},{"id":"v1","kind":"fvar"},{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanCollections.iterateUntil"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.start"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"8"}}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.searchStep"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Screen.run","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v141","kind":"return"},"id":"v141","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v140","kind":"fvar"}],"function":"v138","kind":"apply"}},"id":"v140","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v143","kind":"return"},"id":"v143","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v142","kind":"fvar"}],"function":"v5","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v142","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v139","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v139","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Screening.Screen.Search","value":"v1"}},"id":"v138","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v134","kind":"return"},"id":"v134","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v133","kind":"fvar"}],"function":"v11","kind":"apply"}},"id":"v133","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v137","kind":"return"},"id":"v137","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v135","kind":"fvar"},{"id":"v136","kind":"fvar"}],"function":"v131","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v135","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}},{"borrow":false,"id":"v136","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v132","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"List"},"id":"v132","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Screening.Screen.Search","value":"v1"}},"id":"v131","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}},{"borrow":false,"id":"v14","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v128","kind":"return"},"id":"v128","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v127","kind":"fvar"}],"function":"v124","kind":"apply"}},"id":"v127","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v130","kind":"return"},"id":"v130","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v129","kind":"fvar"}],"function":"v38","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v129","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v126","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v126","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v125","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.accept"}},"id":"v125","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Screening.Screen.Node","value":"v13"}},"id":"v124","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v39","kind":"apply"}},"declaration":{"id":"v39","parameters":[{"borrow":false,"id":"v40","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v122","kind":"fvar"}],"kind":"jump","target":"v119"},"id":"v122","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v123","kind":"fvar"}],"kind":"jump","target":"v116"},"id":"v123","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v80","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Bool"},"declaration":{"id":"v119","parameters":[{"borrow":false,"id":"v120","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v121","kind":"fvar"}],"kind":"jump","target":"v81"},"id":"v121","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v120","kind":"fvar"}],"function":"v79","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v116","parameters":[{"borrow":false,"id":"v117","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v118","kind":"fvar"}],"kind":"jump","target":"v81"},"id":"v118","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v117","kind":"fvar"}],"function":"v70","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v81","parameters":[{"borrow":false,"id":"v82","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"arguments":[{"id":"v104","kind":"fvar"}],"kind":"jump","target":"v109"},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v114","type":{"kind":"erased"}}]},{"code":{"arguments":[{"id":"v105","kind":"fvar"}],"kind":"jump","target":"v109"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v115","type":{"kind":"erased"}}]}],"discriminant":"v108","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v109","parameters":[{"borrow":false,"id":"v110","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v113","kind":"return"},"id":"v113","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}},{"id":"v112","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v112","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"},"value":{"arguments":[{"id":"v65","kind":"fvar"},{"id":"v66","kind":"fvar"},{"id":"v82","kind":"fvar"},{"id":"v111","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search.mk"}},"id":"v111","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Ledger"},"value":{"arguments":[{"id":"v91","kind":"fvar"},{"id":"v95","kind":"fvar"},{"id":"v99","kind":"fvar"},{"id":"v101","kind":"fvar"},{"id":"v103","kind":"fvar"},{"id":"v110","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Ledger.mk"}}},"kind":"join"},"id":"v108","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v106","kind":"fvar"},{"id":"v107","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v107","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v106","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v104","kind":"fvar"},{"id":"v105","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v105","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v97","kind":"fvar"},{"id":"v65","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.length"}},"id":"v104","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Screening.Screen.Ledger","value":"v86"}},"id":"v103","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v102","kind":"fvar"},{"id":"v90","kind":"fvar"}],"function":"v85","kind":"apply"}},"id":"v102","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Screening.Screen.Ledger","value":"v86"}},"id":"v101","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v100","kind":"fvar"},{"id":"v90","kind":"fvar"}],"function":"v85","kind":"apply"}},"id":"v100","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Screening.Screen.Ledger","value":"v86"}},"id":"v99","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v96","kind":"fvar"},{"id":"v98","kind":"fvar"}],"function":"v85","kind":"apply"}},"id":"v98","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v97","kind":"fvar"},{"id":"v42","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.length"}},"id":"v97","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.instLengthableList"}},"id":"v96","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Screening.Screen.Ledger","value":"v86"}},"id":"v95","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v92","kind":"fvar"},{"id":"v94","kind":"fvar"}],"function":"v85","kind":"apply"}},"id":"v94","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v93","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.attempts"}},"id":"v93","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Screening.Screen.Node","value":"v13"}},"id":"v92","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Screening.Screen.Ledger","value":"v86"}},"id":"v91","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v87","kind":"fvar"},{"id":"v90","kind":"fvar"}],"function":"v85","kind":"apply"}},"id":"v90","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v89"}},"id":"v89","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v88","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v88","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v87","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Screening.Screen.Ledger","value":"v86"}},"id":"v86","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Ledger"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Screening.Screen.Search","value":"v1"}},"id":"v85","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v84"}},"id":"v84","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v83","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v83","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"join"},"id":"v80","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Screening.Screen.Search","value":"v1"}},"id":"v79","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v71","kind":"apply"}},"declaration":{"id":"v71","parameters":[{"borrow":false,"id":"v72","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v78","kind":"return"},"id":"v78","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v75","kind":"fvar"},{"id":"v77","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v77","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v76","kind":"fvar"},{"id":"v46","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.length"}},"id":"v76","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.instLengthableList"}},"id":"v75","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v74"}},"id":"v74","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v73","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v73","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}}},"kind":"fun"},"id":"v70","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v67","kind":"apply"}},"declaration":{"id":"v67","parameters":[{"borrow":false,"id":"v68","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v69","kind":"return"},"id":"v69","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"id":"v66","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"id":"v65","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v64","kind":"apply"}},"id":"v64","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v47","kind":"fvar"},{"id":"v63","kind":"fvar"},{"id":"v46","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanCollections.listFold"}},"id":"v63","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"declaration":{"id":"v47","parameters":[{"borrow":false,"id":"v48","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v49","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"id":"v48","kind":"return"},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v58","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v62","kind":"return"},"id":"v62","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v44","kind":"fvar"},{"id":"v48","kind":"fvar"},{"id":"v61","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.append"}},"id":"v61","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}},{"id":"v49","kind":"fvar"},{"id":"v60","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v60","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v59","type":{"kind":"erased"}}]}],"discriminant":"v57","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Decidable"},"id":"v57","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v55","kind":"fvar"},{"id":"v56","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v56","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v55","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v51","kind":"fvar"},{"id":"v54","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v54","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v53"}},"id":"v53","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v52","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v52","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v51","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v50","kind":"fvar"},{"id":"v48","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.length"}},"id":"v50","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.instLengthableList"}}},"kind":"fun"},"id":"v46","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v45","kind":"apply"}},"id":"v45","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v44","kind":"fvar"},{"id":"v43","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.append"}},"id":"v44","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.instAppendableList"}},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v42","kind":"apply"}},"id":"v42","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v41","kind":"apply"}},"id":"v41","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.successors"}}},"kind":"fun"},"id":"v38","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v15","kind":"apply"}},"declaration":{"id":"v15","parameters":[{"borrow":false,"id":"v16","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v37","kind":"return"},"id":"v37","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}},{"id":"v36","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v36","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"},"value":{"arguments":[{"id":"v14","kind":"fvar"},{"id":"v18","kind":"fvar"},{"id":"v19","kind":"fvar"},{"id":"v35","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search.mk"}},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Ledger"},"value":{"arguments":[{"id":"v28","kind":"fvar"},{"id":"v29","kind":"fvar"},{"id":"v30","kind":"fvar"},{"id":"v31","kind":"fvar"},{"id":"v33","kind":"fvar"},{"id":"v34","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Ledger.mk"}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Screening.Screen.Ledger","value":"v23"}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v32","kind":"fvar"},{"id":"v27","kind":"fvar"}],"function":"v22","kind":"apply"}},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Screening.Screen.Ledger","value":"v23"}},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Screening.Screen.Ledger","value":"v23"}},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Screening.Screen.Ledger","value":"v23"}},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Screening.Screen.Ledger","value":"v23"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v24","kind":"fvar"},{"id":"v27","kind":"fvar"}],"function":"v22","kind":"apply"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v26"}},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v25","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Screening.Screen.Ledger","value":"v23"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Ledger"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Screening.Screen.Search","value":"v1"}},"id":"v22","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v21"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Screening.Screen.Search","value":"v1"}},"id":"v18","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v17","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}},{"id":"v16","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}}},"kind":"fun"}},"kind":"fun"},"id":"v11","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Screen.searchStep","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"},"value":{"arguments":[{"id":"v24","kind":"fvar"},{"id":"v25","kind":"fvar"},{"id":"v32","kind":"fvar"},{"id":"v38","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search.mk"}},"id":"v38","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Ledger"},"value":{"arguments":[{"id":"v35","kind":"fvar"},{"id":"v35","kind":"fvar"},{"id":"v35","kind":"fvar"},{"id":"v35","kind":"fvar"},{"id":"v35","kind":"fvar"},{"id":"v37","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Ledger.mk"}},"id":"v37","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v36","kind":"fvar"},{"id":"v24","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.length"}},"id":"v36","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.instLengthableList"}},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v34"}},"id":"v34","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v28","kind":"fvar"},{"id":"v31","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v30"}},"id":"v30","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v27"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v26","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v25","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v23","kind":"apply"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v18","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanCollections.listFold"}},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}},{"id":"v21","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node.mk"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.observe"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"id":"v2","kind":"return"},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v14","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.append"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}},{"id":"v3","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v14","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.instAppendableList"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"kind":"erased"}}]}],"discriminant":"v11","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Decidable"},"id":"v11","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v5","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v4","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.length"}},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.instLengthableList"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Screen.start","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Propose.successors"}},"level_parameters":[],"name":"Reasoning.Screening.Screen.successors","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"function":"v9","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"}],"function":"v5","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v10","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Except"},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen"}},"id":"v9","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v2"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Screen.verdict","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v5","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v1","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"level_parameters":[],"name":"Reasoning.Screening.safeCheck","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4"}}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v2","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.length"}},"id":"v2","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.instLengthableList"}},"level_parameters":[],"name":"Reasoning.Screening.shortCheck","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}}],"erased":[],"externals":[{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Add"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Bool"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Bool.false"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Bool.not"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Bool.true"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Decidable"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Decidable.isFalse"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Decidable.isTrue"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Except"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Except.error"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Except.ok"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"HAdd"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"HMul"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"HSub"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"List"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.List.Basic","name":"List.appendTR"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"List.cons"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"List.foldl"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"List.lengthTR"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"List.nil"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Mul"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Nat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Nat.beq"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Nat.ble"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Nat.Basic","name":"Nat.blt"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Nat.succ"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Nat.zero"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"OfNat"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Option"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Option.none"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Option.some"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Data.Ord.Basic","name":"Ord"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Data.Ord.Basic","name":"Ordering"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Data.Ord.Basic","name":"Ordering.eq"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Data.Ord.Basic","name":"Ordering.gt"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Data.Ord.Basic","name":"Ordering.lt"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"PUnit"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Prod"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Prod.mk"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Sub"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Unit.unit"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instAddNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instDecidableEqBool"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instHAdd"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instHMul"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instHSub"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instMulNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instOfNatNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Ord.Basic","name":"instOrdNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instSubNat"}],"inductives":[{"constructors":[{"fields":0,"index":0,"name":"Reasoning.Budget.Spend.Step.Tick","parameters":1,"type":{"codomain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"fields":1,"index":1,"name":"Reasoning.Budget.Spend.Step.Burn","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Budget.Spend.Step","parameters":1,"recursive":false},{"constructors":[{"fields":9,"index":0,"name":"Reasoning.Clinic.Chart.mk","parameters":0,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Clinic.Chart","parameters":0,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"Reasoning.Clinic.LexLeanRuntime.Appendable.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Clinic.LexLeanRuntime.Appendable"},"kind":"app"},"domain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Clinic.LexLeanRuntime.Appendable","parameters":1,"recursive":false},{"constructors":[{"fields":6,"index":0,"name":"Reasoning.Clinic.Triage.Ledger.mk","parameters":0,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Ledger"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Clinic.Triage.Ledger","parameters":0,"recursive":false},{"constructors":[{"fields":3,"index":0,"name":"Reasoning.Clinic.Triage.Run.mk","parameters":0,"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Ledger"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Clinic.Triage.Run","parameters":0,"recursive":false},{"constructors":[{"fields":0,"index":0,"name":"Reasoning.Clinic.Triage.Step.Fever","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"fields":0,"index":1,"name":"Reasoning.Clinic.Triage.Step.Tachycardia","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"fields":0,"index":2,"name":"Reasoning.Clinic.Triage.Step.Tachypnea","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"fields":0,"index":3,"name":"Reasoning.Clinic.Triage.Step.Leukocytosis","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"fields":0,"index":4,"name":"Reasoning.Clinic.Triage.Step.Sirs","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"fields":0,"index":5,"name":"Reasoning.Clinic.Triage.Step.Sepsis","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"fields":0,"index":6,"name":"Reasoning.Clinic.Triage.Step.Shock","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"fields":0,"index":7,"name":"Reasoning.Clinic.Triage.Step.Escalate","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"indices":0,"name":"Reasoning.Clinic.Triage.Step","parameters":0,"recursive":false},{"constructors":[{"fields":6,"index":0,"name":"Reasoning.Clinic.Vitals.mk","parameters":0,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Clinic.Vitals","parameters":0,"recursive":false},{"constructors":[{"fields":0,"index":0,"name":"Reasoning.Main.Grade.Step.Fever","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"fields":0,"index":1,"name":"Reasoning.Main.Grade.Step.Tachycardia","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"fields":0,"index":2,"name":"Reasoning.Main.Grade.Step.Tachypnea","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"fields":0,"index":3,"name":"Reasoning.Main.Grade.Step.Leukocytosis","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"fields":0,"index":4,"name":"Reasoning.Main.Grade.Step.Sirs","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"fields":0,"index":5,"name":"Reasoning.Main.Grade.Step.Sepsis","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"fields":0,"index":6,"name":"Reasoning.Main.Grade.Step.Shock","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"fields":0,"index":7,"name":"Reasoning.Main.Grade.Step.Escalate","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"indices":0,"name":"Reasoning.Main.Grade.Step","parameters":0,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"Reasoning.Main.LexLeanRuntime.Lengthable.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Main.LexLeanRuntime.Lengthable"},"kind":"app"},"domain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Main.LexLeanRuntime.Lengthable","parameters":1,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"Reasoning.Planner.LexLeanCollections.Key.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanCollections.Key"},"kind":"app"},"domain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Planner.LexLeanCollections.Key","parameters":1,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"Reasoning.Planner.LexLeanRuntime.Appendable.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.Appendable"},"kind":"app"},"domain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Planner.LexLeanRuntime.Appendable","parameters":1,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"Reasoning.Planner.LexLeanRuntime.Lengthable.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Planner.LexLeanRuntime.Lengthable"},"kind":"app"},"domain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Planner.LexLeanRuntime.Lengthable","parameters":1,"recursive":false},{"constructors":[{"fields":6,"index":0,"name":"Reasoning.Planner.Plan.Ledger.mk","parameters":0,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Ledger"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Planner.Plan.Ledger","parameters":0,"recursive":false},{"constructors":[{"fields":2,"index":0,"name":"Reasoning.Planner.Plan.Node.mk","parameters":0,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Planner.Plan.Node","parameters":0,"recursive":false},{"constructors":[{"fields":5,"index":0,"name":"Reasoning.Planner.Plan.Search.mk","parameters":0,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Ledger"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Planner.Plan.Search","parameters":0,"recursive":false},{"constructors":[{"fields":0,"index":0,"name":"Reasoning.Planner.Plan.Step.FillA","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}},{"fields":0,"index":1,"name":"Reasoning.Planner.Plan.Step.EmptyB","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}},{"fields":1,"index":2,"name":"Reasoning.Planner.Plan.Step.Pour","parameters":0,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Planner.Plan.Step","parameters":0,"recursive":false},{"constructors":[{"fields":6,"index":0,"name":"Reasoning.Screening.Dose.Ledger.mk","parameters":0,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Ledger"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Screening.Dose.Ledger","parameters":0,"recursive":false},{"constructors":[{"fields":3,"index":0,"name":"Reasoning.Screening.Dose.Trial.mk","parameters":0,"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Ledger"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Screening.Dose.Trial","parameters":0,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"Reasoning.Screening.LexLeanRuntime.Appendable.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.Appendable"},"kind":"app"},"domain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Screening.LexLeanRuntime.Appendable","parameters":1,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"Reasoning.Screening.LexLeanRuntime.Lengthable.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Screening.LexLeanRuntime.Lengthable"},"kind":"app"},"domain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Screening.LexLeanRuntime.Lengthable","parameters":1,"recursive":false},{"constructors":[{"fields":6,"index":0,"name":"Reasoning.Screening.Screen.Ledger.mk","parameters":0,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Ledger"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Screening.Screen.Ledger","parameters":0,"recursive":false},{"constructors":[{"fields":2,"index":0,"name":"Reasoning.Screening.Screen.Node.mk","parameters":0,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Screening.Screen.Node","parameters":0,"recursive":false},{"constructors":[{"fields":4,"index":0,"name":"Reasoning.Screening.Screen.Search.mk","parameters":0,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Ledger"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Screening.Screen.Search","parameters":0,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"Reasoning.Screening.Screen.Step.Propose","parameters":0,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Screening.Screen.Step","parameters":0,"recursive":false}],"lean":{"githash":"f054605aea4b840552cca2e725580bffd1e1b704","version":"4.32.1"},"roots":["Reasoning.Main.triageLevel","Reasoning.Main.gatewayLevel","Reasoning.Main.triageSteps","Reasoning.Main.planLeft","Reasoning.Main.doseLevel","Reasoning.Main.gradeLevel","Reasoning.Main.screenDose","Reasoning.Main.spendLeft"],"spec":"lexlean/compiler-input/2"} +{"closures":[{"declarations":["Reasoning.Main.doseLevel","Reasoning.Screening.Dose.candidates","Reasoning.Screening.Dose.failure","Reasoning.Screening.Dose.run","Reasoning.Screening.Dose.try","Reasoning.Screening.Dose.verdict","Reasoning.Screening.Dose.verify","Reasoning.Screening.DoseCandidates","Reasoning.Screening.DoseModel","Reasoning.Screening.safeCheck","Reasoning.Screening.shortCheck"],"erased":[],"instances":[{"declaration":"Reasoning.Main.doseLevel","instance":"Reasoning.Main.doseLevel","type_arguments":[]},{"declaration":"Reasoning.Screening.Dose.verdict","instance":"Reasoning.Screening.Dose.verdict","type_arguments":[]},{"declaration":"Reasoning.Screening.Dose.run","instance":"Reasoning.Screening.Dose.run","type_arguments":[]},{"declaration":"Reasoning.Screening.Dose.failure","instance":"Reasoning.Screening.Dose.failure","type_arguments":[]},{"declaration":"Reasoning.Screening.Dose.try","instance":"Reasoning.Screening.Dose.try","type_arguments":[]},{"declaration":"Reasoning.Screening.Dose.candidates","instance":"Reasoning.Screening.Dose.candidates","type_arguments":[]},{"declaration":"Reasoning.Screening.Dose.verify","instance":"Reasoning.Screening.Dose.verify","type_arguments":[]},{"declaration":"Reasoning.Screening.DoseModel","instance":"Reasoning.Screening.DoseModel","type_arguments":[]},{"declaration":"Reasoning.Screening.shortCheck","instance":"Reasoning.Screening.shortCheck","type_arguments":[]},{"declaration":"Reasoning.Screening.safeCheck","instance":"Reasoning.Screening.safeCheck","type_arguments":[]},{"declaration":"Reasoning.Screening.DoseCandidates","instance":"Reasoning.Screening.DoseCandidates","type_arguments":[]}],"internal_erased":[],"root":"Reasoning.Main.doseLevel","runtime":["LexLeanCollections.listFold","LexLeanRuntime.instLengthableList","LexLeanRuntime.length","LexLeanRuntime.subtract"]},{"declarations":["Reasoning.Clinic.Escalate.apply","Reasoning.Clinic.Escalate.conclusion","Reasoning.Clinic.Escalate.guard","Reasoning.Clinic.Fever.apply","Reasoning.Clinic.Fever.conclusion","Reasoning.Clinic.Fever.guard","Reasoning.Clinic.Leukocytosis.apply","Reasoning.Clinic.Leukocytosis.conclusion","Reasoning.Clinic.Leukocytosis.guard","Reasoning.Clinic.Sepsis.apply","Reasoning.Clinic.Sepsis.conclusion","Reasoning.Clinic.Sepsis.guard","Reasoning.Clinic.Shock.apply","Reasoning.Clinic.Shock.conclusion","Reasoning.Clinic.Shock.guard","Reasoning.Clinic.Sirs.apply","Reasoning.Clinic.Sirs.conclusion","Reasoning.Clinic.Sirs.guard","Reasoning.Clinic.Tachycardia.apply","Reasoning.Clinic.Tachycardia.conclusion","Reasoning.Clinic.Tachycardia.guard","Reasoning.Clinic.Tachypnea.apply","Reasoning.Clinic.Tachypnea.conclusion","Reasoning.Clinic.Tachypnea.guard","Reasoning.Clinic.Triage.accept","Reasoning.Clinic.Triage.conclude","Reasoning.Clinic.Triage.extract","Reasoning.Clinic.Triage.fire","Reasoning.Clinic.Triage.next","Reasoning.Clinic.Triage.observe","Reasoning.Clinic.Triage.saturate","Reasoning.Clinic.Triage.select","Reasoning.Clinic.Triage.verdict","Reasoning.Clinic.feverish","Reasoning.Clinic.hypotensive","Reasoning.Clinic.leukocytic","Reasoning.Clinic.recommendationCheck","Reasoning.Clinic.tachycardic","Reasoning.Clinic.tachypneic","Reasoning.Main.GatewayModel","Reasoning.Main.GatewayTriage","Reasoning.Main.gatewayLevel"],"erased":[],"instances":[{"declaration":"Reasoning.Main.gatewayLevel","instance":"Reasoning.Main.gatewayLevel","type_arguments":[]},{"declaration":"Reasoning.Main.GatewayModel","instance":"Reasoning.Main.GatewayModel","type_arguments":[]},{"declaration":"Reasoning.Main.GatewayTriage","instance":"Reasoning.Main.GatewayTriage","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.verdict","instance":"Reasoning.Clinic.Triage.verdict","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.saturate","instance":"Reasoning.Clinic.Triage.saturate","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.conclude","instance":"Reasoning.Clinic.Triage.conclude","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.next","instance":"Reasoning.Clinic.Triage.next","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.observe","instance":"Reasoning.Clinic.Triage.observe","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.accept","instance":"Reasoning.Clinic.Triage.accept","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.extract","instance":"Reasoning.Clinic.Triage.extract","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.select","instance":"Reasoning.Clinic.Triage.select","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.fire","instance":"Reasoning.Clinic.Triage.fire","type_arguments":[]},{"declaration":"Reasoning.Clinic.recommendationCheck","instance":"Reasoning.Clinic.recommendationCheck","type_arguments":[]},{"declaration":"Reasoning.Clinic.Fever.guard","instance":"Reasoning.Clinic.Fever.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachycardia.guard","instance":"Reasoning.Clinic.Tachycardia.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachypnea.guard","instance":"Reasoning.Clinic.Tachypnea.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Leukocytosis.guard","instance":"Reasoning.Clinic.Leukocytosis.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sirs.guard","instance":"Reasoning.Clinic.Sirs.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sepsis.guard","instance":"Reasoning.Clinic.Sepsis.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Shock.guard","instance":"Reasoning.Clinic.Shock.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Escalate.guard","instance":"Reasoning.Clinic.Escalate.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Fever.apply","instance":"Reasoning.Clinic.Fever.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachycardia.apply","instance":"Reasoning.Clinic.Tachycardia.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachypnea.apply","instance":"Reasoning.Clinic.Tachypnea.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Leukocytosis.apply","instance":"Reasoning.Clinic.Leukocytosis.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sirs.apply","instance":"Reasoning.Clinic.Sirs.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sepsis.apply","instance":"Reasoning.Clinic.Sepsis.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Shock.apply","instance":"Reasoning.Clinic.Shock.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Escalate.apply","instance":"Reasoning.Clinic.Escalate.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.hypotensive","instance":"Reasoning.Clinic.hypotensive","type_arguments":[]},{"declaration":"Reasoning.Clinic.feverish","instance":"Reasoning.Clinic.feverish","type_arguments":[]},{"declaration":"Reasoning.Clinic.tachycardic","instance":"Reasoning.Clinic.tachycardic","type_arguments":[]},{"declaration":"Reasoning.Clinic.tachypneic","instance":"Reasoning.Clinic.tachypneic","type_arguments":[]},{"declaration":"Reasoning.Clinic.leukocytic","instance":"Reasoning.Clinic.leukocytic","type_arguments":[]},{"declaration":"Reasoning.Clinic.Fever.conclusion","instance":"Reasoning.Clinic.Fever.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachycardia.conclusion","instance":"Reasoning.Clinic.Tachycardia.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachypnea.conclusion","instance":"Reasoning.Clinic.Tachypnea.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Leukocytosis.conclusion","instance":"Reasoning.Clinic.Leukocytosis.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sirs.conclusion","instance":"Reasoning.Clinic.Sirs.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sepsis.conclusion","instance":"Reasoning.Clinic.Sepsis.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Shock.conclusion","instance":"Reasoning.Clinic.Shock.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Escalate.conclusion","instance":"Reasoning.Clinic.Escalate.conclusion","type_arguments":[]}],"internal_erased":[],"root":"Reasoning.Main.gatewayLevel","runtime":["LexLeanCollections.iterateUntil"]},{"declarations":["Reasoning.Clinic.Escalate.apply","Reasoning.Clinic.Escalate.conclusion","Reasoning.Clinic.Escalate.guard","Reasoning.Clinic.Fever.apply","Reasoning.Clinic.Fever.conclusion","Reasoning.Clinic.Fever.guard","Reasoning.Clinic.Leukocytosis.apply","Reasoning.Clinic.Leukocytosis.conclusion","Reasoning.Clinic.Leukocytosis.guard","Reasoning.Clinic.Sepsis.apply","Reasoning.Clinic.Sepsis.conclusion","Reasoning.Clinic.Sepsis.guard","Reasoning.Clinic.Shock.apply","Reasoning.Clinic.Shock.conclusion","Reasoning.Clinic.Shock.guard","Reasoning.Clinic.Sirs.apply","Reasoning.Clinic.Sirs.conclusion","Reasoning.Clinic.Sirs.guard","Reasoning.Clinic.Tachycardia.apply","Reasoning.Clinic.Tachycardia.conclusion","Reasoning.Clinic.Tachycardia.guard","Reasoning.Clinic.Tachypnea.apply","Reasoning.Clinic.Tachypnea.conclusion","Reasoning.Clinic.Tachypnea.guard","Reasoning.Clinic.feverish","Reasoning.Clinic.hypotensive","Reasoning.Clinic.leukocytic","Reasoning.Clinic.tachycardic","Reasoning.Clinic.tachypneic","Reasoning.Main.Grade.accept","Reasoning.Main.Grade.conclude","Reasoning.Main.Grade.extract","Reasoning.Main.Grade.fire","Reasoning.Main.Grade.next","Reasoning.Main.Grade.observe","Reasoning.Main.Grade.saturate","Reasoning.Main.Grade.select","Reasoning.Main.Grade.verdict","Reasoning.Main.gradeLevel"],"erased":[],"instances":[{"declaration":"Reasoning.Main.gradeLevel","instance":"Reasoning.Main.gradeLevel","type_arguments":[]},{"declaration":"Reasoning.Main.Grade.verdict","instance":"Reasoning.Main.Grade.verdict","type_arguments":[]},{"declaration":"Reasoning.Main.Grade.saturate","instance":"Reasoning.Main.Grade.saturate","type_arguments":[]},{"declaration":"Reasoning.Main.Grade.conclude","instance":"Reasoning.Main.Grade.conclude","type_arguments":[]},{"declaration":"Reasoning.Main.Grade.next","instance":"Reasoning.Main.Grade.next","type_arguments":[]},{"declaration":"Reasoning.Main.Grade.observe","instance":"Reasoning.Main.Grade.observe","type_arguments":[]},{"declaration":"Reasoning.Main.Grade.accept","instance":"Reasoning.Main.Grade.accept","type_arguments":[]},{"declaration":"Reasoning.Main.Grade.extract","instance":"Reasoning.Main.Grade.extract","type_arguments":[]},{"declaration":"Reasoning.Main.Grade.select","instance":"Reasoning.Main.Grade.select","type_arguments":[]},{"declaration":"Reasoning.Main.Grade.fire","instance":"Reasoning.Main.Grade.fire","type_arguments":[]},{"declaration":"Reasoning.Clinic.Fever.guard","instance":"Reasoning.Clinic.Fever.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachycardia.guard","instance":"Reasoning.Clinic.Tachycardia.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachypnea.guard","instance":"Reasoning.Clinic.Tachypnea.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Leukocytosis.guard","instance":"Reasoning.Clinic.Leukocytosis.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sirs.guard","instance":"Reasoning.Clinic.Sirs.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sepsis.guard","instance":"Reasoning.Clinic.Sepsis.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Shock.guard","instance":"Reasoning.Clinic.Shock.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Escalate.guard","instance":"Reasoning.Clinic.Escalate.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Fever.apply","instance":"Reasoning.Clinic.Fever.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachycardia.apply","instance":"Reasoning.Clinic.Tachycardia.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachypnea.apply","instance":"Reasoning.Clinic.Tachypnea.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Leukocytosis.apply","instance":"Reasoning.Clinic.Leukocytosis.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sirs.apply","instance":"Reasoning.Clinic.Sirs.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sepsis.apply","instance":"Reasoning.Clinic.Sepsis.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Shock.apply","instance":"Reasoning.Clinic.Shock.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Escalate.apply","instance":"Reasoning.Clinic.Escalate.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.feverish","instance":"Reasoning.Clinic.feverish","type_arguments":[]},{"declaration":"Reasoning.Clinic.tachycardic","instance":"Reasoning.Clinic.tachycardic","type_arguments":[]},{"declaration":"Reasoning.Clinic.tachypneic","instance":"Reasoning.Clinic.tachypneic","type_arguments":[]},{"declaration":"Reasoning.Clinic.leukocytic","instance":"Reasoning.Clinic.leukocytic","type_arguments":[]},{"declaration":"Reasoning.Clinic.hypotensive","instance":"Reasoning.Clinic.hypotensive","type_arguments":[]},{"declaration":"Reasoning.Clinic.Fever.conclusion","instance":"Reasoning.Clinic.Fever.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachycardia.conclusion","instance":"Reasoning.Clinic.Tachycardia.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachypnea.conclusion","instance":"Reasoning.Clinic.Tachypnea.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Leukocytosis.conclusion","instance":"Reasoning.Clinic.Leukocytosis.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sirs.conclusion","instance":"Reasoning.Clinic.Sirs.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sepsis.conclusion","instance":"Reasoning.Clinic.Sepsis.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Shock.conclusion","instance":"Reasoning.Clinic.Shock.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Escalate.conclusion","instance":"Reasoning.Clinic.Escalate.conclusion","type_arguments":[]}],"internal_erased":[],"root":"Reasoning.Main.gradeLevel","runtime":["LexLeanCollections.iterateUntil"]},{"declarations":["Reasoning.Main.planLeft","Reasoning.Planner.EmptyB.apply","Reasoning.Planner.EmptyB.conclusion","Reasoning.Planner.EmptyB.guard","Reasoning.Planner.FillA.apply","Reasoning.Planner.FillA.conclusion","Reasoning.Planner.FillA.guard","Reasoning.Planner.Plan","Reasoning.Planner.Plan.EmptyB.successors","Reasoning.Planner.Plan.FillA.successors","Reasoning.Planner.Plan.Pour.collect","Reasoning.Planner.Plan.Pour.successors","Reasoning.Planner.Plan.accept","Reasoning.Planner.Plan.attempts","Reasoning.Planner.Plan.extract","Reasoning.Planner.Plan.failure","Reasoning.Planner.Plan.fire","Reasoning.Planner.Plan.fresh","Reasoning.Planner.Plan.observe","Reasoning.Planner.Plan.run","Reasoning.Planner.Plan.searchStep","Reasoning.Planner.Plan.start","Reasoning.Planner.Plan.successors","Reasoning.Planner.Plan.verdict","Reasoning.Planner.Pour.apply","Reasoning.Planner.Pour.candidates","Reasoning.Planner.Pour.conclusion","Reasoning.Planner.Pour.guard","Reasoning.Planner.measuresCheck"],"erased":[],"instances":[{"declaration":"Reasoning.Main.planLeft","instance":"Reasoning.Main.planLeft","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.verdict","instance":"Reasoning.Planner.Plan.verdict","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan","instance":"Reasoning.Planner.Plan","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.run","instance":"Reasoning.Planner.Plan.run","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.failure","instance":"Reasoning.Planner.Plan.failure","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.searchStep","instance":"Reasoning.Planner.Plan.searchStep","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.start","instance":"Reasoning.Planner.Plan.start","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.accept","instance":"Reasoning.Planner.Plan.accept","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.successors","instance":"Reasoning.Planner.Plan.successors","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.fresh","instance":"Reasoning.Planner.Plan.fresh","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.attempts","instance":"Reasoning.Planner.Plan.attempts","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.observe","instance":"Reasoning.Planner.Plan.observe","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.extract","instance":"Reasoning.Planner.Plan.extract","type_arguments":[]},{"declaration":"Reasoning.Planner.measuresCheck","instance":"Reasoning.Planner.measuresCheck","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.FillA.successors","instance":"Reasoning.Planner.Plan.FillA.successors","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.EmptyB.successors","instance":"Reasoning.Planner.Plan.EmptyB.successors","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.Pour.successors","instance":"Reasoning.Planner.Plan.Pour.successors","type_arguments":[]},{"declaration":"Reasoning.Planner.Pour.candidates","instance":"Reasoning.Planner.Pour.candidates","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.fire","instance":"Reasoning.Planner.Plan.fire","type_arguments":[]},{"declaration":"Reasoning.Planner.Plan.Pour.collect","instance":"Reasoning.Planner.Plan.Pour.collect","type_arguments":[]},{"declaration":"Reasoning.Planner.FillA.apply","instance":"Reasoning.Planner.FillA.apply","type_arguments":[]},{"declaration":"Reasoning.Planner.EmptyB.apply","instance":"Reasoning.Planner.EmptyB.apply","type_arguments":[]},{"declaration":"Reasoning.Planner.Pour.apply","instance":"Reasoning.Planner.Pour.apply","type_arguments":[]},{"declaration":"Reasoning.Planner.FillA.guard","instance":"Reasoning.Planner.FillA.guard","type_arguments":[]},{"declaration":"Reasoning.Planner.FillA.conclusion","instance":"Reasoning.Planner.FillA.conclusion","type_arguments":[]},{"declaration":"Reasoning.Planner.EmptyB.guard","instance":"Reasoning.Planner.EmptyB.guard","type_arguments":[]},{"declaration":"Reasoning.Planner.EmptyB.conclusion","instance":"Reasoning.Planner.EmptyB.conclusion","type_arguments":[]},{"declaration":"Reasoning.Planner.Pour.guard","instance":"Reasoning.Planner.Pour.guard","type_arguments":[]},{"declaration":"Reasoning.Planner.Pour.conclusion","instance":"Reasoning.Planner.Pour.conclusion","type_arguments":[]}],"internal_erased":[],"root":"Reasoning.Main.planLeft","runtime":["LexLeanCollections.containsElement","LexLeanCollections.insertElement","LexLeanCollections.instKeyNat","LexLeanCollections.instKeyProd","LexLeanCollections.iterateUntil","LexLeanCollections.listFold","LexLeanCollections.setContains","LexLeanCollections.setInsert","LexLeanRuntime.append","LexLeanRuntime.instAppendableList","LexLeanRuntime.instLengthableList","LexLeanRuntime.length","LexLeanRuntime.multiply","LexLeanRuntime.subtract"]},{"declarations":["Reasoning.Main.screenDose","Reasoning.Screening.DoseCandidates","Reasoning.Screening.DoseModel","Reasoning.Screening.Propose.apply","Reasoning.Screening.Propose.candidates","Reasoning.Screening.Propose.conclusion","Reasoning.Screening.Propose.guard","Reasoning.Screening.Screen","Reasoning.Screening.Screen.Propose.collect","Reasoning.Screening.Screen.Propose.successors","Reasoning.Screening.Screen.accept","Reasoning.Screening.Screen.attempts","Reasoning.Screening.Screen.extract","Reasoning.Screening.Screen.failure","Reasoning.Screening.Screen.fire","Reasoning.Screening.Screen.observe","Reasoning.Screening.Screen.run","Reasoning.Screening.Screen.searchStep","Reasoning.Screening.Screen.start","Reasoning.Screening.Screen.successors","Reasoning.Screening.Screen.verdict","Reasoning.Screening.safeCheck","Reasoning.Screening.shortCheck"],"erased":[],"instances":[{"declaration":"Reasoning.Main.screenDose","instance":"Reasoning.Main.screenDose","type_arguments":[]},{"declaration":"Reasoning.Screening.Screen.verdict","instance":"Reasoning.Screening.Screen.verdict","type_arguments":[]},{"declaration":"Reasoning.Screening.Screen","instance":"Reasoning.Screening.Screen","type_arguments":[]},{"declaration":"Reasoning.Screening.Screen.run","instance":"Reasoning.Screening.Screen.run","type_arguments":[]},{"declaration":"Reasoning.Screening.Screen.failure","instance":"Reasoning.Screening.Screen.failure","type_arguments":[]},{"declaration":"Reasoning.Screening.Screen.searchStep","instance":"Reasoning.Screening.Screen.searchStep","type_arguments":[]},{"declaration":"Reasoning.Screening.Screen.start","instance":"Reasoning.Screening.Screen.start","type_arguments":[]},{"declaration":"Reasoning.Screening.Screen.accept","instance":"Reasoning.Screening.Screen.accept","type_arguments":[]},{"declaration":"Reasoning.Screening.Screen.successors","instance":"Reasoning.Screening.Screen.successors","type_arguments":[]},{"declaration":"Reasoning.Screening.Screen.attempts","instance":"Reasoning.Screening.Screen.attempts","type_arguments":[]},{"declaration":"Reasoning.Screening.Screen.observe","instance":"Reasoning.Screening.Screen.observe","type_arguments":[]},{"declaration":"Reasoning.Screening.Screen.extract","instance":"Reasoning.Screening.Screen.extract","type_arguments":[]},{"declaration":"Reasoning.Screening.safeCheck","instance":"Reasoning.Screening.safeCheck","type_arguments":[]},{"declaration":"Reasoning.Screening.Screen.Propose.successors","instance":"Reasoning.Screening.Screen.Propose.successors","type_arguments":[]},{"declaration":"Reasoning.Screening.Propose.candidates","instance":"Reasoning.Screening.Propose.candidates","type_arguments":[]},{"declaration":"Reasoning.Screening.Screen.Propose.collect","instance":"Reasoning.Screening.Screen.Propose.collect","type_arguments":[]},{"declaration":"Reasoning.Screening.DoseModel","instance":"Reasoning.Screening.DoseModel","type_arguments":[]},{"declaration":"Reasoning.Screening.shortCheck","instance":"Reasoning.Screening.shortCheck","type_arguments":[]},{"declaration":"Reasoning.Screening.Screen.fire","instance":"Reasoning.Screening.Screen.fire","type_arguments":[]},{"declaration":"Reasoning.Screening.DoseCandidates","instance":"Reasoning.Screening.DoseCandidates","type_arguments":[]},{"declaration":"Reasoning.Screening.Propose.apply","instance":"Reasoning.Screening.Propose.apply","type_arguments":[]},{"declaration":"Reasoning.Screening.Propose.guard","instance":"Reasoning.Screening.Propose.guard","type_arguments":[]},{"declaration":"Reasoning.Screening.Propose.conclusion","instance":"Reasoning.Screening.Propose.conclusion","type_arguments":[]}],"internal_erased":[],"root":"Reasoning.Main.screenDose","runtime":["LexLeanCollections.iterateUntil","LexLeanCollections.listFold","LexLeanRuntime.append","LexLeanRuntime.instAppendableList","LexLeanRuntime.instLengthableList","LexLeanRuntime.length","LexLeanRuntime.subtract"]},{"declarations":["Reasoning.Budget.Burn.apply","Reasoning.Budget.Burn.candidates","Reasoning.Budget.Burn.conclusion","Reasoning.Budget.Burn.guard","Reasoning.Budget.Spend.accept","Reasoning.Budget.Spend.conclude","Reasoning.Budget.Spend.extract","Reasoning.Budget.Spend.fire","Reasoning.Budget.Spend.next","Reasoning.Budget.Spend.observe","Reasoning.Budget.Spend.saturate","Reasoning.Budget.Spend.select","Reasoning.Budget.Spend.verdict","Reasoning.Budget.Tick.apply","Reasoning.Budget.Tick.conclusion","Reasoning.Budget.Tick.guard","Reasoning.Budget.emptyCheck","Reasoning.Main.spendLeft"],"erased":[],"instances":[{"declaration":"Reasoning.Main.spendLeft","instance":"Reasoning.Main.spendLeft","type_arguments":[]},{"declaration":"Reasoning.Budget.Spend.verdict","instance":"Reasoning.Budget.Spend.verdict (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.Spend.saturate","instance":"Reasoning.Budget.Spend.saturate (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.Spend.conclude","instance":"Reasoning.Budget.Spend.conclude (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.Spend.next","instance":"Reasoning.Budget.Spend.next (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.Spend.observe","instance":"Reasoning.Budget.Spend.observe (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.Spend.accept","instance":"Reasoning.Budget.Spend.accept (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.Spend.extract","instance":"Reasoning.Budget.Spend.extract (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.Spend.select","instance":"Reasoning.Budget.Spend.select (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.Spend.fire","instance":"Reasoning.Budget.Spend.fire (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.emptyCheck","instance":"Reasoning.Budget.emptyCheck (Prod (Nat) (Nat))","type_arguments":["Prod (Nat) (Nat)"]},{"declaration":"Reasoning.Budget.Tick.guard","instance":"Reasoning.Budget.Tick.guard (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.Burn.guard","instance":"Reasoning.Budget.Burn.guard (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.Burn.candidates","instance":"Reasoning.Budget.Burn.candidates (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.Tick.apply","instance":"Reasoning.Budget.Tick.apply (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.Burn.apply","instance":"Reasoning.Budget.Burn.apply (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.Tick.conclusion","instance":"Reasoning.Budget.Tick.conclusion (Nat)","type_arguments":["Nat"]},{"declaration":"Reasoning.Budget.Burn.conclusion","instance":"Reasoning.Budget.Burn.conclusion (Nat)","type_arguments":["Nat"]}],"internal_erased":[],"root":"Reasoning.Main.spendLeft","runtime":["LexLeanCollections.iterateUntil","LexLeanCollections.listFold","LexLeanRuntime.subtract"]},{"declarations":["Reasoning.Clinic.Escalate.apply","Reasoning.Clinic.Escalate.conclusion","Reasoning.Clinic.Escalate.guard","Reasoning.Clinic.Fever.apply","Reasoning.Clinic.Fever.conclusion","Reasoning.Clinic.Fever.guard","Reasoning.Clinic.Leukocytosis.apply","Reasoning.Clinic.Leukocytosis.conclusion","Reasoning.Clinic.Leukocytosis.guard","Reasoning.Clinic.Sepsis.apply","Reasoning.Clinic.Sepsis.conclusion","Reasoning.Clinic.Sepsis.guard","Reasoning.Clinic.Shock.apply","Reasoning.Clinic.Shock.conclusion","Reasoning.Clinic.Shock.guard","Reasoning.Clinic.Sirs.apply","Reasoning.Clinic.Sirs.conclusion","Reasoning.Clinic.Sirs.guard","Reasoning.Clinic.Tachycardia.apply","Reasoning.Clinic.Tachycardia.conclusion","Reasoning.Clinic.Tachycardia.guard","Reasoning.Clinic.Tachypnea.apply","Reasoning.Clinic.Tachypnea.conclusion","Reasoning.Clinic.Tachypnea.guard","Reasoning.Clinic.Triage.accept","Reasoning.Clinic.Triage.conclude","Reasoning.Clinic.Triage.extract","Reasoning.Clinic.Triage.fire","Reasoning.Clinic.Triage.next","Reasoning.Clinic.Triage.observe","Reasoning.Clinic.Triage.saturate","Reasoning.Clinic.Triage.select","Reasoning.Clinic.Triage.verdict","Reasoning.Clinic.feverish","Reasoning.Clinic.hypotensive","Reasoning.Clinic.leukocytic","Reasoning.Clinic.recommendationCheck","Reasoning.Clinic.tachycardic","Reasoning.Clinic.tachypneic","Reasoning.Main.triageLevel"],"erased":[],"instances":[{"declaration":"Reasoning.Main.triageLevel","instance":"Reasoning.Main.triageLevel","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.verdict","instance":"Reasoning.Clinic.Triage.verdict","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.saturate","instance":"Reasoning.Clinic.Triage.saturate","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.conclude","instance":"Reasoning.Clinic.Triage.conclude","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.next","instance":"Reasoning.Clinic.Triage.next","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.observe","instance":"Reasoning.Clinic.Triage.observe","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.accept","instance":"Reasoning.Clinic.Triage.accept","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.extract","instance":"Reasoning.Clinic.Triage.extract","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.select","instance":"Reasoning.Clinic.Triage.select","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.fire","instance":"Reasoning.Clinic.Triage.fire","type_arguments":[]},{"declaration":"Reasoning.Clinic.recommendationCheck","instance":"Reasoning.Clinic.recommendationCheck","type_arguments":[]},{"declaration":"Reasoning.Clinic.Fever.guard","instance":"Reasoning.Clinic.Fever.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachycardia.guard","instance":"Reasoning.Clinic.Tachycardia.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachypnea.guard","instance":"Reasoning.Clinic.Tachypnea.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Leukocytosis.guard","instance":"Reasoning.Clinic.Leukocytosis.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sirs.guard","instance":"Reasoning.Clinic.Sirs.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sepsis.guard","instance":"Reasoning.Clinic.Sepsis.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Shock.guard","instance":"Reasoning.Clinic.Shock.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Escalate.guard","instance":"Reasoning.Clinic.Escalate.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Fever.apply","instance":"Reasoning.Clinic.Fever.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachycardia.apply","instance":"Reasoning.Clinic.Tachycardia.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachypnea.apply","instance":"Reasoning.Clinic.Tachypnea.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Leukocytosis.apply","instance":"Reasoning.Clinic.Leukocytosis.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sirs.apply","instance":"Reasoning.Clinic.Sirs.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sepsis.apply","instance":"Reasoning.Clinic.Sepsis.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Shock.apply","instance":"Reasoning.Clinic.Shock.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Escalate.apply","instance":"Reasoning.Clinic.Escalate.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.hypotensive","instance":"Reasoning.Clinic.hypotensive","type_arguments":[]},{"declaration":"Reasoning.Clinic.feverish","instance":"Reasoning.Clinic.feverish","type_arguments":[]},{"declaration":"Reasoning.Clinic.tachycardic","instance":"Reasoning.Clinic.tachycardic","type_arguments":[]},{"declaration":"Reasoning.Clinic.tachypneic","instance":"Reasoning.Clinic.tachypneic","type_arguments":[]},{"declaration":"Reasoning.Clinic.leukocytic","instance":"Reasoning.Clinic.leukocytic","type_arguments":[]},{"declaration":"Reasoning.Clinic.Fever.conclusion","instance":"Reasoning.Clinic.Fever.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachycardia.conclusion","instance":"Reasoning.Clinic.Tachycardia.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachypnea.conclusion","instance":"Reasoning.Clinic.Tachypnea.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Leukocytosis.conclusion","instance":"Reasoning.Clinic.Leukocytosis.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sirs.conclusion","instance":"Reasoning.Clinic.Sirs.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sepsis.conclusion","instance":"Reasoning.Clinic.Sepsis.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Shock.conclusion","instance":"Reasoning.Clinic.Shock.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Escalate.conclusion","instance":"Reasoning.Clinic.Escalate.conclusion","type_arguments":[]}],"internal_erased":[],"root":"Reasoning.Main.triageLevel","runtime":["LexLeanCollections.iterateUntil"]},{"declarations":["Reasoning.Clinic.Escalate.apply","Reasoning.Clinic.Escalate.conclusion","Reasoning.Clinic.Escalate.guard","Reasoning.Clinic.Fever.apply","Reasoning.Clinic.Fever.conclusion","Reasoning.Clinic.Fever.guard","Reasoning.Clinic.Leukocytosis.apply","Reasoning.Clinic.Leukocytosis.conclusion","Reasoning.Clinic.Leukocytosis.guard","Reasoning.Clinic.Sepsis.apply","Reasoning.Clinic.Sepsis.conclusion","Reasoning.Clinic.Sepsis.guard","Reasoning.Clinic.Shock.apply","Reasoning.Clinic.Shock.conclusion","Reasoning.Clinic.Shock.guard","Reasoning.Clinic.Sirs.apply","Reasoning.Clinic.Sirs.conclusion","Reasoning.Clinic.Sirs.guard","Reasoning.Clinic.Tachycardia.apply","Reasoning.Clinic.Tachycardia.conclusion","Reasoning.Clinic.Tachycardia.guard","Reasoning.Clinic.Tachypnea.apply","Reasoning.Clinic.Tachypnea.conclusion","Reasoning.Clinic.Tachypnea.guard","Reasoning.Clinic.Triage","Reasoning.Clinic.Triage.accept","Reasoning.Clinic.Triage.attempts","Reasoning.Clinic.Triage.conclude","Reasoning.Clinic.Triage.extract","Reasoning.Clinic.Triage.fire","Reasoning.Clinic.Triage.observe","Reasoning.Clinic.Triage.run","Reasoning.Clinic.Triage.select","Reasoning.Clinic.Triage.start","Reasoning.Clinic.Triage.step","Reasoning.Clinic.feverish","Reasoning.Clinic.hypotensive","Reasoning.Clinic.leukocytic","Reasoning.Clinic.recommendationCheck","Reasoning.Clinic.tachycardic","Reasoning.Clinic.tachypneic","Reasoning.Main.triageSteps"],"erased":[],"instances":[{"declaration":"Reasoning.Main.triageSteps","instance":"Reasoning.Main.triageSteps","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage","instance":"Reasoning.Clinic.Triage","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.run","instance":"Reasoning.Clinic.Triage.run","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.conclude","instance":"Reasoning.Clinic.Triage.conclude","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.step","instance":"Reasoning.Clinic.Triage.step","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.start","instance":"Reasoning.Clinic.Triage.start","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.accept","instance":"Reasoning.Clinic.Triage.accept","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.extract","instance":"Reasoning.Clinic.Triage.extract","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.select","instance":"Reasoning.Clinic.Triage.select","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.fire","instance":"Reasoning.Clinic.Triage.fire","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.attempts","instance":"Reasoning.Clinic.Triage.attempts","type_arguments":[]},{"declaration":"Reasoning.Clinic.Triage.observe","instance":"Reasoning.Clinic.Triage.observe","type_arguments":[]},{"declaration":"Reasoning.Clinic.recommendationCheck","instance":"Reasoning.Clinic.recommendationCheck","type_arguments":[]},{"declaration":"Reasoning.Clinic.Fever.guard","instance":"Reasoning.Clinic.Fever.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachycardia.guard","instance":"Reasoning.Clinic.Tachycardia.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachypnea.guard","instance":"Reasoning.Clinic.Tachypnea.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Leukocytosis.guard","instance":"Reasoning.Clinic.Leukocytosis.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sirs.guard","instance":"Reasoning.Clinic.Sirs.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sepsis.guard","instance":"Reasoning.Clinic.Sepsis.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Shock.guard","instance":"Reasoning.Clinic.Shock.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Escalate.guard","instance":"Reasoning.Clinic.Escalate.guard","type_arguments":[]},{"declaration":"Reasoning.Clinic.Fever.apply","instance":"Reasoning.Clinic.Fever.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachycardia.apply","instance":"Reasoning.Clinic.Tachycardia.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachypnea.apply","instance":"Reasoning.Clinic.Tachypnea.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Leukocytosis.apply","instance":"Reasoning.Clinic.Leukocytosis.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sirs.apply","instance":"Reasoning.Clinic.Sirs.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sepsis.apply","instance":"Reasoning.Clinic.Sepsis.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Shock.apply","instance":"Reasoning.Clinic.Shock.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.Escalate.apply","instance":"Reasoning.Clinic.Escalate.apply","type_arguments":[]},{"declaration":"Reasoning.Clinic.hypotensive","instance":"Reasoning.Clinic.hypotensive","type_arguments":[]},{"declaration":"Reasoning.Clinic.feverish","instance":"Reasoning.Clinic.feverish","type_arguments":[]},{"declaration":"Reasoning.Clinic.tachycardic","instance":"Reasoning.Clinic.tachycardic","type_arguments":[]},{"declaration":"Reasoning.Clinic.tachypneic","instance":"Reasoning.Clinic.tachypneic","type_arguments":[]},{"declaration":"Reasoning.Clinic.leukocytic","instance":"Reasoning.Clinic.leukocytic","type_arguments":[]},{"declaration":"Reasoning.Clinic.Fever.conclusion","instance":"Reasoning.Clinic.Fever.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachycardia.conclusion","instance":"Reasoning.Clinic.Tachycardia.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Tachypnea.conclusion","instance":"Reasoning.Clinic.Tachypnea.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Leukocytosis.conclusion","instance":"Reasoning.Clinic.Leukocytosis.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sirs.conclusion","instance":"Reasoning.Clinic.Sirs.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Sepsis.conclusion","instance":"Reasoning.Clinic.Sepsis.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Shock.conclusion","instance":"Reasoning.Clinic.Shock.conclusion","type_arguments":[]},{"declaration":"Reasoning.Clinic.Escalate.conclusion","instance":"Reasoning.Clinic.Escalate.conclusion","type_arguments":[]}],"internal_erased":[],"root":"Reasoning.Main.triageSteps","runtime":["LexLeanCollections.iterateUntil","LexLeanRuntime.append","LexLeanRuntime.instAppendableList","LexLeanRuntime.instLengthableList","LexLeanRuntime.length"]}],"declarations":[{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v29","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v33","kind":"return"},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v31","kind":"fvar"},{"id":"v32","kind":"fvar"}],"function":"v28","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v31","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v32","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v3","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"List"},"id":"v28","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v10","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"function":"v11","kind":"apply"}},"id":"v22","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.lt","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"function":"v15","kind":"apply"}},"id":"v24","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.eq","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v26","kind":"fvar"}],"function":"v19","kind":"apply"}},"id":"v26","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.gt","kind":"constructor","parameters":[]}],"discriminant":"v21","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Ordering"},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v9","kind":"fvar"}],"function":"v20","kind":"apply"}},"id":"v20","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanCollections.Key","value":"v1"}},"id":"v19","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v16","kind":"apply"}},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.containsElement"}}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"id":"v11","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}}},"kind":"fun"},"id":"v7","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanCollections.containsElement","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v36","kind":"return"},"id":"v36","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v35","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v35","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v37","kind":"fvar"},{"id":"v38","kind":"fvar"}],"function":"v34","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v37","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v38","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"List"},"id":"v34","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v11","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v28","kind":"fvar"}],"function":"v16","kind":"apply"}},"id":"v28","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.lt","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v31","kind":"return"},"id":"v31","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v30","kind":"fvar"}],"function":"v20","kind":"apply"}},"id":"v30","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.eq","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v33","kind":"return"},"id":"v33","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"function":"v25","kind":"apply"}},"id":"v32","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.gt","kind":"constructor","parameters":[]}],"discriminant":"v27","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Ordering"},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v10","kind":"fvar"}],"function":"v26","kind":"apply"}},"id":"v26","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanCollections.Key","value":"v1"}},"id":"v25","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v21","kind":"apply"}},"declaration":{"id":"v21","parameters":[{"borrow":false,"id":"v22","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v10","kind":"fvar"},{"id":"v23","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v23","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.insertElement"}}},"kind":"fun"},"id":"v20","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}}},"kind":"fun"},"id":"v16","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v14","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}}},"kind":"fun"}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v6","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.nil"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanCollections.insertElement","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.Key.mk"}},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"Ord","value":"v0"}},"id":"v0","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Ord"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instOrdNat"}},"level_parameters":[],"name":"LexLeanCollections.instKeyNat","parameters":[],"recursive":false,"type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"code":{"body":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.Key.mk"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v6","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v21","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v21","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Ordering.eq","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"kind":"type","type":{"kind":"any"}}],"function":"v23","kind":"apply"}},"declaration":{"id":"v23","parameters":[{"borrow":false,"id":"v24","type":{"kind":"erased"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"erased"},"kind":"arrow"},"value":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"function":"v16","kind":"apply"}}},"kind":"fun"},"kind":"default"}],"discriminant":"v20","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Ordering"},"type_name":"Ordering"},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v18","kind":"fvar"},{"id":"v19","kind":"fvar"}],"function":"v17","kind":"apply"}},"id":"v19","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v6"}},"id":"v18","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v5"}},"id":"v17","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanCollections.Key","value":"v2"}},"id":"v16","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Ordering"},"kind":"arrow"},"value":{"arguments":[],"function":"v14","kind":"apply"}},"declaration":{"id":"v14","parameters":[{"borrow":false,"id":"v15","type":{"kind":"const","levels":[],"name":"Ordering"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":[],"name":"Ordering"},"kind":"arrow"},"value":{"id":"v15","kind":"return"}},"kind":"fun"},"id":"v13","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Ordering"},"value":{"arguments":[{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"function":"v9","kind":"apply"}},"id":"v11","kind":"let","type":{"id":"v1","kind":"fvar"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v6"}},"id":"v10","kind":"let","type":{"id":"v1","kind":"fvar"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v5"}},"id":"v9","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanCollections.Key","value":"v3"}}},"kind":"fun"}},"kind":"fun"},"level_parameters":[],"name":"LexLeanCollections.instKeyProd","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"arguments":[{"id":"v1","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":3,"kind":"bvar"},{"index":2,"kind":"bvar"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"function":"v8","kind":"apply"}},"constructor":"Nat.zero","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v28","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v26","kind":"apply"}},"constructor":"Nat.succ","kind":"constructor","parameters":[{"borrow":false,"id":"v28","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v2","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Nat"},"id":"v26","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v11","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"function":"v16","kind":"apply"}},"id":"v22","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"function":"v20","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"id":"v0","kind":"fvar"}}]}],"discriminant":"v21","kind":"cases","result_type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Option"},"id":"v21","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"function":"v1","kind":"apply"}},"id":"v20","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.iterateUntil"}}},"kind":"fun"},"id":"v16","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v11","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"id":"v0","kind":"fvar"}}],"type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"LexLeanCollections.iterateUntil","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":true,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v1","kind":"fvar"},"value":{"arguments":[{"kind":"type","type":{"id":"v1","kind":"fvar"}},{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"List.foldl"}},"level_parameters":[],"name":"LexLeanCollections.listFold","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v2","type":{"codomain":{"codomain":{"id":"v1","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v1","kind":"fvar"},"kind":"arrow"}},{"borrow":false,"id":"v3","type":{"id":"v1","kind":"fvar"}},{"borrow":false,"id":"v4","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.containsElement"}},"level_parameters":[],"name":"LexLeanCollections.setContains","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.insertElement"}},"level_parameters":[],"name":"LexLeanCollections.setInsert","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":3,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanRuntime.Appendable","value":"v1"}},"level_parameters":[],"name":"LexLeanRuntime.append","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable.mk"}},"id":"v1","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.appendTR"}},"level_parameters":[],"name":"LexLeanRuntime.instAppendableList","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable.mk"}},"id":"v1","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":["0"],"name":"List.lengthTR"}},"level_parameters":[],"name":"LexLeanRuntime.instLengthableList","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"function":"v3","kind":"apply"}},"id":"v3","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"LexLeanRuntime.Lengthable","value":"v1"}},"level_parameters":[],"name":"LexLeanRuntime.length","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HMul","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HMul"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHMul"}},"level_parameters":[],"name":"LexLeanRuntime.multiply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"id":"v0","kind":"fvar"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"domain":{"id":"v0","kind":"fvar"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HSub","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HSub"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHSub"}},"level_parameters":[],"name":"LexLeanRuntime.subtract","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v3","type":{"id":"v0","kind":"fvar"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"index":3,"kind":"bvar"},"domain":{"index":2,"kind":"bvar"},"kind":"arrow"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v9","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Burn.conclusion"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v8","type":{"kind":"erased"}}]}],"discriminant":"v5","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v5","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Burn.guard"}},"level_parameters":[],"name":"Reasoning.Budget.Burn.apply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":2,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v4","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v7","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"level_parameters":[],"name":"Reasoning.Budget.Burn.candidates","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.subtract"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v1"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubNat"}},"id":"v3","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v1"}},"level_parameters":[],"name":"Reasoning.Budget.Burn.conclusion","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"index":2,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v16","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v16","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v18","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v15","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v1"}},"id":"v13","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v11","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Budget.Burn.guard","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v18","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"function":"v16","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v20","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v17","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.extract"}},"id":"v16","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"kind":"erased"}}]}],"discriminant":"v11","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v11","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.emptyCheck"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Budget.Spend.accept","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"index":1,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v31","kind":"return"},"id":"v31","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v30","kind":"fvar"}],"function":"v28","kind":"apply"}},"id":"v30","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v33","kind":"return"},"id":"v33","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"function":"v6","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v32","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v29","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Option"},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.accept"}},"id":"v28","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"function":"v22","kind":"apply"}},"id":"v24","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v26","kind":"fvar"}],"function":"v15","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v26","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v23","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Option"},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.extract"}},"id":"v22","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v16","kind":"apply"}},"declaration":{"id":"v16","parameters":[{"borrow":false,"id":"v17","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v18","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"id":"v15","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Budget.Spend.conclude","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"index":1,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v1"}},"level_parameters":[],"name":"Reasoning.Budget.Spend.extract","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"function":"v6","kind":"apply"}},"id":"v11","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Budget.Spend.Step.Tick","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"}],"function":"v10","kind":"apply"}},"constructor":"Reasoning.Budget.Spend.Step.Burn","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v2","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Reasoning.Budget.Spend.Step"},"id":"v10","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Burn.apply"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Tick.apply"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Budget.Spend.fire","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":2,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v11","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"}],"function":"v9","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}}]}],"discriminant":"v10","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.select"}},"id":"v9","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.fire"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Budget.Spend.next","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v9","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v8"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v1"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v2","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v1"}},"level_parameters":[],"name":"Reasoning.Budget.Spend.observe","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v2","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.iterateUntil"}},"id":"v11","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.observe"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v9","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v8"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4"}}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v1"}},"id":"v5","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v2","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.next"}},"level_parameters":[],"name":"Reasoning.Budget.Spend.saturate","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v41","kind":"fvar"}],"kind":"jump","target":"v34"},"id":"v41","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v40","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"arguments":[{"id":"v44","kind":"fvar"}],"kind":"jump","target":"v34"},"id":"v44","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}},{"id":"v43","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v43","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}}],"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step.Tick"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v42","type":{"kind":"erased"}}]}],"discriminant":"v33","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v34","parameters":[{"borrow":false,"id":"v35","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"body":{"id":"v37","kind":"return"},"id":"v37","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v36","kind":"fvar"}],"function":"v30","kind":"apply"}},"id":"v36","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v38","kind":"fvar"}],"function":"v5","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v38","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}}]}],"discriminant":"v35","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"}},"kind":"join"},"id":"v33","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v31","kind":"fvar"},{"id":"v32","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Tick.guard"}},"id":"v30","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"id":"v8","kind":"fvar"},{"id":"v27","kind":"fvar"},{"id":"v28","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.listFold"}},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Burn.candidates"}},"id":"v27","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}},{"borrow":false,"id":"v10","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"function":"v22","kind":"apply"}},"id":"v23","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v25","kind":"fvar"}],"function":"v11","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v25","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}}]}],"discriminant":"v9","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v22","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v17","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v20","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step.Burn"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v19","type":{"kind":"erased"}}]}],"discriminant":"v16","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v16","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v14","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Burn.guard"}}},"kind":"fun"},"id":"v11","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}}},"kind":"fun"}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Budget.Spend.select","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v16","kind":"fvar"}],"function":"v14","kind":"apply"}},"id":"v16","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v18","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v15","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Bool"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v3"}},"id":"v14","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v11","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.conclude"}},"id":"v6","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v3"}}},"kind":"fun"},"id":"v3","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"id":"v2","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.saturate"}},"level_parameters":[],"name":"Reasoning.Budget.Spend.verdict","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v5","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v8","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Tick.conclusion"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v7","type":{"kind":"erased"}}]}],"discriminant":"v4","kind":"cases","result_type":{"arguments":[{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Tick.guard"}},"level_parameters":[],"name":"Reasoning.Budget.Tick.apply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"index":1,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"id":"v0","kind":"fvar"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.subtract"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v1"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubNat"}},"id":"v2","kind":"let","type":{"id":"v0","kind":"fvar"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v1"}},"level_parameters":[],"name":"Reasoning.Budget.Tick.conclusion","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v1"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"level_parameters":[],"name":"Reasoning.Budget.Tick.guard","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"arguments":[{"id":"v0","kind":"fvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"arguments":[{"index":0,"kind":"bvar"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"level_parameters":[],"name":"Reasoning.Budget.emptyCheck","parameters":[{"borrow":false,"id":"v0","type":{"kind":"sort","level":"1"}},{"borrow":false,"id":"v1","type":{"id":"v0","kind":"fvar"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v4","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Escalate.conclusion"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Escalate.guard"}},"level_parameters":[],"name":"Reasoning.Clinic.Escalate.apply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart.mk"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v12","kind":"fvar"},{"id":"v15","kind":"fvar"}],"function":"v11","kind":"apply"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v14"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":8,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v11","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":7,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":6,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"level_parameters":[],"name":"Reasoning.Clinic.Escalate.conclusion","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v99","kind":"return"},"id":"v99","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v98","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v98","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v101","kind":"return"},"id":"v101","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v100","kind":"fvar"}],"function":"v92","kind":"apply"}},"id":"v100","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v97","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v97","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v93","kind":"fvar"},{"id":"v96","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v96","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v95"}},"id":"v95","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v94","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v94","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v93","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":8,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v92","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v90","kind":"fvar"}],"kind":"jump","target":"v84"},"id":"v90","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v91","kind":"fvar"}],"kind":"jump","target":"v87"},"id":"v91","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v77","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"declaration":{"id":"v87","parameters":[{"borrow":false,"id":"v88","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v89","kind":"fvar"}],"kind":"jump","target":"v78"},"id":"v89","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v88","kind":"fvar"}],"function":"v72","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v84","parameters":[{"borrow":false,"id":"v85","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v86","kind":"fvar"}],"kind":"jump","target":"v78"},"id":"v86","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v85","kind":"fvar"}],"function":"v64","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v78","parameters":[{"borrow":false,"id":"v79","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"body":{"id":"v81","kind":"return"},"id":"v81","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v80","kind":"fvar"}],"function":"v63","kind":"apply"}},"id":"v80","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v83","kind":"return"},"id":"v83","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v82","kind":"fvar"}],"function":"v10","kind":"apply"}},"id":"v82","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v79","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"}},"kind":"join"},"id":"v77","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v73","kind":"fvar"},{"id":"v76","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v76","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v75"}},"id":"v75","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v74","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v74","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v73","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":8,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v72","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v65","kind":"apply"}},"declaration":{"id":"v65","parameters":[{"borrow":false,"id":"v66","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v71","kind":"return"},"id":"v71","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v67","kind":"fvar"},{"id":"v70","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v70","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v69"}},"id":"v69","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v68","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v68","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v67","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}}},"kind":"fun"},"id":"v64","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v63","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v11","kind":"apply"}},"declaration":{"id":"v11","parameters":[{"borrow":false,"id":"v12","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v61","kind":"fvar"}],"kind":"jump","target":"v58"},"id":"v61","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v62","kind":"fvar"}],"kind":"jump","target":"v55"},"id":"v62","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v48","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"declaration":{"id":"v58","parameters":[{"borrow":false,"id":"v59","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v60","kind":"fvar"}],"kind":"jump","target":"v49"},"id":"v60","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v59","kind":"fvar"}],"function":"v35","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v55","parameters":[{"borrow":false,"id":"v56","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v57","kind":"fvar"}],"kind":"jump","target":"v49"},"id":"v57","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v56","kind":"fvar"}],"function":"v43","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v49","parameters":[{"borrow":false,"id":"v50","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"body":{"id":"v52","kind":"return"},"id":"v52","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v51","kind":"fvar"}],"function":"v34","kind":"apply"}},"id":"v51","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v54","kind":"return"},"id":"v54","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v53","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v53","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v50","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"}},"kind":"join"},"id":"v48","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v44","kind":"fvar"},{"id":"v47","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v47","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v46"}},"id":"v46","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v45","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v45","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v44","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":8,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v43","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v36","kind":"apply"}},"declaration":{"id":"v36","parameters":[{"borrow":false,"id":"v37","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v42","kind":"return"},"id":"v42","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v38","kind":"fvar"},{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v40"}},"id":"v40","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v39","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v39","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v38","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":6,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}}},"kind":"fun"},"id":"v35","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v34","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v14","kind":"apply"}},"declaration":{"id":"v14","parameters":[{"borrow":false,"id":"v15","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v31","kind":"return"},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v30","kind":"fvar"}],"function":"v16","kind":"apply"}},"id":"v30","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v33","kind":"return"},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"function":"v24","kind":"apply"}},"id":"v32","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v29","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v25","kind":"fvar"},{"id":"v28","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v27"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v26","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":8,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v24","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v17","kind":"apply"}},"declaration":{"id":"v17","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v21"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":7,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}}},"kind":"fun"},"id":"v16","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}}},"kind":"fun"},"id":"v13","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}}},"kind":"fun"},"id":"v10","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.Escalate.guard","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v4","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Fever.conclusion"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Fever.guard"}},"level_parameters":[],"name":"Reasoning.Clinic.Fever.apply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart.mk"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":8,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":7,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":6,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"level_parameters":[],"name":"Reasoning.Clinic.Fever.conclusion","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v15","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v9","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v14","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v10","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v12"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.feverish"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.Fever.guard","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v4","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Leukocytosis.conclusion"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Leukocytosis.guard"}},"level_parameters":[],"name":"Reasoning.Clinic.Leukocytosis.apply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v7","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart.mk"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":8,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":7,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":6,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"level_parameters":[],"name":"Reasoning.Clinic.Leukocytosis.conclusion","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v15","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v9","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v14","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v10","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v12"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.leukocytic"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.Leukocytosis.guard","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v4","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Sepsis.conclusion"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Sepsis.guard"}},"level_parameters":[],"name":"Reasoning.Clinic.Sepsis.apply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"},{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart.mk"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":8,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":7,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v8"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"level_parameters":[],"name":"Reasoning.Clinic.Sepsis.conclusion","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v33","kind":"return"},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v32","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v35","kind":"return"},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v34","kind":"fvar"}],"function":"v26","kind":"apply"}},"id":"v34","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v31","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v27","kind":"fvar"},{"id":"v30","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v29"}},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v28","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":6,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v26","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v22","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v25","kind":"return"},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"function":"v16","kind":"apply"}},"id":"v24","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v21","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v17","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v19"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v16","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v11","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v13"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Clinic.Vitals","value":"v10"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}}},"kind":"fun"},"id":"v7","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.Sepsis.guard","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v4","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Shock.conclusion"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Shock.guard"}},"level_parameters":[],"name":"Reasoning.Clinic.Shock.apply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart.mk"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":8,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v9"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":6,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"level_parameters":[],"name":"Reasoning.Clinic.Shock.conclusion","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v28","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v28","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v31","kind":"return"},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v30","kind":"fvar"}],"function":"v22","kind":"apply"}},"id":"v30","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v27","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v23","kind":"fvar"},{"id":"v26","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v25"}},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":7,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v22","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v18","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v20","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v17","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v15"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":6,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v12","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.hypotensive"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}}},"kind":"fun"},"id":"v7","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.Shock.guard","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v4","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Sirs.conclusion"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Sirs.guard"}},"level_parameters":[],"name":"Reasoning.Clinic.Sirs.apply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart.mk"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":8,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":7,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":6,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"level_parameters":[],"name":"Reasoning.Clinic.Sirs.conclusion","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v27","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v27","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"function":"v21","kind":"apply"}},"id":"v29","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v26","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v22","kind":"fvar"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v24"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v21","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v17","kind":"fvar"},{"id":"v18","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v15","kind":"fvar"},{"id":"v16","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v12","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v11"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v8"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.Sirs.guard","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v4","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Tachycardia.conclusion"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Tachycardia.guard"}},"level_parameters":[],"name":"Reasoning.Clinic.Tachycardia.apply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart.mk"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":8,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":7,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":6,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"level_parameters":[],"name":"Reasoning.Clinic.Tachycardia.conclusion","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v15","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v9","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v14","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v10","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v12"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.tachycardic"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.Tachycardia.guard","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v4","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Tachypnea.conclusion"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Tachypnea.guard"}},"level_parameters":[],"name":"Reasoning.Clinic.Tachypnea.apply","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart.mk"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":8,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":7,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":6,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"level_parameters":[],"name":"Reasoning.Clinic.Tachypnea.conclusion","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v15","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v9","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v14","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v10","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v12"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.tachypneic"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.Tachypnea.guard","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v31","kind":"fvar"}],"function":"v29","kind":"apply"}},"id":"v31","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v34","kind":"return"},"id":"v34","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"function":"v23","kind":"apply"}},"id":"v33","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v30","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Bool"},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v2"}},"id":"v29","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v24","kind":"apply"}},"declaration":{"id":"v24","parameters":[{"borrow":false,"id":"v25","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v27","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v26","kind":"fvar"},{"id":"v26","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"id":"v23","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"function":"v15","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v19","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v21","kind":"fvar"}],"function":"v11","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v21","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v18","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Except"},"id":"v18","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.conclude"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Triage.Run","value":"v16"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v2"}},"id":"v15","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}}},"kind":"fun"},"id":"v11","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v6","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Clinic.Triage.Run","value":"v7"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v2"}}},"kind":"fun"}},"kind":"fun"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.run"}},"level_parameters":[],"name":"Reasoning.Clinic.Triage","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"function":"v15","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v16","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.extract"}},"id":"v15","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"kind":"erased"}}]}],"discriminant":"v10","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v10","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.recommendationCheck"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.Triage.accept","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"arguments":[{"id":"v132","kind":"fvar"}],"kind":"jump","target":"v10"},"id":"v132","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v125","kind":"fvar"},{"id":"v131","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v131","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v129","kind":"fvar"},{"id":"v130","kind":"fvar"}],"function":"v128","kind":"apply"}},"id":"v130","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v124"}},"id":"v129","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v6"}},"id":"v128","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v127"}},"id":"v127","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v126","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v126","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v125","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v124"}},"id":"v124","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v123","kind":"apply"}},"id":"v123","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v122","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v122","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Tachycardia.guard"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v121","type":{"kind":"erased"}}]},{"code":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"jump","target":"v10"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v133","type":{"kind":"erased"}}]}],"discriminant":"v9","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Decidable"},"declaration":{"id":"v10","parameters":[{"borrow":false,"id":"v11","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"arguments":[{"id":"v118","kind":"fvar"}],"kind":"jump","target":"v96"},"id":"v118","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v111","kind":"fvar"},{"id":"v117","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v117","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v115","kind":"fvar"},{"id":"v116","kind":"fvar"}],"function":"v114","kind":"apply"}},"id":"v116","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v110"}},"id":"v115","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v93"}},"id":"v114","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v113"}},"id":"v113","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v112","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v112","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v111","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v110"}},"id":"v110","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v109","kind":"apply"}},"id":"v109","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v108","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v108","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Leukocytosis.guard"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v107","type":{"kind":"erased"}}]},{"code":{"arguments":[{"id":"v93","kind":"fvar"}],"kind":"jump","target":"v96"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v119","type":{"kind":"erased"}}]}],"discriminant":"v95","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Decidable"},"declaration":{"id":"v96","parameters":[{"borrow":false,"id":"v97","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"arguments":[{"id":"v106","kind":"fvar"}],"kind":"jump","target":"v15"},"id":"v106","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v99","kind":"fvar"},{"id":"v105","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v105","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v103","kind":"fvar"},{"id":"v104","kind":"fvar"}],"function":"v102","kind":"apply"}},"id":"v104","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v98"}},"id":"v103","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v12"}},"id":"v102","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v101"}},"id":"v101","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v100","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v100","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v99","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v98"}},"id":"v98","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v97","kind":"apply"}}},"kind":"join"},"id":"v95","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v94","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v94","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v93"}},"id":"v93","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v92","kind":"apply"}},"id":"v92","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v91","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v91","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Tachypnea.guard"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v90","type":{"kind":"erased"}}]},{"code":{"arguments":[{"id":"v12","kind":"fvar"}],"kind":"jump","target":"v15"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v120","type":{"kind":"erased"}}]}],"discriminant":"v14","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Decidable"},"declaration":{"id":"v15","parameters":[{"borrow":false,"id":"v16","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"arguments":[{"id":"v87","kind":"fvar"}],"kind":"jump","target":"v29"},"id":"v87","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v80","kind":"fvar"},{"id":"v86","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v86","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v84","kind":"fvar"},{"id":"v85","kind":"fvar"}],"function":"v83","kind":"apply"}},"id":"v85","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v79"}},"id":"v84","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v26"}},"id":"v83","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v82"}},"id":"v82","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v81","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v81","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v80","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v79"}},"id":"v79","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v78","kind":"apply"}},"id":"v78","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v77","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v77","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Sepsis.guard"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v76","type":{"kind":"erased"}}]},{"code":{"arguments":[{"id":"v26","kind":"fvar"}],"kind":"jump","target":"v29"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v88","type":{"kind":"erased"}}]}],"discriminant":"v28","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Decidable"},"declaration":{"id":"v29","parameters":[{"borrow":false,"id":"v30","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"arguments":[{"id":"v73","kind":"fvar"}],"kind":"jump","target":"v51"},"id":"v73","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v66","kind":"fvar"},{"id":"v72","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v72","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v70","kind":"fvar"},{"id":"v71","kind":"fvar"}],"function":"v69","kind":"apply"}},"id":"v71","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v65"}},"id":"v70","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v48"}},"id":"v69","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v68"}},"id":"v68","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v67","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v67","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v66","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v65"}},"id":"v65","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v64","kind":"apply"}},"id":"v64","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v63","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v63","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Escalate.guard"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v62","type":{"kind":"erased"}}]},{"code":{"arguments":[{"id":"v48","kind":"fvar"}],"kind":"jump","target":"v51"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v74","type":{"kind":"erased"}}]}],"discriminant":"v50","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Decidable"},"declaration":{"id":"v51","parameters":[{"borrow":false,"id":"v52","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"arguments":[{"id":"v61","kind":"fvar"}],"kind":"jump","target":"v34"},"id":"v61","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v54","kind":"fvar"},{"id":"v60","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v60","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v58","kind":"fvar"},{"id":"v59","kind":"fvar"}],"function":"v57","kind":"apply"}},"id":"v59","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v53"}},"id":"v58","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v31"}},"id":"v57","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v56"}},"id":"v56","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v55","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v55","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v54","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v53"}},"id":"v53","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v52","kind":"apply"}}},"kind":"join"},"id":"v50","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v49","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v49","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v48"}},"id":"v48","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v47","kind":"apply"}},"id":"v47","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v46","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v46","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Shock.guard"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v45","type":{"kind":"erased"}}]},{"code":{"arguments":[{"id":"v31","kind":"fvar"}],"kind":"jump","target":"v34"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v75","type":{"kind":"erased"}}]}],"discriminant":"v33","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Decidable"},"declaration":{"id":"v34","parameters":[{"borrow":false,"id":"v35","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"arguments":[{"id":"v44","kind":"fvar"}],"kind":"jump","target":"v20"},"id":"v44","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v37","kind":"fvar"},{"id":"v43","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v41","kind":"fvar"},{"id":"v42","kind":"fvar"}],"function":"v40","kind":"apply"}},"id":"v42","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v36"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v17"}},"id":"v40","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v39"}},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v38","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v38","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v37","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v36"}},"id":"v36","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v35","kind":"apply"}}},"kind":"join"},"id":"v33","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v32","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v31"}},"id":"v31","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v30","kind":"apply"}}},"kind":"join"},"id":"v28","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v27","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v26"}},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v25","kind":"apply"}},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v24","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Sirs.guard"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v23","type":{"kind":"erased"}}]},{"code":{"arguments":[{"id":"v17","kind":"fvar"}],"kind":"jump","target":"v20"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v89","type":{"kind":"erased"}}]}],"discriminant":"v19","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Decidable"},"declaration":{"id":"v20","parameters":[{"borrow":false,"id":"v21","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v21"}}},"kind":"join"},"id":"v19","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v18","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v17"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v16","kind":"apply"}}},"kind":"join"},"id":"v14","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v12"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v11","kind":"apply"}}},"kind":"join"},"id":"v9","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Fever.guard"}},"level_parameters":[],"name":"Reasoning.Clinic.Triage.attempts","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"function":"v27","kind":"apply"}},"id":"v29","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v31","kind":"fvar"}],"function":"v5","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v31","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v28","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Option"},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.accept"}},"id":"v27","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"function":"v21","kind":"apply"}},"id":"v23","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v25","kind":"fvar"}],"function":"v14","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v25","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v22","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Option"},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.extract"}},"id":"v21","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v15","kind":"apply"}},"declaration":{"id":"v15","parameters":[{"borrow":false,"id":"v16","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v17","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"id":"v14","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.Triage.conclude","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":8,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"level_parameters":[],"name":"Reasoning.Clinic.Triage.extract","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v35","kind":"return"},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v34","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v34","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Clinic.Triage.Step.Fever","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v37","kind":"return"},"id":"v37","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v36","kind":"fvar"}],"function":"v9","kind":"apply"}},"id":"v36","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Clinic.Triage.Step.Tachycardia","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v38","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v38","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Clinic.Triage.Step.Tachypnea","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v41","kind":"return"},"id":"v41","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v40","kind":"fvar"}],"function":"v17","kind":"apply"}},"id":"v40","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Clinic.Triage.Step.Leukocytosis","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v43","kind":"return"},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v42","kind":"fvar"}],"function":"v21","kind":"apply"}},"id":"v42","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Clinic.Triage.Step.Sirs","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v45","kind":"return"},"id":"v45","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v44","kind":"fvar"}],"function":"v25","kind":"apply"}},"id":"v44","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Clinic.Triage.Step.Sepsis","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v47","kind":"return"},"id":"v47","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v46","kind":"fvar"}],"function":"v29","kind":"apply"}},"id":"v46","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Clinic.Triage.Step.Shock","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v49","kind":"return"},"id":"v49","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v48","kind":"fvar"}],"function":"v33","kind":"apply"}},"id":"v48","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Clinic.Triage.Step.Escalate","kind":"constructor","parameters":[]}],"discriminant":"v1","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Reasoning.Clinic.Triage.Step"},"id":"v33","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v30","kind":"apply"}},"declaration":{"id":"v30","parameters":[{"borrow":false,"id":"v31","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Escalate.apply"}}},"kind":"fun"},"id":"v29","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v26","kind":"apply"}},"declaration":{"id":"v26","parameters":[{"borrow":false,"id":"v27","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Shock.apply"}}},"kind":"fun"},"id":"v25","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v22","kind":"apply"}},"declaration":{"id":"v22","parameters":[{"borrow":false,"id":"v23","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Sepsis.apply"}}},"kind":"fun"},"id":"v21","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v18","kind":"apply"}},"declaration":{"id":"v18","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Sirs.apply"}}},"kind":"fun"},"id":"v17","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v14","kind":"apply"}},"declaration":{"id":"v14","parameters":[{"borrow":false,"id":"v15","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Leukocytosis.apply"}}},"kind":"fun"},"id":"v13","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v10","kind":"apply"}},"declaration":{"id":"v10","parameters":[{"borrow":false,"id":"v11","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Tachypnea.apply"}}},"kind":"fun"},"id":"v9","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Tachycardia.apply"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Fever.apply"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.Triage.fire","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v10","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"function":"v8","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}]}],"discriminant":"v9","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.select"}},"id":"v8","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.fire"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.Triage.next","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart.mk"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"level_parameters":[],"name":"Reasoning.Clinic.Triage.observe","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}},{"id":"v1","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.iterateUntil"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.start"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"11"}}},"id":"v1","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.step"}},"level_parameters":[],"name":"Reasoning.Clinic.Triage.run","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}},{"id":"v1","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.iterateUntil"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.observe"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"11"}}},"id":"v1","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.next"}},"level_parameters":[],"name":"Reasoning.Clinic.Triage.saturate","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v146","kind":"fvar"}],"kind":"jump","target":"v119"},"id":"v146","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v145","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"arguments":[{"id":"v149","kind":"fvar"}],"kind":"jump","target":"v119"},"id":"v149","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"id":"v148","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v148","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step.Fever"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v147","type":{"kind":"erased"}}]}],"discriminant":"v118","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v119","parameters":[{"borrow":false,"id":"v120","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v143","kind":"fvar"}],"kind":"jump","target":"v140"},"id":"v143","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"arguments":[{"id":"v144","kind":"fvar"}],"kind":"jump","target":"v137"},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v144","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}]}],"discriminant":"v120","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"declaration":{"id":"v140","parameters":[{"borrow":false,"id":"v141","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v142","kind":"fvar"}],"kind":"jump","target":"v121"},"id":"v142","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v141","kind":"fvar"}],"function":"v115","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v137","parameters":[{"borrow":false,"id":"v138","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v139","kind":"fvar"}],"kind":"jump","target":"v121"},"id":"v139","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v138","kind":"fvar"}],"function":"v104","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v121","parameters":[{"borrow":false,"id":"v122","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v135","kind":"fvar"}],"kind":"jump","target":"v129"},"id":"v135","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"arguments":[{"id":"v136","kind":"fvar"}],"kind":"jump","target":"v132"},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v136","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}]}],"discriminant":"v122","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"declaration":{"id":"v132","parameters":[{"borrow":false,"id":"v133","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v134","kind":"fvar"}],"kind":"jump","target":"v123"},"id":"v134","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v133","kind":"fvar"}],"function":"v74","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v129","parameters":[{"borrow":false,"id":"v130","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v131","kind":"fvar"}],"kind":"jump","target":"v123"},"id":"v131","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v130","kind":"fvar"}],"function":"v103","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v123","parameters":[{"borrow":false,"id":"v124","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"body":{"id":"v126","kind":"return"},"id":"v126","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v125","kind":"fvar"}],"function":"v73","kind":"apply"}},"id":"v125","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v128","kind":"return"},"id":"v128","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v127","kind":"fvar"}],"function":"v4","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v127","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}]}],"discriminant":"v124","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"}},"kind":"join"}},"kind":"join"}},"kind":"join"},"id":"v118","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v116","kind":"fvar"},{"id":"v117","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v117","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v116","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Fever.guard"}},"id":"v115","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v105","kind":"apply"}},"declaration":{"id":"v105","parameters":[{"borrow":false,"id":"v106","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v111","kind":"return"},"id":"v111","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v110","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v114","kind":"return"},"id":"v114","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"id":"v113","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v113","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step.Tachycardia"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v112","type":{"kind":"erased"}}]}],"discriminant":"v109","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v109","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v107","kind":"fvar"},{"id":"v108","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v108","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v107","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Tachycardia.guard"}}},"kind":"fun"},"id":"v104","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v103","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v75","kind":"apply"}},"declaration":{"id":"v75","parameters":[{"borrow":false,"id":"v76","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v99","kind":"fvar"}],"kind":"jump","target":"v92"},"id":"v99","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v98","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"arguments":[{"id":"v102","kind":"fvar"}],"kind":"jump","target":"v92"},"id":"v102","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"id":"v101","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v101","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step.Tachypnea"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v100","type":{"kind":"erased"}}]}],"discriminant":"v91","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v92","parameters":[{"borrow":false,"id":"v93","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"body":{"id":"v95","kind":"return"},"id":"v95","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v94","kind":"fvar"}],"function":"v88","kind":"apply"}},"id":"v94","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v97","kind":"return"},"id":"v97","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v96","kind":"fvar"}],"function":"v77","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v96","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}]}],"discriminant":"v93","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"}},"kind":"join"},"id":"v91","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v89","kind":"fvar"},{"id":"v90","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v90","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v89","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Tachypnea.guard"}},"id":"v88","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v78","kind":"apply"}},"declaration":{"id":"v78","parameters":[{"borrow":false,"id":"v79","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v84","kind":"return"},"id":"v84","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v83","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v87","kind":"return"},"id":"v87","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"id":"v86","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v86","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step.Leukocytosis"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v85","type":{"kind":"erased"}}]}],"discriminant":"v82","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v82","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v80","kind":"fvar"},{"id":"v81","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v81","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v80","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Leukocytosis.guard"}}},"kind":"fun"},"id":"v77","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}}},"kind":"fun"},"id":"v74","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v73","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v69","kind":"fvar"}],"kind":"jump","target":"v52"},"id":"v69","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v68","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"arguments":[{"id":"v72","kind":"fvar"}],"kind":"jump","target":"v52"},"id":"v72","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"id":"v71","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v71","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step.Sirs"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v70","type":{"kind":"erased"}}]}],"discriminant":"v51","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v52","parameters":[{"borrow":false,"id":"v53","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v66","kind":"fvar"}],"kind":"jump","target":"v63"},"id":"v66","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"arguments":[{"id":"v67","kind":"fvar"}],"kind":"jump","target":"v60"},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v67","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}]}],"discriminant":"v53","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"declaration":{"id":"v63","parameters":[{"borrow":false,"id":"v64","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v65","kind":"fvar"}],"kind":"jump","target":"v54"},"id":"v65","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v64","kind":"fvar"}],"function":"v48","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v60","parameters":[{"borrow":false,"id":"v61","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v62","kind":"fvar"}],"kind":"jump","target":"v54"},"id":"v62","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v61","kind":"fvar"}],"function":"v37","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v54","parameters":[{"borrow":false,"id":"v55","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"body":{"id":"v57","kind":"return"},"id":"v57","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v56","kind":"fvar"}],"function":"v36","kind":"apply"}},"id":"v56","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v59","kind":"return"},"id":"v59","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v58","kind":"fvar"}],"function":"v7","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v58","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}]}],"discriminant":"v55","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"}},"kind":"join"}},"kind":"join"},"id":"v51","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v49","kind":"fvar"},{"id":"v50","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v50","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v49","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Sirs.guard"}},"id":"v48","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v38","kind":"apply"}},"declaration":{"id":"v38","parameters":[{"borrow":false,"id":"v39","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v44","kind":"return"},"id":"v44","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v43","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v47","kind":"return"},"id":"v47","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"id":"v46","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v46","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step.Sepsis"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v45","type":{"kind":"erased"}}]}],"discriminant":"v42","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v42","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v40","kind":"fvar"},{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v40","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Sepsis.guard"}}},"kind":"fun"},"id":"v37","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v36","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v32","kind":"fvar"}],"kind":"jump","target":"v25"},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v31","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"arguments":[{"id":"v35","kind":"fvar"}],"kind":"jump","target":"v25"},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"id":"v34","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step.Shock"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v33","type":{"kind":"erased"}}]}],"discriminant":"v24","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v25","parameters":[{"borrow":false,"id":"v26","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v27","kind":"fvar"}],"function":"v21","kind":"apply"}},"id":"v27","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"function":"v10","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v29","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}]}],"discriminant":"v26","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"}},"kind":"join"},"id":"v24","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"},{"id":"v23","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Shock.guard"}},"id":"v21","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v11","kind":"apply"}},"declaration":{"id":"v11","parameters":[{"borrow":false,"id":"v12","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v16","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step.Escalate"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v18","type":{"kind":"erased"}}]}],"discriminant":"v15","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v15","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Escalate.guard"}}},"kind":"fun"},"id":"v10","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}}},"kind":"fun"},"id":"v7","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.Triage.select","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run.mk"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Ledger"},"value":{"arguments":[{"id":"v5","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Ledger.mk"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v4"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.observe"}},"level_parameters":[],"name":"Reasoning.Clinic.Triage.start","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v47","kind":"return"},"id":"v47","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v46","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v46","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v49","kind":"return"},"id":"v49","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v48","kind":"fvar"}],"function":"v43","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v48","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}]}],"discriminant":"v45","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v45","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v44","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.select"}},"id":"v44","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Triage.Run","value":"v0"}},"id":"v43","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v40","kind":"return"},"id":"v40","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v39","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v39","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v42","kind":"return"},"id":"v42","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v41","kind":"fvar"}],"function":"v36","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v41","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}]}],"discriminant":"v38","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v38","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v37","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.fire"}},"id":"v37","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Triage.Run","value":"v0"}},"id":"v36","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v35","kind":"return"},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}},{"id":"v34","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v33","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run.mk"}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Ledger"},"value":{"arguments":[{"id":"v23","kind":"fvar"},{"id":"v27","kind":"fvar"},{"id":"v29","kind":"fvar"},{"id":"v30","kind":"fvar"},{"id":"v31","kind":"fvar"},{"id":"v32","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Ledger.mk"}},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Clinic.Triage.Ledger","value":"v18"}},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Clinic.Triage.Ledger","value":"v18"}},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Clinic.Triage.Ledger","value":"v18"}},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v28","kind":"fvar"},{"id":"v22","kind":"fvar"}],"function":"v17","kind":"apply"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Clinic.Triage.Ledger","value":"v18"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v24","kind":"fvar"},{"id":"v26","kind":"fvar"}],"function":"v17","kind":"apply"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v25","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.attempts"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Triage.Run","value":"v0"}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Clinic.Triage.Ledger","value":"v18"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v22","kind":"fvar"}],"function":"v17","kind":"apply"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v21"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Triage.Ledger","value":"v18"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Ledger"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Clinic.Triage.Run","value":"v0"}},"id":"v17","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v16"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.append"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"id":"v6","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Clinic.Triage.Run","value":"v0"}},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instAppendableList"}}},"kind":"fun"},"id":"v7","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.Triage.step","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v15","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v14","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Bool"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v2"}},"id":"v13","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v10","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"id":"v7","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.conclude"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v2"}}},"kind":"fun"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.saturate"}},"level_parameters":[],"name":"Reasoning.Clinic.Triage.verdict","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Clinic.Vitals","value":"v0"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"380"}}},"level_parameters":[],"name":"Reasoning.Clinic.feverish","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"90"}}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Clinic.Vitals","value":"v0"}},"level_parameters":[],"name":"Reasoning.Clinic.hypotensive","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Clinic.Vitals","value":"v0"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"12"}}},"level_parameters":[],"name":"Reasoning.Clinic.leukocytic","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v68","kind":"return"},"id":"v68","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v67","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v67","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v70","kind":"return"},"id":"v70","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v69","kind":"fvar"}],"function":"v62","kind":"apply"}},"id":"v69","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v66","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v66","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v65","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v65","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v64"}},"id":"v64","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v63","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v63","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v62","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v59","kind":"return"},"id":"v59","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v58","kind":"fvar"}],"function":"v53","kind":"apply"}},"id":"v58","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v61","kind":"return"},"id":"v61","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v60","kind":"fvar"}],"function":"v11","kind":"apply"}},"id":"v60","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v57","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v57","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v56","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v56","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v55"}},"id":"v55","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v54","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v54","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v53","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v51","kind":"fvar"}],"kind":"jump","target":"v48"},"id":"v51","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v52","kind":"fvar"}],"kind":"jump","target":"v45"},"id":"v52","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v41","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"declaration":{"id":"v48","parameters":[{"borrow":false,"id":"v49","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v50","kind":"fvar"}],"kind":"jump","target":"v42"},"id":"v50","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v49","kind":"fvar"}],"function":"v14","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v45","parameters":[{"borrow":false,"id":"v46","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v47","kind":"fvar"}],"kind":"jump","target":"v42"},"id":"v47","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v46","kind":"fvar"}],"function":"v40","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v42","parameters":[{"borrow":false,"id":"v43","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"id":"v44","kind":"return"},"id":"v44","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v43","kind":"fvar"}],"kind":"const","levels":[],"name":"Bool.not"}}},"kind":"join"},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.hypotensive"}},"id":"v40","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v15","kind":"apply"}},"declaration":{"id":"v15","parameters":[{"borrow":false,"id":"v16","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v37","kind":"return"},"id":"v37","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v36","kind":"fvar"}],"function":"v17","kind":"apply"}},"id":"v36","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v38","kind":"fvar"}],"function":"v30","kind":"apply"}},"id":"v38","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v35","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v31","kind":"fvar"},{"id":"v34","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v33"}},"id":"v33","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Clinic.Vitals","value":"v0"}},"id":"v30","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v18","kind":"apply"}},"declaration":{"id":"v18","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v26","kind":"fvar"}],"function":"v20","kind":"apply"}},"id":"v26","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v28","kind":"fvar"}],"function":"v24","kind":"apply"}},"id":"v28","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v25","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.feverish"}},"id":"v24","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v21","kind":"apply"}},"declaration":{"id":"v21","parameters":[{"borrow":false,"id":"v22","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.tachycardic"}}},"kind":"fun"},"id":"v20","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}}},"kind":"fun"},"id":"v17","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}}},"kind":"fun"},"id":"v14","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}}},"kind":"fun"},"id":"v11","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Clinic.recommendationCheck","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Clinic.Vitals","value":"v0"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"90"}}},"level_parameters":[],"name":"Reasoning.Clinic.tachycardic","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Clinic.Vitals","value":"v0"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"20"}}},"level_parameters":[],"name":"Reasoning.Clinic.tachypneic","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Main.GatewayTriage"}},"level_parameters":[],"name":"Reasoning.Main.GatewayModel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.verdict"}},"level_parameters":[],"name":"Reasoning.Main.GatewayTriage","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.extract"}},"level_parameters":[],"name":"Reasoning.Main.Grade.accept","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"function":"v27","kind":"apply"}},"id":"v29","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v31","kind":"fvar"}],"function":"v5","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v31","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v28","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Option"},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.accept"}},"id":"v27","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"function":"v21","kind":"apply"}},"id":"v23","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v25","kind":"fvar"}],"function":"v14","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v25","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v22","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Option"},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.extract"}},"id":"v21","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v15","kind":"apply"}},"declaration":{"id":"v15","parameters":[{"borrow":false,"id":"v16","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v17","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"id":"v14","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Main.Grade.conclude","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v2","kind":"return"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":8,"kind":"projection","type_name":"Reasoning.Clinic.Chart","value":"v0"}},"level_parameters":[],"name":"Reasoning.Main.Grade.extract","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v35","kind":"return"},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v34","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v34","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Main.Grade.Step.Fever","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v37","kind":"return"},"id":"v37","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v36","kind":"fvar"}],"function":"v9","kind":"apply"}},"id":"v36","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Main.Grade.Step.Tachycardia","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v38","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v38","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Main.Grade.Step.Tachypnea","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v41","kind":"return"},"id":"v41","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v40","kind":"fvar"}],"function":"v17","kind":"apply"}},"id":"v40","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Main.Grade.Step.Leukocytosis","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v43","kind":"return"},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v42","kind":"fvar"}],"function":"v21","kind":"apply"}},"id":"v42","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Main.Grade.Step.Sirs","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v45","kind":"return"},"id":"v45","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v44","kind":"fvar"}],"function":"v25","kind":"apply"}},"id":"v44","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Main.Grade.Step.Sepsis","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v47","kind":"return"},"id":"v47","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v46","kind":"fvar"}],"function":"v29","kind":"apply"}},"id":"v46","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Main.Grade.Step.Shock","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v49","kind":"return"},"id":"v49","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v48","kind":"fvar"}],"function":"v33","kind":"apply"}},"id":"v48","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Main.Grade.Step.Escalate","kind":"constructor","parameters":[]}],"discriminant":"v1","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Reasoning.Main.Grade.Step"},"id":"v33","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v30","kind":"apply"}},"declaration":{"id":"v30","parameters":[{"borrow":false,"id":"v31","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v32","kind":"return"},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Escalate.apply"}}},"kind":"fun"},"id":"v29","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v26","kind":"apply"}},"declaration":{"id":"v26","parameters":[{"borrow":false,"id":"v27","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Shock.apply"}}},"kind":"fun"},"id":"v25","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v22","kind":"apply"}},"declaration":{"id":"v22","parameters":[{"borrow":false,"id":"v23","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Sepsis.apply"}}},"kind":"fun"},"id":"v21","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v18","kind":"apply"}},"declaration":{"id":"v18","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Sirs.apply"}}},"kind":"fun"},"id":"v17","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v14","kind":"apply"}},"declaration":{"id":"v14","parameters":[{"borrow":false,"id":"v15","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Leukocytosis.apply"}}},"kind":"fun"},"id":"v13","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v10","kind":"apply"}},"declaration":{"id":"v10","parameters":[{"borrow":false,"id":"v11","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Tachypnea.apply"}}},"kind":"fun"},"id":"v9","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Tachycardia.apply"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Fever.apply"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Main.Grade.fire","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v10","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"function":"v8","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}]}],"discriminant":"v9","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.select"}},"id":"v8","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"kind":"arrow"},"value":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.fire"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Main.Grade.next","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart.mk"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"level_parameters":[],"name":"Reasoning.Main.Grade.observe","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}},{"id":"v1","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.iterateUntil"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.observe"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"11"}}},"id":"v1","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.next"}},"level_parameters":[],"name":"Reasoning.Main.Grade.saturate","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v146","kind":"fvar"}],"kind":"jump","target":"v119"},"id":"v146","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v145","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"arguments":[{"id":"v149","kind":"fvar"}],"kind":"jump","target":"v119"},"id":"v149","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"id":"v148","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v148","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step.Fever"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v147","type":{"kind":"erased"}}]}],"discriminant":"v118","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v119","parameters":[{"borrow":false,"id":"v120","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v143","kind":"fvar"}],"kind":"jump","target":"v140"},"id":"v143","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"arguments":[{"id":"v144","kind":"fvar"}],"kind":"jump","target":"v137"},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v144","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}]}],"discriminant":"v120","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"declaration":{"id":"v140","parameters":[{"borrow":false,"id":"v141","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v142","kind":"fvar"}],"kind":"jump","target":"v121"},"id":"v142","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v141","kind":"fvar"}],"function":"v115","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v137","parameters":[{"borrow":false,"id":"v138","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v139","kind":"fvar"}],"kind":"jump","target":"v121"},"id":"v139","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v138","kind":"fvar"}],"function":"v104","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v121","parameters":[{"borrow":false,"id":"v122","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v135","kind":"fvar"}],"kind":"jump","target":"v129"},"id":"v135","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"arguments":[{"id":"v136","kind":"fvar"}],"kind":"jump","target":"v132"},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v136","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}]}],"discriminant":"v122","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"declaration":{"id":"v132","parameters":[{"borrow":false,"id":"v133","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v134","kind":"fvar"}],"kind":"jump","target":"v123"},"id":"v134","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v133","kind":"fvar"}],"function":"v74","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v129","parameters":[{"borrow":false,"id":"v130","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v131","kind":"fvar"}],"kind":"jump","target":"v123"},"id":"v131","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v130","kind":"fvar"}],"function":"v103","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v123","parameters":[{"borrow":false,"id":"v124","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"body":{"id":"v126","kind":"return"},"id":"v126","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v125","kind":"fvar"}],"function":"v73","kind":"apply"}},"id":"v125","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v128","kind":"return"},"id":"v128","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v127","kind":"fvar"}],"function":"v4","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v127","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}]}],"discriminant":"v124","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"}},"kind":"join"}},"kind":"join"}},"kind":"join"},"id":"v118","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v116","kind":"fvar"},{"id":"v117","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v117","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v116","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Fever.guard"}},"id":"v115","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v105","kind":"apply"}},"declaration":{"id":"v105","parameters":[{"borrow":false,"id":"v106","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v111","kind":"return"},"id":"v111","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v110","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v114","kind":"return"},"id":"v114","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"id":"v113","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v113","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step.Tachycardia"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v112","type":{"kind":"erased"}}]}],"discriminant":"v109","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v109","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v107","kind":"fvar"},{"id":"v108","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v108","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v107","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Tachycardia.guard"}}},"kind":"fun"},"id":"v104","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v103","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v75","kind":"apply"}},"declaration":{"id":"v75","parameters":[{"borrow":false,"id":"v76","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v99","kind":"fvar"}],"kind":"jump","target":"v92"},"id":"v99","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v98","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"arguments":[{"id":"v102","kind":"fvar"}],"kind":"jump","target":"v92"},"id":"v102","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"id":"v101","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v101","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step.Tachypnea"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v100","type":{"kind":"erased"}}]}],"discriminant":"v91","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v92","parameters":[{"borrow":false,"id":"v93","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"body":{"id":"v95","kind":"return"},"id":"v95","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v94","kind":"fvar"}],"function":"v88","kind":"apply"}},"id":"v94","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v97","kind":"return"},"id":"v97","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v96","kind":"fvar"}],"function":"v77","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v96","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}]}],"discriminant":"v93","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"}},"kind":"join"},"id":"v91","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v89","kind":"fvar"},{"id":"v90","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v90","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v89","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Tachypnea.guard"}},"id":"v88","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v78","kind":"apply"}},"declaration":{"id":"v78","parameters":[{"borrow":false,"id":"v79","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v84","kind":"return"},"id":"v84","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v83","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v87","kind":"return"},"id":"v87","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"id":"v86","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v86","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step.Leukocytosis"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v85","type":{"kind":"erased"}}]}],"discriminant":"v82","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v82","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v80","kind":"fvar"},{"id":"v81","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v81","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v80","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Leukocytosis.guard"}}},"kind":"fun"},"id":"v77","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}}},"kind":"fun"},"id":"v74","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v73","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v69","kind":"fvar"}],"kind":"jump","target":"v52"},"id":"v69","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v68","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"arguments":[{"id":"v72","kind":"fvar"}],"kind":"jump","target":"v52"},"id":"v72","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"id":"v71","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v71","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step.Sirs"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v70","type":{"kind":"erased"}}]}],"discriminant":"v51","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v52","parameters":[{"borrow":false,"id":"v53","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v66","kind":"fvar"}],"kind":"jump","target":"v63"},"id":"v66","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"arguments":[{"id":"v67","kind":"fvar"}],"kind":"jump","target":"v60"},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v67","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}]}],"discriminant":"v53","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"declaration":{"id":"v63","parameters":[{"borrow":false,"id":"v64","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v65","kind":"fvar"}],"kind":"jump","target":"v54"},"id":"v65","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v64","kind":"fvar"}],"function":"v48","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v60","parameters":[{"borrow":false,"id":"v61","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v62","kind":"fvar"}],"kind":"jump","target":"v54"},"id":"v62","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v61","kind":"fvar"}],"function":"v37","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v54","parameters":[{"borrow":false,"id":"v55","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"body":{"id":"v57","kind":"return"},"id":"v57","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v56","kind":"fvar"}],"function":"v36","kind":"apply"}},"id":"v56","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v59","kind":"return"},"id":"v59","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v58","kind":"fvar"}],"function":"v7","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v58","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}]}],"discriminant":"v55","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"}},"kind":"join"}},"kind":"join"},"id":"v51","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v49","kind":"fvar"},{"id":"v50","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v50","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v49","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Sirs.guard"}},"id":"v48","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v38","kind":"apply"}},"declaration":{"id":"v38","parameters":[{"borrow":false,"id":"v39","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v44","kind":"return"},"id":"v44","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v43","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v47","kind":"return"},"id":"v47","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"id":"v46","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v46","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step.Sepsis"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v45","type":{"kind":"erased"}}]}],"discriminant":"v42","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v42","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v40","kind":"fvar"},{"id":"v41","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v40","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Sepsis.guard"}}},"kind":"fun"},"id":"v37","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v36","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v32","kind":"fvar"}],"kind":"jump","target":"v25"},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v31","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"arguments":[{"id":"v35","kind":"fvar"}],"kind":"jump","target":"v25"},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"id":"v34","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step.Shock"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v33","type":{"kind":"erased"}}]}],"discriminant":"v24","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v25","parameters":[{"borrow":false,"id":"v26","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"body":{"id":"v28","kind":"return"},"id":"v28","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v27","kind":"fvar"}],"function":"v21","kind":"apply"}},"id":"v27","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v30","kind":"return"},"id":"v30","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"function":"v10","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v29","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}]}],"discriminant":"v26","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"}},"kind":"join"},"id":"v24","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"},{"id":"v23","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Shock.guard"}},"id":"v21","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v11","kind":"apply"}},"declaration":{"id":"v11","parameters":[{"borrow":false,"id":"v12","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v16","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step.Escalate"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v18","type":{"kind":"erased"}}]}],"discriminant":"v15","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v15","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Escalate.guard"}}},"kind":"fun"},"id":"v10","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}}},"kind":"fun"},"id":"v7","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Main.Grade.select","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v15","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v14","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Bool"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v2"}},"id":"v13","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v10","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"id":"v7","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.conclude"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v2"}}},"kind":"fun"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.saturate"}},"level_parameters":[],"name":"Reasoning.Main.Grade.verdict","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"function":"v9","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v13","kind":"fvar"}],"function":"v3","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v10","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Except"},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.verdict"}},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9"}}}},"kind":"fun"},"id":"v3","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"id":"v2","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Main.doseLevel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v14","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v17","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"function":"v8","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v16","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Except"},"id":"v16","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Main.GatewayModel"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals.mk"}},"id":"v14","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v12"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9"}}}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"id":"v7","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Main.gatewayLevel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v5","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v14","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v17","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"function":"v8","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v16","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Except"},"id":"v16","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Main.Grade.verdict"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals.mk"}},"id":"v14","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v12"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9"}}}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"id":"v7","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Main.gradeLevel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v5","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"function":"v10","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"function":"v4","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v11","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Except"},"id":"v11","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.verdict"}},"id":"v10","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v8"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9"}}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v2"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Main.planLeft","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"function":"v9","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v13","kind":"fvar"}],"function":"v3","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v10","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Except"},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.verdict"}},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9"}}}},"kind":"fun"},"id":"v3","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"id":"v2","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Main.screenDose","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"function":"v9","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"function":"v3","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v11","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Except"},"id":"v11","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.verdict"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9"}}}},"kind":"fun"},"id":"v3","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"id":"v2","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Main.spendLeft","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v14","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v17","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"function":"v8","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v16","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Except"},"id":"v16","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.verdict"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals.mk"}},"id":"v14","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v12"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"9"}}}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"id":"v7","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Main.triageLevel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v5","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"function":"v17","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v20","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"function":"v11","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v22","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v19","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Nat"},"type_name":"Except"},"id":"v19","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals.mk"}},"id":"v17","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v15"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"id":"v11","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.length"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v7"}},"id":"v8","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instLengthableList"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Main.triageSteps","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v5","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v4","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.EmptyB.conclusion"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.EmptyB.guard"}},"level_parameters":[],"name":"Reasoning.Planner.EmptyB.apply","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v0"}},"level_parameters":[],"name":"Reasoning.Planner.EmptyB.conclusion","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v18","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v20","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v17","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v15","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v0"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v14"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v12","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v7","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v9"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4"}}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v0"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.EmptyB.guard","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v4","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.FillA.conclusion"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v6","type":{"kind":"erased"}}]}],"discriminant":"v3","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.FillA.guard"}},"level_parameters":[],"name":"Reasoning.Planner.FillA.apply","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v0"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4"}}},"level_parameters":[],"name":"Reasoning.Planner.FillA.conclusion","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v18","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v20","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v17","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v15"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4"}}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v0"}},"id":"v12","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v7","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v9"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v0"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.FillA.guard","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v21","kind":"fvar"}],"function":"v18","kind":"apply"}},"id":"v21","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"function":"v10","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v23","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v20","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Option"},"id":"v20","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Planner.Plan.Search","value":"v19"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v2"}},"id":"v18","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v11","kind":"apply"}},"declaration":{"id":"v11","parameters":[{"borrow":false,"id":"v12","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.failure"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Planner.Plan.Search","value":"v14"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v2"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v2"}}},"kind":"fun"},"id":"v10","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"id":"v8","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v5","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Planner.Plan.Node","value":"v6"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v4"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v4"}}},"kind":"fun"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.run"}},"level_parameters":[],"name":"Reasoning.Planner.Plan","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v20","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"function":"v16","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v22","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v19","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Option"},"id":"v19","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v17","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.fire"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step.EmptyB"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Planner.Plan.Node","value":"v0"}},"id":"v16","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node.mk"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v7","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.append"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}},{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step.EmptyB"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Planner.Plan.Node","value":"v0"}},"id":"v7","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instAppendableList"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.Plan.EmptyB.successors","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v20","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"function":"v16","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v22","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v19","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Option"},"id":"v19","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v17","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.fire"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step.FillA"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Planner.Plan.Node","value":"v0"}},"id":"v16","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v5","kind":"apply"}},"declaration":{"id":"v5","parameters":[{"borrow":false,"id":"v6","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node.mk"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v7","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.append"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}},{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step.FillA"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Planner.Plan.Node","value":"v0"}},"id":"v7","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instAppendableList"}}},"kind":"fun"},"id":"v4","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.Plan.FillA.successors","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v23","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v25","kind":"fvar"}],"function":"v19","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v25","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v22","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Option"},"id":"v22","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.fire"}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step.Pour"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Planner.Plan.Node","value":"v0"}},"id":"v19","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v8","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.append"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}},{"id":"v15","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"value":{"arguments":[{"id":"v7","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node.mk"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.append"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step.Pour"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Planner.Plan.Node","value":"v0"}},"id":"v9","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instAppendableList"}},"id":"v8","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instAppendableList"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"id":"v1","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.Plan.Pour.collect","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}},{"borrow":false,"id":"v1","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.listFold"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Pour.candidates"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Planner.Plan.Node","value":"v0"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Pour.collect"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.Plan.Pour.successors","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"function":"v15","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v19","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v16","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v16","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.extract"}},"id":"v15","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"kind":"erased"}}]}],"discriminant":"v10","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v10","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.measuresCheck"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.Plan.accept","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v10","kind":"fvar"}],"function":"v3","kind":"apply"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v6","kind":"fvar"},{"id":"v9","kind":"fvar"}],"function":"v3","kind":"apply"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v7","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.length"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Pour.candidates"}},"id":"v7","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instLengthableList"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v3","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"level_parameters":[],"name":"Reasoning.Planner.Plan.attempts","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v0","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"level_parameters":[],"name":"Reasoning.Planner.Plan.extract","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v26","kind":"fvar"}],"kind":"jump","target":"v23"},"id":"v26","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v27","kind":"fvar"}],"kind":"jump","target":"v20"},"id":"v27","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v0","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Bool"},"declaration":{"id":"v23","parameters":[{"borrow":false,"id":"v24","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v25","kind":"fvar"}],"kind":"jump","target":"v10"},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"function":"v5","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v20","parameters":[{"borrow":false,"id":"v21","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v22","kind":"fvar"}],"kind":"jump","target":"v10"},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v21","kind":"fvar"}],"function":"v9","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v10","parameters":[{"borrow":false,"id":"v11","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v15","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v18","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v17","type":{"kind":"erased"}}]}],"discriminant":"v13","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Decidable"},"id":"v13","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"join"},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Bool.not"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.Plan.failure","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Bool"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Bool"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v14","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Planner.Plan.Step.FillA","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v16","kind":"fvar"}],"function":"v9","kind":"apply"}},"id":"v16","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Reasoning.Planner.Plan.Step.EmptyB","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"function":"v13","kind":"apply"}},"constructor":"Reasoning.Planner.Plan.Step.Pour","kind":"constructor","parameters":[{"borrow":false,"id":"v18","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v1","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Reasoning.Planner.Plan.Step"},"id":"v13","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v10","kind":"apply"}},"declaration":{"id":"v10","parameters":[{"borrow":false,"id":"v11","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Pour.apply"}}},"kind":"fun"},"id":"v9","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.EmptyB.apply"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.FillA.apply"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.Plan.fire","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v23","kind":"return"},"id":"v23","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v2","kind":"fvar"},{"id":"v22","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.listFold"}},"id":"v22","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v21","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v17","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v18","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.setInsert"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v13","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.append"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}},{"id":"v4","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v3"}},"id":"v13","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instAppendableList"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"kind":"erased"}}]},{"code":{"id":"v3","kind":"return"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v20","type":{"kind":"erased"}}]}],"discriminant":"v11","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Decidable"},"id":"v11","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.setContains"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Planner.Plan.Node","value":"v4"}},"id":"v7","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v3"}},"id":"v6","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v5","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.instKeyProd"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanCollections.instKeyNat"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.Plan.fresh","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"level_parameters":[],"name":"Reasoning.Planner.Plan.observe","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}},{"id":"v1","kind":"fvar"},{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.iterateUntil"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.start"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v4","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.multiply"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"8"}}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Mul"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instMulNat"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.searchStep"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.Plan.run","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v148","kind":"return"},"id":"v148","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v147","kind":"fvar"}],"function":"v145","kind":"apply"}},"id":"v147","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v150","kind":"return"},"id":"v150","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v149","kind":"fvar"}],"function":"v5","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v149","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v146","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v146","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Planner.Plan.Search","value":"v1"}},"id":"v145","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v141","kind":"return"},"id":"v141","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v140","kind":"fvar"}],"function":"v11","kind":"apply"}},"id":"v140","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v144","kind":"return"},"id":"v144","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v142","kind":"fvar"},{"id":"v143","kind":"fvar"}],"function":"v138","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v142","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}},{"borrow":false,"id":"v143","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v139","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"List"},"id":"v139","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Planner.Plan.Search","value":"v1"}},"id":"v138","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}},{"borrow":false,"id":"v14","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v135","kind":"return"},"id":"v135","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v134","kind":"fvar"}],"function":"v131","kind":"apply"}},"id":"v134","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v137","kind":"return"},"id":"v137","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v136","kind":"fvar"}],"function":"v39","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v136","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v133","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v133","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v132","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.accept"}},"id":"v132","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Planner.Plan.Node","value":"v13"}},"id":"v131","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v40","kind":"apply"}},"declaration":{"id":"v40","parameters":[{"borrow":false,"id":"v41","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v129","kind":"fvar"}],"kind":"jump","target":"v126"},"id":"v129","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v130","kind":"fvar"}],"kind":"jump","target":"v123"},"id":"v130","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v87","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Bool"},"declaration":{"id":"v126","parameters":[{"borrow":false,"id":"v127","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v128","kind":"fvar"}],"kind":"jump","target":"v88"},"id":"v128","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v127","kind":"fvar"}],"function":"v86","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v123","parameters":[{"borrow":false,"id":"v124","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v125","kind":"fvar"}],"kind":"jump","target":"v88"},"id":"v125","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v124","kind":"fvar"}],"function":"v76","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v88","parameters":[{"borrow":false,"id":"v89","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"arguments":[{"id":"v111","kind":"fvar"}],"kind":"jump","target":"v116"},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v121","type":{"kind":"erased"}}]},{"code":{"arguments":[{"id":"v112","kind":"fvar"}],"kind":"jump","target":"v116"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v122","type":{"kind":"erased"}}]}],"discriminant":"v115","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v116","parameters":[{"borrow":false,"id":"v117","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v120","kind":"return"},"id":"v120","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}},{"id":"v119","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v119","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"},"value":{"arguments":[{"id":"v70","kind":"fvar"},{"id":"v71","kind":"fvar"},{"id":"v72","kind":"fvar"},{"id":"v89","kind":"fvar"},{"id":"v118","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search.mk"}},"id":"v118","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Ledger"},"value":{"arguments":[{"id":"v98","kind":"fvar"},{"id":"v102","kind":"fvar"},{"id":"v106","kind":"fvar"},{"id":"v108","kind":"fvar"},{"id":"v110","kind":"fvar"},{"id":"v117","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Ledger.mk"}}},"kind":"join"},"id":"v115","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v113","kind":"fvar"},{"id":"v114","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v114","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v113","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v111","kind":"fvar"},{"id":"v112","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v112","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v104","kind":"fvar"},{"id":"v70","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.length"}},"id":"v111","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Planner.Plan.Ledger","value":"v93"}},"id":"v110","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v109","kind":"fvar"},{"id":"v97","kind":"fvar"}],"function":"v92","kind":"apply"}},"id":"v109","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Planner.Plan.Ledger","value":"v93"}},"id":"v108","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v107","kind":"fvar"},{"id":"v97","kind":"fvar"}],"function":"v92","kind":"apply"}},"id":"v107","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Planner.Plan.Ledger","value":"v93"}},"id":"v106","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v103","kind":"fvar"},{"id":"v105","kind":"fvar"}],"function":"v92","kind":"apply"}},"id":"v105","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v104","kind":"fvar"},{"id":"v43","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.length"}},"id":"v104","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instLengthableList"}},"id":"v103","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Planner.Plan.Ledger","value":"v93"}},"id":"v102","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v99","kind":"fvar"},{"id":"v101","kind":"fvar"}],"function":"v92","kind":"apply"}},"id":"v101","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v100","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.attempts"}},"id":"v100","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Planner.Plan.Node","value":"v13"}},"id":"v99","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Planner.Plan.Ledger","value":"v93"}},"id":"v98","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v94","kind":"fvar"},{"id":"v97","kind":"fvar"}],"function":"v92","kind":"apply"}},"id":"v97","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v96"}},"id":"v96","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v95","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v95","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v94","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Planner.Plan.Ledger","value":"v93"}},"id":"v93","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Ledger"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Planner.Plan.Search","value":"v1"}},"id":"v92","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v91"}},"id":"v91","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v90","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v90","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"join"},"id":"v87","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Planner.Plan.Search","value":"v1"}},"id":"v86","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v77","kind":"apply"}},"declaration":{"id":"v77","parameters":[{"borrow":false,"id":"v78","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v85","kind":"return"},"id":"v85","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v82","kind":"fvar"},{"id":"v84","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v84","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v83","kind":"fvar"},{"id":"v50","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.length"}},"id":"v83","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instLengthableList"}},"id":"v82","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"function":"v81","kind":"apply"}},"id":"v81","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v80"}},"id":"v80","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v79","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v79","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"fun"},"id":"v76","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v73","kind":"apply"}},"declaration":{"id":"v73","parameters":[{"borrow":false,"id":"v74","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v75","kind":"return"},"id":"v75","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"id":"v72","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"id":"v71","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v46"}},"id":"v70","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v69","kind":"apply"}},"id":"v69","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v51","kind":"fvar"},{"id":"v68","kind":"fvar"},{"id":"v50","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.listFold"}},"id":"v68","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"declaration":{"id":"v51","parameters":[{"borrow":false,"id":"v52","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v53","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"id":"v52","kind":"return"},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v63","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v67","kind":"return"},"id":"v67","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v47","kind":"fvar"},{"id":"v52","kind":"fvar"},{"id":"v66","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.append"}},"id":"v66","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}},{"id":"v53","kind":"fvar"},{"id":"v65","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v65","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v64","type":{"kind":"erased"}}]}],"discriminant":"v62","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Decidable"},"id":"v62","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v60","kind":"fvar"},{"id":"v61","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v61","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v60","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v55","kind":"fvar"},{"id":"v59","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v59","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"function":"v58","kind":"apply"}},"id":"v58","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v57"}},"id":"v57","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v56","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v56","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v55","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v54","kind":"fvar"},{"id":"v52","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.length"}},"id":"v54","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instLengthableList"}}},"kind":"fun"},"id":"v50","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v49","kind":"apply"}},"id":"v49","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v47","kind":"fvar"},{"id":"v14","kind":"fvar"},{"id":"v48","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.append"}},"id":"v48","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v46"}},"id":"v47","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instAppendableList"}},"id":"v46","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v45","kind":"apply"}},"id":"v45","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v44","kind":"fvar"},{"id":"v43","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.fresh"}},"id":"v44","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Planner.Plan.Search","value":"v1"}},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v42","kind":"apply"}},"id":"v42","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.successors"}}},"kind":"fun"},"id":"v39","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v15","kind":"apply"}},"declaration":{"id":"v15","parameters":[{"borrow":false,"id":"v16","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v38","kind":"return"},"id":"v38","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}},{"id":"v37","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v37","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"},"value":{"arguments":[{"id":"v14","kind":"fvar"},{"id":"v17","kind":"fvar"},{"id":"v19","kind":"fvar"},{"id":"v20","kind":"fvar"},{"id":"v36","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search.mk"}},"id":"v36","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Ledger"},"value":{"arguments":[{"id":"v29","kind":"fvar"},{"id":"v30","kind":"fvar"},{"id":"v31","kind":"fvar"},{"id":"v32","kind":"fvar"},{"id":"v34","kind":"fvar"},{"id":"v35","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Ledger.mk"}},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Planner.Plan.Ledger","value":"v24"}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v33","kind":"fvar"},{"id":"v28","kind":"fvar"}],"function":"v23","kind":"apply"}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Planner.Plan.Ledger","value":"v24"}},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Planner.Plan.Ledger","value":"v24"}},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Planner.Plan.Ledger","value":"v24"}},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Planner.Plan.Ledger","value":"v24"}},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v25","kind":"fvar"},{"id":"v28","kind":"fvar"}],"function":"v23","kind":"apply"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v27"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v26","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Planner.Plan.Ledger","value":"v24"}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Ledger"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Planner.Plan.Search","value":"v1"}},"id":"v23","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v22"}},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Planner.Plan.Search","value":"v1"}},"id":"v19","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v18","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v18","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}},{"id":"v16","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v17","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Planner.Plan.Search","value":"v1"}}},"kind":"fun"}},"kind":"fun"},"id":"v11","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.Plan.searchStep","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v45","kind":"return"},"id":"v45","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"},"value":{"arguments":[{"id":"v25","kind":"fvar"},{"id":"v29","kind":"fvar"},{"id":"v30","kind":"fvar"},{"id":"v38","kind":"fvar"},{"id":"v44","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search.mk"}},"id":"v44","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Ledger"},"value":{"arguments":[{"id":"v41","kind":"fvar"},{"id":"v41","kind":"fvar"},{"id":"v41","kind":"fvar"},{"id":"v41","kind":"fvar"},{"id":"v41","kind":"fvar"},{"id":"v43","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Ledger.mk"}},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v42","kind":"fvar"},{"id":"v25","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.length"}},"id":"v42","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instLengthableList"}},"id":"v41","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v40"}},"id":"v40","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v39","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v39","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v38","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v34","kind":"fvar"},{"id":"v37","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v37","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v36"}},"id":"v36","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v35","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"function":"v33","kind":"apply"}},"id":"v33","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v32"}},"id":"v32","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v31","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v31","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v30","kind":"let","type":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"id":"v29","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v27","kind":"fvar"},{"id":"v28","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.setInsert"}},"id":"v28","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v27","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v26","kind":"fvar"},{"id":"v26","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.instKeyProd"}},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"LexLeanCollections.instKeyNat"}},"id":"v25","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v24","kind":"apply"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v19","kind":"fvar"},{"id":"v23","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.listFold"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}},{"id":"v22","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"value":{"arguments":[{"id":"v20","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node.mk"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.observe"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"id":"v2","kind":"return"},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v15","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.append"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}},{"id":"v3","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v15","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instAppendableList"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"kind":"erased"}}]}],"discriminant":"v12","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Decidable"},"id":"v12","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v5","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v0","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v8","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v6","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v4","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.length"}},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instLengthableList"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.Plan.start","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v5","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.append"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.append"}},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Pour.successors"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.EmptyB.successors"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.FillA.successors"}},"id":"v1","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instAppendableList"}},"level_parameters":[],"name":"Reasoning.Planner.Plan.successors","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"function":"v9","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"}],"function":"v5","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v10","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Except"},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Plan"}},"id":"v9","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v2"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.Plan.verdict","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v5","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Pour.conclusion"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v7","type":{"kind":"erased"}}]}],"discriminant":"v4","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Planner.Pour.guard"}},"level_parameters":[],"name":"Reasoning.Planner.Pour.apply","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v6","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v8"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"2"}}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"level_parameters":[],"name":"Reasoning.Planner.Pour.candidates","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v4","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v8","kind":"fvar"},{"id":"v1","kind":"fvar"}],"function":"v7","kind":"apply"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v0"}},"id":"v7","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v6"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v5","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.subtract"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v0"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubNat"}},"level_parameters":[],"name":"Reasoning.Planner.Pour.conclusion","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v34","kind":"return"},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v33","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v36","kind":"return"},"id":"v36","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v35","kind":"fvar"}],"function":"v30","kind":"apply"}},"id":"v35","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v32","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v31","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v0"}},"id":"v30","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v26","kind":"fvar"}],"function":"v8","kind":"apply"}},"id":"v26","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v28","kind":"fvar"}],"function":"v16","kind":"apply"}},"id":"v28","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v25","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v21","kind":"fvar"},{"id":"v24","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v23"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v20","kind":"fvar"},{"id":"v1","kind":"fvar"}],"function":"v19","kind":"apply"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v0"}},"id":"v19","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v18"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v17","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v16","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"declaration":{"id":"v9","parameters":[{"borrow":false,"id":"v10","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v15","kind":"return"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v11","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v13"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4"}}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v0"}}},"kind":"fun"},"id":"v8","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.Pour.guard","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v16","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v16","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v18","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v15","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v14","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v1"}},"id":"v13","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v8","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v10"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4"}}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v1"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Planner.measuresCheck","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"arguments":[{"id":"v23","kind":"fvar"}],"kind":"jump","target":"v14"},"id":"v23","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v22","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v12","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v20","type":{"kind":"erased"}}]},{"code":{"body":{"arguments":[{"id":"v25","kind":"fvar"}],"kind":"jump","target":"v14"},"id":"v25","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v10","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v24","type":{"kind":"erased"}}]}],"discriminant":"v13","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v14","parameters":[{"borrow":false,"id":"v15","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v16","kind":"fvar"}],"function":"v7","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v16","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"function":"v3","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v18","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v15","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Except"}},"kind":"join"},"id":"v13","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v8","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.shortCheck"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v9","kind":"apply"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.DoseModel"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v0","kind":"apply"}},"id":"v7","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"List.nil"}}},"kind":"fun"},"id":"v3","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"id":"v2","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Dose.candidates","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v33","kind":"return"},"id":"v33","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v32","kind":"fvar"}],"function":"v30","kind":"apply"}},"id":"v32","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v35","kind":"return"},"id":"v35","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v34","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v34","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v31","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Bool"},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Screening.Dose.Trial","value":"v0"}},"id":"v30","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v27","kind":"return"},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v26","kind":"fvar"}],"function":"v19","kind":"apply"}},"id":"v26","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v28","kind":"fvar"}],"function":"v13","kind":"apply"}},"id":"v28","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v25","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Bool"},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v21","kind":"fvar"},{"id":"v24","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v23"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Screening.Dose.Ledger","value":"v20"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Ledger"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Screening.Dose.Trial","value":"v0"}},"id":"v19","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v14","kind":"apply"}},"declaration":{"id":"v14","parameters":[{"borrow":false,"id":"v15","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v16","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"id":"v13","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v3","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Dose.failure","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v13","kind":"return"},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"}},{"id":"v1","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.listFold"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.candidates"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"value":{"arguments":[{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial.mk"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Ledger"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v9","kind":"fvar"},{"id":"v9","kind":"fvar"},{"id":"v9","kind":"fvar"},{"id":"v9","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Ledger.mk"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v8"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.try"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Dose.run","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v51","kind":"return"},"id":"v51","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"value":{"arguments":[{"id":"v50","kind":"fvar"}],"function":"v48","kind":"apply"}},"id":"v50","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v53","kind":"return"},"id":"v53","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"value":{"arguments":[{"id":"v52","kind":"fvar"}],"function":"v5","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v52","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v49","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"type_name":"Option"},"id":"v49","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Screening.Dose.Trial","value":"v1"}},"id":"v48","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v45","kind":"return"},"id":"v45","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"value":{"arguments":[{"id":"v44","kind":"fvar"}],"function":"v37","kind":"apply"}},"id":"v44","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v47","kind":"return"},"id":"v47","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"value":{"arguments":[{"id":"v46","kind":"fvar"}],"function":"v30","kind":"apply"}},"id":"v46","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v43","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"type_name":"Bool"},"id":"v43","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v39","kind":"fvar"},{"id":"v42","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v42","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v41"}},"id":"v41","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v40","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v40","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v39","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Screening.Dose.Ledger","value":"v38"}},"id":"v38","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Ledger"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Screening.Dose.Trial","value":"v1"}},"id":"v37","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v31","kind":"apply"}},"declaration":{"id":"v31","parameters":[{"borrow":false,"id":"v32","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v36","kind":"return"},"id":"v36","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"value":{"arguments":[{"id":"v33","kind":"fvar"},{"id":"v34","kind":"fvar"},{"id":"v35","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial.mk"}},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Ledger"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Screening.Dose.Trial","value":"v1"}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v33","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"id":"v30","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v29","kind":"return"},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"value":{"arguments":[{"id":"v10","kind":"fvar"},{"id":"v11","kind":"fvar"},{"id":"v28","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial.mk"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Ledger"},"value":{"arguments":[{"id":"v20","kind":"fvar"},{"id":"v22","kind":"fvar"},{"id":"v23","kind":"fvar"},{"id":"v24","kind":"fvar"},{"id":"v26","kind":"fvar"},{"id":"v27","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Ledger.mk"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Screening.Dose.Ledger","value":"v15"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v25","kind":"fvar"},{"id":"v19","kind":"fvar"}],"function":"v14","kind":"apply"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Screening.Dose.Ledger","value":"v15"}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Screening.Dose.Ledger","value":"v15"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Screening.Dose.Ledger","value":"v15"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v21","kind":"fvar"},{"id":"v19","kind":"fvar"}],"function":"v14","kind":"apply"}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Screening.Dose.Ledger","value":"v15"}},"id":"v20","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v16","kind":"fvar"},{"id":"v19","kind":"fvar"}],"function":"v14","kind":"apply"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v18"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Screening.Dose.Ledger","value":"v15"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Ledger"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Screening.Dose.Trial","value":"v1"}},"id":"v14","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v13"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Screening.Dose.Trial","value":"v1"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.verify"}}},"kind":"fun"}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"id":"v1","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Dose.try","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"}],"function":"v11","kind":"apply"}},"id":"v13","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v15","kind":"fvar"}],"function":"v6","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v15","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v12","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Option"},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Screening.Dose.Trial","value":"v2"}},"id":"v11","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v7","kind":"apply"}},"declaration":{"id":"v7","parameters":[{"borrow":false,"id":"v8","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v9","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.failure"}}},"kind":"fun"},"id":"v6","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"id":"v5","kind":"return"},"id":"v5","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}}},"kind":"fun"},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.run"}},"level_parameters":[],"name":"Reasoning.Screening.Dose.verdict","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v5","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v7","type":{"kind":"erased"}}]}],"discriminant":"v4","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.safeCheck"}},"level_parameters":[],"name":"Reasoning.Screening.Dose.verify","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v5","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v9","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v13","kind":"fvar"},{"id":"v19","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v17","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.subtract"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v15"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"50"}}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.subtract"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v11"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"30"}}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.subtract"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"20"}}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v1","kind":"fvar"},{"id":"v0","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.subtract"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"10"}}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Sub"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instSubNat"}},"level_parameters":[],"name":"Reasoning.Screening.DoseCandidates","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.DoseCandidates"}},"level_parameters":[],"name":"Reasoning.Screening.DoseModel","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v5","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Propose.conclusion"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v7","type":{"kind":"erased"}}]}],"discriminant":"v4","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Propose.guard"}},"level_parameters":[],"name":"Reasoning.Screening.Propose.apply","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"body":{"arguments":[{"id":"v24","kind":"fvar"}],"kind":"jump","target":"v15"},"id":"v24","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v23","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v13","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v21","type":{"kind":"erased"}}]},{"code":{"body":{"arguments":[{"id":"v26","kind":"fvar"}],"kind":"jump","target":"v15"},"id":"v26","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v11","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v25","type":{"kind":"erased"}}]}],"discriminant":"v14","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v15","parameters":[{"borrow":false,"id":"v16","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"kind":"arrow"},"value":{"alternatives":[{"code":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v7","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v17","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"function":"v3","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v19","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v16","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Except"}},"kind":"join"},"id":"v14","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v12","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v11","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.shortCheck"}},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v10","kind":"apply"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.DoseModel"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v0"}},"id":"v7","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v4","kind":"apply"}},"declaration":{"id":"v4","parameters":[{"borrow":false,"id":"v5","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"List.nil"}}},"kind":"fun"},"id":"v3","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"id":"v2","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Propose.candidates","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v2","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v0"}},"level_parameters":[],"name":"Reasoning.Screening.Propose.conclusion","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v18","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v18","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"body":{"id":"v21","kind":"return"},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v20","kind":"fvar"}],"function":"v12","kind":"apply"}},"id":"v20","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v17","kind":"cases","result_type":{"kind":"const","levels":[],"name":"Bool"},"type_name":"Bool"},"id":"v17","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.beq"}},"id":"v16","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v15"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v0"}},"id":"v12","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v10","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v9"}},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Propose.guard","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v22","kind":"return"},"id":"v22","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v21","kind":"fvar"}],"function":"v18","kind":"apply"}},"id":"v21","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"function":"v10","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v23","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v20","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Option"},"id":"v20","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Screening.Screen.Search","value":"v19"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v2"}},"id":"v18","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v11","kind":"apply"}},"declaration":{"id":"v11","parameters":[{"borrow":false,"id":"v12","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.failure"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Screening.Screen.Search","value":"v14"}},"id":"v14","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v2"}},"id":"v13","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v2"}}},"kind":"fun"},"id":"v10","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v8","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v5","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Screening.Screen.Node","value":"v6"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v4"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v4"}}},"kind":"fun"},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.run"}},"level_parameters":[],"name":"Reasoning.Screening.Screen","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v24","kind":"return"},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v23","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v23","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v26","kind":"return"},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v25","kind":"fvar"}],"function":"v19","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v25","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v22","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Option"},"id":"v22","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v20","kind":"fvar"},{"id":"v21","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.fire"}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step.Propose"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Screening.Screen.Node","value":"v0"}},"id":"v19","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v8","kind":"fvar"},{"id":"v1","kind":"fvar"},{"id":"v17","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.append"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}},{"id":"v15","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"},"value":{"arguments":[{"id":"v7","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node.mk"}},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.append"}},"id":"v13","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}},{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v11","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"},"value":{"arguments":[{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step.Propose"}},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Screening.Screen.Node","value":"v0"}},"id":"v9","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instAppendableList"}},"id":"v8","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instAppendableList"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v3","kind":"apply"}},"declaration":{"id":"v3","parameters":[{"borrow":false,"id":"v4","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"id":"v1","kind":"return"}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Screen.Propose.collect","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}},{"borrow":false,"id":"v1","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v5","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.listFold"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Propose.candidates"}},"id":"v6","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Screening.Screen.Node","value":"v0"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Propose.collect"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Screen.Propose.successors","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v18","kind":"return"},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v17","kind":"fvar"}],"function":"v5","kind":"apply"}},"id":"v17","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v20","kind":"return"},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v19","kind":"fvar"}],"function":"v15","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v19","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v16","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.extract"}},"id":"v15","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"kind":"erased"}}]}],"discriminant":"v10","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v10","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v8","kind":"fvar"},{"id":"v9","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.safeCheck"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Screen.accept","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.length"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Propose.candidates"}},"id":"v1","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instLengthableList"}},"level_parameters":[],"name":"Reasoning.Screening.Screen.attempts","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v9","kind":"return"},"id":"v9","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v8","type":{"kind":"erased"}}]},{"code":{"body":{"id":"v11","kind":"return"},"id":"v11","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v4","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v10","type":{"kind":"erased"}}]}],"discriminant":"v7","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"id":"v7","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v5","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Prod","value":"v0"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"level_parameters":[],"name":"Reasoning.Screening.Screen.extract","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v26","kind":"fvar"}],"kind":"jump","target":"v23"},"id":"v26","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v27","kind":"fvar"}],"kind":"jump","target":"v20"},"id":"v27","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v0","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Bool"},"declaration":{"id":"v23","parameters":[{"borrow":false,"id":"v24","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v25","kind":"fvar"}],"kind":"jump","target":"v10"},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v24","kind":"fvar"}],"function":"v5","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v20","parameters":[{"borrow":false,"id":"v21","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v22","kind":"fvar"}],"kind":"jump","target":"v10"},"id":"v22","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v21","kind":"fvar"}],"function":"v9","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v10","parameters":[{"borrow":false,"id":"v11","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v16","kind":"return"},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v15","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v15","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v14","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"id":"v19","kind":"return"},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Bool"}},{"id":"v18","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v18","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v17","type":{"kind":"erased"}}]}],"discriminant":"v13","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"type_name":"Decidable"},"id":"v13","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"},{"id":"v12","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v12","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"join"},"id":"v9","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"Bool.not"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.false"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Screen.failure","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Bool"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Bool"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"}},{"code":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"function":"v5","kind":"apply"}},"constructor":"Reasoning.Screening.Screen.Step.Propose","kind":"constructor","parameters":[{"borrow":false,"id":"v6","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v1","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Reasoning.Screening.Screen.Step"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Propose.apply"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Screen.fire","parameters":[{"borrow":false,"id":"v0","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v0","kind":"fvar"},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v2"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v1","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"level_parameters":[],"name":"Reasoning.Screening.Screen.observe","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}},{"id":"v1","kind":"fvar"},{"id":"v6","kind":"fvar"},{"id":"v7","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.iterateUntil"}},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.start"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"8"}}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"},"kind":"arrow"},"value":{"body":{"id":"v3","kind":"return"},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.searchStep"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Screen.run","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v141","kind":"return"},"id":"v141","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v140","kind":"fvar"}],"function":"v138","kind":"apply"}},"id":"v140","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v143","kind":"return"},"id":"v143","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v142","kind":"fvar"}],"function":"v5","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v142","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v139","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v139","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Screening.Screen.Search","value":"v1"}},"id":"v138","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v134","kind":"return"},"id":"v134","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v133","kind":"fvar"}],"function":"v11","kind":"apply"}},"id":"v133","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"List.nil","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v137","kind":"return"},"id":"v137","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v135","kind":"fvar"},{"id":"v136","kind":"fvar"}],"function":"v131","kind":"apply"}},"constructor":"List.cons","kind":"constructor","parameters":[{"borrow":false,"id":"v135","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}},{"borrow":false,"id":"v136","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}]}],"discriminant":"v132","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"List"},"id":"v132","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Screening.Screen.Search","value":"v1"}},"id":"v131","kind":"let","type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"},"kind":"arrow"},"value":{"arguments":[],"function":"v12","kind":"apply"}},"declaration":{"id":"v12","parameters":[{"borrow":false,"id":"v13","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}},{"borrow":false,"id":"v14","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"body":{"id":"v128","kind":"return"},"id":"v128","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v127","kind":"fvar"}],"function":"v124","kind":"apply"}},"id":"v127","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Option.none","kind":"constructor","parameters":[]},{"code":{"body":{"id":"v130","kind":"return"},"id":"v130","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v129","kind":"fvar"}],"function":"v38","kind":"apply"}},"constructor":"Option.some","kind":"constructor","parameters":[{"borrow":false,"id":"v129","type":{"kind":"const","levels":[],"name":"Nat"}}]}],"discriminant":"v126","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Option"},"id":"v126","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"},{"id":"v125","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.accept"}},"id":"v125","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Screening.Screen.Node","value":"v13"}},"id":"v124","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v39","kind":"apply"}},"declaration":{"id":"v39","parameters":[{"borrow":false,"id":"v40","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"arguments":[{"id":"v122","kind":"fvar"}],"kind":"jump","target":"v119"},"id":"v122","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.false","kind":"constructor","parameters":[]},{"code":{"body":{"arguments":[{"id":"v123","kind":"fvar"}],"kind":"jump","target":"v116"},"id":"v123","kind":"let","type":{"kind":"const","levels":["1"],"name":"PUnit"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Unit.unit"}},"constructor":"Bool.true","kind":"constructor","parameters":[]}],"discriminant":"v80","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Bool"},"declaration":{"id":"v119","parameters":[{"borrow":false,"id":"v120","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v121","kind":"fvar"}],"kind":"jump","target":"v81"},"id":"v121","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v120","kind":"fvar"}],"function":"v79","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v116","parameters":[{"borrow":false,"id":"v117","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"arguments":[{"id":"v118","kind":"fvar"}],"kind":"jump","target":"v81"},"id":"v118","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v117","kind":"fvar"}],"function":"v70","kind":"apply"}}},"kind":"join"},"declaration":{"id":"v81","parameters":[{"borrow":false,"id":"v82","type":{"kind":"const","levels":[],"name":"Bool"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"arguments":[{"id":"v104","kind":"fvar"}],"kind":"jump","target":"v109"},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v114","type":{"kind":"erased"}}]},{"code":{"arguments":[{"id":"v105","kind":"fvar"}],"kind":"jump","target":"v109"},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v115","type":{"kind":"erased"}}]}],"discriminant":"v108","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"type_name":"Decidable"},"declaration":{"id":"v109","parameters":[{"borrow":false,"id":"v110","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"id":"v113","kind":"return"},"id":"v113","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}},{"id":"v112","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v112","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"},"value":{"arguments":[{"id":"v65","kind":"fvar"},{"id":"v66","kind":"fvar"},{"id":"v82","kind":"fvar"},{"id":"v111","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search.mk"}},"id":"v111","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Ledger"},"value":{"arguments":[{"id":"v91","kind":"fvar"},{"id":"v95","kind":"fvar"},{"id":"v99","kind":"fvar"},{"id":"v101","kind":"fvar"},{"id":"v103","kind":"fvar"},{"id":"v110","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Ledger.mk"}}},"kind":"join"},"id":"v108","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v106","kind":"fvar"},{"id":"v107","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v107","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v106","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v104","kind":"fvar"},{"id":"v105","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v105","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v97","kind":"fvar"},{"id":"v65","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.length"}},"id":"v104","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Screening.Screen.Ledger","value":"v86"}},"id":"v103","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v102","kind":"fvar"},{"id":"v90","kind":"fvar"}],"function":"v85","kind":"apply"}},"id":"v102","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Screening.Screen.Ledger","value":"v86"}},"id":"v101","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v100","kind":"fvar"},{"id":"v90","kind":"fvar"}],"function":"v85","kind":"apply"}},"id":"v100","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Screening.Screen.Ledger","value":"v86"}},"id":"v99","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v96","kind":"fvar"},{"id":"v98","kind":"fvar"}],"function":"v85","kind":"apply"}},"id":"v98","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v97","kind":"fvar"},{"id":"v42","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.length"}},"id":"v97","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instLengthableList"}},"id":"v96","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Screening.Screen.Ledger","value":"v86"}},"id":"v95","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v92","kind":"fvar"},{"id":"v94","kind":"fvar"}],"function":"v85","kind":"apply"}},"id":"v94","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v93","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.attempts"}},"id":"v93","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Screening.Screen.Node","value":"v13"}},"id":"v92","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Screening.Screen.Ledger","value":"v86"}},"id":"v91","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v87","kind":"fvar"},{"id":"v90","kind":"fvar"}],"function":"v85","kind":"apply"}},"id":"v90","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v89"}},"id":"v89","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v88","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v88","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v87","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Screening.Screen.Ledger","value":"v86"}},"id":"v86","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Ledger"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Screening.Screen.Search","value":"v1"}},"id":"v85","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v84"}},"id":"v84","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v83","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v83","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}}},"kind":"join"},"id":"v80","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Screening.Screen.Search","value":"v1"}},"id":"v79","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v71","kind":"apply"}},"declaration":{"id":"v71","parameters":[{"borrow":false,"id":"v72","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v78","kind":"return"},"id":"v78","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v75","kind":"fvar"},{"id":"v77","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v77","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v76","kind":"fvar"},{"id":"v46","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.length"}},"id":"v76","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instLengthableList"}},"id":"v75","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v74"}},"id":"v74","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v73","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v73","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}}},"kind":"fun"},"id":"v70","kind":"let","type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v67","kind":"apply"}},"declaration":{"id":"v67","parameters":[{"borrow":false,"id":"v68","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v69","kind":"return"},"id":"v69","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}}},"kind":"fun"},"id":"v66","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"id":"v65","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v64","kind":"apply"}},"id":"v64","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v47","kind":"fvar"},{"id":"v63","kind":"fvar"},{"id":"v46","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.listFold"}},"id":"v63","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"declaration":{"id":"v47","parameters":[{"borrow":false,"id":"v48","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v49","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"id":"v48","kind":"return"},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v58","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"id":"v62","kind":"return"},"id":"v62","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v44","kind":"fvar"},{"id":"v48","kind":"fvar"},{"id":"v61","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.append"}},"id":"v61","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}},{"id":"v49","kind":"fvar"},{"id":"v60","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v60","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v59","type":{"kind":"erased"}}]}],"discriminant":"v57","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Decidable"},"id":"v57","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v55","kind":"fvar"},{"id":"v56","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v56","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v55","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v51","kind":"fvar"},{"id":"v54","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v54","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v53"}},"id":"v53","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v52","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v52","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v51","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v50","kind":"fvar"},{"id":"v48","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.length"}},"id":"v50","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instLengthableList"}}},"kind":"fun"},"id":"v46","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v45","kind":"apply"}},"id":"v45","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v44","kind":"fvar"},{"id":"v43","kind":"fvar"},{"id":"v14","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.append"}},"id":"v44","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instAppendableList"}},"id":"v43","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v42","kind":"apply"}},"id":"v42","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v41","kind":"apply"}},"id":"v41","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.successors"}}},"kind":"fun"},"id":"v38","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"arguments":[],"function":"v15","kind":"apply"}},"declaration":{"id":"v15","parameters":[{"borrow":false,"id":"v16","type":{"kind":"const","levels":[],"name":"Nat"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v37","kind":"return"},"id":"v37","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}},{"id":"v36","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v36","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"},"value":{"arguments":[{"id":"v14","kind":"fvar"},{"id":"v18","kind":"fvar"},{"id":"v19","kind":"fvar"},{"id":"v35","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search.mk"}},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Ledger"},"value":{"arguments":[{"id":"v28","kind":"fvar"},{"id":"v29","kind":"fvar"},{"id":"v30","kind":"fvar"},{"id":"v31","kind":"fvar"},{"id":"v33","kind":"fvar"},{"id":"v34","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Ledger.mk"}},"id":"v34","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":5,"kind":"projection","type_name":"Reasoning.Screening.Screen.Ledger","value":"v23"}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v32","kind":"fvar"},{"id":"v27","kind":"fvar"}],"function":"v22","kind":"apply"}},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":4,"kind":"projection","type_name":"Reasoning.Screening.Screen.Ledger","value":"v23"}},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Screening.Screen.Ledger","value":"v23"}},"id":"v30","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Screening.Screen.Ledger","value":"v23"}},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":1,"kind":"projection","type_name":"Reasoning.Screening.Screen.Ledger","value":"v23"}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v24","kind":"fvar"},{"id":"v27","kind":"fvar"}],"function":"v22","kind":"apply"}},"id":"v27","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v26"}},"id":"v26","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v25","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v25","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v24","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Reasoning.Screening.Screen.Ledger","value":"v23"}},"id":"v23","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Ledger"},"value":{"index":3,"kind":"projection","type_name":"Reasoning.Screening.Screen.Search","value":"v1"}},"id":"v22","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v21"}},"id":"v21","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v20","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"id":"v19","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"index":2,"kind":"projection","type_name":"Reasoning.Screening.Screen.Search","value":"v1"}},"id":"v18","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"id":"v17","kind":"fvar"}],"kind":"const","levels":["0"],"name":"Option.some"}},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}},{"id":"v16","kind":"fvar"},{"id":"v13","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Prod.mk"}}},"kind":"fun"}},"kind":"fun"},"id":"v11","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"arguments":[],"function":"v8","kind":"apply"}},"declaration":{"id":"v8","parameters":[{"borrow":false,"id":"v9","type":{"kind":"const","levels":["1"],"name":"PUnit"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":["1"],"name":"PUnit"},"kind":"arrow"},"value":{"body":{"id":"v10","kind":"return"},"id":"v10","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v2","kind":"apply"}},"declaration":{"id":"v2","parameters":[{"borrow":false,"id":"v3","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}}],"kind":"const","levels":["0"],"name":"Option.none"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Screen.searchStep","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}}],"recursive":false,"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v39","kind":"return"},"id":"v39","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"},"value":{"arguments":[{"id":"v24","kind":"fvar"},{"id":"v25","kind":"fvar"},{"id":"v32","kind":"fvar"},{"id":"v38","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search.mk"}},"id":"v38","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Ledger"},"value":{"arguments":[{"id":"v35","kind":"fvar"},{"id":"v35","kind":"fvar"},{"id":"v35","kind":"fvar"},{"id":"v35","kind":"fvar"},{"id":"v35","kind":"fvar"},{"id":"v37","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Ledger.mk"}},"id":"v37","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v36","kind":"fvar"},{"id":"v24","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.length"}},"id":"v36","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instLengthableList"}},"id":"v35","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v34"}},"id":"v34","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v33","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v33","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"0"}}},"id":"v32","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v28","kind":"fvar"},{"id":"v31","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v31","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v30"}},"id":"v30","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v29","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v29","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"1"}}},"id":"v28","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v27"}},"id":"v27","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v26","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v26","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v25","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"kind":"const","levels":["0"],"name":"Option.none"}},"id":"v24","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[],"function":"v23","kind":"apply"}},"id":"v23","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}},{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v1","kind":"fvar"},{"id":"v18","kind":"fvar"},{"id":"v22","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanCollections.listFold"}},"id":"v22","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}},{"id":"v21","kind":"fvar"},{"id":"v18","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v21","kind":"let","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"},"value":{"arguments":[{"id":"v19","kind":"fvar"},{"id":"v20","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node.mk"}},"id":"v20","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v19","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.observe"}},"id":"v18","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"borrow":false,"id":"v3","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"type":{"codomain":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"id":"v2","kind":"return"},"constructor":"Decidable.isFalse","kind":"constructor","parameters":[{"borrow":false,"id":"v12","type":{"kind":"erased"}}]},{"code":{"body":{"body":{"body":{"body":{"id":"v17","kind":"return"},"id":"v17","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v14","kind":"fvar"},{"id":"v2","kind":"fvar"},{"id":"v16","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.append"}},"id":"v16","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}},{"id":"v3","kind":"fvar"},{"id":"v15","kind":"fvar"}],"kind":"const","levels":["0"],"name":"List.cons"}},"id":"v15","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"kind":"const","levels":["0"],"name":"List.nil"}},"id":"v14","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instAppendableList"}},"constructor":"Decidable.isTrue","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"kind":"erased"}}]}],"discriminant":"v11","kind":"cases","result_type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"type_name":"Decidable"},"id":"v11","kind":"let","type":{"arguments":[{"kind":"erased"}],"head":{"kind":"const","levels":[],"name":"Decidable"},"kind":"app"},"value":{"arguments":[{"id":"v9","kind":"fvar"},{"id":"v10","kind":"fvar"}],"kind":"const","levels":[],"name":"instDecidableEqBool"}},"id":"v10","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[],"kind":"const","levels":[],"name":"Bool.true"}},"id":"v9","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v5","kind":"fvar"},{"id":"v8","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.blt"}},"id":"v8","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v7"}},"id":"v7","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"3"}}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v4","kind":"fvar"},{"id":"v2","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.length"}},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instLengthableList"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Screen.start","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"id":"v1","kind":"return"},"id":"v1","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Propose.successors"}},"level_parameters":[],"name":"Reasoning.Screening.Screen.successors","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}}],"recursive":false,"type":{"codomain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"alternatives":[{"code":{"body":{"id":"v12","kind":"return"},"id":"v12","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v11","kind":"fvar"}],"function":"v9","kind":"apply"}},"constructor":"Except.error","kind":"constructor","parameters":[{"borrow":false,"id":"v11","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]},{"code":{"body":{"id":"v14","kind":"return"},"id":"v14","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v13","kind":"fvar"}],"function":"v5","kind":"apply"}},"constructor":"Except.ok","kind":"constructor","parameters":[{"borrow":false,"id":"v13","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}]}],"discriminant":"v10","kind":"cases","result_type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"type_name":"Except"},"id":"v10","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Reasoning.Screening.Screen"}},"id":"v9","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v6","kind":"apply"}},"declaration":{"id":"v6","parameters":[{"borrow":false,"id":"v7","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"id":"v8","kind":"return"},"id":"v8","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v7","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.error"}}},"kind":"fun"},"id":"v5","kind":"let","type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"arguments":[],"function":"v1","kind":"apply"}},"declaration":{"id":"v1","parameters":[{"borrow":false,"id":"v2","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}}],"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"},"value":{"body":{"body":{"id":"v4","kind":"return"},"id":"v4","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}},{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v3","kind":"fvar"}],"kind":"const","levels":["0","0"],"name":"Except.ok"}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"Prod","value":"v2"}}},"kind":"fun"},"level_parameters":[],"name":"Reasoning.Screening.Screen.verdict","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Bool"},{"kind":"const","levels":[],"name":"Bool"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Except"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"id":"v6","kind":"return"},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v5","kind":"fvar"},{"id":"v0","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v5","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"id":"v1","kind":"fvar"},{"id":"v1","kind":"fvar"}],"function":"v4","kind":"apply"}},"id":"v4","kind":"let","type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"value":{"index":0,"kind":"projection","type_name":"HAdd","value":"v3"}},"id":"v3","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0","0"],"name":"HAdd"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}},{"id":"v2","kind":"fvar"}],"kind":"const","levels":["0"],"name":"instHAdd"}},"id":"v2","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Add"},"kind":"app"},"value":{"arguments":[],"kind":"const","levels":[],"name":"instAddNat"}},"level_parameters":[],"name":"Reasoning.Screening.safeCheck","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"kind":"const","levels":[],"name":"Nat"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}},{"code":{"body":{"body":{"body":{"body":{"body":{"body":{"id":"v7","kind":"return"},"id":"v7","kind":"let","type":{"kind":"const","levels":[],"name":"Bool"},"value":{"arguments":[{"id":"v3","kind":"fvar"},{"id":"v6","kind":"fvar"}],"kind":"const","levels":[],"name":"Nat.ble"}},"id":"v6","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"index":0,"kind":"projection","type_name":"OfNat","value":"v5"}},"id":"v5","kind":"let","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"any"}],"head":{"kind":"const","levels":["0"],"name":"OfNat"},"kind":"app"},"value":{"arguments":[{"id":"v4","kind":"fvar"}],"kind":"const","levels":[],"name":"instOfNatNat"}},"id":"v4","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"kind":"literal","literal":{"kind":"nat","value":"4"}}},"id":"v3","kind":"let","type":{"kind":"const","levels":[],"name":"Nat"},"value":{"arguments":[{"kind":"type","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}},{"id":"v2","kind":"fvar"},{"id":"v1","kind":"fvar"}],"kind":"const","levels":[],"name":"LexLeanRuntime.length"}},"id":"v2","kind":"let","type":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"value":{"arguments":[{"kind":"type","type":{"kind":"const","levels":[],"name":"Nat"}}],"kind":"const","levels":[],"name":"LexLeanRuntime.instLengthableList"}},"level_parameters":[],"name":"Reasoning.Screening.shortCheck","parameters":[{"borrow":false,"id":"v0","type":{"kind":"const","levels":[],"name":"Nat"}},{"borrow":false,"id":"v1","type":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"}}],"recursive":false,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Bool"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}}],"erased":[],"externals":[{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Add"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Bool"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Bool.false"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Bool.not"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Bool.true"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Decidable"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Decidable.isFalse"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Decidable.isTrue"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Except"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Except.error"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Except.ok"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"HAdd"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"HMul"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"HSub"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"List"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.List.Basic","name":"List.appendTR"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"List.cons"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"List.foldl"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"List.lengthTR"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"List.nil"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Mul"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Nat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Nat.beq"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Nat.ble"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Nat.Basic","name":"Nat.blt"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Nat.succ"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Nat.zero"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"OfNat"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Option"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Option.none"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Option.some"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Data.Ord.Basic","name":"Ord"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Data.Ord.Basic","name":"Ordering"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Data.Ord.Basic","name":"Ordering.eq"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Data.Ord.Basic","name":"Ordering.gt"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Data.Ord.Basic","name":"Ordering.lt"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"PUnit"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Prod"},{"computable":true,"generates_code":false,"kind":"constructor","module":"Init.Prelude","name":"Prod.mk"},{"computable":true,"generates_code":false,"kind":"inductive","module":"Init.Prelude","name":"Sub"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"Unit.unit"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instAddNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instDecidableEqBool"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instHAdd"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instHMul"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instHSub"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instMulNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instOfNatNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Data.Ord.Basic","name":"instOrdNat"},{"computable":true,"generates_code":true,"kind":"definition","module":"Init.Prelude","name":"instSubNat"}],"inductives":[{"constructors":[{"fields":1,"index":0,"name":"LexLeanCollections.Key.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanCollections.Key"},"kind":"app"},"domain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Ordering"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"LexLeanCollections.Key","parameters":1,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"LexLeanRuntime.Appendable.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Appendable"},"kind":"app"},"domain":{"codomain":{"codomain":{"index":2,"kind":"bvar"},"domain":{"index":1,"kind":"bvar"},"kind":"arrow"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"LexLeanRuntime.Appendable","parameters":1,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"LexLeanRuntime.Lengthable.mk","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"LexLeanRuntime.Lengthable"},"kind":"app"},"domain":{"codomain":{"kind":"const","levels":[],"name":"Nat"},"domain":{"index":0,"kind":"bvar"},"kind":"arrow"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"LexLeanRuntime.Lengthable","parameters":1,"recursive":false},{"constructors":[{"fields":0,"index":0,"name":"Reasoning.Budget.Spend.Step.Tick","parameters":1,"type":{"codomain":{"arguments":[{"index":0,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}},{"fields":1,"index":1,"name":"Reasoning.Budget.Spend.Step.Burn","parameters":1,"type":{"codomain":{"codomain":{"arguments":[{"index":1,"kind":"bvar"}],"head":{"kind":"const","levels":[],"name":"Reasoning.Budget.Spend.Step"},"kind":"app"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"sort","level":"1"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Budget.Spend.Step","parameters":1,"recursive":false},{"constructors":[{"fields":9,"index":0,"name":"Reasoning.Clinic.Chart.mk","parameters":0,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Clinic.Chart","parameters":0,"recursive":false},{"constructors":[{"fields":6,"index":0,"name":"Reasoning.Clinic.Triage.Ledger.mk","parameters":0,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Ledger"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Clinic.Triage.Ledger","parameters":0,"recursive":false},{"constructors":[{"fields":3,"index":0,"name":"Reasoning.Clinic.Triage.Run.mk","parameters":0,"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Run"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Ledger"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Chart"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Clinic.Triage.Run","parameters":0,"recursive":false},{"constructors":[{"fields":0,"index":0,"name":"Reasoning.Clinic.Triage.Step.Fever","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"fields":0,"index":1,"name":"Reasoning.Clinic.Triage.Step.Tachycardia","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"fields":0,"index":2,"name":"Reasoning.Clinic.Triage.Step.Tachypnea","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"fields":0,"index":3,"name":"Reasoning.Clinic.Triage.Step.Leukocytosis","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"fields":0,"index":4,"name":"Reasoning.Clinic.Triage.Step.Sirs","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"fields":0,"index":5,"name":"Reasoning.Clinic.Triage.Step.Sepsis","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"fields":0,"index":6,"name":"Reasoning.Clinic.Triage.Step.Shock","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}},{"fields":0,"index":7,"name":"Reasoning.Clinic.Triage.Step.Escalate","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Triage.Step"}}],"indices":0,"name":"Reasoning.Clinic.Triage.Step","parameters":0,"recursive":false},{"constructors":[{"fields":6,"index":0,"name":"Reasoning.Clinic.Vitals.mk","parameters":0,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Clinic.Vitals"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Clinic.Vitals","parameters":0,"recursive":false},{"constructors":[{"fields":0,"index":0,"name":"Reasoning.Main.Grade.Step.Fever","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"fields":0,"index":1,"name":"Reasoning.Main.Grade.Step.Tachycardia","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"fields":0,"index":2,"name":"Reasoning.Main.Grade.Step.Tachypnea","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"fields":0,"index":3,"name":"Reasoning.Main.Grade.Step.Leukocytosis","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"fields":0,"index":4,"name":"Reasoning.Main.Grade.Step.Sirs","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"fields":0,"index":5,"name":"Reasoning.Main.Grade.Step.Sepsis","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"fields":0,"index":6,"name":"Reasoning.Main.Grade.Step.Shock","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}},{"fields":0,"index":7,"name":"Reasoning.Main.Grade.Step.Escalate","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Main.Grade.Step"}}],"indices":0,"name":"Reasoning.Main.Grade.Step","parameters":0,"recursive":false},{"constructors":[{"fields":6,"index":0,"name":"Reasoning.Planner.Plan.Ledger.mk","parameters":0,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Ledger"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Planner.Plan.Ledger","parameters":0,"recursive":false},{"constructors":[{"fields":2,"index":0,"name":"Reasoning.Planner.Plan.Node.mk","parameters":0,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Planner.Plan.Node","parameters":0,"recursive":false},{"constructors":[{"fields":5,"index":0,"name":"Reasoning.Planner.Plan.Search.mk","parameters":0,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Search"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Ledger"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Planner.Plan.Search","parameters":0,"recursive":false},{"constructors":[{"fields":0,"index":0,"name":"Reasoning.Planner.Plan.Step.FillA","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}},{"fields":0,"index":1,"name":"Reasoning.Planner.Plan.Step.EmptyB","parameters":0,"type":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"}},{"fields":1,"index":2,"name":"Reasoning.Planner.Plan.Step.Pour","parameters":0,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Planner.Plan.Step"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Planner.Plan.Step","parameters":0,"recursive":false},{"constructors":[{"fields":6,"index":0,"name":"Reasoning.Screening.Dose.Ledger.mk","parameters":0,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Ledger"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Screening.Dose.Ledger","parameters":0,"recursive":false},{"constructors":[{"fields":3,"index":0,"name":"Reasoning.Screening.Dose.Trial.mk","parameters":0,"type":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Trial"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Dose.Ledger"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Screening.Dose.Trial","parameters":0,"recursive":false},{"constructors":[{"fields":6,"index":0,"name":"Reasoning.Screening.Screen.Ledger.mk","parameters":0,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Ledger"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Screening.Screen.Ledger","parameters":0,"recursive":false},{"constructors":[{"fields":2,"index":0,"name":"Reasoning.Screening.Screen.Node.mk","parameters":0,"type":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Nat"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Screening.Screen.Node","parameters":0,"recursive":false},{"constructors":[{"fields":4,"index":0,"name":"Reasoning.Screening.Screen.Search.mk","parameters":0,"type":{"codomain":{"codomain":{"codomain":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Search"},"domain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Ledger"},"kind":"arrow"},"domain":{"kind":"const","levels":[],"name":"Bool"},"kind":"arrow"},"domain":{"arguments":[{"arguments":[{"kind":"const","levels":[],"name":"Nat"},{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0","0"],"name":"Prod"},"kind":"app"}],"head":{"kind":"const","levels":["0"],"name":"Option"},"kind":"app"},"kind":"arrow"},"domain":{"arguments":[{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Node"}],"head":{"kind":"const","levels":["0"],"name":"List"},"kind":"app"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Screening.Screen.Search","parameters":0,"recursive":false},{"constructors":[{"fields":1,"index":0,"name":"Reasoning.Screening.Screen.Step.Propose","parameters":0,"type":{"codomain":{"kind":"const","levels":[],"name":"Reasoning.Screening.Screen.Step"},"domain":{"kind":"const","levels":[],"name":"Nat"},"kind":"arrow"}}],"indices":0,"name":"Reasoning.Screening.Screen.Step","parameters":0,"recursive":false}],"lean":{"githash":"f054605aea4b840552cca2e725580bffd1e1b704","version":"4.32.1"},"roots":["Reasoning.Main.triageLevel","Reasoning.Main.gatewayLevel","Reasoning.Main.triageSteps","Reasoning.Main.planLeft","Reasoning.Main.doseLevel","Reasoning.Main.gradeLevel","Reasoning.Main.screenDose","Reasoning.Main.spendLeft"],"spec":"lexlean/compiler-input/2"} diff --git a/examples/reasoning/lexlean.lock b/examples/reasoning/lexlean.lock index 4eeeb7aa3..e9c348864 100644 --- a/examples/reasoning/lexlean.lock +++ b/examples/reasoning/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "254deddb728df2532affa57ca92fefae0324c34d616c713273d63bd4cccbb2bf" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/examples/recursion/expected/build/coverage/Recursion/Main.coverage.json b/examples/recursion/expected/build/coverage/Recursion/Main.coverage.json index 8fdc3e244..893ee3f69 100644 --- a/examples/recursion/expected/build/coverage/Recursion/Main.coverage.json +++ b/examples/recursion/expected/build/coverage/Recursion/Main.coverage.json @@ -1 +1 @@ -{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":624,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1143,"byte_start":624,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1746,"byte_start":1143,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2223,"byte_start":1746,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2765,"byte_start":2223,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3165,"byte_start":2765,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3566,"byte_start":3165,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3908,"byte_start":3566,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4410,"byte_start":3908,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4790,"byte_start":4410,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5389,"byte_start":4790,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5830,"byte_start":5389,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6390,"byte_start":5830,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6798,"byte_start":6390,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7214,"byte_start":6798,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7388,"byte_start":7214,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7590,"byte_start":7388,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7796,"byte_start":7590,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7998,"byte_start":7796,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8407,"byte_start":7998,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8875,"byte_start":8407,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9466,"byte_start":8875,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10390,"byte_start":9466,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10765,"byte_start":10390,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11314,"byte_start":10765,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12104,"byte_start":11314,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12467,"byte_start":12104,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13865,"byte_start":12467,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14464,"byte_start":13865,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15155,"byte_start":14464,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15876,"byte_start":15155,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16188,"byte_start":15876,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16576,"byte_start":16188,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17080,"byte_start":16576,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17616,"byte_start":17080,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17806,"byte_start":17616,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17821,"byte_start":17806,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":13719,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13937,"byte_start":13719,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14184,"byte_start":13937,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14551,"byte_start":14184,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14784,"byte_start":14551,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15085,"byte_start":14784,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15252,"byte_start":15085,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15417,"byte_start":15252,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15877,"byte_start":15417,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16290,"byte_start":15877,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16787,"byte_start":16290,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17302,"byte_start":16787,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17860,"byte_start":17302,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18407,"byte_start":17860,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":18705,"byte_start":18407,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19011,"byte_start":18705,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19077,"byte_start":19011,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19149,"byte_start":19077,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19224,"byte_start":19149,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19296,"byte_start":19224,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":19508,"byte_start":19296,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20114,"byte_start":19508,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":20843,"byte_start":20114,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21736,"byte_start":20843,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":21981,"byte_start":21736,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":22668,"byte_start":21981,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23425,"byte_start":22668,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":23658,"byte_start":23425,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":24751,"byte_start":23658,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25044,"byte_start":24751,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":25433,"byte_start":25044,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26044,"byte_start":25433,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26472,"byte_start":26044,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":26976,"byte_start":26472,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27324,"byte_start":26976,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27701,"byte_start":27324,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27761,"byte_start":27701,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":27781,"byte_start":27761,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Main","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":20,"byte_start":16,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":21,"byte_start":20,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":34,"byte_start":22,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":35,"byte_start":34,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":42,"byte_start":35,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":43,"byte_start":42,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":46,"byte_start":43,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":46,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":50,"byte_start":47,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":50,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":57,"byte_start":56,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":71,"byte_start":58,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":72,"byte_start":71,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":78,"byte_start":72,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":79,"byte_start":78,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":86,"byte_start":80,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":87,"byte_start":86,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":101,"byte_start":87,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":110,"byte_start":102,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":111,"byte_start":110,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":118,"byte_start":112,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":119,"byte_start":118,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":133,"byte_start":119,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":134,"byte_start":133,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":12241,"byte_start":135,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":12245,"byte_start":12241,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":12246,"byte_start":12245,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":12260,"byte_start":12246,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":12261,"byte_start":12260,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":12266,"byte_start":12262,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":12267,"byte_start":12266,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":12274,"byte_start":12267,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":12275,"byte_start":12274,"class":"delimiter","path":"src/Main.lex.tex"}],"spec":"lexlean/coverage/1"} +{"latex":[{"byte_end":134,"byte_start":0,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":624,"byte_start":134,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1143,"byte_start":624,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1746,"byte_start":1143,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2223,"byte_start":1746,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2765,"byte_start":2223,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3165,"byte_start":2765,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3566,"byte_start":3165,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3908,"byte_start":3566,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4410,"byte_start":3908,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4790,"byte_start":4410,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5389,"byte_start":4790,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5830,"byte_start":5389,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6390,"byte_start":5830,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6798,"byte_start":6390,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7214,"byte_start":6798,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7388,"byte_start":7214,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7590,"byte_start":7388,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7796,"byte_start":7590,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7998,"byte_start":7796,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8407,"byte_start":7998,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8875,"byte_start":8407,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9466,"byte_start":8875,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10390,"byte_start":9466,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10765,"byte_start":10390,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11314,"byte_start":10765,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12104,"byte_start":11314,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12467,"byte_start":12104,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13865,"byte_start":12467,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14464,"byte_start":13865,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15155,"byte_start":14464,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":15876,"byte_start":15155,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16188,"byte_start":15876,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":16576,"byte_start":16188,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17080,"byte_start":16576,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17616,"byte_start":17080,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17806,"byte_start":17616,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":17821,"byte_start":17806,"kind":"semantic-latex-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"lean":[{"byte_end":266,"byte_start":0,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":484,"byte_start":266,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":731,"byte_start":484,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1098,"byte_start":731,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1331,"byte_start":1098,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1632,"byte_start":1331,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1799,"byte_start":1632,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":1964,"byte_start":1799,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2424,"byte_start":1964,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":2837,"byte_start":2424,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3334,"byte_start":2837,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":3849,"byte_start":3334,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4407,"byte_start":3849,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":4954,"byte_start":4407,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5252,"byte_start":4954,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5558,"byte_start":5252,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5624,"byte_start":5558,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5696,"byte_start":5624,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5771,"byte_start":5696,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":5843,"byte_start":5771,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6055,"byte_start":5843,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":6661,"byte_start":6055,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":7390,"byte_start":6661,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8283,"byte_start":7390,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":8528,"byte_start":8283,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9215,"byte_start":8528,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":9972,"byte_start":9215,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":10205,"byte_start":9972,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11298,"byte_start":10205,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11591,"byte_start":11298,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":11980,"byte_start":11591,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":12591,"byte_start":11980,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13019,"byte_start":12591,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13523,"byte_start":13019,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":13871,"byte_start":13523,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14248,"byte_start":13871,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14308,"byte_start":14248,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}},{"byte_end":14328,"byte_start":14308,"kind":"semantic-lean-module","origin":{"kind":"metadata","owner":"lexlean.core::semanticsource"}}],"module":"Main","source":[{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":6,"byte_start":0,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":7,"byte_start":6,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":14,"byte_start":7,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":15,"byte_start":14,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":16,"byte_start":15,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::env.lexlean"},"byte_end":20,"byte_start":16,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":21,"byte_start":20,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"useglossary","kind":"structural","package":"lexlean.core"},"byte_end":34,"byte_start":22,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":35,"byte_start":34,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":42,"byte_start":35,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":43,"byte_start":42,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":46,"byte_start":43,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":47,"byte_start":46,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":50,"byte_start":47,"class":"word","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":51,"byte_start":50,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":52,"byte_start":51,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":53,"byte_start":52,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":54,"byte_start":53,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":55,"byte_start":54,"class":"ascii-symbol","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::useglossary"},"byte_end":56,"byte_start":55,"class":"numeral","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":57,"byte_start":56,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"importmodule","kind":"structural","package":"lexlean.core"},"byte_end":71,"byte_start":58,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":72,"byte_start":71,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::importmodule"},"byte_end":78,"byte_start":72,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":79,"byte_start":78,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"title","kind":"structural","package":"lexlean.core"},"byte_end":86,"byte_start":80,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":87,"byte_start":86,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"nat","form":"natural-number-sc","kind":"form","package":"lexlean.std.nat"},"byte_end":101,"byte_start":87,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"addition","form":"addition","kind":"form","package":"lexlean.std.nat"},"byte_end":110,"byte_start":102,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":111,"byte_start":110,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"begin","kind":"structural","package":"lexlean.core"},"byte_end":118,"byte_start":112,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":119,"byte_start":118,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":133,"byte_start":119,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":134,"byte_start":133,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"kind":"metadata","owner":"lexlean.core::semanticsource"},"byte_end":12241,"byte_start":135,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":12245,"byte_start":12241,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":12246,"byte_start":12245,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.semanticmodule","kind":"structural","package":"lexlean.core"},"byte_end":12260,"byte_start":12246,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":12261,"byte_start":12260,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"end","kind":"structural","package":"lexlean.core"},"byte_end":12266,"byte_start":12262,"class":"control","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-open","kind":"structural","package":"lexlean.core"},"byte_end":12267,"byte_start":12266,"class":"delimiter","path":"src/Main.lex.tex"},{"binding":{"entry":"env.lexlean","kind":"structural","package":"lexlean.core"},"byte_end":12274,"byte_start":12267,"class":"word","path":"src/Main.lex.tex"},{"binding":{"entry":"brace-close","kind":"structural","package":"lexlean.core"},"byte_end":12275,"byte_start":12274,"class":"delimiter","path":"src/Main.lex.tex"}],"spec":"lexlean/coverage/1"} diff --git a/examples/recursion/expected/build/manifest.json b/examples/recursion/expected/build/manifest.json index f87b4b6c2..2a52065f4 100644 --- a/examples/recursion/expected/build/manifest.json +++ b/examples/recursion/expected/build/manifest.json @@ -1 +1 @@ -{"build_id":"90668dc576345442639c1034f7fe3d36bba18769ba7b971ff2fa9c6bf4ac8d0b","compiler":{"semantics_id":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","version":"0.3.0"},"inputs":[{"byte_length":2684,"kind":"lexicon","path":"embedded","sha256":"3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b"},{"byte_length":14885,"kind":"lexicon","path":"embedded","sha256":"e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac"},{"byte_length":36197,"kind":"lexicon","path":"embedded","sha256":"827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392"},{"byte_length":1597,"kind":"lock","path":"lexlean.lock","sha256":"0fce49474ca1dcb86f06f739ba0d91e489e91a9a54509baf36273014886b2151"},{"byte_length":640,"kind":"project-config","path":"lexlean.toml","sha256":"b8201330ef8609d8f53e24e2fa367697675b98d69ba844d6a75adffe84a88319"},{"byte_length":12276,"kind":"source","path":"src/Main.lex.tex","sha256":"621026825ab06b16f9a9216cb265b5789461525445908563bfcad4d5d42429cc"},{"byte_length":861,"kind":"source","path":"src/Syntax.lex.tex","sha256":"4d2d6d5cc65ee405c5b0fe2732babae4d496f16a4e054ac334d2abfa69152dd0"}],"language":"1.2","lean_toolchain":"leanprover/lean4:v4.32.1","modules":[{"lean_module":"Recursion.Main","module":"Main","source_path":"src/Main.lex.tex"},{"lean_module":"Recursion.Syntax","module":"Syntax","source_path":"src/Syntax.lex.tex"}],"outputs":[{"byte_length":16961,"kind":"coverage","path":"coverage/Recursion/Main.coverage.json","sha256":"c2e87d136fa63bfda4407c7f158184f729c3ef2e1d53c2a52414d5e16a46c026"},{"byte_length":7661,"kind":"coverage","path":"coverage/Recursion/Syntax.coverage.json","sha256":"ae25a6b2719475a6be93ea19b2c06d5cab04e4e113d84484061047fc72acd3c0"},{"byte_length":27781,"kind":"lean","path":"modules/Recursion/Main.lean","sha256":"31029e3b796ff68d7e24fcad94c0b33a89c4916c4dcb51f2dd5fef73a1b8dfd2"},{"byte_length":622,"kind":"lean","path":"modules/Recursion/Syntax.lean","sha256":"56aa3cba170de2a0b3a833c67a218d72162956271df211c97d7357234a7eb0b1"},{"byte_length":10602,"kind":"lexicon-closure","path":"lexicons/Main.closure.json","sha256":"727110f90daff26a2e5eb8069fcefecd5790c1264f5d6d4b2ef57db1c2bfb867"},{"byte_length":10604,"kind":"lexicon-closure","path":"lexicons/Syntax.closure.json","sha256":"37a0e650d18d332b85cdcc97c6e3a86ffc1dbb591bace0b323fc8bf535336f8b"},{"byte_length":12738,"kind":"map","path":"maps/Recursion/Main.map.json","sha256":"a68e8e716c8eb47fb57b1ec85dea22e64544d0f075062d6b7d9e574f874b33a6"},{"byte_length":2282,"kind":"map","path":"maps/Recursion/Syntax.map.json","sha256":"896222721f8684057c0d96f657967fd3d5f8d8bcbf3f1a425109f3f3a7d49f00"},{"byte_length":17821,"kind":"tex","path":"modules/Recursion/Main.tex","sha256":"765d086267d45138f4fb9de710ccbe74ba93a4c46f3c19c24d382e209b4b4672"},{"byte_length":1093,"kind":"tex","path":"modules/Recursion/Syntax.tex","sha256":"24391ae507ff036ad50cbece531289a033ddff326046c24e85c3968beb127bea"}],"project":"recursion","selection":["Main","Syntax"],"semantic_id":"0328d41687b6e30c568ec9f0624836e75351fb76cc986dbd05eebccb092c4d58","source_id":"9f9289957d11ad0680a250799168c4638d34b8ee6871fb46fcbf1792d3cd2501","spec":"lexlean/build-manifest/1"} +{"build_id":"164141225cc2d2b63630bc57b91cfc1691a0c3531ec414ca5e77915c704d201a","compiler":{"semantics_id":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","version":"0.3.0"},"inputs":[{"byte_length":2684,"kind":"lexicon","path":"embedded","sha256":"3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b"},{"byte_length":14885,"kind":"lexicon","path":"embedded","sha256":"e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac"},{"byte_length":36197,"kind":"lexicon","path":"embedded","sha256":"827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392"},{"byte_length":1597,"kind":"lock","path":"lexlean.lock","sha256":"7ef14c8872e23372609a29b3995683bfffcc9e4b2aeb1257a172c13b99267fe5"},{"byte_length":640,"kind":"project-config","path":"lexlean.toml","sha256":"b8201330ef8609d8f53e24e2fa367697675b98d69ba844d6a75adffe84a88319"},{"byte_length":12276,"kind":"source","path":"src/Main.lex.tex","sha256":"621026825ab06b16f9a9216cb265b5789461525445908563bfcad4d5d42429cc"},{"byte_length":861,"kind":"source","path":"src/Syntax.lex.tex","sha256":"4d2d6d5cc65ee405c5b0fe2732babae4d496f16a4e054ac334d2abfa69152dd0"}],"language":"1.2","lean_toolchain":"leanprover/lean4:v4.32.1","modules":[{"lean_module":"Recursion.Main","module":"Main","source_path":"src/Main.lex.tex"},{"lean_module":"Recursion.Syntax","module":"Syntax","source_path":"src/Syntax.lex.tex"}],"outputs":[{"byte_length":16901,"kind":"coverage","path":"coverage/Recursion/Main.coverage.json","sha256":"f8f6d2fc687a763a65bdff3d3231b3ac5986cff91a7eb25078a7b0d163291d54"},{"byte_length":7661,"kind":"coverage","path":"coverage/Recursion/Syntax.coverage.json","sha256":"ae25a6b2719475a6be93ea19b2c06d5cab04e4e113d84484061047fc72acd3c0"},{"byte_length":14328,"kind":"lean","path":"modules/Recursion/Main.lean","sha256":"df18ddbda5a23a1be3a87641e3056dc563409a49cbd87cf980bad3f232403de5"},{"byte_length":622,"kind":"lean","path":"modules/Recursion/Syntax.lean","sha256":"56aa3cba170de2a0b3a833c67a218d72162956271df211c97d7357234a7eb0b1"},{"byte_length":10602,"kind":"lexicon-closure","path":"lexicons/Main.closure.json","sha256":"727110f90daff26a2e5eb8069fcefecd5790c1264f5d6d4b2ef57db1c2bfb867"},{"byte_length":10604,"kind":"lexicon-closure","path":"lexicons/Syntax.closure.json","sha256":"37a0e650d18d332b85cdcc97c6e3a86ffc1dbb591bace0b323fc8bf535336f8b"},{"byte_length":12678,"kind":"map","path":"maps/Recursion/Main.map.json","sha256":"524c0384ca593c7579a21c98c3c3e9ad8139b156a4e9c8a234ba7acaa0d6e35f"},{"byte_length":2282,"kind":"map","path":"maps/Recursion/Syntax.map.json","sha256":"02f71adfd758605997b80e9112216afdc5ec0c0879a1d0dc44f07491551995f0"},{"byte_length":17821,"kind":"tex","path":"modules/Recursion/Main.tex","sha256":"765d086267d45138f4fb9de710ccbe74ba93a4c46f3c19c24d382e209b4b4672"},{"byte_length":1093,"kind":"tex","path":"modules/Recursion/Syntax.tex","sha256":"24391ae507ff036ad50cbece531289a033ddff326046c24e85c3968beb127bea"}],"project":"recursion","selection":["Main","Syntax"],"semantic_id":"62a4917de7189dfc7d3f0beb388b4bcaa0a9f5e6f8a609d96c68771b8c42dfa7","source_id":"645fa12b7048c74f992f6981ee34ac81cba33dc26d1e021a24c4c28a0e6c642e","spec":"lexlean/build-manifest/1"} diff --git a/examples/recursion/expected/build/maps/Recursion/Main.map.json b/examples/recursion/expected/build/maps/Recursion/Main.map.json index e71b914fc..38e5f09b7 100644 --- a/examples/recursion/expected/build/maps/Recursion/Main.map.json +++ b/examples/recursion/expected/build/maps/Recursion/Main.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/Recursion/Main.lean"},{"id":1,"kind":"tex","path":"modules/Recursion/Main.tex"}],"mappings":[{"artifact":0,"gen_end":13719,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":12276,"src_start":0},{"artifact":0,"gen_end":13937,"gen_start":13719,"node":1,"role":"declaration","source":0,"src_end":396,"src_start":135},{"artifact":0,"gen_end":14184,"gen_start":13937,"node":2,"role":"declaration","source":0,"src_end":703,"src_start":398},{"artifact":0,"gen_end":14551,"gen_start":14184,"node":3,"role":"declaration","source":0,"src_end":1092,"src_start":705},{"artifact":0,"gen_end":14784,"gen_start":14551,"node":4,"role":"declaration","source":0,"src_end":1375,"src_start":1094},{"artifact":0,"gen_end":15085,"gen_start":14784,"node":5,"role":"declaration","source":0,"src_end":1869,"src_start":1377},{"artifact":0,"gen_end":15252,"gen_start":15085,"node":6,"role":"declaration","source":0,"src_end":2076,"src_start":1871},{"artifact":0,"gen_end":15417,"gen_start":15252,"node":7,"role":"declaration","source":0,"src_end":2284,"src_start":2078},{"artifact":0,"gen_end":15877,"gen_start":15417,"node":8,"role":"declaration","source":0,"src_end":2515,"src_start":2286},{"artifact":0,"gen_end":16290,"gen_start":15877,"node":9,"role":"declaration","source":0,"src_end":2805,"src_start":2517},{"artifact":0,"gen_end":16787,"gen_start":16290,"node":10,"role":"declaration","source":0,"src_end":3065,"src_start":2807},{"artifact":0,"gen_end":17302,"gen_start":16787,"node":11,"role":"declaration","source":0,"src_end":3398,"src_start":3067},{"artifact":0,"gen_end":17860,"gen_start":17302,"node":12,"role":"declaration","source":0,"src_end":3705,"src_start":3400},{"artifact":0,"gen_end":18407,"gen_start":17860,"node":13,"role":"declaration","source":0,"src_end":4042,"src_start":3707},{"artifact":0,"gen_end":18705,"gen_start":18407,"node":14,"role":"declaration","source":0,"src_end":4339,"src_start":4044},{"artifact":0,"gen_end":19011,"gen_start":18705,"node":15,"role":"declaration","source":0,"src_end":4646,"src_start":4341},{"artifact":0,"gen_end":19077,"gen_start":19011,"node":16,"role":"declaration","source":0,"src_end":4740,"src_start":4648},{"artifact":0,"gen_end":19149,"gen_start":19077,"node":17,"role":"declaration","source":0,"src_end":4881,"src_start":4742},{"artifact":0,"gen_end":19224,"gen_start":19149,"node":18,"role":"declaration","source":0,"src_end":5025,"src_start":4883},{"artifact":0,"gen_end":19296,"gen_start":19224,"node":19,"role":"declaration","source":0,"src_end":5164,"src_start":5027},{"artifact":0,"gen_end":19508,"gen_start":19296,"node":20,"role":"declaration","source":0,"src_end":5429,"src_start":5166},{"artifact":0,"gen_end":20114,"gen_start":19508,"node":21,"role":"declaration","source":0,"src_end":5791,"src_start":5431},{"artifact":0,"gen_end":20843,"gen_start":20114,"node":22,"role":"declaration","source":0,"src_end":6267,"src_start":5793},{"artifact":0,"gen_end":21736,"gen_start":20843,"node":23,"role":"declaration","source":0,"src_end":6889,"src_start":6269},{"artifact":0,"gen_end":21981,"gen_start":21736,"node":24,"role":"declaration","source":0,"src_end":7181,"src_start":6891},{"artifact":0,"gen_end":22668,"gen_start":21981,"node":25,"role":"declaration","source":0,"src_end":7621,"src_start":7183},{"artifact":0,"gen_end":23425,"gen_start":22668,"node":26,"role":"declaration","source":0,"src_end":8130,"src_start":7623},{"artifact":0,"gen_end":23658,"gen_start":23425,"node":27,"role":"declaration","source":0,"src_end":8410,"src_start":8132},{"artifact":0,"gen_end":24751,"gen_start":23658,"node":28,"role":"declaration","source":0,"src_end":9533,"src_start":8412},{"artifact":0,"gen_end":25044,"gen_start":24751,"node":29,"role":"declaration","source":0,"src_end":9869,"src_start":9535},{"artifact":0,"gen_end":25433,"gen_start":25044,"node":30,"role":"declaration","source":0,"src_end":10494,"src_start":9871},{"artifact":0,"gen_end":26044,"gen_start":25433,"node":31,"role":"declaration","source":0,"src_end":11051,"src_start":10496},{"artifact":0,"gen_end":26472,"gen_start":26044,"node":32,"role":"declaration","source":0,"src_end":11266,"src_start":11053},{"artifact":0,"gen_end":26976,"gen_start":26472,"node":33,"role":"declaration","source":0,"src_end":11529,"src_start":11268},{"artifact":0,"gen_end":27324,"gen_start":26976,"node":34,"role":"declaration","source":0,"src_end":11810,"src_start":11531},{"artifact":0,"gen_end":27701,"gen_start":27324,"node":35,"role":"declaration","source":0,"src_end":12109,"src_start":11812},{"artifact":0,"gen_end":27761,"gen_start":27701,"node":36,"role":"declaration","source":0,"src_end":12240,"src_start":12111},{"artifact":0,"gen_end":27781,"gen_start":27761,"node":0,"role":"declaration","source":0,"src_end":12276,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":37,"role":"declaration","source":0,"src_end":12276,"src_start":0},{"artifact":1,"gen_end":624,"gen_start":134,"node":38,"role":"declaration","source":0,"src_end":396,"src_start":135},{"artifact":1,"gen_end":1143,"gen_start":624,"node":39,"role":"declaration","source":0,"src_end":703,"src_start":398},{"artifact":1,"gen_end":1746,"gen_start":1143,"node":40,"role":"declaration","source":0,"src_end":1092,"src_start":705},{"artifact":1,"gen_end":2223,"gen_start":1746,"node":41,"role":"declaration","source":0,"src_end":1375,"src_start":1094},{"artifact":1,"gen_end":2765,"gen_start":2223,"node":42,"role":"declaration","source":0,"src_end":1869,"src_start":1377},{"artifact":1,"gen_end":3165,"gen_start":2765,"node":43,"role":"declaration","source":0,"src_end":2076,"src_start":1871},{"artifact":1,"gen_end":3566,"gen_start":3165,"node":44,"role":"declaration","source":0,"src_end":2284,"src_start":2078},{"artifact":1,"gen_end":3908,"gen_start":3566,"node":45,"role":"declaration","source":0,"src_end":2515,"src_start":2286},{"artifact":1,"gen_end":4410,"gen_start":3908,"node":46,"role":"declaration","source":0,"src_end":2805,"src_start":2517},{"artifact":1,"gen_end":4790,"gen_start":4410,"node":47,"role":"declaration","source":0,"src_end":3065,"src_start":2807},{"artifact":1,"gen_end":5389,"gen_start":4790,"node":48,"role":"declaration","source":0,"src_end":3398,"src_start":3067},{"artifact":1,"gen_end":5830,"gen_start":5389,"node":49,"role":"declaration","source":0,"src_end":3705,"src_start":3400},{"artifact":1,"gen_end":6390,"gen_start":5830,"node":50,"role":"declaration","source":0,"src_end":4042,"src_start":3707},{"artifact":1,"gen_end":6798,"gen_start":6390,"node":51,"role":"declaration","source":0,"src_end":4339,"src_start":4044},{"artifact":1,"gen_end":7214,"gen_start":6798,"node":52,"role":"declaration","source":0,"src_end":4646,"src_start":4341},{"artifact":1,"gen_end":7388,"gen_start":7214,"node":53,"role":"declaration","source":0,"src_end":4740,"src_start":4648},{"artifact":1,"gen_end":7590,"gen_start":7388,"node":54,"role":"declaration","source":0,"src_end":4881,"src_start":4742},{"artifact":1,"gen_end":7796,"gen_start":7590,"node":55,"role":"declaration","source":0,"src_end":5025,"src_start":4883},{"artifact":1,"gen_end":7998,"gen_start":7796,"node":56,"role":"declaration","source":0,"src_end":5164,"src_start":5027},{"artifact":1,"gen_end":8407,"gen_start":7998,"node":57,"role":"declaration","source":0,"src_end":5429,"src_start":5166},{"artifact":1,"gen_end":8875,"gen_start":8407,"node":58,"role":"declaration","source":0,"src_end":5791,"src_start":5431},{"artifact":1,"gen_end":9466,"gen_start":8875,"node":59,"role":"declaration","source":0,"src_end":6267,"src_start":5793},{"artifact":1,"gen_end":10390,"gen_start":9466,"node":60,"role":"declaration","source":0,"src_end":6889,"src_start":6269},{"artifact":1,"gen_end":10765,"gen_start":10390,"node":61,"role":"declaration","source":0,"src_end":7181,"src_start":6891},{"artifact":1,"gen_end":11314,"gen_start":10765,"node":62,"role":"declaration","source":0,"src_end":7621,"src_start":7183},{"artifact":1,"gen_end":12104,"gen_start":11314,"node":63,"role":"declaration","source":0,"src_end":8130,"src_start":7623},{"artifact":1,"gen_end":12467,"gen_start":12104,"node":64,"role":"declaration","source":0,"src_end":8410,"src_start":8132},{"artifact":1,"gen_end":13865,"gen_start":12467,"node":65,"role":"declaration","source":0,"src_end":9533,"src_start":8412},{"artifact":1,"gen_end":14464,"gen_start":13865,"node":66,"role":"declaration","source":0,"src_end":9869,"src_start":9535},{"artifact":1,"gen_end":15155,"gen_start":14464,"node":67,"role":"declaration","source":0,"src_end":10494,"src_start":9871},{"artifact":1,"gen_end":15876,"gen_start":15155,"node":68,"role":"declaration","source":0,"src_end":11051,"src_start":10496},{"artifact":1,"gen_end":16188,"gen_start":15876,"node":69,"role":"declaration","source":0,"src_end":11266,"src_start":11053},{"artifact":1,"gen_end":16576,"gen_start":16188,"node":70,"role":"declaration","source":0,"src_end":11529,"src_start":11268},{"artifact":1,"gen_end":17080,"gen_start":16576,"node":71,"role":"declaration","source":0,"src_end":11810,"src_start":11531},{"artifact":1,"gen_end":17616,"gen_start":17080,"node":72,"role":"declaration","source":0,"src_end":12109,"src_start":11812},{"artifact":1,"gen_end":17806,"gen_start":17616,"node":73,"role":"declaration","source":0,"src_end":12240,"src_start":12111},{"artifact":1,"gen_end":17821,"gen_start":17806,"node":37,"role":"declaration","source":0,"src_end":12276,"src_start":0}],"module":"Main","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-latex-module"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"}],"semantic_id":"0328d41687b6e30c568ec9f0624836e75351fb76cc986dbd05eebccb092c4d58","source_id":"9f9289957d11ad0680a250799168c4638d34b8ee6871fb46fcbf1792d3cd2501","sources":[{"id":0,"kind":"file","path":"src/Main.lex.tex","sha256":"621026825ab06b16f9a9216cb265b5789461525445908563bfcad4d5d42429cc"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Recursion/Main.lean"},{"id":1,"kind":"tex","path":"modules/Recursion/Main.tex"}],"mappings":[{"artifact":0,"gen_end":266,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":12276,"src_start":0},{"artifact":0,"gen_end":484,"gen_start":266,"node":1,"role":"declaration","source":0,"src_end":396,"src_start":135},{"artifact":0,"gen_end":731,"gen_start":484,"node":2,"role":"declaration","source":0,"src_end":703,"src_start":398},{"artifact":0,"gen_end":1098,"gen_start":731,"node":3,"role":"declaration","source":0,"src_end":1092,"src_start":705},{"artifact":0,"gen_end":1331,"gen_start":1098,"node":4,"role":"declaration","source":0,"src_end":1375,"src_start":1094},{"artifact":0,"gen_end":1632,"gen_start":1331,"node":5,"role":"declaration","source":0,"src_end":1869,"src_start":1377},{"artifact":0,"gen_end":1799,"gen_start":1632,"node":6,"role":"declaration","source":0,"src_end":2076,"src_start":1871},{"artifact":0,"gen_end":1964,"gen_start":1799,"node":7,"role":"declaration","source":0,"src_end":2284,"src_start":2078},{"artifact":0,"gen_end":2424,"gen_start":1964,"node":8,"role":"declaration","source":0,"src_end":2515,"src_start":2286},{"artifact":0,"gen_end":2837,"gen_start":2424,"node":9,"role":"declaration","source":0,"src_end":2805,"src_start":2517},{"artifact":0,"gen_end":3334,"gen_start":2837,"node":10,"role":"declaration","source":0,"src_end":3065,"src_start":2807},{"artifact":0,"gen_end":3849,"gen_start":3334,"node":11,"role":"declaration","source":0,"src_end":3398,"src_start":3067},{"artifact":0,"gen_end":4407,"gen_start":3849,"node":12,"role":"declaration","source":0,"src_end":3705,"src_start":3400},{"artifact":0,"gen_end":4954,"gen_start":4407,"node":13,"role":"declaration","source":0,"src_end":4042,"src_start":3707},{"artifact":0,"gen_end":5252,"gen_start":4954,"node":14,"role":"declaration","source":0,"src_end":4339,"src_start":4044},{"artifact":0,"gen_end":5558,"gen_start":5252,"node":15,"role":"declaration","source":0,"src_end":4646,"src_start":4341},{"artifact":0,"gen_end":5624,"gen_start":5558,"node":16,"role":"declaration","source":0,"src_end":4740,"src_start":4648},{"artifact":0,"gen_end":5696,"gen_start":5624,"node":17,"role":"declaration","source":0,"src_end":4881,"src_start":4742},{"artifact":0,"gen_end":5771,"gen_start":5696,"node":18,"role":"declaration","source":0,"src_end":5025,"src_start":4883},{"artifact":0,"gen_end":5843,"gen_start":5771,"node":19,"role":"declaration","source":0,"src_end":5164,"src_start":5027},{"artifact":0,"gen_end":6055,"gen_start":5843,"node":20,"role":"declaration","source":0,"src_end":5429,"src_start":5166},{"artifact":0,"gen_end":6661,"gen_start":6055,"node":21,"role":"declaration","source":0,"src_end":5791,"src_start":5431},{"artifact":0,"gen_end":7390,"gen_start":6661,"node":22,"role":"declaration","source":0,"src_end":6267,"src_start":5793},{"artifact":0,"gen_end":8283,"gen_start":7390,"node":23,"role":"declaration","source":0,"src_end":6889,"src_start":6269},{"artifact":0,"gen_end":8528,"gen_start":8283,"node":24,"role":"declaration","source":0,"src_end":7181,"src_start":6891},{"artifact":0,"gen_end":9215,"gen_start":8528,"node":25,"role":"declaration","source":0,"src_end":7621,"src_start":7183},{"artifact":0,"gen_end":9972,"gen_start":9215,"node":26,"role":"declaration","source":0,"src_end":8130,"src_start":7623},{"artifact":0,"gen_end":10205,"gen_start":9972,"node":27,"role":"declaration","source":0,"src_end":8410,"src_start":8132},{"artifact":0,"gen_end":11298,"gen_start":10205,"node":28,"role":"declaration","source":0,"src_end":9533,"src_start":8412},{"artifact":0,"gen_end":11591,"gen_start":11298,"node":29,"role":"declaration","source":0,"src_end":9869,"src_start":9535},{"artifact":0,"gen_end":11980,"gen_start":11591,"node":30,"role":"declaration","source":0,"src_end":10494,"src_start":9871},{"artifact":0,"gen_end":12591,"gen_start":11980,"node":31,"role":"declaration","source":0,"src_end":11051,"src_start":10496},{"artifact":0,"gen_end":13019,"gen_start":12591,"node":32,"role":"declaration","source":0,"src_end":11266,"src_start":11053},{"artifact":0,"gen_end":13523,"gen_start":13019,"node":33,"role":"declaration","source":0,"src_end":11529,"src_start":11268},{"artifact":0,"gen_end":13871,"gen_start":13523,"node":34,"role":"declaration","source":0,"src_end":11810,"src_start":11531},{"artifact":0,"gen_end":14248,"gen_start":13871,"node":35,"role":"declaration","source":0,"src_end":12109,"src_start":11812},{"artifact":0,"gen_end":14308,"gen_start":14248,"node":36,"role":"declaration","source":0,"src_end":12240,"src_start":12111},{"artifact":0,"gen_end":14328,"gen_start":14308,"node":0,"role":"declaration","source":0,"src_end":12276,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":37,"role":"declaration","source":0,"src_end":12276,"src_start":0},{"artifact":1,"gen_end":624,"gen_start":134,"node":38,"role":"declaration","source":0,"src_end":396,"src_start":135},{"artifact":1,"gen_end":1143,"gen_start":624,"node":39,"role":"declaration","source":0,"src_end":703,"src_start":398},{"artifact":1,"gen_end":1746,"gen_start":1143,"node":40,"role":"declaration","source":0,"src_end":1092,"src_start":705},{"artifact":1,"gen_end":2223,"gen_start":1746,"node":41,"role":"declaration","source":0,"src_end":1375,"src_start":1094},{"artifact":1,"gen_end":2765,"gen_start":2223,"node":42,"role":"declaration","source":0,"src_end":1869,"src_start":1377},{"artifact":1,"gen_end":3165,"gen_start":2765,"node":43,"role":"declaration","source":0,"src_end":2076,"src_start":1871},{"artifact":1,"gen_end":3566,"gen_start":3165,"node":44,"role":"declaration","source":0,"src_end":2284,"src_start":2078},{"artifact":1,"gen_end":3908,"gen_start":3566,"node":45,"role":"declaration","source":0,"src_end":2515,"src_start":2286},{"artifact":1,"gen_end":4410,"gen_start":3908,"node":46,"role":"declaration","source":0,"src_end":2805,"src_start":2517},{"artifact":1,"gen_end":4790,"gen_start":4410,"node":47,"role":"declaration","source":0,"src_end":3065,"src_start":2807},{"artifact":1,"gen_end":5389,"gen_start":4790,"node":48,"role":"declaration","source":0,"src_end":3398,"src_start":3067},{"artifact":1,"gen_end":5830,"gen_start":5389,"node":49,"role":"declaration","source":0,"src_end":3705,"src_start":3400},{"artifact":1,"gen_end":6390,"gen_start":5830,"node":50,"role":"declaration","source":0,"src_end":4042,"src_start":3707},{"artifact":1,"gen_end":6798,"gen_start":6390,"node":51,"role":"declaration","source":0,"src_end":4339,"src_start":4044},{"artifact":1,"gen_end":7214,"gen_start":6798,"node":52,"role":"declaration","source":0,"src_end":4646,"src_start":4341},{"artifact":1,"gen_end":7388,"gen_start":7214,"node":53,"role":"declaration","source":0,"src_end":4740,"src_start":4648},{"artifact":1,"gen_end":7590,"gen_start":7388,"node":54,"role":"declaration","source":0,"src_end":4881,"src_start":4742},{"artifact":1,"gen_end":7796,"gen_start":7590,"node":55,"role":"declaration","source":0,"src_end":5025,"src_start":4883},{"artifact":1,"gen_end":7998,"gen_start":7796,"node":56,"role":"declaration","source":0,"src_end":5164,"src_start":5027},{"artifact":1,"gen_end":8407,"gen_start":7998,"node":57,"role":"declaration","source":0,"src_end":5429,"src_start":5166},{"artifact":1,"gen_end":8875,"gen_start":8407,"node":58,"role":"declaration","source":0,"src_end":5791,"src_start":5431},{"artifact":1,"gen_end":9466,"gen_start":8875,"node":59,"role":"declaration","source":0,"src_end":6267,"src_start":5793},{"artifact":1,"gen_end":10390,"gen_start":9466,"node":60,"role":"declaration","source":0,"src_end":6889,"src_start":6269},{"artifact":1,"gen_end":10765,"gen_start":10390,"node":61,"role":"declaration","source":0,"src_end":7181,"src_start":6891},{"artifact":1,"gen_end":11314,"gen_start":10765,"node":62,"role":"declaration","source":0,"src_end":7621,"src_start":7183},{"artifact":1,"gen_end":12104,"gen_start":11314,"node":63,"role":"declaration","source":0,"src_end":8130,"src_start":7623},{"artifact":1,"gen_end":12467,"gen_start":12104,"node":64,"role":"declaration","source":0,"src_end":8410,"src_start":8132},{"artifact":1,"gen_end":13865,"gen_start":12467,"node":65,"role":"declaration","source":0,"src_end":9533,"src_start":8412},{"artifact":1,"gen_end":14464,"gen_start":13865,"node":66,"role":"declaration","source":0,"src_end":9869,"src_start":9535},{"artifact":1,"gen_end":15155,"gen_start":14464,"node":67,"role":"declaration","source":0,"src_end":10494,"src_start":9871},{"artifact":1,"gen_end":15876,"gen_start":15155,"node":68,"role":"declaration","source":0,"src_end":11051,"src_start":10496},{"artifact":1,"gen_end":16188,"gen_start":15876,"node":69,"role":"declaration","source":0,"src_end":11266,"src_start":11053},{"artifact":1,"gen_end":16576,"gen_start":16188,"node":70,"role":"declaration","source":0,"src_end":11529,"src_start":11268},{"artifact":1,"gen_end":17080,"gen_start":16576,"node":71,"role":"declaration","source":0,"src_end":11810,"src_start":11531},{"artifact":1,"gen_end":17616,"gen_start":17080,"node":72,"role":"declaration","source":0,"src_end":12109,"src_start":11812},{"artifact":1,"gen_end":17806,"gen_start":17616,"node":73,"role":"declaration","source":0,"src_end":12240,"src_start":12111},{"artifact":1,"gen_end":17821,"gen_start":17806,"node":37,"role":"declaration","source":0,"src_end":12276,"src_start":0}],"module":"Main","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"},{"id":34,"kind":"semantic-declaration"},{"id":35,"kind":"semantic-declaration"},{"id":36,"kind":"semantic-declaration"},{"id":37,"kind":"semantic-latex-module"},{"id":38,"kind":"semantic-declaration"},{"id":39,"kind":"semantic-declaration"},{"id":40,"kind":"semantic-declaration"},{"id":41,"kind":"semantic-declaration"},{"id":42,"kind":"semantic-declaration"},{"id":43,"kind":"semantic-declaration"},{"id":44,"kind":"semantic-declaration"},{"id":45,"kind":"semantic-declaration"},{"id":46,"kind":"semantic-declaration"},{"id":47,"kind":"semantic-declaration"},{"id":48,"kind":"semantic-declaration"},{"id":49,"kind":"semantic-declaration"},{"id":50,"kind":"semantic-declaration"},{"id":51,"kind":"semantic-declaration"},{"id":52,"kind":"semantic-declaration"},{"id":53,"kind":"semantic-declaration"},{"id":54,"kind":"semantic-declaration"},{"id":55,"kind":"semantic-declaration"},{"id":56,"kind":"semantic-declaration"},{"id":57,"kind":"semantic-declaration"},{"id":58,"kind":"semantic-declaration"},{"id":59,"kind":"semantic-declaration"},{"id":60,"kind":"semantic-declaration"},{"id":61,"kind":"semantic-declaration"},{"id":62,"kind":"semantic-declaration"},{"id":63,"kind":"semantic-declaration"},{"id":64,"kind":"semantic-declaration"},{"id":65,"kind":"semantic-declaration"},{"id":66,"kind":"semantic-declaration"},{"id":67,"kind":"semantic-declaration"},{"id":68,"kind":"semantic-declaration"},{"id":69,"kind":"semantic-declaration"},{"id":70,"kind":"semantic-declaration"},{"id":71,"kind":"semantic-declaration"},{"id":72,"kind":"semantic-declaration"},{"id":73,"kind":"semantic-declaration"}],"semantic_id":"62a4917de7189dfc7d3f0beb388b4bcaa0a9f5e6f8a609d96c68771b8c42dfa7","source_id":"645fa12b7048c74f992f6981ee34ac81cba33dc26d1e021a24c4c28a0e6c642e","sources":[{"id":0,"kind":"file","path":"src/Main.lex.tex","sha256":"621026825ab06b16f9a9216cb265b5789461525445908563bfcad4d5d42429cc"}],"spec":"lexlean/source-map/1"} diff --git a/examples/recursion/expected/build/maps/Recursion/Syntax.map.json b/examples/recursion/expected/build/maps/Recursion/Syntax.map.json index 9ca0679eb..c5e4cd7cc 100644 --- a/examples/recursion/expected/build/maps/Recursion/Syntax.map.json +++ b/examples/recursion/expected/build/maps/Recursion/Syntax.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/Recursion/Syntax.lean"},{"id":1,"kind":"tex","path":"modules/Recursion/Syntax.tex"}],"mappings":[{"artifact":0,"gen_end":199,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":861,"src_start":0},{"artifact":0,"gen_end":287,"gen_start":199,"node":1,"role":"declaration","source":0,"src_end":255,"src_start":115},{"artifact":0,"gen_end":415,"gen_start":287,"node":2,"role":"declaration","source":0,"src_end":487,"src_start":257},{"artifact":0,"gen_end":518,"gen_start":415,"node":3,"role":"declaration","source":0,"src_end":671,"src_start":489},{"artifact":0,"gen_end":600,"gen_start":518,"node":4,"role":"declaration","source":0,"src_end":825,"src_start":673},{"artifact":0,"gen_end":622,"gen_start":600,"node":0,"role":"declaration","source":0,"src_end":861,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":5,"role":"declaration","source":0,"src_end":861,"src_start":0},{"artifact":1,"gen_end":328,"gen_start":134,"node":6,"role":"declaration","source":0,"src_end":255,"src_start":115},{"artifact":1,"gen_end":637,"gen_start":328,"node":7,"role":"declaration","source":0,"src_end":487,"src_start":257},{"artifact":1,"gen_end":886,"gen_start":637,"node":8,"role":"declaration","source":0,"src_end":671,"src_start":489},{"artifact":1,"gen_end":1078,"gen_start":886,"node":9,"role":"declaration","source":0,"src_end":825,"src_start":673},{"artifact":1,"gen_end":1093,"gen_start":1078,"node":5,"role":"declaration","source":0,"src_end":861,"src_start":0}],"module":"Syntax","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-latex-module"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"}],"semantic_id":"0328d41687b6e30c568ec9f0624836e75351fb76cc986dbd05eebccb092c4d58","source_id":"9f9289957d11ad0680a250799168c4638d34b8ee6871fb46fcbf1792d3cd2501","sources":[{"id":0,"kind":"file","path":"src/Syntax.lex.tex","sha256":"4d2d6d5cc65ee405c5b0fe2732babae4d496f16a4e054ac334d2abfa69152dd0"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/Recursion/Syntax.lean"},{"id":1,"kind":"tex","path":"modules/Recursion/Syntax.tex"}],"mappings":[{"artifact":0,"gen_end":199,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":861,"src_start":0},{"artifact":0,"gen_end":287,"gen_start":199,"node":1,"role":"declaration","source":0,"src_end":255,"src_start":115},{"artifact":0,"gen_end":415,"gen_start":287,"node":2,"role":"declaration","source":0,"src_end":487,"src_start":257},{"artifact":0,"gen_end":518,"gen_start":415,"node":3,"role":"declaration","source":0,"src_end":671,"src_start":489},{"artifact":0,"gen_end":600,"gen_start":518,"node":4,"role":"declaration","source":0,"src_end":825,"src_start":673},{"artifact":0,"gen_end":622,"gen_start":600,"node":0,"role":"declaration","source":0,"src_end":861,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":5,"role":"declaration","source":0,"src_end":861,"src_start":0},{"artifact":1,"gen_end":328,"gen_start":134,"node":6,"role":"declaration","source":0,"src_end":255,"src_start":115},{"artifact":1,"gen_end":637,"gen_start":328,"node":7,"role":"declaration","source":0,"src_end":487,"src_start":257},{"artifact":1,"gen_end":886,"gen_start":637,"node":8,"role":"declaration","source":0,"src_end":671,"src_start":489},{"artifact":1,"gen_end":1078,"gen_start":886,"node":9,"role":"declaration","source":0,"src_end":825,"src_start":673},{"artifact":1,"gen_end":1093,"gen_start":1078,"node":5,"role":"declaration","source":0,"src_end":861,"src_start":0}],"module":"Syntax","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-latex-module"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"}],"semantic_id":"62a4917de7189dfc7d3f0beb388b4bcaa0a9f5e6f8a609d96c68771b8c42dfa7","source_id":"645fa12b7048c74f992f6981ee34ac81cba33dc26d1e021a24c4c28a0e6c642e","sources":[{"id":0,"kind":"file","path":"src/Syntax.lex.tex","sha256":"4d2d6d5cc65ee405c5b0fe2732babae4d496f16a4e054ac334d2abfa69152dd0"}],"spec":"lexlean/source-map/1"} diff --git a/examples/recursion/expected/build/modules/Recursion/Main.lean b/examples/recursion/expected/build/modules/Recursion/Main.lean index 9fa4e3822..53cfc3b0d 100644 --- a/examples/recursion/expected/build/modules/Recursion/Main.lean +++ b/examples/recursion/expected/build/modules/Recursion/Main.lean @@ -1,5 +1,6 @@ module public import Init +public import LexLeanRuntime.Portable public import Recursion.Syntax set_option autoImplicit false set_option maxRecDepth 100000 @@ -7,289 +8,6 @@ set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace Recursion.Main -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - mutual @[expose] public def roseSize (Item : Type) : (rose : Recursion.Syntax.Rose (Item)) -> Nat | Recursion.Syntax.Rose.node _ children => (1 + forestSize (Item) (children)) diff --git a/examples/recursion/expected/verify/audit/LexLeanAudit.A0328d41687b6e30c568ec9f0624836e7.Recursion.Main.process.json b/examples/recursion/expected/verify/audit/LexLeanAudit.A0328d41687b6e30c568ec9f0624836e7.Recursion.Main.process.json deleted file mode 100644 index 234729b44..000000000 --- a/examples/recursion/expected/verify/audit/LexLeanAudit.A0328d41687b6e30c568ec9f0624836e7.Recursion.Main.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A0328d41687b6e30c568ec9f0624836e7.Recursion.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A0328d41687b6e30c568ec9f0624836e7.Recursion.Main","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Recursion.Main.countdown' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.countdown_decreases' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.countdown_nine' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.exprSize' does not depend on any axioms\n'Recursion.Main.expression_size' does not depend on any axioms\n'Recursion.Main.foldExpr' does not depend on any axioms\n'Recursion.Main.foldStatement' does not depend on any axioms\n'Recursion.Main.foldStatements' does not depend on any axioms\n'Recursion.Main.folding_sample' does not depend on any axioms\n'Recursion.Main.forestSize' does not depend on any axioms\n'Recursion.Main.isEven' does not depend on any axioms\n'Recursion.Main.isOdd' does not depend on any axioms\n'Recursion.Main.ping' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.ping_seven' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.ping_to_pong' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.pong' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.pong_to_ping' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.prune' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.prune_plus' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.prune_result' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.reassociate' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.reassociate_literal' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.reassociate_plus' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.reassociate_weight' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.reduce' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.reduce_decreases' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.reduce_twenty_three' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.roseSize' does not depend on any axioms\n'Recursion.Main.rose_size' does not depend on any axioms\n'Recursion.Main.search' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.search_decreases' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.search_first' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.statementSize' does not depend on any axioms\n'Recursion.Main.statementsSize' does not depend on any axioms\n'Recursion.Main.ten_is_even' does not depend on any axioms\n'Recursion.Main.weight' does not depend on any axioms\n","stdout_sha256":"f0c4e41ed308143236fb35a4287b2e6cf4fcc374313d2db6925bf81cee735602","tool":"lean"} diff --git a/examples/recursion/expected/verify/audit/LexLeanAudit.A0328d41687b6e30c568ec9f0624836e7.Recursion.Syntax.process.json b/examples/recursion/expected/verify/audit/LexLeanAudit.A0328d41687b6e30c568ec9f0624836e7.Recursion.Syntax.process.json deleted file mode 100644 index 7ff542261..000000000 --- a/examples/recursion/expected/verify/audit/LexLeanAudit.A0328d41687b6e30c568ec9f0624836e7.Recursion.Syntax.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A0328d41687b6e30c568ec9f0624836e7.Recursion.Syntax.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A0328d41687b6e30c568ec9f0624836e7.Recursion.Syntax","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Recursion.Syntax.Expr' does not depend on any axioms\n'Recursion.Syntax.Rose' does not depend on any axioms\n'Recursion.Syntax.Stmt' does not depend on any axioms\n'Recursion.Syntax.Term' does not depend on any axioms\n","stdout_sha256":"59c34faf221d3617692f5b38aa55c8d27450f65f8daa542168e23f3a02fad8f8","tool":"lean"} diff --git a/examples/recursion/expected/verify/audit/LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.LexLeanRuntime.Portable.lean b/examples/recursion/expected/verify/audit/LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.LexLeanRuntime.Portable.lean new file mode 100644 index 000000000..dd62fd557 --- /dev/null +++ b/examples/recursion/expected/verify/audit/LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.LexLeanRuntime.Portable.lean @@ -0,0 +1,162 @@ +module +import LexLeanRuntime.Portable +#print axioms LexLeanRuntime.Appendable +#print axioms LexLeanRuntime.Appendable.append +#print axioms LexLeanRuntime.Appendable.casesOn +#print axioms LexLeanRuntime.Appendable.ctorIdx +#print axioms LexLeanRuntime.Appendable.mk._flat_ctor +#print axioms LexLeanRuntime.Appendable.mk.noConfusion +#print axioms LexLeanRuntime.Appendable.noConfusion +#print axioms LexLeanRuntime.Appendable.noConfusionType +#print axioms LexLeanRuntime.Appendable.recOn +#print axioms LexLeanRuntime.Decimal +#print axioms LexLeanRuntime.Decimal.casesOn +#print axioms LexLeanRuntime.Decimal.ctorIdx +#print axioms LexLeanRuntime.Decimal.format +#print axioms LexLeanRuntime.Decimal.mk._flat_ctor +#print axioms LexLeanRuntime.Decimal.mk.noConfusion +#print axioms LexLeanRuntime.Decimal.noConfusion +#print axioms LexLeanRuntime.Decimal.noConfusionType +#print axioms LexLeanRuntime.Decimal.parse +#print axioms LexLeanRuntime.Decimal.recOn +#print axioms LexLeanRuntime.Fixed +#print axioms LexLeanRuntime.Fixed.bitAnd +#print axioms LexLeanRuntime.Fixed.bitNot +#print axioms LexLeanRuntime.Fixed.bitOr +#print axioms LexLeanRuntime.Fixed.bitXor +#print axioms LexLeanRuntime.Fixed.casesOn +#print axioms LexLeanRuntime.Fixed.ctorIdx +#print axioms LexLeanRuntime.Fixed.fromInt +#print axioms LexLeanRuntime.Fixed.maximum +#print axioms LexLeanRuntime.Fixed.minimum +#print axioms LexLeanRuntime.Fixed.mk._flat_ctor +#print axioms LexLeanRuntime.Fixed.mk.noConfusion +#print axioms LexLeanRuntime.Fixed.noConfusion +#print axioms LexLeanRuntime.Fixed.noConfusionType +#print axioms LexLeanRuntime.Fixed.recOn +#print axioms LexLeanRuntime.Fixed.shiftLeft +#print axioms LexLeanRuntime.Fixed.shiftRight +#print axioms LexLeanRuntime.Fixed.toToMathInt +#print axioms LexLeanRuntime.Indexable +#print axioms LexLeanRuntime.Indexable.casesOn +#print axioms LexLeanRuntime.Indexable.ctorIdx +#print axioms LexLeanRuntime.Indexable.index +#print axioms LexLeanRuntime.Indexable.mk._flat_ctor +#print axioms LexLeanRuntime.Indexable.mk.noConfusion +#print axioms LexLeanRuntime.Indexable.noConfusion +#print axioms LexLeanRuntime.Indexable.noConfusionType +#print axioms LexLeanRuntime.Indexable.recOn +#print axioms LexLeanRuntime.Lengthable +#print axioms LexLeanRuntime.Lengthable.casesOn +#print axioms LexLeanRuntime.Lengthable.ctorIdx +#print axioms LexLeanRuntime.Lengthable.length +#print axioms LexLeanRuntime.Lengthable.mk._flat_ctor +#print axioms LexLeanRuntime.Lengthable.mk.noConfusion +#print axioms LexLeanRuntime.Lengthable.noConfusion +#print axioms LexLeanRuntime.Lengthable.noConfusionType +#print axioms LexLeanRuntime.Lengthable.recOn +#print axioms LexLeanRuntime.Quotient +#print axioms LexLeanRuntime.Quotient.casesOn +#print axioms LexLeanRuntime.Quotient.ctorIdx +#print axioms LexLeanRuntime.Quotient.isZero +#print axioms LexLeanRuntime.Quotient.mk._flat_ctor +#print axioms LexLeanRuntime.Quotient.mk.noConfusion +#print axioms LexLeanRuntime.Quotient.noConfusion +#print axioms LexLeanRuntime.Quotient.noConfusionType +#print axioms LexLeanRuntime.Quotient.quotient +#print axioms LexLeanRuntime.Quotient.recOn +#print axioms LexLeanRuntime.Quotient.remainder +#print axioms LexLeanRuntime.Sliceable +#print axioms LexLeanRuntime.Sliceable.casesOn +#print axioms LexLeanRuntime.Sliceable.ctorIdx +#print axioms LexLeanRuntime.Sliceable.mk._flat_ctor +#print axioms LexLeanRuntime.Sliceable.mk.noConfusion +#print axioms LexLeanRuntime.Sliceable.noConfusion +#print axioms LexLeanRuntime.Sliceable.noConfusionType +#print axioms LexLeanRuntime.Sliceable.recOn +#print axioms LexLeanRuntime.Sliceable.slice +#print axioms LexLeanRuntime.ToMathInt +#print axioms LexLeanRuntime.ToMathInt.casesOn +#print axioms LexLeanRuntime.ToMathInt.ctorIdx +#print axioms LexLeanRuntime.ToMathInt.mk._flat_ctor +#print axioms LexLeanRuntime.ToMathInt.mk.noConfusion +#print axioms LexLeanRuntime.ToMathInt.noConfusion +#print axioms LexLeanRuntime.ToMathInt.noConfusionType +#print axioms LexLeanRuntime.ToMathInt.recOn +#print axioms LexLeanRuntime.ToMathInt.toInt +#print axioms LexLeanRuntime.append +#print axioms LexLeanRuntime.bitAnd +#print axioms LexLeanRuntime.bitNot +#print axioms LexLeanRuntime.bitOr +#print axioms LexLeanRuntime.bitXor +#print axioms LexLeanRuntime.checkedAdd +#print axioms LexLeanRuntime.checkedAddInt64 +#print axioms LexLeanRuntime.checkedConvert +#print axioms LexLeanRuntime.checkedFromInt +#print axioms LexLeanRuntime.checkedMultiply +#print axioms LexLeanRuntime.checkedMultiplyInt64 +#print axioms LexLeanRuntime.checkedMultiplyInt64.match_1 +#print axioms LexLeanRuntime.checkedNegate +#print axioms LexLeanRuntime.checkedNegateInt64 +#print axioms LexLeanRuntime.checkedQuotient +#print axioms LexLeanRuntime.checkedQuotientInt64 +#print axioms LexLeanRuntime.checkedSubtract +#print axioms LexLeanRuntime.checkedSubtractInt64 +#print axioms LexLeanRuntime.compareBytes +#print axioms LexLeanRuntime.divideMagnitudeInt64 +#print axioms LexLeanRuntime.divideMagnitudeInt64._f +#print axioms LexLeanRuntime.divideMagnitudeInt64._sunfold +#print axioms LexLeanRuntime.divideMagnitudeInt64._unsafe_rec +#print axioms LexLeanRuntime.divideMagnitudeInt64.match_1 +#print axioms LexLeanRuntime.equal +#print axioms LexLeanRuntime.formatDecimal +#print axioms LexLeanRuntime.index +#print axioms LexLeanRuntime.instAppendableByteArray +#print axioms LexLeanRuntime.instAppendableList +#print axioms LexLeanRuntime.instDecimalInt +#print axioms LexLeanRuntime.instDecimalInt.match_1 +#print axioms LexLeanRuntime.instDecimalOfFixedOfToString +#print axioms LexLeanRuntime.instFixedInt16 +#print axioms LexLeanRuntime.instFixedInt32 +#print axioms LexLeanRuntime.instFixedInt64 +#print axioms LexLeanRuntime.instFixedInt8 +#print axioms LexLeanRuntime.instFixedUInt16 +#print axioms LexLeanRuntime.instFixedUInt32 +#print axioms LexLeanRuntime.instFixedUInt64 +#print axioms LexLeanRuntime.instFixedUInt8 +#print axioms LexLeanRuntime.instIndexableByteArrayUInt8 +#print axioms LexLeanRuntime.instIndexableList +#print axioms LexLeanRuntime.instLengthableByteArray +#print axioms LexLeanRuntime.instLengthableList +#print axioms LexLeanRuntime.instLengthableString +#print axioms LexLeanRuntime.instQuotientInt +#print axioms LexLeanRuntime.instQuotientNat +#print axioms LexLeanRuntime.instSliceableByteArray +#print axioms LexLeanRuntime.instSliceableList +#print axioms LexLeanRuntime.instToMathIntInt +#print axioms LexLeanRuntime.join +#print axioms LexLeanRuntime.length +#print axioms LexLeanRuntime.listIndex +#print axioms LexLeanRuntime.listIndex._f +#print axioms LexLeanRuntime.listIndex._sunfold +#print axioms LexLeanRuntime.listIndex._unsafe_rec +#print axioms LexLeanRuntime.listIndex.match_1 +#print axioms LexLeanRuntime.magnitudeInt64 +#print axioms LexLeanRuntime.multiply +#print axioms LexLeanRuntime.multiplyMagnitudeInt64 +#print axioms LexLeanRuntime.multiplyMagnitudeInt64._f +#print axioms LexLeanRuntime.multiplyMagnitudeInt64._sunfold +#print axioms LexLeanRuntime.multiplyMagnitudeInt64._unsafe_rec +#print axioms LexLeanRuntime.multiplyMagnitudeInt64.match_1 +#print axioms LexLeanRuntime.negate +#print axioms LexLeanRuntime.parseDecimal +#print axioms LexLeanRuntime.quotient +#print axioms LexLeanRuntime.remainder +#print axioms LexLeanRuntime.shiftLeft +#print axioms LexLeanRuntime.shiftRight +#print axioms LexLeanRuntime.signedMagnitudeInt64 +#print axioms LexLeanRuntime.slice +#print axioms LexLeanRuntime.splitExact +#print axioms LexLeanRuntime.subtract +#print axioms LexLeanRuntime.utf8Decode +#print axioms LexLeanRuntime.utf8Encode diff --git a/examples/recursion/expected/verify/audit/LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.LexLeanRuntime.Portable.process.json b/examples/recursion/expected/verify/audit/LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.LexLeanRuntime.Portable.process.json new file mode 100644 index 000000000..c0e7228e4 --- /dev/null +++ b/examples/recursion/expected/verify/audit/LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.LexLeanRuntime.Portable.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.LexLeanRuntime.Portable.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.LexLeanRuntime.Portable","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'LexLeanRuntime.Appendable' does not depend on any axioms\n'LexLeanRuntime.Appendable.append' does not depend on any axioms\n'LexLeanRuntime.Appendable.casesOn' does not depend on any axioms\n'LexLeanRuntime.Appendable.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Appendable.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Appendable.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Appendable.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Appendable.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Appendable.recOn' does not depend on any axioms\n'LexLeanRuntime.Decimal' does not depend on any axioms\n'LexLeanRuntime.Decimal.casesOn' does not depend on any axioms\n'LexLeanRuntime.Decimal.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Decimal.format' does not depend on any axioms\n'LexLeanRuntime.Decimal.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Decimal.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Decimal.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Decimal.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Decimal.parse' does not depend on any axioms\n'LexLeanRuntime.Decimal.recOn' does not depend on any axioms\n'LexLeanRuntime.Fixed' does not depend on any axioms\n'LexLeanRuntime.Fixed.bitAnd' does not depend on any axioms\n'LexLeanRuntime.Fixed.bitNot' does not depend on any axioms\n'LexLeanRuntime.Fixed.bitOr' does not depend on any axioms\n'LexLeanRuntime.Fixed.bitXor' does not depend on any axioms\n'LexLeanRuntime.Fixed.casesOn' does not depend on any axioms\n'LexLeanRuntime.Fixed.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Fixed.fromInt' does not depend on any axioms\n'LexLeanRuntime.Fixed.maximum' does not depend on any axioms\n'LexLeanRuntime.Fixed.minimum' does not depend on any axioms\n'LexLeanRuntime.Fixed.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Fixed.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Fixed.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Fixed.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Fixed.recOn' does not depend on any axioms\n'LexLeanRuntime.Fixed.shiftLeft' does not depend on any axioms\n'LexLeanRuntime.Fixed.shiftRight' does not depend on any axioms\n'LexLeanRuntime.Fixed.toToMathInt' does not depend on any axioms\n'LexLeanRuntime.Indexable' does not depend on any axioms\n'LexLeanRuntime.Indexable.casesOn' does not depend on any axioms\n'LexLeanRuntime.Indexable.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Indexable.index' does not depend on any axioms\n'LexLeanRuntime.Indexable.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Indexable.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Indexable.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Indexable.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Indexable.recOn' does not depend on any axioms\n'LexLeanRuntime.Lengthable' does not depend on any axioms\n'LexLeanRuntime.Lengthable.casesOn' does not depend on any axioms\n'LexLeanRuntime.Lengthable.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Lengthable.length' does not depend on any axioms\n'LexLeanRuntime.Lengthable.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Lengthable.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Lengthable.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Lengthable.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Lengthable.recOn' does not depend on any axioms\n'LexLeanRuntime.Quotient' does not depend on any axioms\n'LexLeanRuntime.Quotient.casesOn' does not depend on any axioms\n'LexLeanRuntime.Quotient.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Quotient.isZero' does not depend on any axioms\n'LexLeanRuntime.Quotient.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Quotient.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Quotient.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Quotient.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Quotient.quotient' does not depend on any axioms\n'LexLeanRuntime.Quotient.recOn' does not depend on any axioms\n'LexLeanRuntime.Quotient.remainder' does not depend on any axioms\n'LexLeanRuntime.Sliceable' does not depend on any axioms\n'LexLeanRuntime.Sliceable.casesOn' does not depend on any axioms\n'LexLeanRuntime.Sliceable.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.Sliceable.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.Sliceable.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Sliceable.noConfusion' does not depend on any axioms\n'LexLeanRuntime.Sliceable.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.Sliceable.recOn' does not depend on any axioms\n'LexLeanRuntime.Sliceable.slice' does not depend on any axioms\n'LexLeanRuntime.ToMathInt' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.casesOn' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.ctorIdx' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.mk._flat_ctor' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.mk.noConfusion' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.noConfusion' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.noConfusionType' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.recOn' does not depend on any axioms\n'LexLeanRuntime.ToMathInt.toInt' does not depend on any axioms\n'LexLeanRuntime.append' does not depend on any axioms\n'LexLeanRuntime.bitAnd' does not depend on any axioms\n'LexLeanRuntime.bitNot' does not depend on any axioms\n'LexLeanRuntime.bitOr' does not depend on any axioms\n'LexLeanRuntime.bitXor' does not depend on any axioms\n'LexLeanRuntime.checkedAdd' does not depend on any axioms\n'LexLeanRuntime.checkedAddInt64' does not depend on any axioms\n'LexLeanRuntime.checkedConvert' does not depend on any axioms\n'LexLeanRuntime.checkedFromInt' does not depend on any axioms\n'LexLeanRuntime.checkedMultiply' does not depend on any axioms\n'LexLeanRuntime.checkedMultiplyInt64' does not depend on any axioms\n'LexLeanRuntime.checkedMultiplyInt64.match_1' does not depend on any axioms\n'LexLeanRuntime.checkedNegate' does not depend on any axioms\n'LexLeanRuntime.checkedNegateInt64' does not depend on any axioms\n'LexLeanRuntime.checkedQuotient' does not depend on any axioms\n'LexLeanRuntime.checkedQuotientInt64' does not depend on any axioms\n'LexLeanRuntime.checkedSubtract' does not depend on any axioms\n'LexLeanRuntime.checkedSubtractInt64' does not depend on any axioms\n'LexLeanRuntime.compareBytes' depends on axioms: [propext]\n'LexLeanRuntime.divideMagnitudeInt64' does not depend on any axioms\n'LexLeanRuntime.divideMagnitudeInt64._f' does not depend on any axioms\n'LexLeanRuntime.divideMagnitudeInt64._sunfold' does not depend on any axioms\n'LexLeanRuntime.divideMagnitudeInt64._unsafe_rec' does not depend on any axioms\n'LexLeanRuntime.divideMagnitudeInt64.match_1' does not depend on any axioms\n'LexLeanRuntime.equal' does not depend on any axioms\n'LexLeanRuntime.formatDecimal' does not depend on any axioms\n'LexLeanRuntime.index' does not depend on any axioms\n'LexLeanRuntime.instAppendableByteArray' does not depend on any axioms\n'LexLeanRuntime.instAppendableList' does not depend on any axioms\n'LexLeanRuntime.instDecimalInt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.instDecimalInt.match_1' does not depend on any axioms\n'LexLeanRuntime.instDecimalOfFixedOfToString' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.instFixedInt16' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedInt32' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedInt64' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedInt8' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedUInt16' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedUInt32' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedUInt64' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instFixedUInt8' depends on axioms: [propext, Quot.sound]\n'LexLeanRuntime.instIndexableByteArrayUInt8' does not depend on any axioms\n'LexLeanRuntime.instIndexableList' does not depend on any axioms\n'LexLeanRuntime.instLengthableByteArray' does not depend on any axioms\n'LexLeanRuntime.instLengthableList' does not depend on any axioms\n'LexLeanRuntime.instLengthableString' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.instQuotientInt' does not depend on any axioms\n'LexLeanRuntime.instQuotientNat' does not depend on any axioms\n'LexLeanRuntime.instSliceableByteArray' does not depend on any axioms\n'LexLeanRuntime.instSliceableList' does not depend on any axioms\n'LexLeanRuntime.instToMathIntInt' does not depend on any axioms\n'LexLeanRuntime.join' depends on axioms: [propext]\n'LexLeanRuntime.length' does not depend on any axioms\n'LexLeanRuntime.listIndex' does not depend on any axioms\n'LexLeanRuntime.listIndex._f' does not depend on any axioms\n'LexLeanRuntime.listIndex._sunfold' does not depend on any axioms\n'LexLeanRuntime.listIndex._unsafe_rec' does not depend on any axioms\n'LexLeanRuntime.listIndex.match_1' does not depend on any axioms\n'LexLeanRuntime.magnitudeInt64' does not depend on any axioms\n'LexLeanRuntime.multiply' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64._f' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64._sunfold' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64._unsafe_rec' does not depend on any axioms\n'LexLeanRuntime.multiplyMagnitudeInt64.match_1' does not depend on any axioms\n'LexLeanRuntime.negate' does not depend on any axioms\n'LexLeanRuntime.parseDecimal' does not depend on any axioms\n'LexLeanRuntime.quotient' does not depend on any axioms\n'LexLeanRuntime.remainder' does not depend on any axioms\n'LexLeanRuntime.shiftLeft' does not depend on any axioms\n'LexLeanRuntime.shiftRight' does not depend on any axioms\n'LexLeanRuntime.signedMagnitudeInt64' does not depend on any axioms\n'LexLeanRuntime.slice' does not depend on any axioms\n'LexLeanRuntime.splitExact' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.subtract' does not depend on any axioms\n'LexLeanRuntime.utf8Decode' depends on axioms: [propext, Classical.choice, Quot.sound]\n'LexLeanRuntime.utf8Encode' does not depend on any axioms\n","stdout_sha256":"73fea1d9e9e9f0a2f1363b9f284eeeb9e434430e9fa910260b9526bad864641e","tool":"lean"} diff --git a/examples/recursion/expected/verify/audit/LexLeanAudit.A0328d41687b6e30c568ec9f0624836e7.Recursion.Main.lean b/examples/recursion/expected/verify/audit/LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.Recursion.Main.lean similarity index 100% rename from examples/recursion/expected/verify/audit/LexLeanAudit.A0328d41687b6e30c568ec9f0624836e7.Recursion.Main.lean rename to examples/recursion/expected/verify/audit/LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.Recursion.Main.lean diff --git a/examples/recursion/expected/verify/audit/LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.Recursion.Main.process.json b/examples/recursion/expected/verify/audit/LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.Recursion.Main.process.json new file mode 100644 index 000000000..2812d7669 --- /dev/null +++ b/examples/recursion/expected/verify/audit/LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.Recursion.Main.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.Recursion.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.Recursion.Main","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Recursion.Main.countdown' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.countdown_decreases' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.countdown_nine' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.exprSize' does not depend on any axioms\n'Recursion.Main.expression_size' does not depend on any axioms\n'Recursion.Main.foldExpr' does not depend on any axioms\n'Recursion.Main.foldStatement' does not depend on any axioms\n'Recursion.Main.foldStatements' does not depend on any axioms\n'Recursion.Main.folding_sample' does not depend on any axioms\n'Recursion.Main.forestSize' does not depend on any axioms\n'Recursion.Main.isEven' does not depend on any axioms\n'Recursion.Main.isOdd' does not depend on any axioms\n'Recursion.Main.ping' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.ping_seven' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.ping_to_pong' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.pong' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.pong_to_ping' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.prune' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.prune_plus' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.prune_result' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.reassociate' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.reassociate_literal' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.reassociate_plus' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.reassociate_weight' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.reduce' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.reduce_decreases' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.reduce_twenty_three' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.roseSize' does not depend on any axioms\n'Recursion.Main.rose_size' does not depend on any axioms\n'Recursion.Main.search' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.search_decreases' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.search_first' depends on axioms: [propext, Quot.sound]\n'Recursion.Main.statementSize' does not depend on any axioms\n'Recursion.Main.statementsSize' does not depend on any axioms\n'Recursion.Main.ten_is_even' does not depend on any axioms\n'Recursion.Main.weight' does not depend on any axioms\n","stdout_sha256":"f0c4e41ed308143236fb35a4287b2e6cf4fcc374313d2db6925bf81cee735602","tool":"lean"} diff --git a/examples/recursion/expected/verify/audit/LexLeanAudit.A0328d41687b6e30c568ec9f0624836e7.Recursion.Syntax.lean b/examples/recursion/expected/verify/audit/LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.Recursion.Syntax.lean similarity index 100% rename from examples/recursion/expected/verify/audit/LexLeanAudit.A0328d41687b6e30c568ec9f0624836e7.Recursion.Syntax.lean rename to examples/recursion/expected/verify/audit/LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.Recursion.Syntax.lean diff --git a/examples/recursion/expected/verify/audit/LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.Recursion.Syntax.process.json b/examples/recursion/expected/verify/audit/LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.Recursion.Syntax.process.json new file mode 100644 index 000000000..8afe29fc2 --- /dev/null +++ b/examples/recursion/expected/verify/audit/LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.Recursion.Syntax.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.Recursion.Syntax.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A62a4917de7189dfc7d3f0beb388b4bca.Recursion.Syntax","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'Recursion.Syntax.Expr' does not depend on any axioms\n'Recursion.Syntax.Rose' does not depend on any axioms\n'Recursion.Syntax.Stmt' does not depend on any axioms\n'Recursion.Syntax.Term' does not depend on any axioms\n","stdout_sha256":"59c34faf221d3617692f5b38aa55c8d27450f65f8daa542168e23f3a02fad8f8","tool":"lean"} diff --git a/examples/recursion/expected/verify/audit/output.txt b/examples/recursion/expected/verify/audit/output.txt index fcad938fe..be05c8e99 100644 --- a/examples/recursion/expected/verify/audit/output.txt +++ b/examples/recursion/expected/verify/audit/output.txt @@ -1,3 +1,163 @@ +'LexLeanRuntime.Appendable' does not depend on any axioms +'LexLeanRuntime.Appendable.append' does not depend on any axioms +'LexLeanRuntime.Appendable.casesOn' does not depend on any axioms +'LexLeanRuntime.Appendable.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Appendable.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Appendable.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Appendable.noConfusion' does not depend on any axioms +'LexLeanRuntime.Appendable.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Appendable.recOn' does not depend on any axioms +'LexLeanRuntime.Decimal' does not depend on any axioms +'LexLeanRuntime.Decimal.casesOn' does not depend on any axioms +'LexLeanRuntime.Decimal.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Decimal.format' does not depend on any axioms +'LexLeanRuntime.Decimal.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Decimal.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Decimal.noConfusion' does not depend on any axioms +'LexLeanRuntime.Decimal.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Decimal.parse' does not depend on any axioms +'LexLeanRuntime.Decimal.recOn' does not depend on any axioms +'LexLeanRuntime.Fixed' does not depend on any axioms +'LexLeanRuntime.Fixed.bitAnd' does not depend on any axioms +'LexLeanRuntime.Fixed.bitNot' does not depend on any axioms +'LexLeanRuntime.Fixed.bitOr' does not depend on any axioms +'LexLeanRuntime.Fixed.bitXor' does not depend on any axioms +'LexLeanRuntime.Fixed.casesOn' does not depend on any axioms +'LexLeanRuntime.Fixed.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Fixed.fromInt' does not depend on any axioms +'LexLeanRuntime.Fixed.maximum' does not depend on any axioms +'LexLeanRuntime.Fixed.minimum' does not depend on any axioms +'LexLeanRuntime.Fixed.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Fixed.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Fixed.noConfusion' does not depend on any axioms +'LexLeanRuntime.Fixed.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Fixed.recOn' does not depend on any axioms +'LexLeanRuntime.Fixed.shiftLeft' does not depend on any axioms +'LexLeanRuntime.Fixed.shiftRight' does not depend on any axioms +'LexLeanRuntime.Fixed.toToMathInt' does not depend on any axioms +'LexLeanRuntime.Indexable' does not depend on any axioms +'LexLeanRuntime.Indexable.casesOn' does not depend on any axioms +'LexLeanRuntime.Indexable.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Indexable.index' does not depend on any axioms +'LexLeanRuntime.Indexable.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Indexable.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Indexable.noConfusion' does not depend on any axioms +'LexLeanRuntime.Indexable.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Indexable.recOn' does not depend on any axioms +'LexLeanRuntime.Lengthable' does not depend on any axioms +'LexLeanRuntime.Lengthable.casesOn' does not depend on any axioms +'LexLeanRuntime.Lengthable.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Lengthable.length' does not depend on any axioms +'LexLeanRuntime.Lengthable.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Lengthable.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Lengthable.noConfusion' does not depend on any axioms +'LexLeanRuntime.Lengthable.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Lengthable.recOn' does not depend on any axioms +'LexLeanRuntime.Quotient' does not depend on any axioms +'LexLeanRuntime.Quotient.casesOn' does not depend on any axioms +'LexLeanRuntime.Quotient.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Quotient.isZero' does not depend on any axioms +'LexLeanRuntime.Quotient.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Quotient.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Quotient.noConfusion' does not depend on any axioms +'LexLeanRuntime.Quotient.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Quotient.quotient' does not depend on any axioms +'LexLeanRuntime.Quotient.recOn' does not depend on any axioms +'LexLeanRuntime.Quotient.remainder' does not depend on any axioms +'LexLeanRuntime.Sliceable' does not depend on any axioms +'LexLeanRuntime.Sliceable.casesOn' does not depend on any axioms +'LexLeanRuntime.Sliceable.ctorIdx' does not depend on any axioms +'LexLeanRuntime.Sliceable.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.Sliceable.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.Sliceable.noConfusion' does not depend on any axioms +'LexLeanRuntime.Sliceable.noConfusionType' does not depend on any axioms +'LexLeanRuntime.Sliceable.recOn' does not depend on any axioms +'LexLeanRuntime.Sliceable.slice' does not depend on any axioms +'LexLeanRuntime.ToMathInt' does not depend on any axioms +'LexLeanRuntime.ToMathInt.casesOn' does not depend on any axioms +'LexLeanRuntime.ToMathInt.ctorIdx' does not depend on any axioms +'LexLeanRuntime.ToMathInt.mk._flat_ctor' does not depend on any axioms +'LexLeanRuntime.ToMathInt.mk.noConfusion' does not depend on any axioms +'LexLeanRuntime.ToMathInt.noConfusion' does not depend on any axioms +'LexLeanRuntime.ToMathInt.noConfusionType' does not depend on any axioms +'LexLeanRuntime.ToMathInt.recOn' does not depend on any axioms +'LexLeanRuntime.ToMathInt.toInt' does not depend on any axioms +'LexLeanRuntime.append' does not depend on any axioms +'LexLeanRuntime.bitAnd' does not depend on any axioms +'LexLeanRuntime.bitNot' does not depend on any axioms +'LexLeanRuntime.bitOr' does not depend on any axioms +'LexLeanRuntime.bitXor' does not depend on any axioms +'LexLeanRuntime.checkedAdd' does not depend on any axioms +'LexLeanRuntime.checkedAddInt64' does not depend on any axioms +'LexLeanRuntime.checkedConvert' does not depend on any axioms +'LexLeanRuntime.checkedFromInt' does not depend on any axioms +'LexLeanRuntime.checkedMultiply' does not depend on any axioms +'LexLeanRuntime.checkedMultiplyInt64' does not depend on any axioms +'LexLeanRuntime.checkedMultiplyInt64.match_1' does not depend on any axioms +'LexLeanRuntime.checkedNegate' does not depend on any axioms +'LexLeanRuntime.checkedNegateInt64' does not depend on any axioms +'LexLeanRuntime.checkedQuotient' does not depend on any axioms +'LexLeanRuntime.checkedQuotientInt64' does not depend on any axioms +'LexLeanRuntime.checkedSubtract' does not depend on any axioms +'LexLeanRuntime.checkedSubtractInt64' does not depend on any axioms +'LexLeanRuntime.compareBytes' depends on axioms: [propext] +'LexLeanRuntime.divideMagnitudeInt64' does not depend on any axioms +'LexLeanRuntime.divideMagnitudeInt64._f' does not depend on any axioms +'LexLeanRuntime.divideMagnitudeInt64._sunfold' does not depend on any axioms +'LexLeanRuntime.divideMagnitudeInt64._unsafe_rec' does not depend on any axioms +'LexLeanRuntime.divideMagnitudeInt64.match_1' does not depend on any axioms +'LexLeanRuntime.equal' does not depend on any axioms +'LexLeanRuntime.formatDecimal' does not depend on any axioms +'LexLeanRuntime.index' does not depend on any axioms +'LexLeanRuntime.instAppendableByteArray' does not depend on any axioms +'LexLeanRuntime.instAppendableList' does not depend on any axioms +'LexLeanRuntime.instDecimalInt' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.instDecimalInt.match_1' does not depend on any axioms +'LexLeanRuntime.instDecimalOfFixedOfToString' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.instFixedInt16' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedInt32' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedInt64' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedInt8' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedUInt16' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedUInt32' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedUInt64' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instFixedUInt8' depends on axioms: [propext, Quot.sound] +'LexLeanRuntime.instIndexableByteArrayUInt8' does not depend on any axioms +'LexLeanRuntime.instIndexableList' does not depend on any axioms +'LexLeanRuntime.instLengthableByteArray' does not depend on any axioms +'LexLeanRuntime.instLengthableList' does not depend on any axioms +'LexLeanRuntime.instLengthableString' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.instQuotientInt' does not depend on any axioms +'LexLeanRuntime.instQuotientNat' does not depend on any axioms +'LexLeanRuntime.instSliceableByteArray' does not depend on any axioms +'LexLeanRuntime.instSliceableList' does not depend on any axioms +'LexLeanRuntime.instToMathIntInt' does not depend on any axioms +'LexLeanRuntime.join' depends on axioms: [propext] +'LexLeanRuntime.length' does not depend on any axioms +'LexLeanRuntime.listIndex' does not depend on any axioms +'LexLeanRuntime.listIndex._f' does not depend on any axioms +'LexLeanRuntime.listIndex._sunfold' does not depend on any axioms +'LexLeanRuntime.listIndex._unsafe_rec' does not depend on any axioms +'LexLeanRuntime.listIndex.match_1' does not depend on any axioms +'LexLeanRuntime.magnitudeInt64' does not depend on any axioms +'LexLeanRuntime.multiply' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64._f' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64._sunfold' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64._unsafe_rec' does not depend on any axioms +'LexLeanRuntime.multiplyMagnitudeInt64.match_1' does not depend on any axioms +'LexLeanRuntime.negate' does not depend on any axioms +'LexLeanRuntime.parseDecimal' does not depend on any axioms +'LexLeanRuntime.quotient' does not depend on any axioms +'LexLeanRuntime.remainder' does not depend on any axioms +'LexLeanRuntime.shiftLeft' does not depend on any axioms +'LexLeanRuntime.shiftRight' does not depend on any axioms +'LexLeanRuntime.signedMagnitudeInt64' does not depend on any axioms +'LexLeanRuntime.slice' does not depend on any axioms +'LexLeanRuntime.splitExact' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.subtract' does not depend on any axioms +'LexLeanRuntime.utf8Decode' depends on axioms: [propext, Classical.choice, Quot.sound] +'LexLeanRuntime.utf8Encode' does not depend on any axioms 'Recursion.Main.countdown' depends on axioms: [propext, Quot.sound] 'Recursion.Main.countdown_decreases' depends on axioms: [propext, Quot.sound] 'Recursion.Main.countdown_nine' depends on axioms: [propext, Quot.sound] diff --git a/examples/recursion/expected/verify/probe/LexLeanProbe.P0328d41687b6e30c568ec9f0624836e7.lean b/examples/recursion/expected/verify/probe/LexLeanProbe.P62a4917de7189dfc7d3f0beb388b4bca.lean similarity index 100% rename from examples/recursion/expected/verify/probe/LexLeanProbe.P0328d41687b6e30c568ec9f0624836e7.lean rename to examples/recursion/expected/verify/probe/LexLeanProbe.P62a4917de7189dfc7d3f0beb388b4bca.lean diff --git a/examples/recursion/expected/verify/probe/process.json b/examples/recursion/expected/verify/probe/process.json index 1dba457b7..59714f6fe 100644 --- a/examples/recursion/expected/verify/probe/process.json +++ b/examples/recursion/expected/verify/probe/process.json @@ -1 +1 @@ -{"argv":["env","lean","$STAGING/probe/LexLeanProbe.P0328d41687b6e30c568ec9f0624836e7.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.P0328d41687b6e30c568ec9f0624836e7","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} +{"argv":["env","lean","$STAGING/probe/LexLeanProbe.P62a4917de7189dfc7d3f0beb388b4bca.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.P62a4917de7189dfc7d3f0beb388b4bca","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/recursion/expected/verify/process/lean/LexLeanRuntime.Portable.json b/examples/recursion/expected/verify/process/lean/LexLeanRuntime.Portable.json new file mode 100644 index 000000000..1ce5b3a39 --- /dev/null +++ b/examples/recursion/expected/verify/process/lean/LexLeanRuntime.Portable.json @@ -0,0 +1 @@ +{"argv":["env","lean","-R","$STAGING/lean-src","-o","$STAGING/oleans/LexLeanRuntime/Portable.olean","$STAGING/lean-src/LexLeanRuntime/Portable.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Portable","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/recursion/expected/verify/process/leanchecker/LexLeanRuntime.Portable.json b/examples/recursion/expected/verify/process/leanchecker/LexLeanRuntime.Portable.json new file mode 100644 index 000000000..826a4b876 --- /dev/null +++ b/examples/recursion/expected/verify/process/leanchecker/LexLeanRuntime.Portable.json @@ -0,0 +1 @@ +{"argv":["env","$TOOLCHAIN/bin/leanchecker","LexLeanRuntime.Portable"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanRuntime.Portable","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"leanchecker"} diff --git a/examples/recursion/lexlean.lock b/examples/recursion/lexlean.lock index 57fd27f58..f8a7319a3 100644 --- a/examples/recursion/lexlean.lock +++ b/examples/recursion/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "b8201330ef8609d8f53e24e2fa367697675b98d69ba844d6a75adffe84a88319" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/examples/recursive-data/expected/build/manifest.json b/examples/recursive-data/expected/build/manifest.json index fb92106aa..2b69b58cc 100644 --- a/examples/recursive-data/expected/build/manifest.json +++ b/examples/recursive-data/expected/build/manifest.json @@ -1 +1 @@ -{"build_id":"cd51ea026d49efb66d50f6347310a485f77a74e180ef72345840b141ad1f8755","compiler":{"semantics_id":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","version":"0.3.0"},"inputs":[{"byte_length":2684,"kind":"lexicon","path":"embedded","sha256":"3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b"},{"byte_length":14885,"kind":"lexicon","path":"embedded","sha256":"e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac"},{"byte_length":36197,"kind":"lexicon","path":"embedded","sha256":"827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392"},{"byte_length":1597,"kind":"lock","path":"lexlean.lock","sha256":"ea8860e0e93bd65dd7018cb1347f8044ee96b230655e89bfb7935d8a9b510ba4"},{"byte_length":649,"kind":"project-config","path":"lexlean.toml","sha256":"80db82abec1dcb95e34e18635f4b202b28e8653cf44949647692cd16549adf5e"},{"byte_length":3465,"kind":"source","path":"src/Main.lex.tex","sha256":"b30ab3d9e9a24ce422d32f01d402437e2ca3777275093328e70cae556f5f1e2b"},{"byte_length":1569,"kind":"source","path":"src/Types.lex.tex","sha256":"9a5066adc4be3255299b80f0d5e548876ba12b325a8894c9ae09772c6b8c5d98"}],"language":"1.2","lean_toolchain":"leanprover/lean4:v4.32.1","modules":[{"lean_module":"RecursiveData.Main","module":"Main","source_path":"src/Main.lex.tex"},{"lean_module":"RecursiveData.Types","module":"Types","source_path":"src/Types.lex.tex"}],"outputs":[{"byte_length":11452,"kind":"coverage","path":"coverage/RecursiveData/Main.coverage.json","sha256":"381b7f0711c441b2073817ad599aefaa5251512d2c0c15163d4589f226a8c216"},{"byte_length":8709,"kind":"coverage","path":"coverage/RecursiveData/Types.coverage.json","sha256":"53bf5e13d86e57408b56f4072fb836a09a48c3baa3920151c680dd10ce79c2aa"},{"byte_length":2994,"kind":"lean","path":"modules/RecursiveData/Main.lean","sha256":"5b2e0441117ee0aae63c7a6b77693aadda58593c18ec31406c537c67f1b0ef57"},{"byte_length":1060,"kind":"lean","path":"modules/RecursiveData/Types.lean","sha256":"d2b39360b50d9c45e42f266146ba0eb32220d1f5a98bdc51d28ce384a21d508e"},{"byte_length":10602,"kind":"lexicon-closure","path":"lexicons/Main.closure.json","sha256":"727110f90daff26a2e5eb8069fcefecd5790c1264f5d6d4b2ef57db1c2bfb867"},{"byte_length":10603,"kind":"lexicon-closure","path":"lexicons/Types.closure.json","sha256":"340585fd2c4c6277fb7214262beee52046db9b165cb6290c4b160f1e4ddc118c"},{"byte_length":6160,"kind":"map","path":"maps/RecursiveData/Main.map.json","sha256":"692fb195f29fbcaed52d2fe3c5a71f3047f3047837b94f8ceac21f76325220f9"},{"byte_length":3571,"kind":"map","path":"maps/RecursiveData/Types.map.json","sha256":"35f6898fa03eb86c8c929bcbcf898ed560123e109433dc52d68078543a65fdf0"},{"byte_length":5103,"kind":"tex","path":"modules/RecursiveData/Main.tex","sha256":"5b7381fbe633721cc513cd66a7b19d07138eb2fbad21b72f41b9a35917c4c5b9"},{"byte_length":2183,"kind":"tex","path":"modules/RecursiveData/Types.tex","sha256":"8ac0c2997937026e5b703458fc16cdef181c85aeb6f3d640a7ad89e4d4125736"}],"project":"recursive-data","selection":["Main","Types"],"semantic_id":"0e67e178b6dcbc6279c0985eff0a7f22c7cfafdd52b87f8ad1a2c6d7ca0a5f3d","source_id":"0846f85d9c17fce5f7ffc6080a4a2e172f6a00b6773f2e7c3957f785ad59a26e","spec":"lexlean/build-manifest/1"} +{"build_id":"76679a6791379358794341923bd33411cb26542a681160535739d15cdcdf55a8","compiler":{"semantics_id":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","version":"0.3.0"},"inputs":[{"byte_length":2684,"kind":"lexicon","path":"embedded","sha256":"3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b"},{"byte_length":14885,"kind":"lexicon","path":"embedded","sha256":"e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac"},{"byte_length":36197,"kind":"lexicon","path":"embedded","sha256":"827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392"},{"byte_length":1597,"kind":"lock","path":"lexlean.lock","sha256":"47d5804cd2b65bdf49c622b9730d8bdc1739bd1a552156b7f5c231014b590c8c"},{"byte_length":649,"kind":"project-config","path":"lexlean.toml","sha256":"80db82abec1dcb95e34e18635f4b202b28e8653cf44949647692cd16549adf5e"},{"byte_length":3465,"kind":"source","path":"src/Main.lex.tex","sha256":"b30ab3d9e9a24ce422d32f01d402437e2ca3777275093328e70cae556f5f1e2b"},{"byte_length":1569,"kind":"source","path":"src/Types.lex.tex","sha256":"9a5066adc4be3255299b80f0d5e548876ba12b325a8894c9ae09772c6b8c5d98"}],"language":"1.2","lean_toolchain":"leanprover/lean4:v4.32.1","modules":[{"lean_module":"RecursiveData.Main","module":"Main","source_path":"src/Main.lex.tex"},{"lean_module":"RecursiveData.Types","module":"Types","source_path":"src/Types.lex.tex"}],"outputs":[{"byte_length":11452,"kind":"coverage","path":"coverage/RecursiveData/Main.coverage.json","sha256":"381b7f0711c441b2073817ad599aefaa5251512d2c0c15163d4589f226a8c216"},{"byte_length":8709,"kind":"coverage","path":"coverage/RecursiveData/Types.coverage.json","sha256":"53bf5e13d86e57408b56f4072fb836a09a48c3baa3920151c680dd10ce79c2aa"},{"byte_length":2994,"kind":"lean","path":"modules/RecursiveData/Main.lean","sha256":"5b2e0441117ee0aae63c7a6b77693aadda58593c18ec31406c537c67f1b0ef57"},{"byte_length":1060,"kind":"lean","path":"modules/RecursiveData/Types.lean","sha256":"d2b39360b50d9c45e42f266146ba0eb32220d1f5a98bdc51d28ce384a21d508e"},{"byte_length":10602,"kind":"lexicon-closure","path":"lexicons/Main.closure.json","sha256":"727110f90daff26a2e5eb8069fcefecd5790c1264f5d6d4b2ef57db1c2bfb867"},{"byte_length":10603,"kind":"lexicon-closure","path":"lexicons/Types.closure.json","sha256":"340585fd2c4c6277fb7214262beee52046db9b165cb6290c4b160f1e4ddc118c"},{"byte_length":6160,"kind":"map","path":"maps/RecursiveData/Main.map.json","sha256":"7fd25866ae3d5a38d15ce5141bb86ab8f5bb3800859f74bb70bdb4050df7cb4c"},{"byte_length":3571,"kind":"map","path":"maps/RecursiveData/Types.map.json","sha256":"3d5ddcd5a45d414a6bc5854c45f4df2fc31fc6eaa19f782ef101b279fb3b6616"},{"byte_length":5103,"kind":"tex","path":"modules/RecursiveData/Main.tex","sha256":"5b7381fbe633721cc513cd66a7b19d07138eb2fbad21b72f41b9a35917c4c5b9"},{"byte_length":2183,"kind":"tex","path":"modules/RecursiveData/Types.tex","sha256":"8ac0c2997937026e5b703458fc16cdef181c85aeb6f3d640a7ad89e4d4125736"}],"project":"recursive-data","selection":["Main","Types"],"semantic_id":"f1458414ae9b17c2e4f2953e1bf63ddf54e6fa858f4d680ebd950771fc96bf04","source_id":"980f6df5a5ce7ca2617daf979bf7adba09e9631616b9ced548e3dc1508c41882","spec":"lexlean/build-manifest/1"} diff --git a/examples/recursive-data/expected/build/maps/RecursiveData/Main.map.json b/examples/recursive-data/expected/build/maps/RecursiveData/Main.map.json index 0c010d667..c7e18ba6b 100644 --- a/examples/recursive-data/expected/build/maps/RecursiveData/Main.map.json +++ b/examples/recursive-data/expected/build/maps/RecursiveData/Main.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/RecursiveData/Main.lean"},{"id":1,"kind":"tex","path":"modules/RecursiveData/Main.tex"}],"mappings":[{"artifact":0,"gen_end":235,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":3465,"src_start":0},{"artifact":0,"gen_end":447,"gen_start":235,"node":1,"role":"declaration","source":0,"src_end":385,"src_start":134},{"artifact":0,"gen_end":744,"gen_start":447,"node":2,"role":"declaration","source":0,"src_end":700,"src_start":387},{"artifact":0,"gen_end":979,"gen_start":744,"node":3,"role":"declaration","source":0,"src_end":944,"src_start":702},{"artifact":0,"gen_end":1057,"gen_start":979,"node":4,"role":"declaration","source":0,"src_end":1062,"src_start":946},{"artifact":0,"gen_end":1344,"gen_start":1057,"node":5,"role":"declaration","source":0,"src_end":1552,"src_start":1064},{"artifact":0,"gen_end":1492,"gen_start":1344,"node":6,"role":"declaration","source":0,"src_end":1707,"src_start":1554},{"artifact":0,"gen_end":1632,"gen_start":1492,"node":7,"role":"declaration","source":0,"src_end":1868,"src_start":1709},{"artifact":0,"gen_end":1874,"gen_start":1632,"node":8,"role":"declaration","source":0,"src_end":2121,"src_start":1870},{"artifact":0,"gen_end":2140,"gen_start":1874,"node":9,"role":"declaration","source":0,"src_end":2378,"src_start":2123},{"artifact":0,"gen_end":2359,"gen_start":2140,"node":10,"role":"declaration","source":0,"src_end":2587,"src_start":2380},{"artifact":0,"gen_end":2465,"gen_start":2359,"node":11,"role":"declaration","source":0,"src_end":2745,"src_start":2589},{"artifact":0,"gen_end":2567,"gen_start":2465,"node":12,"role":"declaration","source":0,"src_end":2873,"src_start":2747},{"artifact":0,"gen_end":2691,"gen_start":2567,"node":13,"role":"declaration","source":0,"src_end":3016,"src_start":2875},{"artifact":0,"gen_end":2768,"gen_start":2691,"node":14,"role":"declaration","source":0,"src_end":3143,"src_start":3018},{"artifact":0,"gen_end":2830,"gen_start":2768,"node":15,"role":"declaration","source":0,"src_end":3241,"src_start":3145},{"artifact":0,"gen_end":2970,"gen_start":2830,"node":16,"role":"declaration","source":0,"src_end":3429,"src_start":3243},{"artifact":0,"gen_end":2994,"gen_start":2970,"node":0,"role":"declaration","source":0,"src_end":3465,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":17,"role":"declaration","source":0,"src_end":3465,"src_start":0},{"artifact":1,"gen_end":543,"gen_start":134,"node":18,"role":"declaration","source":0,"src_end":385,"src_start":134},{"artifact":1,"gen_end":1036,"gen_start":543,"node":19,"role":"declaration","source":0,"src_end":700,"src_start":387},{"artifact":1,"gen_end":1417,"gen_start":1036,"node":20,"role":"declaration","source":0,"src_end":944,"src_start":702},{"artifact":1,"gen_end":1603,"gen_start":1417,"node":21,"role":"declaration","source":0,"src_end":1062,"src_start":946},{"artifact":1,"gen_end":1880,"gen_start":1603,"node":22,"role":"declaration","source":0,"src_end":1552,"src_start":1064},{"artifact":1,"gen_end":2211,"gen_start":1880,"node":23,"role":"declaration","source":0,"src_end":1707,"src_start":1554},{"artifact":1,"gen_end":2461,"gen_start":2211,"node":24,"role":"declaration","source":0,"src_end":1868,"src_start":1709},{"artifact":1,"gen_end":2890,"gen_start":2461,"node":25,"role":"declaration","source":0,"src_end":2121,"src_start":1870},{"artifact":1,"gen_end":3268,"gen_start":2890,"node":26,"role":"declaration","source":0,"src_end":2378,"src_start":2123},{"artifact":1,"gen_end":3670,"gen_start":3268,"node":27,"role":"declaration","source":0,"src_end":2587,"src_start":2380},{"artifact":1,"gen_end":3886,"gen_start":3670,"node":28,"role":"declaration","source":0,"src_end":2745,"src_start":2589},{"artifact":1,"gen_end":4170,"gen_start":3886,"node":29,"role":"declaration","source":0,"src_end":2873,"src_start":2747},{"artifact":1,"gen_end":4476,"gen_start":4170,"node":30,"role":"declaration","source":0,"src_end":3016,"src_start":2875},{"artifact":1,"gen_end":4664,"gen_start":4476,"node":31,"role":"declaration","source":0,"src_end":3143,"src_start":3018},{"artifact":1,"gen_end":4836,"gen_start":4664,"node":32,"role":"declaration","source":0,"src_end":3241,"src_start":3145},{"artifact":1,"gen_end":5088,"gen_start":4836,"node":33,"role":"declaration","source":0,"src_end":3429,"src_start":3243},{"artifact":1,"gen_end":5103,"gen_start":5088,"node":17,"role":"declaration","source":0,"src_end":3465,"src_start":0}],"module":"Main","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-latex-module"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"}],"semantic_id":"0e67e178b6dcbc6279c0985eff0a7f22c7cfafdd52b87f8ad1a2c6d7ca0a5f3d","source_id":"0846f85d9c17fce5f7ffc6080a4a2e172f6a00b6773f2e7c3957f785ad59a26e","sources":[{"id":0,"kind":"file","path":"src/Main.lex.tex","sha256":"b30ab3d9e9a24ce422d32f01d402437e2ca3777275093328e70cae556f5f1e2b"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/RecursiveData/Main.lean"},{"id":1,"kind":"tex","path":"modules/RecursiveData/Main.tex"}],"mappings":[{"artifact":0,"gen_end":235,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":3465,"src_start":0},{"artifact":0,"gen_end":447,"gen_start":235,"node":1,"role":"declaration","source":0,"src_end":385,"src_start":134},{"artifact":0,"gen_end":744,"gen_start":447,"node":2,"role":"declaration","source":0,"src_end":700,"src_start":387},{"artifact":0,"gen_end":979,"gen_start":744,"node":3,"role":"declaration","source":0,"src_end":944,"src_start":702},{"artifact":0,"gen_end":1057,"gen_start":979,"node":4,"role":"declaration","source":0,"src_end":1062,"src_start":946},{"artifact":0,"gen_end":1344,"gen_start":1057,"node":5,"role":"declaration","source":0,"src_end":1552,"src_start":1064},{"artifact":0,"gen_end":1492,"gen_start":1344,"node":6,"role":"declaration","source":0,"src_end":1707,"src_start":1554},{"artifact":0,"gen_end":1632,"gen_start":1492,"node":7,"role":"declaration","source":0,"src_end":1868,"src_start":1709},{"artifact":0,"gen_end":1874,"gen_start":1632,"node":8,"role":"declaration","source":0,"src_end":2121,"src_start":1870},{"artifact":0,"gen_end":2140,"gen_start":1874,"node":9,"role":"declaration","source":0,"src_end":2378,"src_start":2123},{"artifact":0,"gen_end":2359,"gen_start":2140,"node":10,"role":"declaration","source":0,"src_end":2587,"src_start":2380},{"artifact":0,"gen_end":2465,"gen_start":2359,"node":11,"role":"declaration","source":0,"src_end":2745,"src_start":2589},{"artifact":0,"gen_end":2567,"gen_start":2465,"node":12,"role":"declaration","source":0,"src_end":2873,"src_start":2747},{"artifact":0,"gen_end":2691,"gen_start":2567,"node":13,"role":"declaration","source":0,"src_end":3016,"src_start":2875},{"artifact":0,"gen_end":2768,"gen_start":2691,"node":14,"role":"declaration","source":0,"src_end":3143,"src_start":3018},{"artifact":0,"gen_end":2830,"gen_start":2768,"node":15,"role":"declaration","source":0,"src_end":3241,"src_start":3145},{"artifact":0,"gen_end":2970,"gen_start":2830,"node":16,"role":"declaration","source":0,"src_end":3429,"src_start":3243},{"artifact":0,"gen_end":2994,"gen_start":2970,"node":0,"role":"declaration","source":0,"src_end":3465,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":17,"role":"declaration","source":0,"src_end":3465,"src_start":0},{"artifact":1,"gen_end":543,"gen_start":134,"node":18,"role":"declaration","source":0,"src_end":385,"src_start":134},{"artifact":1,"gen_end":1036,"gen_start":543,"node":19,"role":"declaration","source":0,"src_end":700,"src_start":387},{"artifact":1,"gen_end":1417,"gen_start":1036,"node":20,"role":"declaration","source":0,"src_end":944,"src_start":702},{"artifact":1,"gen_end":1603,"gen_start":1417,"node":21,"role":"declaration","source":0,"src_end":1062,"src_start":946},{"artifact":1,"gen_end":1880,"gen_start":1603,"node":22,"role":"declaration","source":0,"src_end":1552,"src_start":1064},{"artifact":1,"gen_end":2211,"gen_start":1880,"node":23,"role":"declaration","source":0,"src_end":1707,"src_start":1554},{"artifact":1,"gen_end":2461,"gen_start":2211,"node":24,"role":"declaration","source":0,"src_end":1868,"src_start":1709},{"artifact":1,"gen_end":2890,"gen_start":2461,"node":25,"role":"declaration","source":0,"src_end":2121,"src_start":1870},{"artifact":1,"gen_end":3268,"gen_start":2890,"node":26,"role":"declaration","source":0,"src_end":2378,"src_start":2123},{"artifact":1,"gen_end":3670,"gen_start":3268,"node":27,"role":"declaration","source":0,"src_end":2587,"src_start":2380},{"artifact":1,"gen_end":3886,"gen_start":3670,"node":28,"role":"declaration","source":0,"src_end":2745,"src_start":2589},{"artifact":1,"gen_end":4170,"gen_start":3886,"node":29,"role":"declaration","source":0,"src_end":2873,"src_start":2747},{"artifact":1,"gen_end":4476,"gen_start":4170,"node":30,"role":"declaration","source":0,"src_end":3016,"src_start":2875},{"artifact":1,"gen_end":4664,"gen_start":4476,"node":31,"role":"declaration","source":0,"src_end":3143,"src_start":3018},{"artifact":1,"gen_end":4836,"gen_start":4664,"node":32,"role":"declaration","source":0,"src_end":3241,"src_start":3145},{"artifact":1,"gen_end":5088,"gen_start":4836,"node":33,"role":"declaration","source":0,"src_end":3429,"src_start":3243},{"artifact":1,"gen_end":5103,"gen_start":5088,"node":17,"role":"declaration","source":0,"src_end":3465,"src_start":0}],"module":"Main","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-declaration"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-latex-module"},{"id":18,"kind":"semantic-declaration"},{"id":19,"kind":"semantic-declaration"},{"id":20,"kind":"semantic-declaration"},{"id":21,"kind":"semantic-declaration"},{"id":22,"kind":"semantic-declaration"},{"id":23,"kind":"semantic-declaration"},{"id":24,"kind":"semantic-declaration"},{"id":25,"kind":"semantic-declaration"},{"id":26,"kind":"semantic-declaration"},{"id":27,"kind":"semantic-declaration"},{"id":28,"kind":"semantic-declaration"},{"id":29,"kind":"semantic-declaration"},{"id":30,"kind":"semantic-declaration"},{"id":31,"kind":"semantic-declaration"},{"id":32,"kind":"semantic-declaration"},{"id":33,"kind":"semantic-declaration"}],"semantic_id":"f1458414ae9b17c2e4f2953e1bf63ddf54e6fa858f4d680ebd950771fc96bf04","source_id":"980f6df5a5ce7ca2617daf979bf7adba09e9631616b9ced548e3dc1508c41882","sources":[{"id":0,"kind":"file","path":"src/Main.lex.tex","sha256":"b30ab3d9e9a24ce422d32f01d402437e2ca3777275093328e70cae556f5f1e2b"}],"spec":"lexlean/source-map/1"} diff --git a/examples/recursive-data/expected/build/maps/RecursiveData/Types.map.json b/examples/recursive-data/expected/build/maps/RecursiveData/Types.map.json index 2a2a536b8..7b85c5919 100644 --- a/examples/recursive-data/expected/build/maps/RecursiveData/Types.map.json +++ b/examples/recursive-data/expected/build/maps/RecursiveData/Types.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/RecursiveData/Types.lean"},{"id":1,"kind":"tex","path":"modules/RecursiveData/Types.tex"}],"mappings":[{"artifact":0,"gen_end":202,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":1569,"src_start":0},{"artifact":0,"gen_end":310,"gen_start":202,"node":1,"role":"declaration","source":0,"src_end":299,"src_start":114},{"artifact":0,"gen_end":398,"gen_start":310,"node":2,"role":"declaration","source":0,"src_end":441,"src_start":301},{"artifact":0,"gen_end":526,"gen_start":398,"node":3,"role":"declaration","source":0,"src_end":673,"src_start":443},{"artifact":0,"gen_end":629,"gen_start":526,"node":4,"role":"declaration","source":0,"src_end":857,"src_start":675},{"artifact":0,"gen_end":721,"gen_start":629,"node":5,"role":"declaration","source":0,"src_end":1014,"src_start":859},{"artifact":0,"gen_end":830,"gen_start":721,"node":6,"role":"declaration","source":0,"src_end":1208,"src_start":1016},{"artifact":0,"gen_end":942,"gen_start":830,"node":7,"role":"declaration","source":0,"src_end":1381,"src_start":1210},{"artifact":0,"gen_end":1035,"gen_start":942,"node":8,"role":"declaration","source":0,"src_end":1533,"src_start":1383},{"artifact":0,"gen_end":1060,"gen_start":1035,"node":0,"role":"declaration","source":0,"src_end":1569,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":9,"role":"declaration","source":0,"src_end":1569,"src_start":0},{"artifact":1,"gen_end":388,"gen_start":134,"node":10,"role":"declaration","source":0,"src_end":299,"src_start":114},{"artifact":1,"gen_end":582,"gen_start":388,"node":11,"role":"declaration","source":0,"src_end":441,"src_start":301},{"artifact":1,"gen_end":891,"gen_start":582,"node":12,"role":"declaration","source":0,"src_end":673,"src_start":443},{"artifact":1,"gen_end":1140,"gen_start":891,"node":13,"role":"declaration","source":0,"src_end":857,"src_start":675},{"artifact":1,"gen_end":1376,"gen_start":1140,"node":14,"role":"declaration","source":0,"src_end":1014,"src_start":859},{"artifact":1,"gen_end":1677,"gen_start":1376,"node":15,"role":"declaration","source":0,"src_end":1208,"src_start":1016},{"artifact":1,"gen_end":1930,"gen_start":1677,"node":16,"role":"declaration","source":0,"src_end":1381,"src_start":1210},{"artifact":1,"gen_end":2168,"gen_start":1930,"node":17,"role":"declaration","source":0,"src_end":1533,"src_start":1383},{"artifact":1,"gen_end":2183,"gen_start":2168,"node":9,"role":"declaration","source":0,"src_end":1569,"src_start":0}],"module":"Types","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-latex-module"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"}],"semantic_id":"0e67e178b6dcbc6279c0985eff0a7f22c7cfafdd52b87f8ad1a2c6d7ca0a5f3d","source_id":"0846f85d9c17fce5f7ffc6080a4a2e172f6a00b6773f2e7c3957f785ad59a26e","sources":[{"id":0,"kind":"file","path":"src/Types.lex.tex","sha256":"9a5066adc4be3255299b80f0d5e548876ba12b325a8894c9ae09772c6b8c5d98"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/RecursiveData/Types.lean"},{"id":1,"kind":"tex","path":"modules/RecursiveData/Types.tex"}],"mappings":[{"artifact":0,"gen_end":202,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":1569,"src_start":0},{"artifact":0,"gen_end":310,"gen_start":202,"node":1,"role":"declaration","source":0,"src_end":299,"src_start":114},{"artifact":0,"gen_end":398,"gen_start":310,"node":2,"role":"declaration","source":0,"src_end":441,"src_start":301},{"artifact":0,"gen_end":526,"gen_start":398,"node":3,"role":"declaration","source":0,"src_end":673,"src_start":443},{"artifact":0,"gen_end":629,"gen_start":526,"node":4,"role":"declaration","source":0,"src_end":857,"src_start":675},{"artifact":0,"gen_end":721,"gen_start":629,"node":5,"role":"declaration","source":0,"src_end":1014,"src_start":859},{"artifact":0,"gen_end":830,"gen_start":721,"node":6,"role":"declaration","source":0,"src_end":1208,"src_start":1016},{"artifact":0,"gen_end":942,"gen_start":830,"node":7,"role":"declaration","source":0,"src_end":1381,"src_start":1210},{"artifact":0,"gen_end":1035,"gen_start":942,"node":8,"role":"declaration","source":0,"src_end":1533,"src_start":1383},{"artifact":0,"gen_end":1060,"gen_start":1035,"node":0,"role":"declaration","source":0,"src_end":1569,"src_start":0},{"artifact":1,"gen_end":134,"gen_start":0,"node":9,"role":"declaration","source":0,"src_end":1569,"src_start":0},{"artifact":1,"gen_end":388,"gen_start":134,"node":10,"role":"declaration","source":0,"src_end":299,"src_start":114},{"artifact":1,"gen_end":582,"gen_start":388,"node":11,"role":"declaration","source":0,"src_end":441,"src_start":301},{"artifact":1,"gen_end":891,"gen_start":582,"node":12,"role":"declaration","source":0,"src_end":673,"src_start":443},{"artifact":1,"gen_end":1140,"gen_start":891,"node":13,"role":"declaration","source":0,"src_end":857,"src_start":675},{"artifact":1,"gen_end":1376,"gen_start":1140,"node":14,"role":"declaration","source":0,"src_end":1014,"src_start":859},{"artifact":1,"gen_end":1677,"gen_start":1376,"node":15,"role":"declaration","source":0,"src_end":1208,"src_start":1016},{"artifact":1,"gen_end":1930,"gen_start":1677,"node":16,"role":"declaration","source":0,"src_end":1381,"src_start":1210},{"artifact":1,"gen_end":2168,"gen_start":1930,"node":17,"role":"declaration","source":0,"src_end":1533,"src_start":1383},{"artifact":1,"gen_end":2183,"gen_start":2168,"node":9,"role":"declaration","source":0,"src_end":1569,"src_start":0}],"module":"Types","nodes":[{"id":0,"kind":"semantic-lean-module"},{"id":1,"kind":"semantic-declaration"},{"id":2,"kind":"semantic-declaration"},{"id":3,"kind":"semantic-declaration"},{"id":4,"kind":"semantic-declaration"},{"id":5,"kind":"semantic-declaration"},{"id":6,"kind":"semantic-declaration"},{"id":7,"kind":"semantic-declaration"},{"id":8,"kind":"semantic-declaration"},{"id":9,"kind":"semantic-latex-module"},{"id":10,"kind":"semantic-declaration"},{"id":11,"kind":"semantic-declaration"},{"id":12,"kind":"semantic-declaration"},{"id":13,"kind":"semantic-declaration"},{"id":14,"kind":"semantic-declaration"},{"id":15,"kind":"semantic-declaration"},{"id":16,"kind":"semantic-declaration"},{"id":17,"kind":"semantic-declaration"}],"semantic_id":"f1458414ae9b17c2e4f2953e1bf63ddf54e6fa858f4d680ebd950771fc96bf04","source_id":"980f6df5a5ce7ca2617daf979bf7adba09e9631616b9ced548e3dc1508c41882","sources":[{"id":0,"kind":"file","path":"src/Types.lex.tex","sha256":"9a5066adc4be3255299b80f0d5e548876ba12b325a8894c9ae09772c6b8c5d98"}],"spec":"lexlean/source-map/1"} diff --git a/examples/recursive-data/expected/verify/audit/LexLeanAudit.A0e67e178b6dcbc6279c0985eff0a7f22.RecursiveData.Main.process.json b/examples/recursive-data/expected/verify/audit/LexLeanAudit.A0e67e178b6dcbc6279c0985eff0a7f22.RecursiveData.Main.process.json deleted file mode 100644 index 1a17057e2..000000000 --- a/examples/recursive-data/expected/verify/audit/LexLeanAudit.A0e67e178b6dcbc6279c0985eff0a7f22.RecursiveData.Main.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A0e67e178b6dcbc6279c0985eff0a7f22.RecursiveData.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A0e67e178b6dcbc6279c0985eff0a7f22.RecursiveData.Main","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'RecursiveData.Main.block_is_not_literal' does not depend on any axioms\n'RecursiveData.Main.isLiteral' does not depend on any axioms\n'RecursiveData.Main.located_row' does not depend on any axioms\n'RecursiveData.Main.mirror' does not depend on any axioms\n'RecursiveData.Main.mirror_involutive' depends on axioms: [propext]\n'RecursiveData.Main.outcomeOrZero' does not depend on any axioms\n'RecursiveData.Main.roseLabel' does not depend on any axioms\n'RecursiveData.Main.rose_label' does not depend on any axioms\n'RecursiveData.Main.sampleTree' does not depend on any axioms\n'RecursiveData.Main.sample_tree_size' does not depend on any axioms\n'RecursiveData.Main.success_value' does not depend on any axioms\n'RecursiveData.Main.sumPair' does not depend on any axioms\n'RecursiveData.Main.sum_pair' does not depend on any axioms\n'RecursiveData.Main.swap' does not depend on any axioms\n'RecursiveData.Main.swap_twice_first' does not depend on any axioms\n'RecursiveData.Main.treeSize' does not depend on any axioms\n","stdout_sha256":"3b07c25caeee31d0f08e31121ae52eadc6a742879b13dfe318cc5f6d24387205","tool":"lean"} diff --git a/examples/recursive-data/expected/verify/audit/LexLeanAudit.A0e67e178b6dcbc6279c0985eff0a7f22.RecursiveData.Types.process.json b/examples/recursive-data/expected/verify/audit/LexLeanAudit.A0e67e178b6dcbc6279c0985eff0a7f22.RecursiveData.Types.process.json deleted file mode 100644 index 47d629c02..000000000 --- a/examples/recursive-data/expected/verify/audit/LexLeanAudit.A0e67e178b6dcbc6279c0985eff0a7f22.RecursiveData.Types.process.json +++ /dev/null @@ -1 +0,0 @@ -{"argv":["env","lean","$STAGING/audit/LexLeanAudit.A0e67e178b6dcbc6279c0985eff0a7f22.RecursiveData.Types.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.A0e67e178b6dcbc6279c0985eff0a7f22.RecursiveData.Types","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'RecursiveData.Types.Branches' does not depend on any axioms\n'RecursiveData.Types.Expr' does not depend on any axioms\n'RecursiveData.Types.Located' does not depend on any axioms\n'RecursiveData.Types.Node' does not depend on any axioms\n'RecursiveData.Types.Outcome' does not depend on any axioms\n'RecursiveData.Types.Rose' does not depend on any axioms\n'RecursiveData.Types.Stmt' does not depend on any axioms\n'RecursiveData.Types.Tree' does not depend on any axioms\n","stdout_sha256":"0b199ad5cc4dded808f275b6dadb975abd7a0fb028eaeb1b25c6595c1af8f28b","tool":"lean"} diff --git a/examples/recursive-data/expected/verify/audit/LexLeanAudit.A0e67e178b6dcbc6279c0985eff0a7f22.RecursiveData.Main.lean b/examples/recursive-data/expected/verify/audit/LexLeanAudit.Af1458414ae9b17c2e4f2953e1bf63ddf.RecursiveData.Main.lean similarity index 100% rename from examples/recursive-data/expected/verify/audit/LexLeanAudit.A0e67e178b6dcbc6279c0985eff0a7f22.RecursiveData.Main.lean rename to examples/recursive-data/expected/verify/audit/LexLeanAudit.Af1458414ae9b17c2e4f2953e1bf63ddf.RecursiveData.Main.lean diff --git a/examples/recursive-data/expected/verify/audit/LexLeanAudit.Af1458414ae9b17c2e4f2953e1bf63ddf.RecursiveData.Main.process.json b/examples/recursive-data/expected/verify/audit/LexLeanAudit.Af1458414ae9b17c2e4f2953e1bf63ddf.RecursiveData.Main.process.json new file mode 100644 index 000000000..1868ba770 --- /dev/null +++ b/examples/recursive-data/expected/verify/audit/LexLeanAudit.Af1458414ae9b17c2e4f2953e1bf63ddf.RecursiveData.Main.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Af1458414ae9b17c2e4f2953e1bf63ddf.RecursiveData.Main.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Af1458414ae9b17c2e4f2953e1bf63ddf.RecursiveData.Main","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'RecursiveData.Main.block_is_not_literal' does not depend on any axioms\n'RecursiveData.Main.isLiteral' does not depend on any axioms\n'RecursiveData.Main.located_row' does not depend on any axioms\n'RecursiveData.Main.mirror' does not depend on any axioms\n'RecursiveData.Main.mirror_involutive' depends on axioms: [propext]\n'RecursiveData.Main.outcomeOrZero' does not depend on any axioms\n'RecursiveData.Main.roseLabel' does not depend on any axioms\n'RecursiveData.Main.rose_label' does not depend on any axioms\n'RecursiveData.Main.sampleTree' does not depend on any axioms\n'RecursiveData.Main.sample_tree_size' does not depend on any axioms\n'RecursiveData.Main.success_value' does not depend on any axioms\n'RecursiveData.Main.sumPair' does not depend on any axioms\n'RecursiveData.Main.sum_pair' does not depend on any axioms\n'RecursiveData.Main.swap' does not depend on any axioms\n'RecursiveData.Main.swap_twice_first' does not depend on any axioms\n'RecursiveData.Main.treeSize' does not depend on any axioms\n","stdout_sha256":"3b07c25caeee31d0f08e31121ae52eadc6a742879b13dfe318cc5f6d24387205","tool":"lean"} diff --git a/examples/recursive-data/expected/verify/audit/LexLeanAudit.A0e67e178b6dcbc6279c0985eff0a7f22.RecursiveData.Types.lean b/examples/recursive-data/expected/verify/audit/LexLeanAudit.Af1458414ae9b17c2e4f2953e1bf63ddf.RecursiveData.Types.lean similarity index 100% rename from examples/recursive-data/expected/verify/audit/LexLeanAudit.A0e67e178b6dcbc6279c0985eff0a7f22.RecursiveData.Types.lean rename to examples/recursive-data/expected/verify/audit/LexLeanAudit.Af1458414ae9b17c2e4f2953e1bf63ddf.RecursiveData.Types.lean diff --git a/examples/recursive-data/expected/verify/audit/LexLeanAudit.Af1458414ae9b17c2e4f2953e1bf63ddf.RecursiveData.Types.process.json b/examples/recursive-data/expected/verify/audit/LexLeanAudit.Af1458414ae9b17c2e4f2953e1bf63ddf.RecursiveData.Types.process.json new file mode 100644 index 000000000..71088b74d --- /dev/null +++ b/examples/recursive-data/expected/verify/audit/LexLeanAudit.Af1458414ae9b17c2e4f2953e1bf63ddf.RecursiveData.Types.process.json @@ -0,0 +1 @@ +{"argv":["env","lean","$STAGING/audit/LexLeanAudit.Af1458414ae9b17c2e4f2953e1bf63ddf.RecursiveData.Types.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanAudit.Af1458414ae9b17c2e4f2953e1bf63ddf.RecursiveData.Types","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"'RecursiveData.Types.Branches' does not depend on any axioms\n'RecursiveData.Types.Expr' does not depend on any axioms\n'RecursiveData.Types.Located' does not depend on any axioms\n'RecursiveData.Types.Node' does not depend on any axioms\n'RecursiveData.Types.Outcome' does not depend on any axioms\n'RecursiveData.Types.Rose' does not depend on any axioms\n'RecursiveData.Types.Stmt' does not depend on any axioms\n'RecursiveData.Types.Tree' does not depend on any axioms\n","stdout_sha256":"0b199ad5cc4dded808f275b6dadb975abd7a0fb028eaeb1b25c6595c1af8f28b","tool":"lean"} diff --git a/examples/recursive-data/expected/verify/probe/LexLeanProbe.P0e67e178b6dcbc6279c0985eff0a7f22.lean b/examples/recursive-data/expected/verify/probe/LexLeanProbe.Pf1458414ae9b17c2e4f2953e1bf63ddf.lean similarity index 100% rename from examples/recursive-data/expected/verify/probe/LexLeanProbe.P0e67e178b6dcbc6279c0985eff0a7f22.lean rename to examples/recursive-data/expected/verify/probe/LexLeanProbe.Pf1458414ae9b17c2e4f2953e1bf63ddf.lean diff --git a/examples/recursive-data/expected/verify/probe/process.json b/examples/recursive-data/expected/verify/probe/process.json index 9ad131068..12d360002 100644 --- a/examples/recursive-data/expected/verify/probe/process.json +++ b/examples/recursive-data/expected/verify/probe/process.json @@ -1 +1 @@ -{"argv":["env","lean","$STAGING/probe/LexLeanProbe.P0e67e178b6dcbc6279c0985eff0a7f22.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.P0e67e178b6dcbc6279c0985eff0a7f22","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} +{"argv":["env","lean","$STAGING/probe/LexLeanProbe.Pf1458414ae9b17c2e4f2953e1bf63ddf.lean"],"executable_sha256":"$EXECUTABLE_SHA256","exit_code":0,"module":"LexLeanProbe.Pf1458414ae9b17c2e4f2953e1bf63ddf","stderr":"\n","stderr_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","stdout":"\n","stdout_sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","tool":"lean"} diff --git a/examples/recursive-data/lexlean.lock b/examples/recursive-data/lexlean.lock index 765c1e2c6..2722e238b 100644 --- a/examples/recursive-data/lexlean.lock +++ b/examples/recursive-data/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "80db82abec1dcb95e34e18635f4b202b28e8653cf44949647692cd16549adf5e" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/features/suites/gnaf-certification.feature b/features/suites/gnaf-certification.feature index 8fbe08358..cdfcca2f5 100644 --- a/features/suites/gnaf-certification.feature +++ b/features/suites/gnaf-certification.feature @@ -73,7 +73,7 @@ Feature: gnaf-certification And a mutated premise, bound, or route has another identity and, where the mutation matters, another verdict @GC-11 @build - Scenario: The certification library is LexLean source: every module of its registry is one language-1.2 native core module of the library's own project, which holds no file of Lean source, no Lean file anywhere in the release tree declares the library's namespace or lies under its module root, and the registry lists only the modules; the declarations and their exact axiom policies are read from the native data, a module that imports anything but `Init`, an earlier module, the preservation core, or the generated and calculus modules it is stated against, or that does not pin its axioms exactly, is refused, and the Lean the compiler generates from the sources is, byte for byte, the Lean the certification library's kernel check compiles, so that neither a stale nor an edited generated module can stand in for the source and a planted drift of the source is visible in what is generated. + Scenario: The certification library is LexLean source: every module of its registry is one language-1.2 native core module of the library's own project, which holds no file of Lean source, no Lean file anywhere in the release tree declares the library's namespace or lies under its module root, and the registry lists only the modules; the declarations and their exact axiom policies are read from the native data, a module that imports anything but `Init`, an earlier module, the preservation core, or the generated and calculus modules it is stated against, or that does not pin its axioms exactly, is refused, and the Lean the compiler generates from the sources is, byte for byte, the Lean the certification library's kernel check compiles, so that neither a stale nor an edited generated module can stand in for the source and a planted drift of the source is visible in what is generated. The one Lean text a generated library module carries beside its data is the decoder of core module 2, which loads native modules. Given the native library under `compiler/proofs/`, its registry, and its own project When the project is built, its sources are read, and its sources are planted with a foreign import, an inexact policy, and a drift Then the generated Lean equals the Lean the kernel check compiles and the project holds no Lean source, and no Lean file in the release tree declares the library's namespace diff --git a/features/suites/preservation.feature b/features/suites/preservation.feature index 94733d51c..af56a34ce 100644 --- a/features/suites/preservation.feature +++ b/features/suites/preservation.feature @@ -79,7 +79,7 @@ Feature: preservation Then every package builds and every printed outcome equals the interpreter's @SP-12 @build - Scenario: The preservation library is LexLean source: every module of its registry is one language-1.2 native core module, the library project holds no file of Lean source, and no Lean file anywhere in the release tree declares its namespace or lies under its module root; the registry lists only the modules, and the declarations, their exact axiom policies, the constructors of the correspondence, and the cases of its soundness theorem are read from the native data, which the compiler embeds, hashes into the language-1.2 semantics, and generates the Lean of every verification from. + Scenario: The preservation library is LexLean source: every module of its registry is one language-1.2 native core module, the library project holds no file of Lean source, and no Lean file anywhere in the release tree declares its namespace or lies under its module root; the registry lists only the modules, and the declarations, their exact axiom policies, the constructors of the correspondence, and the cases of its soundness theorem are read from the native data, which the compiler embeds, hashes into the language-1.2 semantics, and generates the Lean of every verification from. The one Lean text a generated library module carries beside its data is the decoder of core module 2, which loads native modules. Given the preservation library project, its registry, and the native modules the compiler embeds When the project's files are listed and the registry, the declarations, and the correspondence are read from the native data Then every listed module has exactly one native source and the project holds no Lean file, and no Lean file in the release tree declares the library's namespace diff --git a/features/suites/runtime.feature b/features/suites/runtime.feature new file mode 100644 index 000000000..3068ad0aa --- /dev/null +++ b/features/suites/runtime.feature @@ -0,0 +1,32 @@ +Feature: runtime + + The runtime of generated Lean as native modules, and the frozen runtime text of languages 1.0 and 1.1 (§17.12). + + @RT-01 @build + Scenario: The runtime of language 1.2 is LexLean source: every module of its registry is one native core module of the runtime's own project, which holds no file of Lean source, the registry lists only the modules in dependency order, every declaration pins its exact axioms, and a source that is missing, weakened to an inexact policy, or imports anything but `Init` and an earlier runtime module is refused; the one-time migration input is absent, no native source names a runtime copy inside a module, and no Lean file declares a runtime namespace but the released output of a language-1.0 or 1.1 project. + Given the runtime project, its registry, and the native modules the compiler embeds + When the project's files, the registry, and every native source of the repository are read + Then every listed module has exactly one embedded native source, the project holds no Lean file, and the registry names no declaration + And a native source that is missing, weakened to an inexact policy, or imports outside the runtime is refused + And no native source names `.LexLeanRuntime.x`, and only the released output of a frozen language declares a runtime namespace + + @RT-02 @build + Scenario: The runtime text of languages 1.0 and 1.1 is the one declared exception: the portable runtime and the decoder of core module 1 are the released bytes, held as data under `language/runtime-1.2/frozen/`, read by the language-1.0 and 1.1 backends alone, excluded from the language-1.0 and 1.1 identities, and reproduced byte for byte by the released language-1.1 and 1.0 output; a one-byte change of either is not the released output. + Given the frozen runtime bytes the compiler embeds and the committed language-1.0 and 1.1 goldens + When each frozen text is compared with the released modules that splice it + Then each is embedded as it is on disk and appears verbatim in the released output + And a one-byte change of either does not, and the language-1.0 and 1.1 identities exclude them + + @RT-03 @build + Scenario: A verification compiles every runtime module that a project's generated modules, or the calculus modules its certificates are checked against, import before the project's modules, replays it with `leanchecker`, and audits each of its declarations against the axioms its row pins; the committed verification of a project that uses the collections prints them, the runtime's own project verifies under the pinned Lean, and a row that pins another axiom set than its declaration observes fails with LLV7005. + Given the committed verification of the collections example and the runtime's own project + When the runtime project is verified, and verified again with one row pinning an axiom its declaration does not use + Then the committed audit names the runtime's declarations and the runtime project verifies + And the planted row fails with LLV7005 + + @RT-04 @build + Scenario: No Lean runtime text remains in the language-1.2 compiler: a generated language-1.2 module imports the runtime modules it uses and splices none, and the only string literal of the compiler's source that holds Lean declarations under a namespace is the decoder of core module 2, which loads native modules and so cannot be one; a planted runtime text constant, raw or escaped, is found. + Given the source of the compiler + When every string literal outside its unit tests is read for Lean declarations under a namespace + Then the only one is the decoder of core module 2 + And a runtime text constant planted in the semantic backend, raw or escaped, is found diff --git a/features/suites/verification.feature b/features/suites/verification.feature index 9ccc88292..7f0344b5d 100644 --- a/features/suites/verification.feature +++ b/features/suites/verification.feature @@ -133,7 +133,7 @@ Feature: verification And neither JSON status is `verified` and neither stdout contains `kernel-checked` @VR-19 @build - Scenario: The native Atlas source graph is self-contained: every generated Atlas module publicly depends only on Init and the generated graph, its only backend-support import is Lean, and no independently authored Atlas implementation exists. + Scenario: The native Atlas source graph is self-contained: every generated Atlas module publicly depends only on Init and the generated graph, its only backend-support import is Lean, and no independently authored Atlas implementation exists. The one Lean text a generated Atlas module carries beside its data is the decoder of core module 1: the released language-1.0 bytes, held as the frozen data `language/runtime-1.2/frozen/core-decoder-1.txt`, the one declared exception to Lean generated from native modules. Given the committed native Atlas source and generated module graph When the release tree is audited without the completed one-time migration inputs Then every native source module has exactly one generated Lean module diff --git a/language/preservation-1.2/library/src/Compose.lex.tex b/language/preservation-1.2/library/src/Compose.lex.tex index 315a6440b..4f118672d 100644 --- a/language/preservation-1.2/library/src/Compose.lex.tex +++ b/language/preservation-1.2/library/src/Compose.lex.tex @@ -1273,10 +1273,7 @@ @882 := Option.{0} @883 := @882 @868 @884 := @881 @883 -@891 := LexLeanTarget.TargetSemantics.LexLeanRuntime.index - (@31 @868) - @868 - (LexLeanTarget.TargetSemantics.LexLeanRuntime.instIndexableList @868) +@891 := LexLeanRuntime.index (@31 @868) @868 (LexLeanRuntime.instIndexableList @868) @892 := LexLeanTarget.TargetSyntax.Program.functions @896 := @884 (@891 (@892 @38) @26) @897 := Option.some.{0} diff --git a/language/preservation-1.2/library/src/Core.lex.tex b/language/preservation-1.2/library/src/Core.lex.tex index ad4097b83..fc78ba20d 100644 --- a/language/preservation-1.2/library/src/Core.lex.tex +++ b/language/preservation-1.2/library/src/Core.lex.tex @@ -749,9 +749,9 @@ reducibility: abbrev{}, transparency: semireducible } -abbrev _private.LexLeanPreservation.Core.#0.LexLeanTarget.TargetSemantics.primitive.match_17.splitter.{u_1} : @2528 := @2529 { +abbrev _private.LexLeanPreservation.Core.#0.LexLeanTarget.TargetSemantics.primitive.match_19.splitter.{u_1} : @2528 := @2529 { all: [ - "_private.LexLeanPreservation.Core.#0.LexLeanTarget.TargetSemantics.primitive.match_17.splitter" + "_private.LexLeanPreservation.Core.#0.LexLeanTarget.TargetSemantics.primitive.match_19.splitter" ], class: false, compiled: true, @@ -1867,27 +1867,27 @@ policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.Core.#0.LexLeanTarget.TargetSemantics.primitive.match_13.eq_1.{u_1} : @37752 := @37757 { +theorem _private.LexLeanPreservation.Core.#0.LexLeanTarget.TargetSemantics.primitive.match_15.eq_1.{u_1} : @37752 := @37757 { all: [ - "_private.LexLeanPreservation.Core.#0.LexLeanTarget.TargetSemantics.primitive.match_13.eq_1" + "_private.LexLeanPreservation.Core.#0.LexLeanTarget.TargetSemantics.primitive.match_15.eq_1" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.Core.#0.LexLeanTarget.TargetSemantics.primitive.match_13.eq_2.{u_1} : @37773 := @37779 { +theorem _private.LexLeanPreservation.Core.#0.LexLeanTarget.TargetSemantics.primitive.match_15.eq_2.{u_1} : @37773 := @37779 { all: [ - "_private.LexLeanPreservation.Core.#0.LexLeanTarget.TargetSemantics.primitive.match_13.eq_2" + "_private.LexLeanPreservation.Core.#0.LexLeanTarget.TargetSemantics.primitive.match_15.eq_2" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -abbrev _private.LexLeanPreservation.Core.#0.LexLeanTarget.TargetSemantics.primitive.match_13.splitter.{u_1} : @37783 := @37743 { +abbrev _private.LexLeanPreservation.Core.#0.LexLeanTarget.TargetSemantics.primitive.match_15.splitter.{u_1} : @37783 := @37743 { all: [ - "_private.LexLeanPreservation.Core.#0.LexLeanTarget.TargetSemantics.primitive.match_13.splitter" + "_private.LexLeanPreservation.Core.#0.LexLeanTarget.TargetSemantics.primitive.match_15.splitter" ], class: false, compiled: true, @@ -1897,18 +1897,18 @@ reducibility: abbrev{}, transparency: semireducible } -theorem _private.LexLeanPreservation.Core.#0.LexLeanTarget.TargetSemantics.primitive.match_17.eq_1.{u_1} : @37797 := @37802 { +theorem _private.LexLeanPreservation.Core.#0.LexLeanTarget.TargetSemantics.primitive.match_19.eq_1.{u_1} : @37797 := @37802 { all: [ - "_private.LexLeanPreservation.Core.#0.LexLeanTarget.TargetSemantics.primitive.match_17.eq_1" + "_private.LexLeanPreservation.Core.#0.LexLeanTarget.TargetSemantics.primitive.match_19.eq_1" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.Core.#0.LexLeanTarget.TargetSemantics.primitive.match_17.eq_2.{u_1} : @37814 := @37820 { +theorem _private.LexLeanPreservation.Core.#0.LexLeanTarget.TargetSemantics.primitive.match_19.eq_2.{u_1} : @37814 := @37820 { all: [ - "_private.LexLeanPreservation.Core.#0.LexLeanTarget.TargetSemantics.primitive.match_17.eq_2" + "_private.LexLeanPreservation.Core.#0.LexLeanTarget.TargetSemantics.primitive.match_19.eq_2" ], class: false, generated: false, @@ -2117,9 +2117,9 @@ @241 := And @242 := @62 @239 @243 := @104 @242 -@244 := LexLeanTarget.TargetSemantics.LexLeanRuntime.index +@244 := LexLeanRuntime.index @247 := @244 (@91 @239) @239 -@248 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instIndexableList +@248 := LexLeanRuntime.instIndexableList @250 := @247 (@248 @239) @251 := LexLeanTarget.TargetSyntax.Program.functions @255 := @243 (@250 (@251 @22) @8) @@ -2933,18 +2933,14 @@ @1683 := LexLeanTarget.TargetSemantics.eval.match_3.{1} @1685 := @1683 (fun (x._@.LexLeanTarget.TargetSemantics.#41623050._hygCtx._hyg.#1402 : @261) => @4) @1687 := @263 (@264 @12) -@1692 := LexLeanTarget.TargetSemantics.LexLeanRuntime.append - @146 - (LexLeanTarget.TargetSemantics.LexLeanRuntime.instAppendableList @1) +@1692 := LexLeanRuntime.append @146 (LexLeanRuntime.instAppendableList @1) @1698 := @1685 (@1687 (@1692 @8 @111) @269) @1608 @1699 := @107 @1677 @1700 := #12 @1704 := @1178 (@1699 @1700 @12 @280) @1705 := @318 @38 @1709 := @318 (@318 (@1705 @111) @325) -@1714 := LexLeanTarget.TargetSemantics.LexLeanRuntime.length - @146 - (LexLeanTarget.TargetSemantics.LexLeanRuntime.instLengthableList @1) +@1714 := LexLeanRuntime.length @146 (LexLeanRuntime.instLengthableList @1) @1716 := @1709 (@1714 @22) @1724 := @1673 (fun (operandValues : @146) => @@ -3197,7 +3193,7 @@ fun (x._@.LexLeanTarget.TargetSyntax.#1953721060._hygCtx.#44.LexLeanTarget.TargetSemantics.#41623050._hygCtx._hyg.#2414 : @1) => @23 @2008 := @2005 @2007 -@2009 := LexLeanTarget.TargetSemantics.primitive.match_13.{1} +@2009 := LexLeanTarget.TargetSemantics.primitive.match_15.{1} @2010 := @62 @1 @2012 := @2009 (fun (x._@.LexLeanTarget.TargetSemantics.#41623050._hygCtx._hyg.#2445 : @2010) => @4) @2016 := @244 @146 @1 (@248 @1) @@ -3441,7 +3437,7 @@ @2385 := @2382 @111 @10 @12 @2388 := @2380 (@2381 @2385 @8) @2389 := @1188 @2388 -@2390 := LexLeanTarget.TargetSemantics.primitive.match_17.{1} +@2390 := LexLeanTarget.TargetSemantics.primitive.match_19.{1} @2391 := @62 @146 @2393 := @2390 (fun (x._@.LexLeanTarget.TargetSemantics.#41623050._hygCtx._hyg.#2990 : @2391) => @4) @2394 := LexLeanTarget.TargetSemantics.destruct @@ -3528,7 +3524,7 @@ @2528 := (motive : @2517) -> (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#33438 : @2391) -> (h_1 : @2520) -> (h_2 : @2524) -> @473 -@2529 := LexLeanTarget.TargetSemantics.primitive.match_17.{u_1} +@2529 := LexLeanTarget.TargetSemantics.primitive.match_19.{u_1} @2532 := @2122 @111 @10 @12 @2534 := @1177 @2532 @27 @2535 := @318 @22 @@ -10888,7 +10884,7 @@ proof(proof(@15069 proof(@15072 proof(proof(proof(proof(proof(@15076 @3370) @427) @22) @8) @111))) proof(proof(proof(proof(proof(@15076 @3368) @427) @22) @8) @111)))) -@15092 := proof(_private.LexLeanPreservation.Core.#0.LexLeanTarget.TargetSemantics.primitive.match_17.splitter.{0}) +@15092 := proof(_private.LexLeanPreservation.Core.#0.LexLeanTarget.TargetSemantics.primitive.match_19.splitter.{0}) @15093 := @104 @2391 @15096 := proof(@15093 proof(proof(@2394 @26) @1700)) @15097 := proof(@15096 @12) @@ -25081,7 +25077,7 @@ @37740 := (item : @1) -> @111 @31117 @37741 := @111 @37736 @37742 := @33892 @37741 -@37743 := LexLeanTarget.TargetSemantics.primitive.match_13.{u_1} +@37743 := LexLeanTarget.TargetSemantics.primitive.match_15.{u_1} @37747 := @37743 @111 @37736 @10 @12 @37752 := (motive : @37735) -> (h_1 : @37738) -> (h_2 : @37740) -> @37742 @37747 @52 @37757 := proof(fun (motive._@._hyg.#3 : @37735) => diff --git a/language/preservation-1.2/library/src/Fixed.lex.tex b/language/preservation-1.2/library/src/Fixed.lex.tex index 88e8a13f9..167e194c4 100644 --- a/language/preservation-1.2/library/src/Fixed.lex.tex +++ b/language/preservation-1.2/library/src/Fixed.lex.tex @@ -3843,7 +3843,7 @@ @93 := instOfNatNat @95 := proof(@92 proof(@93 @91)) @96 := @11 @95 -@97 := proof(LexLeanTarget.TargetSemantics.LexLeanRuntime.magnitudeInt64) +@97 := proof(LexLeanRuntime.magnitudeInt64) @98 := proof(@97 @30) @99 := @96 @98 @100 := proof(@97 @6) @@ -3857,7 +3857,7 @@ @111 := proof(fun ("_" : @5) => @110) @112 := @109 @111 @113 := @12 @48 -@114 := proof(LexLeanTarget.TargetSemantics.LexLeanRuntime.signedMagnitudeInt64) +@114 := proof(LexLeanRuntime.signedMagnitudeInt64) @118 := proof(fun (value : @1) => proof(@113 proof(proof(@114 @30) @14))) @123 := fun (mm : @47) => fun (left : @48) => fun (right : @48) => have negative : @42 := @86; @112 @118 @@ -3922,9 +3922,9 @@ @217 := proof(LexLeanPreservation.decimalFits.match_1.{1}) @219 := proof(@217 proof(fun (x._@.LexLeanPreservation.Fixed.#3868683585._hygCtx._hyg.#16 : @191) => @42)) -@220 := LexLeanTarget.TargetSemantics.LexLeanRuntime.parseDecimal +@220 := LexLeanRuntime.parseDecimal @221 := @220 @190 -@222 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instDecimalInt +@222 := LexLeanRuntime.instDecimalInt @223 := @221 @222 @224 := @223 @14 @225 := @219 @224 @@ -4023,7 +4023,7 @@ @432 := Nat.below.{0} @437 := @284 @25 @11 @6 @30 @14 @438 := @389 @437 -@439 := LexLeanTarget.TargetSemantics.LexLeanRuntime.divideMagnitudeInt64 +@439 := LexLeanRuntime.divideMagnitudeInt64 @444 := @439 @25 @11 @6 @30 @14 @452 := @432 (fun (x._@.LexLeanPreservation.Fixed.#2001401917._hygCtx._hyg.#80 : @41) => @@ -4291,7 +4291,7 @@ @934 := (f : @41) -> (s : @1) -> (m : @1) -> (a : @1) -> (n : @42) -> @921 (@922 @276 @25 @11 @6 @30 @14) @935 := @913 @437 -@936 := LexLeanTarget.TargetSemantics.LexLeanRuntime.multiplyMagnitudeInt64 +@936 := LexLeanRuntime.multiplyMagnitudeInt64 @941 := @936 @25 @11 @6 @30 @14 @949 := @432 (fun (x._@.LexLeanPreservation.Fixed.#2066290204._hygCtx._hyg.#82 : @41) => @@ -4519,9 +4519,9 @@ @1409 := @12 @1387 @1410 := LexLeanPreservation.Rel @1411 := @1410 @143 -@1412 := LexLeanTarget.TargetSemantics.LexLeanRuntime.bitAnd +@1412 := LexLeanRuntime.bitAnd @1413 := @1412 @1386 -@1414 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instFixedInt16 +@1414 := LexLeanRuntime.instFixedInt16 @1423 := (a : @1386) -> (b : @1386) -> @1408 (@1409 (@1411 (@1397 (@1413 @1414 @30 @14)))) @1425 := proof(proof(rfl.{1}) @1388) @1428 := proof(fun (a : @1386) => proof(fun (b : @1386) => proof(@1425 @1407))) @@ -4534,7 +4534,7 @@ @1438 := @1390 (@1393 @1436) @1439 := @1389 @1438 @1440 := @1412 @1429 -@1441 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instFixedInt32 +@1441 := LexLeanRuntime.instFixedInt32 @1450 := (a : @1429) -> (b : @1429) -> @1439 (@1409 (@1411 (@1430 (@1440 @1441 @30 @14)))) @1453 := proof(fun (a : @1429) => proof(fun (b : @1429) => proof(@1425 @1438))) @1454 := LexLeanTarget.TargetSyntax.Value.i64 @@ -4545,7 +4545,7 @@ @1462 := @1390 (@1393 @1460) @1463 := @1389 @1462 @1464 := @1412 @48 -@1465 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instFixedInt64 +@1465 := LexLeanRuntime.instFixedInt64 @1474 := (a : @48) -> (b : @48) -> @1463 (@1409 (@1411 (@1454 (@1464 @1465 @30 @14)))) @1477 := proof(fun (a : @48) => proof(fun (b : @48) => proof(@1425 @1462))) @1478 := Int8 @@ -4557,7 +4557,7 @@ @1487 := @1390 (@1393 @1485) @1488 := @1389 @1487 @1489 := @1412 @1478 -@1490 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instFixedInt8 +@1490 := LexLeanRuntime.instFixedInt8 @1499 := (a : @1478) -> (b : @1478) -> @1488 (@1409 (@1411 (@1479 (@1489 @1490 @30 @14)))) @1502 := proof(fun (a : @1478) => proof(fun (b : @1478) => proof(@1425 @1487))) @1503 := UInt16 @@ -4569,7 +4569,7 @@ @1512 := @1390 (@1393 @1510) @1513 := @1389 @1512 @1514 := @1412 @1503 -@1515 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instFixedUInt16 +@1515 := LexLeanRuntime.instFixedUInt16 @1524 := (a : @1503) -> (b : @1503) -> @1513 (@1409 (@1411 (@1504 (@1514 @1515 @30 @14)))) @1527 := proof(fun (a : @1503) => proof(fun (b : @1503) => proof(@1425 @1512))) @1528 := UInt32 @@ -4581,7 +4581,7 @@ @1537 := @1390 (@1393 @1535) @1538 := @1389 @1537 @1539 := @1412 @1528 -@1540 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instFixedUInt32 +@1540 := LexLeanRuntime.instFixedUInt32 @1549 := (a : @1528) -> (b : @1528) -> @1538 (@1409 (@1411 (@1529 (@1539 @1540 @30 @14)))) @1552 := proof(fun (a : @1528) => proof(fun (b : @1528) => proof(@1425 @1537))) @1553 := LexLeanTarget.TargetSyntax.Value.u64 @@ -4592,7 +4592,7 @@ @1561 := @1390 (@1393 @1559) @1562 := @1389 @1561 @1563 := @1412 @1 -@1564 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instFixedUInt64 +@1564 := LexLeanRuntime.instFixedUInt64 @1573 := (a : @1) -> (b : @1) -> @1562 (@1409 (@1411 (@1553 (@1563 @1564 @30 @14)))) @1576 := proof(fun (a : @1) => proof(fun (b : @1) => proof(@1425 @1561))) @1577 := UInt8 @@ -4604,13 +4604,13 @@ @1586 := @1390 (@1393 @1584) @1587 := @1389 @1586 @1588 := @1412 @1577 -@1589 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instFixedUInt8 +@1589 := LexLeanRuntime.instFixedUInt8 @1598 := (a : @1577) -> (b : @1577) -> @1587 (@1409 (@1411 (@1578 (@1588 @1589 @30 @14)))) @1601 := proof(fun (a : @1577) => proof(fun (b : @1577) => proof(@1425 @1586))) @1603 := @1391 LexLeanTarget.TargetSyntax.Prim.bitNot @1605 := @1390 (@1603 @1404) @1606 := @1389 @1605 -@1607 := LexLeanTarget.TargetSemantics.LexLeanRuntime.bitNot +@1607 := LexLeanRuntime.bitNot @1615 := (a : @1386) -> @1606 (@1409 (@1411 (@1397 (@1607 @1386 @1414 @14)))) @1617 := proof(fun (a : @1386) => proof(@1425 @1605)) @1619 := @1390 (@1603 @1435) @@ -4637,7 +4637,7 @@ @1710 := @1391 LexLeanTarget.TargetSyntax.Prim.bitOr @1712 := @1390 (@1710 @1405) @1713 := @1389 @1712 -@1714 := LexLeanTarget.TargetSemantics.LexLeanRuntime.bitOr +@1714 := LexLeanRuntime.bitOr @1724 := (a : @1386) -> (b : @1386) -> @1713 (@1409 (@1411 (@1397 (@1714 @1386 @1414 @30 @14)))) @1727 := proof(fun (a : @1386) => proof(fun (b : @1386) => proof(@1425 @1712))) @1729 := @1390 (@1710 @1436) @@ -4669,7 +4669,7 @@ @1841 := @1391 LexLeanTarget.TargetSyntax.Prim.bitXor @1843 := @1390 (@1841 @1405) @1844 := @1389 @1843 -@1845 := LexLeanTarget.TargetSemantics.LexLeanRuntime.bitXor +@1845 := LexLeanRuntime.bitXor @1855 := (a : @1386) -> (b : @1386) -> @1844 (@1409 (@1411 (@1397 (@1845 @1386 @1414 @30 @14)))) @1858 := proof(fun (a : @1386) => proof(fun (b : @1386) => proof(@1425 @1843))) @1860 := @1390 (@1841 @1436) @@ -4718,7 +4718,7 @@ @1999 := @1389 (@1390 (@1996 @1405)) @2000 := LexLeanPreservation.encOption @2002 := @2000 @1386 @1397 -@2003 := LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedAdd +@2003 := LexLeanRuntime.checkedAdd @2005 := @2003 @1386 @1414 @2007 := @2005 @30 @14 @2011 := @1999 (@1409 (@1411 (@2002 @2007))) @@ -4860,7 +4860,7 @@ @2242 (fun (val._@.LexLeanPreservation.Fixed.#1511081506._hygCtx._hyg.#83 : @48) => @34) @2251 := @1389 (@1390 (@1996 @1460)) @2253 := @2000 @48 @1454 -@2254 := LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedAddInt64 +@2254 := LexLeanRuntime.checkedAddInt64 @2256 := @2254 @30 @14 @2260 := @2251 (@1409 (@1411 (@2253 @2256))) @2262 := (a : @48) -> (b : @48) -> @2260 @@ -5241,7 +5241,7 @@ @1988 (fun (val._@.LexLeanPreservation.Fixed.#2520646439._hygCtx._hyg.#83 : @1386) => @34) @2945 := @1391 LexLeanTarget.TargetSyntax.Prim.checkedMul @2948 := @1389 (@1390 (@2945 @1405)) -@2949 := LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedMultiply +@2949 := LexLeanRuntime.checkedMultiply @2951 := @2949 @1386 @1414 @2953 := @2951 @30 @14 @2957 := @2948 (@1409 (@1411 (@2002 @2953))) @@ -5339,7 +5339,7 @@ @3140 := (mm : @47) -> (h0 : @920) -> (hs : @934) -> (a : @48) -> (b : @48) -> @3127 (@1409 (@1411 (@2253 @3131))) @3141 := proof(@2265 @3131) -@3142 := proof(LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedMultiplyInt64) +@3142 := proof(LexLeanRuntime.checkedMultiplyInt64) @3144 := proof(proof(@3142 @30) @14) @3145 := proof(@3141 @3144) @3146 := proof(@566 @3145) @@ -5705,7 +5705,7 @@ @1988 (fun (val._@.LexLeanPreservation.Fixed.#3745472986._hygCtx._hyg.#77 : @1386) => @34) @3820 := @1391 LexLeanTarget.TargetSyntax.Prim.checkedNeg @3823 := @1389 (@1390 (@3820 @1404)) -@3824 := LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedNegate +@3824 := LexLeanRuntime.checkedNegate @3826 := @3824 @1386 @1414 @3827 := @3826 @14 @3831 := @3823 (@1409 (@1411 (@2002 @3827))) @@ -5796,7 +5796,7 @@ fun (h_2 : @2233) => @2242 (fun (val._@.LexLeanPreservation.Fixed.#1109204030._hygCtx._hyg.#77 : @48) => @34) @3992 := @1389 (@1390 (@3820 @1459)) -@3993 := LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedNegateInt64 +@3993 := LexLeanRuntime.checkedNegateInt64 @3994 := @3993 @14 @3998 := @3992 (@1409 (@1411 (@2253 @3994))) @3999 := (a : @48) -> @3998 @@ -5887,7 +5887,7 @@ @1988 (fun (val._@.LexLeanPreservation.Fixed.#146566966._hygCtx._hyg.#83 : @1386) => @34) @4158 := @1391 LexLeanTarget.TargetSyntax.Prim.checkedQuot @4161 := @1389 (@1390 (@4158 @1405)) -@4162 := LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedQuotient +@4162 := LexLeanRuntime.checkedQuotient @4164 := @4162 @1386 @1414 @4166 := @4164 @30 @14 @4170 := @4161 (@1409 (@1411 (@2002 @4166))) @@ -5985,7 +5985,7 @@ @4353 := (dm : @128) -> (h0 : @400) -> (hs : @431) -> (a : @48) -> (b : @48) -> @4340 (@1409 (@1411 (@2253 @4344))) @4354 := proof(@2265 @4344) -@4355 := proof(LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedQuotientInt64) +@4355 := proof(LexLeanRuntime.checkedQuotientInt64) @4357 := proof(proof(@4355 @30) @14) @4358 := proof(@4354 @4357) @4359 := proof(@566 @4358) @@ -6360,7 +6360,7 @@ @1988 (fun (val._@.LexLeanPreservation.Fixed.#1888020707._hygCtx._hyg.#83 : @1386) => @34) @5056 := @1391 LexLeanTarget.TargetSyntax.Prim.checkedSub @5059 := @1389 (@1390 (@5056 @1405)) -@5060 := LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedSubtract +@5060 := LexLeanRuntime.checkedSubtract @5062 := @5060 @1386 @1414 @5064 := @5062 @30 @14 @5068 := @5059 (@1409 (@1411 (@2002 @5064))) @@ -6453,7 +6453,7 @@ fun (h_2 : @2233) => @2242 (fun (val._@.LexLeanPreservation.Fixed.#2588844300._hygCtx._hyg.#83 : @48) => @34) @5238 := @1389 (@1390 (@5056 @1460)) -@5239 := LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedSubtractInt64 +@5239 := LexLeanRuntime.checkedSubtractInt64 @5241 := @5239 @30 @14 @5245 := @5238 (@1409 (@1411 (@2253 @5241))) @5247 := (a : @48) -> (b : @48) -> @5245 @@ -6732,10 +6732,10 @@ @5770 := LexLeanTarget.TargetSyntax.IntKind.i16 @5772 := @1391 (@5769 @5770) @5775 := @1389 (@1390 (@5772 @1404)) -@5776 := LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedConvert +@5776 := LexLeanRuntime.checkedConvert @5777 := @5776 @1386 @5778 := @5777 @1386 -@5779 := LexLeanTarget.TargetSemantics.LexLeanRuntime.Fixed.toToMathInt +@5779 := LexLeanRuntime.Fixed.toToMathInt @5781 := @5779 @1386 @1414 @5783 := @5778 @5781 @1414 @5784 := @5783 @14 @@ -8204,7 +8204,7 @@ @8534 := @1389 (@1390 (@5772 @8531)) @8535 := @5776 @190 @8536 := @8535 @1386 -@8537 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instToMathIntInt +@8537 := LexLeanRuntime.instToMathIntInt @8539 := @8536 @8537 @1414 @8540 := @8539 @14 @8544 := @8534 (@1409 (@1411 (@2002 @8540))) @@ -10014,7 +10014,7 @@ @11940 := @1390 (@11938 @1405) @11941 := @1389 @11940 @11942 := LexLeanTarget.TargetSyntax.Value.bool -@11943 := LexLeanTarget.TargetSemantics.LexLeanRuntime.equal +@11943 := LexLeanRuntime.equal @11956 := (a : @1386) -> (b : @1386) -> @11941 (@1409 (@1411 (@11942 (@11943 @1386 (@55 @1386 instDecidableEqInt16) @30 @14)))) @@ -10056,9 +10056,9 @@ @12093 := @1390 (@12091 @1404) @12094 := @1389 @12093 @12095 := LexLeanTarget.TargetSyntax.Value.string -@12096 := LexLeanTarget.TargetSemantics.LexLeanRuntime.formatDecimal +@12096 := LexLeanRuntime.formatDecimal @12097 := @12096 @1386 -@12098 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instDecimalOfFixedOfToString +@12098 := LexLeanRuntime.instDecimalOfFixedOfToString @12102 := @12098 @1386 @1414 instToStringInt16 @12109 := (a : @1386) -> @12094 (@1409 (@1411 (@12095 (@12097 @12102 @14)))) @12111 := proof(fun (a : @1386) => proof(@1425 @12093)) @@ -10628,7 +10628,7 @@ @13205 := @1391 LexLeanTarget.TargetSyntax.Prim.shiftLeft @13206 := @1399 @1534 @13209 := @1389 (@1390 (@13205 @13206)) -@13210 := LexLeanTarget.TargetSemantics.LexLeanRuntime.shiftLeft +@13210 := LexLeanRuntime.shiftLeft @13212 := @13210 @1386 @1414 @13214 := @13212 @30 @14 @13218 := @13209 (@1409 (@1411 (@2002 @13214))) @@ -11004,7 +11004,7 @@ @1988 (fun (val._@.LexLeanPreservation.Fixed.#1327459530._hygCtx._hyg.#83 : @1386) => @34) @13927 := @1391 LexLeanTarget.TargetSyntax.Prim.shiftRight @13930 := @1389 (@1390 (@13927 @13206)) -@13931 := LexLeanTarget.TargetSemantics.LexLeanRuntime.shiftRight +@13931 := LexLeanRuntime.shiftRight @13933 := @13931 @1386 @1414 @13935 := @13933 @30 @14 @13939 := @13930 (@1409 (@1411 (@2002 @13935))) diff --git a/language/preservation-1.2/library/src/Keys.lex.tex b/language/preservation-1.2/library/src/Keys.lex.tex index 090bd9964..8595201f6 100644 --- a/language/preservation-1.2/library/src/Keys.lex.tex +++ b/language/preservation-1.2/library/src/Keys.lex.tex @@ -412,49 +412,47 @@ policy: exact{axioms: [Classical.choice, Quot.sound, propext]}, transparency: semireducible } -theorem LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes._sparseCasesOn_1.else_eq.{u} : @4713 := @4848 { - all: [LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes._sparseCasesOn_1.else_eq], +theorem LexLeanCollections.compareCodes._sparseCasesOn_1.else_eq.{u} : @4713 := @4848 { + all: [LexLeanCollections.compareCodes._sparseCasesOn_1.else_eq], class: false, generated: false, policy: exact{axioms: [propext]}, transparency: semireducible } -theorem LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_1 : @4850 := @4851 { - all: [LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_1], +theorem LexLeanCollections.compareCodes.eq_1 : @4850 := @4851 { + all: [LexLeanCollections.compareCodes.eq_1], class: false, generated: false, policy: exact{axioms: [propext]}, tags: [backward_defeq], transparency: semireducible } -theorem LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_2 : @4856 := @4859 { - all: [LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_2], +theorem LexLeanCollections.compareCodes.eq_2 : @4856 := @4859 { + all: [LexLeanCollections.compareCodes.eq_2], class: false, generated: false, policy: exact{axioms: [propext]}, tags: [backward_defeq], transparency: semireducible } -theorem LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_3 : @4865 := @4868 { - all: [LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_3], +theorem LexLeanCollections.compareCodes.eq_3 : @4865 := @4868 { + all: [LexLeanCollections.compareCodes.eq_3], class: false, generated: false, policy: exact{axioms: [propext]}, tags: [backward_defeq], transparency: semireducible } -theorem LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_4 : @4880 := @4885 { - all: [LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_4], +theorem LexLeanCollections.compareCodes.eq_4 : @4880 := @4885 { + all: [LexLeanCollections.compareCodes.eq_4], class: false, generated: false, policy: exact{axioms: [propext]}, tags: [backward_defeq], transparency: semireducible } -abbrev _private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.match_4.splitter.{u_1} : @4902 := @4903 { - all: [ - "_private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.match_4.splitter" - ], +abbrev _private.LexLeanPreservation.Keys.#0.LexLeanCollections.compareCodes.match_4.splitter.{u_1} : @4902 := @4903 { + all: ["_private.LexLeanPreservation.Keys.#0.LexLeanCollections.compareCodes.match_4.splitter"], class: false, compiled: true, generated: false, @@ -463,33 +461,31 @@ reducibility: abbrev{}, transparency: semireducible } -theorem LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_def : @4926 := @5379 { - all: [LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.eq_def], +theorem LexLeanCollections.compareCodes.eq_def : @4926 := @5379 { + all: [LexLeanCollections.compareCodes.eq_def], class: false, generated: false, policy: exact{axioms: [propext]}, transparency: semireducible } -theorem LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_1 : @5405 := @5412 { - all: [LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_1], +theorem LexLeanCollections.insertEntry.eq_1 : @5405 := @5412 { + all: [LexLeanCollections.insertEntry.eq_1], class: false, generated: false, policy: exact{axioms: []}, tags: [backward_defeq], transparency: semireducible } -theorem LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_2 : @5472 := @5482 { - all: [LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_2], +theorem LexLeanCollections.insertEntry.eq_2 : @5472 := @5482 { + all: [LexLeanCollections.insertEntry.eq_2], class: false, generated: false, policy: exact{axioms: []}, tags: [backward_defeq], transparency: semireducible } -abbrev _private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.match_3.splitter.{u_1} : @5501 := @5502 { - all: [ - "_private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.match_3.splitter" - ], +abbrev _private.LexLeanPreservation.Keys.#0.LexLeanCollections.insertEntry.match_3.splitter.{u_1} : @5501 := @5502 { + all: ["_private.LexLeanPreservation.Keys.#0.LexLeanCollections.insertEntry.match_3.splitter"], class: false, compiled: true, generated: false, @@ -498,8 +494,8 @@ reducibility: abbrev{}, transparency: semireducible } -theorem LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_def : @5571 := @6401 { - all: [LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.eq_def], +theorem LexLeanCollections.insertEntry.eq_def : @5571 := @6401 { + all: [LexLeanCollections.insertEntry.eq_def], class: false, generated: false, policy: exact{axioms: []}, @@ -3172,18 +3168,16 @@ policy: exact{axioms: [Classical.choice, Quot.sound, propext]}, transparency: semireducible } -theorem _private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.match_1.eq_1.{u_1} : @13991 := @13997 { - all: [ - "_private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.match_1.eq_1" - ], +theorem _private.LexLeanPreservation.Keys.#0.LexLeanCollections.compareCodes.match_1.eq_1.{u_1} : @13991 := @13997 { + all: ["_private.LexLeanPreservation.Keys.#0.LexLeanCollections.compareCodes.match_1.eq_1"], class: false, generated: false, policy: exact{axioms: [propext]}, transparency: semireducible } -abbrev _private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.match_1.splitter._sparseCasesOn_2.{u} : @14001 := @14035 { +abbrev _private.LexLeanPreservation.Keys.#0.LexLeanCollections.compareCodes.match_1.splitter._sparseCasesOn_2.{u} : @14001 := @14035 { all: [ - "_private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.match_1.splitter._sparseCasesOn_2" + "_private.LexLeanPreservation.Keys.#0.LexLeanCollections.compareCodes.match_1.splitter._sparseCasesOn_2" ], class: false, generated: false, @@ -3193,19 +3187,15 @@ tags: [sparse_cases_on], transparency: reducible } -theorem _private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.match_1.eq_2.{u_1} : @14054 := @14177 { - all: [ - "_private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.match_1.eq_2" - ], +theorem _private.LexLeanPreservation.Keys.#0.LexLeanCollections.compareCodes.match_1.eq_2.{u_1} : @14054 := @14177 { + all: ["_private.LexLeanPreservation.Keys.#0.LexLeanCollections.compareCodes.match_1.eq_2"], class: false, generated: false, policy: exact{axioms: [propext]}, transparency: semireducible } -abbrev _private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.match_1.splitter.{u_1} : @14184 := @14213 { - all: [ - "_private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.match_1.splitter" - ], +abbrev _private.LexLeanPreservation.Keys.#0.LexLeanCollections.compareCodes.match_1.splitter.{u_1} : @14184 := @14213 { + all: ["_private.LexLeanPreservation.Keys.#0.LexLeanCollections.compareCodes.match_1.splitter"], class: false, compiled: true, generated: false, @@ -3214,73 +3204,57 @@ reducibility: abbrev{}, transparency: semireducible } -theorem _private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.match_4.eq_1.{u_1} : @14243 := @14250 { - all: [ - "_private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.match_4.eq_1" - ], +theorem _private.LexLeanPreservation.Keys.#0.LexLeanCollections.compareCodes.match_4.eq_1.{u_1} : @14243 := @14250 { + all: ["_private.LexLeanPreservation.Keys.#0.LexLeanCollections.compareCodes.match_4.eq_1"], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.match_4.eq_2.{u_1} : @14271 := @14280 { - all: [ - "_private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.match_4.eq_2" - ], +theorem _private.LexLeanPreservation.Keys.#0.LexLeanCollections.compareCodes.match_4.eq_2.{u_1} : @14271 := @14280 { + all: ["_private.LexLeanPreservation.Keys.#0.LexLeanCollections.compareCodes.match_4.eq_2"], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.match_4.eq_3.{u_1} : @14300 := @14309 { - all: [ - "_private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.match_4.eq_3" - ], +theorem _private.LexLeanPreservation.Keys.#0.LexLeanCollections.compareCodes.match_4.eq_3.{u_1} : @14300 := @14309 { + all: ["_private.LexLeanPreservation.Keys.#0.LexLeanCollections.compareCodes.match_4.eq_3"], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.match_4.eq_4.{u_1} : @14349 := @14360 { - all: [ - "_private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.match_4.eq_4" - ], +theorem _private.LexLeanPreservation.Keys.#0.LexLeanCollections.compareCodes.match_4.eq_4.{u_1} : @14349 := @14360 { + all: ["_private.LexLeanPreservation.Keys.#0.LexLeanCollections.compareCodes.match_4.eq_4"], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.match_1.eq_1.{u_1} : @14377 := @14383 { - all: [ - "_private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.match_1.eq_1" - ], +theorem _private.LexLeanPreservation.Keys.#0.LexLeanCollections.insertEntry.match_1.eq_1.{u_1} : @14377 := @14383 { + all: ["_private.LexLeanPreservation.Keys.#0.LexLeanCollections.insertEntry.match_1.eq_1"], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.match_1.eq_2.{u_1} : @14394 := @14400 { - all: [ - "_private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.match_1.eq_2" - ], +theorem _private.LexLeanPreservation.Keys.#0.LexLeanCollections.insertEntry.match_1.eq_2.{u_1} : @14394 := @14400 { + all: ["_private.LexLeanPreservation.Keys.#0.LexLeanCollections.insertEntry.match_1.eq_2"], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.match_1.eq_3.{u_1} : @14411 := @14417 { - all: [ - "_private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.match_1.eq_3" - ], +theorem _private.LexLeanPreservation.Keys.#0.LexLeanCollections.insertEntry.match_1.eq_3.{u_1} : @14411 := @14417 { + all: ["_private.LexLeanPreservation.Keys.#0.LexLeanCollections.insertEntry.match_1.eq_3"], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -abbrev _private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.match_1.splitter.{u_1} : @14419 := @14366 { - all: [ - "_private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.match_1.splitter" - ], +abbrev _private.LexLeanPreservation.Keys.#0.LexLeanCollections.insertEntry.match_1.splitter.{u_1} : @14419 := @14366 { + all: ["_private.LexLeanPreservation.Keys.#0.LexLeanCollections.insertEntry.match_1.splitter"], class: false, compiled: true, generated: false, @@ -3289,19 +3263,15 @@ reducibility: abbrev{}, transparency: semireducible } -theorem _private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.match_3.eq_1.{u_1} : @14445 := @14452 { - all: [ - "_private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.match_3.eq_1" - ], +theorem _private.LexLeanPreservation.Keys.#0.LexLeanCollections.insertEntry.match_3.eq_1.{u_1} : @14445 := @14452 { + all: ["_private.LexLeanPreservation.Keys.#0.LexLeanCollections.insertEntry.match_3.eq_1"], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.match_3.eq_2.{u_1} : @14480 := @14490 { - all: [ - "_private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.match_3.eq_2" - ], +theorem _private.LexLeanPreservation.Keys.#0.LexLeanCollections.insertEntry.match_3.eq_2.{u_1} : @14480 := @14490 { + all: ["_private.LexLeanPreservation.Keys.#0.LexLeanCollections.insertEntry.match_3.eq_2"], class: false, generated: false, policy: exact{axioms: []}, @@ -4012,7 +3982,7 @@ (r : @203) -> (rs : @204) -> (a._@._internal._hyg.#0 : @342) -> @287 (@343 @320 @262) @13 @354 := List.below.{0, 0} @203 @357 := @287 (@224 @32 @24) -@358 := LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes +@358 := LexLeanCollections.compareCodes @359 := @358 @32 @360 := @359 @24 @365 := @354 @@ -4080,7 +4050,7 @@ @455 := proof(proof(@214 @155) @23) @457 := @453 @455 @320 @458 := @287 @457 -@461 := LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.match_1.{1} +@461 := LexLeanCollections.compareCodes.match_1.{1} (fun (x._@.LexLeanTarget.TargetSemantics.#1464907066._hygCtx._hyg.#108 : @0) => @0) @464 := proof(@307 proof(@308 proof(@309 @155))) @466 := proof(@308 proof(@309 @12)) @@ -4806,13 +4776,13 @@ proof(proof(@1524 @13) @24)) @1528))) proof(@544 @1302)))))))))))))))))))) -@1713 := LexLeanTarget.TargetSemantics.LexLeanCollections.Key +@1713 := LexLeanCollections.Key @1714 := @1713 @24 @1715 := @63 @42 @1716 := LexLeanTarget.TargetSemantics.orderOf -@1717 := LexLeanTarget.TargetSemantics.LexLeanCollections.mapValues +@1717 := LexLeanCollections.mapValues @1719 := @1717 @8 @304 -@1720 := LexLeanTarget.TargetSemantics.LexLeanCollections.mapInsert +@1720 := LexLeanCollections.mapInsert @1723 := @1720 @8 @304 @4 @1724 := @1175 @8 @1725 := @1724 @304 @@ -4823,7 +4793,7 @@ @1734 := @1086 @1732 @1735 := @1733 @1734 @1739 := @1715 (@1716 (@1719 (@1731 @1735))) -@1740 := LexLeanTarget.TargetSemantics.LexLeanCollections.Key.compare +@1740 := LexLeanCollections.Key.compare @1744 := @1740 @8 @4 @24 @32 @1746 := @75 (@742 @1744) @1747 := @1739 @1746 @@ -4831,7 +4801,7 @@ [inst._@.LexLeanPreservation.Keys.#3094646647._hygCtx._hyg.#3 : @1714] -> (a : @32) -> (b : @4) -> @1747 @1752 := proof(@437 @1747) -@1753 := LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry +@1753 := LexLeanCollections.insertEntry @1758 := proof(proof(proof(proof(proof(@1753 @8) @304) @4) @24) @1735) @1759 := proof(@213 @1725) @1760 := Prod.mk.{0, 0} @@ -4846,7 +4816,7 @@ @1776 := proof(proof(proof(proof(@1740 @12) @8) @32) @4) @1778 := proof(proof(@287 @1776) @24) @1780 := proof(proof(@1717 @23) @304) -@1781 := LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.match_1.{1} +@1781 := LexLeanCollections.insertEntry.match_1.{1} @1782 := @1175 @155 @1783 := proof(@1782 @304) @1786 := proof(@1781 @@ -4936,7 +4906,7 @@ @1918 := @1715 @1917 @1920 := @1717 @1144 @304 @1922 := @1720 @1144 @304 -@1923 := LexLeanTarget.TargetSemantics.LexLeanCollections.instKeyBool +@1923 := LexLeanCollections.instKeyBool @1924 := @1922 @1923 @1935 := @1716 (@1920 (@1924 (@1924 (@207 (@1175 @1144 @304)) @32 @1088) @24 @1735)) @1938 := (leftKey : @1144) -> (rightKey : @1144) -> @1918 @1935 @@ -5091,7 +5061,7 @@ @2208 := @1715 @2207 @2210 := @1717 @2204 @304 @2212 := @1720 @2204 @304 -@2213 := LexLeanTarget.TargetSemantics.LexLeanCollections.instKeyInt16 +@2213 := LexLeanCollections.instKeyInt16 @2214 := @2212 @2213 @2225 := @1716 (@2210 (@2214 (@2214 (@207 (@1175 @2204 @304)) @32 @1088) @24 @1735)) @2228 := (leftKey : @2204) -> (rightKey : @2204) -> @2208 @2225 @@ -5186,7 +5156,7 @@ @2402 := @1715 @2401 @2404 := @1717 @2398 @304 @2406 := @1720 @2398 @304 -@2407 := LexLeanTarget.TargetSemantics.LexLeanCollections.instKeyInt32 +@2407 := LexLeanCollections.instKeyInt32 @2408 := @2406 @2407 @2419 := @1716 (@2404 (@2408 (@2408 (@207 (@1175 @2398 @304)) @32 @1088) @24 @1735)) @2422 := (leftKey : @2398) -> (rightKey : @2398) -> @2402 @2419 @@ -5275,7 +5245,7 @@ @2587 := @1715 @2586 @2589 := @1717 @2583 @304 @2591 := @1720 @2583 @304 -@2592 := LexLeanTarget.TargetSemantics.LexLeanCollections.instKeyInt64 +@2592 := LexLeanCollections.instKeyInt64 @2593 := @2591 @2592 @2604 := @1716 (@2589 (@2593 (@2593 (@207 (@1175 @2583 @304)) @32 @1088) @24 @1735)) @2607 := (leftKey : @2583) -> (rightKey : @2583) -> @2587 @2604 @@ -5364,7 +5334,7 @@ @2772 := @1715 @2771 @2774 := @1717 @2768 @304 @2776 := @1720 @2768 @304 -@2777 := LexLeanTarget.TargetSemantics.LexLeanCollections.instKeyInt8 +@2777 := LexLeanCollections.instKeyInt8 @2778 := @2776 @2777 @2789 := @1716 (@2774 (@2778 (@2778 (@207 (@1175 @2768 @304)) @32 @1088) @24 @1735)) @2792 := (leftKey : @2768) -> (rightKey : @2768) -> @2772 @2789 @@ -5452,7 +5422,7 @@ @2956 := @1715 @2955 @2958 := @1717 @2234 @304 @2960 := @1720 @2234 @304 -@2961 := LexLeanTarget.TargetSemantics.LexLeanCollections.instKeyInt +@2961 := LexLeanCollections.instKeyInt @2962 := @2960 @2961 @2973 := @1716 (@2958 (@2962 (@2962 (@207 (@1175 @2234 @304)) @32 @1088) @24 @1735)) @2976 := (leftKey : @2234) -> (rightKey : @2234) -> @2956 @2973 @@ -5536,7 +5506,7 @@ @3136 := @1715 @3135 @3138 := @1717 @304 @304 @3140 := @1720 @304 @304 -@3141 := LexLeanTarget.TargetSemantics.LexLeanCollections.instKeyNat +@3141 := LexLeanCollections.instKeyNat @3142 := @3140 @3141 @3152 := @1716 (@3138 (@3142 (@3142 (@207 (@1176 @304)) @32 @1088) @24 @1735)) @3155 := (leftKey : @304) -> (rightKey : @304) -> @3136 @3152 @@ -5845,7 +5815,7 @@ @3728 := @1715 @3727 @3730 := @1717 @3724 @304 @3732 := @1720 @3724 @304 -@3733 := LexLeanTarget.TargetSemantics.LexLeanCollections.instKeyString +@3733 := LexLeanCollections.instKeyString @3734 := @3732 @3733 @3745 := @1716 (@3730 (@3734 (@3734 (@207 (@1175 @3724 @304)) @32 @1088) @24 @1735)) @3748 := (leftKey : @3724) -> (rightKey : @3724) -> @3728 @3745 @@ -5965,7 +5935,7 @@ @3954 := @1715 @3953 @3956 := @1717 @3950 @304 @3958 := @1720 @3950 @304 -@3959 := LexLeanTarget.TargetSemantics.LexLeanCollections.instKeyUInt16 +@3959 := LexLeanCollections.instKeyUInt16 @3960 := @3958 @3959 @3971 := @1716 (@3956 (@3960 (@3960 (@207 (@1175 @3950 @304)) @32 @1088) @24 @1735)) @3974 := (leftKey : @3950) -> (rightKey : @3950) -> @3954 @3971 @@ -6054,7 +6024,7 @@ @4139 := @1715 @4138 @4141 := @1717 @4135 @304 @4143 := @1720 @4135 @304 -@4144 := LexLeanTarget.TargetSemantics.LexLeanCollections.instKeyUInt32 +@4144 := LexLeanCollections.instKeyUInt32 @4145 := @4143 @4144 @4156 := @1716 (@4141 (@4145 (@4145 (@207 (@1175 @4135 @304)) @32 @1088) @24 @1735)) @4159 := (leftKey : @4135) -> (rightKey : @4135) -> @4139 @4156 @@ -6142,7 +6112,7 @@ @4323 := @1715 @4322 @4325 := @1717 @4319 @304 @4327 := @1720 @4319 @304 -@4328 := LexLeanTarget.TargetSemantics.LexLeanCollections.instKeyUInt64 +@4328 := LexLeanCollections.instKeyUInt64 @4329 := @4327 @4328 @4340 := @1716 (@4325 (@4329 (@4329 (@207 (@1175 @4319 @304)) @32 @1088) @24 @1735)) @4343 := (leftKey : @4319) -> (rightKey : @4319) -> @4323 @4340 @@ -6231,7 +6201,7 @@ @4508 := @1715 @4507 @4510 := @1717 @4504 @304 @4512 := @1720 @4504 @304 -@4513 := LexLeanTarget.TargetSemantics.LexLeanCollections.instKeyUInt8 +@4513 := LexLeanCollections.instKeyUInt8 @4514 := @4512 @4513 @4525 := @1716 (@4510 (@4514 (@4514 (@207 (@1175 @4504 @304)) @32 @1088) @24 @1735)) @4528 := (leftKey : @4504) -> (rightKey : @4504) -> @4508 @4525 @@ -6326,7 +6296,7 @@ @4699 := @4693 @4698 @4700 := Eq.{u} @4701 := @4700 @16 -@4702 := LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes._sparseCasesOn_1.{u} +@4702 := LexLeanCollections.compareCodes._sparseCasesOn_1.{u} @4713 := {motive : @4689} -> (t : @0) -> (eq : @4690) -> @@ -6435,9 +6405,9 @@ (x._@.LexLeanTarget.TargetSemantics.#1464907066._hygCtx.#9.LexLeanTarget.TargetSemantics.#1464907066._hygCtx._hyg.#28 : @204) -> (x._@.LexLeanTarget.TargetSemantics.#1464907066._hygCtx.#10.LexLeanTarget.TargetSemantics.#1464907066._hygCtx._hyg.#31 : @204) -> (h_1 : @211) -> (h_2 : @4889) -> (h_3 : @4891) -> (h_4 : @4895) -> @234 -@4903 := LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.match_4.{u_1} +@4903 := LexLeanCollections.compareCodes.match_4.{u_1} @4904 := @287 @360 -@4905 := LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.match_4.{1} +@4905 := LexLeanCollections.compareCodes.match_4.{1} @4908 := @4905 (fun (x._@.LexLeanTarget.TargetSemantics.#1464907066._hygCtx.#9.LexLeanTarget.TargetSemantics.#1464907066._hygCtx._hyg.#28 : @204) => fun (x._@.LexLeanTarget.TargetSemantics.#1464907066._hygCtx.#10.LexLeanTarget.TargetSemantics.#1464907066._hygCtx._hyg.#31 : @204) => @@ -6466,7 +6436,7 @@ @4934 := proof(List.brecOn.go.{1, 0}) @4936 := proof(proof(@4934 @203) @4931) @4937 := proof(@4936 @32) -@4938 := proof(LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes._f) +@4938 := proof(LexLeanCollections.compareCodes._f) @4940 := proof(proj PProd PProd.snd 1 proof(@4937 @4938)) @4941 := proof(List.brecOn.{1, 0}) @4945 := proof(proof(proof(proof(@4941 @203) @4931) @4) @4938) @@ -6525,7 +6495,7 @@ @5015)))))) @24)) @4953)) -@5026 := proof(_private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.match_4.splitter.{0}) +@5026 := proof(_private.LexLeanPreservation.Keys.#0.LexLeanCollections.compareCodes.match_4.splitter.{0}) @5027 := proof(@63 @204) @5028 := proof(@5027 @12) @5029 := proof(@5028 @32) @@ -6814,11 +6784,11 @@ (x._@.LexLeanTarget.TargetSemantics.#2107087126._hygCtx.#22.LexLeanTarget.TargetSemantics.#2107087126._hygCtx._hyg.#33 : @5489) -> (h_1 : ("_" : @3) -> @5490) -> (h_2 : (other : @12) -> (stored : @12) -> (rest : @5414) -> @23 @5428) -> @1023 -@5502 := LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.match_3.{u_1} +@5502 := LexLeanCollections.insertEntry.match_3.{u_1} @5503 := @1838 @12 @5504 := @202 @5503 @5512 := @63 @5504 (@1753 @23 @12 @8 @4 @32 @24) -@5513 := LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.match_3.{1} +@5513 := LexLeanCollections.insertEntry.match_3.{1} @5518 := @5513 @23 @12 @@ -6858,7 +6828,7 @@ @5414) @5576 := proof(proof(@5573 @5574) @24) @5579 := proof(proof(proof(@4934 @5503) @5574) @24) -@5580 := proof(LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry._f) +@5580 := proof(LexLeanCollections.insertEntry._f) @5587 := proof(proj PProd PProd.snd 1 proof(@5579 proof(proof(proof(proof(proof(@5580 @23) @12) @8) @4) @32))) @5588 := proof(@63 @5414) @@ -6971,7 +6941,7 @@ proof(fun ("_" : @3) => proof(@5750 @5011)))))))) @24)) @5648)) -@5772 := proof(proof(proof(_private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.match_3.splitter.{0}) +@5772 := proof(proof(proof(_private.LexLeanPreservation.Keys.#0.LexLeanCollections.insertEntry.match_3.splitter.{0}) @155) @23) @5773 := proof(@5416 @4) @@ -13148,7 +13118,7 @@ @13979 := Eq.{u_1} @13980 := @4 @9 @13981 := @13979 @13980 -@13982 := LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.match_1.{u_1} +@13982 := LexLeanCollections.compareCodes.match_1.{u_1} @13986 := @13982 @4 @9 @32 @24 @13991 := (motive : @13976) -> (h_1 : @13977) -> (h_2 : @13978) -> @13981 @13986 @33 @13992 := proof(Eq.refl.{u_1}) @@ -13182,11 +13152,11 @@ @14054 := (motive : @13976) -> (other : @0) -> (h_1 : @14036) -> (h_2 : @14037) -> (x._@._hyg.#8 : @14041) -> @14049 @14055 := proof(@437 @14049) -@14056 := proof(_private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.match_1.splitter._sparseCasesOn_2.{0}) +@14056 := proof(_private.LexLeanPreservation.Keys.#0.LexLeanCollections.compareCodes.match_1.splitter._sparseCasesOn_2.{0}) @14057 := @528 @9 @14058 := proof((x._@._hyg.#2.#6 : @14057) -> @14040) @14059 := proof(@13979 @156) -@14060 := proof(LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes._sparseCasesOn_1.{u_1}) +@14060 := proof(LexLeanCollections.compareCodes._sparseCasesOn_1.{u_1}) @14061 := proof(fun (x : @0) => @245) @14062 := proof(@14060 @14061) @14063 := proof(@14062 @32) @@ -13268,7 +13238,7 @@ proof(fun (_a : @233) => proof(proof(proof(@13979 proof(@244 @155)) @24) @14132))) - proof(proof(proof(proof(proof(proof(LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes._sparseCasesOn_1.else_eq.{u_1}) + proof(proof(proof(proof(proof(proof(LexLeanCollections.compareCodes._sparseCasesOn_1.else_eq.{u_1}) @14061) @23) @14064) @@ -13284,7 +13254,7 @@ fun (x._@.LexLeanTarget.TargetSemantics.#1464907066._hygCtx._hyg.#108 : @0) => fun (h_1 : @14036) => fun (h_2 : @14180) => - _private.LexLeanPreservation.Keys.#0.LexLeanTarget.TargetSemantics.LexLeanCollections.compareCodes.match_1.splitter._sparseCasesOn_2.{u_1} + _private.LexLeanPreservation.Keys.#0.LexLeanCollections.compareCodes.match_1.splitter._sparseCasesOn_2.{u_1} (fun (x : @0) => @102) @4 @33 @@ -13373,7 +13343,7 @@ @14363 := ("_" : @3) -> @32 @5 @14364 := ("_" : @3) -> @14022 @14365 := @13979 @14007 -@14366 := LexLeanTarget.TargetSemantics.LexLeanCollections.insertEntry.match_1.{u_1} +@14366 := LexLeanCollections.insertEntry.match_1.{u_1} @14367 := @14366 @8 @14371 := @14367 @5 @4 @32 @24 @14377 := (motive : @14361) -> diff --git a/language/preservation-1.2/library/src/Primitives.lex.tex b/language/preservation-1.2/library/src/Primitives.lex.tex index 12609d8ea..feeed32f0 100644 --- a/language/preservation-1.2/library/src/Primitives.lex.tex +++ b/language/preservation-1.2/library/src/Primitives.lex.tex @@ -605,32 +605,32 @@ tags: [defeq, backward_defeq], transparency: semireducible } -theorem LexLeanTarget.TargetSemantics.LexLeanRuntime.compareBytes.eq_1 : @5396 := @5399 { - all: [LexLeanTarget.TargetSemantics.LexLeanRuntime.compareBytes.eq_1], +theorem LexLeanRuntime.compareBytes.eq_1 : @5396 := @5399 { + all: [LexLeanRuntime.compareBytes.eq_1], class: false, generated: false, policy: exact{axioms: [propext]}, tags: [backward_defeq], transparency: semireducible } -theorem LexLeanTarget.TargetSemantics.LexLeanRuntime.equal.eq_1 : @5415 := @5420 { - all: [LexLeanTarget.TargetSemantics.LexLeanRuntime.equal.eq_1], +theorem LexLeanRuntime.equal.eq_1 : @5415 := @5420 { + all: [LexLeanRuntime.equal.eq_1], class: false, generated: false, policy: exact{axioms: []}, tags: [backward_defeq], transparency: semireducible } -theorem LexLeanTarget.TargetSemantics.LexLeanRuntime.length.eq_1 : @5434 := @5439 { - all: [LexLeanTarget.TargetSemantics.LexLeanRuntime.length.eq_1], +theorem LexLeanRuntime.length.eq_1 : @5434 := @5439 { + all: [LexLeanRuntime.length.eq_1], class: false, generated: false, policy: exact{axioms: []}, tags: [backward_defeq], transparency: semireducible } -theorem LexLeanTarget.TargetSemantics.LexLeanRuntime.slice.eq_1 : @5459 := @5466 { - all: [LexLeanTarget.TargetSemantics.LexLeanRuntime.slice.eq_1], +theorem LexLeanRuntime.slice.eq_1 : @5459 := @5466 { + all: [LexLeanRuntime.slice.eq_1], class: false, generated: false, policy: exact{axioms: []}, @@ -1157,13 +1157,13 @@ @764 := proof(@763 @729) @765 := Bool @766 := @4 @765 -@767 := LexLeanTarget.TargetSemantics.LexLeanRuntime.equal +@767 := LexLeanRuntime.equal @768 := @767 @681 @769 := instBEqOfDecidableEq.{0} @771 := @769 @681 @733 @772 := @768 @771 @773 := proof(@772 @658) -@774 := LexLeanTarget.TargetSemantics.LexLeanRuntime.compareBytes +@774 := LexLeanRuntime.compareBytes @776 := @774 @466 @214 @777 := proof(@773 @776) @778 := proof(@766 @777) @@ -1623,11 +1623,9 @@ @1572 := proof(Option.isSome.{0}) @1573 := proof(Int64) @1574 := proof(@1572 @1573) -@1581 := proof(proof(proof(proof(proof(LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedConvert) - @1570) - @1573) - proof(LexLeanTarget.TargetSemantics.LexLeanRuntime.instToMathIntInt)) - proof(LexLeanTarget.TargetSemantics.LexLeanRuntime.instFixedInt64)) +@1581 := proof(proof(proof(proof(proof(LexLeanRuntime.checkedConvert) @1570) @1573) + proof(LexLeanRuntime.instToMathIntInt)) + proof(LexLeanRuntime.instFixedInt64)) @1582 := proof(@1581 @8) @1584 := fun (n : @1570) => @1574 @1582 @1585 := Sort 1 @@ -1683,7 +1681,7 @@ @1665 := Option.{0} @1666 := @1665 @655 @1667 := @4 @1666 -@1668 := LexLeanTarget.TargetSemantics.LexLeanRuntime.listIndex +@1668 := LexLeanRuntime.listIndex @1669 := @1668 @655 @1671 := @1483 @1445 @655 @1672 := @1671 @1452 @@ -2112,18 +2110,10 @@ @2366 := @2108 (@2356 @2364) @2367 := @2107 @2366 @2368 := @2114 @779 -@2369 := LexLeanTarget.TargetSemantics.LexLeanRuntime.append +@2369 := LexLeanRuntime.append @2380 := (a : @2353) -> (b : @2353) -> - @2367 - (@2113 - (@2368 - (@2357 - (@2369 - @2353 - LexLeanTarget.TargetSemantics.LexLeanRuntime.instAppendableByteArray - @11 - @8)))) + @2367 (@2113 (@2368 (@2357 (@2369 @2353 LexLeanRuntime.instAppendableByteArray @11 @8)))) @2381 := proof(@1505 @2106) @2384 := proof(fun (a : @2353) => proof(fun (b : @2353) => proof(@2381 @2366))) @2386 := LexLeanPreservation.ListEnc @8 @@ -2133,14 +2123,7 @@ @2392 := @2389 @8 @2408 := @2107 (@2108 (@2356 (@2391 (@1520 @2392 @2362)))) - (@2113 - (@2368 - (@2389 - (@2369 - @1837 - (LexLeanTarget.TargetSemantics.LexLeanRuntime.instAppendableList @1452) - @11 - @8)))) + (@2113 (@2368 (@2389 (@2369 @1837 (LexLeanRuntime.instAppendableList @1452) @11 @8)))) @2412 := {α : @1585} -> (L : @2386) -> (xs : @1589) -> (ys : @1664) -> @2408 @2413 := proof(@74 @2408) @2414 := proof(LexLeanPreservation.Obs.value) @@ -2470,8 +2453,8 @@ @3092 := @3091 @2 @3093 := LexLeanTarget.TargetSyntax.Value.u8 @3094 := @3092 @3093 -@3095 := LexLeanTarget.TargetSemantics.LexLeanRuntime.index -@3099 := @3095 @2353 @2 LexLeanTarget.TargetSemantics.LexLeanRuntime.instIndexableByteArrayUInt8 +@3095 := LexLeanRuntime.index +@3099 := @3095 @2353 @2 LexLeanRuntime.instIndexableByteArrayUInt8 @3101 := @3099 @11 @8 @3105 := @3090 (@2113 (@2368 (@3094 @3101))) @3107 := (a : @2353) -> (i : @0) -> @3105 @@ -2559,8 +2542,7 @@ (hO : @3228) -> (li : @3231) -> (h0 : @3238) -> (h1 : @3248) -> (h2 : @3257) -> (xs : @1634) -> (i : @0) -> @3272 @3283 := proof(@74 @3272) -@3288 := proof(proof(proof(@3095 @1478) @655) - proof(proof(LexLeanTarget.TargetSemantics.LexLeanRuntime.instIndexableList) @655)) +@3288 := proof(proof(proof(@3095 @1478) @655) proof(proof(LexLeanRuntime.instIndexableList) @655)) @3290 := proof(proof(@2418 @1636) @1606) @3291 := proof(@3290 @11) @3294 := proof(@1667 proof(proof(@3288 @3291) @8)) @@ -2734,35 +2716,35 @@ @3634 := @1520 @2119 @2362 @3635 := @3632 @3634 @3638 := @2107 (@2108 (@3631 @3635)) -@3639 := LexLeanTarget.TargetSemantics.LexLeanRuntime.multiply +@3639 := LexLeanRuntime.multiply @3644 := @3639 @1570 Int.instMul @11 @8 @3652 := (a : @1570) -> (b : @1570) -> @3638 (@2113 (@2114 (@2115 @3644) (@2118 @3644))) @3653 := proof(LexLeanPreservation.obs_intResult) @3656 := proof(fun (a : @1570) => proof(fun (b : @1570) => proof(@3653 @3644))) @3661 := @2107 (@2108 (@2354 LexLeanTarget.TargetSyntax.Prim.intNeg @3634)) -@3666 := LexLeanTarget.TargetSemantics.LexLeanRuntime.negate @1570 Int.instNegInt @8 +@3666 := LexLeanRuntime.negate @1570 Int.instNegInt @8 @3673 := (a : @1570) -> @3661 (@2113 (@2114 (@2115 @3666) (@2118 @3666))) @3675 := proof(fun (a : @1570) => proof(@3653 @3666)) @3677 := @2354 LexLeanTarget.TargetSyntax.Prim.intQuot @3679 := @1520 @2163 @3635 @3682 := @2107 (@2108 (@3677 @3679)) -@3683 := LexLeanTarget.TargetSemantics.LexLeanRuntime.quotient +@3683 := LexLeanRuntime.quotient @3684 := @3683 @1570 -@3685 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instQuotientInt +@3685 := LexLeanRuntime.instQuotientInt @3689 := @3684 @3685 @693 @11 @8 @3698 := (a : @1570) -> (b : @1570) -> (z : @1570) -> @3682 (@2113 (@2114 (@2115 @3689) (@2118 @3689))) @3702 := proof(fun (a : @1570) => proof(fun (b : @1570) => proof(fun (z : @1570) => proof(@3653 @3689)))) @3707 := @2107 (@2108 (@2354 LexLeanTarget.TargetSyntax.Prim.intRem @3679)) -@3708 := LexLeanTarget.TargetSemantics.LexLeanRuntime.remainder +@3708 := LexLeanRuntime.remainder @3713 := @3708 @1570 @3685 @693 @11 @8 @3722 := (a : @1570) -> (b : @1570) -> (z : @1570) -> @3707 (@2113 (@2114 (@2115 @3713) (@2118 @3713))) @3726 := proof(fun (a : @1570) => proof(fun (b : @1570) => proof(fun (z : @1570) => proof(@3653 @3713)))) @3731 := @2107 (@2108 (@2354 LexLeanTarget.TargetSyntax.Prim.intSub @3635)) -@3732 := LexLeanTarget.TargetSemantics.LexLeanRuntime.subtract +@3732 := LexLeanRuntime.subtract @3737 := @3732 @1570 Int.instSub @11 @8 @3745 := (a : @1570) -> (b : @1570) -> @3731 (@2113 (@2114 (@2115 @3737) (@2118 @3737))) @3748 := proof(fun (a : @1570) => proof(fun (b : @1570) => proof(@3653 @3737))) @@ -2866,7 +2848,7 @@ @3892 := @2354 LexLeanTarget.TargetSyntax.Prim.join @3895 := LexLeanPreservation.encList @1438 @1486 @3901 := @2107 (@2108 (@3892 (@1520 (@3895 @11) @3037))) -@3902 := LexLeanTarget.TargetSemantics.LexLeanRuntime.join +@3902 := LexLeanRuntime.join @3907 := @2113 (@2368 (@1486 (@3902 @11 @8))) @3908 := @3901 @3907 @3910 := (xs : @1439) -> (d : @1438) -> @3908 @@ -2902,14 +2884,14 @@ proof(@2188 @3933))))) @3969 := @2354 LexLeanTarget.TargetSyntax.Prim.length @3972 := @2107 (@2108 (@3969 @2363)) -@3973 := LexLeanTarget.TargetSemantics.LexLeanRuntime.length -@3977 := @3973 @2353 LexLeanTarget.TargetSemantics.LexLeanRuntime.instLengthableByteArray @8 +@3973 := LexLeanRuntime.length +@3977 := @3973 @2353 LexLeanRuntime.instLengthableByteArray @8 @3985 := (a : @2353) -> @3972 (@2113 (@2114 (@2247 @3977 @2252) (@2255 @3977))) @3986 := proof(LexLeanPreservation.obs_natResult) @3988 := proof(fun (a : @2353) => proof(@3986 @3977)) @3996 := @2107 (@2108 (@3969 (@1520 (@2387 @693 @11 @8) @2362))) @3997 := @3973 @1664 -@3998 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instLengthableList +@3998 := LexLeanRuntime.instLengthableList @4001 := @3997 (@3998 @693) @8 @4008 := @3996 (@2113 (@2114 (@2247 @4001 @2252) (@2255 @4001))) @4011 := {α : @1585} -> (L : @2386) -> (xs : @1589) -> @4008 @@ -2977,7 +2959,7 @@ @8))) proof(@3986 @4044))))))) @4134 := @2107 (@2108 (@3969 @3037)) -@4138 := @3973 @1438 LexLeanTarget.TargetSemantics.LexLeanRuntime.instLengthableString @8 +@4138 := @3973 @1438 LexLeanRuntime.instLengthableString @8 @4146 := (a : @1438) -> @4134 (@2113 (@2114 (@2247 @4138 @2252) (@2255 @4138))) @4148 := proof(fun (a : @1438) => proof(@3986 @4138)) @4153 := @2107 (@2108 (@2354 LexLeanTarget.TargetSyntax.Prim.natAdd @2765)) @@ -3002,7 +2984,7 @@ @4243 := @2108 (@4239 @4241) @4244 := @2107 @4243 @4245 := @3683 @0 -@4246 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instQuotientNat +@4246 := LexLeanRuntime.instQuotientNat @4257 := (a : @0) -> (b : @0) -> (z : @0) -> @4244 (@2113 (@2368 (@2255 (@4245 @4246 @693 @11 @8)))) @4261 := proof(fun (a : @0) => proof(fun (b : @0) => proof(fun (z : @0) => proof(@2381 @4243)))) @4265 := @2108 (@2354 LexLeanTarget.TargetSyntax.Prim.natRem @4241) @@ -3035,8 +3017,8 @@ @4327 := @2354 LexLeanTarget.TargetSyntax.Prim.slice @4333 := @2107 (@2108 (@4327 (@1520 (@2357 @693) @2765))) @4335 := @3091 @2353 @2357 -@4336 := LexLeanTarget.TargetSemantics.LexLeanRuntime.slice -@4339 := @4336 @2353 LexLeanTarget.TargetSemantics.LexLeanRuntime.instSliceableByteArray +@4336 := LexLeanRuntime.slice +@4339 := @4336 @2353 LexLeanRuntime.instSliceableByteArray @4342 := @4339 @693 @11 @8 @4346 := @4333 (@2113 (@2368 (@4335 @4342))) @4349 := (a : @2353) -> (s : @0) -> (c : @0) -> @4346 @@ -3110,7 +3092,7 @@ @4473 := @2107 (@2108 (@4327 (@1520 (@2387 @1596 @1594 @693) @2765))) @4475 := @3266 @1604 @1445 @4476 := @4336 @1604 -@4477 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instSliceableList +@4477 := LexLeanRuntime.instSliceableList @4482 := @4476 (@4477 @1596) @693 @11 @8 @4486 := @4473 (@2113 (@2368 (@4475 @4482))) @4493 := {α : @1585} -> @@ -3453,7 +3435,7 @@ LexLeanTarget.TargetSyntax.Prim.splitExact (@1522 (@3034 (@1520 (LexLeanTarget.TargetSyntax.Value.u32 @8) @2362))))) @5122 := @3091 @1439 @3895 -@5123 := LexLeanTarget.TargetSemantics.LexLeanRuntime.splitExact +@5123 := LexLeanRuntime.splitExact @5126 := @5123 @693 @11 @8 @5130 := @5120 (@2113 (@2368 (@5122 @5126))) @5133 := (s : @1438) -> (d : @1438) -> (m : @5109) -> @5130 @@ -3541,7 +3523,7 @@ (fun (val._@.LexLeanPreservation.Primitives.#279014726._hygCtx._hyg.#75 : @1438) => @3078) @5286 := @2107 (@2108 (@2354 LexLeanTarget.TargetSyntax.Prim.utf8Decode @2363)) @5288 := @3091 @1438 @1486 -@5289 := LexLeanTarget.TargetSemantics.LexLeanRuntime.utf8Decode +@5289 := LexLeanRuntime.utf8Decode @5290 := @5289 @8 @5294 := @5286 (@2113 (@2368 (@5288 @5290))) @5295 := (b : @2353) -> @5294 @@ -3588,8 +3570,7 @@ proof(proof(proof(@5345 @5305) @5353) @8))))) proof(proof(@40 @5258) @5290)))) @5378 := @2108 (@2354 LexLeanTarget.TargetSyntax.Prim.utf8Encode @3037) -@5386 := (s : @1438) -> - @2107 @5378 (@2113 (@2368 (@2357 (LexLeanTarget.TargetSemantics.LexLeanRuntime.utf8Encode @8)))) +@5386 := (s : @1438) -> @2107 @5378 (@2113 (@2368 (@2357 (LexLeanRuntime.utf8Encode @8)))) @5388 := proof(fun (s : @1438) => proof(@2381 @5378)) @5396 := (left : @2353) -> (right : @2353) -> @690 @2675 (@833 (@48 @11) (@48 @8)) @5399 := proof(fun (left : @2353) => proof(fun (right : @2353) => proof(@1434 @2675))) @@ -3601,22 +3582,20 @@ @5420 := proof(fun {α : @1585} => proof(fun [inst : @5401] => proof(fun (left : @11) => proof(fun (right : @693) => proof(@1046 @5405))))) -@5422 := LexLeanTarget.TargetSemantics.LexLeanRuntime.Lengthable @8 +@5422 := LexLeanRuntime.Lengthable @8 @5425 := @3973 @693 @11 @8 @5434 := {α : @1585} -> [inst._@.LexLeanTarget.TargetSemantics.#210037673._hygCtx._hyg.#3 : @5422] -> - (value : @11) -> - @4013 @5425 (LexLeanTarget.TargetSemantics.LexLeanRuntime.Lengthable.length @693 @11 @8) + (value : @11) -> @4013 @5425 (LexLeanRuntime.Lengthable.length @693 @11 @8) @5439 := proof(fun {α : @1585} => proof(fun [inst : @5422] => proof(fun (value : @11) => proof(proof(@40 @0) @5425)))) -@5441 := LexLeanTarget.TargetSemantics.LexLeanRuntime.Sliceable @8 +@5441 := LexLeanRuntime.Sliceable @8 @5446 := @4336 @1445 @1452 @693 @11 @8 @5459 := {α : @1585} -> [inst._@.LexLeanTarget.TargetSemantics.#2537723928._hygCtx._hyg.#3 : @5441] -> (value : @11) -> (start : @0) -> - (count : @0) -> - @1904 @5446 (LexLeanTarget.TargetSemantics.LexLeanRuntime.Sliceable.slice @1445 @1452 @693 @11 @8) + (count : @0) -> @1904 @5446 (LexLeanRuntime.Sliceable.slice @1445 @1452 @693 @11 @8) @5466 := proof(fun {α : @1585} => proof(fun [inst : @5441] => proof(fun (value : @11) => diff --git a/language/preservation-1.2/library/src/RustBase.lex.tex b/language/preservation-1.2/library/src/RustBase.lex.tex index 13f699796..a6e2d5f6f 100644 --- a/language/preservation-1.2/library/src/RustBase.lex.tex +++ b/language/preservation-1.2/library/src/RustBase.lex.tex @@ -2006,8 +2006,8 @@ reducibility: regular{height: 6}, transparency: semireducible } -theorem LexLeanTarget.RustSemantics.LexLeanRuntime.equal.eq_1 : @38266 := @38271 { - all: [LexLeanTarget.RustSemantics.LexLeanRuntime.equal.eq_1], +theorem LexLeanRuntime.equal.eq_1 : @38266 := @38271 { + all: [LexLeanRuntime.equal.eq_1], class: false, generated: false, policy: exact{axioms: []}, @@ -9132,18 +9132,14 @@ (fun (x._@.LexLeanTarget.RustSemantics.#692303640._hygCtx._hyg.#1058 : @6589) => @7267) @9807 := @6194 @52 @9809 := @6591 @9807 @27 -@9814 := LexLeanTarget.RustSemantics.LexLeanRuntime.length - @46 - (LexLeanTarget.RustSemantics.LexLeanRuntime.instLengthableList @21) +@9814 := LexLeanRuntime.length @46 (LexLeanRuntime.instLengthableList @21) @9815 := @9814 @24 @9818 := @9806 (@9809 @9815) @9718 @9819 := @9694 @423 @9820 := @9819 @59 @9821 := @6167 @345 @9822 := @9820 @9821 -@9827 := LexLeanTarget.RustSemantics.LexLeanRuntime.append - @46 - (LexLeanTarget.RustSemantics.LexLeanRuntime.instAppendableList @21) +@9827 := LexLeanRuntime.append @46 (LexLeanRuntime.instAppendableList @21) @9829 := @9827 @27 @24 @9831 := @9107 (@9822 @9829) @9833 := @6140 @16 @16 @@ -25542,7 +25538,7 @@ @36632 := List.below.{0, 0} @36633 := @36632 @24 @36635 := @2857 (@7 @345) -@36636 := LexLeanTarget.TargetSemantics.LexLeanRuntime.listIndex +@36636 := LexLeanRuntime.listIndex @36637 := @36636 @345 @36640 := @36635 (@36637 @24 @32) @36641 := @1 @345 @@ -25673,14 +25669,7 @@ @36864 := {α : @0} -> (xs : @36568) -> (i : @3) -> - @36796 - (LexLeanTarget.TargetSemantics.LexLeanRuntime.index - @36801 - @27 - (LexLeanTarget.TargetSemantics.LexLeanRuntime.instIndexableList @27) - @24 - @32) - @36814 + @36796 (LexLeanRuntime.index @36801 @27 (LexLeanRuntime.instIndexableList @27) @24 @32) @36814 @36871 := proof(fun {α : @0} => proof(fun (xs : @36568) => proof(fun (i : @3) => @@ -26492,7 +26481,7 @@ (fun (x._@.LexLeanPreservation.RustBase.#746091797._hygCtx._hyg.#372 : @12) => fun (x._@.LexLeanPreservation.RustBase.#746091797._hygCtx._hyg.#371 : @12) => @36872)) @38251 := BEq.{0} @32 -@38252 := LexLeanTarget.RustSemantics.LexLeanRuntime.equal +@38252 := LexLeanRuntime.equal @38256 := @38252 @345 @27 @24 @32 @38266 := {α : @0} -> [inst._@.LexLeanTarget.RustSemantics.#1212145906._hygCtx._hyg.#3 : @38251] -> diff --git a/language/preservation-1.2/library/src/RustCorr.lex.tex b/language/preservation-1.2/library/src/RustCorr.lex.tex index f0ff29713..822ac50cd 100644 --- a/language/preservation-1.2/library/src/RustCorr.lex.tex +++ b/language/preservation-1.2/library/src/RustCorr.lex.tex @@ -9684,9 +9684,9 @@ @4362 := @4359 @4361 @4363 := @9 @4358 @4364 := @694 @4363 -@4365 := LexLeanTarget.TargetSemantics.LexLeanRuntime.index +@4365 := LexLeanRuntime.index @4366 := @17 @4358 -@4371 := @4365 @4366 @4358 (LexLeanTarget.TargetSemantics.LexLeanRuntime.instIndexableList @4358) +@4371 := @4365 @4366 @4358 (LexLeanRuntime.instIndexableList @4358) @4372 := LexLeanTarget.TargetSyntax.Program.functions @4373 := @4372 @361 @4376 := @4364 (@4371 @4373 @399) diff --git a/language/preservation-1.2/library/src/RustLemmas.lex.tex b/language/preservation-1.2/library/src/RustLemmas.lex.tex index 6d291d7ff..9340416d4 100644 --- a/language/preservation-1.2/library/src/RustLemmas.lex.tex +++ b/language/preservation-1.2/library/src/RustLemmas.lex.tex @@ -6319,9 +6319,9 @@ policy: exact{axioms: [Classical.choice, Quot.sound, propext]}, transparency: semireducible } -abbrev _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedMultiplyInt64.match_1.splitter.{u_1} : @372068 := @372069 { +abbrev _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_7.splitter.{u_1} : @372068 := @372069 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedMultiplyInt64.match_1.splitter" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_7.splitter" ], class: false, compiled: true, @@ -6355,9 +6355,9 @@ reducibility: abbrev{}, transparency: semireducible } -abbrev _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_11.splitter.{u_1} : @372107 := @372108 { +abbrev _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_13.splitter.{u_1} : @372107 := @372108 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_11.splitter" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_13.splitter" ], class: false, compiled: true, @@ -6391,9 +6391,9 @@ reducibility: abbrev{}, transparency: semireducible } -abbrev _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_7.splitter.{u_1} : @372146 := @372147 { +abbrev _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_9.splitter.{u_1} : @372146 := @372147 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_7.splitter" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_9.splitter" ], class: false, compiled: true, @@ -6403,9 +6403,9 @@ reducibility: abbrev{}, transparency: semireducible } -abbrev _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_9.splitter.{u_1} : @372159 := @372160 { +abbrev _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_11.splitter.{u_1} : @372159 := @372160 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_9.splitter" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_11.splitter" ], class: false, compiled: true, @@ -6429,9 +6429,9 @@ policy: exact{axioms: [Classical.choice, Quot.sound, propext]}, transparency: semireducible } -abbrev _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_19.splitter.{u_1} : @394570 := @394571 { +abbrev _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_21.splitter.{u_1} : @394570 := @394571 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_19.splitter" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_21.splitter" ], class: false, compiled: true, @@ -6478,9 +6478,9 @@ policy: exact{axioms: [Classical.choice, Quot.sound, propext]}, transparency: semireducible } -abbrev _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_13.splitter.{u_1} : @397115 := @397116 { +abbrev _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_15.splitter.{u_1} : @397115 := @397116 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_13.splitter" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_15.splitter" ], class: false, compiled: true, @@ -6538,9 +6538,9 @@ tags: [defeq, backward_defeq], transparency: semireducible } -abbrev _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_15.splitter.{u_1} : @412113 := @412114 { +abbrev _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_17.splitter.{u_1} : @412113 := @412114 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_15.splitter" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_17.splitter" ], class: false, compiled: true, @@ -6550,9 +6550,9 @@ reducibility: abbrev{}, transparency: semireducible } -abbrev _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_17.splitter.{u_1} : @412123 := @412124 { +abbrev _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_19.splitter.{u_1} : @412123 := @412124 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_17.splitter" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_19.splitter" ], class: false, compiled: true, @@ -48255,81 +48255,81 @@ reducibility: abbrev{}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_15.eq_1.{u_1} : @557636 := @557647 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_1.{u_1} : @557636 := @557647 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_15.eq_1" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_1" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_15.eq_2.{u_1} : @557669 := @557680 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_2.{u_1} : @557669 := @557680 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_15.eq_2" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_2" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_15.eq_3.{u_1} : @557702 := @557713 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_3.{u_1} : @557702 := @557713 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_15.eq_3" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_3" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_15.eq_4.{u_1} : @557735 := @557746 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_4.{u_1} : @557735 := @557746 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_15.eq_4" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_4" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_15.eq_5.{u_1} : @557768 := @557779 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_5.{u_1} : @557768 := @557779 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_15.eq_5" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_5" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_15.eq_6.{u_1} : @557801 := @557812 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_6.{u_1} : @557801 := @557812 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_15.eq_6" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_6" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_15.eq_7.{u_1} : @557834 := @557845 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_7.{u_1} : @557834 := @557845 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_15.eq_7" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_7" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_15.eq_8.{u_1} : @557866 := @557877 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_8.{u_1} : @557866 := @557877 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_15.eq_8" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_8" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -abbrev _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_15.splitter.{u_1} : @557902 := @557615 { +abbrev _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.splitter.{u_1} : @557902 := @557615 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_15.splitter" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.splitter" ], class: false, compiled: true, @@ -48339,81 +48339,81 @@ reducibility: abbrev{}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_1.{u_1} : @557944 := @557955 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_19.eq_1.{u_1} : @557944 := @557955 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_1" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_19.eq_1" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_2.{u_1} : @557997 := @558009 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_19.eq_2.{u_1} : @557997 := @558009 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_2" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_19.eq_2" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_3.{u_1} : @558033 := @558045 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_19.eq_3.{u_1} : @558033 := @558045 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_3" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_19.eq_3" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_4.{u_1} : @558070 := @558082 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_19.eq_4.{u_1} : @558070 := @558082 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_4" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_19.eq_4" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_5.{u_1} : @558126 := @558139 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_19.eq_5.{u_1} : @558126 := @558139 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_5" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_19.eq_5" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_6.{u_1} : @558163 := @558175 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_19.eq_6.{u_1} : @558163 := @558175 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_6" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_19.eq_6" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_7.{u_1} : @558199 := @558211 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_19.eq_7.{u_1} : @558199 := @558211 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_7" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_19.eq_7" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_8.{u_1} : @558236 := @558248 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_19.eq_8.{u_1} : @558236 := @558248 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.eq_8" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_19.eq_8" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -abbrev _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.splitter.{u_1} : @558258 := @557923 { +abbrev _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_19.splitter.{u_1} : @558258 := @557923 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_17.splitter" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.RustSemantics.literal.match_19.splitter" ], class: false, compiled: true, @@ -48777,18 +48777,18 @@ reducibility: abbrev{}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedMultiplyInt64.match_1.eq_1.{u_1} : @560564 := @560569 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_7.eq_1.{u_1} : @560564 := @560569 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedMultiplyInt64.match_1.eq_1" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_7.eq_1" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedMultiplyInt64.match_1.eq_2.{u_1} : @560581 := @560587 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_7.eq_2.{u_1} : @560581 := @560587 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedMultiplyInt64.match_1.eq_2" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_7.eq_2" ], class: false, generated: false, @@ -49404,171 +49404,171 @@ policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_11.eq_1.{u_1} : @563934 := @563939 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_13.eq_1.{u_1} : @563934 := @563939 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_11.eq_1" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_13.eq_1" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_11.eq_2.{u_1} : @563951 := @563957 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_13.eq_2.{u_1} : @563951 := @563957 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_11.eq_2" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_13.eq_2" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_13.eq_1.{u_1} : @563971 := @563976 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_15.eq_1.{u_1} : @563971 := @563976 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_13.eq_1" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_15.eq_1" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_13.eq_2.{u_1} : @563988 := @563994 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_15.eq_2.{u_1} : @563988 := @563994 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_13.eq_2" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_15.eq_2" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_15.eq_1.{u_1} : @564008 := @564013 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_17.eq_1.{u_1} : @564008 := @564013 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_15.eq_1" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_17.eq_1" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_15.eq_2.{u_1} : @564025 := @564031 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_17.eq_2.{u_1} : @564025 := @564031 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_15.eq_2" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_17.eq_2" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_17.eq_1.{u_1} : @564045 := @564050 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_19.eq_1.{u_1} : @564045 := @564050 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_17.eq_1" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_19.eq_1" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_17.eq_2.{u_1} : @564062 := @564068 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_19.eq_2.{u_1} : @564062 := @564068 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_17.eq_2" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_19.eq_2" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_19.eq_1.{u_1} : @564082 := @564087 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_1.{u_1} : @564082 := @564087 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_19.eq_1" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_1" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_19.eq_2.{u_1} : @564099 := @564105 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_2.{u_1} : @564099 := @564105 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_19.eq_2" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_2" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_1.{u_1} : @564128 := @564138 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_1.{u_1} : @564128 := @564138 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_1" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_1" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_2.{u_1} : @564158 := @564168 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_2.{u_1} : @564158 := @564168 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_2" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_2" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_3.{u_1} : @564188 := @564198 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_3.{u_1} : @564188 := @564198 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_3" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_3" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_4.{u_1} : @564218 := @564228 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_4.{u_1} : @564218 := @564228 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_4" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_4" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_5.{u_1} : @564248 := @564258 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_5.{u_1} : @564248 := @564258 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_5" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_5" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_6.{u_1} : @564278 := @564288 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_6.{u_1} : @564278 := @564288 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_6" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_6" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_7.{u_1} : @564308 := @564318 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_7.{u_1} : @564308 := @564318 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_7" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_7" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_8.{u_1} : @564338 := @564348 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_8.{u_1} : @564338 := @564348 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_21.eq_8" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_23.eq_8" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -abbrev _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_21.splitter.{u_1} : @564350 := @564107 { +abbrev _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_23.splitter.{u_1} : @564350 := @564107 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_21.splitter" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_23.splitter" ], class: false, compiled: true, @@ -49578,135 +49578,135 @@ reducibility: abbrev{}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_1.{u_1} : @564406 := @564422 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_1.{u_1} : @564406 := @564422 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_1" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_1" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_10.{u_1} : @564475 := @564493 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_10.{u_1} : @564475 := @564493 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_10" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_10" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_11.{u_1} : @564547 := @564564 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_11.{u_1} : @564547 := @564564 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_11" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_11" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_12.{u_1} : @564598 := @564616 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_12.{u_1} : @564598 := @564616 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_12" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_12" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_13.{u_1} : @564649 := @564666 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_13.{u_1} : @564649 := @564666 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_13" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_13" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_14.{u_1} : @564700 := @564718 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_14.{u_1} : @564700 := @564718 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_14" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_14" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_2.{u_1} : @564750 := @564766 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_2.{u_1} : @564750 := @564766 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_2" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_2" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_3.{u_1} : @564798 := @564814 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_3.{u_1} : @564798 := @564814 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_3" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_3" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_4.{u_1} : @564846 := @564862 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_4.{u_1} : @564846 := @564862 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_4" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_4" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_5.{u_1} : @564895 := @564912 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_5.{u_1} : @564895 := @564912 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_5" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_5" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_6.{u_1} : @564944 := @564960 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_6.{u_1} : @564944 := @564960 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_6" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_6" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_7.{u_1} : @564992 := @565008 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_7.{u_1} : @564992 := @565008 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_7" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_7" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_8.{u_1} : @565040 := @565056 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_8.{u_1} : @565040 := @565056 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_8" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_8" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_9.{u_1} : @565089 := @565106 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_9.{u_1} : @565089 := @565106 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.eq_9" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_9" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -abbrev _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.splitter.{u_1} : @565122 := @564373 { +abbrev _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.splitter.{u_1} : @565122 := @564373 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_25.splitter" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.splitter" ], class: false, compiled: true, @@ -49716,387 +49716,387 @@ reducibility: abbrev{}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_1.{u_1} : @565297 := @565341 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_1.{u_1} : @565297 := @565341 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_1" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_1" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_10.{u_1} : @565429 := @565473 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_10.{u_1} : @565429 := @565473 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_10" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_10" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_11.{u_1} : @565561 := @565605 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_11.{u_1} : @565561 := @565605 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_11" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_11" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_12.{u_1} : @565693 := @565737 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_12.{u_1} : @565693 := @565737 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_12" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_12" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_13.{u_1} : @565825 := @565869 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_13.{u_1} : @565825 := @565869 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_13" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_13" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_14.{u_1} : @565957 := @566001 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_14.{u_1} : @565957 := @566001 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_14" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_14" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_15.{u_1} : @566089 := @566133 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_15.{u_1} : @566089 := @566133 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_15" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_15" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_16.{u_1} : @566221 := @566265 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_16.{u_1} : @566221 := @566265 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_16" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_16" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_17.{u_1} : @566353 := @566397 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_17.{u_1} : @566353 := @566397 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_17" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_17" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_18.{u_1} : @566485 := @566529 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_18.{u_1} : @566485 := @566529 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_18" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_18" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_19.{u_1} : @566617 := @566661 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_19.{u_1} : @566617 := @566661 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_19" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_19" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_2.{u_1} : @566749 := @566793 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_2.{u_1} : @566749 := @566793 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_2" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_2" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_20.{u_1} : @566881 := @566925 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_20.{u_1} : @566881 := @566925 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_20" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_20" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_21.{u_1} : @567013 := @567057 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_21.{u_1} : @567013 := @567057 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_21" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_21" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_22.{u_1} : @567145 := @567189 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_22.{u_1} : @567145 := @567189 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_22" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_22" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_23.{u_1} : @567277 := @567321 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_23.{u_1} : @567277 := @567321 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_23" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_23" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_24.{u_1} : @567409 := @567453 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_24.{u_1} : @567409 := @567453 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_24" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_24" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_25.{u_1} : @567541 := @567585 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_25.{u_1} : @567541 := @567585 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_25" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_25" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_26.{u_1} : @567673 := @567717 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_26.{u_1} : @567673 := @567717 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_26" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_26" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_27.{u_1} : @567805 := @567849 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_27.{u_1} : @567805 := @567849 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_27" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_27" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_28.{u_1} : @567937 := @567981 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_28.{u_1} : @567937 := @567981 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_28" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_28" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_29.{u_1} : @568069 := @568113 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_29.{u_1} : @568069 := @568113 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_29" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_29" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_3.{u_1} : @568201 := @568245 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_3.{u_1} : @568201 := @568245 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_3" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_3" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_30.{u_1} : @568333 := @568377 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_30.{u_1} : @568333 := @568377 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_30" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_30" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_31.{u_1} : @568465 := @568509 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_31.{u_1} : @568465 := @568509 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_31" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_31" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_32.{u_1} : @568597 := @568641 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_32.{u_1} : @568597 := @568641 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_32" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_32" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_33.{u_1} : @568729 := @568773 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_33.{u_1} : @568729 := @568773 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_33" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_33" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_34.{u_1} : @568861 := @568905 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_34.{u_1} : @568861 := @568905 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_34" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_34" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_35.{u_1} : @568993 := @569037 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_35.{u_1} : @568993 := @569037 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_35" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_35" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_36.{u_1} : @569125 := @569169 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_36.{u_1} : @569125 := @569169 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_36" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_36" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_37.{u_1} : @569257 := @569301 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_37.{u_1} : @569257 := @569301 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_37" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_37" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_38.{u_1} : @569389 := @569433 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_38.{u_1} : @569389 := @569433 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_38" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_38" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_39.{u_1} : @569521 := @569565 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_39.{u_1} : @569521 := @569565 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_39" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_39" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_4.{u_1} : @569653 := @569697 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_4.{u_1} : @569653 := @569697 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_4" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_4" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_40.{u_1} : @569785 := @569829 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_40.{u_1} : @569785 := @569829 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_40" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_40" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_41.{u_1} : @570004 := @570049 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_41.{u_1} : @570004 := @570049 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_41" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_41" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_42.{u_1} : @570139 := @570184 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_42.{u_1} : @570139 := @570184 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_42" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_42" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_5.{u_1} : @570272 := @570316 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_5.{u_1} : @570272 := @570316 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_5" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_5" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_6.{u_1} : @570404 := @570448 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_6.{u_1} : @570404 := @570448 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_6" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_6" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_7.{u_1} : @570536 := @570580 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_7.{u_1} : @570536 := @570580 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_7" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_7" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_8.{u_1} : @570668 := @570712 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_8.{u_1} : @570668 := @570712 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_8" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_8" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_9.{u_1} : @570800 := @570844 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_9.{u_1} : @570800 := @570844 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.eq_9" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.eq_9" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -abbrev _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.splitter.{u_1} : @570888 := @565208 { +abbrev _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.splitter.{u_1} : @570888 := @565208 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_27.splitter" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_29.splitter" ], class: false, compiled: true, @@ -50142,36 +50142,36 @@ policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_7.eq_1.{u_1} : @570976 := @570981 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_9.eq_1.{u_1} : @570976 := @570981 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_7.eq_1" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_9.eq_1" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_7.eq_2.{u_1} : @570993 := @570999 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_9.eq_2.{u_1} : @570993 := @570999 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_7.eq_2" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_9.eq_2" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_9.eq_1.{u_1} : @571013 := @571018 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_11.eq_1.{u_1} : @571013 := @571018 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_9.eq_1" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_11.eq_1" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_9.eq_2.{u_1} : @571030 := @571036 { +theorem _private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_11.eq_2.{u_1} : @571030 := @571036 { all: [ - "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_9.eq_2" + "_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_11.eq_2" ], class: false, generated: false, @@ -69451,8 +69451,8 @@ proof(fun (x._@.LexLeanTarget.RustSemantics.#692303640._hygCtx._hyg.#1058 : @29829) => @157)) @30109 := @29831 (@29832 @2955) @30110 := proof(@30109 @31) -@30115 := proof(proof(proof(LexLeanTarget.RustSemantics.LexLeanRuntime.length) @4527) - proof(proof(LexLeanTarget.RustSemantics.LexLeanRuntime.instLengthableList) @79)) +@30115 := proof(proof(proof(LexLeanRuntime.length) @4527) + proof(proof(LexLeanRuntime.instLengthableList) @79)) @30116 := proof(@30115 @33) @30119 := proof(proof(@30107 proof(@30110 @30116)) @30045) @30121 := proof(proof(@30023 @95) @92) @@ -69462,9 +69462,7 @@ @30126 := proof(@30124 @30125) @30127 := proof(@30126 @29) @30128 := proof(@30123 @30127) -@30133 := LexLeanTarget.RustSemantics.LexLeanRuntime.append - @4527 - (LexLeanTarget.RustSemantics.LexLeanRuntime.instAppendableList @79) +@30133 := LexLeanRuntime.append @4527 (LexLeanRuntime.instAppendableList @79) @30135 := proof(proof(@30133 @31) @33) @30137 := proof(@29870 proof(@30128 @30135)) @30138 := proof(Prod.fst.{0, 0}) @@ -70085,10 +70083,10 @@ @31084 := @31079 @1605 @1532 @1521 @1443 @1432 @31085 := @56 @31078 @31086 := @1 @31085 -@31087 := LexLeanTarget.TargetSemantics.LexLeanRuntime.index +@31087 := LexLeanRuntime.index @31088 := @25 @31078 @31090 := @31087 @31088 @31078 -@31091 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instIndexableList +@31091 := LexLeanRuntime.instIndexableList @31093 := @31090 (@31091 @31078) @31094 := LexLeanTarget.TargetSyntax.Program.functions @31098 := @31086 (@31093 (@31094 @1677) @102) @@ -82848,7 +82846,7 @@ @52854 := @191 @52850 (fun (x : @156 @52850) => @52814) @52855 := proof(proj PProd PProd.fst 0 @31) @52857 := @52855 @92 @63 -@52858 := LexLeanTarget.TargetSemantics.primitive.match_17.{1} +@52858 := LexLeanTarget.TargetSemantics.primitive.match_19.{1} @52860 := @52858 (fun (x._@.LexLeanTarget.TargetSemantics.#41623050._hygCtx._hyg.#2990 : @52038) => @52393) @52861 := @52860 @52074 @@ -209099,7 +209097,7 @@ proof((hk : @232038) -> proof(@232039 proof(@231818 proof(proof(@183265 proof(@232040 @185321)) @31651))))) @232048 := proof(@27873 @232047) -@232049 := LexLeanTarget.TargetSemantics.LexLeanRuntime.subtract +@232049 := LexLeanRuntime.subtract @232051 := @232049 @155 @183272 @232056 := proof(proof(@6088 proof(@8526 proof(proof(@232051 @61) @321))) @6069) @232057 := proof(@7853 @232056) @@ -230008,16 +230006,16 @@ proof(fun (x._@.LexLeanTarget.TargetSemantics.#41623050._hygCtx._hyg.#1402 : @31138) => @52393)) @265333 := proof(@31140 proof(@31141 @5)) -@265334 := LexLeanTarget.TargetSemantics.LexLeanRuntime.append -@265338 := @265334 @4527 (LexLeanTarget.TargetSemantics.LexLeanRuntime.instAppendableList @79) +@265334 := LexLeanRuntime.append +@265338 := @265334 @4527 (LexLeanRuntime.instAppendableList @79) @265344 := proof(proof(@265331 proof(proof(@265333 proof(proof(@265338 @29) @31)) @31147)) @52879) @265346 := proof(proof(@31156 @31776) @31875) @265347 := proof(@265346 @5) @265348 := proof(@31161 @33) @265350 := proof(@52862 proof(@265347 @265348)) @265354 := proof(@316 proof(proof(@316 proof(@54969 @31)) @321)) -@265355 := LexLeanTarget.TargetSemantics.LexLeanRuntime.length -@265359 := @265355 @4527 (LexLeanTarget.TargetSemantics.LexLeanRuntime.instLengthableList @79) +@265355 := LexLeanRuntime.length +@265359 := @265355 @4527 (LexLeanRuntime.instLengthableList @79) @265360 := proof(@265359 @43) @265369 := proof(@265321 proof(fun (operandValues : @4527) => @@ -287658,7 +287656,7 @@ @353470 := @137933 @33 @353471 := @353470 @5 @353472 := @75560 @353471 -@353475 := LexLeanTarget.TargetSemantics.primitive.match_27.{1} +@353475 := LexLeanTarget.TargetSemantics.primitive.match_29.{1} (fun (operation._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#13 : @45439) => @52393) @353476 := @353475 @33 @@ -287930,7 +287928,7 @@ @52879 (fun (x._@.LexLeanTarget.TargetSyntax.#1953721060._hygCtx.#3.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#1133 : @657) => @52578) -@353754 := LexLeanTarget.TargetSemantics.LexLeanRuntime.multiply +@353754 := LexLeanRuntime.multiply @353760 := @263565 (@353754 @155 instMulNat @33 @5) @353854 := fun (rest943 : @4527) => @353741 @@ -288066,9 +288064,9 @@ @52879 (fun (x._@.LexLeanTarget.TargetSyntax.#1953721060._hygCtx.#3.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#1688 : @657) => @52578) -@353895 := LexLeanTarget.TargetSemantics.LexLeanRuntime.quotient +@353895 := LexLeanRuntime.quotient @353896 := @353895 @155 -@353897 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instQuotientNat +@353897 := LexLeanRuntime.instQuotientNat @353904 := @75565 (@8526 (@353896 @353897 @31 @33 @5)) @228 @353998 := @353882 (fun (leftNumber : @155) => @@ -288255,7 +288253,7 @@ @52879 (fun (x._@.LexLeanTarget.TargetSyntax.#1953721060._hygCtx.#3.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#2452 : @657) => @52578) -@354086 := LexLeanTarget.TargetSemantics.LexLeanRuntime.remainder +@354086 := LexLeanRuntime.remainder @354094 := @75565 (@8526 (@354086 @155 @353897 @31 @33 @5)) @228 @354188 := @354073 (fun (leftNumber : @155) => @@ -288805,7 +288803,7 @@ @52578) @354657 := LexLeanTarget.TargetSemantics.intResult @354660 := @232049 @7690 @50999 @33 -@354664 := LexLeanTarget.TargetSemantics.LexLeanRuntime.negate @7690 @50925 @5 +@354664 := LexLeanRuntime.negate @7690 @50925 @5 @354666 := @354657 (@354660 @354664) @354758 := @354637 (fun (argument1303 : @79) => @@ -289259,7 +289257,7 @@ (fun (x._@.LexLeanTarget.TargetSyntax.#1953721060._hygCtx.#5.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#6636 : @155) => @52578) @355127 := @353895 @7690 -@355128 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instQuotientInt +@355128 := LexLeanRuntime.instQuotientInt @355133 := @354657 (@355127 @355128 @31 @33 @5) @355227 := @355110 (fun (leftNumber : @7690) => @@ -289626,9 +289624,9 @@ @355495 := @56 @7693 @355497 := @355494 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#8148 : @355495) => @52393) -@355498 := LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedAdd +@355498 := LexLeanRuntime.checkedAdd @355499 := @355498 @7693 -@355500 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instFixedUInt8 +@355500 := LexLeanRuntime.instFixedUInt8 @355501 := @355499 @355500 @355505 := @355497 (@355501 @33 @5) @280151 @355509 := fun (result : @7693) => @75565 (@8964 @8591) @228 @@ -289693,7 +289691,7 @@ @355568 := @355565 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#8429 : @355566) => @52393) @355569 := @355498 @7696 -@355570 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instFixedUInt16 +@355570 := LexLeanRuntime.instFixedUInt16 @355571 := @355569 @355570 @355575 := @355568 (@355571 @33 @5) @280151 @355579 := fun (result : @7696) => @75565 (@8964 @8623) @228 @@ -289758,7 +289756,7 @@ @355638 := @355635 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#8710 : @355636) => @52393) @355639 := @355498 @7699 -@355640 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instFixedUInt32 +@355640 := LexLeanRuntime.instFixedUInt32 @355641 := @355639 @355640 @355645 := @355638 (@355641 @33 @5) @280151 @355649 := fun (result : @7699) => @75565 (@8964 @8655) @228 @@ -289818,12 +289816,12 @@ @52578) (fun (x._@.LexLeanTarget.TargetSyntax.#1953721060._hygCtx.#13.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#8964 : @7699) => @52578) -@355705 := LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedMultiplyInt64.match_1.{1} +@355705 := LexLeanTarget.TargetSemantics.primitive.match_7.{1} @355706 := @56 @7702 @355708 := @355705 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#8991 : @355706) => @52393) @355709 := @355498 @7702 -@355710 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instFixedUInt64 +@355710 := LexLeanRuntime.instFixedUInt64 @355711 := @355709 @355710 @355715 := @355708 (@355711 @33 @5) @280151 @355719 := fun (result : @7702) => @75565 (@8964 @8687) @228 @@ -289883,12 +289881,12 @@ @52578) (fun (x._@.LexLeanTarget.TargetSyntax.#1953721060._hygCtx.#15.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#9245 : @7702) => @52578) -@355775 := LexLeanTarget.TargetSemantics.primitive.match_7.{1} +@355775 := LexLeanTarget.TargetSemantics.primitive.match_9.{1} @355776 := @56 @7705 @355778 := @355775 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#9272 : @355776) => @52393) @355779 := @355498 @7705 -@355780 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instFixedInt8 +@355780 := LexLeanRuntime.instFixedInt8 @355781 := @355779 @355780 @355785 := @355778 (@355781 @33 @5) @280151 @355789 := fun (result : @7705) => @75565 (@8964 @8719) @228 @@ -289948,12 +289946,12 @@ @52578) (fun (x._@.LexLeanTarget.TargetSyntax.#1953721060._hygCtx.#17.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#9526 : @7705) => @52578) -@355845 := LexLeanTarget.TargetSemantics.primitive.match_9.{1} +@355845 := LexLeanTarget.TargetSemantics.primitive.match_11.{1} @355846 := @56 @7708 @355848 := @355845 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#9553 : @355846) => @52393) @355849 := @355498 @7708 -@355850 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instFixedInt16 +@355850 := LexLeanRuntime.instFixedInt16 @355851 := @355849 @355850 @355855 := @355848 (@355851 @33 @5) @280151 @355859 := fun (result : @7708) => @75565 (@8964 @8751) @228 @@ -290013,12 +290011,12 @@ @52578) (fun (x._@.LexLeanTarget.TargetSyntax.#1953721060._hygCtx.#19.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#9807 : @7708) => @52578) -@355915 := LexLeanTarget.TargetSemantics.primitive.match_11.{1} +@355915 := LexLeanTarget.TargetSemantics.primitive.match_13.{1} @355916 := @56 @7711 @355918 := @355915 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#9834 : @355916) => @52393) @355919 := @355498 @7711 -@355920 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instFixedInt32 +@355920 := LexLeanRuntime.instFixedInt32 @355921 := @355919 @355920 @355925 := @355918 (@355921 @33 @5) @280151 @355929 := fun (result : @7711) => @75565 (@8964 @8783) @228 @@ -290082,7 +290080,7 @@ @355986 := @56 @7714 @355988 := @355985 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#10115 : @355986) => @52393) -@355989 := LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedAddInt64 +@355989 := LexLeanRuntime.checkedAddInt64 @355993 := @355988 (@355989 @33 @5) @280151 @355997 := fun (result : @7714) => @75565 (@8964 @8815) @228 @355998 := @355993 @355997 @@ -290186,7 +290184,7 @@ @52578) @356096 := @355494 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#10574 : @355495) => @52393) -@356097 := LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedSubtract +@356097 := LexLeanRuntime.checkedSubtract @356099 := @356097 @7693 @355500 @356104 := @356096 (@356099 @33 @5) @280151 @355509 @356146 := @356084 @@ -290600,7 +290598,7 @@ @52578) @356538 := @355985 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#12541 : @355986) => @52393) -@356539 := LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedSubtractInt64 +@356539 := LexLeanRuntime.checkedSubtractInt64 @356544 := @356538 (@356539 @33 @5) @280151 @355997 @356606 := fun (argument1845 : @79) => fun (rest1847 : @4527) => @@ -290702,7 +290700,7 @@ @52578) @356642 := @355494 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#13000 : @355495) => @52393) -@356643 := LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedMultiply +@356643 := LexLeanRuntime.checkedMultiply @356645 := @356643 @7693 @355500 @356650 := @356642 (@356645 @33 @5) @280151 @355509 @356692 := @356630 @@ -291116,7 +291114,7 @@ @52578) @357084 := @355985 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#14967 : @355986) => @52393) -@357085 := LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedMultiplyInt64 +@357085 := LexLeanRuntime.checkedMultiplyInt64 @357090 := @357084 (@357085 @33 @5) @280151 @355997 @357152 := fun (argument2051 : @79) => fun (rest2053 : @4527) => @@ -291210,7 +291208,7 @@ @52578) @357182 := @355775 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#15399 : @355776) => @52393) -@357183 := LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedNegate +@357183 := LexLeanRuntime.checkedNegate @357185 := @357183 @7705 @355780 @357189 := @357182 (@357185 @5) @280151 @355789 @357191 := @357180 (fun (leftNumber : @7705) => @357189) @@ -291226,7 +291224,7 @@ @357211 := @357201 (fun (leftNumber : @7711) => @357209) @357213 := @355985 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#15561 : @355986) => @52393) -@357214 := LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedNegateInt64 +@357214 := LexLeanRuntime.checkedNegateInt64 @357218 := @357213 (@357214 @5) @280151 @355997 @357251 := fun (argument2463 : @79) => fun (rest2464 : @4527) => @@ -291298,7 +291296,7 @@ @52578) @357287 := @355494 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#15883 : @355495) => @52393) -@357288 := LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedQuotient +@357288 := LexLeanRuntime.checkedQuotient @357290 := @357288 @7693 @355500 @357295 := @357287 (@357290 @33 @5) @280151 @355509 @357337 := @357275 @@ -291712,7 +291710,7 @@ @52578) @357729 := @355985 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#17850 : @355986) => @52393) -@357730 := LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedQuotientInt64 +@357730 := LexLeanRuntime.checkedQuotientInt64 @357735 := @357729 (@357730 @33 @5) @280151 @355997 @357797 := fun (argument2257 : @79) => fun (rest2259 : @4527) => @@ -291812,7 +291810,7 @@ @52578) (fun (x._@.LexLeanTarget.TargetSyntax.#1953721060._hygCtx.#7.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#18282 : @7690) => @52578) -@357832 := LexLeanTarget.TargetSemantics.LexLeanRuntime.bitAnd +@357832 := LexLeanRuntime.bitAnd @357834 := @357832 @7693 @355500 @357839 := @75565 (@8590 (@357834 @33 @5)) @228 @357881 := @357821 @@ -292213,7 +292211,7 @@ (fun (x._@.LexLeanTarget.TargetSyntax.#1953721060._hygCtx.#21.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#20011 : @7711) => @52578) @358260 := @357832 @7714 -@358261 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instFixedInt64 +@358261 := LexLeanRuntime.instFixedInt64 @358262 := @358260 @358261 @358267 := @75565 (@8814 (@358262 @33 @5)) @228 @358329 := fun (argument2487 : @79) => @@ -292314,7 +292312,7 @@ @52578) (fun (x._@.LexLeanTarget.TargetSyntax.#1953721060._hygCtx.#7.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#20436 : @7690) => @52578) -@358364 := LexLeanTarget.TargetSemantics.LexLeanRuntime.bitOr +@358364 := LexLeanRuntime.bitOr @358366 := @358364 @7693 @355500 @358371 := @75565 (@8590 (@358366 @33 @5)) @228 @358413 := @358353 @@ -292814,7 +292812,7 @@ @52578) (fun (x._@.LexLeanTarget.TargetSyntax.#1953721060._hygCtx.#7.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#22590 : @7690) => @52578) -@358895 := LexLeanTarget.TargetSemantics.LexLeanRuntime.bitXor +@358895 := LexLeanRuntime.bitXor @358897 := @358895 @7693 @355500 @358902 := @75565 (@8590 (@358897 @33 @5)) @228 @358944 := @358884 @@ -293298,7 +293296,7 @@ @52578) (fun (x._@.LexLeanTarget.TargetSyntax.#1953721060._hygCtx.#7.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#24692 : @7690) => @52578) -@359412 := LexLeanTarget.TargetSemantics.LexLeanRuntime.bitNot +@359412 := LexLeanRuntime.bitNot @359414 := @359412 @7693 @355500 @359418 := @75565 (@8590 (@359414 @5)) @228 @359420 := @359411 (fun (leftNumber : @7693) => @359418) @@ -293396,7 +293394,7 @@ @52578) @359547 := @355494 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#25158 : @355495) => @52393) -@359548 := LexLeanTarget.TargetSemantics.LexLeanRuntime.shiftLeft +@359548 := LexLeanRuntime.shiftLeft @359550 := @359548 @7693 @355500 @359555 := @359547 (@359550 @5 @33) @280151 @355509 @359557 := @359545 (fun (leftNumber : @7693) => @359555) @@ -293548,7 +293546,7 @@ @52578) @359744 := @355494 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#26065 : @355495) => @52393) -@359745 := LexLeanTarget.TargetSemantics.LexLeanRuntime.shiftRight +@359745 := LexLeanRuntime.shiftRight @359747 := @359745 @7693 @355500 @359752 := @359744 (@359747 @5 @33) @280151 @355509 @359754 := @359742 (fun (leftNumber : @7693) => @359752) @@ -293682,7 +293680,7 @@ @52393) @33 @52879 -@359924 := LexLeanTarget.TargetSemantics.LexLeanRuntime.equal +@359924 := LexLeanRuntime.equal @359933 := @75565 (@8486 (@359924 @657 (@25962 @657 @27294) @33 @5)) @228 @359981 := @359919 (fun (leftValue : @657) => @@ -294807,7 +294805,7 @@ @52578) (fun (x._@.LexLeanTarget.TargetSyntax.#1953721060._hygCtx.#25.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#31699 : @7717) => @52578) -@361146 := @265334 @7720 LexLeanTarget.TargetSemantics.LexLeanRuntime.instAppendableByteArray +@361146 := @265334 @7720 LexLeanRuntime.instAppendableByteArray @361151 := @75565 (@8428 (@361146 @33 @5)) @228 @361184 := @361115 (fun (leftBytes : @7720) => @@ -294951,11 +294949,9 @@ @52578) (fun (x._@.LexLeanTarget.TargetSyntax.#1953721060._hygCtx.#23.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#32336 : @7714) => @52578) -@361301 := @263565 - (@265355 @7717 LexLeanTarget.TargetSemantics.LexLeanRuntime.instLengthableString @5) +@361301 := @263565 (@265355 @7717 LexLeanRuntime.instLengthableString @5) @361303 := @361296 (fun (text : @7717) => @361301) -@361308 := @263565 - (@265355 @7720 LexLeanTarget.TargetSemantics.LexLeanRuntime.instLengthableByteArray @5) +@361308 := @263565 (@265355 @7720 LexLeanRuntime.instLengthableByteArray @5) @361319 := @361303 (fun (octets : @7720) => @361308) (fun (x._@.LexLeanTarget.TargetSyntax.#1953721060._hygCtx.#29.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#32371 : @7723) => @@ -295037,10 +295033,7 @@ @52578) @361389 := @355494 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#32698 : @355495) => @52393) -@361393 := @31087 - @7720 - @7693 - LexLeanTarget.TargetSemantics.LexLeanRuntime.instIndexableByteArrayUInt8 +@361393 := @31087 @7720 @7693 LexLeanRuntime.instIndexableByteArrayUInt8 @361398 := @361389 (@361393 @5 @33) @280151 @355509 @361409 := @361387 (fun (octets : @7720) => @361398) @@ -295053,7 +295046,7 @@ @52578) (fun (x._@.LexLeanTarget.TargetSyntax.#1953721060._hygCtx.#35.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#32760 : @79) => @52578) -@361410 := LexLeanTarget.TargetSemantics.primitive.match_13.{1} +@361410 := LexLeanTarget.TargetSemantics.primitive.match_15.{1} @361412 := @361410 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#32787 : @29811) => @52393) @361416 := @31087 @4527 @79 (@31091 @79) @@ -295205,12 +295198,12 @@ @52578) (fun (x._@.LexLeanTarget.TargetSyntax.#1953721060._hygCtx.#25.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#33313 : @7717) => @52578) -@361548 := LexLeanTarget.TargetSemantics.primitive.match_15.{1} +@361548 := LexLeanTarget.TargetSemantics.primitive.match_17.{1} @361549 := @56 @7720 @361551 := @361548 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#33343 : @361549) => @52393) -@361552 := LexLeanTarget.TargetSemantics.LexLeanRuntime.slice -@361555 := @361552 @7720 LexLeanTarget.TargetSemantics.LexLeanRuntime.instSliceableByteArray +@361552 := LexLeanRuntime.slice +@361555 := @361552 @7720 LexLeanRuntime.instSliceableByteArray @361560 := @361551 (@361555 @5 @31 @33) @280151 @361564 := fun (part : @7720) => @75565 (@8964 @8429) @228 @361565 := @361560 @361564 @@ -295227,7 +295220,7 @@ @52578) @361578 := @52858 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#33438 : @52038) => @52393) -@361582 := @361552 @4527 (LexLeanTarget.TargetSemantics.LexLeanRuntime.instSliceableList @79) +@361582 := @361552 @4527 (LexLeanRuntime.instSliceableList @79) @361587 := @361578 (@361582 @5 @31 @33) @280151 @361591 := fun (part : @4527) => @75565 (@8964 @9058) @228 @361592 := @361587 @361591 @@ -295412,7 +295405,7 @@ @52578) (fun (x._@.LexLeanTarget.TargetSyntax.#1953721060._hygCtx.#23.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#34084 : @7714) => @52578) -@361741 := LexLeanTarget.TargetSemantics.LexLeanRuntime.utf8Encode +@361741 := LexLeanRuntime.utf8Encode @361745 := @75565 (@8428 (@361741 @5)) @228 @361776 := fun (argument3888 : @79) => fun (rest3889 : @4527) => @@ -295482,11 +295475,11 @@ @52578) (fun (x._@.LexLeanTarget.TargetSyntax.#1953721060._hygCtx.#25.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#34373 : @7717) => @52578) -@361815 := LexLeanTarget.TargetSemantics.primitive.match_19.{1} +@361815 := LexLeanTarget.TargetSemantics.primitive.match_21.{1} @361816 := @56 @7717 @361818 := @361815 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#34397 : @361816) => @52393) -@361819 := LexLeanTarget.TargetSemantics.LexLeanRuntime.utf8Decode +@361819 := LexLeanRuntime.utf8Decode @361822 := @361818 (@361819 @5) @280151 @361826 := fun (text : @7717) => @75565 (@8964 @8847) @228 @361827 := @361822 @361826 @@ -295591,9 +295584,7 @@ (fun (x._@.LexLeanTarget.TargetSyntax.#1953721060._hygCtx.#25.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#34804 : @7717) => @52578) @361934 := @75565 - (@8905 - (LexLeanTarget.TargetSemantics.fromOrdering - (LexLeanTarget.TargetSemantics.LexLeanRuntime.compareBytes @33 @5))) + (@8905 (LexLeanTarget.TargetSemantics.fromOrdering (LexLeanRuntime.compareBytes @33 @5))) @228 @361988 := fun (argument3942 : @79) => fun (rest3944 : @4527) => @@ -295741,7 +295732,7 @@ @362074 := @56 @174508 @362076 := @362073 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#35415 : @362074) => @52393) -@362077 := LexLeanTarget.TargetSemantics.LexLeanRuntime.splitExact +@362077 := LexLeanRuntime.splitExact @362082 := @362076 (@362077 @31 @33 @5) @280151 @362087 := fun (parts : @174508) => @75565 (@8964 (@9057 @174540)) @228 @362088 := @362082 @362087 @@ -295924,7 +295915,7 @@ (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#36184 : @362074) => @52393) @362267 := LexLeanTarget.TargetSemantics.toStrings @362270 := @362266 (@362267 @33) @52879 -@362271 := LexLeanTarget.TargetSemantics.LexLeanRuntime.join +@362271 := LexLeanRuntime.join @362272 := @362271 @5 @362278 := @362270 (fun (texts : @174508) => @75565 (@8846 (@362272 @33)) @228) @362323 := fun (argument4071 : @79) => @@ -295991,15 +295982,15 @@ @362340 := fun (x._@.LexLeanTarget.TargetSyntax.#1953721060._hygCtx.#5.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#36497 : @155) => @52578 @362341 := @362339 @362340 -@362342 := LexLeanTarget.TargetSemantics.LexLeanRuntime.formatDecimal +@362342 := LexLeanRuntime.formatDecimal @362343 := @362342 @7690 -@362344 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instDecimalInt +@362344 := LexLeanRuntime.instDecimalInt @362345 := @362343 @362344 @362349 := @75565 (@8846 (@362345 @5)) @228 @362350 := fun (source : @7690) => @362349 @362351 := @362341 @362350 @362352 := @362342 @7693 -@362353 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instDecimalOfFixedOfToString +@362353 := LexLeanRuntime.instDecimalOfFixedOfToString @362357 := @362353 @7693 @355500 instToStringUInt8 @362358 := @362352 @362357 @362362 := @75565 (@8846 (@362358 @5)) @228 @@ -296123,7 +296114,7 @@ (fun (rest4149._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#36966 : @4527) => @52393) @5 -@362527 := LexLeanTarget.TargetSemantics.primitive.match_21.{1} +@362527 := LexLeanTarget.TargetSemantics.primitive.match_23.{1} @362530 := @362527 (fun (target._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#36975 : @10851) => @52393) @@ -296140,10 +296131,10 @@ @362538 := @362536 @362537 @362540 := @355494 (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#37025 : @355495) => @52393) -@362541 := LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedConvert +@362541 := LexLeanRuntime.checkedConvert @362542 := @362541 @7690 @362543 := @362542 @7693 -@362544 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instToMathIntInt +@362544 := LexLeanRuntime.instToMathIntInt @362546 := @362543 @362544 @355500 @362550 := @362540 (@362546 @5) @280151 @355509 @362551 := fun (source : @7690) => @362550 @@ -296152,7 +296143,7 @@ (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#37079 : @355495) => @52393) @362555 := @362541 @7693 @362556 := @362555 @7693 -@362557 := LexLeanTarget.TargetSemantics.LexLeanRuntime.Fixed.toToMathInt +@362557 := LexLeanRuntime.Fixed.toToMathInt @362559 := @362557 @7693 @355500 @362561 := @362556 @362559 @355500 @362565 := @362554 (@362561 @5) @280151 @355509 @@ -296985,16 +296976,16 @@ @363664 := fun (x._@.LexLeanTarget.TargetSyntax.#1953721060._hygCtx.#23.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#42287 : @7714) => @52578 @363665 := @363663 @363664 -@363672 := LexLeanTarget.TargetSemantics.primitive.match_25.{1} +@363672 := LexLeanTarget.TargetSemantics.primitive.match_27.{1} (fun (target._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#42298 : @6071) => @52393) @43 @52879 @52879 @52879 -@363676 := LexLeanTarget.TargetSemantics.primitive.match_23.{1} +@363676 := LexLeanTarget.TargetSemantics.primitive.match_25.{1} (fun (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#42332 : @56 @7690) => @52393) -@363677 := LexLeanTarget.TargetSemantics.LexLeanRuntime.parseDecimal +@363677 := LexLeanRuntime.parseDecimal @363679 := @363677 @7690 @362344 @363682 := @363676 (@363679 @33) @280151 @363693 := fun (parsed : @7690) => @@ -302176,7 +302167,7 @@ @372068 := (motive : @372057) -> (x._@.LexLeanTarget.TargetSemantics.#443906790._hygCtx._hyg.#37 : @355706) -> (h_1 : @372060) -> (h_2 : @372064) -> @651 -@372069 := LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedMultiplyInt64.match_1.{u_1} +@372069 := LexLeanTarget.TargetSemantics.primitive.match_7.{u_1} @372070 := (x._@.LexLeanTarget.TargetSemantics.#2899735049._hygCtx._hyg.#22 : @355986) -> @1350 @372071 := @27494 @7714 @372072 := @31 @372071 @@ -302210,7 +302201,7 @@ @372107 := (motive : @372096) -> (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#9834 : @355916) -> (h_1 : @372099) -> (h_2 : @372103) -> @651 -@372108 := LexLeanTarget.TargetSemantics.primitive.match_11.{u_1} +@372108 := LexLeanTarget.TargetSemantics.primitive.match_13.{u_1} @372109 := (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#8429 : @355566) -> @1350 @372110 := @27494 @7696 @372111 := @31 @372110 @@ -302243,7 +302234,7 @@ @372146 := (motive : @372135) -> (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#9272 : @355776) -> (h_1 : @372138) -> (h_2 : @372142) -> @651 -@372147 := LexLeanTarget.TargetSemantics.primitive.match_7.{u_1} +@372147 := LexLeanTarget.TargetSemantics.primitive.match_9.{u_1} @372148 := (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#9553 : @355846) -> @1350 @372149 := @27494 @7708 @372150 := @31 @372149 @@ -302254,7 +302245,7 @@ @372159 := (motive : @372148) -> (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#9553 : @355846) -> (h_1 : @372151) -> (h_2 : @372155) -> @651 -@372160 := LexLeanTarget.TargetSemantics.primitive.match_9.{u_1} +@372160 := LexLeanTarget.TargetSemantics.primitive.match_11.{u_1} @372170 := @8 (@366537 @143888) (@8 (@366537 @146717) (@8 (@366537 @147514) (@366537 @147744))) @372171 := @16516 @24006 @372172 := @306187 @372171 @@ -302871,7 +302862,7 @@ proof((hp : proof(proof(@75560 proof(@372209 @367742)) @75922)) -> proof(@366676 @373005))))) @373031 := proof(proof(@75560 proof(@372209 @367751)) @75884) -@373032 := proof(_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.LexLeanRuntime.checkedMultiplyInt64.match_1.splitter.{0}) +@373032 := proof(_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_7.splitter.{0}) @373033 := proof(@1 @355706) @373036 := proof(@373033 proof(proof(@355711 @95) @43)) @373037 := proof(@373036 @5) @@ -303057,7 +303048,7 @@ proof((hp : proof(proof(@75560 proof(@372209 @368097)) @75922)) -> proof(@366676 @373258))))) @373284 := proof(proof(@75560 proof(@372209 @368106)) @75884) -@373285 := proof(_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_7.splitter.{0}) +@373285 := proof(_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_9.splitter.{0}) @373286 := proof(@1 @355776) @373289 := proof(@373286 proof(proof(@355781 @95) @43)) @373290 := proof(@373289 @5) @@ -303243,7 +303234,7 @@ proof((hp : proof(proof(@75560 proof(@372209 @368452)) @75922)) -> proof(@366676 @373511))))) @373537 := proof(proof(@75560 proof(@372209 @368461)) @75884) -@373538 := proof(_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_9.splitter.{0}) +@373538 := proof(_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_11.splitter.{0}) @373539 := proof(@1 @355846) @373542 := proof(@373539 proof(proof(@355851 @95) @43)) @373543 := proof(@373542 @5) @@ -303429,7 +303420,7 @@ proof((hp : proof(proof(@75560 proof(@372209 @368807)) @75922)) -> proof(@366676 @373764))))) @373790 := proof(proof(@75560 proof(@372209 @368816)) @75884) -@373791 := proof(_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_11.splitter.{0}) +@373791 := proof(_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_13.splitter.{0}) @373792 := proof(@1 @355916) @373795 := proof(@373792 proof(proof(@355921 @95) @43)) @373796 := proof(@373795 @5) @@ -320503,7 +320494,7 @@ @394570 := (motive : @394559) -> (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#34397 : @361816) -> (h_1 : @394562) -> (h_2 : @394566) -> @651 -@394571 := LexLeanTarget.TargetSemantics.primitive.match_19.{u_1} +@394571 := LexLeanTarget.TargetSemantics.primitive.match_21.{u_1} @394572 := @137933 @146923 @394574 := @75560 (@394572 @94632) @394575 := @394574 @142501 @@ -320511,7 +320502,7 @@ @394584 := {p : @6062} -> {c : @23} -> {A : @6063} -> {b : @7720} -> {w : @79} -> {s : @155} -> (hp : @394575) -> @394576 @144483 -@394585 := proof(_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_19.splitter.{0}) +@394585 := proof(_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_21.splitter.{0}) @394586 := proof(@1 @361816) @394588 := proof(@394586 proof(@361819 @43)) @394589 := proof(@394588 @5) @@ -322339,7 +322330,7 @@ @397115 := (motive : @397107) -> (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#32787 : @29811) -> (h_1 : @397109) -> (h_2 : @397111) -> @651 -@397116 := LexLeanTarget.TargetSemantics.primitive.match_13.{u_1} +@397116 := LexLeanTarget.TargetSemantics.primitive.match_15.{u_1} @397117 := @7461 @63 @397119 := @3838 (@397117 @18089) @397120 := @10440 @5 @@ -322858,7 +322849,7 @@ @397859 := proof(proof(@75560 proof(proof(proof(@361412 proof(proof(@361416 @45) @33)) @280151) @361423)) @75884) -@397860 := proof(_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_13.splitter.{0}) +@397860 := proof(_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_15.splitter.{0}) @397862 := proof(@29812 proof(@397699 @29)) @397863 := proof(@397862 @5) @397864 := proof(@361416 @61) @@ -334141,7 +334132,7 @@ @412113 := (motive : @412102) -> (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#33343 : @361549) -> (h_1 : @412105) -> (h_2 : @412109) -> @651 -@412114 := LexLeanTarget.TargetSemantics.primitive.match_15.{u_1} +@412114 := LexLeanTarget.TargetSemantics.primitive.match_17.{u_1} @412115 := (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#33438 : @52038) -> @1350 @412116 := @31 @52074 @412117 := ("_" : @1357) -> @412116 @@ -334149,7 +334140,7 @@ @412123 := (motive : @412115) -> (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#33438 : @52038) -> (h_1 : @412117) -> (h_2 : @412119) -> @651 -@412124 := LexLeanTarget.TargetSemantics.primitive.match_17.{u_1} +@412124 := LexLeanTarget.TargetSemantics.primitive.match_19.{u_1} @412125 := @397117 @5 @412127 := @1184 @144409 @659 @412128 := @137933 @145911 @@ -334894,7 +334885,7 @@ @413107 := proof(proof(@75560 proof(proof(proof(@361578 proof(proof(@412711 @43) @33)) @280151) @361591)) @94095) -@413108 := proof(_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_17.splitter.{0}) +@413108 := proof(_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_19.splitter.{0}) @413110 := proof(@52039 proof(@412952 @29)) @413111 := proof(@413110 @5) @413113 := proof(proof(@361582 @1432) @45) @@ -337493,7 +337484,7 @@ @416253 := proof(proof(@75560 proof(proof(proof(@361551 proof(proof(@415889 @43) @33)) @280151) @361564)) @75884) -@416254 := proof(_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_15.splitter.{0}) +@416254 := proof(_private.LexLeanPreservation.RustLemmas.#0.LexLeanTarget.TargetSemantics.primitive.match_17.splitter.{0}) @416255 := proof(@1 @361549) @416257 := proof(@416255 proof(@416120 @29)) @416258 := proof(@416257 @5) @@ -394157,12 +394148,12 @@ @500759 := proof(@140926 @136128) @500762 := @132485 (@253339 @138205 @5) @500763 := @29812 @500762 -@500766 := LexLeanTarget.RustSemantics.literal.match_9.{1} +@500766 := LexLeanTarget.RustSemantics.literal.match_11.{1} (fun (x._@.LexLeanTarget.RustSemantics.#21094844._hygCtx._hyg.#291 : @355846) => @29811) -@500768 := LexLeanTarget.RustSemantics.LexLeanRuntime.checkedConvert @7690 +@500768 := LexLeanRuntime.checkedConvert @7690 @500769 := @500768 @7708 -@500770 := LexLeanTarget.RustSemantics.LexLeanRuntime.instToMathIntInt -@500775 := @500766 (@500769 @500770 LexLeanTarget.RustSemantics.LexLeanRuntime.instFixedInt16 @5) +@500770 := LexLeanRuntime.instToMathIntInt +@500775 := @500766 (@500769 @500770 LexLeanRuntime.instFixedInt16 @5) @500776 := fun ("_" : @1357) => @171018 @500782 := (number : @7690) -> @500763 (@500775 @500776 (fun (scalar : @7708) => @29817 @8751)) @500784 := proof(fun (number : @7690) => proof(@140926 @500762)) @@ -394170,9 +394161,9 @@ @500803 := (number : @7690) -> @29812 @500787 - (LexLeanTarget.RustSemantics.literal.match_11.{1} + (LexLeanTarget.RustSemantics.literal.match_13.{1} (fun (x._@.LexLeanTarget.RustSemantics.#21094844._hygCtx._hyg.#332 : @355916) => @29811) - (@500768 @7711 @500770 LexLeanTarget.RustSemantics.LexLeanRuntime.instFixedInt32 @5) + (@500768 @7711 @500770 LexLeanRuntime.instFixedInt32 @5) @500776 (fun (scalar : @7711) => @29817 @8783)) @500805 := proof(fun (number : @7690) => proof(@140926 @500787)) @@ -394180,9 +394171,9 @@ @500824 := (number : @7690) -> @29812 @500808 - (LexLeanTarget.RustSemantics.literal.match_13.{1} + (LexLeanTarget.RustSemantics.literal.match_15.{1} (fun (x._@.LexLeanTarget.RustSemantics.#21094844._hygCtx._hyg.#373 : @355986) => @29811) - (@500768 @7714 @500770 LexLeanTarget.RustSemantics.LexLeanRuntime.instFixedInt64 @5) + (@500768 @7714 @500770 LexLeanRuntime.instFixedInt64 @5) @500776 (fun (scalar : @7714) => @29817 @8815)) @500826 := proof(fun (number : @7690) => proof(@140926 @500808)) @@ -394210,7 +394201,7 @@ @500870 (LexLeanTarget.RustSemantics.literal.match_1.{1} (fun (x._@.LexLeanTarget.RustSemantics.#21094844._hygCtx._hyg.#86 : @355495) => @29811) - (@500768 @7693 @500770 LexLeanTarget.RustSemantics.LexLeanRuntime.instFixedUInt8 @5) + (@500768 @7693 @500770 LexLeanRuntime.instFixedUInt8 @5) @500776 (fun (scalar : @7693) => @29817 @8591)) @500888 := proof(fun (number : @7690) => proof(@140926 @500870)) @@ -394220,7 +394211,7 @@ @500891 (LexLeanTarget.RustSemantics.literal.match_3.{1} (fun (x._@.LexLeanTarget.RustSemantics.#21094844._hygCtx._hyg.#127 : @355566) => @29811) - (@500768 @7696 @500770 LexLeanTarget.RustSemantics.LexLeanRuntime.instFixedUInt16 @5) + (@500768 @7696 @500770 LexLeanRuntime.instFixedUInt16 @5) @500776 (fun (scalar : @7696) => @29817 @8623)) @500909 := proof(fun (number : @7690) => proof(@140926 @500891)) @@ -394230,7 +394221,7 @@ @500912 (LexLeanTarget.RustSemantics.literal.match_5.{1} (fun (x._@.LexLeanTarget.RustSemantics.#21094844._hygCtx._hyg.#168 : @355636) => @29811) - (@500768 @7699 @500770 LexLeanTarget.RustSemantics.LexLeanRuntime.instFixedUInt32 @5) + (@500768 @7699 @500770 LexLeanRuntime.instFixedUInt32 @5) @500776 (fun (scalar : @7699) => @29817 @8655)) @500930 := proof(fun (number : @7690) => proof(@140926 @500912)) @@ -394238,9 +394229,9 @@ @500949 := (number : @7690) -> @29812 @500933 - (LexLeanTarget.RustSemantics.LexLeanRuntime.checkedMultiplyInt64.match_1.{1} + (LexLeanTarget.RustSemantics.literal.match_7.{1} (fun (x._@.LexLeanTarget.RustSemantics.#21094844._hygCtx._hyg.#209 : @355706) => @29811) - (@500768 @7702 @500770 LexLeanTarget.RustSemantics.LexLeanRuntime.instFixedUInt64 @5) + (@500768 @7702 @500770 LexLeanRuntime.instFixedUInt64 @5) @500776 (fun (scalar : @7702) => @29817 @8687)) @500951 := proof(fun (number : @7690) => proof(@140926 @500933)) @@ -394248,9 +394239,9 @@ @500970 := (number : @7690) -> @29812 @500954 - (LexLeanTarget.RustSemantics.literal.match_7.{1} + (LexLeanTarget.RustSemantics.literal.match_9.{1} (fun (x._@.LexLeanTarget.RustSemantics.#21094844._hygCtx._hyg.#250 : @355776) => @29811) - (@500768 @7705 @500770 LexLeanTarget.RustSemantics.LexLeanRuntime.instFixedInt8 @5) + (@500768 @7705 @500770 LexLeanRuntime.instFixedInt8 @5) @500776 (fun (scalar : @7705) => @29817 @8719)) @500972 := proof(fun (number : @7690) => proof(@140926 @500954)) @@ -427753,7 +427744,7 @@ @557612 := ("_" : @1357) -> @557611 @557613 := @95 @138096 @557614 := @1386 @557613 -@557615 := LexLeanTarget.RustSemantics.literal.match_15.{u_1} +@557615 := LexLeanTarget.RustSemantics.literal.match_17.{u_1} @557616 := @557615 @95 @557625 := @557616 @138096 @45 @92 @63 @43 @29 @31 @33 @5 @557636 := (motive : @557596) -> @@ -427926,7 +427917,7 @@ @557920 := (order : @7723) -> @95 @253434 @557921 := @95 @129077 @557922 := @1386 @557921 -@557923 := LexLeanTarget.RustSemantics.literal.match_17.{u_1} +@557923 := LexLeanTarget.RustSemantics.literal.match_19.{u_1} @557933 := @557923 @95 @129077 @45 @92 @63 @43 @29 @31 @33 @5 @557944 := (motive : @557903) -> (h_1 : @557905) -> @@ -433079,7 +433070,7 @@ proof(fun (h_2._@._hyg.#10 : @394566) => proof(proof(@1778 @564088) @564093))))) @564106 := (target._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#36975 : @10851) -> @1350 -@564107 := LexLeanTarget.TargetSemantics.primitive.match_21.{u_1} +@564107 := LexLeanTarget.TargetSemantics.primitive.match_23.{u_1} @564108 := @564107 @95 @564117 := @564108 @138096 @45 @92 @63 @43 @29 @31 @33 @5 @564128 := (motive : @564106) -> @@ -433238,7 +433229,7 @@ @564372 := (x._@.LexLeanTarget.TargetSyntax.#324402063._hygCtx.#19.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#42905 : @6083) -> (x._@.LexLeanTarget.TargetSyntax.#324402063._hygCtx.#24.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#42906 : @6071) -> @545785 -@564373 := LexLeanTarget.TargetSemantics.primitive.match_25.{u_1} +@564373 := LexLeanTarget.TargetSemantics.primitive.match_27.{u_1} @564374 := @564373 @102 @564389 := @564374 @10452 @1432 @82 @239 @61 @213 @95 @45 @92 @63 @43 @29 @31 @33 @5 @564406 := (motive : @564351) -> @@ -433783,7 +433774,7 @@ @565203 := ("_" : @1357) -> @31494 @147733 @565205 := (target : @10851) -> @31550 @138100 @565207 := (target : @6071) -> @31600 @145794 -@565208 := LexLeanTarget.TargetSemantics.primitive.match_27.{u_1} +@565208 := LexLeanTarget.TargetSemantics.primitive.match_29.{u_1} @565209 := @565208 @31600 @565252 := @565209 @147415 diff --git a/language/preservation-1.2/library/src/RustMatches.lex.tex b/language/preservation-1.2/library/src/RustMatches.lex.tex index 3214140c7..7949e1ce8 100644 --- a/language/preservation-1.2/library/src/RustMatches.lex.tex +++ b/language/preservation-1.2/library/src/RustMatches.lex.tex @@ -6755,27 +6755,27 @@ reducibility: abbrev{}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustMatches.#0.LexLeanTarget.TargetSemantics.primitive.match_13.eq_1.{u_1} : @243680 := @243684 { +theorem _private.LexLeanPreservation.RustMatches.#0.LexLeanTarget.TargetSemantics.primitive.match_15.eq_1.{u_1} : @243680 := @243684 { all: [ - "_private.LexLeanPreservation.RustMatches.#0.LexLeanTarget.TargetSemantics.primitive.match_13.eq_1" + "_private.LexLeanPreservation.RustMatches.#0.LexLeanTarget.TargetSemantics.primitive.match_15.eq_1" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -theorem _private.LexLeanPreservation.RustMatches.#0.LexLeanTarget.TargetSemantics.primitive.match_13.eq_2.{u_1} : @243695 := @243700 { +theorem _private.LexLeanPreservation.RustMatches.#0.LexLeanTarget.TargetSemantics.primitive.match_15.eq_2.{u_1} : @243695 := @243700 { all: [ - "_private.LexLeanPreservation.RustMatches.#0.LexLeanTarget.TargetSemantics.primitive.match_13.eq_2" + "_private.LexLeanPreservation.RustMatches.#0.LexLeanTarget.TargetSemantics.primitive.match_15.eq_2" ], class: false, generated: false, policy: exact{axioms: []}, transparency: semireducible } -abbrev _private.LexLeanPreservation.RustMatches.#0.LexLeanTarget.TargetSemantics.primitive.match_13.splitter.{u_1} : @243704 := @243671 { +abbrev _private.LexLeanPreservation.RustMatches.#0.LexLeanTarget.TargetSemantics.primitive.match_15.splitter.{u_1} : @243704 := @243671 { all: [ - "_private.LexLeanPreservation.RustMatches.#0.LexLeanTarget.TargetSemantics.primitive.match_13.splitter" + "_private.LexLeanPreservation.RustMatches.#0.LexLeanTarget.TargetSemantics.primitive.match_15.splitter" ], class: false, compiled: true, @@ -41506,8 +41506,7 @@ @53547 := proof(@45732 proof(@53418 @46266)) @53548 := proof(@53547 @46161) @53549 := proof(@25948 @52522) -@53553 := proof(proof(proof(LexLeanTarget.TargetSemantics.LexLeanRuntime.subtract) @1) - proof(instSubNat)) +@53553 := proof(proof(proof(LexLeanRuntime.subtract) @1) proof(instSubNat)) @53558 := proof(proof(@22211 proof(@46263 proof(proof(@53553 @87) @369))) @22190) @53559 := proof(@23645 @53558) @53560 := proof(@53559 @432) @@ -79919,12 +79918,11 @@ proof(fun (x._@.LexLeanTarget.TargetSyntax.#1953721060._hygCtx.#42.LexLeanTarget.TargetSemantics.#41623050._hygCtx._hyg.#2413 : @22164) => proof(fun (x._@.LexLeanTarget.TargetSyntax.#1953721060._hygCtx.#44.LexLeanTarget.TargetSemantics.#41623050._hygCtx._hyg.#2414 : @22164) => @111007))) -@111156 := proof(proof(LexLeanTarget.TargetSemantics.primitive.match_13.{1}) +@111156 := proof(proof(LexLeanTarget.TargetSemantics.primitive.match_15.{1}) proof(fun (x._@.LexLeanTarget.TargetSemantics.#41623050._hygCtx._hyg.#2445 : @32709) => @110989)) -@111162 := proof(proof(proof(proof(LexLeanTarget.TargetSemantics.LexLeanRuntime.index) @22165) - @22164) - proof(proof(LexLeanTarget.TargetSemantics.LexLeanRuntime.instIndexableList) @22164)) +@111162 := proof(proof(proof(proof(LexLeanRuntime.index) @22165) @22164) + proof(proof(LexLeanRuntime.instIndexableList) @22164)) @111163 := proof(@111162 @14) @111166 := proof(proof(@111156 proof(@111163 @80)) @111077) @111167 := proof(@22129 @100354) @@ -82973,9 +82971,7 @@ @115991 := @115914 @115825 @115992 := @115893 @95 @115995 := @2967 (@33057 @115992 @80) -@116001 := LexLeanTarget.RustSemantics.LexLeanRuntime.length - (@4 @115898) - (LexLeanTarget.RustSemantics.LexLeanRuntime.instLengthableList @115898) +@116001 := LexLeanRuntime.length (@4 @115898) (LexLeanRuntime.instLengthableList @115898) @116006 := @115995 (@33057 (@116001 (@115900 @95)) @87) @116008 := @2966 @116006 @390 @116009 := @23875 @116008 @@ -166690,7 +166686,7 @@ @382 @243669 := (x._@.LexLeanTarget.TargetSemantics.#2728923297._hygCtx._hyg.#32787 : @32709) -> @6676 @243670 := (item : @22164) -> @234899 -@243671 := LexLeanTarget.TargetSemantics.primitive.match_13.{u_1} +@243671 := LexLeanTarget.TargetSemantics.primitive.match_15.{u_1} @243675 := @243671 @10 @33115 @12 @14 @243680 := (motive : @243669) -> (h_1 : @234898) -> (h_2 : @243670) -> @234901 @243675 @21641 @243684 := proof(fun (motive._@._hyg.#3 : @243669) => diff --git a/language/preservation-1.2/library/src/RustSound.lex.tex b/language/preservation-1.2/library/src/RustSound.lex.tex index ae0575266..190b72b50 100644 --- a/language/preservation-1.2/library/src/RustSound.lex.tex +++ b/language/preservation-1.2/library/src/RustSound.lex.tex @@ -591,10 +591,9 @@ @568 := proof(@115 @567) @569 := proof(@106 @564) @570 := proof(@1 @569) -@571 := proof(LexLeanTarget.TargetSemantics.LexLeanRuntime.index) +@571 := proof(LexLeanRuntime.index) @572 := proof(@115 @564) -@577 := proof(proof(proof(@571 @572) @564) - proof(proof(LexLeanTarget.TargetSemantics.LexLeanRuntime.instIndexableList) @564)) +@577 := proof(proof(proof(@571 @572) @564) proof(proof(LexLeanRuntime.instIndexableList) @564)) @578 := proof(LexLeanTarget.TargetSyntax.Program.functions) @579 := proof(#10) @583 := proof(@570 proof(proof(@577 proof(@578 @579)) @29)) diff --git a/language/preservation-1.2/library/src/Templates.lex.tex b/language/preservation-1.2/library/src/Templates.lex.tex index bf6cfbaf7..fe5707028 100644 --- a/language/preservation-1.2/library/src/Templates.lex.tex +++ b/language/preservation-1.2/library/src/Templates.lex.tex @@ -5430,9 +5430,9 @@ proof(let r : @5364 := @5369; proof(@5444 proof(@5445 proof(@5452 proof(@5729 @5731))))))))))) @5743 := @1 @50 -@5744 := LexLeanTarget.TargetSemantics.LexLeanRuntime.length +@5744 := LexLeanRuntime.length @5745 := @5744 @148 -@5746 := LexLeanTarget.TargetSemantics.LexLeanRuntime.instLengthableList +@5746 := LexLeanRuntime.instLengthableList @5749 := @5745 (@5746 @21) @50 @5755 := {α : @145} -> (xs : @5743) -> @5455 @5749 (@2460 @21 @50) @5756 := proof(rfl.{1}) @@ -5581,10 +5581,7 @@ @5995 := (k : @52) -> (o : @384) -> (r : @838) -> (a._@._internal._hyg.#0 : @1049) -> @863 @5988 (@865 @1547) @5997 := @25 (@327 @2454) -@6004 := LexLeanTarget.TargetSemantics.LexLeanRuntime.index - (@1 @2454) - @2454 - (LexLeanTarget.TargetSemantics.LexLeanRuntime.instIndexableList @2454) +@6004 := LexLeanRuntime.index (@1 @2454) @2454 (LexLeanRuntime.instIndexableList @2454) @6005 := LexLeanTarget.TargetSyntax.Program.functions @6007 := @6004 (@6005 @18) @6009 := @5997 (@6007 @21) @@ -11409,7 +11406,7 @@ @16626 := @16615 @16616 @16439 (@12797 @16570 @1752 @16616 (@6318 (@6319 @16570 @1752))) @16636 := @12806 @16570 @16616 @2711 @2414 @2519 @16611 @16514 (@6337 (@16311 @16616)) @16642 := @12817 @16570 @16616 @2716 @2771 @16608 @2428 -@16646 := LexLeanTarget.TargetSemantics.LexLeanRuntime.subtract @3 instSubNat +@16646 := LexLeanRuntime.subtract @3 instSubNat @16649 := @2589 (@16646 @13852 @1752) @16651 := @180 @16649 @271 @16652 := @16642 @16651 @@ -16421,9 +16418,7 @@ @26309 (fun (n._@.LexLeanPreservation.Templates.#569055168._hygCtx._hyg.#181 : @3) => @5183) @26318 := (a._@._internal._hyg.#0 : @18) -> @9 @26320 := @110 @21 @15 -@26325 := LexLeanTarget.TargetSemantics.LexLeanRuntime.append - @109 - (LexLeanTarget.TargetSemantics.LexLeanRuntime.instAppendableList @5) +@26325 := LexLeanRuntime.append @109 (LexLeanRuntime.instAppendableList @5) @26326 := @26325 @18 @26330 := @26320 (@26326 (@180 @852 @271)) @26331 := @17 @624 diff --git a/language/preservation-1.2/library/src/Validate.lex.tex b/language/preservation-1.2/library/src/Validate.lex.tex index 67b1dbcb6..2528ea720 100644 --- a/language/preservation-1.2/library/src/Validate.lex.tex +++ b/language/preservation-1.2/library/src/Validate.lex.tex @@ -5337,10 +5337,7 @@ @7143 := @7140 (@7141 @6711) @7145 := (x : @164) -> @7138 @7143 @7147 := @102 (@339 @1073) -@7154 := LexLeanTarget.TargetSemantics.LexLeanRuntime.index - (@82 @1073) - @1073 - (LexLeanTarget.TargetSemantics.LexLeanRuntime.instIndexableList @1073) +@7154 := LexLeanRuntime.index (@82 @1073) @1073 (LexLeanRuntime.instIndexableList @1073) @7155 := LexLeanTarget.TargetSyntax.Program.functions @7159 := @7147 (@7154 (@7155 @12) @8) @7160 := @347 @1073 diff --git a/language/preservation-1.2/modules/LexLeanTarget/RustSemantics.lean b/language/preservation-1.2/modules/LexLeanTarget/RustSemantics.lean index 84f0800b2..10b8988a5 100644 --- a/language/preservation-1.2/modules/LexLeanTarget/RustSemantics.lean +++ b/language/preservation-1.2/modules/LexLeanTarget/RustSemantics.lean @@ -1,5 +1,6 @@ module public import Init +public import LexLeanRuntime.Portable public import LexLeanTarget.RustSyntax public import LexLeanTarget.TargetSemantics public import LexLeanTarget.TargetSyntax @@ -9,289 +10,6 @@ set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace LexLeanTarget.RustSemantics -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - public inductive ROutcome where | value (_ : LexLeanTarget.TargetSyntax.Value) | raise diff --git a/language/preservation-1.2/modules/LexLeanTarget/TargetSemantics.lean b/language/preservation-1.2/modules/LexLeanTarget/TargetSemantics.lean index c6c633013..ca522f797 100644 --- a/language/preservation-1.2/modules/LexLeanTarget/TargetSemantics.lean +++ b/language/preservation-1.2/modules/LexLeanTarget/TargetSemantics.lean @@ -1,5 +1,7 @@ module public import Init +public import LexLeanRuntime.Portable +public import LexLeanRuntime.Collections public import LexLeanTarget.TargetSyntax set_option autoImplicit false set_option maxRecDepth 100000 @@ -7,433 +9,6 @@ set_option maxHeartbeats 1000000000 set_option linter.constructorNameAsVariable false namespace LexLeanTarget.TargetSemantics -namespace LexLeanRuntime - -public class ToMathInt (α : Type) where - toInt : α -> Int - -public class Fixed (α : Type) extends ToMathInt α where - fromInt : Int -> α - minimum : Int - maximum : Int - bitAnd : α -> α -> α - bitOr : α -> α -> α - bitXor : α -> α -> α - bitNot : α -> α - shiftLeft : α -> UInt32 -> Option α - shiftRight : α -> UInt32 -> Option α - -public instance : ToMathInt Int where toInt := fun value => value - -public instance : Fixed Int8 where - toInt := Int8.toInt - fromInt := Int8.ofInt - minimum := -128 - maximum := 127 - bitAnd := Int8.land - bitOr := Int8.lor - bitXor := Int8.xor - bitNot := Int8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none - -public instance : Fixed Int16 where - toInt := Int16.toInt - fromInt := Int16.ofInt - minimum := -32768 - maximum := 32767 - bitAnd := Int16.land - bitOr := Int16.lor - bitXor := Int16.xor - bitNot := Int16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none - -public instance : Fixed Int32 where - toInt := Int32.toInt - fromInt := Int32.ofInt - minimum := -2147483648 - maximum := 2147483647 - bitAnd := Int32.land - bitOr := Int32.lor - bitXor := Int32.xor - bitNot := Int32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none - -public instance : Fixed Int64 where - toInt := Int64.toInt - fromInt := Int64.ofInt - minimum := -9223372036854775808 - maximum := 9223372036854775807 - bitAnd := Int64.land - bitOr := Int64.lor - bitXor := Int64.xor - bitNot := Int64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none - -public instance : Fixed UInt8 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt8.ofInt - minimum := 0 - maximum := 255 - bitAnd := UInt8.land - bitOr := UInt8.lor - bitXor := UInt8.xor - bitNot := UInt8.complement - shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none - -public instance : Fixed UInt16 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt16.ofInt - minimum := 0 - maximum := 65535 - bitAnd := UInt16.land - bitOr := UInt16.lor - bitXor := UInt16.xor - bitNot := UInt16.complement - shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none - -public instance : Fixed UInt32 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt32.ofInt - minimum := 0 - maximum := 4294967295 - bitAnd := UInt32.land - bitOr := UInt32.lor - bitXor := UInt32.xor - bitNot := UInt32.complement - shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none - shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none - -public instance : Fixed UInt64 where - toInt := fun value => Int.ofNat value.toNat - fromInt := UInt64.ofInt - minimum := 0 - maximum := 18446744073709551615 - bitAnd := UInt64.land - bitOr := UInt64.lor - bitXor := UInt64.xor - bitNot := UInt64.complement - shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none - shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none - -@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := - if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) - -@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := - checkedFromInt (ToMathInt.toInt value) - -@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) - -@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) - -@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := - checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) - -@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := - checkedFromInt (-ToMathInt.toInt value) - -@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := - if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) - -@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := - let value := left + right - if (0 < right && value < left) || (right < 0 && left < value) then none else some value - -@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := - let value := left - right - if (0 < right && left < value) || (right < 0 && value < left) then none else some value - -@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := - if value == (-9223372036854775808 : Int64) then none else some (-value) - -@[expose] public def magnitudeInt64 (value : Int64) : UInt64 := - let bits := value.toUInt64 - if value < 0 then 0 - bits else bits - -@[expose] public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := - (if negative then 0 - value else value).toInt64 - -@[expose] public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 - | 0, _, _, _, quotient => quotient - | Nat.succ fuel, source, divisor, remainder, quotient => - let high := 9223372036854775808 <= source - let source := source + source - let remainder := remainder + remainder + if high then 1 else 0 - let quotient := quotient + quotient - if divisor <= remainder then - divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) - else - divideMagnitudeInt64 fuel source divisor remainder quotient - -@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := - if right == 0 then none - else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none - else - let negative := (left < 0) != (right < 0) - some (signedMagnitudeInt64 negative - (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) - -@[expose] public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 - | 0, _, _, accumulator, _ => some accumulator - | Nat.succ fuel, source, multiplicand, accumulator, negative => - let high := 9223372036854775808 <= source - let limit := if negative then 9223372036854775808 else 9223372036854775807 - let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 - if halfLimit < accumulator then none - else - let doubled := accumulator + accumulator - if high then - if limit < multiplicand || limit - multiplicand < doubled then none - else multiplyMagnitudeInt64 fuel (source + source) multiplicand - (doubled + multiplicand) negative - else - multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative - -@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := - let negative := (left < 0) != (right < 0) - match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with - | none => none - | some value => some (signedMagnitudeInt64 negative value) - -@[expose, noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right -@[expose, noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right -@[expose, noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value - -public class Quotient (α : Type) where - quotient : α -> α -> α - remainder : α -> α -> α - isZero : α -> Bool - -public instance : Quotient Nat where - quotient := Nat.div - remainder := Nat.mod - isZero := fun value => value == 0 - -public instance : Quotient Int where - quotient := Int.tdiv - remainder := Int.tmod - isZero := fun value => value == 0 - -@[expose, noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.quotient left right - -@[expose, noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := - if Quotient.isZero right then zeroCase else Quotient.remainder left right - -@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right -@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right -@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right -@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value -@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount -@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount - -public class Appendable (α : Type) where append : α -> α -> α -public instance {α : Type} : Appendable (List α) where append := List.append -public instance : Appendable ByteArray where append := ByteArray.append -@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right - -public class Lengthable (α : Type) where length : α -> Nat -public instance {α : Type} : Lengthable (List α) where length := List.length -public instance : Lengthable ByteArray where length := ByteArray.size -public instance : Lengthable String where length := String.length -@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value - -@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α - | [], _ => none - | head :: _, 0 => some head - | _ :: tail, index + 1 => listIndex tail index - -public class Indexable (α β : Type) where index : α -> Nat -> Option β -public instance {α : Type} : Indexable (List α) α where index := listIndex -public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? -@[expose, noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset - -public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α -public instance {α : Type} : Sliceable (List α) where - slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none -public instance : Sliceable ByteArray where - slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none -@[expose, noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count - -@[expose, noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 -@[expose, noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value -@[expose, noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList -@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right - -@[expose, noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := - let fields := value.splitOn delimiter - if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields - -@[expose, noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values - -public class Decimal (α : Type) where - parse : String -> Option α - format : α -> String - -public instance : Decimal Int where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none - format := toString - -public instance {α : Type} [Fixed α] [ToString α] : Decimal α where - parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none - format := toString - -@[expose, noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value -@[expose, noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value - -end LexLeanRuntime - -namespace LexLeanCollections - -public class Key (α : Type) where - compare : α -> α -> Ordering - -@[expose] public def compareCodes : List Char -> List Char -> Ordering - | [], [] => .eq - | [], _ :: _ => .lt - | _ :: _, [] => .gt - | left :: lefts, right :: rights => - match Ord.compare left.val.toNat right.val.toNat with - | .eq => compareCodes lefts rights - | other => other - -public instance : Key Nat where compare := Ord.compare -public instance : Key Int where compare := Ord.compare -public instance : Key Bool where compare := Ord.compare -public instance : Key Int8 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int16 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int32 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key Int64 where compare left right := Ord.compare left.toInt right.toInt -public instance : Key UInt8 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt16 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt32 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key UInt64 where compare left right := Ord.compare left.toNat right.toNat -public instance : Key String where compare left right := compareCodes left.toList right.toList -public instance {α β : Type} [Key α] [Key β] : Key (Prod α β) where - compare left right := match Key.compare left.1 right.1 with - | .eq => Key.compare left.2 right.2 - | other => other - -@[expose] public def insertEntry {κ ν : Type} [Key κ] (key : κ) (value : ν) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [(key, value)] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (key, value) :: (other, stored) :: rest - | .eq => (key, value) :: rest - | .gt => (other, stored) :: insertEntry key value rest - -@[expose] public def removeEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> List (Prod κ ν) - | [] => [] - | (other, stored) :: rest => match Key.compare key other with - | .lt => (other, stored) :: rest - | .eq => rest - | .gt => (other, stored) :: removeEntry key rest - -@[expose] public def lookupEntry {κ ν : Type} [Key κ] (key : κ) : List (Prod κ ν) -> Option ν - | [] => none - | (other, stored) :: rest => match Key.compare key other with - | .lt => none - | .eq => some stored - | .gt => lookupEntry key rest - -@[expose] public def insertElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [key] - | other :: rest => match Key.compare key other with - | .lt => key :: other :: rest - | .eq => other :: rest - | .gt => other :: insertElement key rest - -@[expose] public def removeElement {κ : Type} [Key κ] (key : κ) : List κ -> List κ - | [] => [] - | other :: rest => match Key.compare key other with - | .lt => other :: rest - | .eq => rest - | .gt => other :: removeElement key rest - -@[expose] public def containsElement {κ : Type} [Key κ] (key : κ) : List κ -> Bool - | [] => false - | other :: rest => match Key.compare key other with - | .lt => false - | .eq => true - | .gt => containsElement key rest - -@[expose] public def mapInsert {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) (value : ν) : List (Prod κ ν) := insertEntry key value map -@[expose] public def mapRemove {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : List (Prod κ ν) := removeEntry key map -@[expose] public def mapLookup {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Option ν := lookupEntry key map -@[expose] public def mapContains {κ ν : Type} [Key κ] (map : List (Prod κ ν)) (key : κ) : Bool := (lookupEntry key map).isSome -@[expose] public def mapSize {κ ν : Type} (map : List (Prod κ ν)) : Nat := map.length -@[expose] public def mapKeys {κ ν : Type} (map : List (Prod κ ν)) : List κ := map.map Prod.fst -@[expose] public def mapValues {κ ν : Type} (map : List (Prod κ ν)) : List ν := map.map Prod.snd -@[expose] public def mapEntries {κ ν : Type} (map : List (Prod κ ν)) : List (Prod κ ν) := map -@[expose] public def mapFold {κ ν β : Type} (step : β -> κ -> ν -> β) (initial : β) (map : List (Prod κ ν)) : β := - map.foldl (fun state entry => step state entry.1 entry.2) initial - -@[expose] public def setInsert {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := insertElement key set -@[expose] public def setRemove {κ : Type} [Key κ] (set : List κ) (key : κ) : List κ := removeElement key set -@[expose] public def setContains {κ : Type} [Key κ] (set : List κ) (key : κ) : Bool := containsElement key set -@[expose] public def setSize {κ : Type} (set : List κ) : Nat := set.length -@[expose] public def setElements {κ : Type} (set : List κ) : List κ := set -@[expose] public def setUnion {κ : Type} [Key κ] (left right : List κ) : List κ := right.foldl (fun acc key => insertElement key acc) left -@[expose] public def setIntersection {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => containsElement key right) -@[expose] public def setDifference {κ : Type} [Key κ] (left right : List κ) : List κ := left.filter (fun key => !containsElement key right) - -@[expose] public def graphSuccessors {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (node : κ) : List κ := - (lookupEntry node graph).getD [] - -@[expose] public def graphNodes {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : List κ := - graph.foldl (fun acc entry => entry.2.foldl (fun inner node => insertElement node inner) (insertElement entry.1 acc)) [] - -@[expose] public def reachableFrom {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> List κ - | 0, _, seen => seen - | Nat.succ fuel, frontier, seen => - let next := frontier.foldl (fun acc node => - (graphSuccessors graph node).foldl (fun acc2 succ => - if containsElement succ seen || containsElement succ acc2 then acc2 else insertElement succ acc2) acc) [] - match next with - | [] => seen - | _ => reachableFrom graph fuel next (next.foldl (fun acc key => insertElement key acc) seen) - -@[expose] public def graphReachable {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) (start : κ) : List κ := - reachableFrom graph ((graphNodes graph).length + 1) [start] [start] - -@[expose] public def topological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Nat -> List κ -> List κ -> Option (List κ) - | 0, remaining, order => if remaining.isEmpty then some order.reverse else none - | Nat.succ fuel, remaining, order => - match remaining.filter (fun node => remaining.all (fun other => !containsElement node (graphSuccessors graph other))) with - | [] => if remaining.isEmpty then some order.reverse else none - | ready :: _ => topological graph fuel (removeElement ready remaining) (ready :: order) - -@[expose] public def graphTopological {κ : Type} [Key κ] (graph : List (Prod κ (List κ))) : Option (List κ) := - let nodes := graphNodes graph - topological graph (nodes.length + 1) nodes [] -@[expose] public def listFold {α σ : Type} (step : σ -> α -> σ) (initial : σ) (values : List α) : σ := - values.foldl step initial - -@[expose] public def setFold {κ σ : Type} (step : σ -> κ -> σ) (initial : σ) (set : List κ) : σ := - set.foldl step initial - -@[expose] public def iterate {σ : Type} (step : σ -> σ) : Nat -> σ -> σ - | 0, state => state - | Nat.succ count, state => iterate step count (step state) - -@[expose] public def iterateUntil {σ : Type} (step : σ -> Option σ) : Nat -> σ -> Prod σ Bool - | 0, state => (state, false) - | Nat.succ fuel, state => match step state with - | none => (state, true) - | some next => iterateUntil step fuel next - -@[expose] public def lessThan {κ : Type} [Key κ] (left right : κ) : Bool := - match Key.compare left right with - | .lt => true - | _ => false -end LexLeanCollections - public inductive Outcome where | value (_ : LexLeanTarget.TargetSyntax.Value) (_ : Nat) | overflow (_ : Nat) diff --git a/language/runtime-1.2/frozen/core-decoder-1.txt b/language/runtime-1.2/frozen/core-decoder-1.txt new file mode 100644 index 000000000..5f480375c --- /dev/null +++ b/language/runtime-1.2/frozen/core-decoder-1.txt @@ -0,0 +1,248 @@ + +namespace LexLeanCore.Runtime + +private def fail {α : Type} (message : String) : Except String α := .error message + +private def field (json : Json) (name : String) : Except String Json := + json.getObjVal? name + +private def stringField (json : Json) (name : String) : Except String String := do + (← field json name).getStr? + +private def natField (json : Json) (name : String) : Except String Nat := do + (← field json name).getNat? + +private def boolField (json : Json) (name : String) : Except String Bool := do + (← field json name).getBool? + +private def arrayField (json : Json) (name : String) : Except String (Array Json) := do + (← field json name).getArr? + +private def optionalField (json : Json) (name : String) : Option Json := + match json.getObjVal? name with + | .ok value => some value + | .error _ => none + +private def nameOf (value : String) : Name := + value.splitOn "." |>.foldl (fun name part => name.str part) .anonymous + +private partial def levelOf (json : Json) : Except String Level := do + match ← stringField json "k" with + | "z" => pure .zero + | "s" => pure (.succ (← levelOf (← field json "a"))) + | "m" | "i" => + let values ← (← field json "a").getArr? + let some left := values[0]? | fail "core level pair lacks its left value" + let some right := values[1]? | fail "core level pair lacks its right value" + if values.size != 2 then fail "core level pair has extra values" + let left ← levelOf left + let right ← levelOf right + if (← stringField json "k") == "m" then pure (.max left right) else pure (.imax left right) + | "p" => pure (.param (nameOf (← stringField json "a"))) + | kind => fail s!"unknown core level kind '{kind}'" + +private def levelsOf (json : Json) : Except String (List Level) := do + let values ← json.getArr? + values.toList.mapM levelOf + +private def namesOf (json : Json) : Except String (List Name) := do + let values ← json.getArr? + values.toList.mapM fun value => do pure (nameOf (← value.getStr?)) + +private def binderOf (value : String) : Except String BinderInfo := + match value with + | "e" => pure .default + | "i" => pure .implicit + | "s" => pure .strictImplicit + | "c" => pure .instImplicit + | kind => fail s!"unknown core binder kind '{kind}'" + +private def nodeAt (nodes : Array Expr) (index : Nat) : Except String Expr := + match nodes[index]? with + | some node => .ok node + | none => fail s!"core node reference {index} is out of range" + +private def nodeOf (nodes : Array Expr) (json : Json) : Except String Expr := do + match ← stringField json "k" with + | "b" => pure (.bvar (← natField json "i")) + | "s" => pure (.sort (← levelOf (← field json "l"))) + | "c" => pure (.const (nameOf (← stringField json "n")) (← levelsOf (← field json "u"))) + | "a" => pure (.app (← nodeAt nodes (← natField json "f")) (← nodeAt nodes (← natField json "x"))) + | "l" => pure (.lam `_ (← nodeAt nodes (← natField json "t")) + (← nodeAt nodes (← natField json "v")) (← binderOf (← stringField json "b"))) + | "p" => pure (.forallE `_ (← nodeAt nodes (← natField json "t")) + (← nodeAt nodes (← natField json "v")) (← binderOf (← stringField json "b"))) + | "e" => pure (.letE `_ (← nodeAt nodes (← natField json "t")) + (← nodeAt nodes (← natField json "v")) (← nodeAt nodes (← natField json "body")) + (← boolField json "d")) + | "n" => + let value ← stringField json "v" + let some value := value.toNat? | fail s!"invalid core natural literal '{value}'" + pure (.lit (.natVal value)) + | "t" => + let values ← (← field json "v").getArr? + let chars ← values.toList.mapM fun value => do pure (Char.ofNat (← value.getNat?)) + pure (.lit (.strVal (String.ofList chars))) + | "j" => pure (.proj (nameOf (← stringField json "s")) (← natField json "i") + (← nodeAt nodes (← natField json "x"))) + | kind => fail s!"unknown core node kind '{kind}'" + +private def liftString {α : Type} : Except String α → CoreM α + | .ok value => pure value + | .error message => throwError message + +private def findDeclaration (declarations : Array Json) (name : String) : CoreM Json := do + for declaration in declarations do + if (← liftString (stringField declaration "name")) == name then return declaration + throwError s!"core declaration '{name}' is absent" + +private def addOneUnchecked (nodes : Array Expr) (declarations : Array Json) + (json : Json) : CoreM Unit := do + if ← liftString (boolField json "generated") then return + let nameString ← liftString (stringField json "name") + let name := nameOf nameString + let levelParams ← liftString (namesOf (← liftString (field json "levels"))) + let type ← liftString (nodeAt nodes (← liftString (natField json "type"))) + let kindString ← liftString (stringField json "kind") + match kindString with + | "inductive" => + let metadata ← liftString (field json "inductive") + let numParams ← liftString (natField metadata "num_params") + let constructorNames ← liftString (arrayField metadata "constructors") + let mut constructors : List Constructor := [] + for constructorName in constructorNames do + let constructorName ← liftString constructorName.getStr? + let row ← findDeclaration declarations constructorName + let constructorType ← liftString (nodeAt nodes (← liftString (natField row "type"))) + constructors := constructors.concat { name := nameOf constructorName, type := constructorType } + Lean.addDecl (.inductDecl levelParams numParams [{ name, type, ctors := constructors }] false) + (forceExpose := true) + | "abbrev" | "definition" => + let valueIndex ← liftString (natField json "value") + let value ← liftString (nodeAt nodes valueIndex) + let metadata ← liftString (field json "reducibility") + let reducibilityKind ← liftString (stringField metadata "kind") + let hints ← match reducibilityKind with + | "abbrev" => pure ReducibilityHints.abbrev + | "opaque" => pure (default : ReducibilityHints) + | "regular" => pure (ReducibilityHints.regular + (UInt32.ofNat (← liftString (natField metadata "height")))) + | other => throwError s!"unknown core reducibility kind '{other}'" + Lean.addDecl (.defnDecl { name, levelParams, type, value, hints, safety := .safe }) + (forceExpose := true) + | "theorem" => + let value ← liftString (nodeAt nodes (← liftString (natField json "value"))) + Lean.addDecl (.thmDecl { name, levelParams, type, value }) (forceExpose := true) + | "constructor" | "recursor" => + throwError s!"non-generated primitive core declaration '{nameString}'" + | kind => throwError s!"unknown core declaration kind '{kind}'" + +private def addOne (nodes : Array Expr) (declarations : Array Json) (json : Json) : CoreM Unit := do + let name ← liftString (stringField json "name") + try + addOneUnchecked nodes declarations json + catch error => + throwError m!"native core declaration '{name}':{indentD error.toMessageData}" + +private def decodeNodeBatch (nodes : Array Expr) (data : String) : CoreM (Array Expr) := do + let json ← liftString (Json.parse data) + let rows ← liftString json.getArr? + let mut nodes := nodes + for row in rows do + nodes := nodes.push (← liftString (nodeOf nodes row)) + pure nodes + +def decodeAndAdd (nodeBatches : Array String) (data : String) : CoreM Unit := do + let mut nodes : Array Expr := #[] + for batch in nodeBatches do + nodes ← decodeNodeBatch nodes batch + let document ← liftString (Json.parse data) + let declarations ← liftString (arrayField document "declarations") + let order ← liftString (arrayField document "order") + for index in order do + let index ← liftString index.getNat? + let some declaration := declarations[index]? | + throwError s!"core declaration order index {index} is out of range" + addOne nodes declarations declaration + for declaration in declarations do + if (← liftString (stringField declaration "kind")) == "inductive" then + let metadata ← liftString (field declaration "inductive") + if let some structureData := optionalField metadata "structure" then + let name := nameOf (← liftString (stringField declaration "name")) + let fieldRows ← liftString (arrayField structureData "fields") + let mut fields : Array StructureFieldInfo := #[] + for row in fieldRows do + let subobject? : Option Name ← match optionalField row "subobject" with + | some value => pure (some (nameOf (← liftString value.getStr?))) + | none => pure none + let autoParam? : Option Expr ← match optionalField row "auto_param" with + | some value => pure (some (← liftString (nodeAt nodes (← liftString value.getNat?)))) + | none => pure none + let fieldName := nameOf (← liftString (stringField row "name")) + let projFn := nameOf (← liftString (stringField row "projection")) + let binderInfo ← liftString (binderOf (← liftString (stringField row "binder"))) + fields := fields.push { + fieldName + projFn + subobject? + binderInfo + autoParam? } + setEnv <| Lean.registerStructure (← getEnv) { structName := name, fields } + for declaration in declarations do + if (← liftString (stringField declaration "kind")) == "inductive" then + let metadata ← liftString (field declaration "inductive") + if let some structureData := optionalField metadata "structure" then + let name := nameOf (← liftString (stringField declaration "name")) + let parentRows ← liftString (arrayField structureData "parents") + let mut parents : Array StructureParentInfo := #[] + for row in parentRows do + let structName := nameOf (← liftString (stringField row "name")) + let subobject ← liftString (boolField row "subobject") + let projFn := nameOf (← liftString (stringField row "projection")) + parents := parents.push { + structName + subobject + projFn } + Lean.setStructureParents name parents + for declaration in declarations do + if (← liftString (stringField declaration "kind")) == "inductive" then + let metadata ← liftString (field declaration "inductive") + if (optionalField metadata "structure").isSome then + discard <| Lean.computeStructureResolutionOrder + (nameOf (← liftString (stringField declaration "name"))) true + for declaration in declarations do + let name := nameOf (← liftString (stringField declaration "name")) + let status ← match ← liftString (stringField declaration "transparency") with + | "reducible" => pure ReducibilityStatus.reducible + | "semireducible" => pure ReducibilityStatus.semireducible + | "irreducible" => pure ReducibilityStatus.irreducible + | "implicit-reducible" => pure ReducibilityStatus.implicitReducible + | other => throwError s!"unknown core transparency '{other}'" + Lean.setReducibilityStatus name status + for declaration in declarations do + let generated ← liftString (boolField declaration "generated") + if !generated && (← liftString (boolField declaration "class")) then + let name := nameOf (← liftString (stringField declaration "name")) + match Lean.addClass (← getEnv) name with + | .ok env => setEnv env + | .error message => throwError message + for declaration in declarations do + if let some metadata := optionalField declaration "instance" then + let name := nameOf (← liftString (stringField declaration "name")) + let priority ← liftString (natField metadata "priority") + let attributeKind ← match ← liftString (stringField metadata "attribute") with + | "global" => pure AttributeKind.global + | "local" => pure AttributeKind.local + | "scoped" => pure AttributeKind.scoped + | other => throwError s!"unknown core instance attribute kind '{other}'" + Lean.Meta.MetaM.run' <| Lean.Meta.addInstance name attributeKind priority + let expectedRows ← liftString (arrayField metadata "synthesis_order") + let mut expected : Array Nat := #[] + for row in expectedRows do expected := expected.push (← liftString row.getNat?) + let some actual := (Lean.Meta.instanceExtension.getState (← getEnv) + |>.instanceNames.find? name) | + throwError s!"core instance '{name}' was not registered" + unless actual.synthOrder == expected do + throwError s!"core instance '{name}' reconstructed synthesis order {actual.synthOrder.toList} instead of {expected.toList}" + +end LexLeanCore.Runtime diff --git a/language/runtime-1.2/frozen/portable-runtime-1.1.txt b/language/runtime-1.2/frozen/portable-runtime-1.1.txt new file mode 100644 index 000000000..566bbd50d --- /dev/null +++ b/language/runtime-1.2/frozen/portable-runtime-1.1.txt @@ -0,0 +1,283 @@ + +namespace LexLeanRuntime + +public class ToMathInt (α : Type) where + toInt : α -> Int + +public class Fixed (α : Type) extends ToMathInt α where + fromInt : Int -> α + minimum : Int + maximum : Int + bitAnd : α -> α -> α + bitOr : α -> α -> α + bitXor : α -> α -> α + bitNot : α -> α + shiftLeft : α -> UInt32 -> Option α + shiftRight : α -> UInt32 -> Option α + +public instance : ToMathInt Int where toInt := fun value => value + +public instance : Fixed Int8 where + toInt := Int8.toInt + fromInt := Int8.ofInt + minimum := -128 + maximum := 127 + bitAnd := Int8.land + bitOr := Int8.lor + bitXor := Int8.xor + bitNot := Int8.complement + shiftLeft := fun value amount => if amount.toNat < 8 then some (Int8.shiftLeft value (Int8.ofNat amount.toNat)) else none + shiftRight := fun value amount => if amount.toNat < 8 then some (Int8.shiftRight value (Int8.ofNat amount.toNat)) else none + +public instance : Fixed Int16 where + toInt := Int16.toInt + fromInt := Int16.ofInt + minimum := -32768 + maximum := 32767 + bitAnd := Int16.land + bitOr := Int16.lor + bitXor := Int16.xor + bitNot := Int16.complement + shiftLeft := fun value amount => if amount.toNat < 16 then some (Int16.shiftLeft value (Int16.ofNat amount.toNat)) else none + shiftRight := fun value amount => if amount.toNat < 16 then some (Int16.shiftRight value (Int16.ofNat amount.toNat)) else none + +public instance : Fixed Int32 where + toInt := Int32.toInt + fromInt := Int32.ofInt + minimum := -2147483648 + maximum := 2147483647 + bitAnd := Int32.land + bitOr := Int32.lor + bitXor := Int32.xor + bitNot := Int32.complement + shiftLeft := fun value amount => if amount.toNat < 32 then some (Int32.shiftLeft value (Int32.ofNat amount.toNat)) else none + shiftRight := fun value amount => if amount.toNat < 32 then some (Int32.shiftRight value (Int32.ofNat amount.toNat)) else none + +public instance : Fixed Int64 where + toInt := Int64.toInt + fromInt := Int64.ofInt + minimum := -9223372036854775808 + maximum := 9223372036854775807 + bitAnd := Int64.land + bitOr := Int64.lor + bitXor := Int64.xor + bitNot := Int64.complement + shiftLeft := fun value amount => if amount.toNat < 64 then some (Int64.shiftLeft value (Int64.ofNat amount.toNat)) else none + shiftRight := fun value amount => if amount.toNat < 64 then some (Int64.shiftRight value (Int64.ofNat amount.toNat)) else none + +public instance : Fixed UInt8 where + toInt := fun value => Int.ofNat value.toNat + fromInt := UInt8.ofInt + minimum := 0 + maximum := 255 + bitAnd := UInt8.land + bitOr := UInt8.lor + bitXor := UInt8.xor + bitNot := UInt8.complement + shiftLeft := fun value amount => if amount.toNat < 8 then some (UInt8.shiftLeft value (UInt8.ofNat amount.toNat)) else none + shiftRight := fun value amount => if amount.toNat < 8 then some (UInt8.shiftRight value (UInt8.ofNat amount.toNat)) else none + +public instance : Fixed UInt16 where + toInt := fun value => Int.ofNat value.toNat + fromInt := UInt16.ofInt + minimum := 0 + maximum := 65535 + bitAnd := UInt16.land + bitOr := UInt16.lor + bitXor := UInt16.xor + bitNot := UInt16.complement + shiftLeft := fun value amount => if amount.toNat < 16 then some (UInt16.shiftLeft value (UInt16.ofNat amount.toNat)) else none + shiftRight := fun value amount => if amount.toNat < 16 then some (UInt16.shiftRight value (UInt16.ofNat amount.toNat)) else none + +public instance : Fixed UInt32 where + toInt := fun value => Int.ofNat value.toNat + fromInt := UInt32.ofInt + minimum := 0 + maximum := 4294967295 + bitAnd := UInt32.land + bitOr := UInt32.lor + bitXor := UInt32.xor + bitNot := UInt32.complement + shiftLeft := fun value amount => if amount.toNat < 32 then some (UInt32.shiftLeft value amount) else none + shiftRight := fun value amount => if amount.toNat < 32 then some (UInt32.shiftRight value amount) else none + +public instance : Fixed UInt64 where + toInt := fun value => Int.ofNat value.toNat + fromInt := UInt64.ofInt + minimum := 0 + maximum := 18446744073709551615 + bitAnd := UInt64.land + bitOr := UInt64.lor + bitXor := UInt64.xor + bitNot := UInt64.complement + shiftLeft := fun value amount => if amount.toNat < 64 then some (UInt64.shiftLeft value (UInt64.ofNat amount.toNat)) else none + shiftRight := fun value amount => if amount.toNat < 64 then some (UInt64.shiftRight value (UInt64.ofNat amount.toNat)) else none + +@[expose] public def checkedFromInt {α : Type} [Fixed α] (value : Int) : Option α := + if value < Fixed.minimum (α := α) then none else if Fixed.maximum (α := α) < value then none else some (Fixed.fromInt value) + +@[expose] public def checkedConvert {α β : Type} [ToMathInt α] [Fixed β] (value : α) : Option β := + checkedFromInt (ToMathInt.toInt value) + +@[expose] public def checkedAdd {α : Type} [Fixed α] (left right : α) : Option α := + checkedFromInt (ToMathInt.toInt left + ToMathInt.toInt right) + +@[expose] public def checkedSubtract {α : Type} [Fixed α] (left right : α) : Option α := + checkedFromInt (ToMathInt.toInt left - ToMathInt.toInt right) + +@[expose] public def checkedMultiply {α : Type} [Fixed α] (left right : α) : Option α := + checkedFromInt (ToMathInt.toInt left * ToMathInt.toInt right) + +@[expose] public def checkedNegate {α : Type} [Fixed α] (value : α) : Option α := + checkedFromInt (-ToMathInt.toInt value) + +@[expose] public def checkedQuotient {α : Type} [Fixed α] (left right : α) : Option α := + if ToMathInt.toInt right = 0 then none else checkedFromInt (Int.tdiv (ToMathInt.toInt left) (ToMathInt.toInt right)) + +@[expose] public def checkedAddInt64 (left right : Int64) : Option Int64 := + let value := left + right + if (0 < right && value < left) || (right < 0 && left < value) then none else some value + +@[expose] public def checkedSubtractInt64 (left right : Int64) : Option Int64 := + let value := left - right + if (0 < right && left < value) || (right < 0 && value < left) then none else some value + +@[expose] public def checkedNegateInt64 (value : Int64) : Option Int64 := + if value == (-9223372036854775808 : Int64) then none else some (-value) + +public def magnitudeInt64 (value : Int64) : UInt64 := + let bits := value.toUInt64 + if value < 0 then 0 - bits else bits + +public def signedMagnitudeInt64 (negative : Bool) (value : UInt64) : Int64 := + (if negative then 0 - value else value).toInt64 + +public def divideMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> UInt64 -> UInt64 + | 0, _, _, _, quotient => quotient + | Nat.succ fuel, source, divisor, remainder, quotient => + let high := 9223372036854775808 <= source + let source := source + source + let remainder := remainder + remainder + if high then 1 else 0 + let quotient := quotient + quotient + if divisor <= remainder then + divideMagnitudeInt64 fuel source divisor (remainder - divisor) (quotient + 1) + else + divideMagnitudeInt64 fuel source divisor remainder quotient + +@[expose] public def checkedQuotientInt64 (left right : Int64) : Option Int64 := + if right == 0 then none + else if left == (-9223372036854775808 : Int64) && right == (-1 : Int64) then none + else + let negative := (left < 0) != (right < 0) + some (signedMagnitudeInt64 negative + (divideMagnitudeInt64 64 (magnitudeInt64 left) (magnitudeInt64 right) 0 0)) + +public def multiplyMagnitudeInt64 : Nat -> UInt64 -> UInt64 -> UInt64 -> Bool -> Option UInt64 + | 0, _, _, accumulator, _ => some accumulator + | Nat.succ fuel, source, multiplicand, accumulator, negative => + let high := 9223372036854775808 <= source + let limit := if negative then 9223372036854775808 else 9223372036854775807 + let halfLimit := if negative then 4611686018427387904 else 4611686018427387903 + if halfLimit < accumulator then none + else + let doubled := accumulator + accumulator + if high then + if limit < multiplicand || limit - multiplicand < doubled then none + else multiplyMagnitudeInt64 fuel (source + source) multiplicand + (doubled + multiplicand) negative + else + multiplyMagnitudeInt64 fuel (source + source) multiplicand doubled negative + +@[expose] public def checkedMultiplyInt64 (left right : Int64) : Option Int64 := + let negative := (left < 0) != (right < 0) + match multiplyMagnitudeInt64 64 (magnitudeInt64 right) (magnitudeInt64 left) 0 negative with + | none => none + | some value => some (signedMagnitudeInt64 negative value) + +@[noinline] public def subtract {α : Type} [Sub α] (left right : α) : α := left - right +@[noinline] public def multiply {α : Type} [Mul α] (left right : α) : α := left * right +@[noinline] public def negate {α : Type} [Neg α] (value : α) : α := -value + +public class Quotient (α : Type) where + quotient : α -> α -> α + remainder : α -> α -> α + isZero : α -> Bool + +public instance : Quotient Nat where + quotient := Nat.div + remainder := Nat.mod + isZero := fun value => value == 0 + +public instance : Quotient Int where + quotient := Int.tdiv + remainder := Int.tmod + isZero := fun value => value == 0 + +@[noinline] public def quotient {α : Type} [Quotient α] (left right zeroCase : α) : α := + if Quotient.isZero right then zeroCase else Quotient.quotient left right + +@[noinline] public def remainder {α : Type} [Quotient α] (left right zeroCase : α) : α := + if Quotient.isZero right then zeroCase else Quotient.remainder left right + +@[expose] public def bitAnd {α : Type} [Fixed α] (left right : α) : α := Fixed.bitAnd left right +@[expose] public def bitOr {α : Type} [Fixed α] (left right : α) : α := Fixed.bitOr left right +@[expose] public def bitXor {α : Type} [Fixed α] (left right : α) : α := Fixed.bitXor left right +@[expose] public def bitNot {α : Type} [Fixed α] (value : α) : α := Fixed.bitNot value +@[expose] public def shiftLeft {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftLeft value amount +@[expose] public def shiftRight {α : Type} [Fixed α] (value : α) (amount : UInt32) : Option α := Fixed.shiftRight value amount + +public class Appendable (α : Type) where append : α -> α -> α +public instance {α : Type} : Appendable (List α) where append := List.append +public instance : Appendable ByteArray where append := ByteArray.append +@[expose] public def append {α : Type} [Appendable α] (left right : α) : α := Appendable.append left right + +public class Lengthable (α : Type) where length : α -> Nat +public instance {α : Type} : Lengthable (List α) where length := List.length +public instance : Lengthable ByteArray where length := ByteArray.size +public instance : Lengthable String where length := String.length +@[expose] public def length {α : Type} [Lengthable α] (value : α) : Nat := Lengthable.length value + +@[expose] public def listIndex {α : Type} : List α -> Nat -> Option α + | [], _ => none + | head :: _, 0 => some head + | _ :: tail, index + 1 => listIndex tail index + +public class Indexable (α β : Type) where index : α -> Nat -> Option β +public instance {α : Type} : Indexable (List α) α where index := listIndex +public instance : Indexable ByteArray UInt8 where index := fun value offset => value.data[offset]? +@[noinline] public def index {α β : Type} [Indexable α β] (value : α) (offset : Nat) : Option β := Indexable.index value offset + +public class Sliceable (α : Type) where slice : α -> Nat -> Nat -> Option α +public instance {α : Type} : Sliceable (List α) where + slice := fun value start count => if start + count <= value.length then some ((value.drop start).take count) else none +public instance : Sliceable ByteArray where + slice := fun value start count => if start + count <= value.size then some (value.extract start (start + count)) else none +@[noinline] public def slice {α : Type} [Sliceable α] (value : α) (start count : Nat) : Option α := Sliceable.slice value start count + +@[noinline] public def utf8Encode (value : String) : ByteArray := value.toUTF8 +@[noinline] public def utf8Decode (value : ByteArray) : Option String := String.fromUTF8? value +@[noinline] public def compareBytes (left right : ByteArray) : Ordering := compare left.toList right.toList +@[expose] public def equal {α : Type} [BEq α] (left right : α) : Bool := left == right + +@[noinline] public def splitExact (value delimiter : String) (maximum : UInt32) : Option (List String) := + let fields := value.splitOn delimiter + if delimiter.isEmpty || maximum.toNat < fields.length then none else some fields + +@[noinline] public def join (values : List String) (delimiter : String) : String := delimiter.intercalate values + +public class Decimal (α : Type) where + parse : String -> Option α + format : α -> String + +public instance : Decimal Int where + parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then some parsed else none | none => none + format := toString + +public instance {α : Type} [Fixed α] [ToString α] : Decimal α where + parse := fun value => match value.toInt? with | some parsed => if toString parsed = value then checkedFromInt parsed else none | none => none + format := toString + +@[noinline] public def parseDecimal {α : Type} [Decimal α] (value : String) : Option α := Decimal.parse value +@[noinline] public def formatDecimal {α : Type} [Decimal α] (value : α) : String := Decimal.format value + +end LexLeanRuntime diff --git a/language/runtime-1.2/library.toml b/language/runtime-1.2/library.toml new file mode 100644 index 000000000..6307fa455 --- /dev/null +++ b/language/runtime-1.2/library.toml @@ -0,0 +1,3 @@ +spec = "lexlean/runtime-library/1" +toolchain = "leanprover/lean4:v4.32.1" +modules = ["LexLeanRuntime.Portable", "LexLeanRuntime.Collections", "LexLeanRuntime.Models", "LexLeanRuntime.Reasoning"] diff --git a/language/runtime-1.2/library/glossary/runtime.titles/entries/collections.toml b/language/runtime-1.2/library/glossary/runtime.titles/entries/collections.toml new file mode 100644 index 000000000..8aa56b8bc --- /dev/null +++ b/language/runtime-1.2/library/glossary/runtime.titles/entries/collections.toml @@ -0,0 +1,16 @@ +spec = "lexlean/entry/1" +id = "collections" +category = "label-word" +surface_arity = 0 +frame = "atom" + +[denotation] +kind = "defined" +value = "(const lexlean.std.nat::nat)" + +[[form]] +id = "collections" +channel = "text" +surface = "Runtime ordered collections" +canonical_source = true +features = ["sentence-case", "singular"] diff --git a/language/runtime-1.2/library/glossary/runtime.titles/entries/models.toml b/language/runtime-1.2/library/glossary/runtime.titles/entries/models.toml new file mode 100644 index 000000000..086af12c6 --- /dev/null +++ b/language/runtime-1.2/library/glossary/runtime.titles/entries/models.toml @@ -0,0 +1,16 @@ +spec = "lexlean/entry/1" +id = "models" +category = "label-word" +surface_arity = 0 +frame = "atom" + +[denotation] +kind = "defined" +value = "(const lexlean.std.nat::nat)" + +[[form]] +id = "models" +channel = "text" +surface = "Runtime model predicates" +canonical_source = true +features = ["sentence-case", "singular"] diff --git a/language/runtime-1.2/library/glossary/runtime.titles/entries/portable.toml b/language/runtime-1.2/library/glossary/runtime.titles/entries/portable.toml new file mode 100644 index 000000000..4ad7cd69f --- /dev/null +++ b/language/runtime-1.2/library/glossary/runtime.titles/entries/portable.toml @@ -0,0 +1,16 @@ +spec = "lexlean/entry/1" +id = "portable" +category = "label-word" +surface_arity = 0 +frame = "atom" + +[denotation] +kind = "defined" +value = "(const lexlean.std.nat::nat)" + +[[form]] +id = "portable" +channel = "text" +surface = "Runtime portable primitives" +canonical_source = true +features = ["sentence-case", "singular"] diff --git a/language/runtime-1.2/library/glossary/runtime.titles/entries/reasoning.toml b/language/runtime-1.2/library/glossary/runtime.titles/entries/reasoning.toml new file mode 100644 index 000000000..f1984281b --- /dev/null +++ b/language/runtime-1.2/library/glossary/runtime.titles/entries/reasoning.toml @@ -0,0 +1,16 @@ +spec = "lexlean/entry/1" +id = "reasoning" +category = "label-word" +surface_arity = 0 +frame = "atom" + +[denotation] +kind = "defined" +value = "(const lexlean.std.nat::nat)" + +[[form]] +id = "reasoning" +channel = "text" +surface = "Runtime reasoning lemmas" +canonical_source = true +features = ["sentence-case", "singular"] diff --git a/language/runtime-1.2/library/glossary/runtime.titles/lexicon.toml b/language/runtime-1.2/library/glossary/runtime.titles/lexicon.toml new file mode 100644 index 000000000..cff18e895 --- /dev/null +++ b/language/runtime-1.2/library/glossary/runtime.titles/lexicon.toml @@ -0,0 +1,5 @@ +spec = "lexlean/lexicon/1" +package = "runtime.titles" +version = "1.0.0" +language = "1.2" +imports = ["lexlean.core@1.2.0", "lexlean.std.nat@1.2.0"] diff --git a/language/runtime-1.2/library/lake-manifest.json b/language/runtime-1.2/library/lake-manifest.json new file mode 100644 index 000000000..a7373438b --- /dev/null +++ b/language/runtime-1.2/library/lake-manifest.json @@ -0,0 +1,6 @@ +{"version": "1.2.0", + "packagesDir": ".lake/packages", + "packages": [], + "name": "runtime_library", + "lakeDir": ".lake", + "fixedToolchain": false} diff --git a/language/runtime-1.2/library/lakefile.toml b/language/runtime-1.2/library/lakefile.toml new file mode 100644 index 000000000..c71332eb7 --- /dev/null +++ b/language/runtime-1.2/library/lakefile.toml @@ -0,0 +1,2 @@ +name = "runtime_library" +version = "0.1.0" diff --git a/language/runtime-1.2/library/lean-toolchain b/language/runtime-1.2/library/lean-toolchain new file mode 100644 index 000000000..2b61957be --- /dev/null +++ b/language/runtime-1.2/library/lean-toolchain @@ -0,0 +1 @@ +leanprover/lean4:v4.32.1 diff --git a/language/runtime-1.2/library/lexlean.toml b/language/runtime-1.2/library/lexlean.toml new file mode 100644 index 000000000..cd979b9e6 --- /dev/null +++ b/language/runtime-1.2/library/lexlean.toml @@ -0,0 +1,32 @@ +spec = "lexlean/project/1" +name = "runtime-library" +language = "1.2" +module_prefix = "LexLeanRuntime" +source_roots = ["src"] +entrypoints = ["src/Models.lex.tex", "src/Reasoning.lex.tex"] +build_root = ".lexlean" +lockfile = "lexlean.lock" +lean_workspace = "." +lean_toolchain = "leanprover/lean4:v4.32.1" + +[[lexicon_source]] +package = "lexlean.std.nat" +kind = "builtin" + +[[lexicon_source]] +package = "runtime.titles" +kind = "path" +path = "glossary/runtime.titles" + +[limits] +max_file_bytes = 33554432 +max_total_source_bytes = 134217728 +max_primitive_atoms = 100000000 +max_token_lattice_edges = 4000000 +max_parse_states = 4000000 +max_ir_nodes = 4000000 +max_scope_depth = 1024 +max_import_depth = 128 +max_diagnostics = 256 +max_child_output_bytes = 16777216 +child_timeout_ms = 10800000 diff --git a/language/runtime-1.2/library/src/Collections.lex.tex b/language/runtime-1.2/library/src/Collections.lex.tex new file mode 100644 index 000000000..6bb862738 --- /dev/null +++ b/language/runtime-1.2/library/src/Collections.lex.tex @@ -0,0 +1,3054 @@ +\begin{lexlean}{Collections} +\useglossary{lexlean.std.nat@1.2.0} +\useglossary{runtime.titles@1.0.0} +\title{Runtime ordered collections} +\begin{coremodule} +imports [Init] + +constructor LexLeanCollections.Key.mk : @9 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +inductive LexLeanCollections.Key : @10 { + all: [LexLeanCollections.Key], + class: true, + compiled: true, + generated: false, + inductive: { + constructors: [LexLeanCollections.Key.mk], + num_indices: 0, + num_params: 1, + structure: { + fields: [{name: compare, binder: e, projection: LexLeanCollections.Key.compare}], + parents: [] + } + }, + policy: exact{axioms: []}, + transparency: semireducible +} +recursor LexLeanCollections.Key.rec.{u} : @27 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +abbrev LexLeanCollections.Key.casesOn.{u} : @39 := @53 { + all: [LexLeanCollections.Key.casesOn], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [aux_recursor], + transparency: reducible +} +abbrev LexLeanCollections.Key.compare : @55 := @58 { + all: [LexLeanCollections.Key.compare], + class: false, + generated: false, + policy: exact{axioms: []}, + projection: {constructor: LexLeanCollections.Key.mk, from_class: true, index: 0, num_params: 1}, + reducibility: abbrev{}, + transparency: semireducible +} +definition LexLeanCollections.Key.ctorIdx : @61 := @64 { + all: [LexLeanCollections.Key.ctorIdx], + class: false, + generated: false, + inline: macro_inline, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + tags: [protected], + transparency: semireducible +} +abbrev LexLeanCollections.Key.mk._flat_ctor : @9 := @68 { + all: [LexLeanCollections.Key.mk._flat_ctor], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: semireducible +} +abbrev LexLeanCollections.Key.noConfusionType.{u} : @73 := @104 { + all: [LexLeanCollections.Key.noConfusionType], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [protected], + transparency: reducible +} +abbrev LexLeanCollections.Key.noConfusion.{u} : @126 := @207 { + all: [LexLeanCollections.Key.noConfusion], + class: false, + generated: false, + no_confusion: regular{arity: 7, lhs: 2, rhs: 4}, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [protected], + transparency: reducible +} +abbrev LexLeanCollections.Key.mk.noConfusion.{u} : @225 := @254 { + all: [LexLeanCollections.Key.mk.noConfusion], + class: false, + generated: false, + no_confusion: per_ctor{fields: 1, arity: 5}, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: reducible +} +abbrev LexLeanCollections.Key.recOn.{u} : @39 := @260 { + all: [LexLeanCollections.Key.recOn], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [protected, aux_recursor], + transparency: reducible +} +abbrev LexLeanCollections.compareCodes._sparseCasesOn_1.{u} : @275 := @340 { + all: [LexLeanCollections.compareCodes._sparseCasesOn_1], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + reducibility: abbrev{}, + sparse: {arity: 4, ind_name: Ordering, interesting_ctors: [Ordering.eq], major_pos: 1}, + tags: [sparse_cases_on], + transparency: reducible +} +abbrev LexLeanCollections.compareCodes.match_1.{u_1} : @351 := @368 { + all: [LexLeanCollections.compareCodes.match_1], + class: false, + generated: false, + inline: inline, + matcher: { + alts: [{fields: 0, overlaps: 0, unit_thunk: true}, {fields: 1, overlaps: 0, unit_thunk: false}], + discrs: [[]], + num_discrs: 1, + num_params: 0, + overlaps: [[1, [0]]], + u_elim_pos: 0 + }, + policy: exact{axioms: [propext]}, + reducibility: abbrev{}, + transparency: implicit-reducible +} +abbrev LexLeanCollections.compareCodes.match_4.{u_1} : @407 := @453 { + all: [LexLeanCollections.compareCodes.match_4], + class: false, + generated: false, + inline: inline, + matcher: { + alts: [ + {fields: 0, overlaps: 0, unit_thunk: true}, + {fields: 2, overlaps: 0, unit_thunk: false}, + {fields: 2, overlaps: 0, unit_thunk: false}, + {fields: 4, overlaps: 0, unit_thunk: false} + ], + discrs: [[], []], + num_discrs: 2, + num_params: 0, + overlaps: [], + u_elim_pos: 0 + }, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: implicit-reducible +} +abbrev LexLeanCollections.compareCodes._f : @461 := @515 { + all: [LexLeanCollections.compareCodes._f], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + reducibility: abbrev{}, + transparency: reducible +} +definition LexLeanCollections.compareCodes : @517 := @526 { + all: [LexLeanCollections.compareCodes], + class: false, + compiled: true, + eqn_info: { + type: 517, + declarations: [LexLeanCollections.compareCodes], + levels: [], + num_fixed: 0, + perms: [[[], []]], + rec_arg_pos: 0, + rev_deps: [[[], []]], + value: 559 + }, + generated: false, + policy: exact{axioms: [propext]}, + reducibility: regular{height: 7}, + tags: [recursive], + transparency: semireducible +} +definition LexLeanCollections.compareCodes._sunfold : @517 := @579 { + all: [LexLeanCollections.compareCodes._sunfold], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + reducibility: regular{height: 8}, + transparency: semireducible +} +definition LexLeanCollections.compareCodes._unsafe_rec : @517 := @592 { + all: [LexLeanCollections.compareCodes._unsafe_rec], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + reducibility: opaque{}, + safety: partial, + transparency: semireducible +} +abbrev LexLeanCollections.insertElement.match_1.{u_1} : @610 := @625 { + all: [LexLeanCollections.insertElement.match_1], + class: false, + generated: false, + inline: inline, + matcher: { + alts: [{fields: 0, overlaps: 0, unit_thunk: true}, {fields: 2, overlaps: 0, unit_thunk: false}], + discrs: [[]], + num_discrs: 1, + num_params: 1, + overlaps: [], + u_elim_pos: 0 + }, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: implicit-reducible +} +abbrev LexLeanCollections.insertEntry.match_1.{u_1} : @636 := @651 { + all: [LexLeanCollections.insertEntry.match_1], + class: false, + generated: false, + inline: inline, + matcher: { + alts: [ + {fields: 0, overlaps: 0, unit_thunk: true}, + {fields: 0, overlaps: 0, unit_thunk: true}, + {fields: 0, overlaps: 0, unit_thunk: true} + ], + discrs: [[]], + num_discrs: 1, + num_params: 0, + overlaps: [], + u_elim_pos: 0 + }, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: implicit-reducible +} +abbrev LexLeanCollections.containsElement._f : @662 := @711 { + all: [LexLeanCollections.containsElement._f], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: reducible +} +definition LexLeanCollections.containsElement : @715 := @727 { + all: [LexLeanCollections.containsElement], + class: false, + compiled: true, + eqn_info: { + type: 715, + declarations: [LexLeanCollections.containsElement], + levels: [], + num_fixed: 3, + perms: [[[0], [1], [2], []]], + rec_arg_pos: 3, + rev_deps: [[[1, 2, 3], [], [], []]], + value: 753 + }, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + tags: [recursive], + transparency: semireducible +} +definition LexLeanCollections.containsElement._sunfold : @715 := @765 { + all: [LexLeanCollections.containsElement._sunfold], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + transparency: semireducible +} +definition LexLeanCollections.containsElement._unsafe_rec : @715 := @779 { + all: [LexLeanCollections.containsElement._unsafe_rec], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: opaque{}, + safety: partial, + transparency: semireducible +} +abbrev LexLeanCollections.insertElement._f : @787 := @831 { + all: [LexLeanCollections.insertElement._f], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: reducible +} +definition LexLeanCollections.insertElement : @835 := @846 { + all: [LexLeanCollections.insertElement], + class: false, + compiled: true, + eqn_info: { + type: 835, + declarations: [LexLeanCollections.insertElement], + levels: [], + num_fixed: 3, + perms: [[[0], [1], [2], []]], + rec_arg_pos: 3, + rev_deps: [[[1, 2, 3], [], [], []]], + value: 880 + }, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + tags: [recursive], + transparency: semireducible +} +definition LexLeanCollections.graphNodes : @887 := @924 { + all: [LexLeanCollections.graphNodes], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + transparency: semireducible +} +abbrev LexLeanCollections.insertEntry.match_3.{u_1} : @957 := @990 { + all: [LexLeanCollections.insertEntry.match_3], + class: false, + generated: false, + inline: inline, + matcher: { + alts: [{fields: 0, overlaps: 0, unit_thunk: true}, {fields: 3, overlaps: 0, unit_thunk: false}], + discrs: [[]], + num_discrs: 1, + num_params: 2, + overlaps: [], + u_elim_pos: 0 + }, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: implicit-reducible +} +abbrev LexLeanCollections.lookupEntry._f : @1005 := @1066 { + all: [LexLeanCollections.lookupEntry._f], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: reducible +} +definition LexLeanCollections.lookupEntry : @1072 := @1086 { + all: [LexLeanCollections.lookupEntry], + class: false, + compiled: true, + eqn_info: { + type: 1072, + declarations: [LexLeanCollections.lookupEntry], + levels: [], + num_fixed: 4, + perms: [[[0], [1], [2], [3], []]], + rec_arg_pos: 4, + rev_deps: [[[2, 3, 4], [4], [], [], []]], + value: 1125 + }, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + tags: [recursive], + transparency: semireducible +} +definition LexLeanCollections.graphSuccessors : @1129 := @1142 { + all: [LexLeanCollections.graphSuccessors], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + transparency: semireducible +} +abbrev LexLeanCollections.reachableFrom._sparseCasesOn_1.{u_1, u} : @1161 := @1215 { + all: [LexLeanCollections.reachableFrom._sparseCasesOn_1], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + reducibility: abbrev{}, + sparse: {arity: 5, ind_name: List, interesting_ctors: [List.nil], major_pos: 2}, + tags: [sparse_cases_on], + transparency: reducible +} +abbrev LexLeanCollections.reachableFrom.match_1.{u_1} : @1222 := @1238 { + all: [LexLeanCollections.reachableFrom.match_1], + class: false, + generated: false, + inline: inline, + matcher: { + alts: [{fields: 0, overlaps: 0, unit_thunk: true}, {fields: 1, overlaps: 0, unit_thunk: false}], + discrs: [[]], + num_discrs: 1, + num_params: 1, + overlaps: [[1, [0]]], + u_elim_pos: 0 + }, + policy: exact{axioms: [propext]}, + reducibility: abbrev{}, + transparency: implicit-reducible +} +abbrev LexLeanCollections.reachableFrom.match_4.{u_1} : @1267 := @1287 { + all: [LexLeanCollections.reachableFrom.match_4], + class: false, + generated: false, + inline: inline, + matcher: { + alts: [ + {fields: 2, overlaps: 0, unit_thunk: false}, + {fields: 3, overlaps: 0, unit_thunk: false} + ], + discrs: [[], [], []], + num_discrs: 3, + num_params: 1, + overlaps: [], + u_elim_pos: 0 + }, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: implicit-reducible +} +abbrev LexLeanCollections.reachableFrom._f : @1298 := @1407 { + all: [LexLeanCollections.reachableFrom._f], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + reducibility: abbrev{}, + transparency: reducible +} +definition LexLeanCollections.reachableFrom : @1413 := @1432 { + all: [LexLeanCollections.reachableFrom], + class: false, + compiled: true, + eqn_info: { + type: 1413, + declarations: [LexLeanCollections.reachableFrom], + levels: [], + num_fixed: 3, + perms: [[[0], [1], [2], [], [], []]], + rec_arg_pos: 3, + rev_deps: [[[1, 2, 4, 5], [], [], [], [], []]], + value: 1511 + }, + generated: false, + policy: exact{axioms: [propext]}, + reducibility: regular{height: 4}, + tags: [recursive], + transparency: semireducible +} +definition LexLeanCollections.graphReachable : @1515 := @1546 { + all: [LexLeanCollections.graphReachable], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: [propext]}, + reducibility: regular{height: 5}, + transparency: semireducible +} +abbrev LexLeanCollections.removeElement._f : @1554 := @1584 { + all: [LexLeanCollections.removeElement._f], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: reducible +} +definition LexLeanCollections.removeElement : @1586 := @1597 { + all: [LexLeanCollections.removeElement], + class: false, + compiled: true, + eqn_info: { + type: 1586, + declarations: [LexLeanCollections.removeElement], + levels: [], + num_fixed: 3, + perms: [[[0], [1], [2], []]], + rec_arg_pos: 3, + rev_deps: [[[1, 2, 3], [], [], []]], + value: 1623 + }, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + tags: [recursive], + transparency: semireducible +} +abbrev LexLeanCollections.topological._f : @1634 := @1740 { + all: [LexLeanCollections.topological._f], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: reducible +} +definition LexLeanCollections.topological : @1747 := @1766 { + all: [LexLeanCollections.topological], + class: false, + compiled: true, + eqn_info: { + type: 1747, + declarations: [LexLeanCollections.topological], + levels: [], + num_fixed: 3, + perms: [[[0], [1], [2], [], [], []]], + rec_arg_pos: 3, + rev_deps: [[[1, 2, 4, 5], [], [], [], [], []]], + value: 1839 + }, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 4}, + tags: [recursive], + transparency: semireducible +} +definition LexLeanCollections.graphTopological : @1843 := @1859 { + all: [LexLeanCollections.graphTopological], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 5}, + transparency: semireducible +} +definition LexLeanCollections.insertElement._sunfold : @835 := @1871 { + all: [LexLeanCollections.insertElement._sunfold], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + transparency: semireducible +} +definition LexLeanCollections.insertElement._unsafe_rec : @835 := @1886 { + all: [LexLeanCollections.insertElement._unsafe_rec], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: opaque{}, + safety: partial, + transparency: semireducible +} +abbrev LexLeanCollections.insertEntry._f : @1897 := @1976 { + all: [LexLeanCollections.insertEntry._f], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: reducible +} +definition LexLeanCollections.insertEntry : @1982 := @1998 { + all: [LexLeanCollections.insertEntry], + class: false, + compiled: true, + eqn_info: { + type: 1982, + declarations: [LexLeanCollections.insertEntry], + levels: [], + num_fixed: 5, + perms: [[[0], [1], [2], [3], [4], []]], + rec_arg_pos: 5, + rev_deps: [[[2, 3, 5], [4, 5], [], [], [], []]], + value: 2050 + }, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + tags: [recursive], + transparency: semireducible +} +definition LexLeanCollections.insertEntry._sunfold : @1982 := @2065 { + all: [LexLeanCollections.insertEntry._sunfold], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + transparency: semireducible +} +definition LexLeanCollections.insertEntry._unsafe_rec : @1982 := @2085 { + all: [LexLeanCollections.insertEntry._unsafe_rec], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: opaque{}, + safety: partial, + transparency: semireducible +} +definition LexLeanCollections.instKeyBool : @2086 := @2091 { + all: [LexLeanCollections.instKeyBool], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: [propext]}, + reducibility: regular{height: 2}, + transparency: implicit-reducible +} +definition LexLeanCollections.instKeyInt : @2093 := @2098 { + all: [LexLeanCollections.instKeyInt], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: []}, + reducibility: regular{height: 15}, + transparency: implicit-reducible +} +definition LexLeanCollections.instKeyInt16 : @2100 := @2109 { + all: [LexLeanCollections.instKeyInt16], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: []}, + reducibility: regular{height: 15}, + transparency: implicit-reducible +} +definition LexLeanCollections.instKeyInt32 : @2111 := @2120 { + all: [LexLeanCollections.instKeyInt32], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: []}, + reducibility: regular{height: 15}, + transparency: implicit-reducible +} +definition LexLeanCollections.instKeyInt64 : @2122 := @2131 { + all: [LexLeanCollections.instKeyInt64], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: []}, + reducibility: regular{height: 15}, + transparency: implicit-reducible +} +definition LexLeanCollections.instKeyInt8 : @2133 := @2142 { + all: [LexLeanCollections.instKeyInt8], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: []}, + reducibility: regular{height: 15}, + transparency: implicit-reducible +} +definition LexLeanCollections.instKeyNat : @2143 := @2145 { + all: [LexLeanCollections.instKeyNat], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: []}, + reducibility: regular{height: 7}, + transparency: implicit-reducible +} +definition LexLeanCollections.instKeyProd : @2150 := @2177 { + all: [LexLeanCollections.instKeyProd], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: [2, 3]}, + policy: exact{axioms: [propext]}, + reducibility: regular{height: 1}, + transparency: implicit-reducible +} +definition LexLeanCollections.instKeyString : @2179 := @2188 { + all: [LexLeanCollections.instKeyString], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: [Classical.choice, Quot.sound, propext]}, + reducibility: regular{height: 24}, + transparency: implicit-reducible +} +definition LexLeanCollections.instKeyUInt16 : @2190 := @2199 { + all: [LexLeanCollections.instKeyUInt16], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: []}, + reducibility: regular{height: 7}, + transparency: implicit-reducible +} +definition LexLeanCollections.instKeyUInt32 : @2201 := @2209 { + all: [LexLeanCollections.instKeyUInt32], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: []}, + reducibility: regular{height: 7}, + transparency: implicit-reducible +} +definition LexLeanCollections.instKeyUInt64 : @2211 := @2220 { + all: [LexLeanCollections.instKeyUInt64], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: []}, + reducibility: regular{height: 7}, + transparency: implicit-reducible +} +definition LexLeanCollections.instKeyUInt8 : @2222 := @2231 { + all: [LexLeanCollections.instKeyUInt8], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: []}, + reducibility: regular{height: 7}, + transparency: implicit-reducible +} +abbrev LexLeanCollections.iterate.match_1.{u_1} : @2247 := @2262 { + all: [LexLeanCollections.iterate.match_1], + class: false, + generated: false, + inline: inline, + matcher: { + alts: [ + {fields: 1, overlaps: 0, unit_thunk: false}, + {fields: 2, overlaps: 0, unit_thunk: false} + ], + discrs: [[], []], + num_discrs: 2, + num_params: 1, + overlaps: [], + u_elim_pos: 0 + }, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: implicit-reducible +} +abbrev LexLeanCollections.iterate._f : @2271 := @2304 { + all: [LexLeanCollections.iterate._f], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: reducible +} +definition LexLeanCollections.iterate : @2308 := @2321 { + all: [LexLeanCollections.iterate], + class: false, + compiled: true, + eqn_info: { + type: 2308, + declarations: [LexLeanCollections.iterate], + levels: [], + num_fixed: 2, + perms: [[[0], [1], [], []]], + rec_arg_pos: 2, + rev_deps: [[[1, 3], [], [], []]], + value: 2341 + }, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + tags: [recursive], + transparency: semireducible +} +definition LexLeanCollections.iterate._sunfold : @2308 := @2353 { + all: [LexLeanCollections.iterate._sunfold], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 3}, + transparency: semireducible +} +definition LexLeanCollections.iterate._unsafe_rec : @2308 := @2365 { + all: [LexLeanCollections.iterate._unsafe_rec], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: opaque{}, + safety: partial, + transparency: semireducible +} +abbrev LexLeanCollections.iterateUntil.match_1.{u_1} : @2380 := @2393 { + all: [LexLeanCollections.iterateUntil.match_1], + class: false, + generated: false, + inline: inline, + matcher: { + alts: [{fields: 0, overlaps: 0, unit_thunk: true}, {fields: 1, overlaps: 0, unit_thunk: false}], + discrs: [[]], + num_discrs: 1, + num_params: 1, + overlaps: [], + u_elim_pos: 0 + }, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: implicit-reducible +} +abbrev LexLeanCollections.iterateUntil._f : @2403 := @2449 { + all: [LexLeanCollections.iterateUntil._f], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: reducible +} +definition LexLeanCollections.iterateUntil : @2454 := @2468 { + all: [LexLeanCollections.iterateUntil], + class: false, + compiled: true, + eqn_info: { + type: 2454, + declarations: [LexLeanCollections.iterateUntil], + levels: [], + num_fixed: 2, + perms: [[[0], [1], [], []]], + rec_arg_pos: 2, + rev_deps: [[[1, 3], [], [], []]], + value: 2502 + }, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + tags: [recursive], + transparency: semireducible +} +definition LexLeanCollections.iterateUntil._sunfold : @2454 := @2514 { + all: [LexLeanCollections.iterateUntil._sunfold], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 3}, + transparency: semireducible +} +definition LexLeanCollections.iterateUntil._unsafe_rec : @2454 := @2528 { + all: [LexLeanCollections.iterateUntil._unsafe_rec], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: opaque{}, + safety: partial, + transparency: semireducible +} +abbrev LexLeanCollections.lessThan._sparseCasesOn_1.{u} : @2535 := @2562 { + all: [LexLeanCollections.lessThan._sparseCasesOn_1], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + reducibility: abbrev{}, + sparse: {arity: 4, ind_name: Ordering, interesting_ctors: [Ordering.lt], major_pos: 1}, + tags: [sparse_cases_on], + transparency: reducible +} +abbrev LexLeanCollections.lessThan.match_1.{u_1} : @2568 := @2579 { + all: [LexLeanCollections.lessThan.match_1], + class: false, + generated: false, + inline: inline, + matcher: { + alts: [{fields: 0, overlaps: 0, unit_thunk: true}, {fields: 1, overlaps: 0, unit_thunk: false}], + discrs: [[]], + num_discrs: 1, + num_params: 0, + overlaps: [[1, [0]]], + u_elim_pos: 0 + }, + policy: exact{axioms: [propext]}, + reducibility: abbrev{}, + transparency: implicit-reducible +} +definition LexLeanCollections.lessThan : @2583 := @2598 { + all: [LexLeanCollections.lessThan], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: [propext]}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanCollections.listFold : @2605 := @2615 { + all: [LexLeanCollections.listFold], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + transparency: semireducible +} +definition LexLeanCollections.lookupEntry._sunfold : @1072 := @2629 { + all: [LexLeanCollections.lookupEntry._sunfold], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + transparency: semireducible +} +definition LexLeanCollections.lookupEntry._unsafe_rec : @1072 := @2646 { + all: [LexLeanCollections.lookupEntry._unsafe_rec], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: opaque{}, + safety: partial, + transparency: semireducible +} +definition LexLeanCollections.mapContains : @2651 := @2664 { + all: [LexLeanCollections.mapContains], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + transparency: semireducible +} +definition LexLeanCollections.mapEntries : @2667 := @2670 { + all: [LexLeanCollections.mapEntries], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanCollections.mapFold : @2679 := @2699 { + all: [LexLeanCollections.mapFold], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + transparency: semireducible +} +definition LexLeanCollections.mapInsert : @2705 := @2717 { + all: [LexLeanCollections.mapInsert], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + transparency: semireducible +} +definition LexLeanCollections.mapKeys : @2720 := @2730 { + all: [LexLeanCollections.mapKeys], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + transparency: semireducible +} +definition LexLeanCollections.mapLookup : @2735 := @2740 { + all: [LexLeanCollections.mapLookup], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + transparency: semireducible +} +abbrev LexLeanCollections.removeEntry._f : @2749 := @2791 { + all: [LexLeanCollections.removeEntry._f], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: reducible +} +definition LexLeanCollections.removeEntry : @2796 := @2809 { + all: [LexLeanCollections.removeEntry], + class: false, + compiled: true, + eqn_info: { + type: 2796, + declarations: [LexLeanCollections.removeEntry], + levels: [], + num_fixed: 4, + perms: [[[0], [1], [2], [3], []]], + rec_arg_pos: 4, + rev_deps: [[[2, 3, 4], [4], [], [], []]], + value: 2843 + }, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + tags: [recursive], + transparency: semireducible +} +definition LexLeanCollections.mapRemove : @2848 := @2858 { + all: [LexLeanCollections.mapRemove], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + transparency: semireducible +} +definition LexLeanCollections.mapSize : @2861 := @2866 { + all: [LexLeanCollections.mapSize], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 4}, + transparency: semireducible +} +definition LexLeanCollections.mapValues : @2869 := @2877 { + all: [LexLeanCollections.mapValues], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + transparency: semireducible +} +definition LexLeanCollections.reachableFrom._sunfold : @1413 := @2893 { + all: [LexLeanCollections.reachableFrom._sunfold], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + reducibility: regular{height: 5}, + transparency: semireducible +} +definition LexLeanCollections.reachableFrom._unsafe_rec : @1413 := @2913 { + all: [LexLeanCollections.reachableFrom._unsafe_rec], + class: false, + generated: false, + policy: exact{axioms: [propext]}, + reducibility: opaque{}, + safety: partial, + transparency: semireducible +} +definition LexLeanCollections.removeElement._sunfold : @1586 := @2925 { + all: [LexLeanCollections.removeElement._sunfold], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + transparency: semireducible +} +definition LexLeanCollections.removeElement._unsafe_rec : @1586 := @2940 { + all: [LexLeanCollections.removeElement._unsafe_rec], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: opaque{}, + safety: partial, + transparency: semireducible +} +definition LexLeanCollections.removeEntry._sunfold : @2796 := @2954 { + all: [LexLeanCollections.removeEntry._sunfold], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + transparency: semireducible +} +definition LexLeanCollections.removeEntry._unsafe_rec : @2796 := @2972 { + all: [LexLeanCollections.removeEntry._unsafe_rec], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: opaque{}, + safety: partial, + transparency: semireducible +} +definition LexLeanCollections.setContains : @2976 := @2984 { + all: [LexLeanCollections.setContains], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + transparency: semireducible +} +definition LexLeanCollections.setDifference : @2988 := @3001 { + all: [LexLeanCollections.setDifference], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + transparency: semireducible +} +definition LexLeanCollections.setElements : @3003 := @3005 { + all: [LexLeanCollections.setElements], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanCollections.setFold : @3010 := @3015 { + all: [LexLeanCollections.setFold], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + transparency: semireducible +} +definition LexLeanCollections.setInsert : @3019 := @3027 { + all: [LexLeanCollections.setInsert], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + transparency: semireducible +} +definition LexLeanCollections.setIntersection : @3029 := @3036 { + all: [LexLeanCollections.setIntersection], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + transparency: semireducible +} +definition LexLeanCollections.setRemove : @3038 := @3046 { + all: [LexLeanCollections.setRemove], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + transparency: semireducible +} +definition LexLeanCollections.setSize : @3048 := @3052 { + all: [LexLeanCollections.setSize], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 4}, + transparency: semireducible +} +definition LexLeanCollections.setUnion : @3054 := @3069 { + all: [LexLeanCollections.setUnion], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + transparency: semireducible +} +definition LexLeanCollections.topological._sunfold : @1747 := @3085 { + all: [LexLeanCollections.topological._sunfold], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 5}, + transparency: semireducible +} +definition LexLeanCollections.topological._unsafe_rec : @1747 := @3105 { + all: [LexLeanCollections.topological._unsafe_rec], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: opaque{}, + safety: partial, + transparency: semireducible +} + +@0 := Sort 1 +@1 := #0 +@2 := #1 +@3 := Ordering +@5 := (a._@._internal._hyg.#0 : @1) -> (a._@._internal._hyg.#0 : @2) -> @3 +@6 := LexLeanCollections.Key +@7 := @6 @2 +@9 := {α : @0} -> (compare : @5) -> @7 +@10 := (α : @0) -> @0 +@11 := @6 @1 +@12 := Sort u +@13 := (t : @11) -> @12 +@14 := #2 +@16 := (a._@._internal._hyg.#0 : @2) -> (a._@._internal._hyg.#0 : @14) -> @3 +@17 := LexLeanCollections.Key.mk +@21 := (compare : @16) -> @2 (@17 @14 @1) +@22 := @6 @14 +@27 := {α : @0} -> {motive : @13} -> (mk : @21) -> (t : @22) -> @14 @1 +@28 := #3 +@30 := (a._@._internal._hyg.#0 : @14) -> (a._@._internal._hyg.#0 : @28) -> @3 +@31 := @17 @28 +@32 := @31 @1 +@34 := (compare : @30) -> @14 @32 +@35 := @14 @2 +@39 := {α : @0} -> {motive : @13} -> (t : @7) -> (mk : @34) -> @35 +@42 := LexLeanCollections.Key.rec.{u} @28 @14 +@43 := #4 +@45 := (a._@._internal._hyg.#0 : @28) -> (a._@._internal._hyg.#0 : @43) -> @3 +@46 := @2 @1 +@53 := fun {α : @0} => + fun {motive : @13} => fun (t : @7) => fun (mk : @34) => @42 (fun (compare : @45) => @46) @2 +@55 := {α : @0} -> [self : @11] -> @16 +@58 := fun (α : @0) => + fun [self : @11] => proj LexLeanCollections.Key LexLeanCollections.Key.compare 0 @1 +@59 := Nat +@61 := {α : @0} -> (x._@.LexLeanRuntime.Collections.#1842282792._hygCtx._hyg.#9 : @11) -> @59 +@62 := 0 +@64 := fun {α : @0} => fun (x : @11) => @62 +@68 := fun (α : @0) => fun (compare : @5) => @17 @2 @1 +@73 := (P : @12) -> {α : @0} -> (t : @11) -> {α' : @0} -> (t' : @11) -> @12 +@74 := LexLeanCollections.Key.casesOn.{u+1} +@75 := @74 @28 +@76 := @6 @28 +@79 := @75 (fun (t : @76) => @12) @14 +@83 := @74 @14 (fun (t : @22) => @12) @2 +@84 := HEq.{1} +@85 := #5 +@86 := #6 +@92 := @84 ((a._@._internal._hyg.#0 : @85) -> (a._@._internal._hyg.#0 : @86) -> @3) @2 @45 @1 +@93 := #7 +@104 := fun (P : @12) => + fun {α : @0} => + fun (t : @11) => + fun {α' : @0} => + fun (t' : @11) => + @79 + (fun (compare : @45) => + @83 + (fun (compare : @30) => + (x._@.LexLeanRuntime.Collections.#1842282792._hygCtx._hyg.#10 : (compare_eq : @92) -> @93) -> + @93)) +@108 := Eq.{2} @0 @28 @2 +@113 := @84 (@6 @43) @28 @22 @2 +@114 := LexLeanCollections.Key.noConfusionType.{u} +@126 := {P : @12} -> + {α : @0} -> + {t : @11} -> {α' : @0} -> {t' : @11} -> (eq_1 : @108) -> (eq_2 : @113) -> @114 @86 @85 @43 @28 @14 +@129 := Eq.ndrec.{u, 2} @0 @85 +@130 := @6 @93 +@134 := @84 @130 @86 @7 @1 +@135 := #9 +@136 := @114 @135 +@137 := #8 +@138 := @136 @137 +@139 := @138 @93 +@145 := @129 (fun {α' : @0} => {t' : @11} -> (eq_2 : @134) -> @139 @14 @2) +@146 := @6 @85 +@147 := @6 @86 +@151 := @84 @147 @85 @147 @1 +@158 := Eq.ndrec.{u, 1} @130 @86 (fun {t' : @130} => @139 @137 @1) +@166 := LexLeanCollections.Key.casesOn.{u} @93 (fun {t : @130} => @138 @1 @137 @1) @86 +@168 := (a._@._internal._hyg.#0 : @93) -> (a._@._internal._hyg.#0 : @137) -> @3 +@170 := (a._@._internal._hyg.#0 : @137) -> (a._@._internal._hyg.#0 : @135) -> @3 +@174 := @84 @170 @1 @170 @1 +@175 := #10 +@207 := fun {P : @12} => + fun {α : @0} => + fun {t : @11} => + fun {α' : @0} => + fun {t' : @11} => + fun (eq_1 : @108) => + fun (eq_2 : @113) => + @145 + (fun {t' : @146} => + fun (eq_2 : @151) => + @158 + (@166 + (fun (compare : @168) => + fun (k : (compare_eq : @174) -> @175) => + @1 + (HEq.refl.{1} + ((a._@._internal._hyg.#0 : @135) -> (a._@._internal._hyg.#0 : @175) -> @3) + @2))) + @2 + (eq_of_heq.{1} @130 @86 @2 @1)) + @28 + @2 + @14 + @1 +@208 := Eq.{1} +@212 := @208 @76 (@31 @2) @32 +@214 := (a._@._internal._hyg.#0 : @43) -> (a._@._internal._hyg.#0 : @85) -> @3 +@219 := (compare_eq : @84 @214 @14 @214 @2) -> @43 +@225 := {α : @0} -> + {P : @12} -> {compare : @16} -> {compare' : @30} -> (eq : @212) -> (k : @219) -> @43 +@227 := id.{u} @43 +@230 := LexLeanCollections.Key.noConfusion.{u} @43 @85 +@231 := @17 @85 +@232 := @231 @28 +@234 := @230 @232 @85 +@235 := @231 @14 +@254 := fun {α : @0} => + fun {P : @12} => + fun {compare : @16} => + fun {compare' : @30} => + fun (eq : @212) => + fun (k : @219) => @227 (@234 @235 (Eq.refl.{2} @0 @85) (heq_of_eq.{1} @146 @232 @235 @2) @1) +@260 := fun {α : @0} => fun {motive : @13} => fun (t : @7) => fun (mk : @34) => @42 @1 @2 +@261 := (t : @3) -> @12 +@262 := Ordering.eq +@263 := @2 @262 +@264 := Nat.hasNotBit +@265 := 2 +@266 := @264 @265 +@267 := Ordering.ctorIdx +@268 := @267 @2 +@269 := @266 @268 +@270 := @28 @14 +@275 := {motive : @261} -> + (t : @3) -> + (eq : @263) -> + (else._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#119 : (h : @269) -> @270) -> @270 +@276 := Ordering.rec.{u} +@277 := @267 @1 +@278 := @266 @277 +@279 := @43 @2 +@283 := @276 + (fun (t : @3) => + (else._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#119 : (h : @278) -> @279) -> @279) +@284 := Ordering.lt +@285 := @267 @284 +@286 := @266 @285 +@287 := @28 @284 +@288 := (h : @286) -> @287 +@289 := Nat.ne_of_beq_eq_false +@290 := Nat.land +@291 := OfNat.ofNat.{0} +@293 := @291 (annot [borrowed := bool true] @59) +@294 := 1 +@295 := @293 @294 +@296 := instOfNatNat +@297 := @296 @294 +@299 := @290 (@295 @297) +@300 := Nat.shiftRight +@301 := @300 @265 +@304 := @289 (@299 (@301 @62)) +@305 := @291 @59 +@307 := @305 @294 @297 +@308 := @304 @307 +@309 := Eq.refl.{1} +@310 := Bool +@311 := @309 @310 +@312 := Bool.false +@313 := @311 @312 +@317 := @283 + (fun (else._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#119 : @288) => + @1 (@308 @313)) +@318 := @267 @262 +@319 := @266 @318 +@320 := @28 @262 +@323 := @317 + (fun (else._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#119 : (h : @319) -> @320) => + @2) +@324 := Ordering.gt +@325 := @267 @324 +@326 := @266 @325 +@327 := @28 @324 +@340 := fun {motive : @261} => + fun (t : @3) => + fun (eq : @263) => + @323 + (fun (else._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#119 : (h : @326) -> @327) => + @1 (@289 (@299 (@301 @265)) @307 @313)) + @2 +@341 := Sort u_1 +@342 := (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#108 : @3) -> @341 +@343 := Unit +@345 := ("_" : @343) -> @14 @262 +@346 := @28 @1 +@347 := (other : @3) -> @346 +@351 := (motive : @342) -> + (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#108 : @3) -> + (h_1 : @345) -> (h_2 : @347) -> @270 +@352 := LexLeanCollections.compareCodes._sparseCasesOn_1.{u_1} +@353 := @43 @1 +@354 := fun (x : @3) => @353 +@356 := @352 @354 @14 +@357 := Unit.unit +@358 := @2 @357 +@359 := @356 @358 +@360 := @267 @14 +@361 := @266 @360 +@362 := @2 @28 +@368 := fun (motive : @342) => + fun (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#108 : @3) => + fun (h_1 : @345) => + fun (h_2 : @347) => + @359 (fun (h._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#120 : @361) => @362) +@369 := List.{0} +@370 := Char +@371 := @369 @370 +@373 := (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx.#9.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#28 : @371) -> + (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx.#10.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#31 : @371) -> + @341 +@374 := List.nil.{0} +@375 := @374 @370 +@378 := ("_" : @343) -> @28 @375 @375 +@379 := @85 @375 +@380 := List.cons.{0} +@381 := @380 @370 +@383 := @381 @2 @1 +@386 := (head._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#61 : @370) -> + (tail._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#62 : @371) -> @379 @383 +@390 := (head._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#78 : @370) -> + (tail._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#79 : @371) -> @86 @383 @375 +@392 := @381 @28 @14 +@398 := (left : @370) -> (lefts : @371) -> (right : @370) -> (rights : @371) -> @135 @392 @383 +@407 := (motive : @373) -> + (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx.#9.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#28 : @371) -> + (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx.#10.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#31 : @371) -> + (h_1 : @378) -> (h_2 : @386) -> (h_3 : @390) -> (h_4 : @398) -> @86 @85 @43 +@408 := List.casesOn.{u_1, 0} +@409 := @408 @370 +@414 := @409 (fun (x : @371) => @93 @1 @85) @85 +@421 := @409 (fun (x : @371) => @93 @375 @1) @43 (@28 @357) +@422 := @279 @1 +@426 := @414 + (@421 + (fun (head._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#131 : @370) => + fun (tail._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#132 : @371) => @422)) +@436 := @409 (fun (x : @371) => @135 (@381 @14 @2) @1) @86 (@28 @2 @1) +@437 := @43 @28 +@438 := @437 @14 +@453 := fun (motive : @373) => + fun (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx.#9.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#28 : @371) => + fun (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx.#10.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#31 : @371) => + fun (h_1 : @378) => + fun (h_2 : @386) => + fun (h_3 : @390) => + fun (h_4 : @398) => + @426 + (fun (head._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#129 : @370) => + fun (tail._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#130 : @371) => + @436 + (fun (head._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#133 : @370) => + fun (tail._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#134 : @371) => @438 @2 @1)) +@454 := List.below.{1, 0} +@455 := @454 @370 +@456 := (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#10 : @371) -> @3 +@457 := fun (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#9 : @371) => @456 +@458 := @455 @457 +@459 := @458 @1 +@461 := (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#9 : @371) -> (f : @459) -> @456 +@462 := LexLeanCollections.compareCodes.match_4.{1} +@469 := @462 + (fun (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx.#9.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#28 : @371) => + fun (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx.#10.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#31 : @371) => + (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#135 : @458 @2) -> @3) + @14 + @1 +@470 := @458 @375 +@482 := @469 + (fun ("_" : @343) => + fun (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#135 : @470) => @262) + (fun (head._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#61 : @370) => + fun (tail._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#62 : @371) => + fun (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#135 : @470) => @284) + (fun (head._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#78 : @370) => + fun (tail._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#79 : @371) => + fun (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#135 : @458 @383) => @324) +@483 := @458 @392 +@484 := LexLeanCollections.compareCodes.match_1.{1} +@486 := @484 (fun (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#108 : @3) => @3) +@487 := Ord.compare.{0} +@490 := @487 @59 instOrdNat +@491 := UInt32.toNat +@492 := Char.val +@499 := @486 (@490 (@491 (@492 @43)) (@491 (@492 @14))) +@500 := proj PProd PProd.fst 0 @2 +@503 := @499 (fun ("_" : @343) => @500 @14) +@504 := fun (other : @3) => @1 +@515 := fun (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#9 : @371) => + fun (f : @459) => + fun (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#10 : @371) => + @482 + (fun (left : @370) => + fun (lefts : @371) => + fun (right : @370) => + fun (rights : @371) => + fun (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#135 : @483) => @503 @504) + @2 +@517 := (a._@._internal._hyg.#0 : @371) -> (a._@._internal._hyg.#0 : @371) -> @3 +@518 := List.brecOn.{1, 0} +@526 := fun (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#9 : @371) => + fun (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#10 : @371) => + @518 @370 @457 @2 LexLeanCollections.compareCodes._f @1 +@531 := @462 + (fun (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx.#9.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#28 : @371) => + fun (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx.#10.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#31 : @371) => + @3) + @2 + @1 +@539 := @531 + (fun ("_" : @343) => @262) + (fun (head._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#61 : @370) => + fun (tail._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#62 : @371) => @284) + (fun (head._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#78 : @370) => + fun (tail._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#79 : @371) => @324) +@546 := @486 (@490 (@491 (@492 @28)) (@491 (@492 @2))) +@547 := LexLeanCollections.compareCodes +@552 := @546 (fun ("_" : @343) => @547 @28 @2) @504 +@559 := fun (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#9 : @371) => + fun (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#10 : @371) => + @539 + (fun (left : @370) => fun (lefts : @371) => fun (right : @370) => fun (rights : @371) => @552) +@579 := fun (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#9 : @371) => + fun (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#10 : @371) => + annot [sunfoldMatch := bool true] + (@531 + (fun ("_" : @343) => annot [sunfoldMatchAlt := bool true] @262) + (fun (head._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#61 : @370) => + fun (tail._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#62 : @371) => + annot [sunfoldMatchAlt := bool true] @284) + (fun (head._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#78 : @370) => + fun (tail._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#79 : @371) => + annot [sunfoldMatchAlt := bool true] @324) + (fun (left : @370) => + fun (lefts : @371) => + fun (right : @370) => fun (rights : @371) => annot [sunfoldMatchAlt := bool true] @552)) +@592 := fun (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#9 : @371) => + fun (x._@.LexLeanRuntime.Collections.#1464907066._hygCtx._hyg.#10 : @371) => + @539 + (fun (left : @370) => + fun (lefts : @371) => + fun (right : @370) => + fun (rights : @371) => + @546 (fun ("_" : @343) => LexLeanCollections.compareCodes._unsafe_rec @28 @2) @504) +@593 := @369 @1 +@594 := (x._@.LexLeanRuntime.Collections.#3779199783._hygCtx.#12.LexLeanRuntime.Collections.#3779199783._hygCtx._hyg.#23 : @593) -> + @341 +@595 := @369 @2 +@596 := @374 @28 +@598 := ("_" : @343) -> @14 @596 +@599 := @369 @43 +@605 := (other : @28) -> (rest : @599) -> @43 (@380 @85 @2 @1) +@610 := {κ : @0} -> + (motive : @594) -> + (x._@.LexLeanRuntime.Collections.#3779199783._hygCtx.#12.LexLeanRuntime.Collections.#3779199783._hygCtx._hyg.#23 : @595) -> + (h_1 : @598) -> (h_2 : @605) -> @270 +@611 := @408 @43 +@612 := fun (x : @599) => @353 +@615 := @611 @612 @14 @358 +@616 := @369 @85 +@625 := fun {κ : @0} => + fun (motive : @594) => + fun (x._@.LexLeanRuntime.Collections.#3779199783._hygCtx.#12.LexLeanRuntime.Collections.#3779199783._hygCtx._hyg.#23 : @595) => + fun (h_1 : @598) => + fun (h_2 : @605) => + @615 + (fun (head._@.LexLeanRuntime.Collections.#3779199783._hygCtx._hyg.#85 : @43) => + fun (tail._@.LexLeanRuntime.Collections.#3779199783._hygCtx._hyg.#86 : @616) => @35 @1) +@626 := (x._@.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#73 : @3) -> @341 +@628 := ("_" : @343) -> @14 @284 +@629 := ("_" : @343) -> @320 +@631 := ("_" : @343) -> @43 @324 +@636 := (motive : @626) -> + (x._@.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#73 : @3) -> + (h_1 : @628) -> (h_2 : @629) -> (h_3 : @631) -> @437 +@637 := Ordering.casesOn.{u_1} +@638 := @85 @1 +@651 := fun (motive : @626) => + fun (x._@.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#73 : @3) => + fun (h_1 : @628) => + fun (h_2 : @629) => fun (h_3 : @631) => @637 (fun (x : @3) => @638) @28 (@14 @357) @358 (@1 @357) +@652 := @369 @14 +@653 := @454 @28 +@654 := @369 @28 +@655 := fun (x._@.LexLeanRuntime.Collections.#195034084._hygCtx._hyg.#11 : @654) => @310 +@657 := @653 @655 @1 +@662 := {κ : @0} -> + [inst._@.LexLeanRuntime.Collections.#195034084._hygCtx._hyg.#3 : @11] -> + (key : @2) -> + (x._@.LexLeanRuntime.Collections.#195034084._hygCtx._hyg.#11 : @652) -> (f : @657) -> @310 +@663 := LexLeanCollections.insertElement.match_1.{1} +@664 := @663 @43 +@665 := @454 @85 +@667 := @665 (fun (x._@.LexLeanRuntime.Collections.#195034084._hygCtx._hyg.#11 : @616) => @310) +@672 := @664 + (fun (x._@.LexLeanRuntime.Collections.#195034084._hygCtx.#11.LexLeanRuntime.Collections.#195034084._hygCtx._hyg.#22 : @599) => + (x._@.LexLeanRuntime.Collections.#195034084._hygCtx._hyg.#66 : @667 @1) -> @310) + @2 +@673 := @374 @85 +@677 := @672 + (fun ("_" : @343) => + fun (x._@.LexLeanRuntime.Collections.#195034084._hygCtx._hyg.#66 : @667 @673) => @312) +@678 := @454 @86 +@679 := @369 @86 +@681 := @678 (fun (x._@.LexLeanRuntime.Collections.#195034084._hygCtx._hyg.#11 : @679) => @310) +@682 := @380 @86 +@684 := @682 @2 @1 +@685 := @681 @684 +@686 := LexLeanCollections.insertEntry.match_1.{1} +@688 := @686 (fun (x._@.LexLeanRuntime.Collections.#195034084._hygCtx._hyg.#47 : @3) => @310) +@689 := LexLeanCollections.Key.compare +@690 := @689 @93 +@693 := @690 @86 @85 @14 +@694 := @688 @693 +@695 := fun ("_" : @343) => @312 +@696 := @694 @695 +@697 := Bool.true +@698 := fun ("_" : @343) => @697 +@699 := @696 @698 +@700 := fun ("_" : @343) => @500 +@711 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#195034084._hygCtx._hyg.#3 : @11] => + fun (key : @2) => + fun (x._@.LexLeanRuntime.Collections.#195034084._hygCtx._hyg.#11 : @652) => + fun (f : @657) => + @677 + (fun (other : @43) => + fun (rest : @616) => + fun (x._@.LexLeanRuntime.Collections.#195034084._hygCtx._hyg.#66 : @685) => @699 @700) + @1 +@715 := {κ : @0} -> + [inst._@.LexLeanRuntime.Collections.#195034084._hygCtx._hyg.#3 : @11] -> + (key : @2) -> (a._@._internal._hyg.#0 : @652) -> @310 +@716 := @518 @28 +@727 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#195034084._hygCtx._hyg.#3 : @11] => + fun (key : @2) => + fun (x._@.LexLeanRuntime.Collections.#195034084._hygCtx._hyg.#11 : @652) => + @716 @655 @1 (LexLeanCollections.containsElement._f @28 @14 @2) +@728 := @663 @28 +@731 := @728 + (fun (x._@.LexLeanRuntime.Collections.#195034084._hygCtx.#11.LexLeanRuntime.Collections.#195034084._hygCtx._hyg.#22 : @654) => + @310) + @1 +@732 := @731 @695 +@733 := @689 @85 +@736 := @733 @43 @28 @2 +@739 := @688 @736 @695 @698 +@740 := LexLeanCollections.containsElement +@746 := @739 (fun ("_" : @343) => @740 @86 @85 @43 @2) +@753 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#195034084._hygCtx._hyg.#3 : @11] => + fun (key : @2) => + fun (x._@.LexLeanRuntime.Collections.#195034084._hygCtx._hyg.#11 : @652) => + @732 (fun (other : @28) => fun (rest : @599) => @746) +@765 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#195034084._hygCtx._hyg.#3 : @11] => + fun (key : @2) => + fun (x._@.LexLeanRuntime.Collections.#195034084._hygCtx._hyg.#11 : @652) => + annot [sunfoldMatch := bool true] + (@731 + (fun ("_" : @343) => annot [sunfoldMatchAlt := bool true] @312) + (fun (other : @28) => fun (rest : @599) => annot [sunfoldMatchAlt := bool true] @746)) +@779 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#195034084._hygCtx._hyg.#3 : @11] => + fun (key : @2) => + fun (x._@.LexLeanRuntime.Collections.#195034084._hygCtx._hyg.#11 : @652) => + @732 + (fun (other : @28) => + fun (rest : @599) => + @739 (fun ("_" : @343) => LexLeanCollections.containsElement._unsafe_rec @86 @85 @43 @2)) +@780 := fun (x._@.LexLeanRuntime.Collections.#3779199783._hygCtx._hyg.#12 : @654) => @599 +@782 := @653 @780 @1 +@787 := {κ : @0} -> + [inst._@.LexLeanRuntime.Collections.#3779199783._hygCtx._hyg.#3 : @11] -> + (key : @2) -> + (x._@.LexLeanRuntime.Collections.#3779199783._hygCtx._hyg.#12 : @652) -> (f : @782) -> @599 +@789 := @665 (fun (x._@.LexLeanRuntime.Collections.#3779199783._hygCtx._hyg.#12 : @616) => @679) +@794 := @664 + (fun (x._@.LexLeanRuntime.Collections.#3779199783._hygCtx.#12.LexLeanRuntime.Collections.#3779199783._hygCtx._hyg.#23 : @599) => + (x._@.LexLeanRuntime.Collections.#3779199783._hygCtx._hyg.#87 : @789 @1) -> @679) + @2 +@795 := @789 @673 +@796 := @682 @43 +@797 := @374 @86 +@801 := @794 + (fun ("_" : @343) => + fun (x._@.LexLeanRuntime.Collections.#3779199783._hygCtx._hyg.#87 : @795) => @796 @797) +@802 := @369 @93 +@805 := @678 + (fun (x._@.LexLeanRuntime.Collections.#3779199783._hygCtx._hyg.#12 : @679) => @802) + @684 +@806 := @369 @137 +@809 := @686 (fun (x._@.LexLeanRuntime.Collections.#3779199783._hygCtx._hyg.#52 : @3) => @806) @693 +@810 := @380 @137 +@811 := @810 @86 +@812 := @810 @28 +@813 := @812 @14 +@816 := @809 (fun ("_" : @343) => @811 @813) +@817 := fun ("_" : @343) => @813 +@818 := @816 @817 +@820 := fun ("_" : @343) => @812 @500 +@831 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#3779199783._hygCtx._hyg.#3 : @11] => + fun (key : @2) => + fun (x._@.LexLeanRuntime.Collections.#3779199783._hygCtx._hyg.#12 : @652) => + fun (f : @782) => + @801 + (fun (other : @43) => + fun (rest : @616) => + fun (x._@.LexLeanRuntime.Collections.#3779199783._hygCtx._hyg.#87 : @805) => @818 @820) + @1 +@833 := (key : @2) -> (a._@._internal._hyg.#0 : @652) -> @654 +@835 := {κ : @0} -> [inst._@.LexLeanRuntime.Collections.#3779199783._hygCtx._hyg.#3 : @11] -> @833 +@846 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#3779199783._hygCtx._hyg.#3 : @11] => + fun (key : @2) => + fun (x._@.LexLeanRuntime.Collections.#3779199783._hygCtx._hyg.#12 : @652) => + @716 @780 @1 (LexLeanCollections.insertElement._f @28 @14 @2) +@849 := @728 + (fun (x._@.LexLeanRuntime.Collections.#3779199783._hygCtx.#12.LexLeanRuntime.Collections.#3779199783._hygCtx._hyg.#23 : @654) => + @599) + @1 +@851 := @380 @43 @14 +@852 := @374 @43 +@853 := @851 @852 +@855 := @849 (fun ("_" : @343) => @853) +@858 := @686 (fun (x._@.LexLeanRuntime.Collections.#3779199783._hygCtx._hyg.#52 : @3) => @679) @736 +@859 := @682 @14 +@860 := @859 @2 +@863 := @858 (fun ("_" : @343) => @796 @860) +@864 := fun ("_" : @343) => @860 +@865 := @863 @864 +@866 := LexLeanCollections.insertElement +@868 := @866 @86 @85 +@873 := @865 (fun ("_" : @343) => @859 (@868 @43 @2)) +@880 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#3779199783._hygCtx._hyg.#3 : @11] => + fun (key : @2) => + fun (x._@.LexLeanRuntime.Collections.#3779199783._hygCtx._hyg.#12 : @652) => + @855 (fun (other : @28) => fun (rest : @599) => @873) +@881 := Prod.{0, 0} +@882 := @881 @2 +@884 := @369 (@882 @595) +@887 := {κ : @0} -> + [inst._@.LexLeanRuntime.Collections.#1738817631._hygCtx._hyg.#3 : @11] -> (graph : @884) -> @652 +@888 := List.foldl.{0, 0} +@889 := @888 @652 +@890 := @881 @14 +@892 := @889 (@890 @652) +@893 := @881 @28 +@894 := @893 @654 +@901 := @888 @599 @43 (fun (inner : @599) => fun (node : @85) => @868 @1 @2) +@903 := @866 @43 @28 +@904 := Prod.fst.{0, 0} +@910 := @901 (@903 (@904 @43 @599 @1) @2) +@911 := Prod.snd.{0, 0} +@924 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#1738817631._hygCtx._hyg.#3 : @11] => + fun (graph : @884) => + @892 (fun (acc : @652) => fun (entry : @894) => @910 (@911 @43 @599 @1)) (@374 @14) @1 +@926 := @369 (@882 @1) +@927 := (x._@.LexLeanRuntime.Collections.#2107087126._hygCtx.#22.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#33 : @926) -> + @341 +@928 := @890 @2 +@929 := @369 @928 +@930 := @881 @43 +@931 := @930 @28 +@934 := ("_" : @343) -> @14 (@374 @931) +@935 := @881 @86 +@936 := @935 @85 +@937 := @369 @936 +@938 := @881 @93 +@939 := @938 @86 +@940 := @380 @939 +@941 := Prod.mk.{0, 0} +@951 := (other : @43) -> (stored : @43) -> (rest : @937) -> @85 (@940 (@941 @93 @86 @14 @2) @1) +@957 := {κ : @0} -> + {ν : @0} -> + (motive : @927) -> + (x._@.LexLeanRuntime.Collections.#2107087126._hygCtx.#22.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#33 : @929) -> + (h_1 : @934) -> (h_2 : @951) -> @270 +@958 := @881 @85 +@959 := @958 @43 +@960 := @408 @959 +@961 := @369 @959 +@965 := @960 (fun (x : @961) => @353) @14 @358 +@968 := Prod.casesOn.{u_1, 0, 0} @93 @86 +@969 := @881 @137 +@970 := @969 @93 +@971 := @380 @970 +@990 := fun {κ : @0} => + fun {ν : @0} => + fun (motive : @927) => + fun (x._@.LexLeanRuntime.Collections.#2107087126._hygCtx.#22.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#33 : @929) => + fun (h_1 : @934) => + fun (h_2 : @951) => + @965 + (fun (head._@.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#123 : @959) => + fun (tail._@.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#124 : @937) => + @968 + (fun (x : @939) => @86 (@971 @1 @2)) + @2 + (fun (fst._@.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#125 : @93) => + fun (snd._@.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#126 : @93) => @422 @14)) +@991 := @893 @14 +@992 := @369 @991 +@993 := @454 @931 +@994 := @369 @931 +@995 := Option.{0} +@996 := @995 @43 +@997 := fun (x._@.LexLeanRuntime.Collections.#1977705028._hygCtx._hyg.#17 : @994) => @996 +@999 := @993 @997 @1 +@1005 := {κ : @0} -> + {ν : @0} -> + [inst._@.LexLeanRuntime.Collections.#1977705028._hygCtx._hyg.#4 : @7] -> + (key : @14) -> + (x._@.LexLeanRuntime.Collections.#1977705028._hygCtx._hyg.#17 : @992) -> (f : @999) -> @996 +@1006 := LexLeanCollections.insertEntry.match_3.{1} +@1008 := @1006 @85 @43 +@1009 := @454 @936 +@1010 := @995 @86 +@1012 := @1009 (fun (x._@.LexLeanRuntime.Collections.#1977705028._hygCtx._hyg.#17 : @937) => @1010) +@1017 := @1008 + (fun (x._@.LexLeanRuntime.Collections.#1977705028._hygCtx.#17.LexLeanRuntime.Collections.#1977705028._hygCtx._hyg.#28 : @961) => + (x._@.LexLeanRuntime.Collections.#1977705028._hygCtx._hyg.#82 : @1012 @1) -> @1010) + @2 +@1018 := @374 @936 +@1019 := @1012 @1018 +@1020 := Option.none.{0} +@1024 := @1017 + (fun ("_" : @343) => + fun (x._@.LexLeanRuntime.Collections.#1977705028._hygCtx._hyg.#82 : @1019) => @1020 @86) +@1025 := @369 @939 +@1026 := @454 @970 +@1027 := @369 @970 +@1030 := @1026 + (fun (x._@.LexLeanRuntime.Collections.#1977705028._hygCtx._hyg.#17 : @1027) => @995 @137) +@1031 := @941 @137 +@1032 := @1031 @93 +@1036 := @971 (@1032 @14 @2) @1 +@1037 := @1030 @1036 +@1040 := @686 (fun (x._@.LexLeanRuntime.Collections.#1977705028._hygCtx._hyg.#60 : @3) => @995 @135) +@1044 := @689 @135 @93 @86 @28 +@1048 := @1040 @1044 (fun ("_" : @343) => @1020 @135) +@1049 := Option.some.{0} +@1066 := fun {κ : @0} => + fun {ν : @0} => + fun [inst._@.LexLeanRuntime.Collections.#1977705028._hygCtx._hyg.#4 : @7] => + fun (key : @14) => + fun (x._@.LexLeanRuntime.Collections.#1977705028._hygCtx._hyg.#17 : @992) => + fun (f : @999) => + @1024 + (fun (other : @85) => + fun (stored : @85) => + fun (rest : @1025) => + fun (x._@.LexLeanRuntime.Collections.#1977705028._hygCtx._hyg.#82 : @1037) => + @1048 (fun ("_" : @343) => @1049 @135 @28) @700) + @1 +@1067 := @995 @28 +@1072 := {κ : @0} -> + {ν : @0} -> + [inst._@.LexLeanRuntime.Collections.#1977705028._hygCtx._hyg.#4 : @7] -> + (key : @14) -> (a._@._internal._hyg.#0 : @992) -> @1067 +@1073 := @518 @931 +@1086 := fun {κ : @0} => + fun {ν : @0} => + fun [inst._@.LexLeanRuntime.Collections.#1977705028._hygCtx._hyg.#4 : @7] => + fun (key : @14) => + fun (x._@.LexLeanRuntime.Collections.#1977705028._hygCtx._hyg.#17 : @992) => + @1073 @997 @1 (LexLeanCollections.lookupEntry._f @43 @28 @14 @2) +@1088 := @1006 @43 @28 +@1091 := @1088 + (fun (x._@.LexLeanRuntime.Collections.#1977705028._hygCtx.#17.LexLeanRuntime.Collections.#1977705028._hygCtx._hyg.#28 : @994) => + @996) + @1 +@1092 := @1020 @43 +@1094 := @1091 (fun ("_" : @343) => @1092) +@1095 := @995 @93 +@1097 := @686 (fun (x._@.LexLeanRuntime.Collections.#1977705028._hygCtx._hyg.#60 : @3) => @1095) +@1100 := @690 @85 @43 @14 +@1108 := @1097 @1100 (fun ("_" : @343) => @1020 @93) (fun ("_" : @343) => @1049 @93 @14) +@1109 := LexLeanCollections.lookupEntry +@1116 := @1108 (fun ("_" : @343) => @1109 @137 @93 @86 @85 @2) +@1125 := fun {κ : @0} => + fun {ν : @0} => + fun [inst._@.LexLeanRuntime.Collections.#1977705028._hygCtx._hyg.#4 : @7] => + fun (key : @14) => + fun (x._@.LexLeanRuntime.Collections.#1977705028._hygCtx._hyg.#17 : @992) => + @1094 (fun (other : @43) => fun (stored : @43) => fun (rest : @937) => @1116) +@1129 := {κ : @0} -> + [inst._@.LexLeanRuntime.Collections.#4251190188._hygCtx._hyg.#3 : @11] -> + (graph : @884) -> (node : @14) -> @654 +@1142 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#4251190188._hygCtx._hyg.#3 : @11] => + fun (graph : @884) => fun (node : @14) => Option.getD.{0} @654 (@1109 @28 @654 @14 @1 @2) @596 +@1143 := Sort u+1 +@1144 := List.{u} +@1146 := (t : @1144 @1) -> @341 +@1147 := @1144 @2 +@1148 := List.nil.{u} +@1150 := @2 (@1148 @14) +@1151 := @264 @294 +@1152 := List.ctorIdx.{u} +@1153 := @1152 @28 +@1161 := {α : @1143} -> + {motive : @1146} -> + (t : @1147) -> + (nil : @1150) -> + (else._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#158 : (h : @1151 (@1153 @2)) -> + @270) -> + @270 +@1179 := List.rec.{u_1, u} + @28 + (fun (t : @1144 @28) => + (else._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#158 : (h : @1151 + (@1152 @43 @1)) -> + @279) -> + @279) + (fun (else._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#158 : (h : @1151 + (@1153 (@1148 @28))) -> + @28 (@1148 @43)) => + @2) +@1180 := @1144 @43 +@1183 := @1151 (@1152 @85 @1) +@1184 := @85 @2 +@1186 := (else._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#158 : (h : @1183) -> + @1184) -> + @1184 +@1187 := @1152 @86 +@1188 := List.cons.{u} +@1198 := (h : @1151 (@1187 (@1188 @86 @14 @2))) -> @86 (@1188 @93 @28 @14) +@1199 := @300 @294 +@1205 := @1 (@289 (@299 (@1199 @294)) @307 @313) +@1215 := fun {α : @1143} => + fun {motive : @1146} => + fun (t : @1147) => + fun (nil : @1150) => + @1179 + (fun (head : @28) => + fun (tail : @1180) => + fun (tail_ih : @1186) => + fun (else._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#158 : @1198) => @1205) + @2 +@1216 := (next._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#129 : @593) -> @341 +@1217 := (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#138 : @654) -> @346 +@1222 := {κ : @0} -> + (motive : @1216) -> + (next._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#129 : @595) -> + (h_1 : @598) -> (h_2 : @1217) -> @270 +@1238 := fun {κ : @0} => + fun (motive : @1216) => + fun (next._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#129 : @595) => + fun (h_1 : @598) => + fun (h_2 : @1217) => + LexLeanCollections.reachableFrom._sparseCasesOn_1.{u_1, 0} + @43 + @612 + @14 + @358 + (fun (h._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#159 : @1151 + (List.ctorIdx.{0} @43 @14)) => + @362) +@1241 := (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx.#25.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#52 : @59) -> + (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx.#26.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#55 : @595) -> + (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx.#27.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#58 : @652) -> + @341 +@1244 := @305 @62 (@296 @62) +@1249 := (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#66 : @599) -> + (seen : @616) -> @85 @1244 @2 @1 +@1250 := Nat.succ +@1251 := @1250 @14 +@1257 := (fuel : @59) -> (frontier : @679) -> (seen : @802) -> @93 @1251 @2 @1 +@1267 := {κ : @0} -> + (motive : @1241) -> + (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx.#25.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#52 : @59) -> + (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx.#26.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#55 : @652) -> + (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx.#27.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#58 : @654) -> + (h_1 : @1249) -> (h_2 : @1257) -> @85 @43 @28 @14 +@1268 := Nat.casesOn.{u_1} +@1287 := fun {κ : @0} => + fun (motive : @1241) => + fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx.#25.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#52 : @59) => + fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx.#26.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#55 : @652) => + fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx.#27.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#58 : @654) => + fun (h_1 : @1249) => + fun (h_2 : @1257) => + @1268 + (fun (x : @59) => @86 @1 @43 @28) + @43 + (@362 @14) + (fun (n._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#166 : @59) => @46 @43 @28) +@1288 := Nat.below.{1} +@1290 := (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#26 : @599) -> + (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#27 : @616) -> @679 +@1293 := @1288 + (fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#25 : @59) => @1290) + @1 +@1298 := {κ : @0} -> + [inst._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#3 : @11] -> + (graph : @884) -> + (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#25 : @59) -> (f : @1293) -> @1290 +@1299 := LexLeanCollections.reachableFrom.match_4.{1} +@1300 := @1299 @86 +@1301 := @369 @175 +@1302 := #11 +@1303 := @369 @1302 +@1304 := #12 +@1305 := @369 @1304 +@1309 := @1288 + (fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#25 : @59) => + (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#26 : @1301) -> + (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#27 : @1303) -> @1305) +@1318 := @1300 + (fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx.#25.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#52 : @59) => + fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx.#26.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#55 : @802) => + fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx.#27.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#58 : @806) => + (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#167 : @1309 @14) -> @1301) + @28 + @2 + @1 +@1319 := @369 @135 +@1328 := @1318 + (fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#66 : @679) => + fun (seen : @802) => + fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#167 : @1288 + (fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#25 : @59) => + (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#26 : @1319) -> + (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#27 : @1301) -> @1303) + @1244) => + @2) +@1329 := @1309 @1251 +@1331 := @888 @1301 @175 +@1333 := @888 @1305 @1304 +@1334 := #13 +@1335 := ite.{1} +@1336 := #14 +@1338 := @1335 (@369 @1336) +@1339 := @208 @310 +@1340 := Bool.or +@1343 := @740 @1336 @1334 @1 +@1347 := @1340 (@1343 @85) (@1343 @2) +@1350 := @1338 (@1339 @1347 @697) +@1351 := instDecidableEqBool +@1355 := @1350 (@1351 @1347 @697) @2 +@1359 := @866 @1336 @1334 @1 @2 +@1364 := @1333 (fun (acc2 : @1305) => fun (succ : @1334) => @1355 @1359) @2 +@1365 := LexLeanCollections.graphSuccessors +@1369 := @1365 @1304 @1302 @175 @1 +@1376 := @1331 (fun (acc : @1301) => fun (node : @1302) => @1364 @1369) (@374 @175) @14 +@1377 := LexLeanCollections.reachableFrom.match_1.{1} +@1383 := @1377 + @1302 + (fun (next._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#129 : @1303) => @1305) + @1 + (fun ("_" : @343) => @28) +@1384 := proj PProd PProd.fst 0 @14 +@1407 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#3 : @11] => + fun (graph : @884) => + fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#25 : @59) => + fun (f : @1293) => + fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#26 : @599) => + fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#27 : @616) => + @1328 + (fun (fuel : @59) => + fun (frontier : @802) => + fun (seen : @806) => + fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#167 : @1329) => + let next : @1301 := @1376; + @1383 + (fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#138 : @1303) => + @1384 @2 (@1333 (fun (acc : @1305) => fun (key : @1334) => @1359) @28 @2))) + @14 +@1413 := {κ : @0} -> + [inst._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#3 : @11] -> + (graph : @884) -> + (a._@._internal._hyg.#0 : @59) -> + (a._@._internal._hyg.#0 : @654) -> (a._@._internal._hyg.#0 : @599) -> @616 +@1414 := Nat.brecOn.{1} +@1432 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#3 : @11] => + fun (graph : @884) => + fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#25 : @59) => + fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#26 : @654) => + fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#27 : @599) => + @1414 + (fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#25 : @59) => + (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#26 : @679) -> + (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#27 : @802) -> @806) + @14 + (LexLeanCollections.reachableFrom._f @85 @43 @28) + @2 + @1 +@1433 := @1299 @85 +@1440 := @1433 + (fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx.#25.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#52 : @59) => + fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx.#26.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#55 : @679) => + fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx.#27.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#58 : @802) => + @806) + @14 + @2 + @1 +@1443 := @1440 + (fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#66 : @616) => + fun (seen : @679) => @1) +@1445 := @888 @806 @137 +@1446 := @1335 @1305 +@1448 := @740 @1304 @1302 +@1449 := @1448 @1 +@1453 := @1340 (@1449 @43) (@1449 @2) +@1460 := @1446 (@1339 @1453 @697) (@1351 @1453 @697) @2 +@1464 := @866 @1304 @1302 @1 @2 +@1469 := @1331 (fun (acc2 : @1301) => fun (succ : @1302) => @1460 @1464) @2 +@1473 := @1365 @175 @135 @137 @1 +@1480 := @1445 (fun (acc : @806) => fun (node : @135) => @1469 @1473) (@374 @137) @2 +@1484 := @1377 + @135 + (fun (next._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#129 : @1319) => @1301) + @1 +@1485 := fun ("_" : @343) => @14 +@1486 := @1484 @1485 +@1487 := LexLeanCollections.reachableFrom +@1492 := @1487 @175 @135 @137 @43 @2 +@1497 := @1331 (fun (acc : @1301) => fun (key : @1302) => @1464) @14 @2 +@1500 := @1486 + (fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#138 : @1319) => @1492 @1497) +@1511 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#3 : @11] => + fun (graph : @884) => + fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#25 : @59) => + fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#26 : @654) => + fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#27 : @599) => + @1443 + (fun (fuel : @59) => + fun (frontier : @679) => fun (seen : @802) => let next : @806 := @1480; @1500) +@1515 := {κ : @0} -> + [inst._@.LexLeanRuntime.Collections.#2047078506._hygCtx._hyg.#3 : @11] -> + (graph : @884) -> (start : @14) -> @654 +@1518 := @1487 @28 @14 @2 +@1527 := HAdd.hAdd.{0, 0, 0} @59 @59 @59 (instHAdd.{0} @59 instAddNat) +@1528 := List.length.{0} +@1529 := @1528 @28 +@1530 := LexLeanCollections.graphNodes +@1537 := @1518 (@1527 (@1529 (@1530 @28 @14 @2)) @307) +@1540 := @380 @28 @1 @596 +@1546 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#2047078506._hygCtx._hyg.#3 : @11] => + fun (graph : @884) => fun (start : @14) => @1537 @1540 @1540 +@1547 := fun (x._@.LexLeanRuntime.Collections.#2556190753._hygCtx._hyg.#12 : @654) => @599 +@1549 := @653 @1547 @1 +@1554 := {κ : @0} -> + [inst._@.LexLeanRuntime.Collections.#2556190753._hygCtx._hyg.#3 : @11] -> + (key : @2) -> + (x._@.LexLeanRuntime.Collections.#2556190753._hygCtx._hyg.#12 : @652) -> (f : @1549) -> @599 +@1556 := @665 (fun (x._@.LexLeanRuntime.Collections.#2556190753._hygCtx._hyg.#12 : @616) => @679) +@1584 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#2556190753._hygCtx._hyg.#3 : @11] => + fun (key : @2) => + fun (x._@.LexLeanRuntime.Collections.#2556190753._hygCtx._hyg.#12 : @652) => + fun (f : @1549) => + @664 + (fun (x._@.LexLeanRuntime.Collections.#2556190753._hygCtx.#12.LexLeanRuntime.Collections.#2556190753._hygCtx._hyg.#23 : @599) => + (x._@.LexLeanRuntime.Collections.#2556190753._hygCtx._hyg.#77 : @1556 @1) -> @679) + @2 + (fun ("_" : @343) => + fun (x._@.LexLeanRuntime.Collections.#2556190753._hygCtx._hyg.#77 : @1556 @673) => @797) + (fun (other : @43) => + fun (rest : @616) => + fun (x._@.LexLeanRuntime.Collections.#2556190753._hygCtx._hyg.#77 : @678 + (fun (x._@.LexLeanRuntime.Collections.#2556190753._hygCtx._hyg.#12 : @679) => @802) + @684) => + @686 + (fun (x._@.LexLeanRuntime.Collections.#2556190753._hygCtx._hyg.#50 : @3) => @806) + @693 + @817 + @1485 + @820) + @1 +@1586 := {κ : @0} -> [inst._@.LexLeanRuntime.Collections.#2556190753._hygCtx._hyg.#3 : @11] -> @833 +@1597 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#2556190753._hygCtx._hyg.#3 : @11] => + fun (key : @2) => + fun (x._@.LexLeanRuntime.Collections.#2556190753._hygCtx._hyg.#12 : @652) => + @716 @1547 @1 (LexLeanCollections.removeElement._f @28 @14 @2) +@1600 := @728 + (fun (x._@.LexLeanRuntime.Collections.#2556190753._hygCtx.#12.LexLeanRuntime.Collections.#2556190753._hygCtx._hyg.#23 : @654) => + @599) + @1 +@1602 := @1600 (fun ("_" : @343) => @852) +@1606 := @686 + (fun (x._@.LexLeanRuntime.Collections.#2556190753._hygCtx._hyg.#50 : @3) => @679) + @736 + @864 +@1607 := fun ("_" : @343) => @2 +@1608 := @1606 @1607 +@1609 := LexLeanCollections.removeElement +@1616 := @1608 (fun ("_" : @343) => @859 (@1609 @86 @85 @43 @2)) +@1623 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#2556190753._hygCtx._hyg.#3 : @11] => + fun (key : @2) => + fun (x._@.LexLeanRuntime.Collections.#2556190753._hygCtx._hyg.#12 : @652) => + @1602 (fun (other : @28) => fun (rest : @599) => @1616) +@1626 := (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#29 : @599) -> + (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#30 : @616) -> @995 @679 +@1629 := @1288 + (fun (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#28 : @59) => @1626) + @1 +@1634 := {κ : @0} -> + [inst._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#3 : @11] -> + (graph : @884) -> + (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#28 : @59) -> (f : @1629) -> @1626 +@1639 := @1288 + (fun (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#28 : @59) => + (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#29 : @1301) -> + (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#30 : @1303) -> @995 @1305) +@1649 := @1300 + (fun (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx.#28.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#55 : @59) => + fun (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx.#29.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#58 : @802) => + fun (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx.#30.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#61 : @806) => + (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#171 : @1639 @14) -> @995 @1301) + @28 + @2 + @1 +@1650 := @995 @1303 +@1655 := @1288 + (fun (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#28 : @59) => + (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#29 : @1319) -> + (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#30 : @1301) -> @1650) + @1244 +@1656 := @995 @1319 +@1657 := @1335 @1656 +@1658 := List.isEmpty.{0} +@1660 := @1658 @135 @14 +@1666 := @1657 (@1339 @1660 @697) (@1351 @1660 @697) +@1667 := @1049 @1319 +@1668 := List.reverse.{0} +@1674 := @1666 (@1667 (@1668 @135 @2)) (@1020 @1319) +@1678 := @1649 + (fun (remaining : @679) => + fun (order : @802) => + fun (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#171 : @1655) => @1674) +@1679 := @1639 @1251 +@1682 := @663 + @175 + (fun (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#120 : @1301) => @1650) +@1683 := List.filter.{0} +@1684 := @1683 @175 +@1685 := List.all.{0} +@1687 := @1685 @1302 @28 +@1688 := Bool.not +@1697 := @1682 + (@1684 (fun (node : @175) => @1687 (fun (other : @1302) => @1688 (@1448 @2 @1369))) @14) +@1698 := @1335 @1650 +@1700 := @1658 @1302 @28 +@1740 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#3 : @11] => + fun (graph : @884) => + fun (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#28 : @59) => + fun (f : @1629) => + fun (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#29 : @599) => + fun (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#30 : @616) => + @1678 + (fun (fuel : @59) => + fun (remaining : @802) => + fun (order : @806) => + fun (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#171 : @1679) => + @1697 + (fun ("_" : @343) => + @1698 (@1339 @1700 @697) (@1351 @1700 @697) (@1049 @1303 (@1668 @1302 @14)) (@1020 @1303)) + (fun (ready : @175) => + fun (tail._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#144 : @1303) => + @1384 (@1609 @1304 @1302 @2 @43) (@380 @1304 @2 @28))) + @14 +@1747 := {κ : @0} -> + [inst._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#3 : @11] -> + (graph : @884) -> + (a._@._internal._hyg.#0 : @59) -> + (a._@._internal._hyg.#0 : @654) -> (a._@._internal._hyg.#0 : @599) -> @995 @616 +@1748 := @995 @806 +@1766 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#3 : @11] => + fun (graph : @884) => + fun (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#28 : @59) => + fun (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#29 : @654) => + fun (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#30 : @599) => + @1414 + (fun (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#28 : @59) => + (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#29 : @679) -> + (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#30 : @802) -> @1748) + @14 + (LexLeanCollections.topological._f @85 @43 @28) + @2 + @1 +@1773 := @1433 + (fun (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx.#28.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#55 : @59) => + fun (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx.#29.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#58 : @679) => + fun (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx.#30.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#61 : @802) => + @1748) + @14 + @2 + @1 +@1775 := @1335 (@995 @802) +@1777 := @1658 @93 @2 +@1790 := @1775 (@1339 @1777 @697) (@1351 @1777 @697) (@1049 @802 (@1668 @93 @1)) (@1020 @802) +@1793 := @1773 (fun (remaining : @616) => fun (order : @679) => @1790) +@1812 := @663 + @137 + (fun (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#120 : @806) => @1656) + (@1683 + @137 + (fun (node : @137) => @1685 @135 @14 (fun (other : @135) => @1688 (@740 @175 @135 @2 @1473))) + @2) + (fun ("_" : @343) => @1674) +@1813 := LexLeanCollections.topological +@1817 := @1813 @175 @135 @137 @43 +@1821 := @1609 @175 @135 @2 @28 +@1822 := @1817 @1821 +@1825 := @380 @175 @2 @14 +@1829 := @1812 + (fun (ready : @137) => + fun (tail._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#144 : @1319) => @1822 @1825) +@1839 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#3 : @11] => + fun (graph : @884) => + fun (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#28 : @59) => + fun (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#29 : @654) => + fun (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#30 : @599) => + @1793 (fun (fuel : @59) => fun (remaining : @679) => fun (order : @802) => @1829) +@1843 := {κ : @0} -> + [inst._@.LexLeanRuntime.Collections.#624393543._hygCtx._hyg.#3 : @11] -> + (graph : @884) -> @995 @652 +@1859 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#624393543._hygCtx._hyg.#3 : @11] => + fun (graph : @884) => + have nodes : @652 := @1530 @14 @2 @1; @1813 @28 @14 @2 (@1527 (@1529 @1) @307) @1 @596 +@1871 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#3779199783._hygCtx._hyg.#3 : @11] => + fun (key : @2) => + fun (x._@.LexLeanRuntime.Collections.#3779199783._hygCtx._hyg.#12 : @652) => + annot [sunfoldMatch := bool true] + (@849 + (fun ("_" : @343) => annot [sunfoldMatchAlt := bool true] @853) + (fun (other : @28) => fun (rest : @599) => annot [sunfoldMatchAlt := bool true] @873)) +@1886 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#3779199783._hygCtx._hyg.#3 : @11] => + fun (key : @2) => + fun (x._@.LexLeanRuntime.Collections.#3779199783._hygCtx._hyg.#12 : @652) => + @855 + (fun (other : @28) => + fun (rest : @599) => + @865 (fun ("_" : @343) => @859 (LexLeanCollections.insertElement._unsafe_rec @86 @85 @43 @2))) +@1887 := @454 @959 +@1888 := fun (x._@.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#22 : @961) => @937 +@1890 := @1887 @1888 @1 +@1897 := {κ : @0} -> + {ν : @0} -> + [inst._@.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#4 : @7] -> + (key : @14) -> + (value : @14) -> + (x._@.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#22 : @994) -> (f : @1890) -> @937 +@1899 := @1006 @86 @85 +@1902 := @454 + @939 + (fun (x._@.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#22 : @1025) => @1027) +@1907 := @1899 + (fun (x._@.LexLeanRuntime.Collections.#2107087126._hygCtx.#22.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#33 : @937) => + (x._@.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#127 : @1902 @1) -> @1027) + @2 +@1908 := @374 @939 +@1917 := @1907 + (fun ("_" : @343) => + fun (x._@.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#127 : @1902 @1908) => + @971 (@1032 @85 @43) (@374 @970)) +@1919 := @881 @135 @137 +@1920 := @454 @1919 +@1921 := @369 @1919 +@1923 := @881 @175 @135 +@1924 := @369 @1923 +@1926 := @1920 (fun (x._@.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#22 : @1921) => @1924) +@1927 := @380 @1919 +@1929 := @941 @135 @137 +@1934 := @1926 (@1927 (@1929 @14 @2) @1) +@1936 := @881 @1302 @175 +@1944 := @686 + (fun (x._@.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#73 : @3) => @369 @1936) + (@689 @175 @137 @93 @28) +@1945 := @380 @1936 +@1947 := @941 @1302 @175 +@1950 := @1945 (@1947 @137 @93) +@1953 := @1945 (@1947 @43 @28) +@1976 := fun {κ : @0} => + fun {ν : @0} => + fun [inst._@.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#4 : @7] => + fun (key : @14) => + fun (value : @14) => + fun (x._@.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#22 : @994) => + fun (f : @1890) => + @1917 + (fun (other : @86) => + fun (stored : @86) => + fun (rest : @1027) => + fun (x._@.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#127 : @1934) => + @1944 + (fun ("_" : @343) => @1950 (@1953 @14)) + (fun ("_" : @343) => @1950 @14) + (fun ("_" : @343) => @1953 @500)) + @1 +@1982 := {κ : @0} -> + {ν : @0} -> + [inst._@.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#4 : @7] -> + (key : @14) -> (value : @14) -> (a._@._internal._hyg.#0 : @994) -> @961 +@1998 := fun {κ : @0} => + fun {ν : @0} => + fun [inst._@.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#4 : @7] => + fun (key : @14) => + fun (value : @14) => + fun (x._@.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#22 : @994) => + @518 @959 @1888 @1 (LexLeanCollections.insertEntry._f @85 @43 @28 @14 @2) +@2001 := @1008 + (fun (x._@.LexLeanRuntime.Collections.#2107087126._hygCtx.#22.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#33 : @961) => + @937) + @1 +@2002 := @380 @936 +@2003 := @941 @86 +@2008 := @2002 (@2003 @85 @28 @14) @1018 +@2010 := @2001 (fun ("_" : @343) => @2008) +@2017 := @686 + (fun (x._@.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#73 : @3) => @1921) + (@689 @137 @86 @85 @14) +@2020 := @1927 (@1929 @86 @85) +@2023 := @1927 (@1929 @28 @14) +@2030 := @2017 (fun ("_" : @343) => @2020 (@2023 @2)) (fun ("_" : @343) => @2020 @2) +@2031 := LexLeanCollections.insertEntry +@2040 := @2030 (fun ("_" : @343) => @2023 (@2031 @135 @137 @93 @86 @85 @2)) +@2050 := fun {κ : @0} => + fun {ν : @0} => + fun [inst._@.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#4 : @7] => + fun (key : @14) => + fun (value : @14) => + fun (x._@.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#22 : @994) => + @2010 (fun (other : @85) => fun (stored : @85) => fun (rest : @1025) => @2040) +@2065 := fun {κ : @0} => + fun {ν : @0} => + fun [inst._@.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#4 : @7] => + fun (key : @14) => + fun (value : @14) => + fun (x._@.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#22 : @994) => + annot [sunfoldMatch := bool true] + (@2001 + (fun ("_" : @343) => annot [sunfoldMatchAlt := bool true] @2008) + (fun (other : @85) => + fun (stored : @85) => fun (rest : @1025) => annot [sunfoldMatchAlt := bool true] @2040)) +@2085 := fun {κ : @0} => + fun {ν : @0} => + fun [inst._@.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#4 : @7] => + fun (key : @14) => + fun (value : @14) => + fun (x._@.LexLeanRuntime.Collections.#2107087126._hygCtx._hyg.#22 : @994) => + @2010 + (fun (other : @85) => + fun (stored : @85) => + fun (rest : @1025) => + @2030 + (fun ("_" : @343) => + @2023 (LexLeanCollections.insertEntry._unsafe_rec @135 @137 @93 @86 @85 @2))) +@2086 := @6 @310 +@2091 := @17 @310 (@487 @310 instOrdBool) +@2092 := Int +@2093 := @6 @2092 +@2094 := @17 @2092 +@2097 := @487 @2092 instOrdInt +@2098 := @2094 @2097 +@2099 := Int16 +@2100 := @6 @2099 +@2101 := @17 @2099 +@2102 := Int16.toInt +@2109 := @2101 (fun (left : @2099) => fun (right : @2099) => @2097 (@2102 @2) (@2102 @1)) +@2110 := Int32 +@2111 := @6 @2110 +@2112 := @17 @2110 +@2113 := Int32.toInt +@2120 := @2112 (fun (left : @2110) => fun (right : @2110) => @2097 (@2113 @2) (@2113 @1)) +@2121 := Int64 +@2122 := @6 @2121 +@2123 := @17 @2121 +@2124 := Int64.toInt +@2131 := @2123 (fun (left : @2121) => fun (right : @2121) => @2097 (@2124 @2) (@2124 @1)) +@2132 := Int8 +@2133 := @6 @2132 +@2134 := @17 @2132 +@2135 := Int8.toInt +@2142 := @2134 (fun (left : @2132) => fun (right : @2132) => @2097 (@2135 @2) (@2135 @1)) +@2143 := @6 @59 +@2145 := @17 @59 @490 +@2150 := {α : @0} -> + {β : @0} -> + [inst._@.LexLeanRuntime.Collections.#1247148035._hygCtx._hyg.#4 : @7] -> + [inst._@.LexLeanRuntime.Collections.#1247148035._hygCtx._hyg.#7 : @7] -> @6 @991 +@2151 := @17 @991 +@2153 := @484 (fun (x._@.LexLeanRuntime.Collections.#1247148035._hygCtx._hyg.#34 : @3) => @3) +@2154 := @733 @28 +@2156 := @904 @85 @43 +@2161 := @2153 (@2154 (@2156 @2) (@2156 @1)) +@2163 := @911 @86 @85 +@2177 := fun {α : @0} => + fun {β : @0} => + fun [inst._@.LexLeanRuntime.Collections.#1247148035._hygCtx._hyg.#4 : @7] => + fun [inst._@.LexLeanRuntime.Collections.#1247148035._hygCtx._hyg.#7 : @7] => + @2151 + (fun (left : @991) => + fun (right : @931) => @2161 (fun ("_" : @343) => @2154 (@2163 @14) (@2163 @2)) @504) +@2178 := String +@2179 := @6 @2178 +@2180 := @17 @2178 +@2181 := String.toList +@2188 := @2180 (fun (left : @2178) => fun (right : @2178) => @547 (@2181 @2) (@2181 @1)) +@2189 := UInt16 +@2190 := @6 @2189 +@2191 := @17 @2189 +@2192 := UInt16.toNat +@2199 := @2191 (fun (left : @2189) => fun (right : @2189) => @490 (@2192 @2) (@2192 @1)) +@2200 := UInt32 +@2201 := @6 @2200 +@2209 := @17 @2200 (fun (left : @2200) => fun (right : @2200) => @490 (@491 @2) (@491 @1)) +@2210 := UInt64 +@2211 := @6 @2210 +@2212 := @17 @2210 +@2213 := UInt64.toNat +@2220 := @2212 (fun (left : @2210) => fun (right : @2210) => @490 (@2213 @2) (@2213 @1)) +@2221 := UInt8 +@2222 := @6 @2221 +@2223 := @17 @2221 +@2224 := UInt8.toNat +@2231 := @2223 (fun (left : @2221) => fun (right : @2221) => @490 (@2224 @2) (@2224 @1)) +@2233 := (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx.#11.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#30 : @59) -> + (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx.#12.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#33 : @2) -> + @341 +@2236 := (state : @28) -> @28 @1244 @1 +@2237 := @1250 @2 +@2241 := (count : @59) -> (state : @85) -> @85 @2237 @1 +@2247 := {σ : @0} -> + (motive : @2233) -> + (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx.#11.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#30 : @59) -> + (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx.#12.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#33 : @14) -> + (h_1 : @2236) -> (h_2 : @2241) -> @438 +@2262 := fun {σ : @0} => + fun (motive : @2233) => + fun (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx.#11.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#30 : @59) => + fun (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx.#12.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#33 : @14) => + fun (h_1 : @2236) => + fun (h_2 : @2241) => + @1268 + (fun (x : @59) => @638 @28) + @28 + (@2 @14) + (fun (n._@.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#60 : @59) => @46 @28) +@2263 := (a._@._internal._hyg.#0 : @1) -> @2 +@2264 := (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#12 : @28) -> @43 +@2267 := @1288 + (fun (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#11 : @59) => @2264) + @1 +@2271 := {σ : @0} -> + (step : @2263) -> + (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#11 : @59) -> (f : @2267) -> @2264 +@2272 := LexLeanCollections.iterate.match_1.{1} +@2273 := @2272 @43 +@2276 := @1288 + (fun (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#11 : @59) => + (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#12 : @93) -> @137) +@2290 := @2273 + (fun (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx.#11.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#30 : @59) => + fun (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx.#12.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#33 : @85) => + (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#61 : @2276 @2) -> @93) + @14 + @1 + (fun (state : @43) => + fun (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#61 : @1288 + (fun (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#11 : @59) => + (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#12 : @86) -> @93) + @1244) => + @2) +@2291 := @2276 @2237 +@2292 := proj PProd PProd.fst 0 @1 +@2293 := @86 @2 +@2304 := fun {σ : @0} => + fun (step : @2263) => + fun (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#11 : @59) => + fun (f : @2267) => + fun (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#12 : @28) => + @2290 + (fun (count : @59) => + fun (state : @85) => + fun (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#61 : @2291) => @2292 @2293) + @2 +@2308 := {σ : @0} -> + (step : @2263) -> (a._@._internal._hyg.#0 : @59) -> (a._@._internal._hyg.#0 : @14) -> @28 +@2321 := fun {σ : @0} => + fun (step : @2263) => + fun (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#11 : @59) => + fun (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#12 : @14) => + @1414 + (fun (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#11 : @59) => + (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#12 : @43) -> @85) + @2 + (LexLeanCollections.iterate._f @28 @14) + @1 +@2322 := @2272 @28 +@2327 := @2322 + (fun (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx.#11.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#30 : @59) => + fun (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx.#12.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#33 : @43) => + @85) + @2 + @1 +@2329 := @2327 (fun (state : @28) => @1) +@2334 := LexLeanCollections.iterate @85 @43 @2 @353 +@2341 := fun {σ : @0} => + fun (step : @2263) => + fun (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#11 : @59) => + fun (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#12 : @14) => + @2329 (fun (count : @59) => fun (state : @43) => @2334) +@2342 := annot [sunfoldMatchAlt := bool true] @1 +@2353 := fun {σ : @0} => + fun (step : @2263) => + fun (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#11 : @59) => + fun (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#12 : @14) => + annot [sunfoldMatch := bool true] + (@2327 + (fun (state : @28) => @2342) + (fun (count : @59) => fun (state : @43) => annot [sunfoldMatchAlt := bool true] @2334)) +@2365 := fun {σ : @0} => + fun (step : @2263) => + fun (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#11 : @59) => + fun (x._@.LexLeanRuntime.Collections.#1202121004._hygCtx._hyg.#12 : @14) => + @2329 + (fun (count : @59) => + fun (state : @43) => LexLeanCollections.iterate._unsafe_rec @85 @43 @2 @353) +@2367 := (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#64 : @995 @1) -> @341 +@2368 := @995 @2 +@2371 := ("_" : @343) -> @14 (@1020 @28) +@2375 := (next : @28) -> @28 (@1049 @43 @1) +@2380 := {σ : @0} -> + (motive : @2367) -> + (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#64 : @2368) -> + (h_1 : @2371) -> (h_2 : @2375) -> @270 +@2393 := fun {σ : @0} => + fun (motive : @2367) => + fun (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#64 : @2368) => + fun (h_1 : @2371) => + fun (h_2 : @2375) => + Option.casesOn.{u_1, 0} + @43 + (fun (x : @996) => @353) + @14 + @358 + (fun (val._@.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#84 : @43) => @46) +@2394 := (a._@._internal._hyg.#0 : @1) -> @2368 +@2396 := (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#15 : @28) -> @930 @310 +@2399 := @1288 + (fun (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#14 : @59) => @2396) + @1 +@2403 := {σ : @0} -> + (step : @2394) -> + (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#14 : @59) -> (f : @2399) -> @2396 +@2404 := @969 @310 +@2407 := @1288 + (fun (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#14 : @59) => + (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#15 : @93) -> @2404) +@2408 := @2407 @2 +@2409 := @938 @310 +@2415 := @2273 + (fun (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx.#14.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#33 : @59) => + fun (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx.#15.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#36 : @85) => + (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#90 : @2408) -> @2409) + @14 + @1 +@2419 := @1288 + (fun (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#14 : @59) => + (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#15 : @86) -> @2409) + @1244 +@2421 := @2003 @310 @2 +@2425 := @2415 + (fun (state : @43) => + fun (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#90 : @2419) => @2421 @312) +@2426 := @2407 @2237 +@2427 := LexLeanCollections.iterateUntil.match_1.{1} +@2449 := fun {σ : @0} => + fun (step : @2394) => + fun (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#14 : @59) => + fun (f : @2399) => + fun (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#15 : @28) => + @2425 + (fun (fuel : @59) => + fun (state : @85) => + fun (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#90 : @2426) => + @2427 + @93 + (fun (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#64 : @1095) => @2404) + @2293 + (fun ("_" : @343) => @1031 @310 @14 @697) + (fun (next : @93) => @500 @1)) + @2 +@2454 := {σ : @0} -> + (step : @2394) -> (a._@._internal._hyg.#0 : @59) -> (a._@._internal._hyg.#0 : @14) -> @893 @310 +@2455 := @958 @310 +@2468 := fun {σ : @0} => + fun (step : @2394) => + fun (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#14 : @59) => + fun (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#15 : @14) => + @1414 + (fun (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#14 : @59) => + (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#15 : @43) -> @2455) + @2 + (LexLeanCollections.iterateUntil._f @28 @14) + @1 +@2473 := @2322 + (fun (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx.#14.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#33 : @59) => + fun (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx.#15.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#36 : @43) => + @2455) + @2 + @1 +@2477 := @941 @43 @310 @1 @312 +@2479 := @2473 (fun (state : @28) => @2477) +@2488 := @2427 + @85 + (fun (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#64 : @995 @85) => @935 @310) + @353 + (fun ("_" : @343) => @2421 @697) +@2495 := @2488 (fun (next : @85) => LexLeanCollections.iterateUntil @86 @85 @14 @1) +@2502 := fun {σ : @0} => + fun (step : @2394) => + fun (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#14 : @59) => + fun (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#15 : @14) => + @2479 (fun (fuel : @59) => fun (state : @43) => @2495) +@2514 := fun {σ : @0} => + fun (step : @2394) => + fun (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#14 : @59) => + fun (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#15 : @14) => + annot [sunfoldMatch := bool true] + (@2473 + (fun (state : @28) => annot [sunfoldMatchAlt := bool true] @2477) + (fun (fuel : @59) => fun (state : @43) => annot [sunfoldMatchAlt := bool true] @2495)) +@2528 := fun {σ : @0} => + fun (step : @2394) => + fun (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#14 : @59) => + fun (x._@.LexLeanRuntime.Collections.#3335273952._hygCtx._hyg.#15 : @14) => + @2479 + (fun (fuel : @59) => + fun (state : @43) => + @2488 (fun (next : @85) => LexLeanCollections.iterateUntil._unsafe_rec @86 @85 @14 @1)) +@2529 := @2 @284 +@2535 := {motive : @261} -> + (t : @3) -> + (lt : @2529) -> + (else._@.LexLeanRuntime.Collections.#739993983._hygCtx._hyg.#29 : (h : @1151 @268) -> @270) -> + @270 +@2562 := fun {motive : @261} => + fun (t : @3) => + fun (lt : @2529) => + @276 + (fun (t : @3) => + (else._@.LexLeanRuntime.Collections.#739993983._hygCtx._hyg.#29 : (h : @1151 @277) -> @279) -> + @279) + (fun (else._@.LexLeanRuntime.Collections.#739993983._hygCtx._hyg.#29 : (h : @1151 @285) -> + @287) => + @2) + (fun (else._@.LexLeanRuntime.Collections.#739993983._hygCtx._hyg.#29 : (h : @1151 @318) -> + @320) => + @1205) + (fun (else._@.LexLeanRuntime.Collections.#739993983._hygCtx._hyg.#29 : (h : @1151 @325) -> + @327) => + @1 (@289 (@299 (@1199 @265)) @307 @313)) + @2 +@2563 := (x._@.LexLeanRuntime.Collections.#739993983._hygCtx._hyg.#18 : @3) -> @341 +@2564 := (x._@.LexLeanRuntime.Collections.#739993983._hygCtx._hyg.#25 : @3) -> @346 +@2568 := (motive : @2563) -> + (x._@.LexLeanRuntime.Collections.#739993983._hygCtx._hyg.#18 : @3) -> + (h_1 : @628) -> (h_2 : @2564) -> @270 +@2579 := fun (motive : @2563) => + fun (x._@.LexLeanRuntime.Collections.#739993983._hygCtx._hyg.#18 : @3) => + fun (h_1 : @628) => + fun (h_2 : @2564) => + LexLeanCollections.lessThan._sparseCasesOn_1.{u_1} + @354 + @14 + @358 + (fun (h._@.LexLeanRuntime.Collections.#739993983._hygCtx._hyg.#30 : @1151 @360) => @362) +@2583 := {κ : @0} -> + [inst._@.LexLeanRuntime.Collections.#739993983._hygCtx._hyg.#3 : @11] -> + (left : @2) -> (right : @14) -> @310 +@2598 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#739993983._hygCtx._hyg.#3 : @11] => + fun (left : @2) => + fun (right : @14) => + LexLeanCollections.lessThan.match_1.{1} + (fun (x._@.LexLeanRuntime.Collections.#739993983._hygCtx._hyg.#18 : @3) => @310) + (@689 @28 @14 @2 @1) + @698 + (fun (x._@.LexLeanRuntime.Collections.#739993983._hygCtx._hyg.#25 : @3) => @312) +@2600 := (a._@._internal._hyg.#0 : @1) -> (a._@._internal._hyg.#0 : @14) -> @14 +@2605 := {α : @0} -> {σ : @0} -> (step : @2600) -> (initial : @2) -> (values : @654) -> @28 +@2606 := @888 @28 +@2610 := @2606 @43 @14 @2 @1 +@2615 := fun {α : @0} => + fun {σ : @0} => fun (step : @2600) => fun (initial : @2) => fun (values : @654) => @2610 +@2629 := fun {κ : @0} => + fun {ν : @0} => + fun [inst._@.LexLeanRuntime.Collections.#1977705028._hygCtx._hyg.#4 : @7] => + fun (key : @14) => + fun (x._@.LexLeanRuntime.Collections.#1977705028._hygCtx._hyg.#17 : @992) => + annot [sunfoldMatch := bool true] + (@1091 + (fun ("_" : @343) => annot [sunfoldMatchAlt := bool true] @1092) + (fun (other : @43) => + fun (stored : @43) => fun (rest : @937) => annot [sunfoldMatchAlt := bool true] @1116)) +@2646 := fun {κ : @0} => + fun {ν : @0} => + fun [inst._@.LexLeanRuntime.Collections.#1977705028._hygCtx._hyg.#4 : @7] => + fun (key : @14) => + fun (x._@.LexLeanRuntime.Collections.#1977705028._hygCtx._hyg.#17 : @992) => + @1094 + (fun (other : @43) => + fun (stored : @43) => + fun (rest : @937) => + @1108 (fun ("_" : @343) => LexLeanCollections.lookupEntry._unsafe_rec @137 @93 @86 @85 @2)) +@2651 := {κ : @0} -> + {ν : @0} -> + [inst._@.LexLeanRuntime.Collections.#3152258033._hygCtx._hyg.#4 : @7] -> + (map : @929) -> (key : @28) -> @310 +@2653 := Option.isSome.{0} @28 +@2658 := @1109 @43 @28 @14 @1 @2 +@2664 := fun {κ : @0} => + fun {ν : @0} => + fun [inst._@.LexLeanRuntime.Collections.#3152258033._hygCtx._hyg.#4 : @7] => + fun (map : @929) => fun (key : @28) => @2653 @2658 +@2667 := {κ : @0} -> {ν : @0} -> (map : @926) -> @929 +@2670 := fun {κ : @0} => fun {ν : @0} => fun (map : @926) => @1 +@2673 := (a._@._internal._hyg.#0 : @1) -> + (a._@._internal._hyg.#0 : @28) -> (a._@._internal._hyg.#0 : @28) -> @28 +@2679 := {κ : @0} -> {ν : @0} -> {β : @0} -> (step : @2673) -> (initial : @2) -> (map : @994) -> @28 +@2699 := fun {κ : @0} => + fun {ν : @0} => + fun {β : @0} => + fun (step : @2673) => + fun (initial : @2) => + fun (map : @994) => + @2606 + @959 + (fun (state : @28) => fun (entry : @936) => @279 (@904 @93 @86 @1) (@911 @93 @86 @1)) + @2 + @1 +@2705 := {κ : @0} -> + {ν : @0} -> + [inst._@.LexLeanRuntime.Collections.#3257357875._hygCtx._hyg.#4 : @7] -> + (map : @929) -> (key : @28) -> (value : @28) -> @961 +@2717 := fun {κ : @0} => + fun {ν : @0} => + fun [inst._@.LexLeanRuntime.Collections.#3257357875._hygCtx._hyg.#4 : @7] => + fun (map : @929) => fun (key : @28) => fun (value : @28) => @2031 @85 @43 @28 @2 @1 @14 +@2720 := {κ : @0} -> {ν : @0} -> (map : @926) -> @652 +@2722 := List.map.{0, 0} @928 +@2730 := fun {κ : @0} => fun {ν : @0} => fun (map : @926) => @2722 @14 (@904 @14 @2) @1 +@2735 := {κ : @0} -> + {ν : @0} -> + [inst._@.LexLeanRuntime.Collections.#3506101749._hygCtx._hyg.#4 : @7] -> + (map : @929) -> (key : @28) -> @1067 +@2740 := fun {κ : @0} => + fun {ν : @0} => + fun [inst._@.LexLeanRuntime.Collections.#3506101749._hygCtx._hyg.#4 : @7] => + fun (map : @929) => fun (key : @28) => @2658 +@2741 := fun (x._@.LexLeanRuntime.Collections.#1251870671._hygCtx._hyg.#21 : @994) => @961 +@2743 := @993 @2741 @1 +@2749 := {κ : @0} -> + {ν : @0} -> + [inst._@.LexLeanRuntime.Collections.#1251870671._hygCtx._hyg.#4 : @7] -> + (key : @14) -> + (x._@.LexLeanRuntime.Collections.#1251870671._hygCtx._hyg.#21 : @992) -> (f : @2743) -> @961 +@2751 := @1009 (fun (x._@.LexLeanRuntime.Collections.#1251870671._hygCtx._hyg.#21 : @937) => @1025) +@2760 := @1008 + (fun (x._@.LexLeanRuntime.Collections.#1251870671._hygCtx.#21.LexLeanRuntime.Collections.#1251870671._hygCtx._hyg.#32 : @961) => + (x._@.LexLeanRuntime.Collections.#1251870671._hygCtx._hyg.#103 : @2751 @1) -> @1025) + @2 + (fun ("_" : @343) => + fun (x._@.LexLeanRuntime.Collections.#1251870671._hygCtx._hyg.#103 : @2751 @1018) => @1908) +@2763 := @1026 + (fun (x._@.LexLeanRuntime.Collections.#1251870671._hygCtx._hyg.#21 : @1027) => @1921) + @1036 +@2766 := @686 + (fun (x._@.LexLeanRuntime.Collections.#1251870671._hygCtx._hyg.#66 : @3) => @1924) + @1044 +@2772 := @380 @1923 (@941 @175 @135 @43 @28) +@2791 := fun {κ : @0} => + fun {ν : @0} => + fun [inst._@.LexLeanRuntime.Collections.#1251870671._hygCtx._hyg.#4 : @7] => + fun (key : @14) => + fun (x._@.LexLeanRuntime.Collections.#1251870671._hygCtx._hyg.#21 : @992) => + fun (f : @2743) => + @2760 + (fun (other : @85) => + fun (stored : @85) => + fun (rest : @1025) => + fun (x._@.LexLeanRuntime.Collections.#1251870671._hygCtx._hyg.#103 : @2763) => + @2766 (fun ("_" : @343) => @2772 @14) @1485 (fun ("_" : @343) => @2772 @500)) + @1 +@2796 := {κ : @0} -> + {ν : @0} -> + [inst._@.LexLeanRuntime.Collections.#1251870671._hygCtx._hyg.#4 : @7] -> + (key : @14) -> (a._@._internal._hyg.#0 : @992) -> @994 +@2809 := fun {κ : @0} => + fun {ν : @0} => + fun [inst._@.LexLeanRuntime.Collections.#1251870671._hygCtx._hyg.#4 : @7] => + fun (key : @14) => + fun (x._@.LexLeanRuntime.Collections.#1251870671._hygCtx._hyg.#21 : @992) => + @1073 @2741 @1 (LexLeanCollections.removeEntry._f @43 @28 @14 @2) +@2812 := @1088 + (fun (x._@.LexLeanRuntime.Collections.#1251870671._hygCtx.#21.LexLeanRuntime.Collections.#1251870671._hygCtx._hyg.#32 : @994) => + @961) + @1 +@2813 := @374 @959 +@2815 := @2812 (fun ("_" : @343) => @2813) +@2818 := @686 + (fun (x._@.LexLeanRuntime.Collections.#1251870671._hygCtx._hyg.#66 : @3) => @1027) + @1100 +@2821 := @971 (@1032 @28 @14) +@2825 := @2818 (fun ("_" : @343) => @2821 @2) @1607 +@2826 := LexLeanCollections.removeEntry +@2834 := @2825 (fun ("_" : @343) => @2821 (@2826 @137 @93 @86 @85 @2)) +@2843 := fun {κ : @0} => + fun {ν : @0} => + fun [inst._@.LexLeanRuntime.Collections.#1251870671._hygCtx._hyg.#4 : @7] => + fun (key : @14) => + fun (x._@.LexLeanRuntime.Collections.#1251870671._hygCtx._hyg.#21 : @992) => + @2815 (fun (other : @43) => fun (stored : @43) => fun (rest : @937) => @2834) +@2848 := {κ : @0} -> + {ν : @0} -> + [inst._@.LexLeanRuntime.Collections.#4196104989._hygCtx._hyg.#4 : @7] -> + (map : @929) -> (key : @28) -> @994 +@2858 := fun {κ : @0} => + fun {ν : @0} => + fun [inst._@.LexLeanRuntime.Collections.#4196104989._hygCtx._hyg.#4 : @7] => + fun (map : @929) => fun (key : @28) => @2826 @43 @28 @14 @1 @2 +@2861 := {κ : @0} -> {ν : @0} -> (map : @926) -> @59 +@2866 := fun {κ : @0} => fun {ν : @0} => fun (map : @926) => @1528 @928 @1 +@2869 := {κ : @0} -> {ν : @0} -> (map : @926) -> @595 +@2877 := fun {κ : @0} => fun {ν : @0} => fun (map : @926) => @2722 @2 (@911 @14 @2) @1 +@2893 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#3 : @11] => + fun (graph : @884) => + fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#25 : @59) => + fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#26 : @654) => + fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#27 : @599) => + annot [sunfoldMatch := bool true] + (@1440 + (fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#66 : @616) => + fun (seen : @679) => @2342) + (fun (fuel : @59) => + fun (frontier : @679) => + fun (seen : @802) => annot [sunfoldMatchAlt := bool true] (have next : @806 := @1480; @1500))) +@2913 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#3 : @11] => + fun (graph : @884) => + fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#25 : @59) => + fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#26 : @654) => + fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#27 : @599) => + @1443 + (fun (fuel : @59) => + fun (frontier : @679) => + fun (seen : @802) => + let next : @806 := @1480; + @1486 + (fun (x._@.LexLeanRuntime.Collections.#1946731190._hygCtx._hyg.#138 : @1319) => + LexLeanCollections.reachableFrom._unsafe_rec @175 @135 @137 @43 @2 @1497)) +@2925 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#2556190753._hygCtx._hyg.#3 : @11] => + fun (key : @2) => + fun (x._@.LexLeanRuntime.Collections.#2556190753._hygCtx._hyg.#12 : @652) => + annot [sunfoldMatch := bool true] + (@1600 + (fun ("_" : @343) => annot [sunfoldMatchAlt := bool true] @852) + (fun (other : @28) => fun (rest : @599) => annot [sunfoldMatchAlt := bool true] @1616)) +@2940 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#2556190753._hygCtx._hyg.#3 : @11] => + fun (key : @2) => + fun (x._@.LexLeanRuntime.Collections.#2556190753._hygCtx._hyg.#12 : @652) => + @1602 + (fun (other : @28) => + fun (rest : @599) => + @1608 (fun ("_" : @343) => @859 (LexLeanCollections.removeElement._unsafe_rec @86 @85 @43 @2))) +@2954 := fun {κ : @0} => + fun {ν : @0} => + fun [inst._@.LexLeanRuntime.Collections.#1251870671._hygCtx._hyg.#4 : @7] => + fun (key : @14) => + fun (x._@.LexLeanRuntime.Collections.#1251870671._hygCtx._hyg.#21 : @992) => + annot [sunfoldMatch := bool true] + (@2812 + (fun ("_" : @343) => annot [sunfoldMatchAlt := bool true] @2813) + (fun (other : @43) => + fun (stored : @43) => fun (rest : @937) => annot [sunfoldMatchAlt := bool true] @2834)) +@2972 := fun {κ : @0} => + fun {ν : @0} => + fun [inst._@.LexLeanRuntime.Collections.#1251870671._hygCtx._hyg.#4 : @7] => + fun (key : @14) => + fun (x._@.LexLeanRuntime.Collections.#1251870671._hygCtx._hyg.#21 : @992) => + @2815 + (fun (other : @43) => + fun (stored : @43) => + fun (rest : @937) => + @2825 + (fun ("_" : @343) => @2821 (LexLeanCollections.removeEntry._unsafe_rec @137 @93 @86 @85 @2))) +@2976 := {κ : @0} -> + [inst._@.LexLeanRuntime.Collections.#32684359._hygCtx._hyg.#3 : @11] -> + (set : @595) -> (key : @14) -> @310 +@2984 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#32684359._hygCtx._hyg.#3 : @11] => + fun (set : @595) => fun (key : @14) => @740 @28 @14 @1 @2 +@2986 := (left : @595) -> (right : @652) -> @654 +@2988 := {κ : @0} -> [inst._@.LexLeanRuntime.Collections.#2549248247._hygCtx._hyg.#3 : @11] -> @2986 +@2989 := @1683 @28 +@2993 := @740 @43 @28 @1 @2 +@3001 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#2549248247._hygCtx._hyg.#3 : @11] => + fun (left : @595) => fun (right : @652) => @2989 (fun (key : @28) => @1688 @2993) @2 +@3003 := {κ : @0} -> (set : @593) -> @595 +@3005 := fun {κ : @0} => fun (set : @593) => @1 +@3010 := {κ : @0} -> {σ : @0} -> (step : @2600) -> (initial : @2) -> (set : @654) -> @28 +@3015 := fun {κ : @0} => + fun {σ : @0} => fun (step : @2600) => fun (initial : @2) => fun (set : @654) => @2610 +@3017 := (set : @595) -> (key : @14) -> @654 +@3019 := {κ : @0} -> [inst._@.LexLeanRuntime.Collections.#2540969060._hygCtx._hyg.#3 : @11] -> @3017 +@3027 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#2540969060._hygCtx._hyg.#3 : @11] => + fun (set : @595) => fun (key : @14) => @866 @28 @14 @1 @2 +@3029 := {κ : @0} -> [inst._@.LexLeanRuntime.Collections.#1636857412._hygCtx._hyg.#3 : @11] -> @2986 +@3036 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#1636857412._hygCtx._hyg.#3 : @11] => + fun (left : @595) => fun (right : @652) => @2989 (fun (key : @28) => @2993) @2 +@3038 := {κ : @0} -> [inst._@.LexLeanRuntime.Collections.#3193298438._hygCtx._hyg.#3 : @11] -> @3017 +@3046 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#3193298438._hygCtx._hyg.#3 : @11] => + fun (set : @595) => fun (key : @14) => @1609 @28 @14 @1 @2 +@3048 := {κ : @0} -> (set : @593) -> @59 +@3052 := fun {κ : @0} => fun (set : @593) => @1528 @2 @1 +@3054 := {κ : @0} -> [inst._@.LexLeanRuntime.Collections.#146523864._hygCtx._hyg.#3 : @11] -> @2986 +@3069 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#146523864._hygCtx._hyg.#3 : @11] => + fun (left : @595) => + fun (right : @652) => + @888 @654 @28 (fun (acc : @654) => fun (key : @43) => @866 @85 @43 @1 @2) @2 @1 +@3085 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#3 : @11] => + fun (graph : @884) => + fun (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#28 : @59) => + fun (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#29 : @654) => + fun (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#30 : @599) => + annot [sunfoldMatch := bool true] + (@1773 + (fun (remaining : @616) => fun (order : @679) => annot [sunfoldMatchAlt := bool true] @1790) + (fun (fuel : @59) => + fun (remaining : @679) => fun (order : @802) => annot [sunfoldMatchAlt := bool true] @1829)) +@3105 := fun {κ : @0} => + fun [inst._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#3 : @11] => + fun (graph : @884) => + fun (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#28 : @59) => + fun (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#29 : @654) => + fun (x._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#30 : @599) => + @1793 + (fun (fuel : @59) => + fun (remaining : @679) => + fun (order : @802) => + @1812 + (fun (ready : @137) => + fun (tail._@.LexLeanRuntime.Collections.#1862785990._hygCtx._hyg.#144 : @1319) => + LexLeanCollections.topological._unsafe_rec @175 @135 @137 @43 @1821 @1825)) +\end{coremodule} +\end{lexlean} diff --git a/language/runtime-1.2/library/src/Models.lex.tex b/language/runtime-1.2/library/src/Models.lex.tex new file mode 100644 index 000000000..605814c4b --- /dev/null +++ b/language/runtime-1.2/library/src/Models.lex.tex @@ -0,0 +1,630 @@ +\begin{lexlean}{Models} +\useglossary{lexlean.std.nat@1.2.0} +\useglossary{runtime.titles@1.0.0} +\title{Runtime model predicates} +\begin{coremodule} +imports [Init] + +definition LexLeanModels.Agreement : @21 := @103 { + all: [LexLeanModels.Agreement], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 4}, + transparency: reducible +} +definition LexLeanModels.Complete1 : @108 := @117 { + all: [LexLeanModels.Complete1], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanModels.Complete2 : @125 := @139 { + all: [LexLeanModels.Complete2], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanModels.Complete4 : @153 := @174 { + all: [LexLeanModels.Complete4], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanModels.Equivalent : @181 := @192 { + all: [LexLeanModels.Equivalent], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanModels.EquivalentStep : @207 := @229 { + all: [LexLeanModels.EquivalentStep], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanModels.EquivalentStepNoInvariant : @239 := @257 { + all: [LexLeanModels.EquivalentStepNoInvariant], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanModels.EquivalentStepNoPrecondition : @261 := @270 { + all: [LexLeanModels.EquivalentStepNoPrecondition], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanModels.EquivalentStepTotal : @279 := @290 { + all: [LexLeanModels.EquivalentStepTotal], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanModels.EquivalentTotal : @294 := @303 { + all: [LexLeanModels.EquivalentTotal], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanModels.Initial : @307 := @310 { + all: [LexLeanModels.Initial], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanModels.Preserves : @316 := @331 { + all: [LexLeanModels.Preserves], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanModels.PreservesTotal : @336 := @348 { + all: [LexLeanModels.PreservesTotal], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanModels.Satisfies : @353 := @361 { + all: [LexLeanModels.Satisfies], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanModels.SatisfiesStep : @372 := @391 { + all: [LexLeanModels.SatisfiesStep], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanModels.SatisfiesStepNoInvariant : @399 := @414 { + all: [LexLeanModels.SatisfiesStepNoInvariant], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanModels.SatisfiesStepNoPrecondition : @418 := @427 { + all: [LexLeanModels.SatisfiesStepNoPrecondition], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanModels.SatisfiesStepTotal : @434 := @449 { + all: [LexLeanModels.SatisfiesStepTotal], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanModels.SatisfiesTotal : @454 := @460 { + all: [LexLeanModels.SatisfiesTotal], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanModels.Sound1 : @108 := @467 { + all: [LexLeanModels.Sound1], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanModels.Sound2 : @125 := @476 { + all: [LexLeanModels.Sound2], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanModels.Sound4 : @153 := @495 { + all: [LexLeanModels.Sound4], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanModels.encodeInt : @499 := @612 { + all: [LexLeanModels.encodeInt], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 14}, + transparency: semireducible +} +definition LexLeanModels.inRange : @615 := @677 { + all: [LexLeanModels.inRange], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 14}, + transparency: semireducible +} +definition LexLeanModels.utf8Char : @679 := @782 { + all: [LexLeanModels.utf8Char], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 9}, + transparency: semireducible +} +definition LexLeanModels.linesMatch : @787 := @875 { + all: [LexLeanModels.linesMatch], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: [Classical.choice, Quot.sound, propext]}, + reducibility: regular{height: 24}, + transparency: semireducible +} +definition LexLeanModels.tensorMatches : @879 := @900 { + all: [LexLeanModels.tensorMatches], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 15}, + transparency: semireducible +} + +@0 := Sort 1 +@1 := #1 +@2 := (a._@._internal._hyg.#0 : @1) -> @1 +@3 := #2 +@4 := Bool +@6 := (a._@._internal._hyg.#0 : @1) -> (a._@._internal._hyg.#0 : @3) -> @4 +@7 := List.{0} +@8 := Prod.{0, 0} +@9 := #3 +@12 := @7 (@8 @9 @3) +@13 := Nat +@14 := Sort 0 +@21 := {α : @0} -> + {β : @0} -> (r : @2) -> (cmp : @6) -> (d : @12) -> (examples : @13) -> (agreements : @13) -> @14 +@22 := And +@23 := Eq.{1} +@24 := @23 @13 +@25 := List.length.{0} +@26 := #6 +@27 := @8 @26 +@28 := #5 +@29 := @27 @28 +@34 := @22 (@24 (@25 @29 @3) @1) +@37 := List.foldl.{0, 0} @13 @29 +@38 := #7 +@39 := @8 @38 +@40 := @39 @26 +@41 := ite.{1} +@42 := @41 @13 +@43 := @23 @4 +@44 := Prod.fst.{0, 0} +@45 := #8 +@46 := @44 @45 +@47 := @46 @38 +@48 := #0 +@51 := @28 (@26 (@47 @48)) +@52 := Prod.snd.{0, 0} +@53 := @52 @45 +@56 := @51 (@53 @38 @48) +@57 := @43 @56 +@58 := Bool.true +@60 := @42 (@57 @58) +@61 := instDecidableEqBool +@64 := @60 (@61 @56 @58) +@65 := HAdd.hAdd.{0, 0, 0} +@68 := @65 @13 @13 @13 +@69 := instHAdd.{0} +@73 := @68 (@69 @13 instAddNat) +@74 := @73 @1 +@75 := OfNat.ofNat.{0} +@76 := @75 @13 +@77 := 1 +@78 := @76 @77 +@79 := instOfNatNat +@81 := @78 (@79 @77) +@87 := @37 (fun (c : @13) => fun (e : @40) => @64 (@74 @81) @1) +@88 := 0 +@103 := fun {α : @0} => + fun {β : @0} => + fun (r : @2) => + fun (cmp : @6) => + fun (d : @12) => + fun (examples : @13) => fun (agreements : @13) => @34 (@24 (@87 (@76 @88 (@79 @88)) @3) @48) +@104 := (a._@._internal._hyg.#0 : @48) -> @4 +@105 := (a._@._internal._hyg.#0 : @1) -> @14 +@108 := {α : @0} -> (v : @104) -> (p : @105) -> @14 +@109 := @1 @48 +@110 := @9 @1 +@117 := fun {α : @0} => + fun (v : @104) => fun (p : @105) => (a : @3) -> (a._@._internal._hyg.#0 : @109) -> @43 @110 @58 +@119 := (a._@._internal._hyg.#0 : @1) -> (a._@._internal._hyg.#0 : @1) -> @4 +@120 := (a._@._internal._hyg.#0 : @3) -> @14 +@121 := (a._@._internal._hyg.#0 : @3) -> @120 +@125 := {α : @0} -> {β : @0} -> (v : @119) -> (p : @121) -> @14 +@126 := @3 @1 +@127 := @126 @48 +@128 := #4 +@130 := @128 @3 @1 +@139 := fun {α : @0} => + fun {β : @0} => + fun (v : @119) => + fun (p : @121) => (a : @9) -> (b : @9) -> (a._@._internal._hyg.#0 : @127) -> @43 @130 @58 +@143 := (a._@._internal._hyg.#0 : @9) -> + (a._@._internal._hyg.#0 : @9) -> + (a._@._internal._hyg.#0 : @9) -> (a._@._internal._hyg.#0 : @9) -> @4 +@144 := (a._@._internal._hyg.#0 : @128) -> @14 +@147 := (a._@._internal._hyg.#0 : @128) -> + (a._@._internal._hyg.#0 : @128) -> (a._@._internal._hyg.#0 : @128) -> @144 +@153 := {α : @0} -> {β : @0} -> {γ : @0} -> {δ : @0} -> (v : @143) -> (p : @147) -> @14 +@155 := @128 @9 @3 +@174 := fun {α : @0} => + fun {β : @0} => + fun {γ : @0} => + fun {δ : @0} => + fun (v : @143) => + fun (p : @147) => + (a : @28) -> + (b : @28) -> + (c : @28) -> (d : @28) -> (a._@._internal._hyg.#0 : @155 @1 @48) -> @43 (@26 @128 @9 @3 @1) @58 +@175 := (a._@._internal._hyg.#0 : @3) -> @3 +@176 := (a._@._internal._hyg.#0 : @9) -> @9 +@181 := {α : @0} -> {β : @0} -> (p : @105) -> (r : @175) -> (f : @176) -> @14 +@182 := @9 @48 +@192 := fun {α : @0} => + fun {β : @0} => + fun (p : @105) => + fun (r : @175) => + fun (f : @176) => (a : @128) -> (a._@._internal._hyg.#0 : @182) -> @23 @28 @110 @126 +@193 := (a._@._internal._hyg.#0 : @9) -> @14 +@194 := (a._@._internal._hyg.#0 : @9) -> @193 +@195 := @27 @128 +@197 := (a._@._internal._hyg.#0 : @128) -> (a._@._internal._hyg.#0 : @128) -> @195 +@200 := (a._@._internal._hyg.#0 : @28) -> (a._@._internal._hyg.#0 : @28) -> @39 @28 +@207 := {σ : @0} -> + {α : @0} -> {β : @0} -> (j : @120) -> (p : @194) -> (r : @197) -> (f : @200) -> @14 +@208 := @28 @1 +@210 := @28 @3 @1 +@211 := #10 +@214 := @23 (@8 @211 @45) +@216 := @28 @9 @3 +@229 := fun {σ : @0} => + fun {α : @0} => + fun {β : @0} => + fun (j : @120) => + fun (p : @194) => + fun (r : @197) => + fun (f : @200) => + (s : @26) -> + (a : @26) -> (a._@._internal._hyg.#0 : @208) -> (a._@._internal._hyg.#0 : @210) -> @214 @216 @155 +@233 := (a._@._internal._hyg.#0 : @9) -> (a._@._internal._hyg.#0 : @9) -> @8 @28 @9 +@235 := (r : @233) -> (f : @197) -> @14 +@239 := {σ : @0} -> {α : @0} -> {β : @0} -> (p : @121) -> @235 +@240 := @128 @1 +@241 := @240 @48 +@245 := @23 (@8 @45 @26) @130 +@247 := @9 @3 @1 +@248 := @245 @247 +@257 := fun {σ : @0} => + fun {α : @0} => + fun {β : @0} => + fun (p : @121) => + fun (r : @233) => + fun (f : @197) => (s : @28) -> (a : @28) -> (a._@._internal._hyg.#0 : @241) -> @248 +@261 := {σ : @0} -> {α : @0} -> {β : @0} -> (j : @120) -> @235 +@270 := fun {σ : @0} => + fun {α : @0} => + fun {β : @0} => + fun (j : @120) => + fun (r : @233) => + fun (f : @197) => (s : @28) -> (a : @28) -> (a._@._internal._hyg.#0 : @240) -> @248 +@274 := (a._@._internal._hyg.#0 : @3) -> (a._@._internal._hyg.#0 : @3) -> @8 @128 @3 +@279 := {σ : @0} -> {α : @0} -> {β : @0} -> (r : @274) -> (f : @233) -> @14 +@280 := @23 @195 +@281 := @110 @48 +@290 := fun {σ : @0} => + fun {α : @0} => + fun {β : @0} => fun (r : @274) => fun (f : @233) => (s : @128) -> (a : @128) -> @280 @281 @127 +@294 := {α : @0} -> {β : @0} -> (r : @2) -> (f : @175) -> @14 +@295 := @23 @9 +@296 := @3 @48 +@303 := fun {α : @0} => fun {β : @0} => fun (r : @2) => fun (f : @175) => (a : @9) -> @295 @296 @109 +@304 := (a._@._internal._hyg.#0 : @48) -> @14 +@307 := {σ : @0} -> (j : @304) -> (i : @1) -> @14 +@310 := fun {σ : @0} => fun (j : @304) => fun (i : @1) => @109 +@311 := (r : @197) -> @14 +@316 := {σ : @0} -> {α : @0} -> {β : @0} -> (j : @120) -> (p : @194) -> @311 +@331 := fun {σ : @0} => + fun {α : @0} => + fun {β : @0} => + fun (j : @120) => + fun (p : @194) => + fun (r : @197) => + (s : @28) -> + (a : @28) -> + (a._@._internal._hyg.#0 : @240) -> (a._@._internal._hyg.#0 : @130) -> @26 (@44 σ @38 @155) +@332 := (r : @233) -> @14 +@336 := {σ : @0} -> {α : @0} -> {β : @0} -> (j : @120) -> @332 +@348 := fun {σ : @0} => + fun {α : @0} => + fun {β : @0} => + fun (j : @120) => + fun (r : @233) => + (s : @128) -> (a : @128) -> (a._@._internal._hyg.#0 : @110) -> @128 (@44 @38 @28 @247) +@353 := {α : @0} -> {β : @0} -> (p : @105) -> (q : @121) -> (r : @176) -> @14 +@361 := fun {α : @0} => + fun {β : @0} => + fun (p : @105) => + fun (q : @121) => fun (r : @176) => (a : @128) -> (a._@._internal._hyg.#0 : @182) -> @110 @126 +@365 := (a._@._internal._hyg.#0 : @128) -> + (a._@._internal._hyg.#0 : @128) -> + (a._@._internal._hyg.#0 : @26) -> (a._@._internal._hyg.#0 : @28) -> @14 +@372 := {σ : @0} -> + {α : @0} -> {β : @0} -> (j : @120) -> (p : @194) -> (q : @365) -> (r : @200) -> @14 +@391 := fun {σ : @0} => + fun {α : @0} => + fun {β : @0} => + fun (j : @120) => + fun (p : @194) => + fun (q : @365) => + fun (r : @200) => + (s : @26) -> + (a : @26) -> + (a._@._internal._hyg.#0 : @208) -> + (a._@._internal._hyg.#0 : @210) -> @216 (@44 @211 @45 @155) (@52 @211 @45 @155) +@394 := (a._@._internal._hyg.#0 : @9) -> + (a._@._internal._hyg.#0 : @9) -> (a._@._internal._hyg.#0 : @28) -> @144 +@395 := (q : @394) -> @311 +@399 := {σ : @0} -> {α : @0} -> {β : @0} -> (p : @121) -> @395 +@405 := @130 (@46 @26 @247) (@53 @26 @247) +@414 := fun {σ : @0} => + fun {α : @0} => + fun {β : @0} => + fun (p : @121) => + fun (q : @394) => + fun (r : @197) => (s : @28) -> (a : @28) -> (a._@._internal._hyg.#0 : @241) -> @405 +@418 := {σ : @0} -> {α : @0} -> {β : @0} -> (j : @120) -> @395 +@427 := fun {σ : @0} => + fun {α : @0} => + fun {β : @0} => + fun (j : @120) => + fun (q : @394) => + fun (r : @197) => (s : @28) -> (a : @28) -> (a._@._internal._hyg.#0 : @240) -> @405 +@430 := (a._@._internal._hyg.#0 : @3) -> + (a._@._internal._hyg.#0 : @3) -> (a._@._internal._hyg.#0 : @128) -> @193 +@434 := {σ : @0} -> {α : @0} -> {β : @0} -> (q : @430) -> @332 +@449 := fun {σ : @0} => + fun {α : @0} => + fun {β : @0} => + fun (q : @430) => + fun (r : @233) => (s : @128) -> (a : @128) -> @281 (@44 @26 @128 @127) (@52 @26 @128 @127) +@450 := (a._@._internal._hyg.#0 : @1) -> @105 +@454 := {α : @0} -> {β : @0} -> (q : @450) -> (r : @175) -> @14 +@460 := fun {α : @0} => fun {β : @0} => fun (q : @450) => fun (r : @175) => (a : @9) -> @296 @109 +@467 := fun {α : @0} => + fun (v : @104) => fun (p : @105) => (a : @3) -> (a._@._internal._hyg.#0 : @43 @296 @58) -> @126 +@476 := fun {α : @0} => + fun {β : @0} => + fun (v : @119) => + fun (p : @121) => (a : @9) -> (b : @9) -> (a._@._internal._hyg.#0 : @43 @281 @58) -> @247 +@495 := fun {α : @0} => + fun {β : @0} => + fun {γ : @0} => + fun {δ : @0} => + fun (v : @143) => + fun (p : @147) => + (a : @28) -> + (b : @28) -> + (c : @28) -> (d : @28) -> (a._@._internal._hyg.#0 : @43 (@216 @1 @48) @58) -> @28 @128 @9 @3 @1 +@496 := Int +@497 := @7 @13 +@499 := (width : @13) -> (value : @496) -> @497 +@500 := @41 @496 +@501 := LT.lt.{0} +@505 := @501 @496 Int.instLTInt @48 +@506 := @75 @496 +@507 := @506 @88 +@508 := instOfNat +@510 := @507 (@508 @88) +@512 := @500 (@505 @510) +@514 := Int.decLt @48 +@516 := @512 (@514 @510) +@524 := @65 @496 @496 @496 (@69 @496 Int.instAdd) @48 +@525 := HPow.hPow.{0, 0, 0} +@528 := @525 @496 @13 @496 +@529 := instHPow.{0, 0} +@531 := @529 @496 @13 +@532 := instPowNat.{0} +@537 := @528 (@531 (@532 @496 Int.instNatPow)) +@538 := 2 +@542 := @537 (@506 @538 (@508 @538)) +@551 := HMul.hMul.{0, 0, 0} @13 @13 @13 (instHMul.{0} @13 instMulNat) +@552 := 8 +@556 := @551 (@76 @552 (@79 @552)) +@561 := @516 (@524 (@542 (@556 @1))) @48 +@562 := List.map.{0, 0} +@564 := @562 @13 @13 +@573 := HMod.hMod.{0, 0, 0} @13 @13 @13 (instHMod.{0} @13 Nat.instMod) +@582 := HDiv.hDiv.{0, 0, 0} @13 @13 @13 (instHDiv.{0} @13 Nat.instDiv) +@585 := @582 (Int.toNat @1) +@595 := @525 @13 @13 @13 (@529 @13 @13 (@532 @13 instNatPowNat)) +@596 := 256 +@599 := @76 @596 (@79 @596) +@612 := fun (width : @13) => + fun (value : @496) => + have unsigned : @496 := @561; + @564 (fun (i : @13) => @573 (@585 (@595 @599 @48)) @599) (List.range @3) +@615 := (width : @13) -> (signed : @4) -> (value : @496) -> @4 +@622 := @41 @4 (@43 @1 @58) (@61 @1 @58) +@623 := Bool.and +@624 := Decidable.decide +@628 := LE.le.{0} @496 Int.instLEInt +@632 := Neg.neg.{0} @496 Int.instNegInt +@641 := HSub.hSub.{0, 0, 0} @13 @13 @13 (instHSub.{0} @13 instSubNat) +@642 := @556 @3 +@645 := @542 (@641 @642 @81) +@646 := @632 @645 +@649 := @624 (@628 @646 @48) +@650 := Int.decLe +@660 := @622 (@623 (@649 (@650 @646 @48)) (@624 (@505 @645) (@514 @645))) +@667 := @623 (@624 (@628 @510 @48) (@650 @510 @48)) +@668 := @542 @642 +@677 := fun (width : @13) => + fun (signed : @4) => fun (value : @496) => @660 (@667 (@624 (@505 @668) (@514 @668))) +@678 := Char +@679 := (c : @678) -> @497 +@681 := Char.toNat @48 +@682 := @41 @497 +@686 := @501 @13 instLTNat @48 +@687 := 128 +@690 := @76 @687 (@79 @687) +@692 := @682 (@686 @690) +@694 := Nat.decLt @48 +@696 := @692 (@694 @690) +@698 := List.cons.{0} @13 +@699 := @698 @48 +@701 := List.nil.{0} @13 +@703 := @696 (@699 @701) +@704 := 2048 +@707 := @76 @704 (@79 @704) +@711 := @682 (@686 @707) (@694 @707) +@712 := 192 +@716 := @73 (@76 @712 (@79 @712)) +@717 := @582 @48 +@718 := 64 +@721 := @76 @718 (@79 @718) +@722 := @717 @721 +@724 := @698 (@716 @722) +@725 := @73 @690 +@730 := @698 (@725 (@573 @48 @721)) @701 +@732 := @711 (@724 @730) +@733 := 65536 +@736 := @76 @733 (@79 @733) +@740 := @682 (@686 @736) (@694 @736) +@741 := 224 +@745 := @73 (@76 @741 (@79 @741)) +@746 := 4096 +@750 := @717 (@76 @746 (@79 @746)) +@752 := @698 (@745 @750) +@757 := @698 (@725 (@573 @722 @721)) @730 +@759 := @740 (@752 @757) +@760 := 240 +@764 := @73 (@76 @760 (@79 @760)) +@765 := 262144 +@782 := fun (c : @678) => + have n : @13 := @681; + @703 (@732 (@759 (@698 (@764 (@717 (@76 @765 (@79 @765)))) (@698 (@725 (@573 @750 @721)) @757)))) +@783 := String +@784 := @7 @783 +@785 := ByteArray +@786 := (bytes : @785) -> @4 +@787 := (lines : @784) -> @786 +@788 := List.all.{0} +@790 := @788 @783 @1 +@791 := @788 @678 +@792 := String.toList +@794 := @791 (@792 @48) +@796 := bne.{0} @13 +@800 := instBEqOfDecidableEq.{0} @13 instDecidableEqNat +@802 := @796 @800 @681 +@803 := 10 +@806 := @76 @803 (@79 @803) +@808 := @623 (@802 @806) +@809 := 13 +@819 := @623 + (@790 (fun (line : @783) => @794 (fun (c : @678) => @808 (@802 (@76 @809 (@79 @809)))))) +@825 := BEq.beq.{0} @497 (List.instBEq.{0} @13 @800) +@826 := List.foldr.{0, 0} +@828 := @826 @783 @497 +@838 := HAppend.hAppend.{0, 0, 0} + @497 + @497 + @497 + (instHAppendOfAppend.{0} @497 (List.instAppend.{0} @13)) +@860 := @825 + (@828 + (fun (line : @783) => + fun (rest : @497) => + @838 + (@826 + @678 + @497 + (fun (c : @678) => fun (tail : @497) => @838 (LexLeanModels.utf8Char @1) @48) + (@698 @806 @701) + (@792 @1)) + @48) + @701 + @1) +@861 := UInt8 +@871 := @562 @861 @13 UInt8.toNat (Array.toList.{0} @861 (ByteArray.data @48)) +@875 := fun (lines : @784) => fun (bytes : @785) => @819 (@860 @871) +@876 := @7 @496 +@879 := (width : @13) -> (signed : @4) -> (values : @876) -> @786 +@900 := fun (width : @13) => + fun (signed : @4) => + fun (values : @876) => + fun (bytes : @785) => + @623 + (@788 @496 @1 (LexLeanModels.inRange @9 @3)) + (@825 (List.flatMap.{0, 0} @496 @13 (LexLeanModels.encodeInt @9) @1) @871) +\end{coremodule} +\end{lexlean} diff --git a/language/runtime-1.2/library/src/Portable.lex.tex b/language/runtime-1.2/library/src/Portable.lex.tex new file mode 100644 index 000000000..338b9f542 --- /dev/null +++ b/language/runtime-1.2/library/src/Portable.lex.tex @@ -0,0 +1,4144 @@ +\begin{lexlean}{Portable} +\useglossary{lexlean.std.nat@1.2.0} +\useglossary{runtime.titles@1.0.0} +\title{Runtime portable primitives} +\begin{coremodule} +imports [Init] + +constructor LexLeanRuntime.Appendable.mk : @9 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +inductive LexLeanRuntime.Appendable : @10 { + all: [LexLeanRuntime.Appendable], + class: true, + compiled: true, + generated: false, + inductive: { + constructors: [LexLeanRuntime.Appendable.mk], + num_indices: 0, + num_params: 1, + structure: { + fields: [{name: append, binder: e, projection: LexLeanRuntime.Appendable.append}], + parents: [] + } + }, + policy: exact{axioms: []}, + transparency: semireducible +} +abbrev LexLeanRuntime.Appendable.append : @16 := @19 { + all: [LexLeanRuntime.Appendable.append], + class: false, + generated: false, + policy: exact{axioms: []}, + projection: { + constructor: LexLeanRuntime.Appendable.mk, + from_class: true, + index: 0, + num_params: 1 + }, + reducibility: abbrev{}, + transparency: semireducible +} +recursor LexLeanRuntime.Appendable.rec.{u} : @32 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +abbrev LexLeanRuntime.Appendable.casesOn.{u} : @44 := @58 { + all: [LexLeanRuntime.Appendable.casesOn], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [aux_recursor], + transparency: reducible +} +definition LexLeanRuntime.Appendable.ctorIdx : @61 := @64 { + all: [LexLeanRuntime.Appendable.ctorIdx], + class: false, + generated: false, + inline: macro_inline, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + tags: [protected], + transparency: semireducible +} +abbrev LexLeanRuntime.Appendable.mk._flat_ctor : @9 := @68 { + all: [LexLeanRuntime.Appendable.mk._flat_ctor], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: semireducible +} +abbrev LexLeanRuntime.Appendable.noConfusionType.{u} : @73 := @103 { + all: [LexLeanRuntime.Appendable.noConfusionType], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [protected], + transparency: reducible +} +abbrev LexLeanRuntime.Appendable.noConfusion.{u} : @125 := @207 { + all: [LexLeanRuntime.Appendable.noConfusion], + class: false, + generated: false, + no_confusion: regular{arity: 7, lhs: 2, rhs: 4}, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [protected], + transparency: reducible +} +abbrev LexLeanRuntime.Appendable.mk.noConfusion.{u} : @225 := @254 { + all: [LexLeanRuntime.Appendable.mk.noConfusion], + class: false, + generated: false, + no_confusion: per_ctor{fields: 1, arity: 5}, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: reducible +} +abbrev LexLeanRuntime.Appendable.recOn.{u} : @44 := @260 { + all: [LexLeanRuntime.Appendable.recOn], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [protected, aux_recursor], + transparency: reducible +} +constructor LexLeanRuntime.Decimal.mk : @270 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +inductive LexLeanRuntime.Decimal : @10 { + all: [LexLeanRuntime.Decimal], + class: true, + compiled: true, + generated: false, + inductive: { + constructors: [LexLeanRuntime.Decimal.mk], + num_indices: 0, + num_params: 1, + structure: { + fields: [ + {name: parse, binder: e, projection: LexLeanRuntime.Decimal.parse}, + {name: format, binder: e, projection: LexLeanRuntime.Decimal.format} + ], + parents: [] + } + }, + policy: exact{axioms: []}, + transparency: semireducible +} +recursor LexLeanRuntime.Decimal.rec.{u} : @286 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +abbrev LexLeanRuntime.Decimal.casesOn.{u} : @300 := @315 { + all: [LexLeanRuntime.Decimal.casesOn], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [aux_recursor], + transparency: reducible +} +definition LexLeanRuntime.Decimal.ctorIdx : @317 := @319 { + all: [LexLeanRuntime.Decimal.ctorIdx], + class: false, + generated: false, + inline: macro_inline, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + tags: [protected], + transparency: semireducible +} +abbrev LexLeanRuntime.Decimal.format : @321 := @324 { + all: [LexLeanRuntime.Decimal.format], + class: false, + generated: false, + policy: exact{axioms: []}, + projection: {constructor: LexLeanRuntime.Decimal.mk, from_class: true, index: 1, num_params: 1}, + reducibility: abbrev{}, + transparency: semireducible +} +abbrev LexLeanRuntime.Decimal.mk._flat_ctor : @270 := @330 { + all: [LexLeanRuntime.Decimal.mk._flat_ctor], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: semireducible +} +abbrev LexLeanRuntime.Decimal.noConfusionType.{u} : @335 := @369 { + all: [LexLeanRuntime.Decimal.noConfusionType], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [protected], + transparency: reducible +} +abbrev LexLeanRuntime.Decimal.noConfusion.{u} : @387 := @468 { + all: [LexLeanRuntime.Decimal.noConfusion], + class: false, + generated: false, + no_confusion: regular{arity: 7, lhs: 2, rhs: 4}, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [protected], + transparency: reducible +} +abbrev LexLeanRuntime.Decimal.mk.noConfusion.{u} : @497 := @526 { + all: [LexLeanRuntime.Decimal.mk.noConfusion], + class: false, + generated: false, + no_confusion: per_ctor{fields: 2, arity: 7}, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: reducible +} +abbrev LexLeanRuntime.Decimal.parse : @528 := @531 { + all: [LexLeanRuntime.Decimal.parse], + class: false, + generated: false, + policy: exact{axioms: []}, + projection: {constructor: LexLeanRuntime.Decimal.mk, from_class: true, index: 0, num_params: 1}, + reducibility: abbrev{}, + transparency: semireducible +} +abbrev LexLeanRuntime.Decimal.recOn.{u} : @300 := @537 { + all: [LexLeanRuntime.Decimal.recOn], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [protected, aux_recursor], + transparency: reducible +} +constructor LexLeanRuntime.ToMathInt.mk : @543 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +inductive LexLeanRuntime.ToMathInt : @10 { + all: [LexLeanRuntime.ToMathInt], + class: true, + compiled: true, + generated: false, + inductive: { + constructors: [LexLeanRuntime.ToMathInt.mk], + num_indices: 0, + num_params: 1, + structure: { + fields: [{name: toInt, binder: e, projection: LexLeanRuntime.ToMathInt.toInt}], + parents: [] + } + }, + policy: exact{axioms: []}, + transparency: semireducible +} +constructor LexLeanRuntime.Fixed.mk : @565 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +inductive LexLeanRuntime.Fixed : @10 { + all: [LexLeanRuntime.Fixed], + class: true, + compiled: true, + generated: false, + inductive: { + constructors: [LexLeanRuntime.Fixed.mk], + num_indices: 0, + num_params: 1, + structure: { + fields: [ + { + name: toToMathInt, + binder: c, + projection: LexLeanRuntime.Fixed.toToMathInt, + subobject: LexLeanRuntime.ToMathInt + }, + {name: fromInt, binder: e, projection: LexLeanRuntime.Fixed.fromInt}, + {name: minimum, binder: e, projection: LexLeanRuntime.Fixed.minimum}, + {name: maximum, binder: e, projection: LexLeanRuntime.Fixed.maximum}, + {name: bitAnd, binder: e, projection: LexLeanRuntime.Fixed.bitAnd}, + {name: bitOr, binder: e, projection: LexLeanRuntime.Fixed.bitOr}, + {name: bitXor, binder: e, projection: LexLeanRuntime.Fixed.bitXor}, + {name: bitNot, binder: e, projection: LexLeanRuntime.Fixed.bitNot}, + {name: shiftLeft, binder: e, projection: LexLeanRuntime.Fixed.shiftLeft}, + {name: shiftRight, binder: e, projection: LexLeanRuntime.Fixed.shiftRight} + ], + parents: [ + { + name: LexLeanRuntime.ToMathInt, + projection: LexLeanRuntime.Fixed.toToMathInt, + subobject: true + } + ] + } + }, + policy: exact{axioms: []}, + transparency: semireducible +} +abbrev LexLeanRuntime.Fixed.bitAnd : @568 := @571 { + all: [LexLeanRuntime.Fixed.bitAnd], + class: false, + generated: false, + policy: exact{axioms: []}, + projection: {constructor: LexLeanRuntime.Fixed.mk, from_class: true, index: 4, num_params: 1}, + reducibility: abbrev{}, + transparency: semireducible +} +abbrev LexLeanRuntime.Fixed.bitNot : @573 := @576 { + all: [LexLeanRuntime.Fixed.bitNot], + class: false, + generated: false, + policy: exact{axioms: []}, + projection: {constructor: LexLeanRuntime.Fixed.mk, from_class: true, index: 7, num_params: 1}, + reducibility: abbrev{}, + transparency: semireducible +} +abbrev LexLeanRuntime.Fixed.bitOr : @568 := @579 { + all: [LexLeanRuntime.Fixed.bitOr], + class: false, + generated: false, + policy: exact{axioms: []}, + projection: {constructor: LexLeanRuntime.Fixed.mk, from_class: true, index: 5, num_params: 1}, + reducibility: abbrev{}, + transparency: semireducible +} +abbrev LexLeanRuntime.Fixed.bitXor : @568 := @582 { + all: [LexLeanRuntime.Fixed.bitXor], + class: false, + generated: false, + policy: exact{axioms: []}, + projection: {constructor: LexLeanRuntime.Fixed.mk, from_class: true, index: 6, num_params: 1}, + reducibility: abbrev{}, + transparency: semireducible +} +recursor LexLeanRuntime.Fixed.rec.{u} : @615 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +abbrev LexLeanRuntime.Fixed.casesOn.{u} : @648 := @683 { + all: [LexLeanRuntime.Fixed.casesOn], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [aux_recursor], + transparency: reducible +} +definition LexLeanRuntime.Fixed.ctorIdx : @685 := @687 { + all: [LexLeanRuntime.Fixed.ctorIdx], + class: false, + generated: false, + inline: macro_inline, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + tags: [protected], + transparency: semireducible +} +abbrev LexLeanRuntime.Fixed.fromInt : @689 := @692 { + all: [LexLeanRuntime.Fixed.fromInt], + class: false, + generated: false, + policy: exact{axioms: []}, + projection: {constructor: LexLeanRuntime.Fixed.mk, from_class: true, index: 1, num_params: 1}, + reducibility: abbrev{}, + transparency: semireducible +} +abbrev LexLeanRuntime.Fixed.maximum : @694 := @697 { + all: [LexLeanRuntime.Fixed.maximum], + class: false, + generated: false, + policy: exact{axioms: []}, + projection: {constructor: LexLeanRuntime.Fixed.mk, from_class: true, index: 3, num_params: 1}, + reducibility: abbrev{}, + transparency: semireducible +} +abbrev LexLeanRuntime.Fixed.minimum : @694 := @700 { + all: [LexLeanRuntime.Fixed.minimum], + class: false, + generated: false, + policy: exact{axioms: []}, + projection: {constructor: LexLeanRuntime.Fixed.mk, from_class: true, index: 2, num_params: 1}, + reducibility: abbrev{}, + transparency: semireducible +} +abbrev LexLeanRuntime.Fixed.mk._flat_ctor : @702 := @727 { + all: [LexLeanRuntime.Fixed.mk._flat_ctor], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: semireducible +} +abbrev LexLeanRuntime.Fixed.noConfusionType.{u} : @732 := @875 { + all: [LexLeanRuntime.Fixed.noConfusionType], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [protected], + transparency: reducible +} +abbrev LexLeanRuntime.Fixed.noConfusion.{u} : @893 := @1066 { + all: [LexLeanRuntime.Fixed.noConfusion], + class: false, + generated: false, + no_confusion: regular{arity: 7, lhs: 2, rhs: 4}, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [protected], + transparency: reducible +} +abbrev LexLeanRuntime.Fixed.mk.noConfusion.{u} : @1158 := @1220 { + all: [LexLeanRuntime.Fixed.mk.noConfusion], + class: false, + generated: false, + no_confusion: per_ctor{fields: 10, arity: 23}, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: reducible +} +abbrev LexLeanRuntime.Fixed.recOn.{u} : @648 := @1226 { + all: [LexLeanRuntime.Fixed.recOn], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [protected, aux_recursor], + transparency: reducible +} +abbrev LexLeanRuntime.Fixed.shiftLeft : @1230 := @1233 { + all: [LexLeanRuntime.Fixed.shiftLeft], + class: false, + generated: false, + policy: exact{axioms: []}, + projection: {constructor: LexLeanRuntime.Fixed.mk, from_class: true, index: 8, num_params: 1}, + reducibility: abbrev{}, + transparency: semireducible +} +abbrev LexLeanRuntime.Fixed.shiftRight : @1230 := @1236 { + all: [LexLeanRuntime.Fixed.shiftRight], + class: false, + generated: false, + policy: exact{axioms: []}, + projection: {constructor: LexLeanRuntime.Fixed.mk, from_class: true, index: 9, num_params: 1}, + reducibility: abbrev{}, + transparency: semireducible +} +abbrev LexLeanRuntime.Fixed.toToMathInt : @1238 := @1241 { + all: [LexLeanRuntime.Fixed.toToMathInt], + class: false, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: [1]}, + policy: exact{axioms: []}, + projection: {constructor: LexLeanRuntime.Fixed.mk, from_class: true, index: 0, num_params: 1}, + reducibility: abbrev{}, + transparency: implicit-reducible +} +constructor LexLeanRuntime.Indexable.mk : @1249 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +inductive LexLeanRuntime.Indexable : @1251 { + all: [LexLeanRuntime.Indexable], + class: true, + compiled: true, + generated: false, + inductive: { + constructors: [LexLeanRuntime.Indexable.mk], + num_indices: 0, + num_params: 2, + structure: { + fields: [{name: index, binder: e, projection: LexLeanRuntime.Indexable.index}], + parents: [] + } + }, + policy: exact{axioms: []}, + transparency: semireducible +} +recursor LexLeanRuntime.Indexable.rec.{u} : @1269 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +abbrev LexLeanRuntime.Indexable.casesOn.{u} : @1281 := @1296 { + all: [LexLeanRuntime.Indexable.casesOn], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [aux_recursor], + transparency: reducible +} +definition LexLeanRuntime.Indexable.ctorIdx : @1299 := @1302 { + all: [LexLeanRuntime.Indexable.ctorIdx], + class: false, + generated: false, + inline: macro_inline, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + tags: [protected], + transparency: semireducible +} +abbrev LexLeanRuntime.Indexable.index : @1305 := @1309 { + all: [LexLeanRuntime.Indexable.index], + class: false, + generated: false, + policy: exact{axioms: []}, + projection: {constructor: LexLeanRuntime.Indexable.mk, from_class: true, index: 0, num_params: 2}, + reducibility: abbrev{}, + transparency: semireducible +} +abbrev LexLeanRuntime.Indexable.mk._flat_ctor : @1249 := @1315 { + all: [LexLeanRuntime.Indexable.mk._flat_ctor], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: semireducible +} +abbrev LexLeanRuntime.Indexable.noConfusionType.{u} : @1322 := @1356 { + all: [LexLeanRuntime.Indexable.noConfusionType], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [protected], + transparency: reducible +} +abbrev LexLeanRuntime.Indexable.noConfusion.{u} : @1384 := @1505 { + all: [LexLeanRuntime.Indexable.noConfusion], + class: false, + generated: false, + no_confusion: regular{arity: 10, lhs: 3, rhs: 6}, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [protected], + transparency: reducible +} +abbrev LexLeanRuntime.Indexable.mk.noConfusion.{u} : @1521 := @1552 { + all: [LexLeanRuntime.Indexable.mk.noConfusion], + class: false, + generated: false, + no_confusion: per_ctor{fields: 1, arity: 6}, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: reducible +} +abbrev LexLeanRuntime.Indexable.recOn.{u} : @1281 := @1559 { + all: [LexLeanRuntime.Indexable.recOn], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [protected, aux_recursor], + transparency: reducible +} +constructor LexLeanRuntime.Lengthable.mk : @1564 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +inductive LexLeanRuntime.Lengthable : @10 { + all: [LexLeanRuntime.Lengthable], + class: true, + compiled: true, + generated: false, + inductive: { + constructors: [LexLeanRuntime.Lengthable.mk], + num_indices: 0, + num_params: 1, + structure: { + fields: [{name: length, binder: e, projection: LexLeanRuntime.Lengthable.length}], + parents: [] + } + }, + policy: exact{axioms: []}, + transparency: semireducible +} +recursor LexLeanRuntime.Lengthable.rec.{u} : @1577 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +abbrev LexLeanRuntime.Lengthable.casesOn.{u} : @1586 := @1597 { + all: [LexLeanRuntime.Lengthable.casesOn], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [aux_recursor], + transparency: reducible +} +definition LexLeanRuntime.Lengthable.ctorIdx : @1599 := @1601 { + all: [LexLeanRuntime.Lengthable.ctorIdx], + class: false, + generated: false, + inline: macro_inline, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + tags: [protected], + transparency: semireducible +} +abbrev LexLeanRuntime.Lengthable.length : @1603 := @1606 { + all: [LexLeanRuntime.Lengthable.length], + class: false, + generated: false, + policy: exact{axioms: []}, + projection: { + constructor: LexLeanRuntime.Lengthable.mk, + from_class: true, + index: 0, + num_params: 1 + }, + reducibility: abbrev{}, + transparency: semireducible +} +abbrev LexLeanRuntime.Lengthable.mk._flat_ctor : @1564 := @1610 { + all: [LexLeanRuntime.Lengthable.mk._flat_ctor], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: semireducible +} +abbrev LexLeanRuntime.Lengthable.noConfusionType.{u} : @1615 := @1641 { + all: [LexLeanRuntime.Lengthable.noConfusionType], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [protected], + transparency: reducible +} +abbrev LexLeanRuntime.Lengthable.noConfusion.{u} : @1659 := @1728 { + all: [LexLeanRuntime.Lengthable.noConfusion], + class: false, + generated: false, + no_confusion: regular{arity: 7, lhs: 2, rhs: 4}, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [protected], + transparency: reducible +} +abbrev LexLeanRuntime.Lengthable.mk.noConfusion.{u} : @1744 := @1767 { + all: [LexLeanRuntime.Lengthable.mk.noConfusion], + class: false, + generated: false, + no_confusion: per_ctor{fields: 1, arity: 5}, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: reducible +} +abbrev LexLeanRuntime.Lengthable.recOn.{u} : @1586 := @1773 { + all: [LexLeanRuntime.Lengthable.recOn], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [protected, aux_recursor], + transparency: reducible +} +constructor LexLeanRuntime.Quotient.mk : @1781 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +inductive LexLeanRuntime.Quotient : @10 { + all: [LexLeanRuntime.Quotient], + class: true, + compiled: true, + generated: false, + inductive: { + constructors: [LexLeanRuntime.Quotient.mk], + num_indices: 0, + num_params: 1, + structure: { + fields: [ + {name: quotient, binder: e, projection: LexLeanRuntime.Quotient.quotient}, + {name: remainder, binder: e, projection: LexLeanRuntime.Quotient.remainder}, + {name: isZero, binder: e, projection: LexLeanRuntime.Quotient.isZero} + ], + parents: [] + } + }, + policy: exact{axioms: []}, + transparency: semireducible +} +recursor LexLeanRuntime.Quotient.rec.{u} : @1798 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +abbrev LexLeanRuntime.Quotient.casesOn.{u} : @1812 := @1828 { + all: [LexLeanRuntime.Quotient.casesOn], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [aux_recursor], + transparency: reducible +} +definition LexLeanRuntime.Quotient.ctorIdx : @1830 := @1832 { + all: [LexLeanRuntime.Quotient.ctorIdx], + class: false, + generated: false, + inline: macro_inline, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + tags: [protected], + transparency: semireducible +} +abbrev LexLeanRuntime.Quotient.isZero : @1835 := @1838 { + all: [LexLeanRuntime.Quotient.isZero], + class: false, + generated: false, + policy: exact{axioms: []}, + projection: {constructor: LexLeanRuntime.Quotient.mk, from_class: true, index: 2, num_params: 1}, + reducibility: abbrev{}, + transparency: semireducible +} +abbrev LexLeanRuntime.Quotient.mk._flat_ctor : @1781 := @1846 { + all: [LexLeanRuntime.Quotient.mk._flat_ctor], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: semireducible +} +abbrev LexLeanRuntime.Quotient.noConfusionType.{u} : @1851 := @1895 { + all: [LexLeanRuntime.Quotient.noConfusionType], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [protected], + transparency: reducible +} +abbrev LexLeanRuntime.Quotient.noConfusion.{u} : @1912 := @1995 { + all: [LexLeanRuntime.Quotient.noConfusion], + class: false, + generated: false, + no_confusion: regular{arity: 7, lhs: 2, rhs: 4}, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [protected], + transparency: reducible +} +abbrev LexLeanRuntime.Quotient.mk.noConfusion.{u} : @2029 := @2063 { + all: [LexLeanRuntime.Quotient.mk.noConfusion], + class: false, + generated: false, + no_confusion: per_ctor{fields: 3, arity: 9}, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: reducible +} +abbrev LexLeanRuntime.Quotient.quotient : @2065 := @2068 { + all: [LexLeanRuntime.Quotient.quotient], + class: false, + generated: false, + policy: exact{axioms: []}, + projection: {constructor: LexLeanRuntime.Quotient.mk, from_class: true, index: 0, num_params: 1}, + reducibility: abbrev{}, + transparency: semireducible +} +abbrev LexLeanRuntime.Quotient.recOn.{u} : @1812 := @2074 { + all: [LexLeanRuntime.Quotient.recOn], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [protected, aux_recursor], + transparency: reducible +} +abbrev LexLeanRuntime.Quotient.remainder : @2065 := @2077 { + all: [LexLeanRuntime.Quotient.remainder], + class: false, + generated: false, + policy: exact{axioms: []}, + projection: {constructor: LexLeanRuntime.Quotient.mk, from_class: true, index: 1, num_params: 1}, + reducibility: abbrev{}, + transparency: semireducible +} +constructor LexLeanRuntime.Sliceable.mk : @2083 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +inductive LexLeanRuntime.Sliceable : @10 { + all: [LexLeanRuntime.Sliceable], + class: true, + compiled: true, + generated: false, + inductive: { + constructors: [LexLeanRuntime.Sliceable.mk], + num_indices: 0, + num_params: 1, + structure: { + fields: [{name: slice, binder: e, projection: LexLeanRuntime.Sliceable.slice}], + parents: [] + } + }, + policy: exact{axioms: []}, + transparency: semireducible +} +recursor LexLeanRuntime.Sliceable.rec.{u} : @2097 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +abbrev LexLeanRuntime.Sliceable.casesOn.{u} : @2107 := @2119 { + all: [LexLeanRuntime.Sliceable.casesOn], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [aux_recursor], + transparency: reducible +} +definition LexLeanRuntime.Sliceable.ctorIdx : @2121 := @2123 { + all: [LexLeanRuntime.Sliceable.ctorIdx], + class: false, + generated: false, + inline: macro_inline, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + tags: [protected], + transparency: semireducible +} +abbrev LexLeanRuntime.Sliceable.mk._flat_ctor : @2083 := @2127 { + all: [LexLeanRuntime.Sliceable.mk._flat_ctor], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: semireducible +} +abbrev LexLeanRuntime.Sliceable.noConfusionType.{u} : @2132 := @2159 { + all: [LexLeanRuntime.Sliceable.noConfusionType], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [protected], + transparency: reducible +} +abbrev LexLeanRuntime.Sliceable.noConfusion.{u} : @2177 := @2252 { + all: [LexLeanRuntime.Sliceable.noConfusion], + class: false, + generated: false, + no_confusion: regular{arity: 7, lhs: 2, rhs: 4}, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [protected], + transparency: reducible +} +abbrev LexLeanRuntime.Sliceable.mk.noConfusion.{u} : @2270 := @2293 { + all: [LexLeanRuntime.Sliceable.mk.noConfusion], + class: false, + generated: false, + no_confusion: per_ctor{fields: 1, arity: 5}, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: reducible +} +abbrev LexLeanRuntime.Sliceable.recOn.{u} : @2107 := @2299 { + all: [LexLeanRuntime.Sliceable.recOn], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [protected, aux_recursor], + transparency: reducible +} +abbrev LexLeanRuntime.Sliceable.slice : @2301 := @2304 { + all: [LexLeanRuntime.Sliceable.slice], + class: false, + generated: false, + policy: exact{axioms: []}, + projection: {constructor: LexLeanRuntime.Sliceable.mk, from_class: true, index: 0, num_params: 1}, + reducibility: abbrev{}, + transparency: semireducible +} +recursor LexLeanRuntime.ToMathInt.rec.{u} : @2314 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +abbrev LexLeanRuntime.ToMathInt.casesOn.{u} : @2323 := @2334 { + all: [LexLeanRuntime.ToMathInt.casesOn], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [aux_recursor], + transparency: reducible +} +definition LexLeanRuntime.ToMathInt.ctorIdx : @2336 := @2338 { + all: [LexLeanRuntime.ToMathInt.ctorIdx], + class: false, + generated: false, + inline: macro_inline, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + tags: [protected], + transparency: semireducible +} +abbrev LexLeanRuntime.ToMathInt.mk._flat_ctor : @543 := @2342 { + all: [LexLeanRuntime.ToMathInt.mk._flat_ctor], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: semireducible +} +abbrev LexLeanRuntime.ToMathInt.noConfusionType.{u} : @2347 := @2372 { + all: [LexLeanRuntime.ToMathInt.noConfusionType], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [protected], + transparency: reducible +} +abbrev LexLeanRuntime.ToMathInt.noConfusion.{u} : @2390 := @2458 { + all: [LexLeanRuntime.ToMathInt.noConfusion], + class: false, + generated: false, + no_confusion: regular{arity: 7, lhs: 2, rhs: 4}, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [protected], + transparency: reducible +} +abbrev LexLeanRuntime.ToMathInt.mk.noConfusion.{u} : @2474 := @2497 { + all: [LexLeanRuntime.ToMathInt.mk.noConfusion], + class: false, + generated: false, + no_confusion: per_ctor{fields: 1, arity: 5}, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: reducible +} +abbrev LexLeanRuntime.ToMathInt.recOn.{u} : @2323 := @2503 { + all: [LexLeanRuntime.ToMathInt.recOn], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [protected, aux_recursor], + transparency: reducible +} +abbrev LexLeanRuntime.ToMathInt.toInt : @2505 := @2508 { + all: [LexLeanRuntime.ToMathInt.toInt], + class: false, + generated: false, + policy: exact{axioms: []}, + projection: {constructor: LexLeanRuntime.ToMathInt.mk, from_class: true, index: 0, num_params: 1}, + reducibility: abbrev{}, + transparency: semireducible +} +definition LexLeanRuntime.append : @2512 := @2521 { + all: [LexLeanRuntime.append], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanRuntime.bitAnd : @2523 := @2532 { + all: [LexLeanRuntime.bitAnd], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanRuntime.bitNot : @2535 := @2542 { + all: [LexLeanRuntime.bitNot], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanRuntime.bitOr : @2544 := @2553 { + all: [LexLeanRuntime.bitOr], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanRuntime.bitXor : @2555 := @2564 { + all: [LexLeanRuntime.bitXor], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanRuntime.checkedFromInt : @2567 := @2608 { + all: [LexLeanRuntime.checkedFromInt], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 14}, + transparency: semireducible +} +definition LexLeanRuntime.checkedAdd : @2612 := @2639 { + all: [LexLeanRuntime.checkedAdd], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 15}, + transparency: semireducible +} +definition LexLeanRuntime.checkedAddInt64 : @2643 := @2713 { + all: [LexLeanRuntime.checkedAddInt64], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 17}, + transparency: semireducible +} +definition LexLeanRuntime.checkedConvert : @2718 := @2728 { + all: [LexLeanRuntime.checkedConvert], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 15}, + transparency: semireducible +} +definition LexLeanRuntime.checkedMultiply : @2730 := @2746 { + all: [LexLeanRuntime.checkedMultiply], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 15}, + transparency: semireducible +} +abbrev LexLeanRuntime.checkedMultiplyInt64.match_1.{u_1} : @2762 := @2777 { + all: [LexLeanRuntime.checkedMultiplyInt64.match_1], + class: false, + generated: false, + inline: inline, + matcher: { + alts: [{fields: 0, overlaps: 0, unit_thunk: true}, {fields: 1, overlaps: 0, unit_thunk: false}], + discrs: [[]], + num_discrs: 1, + num_params: 0, + overlaps: [], + u_elim_pos: 0 + }, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: implicit-reducible +} +definition LexLeanRuntime.magnitudeInt64 : @2778 := @2803 { + all: [LexLeanRuntime.magnitudeInt64], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 17}, + transparency: semireducible +} +abbrev LexLeanRuntime.multiplyMagnitudeInt64.match_1.{u_1} : @2847 := @2875 { + all: [LexLeanRuntime.multiplyMagnitudeInt64.match_1], + class: false, + generated: false, + inline: inline, + matcher: { + alts: [ + {fields: 4, overlaps: 0, unit_thunk: false}, + {fields: 5, overlaps: 0, unit_thunk: false} + ], + discrs: [[], [], [], [], []], + num_discrs: 5, + num_params: 0, + overlaps: [], + u_elim_pos: 0 + }, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: implicit-reducible +} +abbrev LexLeanRuntime.multiplyMagnitudeInt64._f : @2885 := @3029 { + all: [LexLeanRuntime.multiplyMagnitudeInt64._f], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: reducible +} +definition LexLeanRuntime.multiplyMagnitudeInt64 : @3034 := @3048 { + all: [LexLeanRuntime.multiplyMagnitudeInt64], + class: false, + compiled: true, + eqn_info: { + type: 3034, + declarations: [LexLeanRuntime.multiplyMagnitudeInt64], + levels: [], + num_fixed: 0, + perms: [[[], [], [], [], []]], + rec_arg_pos: 0, + rev_deps: [[[], [], [], [], []]], + value: 3135 + }, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 15}, + tags: [recursive], + transparency: semireducible +} +definition LexLeanRuntime.signedMagnitudeInt64 : @3137 := @3143 { + all: [LexLeanRuntime.signedMagnitudeInt64], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 15}, + transparency: semireducible +} +definition LexLeanRuntime.checkedMultiplyInt64 : @2643 := @3182 { + all: [LexLeanRuntime.checkedMultiplyInt64], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 18}, + transparency: semireducible +} +definition LexLeanRuntime.checkedNegate : @3185 := @3201 { + all: [LexLeanRuntime.checkedNegate], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 15}, + transparency: semireducible +} +definition LexLeanRuntime.checkedNegateInt64 : @3202 := @3228 { + all: [LexLeanRuntime.checkedNegateInt64], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 15}, + transparency: semireducible +} +definition LexLeanRuntime.checkedQuotient : @3230 := @3254 { + all: [LexLeanRuntime.checkedQuotient], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 15}, + transparency: semireducible +} +abbrev LexLeanRuntime.divideMagnitudeInt64.match_1.{u_1} : @3276 := @3286 { + all: [LexLeanRuntime.divideMagnitudeInt64.match_1], + class: false, + generated: false, + inline: inline, + matcher: { + alts: [ + {fields: 4, overlaps: 0, unit_thunk: false}, + {fields: 5, overlaps: 0, unit_thunk: false} + ], + discrs: [[], [], [], [], []], + num_discrs: 5, + num_params: 0, + overlaps: [], + u_elim_pos: 0 + }, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: implicit-reducible +} +abbrev LexLeanRuntime.divideMagnitudeInt64._f : @3295 := @3363 { + all: [LexLeanRuntime.divideMagnitudeInt64._f], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: reducible +} +definition LexLeanRuntime.divideMagnitudeInt64 : @3368 := @3381 { + all: [LexLeanRuntime.divideMagnitudeInt64], + class: false, + compiled: true, + eqn_info: { + type: 3368, + declarations: [LexLeanRuntime.divideMagnitudeInt64], + levels: [], + num_fixed: 0, + perms: [[[], [], [], [], []]], + rec_arg_pos: 0, + rev_deps: [[[], [], [], [], []]], + value: 3437 + }, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 15}, + tags: [recursive], + transparency: semireducible +} +definition LexLeanRuntime.checkedQuotientInt64 : @2643 := @3474 { + all: [LexLeanRuntime.checkedQuotientInt64], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 18}, + transparency: semireducible +} +definition LexLeanRuntime.checkedSubtract : @3476 := @3490 { + all: [LexLeanRuntime.checkedSubtract], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 15}, + transparency: semireducible +} +definition LexLeanRuntime.checkedSubtractInt64 : @2643 := @3514 { + all: [LexLeanRuntime.checkedSubtractInt64], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 17}, + transparency: semireducible +} +definition LexLeanRuntime.compareBytes : @3518 := @3535 { + all: [LexLeanRuntime.compareBytes], + class: false, + compiled: true, + generated: false, + inline: noinline, + policy: exact{axioms: [propext]}, + reducibility: regular{height: 12}, + transparency: semireducible +} +definition LexLeanRuntime.divideMagnitudeInt64._sunfold : @3368 := @3558 { + all: [LexLeanRuntime.divideMagnitudeInt64._sunfold], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 16}, + transparency: semireducible +} +definition LexLeanRuntime.divideMagnitudeInt64._unsafe_rec : @3368 := @3583 { + all: [LexLeanRuntime.divideMagnitudeInt64._unsafe_rec], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: opaque{}, + safety: partial, + transparency: semireducible +} +definition LexLeanRuntime.equal : @3589 := @3597 { + all: [LexLeanRuntime.equal], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanRuntime.formatDecimal : @3600 := @3607 { + all: [LexLeanRuntime.formatDecimal], + class: false, + compiled: true, + generated: false, + inline: noinline, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanRuntime.index : @3612 := @3623 { + all: [LexLeanRuntime.index], + class: false, + compiled: true, + generated: false, + inline: noinline, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanRuntime.instAppendableByteArray : @3624 := @3627 { + all: [LexLeanRuntime.instAppendableByteArray], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: []}, + reducibility: regular{height: 4}, + transparency: implicit-reducible +} +definition LexLeanRuntime.instAppendableList : @3630 := @3635 { + all: [LexLeanRuntime.instAppendableList], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + transparency: implicit-reducible +} +abbrev LexLeanRuntime.instDecimalInt.match_1.{u_1} : @3648 := @3660 { + all: [LexLeanRuntime.instDecimalInt.match_1], + class: false, + generated: false, + inline: inline, + matcher: { + alts: [{fields: 1, overlaps: 0, unit_thunk: false}, {fields: 0, overlaps: 0, unit_thunk: true}], + discrs: [[]], + num_discrs: 1, + num_params: 0, + overlaps: [], + u_elim_pos: 0 + }, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: implicit-reducible +} +definition LexLeanRuntime.instDecimalInt : @3661 := @3691 { + all: [LexLeanRuntime.instDecimalInt], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: [Classical.choice, Quot.sound, propext]}, + reducibility: regular{height: 11}, + transparency: implicit-reducible +} +definition LexLeanRuntime.instDecimalOfFixedOfToString : @3696 := @3720 { + all: [LexLeanRuntime.instDecimalOfFixedOfToString], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: [1, 2]}, + policy: exact{axioms: [Classical.choice, Quot.sound, propext]}, + reducibility: regular{height: 15}, + transparency: implicit-reducible +} +definition LexLeanRuntime.instFixedInt16 : @3722 := @3788 { + all: [LexLeanRuntime.instFixedInt16], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: [Quot.sound, propext]}, + reducibility: regular{height: 16}, + transparency: implicit-reducible +} +definition LexLeanRuntime.instFixedInt32 : @3790 := @3848 { + all: [LexLeanRuntime.instFixedInt32], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: [Quot.sound, propext]}, + reducibility: regular{height: 16}, + transparency: implicit-reducible +} +definition LexLeanRuntime.instFixedInt64 : @3849 := @3897 { + all: [LexLeanRuntime.instFixedInt64], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: [Quot.sound, propext]}, + reducibility: regular{height: 16}, + transparency: implicit-reducible +} +definition LexLeanRuntime.instFixedInt8 : @3899 := @3957 { + all: [LexLeanRuntime.instFixedInt8], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: [Quot.sound, propext]}, + reducibility: regular{height: 16}, + transparency: implicit-reducible +} +definition LexLeanRuntime.instFixedUInt16 : @3959 := @4010 { + all: [LexLeanRuntime.instFixedUInt16], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: [Quot.sound, propext]}, + reducibility: regular{height: 15}, + transparency: implicit-reducible +} +definition LexLeanRuntime.instFixedUInt32 : @4011 := @4057 { + all: [LexLeanRuntime.instFixedUInt32], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: [Quot.sound, propext]}, + reducibility: regular{height: 15}, + transparency: implicit-reducible +} +definition LexLeanRuntime.instFixedUInt64 : @4058 := @4104 { + all: [LexLeanRuntime.instFixedUInt64], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: [Quot.sound, propext]}, + reducibility: regular{height: 15}, + transparency: implicit-reducible +} +definition LexLeanRuntime.instFixedUInt8 : @4105 := @4155 { + all: [LexLeanRuntime.instFixedUInt8], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: [Quot.sound, propext]}, + reducibility: regular{height: 15}, + transparency: implicit-reducible +} +definition LexLeanRuntime.instIndexableByteArrayUInt8 : @4157 := @4183 { + all: [LexLeanRuntime.instIndexableByteArrayUInt8], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: []}, + reducibility: regular{height: 8}, + transparency: implicit-reducible +} +abbrev LexLeanRuntime.listIndex.match_1.{u_1} : @4219 := @4252 { + all: [LexLeanRuntime.listIndex.match_1], + class: false, + generated: false, + inline: inline, + matcher: { + alts: [ + {fields: 1, overlaps: 0, unit_thunk: false}, + {fields: 2, overlaps: 0, unit_thunk: false}, + {fields: 3, overlaps: 0, unit_thunk: false} + ], + discrs: [[], []], + num_discrs: 2, + num_params: 1, + overlaps: [], + u_elim_pos: 0 + }, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: implicit-reducible +} +abbrev LexLeanRuntime.listIndex._f : @4261 := @4314 { + all: [LexLeanRuntime.listIndex._f], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: reducible +} +definition LexLeanRuntime.listIndex : @4316 := @4330 { + all: [LexLeanRuntime.listIndex], + class: false, + compiled: true, + eqn_info: { + type: 4316, + declarations: [LexLeanRuntime.listIndex], + levels: [], + num_fixed: 1, + perms: [[[0], [], []]], + rec_arg_pos: 1, + rev_deps: [[[1], [], []]], + value: 4354 + }, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + tags: [recursive], + transparency: semireducible +} +definition LexLeanRuntime.instIndexableList : @4357 := @4362 { + all: [LexLeanRuntime.instIndexableList], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + transparency: implicit-reducible +} +definition LexLeanRuntime.instLengthableByteArray : @4363 := @4366 { + all: [LexLeanRuntime.instLengthableByteArray], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: []}, + reducibility: regular{height: 6}, + transparency: implicit-reducible +} +definition LexLeanRuntime.instLengthableList : @4368 := @4373 { + all: [LexLeanRuntime.instLengthableList], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: []}, + reducibility: regular{height: 4}, + transparency: implicit-reducible +} +definition LexLeanRuntime.instLengthableString : @4374 := @4377 { + all: [LexLeanRuntime.instLengthableString], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: [Classical.choice, Quot.sound, propext]}, + reducibility: regular{height: 25}, + transparency: implicit-reducible +} +definition LexLeanRuntime.instQuotientInt : @4378 := @4390 { + all: [LexLeanRuntime.instQuotientInt], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: []}, + reducibility: regular{height: 10}, + transparency: implicit-reducible +} +definition LexLeanRuntime.instQuotientNat : @4391 := @4405 { + all: [LexLeanRuntime.instQuotientNat], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: []}, + reducibility: regular{height: 8}, + transparency: implicit-reducible +} +definition LexLeanRuntime.instSliceableByteArray : @4406 := @4442 { + all: [LexLeanRuntime.instSliceableByteArray], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: []}, + reducibility: regular{height: 14}, + transparency: implicit-reducible +} +definition LexLeanRuntime.instSliceableList : @4444 := @4471 { + all: [LexLeanRuntime.instSliceableList], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: []}, + reducibility: regular{height: 5}, + transparency: implicit-reducible +} +definition LexLeanRuntime.instToMathIntInt : @4472 := @4475 { + all: [LexLeanRuntime.instToMathIntInt], + class: false, + compiled: true, + generated: false, + instance: {attribute: global, priority: 1000, synthesis_order: []}, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: implicit-reducible +} +definition LexLeanRuntime.join : @4478 := @4483 { + all: [LexLeanRuntime.join], + class: false, + compiled: true, + generated: false, + inline: noinline, + policy: exact{axioms: [propext]}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanRuntime.length : @4486 := @4493 { + all: [LexLeanRuntime.length], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanRuntime.listIndex._sunfold : @4316 := @4509 { + all: [LexLeanRuntime.listIndex._sunfold], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + transparency: semireducible +} +definition LexLeanRuntime.listIndex._unsafe_rec : @4316 := @4520 { + all: [LexLeanRuntime.listIndex._unsafe_rec], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: opaque{}, + safety: partial, + transparency: semireducible +} +definition LexLeanRuntime.multiply : @4524 := @4536 { + all: [LexLeanRuntime.multiply], + class: false, + compiled: true, + generated: false, + inline: noinline, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + transparency: semireducible +} +definition LexLeanRuntime.multiplyMagnitudeInt64._sunfold : @3034 := @4560 { + all: [LexLeanRuntime.multiplyMagnitudeInt64._sunfold], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 16}, + transparency: semireducible +} +definition LexLeanRuntime.multiplyMagnitudeInt64._unsafe_rec : @3034 := @4587 { + all: [LexLeanRuntime.multiplyMagnitudeInt64._unsafe_rec], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: opaque{}, + safety: partial, + transparency: semireducible +} +definition LexLeanRuntime.negate : @4591 := @4597 { + all: [LexLeanRuntime.negate], + class: false, + compiled: true, + generated: false, + inline: noinline, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanRuntime.parseDecimal : @4600 := @4607 { + all: [LexLeanRuntime.parseDecimal], + class: false, + compiled: true, + generated: false, + inline: noinline, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanRuntime.quotient : @4612 := @4635 { + all: [LexLeanRuntime.quotient], + class: false, + compiled: true, + generated: false, + inline: noinline, + policy: exact{axioms: []}, + reducibility: regular{height: 4}, + transparency: semireducible +} +definition LexLeanRuntime.remainder : @4637 := @4648 { + all: [LexLeanRuntime.remainder], + class: false, + compiled: true, + generated: false, + inline: noinline, + policy: exact{axioms: []}, + reducibility: regular{height: 4}, + transparency: semireducible +} +definition LexLeanRuntime.shiftLeft : @4652 := @4661 { + all: [LexLeanRuntime.shiftLeft], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanRuntime.shiftRight : @4663 := @4672 { + all: [LexLeanRuntime.shiftRight], + class: false, + compiled: true, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanRuntime.slice : @4677 := @4688 { + all: [LexLeanRuntime.slice], + class: false, + compiled: true, + generated: false, + inline: noinline, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanRuntime.splitExact : @4692 := @4724 { + all: [LexLeanRuntime.splitExact], + class: false, + compiled: true, + generated: false, + inline: noinline, + policy: exact{axioms: [Classical.choice, Quot.sound, propext]}, + reducibility: regular{height: 8}, + transparency: semireducible +} +definition LexLeanRuntime.subtract : @4728 := @4740 { + all: [LexLeanRuntime.subtract], + class: false, + compiled: true, + generated: false, + inline: noinline, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + transparency: semireducible +} +definition LexLeanRuntime.utf8Decode : @4742 := @4745 { + all: [LexLeanRuntime.utf8Decode], + class: false, + compiled: true, + generated: false, + inline: noinline, + policy: exact{axioms: [Classical.choice, Quot.sound, propext]}, + reducibility: regular{height: 24}, + transparency: semireducible +} +definition LexLeanRuntime.utf8Encode : @4746 := @4749 { + all: [LexLeanRuntime.utf8Encode], + class: false, + compiled: true, + generated: false, + inline: noinline, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} + +@0 := Sort 1 +@1 := #0 +@2 := #1 +@3 := #2 +@4 := (a._@._internal._hyg.#0 : @2) -> @3 +@5 := (a._@._internal._hyg.#0 : @1) -> @4 +@6 := LexLeanRuntime.Appendable +@7 := @6 @2 +@9 := {α : @0} -> (append : @5) -> @7 +@10 := (α : @0) -> @0 +@11 := @6 @1 +@12 := #3 +@14 := (a._@._internal._hyg.#0 : @2) -> (a._@._internal._hyg.#0 : @3) -> @12 +@16 := {α : @0} -> [self : @11] -> @14 +@19 := fun (α : @0) => + fun [self : @11] => proj LexLeanRuntime.Appendable LexLeanRuntime.Appendable.append 0 @1 +@20 := Sort u +@21 := (t : @11) -> @20 +@22 := LexLeanRuntime.Appendable.mk +@26 := (append : @14) -> @2 (@22 @3 @1) +@27 := @6 @3 +@28 := @3 @1 +@32 := {α : @0} -> {motive : @21} -> (mk : @26) -> (t : @27) -> @28 +@33 := #4 +@35 := (a._@._internal._hyg.#0 : @3) -> (a._@._internal._hyg.#0 : @12) -> @33 +@36 := @22 @12 +@37 := @36 @1 +@39 := (append : @35) -> @3 @37 +@40 := @3 @2 +@44 := {α : @0} -> {motive : @21} -> (t : @7) -> (mk : @39) -> @40 +@47 := LexLeanRuntime.Appendable.rec.{u} @12 @3 +@48 := #5 +@50 := (a._@._internal._hyg.#0 : @12) -> (a._@._internal._hyg.#0 : @33) -> @48 +@51 := @2 @1 +@58 := fun {α : @0} => + fun {motive : @21} => fun (t : @7) => fun (mk : @39) => @47 (fun (append : @50) => @51) @2 +@59 := Nat +@61 := {α : @0} -> (x._@.LexLeanRuntime.Portable.#824280705._hygCtx._hyg.#9 : @11) -> @59 +@62 := 0 +@64 := fun {α : @0} => fun (x : @11) => @62 +@68 := fun (α : @0) => fun (append : @5) => @22 @2 @1 +@73 := (P : @20) -> {α : @0} -> (t : @11) -> {α' : @0} -> (t' : @11) -> @20 +@74 := LexLeanRuntime.Appendable.casesOn.{u+1} +@75 := @74 @12 +@76 := @6 @12 +@79 := @75 (fun (t : @76) => @20) @3 +@83 := @74 @3 (fun (t : @27) => @20) @2 +@84 := HEq.{1} +@85 := #6 +@86 := #7 +@88 := (a._@._internal._hyg.#0 : @48) -> (a._@._internal._hyg.#0 : @85) -> @86 +@103 := fun (P : @20) => + fun {α : @0} => + fun (t : @11) => + fun {α' : @0} => + fun (t' : @11) => + @79 + (fun (append : @50) => + @83 + (fun (append : @35) => + (x._@.LexLeanRuntime.Portable.#824280705._hygCtx._hyg.#10 : (append_eq : @84 @88 @2 @50 @1) -> + @86) -> + @86)) +@105 := Eq.{2} @0 +@107 := @105 @12 @2 +@112 := @84 (@6 @33) @12 @27 @2 +@113 := LexLeanRuntime.Appendable.noConfusionType.{u} +@125 := {P : @20} -> + {α : @0} -> + {t : @11} -> {α' : @0} -> {t' : @11} -> (eq_1 : @107) -> (eq_2 : @112) -> @113 @85 @48 @33 @12 @3 +@127 := Eq.ndrec.{u, 2} @0 +@128 := @127 @48 +@129 := @6 @86 +@133 := @84 @129 @85 @7 @1 +@134 := #9 +@135 := @113 @134 +@136 := #8 +@137 := @135 @136 +@138 := @137 @86 +@144 := @128 (fun {α' : @0} => {t' : @11} -> (eq_2 : @133) -> @138 @3 @2) +@145 := @6 @48 +@146 := @6 @85 +@150 := @84 @146 @48 @146 @1 +@151 := Eq.ndrec.{u, 1} +@157 := @151 @129 @85 (fun {t' : @129} => @138 @136 @1) +@165 := LexLeanRuntime.Appendable.casesOn.{u} @86 (fun {t : @129} => @137 @1 @136 @1) @85 +@166 := (a._@._internal._hyg.#0 : @136) -> @134 +@167 := (a._@._internal._hyg.#0 : @86) -> @166 +@168 := #10 +@169 := (a._@._internal._hyg.#0 : @134) -> @168 +@170 := (a._@._internal._hyg.#0 : @136) -> @169 +@171 := @84 @170 +@175 := (append_eq : @171 @1 @170 @1) -> @168 +@176 := HEq.refl.{1} +@177 := #11 +@178 := (a._@._internal._hyg.#0 : @168) -> @177 +@179 := (a._@._internal._hyg.#0 : @134) -> @178 +@187 := @157 (@165 (fun (append : @167) => fun (k : @175) => @1 (@176 @179 @2))) @2 +@188 := eq_of_heq.{1} +@207 := fun {P : @20} => + fun {α : @0} => + fun {t : @11} => + fun {α' : @0} => + fun {t' : @11} => + fun (eq_1 : @107) => + fun (eq_2 : @112) => + @144 (fun {t' : @145} => fun (eq_2 : @150) => @187 (@188 @129 @85 @2 @1)) @12 @2 @3 @1 +@208 := Eq.{1} +@212 := @208 @76 (@36 @2) @37 +@214 := (a._@._internal._hyg.#0 : @33) -> (a._@._internal._hyg.#0 : @48) -> @85 +@219 := (append_eq : @84 @214 @3 @214 @2) -> @33 +@225 := {α : @0} -> + {P : @20} -> {append : @14} -> {append' : @35} -> (eq : @212) -> (k : @219) -> @33 +@226 := id.{u} +@227 := @226 @33 +@230 := LexLeanRuntime.Appendable.noConfusion.{u} @33 @48 +@231 := @22 @48 +@232 := @231 @12 +@234 := @230 @232 @48 +@235 := @231 @3 +@236 := @234 @235 +@238 := Eq.refl.{2} @0 +@239 := @238 @48 +@240 := @236 @239 +@241 := heq_of_eq.{1} +@254 := fun {α : @0} => + fun {P : @20} => + fun {append : @14} => + fun {append' : @35} => + fun (eq : @212) => fun (k : @219) => @227 (@240 (@241 @145 @232 @235 @2) @1) +@260 := fun {α : @0} => fun {motive : @21} => fun (t : @7) => fun (mk : @39) => @47 @1 @2 +@261 := String +@262 := Option.{0} +@264 := (a._@._internal._hyg.#0 : @261) -> @262 @2 +@265 := (a._@._internal._hyg.#0 : @2) -> @261 +@266 := LexLeanRuntime.Decimal +@267 := @266 @3 +@270 := {α : @0} -> (parse : @264) -> (format : @265) -> @267 +@271 := @266 @1 +@272 := (t : @271) -> @20 +@273 := @262 @3 +@274 := (a._@._internal._hyg.#0 : @261) -> @273 +@275 := (a._@._internal._hyg.#0 : @3) -> @261 +@276 := LexLeanRuntime.Decimal.mk +@286 := {α : @0} -> + {motive : @272} -> + (mk : (parse : @274) -> (format : @275) -> @3 (@276 @12 @2 @1)) -> (t : @267) -> @28 +@287 := @266 @2 +@288 := @262 @12 +@296 := (parse : (a._@._internal._hyg.#0 : @261) -> @288) -> + (format : (a._@._internal._hyg.#0 : @12) -> @261) -> @12 (@276 @33 @2 @1) +@300 := {α : @0} -> {motive : @272} -> (t : @287) -> (mk : @296) -> @40 +@303 := LexLeanRuntime.Decimal.rec.{u} @12 @3 +@304 := @262 @33 +@305 := (a._@._internal._hyg.#0 : @261) -> @304 +@306 := (a._@._internal._hyg.#0 : @33) -> @261 +@315 := fun {α : @0} => + fun {motive : @272} => + fun (t : @287) => fun (mk : @296) => @303 (fun (parse : @305) => fun (format : @306) => @40 @1) @2 +@317 := {α : @0} -> (x._@.LexLeanRuntime.Portable.#2488323864._hygCtx._hyg.#11 : @271) -> @59 +@319 := fun {α : @0} => fun (x : @271) => @62 +@321 := {α : @0} -> [self : @271] -> @265 +@324 := fun (α : @0) => + fun [self : @271] => proj LexLeanRuntime.Decimal LexLeanRuntime.Decimal.format 1 @1 +@325 := @276 @3 +@330 := fun (α : @0) => fun (parse : @264) => fun (format : @265) => @325 @2 @1 +@335 := (P : @20) -> {α : @0} -> (t : @271) -> {α' : @0} -> (t' : @271) -> @20 +@341 := LexLeanRuntime.Decimal.casesOn.{u+1} @12 (fun (t : @266 @12) => @20) @3 +@342 := @262 @136 +@343 := (a._@._internal._hyg.#0 : @261) -> @342 +@345 := @84 @343 @12 +@346 := @262 @85 +@349 := @345 ((a._@._internal._hyg.#0 : @261) -> @346) @2 +@350 := (a._@._internal._hyg.#0 : @136) -> @261 +@369 := fun (P : @20) => + fun {α : @0} => + fun (t : @271) => + fun {α' : @0} => + fun (t' : @271) => + @341 + (fun (parse : @305) => + fun (format : @306) => + @341 + (fun (parse : @305) => + fun (format : @306) => + (x._@.LexLeanRuntime.Portable.#2488323864._hygCtx._hyg.#12 : (parse_eq : @349) -> + (format_eq : @84 @350 @12 ((a._@._internal._hyg.#0 : @85) -> @261) @2) -> @168) -> + @134)) +@374 := @84 (@266 @33) @12 @267 @2 +@375 := LexLeanRuntime.Decimal.noConfusionType.{u} +@387 := {P : @20} -> + {α : @0} -> + {t : @271} -> + {α' : @0} -> {t' : @271} -> (eq_1 : @107) -> (eq_2 : @374) -> @375 @85 @48 @33 @12 @3 +@388 := @266 @86 +@392 := @84 @388 @85 @287 @1 +@394 := @375 @134 @136 +@395 := @394 @86 +@401 := @128 (fun {α' : @0} => {t' : @271} -> (eq_2 : @392) -> @395 @3 @2) +@402 := @266 @48 +@403 := @266 @85 +@407 := @84 @403 @48 @403 @1 +@413 := @151 @388 @85 (fun {t' : @388} => @395 @136 @1) +@421 := LexLeanRuntime.Decimal.casesOn.{u} @86 (fun {t : @388} => @394 @1 @136 @1) @85 +@422 := @262 @168 +@423 := (a._@._internal._hyg.#0 : @261) -> @422 +@427 := @84 @423 @2 @423 @2 +@428 := (a._@._internal._hyg.#0 : @168) -> @261 +@432 := @84 @428 @2 @428 @2 +@433 := #12 +@435 := (parse_eq : @427) -> (format_eq : @432) -> @433 +@436 := @262 @177 +@468 := fun {P : @20} => + fun {α : @0} => + fun {t : @271} => + fun {α' : @0} => + fun {t' : @271} => + fun (eq_1 : @107) => + fun (eq_2 : @374) => + @401 + (fun {t' : @402} => + fun (eq_2 : @407) => + @413 + (@421 + (fun (parse : @343) => + fun (format : @350) => + fun (k : @435) => @1 (@176 ((a._@._internal._hyg.#0 : @261) -> @436) @3) (@176 @428 @2))) + @2 + (@188 @388 @85 @2 @1)) + @12 + @2 + @3 + @1 +@469 := @208 @402 +@470 := @276 @48 +@476 := @469 (@470 @12 @3) (@470 @2 @1) +@477 := @262 @86 +@478 := (a._@._internal._hyg.#0 : @261) -> @477 +@482 := @84 @478 @33 @478 @3 +@483 := (a._@._internal._hyg.#0 : @86) -> @261 +@489 := (parse_eq : @482) -> (format_eq : @84 @483 @33 @483 @3) -> @86 +@497 := {α : @0} -> + {P : @20} -> + {parse : @274} -> + {format : @275} -> {parse' : @305} -> {format' : @306} -> (eq : @476) -> (k : @489) -> @85 +@498 := @226 @85 +@501 := LexLeanRuntime.Decimal.noConfusion.{u} @85 @86 +@502 := @276 @86 +@504 := @502 @48 @33 +@506 := @501 @504 @86 +@508 := @502 @12 @3 +@526 := fun {α : @0} => + fun {P : @20} => + fun {parse : @274} => + fun {format : @275} => + fun {parse' : @305} => + fun {format' : @306} => + fun (eq : @476) => fun (k : @489) => @498 (@506 @508 (@238 @86) (@241 @388 @504 @508 @2) @1) +@528 := {α : @0} -> [self : @271] -> @274 +@531 := fun (α : @0) => + fun [self : @271] => proj LexLeanRuntime.Decimal LexLeanRuntime.Decimal.parse 0 @1 +@537 := fun {α : @0} => fun {motive : @272} => fun (t : @287) => fun (mk : @296) => @303 @1 @2 +@538 := Int +@539 := (a._@._internal._hyg.#0 : @1) -> @538 +@540 := LexLeanRuntime.ToMathInt +@541 := @540 @2 +@543 := {α : @0} -> (toInt : @539) -> @541 +@544 := @540 @1 +@545 := (a._@._internal._hyg.#0 : @538) -> @3 +@546 := (a._@._internal._hyg.#0 : @86) -> @136 +@547 := (a._@._internal._hyg.#0 : @85) -> @546 +@548 := UInt32 +@550 := (a._@._internal._hyg.#0 : @136) -> (a._@._internal._hyg.#0 : @548) -> @422 +@552 := (a._@._internal._hyg.#0 : @134) -> (a._@._internal._hyg.#0 : @548) -> @436 +@553 := LexLeanRuntime.Fixed +@563 := (fromInt : @545) -> + (minimum : @538) -> + (maximum : @538) -> + (bitAnd : @214) -> + (bitOr : @88) -> + (bitXor : @547) -> (bitNot : @546) -> (shiftLeft : @550) -> (shiftRight : @552) -> @553 @168 +@565 := {α : @0} -> [toToMathInt : @544] -> @563 +@566 := @553 @1 +@568 := {α : @0} -> [self : @566] -> @14 +@571 := fun (α : @0) => + fun [self : @566] => proj LexLeanRuntime.Fixed LexLeanRuntime.Fixed.bitAnd 4 @1 +@573 := {α : @0} -> [self : @566] -> @4 +@576 := fun (α : @0) => + fun [self : @566] => proj LexLeanRuntime.Fixed LexLeanRuntime.Fixed.bitNot 7 @1 +@579 := fun (α : @0) => + fun [self : @566] => proj LexLeanRuntime.Fixed LexLeanRuntime.Fixed.bitOr 5 @1 +@582 := fun (α : @0) => + fun [self : @566] => proj LexLeanRuntime.Fixed LexLeanRuntime.Fixed.bitXor 6 @1 +@583 := (t : @566) -> @20 +@584 := (a._@._internal._hyg.#0 : @538) -> @12 +@585 := @262 @433 +@587 := (a._@._internal._hyg.#0 : @168) -> (a._@._internal._hyg.#0 : @548) -> @585 +@588 := LexLeanRuntime.Fixed.mk +@610 := [toToMathInt : @541] -> + (fromInt : @584) -> + (minimum : @538) -> + (maximum : @538) -> + (bitAnd : @88) -> + (bitOr : @547) -> + (bitXor : @167) -> + (bitNot : @166) -> + (shiftLeft : @552) -> + (shiftRight : @587) -> @168 (@588 @177 @134 @136 @86 @85 @48 @33 @12 @3 @2 @1) +@611 := @553 @3 +@615 := {α : @0} -> {motive : @583} -> (mk : @610) -> (t : @611) -> @28 +@616 := @553 @2 +@617 := @540 @3 +@618 := (a._@._internal._hyg.#0 : @538) -> @33 +@619 := #13 +@620 := @262 @619 +@622 := (a._@._internal._hyg.#0 : @177) -> (a._@._internal._hyg.#0 : @548) -> @620 +@644 := [toToMathInt : @617] -> + (fromInt : @618) -> + (minimum : @538) -> + (maximum : @538) -> + (bitAnd : @547) -> + (bitOr : @167) -> + (bitXor : @170) -> + (bitNot : @169) -> + (shiftLeft : @587) -> + (shiftRight : @622) -> @177 (@588 @433 @134 @136 @86 @85 @48 @33 @12 @3 @2 @1) +@648 := {α : @0} -> {motive : @583} -> (t : @616) -> (mk : @644) -> @40 +@651 := LexLeanRuntime.Fixed.rec.{u} @12 @3 +@652 := @540 @12 +@653 := (a._@._internal._hyg.#0 : @538) -> @48 +@654 := #14 +@655 := @262 @654 +@657 := (a._@._internal._hyg.#0 : @433) -> (a._@._internal._hyg.#0 : @548) -> @655 +@683 := fun {α : @0} => + fun {motive : @583} => + fun (t : @616) => + fun (mk : @644) => + @651 + (fun [toToMathInt : @652] => + fun (fromInt : @653) => + fun (minimum : @538) => + fun (maximum : @538) => + fun (bitAnd : @167) => + fun (bitOr : @170) => + fun (bitXor : @179) => + fun (bitNot : @178) => + fun (shiftLeft : @622) => + fun (shiftRight : @657) => @168 @134 @136 @86 @85 @48 @33 @12 @3 @2 @1) + @2 +@685 := {α : @0} -> (x._@.LexLeanRuntime.Portable.#3558232561._hygCtx._hyg.#41 : @566) -> @59 +@687 := fun {α : @0} => fun (x : @566) => @62 +@689 := {α : @0} -> [self : @566] -> @545 +@692 := fun (α : @0) => + fun [self : @566] => proj LexLeanRuntime.Fixed LexLeanRuntime.Fixed.fromInt 1 @1 +@694 := (α : @0) -> [self : @566] -> @538 +@697 := fun (α : @0) => + fun [self : @566] => proj LexLeanRuntime.Fixed LexLeanRuntime.Fixed.maximum 3 @1 +@700 := fun (α : @0) => + fun [self : @566] => proj LexLeanRuntime.Fixed LexLeanRuntime.Fixed.minimum 2 @1 +@702 := {α : @0} -> (toInt : @539) -> @563 +@703 := @588 @168 +@704 := LexLeanRuntime.ToMathInt.mk +@727 := fun (α : @0) => + fun (toInt : @539) => + fun (fromInt : @545) => + fun (minimum : @538) => + fun (maximum : @538) => + fun (bitAnd : @214) => + fun (bitOr : @88) => + fun (bitXor : @547) => + fun (bitNot : @546) => + fun (shiftLeft : @550) => + fun (shiftRight : @552) => @703 (@704 @168 @134) @136 @86 @85 @48 @33 @12 @3 @2 @1 +@732 := (P : @20) -> {α : @0} -> (t : @566) -> {α' : @0} -> (t' : @566) -> @20 +@733 := LexLeanRuntime.Fixed.casesOn.{u+1} +@738 := @733 @12 (fun (t : @553 @12) => @20) @3 +@743 := @733 @177 (fun (t : @553 @177) => @20) @168 +@744 := @540 @177 +@745 := (a._@._internal._hyg.#0 : @538) -> @619 +@746 := #15 +@747 := #16 +@748 := #17 +@750 := (a._@._internal._hyg.#0 : @746) -> (a._@._internal._hyg.#0 : @747) -> @748 +@751 := #18 +@753 := (a._@._internal._hyg.#0 : @747) -> (a._@._internal._hyg.#0 : @748) -> @751 +@754 := #19 +@755 := (a._@._internal._hyg.#0 : @751) -> @754 +@756 := (a._@._internal._hyg.#0 : @748) -> @755 +@757 := #21 +@760 := (a._@._internal._hyg.#0 : @754) -> (a._@._internal._hyg.#0 : @548) -> @262 @757 +@761 := #20 +@762 := #22 +@765 := (a._@._internal._hyg.#0 : @761) -> (a._@._internal._hyg.#0 : @548) -> @262 @762 +@766 := #23 +@772 := @84 (@540 @766) @754 (@540 @757) @134 +@773 := #25 +@779 := @84 + ((a._@._internal._hyg.#0 : @538) -> @773) + @754 + ((a._@._internal._hyg.#0 : @538) -> @766) + @134 +@780 := @208 @538 +@782 := @780 @754 @134 +@783 := #27 +@784 := #28 +@785 := #29 +@786 := (a._@._internal._hyg.#0 : @784) -> @785 +@787 := (a._@._internal._hyg.#0 : @783) -> @786 +@788 := @84 @787 +@789 := @788 @754 +@790 := #26 +@794 := @789 ((a._@._internal._hyg.#0 : @773) -> (a._@._internal._hyg.#0 : @790) -> @783) @134 +@795 := #30 +@796 := (a._@._internal._hyg.#0 : @785) -> @795 +@797 := (a._@._internal._hyg.#0 : @784) -> @796 +@798 := @84 @797 +@799 := @798 @754 +@801 := (a._@._internal._hyg.#0 : @790) -> (a._@._internal._hyg.#0 : @783) -> @784 +@803 := @799 @801 @134 +@804 := #31 +@805 := (a._@._internal._hyg.#0 : @795) -> @804 +@810 := @84 ((a._@._internal._hyg.#0 : @785) -> @805) @754 @787 @134 +@814 := @84 @805 @754 @786 @134 +@818 := (a._@._internal._hyg.#0 : @804) -> (a._@._internal._hyg.#0 : @548) -> @262 #33 +@819 := @84 @818 +@825 := @819 + @754 + ((a._@._internal._hyg.#0 : @785) -> (a._@._internal._hyg.#0 : @548) -> @262 @804) + @134 +@826 := #32 +@827 := #34 +@832 := @84 ((a._@._internal._hyg.#0 : @826) -> (a._@._internal._hyg.#0 : @548) -> @262 @827) @754 +@835 := (a._@._internal._hyg.#0 : @795) -> (a._@._internal._hyg.#0 : @548) -> @262 @826 +@875 := fun (P : @20) => + fun {α : @0} => + fun (t : @566) => + fun {α' : @0} => + fun (t' : @566) => + @738 + (fun [toToMathInt : @652] => + fun (fromInt : @653) => + fun (minimum : @538) => + fun (maximum : @538) => + fun (bitAnd : @167) => + fun (bitOr : @170) => + fun (bitXor : @179) => + fun (bitNot : @178) => + fun (shiftLeft : @622) => + fun (shiftRight : @657) => + @743 + (fun [toToMathInt : @744] => + fun (fromInt : @745) => + fun (minimum : @538) => + fun (maximum : @538) => + fun (bitAnd : @750) => + fun (bitOr : @753) => + fun (bitXor : @756) => + fun (bitNot : @755) => + fun (shiftLeft : @760) => + fun (shiftRight : @765) => + (x._@.LexLeanRuntime.Portable.#3558232561._hygCtx._hyg.#42 : (toToMathInt_eq : @772) -> + (fromInt_eq : @779) -> + (minimum_eq : @782) -> + (maximum_eq : @782) -> + (bitAnd_eq : @794) -> + (bitOr_eq : @803) -> + (bitXor_eq : @810) -> + (bitNot_eq : @814) -> (shiftLeft_eq : @825) -> (shiftRight_eq : @832 @835 @134) -> @827) -> + @773)) +@880 := @84 (@553 @33) @12 @611 @2 +@881 := LexLeanRuntime.Fixed.noConfusionType.{u} +@893 := {P : @20} -> + {α : @0} -> + {t : @566} -> + {α' : @0} -> {t' : @566} -> (eq_1 : @107) -> (eq_2 : @880) -> @881 @85 @48 @33 @12 @3 +@894 := @553 @86 +@898 := @84 @894 @85 @616 @1 +@900 := @881 @134 @136 +@901 := @900 @86 +@907 := @128 (fun {α' : @0} => {t' : @566} -> (eq_2 : @898) -> @901 @3 @2) +@908 := @553 @48 +@909 := @553 @85 +@913 := @84 @909 @48 @909 @1 +@919 := @151 @894 @85 (fun {t' : @894} => @901 @136 @1) +@927 := LexLeanRuntime.Fixed.casesOn.{u} @86 (fun {t : @894} => @900 @1 @136 @1) @85 +@928 := @540 @86 +@929 := (a._@._internal._hyg.#0 : @538) -> @134 +@931 := (a._@._internal._hyg.#0 : @177) -> (a._@._internal._hyg.#0 : @433) -> @619 +@933 := (a._@._internal._hyg.#0 : @433) -> (a._@._internal._hyg.#0 : @619) -> @654 +@934 := (a._@._internal._hyg.#0 : @654) -> @746 +@935 := (a._@._internal._hyg.#0 : @619) -> @934 +@938 := (a._@._internal._hyg.#0 : @746) -> (a._@._internal._hyg.#0 : @548) -> @262 @748 +@941 := (a._@._internal._hyg.#0 : @747) -> (a._@._internal._hyg.#0 : @548) -> @262 @751 +@942 := @540 @748 +@946 := @84 @942 @134 @942 @134 +@947 := (a._@._internal._hyg.#0 : @538) -> @754 +@951 := @84 @947 @134 @947 @134 +@953 := @780 @134 @134 +@955 := (a._@._internal._hyg.#0 : @757) -> (a._@._internal._hyg.#0 : @762) -> @766 +@959 := @84 @955 @134 @955 @134 +@960 := #24 +@962 := (a._@._internal._hyg.#0 : @762) -> (a._@._internal._hyg.#0 : @766) -> @960 +@966 := @84 @962 @134 @962 @134 +@967 := (a._@._internal._hyg.#0 : @960) -> @773 +@968 := (a._@._internal._hyg.#0 : @766) -> @967 +@972 := @84 @968 @134 @968 @134 +@976 := @84 @967 @134 @967 @134 +@979 := (a._@._internal._hyg.#0 : @773) -> (a._@._internal._hyg.#0 : @548) -> @262 @783 +@983 := @84 @979 @134 @979 @134 +@986 := (a._@._internal._hyg.#0 : @790) -> (a._@._internal._hyg.#0 : @548) -> @262 @784 +@1000 := (toToMathInt_eq : @946) -> + (fromInt_eq : @951) -> + (minimum_eq : @953) -> + (maximum_eq : @953) -> + (bitAnd_eq : @959) -> + (bitOr_eq : @966) -> + (bitXor_eq : @972) -> + (bitNot_eq : @976) -> (shiftLeft_eq : @983) -> (shiftRight_eq : @84 @986 @134 @986 @134) -> @784 +@1007 := @1 (@176 (@540 @751) @168) (@176 @947 @134) +@1009 := Eq.refl.{1} @538 +@1013 := @1007 (@1009 @136) (@1009 @86) +@1016 := @176 ((a._@._internal._hyg.#0 : @751) -> (a._@._internal._hyg.#0 : @754) -> @761) +@1025 := @1013 (@1016 @85) (@1016 @48) (@1016 @33) (@176 @755 @12) +@1029 := @176 ((a._@._internal._hyg.#0 : @751) -> (a._@._internal._hyg.#0 : @548) -> @262 @761) +@1066 := fun {P : @20} => + fun {α : @0} => + fun {t : @566} => + fun {α' : @0} => + fun {t' : @566} => + fun (eq_1 : @107) => + fun (eq_2 : @880) => + @907 + (fun {t' : @908} => + fun (eq_2 : @913) => + @919 + (@927 + (fun [toToMathInt : @928] => + fun (fromInt : @929) => + fun (minimum : @538) => + fun (maximum : @538) => + fun (bitAnd : @931) => + fun (bitOr : @933) => + fun (bitXor : @935) => + fun (bitNot : @934) => + fun (shiftLeft : @938) => + fun (shiftRight : @941) => fun (k : @1000) => @1025 (@1029 @3) (@1029 @2))) + @2 + (@188 @894 @85 @2 @1)) + @12 + @2 + @3 + @1 +@1068 := @208 (@553 @757) +@1069 := @588 @757 +@1091 := @1068 + (@1069 @754 @751 @748 @747 @746 @654 @619 @433 @177 @168) + (@1069 @134 @136 @86 @85 @48 @33 @12 @3 @2 @1) +@1092 := @540 @762 +@1096 := @84 @1092 @761 @1092 @168 +@1097 := (a._@._internal._hyg.#0 : @538) -> @960 +@1101 := @84 @1097 @761 @1097 @168 +@1103 := @780 @761 @168 +@1134 := (toToMathInt_eq : @1096) -> + (fromInt_eq : @1101) -> + (minimum_eq : @1103) -> + (maximum_eq : @1103) -> + (bitAnd_eq : @84 @801 @761 @801 @168) -> + (bitOr_eq : @788 @761 @787 @168) -> + (bitXor_eq : @798 @761 @797 @168) -> + (bitNot_eq : @84 @796 @761 @796 @168) -> + (shiftLeft_eq : @84 @835 @761 @835 @168) -> (shiftRight_eq : @819 @761 @818 @168) -> @804 +@1158 := {α : @0} -> + {P : @20} -> + {toToMathInt : @541} -> + {fromInt : @584} -> + {minimum : @538} -> + {maximum : @538} -> + {bitAnd : @88} -> + {bitOr : @547} -> + {bitXor : @167} -> + {bitNot : @166} -> + {shiftLeft : @552} -> + {shiftRight : @587} -> + {toToMathInt' : @744} -> + {fromInt' : @745} -> + {minimum' : @538} -> + {maximum' : @538} -> + {bitAnd' : @750} -> + {bitOr' : @753} -> + {bitXor' : @756} -> + {bitNot' : @755} -> + {shiftLeft' : @760} -> {shiftRight' : @765} -> (eq : @1091) -> (k : @1134) -> @762 +@1159 := @226 @762 +@1162 := LexLeanRuntime.Fixed.noConfusion.{u} @762 @766 +@1163 := @588 @766 +@1173 := @1163 @757 @761 @754 @751 @748 @747 @746 @654 @619 @433 +@1175 := @1162 @1173 @766 +@1185 := @1163 @177 @168 @134 @136 @86 @85 @48 @33 @12 @3 +@1220 := fun {α : @0} => + fun {P : @20} => + fun {toToMathInt : @541} => + fun {fromInt : @584} => + fun {minimum : @538} => + fun {maximum : @538} => + fun {bitAnd : @88} => + fun {bitOr : @547} => + fun {bitXor : @167} => + fun {bitNot : @166} => + fun {shiftLeft : @552} => + fun {shiftRight : @587} => + fun {toToMathInt' : @744} => + fun {fromInt' : @745} => + fun {minimum' : @538} => + fun {maximum' : @538} => + fun {bitAnd' : @750} => + fun {bitOr' : @753} => + fun {bitXor' : @756} => + fun {bitNot' : @755} => + fun {shiftLeft' : @760} => + fun {shiftRight' : @765} => + fun (eq : @1091) => + fun (k : @1134) => @1159 (@1175 @1185 (@238 @766) (@241 (@553 @766) @1173 @1185 @2) @1) +@1226 := fun {α : @0} => fun {motive : @583} => fun (t : @616) => fun (mk : @644) => @651 @1 @2 +@1230 := {α : @0} -> + [self : @566] -> (a._@._internal._hyg.#0 : @2) -> (a._@._internal._hyg.#0 : @548) -> @288 +@1233 := fun (α : @0) => + fun [self : @566] => proj LexLeanRuntime.Fixed LexLeanRuntime.Fixed.shiftLeft 8 @1 +@1236 := fun (α : @0) => + fun [self : @566] => proj LexLeanRuntime.Fixed LexLeanRuntime.Fixed.shiftRight 9 @1 +@1238 := {α : @0} -> [self : @566] -> @541 +@1241 := fun (α : @0) => + fun [self : @566] => proj LexLeanRuntime.Fixed LexLeanRuntime.Fixed.toToMathInt 0 @1 +@1242 := (a._@._internal._hyg.#0 : @59) -> @273 +@1243 := (a._@._internal._hyg.#0 : @2) -> @1242 +@1244 := LexLeanRuntime.Indexable +@1246 := @1244 @3 @2 +@1249 := {α : @0} -> {β : @0} -> (index : @1243) -> @1246 +@1251 := (α : @0) -> (β : @0) -> @0 +@1252 := @1244 @2 +@1253 := @1252 @1 +@1254 := (t : @1253) -> @20 +@1255 := (a._@._internal._hyg.#0 : @59) -> @288 +@1256 := (a._@._internal._hyg.#0 : @3) -> @1255 +@1257 := LexLeanRuntime.Indexable.mk +@1262 := (index : @1256) -> @2 (@1257 @12 @3 @1) +@1264 := @1244 @12 @3 +@1269 := {α : @0} -> {β : @0} -> {motive : @1254} -> (mk : @1262) -> (t : @1264) -> @28 +@1270 := (a._@._internal._hyg.#0 : @59) -> @304 +@1271 := (a._@._internal._hyg.#0 : @12) -> @1270 +@1273 := @1257 @33 @12 +@1274 := @1273 @1 +@1276 := (index : @1271) -> @3 @1274 +@1281 := {α : @0} -> {β : @0} -> {motive : @1254} -> (t : @1246) -> (mk : @1276) -> @40 +@1285 := LexLeanRuntime.Indexable.rec.{u} @33 @12 @3 +@1287 := (a._@._internal._hyg.#0 : @59) -> @262 @48 +@1288 := (a._@._internal._hyg.#0 : @33) -> @1287 +@1296 := fun {α : @0} => + fun {β : @0} => + fun {motive : @1254} => + fun (t : @1246) => fun (mk : @1276) => @1285 (fun (index : @1288) => @51) @2 +@1299 := {α : @0} -> + {β : @0} -> (x._@.LexLeanRuntime.Portable.#3290840662._hygCtx._hyg.#11 : @1253) -> @59 +@1302 := fun {α : @0} => fun {β : @0} => fun (x : @1253) => @62 +@1305 := {α : @0} -> {β : @0} -> [self : @1253] -> @1256 +@1309 := fun (α : @0) => + fun (β : @0) => + fun [self : @1253] => proj LexLeanRuntime.Indexable LexLeanRuntime.Indexable.index 0 @1 +@1315 := fun (α : @0) => fun (β : @0) => fun (index : @1243) => @1257 @3 @2 @1 +@1322 := (P : @20) -> + {α : @0} -> {β : @0} -> (t : @1253) -> {α' : @0} -> {β' : @0} -> (t' : @1253) -> @20 +@1323 := LexLeanRuntime.Indexable.casesOn.{u+1} +@1330 := @1323 @48 @33 (fun (t : @1244 @48 @33) => @20) @12 +@1331 := (a._@._internal._hyg.#0 : @59) -> @346 +@1332 := (a._@._internal._hyg.#0 : @48) -> @1331 +@1337 := @1323 @12 @3 (fun (t : @1264) => @20) @2 +@1338 := (a._@._internal._hyg.#0 : @59) -> @342 +@1356 := fun (P : @20) => + fun {α : @0} => + fun {β : @0} => + fun (t : @1253) => + fun {α' : @0} => + fun {β' : @0} => + fun (t' : @1253) => + @1330 + (fun (index : @1332) => + @1337 + (fun (index : @1271) => + (x._@.LexLeanRuntime.Portable.#3290840662._hygCtx._hyg.#12 : (index_eq : @84 + ((a._@._internal._hyg.#0 : @86) -> @1338) + @2 + @1288 + @1) -> + @134) -> + @134)) +@1358 := @105 @48 @3 +@1362 := @84 (@1244 @86 @85) @48 +@1364 := @1244 @33 @12 +@1366 := @1362 @1364 @3 +@1367 := LexLeanRuntime.Indexable.noConfusionType.{u} +@1384 := {P : @20} -> + {α : @0} -> + {β : @0} -> + {t : @1253} -> + {α' : @0} -> + {β' : @0} -> + {t' : @1253} -> + (eq_1 : @1358) -> (eq_2 : @1358) -> (eq_3 : @1366) -> @1367 @134 @136 @86 @85 @48 @33 @12 +@1385 := @127 @136 +@1387 := @1244 @1 @48 +@1389 := @1244 @168 @134 +@1405 := @1385 + (fun {α' : @0} => + {t' : @1387} -> (eq_3 : @84 @1389 @136 (@1252 @85) @1) -> @1367 @433 @177 @168 @134 @3 @86 @2) +@1407 := @1244 @136 @33 +@1408 := @1244 @134 +@1414 := @84 (@1408 @136) @86 (@1408 @48) @1 +@1415 := @127 @134 +@1416 := @1244 @177 +@1417 := @1416 @1 +@1418 := @1244 @433 +@1419 := @1418 @177 +@1424 := @84 @1419 @168 (@1418 @2) @1 +@1427 := @1367 @654 @619 @433 +@1429 := @1427 @177 @619 +@1435 := @1415 (fun {β' : @0} => {t' : @1417} -> (eq_3 : @1424) -> @1429 @3 @2) +@1436 := @1416 @168 +@1440 := @84 @1436 @134 @1436 @1 +@1446 := @151 @1419 @168 (fun {t' : @1419} => @1429 @433 @1) +@1456 := LexLeanRuntime.Indexable.casesOn.{u} + @433 + @177 + (fun {t : @1419} => @1427 @1 @619 @433 @1) + @168 +@1458 := (a._@._internal._hyg.#0 : @433) -> (a._@._internal._hyg.#0 : @59) -> @620 +@1460 := (a._@._internal._hyg.#0 : @619) -> (a._@._internal._hyg.#0 : @59) -> @655 +@1505 := fun {P : @20} => + fun {α : @0} => + fun {β : @0} => + fun {t : @1253} => + fun {α' : @0} => + fun {β' : @0} => + fun {t' : @1253} => + fun (eq_1 : @1358) => + fun (eq_2 : @1358) => + fun (eq_3 : @1366) => + @1405 + (fun {t' : @1407} => + fun (eq_3 : @1414) => + @1435 + (fun {t' : @1389} => + fun (eq_3 : @1440) => + @1446 + (@1456 + (fun (index : @1458) => + fun (k : (index_eq : @84 @1460 @1 @1460 @1) -> @746) => + @1 + (@176 + ((a._@._internal._hyg.#0 : @654) -> (a._@._internal._hyg.#0 : @59) -> @262 @746) + @2))) + @2 + (@188 @1419 @168 @2 @1)) + @85 + @12 + @2 + @1) + @48 + @3 + @12 + @1 +@1509 := @208 @1364 (@1273 @2) @1274 +@1514 := (index_eq : @84 @1332 @3 @1332 @2) -> @33 +@1521 := {α : @0} -> + {β : @0} -> {P : @20} -> {index : @1256} -> {index' : @1271} -> (eq : @1509) -> (k : @1514) -> @33 +@1525 := LexLeanRuntime.Indexable.noConfusion.{u} @33 @85 @48 +@1527 := @1257 @85 @48 +@1528 := @1527 @12 +@1531 := @1525 @1528 @85 @48 +@1532 := @1527 @3 +@1552 := fun {α : @0} => + fun {β : @0} => + fun {P : @20} => + fun {index : @1256} => + fun {index' : @1271} => + fun (eq : @1509) => + fun (k : @1514) => @227 (@1531 @1532 (@238 @85) @239 (@241 (@1244 @85 @48) @1528 @1532 @2) @1) +@1559 := fun {α : @0} => + fun {β : @0} => fun {motive : @1254} => fun (t : @1246) => fun (mk : @1276) => @1285 @1 @2 +@1560 := (a._@._internal._hyg.#0 : @1) -> @59 +@1561 := LexLeanRuntime.Lengthable +@1562 := @1561 @2 +@1564 := {α : @0} -> (length : @1560) -> @1562 +@1565 := @1561 @1 +@1566 := (t : @1565) -> @20 +@1567 := (a._@._internal._hyg.#0 : @2) -> @59 +@1568 := LexLeanRuntime.Lengthable.mk +@1572 := (length : @1567) -> @2 (@1568 @3 @1) +@1573 := @1561 @3 +@1577 := {α : @0} -> {motive : @1566} -> (mk : @1572) -> (t : @1573) -> @28 +@1578 := (a._@._internal._hyg.#0 : @3) -> @59 +@1579 := @1568 @12 +@1580 := @1579 @1 +@1582 := (length : @1578) -> @3 @1580 +@1586 := {α : @0} -> {motive : @1566} -> (t : @1562) -> (mk : @1582) -> @40 +@1589 := LexLeanRuntime.Lengthable.rec.{u} @12 @3 +@1590 := (a._@._internal._hyg.#0 : @12) -> @59 +@1597 := fun {α : @0} => + fun {motive : @1566} => + fun (t : @1562) => fun (mk : @1582) => @1589 (fun (length : @1590) => @51) @2 +@1599 := {α : @0} -> (x._@.LexLeanRuntime.Portable.#2660805663._hygCtx._hyg.#7 : @1565) -> @59 +@1601 := fun {α : @0} => fun (x : @1565) => @62 +@1603 := {α : @0} -> [self : @1565] -> @1567 +@1606 := fun (α : @0) => + fun [self : @1565] => proj LexLeanRuntime.Lengthable LexLeanRuntime.Lengthable.length 0 @1 +@1610 := fun (α : @0) => fun (length : @1560) => @1568 @2 @1 +@1615 := (P : @20) -> {α : @0} -> (t : @1565) -> {α' : @0} -> (t' : @1565) -> @20 +@1616 := LexLeanRuntime.Lengthable.casesOn.{u+1} +@1617 := @1616 @12 +@1618 := @1561 @12 +@1641 := fun (P : @20) => + fun {α : @0} => + fun (t : @1565) => + fun {α' : @0} => + fun (t' : @1565) => + @1617 + (fun (t : @1618) => @20) + @3 + (fun (length : @1590) => + @1616 + @3 + (fun (t : @1573) => @20) + @2 + (fun (length : @1578) => + (x._@.LexLeanRuntime.Portable.#2660805663._hygCtx._hyg.#8 : (length_eq : @84 + ((a._@._internal._hyg.#0 : @48) -> @59) + @2 + @1590 + @1) -> + @86) -> + @86)) +@1646 := @84 (@1561 @33) @12 @1573 @2 +@1647 := LexLeanRuntime.Lengthable.noConfusionType.{u} +@1659 := {P : @20} -> + {α : @0} -> + {t : @1565} -> + {α' : @0} -> {t' : @1565} -> (eq_1 : @107) -> (eq_2 : @1646) -> @1647 @85 @48 @33 @12 @3 +@1660 := @1561 @86 +@1664 := @84 @1660 @85 @1562 @1 +@1666 := @1647 @134 @136 +@1667 := @1666 @86 +@1673 := @128 (fun {α' : @0} => {t' : @1565} -> (eq_2 : @1664) -> @1667 @3 @2) +@1674 := @1561 @48 +@1675 := @1561 @85 +@1679 := @84 @1675 @48 @1675 @1 +@1685 := @151 @1660 @85 (fun {t' : @1660} => @1667 @136 @1) +@1693 := LexLeanRuntime.Lengthable.casesOn.{u} @86 (fun {t : @1660} => @1666 @1 @136 @1) @85 +@1694 := (a._@._internal._hyg.#0 : @86) -> @59 +@1695 := (a._@._internal._hyg.#0 : @136) -> @59 +@1728 := fun {P : @20} => + fun {α : @0} => + fun {t : @1565} => + fun {α' : @0} => + fun {t' : @1565} => + fun (eq_1 : @107) => + fun (eq_2 : @1646) => + @1673 + (fun {t' : @1674} => + fun (eq_2 : @1679) => + @1685 + (@1693 + (fun (length : @1694) => + fun (k : (length_eq : @84 @1695 @1 @1695 @1) -> @168) => + @1 (@176 ((a._@._internal._hyg.#0 : @134) -> @59) @2))) + @2 + (@188 @1660 @85 @2 @1)) + @12 + @2 + @3 + @1 +@1732 := @208 @1618 (@1579 @2) @1580 +@1733 := (a._@._internal._hyg.#0 : @33) -> @59 +@1738 := (length_eq : @84 @1733 @3 @1733 @2) -> @33 +@1744 := {α : @0} -> + {P : @20} -> {length : @1567} -> {length' : @1578} -> (eq : @1732) -> (k : @1738) -> @33 +@1747 := LexLeanRuntime.Lengthable.noConfusion.{u} @33 @48 +@1748 := @1568 @48 +@1749 := @1748 @12 +@1751 := @1747 @1749 @48 +@1752 := @1748 @3 +@1767 := fun {α : @0} => + fun {P : @20} => + fun {length : @1567} => + fun {length' : @1578} => + fun (eq : @1732) => fun (k : @1738) => @227 (@1751 @1752 @239 (@241 @1674 @1749 @1752 @2) @1) +@1773 := fun {α : @0} => fun {motive : @1566} => fun (t : @1562) => fun (mk : @1582) => @1589 @1 @2 +@1774 := Bool +@1775 := (a._@._internal._hyg.#0 : @3) -> @1774 +@1776 := LexLeanRuntime.Quotient +@1777 := @1776 @12 +@1781 := {α : @0} -> (quotient : @5) -> (remainder : @14) -> (isZero : @1775) -> @1777 +@1782 := @1776 @1 +@1783 := (t : @1782) -> @20 +@1784 := (a._@._internal._hyg.#0 : @12) -> @1774 +@1785 := LexLeanRuntime.Quotient.mk +@1793 := (quotient : @14) -> (remainder : @35) -> (isZero : @1784) -> @12 (@1785 @33 @3 @2 @1) +@1794 := @1776 @3 +@1798 := {α : @0} -> {motive : @1783} -> (mk : @1793) -> (t : @1794) -> @28 +@1799 := @1776 @2 +@1808 := (quotient : @35) -> + (remainder : @50) -> + (isZero : (a._@._internal._hyg.#0 : @33) -> @1774) -> @33 (@1785 @48 @3 @2 @1) +@1812 := {α : @0} -> {motive : @1783} -> (t : @1799) -> (mk : @1808) -> @40 +@1815 := LexLeanRuntime.Quotient.rec.{u} @12 @3 +@1816 := (a._@._internal._hyg.#0 : @48) -> @1774 +@1817 := @12 @3 +@1819 := @1817 @2 @1 +@1828 := fun {α : @0} => + fun {motive : @1783} => + fun (t : @1799) => + fun (mk : @1808) => + @1815 (fun (quotient : @50) => fun (remainder : @214) => fun (isZero : @1816) => @1819) @2 +@1830 := {α : @0} -> (x._@.LexLeanRuntime.Portable.#3795262475._hygCtx._hyg.#17 : @1782) -> @59 +@1832 := fun {α : @0} => fun (x : @1782) => @62 +@1835 := {α : @0} -> [self : @1782] -> (a._@._internal._hyg.#0 : @2) -> @1774 +@1838 := fun (α : @0) => + fun [self : @1782] => proj LexLeanRuntime.Quotient LexLeanRuntime.Quotient.isZero 2 @1 +@1846 := fun (α : @0) => + fun (quotient : @5) => fun (remainder : @14) => fun (isZero : @1775) => @1785 @12 @3 @2 @1 +@1851 := (P : @20) -> {α : @0} -> (t : @1782) -> {α' : @0} -> (t' : @1782) -> @20 +@1852 := LexLeanRuntime.Quotient.casesOn.{u+1} +@1856 := @1852 @12 (fun (t : @1777) => @20) @3 +@1857 := @1852 @33 +@1858 := @1776 @33 +@1861 := @1857 (fun (t : @1858) => @20) @12 +@1862 := (a._@._internal._hyg.#0 : @85) -> @1774 +@1863 := @84 @179 +@1866 := @1863 @48 @167 @3 +@1868 := (a._@._internal._hyg.#0 : @168) -> (a._@._internal._hyg.#0 : @177) -> @433 +@1869 := @84 @1868 +@1872 := @1869 @48 @170 @3 +@1873 := (a._@._internal._hyg.#0 : @177) -> @1774 +@1875 := @84 @1873 @48 +@1876 := (a._@._internal._hyg.#0 : @134) -> @1774 +@1895 := fun (P : @20) => + fun {α : @0} => + fun (t : @1782) => + fun {α' : @0} => + fun (t' : @1782) => + @1856 + (fun (quotient : @50) => + fun (remainder : @214) => + fun (isZero : @1816) => + @1861 + (fun (quotient : @214) => + fun (remainder : @88) => + fun (isZero : @1862) => + (x._@.LexLeanRuntime.Portable.#3795262475._hygCtx._hyg.#18 : (quotient_eq : @1866) -> + (remainder_eq : @1872) -> (isZero_eq : @1875 @1876 @3) -> @619) -> + @177)) +@1899 := @84 @1858 @12 @1794 @2 +@1900 := LexLeanRuntime.Quotient.noConfusionType.{u} +@1912 := {P : @20} -> + {α : @0} -> + {t : @1782} -> + {α' : @0} -> {t' : @1782} -> (eq_1 : @107) -> (eq_2 : @1899) -> @1900 @85 @48 @33 @12 @3 +@1913 := @1776 @86 +@1917 := @84 @1913 @85 @1799 @1 +@1919 := @1900 @134 @136 +@1920 := @1919 @86 +@1926 := @128 (fun {α' : @0} => {t' : @1782} -> (eq_2 : @1917) -> @1920 @3 @2) +@1927 := @1776 @48 +@1928 := @1776 @85 +@1932 := @84 @1928 @48 @1928 @1 +@1938 := @151 @1913 @85 (fun {t' : @1913} => @1920 @136 @1) +@1946 := LexLeanRuntime.Quotient.casesOn.{u} @86 (fun {t : @1913} => @1919 @1 @136 @1) @85 +@1949 := @1869 @3 @1868 @3 +@1953 := @84 @931 @3 @931 @3 +@1954 := (a._@._internal._hyg.#0 : @433) -> @1774 +@1961 := (quotient_eq : @1949) -> + (remainder_eq : @1953) -> (isZero_eq : @84 @1954 @3 @1954 @3) -> @654 +@1962 := @176 @931 +@1995 := fun {P : @20} => + fun {α : @0} => + fun {t : @1782} => + fun {α' : @0} => + fun {t' : @1782} => + fun (eq_1 : @107) => + fun (eq_2 : @1899) => + @1926 + (fun {t' : @1927} => + fun (eq_2 : @1932) => + @1938 + (@1946 + (fun (quotient : @167) => + fun (remainder : @170) => + fun (isZero : @1876) => fun (k : @1961) => @1 (@1962 @12) (@1962 @3) (@176 @1873 @2))) + @2 + (@188 @1913 @85 @2 @1)) + @12 + @2 + @3 + @1 +@1996 := @208 @1913 +@1997 := @1785 @86 +@2005 := @1996 (@1997 @48 @33 @12) (@1997 @3 @2 @1) +@2008 := @171 @85 @170 @12 +@2011 := @1863 @85 @179 @12 +@2012 := (a._@._internal._hyg.#0 : @168) -> @1774 +@2019 := (quotient_eq : @2008) -> + (remainder_eq : @2011) -> (isZero_eq : @84 @2012 @85 @2012 @12) -> @168 +@2029 := {α : @0} -> + {P : @20} -> + {quotient : @14} -> + {remainder : @35} -> + {isZero : @1784} -> + {quotient' : @214} -> + {remainder' : @88} -> {isZero' : @1862} -> (eq : @2005) -> (k : @2019) -> @136 +@2030 := @226 @136 +@2033 := LexLeanRuntime.Quotient.noConfusion.{u} @136 @134 +@2034 := @1785 @134 +@2037 := @2034 @86 @85 @48 +@2039 := @2033 @2037 @134 +@2042 := @2034 @33 @12 @3 +@2063 := fun {α : @0} => + fun {P : @20} => + fun {quotient : @14} => + fun {remainder : @35} => + fun {isZero : @1784} => + fun {quotient' : @214} => + fun {remainder' : @88} => + fun {isZero' : @1862} => + fun (eq : @2005) => + fun (k : @2019) => @2030 (@2039 @2042 (@238 @134) (@241 (@1776 @134) @2037 @2042 @2) @1) +@2065 := {α : @0} -> [self : @1782] -> @14 +@2068 := fun (α : @0) => + fun [self : @1782] => proj LexLeanRuntime.Quotient LexLeanRuntime.Quotient.quotient 0 @1 +@2074 := fun {α : @0} => fun {motive : @1783} => fun (t : @1799) => fun (mk : @1808) => @1815 @1 @2 +@2077 := fun (α : @0) => + fun [self : @1782] => proj LexLeanRuntime.Quotient LexLeanRuntime.Quotient.remainder 1 @1 +@2079 := (a._@._internal._hyg.#0 : @1) -> (a._@._internal._hyg.#0 : @59) -> @1255 +@2080 := LexLeanRuntime.Sliceable +@2081 := @2080 @2 +@2083 := {α : @0} -> (slice : @2079) -> @2081 +@2084 := @2080 @1 +@2085 := (t : @2084) -> @20 +@2087 := (a._@._internal._hyg.#0 : @2) -> (a._@._internal._hyg.#0 : @59) -> @1270 +@2088 := LexLeanRuntime.Sliceable.mk +@2092 := (slice : @2087) -> @2 (@2088 @3 @1) +@2093 := @2080 @3 +@2097 := {α : @0} -> {motive : @2085} -> (mk : @2092) -> (t : @2093) -> @28 +@2099 := (a._@._internal._hyg.#0 : @3) -> (a._@._internal._hyg.#0 : @59) -> @1287 +@2100 := @2088 @12 +@2101 := @2100 @1 +@2103 := (slice : @2099) -> @3 @2101 +@2107 := {α : @0} -> {motive : @2085} -> (t : @2081) -> (mk : @2103) -> @40 +@2110 := LexLeanRuntime.Sliceable.rec.{u} @12 @3 +@2112 := (a._@._internal._hyg.#0 : @12) -> (a._@._internal._hyg.#0 : @59) -> @1331 +@2119 := fun {α : @0} => + fun {motive : @2085} => + fun (t : @2081) => fun (mk : @2103) => @2110 (fun (slice : @2112) => @51) @2 +@2121 := {α : @0} -> (x._@.LexLeanRuntime.Portable.#909551347._hygCtx._hyg.#12 : @2084) -> @59 +@2123 := fun {α : @0} => fun (x : @2084) => @62 +@2127 := fun (α : @0) => fun (slice : @2079) => @2088 @2 @1 +@2132 := (P : @20) -> {α : @0} -> (t : @2084) -> {α' : @0} -> (t' : @2084) -> @20 +@2133 := LexLeanRuntime.Sliceable.casesOn.{u+1} +@2134 := @2133 @12 +@2135 := @2080 @12 +@2159 := fun (P : @20) => + fun {α : @0} => + fun (t : @2084) => + fun {α' : @0} => + fun (t' : @2084) => + @2134 + (fun (t : @2135) => @20) + @3 + (fun (slice : @2112) => + @2133 + @3 + (fun (t : @2093) => @20) + @2 + (fun (slice : @2099) => + (x._@.LexLeanRuntime.Portable.#909551347._hygCtx._hyg.#13 : (slice_eq : @84 + ((a._@._internal._hyg.#0 : @48) -> (a._@._internal._hyg.#0 : @59) -> @1338) + @2 + @2112 + @1) -> + @86) -> + @86)) +@2164 := @84 (@2080 @33) @12 @2093 @2 +@2165 := LexLeanRuntime.Sliceable.noConfusionType.{u} +@2177 := {P : @20} -> + {α : @0} -> + {t : @2084} -> + {α' : @0} -> {t' : @2084} -> (eq_1 : @107) -> (eq_2 : @2164) -> @2165 @85 @48 @33 @12 @3 +@2178 := @2080 @86 +@2182 := @84 @2178 @85 @2081 @1 +@2184 := @2165 @134 @136 +@2185 := @2184 @86 +@2191 := @128 (fun {α' : @0} => {t' : @2084} -> (eq_2 : @2182) -> @2185 @3 @2) +@2192 := @2080 @48 +@2193 := @2080 @85 +@2197 := @84 @2193 @48 @2193 @1 +@2203 := @151 @2178 @85 (fun {t' : @2178} => @2185 @136 @1) +@2211 := LexLeanRuntime.Sliceable.casesOn.{u} @86 (fun {t : @2178} => @2184 @1 @136 @1) @85 +@2214 := (a._@._internal._hyg.#0 : @86) -> + (a._@._internal._hyg.#0 : @59) -> (a._@._internal._hyg.#0 : @59) -> @422 +@2217 := (a._@._internal._hyg.#0 : @136) -> + (a._@._internal._hyg.#0 : @59) -> (a._@._internal._hyg.#0 : @59) -> @436 +@2252 := fun {P : @20} => + fun {α : @0} => + fun {t : @2084} => + fun {α' : @0} => + fun {t' : @2084} => + fun (eq_1 : @107) => + fun (eq_2 : @2164) => + @2191 + (fun {t' : @2192} => + fun (eq_2 : @2197) => + @2203 + (@2211 + (fun (slice : @2214) => + fun (k : (slice_eq : @84 @2217 @1 @2217 @1) -> @168) => + @1 + (@176 + ((a._@._internal._hyg.#0 : @134) -> + (a._@._internal._hyg.#0 : @59) -> (a._@._internal._hyg.#0 : @59) -> @585) + @2))) + @2 + (@188 @2178 @85 @2 @1)) + @12 + @2 + @3 + @1 +@2256 := @208 @2135 (@2100 @2) @2101 +@2259 := (a._@._internal._hyg.#0 : @33) -> + (a._@._internal._hyg.#0 : @59) -> (a._@._internal._hyg.#0 : @59) -> @477 +@2264 := (slice_eq : @84 @2259 @3 @2259 @2) -> @33 +@2270 := {α : @0} -> + {P : @20} -> {slice : @2087} -> {slice' : @2099} -> (eq : @2256) -> (k : @2264) -> @33 +@2273 := LexLeanRuntime.Sliceable.noConfusion.{u} @33 @48 +@2274 := @2088 @48 +@2275 := @2274 @12 +@2277 := @2273 @2275 @48 +@2278 := @2274 @3 +@2293 := fun {α : @0} => + fun {P : @20} => + fun {slice : @2087} => + fun {slice' : @2099} => + fun (eq : @2256) => fun (k : @2264) => @227 (@2277 @2278 @239 (@241 @2192 @2275 @2278 @2) @1) +@2299 := fun {α : @0} => fun {motive : @2085} => fun (t : @2081) => fun (mk : @2103) => @2110 @1 @2 +@2301 := {α : @0} -> [self : @2084] -> @2087 +@2304 := fun (α : @0) => + fun [self : @2084] => proj LexLeanRuntime.Sliceable LexLeanRuntime.Sliceable.slice 0 @1 +@2305 := (t : @544) -> @20 +@2306 := (a._@._internal._hyg.#0 : @2) -> @538 +@2314 := {α : @0} -> + {motive : @2305} -> (mk : (toInt : @2306) -> @2 (@704 @3 @1)) -> (t : @617) -> @28 +@2315 := (a._@._internal._hyg.#0 : @3) -> @538 +@2316 := @704 @12 +@2317 := @2316 @1 +@2319 := (toInt : @2315) -> @3 @2317 +@2323 := {α : @0} -> {motive : @2305} -> (t : @541) -> (mk : @2319) -> @40 +@2326 := LexLeanRuntime.ToMathInt.rec.{u} @12 @3 +@2327 := (a._@._internal._hyg.#0 : @12) -> @538 +@2334 := fun {α : @0} => + fun {motive : @2305} => + fun (t : @541) => fun (mk : @2319) => @2326 (fun (toInt : @2327) => @51) @2 +@2336 := {α : @0} -> (x._@.LexLeanRuntime.Portable.#3229831968._hygCtx._hyg.#7 : @544) -> @59 +@2338 := fun {α : @0} => fun (x : @544) => @62 +@2342 := fun (α : @0) => fun (toInt : @539) => @704 @2 @1 +@2347 := (P : @20) -> {α : @0} -> (t : @544) -> {α' : @0} -> (t' : @544) -> @20 +@2348 := LexLeanRuntime.ToMathInt.casesOn.{u+1} +@2372 := fun (P : @20) => + fun {α : @0} => + fun (t : @544) => + fun {α' : @0} => + fun (t' : @544) => + @2348 + @12 + (fun (t : @652) => @20) + @3 + (fun (toInt : @2327) => + @2348 + @3 + (fun (t : @617) => @20) + @2 + (fun (toInt : @2315) => + (x._@.LexLeanRuntime.Portable.#3229831968._hygCtx._hyg.#8 : (toInt_eq : @84 + ((a._@._internal._hyg.#0 : @48) -> @538) + @2 + @2327 + @1) -> + @86) -> + @86)) +@2377 := @84 (@540 @33) @12 @617 @2 +@2378 := LexLeanRuntime.ToMathInt.noConfusionType.{u} +@2390 := {P : @20} -> + {α : @0} -> + {t : @544} -> + {α' : @0} -> {t' : @544} -> (eq_1 : @107) -> (eq_2 : @2377) -> @2378 @85 @48 @33 @12 @3 +@2394 := @84 @928 @85 @541 @1 +@2396 := @2378 @134 @136 +@2397 := @2396 @86 +@2403 := @128 (fun {α' : @0} => {t' : @544} -> (eq_2 : @2394) -> @2397 @3 @2) +@2404 := @540 @48 +@2405 := @540 @85 +@2409 := @84 @2405 @48 @2405 @1 +@2415 := @151 @928 @85 (fun {t' : @928} => @2397 @136 @1) +@2423 := LexLeanRuntime.ToMathInt.casesOn.{u} @86 (fun {t : @928} => @2396 @1 @136 @1) @85 +@2424 := (a._@._internal._hyg.#0 : @86) -> @538 +@2425 := (a._@._internal._hyg.#0 : @136) -> @538 +@2458 := fun {P : @20} => + fun {α : @0} => + fun {t : @544} => + fun {α' : @0} => + fun {t' : @544} => + fun (eq_1 : @107) => + fun (eq_2 : @2377) => + @2403 + (fun {t' : @2404} => + fun (eq_2 : @2409) => + @2415 + (@2423 + (fun (toInt : @2424) => + fun (k : (toInt_eq : @84 @2425 @1 @2425 @1) -> @168) => + @1 (@176 ((a._@._internal._hyg.#0 : @134) -> @538) @2))) + @2 + (@188 @928 @85 @2 @1)) + @12 + @2 + @3 + @1 +@2462 := @208 @652 (@2316 @2) @2317 +@2463 := (a._@._internal._hyg.#0 : @33) -> @538 +@2468 := (toInt_eq : @84 @2463 @3 @2463 @2) -> @33 +@2474 := {α : @0} -> + {P : @20} -> {toInt : @2306} -> {toInt' : @2315} -> (eq : @2462) -> (k : @2468) -> @33 +@2477 := LexLeanRuntime.ToMathInt.noConfusion.{u} @33 @48 +@2478 := @704 @48 +@2479 := @2478 @12 +@2481 := @2477 @2479 @48 +@2482 := @2478 @3 +@2497 := fun {α : @0} => + fun {P : @20} => + fun {toInt : @2306} => + fun {toInt' : @2315} => + fun (eq : @2462) => fun (k : @2468) => @227 (@2481 @2482 @239 (@241 @2404 @2479 @2482 @2) @1) +@2503 := fun {α : @0} => fun {motive : @2305} => fun (t : @541) => fun (mk : @2319) => @2326 @1 @2 +@2505 := {α : @0} -> [self : @544] -> @2306 +@2508 := fun (α : @0) => + fun [self : @544] => proj LexLeanRuntime.ToMathInt LexLeanRuntime.ToMathInt.toInt 0 @1 +@2510 := (left : @2) -> (right : @3) -> @12 +@2512 := {α : @0} -> [inst._@.LexLeanRuntime.Portable.#4042049376._hygCtx._hyg.#3 : @11] -> @2510 +@2521 := fun {α : @0} => + fun [inst._@.LexLeanRuntime.Portable.#4042049376._hygCtx._hyg.#3 : @11] => + fun (left : @2) => fun (right : @3) => LexLeanRuntime.Appendable.append @12 @3 @2 @1 +@2523 := {α : @0} -> [inst._@.LexLeanRuntime.Portable.#1734218043._hygCtx._hyg.#3 : @566] -> @2510 +@2532 := fun {α : @0} => + fun [inst._@.LexLeanRuntime.Portable.#1734218043._hygCtx._hyg.#3 : @566] => + fun (left : @2) => fun (right : @3) => LexLeanRuntime.Fixed.bitAnd @12 @3 @2 @1 +@2533 := (value : @2) -> @3 +@2535 := {α : @0} -> [inst._@.LexLeanRuntime.Portable.#3083787976._hygCtx._hyg.#3 : @566] -> @2533 +@2542 := fun {α : @0} => + fun [inst._@.LexLeanRuntime.Portable.#3083787976._hygCtx._hyg.#3 : @566] => + fun (value : @2) => LexLeanRuntime.Fixed.bitNot @3 @2 @1 +@2544 := {α : @0} -> [inst._@.LexLeanRuntime.Portable.#2068590770._hygCtx._hyg.#3 : @566] -> @2510 +@2553 := fun {α : @0} => + fun [inst._@.LexLeanRuntime.Portable.#2068590770._hygCtx._hyg.#3 : @566] => + fun (left : @2) => fun (right : @3) => LexLeanRuntime.Fixed.bitOr @12 @3 @2 @1 +@2555 := {α : @0} -> [inst._@.LexLeanRuntime.Portable.#489258206._hygCtx._hyg.#3 : @566] -> @2510 +@2564 := fun {α : @0} => + fun [inst._@.LexLeanRuntime.Portable.#489258206._hygCtx._hyg.#3 : @566] => + fun (left : @2) => fun (right : @3) => LexLeanRuntime.Fixed.bitXor @12 @3 @2 @1 +@2567 := {α : @0} -> + [inst._@.LexLeanRuntime.Portable.#3915936177._hygCtx._hyg.#3 : @566] -> (value : @538) -> @273 +@2568 := ite.{1} +@2569 := @2568 @273 +@2570 := LT.lt.{0} +@2573 := @2570 @538 Int.instLTInt +@2574 := @2573 @1 +@2577 := LexLeanRuntime.Fixed.minimum @3 @2 +@2579 := @2569 (@2574 @2577) +@2580 := Int.decLt +@2583 := @2579 (@2580 @1 @2577) +@2584 := Option.none.{0} +@2585 := @2584 @3 +@2586 := @2583 @2585 +@2589 := LexLeanRuntime.Fixed.maximum @3 @2 +@2596 := @2569 (@2573 @2589 @1) (@2580 @2589 @1) @2585 +@2597 := Option.some.{0} +@2608 := fun {α : @0} => + fun [inst._@.LexLeanRuntime.Portable.#3915936177._hygCtx._hyg.#3 : @566] => + fun (value : @538) => @2586 (@2596 (@2597 @3 (LexLeanRuntime.Fixed.fromInt @3 @2 @1))) +@2610 := (left : @2) -> (right : @3) -> @288 +@2612 := {α : @0} -> [inst._@.LexLeanRuntime.Portable.#385978793._hygCtx._hyg.#3 : @566] -> @2610 +@2613 := LexLeanRuntime.checkedFromInt +@2614 := @2613 @12 +@2615 := @2614 @3 +@2616 := HAdd.hAdd.{0, 0, 0} +@2619 := @2616 @538 @538 @538 +@2620 := instHAdd.{0} +@2624 := @2619 (@2620 @538 Int.instAdd) +@2625 := LexLeanRuntime.ToMathInt.toInt +@2626 := @2625 @12 +@2627 := LexLeanRuntime.Fixed.toToMathInt +@2630 := @2626 (@2627 @12 @3) +@2631 := @2630 @2 +@2632 := @2624 @2631 +@2633 := @2630 @1 +@2639 := fun {α : @0} => + fun [inst._@.LexLeanRuntime.Portable.#385978793._hygCtx._hyg.#3 : @566] => + fun (left : @2) => fun (right : @3) => @2615 (@2632 @2633) +@2640 := Int64 +@2641 := @262 @2640 +@2643 := (left : @2640) -> (right : @2640) -> @2641 +@2652 := @2616 @2640 @2640 @2640 (@2620 @2640 instAddInt64) @2 @1 +@2653 := @2568 @2641 +@2654 := @208 @1774 +@2655 := Bool.or +@2656 := Bool.and +@2657 := Decidable.decide +@2660 := @2570 @2640 instLTInt64 +@2661 := OfNat.ofNat.{0} +@2662 := @2661 @2640 +@2663 := @2662 @62 +@2664 := Int64.instOfNat +@2666 := @2663 (@2664 @62) +@2669 := @2657 (@2660 @2666 @2) +@2670 := Int64.decLt +@2674 := @2656 (@2669 (@2670 @2666 @2)) +@2675 := @2660 @1 +@2677 := @2657 (@2675 @3) +@2678 := @2670 @1 +@2680 := @2677 (@2678 @3) +@2682 := @2655 (@2674 @2680) +@2684 := @2660 @2 @2666 +@2685 := @2657 @2684 +@2687 := @2670 @2 @2666 +@2688 := @2685 @2687 +@2689 := @2656 @2688 +@2695 := @2657 (@2660 @3 @1) (@2670 @3 @1) +@2697 := @2682 (@2689 @2695) +@2698 := @2654 @2697 +@2699 := Bool.true +@2701 := @2653 (@2698 @2699) +@2702 := instDecidableEqBool +@2705 := @2701 (@2702 @2697 @2699) +@2706 := @2584 @2640 +@2707 := @2705 @2706 +@2708 := @2597 @2640 +@2709 := @2708 @1 +@2713 := fun (left : @2640) => fun (right : @2640) => have value : @2640 := @2652; @2707 @2709 +@2718 := {α : @0} -> + {β : @0} -> + [inst._@.LexLeanRuntime.Portable.#2373680332._hygCtx._hyg.#4 : @541] -> + [inst._@.LexLeanRuntime.Portable.#2373680332._hygCtx._hyg.#7 : @616] -> (value : @12) -> @288 +@2728 := fun {α : @0} => + fun {β : @0} => + fun [inst._@.LexLeanRuntime.Portable.#2373680332._hygCtx._hyg.#4 : @541] => + fun [inst._@.LexLeanRuntime.Portable.#2373680332._hygCtx._hyg.#7 : @616] => + fun (value : @12) => @2614 @2 (@2625 @33 @3 @1) +@2730 := {α : @0} -> [inst._@.LexLeanRuntime.Portable.#1613823734._hygCtx._hyg.#3 : @566] -> @2610 +@2731 := HMul.hMul.{0, 0, 0} +@2734 := @2731 @538 @538 @538 +@2735 := instHMul.{0} +@2746 := fun {α : @0} => + fun [inst._@.LexLeanRuntime.Portable.#1613823734._hygCtx._hyg.#3 : @566] => + fun (left : @2) => fun (right : @3) => @2615 (@2734 (@2735 @538 Int.instMul) @2631 @2633) +@2747 := UInt64 +@2748 := @262 @2747 +@2749 := Sort u_1 +@2750 := (x._@.LexLeanRuntime.Portable.#443906790._hygCtx._hyg.#37 : @2748) -> @2749 +@2751 := Unit +@2752 := @2584 @2747 +@2754 := ("_" : @2751) -> @3 @2752 +@2755 := @2597 @2747 +@2758 := (value : @2747) -> @12 (@2755 @1) +@2762 := (motive : @2750) -> + (x._@.LexLeanRuntime.Portable.#443906790._hygCtx._hyg.#37 : @2748) -> + (h_1 : @2754) -> (h_2 : @2758) -> @1817 +@2763 := Option.casesOn.{u_1, 0} +@2764 := @2763 @2747 +@2765 := @33 @1 +@2768 := @2764 (fun (x : @2748) => @2765) @3 +@2769 := Unit.unit +@2777 := fun (motive : @2750) => + fun (x._@.LexLeanRuntime.Portable.#443906790._hygCtx._hyg.#37 : @2748) => + fun (h_1 : @2754) => + fun (h_2 : @2758) => + @2768 (@2 @2769) (fun (val._@.LexLeanRuntime.Portable.#443906790._hygCtx._hyg.#55 : @2747) => @51) +@2778 := (value : @2640) -> @2747 +@2780 := Int64.toUInt64 @1 +@2781 := @2568 @2747 +@2783 := @2781 @2684 @2687 +@2784 := HSub.hSub.{0, 0, 0} +@2787 := @2784 @2747 @2747 @2747 +@2788 := instHSub.{0} +@2792 := @2787 (@2788 @2747 instSubUInt64) +@2793 := @2661 @2747 +@2794 := @2793 @62 +@2795 := UInt64.instOfNat +@2797 := @2794 (@2795 @62) +@2799 := @2792 @2797 @1 +@2803 := fun (value : @2640) => have bits : @2747 := @2780; @2783 @2799 @1 +@2808 := (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx.#14.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#57 : @59) -> + (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx.#15.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#60 : @2747) -> + (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx.#16.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#63 : @2747) -> + (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx.#17.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#66 : @2747) -> + (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx.#18.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#69 : @1774) -> + @2749 +@2809 := @2661 @59 +@2810 := @2809 @62 +@2811 := instOfNatNat +@2813 := @2810 (@2811 @62) +@2818 := @134 @2813 @12 @3 @2 @1 +@2822 := (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#85 : @2747) -> + (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#84 : @2747) -> + (accumulator : @2747) -> + (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#83 : @1774) -> @2818 +@2823 := Nat.succ +@2824 := @2823 @33 +@2829 := @177 @2824 @12 @3 @2 @1 +@2834 := (fuel : @59) -> + (source : @2747) -> (multiplicand : @2747) -> (accumulator : @2747) -> (negative : @1774) -> @2829 +@2839 := @86 @85 @48 @33 @12 @3 +@2847 := (motive : @2808) -> + (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx.#14.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#57 : @59) -> + (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx.#15.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#60 : @2747) -> + (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx.#16.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#63 : @2747) -> + (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx.#17.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#66 : @2747) -> + (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx.#18.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#69 : @1774) -> + (h_1 : @2822) -> (h_2 : @2834) -> @2839 +@2848 := Nat.casesOn.{u_1} +@2861 := @2848 (fun (x : @59) => @136 @1 @85 @48 @33 @12) @85 (@2 @48 @33 @12 @3) +@2865 := @51 @85 @48 @33 @12 +@2875 := fun (motive : @2808) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx.#14.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#57 : @59) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx.#15.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#60 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx.#16.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#63 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx.#17.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#66 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx.#18.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#69 : @1774) => + fun (h_1 : @2822) => + fun (h_2 : @2834) => + @2861 (fun (n._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#227 : @59) => @2865) +@2876 := Nat.below.{1} +@2880 := (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#15 : @2747) -> + (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#16 : @2747) -> + (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#17 : @2747) -> + (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#18 : @1774) -> @2748 +@2881 := fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#14 : @59) => @2880 +@2882 := @2876 @2881 +@2883 := @2882 @1 +@2885 := (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#14 : @59) -> (f : @2883) -> @2880 +@2886 := LexLeanRuntime.multiplyMagnitudeInt64.match_1.{1} +@2907 := @2886 + (fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx.#14.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#57 : @59) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx.#15.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#60 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx.#16.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#63 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx.#17.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#66 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx.#18.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#69 : @1774) => + (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#228 : @2882 @33) -> @2748) + @48 + @12 + @3 + @2 + @1 + (fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#85 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#84 : @2747) => + fun (accumulator : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#83 : @1774) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#228 : @2882 @2813) => @2755 @3) +@2908 := @2882 @2824 +@2909 := Sort 0 +@2910 := LE.le.{0} +@2913 := @2910 @2747 instLEUInt64 +@2914 := 9223372036854775808 +@2917 := @2793 @2914 (@2795 @2914) +@2918 := @2913 @2917 +@2919 := @2918 @33 +@2925 := @2781 (@2654 @3 @2699) (@2702 @3 @2699) +@2926 := @2925 @2917 +@2927 := 9223372036854775807 +@2930 := @2793 @2927 (@2795 @2927) +@2931 := @2926 @2930 +@2937 := @2781 (@2654 @12 @2699) (@2702 @12 @2699) +@2938 := 4611686018427387904 +@2941 := @2793 @2938 (@2795 @2938) +@2942 := @2937 @2941 +@2943 := 4611686018427387903 +@2946 := @2793 @2943 (@2795 @2943) +@2947 := @2942 @2946 +@2948 := @2568 @2748 +@2951 := @2570 @2747 instLTUInt64 +@2952 := @2951 @1 +@2954 := @2948 (@2952 @48) +@2955 := UInt64.decLt +@2956 := @2955 @1 +@2959 := @2954 (@2956 @48) @2752 +@2966 := @2616 @2747 @2747 @2747 (@2620 @2747 instAddUInt64) +@2968 := @2966 @48 @48 +@2969 := @2948 @12 +@2970 := UInt64.decLe +@2971 := @2970 @2917 +@2973 := @2969 (@2971 @136) +@2974 := @2951 @3 +@2976 := @2657 (@2974 @86) +@2977 := @2955 @3 +@2980 := @2655 (@2976 (@2977 @86)) +@2981 := @2792 @3 +@2982 := @2981 @86 +@2989 := @2980 (@2657 (@2951 @2982 @1) (@2955 @2982 @1)) +@2996 := @2948 (@2654 @2989 @2699) (@2702 @2989 @2699) @2752 +@2997 := proj PProd PProd.fst 0 @33 +@3001 := @2997 (@2966 @136 @136) @86 +@3002 := @2966 @1 +@3029 := fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#14 : @59) => + fun (f : @2883) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#15 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#16 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#17 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#18 : @1774) => + @2907 + (fun (fuel : @59) => + fun (source : @2747) => + fun (multiplicand : @2747) => + fun (accumulator : @2747) => + fun (negative : @1774) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#228 : @2908) => + let high : @2909 := @2919; + let limit : @2747 := @2931; + let halfLimit : @2747 := @2947; + @2959 (let doubled : @2747 := @2968; @2973 (@2996 (@3001 (@3002 @86) @48)) (@3001 @1 @48))) + @33 +@3034 := (a._@._internal._hyg.#0 : @59) -> + (a._@._internal._hyg.#0 : @2747) -> + (a._@._internal._hyg.#0 : @2747) -> + (a._@._internal._hyg.#0 : @2747) -> (a._@._internal._hyg.#0 : @1774) -> @2748 +@3035 := Nat.brecOn.{1} +@3048 := fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#14 : @59) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#15 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#16 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#17 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#18 : @1774) => + @3035 @2881 @33 LexLeanRuntime.multiplyMagnitudeInt64._f @12 @3 @2 @1 +@3059 := @2886 + (fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx.#14.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#57 : @59) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx.#15.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#60 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx.#16.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#63 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx.#17.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#66 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx.#18.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#69 : @1774) => + @2748) + @33 + @12 + @3 + @2 + @1 +@3060 := @2755 @2 +@3065 := @3059 + (fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#85 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#84 : @2747) => + fun (accumulator : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#83 : @1774) => @3060) +@3066 := @2918 @12 +@3072 := @2781 (@2654 @2 @2699) (@2702 @2 @2699) +@3074 := @3072 @2917 @2930 +@3076 := @2925 @2941 @2946 +@3081 := @2948 (@2952 @33) (@2956 @33) @2752 +@3083 := @2966 @33 @33 +@3085 := @2969 (@2971 @86) +@3090 := @2655 (@2657 (@2974 @85) (@2977 @85)) +@3091 := @2981 @85 +@3098 := @3090 (@2657 (@2951 @3091 @1) (@2955 @3091 @1)) +@3105 := @2948 (@2654 @3098 @2699) (@2702 @3098 @2699) @2752 +@3106 := LexLeanRuntime.multiplyMagnitudeInt64 +@3107 := @3106 @136 +@3109 := @2966 @86 @86 +@3111 := @3107 @3109 @85 +@3112 := @3002 @85 +@3119 := @3085 (@3105 (@3111 @3112 @33)) (@3111 @1 @33) +@3135 := fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#14 : @59) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#15 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#16 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#17 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#18 : @1774) => + @3065 + (fun (fuel : @59) => + fun (source : @2747) => + fun (multiplicand : @2747) => + fun (accumulator : @2747) => + fun (negative : @1774) => + let high : @2909 := @3066; + let limit : @2747 := @3074; + let halfLimit : @2747 := @3076; @3081 (let doubled : @2747 := @3083; @3119)) +@3137 := (negative : @1774) -> (value : @2747) -> @2640 +@3143 := fun (negative : @1774) => fun (value : @2747) => UInt64.toInt64 (@3072 @2799 @1) +@3145 := bne.{0} @1774 +@3146 := instBEqOfDecidableEq.{0} +@3155 := @3145 (@3146 @1774 @2702) @2688 (@2657 (@2675 @2666) (@2678 @2666)) +@3158 := LexLeanRuntime.checkedMultiplyInt64.match_1.{1} + (fun (x._@.LexLeanRuntime.Portable.#443906790._hygCtx._hyg.#37 : @2748) => @2641) +@3159 := 64 +@3162 := @2809 @3159 (@2811 @3159) +@3163 := @3106 @3162 +@3164 := LexLeanRuntime.magnitudeInt64 +@3165 := @3164 @2 +@3166 := @3163 @3165 +@3167 := @3164 @3 +@3173 := @3158 (@3166 @3167 @2797 @1) (fun ("_" : @2751) => @2706) +@3174 := LexLeanRuntime.signedMagnitudeInt64 +@3182 := fun (left : @2640) => + fun (right : @2640) => + have negative : @1774 := @3155; @3173 (fun (value : @2747) => @2708 (@3174 @2 @1)) +@3185 := {α : @0} -> + [inst._@.LexLeanRuntime.Portable.#3576376632._hygCtx._hyg.#3 : @566] -> (value : @2) -> @273 +@3187 := @2613 @3 @2 +@3188 := Neg.neg.{0} +@3191 := @3188 @538 Int.instNegInt +@3201 := fun {α : @0} => + fun [inst._@.LexLeanRuntime.Portable.#3576376632._hygCtx._hyg.#3 : @566] => + fun (value : @2) => @3187 (@3191 (@2625 @3 (@2627 @3 @2) @1)) +@3202 := (value : @2640) -> @2641 +@3203 := BEq.beq.{0} +@3208 := @3203 @2640 (@3146 @2640 instDecidableEqInt64) +@3209 := @3208 @1 +@3212 := @3188 @2640 Int64.instNeg +@3216 := @3212 (@2662 @2914 (@2664 @2914)) +@3217 := @3209 @3216 +@3228 := fun (value : @2640) => + @2653 (@2654 @3217 @2699) (@2702 @3217 @2699) @2706 (@2708 (@3212 @1)) +@3230 := {α : @0} -> [inst._@.LexLeanRuntime.Portable.#3368564382._hygCtx._hyg.#3 : @566] -> @2610 +@3231 := @2568 @288 +@3232 := @780 @2633 +@3233 := @2661 @538 +@3234 := @3233 @62 +@3235 := instOfNat +@3237 := @3234 (@3235 @62) +@3239 := @3231 (@3232 @3237) +@3240 := Int.instDecidableEq +@3243 := @3239 (@3240 @2633 @3237) +@3244 := @2584 @12 +@3245 := @3243 @3244 +@3246 := Int.tdiv +@3254 := fun {α : @0} => + fun [inst._@.LexLeanRuntime.Portable.#3368564382._hygCtx._hyg.#3 : @566] => + fun (left : @2) => fun (right : @3) => @3245 (@2615 (@3246 @2631 @2633)) +@3259 := (x._@.LexLeanRuntime.Portable.#957775566._hygCtx.#13.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#56 : @59) -> + (x._@.LexLeanRuntime.Portable.#957775566._hygCtx.#14.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#59 : @2747) -> + (x._@.LexLeanRuntime.Portable.#957775566._hygCtx.#15.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#62 : @2747) -> + (x._@.LexLeanRuntime.Portable.#957775566._hygCtx.#16.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#65 : @2747) -> + (x._@.LexLeanRuntime.Portable.#957775566._hygCtx.#17.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#68 : @2747) -> + @2749 +@3263 := (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#84 : @2747) -> + (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#83 : @2747) -> + (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#82 : @2747) -> (quotient : @2747) -> @2818 +@3268 := (fuel : @59) -> + (source : @2747) -> (divisor : @2747) -> (remainder : @2747) -> (quotient : @2747) -> @2829 +@3276 := (motive : @3259) -> + (x._@.LexLeanRuntime.Portable.#957775566._hygCtx.#13.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#56 : @59) -> + (x._@.LexLeanRuntime.Portable.#957775566._hygCtx.#14.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#59 : @2747) -> + (x._@.LexLeanRuntime.Portable.#957775566._hygCtx.#15.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#62 : @2747) -> + (x._@.LexLeanRuntime.Portable.#957775566._hygCtx.#16.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#65 : @2747) -> + (x._@.LexLeanRuntime.Portable.#957775566._hygCtx.#17.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#68 : @2747) -> + (h_1 : @3263) -> (h_2 : @3268) -> @2839 +@3286 := fun (motive : @3259) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx.#13.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#56 : @59) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx.#14.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#59 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx.#15.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#62 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx.#16.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#65 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx.#17.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#68 : @2747) => + fun (h_1 : @3263) => + fun (h_2 : @3268) => + @2861 (fun (n._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#190 : @59) => @2865) +@3290 := (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#14 : @2747) -> + (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#15 : @2747) -> + (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#16 : @2747) -> + (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#17 : @2747) -> @2747 +@3291 := fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#13 : @59) => @3290 +@3292 := @2876 @3291 +@3293 := @3292 @1 +@3295 := (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#13 : @59) -> (f : @3293) -> @3290 +@3296 := LexLeanRuntime.divideMagnitudeInt64.match_1.{1} +@3316 := @3296 + (fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx.#13.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#56 : @59) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx.#14.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#59 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx.#15.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#62 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx.#16.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#65 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx.#17.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#68 : @2747) => + (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#191 : @3292 @33) -> @2747) + @48 + @12 + @3 + @2 + @1 + (fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#84 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#83 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#82 : @2747) => + fun (quotient : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#191 : @3292 @2813) => @2) +@3317 := @3292 @2824 +@3318 := @2966 @3083 +@3319 := @2781 @2 +@3321 := @3319 (@2971 @85) +@3322 := 1 +@3325 := @2793 @3322 (@2795 @3322) +@3328 := @3318 (@3321 @3325 @2797) +@3334 := @2781 (@2913 @86 @2) (@2970 @86 @2) +@3336 := @2997 @3 @86 +@3337 := @2792 @2 +@3339 := @3336 (@3337 @86) +@3340 := @3002 @3325 +@3363 := fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#13 : @59) => + fun (f : @3293) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#14 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#15 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#16 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#17 : @2747) => + @3316 + (fun (fuel : @59) => + fun (source : @2747) => + fun (divisor : @2747) => + fun (remainder : @2747) => + fun (quotient : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#191 : @3317) => + let high : @2909 := @2919; + let source : @2747 := @2968; + let remainder : @2747 := @3328; + let quotient : @2747 := @3083; @3334 (@3339 @3340) (@3336 @2 @1)) + @33 +@3368 := (a._@._internal._hyg.#0 : @59) -> + (a._@._internal._hyg.#0 : @2747) -> + (a._@._internal._hyg.#0 : @2747) -> + (a._@._internal._hyg.#0 : @2747) -> (a._@._internal._hyg.#0 : @2747) -> @2747 +@3381 := fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#13 : @59) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#14 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#15 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#16 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#17 : @2747) => + @3035 @3291 @33 LexLeanRuntime.divideMagnitudeInt64._f @12 @3 @2 @1 +@3392 := @3296 + (fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx.#13.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#56 : @59) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx.#14.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#59 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx.#15.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#62 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx.#16.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#65 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx.#17.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#68 : @2747) => + @2747) + @33 + @12 + @3 + @2 + @1 +@3397 := @3392 + (fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#84 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#83 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#82 : @2747) => + fun (quotient : @2747) => @1) +@3399 := @2966 @12 @12 +@3405 := @2966 @3399 (@3319 (@2971 @48) @3325 @2797) +@3411 := @2781 (@2913 @85 @2) (@2970 @85 @2) +@3412 := LexLeanRuntime.divideMagnitudeInt64 +@3415 := @3412 @136 @3 @85 +@3416 := @3337 @85 +@3422 := @3411 (@3415 @3416 @3340) (@3415 @2 @1) +@3437 := fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#13 : @59) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#14 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#15 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#16 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#17 : @2747) => + @3397 + (fun (fuel : @59) => + fun (source : @2747) => + fun (divisor : @2747) => + fun (remainder : @2747) => + fun (quotient : @2747) => + let high : @2909 := @3066; + let source : @2747 := @3083; + let remainder : @2747 := @3405; let quotient : @2747 := @3399; @3422) +@3438 := @3209 @2666 +@3445 := @2653 (@2654 @3438 @2699) (@2702 @3438 @2699) @2706 +@3454 := @2656 (@3208 @2 @3216) (@3209 (@3212 (@2662 @3322 (@2664 @3322)))) +@3474 := fun (left : @2640) => + fun (right : @2640) => + @3445 + (@2653 + (@2654 @3454 @2699) + (@2702 @3454 @2699) + @2706 + (have negative : @1774 := @3155; @2708 (@3174 @1 (@3412 @3162 @3167 @3165 @2797 @2797)))) +@3476 := {α : @0} -> [inst._@.LexLeanRuntime.Portable.#3886186820._hygCtx._hyg.#3 : @566] -> @2610 +@3490 := fun {α : @0} => + fun [inst._@.LexLeanRuntime.Portable.#3886186820._hygCtx._hyg.#3 : @566] => + fun (left : @2) => + fun (right : @3) => @2615 (@2784 @538 @538 @538 (@2788 @538 Int.instSub) @2631 @2633) +@3499 := @2784 @2640 @2640 @2640 (@2788 @2640 instSubInt64) @2 @1 +@3503 := @2655 (@2674 @2695) (@2689 @2680) +@3514 := fun (left : @2640) => + fun (right : @2640) => + have value : @2640 := @3499; @2653 (@2654 @3503 @2699) (@2702 @3503 @2699) @2706 @2709 +@3515 := ByteArray +@3518 := (left : @3515) -> (right : @3515) -> Ordering +@3519 := Ord.compare.{0} +@3520 := List.{0} +@3521 := UInt8 +@3528 := @3519 (@3520 @3521) (List.instOrd.{0} @3521 UInt8.instOrd) +@3529 := ByteArray.toList +@3535 := fun (left : @3515) => fun (right : @3515) => @3528 (@3529 @2) (@3529 @1) +@3558 := fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#13 : @59) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#14 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#15 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#16 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#17 : @2747) => + annot [sunfoldMatch := bool true] + (@3392 + (fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#84 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#83 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#82 : @2747) => + fun (quotient : @2747) => annot [sunfoldMatchAlt := bool true] @1) + (fun (fuel : @59) => + fun (source : @2747) => + fun (divisor : @2747) => + fun (remainder : @2747) => + fun (quotient : @2747) => + annot [sunfoldMatchAlt := bool true] + (let high : @2909 := @3066; + have source : @2747 := @3083; + have remainder : @2747 := @3405; have quotient : @2747 := @3399; @3422))) +@3562 := LexLeanRuntime.divideMagnitudeInt64._unsafe_rec @136 @3 @85 +@3583 := fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#13 : @59) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#14 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#15 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#16 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#957775566._hygCtx._hyg.#17 : @2747) => + @3397 + (fun (fuel : @59) => + fun (source : @2747) => + fun (divisor : @2747) => + fun (remainder : @2747) => + fun (quotient : @2747) => + let high : @2909 := @3066; + let source : @2747 := @3083; + let remainder : @2747 := @3405; + let quotient : @2747 := @3399; @3411 (@3562 @3416 @3340) (@3562 @2 @1)) +@3585 := BEq.{0} @1 +@3589 := {α : @0} -> + [inst._@.LexLeanRuntime.Portable.#1212145906._hygCtx._hyg.#3 : @3585] -> + (left : @2) -> (right : @3) -> @1774 +@3597 := fun {α : @0} => + fun [inst._@.LexLeanRuntime.Portable.#1212145906._hygCtx._hyg.#3 : @3585] => + fun (left : @2) => fun (right : @3) => @3203 @12 @3 @2 @1 +@3600 := {α : @0} -> + [inst._@.LexLeanRuntime.Portable.#1293722453._hygCtx._hyg.#3 : @271] -> (value : @2) -> @261 +@3607 := fun {α : @0} => + fun [inst._@.LexLeanRuntime.Portable.#1293722453._hygCtx._hyg.#3 : @271] => + fun (value : @2) => LexLeanRuntime.Decimal.format @3 @2 @1 +@3612 := {α : @0} -> + {β : @0} -> + [inst._@.LexLeanRuntime.Portable.#3407831578._hygCtx._hyg.#4 : @1253] -> + (value : @3) -> (offset : @59) -> @288 +@3623 := fun {α : @0} => + fun {β : @0} => + fun [inst._@.LexLeanRuntime.Portable.#3407831578._hygCtx._hyg.#4 : @1253] => + fun (value : @3) => fun (offset : @59) => LexLeanRuntime.Indexable.index @33 @12 @3 @2 @1 +@3624 := @6 @3515 +@3627 := @22 @3515 ByteArray.append +@3628 := @3520 @1 +@3630 := {α : @0} -> @6 @3628 +@3635 := fun {α : @0} => @22 @3628 (List.append.{0} @1) +@3636 := @262 @538 +@3637 := (x._@.LexLeanRuntime.Portable.#1501779435._hygCtx._hyg.#13 : @3636) -> @2749 +@3639 := @2597 @538 @1 +@3641 := (parsed : @538) -> @3 @3639 +@3642 := @2584 @538 +@3644 := ("_" : @2751) -> @12 @3642 +@3648 := (motive : @3637) -> + (x._@.LexLeanRuntime.Portable.#1501779435._hygCtx._hyg.#13 : @3636) -> + (h_1 : @3641) -> (h_2 : @3644) -> @1817 +@3660 := fun (motive : @3637) => + fun (x._@.LexLeanRuntime.Portable.#1501779435._hygCtx._hyg.#13 : @3636) => + fun (h_1 : @3641) => + fun (h_2 : @3644) => + @2763 + @538 + (fun (x : @3636) => @2765) + @3 + (@1 @2769) + (fun (val._@.LexLeanRuntime.Portable.#1501779435._hygCtx._hyg.#40 : @538) => @28) +@3661 := @266 @538 +@3662 := @276 @538 +@3663 := LexLeanRuntime.instDecimalInt.match_1.{1} +@3665 := @3663 (fun (x._@.LexLeanRuntime.Portable.#1501779435._hygCtx._hyg.#13 : @3636) => @3636) +@3667 := String.toInt? @1 +@3668 := @3665 @3667 +@3669 := @2568 @3636 +@3670 := @208 @261 +@3671 := ToString.toString.{0} +@3674 := @3671 @538 instToStringInt +@3675 := @3674 @1 +@3677 := @3670 @3675 @2 +@3678 := @3669 @3677 +@3681 := instDecidableEqString @3675 @2 +@3691 := @3662 + (fun (value : @261) => + @3668 (fun (parsed : @538) => @3678 @3681 @3639 @3642) (fun ("_" : @2751) => @3642)) + @3674 +@3693 := ToString.{0} @2 +@3696 := {α : @0} -> + [inst._@.LexLeanRuntime.Portable.#3633157058._hygCtx._hyg.#3 : @566] -> + [inst._@.LexLeanRuntime.Portable.#3633157058._hygCtx._hyg.#6 : @3693] -> @267 +@3699 := @3663 + (fun (x._@.LexLeanRuntime.Portable.#3633157058._hygCtx._hyg.#20 : @3636) => @304) + @3667 +@3706 := @2568 @304 @3677 @3681 (@2613 @33 @12 @1) +@3707 := @2584 @33 +@3720 := fun {α : @0} => + fun [inst._@.LexLeanRuntime.Portable.#3633157058._hygCtx._hyg.#3 : @566] => + fun [inst._@.LexLeanRuntime.Portable.#3633157058._hygCtx._hyg.#6 : @3693] => + @325 + (fun (value : @261) => @3699 (fun (parsed : @538) => @3706 @3707) (fun ("_" : @2751) => @3707)) + (@3671 @3 @1) +@3721 := Int16 +@3722 := @553 @3721 +@3729 := @588 @3721 (@704 @3721 Int16.toInt) Int16.ofInt +@3730 := 32768 +@3735 := @3729 (@3191 (@3233 @3730 (@3235 @3730))) +@3736 := 32767 +@3748 := @3735 (@3233 @3736 (@3235 @3736)) Int16.land Int16.lor Int16.xor Int16.complement +@3750 := @2568 (@262 @3721) +@3753 := @2570 @59 instLTNat +@3754 := UInt32.toNat +@3755 := @3754 @1 +@3756 := @3753 @3755 +@3757 := 16 +@3760 := @2809 @3757 (@2811 @3757) +@3761 := @3756 @3760 +@3762 := @3750 @3761 +@3763 := Nat.decLt +@3764 := @3763 @3755 +@3765 := @3764 @3760 +@3766 := @3762 @3765 +@3767 := @2597 @3721 +@3769 := Int16.shiftLeft @2 +@3771 := Int16.ofNat @3755 +@3774 := @3766 (@3767 (@3769 @3771)) +@3775 := @2584 @3721 +@3788 := @3748 + (fun (value : @3721) => fun (amount : @548) => @3774 @3775) + (fun (value : @3721) => fun (amount : @548) => @3766 (@3767 (Int16.shiftRight @2 @3771)) @3775) +@3789 := Int32 +@3790 := @553 @3789 +@3797 := @588 @3789 (@704 @3789 Int32.toInt) Int32.ofInt +@3798 := 2147483648 +@3803 := @3797 (@3191 (@3233 @3798 (@3235 @3798))) +@3804 := 2147483647 +@3816 := @3803 (@3233 @3804 (@3235 @3804)) Int32.land Int32.lor Int32.xor Int32.complement +@3818 := @2568 (@262 @3789) +@3819 := 32 +@3822 := @2809 @3819 (@2811 @3819) +@3823 := @3756 @3822 +@3824 := @3818 @3823 +@3825 := @3764 @3822 +@3826 := @3824 @3825 +@3827 := @2597 @3789 +@3829 := Int32.shiftLeft @2 +@3831 := Int32.ofNat @3755 +@3834 := @3826 (@3827 (@3829 @3831)) +@3835 := @2584 @3789 +@3848 := @3816 + (fun (value : @3789) => fun (amount : @548) => @3834 @3835) + (fun (value : @3789) => fun (amount : @548) => @3826 (@3827 (Int32.shiftRight @2 @3831)) @3835) +@3849 := @553 @2640 +@3873 := @588 + @2640 + (@704 @2640 Int64.toInt) + Int64.ofInt + (@3191 (@3233 @2914 (@3235 @2914))) + (@3233 @2927 (@3235 @2927)) + Int64.land + Int64.lor + Int64.xor + Int64.complement +@3874 := @3756 @3162 +@3875 := @2653 @3874 +@3876 := @3764 @3162 +@3877 := @3875 @3876 +@3879 := Int64.shiftLeft @2 +@3881 := Int64.ofNat @3755 +@3897 := @3873 + (fun (value : @2640) => fun (amount : @548) => @3877 (@2708 (@3879 @3881)) @2706) + (fun (value : @2640) => fun (amount : @548) => @3877 (@2708 (Int64.shiftRight @2 @3881)) @2706) +@3898 := Int8 +@3899 := @553 @3898 +@3906 := @588 @3898 (@704 @3898 Int8.toInt) Int8.ofInt +@3907 := 128 +@3912 := @3906 (@3191 (@3233 @3907 (@3235 @3907))) +@3913 := 127 +@3925 := @3912 (@3233 @3913 (@3235 @3913)) Int8.land Int8.lor Int8.xor Int8.complement +@3927 := @2568 (@262 @3898) +@3928 := 8 +@3931 := @2809 @3928 (@2811 @3928) +@3932 := @3756 @3931 +@3933 := @3927 @3932 +@3934 := @3764 @3931 +@3935 := @3933 @3934 +@3936 := @2597 @3898 +@3938 := Int8.shiftLeft @2 +@3940 := Int8.ofNat @3755 +@3943 := @3935 (@3936 (@3938 @3940)) +@3944 := @2584 @3898 +@3957 := @3925 + (fun (value : @3898) => fun (amount : @548) => @3943 @3944) + (fun (value : @3898) => fun (amount : @548) => @3935 (@3936 (Int8.shiftRight @2 @3940)) @3944) +@3958 := UInt16 +@3959 := @553 @3958 +@3960 := @588 @3958 +@3961 := @704 @3958 +@3962 := Int.ofNat +@3971 := @3960 (@3961 (fun (value : @3958) => @3962 (UInt16.toNat @1))) UInt16.ofInt @3237 +@3972 := 65535 +@3984 := @3971 (@3233 @3972 (@3235 @3972)) UInt16.land UInt16.lor UInt16.xor UInt16.complement +@3988 := @2568 (@262 @3958) @3761 @3765 +@3989 := @2597 @3958 +@3991 := UInt16.shiftLeft @2 +@3993 := UInt16.ofNat @3755 +@3996 := @3988 (@3989 (@3991 @3993)) +@3997 := @2584 @3958 +@4010 := @3984 + (fun (value : @3958) => fun (amount : @548) => @3996 @3997) + (fun (value : @3958) => fun (amount : @548) => @3988 (@3989 (UInt16.shiftRight @2 @3993)) @3997) +@4011 := @553 @548 +@4020 := @588 @548 (@704 @548 (fun (value : @548) => @3962 @3755)) UInt32.ofInt @3237 +@4021 := 4294967295 +@4033 := @4020 (@3233 @4021 (@3235 @4021)) UInt32.land UInt32.lor UInt32.xor UInt32.complement +@4037 := @2568 (@262 @548) @3823 @3825 +@4038 := @2597 @548 +@4043 := @4037 (@4038 (UInt32.shiftLeft @2 @1)) +@4044 := @2584 @548 +@4057 := @4033 + (fun (value : @548) => fun (amount : @548) => @4043 @4044) + (fun (value : @548) => fun (amount : @548) => @4037 (@4038 (UInt32.shiftRight @2 @1)) @4044) +@4058 := @553 @2747 +@4069 := @588 @2747 (@704 @2747 (fun (value : @2747) => @3962 (UInt64.toNat @1))) UInt64.ofInt @3237 +@4070 := 18446744073709551615 +@4082 := @4069 (@3233 @4070 (@3235 @4070)) UInt64.land UInt64.lor UInt64.xor UInt64.complement +@4084 := @2948 @3874 @3876 +@4086 := UInt64.shiftLeft @2 +@4088 := UInt64.ofNat @3755 +@4104 := @4082 + (fun (value : @2747) => fun (amount : @548) => @4084 (@2755 (@4086 @4088)) @2752) + (fun (value : @2747) => fun (amount : @548) => @4084 (@2755 (UInt64.shiftRight @2 @4088)) @2752) +@4105 := @553 @3521 +@4116 := @588 @3521 (@704 @3521 (fun (value : @3521) => @3962 (UInt8.toNat @1))) UInt8.ofInt @3237 +@4117 := 255 +@4129 := @4116 (@3233 @4117 (@3235 @4117)) UInt8.land UInt8.lor UInt8.xor UInt8.complement +@4133 := @2568 (@262 @3521) @3932 @3934 +@4134 := @2597 @3521 +@4136 := UInt8.shiftLeft @2 +@4138 := UInt8.ofNat @3755 +@4141 := @4133 (@4134 (@4136 @4138)) +@4142 := @2584 @3521 +@4155 := @4129 + (fun (value : @3521) => fun (amount : @548) => @4141 @4142) + (fun (value : @3521) => fun (amount : @548) => @4133 (@4134 (UInt8.shiftRight @2 @4138)) @4142) +@4157 := @1244 @3515 @3521 +@4159 := @1257 @3515 @3521 +@4160 := GetElem?.getElem?.{0, 0, 0} +@4162 := Array.{0} @3521 +@4183 := @4159 + (fun (value : @3515) => + fun (offset : @59) => + @4160 + @4162 + @59 + @3521 + (fun (xs : @4162) => fun (i : @59) => @3753 @1 (Array.size.{0} @3521 @2)) + (Array.instGetElem?NatLtSize.{0} @3521) + (ByteArray.data @2) + @1) +@4185 := (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx.#10.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#29 : @3628) -> + (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx.#11.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#32 : @59) -> + @2749 +@4186 := @3520 @2 +@4188 := List.nil.{0} @33 +@4191 := (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#43 : @59) -> @12 @4188 @1 +@4192 := @3520 @48 +@4193 := List.cons.{0} +@4194 := @4193 @85 +@4200 := (head : @33) -> + (tail._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#57 : @4192) -> @48 (@4194 @2 @1) @2813 +@4201 := @3520 @85 +@4210 := (head._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#76 : @48) -> + (tail : @4201) -> (index : @59) -> @86 (@4193 @136 @3 @2) (@2823 @1) +@4219 := {α : @0} -> + (motive : @4185) -> + (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx.#10.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#29 : @4186) -> + (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx.#11.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#32 : @59) -> + (h_1 : @4191) -> (h_2 : @4200) -> (h_3 : @4210) -> @48 @33 @12 +@4252 := fun {α : @0} => + fun (motive : @4185) => + fun (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx.#10.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#29 : @4186) => + fun (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx.#11.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#32 : @59) => + fun (h_1 : @4191) => + fun (h_2 : @4200) => + fun (h_3 : @4210) => + List.casesOn.{u_1, 0} + @85 + (fun (x : @4201) => @85 @1 @33) + @33 + (@3 @12) + (fun (head._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#88 : @85) => + fun (tail._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#89 : @3520 @86) => + @2848 + (fun (x : @59) => @136 (@4193 @134 @3 @2) @1) + @48 + (@12 @2 @1) + (fun (n._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#90 : @59) => @1819)) +@4253 := List.below.{1, 0} +@4254 := @4253 @2 +@4255 := (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#11 : @59) -> @288 +@4258 := @4254 (fun (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#10 : @4186) => @4255) @1 +@4261 := {α : @0} -> + (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#10 : @3628) -> (f : @4258) -> @4255 +@4262 := LexLeanRuntime.listIndex.match_1.{1} +@4263 := @4262 @12 +@4264 := @3520 @12 +@4268 := @4253 + @48 + (fun (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#10 : @4192) => + (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#11 : @59) -> @477) +@4275 := @4263 + (fun (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx.#10.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#29 : @4264) => + fun (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx.#11.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#32 : @59) => + (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#91 : @4268 @2) -> @346) + @3 + @1 +@4276 := @4253 @33 +@4277 := @3520 @33 +@4314 := fun {α : @0} => + fun (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#10 : @3628) => + fun (f : @4258) => + fun (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#11 : @59) => + @4275 + (fun (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#43 : @59) => + fun (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#91 : @4276 + (fun (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#10 : @4277) => + (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#11 : @59) -> @346) + @4188) => + @2584 @48) + (fun (head : @12) => + fun (tail._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#57 : @4277) => + fun (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#91 : @4268 (@4193 @48 @2 @1)) => + @2597 @85 @3) + (fun (head._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#76 : @12) => + fun (tail : @4277) => + fun (index : @59) => + fun (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#91 : @4253 + @85 + (fun (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#10 : @4201) => + (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#11 : @59) -> @342) + (@4194 @3 @2)) => + (proj PProd PProd.fst 0 @1) @2) + @2 +@4316 := {α : @0} -> (a._@._internal._hyg.#0 : @3628) -> @1242 +@4318 := List.brecOn.{1, 0} @3 +@4319 := @3520 @3 +@4330 := fun {α : @0} => + fun (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#10 : @3628) => + fun (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#11 : @59) => + @4318 + (fun (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#10 : @4319) => + (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#11 : @59) -> @304) + @2 + (LexLeanRuntime.listIndex._f @3) + @1 +@4336 := @4262 + @3 + (fun (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx.#10.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#29 : @4319) => + fun (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx.#11.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#32 : @59) => + @304) + @2 + @1 +@4338 := @4336 (fun (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#43 : @59) => @3244) +@4340 := @2597 @33 @2 +@4343 := @4338 + (fun (head : @3) => + fun (tail._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#57 : @4264) => @4340) +@4344 := LexLeanRuntime.listIndex +@4347 := @4344 @48 @2 @1 +@4354 := fun {α : @0} => + fun (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#10 : @3628) => + fun (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#11 : @59) => + @4343 + (fun (head._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#76 : @3) => + fun (tail : @4264) => fun (index : @59) => @4347) +@4357 := {α : @0} -> @1244 @3628 @1 +@4362 := fun {α : @0} => @1257 @3628 @1 (@4344 @1) +@4363 := @1561 @3515 +@4364 := @1568 @3515 +@4365 := ByteArray.size +@4366 := @4364 @4365 +@4368 := {α : @0} -> @1561 @3628 +@4369 := @1568 @3628 +@4370 := List.length.{0} +@4373 := fun {α : @0} => @4369 (@4370 @1) +@4374 := @1561 @261 +@4377 := @1568 @261 String.length +@4378 := @1776 @538 +@4390 := @1785 @538 @3246 Int.tmod (fun (value : @538) => @3203 @538 (@3146 @538 @3240) @1 @3237) +@4391 := @1776 @59 +@4405 := @1785 + @59 + Nat.div + Nat.mod + (fun (value : @59) => @3203 @59 (@3146 @59 instDecidableEqNat) @1 @2813) +@4406 := @2080 @3515 +@4407 := @2088 @3515 +@4409 := @2568 (@262 @3515) +@4412 := @2910 @59 instLENat +@4421 := @2616 @59 @59 @59 (@2620 @59 instAddNat) @2 @1 +@4422 := @4412 @4421 +@4423 := @4365 @3 +@4425 := @4409 (@4422 @4423) +@4427 := Nat.decLe @4421 +@4442 := @4407 + (fun (value : @3515) => + fun (start : @59) => + fun (count : @59) => + @4425 (@4427 @4423) (@2597 @3515 (ByteArray.extract @3 @2 @4421)) (@2584 @3515)) +@4444 := {α : @0} -> @2080 @3628 +@4445 := @2088 @3628 +@4447 := @2568 (@262 @4264) +@4449 := @4370 @12 @3 +@4471 := fun {α : @0} => + @4445 + (fun (value : @3628) => + fun (start : @59) => + fun (count : @59) => + @4447 + (@4422 @4449) + (@4427 @4449) + (@2597 @4264 (List.take.{0} @12 @1 (List.drop.{0} @12 @2 @3))) + (@2584 @4264)) +@4472 := @540 @538 +@4475 := @704 @538 (fun (value : @538) => @1) +@4476 := @3520 @261 +@4478 := (values : @4476) -> (delimiter : @261) -> @261 +@4483 := fun (values : @4476) => fun (delimiter : @261) => String.intercalate @1 @2 +@4486 := {α : @0} -> + [inst._@.LexLeanRuntime.Portable.#210037673._hygCtx._hyg.#3 : @1565] -> (value : @2) -> @59 +@4493 := fun {α : @0} => + fun [inst._@.LexLeanRuntime.Portable.#210037673._hygCtx._hyg.#3 : @1565] => + fun (value : @2) => LexLeanRuntime.Lengthable.length @3 @2 @1 +@4509 := fun {α : @0} => + fun (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#10 : @3628) => + fun (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#11 : @59) => + annot [sunfoldMatch := bool true] + (@4336 + (fun (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#43 : @59) => + annot [sunfoldMatchAlt := bool true] @3244) + (fun (head : @3) => + fun (tail._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#57 : @4264) => + annot [sunfoldMatchAlt := bool true] @4340) + (fun (head._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#76 : @3) => + fun (tail : @4264) => fun (index : @59) => annot [sunfoldMatchAlt := bool true] @4347)) +@4520 := fun {α : @0} => + fun (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#10 : @3628) => + fun (x._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#11 : @59) => + @4343 + (fun (head._@.LexLeanRuntime.Portable.#2784266133._hygCtx._hyg.#76 : @3) => + fun (tail : @4264) => fun (index : @59) => LexLeanRuntime.listIndex._unsafe_rec @48 @2 @1) +@4522 := Mul.{0} @1 +@4524 := {α : @0} -> [inst._@.LexLeanRuntime.Portable.#2570481935._hygCtx._hyg.#3 : @4522] -> @2510 +@4536 := fun {α : @0} => + fun [inst._@.LexLeanRuntime.Portable.#2570481935._hygCtx._hyg.#3 : @4522] => + fun (left : @2) => fun (right : @3) => @2731 @12 @12 @12 (@2735 @12 @3) @2 @1 +@4560 := fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#14 : @59) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#15 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#16 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#17 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#18 : @1774) => + annot [sunfoldMatch := bool true] + (@3059 + (fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#85 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#84 : @2747) => + fun (accumulator : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#83 : @1774) => + annot [sunfoldMatchAlt := bool true] @3060) + (fun (fuel : @59) => + fun (source : @2747) => + fun (multiplicand : @2747) => + fun (accumulator : @2747) => + fun (negative : @1774) => + annot [sunfoldMatchAlt := bool true] + (let high : @2909 := @3066; + have limit : @2747 := @3074; + have halfLimit : @2747 := @3076; @3081 (have doubled : @2747 := @3083; @3119)))) +@4564 := LexLeanRuntime.multiplyMagnitudeInt64._unsafe_rec @136 @3109 @85 +@4587 := fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#14 : @59) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#15 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#16 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#17 : @2747) => + fun (x._@.LexLeanRuntime.Portable.#3599286266._hygCtx._hyg.#18 : @1774) => + @3065 + (fun (fuel : @59) => + fun (source : @2747) => + fun (multiplicand : @2747) => + fun (accumulator : @2747) => + fun (negative : @1774) => + let high : @2909 := @3066; + let limit : @2747 := @3074; + let halfLimit : @2747 := @3076; + @3081 (let doubled : @2747 := @3083; @3085 (@3105 (@4564 @3112 @33)) (@4564 @1 @33))) +@4589 := Neg.{0} @1 +@4591 := {α : @0} -> [inst._@.LexLeanRuntime.Portable.#778658725._hygCtx._hyg.#3 : @4589] -> @2533 +@4597 := fun {α : @0} => + fun [inst._@.LexLeanRuntime.Portable.#778658725._hygCtx._hyg.#3 : @4589] => + fun (value : @2) => @3188 @3 @2 @1 +@4600 := {α : @0} -> + [inst._@.LexLeanRuntime.Portable.#3035123439._hygCtx._hyg.#3 : @271] -> (value : @261) -> @273 +@4607 := fun {α : @0} => + fun [inst._@.LexLeanRuntime.Portable.#3035123439._hygCtx._hyg.#3 : @271] => + fun (value : @261) => LexLeanRuntime.Decimal.parse @3 @2 @1 +@4610 := (left : @2) -> (right : @3) -> (zeroCase : @12) -> @33 +@4612 := {α : @0} -> [inst._@.LexLeanRuntime.Portable.#2403509443._hygCtx._hyg.#3 : @1782] -> @4610 +@4613 := @2568 @33 +@4617 := LexLeanRuntime.Quotient.isZero @33 @12 @2 +@4624 := @4613 (@2654 @4617 @2699) (@2702 @4617 @2699) @1 +@4635 := fun {α : @0} => + fun [inst._@.LexLeanRuntime.Portable.#2403509443._hygCtx._hyg.#3 : @1782] => + fun (left : @2) => + fun (right : @3) => fun (zeroCase : @12) => @4624 (LexLeanRuntime.Quotient.quotient @33 @12 @3 @2) +@4637 := {α : @0} -> [inst._@.LexLeanRuntime.Portable.#2801245371._hygCtx._hyg.#3 : @1782] -> @4610 +@4648 := fun {α : @0} => + fun [inst._@.LexLeanRuntime.Portable.#2801245371._hygCtx._hyg.#3 : @1782] => + fun (left : @2) => + fun (right : @3) => + fun (zeroCase : @12) => @4624 (LexLeanRuntime.Quotient.remainder @33 @12 @3 @2) +@4650 := (value : @2) -> (amount : @548) -> @288 +@4652 := {α : @0} -> [inst._@.LexLeanRuntime.Portable.#2402918556._hygCtx._hyg.#3 : @566] -> @4650 +@4661 := fun {α : @0} => + fun [inst._@.LexLeanRuntime.Portable.#2402918556._hygCtx._hyg.#3 : @566] => + fun (value : @2) => fun (amount : @548) => LexLeanRuntime.Fixed.shiftLeft @12 @3 @2 @1 +@4663 := {α : @0} -> [inst._@.LexLeanRuntime.Portable.#825848865._hygCtx._hyg.#3 : @566] -> @4650 +@4672 := fun {α : @0} => + fun [inst._@.LexLeanRuntime.Portable.#825848865._hygCtx._hyg.#3 : @566] => + fun (value : @2) => fun (amount : @548) => LexLeanRuntime.Fixed.shiftRight @12 @3 @2 @1 +@4677 := {α : @0} -> + [inst._@.LexLeanRuntime.Portable.#2537723928._hygCtx._hyg.#3 : @2084] -> + (value : @2) -> (start : @59) -> (count : @59) -> @304 +@4688 := fun {α : @0} => + fun [inst._@.LexLeanRuntime.Portable.#2537723928._hygCtx._hyg.#3 : @2084] => + fun (value : @2) => + fun (start : @59) => fun (count : @59) => LexLeanRuntime.Sliceable.slice @33 @12 @3 @2 @1 +@4689 := @262 @4476 +@4692 := (value : @261) -> (delimiter : @261) -> (maximum : @548) -> @4689 +@4695 := String.splitOn @3 @2 +@4696 := @2568 @4689 +@4699 := @2655 (String.isEmpty @3) +@4700 := @3754 @2 +@4701 := @3753 @4700 +@4703 := @4370 @261 @1 +@4709 := @4699 (@2657 (@4701 @4703) (@3763 @4700 @4703)) +@4724 := fun (value : @261) => + fun (delimiter : @261) => + fun (maximum : @548) => + have fields : @4476 := @4695; + @4696 (@2654 @4709 @2699) (@2702 @4709 @2699) (@2584 @4476) (@2597 @4476 @1) +@4726 := Sub.{0} @1 +@4728 := {α : @0} -> [inst._@.LexLeanRuntime.Portable.#739024333._hygCtx._hyg.#3 : @4726] -> @2510 +@4740 := fun {α : @0} => + fun [inst._@.LexLeanRuntime.Portable.#739024333._hygCtx._hyg.#3 : @4726] => + fun (left : @2) => fun (right : @3) => @2784 @12 @12 @12 (@2788 @12 @3) @2 @1 +@4742 := (value : @3515) -> @262 @261 +@4745 := fun (value : @3515) => String.fromUTF8? @1 +@4746 := (value : @261) -> @3515 +@4749 := fun (value : @261) => String.toUTF8 @1 +\end{coremodule} +\end{lexlean} diff --git a/language/runtime-1.2/library/src/Reasoning.lex.tex b/language/runtime-1.2/library/src/Reasoning.lex.tex new file mode 100644 index 000000000..c044c23a7 --- /dev/null +++ b/language/runtime-1.2/library/src/Reasoning.lex.tex @@ -0,0 +1,3573 @@ +\begin{lexlean}{Reasoning} +\useglossary{lexlean.std.nat@1.2.0} +\useglossary{runtime.titles@1.0.0} +\importmodule{Portable} +\importmodule{Collections} +\title{Runtime reasoning lemmas} +\begin{coremodule} +imports [Init, LexLeanRuntime.Portable, LexLeanRuntime.Collections] + +constructor LexLeanReasoning.All.cons : @28 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +constructor LexLeanReasoning.All.nil : @35 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +inductive LexLeanReasoning.All : @39 { + all: [LexLeanReasoning.All], + class: false, + compiled: true, + generated: false, + inductive: { + constructors: [LexLeanReasoning.All.nil, LexLeanReasoning.All.cons], + num_indices: 1, + num_params: 2 + }, + policy: exact{axioms: []}, + transparency: semireducible +} +constructor LexLeanReasoning.All.below.cons : @82 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +constructor LexLeanReasoning.All.below.nil : @94 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +inductive LexLeanReasoning.All.below : @102 { + all: [LexLeanReasoning.All.below], + class: false, + compiled: true, + generated: false, + inductive: { + constructors: [LexLeanReasoning.All.below.nil, LexLeanReasoning.All.below.cons], + num_indices: 2, + num_params: 3 + }, + policy: exact{axioms: []}, + transparency: semireducible +} +recursor LexLeanReasoning.All.below.rec : @184 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +abbrev LexLeanReasoning.All.below.casesOn : @252 := @299 { + all: [LexLeanReasoning.All.below.casesOn], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [aux_recursor], + transparency: reducible +} +recursor LexLeanReasoning.All.rec : @327 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem LexLeanReasoning.All.brecOn : @340 := @385 { + all: [LexLeanReasoning.All.brecOn], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +abbrev LexLeanReasoning.All.casesOn : @414 := @441 { + all: [LexLeanReasoning.All.casesOn], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [aux_recursor], + transparency: reducible +} +abbrev LexLeanReasoning.All.recOn : @466 := @476 { + all: [LexLeanReasoning.All.recOn], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [protected, aux_recursor], + transparency: reducible +} +definition LexLeanReasoning.Complete : @485 := @500 { + all: [LexLeanReasoning.Complete], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +abbrev LexLeanReasoning.Found.match_1.{u_1} : @530 := @549 { + all: [LexLeanReasoning.Found.match_1], + class: false, + generated: false, + inline: inline, + matcher: { + alts: [{fields: 0, overlaps: 0, unit_thunk: true}, {fields: 1, overlaps: 0, unit_thunk: false}], + discrs: [[]], + num_discrs: 1, + num_params: 2, + overlaps: [], + u_elim_pos: 0 + }, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: implicit-reducible +} +definition LexLeanReasoning.Found : @560 := @596 { + all: [LexLeanReasoning.Found], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanReasoning.Preserves : @600 := @607 { + all: [LexLeanReasoning.Preserves], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +constructor LexLeanReasoning.Star.refl : @615 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +constructor LexLeanReasoning.Star.tail : @630 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +inductive LexLeanReasoning.Star : @633 { + all: [LexLeanReasoning.Star], + class: false, + compiled: true, + generated: false, + inductive: { + constructors: [LexLeanReasoning.Star.refl, LexLeanReasoning.Star.tail], + num_indices: 1, + num_params: 3 + }, + policy: exact{axioms: []}, + transparency: semireducible +} +definition LexLeanReasoning.Reaches : @641 := @660 { + all: [LexLeanReasoning.Reaches], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +definition LexLeanReasoning.SearchOk : @666 := @682 { + all: [LexLeanReasoning.SearchOk], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 2}, + transparency: semireducible +} +definition LexLeanReasoning.Sound : @485 := @692 { + all: [LexLeanReasoning.Sound], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: regular{height: 1}, + transparency: semireducible +} +constructor LexLeanReasoning.Star.below.refl : @713 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +constructor LexLeanReasoning.Star.below.tail : @748 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +inductive LexLeanReasoning.Star.below : @755 { + all: [LexLeanReasoning.Star.below], + class: false, + compiled: true, + generated: false, + inductive: { + constructors: [LexLeanReasoning.Star.below.refl, LexLeanReasoning.Star.below.tail], + num_indices: 2, + num_params: 4 + }, + policy: exact{axioms: []}, + transparency: semireducible +} +recursor LexLeanReasoning.Star.below.rec : @829 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +abbrev LexLeanReasoning.Star.below.casesOn : @896 := @939 { + all: [LexLeanReasoning.Star.below.casesOn], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [aux_recursor], + transparency: reducible +} +recursor LexLeanReasoning.Star.rec : @964 { + class: false, + generated: true, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem LexLeanReasoning.Star.brecOn : @976 := @1024 { + all: [LexLeanReasoning.Star.brecOn], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +abbrev LexLeanReasoning.Star.casesOn : @1049 := @1078 { + all: [LexLeanReasoning.Star.casesOn], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [aux_recursor], + transparency: reducible +} +abbrev LexLeanReasoning.Star.recOn : @1099 := @1110 { + all: [LexLeanReasoning.Star.recOn], + class: false, + generated: false, + policy: exact{axioms: []}, + reducibility: abbrev{}, + tags: [protected, aux_recursor], + transparency: reducible +} +theorem LexLeanReasoning.allAppend : @1125 := @1430 { + all: [LexLeanReasoning.allAppend], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem LexLeanReasoning.allFold : @1458 := @1753 { + all: [LexLeanReasoning.allFold], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem LexLeanReasoning.allHead : @1762 := @1943 { + all: [LexLeanReasoning.allHead], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem LexLeanReasoning.allSingle : @1949 := @1959 { + all: [LexLeanReasoning.allSingle], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem LexLeanReasoning.allTail : @1964 := @2026 { + all: [LexLeanReasoning.allTail], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem LexLeanReasoning.bltSucc : @2059 := @2066 { + all: [LexLeanReasoning.bltSucc], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem LexLeanReasoning.capAll : @2102 := @2214 { + all: [LexLeanReasoning.capAll], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem LexLeanReasoning.foldInvariant : @2233 := @2271 { + all: [LexLeanReasoning.foldInvariant], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem LexLeanReasoning.lengthSnoc : @2293 := @2360 { + all: [LexLeanReasoning.lengthSnoc], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem LexLeanReasoning.capBound : @2389 := @2542 { + all: [LexLeanReasoning.capBound], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem LexLeanReasoning.checked : @2571 := @2882 { + all: [LexLeanReasoning.checked], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem LexLeanReasoning.foldSnoc : @2898 := @2951 { + all: [LexLeanReasoning.foldSnoc], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem LexLeanReasoning.freshAll : @3021 := @3159 { + all: [LexLeanReasoning.freshAll], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem LexLeanReasoning.guarded : @3181 := @3455 { + all: [LexLeanReasoning.guarded], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem LexLeanReasoning.guardedRank : @3473 := @3570 { + all: [LexLeanReasoning.guardedRank], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +abbrev _private.LexLeanRuntime.Reasoning.#0.LexLeanReasoning.iterateUntilInvariant.match_1_1.{u_1} : @3583 := @3595 { + all: ["_private.LexLeanRuntime.Reasoning.#0.LexLeanReasoning.iterateUntilInvariant.match_1_1"], + class: false, + generated: false, + inline: inline, + matcher: { + alts: [{fields: 0, overlaps: 0, unit_thunk: true}, {fields: 1, overlaps: 0, unit_thunk: false}], + discrs: [[]], + num_discrs: 1, + num_params: 1, + overlaps: [], + u_elim_pos: 0 + }, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: semireducible +} +theorem LexLeanReasoning.iterateUntilInvariant : @3618 := @3784 { + all: [LexLeanReasoning.iterateUntilInvariant], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem LexLeanReasoning.iterateUntilBound : @3808 := @3821 { + all: [LexLeanReasoning.iterateUntilBound], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +abbrev _private.LexLeanRuntime.Reasoning.#0.LexLeanReasoning.iterateUntilCount.match_1_1.{u_1} : @3825 := @3832 { + all: ["_private.LexLeanRuntime.Reasoning.#0.LexLeanReasoning.iterateUntilCount.match_1_1"], + class: false, + generated: false, + inline: inline, + matcher: { + alts: [{fields: 0, overlaps: 0, unit_thunk: true}, {fields: 1, overlaps: 0, unit_thunk: false}], + discrs: [[]], + num_discrs: 1, + num_params: 1, + overlaps: [], + u_elim_pos: 0 + }, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: semireducible +} +theorem LexLeanReasoning.iterateUntilCount : @3854 := @4186 { + all: [LexLeanReasoning.iterateUntilCount], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +abbrev _private.LexLeanRuntime.Reasoning.#0.LexLeanReasoning.iterateUntilGrowth.match_1_1.{u_1} : @4190 := @4197 { + all: ["_private.LexLeanRuntime.Reasoning.#0.LexLeanReasoning.iterateUntilGrowth.match_1_1"], + class: false, + generated: false, + inline: inline, + matcher: { + alts: [{fields: 0, overlaps: 0, unit_thunk: true}, {fields: 1, overlaps: 0, unit_thunk: false}], + discrs: [[]], + num_discrs: 1, + num_params: 1, + overlaps: [], + u_elim_pos: 0 + }, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: semireducible +} +theorem LexLeanReasoning.iterateUntilGrowth : @4206 := @4293 { + all: [LexLeanReasoning.iterateUntilGrowth], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +abbrev _private.LexLeanRuntime.Reasoning.#0.LexLeanReasoning.iterateUntilSimulate.match_1_1.{u_1} : @4297 := @4304 { + all: ["_private.LexLeanRuntime.Reasoning.#0.LexLeanReasoning.iterateUntilSimulate.match_1_1"], + class: false, + generated: false, + inline: inline, + matcher: { + alts: [{fields: 0, overlaps: 0, unit_thunk: true}, {fields: 1, overlaps: 0, unit_thunk: false}], + discrs: [[]], + num_discrs: 1, + num_params: 1, + overlaps: [], + u_elim_pos: 0 + }, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: semireducible +} +theorem LexLeanReasoning.iterateUntilSimulate : @4353 := @4786 { + all: [LexLeanReasoning.iterateUntilSimulate], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +abbrev _private.LexLeanRuntime.Reasoning.#0.LexLeanReasoning.iterateUntilStops.match_1_1.{u_1} : @4790 := @4797 { + all: ["_private.LexLeanRuntime.Reasoning.#0.LexLeanReasoning.iterateUntilStops.match_1_1"], + class: false, + generated: false, + inline: inline, + matcher: { + alts: [{fields: 0, overlaps: 0, unit_thunk: true}, {fields: 1, overlaps: 0, unit_thunk: false}], + discrs: [[]], + num_discrs: 1, + num_params: 1, + overlaps: [], + u_elim_pos: 0 + }, + policy: exact{axioms: []}, + reducibility: abbrev{}, + transparency: semireducible +} +theorem LexLeanReasoning.iterateUntilStops : @4819 := @5003 { + all: [LexLeanReasoning.iterateUntilStops], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem LexLeanReasoning.noneSome : @5013 := @5066 { + all: [LexLeanReasoning.noneSome], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem LexLeanReasoning.peakBound : @5087 := @5139 { + all: [LexLeanReasoning.peakBound], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem LexLeanReasoning.reachesStart : @5152 := @5299 { + all: [LexLeanReasoning.reachesStart], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem LexLeanReasoning.searchStart : @5315 := @5327 { + all: [LexLeanReasoning.searchStart], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem LexLeanReasoning.starPreserves : @5341 := @5375 { + all: [LexLeanReasoning.starPreserves], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} +theorem LexLeanReasoning.zeroLe : @5378 := @5380 { + all: [LexLeanReasoning.zeroLe], + class: false, + generated: false, + policy: exact{axioms: []}, + transparency: semireducible +} + +@0 := Sort 1 +@1 := #0 +@2 := Sort 0 +@3 := (a._@._internal._hyg.#0 : @1) -> @2 +@4 := #1 +@5 := List.{0} +@6 := #2 +@7 := @5 @6 +@8 := @6 @4 +@9 := LexLeanReasoning.All +@10 := #4 +@11 := @9 @10 +@12 := #3 +@13 := @11 @12 +@14 := @13 @4 +@15 := #5 +@16 := @9 @15 +@17 := @16 @10 +@18 := List.cons.{0} +@19 := @18 @15 +@20 := @19 @12 +@21 := @20 @6 +@22 := @17 @21 +@28 := {α : @0} -> + {p : @3} -> + (a : @4) -> (rest : @7) -> (a._@._internal._hyg.#0 : @8) -> (a._@._internal._hyg.#0 : @14) -> @22 +@30 := @9 @4 @1 +@31 := List.nil.{0} +@35 := {α : @0} -> {p : @3} -> @30 (@31 @4) +@36 := @5 @4 +@39 := {α : @0} -> (p : @3) -> (a._@._internal._hyg.#0 : @36) -> @2 +@44 := (a._@._internal._hyg.#0 : @36) -> (t : @9 @6 @4 @1) -> @2 +@45 := @5 @12 +@46 := @12 @4 +@47 := @17 @4 +@48 := LexLeanReasoning.All.below +@49 := #6 +@52 := @48 @49 @15 @10 +@54 := @52 @6 @1 +@56 := @15 @12 @4 +@57 := #8 +@58 := @48 @57 +@59 := #7 +@61 := @58 @59 @49 +@62 := @18 @57 +@64 := @62 @15 @10 +@65 := @61 @64 +@66 := LexLeanReasoning.All.cons +@68 := @66 @57 @59 +@82 := {α : @0} -> + {p : @3} -> + {motive : @44} -> + (a : @6) -> + (rest : @45) -> + (a._@._internal._hyg.#0 : @46) -> + (a._@._internal._hyg.#0 : @47) -> + (ih._@.LexLeanRuntime.Reasoning.#535816874._hygCtx._hyg.#34 : @54) -> + (a_ih._@._internal._hyg.#0 : @56) -> @65 (@68 @15 @10 @12 @6) +@85 := @48 @6 @4 @1 +@86 := @31 @6 +@87 := @85 @86 +@88 := LexLeanReasoning.All.nil +@90 := @88 @6 @4 +@94 := {α : @0} -> {p : @3} -> {motive : @44} -> @87 @90 +@96 := @9 @12 @6 +@97 := @96 @1 +@102 := {α : @0} -> {p : @3} -> {motive : @44} -> {a._@._internal._hyg.#0 : @7} -> (t : @97) -> @2 +@110 := {a._@._internal._hyg.#0 : @7} -> (t : @97) -> (t : @48 @10 @12 @6 @4 @1) -> @2 +@111 := @31 @12 +@112 := @1 @111 +@114 := @88 @12 @6 +@115 := @112 @114 +@116 := LexLeanReasoning.All.below.nil +@120 := @115 (@116 @12 @6 @4) +@121 := @5 @15 +@122 := @15 @4 +@123 := @9 @59 +@124 := @123 @49 +@125 := @124 @4 +@127 := @61 @6 @1 +@128 := @59 @12 +@129 := @128 @4 +@130 := @59 @10 +@131 := @130 @6 +@132 := @131 @4 +@133 := #11 +@134 := @18 @133 +@137 := @57 (@134 @49 @15) +@138 := @66 @133 +@139 := #10 +@145 := @137 (@138 @139 @49 @15 @10 @12) +@146 := LexLeanReasoning.All.below.cons +@148 := @146 @133 @139 +@149 := #9 +@164 := (a : @10) -> + (rest : @121) -> + (a._@._internal._hyg.#0 : @122) -> + (a._@._internal._hyg.#0 : @125) -> + (ih._@.LexLeanRuntime.Reasoning.#535816874._hygCtx._hyg.#34 : @127) -> + (a_ih._@._internal._hyg.#0 : @129) -> + (ih_ih._@.LexLeanRuntime.Reasoning.#535816874._hygCtx._hyg.#34 : @132) -> + @145 (@148 @149 @49 @15 @10 @12 @6 @4) +@165 := @9 @49 +@166 := @165 @15 +@167 := @166 @1 +@172 := @48 @59 @49 @15 @4 @1 +@173 := @15 @6 +@174 := @173 @4 +@175 := @174 @1 +@184 := {α : @0} -> + {p : @3} -> + {motive : @44} -> + {motive : @110} -> + (nil : @120) -> + (cons : @164) -> {a._@._internal._hyg.#0 : @121} -> {t : @167} -> (t : @172) -> @175 +@185 := @13 @1 +@188 := @48 @15 @10 @12 +@190 := @188 @4 @1 +@191 := @31 @49 +@199 := @12 @191 (@88 @49 @15) (@116 @49 @15 @10) +@200 := @5 @57 +@201 := @57 @4 +@202 := @9 @139 +@203 := @202 @149 +@204 := @203 @4 +@209 := @48 @133 @139 @149 @6 @1 +@210 := @139 @12 +@211 := @210 @4 +@212 := #13 +@213 := @18 @212 +@216 := @139 (@213 @15 @10) +@217 := @66 @212 +@218 := #12 +@219 := @217 @218 +@240 := (a : @59) -> + (rest : @200) -> + (a._@._internal._hyg.#0 : @201) -> + (a._@._internal._hyg.#0 : @204) -> + (ih._@.LexLeanRuntime.Reasoning.#535816874._hygCtx._hyg.#34 : @209) -> + (a_ih._@._internal._hyg.#0 : @211) -> + @216 (@219 @15 @10 @12 @6) (@146 @212 @218 @133 @15 @10 @12 @6 @4 @1) +@241 := @15 @10 +@243 := @241 @12 @6 +@252 := {α : @0} -> + {p : @3} -> + {motive : @44} -> + {motive : @110} -> + {a._@._internal._hyg.#0 : @45} -> + {t : @185} -> (t : @190) -> (nil : @199) -> (cons : @240) -> @243 +@258 := LexLeanReasoning.All.below.rec @57 @59 @49 @15 @4 +@259 := @5 @149 +@260 := proof(@149 @4) +@261 := proof(@9 @133) +@262 := proof(@261 @139) +@263 := proof(@262 @4) +@268 := @48 @218 @133 @139 @6 @1 +@269 := proof(@133 @12) +@270 := @269 @4 +@271 := proof(@133 @10) +@272 := @271 @6 +@273 := @272 @4 +@274 := proof(@59 @49) +@279 := @274 @15 @10 @12 @6 @4 +@299 := fun {α : @0} => + fun {p : @3} => + fun {motive : @44} => + fun {motive : @110} => + fun {a._@._internal._hyg.#0 : @45} => + fun {t : @185} => + fun (t : @190) => + fun (nil : @199) => + fun (cons : @240) => + @258 + (fun (a : @57) => + fun (rest : @259) => + fun (a._@._internal._hyg.#0 : @260) => + fun (a._@._internal._hyg.#0 : @263) => + fun (ih._@.LexLeanRuntime.Reasoning.#535816874._hygCtx._hyg.#34 : @268) => + fun (a_ih._@._internal._hyg.#0 : @270) => + fun (ih_ih._@.LexLeanRuntime.Reasoning.#535816874._hygCtx._hyg.#34 : @273) => @279) + @10 + @12 + @6 +@301 := @1 @86 @90 +@302 := @5 @10 +@303 := @10 @4 +@304 := @166 @4 +@305 := @173 @1 +@306 := @62 @10 +@318 := (a : @12) -> + (rest : @302) -> + (a._@._internal._hyg.#0 : @303) -> + (a._@._internal._hyg.#0 : @304) -> + (a_ih._@._internal._hyg.#0 : @305) -> @49 (@306 @12) (@68 @10 @12 @6 @4) +@319 := @17 @1 +@320 := @303 @1 +@327 := {α : @0} -> + {p : @3} -> + {motive : @44} -> + (nil : @301) -> (cons : @318) -> {a._@._internal._hyg.#0 : @302} -> (t : @319) -> @320 +@332 := (a._@._internal._hyg.#0 : @302) -> + (t : @319) -> (x._@.LexLeanRuntime.Reasoning.#535816874._hygCtx._hyg.#35 : @52 @4 @1) -> @174 +@333 := @12 @6 +@334 := @333 @4 +@340 := {α : @0} -> + {p : @3} -> {motive : @44} -> {a._@._internal._hyg.#0 : @7} -> (t : @97) -> (F_1 : @332) -> @334 +@341 := @1 @6 +@342 := proof(@341 @4) +@343 := proof(LexLeanReasoning.All.rec) +@350 := proof(proof(proof(proof(@343 @15) @10) @188) proof(proof(proof(@116 @15) @10) @12)) +@351 := @5 @49 +@352 := @49 @4 +@353 := @9 @57 +@354 := @353 @59 +@355 := @354 @4 +@385 := proof(fun {α : @0} => + proof(fun {p : @3} => + proof(fun {motive : @44} => + proof(fun {a._@._internal._hyg.#0 : @7} => + proof(fun (t : @97) => + proof(fun (F_1 : @332) => + proof(@342 + proof(proof(proof(@350 + proof(fun (a : @15) => + proof(fun (rest : @351) => + proof(fun (a._@._internal._hyg.#0 : @352) => + proof(fun (a._@._internal._hyg.#0 : @355) => + proof(fun (ih._@.LexLeanRuntime.Reasoning.#535816874._hygCtx._hyg.#36 : proof(proof(proof(proof(proof(@48 + @149) + @57) + @59) + @6) + @1)) => + proof(proof(proof(proof(proof(proof(proof(proof(proof(@146 @139) + @149) + @57) + @10) + @12) + @6) + @4) + @1) + proof(@56 @1)))))))) + @6) + @4)))))))) +@386 := @31 @10 +@387 := @6 @386 +@389 := @88 @10 @12 +@390 := @387 @389 +@391 := @18 @149 +@392 := @391 @12 +@393 := @392 @6 +@394 := @59 @393 +@396 := @66 @149 @57 +@405 := (a : @15) -> + (rest : @351) -> + (a._@._internal._hyg.#0 : @352) -> (a._@._internal._hyg.#0 : @355) -> @394 (@396 @12 @6 @4 @1) +@406 := @10 @12 +@407 := @406 @6 +@414 := {α : @0} -> + {p : @3} -> + {motive : @44} -> + {a._@._internal._hyg.#0 : @7} -> (t : @97) -> (nil : @390) -> (cons : @405) -> @407 +@418 := @343 @49 @15 @10 @4 +@419 := @5 @59 +@420 := proof(@59 @4) +@421 := proof(@9 @149) +@422 := proof(@421 @57) +@423 := @422 @4 +@424 := @57 @6 +@425 := @424 @1 +@426 := @243 @4 +@441 := fun {α : @0} => + fun {p : @3} => + fun {motive : @44} => + fun {a._@._internal._hyg.#0 : @7} => + fun (t : @97) => + fun (nil : @390) => + fun (cons : @405) => + @418 + (fun (a : @49) => + fun (rest : @419) => + fun (a._@._internal._hyg.#0 : @420) => + fun (a._@._internal._hyg.#0 : @423) => fun (a_ih._@._internal._hyg.#0 : @425) => @426) + @12 + @6 +@442 := @59 @6 +@443 := @442 @1 +@444 := @18 @139 +@445 := @444 @10 +@459 := (a : @15) -> + (rest : @351) -> + (a._@._internal._hyg.#0 : @352) -> + (a._@._internal._hyg.#0 : @355) -> + (a_ih._@._internal._hyg.#0 : @443) -> @57 (@445 @12) (@66 @139 @149 @10 @12 @6 @4) +@466 := {α : @0} -> + {p : @3} -> + {motive : @44} -> + {a._@._internal._hyg.#0 : @7} -> (t : @97) -> (nil : @390) -> (cons : @459) -> @407 +@476 := fun {α : @0} => + fun {p : @3} => + fun {motive : @44} => + fun {a._@._internal._hyg.#0 : @7} => + fun (t : @97) => fun (nil : @390) => fun (cons : @459) => @418 @1 @12 @6 +@477 := Bool +@479 := (a._@._internal._hyg.#0 : @4) -> (a._@._internal._hyg.#0 : @4) -> @477 +@480 := (a._@._internal._hyg.#0 : @6) -> @2 +@481 := (a._@._internal._hyg.#0 : @6) -> @480 +@485 := {α : @0} -> {β : @0} -> (v : @479) -> (p : @481) -> @2 +@486 := @8 @1 +@487 := Eq.{1} +@488 := @487 @477 +@489 := @10 @6 +@490 := @489 @4 +@491 := @488 @490 +@492 := Bool.true +@500 := fun {α : @0} => + fun {β : @0} => + fun (v : @479) => + fun (p : @481) => (a : @12) -> (b : @12) -> (a._@._internal._hyg.#0 : @486) -> @491 @492 +@501 := Option.{0} +@502 := Prod.{0, 0} +@505 := @501 (@502 @1 @4) +@506 := Sort u_1 +@507 := (x._@.LexLeanRuntime.Reasoning.#1762552604._hygCtx.#19.LexLeanRuntime.Reasoning.#1762552604._hygCtx._hyg.#30 : @505) -> + @506 +@510 := @501 (@502 @4 @6) +@511 := Unit +@512 := Option.none.{0} +@514 := @502 @12 @10 +@517 := ("_" : @511) -> @6 (@512 @514) +@518 := Option.some.{0} +@520 := @502 @10 @15 +@524 := (hit : @514) -> @12 (@518 @520 @1) +@530 := {ν : @0} -> + {ρ : @0} -> + (motive : @507) -> + (x._@.LexLeanRuntime.Reasoning.#1762552604._hygCtx.#19.LexLeanRuntime.Reasoning.#1762552604._hygCtx._hyg.#30 : @510) -> + (h_1 : @517) -> (h_2 : @524) -> @333 +@531 := Option.casesOn.{u_1, 0} +@532 := @531 @520 +@533 := @501 @520 +@534 := @10 @1 +@537 := @532 (fun (x : @533) => @534) @6 +@539 := @4 Unit.unit +@540 := @537 @539 +@541 := @4 @1 +@549 := fun {ν : @0} => + fun {ρ : @0} => + fun (motive : @507) => + fun (x._@.LexLeanRuntime.Reasoning.#1762552604._hygCtx.#19.LexLeanRuntime.Reasoning.#1762552604._hygCtx._hyg.#30 : @510) => + fun (h_1 : @517) => + fun (h_2 : @524) => + @540 (fun (val._@.LexLeanRuntime.Reasoning.#1762552604._hygCtx._hyg.#56 : @520) => @541) +@550 := (a._@._internal._hyg.#0 : @4) -> @2 +@551 := @501 @6 +@552 := (a._@._internal._hyg.#0 : @6) -> @551 +@555 := @501 (@502 @6 @12) +@560 := {ν : @0} -> + {ρ : @0} -> (ok : @550) -> (accept : @552) -> (a._@._internal._hyg.#0 : @555) -> @2 +@563 := LexLeanReasoning.Found.match_1.{1} @10 @12 +@564 := @501 @514 +@570 := @563 + (fun (x._@.LexLeanRuntime.Reasoning.#1762552604._hygCtx.#19.LexLeanRuntime.Reasoning.#1762552604._hygCtx._hyg.#30 : @564) => + @2) + @1 + (fun ("_" : @511) => True) +@571 := And +@572 := Prod.snd.{0, 0} +@575 := @572 @10 @15 @1 +@577 := @571 (@12 @575) +@578 := @501 @10 +@579 := @487 @578 +@581 := @579 (@6 @575) +@582 := @518 @10 +@583 := Prod.fst.{0, 0} +@596 := fun {ν : @0} => + fun {ρ : @0} => + fun (ok : @550) => + fun (accept : @552) => + fun (x._@.LexLeanRuntime.Reasoning.#1762552604._hygCtx._hyg.#19 : @555) => + @570 (fun (hit : @514) => @577 (@581 (@582 (@583 @10 @15 @1)))) +@597 := (a._@._internal._hyg.#0 : @1) -> @550 +@600 := {σ : @0} -> (r : @597) -> (j : @550) -> @2 +@607 := fun {σ : @0} => + fun (r : @597) => + fun (j : @550) => + (s : @6) -> (t : @12) -> (a._@._internal._hyg.#0 : @8) -> (a._@._internal._hyg.#0 : @490) -> @489 +@608 := LexLeanReasoning.Star +@615 := {σ : @0} -> {r : @597} -> (a : @4) -> @608 @6 @4 @1 @1 +@618 := @608 @10 @12 @6 +@619 := @618 @4 +@620 := @608 @49 +@622 := @620 @15 @10 +@630 := {σ : @0} -> + {r : @597} -> + (a : @4) -> + (b : @6) -> + (c : @12) -> (a._@._internal._hyg.#0 : @619) -> (a._@._internal._hyg.#0 : @490) -> @622 @6 +@631 := (a._@._internal._hyg.#0 : @4) -> @480 +@633 := {σ : @0} -> (r : @597) -> @631 +@634 := Except.{0, 0} +@636 := @634 @6 @12 +@641 := {σ : @0} -> {ε : @0} -> (r : @631) -> (a : @6) -> (acc : @636) -> @2 +@643 := proof(proof(@634 @10) @15) +@644 := proof(@487 @643) +@645 := @644 @4 +@646 := Except.ok.{0, 0} +@648 := proof(proof(@646 @10) @15) +@660 := fun {σ : @0} => + fun {ε : @0} => + fun (r : @631) => + fun (a : @6) => + fun (acc : @636) => (s : @10) -> (a._@._internal._hyg.#0 : @645 (@648 @1)) -> @620 @10 @12 @4 +@666 := {ν : @0} -> + {ρ : @0} -> (ok : @550) -> (accept : @552) -> (frontier : @45) -> (found : @564) -> @2 +@668 := proof(proof(@16 @12) @4) +@669 := @571 @668 +@674 := proof(proof(proof(proof(proof(LexLeanReasoning.Found) @15) @10) @12) @6) +@682 := fun {ν : @0} => + fun {ρ : @0} => + fun (ok : @550) => + fun (accept : @552) => fun (frontier : @45) => fun (found : @564) => @669 (@674 @1) +@692 := fun {α : @0} => + fun {β : @0} => + fun (v : @479) => + fun (p : @481) => (a : @12) -> (b : @12) -> (a._@._internal._hyg.#0 : @488 (@46 @1) @492) -> @334 +@698 := (a._@._internal._hyg.#0 : @6) -> (t : @608 @12 @6 @4 @1) -> @2 +@699 := LexLeanReasoning.Star.below +@704 := @699 @12 @6 @4 @1 @4 +@705 := LexLeanReasoning.Star.refl +@708 := @705 @12 @6 @4 +@713 := {σ : @0} -> {r : @597} -> {a._@._internal._hyg.#0 : @4} -> {motive : @698} -> @704 @708 +@715 := @608 @15 @10 +@716 := @715 @12 +@717 := @716 @4 +@721 := @699 @59 @49 @15 @10 +@723 := @721 @12 @4 +@724 := @241 @6 +@728 := @699 @149 @57 @59 @49 +@729 := @728 @10 +@730 := LexLeanReasoning.Star.tail +@733 := @730 @149 @57 @59 +@748 := {σ : @0} -> + {r : @597} -> + {a._@._internal._hyg.#0 : @4} -> + {motive : @698} -> + (b : @12) -> + (c : @10) -> + (a._@._internal._hyg.#0 : @717) -> + (a._@._internal._hyg.#0 : @174) -> + (ih._@.LexLeanRuntime.Reasoning.#483971103._hygCtx._hyg.#34 : @723) -> + (a_ih._@._internal._hyg.#0 : @724) -> @729 (@733 @15 @10 @12 @6) +@749 := @618 @1 +@755 := {σ : @0} -> + {r : @597} -> + {a._@._internal._hyg.#0 : @4} -> + {motive : @698} -> {a._@._internal._hyg.#0 : @12} -> (t : @749) -> @2 +@764 := {a._@._internal._hyg.#0 : @12} -> (t : @749) -> (t : @699 @15 @10 @12 @6 @4 @1) -> @2 +@768 := @341 (@705 @10 @12 @6) +@769 := LexLeanReasoning.Star.below.refl +@774 := @768 (@769 @10 @12 @6 @4) +@775 := @608 @59 +@776 := @775 @49 +@777 := @776 @15 +@778 := @777 @4 +@779 := @442 @4 +@781 := @728 @12 @4 +@784 := @59 @15 @12 @4 +@785 := @57 @15 +@793 := @785 (@730 @218 @133 @139 @49 @15 @10 @12) +@794 := LexLeanReasoning.Star.below.tail +@829 := {σ : @0} -> + {r : @597} -> + {a._@._internal._hyg.#0 : @4} -> + {motive : @698} -> + {motive : @764} -> + (refl : @774) -> + (tail : (b : @15) -> + (c : @49) -> + (a._@._internal._hyg.#0 : @778) -> + (a._@._internal._hyg.#0 : @779) -> + (ih._@.LexLeanRuntime.Reasoning.#483971103._hygCtx._hyg.#34 : @781) -> + (a_ih._@._internal._hyg.#0 : @131) -> + (ih_ih._@.LexLeanRuntime.Reasoning.#483971103._hygCtx._hyg.#34 : @784) -> + @793 (@794 @218 @133 @139 @149 @49 @15 @10 @12 @6 @4)) -> + {a._@._internal._hyg.#0 : @49} -> {t : @777 @1} -> (t : @699 @57 @59 @49 @15 @4 @1) -> @175 +@830 := @716 @1 +@834 := @699 @49 @15 @10 @12 +@836 := @834 @4 @1 +@846 := @12 @15 (@705 @59 @49 @15) (@769 @59 @49 @15 @10) +@847 := @608 @139 +@850 := @847 @149 @57 @4 +@851 := @139 @6 +@852 := @851 @4 +@858 := @699 @218 @133 @139 @149 @12 @4 +@859 := @139 @10 +@860 := @859 @6 +@861 := #14 +@886 := (b : @57) -> + (c : @149) -> + (a._@._internal._hyg.#0 : @850) -> + (a._@._internal._hyg.#0 : @852) -> + (ih._@.LexLeanRuntime.Reasoning.#483971103._hygCtx._hyg.#34 : @858) -> + (a_ih._@._internal._hyg.#0 : @860) -> + @859 (@730 @861 @212 @218 @15 @10 @12 @6) (@794 @861 @212 @218 @133 @15 @10 @12 @6 @4 @1) +@896 := {σ : @0} -> + {r : @597} -> + {a._@._internal._hyg.#0 : @4} -> + {motive : @698} -> + {motive : @764} -> + {a._@._internal._hyg.#0 : @10} -> + {t : @830} -> (t : @836) -> (refl : @846) -> (tail : @886) -> @243 +@903 := LexLeanReasoning.Star.below.rec @149 @57 @59 @49 @15 @4 +@907 := @608 @133 @139 @149 @4 +@908 := proof(@133 @6) +@909 := @908 @4 +@915 := @699 @212 @218 @133 @139 @12 @4 +@916 := proof(@133 @15) +@939 := fun {σ : @0} => + fun {r : @597} => + fun {a._@._internal._hyg.#0 : @4} => + fun {motive : @698} => + fun {motive : @764} => + fun {a._@._internal._hyg.#0 : @10} => + fun {t : @830} => + fun (t : @836) => + fun (refl : @846) => + fun (tail : @886) => + @903 + (fun (b : @149) => + fun (c : @139) => + fun (a._@._internal._hyg.#0 : @907) => + fun (a._@._internal._hyg.#0 : @909) => + fun (ih._@.LexLeanRuntime.Reasoning.#483971103._hygCtx._hyg.#34 : @915) => + fun (a_ih._@._internal._hyg.#0 : @272) => + fun (ih_ih._@.LexLeanRuntime.Reasoning.#483971103._hygCtx._hyg.#34 : @916 @12 @4) => @279) + @10 + @12 + @6 +@941 := @1 @4 @708 +@942 := @622 @4 +@943 := @49 @6 +@944 := @943 @4 +@945 := @49 @12 +@955 := (b : @10) -> + (c : @15) -> + (a._@._internal._hyg.#0 : @942) -> + (a._@._internal._hyg.#0 : @944) -> (a_ih._@._internal._hyg.#0 : @56) -> @945 (@733 @10 @12 @6 @4) +@956 := @622 @1 +@964 := {σ : @0} -> + {r : @597} -> + {a._@._internal._hyg.#0 : @4} -> + {motive : @698} -> + (refl : @941) -> (tail : @955) -> {a._@._internal._hyg.#0 : @15} -> (t : @956) -> @320 +@969 := (a._@._internal._hyg.#0 : @15) -> + (t : @956) -> (x._@.LexLeanRuntime.Reasoning.#483971103._hygCtx._hyg.#35 : @721 @4 @1) -> @174 +@976 := {σ : @0} -> + {r : @597} -> + {a._@._internal._hyg.#0 : @4} -> + {motive : @698} -> {a._@._internal._hyg.#0 : @12} -> (t : @749) -> (F_1 : @969) -> @334 +@977 := proof(LexLeanReasoning.Star.rec) +@979 := proof(proof(@977 @49) @15) +@986 := proof(proof(proof(@979 @10) @834) proof(proof(proof(proof(@769 @49) @15) @10) @12)) +@988 := @608 @57 @59 +@990 := @988 @49 @4 +@991 := @424 @4 +@1024 := proof(fun {σ : @0} => + proof(fun {r : @597} => + proof(fun {a._@._internal._hyg.#0 : @4} => + proof(fun {motive : @698} => + proof(fun {a._@._internal._hyg.#0 : @12} => + proof(fun (t : @749) => + proof(fun (F_1 : @969) => + proof(@342 + proof(proof(proof(@986 + proof(fun (b : @49) => + proof(fun (c : @59) => + proof(fun (a._@._internal._hyg.#0 : @990) => + proof(fun (a._@._internal._hyg.#0 : @991) => + proof(fun (ih._@.LexLeanRuntime.Reasoning.#483971103._hygCtx._hyg.#36 : proof(proof(proof(proof(proof(proof(@699 + @139) + @149) + @57) + @59) + @12) + @4)) => + proof(proof(proof(proof(proof(proof(proof(proof(proof(proof(@794 + @133) + @139) + @149) + @57) + @10) + @12) + @6) + @4) + @1) + proof(@724 @1)))))))) + @6) + @4))))))))) +@1029 := @6 @12 (@705 @15 @10 @12) +@1041 := (b : @49) -> + (c : @59) -> + (a._@._internal._hyg.#0 : @990) -> + (a._@._internal._hyg.#0 : @991) -> @442 (@730 @139 @149 @57 @12 @6 @4 @1) +@1049 := {σ : @0} -> + {r : @597} -> + {a._@._internal._hyg.#0 : @4} -> + {motive : @698} -> + {a._@._internal._hyg.#0 : @12} -> (t : @749) -> (refl : @1029) -> (tail : @1041) -> @407 +@1054 := @977 @59 @49 @15 @10 @4 +@1055 := proof(@608 @149) +@1058 := @1055 @57 @59 @4 +@1059 := proof(@149 @6) +@1060 := @1059 @4 +@1061 := @57 @12 +@1078 := fun {σ : @0} => + fun {r : @597} => + fun {a._@._internal._hyg.#0 : @4} => + fun {motive : @698} => + fun {a._@._internal._hyg.#0 : @12} => + fun (t : @749) => + fun (refl : @1029) => + fun (tail : @1041) => + @1054 + (fun (b : @59) => + fun (c : @57) => + fun (a._@._internal._hyg.#0 : @1058) => + fun (a._@._internal._hyg.#0 : @1060) => fun (a_ih._@._internal._hyg.#0 : @1061 @4) => @426) + @12 + @6 +@1091 := (b : @49) -> + (c : @59) -> + (a._@._internal._hyg.#0 : @990) -> + (a._@._internal._hyg.#0 : @991) -> + (a_ih._@._internal._hyg.#0 : @129) -> @1061 (@730 @133 @139 @149 @10 @12 @6 @4) +@1099 := {σ : @0} -> + {r : @597} -> + {a._@._internal._hyg.#0 : @4} -> + {motive : @698} -> + {a._@._internal._hyg.#0 : @12} -> (t : @749) -> (refl : @1029) -> (tail : @1091) -> @407 +@1110 := fun {σ : @0} => + fun {r : @597} => + fun {a._@._internal._hyg.#0 : @4} => + fun {motive : @698} => + fun {a._@._internal._hyg.#0 : @12} => + fun (t : @749) => fun (refl : @1029) => fun (tail : @1091) => @1054 @1 @12 @6 +@1111 := @96 @4 +@1112 := LexLeanRuntime.append +@1113 := @1112 @121 +@1114 := LexLeanRuntime.instAppendableList +@1116 := @1113 (@1114 @15) +@1125 := {α : @0} -> + (p : @3) -> + (xs : @36) -> + (ys : @7) -> + (a._@._internal._hyg.#0 : @1111) -> (a._@._internal._hyg.#0 : @14) -> @17 (@1116 @12 @6) +@1126 := proof(List.rec.{0, 0}) +@1127 := proof(@1126 @6) +@1130 := @1112 @351 (@1114 @49) +@1143 := proof(proof(@1127 + proof(fun (xs : @7) => + proof((ys : @45) -> + proof((a._@._internal._hyg.#0 : @14) -> + proof((a._@._internal._hyg.#0 : @47) -> proof(@166 proof(proof(@1130 @12) @6))))))) + proof(fun (x._@.LexLeanRuntime.Reasoning.#1545361600._hygCtx._hyg.#38 : @7) => + proof(fun (x._@.LexLeanRuntime.Reasoning.#1545361600._hygCtx._hyg.#40 : proof(@96 @111)) => + proof(fun (h : @14) => @1)))) +@1146 := proof(proof(@1112 @419) proof(@1114 @59)) +@1152 := proof((ys : @302) -> + proof((a._@._internal._hyg.#0 : @47) -> + proof((a._@._internal._hyg.#0 : @304) -> proof(@124 proof(proof(@1146 @12) @6))))) +@1153 := @18 @49 +@1156 := proof(@166 proof(proof(@1153 @12) @6)) +@1157 := proof(LexLeanReasoning.All.casesOn) +@1159 := proof(proof(@1157 @57) @59) +@1160 := proof(@422 @1) +@1161 := proof(@5 @139) +@1162 := proof(@487 @1161) +@1164 := proof(proof(@444 @59) @49) +@1166 := proof(proof(@1162 @1164) @4) +@1167 := proof(HEq.{0}) +@1175 := proof(proof(proof(proof(@1167 proof(@262 proof(proof(@134 @57) @59))) @10) proof(@262 @6)) + @4) +@1176 := proof(@9 @218) +@1177 := proof(@1176 @133) +@1178 := proof(@5 @218) +@1181 := proof(proof(@1112 @1178) proof(@1114 @218)) +@1182 := proof(@18 @218) +@1184 := proof(proof(@1182 @149) @57) +@1194 := proof(proof(proof(@1159 + proof(fun (a._@._internal.#0.LexLeanRuntime.Reasoning.#1545361600._hygCtx._hyg.#49 : @200) => + proof(fun (t._@.LexLeanRuntime.Reasoning.#1545361600._hygCtx._hyg.#50 : @1160) => + proof((h : @1166) -> + proof((h : @1175) -> proof(@1177 proof(proof(@1181 @1184) @49))))))) + @64) + @4) +@1195 := proof(@487 @200) +@1196 := proof(@1195 @64) +@1197 := proof(@31 @57) +@1198 := proof(@1196 @1197) +@1199 := proof(False.elim.{0}) +@1201 := proof(proof(@391 @49) @15) +@1204 := proof(proof(@1167 proof(@422 @1201)) @6) +@1205 := @31 @149 +@1210 := proof(proof(@1204 proof(@422 @1205)) proof(proof(@88 @149) @57)) +@1213 := proof(proof(@1112 @1161) proof(@1114 @139)) +@1218 := proof(@1199 proof((h : @1210) -> proof(@203 proof(proof(@1213 @1164) @10)))) +@1219 := proof(noConfusion_of_Nat.{1}) +@1220 := proof(@1219 @259) +@1221 := proof(List.ctorIdx.{0}) +@1229 := proof(@1194 + proof(fun (h._@.LexLeanRuntime.Reasoning.#1545361600._hygCtx._hyg.#77 : @1198) => + proof(@1218 proof(proof(proof(proof(@1220 proof(@1221 @149)) @1201) @1205) @1)))) +@1231 := proof(proof(@487 @1178) @1184) +@1232 := proof(@1182 @12) +@1234 := proof(@1231 proof(@1232 @6)) +@1235 := proof(List.cons.noConfusion.{0, 0}) +@1236 := proof(@1235 @212) +@1237 := proof(@9 @212) +@1238 := proof(@1237 @218) +@1243 := proof(proof(@1167 proof(@1238 proof(proof(@213 @139) @149))) @49) +@1244 := proof(@213 @10) +@1252 := proof(proof(@1243 proof(@1238 proof(@1244 @12))) + proof(proof(proof(proof(@219 @10) @12) @6) @4)) +@1253 := proof(@9 @861) +@1254 := proof(@1253 @212) +@1258 := proof(proof(@1112 proof(@5 @861)) proof(@1114 @861)) +@1259 := proof(@18 @861) +@1271 := proof(proof(proof(proof(proof(proof(@1236 + proof((h : @1252) -> + proof(@1254 proof(proof(@1258 proof(proof(@1259 @133) @139)) @57)))) + @139) + @149) + @10) + @12) + @1) +@1272 := proof(HEq.{1}) +@1276 := proof(proof(proof(proof(@1272 @212) @139) @212) @10) +@1277 := proof(Eq.ndrec.{0, 1}) +@1279 := proof(proof(@1277 @861) @133) +@1280 := proof(@861 @1) +@1281 := proof(#16) +@1282 := proof(@5 @1281) +@1286 := proof(proof(proof(proof(@1272 @1282) @218) @1282) @49) +@1287 := proof(#17) +@1289 := proof(proof(@9 @1287) @1281) +@1290 := proof(@18 @1287) +@1293 := proof(@1289 proof(proof(@1290 @861) @212)) +@1295 := proof(proof(@1167 @1293) @139) +@1299 := proof(@1295 proof(@1289 proof(proof(@1290 @6) @59))) +@1301 := proof(proof(@66 @1287) @1281) +@1306 := proof(@1299 proof(proof(proof(proof(@1301 @6) @59) @4) @15)) +@1307 := proof(#18) +@1309 := proof(proof(@9 @1307) @1287) +@1310 := proof(@5 @1307) +@1313 := proof(proof(@1112 @1310) proof(@1114 @1307)) +@1314 := proof(@18 @1307) +@1315 := proof(#15) +@1316 := proof(@1314 @1315) +@1317 := proof(@1316 @861) +@1325 := proof(@1279 + proof(fun (a._@.LexLeanRuntime.Reasoning.#1545361600._hygCtx._hyg.#51 : @861) => + proof((hp : @1280) -> + proof((tail_eq : @1286) -> + proof((h : @1306) -> proof(@1309 proof(proof(@1313 @1317) @218))))))) +@1326 := proof(@212 @133) +@1327 := proof(@5 @1315) +@1331 := proof(proof(proof(proof(@1272 @1327) @133) @1327) @15) +@1333 := proof(proof(@1277 @1282) @218) +@1334 := proof(@1289 @1) +@1340 := proof(proof(proof(@1167 proof(@1309 @1317)) @133) proof(@1309 proof(@1316 @4))) +@1343 := proof(proof(proof(@66 @1307) @1287) @1315) +@1347 := proof(@1340 proof(proof(proof(@1343 @4) @12) @1)) +@1348 := proof(#19) +@1349 := proof(@9 @1348) +@1350 := proof(@1349 @1307) +@1351 := proof(@5 @1348) +@1364 := proof(@1333 + proof(fun (rest._@.LexLeanRuntime.Reasoning.#1545361600._hygCtx._hyg.#52 : @1282) => + proof((hr : @1334) -> + proof((h : @1347) -> + proof(@1350 + proof(proof(proof(proof(@1112 @1351) proof(@1114 @1348)) + proof(proof(proof(@18 @1348) @1281) @1315)) + @212)))))) +@1365 := proof(@9 @1281) +@1367 := proof(proof(@1365 @1315) @218) +@1373 := proof(proof(@1295 @1293) proof(proof(proof(proof(@1301 @861) @212) @6) @1)) +@1377 := proof(proof(@1343 proof(proof(@1313 @861) @218)) @12) +@1378 := proof(@212 @218) +@1385 := proof(proof(@1364 + proof(fun (hr : @1367) => + proof(fun (h._@.LexLeanRuntime.Reasoning.#1545361600._hygCtx._hyg.#58 : @1373) => + proof(@1377 proof(proof(@1378 @4) @139))))) + @49) +@1386 := proof(eq_of_heq.{1}) +@1410 := proof(@1229 + proof(fun (a._@.LexLeanRuntime.Reasoning.#1545361600._hygCtx._hyg.#51 : @57) => + proof(fun (rest._@.LexLeanRuntime.Reasoning.#1545361600._hygCtx._hyg.#52 : @259) => + proof(fun (hp : @260) => + proof(fun (hr : @263) => + proof(fun (h._@.LexLeanRuntime.Reasoning.#1545361600._hygCtx._hyg.#53 : @1234) => + proof(@1271 + proof(fun (head_eq._@.LexLeanRuntime.Reasoning.#1545361600._hygCtx._hyg.#54 : @1276) => + proof(proof(proof(proof(@1325 + proof(fun (hp : @1326) => + proof(fun (tail_eq._@.LexLeanRuntime.Reasoning.#1545361600._hygCtx._hyg.#56 : @1331) => + proof(proof(@1385 + proof(proof(proof(proof(@1386 @1282) @218) @49) @1)) + @10)))) + @15) + proof(proof(proof(proof(@1386 @861) @133) @15) @1)) + @12))))))))) +@1411 := proof(Eq.refl.{1}) +@1414 := proof(@1410 proof(proof(@1411 @200) @64)) +@1415 := proof(HEq.refl.{0}) +@1430 := proof(fun {α : @0} => + proof(fun (p : @3) => + proof(fun (xs : @36) => + proof(proof(@1143 + proof(fun (x : @6) => + proof(fun (rest : @45) => + proof(fun (ih : @1152) => + proof(fun (ys : @121) => + proof(fun (hx : @1156) => + proof(fun (hy : @125) => + proof(@1414 proof(proof(@1415 proof(@354 @64)) @4))))))))) + @1)))) +@1432 := (a._@._internal._hyg.#0 : @4) -> (a._@._internal._hyg.#0 : @4) -> @12 +@1439 := (a : @10) -> + (x : @10) -> (a._@._internal._hyg.#0 : @6 @1) -> (a._@._internal._hyg.#0 : @489) -> @15 (@945 @6) +@1440 := @165 @12 +@1441 := @1440 @4 +@1442 := LexLeanCollections.listFold +@1445 := @1442 @57 @149 @59 +@1458 := {σ : @0} -> + {α : @0} -> + (f : @1432) -> + (p : @480) -> + (q : @480) -> + (h : @1439) -> + (xs : @302) -> + (a : @49) -> + (a._@._internal._hyg.#0 : @1441) -> (a._@._internal._hyg.#0 : @122) -> @49 (@1445 @6 @12) +@1477 := proof(proof(proof(@1126 @15) + proof(fun (xs : @121) => + proof((a : @59) -> + proof((a._@._internal._hyg.#0 : proof(proof(@123 @10) @4)) -> + proof((a._@._internal._hyg.#0 : @352) -> + proof(@59 proof(proof(proof(proof(proof(@1442 @149) @139) @57) @6) @12))))))) + proof(fun (x._@.LexLeanRuntime.Reasoning.#151066647._hygCtx._hyg.#61 : @49) => + proof(fun (x._@.LexLeanRuntime.Reasoning.#151066647._hygCtx._hyg.#63 : proof(@1440 @191)) => + proof(fun (ha : @122) => @1)))) +@1488 := proof((a : @57) -> + proof((a._@._internal._hyg.#0 : proof(proof(@353 @15) @4)) -> + proof((a._@._internal._hyg.#0 : @420) -> + proof(@57 proof(proof(proof(proof(proof(@1442 @139) @133) @149) @6) @12))))) +@1490 := proof(proof(@421 @49) @393) +@1492 := proof(proof(@1157 @133) @57) +@1493 := proof(@5 @133) +@1494 := proof(@1176 @149) +@1495 := proof(@1494 @1) +@1496 := proof(@5 @212) +@1497 := proof(@487 @1496) +@1499 := proof(proof(@213 @59) @49) +@1501 := proof(proof(@1497 @1499) @4) +@1502 := proof(@1253 @133) +@1510 := proof(proof(proof(proof(@1167 proof(@1502 proof(proof(@1259 @57) @59))) @10) + proof(@1502 @6)) + @4) +@1514 := proof(proof(proof(proof(@1442 @1315) @1281) @861) @49) +@1515 := proof(@18 @1315) +@1517 := proof(proof(@1515 @149) @57) +@1524 := proof(@1492 + proof(fun (a._@._internal.#0.LexLeanRuntime.Reasoning.#151066647._hygCtx._hyg.#72 : @1493) => + proof(fun (t._@.LexLeanRuntime.Reasoning.#151066647._hygCtx._hyg.#73 : @1495) => + proof((h : @1501) -> proof((h : @1510) -> proof(@212 proof(@1514 @1517))))))) +@1526 := proof(proof(@134 @15) @10) +@1528 := proof(proof(@1524 @1526) @4) +@1532 := proof(proof(proof(@487 @1493) @1526) proof(@31 @133)) +@1534 := proof(proof(@1182 @49) @15) +@1537 := proof(proof(@1167 proof(@1494 @1534)) @6) +@1538 := proof(@31 @218) +@1560 := proof(@1528 + proof(fun (h._@.LexLeanRuntime.Reasoning.#151066647._hygCtx._hyg.#100 : @1532) => + proof(proof(@1199 + proof((h : proof(proof(@1537 proof(@1494 @1538)) proof(proof(@88 @218) @149))) -> + proof(@133 proof(proof(proof(proof(proof(@1442 @212) @861) @218) @10) @1499)))) + proof(proof(proof(proof(proof(@1219 @1178) proof(@1221 @218)) @1534) @1538) @1)))) +@1561 := proof(@139 @4) +@1562 := proof(@1502 @4) +@1567 := proof(proof(proof(@487 @1327) @1517) proof(proof(@1515 @12) @6)) +@1568 := proof(@1235 @1281) +@1569 := proof(@1365 @212) +@1570 := proof(@18 @1281) +@1601 := proof(proof(proof(proof(proof(proof(@1568 + proof((h : proof(proof(proof(proof(@1167 proof(@1569 proof(proof(@1570 @139) @149))) + @49) + proof(@1569 proof(proof(@1570 @10) @12))) + proof(proof(proof(proof(proof(proof(@66 @1281) @212) @10) @12) @6) @4))) -> + proof(@1315 + proof(proof(proof(proof(proof(@1442 @1287) @1307) @1281) @57) + proof(proof(@1290 @133) @139))))) + @139) + @149) + @10) + @12) + @1) +@1605 := proof(proof(proof(proof(@1272 @1281) @139) @1281) @10) +@1607 := proof(proof(@1277 @1287) @133) +@1608 := proof(@1315 @1) +@1612 := proof(proof(proof(proof(@1272 @1351) @218) @1351) @49) +@1613 := proof(#20) +@1615 := proof(proof(@9 @1613) @1287) +@1616 := proof(@18 @1613) +@1619 := proof(@1615 proof(proof(@1616 @861) @212)) +@1621 := proof(proof(@1167 @1619) @139) +@1625 := proof(@1621 proof(@1615 proof(proof(@1616 @6) @59))) +@1627 := proof(proof(@66 @1613) @1287) +@1632 := proof(@1625 proof(proof(proof(proof(@1627 @6) @59) @4) @15)) +@1633 := proof(#21) +@1634 := proof(@1442 @1633) +@1635 := proof(#22) +@1638 := proof(proof(proof(@1634 @1635) @1613) @218) +@1640 := proof(proof(@18 @1633) @1315) +@1641 := proof(@1640 @861) +@1648 := proof(@1607 + proof(fun (a._@.LexLeanRuntime.Reasoning.#151066647._hygCtx._hyg.#74 : @1287) => + proof((hq : @1608) -> + proof((tail_eq : @1612) -> proof((h : @1632) -> proof(@1348 proof(@1638 @1641))))))) +@1649 := proof(@861 @133) +@1653 := proof(proof(proof(proof(@1272 @1310) @133) @1310) @15) +@1655 := proof(proof(@1277 @1351) @218) +@1656 := proof(@1615 @1) +@1658 := proof(proof(@9 @1633) @1307) +@1753 := proof(fun {σ : @0} => + proof(fun {α : @0} => + proof(fun (f : @1432) => + proof(fun (p : @480) => + proof(fun (q : @480) => + proof(fun (h : @1439) => + proof(fun (xs : @302) => + proof(proof(@1477 + proof(fun (x : @15) => + proof(fun (rest : @351) => + proof(fun (ih : @1488) => + proof(fun (a : @149) => + proof(fun (hx : @1490) => + proof(fun (ha : @201) => + proof(proof(proof(@1560 + proof(fun (a._@.LexLeanRuntime.Reasoning.#151066647._hygCtx._hyg.#74 : @133) => + proof(fun (rest._@.LexLeanRuntime.Reasoning.#151066647._hygCtx._hyg.#75 : @1178) => + proof(fun (hq : @1561) => + proof(fun (hr : @1562) => + proof(fun (h._@.LexLeanRuntime.Reasoning.#151066647._hygCtx._hyg.#76 : @1567) => + proof(@1601 + proof(fun (head_eq._@.LexLeanRuntime.Reasoning.#151066647._hygCtx._hyg.#77 : @1605) => + proof(proof(proof(proof(@1648 + proof(fun (hq : @1649) => + proof(fun (tail_eq._@.LexLeanRuntime.Reasoning.#151066647._hygCtx._hyg.#79 : @1653) => + proof(proof(proof(proof(proof(@1655 + proof(fun (rest._@.LexLeanRuntime.Reasoning.#151066647._hygCtx._hyg.#75 : @1351) => + proof((hr : @1656) -> + proof((h : proof(proof(proof(proof(@1167 + proof(@1658 + @1641)) + @133) + proof(@1658 + proof(@1640 + @4))) + proof(proof(proof(proof(proof(proof(@66 + @1633) + @1307) + @1315) + @4) + @12) + @1))) -> + proof(@1613 + proof(proof(proof(proof(proof(@1442 + @1635) + proof(σ)) + @1633) + @212) + proof(proof(proof(@18 + @1635) + @1281) + @1315))))))) + proof(fun (hr : proof(proof(@1349 + @1281) + @218)) => + proof(fun (h._@.LexLeanRuntime.Reasoning.#151066647._hygCtx._hyg.#81 : proof(proof(@1621 + @1619) + proof(proof(proof(proof(@1627 + @861) + @212) + @6) + @1))) => + proof(proof(proof(@212 + proof(proof(@1613 + @218) + @1315)) + @4) + proof(proof(proof(proof(@1287 + @218) + @1315) + @12) + @139))))) + @49) + proof(proof(proof(proof(@1386 + @1351) + @218) + @49) + @1)) + @10)))) + @15) + proof(proof(proof(proof(@1386 @1287) + @133) + @15) + @1)) + @12))))))))) + proof(proof(@1411 @1493) @1526)) + proof(proof(@1415 proof(proof(@261 @57) @1526)) @4))))))))) + @1)))))))) +@1755 := @18 @12 @4 +@1757 := @96 (@1755 @1) +@1762 := {α : @0} -> (p : @3) -> (a : @4) -> (rest : @7) -> (h : @1757) -> @333 +@1764 := proof(proof(@1157 @10) @12) +@1769 := proof(proof(proof(@487 @351) proof(proof(@1153 @10) @12)) @4) +@1770 := proof(@18 @59) +@1775 := proof(proof(@1167 proof(@124 proof(proof(@1770 @15) @10))) @12) +@1776 := proof(@124 @6) +@1778 := proof(proof(@1775 @1776) @4) +@1783 := proof(@1764 + proof(fun (a._@._internal.#0.LexLeanRuntime.Reasoning.#757209379._hygCtx._hyg.#25 : @302) => + proof(fun (t._@.LexLeanRuntime.Reasoning.#757209379._hygCtx._hyg.#26 : @319) => + proof((h : @1769) -> proof((h : @1778) -> @274))))) +@1784 := @18 @10 +@1785 := proof(@1784 @6) +@1786 := proof(@1785 @4) +@1788 := proof(proof(@1783 @1786) @1) +@1791 := proof(proof(proof(@487 @302) @1786) @386) +@1793 := proof(proof(@1167 @22) @4) +@1794 := proof(@31 @15) +@1799 := proof(proof(@1793 proof(@17 @1794)) proof(proof(@88 @15) @10)) +@1801 := proof(@1199 proof((h : @1799) -> @241)) +@1807 := proof(proof(proof(proof(proof(@1219 @121) proof(@1221 @15)) @21) @1794) @1) +@1810 := proof(@1788 + proof(fun (h._@.LexLeanRuntime.Reasoning.#757209379._hygCtx._hyg.#41 : @1791) => + proof(@1801 @1807))) +@1816 := proof(proof(@1195 proof(proof(@62 @49) @15)) proof(proof(@62 @12) @6)) +@1817 := proof(@1235 @149) +@1831 := proof(proof(proof(proof(@1167 proof(@422 proof(proof(@391 @59) @49))) @15) + proof(@422 proof(proof(@391 @10) @12))) + proof(proof(proof(proof(@396 @10) @12) @6) @4)) +@1832 := proof(@149 @57) +@1839 := proof(proof(proof(proof(proof(proof(@1817 proof((h : @1831) -> @1832)) @59) @49) @10) @12) + @1) +@1843 := proof(proof(proof(proof(@1272 @149) @59) @149) @10) +@1845 := proof(proof(@1277 @139) @57) +@1846 := proof(@139 @1) +@1850 := proof(proof(proof(proof(@1272 @1178) @149) @1178) @49) +@1853 := proof(@1238 proof(proof(@213 @133) @139)) +@1855 := proof(proof(@1167 @1853) @149) +@1864 := proof(proof(@1855 proof(@1238 proof(proof(@213 @6) @59))) + proof(proof(proof(proof(@219 @6) @59) @4) @15)) +@1869 := proof(@1845 + proof(fun (a._@.LexLeanRuntime.Reasoning.#757209379._hygCtx._hyg.#27 : @139) => + proof((hp : @1846) -> proof((tail_eq : @1850) -> proof((h : @1864) -> @1378))))) +@1873 := proof(proof(proof(proof(@1272 @1493) @57) @1493) @15) +@1875 := proof(proof(@1277 @1178) @149) +@1876 := proof(@1238 @1) +@1877 := proof(@1259 @218) +@1891 := proof(proof(proof(proof(@1167 proof(@1254 proof(@1877 @133))) @139) + proof(@1254 proof(@1877 @4))) + proof(proof(proof(proof(proof(proof(@66 @861) @212) @218) @4) @12) @1)) +@1896 := proof(@1875 + proof(fun (rest._@.LexLeanRuntime.Reasoning.#757209379._hygCtx._hyg.#28 : @1178) => + proof((a._@._internal.#0.LexLeanRuntime.Reasoning.#757209379._hygCtx._hyg.#29 : @1876) -> + proof((h : @1891) -> proof(@861 @212))))) +@1897 := proof(@1177 @149) +@1903 := proof(proof(@1855 @1853) proof(proof(proof(proof(@219 @133) @139) @6) @1)) +@1907 := proof(proof(@1896 + proof(fun (a._@._internal.#0.LexLeanRuntime.Reasoning.#757209379._hygCtx._hyg.#29 : @1897) => + proof(fun (h._@.LexLeanRuntime.Reasoning.#757209379._hygCtx._hyg.#35 : @1903) => @12))) + @49) +@1911 := proof(proof(proof(proof(@1386 @1178) @149) @49) @1) +@1917 := proof(proof(@1869 + proof(fun (hp : @1832) => + proof(fun (tail_eq._@.LexLeanRuntime.Reasoning.#757209379._hygCtx._hyg.#33 : @1873) => + proof(proof(@1907 @1911) @10)))) + @15) +@1921 := proof(proof(proof(proof(@1386 @139) @57) @15) @1) +@1931 := proof(@1810 + proof(fun (a._@.LexLeanRuntime.Reasoning.#757209379._hygCtx._hyg.#27 : @10) => + proof(fun (rest._@.LexLeanRuntime.Reasoning.#757209379._hygCtx._hyg.#28 : @121) => + proof(fun (hp : @122) => + proof(fun (a._@._internal.#0.LexLeanRuntime.Reasoning.#757209379._hygCtx._hyg.#29 : @125) => + proof(fun (h._@.LexLeanRuntime.Reasoning.#757209379._hygCtx._hyg.#30 : @1816) => + proof(@1839 + proof(fun (head_eq._@.LexLeanRuntime.Reasoning.#757209379._hygCtx._hyg.#31 : @1843) => + proof(proof(@1917 @1921) @12))))))))) +@1933 := proof(proof(@1411 @302) @1786) +@1934 := proof(@1931 @1933) +@1937 := proof(proof(@1415 proof(@13 @1786)) @1) +@1943 := proof(fun {α : @0} => + proof(fun (p : @3) => + proof(fun (a : @4) => + proof(fun (rest : @7) => proof(fun (h : @1757) => proof(@1934 @1937)))))) +@1944 := @1755 @111 +@1949 := {α : @0} -> (p : @3) -> (a : @4) -> (h : @541) -> @96 @1944 +@1959 := proof(fun {α : @0} => + proof(fun (p : @3) => + proof(fun (a : @4) => + proof(fun (h : @541) => + proof(proof(proof(proof(proof(proof(@66 @12) @6) @4) @111) @1) @114))))) +@1964 := {α : @0} -> (p : @3) -> (a : @4) -> (rest : @7) -> (h : @1757) -> @14 +@2026 := proof(fun {α : @0} => + proof(fun (p : @3) => + proof(fun (a : @4) => + proof(fun (rest : @7) => + proof(fun (h : @1757) => + proof(proof(proof(proof(proof(proof(proof(@1764 + proof(fun (a._@._internal.#0.LexLeanRuntime.Reasoning.#2493341971._hygCtx._hyg.#26 : @302) => + proof(fun (t._@.LexLeanRuntime.Reasoning.#2493341971._hygCtx._hyg.#27 : @319) => + proof((h : @1769) -> proof((h : @1778) -> proof(@354 @15)))))) + @1786) + @1) + proof(fun (h._@.LexLeanRuntime.Reasoning.#2493341971._hygCtx._hyg.#42 : @1791) => + proof(proof(@1199 proof((h : @1799) -> proof(@166 @12))) @1807))) + proof(fun (a._@.LexLeanRuntime.Reasoning.#2493341971._hygCtx._hyg.#28 : @10) => + proof(fun (rest._@.LexLeanRuntime.Reasoning.#2493341971._hygCtx._hyg.#29 : @121) => + proof(fun (a._@._internal.#0.LexLeanRuntime.Reasoning.#2493341971._hygCtx._hyg.#30 : @122) => + proof(fun (hr : @125) => + proof(fun (h._@.LexLeanRuntime.Reasoning.#2493341971._hygCtx._hyg.#31 : @1816) => + proof(proof(proof(proof(proof(proof(proof(@1817 + proof((h : @1831) -> proof(@203 @59))) + @59) + @49) + @10) + @12) + @1) + proof(fun (head_eq._@.LexLeanRuntime.Reasoning.#2493341971._hygCtx._hyg.#32 : @1843) => + proof(proof(proof(proof(proof(@1845 + proof(fun (a._@.LexLeanRuntime.Reasoning.#2493341971._hygCtx._hyg.#28 : @139) => + proof((a._@._internal.#0.LexLeanRuntime.Reasoning.#2493341971._hygCtx._hyg.#30 : @1846) -> + proof((tail_eq : @1850) -> + proof((h : @1864) -> proof(@1254 @133)))))) + proof(fun (a._@._internal.#0.LexLeanRuntime.Reasoning.#2493341971._hygCtx._hyg.#30 : @1832) => + proof(fun (tail_eq._@.LexLeanRuntime.Reasoning.#2493341971._hygCtx._hyg.#34 : @1873) => + proof(proof(proof(proof(proof(@1875 + proof(fun (rest._@.LexLeanRuntime.Reasoning.#2493341971._hygCtx._hyg.#29 : @1178) => + proof((hr : @1876) -> + proof((h : @1891) -> + proof(proof(proof(@9 @1315) + @861) + @218))))) + proof(fun (hr : @1897) => + proof(fun (h._@.LexLeanRuntime.Reasoning.#2493341971._hygCtx._hyg.#36 : @1903) => + @4))) + @49) + @1911) + @10)))) + @15) + @1921) + @12))))))))) + @1933) + @1937)))))) +@2027 := Nat +@2028 := Nat.blt +@2032 := @488 (@2028 @4 @1) @492 +@2036 := LE.le.{0} @2027 instLENat +@2045 := HAdd.hAdd.{0, 0, 0} @2027 @2027 @2027 (instHAdd.{0} @2027 instAddNat) +@2046 := @2045 @6 +@2048 := OfNat.ofNat.{0} @2027 +@2049 := 1 +@2050 := @2048 @2049 +@2051 := instOfNatNat +@2053 := @2050 (@2051 @2049) +@2054 := @2046 @2053 +@2059 := (a : @2027) -> (b : @2027) -> (h : @2032) -> @2036 @2054 @4 +@2060 := proof(Nat.le_of_ble_eq_true) +@2066 := proof(fun (a : @2027) => + proof(fun (b : @2027) => proof(fun (h : @2032) => proof(proof(proof(@2060 @2054) @4) @1)))) +@2067 := @1442 @10 +@2068 := @2067 @302 +@2069 := ite.{1} +@2070 := @2069 @351 +@2071 := LexLeanRuntime.length +@2072 := @2071 @351 +@2073 := LexLeanRuntime.instLengthableList +@2075 := @2072 (@2073 @49) +@2078 := @2028 (@2075 @4) @10 +@2081 := @2070 (@488 @2078 @492) +@2082 := instDecidableEqBool +@2085 := @2081 (@2082 @2078 @492) +@2086 := @1130 @4 +@2093 := fun (acc : @302) => fun (n : @15) => @2085 (@2086 (@1153 @1 @191)) @4 +@2102 := {α : @0} -> (p : @3) -> (k : @2027) -> (xs : @7) -> (h : @97) -> @13 (@2068 @2093 @386 @4) +@2103 := proof(LexLeanReasoning.allFold) +@2108 := proof(proof(proof(proof(proof(@2103 @302) @10) @2093) @13) @12) +@2109 := proof(@15 @1) +@2110 := proof(Bool.casesOn.{0}) +@2116 := proof(proof(@2028 proof(proof(proof(@2071 @259) proof(@2073 @149)) @10)) @59) +@2118 := proof(proof(@488 @2116) @1) +@2119 := proof(@2069 @1161) +@2125 := proof(proof(@2028 proof(proof(proof(@2071 @1161) proof(@2073 @139)) @15)) @57) +@2131 := proof(proof(@2119 proof(proof(@488 @2125) @492)) proof(proof(@2082 @2125) @492)) +@2135 := proof(proof(@1213 @15) proof(@445 proof(@31 @139))) +@2141 := proof(@2110 + proof(fun (t._@.LexLeanRuntime.Reasoning.#635171646._hygCtx._hyg.#143 : @477) => + proof((h : @2118) -> proof(@203 proof(proof(@2131 @2135) @15))))) +@2144 := proof(proof(@2071 @200) proof(@2073 @57)) +@2147 := proof(proof(@2028 proof(@2144 @12)) @49) +@2148 := proof(@2141 @2147) +@2149 := proof(@488 @2147) +@2150 := proof(Bool.false) +@2151 := proof(@2149 @2150) +@2152 := proof(@1277 @477) +@2153 := proof(@2152 @2150) +@2155 := proof(proof(@488 @1) @492) +@2156 := proof(@2119 @2155) +@2158 := proof(proof(@2082 @1) @492) +@2163 := proof(fun (x._@.LexLeanRuntime.Reasoning.#635171646._hygCtx._hyg.#142 : @477) => + proof(@203 proof(proof(proof(@2156 @2158) @2135) @15))) +@2166 := proof(proof(proof(@2153 @2163) @4) @2116) +@2167 := proof(Eq.symm.{1}) +@2168 := proof(@2167 @477) +@2169 := proof(@2168 @2116) +@2174 := proof(@2148 + proof(fun (h._@.LexLeanRuntime.Reasoning.#635171646._hygCtx._hyg.#144 : @2151) => + proof(@2166 proof(proof(@2169 @2150) @1)))) +@2175 := proof(@2149 @492) +@2176 := proof(@2152 @492) +@2177 := proof(@2176 @2163) +@2178 := proof(LexLeanReasoning.allAppend) +@2184 := proof(proof(proof(proof(proof(@2178 @149) @57) @10) proof(@392 @1205)) @4) +@2185 := proof(LexLeanReasoning.allSingle) +@2197 := proof(@2174 + proof(fun (h._@.LexLeanRuntime.Reasoning.#635171646._hygCtx._hyg.#149 : @2175) => + proof(proof(proof(@2177 proof(@2184 proof(proof(proof(proof(@2185 @149) @57) @12) @6))) + @2116) + proof(proof(@2169 @492) @1)))) +@2198 := proof(@1411 @477) +@2214 := proof(fun {α : @0} => + proof(fun (p : @3) => + proof(fun (k : @2027) => + proof(fun (xs : @7) => + proof(fun (h : @97) => + proof(proof(proof(proof(proof(@2108 + proof(fun (a : @302) => + proof(fun (x : @15) => + proof(fun (hq : @2109) => + proof(fun (ha : @1776) => proof(@2197 proof(@2198 @2147))))))) + @4) + @386) + @1) + @389)))))) +@2218 := (a : @12) -> (x : @12) -> (a._@._internal._hyg.#0 : @8) -> @12 @490 +@2219 := @12 @1 +@2222 := @1442 @49 @59 @15 +@2233 := {σ : @0} -> + {α : @0} -> + (f : @1432) -> + (p : @480) -> + (h : @2218) -> (xs : @45) -> (a : @15) -> (a._@._internal._hyg.#0 : @2219) -> @10 (@2222 @4 @6) +@2234 := proof(@1126 @10) +@2235 := @1442 @59 +@2237 := proof(proof(@2235 @57) @49) +@2244 := proof(@2234 + proof(fun (xs : @302) => + proof((a : @49) -> + proof((a._@._internal._hyg.#0 : @534) -> proof(@15 proof(proof(@2237 @4) @6)))))) +@2245 := proof(fun (ha : @2219) => @1) +@2247 := proof(@2244 + proof(fun (x._@.LexLeanRuntime.Reasoning.#3045940284._hygCtx._hyg.#51 : @15) => @2245)) +@2252 := proof((a : @59) -> + proof((a._@._internal._hyg.#0 : @2109) -> proof(@49 proof(proof(@1445 @4) @6)))) +@2253 := @49 @1 +@2271 := proof(fun {σ : @0} => + proof(fun {α : @0} => + proof(fun (f : @1432) => + proof(fun (p : @480) => + proof(fun (h : @2218) => + proof(fun (xs : @45) => + proof(proof(@2247 + proof(fun (x : @10) => + proof(fun (rest : @121) => + proof(fun (ih : @2252) => + proof(fun (a : @57) => + proof(fun (ha : @2253) => + proof(proof(@6 proof(@201 @10)) proof(proof(@352 @10) @1)))))))) + @1))))))) +@2272 := @5 @1 +@2273 := @487 @2027 +@2276 := @2071 @7 (@2073 @6) +@2279 := @1112 @7 (@1114 @6) +@2280 := @2279 @4 +@2283 := @18 @6 @1 @86 +@2293 := {α : @0} -> + (xs : @2272) -> (y : @4) -> @2273 (@2276 (@2280 @2283)) (@2045 (@2276 @4) @2053) +@2296 := proof(proof(@2071 @45) proof(@2073 @12)) +@2303 := proof(@2273 proof(@2296 proof(proof(proof(proof(@1112 @45) proof(@1114 @12)) @1) @1944))) +@2304 := proof(@2296 @1) +@2315 := proof(proof(@1127 proof(fun (xs : @7) => proof(@2303 proof(proof(@2045 @2304) @2053)))) + proof(proof(@1411 @2027) proof(@2276 proof(proof(@2279 @86) @2283)))) +@2318 := @2071 @302 (@2073 @10) +@2321 := @1112 @302 (@1114 @10) +@2330 := proof(proof(@2273 proof(@2318 proof(proof(@2321 @1) proof(@1785 @386)))) + proof(proof(@2045 proof(@2318 @1)) @2053)) +@2331 := proof(congrArg.{1, 1}) +@2332 := proof(@2331 @2027) +@2342 := proof(proof(@2332 @2027) + proof(proof(proof(List.length.{0}) @15) + proof(proof(proof(proof(List.append.{0}) @15) @4) proof(@20 @1794)))) +@2345 := proof(proof(@2071 @121) proof(@2073 @15)) +@2360 := proof(fun {α : @0} => + proof(fun (xs : @2272) => + proof(fun (y : @4) => + proof(proof(@2315 + proof(fun (x : @6) => + proof(fun (rest : @45) => + proof(fun (ih : @2330) => + proof(proof(proof(@2342 proof(@2345 proof(proof(@19 @6) @4))) proof(Nat.succ)) + @1))))) + @4)))) +@2362 := @1442 @6 @7 +@2363 := @2069 @302 +@2364 := @2318 @4 +@2366 := @2028 @2364 @12 +@2372 := @2363 (@488 @2366 @492) (@2082 @2366 @492) +@2376 := @2321 @4 (@1784 @1 @386) +@2380 := fun (acc : @7) => fun (n : @12) => @2372 @2376 @4 +@2389 := {α : @0} -> (k : @2027) -> (xs : @36) -> @2036 (@2276 (@2362 @2380 @86 @1)) @4 +@2397 := proof(proof(proof(proof(proof(LexLeanReasoning.foldInvariant) @7) @6) @2380) + proof(fun (acc : @7) => proof(proof(@2036 @2304) @6))) +@2399 := proof(proof(@2036 @2364) @12) +@2402 := proof(proof(@2028 proof(@2075 @12)) @15) +@2403 := proof(@488 @2402) +@2404 := proof(@2403 @1) +@2407 := proof(proof(@2071 @419) proof(@2073 @59)) +@2408 := proof(@2069 @419) +@2409 := proof(@2407 @10) +@2411 := proof(proof(@2028 @2409) @49) +@2412 := proof(@488 @2411) +@2417 := proof(proof(@2408 proof(@2412 @492)) proof(proof(@2082 @2411) @492)) +@2418 := proof(@1146 @10) +@2419 := proof(@1770 @12) +@2420 := @31 @59 +@2421 := proof(@2419 @2420) +@2422 := proof(@2418 @2421) +@2430 := proof(@2110 + proof(fun (t._@.LexLeanRuntime.Reasoning.#3701125033._hygCtx._hyg.#151 : @477) => + proof((h : @2404) -> proof(proof(@2036 proof(@2407 proof(proof(@2417 @2422) @10))) @49)))) +@2433 := proof(proof(@2028 proof(@2345 @6)) @10) +@2434 := proof(@2430 @2433) +@2435 := proof(@488 @2433) +@2436 := proof(@2435 @2150) +@2437 := proof(@2412 @1) +@2438 := proof(@2069 @200) +@2440 := @488 @4 @492 +@2441 := proof(@2438 @2440) +@2443 := proof(proof(@2082 @4) @492) +@2457 := proof(fun (x._@.LexLeanRuntime.Reasoning.#3701125033._hygCtx._hyg.#150 : @477) => + proof((e : @2437) -> + proof(proof(@2036 + proof(@2144 + proof(proof(proof(@2441 @2443) + proof(proof(proof(proof(@1112 @200) proof(@1114 @57)) @15) proof(@306 @1197))) + @15))) + @59))) +@2462 := proof(proof(proof(@2153 @2457) proof(fun (e : proof(@2403 @2150)) => @6)) @2402) +@2463 := proof(@2168 @2402) +@2466 := proof(@2462 proof(proof(@2463 @2150) @1)) +@2467 := proof(@2198 @2402) +@2470 := proof(@2434 + proof(fun (h._@.LexLeanRuntime.Reasoning.#3701125033._hygCtx._hyg.#152 : @2436) => + proof(@2466 @2467))) +@2471 := proof(@2435 @492) +@2472 := proof(@2176 @2457) +@2473 := proof(@2403 @492) +@2474 := proof(id.{0}) +@2476 := proof(proof(@488 @492) @492) +@2477 := proof(@2408 @2476) +@2479 := proof(proof(@2082 @492) @492) +@2486 := proof(@2474 + proof(proof(@2036 proof(@2407 proof(proof(proof(@2477 @2479) @2422) @10))) @49)) +@2487 := proof(Eq.mpr.{0}) +@2488 := proof(@2407 @2422) +@2490 := proof(proof(@2036 @2488) @49) +@2491 := proof(@2487 @2490) +@2493 := proof(proof(@2045 @2409) @2053) +@2495 := proof(proof(@2036 @2493) @49) +@2496 := proof(@2491 @2495) +@2497 := proof(@487 @2) +@2500 := proof(@2474 proof(proof(@2497 @2490) @2495)) +@2501 := proof(@2332 @2) +@2536 := proof(proof(proof(@2397 + proof(fun (a : @7) => + proof(fun (x : @12) => + proof(fun (ha : @2399) => + proof(proof(@2470 + proof(fun (h._@.LexLeanRuntime.Reasoning.#3701125033._hygCtx._hyg.#157 : @2471) => + proof(proof(proof(proof(@2472 + proof(fun (e : @2473) => + proof(@2486 + proof(proof(@2496 + proof(@2500 + proof(proof(proof(proof(@2501 @2488) @2493) + proof(fun (_a : @2027) => + proof(proof(@2036 @1) @59))) + proof(proof(proof(proof(LexLeanReasoning.lengthSnoc) + @59) + @10) + @12)))) + proof(proof(proof(@2060 @2493) @49) @1))))) + @2402) + proof(proof(@2463 @492) @1)) + @2467))) + proof(@2198 @2433)))))) + @1) + @86) +@2537 := proof(Nat.zero_le) +@2542 := proof(fun {α : @0} => + proof(fun (k : @2027) => proof(fun (xs : @36) => proof(@2536 proof(@2537 @4))))) +@2543 := @501 @12 +@2544 := @487 @2543 +@2545 := @2069 @2543 +@2546 := @488 @6 +@2547 := @2546 @492 +@2551 := @2545 @2547 (@2082 @6 @492) +@2552 := @518 @12 +@2553 := @2552 @4 +@2554 := @2551 @2553 +@2555 := @512 @12 +@2559 := @2544 (@2554 @2555) (@2552 @1) +@2560 := @488 @12 +@2561 := @2560 @492 +@2571 := {ρ : @0} -> + (g : @477) -> + (a : @4) -> (b : @6) -> (a._@._internal._hyg.#0 : @2559) -> @571 @2561 (@487 @10 @6 @4) +@2572 := proof(@2560 @1) +@2573 := @501 @15 +@2574 := @487 @2573 +@2575 := proof(@2069 @2573) +@2576 := proof(@488 @10) +@2581 := proof(proof(@2575 proof(@2576 @492)) proof(proof(@2082 @10) @492)) +@2582 := @518 @15 +@2583 := proof(@2582 @12) +@2584 := proof(@2581 @2583) +@2585 := @512 @15 +@2587 := proof(@2574 proof(@2584 @2585)) +@2588 := proof(@2582 @6) +@2589 := proof(@2587 @2588) +@2591 := proof(proof(@488 @15) @492) +@2592 := proof(@571 @2591) +@2595 := proof(proof(proof(@487 @49) @10) @12) +@2601 := proof(proof(@2110 + proof(fun (t._@.LexLeanRuntime.Reasoning.#2838240205._hygCtx._hyg.#39 : @477) => + proof((h : @2572) -> proof((a._@._internal._hyg.#0 : @2589) -> proof(@2592 @2595))))) + @6) +@2602 := proof(@2546 @2150) +@2612 := proof(fun (g : @477) => + proof((a._@._internal._hyg.#0 : proof(proof(@2574 + proof(proof(proof(proof(@2575 @2155) @2158) @2583) @2585)) + @2588)) -> + proof(proof(@571 @2440) @2595))) +@2613 := proof(@2153 @2612) +@2614 := proof(@2069 @578) +@2616 := proof(proof(@488 @2150) @492) +@2617 := proof(@2614 @2616) +@2619 := proof(proof(@2082 @2150) @492) +@2620 := proof(@2617 @2619) +@2621 := proof(@582 @6) +@2622 := proof(@2620 @2621) +@2623 := proof(@512 @10) +@2625 := proof(@579 proof(@2622 @2623)) +@2626 := proof(@582 @4) +@2627 := proof(@2625 @2626) +@2628 := proof(Eq.casesOn.{0, 1}) +@2629 := proof(@2628 @2573) +@2633 := proof(proof(proof(proof(@2575 @2616) @2619) @2583) @2585) +@2634 := proof(@2629 @2633) +@2635 := @501 @49 +@2636 := @487 @2635 +@2637 := @2069 @2635 +@2639 := proof(proof(@2637 @2616) @2619) +@2640 := @518 @49 +@2641 := proof(@2640 @10) +@2642 := proof(@2639 @2641) +@2643 := @512 @49 +@2644 := proof(@2642 @2643) +@2645 := proof(@2636 @2644) +@2646 := proof(@2645 @1) +@2647 := @501 @59 +@2648 := @487 @2647 +@2649 := @518 @59 +@2652 := proof(proof(@2648 proof(@2649 @10)) @4) +@2653 := proof(@501 @57) +@2654 := proof(@487 @2653) +@2655 := proof(@2069 @2653) +@2657 := proof(proof(@2655 @2616) @2619) +@2658 := proof(@518 @57) +@2659 := proof(@2658 @49) +@2660 := proof(@2657 @2659) +@2661 := proof(@512 @57) +@2663 := proof(@2654 proof(@2660 @2661)) +@2664 := proof(@2658 @15) +@2670 := proof(proof(proof(proof(@1167 proof(@2663 @2664)) @12) proof(@2663 @6)) @4) +@2671 := proof(@571 @2616) +@2672 := proof(@487 @149) +@2673 := proof(@2672 @59) +@2674 := proof(@2673 @49) +@2682 := proof(proof(proof(@2634 + proof(fun (a._@._internal.#0.LexLeanRuntime.Reasoning.#2838240205._hygCtx._hyg.#46 : @2573) => + proof(fun (t._@.LexLeanRuntime.Reasoning.#2838240205._hygCtx._hyg.#47 : @2646) => + proof((h : @2652) -> proof((h : @2670) -> proof(@2671 @2674)))))) + @2588) + @1) +@2683 := proof(@2574 @2588) +@2684 := proof(@2683 @2633) +@2685 := proof(@2640 @12) +@2690 := proof(proof(proof(@1167 proof(@2645 @2685)) @4) proof(@2645 @2644)) +@2691 := proof(@1411 @2635) +@2693 := proof(@2690 proof(@2691 @2644)) +@2694 := @487 @59 +@2696 := proof(proof(@2694 @15) @10) +@2699 := proof(@1199 proof((h : @2693) -> proof(@2671 @2696))) +@2700 := proof(@1219 @2635) +@2701 := proof(Option.ctorIdx.{0}) +@2709 := proof(@2682 + proof(fun (h._@.LexLeanRuntime.Reasoning.#2838240205._hygCtx._hyg.#48 : @2684) => + proof(@2699 proof(proof(proof(proof(@2700 proof(@2701 @49)) @2685) @2643) @1)))) +@2711 := proof(proof(@1411 @2573) @2588) +@2720 := proof(proof(@2613 + proof(fun (e : @2627) => + proof(proof(@2709 @2711) proof(proof(@1415 proof(proof(@2574 @2633) @2588)) @1)))) + @12) +@2721 := proof(@2168 @12) +@2726 := proof(@2601 + proof(fun (h._@.LexLeanRuntime.Reasoning.#2838240205._hygCtx._hyg.#40 : @2602) => + proof(@2720 proof(proof(@2721 @2150) @1)))) +@2727 := proof(@2176 @2612) +@2733 := proof(proof(@579 proof(proof(proof(proof(@2614 @2476) @2479) @2621) @2623)) @2626) +@2737 := proof(proof(proof(proof(@2575 @2476) @2479) @2583) @2585) +@2738 := proof(@2629 @2737) +@2742 := proof(proof(proof(proof(@2637 @2476) @2479) @2641) @2643) +@2743 := proof(@2636 @2742) +@2744 := proof(@2743 @1) +@2746 := proof(proof(@2655 @2476) @2479) +@2748 := proof(proof(@2746 @2659) @2661) +@2749 := proof(@2654 @2748) +@2755 := proof(proof(proof(proof(@1167 proof(@2749 @2664)) @12) proof(@2749 @6)) @4) +@2756 := proof(@571 @2476) +@2764 := proof(proof(proof(@2738 + proof(fun (a._@._internal.#0.LexLeanRuntime.Reasoning.#2838240205._hygCtx._hyg.#56 : @2573) => + proof(fun (t._@.LexLeanRuntime.Reasoning.#2838240205._hygCtx._hyg.#57 : @2744) => + proof((h : @2652) -> proof((h : @2755) -> proof(@2756 @2674)))))) + @2588) + @1) +@2765 := proof(@2683 @2737) +@2766 := proof(Option.some.noConfusion.{0, 0}) +@2780 := proof(proof(proof(proof(proof(@2766 @49) + proof((h : proof(proof(proof(proof(@1167 proof(@2743 @2685)) @4) proof(@2743 @2742)) + proof(@2691 @2742))) -> + proof(@2756 @2696))) + @12) + @10) + @1) +@2781 := proof(@1272 @49) +@2784 := proof(proof(proof(@2781 @12) @49) @10) +@2785 := proof(@1277 @59) +@2786 := proof(@2785 @15) +@2787 := proof(@2658 @1) +@2788 := proof(@2749 @2787) +@2789 := proof(@501 @149) +@2790 := proof(@487 @2789) +@2791 := proof(@2069 @2789) +@2793 := proof(proof(@2791 @2476) @2479) +@2794 := proof(@518 @149) +@2796 := proof(@2793 proof(@2794 @59)) +@2797 := proof(@512 @149) +@2798 := proof(@2796 @2797) +@2799 := proof(@2790 @2798) +@2800 := proof(@2794 @4) +@2805 := proof(proof(proof(@1167 proof(@2799 @2800)) @1) proof(@2799 @2798)) +@2806 := proof(@1411 @2789) +@2816 := proof(@2786 + proof(fun (b : @59) => + proof((e : @2788) -> + proof((h : proof(@2805 proof(@2806 @2798))) -> + proof(@2756 proof(proof(proof(@487 @139) @57) @6)))))) +@2819 := proof(proof(proof(@2069 @2647) @2476) @2479) +@2820 := proof(@2649 @15) +@2821 := proof(@2819 @2820) +@2822 := proof(@512 @59) +@2825 := proof(proof(@2648 proof(@2821 @2822)) @2820) +@2830 := proof(proof(proof(@1167 proof(@2749 @2659)) @1) proof(@2749 @2748)) +@2831 := proof(@1411 @2653) +@2833 := proof(@2830 proof(@2831 @2748)) +@2834 := proof(And.intro) +@2837 := proof(proof(@2834 @2476) proof(@2673 @59)) +@2838 := proof(rfl.{1}) +@2839 := proof(@2838 @477) +@2840 := proof(@2839 @492) +@2848 := proof(proof(@2816 + proof(fun (e : @2825) => + proof(fun (h._@.LexLeanRuntime.Reasoning.#2838240205._hygCtx._hyg.#62 : @2833) => + proof(proof(@2837 @2840) proof(proof(@2838 @149) @59))))) + @10) +@2849 := proof(@2167 @59) +@2851 := proof(proof(@2849 @10) @15) +@2852 := proof(@1386 @59) +@2882 := proof(fun {ρ : @0} => + proof(fun (g : @477) => + proof(fun (a : @4) => + proof(fun (b : @6) => + proof(proof(@2726 + proof(fun (h._@.LexLeanRuntime.Reasoning.#2838240205._hygCtx._hyg.#50 : @2547) => + proof(proof(proof(@2727 + proof(fun (e : @2733) => + proof(proof(proof(@2764 + proof(fun (h._@.LexLeanRuntime.Reasoning.#2838240205._hygCtx._hyg.#58 : @2765) => + proof(@2780 + proof(fun (val_eq._@.LexLeanRuntime.Reasoning.#2838240205._hygCtx._hyg.#60 : @2784) => + proof(proof(@2848 + proof(@2851 + proof(proof(proof(@2852 @10) @15) @1))) + @6))))) + @2711) + proof(proof(@1415 proof(proof(@2574 @2737) @2588)) @1)))) + @12) + proof(proof(@2721 @492) @1)))) + proof(@2198 @6)))))) +@2883 := @487 @15 +@2886 := @2067 @15 @12 @6 +@2898 := {σ : @0} -> + {α : @0} -> + (f : @1432) -> (a : @6) -> (xs : @7) -> (y : @12) -> @2883 (@2886 @2376) (@12 (@2886 @4) @1) +@2899 := proof(@2222 @1) +@2924 := proof(proof(@2234 + proof(fun (xs : @302) => + proof((a : @49) -> + proof(proof(@2694 proof(@2899 proof(@2086 proof(proof(@1153 @6) @191)))) + proof(proof(@15 proof(@2899 @4)) @6))))) + proof(fun (a : @15) => + proof(proof(@1411 @49) + proof(proof(proof(proof(proof(@1442 @15) @49) @10) @1) + proof(proof(@1116 @1794) proof(proof(@19 @4) @1794)))))) +@2925 := proof(@487 @57) +@2926 := proof(@2237 @1) +@2951 := proof(fun {σ : @0} => + proof(fun {α : @0} => + proof(fun (f : @1432) => + proof(fun (a : @6) => + proof(fun (xs : @7) => + proof(fun (y : @12) => + proof(proof(proof(@2924 + proof(fun (x : @10) => + proof(fun (rest : @121) => + proof(fun (ih : proof((a : @59) -> + proof(proof(@2925 proof(@2926 proof(proof(@1146 @4) @2421))) + proof(proof(@49 proof(@2926 @4)) @12)))) => + proof(fun (a : @57) => proof(@4 proof(proof(@59 @1) @12))))))) + @4) + @6))))))) +@2953 := LexLeanCollections.Key @1 +@2954 := (a._@._internal._hyg.#0 : @6) -> @6 +@2955 := (a._@._internal._hyg.#0 : @12) -> @2 +@2957 := @165 @6 @1 +@2958 := @123 @12 +@2960 := @583 @419 @351 +@2962 := @502 @419 @351 +@2963 := @2235 @2962 +@2966 := @2069 (@502 @259 @200) +@2967 := LexLeanCollections.setContains +@2969 := @2967 @57 @59 +@2972 := @572 @259 @200 @4 +@2974 := @2969 @2972 @2253 +@2981 := @2966 (@488 @2974 @492) (@2082 @2974 @492) @4 +@2982 := Prod.mk.{0, 0} +@2995 := @2982 @259 @200 (@1112 @259 (@1114 @149) (@583 @259 @200 @4) (@391 @1 @1205)) +@2996 := LexLeanCollections.setInsert +@3004 := fun (acc : @2962) => fun (n : @57) => @2981 (@2995 (@2996 @57 @59 @2972 @2253)) +@3005 := @2963 @3004 +@3009 := @2982 @419 @351 @2420 @6 +@3021 := {ν : @0} -> + {κ : @0} -> + [inst._@.LexLeanRuntime.Reasoning.#712715948._hygCtx._hyg.#4 : @2953] -> + (key : @2954) -> + (p : @2955) -> (v : @45) -> (ns : @121) -> (h : @2957) -> @2958 (@2960 (@3005 @3009 @4)) +@3032 := proof(proof(proof(proof(proof(@2103 @2962) @59) @3004) + proof(fun (acc : @2962) => proof(proof(@353 @10) proof(proof(proof(@583 @200) @419) @1)))) + @12) +@3037 := proof(proof(@202 @49) proof(proof(proof(@583 @1161) @259) @6)) +@3043 := proof(proof(proof(@2967 @133) @139) proof(proof(proof(@572 @1178) @1493) @10)) +@3044 := proof(@149 @12) +@3045 := proof(@3043 @3044) +@3047 := proof(proof(@488 @3045) @1) +@3048 := proof(@1237 @149) +@3050 := proof(proof(@583 @1496) @1178) +@3053 := proof(@2069 proof(proof(@502 @1496) @1178)) +@3055 := proof(proof(@2967 @218) @133) +@3058 := proof(proof(proof(@572 @1496) @1178) @15) +@3060 := proof(proof(@3055 @3058) @859) +@3067 := proof(proof(proof(@3053 proof(proof(@488 @3060) @492)) proof(proof(@2082 @3060) @492)) @15) +@3083 := proof(proof(proof(proof(@2982 @1496) @1178) + proof(proof(proof(proof(@1112 @1496) proof(@1114 @212)) proof(@3050 @15)) + proof(@1244 proof(@31 @212)))) + proof(proof(proof(proof(@2996 @218) @133) @3058) @859)) +@3089 := proof(@2110 + proof(fun (t._@.LexLeanRuntime.Reasoning.#712715948._hygCtx._hyg.#222 : @477) => + proof((h : @3047) -> proof(@3048 proof(@3050 proof(@3067 @3083)))))) +@3096 := proof(proof(proof(proof(@2967 @139) @149) proof(proof(proof(@572 @1493) @1161) @12)) @424) +@3097 := proof(@3089 @3096) +@3098 := proof(@488 @3096) +@3099 := proof(@3098 @2150) +@3106 := proof(fun (x._@.LexLeanRuntime.Reasoning.#712715948._hygCtx._hyg.#221 : @477) => + proof(@3048 proof(@3050 proof(proof(proof(proof(@3053 @2155) @2158) @15) @3083)))) +@3123 := proof(proof(proof(@2153 @3106) + proof(proof(proof(proof(proof(proof(@2178 @218) @57) + proof(proof(proof(@583 @1178) @1493) @10)) + proof(@1232 @1538)) + @4) + proof(proof(proof(proof(@2185 @218) @57) @12) @6))) + @3045) +@3124 := proof(@2168 @3045) +@3159 := proof(fun {ν : @0} => + proof(fun {κ : @0} => + proof(fun [inst._@.LexLeanRuntime.Reasoning.#712715948._hygCtx._hyg.#4 : @2953] => + proof(fun (key : @2954) => + proof(fun (p : @2955) => + proof(fun (v : @45) => + proof(fun (ns : @121) => + proof(fun (h : @2957) => + proof(proof(proof(proof(proof(@3032 + proof(fun (a : @2962) => + proof(fun (x : @57) => + proof(fun (hq : @2109) => + proof(fun (ha : @3037) => + proof(proof(proof(@3097 + proof(fun (h._@.LexLeanRuntime.Reasoning.#712715948._hygCtx._hyg.#228 : @3099) => + proof(@3123 proof(proof(@3124 @2150) @1)))) + proof(fun (h._@.LexLeanRuntime.Reasoning.#712715948._hygCtx._hyg.#223 : proof(@3098 + @492)) => + proof(proof(proof(proof(@2176 @3106) @4) @3045) + proof(proof(@3124 @492) @1)))) + proof(@2198 @3096))))))) + @4) + @3009) + @1) + proof(proof(@88 @59) @12)))))))))) +@3161 := (a._@._internal._hyg.#0 : @2440) -> @406 @4 +@3171 := @2636 (@2637 @2561 (@2082 @12 @492) (@2640 @6) @2643) (@2640 @1) +@3172 := @49 @15 +@3181 := {σ : @0} -> + (r : @597) -> + (s : @4) -> + (g : @477) -> + (c : @12) -> (h : @3161) -> (t : @15) -> (a._@._internal._hyg.#0 : @3171) -> @3172 @4 +@3182 := proof(@2576 @1) +@3186 := proof(proof(@2655 @2591) proof(proof(@2082 @15) @492)) +@3187 := proof(@2658 @10) +@3190 := proof(@2654 proof(proof(@3186 @3187) @2661)) +@3191 := proof(@2658 @6) +@3192 := proof(@3190 @3191) +@3193 := proof(@57 @59) +@3199 := proof(proof(@2110 + proof(fun (t._@.LexLeanRuntime.Reasoning.#2861134430._hygCtx._hyg.#44 : @477) => + proof((h : @3182) -> proof((a._@._internal._hyg.#0 : @3192) -> proof(@3193 @12))))) + @12) +@3200 := proof(@2560 @2150) +@3202 := proof((a._@._internal._hyg.#0 : @2155) -> proof(@3193 @15)) +@3204 := proof(proof(@2791 @2440) @2443) +@3205 := proof(@2794 @15) +@3208 := proof(@2790 proof(proof(@3204 @3205) @2797)) +@3209 := proof(@2794 @12) +@3210 := proof(@3208 @3209) +@3214 := proof(fun (g : @477) => + proof((h : @3202) -> proof((a._@._internal._hyg.#0 : @3210) -> proof(@1832 @10)))) +@3215 := proof(@2153 @3214) +@3216 := proof(@274 @10) +@3217 := proof((a._@._internal._hyg.#0 : @2616) -> @3216) +@3221 := proof(proof(@2654 proof(proof(@2657 @3187) @2661)) @3191) +@3222 := proof(@2628 @2789) +@3226 := proof(proof(proof(proof(@2791 @2616) @2619) @3205) @2797) +@3227 := proof(@3222 @3226) +@3228 := proof(@501 @139) +@3229 := proof(@487 @3228) +@3230 := proof(@2069 @3228) +@3232 := proof(proof(@3230 @2616) @2619) +@3233 := proof(@518 @139) +@3234 := proof(@3233 @49) +@3235 := proof(@3232 @3234) +@3236 := proof(@512 @139) +@3237 := proof(@3235 @3236) +@3238 := proof(@3229 @3237) +@3239 := proof(@3238 @1) +@3240 := proof(@501 @133) +@3241 := proof(@487 @3240) +@3242 := proof(@518 @133) +@3245 := proof(proof(@3241 proof(@3242 @15)) @4) +@3246 := proof(@501 @218) +@3247 := proof(@487 @3246) +@3248 := proof(@2069 @3246) +@3250 := proof(proof(@3248 @2616) @2619) +@3251 := proof(@518 @218) +@3252 := proof(@3251 @57) +@3253 := proof(@3250 @3252) +@3254 := proof(@512 @218) +@3256 := proof(@3247 proof(@3253 @3254)) +@3257 := proof(@3251 @49) +@3263 := proof(proof(proof(proof(@1167 proof(@3256 @3257)) @12) proof(@3256 @6)) @4) +@3264 := proof(@218 @133) +@3265 := proof(@3264 @59) +@3272 := proof(proof(proof(@3227 + proof(fun (a._@._internal.#0.LexLeanRuntime.Reasoning.#2861134430._hygCtx._hyg.#51 : @2789) => + proof(fun (t._@.LexLeanRuntime.Reasoning.#2861134430._hygCtx._hyg.#52 : @3239) => + proof((h : @3245) -> proof((h : @3263) -> @3265))))) + @3209) + @1) +@3273 := proof(@2790 @3209) +@3274 := proof(@3273 @3226) +@3275 := proof(@3233 @10) +@3280 := proof(proof(proof(@1167 proof(@3238 @3275)) @4) proof(@3238 @3237)) +@3281 := proof(@1411 @3228) +@3283 := proof(@3280 proof(@3281 @3237)) +@3284 := proof(@139 @149) +@3285 := proof(@3284 @15) +@3287 := proof(@1199 proof((h : @3283) -> @3285)) +@3293 := proof(proof(proof(proof(proof(@1219 @3228) proof(@2701 @139)) @3275) @3236) @1) +@3296 := proof(@3272 + proof(fun (h._@.LexLeanRuntime.Reasoning.#2861134430._hygCtx._hyg.#53 : @3274) => + proof(@3287 @3293))) +@3297 := proof(@2806 @3209) +@3298 := proof(@3296 @3297) +@3302 := proof(proof(@1415 proof(proof(@2790 @3226) @3209)) @1) +@3307 := proof(proof(@3215 proof(fun (h : @3217) => proof(fun (e : @3221) => proof(@3298 @3302)))) + @10) +@3308 := proof(@2168 @10) +@3310 := proof(proof(@3308 @2150) @1) +@3314 := proof(@3199 + proof(fun (h._@.LexLeanRuntime.Reasoning.#2861134430._hygCtx._hyg.#45 : @3200) => + proof(proof(@3307 @3310) @6))) +@3315 := proof(@2176 @3214) +@3316 := proof((a._@._internal._hyg.#0 : @2476) -> @3216) +@3320 := proof(proof(@2654 proof(proof(@2746 @3187) @2661)) @3191) +@3322 := proof(proof(@2793 @3205) @2797) +@3323 := proof(@3222 @3322) +@3327 := proof(proof(proof(proof(@3230 @2476) @2479) @3234) @3236) +@3328 := proof(@3229 @3327) +@3329 := proof(@3328 @1) +@3333 := proof(proof(proof(proof(@3248 @2476) @2479) @3252) @3254) +@3334 := proof(@3247 @3333) +@3340 := proof(proof(proof(proof(@1167 proof(@3334 @3257)) @12) proof(@3334 @6)) @4) +@3347 := proof(proof(proof(@3323 + proof(fun (a._@._internal.#0.LexLeanRuntime.Reasoning.#2861134430._hygCtx._hyg.#61 : @2789) => + proof(fun (t._@.LexLeanRuntime.Reasoning.#2861134430._hygCtx._hyg.#62 : @3329) => + proof((h : @3245) -> proof((h : @3340) -> @3265))))) + @3209) + @1) +@3348 := proof(@3273 @3322) +@3349 := proof(@2766 @139) +@3356 := proof(proof(proof(proof(@1167 proof(@3328 @3275)) @4) proof(@3328 @3327)) + proof(@3281 @3327)) +@3361 := proof(proof(proof(proof(@3349 proof((h : @3356) -> @3285)) @10) @49) @1) +@3365 := proof(proof(proof(proof(@1272 @139) @10) @139) @49) +@3367 := proof(proof(@1277 @133) @59) +@3369 := proof(@3334 proof(@3251 @1)) +@3370 := proof(@501 @212) +@3371 := proof(@487 @3370) +@3374 := proof(proof(proof(@2069 @3370) @2476) @2479) +@3375 := proof(@518 @212) +@3377 := proof(@3374 proof(@3375 @149)) +@3378 := proof(@512 @212) +@3379 := proof(@3377 @3378) +@3380 := proof(@3371 @3379) +@3389 := proof(proof(proof(proof(@1167 proof(@3380 proof(@3375 @4))) @1) proof(@3380 @3379)) + proof(proof(@1411 @3370) @3379)) +@3394 := proof(@3367 + proof(fun (t : @133) => proof((e : @3369) -> proof((h : @3389) -> proof(@1378 @6))))) +@3397 := proof(proof(proof(@2069 @3240) @2476) @2479) +@3398 := proof(@3242 @59) +@3399 := proof(@3397 @3398) +@3400 := proof(@512 @133) +@3403 := proof(proof(@3241 proof(@3399 @3400)) @3398) +@3408 := proof(proof(proof(@1167 proof(@3334 @3252)) @1) proof(@3334 @3333)) +@3409 := proof(@1411 @3246) +@3411 := proof(@3408 proof(@3409 @3333)) +@3412 := proof(@15 @2840) +@3416 := proof(proof(@3394 + proof(fun (e : @3403) => + proof(fun (h._@.LexLeanRuntime.Reasoning.#2861134430._hygCtx._hyg.#67 : @3411) => @3412))) + @15) +@3424 := proof(proof(proof(proof(@2167 @133) @15) @59) + proof(proof(proof(proof(@1386 @133) @15) @59) @1)) +@3431 := proof(proof(@3347 + proof(fun (h._@.LexLeanRuntime.Reasoning.#2861134430._hygCtx._hyg.#63 : @3348) => + proof(@3361 + proof(fun (val_eq._@.LexLeanRuntime.Reasoning.#2861134430._hygCtx._hyg.#65 : @3365) => + proof(proof(@3416 @3424) @6))))) + @3297) +@3435 := proof(proof(@1415 proof(proof(@2790 @3322) @3209)) @1) +@3440 := proof(proof(@3315 proof(fun (h : @3316) => proof(fun (e : @3320) => proof(@3431 @3435)))) + @10) +@3442 := proof(proof(@3308 @492) @1) +@3446 := proof(@3314 + proof(fun (h._@.LexLeanRuntime.Reasoning.#2861134430._hygCtx._hyg.#55 : @2561) => + proof(proof(@3440 @3442) @6))) +@3447 := proof(@2198 @12) +@3455 := proof(fun {σ : @0} => + proof(fun (r : @597) => + proof(fun (s : @4) => + proof(fun (g : @477) => + proof(fun (c : @12) => + proof(fun (h : @3161) => proof(fun (t : @15) => proof(@3446 @3447)))))))) +@3456 := (a._@._internal._hyg.#0 : @1) -> @2027 +@3460 := LT.lt.{0} @2027 instLTNat +@3461 := @3460 @303 +@3463 := (a._@._internal._hyg.#0 : @2440) -> @3461 @406 +@3464 := @3460 @352 +@3473 := {σ : @0} -> + (μ : @3456) -> + (s : @4) -> + (g : @477) -> + (c : @12) -> (h : @3463) -> (t : @15) -> (a._@._internal._hyg.#0 : @3171) -> @3464 @3172 +@3480 := proof(proof(@2110 + proof(fun (t._@.LexLeanRuntime.Reasoning.#2044263187._hygCtx._hyg.#50 : @477) => + proof((h : @3182) -> + proof((a._@._internal._hyg.#0 : @3192) -> proof(proof(@3460 @1061) @3193))))) + @12) +@3483 := proof((a._@._internal._hyg.#0 : @2155) -> proof(proof(@3460 @785) @3193)) +@3484 := proof(@149 @10) +@3489 := proof(fun (g : @477) => + proof((h : @3483) -> + proof((a._@._internal._hyg.#0 : @3210) -> proof(proof(@3460 @3484) @1832)))) +@3490 := proof(@2153 @3489) +@3492 := proof(proof(@3460 @130) @274) +@3493 := proof((a._@._internal._hyg.#0 : @2616) -> @3492) +@3496 := proof(proof(@3460 proof(@218 @59)) @3264) +@3503 := proof(proof(proof(@3227 + proof(fun (a._@._internal.#0.LexLeanRuntime.Reasoning.#2044263187._hygCtx._hyg.#57 : @2789) => + proof(fun (t._@.LexLeanRuntime.Reasoning.#2044263187._hygCtx._hyg.#58 : @3239) => + proof((h : @3245) -> proof((h : @3263) -> @3496))))) + @3209) + @1) +@3504 := proof(@139 @15) +@3506 := proof(proof(@3460 @3504) @3284) +@3570 := proof(fun {σ : @0} => + proof(fun (μ : @3456) => + proof(fun (s : @4) => + proof(fun (g : @477) => + proof(fun (c : @12) => + proof(fun (h : @3463) => + proof(fun (t : @15) => + proof(proof(proof(@3480 + proof(fun (h._@.LexLeanRuntime.Reasoning.#2044263187._hygCtx._hyg.#51 : @3200) => + proof(proof(proof(proof(@3490 + proof(fun (h : @3493) => + proof(fun (e : @3221) => + proof(proof(proof(@3503 + proof(fun (h._@.LexLeanRuntime.Reasoning.#2044263187._hygCtx._hyg.#59 : @3274) => + proof(proof(@1199 proof((h : @3283) -> @3506)) + @3293))) + @3297) + @3302)))) + @10) + @3310) + @6))) + proof(fun (h._@.LexLeanRuntime.Reasoning.#2044263187._hygCtx._hyg.#61 : @2561) => + proof(proof(proof(proof(proof(@2176 @3489) + proof(fun (h : proof((a._@._internal._hyg.#0 : @2476) -> + @3492)) => + proof(fun (e : @3320) => + proof(proof(proof(proof(proof(proof(@3323 + proof(fun (a._@._internal.#0.LexLeanRuntime.Reasoning.#2044263187._hygCtx._hyg.#67 : @2789) => + proof(fun (t._@.LexLeanRuntime.Reasoning.#2044263187._hygCtx._hyg.#68 : @3329) => + proof((h : @3245) -> + proof((h : @3340) -> @3496))))) + @3209) + @1) + proof(fun (h._@.LexLeanRuntime.Reasoning.#2044263187._hygCtx._hyg.#69 : @3348) => + proof(proof(proof(proof(proof(@3349 + proof((h : @3356) -> @3506)) + @10) + @49) + @1) + proof(fun (val_eq._@.LexLeanRuntime.Reasoning.#2044263187._hygCtx._hyg.#71 : @3365) => + proof(proof(proof(proof(proof(@3367 + proof(fun (t : @133) => + proof((e : @3369) -> + proof((h : @3389) -> + proof(proof(@3460 + proof(@212 @6)) + @1378))))) + proof(fun (e : @3403) => + proof(fun (h._@.LexLeanRuntime.Reasoning.#2044263187._hygCtx._hyg.#73 : @3411) => + @3412))) + @15) + @3424) + @6))))) + @3297) + @3435)))) + @10) + @3442) + @6))) + @3447)))))))) +@3571 := @501 @1 +@3572 := (x._@.LexLeanRuntime.Reasoning.#2993358671._hygCtx._hyg.#91 : @3571) -> @506 +@3573 := @501 @4 +@3575 := ("_" : @511) -> @6 @2555 +@3576 := @582 @1 +@3578 := (next : @12) -> @12 @3576 +@3580 := (h_1 : @3575) -> (h_2 : @3578) -> @333 +@3583 := {σ : @0} -> + (motive : @3572) -> (x._@.LexLeanRuntime.Reasoning.#2993358671._hygCtx._hyg.#91 : @3573) -> @3580 +@3588 := @531 @10 (fun (x : @578) => @534) @6 @539 +@3595 := fun {σ : @0} => + fun (motive : @3572) => + fun (x._@.LexLeanRuntime.Reasoning.#2993358671._hygCtx._hyg.#91 : @3573) => + fun (h_1 : @3575) => + fun (h_2 : @3578) => + @3588 (fun (val._@.LexLeanRuntime.Reasoning.#2993358671._hygCtx._hyg.#111 : @10) => @541) +@3596 := (a._@._internal._hyg.#0 : @1) -> @3573 +@3598 := @579 @46 @3576 +@3602 := (a : @6) -> + (b : @12) -> (a._@._internal._hyg.#0 : @3598) -> (a._@._internal._hyg.#0 : @333) -> @489 +@3604 := @583 @49 @477 +@3605 := LexLeanCollections.iterateUntil +@3607 := @3605 @49 @15 +@3611 := @10 (@3604 (@3607 @6 @4)) +@3618 := {σ : @0} -> + (step : @3596) -> + (p : @550) -> (h : @3602) -> (n : @2027) -> (a : @10) -> (a._@._internal._hyg.#0 : @2219) -> @3611 +@3619 := proof(Nat.recAux.{0}) +@3621 := @583 @59 @477 +@3622 := @3605 @59 +@3623 := @3622 @49 +@3627 := @15 (@3621 (@3623 @6 @4)) +@3629 := proof((a : @15) -> proof((a._@._internal._hyg.#0 : @534) -> @3627)) +@3633 := proof(proof(@3619 proof(fun (n : @2027) => @3629)) + proof(fun (x._@.LexLeanRuntime.Reasoning.#2993358671._hygCtx._hyg.#53 : @10) => @2245)) +@3635 := @583 @57 @477 +@3636 := @3605 @57 +@3637 := @3636 @59 +@3639 := proof(proof(@2045 @12) @2053) +@3644 := proof(@2474 proof(@49 proof(@3635 proof(proof(@3637 @3639) @4)))) +@3645 := proof(Option.casesOn.{0, 0}) +@3646 := proof(@3645 @57) +@3647 := proof(@2790 @424) +@3648 := proof(@3647 @1) +@3650 := proof(proof(@583 @139) @477) +@3651 := proof(_private.LexLeanRuntime.Reasoning.#0.LexLeanReasoning.iterateUntilInvariant.match_1_1.{1}) +@3652 := proof(@3651 @139) +@3654 := proof(proof(@502 @133) @477) +@3657 := proof(proof(@3652 + proof(fun (x._@.LexLeanRuntime.Reasoning.#2993358671._hygCtx._hyg.#91 : @3228) => @3654)) + @3044) +@3662 := proof(fun ("_" : @511) => proof(proof(proof(proof(@2982 @133) @477) @10) @492)) +@3663 := proof(@3657 @3662) +@3666 := proof(proof(proof(@3605 @133) @139) @49) +@3668 := proof(fun (next : @139) => proof(@3666 @1)) +@3675 := proof(proof(@3646 + proof(fun (t._@.LexLeanRuntime.Reasoning.#2993358671._hygCtx._hyg.#116 : @2653) => + proof((h : @3648) -> proof(@57 proof(@3650 proof(@3663 @3668)))))) + @420) +@3676 := proof(@2654 @420) +@3677 := proof(@3676 @2661) +@3678 := proof(@1277 @2789) +@3679 := proof(@3678 @2797) +@3680 := proof(@3229 @3044) +@3681 := proof(@3680 @1) +@3683 := proof(proof(@583 @133) @477) +@3684 := proof(@3651 @133) +@3686 := proof(proof(@502 @218) @477) +@3689 := proof(proof(@3684 + proof(fun (x._@.LexLeanRuntime.Reasoning.#2993358671._hygCtx._hyg.#91 : @3240) => @3686)) + @4) +@3691 := proof(proof(@2982 @218) @477) +@3694 := proof(fun ("_" : @511) => proof(proof(@3691 @15) @492)) +@3695 := proof(@3689 @3694) +@3696 := proof(@3605 @218) +@3698 := proof(proof(@3696 @133) @59) +@3700 := proof(fun (next : @133) => proof(@3698 @1)) +@3710 := proof(proof(proof(@3679 + proof(fun (x._@.LexLeanRuntime.Reasoning.#2993358671._hygCtx._hyg.#115 : @2789) => + proof((e : @3681) -> proof(@149 proof(@3683 proof(@3695 @3700)))))) + proof(fun (e : proof(@3647 @2797)) => @6)) + @424) +@3712 := proof(proof(@2167 @2789) @424) +@3715 := proof(@3710 proof(proof(@3712 @2797) @1)) +@3716 := proof(@2806 @424) +@3719 := proof(@3675 + proof(fun (h._@.LexLeanRuntime.Reasoning.#2993358671._hygCtx._hyg.#117 : @3677) => + proof(@3715 @3716))) +@3721 := proof(@3647 proof(@2794 @1)) +@3722 := proof(@1277 @3228) +@3723 := proof(@3233 @4) +@3724 := proof(@3722 @3723) +@3726 := proof(proof(@3241 @859) @1) +@3728 := proof(proof(@583 @218) @477) +@3729 := proof(@3651 @218) +@3731 := proof(proof(@502 @212) @477) +@3734 := proof(proof(@3729 + proof(fun (x._@.LexLeanRuntime.Reasoning.#2993358671._hygCtx._hyg.#91 : @3246) => @3731)) + @4) +@3736 := proof(proof(@2982 @212) @477) +@3740 := proof(@3734 proof(fun ("_" : @511) => proof(proof(@3736 @49) @492))) +@3741 := proof(@3605 @212) +@3742 := proof(@3741 @218) +@3743 := proof(@3742 @57) +@3751 := proof(@3724 + proof(fun (x._@.LexLeanRuntime.Reasoning.#2993358671._hygCtx._hyg.#115 : @3228) => + proof((e : @3726) -> + proof(@139 proof(@3728 proof(@3740 proof(fun (next : @218) => proof(@3743 @1)))))))) +@3752 := proof(@3680 @3723) +@3753 := proof(@57 @10) +@3770 := proof(@3719 + proof(fun (b : @57) => + proof(fun (h._@.LexLeanRuntime.Reasoning.#2993358671._hygCtx._hyg.#122 : @3721) => + proof(proof(proof(proof(@3751 + proof(fun (e : @3752) => proof(@173 proof(proof(proof(@3753 @6) @1) @12)))) + @3044) + proof(proof(proof(proof(@2167 @3228) @3044) @3723) @1)) + proof(@3281 @3044))))) +@3771 := proof(@2831 @420) +@3784 := proof(fun {σ : @0} => + proof(fun (step : @3596) => + proof(fun (p : @550) => + proof(fun (h : @3602) => + proof(fun (n : @2027) => + proof(proof(@3633 + proof(fun (n : @2027) => + proof(fun (ih : @3629) => + proof(fun (a : @49) => + proof(fun (ha : @2109) => proof(@3644 proof(@3770 @3771))))))) + @1)))))) +@3785 := (a._@._internal._hyg.#0 : @4) -> @2027 +@3788 := @2574 @303 (@2582 @1) +@3796 := (a : @12) -> + (b : @10) -> + (a._@._internal._hyg.#0 : @3788) -> (a._@._internal._hyg.#0 : @2036 @489 @12) -> @2036 @173 @10 +@3798 := @2036 @534 @12 +@3799 := @2036 @3627 +@3808 := {σ : @0} -> + (step : @3596) -> + (c : @3785) -> + (k : @2027) -> + (h : @3796) -> (n : @2027) -> (a : @15) -> (a._@._internal._hyg.#0 : @3798) -> @3799 @10 +@3821 := proof(fun {σ : @0} => + proof(fun (step : @3596) => + proof(fun (c : @3785) => + proof(fun (k : @2027) => + proof(fun (h : @3796) => + proof(proof(proof(proof(proof(LexLeanReasoning.iterateUntilInvariant) @10) @12) + proof(fun (a : @10) => proof(proof(@2036 @2219) @6))) + @1)))))) +@3822 := (x._@.LexLeanRuntime.Reasoning.#2833546101._hygCtx._hyg.#187 : @3571) -> @506 +@3825 := {σ : @0} -> + (motive : @3822) -> (x._@.LexLeanRuntime.Reasoning.#2833546101._hygCtx._hyg.#187 : @3573) -> @3580 +@3832 := fun {σ : @0} => + fun (motive : @3822) => + fun (x._@.LexLeanRuntime.Reasoning.#2833546101._hygCtx._hyg.#187 : @3573) => + fun (h_1 : @3575) => + fun (h_2 : @3578) => + @3588 (fun (val._@.LexLeanRuntime.Reasoning.#2833546101._hygCtx._hyg.#207 : @10) => @541) +@3833 := @2273 @46 +@3835 := @2045 @333 @2053 +@3839 := (a : @6) -> (b : @12) -> (a._@._internal._hyg.#0 : @3598) -> @3833 @3835 +@3840 := @2273 @2219 +@3841 := 0 +@3844 := @2048 @3841 (@2051 @3841) +@3850 := (n : @2027) -> (a : @10) -> (a._@._internal._hyg.#0 : @3840 @3844) -> @2036 @3611 @6 +@3854 := {σ : @0} -> (step : @3596) -> (c : @3785) -> (h : @3839) -> @3850 +@3868 := proof((n : @2027) -> + proof((a : @10) -> + proof(proof(@2036 + proof(@12 + proof(proof(proof(@583 @15) @477) proof(proof(proof(proof(@3605 @15) @10) @4) @1)))) + proof(proof(@2045 @2219) @4)))) +@3877 := proof((a : @15) -> + proof(proof(@2036 proof(@10 proof(@3604 proof(proof(@3607 @4) @1)))) + proof(proof(@2045 @534) @4))) +@3883 := proof(proof(@3619 proof(fun (n : @2027) => @3877)) + proof(fun (a : @10) => proof(proof(Nat.le_refl) @2219))) +@3892 := proof(@2474 + proof(proof(@2036 proof(@15 proof(@3621 proof(proof(@3623 @2054) @1)))) + proof(proof(@2045 @2109) @2054))) +@3893 := proof(@3645 @59) +@3894 := proof(@3676 @1) +@3896 := proof(proof(@583 @149) @477) +@3897 := proof(_private.LexLeanRuntime.Reasoning.#0.LexLeanReasoning.iterateUntilCount.match_1_1.{1}) +@3898 := proof(@3897 @149) +@3900 := proof(proof(@502 @139) @477) +@3903 := proof(proof(@3898 + proof(fun (x._@.LexLeanRuntime.Reasoning.#2833546101._hygCtx._hyg.#187 : @2789) => @3900)) + @424) +@3908 := proof(fun ("_" : @511) => proof(proof(proof(proof(@2982 @139) @477) @12) @492)) +@3909 := proof(@3903 @3908) +@3910 := proof(@3605 @139) +@3911 := proof(@3910 @149) +@3912 := proof(@3911 @15) +@3914 := proof(fun (next : @149) => proof(@3912 @1)) +@3918 := proof(@2036 proof(@59 proof(@3896 proof(@3909 @3914)))) +@3919 := proof(@2045 @442) +@3921 := proof(proof(@2045 @10) @2053) +@3922 := proof(@3919 @3921) +@3927 := proof(proof(@3893 + proof(fun (t._@.LexLeanRuntime.Reasoning.#2833546101._hygCtx._hyg.#212 : @2647) => + proof((h : @3894) -> proof(@3918 @3922)))) + @2253) +@3929 := proof(proof(@2648 @2253) @2822) +@3931 := proof(proof(@1277 @2653) @2661) +@3940 := proof(@2036 + proof(@57 + proof(@3650 + proof(proof(proof(proof(proof(@3897 @139) + proof(fun (x._@.LexLeanRuntime.Reasoning.#2833546101._hygCtx._hyg.#187 : @3228) => + @3654)) + @4) + @3662) + @3668)))) +@3941 := proof(@2045 @1061) +@3944 := proof(@3941 proof(proof(@2045 @15) @2053)) +@3948 := proof(@3931 + proof(fun (x._@.LexLeanRuntime.Reasoning.#2833546101._hygCtx._hyg.#211 : @2653) => + proof((e : @3648) -> proof(@3940 @3944)))) +@3952 := proof(fun (e : @3677) => proof(proof(proof(Nat.le_add_right) @442) @3921)) +@3954 := proof(proof(@3948 @3952) @420) +@3958 := proof(proof(proof(proof(@2167 @2653) @420) @2661) @1) +@3962 := proof(@3927 + proof(fun (h._@.LexLeanRuntime.Reasoning.#2833546101._hygCtx._hyg.#213 : @3929) => + proof(proof(@3954 @3958) @3771))) +@3963 := proof(@3676 @2787) +@3964 := proof(@3678 @2800) +@3973 := proof(@2036 + proof(@149 + proof(@3683 + proof(proof(proof(proof(proof(@3897 @133) + proof(fun (x._@.LexLeanRuntime.Reasoning.#2833546101._hygCtx._hyg.#187 : @3240) => + @3686)) + @4) + @3694) + @3700)))) +@3974 := proof(@2045 @3484) +@3977 := proof(@3974 proof(proof(@2045 @49) @2053)) +@3981 := proof(@3964 + proof(fun (x._@.LexLeanRuntime.Reasoning.#2833546101._hygCtx._hyg.#211 : @2789) => + proof((e : @3681) -> proof(@3973 @3977)))) +@3982 := proof(@3647 @2800) +@3985 := proof(@57 proof(@3650 proof(@3912 @6))) +@3986 := proof(@2036 @3985) +@3988 := proof(proof(@2045 @424) @15) +@3989 := proof(@3986 @3988) +@3991 := proof(proof(Eq.rec.{0, 1}) @2027) +@3994 := proof(proof(@2045 proof(@3974 @49)) @2053) +@3995 := proof(@3991 @3994) +@3996 := proof(@2045 @3504) +@4001 := proof(proof(@2273 proof(proof(@2045 proof(@3996 @59)) @2053)) @1) +@4003 := proof(proof(@583 @212) @477) +@4004 := proof(@3897 @212) +@4006 := proof(proof(@502 @861) @477) +@4010 := proof(proof(@4004 + proof(fun (x._@.LexLeanRuntime.Reasoning.#2833546101._hygCtx._hyg.#187 : @3370) => @4006)) + proof(@3375 @15)) +@4012 := proof(proof(@2982 @861) @477) +@4016 := proof(@4010 proof(fun ("_" : @511) => proof(proof(@4012 @59) @492))) +@4017 := proof(@3605 @861) +@4018 := proof(@4017 @212) +@4027 := proof(annot [noImplicitLambda := bool true] + proof(proof(@2036 + proof(@133 + proof(@4003 proof(@4016 proof(fun (next : @212) => proof(proof(@4018 @149) @1)))))) + @4)) +@4030 := proof(@3995 + proof(fun (x._@.LexLeanRuntime.Reasoning.#2833546101._hygCtx._hyg.#337 : @2027) => + proof(fun (h._@.LexLeanRuntime.Reasoning.#2833546101._hygCtx._hyg.#338 : @4001) => @4027))) +@4031 := proof(@3974 @2053) +@4033 := proof(proof(@2045 @4031) @49) +@4042 := proof(proof(@3991 @4033) + proof(fun (x._@.LexLeanRuntime.Reasoning.#2833546101._hygCtx._hyg.#335 : @2027) => + proof(fun (h._@.LexLeanRuntime.Reasoning.#2833546101._hygCtx._hyg.#336 : proof(proof(@2273 + proof(proof(@2045 proof(@3996 @2053)) @59)) + @1)) => + @4027))) +@4050 := proof(@3995 + proof(fun (x._@.LexLeanRuntime.Reasoning.#2833546101._hygCtx._hyg.#333 : @2027) => + proof(fun (h._@.LexLeanRuntime.Reasoning.#2833546101._hygCtx._hyg.#334 : @4001) => + proof(proof(@2036 proof(@133 proof(@4003 proof(@3743 @15)))) @4)))) +@4051 := proof(Eq.mp.{0}) +@4055 := proof(@2036 proof(@149 proof(@3683 proof(@3666 @12)))) +@4056 := proof(@4055 @4033) +@4059 := proof(proof(@4051 @4056) proof(@4055 @3994)) +@4061 := proof(proof(@2501 @4033) @3994) +@4065 := proof(@2036 proof(@139 proof(@3728 proof(@3698 @10)))) +@4068 := proof(@4061 proof(fun (_a : @2027) => proof(@4065 @1))) +@4072 := proof(proof(proof(proof(Nat.add_right_comm) @3484) @2053) @49) +@4074 := proof(@4059 proof(@4068 @4072)) +@4079 := proof(proof(@4051 proof(@4055 proof(proof(@2045 @3044) @49))) @4056) +@4081 := proof(proof(@2501 @3044) @4031) +@4082 := proof(@2045 @1) +@4113 := proof(proof(@3981 + proof(fun (e : @3982) => + proof(have hb : @3989 := @489; + proof(proof(proof(@4030 + proof(proof(proof(@4042 + proof(proof(proof(@4050 + proof(@4074 + proof(proof(@4079 + proof(proof(@4081 + proof(fun (_a : @2027) => + proof(@4065 proof(@4082 @59)))) + proof(proof(@3753 @12) @4))) + @1))) + @4033) + proof(proof(proof(proof(@2167 @2027) @4033) @3994) @4072))) + @3994) + @4072)) + @3977) + proof(proof(proof(proof(Nat.add_assoc) @3484) @49) @2053))))) + @424) +@4115 := proof(proof(@3712 @2800) @1) +@4120 := proof(@3962 + proof(fun (b : @59) => + proof(fun (h._@.LexLeanRuntime.Reasoning.#2833546101._hygCtx._hyg.#229 : @3963) => + proof(proof(@4113 @4115) @3716)))) +@4122 := proof(proof(@1411 @2647) @2253) +@4130 := proof(fun (n : @2027) => + proof(proof(@3883 + proof(fun (n : @2027) => + proof(fun (ih : @3877) => proof(fun (a : @49) => proof(@3892 proof(@4120 @4122)))))) + @1)) +@4132 := proof(proof(@2273 @534) @3844) +@4135 := proof(@3799 proof(proof(@2045 @122) @6)) +@4137 := @3637 @12 @6 +@4140 := proof(@2036 proof(@49 proof(@3635 @4137))) +@4142 := proof(proof(@2045 @3844) @12) +@4143 := proof(@4140 @4142) +@4146 := proof(proof(@4051 @4143) proof(@4140 @12)) +@4148 := proof(proof(@2501 @4142) @12) +@4149 := proof(@3605 @149) +@4150 := proof(@4149 @57) +@4155 := proof(@2036 proof(@59 proof(@3896 proof(proof(@4150 @10) @12)))) +@4181 := proof(fun (n : @2027) => + proof(fun (a : @15) => + proof(fun (h0 : @4132) => + proof(have hg : @4135 := @334; + proof(proof(@4146 + proof(proof(@4148 proof(fun (_a : @2027) => proof(@4155 @1))) + proof(proof(Nat.zero_add) @12))) + proof(proof(proof(proof(@4051 proof(@4140 proof(proof(@2045 @943) @12))) @4143) + proof(proof(proof(proof(@2501 @943) @3844) + proof(fun (_a : @2027) => proof(@4155 proof(@4082 @10)))) + @4)) + @1)))))) +@4186 := proof(fun {σ : @0} => + proof(fun (step : @3596) => + proof(fun (c : @3785) => + proof(fun (h : @3839) => proof(have general : @3868 := @4130; @4181))))) +@4187 := (x._@.LexLeanRuntime.Reasoning.#1387531038._hygCtx._hyg.#187 : @3571) -> @506 +@4190 := {σ : @0} -> + (motive : @4187) -> (x._@.LexLeanRuntime.Reasoning.#1387531038._hygCtx._hyg.#187 : @3573) -> @3580 +@4197 := fun {σ : @0} => + fun (motive : @4187) => + fun (x._@.LexLeanRuntime.Reasoning.#1387531038._hygCtx._hyg.#187 : @3573) => + fun (h_1 : @3575) => + fun (h_2 : @3578) => + @3588 (fun (val._@.LexLeanRuntime.Reasoning.#1387531038._hygCtx._hyg.#207 : @10) => @541) +@4202 := (a : @6) -> (b : @12) -> (a._@._internal._hyg.#0 : @3598) -> @2036 @46 @3835 +@4206 := {σ : @0} -> (step : @3596) -> (c : @3785) -> (h : @4202) -> @3850 +@4207 := proof(_private.LexLeanRuntime.Reasoning.#0.LexLeanReasoning.iterateUntilGrowth.match_1_1.{1}) +@4240 := proof(proof(proof(@3893 + proof(fun (t._@.LexLeanRuntime.Reasoning.#1387531038._hygCtx._hyg.#212 : @2647) => + proof((h : @3894) -> + proof(proof(@2036 + proof(@59 + proof(@3896 + proof(proof(proof(proof(proof(@4207 @149) + proof(fun (x._@.LexLeanRuntime.Reasoning.#1387531038._hygCtx._hyg.#187 : @2789) => + @3900)) + @424) + @3908) + @3914)))) + @3922)))) + @2253) + proof(fun (h._@.LexLeanRuntime.Reasoning.#1387531038._hygCtx._hyg.#213 : @3929) => + proof(proof(proof(proof(proof(@3931 + proof(fun (x._@.LexLeanRuntime.Reasoning.#1387531038._hygCtx._hyg.#211 : @2653) => + proof((e : @3648) -> + proof(proof(@2036 + proof(@57 + proof(@3650 + proof(proof(proof(proof(proof(@4207 @139) + proof(fun (x._@.LexLeanRuntime.Reasoning.#1387531038._hygCtx._hyg.#187 : @3228) => + @3654)) + @4) + @3662) + @3668)))) + @3944)))) + @3952) + @420) + @3958) + @3771))) +@4253 := proof(@3964 + proof(fun (x._@.LexLeanRuntime.Reasoning.#1387531038._hygCtx._hyg.#211 : @2789) => + proof((e : @3681) -> + proof(proof(@2036 + proof(@149 + proof(@3683 + proof(proof(proof(proof(proof(@4207 @133) + proof(fun (x._@.LexLeanRuntime.Reasoning.#1387531038._hygCtx._hyg.#187 : @3240) => + @3686)) + @4) + @3694) + @3700)))) + @3977)))) +@4254 := proof(@3941 @2053) +@4256 := proof(proof(@2045 @4254) @15) +@4257 := proof(@3986 @4256) +@4262 := proof(proof(proof(proof(proof(Nat.le_trans) @3985) @3988) @4256) @489) +@4265 := proof(proof(proof(Nat.add_le_add_right) @424) @4254) +@4267 := proof(proof(@128 @6) @1) +@4293 := proof(fun {σ : @0} => + proof(fun (step : @3596) => + proof(fun (c : @3785) => + proof(fun (h : @4202) => + proof(have general : @3868 := proof(fun (n : @2027) => + proof(proof(@3883 + proof(fun (n : @2027) => + proof(fun (ih : @3877) => + proof(fun (a : @49) => + proof(@3892 + proof(proof(@4240 + proof(fun (b : @59) => + proof(fun (h._@.LexLeanRuntime.Reasoning.#1387531038._hygCtx._hyg.#229 : @3963) => + proof(proof(proof(proof(@4253 + proof(fun (e : @3982) => + proof(have hb : @4257 := proof(@4262 + proof(proof(@4265 @4267) @15)); + proof(@4074 @1)))) + @424) + @4115) + @3716)))) + @4122)))))) + @1)); + @4181))))) +@4294 := (x._@.LexLeanRuntime.Reasoning.#2133970254._hygCtx._hyg.#334 : @3571) -> @506 +@4297 := {σ : @0} -> + (motive : @4294) -> (x._@.LexLeanRuntime.Reasoning.#2133970254._hygCtx._hyg.#334 : @3573) -> @3580 +@4304 := fun {σ : @0} => + fun (motive : @4294) => + fun (x._@.LexLeanRuntime.Reasoning.#2133970254._hygCtx._hyg.#334 : @3573) => + fun (h_1 : @3575) => + fun (h_2 : @3578) => + @3588 (fun (val._@.LexLeanRuntime.Reasoning.#2133970254._hygCtx._hyg.#354 : @10) => @541) +@4305 := (a._@._internal._hyg.#0 : @4) -> @551 +@4306 := (a._@._internal._hyg.#0 : @12) -> @12 +@4313 := (a : @10) -> (a._@._internal._hyg.#0 : @2574 @2219 @2585) -> @2574 (@12 @8) @2585 +@4323 := (a : @15) -> + (b : @49) -> (a._@._internal._hyg.#0 : @2648 @122 (@2649 @1)) -> @2648 (@15 @489) (@2649 @303) +@4324 := @3636 @49 +@4325 := @4324 @4 +@4326 := @4325 @1 +@4329 := @2694 (@10 (@3635 @4326)) +@4330 := @3622 @15 +@4332 := @4330 @4 @534 +@4335 := @571 (@4329 (@3621 @4332)) +@4337 := @572 @57 @477 +@4339 := @488 (@4337 @4326) +@4341 := @572 @59 @477 +@4353 := {σ : @0} -> + {τ : @0} -> + (f : @4305) -> + (g : @4305) -> + (π : @4306) -> + (hnone : @4313) -> (hsome : @4323) -> (n : @2027) -> (a : @59) -> @4335 (@4339 (@4341 @4332)) +@4354 := proof(@4149 @59) +@4356 := proof(proof(@4354 @4) @1) +@4359 := proof(@2925 proof(@15 proof(@3896 @4356))) +@4360 := proof(@4325 @2109) +@4363 := proof(@571 proof(@4359 proof(@3635 @4360))) +@4365 := proof(proof(@572 @149) @477) +@4371 := proof((a : @57) -> proof(@4363 proof(proof(@488 proof(@4365 @4356)) proof(@4337 @4360)))) +@4373 := proof(@3619 proof(fun (n : @2027) => @4371)) +@4375 := proof(proof(@4324 @3844) @1) +@4377 := proof(@10 proof(@3635 @4375)) +@4378 := proof(@2694 @4377) +@4380 := proof(proof(@4330 @3844) @534) +@4383 := proof(@2834 proof(@4378 proof(@3621 @4380))) +@4384 := proof(@4337 @4375) +@4395 := proof(@4373 + proof(fun (x._@.LexLeanRuntime.Reasoning.#2133970254._hygCtx._hyg.#118 : @59) => + proof(proof(proof(@4383 proof(proof(@488 @4384) proof(@4341 @4380))) + proof(proof(@2838 @59) @4377)) + proof(@2839 @4384)))) +@4398 := proof(proof(proof(@3910 @57) @2054) @1) +@4401 := proof(@2672 proof(@49 proof(@3650 @4398))) +@4403 := proof(proof(@4354 @2054) @2253) +@4406 := proof(@571 proof(@4401 proof(@3896 @4403))) +@4408 := proof(proof(@572 @139) @477) +@4414 := proof(@2474 proof(@4406 proof(proof(@488 proof(@4408 @4398)) proof(@4365 @4403)))) +@4415 := proof(@3645 @139) +@4416 := proof(@3241 @260) +@4417 := proof(@4416 @1) +@4418 := proof(@487 @133) +@4419 := proof(_private.LexLeanRuntime.Reasoning.#0.LexLeanReasoning.iterateUntilSimulate.match_1_1.{1}) +@4420 := proof(@4419 @218) +@4422 := proof(@4420 + proof(fun (x._@.LexLeanRuntime.Reasoning.#2133970254._hygCtx._hyg.#334 : @3246) => @3731)) +@4423 := proof(@4422 @851) +@4426 := proof(fun ("_" : @511) => proof(proof(@3736 @12) @492)) +@4427 := proof(@4423 @4426) +@4428 := proof(@3741 @133) +@4431 := proof(fun (next : @218) => proof(proof(@4428 @15) @1)) +@4435 := proof(@4418 proof(@57 proof(@3728 proof(@4427 @4431)))) +@4436 := proof(@4419 @133) +@4438 := proof(@4436 + proof(fun (x._@.LexLeanRuntime.Reasoning.#2133970254._hygCtx._hyg.#369 : @3240) => @3686)) +@4439 := proof(@149 @424) +@4440 := proof(@4438 @4439) +@4443 := proof(fun ("_" : @511) => proof(proof(@3691 @3044) @492)) +@4444 := proof(@4440 @4443) +@4448 := proof(fun (next : @133) => proof(proof(proof(@3696 @139) @15) @1)) +@4450 := proof(@3683 proof(@4444 @4448)) +@4452 := proof(@571 proof(@4435 @4450)) +@4454 := proof(proof(@572 @218) @477) +@4456 := proof(@4420 + proof(fun (x._@.LexLeanRuntime.Reasoning.#2133970254._hygCtx._hyg.#402 : @3246) => @3731)) +@4461 := proof(@488 proof(@4454 proof(proof(proof(@4456 @851) @4426) @4431))) +@4463 := proof(proof(@572 @133) @477) +@4465 := proof(@4436 + proof(fun (x._@.LexLeanRuntime.Reasoning.#2133970254._hygCtx._hyg.#437 : @3240) => @3686)) +@4469 := proof(@4463 proof(proof(proof(@4465 @4439) @4443) @4448)) +@4474 := proof(@4415 + proof(fun (t._@.LexLeanRuntime.Reasoning.#2133970254._hygCtx._hyg.#463 : @3228) => + proof((h : @4417) -> proof(@4452 proof(@4461 @4469))))) +@4475 := proof(@57 @1) +@4476 := proof(@4474 @4475) +@4478 := proof(proof(@3229 @4475) @3236) +@4480 := proof(proof(@1277 @3240) @3400) +@4481 := proof(@3247 @851) +@4482 := proof(@4481 @1) +@4483 := proof(@487 @218) +@4484 := proof(@4419 @212) +@4486 := proof(@4484 + proof(fun (x._@.LexLeanRuntime.Reasoning.#2133970254._hygCtx._hyg.#334 : @3370) => @4006)) +@4487 := proof(@4486 @4) +@4490 := proof(fun ("_" : @511) => proof(proof(@4012 @10) @492)) +@4491 := proof(@4487 @4490) +@4492 := proof(@4017 @218) +@4495 := proof(fun (next : @212) => proof(proof(@4492 @49) @1)) +@4499 := proof(@4483 proof(@149 proof(@4003 proof(@4491 @4495)))) +@4501 := proof(@4420 + proof(fun (x._@.LexLeanRuntime.Reasoning.#2133970254._hygCtx._hyg.#369 : @3246) => @3731)) +@4502 := proof(@139 @3044) +@4503 := proof(@4501 @4502) +@4506 := proof(fun ("_" : @511) => proof(proof(@3736 @859) @492)) +@4507 := proof(@4503 @4506) +@4510 := proof(fun (next : @218) => proof(proof(@4428 @49) @1)) +@4512 := proof(@3728 proof(@4507 @4510)) +@4514 := proof(@571 proof(@4499 @4512)) +@4516 := proof(proof(@572 @212) @477) +@4518 := proof(@4484 + proof(fun (x._@.LexLeanRuntime.Reasoning.#2133970254._hygCtx._hyg.#402 : @3370) => @4006)) +@4523 := proof(@488 proof(@4516 proof(proof(proof(@4518 @4) @4490) @4495))) +@4525 := proof(@4420 + proof(fun (x._@.LexLeanRuntime.Reasoning.#2133970254._hygCtx._hyg.#437 : @3246) => @3731)) +@4529 := proof(@4454 proof(proof(proof(@4525 @4502) @4506) @4510)) +@4534 := proof(@4480 + proof(fun (x._@.LexLeanRuntime.Reasoning.#2133970254._hygCtx._hyg.#462 : @3240) => + proof((e : @4482) -> proof(@4514 proof(@4523 @4529))))) +@4535 := proof(@4416 @3400) +@4540 := proof(@57 proof(@3728 proof(proof(proof(@4422 @3254) @4426) @4431))) +@4541 := proof(@4418 @4540) +@4543 := proof(@571 proof(@4541 @4450)) +@4547 := proof(@4454 proof(proof(proof(@4456 @3254) @4426) @4431)) +@4548 := proof(@488 @4547) +@4550 := proof(@4543 proof(@4548 @4469)) +@4551 := proof(@2487 @4550) +@4556 := proof(@4541 proof(@3683 proof(proof(proof(@4438 @3400) @4443) @4448))) +@4557 := proof(@571 @4556) +@4562 := proof(@4548 proof(@4463 proof(proof(proof(@4465 @3400) @4443) @4448))) +@4563 := proof(@4557 @4562) +@4610 := proof(proof(@4534 + proof(fun (e : @4535) => + proof(proof(proof(@4551 @4563) + proof(proof(@2474 proof(proof(@2497 @4550) @4563)) + proof(proof(proof(proof(proof(proof(@2331 @3240) @2) @4439) @3400) + proof(fun (_a : @3240) => + proof(proof(@571 + proof(proof(@4483 + proof(@149 + proof(@4003 + proof(proof(proof(@4486 @3378) @4490) @4495)))) + proof(@3728 proof(proof(proof(@4501 @1) @4506) @4510)))) + proof(proof(@488 + proof(@4516 proof(proof(proof(@4518 @3378) @4490) @4495))) + proof(@4454 proof(proof(proof(@4525 @1) @4506) @4510)))))) + @443))) + proof(proof(proof(proof(@2834 @4556) @4562) proof(proof(@2838 @133) @4540)) + proof(@2839 @4547))))) + @260) +@4611 := proof(@2167 @3240) +@4615 := proof(@4610 proof(proof(proof(@4611 @260) @3400) @1)) +@4616 := proof(@1411 @3240) +@4620 := proof(@4476 + proof(fun (h._@.LexLeanRuntime.Reasoning.#2133970254._hygCtx._hyg.#464 : @4478) => + proof(@4615 proof(@4616 @260)))) +@4621 := proof(@3242 @1) +@4622 := proof(@4416 @4621) +@4623 := proof(@1277 @3246) +@4624 := proof(@3251 @4) +@4625 := proof(@4623 @4624) +@4627 := proof(proof(@3371 @269) @1) +@4628 := proof(@487 @212) +@4630 := proof(proof(@583 @861) @477) +@4631 := proof(@4419 @861) +@4632 := proof(@501 @861) +@4634 := proof(proof(@502 @1315) @477) +@4636 := proof(@4631 + proof(fun (x._@.LexLeanRuntime.Reasoning.#2133970254._hygCtx._hyg.#334 : @4632) => @4634)) +@4637 := proof(@4636 @4) +@4639 := proof(proof(@2982 @1315) @477) +@4642 := proof(fun ("_" : @511) => proof(proof(@4639 @15) @492)) +@4643 := proof(@4637 @4642) +@4644 := proof(@3605 @1315) +@4648 := proof(fun (next : @861) => proof(proof(proof(@4644 @212) @59) @1)) +@4652 := proof(@4628 proof(@139 proof(@4630 proof(@4643 @4648)))) +@4654 := proof(@4484 + proof(fun (x._@.LexLeanRuntime.Reasoning.#2133970254._hygCtx._hyg.#369 : @3370) => @4006)) +@4655 := proof(@133 @859) +@4656 := proof(@4654 @4655) +@4659 := proof(fun ("_" : @511) => proof(proof(@4012 @916) @492)) +@4660 := proof(@4656 @4659) +@4663 := proof(fun (next : @212) => proof(proof(@4492 @59) @1)) +@4667 := proof(@571 proof(@4652 proof(@4003 proof(@4660 @4663)))) +@4669 := proof(proof(@572 @861) @477) +@4671 := proof(@4631 + proof(fun (x._@.LexLeanRuntime.Reasoning.#2133970254._hygCtx._hyg.#402 : @4632) => @4634)) +@4676 := proof(@488 proof(@4669 proof(proof(proof(@4671 @4) @4642) @4648))) +@4678 := proof(@4484 + proof(fun (x._@.LexLeanRuntime.Reasoning.#2133970254._hygCtx._hyg.#437 : @3370) => @4006)) +@4687 := proof(@4625 + proof(fun (x._@.LexLeanRuntime.Reasoning.#2133970254._hygCtx._hyg.#462 : @3246) => + proof((e : @4627) -> + proof(@4667 proof(@4676 proof(@4516 proof(proof(proof(@4678 @4655) @4659) @4663))))))) +@4688 := proof(@4481 @4624) +@4689 := proof(@3375 @6) +@4695 := proof(@4483 proof(@149 proof(@4003 proof(proof(proof(@4486 @4689) @4490) @4495)))) +@4697 := proof(@571 proof(@4695 @4512)) +@4702 := proof(@488 proof(@4516 proof(proof(proof(@4518 @4689) @4490) @4495))) +@4704 := proof(@4697 proof(@4702 @4529)) +@4705 := proof(@2487 @4704) +@4706 := proof(@3251 @1059) +@4718 := proof(proof(@571 proof(@4695 proof(@3728 proof(proof(proof(@4501 @4706) @4506) @4510)))) + proof(@4702 proof(@4454 proof(proof(proof(@4525 @4706) @4506) @4510)))) +@4719 := proof(@4705 @4718) +@4722 := proof(@2474 proof(proof(@2497 @4704) @4718)) +@4726 := proof(proof(proof(proof(@2331 @3246) @2) @4502) @4706) +@4728 := proof(proof(@518 @861) @12) +@4760 := proof(proof(@4687 + proof(fun (e : @4688) => + proof(proof(@4719 + proof(@4722 + proof(proof(@4726 + proof(fun (_a : @3246) => + proof(proof(@571 + proof(proof(@4628 + proof(@139 + proof(@4630 + proof(proof(proof(@4636 @4728) @4642) @4648)))) + proof(@4003 proof(proof(proof(@4654 @1) @4659) @4663)))) + proof(proof(@488 + proof(@4669 proof(proof(proof(@4671 @4728) @4642) @4648))) + proof(@4516 proof(proof(proof(@4678 @1) @4659) @4663)))))) + @4267))) + @489))) + @851) +@4761 := proof(@2167 @3246) +@4786 := proof(fun {σ : @0} => + proof(fun {τ : @0} => + proof(fun (f : @4305) => + proof(fun (g : @4305) => + proof(fun (π : @4306) => + proof(fun (hnone : @4313) => + proof(fun (hsome : @4323) => + proof(fun (n : @2027) => + proof(proof(@4395 + proof(fun (n : @2027) => + proof(fun (ih : @4371) => + proof(fun (a : @149) => + proof(@4414 + proof(proof(@4620 + proof(fun (b : @139) => + proof(fun (h._@.LexLeanRuntime.Reasoning.#2133970254._hygCtx._hyg.#503 : @4622) => + proof(proof(@4760 + proof(proof(proof(@4761 @851) @4624) @1)) + proof(@3409 @851))))) + proof(@3281 @4475))))))) + @1))))))))) +@4787 := (x._@.LexLeanRuntime.Reasoning.#2861110971._hygCtx._hyg.#149 : @3571) -> @506 +@4790 := {σ : @0} -> + (motive : @4787) -> (x._@.LexLeanRuntime.Reasoning.#2861110971._hygCtx._hyg.#149 : @3573) -> @3580 +@4797 := fun {σ : @0} => + fun (motive : @4787) => + fun (x._@.LexLeanRuntime.Reasoning.#2861110971._hygCtx._hyg.#149 : @3573) => + fun (h_1 : @3575) => + fun (h_2 : @3578) => + @3588 (fun (val._@.LexLeanRuntime.Reasoning.#2861110971._hygCtx._hyg.#169 : @10) => @541) +@4798 := (a._@._internal._hyg.#0 : @6) -> @2027 +@4806 := (a : @12) -> + (b : @10) -> + (a._@._internal._hyg.#0 : @3788) -> (a._@._internal._hyg.#0 : @489) -> @571 @173 (@3460 @489 @406) +@4819 := {σ : @0} -> + (step : @3596) -> + (p : @550) -> + (μ : @4798) -> + (h : @4806) -> + (n : @2027) -> + (a : @15) -> + (a._@._internal._hyg.#0 : @534) -> (a._@._internal._hyg.#0 : @3461 @6) -> @488 (@4337 @4137) @492 +@4829 := proof((a : @49) -> + proof((a._@._internal._hyg.#0 : @2109) -> + proof((a._@._internal._hyg.#0 : proof(proof(@3460 @122) @6)) -> + proof(proof(@488 proof(@4365 proof(proof(@4150 @12) @6))) @492)))) +@4850 := proof(proof(@3619 proof(fun (n : @2027) => @4829)) + proof(fun (a : @15) => + proof(fun (a._@._internal.#0.LexLeanRuntime.Reasoning.#2861110971._hygCtx._hyg.#74 : @534) => + proof(fun (hm : proof(@3461 @3844)) => + proof(proof(proof(proof(proof(absurd.{0}) proof(proof(@3460 @173) @3844)) + proof(proof(@488 proof(@4337 proof(proof(@3637 @3844) @6))) @492)) + @1) + proof(proof(Nat.not_lt_zero) @173)))))) +@4851 := proof(@3464 @3639) +@4857 := proof(@2474 proof(proof(@488 proof(@4408 proof(proof(@3911 @3921) @6))) @492)) +@4858 := proof(@3241 @210) +@4859 := proof(@4858 @1) +@4860 := proof(_private.LexLeanRuntime.Reasoning.#0.LexLeanReasoning.iterateUntilStops.match_1_1.{1}) +@4863 := proof(proof(@4860 @218) + proof(fun (x._@.LexLeanRuntime.Reasoning.#2861110971._hygCtx._hyg.#149 : @3246) => @3731)) +@4864 := proof(@4863 @271) +@4867 := proof(fun ("_" : @511) => proof(proof(@3736 @15) @492)) +@4868 := proof(@4864 @4867) +@4871 := proof(fun (next : @218) => proof(proof(@3742 @59) @1)) +@4879 := proof(proof(@4415 + proof(fun (t._@.LexLeanRuntime.Reasoning.#2861110971._hygCtx._hyg.#174 : @3228) => + proof((h : @4859) -> proof(proof(@488 proof(@4454 proof(@4868 @4871))) @492)))) + @1059) +@4881 := proof(proof(@3229 @1059) @3236) +@4882 := proof(@3247 @271) +@4918 := proof(@4879 + proof(fun (h._@.LexLeanRuntime.Reasoning.#2861110971._hygCtx._hyg.#175 : @4881) => + proof(proof(proof(proof(proof(@4480 + proof(fun (x._@.LexLeanRuntime.Reasoning.#2861110971._hygCtx._hyg.#173 : @3240) => + proof((e : proof(@4882 @1)) -> + proof(proof(@488 + proof(@4516 + proof(proof(proof(proof(proof(@4860 @212) + proof(fun (x._@.LexLeanRuntime.Reasoning.#2861110971._hygCtx._hyg.#149 : @3370) => + @4006)) + @4) + proof(fun ("_" : @511) => proof(proof(@4012 @49) @492))) + proof(fun (next : @212) => proof(proof(@4018 @57) @1))))) + @492)))) + proof(fun (e : proof(@4858 @3400)) => + proof(@2198 proof(@4454 proof(proof(proof(@4863 @3254) @4867) @4871))))) + @210) + proof(proof(proof(@4611 @210) @3400) @1)) + proof(@4616 @210)))) +@4919 := proof(@4858 @4621) +@4941 := proof(@4625 + proof(fun (x._@.LexLeanRuntime.Reasoning.#2861110971._hygCtx._hyg.#173 : @3246) => + proof((e : proof(proof(@3371 proof(@218 @15)) @1)) -> + proof(proof(@488 + proof(@4669 + proof(proof(proof(proof(proof(@4860 @861) + proof(fun (x._@.LexLeanRuntime.Reasoning.#2861110971._hygCtx._hyg.#149 : @4632) => + @4634)) + @4) + proof(fun ("_" : @511) => proof(proof(@4639 @59) @492))) + proof(fun (next : @861) => proof(proof(proof(@4644 @861) @149) @1))))) + @492)))) +@4942 := proof(@4882 @4624) +@4946 := proof(proof(@571 @908) proof(proof(@3460 @851) @3504)) +@4947 := proof(@149 @15) +@4950 := proof(proof(proof(@4947 @6) @1) @10) +@4951 := proof(And.left) +@4952 := proof(@218 @12) +@4953 := proof(@4951 @4952) +@4954 := proof(@3460 @269) +@4955 := proof(@133 @49) +@4956 := proof(@4954 @4955) +@5003 := proof(fun {σ : @0} => + proof(fun (step : @3596) => + proof(fun (p : @550) => + proof(fun (μ : @4798) => + proof(fun (h : @4806) => + proof(fun (n : @2027) => + proof(proof(@4850 + proof(fun (n : @2027) => + proof(fun (ih : @4829) => + proof(fun (a : @59) => + proof(fun (ha : @2253) => + proof(fun (hm : @4851) => + proof(@4857 + proof(proof(@4918 + proof(fun (b : @139) => + proof(fun (h._@.LexLeanRuntime.Reasoning.#2861110971._hygCtx._hyg.#184 : @4919) => + proof(proof(proof(proof(@4941 + proof(fun (e : @4942) => + proof(have hb : @4946 := @4950; + proof(proof(@128 + proof(proof(@4953 @4956) @1)) + proof(proof(proof(proof(proof(proof(Nat.lt_of_lt_of_le) + @269) + @4955) + @57) + proof(proof(proof(proof(And.right) + @4952) + @4956) + @1)) + proof(proof(proof(proof(Nat.le_of_lt_succ) + @4955) + @57) + @10)))))) + @271) + proof(proof(proof(@4761 @271) @4624) @1)) + proof(@3409 @271))))) + proof(@3281 @1059))))))))) + @1))))))) +@5009 := @487 @551 (@512 @6) (@518 @6 @1) +@5013 := {ρ : @0} -> {q : @2} -> (v : @4) -> (h : @5009) -> @6 +@5015 := proof(proof(@2628 @2543) @2555) +@5016 := proof(@579 @2623) +@5017 := proof(@5016 @1) +@5019 := proof(proof(@2574 @2583) @4) +@5020 := proof(@2636 @2643) +@5066 := proof(fun {ρ : @0} => + proof(fun {q : @2} => + proof(fun (v : @4) => + proof(fun (h : @5009) => + proof(proof(proof(proof(proof(proof(@5015 + proof(fun (a._@._internal.#0.LexLeanRuntime.Reasoning.#4189296626._hygCtx._hyg.#22 : @2543) => + proof(fun (t._@.LexLeanRuntime.Reasoning.#4189296626._hygCtx._hyg.#23 : @5017) => + proof((h : @5019) -> + proof((h : proof(proof(proof(proof(@1167 proof(@5020 @2641)) @12) + proof(@5020 @6)) + @4)) -> + @49))))) + @2553) + @1) + proof(fun (h._@.LexLeanRuntime.Reasoning.#4189296626._hygCtx._hyg.#24 : proof(proof(@2544 + @2553) + @2555)) => + proof(proof(@1199 + proof((h : proof(proof(proof(proof(@1167 proof(@5016 @2621)) @4) + proof(@5016 @2623)) + proof(proof(@1411 @578) @2623))) -> + @10)) + proof(proof(proof(proof(proof(@1219 @578) proof(@2701 @10)) @2621) @2623) + @1)))) + proof(proof(@1411 @2543) @2553)) + proof(proof(@1415 proof(proof(@2544 @2555) @2553)) @1)))))) +@5067 := @2036 @6 +@5068 := @5067 @1 +@5069 := @5067 @4 +@5070 := @2069 @2027 +@5072 := @2028 @10 @12 +@5073 := @488 @5072 +@5074 := @5073 @492 +@5087 := (p : @2027) -> + (len : @2027) -> + (k : @2027) -> (hp : @5068) -> (hl : @5069) -> @2036 (@5070 @5074 (@2082 @5072 @492) @12 @10) @6 +@5089 := proof(proof(@2028 @15) @10) +@5091 := proof(proof(@488 @5089) @1) +@5093 := proof(proof(@2028 @49) @15) +@5107 := proof(proof(@2110 + proof(fun (t._@.LexLeanRuntime.Reasoning.#4290988191._hygCtx._hyg.#37 : @477) => + proof((h : @5091) -> + proof(proof(@2036 + proof(proof(proof(proof(@5070 proof(proof(@488 @5093) @492)) + proof(proof(@2082 @5093) @492)) + @15) + @49)) + @10)))) + @5072) +@5108 := proof(@5073 @2150) +@5115 := proof(fun (x._@.LexLeanRuntime.Reasoning.#4290988191._hygCtx._hyg.#36 : @477) => + proof(proof(@2036 proof(proof(proof(proof(@5070 @2155) @2158) @15) @49)) @10)) +@5118 := proof(proof(proof(@2153 @5115) @6) @5089) +@5119 := proof(@2168 @5089) +@5139 := proof(fun (p : @2027) => + proof(fun (len : @2027) => + proof(fun (k : @2027) => + proof(fun (hp : @5068) => + proof(fun (hl : @5069) => + proof(proof(proof(@5107 + proof(fun (h._@.LexLeanRuntime.Reasoning.#4290988191._hygCtx._hyg.#38 : @5108) => + proof(@5118 proof(proof(@5119 @2150) @1)))) + proof(fun (h._@.LexLeanRuntime.Reasoning.#4290988191._hygCtx._hyg.#43 : @5074) => + proof(proof(proof(proof(@2176 @5115) @4) @5089) proof(proof(@5119 @492) @1)))) + proof(@2198 @5072))))))) +@5152 := {σ : @0} -> + {ε : @0} -> (r : @631) -> (a : @6) -> LexLeanReasoning.Reaches @12 @6 @4 @1 (@646 @6 @12 @1) +@5155 := proof(@487 proof(proof(@634 @12) @10)) +@5157 := proof(proof(@646 @12) @10) +@5161 := proof(proof(@5155 proof(@5157 @4)) proof(@5157 @1)) +@5162 := proof(@2628 @643) +@5163 := proof(@648 @6) +@5164 := proof(@5162 @5163) +@5166 := proof(proof(@634 @15) @49) +@5167 := proof(@487 @5166) +@5169 := proof(proof(@646 @15) @49) +@5170 := proof(@5169 @12) +@5171 := proof(@5167 @5170) +@5172 := proof(@5171 @1) +@5175 := proof(@487 proof(proof(@634 @49) @59)) +@5177 := proof(proof(@646 @49) @59) +@5180 := proof(proof(@5175 proof(@5177 @12)) @4) +@5182 := proof(proof(@634 @59) @57) +@5183 := proof(@487 @5182) +@5185 := proof(proof(@646 @59) @57) +@5186 := proof(@5185 @15) +@5187 := proof(@5183 @5186) +@5202 := proof(@5164 + proof(fun (a._@._internal.#0.LexLeanRuntime.Reasoning.#1678718394._hygCtx._hyg.#24 : @643) => + proof(fun (t._@.LexLeanRuntime.Reasoning.#1678718394._hygCtx._hyg.#25 : @5172) => + proof((h : @5180) -> + proof((h : proof(proof(proof(proof(@1167 proof(@5187 proof(@5185 @10))) @12) + proof(@5187 @6)) + @4)) -> + proof(proof(proof(@1055 @59) @49) @15)))))) +@5203 := proof(@648 @4) +@5205 := proof(proof(@5202 @5203) @1) +@5207 := proof(proof(@644 @5203) @5163) +@5227 := proof(proof(proof(proof(proof(proof(proof(Except.ok.noConfusion.{0, 0, 0}) @15) @49) + proof((h : proof(proof(proof(proof(@1167 proof(@5171 proof(@5169 @6))) @4) + proof(@5171 @5170)) + proof(proof(@1411 @5166) @5170))) -> + proof(proof(proof(@775 @15) @10) @12))) + @6) + @12) + @1) +@5230 := proof(proof(proof(@2781 @6) @49) @12) +@5231 := proof(@2785 @10) +@5233 := proof(@5187 proof(@5185 @1)) +@5235 := proof(proof(@634 @57) @149) +@5236 := proof(@487 @5235) +@5238 := proof(proof(@646 @57) @149) +@5239 := proof(@5238 @49) +@5240 := proof(@5236 @5239) +@5256 := proof(@5231 + proof(fun (s : @59) => + proof((e : @5233) -> + proof((h : proof(proof(proof(proof(@1167 proof(@5240 proof(@5238 @4))) @1) + proof(@5240 @5239)) + proof(proof(@1411 @5235) @5239))) -> + proof(proof(proof(@847 @57) @59) @6))))) +@5257 := proof(@5177 @10) +@5259 := proof(proof(@5175 @5257) @5257) +@5260 := proof(@5187 @5186) +@5299 := proof(fun {σ : @0} => + proof(fun {ε : @0} => + proof(fun (r : @631) => + proof(fun (a : @6) => + proof(fun (s : @12) => + proof(fun (e : @5161) => + proof(proof(proof(@5205 + proof(fun (h._@.LexLeanRuntime.Reasoning.#1678718394._hygCtx._hyg.#26 : @5207) => + proof(@5227 + proof(fun (a_eq._@._internal.#0.LexLeanRuntime.Reasoning.#1678718394._hygCtx._hyg.#27 : @5230) => + proof(proof(proof(proof(@5256 + proof(fun (e : @5259) => + proof(fun (h._@.LexLeanRuntime.Reasoning.#1678718394._hygCtx._hyg.#29 : proof(proof(proof(proof(@1167 + @5260) + @1) + @5260) + proof(proof(@1411 @5182) @5186))) => + proof(proof(proof(@705 @149) @59) @49)))) + @12) + proof(proof(proof(@2849 @12) @10) + proof(proof(proof(@2852 @12) @10) @1))) + @6))))) + proof(proof(@1411 @643) @5203)) + proof(proof(@1415 proof(proof(@644 @5163) @5203)) @1)))))))) +@5301 := @11 @6 @1 +@5307 := LexLeanReasoning.SearchOk @15 @10 @12 @6 @4 +@5308 := @512 @520 +@5315 := {ν : @0} -> + {ρ : @0} -> (ok : @550) -> (accept : @552) -> (frontier : @45) -> (h : @5301) -> @5307 @5308 +@5327 := proof(fun {ν : @0} => + proof(fun {ρ : @0} => + proof(fun (ok : @550) => + proof(fun (accept : @552) => + proof(fun (frontier : @45) => + proof(fun (h : @5301) => + proof(proof(proof(proof(@2834 @668) proof(@674 @5308)) @1) proof(True.intro)))))))) +@5331 := LexLeanReasoning.Preserves @6 @4 @1 +@5333 := @715 @4 @1 +@5341 := {σ : @0} -> + (r : @597) -> + (j : @550) -> + (h : @5331) -> + (a : @12) -> + (b : @10) -> (a._@._internal._hyg.#0 : @5333) -> (a._@._internal._hyg.#0 : @489) -> @173 +@5375 := proof(fun {σ : @0} => + proof(fun (r : @597) => + proof(fun (j : @550) => + proof(fun (h : @5331) => + proof(fun (a : @12) => + proof(fun (b : @10) => + proof(fun (hs : @5333) => + proof(proof(proof(proof(proof(proof(@979 @6) + proof(fun (b : @49) => + proof(fun (hs : proof(proof(@776 @12) @1)) => + proof((a._@._internal._hyg.#0 : proof(@49 @10)) -> @442)))) + proof(fun (ha : @489) => @1)) + proof(fun (y : @49) => + proof(fun (z : @59) => + proof(fun (a._@._internal.#0.LexLeanRuntime.Reasoning.#3394437847._hygCtx._hyg.#41 : proof(proof(@988 + @10) + @4)) => + proof(fun (hyz : @991) => + proof(fun (ih : proof((a._@._internal._hyg.#0 : proof(@57 @49)) -> + @3484)) => + proof(fun (ha : proof(@149 @59)) => + proof(proof(proof(@4947 @10) @541) @6)))))))) + @4) + @1)))))))) +@5378 := (n : @2027) -> @2036 @3844 @1 +@5380 := proof(fun (n : @2027) => proof(@2537 @1)) +\end{coremodule} +\end{lexlean} diff --git a/model/ids.toml b/model/ids.toml index d56a98b32..f4efb3acd 100644 --- a/model/ids.toml +++ b/model/ids.toml @@ -1236,7 +1236,7 @@ statement = "Check and build results never claim verified or kernel-checked stat id = "VR-19" level = "build" suite = "verification" -statement = "The native Atlas source graph is self-contained: every generated Atlas module publicly depends only on Init and the generated graph, its only backend-support import is Lean, and no independently authored Atlas implementation exists." +statement = "The native Atlas source graph is self-contained: every generated Atlas module publicly depends only on Init and the generated graph, its only backend-support import is Lean, and no independently authored Atlas implementation exists. The one Lean text a generated Atlas module carries beside its data is the decoder of core module 1: the released language-1.0 bytes, held as the frozen data `language/runtime-1.2/frozen/core-decoder-1.txt`, the one declared exception to Lean generated from native modules." [[id]] id = "VR-20" @@ -1800,7 +1800,7 @@ statement = "The certification model, certificate fixtures, certificate module, id = "GC-11" level = "build" suite = "gnaf-certification" -statement = "The certification library is LexLean source: every module of its registry is one language-1.2 native core module of the library's own project, which holds no file of Lean source, no Lean file anywhere in the release tree declares the library's namespace or lies under its module root, and the registry lists only the modules; the declarations and their exact axiom policies are read from the native data, a module that imports anything but `Init`, an earlier module, the preservation core, or the generated and calculus modules it is stated against, or that does not pin its axioms exactly, is refused, and the Lean the compiler generates from the sources is, byte for byte, the Lean the certification library's kernel check compiles, so that neither a stale nor an edited generated module can stand in for the source and a planted drift of the source is visible in what is generated." +statement = "The certification library is LexLean source: every module of its registry is one language-1.2 native core module of the library's own project, which holds no file of Lean source, no Lean file anywhere in the release tree declares the library's namespace or lies under its module root, and the registry lists only the modules; the declarations and their exact axiom policies are read from the native data, a module that imports anything but `Init`, an earlier module, the preservation core, or the generated and calculus modules it is stated against, or that does not pin its axioms exactly, is refused, and the Lean the compiler generates from the sources is, byte for byte, the Lean the certification library's kernel check compiles, so that neither a stale nor an edited generated module can stand in for the source and a planted drift of the source is visible in what is generated. The one Lean text a generated library module carries beside its data is the decoder of core module 2, which loads native modules." [[id]] id = "SP-01" @@ -1872,7 +1872,7 @@ statement = "Every production root of examples/production, examples/production-c id = "SP-12" level = "build" suite = "preservation" -statement = "The preservation library is LexLean source: every module of its registry is one language-1.2 native core module, the library project holds no file of Lean source, and no Lean file anywhere in the release tree declares its namespace or lies under its module root; the registry lists only the modules, and the declarations, their exact axiom policies, the constructors of the correspondence, and the cases of its soundness theorem are read from the native data, which the compiler embeds, hashes into the language-1.2 semantics, and generates the Lean of every verification from." +statement = "The preservation library is LexLean source: every module of its registry is one language-1.2 native core module, the library project holds no file of Lean source, and no Lean file anywhere in the release tree declares its namespace or lies under its module root; the registry lists only the modules, and the declarations, their exact axiom policies, the constructors of the correspondence, and the cases of its soundness theorem are read from the native data, which the compiler embeds, hashes into the language-1.2 semantics, and generates the Lean of every verification from. The one Lean text a generated library module carries beside its data is the decoder of core module 2, which loads native modules." [[id]] id = "SP-13" @@ -2301,3 +2301,27 @@ id = "AU-12" level = "build" suite = "authoring" statement = "A core module written with names for its statements and its variables reads to exactly the module its canonical notation reads to, and the canonical notation keeps the names of the binders and writes the numbers of the statements: a variable is written by the name of its binder exactly when no nearer binder has the name, a constant a binder in scope is named like is written as a string, a theorem added to the certification library by name reads to the committed module and is written as the committed bytes, and an unknown or repeated statement name and a variable given universe levels are refused with a position." + +[[id]] +id = "RT-01" +level = "build" +suite = "runtime" +statement = "The runtime of language 1.2 is LexLean source: every module of its registry is one native core module of the runtime's own project, which holds no file of Lean source, the registry lists only the modules in dependency order, every declaration pins its exact axioms, and a source that is missing, weakened to an inexact policy, or imports anything but `Init` and an earlier runtime module is refused; the one-time migration input is absent, no native source names a runtime copy inside a module, and no Lean file declares a runtime namespace but the released output of a language-1.0 or 1.1 project." + +[[id]] +id = "RT-02" +level = "build" +suite = "runtime" +statement = "The runtime text of languages 1.0 and 1.1 is the one declared exception: the portable runtime and the decoder of core module 1 are the released bytes, held as data under `language/runtime-1.2/frozen/`, read by the language-1.0 and 1.1 backends alone, excluded from the language-1.0 and 1.1 identities, and reproduced byte for byte by the released language-1.1 and 1.0 output; a one-byte change of either is not the released output." + +[[id]] +id = "RT-03" +level = "build" +suite = "runtime" +statement = "A verification compiles every runtime module that a project's generated modules, or the calculus modules its certificates are checked against, import before the project's modules, replays it with `leanchecker`, and audits each of its declarations against the axioms its row pins; the committed verification of a project that uses the collections prints them, the runtime's own project verifies under the pinned Lean, and a row that pins another axiom set than its declaration observes fails with LLV7005." + +[[id]] +id = "RT-04" +level = "build" +suite = "runtime" +statement = "No Lean runtime text remains in the language-1.2 compiler: a generated language-1.2 module imports the runtime modules it uses and splices none, and the only string literal of the compiler's source that holds Lean declarations under a namespace is the decoder of core module 2, which loads native modules and so cannot be one; a planted runtime text constant, raw or escaped, is found." diff --git a/oracle/known-differences.toml b/oracle/known-differences.toml index 1bcaa5bca..63eb23673 100644 --- a/oracle/known-differences.toml +++ b/oracle/known-differences.toml @@ -11,22 +11,17 @@ # run when the rows and the version disagree. spec = "lexlean/oracle-differences/1" -version = 2 +version = 3 [[difference]] id = "KD-01" kind = "acceptance" key = "oracle-refuses:escaping-local-function" -reason = "The oracle lowers a local function only when it is saturated, non-escaping, and acyclic (its subset contract). The Lean LexLean generates for these roots holds a local function that escapes: a lambda or function reference handed to another definition, the dictionary closures of LexLean's ordered-collection templates (key orders, folds, iteration, graph search), the structural-recursion helpers Lean compiles recursive and nested data to, and the transition functions of model and reasoner elaborations. LexLean realizes these through its own calculus (§17.14); the oracle's domain does not contain them." +reason = "The oracle lowers a local function only when it is saturated, non-escaping, and acyclic (its subset contract). The Lean LexLean generates for these roots holds a local function that escapes: a lambda or function reference handed to another definition, the step closures LexLean's ordered-collection folds and iterations take, the structural-recursion helpers Lean compiles recursive and nested data to, and the transition functions of model and reasoner elaborations. LexLean realizes these through its own calculus (§17.14); the oracle's domain does not contain them." roots = [ "Coverage.Colls.folds", - "Coverage.Colls.graphs", "Coverage.Colls.iterations", - "Coverage.Colls.keyTypes", "Coverage.Colls.mapFolding", - "Coverage.Colls.mapOps", - "Coverage.Colls.setOps", - "Coverage.Colls.stringGraph", "Coverage.Main.higher", "Coverage.Main.treeTotal", "Coverage.RecRoots.rewrite", @@ -36,26 +31,11 @@ roots = [ "Models.Main.classify", "Models.Main.classifyChecked", "Models.Main.respond", - "OracleProbe.ProbeGraphReachable.reachableRoot", - "OracleProbe.ProbeGraphSuccessors.successorsRoot", - "OracleProbe.ProbeGraphTopological.topologicalRoot", "OracleProbe.ProbeIterate.iterateRoot", "OracleProbe.ProbeIterateUntil.iterateUntilRoot", "OracleProbe.ProbeListFold.listFoldRoot", - "OracleProbe.ProbeMapContains.mapContainsRoot", "OracleProbe.ProbeMapFold.mapFoldRoot", - "OracleProbe.ProbeMapInsert.mapInsertRoot", - "OracleProbe.ProbeMapKeys.mapKeysRoot", - "OracleProbe.ProbeMapLookup.mapLookupRoot", - "OracleProbe.ProbeMapRemove.mapRemoveRoot", - "OracleProbe.ProbeMapValues.mapValuesRoot", - "OracleProbe.ProbeSetContains.setContainsRoot", - "OracleProbe.ProbeSetDifference.setDifferenceRoot", "OracleProbe.ProbeSetFold.setFoldRoot", - "OracleProbe.ProbeSetInsert.setInsertRoot", - "OracleProbe.ProbeSetIntersection.setIntersectionRoot", - "OracleProbe.ProbeSetRemove.setRemoveRoot", - "OracleProbe.ProbeSetUnion.setUnionRoot", "Production.Main.quadruple", "Reasoning.Main.doseLevel", "Reasoning.Main.planLeft", @@ -67,33 +47,51 @@ roots = [ id = "KD-02" kind = "acceptance" key = "oracle-refuses:opaque-lowering" -reason = "The oracle has no monomorphization (its documented limit): a definition that remains parameterized by a type after Lean's compiler lowers to a type expression it has no rendering for. In the Lean LexLean generates these are its generic definitions instantiated at a use site (firstOr, unbox, identity), a definition that takes a function (twice), and the polymorphic accessors and iterations of the collection templates (mapSize, setSize, setElements, mapEntries, iterateUntil). LexLean monomorphizes at lowering (§17.17)." +reason = "The oracle has no monomorphization (its documented limit): a definition that remains parameterized by a type after Lean's compiler lowers to a type expression it has no rendering for. In the Lean LexLean generates these are its generic definitions instantiated at a use site (firstOr, unbox, identity), a definition that takes a function (twice). LexLean monomorphizes at lowering (§17.17)." roots = [ - "Coverage.Boundary.groveRoot", "Coverage.Main.records", "OracleProbe.ProbeFunctionRef.referenceRoot", "OracleProbe.ProbeGeneric.genericRoot", - "OracleProbe.ProbeMapEntries.mapEntriesRoot", - "OracleProbe.ProbeMapSize.mapSizeRoot", - "OracleProbe.ProbeSetElements.setElementsRoot", - "OracleProbe.ProbeSetSize.setSizeRoot", "Production.Main.headOr", - "Reasoning.Main.gatewayLevel", - "Reasoning.Main.gradeLevel", - "Reasoning.Main.triageLevel", - "Reasoning.Main.triageSteps", ] [[difference]] id = "KD-03" kind = "acceptance" key = "oracle-refuses:unresolved-external-call" -reason = "The oracle's operators are the Nat operations of its subset contract and its own exported definitions; a call of any other constant has nothing to call. Here those are the mathematical-integer operations (Int.neg) and the partner of a mutually recursive pair (isEven and isOdd), which its exporter does not follow. LexLean realizes the mathematical integer in 64 bits with explicit overflow and compiles mutual recursion through its own structural helpers (§17.13)." +reason = "The oracle's operators are the Nat operations of its subset contract and its own exported definitions; a call of any other constant has nothing to call. Here those are the mathematical-integer operations (Int.neg) and the partner of a mutually recursive pair (isEven and isOdd), which its exporter does not follow, and every definition of the runtime modules a generated module imports (§17.12) that Lean's compiler keeps a call: the ordered-collection templates of maps, sets, and graphs, and the iteration the reasoners run with. LexLean realizes the mathematical integer in 64 bits with explicit overflow and compiles mutual recursion through its own structural helpers (§17.13)." roots = [ + "Coverage.Boundary.groveRoot", + "Coverage.Colls.graphs", + "Coverage.Colls.keyTypes", + "Coverage.Colls.mapOps", + "Coverage.Colls.setOps", + "Coverage.Colls.stringGraph", "Coverage.Main.intOps", "Coverage.Main.mapped", "Coverage.Main.parity", + "OracleProbe.ProbeGraphReachable.reachableRoot", + "OracleProbe.ProbeGraphSuccessors.successorsRoot", + "OracleProbe.ProbeGraphTopological.topologicalRoot", "OracleProbe.ProbeInt.intRoot", + "OracleProbe.ProbeMapContains.mapContainsRoot", + "OracleProbe.ProbeMapInsert.mapInsertRoot", + "OracleProbe.ProbeMapKeys.mapKeysRoot", + "OracleProbe.ProbeMapLookup.mapLookupRoot", + "OracleProbe.ProbeMapRemove.mapRemoveRoot", + "OracleProbe.ProbeMapSize.mapSizeRoot", + "OracleProbe.ProbeMapValues.mapValuesRoot", + "OracleProbe.ProbeSetContains.setContainsRoot", + "OracleProbe.ProbeSetDifference.setDifferenceRoot", + "OracleProbe.ProbeSetInsert.setInsertRoot", + "OracleProbe.ProbeSetIntersection.setIntersectionRoot", + "OracleProbe.ProbeSetRemove.setRemoveRoot", + "OracleProbe.ProbeSetSize.setSizeRoot", + "OracleProbe.ProbeSetUnion.setUnionRoot", + "Reasoning.Main.gatewayLevel", + "Reasoning.Main.gradeLevel", + "Reasoning.Main.triageLevel", + "Reasoning.Main.triageSteps", ] [[difference]] @@ -157,6 +155,8 @@ key = "borrowed-parameter" reason = "The oracle takes a list parameter as a borrowed slice, &[T] (its documented memory profile); LexLean takes List, a shared persistent list, by value. The elements are the same and the differential passes the same ones; how a collection crosses the boundary is a deliberate difference of ABI." roots = [ "Coverage.Prims.sequences", + "OracleProbe.ProbeMapEntries.mapEntriesRoot", + "OracleProbe.ProbeSetElements.setElementsRoot", "Production.Main.sumAll", ] @@ -189,3 +189,13 @@ reason = "LexLean rejects this root (LLT4005: a named type at the boundary that roots = [ "LanguageTwelve.Main.measure", ] + +[[difference]] +id = "KD-13" +kind = "contract" +key = "output-buffer" +reason = "The oracle returns a list result into a buffer its caller passes and answers how many elements it wrote, failing with OutputTooSmall when the buffer is short (its documented memory profile); LexLean returns the list. The differential passes a buffer larger than any case writes and compares the elements written; how a collection crosses the boundary is a deliberate difference of ABI." +roots = [ + "OracleProbe.ProbeMapEntries.mapEntriesRoot", + "OracleProbe.ProbeSetElements.setElementsRoot", +] diff --git a/oracle/known-non-overlap.toml b/oracle/known-non-overlap.toml index b637270f7..dae1ebaa4 100644 --- a/oracle/known-non-overlap.toml +++ b/oracle/known-non-overlap.toml @@ -12,7 +12,7 @@ # version disagree. spec = "lexlean/oracle-overlap/1" -version = 1 +version = 2 [[construct]] key = "type.type" @@ -54,9 +54,9 @@ reason = "A function-typed parameter reaches the oracle as a type expression it key = "type.reasoning_failure" kind = "oracle-refuses" probe = "Reasoning.Main.gradeLevel" -refusal = "opaque-lowering" +refusal = "unresolved-external-call" scope = "closure" -reason = "Only reasoner closures realize it, and the oracle refuses the reasoners' generic transition functions (opaque lowering); the probe is the smallest reasoner root of examples/reasoning, whose closure holds it among others." +reason = "Only reasoner closures realize it, and the oracle refuses the reasoners as unresolved external calls: they iterate with definitions of the runtime module a generated module imports (§17.12), which the oracle's exporter does not follow; the probe is the smallest reasoner root of examples/reasoning, whose closure holds it among others." [[construct]] key = "term.eq" @@ -152,65 +152,57 @@ reason = "Checked conversions between widths go through LexLeanRuntime.Fixed, a key = "primitive.map_insert" kind = "oracle-refuses" probe = "OracleProbe.ProbeMapInsert.mapInsertRoot" -refusal = "escaping-local-function" +refusal = "unresolved-external-call" scope = "construct" -reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14 (key-order dictionaries, folds, search), which Lean compiles to local functions that escape or to polymorphic accessors; the oracle's domain contains neither." +reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14, whose Lean is the runtime module LexLeanRuntime.Collections a generated module imports (§17.12); the oracle's exporter does not follow a call into another module, so a template Lean's compiler keeps a call is unresolved there." [[construct]] key = "primitive.map_remove" kind = "oracle-refuses" probe = "OracleProbe.ProbeMapRemove.mapRemoveRoot" -refusal = "escaping-local-function" +refusal = "unresolved-external-call" scope = "construct" -reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14 (key-order dictionaries, folds, search), which Lean compiles to local functions that escape or to polymorphic accessors; the oracle's domain contains neither." +reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14, whose Lean is the runtime module LexLeanRuntime.Collections a generated module imports (§17.12); the oracle's exporter does not follow a call into another module, so a template Lean's compiler keeps a call is unresolved there." [[construct]] key = "primitive.map_lookup" kind = "oracle-refuses" probe = "OracleProbe.ProbeMapLookup.mapLookupRoot" -refusal = "escaping-local-function" +refusal = "unresolved-external-call" scope = "construct" -reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14 (key-order dictionaries, folds, search), which Lean compiles to local functions that escape or to polymorphic accessors; the oracle's domain contains neither." +reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14, whose Lean is the runtime module LexLeanRuntime.Collections a generated module imports (§17.12); the oracle's exporter does not follow a call into another module, so a template Lean's compiler keeps a call is unresolved there." [[construct]] key = "primitive.map_contains" kind = "oracle-refuses" probe = "OracleProbe.ProbeMapContains.mapContainsRoot" -refusal = "escaping-local-function" +refusal = "unresolved-external-call" scope = "construct" -reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14 (key-order dictionaries, folds, search), which Lean compiles to local functions that escape or to polymorphic accessors; the oracle's domain contains neither." +reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14, whose Lean is the runtime module LexLeanRuntime.Collections a generated module imports (§17.12); the oracle's exporter does not follow a call into another module, so a template Lean's compiler keeps a call is unresolved there." [[construct]] key = "primitive.map_size" kind = "oracle-refuses" probe = "OracleProbe.ProbeMapSize.mapSizeRoot" -refusal = "opaque-lowering" +refusal = "unresolved-external-call" scope = "construct" -reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14 (key-order dictionaries, folds, search), which Lean compiles to local functions that escape or to polymorphic accessors; the oracle's domain contains neither." +reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14, whose Lean is the runtime module LexLeanRuntime.Collections a generated module imports (§17.12); the oracle's exporter does not follow a call into another module, so a template Lean's compiler keeps a call is unresolved there." [[construct]] key = "primitive.map_keys" kind = "oracle-refuses" probe = "OracleProbe.ProbeMapKeys.mapKeysRoot" -refusal = "escaping-local-function" +refusal = "unresolved-external-call" scope = "construct" -reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14 (key-order dictionaries, folds, search), which Lean compiles to local functions that escape or to polymorphic accessors; the oracle's domain contains neither." +reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14, whose Lean is the runtime module LexLeanRuntime.Collections a generated module imports (§17.12); the oracle's exporter does not follow a call into another module, so a template Lean's compiler keeps a call is unresolved there." [[construct]] key = "primitive.map_values" kind = "oracle-refuses" probe = "OracleProbe.ProbeMapValues.mapValuesRoot" -refusal = "escaping-local-function" -scope = "construct" -reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14 (key-order dictionaries, folds, search), which Lean compiles to local functions that escape or to polymorphic accessors; the oracle's domain contains neither." - -[[construct]] -key = "primitive.map_entries" -kind = "oracle-refuses" -probe = "OracleProbe.ProbeMapEntries.mapEntriesRoot" -refusal = "opaque-lowering" +refusal = "unresolved-external-call" scope = "construct" -reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14 (key-order dictionaries, folds, search), which Lean compiles to local functions that escape or to polymorphic accessors; the oracle's domain contains neither." +reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14, whose Lean is the runtime module LexLeanRuntime.Collections a generated module imports (§17.12); the oracle's exporter does not follow a call into another module, so a template Lean's compiler keeps a call is unresolved there." [[construct]] key = "primitive.map_fold" @@ -224,65 +216,57 @@ reason = "LexLean realizes maps, sets, and graphs as ordered lists through the c key = "primitive.set_insert" kind = "oracle-refuses" probe = "OracleProbe.ProbeSetInsert.setInsertRoot" -refusal = "escaping-local-function" +refusal = "unresolved-external-call" scope = "construct" -reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14 (key-order dictionaries, folds, search), which Lean compiles to local functions that escape or to polymorphic accessors; the oracle's domain contains neither." +reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14, whose Lean is the runtime module LexLeanRuntime.Collections a generated module imports (§17.12); the oracle's exporter does not follow a call into another module, so a template Lean's compiler keeps a call is unresolved there." [[construct]] key = "primitive.set_remove" kind = "oracle-refuses" probe = "OracleProbe.ProbeSetRemove.setRemoveRoot" -refusal = "escaping-local-function" +refusal = "unresolved-external-call" scope = "construct" -reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14 (key-order dictionaries, folds, search), which Lean compiles to local functions that escape or to polymorphic accessors; the oracle's domain contains neither." +reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14, whose Lean is the runtime module LexLeanRuntime.Collections a generated module imports (§17.12); the oracle's exporter does not follow a call into another module, so a template Lean's compiler keeps a call is unresolved there." [[construct]] key = "primitive.set_contains" kind = "oracle-refuses" probe = "OracleProbe.ProbeSetContains.setContainsRoot" -refusal = "escaping-local-function" +refusal = "unresolved-external-call" scope = "construct" -reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14 (key-order dictionaries, folds, search), which Lean compiles to local functions that escape or to polymorphic accessors; the oracle's domain contains neither." +reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14, whose Lean is the runtime module LexLeanRuntime.Collections a generated module imports (§17.12); the oracle's exporter does not follow a call into another module, so a template Lean's compiler keeps a call is unresolved there." [[construct]] key = "primitive.set_size" kind = "oracle-refuses" probe = "OracleProbe.ProbeSetSize.setSizeRoot" -refusal = "opaque-lowering" -scope = "construct" -reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14 (key-order dictionaries, folds, search), which Lean compiles to local functions that escape or to polymorphic accessors; the oracle's domain contains neither." - -[[construct]] -key = "primitive.set_elements" -kind = "oracle-refuses" -probe = "OracleProbe.ProbeSetElements.setElementsRoot" -refusal = "opaque-lowering" +refusal = "unresolved-external-call" scope = "construct" -reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14 (key-order dictionaries, folds, search), which Lean compiles to local functions that escape or to polymorphic accessors; the oracle's domain contains neither." +reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14, whose Lean is the runtime module LexLeanRuntime.Collections a generated module imports (§17.12); the oracle's exporter does not follow a call into another module, so a template Lean's compiler keeps a call is unresolved there." [[construct]] key = "primitive.set_union" kind = "oracle-refuses" probe = "OracleProbe.ProbeSetUnion.setUnionRoot" -refusal = "escaping-local-function" +refusal = "unresolved-external-call" scope = "construct" -reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14 (key-order dictionaries, folds, search), which Lean compiles to local functions that escape or to polymorphic accessors; the oracle's domain contains neither." +reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14, whose Lean is the runtime module LexLeanRuntime.Collections a generated module imports (§17.12); the oracle's exporter does not follow a call into another module, so a template Lean's compiler keeps a call is unresolved there." [[construct]] key = "primitive.set_intersection" kind = "oracle-refuses" probe = "OracleProbe.ProbeSetIntersection.setIntersectionRoot" -refusal = "escaping-local-function" +refusal = "unresolved-external-call" scope = "construct" -reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14 (key-order dictionaries, folds, search), which Lean compiles to local functions that escape or to polymorphic accessors; the oracle's domain contains neither." +reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14, whose Lean is the runtime module LexLeanRuntime.Collections a generated module imports (§17.12); the oracle's exporter does not follow a call into another module, so a template Lean's compiler keeps a call is unresolved there." [[construct]] key = "primitive.set_difference" kind = "oracle-refuses" probe = "OracleProbe.ProbeSetDifference.setDifferenceRoot" -refusal = "escaping-local-function" +refusal = "unresolved-external-call" scope = "construct" -reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14 (key-order dictionaries, folds, search), which Lean compiles to local functions that escape or to polymorphic accessors; the oracle's domain contains neither." +reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14, whose Lean is the runtime module LexLeanRuntime.Collections a generated module imports (§17.12); the oracle's exporter does not follow a call into another module, so a template Lean's compiler keeps a call is unresolved there." [[construct]] key = "primitive.set_fold" @@ -320,25 +304,25 @@ reason = "LexLean realizes folds and bounded iteration through higher-order func key = "primitive.graph_successors" kind = "oracle-refuses" probe = "OracleProbe.ProbeGraphSuccessors.successorsRoot" -refusal = "escaping-local-function" +refusal = "unresolved-external-call" scope = "construct" -reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14 (key-order dictionaries, folds, search), which Lean compiles to local functions that escape or to polymorphic accessors; the oracle's domain contains neither." +reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14, whose Lean is the runtime module LexLeanRuntime.Collections a generated module imports (§17.12); the oracle's exporter does not follow a call into another module, so a template Lean's compiler keeps a call is unresolved there." [[construct]] key = "primitive.graph_reachable" kind = "oracle-refuses" probe = "OracleProbe.ProbeGraphReachable.reachableRoot" -refusal = "escaping-local-function" +refusal = "unresolved-external-call" scope = "construct" -reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14 (key-order dictionaries, folds, search), which Lean compiles to local functions that escape or to polymorphic accessors; the oracle's domain contains neither." +reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14, whose Lean is the runtime module LexLeanRuntime.Collections a generated module imports (§17.12); the oracle's exporter does not follow a call into another module, so a template Lean's compiler keeps a call is unresolved there." [[construct]] key = "primitive.graph_topological" kind = "oracle-refuses" probe = "OracleProbe.ProbeGraphTopological.topologicalRoot" -refusal = "escaping-local-function" +refusal = "unresolved-external-call" scope = "construct" -reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14 (key-order dictionaries, folds, search), which Lean compiles to local functions that escape or to polymorphic accessors; the oracle's domain contains neither." +reason = "LexLean realizes maps, sets, and graphs as ordered lists through the collection templates of §17.14, whose Lean is the runtime module LexLeanRuntime.Collections a generated module imports (§17.12); the oracle's exporter does not follow a call into another module, so a template Lean's compiler keeps a call is unresolved there." [[construct]] key = "primitive.less_than" @@ -392,9 +376,9 @@ reason = "Proof- or specification-only: LexLean erases it (registry disposition key = "declaration.inference_rule" kind = "oracle-refuses" probe = "Reasoning.Main.gradeLevel" -refusal = "opaque-lowering" +refusal = "unresolved-external-call" scope = "closure" -reason = "Reasoner closures hold generic transition functions the oracle refuses (opaque lowering); the probe is the smallest reasoner root of examples/reasoning, whose closure holds it among others." +reason = "Reasoner closures iterate with definitions of the runtime module a generated module imports (§17.12), which the oracle's exporter does not follow, so the oracle refuses them as unresolved external calls; the probe is the smallest reasoner root of examples/reasoning, whose closure holds it among others." [[construct]] key = "declaration.verifier" @@ -406,6 +390,6 @@ reason = "Proof- or specification-only: LexLean erases it (registry disposition key = "declaration.reasoner" kind = "oracle-refuses" probe = "Reasoning.Main.gradeLevel" -refusal = "opaque-lowering" +refusal = "unresolved-external-call" scope = "closure" -reason = "Reasoner closures hold generic transition functions the oracle refuses (opaque lowering); the probe is the smallest reasoner root of examples/reasoning, whose closure holds it among others." +reason = "Reasoner closures iterate with definitions of the runtime module a generated module imports (§17.12), which the oracle's exporter does not follow, so the oracle refuses them as unresolved external calls; the probe is the smallest reasoner root of examples/reasoning, whose closure holds it among others." diff --git a/oracle/table-versions.toml b/oracle/table-versions.toml index 8ac718fec..2f7bc4b54 100644 --- a/oracle/table-versions.toml +++ b/oracle/table-versions.toml @@ -18,10 +18,12 @@ file = "known-differences.toml" history = [ { version = 1, rows_sha256 = "e46beeaee24c5346bd67e6b3e025deb9dc97ed08346b5e2cf474250139aafb2d" }, { version = 2, rows_sha256 = "2b09c7bbd4a744100b620c3b327ace1a38389e7654b55d2a97b96530c249921f" }, + { version = 3, rows_sha256 = "85cdd5cfbad442e11979c544a52d74423d3ceba4550acf5eee52fe7646325e8e" }, ] [[table]] file = "known-non-overlap.toml" history = [ { version = 1, rows_sha256 = "489579755bea40f4d9d79c441cfddf25818926de9ecb435b742d32d292da32d9" }, + { version = 2, rows_sha256 = "9e89707c1feef429273944202895c6351353e77df926b48bf2525dbe44697660" }, ] diff --git a/tests/negative/application-arity/project/lexlean.lock b/tests/negative/application-arity/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/application-arity/project/lexlean.lock +++ b/tests/negative/application-arity/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/application-non-function/project/lexlean.lock b/tests/negative/application-non-function/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/application-non-function/project/lexlean.lock +++ b/tests/negative/application-non-function/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/binder-bool-literal-name/project/lexlean.lock b/tests/negative/binder-bool-literal-name/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/binder-bool-literal-name/project/lexlean.lock +++ b/tests/negative/binder-bool-literal-name/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/binder-capture/project/lexlean.lock b/tests/negative/binder-capture/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/binder-capture/project/lexlean.lock +++ b/tests/negative/binder-capture/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/binder-pattern-constructor-name/project/lexlean.lock b/tests/negative/binder-pattern-constructor-name/project/lexlean.lock index 6e9deb410..88a5177b2 100644 --- a/tests/negative/binder-pattern-constructor-name/project/lexlean.lock +++ b/tests/negative/binder-pattern-constructor-name/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "81ee2a9ef8c129bd8d1d2c5a002526675b1f2cbabb784a33bbb447892bd48c9f" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/certificate-b-rejected/expected/command.json b/tests/negative/certificate-b-rejected/expected/command.json index 16f0ade5f..33be25855 100644 --- a/tests/negative/certificate-b-rejected/expected/command.json +++ b/tests/negative/certificate-b-rejected/expected/command.json @@ -1 +1 @@ -{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7015","help":[],"labels":[],"message":"certificate B: `LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustCore` was rejected in `fun2` of root `Production.Main.quadruple`: error: Application type mismatch: The argument\n rfl\nhas type\n ?m.157 = ?m.157\nbut is expected to have type\n RustSemantics.itemFallible RustSyntax.Item.natSub = true\nin the application\n Corr.primF (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) Corr.opsNil rfl rfl) rfl rfl) ?m.147 rfl\n rfl rfl rfl rfl\n","notes":[],"primary":{"byte_end":0,"byte_start":0,"column_end":1,"column_start":1,"line_end":1,"line_start":1,"path":"lexlean.toml"},"severity":"error","spec":"lexlean/diagnostic/1"}],"exit_code":1,"modules":[],"spec":"lexlean/command-result/1","success":false} +{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7015","help":[],"labels":[],"message":"certificate B: `LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustCore` was rejected in `fun2` of root `Production.Main.quadruple`: error: Application type mismatch: The argument\n rfl\nhas type\n ?m.157 = ?m.157\nbut is expected to have type\n RustSemantics.itemFallible RustSyntax.Item.natSub = true\nin the application\n Corr.primF (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) Corr.opsNil rfl rfl) rfl rfl) ?m.147 rfl\n rfl rfl rfl rfl\n","notes":[],"primary":{"byte_end":0,"byte_start":0,"column_end":1,"column_start":1,"line_end":1,"line_start":1,"path":"lexlean.toml"},"severity":"error","spec":"lexlean/diagnostic/1"}],"exit_code":1,"modules":[],"spec":"lexlean/command-result/1","success":false} diff --git a/tests/negative/certificate-b-rejected/expected/diagnostics.json b/tests/negative/certificate-b-rejected/expected/diagnostics.json index 577a3a9ab..39bc2de72 100644 --- a/tests/negative/certificate-b-rejected/expected/diagnostics.json +++ b/tests/negative/certificate-b-rejected/expected/diagnostics.json @@ -1 +1 @@ -[{"causes":[],"code":"LLV7015","help":[],"labels":[],"message":"certificate B: `LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2.RustCore` was rejected in `fun2` of root `Production.Main.quadruple`: error: Application type mismatch: The argument\n rfl\nhas type\n ?m.157 = ?m.157\nbut is expected to have type\n RustSemantics.itemFallible RustSyntax.Item.natSub = true\nin the application\n Corr.primF (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) Corr.opsNil rfl rfl) rfl rfl) ?m.147 rfl\n rfl rfl rfl rfl\n","notes":[],"primary":{"byte_end":0,"byte_start":0,"column_end":1,"column_start":1,"line_end":1,"line_start":1,"path":"lexlean.toml"},"severity":"error","spec":"lexlean/diagnostic/1"}] +[{"causes":[],"code":"LLV7015","help":[],"labels":[],"message":"certificate B: `LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2.RustCore` was rejected in `fun2` of root `Production.Main.quadruple`: error: Application type mismatch: The argument\n rfl\nhas type\n ?m.157 = ?m.157\nbut is expected to have type\n RustSemantics.itemFallible RustSyntax.Item.natSub = true\nin the application\n Corr.primF (Corr.opsCons (Corr.var rfl rfl) (Corr.opsCons (Corr.var rfl rfl) Corr.opsNil rfl rfl) rfl rfl) ?m.147 rfl\n rfl rfl rfl rfl\n","notes":[],"primary":{"byte_end":0,"byte_start":0,"column_end":1,"column_start":1,"line_end":1,"line_start":1,"path":"lexlean.toml"},"severity":"error","spec":"lexlean/diagnostic/1"}] diff --git a/tests/negative/certificate-b-rejected/project/lexlean.lock b/tests/negative/certificate-b-rejected/project/lexlean.lock index 30fdd9572..ba4b0b6fc 100644 --- a/tests/negative/certificate-b-rejected/project/lexlean.lock +++ b/tests/negative/certificate-b-rejected/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6f85e3c598ebbd2209c3ad5533caeb0ac2558d009e9863ec732435267e89972e" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/certificate-e-rejected/expected/command.json b/tests/negative/certificate-e-rejected/expected/command.json index 8e6bd2fce..b85f590ed 100644 --- a/tests/negative/certificate-e-rejected/expected/command.json +++ b/tests/negative/certificate-e-rejected/expected/command.json @@ -1 +1 @@ -{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7016","help":[],"labels":[],"message":"certificate E: `LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustCore` was rejected in `root` of root `Production.Main.checkedSum`: error: Application type mismatch: The argument\n rfl\nhas type\n ?m.51 = ?m.51\nbut is expected to have type\n LexLeanPreservation.Rust.fnFallible RustCore.krate 0 = some true\nin the application\n LexLeanPreservation.Rust.compose (fun __e_n => R0.RustCore.root __e_n 0) rfl\n (LexLeanPreservation.Rust.wtl_cons (LexLeanPreservation.Rust.wt_u32 left)\n (LexLeanPreservation.Rust.wtl_cons (LexLeanPreservation.Rust.wt_u32 right) LexLeanPreservation.Rust.wtl_nil))\n rfl rfl\n","notes":[],"primary":{"byte_end":0,"byte_start":0,"column_end":1,"column_start":1,"line_end":1,"line_start":1,"path":"lexlean.toml"},"severity":"error","spec":"lexlean/diagnostic/1"}],"exit_code":1,"modules":[],"spec":"lexlean/command-result/1","success":false} +{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7016","help":[],"labels":[],"message":"certificate E: `LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustCore` was rejected in `root` of root `Production.Main.checkedSum`: error: Application type mismatch: The argument\n rfl\nhas type\n ?m.51 = ?m.51\nbut is expected to have type\n LexLeanPreservation.Rust.fnFallible RustCore.krate 0 = some true\nin the application\n LexLeanPreservation.Rust.compose (fun __e_n => R0.RustCore.root __e_n 0) rfl\n (LexLeanPreservation.Rust.wtl_cons (LexLeanPreservation.Rust.wt_u32 left)\n (LexLeanPreservation.Rust.wtl_cons (LexLeanPreservation.Rust.wt_u32 right) LexLeanPreservation.Rust.wtl_nil))\n rfl rfl\n","notes":[],"primary":{"byte_end":0,"byte_start":0,"column_end":1,"column_start":1,"line_end":1,"line_start":1,"path":"lexlean.toml"},"severity":"error","spec":"lexlean/diagnostic/1"}],"exit_code":1,"modules":[],"spec":"lexlean/command-result/1","success":false} diff --git a/tests/negative/certificate-e-rejected/expected/diagnostics.json b/tests/negative/certificate-e-rejected/expected/diagnostics.json index db83f0f7a..4966ad5b4 100644 --- a/tests/negative/certificate-e-rejected/expected/diagnostics.json +++ b/tests/negative/certificate-e-rejected/expected/diagnostics.json @@ -1 +1 @@ -[{"causes":[],"code":"LLV7016","help":[],"labels":[],"message":"certificate E: `LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R0.Compose.RustCore` was rejected in `root` of root `Production.Main.checkedSum`: error: Application type mismatch: The argument\n rfl\nhas type\n ?m.51 = ?m.51\nbut is expected to have type\n LexLeanPreservation.Rust.fnFallible RustCore.krate 0 = some true\nin the application\n LexLeanPreservation.Rust.compose (fun __e_n => R0.RustCore.root __e_n 0) rfl\n (LexLeanPreservation.Rust.wtl_cons (LexLeanPreservation.Rust.wt_u32 left)\n (LexLeanPreservation.Rust.wtl_cons (LexLeanPreservation.Rust.wt_u32 right) LexLeanPreservation.Rust.wtl_nil))\n rfl rfl\n","notes":[],"primary":{"byte_end":0,"byte_start":0,"column_end":1,"column_start":1,"line_end":1,"line_start":1,"path":"lexlean.toml"},"severity":"error","spec":"lexlean/diagnostic/1"}] +[{"causes":[],"code":"LLV7016","help":[],"labels":[],"message":"certificate E: `LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R0.Compose.RustCore` was rejected in `root` of root `Production.Main.checkedSum`: error: Application type mismatch: The argument\n rfl\nhas type\n ?m.51 = ?m.51\nbut is expected to have type\n LexLeanPreservation.Rust.fnFallible RustCore.krate 0 = some true\nin the application\n LexLeanPreservation.Rust.compose (fun __e_n => R0.RustCore.root __e_n 0) rfl\n (LexLeanPreservation.Rust.wtl_cons (LexLeanPreservation.Rust.wt_u32 left)\n (LexLeanPreservation.Rust.wtl_cons (LexLeanPreservation.Rust.wt_u32 right) LexLeanPreservation.Rust.wtl_nil))\n rfl rfl\n","notes":[],"primary":{"byte_end":0,"byte_start":0,"column_end":1,"column_start":1,"line_end":1,"line_start":1,"path":"lexlean.toml"},"severity":"error","spec":"lexlean/diagnostic/1"}] diff --git a/tests/negative/certificate-e-rejected/project/lexlean.lock b/tests/negative/certificate-e-rejected/project/lexlean.lock index 30fdd9572..ba4b0b6fc 100644 --- a/tests/negative/certificate-e-rejected/project/lexlean.lock +++ b/tests/negative/certificate-e-rejected/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6f85e3c598ebbd2209c3ad5533caeb0ac2558d009e9863ec732435267e89972e" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/certificate-generation-limit/project/lexlean.lock b/tests/negative/certificate-generation-limit/project/lexlean.lock index 30fdd9572..ba4b0b6fc 100644 --- a/tests/negative/certificate-generation-limit/project/lexlean.lock +++ b/tests/negative/certificate-generation-limit/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6f85e3c598ebbd2209c3ad5533caeb0ac2558d009e9863ec732435267e89972e" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/certificate-heartbeat-rejected/expected/command.json b/tests/negative/certificate-heartbeat-rejected/expected/command.json index 4d931d134..01b2dca02 100644 --- a/tests/negative/certificate-heartbeat-rejected/expected/command.json +++ b/tests/negative/certificate-heartbeat-rejected/expected/command.json @@ -1 +1 @@ -{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7013","help":[],"labels":[],"message":"certificate A: `LexLeanPreserve.C31ff6f1d6ae7c27453f505fd4b38962e.R0` was rejected in `__prog` of root `Production.Main.total`: error: (deterministic) timeout at `isDefEq`, maximum number of heartbeats (1) has been reached\n\nNote: Use `set_option maxHeartbeats ` to set the limit.\n\nHint: Additional diagnostic information may be available using the `set_option diagnostics true` command.\n$STAGING/preserve-src/LexLeanPreserve/C31ff6f1d6ae7c27453f505fd4b38962e/R0.lean:25:30: error: (deterministic) timeout at `isDefEq`, maximum number of heartbeats (1) has been reached\n\nNote: Use `set_option maxHeartbeats ` to set the limit.\n\nHint: Additional diagnostic information may be available using the `set_option diagnostics true` command.\n$STAGING/preserve-src/LexLeanPreserve/C31ff6f1d6ae7c27453f505fd4b38962e/R0.lean:28:33: error: (deterministic) timeout at `isDefEq`, maximum number of heartbeats (1) has been reached\n","notes":[],"primary":{"byte_end":0,"byte_start":0,"column_end":1,"column_start":1,"line_end":1,"line_start":1,"path":"lexlean.toml"},"severity":"error","spec":"lexlean/diagnostic/1"}],"exit_code":1,"modules":[],"spec":"lexlean/command-result/1","success":false} +{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7013","help":[],"labels":[],"message":"certificate A: `LexLeanPreserve.C5a4a654a32cfe0b316c624f1b8a6bea0.R0` was rejected in `__prog` of root `Production.Main.total`: error: (deterministic) timeout at `isDefEq`, maximum number of heartbeats (1) has been reached\n\nNote: Use `set_option maxHeartbeats ` to set the limit.\n\nHint: Additional diagnostic information may be available using the `set_option diagnostics true` command.\n$STAGING/preserve-src/LexLeanPreserve/C5a4a654a32cfe0b316c624f1b8a6bea0/R0.lean:25:30: error: (deterministic) timeout at `isDefEq`, maximum number of heartbeats (1) has been reached\n\nNote: Use `set_option maxHeartbeats ` to set the limit.\n\nHint: Additional diagnostic information may be available using the `set_option diagnostics true` command.\n$STAGING/preserve-src/LexLeanPreserve/C5a4a654a32cfe0b316c624f1b8a6bea0/R0.lean:28:33: error: (deterministic) timeout at `isDefEq`, maximum number of heartbeats (1) has been reached\n","notes":[],"primary":{"byte_end":0,"byte_start":0,"column_end":1,"column_start":1,"line_end":1,"line_start":1,"path":"lexlean.toml"},"severity":"error","spec":"lexlean/diagnostic/1"}],"exit_code":1,"modules":[],"spec":"lexlean/command-result/1","success":false} diff --git a/tests/negative/certificate-heartbeat-rejected/expected/diagnostics.json b/tests/negative/certificate-heartbeat-rejected/expected/diagnostics.json index 92d4e98ef..0cab9a928 100644 --- a/tests/negative/certificate-heartbeat-rejected/expected/diagnostics.json +++ b/tests/negative/certificate-heartbeat-rejected/expected/diagnostics.json @@ -1 +1 @@ -[{"causes":[],"code":"LLV7013","help":[],"labels":[],"message":"certificate A: `LexLeanPreserve.C31ff6f1d6ae7c27453f505fd4b38962e.R0` was rejected in `__prog` of root `Production.Main.total`: error: (deterministic) timeout at `isDefEq`, maximum number of heartbeats (1) has been reached\n\nNote: Use `set_option maxHeartbeats ` to set the limit.\n\nHint: Additional diagnostic information may be available using the `set_option diagnostics true` command.\n$STAGING/preserve-src/LexLeanPreserve/C31ff6f1d6ae7c27453f505fd4b38962e/R0.lean:25:30: error: (deterministic) timeout at `isDefEq`, maximum number of heartbeats (1) has been reached\n\nNote: Use `set_option maxHeartbeats ` to set the limit.\n\nHint: Additional diagnostic information may be available using the `set_option diagnostics true` command.\n$STAGING/preserve-src/LexLeanPreserve/C31ff6f1d6ae7c27453f505fd4b38962e/R0.lean:28:33: error: (deterministic) timeout at `isDefEq`, maximum number of heartbeats (1) has been reached\n","notes":[],"primary":{"byte_end":0,"byte_start":0,"column_end":1,"column_start":1,"line_end":1,"line_start":1,"path":"lexlean.toml"},"severity":"error","spec":"lexlean/diagnostic/1"}] +[{"causes":[],"code":"LLV7013","help":[],"labels":[],"message":"certificate A: `LexLeanPreserve.C5a4a654a32cfe0b316c624f1b8a6bea0.R0` was rejected in `__prog` of root `Production.Main.total`: error: (deterministic) timeout at `isDefEq`, maximum number of heartbeats (1) has been reached\n\nNote: Use `set_option maxHeartbeats ` to set the limit.\n\nHint: Additional diagnostic information may be available using the `set_option diagnostics true` command.\n$STAGING/preserve-src/LexLeanPreserve/C5a4a654a32cfe0b316c624f1b8a6bea0/R0.lean:25:30: error: (deterministic) timeout at `isDefEq`, maximum number of heartbeats (1) has been reached\n\nNote: Use `set_option maxHeartbeats ` to set the limit.\n\nHint: Additional diagnostic information may be available using the `set_option diagnostics true` command.\n$STAGING/preserve-src/LexLeanPreserve/C5a4a654a32cfe0b316c624f1b8a6bea0/R0.lean:28:33: error: (deterministic) timeout at `isDefEq`, maximum number of heartbeats (1) has been reached\n","notes":[],"primary":{"byte_end":0,"byte_start":0,"column_end":1,"column_start":1,"line_end":1,"line_start":1,"path":"lexlean.toml"},"severity":"error","spec":"lexlean/diagnostic/1"}] diff --git a/tests/negative/certificate-heartbeat-rejected/project/lexlean.lock b/tests/negative/certificate-heartbeat-rejected/project/lexlean.lock index 30fdd9572..ba4b0b6fc 100644 --- a/tests/negative/certificate-heartbeat-rejected/project/lexlean.lock +++ b/tests/negative/certificate-heartbeat-rejected/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6f85e3c598ebbd2209c3ad5533caeb0ac2558d009e9863ec732435267e89972e" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/certificate-rejected/expected/command.json b/tests/negative/certificate-rejected/expected/command.json index 7235fe8f6..4ffe4f1b3 100644 --- a/tests/negative/certificate-rejected/expected/command.json +++ b/tests/negative/certificate-rejected/expected/command.json @@ -1 +1 @@ -{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7013","help":[],"labels":[],"message":"certificate A: `LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2` was rejected in `__rel_2` of root `Production.Main.quadruple`: error: Application type mismatch: The argument\n LexLeanPreservation.prim_natAdd number number\nhas type\n LexLeanPreservation.obs\n (LexLeanTarget.TargetSemantics.primitive LexLeanTarget.TargetSyntax.Prim.natAdd\n [LexLeanTarget.TargetSyntax.Value.nat number, LexLeanTarget.TargetSyntax.Value.nat number]) =\n some\n (LexLeanPreservation.Rel ((number + number).blt 18446744073709551616)\n (LexLeanTarget.TargetSyntax.Value.nat (number + number)))\nbut is expected to have type\n LexLeanPreservation.obs\n (LexLeanTarget.TargetSemantics.primitive LexLeanTarget.TargetSyntax.Prim.natSub","notes":[],"primary":{"byte_end":0,"byte_start":0,"column_end":1,"column_start":1,"line_end":1,"line_start":1,"path":"lexlean.toml"},"severity":"error","spec":"lexlean/diagnostic/1"}],"exit_code":1,"modules":[],"spec":"lexlean/command-result/1","success":false} +{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7013","help":[],"labels":[],"message":"certificate A: `LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2` was rejected in `__rel_2` of root `Production.Main.quadruple`: error: Application type mismatch: The argument\n LexLeanPreservation.prim_natAdd number number\nhas type\n LexLeanPreservation.obs\n (LexLeanTarget.TargetSemantics.primitive LexLeanTarget.TargetSyntax.Prim.natAdd\n [LexLeanTarget.TargetSyntax.Value.nat number, LexLeanTarget.TargetSyntax.Value.nat number]) =\n some\n (LexLeanPreservation.Rel ((number + number).blt 18446744073709551616)\n (LexLeanTarget.TargetSyntax.Value.nat (number + number)))\nbut is expected to have type\n LexLeanPreservation.obs\n (LexLeanTarget.TargetSemantics.primitive LexLeanTarget.TargetSyntax.Prim.natSub","notes":[],"primary":{"byte_end":0,"byte_start":0,"column_end":1,"column_start":1,"line_end":1,"line_start":1,"path":"lexlean.toml"},"severity":"error","spec":"lexlean/diagnostic/1"}],"exit_code":1,"modules":[],"spec":"lexlean/command-result/1","success":false} diff --git a/tests/negative/certificate-rejected/expected/diagnostics.json b/tests/negative/certificate-rejected/expected/diagnostics.json index fbaef38b1..05e855c73 100644 --- a/tests/negative/certificate-rejected/expected/diagnostics.json +++ b/tests/negative/certificate-rejected/expected/diagnostics.json @@ -1 +1 @@ -[{"causes":[],"code":"LLV7013","help":[],"labels":[],"message":"certificate A: `LexLeanPreserve.C7b8829e2cc52192864282f3d66903769.R2` was rejected in `__rel_2` of root `Production.Main.quadruple`: error: Application type mismatch: The argument\n LexLeanPreservation.prim_natAdd number number\nhas type\n LexLeanPreservation.obs\n (LexLeanTarget.TargetSemantics.primitive LexLeanTarget.TargetSyntax.Prim.natAdd\n [LexLeanTarget.TargetSyntax.Value.nat number, LexLeanTarget.TargetSyntax.Value.nat number]) =\n some\n (LexLeanPreservation.Rel ((number + number).blt 18446744073709551616)\n (LexLeanTarget.TargetSyntax.Value.nat (number + number)))\nbut is expected to have type\n LexLeanPreservation.obs\n (LexLeanTarget.TargetSemantics.primitive LexLeanTarget.TargetSyntax.Prim.natSub","notes":[],"primary":{"byte_end":0,"byte_start":0,"column_end":1,"column_start":1,"line_end":1,"line_start":1,"path":"lexlean.toml"},"severity":"error","spec":"lexlean/diagnostic/1"}] +[{"causes":[],"code":"LLV7013","help":[],"labels":[],"message":"certificate A: `LexLeanPreserve.C0873d7adc0406a004403264fdb2d9dea.R2` was rejected in `__rel_2` of root `Production.Main.quadruple`: error: Application type mismatch: The argument\n LexLeanPreservation.prim_natAdd number number\nhas type\n LexLeanPreservation.obs\n (LexLeanTarget.TargetSemantics.primitive LexLeanTarget.TargetSyntax.Prim.natAdd\n [LexLeanTarget.TargetSyntax.Value.nat number, LexLeanTarget.TargetSyntax.Value.nat number]) =\n some\n (LexLeanPreservation.Rel ((number + number).blt 18446744073709551616)\n (LexLeanTarget.TargetSyntax.Value.nat (number + number)))\nbut is expected to have type\n LexLeanPreservation.obs\n (LexLeanTarget.TargetSemantics.primitive LexLeanTarget.TargetSyntax.Prim.natSub","notes":[],"primary":{"byte_end":0,"byte_start":0,"column_end":1,"column_start":1,"line_end":1,"line_start":1,"path":"lexlean.toml"},"severity":"error","spec":"lexlean/diagnostic/1"}] diff --git a/tests/negative/certificate-rejected/project/lexlean.lock b/tests/negative/certificate-rejected/project/lexlean.lock index 30fdd9572..ba4b0b6fc 100644 --- a/tests/negative/certificate-rejected/project/lexlean.lock +++ b/tests/negative/certificate-rejected/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6f85e3c598ebbd2209c3ad5533caeb0ac2558d009e9863ec732435267e89972e" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/certificate-resource-exhausted/expected/command.json b/tests/negative/certificate-resource-exhausted/expected/command.json index 6f8b9bb3e..c1c890cf4 100644 --- a/tests/negative/certificate-resource-exhausted/expected/command.json +++ b/tests/negative/certificate-resource-exhausted/expected/command.json @@ -1 +1 @@ -{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLS8002","help":[],"labels":[],"message":"the pinned Lean exhausted a resource checking `LexLeanPreserve.C31ff6f1d6ae7c27453f505fd4b38962e.R0` (maximum number of heartbeats): the generated module is 66000 bytes, at least a quarter of max_file_bytes 131072, and is beyond what the machine checks","notes":[],"primary":{"byte_end":0,"byte_start":0,"column_end":1,"column_start":1,"line_end":1,"line_start":1,"path":"lexlean.toml"},"severity":"error","spec":"lexlean/diagnostic/1"}],"exit_code":4,"modules":[],"spec":"lexlean/command-result/1","success":false} +{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLS8002","help":[],"labels":[],"message":"the pinned Lean exhausted a resource checking `LexLeanPreserve.C5a4a654a32cfe0b316c624f1b8a6bea0.R0` (maximum number of heartbeats): the generated module is 66000 bytes, at least a quarter of max_file_bytes 131072, and is beyond what the machine checks","notes":[],"primary":{"byte_end":0,"byte_start":0,"column_end":1,"column_start":1,"line_end":1,"line_start":1,"path":"lexlean.toml"},"severity":"error","spec":"lexlean/diagnostic/1"}],"exit_code":4,"modules":[],"spec":"lexlean/command-result/1","success":false} diff --git a/tests/negative/certificate-resource-exhausted/expected/diagnostics.json b/tests/negative/certificate-resource-exhausted/expected/diagnostics.json index 3c04b9034..15419442a 100644 --- a/tests/negative/certificate-resource-exhausted/expected/diagnostics.json +++ b/tests/negative/certificate-resource-exhausted/expected/diagnostics.json @@ -1 +1 @@ -[{"causes":[],"code":"LLS8002","help":[],"labels":[],"message":"the pinned Lean exhausted a resource checking `LexLeanPreserve.C31ff6f1d6ae7c27453f505fd4b38962e.R0` (maximum number of heartbeats): the generated module is 66000 bytes, at least a quarter of max_file_bytes 131072, and is beyond what the machine checks","notes":[],"primary":{"byte_end":0,"byte_start":0,"column_end":1,"column_start":1,"line_end":1,"line_start":1,"path":"lexlean.toml"},"severity":"error","spec":"lexlean/diagnostic/1"}] +[{"causes":[],"code":"LLS8002","help":[],"labels":[],"message":"the pinned Lean exhausted a resource checking `LexLeanPreserve.C5a4a654a32cfe0b316c624f1b8a6bea0.R0` (maximum number of heartbeats): the generated module is 66000 bytes, at least a quarter of max_file_bytes 131072, and is beyond what the machine checks","notes":[],"primary":{"byte_end":0,"byte_start":0,"column_end":1,"column_start":1,"line_end":1,"line_start":1,"path":"lexlean.toml"},"severity":"error","spec":"lexlean/diagnostic/1"}] diff --git a/tests/negative/certificate-resource-exhausted/project/lexlean.lock b/tests/negative/certificate-resource-exhausted/project/lexlean.lock index f396898f1..5364eb3ec 100644 --- a/tests/negative/certificate-resource-exhausted/project/lexlean.lock +++ b/tests/negative/certificate-resource-exhausted/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "743b4fe5ccb7b0dcae4d1ddf7fed292c41f3bd01521f10a3295978ac215364cd" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/certificate-size-limit/project/lexlean.lock b/tests/negative/certificate-size-limit/project/lexlean.lock index 30fdd9572..ba4b0b6fc 100644 --- a/tests/negative/certificate-size-limit/project/lexlean.lock +++ b/tests/negative/certificate-size-limit/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6f85e3c598ebbd2209c3ad5533caeb0ac2558d009e9863ec732435267e89972e" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/certificates-total-limit/project/lexlean.lock b/tests/negative/certificates-total-limit/project/lexlean.lock index 231476de1..0aa57436c 100644 --- a/tests/negative/certificates-total-limit/project/lexlean.lock +++ b/tests/negative/certificates-total-limit/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "19396dab32e876e6744d5feb41043ceae6961ae8b3e677fc770b3b09fcdbc8ad" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/collection-duplicate-key/project/lexlean.lock b/tests/negative/collection-duplicate-key/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/collection-duplicate-key/project/lexlean.lock +++ b/tests/negative/collection-duplicate-key/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/collection-fold-type-mismatch/project/lexlean.lock b/tests/negative/collection-fold-type-mismatch/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/collection-fold-type-mismatch/project/lexlean.lock +++ b/tests/negative/collection-fold-type-mismatch/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/collection-literal-limit/project/lexlean.lock b/tests/negative/collection-literal-limit/project/lexlean.lock index 2ea5e9860..70450490a 100644 --- a/tests/negative/collection-literal-limit/project/lexlean.lock +++ b/tests/negative/collection-literal-limit/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "86eb9da7c6c50be25511dfe1cbf99f5e0ac82b411c2ed9b5b4e6c94924af2253" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/collection-noncanonical-key/project/lexlean.lock b/tests/negative/collection-noncanonical-key/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/collection-noncanonical-key/project/lexlean.lock +++ b/tests/negative/collection-noncanonical-key/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/collection-nonliteral-key/project/lexlean.lock b/tests/negative/collection-nonliteral-key/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/collection-nonliteral-key/project/lexlean.lock +++ b/tests/negative/collection-nonliteral-key/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/collection-out-of-range-key/project/lexlean.lock b/tests/negative/collection-out-of-range-key/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/collection-out-of-range-key/project/lexlean.lock +++ b/tests/negative/collection-out-of-range-key/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/collection-unbounded-iteration/project/lexlean.lock b/tests/negative/collection-unbounded-iteration/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/collection-unbounded-iteration/project/lexlean.lock +++ b/tests/negative/collection-unbounded-iteration/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/collection-unordered-key/project/lexlean.lock b/tests/negative/collection-unordered-key/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/collection-unordered-key/project/lexlean.lock +++ b/tests/negative/collection-unordered-key/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/cross-version-glossary/project/lexlean.lock b/tests/negative/cross-version-glossary/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/cross-version-glossary/project/lexlean.lock +++ b/tests/negative/cross-version-glossary/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/declaration-lean-name/project/lexlean.lock b/tests/negative/declaration-lean-name/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/declaration-lean-name/project/lexlean.lock +++ b/tests/negative/declaration-lean-name/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/eligibility-report-limit/project/lexlean.lock b/tests/negative/eligibility-report-limit/project/lexlean.lock index f57d17ee8..abd343646 100644 --- a/tests/negative/eligibility-report-limit/project/lexlean.lock +++ b/tests/negative/eligibility-report-limit/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "4ee6bfc173aeabc83ab13796f4cb664adf8561fcffafa32bc39ba3006e24eda9" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/eligibility-reports-total-limit/project/lexlean.lock b/tests/negative/eligibility-reports-total-limit/project/lexlean.lock index f57d17ee8..abd343646 100644 --- a/tests/negative/eligibility-reports-total-limit/project/lexlean.lock +++ b/tests/negative/eligibility-reports-total-limit/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "4ee6bfc173aeabc83ab13796f4cb664adf8561fcffafa32bc39ba3006e24eda9" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/escaping-closure-in-data/project/lexlean.lock b/tests/negative/escaping-closure-in-data/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/escaping-closure-in-data/project/lexlean.lock +++ b/tests/negative/escaping-closure-in-data/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/escaping-closure-parameter/project/lexlean.lock b/tests/negative/escaping-closure-parameter/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/escaping-closure-parameter/project/lexlean.lock +++ b/tests/negative/escaping-closure-parameter/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/escaping-closure-structure/project/lexlean.lock b/tests/negative/escaping-closure-structure/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/escaping-closure-structure/project/lexlean.lock +++ b/tests/negative/escaping-closure-structure/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/escaping-closure/project/lexlean.lock b/tests/negative/escaping-closure/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/escaping-closure/project/lexlean.lock +++ b/tests/negative/escaping-closure/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/executable-calls-formal/project/lexlean.lock b/tests/negative/executable-calls-formal/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/executable-calls-formal/project/lexlean.lock +++ b/tests/negative/executable-calls-formal/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/extraction-authority-drift/project/lexlean.lock b/tests/negative/extraction-authority-drift/project/lexlean.lock index 30fdd9572..ba4b0b6fc 100644 --- a/tests/negative/extraction-authority-drift/project/lexlean.lock +++ b/tests/negative/extraction-authority-drift/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6f85e3c598ebbd2209c3ad5533caeb0ac2558d009e9863ec732435267e89972e" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/extraction-rejected/project/lexlean.lock b/tests/negative/extraction-rejected/project/lexlean.lock index 30fdd9572..ba4b0b6fc 100644 --- a/tests/negative/extraction-rejected/project/lexlean.lock +++ b/tests/negative/extraction-rejected/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6f85e3c598ebbd2209c3ad5533caeb0ac2558d009e9863ec732435267e89972e" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/extraction-uncompiled-external/project/lexlean.lock b/tests/negative/extraction-uncompiled-external/project/lexlean.lock index 30fdd9572..ba4b0b6fc 100644 --- a/tests/negative/extraction-uncompiled-external/project/lexlean.lock +++ b/tests/negative/extraction-uncompiled-external/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6f85e3c598ebbd2209c3ad5533caeb0ac2558d009e9863ec732435267e89972e" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/graph-duplicate-edge/project/lexlean.lock b/tests/negative/graph-duplicate-edge/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/graph-duplicate-edge/project/lexlean.lock +++ b/tests/negative/graph-duplicate-edge/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/graph-invalid-reference/project/lexlean.lock b/tests/negative/graph-invalid-reference/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/graph-invalid-reference/project/lexlean.lock +++ b/tests/negative/graph-invalid-reference/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/lambda-capture-extra/project/lexlean.lock b/tests/negative/lambda-capture-extra/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/lambda-capture-extra/project/lexlean.lock +++ b/tests/negative/lambda-capture-extra/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/lambda-capture-missing/project/lexlean.lock b/tests/negative/lambda-capture-missing/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/lambda-capture-missing/project/lexlean.lock +++ b/tests/negative/lambda-capture-missing/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/lambda-type-mismatch/project/lexlean.lock b/tests/negative/lambda-type-mismatch/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/lambda-type-mismatch/project/lexlean.lock +++ b/tests/negative/lambda-type-mismatch/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/lowering-size-limit/project/lexlean.lock b/tests/negative/lowering-size-limit/project/lexlean.lock index 30fdd9572..ba4b0b6fc 100644 --- a/tests/negative/lowering-size-limit/project/lexlean.lock +++ b/tests/negative/lowering-size-limit/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6f85e3c598ebbd2209c3ad5533caeb0ac2558d009e9863ec732435267e89972e" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/member-generated-name/project/lexlean.lock b/tests/negative/member-generated-name/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/member-generated-name/project/lexlean.lock +++ b/tests/negative/member-generated-name/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-artifact-decode-budget/project/lexlean.lock b/tests/negative/model-artifact-decode-budget/project/lexlean.lock index d2e002696..4a9fc9f31 100644 --- a/tests/negative/model-artifact-decode-budget/project/lexlean.lock +++ b/tests/negative/model-artifact-decode-budget/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "97224c1005c098cfb00c28986caa7733eb43fd183f038947ba92d676edede581" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-artifact-digest-mismatch/project/lexlean.lock b/tests/negative/model-artifact-digest-mismatch/project/lexlean.lock index 5c7c1968f..518d685e3 100644 --- a/tests/negative/model-artifact-digest-mismatch/project/lexlean.lock +++ b/tests/negative/model-artifact-digest-mismatch/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "b54079b5034756fab196e0130add7e969e214992398790a256fbcb3d866fdab4" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-artifact-invalid-utf8/project/lexlean.lock b/tests/negative/model-artifact-invalid-utf8/project/lexlean.lock index 5af444a6a..6e1e4e3e1 100644 --- a/tests/negative/model-artifact-invalid-utf8/project/lexlean.lock +++ b/tests/negative/model-artifact-invalid-utf8/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "7407260b337f63f50bc003afdc8e09e578096041ae6365e5b1f39d0dc3d8e093" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-artifact-length-mismatch/project/lexlean.lock b/tests/negative/model-artifact-length-mismatch/project/lexlean.lock index 5c7c1968f..518d685e3 100644 --- a/tests/negative/model-artifact-length-mismatch/project/lexlean.lock +++ b/tests/negative/model-artifact-length-mismatch/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "b54079b5034756fab196e0130add7e969e214992398790a256fbcb3d866fdab4" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-artifact-missing/project/lexlean.lock b/tests/negative/model-artifact-missing/project/lexlean.lock index 5c7c1968f..518d685e3 100644 --- a/tests/negative/model-artifact-missing/project/lexlean.lock +++ b/tests/negative/model-artifact-missing/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "b54079b5034756fab196e0130add7e969e214992398790a256fbcb3d866fdab4" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-artifact-over-limit/project/lexlean.lock b/tests/negative/model-artifact-over-limit/project/lexlean.lock index fb0560b2d..2ffd79d0f 100644 --- a/tests/negative/model-artifact-over-limit/project/lexlean.lock +++ b/tests/negative/model-artifact-over-limit/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6b2d40a11356013ad4366b900361329faecae628242794cbc0d2ba8a54ff7d4c" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-artifact-rank-overflow/project/lexlean.lock b/tests/negative/model-artifact-rank-overflow/project/lexlean.lock index 0d3b7a245..6e96b0953 100644 --- a/tests/negative/model-artifact-rank-overflow/project/lexlean.lock +++ b/tests/negative/model-artifact-rank-overflow/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "9f0dd9fc1743c1e5be95b546a6d77274f7fd5ffc95c0920b73cfe4e007b47fe0" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-artifact-role-violation/project/lexlean.lock b/tests/negative/model-artifact-role-violation/project/lexlean.lock index 5c7c1968f..518d685e3 100644 --- a/tests/negative/model-artifact-role-violation/project/lexlean.lock +++ b/tests/negative/model-artifact-role-violation/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "b54079b5034756fab196e0130add7e969e214992398790a256fbcb3d866fdab4" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-artifact-schema-violation/project/lexlean.lock b/tests/negative/model-artifact-schema-violation/project/lexlean.lock index 5c7c1968f..518d685e3 100644 --- a/tests/negative/model-artifact-schema-violation/project/lexlean.lock +++ b/tests/negative/model-artifact-schema-violation/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "b54079b5034756fab196e0130add7e969e214992398790a256fbcb3d866fdab4" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-artifact-shape-mismatch/project/lexlean.lock b/tests/negative/model-artifact-shape-mismatch/project/lexlean.lock index 683f084ab..c90035392 100644 --- a/tests/negative/model-artifact-shape-mismatch/project/lexlean.lock +++ b/tests/negative/model-artifact-shape-mismatch/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "797fc89000759a8c6c5448f9e54c39a3aec904374930f6a1eff32e33044037dd" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-artifact-symlink/project/lexlean.lock b/tests/negative/model-artifact-symlink/project/lexlean.lock index 5c7c1968f..518d685e3 100644 --- a/tests/negative/model-artifact-symlink/project/lexlean.lock +++ b/tests/negative/model-artifact-symlink/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "b54079b5034756fab196e0130add7e969e214992398790a256fbcb3d866fdab4" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-artifact-unconfigured/project/lexlean.lock b/tests/negative/model-artifact-unconfigured/project/lexlean.lock index 5945a9698..93f7a0796 100644 --- a/tests/negative/model-artifact-unconfigured/project/lexlean.lock +++ b/tests/negative/model-artifact-unconfigured/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "65c0ab6015ada3b098320b5f26ffc6f4a2ceb464a9641e6532a1493110a3c566" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-check-without-validator/project/lexlean.lock b/tests/negative/model-check-without-validator/project/lexlean.lock index 5945a9698..93f7a0796 100644 --- a/tests/negative/model-check-without-validator/project/lexlean.lock +++ b/tests/negative/model-check-without-validator/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "65c0ab6015ada3b098320b5f26ffc6f4a2ceb464a9641e6532a1493110a3c566" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-composition-forged-junction/project/lexlean.lock b/tests/negative/model-composition-forged-junction/project/lexlean.lock index 5945a9698..93f7a0796 100644 --- a/tests/negative/model-composition-forged-junction/project/lexlean.lock +++ b/tests/negative/model-composition-forged-junction/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "65c0ab6015ada3b098320b5f26ffc6f4a2ceb464a9641e6532a1493110a3c566" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-composition-missing-junction/project/lexlean.lock b/tests/negative/model-composition-missing-junction/project/lexlean.lock index 5945a9698..93f7a0796 100644 --- a/tests/negative/model-composition-missing-junction/project/lexlean.lock +++ b/tests/negative/model-composition-missing-junction/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "65c0ab6015ada3b098320b5f26ffc6f4a2ceb464a9641e6532a1493110a3c566" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-composition-type-mismatch/project/lexlean.lock b/tests/negative/model-composition-type-mismatch/project/lexlean.lock index 5945a9698..93f7a0796 100644 --- a/tests/negative/model-composition-type-mismatch/project/lexlean.lock +++ b/tests/negative/model-composition-type-mismatch/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "65c0ab6015ada3b098320b5f26ffc6f4a2ceb464a9641e6532a1493110a3c566" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-contract-realization-mismatch/project/lexlean.lock b/tests/negative/model-contract-realization-mismatch/project/lexlean.lock index 5945a9698..93f7a0796 100644 --- a/tests/negative/model-contract-realization-mismatch/project/lexlean.lock +++ b/tests/negative/model-contract-realization-mismatch/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "65c0ab6015ada3b098320b5f26ffc6f4a2ceb464a9641e6532a1493110a3c566" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-encoder-width-forged/project/lexlean.lock b/tests/negative/model-encoder-width-forged/project/lexlean.lock index 683f084ab..c90035392 100644 --- a/tests/negative/model-encoder-width-forged/project/lexlean.lock +++ b/tests/negative/model-encoder-width-forged/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "797fc89000759a8c6c5448f9e54c39a3aec904374930f6a1eff32e33044037dd" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-false-evidence/expected/command.json b/tests/negative/model-false-evidence/expected/command.json index 727628c14..65cfc623c 100644 --- a/tests/negative/model-false-evidence/expected/command.json +++ b/tests/negative/model-false-evidence/expected/command.json @@ -1 +1 @@ -{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\na possible counterexample may satisfy the constraints\n a ≥ 2\nwhere\n a := ↑x","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:99:12"}],"primary":{"byte_end":1175,"byte_start":989,"column_end":2,"column_start":1,"line_end":46,"line_start":41,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}],"exit_code":1,"modules":[],"spec":"lexlean/command-result/1","success":false} +{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\na possible counterexample may satisfy the constraints\n a ≥ 2\nwhere\n a := ↑x","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:30:12"}],"primary":{"byte_end":1175,"byte_start":989,"column_end":2,"column_start":1,"line_end":46,"line_start":41,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}],"exit_code":1,"modules":[],"spec":"lexlean/command-result/1","success":false} diff --git a/tests/negative/model-false-evidence/expected/diagnostics.json b/tests/negative/model-false-evidence/expected/diagnostics.json index 8853113b6..f416a35a0 100644 --- a/tests/negative/model-false-evidence/expected/diagnostics.json +++ b/tests/negative/model-false-evidence/expected/diagnostics.json @@ -1 +1 @@ -[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\na possible counterexample may satisfy the constraints\n a ≥ 2\nwhere\n a := ↑x","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:99:12"}],"primary":{"byte_end":1175,"byte_start":989,"column_end":2,"column_start":1,"line_end":46,"line_start":41,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}] +[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\na possible counterexample may satisfy the constraints\n a ≥ 2\nwhere\n a := ↑x","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:30:12"}],"primary":{"byte_end":1175,"byte_start":989,"column_end":2,"column_start":1,"line_end":46,"line_start":41,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}] diff --git a/tests/negative/model-false-evidence/project/lexlean.lock b/tests/negative/model-false-evidence/project/lexlean.lock index 5945a9698..93f7a0796 100644 --- a/tests/negative/model-false-evidence/project/lexlean.lock +++ b/tests/negative/model-false-evidence/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "65c0ab6015ada3b098320b5f26ffc6f4a2ceb464a9641e6532a1493110a3c566" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-float-descriptor/project/lexlean.lock b/tests/negative/model-float-descriptor/project/lexlean.lock index 5c7c1968f..518d685e3 100644 --- a/tests/negative/model-float-descriptor/project/lexlean.lock +++ b/tests/negative/model-float-descriptor/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "b54079b5034756fab196e0130add7e969e214992398790a256fbcb3d866fdab4" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-foreign-evidence/project/lexlean.lock b/tests/negative/model-foreign-evidence/project/lexlean.lock index 5945a9698..93f7a0796 100644 --- a/tests/negative/model-foreign-evidence/project/lexlean.lock +++ b/tests/negative/model-foreign-evidence/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "65c0ab6015ada3b098320b5f26ffc6f4a2ceb464a9641e6532a1493110a3c566" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-forged-evidence/project/lexlean.lock b/tests/negative/model-forged-evidence/project/lexlean.lock index 5945a9698..93f7a0796 100644 --- a/tests/negative/model-forged-evidence/project/lexlean.lock +++ b/tests/negative/model-forged-evidence/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "65c0ab6015ada3b098320b5f26ffc6f4a2ceb464a9641e6532a1493110a3c566" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-missing-entry/project/lexlean.lock b/tests/negative/model-missing-entry/project/lexlean.lock index 5945a9698..93f7a0796 100644 --- a/tests/negative/model-missing-entry/project/lexlean.lock +++ b/tests/negative/model-missing-entry/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "65c0ab6015ada3b098320b5f26ffc6f4a2ceb464a9641e6532a1493110a3c566" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-opaque-member/project/lexlean.lock b/tests/negative/model-opaque-member/project/lexlean.lock index 5945a9698..93f7a0796 100644 --- a/tests/negative/model-opaque-member/project/lexlean.lock +++ b/tests/negative/model-opaque-member/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "65c0ab6015ada3b098320b5f26ffc6f4a2ceb464a9641e6532a1493110a3c566" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-predicate-signature/project/lexlean.lock b/tests/negative/model-predicate-signature/project/lexlean.lock index 5945a9698..93f7a0796 100644 --- a/tests/negative/model-predicate-signature/project/lexlean.lock +++ b/tests/negative/model-predicate-signature/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "65c0ab6015ada3b098320b5f26ffc6f4a2ceb464a9641e6532a1493110a3c566" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-realization-bypass/project/lexlean.lock b/tests/negative/model-realization-bypass/project/lexlean.lock index 5945a9698..93f7a0796 100644 --- a/tests/negative/model-realization-bypass/project/lexlean.lock +++ b/tests/negative/model-realization-bypass/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "65c0ab6015ada3b098320b5f26ffc6f4a2ceb464a9641e6532a1493110a3c566" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-unregistered-claim/project/lexlean.lock b/tests/negative/model-unregistered-claim/project/lexlean.lock index 5945a9698..93f7a0796 100644 --- a/tests/negative/model-unregistered-claim/project/lexlean.lock +++ b/tests/negative/model-unregistered-claim/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "65c0ab6015ada3b098320b5f26ffc6f4a2ceb464a9641e6532a1493110a3c566" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-unvalidated-boundary/project/lexlean.lock b/tests/negative/model-unvalidated-boundary/project/lexlean.lock index 5945a9698..93f7a0796 100644 --- a/tests/negative/model-unvalidated-boundary/project/lexlean.lock +++ b/tests/negative/model-unvalidated-boundary/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "65c0ab6015ada3b098320b5f26ffc6f4a2ceb464a9641e6532a1493110a3c566" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-unvalidated-postcondition/project/lexlean.lock b/tests/negative/model-unvalidated-postcondition/project/lexlean.lock index 5945a9698..93f7a0796 100644 --- a/tests/negative/model-unvalidated-postcondition/project/lexlean.lock +++ b/tests/negative/model-unvalidated-postcondition/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "65c0ab6015ada3b098320b5f26ffc6f4a2ceb464a9641e6532a1493110a3c566" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-vacuous-claim/project/lexlean.lock b/tests/negative/model-vacuous-claim/project/lexlean.lock index 5945a9698..93f7a0796 100644 --- a/tests/negative/model-vacuous-claim/project/lexlean.lock +++ b/tests/negative/model-vacuous-claim/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "65c0ab6015ada3b098320b5f26ffc6f4a2ceb464a9641e6532a1493110a3c566" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/model-validator-unsound-statement/project/lexlean.lock b/tests/negative/model-validator-unsound-statement/project/lexlean.lock index 5945a9698..93f7a0796 100644 --- a/tests/negative/model-validator-unsound-statement/project/lexlean.lock +++ b/tests/negative/model-validator-unsound-statement/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "65c0ab6015ada3b098320b5f26ffc6f4a2ceb464a9641e6532a1493110a3c566" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/module-name-dotted-first/project/lexlean.lock b/tests/negative/module-name-dotted-first/project/lexlean.lock index bacf58bfb..e72c8947d 100644 --- a/tests/negative/module-name-dotted-first/project/lexlean.lock +++ b/tests/negative/module-name-dotted-first/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "95276aad5a2f8e56451e0155187ce36290918ff47f8b6a315a4f65c3bfef9e71" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/module-name-dotted-last/project/lexlean.lock b/tests/negative/module-name-dotted-last/project/lexlean.lock index 02cad95d0..902c1f77a 100644 --- a/tests/negative/module-name-dotted-last/project/lexlean.lock +++ b/tests/negative/module-name-dotted-last/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "931ec0afb0a76b983ac4c428c862444a84cf5503f5dd3674b7f95f86e20d955e" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/module-name-lean-namespace/project/lexlean.lock b/tests/negative/module-name-lean-namespace/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/module-name-lean-namespace/project/lexlean.lock +++ b/tests/negative/module-name-lean-namespace/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/module-prefix-target-production/project/lexlean.lock b/tests/negative/module-prefix-target-production/project/lexlean.lock index d1fa59b96..ce754bf1b 100644 --- a/tests/negative/module-prefix-target-production/project/lexlean.lock +++ b/tests/negative/module-prefix-target-production/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "d4ba5893c2a056d009d9df7131d82f1a6f3a560659e43ded292d44b5d050ee2b" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/mutual-group-noncontiguous/project/lexlean.lock b/tests/negative/mutual-group-noncontiguous/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/mutual-group-noncontiguous/project/lexlean.lock +++ b/tests/negative/mutual-group-noncontiguous/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/mutual-label-shared/project/lexlean.lock b/tests/negative/mutual-label-shared/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/mutual-label-shared/project/lexlean.lock +++ b/tests/negative/mutual-label-shared/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/polymorphic-ambiguity/project/lexlean.lock b/tests/negative/polymorphic-ambiguity/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/polymorphic-ambiguity/project/lexlean.lock +++ b/tests/negative/polymorphic-ambiguity/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/polymorphic-recursion/project/lexlean.lock b/tests/negative/polymorphic-recursion/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/polymorphic-recursion/project/lexlean.lock +++ b/tests/negative/polymorphic-recursion/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/preservation-drift/project/lexlean.lock b/tests/negative/preservation-drift/project/lexlean.lock index 30fdd9572..ba4b0b6fc 100644 --- a/tests/negative/preservation-drift/project/lexlean.lock +++ b/tests/negative/preservation-drift/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6f85e3c598ebbd2209c3ad5533caeb0ac2558d009e9863ec732435267e89972e" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/production-effect-mismatch/project/lexlean.lock b/tests/negative/production-effect-mismatch/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/production-effect-mismatch/project/lexlean.lock +++ b/tests/negative/production-effect-mismatch/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/production-formal-only-dependency/project/lexlean.lock b/tests/negative/production-formal-only-dependency/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/production-formal-only-dependency/project/lexlean.lock +++ b/tests/negative/production-formal-only-dependency/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/production-hidden-dependency/project/lexlean.lock b/tests/negative/production-hidden-dependency/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/production-hidden-dependency/project/lexlean.lock +++ b/tests/negative/production-hidden-dependency/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/production-higher-order-escape/project/lexlean.lock b/tests/negative/production-higher-order-escape/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/production-higher-order-escape/project/lexlean.lock +++ b/tests/negative/production-higher-order-escape/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/production-literal-width/project/lexlean.lock b/tests/negative/production-literal-width/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/production-literal-width/project/lexlean.lock +++ b/tests/negative/production-literal-width/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/production-named-type-boundary/project/lexlean.lock b/tests/negative/production-named-type-boundary/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/production-named-type-boundary/project/lexlean.lock +++ b/tests/negative/production-named-type-boundary/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/production-phantom-type-parameter/project/lexlean.lock b/tests/negative/production-phantom-type-parameter/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/production-phantom-type-parameter/project/lexlean.lock +++ b/tests/negative/production-phantom-type-parameter/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/production-polymorphic-root/project/lexlean.lock b/tests/negative/production-polymorphic-root/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/production-polymorphic-root/project/lexlean.lock +++ b/tests/negative/production-polymorphic-root/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/production-root-not-executable/project/lexlean.lock b/tests/negative/production-root-not-executable/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/production-root-not-executable/project/lexlean.lock +++ b/tests/negative/production-root-not-executable/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/production-runtime-incompatible-type/project/lexlean.lock b/tests/negative/production-runtime-incompatible-type/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/production-runtime-incompatible-type/project/lexlean.lock +++ b/tests/negative/production-runtime-incompatible-type/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/production-unbounded-type/project/lexlean.lock b/tests/negative/production-unbounded-type/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/production-unbounded-type/project/lexlean.lock +++ b/tests/negative/production-unbounded-type/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/production-universe-boundary/project/lexlean.lock b/tests/negative/production-universe-boundary/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/production-universe-boundary/project/lexlean.lock +++ b/tests/negative/production-universe-boundary/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/production-unknown-target/project/lexlean.lock b/tests/negative/production-unknown-target/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/production-unknown-target/project/lexlean.lock +++ b/tests/negative/production-unknown-target/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-accept-bypass-alias/project/lexlean.lock b/tests/negative/reasoning-accept-bypass-alias/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-accept-bypass-alias/project/lexlean.lock +++ b/tests/negative/reasoning-accept-bypass-alias/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-accept-bypass-invariant/project/lexlean.lock b/tests/negative/reasoning-accept-bypass-invariant/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-accept-bypass-invariant/project/lexlean.lock +++ b/tests/negative/reasoning-accept-bypass-invariant/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-accept-bypass-observation/project/lexlean.lock b/tests/negative/reasoning-accept-bypass-observation/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-accept-bypass-observation/project/lexlean.lock +++ b/tests/negative/reasoning-accept-bypass-observation/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-accept-bypass-ref/project/lexlean.lock b/tests/negative/reasoning-accept-bypass-ref/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-accept-bypass-ref/project/lexlean.lock +++ b/tests/negative/reasoning-accept-bypass-ref/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-answer-correct-inexact/project/lexlean.lock b/tests/negative/reasoning-answer-correct-inexact/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-answer-correct-inexact/project/lexlean.lock +++ b/tests/negative/reasoning-answer-correct-inexact/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-answer-correct-unsorted/project/lexlean.lock b/tests/negative/reasoning-answer-correct-unsorted/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-answer-correct-unsorted/project/lexlean.lock +++ b/tests/negative/reasoning-answer-correct-unsorted/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-answer-invariant-without-initial/project/lexlean.lock b/tests/negative/reasoning-answer-invariant-without-initial/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-answer-invariant-without-initial/project/lexlean.lock +++ b/tests/negative/reasoning-answer-invariant-without-initial/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-answer-type/project/lexlean.lock b/tests/negative/reasoning-answer-type/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-answer-type/project/lexlean.lock +++ b/tests/negative/reasoning-answer-type/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-binder-reserved/project/lexlean.lock b/tests/negative/reasoning-binder-reserved/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-binder-reserved/project/lexlean.lock +++ b/tests/negative/reasoning-binder-reserved/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-budget-not-nat/project/lexlean.lock b/tests/negative/reasoning-budget-not-nat/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-budget-not-nat/project/lexlean.lock +++ b/tests/negative/reasoning-budget-not-nat/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-claims-duplicate/project/lexlean.lock b/tests/negative/reasoning-claims-duplicate/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-claims-duplicate/project/lexlean.lock +++ b/tests/negative/reasoning-claims-duplicate/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-claims-unsorted/project/lexlean.lock b/tests/negative/reasoning-claims-unsorted/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-claims-unsorted/project/lexlean.lock +++ b/tests/negative/reasoning-claims-unsorted/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-conclude-bypass-invariant/project/lexlean.lock b/tests/negative/reasoning-conclude-bypass-invariant/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-conclude-bypass-invariant/project/lexlean.lock +++ b/tests/negative/reasoning-conclude-bypass-invariant/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-conclude-bypass-observation/project/lexlean.lock b/tests/negative/reasoning-conclude-bypass-observation/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-conclude-bypass-observation/project/lexlean.lock +++ b/tests/negative/reasoning-conclude-bypass-observation/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-deduplicate-unordered-state/project/lexlean.lock b/tests/negative/reasoning-deduplicate-unordered-state/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-deduplicate-unordered-state/project/lexlean.lock +++ b/tests/negative/reasoning-deduplicate-unordered-state/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-duplicate-rule/project/lexlean.lock b/tests/negative/reasoning-duplicate-rule/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-duplicate-rule/project/lexlean.lock +++ b/tests/negative/reasoning-duplicate-rule/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-elaboration-over-limit/project/lexlean.lock b/tests/negative/reasoning-elaboration-over-limit/project/lexlean.lock index c5ddcb4fe..78ac5447a 100644 --- a/tests/negative/reasoning-elaboration-over-limit/project/lexlean.lock +++ b/tests/negative/reasoning-elaboration-over-limit/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "32962ccccc0e0504497383fdd12cf9f1e761305e58c22fa64cc3776c5fad8c16" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-extract-bypass-alias/project/lexlean.lock b/tests/negative/reasoning-extract-bypass-alias/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-extract-bypass-alias/project/lexlean.lock +++ b/tests/negative/reasoning-extract-bypass-alias/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-extract-bypass-branch/project/lexlean.lock b/tests/negative/reasoning-extract-bypass-branch/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-extract-bypass-branch/project/lexlean.lock +++ b/tests/negative/reasoning-extract-bypass-branch/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-extract-bypass-invariant/project/lexlean.lock b/tests/negative/reasoning-extract-bypass-invariant/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-extract-bypass-invariant/project/lexlean.lock +++ b/tests/negative/reasoning-extract-bypass-invariant/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-extract-bypass-reasoner/project/lexlean.lock b/tests/negative/reasoning-extract-bypass-reasoner/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-extract-bypass-reasoner/project/lexlean.lock +++ b/tests/negative/reasoning-extract-bypass-reasoner/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-extract-bypass-ref/project/lexlean.lock b/tests/negative/reasoning-extract-bypass-ref/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-extract-bypass-ref/project/lexlean.lock +++ b/tests/negative/reasoning-extract-bypass-ref/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-false-answer-correct/expected/command.json b/tests/negative/reasoning-false-answer-correct/expected/command.json index 4a18fb65f..1eb641822 100644 --- a/tests/negative/reasoning-false-answer-correct/expected/command.json +++ b/tests/negative/reasoning-false-answer-correct/expected/command.json @@ -1 +1 @@ -{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\na possible counterexample may satisfy the constraints\n a ≥ 3\nwhere\n a := ↑v","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:770:12"}],"primary":{"byte_end":4811,"byte_start":4575,"column_end":2,"column_start":1,"line_end":163,"line_start":158,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}],"exit_code":1,"modules":[],"spec":"lexlean/command-result/1","success":false} +{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\na possible counterexample may satisfy the constraints\n a ≥ 3\nwhere\n a := ↑v","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:110:12"}],"primary":{"byte_end":4811,"byte_start":4575,"column_end":2,"column_start":1,"line_end":163,"line_start":158,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}],"exit_code":1,"modules":[],"spec":"lexlean/command-result/1","success":false} diff --git a/tests/negative/reasoning-false-answer-correct/expected/diagnostics.json b/tests/negative/reasoning-false-answer-correct/expected/diagnostics.json index 423be5f17..8e7732b91 100644 --- a/tests/negative/reasoning-false-answer-correct/expected/diagnostics.json +++ b/tests/negative/reasoning-false-answer-correct/expected/diagnostics.json @@ -1 +1 @@ -[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\na possible counterexample may satisfy the constraints\n a ≥ 3\nwhere\n a := ↑v","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:770:12"}],"primary":{"byte_end":4811,"byte_start":4575,"column_end":2,"column_start":1,"line_end":163,"line_start":158,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}] +[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\na possible counterexample may satisfy the constraints\n a ≥ 3\nwhere\n a := ↑v","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:110:12"}],"primary":{"byte_end":4811,"byte_start":4575,"column_end":2,"column_start":1,"line_end":163,"line_start":158,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}] diff --git a/tests/negative/reasoning-false-answer-correct/project/lexlean.lock b/tests/negative/reasoning-false-answer-correct/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-false-answer-correct/project/lexlean.lock +++ b/tests/negative/reasoning-false-answer-correct/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-false-invariant-answer-correct/expected/command.json b/tests/negative/reasoning-false-invariant-answer-correct/expected/command.json index 0a19696de..f1cc66b05 100644 --- a/tests/negative/reasoning-false-invariant-answer-correct/expected/command.json +++ b/tests/negative/reasoning-false-invariant-answer-correct/expected/command.json @@ -1 +1 @@ -{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\nNo usable constraints found. You may need to unfold definitions so `omega` can see linear arithmetic facts about `Nat` and `Int`, which may also involve multiplication, division, and modular remainder by constants.","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:770:12"}],"primary":{"byte_end":4839,"byte_start":4575,"column_end":2,"column_start":1,"line_end":163,"line_start":158,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}],"exit_code":1,"modules":[],"spec":"lexlean/command-result/1","success":false} +{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\nNo usable constraints found. You may need to unfold definitions so `omega` can see linear arithmetic facts about `Nat` and `Int`, which may also involve multiplication, division, and modular remainder by constants.","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:110:12"}],"primary":{"byte_end":4839,"byte_start":4575,"column_end":2,"column_start":1,"line_end":163,"line_start":158,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}],"exit_code":1,"modules":[],"spec":"lexlean/command-result/1","success":false} diff --git a/tests/negative/reasoning-false-invariant-answer-correct/expected/diagnostics.json b/tests/negative/reasoning-false-invariant-answer-correct/expected/diagnostics.json index 78208f782..aee68c6ca 100644 --- a/tests/negative/reasoning-false-invariant-answer-correct/expected/diagnostics.json +++ b/tests/negative/reasoning-false-invariant-answer-correct/expected/diagnostics.json @@ -1 +1 @@ -[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\nNo usable constraints found. You may need to unfold definitions so `omega` can see linear arithmetic facts about `Nat` and `Int`, which may also involve multiplication, division, and modular remainder by constants.","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:770:12"}],"primary":{"byte_end":4839,"byte_start":4575,"column_end":2,"column_start":1,"line_end":163,"line_start":158,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}] +[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\nNo usable constraints found. You may need to unfold definitions so `omega` can see linear arithmetic facts about `Nat` and `Int`, which may also involve multiplication, division, and modular remainder by constants.","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:110:12"}],"primary":{"byte_end":4839,"byte_start":4575,"column_end":2,"column_start":1,"line_end":163,"line_start":158,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}] diff --git a/tests/negative/reasoning-false-invariant-answer-correct/project/lexlean.lock b/tests/negative/reasoning-false-invariant-answer-correct/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-false-invariant-answer-correct/project/lexlean.lock +++ b/tests/negative/reasoning-false-invariant-answer-correct/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-false-observation-answer-correct/expected/command.json b/tests/negative/reasoning-false-observation-answer-correct/expected/command.json index dda79aea0..85b134b48 100644 --- a/tests/negative/reasoning-false-observation-answer-correct/expected/command.json +++ b/tests/negative/reasoning-false-observation-answer-correct/expected/command.json @@ -1 +1 @@ -{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\nNo usable constraints found. You may need to unfold definitions so `omega` can see linear arithmetic facts about `Nat` and `Int`, which may also involve multiplication, division, and modular remainder by constants.","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:784:12"}],"primary":{"byte_end":5364,"byte_start":5094,"column_end":2,"column_start":1,"line_end":184,"line_start":179,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}],"exit_code":1,"modules":[],"spec":"lexlean/command-result/1","success":false} +{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\nNo usable constraints found. You may need to unfold definitions so `omega` can see linear arithmetic facts about `Nat` and `Int`, which may also involve multiplication, division, and modular remainder by constants.","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:124:12"}],"primary":{"byte_end":5364,"byte_start":5094,"column_end":2,"column_start":1,"line_end":184,"line_start":179,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}],"exit_code":1,"modules":[],"spec":"lexlean/command-result/1","success":false} diff --git a/tests/negative/reasoning-false-observation-answer-correct/expected/diagnostics.json b/tests/negative/reasoning-false-observation-answer-correct/expected/diagnostics.json index 9253d586f..ad060444b 100644 --- a/tests/negative/reasoning-false-observation-answer-correct/expected/diagnostics.json +++ b/tests/negative/reasoning-false-observation-answer-correct/expected/diagnostics.json @@ -1 +1 @@ -[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\nNo usable constraints found. You may need to unfold definitions so `omega` can see linear arithmetic facts about `Nat` and `Int`, which may also involve multiplication, division, and modular remainder by constants.","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:784:12"}],"primary":{"byte_end":5364,"byte_start":5094,"column_end":2,"column_start":1,"line_end":184,"line_start":179,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}] +[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\nNo usable constraints found. You may need to unfold definitions so `omega` can see linear arithmetic facts about `Nat` and `Int`, which may also involve multiplication, division, and modular remainder by constants.","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:124:12"}],"primary":{"byte_end":5364,"byte_start":5094,"column_end":2,"column_start":1,"line_end":184,"line_start":179,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}] diff --git a/tests/negative/reasoning-false-observation-answer-correct/project/lexlean.lock b/tests/negative/reasoning-false-observation-answer-correct/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-false-observation-answer-correct/project/lexlean.lock +++ b/tests/negative/reasoning-false-observation-answer-correct/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-forged-trace/expected/command.json b/tests/negative/reasoning-forged-trace/expected/command.json index 6686a677b..c49079294 100644 --- a/tests/negative/reasoning-forged-trace/expected/command.json +++ b/tests/negative/reasoning-forged-trace/expected/command.json @@ -1 +1 @@ -{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): Tactic `rfl` failed: The left-hand side\n Clinic.answer 37 [Clinic.Step.Pick 37]\nis not definitionally equal to the right-hand side\n some 1\n⊢ Clinic.answer 37 [Clinic.Step.Pick 37] = some 1","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:989:2"}],"primary":{"byte_end":5254,"byte_start":5064,"column_end":2,"column_start":1,"line_end":177,"line_start":172,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}],"exit_code":1,"modules":[],"spec":"lexlean/command-result/1","success":false} +{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): Tactic `rfl` failed: The left-hand side\n Clinic.answer 37 [Clinic.Step.Pick 37]\nis not definitionally equal to the right-hand side\n some 1\n⊢ Clinic.answer 37 [Clinic.Step.Pick 37] = some 1","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:329:2"}],"primary":{"byte_end":5254,"byte_start":5064,"column_end":2,"column_start":1,"line_end":177,"line_start":172,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}],"exit_code":1,"modules":[],"spec":"lexlean/command-result/1","success":false} diff --git a/tests/negative/reasoning-forged-trace/expected/diagnostics.json b/tests/negative/reasoning-forged-trace/expected/diagnostics.json index 93c851e89..eee2b0351 100644 --- a/tests/negative/reasoning-forged-trace/expected/diagnostics.json +++ b/tests/negative/reasoning-forged-trace/expected/diagnostics.json @@ -1 +1 @@ -[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): Tactic `rfl` failed: The left-hand side\n Clinic.answer 37 [Clinic.Step.Pick 37]\nis not definitionally equal to the right-hand side\n some 1\n⊢ Clinic.answer 37 [Clinic.Step.Pick 37] = some 1","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:989:2"}],"primary":{"byte_end":5254,"byte_start":5064,"column_end":2,"column_start":1,"line_end":177,"line_start":172,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}] +[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): Tactic `rfl` failed: The left-hand side\n Clinic.answer 37 [Clinic.Step.Pick 37]\nis not definitionally equal to the right-hand side\n some 1\n⊢ Clinic.answer 37 [Clinic.Step.Pick 37] = some 1","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:329:2"}],"primary":{"byte_end":5254,"byte_start":5064,"column_end":2,"column_start":1,"line_end":177,"line_start":172,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}] diff --git a/tests/negative/reasoning-forged-trace/project/lexlean.lock b/tests/negative/reasoning-forged-trace/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-forged-trace/project/lexlean.lock +++ b/tests/negative/reasoning-forged-trace/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-formal-rule/project/lexlean.lock b/tests/negative/reasoning-formal-rule/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-formal-rule/project/lexlean.lock +++ b/tests/negative/reasoning-formal-rule/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-forward-without-fuel/project/lexlean.lock b/tests/negative/reasoning-forward-without-fuel/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-forward-without-fuel/project/lexlean.lock +++ b/tests/negative/reasoning-forward-without-fuel/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-frontier-not-nat/project/lexlean.lock b/tests/negative/reasoning-frontier-not-nat/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-frontier-not-nat/project/lexlean.lock +++ b/tests/negative/reasoning-frontier-not-nat/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-fuel-bound-inexact/project/lexlean.lock b/tests/negative/reasoning-fuel-bound-inexact/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-fuel-bound-inexact/project/lexlean.lock +++ b/tests/negative/reasoning-fuel-bound-inexact/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-fuel-not-nat/project/lexlean.lock b/tests/negative/reasoning-fuel-not-nat/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-fuel-not-nat/project/lexlean.lock +++ b/tests/negative/reasoning-fuel-not-nat/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-generate-claims/project/lexlean.lock b/tests/negative/reasoning-generate-claims/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-generate-claims/project/lexlean.lock +++ b/tests/negative/reasoning-generate-claims/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-generate-subject-mismatch/project/lexlean.lock b/tests/negative/reasoning-generate-subject-mismatch/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-generate-subject-mismatch/project/lexlean.lock +++ b/tests/negative/reasoning-generate-subject-mismatch/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-generate-with-logic/project/lexlean.lock b/tests/negative/reasoning-generate-with-logic/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-generate-with-logic/project/lexlean.lock +++ b/tests/negative/reasoning-generate-with-logic/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-generate-with-rules/project/lexlean.lock b/tests/negative/reasoning-generate-with-rules/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-generate-with-rules/project/lexlean.lock +++ b/tests/negative/reasoning-generate-with-rules/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-generate-without-budget/project/lexlean.lock b/tests/negative/reasoning-generate-without-budget/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-generate-without-budget/project/lexlean.lock +++ b/tests/negative/reasoning-generate-without-budget/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-generator-type/project/lexlean.lock b/tests/negative/reasoning-generator-type/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-generator-type/project/lexlean.lock +++ b/tests/negative/reasoning-generator-type/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-inconsistent-verifier/expected/command.json b/tests/negative/reasoning-inconsistent-verifier/expected/command.json index 552d0278b..c380f92e3 100644 --- a/tests/negative/reasoning-inconsistent-verifier/expected/command.json +++ b/tests/negative/reasoning-inconsistent-verifier/expected/command.json @@ -1 +1 @@ -{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\nNo usable constraints found. You may need to unfold definitions so `omega` can see linear arithmetic facts about `Nat` and `Int`, which may also involve multiplication, division, and modular remainder by constants.","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:741:12"}],"primary":{"byte_end":3692,"byte_start":3478,"column_end":2,"column_start":1,"line_end":121,"line_start":115,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}],"exit_code":1,"modules":[],"spec":"lexlean/command-result/1","success":false} +{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\nNo usable constraints found. You may need to unfold definitions so `omega` can see linear arithmetic facts about `Nat` and `Int`, which may also involve multiplication, division, and modular remainder by constants.","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:81:12"}],"primary":{"byte_end":3692,"byte_start":3478,"column_end":2,"column_start":1,"line_end":121,"line_start":115,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}],"exit_code":1,"modules":[],"spec":"lexlean/command-result/1","success":false} diff --git a/tests/negative/reasoning-inconsistent-verifier/expected/diagnostics.json b/tests/negative/reasoning-inconsistent-verifier/expected/diagnostics.json index a2e705412..3371b23cf 100644 --- a/tests/negative/reasoning-inconsistent-verifier/expected/diagnostics.json +++ b/tests/negative/reasoning-inconsistent-verifier/expected/diagnostics.json @@ -1 +1 @@ -[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\nNo usable constraints found. You may need to unfold definitions so `omega` can see linear arithmetic facts about `Nat` and `Int`, which may also involve multiplication, division, and modular remainder by constants.","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:741:12"}],"primary":{"byte_end":3692,"byte_start":3478,"column_end":2,"column_start":1,"line_end":121,"line_start":115,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}] +[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\nNo usable constraints found. You may need to unfold definitions so `omega` can see linear arithmetic facts about `Nat` and `Int`, which may also involve multiplication, division, and modular remainder by constants.","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:81:12"}],"primary":{"byte_end":3692,"byte_start":3478,"column_end":2,"column_start":1,"line_end":121,"line_start":115,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}] diff --git a/tests/negative/reasoning-inconsistent-verifier/project/lexlean.lock b/tests/negative/reasoning-inconsistent-verifier/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-inconsistent-verifier/project/lexlean.lock +++ b/tests/negative/reasoning-inconsistent-verifier/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-initial-inexact/project/lexlean.lock b/tests/negative/reasoning-initial-inexact/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-initial-inexact/project/lexlean.lock +++ b/tests/negative/reasoning-initial-inexact/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-initial-without-invariant/project/lexlean.lock b/tests/negative/reasoning-initial-without-invariant/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-initial-without-invariant/project/lexlean.lock +++ b/tests/negative/reasoning-initial-without-invariant/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-insufficient-fuel/expected/command.json b/tests/negative/reasoning-insufficient-fuel/expected/command.json index c1e818a26..0ec985914 100644 --- a/tests/negative/reasoning-insufficient-fuel/expected/command.json +++ b/tests/negative/reasoning-insufficient-fuel/expected/command.json @@ -1 +1 @@ -{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\nNo usable constraints found. You may need to unfold definitions so `omega` can see linear arithmetic facts about `Nat` and `Int`, which may also involve multiplication, division, and modular remainder by constants.","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:764:12"}],"primary":{"byte_end":4567,"byte_start":4347,"column_end":2,"column_start":1,"line_end":156,"line_start":150,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}],"exit_code":1,"modules":[],"spec":"lexlean/command-result/1","success":false} +{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\nNo usable constraints found. You may need to unfold definitions so `omega` can see linear arithmetic facts about `Nat` and `Int`, which may also involve multiplication, division, and modular remainder by constants.","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:104:12"}],"primary":{"byte_end":4567,"byte_start":4347,"column_end":2,"column_start":1,"line_end":156,"line_start":150,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}],"exit_code":1,"modules":[],"spec":"lexlean/command-result/1","success":false} diff --git a/tests/negative/reasoning-insufficient-fuel/expected/diagnostics.json b/tests/negative/reasoning-insufficient-fuel/expected/diagnostics.json index ee23c0220..a07df532d 100644 --- a/tests/negative/reasoning-insufficient-fuel/expected/diagnostics.json +++ b/tests/negative/reasoning-insufficient-fuel/expected/diagnostics.json @@ -1 +1 @@ -[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\nNo usable constraints found. You may need to unfold definitions so `omega` can see linear arithmetic facts about `Nat` and `Int`, which may also involve multiplication, division, and modular remainder by constants.","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:764:12"}],"primary":{"byte_end":4567,"byte_start":4347,"column_end":2,"column_start":1,"line_end":156,"line_start":150,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}] +[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\nNo usable constraints found. You may need to unfold definitions so `omega` can see linear arithmetic facts about `Nat` and `Int`, which may also involve multiplication, division, and modular remainder by constants.","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:104:12"}],"primary":{"byte_end":4567,"byte_start":4347,"column_end":2,"column_start":1,"line_end":156,"line_start":150,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}] diff --git a/tests/negative/reasoning-insufficient-fuel/project/lexlean.lock b/tests/negative/reasoning-insufficient-fuel/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-insufficient-fuel/project/lexlean.lock +++ b/tests/negative/reasoning-insufficient-fuel/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-interface-rebound/project/lexlean.lock b/tests/negative/reasoning-interface-rebound/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-interface-rebound/project/lexlean.lock +++ b/tests/negative/reasoning-interface-rebound/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-invalid-rule-application/expected/command.json b/tests/negative/reasoning-invalid-rule-application/expected/command.json index 3df4ae4d0..9c18efe7d 100644 --- a/tests/negative/reasoning-invalid-rule-application/expected/command.json +++ b/tests/negative/reasoning-invalid-rule-application/expected/command.json @@ -1 +1 @@ -{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\na possible counterexample may satisfy the constraints\n a ≥ 39\nwhere\n a := ↑s.temp","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:696:12"}],"primary":{"byte_end":1436,"byte_start":1107,"column_end":2,"column_start":1,"line_end":52,"line_start":46,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"},{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\na possible counterexample may satisfy the constraints\n a ≥ 39\nwhere\n a := ↑s.temp","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:702:12"}],"primary":{"byte_end":1802,"byte_start":1438,"column_end":2,"column_start":1,"line_end":60,"line_start":54,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}],"exit_code":1,"modules":[],"spec":"lexlean/command-result/1","success":false} +{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\na possible counterexample may satisfy the constraints\n a ≥ 39\nwhere\n a := ↑s.temp","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:36:12"}],"primary":{"byte_end":1436,"byte_start":1107,"column_end":2,"column_start":1,"line_end":52,"line_start":46,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"},{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\na possible counterexample may satisfy the constraints\n a ≥ 39\nwhere\n a := ↑s.temp","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:42:12"}],"primary":{"byte_end":1802,"byte_start":1438,"column_end":2,"column_start":1,"line_end":60,"line_start":54,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}],"exit_code":1,"modules":[],"spec":"lexlean/command-result/1","success":false} diff --git a/tests/negative/reasoning-invalid-rule-application/expected/diagnostics.json b/tests/negative/reasoning-invalid-rule-application/expected/diagnostics.json index cc395c4ea..a2c312220 100644 --- a/tests/negative/reasoning-invalid-rule-application/expected/diagnostics.json +++ b/tests/negative/reasoning-invalid-rule-application/expected/diagnostics.json @@ -1 +1 @@ -[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\na possible counterexample may satisfy the constraints\n a ≥ 39\nwhere\n a := ↑s.temp","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:696:12"}],"primary":{"byte_end":1436,"byte_start":1107,"column_end":2,"column_start":1,"line_end":52,"line_start":46,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"},{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\na possible counterexample may satisfy the constraints\n a ≥ 39\nwhere\n a := ↑s.temp","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:702:12"}],"primary":{"byte_end":1802,"byte_start":1438,"column_end":2,"column_start":1,"line_end":60,"line_start":54,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}] +[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\na possible counterexample may satisfy the constraints\n a ≥ 39\nwhere\n a := ↑s.temp","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:36:12"}],"primary":{"byte_end":1436,"byte_start":1107,"column_end":2,"column_start":1,"line_end":52,"line_start":46,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"},{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\na possible counterexample may satisfy the constraints\n a ≥ 39\nwhere\n a := ↑s.temp","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:42:12"}],"primary":{"byte_end":1802,"byte_start":1438,"column_end":2,"column_start":1,"line_end":60,"line_start":54,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}] diff --git a/tests/negative/reasoning-invalid-rule-application/project/lexlean.lock b/tests/negative/reasoning-invalid-rule-application/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-invalid-rule-application/project/lexlean.lock +++ b/tests/negative/reasoning-invalid-rule-application/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-invariant-signature/project/lexlean.lock b/tests/negative/reasoning-invariant-signature/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-invariant-signature/project/lexlean.lock +++ b/tests/negative/reasoning-invariant-signature/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-invariant-unpreserved/project/lexlean.lock b/tests/negative/reasoning-invariant-unpreserved/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-invariant-unpreserved/project/lexlean.lock +++ b/tests/negative/reasoning-invariant-unpreserved/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-logic-type-parameters/project/lexlean.lock b/tests/negative/reasoning-logic-type-parameters/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-logic-type-parameters/project/lexlean.lock +++ b/tests/negative/reasoning-logic-type-parameters/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-no-rules/project/lexlean.lock b/tests/negative/reasoning-no-rules/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-no-rules/project/lexlean.lock +++ b/tests/negative/reasoning-no-rules/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-nonterminating-rule/expected/command.json b/tests/negative/reasoning-nonterminating-rule/expected/command.json index 10d69dde4..b84ddc4c2 100644 --- a/tests/negative/reasoning-nonterminating-rule/expected/command.json +++ b/tests/negative/reasoning-nonterminating-rule/expected/command.json @@ -1 +1 @@ -{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\na possible counterexample may satisfy the constraints\n 0 ≤ b ≤ 2\n a ≥ 39\nwhere\n a := ↑s.temp\n b := ↑(2 - s.flags)","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:702:12"}],"primary":{"byte_end":1741,"byte_start":1382,"column_end":2,"column_start":1,"line_end":60,"line_start":54,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}],"exit_code":1,"modules":[],"spec":"lexlean/command-result/1","success":false} +{"artifacts":[],"command":"verify","diagnostics":[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\na possible counterexample may satisfy the constraints\n 0 ≤ b ≤ 2\n a ≥ 39\nwhere\n a := ↑s.temp\n b := ↑(2 - s.flags)","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:42:12"}],"primary":{"byte_end":1741,"byte_start":1382,"column_end":2,"column_start":1,"line_end":60,"line_start":54,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}],"exit_code":1,"modules":[],"spec":"lexlean/command-result/1","success":false} diff --git a/tests/negative/reasoning-nonterminating-rule/expected/diagnostics.json b/tests/negative/reasoning-nonterminating-rule/expected/diagnostics.json index ba5059e5a..7cf8b9ef0 100644 --- a/tests/negative/reasoning-nonterminating-rule/expected/diagnostics.json +++ b/tests/negative/reasoning-nonterminating-rule/expected/diagnostics.json @@ -1 +1 @@ -[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\na possible counterexample may satisfy the constraints\n 0 ≤ b ≤ 2\n a ≥ 39\nwhere\n a := ↑s.temp\n b := ↑(2 - s.flags)","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:702:12"}],"primary":{"byte_end":1741,"byte_start":1382,"column_end":2,"column_start":1,"line_end":60,"line_start":54,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}] +[{"causes":[],"code":"LLV7002","help":[],"labels":[],"message":"Lean rejected `Mini.Main` (error): omega could not prove the goal:\na possible counterexample may satisfy the constraints\n 0 ≤ b ≤ 2\n a ≥ 39\nwhere\n a := ↑s.temp\n b := ↑(2 - s.flags)","notes":[{"message":"generated location: $STAGING/lean-src/Mini/Main.lean:42:12"}],"primary":{"byte_end":1741,"byte_start":1382,"column_end":2,"column_start":1,"line_end":60,"line_start":54,"path":"src/Main.lex.tex"},"severity":"error","spec":"lexlean/diagnostic/1"}] diff --git a/tests/negative/reasoning-nonterminating-rule/project/lexlean.lock b/tests/negative/reasoning-nonterminating-rule/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-nonterminating-rule/project/lexlean.lock +++ b/tests/negative/reasoning-nonterminating-rule/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-observation-initial-inexact/project/lexlean.lock b/tests/negative/reasoning-observation-initial-inexact/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-observation-initial-inexact/project/lexlean.lock +++ b/tests/negative/reasoning-observation-initial-inexact/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-observation-invariant-signature/project/lexlean.lock b/tests/negative/reasoning-observation-invariant-signature/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-observation-invariant-signature/project/lexlean.lock +++ b/tests/negative/reasoning-observation-invariant-signature/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-observation-preserved-inexact/project/lexlean.lock b/tests/negative/reasoning-observation-preserved-inexact/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-observation-preserved-inexact/project/lexlean.lock +++ b/tests/negative/reasoning-observation-preserved-inexact/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-observation-type/project/lexlean.lock b/tests/negative/reasoning-observation-type/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-observation-type/project/lexlean.lock +++ b/tests/negative/reasoning-observation-type/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-observation-unsorted/project/lexlean.lock b/tests/negative/reasoning-observation-unsorted/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-observation-unsorted/project/lexlean.lock +++ b/tests/negative/reasoning-observation-unsorted/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-opaque-member/project/lexlean.lock b/tests/negative/reasoning-opaque-member/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-opaque-member/project/lexlean.lock +++ b/tests/negative/reasoning-opaque-member/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-progress-without-ranking/project/lexlean.lock b/tests/negative/reasoning-progress-without-ranking/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-progress-without-ranking/project/lexlean.lock +++ b/tests/negative/reasoning-progress-without-ranking/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-ranking-signature/project/lexlean.lock b/tests/negative/reasoning-ranking-signature/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-ranking-signature/project/lexlean.lock +++ b/tests/negative/reasoning-ranking-signature/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-reasoner-rule-type-arguments/project/lexlean.lock b/tests/negative/reasoning-reasoner-rule-type-arguments/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-reasoner-rule-type-arguments/project/lexlean.lock +++ b/tests/negative/reasoning-reasoner-rule-type-arguments/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-relation-not-definition/project/lexlean.lock b/tests/negative/reasoning-relation-not-definition/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-relation-not-definition/project/lexlean.lock +++ b/tests/negative/reasoning-relation-not-definition/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-relation-signature/project/lexlean.lock b/tests/negative/reasoning-relation-signature/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-relation-signature/project/lexlean.lock +++ b/tests/negative/reasoning-relation-signature/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-reserved-declaration-name/project/lexlean.lock b/tests/negative/reasoning-reserved-declaration-name/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-reserved-declaration-name/project/lexlean.lock +++ b/tests/negative/reasoning-reserved-declaration-name/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-reserved-declaration-namespace/project/lexlean.lock b/tests/negative/reasoning-reserved-declaration-namespace/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-reserved-declaration-namespace/project/lexlean.lock +++ b/tests/negative/reasoning-reserved-declaration-namespace/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-rule-bypass-alias/project/lexlean.lock b/tests/negative/reasoning-rule-bypass-alias/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-rule-bypass-alias/project/lexlean.lock +++ b/tests/negative/reasoning-rule-bypass-alias/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-rule-bypass-branch/project/lexlean.lock b/tests/negative/reasoning-rule-bypass-branch/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-rule-bypass-branch/project/lexlean.lock +++ b/tests/negative/reasoning-rule-bypass-branch/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-rule-bypass-generator/project/lexlean.lock b/tests/negative/reasoning-rule-bypass-generator/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-rule-bypass-generator/project/lexlean.lock +++ b/tests/negative/reasoning-rule-bypass-generator/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-rule-bypass-guard/project/lexlean.lock b/tests/negative/reasoning-rule-bypass-guard/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-rule-bypass-guard/project/lexlean.lock +++ b/tests/negative/reasoning-rule-bypass-guard/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-rule-bypass-iterate/project/lexlean.lock b/tests/negative/reasoning-rule-bypass-iterate/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-rule-bypass-iterate/project/lexlean.lock +++ b/tests/negative/reasoning-rule-bypass-iterate/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-rule-bypass-lambda/project/lexlean.lock b/tests/negative/reasoning-rule-bypass-lambda/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-rule-bypass-lambda/project/lexlean.lock +++ b/tests/negative/reasoning-rule-bypass-lambda/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-rule-bypass-observe/project/lexlean.lock b/tests/negative/reasoning-rule-bypass-observe/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-rule-bypass-observe/project/lexlean.lock +++ b/tests/negative/reasoning-rule-bypass-observe/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-rule-bypass-ref/project/lexlean.lock b/tests/negative/reasoning-rule-bypass-ref/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-rule-bypass-ref/project/lexlean.lock +++ b/tests/negative/reasoning-rule-bypass-ref/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-rule-bypass/project/lexlean.lock b/tests/negative/reasoning-rule-bypass/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-rule-bypass/project/lexlean.lock +++ b/tests/negative/reasoning-rule-bypass/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-rule-candidates-type/project/lexlean.lock b/tests/negative/reasoning-rule-candidates-type/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-rule-candidates-type/project/lexlean.lock +++ b/tests/negative/reasoning-rule-candidates-type/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-rule-conclusion-type/project/lexlean.lock b/tests/negative/reasoning-rule-conclusion-type/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-rule-conclusion-type/project/lexlean.lock +++ b/tests/negative/reasoning-rule-conclusion-type/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-rule-foreign-logic/project/lexlean.lock b/tests/negative/reasoning-rule-foreign-logic/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-rule-foreign-logic/project/lexlean.lock +++ b/tests/negative/reasoning-rule-foreign-logic/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-rule-guard-type/project/lexlean.lock b/tests/negative/reasoning-rule-guard-type/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-rule-guard-type/project/lexlean.lock +++ b/tests/negative/reasoning-rule-guard-type/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-rule-progress-inexact/project/lexlean.lock b/tests/negative/reasoning-rule-progress-inexact/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-rule-progress-inexact/project/lexlean.lock +++ b/tests/negative/reasoning-rule-progress-inexact/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-rule-soundness-inexact/project/lexlean.lock b/tests/negative/reasoning-rule-soundness-inexact/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-rule-soundness-inexact/project/lexlean.lock +++ b/tests/negative/reasoning-rule-soundness-inexact/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-rule-type-arguments/project/lexlean.lock b/tests/negative/reasoning-rule-type-arguments/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-rule-type-arguments/project/lexlean.lock +++ b/tests/negative/reasoning-rule-type-arguments/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-rule-unknown-logic/project/lexlean.lock b/tests/negative/reasoning-rule-unknown-logic/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-rule-unknown-logic/project/lexlean.lock +++ b/tests/negative/reasoning-rule-unknown-logic/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-rules-without-logic/project/lexlean.lock b/tests/negative/reasoning-rules-without-logic/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-rules-without-logic/project/lexlean.lock +++ b/tests/negative/reasoning-rules-without-logic/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-search-accept-bypass-invariant/project/lexlean.lock b/tests/negative/reasoning-search-accept-bypass-invariant/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-search-accept-bypass-invariant/project/lexlean.lock +++ b/tests/negative/reasoning-search-accept-bypass-invariant/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-search-step-bypass-invariant/project/lexlean.lock b/tests/negative/reasoning-search-step-bypass-invariant/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-search-step-bypass-invariant/project/lexlean.lock +++ b/tests/negative/reasoning-search-step-bypass-invariant/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-search-without-frontier/project/lexlean.lock b/tests/negative/reasoning-search-without-frontier/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-search-without-frontier/project/lexlean.lock +++ b/tests/negative/reasoning-search-without-frontier/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-specification-signature/project/lexlean.lock b/tests/negative/reasoning-specification-signature/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-specification-signature/project/lexlean.lock +++ b/tests/negative/reasoning-specification-signature/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-terminates-without-initial/project/lexlean.lock b/tests/negative/reasoning-terminates-without-initial/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-terminates-without-initial/project/lexlean.lock +++ b/tests/negative/reasoning-terminates-without-initial/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-terminates-without-progress/project/lexlean.lock b/tests/negative/reasoning-terminates-without-progress/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-terminates-without-progress/project/lexlean.lock +++ b/tests/negative/reasoning-terminates-without-progress/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-terminates-without-ranking/project/lexlean.lock b/tests/negative/reasoning-terminates-without-ranking/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-terminates-without-ranking/project/lexlean.lock +++ b/tests/negative/reasoning-terminates-without-ranking/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-terminating-search/project/lexlean.lock b/tests/negative/reasoning-terminating-search/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-terminating-search/project/lexlean.lock +++ b/tests/negative/reasoning-terminating-search/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-unknown-rule/project/lexlean.lock b/tests/negative/reasoning-unknown-rule/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-unknown-rule/project/lexlean.lock +++ b/tests/negative/reasoning-unknown-rule/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-unknown-verifier/project/lexlean.lock b/tests/negative/reasoning-unknown-verifier/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-unknown-verifier/project/lexlean.lock +++ b/tests/negative/reasoning-unknown-verifier/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-unregistered-claim/project/lexlean.lock b/tests/negative/reasoning-unregistered-claim/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-unregistered-claim/project/lexlean.lock +++ b/tests/negative/reasoning-unregistered-claim/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-unregistered-strategy/project/lexlean.lock b/tests/negative/reasoning-unregistered-strategy/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-unregistered-strategy/project/lexlean.lock +++ b/tests/negative/reasoning-unregistered-strategy/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-unverified-answer/project/lexlean.lock b/tests/negative/reasoning-unverified-answer/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-unverified-answer/project/lexlean.lock +++ b/tests/negative/reasoning-unverified-answer/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-verifier-formal-check/project/lexlean.lock b/tests/negative/reasoning-verifier-formal-check/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-verifier-formal-check/project/lexlean.lock +++ b/tests/negative/reasoning-verifier-formal-check/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-verifier-inexact/project/lexlean.lock b/tests/negative/reasoning-verifier-inexact/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-verifier-inexact/project/lexlean.lock +++ b/tests/negative/reasoning-verifier-inexact/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-verifier-signature/project/lexlean.lock b/tests/negative/reasoning-verifier-signature/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-verifier-signature/project/lexlean.lock +++ b/tests/negative/reasoning-verifier-signature/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-verifier-subject-mismatch/project/lexlean.lock b/tests/negative/reasoning-verifier-subject-mismatch/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-verifier-subject-mismatch/project/lexlean.lock +++ b/tests/negative/reasoning-verifier-subject-mismatch/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-verifier-type-mismatch/project/lexlean.lock b/tests/negative/reasoning-verifier-type-mismatch/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-verifier-type-mismatch/project/lexlean.lock +++ b/tests/negative/reasoning-verifier-type-mismatch/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/reasoning-zero-frontier/project/lexlean.lock b/tests/negative/reasoning-zero-frontier/project/lexlean.lock index b2b508305..06b87b1c8 100644 --- a/tests/negative/reasoning-zero-frontier/project/lexlean.lock +++ b/tests/negative/reasoning-zero-frontier/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "24f5f4a1f57fe4c2752462146b8ec7e3366004cd8e459a2ad079867ba9f67827" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/recursion-cyclic-measure/project/lexlean.lock b/tests/negative/recursion-cyclic-measure/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/recursion-cyclic-measure/project/lexlean.lock +++ b/tests/negative/recursion-cyclic-measure/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/recursion-evidence-omits-match/project/lexlean.lock b/tests/negative/recursion-evidence-omits-match/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/recursion-evidence-omits-match/project/lexlean.lock +++ b/tests/negative/recursion-evidence-omits-match/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/recursion-false-evidence/project/lexlean.lock b/tests/negative/recursion-false-evidence/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/recursion-false-evidence/project/lexlean.lock +++ b/tests/negative/recursion-false-evidence/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/recursion-forged-evidence/project/lexlean.lock b/tests/negative/recursion-forged-evidence/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/recursion-forged-evidence/project/lexlean.lock +++ b/tests/negative/recursion-forged-evidence/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/recursion-member-under-lambda/project/lexlean.lock b/tests/negative/recursion-member-under-lambda/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/recursion-member-under-lambda/project/lexlean.lock +++ b/tests/negative/recursion-member-under-lambda/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/recursion-missing-case/project/lexlean.lock b/tests/negative/recursion-missing-case/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/recursion-missing-case/project/lexlean.lock +++ b/tests/negative/recursion-missing-case/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/recursion-missing-evidence/project/lexlean.lock b/tests/negative/recursion-missing-evidence/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/recursion-missing-evidence/project/lexlean.lock +++ b/tests/negative/recursion-missing-evidence/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/recursion-mixed-families/project/lexlean.lock b/tests/negative/recursion-mixed-families/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/recursion-mixed-families/project/lexlean.lock +++ b/tests/negative/recursion-mixed-families/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/recursion-mutual-cyclic-measure/project/lexlean.lock b/tests/negative/recursion-mutual-cyclic-measure/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/recursion-mutual-cyclic-measure/project/lexlean.lock +++ b/tests/negative/recursion-mutual-cyclic-measure/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/recursion-mutual-disconnected/project/lexlean.lock b/tests/negative/recursion-mutual-disconnected/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/recursion-mutual-disconnected/project/lexlean.lock +++ b/tests/negative/recursion-mutual-disconnected/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/recursion-mutual-member-without-call/project/lexlean.lock b/tests/negative/recursion-mutual-member-without-call/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/recursion-mutual-member-without-call/project/lexlean.lock +++ b/tests/negative/recursion-mutual-member-without-call/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/recursion-mutual-mixed/project/lexlean.lock b/tests/negative/recursion-mutual-mixed/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/recursion-mutual-mixed/project/lexlean.lock +++ b/tests/negative/recursion-mutual-mixed/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/recursion-nondecreasing/project/lexlean.lock b/tests/negative/recursion-nondecreasing/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/recursion-nondecreasing/project/lexlean.lock +++ b/tests/negative/recursion-nondecreasing/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/recursion-under-lambda/project/lexlean.lock b/tests/negative/recursion-under-lambda/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/recursion-under-lambda/project/lexlean.lock +++ b/tests/negative/recursion-under-lambda/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/recursion-well-founded-reference/project/lexlean.lock b/tests/negative/recursion-well-founded-reference/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/recursion-well-founded-reference/project/lexlean.lock +++ b/tests/negative/recursion-well-founded-reference/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/recursion-wrong-argument/project/lexlean.lock b/tests/negative/recursion-wrong-argument/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/recursion-wrong-argument/project/lexlean.lock +++ b/tests/negative/recursion-wrong-argument/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/recursive-constructor-mismatch/project/lexlean.lock b/tests/negative/recursive-constructor-mismatch/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/recursive-constructor-mismatch/project/lexlean.lock +++ b/tests/negative/recursive-constructor-mismatch/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/recursive-match-foreign-constructor/project/lexlean.lock b/tests/negative/recursive-match-foreign-constructor/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/recursive-match-foreign-constructor/project/lexlean.lock +++ b/tests/negative/recursive-match-foreign-constructor/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/recursive-mutual-uninhabited/project/lexlean.lock b/tests/negative/recursive-mutual-uninhabited/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/recursive-mutual-uninhabited/project/lexlean.lock +++ b/tests/negative/recursive-mutual-uninhabited/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/recursive-structure/project/lexlean.lock b/tests/negative/recursive-structure/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/recursive-structure/project/lexlean.lock +++ b/tests/negative/recursive-structure/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/recursive-type-arguments/project/lexlean.lock b/tests/negative/recursive-type-arguments/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/recursive-type-arguments/project/lexlean.lock +++ b/tests/negative/recursive-type-arguments/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/recursive-type-forward/project/lexlean.lock b/tests/negative/recursive-type-forward/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/recursive-type-forward/project/lexlean.lock +++ b/tests/negative/recursive-type-forward/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/recursive-type-nonuniform/project/lexlean.lock b/tests/negative/recursive-type-nonuniform/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/recursive-type-nonuniform/project/lexlean.lock +++ b/tests/negative/recursive-type-nonuniform/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/recursive-type-positivity/project/lexlean.lock b/tests/negative/recursive-type-positivity/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/recursive-type-positivity/project/lexlean.lock +++ b/tests/negative/recursive-type-positivity/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/recursive-type-uninhabited/project/lexlean.lock b/tests/negative/recursive-type-uninhabited/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/recursive-type-uninhabited/project/lexlean.lock +++ b/tests/negative/recursive-type-uninhabited/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/semantic-module-v1-under-1.2/project/lexlean.lock b/tests/negative/semantic-module-v1-under-1.2/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/semantic-module-v1-under-1.2/project/lexlean.lock +++ b/tests/negative/semantic-module-v1-under-1.2/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/type-argument-universe/project/lexlean.lock b/tests/negative/type-argument-universe/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/type-argument-universe/project/lexlean.lock +++ b/tests/negative/type-argument-universe/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/negative/type-parameter-capture/project/lexlean.lock b/tests/negative/type-parameter-capture/project/lexlean.lock index 770dded56..cbf19f4d4 100644 --- a/tests/negative/type-parameter-capture/project/lexlean.lock +++ b/tests/negative/type-parameter-capture/project/lexlean.lock @@ -1,6 +1,6 @@ spec = "lexlean/lock/2" language = "1.2" -compiler_semantics = "974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290" +compiler_semantics = "a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d" project_config_sha256 = "6bb823538ff0c18b80a9851c1cc936cf70dc31ce0625cb1a2211c1f30d91411d" lean_toolchain = "leanprover/lean4:v4.32.1" diff --git a/tests/production-export/production-coverage/packages/rust-core/bits/package.json b/tests/production-export/production-coverage/packages/rust-core/bits/package.json index 676a1962d..6ae079017 100644 --- a/tests/production-export/production-coverage/packages/rust-core/bits/package.json +++ b/tests/production-export/production-coverage/packages/rust-core/bits/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"bits","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"3"}}],"operation":{"kind":"shift_right"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"bool"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"bool"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"bool"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"bool"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"bool"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"bool"}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"bool"}}}}}}},"types":[{"kind":"fixed","width":"u16"},{"kind":"fixed","width":"u16"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"bits","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"3"}}],"operation":{"kind":"shift_right"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"bool"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"bool"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"bool"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"bool"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"bool"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"bool"}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"bool"}}}}}}},"types":[{"kind":"fixed","width":"u16"},{"kind":"fixed","width":"u16"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-core/bits/provenance.json b/tests/production-export/production-coverage/packages/rust-core/bits/provenance.json index 83cf59eac..047fb3de4 100644 --- a/tests/production-export/production-coverage/packages/rust-core/bits/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-core/bits/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"fbd9afdc5b19669c491fb8be9e6f9578e6715f7244aa0adb013ad42263077a4d","src/lib.rs":"49c793ee46756c6d514289abbdd0cd8d2dd62bac8312bc2a1c90ff74d7a8fa4c"},"name":"bits","profile":"rust-core","program":"9ed3cf1ba1de6ddfd0c865acea0ee413b21ac44fb1d556e8eac704b552c3d018","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"fbd9afdc5b19669c491fb8be9e6f9578e6715f7244aa0adb013ad42263077a4d","src/lib.rs":"49c793ee46756c6d514289abbdd0cd8d2dd62bac8312bc2a1c90ff74d7a8fa4c"},"name":"bits","profile":"rust-core","program":"9ed3cf1ba1de6ddfd0c865acea0ee413b21ac44fb1d556e8eac704b552c3d018","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-core/builders/package.json b/tests/production-export/production-coverage/packages/rust-core/builders/package.json index 15851ca5e..fbf55c3de 100644 --- a/tests/production-export/production-coverage/packages/rust-core/builders/package.json +++ b/tests/production-export/production-coverage/packages/rust-core/builders/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"builders","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":0}],"shape":{"kind":"succ"},"type":{"kind":"nat"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}}],"shape":{"kind":"error"},"type":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"zero"},"type":{"kind":"nat"}}],"shape":{"kind":"ok"},"type":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"builders","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":0}],"shape":{"kind":"succ"},"type":{"kind":"nat"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}}],"shape":{"kind":"error"},"type":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"zero"},"type":{"kind":"nat"}}],"shape":{"kind":"ok"},"type":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-core/builders/provenance.json b/tests/production-export/production-coverage/packages/rust-core/builders/provenance.json index 4496f1164..3a7f01ddd 100644 --- a/tests/production-export/production-coverage/packages/rust-core/builders/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-core/builders/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"fafa24144f14cc940ca1e3c16043130877f447f6beb7975029ea5e9cfd45cff4","src/lib.rs":"7801814468d34df54faeffe9207e61324bba1d83e29d113ead27eb9195312b87"},"name":"builders","profile":"rust-core","program":"234deee526474348f12566f97e315f4a79becf0607138d82ae06f555a4d3f2db","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"fafa24144f14cc940ca1e3c16043130877f447f6beb7975029ea5e9cfd45cff4","src/lib.rs":"7801814468d34df54faeffe9207e61324bba1d83e29d113ead27eb9195312b87"},"name":"builders","profile":"rust-core","program":"234deee526474348f12566f97e315f4a79becf0607138d82ae06f555a4d3f2db","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-core/conversions/package.json b/tests/production-export/production-coverage/packages/rust-core/conversions/package.json index 0984f49ed..7cfa41078 100644 --- a/tests/production-export/production-coverage/packages/rust-core/conversions/package.json +++ b/tests/production-export/production-coverage/packages/rust-core/conversions/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"conversions","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"convert","target":"u16"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"convert","target":"i64"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"option","value":{"kind":"fixed","width":"i64"}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"option","value":{"kind":"fixed","width":"i64"}}},"types":[{"kind":"int"},{"kind":"fixed","width":"i8"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"conversions","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"convert","target":"u16"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"convert","target":"i64"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"option","value":{"kind":"fixed","width":"i64"}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"option","value":{"kind":"fixed","width":"i64"}}},"types":[{"kind":"int"},{"kind":"fixed","width":"i8"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-core/conversions/provenance.json b/tests/production-export/production-coverage/packages/rust-core/conversions/provenance.json index 84a0f654a..6c56e4a4f 100644 --- a/tests/production-export/production-coverage/packages/rust-core/conversions/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-core/conversions/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"fa3523bd7088be5264998e9685661cde4aa5d182d6f8dd083cb5130c7f1fe39b","src/lib.rs":"3ea51441d8082bca46bcb3c8e2caba9345a5408ce677292a985f169d6661994a"},"name":"conversions","profile":"rust-core","program":"6227207e0bebaa6609e8bfedfaffb83e7fcb5e8c11d9ed9caaa35fb65b35766f","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"fa3523bd7088be5264998e9685661cde4aa5d182d6f8dd083cb5130c7f1fe39b","src/lib.rs":"3ea51441d8082bca46bcb3c8e2caba9345a5408ce677292a985f169d6661994a"},"name":"conversions","profile":"rust-core","program":"6227207e0bebaa6609e8bfedfaffb83e7fcb5e8c11d9ed9caaa35fb65b35766f","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-core/fixed_middle/package.json b/tests/production-export/production-coverage/packages/rust-core/fixed_middle/package.json index c36c4c795..0b5928ba4 100644 --- a/tests/production-export/production-coverage/packages/rust-core/fixed_middle/package.json +++ b/tests/production-export/production-coverage/packages/rust-core/fixed_middle/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"fixed_middle","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":0}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"i32"},"value":{"kind":"i32","value":"-7"}}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"convert","target":"i32"}},{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"i32"},"value":{"kind":"i32","value":"3"}}],"operation":{"kind":"equal"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"bool"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"bool"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"bool"}}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"bool"}}}},"types":[{"kind":"fixed","width":"i16"},{"kind":"fixed","width":"i32"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"fixed_middle","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":0}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"i32"},"value":{"kind":"i32","value":"-7"}}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"convert","target":"i32"}},{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"i32"},"value":{"kind":"i32","value":"3"}}],"operation":{"kind":"equal"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"bool"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"bool"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"bool"}}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"bool"}}}},"types":[{"kind":"fixed","width":"i16"},{"kind":"fixed","width":"i32"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-core/fixed_middle/provenance.json b/tests/production-export/production-coverage/packages/rust-core/fixed_middle/provenance.json index 0a4c794df..abd21f4c7 100644 --- a/tests/production-export/production-coverage/packages/rust-core/fixed_middle/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-core/fixed_middle/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"70d81e8cefb299340d3a62dc48f2c63bec855c62563bffbbb15981b963bf8764","src/lib.rs":"f308cdfc8f1d2fa043a39c472851858aeec0fa24616abc115e3194e5eea42ccc"},"name":"fixed_middle","profile":"rust-core","program":"c5c4a8ee12a3a426500bb6c4e82af761e1af447511bd597e1bc5dce63970ddaf","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"70d81e8cefb299340d3a62dc48f2c63bec855c62563bffbbb15981b963bf8764","src/lib.rs":"f308cdfc8f1d2fa043a39c472851858aeec0fa24616abc115e3194e5eea42ccc"},"name":"fixed_middle","profile":"rust-core","program":"c5c4a8ee12a3a426500bb6c4e82af761e1af447511bd597e1bc5dce63970ddaf","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-core/fixed_small/package.json b/tests/production-export/production-coverage/packages/rust-core/fixed_small/package.json index c6f78a995..661a5a45e 100644 --- a/tests/production-export/production-coverage/packages/rust-core/fixed_small/package.json +++ b/tests/production-export/production-coverage/packages/rust-core/fixed_small/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"fixed_small","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"checked_neg"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"option","value":{"kind":"fixed","width":"i8"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"option","value":{"kind":"fixed","width":"i8"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"option","value":{"kind":"fixed","width":"i8"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"option","value":{"kind":"fixed","width":"i8"}}}}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"option","value":{"kind":"fixed","width":"i8"}}}}}},"types":[{"kind":"fixed","width":"i8"},{"kind":"fixed","width":"i8"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"fixed_small","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"checked_neg"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"option","value":{"kind":"fixed","width":"i8"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"option","value":{"kind":"fixed","width":"i8"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"option","value":{"kind":"fixed","width":"i8"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"option","value":{"kind":"fixed","width":"i8"}}}}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"option","value":{"kind":"fixed","width":"i8"}}}}}},"types":[{"kind":"fixed","width":"i8"},{"kind":"fixed","width":"i8"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-core/fixed_small/provenance.json b/tests/production-export/production-coverage/packages/rust-core/fixed_small/provenance.json index 2fbb9eaa9..32b2e29a1 100644 --- a/tests/production-export/production-coverage/packages/rust-core/fixed_small/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-core/fixed_small/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ce31af3f31d522467497872c4f9ca4a03022315e9de1c0f4e00f2ee5f92ef058","src/lib.rs":"d077e1a08c789158986baece65130b95ed7a95a670d2c90f551977d2135f1df3"},"name":"fixed_small","profile":"rust-core","program":"ef7c0ba20d049db4524a6ec6561a20d86bd33230f60e21dc733706135be42f2d","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ce31af3f31d522467497872c4f9ca4a03022315e9de1c0f4e00f2ee5f92ef058","src/lib.rs":"d077e1a08c789158986baece65130b95ed7a95a670d2c90f551977d2135f1df3"},"name":"fixed_small","profile":"rust-core","program":"ef7c0ba20d049db4524a6ec6561a20d86bd33230f60e21dc733706135be42f2d","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-core/fixed_wide/package.json b/tests/production-export/production-coverage/packages/rust-core/fixed_wide/package.json index 4fe8cbb67..40ac4158b 100644 --- a/tests/production-export/production-coverage/packages/rust-core/fixed_wide/package.json +++ b/tests/production-export/production-coverage/packages/rust-core/fixed_wide/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_wide","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"checked_neg"}},{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"1"}}],"operation":{"kind":"checked_add"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"option","value":{"kind":"fixed","width":"u64"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"option","value":{"kind":"fixed","width":"u64"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"option","value":{"kind":"fixed","width":"u64"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"option","value":{"kind":"fixed","width":"u64"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"option","value":{"kind":"fixed","width":"u64"}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"option","value":{"kind":"fixed","width":"u64"}}}}}}},"types":[{"kind":"fixed","width":"i64"},{"kind":"fixed","width":"i64"},{"kind":"fixed","width":"u64"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_wide","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"checked_neg"}},{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"1"}}],"operation":{"kind":"checked_add"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"option","value":{"kind":"fixed","width":"u64"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"option","value":{"kind":"fixed","width":"u64"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"option","value":{"kind":"fixed","width":"u64"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"option","value":{"kind":"fixed","width":"u64"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"option","value":{"kind":"fixed","width":"u64"}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"option","value":{"kind":"fixed","width":"u64"}}}}}}},"types":[{"kind":"fixed","width":"i64"},{"kind":"fixed","width":"i64"},{"kind":"fixed","width":"u64"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-core/fixed_wide/provenance.json b/tests/production-export/production-coverage/packages/rust-core/fixed_wide/provenance.json index 7ebfab364..3f12ee34c 100644 --- a/tests/production-export/production-coverage/packages/rust-core/fixed_wide/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-core/fixed_wide/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"2f1666bc680f131b93f6a000603f0f2798622e79f6fac14abd8a5e0d7341fdae","src/lib.rs":"f0f0a8c0cad1a71dd63fb172c31c1d60db20313104463a6f150afca4d891cd40"},"name":"fixed_wide","profile":"rust-core","program":"046e9276a504b885d2582f97b9c4fb34281d09496a6f649c6c147f6361e56c8d","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"2f1666bc680f131b93f6a000603f0f2798622e79f6fac14abd8a5e0d7341fdae","src/lib.rs":"f0f0a8c0cad1a71dd63fb172c31c1d60db20313104463a6f150afca4d891cd40"},"name":"fixed_wide","profile":"rust-core","program":"046e9276a504b885d2582f97b9c4fb34281d09496a6f649c6c147f6361e56c8d","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-core/higher/package.json b/tests/production-export/production-coverage/packages/rust-core/higher/package.json index ff6d731b1..e7183da8c 100644 --- a/tests/production-export/production-coverage/packages/rust-core/higher/package.json +++ b/tests/production-export/production-coverage/packages/rust-core/higher/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"higher","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"body":{"kind":"prim","operands":[{"function":1,"kind":"call","operands":[{"captures":[{"kind":"var","name":2},{"kind":"var","name":1}],"function":2,"kind":"closure"},{"kind":"var","name":0}]},{"kind":"prim","operands":[{"kind":"apply","operands":[{"kind":"var","name":0}],"target":{"captures":[{"kind":"var","name":2}],"function":3,"kind":"closure"}},{"function":1,"kind":"call","operands":[{"captures":[],"function":4,"kind":"closure"},{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"kind":"let","name":2,"type":{"kind":"nat"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"kind":"apply","operands":[{"kind":"apply","operands":[{"kind":"var","name":1}],"target":{"kind":"var","name":0}}],"target":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"var","name":0}],"operation":{"kind":"nat_mul"}},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"nat_sub"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":0}],"operation":{"kind":"nat_add"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"higher","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"body":{"kind":"prim","operands":[{"function":1,"kind":"call","operands":[{"captures":[{"kind":"var","name":2},{"kind":"var","name":1}],"function":2,"kind":"closure"},{"kind":"var","name":0}]},{"kind":"prim","operands":[{"kind":"apply","operands":[{"kind":"var","name":0}],"target":{"captures":[{"kind":"var","name":2}],"function":3,"kind":"closure"}},{"function":1,"kind":"call","operands":[{"captures":[],"function":4,"kind":"closure"},{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"kind":"let","name":2,"type":{"kind":"nat"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"kind":"apply","operands":[{"kind":"apply","operands":[{"kind":"var","name":1}],"target":{"kind":"var","name":0}}],"target":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"var","name":0}],"operation":{"kind":"nat_mul"}},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"nat_sub"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":0}],"operation":{"kind":"nat_add"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-core/higher/provenance.json b/tests/production-export/production-coverage/packages/rust-core/higher/provenance.json index 285b41f0a..a4dfd2997 100644 --- a/tests/production-export/production-coverage/packages/rust-core/higher/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-core/higher/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"a9965766740afeb45706683c1c941095c32f92781e171be35737261a61b8a24a","src/lib.rs":"265af29f14586a0343afb425c4918da3c6055dbaf73b24cfc610a027da1e0809"},"name":"higher","profile":"rust-core","program":"b9a631ceb72fc1536c7c26c88ce17cb71084492929763dc601a2e579e3b15596","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"a9965766740afeb45706683c1c941095c32f92781e171be35737261a61b8a24a","src/lib.rs":"265af29f14586a0343afb425c4918da3c6055dbaf73b24cfc610a027da1e0809"},"name":"higher","profile":"rust-core","program":"b9a631ceb72fc1536c7c26c88ce17cb71084492929763dc601a2e579e3b15596","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-core/int_ops/package.json b/tests/production-export/production-coverage/packages/rust-core/int_ops/package.json index ba82ecea6..05b1db1b7 100644 --- a/tests/production-export/production-coverage/packages/rust-core/int_ops/package.json +++ b/tests/production-export/production-coverage/packages/rust-core/int_ops/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"int_ops","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-3"}}],"operation":{"kind":"int_mul"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"1"}}],"operation":{"kind":"int_quot"}},{"kind":"var","name":1},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"0"}}],"operation":{"kind":"int_rem"}}],"operation":{"kind":"int_neg"}}],"operation":{"kind":"int_sub"}},"parameters":[0,1],"result":{"kind":"int"},"types":[{"kind":"int"},{"kind":"int"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"int_ops","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-3"}}],"operation":{"kind":"int_mul"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"1"}}],"operation":{"kind":"int_quot"}},{"kind":"var","name":1},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"0"}}],"operation":{"kind":"int_rem"}}],"operation":{"kind":"int_neg"}}],"operation":{"kind":"int_sub"}},"parameters":[0,1],"result":{"kind":"int"},"types":[{"kind":"int"},{"kind":"int"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-core/int_ops/provenance.json b/tests/production-export/production-coverage/packages/rust-core/int_ops/provenance.json index d284e3332..786be2898 100644 --- a/tests/production-export/production-coverage/packages/rust-core/int_ops/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-core/int_ops/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"fc1efbb5b6ec479184b12aceea00af517df40c0ba110f9c286361df08f0b2142","src/lib.rs":"7502713652008d39229ab08441a2904fb8426cd37d4c20285e519730fdc22593"},"name":"int_ops","profile":"rust-core","program":"6f167a8d46f8923a927e311666264729d573c3b8593155abef2114631b1b0283","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"fc1efbb5b6ec479184b12aceea00af517df40c0ba110f9c286361df08f0b2142","src/lib.rs":"7502713652008d39229ab08441a2904fb8426cd37d4c20285e519730fdc22593"},"name":"int_ops","profile":"rust-core","program":"6f167a8d46f8923a927e311666264729d573c3b8593155abef2114631b1b0283","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-core/nat_ops/package.json b/tests/production-export/production-coverage/packages/rust-core/nat_ops/package.json index 95b59c6c9..6ab34baa7 100644 --- a/tests/production-export/production-coverage/packages/rust-core/nat_ops/package.json +++ b/tests/production-export/production-coverage/packages/rust-core/nat_ops/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"nat_ops","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"body":{"body":{"condition":{"condition":{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"condition":{"kind":"prim","operands":[{"kind":"var","name":3},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_le"}},"else_branch":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"nat_lt"}}],"operation":{"kind":"bool_not"}},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}}},"else_branch":{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"var","name":3}],"operation":{"kind":"nat_mul"}},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"nat_sub"}},{"kind":"var","name":3}],"operation":{"kind":"nat_add"}}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},"kind":"let","name":3,"type":{"kind":"nat"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"7"}}],"operation":{"kind":"nat_quot"}},"kind":"let","name":2,"type":{"kind":"nat"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"nat_ops","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"body":{"body":{"condition":{"condition":{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"condition":{"kind":"prim","operands":[{"kind":"var","name":3},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_le"}},"else_branch":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"nat_lt"}}],"operation":{"kind":"bool_not"}},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}}},"else_branch":{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"var","name":3}],"operation":{"kind":"nat_mul"}},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"nat_sub"}},{"kind":"var","name":3}],"operation":{"kind":"nat_add"}}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},"kind":"let","name":3,"type":{"kind":"nat"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"7"}}],"operation":{"kind":"nat_quot"}},"kind":"let","name":2,"type":{"kind":"nat"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-core/nat_ops/provenance.json b/tests/production-export/production-coverage/packages/rust-core/nat_ops/provenance.json index b8dadb7e3..b1548c46e 100644 --- a/tests/production-export/production-coverage/packages/rust-core/nat_ops/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-core/nat_ops/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"59cd8633f12e3fac8ffcf39b00cfe0eae72e66af298eab94fb7a158d60c11ef2","src/lib.rs":"ec5552329b8cb6b83bf136310a623cb1e7489cfafb2a21b230cfc4f8447c51fa"},"name":"nat_ops","profile":"rust-core","program":"7327b0d3e0e2b92c9e324f0b8f38bf8b9a4866af1fab582ce3cb3471b3faac1f","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"59cd8633f12e3fac8ffcf39b00cfe0eae72e66af298eab94fb7a158d60c11ef2","src/lib.rs":"ec5552329b8cb6b83bf136310a623cb1e7489cfafb2a21b230cfc4f8447c51fa"},"name":"nat_ops","profile":"rust-core","program":"7327b0d3e0e2b92c9e324f0b8f38bf8b9a4866af1fab582ce3cb3471b3faac1f","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-core/options/package.json b/tests/production-export/production-coverage/packages/rust-core/options/package.json index 5657097de..57088d69a 100644 --- a/tests/production-export/production-coverage/packages/rust-core/options/package.json +++ b/tests/production-export/production-coverage/packages/rust-core/options/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"options","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"var","name":2},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},{"arms":[{"binders":[3],"body":{"kind":"var","name":3},"shape":{"kind":"ok"}},{"binders":[4],"body":{"condition":{"kind":"var","name":4},"else_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},"shape":{"kind":"error"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"nat"}}],"operation":{"kind":"nat_add"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"option","value":{"kind":"nat"}},{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"options","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"var","name":2},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},{"arms":[{"binders":[3],"body":{"kind":"var","name":3},"shape":{"kind":"ok"}},{"binders":[4],"body":{"condition":{"kind":"var","name":4},"else_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},"shape":{"kind":"error"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"nat"}}],"operation":{"kind":"nat_add"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"option","value":{"kind":"nat"}},{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-core/options/provenance.json b/tests/production-export/production-coverage/packages/rust-core/options/provenance.json index 83fbe8a4f..146c4213d 100644 --- a/tests/production-export/production-coverage/packages/rust-core/options/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-core/options/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"7f0fac10f04b56539a18ecadc9ac9f95f1ceb9be06a3738695181aa3b6a2e9fd","src/lib.rs":"f77a8889a2639195af038d018a863c9a79f14db51278952d1da5ce206bd668eb"},"name":"options","profile":"rust-core","program":"1817e8488f6542ec7a9c65ee73a26b9b2ce35ef18dad904d897c9dded6e3cbf9","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"7f0fac10f04b56539a18ecadc9ac9f95f1ceb9be06a3738695181aa3b6a2e9fd","src/lib.rs":"f77a8889a2639195af038d018a863c9a79f14db51278952d1da5ce206bd668eb"},"name":"options","profile":"rust-core","program":"1817e8488f6542ec7a9c65ee73a26b9b2ce35ef18dad904d897c9dded6e3cbf9","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-core/pairs/package.json b/tests/production-export/production-coverage/packages/rust-core/pairs/package.json index c1aea66f3..1ee175c0c 100644 --- a/tests/production-export/production-coverage/packages/rust-core/pairs/package.json +++ b/tests/production-export/production-coverage/packages/rust-core/pairs/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"pairs","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"first","value":{"kind":"var","name":0}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"pairs","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"first","value":{"kind":"var","name":0}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-core/pairs/provenance.json b/tests/production-export/production-coverage/packages/rust-core/pairs/provenance.json index 271afd47e..df8782706 100644 --- a/tests/production-export/production-coverage/packages/rust-core/pairs/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-core/pairs/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"a3dd557c4339d106e7e177364f68702e05259c1cdf7bcc15c6c3801657acecac","src/lib.rs":"a9910a7ac532e077a17ffd14206ae6375907126e8ab304cecd17ee1ba5ab1085"},"name":"pairs","profile":"rust-core","program":"7d925a72d07005baaa5a9371f60e52199072e49139630af3348972394ef0539f","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"a3dd557c4339d106e7e177364f68702e05259c1cdf7bcc15c6c3801657acecac","src/lib.rs":"a9910a7ac532e077a17ffd14206ae6375907126e8ab304cecd17ee1ba5ab1085"},"name":"pairs","profile":"rust-core","program":"7d925a72d07005baaa5a9371f60e52199072e49139630af3348972394ef0539f","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-core/parity/package.json b/tests/production-export/production-coverage/packages/rust-core/parity/package.json index e2d3e2035..42afda718 100644 --- a/tests/production-export/production-coverage/packages/rust-core/parity/package.json +++ b/tests/production-export/production-coverage/packages/rust-core/parity/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"parity","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":1}]},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":1}]},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"parity","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":1}]},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":1}]},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-core/parity/provenance.json b/tests/production-export/production-coverage/packages/rust-core/parity/provenance.json index e590ae4a6..a152d2559 100644 --- a/tests/production-export/production-coverage/packages/rust-core/parity/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-core/parity/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"6eec599d19aab86b6e6c59ee909f6f5478461263e25000e7bc26f67766ef73df","src/lib.rs":"4dfb8beb700c9adbe0abd49585b4691238db30689d7c0edfbe4601268210a8a5"},"name":"parity","profile":"rust-core","program":"d80d8fa87a73970b99d0429236be199dba9bdbb4207a8c64505ec3f999bc2775","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"6eec599d19aab86b6e6c59ee909f6f5478461263e25000e7bc26f67766ef73df","src/lib.rs":"4dfb8beb700c9adbe0abd49585b4691238db30689d7c0edfbe4601268210a8a5"},"name":"parity","profile":"rust-core","program":"d80d8fa87a73970b99d0429236be199dba9bdbb4207a8c64505ec3f999bc2775","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-core/records/package.json b/tests/production-export/production-coverage/packages/rust-core/records/package.json index 02a9829f8..1f58222d3 100644 --- a/tests/production-export/production-coverage/packages/rust-core/records/package.json +++ b/tests/production-export/production-coverage/packages/rust-core/records/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"records","profile":"rust-core","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":2}},{"index":1,"kind":"field","value":{"function":1,"kind":"call","operands":[]}}],"operation":{"kind":"nat_add"}},{"function":2,"kind":"call","operands":[{"kind":"build","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":2}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"bound":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"kind":"let","name":2,"type":{"index":0,"kind":"adt"}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}},"parameters":[],"result":{"index":2,"kind":"adt"},"types":[]},{"body":{"index":0,"kind":"field","value":{"kind":"var","name":0}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"records","profile":"rust-core","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":2}},{"index":1,"kind":"field","value":{"function":1,"kind":"call","operands":[]}}],"operation":{"kind":"nat_add"}},{"function":2,"kind":"call","operands":[{"kind":"build","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":2}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"bound":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"kind":"let","name":2,"type":{"index":0,"kind":"adt"}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}},"parameters":[],"result":{"index":2,"kind":"adt"},"types":[]},{"body":{"index":0,"kind":"field","value":{"kind":"var","name":0}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-core/records/provenance.json b/tests/production-export/production-coverage/packages/rust-core/records/provenance.json index 16bdc838f..99f84e11e 100644 --- a/tests/production-export/production-coverage/packages/rust-core/records/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-core/records/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"75a1f2726772f72e4e3d6999f4a2e57d1b02c3dfada582fcf741f36a7e68aab8","src/lib.rs":"75717c93f7eb083027fd65ec26fa8633f3b7d2f89c29fca9ce3e3cc7cc676429"},"name":"records","profile":"rust-core","program":"f6c459c7f8163810d05bc43460cd394578f415d182096e2ad51dae6252d4f656","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"75a1f2726772f72e4e3d6999f4a2e57d1b02c3dfada582fcf741f36a7e68aab8","src/lib.rs":"75717c93f7eb083027fd65ec26fa8633f3b7d2f89c29fca9ce3e3cc7cc676429"},"name":"records","profile":"rust-core","program":"f6c459c7f8163810d05bc43460cd394578f415d182096e2ad51dae6252d4f656","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-core/shapes/package.json b/tests/production-export/production-coverage/packages/rust-core/shapes/package.json index 112e9134f..920341e74 100644 --- a/tests/production-export/production-coverage/packages/rust-core/shapes/package.json +++ b/tests/production-export/production-coverage/packages/rust-core/shapes/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"shapes","profile":"rust-core","program":{"adts":[{"constructors":[[{"kind":"nat"}],[{"kind":"nat"},{"kind":"nat"}],[]]}],"functions":[{"body":{"kind":"prim","operands":[{"function":1,"kind":"call","operands":[{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},{"kind":"prim","operands":[{"function":1,"kind":"call","operands":[{"kind":"build","operands":[{"kind":"var","name":0}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},{"function":1,"kind":"call","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":1}],"operation":{"kind":"nat_mul"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_mul"}},"shape":{"constructor":0,"kind":"adt"}},{"binders":[2,3],"body":{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"var","name":3}],"operation":{"kind":"nat_mul"}},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"constructor":2,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"shapes","profile":"rust-core","program":{"adts":[{"constructors":[[{"kind":"nat"}],[{"kind":"nat"},{"kind":"nat"}],[]]}],"functions":[{"body":{"kind":"prim","operands":[{"function":1,"kind":"call","operands":[{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},{"kind":"prim","operands":[{"function":1,"kind":"call","operands":[{"kind":"build","operands":[{"kind":"var","name":0}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},{"function":1,"kind":"call","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":1}],"operation":{"kind":"nat_mul"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_mul"}},"shape":{"constructor":0,"kind":"adt"}},{"binders":[2,3],"body":{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"var","name":3}],"operation":{"kind":"nat_mul"}},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"constructor":2,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-core/shapes/provenance.json b/tests/production-export/production-coverage/packages/rust-core/shapes/provenance.json index d1707327b..3a504a58b 100644 --- a/tests/production-export/production-coverage/packages/rust-core/shapes/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-core/shapes/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"9f2da6540473eb8c30328ec5522a3a0d931e34392c6720ac9842e96878fa8fd5","src/lib.rs":"cf488904e65fcc775e3ab609f6586188eef2038d7821c5e303effdb5cfc3033d"},"name":"shapes","profile":"rust-core","program":"05293367c4a6e86e29d41974b883426e97957fbbc411382de01e1da3e41879c8","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"9f2da6540473eb8c30328ec5522a3a0d931e34392c6720ac9842e96878fa8fd5","src/lib.rs":"cf488904e65fcc775e3ab609f6586188eef2038d7821c5e303effdb5cfc3033d"},"name":"shapes","profile":"rust-core","program":"05293367c4a6e86e29d41974b883426e97957fbbc411382de01e1da3e41879c8","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-core/well_founded/package.json b/tests/production-export/production-coverage/packages/rust-core/well_founded/package.json index d1dac0f25..2428e4ac5 100644 --- a/tests/production-export/production-coverage/packages/rust-core/well_founded/package.json +++ b/tests/production-export/production-coverage/packages/rust-core/well_founded/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"well_founded","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}]},{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"var","name":1}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"function":1,"kind":"call","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_sub"}},{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}]},"kind":"cond","then_branch":{"kind":"var","name":1}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"nat_lt"}},"else_branch":{"function":2,"kind":"call","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"nat_sub"}},{"kind":"var","name":1}]},"kind":"cond","then_branch":{"kind":"var","name":0}},"kind":"cond","then_branch":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"var","name":2},"kind":"cond","then_branch":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}},"else_branch":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"var","name":2}]},"kind":"cond","then_branch":{"kind":"var","name":1}}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"well_founded","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}]},{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"var","name":1}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"function":1,"kind":"call","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_sub"}},{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}]},"kind":"cond","then_branch":{"kind":"var","name":1}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"nat_lt"}},"else_branch":{"function":2,"kind":"call","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"nat_sub"}},{"kind":"var","name":1}]},"kind":"cond","then_branch":{"kind":"var","name":0}},"kind":"cond","then_branch":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"var","name":2},"kind":"cond","then_branch":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}},"else_branch":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"var","name":2}]},"kind":"cond","then_branch":{"kind":"var","name":1}}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-core/well_founded/provenance.json b/tests/production-export/production-coverage/packages/rust-core/well_founded/provenance.json index a110747ad..f9024f5bc 100644 --- a/tests/production-export/production-coverage/packages/rust-core/well_founded/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-core/well_founded/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"0c780ccff965ccc10faa78b2714b324aa2f72bb88aedc1f0632079faded0b0d8","src/lib.rs":"0c41a66fccc35c507f10b37bae86e81f68d0076d3468125efc9f2d8a347e7812"},"name":"well_founded","profile":"rust-core","program":"a30548452b5811cfc83abdc547d7e93bbdfaf6ae193442225eed19b212b84e5d","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"0c780ccff965ccc10faa78b2714b324aa2f72bb88aedc1f0632079faded0b0d8","src/lib.rs":"0c41a66fccc35c507f10b37bae86e81f68d0076d3468125efc9f2d8a347e7812"},"name":"well_founded","profile":"rust-core","program":"a30548452b5811cfc83abdc547d7e93bbdfaf6ae193442225eed19b212b84e5d","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/bits/package.json b/tests/production-export/production-coverage/packages/rust-std/bits/package.json index 6b47fcb06..48b745d62 100644 --- a/tests/production-export/production-coverage/packages/rust-std/bits/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/bits/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"bits","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"3"}}],"operation":{"kind":"shift_right"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"bool"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"bool"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"bool"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"bool"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"bool"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"bool"}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"bool"}}}}}}},"types":[{"kind":"fixed","width":"u16"},{"kind":"fixed","width":"u16"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"bits","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_and"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_or"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"bit_xor"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"bit_not"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"shift_left"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"3"}}],"operation":{"kind":"shift_right"}},{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"bool"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"bool"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"bool"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"bool"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"bool"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"bool"}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"fixed","width":"u16"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"bool"}}}}}}},"types":[{"kind":"fixed","width":"u16"},{"kind":"fixed","width":"u16"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/bits/provenance.json b/tests/production-export/production-coverage/packages/rust-std/bits/provenance.json index f3c9f1b56..81cf78cbf 100644 --- a/tests/production-export/production-coverage/packages/rust-std/bits/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/bits/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"fbd9afdc5b19669c491fb8be9e6f9578e6715f7244aa0adb013ad42263077a4d","src/lib.rs":"28f88d34b240232107b4bdff8b086a3acbbb23df63a5535f4cf58f5f33a920ec"},"name":"bits","profile":"rust-std","program":"9ed3cf1ba1de6ddfd0c865acea0ee413b21ac44fb1d556e8eac704b552c3d018","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"fbd9afdc5b19669c491fb8be9e6f9578e6715f7244aa0adb013ad42263077a4d","src/lib.rs":"28f88d34b240232107b4bdff8b086a3acbbb23df63a5535f4cf58f5f33a920ec"},"name":"bits","profile":"rust-std","program":"9ed3cf1ba1de6ddfd0c865acea0ee413b21ac44fb1d556e8eac704b552c3d018","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/builders/package.json b/tests/production-export/production-coverage/packages/rust-std/builders/package.json index 99b5ae49c..9a49d0d5a 100644 --- a/tests/production-export/production-coverage/packages/rust-std/builders/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/builders/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"builders","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":0}],"shape":{"kind":"succ"},"type":{"kind":"nat"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}}],"shape":{"kind":"error"},"type":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"zero"},"type":{"kind":"nat"}}],"shape":{"kind":"ok"},"type":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"builders","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":0}],"shape":{"kind":"succ"},"type":{"kind":"nat"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"unit"},"type":{"kind":"unit"}}],"shape":{"kind":"error"},"type":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"kind":"zero"},"type":{"kind":"nat"}}],"shape":{"kind":"ok"},"type":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"error":{"kind":"unit"},"kind":"result","ok":{"kind":"nat"}}},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/builders/provenance.json b/tests/production-export/production-coverage/packages/rust-std/builders/provenance.json index 78ccd2025..139cd90aa 100644 --- a/tests/production-export/production-coverage/packages/rust-std/builders/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/builders/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"fafa24144f14cc940ca1e3c16043130877f447f6beb7975029ea5e9cfd45cff4","src/lib.rs":"d575ec9360acf95c825535ad667a3ef6d906d216d3d52331f3118010c1bada5b"},"name":"builders","profile":"rust-std","program":"234deee526474348f12566f97e315f4a79becf0607138d82ae06f555a4d3f2db","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"fafa24144f14cc940ca1e3c16043130877f447f6beb7975029ea5e9cfd45cff4","src/lib.rs":"d575ec9360acf95c825535ad667a3ef6d906d216d3d52331f3118010c1bada5b"},"name":"builders","profile":"rust-std","program":"234deee526474348f12566f97e315f4a79becf0607138d82ae06f555a4d3f2db","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/conversions/package.json b/tests/production-export/production-coverage/packages/rust-std/conversions/package.json index a8a10f702..5425245fc 100644 --- a/tests/production-export/production-coverage/packages/rust-std/conversions/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/conversions/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"conversions","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"convert","target":"u16"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"convert","target":"i64"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"option","value":{"kind":"fixed","width":"i64"}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"option","value":{"kind":"fixed","width":"i64"}}},"types":[{"kind":"int"},{"kind":"fixed","width":"i8"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"conversions","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"convert","target":"u16"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"convert","target":"i64"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"option","value":{"kind":"fixed","width":"i64"}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u16"}},"right":{"kind":"option","value":{"kind":"fixed","width":"i64"}}},"types":[{"kind":"int"},{"kind":"fixed","width":"i8"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/conversions/provenance.json b/tests/production-export/production-coverage/packages/rust-std/conversions/provenance.json index 359915fde..29bfdfd3a 100644 --- a/tests/production-export/production-coverage/packages/rust-std/conversions/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/conversions/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"fa3523bd7088be5264998e9685661cde4aa5d182d6f8dd083cb5130c7f1fe39b","src/lib.rs":"e0c05cf69833c7f43a18b493542e586f3a0dcb6c30c80ac934a4086c4e3fe1e3"},"name":"conversions","profile":"rust-std","program":"6227207e0bebaa6609e8bfedfaffb83e7fcb5e8c11d9ed9caaa35fb65b35766f","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"fa3523bd7088be5264998e9685661cde4aa5d182d6f8dd083cb5130c7f1fe39b","src/lib.rs":"e0c05cf69833c7f43a18b493542e586f3a0dcb6c30c80ac934a4086c4e3fe1e3"},"name":"conversions","profile":"rust-std","program":"6227207e0bebaa6609e8bfedfaffb83e7fcb5e8c11d9ed9caaa35fb65b35766f","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/decimals/package.json b/tests/production-export/production-coverage/packages/rust-std/decimals/package.json index 5598ea176..69874ea3a 100644 --- a/tests/production-export/production-coverage/packages/rust-std/decimals/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/decimals/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"decimals","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"parse_decimal","target":{"kind":"int"}}},{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"parse_decimal","target":{"kind":"fixed","width":"u32"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"int"}},"right":{"kind":"option","value":{"kind":"fixed","width":"u32"}}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"int"}},"right":{"kind":"option","value":{"kind":"fixed","width":"u32"}}},"types":[{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"decimals","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"parse_decimal","target":{"kind":"int"}}},{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"parse_decimal","target":{"kind":"fixed","width":"u32"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"int"}},"right":{"kind":"option","value":{"kind":"fixed","width":"u32"}}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"int"}},"right":{"kind":"option","value":{"kind":"fixed","width":"u32"}}},"types":[{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/decimals/provenance.json b/tests/production-export/production-coverage/packages/rust-std/decimals/provenance.json index 1cd490fc3..6f2f10cf1 100644 --- a/tests/production-export/production-coverage/packages/rust-std/decimals/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/decimals/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"38d68167a4f0b5b10417a9133b3afe780fe8449f038b8124bd97a75578a12b14","src/lib.rs":"1efe2b4f6015da3f7e5ecb18aedf10d5484ac770d347f87d1b9f08d3022d47cc"},"name":"decimals","profile":"rust-std","program":"6fc888e3f1e9cf5a37f9f68cc01d1a1ff94cc30a552b384155cb811a9d13a526","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"38d68167a4f0b5b10417a9133b3afe780fe8449f038b8124bd97a75578a12b14","src/lib.rs":"1efe2b4f6015da3f7e5ecb18aedf10d5484ac770d347f87d1b9f08d3022d47cc"},"name":"decimals","profile":"rust-std","program":"6fc888e3f1e9cf5a37f9f68cc01d1a1ff94cc30a552b384155cb811a9d13a526","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/fixed_middle/package.json b/tests/production-export/production-coverage/packages/rust-std/fixed_middle/package.json index 352004188..8f0800938 100644 --- a/tests/production-export/production-coverage/packages/rust-std/fixed_middle/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/fixed_middle/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"fixed_middle","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":0}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"i32"},"value":{"kind":"i32","value":"-7"}}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"convert","target":"i32"}},{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"i32"},"value":{"kind":"i32","value":"3"}}],"operation":{"kind":"equal"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"bool"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"bool"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"bool"}}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"bool"}}}},"types":[{"kind":"fixed","width":"i16"},{"kind":"fixed","width":"i32"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"fixed_middle","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":0}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"i32"},"value":{"kind":"i32","value":"-7"}}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"convert","target":"i32"}},{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"i32"},"value":{"kind":"i32","value":"3"}}],"operation":{"kind":"equal"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"bool"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"bool"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"bool"}}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i16"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i32"}},"right":{"kind":"bool"}}}},"types":[{"kind":"fixed","width":"i16"},{"kind":"fixed","width":"i32"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/fixed_middle/provenance.json b/tests/production-export/production-coverage/packages/rust-std/fixed_middle/provenance.json index 82f075135..419431402 100644 --- a/tests/production-export/production-coverage/packages/rust-std/fixed_middle/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/fixed_middle/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"70d81e8cefb299340d3a62dc48f2c63bec855c62563bffbbb15981b963bf8764","src/lib.rs":"e3d95cef121ebfda14217535b6bc27db8a10f8de4660094bc76d6657e4ae05b8"},"name":"fixed_middle","profile":"rust-std","program":"c5c4a8ee12a3a426500bb6c4e82af761e1af447511bd597e1bc5dce63970ddaf","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"70d81e8cefb299340d3a62dc48f2c63bec855c62563bffbbb15981b963bf8764","src/lib.rs":"e3d95cef121ebfda14217535b6bc27db8a10f8de4660094bc76d6657e4ae05b8"},"name":"fixed_middle","profile":"rust-std","program":"c5c4a8ee12a3a426500bb6c4e82af761e1af447511bd597e1bc5dce63970ddaf","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/fixed_small/package.json b/tests/production-export/production-coverage/packages/rust-std/fixed_small/package.json index 346a42b39..37e33bf73 100644 --- a/tests/production-export/production-coverage/packages/rust-std/fixed_small/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/fixed_small/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"fixed_small","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"checked_neg"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"option","value":{"kind":"fixed","width":"i8"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"option","value":{"kind":"fixed","width":"i8"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"option","value":{"kind":"fixed","width":"i8"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"option","value":{"kind":"fixed","width":"i8"}}}}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"option","value":{"kind":"fixed","width":"i8"}}}}}},"types":[{"kind":"fixed","width":"i8"},{"kind":"fixed","width":"i8"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"fixed_small","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"checked_neg"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"option","value":{"kind":"fixed","width":"i8"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"option","value":{"kind":"fixed","width":"i8"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"option","value":{"kind":"fixed","width":"i8"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"option","value":{"kind":"fixed","width":"i8"}}}}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i8"}},"right":{"kind":"option","value":{"kind":"fixed","width":"i8"}}}}}},"types":[{"kind":"fixed","width":"i8"},{"kind":"fixed","width":"i8"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/fixed_small/provenance.json b/tests/production-export/production-coverage/packages/rust-std/fixed_small/provenance.json index e73942e90..9a72fa24f 100644 --- a/tests/production-export/production-coverage/packages/rust-std/fixed_small/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/fixed_small/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ce31af3f31d522467497872c4f9ca4a03022315e9de1c0f4e00f2ee5f92ef058","src/lib.rs":"490ea341ab742d6e0889c4b8f12dc1910ec57426bd74e728143e658b2f77f2ff"},"name":"fixed_small","profile":"rust-std","program":"ef7c0ba20d049db4524a6ec6561a20d86bd33230f60e21dc733706135be42f2d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ce31af3f31d522467497872c4f9ca4a03022315e9de1c0f4e00f2ee5f92ef058","src/lib.rs":"490ea341ab742d6e0889c4b8f12dc1910ec57426bd74e728143e658b2f77f2ff"},"name":"fixed_small","profile":"rust-std","program":"ef7c0ba20d049db4524a6ec6561a20d86bd33230f60e21dc733706135be42f2d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/fixed_wide/package.json b/tests/production-export/production-coverage/packages/rust-std/fixed_wide/package.json index e54667d99..a4fe8b0a4 100644 --- a/tests/production-export/production-coverage/packages/rust-std/fixed_wide/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/fixed_wide/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_wide","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"checked_neg"}},{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"1"}}],"operation":{"kind":"checked_add"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"option","value":{"kind":"fixed","width":"u64"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"option","value":{"kind":"fixed","width":"u64"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"option","value":{"kind":"fixed","width":"u64"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"option","value":{"kind":"fixed","width":"u64"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"option","value":{"kind":"fixed","width":"u64"}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"option","value":{"kind":"fixed","width":"u64"}}}}}}},"types":[{"kind":"fixed","width":"i64"},{"kind":"fixed","width":"i64"},{"kind":"fixed","width":"u64"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own","own"]}],"name":"fixed_wide","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_sub"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_mul"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_quot"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"checked_neg"}},{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"fixed","width":"u64"},"value":{"kind":"u64","value":"1"}}],"operation":{"kind":"checked_add"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"option","value":{"kind":"fixed","width":"u64"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"option","value":{"kind":"fixed","width":"u64"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"option","value":{"kind":"fixed","width":"u64"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"option","value":{"kind":"fixed","width":"u64"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"option","value":{"kind":"fixed","width":"u64"}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"i64"}},"right":{"kind":"option","value":{"kind":"fixed","width":"u64"}}}}}}},"types":[{"kind":"fixed","width":"i64"},{"kind":"fixed","width":"i64"},{"kind":"fixed","width":"u64"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/fixed_wide/provenance.json b/tests/production-export/production-coverage/packages/rust-std/fixed_wide/provenance.json index d5609dee7..6d98329a6 100644 --- a/tests/production-export/production-coverage/packages/rust-std/fixed_wide/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/fixed_wide/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"2f1666bc680f131b93f6a000603f0f2798622e79f6fac14abd8a5e0d7341fdae","src/lib.rs":"d602a7c44b2c87b7592f08c7680096462d33a7f0a94fe2f2f75217c3a4dd503d"},"name":"fixed_wide","profile":"rust-std","program":"046e9276a504b885d2582f97b9c4fb34281d09496a6f649c6c147f6361e56c8d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"2f1666bc680f131b93f6a000603f0f2798622e79f6fac14abd8a5e0d7341fdae","src/lib.rs":"d602a7c44b2c87b7592f08c7680096462d33a7f0a94fe2f2f75217c3a4dd503d"},"name":"fixed_wide","profile":"rust-std","program":"046e9276a504b885d2582f97b9c4fb34281d09496a6f649c6c147f6361e56c8d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/folds/package.json b/tests/production-export/production-coverage/packages/rust-std/folds/package.json index ef6eec887..20f190dd4 100644 --- a/tests/production-export/production-coverage/packages/rust-std/folds/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/folds/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":6,"name":"run","parameters":["own","own"]}],"name":"folds","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"captures":[],"function":2,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"var","name":0}]},{"function":3,"kind":"call","operands":[{"captures":[],"function":4,"kind":"closure"},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"5"}},{"kind":"var","name":1}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"int"}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"int"}},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"int"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"nat"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"},{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"int"}},"parameters":[0,1,2],"result":{"kind":"int"},"types":[{"kind":"fn","parameters":[{"kind":"int"},{"kind":"int"}],"result":{"kind":"int"}},{"kind":"int"},{"element":{"kind":"int"},"kind":"list"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"int_sub"}},"parameters":[0,1],"result":{"kind":"int"},"types":[{"kind":"int"},{"kind":"int"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":5,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"int"},"kind":"list"}]},{"body":{"condition":{"function":5,"kind":"call","operands":[{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"int"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":0,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"int"}}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"int"}}},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"int"},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":6,"name":"run","parameters":["own","own"]}],"name":"folds","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"captures":[],"function":2,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"var","name":0}]},{"function":3,"kind":"call","operands":[{"captures":[],"function":4,"kind":"closure"},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"5"}},{"kind":"var","name":1}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"int"}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"int"}},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"int"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"nat"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"},{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"int"}},"parameters":[0,1,2],"result":{"kind":"int"},"types":[{"kind":"fn","parameters":[{"kind":"int"},{"kind":"int"}],"result":{"kind":"int"}},{"kind":"int"},{"element":{"kind":"int"},"kind":"list"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"int_sub"}},"parameters":[0,1],"result":{"kind":"int"},"types":[{"kind":"int"},{"kind":"int"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":5,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"int"},"kind":"list"}]},{"body":{"condition":{"function":5,"kind":"call","operands":[{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"int"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":0,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"int"}}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"int"}}},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"int"},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/folds/provenance.json b/tests/production-export/production-coverage/packages/rust-std/folds/provenance.json index 221d656bc..7b763d17c 100644 --- a/tests/production-export/production-coverage/packages/rust-std/folds/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/folds/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":6,"name":"run"}],"files":{"Cargo.toml":"21833df3c31669fee6a4dcbc88ec818bce79c0448e84ea927707c0794b480598","src/lib.rs":"c43ae91ecd04414637c50ee825458c0c0116fb91077a54dd6b337b6314ddc6c9"},"name":"folds","profile":"rust-std","program":"48b1d22aff3beb88a3f286056475ac74e9a357ff9dc339c89b802249153cebbd","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":6,"name":"run"}],"files":{"Cargo.toml":"21833df3c31669fee6a4dcbc88ec818bce79c0448e84ea927707c0794b480598","src/lib.rs":"c43ae91ecd04414637c50ee825458c0c0116fb91077a54dd6b337b6314ddc6c9"},"name":"folds","profile":"rust-std","program":"48b1d22aff3beb88a3f286056475ac74e9a357ff9dc339c89b802249153cebbd","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/formats/package.json b/tests/production-export/production-coverage/packages/rust-std/formats/package.json index b3f803711..23a8ee055 100644 --- a/tests/production-export/production-coverage/packages/rust-std/formats/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/formats/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"formats","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"format_decimal"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"format_decimal"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"string"}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"string"}},"types":[{"kind":"int"},{"kind":"fixed","width":"i8"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"formats","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"format_decimal"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"format_decimal"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"string"}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"string"}},"types":[{"kind":"int"},{"kind":"fixed","width":"i8"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/formats/provenance.json b/tests/production-export/production-coverage/packages/rust-std/formats/provenance.json index c04fe7084..52d19eaed 100644 --- a/tests/production-export/production-coverage/packages/rust-std/formats/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/formats/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"e54fd5976089487c24262a84ee4c52b4e352aee3ea4cbf903b03f3beb32b2388","src/lib.rs":"080123c4076700aba965da9cdb74c7592689b3abacb9e1e3ff4bea12fa83e7c0"},"name":"formats","profile":"rust-std","program":"a2d6d8d674af0354e10f236b2b6dcab2579a6ff9db94b3a696fb2c0679df7372","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"e54fd5976089487c24262a84ee4c52b4e352aee3ea4cbf903b03f3beb32b2388","src/lib.rs":"080123c4076700aba965da9cdb74c7592689b3abacb9e1e3ff4bea12fa83e7c0"},"name":"formats","profile":"rust-std","program":"a2d6d8d674af0354e10f236b2b6dcab2579a6ff9db94b3a696fb2c0679df7372","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/graphs/package.json b/tests/production-export/production-coverage/packages/rust-std/graphs/package.json index 5fb57f610..a49de0382 100644 --- a/tests/production-export/production-coverage/packages/rust-std/graphs/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/graphs/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":30,"name":"run","parameters":["own","own"]}],"name":"graphs","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},{"kind":"build","operands":[{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"var","name":2},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"parameters":[0,1],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"function":4,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"prim","operands":[{"kind":"prim","operands":[{"function":13,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]}],"operation":{"kind":"length"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"zero"}},{"binders":[4],"body":{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"nil"}},{"binders":[6,7],"body":{"function":4,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":4},{"kind":"var","name":5},{"function":11,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":5}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":5},"type":{"element":{"kind":"nat"},"kind":"list"}},"bound":{"function":5,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"kind":"let","name":5,"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2,3],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"nil"}},{"binders":[4,5],"body":{"function":5,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":5},{"function":6,"kind":"call","operands":[{"kind":"var","name":1},{"function":7,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":4}]},{"kind":"var","name":3}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2,3],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":2},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":6,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":4},{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3}]},"else_branch":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":2},{"kind":"var","name":3}]},"else_branch":{"function":10,"kind":"call","operands":[{"kind":"var","name":2},{"kind":"var","name":3}]},"kind":"cond","then_branch":{"kind":"var","name":2}},"kind":"cond","then_branch":{"kind":"var","name":2}}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"var","name":2},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":8,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":8,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"parameters":[0,1],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":9,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":10,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":11,"kind":"call","operands":[{"function":12,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},{"kind":"var","name":3}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":12,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":13,"kind":"call","operands":[{"kind":"var","name":3},{"function":14,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":2}},{"function":15,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}]}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":14,"kind":"call","operands":[{"kind":"var","name":3},{"function":15,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"var","name":2}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":15,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"body":{"function":17,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"bound":{"function":21,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"kind":"let","name":1,"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[4,5],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"zero"}},{"binders":[6],"body":{"arms":[{"binders":[],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[7,8],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[9,10],"body":{"function":17,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":6},{"function":27,"kind":"call","operands":[{"kind":"var","name":2},{"kind":"var","name":9}]},{"kind":"build","operands":[{"kind":"var","name":9},{"kind":"var","name":3}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"function":18,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2},{"kind":"var","name":2}]},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"parameters":[0,1,2,3],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"function":19,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":1}]},"else_branch":{"function":18,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":4}]},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":3},{"function":18,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":4}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"function":26,"kind":"call","operands":[{"function":24,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3}]},{"kind":"var","name":1}]},"else_branch":{"function":19,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":4}]},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}},"parameters":[0,1,2],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":20,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"var","name":1}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":21,"kind":"call","operands":[{"kind":"var","name":3},{"function":22,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":2}},{"function":23,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}]}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":22,"kind":"call","operands":[{"kind":"var","name":3},{"function":23,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"var","name":2}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":23,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"var","name":2},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":25,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":25,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"parameters":[0,1],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":26,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":27,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":29,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":1}}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":28,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":29,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"condition":{"function":28,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":0,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":30,"name":"run","parameters":["own","own"]}],"name":"graphs","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},{"kind":"build","operands":[{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},{"function":16,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"var","name":2},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"parameters":[0,1],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"function":4,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"prim","operands":[{"kind":"prim","operands":[{"function":13,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]}],"operation":{"kind":"length"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"zero"}},{"binders":[4],"body":{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"nil"}},{"binders":[6,7],"body":{"function":4,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":4},{"kind":"var","name":5},{"function":11,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":5}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":5},"type":{"element":{"kind":"nat"},"kind":"list"}},"bound":{"function":5,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"kind":"let","name":5,"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2,3],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"nil"}},{"binders":[4,5],"body":{"function":5,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":5},{"function":6,"kind":"call","operands":[{"kind":"var","name":1},{"function":7,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":4}]},{"kind":"var","name":3}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2,3],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":2},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":6,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":4},{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3}]},"else_branch":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":2},{"kind":"var","name":3}]},"else_branch":{"function":10,"kind":"call","operands":[{"kind":"var","name":2},{"kind":"var","name":3}]},"kind":"cond","then_branch":{"kind":"var","name":2}},"kind":"cond","then_branch":{"kind":"var","name":2}}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"var","name":2},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":8,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":8,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"parameters":[0,1],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":9,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":10,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":11,"kind":"call","operands":[{"function":12,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},{"kind":"var","name":3}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":12,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":13,"kind":"call","operands":[{"kind":"var","name":3},{"function":14,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":2}},{"function":15,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}]}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":14,"kind":"call","operands":[{"kind":"var","name":3},{"function":15,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"var","name":2}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":15,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"body":{"function":17,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"bound":{"function":21,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"kind":"let","name":1,"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[4,5],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"zero"}},{"binders":[6],"body":{"arms":[{"binders":[],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"function":20,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[7,8],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[9,10],"body":{"function":17,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":6},{"function":27,"kind":"call","operands":[{"kind":"var","name":2},{"kind":"var","name":9}]},{"kind":"build","operands":[{"kind":"var","name":9},{"kind":"var","name":3}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"function":18,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2},{"kind":"var","name":2}]},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"parameters":[0,1,2,3],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"function":19,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":1}]},"else_branch":{"function":18,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":4}]},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":3},{"function":18,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":4}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"function":26,"kind":"call","operands":[{"function":24,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3}]},{"kind":"var","name":1}]},"else_branch":{"function":19,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":4}]},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}},"parameters":[0,1,2],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":20,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"var","name":1}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":21,"kind":"call","operands":[{"kind":"var","name":3},{"function":22,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":2}},{"function":23,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}]}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":22,"kind":"call","operands":[{"kind":"var","name":3},{"function":23,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"var","name":2}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":23,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"var","name":2},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":25,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":25,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}},"parameters":[0,1],"result":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":26,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":27,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":29,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":1}}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":28,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":29,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"condition":{"function":28,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":0,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}}}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/graphs/provenance.json b/tests/production-export/production-coverage/packages/rust-std/graphs/provenance.json index fe18f2f96..595a5ad2c 100644 --- a/tests/production-export/production-coverage/packages/rust-std/graphs/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/graphs/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":30,"name":"run"}],"files":{"Cargo.toml":"006bdd268983be958dbe85a51c271f1e7315257d78cce3ed57743b23cd195944","src/lib.rs":"72489cde84069bf6e34c53e43d3b6de78cc4f5e3f9e9117fbd964ae31f85bde7"},"name":"graphs","profile":"rust-std","program":"54b3c6a08367cfc9abac0716d282f9bfd50bcfffd1c1c0a5693bf6e6407145e2","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":30,"name":"run"}],"files":{"Cargo.toml":"006bdd268983be958dbe85a51c271f1e7315257d78cce3ed57743b23cd195944","src/lib.rs":"72489cde84069bf6e34c53e43d3b6de78cc4f5e3f9e9117fbd964ae31f85bde7"},"name":"graphs","profile":"rust-std","program":"54b3c6a08367cfc9abac0716d282f9bfd50bcfffd1c1c0a5693bf6e6407145e2","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/grove_root/package.json b/tests/production-export/production-coverage/packages/rust-std/grove_root/package.json index e2cd16fab..f38b57d6f 100644 --- a/tests/production-export/production-coverage/packages/rust-std/grove_root/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/grove_root/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":18,"name":"run","parameters":["own","own","own","own"]}],"name":"grove_root","profile":"rust-std","program":{"adts":[{"constructors":[[{"element":{"kind":"nat"},"kind":"list"},{"element":{"index":0,"kind":"adt"},"kind":"list"},{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"int"}},"kind":"list"},{"kind":"option","value":{"index":0,"kind":"adt"}},{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"index":0,"kind":"adt"}},"kind":"list"}],[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"int"}},"kind":"list"}],[{"error":{"kind":"nat"},"kind":"result","ok":{"index":0,"kind":"adt"}}]]},{"constructors":[[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"int"}},"kind":"list"},{"kind":"string"}]]}],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"var","name":3}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"element":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"kind":"list"},"kind":"list"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"element":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"kind":"list"},"kind":"list"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"element":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"kind":"list"},"kind":"list"}}}}},"parameters":[0,1,2,3],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"element":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"kind":"list"},"kind":"list"}}}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"},{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},{"element":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"kind":"list"},"kind":"list"}]},{"body":{"arms":[{"binders":[1,2,3,4,5],"body":{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},"shape":{"constructor":0,"kind":"adt"}},{"binders":[6],"body":{"kind":"prim","operands":[{"kind":"var","name":6}],"operation":{"kind":"length"}},"shape":{"constructor":1,"kind":"adt"}},{"binders":[7],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"constructor":2,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]},{"body":{"arms":[{"binders":[1,2,3,4,5],"body":{"condition":{"function":3,"kind":"call","operands":[{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"condition":{"function":4,"kind":"call","operands":[{"kind":"var","name":2}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"condition":{"function":5,"kind":"call","operands":[{"kind":"var","name":3}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":4}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":5}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}}}}}},"shape":{"constructor":0,"kind":"adt"}},{"binders":[6],"body":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":6}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}},"shape":{"constructor":1,"kind":"adt"}},{"binders":[7],"body":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":7}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}},"shape":{"constructor":2,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":3,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":2,"kind":"call","operands":[{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":4,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"index":0,"kind":"adt"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":1}}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":5,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"int"}},"kind":"list"}]},{"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"int"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"option","value":{"index":0,"kind":"adt"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":8,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"index":0,"kind":"adt"}},"kind":"list"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"first","value":{"kind":"var","name":0}}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":2,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":0}}]}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"index":0,"kind":"adt"}}]},{"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":1}}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":11,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"int"}},"kind":"list"}]},{"body":{"arms":[{"binders":[1],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":1}]},"shape":{"kind":"ok"}},{"binders":[2],"body":{"function":10,"kind":"call","operands":[{"kind":"var","name":2}]},"shape":{"kind":"error"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"error":{"kind":"nat"},"kind":"result","ok":{"index":0,"kind":"adt"}}]},{"body":{"arms":[{"binders":[1,2],"body":{"condition":{"function":5,"kind":"call","operands":[{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}},"shape":{"constructor":0,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":16,"kind":"call","operands":[{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":15,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"kind":"list"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":17,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":1}}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":16,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"kind":"list"}]},{"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"bool"}]},{"body":{"condition":{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"element":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"kind":"list"},"kind":"list"}}}}}},"kind":"cond","then_branch":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"element":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"kind":"list"},"kind":"list"}}}}}},"kind":"cond","then_branch":{"condition":{"function":14,"kind":"call","operands":[{"kind":"var","name":2}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"element":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"kind":"list"},"kind":"list"}}}}}},"kind":"cond","then_branch":{"condition":{"function":15,"kind":"call","operands":[{"kind":"var","name":3}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"element":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"kind":"list"},"kind":"list"}}}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":0,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":2},{"kind":"var","name":3}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"element":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"kind":"list"},"kind":"list"}}}}}}}}}},"parameters":[0,1,2,3],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"element":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"kind":"list"},"kind":"list"}}}}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"},{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},{"element":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"kind":"list"},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":18,"name":"run","parameters":["own","own","own","own"]}],"name":"grove_root","profile":"rust-std","program":{"adts":[{"constructors":[[{"element":{"kind":"nat"},"kind":"list"},{"element":{"index":0,"kind":"adt"},"kind":"list"},{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"int"}},"kind":"list"},{"kind":"option","value":{"index":0,"kind":"adt"}},{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"index":0,"kind":"adt"}},"kind":"list"}],[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"int"}},"kind":"list"}],[{"error":{"kind":"nat"},"kind":"result","ok":{"index":0,"kind":"adt"}}]]},{"constructors":[[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"int"}},"kind":"list"},{"kind":"string"}]]}],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"var","name":3}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"element":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"kind":"list"},"kind":"list"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"element":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"kind":"list"},"kind":"list"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"element":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"kind":"list"},"kind":"list"}}}}},"parameters":[0,1,2,3],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"element":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"kind":"list"},"kind":"list"}}}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"},{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},{"element":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"kind":"list"},"kind":"list"}]},{"body":{"arms":[{"binders":[1,2,3,4,5],"body":{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},"shape":{"constructor":0,"kind":"adt"}},{"binders":[6],"body":{"kind":"prim","operands":[{"kind":"var","name":6}],"operation":{"kind":"length"}},"shape":{"constructor":1,"kind":"adt"}},{"binders":[7],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"constructor":2,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]},{"body":{"arms":[{"binders":[1,2,3,4,5],"body":{"condition":{"function":3,"kind":"call","operands":[{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"condition":{"function":4,"kind":"call","operands":[{"kind":"var","name":2}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"condition":{"function":5,"kind":"call","operands":[{"kind":"var","name":3}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":4}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":5}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}}}}}},"shape":{"constructor":0,"kind":"adt"}},{"binders":[6],"body":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":6}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}},"shape":{"constructor":1,"kind":"adt"}},{"binders":[7],"body":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":7}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}},"shape":{"constructor":2,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":0,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":3,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":2,"kind":"call","operands":[{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":4,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"index":0,"kind":"adt"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":1}}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":5,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"int"}},"kind":"list"}]},{"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"int"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"option","value":{"index":0,"kind":"adt"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":8,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"index":0,"kind":"adt"}},"kind":"list"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"first","value":{"kind":"var","name":0}}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":2,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":0}}]}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"index":0,"kind":"adt"}}]},{"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":1}}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":11,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"int"}},"kind":"list"}]},{"body":{"arms":[{"binders":[1],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":1}]},"shape":{"kind":"ok"}},{"binders":[2],"body":{"function":10,"kind":"call","operands":[{"kind":"var","name":2}]},"shape":{"kind":"error"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"error":{"kind":"nat"},"kind":"result","ok":{"index":0,"kind":"adt"}}]},{"body":{"arms":[{"binders":[1,2],"body":{"condition":{"function":5,"kind":"call","operands":[{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}},"shape":{"constructor":0,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"index":1,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"none"}},{"binders":[1],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":1}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":16,"kind":"call","operands":[{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":15,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"kind":"list"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":17,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":1}}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":16,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"kind":"list"}]},{"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"bool"}]},{"body":{"condition":{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"element":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"kind":"list"},"kind":"list"}}}}}},"kind":"cond","then_branch":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"element":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"kind":"list"},"kind":"list"}}}}}},"kind":"cond","then_branch":{"condition":{"function":14,"kind":"call","operands":[{"kind":"var","name":2}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"element":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"kind":"list"},"kind":"list"}}}}}},"kind":"cond","then_branch":{"condition":{"function":15,"kind":"call","operands":[{"kind":"var","name":3}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"element":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"kind":"list"},"kind":"list"}}}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":0,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":2},{"kind":"var","name":3}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"element":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"kind":"list"},"kind":"list"}}}}}}}}}},"parameters":[0,1,2,3],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"index":1,"kind":"adt"},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"element":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"kind":"list"},"kind":"list"}}}}},"types":[{"index":0,"kind":"adt"},{"index":1,"kind":"adt"},{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},{"element":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"kind":"list"},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/grove_root/provenance.json b/tests/production-export/production-coverage/packages/rust-std/grove_root/provenance.json index a89857bc1..1ed091ad9 100644 --- a/tests/production-export/production-coverage/packages/rust-std/grove_root/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/grove_root/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":18,"name":"run"}],"files":{"Cargo.toml":"cd5f821f98d8f9d0bb49b5e40dbd8213040d1eb56f5ad4d42ca594defb94fafc","src/lib.rs":"f2b1845fe3adad6812c4b57175cd599d4080bdcf865efbce9d06f9c19f6c9706"},"name":"grove_root","profile":"rust-std","program":"1aadfc9ba4fd60d7060d145ef97656e0bca23924ec77e487808d5faae1ada33d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":18,"name":"run"}],"files":{"Cargo.toml":"cd5f821f98d8f9d0bb49b5e40dbd8213040d1eb56f5ad4d42ca594defb94fafc","src/lib.rs":"f2b1845fe3adad6812c4b57175cd599d4080bdcf865efbce9d06f9c19f6c9706"},"name":"grove_root","profile":"rust-std","program":"1aadfc9ba4fd60d7060d145ef97656e0bca23924ec77e487808d5faae1ada33d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/higher/package.json b/tests/production-export/production-coverage/packages/rust-std/higher/package.json index a5ee0aa11..4f1d87ef6 100644 --- a/tests/production-export/production-coverage/packages/rust-std/higher/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/higher/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"higher","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"body":{"kind":"prim","operands":[{"function":1,"kind":"call","operands":[{"captures":[{"kind":"var","name":2},{"kind":"var","name":1}],"function":2,"kind":"closure"},{"kind":"var","name":0}]},{"kind":"prim","operands":[{"kind":"apply","operands":[{"kind":"var","name":0}],"target":{"captures":[{"kind":"var","name":2}],"function":3,"kind":"closure"}},{"function":1,"kind":"call","operands":[{"captures":[],"function":4,"kind":"closure"},{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"kind":"let","name":2,"type":{"kind":"nat"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"kind":"apply","operands":[{"kind":"apply","operands":[{"kind":"var","name":1}],"target":{"kind":"var","name":0}}],"target":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"var","name":0}],"operation":{"kind":"nat_mul"}},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"nat_sub"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":0}],"operation":{"kind":"nat_add"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"higher","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"body":{"kind":"prim","operands":[{"function":1,"kind":"call","operands":[{"captures":[{"kind":"var","name":2},{"kind":"var","name":1}],"function":2,"kind":"closure"},{"kind":"var","name":0}]},{"kind":"prim","operands":[{"kind":"apply","operands":[{"kind":"var","name":0}],"target":{"captures":[{"kind":"var","name":2}],"function":3,"kind":"closure"}},{"function":1,"kind":"call","operands":[{"captures":[],"function":4,"kind":"closure"},{"kind":"var","name":1}]}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"kind":"let","name":2,"type":{"kind":"nat"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"kind":"apply","operands":[{"kind":"apply","operands":[{"kind":"var","name":1}],"target":{"kind":"var","name":0}}],"target":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"var","name":0}],"operation":{"kind":"nat_mul"}},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"operation":{"kind":"nat_sub"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":0}],"operation":{"kind":"nat_add"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/higher/provenance.json b/tests/production-export/production-coverage/packages/rust-std/higher/provenance.json index 4a20e3a19..37fd6e738 100644 --- a/tests/production-export/production-coverage/packages/rust-std/higher/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/higher/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"a9965766740afeb45706683c1c941095c32f92781e171be35737261a61b8a24a","src/lib.rs":"f82da2f587585cce5a6abd616213045aa57aaee2228a787f540c6b664160238a"},"name":"higher","profile":"rust-std","program":"b9a631ceb72fc1536c7c26c88ce17cb71084492929763dc601a2e579e3b15596","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"a9965766740afeb45706683c1c941095c32f92781e171be35737261a61b8a24a","src/lib.rs":"f82da2f587585cce5a6abd616213045aa57aaee2228a787f540c6b664160238a"},"name":"higher","profile":"rust-std","program":"b9a631ceb72fc1536c7c26c88ce17cb71084492929763dc601a2e579e3b15596","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/int_ops/package.json b/tests/production-export/production-coverage/packages/rust-std/int_ops/package.json index 91754d017..fd45e3a33 100644 --- a/tests/production-export/production-coverage/packages/rust-std/int_ops/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/int_ops/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"int_ops","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-3"}}],"operation":{"kind":"int_mul"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"1"}}],"operation":{"kind":"int_quot"}},{"kind":"var","name":1},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"0"}}],"operation":{"kind":"int_rem"}}],"operation":{"kind":"int_neg"}}],"operation":{"kind":"int_sub"}},"parameters":[0,1],"result":{"kind":"int"},"types":[{"kind":"int"},{"kind":"int"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"int_ops","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"-3"}}],"operation":{"kind":"int_mul"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"1"}}],"operation":{"kind":"int_quot"}},{"kind":"var","name":1},{"kind":"value","type":{"kind":"int"},"value":{"kind":"int","value":"0"}}],"operation":{"kind":"int_rem"}}],"operation":{"kind":"int_neg"}}],"operation":{"kind":"int_sub"}},"parameters":[0,1],"result":{"kind":"int"},"types":[{"kind":"int"},{"kind":"int"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/int_ops/provenance.json b/tests/production-export/production-coverage/packages/rust-std/int_ops/provenance.json index ce186faa8..4cdec5474 100644 --- a/tests/production-export/production-coverage/packages/rust-std/int_ops/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/int_ops/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"fc1efbb5b6ec479184b12aceea00af517df40c0ba110f9c286361df08f0b2142","src/lib.rs":"ca5bbe334ad23a550d260ec243a6be249a61f249e733bb1433d582487d85c287"},"name":"int_ops","profile":"rust-std","program":"6f167a8d46f8923a927e311666264729d573c3b8593155abef2114631b1b0283","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"fc1efbb5b6ec479184b12aceea00af517df40c0ba110f9c286361df08f0b2142","src/lib.rs":"ca5bbe334ad23a550d260ec243a6be249a61f249e733bb1433d582487d85c287"},"name":"int_ops","profile":"rust-std","program":"6f167a8d46f8923a927e311666264729d573c3b8593155abef2114631b1b0283","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/iterations/package.json b/tests/production-export/production-coverage/packages/rust-std/iterations/package.json index 6269dd1a1..9f4169c2c 100644 --- a/tests/production-export/production-coverage/packages/rust-std/iterations/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/iterations/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"iterations","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"captures":[],"function":2,"kind":"closure"},{"kind":"var","name":0},{"kind":"var","name":1}]},{"function":3,"kind":"call","operands":[{"captures":[],"function":4,"kind":"closure"},{"kind":"var","name":0},{"kind":"var","name":1}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":2},"shape":{"kind":"zero"}},{"binders":[3],"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}}]},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"nat"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"option","value":{"kind":"nat"}}},{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"10"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_add"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"iterations","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"captures":[],"function":2,"kind":"closure"},{"kind":"var","name":0},{"kind":"var","name":1}]},{"function":3,"kind":"call","operands":[{"captures":[],"function":4,"kind":"closure"},{"kind":"var","name":0},{"kind":"var","name":1}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":2},"shape":{"kind":"zero"}},{"binders":[3],"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}}]},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"nat"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"zero"}},{"binders":[3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"none"}},{"binders":[4],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":4}]},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"option","value":{"kind":"nat"}}},{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"10"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_add"}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/iterations/provenance.json b/tests/production-export/production-coverage/packages/rust-std/iterations/provenance.json index 75abb9932..6ccffbd52 100644 --- a/tests/production-export/production-coverage/packages/rust-std/iterations/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/iterations/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"30538a8c312a4083ac5aaaa7ae38d9ab7689cd5c311aafa494a6add82a0481d2","src/lib.rs":"0a86c1df2c70a18f50c6d51d8d31e7efc17b44a7f90e7ea754acbd0782ce8364"},"name":"iterations","profile":"rust-std","program":"17fa1f466a5d992c3b54152d0a758cd23d38d1b2fda1ef5693cc06700cabe223","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"30538a8c312a4083ac5aaaa7ae38d9ab7689cd5c311aafa494a6add82a0481d2","src/lib.rs":"0a86c1df2c70a18f50c6d51d8d31e7efc17b44a7f90e7ea754acbd0782ce8364"},"name":"iterations","profile":"rust-std","program":"17fa1f466a5d992c3b54152d0a758cd23d38d1b2fda1ef5693cc06700cabe223","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/key_types/package.json b/tests/production-export/production-coverage/packages/rust-std/key_types/package.json index 8c8c7a290..9d47cc2f8 100644 --- a/tests/production-export/production-coverage/packages/rust-std/key_types/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/key_types/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":13,"name":"run","parameters":["own","own","own","own","own","own","own","own","own","own"]}],"name":"key_types","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":2},{"kind":"var","name":3}]},{"kind":"build","operands":[{"function":3,"kind":"call","operands":[{"kind":"var","name":4},{"kind":"var","name":5}]},{"kind":"build","operands":[{"function":4,"kind":"call","operands":[{"kind":"var","name":6},{"kind":"var","name":7}]},{"function":5,"kind":"call","operands":[{"kind":"var","name":8},{"kind":"var","name":9}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"option","value":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"option","value":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"option","value":{"kind":"nat"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"bool"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"option","value":{"kind":"nat"}}}}}}},"parameters":[0,1,2,3,4,5,6,7,8,9],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"bool"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"option","value":{"kind":"nat"}}}}}},"types":[{"element":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"right":{"kind":"bool"}},"kind":"list"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},{"element":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"fixed","width":"i8"},{"element":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"bool"},{"element":{"kind":"pair","left":{"kind":"int"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"int"},{"element":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"fixed","width":"u64"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"bool"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"bool"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"bool"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"bool"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"bool"}},"types":[{"element":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"right":{"kind":"bool"}},"kind":"list"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"element":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"fixed","width":"i8"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"element":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"bool"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":4,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"element":{"kind":"pair","left":{"kind":"int"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"int"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":5,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"element":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"fixed","width":"u64"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":1}}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":6,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"right":{"kind":"bool"}},"kind":"list"}]},{"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"bool"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":1}}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":8,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"nat"}},"kind":"list"}]},{"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":1}}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":10,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"nat"}},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":1}}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":11,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"int"},"right":{"kind":"nat"}},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":1}}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":12,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"nat"}},"kind":"list"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"option","value":{"kind":"bool"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"option","value":{"kind":"nat"}}}}}}}},"kind":"cond","then_branch":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":2}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"option","value":{"kind":"bool"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"option","value":{"kind":"nat"}}}}}}}},"kind":"cond","then_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":4}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"option","value":{"kind":"bool"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"option","value":{"kind":"nat"}}}}}}}},"kind":"cond","then_branch":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":6}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"option","value":{"kind":"bool"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"option","value":{"kind":"nat"}}}}}}}},"kind":"cond","then_branch":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":8}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"option","value":{"kind":"bool"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"option","value":{"kind":"nat"}}}}}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":0,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":2},{"kind":"var","name":3},{"kind":"var","name":4},{"kind":"var","name":5},{"kind":"var","name":6},{"kind":"var","name":7},{"kind":"var","name":8},{"kind":"var","name":9}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"option","value":{"kind":"bool"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"option","value":{"kind":"nat"}}}}}}}}}}}}},"parameters":[0,1,2,3,4,5,6,7,8,9],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"option","value":{"kind":"bool"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"option","value":{"kind":"nat"}}}}}}},"types":[{"element":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"right":{"kind":"bool"}},"kind":"list"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},{"element":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"fixed","width":"i8"},{"element":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"bool"},{"element":{"kind":"pair","left":{"kind":"int"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"int"},{"element":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"fixed","width":"u64"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":13,"name":"run","parameters":["own","own","own","own","own","own","own","own","own","own"]}],"name":"key_types","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":2},{"kind":"var","name":3}]},{"kind":"build","operands":[{"function":3,"kind":"call","operands":[{"kind":"var","name":4},{"kind":"var","name":5}]},{"kind":"build","operands":[{"function":4,"kind":"call","operands":[{"kind":"var","name":6},{"kind":"var","name":7}]},{"function":5,"kind":"call","operands":[{"kind":"var","name":8},{"kind":"var","name":9}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"option","value":{"kind":"nat"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"option","value":{"kind":"nat"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"option","value":{"kind":"nat"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"bool"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"option","value":{"kind":"nat"}}}}}}},"parameters":[0,1,2,3,4,5,6,7,8,9],"result":{"kind":"pair","left":{"kind":"option","value":{"kind":"bool"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"option","value":{"kind":"nat"}}}}}},"types":[{"element":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"right":{"kind":"bool"}},"kind":"list"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},{"element":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"fixed","width":"i8"},{"element":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"bool"},{"element":{"kind":"pair","left":{"kind":"int"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"int"},{"element":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"fixed","width":"u64"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"bool"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"bool"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"bool"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"bool"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"bool"}},"types":[{"element":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"right":{"kind":"bool"}},"kind":"list"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"element":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"fixed","width":"i8"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"element":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"bool"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":4,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"element":{"kind":"pair","left":{"kind":"int"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"int"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":5,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"element":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"fixed","width":"u64"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":1}}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":6,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"right":{"kind":"bool"}},"kind":"list"}]},{"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"bool"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":1}}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":8,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"nat"}},"kind":"list"}]},{"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":1}}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":10,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"nat"}},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":1}}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":11,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"int"},"right":{"kind":"nat"}},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":1}}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":12,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"nat"}},"kind":"list"}]},{"body":{"condition":{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"option","value":{"kind":"bool"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"option","value":{"kind":"nat"}}}}}}}},"kind":"cond","then_branch":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":2}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"option","value":{"kind":"bool"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"option","value":{"kind":"nat"}}}}}}}},"kind":"cond","then_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":4}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"option","value":{"kind":"bool"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"option","value":{"kind":"nat"}}}}}}}},"kind":"cond","then_branch":{"condition":{"function":11,"kind":"call","operands":[{"kind":"var","name":6}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"option","value":{"kind":"bool"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"option","value":{"kind":"nat"}}}}}}}},"kind":"cond","then_branch":{"condition":{"function":12,"kind":"call","operands":[{"kind":"var","name":8}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"option","value":{"kind":"bool"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"option","value":{"kind":"nat"}}}}}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":0,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":2},{"kind":"var","name":3},{"kind":"var","name":4},{"kind":"var","name":5},{"kind":"var","name":6},{"kind":"var","name":7},{"kind":"var","name":8},{"kind":"var","name":9}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"kind":"option","value":{"kind":"bool"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"option","value":{"kind":"nat"}}}}}}}}}}}}},"parameters":[0,1,2,3,4,5,6,7,8,9],"result":{"kind":"option","value":{"kind":"pair","left":{"kind":"option","value":{"kind":"bool"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"option","value":{"kind":"nat"}}}}}}},"types":[{"element":{"kind":"pair","left":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},"right":{"kind":"bool"}},"kind":"list"},{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"string"}},{"element":{"kind":"pair","left":{"kind":"fixed","width":"i8"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"fixed","width":"i8"},{"element":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"bool"},{"element":{"kind":"pair","left":{"kind":"int"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"int"},{"element":{"kind":"pair","left":{"kind":"fixed","width":"u64"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"fixed","width":"u64"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/key_types/provenance.json b/tests/production-export/production-coverage/packages/rust-std/key_types/provenance.json index d885c4aea..174019dc4 100644 --- a/tests/production-export/production-coverage/packages/rust-std/key_types/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/key_types/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":13,"name":"run"}],"files":{"Cargo.toml":"9cecbb64ae81b051d99238533458e614535b89a97d68038a37dc146d7b713075","src/lib.rs":"2e7d46426b92417e89c52e95a2a86b5428d20cc33310d05167864a748ffc79e6"},"name":"key_types","profile":"rust-std","program":"fc3e6614b68e0f0cf2e4fcd7831a0a8ac5a84ade2a42c08eabcd0d2ddc8abe3f","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":13,"name":"run"}],"files":{"Cargo.toml":"9cecbb64ae81b051d99238533458e614535b89a97d68038a37dc146d7b713075","src/lib.rs":"2e7d46426b92417e89c52e95a2a86b5428d20cc33310d05167864a748ffc79e6"},"name":"key_types","profile":"rust-std","program":"fc3e6614b68e0f0cf2e4fcd7831a0a8ac5a84ade2a42c08eabcd0d2ddc8abe3f","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/literals/package.json b/tests/production-export/production-coverage/packages/rust-std/literals/package.json index cc5fa77ab..adc7eb2e0 100644 --- a/tests/production-export/production-coverage/packages/rust-std/literals/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/literals/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"literals","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"a"}},{"kind":"var","name":0}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"b"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"}}},"types":[{"kind":"nat"},{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"literals","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"a"}},{"kind":"var","name":0}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"b"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}}},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}},"kind":"list"}}},"types":[{"kind":"nat"},{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/literals/provenance.json b/tests/production-export/production-coverage/packages/rust-std/literals/provenance.json index d5a9a07b2..2a1176e15 100644 --- a/tests/production-export/production-coverage/packages/rust-std/literals/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/literals/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"d50f03397a2a5fa453e54d825b4cc78390b490b4973fe40536246e21fa86ef38","src/lib.rs":"5b9440cfbe529b300f326669cd3186d65d2fd758984e30598c0c2ec62f448784"},"name":"literals","profile":"rust-std","program":"c7a7def9b6c20967b79d34ac878ad3bd945e7e8a5f7ba59728f515c9495f8d2c","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"d50f03397a2a5fa453e54d825b4cc78390b490b4973fe40536246e21fa86ef38","src/lib.rs":"5b9440cfbe529b300f326669cd3186d65d2fd758984e30598c0c2ec62f448784"},"name":"literals","profile":"rust-std","program":"c7a7def9b6c20967b79d34ac878ad3bd945e7e8a5f7ba59728f515c9495f8d2c","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/map_folding/package.json b/tests/production-export/production-coverage/packages/rust-std/map_folding/package.json index 96d3aef55..cd01c5c26 100644 --- a/tests/production-export/production-coverage/packages/rust-std/map_folding/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/map_folding/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":5,"name":"run","parameters":["own","own"]}],"name":"map_folding","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"captures":[{"kind":"var","name":1}],"function":2,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"var","name":0}]},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":3}},{"kind":"second","value":{"kind":"var","name":3}}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"nat"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"},{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"kind":"var","name":3},{"kind":"var","name":0}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}},"parameters":[0,1,2,3],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":4,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":1}}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":3,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}]},{"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]},{"body":{"condition":{"function":3,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":0,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":5,"name":"run","parameters":["own","own"]}],"name":"map_folding","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"captures":[{"kind":"var","name":1}],"function":2,"kind":"closure"},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"var","name":0}]},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"apply","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":3}},{"kind":"second","value":{"kind":"var","name":3}}],"target":{"kind":"var","name":0}},{"kind":"var","name":4}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"nat"}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"},{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}]},{"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"nat_add"}},{"kind":"prim","operands":[{"kind":"var","name":3},{"kind":"var","name":0}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}},"parameters":[0,1,2,3],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":4,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":1}}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":3,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"}]},{"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]},{"body":{"condition":{"function":3,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":0,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"element":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/map_folding/provenance.json b/tests/production-export/production-coverage/packages/rust-std/map_folding/provenance.json index 18aefd731..c3f3f91be 100644 --- a/tests/production-export/production-coverage/packages/rust-std/map_folding/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/map_folding/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":5,"name":"run"}],"files":{"Cargo.toml":"e20682f7e1258bfdb39c7012f02acd610ed6215570067732977bd5a1e9318152","src/lib.rs":"478e0a5ef288094018bf4e4b4dd4e8ea02a890c41253fef33c194130fecb119d"},"name":"map_folding","profile":"rust-std","program":"db2b0f171e75cff8b9931bc693e039342501c8d43f2d2a653bd29728fe777dc1","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":5,"name":"run"}],"files":{"Cargo.toml":"e20682f7e1258bfdb39c7012f02acd610ed6215570067732977bd5a1e9318152","src/lib.rs":"478e0a5ef288094018bf4e4b4dd4e8ea02a890c41253fef33c194130fecb119d"},"name":"map_folding","profile":"rust-std","program":"db2b0f171e75cff8b9931bc693e039342501c8d43f2d2a653bd29728fe777dc1","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/map_ops/package.json b/tests/production-export/production-coverage/packages/rust-std/map_ops/package.json index 7be88d5ee..03c5a7e53 100644 --- a/tests/production-export/production-coverage/packages/rust-std/map_ops/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/map_ops/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":10,"name":"run","parameters":["own","own","own"]}],"name":"map_ops","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":2}]},{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},{"kind":"build","operands":[{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},{"kind":"build","operands":[{"function":4,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},{"kind":"build","operands":[{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"length"}},{"kind":"var","name":0}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"string"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"string"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"string"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"string"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"string"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"string"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}}}}}}}},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"string"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}}},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}}},{"kind":"var","name":4}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":3},{"function":1,"kind":"call","operands":[{"kind":"var","name":4},{"kind":"var","name":1},{"kind":"var","name":2}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"string"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":2,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":5,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":5,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"function":6,"kind":"call","operands":[{"kind":"var","name":2}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"string"},"kind":"list"}},"parameters":[0],"result":{"element":{"kind":"string"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":1}},{"function":7,"kind":"call","operands":[{"kind":"var","name":2}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":1}}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":8,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}]},{"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]},{"body":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"string"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}}}}}}}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":0,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":2}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"string"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"option","value":{"kind":"pair","left":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"string"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}}}}}}}}},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"string"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":10,"name":"run","parameters":["own","own","own"]}],"name":"map_ops","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":2}]},{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},{"kind":"build","operands":[{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},{"kind":"build","operands":[{"function":4,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},{"kind":"build","operands":[{"function":6,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[{"function":7,"kind":"call","operands":[{"kind":"var","name":0}]},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"length"}},{"kind":"var","name":0}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"string"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"string"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"string"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"string"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"string"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"string"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}}}}}}}},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"string"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}}},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}}},{"kind":"var","name":4}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":3},{"function":1,"kind":"call","operands":[{"kind":"var","name":4},{"kind":"var","name":1},{"kind":"var","name":2}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"string"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":2,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":5,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":5,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"kind":"nat"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"kind":"nat"}}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"nat"}},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"kind":"build","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"function":6,"kind":"call","operands":[{"kind":"var","name":2}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"string"},"kind":"list"}},"parameters":[0],"result":{"element":{"kind":"string"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":1}},{"function":7,"kind":"call","operands":[{"kind":"var","name":2}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":1}}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":8,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}]},{"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]},{"body":{"condition":{"function":8,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"string"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}}}}}}}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":0,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":2}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"string"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"option","value":{"kind":"pair","left":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"string"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"}}}}}}}}},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"nat"}},"kind":"list"},{"kind":"string"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/map_ops/provenance.json b/tests/production-export/production-coverage/packages/rust-std/map_ops/provenance.json index 312f2cd5c..2d796a495 100644 --- a/tests/production-export/production-coverage/packages/rust-std/map_ops/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/map_ops/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":10,"name":"run"}],"files":{"Cargo.toml":"adebd8e382f9c7ef2503c46c04e30f3fa80125dba1bb356f1ae0361d4958dac4","src/lib.rs":"74e57de6fc14045e08ffa6efec190aafbb5404429d63778b4a7b9509dc75170e"},"name":"map_ops","profile":"rust-std","program":"befbd0f6a81345584eccc0e352073fcc65d585f2ff9b002aad0cfac26a5a426f","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":10,"name":"run"}],"files":{"Cargo.toml":"adebd8e382f9c7ef2503c46c04e30f3fa80125dba1bb356f1ae0361d4958dac4","src/lib.rs":"74e57de6fc14045e08ffa6efec190aafbb5404429d63778b4a7b9509dc75170e"},"name":"map_ops","profile":"rust-std","program":"befbd0f6a81345584eccc0e352073fcc65d585f2ff9b002aad0cfac26a5a426f","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/mapped/package.json b/tests/production-export/production-coverage/packages/rust-std/mapped/package.json index 9c02bed8a..bb47277f5 100644 --- a/tests/production-export/production-coverage/packages/rust-std/mapped/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/mapped/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"mapped","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"captures":[],"function":2,"kind":"closure"},{"kind":"var","name":0}]},"parameters":[0],"result":{"element":{"kind":"bool"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"bool"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"kind":"build","operands":[{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"bool"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"bool"},"kind":"list"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"bool"}},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":1}]},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":1}]},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"mapped","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"captures":[],"function":2,"kind":"closure"},{"kind":"var","name":0}]},"parameters":[0],"result":{"element":{"kind":"bool"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"bool"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"kind":"build","operands":[{"kind":"apply","operands":[{"kind":"var","name":2}],"target":{"kind":"var","name":0}},{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"bool"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"bool"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"bool"},"kind":"list"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"bool"}},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":1}]},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":1}]},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/mapped/provenance.json b/tests/production-export/production-coverage/packages/rust-std/mapped/provenance.json index ad0044dfc..153e84e70 100644 --- a/tests/production-export/production-coverage/packages/rust-std/mapped/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/mapped/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"74d20143e44a79d9f19bf361224c94504bf0af1c0270595f0d3e089ac3edee9c","src/lib.rs":"6d08d4eef8ef893a1e44d7791e0dc20b8145982029ce00ae2141bb9b8001ce05"},"name":"mapped","profile":"rust-std","program":"83625b33701e16e8f1014fd8a942ea0ac67a87cefb2ef0f93321f9dbc4bbe943","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"74d20143e44a79d9f19bf361224c94504bf0af1c0270595f0d3e089ac3edee9c","src/lib.rs":"6d08d4eef8ef893a1e44d7791e0dc20b8145982029ce00ae2141bb9b8001ce05"},"name":"mapped","profile":"rust-std","program":"83625b33701e16e8f1014fd8a942ea0ac67a87cefb2ef0f93321f9dbc4bbe943","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/nat_ops/package.json b/tests/production-export/production-coverage/packages/rust-std/nat_ops/package.json index 2f33bd72c..262512d04 100644 --- a/tests/production-export/production-coverage/packages/rust-std/nat_ops/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/nat_ops/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"nat_ops","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"body":{"body":{"condition":{"condition":{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"condition":{"kind":"prim","operands":[{"kind":"var","name":3},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_le"}},"else_branch":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"nat_lt"}}],"operation":{"kind":"bool_not"}},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}}},"else_branch":{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"var","name":3}],"operation":{"kind":"nat_mul"}},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"nat_sub"}},{"kind":"var","name":3}],"operation":{"kind":"nat_add"}}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},"kind":"let","name":3,"type":{"kind":"nat"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"7"}}],"operation":{"kind":"nat_quot"}},"kind":"let","name":2,"type":{"kind":"nat"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"nat_ops","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"body":{"body":{"condition":{"condition":{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"condition":{"kind":"prim","operands":[{"kind":"var","name":3},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_le"}},"else_branch":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"nat_lt"}}],"operation":{"kind":"bool_not"}},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}}},"else_branch":{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"var","name":3}],"operation":{"kind":"nat_mul"}},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"nat_sub"}},{"kind":"var","name":3}],"operation":{"kind":"nat_add"}}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_rem"}},"kind":"let","name":3,"type":{"kind":"nat"}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"7"}}],"operation":{"kind":"nat_quot"}},"kind":"let","name":2,"type":{"kind":"nat"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/nat_ops/provenance.json b/tests/production-export/production-coverage/packages/rust-std/nat_ops/provenance.json index c846f77fb..5c7d8c655 100644 --- a/tests/production-export/production-coverage/packages/rust-std/nat_ops/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/nat_ops/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"59cd8633f12e3fac8ffcf39b00cfe0eae72e66af298eab94fb7a158d60c11ef2","src/lib.rs":"5f05eb70ed8f42dc70c25bc003d949c109c60e5f9cacdcdd12a2b392d931ca7c"},"name":"nat_ops","profile":"rust-std","program":"7327b0d3e0e2b92c9e324f0b8f38bf8b9a4866af1fab582ce3cb3471b3faac1f","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"59cd8633f12e3fac8ffcf39b00cfe0eae72e66af298eab94fb7a158d60c11ef2","src/lib.rs":"5f05eb70ed8f42dc70c25bc003d949c109c60e5f9cacdcdd12a2b392d931ca7c"},"name":"nat_ops","profile":"rust-std","program":"7327b0d3e0e2b92c9e324f0b8f38bf8b9a4866af1fab582ce3cb3471b3faac1f","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/options/package.json b/tests/production-export/production-coverage/packages/rust-std/options/package.json index c4b69df8d..408787b3a 100644 --- a/tests/production-export/production-coverage/packages/rust-std/options/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/options/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"options","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"var","name":2},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},{"arms":[{"binders":[3],"body":{"kind":"var","name":3},"shape":{"kind":"ok"}},{"binders":[4],"body":{"condition":{"kind":"var","name":4},"else_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},"shape":{"kind":"error"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"nat"}}],"operation":{"kind":"nat_add"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"option","value":{"kind":"nat"}},{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"options","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"var","name":2},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},{"arms":[{"binders":[3],"body":{"kind":"var","name":3},"shape":{"kind":"ok"}},{"binders":[4],"body":{"condition":{"kind":"var","name":4},"else_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},"kind":"cond","then_branch":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}},"shape":{"kind":"error"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"nat"}}],"operation":{"kind":"nat_add"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"option","value":{"kind":"nat"}},{"error":{"kind":"bool"},"kind":"result","ok":{"kind":"nat"}}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/options/provenance.json b/tests/production-export/production-coverage/packages/rust-std/options/provenance.json index 9c5b1d9cf..69a0848de 100644 --- a/tests/production-export/production-coverage/packages/rust-std/options/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/options/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"7f0fac10f04b56539a18ecadc9ac9f95f1ceb9be06a3738695181aa3b6a2e9fd","src/lib.rs":"f4911d06380e55018526f1c48f5de31724916e3ebc587a7934519d70cf02bfb7"},"name":"options","profile":"rust-std","program":"1817e8488f6542ec7a9c65ee73a26b9b2ce35ef18dad904d897c9dded6e3cbf9","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"7f0fac10f04b56539a18ecadc9ac9f95f1ceb9be06a3738695181aa3b6a2e9fd","src/lib.rs":"f4911d06380e55018526f1c48f5de31724916e3ebc587a7934519d70cf02bfb7"},"name":"options","profile":"rust-std","program":"1817e8488f6542ec7a9c65ee73a26b9b2ce35ef18dad904d897c9dded6e3cbf9","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/pairs/package.json b/tests/production-export/production-coverage/packages/rust-std/pairs/package.json index d23a729c9..8781f0f98 100644 --- a/tests/production-export/production-coverage/packages/rust-std/pairs/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/pairs/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"pairs","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"first","value":{"kind":"var","name":0}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"pairs","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":0}},{"kind":"first","value":{"kind":"var","name":0}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"nat"}}},"parameters":[0],"result":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"nat"}},"types":[{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/pairs/provenance.json b/tests/production-export/production-coverage/packages/rust-std/pairs/provenance.json index 809c0d57d..3b2742a5c 100644 --- a/tests/production-export/production-coverage/packages/rust-std/pairs/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/pairs/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"a3dd557c4339d106e7e177364f68702e05259c1cdf7bcc15c6c3801657acecac","src/lib.rs":"23479ab66c4b197434b8b1193fdb3ab0c4ad64e05eda32f3f34a6d2a117dc842"},"name":"pairs","profile":"rust-std","program":"7d925a72d07005baaa5a9371f60e52199072e49139630af3348972394ef0539f","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"a3dd557c4339d106e7e177364f68702e05259c1cdf7bcc15c6c3801657acecac","src/lib.rs":"23479ab66c4b197434b8b1193fdb3ab0c4ad64e05eda32f3f34a6d2a117dc842"},"name":"pairs","profile":"rust-std","program":"7d925a72d07005baaa5a9371f60e52199072e49139630af3348972394ef0539f","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/parity/package.json b/tests/production-export/production-coverage/packages/rust-std/parity/package.json index 6990f4e13..df485589f 100644 --- a/tests/production-export/production-coverage/packages/rust-std/parity/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/parity/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"parity","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":1}]},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":1}]},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"parity","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":1}]},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"zero"}},{"binders":[1],"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":1}]},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/parity/provenance.json b/tests/production-export/production-coverage/packages/rust-std/parity/provenance.json index c83323186..40ccb537f 100644 --- a/tests/production-export/production-coverage/packages/rust-std/parity/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/parity/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"6eec599d19aab86b6e6c59ee909f6f5478461263e25000e7bc26f67766ef73df","src/lib.rs":"ee4df1540df0d5da7ff6c5b6892f04280f4e6353416665713ae22eb49034238e"},"name":"parity","profile":"rust-std","program":"d80d8fa87a73970b99d0429236be199dba9bdbb4207a8c64505ec3f999bc2775","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"6eec599d19aab86b6e6c59ee909f6f5478461263e25000e7bc26f67766ef73df","src/lib.rs":"ee4df1540df0d5da7ff6c5b6892f04280f4e6353416665713ae22eb49034238e"},"name":"parity","profile":"rust-std","program":"d80d8fa87a73970b99d0429236be199dba9bdbb4207a8c64505ec3f999bc2775","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/records/package.json b/tests/production-export/production-coverage/packages/rust-std/records/package.json index 422e4bcec..ec6196ba5 100644 --- a/tests/production-export/production-coverage/packages/rust-std/records/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/records/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"records","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":2}},{"index":1,"kind":"field","value":{"function":1,"kind":"call","operands":[]}}],"operation":{"kind":"nat_add"}},{"function":2,"kind":"call","operands":[{"kind":"build","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":2}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"bound":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"kind":"let","name":2,"type":{"index":0,"kind":"adt"}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}},"parameters":[],"result":{"index":2,"kind":"adt"},"types":[]},{"body":{"index":0,"kind":"field","value":{"kind":"var","name":0}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"records","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"kind":"nat"},{"kind":"nat"}]]},{"constructors":[[{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"index":0,"kind":"field","value":{"kind":"var","name":2}},{"index":1,"kind":"field","value":{"function":1,"kind":"call","operands":[]}}],"operation":{"kind":"nat_add"}},{"function":2,"kind":"call","operands":[{"kind":"build","operands":[{"index":1,"kind":"field","value":{"kind":"var","name":2}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":1,"kind":"adt"}}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"bound":{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"kind":"let","name":2,"type":{"index":0,"kind":"adt"}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":2,"kind":"adt"}},"parameters":[],"result":{"index":2,"kind":"adt"},"types":[]},{"body":{"index":0,"kind":"field","value":{"kind":"var","name":0}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/records/provenance.json b/tests/production-export/production-coverage/packages/rust-std/records/provenance.json index dc4f89a53..71e837952 100644 --- a/tests/production-export/production-coverage/packages/rust-std/records/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/records/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"75a1f2726772f72e4e3d6999f4a2e57d1b02c3dfada582fcf741f36a7e68aab8","src/lib.rs":"606a29cf73c0c31afe69443d0c19db59767e93145d66f86c8509216927a9893f"},"name":"records","profile":"rust-std","program":"f6c459c7f8163810d05bc43460cd394578f415d182096e2ad51dae6252d4f656","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"75a1f2726772f72e4e3d6999f4a2e57d1b02c3dfada582fcf741f36a7e68aab8","src/lib.rs":"606a29cf73c0c31afe69443d0c19db59767e93145d66f86c8509216927a9893f"},"name":"records","profile":"rust-std","program":"f6c459c7f8163810d05bc43460cd394578f415d182096e2ad51dae6252d4f656","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/rewrite/package.json b/tests/production-export/production-coverage/packages/rust-std/rewrite/package.json index 42da4c004..5736cc210 100644 --- a/tests/production-export/production-coverage/packages/rust-std/rewrite/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/rewrite/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"rewrite","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"}],[{"index":0,"kind":"adt"},{"index":0,"kind":"adt"}]]}],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":0,"kind":"adt"},"right":{"index":0,"kind":"adt"}}},"parameters":[0],"result":{"kind":"pair","left":{"index":0,"kind":"adt"},"right":{"index":0,"kind":"adt"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"arms":[{"binders":[1],"body":{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"shape":{"constructor":0,"kind":"adt"}},{"binders":[2,3],"body":{"arms":[{"binders":[4],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":4}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"function":1,"kind":"call","operands":[{"kind":"var","name":3}]}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"shape":{"constructor":0,"kind":"adt"}},{"binders":[5,6],"body":{"function":1,"kind":"call","operands":[{"kind":"build","operands":[{"kind":"var","name":5},{"kind":"build","operands":[{"kind":"var","name":6},{"kind":"var","name":3}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"shape":{"constructor":1,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"index":0,"kind":"adt"}},"shape":{"constructor":1,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"index":0,"kind":"adt"}},"parameters":[0],"result":{"index":0,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"arms":[{"binders":[1],"body":{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"shape":{"constructor":0,"kind":"adt"}},{"binders":[2,3],"body":{"arms":[{"binders":[4],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":3}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[5,6],"body":{"function":2,"kind":"call","operands":[{"kind":"build","operands":[{"kind":"var","name":5},{"kind":"var","name":3}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"shape":{"constructor":1,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"index":0,"kind":"adt"}},"shape":{"constructor":1,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"index":0,"kind":"adt"}},"parameters":[0],"result":{"index":0,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"rewrite","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"}],[{"index":0,"kind":"adt"},{"index":0,"kind":"adt"}]]}],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},{"function":2,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"index":0,"kind":"adt"},"right":{"index":0,"kind":"adt"}}},"parameters":[0],"result":{"kind":"pair","left":{"index":0,"kind":"adt"},"right":{"index":0,"kind":"adt"}},"types":[{"index":0,"kind":"adt"}]},{"body":{"arms":[{"binders":[1],"body":{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"shape":{"constructor":0,"kind":"adt"}},{"binders":[2,3],"body":{"arms":[{"binders":[4],"body":{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"var","name":4}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"function":1,"kind":"call","operands":[{"kind":"var","name":3}]}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"shape":{"constructor":0,"kind":"adt"}},{"binders":[5,6],"body":{"function":1,"kind":"call","operands":[{"kind":"build","operands":[{"kind":"var","name":5},{"kind":"build","operands":[{"kind":"var","name":6},{"kind":"var","name":3}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"shape":{"constructor":1,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"index":0,"kind":"adt"}},"shape":{"constructor":1,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"index":0,"kind":"adt"}},"parameters":[0],"result":{"index":0,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]},{"body":{"arms":[{"binders":[1],"body":{"kind":"build","operands":[{"kind":"var","name":1}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},"shape":{"constructor":0,"kind":"adt"}},{"binders":[2,3],"body":{"arms":[{"binders":[4],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":3}]},"shape":{"constructor":0,"kind":"adt"}},{"binders":[5,6],"body":{"function":2,"kind":"call","operands":[{"kind":"build","operands":[{"kind":"var","name":5},{"kind":"var","name":3}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"shape":{"constructor":1,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"index":0,"kind":"adt"}},"shape":{"constructor":1,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"index":0,"kind":"adt"}},"parameters":[0],"result":{"index":0,"kind":"adt"},"types":[{"index":0,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/rewrite/provenance.json b/tests/production-export/production-coverage/packages/rust-std/rewrite/provenance.json index ebb11a32b..687469142 100644 --- a/tests/production-export/production-coverage/packages/rust-std/rewrite/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/rewrite/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"385a04bfd361768612fff077142ae59ca5552088bdc4df6d2c920d7079d5b569","src/lib.rs":"b5db01a7608d311f4b632fa5cc1d0bfacd05b2be85c939bf570ade65ba6b66b7"},"name":"rewrite","profile":"rust-std","program":"696084d3a568dde72c41261e20eb3e6dfc3055d9f56ddb2a9980a5b1eb061f89","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"385a04bfd361768612fff077142ae59ca5552088bdc4df6d2c920d7079d5b569","src/lib.rs":"b5db01a7608d311f4b632fa5cc1d0bfacd05b2be85c939bf570ade65ba6b66b7"},"name":"rewrite","profile":"rust-std","program":"696084d3a568dde72c41261e20eb3e6dfc3055d9f56ddb2a9980a5b1eb061f89","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/rose_total/package.json b/tests/production-export/production-coverage/packages/rust-std/rose_total/package.json index b52ac4af5..e915e6017 100644 --- a/tests/production-export/production-coverage/packages/rust-std/rose_total/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/rose_total/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"rose_total","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"},{"element":{"index":0,"kind":"adt"},"kind":"list"}]]}],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[1,2],"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"function":2,"kind":"call","operands":[{"kind":"var","name":2}]}],"operation":{"kind":"nat_add"}},"shape":{"constructor":0,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"kind":"prim","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":1}]},{"function":2,"kind":"call","operands":[{"kind":"var","name":2}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"element":{"index":0,"kind":"adt"},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"rose_total","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"},{"element":{"index":0,"kind":"adt"},"kind":"list"}]]}],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"build","operands":[{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"index":0,"kind":"adt"},"kind":"list"}}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[1,2],"body":{"kind":"prim","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"function":2,"kind":"call","operands":[{"kind":"var","name":2}]}],"operation":{"kind":"nat_add"}},"shape":{"constructor":0,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"kind":"prim","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":1}]},{"function":2,"kind":"call","operands":[{"kind":"var","name":2}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"element":{"index":0,"kind":"adt"},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/rose_total/provenance.json b/tests/production-export/production-coverage/packages/rust-std/rose_total/provenance.json index 943852e1e..06172d390 100644 --- a/tests/production-export/production-coverage/packages/rust-std/rose_total/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/rose_total/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"c0dc72188af676095b448d956e1239b374cac42b1af2de7e858291cbf5383863","src/lib.rs":"eb06a93dae2396dc20bd68830ea3f1742d699edfbbd07eac4dcd62ce7ee7db6d"},"name":"rose_total","profile":"rust-std","program":"023b87970dcc71c4e8be45aa676e75b9db5753e3da5f8ac416891d595dca8b41","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"c0dc72188af676095b448d956e1239b374cac42b1af2de7e858291cbf5383863","src/lib.rs":"eb06a93dae2396dc20bd68830ea3f1742d699edfbbd07eac4dcd62ce7ee7db6d"},"name":"rose_total","profile":"rust-std","program":"023b87970dcc71c4e8be45aa676e75b9db5753e3da5f8ac416891d595dca8b41","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/sequences/package.json b/tests/production-export/production-coverage/packages/rust-std/sequences/package.json index eb92b4675..1094b424c 100644 --- a/tests/production-export/production-coverage/packages/rust-std/sequences/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/sequences/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own","own"]}],"name":"sequences","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"operation":{"kind":"append"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"0a","kind":"bytes"}}],"operation":{"kind":"append"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"length"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"index"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"index"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"slice"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"var","name":2}],"operation":{"kind":"slice"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"","kind":"bytes"}}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"equal"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"operation":{"kind":"equal"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"bytes"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"bytes"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"bytes"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"bytes"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"bytes"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bytes"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"bytes"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"bytes"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"bytes"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"bytes"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"bytes"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}}}}}}},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"bytes"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own","own"]}],"name":"sequences","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"build","operands":[{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"operation":{"kind":"append"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"0a","kind":"bytes"}}],"operation":{"kind":"append"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"length"}},{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}}],"operation":{"kind":"nat_add"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2}],"operation":{"kind":"index"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"index"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":2},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"slice"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"var","name":2}],"operation":{"kind":"slice"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"","kind":"bytes"}}],"operation":{"kind":"equal"}},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"equal"}},{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}}],"operation":{"kind":"equal"}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"bytes"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"bytes"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"bytes"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"bytes"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"bytes"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bytes"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"bytes"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"bytes"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"bytes"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"bytes"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"nat"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"fixed","width":"u8"}},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"nat"},"kind":"list"}},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"bytes"}},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"bool"}}}}}}}}},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"bytes"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/sequences/provenance.json b/tests/production-export/production-coverage/packages/rust-std/sequences/provenance.json index 465e39c22..ee1e0e145 100644 --- a/tests/production-export/production-coverage/packages/rust-std/sequences/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/sequences/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"aa7298676d2c7b758270edff2ce45121c53239621d97fb162008201032ddfdeb","src/lib.rs":"8bd41d630b6aba27bb4e3ac28bf351ce079193639a4a6de2270bd0b3f63714f9"},"name":"sequences","profile":"rust-std","program":"c01fc096fdf4c89e91adb6928197ce32bcb7e42426af0487546f4edc98fd3702","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"aa7298676d2c7b758270edff2ce45121c53239621d97fb162008201032ddfdeb","src/lib.rs":"8bd41d630b6aba27bb4e3ac28bf351ce079193639a4a6de2270bd0b3f63714f9"},"name":"sequences","profile":"rust-std","program":"c01fc096fdf4c89e91adb6928197ce32bcb7e42426af0487546f4edc98fd3702","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/set_ops/package.json b/tests/production-export/production-coverage/packages/rust-std/set_ops/package.json index 78e7e503d..b1d30b799 100644 --- a/tests/production-export/production-coverage/packages/rust-std/set_ops/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/set_ops/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":11,"name":"run","parameters":["own","own","own"]}],"name":"set_ops","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},{"kind":"build","operands":[{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},{"kind":"build","operands":[{"function":4,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},{"kind":"build","operands":[{"function":6,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},{"kind":"build","operands":[{"function":8,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"length"}},{"kind":"var","name":0}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}}}}}}}},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":2,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":4,"kind":"call","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},{"kind":"var","name":3}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":5,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"var","name":2}]},"else_branch":{"function":6,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2},{"function":6,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":7,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"var","name":2}]},"else_branch":{"kind":"build","operands":[{"kind":"var","name":2},{"function":8,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"kind":"cond","then_branch":{"function":8,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":9,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":10,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}}}}}}}}}},"kind":"cond","then_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}}}}}}}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":0,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":2}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"option","value":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}}}}}}}}},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":11,"name":"run","parameters":["own","own","own"]}],"name":"set_ops","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},{"kind":"build","operands":[{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},{"kind":"build","operands":[{"function":4,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},{"kind":"build","operands":[{"function":6,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},{"kind":"build","operands":[{"function":8,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"length"}},{"kind":"var","name":0}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}}}}}}}},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":1,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":2,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":3,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":4,"kind":"call","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2}]},{"kind":"var","name":3}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":5,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"condition":{"function":7,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"var","name":2}]},"else_branch":{"function":6,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":2},{"function":6,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":7,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"nat"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"condition":{"function":9,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"var","name":2}]},"else_branch":{"kind":"build","operands":[{"kind":"var","name":2},{"function":8,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"nat"},"kind":"list"}},"kind":"cond","then_branch":{"function":8,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"nat"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"nat"},"kind":"list"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":9,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":10,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}}}}}}}}}},"kind":"cond","then_branch":{"condition":{"function":10,"kind":"call","operands":[{"kind":"var","name":1}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}}}}}}}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":0,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":2}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}}}}}}}}}}}},"parameters":[0,1,2],"result":{"kind":"option","value":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"bool"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"element":{"kind":"nat"},"kind":"list"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"element":{"kind":"nat"},"kind":"list"}}}}}}}}},"types":[{"element":{"kind":"nat"},"kind":"list"},{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/set_ops/provenance.json b/tests/production-export/production-coverage/packages/rust-std/set_ops/provenance.json index 63fc94874..b6257bdc9 100644 --- a/tests/production-export/production-coverage/packages/rust-std/set_ops/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/set_ops/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":11,"name":"run"}],"files":{"Cargo.toml":"9cef623c27ac72b79e5d3195d80b594d76fe1a759d11955b293aa0332d7e27c9","src/lib.rs":"4ee0aced9c00e80999f82926c6c5479cb207c9f302457058066a7c59561f8be0"},"name":"set_ops","profile":"rust-std","program":"ff65cb9f421e37305a20ed392f155a0aabde61713d63520082effd9e2006231d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":11,"name":"run"}],"files":{"Cargo.toml":"9cef623c27ac72b79e5d3195d80b594d76fe1a759d11955b293aa0332d7e27c9","src/lib.rs":"4ee0aced9c00e80999f82926c6c5479cb207c9f302457058066a7c59561f8be0"},"name":"set_ops","profile":"rust-std","program":"ff65cb9f421e37305a20ed392f155a0aabde61713d63520082effd9e2006231d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/shapes/package.json b/tests/production-export/production-coverage/packages/rust-std/shapes/package.json index fbd0feb6f..cb1aa494a 100644 --- a/tests/production-export/production-coverage/packages/rust-std/shapes/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/shapes/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"shapes","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"}],[{"kind":"nat"},{"kind":"nat"}],[]]}],"functions":[{"body":{"kind":"prim","operands":[{"function":1,"kind":"call","operands":[{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},{"kind":"prim","operands":[{"function":1,"kind":"call","operands":[{"kind":"build","operands":[{"kind":"var","name":0}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},{"function":1,"kind":"call","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":1}],"operation":{"kind":"nat_mul"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_mul"}},"shape":{"constructor":0,"kind":"adt"}},{"binders":[2,3],"body":{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"var","name":3}],"operation":{"kind":"nat_mul"}},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"constructor":2,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"shapes","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"}],[{"kind":"nat"},{"kind":"nat"}],[]]}],"functions":[{"body":{"kind":"prim","operands":[{"function":1,"kind":"call","operands":[{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},{"kind":"prim","operands":[{"function":1,"kind":"call","operands":[{"kind":"build","operands":[{"kind":"var","name":0}],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},{"function":1,"kind":"call","operands":[{"kind":"build","operands":[],"shape":{"constructor":2,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_add"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":1}],"operation":{"kind":"nat_mul"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_mul"}},"shape":{"constructor":0,"kind":"adt"}},{"binders":[2,3],"body":{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"var","name":3}],"operation":{"kind":"nat_mul"}},"shape":{"constructor":1,"kind":"adt"}},{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"constructor":2,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/shapes/provenance.json b/tests/production-export/production-coverage/packages/rust-std/shapes/provenance.json index 1d5c1a37a..ba61cf434 100644 --- a/tests/production-export/production-coverage/packages/rust-std/shapes/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/shapes/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"9f2da6540473eb8c30328ec5522a3a0d931e34392c6720ac9842e96878fa8fd5","src/lib.rs":"b91119bec609c3dc5e31503329b9427d2589ee8baa289f5b2a14301fc2d685e5"},"name":"shapes","profile":"rust-std","program":"05293367c4a6e86e29d41974b883426e97957fbbc411382de01e1da3e41879c8","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"9f2da6540473eb8c30328ec5522a3a0d931e34392c6720ac9842e96878fa8fd5","src/lib.rs":"b91119bec609c3dc5e31503329b9427d2589ee8baa289f5b2a14301fc2d685e5"},"name":"shapes","profile":"rust-std","program":"05293367c4a6e86e29d41974b883426e97957fbbc411382de01e1da3e41879c8","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/string_graph/package.json b/tests/production-export/production-coverage/packages/rust-std/string_graph/package.json index f8ba5ca96..cb7d11b92 100644 --- a/tests/production-export/production-coverage/packages/rust-std/string_graph/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/string_graph/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":15,"name":"run","parameters":["own"]}],"name":"string_graph","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"parameters":[0],"result":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"}]},{"body":{"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"string"},"kind":"list"}}]},"bound":{"function":6,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"string"},"kind":"list"}}]},"kind":"let","name":1,"type":{"element":{"kind":"string"},"kind":"list"}},"parameters":[0],"result":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"string"},"kind":"list"}}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[4,5],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}},"shape":{"kind":"zero"}},{"binders":[6],"body":{"arms":[{"binders":[],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"string"},"kind":"list"}}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[7,8],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[9,10],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":6},{"function":12,"kind":"call","operands":[{"kind":"var","name":2},{"kind":"var","name":9}]},{"kind":"build","operands":[{"kind":"var","name":9},{"kind":"var","name":3}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2},{"kind":"var","name":2}]},"type":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}},"parameters":[0,1,2,3],"result":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"},{"kind":"nat"},{"element":{"kind":"string"},"kind":"list"},{"element":{"kind":"string"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"function":4,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":1}]},"else_branch":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":4}]},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":3},{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":4}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"kind":"string"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"kind":"string"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"},{"element":{"kind":"string"},"kind":"list"},{"element":{"kind":"string"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"function":11,"kind":"call","operands":[{"function":9,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3}]},{"kind":"var","name":1}]},"else_branch":{"function":4,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":4}]},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}},"parameters":[0,1,2],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"},{"kind":"string"},{"element":{"kind":"string"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":5,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"var","name":1}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"string"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"string"},"kind":"list"},"types":[{"element":{"kind":"string"},"kind":"list"},{"element":{"kind":"string"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":6,"kind":"call","operands":[{"kind":"var","name":3},{"function":7,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":2}},{"function":8,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}]}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"string"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"string"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"},{"element":{"kind":"string"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":7,"kind":"call","operands":[{"kind":"var","name":3},{"function":8,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"var","name":2}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"string"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"string"},"kind":"list"},"types":[{"element":{"kind":"string"},"kind":"list"},{"element":{"kind":"string"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"string"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":8,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"string"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"string"},"kind":"list"},"types":[{"element":{"kind":"string"},"kind":"list"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"var","name":2},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":10,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"element":{"kind":"string"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"string"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":10,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}},"parameters":[0,1],"result":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":11,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"string"},"kind":"list"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":12,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"string"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"string"},"kind":"list"},"types":[{"element":{"kind":"string"},"kind":"list"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":14,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":1}}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":13,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":14,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"string"},"kind":"list"}]},{"body":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":0,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":15,"name":"run","parameters":["own"]}],"name":"string_graph","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"parameters":[0],"result":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"}]},{"body":{"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1}],"operation":{"kind":"length"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"string"},"kind":"list"}}]},"bound":{"function":6,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"string"},"kind":"list"}}]},"kind":"let","name":1,"type":{"element":{"kind":"string"},"kind":"list"}},"parameters":[0],"result":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"string"},"kind":"list"}}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[4,5],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}},"shape":{"kind":"zero"}},{"binders":[6],"body":{"arms":[{"binders":[],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"function":5,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"string"},"kind":"list"}}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[7,8],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[9,10],"body":{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":6},{"function":12,"kind":"call","operands":[{"kind":"var","name":2},{"kind":"var","name":9}]},{"kind":"build","operands":[{"kind":"var","name":9},{"kind":"var","name":3}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":2},{"kind":"var","name":2}]},"type":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}},"shape":{"kind":"succ"}}],"kind":"match","scrutinee":{"kind":"var","name":1},"type":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}},"parameters":[0,1,2,3],"result":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"},{"kind":"nat"},{"element":{"kind":"string"},"kind":"list"},{"element":{"kind":"string"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"function":4,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3},{"kind":"var","name":1}]},"else_branch":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":4}]},"kind":"cond","then_branch":{"kind":"build","operands":[{"kind":"var","name":3},{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":4}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"element":{"kind":"string"},"kind":"list"}},"parameters":[0,1,2],"result":{"element":{"kind":"string"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"},{"element":{"kind":"string"},"kind":"list"},{"element":{"kind":"string"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"function":11,"kind":"call","operands":[{"function":9,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":3}]},{"kind":"var","name":1}]},"else_branch":{"function":4,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"var","name":4}]},"kind":"cond","then_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}},"parameters":[0,1,2],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"},{"kind":"string"},{"element":{"kind":"string"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":5,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"var","name":1}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"string"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"string"},"kind":"list"},"types":[{"element":{"kind":"string"},"kind":"list"},{"element":{"kind":"string"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":6,"kind":"call","operands":[{"kind":"var","name":3},{"function":7,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":2}},{"function":8,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}]}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"string"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"string"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"},{"element":{"kind":"string"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"function":7,"kind":"call","operands":[{"kind":"var","name":3},{"function":8,"kind":"call","operands":[{"kind":"var","name":1},{"kind":"var","name":2}]}]},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"string"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"string"},"kind":"list"},"types":[{"element":{"kind":"string"},"kind":"list"},{"element":{"kind":"string"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"string"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":1},{"kind":"var","name":0}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":8,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"string"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"string"},"kind":"list"},"types":[{"element":{"kind":"string"},"kind":"list"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"none"}},{"binders":[2],"body":{"kind":"var","name":2},"shape":{"kind":"some"}}],"kind":"match","scrutinee":{"function":10,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},"type":{"element":{"kind":"string"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"string"},"kind":"list"},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"second","value":{"kind":"var","name":2}}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":10,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"first","value":{"kind":"var","name":2}}],"operation":{"kind":"compare"}},"type":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}},"parameters":[0,1],"result":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"function":11,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0,1],"result":{"kind":"bool"},"types":[{"element":{"kind":"string"},"kind":"list"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"arms":[{"binders":[],"body":{"kind":"var","name":0},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"var","name":3},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[{"kind":"var","name":2},{"function":12,"kind":"call","operands":[{"kind":"var","name":3},{"kind":"var","name":1}]}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"compare"}},"type":{"element":{"kind":"string"},"kind":"list"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"element":{"kind":"string"},"kind":"list"}},"parameters":[0,1],"result":{"element":{"kind":"string"},"kind":"list"},"types":[{"element":{"kind":"string"},"kind":"list"},{"kind":"string"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"condition":{"function":14,"kind":"call","operands":[{"kind":"second","value":{"kind":"var","name":1}}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"first","value":{"kind":"var","name":1}},{"kind":"first","value":{"kind":"var","name":3}}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":13,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"nil"}},{"binders":[3,4],"body":{"condition":{"arms":[{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"true"},"type":{"kind":"bool"}},"shape":{"kind":"lt"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"eq"}},{"binders":[],"body":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"shape":{"kind":"gt"}}],"kind":"match","scrutinee":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":3}],"operation":{"kind":"compare"}},"type":{"kind":"bool"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"function":14,"kind":"call","operands":[{"kind":"var","name":2}]}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":2},"type":{"kind":"bool"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"bool"}},"parameters":[0],"result":{"kind":"bool"},"types":[{"element":{"kind":"string"},"kind":"list"}]},{"body":{"condition":{"function":13,"kind":"call","operands":[{"kind":"var","name":0}]},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"none"},"type":{"kind":"option","value":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}}},"kind":"cond","then_branch":{"kind":"build","operands":[{"function":0,"kind":"call","operands":[{"kind":"var","name":0}]}],"shape":{"kind":"some"},"type":{"kind":"option","value":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}}}},"parameters":[0],"result":{"kind":"option","value":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}}},"types":[{"element":{"kind":"pair","left":{"kind":"string"},"right":{"element":{"kind":"string"},"kind":"list"}},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/string_graph/provenance.json b/tests/production-export/production-coverage/packages/rust-std/string_graph/provenance.json index 8bbb8112d..270dcbc62 100644 --- a/tests/production-export/production-coverage/packages/rust-std/string_graph/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/string_graph/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":15,"name":"run"}],"files":{"Cargo.toml":"8309d0c12333a77366606152fa5e7fe1e3557cbadf25b7bb1c65141f372c670f","src/lib.rs":"39b5a659c4e5b22ffb198a522eadd0c384d9c68b778d62c00d6acd3a406b10b2"},"name":"string_graph","profile":"rust-std","program":"bbf596ebb9eca8da32bc60cf81d5aed9f971a815f74ed865dc65f5b5acd7c475","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":15,"name":"run"}],"files":{"Cargo.toml":"8309d0c12333a77366606152fa5e7fe1e3557cbadf25b7bb1c65141f372c670f","src/lib.rs":"39b5a659c4e5b22ffb198a522eadd0c384d9c68b778d62c00d6acd3a406b10b2"},"name":"string_graph","profile":"rust-std","program":"bbf596ebb9eca8da32bc60cf81d5aed9f971a815f74ed865dc65f5b5acd7c475","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/syntax_total/package.json b/tests/production-export/production-coverage/packages/rust-std/syntax_total/package.json index 6940e9034..9dcee30cc 100644 --- a/tests/production-export/production-coverage/packages/rust-std/syntax_total/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/syntax_total/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"syntax_total","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"}],[{"index":0,"kind":"adt"},{"index":0,"kind":"adt"}],[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"index":0,"kind":"adt"}]]},{"constructors":[[{"kind":"string"},{"index":0,"kind":"adt"}],[{"index":1,"kind":"adt"},{"index":1,"kind":"adt"}]]}],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]},{"body":{"arms":[{"binders":[1],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},"shape":{"constructor":0,"kind":"adt"}},{"binders":[2,3],"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":2}]},{"function":1,"kind":"call","operands":[{"kind":"var","name":3}]}],"operation":{"kind":"nat_add"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"shape":{"constructor":1,"kind":"adt"}},{"binders":[4,5],"body":{"kind":"prim","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":4}]},{"function":1,"kind":"call","operands":[{"kind":"var","name":5}]}],"operation":{"kind":"nat_add"}},"shape":{"constructor":2,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"kind":"prim","operands":[{"function":3,"kind":"call","operands":[{"kind":"var","name":1}]},{"function":2,"kind":"call","operands":[{"kind":"var","name":2}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"element":{"index":1,"kind":"adt"},"kind":"list"}]},{"body":{"arms":[{"binders":[1,2],"body":{"kind":"prim","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":2}]},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"shape":{"constructor":0,"kind":"adt"}},{"binders":[3,4],"body":{"kind":"prim","operands":[{"function":3,"kind":"call","operands":[{"kind":"var","name":3}]},{"function":3,"kind":"call","operands":[{"kind":"var","name":4}]}],"operation":{"kind":"nat_add"}},"shape":{"constructor":1,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"syntax_total","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"}],[{"index":0,"kind":"adt"},{"index":0,"kind":"adt"}],[{"element":{"index":1,"kind":"adt"},"kind":"list"},{"index":0,"kind":"adt"}]]},{"constructors":[[{"kind":"string"},{"index":0,"kind":"adt"}],[{"index":1,"kind":"adt"},{"index":1,"kind":"adt"}]]}],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]},{"body":{"arms":[{"binders":[1],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}},"shape":{"constructor":0,"kind":"adt"}},{"binders":[2,3],"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":2}]},{"function":1,"kind":"call","operands":[{"kind":"var","name":3}]}],"operation":{"kind":"nat_add"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"shape":{"constructor":1,"kind":"adt"}},{"binders":[4,5],"body":{"kind":"prim","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":4}]},{"function":1,"kind":"call","operands":[{"kind":"var","name":5}]}],"operation":{"kind":"nat_add"}},"shape":{"constructor":2,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"kind":"prim","operands":[{"function":3,"kind":"call","operands":[{"kind":"var","name":1}]},{"function":2,"kind":"call","operands":[{"kind":"var","name":2}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"element":{"index":1,"kind":"adt"},"kind":"list"}]},{"body":{"arms":[{"binders":[1,2],"body":{"kind":"prim","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":2}]},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},"shape":{"constructor":0,"kind":"adt"}},{"binders":[3,4],"body":{"kind":"prim","operands":[{"function":3,"kind":"call","operands":[{"kind":"var","name":3}]},{"function":3,"kind":"call","operands":[{"kind":"var","name":4}]}],"operation":{"kind":"nat_add"}},"shape":{"constructor":1,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":1,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/syntax_total/provenance.json b/tests/production-export/production-coverage/packages/rust-std/syntax_total/provenance.json index c9632831b..6037c83b1 100644 --- a/tests/production-export/production-coverage/packages/rust-std/syntax_total/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/syntax_total/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"3af3d260c8a7a536d3b4356bf86216ede694c8c1a9c668e89673e25e9e784112","src/lib.rs":"4eff2069f487785324288a06eac2ec67807eeef02564e7b6796656aa84f6f349"},"name":"syntax_total","profile":"rust-std","program":"0b283960a85e885aef98cffde5a37a5840fe6905cb960332eb57755a9f588e7b","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"3af3d260c8a7a536d3b4356bf86216ede694c8c1a9c668e89673e25e9e784112","src/lib.rs":"4eff2069f487785324288a06eac2ec67807eeef02564e7b6796656aa84f6f349"},"name":"syntax_total","profile":"rust-std","program":"0b283960a85e885aef98cffde5a37a5840fe6905cb960332eb57755a9f588e7b","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/text/package.json b/tests/production-export/production-coverage/packages/rust-std/text/package.json index e1a33e877..7bd7498ca 100644 --- a/tests/production-export/production-coverage/packages/rust-std/text/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/text/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"text","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":2}],"operation":{"kind":"utf8_decode"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"00ff","kind":"bytes"}}],"operation":{"kind":"compare_bytes"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"4"}}],"operation":{"kind":"split_exact"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"build","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"x\"y"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"string"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}},{"kind":"var","name":1}],"operation":{"kind":"join"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"length"}},{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"var","name":2}],"operation":{"kind":"compare_bytes"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"","kind":"bytes"}},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"01","kind":"bytes"}}],"operation":{"kind":"compare_bytes"}}],"operation":{"kind":"equal"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"right":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"ordering"},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"right":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"string"}},"right":{"kind":"pair","left":{"kind":"ordering"},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"right":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bytes"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"string"}},"right":{"kind":"pair","left":{"kind":"ordering"},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"right":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}}}}}}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"utf8_encode"}},"kind":"let","name":2,"type":{"kind":"bytes"}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"bytes"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"string"}},"right":{"kind":"pair","left":{"kind":"ordering"},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"right":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}}}}}},"types":[{"kind":"string"},{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"text","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"body":{"kind":"build","operands":[{"kind":"var","name":2},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":2}],"operation":{"kind":"utf8_decode"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"00ff","kind":"bytes"}}],"operation":{"kind":"compare_bytes"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1},{"kind":"value","type":{"kind":"fixed","width":"u32"},"value":{"kind":"u32","value":"4"}}],"operation":{"kind":"split_exact"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"build","operands":[{"kind":"value","type":{"kind":"string"},"value":{"kind":"string","value":"x\"y"}},{"kind":"build","operands":[],"shape":{"kind":"nil"},"type":{"element":{"kind":"string"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}}],"shape":{"kind":"cons"},"type":{"element":{"kind":"string"},"kind":"list"}},{"kind":"var","name":1}],"operation":{"kind":"join"}},{"kind":"build","operands":[{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"length"}},{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"equal"}},"else_branch":{"kind":"build","operands":[],"shape":{"kind":"false"},"type":{"kind":"bool"}},"kind":"cond","then_branch":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"var","name":2}],"operation":{"kind":"compare_bytes"}},{"kind":"prim","operands":[{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"","kind":"bytes"}},{"kind":"value","type":{"kind":"bytes"},"value":{"hex":"01","kind":"bytes"}}],"operation":{"kind":"compare_bytes"}}],"operation":{"kind":"equal"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"right":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"ordering"},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"right":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"option","value":{"kind":"string"}},"right":{"kind":"pair","left":{"kind":"ordering"},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"right":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}}}}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"bytes"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"string"}},"right":{"kind":"pair","left":{"kind":"ordering"},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"right":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}}}}}}},"bound":{"kind":"prim","operands":[{"kind":"var","name":0}],"operation":{"kind":"utf8_encode"}},"kind":"let","name":2,"type":{"kind":"bytes"}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"bytes"},"right":{"kind":"pair","left":{"kind":"option","value":{"kind":"string"}},"right":{"kind":"pair","left":{"kind":"ordering"},"right":{"kind":"pair","left":{"kind":"option","value":{"element":{"kind":"string"},"kind":"list"}},"right":{"kind":"pair","left":{"kind":"string"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"bool"}}}}}}},"types":[{"kind":"string"},{"kind":"string"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/text/provenance.json b/tests/production-export/production-coverage/packages/rust-std/text/provenance.json index 89f177ecb..17aceedeb 100644 --- a/tests/production-export/production-coverage/packages/rust-std/text/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/text/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"85db331d2126ced03d3a6263139dbbca63768a36da3535c353c177a56d64ee63","src/lib.rs":"b05d4565bd2dc0d31ae405d3fb2a6e9f04e34d04b88b72eb6ca8d0e55fca832b"},"name":"text","profile":"rust-std","program":"54080023d9f656975c8d23e285159c2f80184d9c38941ebdeb9b115207eaea0f","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"85db331d2126ced03d3a6263139dbbca63768a36da3535c353c177a56d64ee63","src/lib.rs":"b05d4565bd2dc0d31ae405d3fb2a6e9f04e34d04b88b72eb6ca8d0e55fca832b"},"name":"text","profile":"rust-std","program":"54080023d9f656975c8d23e285159c2f80184d9c38941ebdeb9b115207eaea0f","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/tree_total/package.json b/tests/production-export/production-coverage/packages/rust-std/tree_total/package.json index ca326d680..374324bee 100644 --- a/tests/production-export/production-coverage/packages/rust-std/tree_total/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/tree_total/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"tree_total","profile":"rust-std","program":{"adts":[{"constructors":[[],[{"index":0,"kind":"adt"},{"kind":"nat"},{"index":0,"kind":"adt"}]]}],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"kind":"var","name":0},{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}},{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"constructor":0,"kind":"adt"}},{"binders":[1,2,3],"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":1}]},{"kind":"var","name":2}],"operation":{"kind":"nat_add"}},{"function":1,"kind":"call","operands":[{"kind":"var","name":3}]}],"operation":{"kind":"nat_add"}},"shape":{"constructor":1,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"tree_total","profile":"rust-std","program":{"adts":[{"constructors":[[],[{"index":0,"kind":"adt"},{"kind":"nat"},{"index":0,"kind":"adt"}]]}],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"kind":"var","name":0},{"kind":"build","operands":[{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"5"}},{"kind":"build","operands":[],"shape":{"constructor":0,"kind":"adt"},"type":{"index":0,"kind":"adt"}}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"constructor":0,"kind":"adt"}},{"binders":[1,2,3],"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":1}]},{"kind":"var","name":2}],"operation":{"kind":"nat_add"}},{"function":1,"kind":"call","operands":[{"kind":"var","name":3}]}],"operation":{"kind":"nat_add"}},"shape":{"constructor":1,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/tree_total/provenance.json b/tests/production-export/production-coverage/packages/rust-std/tree_total/provenance.json index 433abb414..1c2bd297b 100644 --- a/tests/production-export/production-coverage/packages/rust-std/tree_total/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/tree_total/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ae25e88a1e094fbdd0952114f0621e20767e9394b73815fcd4da238711b33c78","src/lib.rs":"58120ca1ac6217d63c5969d6f5314d526b4b340e11d5dc6886af1f2296b33375"},"name":"tree_total","profile":"rust-std","program":"43b6eedb7829b3598a29348c532e07d70295631eb2650df5de98d38c3daccb35","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ae25e88a1e094fbdd0952114f0621e20767e9394b73815fcd4da238711b33c78","src/lib.rs":"58120ca1ac6217d63c5969d6f5314d526b4b340e11d5dc6886af1f2296b33375"},"name":"tree_total","profile":"rust-std","program":"43b6eedb7829b3598a29348c532e07d70295631eb2650df5de98d38c3daccb35","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/well_founded/package.json b/tests/production-export/production-coverage/packages/rust-std/well_founded/package.json index e653d8cbf..bd2e6e24f 100644 --- a/tests/production-export/production-coverage/packages/rust-std/well_founded/package.json +++ b/tests/production-export/production-coverage/packages/rust-std/well_founded/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"well_founded","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}]},{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"var","name":1}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"function":1,"kind":"call","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_sub"}},{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}]},"kind":"cond","then_branch":{"kind":"var","name":1}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"nat_lt"}},"else_branch":{"function":2,"kind":"call","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"nat_sub"}},{"kind":"var","name":1}]},"kind":"cond","then_branch":{"kind":"var","name":0}},"kind":"cond","then_branch":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"var","name":2},"kind":"cond","then_branch":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}},"else_branch":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"var","name":2}]},"kind":"cond","then_branch":{"kind":"var","name":1}}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"well_founded","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"build","operands":[{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}]},{"kind":"build","operands":[{"function":2,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"var","name":1}]},{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},{"kind":"var","name":1}]}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}],"shape":{"kind":"pair"},"type":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}}},"parameters":[0,1],"result":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"pair","left":{"kind":"nat"},"right":{"kind":"nat"}}},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"function":1,"kind":"call","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_sub"}},{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}]},"kind":"cond","then_branch":{"kind":"var","name":1}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}],"operation":{"kind":"nat_eq"}},"else_branch":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"nat_lt"}},"else_branch":{"function":2,"kind":"call","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"nat_sub"}},{"kind":"var","name":1}]},"kind":"cond","then_branch":{"kind":"var","name":0}},"kind":"cond","then_branch":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":2}],"operation":{"kind":"nat_lt"}},"else_branch":{"kind":"var","name":2},"kind":"cond","then_branch":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":1}],"operation":{"kind":"nat_add"}}],"operation":{"kind":"nat_le"}},"else_branch":{"function":3,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}},{"kind":"var","name":2}]},"kind":"cond","then_branch":{"kind":"var","name":1}}},"parameters":[0,1,2],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production-coverage/packages/rust-std/well_founded/provenance.json b/tests/production-export/production-coverage/packages/rust-std/well_founded/provenance.json index 3a5d2ac70..356d2f546 100644 --- a/tests/production-export/production-coverage/packages/rust-std/well_founded/provenance.json +++ b/tests/production-export/production-coverage/packages/rust-std/well_founded/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"0c780ccff965ccc10faa78b2714b324aa2f72bb88aedc1f0632079faded0b0d8","src/lib.rs":"f7b88a805108f63fc65b351432801b4521e37655461926bc3f6b254896d38e62"},"name":"well_founded","profile":"rust-std","program":"a30548452b5811cfc83abdc547d7e93bbdfaf6ae193442225eed19b212b84e5d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["6cddd56cf041af764eeefdf9e95c897e42ff46d0aac91c403d74bfb275d429f1"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"0c780ccff965ccc10faa78b2714b324aa2f72bb88aedc1f0632079faded0b0d8","src/lib.rs":"f7b88a805108f63fc65b351432801b4521e37655461926bc3f6b254896d38e62"},"name":"well_founded","profile":"rust-std","program":"a30548452b5811cfc83abdc547d7e93bbdfaf6ae193442225eed19b212b84e5d","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["e371869b9b3ca32388daafe8348a6ca5e227987871bdeedb3f0c0ef7fa542732"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production/packages/rust-core/checked_sum/package.json b/tests/production-export/production/packages/rust-core/checked_sum/package.json index 502c1e97a..7a3005f89 100644 --- a/tests/production-export/production/packages/rust-core/checked_sum/package.json +++ b/tests/production-export/production/packages/rust-core/checked_sum/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"checked_sum","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"types":[{"kind":"fixed","width":"u32"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["7b8829e2cc52192864282f3d66903769af8ace0441753fb8f48220a68d194d15"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"checked_sum","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"types":[{"kind":"fixed","width":"u32"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production/packages/rust-core/checked_sum/provenance.json b/tests/production-export/production/packages/rust-core/checked_sum/provenance.json index 4897d1fca..54e492c38 100644 --- a/tests/production-export/production/packages/rust-core/checked_sum/provenance.json +++ b/tests/production-export/production/packages/rust-core/checked_sum/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"d2642abd4556782d8a017a0a6b2cfb4bdec3858040ce0f535f3a44d5dcf9de6a","src/lib.rs":"9b5570739b12d66a09de99dcdadc4cd439838b21c543e654417a6dba78f0aba6"},"name":"checked_sum","profile":"rust-core","program":"938b367cd5b23f8fb66adc8d4520333ff0e34954395668d2e3b072af86ad3216","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["7b8829e2cc52192864282f3d66903769af8ace0441753fb8f48220a68d194d15"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"d2642abd4556782d8a017a0a6b2cfb4bdec3858040ce0f535f3a44d5dcf9de6a","src/lib.rs":"9b5570739b12d66a09de99dcdadc4cd439838b21c543e654417a6dba78f0aba6"},"name":"checked_sum","profile":"rust-core","program":"938b367cd5b23f8fb66adc8d4520333ff0e34954395668d2e3b072af86ad3216","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production/packages/rust-core/halvings/package.json b/tests/production-export/production/packages/rust-core/halvings/package.json index f7a27a2ae..370b9a50e 100644 --- a/tests/production-export/production/packages/rust-core/halvings/package.json +++ b/tests/production-export/production/packages/rust-core/halvings/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"halvings","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"function":1,"kind":"call","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_sub"}},{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}]},"kind":"cond","then_branch":{"kind":"var","name":1}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["7b8829e2cc52192864282f3d66903769af8ace0441753fb8f48220a68d194d15"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"halvings","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"function":1,"kind":"call","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_sub"}},{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}]},"kind":"cond","then_branch":{"kind":"var","name":1}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production/packages/rust-core/halvings/provenance.json b/tests/production-export/production/packages/rust-core/halvings/provenance.json index e7bea3517..975a54744 100644 --- a/tests/production-export/production/packages/rust-core/halvings/provenance.json +++ b/tests/production-export/production/packages/rust-core/halvings/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"5ce9a4750afc2319c429f0c99580235916a3572af40fc079449063d4d7d64b9d","src/lib.rs":"db9a71f74e30ecb581b7ac2688e7277d0b6c2dc369925b1ccf67223b0967ccd6"},"name":"halvings","profile":"rust-core","program":"4e73456e09ab92d80df1297c17a2a129e17822ff1c88cc30ec946ac7b5d21df3","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["7b8829e2cc52192864282f3d66903769af8ace0441753fb8f48220a68d194d15"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"5ce9a4750afc2319c429f0c99580235916a3572af40fc079449063d4d7d64b9d","src/lib.rs":"db9a71f74e30ecb581b7ac2688e7277d0b6c2dc369925b1ccf67223b0967ccd6"},"name":"halvings","profile":"rust-core","program":"4e73456e09ab92d80df1297c17a2a129e17822ff1c88cc30ec946ac7b5d21df3","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production/packages/rust-core/quadruple/package.json b/tests/production-export/production/packages/rust-core/quadruple/package.json index 89f38cc14..a61e41e93 100644 --- a/tests/production-export/production/packages/rust-core/quadruple/package.json +++ b/tests/production-export/production/packages/rust-core/quadruple/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"quadruple","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"captures":[],"function":2,"kind":"closure"},{"kind":"var","name":0}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"kind":"apply","operands":[{"kind":"apply","operands":[{"kind":"var","name":1}],"target":{"kind":"var","name":0}}],"target":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":0}],"operation":{"kind":"nat_add"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["7b8829e2cc52192864282f3d66903769af8ace0441753fb8f48220a68d194d15"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"quadruple","profile":"rust-core","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"captures":[],"function":2,"kind":"closure"},{"kind":"var","name":0}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"kind":"apply","operands":[{"kind":"apply","operands":[{"kind":"var","name":1}],"target":{"kind":"var","name":0}}],"target":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":0}],"operation":{"kind":"nat_add"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production/packages/rust-core/quadruple/provenance.json b/tests/production-export/production/packages/rust-core/quadruple/provenance.json index f1f51adc3..d48986dac 100644 --- a/tests/production-export/production/packages/rust-core/quadruple/provenance.json +++ b/tests/production-export/production/packages/rust-core/quadruple/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ce430c8cfa11725511655d377de19ff244bde5bf904cda9aa11454e0d20da660","src/lib.rs":"efcdcd2e203664aa67d6f9b0a87984c6e9b12f248be84c1b7299e334561b261a"},"name":"quadruple","profile":"rust-core","program":"6853b4945864259f1da2a6fc5277607d3e4c3c725d8be3dfd7cd38000ab16928","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["7b8829e2cc52192864282f3d66903769af8ace0441753fb8f48220a68d194d15"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ce430c8cfa11725511655d377de19ff244bde5bf904cda9aa11454e0d20da660","src/lib.rs":"efcdcd2e203664aa67d6f9b0a87984c6e9b12f248be84c1b7299e334561b261a"},"name":"quadruple","profile":"rust-core","program":"6853b4945864259f1da2a6fc5277607d3e4c3c725d8be3dfd7cd38000ab16928","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production/packages/rust-core/shape_area/package.json b/tests/production-export/production/packages/rust-core/shape_area/package.json index 6d327f7a3..6e1605b91 100644 --- a/tests/production-export/production/packages/rust-core/shape_area/package.json +++ b/tests/production-export/production/packages/rust-core/shape_area/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"shape_area","profile":"rust-core","program":{"adts":[{"constructors":[[{"kind":"nat"}],[{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":1}],"operation":{"kind":"nat_mul"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_mul"}},"shape":{"constructor":0,"kind":"adt"}},{"binders":[2,3],"body":{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"var","name":3}],"operation":{"kind":"nat_mul"}},"shape":{"constructor":1,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["7b8829e2cc52192864282f3d66903769af8ace0441753fb8f48220a68d194d15"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"shape_area","profile":"rust-core","program":{"adts":[{"constructors":[[{"kind":"nat"}],[{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":1}],"operation":{"kind":"nat_mul"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_mul"}},"shape":{"constructor":0,"kind":"adt"}},{"binders":[2,3],"body":{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"var","name":3}],"operation":{"kind":"nat_mul"}},"shape":{"constructor":1,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production/packages/rust-core/shape_area/provenance.json b/tests/production-export/production/packages/rust-core/shape_area/provenance.json index 82f05594b..91ca9b545 100644 --- a/tests/production-export/production/packages/rust-core/shape_area/provenance.json +++ b/tests/production-export/production/packages/rust-core/shape_area/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"683aa9bf20d061b2173baf56bc15458181e14c259970edff7f60eb310b93df8f","src/lib.rs":"d9fb377859859c89d489754c8138f5b238157b6f75bda86fdce267925e10732c"},"name":"shape_area","profile":"rust-core","program":"f21fc970908e57448e4db7c06bf2b57fee84f4b8734cbbf1ac327c6ee4ab6215","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["7b8829e2cc52192864282f3d66903769af8ace0441753fb8f48220a68d194d15"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"683aa9bf20d061b2173baf56bc15458181e14c259970edff7f60eb310b93df8f","src/lib.rs":"d9fb377859859c89d489754c8138f5b238157b6f75bda86fdce267925e10732c"},"name":"shape_area","profile":"rust-core","program":"f21fc970908e57448e4db7c06bf2b57fee84f4b8734cbbf1ac327c6ee4ab6215","runtime":"7f18f40838cbf5b74494efecbd3553c16cd6b0fb42445bdff4c8036b5f0e2a95","sources":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production/packages/rust-std/checked_sum/package.json b/tests/production-export/production/packages/rust-std/checked_sum/package.json index 484c55234..18e450f01 100644 --- a/tests/production-export/production/packages/rust-std/checked_sum/package.json +++ b/tests/production-export/production/packages/rust-std/checked_sum/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"checked_sum","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"types":[{"kind":"fixed","width":"u32"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["7b8829e2cc52192864282f3d66903769af8ace0441753fb8f48220a68d194d15"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own","own"]}],"name":"checked_sum","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"operation":{"kind":"checked_add"}},"parameters":[0,1],"result":{"kind":"option","value":{"kind":"fixed","width":"u32"}},"types":[{"kind":"fixed","width":"u32"},{"kind":"fixed","width":"u32"}]}],"spec":"lexlean/target-program/1"},"sources":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production/packages/rust-std/checked_sum/provenance.json b/tests/production-export/production/packages/rust-std/checked_sum/provenance.json index a25d15752..86b2ba492 100644 --- a/tests/production-export/production/packages/rust-std/checked_sum/provenance.json +++ b/tests/production-export/production/packages/rust-std/checked_sum/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"d2642abd4556782d8a017a0a6b2cfb4bdec3858040ce0f535f3a44d5dcf9de6a","src/lib.rs":"aaaaf1ccf07f5112e0f7a16fc65b21ab9c58c9341844fe6882f82a151037da53"},"name":"checked_sum","profile":"rust-std","program":"938b367cd5b23f8fb66adc8d4520333ff0e34954395668d2e3b072af86ad3216","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["7b8829e2cc52192864282f3d66903769af8ace0441753fb8f48220a68d194d15"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"d2642abd4556782d8a017a0a6b2cfb4bdec3858040ce0f535f3a44d5dcf9de6a","src/lib.rs":"aaaaf1ccf07f5112e0f7a16fc65b21ab9c58c9341844fe6882f82a151037da53"},"name":"checked_sum","profile":"rust-std","program":"938b367cd5b23f8fb66adc8d4520333ff0e34954395668d2e3b072af86ad3216","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production/packages/rust-std/halvings/package.json b/tests/production-export/production/packages/rust-std/halvings/package.json index 80fae477a..1240714ca 100644 --- a/tests/production-export/production/packages/rust-std/halvings/package.json +++ b/tests/production-export/production/packages/rust-std/halvings/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"halvings","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"function":1,"kind":"call","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_sub"}},{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}]},"kind":"cond","then_branch":{"kind":"var","name":1}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["7b8829e2cc52192864282f3d66903769af8ace0441753fb8f48220a68d194d15"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"halvings","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"condition":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_lt"}},"else_branch":{"function":1,"kind":"call","operands":[{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"2"}}],"operation":{"kind":"nat_sub"}},{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"1"}}],"operation":{"kind":"nat_add"}}]},"kind":"cond","then_branch":{"kind":"var","name":1}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production/packages/rust-std/halvings/provenance.json b/tests/production-export/production/packages/rust-std/halvings/provenance.json index 484e7e743..7fb7eddbe 100644 --- a/tests/production-export/production/packages/rust-std/halvings/provenance.json +++ b/tests/production-export/production/packages/rust-std/halvings/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"5ce9a4750afc2319c429f0c99580235916a3572af40fc079449063d4d7d64b9d","src/lib.rs":"653fb4583c2029804d083e8fb442ae21ed22c459d356a1161f3919d889d17c27"},"name":"halvings","profile":"rust-std","program":"4e73456e09ab92d80df1297c17a2a129e17822ff1c88cc30ec946ac7b5d21df3","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["7b8829e2cc52192864282f3d66903769af8ace0441753fb8f48220a68d194d15"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"5ce9a4750afc2319c429f0c99580235916a3572af40fc079449063d4d7d64b9d","src/lib.rs":"653fb4583c2029804d083e8fb442ae21ed22c459d356a1161f3919d889d17c27"},"name":"halvings","profile":"rust-std","program":"4e73456e09ab92d80df1297c17a2a129e17822ff1c88cc30ec946ac7b5d21df3","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production/packages/rust-std/head_or/package.json b/tests/production-export/production/packages/rust-std/head_or/package.json index 26d0d7a98..fb0ee4aba 100644 --- a/tests/production-export/production/packages/rust-std/head_or/package.json +++ b/tests/production-export/production/packages/rust-std/head_or/package.json @@ -1 +1 @@ -{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"head_or","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"kind":"var","name":2},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["7b8829e2cc52192864282f3d66903769af8ace0441753fb8f48220a68d194d15"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"none","function":0,"name":"run","parameters":["own"]}],"name":"head_or","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"var","name":1},"shape":{"kind":"nil"}},{"binders":[2,3],"body":{"kind":"var","name":2},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"element":{"kind":"nat"},"kind":"list"},{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production/packages/rust-std/head_or/provenance.json b/tests/production-export/production/packages/rust-std/head_or/provenance.json index c4c98cae8..4d674d6d9 100644 --- a/tests/production-export/production/packages/rust-std/head_or/provenance.json +++ b/tests/production-export/production/packages/rust-std/head_or/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"f724063bb6df92304f518e824a184b89f9956e15421cffbd5d158d5d9f8092c4","src/lib.rs":"9eaf875ce4a10119c0e49f42e27fdc00b2a765df8dfaafca61f6ac06cc5f679f"},"name":"head_or","profile":"rust-std","program":"fd195b2e7a605141c794aa55f45159309d1e64be3c91ea5076f013e04dd08ec8","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["7b8829e2cc52192864282f3d66903769af8ace0441753fb8f48220a68d194d15"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"f724063bb6df92304f518e824a184b89f9956e15421cffbd5d158d5d9f8092c4","src/lib.rs":"9eaf875ce4a10119c0e49f42e27fdc00b2a765df8dfaafca61f6ac06cc5f679f"},"name":"head_or","profile":"rust-std","program":"fd195b2e7a605141c794aa55f45159309d1e64be3c91ea5076f013e04dd08ec8","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production/packages/rust-std/quadruple/package.json b/tests/production-export/production/packages/rust-std/quadruple/package.json index b915cdbdd..0605fd0a2 100644 --- a/tests/production-export/production/packages/rust-std/quadruple/package.json +++ b/tests/production-export/production/packages/rust-std/quadruple/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"quadruple","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"captures":[],"function":2,"kind":"closure"},{"kind":"var","name":0}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"kind":"apply","operands":[{"kind":"apply","operands":[{"kind":"var","name":1}],"target":{"kind":"var","name":0}}],"target":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":0}],"operation":{"kind":"nat_add"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["7b8829e2cc52192864282f3d66903769af8ace0441753fb8f48220a68d194d15"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"quadruple","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"captures":[],"function":2,"kind":"closure"},{"kind":"var","name":0}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]},{"body":{"kind":"apply","operands":[{"kind":"apply","operands":[{"kind":"var","name":1}],"target":{"kind":"var","name":0}}],"target":{"kind":"var","name":0}},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"fn","parameters":[{"kind":"nat"}],"result":{"kind":"nat"}},{"kind":"nat"}]},{"body":{"kind":"prim","operands":[{"kind":"var","name":0},{"kind":"var","name":0}],"operation":{"kind":"nat_add"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"kind":"nat"}]}],"spec":"lexlean/target-program/1"},"sources":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production/packages/rust-std/quadruple/provenance.json b/tests/production-export/production/packages/rust-std/quadruple/provenance.json index 4c0e56766..bce1d3fd6 100644 --- a/tests/production-export/production/packages/rust-std/quadruple/provenance.json +++ b/tests/production-export/production/packages/rust-std/quadruple/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ce430c8cfa11725511655d377de19ff244bde5bf904cda9aa11454e0d20da660","src/lib.rs":"e651d8ffeb9f1ca328081a4bb63c81f67d0cab0869aeae101c9797ff0fead067"},"name":"quadruple","profile":"rust-std","program":"6853b4945864259f1da2a6fc5277607d3e4c3c725d8be3dfd7cd38000ab16928","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["7b8829e2cc52192864282f3d66903769af8ace0441753fb8f48220a68d194d15"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"ce430c8cfa11725511655d377de19ff244bde5bf904cda9aa11454e0d20da660","src/lib.rs":"e651d8ffeb9f1ca328081a4bb63c81f67d0cab0869aeae101c9797ff0fead067"},"name":"quadruple","profile":"rust-std","program":"6853b4945864259f1da2a6fc5277607d3e4c3c725d8be3dfd7cd38000ab16928","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production/packages/rust-std/shape_area/package.json b/tests/production-export/production/packages/rust-std/shape_area/package.json index 411926e74..90c2e5dec 100644 --- a/tests/production-export/production/packages/rust-std/shape_area/package.json +++ b/tests/production-export/production/packages/rust-std/shape_area/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"shape_area","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"}],[{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":1}],"operation":{"kind":"nat_mul"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_mul"}},"shape":{"constructor":0,"kind":"adt"}},{"binders":[2,3],"body":{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"var","name":3}],"operation":{"kind":"nat_mul"}},"shape":{"constructor":1,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["7b8829e2cc52192864282f3d66903769af8ace0441753fb8f48220a68d194d15"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own","own"]}],"name":"shape_area","profile":"rust-std","program":{"adts":[{"constructors":[[{"kind":"nat"}],[{"kind":"nat"},{"kind":"nat"}]]}],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"build","operands":[{"kind":"var","name":0},{"kind":"var","name":1}],"shape":{"constructor":1,"kind":"adt"},"type":{"index":0,"kind":"adt"}}]},"parameters":[0,1],"result":{"kind":"nat"},"types":[{"kind":"nat"},{"kind":"nat"}]},{"body":{"arms":[{"binders":[1],"body":{"kind":"prim","operands":[{"kind":"prim","operands":[{"kind":"var","name":1},{"kind":"var","name":1}],"operation":{"kind":"nat_mul"}},{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"3"}}],"operation":{"kind":"nat_mul"}},"shape":{"constructor":0,"kind":"adt"}},{"binders":[2,3],"body":{"kind":"prim","operands":[{"kind":"var","name":2},{"kind":"var","name":3}],"operation":{"kind":"nat_mul"}},"shape":{"constructor":1,"kind":"adt"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"index":0,"kind":"adt"}]}],"spec":"lexlean/target-program/1"},"sources":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production/packages/rust-std/shape_area/provenance.json b/tests/production-export/production/packages/rust-std/shape_area/provenance.json index 429e12160..7abcc9134 100644 --- a/tests/production-export/production/packages/rust-std/shape_area/provenance.json +++ b/tests/production-export/production/packages/rust-std/shape_area/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"683aa9bf20d061b2173baf56bc15458181e14c259970edff7f60eb310b93df8f","src/lib.rs":"8cf6fe537cdc43e608ce442810740bf54926dc3eda403ba551e2d958285b5a4e"},"name":"shape_area","profile":"rust-std","program":"f21fc970908e57448e4db7c06bf2b57fee84f4b8734cbbf1ac327c6ee4ab6215","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["7b8829e2cc52192864282f3d66903769af8ace0441753fb8f48220a68d194d15"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"683aa9bf20d061b2173baf56bc15458181e14c259970edff7f60eb310b93df8f","src/lib.rs":"8cf6fe537cdc43e608ce442810740bf54926dc3eda403ba551e2d958285b5a4e"},"name":"shape_area","profile":"rust-std","program":"f21fc970908e57448e4db7c06bf2b57fee84f4b8734cbbf1ac327c6ee4ab6215","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/production-export/production/packages/rust-std/sum_all/package.json b/tests/production-export/production/packages/rust-std/sum_all/package.json index 02df2d931..f715bae50 100644 --- a/tests/production-export/production/packages/rust-std/sum_all/package.json +++ b/tests/production-export/production/packages/rust-std/sum_all/package.json @@ -1 +1 @@ -{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"sum_all","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"function":1,"kind":"call","operands":[{"kind":"var","name":2}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"element":{"kind":"nat"},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["7b8829e2cc52192864282f3d66903769af8ace0441753fb8f48220a68d194d15"],"spec":"lexlean/rust-package/1","version":"1.0.0"} +{"exports":[{"errors":"overflow","function":0,"name":"run","parameters":["own"]}],"name":"sum_all","profile":"rust-std","program":{"adts":[],"functions":[{"body":{"function":1,"kind":"call","operands":[{"kind":"var","name":0}]},"parameters":[0],"result":{"kind":"nat"},"types":[{"element":{"kind":"nat"},"kind":"list"}]},{"body":{"arms":[{"binders":[],"body":{"kind":"value","type":{"kind":"nat"},"value":{"kind":"nat","value":"0"}},"shape":{"kind":"nil"}},{"binders":[1,2],"body":{"kind":"prim","operands":[{"kind":"var","name":1},{"function":1,"kind":"call","operands":[{"kind":"var","name":2}]}],"operation":{"kind":"nat_add"}},"shape":{"kind":"cons"}}],"kind":"match","scrutinee":{"kind":"var","name":0},"type":{"kind":"nat"}},"parameters":[0],"result":{"kind":"nat"},"types":[{"element":{"kind":"nat"},"kind":"list"}]}],"spec":"lexlean/target-program/1"},"sources":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"spec":"lexlean/rust-package/1","version":"1.0.0"} diff --git a/tests/production-export/production/packages/rust-std/sum_all/provenance.json b/tests/production-export/production/packages/rust-std/sum_all/provenance.json index 13d9e1d33..483b59739 100644 --- a/tests/production-export/production/packages/rust-std/sum_all/provenance.json +++ b/tests/production-export/production/packages/rust-std/sum_all/provenance.json @@ -1 +1 @@ -{"compiler_semantics":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"b927ff521f32d7fb2292ab2d020df8a2e1acd30460ac58429f4292741a2f51d3","src/lib.rs":"d05d8af8bf9f349f05081d5a7563edaaf5617159fdf4e463335b2a82070222ef"},"name":"sum_all","profile":"rust-std","program":"8ff4684c89e1a22e97417561a676319cab5351c711d244d980c53acc6160e821","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["7b8829e2cc52192864282f3d66903769af8ace0441753fb8f48220a68d194d15"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} +{"compiler_semantics":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","exports":[{"function":0,"name":"run"}],"files":{"Cargo.toml":"b927ff521f32d7fb2292ab2d020df8a2e1acd30460ac58429f4292741a2f51d3","src/lib.rs":"d05d8af8bf9f349f05081d5a7563edaaf5617159fdf4e463335b2a82070222ef"},"name":"sum_all","profile":"rust-std","program":"8ff4684c89e1a22e97417561a676319cab5351c711d244d980c53acc6160e821","runtime":"3041e90e504b052caf830dfc20f8743d30cdb7a0c8e5c460f8b50f314765ea9c","sources":["0873d7adc0406a004403264fdb2d9dea150501bcd1daa0f8358e8679e9ee8ff6"],"spec":"lexlean/rust-provenance/1","version":"1.0.0"} diff --git a/tests/runtime-library/MIGRATION.md b/tests/runtime-library/MIGRATION.md new file mode 100644 index 000000000..98e1da473 --- /dev/null +++ b/tests/runtime-library/MIGRATION.md @@ -0,0 +1,223 @@ +# Runtime migration provenance + +The Lean backend used to splice fixed runtime text into every generated +module that used it (SPEC.md §17.12): the portable primitives, the ordered +collections, the model predicates, and the reasoning lemmas, each a Rust string +constant of `crates/lexlean/src/backend/semantic.rs`, written inside the +generated module's namespace, so that every module carried its own copy. For +language 1.2 they are now LexLean source: four native core modules of the +schema `lexlean/core-module/2` (SPEC.md §17.10) in the embedded project +`language/runtime-1.2/library/`, which a generated module imports, and the +Lean of every verification is generated from them by the compiler. Languages +1.0 and 1.1 keep their released bytes, held as data. This record is the +evidence that the migration lost nothing, in the manner of +`tests/preservation-library/MIGRATION.md` (#79). + +## What was migrated + +At repository commit `d284b165` (`main`), the language-1.2 runtime texts were: + +| module | from | text bytes | declarations | DAG nodes | source bytes | +| --- | --- | ---: | ---: | ---: | ---: | +| `LexLeanRuntime.Portable` | `portable_runtime_1_2()`, the frozen portable runtime with every definition exposed | 13,491 | 176 | 4,750 | 248,405 | +| `LexLeanRuntime.Collections` | `COLLECTIONS_RUNTIME` | 8,016 | 105 | 3,106 | 178,383 | +| `LexLeanRuntime.Models` | `MODELS_RUNTIME` | 5,101 | 27 | 901 | 38,526 | +| `LexLeanRuntime.Reasoning` | `REASONING_RUNTIME` | 12,532 | 63 | 5,381 | 219,698 | +| total | | 39,140 | 371 | 14,138 | 685,012 | + +`Reasoning` states its lemmas over the portable and collection runtimes, so it +imports `Portable` and `Collections`; the other three import only `Init`. The +code generator compiled 115 of the 371 declarations, which the data records. + +## How + +The one-time conversion is the oracle of checkpoint commit `34d940f8a164cc7b488233292ae27bef749303db` +(`tests/runtime-library/oracle/`, removed from the release tree by the commit +that follows it). It reuses the exporter, `flags.lean`, `probe.lean`, +`canon.py` and `compare.py` of the preservation library's migration, with the +runtime's module list: + +1. `extract.py` lifts the four texts byte for byte out of `semantic.rs` into + four Lean modules, each with the header and options a generated + language-1.2 module carries (`portable_runtime_1_2` is not a literal: the + tool replays its exposure of the frozen text exactly), and `build.sh` + compiles them with the pinned Lean 4.32.1, silently. +2. `export.lean` writes every declaration each module owns with its kernel + data, extension state, and the exact axioms `#print axioms` reports; + `flags.lean` reads the compiled constants and the sparse `casesOn` records; + `canon.py` writes the canonical sources, which are + `language/runtime-1.2/library/src/*.lex.tex`. + +The sources carry titles from the project glossary +`language/runtime-1.2/library/glossary/runtime.titles`. + +## Equivalence + +`equivalence.sh` of the oracle takes the Lean the compiler generated from the +committed native modules (`lexlean build` of the runtime project), compiles it +with the pinned Lean, exports the new environment with the same programs, and +converts it with the same `canon.py`; `compare.py` compares the result with the +committed sources declaration by declaration, as trees of kernel terms. + +Result: the same 371 declarations in the same order in the same four modules. +368 rows are equal in every byte of their terms; 3 rows, exactly the sparse +`casesOn` constants of `Collections`, are equal up to the names of bound +variables (the elaborator's construction names its binders hygienically, +`else._@.….#N`), which no kernel judgment sees. The one other difference is the +private `Lean` import the decoder adds to each regenerated module, which SPEC.md +§17.10 allows. The attribute probe prints equal outputs (47 lines) for both +environments. + +## The frozen bytes of languages 1.0 and 1.1 + +The released language-1.1 output splices `portable_runtime()` (13,339 bytes) +into a semantic module's namespace, and the released language-1.0 and 1.1 +output splices the decoder of core module 1, `LEAN_CORE_DECODER` of +`backend/core.rs` (12,833 bytes), into every core module. Both were lifted byte +for byte into `language/runtime-1.2/frozen/portable-runtime-1.1.txt` and +`language/runtime-1.2/frozen/core-decoder-1.txt`, which the language-1.0 and +1.1 backends alone read. After the change `cargo xtask check-golden --write` +rewrites no file of the language-1.0 and 1.1 examples and fixtures, and +`conformance_rt_02` holds both texts equal to the released output. + +## The proof libraries + +Each generated language-1.2 module that used the runtime held its own copy: +`LexLeanTarget.TargetSemantics.LexLeanRuntime.index` and +`LexLeanTarget.RustSemantics.LexLeanRuntime.index` were distinct constants with +the same definition. The native preservation and certification libraries are +kernel data that names those copies, so their references had to follow the +runtime into `LexLeanRuntime.index`. + +Moving the runtime out of the calculus modules changed more than the copies' +names. Lean shares a structurally equal matcher within a module but never with +an imported one (tested with the pinned Lean): `TargetSemantics.primitive` and +`RustSemantics.literal` had reused the matcher of their module's copy of +`checkedMultiplyInt64`, and now each has a matcher of its own, so the numbering +of their later matchers moved by two. The libraries name those matchers, their +equation lemmas, and their splitters. + +So the renaming was derived, not assumed. `walk.py` compiled the six calculus +modules the libraries import (`TargetSyntax`, `TargetSemantics`, `RustSyntax`, +`RustSemantics`, `Gnaf`, `Certification`) as `main` generated them and as they +are generated now, exported both environments, paired every declaration whose +name is not an auxiliary's with its counterpart (a copy's `LexLeanTarget...x` +with the runtime module's `.x`), and walked the two kernel types and values +in parallel, pairing each pair of differing constant names and then walking the +auxiliaries so paired, until nothing new was paired. Result: 3,914 declaration +pairs walked, every pair the same tree up to the names of bound variables and of +constants; 480 names paired, 463 of them by the runtime rule and 17 the +renumbered matchers (`primitive.match_7` … `match_27` to `match_9` … `match_29`, +`literal.match_7` … `match_17` to `match_9` … `match_19`). Two old names were +paired with two new names each: the copies' `checkedMultiplyInt64.match_1`, +which is `LexLeanRuntime.checkedMultiplyInt64.match_1` where the runtime +definition uses it and `primitive.match_7` (`literal.match_7`) where the +calculus definition reused it. Every library use of them is in `primitive`'s or +`literal`'s equation lemmas or in theorems that unfold them, so they were +renamed to the calculus definition's own matcher; the two are the same +definition, so the kernel would accept either. + +`rename.py` then rewrote the names, and nothing else: every name of a constant +or projection node, a declaration's name, and its mutual group that the pairing +pairs, or that is derived from a paired name (an equation lemma, a splitter, a +private realization of either), with the runtime rule for the rest. The node +tables keep their numbering, so every row's kernel terms are its old terms with +names substituted, and binder names are kept as they are. It renamed 551 name +occurrences in 12 modules of the preservation library and 280 in 11 modules of +the certification library; no native source of the repository names a runtime +copy any more (`conformance_rt_01`). + +The libraries are written in the core notation (§17.21.8), so the rename ran on +their data form: each source was converted to `\coredata` and back with +`lexlean::sdk::to_data_form` and `to_notation`, a round trip shown first to +change no byte of any of the 26 sources, and the renamed data printed as the +canonical notation. The same conversion wrote the four runtime sources, which +the migration produced as data, in the notation. + +Two rows declare a name another library module declares: + +- `LexLeanRuntime.equal.eq_1`, realized by `Primitives` on the `TargetSemantics` + copy and by `RustBase` on the `RustSemantics` copy, which do not import each + other. The renamed rows are the same declaration up to the names of bound + variables. Lean realizes an equation lemma in every module that asks for it + and imports the copies of two modules as one (tested with the pinned Lean, by + elaboration and by `leanchecker` replay), so both rows are kept, and the + library's check accepts a name declared twice exactly when it is an equation + lemma and the two rows are the same declaration up to binder names + (`production/preserve.rs`), auditing it once. +- `LexLeanRuntime.length.eq_1`, declared by `Primitives` and by the + certification library's `Factor`, which already declared one name before the + change, and are never imported together. + +## Verification + +The renamed libraries, the runtime modules, and the regenerated calculus +modules are what every verification now compiles, so the evidence is the +verifications themselves: + +- `lexlean verify` of every language-1.2 example and of the compiler project + compiles the runtime modules the project imports, replays them through + `leanchecker`, and audits each of their declarations against its row's exact + axioms; for a project with production roots it compiles the calculus modules + and the renamed preservation library and checks certificates A, B and E of + every root with exactly the three axioms. Their records under + `expected/verify/` were regenerated. +- `conformance_gc_09` compiles and audits the renamed certification library. +- `conformance_rt_03` verifies the runtime's own project and refuses a row that + pins another axiom set (`LLV7005`). +- The planted defects are recorded in `VERIFICATION.md`, each with the gate it + turns red. + +The verification of `examples/uor-atlas` (language 1.0, whose output and +records this change does not touch) needs more memory than the development host +has and runs in CI. + +## The differential oracle + +The pinned oracle (`lean4-prod`, SPEC.md §17.19) exports one module's closure +and does not follow a call into another module. With the runtime spliced into +each module, a collection template or a reasoner's iteration was the module's +own definition and the oracle lowered it, refusing most of them as +`escaping-local-function` or `opaque-lowering`; imported, a template Lean's +compiler keeps a call is `unresolved-external-call`. The oracle's answers on +the corpus changed accordingly, and the tables were rewritten to them, each +as a new version with its digest in `oracle/table-versions.toml`: + +| Table | Version | Change | +| --- | --- | --- | +| `known-differences.toml` | 2 → 3 | roots move from `escaping-local-function` (KD-01) and `opaque-lowering` (KD-02) to `unresolved-external-call` (KD-03); `mapEntriesRoot` and `setElementsRoot`, which the oracle now generates, join `borrowed-parameter` (KD-09) and the new `output-buffer` (KD-13) | +| `known-non-overlap.toml` | 1 → 2 | the 17 map, set, and graph constructs and the 3 reasoning constructs are refused as `unresolved-external-call`; `map_entries` and `set_elements` leave the table, realized by a compiled root | + +The oracle returns a list into a buffer its caller passes and answers how many +elements it wrote. The harness passes a buffer larger than any case writes and +compares the elements written; the convention is a contract difference +(KD-13), not a behavior difference. The corpus is 102 roots: the oracle +generates 32 (30 before) and refuses 70 (72); 25 crates compile (23) and run +on 1446 inputs (1411). + +## The decoder of core module 2 + +`LEAN_CORE_DECODER_V2` (`backend/core_v2.rs`) is the Lean text every core +module of language 1.2 carries: it loads native data into the environment, so it +cannot itself be native data that it loads. It is the one Lean text of the +language-1.2 compiler not generated from a native module, held to that by +`conformance_rt_04`; printing it from a native module needs the lossless +kernel-term printer of #93 (stage 3c). + +## Identities + +Languages 1.0 and 1.1 are byte-identical: every file this change adds or +changes lies in the language-1.2 partition of the compiler-semantics ID +(`language/runtime-1.2/`, `language/preservation-1.2/`), and +`conformance_rp_10` recomputes all three identities from disk. + +| language | compiler-semantics ID | change | +| --- | --- | --- | +| 1.0 | `95deb33a8d416d7bf60f02a36e251a71c3ee6f046b7e475d7bae2fc5ddc3767d` | none | +| 1.1 | `c56e1a234cee7c12f00e4f2f53d6094e2ed51f5bbf5195b60f79d4e8aa5bce53` | none | +| 1.2 | `974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290` → `a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d` | regenerated | + +Every language-1.2 lock (229, the compiler-semantics ID substituted), golden, +fixture expectation, production-export package, generated calculus output, and +verified record was regenerated; the goldens and locks of languages 1.0 and 1.1 +are unchanged. diff --git a/tests/tooling/commands/expected/build/manifest.json b/tests/tooling/commands/expected/build/manifest.json index 5b6223f23..33a63af41 100644 --- a/tests/tooling/commands/expected/build/manifest.json +++ b/tests/tooling/commands/expected/build/manifest.json @@ -1 +1 @@ -{"build_id":"9899e9855e0475343323e99821537f46bb66d667aea60b4449cde881e03dd0f2","compiler":{"semantics_id":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","version":"0.3.0"},"inputs":[{"byte_length":2684,"kind":"lexicon","path":"embedded","sha256":"3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b"},{"byte_length":14885,"kind":"lexicon","path":"embedded","sha256":"e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac"},{"byte_length":36197,"kind":"lexicon","path":"embedded","sha256":"827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392"},{"byte_length":1597,"kind":"lock","path":"lexlean.lock","sha256":"75fdf72245f8365080f8de5eb17ab3680e0926e75d258773d7cab2c7bf79f72c"},{"byte_length":653,"kind":"project-config","path":"lexlean.toml","sha256":"000fa39a96ae620f80489fd4d7aa5bd620bf63e8d95e237b89a0b630f07007b0"},{"byte_length":19993,"kind":"source","path":"src/Main.lex.tex","sha256":"5800715dce08fdc9bb05acc4dcd61ae45a6f975b55dc9d6dfc877a8b4798da13"}],"language":"1.2","lean_toolchain":"leanprover/lean4:v4.32.1","modules":[{"lean_module":"ToolingCommands.Main","module":"Main","source_path":"src/Main.lex.tex"}],"outputs":[{"byte_length":12401,"kind":"coverage","path":"coverage/ToolingCommands/Main.coverage.json","sha256":"02e19aa1dc473e65f8a87c22e614231e3d257e408ca43199b4e8eb3bd08893b0"},{"byte_length":1420,"kind":"lean","path":"modules/ToolingCommands/Main.lean","sha256":"38396294e0a117e75ce20bc8b741600264401adb391acb47638f1ae75f30db94"},{"byte_length":10602,"kind":"lexicon-closure","path":"lexicons/Main.closure.json","sha256":"727110f90daff26a2e5eb8069fcefecd5790c1264f5d6d4b2ef57db1c2bfb867"},{"byte_length":8122,"kind":"map","path":"maps/ToolingCommands/Main.map.json","sha256":"04b205f4183f4bf1f29a5a34057622bf83ff465fd56522fb995cc81f0cb12556"},{"byte_length":13591,"kind":"tex","path":"modules/ToolingCommands/Main.tex","sha256":"38c0c5a259c3d8e600dad43081abe7e842365fc5ca7a21bb88123b2e49434bb9"}],"project":"tooling-commands","selection":["Main"],"semantic_id":"7bd0516d5a648b0c094057ab36956e158a4cd7de3531c04a7cc59c8ee738bf9f","source_id":"96bbcdce029f80cc62fb6d6ce830cce4a22622c783c23d00b5ef283dfa807e84","spec":"lexlean/build-manifest/1"} +{"build_id":"611fe2d64912da5af2ea341b9af2273470ed9f4856ff0be56598d0e3418bbdf4","compiler":{"semantics_id":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","version":"0.3.0"},"inputs":[{"byte_length":2684,"kind":"lexicon","path":"embedded","sha256":"3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b"},{"byte_length":14885,"kind":"lexicon","path":"embedded","sha256":"e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac"},{"byte_length":36197,"kind":"lexicon","path":"embedded","sha256":"827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392"},{"byte_length":1597,"kind":"lock","path":"lexlean.lock","sha256":"53191c74cd3c68faf74cd8133c714a295e213516fb9a3293b187031da457b905"},{"byte_length":653,"kind":"project-config","path":"lexlean.toml","sha256":"000fa39a96ae620f80489fd4d7aa5bd620bf63e8d95e237b89a0b630f07007b0"},{"byte_length":19993,"kind":"source","path":"src/Main.lex.tex","sha256":"5800715dce08fdc9bb05acc4dcd61ae45a6f975b55dc9d6dfc877a8b4798da13"}],"language":"1.2","lean_toolchain":"leanprover/lean4:v4.32.1","modules":[{"lean_module":"ToolingCommands.Main","module":"Main","source_path":"src/Main.lex.tex"}],"outputs":[{"byte_length":12401,"kind":"coverage","path":"coverage/ToolingCommands/Main.coverage.json","sha256":"02e19aa1dc473e65f8a87c22e614231e3d257e408ca43199b4e8eb3bd08893b0"},{"byte_length":1420,"kind":"lean","path":"modules/ToolingCommands/Main.lean","sha256":"38396294e0a117e75ce20bc8b741600264401adb391acb47638f1ae75f30db94"},{"byte_length":10602,"kind":"lexicon-closure","path":"lexicons/Main.closure.json","sha256":"727110f90daff26a2e5eb8069fcefecd5790c1264f5d6d4b2ef57db1c2bfb867"},{"byte_length":8122,"kind":"map","path":"maps/ToolingCommands/Main.map.json","sha256":"d97301a27865effd0060bbe06593ae988f3784bca77868d8279dbf1399861c50"},{"byte_length":13591,"kind":"tex","path":"modules/ToolingCommands/Main.tex","sha256":"38c0c5a259c3d8e600dad43081abe7e842365fc5ca7a21bb88123b2e49434bb9"}],"project":"tooling-commands","selection":["Main"],"semantic_id":"6665946d3b9236c5f700efa49a4ecbb390ce1489ee0b7db067b6bd552cd6df89","source_id":"c20df86f017d30d4840febe006428fcec1680057958dc50478797dec0a2e044e","spec":"lexlean/build-manifest/1"} diff --git a/tests/tooling/commands/expected/build/maps/ToolingCommands/Main.map.json b/tests/tooling/commands/expected/build/maps/ToolingCommands/Main.map.json index 34cb4edd2..c08f3f33d 100644 --- a/tests/tooling/commands/expected/build/maps/ToolingCommands/Main.map.json +++ b/tests/tooling/commands/expected/build/maps/ToolingCommands/Main.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/ToolingCommands/Main.lean"},{"id":1,"kind":"tex","path":"modules/ToolingCommands/Main.tex"}],"mappings":[{"artifact":0,"gen_end":114,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":19993,"src_start":0},{"artifact":0,"gen_end":518,"gen_start":114,"node":1,"role":"declaration","source":0,"src_end":16486,"src_start":14504},{"artifact":0,"gen_end":659,"gen_start":518,"node":2,"role":"declaration","source":0,"src_end":16653,"src_start":16492},{"artifact":0,"gen_end":1000,"gen_start":659,"node":3,"role":"declaration","source":0,"src_end":18095,"src_start":16659},{"artifact":0,"gen_end":1088,"gen_start":1000,"node":4,"role":"declaration","source":0,"src_end":18432,"src_start":18101},{"artifact":0,"gen_end":1190,"gen_start":1088,"node":5,"role":"declaration","source":0,"src_end":18907,"src_start":18438},{"artifact":0,"gen_end":1349,"gen_start":1190,"node":6,"role":"declaration","source":0,"src_end":19594,"src_start":18913},{"artifact":0,"gen_end":1400,"gen_start":1349,"node":7,"role":"declaration","source":0,"src_end":19884,"src_start":19600},{"artifact":0,"gen_end":1420,"gen_start":1400,"node":8,"role":"declaration","source":0,"src_end":19937,"src_start":19890},{"artifact":0,"gen_end":1420,"gen_start":1420,"node":0,"role":"declaration","source":0,"src_end":19993,"src_start":0},{"artifact":1,"gen_end":133,"gen_start":0,"node":9,"role":"declaration","source":0,"src_end":19993,"src_start":0},{"artifact":1,"gen_end":406,"gen_start":133,"node":10,"role":"declaration","source":0,"src_end":548,"src_start":269},{"artifact":1,"gen_end":661,"gen_start":406,"node":11,"role":"declaration","source":0,"src_end":805,"src_start":554},{"artifact":1,"gen_end":969,"gen_start":661,"node":12,"role":"declaration","source":0,"src_end":1090,"src_start":811},{"artifact":1,"gen_end":1299,"gen_start":969,"node":13,"role":"declaration","source":0,"src_end":1397,"src_start":1096},{"artifact":1,"gen_end":1547,"gen_start":1299,"node":14,"role":"declaration","source":0,"src_end":1647,"src_start":1403},{"artifact":1,"gen_end":1847,"gen_start":1547,"node":15,"role":"declaration","source":0,"src_end":1927,"src_start":1653},{"artifact":1,"gen_end":2147,"gen_start":1847,"node":16,"role":"declaration","source":0,"src_end":2207,"src_start":1933},{"artifact":1,"gen_end":2397,"gen_start":2147,"node":17,"role":"declaration","source":0,"src_end":2459,"src_start":2213},{"artifact":1,"gen_end":2808,"gen_start":2397,"node":18,"role":"declaration","source":0,"src_end":3343,"src_start":2465},{"artifact":1,"gen_end":3302,"gen_start":2808,"node":19,"role":"declaration","source":0,"src_end":4668,"src_start":3349},{"artifact":1,"gen_end":3573,"gen_start":3302,"node":20,"role":"declaration","source":0,"src_end":4916,"src_start":4674},{"artifact":1,"gen_end":4018,"gen_start":3573,"node":21,"role":"declaration","source":0,"src_end":5915,"src_start":4922},{"artifact":1,"gen_end":4418,"gen_start":4018,"node":22,"role":"declaration","source":0,"src_end":6521,"src_start":5921},{"artifact":1,"gen_end":4725,"gen_start":4418,"node":23,"role":"declaration","source":0,"src_end":6833,"src_start":6527},{"artifact":1,"gen_end":5050,"gen_start":4725,"node":24,"role":"declaration","source":0,"src_end":7215,"src_start":6839},{"artifact":1,"gen_end":5401,"gen_start":5050,"node":25,"role":"declaration","source":0,"src_end":7684,"src_start":7221},{"artifact":1,"gen_end":5867,"gen_start":5401,"node":26,"role":"declaration","source":0,"src_end":8512,"src_start":7690},{"artifact":1,"gen_end":6132,"gen_start":5867,"node":27,"role":"declaration","source":0,"src_end":8777,"src_start":8518},{"artifact":1,"gen_end":6445,"gen_start":6132,"node":28,"role":"declaration","source":0,"src_end":9070,"src_start":8783},{"artifact":1,"gen_end":6758,"gen_start":6445,"node":29,"role":"declaration","source":0,"src_end":9361,"src_start":9076},{"artifact":1,"gen_end":7011,"gen_start":6758,"node":30,"role":"declaration","source":0,"src_end":9616,"src_start":9367},{"artifact":1,"gen_end":7312,"gen_start":7011,"node":31,"role":"declaration","source":0,"src_end":9897,"src_start":9622},{"artifact":1,"gen_end":7559,"gen_start":7312,"node":32,"role":"declaration","source":0,"src_end":10146,"src_start":9903},{"artifact":1,"gen_end":7823,"gen_start":7559,"node":33,"role":"declaration","source":0,"src_end":10410,"src_start":10152},{"artifact":1,"gen_end":8136,"gen_start":7823,"node":34,"role":"declaration","source":0,"src_end":10698,"src_start":10416},{"artifact":1,"gen_end":8398,"gen_start":8136,"node":35,"role":"declaration","source":0,"src_end":10960,"src_start":10704},{"artifact":1,"gen_end":8717,"gen_start":8398,"node":36,"role":"declaration","source":0,"src_end":11452,"src_start":10966},{"artifact":1,"gen_end":11068,"gen_start":8717,"node":37,"role":"declaration","source":0,"src_end":14498,"src_start":11458},{"artifact":1,"gen_end":11666,"gen_start":11068,"node":38,"role":"declaration","source":0,"src_end":16486,"src_start":14504},{"artifact":1,"gen_end":11921,"gen_start":11666,"node":39,"role":"declaration","source":0,"src_end":16653,"src_start":16492},{"artifact":1,"gen_end":12443,"gen_start":11921,"node":40,"role":"declaration","source":0,"src_end":18095,"src_start":16659},{"artifact":1,"gen_end":12701,"gen_start":12443,"node":41,"role":"declaration","source":0,"src_end":18432,"src_start":18101},{"artifact":1,"gen_end":12966,"gen_start":12701,"node":42,"role":"declaration","source":0,"src_end":18907,"src_start":18438},{"artifact":1,"gen_end":13297,"gen_start":12966,"node":43,"role":"declaration","source":0,"src_end":19594,"src_start":18913},{"artifact":1,"gen_end":13458,"gen_start":13297,"node":44,"role":"declaration","source":0,"src_end":19884,"src_start":19600},{"artifact":1,"gen_end":13576,"gen_start":13458,"node":45,"role":"declaration","source":0,"src_end":19937,"src_start":19890},{"artifact":1,"gen_end":13591,"gen_start":13576,"node":9,"role":"declaration","source":0,"src_end":19993,"src_start":0}],"module":"Main","nodes":[{"id":0,"kind":"tooling-lean-module"},{"id":1,"kind":"tooling-declaration"},{"id":2,"kind":"tooling-declaration"},{"id":3,"kind":"tooling-declaration"},{"id":4,"kind":"tooling-declaration"},{"id":5,"kind":"tooling-declaration"},{"id":6,"kind":"tooling-declaration"},{"id":7,"kind":"tooling-declaration"},{"id":8,"kind":"tooling-declaration"},{"id":9,"kind":"tooling-latex-module"},{"id":10,"kind":"tooling-declaration"},{"id":11,"kind":"tooling-declaration"},{"id":12,"kind":"tooling-declaration"},{"id":13,"kind":"tooling-declaration"},{"id":14,"kind":"tooling-declaration"},{"id":15,"kind":"tooling-declaration"},{"id":16,"kind":"tooling-declaration"},{"id":17,"kind":"tooling-declaration"},{"id":18,"kind":"tooling-declaration"},{"id":19,"kind":"tooling-declaration"},{"id":20,"kind":"tooling-declaration"},{"id":21,"kind":"tooling-declaration"},{"id":22,"kind":"tooling-declaration"},{"id":23,"kind":"tooling-declaration"},{"id":24,"kind":"tooling-declaration"},{"id":25,"kind":"tooling-declaration"},{"id":26,"kind":"tooling-declaration"},{"id":27,"kind":"tooling-declaration"},{"id":28,"kind":"tooling-declaration"},{"id":29,"kind":"tooling-declaration"},{"id":30,"kind":"tooling-declaration"},{"id":31,"kind":"tooling-declaration"},{"id":32,"kind":"tooling-declaration"},{"id":33,"kind":"tooling-declaration"},{"id":34,"kind":"tooling-declaration"},{"id":35,"kind":"tooling-declaration"},{"id":36,"kind":"tooling-declaration"},{"id":37,"kind":"tooling-declaration"},{"id":38,"kind":"tooling-declaration"},{"id":39,"kind":"tooling-declaration"},{"id":40,"kind":"tooling-declaration"},{"id":41,"kind":"tooling-declaration"},{"id":42,"kind":"tooling-declaration"},{"id":43,"kind":"tooling-declaration"},{"id":44,"kind":"tooling-declaration"},{"id":45,"kind":"tooling-declaration"}],"semantic_id":"7bd0516d5a648b0c094057ab36956e158a4cd7de3531c04a7cc59c8ee738bf9f","source_id":"96bbcdce029f80cc62fb6d6ce830cce4a22622c783c23d00b5ef283dfa807e84","sources":[{"id":0,"kind":"file","path":"src/Main.lex.tex","sha256":"5800715dce08fdc9bb05acc4dcd61ae45a6f975b55dc9d6dfc877a8b4798da13"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/ToolingCommands/Main.lean"},{"id":1,"kind":"tex","path":"modules/ToolingCommands/Main.tex"}],"mappings":[{"artifact":0,"gen_end":114,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":19993,"src_start":0},{"artifact":0,"gen_end":518,"gen_start":114,"node":1,"role":"declaration","source":0,"src_end":16486,"src_start":14504},{"artifact":0,"gen_end":659,"gen_start":518,"node":2,"role":"declaration","source":0,"src_end":16653,"src_start":16492},{"artifact":0,"gen_end":1000,"gen_start":659,"node":3,"role":"declaration","source":0,"src_end":18095,"src_start":16659},{"artifact":0,"gen_end":1088,"gen_start":1000,"node":4,"role":"declaration","source":0,"src_end":18432,"src_start":18101},{"artifact":0,"gen_end":1190,"gen_start":1088,"node":5,"role":"declaration","source":0,"src_end":18907,"src_start":18438},{"artifact":0,"gen_end":1349,"gen_start":1190,"node":6,"role":"declaration","source":0,"src_end":19594,"src_start":18913},{"artifact":0,"gen_end":1400,"gen_start":1349,"node":7,"role":"declaration","source":0,"src_end":19884,"src_start":19600},{"artifact":0,"gen_end":1420,"gen_start":1400,"node":8,"role":"declaration","source":0,"src_end":19937,"src_start":19890},{"artifact":0,"gen_end":1420,"gen_start":1420,"node":0,"role":"declaration","source":0,"src_end":19993,"src_start":0},{"artifact":1,"gen_end":133,"gen_start":0,"node":9,"role":"declaration","source":0,"src_end":19993,"src_start":0},{"artifact":1,"gen_end":406,"gen_start":133,"node":10,"role":"declaration","source":0,"src_end":548,"src_start":269},{"artifact":1,"gen_end":661,"gen_start":406,"node":11,"role":"declaration","source":0,"src_end":805,"src_start":554},{"artifact":1,"gen_end":969,"gen_start":661,"node":12,"role":"declaration","source":0,"src_end":1090,"src_start":811},{"artifact":1,"gen_end":1299,"gen_start":969,"node":13,"role":"declaration","source":0,"src_end":1397,"src_start":1096},{"artifact":1,"gen_end":1547,"gen_start":1299,"node":14,"role":"declaration","source":0,"src_end":1647,"src_start":1403},{"artifact":1,"gen_end":1847,"gen_start":1547,"node":15,"role":"declaration","source":0,"src_end":1927,"src_start":1653},{"artifact":1,"gen_end":2147,"gen_start":1847,"node":16,"role":"declaration","source":0,"src_end":2207,"src_start":1933},{"artifact":1,"gen_end":2397,"gen_start":2147,"node":17,"role":"declaration","source":0,"src_end":2459,"src_start":2213},{"artifact":1,"gen_end":2808,"gen_start":2397,"node":18,"role":"declaration","source":0,"src_end":3343,"src_start":2465},{"artifact":1,"gen_end":3302,"gen_start":2808,"node":19,"role":"declaration","source":0,"src_end":4668,"src_start":3349},{"artifact":1,"gen_end":3573,"gen_start":3302,"node":20,"role":"declaration","source":0,"src_end":4916,"src_start":4674},{"artifact":1,"gen_end":4018,"gen_start":3573,"node":21,"role":"declaration","source":0,"src_end":5915,"src_start":4922},{"artifact":1,"gen_end":4418,"gen_start":4018,"node":22,"role":"declaration","source":0,"src_end":6521,"src_start":5921},{"artifact":1,"gen_end":4725,"gen_start":4418,"node":23,"role":"declaration","source":0,"src_end":6833,"src_start":6527},{"artifact":1,"gen_end":5050,"gen_start":4725,"node":24,"role":"declaration","source":0,"src_end":7215,"src_start":6839},{"artifact":1,"gen_end":5401,"gen_start":5050,"node":25,"role":"declaration","source":0,"src_end":7684,"src_start":7221},{"artifact":1,"gen_end":5867,"gen_start":5401,"node":26,"role":"declaration","source":0,"src_end":8512,"src_start":7690},{"artifact":1,"gen_end":6132,"gen_start":5867,"node":27,"role":"declaration","source":0,"src_end":8777,"src_start":8518},{"artifact":1,"gen_end":6445,"gen_start":6132,"node":28,"role":"declaration","source":0,"src_end":9070,"src_start":8783},{"artifact":1,"gen_end":6758,"gen_start":6445,"node":29,"role":"declaration","source":0,"src_end":9361,"src_start":9076},{"artifact":1,"gen_end":7011,"gen_start":6758,"node":30,"role":"declaration","source":0,"src_end":9616,"src_start":9367},{"artifact":1,"gen_end":7312,"gen_start":7011,"node":31,"role":"declaration","source":0,"src_end":9897,"src_start":9622},{"artifact":1,"gen_end":7559,"gen_start":7312,"node":32,"role":"declaration","source":0,"src_end":10146,"src_start":9903},{"artifact":1,"gen_end":7823,"gen_start":7559,"node":33,"role":"declaration","source":0,"src_end":10410,"src_start":10152},{"artifact":1,"gen_end":8136,"gen_start":7823,"node":34,"role":"declaration","source":0,"src_end":10698,"src_start":10416},{"artifact":1,"gen_end":8398,"gen_start":8136,"node":35,"role":"declaration","source":0,"src_end":10960,"src_start":10704},{"artifact":1,"gen_end":8717,"gen_start":8398,"node":36,"role":"declaration","source":0,"src_end":11452,"src_start":10966},{"artifact":1,"gen_end":11068,"gen_start":8717,"node":37,"role":"declaration","source":0,"src_end":14498,"src_start":11458},{"artifact":1,"gen_end":11666,"gen_start":11068,"node":38,"role":"declaration","source":0,"src_end":16486,"src_start":14504},{"artifact":1,"gen_end":11921,"gen_start":11666,"node":39,"role":"declaration","source":0,"src_end":16653,"src_start":16492},{"artifact":1,"gen_end":12443,"gen_start":11921,"node":40,"role":"declaration","source":0,"src_end":18095,"src_start":16659},{"artifact":1,"gen_end":12701,"gen_start":12443,"node":41,"role":"declaration","source":0,"src_end":18432,"src_start":18101},{"artifact":1,"gen_end":12966,"gen_start":12701,"node":42,"role":"declaration","source":0,"src_end":18907,"src_start":18438},{"artifact":1,"gen_end":13297,"gen_start":12966,"node":43,"role":"declaration","source":0,"src_end":19594,"src_start":18913},{"artifact":1,"gen_end":13458,"gen_start":13297,"node":44,"role":"declaration","source":0,"src_end":19884,"src_start":19600},{"artifact":1,"gen_end":13576,"gen_start":13458,"node":45,"role":"declaration","source":0,"src_end":19937,"src_start":19890},{"artifact":1,"gen_end":13591,"gen_start":13576,"node":9,"role":"declaration","source":0,"src_end":19993,"src_start":0}],"module":"Main","nodes":[{"id":0,"kind":"tooling-lean-module"},{"id":1,"kind":"tooling-declaration"},{"id":2,"kind":"tooling-declaration"},{"id":3,"kind":"tooling-declaration"},{"id":4,"kind":"tooling-declaration"},{"id":5,"kind":"tooling-declaration"},{"id":6,"kind":"tooling-declaration"},{"id":7,"kind":"tooling-declaration"},{"id":8,"kind":"tooling-declaration"},{"id":9,"kind":"tooling-latex-module"},{"id":10,"kind":"tooling-declaration"},{"id":11,"kind":"tooling-declaration"},{"id":12,"kind":"tooling-declaration"},{"id":13,"kind":"tooling-declaration"},{"id":14,"kind":"tooling-declaration"},{"id":15,"kind":"tooling-declaration"},{"id":16,"kind":"tooling-declaration"},{"id":17,"kind":"tooling-declaration"},{"id":18,"kind":"tooling-declaration"},{"id":19,"kind":"tooling-declaration"},{"id":20,"kind":"tooling-declaration"},{"id":21,"kind":"tooling-declaration"},{"id":22,"kind":"tooling-declaration"},{"id":23,"kind":"tooling-declaration"},{"id":24,"kind":"tooling-declaration"},{"id":25,"kind":"tooling-declaration"},{"id":26,"kind":"tooling-declaration"},{"id":27,"kind":"tooling-declaration"},{"id":28,"kind":"tooling-declaration"},{"id":29,"kind":"tooling-declaration"},{"id":30,"kind":"tooling-declaration"},{"id":31,"kind":"tooling-declaration"},{"id":32,"kind":"tooling-declaration"},{"id":33,"kind":"tooling-declaration"},{"id":34,"kind":"tooling-declaration"},{"id":35,"kind":"tooling-declaration"},{"id":36,"kind":"tooling-declaration"},{"id":37,"kind":"tooling-declaration"},{"id":38,"kind":"tooling-declaration"},{"id":39,"kind":"tooling-declaration"},{"id":40,"kind":"tooling-declaration"},{"id":41,"kind":"tooling-declaration"},{"id":42,"kind":"tooling-declaration"},{"id":43,"kind":"tooling-declaration"},{"id":44,"kind":"tooling-declaration"},{"id":45,"kind":"tooling-declaration"}],"semantic_id":"6665946d3b9236c5f700efa49a4ecbb390ce1489ee0b7db067b6bd552cd6df89","source_id":"c20df86f017d30d4840febe006428fcec1680057958dc50478797dec0a2e044e","sources":[{"id":0,"kind":"file","path":"src/Main.lex.tex","sha256":"5800715dce08fdc9bb05acc4dcd61ae45a6f975b55dc9d6dfc877a8b4798da13"}],"spec":"lexlean/source-map/1"} diff --git a/tests/tooling/core/expected/build/manifest.json b/tests/tooling/core/expected/build/manifest.json index e3f2f1f76..c8fe5c6c8 100644 --- a/tests/tooling/core/expected/build/manifest.json +++ b/tests/tooling/core/expected/build/manifest.json @@ -1 +1 @@ -{"build_id":"8a2d498a5235114db131a26efbaa4470ac5eadb59e0119766670acda6c4787db","compiler":{"semantics_id":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","version":"0.3.0"},"inputs":[{"byte_length":2684,"kind":"lexicon","path":"embedded","sha256":"3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b"},{"byte_length":14885,"kind":"lexicon","path":"embedded","sha256":"e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac"},{"byte_length":36197,"kind":"lexicon","path":"embedded","sha256":"827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392"},{"byte_length":1597,"kind":"lock","path":"lexlean.lock","sha256":"d65f4909bf1db80844c74eb50482b9ce116fd6d5bd05f5537956b12703934864"},{"byte_length":645,"kind":"project-config","path":"lexlean.toml","sha256":"238e7aca6dbdb072aca261449c9bd60440763fbf9d421fdde4d29f286ff968b4"},{"byte_length":14154,"kind":"source","path":"src/Main.lex.tex","sha256":"d611da375d88aa3efe36b73131554920015825a0d05c0cdfc1b9e50d357e3a6e"}],"language":"1.2","lean_toolchain":"leanprover/lean4:v4.32.1","modules":[{"lean_module":"ToolingCore.Main","module":"Main","source_path":"src/Main.lex.tex"}],"outputs":[{"byte_length":12100,"kind":"coverage","path":"coverage/ToolingCore/Main.coverage.json","sha256":"fa68401f794e7224cf2e10d57e7cd0eb4bdc82dffa1ce179d0a0c48b2686204b"},{"byte_length":1612,"kind":"lean","path":"modules/ToolingCore/Main.lean","sha256":"3382b759545d15d0cb3ac2cb3ea08833f13656dd0540dcc962d8a2710a30f935"},{"byte_length":10602,"kind":"lexicon-closure","path":"lexicons/Main.closure.json","sha256":"727110f90daff26a2e5eb8069fcefecd5790c1264f5d6d4b2ef57db1c2bfb867"},{"byte_length":7755,"kind":"map","path":"maps/ToolingCore/Main.map.json","sha256":"ed3a0f382fa13756d5929be547c24c734a9f55101f4d1c6d50cf265a7f23f5ec"},{"byte_length":8320,"kind":"tex","path":"modules/ToolingCore/Main.tex","sha256":"386777537e87ff79421132913e55382244ba72e469fa00db76765a830658d42f"}],"project":"tooling-core","selection":["Main"],"semantic_id":"8e3fbcec0e992ffd6bb0b8f3ac64f3efb1e22a399c3119119ebc9da06e673111","source_id":"ff8cf214e7b8bb96afd576855c72786f51d81f0c8e3af4aaab3a4447a0cf3c2e","spec":"lexlean/build-manifest/1"} +{"build_id":"8b36e5f8c44e97b6594e8fe437699858260735dee94ce0d08c48188e4ca21af2","compiler":{"semantics_id":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","version":"0.3.0"},"inputs":[{"byte_length":2684,"kind":"lexicon","path":"embedded","sha256":"3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b"},{"byte_length":14885,"kind":"lexicon","path":"embedded","sha256":"e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac"},{"byte_length":36197,"kind":"lexicon","path":"embedded","sha256":"827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392"},{"byte_length":1597,"kind":"lock","path":"lexlean.lock","sha256":"079cef0981c2c3a01fc7accd83eef48435ed9f8f7e72a73bb8d9f756f86b4b95"},{"byte_length":645,"kind":"project-config","path":"lexlean.toml","sha256":"238e7aca6dbdb072aca261449c9bd60440763fbf9d421fdde4d29f286ff968b4"},{"byte_length":14154,"kind":"source","path":"src/Main.lex.tex","sha256":"d611da375d88aa3efe36b73131554920015825a0d05c0cdfc1b9e50d357e3a6e"}],"language":"1.2","lean_toolchain":"leanprover/lean4:v4.32.1","modules":[{"lean_module":"ToolingCore.Main","module":"Main","source_path":"src/Main.lex.tex"}],"outputs":[{"byte_length":12100,"kind":"coverage","path":"coverage/ToolingCore/Main.coverage.json","sha256":"fa68401f794e7224cf2e10d57e7cd0eb4bdc82dffa1ce179d0a0c48b2686204b"},{"byte_length":1612,"kind":"lean","path":"modules/ToolingCore/Main.lean","sha256":"3382b759545d15d0cb3ac2cb3ea08833f13656dd0540dcc962d8a2710a30f935"},{"byte_length":10602,"kind":"lexicon-closure","path":"lexicons/Main.closure.json","sha256":"727110f90daff26a2e5eb8069fcefecd5790c1264f5d6d4b2ef57db1c2bfb867"},{"byte_length":7755,"kind":"map","path":"maps/ToolingCore/Main.map.json","sha256":"59ca0036daab08f11f1c22ef3a660c252c8cd151644f34b50d26a06e90cad6b6"},{"byte_length":8320,"kind":"tex","path":"modules/ToolingCore/Main.tex","sha256":"386777537e87ff79421132913e55382244ba72e469fa00db76765a830658d42f"}],"project":"tooling-core","selection":["Main"],"semantic_id":"21110f82076259331ccb57c284d67d8261e0ab30919e79676f18bcda490a3853","source_id":"5d9a5fb7de4bdbd3895a3a576711a3b860fd8941bccb813741bd6f8099dedb61","spec":"lexlean/build-manifest/1"} diff --git a/tests/tooling/core/expected/build/maps/ToolingCore/Main.map.json b/tests/tooling/core/expected/build/maps/ToolingCore/Main.map.json index 51053e35d..84b973284 100644 --- a/tests/tooling/core/expected/build/maps/ToolingCore/Main.map.json +++ b/tests/tooling/core/expected/build/maps/ToolingCore/Main.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/ToolingCore/Main.lean"},{"id":1,"kind":"tex","path":"modules/ToolingCore/Main.tex"}],"mappings":[{"artifact":0,"gen_end":118,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":14154,"src_start":0},{"artifact":0,"gen_end":249,"gen_start":118,"node":1,"role":"declaration","source":0,"src_end":6580,"src_start":5792},{"artifact":0,"gen_end":404,"gen_start":249,"node":2,"role":"declaration","source":0,"src_end":7496,"src_start":6586},{"artifact":0,"gen_end":548,"gen_start":404,"node":3,"role":"declaration","source":0,"src_end":8300,"src_start":7502},{"artifact":0,"gen_end":684,"gen_start":548,"node":4,"role":"declaration","source":0,"src_end":9080,"src_start":8306},{"artifact":0,"gen_end":755,"gen_start":684,"node":5,"role":"declaration","source":0,"src_end":9512,"src_start":9086},{"artifact":0,"gen_end":850,"gen_start":755,"node":6,"role":"declaration","source":0,"src_end":9997,"src_start":9518},{"artifact":0,"gen_end":924,"gen_start":850,"node":7,"role":"declaration","source":0,"src_end":10360,"src_start":10003},{"artifact":0,"gen_end":991,"gen_start":924,"node":8,"role":"declaration","source":0,"src_end":10703,"src_start":10366},{"artifact":0,"gen_end":1070,"gen_start":991,"node":9,"role":"declaration","source":0,"src_end":11276,"src_start":10709},{"artifact":0,"gen_end":1172,"gen_start":1070,"node":10,"role":"declaration","source":0,"src_end":11793,"src_start":11282},{"artifact":0,"gen_end":1282,"gen_start":1172,"node":11,"role":"declaration","source":0,"src_end":12390,"src_start":11799},{"artifact":0,"gen_end":1350,"gen_start":1282,"node":12,"role":"declaration","source":0,"src_end":12711,"src_start":12396},{"artifact":0,"gen_end":1482,"gen_start":1350,"node":13,"role":"declaration","source":0,"src_end":13404,"src_start":12717},{"artifact":0,"gen_end":1612,"gen_start":1482,"node":14,"role":"declaration","source":0,"src_end":14098,"src_start":13410},{"artifact":0,"gen_end":1612,"gen_start":1612,"node":0,"role":"declaration","source":0,"src_end":14154,"src_start":0},{"artifact":1,"gen_end":133,"gen_start":0,"node":15,"role":"declaration","source":0,"src_end":14154,"src_start":0},{"artifact":1,"gen_end":406,"gen_start":133,"node":16,"role":"declaration","source":0,"src_end":548,"src_start":269},{"artifact":1,"gen_end":686,"gen_start":406,"node":17,"role":"declaration","source":0,"src_end":899,"src_start":554},{"artifact":1,"gen_end":1050,"gen_start":686,"node":18,"role":"declaration","source":0,"src_end":1440,"src_start":905},{"artifact":1,"gen_end":1300,"gen_start":1050,"node":19,"role":"declaration","source":0,"src_end":1692,"src_start":1446},{"artifact":1,"gen_end":1548,"gen_start":1300,"node":20,"role":"declaration","source":0,"src_end":1942,"src_start":1698},{"artifact":1,"gen_end":1889,"gen_start":1548,"node":21,"role":"declaration","source":0,"src_end":2329,"src_start":1948},{"artifact":1,"gen_end":2218,"gen_start":1889,"node":22,"role":"declaration","source":0,"src_end":2829,"src_start":2335},{"artifact":1,"gen_end":2518,"gen_start":2218,"node":23,"role":"declaration","source":0,"src_end":3106,"src_start":2835},{"artifact":1,"gen_end":2816,"gen_start":2518,"node":24,"role":"declaration","source":0,"src_end":3461,"src_start":3112},{"artifact":1,"gen_end":3115,"gen_start":2816,"node":25,"role":"declaration","source":0,"src_end":3817,"src_start":3467},{"artifact":1,"gen_end":3399,"gen_start":3115,"node":26,"role":"declaration","source":0,"src_end":4106,"src_start":3823},{"artifact":1,"gen_end":3823,"gen_start":3399,"node":27,"role":"declaration","source":0,"src_end":4909,"src_start":4112},{"artifact":1,"gen_end":4145,"gen_start":3823,"node":28,"role":"declaration","source":0,"src_end":5288,"src_start":4915},{"artifact":1,"gen_end":4536,"gen_start":4145,"node":29,"role":"declaration","source":0,"src_end":5786,"src_start":5294},{"artifact":1,"gen_end":4822,"gen_start":4536,"node":30,"role":"declaration","source":0,"src_end":6580,"src_start":5792},{"artifact":1,"gen_end":5159,"gen_start":4822,"node":31,"role":"declaration","source":0,"src_end":7496,"src_start":6586},{"artifact":1,"gen_end":5461,"gen_start":5159,"node":32,"role":"declaration","source":0,"src_end":8300,"src_start":7502},{"artifact":1,"gen_end":5765,"gen_start":5461,"node":33,"role":"declaration","source":0,"src_end":9080,"src_start":8306},{"artifact":1,"gen_end":5991,"gen_start":5765,"node":34,"role":"declaration","source":0,"src_end":9512,"src_start":9086},{"artifact":1,"gen_end":6252,"gen_start":5991,"node":35,"role":"declaration","source":0,"src_end":9997,"src_start":9518},{"artifact":1,"gen_end":6482,"gen_start":6252,"node":36,"role":"declaration","source":0,"src_end":10360,"src_start":10003},{"artifact":1,"gen_end":6703,"gen_start":6482,"node":37,"role":"declaration","source":0,"src_end":10703,"src_start":10366},{"artifact":1,"gen_end":6942,"gen_start":6703,"node":38,"role":"declaration","source":0,"src_end":11276,"src_start":10709},{"artifact":1,"gen_end":7200,"gen_start":6942,"node":39,"role":"declaration","source":0,"src_end":11793,"src_start":11282},{"artifact":1,"gen_end":7468,"gen_start":7200,"node":40,"role":"declaration","source":0,"src_end":12390,"src_start":11799},{"artifact":1,"gen_end":7697,"gen_start":7468,"node":41,"role":"declaration","source":0,"src_end":12711,"src_start":12396},{"artifact":1,"gen_end":8001,"gen_start":7697,"node":42,"role":"declaration","source":0,"src_end":13404,"src_start":12717},{"artifact":1,"gen_end":8305,"gen_start":8001,"node":43,"role":"declaration","source":0,"src_end":14098,"src_start":13410},{"artifact":1,"gen_end":8320,"gen_start":8305,"node":15,"role":"declaration","source":0,"src_end":14154,"src_start":0}],"module":"Main","nodes":[{"id":0,"kind":"tooling-lean-module"},{"id":1,"kind":"tooling-declaration"},{"id":2,"kind":"tooling-declaration"},{"id":3,"kind":"tooling-declaration"},{"id":4,"kind":"tooling-declaration"},{"id":5,"kind":"tooling-declaration"},{"id":6,"kind":"tooling-declaration"},{"id":7,"kind":"tooling-declaration"},{"id":8,"kind":"tooling-declaration"},{"id":9,"kind":"tooling-declaration"},{"id":10,"kind":"tooling-declaration"},{"id":11,"kind":"tooling-declaration"},{"id":12,"kind":"tooling-declaration"},{"id":13,"kind":"tooling-declaration"},{"id":14,"kind":"tooling-declaration"},{"id":15,"kind":"tooling-latex-module"},{"id":16,"kind":"tooling-declaration"},{"id":17,"kind":"tooling-declaration"},{"id":18,"kind":"tooling-declaration"},{"id":19,"kind":"tooling-declaration"},{"id":20,"kind":"tooling-declaration"},{"id":21,"kind":"tooling-declaration"},{"id":22,"kind":"tooling-declaration"},{"id":23,"kind":"tooling-declaration"},{"id":24,"kind":"tooling-declaration"},{"id":25,"kind":"tooling-declaration"},{"id":26,"kind":"tooling-declaration"},{"id":27,"kind":"tooling-declaration"},{"id":28,"kind":"tooling-declaration"},{"id":29,"kind":"tooling-declaration"},{"id":30,"kind":"tooling-declaration"},{"id":31,"kind":"tooling-declaration"},{"id":32,"kind":"tooling-declaration"},{"id":33,"kind":"tooling-declaration"},{"id":34,"kind":"tooling-declaration"},{"id":35,"kind":"tooling-declaration"},{"id":36,"kind":"tooling-declaration"},{"id":37,"kind":"tooling-declaration"},{"id":38,"kind":"tooling-declaration"},{"id":39,"kind":"tooling-declaration"},{"id":40,"kind":"tooling-declaration"},{"id":41,"kind":"tooling-declaration"},{"id":42,"kind":"tooling-declaration"},{"id":43,"kind":"tooling-declaration"}],"semantic_id":"8e3fbcec0e992ffd6bb0b8f3ac64f3efb1e22a399c3119119ebc9da06e673111","source_id":"ff8cf214e7b8bb96afd576855c72786f51d81f0c8e3af4aaab3a4447a0cf3c2e","sources":[{"id":0,"kind":"file","path":"src/Main.lex.tex","sha256":"d611da375d88aa3efe36b73131554920015825a0d05c0cdfc1b9e50d357e3a6e"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/ToolingCore/Main.lean"},{"id":1,"kind":"tex","path":"modules/ToolingCore/Main.tex"}],"mappings":[{"artifact":0,"gen_end":118,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":14154,"src_start":0},{"artifact":0,"gen_end":249,"gen_start":118,"node":1,"role":"declaration","source":0,"src_end":6580,"src_start":5792},{"artifact":0,"gen_end":404,"gen_start":249,"node":2,"role":"declaration","source":0,"src_end":7496,"src_start":6586},{"artifact":0,"gen_end":548,"gen_start":404,"node":3,"role":"declaration","source":0,"src_end":8300,"src_start":7502},{"artifact":0,"gen_end":684,"gen_start":548,"node":4,"role":"declaration","source":0,"src_end":9080,"src_start":8306},{"artifact":0,"gen_end":755,"gen_start":684,"node":5,"role":"declaration","source":0,"src_end":9512,"src_start":9086},{"artifact":0,"gen_end":850,"gen_start":755,"node":6,"role":"declaration","source":0,"src_end":9997,"src_start":9518},{"artifact":0,"gen_end":924,"gen_start":850,"node":7,"role":"declaration","source":0,"src_end":10360,"src_start":10003},{"artifact":0,"gen_end":991,"gen_start":924,"node":8,"role":"declaration","source":0,"src_end":10703,"src_start":10366},{"artifact":0,"gen_end":1070,"gen_start":991,"node":9,"role":"declaration","source":0,"src_end":11276,"src_start":10709},{"artifact":0,"gen_end":1172,"gen_start":1070,"node":10,"role":"declaration","source":0,"src_end":11793,"src_start":11282},{"artifact":0,"gen_end":1282,"gen_start":1172,"node":11,"role":"declaration","source":0,"src_end":12390,"src_start":11799},{"artifact":0,"gen_end":1350,"gen_start":1282,"node":12,"role":"declaration","source":0,"src_end":12711,"src_start":12396},{"artifact":0,"gen_end":1482,"gen_start":1350,"node":13,"role":"declaration","source":0,"src_end":13404,"src_start":12717},{"artifact":0,"gen_end":1612,"gen_start":1482,"node":14,"role":"declaration","source":0,"src_end":14098,"src_start":13410},{"artifact":0,"gen_end":1612,"gen_start":1612,"node":0,"role":"declaration","source":0,"src_end":14154,"src_start":0},{"artifact":1,"gen_end":133,"gen_start":0,"node":15,"role":"declaration","source":0,"src_end":14154,"src_start":0},{"artifact":1,"gen_end":406,"gen_start":133,"node":16,"role":"declaration","source":0,"src_end":548,"src_start":269},{"artifact":1,"gen_end":686,"gen_start":406,"node":17,"role":"declaration","source":0,"src_end":899,"src_start":554},{"artifact":1,"gen_end":1050,"gen_start":686,"node":18,"role":"declaration","source":0,"src_end":1440,"src_start":905},{"artifact":1,"gen_end":1300,"gen_start":1050,"node":19,"role":"declaration","source":0,"src_end":1692,"src_start":1446},{"artifact":1,"gen_end":1548,"gen_start":1300,"node":20,"role":"declaration","source":0,"src_end":1942,"src_start":1698},{"artifact":1,"gen_end":1889,"gen_start":1548,"node":21,"role":"declaration","source":0,"src_end":2329,"src_start":1948},{"artifact":1,"gen_end":2218,"gen_start":1889,"node":22,"role":"declaration","source":0,"src_end":2829,"src_start":2335},{"artifact":1,"gen_end":2518,"gen_start":2218,"node":23,"role":"declaration","source":0,"src_end":3106,"src_start":2835},{"artifact":1,"gen_end":2816,"gen_start":2518,"node":24,"role":"declaration","source":0,"src_end":3461,"src_start":3112},{"artifact":1,"gen_end":3115,"gen_start":2816,"node":25,"role":"declaration","source":0,"src_end":3817,"src_start":3467},{"artifact":1,"gen_end":3399,"gen_start":3115,"node":26,"role":"declaration","source":0,"src_end":4106,"src_start":3823},{"artifact":1,"gen_end":3823,"gen_start":3399,"node":27,"role":"declaration","source":0,"src_end":4909,"src_start":4112},{"artifact":1,"gen_end":4145,"gen_start":3823,"node":28,"role":"declaration","source":0,"src_end":5288,"src_start":4915},{"artifact":1,"gen_end":4536,"gen_start":4145,"node":29,"role":"declaration","source":0,"src_end":5786,"src_start":5294},{"artifact":1,"gen_end":4822,"gen_start":4536,"node":30,"role":"declaration","source":0,"src_end":6580,"src_start":5792},{"artifact":1,"gen_end":5159,"gen_start":4822,"node":31,"role":"declaration","source":0,"src_end":7496,"src_start":6586},{"artifact":1,"gen_end":5461,"gen_start":5159,"node":32,"role":"declaration","source":0,"src_end":8300,"src_start":7502},{"artifact":1,"gen_end":5765,"gen_start":5461,"node":33,"role":"declaration","source":0,"src_end":9080,"src_start":8306},{"artifact":1,"gen_end":5991,"gen_start":5765,"node":34,"role":"declaration","source":0,"src_end":9512,"src_start":9086},{"artifact":1,"gen_end":6252,"gen_start":5991,"node":35,"role":"declaration","source":0,"src_end":9997,"src_start":9518},{"artifact":1,"gen_end":6482,"gen_start":6252,"node":36,"role":"declaration","source":0,"src_end":10360,"src_start":10003},{"artifact":1,"gen_end":6703,"gen_start":6482,"node":37,"role":"declaration","source":0,"src_end":10703,"src_start":10366},{"artifact":1,"gen_end":6942,"gen_start":6703,"node":38,"role":"declaration","source":0,"src_end":11276,"src_start":10709},{"artifact":1,"gen_end":7200,"gen_start":6942,"node":39,"role":"declaration","source":0,"src_end":11793,"src_start":11282},{"artifact":1,"gen_end":7468,"gen_start":7200,"node":40,"role":"declaration","source":0,"src_end":12390,"src_start":11799},{"artifact":1,"gen_end":7697,"gen_start":7468,"node":41,"role":"declaration","source":0,"src_end":12711,"src_start":12396},{"artifact":1,"gen_end":8001,"gen_start":7697,"node":42,"role":"declaration","source":0,"src_end":13404,"src_start":12717},{"artifact":1,"gen_end":8305,"gen_start":8001,"node":43,"role":"declaration","source":0,"src_end":14098,"src_start":13410},{"artifact":1,"gen_end":8320,"gen_start":8305,"node":15,"role":"declaration","source":0,"src_end":14154,"src_start":0}],"module":"Main","nodes":[{"id":0,"kind":"tooling-lean-module"},{"id":1,"kind":"tooling-declaration"},{"id":2,"kind":"tooling-declaration"},{"id":3,"kind":"tooling-declaration"},{"id":4,"kind":"tooling-declaration"},{"id":5,"kind":"tooling-declaration"},{"id":6,"kind":"tooling-declaration"},{"id":7,"kind":"tooling-declaration"},{"id":8,"kind":"tooling-declaration"},{"id":9,"kind":"tooling-declaration"},{"id":10,"kind":"tooling-declaration"},{"id":11,"kind":"tooling-declaration"},{"id":12,"kind":"tooling-declaration"},{"id":13,"kind":"tooling-declaration"},{"id":14,"kind":"tooling-declaration"},{"id":15,"kind":"tooling-latex-module"},{"id":16,"kind":"tooling-declaration"},{"id":17,"kind":"tooling-declaration"},{"id":18,"kind":"tooling-declaration"},{"id":19,"kind":"tooling-declaration"},{"id":20,"kind":"tooling-declaration"},{"id":21,"kind":"tooling-declaration"},{"id":22,"kind":"tooling-declaration"},{"id":23,"kind":"tooling-declaration"},{"id":24,"kind":"tooling-declaration"},{"id":25,"kind":"tooling-declaration"},{"id":26,"kind":"tooling-declaration"},{"id":27,"kind":"tooling-declaration"},{"id":28,"kind":"tooling-declaration"},{"id":29,"kind":"tooling-declaration"},{"id":30,"kind":"tooling-declaration"},{"id":31,"kind":"tooling-declaration"},{"id":32,"kind":"tooling-declaration"},{"id":33,"kind":"tooling-declaration"},{"id":34,"kind":"tooling-declaration"},{"id":35,"kind":"tooling-declaration"},{"id":36,"kind":"tooling-declaration"},{"id":37,"kind":"tooling-declaration"},{"id":38,"kind":"tooling-declaration"},{"id":39,"kind":"tooling-declaration"},{"id":40,"kind":"tooling-declaration"},{"id":41,"kind":"tooling-declaration"},{"id":42,"kind":"tooling-declaration"},{"id":43,"kind":"tooling-declaration"}],"semantic_id":"21110f82076259331ccb57c284d67d8261e0ab30919e79676f18bcda490a3853","source_id":"5d9a5fb7de4bdbd3895a3a576711a3b860fd8941bccb813741bd6f8099dedb61","sources":[{"id":0,"kind":"file","path":"src/Main.lex.tex","sha256":"d611da375d88aa3efe36b73131554920015825a0d05c0cdfc1b9e50d357e3a6e"}],"spec":"lexlean/source-map/1"} diff --git a/tests/tooling/traversal/expected/build/manifest.json b/tests/tooling/traversal/expected/build/manifest.json index 512fe7f81..64a73ff78 100644 --- a/tests/tooling/traversal/expected/build/manifest.json +++ b/tests/tooling/traversal/expected/build/manifest.json @@ -1 +1 @@ -{"build_id":"f0641e2adcab1d6a5cfb296dccf205d961c9fa7c053b06ed27d7a0f31edf18eb","compiler":{"semantics_id":"974c98b59fc09a23c87bba2bd495f516ffbb7ae78085ea62b7e2580f6d01a290","version":"0.3.0"},"inputs":[{"byte_length":2684,"kind":"lexicon","path":"embedded","sha256":"3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b"},{"byte_length":14885,"kind":"lexicon","path":"embedded","sha256":"e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac"},{"byte_length":36197,"kind":"lexicon","path":"embedded","sha256":"827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392"},{"byte_length":1597,"kind":"lock","path":"lexlean.lock","sha256":"849e698a420c47416c822ae0592150dffd75584c07723f3517245579fa7d1a1e"},{"byte_length":655,"kind":"project-config","path":"lexlean.toml","sha256":"6ca06ebfa2d29813b86b2c3f03d84db119724d4af5bc00d8fed779d27cbd6c21"},{"byte_length":24781,"kind":"source","path":"src/Main.lex.tex","sha256":"67110e50b1b9a593a0b92051a0922a3484384db0a1f6845f04b901adf80e81ac"}],"language":"1.2","lean_toolchain":"leanprover/lean4:v4.32.1","modules":[{"lean_module":"ToolingTraversal.Main","module":"Main","source_path":"src/Main.lex.tex"}],"outputs":[{"byte_length":10404,"kind":"coverage","path":"coverage/ToolingTraversal/Main.coverage.json","sha256":"2211e359fb6745e9b1470a433f2ded42619616d7f056fcd644bdd566b7cceb2a"},{"byte_length":1451,"kind":"lean","path":"modules/ToolingTraversal/Main.lean","sha256":"50e1bc0cc45ca86a532ac775ef794454cd74d7bc19b41e749d930c1b4749e657"},{"byte_length":10602,"kind":"lexicon-closure","path":"lexicons/Main.closure.json","sha256":"727110f90daff26a2e5eb8069fcefecd5790c1264f5d6d4b2ef57db1c2bfb867"},{"byte_length":5728,"kind":"map","path":"maps/ToolingTraversal/Main.map.json","sha256":"6f4a8f30a3454e78f671f0226b83e064dba4c819491a5113b0f111518da8d0e5"},{"byte_length":11798,"kind":"tex","path":"modules/ToolingTraversal/Main.tex","sha256":"e7cae90c6a1cd1d9fa94610f688a123728c3f12daaa7020f7dcf900bced7bc13"}],"project":"tooling-traversal","selection":["Main"],"semantic_id":"8c11135ae83e9f30f2d9fc419dd136c708c647f79612b31613e8909340a0d34c","source_id":"e024c3cd63ef5c9153992ee7b163a254f824541ec7c232f3f7fcdc0671876331","spec":"lexlean/build-manifest/1"} +{"build_id":"624a363a444c2fc3881aa8eb4d91b28a705cf759d4db1a7649c44a2da5110530","compiler":{"semantics_id":"a41110055179678ed946fba6370dad2f60f559f7b1bf536ddc6418a68c52e54d","version":"0.3.0"},"inputs":[{"byte_length":2684,"kind":"lexicon","path":"embedded","sha256":"3bc0fb09d706ffa7d5a1363302ea87c049acc7c7dcafde63c62682620c11be9b"},{"byte_length":14885,"kind":"lexicon","path":"embedded","sha256":"e0db021e01b91d651c43921d66f6b0023c8efbf17cac2ec53192ce5305e4e1ac"},{"byte_length":36197,"kind":"lexicon","path":"embedded","sha256":"827317cae68c162f3a96c8a8de4e53ab348e7d3724fd2b834fa85ecde1a1b392"},{"byte_length":1597,"kind":"lock","path":"lexlean.lock","sha256":"458718dd186caf3419c743fe983e266bfca4fb1a8c0c9924fb7a81a53c72552e"},{"byte_length":655,"kind":"project-config","path":"lexlean.toml","sha256":"6ca06ebfa2d29813b86b2c3f03d84db119724d4af5bc00d8fed779d27cbd6c21"},{"byte_length":24781,"kind":"source","path":"src/Main.lex.tex","sha256":"67110e50b1b9a593a0b92051a0922a3484384db0a1f6845f04b901adf80e81ac"}],"language":"1.2","lean_toolchain":"leanprover/lean4:v4.32.1","modules":[{"lean_module":"ToolingTraversal.Main","module":"Main","source_path":"src/Main.lex.tex"}],"outputs":[{"byte_length":10404,"kind":"coverage","path":"coverage/ToolingTraversal/Main.coverage.json","sha256":"2211e359fb6745e9b1470a433f2ded42619616d7f056fcd644bdd566b7cceb2a"},{"byte_length":1451,"kind":"lean","path":"modules/ToolingTraversal/Main.lean","sha256":"50e1bc0cc45ca86a532ac775ef794454cd74d7bc19b41e749d930c1b4749e657"},{"byte_length":10602,"kind":"lexicon-closure","path":"lexicons/Main.closure.json","sha256":"727110f90daff26a2e5eb8069fcefecd5790c1264f5d6d4b2ef57db1c2bfb867"},{"byte_length":5728,"kind":"map","path":"maps/ToolingTraversal/Main.map.json","sha256":"c5aded7c900597a8efea704ef472194e2395c3f9318cc7273bea6255584dbbd6"},{"byte_length":11798,"kind":"tex","path":"modules/ToolingTraversal/Main.tex","sha256":"e7cae90c6a1cd1d9fa94610f688a123728c3f12daaa7020f7dcf900bced7bc13"}],"project":"tooling-traversal","selection":["Main"],"semantic_id":"cce9bff7bb504faea75139226568af040bd1c39f65f8938dbe20e7cf1fe7e037","source_id":"9e8ef0cd990ab90afbf2342ddf1f9a2b0226ace44c8ec18149a7d008f1b5cce8","spec":"lexlean/build-manifest/1"} diff --git a/tests/tooling/traversal/expected/build/maps/ToolingTraversal/Main.map.json b/tests/tooling/traversal/expected/build/maps/ToolingTraversal/Main.map.json index 85a441456..5a7a5fe76 100644 --- a/tests/tooling/traversal/expected/build/maps/ToolingTraversal/Main.map.json +++ b/tests/tooling/traversal/expected/build/maps/ToolingTraversal/Main.map.json @@ -1 +1 @@ -{"artifacts":[{"id":0,"kind":"lean","path":"modules/ToolingTraversal/Main.lean"},{"id":1,"kind":"tex","path":"modules/ToolingTraversal/Main.tex"}],"mappings":[{"artifact":0,"gen_end":114,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":24781,"src_start":0},{"artifact":0,"gen_end":560,"gen_start":114,"node":1,"role":"declaration","source":0,"src_end":20790,"src_start":18370},{"artifact":0,"gen_end":763,"gen_start":560,"node":2,"role":"declaration","source":0,"src_end":21559,"src_start":20796},{"artifact":0,"gen_end":1226,"gen_start":763,"node":3,"role":"declaration","source":0,"src_end":23775,"src_start":21565},{"artifact":0,"gen_end":1451,"gen_start":1226,"node":4,"role":"declaration","source":0,"src_end":24725,"src_start":23781},{"artifact":0,"gen_end":1451,"gen_start":1451,"node":0,"role":"declaration","source":0,"src_end":24781,"src_start":0},{"artifact":1,"gen_end":133,"gen_start":0,"node":5,"role":"declaration","source":0,"src_end":24781,"src_start":0},{"artifact":1,"gen_end":440,"gen_start":133,"node":6,"role":"declaration","source":0,"src_end":578,"src_start":269},{"artifact":1,"gen_end":2723,"gen_start":440,"node":7,"role":"declaration","source":0,"src_end":7765,"src_start":584},{"artifact":1,"gen_end":3205,"gen_start":2723,"node":8,"role":"declaration","source":0,"src_end":8935,"src_start":7771},{"artifact":1,"gen_end":3934,"gen_start":3205,"node":9,"role":"declaration","source":0,"src_end":10780,"src_start":8941},{"artifact":1,"gen_end":4374,"gen_start":3934,"node":10,"role":"declaration","source":0,"src_end":11737,"src_start":10786},{"artifact":1,"gen_end":4680,"gen_start":4374,"node":11,"role":"declaration","source":0,"src_end":12218,"src_start":11743},{"artifact":1,"gen_end":4953,"gen_start":4680,"node":12,"role":"declaration","source":0,"src_end":12503,"src_start":12224},{"artifact":1,"gen_end":5297,"gen_start":4953,"node":13,"role":"declaration","source":0,"src_end":12837,"src_start":12509},{"artifact":1,"gen_end":5645,"gen_start":5297,"node":14,"role":"declaration","source":0,"src_end":13175,"src_start":12843},{"artifact":1,"gen_end":5895,"gen_start":5645,"node":15,"role":"declaration","source":0,"src_end":13427,"src_start":13181},{"artifact":1,"gen_end":6147,"gen_start":5895,"node":16,"role":"declaration","source":0,"src_end":13681,"src_start":13433},{"artifact":1,"gen_end":6427,"gen_start":6147,"node":17,"role":"declaration","source":0,"src_end":14032,"src_start":13687},{"artifact":1,"gen_end":6768,"gen_start":6427,"node":18,"role":"declaration","source":0,"src_end":14419,"src_start":14038},{"artifact":1,"gen_end":7114,"gen_start":6768,"node":19,"role":"declaration","source":0,"src_end":14755,"src_start":14425},{"artifact":1,"gen_end":7367,"gen_start":7114,"node":20,"role":"declaration","source":0,"src_end":15010,"src_start":14761},{"artifact":1,"gen_end":7650,"gen_start":7367,"node":21,"role":"declaration","source":0,"src_end":15295,"src_start":15016},{"artifact":1,"gen_end":8014,"gen_start":7650,"node":22,"role":"declaration","source":0,"src_end":15836,"src_start":15301},{"artifact":1,"gen_end":8312,"gen_start":8014,"node":23,"role":"declaration","source":0,"src_end":16191,"src_start":15842},{"artifact":1,"gen_end":8660,"gen_start":8312,"node":24,"role":"declaration","source":0,"src_end":16730,"src_start":16197},{"artifact":1,"gen_end":9113,"gen_start":8660,"node":25,"role":"declaration","source":0,"src_end":17658,"src_start":16736},{"artifact":1,"gen_end":9680,"gen_start":9113,"node":26,"role":"declaration","source":0,"src_end":18364,"src_start":17664},{"artifact":1,"gen_end":10335,"gen_start":9680,"node":27,"role":"declaration","source":0,"src_end":20790,"src_start":18370},{"artifact":1,"gen_end":10721,"gen_start":10335,"node":28,"role":"declaration","source":0,"src_end":21559,"src_start":20796},{"artifact":1,"gen_end":11383,"gen_start":10721,"node":29,"role":"declaration","source":0,"src_end":23775,"src_start":21565},{"artifact":1,"gen_end":11783,"gen_start":11383,"node":30,"role":"declaration","source":0,"src_end":24725,"src_start":23781},{"artifact":1,"gen_end":11798,"gen_start":11783,"node":5,"role":"declaration","source":0,"src_end":24781,"src_start":0}],"module":"Main","nodes":[{"id":0,"kind":"tooling-lean-module"},{"id":1,"kind":"tooling-declaration"},{"id":2,"kind":"tooling-declaration"},{"id":3,"kind":"tooling-declaration"},{"id":4,"kind":"tooling-declaration"},{"id":5,"kind":"tooling-latex-module"},{"id":6,"kind":"tooling-declaration"},{"id":7,"kind":"tooling-declaration"},{"id":8,"kind":"tooling-declaration"},{"id":9,"kind":"tooling-declaration"},{"id":10,"kind":"tooling-declaration"},{"id":11,"kind":"tooling-declaration"},{"id":12,"kind":"tooling-declaration"},{"id":13,"kind":"tooling-declaration"},{"id":14,"kind":"tooling-declaration"},{"id":15,"kind":"tooling-declaration"},{"id":16,"kind":"tooling-declaration"},{"id":17,"kind":"tooling-declaration"},{"id":18,"kind":"tooling-declaration"},{"id":19,"kind":"tooling-declaration"},{"id":20,"kind":"tooling-declaration"},{"id":21,"kind":"tooling-declaration"},{"id":22,"kind":"tooling-declaration"},{"id":23,"kind":"tooling-declaration"},{"id":24,"kind":"tooling-declaration"},{"id":25,"kind":"tooling-declaration"},{"id":26,"kind":"tooling-declaration"},{"id":27,"kind":"tooling-declaration"},{"id":28,"kind":"tooling-declaration"},{"id":29,"kind":"tooling-declaration"},{"id":30,"kind":"tooling-declaration"}],"semantic_id":"8c11135ae83e9f30f2d9fc419dd136c708c647f79612b31613e8909340a0d34c","source_id":"e024c3cd63ef5c9153992ee7b163a254f824541ec7c232f3f7fcdc0671876331","sources":[{"id":0,"kind":"file","path":"src/Main.lex.tex","sha256":"67110e50b1b9a593a0b92051a0922a3484384db0a1f6845f04b901adf80e81ac"}],"spec":"lexlean/source-map/1"} +{"artifacts":[{"id":0,"kind":"lean","path":"modules/ToolingTraversal/Main.lean"},{"id":1,"kind":"tex","path":"modules/ToolingTraversal/Main.tex"}],"mappings":[{"artifact":0,"gen_end":114,"gen_start":0,"node":0,"role":"declaration","source":0,"src_end":24781,"src_start":0},{"artifact":0,"gen_end":560,"gen_start":114,"node":1,"role":"declaration","source":0,"src_end":20790,"src_start":18370},{"artifact":0,"gen_end":763,"gen_start":560,"node":2,"role":"declaration","source":0,"src_end":21559,"src_start":20796},{"artifact":0,"gen_end":1226,"gen_start":763,"node":3,"role":"declaration","source":0,"src_end":23775,"src_start":21565},{"artifact":0,"gen_end":1451,"gen_start":1226,"node":4,"role":"declaration","source":0,"src_end":24725,"src_start":23781},{"artifact":0,"gen_end":1451,"gen_start":1451,"node":0,"role":"declaration","source":0,"src_end":24781,"src_start":0},{"artifact":1,"gen_end":133,"gen_start":0,"node":5,"role":"declaration","source":0,"src_end":24781,"src_start":0},{"artifact":1,"gen_end":440,"gen_start":133,"node":6,"role":"declaration","source":0,"src_end":578,"src_start":269},{"artifact":1,"gen_end":2723,"gen_start":440,"node":7,"role":"declaration","source":0,"src_end":7765,"src_start":584},{"artifact":1,"gen_end":3205,"gen_start":2723,"node":8,"role":"declaration","source":0,"src_end":8935,"src_start":7771},{"artifact":1,"gen_end":3934,"gen_start":3205,"node":9,"role":"declaration","source":0,"src_end":10780,"src_start":8941},{"artifact":1,"gen_end":4374,"gen_start":3934,"node":10,"role":"declaration","source":0,"src_end":11737,"src_start":10786},{"artifact":1,"gen_end":4680,"gen_start":4374,"node":11,"role":"declaration","source":0,"src_end":12218,"src_start":11743},{"artifact":1,"gen_end":4953,"gen_start":4680,"node":12,"role":"declaration","source":0,"src_end":12503,"src_start":12224},{"artifact":1,"gen_end":5297,"gen_start":4953,"node":13,"role":"declaration","source":0,"src_end":12837,"src_start":12509},{"artifact":1,"gen_end":5645,"gen_start":5297,"node":14,"role":"declaration","source":0,"src_end":13175,"src_start":12843},{"artifact":1,"gen_end":5895,"gen_start":5645,"node":15,"role":"declaration","source":0,"src_end":13427,"src_start":13181},{"artifact":1,"gen_end":6147,"gen_start":5895,"node":16,"role":"declaration","source":0,"src_end":13681,"src_start":13433},{"artifact":1,"gen_end":6427,"gen_start":6147,"node":17,"role":"declaration","source":0,"src_end":14032,"src_start":13687},{"artifact":1,"gen_end":6768,"gen_start":6427,"node":18,"role":"declaration","source":0,"src_end":14419,"src_start":14038},{"artifact":1,"gen_end":7114,"gen_start":6768,"node":19,"role":"declaration","source":0,"src_end":14755,"src_start":14425},{"artifact":1,"gen_end":7367,"gen_start":7114,"node":20,"role":"declaration","source":0,"src_end":15010,"src_start":14761},{"artifact":1,"gen_end":7650,"gen_start":7367,"node":21,"role":"declaration","source":0,"src_end":15295,"src_start":15016},{"artifact":1,"gen_end":8014,"gen_start":7650,"node":22,"role":"declaration","source":0,"src_end":15836,"src_start":15301},{"artifact":1,"gen_end":8312,"gen_start":8014,"node":23,"role":"declaration","source":0,"src_end":16191,"src_start":15842},{"artifact":1,"gen_end":8660,"gen_start":8312,"node":24,"role":"declaration","source":0,"src_end":16730,"src_start":16197},{"artifact":1,"gen_end":9113,"gen_start":8660,"node":25,"role":"declaration","source":0,"src_end":17658,"src_start":16736},{"artifact":1,"gen_end":9680,"gen_start":9113,"node":26,"role":"declaration","source":0,"src_end":18364,"src_start":17664},{"artifact":1,"gen_end":10335,"gen_start":9680,"node":27,"role":"declaration","source":0,"src_end":20790,"src_start":18370},{"artifact":1,"gen_end":10721,"gen_start":10335,"node":28,"role":"declaration","source":0,"src_end":21559,"src_start":20796},{"artifact":1,"gen_end":11383,"gen_start":10721,"node":29,"role":"declaration","source":0,"src_end":23775,"src_start":21565},{"artifact":1,"gen_end":11783,"gen_start":11383,"node":30,"role":"declaration","source":0,"src_end":24725,"src_start":23781},{"artifact":1,"gen_end":11798,"gen_start":11783,"node":5,"role":"declaration","source":0,"src_end":24781,"src_start":0}],"module":"Main","nodes":[{"id":0,"kind":"tooling-lean-module"},{"id":1,"kind":"tooling-declaration"},{"id":2,"kind":"tooling-declaration"},{"id":3,"kind":"tooling-declaration"},{"id":4,"kind":"tooling-declaration"},{"id":5,"kind":"tooling-latex-module"},{"id":6,"kind":"tooling-declaration"},{"id":7,"kind":"tooling-declaration"},{"id":8,"kind":"tooling-declaration"},{"id":9,"kind":"tooling-declaration"},{"id":10,"kind":"tooling-declaration"},{"id":11,"kind":"tooling-declaration"},{"id":12,"kind":"tooling-declaration"},{"id":13,"kind":"tooling-declaration"},{"id":14,"kind":"tooling-declaration"},{"id":15,"kind":"tooling-declaration"},{"id":16,"kind":"tooling-declaration"},{"id":17,"kind":"tooling-declaration"},{"id":18,"kind":"tooling-declaration"},{"id":19,"kind":"tooling-declaration"},{"id":20,"kind":"tooling-declaration"},{"id":21,"kind":"tooling-declaration"},{"id":22,"kind":"tooling-declaration"},{"id":23,"kind":"tooling-declaration"},{"id":24,"kind":"tooling-declaration"},{"id":25,"kind":"tooling-declaration"},{"id":26,"kind":"tooling-declaration"},{"id":27,"kind":"tooling-declaration"},{"id":28,"kind":"tooling-declaration"},{"id":29,"kind":"tooling-declaration"},{"id":30,"kind":"tooling-declaration"}],"semantic_id":"cce9bff7bb504faea75139226568af040bd1c39f65f8938dbe20e7cf1fe7e037","source_id":"9e8ef0cd990ab90afbf2342ddf1f9a2b0226ace44c8ec18149a7d008f1b5cce8","sources":[{"id":0,"kind":"file","path":"src/Main.lex.tex","sha256":"67110e50b1b9a593a0b92051a0922a3484384db0a1f6845f04b901adf80e81ac"}],"spec":"lexlean/source-map/1"} diff --git a/xtask/src/spec_links.rs b/xtask/src/spec_links.rs index 36fe0aa47..9a770a440 100644 --- a/xtask/src/spec_links.rs +++ b/xtask/src/spec_links.rs @@ -61,8 +61,8 @@ fn parse_table(spec: &str) -> Result, Fail> { pub fn validate(root: &Path) -> Result<(), Fail> { let spec = std::fs::read_to_string(root.join("SPEC.md"))?; let rows = parse_table(&spec)?; - if rows.len() != 382 { - return Err(format!("RP-07: the §31 table has {} rows, not 382", rows.len()).into()); + if rows.len() != 386 { + return Err(format!("RP-07: the §31 table has {} rows, not 386", rows.len()).into()); } // The prose total under the table is part of the contract a reader // relies on; a row added without it would leave §31 contradicting itself.